@mantine/dates 9.0.0-alpha.4 → 9.0.0-alpha.6
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/InlineDateTimePicker/InlineDateTimePicker.cjs +286 -0
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.cjs.map +1 -0
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.cjs +13 -0
- package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.cjs.map +1 -0
- 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/MonthPicker/MonthPicker.module.cjs +11 -0
- package/cjs/components/MonthPicker/MonthPicker.module.cjs.map +1 -0
- 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/YearPicker/YearPicker.module.cjs +11 -0
- package/cjs/components/YearPicker/YearPicker.module.cjs.map +1 -0
- 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/InlineDateTimePicker/InlineDateTimePicker.mjs +284 -0
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.mjs.map +1 -0
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.mjs +13 -0
- package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.mjs.map +1 -0
- 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/MonthPicker/MonthPicker.module.mjs +11 -0
- package/esm/components/MonthPicker/MonthPicker.module.mjs.map +1 -0
- 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/YearPicker/YearPicker.module.mjs +11 -0
- package/esm/components/YearPicker/YearPicker.module.mjs.map +1 -0
- 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/lib/components/InlineDateTimePicker/InlineDateTimePicker.d.ts +71 -0
- package/lib/components/InlineDateTimePicker/index.d.ts +9 -0
- package/package.json +7 -7
- package/styles.css +1 -1
- package/styles.layer.css +1 -1
- 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/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/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/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/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/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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-time-picker.cjs","sources":["../../../src/components/TimePicker/use-time-picker.ts"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { useDidUpdate } from '@mantine/hooks';\nimport type {\n TimePickerAmPmLabels,\n TimePickerFormat,\n TimePickerPasteSplit,\n} from './TimePicker.types';\nimport { clampTime } from './utils/clamp-time/clamp-time';\nimport { getParsedTime } from './utils/get-parsed-time/get-parsed-time';\nimport { getTimeString } from './utils/get-time-string/get-time-string';\n\ninterface UseTimePickerInput {\n value: string | undefined;\n defaultValue: string | undefined;\n onChange: ((value: string) => void) | undefined;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n withSeconds: boolean | undefined;\n min: string | undefined;\n max: string | undefined;\n readOnly: boolean | undefined;\n disabled: boolean | undefined;\n clearable: boolean | undefined;\n pasteSplit: TimePickerPasteSplit | undefined;\n}\n\nexport function useTimePicker({\n value,\n defaultValue,\n onChange,\n format,\n amPmLabels,\n withSeconds = false,\n min,\n max,\n clearable,\n readOnly,\n disabled,\n pasteSplit,\n}: UseTimePickerInput) {\n const parsedTime = getParsedTime({\n time: value || defaultValue || '',\n amPmLabels,\n format,\n });\n\n const initialTimeString = getTimeString({\n hours: parsedTime.hours,\n minutes: parsedTime.minutes,\n seconds: parsedTime.seconds,\n format,\n withSeconds,\n amPm: parsedTime.amPm,\n amPmLabels,\n });\n\n const acceptChange = useRef(true);\n const wasInvalidBefore = useRef(!initialTimeString.valid);\n\n const [hours, setHours] = useState<number | null>(parsedTime.hours);\n const [minutes, setMinutes] = useState<number | null>(parsedTime.minutes);\n const [seconds, setSeconds] = useState<number | null>(parsedTime.seconds);\n const [amPm, setAmPm] = useState<string | null>(parsedTime.amPm);\n\n const isClearable =\n clearable &&\n !readOnly &&\n !disabled &&\n (hours !== null || minutes !== null || seconds !== null || amPm !== null);\n\n const hoursRef = useRef<HTMLInputElement>(null);\n const minutesRef = useRef<HTMLInputElement>(null);\n const secondsRef = useRef<HTMLInputElement>(null);\n const amPmRef = useRef<HTMLSelectElement>(null);\n\n const focus = (field: 'hours' | 'minutes' | 'seconds' | 'amPm') => {\n if (field === 'hours') {\n hoursRef.current?.focus();\n }\n\n if (field === 'minutes') {\n minutesRef.current?.focus();\n }\n\n if (field === 'seconds') {\n secondsRef.current?.focus();\n }\n\n if (field === 'amPm') {\n amPmRef.current?.focus();\n }\n };\n\n const handleTimeChange = (field: 'hours' | 'minutes' | 'seconds' | 'amPm', val: any) => {\n const computedValue = { hours, minutes, seconds, amPm, [field]: val };\n\n const timeString = getTimeString({ ...computedValue, format, withSeconds, amPmLabels });\n\n if (timeString.valid) {\n acceptChange.current = false;\n wasInvalidBefore.current = false;\n if (field === 'hours') {\n setHours(val);\n }\n if (field === 'minutes') {\n setMinutes(val);\n }\n if (field === 'seconds') {\n setSeconds(val);\n }\n if (field === 'amPm') {\n setAmPm(val);\n }\n\n onChange?.(timeString.value);\n } else {\n acceptChange.current = false;\n if (!wasInvalidBefore.current) {\n onChange?.('');\n wasInvalidBefore.current = true;\n }\n }\n };\n\n const setTimeString = (timeString: string) => {\n acceptChange.current = false;\n\n const parsedTime = getParsedTime({ time: timeString, amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n\n const next = getTimeString({ ...parsedTime, format, withSeconds, amPmLabels });\n wasInvalidBefore.current = !next.valid;\n onChange?.(timeString);\n };\n\n const onHoursChange = (value: number | null) => {\n let adjustedValue = value;\n if (format === '12h' && typeof value === 'number' && value > 12) {\n adjustedValue = ((value - 1) % 12) + 1;\n }\n\n setHours(adjustedValue);\n handleTimeChange('hours', adjustedValue);\n focus('hours');\n };\n\n const onMinutesChange = (value: number | null) => {\n setMinutes(value);\n handleTimeChange('minutes', value);\n focus('minutes');\n };\n\n const onSecondsChange = (value: number | null) => {\n setSeconds(value);\n handleTimeChange('seconds', value);\n focus('seconds');\n };\n\n const onAmPmChange = (value: string | null) => {\n setAmPm(value);\n handleTimeChange('amPm', value);\n focus('amPm');\n };\n\n const clear = () => {\n acceptChange.current = false;\n setHours(null);\n setMinutes(null);\n setSeconds(null);\n setAmPm(null);\n onChange?.('');\n wasInvalidBefore.current = true;\n focus('hours');\n };\n\n const onPaste = (event: React.ClipboardEvent<any>) => {\n event.preventDefault();\n const pastedValue = event.clipboardData.getData('text');\n const parsedTime = (pasteSplit || getParsedTime)({ time: pastedValue, format, amPmLabels });\n const timeString = getTimeString({ ...parsedTime, format, withSeconds, amPmLabels });\n if (timeString.valid) {\n acceptChange.current = false;\n const clamped = clampTime(timeString.value, min || '00:00:00', max || '23:59:59');\n onChange?.(clamped.timeString);\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n };\n\n const hiddenInputValue = getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels: amPmLabels!,\n });\n\n useDidUpdate(() => {\n if (value === '') {\n acceptChange.current = false;\n setHours(null);\n setMinutes(null);\n setSeconds(null);\n setAmPm(null);\n acceptChange.current = true;\n return;\n }\n\n if (acceptChange.current && typeof value === 'string') {\n const parsedTime = getParsedTime({ time: value || '', amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n acceptChange.current = true;\n }, [value]);\n\n return {\n refs: { hours: hoursRef, minutes: minutesRef, seconds: secondsRef, amPm: amPmRef },\n values: { hours, minutes, seconds, amPm },\n setHours: onHoursChange,\n setMinutes: onMinutesChange,\n setSeconds: onSecondsChange,\n setAmPm: onAmPmChange,\n focus,\n clear,\n onPaste,\n setTimeString,\n isClearable,\n hiddenInputValue: hiddenInputValue.value,\n };\n}\n"],"names":["getParsedTime","getTimeString","useRef","useState","parsedTime","value","clampTime","useDidUpdate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-time-picker.cjs","names":["getParsedTime","getTimeString","clampTime"],"sources":["../../../src/components/TimePicker/use-time-picker.ts"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { useDidUpdate } from '@mantine/hooks';\nimport type {\n TimePickerAmPmLabels,\n TimePickerFormat,\n TimePickerPasteSplit,\n} from './TimePicker.types';\nimport { clampTime } from './utils/clamp-time/clamp-time';\nimport { getParsedTime } from './utils/get-parsed-time/get-parsed-time';\nimport { getTimeString } from './utils/get-time-string/get-time-string';\n\ninterface UseTimePickerInput {\n value: string | undefined;\n defaultValue: string | undefined;\n onChange: ((value: string) => void) | undefined;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n withSeconds: boolean | undefined;\n min: string | undefined;\n max: string | undefined;\n readOnly: boolean | undefined;\n disabled: boolean | undefined;\n clearable: boolean | undefined;\n pasteSplit: TimePickerPasteSplit | undefined;\n}\n\nexport function useTimePicker({\n value,\n defaultValue,\n onChange,\n format,\n amPmLabels,\n withSeconds = false,\n min,\n max,\n clearable,\n readOnly,\n disabled,\n pasteSplit,\n}: UseTimePickerInput) {\n const parsedTime = getParsedTime({\n time: value || defaultValue || '',\n amPmLabels,\n format,\n });\n\n const initialTimeString = getTimeString({\n hours: parsedTime.hours,\n minutes: parsedTime.minutes,\n seconds: parsedTime.seconds,\n format,\n withSeconds,\n amPm: parsedTime.amPm,\n amPmLabels,\n });\n\n const acceptChange = useRef(true);\n const wasInvalidBefore = useRef(!initialTimeString.valid);\n\n const [hours, setHours] = useState<number | null>(parsedTime.hours);\n const [minutes, setMinutes] = useState<number | null>(parsedTime.minutes);\n const [seconds, setSeconds] = useState<number | null>(parsedTime.seconds);\n const [amPm, setAmPm] = useState<string | null>(parsedTime.amPm);\n\n const isClearable =\n clearable &&\n !readOnly &&\n !disabled &&\n (hours !== null || minutes !== null || seconds !== null || amPm !== null);\n\n const hoursRef = useRef<HTMLInputElement>(null);\n const minutesRef = useRef<HTMLInputElement>(null);\n const secondsRef = useRef<HTMLInputElement>(null);\n const amPmRef = useRef<HTMLSelectElement>(null);\n\n const focus = (field: 'hours' | 'minutes' | 'seconds' | 'amPm') => {\n if (field === 'hours') {\n hoursRef.current?.focus();\n }\n\n if (field === 'minutes') {\n minutesRef.current?.focus();\n }\n\n if (field === 'seconds') {\n secondsRef.current?.focus();\n }\n\n if (field === 'amPm') {\n amPmRef.current?.focus();\n }\n };\n\n const handleTimeChange = (field: 'hours' | 'minutes' | 'seconds' | 'amPm', val: any) => {\n const computedValue = { hours, minutes, seconds, amPm, [field]: val };\n\n const timeString = getTimeString({ ...computedValue, format, withSeconds, amPmLabels });\n\n if (timeString.valid) {\n acceptChange.current = false;\n wasInvalidBefore.current = false;\n if (field === 'hours') {\n setHours(val);\n }\n if (field === 'minutes') {\n setMinutes(val);\n }\n if (field === 'seconds') {\n setSeconds(val);\n }\n if (field === 'amPm') {\n setAmPm(val);\n }\n\n onChange?.(timeString.value);\n } else {\n acceptChange.current = false;\n if (!wasInvalidBefore.current) {\n onChange?.('');\n wasInvalidBefore.current = true;\n }\n }\n };\n\n const setTimeString = (timeString: string) => {\n acceptChange.current = false;\n\n const parsedTime = getParsedTime({ time: timeString, amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n\n const next = getTimeString({ ...parsedTime, format, withSeconds, amPmLabels });\n wasInvalidBefore.current = !next.valid;\n onChange?.(timeString);\n };\n\n const onHoursChange = (value: number | null) => {\n let adjustedValue = value;\n if (format === '12h' && typeof value === 'number' && value > 12) {\n adjustedValue = ((value - 1) % 12) + 1;\n }\n\n setHours(adjustedValue);\n handleTimeChange('hours', adjustedValue);\n focus('hours');\n };\n\n const onMinutesChange = (value: number | null) => {\n setMinutes(value);\n handleTimeChange('minutes', value);\n focus('minutes');\n };\n\n const onSecondsChange = (value: number | null) => {\n setSeconds(value);\n handleTimeChange('seconds', value);\n focus('seconds');\n };\n\n const onAmPmChange = (value: string | null) => {\n setAmPm(value);\n handleTimeChange('amPm', value);\n focus('amPm');\n };\n\n const clear = () => {\n acceptChange.current = false;\n setHours(null);\n setMinutes(null);\n setSeconds(null);\n setAmPm(null);\n onChange?.('');\n wasInvalidBefore.current = true;\n focus('hours');\n };\n\n const onPaste = (event: React.ClipboardEvent<any>) => {\n event.preventDefault();\n const pastedValue = event.clipboardData.getData('text');\n const parsedTime = (pasteSplit || getParsedTime)({ time: pastedValue, format, amPmLabels });\n const timeString = getTimeString({ ...parsedTime, format, withSeconds, amPmLabels });\n if (timeString.valid) {\n acceptChange.current = false;\n const clamped = clampTime(timeString.value, min || '00:00:00', max || '23:59:59');\n onChange?.(clamped.timeString);\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n };\n\n const hiddenInputValue = getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels: amPmLabels!,\n });\n\n useDidUpdate(() => {\n if (value === '') {\n acceptChange.current = false;\n setHours(null);\n setMinutes(null);\n setSeconds(null);\n setAmPm(null);\n acceptChange.current = true;\n return;\n }\n\n if (acceptChange.current && typeof value === 'string') {\n const parsedTime = getParsedTime({ time: value || '', amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n acceptChange.current = true;\n }, [value]);\n\n return {\n refs: { hours: hoursRef, minutes: minutesRef, seconds: secondsRef, amPm: amPmRef },\n values: { hours, minutes, seconds, amPm },\n setHours: onHoursChange,\n setMinutes: onMinutesChange,\n setSeconds: onSecondsChange,\n setAmPm: onAmPmChange,\n focus,\n clear,\n onPaste,\n setTimeString,\n isClearable,\n hiddenInputValue: hiddenInputValue.value,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var timeToSeconds = require('../time-to-seconds/time-to-seconds.cjs');
|
|
5
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
const require_time_to_seconds = require("../time-to-seconds/time-to-seconds.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/clamp-time/clamp-time.ts
|
|
6
4
|
function clampTime(time, min, max) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return timeToSeconds.secondsToTime(clampedSeconds);
|
|
5
|
+
const timeInSeconds = require_time_to_seconds.timeToSeconds(time);
|
|
6
|
+
const minInSeconds = min ? require_time_to_seconds.timeToSeconds(min) : -Infinity;
|
|
7
|
+
const maxInSeconds = max ? require_time_to_seconds.timeToSeconds(max) : Infinity;
|
|
8
|
+
return require_time_to_seconds.secondsToTime(Math.max(minInSeconds, Math.min(timeInSeconds, maxInSeconds)));
|
|
12
9
|
}
|
|
13
|
-
|
|
10
|
+
//#endregion
|
|
14
11
|
exports.clampTime = clampTime;
|
|
15
|
-
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=clamp-time.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clamp-time.cjs","sources":["../../../../../src/components/TimePicker/utils/clamp-time/clamp-time.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\nexport function clampTime(time: string, min: string | undefined, max: string | undefined) {\n const timeInSeconds = timeToSeconds(time);\n const minInSeconds = min ? timeToSeconds(min) : -Infinity;\n const maxInSeconds = max ? timeToSeconds(max) : Infinity;\n\n const clampedSeconds = Math.max(minInSeconds, Math.min(timeInSeconds, maxInSeconds));\n return secondsToTime(clampedSeconds);\n}\n"],"
|
|
1
|
+
{"version":3,"file":"clamp-time.cjs","names":["timeToSeconds","secondsToTime"],"sources":["../../../../../src/components/TimePicker/utils/clamp-time/clamp-time.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\nexport function clampTime(time: string, min: string | undefined, max: string | undefined) {\n const timeInSeconds = timeToSeconds(time);\n const minInSeconds = min ? timeToSeconds(min) : -Infinity;\n const maxInSeconds = max ? timeToSeconds(max) : Infinity;\n\n const clampedSeconds = Math.max(minInSeconds, Math.min(timeInSeconds, maxInSeconds));\n return secondsToTime(clampedSeconds);\n}\n"],"mappings":";;;AAEA,SAAgB,UAAU,MAAc,KAAyB,KAAyB;CACxF,MAAM,gBAAgBA,wBAAAA,cAAc,KAAK;CACzC,MAAM,eAAe,MAAMA,wBAAAA,cAAc,IAAI,GAAG;CAChD,MAAM,eAAe,MAAMA,wBAAAA,cAAc,IAAI,GAAG;AAGhD,QAAOC,wBAAAA,cADgB,KAAK,IAAI,cAAc,KAAK,IAAI,eAAe,aAAa,CAAC,CAChD"}
|
|
@@ -1,38 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
hours: hour12,
|
|
19
|
-
minutes: typeof minutes === "number" ? minutes : null,
|
|
20
|
-
seconds: typeof seconds === "number" ? seconds : null,
|
|
21
|
-
amPm
|
|
22
|
-
};
|
|
1
|
+
"use client";
|
|
2
|
+
const require_split_time_string = require("../split-time-string/split-time-string.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/get-parsed-time/get-parsed-time.ts
|
|
4
|
+
function convertTimeTo12HourFormat({ hours, minutes, seconds, amPmLabels }) {
|
|
5
|
+
if (hours === null) return {
|
|
6
|
+
hours: null,
|
|
7
|
+
minutes: null,
|
|
8
|
+
seconds: null,
|
|
9
|
+
amPm: null
|
|
10
|
+
};
|
|
11
|
+
const amPm = hours >= 12 ? amPmLabels.pm : amPmLabels.am;
|
|
12
|
+
return {
|
|
13
|
+
hours: hours % 12 === 0 ? 12 : hours % 12,
|
|
14
|
+
minutes: typeof minutes === "number" ? minutes : null,
|
|
15
|
+
seconds: typeof seconds === "number" ? seconds : null,
|
|
16
|
+
amPm
|
|
17
|
+
};
|
|
23
18
|
}
|
|
24
19
|
function getParsedTime({ time, format, amPmLabels }) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
if (time === "") return {
|
|
21
|
+
hours: null,
|
|
22
|
+
minutes: null,
|
|
23
|
+
seconds: null,
|
|
24
|
+
amPm: null
|
|
25
|
+
};
|
|
26
|
+
const { hours, minutes, seconds } = require_split_time_string.splitTimeString(time);
|
|
27
|
+
const parsed = {
|
|
28
|
+
hours,
|
|
29
|
+
minutes,
|
|
30
|
+
seconds
|
|
31
|
+
};
|
|
32
|
+
if (format === "12h") return convertTimeTo12HourFormat({
|
|
33
|
+
...parsed,
|
|
34
|
+
amPmLabels
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
...parsed,
|
|
38
|
+
amPm: null
|
|
39
|
+
};
|
|
34
40
|
}
|
|
35
|
-
|
|
36
|
-
exports.convertTimeTo12HourFormat = convertTimeTo12HourFormat;
|
|
41
|
+
//#endregion
|
|
37
42
|
exports.getParsedTime = getParsedTime;
|
|
38
|
-
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=get-parsed-time.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-parsed-time.cjs","sources":["../../../../../src/components/TimePicker/utils/get-parsed-time/get-parsed-time.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface GetParsedTimeInput {\n time: string;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n}\n\ninterface ConvertTimeTo12HourFormatInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function convertTimeTo12HourFormat({\n hours,\n minutes,\n seconds,\n amPmLabels,\n}: ConvertTimeTo12HourFormatInput) {\n if (hours === null) {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const amPm = hours >= 12 ? amPmLabels.pm : amPmLabels.am;\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n\n return {\n hours: hour12,\n minutes: typeof minutes === 'number' ? minutes : null,\n seconds: typeof seconds === 'number' ? seconds : null,\n amPm,\n };\n}\n\nexport function getParsedTime({ time, format, amPmLabels }: GetParsedTimeInput) {\n if (time === '') {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const { hours, minutes, seconds } = splitTimeString(time);\n\n const parsed = { hours, minutes, seconds };\n\n if (format === '12h') {\n return convertTimeTo12HourFormat({ ...parsed, amPmLabels });\n }\n\n return { ...parsed, amPm: null };\n}\n"],"
|
|
1
|
+
{"version":3,"file":"get-parsed-time.cjs","names":["splitTimeString"],"sources":["../../../../../src/components/TimePicker/utils/get-parsed-time/get-parsed-time.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface GetParsedTimeInput {\n time: string;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n}\n\ninterface ConvertTimeTo12HourFormatInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function convertTimeTo12HourFormat({\n hours,\n minutes,\n seconds,\n amPmLabels,\n}: ConvertTimeTo12HourFormatInput) {\n if (hours === null) {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const amPm = hours >= 12 ? amPmLabels.pm : amPmLabels.am;\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n\n return {\n hours: hour12,\n minutes: typeof minutes === 'number' ? minutes : null,\n seconds: typeof seconds === 'number' ? seconds : null,\n amPm,\n };\n}\n\nexport function getParsedTime({ time, format, amPmLabels }: GetParsedTimeInput) {\n if (time === '') {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const { hours, minutes, seconds } = splitTimeString(time);\n\n const parsed = { hours, minutes, seconds };\n\n if (format === '12h') {\n return convertTimeTo12HourFormat({ ...parsed, amPmLabels });\n }\n\n return { ...parsed, amPm: null };\n}\n"],"mappings":";;;AAgBA,SAAgB,0BAA0B,EACxC,OACA,SACA,SACA,cACiC;AACjC,KAAI,UAAU,KACZ,QAAO;EAAE,OAAO;EAAM,SAAS;EAAM,SAAS;EAAM,MAAM;EAAM;CAGlE,MAAM,OAAO,SAAS,KAAK,WAAW,KAAK,WAAW;AAGtD,QAAO;EACL,OAHa,QAAQ,OAAO,IAAI,KAAK,QAAQ;EAI7C,SAAS,OAAO,YAAY,WAAW,UAAU;EACjD,SAAS,OAAO,YAAY,WAAW,UAAU;EACjD;EACD;;AAGH,SAAgB,cAAc,EAAE,MAAM,QAAQ,cAAkC;AAC9E,KAAI,SAAS,GACX,QAAO;EAAE,OAAO;EAAM,SAAS;EAAM,SAAS;EAAM,MAAM;EAAM;CAGlE,MAAM,EAAE,OAAO,SAAS,YAAYA,0BAAAA,gBAAgB,KAAK;CAEzD,MAAM,SAAS;EAAE;EAAO;EAAS;EAAS;AAE1C,KAAI,WAAW,MACb,QAAO,0BAA0B;EAAE,GAAG;EAAQ;EAAY,CAAC;AAG7D,QAAO;EAAE,GAAG;EAAQ,MAAM;EAAM"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var timeToSeconds = require('../time-to-seconds/time-to-seconds.cjs');
|
|
5
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
const require_time_to_seconds = require("../time-to-seconds/time-to-seconds.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/get-time-range/get-time-range.ts
|
|
6
4
|
function getTimeRange({ startTime, endTime, interval }) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
return timeRange;
|
|
5
|
+
const timeRange = [];
|
|
6
|
+
const startInSeconds = require_time_to_seconds.timeToSeconds(startTime);
|
|
7
|
+
const endInSeconds = require_time_to_seconds.timeToSeconds(endTime);
|
|
8
|
+
const intervalInSeconds = require_time_to_seconds.timeToSeconds(interval);
|
|
9
|
+
for (let current = startInSeconds; current <= endInSeconds; current += intervalInSeconds) timeRange.push(require_time_to_seconds.secondsToTime(current).timeString);
|
|
10
|
+
return timeRange;
|
|
15
11
|
}
|
|
16
|
-
|
|
12
|
+
//#endregion
|
|
17
13
|
exports.getTimeRange = getTimeRange;
|
|
18
|
-
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=get-time-range.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-time-range.cjs","sources":["../../../../../src/components/TimePicker/utils/get-time-range/get-time-range.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\ninterface GetTimeRangeInput {\n startTime: string;\n endTime: string;\n interval: string;\n}\n\nexport function getTimeRange({ startTime, endTime, interval }: GetTimeRangeInput): string[] {\n const timeRange: string[] = [];\n const startInSeconds = timeToSeconds(startTime);\n const endInSeconds = timeToSeconds(endTime);\n const intervalInSeconds = timeToSeconds(interval);\n\n for (let current = startInSeconds; current <= endInSeconds; current += intervalInSeconds) {\n timeRange.push(secondsToTime(current).timeString);\n }\n\n return timeRange;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"get-time-range.cjs","names":["timeToSeconds","secondsToTime"],"sources":["../../../../../src/components/TimePicker/utils/get-time-range/get-time-range.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\ninterface GetTimeRangeInput {\n startTime: string;\n endTime: string;\n interval: string;\n}\n\nexport function getTimeRange({ startTime, endTime, interval }: GetTimeRangeInput): string[] {\n const timeRange: string[] = [];\n const startInSeconds = timeToSeconds(startTime);\n const endInSeconds = timeToSeconds(endTime);\n const intervalInSeconds = timeToSeconds(interval);\n\n for (let current = startInSeconds; current <= endInSeconds; current += intervalInSeconds) {\n timeRange.push(secondsToTime(current).timeString);\n }\n\n return timeRange;\n}\n"],"mappings":";;;AAQA,SAAgB,aAAa,EAAE,WAAW,SAAS,YAAyC;CAC1F,MAAM,YAAsB,EAAE;CAC9B,MAAM,iBAAiBA,wBAAAA,cAAc,UAAU;CAC/C,MAAM,eAAeA,wBAAAA,cAAc,QAAQ;CAC3C,MAAM,oBAAoBA,wBAAAA,cAAc,SAAS;AAEjD,MAAK,IAAI,UAAU,gBAAgB,WAAW,cAAc,WAAW,kBACrE,WAAU,KAAKC,wBAAAA,cAAc,QAAQ,CAAC,WAAW;AAGnD,QAAO"}
|
|
@@ -1,51 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
seconds,
|
|
10
|
-
amPm,
|
|
11
|
-
amPmLabels,
|
|
12
|
-
withSeconds
|
|
13
|
-
}) {
|
|
14
|
-
let _hours = hours;
|
|
15
|
-
if (amPm === amPmLabels.pm && hours !== 12) {
|
|
16
|
-
_hours += 12;
|
|
17
|
-
} else if (amPm === amPmLabels.am && hours === 12) {
|
|
18
|
-
_hours = 0;
|
|
19
|
-
}
|
|
20
|
-
return `${padTime.padTime(_hours)}:${padTime.padTime(minutes)}${withSeconds ? `:${padTime.padTime(seconds || 0)}` : ""}`;
|
|
1
|
+
"use client";
|
|
2
|
+
const require_pad_time = require("../pad-time/pad-time.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/get-time-string/get-time-string.ts
|
|
4
|
+
function convertTo24HourFormat({ hours, minutes, seconds, amPm, amPmLabels, withSeconds }) {
|
|
5
|
+
let _hours = hours;
|
|
6
|
+
if (amPm === amPmLabels.pm && hours !== 12) _hours += 12;
|
|
7
|
+
else if (amPm === amPmLabels.am && hours === 12) _hours = 0;
|
|
8
|
+
return `${require_pad_time.padTime(_hours)}:${require_pad_time.padTime(minutes)}${withSeconds ? `:${require_pad_time.padTime(seconds || 0)}` : ""}`;
|
|
21
9
|
}
|
|
22
|
-
function getTimeString({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
10
|
+
function getTimeString({ hours, minutes, seconds, format, withSeconds, amPm, amPmLabels }) {
|
|
11
|
+
if (hours === null || minutes === null) return {
|
|
12
|
+
valid: false,
|
|
13
|
+
value: ""
|
|
14
|
+
};
|
|
15
|
+
if (withSeconds && seconds === null) return {
|
|
16
|
+
valid: false,
|
|
17
|
+
value: ""
|
|
18
|
+
};
|
|
19
|
+
if (format === "24h") return {
|
|
20
|
+
valid: true,
|
|
21
|
+
value: `${require_pad_time.padTime(hours)}:${require_pad_time.padTime(minutes)}${withSeconds ? `:${require_pad_time.padTime(seconds)}` : ""}`
|
|
22
|
+
};
|
|
23
|
+
if (amPm === null) return {
|
|
24
|
+
valid: false,
|
|
25
|
+
value: ""
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
valid: true,
|
|
29
|
+
value: convertTo24HourFormat({
|
|
30
|
+
hours,
|
|
31
|
+
minutes,
|
|
32
|
+
seconds,
|
|
33
|
+
amPm,
|
|
34
|
+
amPmLabels,
|
|
35
|
+
withSeconds
|
|
36
|
+
})
|
|
37
|
+
};
|
|
48
38
|
}
|
|
49
|
-
|
|
39
|
+
//#endregion
|
|
50
40
|
exports.getTimeString = getTimeString;
|
|
51
|
-
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=get-time-string.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-time-string.cjs","sources":["../../../../../src/components/TimePicker/utils/get-time-string/get-time-string.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { padTime } from '../pad-time/pad-time';\n\ninterface Time12HourFormat {\n hours: number;\n minutes: number;\n seconds: number | null;\n withSeconds: boolean;\n amPm: string;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nfunction convertTo24HourFormat({\n hours,\n minutes,\n seconds,\n amPm,\n amPmLabels,\n withSeconds,\n}: Time12HourFormat): string {\n let _hours = hours;\n\n if (amPm === amPmLabels.pm && hours !== 12) {\n _hours += 12;\n } else if (amPm === amPmLabels.am && hours === 12) {\n _hours = 0;\n }\n\n return `${padTime(_hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds || 0)}` : ''}`;\n}\n\ninterface GetTimeStringInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n format: TimePickerFormat;\n withSeconds: boolean;\n amPm: string | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels,\n}: GetTimeStringInput) {\n if (hours === null || minutes === null) {\n return { valid: false, value: '' };\n }\n\n if (withSeconds && seconds === null) {\n return { valid: false, value: '' };\n }\n\n if (format === '24h') {\n const value = `${padTime(hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds!)}` : ''}`;\n return { valid: true, value };\n }\n\n if (amPm === null) {\n return { valid: false, value: '' };\n }\n\n return {\n valid: true,\n value: convertTo24HourFormat({ hours, minutes, seconds, amPm, amPmLabels, withSeconds }),\n };\n}\n"],"
|
|
1
|
+
{"version":3,"file":"get-time-string.cjs","names":["padTime"],"sources":["../../../../../src/components/TimePicker/utils/get-time-string/get-time-string.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { padTime } from '../pad-time/pad-time';\n\ninterface Time12HourFormat {\n hours: number;\n minutes: number;\n seconds: number | null;\n withSeconds: boolean;\n amPm: string;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nfunction convertTo24HourFormat({\n hours,\n minutes,\n seconds,\n amPm,\n amPmLabels,\n withSeconds,\n}: Time12HourFormat): string {\n let _hours = hours;\n\n if (amPm === amPmLabels.pm && hours !== 12) {\n _hours += 12;\n } else if (amPm === amPmLabels.am && hours === 12) {\n _hours = 0;\n }\n\n return `${padTime(_hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds || 0)}` : ''}`;\n}\n\ninterface GetTimeStringInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n format: TimePickerFormat;\n withSeconds: boolean;\n amPm: string | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels,\n}: GetTimeStringInput) {\n if (hours === null || minutes === null) {\n return { valid: false, value: '' };\n }\n\n if (withSeconds && seconds === null) {\n return { valid: false, value: '' };\n }\n\n if (format === '24h') {\n const value = `${padTime(hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds!)}` : ''}`;\n return { valid: true, value };\n }\n\n if (amPm === null) {\n return { valid: false, value: '' };\n }\n\n return {\n valid: true,\n value: convertTo24HourFormat({ hours, minutes, seconds, amPm, amPmLabels, withSeconds }),\n };\n}\n"],"mappings":";;;AAYA,SAAS,sBAAsB,EAC7B,OACA,SACA,SACA,MACA,YACA,eAC2B;CAC3B,IAAI,SAAS;AAEb,KAAI,SAAS,WAAW,MAAM,UAAU,GACtC,WAAU;UACD,SAAS,WAAW,MAAM,UAAU,GAC7C,UAAS;AAGX,QAAO,GAAGA,iBAAAA,QAAQ,OAAO,CAAC,GAAGA,iBAAAA,QAAQ,QAAQ,GAAG,cAAc,IAAIA,iBAAAA,QAAQ,WAAW,EAAE,KAAK;;AAa9F,SAAgB,cAAc,EAC5B,OACA,SACA,SACA,QACA,aACA,MACA,cACqB;AACrB,KAAI,UAAU,QAAQ,YAAY,KAChC,QAAO;EAAE,OAAO;EAAO,OAAO;EAAI;AAGpC,KAAI,eAAe,YAAY,KAC7B,QAAO;EAAE,OAAO;EAAO,OAAO;EAAI;AAGpC,KAAI,WAAW,MAEb,QAAO;EAAE,OAAO;EAAM,OADR,GAAGA,iBAAAA,QAAQ,MAAM,CAAC,GAAGA,iBAAAA,QAAQ,QAAQ,GAAG,cAAc,IAAIA,iBAAAA,QAAQ,QAAS,KAAK;EACjE;AAG/B,KAAI,SAAS,KACX,QAAO;EAAE,OAAO;EAAO,OAAO;EAAI;AAGpC,QAAO;EACL,OAAO;EACP,OAAO,sBAAsB;GAAE;GAAO;GAAS;GAAS;GAAM;GAAY;GAAa,CAAC;EACzF"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var splitTimeString = require('../split-time-string/split-time-string.cjs');
|
|
5
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
const require_split_time_string = require("../split-time-string/split-time-string.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/is-same-time/is-same-time.ts
|
|
6
4
|
function isSameTime({ time, compare, withSeconds }) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;
|
|
5
|
+
const timeParts = require_split_time_string.splitTimeString(time);
|
|
6
|
+
const compareParts = require_split_time_string.splitTimeString(compare);
|
|
7
|
+
if (withSeconds) return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes && timeParts.seconds === compareParts.seconds;
|
|
8
|
+
return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;
|
|
13
9
|
}
|
|
14
|
-
|
|
10
|
+
//#endregion
|
|
15
11
|
exports.isSameTime = isSameTime;
|
|
16
|
-
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=is-same-time.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-same-time.cjs","sources":["../../../../../src/components/TimePicker/utils/is-same-time/is-same-time.ts"],"sourcesContent":["import { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface IsSameTimeInput {\n time: string;\n compare: string;\n withSeconds: boolean;\n}\n\nexport function isSameTime({ time, compare, withSeconds }: IsSameTimeInput) {\n const timeParts = splitTimeString(time);\n const compareParts = splitTimeString(compare);\n\n if (withSeconds) {\n return (\n timeParts.hours === compareParts.hours &&\n timeParts.minutes === compareParts.minutes &&\n timeParts.seconds === compareParts.seconds\n );\n }\n\n return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"is-same-time.cjs","names":["splitTimeString"],"sources":["../../../../../src/components/TimePicker/utils/is-same-time/is-same-time.ts"],"sourcesContent":["import { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface IsSameTimeInput {\n time: string;\n compare: string;\n withSeconds: boolean;\n}\n\nexport function isSameTime({ time, compare, withSeconds }: IsSameTimeInput) {\n const timeParts = splitTimeString(time);\n const compareParts = splitTimeString(compare);\n\n if (withSeconds) {\n return (\n timeParts.hours === compareParts.hours &&\n timeParts.minutes === compareParts.minutes &&\n timeParts.seconds === compareParts.seconds\n );\n }\n\n return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;\n}\n"],"mappings":";;;AAQA,SAAgB,WAAW,EAAE,MAAM,SAAS,eAAgC;CAC1E,MAAM,YAAYA,0BAAAA,gBAAgB,KAAK;CACvC,MAAM,eAAeA,0BAAAA,gBAAgB,QAAQ;AAE7C,KAAI,YACF,QACE,UAAU,UAAU,aAAa,SACjC,UAAU,YAAY,aAAa,WACnC,UAAU,YAAY,aAAa;AAIvC,QAAO,UAAU,UAAU,aAAa,SAAS,UAAU,YAAY,aAAa"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/pad-time/pad-time.ts
|
|
4
3
|
function padTime(value) {
|
|
5
|
-
|
|
4
|
+
return value < 10 ? `0${value}` : `${value}`;
|
|
6
5
|
}
|
|
7
|
-
|
|
6
|
+
//#endregion
|
|
8
7
|
exports.padTime = padTime;
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=pad-time.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pad-time.cjs","sources":["../../../../../src/components/TimePicker/utils/pad-time/pad-time.ts"],"sourcesContent":["export function padTime(value: number) {\n return value < 10 ? `0${value}` : `${value}`;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"pad-time.cjs","names":[],"sources":["../../../../../src/components/TimePicker/utils/pad-time/pad-time.ts"],"sourcesContent":["export function padTime(value: number) {\n return value < 10 ? `0${value}` : `${value}`;\n}\n"],"mappings":";;AAAA,SAAgB,QAAQ,OAAe;AACrC,QAAO,QAAQ,KAAK,IAAI,UAAU,GAAG"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/split-time-string/split-time-string.ts
|
|
4
3
|
function splitTimeString(timeString) {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const [hours = null, minutes = null, seconds = null] = timeString.split(":").map(Number);
|
|
5
|
+
return {
|
|
6
|
+
hours,
|
|
7
|
+
minutes,
|
|
8
|
+
seconds
|
|
9
|
+
};
|
|
7
10
|
}
|
|
8
|
-
|
|
11
|
+
//#endregion
|
|
9
12
|
exports.splitTimeString = splitTimeString;
|
|
10
|
-
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=split-time-string.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-time-string.cjs","sources":["../../../../../src/components/TimePicker/utils/split-time-string/split-time-string.ts"],"sourcesContent":["export function splitTimeString(timeString: string) {\n const [hours = null, minutes = null, seconds = null] = timeString.split(':').map(Number);\n return { hours, minutes, seconds };\n}\n"],"
|
|
1
|
+
{"version":3,"file":"split-time-string.cjs","names":[],"sources":["../../../../../src/components/TimePicker/utils/split-time-string/split-time-string.ts"],"sourcesContent":["export function splitTimeString(timeString: string) {\n const [hours = null, minutes = null, seconds = null] = timeString.split(':').map(Number);\n return { hours, minutes, seconds };\n}\n"],"mappings":";;AAAA,SAAgB,gBAAgB,YAAoB;CAClD,MAAM,CAAC,QAAQ,MAAM,UAAU,MAAM,UAAU,QAAQ,WAAW,MAAM,IAAI,CAAC,IAAI,OAAO;AACxF,QAAO;EAAE;EAAO;EAAS;EAAS"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var padTime = require('../pad-time/pad-time.cjs');
|
|
5
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
const require_pad_time = require("../pad-time/pad-time.cjs");
|
|
3
|
+
//#region packages/@mantine/dates/src/components/TimePicker/utils/time-to-seconds/time-to-seconds.ts
|
|
6
4
|
function timeToSeconds(timeStr) {
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(":").map(Number);
|
|
6
|
+
return hours * 3600 + minutes * 60 + seconds;
|
|
9
7
|
}
|
|
10
8
|
function secondsToTime(seconds) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
const hours = Math.floor(seconds / 3600);
|
|
10
|
+
const minutes = Math.floor(seconds % 3600 / 60);
|
|
11
|
+
const secs = seconds % 60;
|
|
12
|
+
return {
|
|
13
|
+
timeString: `${require_pad_time.padTime(hours)}:${require_pad_time.padTime(minutes)}:${require_pad_time.padTime(secs)}`,
|
|
14
|
+
hours,
|
|
15
|
+
minutes,
|
|
16
|
+
seconds: secs
|
|
17
|
+
};
|
|
20
18
|
}
|
|
21
|
-
|
|
19
|
+
//#endregion
|
|
22
20
|
exports.secondsToTime = secondsToTime;
|
|
23
21
|
exports.timeToSeconds = timeToSeconds;
|
|
24
|
-
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=time-to-seconds.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-to-seconds.cjs","sources":["../../../../../src/components/TimePicker/utils/time-to-seconds/time-to-seconds.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function timeToSeconds(timeStr: string): number {\n const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(':').map(Number);\n return hours * 3600 + minutes * 60 + seconds;\n}\n\nexport function secondsToTime(seconds: number) {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return {\n timeString: `${padTime(hours)}:${padTime(minutes)}:${padTime(secs)}`,\n hours,\n minutes,\n seconds: secs,\n };\n}\n"],"
|
|
1
|
+
{"version":3,"file":"time-to-seconds.cjs","names":["padTime"],"sources":["../../../../../src/components/TimePicker/utils/time-to-seconds/time-to-seconds.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function timeToSeconds(timeStr: string): number {\n const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(':').map(Number);\n return hours * 3600 + minutes * 60 + seconds;\n}\n\nexport function secondsToTime(seconds: number) {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return {\n timeString: `${padTime(hours)}:${padTime(minutes)}:${padTime(secs)}`,\n hours,\n minutes,\n seconds: secs,\n };\n}\n"],"mappings":";;;AAEA,SAAgB,cAAc,SAAyB;CACrD,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,KAAK,QAAQ,MAAM,IAAI,CAAC,IAAI,OAAO;AAC5E,QAAO,QAAQ,OAAO,UAAU,KAAK;;AAGvC,SAAgB,cAAc,SAAiB;CAC7C,MAAM,QAAQ,KAAK,MAAM,UAAU,KAAK;CACxC,MAAM,UAAU,KAAK,MAAO,UAAU,OAAQ,GAAG;CACjD,MAAM,OAAO,UAAU;AAEvB,QAAO;EACL,YAAY,GAAGA,iBAAAA,QAAQ,MAAM,CAAC,GAAGA,iBAAAA,QAAQ,QAAQ,CAAC,GAAGA,iBAAAA,QAAQ,KAAK;EAClE;EACA;EACA,SAAS;EACV"}
|