

+5A date picker is a calendar rendered as an input: a grid of days a reader clicks instead of typing, with today, the picked day and the unavailable days each drawn differently. Orvain's Date Picker family covers five of them, the picker on its own, a range picker with a preset rail and two months side by side, a form field that also shows what the chosen day already holds, a booking card pairing a month of availability with that day's slots, and a week strip over the day's schedule.
The grid is the easy half. What breaks a date field is everything around it: people paste dates in formats the parser was never shown, a range whose end falls before its start has to be caught without discarding the pick, and a calendar date is not an instant, store one as a timestamp and a colleague five timezones away reads the day before. Decide early whether the value is a day on a wall calendar or a moment in time, because the two need different storage.
Best for
A day's plan under a week strip: dashboards, team pages, anything that opens on today
Anatomy
Month and event-count overline over the day title · week steppers and menu · a week tray with a sliding date circle and event dots · the day's events as rows (organiser, time, start pill or countdown) that open to the Join pill, copy link and the avatar group
January 2026 · 3 events
The project meeting is to arrive at decisions that result in completed projects.
Cara walks through the new token pipeline.
Goals for the quarter and feedback on the release.
Best for
A to-do list for the day under a week strip: habit trackers, personal dashboards, daily plans
Anatomy
Two cards · month and done-count overline over the day title · week steppers and menu · a week tray with a sliding date circle and a progress bar under each date · a dark segmented control (To do / Completed / Later, with counts) · groups that fold, each task a checkbox, icon and label that strikes through and slides into Completed · Later and Move back on hover
December 2025 · 2 of 7 done
Best for
Scheduling pages: a host, a month of availability and the day's times, one step at a time
Anatomy
Host · 15 / 30 / 45 min length switch and time-zone menu · three-dash step marker · Next free chip · month in a soft panel, bookable days tinted, few-left dots · folds into the picked day with Change · times as pills, three per row · optional note · summary bar that turns brand-tint with Confirm · booked ticket with Reschedule and Add to calendar
Aria ParkProduct strategy · intro callStep 2 of 3 · Pick a time
Pick a time on Mon 9 Feb
Best for
Picking a date in a form while seeing what that day already holds, drawn to scale
Anatomy
Label with required mark · the month open in the card, today ringed, the pick a flat brand fill, a dot per event · Today / Tomorrow / In N days over the date and the count · the day to scale: faint hours, a dotted line where each event is a thick stretch in its colour, kind, time, title and faces beside it, free time labelled on the line, a red Now line on today with the past faded · ⋮ (Duplicate / Delete) on hover · Add an event row
June 2026
Today
2 events
Meeting10:10 – 10:20 AM
Meeting with the boss


+5Review2:00 – 3:00 PM
Design review



Best for
The picker on its own, with quick picks for the usual days: a popover for a field, a filter, a form step
Anatomy
Quick picks rail (Today, Tomorrow, Next Monday, In a week, In a month, End of month, each with its day; a wrapping row above the month on phones) · month name that opens a month view · borderless arrows · Monday-first grid of circles: today ringed, the pick a flat brand fill, dots for days that hold something · Selected and the day in words, Cancel and Save (enabled once the pick changes)
Quick picks
SelectedMon, 9 Feb 2026
Best for
Reports and filters: presets for the common spans, two months for everything else
Anatomy
Preset rail that lights the preset matching the range · two months side by side, each showing only its own days · the rgba brand band with pill ends, a lighter band to an outlined end while the end is chosen · read-out with the day count and Reset / Cancel / flat Save, enabled once the range changes
February 2026
March 2026
Range: Feb 16, 2026 — Mar 7, 2026 · 20 days
A scheduling page shows the host, the month with unavailable days dimmed, and the slots for whichever day is picked. The footer reads back the date, time and timezone before anything is confirmed.
Analytics filters where most readers want a named span and a few want an exact one. Presets answer the common case in a click; the two-month grid is there for the quarter that ended on a Tuesday.
A due-date field in an issue form, with dots on the days that already carry work. The picker doubles as a load check, so a deadline lands on a quiet day rather than the busiest one.
A dashboard that opens on today: a strip of seven day cards with dots for what each holds, and the picked day's agenda underneath. Stepping a week is one button, not a month grid.
The month holding the current value, so the reader sees their own choice in context rather than having to find it again. With an empty field, open on the current month and put the focus ring on today. When a minimum date rules out today, such as a booking that needs two days' notice, open on the first month that contains a selectable day.
Treat the month as a grid rather than a list of buttons. Arrow keys move one day, up and down move one week, Page Up and Page Down change month, and Home and End jump to the ends of the week. The whole grid is a single tab stop, with the focused day carrying the only tabindex, so nobody tabs through a month of cells to reach Save.
Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.
A date picker is a calendar rendered as an input: a grid of days a reader clicks instead of typing, with today, the picked day and the unavailable days each drawn differently. Orvain's Date Picker family covers five of them, the picker on its own, a range picker with a preset rail and two months side by side, a form field that also shows what the chosen day already holds, a booking card pairing a month of availability with that day's slots, and a week strip over the day's schedule.
The grid is the easy half. What breaks a date field is everything around it: people paste dates in formats the parser was never shown, a range whose end falls before its start has to be caught without discarding the pick, and a calendar date is not an instant, store one as a timestamp and a colleague five timezones away reads the day before. Decide early whether the value is a day on a wall calendar or a moment in time, because the two need different storage.
Best for
A day's plan under a week strip: dashboards, team pages, anything that opens on today
Anatomy
Month and event-count overline over the day title · week steppers and menu · a week tray with a sliding date circle and event dots · the day's events as rows (organiser, time, start pill or countdown) that open to the Join pill, copy link and the avatar group
January 2026 · 3 events
The project meeting is to arrive at decisions that result in completed projects.
Cara walks through the new token pipeline.
Goals for the quarter and feedback on the release.
Best for
A to-do list for the day under a week strip: habit trackers, personal dashboards, daily plans
Anatomy
Two cards · month and done-count overline over the day title · week steppers and menu · a week tray with a sliding date circle and a progress bar under each date · a dark segmented control (To do / Completed / Later, with counts) · groups that fold, each task a checkbox, icon and label that strikes through and slides into Completed · Later and Move back on hover
December 2025 · 2 of 7 done
Best for
Scheduling pages: a host, a month of availability and the day's times, one step at a time
Anatomy
Host · 15 / 30 / 45 min length switch and time-zone menu · three-dash step marker · Next free chip · month in a soft panel, bookable days tinted, few-left dots · folds into the picked day with Change · times as pills, three per row · optional note · summary bar that turns brand-tint with Confirm · booked ticket with Reschedule and Add to calendar
Aria ParkProduct strategy · intro callStep 2 of 3 · Pick a time
Pick a time on Mon 9 Feb
Best for
Picking a date in a form while seeing what that day already holds, drawn to scale
Anatomy
Label with required mark · the month open in the card, today ringed, the pick a flat brand fill, a dot per event · Today / Tomorrow / In N days over the date and the count · the day to scale: faint hours, a dotted line where each event is a thick stretch in its colour, kind, time, title and faces beside it, free time labelled on the line, a red Now line on today with the past faded · ⋮ (Duplicate / Delete) on hover · Add an event row
June 2026
Today
2 events
Meeting10:10 – 10:20 AM
Meeting with the boss


+5Review2:00 – 3:00 PM
Design review



Best for
The picker on its own, with quick picks for the usual days: a popover for a field, a filter, a form step
Anatomy
Quick picks rail (Today, Tomorrow, Next Monday, In a week, In a month, End of month, each with its day; a wrapping row above the month on phones) · month name that opens a month view · borderless arrows · Monday-first grid of circles: today ringed, the pick a flat brand fill, dots for days that hold something · Selected and the day in words, Cancel and Save (enabled once the pick changes)
Quick picks
SelectedMon, 9 Feb 2026
Best for
Reports and filters: presets for the common spans, two months for everything else
Anatomy
Preset rail that lights the preset matching the range · two months side by side, each showing only its own days · the rgba brand band with pill ends, a lighter band to an outlined end while the end is chosen · read-out with the day count and Reset / Cancel / flat Save, enabled once the range changes
February 2026
March 2026
Range: Feb 16, 2026 — Mar 7, 2026 · 20 days
A scheduling page shows the host, the month with unavailable days dimmed, and the slots for whichever day is picked. The footer reads back the date, time and timezone before anything is confirmed.
Analytics filters where most readers want a named span and a few want an exact one. Presets answer the common case in a click; the two-month grid is there for the quarter that ended on a Tuesday.
A due-date field in an issue form, with dots on the days that already carry work. The picker doubles as a load check, so a deadline lands on a quiet day rather than the busiest one.
A dashboard that opens on today: a strip of seven day cards with dots for what each holds, and the picked day's agenda underneath. Stepping a week is one button, not a month grid.
The month holding the current value, so the reader sees their own choice in context rather than having to find it again. With an empty field, open on the current month and put the focus ring on today. When a minimum date rules out today, such as a booking that needs two days' notice, open on the first month that contains a selectable day.
Treat the month as a grid rather than a list of buttons. Arrow keys move one day, up and down move one week, Page Up and Page Down change month, and Home and End jump to the ends of the week. The whole grid is a single tab stop, with the focused day carrying the only tabindex, so nobody tabs through a month of cells to reach Save.
Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.