Skip to content
GetUrUI

Notification cards

4 variantsNewPro
.md

Four notification patterns — inbox with tabs, actionable access request, stacked toasts and grouped digest — with sliding tabs, optimistic read states, fanning stacks and springy groups.

notificationsinboxtoastalertsactivitydigestapprovalfeed

Inbox

inbox.tsx

Sliding tabs with live counts, rows that mark read on open, archive with collapse and mark-all-read.

$npx shadcn@latest add @geturui-pro/notification-cards-inbox
PropTypeDefaultDescription
itemsInboxItem[]—{ id, kind: "mention" | "comment" | "review" | "invite", actor, initials, text, target, time, unread }.
onOpen(item: InboxItem) => void—Called when a row is opened.
classNamestring—Extra classes on the card.

Access request

actionable.tsx

Pick a role, approve or decline with a pending spinner, then a resolved state with undo.

$npx shadcn@latest add @geturui-pro/notification-cards-actionable
PropTypeDefaultDescription
requester / initials / email / resource / note / timestring—Request details.
defaultRole"viewer" | "commenter" | "editor""commenter"Preselected access level.
onApprove / onDecline(role?) => Promise<void> | void—Resolve to confirm; reject to return to idle.
onUndo() => void—Called when the decision is undone.
classNamestring—Extra classes on the card.

Toast stack

toasts.tsx

Collapsed deck that fans out on hover or focus; toasts swipe or close away and the rest re-stack.

$npx shadcn@latest add @geturui-pro/notification-cards-toasts
PropTypeDefaultDescription
toastsStackToast[]—{ id, tone: "success" | "info" | "warning", title, body, action? }, oldest first.
onDismiss(id: string) => void—Pass to control the list yourself.
onAction(toast: StackToast) => void—Inline action handler.
peeknumber2Toasts visible behind the front one when collapsed.
classNamestring—Extra classes on the card.

Activity digest

digest.tsx

Updates rolled up by day and kind; each group springs open to its events with a staggered reveal.

$npx shadcn@latest add @geturui-pro/notification-cards-digest
PropTypeDefaultDescription
title / rangestring—Heading and caption.
daysDigestDay[]—{ label, groups: { id, kind, summary, events }[] }.
classNamestring—Extra classes on the card.

Install the whole set

Installs every notification cards variant at once. Each section above has its own command for a single variant.

Pro installs use your private registry token. Add the @geturui-pro registry once — setup guide. The command works after you get Pro.

$npx shadcn@latest add @geturui-pro/notification-cards

Accessibility

  • Tabs, disclosures and the access-level picker use native roles; unread state is announced, not only shown as a dot.
  • Toasts stay reachable by keyboard: focusing the stack fans it out, and every toast has a labelled dismiss button.
  • Status pairs colour with an icon and a word, and reduced motion swaps slides and swipes for fades.

Related