This page focuses on what you need while customizing UI. Prop value types and object shapes are documented in the canonical Data models reference.
This list is generated from the Velt SDK and is complete for what it covers: a name that isn’t listed here doesn’t exist; don’t guess names. It covers the React component props surface (comments + notifications + presence/cursors + recorder/media + charts + utilities); defaults and runtime behavior live in
Behaviors; this page is the name/type index.<VeltComments> (the largest surface, 129 props) is Part 1; Part 2 covers all other components (sidebar, dialog, pin, notifications, presence, recorder, …).
This page is the index; defaults and behavior live in
Behaviors and the behavior detail pages. Look up a prop here to find its name and type, then read its runtime behavior and interactions there. For data fields and events behind a prop, see Data models; for off-by-default features, see Feature flags; for layout, mode, and custom-data shapes, see Layout config. Also review APIs and Events.(required). Booleans serialize to 'true'/'false' only when explicitly set; array/object props (e.g. customStatus) are JSON-serialized. Components also accept standard HTML attributes (className, style, id, children, ref, key), not re-listed. Generated from each component’s props interface in @veltdev/react; exhaustive.
Part 1: <VeltComments>
Core feature toggles
Mentions / autocomplete
Layout / interaction modes
Placeholders
Shadow DOM & dark mode
Callbacks
Deprecated (don’t use)
recordingSummary → use recordingTranscription; multiThreadMode → multiThread; groupMultipleMatch → groupMatchedComments; onCommentAdd/onCommentUpdate → use the event hooks.
Part 2: all other components
Prop names and types are verbatim from each component’s props interface in@veltdev/react. Imported field types (e.g. ContextOptions, CommentSidebarFilterConfig, ReactionMap, NotificationTabConfig) come from @veltdev/types.
Comments: containers & surfaces
VeltCommentsSidebar (V1)
IVeltCommentsSidebarProps
VeltCommentsSidebarV2
IVeltCommentSidebarV2Props (extends HTML attrs)
V2 dropped the sidebar callback props.onSidebarOpen/onSidebarClose/onCommentClick/onCommentNavigationButtonClick(and the deprecatedopenSidebar/onSidebarCommentClick) are no longer props on V2: subscribe via the unified event bus instead:useCommentEventCallback('sidebarOpen' | 'sidebarClose' | 'commentClick' | 'commentNavigationButtonClick')(orgetCommentElement().on(...)). OnlyonFullscreenClickremains a prop. V1 still has all the callback props (see the V1 section above).
VeltCommentDialog
IVeltCommentDialogProps (extends HTML attrs)
VeltMultiThreadCommentDialog
IVeltMultiThreadCommentDialogProps (extends HTML attrs)
VeltCommentText
IVeltCommentTextProps (extends HTML attrs)
VeltCommentThread(IVeltCommentThreadProps:annotationId,annotation,onCommentClick,darkMode,variant,dialogVariant,shadowDom,fullExpanded) is deprecated: useVeltCommentDialog(above) instead.VeltCommentComposer(IVeltCommentComposerProps:darkMode,variant,dialogVariant,shadowDom,context,locationId,documentId,folderId,targetComposerElementId,placeholder,readOnly) renders a standalone composer.
Comments: pins, bubbles, tools
VeltCommentBubble
IVeltCommentBubbleProps (extends HTML attrs)
VeltCommentPin
IVeltCommentPinProps (extends HTML attrs)
VeltCommentTool
IVeltCommentToolProps (extends HTML attrs)
VeltSidebarButton
IVeltSidebarButtonProps (extends HTML attrs)
VeltCommentsSidebarButtonis a leaner variant ofVeltSidebarButton(same props minusvariant,sidebarButtonCountType,filterGhostCommentsInSidebar,commentCountType,defaultCondition).VeltCommentsMinimap(IVeltCommentsMinimapProps):position,targetScrollableElementId.
Inline / section components
VeltInlineCommentsSection
IVeltInlineCommentsSectionProps (extends HTML attrs)
VeltInlineReactionsSection
IVeltInlineReactionsSectionProps (extends HTML attrs)
Text & chart comments
VeltTextComment
IVeltTextCommentProps (extends HTML attrs)
VeltChartComment
IVeltChartCommentProps (extends HTML attrs)
VeltHighChartComments
IVeltHighChartCommentsProps
VeltNivoChartComments
IVeltNivoChartCommentsProps
Notifications
VeltNotificationsPanel
IVeltNotificationsPanelProps
VeltNotificationsTool
IVeltNotificationsToolProps (extends HTML attrs)
VeltNotificationsHistoryPanel(IVeltNotificationsHistoryPanelProps):embedMode,onNotificationClick,darkMode.
Presence & cursors
VeltPresence
IVeltPresenceProps
VeltCursor
IVeltCursorProps (extends HTML attrs)
Reactions
VeltReactionTool
IVeltReactionToolProps
There is noVeltReactionsToolbarcomponent: reactions are exposed viaVeltReactionToolandVeltInlineReactionsSection.
Recorder
VeltRecorderControlPanel
IVeltRecorderControlPanelProps
VeltRecorderPlayer
IVeltRecorderPlayerProps
VeltRecorderTool(type,panelId,buttonLabel,darkMode,shadowDom,recordingCountdown,variant,retakeOnVideoEditor,pictureInPicture,maxLength) andVeltRecorderNotes(shadowDom,videoEditor,recordingCountdown,recordingTranscription,playVideoInFullScreen,videoEditorTimelinePreview) round out the recorder family.
Media
VeltVideoPlayer
IVeltVideoPlayerProps
VeltVideoEditor
IVeltVideoEditorProps (extends HTML attrs)
VeltCommentPlayerTimeline(totalMediaLength,offset,shadowDom,videoPlayerId,onCommentClick,onReactionClick) overlays comment/reaction markers on a media timeline.VeltCanvasComment(IVeltCanvasCommentProps):canvasId(required),position(required).
Huddle
VeltHuddle
IVeltHuddleProps
VeltHuddleTool(IVeltHuddleToolProps):type,darkMode.
Tags & arrows
Users / access
VeltUserInviteTool
IVeltUserInviteToolProps (extends HTML attrs)
VeltUserRequestTool(IVeltUserRequestToolProps):type: default'feedback'; allowed'feedback'/'reportBug'/'contactUs'.
Analytics & utilities
Data / template utilities
Two small utility components for binding/rendering live data and conditionally rendering markup: used inside custom pin/dialog/wireframe layouts (seeTemplate Variables). All props are optional; both also accept className and id.
VeltData
IVeltDataProps: renders <velt-data>. Binds and renders a single live data value into your markup.
VeltIf
IVeltIfProps (extends HTML attrs): renders <velt-if>. Conditionally renders its children from a wireframe/feature-state expression.
The directive form of this:veltIfas a prop/attribute on any wireframe slot: is documented inTemplate VariablesandWireframe components;VeltIfis the standalone component form.
Deprecated / legacy prop index
Part 3: Layout config and custom data
Everything above is a per-component prop list. This part covers the two config surfaces that need more than a table: the sidebar’s filter configuration, and replacing Velt’s built-in option sets with your own.Prop before wireframe. If a prop gets you the layout you need (
filterPanelLayout="bottomSheet", panelOpenMode="sidebar"), use it. It’s far less work than a wireframe. In non-React frameworks these are kebab-case attributes on the <velt-*> element (filter-panel-layout="bottomSheet").Sidebar filters
The sidebar has three filter surfaces: the minimal filter (the quick all/unread/resolved bar), the main filter panel (the full dropdown of categories), and custom filters you define. All are customizable. 1. Choose which filters appear + add your own: thefilters prop (a CommentSidebarFilterConfig). It’s a map of filter keys → a FilterTypeConfig:
location, document, people, assigned, tagged, involved, priority, status, category, commentType, version. Toggle/relabel/reorder them, and add a custom filter by adding your own key with type: 'custom' + options:
miniFilters / minimalFilters configure the quick-bar the same way; groupConfig controls list grouping.) A custom filter matches annotations by the option id you set on them (via customListDataOnAnnotation / annotation metadata). Set filter values programmatically with client.getCommentElement().setCommentSidebarFilters({ status: ["OPEN"], severity: ["sev1"] }).
2. Choose the filter layout (props above): filterPanelLayout ('menu' panel vs 'bottomSheet'), filterOptionLayout ('checkbox' vs 'dropdown'), filterOperator ('and'/'or'), filterCount, defaultMinimalFilter.
3. Fully restyle the filter UI with wireframe slots (Wireframe components). The V2 sidebar exposes: FilterButton (+ AppliedIcon), FilterDropdown (Trigger, Content → List → Item / Category), and FilterContainer (Title, CloseButton, GroupBy, ResetButton, ApplyButton, SectionList → Section → Label / Field → Control(Value, ChipList→Chip, Search, Chevron) / OptionList → Option(Checkbox, Name, Count)). Fill these to build a fully custom filter dropdown / panel while Velt keeps the filtering logic. In wireframes you can read {appliedFiltersCount} and {filterState} to drive your own filter UI. (See Template Variables.)
Same trade as everywhere: config props for which filters + layout (cheapest); wireframe slots to restructure the filter dropdown/panel; the filtering behavior stays Velt’s.
Custom data: your own statuses, priorities, categories, reactions
These props let you replace Velt’s default option sets with your own. They’re a core part of customization: the values flow into the UI (status/priority dropdowns, chips), into the wireframe variables (statusOptions, priorityOptions, customStatusesShown, …), and into the primitive dropdown items (so your custom dialog dropdown shows your statuses). Pass them on VeltComments:
customStatus:{ id, name, color, type: 'default' | 'ongoing' | 'terminal', lightColor?, svg?, iconUrl? }[]:typecontrols semantics (terminal= resolved-like).customPriority:{ id, name, color, lightColor? }[].customCategory:{ id, name, color }[].customReactions: a map of emoji →{ label, emoji }(aReactionMap).customListDataOnAnnotation(aCustomAnnotationDropdownData): the custom chip/dropdown on a thread (powers theCustomAnnotationDropdownslot). Shape:The optionidis what a custom sidebar filter matches against (see thefiltersexample above): set the option on annotations via this prop, filter by the sameid.customListDataOnComment(anAutocompleteData): custom list on a comment (autocomplete-style). Shape:
When you build a custom status/priority dropdown with primitives (Primitives), this is where thestatusesyou map over come from. When you read{statusOptions}/{priorityOptions}in a wireframe (Template Variables), these are the values.

