Date picker

Picks a single date from a field that opens a calendar.

Refined portVue source: WildDatePicker.vueStorybook story: Forms/Date PickerReact component: WDatePicker

Try it

Click the field, or focus it and press Enter, to open the calendar. Turn on Min / max to limit it to 30 days.

Reading date
Stored as 2026-04-20
Size
Min / max
Error
Disabled
<WildDatePicker
  v-model="date"
  size="sm"
/>

When to use

  • Use it to pick one day, such as the date of a reading.
  • Set minDate and maxDate when only some days are valid. Days outside stay in place and can’t be picked.
Don’t use it

Anatomy

A trigger and a panel. The trigger uses the text input’s frame, and the panel is the calendar.

empty
holding a date

Sizes

Two heights, 36 and 44px, the same as the text input. The default is sm.

sm · 36
lg · 44

States

rest
error
disabled
Put the error message in the form field under the picker. The picker only turns red.

Accessibility

Opening the calendar moves focus to the chosen day, or to today. Closing it returns focus to the field.

KeyWhat it does
Enter / Space / ↓On the field, opens the calendar.
Backspace / DeleteOn the field, clears the date.
Arrow keysMove a day or a week, into the next or previous month.
Home / EndMove to the start or end of the week.
Page Up / Page DownMove a month. With Shift, a year.
Enter / SpaceOn a day, picks it and closes the calendar.
EscapeCloses the calendar without picking.

Props

PropTypeDefaultDescription
value / defaultValuestring''The date as ISO 8601, controlled or uncontrolled.
onChange(value: string) => void—Fires with the ISO string, keeping any time part.
size'sm' | 'lg''sm'36 or 44px.
minDate / maxDateDate | string | nullnullThe first and last days that can be picked.
errorstring''Any non-empty text turns the frame red.
disabledbooleanfalseBlocks the field and the calendar.
placeholderstring'Select date'Shown while empty. Also the field’s name.
widthnumber | string220Field width.

Tokens

TokenValueWhere it lands
--radius-field10pxThe field.
--global-blue-1000#1877F2Field on focus and while open.
--color-error / -light#E12121 / #FFE3E3Error border and ground.
--global-neutral-grey-900#7F7D83Calendar icon; blue-1000 on focus.
--shadow-lg0 10px 15px -3px …The open calendar.
--z-index-dropdown100The open calendar.
(no token)4pxGap between field and calendar.