@mantine/dates 7.13.5-alpha.1 → 7.13.5-alpha.2
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/cjs/components/Calendar/Calendar.cjs +267 -0
- package/cjs/components/Calendar/Calendar.cjs.map +1 -0
- package/cjs/components/Calendar/clamp-level/clamp-level.cjs +26 -0
- package/cjs/components/Calendar/clamp-level/clamp-level.cjs.map +1 -0
- package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs +126 -0
- package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs.map +1 -0
- package/cjs/components/CalendarHeader/CalendarHeader.cjs +132 -0
- package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -0
- package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs +7 -0
- package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs.map +1 -0
- package/cjs/components/DateInput/DateInput.cjs +213 -0
- package/cjs/components/DateInput/DateInput.cjs.map +1 -0
- package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs +19 -0
- package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs.map +1 -0
- package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs +27 -0
- package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs.map +1 -0
- package/cjs/components/DatePicker/DatePicker.cjs +92 -0
- package/cjs/components/DatePicker/DatePicker.cjs.map +1 -0
- package/cjs/components/DatePickerInput/DatePickerInput.cjs +129 -0
- package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -0
- package/cjs/components/DateTimePicker/DateTimePicker.cjs +220 -0
- package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -0
- package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs +7 -0
- package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
- package/cjs/components/DatesProvider/DatesProvider.cjs +23 -0
- package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -0
- package/cjs/components/DatesProvider/use-dates-context.cjs +37 -0
- package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -0
- package/cjs/components/Day/Day.cjs +88 -0
- package/cjs/components/Day/Day.cjs.map +1 -0
- package/cjs/components/Day/Day.module.css.cjs +7 -0
- package/cjs/components/Day/Day.module.css.cjs.map +1 -0
- package/cjs/components/DecadeLevel/DecadeLevel.cjs +120 -0
- package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -0
- package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs +12 -0
- package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs.map +1 -0
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +128 -0
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -0
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs +39 -0
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs.map +1 -0
- package/cjs/components/LevelsGroup/LevelsGroup.cjs +30 -0
- package/cjs/components/LevelsGroup/LevelsGroup.cjs.map +1 -0
- package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs +7 -0
- package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs.map +1 -0
- package/cjs/components/Month/Month.cjs +169 -0
- package/cjs/components/Month/Month.cjs.map +1 -0
- package/cjs/components/Month/Month.module.css.cjs +7 -0
- package/cjs/components/Month/Month.module.css.cjs.map +1 -0
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs +29 -0
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs.map +1 -0
- package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs +14 -0
- package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs.map +1 -0
- package/cjs/components/Month/get-month-days/get-month-days.cjs +44 -0
- package/cjs/components/Month/get-month-days/get-month-days.cjs.map +1 -0
- package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs +13 -0
- package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs.map +1 -0
- package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs +15 -0
- package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs.map +1 -0
- package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs +15 -0
- package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs.map +1 -0
- package/cjs/components/Month/is-same-month/is-same-month.cjs +9 -0
- package/cjs/components/Month/is-same-month/is-same-month.cjs.map +1 -0
- package/cjs/components/MonthLevel/MonthLevel.cjs +135 -0
- package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -0
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +149 -0
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -0
- package/cjs/components/MonthPicker/MonthPicker.cjs +85 -0
- package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -0
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +127 -0
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -0
- package/cjs/components/MonthsList/MonthsList.cjs +116 -0
- package/cjs/components/MonthsList/MonthsList.cjs.map +1 -0
- package/cjs/components/MonthsList/MonthsList.module.css.cjs +7 -0
- package/cjs/components/MonthsList/MonthsList.module.css.cjs.map +1 -0
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs +27 -0
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs.map +1 -0
- package/cjs/components/MonthsList/get-months-data/get-months-data.cjs +24 -0
- package/cjs/components/MonthsList/get-months-data/get-months-data.cjs.map +1 -0
- package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs +24 -0
- package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs.map +1 -0
- package/cjs/components/PickerControl/PickerControl.cjs +66 -0
- package/cjs/components/PickerControl/PickerControl.cjs.map +1 -0
- package/cjs/components/PickerControl/PickerControl.module.css.cjs +7 -0
- package/cjs/components/PickerControl/PickerControl.module.css.cjs.map +1 -0
- package/cjs/components/PickerInputBase/PickerInputBase.cjs +133 -0
- package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -0
- package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs +7 -0
- package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs.map +1 -0
- package/cjs/components/TimeInput/TimeInput.cjs +88 -0
- package/cjs/components/TimeInput/TimeInput.cjs.map +1 -0
- package/cjs/components/TimeInput/TimeInput.module.css.cjs +7 -0
- package/cjs/components/TimeInput/TimeInput.module.css.cjs.map +1 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs +59 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs +7 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs.map +1 -0
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs +28 -0
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs.map +1 -0
- package/cjs/components/YearLevel/YearLevel.cjs +117 -0
- package/cjs/components/YearLevel/YearLevel.cjs.map +1 -0
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +132 -0
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -0
- package/cjs/components/YearPicker/YearPicker.cjs +84 -0
- package/cjs/components/YearPicker/YearPicker.cjs.map +1 -0
- package/cjs/components/YearPickerInput/YearPickerInput.cjs +127 -0
- package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -0
- package/cjs/components/YearsList/YearsList.cjs +115 -0
- package/cjs/components/YearsList/YearsList.cjs.map +1 -0
- package/cjs/components/YearsList/YearsList.module.css.cjs +7 -0
- package/cjs/components/YearsList/YearsList.module.css.cjs.map +1 -0
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs +27 -0
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs.map +1 -0
- package/cjs/components/YearsList/get-years-data/get-years-data.cjs +20 -0
- package/cjs/components/YearsList/get-years-data/get-years-data.cjs.map +1 -0
- package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs +24 -0
- package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs.map +1 -0
- package/cjs/hooks/use-dates-input/use-dates-input.cjs +69 -0
- package/cjs/hooks/use-dates-input/use-dates-input.cjs.map +1 -0
- package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs +16 -0
- package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs.map +1 -0
- package/cjs/hooks/use-dates-state/use-dates-state.cjs +154 -0
- package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -0
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs +65 -0
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs.map +1 -0
- package/cjs/index.cjs +83 -0
- package/cjs/index.cjs.map +1 -0
- package/cjs/utils/assign-time/assign-time.cjs +21 -0
- package/cjs/utils/assign-time/assign-time.cjs.map +1 -0
- package/cjs/utils/get-default-clamped-date.cjs +26 -0
- package/cjs/utils/get-default-clamped-date.cjs.map +1 -0
- package/cjs/utils/get-formatted-date.cjs +41 -0
- package/cjs/utils/get-formatted-date.cjs.map +1 -0
- package/cjs/utils/get-timezone-offset.cjs +24 -0
- package/cjs/utils/get-timezone-offset.cjs.map +1 -0
- package/cjs/utils/handle-control-key-down.cjs +158 -0
- package/cjs/utils/handle-control-key-down.cjs.map +1 -0
- package/cjs/utils/shift-timezone.cjs +35 -0
- package/cjs/utils/shift-timezone.cjs.map +1 -0
- package/esm/components/Calendar/Calendar.mjs +261 -0
- package/esm/components/Calendar/Calendar.mjs.map +1 -0
- package/esm/components/Calendar/clamp-level/clamp-level.mjs +24 -0
- package/esm/components/Calendar/clamp-level/clamp-level.mjs.map +1 -0
- package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs +124 -0
- package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs.map +1 -0
- package/esm/components/CalendarHeader/CalendarHeader.mjs +130 -0
- package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -0
- package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs +5 -0
- package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs.map +1 -0
- package/esm/components/DateInput/DateInput.mjs +207 -0
- package/esm/components/DateInput/DateInput.mjs.map +1 -0
- package/esm/components/DateInput/date-string-parser/date-string-parser.mjs +17 -0
- package/esm/components/DateInput/date-string-parser/date-string-parser.mjs.map +1 -0
- package/esm/components/DateInput/is-date-valid/is-date-valid.mjs +21 -0
- package/esm/components/DateInput/is-date-valid/is-date-valid.mjs.map +1 -0
- package/esm/components/DatePicker/DatePicker.mjs +90 -0
- package/esm/components/DatePicker/DatePicker.mjs.map +1 -0
- package/esm/components/DatePickerInput/DatePickerInput.mjs +127 -0
- package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -0
- package/esm/components/DateTimePicker/DateTimePicker.mjs +214 -0
- package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -0
- package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs +5 -0
- package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs.map +1 -0
- package/esm/components/DatesProvider/DatesProvider.mjs +19 -0
- package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -0
- package/esm/components/DatesProvider/use-dates-context.mjs +35 -0
- package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -0
- package/esm/components/Day/Day.mjs +82 -0
- package/esm/components/Day/Day.mjs.map +1 -0
- package/esm/components/Day/Day.module.css.mjs +5 -0
- package/esm/components/Day/Day.module.css.mjs.map +1 -0
- package/esm/components/DecadeLevel/DecadeLevel.mjs +114 -0
- package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -0
- package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs +10 -0
- package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs.map +1 -0
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +122 -0
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -0
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs +37 -0
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs.map +1 -0
- package/esm/components/LevelsGroup/LevelsGroup.mjs +28 -0
- package/esm/components/LevelsGroup/LevelsGroup.mjs.map +1 -0
- package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs +5 -0
- package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs.map +1 -0
- package/esm/components/Month/Month.mjs +163 -0
- package/esm/components/Month/Month.mjs.map +1 -0
- package/esm/components/Month/Month.module.css.mjs +5 -0
- package/esm/components/Month/Month.module.css.mjs.map +1 -0
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs +23 -0
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs.map +1 -0
- package/esm/components/Month/get-end-of-week/get-end-of-week.mjs +12 -0
- package/esm/components/Month/get-end-of-week/get-end-of-week.mjs.map +1 -0
- package/esm/components/Month/get-month-days/get-month-days.mjs +42 -0
- package/esm/components/Month/get-month-days/get-month-days.mjs.map +1 -0
- package/esm/components/Month/get-start-of-week/get-start-of-week.mjs +11 -0
- package/esm/components/Month/get-start-of-week/get-start-of-week.mjs.map +1 -0
- package/esm/components/Month/is-after-min-date/is-after-min-date.mjs +9 -0
- package/esm/components/Month/is-after-min-date/is-after-min-date.mjs.map +1 -0
- package/esm/components/Month/is-before-max-date/is-before-max-date.mjs +9 -0
- package/esm/components/Month/is-before-max-date/is-before-max-date.mjs.map +1 -0
- package/esm/components/Month/is-same-month/is-same-month.mjs +7 -0
- package/esm/components/Month/is-same-month/is-same-month.mjs.map +1 -0
- package/esm/components/MonthLevel/MonthLevel.mjs +129 -0
- package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -0
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +143 -0
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -0
- package/esm/components/MonthPicker/MonthPicker.mjs +83 -0
- package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -0
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs +125 -0
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -0
- package/esm/components/MonthsList/MonthsList.mjs +110 -0
- package/esm/components/MonthsList/MonthsList.mjs.map +1 -0
- package/esm/components/MonthsList/MonthsList.module.css.mjs +5 -0
- package/esm/components/MonthsList/MonthsList.module.css.mjs.map +1 -0
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs +21 -0
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs.map +1 -0
- package/esm/components/MonthsList/get-months-data/get-months-data.mjs +18 -0
- package/esm/components/MonthsList/get-months-data/get-months-data.mjs.map +1 -0
- package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs +18 -0
- package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs.map +1 -0
- package/esm/components/PickerControl/PickerControl.mjs +64 -0
- package/esm/components/PickerControl/PickerControl.mjs.map +1 -0
- package/esm/components/PickerControl/PickerControl.module.css.mjs +5 -0
- package/esm/components/PickerControl/PickerControl.module.css.mjs.map +1 -0
- package/esm/components/PickerInputBase/PickerInputBase.mjs +127 -0
- package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -0
- package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs +5 -0
- package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs.map +1 -0
- package/esm/components/TimeInput/TimeInput.mjs +82 -0
- package/esm/components/TimeInput/TimeInput.mjs.map +1 -0
- package/esm/components/TimeInput/TimeInput.module.css.mjs +5 -0
- package/esm/components/TimeInput/TimeInput.module.css.mjs.map +1 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs +57 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs +5 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs.map +1 -0
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs +22 -0
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs.map +1 -0
- package/esm/components/YearLevel/YearLevel.mjs +111 -0
- package/esm/components/YearLevel/YearLevel.mjs.map +1 -0
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs +126 -0
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -0
- package/esm/components/YearPicker/YearPicker.mjs +82 -0
- package/esm/components/YearPicker/YearPicker.mjs.map +1 -0
- package/esm/components/YearPickerInput/YearPickerInput.mjs +125 -0
- package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -0
- package/esm/components/YearsList/YearsList.mjs +109 -0
- package/esm/components/YearsList/YearsList.mjs.map +1 -0
- package/esm/components/YearsList/YearsList.module.css.mjs +5 -0
- package/esm/components/YearsList/YearsList.module.css.mjs.map +1 -0
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs +21 -0
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs.map +1 -0
- package/esm/components/YearsList/get-years-data/get-years-data.mjs +18 -0
- package/esm/components/YearsList/get-years-data/get-years-data.mjs.map +1 -0
- package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs +18 -0
- package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs.map +1 -0
- package/esm/hooks/use-dates-input/use-dates-input.mjs +67 -0
- package/esm/hooks/use-dates-input/use-dates-input.mjs.map +1 -0
- package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs +10 -0
- package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs.map +1 -0
- package/esm/hooks/use-dates-state/use-dates-state.mjs +148 -0
- package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -0
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs +63 -0
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs.map +1 -0
- package/esm/index.mjs +39 -0
- package/esm/index.mjs.map +1 -0
- package/esm/utils/assign-time/assign-time.mjs +19 -0
- package/esm/utils/assign-time/assign-time.mjs.map +1 -0
- package/esm/utils/get-default-clamped-date.mjs +20 -0
- package/esm/utils/get-default-clamped-date.mjs.map +1 -0
- package/esm/utils/get-formatted-date.mjs +34 -0
- package/esm/utils/get-formatted-date.mjs.map +1 -0
- package/esm/utils/get-timezone-offset.mjs +16 -0
- package/esm/utils/get-timezone-offset.mjs.map +1 -0
- package/esm/utils/handle-control-key-down.mjs +156 -0
- package/esm/utils/handle-control-key-down.mjs.map +1 -0
- package/esm/utils/shift-timezone.mjs +29 -0
- package/esm/utils/shift-timezone.mjs.map +1 -0
- package/lib/components/Calendar/Calendar.d.ts +94 -0
- package/lib/components/Calendar/clamp-level/clamp-level.d.ts +2 -0
- package/lib/components/Calendar/index.d.ts +3 -0
- package/lib/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.d.ts +55 -0
- package/lib/components/CalendarHeader/CalendarHeader.d.ts +55 -0
- package/lib/components/CalendarHeader/index.d.ts +2 -0
- package/lib/components/DateInput/DateInput.d.ts +51 -0
- package/lib/components/DateInput/date-string-parser/date-string-parser.d.ts +1 -0
- package/lib/components/DateInput/index.d.ts +2 -0
- package/lib/components/DateInput/is-date-valid/is-date-valid.d.ts +7 -0
- package/lib/components/DatePicker/DatePicker.d.ts +31 -0
- package/lib/components/DatePicker/index.d.ts +2 -0
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +23 -0
- package/lib/components/DatePickerInput/index.d.ts +2 -0
- package/lib/components/DateTimePicker/DateTimePicker.d.ts +36 -0
- package/lib/components/DateTimePicker/index.d.ts +2 -0
- package/lib/components/DatesProvider/DatesProvider.d.ts +17 -0
- package/lib/components/DatesProvider/index.d.ts +3 -0
- package/lib/components/DatesProvider/use-dates-context.d.ts +14 -0
- package/lib/components/Day/Day.d.ts +44 -0
- package/lib/components/Day/index.d.ts +2 -0
- package/lib/components/DecadeLevel/DecadeLevel.d.ts +29 -0
- package/lib/components/DecadeLevel/get-decade-range/get-decade-range.d.ts +1 -0
- package/lib/components/DecadeLevel/index.d.ts +2 -0
- package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +25 -0
- package/lib/components/DecadeLevelGroup/index.d.ts +2 -0
- package/lib/components/HiddenDatesInput/HiddenDatesInput.d.ts +12 -0
- package/lib/components/HiddenDatesInput/index.d.ts +2 -0
- package/lib/components/LevelsGroup/LevelsGroup.d.ts +16 -0
- package/lib/components/LevelsGroup/index.d.ts +2 -0
- package/lib/components/Month/Month.d.ts +65 -0
- package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +2 -0
- package/lib/components/Month/get-end-of-week/get-end-of-week.d.ts +2 -0
- package/lib/components/Month/get-month-days/get-month-days.d.ts +8 -0
- package/lib/components/Month/get-start-of-week/get-start-of-week.d.ts +2 -0
- package/lib/components/Month/index.d.ts +6 -0
- package/lib/components/Month/is-after-min-date/is-after-min-date.d.ts +1 -0
- package/lib/components/Month/is-before-max-date/is-before-max-date.d.ts +1 -0
- package/lib/components/Month/is-same-month/is-same-month.d.ts +1 -0
- package/lib/components/MonthLevel/MonthLevel.d.ts +31 -0
- package/lib/components/MonthLevel/index.d.ts +2 -0
- package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +27 -0
- package/lib/components/MonthLevelGroup/index.d.ts +2 -0
- package/lib/components/MonthPicker/MonthPicker.d.ts +35 -0
- package/lib/components/MonthPicker/index.d.ts +2 -0
- package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +22 -0
- package/lib/components/MonthPickerInput/index.d.ts +2 -0
- package/lib/components/MonthsList/MonthsList.d.ts +33 -0
- package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts +2 -0
- package/lib/components/MonthsList/get-months-data/get-months-data.d.ts +1 -0
- package/lib/components/MonthsList/index.d.ts +2 -0
- package/lib/components/MonthsList/is-month-disabled/is-month-disabled.d.ts +1 -0
- package/lib/components/PickerControl/PickerControl.d.ts +34 -0
- package/lib/components/PickerControl/index.d.ts +2 -0
- package/lib/components/PickerInputBase/PickerInputBase.d.ts +56 -0
- package/lib/components/PickerInputBase/index.d.ts +2 -0
- package/lib/components/TimeInput/TimeInput.d.ts +19 -0
- package/lib/components/TimeInput/index.d.ts +2 -0
- package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +31 -0
- package/lib/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.d.ts +8 -0
- package/lib/components/WeekdaysRow/index.d.ts +2 -0
- package/lib/components/YearLevel/YearLevel.d.ts +29 -0
- package/lib/components/YearLevel/index.d.ts +2 -0
- package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +25 -0
- package/lib/components/YearLevelGroup/index.d.ts +2 -0
- package/lib/components/YearPicker/YearPicker.d.ts +24 -0
- package/lib/components/YearPicker/index.d.ts +2 -0
- package/lib/components/YearPickerInput/YearPickerInput.d.ts +22 -0
- package/lib/components/YearPickerInput/index.d.ts +2 -0
- package/lib/components/YearsList/YearsList.d.ts +33 -0
- package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts +2 -0
- package/lib/components/YearsList/get-years-data/get-years-data.d.ts +1 -0
- package/lib/components/YearsList/index.d.ts +2 -0
- package/lib/components/YearsList/is-year-disabled/is-year-disabled.d.ts +1 -0
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/use-dates-input/use-dates-input.d.ts +28 -0
- package/lib/hooks/use-dates-state/is-in-range/is-in-range.d.ts +1 -0
- package/lib/hooks/use-dates-state/use-dates-state.d.ts +28 -0
- package/lib/hooks/use-uncontrolled-dates/use-uncontrolled-dates.d.ts +10 -0
- package/lib/index.d.mts +29 -0
- package/lib/index.d.ts +29 -0
- package/lib/types/ControlsGroupSettings.d.ts +17 -0
- package/lib/types/DatePickerValue.d.ts +4 -0
- package/lib/types/GeneralTypes.d.ts +7 -0
- package/lib/types/PickerBaseProps.d.ts +15 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/utils/assign-time/assign-time.d.ts +1 -0
- package/lib/utils/get-default-clamped-date.d.ts +7 -0
- package/lib/utils/get-formatted-date.d.ts +15 -0
- package/lib/utils/get-timezone-offset.d.ts +1 -0
- package/lib/utils/handle-control-key-down.d.ts +11 -0
- package/lib/utils/index.d.ts +6 -0
- package/lib/utils/shift-timezone.d.ts +4 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-uncontrolled-dates.mjs","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { useDatesContext } from '../../components/DatesProvider';\nimport { DatePickerType, DatePickerValue } from '../../types';\nimport { shiftTimezone } from '../../utils';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n applyTimezone?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n applyTimezone = true,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const ctx = useDatesContext();\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: shiftTimezone('add', value, ctx.getTimezone(), !applyTimezone),\n defaultValue: shiftTimezone('add', defaultValue, ctx.getTimezone(), !applyTimezone),\n finalValue: getEmptyValue(type),\n onChange: (newDate) => {\n onChange?.(shiftTimezone('remove', newDate, ctx.getTimezone(), !applyTimezone));\n },\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n // Type has changed. Do some checks or resets\n\n storedType.current = type;\n if (value === undefined) {\n // Reset uncontrolled value as types aren't compatible\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n } else if (process.env.NODE_ENV === 'development') {\n // Throw errors in dev mode in case type of value isn't correct\n switch (type) {\n case 'default':\n if (value !== null && typeof value !== 'string') {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`'\n );\n }\n break;\n case 'multiple':\n if (!(value instanceof Array)) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`'\n );\n }\n break;\n case 'range':\n if (!(value instanceof Array) || value.length !== 2) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`'\n );\n }\n break;\n }\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"names":[],"mappings":";;;;;;;;AAKA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,GAAG,CAAC,CAAA,CAAA,CAAA,CAAI,KAAK,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,OAAO,CAAG,CAAA,CAAA,CAAC,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAK,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAE,CAAA,CAAA,CAAA,CAAG,CAAI,CAAA,CAAA,CAAA,CAAA;AAC1F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,oBAAoB,CAAC,CAAA;AACrC,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,CAAA;AACN,CAAA,CAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACP,CAAA,CAAE,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAA,CAAE,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAE,aAAa,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAC,CAAE,CAAA,CAAA;AACH,CAAA,CAAE,MAAM,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,IAAI,CAAC,CAAA;AACjC,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAE,CAAA,CAAA;AAC/B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,EAAE,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA;AAC1D,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,KAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAA,CAAA,CAAA,CAAG,CAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAE,CAAA,CAAC,aAAa,CAAC,CAAA;AACzE,CAAA,CAAA,CAAA,CAAI,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,KAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAE,CAAA,CAAA,CAAA,CAAG,CAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAE,CAAA,CAAC,aAAa,CAAC,CAAA;AACvF,CAAA,CAAA,CAAA,CAAI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,IAAI,CAAC,CAAA;AACnC,CAAA,CAAA,CAAA,CAAI,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAC,WAAW,CAAE,CAAA,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAC,CAAA;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAG,CAAC,CAAA;AACJ,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,CAAA,CAAE,IAAI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAE,CAAA,CAAA;AACnC,CAAA,CAAA,CAAA,CAAI,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAI,CAAA,CAAA,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAI,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAE,CAAA,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA;AAChF,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAA;AAC5B,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAE,CAAA,CAAA;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAQ,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtB,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAK,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,IAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA;AAC3D,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAE,CAAA,CAAA;AACzC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAI,CAAA,CAAA,CAAA,CAAA,CAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAE,CAAA,CAAA;AAC/D,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,UAAU,CAAC,CAAA;AAC7C,CAAA;;"}
|
package/esm/index.mjs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export { getFormattedDate } from './utils/get-formatted-date.mjs';
|
|
2
|
+
export { handleControlKeyDown } from './utils/handle-control-key-down.mjs';
|
|
3
|
+
export { assignTime } from './utils/assign-time/assign-time.mjs';
|
|
4
|
+
export { getDefaultClampedDate } from './utils/get-default-clamped-date.mjs';
|
|
5
|
+
export { shiftTimezone } from './utils/shift-timezone.mjs';
|
|
6
|
+
export { DATES_PROVIDER_DEFAULT_SETTINGS, DatesProvider } from './components/DatesProvider/DatesProvider.mjs';
|
|
7
|
+
export { useDatesContext } from './components/DatesProvider/use-dates-context.mjs';
|
|
8
|
+
export { HiddenDatesInput } from './components/HiddenDatesInput/HiddenDatesInput.mjs';
|
|
9
|
+
export { TimeInput } from './components/TimeInput/TimeInput.mjs';
|
|
10
|
+
export { Day } from './components/Day/Day.mjs';
|
|
11
|
+
export { WeekdaysRow } from './components/WeekdaysRow/WeekdaysRow.mjs';
|
|
12
|
+
export { getEndOfWeek } from './components/Month/get-end-of-week/get-end-of-week.mjs';
|
|
13
|
+
export { getStartOfWeek } from './components/Month/get-start-of-week/get-start-of-week.mjs';
|
|
14
|
+
export { getMonthDays } from './components/Month/get-month-days/get-month-days.mjs';
|
|
15
|
+
export { isSameMonth } from './components/Month/is-same-month/is-same-month.mjs';
|
|
16
|
+
export { Month } from './components/Month/Month.mjs';
|
|
17
|
+
export { PickerControl } from './components/PickerControl/PickerControl.mjs';
|
|
18
|
+
export { YearsList } from './components/YearsList/YearsList.mjs';
|
|
19
|
+
export { MonthsList } from './components/MonthsList/MonthsList.mjs';
|
|
20
|
+
export { CalendarHeader } from './components/CalendarHeader/CalendarHeader.mjs';
|
|
21
|
+
export { DecadeLevel } from './components/DecadeLevel/DecadeLevel.mjs';
|
|
22
|
+
export { YearLevel } from './components/YearLevel/YearLevel.mjs';
|
|
23
|
+
export { MonthLevel } from './components/MonthLevel/MonthLevel.mjs';
|
|
24
|
+
export { LevelsGroup } from './components/LevelsGroup/LevelsGroup.mjs';
|
|
25
|
+
export { DecadeLevelGroup } from './components/DecadeLevelGroup/DecadeLevelGroup.mjs';
|
|
26
|
+
export { YearLevelGroup } from './components/YearLevelGroup/YearLevelGroup.mjs';
|
|
27
|
+
export { MonthLevelGroup } from './components/MonthLevelGroup/MonthLevelGroup.mjs';
|
|
28
|
+
export { PickerInputBase } from './components/PickerInputBase/PickerInputBase.mjs';
|
|
29
|
+
export { Calendar } from './components/Calendar/Calendar.mjs';
|
|
30
|
+
export { pickCalendarProps } from './components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs';
|
|
31
|
+
export { YearPicker } from './components/YearPicker/YearPicker.mjs';
|
|
32
|
+
export { MonthPicker } from './components/MonthPicker/MonthPicker.mjs';
|
|
33
|
+
export { DatePicker } from './components/DatePicker/DatePicker.mjs';
|
|
34
|
+
export { DateInput } from './components/DateInput/DateInput.mjs';
|
|
35
|
+
export { DateTimePicker } from './components/DateTimePicker/DateTimePicker.mjs';
|
|
36
|
+
export { YearPickerInput } from './components/YearPickerInput/YearPickerInput.mjs';
|
|
37
|
+
export { MonthPickerInput } from './components/MonthPickerInput/MonthPickerInput.mjs';
|
|
38
|
+
export { DatePickerInput } from './components/DatePickerInput/DatePickerInput.mjs';
|
|
39
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
function assignTime(originalDate, resultDate) {
|
|
3
|
+
if (!originalDate || !resultDate) {
|
|
4
|
+
return resultDate;
|
|
5
|
+
}
|
|
6
|
+
const hours = originalDate.getHours();
|
|
7
|
+
const minutes = originalDate.getMinutes();
|
|
8
|
+
const seconds = originalDate.getSeconds();
|
|
9
|
+
const ms = originalDate.getMilliseconds();
|
|
10
|
+
const result = new Date(resultDate);
|
|
11
|
+
result.setHours(hours);
|
|
12
|
+
result.setMinutes(minutes);
|
|
13
|
+
result.setSeconds(seconds);
|
|
14
|
+
result.setMilliseconds(ms);
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { assignTime };
|
|
19
|
+
//# sourceMappingURL=assign-time.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assign-time.mjs","sources":["../../../src/utils/assign-time/assign-time.ts"],"sourcesContent":["export function assignTime(originalDate: Date, resultDate: Date) {\n if (!originalDate || !resultDate) {\n return resultDate;\n }\n\n const hours = originalDate.getHours();\n const minutes = originalDate.getMinutes();\n const seconds = originalDate.getSeconds();\n const ms = originalDate.getMilliseconds();\n\n const result = new Date(resultDate);\n result.setHours(hours);\n result.setMinutes(minutes);\n result.setSeconds(seconds);\n result.setMilliseconds(ms);\n\n return result;\n}\n"],"names":[],"mappings":";AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,UAAU,CAAE,CAAA,CAAA;AACrD,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAI,CAAA,CAAA,CAAA,CAAC,UAAU,CAAE,CAAA,CAAA;AACpC,CAAA,CAAA,CAAA,CAAI,OAAO,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,MAAM,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,QAAQ,CAAE,CAAA,CAAA;AACvC,CAAA,CAAE,MAAM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,UAAU,CAAE,CAAA,CAAA;AAC3C,CAAA,CAAE,MAAM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,UAAU,CAAE,CAAA,CAAA;AAC3C,CAAA,CAAE,MAAM,CAAE,CAAA,CAAA,CAAA,CAAG,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,eAAe,CAAE,CAAA,CAAA;AAC3C,CAAA,CAAE,MAAM,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,IAAI,CAAI,CAAA,CAAA,CAAA,CAAC,UAAU,CAAC,CAAA;AACrC,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,KAAK,CAAC,CAAA;AACxB,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAA,CAAE,OAAO,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACf,CAAA;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
import { shiftTimezone } from './shift-timezone.mjs';
|
|
4
|
+
|
|
5
|
+
function getDefaultClampedDate({ minDate, maxDate, timezone }) {
|
|
6
|
+
const today = shiftTimezone("add", /* @__PURE__ */ new Date(), timezone);
|
|
7
|
+
if (!minDate && !maxDate) {
|
|
8
|
+
return today;
|
|
9
|
+
}
|
|
10
|
+
if (minDate && dayjs(today).isBefore(minDate)) {
|
|
11
|
+
return minDate;
|
|
12
|
+
}
|
|
13
|
+
if (maxDate && dayjs(today).isAfter(maxDate)) {
|
|
14
|
+
return maxDate;
|
|
15
|
+
}
|
|
16
|
+
return today;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { getDefaultClampedDate };
|
|
20
|
+
//# sourceMappingURL=get-default-clamped-date.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-default-clamped-date.mjs","sources":["../../src/utils/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { shiftTimezone } from './shift-timezone';\n\ninterface GetDefaultClampedDate {\n minDate: Date | undefined;\n maxDate: Date | undefined;\n timezone?: string;\n}\n\nexport function getDefaultClampedDate({ minDate, maxDate, timezone }: GetDefaultClampedDate) {\n const today = shiftTimezone('add', new Date(), timezone);\n\n if (!minDate && !maxDate) {\n return today;\n }\n\n if (minDate && dayjs(today).isBefore(minDate)) {\n return minDate;\n }\n\n if (maxDate && dayjs(today).isAfter(maxDate)) {\n return maxDate;\n }\n\n return today;\n}\n"],"names":[],"mappings":";;;;AAGO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA;AACtE,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAI,CAAA,CAAA,CAAA,CAAA,CAAE,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA;AAC1E,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAI,CAAA,CAAA,CAAA,CAAC,OAAO,CAAE,CAAA,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAI,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAE,CAAA,CAAA;AACjD,CAAA,CAAA,CAAA,CAAI,OAAO,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAE,CAAA,CAAA;AAChD,CAAA,CAAA,CAAA,CAAI,OAAO,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAA;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
|
|
4
|
+
function defaultDateFormatter({
|
|
5
|
+
type,
|
|
6
|
+
date,
|
|
7
|
+
locale,
|
|
8
|
+
format,
|
|
9
|
+
labelSeparator
|
|
10
|
+
}) {
|
|
11
|
+
const formatDate = (value) => dayjs(value).locale(locale).format(format);
|
|
12
|
+
if (type === "default") {
|
|
13
|
+
return date === null ? "" : formatDate(date);
|
|
14
|
+
}
|
|
15
|
+
if (type === "multiple") {
|
|
16
|
+
return date.map(formatDate).join(", ");
|
|
17
|
+
}
|
|
18
|
+
if (type === "range" && Array.isArray(date)) {
|
|
19
|
+
if (date[0] && date[1]) {
|
|
20
|
+
return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;
|
|
21
|
+
}
|
|
22
|
+
if (date[0]) {
|
|
23
|
+
return `${formatDate(date[0])} ${labelSeparator} `;
|
|
24
|
+
}
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
function getFormattedDate({ formatter, ...others }) {
|
|
30
|
+
return (formatter || defaultDateFormatter)(others);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { defaultDateFormatter, getFormattedDate };
|
|
34
|
+
//# sourceMappingURL=get-formatted-date.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-formatted-date.mjs","sources":["../../src/utils/get-formatted-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatePickerType, DatePickerValue } from '../types';\n\ninterface DateFormatterInput {\n type: DatePickerType;\n date: DatePickerValue<DatePickerType>;\n locale: string;\n format: string;\n labelSeparator: string;\n}\n\nexport type DateFormatter = (input: DateFormatterInput) => string;\n\nexport function defaultDateFormatter({\n type,\n date,\n locale,\n format,\n labelSeparator,\n}: DateFormatterInput) {\n const formatDate = (value: Date) => dayjs(value).locale(locale).format(format);\n\n if (type === 'default') {\n return date === null ? '' : formatDate(date as Date);\n }\n\n if (type === 'multiple') {\n return (date as Date[]).map(formatDate).join(', ');\n }\n\n if (type === 'range' && Array.isArray(date)) {\n if (date[0] && date[1]) {\n return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;\n }\n\n if (date[0]) {\n return `${formatDate(date[0])} ${labelSeparator} `;\n }\n\n return '';\n }\n\n return '';\n}\n\ninterface GetFormattedDateInput extends DateFormatterInput {\n formatter?: DateFormatter;\n}\n\nexport function getFormattedDate({ formatter, ...others }: GetFormattedDateInput) {\n return (formatter || defaultDateFormatter)(others);\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
import timezonePlugin from 'dayjs/plugin/timezone.js';
|
|
4
|
+
import utcPlugin from 'dayjs/plugin/utc.js';
|
|
5
|
+
|
|
6
|
+
dayjs.extend(utcPlugin);
|
|
7
|
+
dayjs.extend(timezonePlugin);
|
|
8
|
+
function getTimezoneOffset(date, timezone) {
|
|
9
|
+
if (timezone) {
|
|
10
|
+
return dayjs(date).tz(timezone).utcOffset() + date.getTimezoneOffset();
|
|
11
|
+
}
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { getTimezoneOffset };
|
|
16
|
+
//# sourceMappingURL=get-timezone-offset.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-timezone-offset.mjs","sources":["../../src/utils/get-timezone-offset.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport timezonePlugin from 'dayjs/plugin/timezone.js';\nimport utcPlugin from 'dayjs/plugin/utc.js';\n\ndayjs.extend(utcPlugin);\ndayjs.extend(timezonePlugin);\n\nexport function getTimezoneOffset(date: Date, timezone?: string) {\n if (timezone) {\n return dayjs(date).tz(timezone).utcOffset() + date.getTimezoneOffset();\n }\n return 0;\n}\n"],"names":[],"mappings":";;;;;AAIA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAE,QAAQ,CAAE,CAAA,CAAA;AAClD,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAE,CAAA,CAAA;AAChB,CAAA,CAAA,CAAA,CAAI,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAI,CAAA,CAAA,CAAA,CAAC,CAAC,CAAE,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,GAAG,CAAI,CAAA,CAAA,CAAA,CAAC,iBAAiB,CAAE,CAAA,CAAA;AAC1E,CAAA,CAAA,CAAA;AACA,CAAA,CAAE,OAAO,CAAC,CAAA;AACV,CAAA;;"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
function getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {
|
|
3
|
+
switch (direction) {
|
|
4
|
+
case "up":
|
|
5
|
+
if (levelIndex === 0 && rowIndex === 0) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
if (rowIndex === 0) {
|
|
9
|
+
return {
|
|
10
|
+
levelIndex: levelIndex - 1,
|
|
11
|
+
rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,
|
|
12
|
+
cellIndex
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
levelIndex,
|
|
17
|
+
rowIndex: rowIndex - 1,
|
|
18
|
+
cellIndex
|
|
19
|
+
};
|
|
20
|
+
case "down":
|
|
21
|
+
if (rowIndex === size[levelIndex].length - 1) {
|
|
22
|
+
return {
|
|
23
|
+
levelIndex: levelIndex + 1,
|
|
24
|
+
rowIndex: 0,
|
|
25
|
+
cellIndex
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {
|
|
29
|
+
return {
|
|
30
|
+
levelIndex: levelIndex + 1,
|
|
31
|
+
rowIndex: 0,
|
|
32
|
+
cellIndex
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
levelIndex,
|
|
37
|
+
rowIndex: rowIndex + 1,
|
|
38
|
+
cellIndex
|
|
39
|
+
};
|
|
40
|
+
case "left":
|
|
41
|
+
if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
if (rowIndex === 0 && cellIndex === 0) {
|
|
45
|
+
return {
|
|
46
|
+
levelIndex: levelIndex - 1,
|
|
47
|
+
rowIndex: size[levelIndex - 1].length - 1,
|
|
48
|
+
cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (cellIndex === 0) {
|
|
52
|
+
return {
|
|
53
|
+
levelIndex,
|
|
54
|
+
rowIndex: rowIndex - 1,
|
|
55
|
+
cellIndex: size[levelIndex][rowIndex - 1] - 1
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
levelIndex,
|
|
60
|
+
rowIndex,
|
|
61
|
+
cellIndex: cellIndex - 1
|
|
62
|
+
};
|
|
63
|
+
case "right":
|
|
64
|
+
if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {
|
|
65
|
+
return {
|
|
66
|
+
levelIndex: levelIndex + 1,
|
|
67
|
+
rowIndex: 0,
|
|
68
|
+
cellIndex: 0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (cellIndex === size[levelIndex][rowIndex] - 1) {
|
|
72
|
+
return {
|
|
73
|
+
levelIndex,
|
|
74
|
+
rowIndex: rowIndex + 1,
|
|
75
|
+
cellIndex: 0
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
levelIndex,
|
|
80
|
+
rowIndex,
|
|
81
|
+
cellIndex: cellIndex + 1
|
|
82
|
+
};
|
|
83
|
+
default:
|
|
84
|
+
return { levelIndex, rowIndex, cellIndex };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function focusOnNextFocusableControl({
|
|
88
|
+
controlsRef,
|
|
89
|
+
direction,
|
|
90
|
+
levelIndex,
|
|
91
|
+
rowIndex,
|
|
92
|
+
cellIndex,
|
|
93
|
+
size
|
|
94
|
+
}) {
|
|
95
|
+
const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });
|
|
96
|
+
if (!nextIndex) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];
|
|
100
|
+
if (!controlToFocus) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (controlToFocus.disabled || controlToFocus.getAttribute("data-hidden") || controlToFocus.getAttribute("data-outside")) {
|
|
104
|
+
focusOnNextFocusableControl({
|
|
105
|
+
controlsRef,
|
|
106
|
+
direction,
|
|
107
|
+
levelIndex: nextIndex.levelIndex,
|
|
108
|
+
cellIndex: nextIndex.cellIndex,
|
|
109
|
+
rowIndex: nextIndex.rowIndex,
|
|
110
|
+
size
|
|
111
|
+
});
|
|
112
|
+
} else {
|
|
113
|
+
controlToFocus.focus();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function getDirection(key) {
|
|
117
|
+
switch (key) {
|
|
118
|
+
case "ArrowDown":
|
|
119
|
+
return "down";
|
|
120
|
+
case "ArrowUp":
|
|
121
|
+
return "up";
|
|
122
|
+
case "ArrowRight":
|
|
123
|
+
return "right";
|
|
124
|
+
case "ArrowLeft":
|
|
125
|
+
return "left";
|
|
126
|
+
default:
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function getControlsSize(controlsRef) {
|
|
131
|
+
return controlsRef.current?.map((column) => column.map((row) => row.length));
|
|
132
|
+
}
|
|
133
|
+
function handleControlKeyDown({
|
|
134
|
+
controlsRef,
|
|
135
|
+
levelIndex,
|
|
136
|
+
rowIndex,
|
|
137
|
+
cellIndex,
|
|
138
|
+
event
|
|
139
|
+
}) {
|
|
140
|
+
const direction = getDirection(event.key);
|
|
141
|
+
if (direction) {
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
const size = getControlsSize(controlsRef);
|
|
144
|
+
focusOnNextFocusableControl({
|
|
145
|
+
controlsRef,
|
|
146
|
+
direction,
|
|
147
|
+
levelIndex,
|
|
148
|
+
rowIndex,
|
|
149
|
+
cellIndex,
|
|
150
|
+
size
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export { handleControlKeyDown };
|
|
156
|
+
//# sourceMappingURL=handle-control-key-down.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-control-key-down.mjs","sources":["../../src/utils/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null!;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef)!;\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import dayjs from 'dayjs';
|
|
3
|
+
import { getTimezoneOffset } from './get-timezone-offset.mjs';
|
|
4
|
+
|
|
5
|
+
const updateTimezone = (date, timezone, direction) => {
|
|
6
|
+
if (!date) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (!timezone) {
|
|
10
|
+
return date;
|
|
11
|
+
}
|
|
12
|
+
let offset = getTimezoneOffset(date, timezone);
|
|
13
|
+
if (direction === "remove") {
|
|
14
|
+
offset *= -1;
|
|
15
|
+
}
|
|
16
|
+
return dayjs(date).add(offset, "minutes").toDate();
|
|
17
|
+
};
|
|
18
|
+
function shiftTimezone(direction, date, timezone, disabled) {
|
|
19
|
+
if (disabled || !date) {
|
|
20
|
+
return date;
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(date)) {
|
|
23
|
+
return date.map((d) => updateTimezone(d, timezone, direction));
|
|
24
|
+
}
|
|
25
|
+
return updateTimezone(date, timezone, direction);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { shiftTimezone };
|
|
29
|
+
//# sourceMappingURL=shift-timezone.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shift-timezone.mjs","sources":["../../src/utils/shift-timezone.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatesRangeValue, DateValue } from '../types';\nimport { getTimezoneOffset } from './get-timezone-offset';\n\ntype TimeShiftDirection = 'add' | 'remove';\n\nconst updateTimezone = (\n date: DateValue | undefined,\n timezone?: string,\n direction?: TimeShiftDirection\n): DateValue => {\n if (!date) {\n return null;\n }\n if (!timezone) {\n return date;\n }\n let offset = getTimezoneOffset(date, timezone);\n if (direction === 'remove') {\n offset *= -1;\n }\n return dayjs(date).add(offset, 'minutes').toDate();\n};\n\nexport function shiftTimezone<T extends DateValue | Date[] | DatesRangeValue | undefined>(\n direction: TimeShiftDirection,\n date: T,\n timezone?: string,\n disabled?: boolean\n): T {\n if (disabled || !date) {\n return date;\n }\n if (Array.isArray(date)) {\n return date.map((d) => updateTimezone(d, timezone, direction)) as T;\n }\n return updateTimezone(date, timezone, direction) as T;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { BoxProps, ElementProps, Factory, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import { CalendarLevel } from '../../types';
|
|
3
|
+
import { DecadeLevelSettings } from '../DecadeLevel';
|
|
4
|
+
import { DecadeLevelGroupStylesNames } from '../DecadeLevelGroup';
|
|
5
|
+
import { MonthLevelSettings } from '../MonthLevel';
|
|
6
|
+
import { MonthLevelGroupStylesNames } from '../MonthLevelGroup';
|
|
7
|
+
import { YearLevelSettings } from '../YearLevel';
|
|
8
|
+
import { YearLevelGroupStylesNames } from '../YearLevelGroup';
|
|
9
|
+
export type CalendarStylesNames = MonthLevelGroupStylesNames | YearLevelGroupStylesNames | DecadeLevelGroupStylesNames;
|
|
10
|
+
export interface CalendarAriaLabels {
|
|
11
|
+
monthLevelControl?: string;
|
|
12
|
+
yearLevelControl?: string;
|
|
13
|
+
nextMonth?: string;
|
|
14
|
+
previousMonth?: string;
|
|
15
|
+
nextYear?: string;
|
|
16
|
+
previousYear?: string;
|
|
17
|
+
nextDecade?: string;
|
|
18
|
+
previousDecade?: string;
|
|
19
|
+
}
|
|
20
|
+
type OmittedSettings = 'onNext' | 'onPrevious' | 'onLevelClick' | 'withNext' | 'withPrevious' | 'nextDisabled' | 'previousDisabled';
|
|
21
|
+
export interface CalendarSettings extends Omit<DecadeLevelSettings, OmittedSettings>, Omit<YearLevelSettings, OmittedSettings>, Omit<MonthLevelSettings, OmittedSettings> {
|
|
22
|
+
/** Initial level displayed to the user (decade, year, month), used for uncontrolled component */
|
|
23
|
+
defaultLevel?: CalendarLevel;
|
|
24
|
+
/** Current level displayed to the user (decade, year, month), used for controlled component */
|
|
25
|
+
level?: CalendarLevel;
|
|
26
|
+
/** Called when level changes */
|
|
27
|
+
onLevelChange?: (level: CalendarLevel) => void;
|
|
28
|
+
/** Called when user clicks year on decade level */
|
|
29
|
+
onYearSelect?: (date: Date) => void;
|
|
30
|
+
/** Called when user clicks month on year level */
|
|
31
|
+
onMonthSelect?: (date: Date) => void;
|
|
32
|
+
/** Called when mouse enters year control */
|
|
33
|
+
onYearMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, date: Date) => void;
|
|
34
|
+
/** Called when mouse enters month control */
|
|
35
|
+
onMonthMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, date: Date) => void;
|
|
36
|
+
}
|
|
37
|
+
export interface CalendarBaseProps {
|
|
38
|
+
__staticSelector?: string;
|
|
39
|
+
/** Internal Variable to check if timezones were applied by parent component */
|
|
40
|
+
__timezoneApplied?: boolean;
|
|
41
|
+
/** Prevents focus shift when buttons are clicked */
|
|
42
|
+
__preventFocus?: boolean;
|
|
43
|
+
/** Determines whether date should be updated when year control is clicked */
|
|
44
|
+
__updateDateOnYearSelect?: boolean;
|
|
45
|
+
/** Determines whether date should be updated when month control is clicked */
|
|
46
|
+
__updateDateOnMonthSelect?: boolean;
|
|
47
|
+
/** Initial date that is displayed, used for uncontrolled component */
|
|
48
|
+
defaultDate?: Date;
|
|
49
|
+
/** Date that is displayed, used for controlled component */
|
|
50
|
+
date?: Date;
|
|
51
|
+
/** Called when date changes */
|
|
52
|
+
onDateChange?: (date: Date) => void;
|
|
53
|
+
/** Number of columns to render next to each other */
|
|
54
|
+
numberOfColumns?: number;
|
|
55
|
+
/** Number of columns to scroll when user clicks next/prev buttons, defaults to numberOfColumns */
|
|
56
|
+
columnsToScroll?: number;
|
|
57
|
+
/** Aria-label attributes for controls on different levels */
|
|
58
|
+
ariaLabels?: CalendarAriaLabels;
|
|
59
|
+
/** Arial-label for next button */
|
|
60
|
+
nextLabel?: string;
|
|
61
|
+
/** Arial-label for previous button */
|
|
62
|
+
previousLabel?: string;
|
|
63
|
+
/** Called when next decade button is clicked */
|
|
64
|
+
onNextDecade?: (date: Date) => void;
|
|
65
|
+
/** Called when previous decade button is clicked */
|
|
66
|
+
onPreviousDecade?: (date: Date) => void;
|
|
67
|
+
/** Called when next year button is clicked */
|
|
68
|
+
onNextYear?: (date: Date) => void;
|
|
69
|
+
/** Called when previous year button is clicked */
|
|
70
|
+
onPreviousYear?: (date: Date) => void;
|
|
71
|
+
/** Called when next month button is clicked */
|
|
72
|
+
onNextMonth?: (date: Date) => void;
|
|
73
|
+
/** Called when previous month button is clicked */
|
|
74
|
+
onPreviousMonth?: (date: Date) => void;
|
|
75
|
+
}
|
|
76
|
+
export interface CalendarProps extends BoxProps, CalendarSettings, CalendarBaseProps, StylesApiProps<CalendarFactory>, ElementProps<'div'> {
|
|
77
|
+
/** Max level that user can go up to (decade, year, month), defaults to decade */
|
|
78
|
+
maxLevel?: CalendarLevel;
|
|
79
|
+
/** Min level that user can go down to (decade, year, month), defaults to month */
|
|
80
|
+
minLevel?: CalendarLevel;
|
|
81
|
+
/** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */
|
|
82
|
+
static?: boolean;
|
|
83
|
+
}
|
|
84
|
+
export type CalendarFactory = Factory<{
|
|
85
|
+
props: CalendarProps;
|
|
86
|
+
ref: HTMLDivElement;
|
|
87
|
+
stylesNames: CalendarStylesNames;
|
|
88
|
+
}>;
|
|
89
|
+
export declare const Calendar: import("@mantine/core").MantineComponent<{
|
|
90
|
+
props: CalendarProps;
|
|
91
|
+
ref: HTMLDivElement;
|
|
92
|
+
stylesNames: CalendarStylesNames;
|
|
93
|
+
}>;
|
|
94
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Calendar } from './Calendar';
|
|
2
|
+
export { pickCalendarProps } from './pick-calendar-levels-props/pick-calendar-levels-props';
|
|
3
|
+
export type { CalendarSettings, CalendarAriaLabels, CalendarProps, CalendarStylesNames, CalendarBaseProps, CalendarFactory, } from './Calendar';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare function pickCalendarProps<T extends Record<string, any>>(props: T): {
|
|
2
|
+
calendarProps: {
|
|
3
|
+
maxLevel: any;
|
|
4
|
+
minLevel: any;
|
|
5
|
+
defaultLevel: any;
|
|
6
|
+
level: any;
|
|
7
|
+
onLevelChange: any;
|
|
8
|
+
nextIcon: any;
|
|
9
|
+
previousIcon: any;
|
|
10
|
+
date: any;
|
|
11
|
+
defaultDate: any;
|
|
12
|
+
onDateChange: any;
|
|
13
|
+
numberOfColumns: any;
|
|
14
|
+
columnsToScroll: any;
|
|
15
|
+
ariaLabels: any;
|
|
16
|
+
nextLabel: any;
|
|
17
|
+
previousLabel: any;
|
|
18
|
+
onYearSelect: any;
|
|
19
|
+
onMonthSelect: any;
|
|
20
|
+
onYearMouseEnter: any;
|
|
21
|
+
onMonthMouseEnter: any;
|
|
22
|
+
onNextMonth: any;
|
|
23
|
+
onPreviousMonth: any;
|
|
24
|
+
onNextYear: any;
|
|
25
|
+
onPreviousYear: any;
|
|
26
|
+
onNextDecade: any;
|
|
27
|
+
onPreviousDecade: any;
|
|
28
|
+
withCellSpacing: any;
|
|
29
|
+
highlightToday: any;
|
|
30
|
+
__updateDateOnYearSelect: any;
|
|
31
|
+
__updateDateOnMonthSelect: any;
|
|
32
|
+
firstDayOfWeek: any;
|
|
33
|
+
weekdayFormat: any;
|
|
34
|
+
weekendDays: any;
|
|
35
|
+
getDayProps: any;
|
|
36
|
+
excludeDate: any;
|
|
37
|
+
renderDay: any;
|
|
38
|
+
hideOutsideDates: any;
|
|
39
|
+
hideWeekdays: any;
|
|
40
|
+
getDayAriaLabel: any;
|
|
41
|
+
monthLabelFormat: any;
|
|
42
|
+
monthsListFormat: any;
|
|
43
|
+
getMonthControlProps: any;
|
|
44
|
+
yearLabelFormat: any;
|
|
45
|
+
yearsListFormat: any;
|
|
46
|
+
getYearControlProps: any;
|
|
47
|
+
decadeLabelFormat: any;
|
|
48
|
+
allowSingleDateInRange: any;
|
|
49
|
+
allowDeselect: any;
|
|
50
|
+
minDate: any;
|
|
51
|
+
maxDate: any;
|
|
52
|
+
locale: any;
|
|
53
|
+
};
|
|
54
|
+
others: Omit<T, "maxLevel" | "minLevel" | "defaultLevel" | "level" | "onLevelChange" | "nextIcon" | "previousIcon" | "date" | "defaultDate" | "onDateChange" | "numberOfColumns" | "columnsToScroll" | "ariaLabels" | "nextLabel" | "previousLabel" | "onYearSelect" | "onMonthSelect" | "onYearMouseEnter" | "onMonthMouseEnter" | "onNextMonth" | "onPreviousMonth" | "onNextYear" | "onPreviousYear" | "onNextDecade" | "onPreviousDecade" | "withCellSpacing" | "highlightToday" | "__updateDateOnYearSelect" | "__updateDateOnMonthSelect" | "firstDayOfWeek" | "weekdayFormat" | "weekendDays" | "getDayProps" | "excludeDate" | "renderDay" | "hideOutsideDates" | "hideWeekdays" | "getDayAriaLabel" | "monthLabelFormat" | "monthsListFormat" | "getMonthControlProps" | "yearLabelFormat" | "yearsListFormat" | "getYearControlProps" | "decadeLabelFormat" | "allowSingleDateInRange" | "allowDeselect" | "minDate" | "maxDate" | "locale">;
|
|
55
|
+
};
|