Hooks apply), and each is wireframed.
Looking for the standard comment surfaces? The dialog, sidebar (V1/V2), sidebar button, pin, bubble, and comment tool aren’t on this page: they’re the running examples throughout the approach guides (
Wireframes, CSS, Primitives), and each has a one-stop entry (primitive · root wireframe · key props · flags · variables · refs) in the Surface lookup map in Component catalog. Start there for any standard comment surface; this page is only the three variants below.Components
Full examples: each variant has per-component pages with complete tabbed code examples and screenshots: Inline comments section wireframes, Multi-thread comments wireframes, Text comment tool wireframes, and Text comment toolbar wireframes.Config props
CSS: stateful classes
None dedicated to these variants: they reuse the comment-dialog classes. Theme via--velt-* and override structural classes with !important because Velt’s own styles are high-specificity; see CSS. See also CSS classes.
Wireframes: slot trees + tokens
Text Comment
VeltTextCommentToolbar wireframe → .CommentAnnotation, .Copywriter (AI rewriter), .Generic, .Divider.
Key tokens (use full paths where they collide): {showAdder}, {commentToolEnabled}, {isUserAllowed}, {enableTextComments}, {rewriterEnabled}, {selectedWordsCount}, {selectedCharactersCount}, {position.top}/{position.left}, {uiState.disabled}.
Inline Comments Section
VeltInlineCommentsSectionWireframe:
{skeletonLoading}, {annotations}, {filterState.filterDropdownOpen}, {sortState.sortingDropdownOpen}, {isResolvedCommentsOnDomFilterSelected}; per-item {filter.isSelected}, {sortOption}, {isActive}, {isAscending}.
Multi-Thread Comment Dialog
VeltMultiThreadCommentDialogWireframe:
{filteredAnnotations}, {nonDraftCommentsCount}, {minimalFilter} ('all'|'read'|'unread'|'resolved'), {noCommentsFound}, {noCommentsFoundForAppliedFilters}, {hideMultiThreadAnnotationComposer}; per minimal-filter item {isSelected}.
Headless hooks
None section-specific: all three reuse the shared comment hooks (seeHooks). Text Comment additionally drives via the comment element (useCommentUtils) and the AI rewriter (useAIRewriterUtils).
Limitations
Text Comment has a thinner slot set (the four toolbar buttons) and no dedicated hooks. Otherwise all three follow the same rules as the comment dialog: the interactivity rule, scoping (nest vs root), andshadowDom/CSS guidance all apply. The visible “panel” is the container; fill the slots inside it.
