Skip to main content
New to wireframes? Start with UI Customization Concepts and the Template Variables overview.

Overview

The Comment Sidebar is the panel that lists all annotations in a document — with filters, search, focused-thread view, and a page-mode composer. Variables below are available inside any <velt-comments-sidebar-...-wireframe> or <velt-comment-sidebar-...-wireframe> tag (both prefixes are used) via three forms:
You want to…UseExample
Display a value as text<velt-data field="var" /><velt-data field="focusedAnnotation.from.name" />
Hide / show conditionallyvelt-if="{var}"velt-if="{componentConfig.skeletonLoading}"
Toggle a CSS classvelt-class="'cls': {var}"velt-class="'filter-{selectedMinimalFilterDropdownOption.filter}': true"
Hybrid access pattern. Unlike Comment Dialog, the sidebar uses a flat componentConfig model — every property lives directly on the root rather than nested under appState / data / uiState / featureState. A small set of sidebar-specific names are mapped — those are listed under Mapped Variables and resolve via bare names. For everything else, write {componentConfig.<name>} and the resolver will reach it via the flat fallback.

Mapped Variables

These entries resolve only inside sidebar wireframes — their data is set by the sidebar’s componentConfigSignal.
VariableTypeSample ValueDescriptionExample
focusedAnnotationCommentAnnotation{ annotationId: "ann-42", from: { name: "Mayank" }, comments: [{ commentText: "Looks good", ... }], ... }The currently-focused annotation in focused-thread view. Supports deep paths ({focusedAnnotation.from.name}, {focusedAnnotation.comments.length}).<velt-data field="focusedAnnotation.from.name" />
selectedMinimalFilterDropdownOption{ filter: string; sort: string }{ filter: "all", sort: "date" }Currently-selected option in the minimal filter dropdown.velt-class="'filter-{selectedMinimalFilterDropdownOption.filter}': true"
appliedFiltersCountnumber2Number of filters currently applied — drives the badge on the filter button.<velt-data field="appliedFiltersCount" />
filteredCommentAnnotationsCountnumber12Count of annotations after filtering.<velt-data field="filteredCommentAnnotationsCount" />
unreadCommentAnnotationCountnumber3Count of unread annotations on the current document. Also exposed inside Comment Dialog.<velt-data field="unreadCommentAnnotationCount" />

Inherited Mapped Variables

The sidebar shares these standard mapped entries with every other Comments feature. For full definitions see Comment Dialog Wireframe Variables:
  • App state: user, isUserAdmin, isKnownUser.
  • Per-instance UI: darkMode, variant.
  • Comment data: annotation, annotations, allAnnotations, commentAnnotation, commentAnnotations.
Inside a sidebar wireframe that nests a comment-dialog wireframe (e.g. focused-thread mode), all of the Comment Dialog variables become available.

Component Config

Many sidebar properties are not in the wireframe map. Reach them via {componentConfig.<name>}. Grouped by area for readability — the underlying shape is flat. Layout / mode — which rendering mode the sidebar is in.
VariableTypeDescriptionExample
componentConfig.darkModebooleanPer-sidebar dark-mode flag.velt-class="'dark': {componentConfig.darkMode}"
componentConfig.variantstringWireframe variant id (default 'sidebar').<velt-data field="componentConfig.variant" />
componentConfig.fullScreenbooleanSidebar is rendered full-screen.velt-class="'fullscreen': {componentConfig.fullScreen}"
componentConfig.embedModestring | nullEmbedded vs floating vs default layout.velt-class="'embed-{componentConfig.embedMode}': true"
componentConfig.floatingModebooleanFloating overlay layout is active.velt-class="'floating': {componentConfig.floatingMode}"
componentConfig.pageModebooleanPage-mode layout is active.velt-class="'page-mode': {componentConfig.pageMode}"
componentConfig.readOnlybooleanRead-only mode is active.velt-class="'readonly': {componentConfig.readOnly}"
componentConfig.sidebarVisiblebooleanMaster visibility toggle.velt-if="{componentConfig.sidebarVisible}"
componentConfig.sidebarReadModebooleanRead-mode flag.velt-class="'read-mode': {componentConfig.sidebarReadMode}"
componentConfig.fullExpandedbooleanSidebar is fully expanded.velt-class="'expanded': {componentConfig.fullExpanded}"
Loading / empty state.
VariableTypeDescriptionExample
componentConfig.skeletonLoadingbooleanSkeleton loader is active while annotations load.velt-if="{componentConfig.skeletonLoading}"
componentConfig.noCommentsFoundbooleanNo annotations exist in scope.velt-if="{componentConfig.noCommentsFound}"
componentConfig.noCommentsFoundForAppliedFiltersbooleanFilters reduced the list to zero.velt-if="{componentConfig.noCommentsFoundForAppliedFilters}"
Filter state.
VariableTypeDescriptionExample
componentConfig.moreFiltersVisiblebooleanExpanded filter panel is open.velt-class="'filters-open': {componentConfig.moreFiltersVisible}"
componentConfig.filterConfigCommentSidebarFilterConfigFilter-panel configuration (layout, ordering, etc.).<velt-data field="componentConfig.filterConfig.layout" />
componentConfig.filtersRecord<string, any[]>Currently-selected filter values per category.<velt-data field="componentConfig.filters.statuses.length" />
componentConfig.systemFiltersOperator'AND' | 'OR'How multiple filter categories compose.velt-class="'op-{componentConfig.systemFiltersOperator}': true"
List data.
VariableTypeDescriptionExample
componentConfig.virtualScrollData{ type: string; data: any }[]Virtual-scroll items (annotations + section dividers).<velt-data field="componentConfig.virtualScrollData.length" />
componentConfig.commentAnnotationsCountByFiltersRecord<string, Record<string, number>>Per-filter-category-and-id annotation count.<velt-data field="componentConfig.commentAnnotationsCountByFilters.status.OPEN" />
Callbacks.
VariableTypeDescriptionExample
componentConfig.openMoreFiltersFunctionOpen the more-filters panel. Wire to a custom trigger.Call this from your custom click handler.
componentConfig.toggleMoreFiltersFunctionToggle the more-filters panel.Call this from your custom click handler.

Common Props

The root <velt-comments-sidebar> element accepts a wide set of attributes; the most useful for wireframe authors:
React PropHTML AttributeTypeDefaultDescription
fullScreenfull-screenbooleanfalseFull-screen layout.
embedModeembed-modestringnullEmbedded layout id (e.g. 'figma').
floatingModefloating-modebooleanfalseFloating-overlay layout.
pageModepage-modebooleanfalsePage-mode layout (includes top-level composer).
darkModedark-modebooleanfalseForce dark mode.
readOnlyread-onlybooleanfalseRead-only mode.
variantvariantstring'sidebar'Wireframe variant id.
dialogVariantdialog-variantstringVariant forwarded to nested comment-dialogs.
focusedThreadDialogVariantfocused-thread-dialog-variantstringVariant for the focused-thread dialog.
pageModeComposerVariantpage-mode-composer-variantstringVariant for the page-mode composer.
sortBysort-bystringSort field.
sortOrdersort-order'asc' | 'desc'Sort direction.
currentLocationSuffixcurrent-location-suffixstringPer-location suffix used in location-scoped filters.
systemFiltersOperatorsystem-filters-operator'AND' | 'OR''AND'How filter categories compose.
selectionselectionstringSelection behavior mode.
expandOnSelectionexpand-on-selectionbooleanAuto-expand sidebar on annotation selection.
sortDatasort-datastringSort data source.
queryParamsCommentsquery-params-commentsbooleanUse URL query params for comment navigation.
Signal inputs (for parent-child component composition):
  • [componentConfigSignal] — shared per-sidebar config signal.
Every primitive accepts default-condition to bypass shouldShow for previews.

Context-Specific Variables

These are only resolvable inside the nested wireframe tags noted in the Available in column. Each is injected by the iteration / focused-thread primitive that owns the tag.
VariableTypeAvailable inExample
focusedAnnotationCommentAnnotation<velt-comments-sidebar-focused-thread-wireframe> and descendants<velt-data field="focusedAnnotation.from.name" />
sidebarRefHTMLElementFocused-thread context — DOM reference to the sidebar overlay (used by inner overlay positioning).Internal — not normally read in user wireframes.
filter{ name: string }Per-filter-category tags — <velt-comments-sidebar-filter-name-wireframe> and friends.<velt-data field="filter.name" />
item{ name: string; count: number; selected: boolean }Per-option-row tags — filter-item children, status / location / document dropdown content-items.<velt-data field="item.name" />
group{ name: string; count: number; expanded: boolean }<velt-comments-sidebar-list-item-group-wireframe> and childrenvelt-class="'expanded': {group.expanded}"
tag{ name: string }Filter-search-tag children — <velt-comments-sidebar-filter-search-tags-item-wireframe> and friends<velt-data field="tag.name" />

Type Reference

Types referenced by the variables above are documented in Data Models:
TypeDescription
CommentAnnotationThe annotation thread (id, status, comments, etc.).
UserIdentified end-user object.
CommentSidebarFilterConfigFilter-panel configuration (layout, ordering, etc.).

Subcomponents

Each subcomponent below has its own wireframe tag. For per-subcomponent CSS classes, see Styling; for per-subcomponent props, see the existing Comment Sidebar Components.

comments-sidebar (root)

The root primitive — the <velt-comments-sidebar> element customers place in their app.
  • Public element: <velt-comments-sidebar>
  • Wireframe tag: <velt-comments-sidebar-wireframe>
PropertyValue
Extra variablesNone — root only sees common variables.
shouldShow`componentConfig.isFirstComponentcomponentConfig.floatingModecomponentConfig.embedMode. The floating-mode overlay additionally requires componentConfig.sidebarVisible`.
ClassApplied when
velt-comments-sidebar-containerAlways on the host wrapper.
darkcomponentConfig.darkMode is true.
snippyly-sidebar-panel velt-overlay-panelOn the floating overlay container.
<VeltWireframe>
  <VeltCommentsSidebarWireframe>
    <VeltCommentsSidebarWireframe.Header>
      <div className="my-sidebar__title">
        <strong>Comments</strong>
        <VeltCommentsSidebarWireframe.FilterButton />
        <VeltCommentsSidebarWireframe.FullscreenButton />
        <VeltCommentsSidebarWireframe.CloseButton />
      </div>
    </VeltCommentsSidebarWireframe.Header>
    <VeltCommentsSidebarWireframe.List />
    <VeltCommentsSidebarWireframe.EmptyPlaceholder veltIf="{componentConfig.noCommentsFound}">
      <p>No comments yet.</p>
    </VeltCommentsSidebarWireframe.EmptyPlaceholder>
    <VeltCommentsSidebarWireframe.PageModeComposer />
  </VeltCommentsSidebarWireframe>
</VeltWireframe>

comments-sidebar-wrapper

Wrapper element that hosts the actual sidebar content + scroll container. Always rendered when the sidebar is visible.
  • Public element: <velt-comments-sidebar-wrapper>
  • Wireframe tag: Registered via the wrapper’s own template; exposes componentConfigSignal and [darkMode].
PropertyValue
Extra variablesNone beyond common variables.

comment-sidebar-header

Top of the sidebar — title row with the action buttons (filter, fullscreen, close, search…).
  • Public element: <velt-comment-sidebar-header>
  • Wireframe tag: <velt-comment-sidebar-header-wireframe>
PropertyValue
Extra variablesNone beyond common variables.

comment-sidebar-filter-button

Filter icon button. Click opens the more-filters panel. An alternate badge SVG renders when appliedFiltersCount > 0.
  • Public element: <velt-comment-sidebar-filter-button>
  • Wireframe tag: <velt-comments-sidebar-filter-button-wireframe>
PropertyValue
Extra variablesNone.
Host classesvelt-sidebar-header--filter-button (always); velt-comments-sidebar-filter-button-open when componentConfig.moreFiltersVisible is true.

comment-sidebar-close-button / comment-sidebar-fullscreen-button

Close / fullscreen toggle buttons in the header.
  • Wireframe tags: <velt-comment-sidebar-close-button-wireframe>, <velt-comment-sidebar-fullscreen-button-wireframe>
PropertyValue
Extra variablesNone.

Search input row.
  • Public element: <velt-comment-sidebar-search>
  • Wireframe tag: <velt-comment-sidebar-search-wireframe>
PropertyValue
Extra variablesNone.

comment-sidebar-filter

The expanded filter panel — opens when the filter button is clicked. Contains many child filter primitives (status / priority / people / pages / documents / accessMode / commentCategory / version), each with its own <velt-comment-sidebar-filter-<name>-wireframe>.
  • Public element: <velt-comment-sidebar-filter>
  • Wireframe tag: <velt-comment-sidebar-filter-wireframe>
PropertyValue
Extra variablesPer-iteration filter (category metadata) and item (per-option row) — see Context-Specific Variables.

comment-sidebar-minimal-filter-dropdown

The compact filter + sort dropdown shown in the minimal layout (when filterConfig.layout === 'minimal'). Composes a trigger + content; each has its own wireframe tag.
  • Wireframe tag: <velt-comments-sidebar-minimal-filter-dropdown-wireframe>
VariableTypeExample
selectedMinimalFilterDropdownOption.filterstringvelt-class="'filter-{selectedMinimalFilterDropdownOption.filter}': true"
selectedMinimalFilterDropdownOption.sortstring<velt-data field="selectedMinimalFilterDropdownOption.sort" />

comment-sidebar-minimal-actions-dropdown

The ”⋯” actions dropdown next to the minimal filter (mark all read, etc.).
  • Wireframe tag: <velt-comments-sidebar-minimal-actions-dropdown-wireframe>
PropertyValue
Extra variablesNone.

comment-sidebar-status

Status filter dropdown (one of the per-category filter dropdowns; lives inside the filter panel). A standalone selector is also available as <velt-comment-sidebar-status>.
  • Public element: <velt-comment-sidebar-status>
  • Wireframe tag: <velt-comment-sidebar-status-wireframe>
PropertyValue
Extra variablesPer-iteration item for each status option — see Context-Specific Variables.

comment-sidebar-list

The annotations list. Iterates componentConfig.virtualScrollData and renders a comment-dialog primitive (in sidebar mode) per annotation entry.
  • Public element: <velt-comment-sidebar-list>
  • Wireframe tag: <velt-comment-sidebar-list-wireframe>
PropertyValue
Extra variablesNone at the list level. Nested comment-dialog wireframes (e.g. <velt-comment-dialog-thread-card-wireframe>) resolve in the standard Comment Dialog scope — see Comment Dialog Wireframe Variables.

comment-sidebar-empty-placeholder

Empty-state shown when the document has no annotations or the active filters reduce to zero.
  • Public element: <velt-comment-sidebar-empty-placeholder>
  • Wireframe tag: <velt-comments-sidebar-empty-placeholder-wireframe>
PropertyValue
Extra variablesNone.
shouldShow`componentConfig.noCommentsFoundcomponentConfig.noCommentsFoundForAppliedFilters`
ClassApplied when
velt-sidebar--no-comments-containerAlways on the wrapper.
velt-sidebar--no-comments-blockInner block.
velt-sidebar--no-comments-message-containerMessage wrapper.
velt-sidebar--no-comments-message-headerHeading.

comment-sidebar-skeleton

Skeleton loader shown while annotations are being fetched.
  • Public element: <velt-comment-sidebar-skeleton>
  • Wireframe tag: <velt-comment-sidebar-skeleton-wireframe>
PropertyValue
Extra variablesNone.
shouldShowcomponentConfig.skeletonLoading === true

comment-sidebar-focused-thread

Focused-thread view — a single annotation taken full-width inside the sidebar with a back button. This is where focusedAnnotation becomes resolvable.
  • Public element: <velt-comment-sidebar-focused-thread>
  • Wireframe tag: <velt-comments-sidebar-focused-thread-wireframe>
VariableTypeExample
focusedAnnotationCommentAnnotation<velt-data field="focusedAnnotation.from.name" />
sidebarRefHTMLElementInternal — DOM reference for overlay positioning.
PropertyValue
shouldShow!componentConfig.skeletonLoading && componentConfig.focusedAnnotation is set.
ClassApplied when
velt-comment-sidebar-focused-threadAlways on the wrapper.
The focused-thread renders its own back-button + a comment-dialog (in dialogVariant='sidebar' and focusedThreadDialogVariant='sidebar' modes). Inside the inner comment-dialog wireframes the standard Comment Dialog variables resolve — see Comment Dialog Wireframe Variables.

comment-sidebar-page-mode-composer

The page-level “Add comment” composer at the top of the sidebar when componentConfig.pageMode is enabled.
  • Public element: <velt-comment-sidebar-page-mode-composer>
  • Wireframe tag: <velt-comment-sidebar-page-mode-composer-wireframe>
PropertyValue
Extra variablesDelegates to the standard Comment Dialog composer — see Comment Dialog Composer.

comment-sidebar-action-button / comment-sidebar-reset-filter-button

Generic action-button / reset-filter-button primitives used inside the empty placeholder and other positions.
  • Wireframe tags: <velt-comment-sidebar-action-button-wireframe>, <velt-comment-sidebar-reset-filter-button-wireframe>
PropertyValue
Extra variablesNone.

comment-sidebar-location-filter-dropdown / -document-filter-dropdown / -status-dropdown

Standalone filter dropdowns customers can place anywhere in their UI (independent of the main filter panel). Each has its own trigger + content + content-item structure.
  • Wireframe tags: <velt-comment-sidebar-location-filter-dropdown-wireframe>, <velt-comments-sidebar-document-filter-dropdown-wireframe>, <velt-comments-sidebar-status-dropdown-wireframe>
PropertyValue
Extra variablesPer-iteration item for each option — see Context-Specific Variables.

Deeply-Nested Wireframe Tags

The sidebar has the largest set of overridable surfaces in the SDK. Tags are grouped by area below — every tag is registered and customers can override any individual surface.

Top-level sidebar tags

TagNotesExample
<velt-comments-sidebar-panel-wireframe>The visible panel container.velt-class="'embed': {componentConfig.embedMode}"
<velt-comments-sidebar-header-wireframe>Sidebar header bar.(composes header children)
<velt-comments-sidebar-toggle-button-wireframe>Open / close toggle button.(click handler)
<velt-comments-sidebar-close-button-wireframe>Close button.(click handler closes the sidebar)
<velt-comments-sidebar-fullscreen-button-wireframe>Fullscreen toggle.velt-class="'fullscreen': {componentConfig.fullScreen}"
<velt-comments-sidebar-search-wireframe>Search input row.<velt-data field="componentConfig.searchQuery" />
<velt-comments-sidebar-list-wireframe>The annotations list.(composes list-item rows)
<velt-comments-sidebar-list-item-wireframe>Per-annotation row.velt-class="'is-selected': {annotation.selected}"
<velt-comments-sidebar-list-item-dialog-container-wireframe>Container for the inline comment-dialog inside a list item.(composes the nested dialog)
<velt-comments-sidebar-list-item-group-wireframe>Section divider for grouped lists.velt-class="'expanded': {group.expanded}"
<velt-comments-sidebar-list-item-group-name-wireframe>Group name label.<velt-data field="group.name" />
<velt-comments-sidebar-list-item-group-count-wireframe>Group count badge.<velt-data field="group.count" />
<velt-comments-sidebar-list-item-group-arrow-wireframe>Expand / collapse chevron.velt-class="'open': {group.expanded}"
<velt-comments-sidebar-skeleton-wireframe>Skeleton loader.velt-if="{componentConfig.skeletonLoading}"
<velt-comments-sidebar-page-mode-wireframe>Page-mode wrapper variant.velt-if="{componentConfig.pageMode}"
<velt-comments-sidebar-reset-filter-button-wireframe>Reset-filters button (used in empty placeholder).velt-if="{componentConfig.appliedFiltersCount} > 0"
<velt-comments-sidebar-focused-thread-dialog-container-wireframe>Container for the focused-thread comment-dialog.(composes the nested dialog)

Filter panel tags

The expanded filter panel composes a title + close + many per-category sub-panels + done / reset buttons + per-item primitives.
TagNotesExample
<velt-comments-sidebar-filter-wireframe>The expanded filter panel root.velt-class="'open': {componentConfig.moreFiltersVisible}"
<velt-comments-sidebar-filter-title-wireframe>Panel title.(static label)
<velt-comments-sidebar-filter-close-button-wireframe>Close button.(click handler)
<velt-comments-sidebar-filter-done-button-wireframe>”Done” button to apply changes.(click handler)
<velt-comments-sidebar-filter-reset-button-wireframe>Reset-all button.velt-if="{componentConfig.appliedFiltersCount} > 0"
<velt-comments-sidebar-filter-view-all-wireframe>”View all” expander for a category with many options.(click handler)
<velt-comments-sidebar-filter-name-wireframe>Filter category name label.<velt-data field="filter.name" />
<velt-comments-sidebar-filter-status-wireframe>Status filter category.(composes per-status rows)
<velt-comments-sidebar-filter-priority-wireframe>Priority filter category.(composes per-priority rows)
<velt-comments-sidebar-filter-people-wireframe>People filter category.(composes per-user rows)
<velt-comments-sidebar-filter-assigned-wireframe>Assigned-to filter category.(composes per-user rows)
<velt-comments-sidebar-filter-tagged-wireframe>Tagged-with filter category.(composes per-user rows)
<velt-comments-sidebar-filter-involved-wireframe>Involved-in filter category.(composes per-user rows)
<velt-comments-sidebar-filter-document-wireframe>Document filter category.(composes per-document rows)
<velt-comments-sidebar-filter-location-wireframe>Location filter category.(composes per-location rows)
<velt-comments-sidebar-filter-versions-wireframe>Version filter category.(composes per-version rows)
<velt-comments-sidebar-filter-comment-type-wireframe>Comment-type filter category.(composes per-type rows)
<velt-comments-sidebar-filter-category-wireframe>Comment-category filter.(composes per-category rows)
<velt-comments-sidebar-filter-custom-wireframe>Custom filter category (for customer-defined filters).(composes per-option rows)
<velt-comments-sidebar-filter-group-by-wireframe>Group-by selector.(composes per-group rows)

Filter-item tags

Inside each filter category, each individual option is rendered as a filter-item.
TagNotesExample
<velt-comments-sidebar-filter-item-wireframe>Per-option row.velt-class="'selected': {item.selected}"
<velt-comments-sidebar-filter-item-name-wireframe>Option name.<velt-data field="item.name" />
<velt-comments-sidebar-filter-item-count-wireframe>Option’s annotation-count badge.<velt-data field="item.count" />
<velt-comments-sidebar-filter-item-checkbox-wireframe>Checkbox wrapper.(composes the two variants below)
<velt-comments-sidebar-filter-item-checkbox-checked-wireframe>Checkbox icon (checked variant).velt-if="{item.selected}"
<velt-comments-sidebar-filter-item-checkbox-unchecked-wireframe>Checkbox icon (unchecked variant).velt-if="!{item.selected}"

Filter-search tags

TagNotesExample
<velt-comments-sidebar-filter-search-wireframe>Search input wrapper inside the filter panel.(composes input + tags)
<velt-comments-sidebar-filter-search-input-wireframe>The actual input.(input handler)
<velt-comments-sidebar-filter-search-dropdown-icon-wireframe>Dropdown chevron icon.Visual only.
<velt-comments-sidebar-filter-search-tags-wireframe>Selected-tag pills container.<velt-data field="componentConfig.selectedFilterTags.length" />
<velt-comments-sidebar-filter-search-tags-item-wireframe>A single selected-tag pill.<velt-data field="tag.name" />
<velt-comments-sidebar-filter-search-tags-item-name-wireframe>Tag name.<velt-data field="tag.name" />
<velt-comments-sidebar-filter-search-tags-item-close-wireframe>Tag remove (×) button.(click handler)
<velt-comments-sidebar-filter-search-hidden-count-wireframe>”+N more” badge when tags overflow.<velt-data field="hiddenCount" />

Standalone status / location / document dropdown tags

Customers can place these dropdowns outside the main filter panel.
TagNotesExample
<velt-comments-sidebar-status-wireframe>Standalone status-filter root.(composes trigger + content)
<velt-comments-sidebar-status-dropdown-trigger-wireframe>Trigger pill.(click handler)
<velt-comments-sidebar-status-dropdown-trigger-name-wireframe>Label inside trigger.<velt-data field="item.name" />
<velt-comments-sidebar-status-dropdown-trigger-arrow-wireframe>Trigger chevron.Visual only.
<velt-comments-sidebar-status-dropdown-trigger-indicator-wireframe>Selected-count indicator dot.velt-if="{appliedFiltersCount} > 0"
<velt-comments-sidebar-status-dropdown-content-wireframe>Open menu wrapper.(composes content rows)
<velt-comments-sidebar-status-dropdown-content-item-wireframe>Per-status row.velt-class="'selected': {item.selected}"
<velt-comments-sidebar-status-dropdown-content-item-name-wireframe>Status name.<velt-data field="item.name" />
<velt-comments-sidebar-status-dropdown-content-item-icon-wireframe>Status icon.<velt-data field="item.icon" />
<velt-comments-sidebar-status-dropdown-content-item-count-wireframe>Status count badge.<velt-data field="item.count" />
<velt-comments-sidebar-status-dropdown-content-item-checkbox-wireframe>Checkbox.(composes the two variants below)
<velt-comments-sidebar-status-dropdown-content-item-checkbox-checked-wireframe>Checked variant.velt-if="{item.selected}"
<velt-comments-sidebar-status-dropdown-content-item-checkbox-unchecked-wireframe>Unchecked variant.velt-if="!{item.selected}"
<velt-comments-sidebar-document-filter-dropdown-trigger-wireframe>Document-filter dropdown trigger.(click handler)
<velt-comments-sidebar-document-filter-dropdown-trigger-label-wireframe>Trigger label.<velt-data field="item.name" />
<velt-comments-sidebar-document-filter-dropdown-content-wireframe>Document-filter open menu.(composes content rows)
<velt-comments-sidebar-location-filter-dropdown-wireframe>Location-filter root.(composes trigger + content)
<velt-comments-sidebar-location-filter-dropdown-trigger-wireframe>Trigger pill.(click handler)
<velt-comments-sidebar-location-filter-dropdown-trigger-label-wireframe>Trigger label.<velt-data field="item.name" />
<velt-comments-sidebar-location-filter-dropdown-content-wireframe>Open menu.(composes content rows)

Minimal filter / actions dropdown tags

Compact filter + sort UI used in the minimal layout (matches the multi-thread pattern).
TagNotesExample
<velt-comments-sidebar-minimal-filter-dropdown-trigger-wireframe>Trigger pill.(click handler)
<velt-comments-sidebar-minimal-filter-dropdown-content-wireframe>Open menu.(composes filter rows)
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-all-wireframe>”All” filter row.velt-class="'selected': '{selectedMinimalFilterDropdownOption.filter} === \'all\\''"
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-open-wireframe>”Open” filter row.velt-class="'selected': '{selectedMinimalFilterDropdownOption.filter} === \'open\\''"
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-resolved-wireframe>”Resolved” filter row.(selected-state)
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-read-wireframe>”Read” filter row.(selected-state)
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-unread-wireframe>”Unread” filter row.(selected-state)
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-assigned-to-me-wireframe>”Assigned to me” row.(selected-state)
<velt-comments-sidebar-minimal-filter-dropdown-content-filter-reset-wireframe>Reset-filter row.(click handler)
<velt-comments-sidebar-minimal-filter-dropdown-content-selected-icon-wireframe>Per-row selected tick.velt-if="{item.selected}"
<velt-comments-sidebar-minimal-filter-dropdown-content-sort-date-wireframe>Sort-by-date row.(selected-state)
<velt-comments-sidebar-minimal-filter-dropdown-content-sort-unread-wireframe>Sort-by-unread row.(selected-state)
<velt-comments-sidebar-minimal-actions-dropdown-trigger-wireframe>Actions dropdown trigger (”⋯”).(click handler)
<velt-comments-sidebar-minimal-actions-dropdown-content-wireframe>Actions menu.(composes the actions below)
<velt-comments-sidebar-minimal-actions-dropdown-content-mark-all-read-wireframe>”Mark all as read” action.(click handler)
<velt-comments-sidebar-minimal-actions-dropdown-content-mark-all-resolved-wireframe>”Mark all as resolved” action.(click handler)