Skip to main content

Date picker (presets)

A popover date picker combining a preset Select (Today, Tomorrow, +3 days, +1 week) with a Calendar.

import DatePickerWithPresets from '@rtorcato/shadcn-ui/components/ui-extended/date-picker-with-presets'

Usage

Uncontrolled (manages its own state):

<DatePickerWithPresets defaultValue={new Date()} onChange={(date) => console.log(date)} />

Controlled:

const [date, setDate] = useState<Date>()
<DatePickerWithPresets value={date} onChange={setDate} />

Custom presets (offsets in days from today):

<DatePickerWithPresets
presets={[
{ label: 'Today', days: 0 },
{ label: 'In 2 weeks', days: 14 },
]}
/>

Props

PropTypeDefaultDescription
valueDateControlled selected date. Omit for uncontrolled usage.
onChange(date?: Date) => voidCalled when the date changes via a preset or the calendar.
defaultValueDateInitial date when uncontrolled.
presets{ label: string; days: number }[]Today / Tomorrow / +3 days / +1 weekPreset options, relative to today.
classNamestringClass applied to the trigger button.