Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.velt.dev/llms.txt

Use this file to discover all available pages before exploring further.

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

Overview

The Notifications Tool wireframe powers the small bell-icon button (with unread-count badge) customers place in their app’s toolbar to open the linked Notifications Panel. It supports a numeric badge or an unread-only icon mode (dot indicator without a number). Variables below are available inside any <velt-notifications-tool-...-wireframe> tag via three forms:
You want to…UseExample
Display a value as text<velt-data field="var" /><velt-data field="unreadNotificationsForYou.length" />
Hide / show conditionallyvelt-if="{var}"velt-if="{unreadNotificationsForYou.length} > 0"
Toggle a CSS classvelt-class="'cls': {var}"velt-class="'panel-open': {notificationsPanelVisible}"
All variables are mapped — reference them by their short name. You do not need the componentConfig. prefix.
The tool shares its componentConfigSignal with the linked panel. Every variable on the Notifications Panel Wireframe Variables page resolves here too — only the two tool-specific entries below are documented as new on this page.

Data State

Tool-specific data — drives the bell icon, the unread badge, and the active-state styling.
VariableTypeDescriptionExample
unreadNotificationsForYouNotification[]Unread notifications list. Length drives the count badge.<velt-data field="unreadNotificationsForYou.length" />

UI State

VariableTypeDescriptionExample
notificationsPanelVisiblebooleanLinked panel is currently open. Drives the active modifier on the trigger.velt-class="'panel-open': {notificationsPanelVisible}"
darkModebooleanDark mode is active.velt-class="'theme-dark': {darkMode}"
variantstringPer-instance variant tag set on the host element.<velt-data field="variant" />
The tool’s componentConfigSignal also includes tabConfig, shadowDom, panelShadowDom, considerAllNotifications, template, and settingsLayout — all set on the public element as kebab-case attributes (see Common Props below). Inside a wireframe these still resolve as bare names.

Common Props

The tool inherits the same base inputs as the panel — see Notifications Panel — Common Props. The root <velt-notifications-tool> element additionally accepts these public attributes:
React PropHTML AttributeTypeDefaultDescription
considerAllNotificationsconsider-all-notificationsboolean | "true" | "false"falseCount all notifications, not just unread.
shadowDomshadow-domboolean | "true" | "false"trueWrap the tool in Shadow DOM.
panelShadowDompanel-shadow-domboolean | "true" | "false"trueWrap the linked panel in Shadow DOM.
settingsLayoutsettings-layout'accordion' | …'accordion'Forward to the linked panel.
variantvariantstringWireframe variant id.

Type Reference

Types referenced by the variables above are documented in Data Models:
TypeDescription
NotificationA single notification (id, notificationSource, actionType, isUnread, actionUser, timestamp, displayHeadlineMessage, displayBodyMessage, metadata).
For the full type set used inside the linked panel — see Notifications Panel — Type Reference.

Subcomponents

Each subcomponent below has its own wireframe tag.

notifications-tool (root)

The bell-icon trigger.
  • Public element: <velt-notifications-tool>
  • Wireframe tag: <velt-notifications-tool-wireframe>
  • Variant: read from componentConfig.uiState.variant.
PropertyValue
Extra variablesNone — root only sees common variables.

Classes

ClassApplied when
v-document-viewer-tread-container velt-notifications-toolAlways on the host wrapper.
action-btn velt-notifications-tool--action-buttonInner clickable button.
active / velt-notification-tool-opennotificationsPanelVisible is true.
velt-notifications-tool--containerInner content wrapper.
velt-notifications-panel-sidebar-containerSidebar-mode panel anchor.
<VeltNotificationsToolWireframe
  velt-class="'panel-open': {notificationsPanelVisible}, 'has-unread': {unreadNotificationsForYou.length} > 0">
  <VeltNotificationsToolWireframe.Icon
    velt-if="{unreadNotificationsForYou.length} === 0" />
  <VeltNotificationsToolWireframe.UnreadIcon
    velt-if="{unreadNotificationsForYou.length} > 0" />
  <VeltNotificationsToolWireframe.Label />
  <VeltNotificationsToolWireframe.UnreadCount />
</VeltNotificationsToolWireframe>

notifications-tool-icon

The default bell icon shown when there are no unread notifications.
  • Public element: <velt-notifications-tool-icon>
  • Wireframe tag: <velt-notifications-tool-icon-wireframe>
PropertyValue
Extra variablesNone.
shouldShowParent gates this on unreadNotificationsForYou.length === 0.

Classes

ClassApplied when
action-btn-icon velt-notifications-tool--iconAlways on the inner SVG.

notifications-tool-unread-icon

The bell-icon variant shown when there are unread notifications (different colour / shape).
  • Public element: <velt-notifications-tool-unread-icon>
  • Wireframe tag: <velt-notifications-tool-unread-icon-wireframe>
PropertyValue
Extra variablesNone.
shouldShowParent gates this on unreadNotificationsForYou.length > 0.

Classes

ClassApplied when
action-btn-icon velt-notifications-tool--iconAlways on the inner SVG.

notifications-tool-label

Optional “Notifications” label next to the bell.
  • Public element: <velt-notifications-tool-label>
  • Wireframe tag: <velt-notifications-tool-label-wireframe>
PropertyValue
Extra variablesNone.

Classes

ClassApplied when
action-btn-label velt-notifications-tool--labelAlways on the host span.

notifications-tool-unread-count

The unread-count badge (“3”, “12”, …). Hidden when there are no unread notifications.
  • Public element: <velt-notifications-tool-unread-count>
  • Wireframe tag: <velt-notifications-tool-unread-count-wireframe>
PropertyValue
Extra variablesNone.
shouldShowunreadNotificationsForYou.length > 0
<VeltNotificationsToolWireframe.UnreadCount
  velt-if="{unreadNotificationsForYou.length} > 0">
  <span><velt-data field="unreadNotificationsForYou.length" /></span>
</VeltNotificationsToolWireframe.UnreadCount>

Putting it together

A typical Notifications Tool button that swaps its icon between unread / read state, lights up while the panel is open, and shows a numeric badge:
<VeltNotificationsToolWireframe
  velt-class="'is-active': {notificationsPanelVisible}">
  <button className="my-notif-btn">
    <VeltNotificationsToolWireframe.UnreadIcon
      velt-if="{unreadNotificationsForYou.length} > 0" />
    <VeltNotificationsToolWireframe.Icon
      velt-if="{unreadNotificationsForYou.length} === 0" />
    <VeltNotificationsToolWireframe.UnreadCount
      velt-if="{unreadNotificationsForYou.length} > 0">
      <span className="my-notif-btn__count">
        <velt-data field="unreadNotificationsForYou.length" />
      </span>
    </VeltNotificationsToolWireframe.UnreadCount>
  </button>
</VeltNotificationsToolWireframe>