Skip to content
Velkin LogoVelkin Logo
Velkin
VELKIN/UI

Modern UI components for product teams and their AI agents. Lit core, typed wrappers, live MCP.

sales@velkinui.com

Product

  • Docs
  • Components
  • Studio
  • Pricing

Resources

  • Quick start
  • Blog
  • Changelog
  • Roadmap
  • Status

Project

  • About
  • Contact
  • License
  • Privacy
  • Terms

© 2026 Velkin. MIT core · Pro licenses available.

VELKIN

Notification

A notification component that renders the toast viewport.

vu-notification · @velkin/react/notification

Copy page

Import

React
npm i @velkin/react

import { VuNotification } from "@velkin/react/notification";

Examples

API

Tables match the member selected under Import.

Props

PropTypeDefaultDescription
positionVuNotificationPosition"bottom-end"Screen corner or center for the toast region. Default: `"bottom-end"`.
layoutVuNotificationLayout"list"List or stack presentation. Default: `"list"`.
variantVuNotificationVariant"flat"Status surface recipe (`flat`|`soft`|`solid`|`bordered`). Default: `"flat"`.
notificationsNotificationItemInternal[][]Current toast items. Default: `[]`.
defaultDurationnumber4000Auto-dismiss ms when item duration is omitted; `0` disables. Default: `4000`.
visibleToastsnumber3Collapsed stack layers shown before overflow. Default: `3`.
maxVisiblenumber5Max simultaneous toasts before oldest are dropped. Default: `5`.
removablebooleantrueShows per-toast dismiss controls. Default: `true`.
mergeDuplicatesbooleanfalseMerges duplicate toasts and increments count. Default: `false`.
closeLabelstring""Accessible name for dismiss; empty uses locale catalog. Default: `""`.
offsetstring""Viewport inset override (CSS length). Default: `""`.
gapstring""List gap override (CSS length). Default: `""`.
withProgressbooleanfalseShows auto-dismiss countdown bar on timed toasts. Default: `false`.
withPauseOnHoverbooleanfalsePauses auto-dismiss while the list is hovered. Default: `false`.
withPauseWhenHiddenbooleantruePauses auto-dismiss while the document is hidden. Default: `true`.
withExpandOnClickbooleanfalsePins stack expansion after clicking the pile. Default: `false`.
withOverflowCountbooleanfalseShows overflow count badge in stack layout. Default: `false`.
withSwipeDismissbooleanfalseEnables swipe-to-dismiss on each toast. Default: `false`.
pausedbooleanfalseReflects when auto-dismiss timers are paused. Default: `false`.

Events

EventDetailDescription
vu-queueVuNotificationQueueDetailWhen a toast is queued.
vu-removeVuNotificationRemoveDetailWhen a toast is removed.
vu-clear-allVuNotificationClearAllDetailWhen all toasts are cleared.

CSS parts

PartDescription
baseRoot wrapper.
anchorInvisible viewport anchor for popover positioning.
panelPopover panel listing toasts.
listVertical list or stack grid of toast items.
itemIndividual toast surface.
mediaOptional leading image.
rowIcon + text row.
iconLeading status icon.
spinnerLoading indicator for promise toasts.
copyTitle and message column.
titleToast title.
messageToast body copy.
countDuplicate merge badge.
actionOptional action button.
bodyCustom toast body when `content` is provided.
closePer-toast dismiss control.
progressAuto-dismiss countdown bar.
overflowHidden-toast count badge in stack layout.

Methods

MethodDescription
addNotification- Queues a toast; returns its id.
updateNotification- Patches an existing toast (promise flow).
removeNotification- Dismisses a toast by id.
clearNotifications- Dismisses every toast.
show- Opens the popover when items exist.
hide- Closes the popover.

Types

NameDefinition
VuNotificationClearAllDetail
{ [x: string]: never; }
VuNotificationLayout
"stack" | "list"
VuNotificationPosition
"top-center"
| "bottom-start"
| "bottom-end"
| "top-start"
| "top-end"
| "bottom-center"
VuNotificationQueueDetail
{ item: VuNotificationItem; }
VuNotificationRemoveDetail
{ id: number; }
VuNotificationVariant
"solid" | "flat" | "soft" | "bordered"

Related

Companions

  • Notification Provider`vu-notification-provider`

Feedback

  • AlertAn alert component with intent colors, variants, and optional dismiss.
  • DialogA dialog component with region slots, focus trap, and backdrop.
  • DrawerA drawer component with slide-in panel, backdrop, and focus trap.
  • OverlayAn overlay component with backdrop and centered content slot.
  • PopoverA popover component with smart placement and a trigger slot.
  • ProgressA progress component with linear, ring, and indeterminate modes.

Guides

  • AccessibilityLabels and overlays
  • AppearanceStatus colors

Browse

  • Previous: DrawerEarlier in the sidebar
  • Next: OverlayLater in the sidebar
  • All componentsBrowse the full index