EEnterUI
DocsComponentsThemesDonation
Get Started
    • DatePicker
    • DateRangePicker
    • DatePresetPicker
EnterUIDocsSchedulingDate PickersDatePresetPicker
SchedulingUpdated 6 May 2026

DatePresetPicker

Date range picker with quick-pick presets for dashboard filters.

DatePresetPicker pairs the existing DateRangePicker with a row of canonical presets — Today, Yesterday, Last 7 days, Last 30 days, This month, and Custom. Use it on dashboard filters where most users pick a preset and only a few drop into custom dates.

#Default usage

Dashboard preset

Click a preset chip to switch the range; pick Custom to drop into the calendar.

From
–
To
Code
<DatePresetPicker defaultValue={{ preset: "last7" }} />

#Import

Code
import {
  DatePresetPicker,
  type DatePresetValue,
  resolvePresetRange,
} from "@froggdesign/enter-ui-react";

#Controlled

Code
const [range, setRange] = useState<DatePresetValue>({
  preset: "last30",
  ...resolvePresetRange("last30"),
});

<DatePresetPicker value={range} onValueChange={setRange} />

#Patterns

Override presets to limit or extend the list. Always include id: "custom" if you want users to pick arbitrary ranges.

Code
<DatePresetPicker
  presets={[
    { id: "today", label: "Today" },
    { id: "last7", label: "7d" },
    {
      id: "last14",
      label: "14d",
      range: (reference) => {
        const to = new Date(reference);
        const from = new Date(reference);
        from.setDate(from.getDate() - 13);
        return {
          from: from.toISOString().slice(0, 10),
          to: to.toISOString().slice(0, 10),
        };
      },
    },
    { id: "last30", label: "30d" },
    { id: "custom", label: "Custom" },
  ]}
  onValueChange={onChange}
/>

Each change emits { from, to, preset }. from / to are ISO date strings (YYYY-MM-DD) matching the format used by DateRangePicker.

#Accessibility

The preset row is rendered as a labelled role="group" of toggle buttons with aria-pressed. The custom range delegates to DateRangePicker, which keeps native <input type="date"> semantics.

#API

  • value, defaultValue, onValueChange, presets, referenceDate, disabled, invalid, presetGroupLabel.
  • Helper export: resolvePresetRange(presetId, referenceDate?) returns { from, to } for a given preset id.

#Styling

Every exported component accepts className. EnterUI styles use .eui-* classes and --eui-* variables mapped from FroggDesign theme tokens.

PreviousDateRangePicker
NextCalendar

On this page

  1. Default usage
  2. Import
  3. Controlled
  4. Patterns
  5. Accessibility
  6. API
  7. Styling