@mantine/dates 9.0.0-alpha.5 → 9.0.0-alpha.7
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/_virtual/_rolldown/runtime.cjs +24 -0
- package/cjs/components/Calendar/Calendar.cjs +250 -344
- package/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/cjs/components/Calendar/clamp-level/clamp-level.cjs +11 -19
- package/cjs/components/Calendar/clamp-level/clamp-level.cjs.map +1 -1
- package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs +64 -130
- package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs.map +1 -1
- package/cjs/components/CalendarHeader/CalendarHeader.cjs +100 -145
- package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/cjs/components/CalendarHeader/CalendarHeader.module.cjs +12 -0
- package/cjs/components/CalendarHeader/CalendarHeader.module.cjs.map +1 -0
- package/cjs/components/DateInput/DateInput.cjs +188 -242
- package/cjs/components/DateInput/DateInput.cjs.map +1 -1
- package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs +12 -19
- package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs.map +1 -1
- package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs +13 -24
- package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs.map +1 -1
- package/cjs/components/DatePicker/DatePicker.cjs +121 -154
- package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/cjs/components/DatePicker/DatePicker.module.cjs +11 -0
- package/cjs/components/DatePicker/DatePicker.module.cjs.map +1 -0
- package/cjs/components/DatePickerInput/DatePickerInput.cjs +85 -123
- package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.cjs +187 -233
- package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.module.cjs +10 -0
- package/cjs/components/DateTimePicker/DateTimePicker.module.cjs.map +1 -0
- package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs +12 -15
- package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs.map +1 -1
- package/cjs/components/DatesProvider/DatesProvider.cjs +21 -15
- package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
- package/cjs/components/DatesProvider/use-dates-context.cjs +20 -29
- package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
- package/cjs/components/Day/Day.cjs +49 -83
- package/cjs/components/Day/Day.cjs.map +1 -1
- package/cjs/components/Day/Day.module.cjs +7 -0
- package/cjs/components/Day/Day.module.cjs.map +1 -0
- package/cjs/components/DecadeLevel/DecadeLevel.cjs +75 -124
- package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
- package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs +8 -9
- package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs.map +1 -1
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +81 -131
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs +30 -36
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs.map +1 -1
- package/cjs/components/LevelsGroup/LevelsGroup.cjs +30 -38
- package/cjs/components/LevelsGroup/LevelsGroup.cjs.map +1 -1
- package/cjs/components/LevelsGroup/LevelsGroup.module.cjs +7 -0
- package/cjs/components/LevelsGroup/LevelsGroup.module.cjs.map +1 -0
- package/cjs/components/MiniCalendar/MiniCalendar.cjs +124 -153
- package/cjs/components/MiniCalendar/MiniCalendar.cjs.map +1 -1
- package/cjs/components/MiniCalendar/MiniCalendar.module.cjs +14 -0
- package/cjs/components/MiniCalendar/MiniCalendar.module.cjs.map +1 -0
- package/cjs/components/Month/Month.cjs +152 -200
- package/cjs/components/Month/Month.cjs.map +1 -1
- package/cjs/components/Month/Month.module.cjs +11 -0
- package/cjs/components/Month/Month.module.cjs.map +1 -0
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs +18 -35
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs.map +1 -1
- package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs +13 -20
- package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs.map +1 -1
- package/cjs/components/Month/get-month-days/get-month-days.cjs +38 -47
- package/cjs/components/Month/get-month-days/get-month-days.cjs.map +1 -1
- package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs +11 -16
- package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs.map +1 -1
- package/cjs/components/Month/get-week-number/get-week-number.cjs +12 -16
- package/cjs/components/Month/get-week-number/get-week-number.cjs.map +1 -1
- package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs +9 -12
- package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs.map +1 -1
- package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs +9 -12
- package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs.map +1 -1
- package/cjs/components/Month/is-same-month/is-same-month.cjs +9 -12
- package/cjs/components/Month/is-same-month/is-same-month.cjs.map +1 -1
- package/cjs/components/MonthLevel/MonthLevel.cjs +83 -141
- package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +92 -154
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
- package/cjs/components/MonthPicker/MonthPicker.cjs +49 -75
- package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +86 -119
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
- package/cjs/components/MonthsList/MonthsList.cjs +105 -139
- package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
- package/cjs/components/MonthsList/MonthsList.module.cjs +10 -0
- package/cjs/components/MonthsList/MonthsList.module.cjs.map +1 -0
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs +20 -30
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs.map +1 -1
- package/cjs/components/MonthsList/get-months-data/get-months-data.cjs +21 -21
- package/cjs/components/MonthsList/get-months-data/get-months-data.cjs.map +1 -1
- package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs +12 -21
- package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs.map +1 -1
- package/cjs/components/PickerControl/PickerControl.cjs +43 -65
- package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
- package/cjs/components/PickerControl/PickerControl.module.cjs +7 -0
- package/cjs/components/PickerControl/PickerControl.module.cjs.map +1 -0
- package/cjs/components/PickerInputBase/PickerInputBase.cjs +95 -127
- package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
- package/cjs/components/PickerInputBase/PickerInputBase.module.cjs +7 -0
- package/cjs/components/PickerInputBase/PickerInputBase.module.cjs.map +1 -0
- package/cjs/components/SpinInput/SpinInput.cjs +83 -111
- package/cjs/components/SpinInput/SpinInput.cjs.map +1 -1
- package/cjs/components/TimeGrid/TimeGrid.cjs +94 -101
- package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -1
- package/cjs/components/TimeGrid/TimeGrid.context.cjs +7 -10
- package/cjs/components/TimeGrid/TimeGrid.context.cjs.map +1 -1
- package/cjs/components/TimeGrid/TimeGrid.module.cjs +7 -0
- package/cjs/components/TimeGrid/TimeGrid.module.cjs.map +1 -0
- package/cjs/components/TimeGrid/TimeGridControl.cjs +26 -35
- package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -1
- package/cjs/components/TimeGrid/compare-time.cjs +8 -9
- package/cjs/components/TimeGrid/compare-time.cjs.map +1 -1
- package/cjs/components/TimeInput/TimeInput.cjs +71 -88
- package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
- package/cjs/components/TimeInput/TimeInput.module.cjs +7 -0
- package/cjs/components/TimeInput/TimeInput.module.cjs.map +1 -0
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +93 -101
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -1
- package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs +19 -12
- package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs.map +1 -1
- package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs +20 -23
- package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs.map +1 -1
- package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs +47 -57
- package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePicker.cjs +325 -420
- package/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePicker.context.cjs +7 -10
- package/cjs/components/TimePicker/TimePicker.context.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePicker.module.cjs +18 -0
- package/cjs/components/TimePicker/TimePicker.module.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs +23 -28
- package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs +36 -36
- package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePresets/TimePresets.cjs +61 -70
- package/cjs/components/TimePicker/TimePresets/TimePresets.cjs.map +1 -1
- package/cjs/components/TimePicker/use-time-picker.cjs +201 -193
- package/cjs/components/TimePicker/use-time-picker.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs +10 -12
- package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs +40 -34
- package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs +12 -15
- package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs +39 -48
- package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs +10 -13
- package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs +6 -6
- package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs +11 -7
- package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs.map +1 -1
- package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs +17 -18
- package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs.map +1 -1
- package/cjs/components/TimeValue/TimeValue.cjs +18 -15
- package/cjs/components/TimeValue/TimeValue.cjs.map +1 -1
- package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs +14 -27
- package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs.map +1 -1
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs +51 -61
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.cjs +7 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.cjs.map +1 -0
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs +14 -26
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
- package/cjs/components/YearLevel/YearLevel.cjs +73 -121
- package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +83 -135
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
- package/cjs/components/YearPicker/YearPicker.cjs +48 -73
- package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
- package/cjs/components/YearPickerInput/YearPickerInput.cjs +86 -119
- package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
- package/cjs/components/YearsList/YearsList.cjs +103 -133
- package/cjs/components/YearsList/YearsList.cjs.map +1 -1
- package/cjs/components/YearsList/YearsList.module.cjs +10 -0
- package/cjs/components/YearsList/YearsList.module.cjs.map +1 -0
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs +20 -30
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs.map +1 -1
- package/cjs/components/YearsList/get-years-data/get-years-data.cjs +25 -23
- package/cjs/components/YearsList/get-years-data/get-years-data.cjs.map +1 -1
- package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs +12 -21
- package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs.map +1 -1
- package/cjs/hooks/use-dates-input/use-dates-input.cjs +47 -70
- package/cjs/hooks/use-dates-input/use-dates-input.cjs.map +1 -1
- package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs +10 -13
- package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs.map +1 -1
- package/cjs/hooks/use-dates-state/use-dates-state.cjs +113 -154
- package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs +32 -36
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs.map +1 -1
- package/cjs/index.cjs +94 -99
- package/cjs/utils/assign-time/assign-time.cjs +16 -21
- package/cjs/utils/assign-time/assign-time.cjs.map +1 -1
- package/cjs/utils/clamp-date/clamp-date.cjs +13 -22
- package/cjs/utils/clamp-date/clamp-date.cjs.map +1 -1
- package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs +15 -27
- package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs.map +1 -1
- package/cjs/utils/get-formatted-date/get-formatted-date.cjs +19 -37
- package/cjs/utils/get-formatted-date/get-formatted-date.cjs.map +1 -1
- package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs +114 -149
- package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs.map +1 -1
- package/cjs/utils/to-date-string/to-date-string.cjs +10 -13
- package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
- package/esm/components/Calendar/Calendar.mjs +247 -337
- package/esm/components/Calendar/Calendar.mjs.map +1 -1
- package/esm/components/Calendar/clamp-level/clamp-level.mjs +10 -17
- package/esm/components/Calendar/clamp-level/clamp-level.mjs.map +1 -1
- package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs +64 -128
- package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs.map +1 -1
- package/esm/components/CalendarHeader/CalendarHeader.mjs +98 -142
- package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
- package/esm/components/CalendarHeader/CalendarHeader.module.mjs +12 -0
- package/esm/components/CalendarHeader/CalendarHeader.module.mjs.map +1 -0
- package/esm/components/DateInput/DateInput.mjs +185 -235
- package/esm/components/DateInput/DateInput.mjs.map +1 -1
- package/esm/components/DateInput/date-string-parser/date-string-parser.mjs +10 -13
- package/esm/components/DateInput/date-string-parser/date-string-parser.mjs.map +1 -1
- package/esm/components/DateInput/is-date-valid/is-date-valid.mjs +11 -18
- package/esm/components/DateInput/is-date-valid/is-date-valid.mjs.map +1 -1
- package/esm/components/DatePicker/DatePicker.mjs +117 -146
- package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
- package/esm/components/DatePicker/DatePicker.module.mjs +11 -0
- package/esm/components/DatePicker/DatePicker.module.mjs.map +1 -0
- package/esm/components/DatePickerInput/DatePickerInput.mjs +84 -121
- package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
- package/esm/components/DateTimePicker/DateTimePicker.mjs +184 -226
- package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
- package/esm/components/DateTimePicker/DateTimePicker.module.mjs +10 -0
- package/esm/components/DateTimePicker/DateTimePicker.module.mjs.map +1 -0
- package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs +10 -9
- package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs.map +1 -1
- package/esm/components/DatesProvider/DatesProvider.mjs +19 -12
- package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
- package/esm/components/DatesProvider/use-dates-context.mjs +19 -27
- package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
- package/esm/components/Day/Day.mjs +46 -76
- package/esm/components/Day/Day.mjs.map +1 -1
- package/esm/components/Day/Day.module.mjs +7 -0
- package/esm/components/Day/Day.module.mjs.map +1 -0
- package/esm/components/DecadeLevel/DecadeLevel.mjs +72 -117
- package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
- package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs +8 -7
- package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs.map +1 -1
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +78 -124
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs +29 -34
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs.map +1 -1
- package/esm/components/LevelsGroup/LevelsGroup.mjs +28 -35
- package/esm/components/LevelsGroup/LevelsGroup.mjs.map +1 -1
- package/esm/components/LevelsGroup/LevelsGroup.module.mjs +7 -0
- package/esm/components/LevelsGroup/LevelsGroup.module.mjs.map +1 -0
- package/esm/components/MiniCalendar/MiniCalendar.mjs +121 -146
- package/esm/components/MiniCalendar/MiniCalendar.mjs.map +1 -1
- package/esm/components/MiniCalendar/MiniCalendar.module.mjs +14 -0
- package/esm/components/MiniCalendar/MiniCalendar.module.mjs.map +1 -0
- package/esm/components/Month/Month.mjs +149 -193
- package/esm/components/Month/Month.mjs.map +1 -1
- package/esm/components/Month/Month.module.mjs +11 -0
- package/esm/components/Month/Month.module.mjs.map +1 -0
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs +16 -29
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs.map +1 -1
- package/esm/components/Month/get-end-of-week/get-end-of-week.mjs +11 -14
- package/esm/components/Month/get-end-of-week/get-end-of-week.mjs.map +1 -1
- package/esm/components/Month/get-month-days/get-month-days.mjs +36 -41
- package/esm/components/Month/get-month-days/get-month-days.mjs.map +1 -1
- package/esm/components/Month/get-start-of-week/get-start-of-week.mjs +9 -10
- package/esm/components/Month/get-start-of-week/get-start-of-week.mjs.map +1 -1
- package/esm/components/Month/get-week-number/get-week-number.mjs +8 -8
- package/esm/components/Month/get-week-number/get-week-number.mjs.map +1 -1
- package/esm/components/Month/is-after-min-date/is-after-min-date.mjs +7 -6
- package/esm/components/Month/is-after-min-date/is-after-min-date.mjs.map +1 -1
- package/esm/components/Month/is-before-max-date/is-before-max-date.mjs +7 -6
- package/esm/components/Month/is-before-max-date/is-before-max-date.mjs.map +1 -1
- package/esm/components/Month/is-same-month/is-same-month.mjs +7 -6
- package/esm/components/Month/is-same-month/is-same-month.mjs.map +1 -1
- package/esm/components/MonthLevel/MonthLevel.mjs +80 -134
- package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +89 -147
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
- package/esm/components/MonthPicker/MonthPicker.mjs +46 -71
- package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs +85 -117
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
- package/esm/components/MonthsList/MonthsList.mjs +102 -132
- package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
- package/esm/components/MonthsList/MonthsList.module.mjs +10 -0
- package/esm/components/MonthsList/MonthsList.module.mjs.map +1 -0
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs +18 -24
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs.map +1 -1
- package/esm/components/MonthsList/get-months-data/get-months-data.mjs +19 -15
- package/esm/components/MonthsList/get-months-data/get-months-data.mjs.map +1 -1
- package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs +10 -15
- package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs.map +1 -1
- package/esm/components/PickerControl/PickerControl.mjs +41 -62
- package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
- package/esm/components/PickerControl/PickerControl.module.mjs +7 -0
- package/esm/components/PickerControl/PickerControl.module.mjs.map +1 -0
- package/esm/components/PickerInputBase/PickerInputBase.mjs +92 -120
- package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
- package/esm/components/PickerInputBase/PickerInputBase.module.mjs +7 -0
- package/esm/components/PickerInputBase/PickerInputBase.module.mjs.map +1 -0
- package/esm/components/SpinInput/SpinInput.mjs +82 -109
- package/esm/components/SpinInput/SpinInput.mjs.map +1 -1
- package/esm/components/TimeGrid/TimeGrid.context.mjs +7 -8
- package/esm/components/TimeGrid/TimeGrid.context.mjs.map +1 -1
- package/esm/components/TimeGrid/TimeGrid.mjs +92 -98
- package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -1
- package/esm/components/TimeGrid/TimeGrid.module.mjs +7 -0
- package/esm/components/TimeGrid/TimeGrid.module.mjs.map +1 -0
- package/esm/components/TimeGrid/TimeGridControl.mjs +24 -29
- package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -1
- package/esm/components/TimeGrid/compare-time.mjs +8 -7
- package/esm/components/TimeGrid/compare-time.mjs.map +1 -1
- package/esm/components/TimeInput/TimeInput.mjs +67 -80
- package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
- package/esm/components/TimeInput/TimeInput.module.mjs +7 -0
- package/esm/components/TimeInput/TimeInput.module.mjs.map +1 -0
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +92 -99
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -1
- package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs +18 -10
- package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs.map +1 -1
- package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs +19 -21
- package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs.map +1 -1
- package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs +46 -55
- package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs.map +1 -1
- package/esm/components/TimePicker/TimePicker.context.mjs +7 -8
- package/esm/components/TimePicker/TimePicker.context.mjs.map +1 -1
- package/esm/components/TimePicker/TimePicker.mjs +323 -417
- package/esm/components/TimePicker/TimePicker.mjs.map +1 -1
- package/esm/components/TimePicker/TimePicker.module.mjs +18 -0
- package/esm/components/TimePicker/TimePicker.module.mjs.map +1 -0
- package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs +22 -26
- package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs.map +1 -1
- package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs +35 -34
- package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs.map +1 -1
- package/esm/components/TimePicker/TimePresets/TimePresets.mjs +60 -68
- package/esm/components/TimePicker/TimePresets/TimePresets.mjs.map +1 -1
- package/esm/components/TimePicker/use-time-picker.mjs +200 -191
- package/esm/components/TimePicker/use-time-picker.mjs.map +1 -1
- package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs +10 -10
- package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs.map +1 -1
- package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs +40 -31
- package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs.map +1 -1
- package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs +12 -13
- package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs.map +1 -1
- package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs +39 -46
- package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs.map +1 -1
- package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs +10 -11
- package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs.map +1 -1
- package/esm/components/TimePicker/utils/pad-time/pad-time.mjs +6 -4
- package/esm/components/TimePicker/utils/pad-time/pad-time.mjs.map +1 -1
- package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs +11 -5
- package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs.map +1 -1
- package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs +17 -16
- package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs.map +1 -1
- package/esm/components/TimeValue/TimeValue.mjs +17 -13
- package/esm/components/TimeValue/TimeValue.mjs.map +1 -1
- package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs +14 -25
- package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs.map +1 -1
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs +49 -58
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
- package/esm/components/WeekdaysRow/WeekdaysRow.module.mjs +7 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.module.mjs.map +1 -0
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs +12 -20
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
- package/esm/components/YearLevel/YearLevel.mjs +70 -114
- package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs +80 -128
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
- package/esm/components/YearPicker/YearPicker.mjs +45 -69
- package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
- package/esm/components/YearPickerInput/YearPickerInput.mjs +85 -117
- package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
- package/esm/components/YearsList/YearsList.mjs +100 -126
- package/esm/components/YearsList/YearsList.mjs.map +1 -1
- package/esm/components/YearsList/YearsList.module.mjs +10 -0
- package/esm/components/YearsList/YearsList.module.mjs.map +1 -0
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs +18 -24
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs.map +1 -1
- package/esm/components/YearsList/get-years-data/get-years-data.mjs +23 -17
- package/esm/components/YearsList/get-years-data/get-years-data.mjs.map +1 -1
- package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs +10 -15
- package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs.map +1 -1
- package/esm/hooks/use-dates-input/use-dates-input.mjs +45 -64
- package/esm/hooks/use-dates-input/use-dates-input.mjs.map +1 -1
- package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs +8 -7
- package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs.map +1 -1
- package/esm/hooks/use-dates-state/use-dates-state.mjs +111 -148
- package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs +31 -33
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs.map +1 -1
- package/esm/index.mjs +46 -46
- package/esm/utils/assign-time/assign-time.mjs +14 -15
- package/esm/utils/assign-time/assign-time.mjs.map +1 -1
- package/esm/utils/clamp-date/clamp-date.mjs +11 -16
- package/esm/utils/clamp-date/clamp-date.mjs.map +1 -1
- package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs +13 -21
- package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs.map +1 -1
- package/esm/utils/get-formatted-date/get-formatted-date.mjs +17 -30
- package/esm/utils/get-formatted-date/get-formatted-date.mjs.map +1 -1
- package/esm/utils/handle-control-key-down/handle-control-key-down.mjs +114 -147
- package/esm/utils/handle-control-key-down/handle-control-key-down.mjs.map +1 -1
- package/esm/utils/to-date-string/to-date-string.mjs +8 -7
- package/esm/utils/to-date-string/to-date-string.mjs.map +1 -1
- package/package.json +3 -3
- package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs +0 -7
- package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs.map +0 -1
- package/cjs/components/DatePicker/DatePicker.module.css.cjs +0 -7
- package/cjs/components/DatePicker/DatePicker.module.css.cjs.map +0 -1
- package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs +0 -7
- package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs.map +0 -1
- package/cjs/components/Day/Day.module.css.cjs +0 -7
- package/cjs/components/Day/Day.module.css.cjs.map +0 -1
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.cjs +0 -345
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.cjs.map +0 -1
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.css.cjs +0 -7
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.css.cjs.map +0 -1
- package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs +0 -7
- package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs.map +0 -1
- package/cjs/components/MiniCalendar/MiniCalendar.module.css.cjs +0 -7
- package/cjs/components/MiniCalendar/MiniCalendar.module.css.cjs.map +0 -1
- package/cjs/components/Month/Month.module.css.cjs +0 -7
- package/cjs/components/Month/Month.module.css.cjs.map +0 -1
- package/cjs/components/MonthPicker/MonthPicker.module.css.cjs +0 -7
- package/cjs/components/MonthPicker/MonthPicker.module.css.cjs.map +0 -1
- package/cjs/components/MonthsList/MonthsList.module.css.cjs +0 -7
- package/cjs/components/MonthsList/MonthsList.module.css.cjs.map +0 -1
- package/cjs/components/PickerControl/PickerControl.module.css.cjs +0 -7
- package/cjs/components/PickerControl/PickerControl.module.css.cjs.map +0 -1
- package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs +0 -7
- package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs.map +0 -1
- package/cjs/components/TimeGrid/TimeGrid.module.css.cjs +0 -7
- package/cjs/components/TimeGrid/TimeGrid.module.css.cjs.map +0 -1
- package/cjs/components/TimeInput/TimeInput.module.css.cjs +0 -7
- package/cjs/components/TimeInput/TimeInput.module.css.cjs.map +0 -1
- package/cjs/components/TimePicker/TimePicker.module.css.cjs +0 -7
- package/cjs/components/TimePicker/TimePicker.module.css.cjs.map +0 -1
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs +0 -7
- package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs.map +0 -1
- package/cjs/components/YearPicker/YearPicker.module.css.cjs +0 -7
- package/cjs/components/YearPicker/YearPicker.module.css.cjs.map +0 -1
- package/cjs/components/YearsList/YearsList.module.css.cjs +0 -7
- package/cjs/components/YearsList/YearsList.module.css.cjs.map +0 -1
- package/cjs/index.cjs.map +0 -1
- package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs +0 -5
- package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs.map +0 -1
- package/esm/components/DatePicker/DatePicker.module.css.mjs +0 -5
- package/esm/components/DatePicker/DatePicker.module.css.mjs.map +0 -1
- package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs +0 -5
- package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs.map +0 -1
- package/esm/components/Day/Day.module.css.mjs +0 -5
- package/esm/components/Day/Day.module.css.mjs.map +0 -1
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.mjs +0 -339
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.mjs.map +0 -1
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.css.mjs +0 -5
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.css.mjs.map +0 -1
- package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs +0 -5
- package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs.map +0 -1
- package/esm/components/MiniCalendar/MiniCalendar.module.css.mjs +0 -5
- package/esm/components/MiniCalendar/MiniCalendar.module.css.mjs.map +0 -1
- package/esm/components/Month/Month.module.css.mjs +0 -5
- package/esm/components/Month/Month.module.css.mjs.map +0 -1
- package/esm/components/MonthPicker/MonthPicker.module.css.mjs +0 -5
- package/esm/components/MonthPicker/MonthPicker.module.css.mjs.map +0 -1
- package/esm/components/MonthsList/MonthsList.module.css.mjs +0 -5
- package/esm/components/MonthsList/MonthsList.module.css.mjs.map +0 -1
- package/esm/components/PickerControl/PickerControl.module.css.mjs +0 -5
- package/esm/components/PickerControl/PickerControl.module.css.mjs.map +0 -1
- package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs +0 -5
- package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs.map +0 -1
- package/esm/components/TimeGrid/TimeGrid.module.css.mjs +0 -5
- package/esm/components/TimeGrid/TimeGrid.module.css.mjs.map +0 -1
- package/esm/components/TimeInput/TimeInput.module.css.mjs +0 -5
- package/esm/components/TimeInput/TimeInput.module.css.mjs.map +0 -1
- package/esm/components/TimePicker/TimePicker.module.css.mjs +0 -5
- package/esm/components/TimePicker/TimePicker.module.css.mjs.map +0 -1
- package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs +0 -5
- package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs.map +0 -1
- package/esm/components/YearPicker/YearPicker.module.css.mjs +0 -5
- package/esm/components/YearPicker/YearPicker.module.css.mjs.map +0 -1
- package/esm/components/YearsList/YearsList.module.css.mjs +0 -5
- package/esm/components/YearsList/YearsList.module.css.mjs.map +0 -1
- package/esm/index.mjs.map +0 -1
- package/lib/components/InlineDateTimePicker/InlineDateTimePicker.d.ts +0 -71
- package/lib/components/InlineDateTimePicker/index.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-control-key-down.mjs","sources":["../../../src/utils/handle-control-key-down/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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"}
|
|
1
|
+
{"version":3,"file":"handle-control-key-down.mjs","names":[],"sources":["../../../src/utils/handle-control-key-down/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"],"mappings":";;AAOA,SAAS,aAAa,EAAE,WAAW,YAAY,UAAU,WAAW,QAAwB;AAC1F,SAAQ,WAAR;EACE,KAAK;AACH,OAAI,eAAe,KAAK,aAAa,EACnC,QAAO;AAET,OAAI,aAAa,EACf,QAAO;IACL,YAAY,aAAa;IACzB,UACE,aAAa,KAAK,aAAa,GAAG,KAAK,aAAa,GAAG,SAAS,KAAK,IACjE,KAAK,aAAa,GAAG,SAAS,IAC9B,KAAK,aAAa,GAAG,SAAS;IACpC;IACD;AAEH,UAAO;IACL;IACA,UAAU,WAAW;IACrB;IACD;EAEH,KAAK;AACH,OAAI,aAAa,KAAK,YAAY,SAAS,EACzC,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV;IACD;AAEH,OACE,aAAa,KAAK,YAAY,SAAS,KACvC,aAAa,KAAK,YAAY,KAAK,YAAY,SAAS,GAExD,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV;IACD;AAEH,UAAO;IACL;IACA,UAAU,WAAW;IACrB;IACD;EAEH,KAAK;AACH,OAAI,eAAe,KAAK,aAAa,KAAK,cAAc,EACtD,QAAO;AAET,OAAI,aAAa,KAAK,cAAc,EAClC,QAAO;IACL,YAAY,aAAa;IACzB,UAAU,KAAK,aAAa,GAAG,SAAS;IACxC,WAAW,KAAK,aAAa,GAAG,KAAK,aAAa,GAAG,SAAS,KAAK;IACpE;AAEH,OAAI,cAAc,EAChB,QAAO;IACL;IACA,UAAU,WAAW;IACrB,WAAW,KAAK,YAAY,WAAW,KAAK;IAC7C;AAEH,UAAO;IACL;IACA;IACA,WAAW,YAAY;IACxB;EAEH,KAAK;AACH,OACE,aAAa,KAAK,YAAY,SAAS,KACvC,cAAc,KAAK,YAAY,YAAY,EAE3C,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV,WAAW;IACZ;AAEH,OAAI,cAAc,KAAK,YAAY,YAAY,EAC7C,QAAO;IACL;IACA,UAAU,WAAW;IACrB,WAAW;IACZ;AAEH,UAAO;IACL;IACA;IACA,WAAW,YAAY;IACxB;EAEH,QACE,QAAO;GAAE;GAAY;GAAU;GAAW;;;AAahD,SAAS,4BAA4B,EACnC,aACA,WACA,YACA,UACA,WACA,QACkB;CAClB,MAAM,YAAY,aAAa;EAAE;EAAW;EAAM;EAAU;EAAW;EAAY,CAAC;AAEpF,KAAI,CAAC,UACH;CAGF,MAAM,iBACJ,YAAY,UAAU,UAAU,cAAc,UAAU,YAAY,UAAU;AAEhF,KAAI,CAAC,eACH;AAGF,KACE,eAAe,YACf,eAAe,aAAa,cAAc,IAC1C,eAAe,aAAa,eAAe,CAE3C,6BAA4B;EAC1B;EACA;EACA,YAAY,UAAU;EACtB,WAAW,UAAU;EACrB,UAAU,UAAU;EACpB;EACD,CAAC;KAEF,gBAAe,OAAO;;AAI1B,SAAS,aAAa,KAAsC;AAC1D,SAAQ,KAAR;EACE,KAAK,YACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,gBAAgB,aAA0B;AACjD,QAAO,YAAY,SAAS,KAAK,WAAW,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC;;AAW9E,SAAgB,qBAAqB,EACnC,aACA,YACA,UACA,WACA,SAC4B;CAC5B,MAAM,YAAY,aAAa,MAAM,IAAI;AAEzC,KAAI,WAAW;AACb,QAAM,gBAAgB;AAItB,8BAA4B;GAC1B;GACA;GACA;GACA;GACA;GACA,MARW,gBAAgB,YAAY;GASxC,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import dayjs from
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
//#region packages/@mantine/dates/src/utils/to-date-string/to-date-string.ts
|
|
4
4
|
function toDateString(value) {
|
|
5
|
-
|
|
5
|
+
return value == null || value === "" ? value : dayjs(value).format("YYYY-MM-DD");
|
|
6
6
|
}
|
|
7
7
|
function toDateTimeString(value) {
|
|
8
|
-
|
|
8
|
+
return value == null || value === "" ? value : dayjs(value).format("YYYY-MM-DD HH:mm:ss");
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
//#endregion
|
|
11
11
|
export { toDateString, toDateTimeString };
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=to-date-string.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-date-string.mjs","sources":["../../../src/utils/to-date-string/to-date-string.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, DateTimeStringValue } from '../../types';\n\n// Helper type to determine the return type based on T and the target main type\ntype ExactOptionalReturn<T, MainType> = T extends undefined\n ? undefined\n : T extends null\n ? null\n : MainType;\n\nexport function toDateString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD')\n ) as ExactOptionalReturn<T, DateStringValue>;\n}\n\nexport function toDateTimeString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateTimeStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n ) as ExactOptionalReturn<T, DateTimeStringValue>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"to-date-string.mjs","names":[],"sources":["../../../src/utils/to-date-string/to-date-string.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, DateTimeStringValue } from '../../types';\n\n// Helper type to determine the return type based on T and the target main type\ntype ExactOptionalReturn<T, MainType> = T extends undefined\n ? undefined\n : T extends null\n ? null\n : MainType;\n\nexport function toDateString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD')\n ) as ExactOptionalReturn<T, DateStringValue>;\n}\n\nexport function toDateTimeString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateTimeStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n ) as ExactOptionalReturn<T, DateTimeStringValue>;\n}\n"],"mappings":";;;AAUA,SAAgB,aACd,OACyC;AACzC,QACE,SAAS,QAAQ,UAAU,KAAK,QAAQ,MAAM,MAAM,CAAC,OAAO,aAAa;;AAI7E,SAAgB,iBACd,OAC6C;AAC7C,QACE,SAAS,QAAQ,UAAU,KAAK,QAAQ,MAAM,MAAM,CAAC,OAAO,sBAAsB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/dates",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.7",
|
|
4
4
|
"description": "Calendars, date and time pickers based on Mantine components",
|
|
5
5
|
"homepage": "https://mantine.dev/dates/getting-started/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"directory": "packages/@mantine/dates"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@mantine/core": "9.0.0-alpha.
|
|
49
|
-
"@mantine/hooks": "9.0.0-alpha.
|
|
48
|
+
"@mantine/core": "9.0.0-alpha.7",
|
|
49
|
+
"@mantine/hooks": "9.0.0-alpha.7",
|
|
50
50
|
"dayjs": ">=1.0.0",
|
|
51
51
|
"react": "^19.2.0",
|
|
52
52
|
"react-dom": "^19.2.0"
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var classes = {"calendarHeader":"m_730a79ed","calendarHeaderLevel":"m_f6645d97","calendarHeaderControl":"m_2351eeb0","calendarHeaderControlIcon":"m_367dc749"};
|
|
5
|
-
|
|
6
|
-
module.exports = classes;
|
|
7
|
-
//# sourceMappingURL=CalendarHeader.module.css.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeader.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePicker.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Day.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var dayjs = require('dayjs');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
var core = require('@mantine/core');
|
|
8
|
-
var hooks = require('@mantine/hooks');
|
|
9
|
-
var useUncontrolledDates = require('../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs');
|
|
10
|
-
require('../DatesProvider/DatesProvider.cjs');
|
|
11
|
-
var useDatesContext = require('../DatesProvider/use-dates-context.cjs');
|
|
12
|
-
var assignTime = require('../../utils/assign-time/assign-time.cjs');
|
|
13
|
-
var getDefaultClampedDate = require('../../utils/get-default-clamped-date/get-default-clamped-date.cjs');
|
|
14
|
-
var clampDate = require('../../utils/clamp-date/clamp-date.cjs');
|
|
15
|
-
require('../Calendar/Calendar.cjs');
|
|
16
|
-
var pickCalendarLevelsProps = require('../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs');
|
|
17
|
-
var DatePicker = require('../DatePicker/DatePicker.cjs');
|
|
18
|
-
var getMinMaxTime = require('../DateTimePicker/get-min-max-time/get-min-max-time.cjs');
|
|
19
|
-
var TimePicker = require('../TimePicker/TimePicker.cjs');
|
|
20
|
-
var InlineDateTimePicker_module = require('./InlineDateTimePicker.module.css.cjs');
|
|
21
|
-
|
|
22
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
|
-
|
|
24
|
-
var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
|
|
25
|
-
|
|
26
|
-
const defaultProps = {
|
|
27
|
-
type: "default",
|
|
28
|
-
size: "sm"
|
|
29
|
-
};
|
|
30
|
-
const InlineDateTimePicker = core.genericFactory((_props) => {
|
|
31
|
-
const props = core.useProps("InlineDateTimePicker", defaultProps, _props);
|
|
32
|
-
const {
|
|
33
|
-
value,
|
|
34
|
-
defaultValue,
|
|
35
|
-
onChange,
|
|
36
|
-
valueFormat,
|
|
37
|
-
locale,
|
|
38
|
-
classNames,
|
|
39
|
-
styles,
|
|
40
|
-
unstyled,
|
|
41
|
-
timePickerProps,
|
|
42
|
-
endTimePickerProps,
|
|
43
|
-
submitButtonProps,
|
|
44
|
-
withSeconds,
|
|
45
|
-
level,
|
|
46
|
-
defaultLevel,
|
|
47
|
-
size,
|
|
48
|
-
variant,
|
|
49
|
-
vars,
|
|
50
|
-
minDate,
|
|
51
|
-
maxDate,
|
|
52
|
-
defaultDate,
|
|
53
|
-
defaultTimeValue,
|
|
54
|
-
presets,
|
|
55
|
-
attributes,
|
|
56
|
-
onSubmit,
|
|
57
|
-
labelSeparator,
|
|
58
|
-
type,
|
|
59
|
-
className,
|
|
60
|
-
style,
|
|
61
|
-
__stopPropagation,
|
|
62
|
-
__staticSelector,
|
|
63
|
-
__onEnter,
|
|
64
|
-
__onPresetSelect,
|
|
65
|
-
fullWidth,
|
|
66
|
-
...rest
|
|
67
|
-
} = props;
|
|
68
|
-
const _staticSelector = __staticSelector || "InlineDateTimePicker";
|
|
69
|
-
const getStyles = core.useStyles({
|
|
70
|
-
name: _staticSelector,
|
|
71
|
-
classes: InlineDateTimePicker_module,
|
|
72
|
-
props,
|
|
73
|
-
classNames,
|
|
74
|
-
styles,
|
|
75
|
-
unstyled,
|
|
76
|
-
attributes,
|
|
77
|
-
vars
|
|
78
|
-
});
|
|
79
|
-
const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
|
|
80
|
-
classNames,
|
|
81
|
-
styles,
|
|
82
|
-
props
|
|
83
|
-
});
|
|
84
|
-
const ctx = useDatesContext.useDatesContext();
|
|
85
|
-
const _valueFormat = valueFormat || (withSeconds ? "DD/MM/YYYY HH:mm:ss" : "DD/MM/YYYY HH:mm");
|
|
86
|
-
const _labelSeparator = ctx.getLabelSeparator(labelSeparator);
|
|
87
|
-
const isRange = type === "range";
|
|
88
|
-
const startTimePickerRef = react.useRef(null);
|
|
89
|
-
const startTimePickerRefMerged = hooks.useMergedRef(startTimePickerRef, timePickerProps?.hoursRef);
|
|
90
|
-
const endTimePickerRef = react.useRef(null);
|
|
91
|
-
const endTimePickerRefMerged = hooks.useMergedRef(endTimePickerRef, endTimePickerProps?.hoursRef);
|
|
92
|
-
const {
|
|
93
|
-
calendarProps: { allowSingleDateInRange, ...calendarProps },
|
|
94
|
-
others
|
|
95
|
-
} = pickCalendarLevelsProps.pickCalendarProps(rest);
|
|
96
|
-
const [_value, setValue] = useUncontrolledDates.useUncontrolledDates({
|
|
97
|
-
type,
|
|
98
|
-
value,
|
|
99
|
-
defaultValue,
|
|
100
|
-
onChange,
|
|
101
|
-
withTime: true
|
|
102
|
-
});
|
|
103
|
-
const formatTime = (dateValue) => dateValue ? dayjs__default.default(dateValue).format(withSeconds ? "HH:mm:ss" : "HH:mm") : "";
|
|
104
|
-
const getInitialStartTime = () => {
|
|
105
|
-
if (defaultTimeValue) {
|
|
106
|
-
return defaultTimeValue;
|
|
107
|
-
}
|
|
108
|
-
if (isRange) {
|
|
109
|
-
return Array.isArray(_value) ? formatTime(_value[0]) : "";
|
|
110
|
-
}
|
|
111
|
-
return formatTime(_value);
|
|
112
|
-
};
|
|
113
|
-
const getInitialEndTime = () => {
|
|
114
|
-
if (defaultTimeValue) {
|
|
115
|
-
return defaultTimeValue;
|
|
116
|
-
}
|
|
117
|
-
return isRange && Array.isArray(_value) ? formatTime(_value[1]) : "";
|
|
118
|
-
};
|
|
119
|
-
const [startTimeValue, setStartTimeValue] = react.useState(getInitialStartTime);
|
|
120
|
-
const [endTimeValue, setEndTimeValue] = react.useState(getInitialEndTime);
|
|
121
|
-
const [currentLevel, setCurrentLevel] = react.useState(level || defaultLevel || "month");
|
|
122
|
-
const _defaultDate = isRange ? (Array.isArray(_value) ? _value[0] : null) || defaultDate : _value || defaultDate;
|
|
123
|
-
const handleDefaultDateChange = (date) => {
|
|
124
|
-
if (date) {
|
|
125
|
-
setValue(
|
|
126
|
-
assignTime.assignTime(clampDate.clampDate(minDate, maxDate, date), startTimeValue || defaultTimeValue || "")
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
startTimePickerRef.current?.focus();
|
|
130
|
-
};
|
|
131
|
-
const handleRangeDateChange = (dates) => {
|
|
132
|
-
const [start, end] = dates;
|
|
133
|
-
const newStart = start ? assignTime.assignTime(clampDate.clampDate(minDate, maxDate, start), startTimeValue || defaultTimeValue || "") : null;
|
|
134
|
-
const newEnd = end ? assignTime.assignTime(clampDate.clampDate(minDate, maxDate, end), endTimeValue || defaultTimeValue || "") : null;
|
|
135
|
-
setValue([newStart, newEnd]);
|
|
136
|
-
if (start && end) {
|
|
137
|
-
startTimePickerRef.current?.focus();
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
const handleDateChange = (date) => {
|
|
141
|
-
if (isRange) {
|
|
142
|
-
handleRangeDateChange(date);
|
|
143
|
-
} else {
|
|
144
|
-
handleDefaultDateChange(date);
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
const handleStartTimeChange = (timeString) => {
|
|
148
|
-
timePickerProps?.onChange?.(timeString);
|
|
149
|
-
setStartTimeValue(timeString);
|
|
150
|
-
if (timeString) {
|
|
151
|
-
if (isRange && Array.isArray(_value)) {
|
|
152
|
-
if (_value[0]) {
|
|
153
|
-
const newStart = assignTime.assignTime(_value[0], timeString);
|
|
154
|
-
setValue([newStart, _value[1]]);
|
|
155
|
-
}
|
|
156
|
-
} else {
|
|
157
|
-
setValue(assignTime.assignTime(_value, timeString));
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
const handleEndTimeChange = (timeString) => {
|
|
162
|
-
endTimePickerProps?.onChange?.(timeString);
|
|
163
|
-
setEndTimeValue(timeString);
|
|
164
|
-
if (timeString && isRange && Array.isArray(_value) && _value[1]) {
|
|
165
|
-
const newEnd = assignTime.assignTime(_value[1], timeString);
|
|
166
|
-
setValue([_value[0], newEnd]);
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
const handleTimeInputKeyDown = (event) => {
|
|
170
|
-
if (event.key === "Enter") {
|
|
171
|
-
event.preventDefault();
|
|
172
|
-
__onEnter?.();
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
const getFormattedRange = () => {
|
|
176
|
-
if (!isRange || !Array.isArray(_value)) {
|
|
177
|
-
return "";
|
|
178
|
-
}
|
|
179
|
-
const formatDate = (v) => v ? dayjs__default.default(v).locale(ctx.getLocale(locale)).format(_valueFormat) : "";
|
|
180
|
-
const start = formatDate(_value[0]);
|
|
181
|
-
const end = formatDate(_value[1]);
|
|
182
|
-
if (start && end) {
|
|
183
|
-
return `${start} ${_labelSeparator} ${end}`;
|
|
184
|
-
}
|
|
185
|
-
if (start) {
|
|
186
|
-
return `${start} ${_labelSeparator} ...`;
|
|
187
|
-
}
|
|
188
|
-
return "";
|
|
189
|
-
};
|
|
190
|
-
hooks.useDidUpdate(() => {
|
|
191
|
-
if (isRange && Array.isArray(_value)) {
|
|
192
|
-
setStartTimeValue(formatTime(_value[0]));
|
|
193
|
-
setEndTimeValue(formatTime(_value[1]));
|
|
194
|
-
} else {
|
|
195
|
-
setStartTimeValue(formatTime(_value));
|
|
196
|
-
}
|
|
197
|
-
}, [_value]);
|
|
198
|
-
const startMinTime = isRange ? getMinMaxTime.getMinTime({ minDate, value: Array.isArray(_value) ? _value[0] : null }) : getMinMaxTime.getMinTime({ minDate, value: _value });
|
|
199
|
-
const startMaxTime = isRange ? getMinMaxTime.getMaxTime({ maxDate, value: Array.isArray(_value) ? _value[0] : null }) : getMinMaxTime.getMaxTime({ maxDate, value: _value });
|
|
200
|
-
const endMinTime = isRange ? getMinMaxTime.getMinTime({ minDate, value: Array.isArray(_value) ? _value[1] : null }) : void 0;
|
|
201
|
-
const endMaxTime = isRange ? getMinMaxTime.getMaxTime({ maxDate, value: Array.isArray(_value) ? _value[1] : null }) : void 0;
|
|
202
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("root", { className, style }), ...others, ref: props.ref, children: [
|
|
203
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
204
|
-
DatePicker.DatePicker,
|
|
205
|
-
{
|
|
206
|
-
fullWidth: fullWidth ?? true,
|
|
207
|
-
...calendarProps,
|
|
208
|
-
maxDate,
|
|
209
|
-
minDate,
|
|
210
|
-
size,
|
|
211
|
-
variant,
|
|
212
|
-
type,
|
|
213
|
-
value: _value,
|
|
214
|
-
defaultDate: _defaultDate || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }),
|
|
215
|
-
onChange: handleDateChange,
|
|
216
|
-
locale,
|
|
217
|
-
classNames: resolvedClassNames,
|
|
218
|
-
styles: resolvedStyles,
|
|
219
|
-
unstyled,
|
|
220
|
-
__staticSelector: _staticSelector,
|
|
221
|
-
__stopPropagation,
|
|
222
|
-
level,
|
|
223
|
-
defaultLevel,
|
|
224
|
-
onLevelChange: (_level) => {
|
|
225
|
-
setCurrentLevel(_level);
|
|
226
|
-
calendarProps.onLevelChange?.(_level);
|
|
227
|
-
},
|
|
228
|
-
presets,
|
|
229
|
-
allowSingleDateInRange,
|
|
230
|
-
__onPresetSelect,
|
|
231
|
-
attributes
|
|
232
|
-
}
|
|
233
|
-
),
|
|
234
|
-
currentLevel === "month" && !isRange && /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles("timeWrapper"), children: [
|
|
235
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
-
TimePicker.TimePicker,
|
|
237
|
-
{
|
|
238
|
-
value: startTimeValue,
|
|
239
|
-
withSeconds,
|
|
240
|
-
unstyled,
|
|
241
|
-
min: startMinTime,
|
|
242
|
-
max: startMaxTime,
|
|
243
|
-
...timePickerProps,
|
|
244
|
-
...getStyles("timeInput", {
|
|
245
|
-
className: timePickerProps?.className,
|
|
246
|
-
style: timePickerProps?.style
|
|
247
|
-
}),
|
|
248
|
-
onChange: handleStartTimeChange,
|
|
249
|
-
onKeyDown: handleTimeInputKeyDown,
|
|
250
|
-
size,
|
|
251
|
-
"data-mantine-stop-propagation": __stopPropagation || void 0,
|
|
252
|
-
hoursRef: startTimePickerRefMerged
|
|
253
|
-
}
|
|
254
|
-
),
|
|
255
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
256
|
-
core.ActionIcon,
|
|
257
|
-
{
|
|
258
|
-
variant: "default",
|
|
259
|
-
size: `input-${size || "sm"}`,
|
|
260
|
-
...getStyles("submitButton", {
|
|
261
|
-
className: submitButtonProps?.className,
|
|
262
|
-
style: submitButtonProps?.style
|
|
263
|
-
}),
|
|
264
|
-
unstyled,
|
|
265
|
-
"data-mantine-stop-propagation": __stopPropagation || void 0,
|
|
266
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(core.CheckIcon, { size: "30%" }),
|
|
267
|
-
...submitButtonProps,
|
|
268
|
-
onClick: (event) => {
|
|
269
|
-
submitButtonProps?.onClick?.(event);
|
|
270
|
-
onSubmit?.();
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
)
|
|
274
|
-
] }),
|
|
275
|
-
currentLevel === "month" && isRange && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
276
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("rangeInfo"), children: getFormattedRange() }),
|
|
277
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles("rangeTimeWrapper"), children: [
|
|
278
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
279
|
-
TimePicker.TimePicker,
|
|
280
|
-
{
|
|
281
|
-
value: startTimeValue,
|
|
282
|
-
withSeconds,
|
|
283
|
-
unstyled,
|
|
284
|
-
min: startMinTime,
|
|
285
|
-
max: startMaxTime,
|
|
286
|
-
...timePickerProps,
|
|
287
|
-
...getStyles("rangeTimeInput", {
|
|
288
|
-
className: timePickerProps?.className,
|
|
289
|
-
style: timePickerProps?.style
|
|
290
|
-
}),
|
|
291
|
-
onChange: handleStartTimeChange,
|
|
292
|
-
onKeyDown: handleTimeInputKeyDown,
|
|
293
|
-
size,
|
|
294
|
-
"data-mantine-stop-propagation": __stopPropagation || void 0,
|
|
295
|
-
hoursRef: startTimePickerRefMerged
|
|
296
|
-
}
|
|
297
|
-
),
|
|
298
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
299
|
-
TimePicker.TimePicker,
|
|
300
|
-
{
|
|
301
|
-
value: endTimeValue,
|
|
302
|
-
withSeconds,
|
|
303
|
-
unstyled,
|
|
304
|
-
min: endMinTime,
|
|
305
|
-
max: endMaxTime,
|
|
306
|
-
...endTimePickerProps,
|
|
307
|
-
...getStyles("rangeTimeInput", {
|
|
308
|
-
className: endTimePickerProps?.className,
|
|
309
|
-
style: endTimePickerProps?.style
|
|
310
|
-
}),
|
|
311
|
-
onChange: handleEndTimeChange,
|
|
312
|
-
onKeyDown: handleTimeInputKeyDown,
|
|
313
|
-
size,
|
|
314
|
-
"data-mantine-stop-propagation": __stopPropagation || void 0,
|
|
315
|
-
hoursRef: endTimePickerRefMerged
|
|
316
|
-
}
|
|
317
|
-
),
|
|
318
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
319
|
-
core.ActionIcon,
|
|
320
|
-
{
|
|
321
|
-
variant: "default",
|
|
322
|
-
size: `input-${size || "sm"}`,
|
|
323
|
-
...getStyles("submitButton", {
|
|
324
|
-
className: submitButtonProps?.className,
|
|
325
|
-
style: submitButtonProps?.style
|
|
326
|
-
}),
|
|
327
|
-
unstyled,
|
|
328
|
-
"data-mantine-stop-propagation": __stopPropagation || void 0,
|
|
329
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(core.CheckIcon, { size: "30%" }),
|
|
330
|
-
...submitButtonProps,
|
|
331
|
-
onClick: (event) => {
|
|
332
|
-
submitButtonProps?.onClick?.(event);
|
|
333
|
-
onSubmit?.();
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
)
|
|
337
|
-
] })
|
|
338
|
-
] })
|
|
339
|
-
] });
|
|
340
|
-
});
|
|
341
|
-
InlineDateTimePicker.classes = { ...InlineDateTimePicker_module, ...DatePicker.DatePicker.classes };
|
|
342
|
-
InlineDateTimePicker.displayName = "@mantine/dates/InlineDateTimePicker";
|
|
343
|
-
|
|
344
|
-
exports.InlineDateTimePicker = InlineDateTimePicker;
|
|
345
|
-
//# sourceMappingURL=InlineDateTimePicker.cjs.map
|