RangeCalendar
Overview
A full-featured date range calendar built on RangeCalendarRoot. Supports range selection with configurable date constraints and navigation.
Theme entry: RangeCalendar
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| iconOverride | Object | null | A partial icon registry ({ [componentName]: { [iconName]: { component, props } } }) merged with inherited and default icon entries; scopes icon overrides to this component and its descendants. | |
| themeOverride | String|Object|Array | null | A partial theme object merged with the component's default theme; accepts a class string, class array, or theme object. | |
| class | string|array|object | undefined | Additional CSS classes to apply to the calendar root. | |
| modelValue | object | undefined | The currently selected date range (use with v-model). | |
| defaultValue | object | undefined | The default selected date range. | |
| placeholder | object | undefined | The current placeholder date (use with v-model:placeholder). | |
| defaultPlaceholder | object | undefined | The default placeholder date shown when no date is selected. | |
| locale | string | undefined | The locale string used for date formatting. | |
| minValue | object | undefined | The minimum selectable date value. | |
| maxValue | object | undefined | The maximum selectable date value. | |
| fixedWeeks | boolean | undefined | Whether to always display a fixed number of weeks. | |
| isDateDisabled | func | undefined | A function that returns true for dates that should be disabled. | |
| isDateUnavailable | func | undefined | A function that returns true for dates that are unavailable. | |
| numberOfMonths | number | undefined | The number of months to display at once. | |
| pagedNavigation | boolean | undefined | Whether to use paged navigation (advance by numberOfMonths at a time). | |
| preventDeselect | boolean | undefined | Whether to prevent deselecting an already-selected date. | |
| weekStartsOn | number | undefined | The day of the week the calendar starts on (0 = Sunday). | |
| weekdayFormat | string | undefined | The format of weekday labels: "narrow", "short", or "long". | |
| calendarLabel | string | undefined | An accessible label for the calendar. | |
| disabled | boolean | undefined | Whether the calendar is disabled. | |
| readonly | boolean | undefined | Whether the calendar is read-only. | |
| initialFocus | boolean | undefined | Whether to focus the calendar on mount. | |
| dir | string | undefined | The reading direction. | |
| as | string|object | undefined | The HTML element or component to render as. | |
| asChild | boolean | undefined | Whether to render as a child element. |
Events
| Name | Description |
|---|---|
update:modelValue | Emitted when the value changes. |
update:placeholder | Emitted when the placeholder date changes. |
Source
client/lib/controls/range-calendar/RangeCalendar.vue