<kern-date-picker>
Date field with a calendar popover, form-associated. The value is an ISO date (2026-10-19); the field shows and accepts the locale's numeric format („19.10.2026“, also „19.10.“ or ISO). Typed text is applied on Enter or when leaving the field; invalid or out-of-range dates mark the field invalid.
Keyboard: Arrow Down or Alt+Arrow Down opens the calendar (keyboard as in kern-calendar), Enter or Space picks, Escape closes. Elements in the footer slot appear below the calendar; clicking one closes it.
Examples
Date field
The value is an ISO date (2026-10-19); the field shows and accepts the locale's format. Typed text is applied on Enter or when leaving the field. Arrow Down or Alt+Arrow Down opens the calendar, Enter or Space picks, Escape closes.
Limits, disabled days and footer
min and max limit the range; the isDateDisabled property adds a rule, here no weekends. Dates outside show label-out-of-range. Buttons in the footer slot appear below the calendar; clicking one closes it.
Properties
ariaLabelTextstring | undefined
Accessible name when there is no visible label.
clearableboolean
Show a button that empties the field.
disabledboolean
errorstring | undefined
firstDayOfWeeknumber | undefined
0 = Sunday … 6 = Saturday; defaults to the locale.
hintstring | undefined
isDateDisabled((iso: string) => boolean) | undefined
Additional rule for unselectable days, e.g. weekends.
labelstring | undefined
labelClearstring | undefined
labelInvalidstring | undefined
Shown for text that is not a date.
labelOpenstring | undefined
labelOutOfRangestring | undefined
Shown for a date outside min/max or disabled.
localestring | undefined
BCP 47 locale; defaults to <html lang>, then the browser language.
maxstring | undefined
Latest allowed date.
minstring | undefined
Earliest allowed date.
namestring | undefined
noImplicitSubmitboolean
Enter does not submit the surrounding form.
placeholderstring | undefined
Defaults to the locale's format, e.g. „TT.MM.JJJJ“.
readonlyboolean
requiredboolean
showWeekNumbersboolean
ISO week numbers in the calendar.
size"md" | "sm"
valuestring
ISO date YYYY-MM-DD, empty when none.
Events
kernChangeCustomEvent<{ value: string; }>
When the date changes (picked, typed and applied, or cleared).
Methods
hide()hide() => Promise<void>
Closes the calendar.
setFocus()setFocus() => Promise<void>
show()show() => Promise<void>
Opens the calendar.
Slots
footerActions below the calendar, e.g. „Heute“
CSS parts
calendarThe popover panel
controlThe field box