Date Range Picker
Facilitates the selection of date ranges through an input and calendar-based interface.
Structure
API Reference
The root date picker component.
Property | Type | Description |
---|---|---|
value bindable prop | DateRange | The selected date range. Default: undefined |
onValueChange | function | A function that is called when the selected date changes. Default: undefined |
readonlySegments | array | An array of segments that should be readonly, which prevent user input on them. Default: undefined |
isDateUnavailable | function | A function that returns whether or not a date is unavailable. Default: undefined |
minValue | DateValue | The minimum valid date that can be entered. Default: undefined |
maxValue | DateValue | The maximum valid date that can be entered. Default: undefined |
granularity | enum | The granularity to use for formatting the field. Defaults to Default: undefined |
hideTimeZone | boolean | Whether or not to hide the time zone segment of the field. Default: false |
hourCycle | enum | The hour cycle to use for formatting times. Defaults to the locale preference Default: undefined |
locale | string | The locale to use for formatting dates. Default: 'en-US' |
disabled | boolean | Whether or not the accordion is disabled. Default: false |
readonly | boolean | Whether or not the field is readonly. Default: false |
required | boolean | Whether or not the date field is required. Default: false |
placeholder bindable prop | DateValue | The placeholder date, which is used to determine what date to start the segments from when no value exists. Default: undefined |
onPlaceholderChange | function | A function that is called when the placeholder date changes. Default: undefined |
closeOnRangeSelect | boolean | Whether or not to close the popover when a date range is selected. Default: true |
disableDaysOutsideMonth | boolean | Whether or not to disable days outside the current month. Default: false |
pagedNavigation | boolean | Whether or not to use paged navigation for the calendar. Paged navigation causes the previous and next buttons to navigate by the number of months displayed at once, rather than by one month. Default: false |
preventDeselect | boolean | Whether or not to prevent the user from deselecting a date without selecting another date first. Default: false |
weekdayFormat | enum | The format to use for the weekday strings provided via the Default: 'narrow' |
weekStartsOn | number | The day of the week to start the calendar on. 0 is Sunday, 1 is Monday, etc. Default: 0 |
calendarLabel | string | The accessible label for the calendar. Default: undefined |
fixedWeeks | boolean | Whether or not to always display 6 weeks in the calendar. Default: false |
isDateDisabled | function | A function that returns whether or not a date is disabled. Default: undefined |
numberOfMonths | number | The number of months to display at once. Default: 1 |
open bindable prop | boolean | The open state of the popover content. Default: false |
onOpenChange | function | A callback that fires when the open state changes. Default: undefined |
onEndValueChange | function | A function that is called when the end date changes. Default: undefined |
onStartValueChange | function | A function that is called when the start date changes. Default: undefined |
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-invalid | —— | Present on the root element when the calendar is invalid. |
data-disabled | —— | Present on the root element when the calendar is disabled. |
data-readonly | —— | Present on the root element when the calendar is readonly. |
data-calendar-root | —— | Present on the root element. |
The label for the date field.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLSpanElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-invalid | —— | Present on the element when the field is invalid |
data-date-field-label | —— | Present on the element. |
The field input component which contains the segments of the date field.
Property | Type | Description |
---|---|---|
name | string | The name of the input field used for form submission. If provided a hidden input will be rendered alongside the field. Default: undefined |
type | enum | The part of the date this input represents. Default: undefined |
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-invalid | —— | Present on the element when the field is invalid. |
data-disabled | —— | Present on the element when the field is disabled. |
data-date-field-input | —— | Present on the element. |
A segment of the date field.
Property | Type | Description |
---|---|---|
part Required | SegmentPart | The part of the date to render. Default: undefined |
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLSpanElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-invalid | —— | Present on the element when the field is invalid |
data-disabled | —— | Present on the element when the field is disabled |
data-segment | enum | The type of segment the element represents. |
data-date-field-segment | —— | Present on the element. |
A component which toggles the opening and closing of the popover on press.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-state | enum | The open state of the link preview. |
data-popover-trigger | —— | Present on the trigger element. |
The contents of the popover which are displayed when the popover is open.
Property | Type | Description |
---|---|---|
side | enum | The preferred side of the anchor to render the floating element against when open. Will be reversed when collisions occur. Default: bottom |
sideOffset | number | The distance in pixels from the anchor to the floating element. Default: 0 |
align | enum | The preferred alignment of the anchor to render the floating element against when open. This may change when collisions occur. Default: start |
alignOffset | number | The distance in pixels from the anchor to the floating element. Default: 0 |
arrowPadding | number | The amount in pixels of virtual padding around the viewport edges to check for overflow which will cause a collision. Default: 0 |
avoidCollisions | boolean | When Default: true |
collisionBoundary | union | A boundary element or array of elements to check for collisions against. Default: undefined |
collisionPadding | union | The amount in pixels of virtual padding around the viewport edges to check for overflow which will cause a collision. Default: 0 |
sticky | enum | The sticky behavior on the align axis. Default: partial |
hideWhenDetached | boolean | When Default: true |
updatePositionStrategy | enum | The strategy to use when updating the position of the content. When Default: optimized |
strategy | enum | The positioning strategy to use for the floating element. When Default: fixed |
preventScroll | boolean | When Default: true |
onInteractOutside | function | Callback fired when an outside interaction event completes, which is either a Default: undefined |
onInteractOutsideStart | function | Callback fired when an outside interaction event starts, which is either a Default: undefined |
onFocusOutside | function | Callback fired when focus leaves the dismissable layer. You can call Default: undefined |
interactOutsideBehavior | enum | The behavior to use when an interaction occurs outside of the floating content. Default: close |
onEscapeKeydown | function | Callback fired when an escape keydown event occurs in the floating content. You can call Default: undefined |
escapeKeydownBehavior | enum | The behavior to use when an escape keydown event occurs in the floating content. Default: close |
onMountAutoFocus | function | Event handler called when auto-focusing the content as it is mounted. Can be prevented. Default: undefined |
onDestroyAutoFocus | function | Event handler called when auto-focusing the content as it is destroyed. Can be prevented. Default: undefined |
preventOverflowTextSelection | boolean | When Default: true |
forceMount | boolean | Whether or not to forcefully mount the content. This is useful if you want to use Svelte transitions or another animnation library for the content. Default: false |
dir | enum | The reading direction of the app. Default: ltr |
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-state | enum | The open state of the popover. |
data-popover-content | —— | Present on the content element. |
The calendar component containing the grids of dates.
Data Attribute | Value | Description |
---|---|---|
data-invalid | —— | Present on the root element when the calendar is invalid. |
data-disabled | —— | Present on the root element when the calendar is disabled. |
data-readonly | —— | Present on the root element when the calendar is readonly. |
data-calendar-root | —— | Present on the root element. |
The header of the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-header | —— | Present on the header element. |
The previous button of the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-prev-button | —— | Present on the prev button element. |
The heading of the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-heading | —— | Present on the heading element. |
The next button of the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLButtonElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-next-button | —— | Present on the next button element. |
The grid of dates in the calendar, typically representing a month.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-grid | —— | Present on the grid element. |
A row in the grid of dates in the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableRowElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-grid-row | —— | Present on the grid row element. |
The head of the grid of dates in the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableSectionElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-grid-head | —— | Present on the grid head element. |
A cell in the head of the grid of dates in the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableCellElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-head-cell | —— | Present on the head cell element. |
The body of the grid of dates in the calendar.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableSectionElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-calendar-grid-body | —— | Present on the grid body element. |
A cell in the calendar grid.
Property | Type | Description |
---|---|---|
date | DateValue | The date for the cell. Default: undefined |
month | DateValue | The current month the date is being displayed in. Default: undefined |
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLTableCellElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-disabled | —— | Present on the element when the date is disabled. |
data-calendar-cell | —— | Present on the cell element. |
A day in the calendar grid.
Property | Type | Description |
---|---|---|
child | Snippet | Use render delegation to render your own element. See render delegation for more information. Default: undefined |
children | Snippet | The children content to render. Default: undefined |
ref | HTMLDivElement | The underlying DOM element being rendered. You can bind to this to get a reference to the element. Default: undefined |
Data Attribute | Value | Description |
---|---|---|
data-disabled | —— | Present on the element when the date is disabled. |
data-selected | —— | Present on the element when the date is selected. |
data-unavailable | —— | Present on the element when the date is unavailable. |
data-value | —— | The date in the format "YYYY-MM-DD". |
data-today | —— | Present on the element when the date is today. |
data-outside-month | —— | Present on the element when the date is outside the current month. |
data-outside-visible-months | —— | Present on the element when the date is outside the visible months. |
data-focused | —— | Present on the element when the date is focused. |
data-calendar-day | —— | Present on the day element. |