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:
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’scomponentConfigSignal.
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.
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.
Loading / empty state.
Filter state.
List data.
Callbacks.
Common Props
The root<velt-comments-sidebar> element accepts a wide set of attributes; the most useful for wireframe authors:
Signal inputs (for parent-child component composition):
[componentConfigSignal]— shared per-sidebar config signal.
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.Type Reference
Types referenced by the variables above are documented in Data Models: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>
- React / Next.js
- Other Frameworks
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
componentConfigSignaland[darkMode].
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>
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>
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>
comment-sidebar-search
Search input row.
- Public element:
<velt-comment-sidebar-search> - Wireframe tag:
<velt-comment-sidebar-search-wireframe>
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>
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>
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>
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>
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>
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>
comment-sidebar-skeleton
Skeleton loader shown while annotations are being fetched.
- Public element:
<velt-comment-sidebar-skeleton> - Wireframe tag:
<velt-comment-sidebar-skeleton-wireframe>
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>
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>
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>
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>
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
Filter panel tags
The expanded filter panel composes a title + close + many per-category sub-panels + done / reset buttons + per-item primitives.Filter-item tags
Inside each filter category, each individual option is rendered as afilter-item.
Filter-search tags
Standalone status / location / document dropdown tags
Customers can place these dropdowns outside the main filter panel.Minimal filter / actions dropdown tags
Compact filter + sort UI used in the minimal layout (matches the multi-thread pattern).Related
- Comment Sidebar Components — wireframe overview and components reference.
- Comment Sidebar V2 Wireframes — composition reference for the wireframe tags themselves.
- Comment Sidebar V2 Primitives — granular components if you don’t need a full wireframe.
- Comment Sidebar Button Wireframe Variables — the button that opens this sidebar.
- Comment Dialog Wireframe Variables — variables that resolve inside nested dialog tags rendered by the list / focused-thread.
- Template Variables — overview of the
velt-data/velt-if/velt-classsystem.

