Skip to main content
This list is generated from the Velt SDK. If a variable isn’t listed here, it doesn’t exist; don’t guess names. Coverage is complete for comments, notifications, and core theming (palette, spacing, type, radius); variables for other component clusters (view-analytics, recorder, huddle, video-editor, cursor, …) are summarized rather than enumerated.
CSS custom properties Velt exposes for theming, extracted verbatim from the SDK. Override in your own stylesheet (see CSS). Variables cross the shadow DOM; class CSS needs shadowDom={false} or injectCustomCss (see the shadowDom rule).
  • Modern --velt-*: use these.
  • Legacy --legacy-velt-*: older surfaces only.
This lists the --velt-* properties intended for theming; a small number of internal/feature-scoped names exist in source but are not meant to be overridden directly. Two value shapes appear: colon-defined vars (--velt-x: <default>, listed with their default) and settable hooks consumed via var(--velt-x, <fallback>) with no source default (noted inline).

Modern --velt-*

Active (theme-resolved) color tokens

These are the live tokens components actually read. Each resolves to its --velt-light-mode-* value (or --velt-dark-mode-* under [data-velt-theme="dark"]). Override a single token to retheme everywhere it’s used; override the light-mode/dark-mode pair to retheme per theme.

Spacing

Border radius

Font

Font weights

Consumed via font-weight: var(--velt-font-weight-N). No literal default in source: set to the numeric weight you want.

Icon sizes

Light mode

Dark mode

Surface & text aliases

Semantic aliases components read in newer surfaces. Resolved from the active theme palette; no literal fallback is documented here.

Legacy flat aliases

Older flat token names still referenced in a few surfaces. Each carries a literal fallback.
Resolved from the active theme palette.

Skeleton loader

Set inline by the skeleton-loader component; override to size/shape loaders.

Comment pin

Per-component theming layer for the pin marker, its index/number badge, and the per-variant count-bubble offsets. Note: --velt-comment-pin-background-color does not exist; the pin fill variable is --velt-comment-pin-bg-color (default var(--velt-purple) = #625DF5).
Settable hooks (no colon default in source: consumed with a fallback):

Comment dialog

Per-component theming layer for the comment dialog shell, header, embedded composer wrapper, email/mention chips, and the private-comment indicator.
The comment composer has no dedicated --velt-composer-* colon-defined theming vars; it reads the global tokens (--velt-accent, --velt-spacing-*, --velt-text-*, --velt-border-radius-*) plus --velt-comment-dialog-input-wrap-bg-color above.

Comments sidebar

Per-component theming layer for the comments-sidebar shell. The sidebar filter subtree has no dedicated --velt-*filter* vars: it inherits these plus the global tokens.

Notifications panel

Per-component theming layer for the notifications panel: shell, tab bar, notification item, per-item text colors, and the people-group section.

Notifications history / settings panel

Per-component theming layer for the notifications history (settings) panel: parallel to the notifications panel above, with its own header/close-icon and primary/secondary text colors.

Tool-button state matrix

The generic toolbar-button theming matrix (comments tool, sidebar button, etc.) keyed by state: base · focus · hover · active · active-focus · active-hover. The base/focus/hover/active rows have --legacy-velt-tool-* twins (listed in the Legacy section below); the active-focus/active-hover rows are modern-only.
Comments tool (own vars, no legacy twin):
Reaction tool (has --legacy-velt-reaction-tool-* twins):

Agent suggestion (comment AI suggestions)

Z-index


Legacy --legacy-velt-*

Some legacy names appear twice: the second is the [data-velt-theme="dark"] override value.