Item 1
Item 2
Item 3

Styled quick start

Copy this entrypoint first. It includes the imports required to get the component on screen.

svelte
<script lang="ts">
  import '@dryui/ui/themes/default.css';
  import '@dryui/ui/themes/dark.css';
  import { NotificationCenter, Button } from '@dryui/ui';
</script>

<NotificationCenter.Root bind:items={notifications} bind:open={panelOpen}>
  <NotificationCenter.Trigger>
    {#snippet children({ unreadCount })}
      <Button>Notifications ({unreadCount})</Button>
    {/snippet}
  </NotificationCenter.Trigger>
  <NotificationCenter.Panel>
    <NotificationCenter.Group label="Today">
      <NotificationCenter.Item id="1" variant="info">New deployment complete</NotificationCenter.Item>
    </NotificationCenter.Group>
  </NotificationCenter.Panel>
</NotificationCenter.Root>

Import options

Root package

ts
import { NotificationCenter } from '@dryui/ui'

Per-component subpath

ts
import { NotificationCenter } from '@dryui/ui/notification-center'

API

Props, CSS variables, and the public data attributes you can target when styling.

Prop Type Description Default Required Bindable

NotificationCenter.Root

items
import('./context.svelte.js').NotificationItem[]
— $bindable<NotificationItem[]>([]) — ✓
open
boolean
Whether the overlay or disclosure is currently open. false — ✓
children
Snippet
Content rendered inside the component. — ✓ —

NotificationCenter.Trigger

children
Snippet<[{ unreadCount: number }]>
Content rendered inside the component. — ✓ —

NotificationCenter.Panel

placement
toptop-starttop-endbottombottom-startbottom-endleftleft-startleft-endrightright-startright-end
— 'bottom-end' — —
offset
number
— 8 — —
children
Snippet
Content rendered inside the component. — ✓ —

NotificationCenter.Item

id
string
Unique HTML id used for labels, aria relationships, or targeted styling. — ✓ —
read
boolean
— false — —
timestamp
Date
— — — —
variant
infowarningcritical
Visual style preset for the component. — — —
action
Snippet
— — — —
children
Snippet
Content rendered inside the component. — ✓ —

NotificationCenter.Group

label
string
Visible label text shown for the control or item. — ✓ —
children
Snippet
Content rendered inside the component. — ✓ —