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

Overview

The Comment Bubble wireframe exposes the variables below. Use them inside any <velt-comment-bubble-...-wireframe> tag via three forms: All variables are mapped — reference them by their short name. You do not need the componentConfig. prefix.
Naming conflicts — use full path. A few names collide with mappings used elsewhere. Inside a Comment Bubble wireframe, prefer the explicit path on the right when reading these values:

App State

App-wide values resolved from the shared global signal.

Data State

Per-bubble data: the annotation this bubble previews, the surrounding annotation list, and unread / unresolved counts.

UI State

Per-bubble UI flags driven by the bubble itself.

Feature State

Capability flags toggled at the workspace level. These are documented under the explicit globalConfigSignal.featureState.<name> path because the bare names collide with other mappings. Available in both V1 and V2 Comment Bubble wireframes.
V2 root alias. V2 wireframes can use either globalConfig or globalConfigSignal as the root for these deep paths — both resolve identically (v5.0.2-beta.25).

Common Props

Every Comment Bubble primitive accepts: Signal inputs (for parent-child component composition):
  • [componentConfigSignal] — shared config signal (annotation, selected-annotations map, unread count).
  • [parentLocalUIState] — per-instance UI state signal (darkMode, variant, shadowDom, readOnly, showAvatar, commentCountType).
The root <velt-comment-bubble> element additionally accepts attributes that map onto config and local UI state values: dark-mode, variant, show-avatar, comment-count-type, etc.

Type Reference

Types referenced by the variables above are documented in Data Models:

Subcomponents

Each subcomponent below has its own wireframe tag. The annotation root supports nested access — see CommentAnnotation for the full shape.

comment-bubble (root)

The bubble pin that previews an annotation when the user is not focused on it.
  • Public element: <velt-comment-bubble>
  • Wireframe tag: <velt-comment-bubble-wireframe>
  • Children: *-avatar, *-comments-count, *-unread-icon

comment-bubble-avatar

The avatar of the annotation’s author.
  • Public element: <velt-comment-bubble-avatar>
  • Wireframe tag: <velt-comment-bubble-avatar-wireframe>

comment-bubble-comments-count

The “N” badge showing how many comments are in the thread.
  • Public element: <velt-comment-bubble-comments-count>
  • Wireframe tag: <velt-comment-bubble-comments-count-wireframe>

comment-bubble-unread-icon

The unread-indicator dot on the bubble.
  • Public element: <velt-comment-bubble-unread-icon>
  • Wireframe tag: <velt-comment-bubble-unread-icon-wireframe>

Deeply-Nested Wireframe Tags

A separate-but-related set of primitives renders the comment pin (the small marker on the page) — distinct from the bubble (which previews the comment). Each tag below has its own <velt-comment-pin-...-wireframe> registration and reads from the same annotation context.

Comment Pin tags