← Catalog

Calendar

A month as a grid you can click or move through with the keyboard, and the date range picker built on it: the list's date filter (D37). It came out of the date range picker research: presets first, a calendar for the rest, and typing always possible. Drawn for 8 Oct 2026, the concept's today, with a span picked from 8 Sep to 3 Oct.

The date range picker

Ten presets in a rail, short spans to long, All time first; they apply at once and close. Custom is everything else: From and To take typing, two months take clicks, and the span waits for Apply. A span that matches a preset is that preset. Days after today are off for a date that can only be in the past, and the foot says which date it filters by.

The button says which date

All time at rest; once set, the date it filters by and then the preset or the dates, with the month as a word so 9/10 can't be read two ways. On phones only the value shows, and it gives way before the search field.

A month, and its days

October 2026

MTWTFSS
DayHow it showsMarkup
TodayAn outlinetd[data-today]
Picked, one dayFilled, inversetd[data-range="single"][aria-selected]
A span's endsFilled; the band reaches in from the insidetd[data-range="start|end"]
Inside a spanThe selected band, joined across the week, rounded where it starts or stopstd[data-range="in"][data-cap]
After todayMuted, can't be pickedbutton:disabled
FocusThe ring, on one day at a timetabindex 0 on that day

On phones

The same bottom sheet as every other menu. The presets are the list (All time, Today, Last 7 days, Last 30 days, This month, Last month), then Custom…, which drills in to From and To, the last twelve months and this one in a column that scrolls, and Apply pinned to the bottom. Try it on the List page's phone frame.

Keyboard (I14)

KeysWhat they do
TabPresets, From, To, the month arrows, the calendar (one stop, on the focus day), Cancel, Apply
↑ ↓ in the presetsThe previous or next preset; Enter applies it
← → ↑ ↓A day back or on, a week back or on; the months follow
Home, EndThe week's first or last day
Page Up, Page DownA month back or on; with Shift, a year
Enter, SpacePicks the day: the first pick starts a span, the second ends it
Enter in From or ToReads the typed date: Sep 8, 2026 · 8 Sep 2026 · Sep 8 · 9/8/2026 · 2026-09-08
EscapeCloses without applying, back on the button

Rules