We recommend that you familiarize yourselves with UI Customization Concepts before attempting to modify any components.
Overview
The Comment Dialog Primitives API provides 79 granular components that can be used independently to build completely custom comment interfaces. Each primitive can be used standalone or composed together for maximum customization flexibility.Usage Patterns
Pattern 1: Context Wrapper (Recommended)
Components are wrapped in a context wrapper that provides shared context to children.- React / Next.js
- Other Frameworks
Pattern 2: ID-Based (Standalone)
Each component receivesannotationId directly and works independently.
- React / Next.js
- Other Frameworks
Common Inputs
All components inherit these base inputs. SeeCommentDialogCommonProps for the type definition.
| React Prop | HTML Attribute | Type | Default | Description |
|---|---|---|---|---|
annotationId | annotation-id | string | - | The annotation ID |
defaultCondition | default-condition | boolean | true | When false, always shows |
inlineCommentSectionMode | inline-comment-section-mode | boolean | false | Inline comment section mode |
commentPinSelected | comment-pin-selected | boolean | false | Comment pin selected state |
fullExpanded | full-expanded | boolean | false | Full expansion state |
Components
VeltCommentDialogContextWrapper
Context wrapper that provides shared annotation context to child primitives. Props:CommentDialogContextWrapperProps
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
annotationId | string | Yes (root) | Annotation ID for children |
commentId | string | No | Comment ID for children |
attachmentId | string | No | Attachment ID for children |
commentPinSelected | boolean | No | Selection state for children |
[key: string] | any | No | Any custom attribute passed via context |
VeltCommentDialogHeader
Header component for the comment dialog.- React / Next.js
- Other Frameworks
VeltCommentDialogBody
Body container for the comment dialog thread content.- React / Next.js
- Other Frameworks
VeltCommentDialogThreadCard
Complete thread card with all comment metadata and content. SeeThreadCardProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentObj | object | No | Direct comment object (Priority 1) |
commentId | number | No | Comment ID for lookup (Priority 2) |
commentIndex | number | No | Index in comments array (Priority 3) |
VeltCommentDialogThreadCardAvatar
User avatar for the comment author. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardName
Display name of the comment author. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardTime
Timestamp of when the comment was created. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardMessage
The comment message content. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardReactions
Reactions display for the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardReactionTool
Tool for adding reactions to a comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardRecordings
Recordings attached to the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardReply
Reply indicator for the thread card.- React / Next.js
- Other Frameworks
VeltCommentDialogThreadCardUnread
Unread indicator for the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardEdited
Edited indicator for the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardDraft
Draft indicator for the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardDeviceType
Device type indicator for the comment. SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogThreadCardOptions
Options menu for the comment (edit, delete, etc.). SeeCommentIndexProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment in array |
VeltCommentDialogComposer
Complete composer with input, attachments, and action buttons. SeeComposerProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
placeholder | string | No | Primary placeholder (Priority 1) |
commentPlaceholder | string | No | Placeholder for new comment |
replyPlaceholder | string | No | Placeholder for reply |
editPlaceholder | string | No | Placeholder for edit mode |
editMode | boolean | No | Enable edit mode |
commentObj | object | No | Comment object for edit mode |
commentIndex | number | No | Index of comment being edited |
VeltCommentDialogComposerInput
Text input field for composing comments. SeeComposerInputProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
placeholder | string | No | Input placeholder text |
VeltCommentDialogComposerActionButton
Submit/send button for the composer.- React / Next.js
- Other Frameworks
VeltCommentDialogComposerAttachmentButton
Button to add file attachments to comments.- React / Next.js
- Other Frameworks
VeltCommentDialogComposerRecorderButton
Button to add audio/video recordings.- React / Next.js
- Other Frameworks
VeltCommentDialogComposerRecorderPlayer
Player for audio/video recordings in the composer.- React / Next.js
- Other Frameworks
VeltCommentDialogComposerFiles
Files display in the composer.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdown
Complete status dropdown with trigger and content.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownTrigger
Button that opens the status dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownTriggerIcon
Icon for the status dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownTriggerName
Name display for the status dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownTriggerArrow
Arrow indicator for the status dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownContent
Dropdown content container for status options.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownContentItem
Individual status item in the dropdown. SeeStatusDropdownItemProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
statusObj | object | No | Direct status object (Priority 1) |
statusId | string | No | Status ID for lookup (Priority 2) |
statusIndex | number | No | Index in statuses array (Priority 3) |
VeltCommentDialogStatusDropdownContentItemIcon
Icon for a status dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogStatusDropdownContentItemName
Name display for a status dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdown
Complete priority dropdown with trigger and content.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownTrigger
Button that opens the priority dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownTriggerIcon
Icon for the priority dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownTriggerName
Name display for the priority dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownTriggerArrow
Arrow indicator for the priority dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownContent
Dropdown content container for priority options.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownContentItem
Individual priority item in the dropdown. SeePriorityDropdownItemProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
priorityObj | object | No | Direct priority object (Priority 1) |
priorityId | string | No | Priority ID for lookup (Priority 2) |
priorityIndex | number | No | Index in priorities array (Priority 3) |
VeltCommentDialogPriorityDropdownContentItemIcon
Icon for a priority dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownContentItemName
Name display for a priority dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogPriorityDropdownContentItemTick
Tick/checkmark for a priority dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdown
Options menu for actions like assignment, editing, and notifications. SeeOptionsDropdownProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
commentIndex | number | No | Index of comment for options |
enableAssignment | boolean | No | Enable assignment option |
allowAssignment | boolean | No | V1 alias for enableAssignment |
enableEdit | boolean | No | Enable edit option |
allowEdit | boolean | No | V1 alias for enableEdit |
enableNotifications | boolean | No | Enable notifications option |
allowNotifications | boolean | No | V1 alias for enableNotifications |
enablePrivateMode | boolean | No | Enable private mode option |
allowPrivateMode | boolean | No | V1 alias for enablePrivateMode |
enableMarkAsRead | boolean | No | Enable mark as read option |
allowMarkAsRead | boolean | No | V1 alias for enableMarkAsRead |
VeltCommentDialogOptionsDropdownTrigger
Trigger button for the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContent
Content container for the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentAssign
Assign option in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentEdit
Edit option in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentDelete
Delete option in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentDeleteComment
Delete comment option in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentDeleteThread
Delete thread option in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMakePrivate
Make private option container in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMakePrivateEnable
Enable private mode option.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMakePrivateDisable
Disable private mode option.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentNotification
Notification option container in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentNotificationSubscribe
Subscribe to notifications option.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentNotificationUnsubscribe
Unsubscribe from notifications option.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMarkAsRead
Mark as read option container in the options dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMarkAsReadMarkRead
Mark as read action option.- React / Next.js
- Other Frameworks
VeltCommentDialogOptionsDropdownContentMarkAsReadMarkUnread
Mark as unread action option.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdown
Custom annotation dropdown component.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownTrigger
Trigger button for the custom annotation dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownTriggerArrow
Arrow indicator for the custom annotation dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownTriggerList
List container for the custom annotation dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownTriggerListItem
Individual item in the custom annotation dropdown trigger list. SeeCustomAnnotationItemProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
item | object | No | Item data object |
index | number | No | Item index |
VeltCommentDialogCustomAnnotationDropdownTriggerPlaceholder
Placeholder for the custom annotation dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownTriggerRemainingCount
Remaining count indicator for the custom annotation dropdown trigger.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownContent
Content container for the custom annotation dropdown.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownContentItem
Individual item in the custom annotation dropdown content. SeeCustomAnnotationItemProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
item | object | No | Item data object |
index | number | No | Item index |
VeltCommentDialogCustomAnnotationDropdownContentItemIcon
Icon for a custom annotation dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogCustomAnnotationDropdownContentItemLabel
Label for a custom annotation dropdown item.- React / Next.js
- Other Frameworks
VeltCommentDialogReplyAvatars
Container for reply avatars.- React / Next.js
- Other Frameworks
VeltCommentDialogReplyAvatarsList
List container for reply avatars.- React / Next.js
- Other Frameworks
VeltCommentDialogReplyAvatarsListItem
Individual avatar item in the reply avatars list. SeeReplyAvatarsListItemProps.
- React / Next.js
- Other Frameworks
| Prop | Type | Required | Description |
|---|---|---|---|
user | User | Yes | User data object |
index | number | Yes | Index of user in list |
VeltCommentDialogReplyCount
Reply count display.- React / Next.js
- Other Frameworks
VeltCommentDialogAssigneeBanner
Assignee banner container.- React / Next.js
- Other Frameworks
VeltCommentDialogAssigneeBannerResolved
Resolved state of the assignee banner.- React / Next.js
- Other Frameworks
VeltCommentDialogAssigneeBannerUnresolved
Unresolved state of the assignee banner.- React / Next.js
- Other Frameworks
VeltCommentDialogAssigneeBannerUnresolveButton
Button to unresolve the assignee banner.- React / Next.js
- Other Frameworks
Additional Components (Common Inputs Only)
The following components accept only common inputs:| React Component | HTML Tag |
|---|---|
VeltCommentDialogResolveButton | <velt-comment-dialog-resolve-button> |
VeltCommentDialogUnresolveButton | <velt-comment-dialog-unresolve-button> |
VeltCommentDialogCopyLink | <velt-comment-dialog-copy-link> |
VeltCommentDialogCloseButton | <velt-comment-dialog-close-button> |
VeltCommentDialogDeleteButton | <velt-comment-dialog-delete-button> |
VeltCommentDialogPrivateBanner | <velt-comment-dialog-private-banner> |
VeltCommentDialogPrivateButton | <velt-comment-dialog-private-button> |
VeltCommentDialogGhostBanner | <velt-comment-dialog-ghost-banner> |
VeltCommentDialogSignIn | <velt-comment-dialog-sign-in> |
VeltCommentDialogNavigationButton | <velt-comment-dialog-navigation-button> |
VeltCommentDialogAttachmentButton | <velt-comment-dialog-attachment-button> |
VeltCommentDialogDeviceTypeIcons | <velt-comment-dialog-device-type-icons> |
VeltCommentDialogCommentIndex | <velt-comment-dialog-comment-index> |
VeltCommentDialogCommentNumber | <velt-comment-dialog-comment-number> |
VeltCommentDialogCommentCategory | <velt-comment-dialog-comment-category> |
VeltCommentDialogMetadata | <velt-comment-dialog-metadata> |
VeltCommentDialogThreads | <velt-comment-dialog-threads> |
VeltCommentDialogAllComment | <velt-comment-dialog-all-comment> |
VeltCommentDialogApprove | <velt-comment-dialog-approve> |
VeltCommentDialogUpgrade | <velt-comment-dialog-upgrade> |
VeltCommentDialogMoreReply | <velt-comment-dialog-more-reply> |
VeltCommentDialogHideReply | <velt-comment-dialog-hide-reply> |
VeltCommentDialogToggleReply | <velt-comment-dialog-toggle-reply> |
VeltCommentDialogToggleReplyShow | <velt-comment-dialog-toggle-reply-show> |
VeltCommentDialogToggleReplyHide | <velt-comment-dialog-toggle-reply-hide> |
VeltCommentDialogToggleReplyCount | <velt-comment-dialog-toggle-reply-count> |
VeltCommentDialogSuggestionAction | <velt-comment-dialog-suggestion-action> |
VeltCommentDialogSuggestionActionAccept | <velt-comment-dialog-suggestion-action-accept> |
VeltCommentDialogSuggestionActionReject | <velt-comment-dialog-suggestion-action-reject> |
VeltCommentDialogCommentSuggestionStatus | <velt-comment-dialog-comment-suggestion-status> |
VeltCommentDialogAssignDropdown | <velt-comment-dialog-assign-dropdown> |
VeltCommentDialogAssignMenu | <velt-comment-dialog-assign-menu> |
VeltCommentDialogOptions | <velt-comment-dialog-options> |
VeltCommentDialogPriority | <velt-comment-dialog-priority> |
VeltCommentDialogStatus | <velt-comment-dialog-status> |
VeltCommentDialogCustomAnnotationDropdown | <velt-comment-dialog-custom-annotation-dropdown> |
Notes
- Attribute Naming: HTML uses kebab-case, React uses camelCase
- Boolean Values: HTML uses “true”/“false” strings, React uses actual booleans
- Object Values: HTML uses JSON strings, React uses actual objects
- Required vs Optional:
annotationIdis required when using standalone mode, not required inside context wrapper

