Snooze Menu
A snooze popover with smart presets that show the actual resulting time, plus a custom stepper.
$
View as Markdownnpx shadcn@latest add https://sundaeui.dev/r/snooze-menu.jsonOverview
Presets like Later today, Tomorrow and Next week each show the exact day and time they resolve to, computed from now, so there is no guessing.
The custom row steps hours with + and −. Choosing collapses the menu into a pill that says when the item comes back.
When to use
- Email, tasks, notifications, reminders.
When not to use
- Scheduling far ahead: use a date picker.
Installation
$
pnpm dlx shadcn@latest add https://sundaeui.dev/r/snooze-menu.json$
npx shadcn@latest add https://sundaeui.dev/r/snooze-menu.json$
yarn dlx shadcn@latest add https://sundaeui.dev/r/snooze-menu.json$
bunx --bun shadcn@latest add https://sundaeui.dev/r/snooze-menu.jsonWorks in any React project. Files are written to components/sundae/. Read the source in the stage’s Code view.
- No dependencies beyond React 18 or later.
- Copy snooze-menu.tsx and snooze-menu.css into components/sundae/.
- The CSS file is imported by the component, so no extra configuration is needed.
- Import the component and use it as shown below.
Usage
import { SnoozeMenu } from '@/components/sundae/snooze-menu'
<SnoozeMenu />Props
| Prop | Type | Default |
|---|---|---|
onSnoozeCalled with the chosen time. | (until: Date) => void | — |
nowReference time. | Date | new Date() |
fillSurface: dark or light. | 'dark' | 'light' | 'dark' |
Accessibility
- A menu button with role="menu" items; arrow keys move, Escape closes and returns focus.
- The result pill is announced.
- Reduced motion removes the movement and keeps every state change.
Customization
- Colours are CSS custom properties on .sd-snz; override them in your own stylesheet.
- fill="light" switches the built-in light palette.
Keyboard
- ↑ / ↓
- Move between presets
- Esc
- Close
FAQ
- Is Snooze Menu free?
- Yes. Snooze Menu is free for personal and commercial projects, with full source on this page.
- How do I install Snooze Menu?
- Run npx shadcn@latest add https://sundaeui.dev/r/snooze-menu.json. The files are written to components/sundae/. It has no dependencies beyond React 18 or later.
- Does Snooze Menu support keyboard and screen readers?
- A menu button with role="menu" items; arrow keys move, Escape closes and returns focus. The result pill is announced.
- Does Snooze Menu respect reduced motion?
- Reduced motion removes the movement and keeps every state change.
More like this
All components →- Pro
Notification Center
Components · Refined - Pro
Context Menu
Components · Refined Hover Card
Components · RefinedSplit Button
Components · RefinedSpeed Dial
Components · RefinedInfo Tip
Components · Refined