react-day-picker 8.4.1 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +123 -70
- package/dist/index.esm.js +14 -50
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +122 -158
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -0
- package/dist/index.min.js.map +1 -0
- package/dist/style.css +2 -1
- package/dist/style.css.d.ts +38 -37
- package/dist/style.css.map +1 -0
- package/dist/style.module.css +0 -1
- package/dist/style.module.css.d.ts +38 -37
- package/package.json +34 -32
- package/src/DayPicker.tsx +1 -1
- package/src/components/Caption/Caption.test.tsx +2 -2
- package/src/components/CaptionDropdowns/CaptionDropdowns.test.tsx +7 -6
- package/src/components/CaptionLabel/CaptionLabel.test.tsx +1 -1
- package/src/components/CaptionLabel/CaptionLabel.tsx +3 -3
- package/src/components/CaptionNavigation/CaptionNavigation.test.tsx +11 -10
- package/src/components/CaptionNavigation/CaptionNavigation.tsx +1 -1
- package/src/components/Day/Day.test.tsx +15 -16
- package/src/components/Day/Day.tsx +1 -1
- package/src/components/DayContent/DayContent.test.tsx +1 -1
- package/src/components/Footer/Footer.test.tsx +1 -1
- package/src/components/HeadRow/HeadRow.test.tsx +1 -20
- package/src/components/HeadRow/HeadRow.tsx +2 -6
- package/src/components/HeadRow/utils/getWeekdays.test.ts +1 -1
- package/src/components/HeadRow/utils/getWeekdays.ts +1 -5
- package/src/components/Month/Month.test.tsx +1 -1
- package/src/components/MonthsDropdown/MonthsDropdown.test.tsx +3 -2
- package/src/components/MonthsDropdown/MonthsDropdown.tsx +1 -3
- package/src/components/Navigation/Navigation.test.tsx +10 -9
- package/src/components/Root/Root.test.tsx +2 -3
- package/src/components/Row/Row.tsx +2 -1
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Table/__snapshots__/Table.test.tsx.snap +219 -210
- package/src/components/Table/utils/daysToMonthWeeks.ts +11 -10
- package/src/components/Table/utils/getMonthWeeks.ts +7 -6
- package/src/components/YearsDropdown/YearsDropdown.test.tsx +3 -2
- package/src/components/YearsDropdown/YearsDropdown.tsx +1 -3
- package/src/contexts/DayPicker/DayPickerContext.test.ts +55 -138
- package/src/contexts/DayPicker/defaultContextValues.ts +1 -1
- package/src/contexts/DayPicker/formatters/formatCaption.test.ts +1 -1
- package/src/contexts/DayPicker/formatters/formatCaption.ts +1 -2
- package/src/contexts/DayPicker/formatters/formatDay.ts +1 -1
- package/src/contexts/DayPicker/formatters/formatMonthCaption.test.ts +1 -1
- package/src/contexts/DayPicker/formatters/formatMonthCaption.ts +1 -1
- package/src/contexts/DayPicker/formatters/formatWeekdayName.test.ts +3 -3
- package/src/contexts/DayPicker/formatters/formatWeekdayName.ts +2 -2
- package/src/contexts/DayPicker/formatters/formatYearCaption.ts +1 -1
- package/src/contexts/DayPicker/labels/labelDay.ts +1 -1
- package/src/contexts/DayPicker/labels/labelWeekday.test.ts +1 -1
- package/src/contexts/DayPicker/labels/labelWeekday.ts +1 -1
- package/src/contexts/DayPicker/utils/parseFromToProps.ts +1 -3
- package/src/contexts/Focus/FocusContext.test.ts +35 -62
- package/src/contexts/Focus/FocusContext.tsx +1 -1
- package/src/contexts/Focus/utils/getInitialFocusTarget.ts +1 -3
- package/src/contexts/Focus/utils/getNextFocus.ts +12 -10
- package/src/contexts/Modifiers/ModifiersContext.test.ts +8 -14
- package/src/contexts/Modifiers/utils/getActiveModifiers.ts +1 -1
- package/src/contexts/Modifiers/utils/isDateInRange.ts +1 -2
- package/src/contexts/Modifiers/utils/isMatch.ts +1 -4
- package/src/contexts/Navigation/NavigationContext.test.ts +12 -17
- package/src/contexts/Navigation/NavigationContext.tsx +1 -3
- package/src/contexts/Navigation/useNavigationState.test.ts +9 -16
- package/src/contexts/Navigation/useNavigationState.ts +6 -4
- package/src/contexts/Navigation/utils/getDisplayMonths.ts +1 -3
- package/src/contexts/Navigation/utils/getInitialMonth.ts +1 -3
- package/src/contexts/Navigation/utils/getNextMonth.ts +1 -3
- package/src/contexts/Navigation/utils/getPreviousMonth.ts +1 -3
- package/src/contexts/SelectMultiple/SelectMultipleContext.test.ts +15 -20
- package/src/contexts/SelectMultiple/SelectMultipleContext.tsx +1 -1
- package/src/contexts/SelectRange/SelectRangeContext.test.ts +23 -29
- package/src/contexts/SelectRange/SelectRangeContext.tsx +6 -4
- package/src/contexts/SelectRange/utils/addToRange.ts +1 -3
- package/src/contexts/SelectSingle/SelectSingleContext.test.ts +18 -15
- package/src/hooks/useActiveModifiers/useActiveModifiers.test.tsx +9 -16
- package/src/hooks/useControlledValue/useControlledValue.test.ts +16 -39
- package/src/hooks/useDayEventHandlers/useDayEventHandlers.test.tsx +18 -78
- package/src/hooks/useDayRender/useDayRender.test.tsx +68 -95
- package/src/hooks/useDayRender/useDayRender.tsx +5 -8
- package/src/hooks/useInput/useInput.ts +2 -4
- package/src/hooks/useSelectedDays/useSelectedDays.test.ts +15 -45
- package/src/index.ts +1 -0
- package/src/style.css +0 -1
- package/src/style.css.d.ts +37 -36
- package/src/types/Labels.ts +1 -0
- package/dist/index.esm.d.ts +0 -1175
- package/dist/react-day-picker.min.js +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types/DayPickerMultiple.ts","../src/types/DayPickerRange.ts","../src/types/DayPickerSingle.ts","../src/contexts/DayPicker/defaultClassNames.ts","../src/contexts/DayPicker/formatters/formatCaption.ts","../src/contexts/DayPicker/formatters/formatDay.ts","../src/contexts/DayPicker/formatters/formatMonthCaption.ts","../src/contexts/DayPicker/formatters/formatWeekNumber.ts","../src/contexts/DayPicker/formatters/formatWeekdayName.ts","../src/contexts/DayPicker/formatters/formatYearCaption.ts","../src/contexts/DayPicker/labels/labelDay.ts","../src/contexts/DayPicker/labels/labelMonthDropdown.ts","../src/contexts/DayPicker/labels/labelNext.ts","../src/contexts/DayPicker/labels/labelPrevious.ts","../src/contexts/DayPicker/labels/labelWeekday.ts","../src/contexts/DayPicker/labels/labelWeekNumber.ts","../src/contexts/DayPicker/labels/labelYearDropdown.ts","../src/contexts/DayPicker/defaultContextValues.ts","../src/contexts/DayPicker/utils/parseFromToProps.ts","../src/contexts/DayPicker/DayPickerContext.tsx","../src/components/CaptionLabel/CaptionLabel.tsx","../src/components/IconDropdown/IconDropdown.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/MonthsDropdown/MonthsDropdown.tsx","../src/components/YearsDropdown/YearsDropdown.tsx","../src/hooks/useControlledValue/useControlledValue.ts","../src/contexts/Navigation/utils/getInitialMonth.ts","../src/contexts/Navigation/useNavigationState.ts","../src/contexts/Navigation/utils/getDisplayMonths.ts","../src/contexts/Navigation/utils/getNextMonth.ts","../src/contexts/Navigation/utils/getPreviousMonth.ts","../src/contexts/Navigation/NavigationContext.tsx","../src/components/CaptionDropdowns/CaptionDropdowns.tsx","../src/components/IconLeft/IconLeft.tsx","../src/components/IconRight/IconRight.tsx","../src/components/Button/Button.tsx","../src/components/Navigation/Navigation.tsx","../src/components/CaptionNavigation/CaptionNavigation.tsx","../src/components/Caption/Caption.tsx","../src/components/Footer/Footer.tsx","../src/components/HeadRow/utils/getWeekdays.ts","../src/components/HeadRow/HeadRow.tsx","../src/components/Head/Head.tsx","../src/components/DayContent/DayContent.tsx","../src/contexts/SelectMultiple/SelectMultipleContext.tsx","../src/contexts/SelectRange/utils/addToRange.ts","../src/contexts/SelectRange/SelectRangeContext.tsx","../src/contexts/Modifiers/utils/matcherToArray.ts","../src/contexts/Modifiers/utils/getCustomModifiers.ts","../src/types/Modifiers.ts","../src/contexts/Modifiers/utils/getInternalModifiers.ts","../src/contexts/Modifiers/ModifiersContext.tsx","../src/types/Matchers.ts","../src/contexts/Modifiers/utils/isDateInRange.ts","../src/contexts/Modifiers/utils/isMatch.ts","../src/contexts/Modifiers/utils/getActiveModifiers.ts","../src/contexts/Focus/utils/getInitialFocusTarget.ts","../src/contexts/Focus/utils/getNextFocus.ts","../src/contexts/Focus/FocusContext.tsx","../src/hooks/useActiveModifiers/useActiveModifiers.tsx","../src/contexts/SelectSingle/SelectSingleContext.tsx","../src/hooks/useDayEventHandlers/useDayEventHandlers.tsx","../src/hooks/useSelectedDays/useSelectedDays.ts","../src/hooks/useDayRender/utils/getDayClassNames.ts","../src/hooks/useDayRender/utils/getDayStyle.ts","../src/hooks/useDayRender/useDayRender.tsx","../src/components/Day/Day.tsx","../src/components/WeekNumber/WeekNumber.tsx","../src/components/Row/Row.tsx","../src/components/Table/utils/daysToMonthWeeks.ts","../src/components/Table/utils/getMonthWeeks.ts","../src/components/Table/Table.tsx","../src/hooks/useId/useId.ts","../src/components/Month/Month.tsx","../src/components/Root/Root.tsx","../src/contexts/RootProvider.tsx","../src/DayPicker.tsx","../src/hooks/useInput/utils/isValidDate.tsx","../src/hooks/useInput/useInput.ts","../src/types/DayPickerDefault.ts"],"sourcesContent":["import { DayPickerProps } from 'DayPicker';\n\nimport { DayPickerContextValue } from 'contexts/DayPicker';\n\nimport { DayPickerBase } from './DayPickerBase';\nimport { SelectMultipleEventHandler } from './EventHandlers';\n\n/** The props for the {@link DayPicker} component when using `mode=\"multiple\"`. */\nexport interface DayPickerMultipleProps extends DayPickerBase {\n mode: 'multiple';\n /** The selected days. */\n selected?: Date[] | undefined;\n /** Event fired when a days added or removed to the selection. */\n onSelect?: SelectMultipleEventHandler;\n /** The minimum amount of days that can be selected. */\n min?: number;\n /** The maximum amount of days that can be selected. */\n max?: number;\n}\n\n/** Returns true when the props are of type {@link DayPickerMultipleProps}. */\nexport function isDayPickerMultiple(\n props: DayPickerProps | DayPickerContextValue\n): props is DayPickerMultipleProps {\n return props.mode === 'multiple';\n}\n","import { DayPickerProps } from 'DayPicker';\n\nimport { DayPickerContextValue } from 'contexts/DayPicker';\n\nimport { DayPickerBase } from './DayPickerBase';\nimport { SelectRangeEventHandler } from './EventHandlers';\nimport { DateRange } from './Matchers';\n\n/** The props for the {@link DayPicker} component when using `mode=\"range\"`. */\nexport interface DayPickerRangeProps extends DayPickerBase {\n mode: 'range';\n /** The selected range of days. */\n selected?: DateRange | undefined;\n /** Event fired when a range (or a part of the range) is selected. */\n onSelect?: SelectRangeEventHandler;\n /** The minimum amount of days that can be selected. */\n min?: number;\n /** The maximum amount of days that can be selected. */\n max?: number;\n}\n\n/** Returns true when the props are of type {@link DayPickerRangeProps}. */\nexport function isDayPickerRange(\n props: DayPickerProps | DayPickerContextValue\n): props is DayPickerRangeProps {\n return props.mode === 'range';\n}\n","import { DayPickerProps } from 'DayPicker';\n\nimport { DayPickerContextValue } from 'contexts/DayPicker';\n\nimport { DayPickerBase } from './DayPickerBase';\nimport { SelectSingleEventHandler } from './EventHandlers';\n\n/** The props for the {@link DayPicker} component when using `mode=\"single\"`. */\nexport interface DayPickerSingleProps extends DayPickerBase {\n mode: 'single';\n /** The selected day. */\n selected?: Date | undefined;\n /** Event fired when a day is selected. */\n onSelect?: SelectSingleEventHandler;\n /** Make the selection required. */\n required?: boolean;\n}\n\n/** Returns true when the props are of type {@link DayPickerSingleProps}. */\nexport function isDayPickerSingle(\n props: DayPickerProps | DayPickerContextValue\n): props is DayPickerSingleProps {\n return props.mode === 'single';\n}\n","import { ClassNames } from 'types/Styles';\n\n/**\n * The name of the default CSS classes.\n */\nexport const defaultClassNames: Required<ClassNames> = {\n root: 'rdp',\n multiple_months: 'rdp-multiple_months',\n with_weeknumber: 'rdp-with_weeknumber',\n vhidden: 'rdp-vhidden',\n button_reset: 'rdp-button_reset',\n button: 'rdp-button',\n\n caption: 'rdp-caption',\n\n caption_start: 'rdp-caption_start',\n caption_end: 'rdp-caption_end',\n caption_between: 'rdp-caption_between',\n caption_label: 'rdp-caption_label',\n\n caption_dropdowns: 'rdp-caption_dropdowns',\n\n dropdown: 'rdp-dropdown',\n dropdown_month: 'rdp-dropdown_month',\n dropdown_year: 'rdp-dropdown_year',\n dropdown_icon: 'rdp-dropdown_icon',\n\n months: 'rdp-months',\n month: 'rdp-month',\n table: 'rdp-table',\n tbody: 'rdp-tbody',\n tfoot: 'rdp-tfoot',\n\n head: 'rdp-head',\n head_row: 'rdp-head_row',\n head_cell: 'rdp-head_cell',\n\n nav: 'rdp-nav',\n nav_button: 'rdp-nav_button',\n nav_button_previous: 'rdp-nav_button_previous',\n nav_button_next: 'rdp-nav_button_next',\n\n nav_icon: 'rdp-nav_icon',\n\n row: 'rdp-row',\n weeknumber: 'rdp-weeknumber',\n cell: 'rdp-cell',\n\n day: 'rdp-day',\n day_today: 'rdp-day_today',\n day_outside: 'rdp-day_outside',\n day_selected: 'rdp-day_selected',\n day_disabled: 'rdp-day_disabled',\n day_hidden: 'rdp-day_hidden',\n day_range_start: 'rdp-day_range_start',\n day_range_end: 'rdp-day_range_end',\n day_range_middle: 'rdp-day_range_middle'\n};\n","import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\n\n/**\n * The default formatter for the caption.\n */\nexport function formatCaption(\n month: Date,\n options?: { locale?: Locale }\n): string {\n return format(month, 'LLLL y', options);\n}\n","import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\n\n/**\n * The default formatter for the Day button.\n */\nexport function formatDay(day: Date, options?: { locale?: Locale }): string {\n return format(day, 'd', options);\n}\n","import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\n\n/**\n * The default formatter for the Month caption.\n */\nexport function formatMonthCaption(\n month: Date,\n options?: { locale?: Locale }\n): string {\n return format(month, 'LLLL', options);\n}\n","/**\n * The default formatter for the week number.\n */\nexport function formatWeekNumber(weekNumber: number): string {\n return `${weekNumber}`;\n}\n","import type { Locale } from 'date-fns';\nimport format from 'date-fns/format';\n\n/**\n * The default formatter for the name of the weekday.\n */\nexport function formatWeekdayName(\n weekday: Date,\n options?: { locale?: Locale }\n): string {\n return format(weekday, 'cccccc', options);\n}\n","import format from 'date-fns/format';\n\n/**\n * The default formatter for the Year caption.\n */\nexport function formatYearCaption(\n year: Date,\n options?: { locale?: Locale }\n): string {\n return format(year, 'yyyy', options);\n}\n","import format from 'date-fns/format';\n\nimport { DayLabel } from 'types/Labels';\n\n/**\n * The default ARIA label for the day button.\n */\nexport const labelDay: DayLabel = (day, activeModifiers, options): string => {\n return format(day, 'do MMMM (EEEE)', options);\n};\n","/**\n * The default ARIA label for the WeekNumber element.\n */\nexport const labelMonthDropdown = (): string => {\n return 'Month: ';\n};\n","import { NavButtonLabel } from 'types/Labels';\n\n/**\n * The default ARIA label for next month button in navigation\n */\nexport const labelNext: NavButtonLabel = (): string => {\n return 'Go to next month';\n};\n","import { NavButtonLabel } from 'types/Labels';\n\n/**\n * The default ARIA label for previous month button in navigation\n */\nexport const labelPrevious: NavButtonLabel = (): string => {\n return 'Go to previous month';\n};\n","import format from 'date-fns/format';\n\nimport { WeekdayLabel } from 'types/Labels';\n\n/**\n * The default ARIA label for the Weekday element.\n */\nexport const labelWeekday: WeekdayLabel = (day, options): string => {\n return format(day, 'cccc', options);\n};\n","import { WeekNumberLabel } from 'types/Labels';\n\n/**\n * The default ARIA label for the WeekNumber element.\n */\nexport const labelWeekNumber: WeekNumberLabel = (n): string => {\n return `Week n. ${n}`;\n};\n","/**\n * The default ARIA label for the WeekNumber element.\n */\nexport const labelYearDropdown = (): string => {\n return 'Year: ';\n};\n","import enUS from 'date-fns/locale/en-US';\n\nimport { CaptionLayout } from 'components/Caption';\nimport { DayPickerContextValue } from 'contexts/DayPicker';\n\nimport { defaultClassNames } from './defaultClassNames';\nimport * as formatters from './formatters';\nimport * as labels from './labels';\n\nexport type DefaultContextProps =\n | 'captionLayout'\n | 'classNames'\n | 'formatters'\n | 'locale'\n | 'labels'\n | 'modifiersClassNames'\n | 'modifiers'\n | 'numberOfMonths'\n | 'styles'\n | 'today'\n | 'mode';\n\nexport type DefaultContextValues = Pick<\n DayPickerContextValue,\n DefaultContextProps\n>;\n/**\n * Returns the default values to use in the DayPickerContext, in case they are\n * not passed down with the DayPicker initial props.\n */\nexport function getDefaultContextValues(): DefaultContextValues {\n const captionLayout: CaptionLayout = 'buttons';\n const classNames = defaultClassNames;\n const locale = enUS;\n const modifiersClassNames = {};\n const modifiers = {};\n const numberOfMonths = 1;\n const styles = {};\n const today = new Date();\n\n return {\n captionLayout,\n classNames,\n formatters,\n labels,\n locale,\n modifiersClassNames,\n modifiers,\n numberOfMonths,\n styles,\n today,\n mode: 'default'\n };\n}\n","import endOfMonth from 'date-fns/endOfMonth';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { DayPickerBase } from 'types/DayPickerBase';\n\n/** Return the `fromDate` and `toDate` prop values values parsing the DayPicker props. */\nexport function parseFromToProps(\n props: Pick<\n DayPickerBase,\n 'fromYear' | 'toYear' | 'fromDate' | 'toDate' | 'fromMonth' | 'toMonth'\n >\n): { fromDate: Date | undefined; toDate: Date | undefined } {\n const { fromYear, toYear, fromMonth, toMonth } = props;\n let { fromDate, toDate } = props;\n\n if (fromMonth) {\n fromDate = startOfMonth(fromMonth);\n } else if (fromYear) {\n fromDate = new Date(fromYear, 0, 1);\n }\n if (toMonth) {\n toDate = endOfMonth(toMonth);\n } else if (toYear) {\n toDate = new Date(toYear, 11, 31);\n }\n\n return {\n fromDate: fromDate ? startOfDay(fromDate) : undefined,\n toDate: toDate ? startOfDay(toDate) : undefined\n };\n}\n","import React, { createContext, ReactNode, useContext } from 'react';\n\nimport { DayPickerProps } from 'DayPicker';\n\nimport { CaptionLayout } from 'components/Caption';\nimport { DayPickerBase, DaySelectionMode } from 'types/DayPickerBase';\nimport {\n DayPickerMultipleProps,\n isDayPickerMultiple\n} from 'types/DayPickerMultiple';\nimport { DayPickerRangeProps, isDayPickerRange } from 'types/DayPickerRange';\nimport { DayPickerSingleProps, isDayPickerSingle } from 'types/DayPickerSingle';\nimport { Formatters } from 'types/Formatters';\nimport { Labels } from 'types/Labels';\nimport { Matcher } from 'types/Matchers';\nimport { DayModifiers, ModifiersClassNames } from 'types/Modifiers';\nimport { ClassNames, Styles } from 'types/Styles';\n\nimport { getDefaultContextValues } from './defaultContextValues';\nimport { parseFromToProps } from './utils';\n\n/**\n * The value of the {@link DayPickerContext} extends the props from DayPicker\n * with default and cleaned up values.\n */\nexport interface DayPickerContextValue extends DayPickerBase {\n mode: DaySelectionMode;\n onSelect?:\n | DayPickerSingleProps['onSelect']\n | DayPickerMultipleProps['onSelect']\n | DayPickerRangeProps['onSelect'];\n required?: boolean;\n min?: number;\n max?: number;\n selected?: Matcher | Matcher[];\n\n captionLayout: CaptionLayout;\n classNames: Required<ClassNames>;\n formatters: Formatters;\n labels: Labels;\n locale: Locale;\n modifiersClassNames: ModifiersClassNames;\n modifiers: DayModifiers;\n numberOfMonths: number;\n styles: Styles;\n today: Date;\n}\n\n/**\n * The DayPicker context shares the props passed to DayPicker within internal\n * and custom components. It is used to set the default values and perform\n * one-time calculations required to render the days.\n *\n * Access to this context from the {@link useDayPicker} hook.\n */\nexport const DayPickerContext = createContext<\n DayPickerContextValue | undefined\n>(undefined);\n\n/** The props for the {@link DayPickerProvider}. */\nexport interface DayPickerProviderProps {\n /** The initial props from the DayPicker component. */\n initialProps: DayPickerProps;\n children?: ReactNode;\n}\n/**\n * The provider for the {@link DayPickerContext}, assigning the defaults from the\n * initial DayPicker props.\n */\nexport function DayPickerProvider(props: DayPickerProviderProps): JSX.Element {\n const { initialProps } = props;\n\n const defaultContextValues = getDefaultContextValues();\n\n const { fromDate, toDate } = parseFromToProps(initialProps);\n\n let captionLayout =\n initialProps.captionLayout ?? defaultContextValues.captionLayout;\n if (captionLayout !== 'buttons' && (!fromDate || !toDate)) {\n // When no from/to dates are set, the caption is always buttons\n captionLayout = 'buttons';\n }\n\n let onSelect;\n if (\n isDayPickerSingle(initialProps) ||\n isDayPickerMultiple(initialProps) ||\n isDayPickerRange(initialProps)\n ) {\n onSelect = initialProps.onSelect;\n }\n\n const value: DayPickerContextValue = {\n ...defaultContextValues,\n ...initialProps,\n captionLayout,\n classNames: {\n ...defaultContextValues.classNames,\n ...initialProps.classNames\n },\n components: {\n ...initialProps.components\n },\n formatters: {\n ...defaultContextValues.formatters,\n ...initialProps.formatters\n },\n fromDate,\n labels: {\n ...defaultContextValues.labels,\n ...initialProps.labels\n },\n mode: initialProps.mode || defaultContextValues.mode,\n modifiers: {\n ...defaultContextValues.modifiers,\n ...initialProps.modifiers\n },\n modifiersClassNames: {\n ...defaultContextValues.modifiersClassNames,\n ...initialProps.modifiersClassNames\n },\n onSelect,\n styles: {\n ...defaultContextValues.styles,\n ...initialProps.styles\n },\n toDate\n };\n\n return (\n <DayPickerContext.Provider value={value}>\n {props.children}\n </DayPickerContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link DayPickerContextValue}.\n *\n * Use the DayPicker context to access to the props passed to DayPicker inside\n * internal or custom components.\n */\nexport function useDayPicker(): DayPickerContextValue {\n const context = useContext(DayPickerContext);\n if (!context) {\n throw new Error(`useDayPicker must be used within a DayPickerProvider.`);\n }\n return context;\n}\n","import React from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** The props for the {@link CaptionLabel} component. */\nexport interface CaptionLabelProps {\n /** The ID for the heading element. Must be the same as the labelled-by in Table. */\n id?: string;\n /** The month where the caption is displayed. */\n displayMonth: Date;\n}\n\n/** Render the caption for the displayed month. This component is used when `captionLayout=\"buttons\"`. */\nexport function CaptionLabel(props: CaptionLabelProps): JSX.Element {\n const {\n locale,\n classNames,\n styles,\n formatters: { formatCaption }\n } = useDayPicker();\n return (\n <h2\n className={classNames.caption_label}\n style={styles.caption_label}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n id={props.id}\n >\n {formatCaption(props.displayMonth, { locale })}\n </h2>\n );\n}\n","import React from 'react';\n\nimport { StyledComponent } from 'types/Styles';\n\n/**\n * Render the icon in the styled drop-down.\n */\nexport function IconDropdown(props: StyledComponent): JSX.Element {\n return (\n <svg\n width=\"8px\"\n height=\"8px\"\n viewBox=\"0 0 120 120\"\n data-testid=\"iconDropdown\"\n {...props}\n >\n <path\n d=\"M4.22182541,48.2218254 C8.44222828,44.0014225 15.2388494,43.9273804 19.5496459,47.9996989 L19.7781746,48.2218254 L60,88.443 L100.221825,48.2218254 C104.442228,44.0014225 111.238849,43.9273804 115.549646,47.9996989 L115.778175,48.2218254 C119.998577,52.4422283 120.07262,59.2388494 116.000301,63.5496459 L115.778175,63.7781746 L67.7781746,111.778175 C63.5577717,115.998577 56.7611506,116.07262 52.4503541,112.000301 L52.2218254,111.778175 L4.22182541,63.7781746 C-0.0739418023,59.4824074 -0.0739418023,52.5175926 4.22182541,48.2218254 Z\"\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n ></path>\n </svg>\n );\n}\n","import React from 'react';\n\nimport { IconDropdown } from 'components/IconDropdown';\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** The props for the {@link Dropdown} component. */\nexport interface DropdownProps {\n /** The name attribute of the element. */\n name?: string;\n /** The caption displayed to replace the hidden select. */\n caption?: React.ReactNode;\n children?: React.SelectHTMLAttributes<HTMLSelectElement>['children'];\n className?: string;\n ['aria-label']?: string;\n style?: React.CSSProperties;\n /** The selected value. */\n value?: string | number;\n onChange?: React.ChangeEventHandler<HTMLSelectElement>;\n}\n\n/**\n * Render a styled select component – displaying a caption and a custom\n * drop-down icon.\n */\nexport function Dropdown(props: DropdownProps): JSX.Element {\n const { onChange, value, children, caption, className, style } = props;\n const dayPicker = useDayPicker();\n\n const IconDropdownComponent =\n dayPicker.components?.IconDropdown ?? IconDropdown;\n return (\n <div className={className} style={style}>\n <span className={dayPicker.classNames.vhidden}>\n {props['aria-label']}\n </span>\n <select\n name={props.name}\n aria-label={props['aria-label']}\n className={dayPicker.classNames.dropdown}\n style={dayPicker.styles.dropdown}\n value={value}\n onChange={onChange}\n >\n {children}\n </select>\n <div\n className={dayPicker.classNames.caption_label}\n style={dayPicker.styles.caption_label}\n aria-hidden=\"true\"\n >\n {caption}\n {\n <IconDropdownComponent\n className={dayPicker.classNames.dropdown_icon}\n style={dayPicker.styles.dropdown_icon}\n />\n }\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport isSameYear from 'date-fns/isSameYear';\nimport setMonth from 'date-fns/setMonth';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { Dropdown } from 'components/Dropdown';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { MonthChangeEventHandler } from 'types/EventHandlers';\n\n/** The props for the {@link MonthsDropdown} component. */\nexport interface MonthsDropdownProps {\n /** The month where the dropdown is displayed. */\n displayMonth: Date;\n onChange: MonthChangeEventHandler;\n}\n\n/** Render the dropdown to navigate between months. */\nexport function MonthsDropdown(props: MonthsDropdownProps): JSX.Element {\n const {\n fromDate,\n toDate,\n styles,\n locale,\n formatters: { formatMonthCaption },\n classNames,\n components,\n labels: { labelMonthDropdown }\n } = useDayPicker();\n\n // Dropdown should appear only when both from/toDate is set\n if (!fromDate) return <></>;\n if (!toDate) return <></>;\n\n const dropdownMonths: Date[] = [];\n\n if (isSameYear(fromDate, toDate)) {\n // only display the months included in the range\n const date = startOfMonth(fromDate);\n for (let month = fromDate.getMonth(); month <= toDate.getMonth(); month++) {\n dropdownMonths.push(setMonth(date, month));\n }\n } else {\n // display all the 12 months\n const date = startOfMonth(new Date()); // Any date should be OK, as we just need the year\n for (let month = 0; month <= 11; month++) {\n dropdownMonths.push(setMonth(date, month));\n }\n }\n\n const handleChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const selectedMonth = Number(e.target.value);\n const newMonth = setMonth(startOfMonth(props.displayMonth), selectedMonth);\n props.onChange(newMonth);\n };\n\n const DropdownComponent = components?.Dropdown ?? Dropdown;\n\n return (\n <DropdownComponent\n name=\"months\"\n aria-label={labelMonthDropdown()}\n className={classNames.dropdown_month}\n style={styles.dropdown_month}\n onChange={handleChange}\n value={props.displayMonth.getMonth()}\n caption={formatMonthCaption(props.displayMonth, { locale })}\n >\n {dropdownMonths.map((m) => (\n <option key={m.getMonth()} value={m.getMonth()}>\n {formatMonthCaption(m, { locale })}\n </option>\n ))}\n </DropdownComponent>\n );\n}\n","import React from 'react';\n\nimport setYear from 'date-fns/setYear';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport startOfYear from 'date-fns/startOfYear';\n\nimport { Dropdown } from 'components/Dropdown';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { MonthChangeEventHandler } from 'types/EventHandlers';\n\n/**\n * The props for the {@link YearsDropdown} component.\n */\nexport interface YearsDropdownProps {\n /** The month where the drop-down is displayed. */\n displayMonth: Date;\n /** Callback to handle the `change` event. */\n onChange: MonthChangeEventHandler;\n}\n\n/**\n * Render a dropdown to change the year. Take in account the `nav.fromDate` and\n * `toDate` from context.\n */\nexport function YearsDropdown(props: YearsDropdownProps): JSX.Element {\n const { displayMonth } = props;\n const {\n fromDate,\n toDate,\n locale,\n styles,\n classNames,\n components,\n formatters: { formatYearCaption },\n labels: { labelYearDropdown }\n } = useDayPicker();\n\n const years: Date[] = [];\n\n // Dropdown should appear only when both from/toDate is set\n if (!fromDate) return <></>;\n if (!toDate) return <></>;\n\n const fromYear = fromDate.getFullYear();\n const toYear = toDate.getFullYear();\n for (let year = fromYear; year <= toYear; year++) {\n years.push(setYear(startOfYear(new Date()), year));\n }\n\n const handleChange: React.ChangeEventHandler<HTMLSelectElement> = (e) => {\n const newMonth = setYear(\n startOfMonth(displayMonth),\n Number(e.target.value)\n );\n props.onChange(newMonth);\n };\n\n const DropdownComponent = components?.Dropdown ?? Dropdown;\n\n return (\n <DropdownComponent\n name=\"years\"\n aria-label={labelYearDropdown()}\n className={classNames.dropdown_year}\n style={styles.dropdown_year}\n onChange={handleChange}\n value={displayMonth.getFullYear()}\n caption={formatYearCaption(displayMonth, { locale })}\n >\n {years.map((year) => (\n <option key={year.getFullYear()} value={year.getFullYear()}>\n {formatYearCaption(year, { locale })}\n </option>\n ))}\n </DropdownComponent>\n );\n}\n","import React, { useState } from 'react';\n\nexport type DispatchStateAction<T> = React.Dispatch<React.SetStateAction<T>>;\n\n/**\n * Helper hook for using controlled/uncontrolled values from a component props.\n *\n * When the value is not controlled, pass `undefined` as `controlledValue` and\n * use the returned setter to update it.\n *\n * When the value is controlled, pass the controlled value as second\n * argument, which will be always returned as `value`.\n */\nexport function useControlledValue<T>(\n defaultValue: T,\n controlledValue: T | undefined\n): [T, DispatchStateAction<T>] {\n const [uncontrolledValue, setValue] = useState(defaultValue);\n\n const value =\n controlledValue === undefined ? uncontrolledValue : controlledValue;\n\n return [value, setValue] as [T, DispatchStateAction<T>];\n}\n","import addMonths from 'date-fns/addMonths';\nimport differenceInCalendarMonths from 'date-fns/differenceInCalendarMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { DayPickerContextValue } from 'contexts/DayPicker';\n\n/** Return the initial month according to the given options. */\nexport function getInitialMonth(context: Partial<DayPickerContextValue>): Date {\n const { month, defaultMonth, today } = context;\n let initialMonth = month || defaultMonth || today || new Date();\n\n const { toDate, fromDate, numberOfMonths = 1 } = context;\n\n // Fix the initialMonth if is after the to-date\n if (toDate && differenceInCalendarMonths(toDate, initialMonth) < 0) {\n const offset = -1 * (numberOfMonths - 1);\n initialMonth = addMonths(toDate, offset);\n }\n // Fix the initialMonth if is before the from-date\n if (fromDate && differenceInCalendarMonths(initialMonth, fromDate) < 0) {\n initialMonth = fromDate;\n }\n return startOfMonth(initialMonth);\n}\n","import startOfMonth from 'date-fns/startOfMonth';\n\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useControlledValue } from 'hooks/useControlledValue';\n\nimport { getInitialMonth } from './utils/getInitialMonth';\n\n/** Controls the navigation state. */\nexport function useNavigationState(): [\n /** The month DayPicker is navigating at */\n month: Date,\n /** Go to the specified month. */\n goToMonth: (month: Date) => void\n] {\n const context = useDayPicker();\n const initialMonth = getInitialMonth(context);\n const [month, setMonth] = useControlledValue(initialMonth, context.month);\n\n const goToMonth = (date: Date) => {\n if (context.disableNavigation) return;\n const month = startOfMonth(date);\n setMonth(month);\n context.onMonthChange?.(month);\n };\n\n return [month, goToMonth];\n}\n","import addMonths from 'date-fns/addMonths';\nimport differenceInCalendarMonths from 'date-fns/differenceInCalendarMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\n\n/**\n * Return the months to display in the component according to the number of\n * months and the from/to date.\n */\nexport function getDisplayMonths(\n month: Date,\n {\n reverseMonths,\n numberOfMonths\n }: {\n reverseMonths?: boolean;\n numberOfMonths: number;\n }\n): Date[] {\n const start = startOfMonth(month);\n const end = startOfMonth(addMonths(start, numberOfMonths));\n const monthsDiff = differenceInCalendarMonths(end, start);\n let months = [];\n\n for (let i = 0; i < monthsDiff; i++) {\n const nextMonth = addMonths(start, i);\n months.push(nextMonth);\n }\n\n if (reverseMonths) months = months.reverse();\n return months;\n}\n","import addMonths from 'date-fns/addMonths';\nimport differenceInCalendarMonths from 'date-fns/differenceInCalendarMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\n\n/**\n * Returns the next month the user can navigate to according to the given\n * options.\n *\n * Please note that the next month is not always the next calendar month:\n *\n * - if after the `toDate` range, is undefined;\n * - if the navigation is paged, is the number of months displayed ahead.\n *\n */\nexport function getNextMonth(\n startingMonth: Date,\n options: {\n numberOfMonths?: number;\n fromDate?: Date;\n toDate?: Date;\n pagedNavigation?: boolean;\n today?: Date;\n disableNavigation?: boolean;\n }\n): Date | undefined {\n if (options.disableNavigation) {\n return undefined;\n }\n const { toDate, pagedNavigation, numberOfMonths = 1 } = options;\n const offset = pagedNavigation ? numberOfMonths : 1;\n const month = startOfMonth(startingMonth);\n\n if (!toDate) {\n return addMonths(month, offset);\n }\n\n const monthsDiff = differenceInCalendarMonths(toDate, startingMonth);\n\n if (monthsDiff < numberOfMonths) {\n return undefined;\n }\n\n // Jump forward as the number of months when paged navigation\n return addMonths(month, offset);\n}\n","import addMonths from 'date-fns/addMonths';\nimport differenceInCalendarMonths from 'date-fns/differenceInCalendarMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\n\n/**\n * Returns the next previous the user can navigate to, according to the given\n * options.\n *\n * Please note that the previous month is not always the previous calendar\n * month:\n *\n * - if before the `fromDate` date, is `undefined`;\n * - if the navigation is paged, is the number of months displayed before.\n *\n */\nexport function getPreviousMonth(\n startingMonth: Date,\n options: {\n numberOfMonths?: number;\n fromDate?: Date;\n toDate?: Date;\n pagedNavigation?: boolean;\n today?: Date;\n disableNavigation?: boolean;\n }\n): Date | undefined {\n if (options.disableNavigation) {\n return undefined;\n }\n const { fromDate, pagedNavigation, numberOfMonths = 1 } = options;\n const offset = pagedNavigation ? numberOfMonths : 1;\n const month = startOfMonth(startingMonth);\n if (!fromDate) {\n return addMonths(month, -offset);\n }\n const monthsDiff = differenceInCalendarMonths(month, fromDate);\n\n if (monthsDiff <= 0) {\n return undefined;\n }\n\n // Jump back as the number of months when paged navigation\n return addMonths(month, -offset);\n}\n","import React, { createContext, ReactNode, useContext } from 'react';\n\nimport addMonths from 'date-fns/addMonths';\nimport isBefore from 'date-fns/isBefore';\nimport isSameMonth from 'date-fns/isSameMonth';\n\nimport { useDayPicker } from '../DayPicker';\nimport { useNavigationState } from './useNavigationState';\nimport { getDisplayMonths } from './utils/getDisplayMonths';\nimport { getNextMonth } from './utils/getNextMonth';\nimport { getPreviousMonth } from './utils/getPreviousMonth';\n\n/** Represents the value of the {@link NavigationContext}. */\nexport interface NavigationContextValue {\n /** The month to display in the calendar. When `numberOfMonths` is greater than one, is the first of the displayed months. */\n currentMonth: Date;\n /** The months rendered by DayPicker. DayPicker can render multiple months via `numberOfMonths`. */\n displayMonths: Date[];\n /** Navigate to the specified month. */\n goToMonth: (month: Date) => void;\n /** Navigate to the specified date. */\n goToDate: (date: Date, refDate?: Date) => void;\n /** The next month to display. */\n nextMonth?: Date;\n /** The previous month to display. */\n previousMonth?: Date;\n /** Whether the given day is included in the displayed months. */\n isDateDisplayed: (day: Date) => boolean;\n}\n\n/**\n * The Navigation context shares details and methods to navigate the months in DayPicker.\n * Access this context from the {@link useNavigation} hook.\n */\nexport const NavigationContext = createContext<\n NavigationContextValue | undefined\n>(undefined);\n\n/** Provides the values for the {@link NavigationContext}. */\nexport function NavigationProvider(props: {\n children?: ReactNode;\n}): JSX.Element {\n const dayPicker = useDayPicker();\n const [currentMonth, goToMonth] = useNavigationState();\n\n const displayMonths = getDisplayMonths(currentMonth, dayPicker);\n const nextMonth = getNextMonth(currentMonth, dayPicker);\n const previousMonth = getPreviousMonth(currentMonth, dayPicker);\n\n const isDateDisplayed = (date: Date) => {\n return displayMonths.some((displayMonth) =>\n isSameMonth(date, displayMonth)\n );\n };\n\n const goToDate = (date: Date, refDate?: Date) => {\n if (isDateDisplayed(date)) {\n return;\n }\n\n if (refDate && isBefore(date, refDate)) {\n goToMonth(addMonths(date, 1 + dayPicker.numberOfMonths * -1));\n } else {\n goToMonth(date);\n }\n };\n\n const value: NavigationContextValue = {\n currentMonth,\n displayMonths,\n goToMonth,\n goToDate,\n previousMonth,\n nextMonth,\n isDateDisplayed\n };\n\n return (\n <NavigationContext.Provider value={value}>\n {props.children}\n </NavigationContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link NavigationContextValue}. Use this hook to navigate\n * between months or years in DayPicker.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nexport function useNavigation(): NavigationContextValue {\n const context = useContext(NavigationContext);\n if (!context) {\n throw new Error('useNavigation must be used within a NavigationProvider');\n }\n return context;\n}\n","import React from 'react';\n\nimport { CaptionProps } from 'components/Caption/Caption';\nimport { CaptionLabel } from 'components/CaptionLabel';\nimport { MonthsDropdown } from 'components/MonthsDropdown';\nimport { YearsDropdown } from 'components/YearsDropdown';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useNavigation } from 'contexts/Navigation';\nimport { MonthChangeEventHandler } from 'types/EventHandlers';\n\n/**\n * Render a caption with the dropdowns to navigate between months and years.\n */\nexport function CaptionDropdowns(props: CaptionProps): JSX.Element {\n const { classNames, styles, components } = useDayPicker();\n const { goToMonth } = useNavigation();\n\n const handleMonthChange: MonthChangeEventHandler = (newMonth) => {\n goToMonth(newMonth);\n };\n const CaptionLabelComponent = components?.CaptionLabel ?? CaptionLabel;\n const captionLabel = (\n <CaptionLabelComponent id={props.id} displayMonth={props.displayMonth} />\n );\n return (\n <div\n className={classNames.caption_dropdowns}\n style={styles.caption_dropdowns}\n >\n {/* Caption label is visually hidden but for a11y. */}\n <div className={classNames.vhidden}>{captionLabel}</div>\n <MonthsDropdown\n onChange={handleMonthChange}\n displayMonth={props.displayMonth}\n />\n <YearsDropdown\n onChange={handleMonthChange}\n displayMonth={props.displayMonth}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport { StyledComponent } from 'types/Styles';\n\n/**\n * Render the \"previous month\" button in the navigation.\n */\nexport function IconLeft(props: StyledComponent): JSX.Element {\n return (\n <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 120 120\" {...props}>\n <path\n d=\"M69.490332,3.34314575 C72.6145263,0.218951416 77.6798462,0.218951416 80.8040405,3.34314575 C83.8617626,6.40086786 83.9268205,11.3179931 80.9992143,14.4548388 L80.8040405,14.6568542 L35.461,60 L80.8040405,105.343146 C83.8617626,108.400868 83.9268205,113.317993 80.9992143,116.454839 L80.8040405,116.656854 C77.7463184,119.714576 72.8291931,119.779634 69.6923475,116.852028 L69.490332,116.656854 L18.490332,65.6568542 C15.4326099,62.5991321 15.367552,57.6820069 18.2951583,54.5451612 L18.490332,54.3431458 L69.490332,3.34314575 Z\"\n fill=\"currentColor\"\n fillRule=\"nonzero\"\n ></path>\n </svg>\n );\n}\n","import React from 'react';\n\nimport { StyledComponent } from 'types/Styles';\n\n/**\n * Render the \"next month\" button in the navigation.\n */\nexport function IconRight(props: StyledComponent): JSX.Element {\n return (\n <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 120 120\" {...props}>\n <path\n d=\"M49.8040405,3.34314575 C46.6798462,0.218951416 41.6145263,0.218951416 38.490332,3.34314575 C35.4326099,6.40086786 35.367552,11.3179931 38.2951583,14.4548388 L38.490332,14.6568542 L83.8333725,60 L38.490332,105.343146 C35.4326099,108.400868 35.367552,113.317993 38.2951583,116.454839 L38.490332,116.656854 C41.5480541,119.714576 46.4651794,119.779634 49.602025,116.852028 L49.8040405,116.656854 L100.804041,65.6568542 C103.861763,62.5991321 103.926821,57.6820069 100.999214,54.5451612 L100.804041,54.3431458 L49.8040405,3.34314575 Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n );\n}\n","import React, { forwardRef } from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** The props for the {@link Button} component. */\nexport type ButtonProps = React.HTMLProps<HTMLButtonElement>;\n\n/**\n * Render a button HTML element applying the reset class name.\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const { classNames, styles } = useDayPicker();\n\n const classNamesArr = [classNames.button_reset, classNames.button];\n if (props.className) {\n classNamesArr.push(props.className);\n }\n const className = classNamesArr.join(' ');\n\n const style = { ...styles.button_reset, ...styles.button };\n if (props.style) {\n Object.assign(style, props.style);\n }\n\n return (\n <button\n {...props}\n ref={ref}\n type=\"button\"\n className={className}\n style={style}\n />\n );\n }\n);\n","import React from 'react';\n\nimport { IconLeft } from 'components/IconLeft';\nimport { IconRight } from 'components/IconRight';\nimport { useDayPicker } from 'contexts/DayPicker';\n\nimport { Button } from '../Button';\n\n/** The props for the {@link Navigation} component. */\nexport interface NavigationProps {\n /** The month where the caption is displayed. */\n displayMonth: Date;\n /** The previous month. */\n previousMonth?: Date;\n /** The next month. */\n nextMonth?: Date;\n /** Hide the previous button. */\n hidePrevious: boolean;\n /** Hide the next button. */\n hideNext: boolean;\n /** Event handler when the next button is clicked. */\n onNextClick: React.MouseEventHandler<HTMLButtonElement>;\n /** Event handler when the previous button is clicked. */\n onPreviousClick: React.MouseEventHandler<HTMLButtonElement>;\n}\n\n/** A component rendering the navigation buttons or the drop-downs. */\nexport function Navigation(props: NavigationProps): JSX.Element {\n const {\n dir,\n locale,\n classNames,\n styles,\n labels: { labelPrevious, labelNext },\n components\n } = useDayPicker();\n\n if (!props.nextMonth && !props.previousMonth) {\n return <></>;\n }\n\n const previousLabel = labelPrevious(props.previousMonth, { locale });\n const previousClassName = [\n classNames.nav_button,\n classNames.nav_button_previous\n ].join(' ');\n\n const nextLabel = labelNext(props.nextMonth, { locale });\n const nextClassName = [\n classNames.nav_button,\n classNames.nav_button_next\n ].join(' ');\n\n const IconRightComponent = components?.IconRight ?? IconRight;\n const IconLeftComponent = components?.IconLeft ?? IconLeft;\n return (\n <div className={classNames.nav} style={styles.nav}>\n {!props.hidePrevious && (\n <Button\n name=\"previous-month\"\n aria-label={previousLabel}\n className={previousClassName}\n style={styles.nav_button_previous}\n disabled={!props.previousMonth}\n onClick={props.onPreviousClick}\n >\n {dir === 'rtl' ? (\n <IconRightComponent\n className={classNames.nav_icon}\n style={styles.nav_icon}\n />\n ) : (\n <IconLeftComponent\n className={classNames.nav_icon}\n style={styles.nav_icon}\n />\n )}\n </Button>\n )}\n {!props.hideNext && (\n <Button\n name=\"next-month\"\n aria-label={nextLabel}\n className={nextClassName}\n style={styles.nav_button_next}\n disabled={!props.nextMonth}\n onClick={props.onNextClick}\n >\n {dir === 'rtl' ? (\n <IconLeftComponent\n className={classNames.nav_icon}\n style={styles.nav_icon}\n />\n ) : (\n <IconRightComponent\n className={classNames.nav_icon}\n style={styles.nav_icon}\n />\n )}\n </Button>\n )}\n </div>\n );\n}\n","import React from 'react';\n\nimport isSameMonth from 'date-fns/isSameMonth';\n\nimport { CaptionProps } from 'components/Caption/Caption';\nimport { CaptionLabel } from 'components/CaptionLabel';\nimport { Navigation } from 'components/Navigation';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useNavigation } from 'contexts/Navigation';\n\n/**\n * Render a caption with a button-based navigation.\n */\nexport function CaptionNavigation(props: CaptionProps): JSX.Element {\n const { numberOfMonths, dir, components } = useDayPicker();\n const { previousMonth, nextMonth, goToMonth, displayMonths } =\n useNavigation();\n\n const displayIndex = displayMonths.findIndex((month) =>\n isSameMonth(props.displayMonth, month)\n );\n\n let isFirst = displayIndex === 0;\n let isLast = displayIndex === displayMonths.length - 1;\n if (dir === 'rtl') {\n [isLast, isFirst] = [isFirst, isLast];\n }\n\n const hideNext = numberOfMonths > 1 && (isFirst || !isLast);\n const hidePrevious = numberOfMonths > 1 && (isLast || !isFirst);\n\n const handlePreviousClick: React.MouseEventHandler = () => {\n if (!previousMonth) return;\n goToMonth(previousMonth);\n };\n\n const handleNextClick: React.MouseEventHandler = () => {\n if (!nextMonth) return;\n goToMonth(nextMonth);\n };\n\n const CaptionLabelComponent = components?.CaptionLabel ?? CaptionLabel;\n const captionLabel = (\n <CaptionLabelComponent id={props.id} displayMonth={props.displayMonth} />\n );\n\n return (\n <>\n {captionLabel}\n <Navigation\n displayMonth={props.displayMonth}\n hideNext={hideNext}\n hidePrevious={hidePrevious}\n nextMonth={nextMonth}\n previousMonth={previousMonth}\n onPreviousClick={handlePreviousClick}\n onNextClick={handleNextClick}\n />\n </>\n );\n}\n","import React from 'react';\n\nimport { CaptionDropdowns } from 'components/CaptionDropdowns';\nimport { CaptionLabel } from 'components/CaptionLabel';\nimport { CaptionNavigation } from 'components/CaptionNavigation';\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** Represent the props of the {@link Caption} component. */\nexport interface CaptionProps {\n /** The ID for the heading element. Must be the same as the labelled-by in Table. */\n id?: string;\n /** The month where the caption is displayed. */\n displayMonth: Date;\n}\n\n/**\n * The layout of the caption:\n *\n * - `dropdown`: display dropdowns for choosing the month and the year.\n * - `buttons`: display previous month / next month buttons.\n */\nexport type CaptionLayout = 'dropdown' | 'buttons';\n\n/**\n * Render the caption of a month. The caption has a different layout when\n * setting the {@link DayPickerBase.captionLayout} prop.\n */\nexport function Caption(props: CaptionProps): JSX.Element {\n const { classNames, disableNavigation, styles, captionLayout, components } =\n useDayPicker();\n\n const CaptionLabelComponent = components?.CaptionLabel ?? CaptionLabel;\n\n let caption: JSX.Element;\n if (disableNavigation) {\n caption = (\n <CaptionLabelComponent id={props.id} displayMonth={props.displayMonth} />\n );\n } else if (captionLayout === 'dropdown') {\n caption = (\n <CaptionDropdowns displayMonth={props.displayMonth} id={props.id} />\n );\n } else {\n caption = (\n <CaptionNavigation displayMonth={props.displayMonth} id={props.id} />\n );\n }\n\n return (\n <div className={classNames.caption} style={styles.caption}>\n {caption}\n </div>\n );\n}\n","import React from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** Render the Footer component (empty as default).*/\nexport function Footer(): JSX.Element {\n const {\n footer,\n styles,\n classNames: { tfoot }\n } = useDayPicker();\n if (!footer) return <></>;\n return (\n <tfoot className={tfoot} style={styles.tfoot}>\n <tr>\n <td colSpan={8}>{footer}</td>\n </tr>\n </tfoot>\n );\n}\n","import addDays from 'date-fns/addDays';\nimport startOfISOWeek from 'date-fns/startOfISOWeek';\nimport startOfWeek from 'date-fns/startOfWeek';\n\nimport type { Locale } from 'date-fns';\n\n/**\n * Generate a series of 7 days, starting from the week, to use for formatting\n * the weekday names (Monday, Tuesday, etc.).\n */\nexport function getWeekdays(\n locale?: Locale,\n /** The index of the first day of the week (0 - Sunday). */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n /** Use ISOWeek instead of locale/ */\n ISOWeek?: boolean\n): Date[] {\n const start = ISOWeek\n ? startOfISOWeek(new Date())\n : startOfWeek(new Date(), { locale, weekStartsOn });\n\n const days = [];\n for (let i = 0; i < 7; i++) {\n const day = addDays(start, i);\n days.push(day);\n }\n return days;\n}\n","import React from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\nimport { getWeekdays } from './utils';\n\n/**\n * Render the HeadRow component - i.e. the table head row with the weekday names.\n */\nexport function HeadRow(): JSX.Element {\n const {\n classNames,\n styles,\n showWeekNumber,\n locale,\n weekStartsOn,\n ISOWeek,\n formatters: { formatWeekdayName },\n labels: { labelWeekday }\n } = useDayPicker();\n\n const weekdays = getWeekdays(locale, weekStartsOn, ISOWeek);\n\n return (\n <tr style={styles.head_row} className={classNames.head_row}>\n {showWeekNumber && (\n <th\n scope=\"col\"\n style={styles.head_cell}\n className={classNames.head_cell}\n ></th>\n )}\n {weekdays.map((weekday, i) => (\n <th\n key={i}\n scope=\"col\"\n className={classNames.head_cell}\n style={styles.head_cell}\n >\n <span aria-hidden={true}>\n {formatWeekdayName(weekday, { locale })}\n </span>\n <span className={classNames.vhidden}>\n {labelWeekday(weekday, { locale })}\n </span>\n </th>\n ))}\n </tr>\n );\n}\n","import React from 'react';\n\nimport { HeadRow } from 'components/HeadRow';\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/** Render the table head. */\nexport function Head(): JSX.Element {\n const { classNames, styles, components } = useDayPicker();\n const HeadRowComponent = components?.HeadRow ?? HeadRow;\n return (\n <thead style={styles.head} className={classNames.head}>\n <HeadRowComponent />\n </thead>\n );\n}\n","import React from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { ActiveModifiers } from 'types/Modifiers';\n\n/** Represent the props for the {@link DayContent} component. */\nexport interface DayContentProps {\n /** The date representing the day. */\n date: Date;\n /** The month where the day is displayed. */\n displayMonth: Date;\n /** The active modifiers for the given date. */\n activeModifiers: ActiveModifiers;\n}\n\n/** Render the content of the day cell. */\nexport function DayContent(props: DayContentProps): JSX.Element {\n const {\n locale,\n formatters: { formatDay }\n } = useDayPicker();\n\n return <>{formatDay(props.date, { locale })}</>;\n}\n","import React, { createContext, ReactNode, useContext } from 'react';\n\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { DayPickerBase } from 'types/DayPickerBase';\nimport {\n DayPickerMultipleProps,\n isDayPickerMultiple\n} from 'types/DayPickerMultiple';\nimport { DayClickEventHandler } from 'types/EventHandlers';\nimport { InternalModifier, Modifiers } from 'types/Modifiers';\n\n/** Represent the modifiers that are changed by the multiple selection. */\nexport type SelectMultipleModifiers = Pick<\n Modifiers,\n InternalModifier.Disabled\n>;\n\n/** Represents the value of a {@link SelectMultipleContext}. */\nexport interface SelectMultipleContextValue {\n /** The days that have been selected. */\n selected: Date[] | undefined;\n /** The modifiers for the corresponding selection. */\n modifiers: SelectMultipleModifiers;\n /** Event handler to attach to the day button to enable the multiple select. */\n onDayClick?: DayClickEventHandler;\n}\n\n/**\n * The SelectMultiple context shares details about the selected days when in\n * multiple selection mode.\n *\n * Access this context from the {@link useSelectMultiple} hook.\n */\nexport const SelectMultipleContext = createContext<\n SelectMultipleContextValue | undefined\n>(undefined);\n\nexport type SelectMultipleProviderProps = {\n initialProps: DayPickerBase;\n children: ReactNode;\n};\n\n/** Provides the values for the {@link SelectMultipleContext}. */\nexport function SelectMultipleProvider(\n props: SelectMultipleProviderProps\n): JSX.Element {\n if (!isDayPickerMultiple(props.initialProps)) {\n const emptyContextValue: SelectMultipleContextValue = {\n selected: undefined,\n modifiers: {\n disabled: []\n }\n };\n return (\n <SelectMultipleContext.Provider value={emptyContextValue}>\n {props.children}\n </SelectMultipleContext.Provider>\n );\n }\n return (\n <SelectMultipleProviderInternal\n initialProps={props.initialProps}\n children={props.children}\n />\n );\n}\n\ntype SelectMultipleProviderInternalProps = {\n initialProps: DayPickerMultipleProps;\n children: ReactNode;\n};\n\nexport function SelectMultipleProviderInternal({\n initialProps,\n children\n}: SelectMultipleProviderInternalProps): JSX.Element {\n const { selected, min, max } = initialProps;\n\n const onDayClick: DayClickEventHandler = (day, activeModifiers, e) => {\n initialProps.onDayClick?.(day, activeModifiers, e);\n\n const isMinSelected = Boolean(\n activeModifiers.selected && min && selected?.length === min\n );\n if (isMinSelected) {\n return;\n }\n\n const isMaxSelected = Boolean(\n !activeModifiers.selected && max && selected?.length === max\n );\n if (isMaxSelected) {\n return;\n }\n\n const selectedDays = selected ? [...selected] : [];\n\n if (activeModifiers.selected) {\n const index = selectedDays.findIndex((selectedDay) =>\n isSameDay(day, selectedDay)\n );\n selectedDays.splice(index, 1);\n } else {\n selectedDays.push(day);\n }\n initialProps.onSelect?.(selectedDays, day, activeModifiers, e);\n };\n\n const modifiers: SelectMultipleModifiers = {\n disabled: []\n };\n\n if (selected) {\n modifiers.disabled.push((day: Date) => {\n const isMaxSelected = max && selected.length > max - 1;\n const isSelected = selected.some((selectedDay) =>\n isSameDay(selectedDay, day)\n );\n return Boolean(isMaxSelected && !isSelected);\n });\n }\n\n const contextValue = {\n selected,\n onDayClick,\n modifiers\n };\n\n return (\n <SelectMultipleContext.Provider value={contextValue}>\n {children}\n </SelectMultipleContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link SelectMultipleContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nexport function useSelectMultiple(): SelectMultipleContextValue {\n const context = useContext(SelectMultipleContext);\n if (!context) {\n throw new Error(\n 'useSelectMultiple must be used within a SelectMultipleProvider'\n );\n }\n return context;\n}\n","import isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { DateRange } from 'types/Matchers';\n\n/**\n * Add a day to an existing range.\n *\n * The returned range takes in account the `undefined` values and if the added\n * day is already present in the range.\n */\nexport function addToRange(\n day: Date,\n range?: DateRange\n): DateRange | undefined {\n const { from, to } = range || {};\n if (!from) {\n return { from: day, to: undefined };\n }\n if (!to && isSameDay(from, day)) {\n return { from: from, to: day };\n }\n if (!to && isBefore(day, from)) {\n return { from: day, to: from };\n }\n if (!to) {\n return { from, to: day };\n }\n if (isSameDay(to, day) && isSameDay(from, day)) {\n return undefined;\n }\n if (isSameDay(to, day)) {\n return { from: to, to: undefined };\n }\n if (isSameDay(from, day)) {\n return undefined;\n }\n if (isAfter(from, day)) {\n return { from: day, to };\n }\n return { from, to: day };\n}\n","import React, { createContext, ReactNode, useContext } from 'react';\n\nimport { isSameDay } from 'date-fns';\nimport addDays from 'date-fns/addDays';\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\nimport subDays from 'date-fns/subDays';\n\nimport { DayPickerBase } from 'types/DayPickerBase';\nimport { DayPickerRangeProps, isDayPickerRange } from 'types/DayPickerRange';\nimport { DayClickEventHandler } from 'types/EventHandlers';\nimport { DateRange } from 'types/Matchers';\nimport { InternalModifier, Modifiers } from 'types/Modifiers';\n\nimport { addToRange } from './utils/addToRange';\n\n/** Represent the modifiers that are changed by the range selection. */\nexport type SelectRangeModifiers = Pick<\n Modifiers,\n | InternalModifier.Disabled\n | InternalModifier.RangeEnd\n | InternalModifier.RangeMiddle\n | InternalModifier.RangeStart\n>;\n\n/** Represents the value of a {@link SelectRangeContext}. */\nexport interface SelectRangeContextValue {\n /** The range of days that has been selected. */\n selected: DateRange | undefined;\n /** The modifiers for the corresponding selection. */\n modifiers: SelectRangeModifiers;\n /** Event handler to attach to the day button to enable the range select. */\n onDayClick?: DayClickEventHandler;\n}\n\n/**\n * The SelectRange context shares details about the selected days when in\n * range selection mode.\n *\n * Access this context from the {@link useSelectRange} hook.\n */\nexport const SelectRangeContext = createContext<\n SelectRangeContextValue | undefined\n>(undefined);\n\ntype SelectRangeProviderProps = {\n initialProps: DayPickerBase;\n children: ReactNode;\n};\n\n/** Provides the values for the {@link SelectRangeProvider}. */\nexport function SelectRangeProvider(\n props: SelectRangeProviderProps\n): JSX.Element {\n if (!isDayPickerRange(props.initialProps)) {\n const emptyContextValue: SelectRangeContextValue = {\n selected: undefined,\n modifiers: {\n range_start: [],\n range_end: [],\n range_middle: [],\n disabled: []\n }\n };\n return (\n <SelectRangeContext.Provider value={emptyContextValue}>\n {props.children}\n </SelectRangeContext.Provider>\n );\n }\n return (\n <SelectRangeProviderInternal\n initialProps={props.initialProps}\n children={props.children}\n />\n );\n}\n\ntype SelectRangeProviderInternalProps = {\n initialProps: DayPickerRangeProps;\n children: ReactNode;\n};\n\nexport function SelectRangeProviderInternal({\n initialProps,\n children\n}: SelectRangeProviderInternalProps): JSX.Element {\n const { selected } = initialProps;\n const { from: selectedFrom, to: selectedTo } = selected || {};\n const min = initialProps.min;\n const max = initialProps.max;\n\n const onDayClick: DayClickEventHandler = (day, activeModifiers, e) => {\n initialProps.onDayClick?.(day, activeModifiers, e);\n const newRange = addToRange(day, selected);\n initialProps.onSelect?.(newRange, day, activeModifiers, e);\n };\n\n const modifiers: SelectRangeModifiers = {\n range_start: [],\n range_end: [],\n range_middle: [],\n disabled: []\n };\n\n if (selectedFrom) {\n modifiers.range_start = [selectedFrom];\n if (!selectedTo) {\n modifiers.range_end = [selectedFrom];\n } else {\n modifiers.range_end = [selectedTo];\n if (!isSameDay(selectedFrom, selectedTo)) {\n modifiers.range_middle = [\n {\n after: selectedFrom,\n before: selectedTo\n }\n ];\n }\n }\n }\n\n if (min) {\n if (selectedFrom && !selectedTo) {\n modifiers.disabled.push({\n after: subDays(selectedFrom, min - 1),\n before: addDays(selectedFrom, min - 1)\n });\n }\n if (selectedFrom && selectedTo) {\n modifiers.disabled.push({\n after: selectedFrom,\n before: addDays(selectedFrom, min - 1)\n });\n }\n }\n if (max) {\n if (selectedFrom && !selectedTo) {\n modifiers.disabled.push({\n before: addDays(selectedFrom, -max + 1)\n });\n modifiers.disabled.push({\n after: addDays(selectedFrom, max - 1)\n });\n }\n if (selectedFrom && selectedTo) {\n const selectedCount =\n differenceInCalendarDays(selectedTo, selectedFrom) + 1;\n const offset = max - selectedCount;\n modifiers.disabled.push({\n before: subDays(selectedFrom, offset)\n });\n modifiers.disabled.push({\n after: addDays(selectedTo, offset)\n });\n }\n }\n\n return (\n <SelectRangeContext.Provider value={{ selected, onDayClick, modifiers }}>\n {children}\n </SelectRangeContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link SelectRangeContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nexport function useSelectRange(): SelectRangeContextValue {\n const context = useContext(SelectRangeContext);\n if (!context) {\n throw new Error('useSelectRange must be used within a SelectRangeProvider');\n }\n return context;\n}\n","import { Matcher } from 'types/Matchers';\n\n/** Normalize to array a matcher input. */\nexport function matcherToArray(\n matcher: Matcher | Matcher[] | undefined\n): Matcher[] {\n if (Array.isArray(matcher)) {\n return [...matcher];\n } else if (matcher !== undefined) {\n return [matcher];\n } else {\n return [];\n }\n}\n","import { CustomModifiers, DayModifiers } from 'types/Modifiers';\n\nimport { matcherToArray } from './matcherToArray';\n\n/** Create CustomModifiers from dayModifiers */\nexport function getCustomModifiers(\n dayModifiers: DayModifiers\n): CustomModifiers {\n const customModifiers: CustomModifiers = {};\n Object.entries(dayModifiers).forEach(([modifier, matcher]) => {\n customModifiers[modifier] = matcherToArray(matcher);\n });\n return customModifiers;\n}\n","import { Matcher } from './Matchers';\n\n/** A _modifier_ represents different styles or states of a day displayed in the calendar. */\nexport type Modifier = string;\n\n/** The modifiers used by DayPicker. */\nexport type Modifiers = CustomModifiers & InternalModifiers;\n\n/** The name of the modifiers that are used internally by DayPicker. */\nexport enum InternalModifier {\n Outside = 'outside',\n /** Name of the modifier applied to the disabled days, using the `disabled` prop. */\n Disabled = 'disabled',\n /** Name of the modifier applied to the selected days using the `selected` prop). */\n Selected = 'selected',\n /** Name of the modifier applied to the hidden days using the `hidden` prop). */\n Hidden = 'hidden',\n /** Name of the modifier applied to the day specified using the `today` prop). */\n Today = 'today',\n /** The modifier applied to the day starting a selected range, when in range selection mode. */\n RangeStart = 'range_start',\n /** The modifier applied to the day ending a selected range, when in range selection mode. */\n RangeEnd = 'range_end',\n /** The modifier applied to the days between the start and the end of a selected range, when in range selection mode. */\n RangeMiddle = 'range_middle'\n}\n\n/** Map of matchers used for the internal modifiers. */\nexport type InternalModifiers = Record<InternalModifier, Matcher[]>;\n\n/**\n * The modifiers that are matching a day in the calendar. Use the {@link useActiveModifiers} hook to get the modifiers for a day.\n *\n * ```\n * const activeModifiers: ActiveModifiers = {\n * selected: true,\n * customModifier: true\n * }\n * ```\n *\n * */\nexport type ActiveModifiers = Record<Modifier, true> &\n Partial<Record<InternalModifier, true>>;\n\n/** The style to apply to each day element matching a modifier. */\nexport type ModifiersStyles = Record<Modifier, React.CSSProperties> &\n Partial<Record<InternalModifier, React.CSSProperties>>;\n\n/** The classnames to assign to each day element matching a modifier. */\nexport type ModifiersClassNames = Record<Modifier, string> &\n Partial<Record<InternalModifier, string>>;\n\n/** The custom modifiers passed to the {@link DayPickerBase.modifiers}. */\nexport type DayModifiers = Record<Modifier, Matcher | Matcher[]>;\n\n/**\n * A map of matchers used as custom modifiers by DayPicker component. This is\n * the same as {@link DayModifiers]], but it accepts only array of [[Matcher}s.\n */\nexport type CustomModifiers = Record<Modifier, Matcher[]>;\n","import { DayPickerContextValue } from 'contexts/DayPicker';\nimport { SelectMultipleContextValue } from 'contexts/SelectMultiple';\nimport { SelectRangeContextValue } from 'contexts/SelectRange';\nimport { isDayPickerMultiple } from 'types/DayPickerMultiple';\nimport { isDayPickerRange } from 'types/DayPickerRange';\nimport { InternalModifier, InternalModifiers } from 'types/Modifiers';\n\nimport { matcherToArray } from './matcherToArray';\n\nconst {\n Selected,\n Disabled,\n Hidden,\n Today,\n RangeEnd,\n RangeMiddle,\n RangeStart,\n Outside\n} = InternalModifier;\n\n/** Return the {@link InternalModifiers} from the DayPicker and select contexts. */\nexport function getInternalModifiers(\n dayPicker: DayPickerContextValue,\n selectMultiple: SelectMultipleContextValue,\n selectRange: SelectRangeContextValue\n) {\n const internalModifiers: InternalModifiers = {\n [Selected]: matcherToArray(dayPicker.selected),\n [Disabled]: matcherToArray(dayPicker.disabled),\n [Hidden]: matcherToArray(dayPicker.hidden),\n [Today]: [dayPicker.today],\n [RangeEnd]: [],\n [RangeMiddle]: [],\n [RangeStart]: [],\n [Outside]: []\n };\n\n if (dayPicker.fromDate) {\n internalModifiers[Disabled].push({ before: dayPicker.fromDate });\n }\n if (dayPicker.toDate) {\n internalModifiers[Disabled].push({ after: dayPicker.toDate });\n }\n\n if (isDayPickerMultiple(dayPicker)) {\n internalModifiers[Disabled] = internalModifiers[Disabled].concat(\n selectMultiple.modifiers[Disabled]\n );\n } else if (isDayPickerRange(dayPicker)) {\n internalModifiers[Disabled] = internalModifiers[Disabled].concat(\n selectRange.modifiers[Disabled]\n );\n internalModifiers[RangeStart] = selectRange.modifiers[RangeStart];\n internalModifiers[RangeMiddle] = selectRange.modifiers[RangeMiddle];\n internalModifiers[RangeEnd] = selectRange.modifiers[RangeEnd];\n }\n return internalModifiers;\n}\n","import React, { createContext, ReactNode, useContext } from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useSelectMultiple } from 'contexts/SelectMultiple';\nimport { useSelectRange } from 'contexts/SelectRange';\nimport { CustomModifiers, InternalModifiers, Modifiers } from 'types/Modifiers';\n\nimport { getCustomModifiers } from './utils/getCustomModifiers';\nimport { getInternalModifiers } from './utils/getInternalModifiers';\n\n/** The Modifiers context store the modifiers used in DayPicker. To access the value of this context, use {@link useModifiers}. */\nexport const ModifiersContext = createContext<Modifiers | undefined>(undefined);\n\nexport type ModifiersProviderProps = {\n children: ReactNode;\n};\n\n/** Provide the value for the {@link ModifiersContext}. */\nexport function ModifiersProvider(props: ModifiersProviderProps): JSX.Element {\n const dayPicker = useDayPicker();\n const selectMultiple = useSelectMultiple();\n const selectRange = useSelectRange();\n\n const internalModifiers: InternalModifiers = getInternalModifiers(\n dayPicker,\n selectMultiple,\n selectRange\n );\n\n const customModifiers: CustomModifiers = getCustomModifiers(\n dayPicker.modifiers\n );\n\n const modifiers: Modifiers = {\n ...internalModifiers,\n ...customModifiers\n };\n\n return (\n <ModifiersContext.Provider value={modifiers}>\n {props.children}\n </ModifiersContext.Provider>\n );\n}\n\n/**\n * Return the modifiers used by DayPicker.\n *\n * This hook is meant to be used inside internal or custom components.\n * Requires to be wrapped into {@link ModifiersProvider}.\n *\n */\nexport function useModifiers(): Modifiers {\n const context = useContext(ModifiersContext);\n if (!context) {\n throw new Error('useModifiers must be used within a ModifiersProvider');\n }\n return context;\n}\n","/**\n * A value or a function that matches a specific day.\n *\n *\n * Matchers are passed to DayPicker via {@link DayPickerBase.disabled},\n * {@link DayPickerBase.hidden]] or [[DayPickerProps.selected} and are used to\n * determine if a day should get a {@link Modifier}.\n *\n * Matchers can be of different types:\n *\n * ```\n * // will always match the day\n * const booleanMatcher: Matcher = true;\n *\n * // will match the today's date\n * const dateMatcher: Matcher = new Date();\n *\n * // will match the days in the array\n * const arrayMatcher: Matcher = [new Date(2019, 1, 2);, new Date(2019, 1, 4)];\n *\n * // will match days after the 2nd of February 2019\n * const afterMatcher: DateAfter = { after: new Date(2019, 1, 2); };\n * // will match days before the 2nd of February 2019 }\n * const beforeMatcher: DateBefore = { before: : new Date(2019, 1, 2); };\n *\n * // will match Sundays\n * const dayOfWeekMatcher: DayOfWeek = {\n * dayOfWeek: 0\n * };\n *\n * // will match the included days, except the two dates\n * const intervalMatcher: DateInterval = {\n * after: new Date(2019, 1, 2);,\n * before: new Date(2019, 1, 5)\n * };\n *\n * // will match the included days, including the two dates\n * const rangeMatcher: DateRange = {\n * from: new Date(2019, 1, 2);,\n * to: new Date(2019, 1, 5)\n * };\n *\n * // will match when the function return true\n * const functionMatcher: Matcher = (day: Date) => {\n * return day.getMonth() === 2 // match when month is March\n * };\n * ```\n *\n * @see {@link isMatch}\n *\n * */\nexport type Matcher =\n | boolean\n | ((date: Date) => boolean)\n | Date\n | Date[]\n | DateRange\n | DateBefore\n | DateAfter\n | DateInterval\n | DayOfWeek;\n\n/** A matcher to match a day falling after the specified date, with the date not included. */\nexport type DateAfter = { after: Date };\n\n/** A matcher to match a day falling before the specified date, with the date not included. */\nexport type DateBefore = { before: Date };\n\n/** A matcher to match a day falling before and/or after two dates, where the dates are not included. */\nexport type DateInterval = { before: Date; after: Date };\n\n/** A matcher to match a range of dates. The range can be open. Differently from {@link DateInterval}, the dates here are included. */\nexport type DateRange = { from: Date | undefined; to?: Date | undefined };\n\n/** A matcher to match a date being one of the specified days of the week (`0-7`, where `0` is Sunday). */\nexport type DayOfWeek = { dayOfWeek: number[] };\n\n/** Returns true if `matcher` is of type {@link DateInterval}. */\nexport function isDateInterval(matcher: unknown): matcher is DateInterval {\n return Boolean(\n matcher &&\n typeof matcher === 'object' &&\n 'before' in matcher &&\n 'after' in matcher\n );\n}\n\n/** Returns true if `value` is a {@link DateRange} type. */\nexport function isDateRange(value: unknown): value is DateRange {\n return Boolean(value && typeof value === 'object' && 'from' in value);\n}\n\n/** Returns true if `value` is of type {@link DateAfter}. */\nexport function isDateAfterType(value: unknown): value is DateAfter {\n return Boolean(value && typeof value === 'object' && 'after' in value);\n}\n\n/** Returns true if `value` is of type {@link DateBefore}. */\nexport function isDateBeforeType(value: unknown): value is DateBefore {\n return Boolean(value && typeof value === 'object' && 'before' in value);\n}\n\n/** Returns true if `value` is a {@link DayOfWeek} type. */\nexport function isDayOfWeekType(value: unknown): value is DayOfWeek {\n return Boolean(value && typeof value === 'object' && 'dayOfWeek' in value);\n}\n","import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { DateRange } from 'types/Matchers';\n\n/** Return `true` whether `date` is inside `range`. */\nexport function isDateInRange(date: Date, range: DateRange): boolean {\n let { from, to } = range;\n if (!from) {\n return false;\n }\n if (!to && isSameDay(from, date)) {\n return true;\n }\n if (!to) {\n return false;\n }\n const isRangeInverted = differenceInCalendarDays(to, from) < 0;\n if (isRangeInverted) {\n [from, to] = [to, from];\n }\n const isInRange =\n differenceInCalendarDays(date, from) >= 0 &&\n differenceInCalendarDays(to, date) >= 0;\n return isInRange;\n}\n","import { isAfter } from 'date-fns';\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\nimport isDate from 'date-fns/isDate';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport {\n isDateAfterType,\n isDateBeforeType,\n isDateInterval,\n isDateRange,\n isDayOfWeekType,\n Matcher\n} from 'types/Matchers';\n\nimport { isDateInRange } from './isDateInRange';\n\n/** Returns true if `value` is a Date type. */\nfunction isDateType(value: unknown): value is Date {\n return isDate(value);\n}\n\n/** Returns true if `value` is an array of valid dates. */\nfunction isArrayOfDates(value: unknown): value is Date[] {\n return Array.isArray(value) && value.every(isDate);\n}\n\n/**\n * Returns whether a day matches against at least one of the given Matchers.\n *\n * ```\n * const day = new Date(2022, 5, 19);\n * const matcher1: DateRange = {\n * from: new Date(2021, 12, 21),\n * to: new Date(2021, 12, 30)\n * }\n * const matcher2: DateRange = {\n * from: new Date(2022, 5, 1),\n * to: new Date(2022, 5, 23)\n * }\n *\n * const isMatch(day, [matcher1, matcher2]); // true, since day is in the matcher1 range.\n * ```\n * */\nexport function isMatch(day: Date, matchers: Matcher[]): boolean {\n return matchers.some((matcher: Matcher) => {\n if (typeof matcher === 'boolean') {\n return matcher;\n }\n if (isDateType(matcher)) {\n return isSameDay(day, matcher);\n }\n if (isArrayOfDates(matcher)) {\n return matcher.includes(day);\n }\n if (isDateRange(matcher)) {\n return isDateInRange(day, matcher);\n }\n if (isDayOfWeekType(matcher)) {\n return matcher.dayOfWeek.includes(day.getDay());\n }\n if (isDateInterval(matcher)) {\n const diffBefore = differenceInCalendarDays(matcher.before, day);\n const diffAfter = differenceInCalendarDays(matcher.after, day);\n const isDayBefore = diffBefore > 0;\n const isDayAfter = diffAfter < 0;\n const isClosedInterval = isAfter(matcher.before, matcher.after);\n if (isClosedInterval) {\n return isDayAfter && isDayBefore;\n } else {\n return isDayBefore || isDayAfter;\n }\n }\n if (isDateAfterType(matcher)) {\n return differenceInCalendarDays(day, matcher.after) > 0;\n }\n if (isDateBeforeType(matcher)) {\n return differenceInCalendarDays(matcher.before, day) > 0;\n }\n if (typeof matcher === 'function') {\n return matcher(day);\n }\n return false;\n });\n}\n","import isSameMonth from 'date-fns/isSameMonth';\n\nimport { ActiveModifiers, Modifiers } from 'types/Modifiers';\n\nimport { isMatch } from './isMatch';\n\n/** Return the active modifiers for the given day. */\nexport function getActiveModifiers(\n day: Date,\n /** The modifiers to match for the given date. */\n modifiers: Modifiers,\n /** The month where the day is displayed, to add the \"outside\" modifiers. */\n displayMonth?: Date\n): ActiveModifiers {\n const matchedModifiers = Object.keys(modifiers).reduce(\n (result: string[], key: string): string[] => {\n const modifier = modifiers[key];\n if (isMatch(day, modifier)) {\n result.push(key);\n }\n return result;\n },\n []\n );\n const activeModifiers: ActiveModifiers = {};\n matchedModifiers.forEach((modifier) => (activeModifiers[modifier] = true));\n\n if (displayMonth && !isSameMonth(day, displayMonth)) {\n activeModifiers.outside = true;\n }\n\n return activeModifiers;\n}\n","import addDays from 'date-fns/addDays';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { getActiveModifiers } from 'contexts/Modifiers';\nimport { Modifiers } from 'types/Modifiers';\n\n/**\n * Returns the day that should be the target of the focus when DayPicker is\n * rendered the first time.\n *\n * TODO: this function doesn't consider if the day is outside the month. We\n * implemented this check in `useDayRender` but it should probably go here. See\n * https://github.com/gpbl/react-day-picker/pull/1576\n */\nexport function getInitialFocusTarget(\n displayMonths: Date[],\n modifiers: Modifiers\n) {\n const firstDayInMonth = startOfMonth(displayMonths[0]);\n const lastDayInMonth = endOfMonth(displayMonths[displayMonths.length - 1]);\n\n // TODO: cleanup code\n let firstFocusableDay;\n let today;\n let date = firstDayInMonth;\n while (date <= lastDayInMonth) {\n const activeModifiers = getActiveModifiers(date, modifiers);\n const isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;\n if (!isFocusable) {\n date = addDays(date, 1);\n continue;\n }\n if (activeModifiers.selected) {\n return date;\n }\n if (activeModifiers.today && !today) {\n today = date;\n }\n if (!firstFocusableDay) {\n firstFocusableDay = date;\n }\n date = addDays(date, 1);\n }\n if (today) {\n return today;\n } else {\n return firstFocusableDay;\n }\n}\n","import addDays from 'date-fns/addDays';\nimport addMonths from 'date-fns/addMonths';\nimport addWeeks from 'date-fns/addWeeks';\nimport addYears from 'date-fns/addYears';\nimport endOfISOWeek from 'date-fns/endOfISOWeek';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport max from 'date-fns/max';\nimport min from 'date-fns/min';\nimport startOfISOWeek from 'date-fns/startOfISOWeek';\nimport startOfWeek from 'date-fns/startOfWeek';\n\nimport { DayPickerContextValue } from 'contexts/DayPicker';\nimport { getActiveModifiers } from 'contexts/Modifiers';\nimport { Modifiers } from 'types/Modifiers';\n\nexport type MoveFocusBy =\n | 'day'\n | 'week'\n | 'startOfWeek'\n | 'endOfWeek'\n | 'month'\n | 'year';\n\nexport type MoveFocusDirection = 'after' | 'before';\n\nexport type FocusDayPickerContext = Partial<\n Pick<\n DayPickerContextValue,\n 'ISOWeek' | 'weekStartsOn' | 'fromDate' | 'toDate' | 'locale'\n >\n>;\n\nexport type FocusDayOptions = {\n moveBy: MoveFocusBy;\n direction: MoveFocusDirection;\n context: FocusDayPickerContext;\n modifiers?: Modifiers;\n retry?: { count: number; lastFocused: Date };\n};\n\nconst MAX_RETRY = 365;\n\n/** Return the next date to be focused. */\nexport function getNextFocus(focusedDay: Date, options: FocusDayOptions): Date {\n const {\n moveBy,\n direction,\n context,\n modifiers,\n retry = { count: 0, lastFocused: focusedDay }\n } = options;\n const { weekStartsOn, fromDate, toDate, locale } = context;\n\n const moveFns = {\n day: addDays,\n week: addWeeks,\n month: addMonths,\n year: addYears,\n startOfWeek: (date: Date) =>\n context.ISOWeek\n ? startOfISOWeek(date)\n : startOfWeek(date, { locale, weekStartsOn }),\n endOfWeek: (date: Date) =>\n context.ISOWeek\n ? endOfISOWeek(date)\n : endOfWeek(date, { locale, weekStartsOn })\n };\n\n let newFocusedDay = moveFns[moveBy](\n focusedDay,\n direction === 'after' ? 1 : -1\n );\n\n if (direction === 'before' && fromDate) {\n newFocusedDay = max([fromDate, newFocusedDay]);\n } else if (direction === 'after' && toDate) {\n newFocusedDay = min([toDate, newFocusedDay]);\n }\n let isFocusable = true;\n\n if (modifiers) {\n const activeModifiers = getActiveModifiers(newFocusedDay, modifiers);\n isFocusable = !activeModifiers.disabled && !activeModifiers.hidden;\n }\n if (isFocusable) {\n return newFocusedDay;\n } else {\n if (retry.count > MAX_RETRY) {\n return retry.lastFocused;\n }\n return getNextFocus(newFocusedDay, {\n moveBy,\n direction,\n context,\n modifiers,\n retry: {\n ...retry,\n count: retry.count + 1\n }\n });\n }\n}\n","import React, { createContext, ReactNode, useContext, useState } from 'react';\n\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\nimport { useModifiers } from '../Modifiers';\nimport { useNavigation } from '../Navigation';\nimport { getInitialFocusTarget } from './utils/getInitialFocusTarget';\nimport {\n getNextFocus,\n MoveFocusBy,\n MoveFocusDirection\n} from './utils/getNextFocus';\n\n/** Represents the value of the {@link FocusContext}. */\nexport type FocusContextValue = {\n /** The day currently focused. */\n focusedDay: Date | undefined;\n /** Day that will be focused. */\n focusTarget: Date | undefined;\n /** Focus a day. */\n focus: (day: Date) => void;\n /** Blur the focused day. */\n blur: () => void;\n /** Focus the day after the focused day. */\n focusDayAfter: () => void;\n /** Focus the day before the focused day. */\n focusDayBefore: () => void;\n /** Focus the day in the week before the focused day. */\n focusWeekBefore: () => void;\n /** Focus the day in the week after the focused day. */\n focusWeekAfter: () => void;\n /* Focus the day in the month before the focused day. */\n focusMonthBefore: () => void;\n /* Focus the day in the month after the focused day. */\n focusMonthAfter: () => void;\n /* Focus the day in the year before the focused day. */\n focusYearBefore: () => void;\n /* Focus the day in the year after the focused day. */\n focusYearAfter: () => void;\n /* Focus the day at the start of the week of the focused day. */\n focusStartOfWeek: () => void;\n /* Focus the day at the end of the week of focused day. */\n focusEndOfWeek: () => void;\n};\n\n/**\n * The Focus context shares details about the focused day for the keyboard\n *\n * Access this context from the {@link useFocusContext} hook.\n */\nexport const FocusContext = createContext<FocusContextValue | undefined>(\n undefined\n);\n\n/** The provider for the {@link FocusContext}. */\nexport function FocusProvider(props: { children: ReactNode }): JSX.Element {\n const navigation = useNavigation();\n const modifiers = useModifiers();\n\n const [focusedDay, setFocusedDay] = useState<Date | undefined>();\n const [lastFocused, setLastFocused] = useState<Date | undefined>();\n\n const initialFocusTarget = getInitialFocusTarget(\n navigation.displayMonths,\n modifiers\n );\n\n // TODO: cleanup and test obscure code below\n const focusTarget =\n focusedDay ?? (lastFocused && navigation.isDateDisplayed(lastFocused))\n ? lastFocused\n : initialFocusTarget;\n\n const blur = () => {\n setLastFocused(focusedDay);\n setFocusedDay(undefined);\n };\n const focus = (date: Date) => {\n setFocusedDay(date);\n };\n\n const context = useDayPicker();\n\n const moveFocus = (moveBy: MoveFocusBy, direction: MoveFocusDirection) => {\n if (!focusedDay) return;\n const nextFocused = getNextFocus(focusedDay, {\n moveBy,\n direction,\n context,\n modifiers\n });\n if (isSameDay(focusedDay, nextFocused)) return undefined;\n navigation.goToDate(nextFocused, focusedDay);\n focus(nextFocused);\n };\n\n const value: FocusContextValue = {\n focusedDay,\n focusTarget,\n blur,\n focus,\n focusDayAfter: () => moveFocus('day', 'after'),\n focusDayBefore: () => moveFocus('day', 'before'),\n focusWeekAfter: () => moveFocus('week', 'after'),\n focusWeekBefore: () => moveFocus('week', 'before'),\n focusMonthBefore: () => moveFocus('month', 'before'),\n focusMonthAfter: () => moveFocus('month', 'after'),\n focusYearBefore: () => moveFocus('year', 'before'),\n focusYearAfter: () => moveFocus('year', 'after'),\n focusStartOfWeek: () => moveFocus('startOfWeek', 'before'),\n focusEndOfWeek: () => moveFocus('endOfWeek', 'after')\n };\n\n return (\n <FocusContext.Provider value={value}>\n {props.children}\n </FocusContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link FocusContextValue}. Use this hook to handle the\n * focus state of the elements.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nexport function useFocusContext(): FocusContextValue {\n const context = useContext(FocusContext);\n if (!context) {\n throw new Error('useFocusContext must be used within a FocusProvider');\n }\n return context;\n}\n","import { getActiveModifiers, useModifiers } from 'contexts/Modifiers';\nimport { ActiveModifiers } from 'types/Modifiers';\n\n/**\n * Return the active modifiers for the specified day.\n *\n * This hook is meant to be used inside internal or custom components.\n *\n * @param day\n * @param displayMonth\n */\nexport function useActiveModifiers(\n day: Date,\n /**\n * The month where the date is displayed. If not the same as `date`, the day\n * is an \"outside day\".\n */\n displayMonth?: Date\n): ActiveModifiers {\n const modifiers = useModifiers();\n const activeModifiers = getActiveModifiers(day, modifiers, displayMonth);\n return activeModifiers;\n}\n","import React, { createContext, useContext } from 'react';\n\nimport { DayPickerBase } from 'types/DayPickerBase';\nimport { DayPickerSingleProps, isDayPickerSingle } from 'types/DayPickerSingle';\nimport { DayClickEventHandler } from 'types/EventHandlers';\n\n/** Represents the value of a {@link SelectSingleContext}. */\nexport interface SelectSingleContextValue {\n /** The day that has been selected. */\n selected: Date | undefined;\n /** Event handler to attach to the day button to enable the single select. */\n onDayClick?: DayClickEventHandler;\n}\n\n/**\n * The SelectSingle context shares details about the selected days when in\n * single selection mode.\n *\n * Access this context from the {@link useSelectSingle} hook.\n */\nexport const SelectSingleContext = createContext<\n SelectSingleContextValue | undefined\n>(undefined);\n\ntype SelectSingleProviderProps = {\n initialProps: DayPickerBase;\n children: React.ReactNode;\n};\n\n/** Provides the values for the {@link SelectSingleProvider}. */\nexport function SelectSingleProvider(\n props: SelectSingleProviderProps\n): JSX.Element {\n if (!isDayPickerSingle(props.initialProps)) {\n const emptyContextValue: SelectSingleContextValue = {\n selected: undefined\n };\n return (\n <SelectSingleContext.Provider value={emptyContextValue}>\n {props.children}\n </SelectSingleContext.Provider>\n );\n }\n return (\n <SelectSingleProviderInternal\n initialProps={props.initialProps}\n children={props.children}\n />\n );\n}\n\ntype SelectSingleProviderInternal = {\n initialProps: DayPickerSingleProps;\n children: React.ReactNode;\n};\n\nexport function SelectSingleProviderInternal({\n initialProps,\n children\n}: SelectSingleProviderInternal): JSX.Element {\n const onDayClick: DayClickEventHandler = (day, activeModifiers, e) => {\n initialProps.onDayClick?.(day, activeModifiers, e);\n\n if (activeModifiers.selected && !initialProps.required) {\n initialProps.onSelect?.(undefined, day, activeModifiers, e);\n return;\n }\n initialProps.onSelect?.(day, day, activeModifiers, e);\n };\n\n const contextValue: SelectSingleContextValue = {\n selected: initialProps.selected,\n onDayClick\n };\n return (\n <SelectSingleContext.Provider value={contextValue}>\n {children}\n </SelectSingleContext.Provider>\n );\n}\n\n/**\n * Hook to access the {@link SelectSingleContextValue}.\n *\n * This hook is meant to be used inside internal or custom components.\n */\nexport function useSelectSingle(): SelectSingleContextValue {\n const context = useContext(SelectSingleContext);\n if (!context) {\n throw new Error(\n 'useSelectSingle must be used within a SelectSingleProvider'\n );\n }\n return context;\n}\n","import {\n FocusEventHandler,\n HTMLProps,\n KeyboardEventHandler,\n MouseEventHandler,\n PointerEventHandler,\n TouchEventHandler\n} from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useFocusContext } from 'contexts/Focus';\nimport { useSelectMultiple } from 'contexts/SelectMultiple';\nimport { useSelectRange } from 'contexts/SelectRange';\nimport { useSelectSingle } from 'contexts/SelectSingle';\nimport { isDayPickerMultiple } from 'types/DayPickerMultiple';\nimport { isDayPickerRange } from 'types/DayPickerRange';\nimport { isDayPickerSingle } from 'types/DayPickerSingle';\nimport { ActiveModifiers } from 'types/Modifiers';\n\nexport type EventName =\n | 'onClick'\n | 'onFocus'\n | 'onBlur'\n | 'onKeyDown'\n | 'onKeyUp'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'onPointerEnter'\n | 'onPointerLeave'\n | 'onTouchCancel'\n | 'onTouchEnd'\n | 'onTouchMove'\n | 'onTouchStart';\n\nexport type DayEventName =\n | 'onDayClick'\n | 'onDayFocus'\n | 'onDayBlur'\n | 'onDayKeyDown'\n | 'onDayKeyUp'\n | 'onDayMouseEnter'\n | 'onDayMouseLeave'\n | 'onDayPointerEnter'\n | 'onDayPointerLeave'\n | 'onDayTouchCancel'\n | 'onDayTouchEnd'\n | 'onDayTouchMove'\n | 'onDayTouchStart';\n\nexport type DayEventHandlers = Pick<HTMLProps<HTMLButtonElement>, EventName>;\n\n/**\n * This hook returns details about the content to render in the day cell.\n *\n *\n * When a day cell is rendered in the table, DayPicker can either:\n *\n * - render nothing: when the day is outside the month or has matched the\n * \"hidden\" modifier.\n * - render a button when `onDayClick` or a selection mode is set.\n * - render a non-interactive element: when no selection mode is set, the day\n * cell shouldn’t respond to any interaction. DayPicker should render a `div`\n * or a `span`.\n *\n * ### Usage\n *\n * Use this hook to customize the behavior of the {@link Day} component. Create a\n * new `Day` component using this hook and pass it to the `components` prop.\n * The source of {@link Day} can be a good starting point.\n *\n */\nexport function useDayEventHandlers(\n date: Date,\n activeModifiers: ActiveModifiers\n): DayEventHandlers {\n const dayPicker = useDayPicker();\n const single = useSelectSingle();\n const multiple = useSelectMultiple();\n const range = useSelectRange();\n const {\n focusDayAfter,\n focusDayBefore,\n focusWeekAfter,\n focusWeekBefore,\n blur,\n focus,\n focusMonthBefore,\n focusMonthAfter,\n focusYearBefore,\n focusYearAfter,\n focusStartOfWeek,\n focusEndOfWeek\n } = useFocusContext();\n\n const onClick: MouseEventHandler = (e) => {\n if (isDayPickerSingle(dayPicker)) {\n single.onDayClick?.(date, activeModifiers, e);\n } else if (isDayPickerMultiple(dayPicker)) {\n multiple.onDayClick?.(date, activeModifiers, e);\n } else if (isDayPickerRange(dayPicker)) {\n range.onDayClick?.(date, activeModifiers, e);\n } else {\n dayPicker.onDayClick?.(date, activeModifiers, e);\n }\n };\n\n const onFocus: FocusEventHandler = (e) => {\n focus(date);\n dayPicker.onDayFocus?.(date, activeModifiers, e);\n };\n\n const onBlur: FocusEventHandler = (e) => {\n blur();\n dayPicker.onDayBlur?.(date, activeModifiers, e);\n };\n\n const onMouseEnter: MouseEventHandler = (e) => {\n dayPicker.onDayMouseEnter?.(date, activeModifiers, e);\n };\n const onMouseLeave: MouseEventHandler = (e) => {\n dayPicker.onDayMouseLeave?.(date, activeModifiers, e);\n };\n const onPointerEnter: PointerEventHandler = (e) => {\n dayPicker.onDayPointerEnter?.(date, activeModifiers, e);\n };\n const onPointerLeave: PointerEventHandler = (e) => {\n dayPicker.onDayPointerLeave?.(date, activeModifiers, e);\n };\n const onTouchCancel: TouchEventHandler = (e) => {\n dayPicker.onDayTouchCancel?.(date, activeModifiers, e);\n };\n const onTouchEnd: TouchEventHandler = (e) => {\n dayPicker.onDayTouchEnd?.(date, activeModifiers, e);\n };\n const onTouchMove: TouchEventHandler = (e) => {\n dayPicker.onDayTouchMove?.(date, activeModifiers, e);\n };\n const onTouchStart: TouchEventHandler = (e) => {\n dayPicker.onDayTouchStart?.(date, activeModifiers, e);\n };\n\n const onKeyUp: KeyboardEventHandler = (e) => {\n dayPicker.onDayKeyUp?.(date, activeModifiers, e);\n };\n\n const onKeyDown: KeyboardEventHandler = (e) => {\n switch (e.key) {\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n dayPicker.dir === 'rtl' ? focusDayAfter() : focusDayBefore();\n break;\n case 'ArrowRight':\n e.preventDefault();\n e.stopPropagation();\n dayPicker.dir === 'rtl' ? focusDayBefore() : focusDayAfter();\n break;\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n focusWeekAfter();\n break;\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n focusWeekBefore();\n break;\n case 'PageUp':\n e.preventDefault();\n e.stopPropagation();\n e.shiftKey ? focusYearBefore() : focusMonthBefore();\n break;\n case 'PageDown':\n e.preventDefault();\n e.stopPropagation();\n e.shiftKey ? focusYearAfter() : focusMonthAfter();\n break;\n case 'Home':\n e.preventDefault();\n e.stopPropagation();\n focusStartOfWeek();\n break;\n case 'End':\n e.preventDefault();\n e.stopPropagation();\n focusEndOfWeek();\n break;\n }\n dayPicker.onDayKeyDown?.(date, activeModifiers, e);\n };\n\n const eventHandlers: DayEventHandlers = {\n onClick,\n onFocus,\n onBlur,\n onKeyDown,\n onKeyUp,\n onMouseEnter,\n onMouseLeave,\n onPointerEnter,\n onPointerLeave,\n onTouchCancel,\n onTouchEnd,\n onTouchMove,\n onTouchStart\n };\n\n return eventHandlers;\n}\n","import { useDayPicker } from 'contexts/DayPicker';\nimport { useSelectMultiple } from 'contexts/SelectMultiple';\nimport { useSelectRange } from 'contexts/SelectRange';\nimport { useSelectSingle } from 'contexts/SelectSingle';\nimport { isDayPickerMultiple } from 'types/DayPickerMultiple';\nimport { isDayPickerRange } from 'types/DayPickerRange';\nimport { isDayPickerSingle } from 'types/DayPickerSingle';\nimport { DateRange } from 'types/Matchers';\n\nexport type SelectedDays = Date | Date[] | DateRange | undefined;\n\n/**\n * Return the current selected days when DayPicker is in selection mode. Days\n * selected by the custom selection mode are not returned.\n *\n * This hook is meant to be used inside internal or custom components.\n *\n */\nexport function useSelectedDays(): SelectedDays {\n const dayPicker = useDayPicker();\n const single = useSelectSingle();\n const multiple = useSelectMultiple();\n const range = useSelectRange();\n\n const selectedDays = isDayPickerSingle(dayPicker)\n ? single.selected\n : isDayPickerMultiple(dayPicker)\n ? multiple.selected\n : isDayPickerRange(dayPicker)\n ? range.selected\n : undefined;\n\n return selectedDays;\n}\n","import { DayPickerContextValue } from 'contexts/DayPicker';\nimport { ActiveModifiers, InternalModifier } from 'types/Modifiers';\n\nfunction isInternalModifier(modifier: string): modifier is InternalModifier {\n return Object.values(InternalModifier).includes(modifier as InternalModifier);\n}\n\n/**\n * Return the class names for the Day element, according to the given active\n * modifiers.\n *\n * Custom class names are set via `modifiersClassNames` or `classNames`,\n * where the first have the precedence.\n */\nexport function getDayClassNames(\n dayPicker: Pick<DayPickerContextValue, 'modifiersClassNames' | 'classNames'>,\n activeModifiers: ActiveModifiers\n) {\n const classNames: string[] = [dayPicker.classNames.day];\n Object.keys(activeModifiers).forEach((modifier) => {\n const customClassName = dayPicker.modifiersClassNames[modifier];\n if (customClassName) {\n classNames.push(customClassName);\n } else if (isInternalModifier(modifier)) {\n const internalClassName = dayPicker.classNames[`day_${modifier}`];\n if (internalClassName) {\n classNames.push(internalClassName);\n }\n }\n });\n return classNames;\n}\n","import { DayPickerContextValue } from 'contexts/DayPicker';\nimport { ActiveModifiers } from 'types/Modifiers';\n\n/** Return the style for the Day element, according to the given active modifiers. */\nexport function getDayStyle(\n dayPicker: Pick<DayPickerContextValue, 'modifiersStyles' | 'styles'>,\n activeModifiers: ActiveModifiers\n): React.CSSProperties {\n let style: React.CSSProperties = {\n ...dayPicker.styles.day\n };\n Object.keys(activeModifiers).forEach((modifier) => {\n style = {\n ...style,\n ...dayPicker.modifiersStyles?.[modifier]\n };\n });\n return style;\n}\n","import React, { useEffect } from 'react';\n\nimport isSameDay from 'date-fns/isSameDay';\n\nimport { ButtonProps } from 'components/Button';\nimport { DayContent } from 'components/DayContent';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useFocusContext } from 'contexts/Focus';\nimport { useActiveModifiers } from 'hooks/useActiveModifiers';\nimport {\n DayEventHandlers,\n useDayEventHandlers\n} from 'hooks/useDayEventHandlers';\nimport { SelectedDays, useSelectedDays } from 'hooks/useSelectedDays';\nimport { ActiveModifiers } from 'types/Modifiers';\nimport { StyledComponent } from 'types/Styles';\n\nimport { getDayClassNames } from './utils/getDayClassNames';\nimport { getDayStyle } from './utils/getDayStyle';\n\nexport type DayRender = {\n /** Whether the day should be rendered a `button` instead of a `div` */\n isButton: boolean;\n /** Whether the day should be hidden. */\n isHidden: boolean;\n /** The modifiers active for the given day. */\n activeModifiers: ActiveModifiers;\n /** The props to apply to the button element (when `isButton` is true). */\n buttonProps: StyledComponent &\n Pick<ButtonProps, 'disabled' | 'aria-pressed' | 'tabIndex'> &\n DayEventHandlers;\n /** The props to apply to the div element (when `isButton` is false). */\n divProps: StyledComponent;\n selectedDays: SelectedDays;\n};\n\n/**\n * Return props and data used to render the {@link Day} component.\n *\n * Use this hook when creating a component to replace the built-in `Day`\n * component.\n */\nexport function useDayRender(\n /** The date to render. */\n day: Date,\n /** The month where the date is displayed (if not the same as `date`, it means it is an \"outside\" day). */\n displayMonth: Date,\n /** A ref to the button element that will be target of focus when rendered (if required). */\n buttonRef: React.RefObject<HTMLButtonElement>\n): DayRender {\n const dayPicker = useDayPicker();\n const focusContext = useFocusContext();\n const activeModifiers = useActiveModifiers(day, displayMonth);\n const eventHandlers = useDayEventHandlers(day, activeModifiers);\n const selectedDays = useSelectedDays();\n const isButton = Boolean(\n dayPicker.onDayClick || dayPicker.mode !== 'default'\n );\n\n // Focus the button if the day is focused according to the focus context\n useEffect(() => {\n if (activeModifiers.outside) return;\n if (!focusContext.focusedDay) return;\n if (!isButton) return;\n if (isSameDay(focusContext.focusedDay, day)) {\n buttonRef.current?.focus();\n }\n }, [\n focusContext.focusedDay,\n day,\n buttonRef,\n isButton,\n activeModifiers.outside\n ]);\n\n const className = getDayClassNames(dayPicker, activeModifiers).join(' ');\n const style = getDayStyle(dayPicker, activeModifiers);\n const ariaLabel = dayPicker.labels.labelDay(day, activeModifiers, {\n locale: dayPicker.locale\n });\n const isHidden = Boolean(\n (activeModifiers.outside && !dayPicker.showOutsideDays) ||\n activeModifiers.hidden\n );\n\n const DayContentComponent = dayPicker.components?.DayContent ?? DayContent;\n const children = (\n <DayContentComponent\n date={day}\n displayMonth={displayMonth}\n activeModifiers={activeModifiers}\n />\n );\n\n const divProps = {\n style,\n className,\n children,\n 'aria-label': ariaLabel\n };\n\n const isFocusTarget =\n focusContext.focusTarget &&\n isSameDay(focusContext.focusTarget, day) &&\n !activeModifiers.outside;\n\n const isFocused =\n focusContext.focusedDay && isSameDay(focusContext.focusedDay, day);\n\n const buttonProps = {\n ...divProps,\n disabled: activeModifiers.disabled,\n ['aria-pressed']: activeModifiers.selected,\n ['aria-label']: ariaLabel,\n tabIndex: isFocused || isFocusTarget ? 0 : -1,\n ...eventHandlers\n };\n\n const dayRender: DayRender = {\n isButton,\n isHidden,\n activeModifiers: activeModifiers,\n selectedDays,\n buttonProps,\n divProps\n };\n\n return dayRender;\n}\n","import React, { useRef } from 'react';\n\nimport { useDayRender } from 'hooks/useDayRender';\n\nimport { Button } from '../Button';\n\n/** Represent the props used by the {@link Day} component. */\nexport interface DayProps {\n /** The month where the date is displayed. */\n displayMonth: Date;\n /** The date to render. */\n date: Date;\n}\n\n/**\n * The content of a day cell – as a button or span element according to its\n * modifiers.\n */\nexport function Day(props: DayProps): JSX.Element {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const dayRender = useDayRender(props.date, props.displayMonth, buttonRef);\n\n if (dayRender.isHidden) {\n return <></>;\n }\n if (!dayRender.isButton) {\n return <div {...dayRender.divProps} />;\n }\n return <Button name=\"day\" ref={buttonRef} {...dayRender.buttonProps} />;\n}\n","import React from 'react';\n\nimport { useDayPicker } from 'contexts/DayPicker';\n\nimport { Button } from '../Button';\n\n/**\n * The props for the {@link WeekNumber} component.\n */\nexport interface WeekNumberProps {\n /** The number of the week. */\n number: number;\n /** The dates in the week. */\n dates: Date[];\n}\n\n/**\n * Render the week number element. If `onWeekNumberClick` is passed to DayPicker, it\n * renders a button, otherwise a span element.\n */\nexport function WeekNumber(props: WeekNumberProps): JSX.Element {\n const { number: weekNumber, dates } = props;\n const {\n onWeekNumberClick,\n styles,\n classNames,\n locale,\n labels: { labelWeekNumber },\n formatters: { formatWeekNumber }\n } = useDayPicker();\n\n const content = formatWeekNumber(Number(weekNumber), { locale });\n\n if (!onWeekNumberClick) {\n return (\n <span className={classNames.weeknumber} style={styles.weeknumber}>\n {content}\n </span>\n );\n }\n\n const label = labelWeekNumber(Number(weekNumber), { locale });\n\n const handleClick: React.MouseEventHandler = function (e) {\n onWeekNumberClick(weekNumber, dates, e);\n };\n\n return (\n <Button\n name=\"week-number\"\n aria-label={label}\n className={classNames.weeknumber}\n style={styles.weeknumber}\n onClick={handleClick}\n >\n {content}\n </Button>\n );\n}\n","import React from 'react';\n\nimport getUnixTime from 'date-fns/getUnixTime';\n\nimport { Day } from 'components/Day';\nimport { WeekNumber } from 'components/WeekNumber';\nimport { useDayPicker } from 'contexts/DayPicker';\n\n/**\n * The props for the {@link Row} component.\n */\nexport interface RowProps {\n /** The month where the row is displayed. */\n displayMonth: Date;\n /** The number of the week to render. */\n weekNumber: number;\n /** The days contained in the week. */\n dates: Date[];\n}\n\n/** Render a row in the calendar, with the days and the week number. */\nexport function Row(props: RowProps): JSX.Element {\n const { styles, classNames, showWeekNumber, components } = useDayPicker();\n\n const DayComponent = components?.Day ?? Day;\n const WeeknumberComponent = components?.WeekNumber ?? WeekNumber;\n\n let weekNumberCell;\n if (showWeekNumber) {\n weekNumberCell = (\n <td className={classNames.cell} style={styles.cell}>\n <WeeknumberComponent number={props.weekNumber} dates={props.dates} />\n </td>\n );\n }\n\n return (\n <tr className={classNames.row} style={styles.row}>\n {weekNumberCell}\n {props.dates.map((date) => (\n <td\n className={classNames.cell}\n style={styles.cell}\n key={getUnixTime(date)}\n >\n <DayComponent displayMonth={props.displayMonth} date={date} />\n </td>\n ))}\n </tr>\n );\n}\n","import type { Locale } from 'date-fns';\n\nimport addDays from 'date-fns/addDays';\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\nimport endOfISOWeek from 'date-fns/endOfISOWeek';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport getISOWeek from 'date-fns/getISOWeek';\nimport getWeek from 'date-fns/getWeek';\nimport startOfISOWeek from 'date-fns/startOfISOWeek';\nimport startOfWeek from 'date-fns/startOfWeek';\n\nimport { MonthWeek } from './getMonthWeeks';\n\n/** Return the weeks between two dates. */\nexport function daysToMonthWeeks(\n fromDate: Date,\n toDate: Date,\n options?: {\n ISOWeek?: boolean;\n locale?: Locale;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7;\n }\n): MonthWeek[] {\n const toWeek = options?.ISOWeek\n ? endOfISOWeek(toDate)\n : endOfWeek(toDate, options);\n const fromWeek = options?.ISOWeek\n ? startOfISOWeek(fromDate)\n : startOfWeek(fromDate, options);\n\n const nOfDays = differenceInCalendarDays(toWeek, fromWeek);\n const days: Date[] = [];\n\n for (let i = 0; i <= nOfDays; i++) {\n days.push(addDays(fromWeek, i));\n }\n\n const weeksInMonth = days.reduce((result: MonthWeek[], date) => {\n const weekNumber = options?.ISOWeek\n ? getISOWeek(date)\n : getWeek(date, options);\n\n const existingWeek = result.find(\n (value) => value.weekNumber === weekNumber\n );\n if (existingWeek) {\n existingWeek.dates.push(date);\n return result;\n }\n result.push({\n weekNumber,\n dates: [date]\n });\n return result;\n }, []);\n\n return weeksInMonth;\n}\n","import type { Locale } from 'date-fns';\n\nimport addWeeks from 'date-fns/addWeeks';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport getWeeksInMonth from 'date-fns/getWeeksInMonth';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport { daysToMonthWeeks } from './daysToMonthWeeks';\n\n/** Represents a week in the month.*/\nexport type MonthWeek = {\n /** The week number from the start of the year. */\n weekNumber: number;\n /** The dates in the week. */\n dates: Date[];\n};\n\n/**\n * Return the weeks belonging to the given month, adding the \"outside days\" to\n * the first and last week.\n */\nexport function getMonthWeeks(\n month: Date,\n options: {\n locale: Locale;\n useFixedWeeks?: boolean;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7;\n ISOWeek?: boolean;\n }\n): MonthWeek[] {\n const weeksInMonth: MonthWeek[] = daysToMonthWeeks(\n startOfMonth(month),\n endOfMonth(month),\n options\n );\n\n if (options?.useFixedWeeks) {\n // Add extra weeks to the month, up to 6 weeks\n const nrOfMonthWeeks = getWeeksInMonth(month, options);\n if (nrOfMonthWeeks < 6) {\n const lastWeek = weeksInMonth[weeksInMonth.length - 1];\n const lastDate = lastWeek.dates[lastWeek.dates.length - 1];\n const toDate = addWeeks(lastDate, 6 - nrOfMonthWeeks);\n const extraWeeks = daysToMonthWeeks(\n addWeeks(lastDate, 1),\n toDate,\n options\n );\n weeksInMonth.push(...extraWeeks);\n }\n }\n return weeksInMonth;\n}\n","import React from 'react';\n\nimport { Footer } from 'components/Footer';\nimport { Head } from 'components/Head';\nimport { Row } from 'components/Row';\nimport { useDayPicker } from 'contexts/DayPicker';\n\nimport { getMonthWeeks } from './utils/getMonthWeeks';\n\n/** The props for the {@link Table} component. */\nexport interface TableProps {\n /** The ID of the label of the table (the same given to the Caption). */\n ['aria-labelledby']?: string;\n /** The month where the table is displayed. */\n displayMonth: Date;\n}\n\n/** Render the table with the calendar. */\nexport function Table(props: TableProps): JSX.Element {\n const {\n locale,\n classNames,\n styles,\n hideHead,\n fixedWeeks,\n components,\n weekStartsOn,\n firstWeekContainsDate,\n ISOWeek\n } = useDayPicker();\n\n const weeks = getMonthWeeks(props.displayMonth, {\n useFixedWeeks: Boolean(fixedWeeks),\n ISOWeek,\n locale,\n weekStartsOn,\n firstWeekContainsDate\n });\n\n const HeadComponent = components?.Head ?? Head;\n const RowComponent = components?.Row ?? Row;\n const FooterComponent = components?.Footer ?? Footer;\n return (\n <table\n className={classNames.table}\n style={styles.table}\n role=\"grid\"\n aria-labelledby={props['aria-labelledby']}\n >\n {!hideHead && <HeadComponent />}\n <tbody className={classNames.tbody} style={styles.tbody}>\n {weeks.map((week) => (\n <RowComponent\n displayMonth={props.displayMonth}\n key={week.weekNumber}\n dates={week.dates}\n weekNumber={week.weekNumber}\n />\n ))}\n </tbody>\n <FooterComponent />\n </table>\n );\n}\n","/*\nThe MIT License (MIT)\n\nCopyright (c) 2018-present, React Training LLC\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n/* eslint-disable prefer-const */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/*\n * Welcome to @reach/auto-id!\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\n\nimport * as React from 'react';\n\nfunction canUseDOM() {\n return !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n );\n}\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\nconst useIsomorphicLayoutEffect = canUseDOM()\n ? React.useLayoutEffect\n : React.useEffect;\n\nlet serverHandoffComplete = false;\nlet id = 0;\nfunction genId() {\n return `react-day-picker-${++id}`;\n}\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\nfunction useId(idFromProps: string): string;\nfunction useId(idFromProps: number): number;\nfunction useId(idFromProps: string | number): string | number;\nfunction useId(idFromProps: string | undefined | null): string | undefined;\nfunction useId(idFromProps: number | undefined | null): number | undefined;\nfunction useId(\n idFromProps: string | number | undefined | null\n): string | number | undefined;\nfunction useId(): string | undefined;\n\nfunction useId(providedId?: number | string | undefined | null) {\n // TODO: Remove error flag when updating internal deps to React 18. None of\n // our tricks will play well with concurrent rendering anyway.\n\n // If this instance isn't part of the initial render, we don't have to do the\n // double render/patch-up dance. We can just generate the ID and return it.\n let initialId = providedId ?? (serverHandoffComplete ? genId() : null);\n let [id, setId] = React.useState(initialId);\n\n useIsomorphicLayoutEffect(() => {\n if (id === null) {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (serverHandoffComplete === false) {\n // Flag all future uses of `useId` to skip the update dance. This is in\n // `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n // accidentally bail out of the patch-up dance prematurely.\n serverHandoffComplete = true;\n }\n }, []);\n\n return providedId ?? id ?? undefined;\n}\n\nexport { useId };\n","import React from 'react';\n\nimport { Caption } from 'components/Caption';\nimport { Table } from 'components/Table';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useNavigation } from 'contexts/Navigation';\nimport { useId } from 'hooks/useId';\n\n/** The props for the {@link Month} component. */\nexport interface MonthProps {\n displayIndex: number;\n displayMonth: Date;\n}\n\n/** Render a month. */\nexport function Month(props: MonthProps) {\n const dayPicker = useDayPicker();\n const { dir, classNames, styles, components } = dayPicker;\n const { displayMonths } = useNavigation();\n\n const captionId = useId(\n dayPicker.id ? `${dayPicker.id}-${props.displayIndex}` : undefined\n );\n\n const className = [classNames.month];\n let style = styles.month;\n\n let isStart = props.displayIndex === 0;\n let isEnd = props.displayIndex === displayMonths.length - 1;\n const isCenter = !isStart && !isEnd;\n if (dir === 'rtl') {\n [isEnd, isStart] = [isStart, isEnd];\n }\n\n if (isStart) {\n className.push(classNames.caption_start);\n style = { ...style, ...styles.caption_start };\n }\n if (isEnd) {\n className.push(classNames.caption_end);\n style = { ...style, ...styles.caption_end };\n }\n if (isCenter) {\n className.push(classNames.caption_between);\n style = { ...style, ...styles.caption_between };\n }\n\n const CaptionComponent = components?.Caption ?? Caption;\n\n return (\n <div key={props.displayIndex} className={className.join(' ')} style={style}>\n <CaptionComponent id={captionId} displayMonth={props.displayMonth} />\n <Table aria-labelledby={captionId} displayMonth={props.displayMonth} />\n </div>\n );\n}\n","import React, { useEffect, useState } from 'react';\n\nimport { Month } from 'components/Month';\nimport { useDayPicker } from 'contexts/DayPicker';\nimport { useFocusContext } from 'contexts/Focus';\nimport { useNavigation } from 'contexts/Navigation';\n\n/** Render the container with the months according to the number of months to display. */\nexport function Root(): JSX.Element {\n const dayPicker = useDayPicker();\n const focusContext = useFocusContext();\n const navigation = useNavigation();\n\n const [hasInitialFocus, setHasInitialFocus] = useState(false);\n\n // Focus the focus target when initialFocus is passed in\n useEffect(() => {\n if (!dayPicker.initialFocus) return;\n if (!focusContext.focusTarget) return;\n if (hasInitialFocus) return;\n\n focusContext.focus(focusContext.focusTarget);\n setHasInitialFocus(true);\n }, [\n dayPicker.initialFocus,\n hasInitialFocus,\n focusContext.focus,\n focusContext.focusTarget,\n focusContext\n ]);\n\n // Apply classnames according to props\n const classNames = [dayPicker.classNames.root, dayPicker.className];\n if (dayPicker.numberOfMonths > 1) {\n classNames.push(dayPicker.classNames.multiple_months);\n }\n if (dayPicker.showWeekNumber) {\n classNames.push(dayPicker.classNames.with_weeknumber);\n }\n\n const style = {\n ...dayPicker.styles.root,\n ...dayPicker.style\n };\n\n return (\n <div className={classNames.join(' ')} style={style} dir={dayPicker.dir}>\n <div\n className={dayPicker.classNames.months}\n style={dayPicker.styles.months}\n >\n {navigation.displayMonths.map((month, i) => (\n <Month key={i} displayIndex={i} displayMonth={month} />\n ))}\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nimport { ModifiersProvider } from 'contexts/Modifiers/ModifiersContext';\nimport { DayPickerBase } from 'types/DayPickerBase';\n\nimport { DayPickerProvider } from './DayPicker';\nimport { FocusProvider } from './Focus';\nimport { NavigationProvider } from './Navigation';\nimport { SelectMultipleProvider } from './SelectMultiple';\nimport { SelectRangeProvider } from './SelectRange';\nimport { SelectSingleProvider } from './SelectSingle';\n\n/** The props of {@link RootProvider}. */\nexport type RootContext = DayPickerBase & {\n children: React.ReactNode;\n};\n\n/** Provide the value for all the context providers. */\nexport function RootProvider(props: RootContext): JSX.Element {\n const { children, ...initialProps } = props;\n\n return (\n <DayPickerProvider initialProps={initialProps}>\n <NavigationProvider>\n <SelectSingleProvider initialProps={initialProps}>\n <SelectMultipleProvider initialProps={initialProps}>\n <SelectRangeProvider initialProps={initialProps}>\n <ModifiersProvider>\n <FocusProvider>{children}</FocusProvider>\n </ModifiersProvider>\n </SelectRangeProvider>\n </SelectMultipleProvider>\n </SelectSingleProvider>\n </NavigationProvider>\n </DayPickerProvider>\n );\n}\n","import React from 'react';\n\nimport { DayPickerDefaultProps } from 'types/DayPickerDefault';\nimport { DayPickerMultipleProps } from 'types/DayPickerMultiple';\nimport { DayPickerRangeProps } from 'types/DayPickerRange';\nimport { DayPickerSingleProps } from 'types/DayPickerSingle';\n\nimport { Root } from './components/Root';\nimport { RootProvider } from './contexts/RootProvider';\n\nexport type DayPickerProps =\n | DayPickerDefaultProps\n | DayPickerSingleProps\n | DayPickerMultipleProps\n | DayPickerRangeProps;\n\n/**\n * DayPicker render a date picker component to let users pick dates from a\n * calendar. See http://react-day-picker.js.org for updated documentation and\n * examples.\n *\n * ### Customization\n *\n * DayPicker offers different customization props. For example,\n *\n * - show multiple months using `numberOfMonths`\n * - display a dropdown to navigate the months via `captionLayout`\n * - display the week numbers with `showWeekNumbers`\n * - disable or hide days with `disabled` or `hidden`\n *\n * ### Controlling the months\n *\n * Change the initially displayed month using the `defaultMonth` prop. The\n * displayed months are controlled by DayPicker and stored in its internal\n * state. To control the months yourself, use `month` instead of `defaultMonth`\n * and use the `onMonthChange` event to set it.\n *\n * To limit the months the user can navigate to, use\n * `fromDate`/`fromMonth`/`fromYear` or `toDate`/`toMonth`/`toYear`.\n *\n * ### Selection modes\n *\n * DayPicker supports different selection mode that can be toggled using the\n * `mode` prop:\n *\n * - `mode=\"single\"`: only one day can be selected. Use `required` to make the\n * selection required. Use the `onSelect` event handler to get the selected\n * days.\n * - `mode=\"multiple\"`: users can select one or more days. Limit the amount of\n * days that can be selected with the `min` or the `max` props.\n * - `mode=\"range\"`: users can select a range of days. Limit the amount of days\n * in the range with the `min` or the `max` props.\n * - `mode=\"default\"` (default): the built-in selections are disabled. Implement\n * your own selection mode with `onDayClick`.\n *\n * The selection modes should cover the most common use cases. In case you\n * need a more refined way of selecting days, use `mode=\"default\"`. Use the\n * `selected` props and add the day event handlers to add/remove days from the\n * selection.\n *\n * ### Modifiers\n *\n * A _modifier_ represents different styles or states for the days displayed in\n * the calendar (like \"selected\" or \"disabled\"). Define custom modifiers using\n * the `modifiers` prop.\n *\n * ### Formatters and custom component\n *\n * You can customize how the content is displayed in the date picker by using\n * either the formatters or replacing the internal components.\n *\n * For the most common cases you want to use the `formatters` prop to change how\n * the content is formatted in the calendar. Use the `components` prop to\n * replace the internal components, like the navigation icons.\n *\n * ### Styling\n *\n * DayPicker comes with a default, basic style in `react-day-picker/style` – use\n * it as template for your own style.\n *\n * If you are using CSS modules, pass the imported styles object the\n * `classNames` props.\n *\n * You can also style the elements via inline-styles using the `styles` prop.\n *\n * ### Form fields\n *\n * If you need to bind the date picker to a form field, you can use the\n * `useInput` hooks for a basic behavior. See the `useInput` source as an\n * example to bind the date picker with form fields.\n *\n * ### Localization\n *\n * To localize DayPicker, import the locale from `date-fns` package and use the\n * `locale` prop.\n *\n * For example, to use Spanish locale:\n *\n * ```\n * import es from 'date-fns/locale/es';\n * <DayPicker locale={es} />\n * ```\n */\nexport function DayPicker(\n props:\n | DayPickerDefaultProps\n | DayPickerSingleProps\n | DayPickerMultipleProps\n | DayPickerRangeProps\n): JSX.Element {\n return (\n <RootProvider {...props}>\n <Root />\n </RootProvider>\n );\n}\n","/** @private */\nexport function isValidDate(day: Date): boolean {\n return !isNaN(day.getTime());\n}\n","import React, { useState } from 'react';\n\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays';\nimport _format from 'date-fns/format';\nimport enUS from 'date-fns/locale/en-US';\nimport parse from 'date-fns/parse';\n\nimport { parseFromToProps } from 'contexts/DayPicker/utils';\nimport { DayPickerBase } from 'types/DayPickerBase';\nimport { DayPickerSingleProps } from 'types/DayPickerSingle';\nimport {\n DayClickEventHandler,\n MonthChangeEventHandler\n} from 'types/EventHandlers';\n\nimport { isValidDate } from './utils/isValidDate';\n\n/** The props to attach to the input field when using {@link useInput}. */\nexport type InputHTMLAttributes = Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'onBlur' | 'onChange' | 'onFocus' | 'value' | 'placeholder'\n>;\n\n/** The props to attach to the DayPicker component when using {@link useInput}. */\nexport type InputDayPickerProps = Pick<\n DayPickerSingleProps,\n | 'fromDate'\n | 'toDate'\n | 'locale'\n | 'month'\n | 'onDayClick'\n | 'onMonthChange'\n | 'selected'\n | 'today'\n>;\n\nexport interface UseInputOptions\n extends Pick<\n DayPickerBase,\n | 'locale'\n | 'fromDate'\n | 'toDate'\n | 'fromMonth'\n | 'toMonth'\n | 'fromYear'\n | 'toYear'\n | 'today'\n > {\n /** The initially selected date */\n defaultSelected?: Date;\n /** The format string for formatting the input field. See https://date-fns.org/docs/format for a list of format strings. Default to `PP`. */\n format?: string;\n /** Make the selection required. */\n required?: boolean;\n}\n\n/** Represent the value returned by {@link useInput}. */\nexport interface UseInputValue {\n /** The props to pass to a DayPicker component. */\n dayPickerProps: InputDayPickerProps;\n /** The props to pass to an input field. */\n inputProps: InputHTMLAttributes;\n /** A function to reset to the initial state. */\n reset: () => void;\n /** A function to set the selected day. */\n setSelected: (day: Date | undefined) => void;\n}\n\n/** Return props and setters for binding an input field to DayPicker. */\nexport function useInput(options: UseInputOptions = {}): UseInputValue {\n const {\n locale = enUS,\n required,\n format = 'PP',\n defaultSelected,\n today = new Date()\n } = options;\n const { fromDate, toDate } = parseFromToProps(options);\n\n // Shortcut to the DateFns functions\n const parseValue = (value: string) => parse(value, format, today, { locale });\n\n // Initialize states\n const [month, setMonth] = useState(defaultSelected ?? today);\n const [selectedDay, setSelectedDay] = useState(defaultSelected);\n const defaultInputValue = defaultSelected\n ? _format(defaultSelected, format, { locale })\n : '';\n const [inputValue, setInputValue] = useState(defaultInputValue);\n\n const reset = () => {\n setSelectedDay(defaultSelected);\n setMonth(defaultSelected ?? today);\n setInputValue(defaultInputValue ?? '');\n };\n\n const setSelected = (date: Date | undefined) => {\n setSelectedDay(date);\n setMonth(date ?? today);\n setInputValue(date ? _format(date, format, { locale }) : '');\n };\n\n const handleDayClick: DayClickEventHandler = (day, { selected }) => {\n if (!required && selected) {\n setSelectedDay(undefined);\n setInputValue('');\n return;\n }\n setSelectedDay(day);\n setInputValue(day ? _format(day, format, { locale }) : '');\n };\n\n const handleMonthChange: MonthChangeEventHandler = (month) => {\n setMonth(month);\n };\n\n // When changing the input field, save its value in state and check if the\n // string is a valid date. If it is a valid day, set it as selected and update\n // the calendar’s month.\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n setInputValue(e.target.value);\n const day = parseValue(e.target.value);\n const isBefore = fromDate && differenceInCalendarDays(fromDate, day) > 0;\n const isAfter = toDate && differenceInCalendarDays(day, toDate) > 0;\n if (!isValidDate(day) || isBefore || isAfter) {\n setSelectedDay(undefined);\n return;\n }\n setSelectedDay(day);\n setMonth(day);\n };\n\n // Special case for _required_ fields: on blur, if the value of the input is not\n // a valid date, reset the calendar and the input value.\n const handleBlur: React.FocusEventHandler<HTMLInputElement> = (e) => {\n const day = parseValue(e.target.value);\n if (!isValidDate(day)) {\n reset();\n }\n };\n\n // When focusing, make sure DayPicker visualizes the month of the date in the\n // input field.\n const handleFocus: React.FocusEventHandler<HTMLInputElement> = (e) => {\n if (!e.target.value) {\n reset();\n return;\n }\n const day = parseValue(e.target.value);\n if (isValidDate(day)) {\n setMonth(day);\n }\n };\n\n const dayPickerProps: InputDayPickerProps = {\n month: month,\n onDayClick: handleDayClick,\n onMonthChange: handleMonthChange,\n selected: selectedDay,\n locale,\n fromDate,\n toDate,\n today\n };\n\n const inputProps: InputHTMLAttributes = {\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus,\n value: inputValue,\n placeholder: _format(new Date(), format, { locale })\n };\n\n return { dayPickerProps, inputProps, reset, setSelected };\n}\n","import { DayPickerProps } from 'DayPicker';\n\nimport { DayPickerBase } from './DayPickerBase';\n\n/** The props for the {@link DayPicker} component when using `mode=\"default\"` or `undefined`. */\nexport interface DayPickerDefaultProps extends DayPickerBase {\n mode?: undefined | 'default';\n}\n\n/** Returns true when the props are of type {@link DayPickerDefaultProps}. */\nexport function isDayPickerDefault(\n props: DayPickerProps\n): props is DayPickerDefaultProps {\n return props.mode === undefined || props.mode === 'default';\n}\n"],"names":["createContext","useContext","useState","forwardRef","isSameDay","InternalModifier","isAfter","useEffect","useRef","React","format","_format"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../src/types/DayPickerMultiple.ts","../src/types/DayPickerRange.ts","../src/types/DayPickerSingle.ts","../src/contexts/DayPicker/defaultClassNames.ts","../src/contexts/DayPicker/formatters/formatCaption.ts","../src/contexts/DayPicker/formatters/formatDay.ts","../src/contexts/DayPicker/formatters/formatMonthCaption.ts","../src/contexts/DayPicker/formatters/formatWeekNumber.ts","../src/contexts/DayPicker/formatters/formatWeekdayName.ts","../src/contexts/DayPicker/formatters/formatYearCaption.ts","../src/contexts/DayPicker/labels/labelDay.ts","../src/contexts/DayPicker/labels/labelMonthDropdown.ts","../src/contexts/DayPicker/labels/labelNext.ts","../src/contexts/DayPicker/labels/labelPrevious.ts","../src/contexts/DayPicker/labels/labelWeekday.ts","../src/contexts/DayPicker/labels/labelWeekNumber.ts","../src/contexts/DayPicker/labels/labelYearDropdown.ts","../src/contexts/DayPicker/defaultContextValues.ts","../src/contexts/DayPicker/utils/parseFromToProps.ts","../src/contexts/DayPicker/DayPickerContext.tsx","../src/components/CaptionLabel/CaptionLabel.tsx","../src/components/IconDropdown/IconDropdown.tsx","../src/components/Dropdown/Dropdown.tsx","../src/components/MonthsDropdown/MonthsDropdown.tsx","../src/components/YearsDropdown/YearsDropdown.tsx","../src/hooks/useControlledValue/useControlledValue.ts","../src/contexts/Navigation/utils/getInitialMonth.ts","../src/contexts/Navigation/useNavigationState.ts","../src/contexts/Navigation/utils/getDisplayMonths.ts","../src/contexts/Navigation/utils/getNextMonth.ts","../src/contexts/Navigation/utils/getPreviousMonth.ts","../src/contexts/Navigation/NavigationContext.tsx","../src/components/CaptionDropdowns/CaptionDropdowns.tsx","../src/components/IconLeft/IconLeft.tsx","../src/components/IconRight/IconRight.tsx","../src/components/Button/Button.tsx","../src/components/Navigation/Navigation.tsx","../src/components/CaptionNavigation/CaptionNavigation.tsx","../src/components/Caption/Caption.tsx","../src/components/Footer/Footer.tsx","../src/components/HeadRow/utils/getWeekdays.ts","../src/components/HeadRow/HeadRow.tsx","../src/components/Head/Head.tsx","../src/components/DayContent/DayContent.tsx","../src/contexts/SelectMultiple/SelectMultipleContext.tsx","../src/contexts/SelectRange/utils/addToRange.ts","../src/contexts/SelectRange/SelectRangeContext.tsx","../src/contexts/Modifiers/utils/matcherToArray.ts","../src/contexts/Modifiers/utils/getCustomModifiers.ts","../src/types/Modifiers.ts","../src/contexts/Modifiers/utils/getInternalModifiers.ts","../src/contexts/Modifiers/ModifiersContext.tsx","../src/types/Matchers.ts","../src/contexts/Modifiers/utils/isDateInRange.ts","../src/contexts/Modifiers/utils/isMatch.ts","../src/contexts/Modifiers/utils/getActiveModifiers.ts","../src/contexts/Focus/utils/getInitialFocusTarget.ts","../src/contexts/Focus/utils/getNextFocus.ts","../src/contexts/Focus/FocusContext.tsx","../src/hooks/useActiveModifiers/useActiveModifiers.tsx","../src/contexts/SelectSingle/SelectSingleContext.tsx","../src/hooks/useDayEventHandlers/useDayEventHandlers.tsx","../src/hooks/useSelectedDays/useSelectedDays.ts","../src/hooks/useDayRender/utils/getDayClassNames.ts","../src/hooks/useDayRender/utils/getDayStyle.ts","../src/hooks/useDayRender/useDayRender.tsx","../src/components/Day/Day.tsx","../src/components/WeekNumber/WeekNumber.tsx","../src/components/Row/Row.tsx","../src/components/Table/utils/daysToMonthWeeks.ts","../src/components/Table/utils/getMonthWeeks.ts","../src/components/Table/Table.tsx","../src/hooks/useId/useId.ts","../src/components/Month/Month.tsx","../src/components/Root/Root.tsx","../src/contexts/RootProvider.tsx","../src/DayPicker.tsx","../src/hooks/useInput/utils/isValidDate.tsx","../src/hooks/useInput/useInput.ts","../src/types/DayPickerDefault.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["format","locale","enUS","startOfMonth","endOfMonth","startOfDay","createContext","useContext","isSameYear","setMonth","setYear","startOfYear","useState","differenceInCalendarMonths","addMonths","isSameMonth","isBefore","forwardRef","startOfISOWeek","startOfWeek","addDays","isSameDay","isAfter","subDays","differenceInCalendarDays","InternalModifier","isDate","addWeeks","addYears","endOfISOWeek","endOfWeek","max","min","useEffect","useRef","getUnixTime","getISOWeek","getWeek","getWeeksInMonth","React","parse","_format"],"mappings":"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"}
|