sheengemologic ui
All components

DatePicker

A typed date input with a responsive calendar mounted in the nearest theme portal.@gemologic/sheen-date · date and time

Playground

This example has no scalar controls. Its validated source remains interactive below.
<DatePicker label="Settlement date" name="settlesAt" defaultValue={createCalendarDate(2026, 9, 10)} defaultVisibleDate={createCalendarDate(2026, 9, 1)} />

Variant matrix

Settlement date

Anatomy

Package
@gemologic/sheen-date
Source
packages/date/src/DatePicker.tsx
Tokens
  • --sheen-color-bg-raised
  • --sheen-color-border-control
  • --sheen-color-focus-ring

Accessibility

Role: textbox and calendar dialogKeyboard: Tab, Enter, Space, Escape, Arrow keys, PageUp, PageDown, Home, End

Do

  • Keep the picker inside ThemeProvider so its overlay inherits the effective scope.

Do not

  • Do not replace accepted content while date constraints refresh.

Generated props

NameTypeDefaultDescription
valueCalendarDate | null—App-owned Sheen CalendarDate, or null.
defaultValueCalendarDate | null—Initial uncontrolled value.
onValueChange(value: CalendarDate | null) => void—Receives complete valid dates and clearing.
presetsreadonly DatePreset[]—Deterministic labeled Sheen date shortcuts.
label *string—Required visible field label.
minValueCalendarDate—Earliest selectable date.
maxValueCalendarDate—Latest selectable date.
isDateUnavailable(value: CalendarDate) => boolean—Marks dates unavailable with a Sheen value callback.
defaultVisibleDateCalendarDate—Deterministic initially visible month.
localestring—Explicit BCP 47 locale, defaulting to theme context.
calendarstring—Optional presentation calendar identifier.
namestring—Native form name for YYYY-MM-DD.
formstring—Optional external form owner.
descriptionstring—Associated instructions.
errorstring—Associated app validation error.
placeholderstring—Text input placeholder.
requiredbooleanfalseMarks the picker required.
disabledbooleanfalseDisables input, trigger, and projection.
readOnlybooleanfalseAllows inspection while rejecting changes.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.