Cal.comdesign-system

Countdown

Animated countdown to an upcoming event or meeting deadline.

Use Countdown when you need to show time remaining until a scheduled event, meeting start, or acceptance deadline. Numbers animate with NumberFlow as the timer ticks down.

Two variants ship today:

  • compact — DD:HH:MM:SS inline timer, matching the NumberFlow countdown example.
  • card — labeled units with event title, date badge, and full datetime footer.

On Cal Events public pages, use the compact timer in the main column beside the cover art — same layout as MeetupEventLayout.

Examples

packages/features/cal-events · MeetupEventLayout + Countdown

Product launch keynote

Monday, November 9

2:30 PM

Starts in

13 days, 16 hours, 11 minutes, 44 seconds remaining

San Francisco, CA

apps/web/modules/videos · meeting-not-started + Countdown

This meeting has not started yet

Weekly product syncMonday, October 26, 2026 at 11:03 PM
0 days, 0 hours, 44 minutes, 59 seconds remaining
variant="compact" · DD:HH:MM:SS
41 days, 16 hours, 11 minutes, 44 seconds remaining
variant="card" · labeled units with event chrome

Upcoming event

Product launch keynote

Dec 7
Months
Weeks
Days
Hours
Minutes
Seconds
1 month, 1 week, 3 days, 16 hours, 11 minutes, 44 seconds remaining

Monday, December 7, 2026 at 2:30 PM

variant="card" · minUnits="hours"

Next meeting

Team standup

Oct 29
Days
Hours
Minutes
Seconds
2 days, 16 hours, 11 minutes, 44 seconds remaining

Thursday, October 29, 2026 at 2:30 PM

API

Hook

For custom layouts, derive countdown state with useCountdown:

Call sites

Example URLs

Not exhaustive — a few places this pattern fits in product once adopted.

Source

packages/coss-ui/src/shared/countdown.tsx