Source of truth: exhaustive for what it covers. Generated from Velt customization metadata.
- If a name isn’t on this page, it doesn’t exist: don’t use it.
- Never invent or guess a name; use only identifiers that appear verbatim here or that you verified against ground truth and added here.
- Scope: exhaustive for the comments + notifications + core default-state flags, the provider
configobject’s customizer-critical keys, and the UI-affecting component flag-props. Out-of-scope features (recorder internals, huddle, video-editor, view-analytics, follow/live-state) appear only where they share a<VeltComments>/provider flag.
enable…() call). Don’t rebuild something Velt already has.
How to read:
- Default = the SDK’s built-in state before you touch anything.
- Enable via = the exact React prop (on which component) and/or the imperative element method.
- React props have no defaults of their own. A prop you omit falls through to the SDK default below. So “OFF by default” features need you to pass the prop or call the method; “ON by default” features are turned off with
={false}.
The two you asked about
<VeltComments>: OFF by default (pass the prop / call enable to show)
<VeltComments>: ON by default (turn off with ={false})
reactions, attachments, attachmentDownload, status, userMentions, seenByUsers, resolve button (enableResolve), scrollToComment, dialogOnHover, floatingCommentDialog, commentTool, textMode (the prop is textMode, not textComments: textComments does not exist), deleteOnBackspace, areaComment, bubbleOnPinHover, pinDrag, ghost-comment indicator, and the shadow-DOM flags: <VeltComments> exposes shadowDom/pinShadowDom/dialogShadowDom (no sidebarShadowDom here); <VeltCommentsSidebar> uses shadowDom; sidebarShadowDom lives on the sidebar-button components.
These are also ON by default: turn off with ={false} (or the imperative disable…()): anonymousEmail (enableAnonymousEmail()), draftMode (enableDraftMode()), floating comments (enableFloatingComments(): sidebar prop is floatingMode), ghostCommentsMessage (enableGhostCommentsMessage()), mobileMode (enableMobileMode()), popoverTriangleComponent (enablePopoverTriangleComponent()), recordingSummary (enableRecordingSummary(), deprecated alias of recording transcription), shortUserName (enableShortUserName()).
Other components
<VeltPresence>: self (include self in the presence list) is ON (disable with self={false}; imperative presenceElement.enableSelf() / disableSelf(): backed by the service’s includeSelf). Flock/follow mode is OFF → flockMode / presenceElement.enableFlockMode().
<VeltCursor>: avatar-mode cursors OFF → avatarMode (no imperative pair).
<VeltReactionTool>: dark mode OFF → reactionElement.enableDarkMode() (no React prop on the reaction tool).
Notifications (<VeltNotificationsTool>/Panel): settings UI OFF → settings / enableSettings(); org-level settings OFF → enableSettingsAtOrganizationLevel (imperative enableSettingsAtOrganizationLevel(), backed by the service’s enableSettingsConfigByOrganization); self notifications OFF → selfNotifications / enableSelfNotifications(); read-on-ForYou OFF → readNotificationsOnForYouTab / enableReadNotificationsOnForYouTab(); cross-org feed OFF → enableCrossOrganization / notificationElement.enableCrossOrganization().
Imperative-only gates (no React prop: call element.enable…())
- Recorder: video editor OFF →
recorderElement.enableVideoEditor(); alsoenableOnboardingTooltip(),enableRetakeOnVideoEditor(),enablePictureInPicture(). Countdown/transcription/playback-on-preview are ON (disableRecordingCountdown(),disableRecordingTranscription(),disablePlaybackOnPreviewClick()). (Recorder dark mode + mic are tri-statenull: neither on nor off until set:enableDarkMode()/disableDarkMode(),enableRecordingMic()/disableRecordingMic().) - Notifications: current-document-only scope OFF →
notificationElement.enableCurrentDocumentOnly().
Provider config object (<VeltProvider config={…}>)
The provider’s config object governs the whole SDK before any component renders: the single biggest lever for a customizer. Keys below are verified against the Config type. All are optional.
Absence:Confighas no top-leveltheme,css, ordarkModekey. Theming at the provider level isusePrefersColorScheme; stylesheet loading isglobalStyles;darkModeis a per-component prop only.
UI-affecting component flag-props (layout / variant / placeholders)
Beyond on/off feature flags, these props change a component’s layout, variant, or copy. Verified verbatim on the React components.<VeltCommentsSidebar>
Notifications (
<VeltNotificationsPanel> / <VeltNotificationsTool>)
<VeltComments>
How to use this when matching a design
- The design shows something not visible by default (priority chip, reply avatars, minimap, @here, device badge, …)? Find it above → pass the prop / call enable.
- The design omits something Velt shows by default (reactions, status, attachments)? Turn it off with
={false}: don’tdisplay:noneit (R7). - Then style/restructure it with CSS / wireframes / primitives as usual.
Defaults verified against the SDK’s feature services. A few advancedenable…()methods exist whose default is not documented here. If a feature isn’t listed, call the matchingenable<Feature>()on the relevant element and confirm by testing.

