KQ-940 · SNOOZE/CHIP
Snooze Chip
One notification, put off until a stated time. The chip unfolds its durations in flow on a ResizeObserver-measured height joined on glide, and picking one slides the card sixteen pixels away on the exit ease while the block collapses to the stamp's own measured height and the stamp lands on recoil with a clock whose hands turn to the wake time. The wake time is arithmetic on a minute the host passes in, never a clock read: Left and Right rove the chips, Home and End jump, Escape folds and returns focus to the chip, and choosing one moves focus to Undo.
KQ-940 · SNOOZE/CHIP
Ines BardemThe yard fee on 4471-CB is still held. Can you look before the run?Waylight Pay ops
Awake · now 3:45 pm
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/snooze-chip
Props
- title
- string
- default —
- Who or what the notification is from.
- body
- string
- default —
- The one line of the notification.
- meta
- string
- default —
- A quiet third line, such as the room it came from.
- durations
- SnoozeDuration[]
- default 20 minutes / 1 hour / 3 hours / Tomorrow at 9
- The fold's stops: minutes from now, or an `at` minute of the day to wake at instead.
- nowMinutes
- number
- default 945
- The host's minute of the day, 0 to 1439. The component never reads a clock.
- open / defaultOpen
- boolean
- default false
- Controlled or initial state of the duration fold.
- onOpenChange
- (open: boolean) => void
- default —
- Fires from the chip, from Escape, and from a chosen duration.
- onSnooze
- (snooze: { id: string; label: string; wakeMinutes: number } | null) => void
- default —
- Fires with the chosen snooze, or null from Undo.
- onWake
- () => void
- default —
- Fires once when nowMinutes reaches the wake time.
- format
- (minutes: number) => string
- default —
- Formats a minute of the day; defaults to a 12-hour clock.
- snoozeLabel
- string
- default "Snooze"
- Copy for the chip.
| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | — | Who or what the notification is from. |
| body | string | — | The one line of the notification. |
| meta | string | — | A quiet third line, such as the room it came from. |
| durations | SnoozeDuration[] | 20 minutes / 1 hour / 3 hours / Tomorrow at 9 | The fold's stops: minutes from now, or an `at` minute of the day to wake at instead. |
| nowMinutes | number | 945 | The host's minute of the day, 0 to 1439. The component never reads a clock. |
| open / defaultOpen | boolean | false | Controlled or initial state of the duration fold. |
| onOpenChange | (open: boolean) => void | — | Fires from the chip, from Escape, and from a chosen duration. |
| onSnooze | (snooze: { id: string; label: string; wakeMinutes: number } | null) => void | — | Fires with the chosen snooze, or null from Undo. |
| onWake | () => void | — | Fires once when nowMinutes reaches the wake time. |
| format | (minutes: number) => string | — | Formats a minute of the day; defaults to a 12-hour clock. |
| snoozeLabel | string | "Snooze" | Copy for the chip. |