Date range picker

A start→end range picker with presets, on the CDK overlay.

Selected range

Value:

API reference

Inputs

PropTypeDefaultDescription
monthsnumber2Month grids shown side by side in the popover.
minDatestring''Earliest selectable date (`yyyy-mm-dd`).
maxDatestring''Latest selectable date (`yyyy-mm-dd`).
placeholderstringText shown on the trigger when nothing is selected. Falls back to `provideBuiLabels`.
presetsDateRangePreset[] | nullnullQuick-pick shortcuts. Pass `[]` to hide them; omit for a sensible default set.
aria-labelstring''Accessible name applied to the trigger.
localestringBCP 47 locale for the trigger text and the calendar. Defaults to the app's `LOCALE_ID`.
dateFormatIntl.DateTimeFormatOptionsDEFAULT_DATE_FORMAT`Intl.DateTimeFormat` options for the trigger text. Replaces the default wholesale, so `{ dateStyle: 'short' }` renders `16/07/2026` in `fr` (options cannot be mixed with it).

Two-way models

Bind with [(name)], or one-way as an input.

PropTypeDefaultDescription
valueCalendarRange{ start: '', end: '' }Selected range as `yyyy-mm-dd` bounds. Two-way bindable with `[(value)]`.
disabledbooleanfalseWhether the picker is disabled. Two-way bindable with `[(disabled)]`.

Types

CalendarRange

FieldTypeDescription
startstringStart date of the range, as `yyyy-mm-dd`.
endstringEnd date of the range, as `yyyy-mm-dd`.

DateRangePreset — A named shortcut shown beside the calendar, e.g. "Last 7 days".

FieldTypeDescription
labelstringText shown for the shortcut.
rangeCalendarRangeThe range it applies, as `yyyy-mm-dd` bounds.

Every ng-blatui component also accepts a class input to merge extra Tailwind classes onto the host.