@mantine/dates 7.16.3 → 8.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/Calendar.cjs +13 -17
- package/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/cjs/components/DateInput/DateInput.cjs +3 -9
- package/cjs/components/DateInput/DateInput.cjs.map +1 -1
- package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs +8 -5
- 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 +1 -1
- package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs.map +1 -1
- package/cjs/components/DatePicker/DatePicker.cjs +3 -10
- package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/cjs/components/DatePickerInput/DatePickerInput.cjs +3 -9
- package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.cjs +34 -34
- package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
- package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs +21 -0
- package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs.map +1 -0
- package/cjs/components/DatesProvider/DatesProvider.cjs +0 -1
- package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
- package/cjs/components/DatesProvider/use-dates-context.cjs +0 -5
- package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
- package/cjs/components/Day/Day.cjs +1 -5
- package/cjs/components/Day/Day.cjs.map +1 -1
- package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
- package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs.map +1 -1
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +2 -3
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs +17 -15
- package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs.map +1 -1
- package/cjs/components/Month/Month.cjs +7 -6
- package/cjs/components/Month/Month.cjs.map +1 -1
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs +11 -3
- 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 +1 -1
- 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 +10 -11
- 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 +1 -1
- 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.map +1 -1
- package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs +1 -1
- 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 +1 -1
- package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs.map +1 -1
- package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +2 -3
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
- package/cjs/components/MonthPicker/MonthPicker.cjs +3 -10
- package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +2 -8
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
- package/cjs/components/MonthsList/MonthsList.cjs +12 -2
- package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs +7 -2
- 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 +1 -1
- 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 +1 -1
- package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs.map +1 -1
- package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
- package/cjs/components/PickerInputBase/PickerInputBase.cjs +4 -1
- package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
- package/cjs/components/SpinInput/SpinInput.cjs +115 -0
- package/cjs/components/SpinInput/SpinInput.cjs.map +1 -0
- package/cjs/components/TimeGrid/TimeGrid.cjs +104 -0
- package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -0
- package/cjs/components/TimeGrid/TimeGrid.context.cjs +12 -0
- package/cjs/components/TimeGrid/TimeGrid.context.cjs.map +1 -0
- package/cjs/components/TimeGrid/TimeGrid.module.css.cjs +7 -0
- package/cjs/components/TimeGrid/TimeGrid.module.css.cjs.map +1 -0
- package/cjs/components/TimeGrid/TimeGridControl.cjs +37 -0
- package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -0
- package/cjs/components/TimeGrid/compare-time.cjs +15 -0
- package/cjs/components/TimeGrid/compare-time.cjs.map +1 -0
- package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +72 -0
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -0
- package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs +16 -0
- package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs.map +1 -0
- package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs +27 -0
- package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs.map +1 -0
- package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs +54 -0
- package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePicker.cjs +387 -0
- package/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePicker.context.cjs +12 -0
- package/cjs/components/TimePicker/TimePicker.context.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePicker.module.css.cjs +7 -0
- package/cjs/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs +31 -0
- package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs +39 -0
- package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs.map +1 -0
- package/cjs/components/TimePicker/TimePresets/TimePresets.cjs +73 -0
- package/cjs/components/TimePicker/TimePresets/TimePresets.cjs.map +1 -0
- package/cjs/components/TimePicker/use-time-picker.cjs +164 -0
- package/cjs/components/TimePicker/use-time-picker.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs +15 -0
- package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs +38 -0
- package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs +18 -0
- package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs +51 -0
- package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs +16 -0
- package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs +9 -0
- package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs +10 -0
- package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs.map +1 -0
- package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs +24 -0
- package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs.map +1 -0
- package/cjs/components/TimeValue/TimeValue.cjs +18 -0
- package/cjs/components/TimeValue/TimeValue.cjs.map +1 -0
- package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs +31 -0
- package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs.map +1 -0
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs +1 -1
- package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
- package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +2 -3
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
- package/cjs/components/YearPicker/YearPicker.cjs +3 -10
- package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
- package/cjs/components/YearPickerInput/YearPickerInput.cjs +3 -9
- package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
- package/cjs/components/YearsList/YearsList.cjs +7 -2
- package/cjs/components/YearsList/YearsList.cjs.map +1 -1
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs +7 -2
- 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 +8 -2
- 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 +1 -1
- package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs.map +1 -1
- package/cjs/hooks/use-dates-input/use-dates-input.cjs +7 -4
- 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 +1 -1
- 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 +10 -12
- package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs +10 -34
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs.map +1 -1
- package/cjs/index.cjs +19 -5
- package/cjs/index.cjs.map +1 -1
- package/cjs/utils/assign-time/assign-time.cjs +16 -13
- package/cjs/utils/assign-time/assign-time.cjs.map +1 -1
- package/cjs/utils/clamp-date/clamp-date.cjs +25 -0
- package/cjs/utils/clamp-date/clamp-date.cjs.map +1 -0
- package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs +29 -0
- package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs.map +1 -0
- package/cjs/utils/get-formatted-date/get-formatted-date.cjs +41 -0
- package/cjs/utils/get-formatted-date/get-formatted-date.cjs.map +1 -0
- package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs +158 -0
- package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs.map +1 -0
- package/cjs/utils/to-date-string/to-date-string.cjs +19 -0
- package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -0
- package/esm/components/Calendar/Calendar.mjs +13 -17
- package/esm/components/Calendar/Calendar.mjs.map +1 -1
- package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
- package/esm/components/DateInput/DateInput.mjs +3 -9
- package/esm/components/DateInput/DateInput.mjs.map +1 -1
- package/esm/components/DateInput/date-string-parser/date-string-parser.mjs +4 -5
- 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 +1 -1
- package/esm/components/DateInput/is-date-valid/is-date-valid.mjs.map +1 -1
- package/esm/components/DatePicker/DatePicker.mjs +3 -10
- package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
- package/esm/components/DatePickerInput/DatePickerInput.mjs +3 -9
- package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
- package/esm/components/DateTimePicker/DateTimePicker.mjs +34 -34
- package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
- package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs +14 -0
- package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs.map +1 -0
- package/esm/components/DatesProvider/DatesProvider.mjs +0 -1
- package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
- package/esm/components/DatesProvider/use-dates-context.mjs +0 -5
- package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
- package/esm/components/Day/Day.mjs +1 -5
- package/esm/components/Day/Day.mjs.map +1 -1
- package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
- package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs.map +1 -1
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +2 -3
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs +17 -15
- package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs.map +1 -1
- package/esm/components/Month/Month.mjs +7 -6
- package/esm/components/Month/Month.mjs.map +1 -1
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs +11 -3
- 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 +1 -1
- 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 +10 -11
- 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 +1 -1
- 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.map +1 -1
- package/esm/components/Month/is-after-min-date/is-after-min-date.mjs +1 -1
- 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 +1 -1
- package/esm/components/Month/is-before-max-date/is-before-max-date.mjs.map +1 -1
- package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +2 -3
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
- package/esm/components/MonthPicker/MonthPicker.mjs +3 -10
- package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs +2 -8
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
- package/esm/components/MonthsList/MonthsList.mjs +12 -2
- package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs +7 -2
- 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 +1 -1
- 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 +1 -1
- package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs.map +1 -1
- package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
- package/esm/components/PickerInputBase/PickerInputBase.mjs +4 -1
- package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
- package/esm/components/SpinInput/SpinInput.mjs +113 -0
- package/esm/components/SpinInput/SpinInput.mjs.map +1 -0
- package/esm/components/TimeGrid/TimeGrid.context.mjs +9 -0
- package/esm/components/TimeGrid/TimeGrid.context.mjs.map +1 -0
- package/esm/components/TimeGrid/TimeGrid.mjs +102 -0
- package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -0
- package/esm/components/TimeGrid/TimeGrid.module.css.mjs +5 -0
- package/esm/components/TimeGrid/TimeGrid.module.css.mjs.map +1 -0
- package/esm/components/TimeGrid/TimeGridControl.mjs +31 -0
- package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -0
- package/esm/components/TimeGrid/compare-time.mjs +12 -0
- package/esm/components/TimeGrid/compare-time.mjs.map +1 -0
- package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +70 -0
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -0
- package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs +14 -0
- package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs.map +1 -0
- package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs +25 -0
- package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs.map +1 -0
- package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs +52 -0
- package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs.map +1 -0
- package/esm/components/TimePicker/TimePicker.context.mjs +9 -0
- package/esm/components/TimePicker/TimePicker.context.mjs.map +1 -0
- package/esm/components/TimePicker/TimePicker.mjs +385 -0
- package/esm/components/TimePicker/TimePicker.mjs.map +1 -0
- package/esm/components/TimePicker/TimePicker.module.css.mjs +5 -0
- package/esm/components/TimePicker/TimePicker.module.css.mjs.map +1 -0
- package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs +29 -0
- package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs.map +1 -0
- package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs +37 -0
- package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs.map +1 -0
- package/esm/components/TimePicker/TimePresets/TimePresets.mjs +71 -0
- package/esm/components/TimePicker/TimePresets/TimePresets.mjs.map +1 -0
- package/esm/components/TimePicker/use-time-picker.mjs +162 -0
- package/esm/components/TimePicker/use-time-picker.mjs.map +1 -0
- package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs +13 -0
- package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs.map +1 -0
- package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs +35 -0
- package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs.map +1 -0
- package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs +16 -0
- package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs.map +1 -0
- package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs +49 -0
- package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs.map +1 -0
- package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs +14 -0
- package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs.map +1 -0
- package/esm/components/TimePicker/utils/pad-time/pad-time.mjs +7 -0
- package/esm/components/TimePicker/utils/pad-time/pad-time.mjs.map +1 -0
- package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs +8 -0
- package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs.map +1 -0
- package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs +21 -0
- package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs.map +1 -0
- package/esm/components/TimeValue/TimeValue.mjs +16 -0
- package/esm/components/TimeValue/TimeValue.mjs.map +1 -0
- package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs +29 -0
- package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs.map +1 -0
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs +1 -1
- package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
- package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs +2 -3
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
- package/esm/components/YearPicker/YearPicker.mjs +3 -10
- package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
- package/esm/components/YearPickerInput/YearPickerInput.mjs +3 -9
- package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
- package/esm/components/YearsList/YearsList.mjs +7 -2
- package/esm/components/YearsList/YearsList.mjs.map +1 -1
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs +7 -2
- 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 +4 -2
- 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 +1 -1
- package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs.map +1 -1
- package/esm/hooks/use-dates-input/use-dates-input.mjs +3 -4
- 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 +1 -1
- 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 +10 -12
- package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs +10 -35
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs.map +1 -1
- package/esm/index.mjs +10 -4
- package/esm/index.mjs.map +1 -1
- package/esm/utils/assign-time/assign-time.mjs +12 -13
- package/esm/utils/assign-time/assign-time.mjs.map +1 -1
- package/esm/utils/clamp-date/clamp-date.mjs +19 -0
- package/esm/utils/clamp-date/clamp-date.mjs.map +1 -0
- package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs +23 -0
- package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs.map +1 -0
- package/esm/utils/get-formatted-date/get-formatted-date.mjs +34 -0
- package/esm/utils/get-formatted-date/get-formatted-date.mjs.map +1 -0
- package/esm/utils/handle-control-key-down/handle-control-key-down.mjs +156 -0
- package/esm/utils/handle-control-key-down/handle-control-key-down.mjs.map +1 -0
- package/esm/utils/to-date-string/to-date-string.mjs +12 -0
- package/esm/utils/to-date-string/to-date-string.mjs.map +1 -0
- package/lib/components/Calendar/Calendar.d.ts +31 -33
- package/lib/components/CalendarHeader/CalendarHeader.d.ts +12 -12
- package/lib/components/DateInput/DateInput.d.ts +18 -20
- package/lib/components/DateInput/date-string-parser/date-string-parser.d.ts +2 -1
- package/lib/components/DateInput/is-date-valid/is-date-valid.d.ts +4 -3
- package/lib/components/DateInputMask/DateInputMask.d.ts +63 -0
- package/lib/components/DateInputMask/use-date-input-mask.d.ts +1 -0
- package/lib/components/DatePicker/DatePicker.d.ts +3 -3
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/lib/components/DateTimePicker/DateTimePicker.d.ts +9 -11
- package/lib/components/DateTimePicker/get-min-max-time/get-min-max-time.d.ts +12 -0
- package/lib/components/DatesProvider/DatesProvider.d.ts +0 -1
- package/lib/components/DatesProvider/use-dates-context.d.ts +0 -2
- package/lib/components/Day/Day.d.ts +7 -5
- package/lib/components/Day/index.d.ts +1 -1
- package/lib/components/DecadeLevel/DecadeLevel.d.ts +6 -5
- package/lib/components/DecadeLevel/get-decade-range/get-decade-range.d.ts +2 -1
- package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +6 -5
- package/lib/components/HiddenDatesInput/HiddenDatesInput.d.ts +2 -1
- package/lib/components/Month/Month.d.ts +25 -25
- package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +12 -1
- package/lib/components/Month/get-end-of-week/get-end-of-week.d.ts +2 -2
- package/lib/components/Month/get-month-days/get-month-days.d.ts +3 -3
- package/lib/components/Month/get-start-of-week/get-start-of-week.d.ts +2 -2
- package/lib/components/Month/get-week-number/get-week-number.d.ts +2 -1
- package/lib/components/Month/is-after-min-date/is-after-min-date.d.ts +2 -1
- package/lib/components/Month/is-before-max-date/is-before-max-date.d.ts +2 -1
- package/lib/components/MonthLevel/MonthLevel.d.ts +4 -3
- package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +7 -6
- package/lib/components/MonthPicker/MonthPicker.d.ts +8 -8
- package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +1 -1
- package/lib/components/MonthsList/MonthsList.d.ts +8 -8
- package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts +9 -1
- package/lib/components/MonthsList/get-months-data/get-months-data.d.ts +2 -1
- package/lib/components/MonthsList/is-month-disabled/is-month-disabled.d.ts +8 -1
- package/lib/components/PickerControl/PickerControl.d.ts +5 -5
- package/lib/components/PickerInputBase/PickerInputBase.d.ts +11 -8
- package/lib/components/SpinInput/SpinInput.d.ts +12 -0
- package/lib/components/SpinInput/index.d.ts +1 -0
- package/lib/components/TimeGrid/TimeGrid.context.d.ts +10 -0
- package/lib/components/TimeGrid/TimeGrid.d.ts +52 -0
- package/lib/components/TimeGrid/TimeGridControl.d.ts +10 -0
- package/lib/components/TimeGrid/compare-time.d.ts +2 -0
- package/lib/components/TimeGrid/index.d.ts +3 -0
- package/lib/components/TimeInput/TimeInput.d.ts +3 -3
- package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +13 -0
- package/lib/components/TimePicker/TimeControlsList/AmPmControlsList.d.ts +13 -0
- package/lib/components/TimePicker/TimeControlsList/TimeControl.d.ts +10 -0
- package/lib/components/TimePicker/TimeControlsList/TimeControlsList.d.ts +12 -0
- package/lib/components/TimePicker/TimePicker.context.d.ts +12 -0
- package/lib/components/TimePicker/TimePicker.d.ts +98 -0
- package/lib/components/TimePicker/TimePicker.types.d.ts +22 -0
- package/lib/components/TimePicker/TimePresets/TimePresetControl.d.ts +14 -0
- package/lib/components/TimePicker/TimePresets/TimePresetGroup.d.ts +14 -0
- package/lib/components/TimePicker/TimePresets/TimePresets.d.ts +14 -0
- package/lib/components/TimePicker/index.d.ts +4 -0
- package/lib/components/TimePicker/use-time-picker.d.ts +40 -0
- package/lib/components/TimePicker/utils/clamp-time/clamp-time.d.ts +6 -0
- package/lib/components/TimePicker/utils/get-parsed-time/get-parsed-time.d.ts +35 -0
- package/lib/components/TimePicker/utils/get-time-range/get-time-range.d.ts +7 -0
- package/lib/components/TimePicker/utils/get-time-string/get-time-string.d.ts +15 -0
- package/lib/components/TimePicker/utils/is-same-time/is-same-time.d.ts +7 -0
- package/lib/components/TimePicker/utils/pad-time/pad-time.d.ts +1 -0
- package/lib/components/TimePicker/utils/split-time-string/split-time-string.d.ts +5 -0
- package/lib/components/TimePicker/utils/time-to-seconds/time-to-seconds.d.ts +7 -0
- package/lib/components/TimeValue/TimeValue.d.ts +15 -0
- package/lib/components/TimeValue/get-formatted-time/get-formatted-time.d.ts +8 -0
- package/lib/components/TimeValue/index.d.ts +2 -0
- package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +7 -7
- package/lib/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.d.ts +2 -2
- package/lib/components/YearLevel/YearLevel.d.ts +6 -5
- package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +6 -5
- package/lib/components/YearPicker/YearPicker.d.ts +2 -2
- package/lib/components/YearPickerInput/YearPickerInput.d.ts +1 -1
- package/lib/components/YearsList/YearsList.d.ts +7 -7
- package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts +9 -1
- package/lib/components/YearsList/get-years-data/get-years-data.d.ts +2 -1
- package/lib/components/YearsList/is-year-disabled/is-year-disabled.d.ts +8 -1
- package/lib/hooks/use-dates-state/is-in-range/is-in-range.d.ts +2 -1
- package/lib/hooks/use-dates-state/use-dates-state.d.ts +5 -6
- package/lib/hooks/use-uncontrolled-dates/use-uncontrolled-dates.d.ts +5 -4
- package/lib/index.d.mts +3 -0
- package/lib/index.d.ts +3 -0
- package/lib/types/ControlsGroupSettings.d.ts +7 -7
- package/lib/types/DatePickerValue.d.ts +4 -3
- package/lib/types/GeneralTypes.d.ts +4 -1
- package/lib/types/PickerBaseProps.d.ts +2 -1
- package/lib/utils/assign-time/assign-time.d.ts +3 -1
- package/lib/utils/clamp-date/clamp-date.d.ts +2 -0
- package/lib/utils/get-default-clamped-date/get-default-clamped-date.d.ts +7 -0
- package/lib/utils/get-formatted-date/get-formatted-date.d.ts +15 -0
- package/lib/utils/handle-control-key-down/handle-control-key-down.d.ts +11 -0
- package/lib/utils/index.d.ts +6 -5
- package/lib/utils/to-date-string/to-date-string.d.ts +4 -0
- package/package.json +5 -5
- package/styles.css +241 -4
- package/styles.layer.css +241 -4
|
@@ -5,21 +5,21 @@ import { DateFormatter } from '../../utils';
|
|
|
5
5
|
import { HiddenDatesInputValue } from '../HiddenDatesInput';
|
|
6
6
|
export type PickerInputBaseStylesNames = __InputStylesNames;
|
|
7
7
|
export interface DateInputSharedProps extends Omit<__BaseInputProps, 'size'>, ElementProps<'button', 'defaultValue' | 'value' | 'onChange' | 'type'> {
|
|
8
|
-
/** Determines whether dropdown
|
|
8
|
+
/** Determines whether the dropdown is closed when date is selected, not applicable with `type="multiple"`, `true` by default */
|
|
9
9
|
closeOnChange?: boolean;
|
|
10
|
-
/** Type of dropdown,
|
|
10
|
+
/** Type of the dropdown, `'popover'` by default */
|
|
11
11
|
dropdownType?: 'popover' | 'modal';
|
|
12
|
-
/** Props passed down to Popover component */
|
|
12
|
+
/** Props passed down to `Popover` component */
|
|
13
13
|
popoverProps?: Partial<Omit<PopoverProps, 'children'>>;
|
|
14
|
-
/** Props passed down to Modal component */
|
|
14
|
+
/** Props passed down to `Modal` component */
|
|
15
15
|
modalProps?: Partial<Omit<ModalProps, 'children'>>;
|
|
16
|
-
/**
|
|
16
|
+
/** If set, clear button is displayed in the `rightSection` when the component has value. Ignored if `rightSection` prop is set. `false` by default */
|
|
17
17
|
clearable?: boolean;
|
|
18
|
-
/** Props passed down to clear button */
|
|
18
|
+
/** Props passed down to the clear button */
|
|
19
19
|
clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;
|
|
20
|
-
/**
|
|
20
|
+
/** If set, the component value cannot be changed by the user */
|
|
21
21
|
readOnly?: boolean;
|
|
22
|
-
/** Determines whether dates
|
|
22
|
+
/** Determines whether dates values should be sorted before `onChange` call, only applicable with type="multiple", `true` by default */
|
|
23
23
|
sortDates?: boolean;
|
|
24
24
|
/** Separator between range value */
|
|
25
25
|
labelSeparator?: string;
|
|
@@ -27,6 +27,8 @@ export interface DateInputSharedProps extends Omit<__BaseInputProps, 'size'>, El
|
|
|
27
27
|
placeholder?: string;
|
|
28
28
|
/** A function to format selected dates values into a string. By default, date is formatted based on the input type. */
|
|
29
29
|
valueFormatter?: DateFormatter;
|
|
30
|
+
/** Called when the dropdown is closed */
|
|
31
|
+
onDropdownClose?: () => void;
|
|
30
32
|
}
|
|
31
33
|
export interface PickerInputBaseProps extends BoxProps, DateInputSharedProps, Omit<StylesApiProps<PickerInputBaseFactory>, 'classNames' | 'styles'> {
|
|
32
34
|
classNames?: Partial<Record<string, string>>;
|
|
@@ -41,6 +43,7 @@ export interface PickerInputBaseProps extends BoxProps, DateInputSharedProps, Om
|
|
|
41
43
|
value: HiddenDatesInputValue;
|
|
42
44
|
type: DatePickerType;
|
|
43
45
|
size?: MantineSize;
|
|
46
|
+
withTime?: boolean;
|
|
44
47
|
}
|
|
45
48
|
export type PickerInputBaseFactory = Factory<{
|
|
46
49
|
props: PickerInputBaseProps;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface SpinInputProps extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'value'> {
|
|
2
|
+
value: number | null;
|
|
3
|
+
min: number;
|
|
4
|
+
max: number;
|
|
5
|
+
onChange: (value: number | null) => void;
|
|
6
|
+
focusable: boolean;
|
|
7
|
+
step: number;
|
|
8
|
+
onNextInput?: () => void;
|
|
9
|
+
onPreviousInput?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const SpinInput: import("react").ForwardRefExoticComponent<SpinInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SpinInput } from './SpinInput';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GetStylesApi } from '@mantine/core';
|
|
2
|
+
import type { TimeGridFactory } from './TimeGrid';
|
|
3
|
+
interface TimeGridContextValue {
|
|
4
|
+
getStyles: GetStylesApi<TimeGridFactory>;
|
|
5
|
+
}
|
|
6
|
+
export declare const TimeGridProvider: ({ children, value }: {
|
|
7
|
+
value: TimeGridContextValue;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element, useTimeGridContext: () => TimeGridContextValue;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BoxProps, DataAttributes, ElementProps, Factory, MantineRadius, MantineSize, SimpleGridProps, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';
|
|
3
|
+
export type TimeGridStylesNames = 'root' | 'control' | 'simpleGrid';
|
|
4
|
+
export type TimeGridCssVariables = {
|
|
5
|
+
root: '--time-grid-fz' | '--time-grid-radius';
|
|
6
|
+
};
|
|
7
|
+
export interface TimeGridProps extends BoxProps, StylesApiProps<TimeGridFactory>, ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {
|
|
8
|
+
/** Time data in 24h format to be displayed in the grid, for example `['10:00', '18:30', '22:00']`. Time values must be unique. */
|
|
9
|
+
data: string[];
|
|
10
|
+
/** Controlled component value */
|
|
11
|
+
value?: string | null;
|
|
12
|
+
/** Uncontrolled component default value */
|
|
13
|
+
defaultValue?: string | null;
|
|
14
|
+
/** Called when value changes */
|
|
15
|
+
onChange?: (value: string | null) => void;
|
|
16
|
+
/** Determines whether the value can be deselected when the current active option is clicked or activated with keyboard, `false` by default */
|
|
17
|
+
allowDeselect?: boolean;
|
|
18
|
+
/** Time format displayed in the grid, `'24h'` by default */
|
|
19
|
+
format?: TimePickerFormat;
|
|
20
|
+
/** Determines whether the seconds part should be displayed, `false` by default */
|
|
21
|
+
withSeconds?: boolean;
|
|
22
|
+
/** Labels used for am/pm values, `{ am: 'AM', pm: 'PM' }` by default */
|
|
23
|
+
amPmLabels?: TimePickerAmPmLabels;
|
|
24
|
+
/** Props passed down to the underlying `SimpleGrid` component, `{ cols: 3, spacing: 'xs' }` by default */
|
|
25
|
+
simpleGridProps?: SimpleGridProps;
|
|
26
|
+
/** A function to pass props down to control based on the time value */
|
|
27
|
+
getControlProps?: (time: string) => React.ComponentPropsWithoutRef<'button'> & DataAttributes;
|
|
28
|
+
/** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */
|
|
29
|
+
radius?: MantineRadius;
|
|
30
|
+
/** Control `font-size` of controls, key of `theme.fontSizes` or any valid CSS value, `'sm'` by default */
|
|
31
|
+
size?: MantineSize;
|
|
32
|
+
/** All controls before this time are disabled */
|
|
33
|
+
minTime?: string;
|
|
34
|
+
/** All controls after this time are disabled */
|
|
35
|
+
maxTime?: string;
|
|
36
|
+
/** Array of time values to disable */
|
|
37
|
+
disableTime?: string[] | ((time: string) => boolean);
|
|
38
|
+
/** If set, all controls are disabled */
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export type TimeGridFactory = Factory<{
|
|
42
|
+
props: TimeGridProps;
|
|
43
|
+
ref: HTMLDivElement;
|
|
44
|
+
stylesNames: TimeGridStylesNames;
|
|
45
|
+
vars: TimeGridCssVariables;
|
|
46
|
+
}>;
|
|
47
|
+
export declare const TimeGrid: import("@mantine/core").MantineComponent<{
|
|
48
|
+
props: TimeGridProps;
|
|
49
|
+
ref: HTMLDivElement;
|
|
50
|
+
stylesNames: TimeGridStylesNames;
|
|
51
|
+
vars: TimeGridCssVariables;
|
|
52
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';
|
|
2
|
+
interface TimeGridControlProps extends React.ComponentPropsWithoutRef<'button'> {
|
|
3
|
+
time: string;
|
|
4
|
+
active: boolean;
|
|
5
|
+
format: TimePickerFormat;
|
|
6
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
7
|
+
withSeconds: boolean | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function TimeGridControl({ time, active, className, amPmLabels, format, withSeconds, ...others }: TimeGridControlProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __BaseInputProps, __InputStylesNames, BoxProps, ElementProps, Factory, StylesApiProps } from '@mantine/core';
|
|
2
2
|
export interface TimeInputProps extends BoxProps, __BaseInputProps, StylesApiProps<TimeInputFactory>, ElementProps<'input', 'size'> {
|
|
3
|
-
/** Determines whether seconds input should be
|
|
3
|
+
/** Determines whether seconds input should be displayed, `false` by default */
|
|
4
4
|
withSeconds?: boolean;
|
|
5
|
-
/** Minimum possible string time, if withSeconds is true, time should be in format HH:mm:ss, otherwise HH:mm */
|
|
5
|
+
/** Minimum possible string time, if `withSeconds` is true, time should be in format HH:mm:ss, otherwise HH:mm */
|
|
6
6
|
minTime?: string;
|
|
7
|
-
/** Maximum possible string time, if withSeconds is true, time should be in format HH:mm:ss, otherwise HH:mm */
|
|
7
|
+
/** Maximum possible string time, if `withSeconds` is true, time should be in format HH:mm:ss, otherwise HH:mm */
|
|
8
8
|
maxTime?: string;
|
|
9
9
|
}
|
|
10
10
|
export type TimeInputFactory = Factory<{
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AmPmInputProps extends Omit<React.ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {
|
|
3
|
+
labels: {
|
|
4
|
+
am: string;
|
|
5
|
+
pm: string;
|
|
6
|
+
};
|
|
7
|
+
value: string | null;
|
|
8
|
+
onChange: (value: string | null) => void;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
onPreviousInput?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const AmPmInput: React.ForwardRefExoticComponent<AmPmInputProps & React.RefAttributes<HTMLSelectElement>>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface AmPmControlsListProps {
|
|
2
|
+
value: string | null;
|
|
3
|
+
onSelect: (value: string) => void;
|
|
4
|
+
labels: {
|
|
5
|
+
am: string;
|
|
6
|
+
pm: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function AmPmControlsList({ labels, value, onSelect }: AmPmControlsListProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace AmPmControlsList {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface TimeControlProps {
|
|
2
|
+
value: number | string;
|
|
3
|
+
active: boolean;
|
|
4
|
+
onSelect: (value: any) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function TimeControl({ value, active, onSelect }: TimeControlProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare namespace TimeControl {
|
|
8
|
+
var displayName: string;
|
|
9
|
+
}
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface TimeControlsListProps {
|
|
2
|
+
min: number;
|
|
3
|
+
max: number;
|
|
4
|
+
step: number;
|
|
5
|
+
value: number | null;
|
|
6
|
+
onSelect: (value: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function TimeControlsList({ min, max, step, value, onSelect }: TimeControlsListProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace TimeControlsList {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GetStylesApi, ScrollAreaProps } from '@mantine/core';
|
|
2
|
+
import type { TimePickerFactory } from './TimePicker';
|
|
3
|
+
interface TimePickerContext {
|
|
4
|
+
getStyles: GetStylesApi<TimePickerFactory>;
|
|
5
|
+
maxDropdownContentHeight: number;
|
|
6
|
+
scrollAreaProps: ScrollAreaProps | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare const TimePickerProvider: ({ children, value }: {
|
|
9
|
+
value: TimePickerContext;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element, useTimePickerContext: () => TimePickerContext;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { __BaseInputProps, __InputStylesNames, BoxProps, CloseButtonProps, DataAttributes, ElementProps, Factory, InputVariant, PopoverProps, ScrollAreaProps, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit, TimePickerPresets } from './TimePicker.types';
|
|
3
|
+
export type TimePickerStylesNames = 'fieldsRoot' | 'fieldsGroup' | 'field' | 'controlsList' | 'controlsListGroup' | 'control' | 'dropdown' | 'presetsRoot' | 'presetsGroup' | 'presetsGroupLabel' | 'presetControl' | 'scrollarea' | __InputStylesNames;
|
|
4
|
+
export type TimePickerCssVariables = {
|
|
5
|
+
dropdown: '--control-font-size';
|
|
6
|
+
};
|
|
7
|
+
export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiProps<TimePickerFactory>, ElementProps<'div', 'onChange' | 'defaultValue'> {
|
|
8
|
+
/** Controlled component value */
|
|
9
|
+
value?: string;
|
|
10
|
+
/** Uncontrolled component default value */
|
|
11
|
+
defaultValue?: string;
|
|
12
|
+
/** Called when the value changes */
|
|
13
|
+
onChange?: (value: string) => void;
|
|
14
|
+
/** Determines whether the clear button should be displayed, `false` by default */
|
|
15
|
+
clearable?: boolean;
|
|
16
|
+
/** `name` prop passed down to the hidden input */
|
|
17
|
+
name?: string;
|
|
18
|
+
/** `form` prop passed down to the hidden input */
|
|
19
|
+
form?: string;
|
|
20
|
+
/** Min possible time value in `hh:mm:ss` format */
|
|
21
|
+
min?: string;
|
|
22
|
+
/** Max possible time value in `hh:mm:ss` format */
|
|
23
|
+
max?: string;
|
|
24
|
+
/** Time format, `'24h'` by default */
|
|
25
|
+
format?: TimePickerFormat;
|
|
26
|
+
/** Number by which hours are incremented/decremented, `1` by default */
|
|
27
|
+
hoursStep?: number;
|
|
28
|
+
/** Number by which minutes are incremented/decremented, `1` by default */
|
|
29
|
+
minutesStep?: number;
|
|
30
|
+
/** Number by which seconds are incremented/decremented, `1` by default */
|
|
31
|
+
secondsStep?: number;
|
|
32
|
+
/** Determines whether the seconds input should be displayed, `false` by default */
|
|
33
|
+
withSeconds?: boolean;
|
|
34
|
+
/** `aria-label` of hours input */
|
|
35
|
+
hoursInputLabel?: string;
|
|
36
|
+
/** `aria-label` of minutes input */
|
|
37
|
+
minutesInputLabel?: string;
|
|
38
|
+
/** `aria-label` of seconds input */
|
|
39
|
+
secondsInputLabel?: string;
|
|
40
|
+
/** `aria-label` of am/pm input */
|
|
41
|
+
amPmInputLabel?: string;
|
|
42
|
+
/** Labels used for am/pm values, `{ am: 'AM', pm: 'PM' }` by default */
|
|
43
|
+
amPmLabels?: TimePickerAmPmLabels;
|
|
44
|
+
/** Determines whether the dropdown with time controls list should be visible when the input has focus, `false` by default */
|
|
45
|
+
withDropdown?: boolean;
|
|
46
|
+
/** Props passed down to `Popover` component */
|
|
47
|
+
popoverProps?: PopoverProps;
|
|
48
|
+
/** Called once when one of the inputs is focused, not called when focused is shifted between hours, minutes, seconds and am/pm inputs */
|
|
49
|
+
onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
50
|
+
/** Called once when the focus is no longer on any of the inputs */
|
|
51
|
+
onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
52
|
+
/** Props passed down to clear button */
|
|
53
|
+
clearButtonProps?: CloseButtonProps & ElementProps<'button'> & DataAttributes;
|
|
54
|
+
/** Props passed down to hours input */
|
|
55
|
+
hoursInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
|
|
56
|
+
/** Props passed down to minutes input */
|
|
57
|
+
minutesInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
|
|
58
|
+
/** Props passed down to seconds input */
|
|
59
|
+
secondsInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
|
|
60
|
+
/** Props passed down to am/pm select */
|
|
61
|
+
amPmSelectProps?: React.ComponentPropsWithoutRef<'select'> & DataAttributes;
|
|
62
|
+
/** If set, the value cannot be updated */
|
|
63
|
+
readOnly?: boolean;
|
|
64
|
+
/** If set, the component becomes disabled */
|
|
65
|
+
disabled?: boolean;
|
|
66
|
+
/** Props passed down to the hidden input */
|
|
67
|
+
hiddenInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
|
|
68
|
+
/** A function to transform paste values, by default time in 24h format can be parsed on paste for example `23:34:22` */
|
|
69
|
+
pasteSplit?: TimePickerPasteSplit;
|
|
70
|
+
/** A ref object to get node reference of the hours input */
|
|
71
|
+
hoursRef?: React.Ref<HTMLInputElement>;
|
|
72
|
+
/** A ref object to get node reference of the minutes input */
|
|
73
|
+
minutesRef?: React.Ref<HTMLInputElement>;
|
|
74
|
+
/** A ref object to get node reference of the seconds input */
|
|
75
|
+
secondsRef?: React.Ref<HTMLInputElement>;
|
|
76
|
+
/** A ref object to get node reference of the am/pm select */
|
|
77
|
+
amPmRef?: React.Ref<HTMLSelectElement>;
|
|
78
|
+
/** Time presets to display in the dropdown */
|
|
79
|
+
presets?: TimePickerPresets;
|
|
80
|
+
/** Maximum height of the content displayed in the dropdown in px, `200` by default */
|
|
81
|
+
maxDropdownContentHeight?: number;
|
|
82
|
+
/** Props passed down to all underlying `ScrollArea` components */
|
|
83
|
+
scrollAreaProps?: ScrollAreaProps;
|
|
84
|
+
}
|
|
85
|
+
export type TimePickerFactory = Factory<{
|
|
86
|
+
props: TimePickerProps;
|
|
87
|
+
ref: HTMLDivElement;
|
|
88
|
+
stylesNames: TimePickerStylesNames;
|
|
89
|
+
vars: TimePickerCssVariables;
|
|
90
|
+
variant: InputVariant;
|
|
91
|
+
}>;
|
|
92
|
+
export declare const TimePicker: import("@mantine/core").MantineComponent<{
|
|
93
|
+
props: TimePickerProps;
|
|
94
|
+
ref: HTMLDivElement;
|
|
95
|
+
stylesNames: TimePickerStylesNames;
|
|
96
|
+
vars: TimePickerCssVariables;
|
|
97
|
+
variant: InputVariant;
|
|
98
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type TimePickerFormat = '12h' | '24h';
|
|
2
|
+
export interface TimePickerAmPmLabels {
|
|
3
|
+
am: string;
|
|
4
|
+
pm: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TimePickerPasteSplitInput {
|
|
7
|
+
time: string;
|
|
8
|
+
format: TimePickerFormat;
|
|
9
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
10
|
+
}
|
|
11
|
+
export interface TimePickerPasteSplitReturnType {
|
|
12
|
+
hours: number | null;
|
|
13
|
+
minutes: number | null;
|
|
14
|
+
seconds: number | null;
|
|
15
|
+
amPm: string | null;
|
|
16
|
+
}
|
|
17
|
+
export type TimePickerPasteSplit = (input: TimePickerPasteSplitInput) => TimePickerPasteSplitReturnType;
|
|
18
|
+
export interface TimePickerPresetGroup {
|
|
19
|
+
label: React.ReactNode;
|
|
20
|
+
values: string[];
|
|
21
|
+
}
|
|
22
|
+
export type TimePickerPresets = string[] | TimePickerPresetGroup[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker.types';
|
|
2
|
+
interface TimePresetControlProps {
|
|
3
|
+
value: string;
|
|
4
|
+
active: boolean;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
format: TimePickerFormat;
|
|
7
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
8
|
+
withSeconds: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function TimePresetControl({ value, active, onChange, format, amPmLabels, withSeconds, }: TimePresetControlProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare namespace TimePresetControl {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat, TimePickerPresetGroup } from '../TimePicker.types';
|
|
2
|
+
interface TimePresetGroupProps {
|
|
3
|
+
value: string;
|
|
4
|
+
data: TimePickerPresetGroup;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
format: TimePickerFormat;
|
|
7
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
8
|
+
withSeconds: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function TimePresetGroup({ value, data, onChange, format, amPmLabels, withSeconds, }: TimePresetGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare namespace TimePresetGroup {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat, TimePickerPresets } from '../TimePicker.types';
|
|
2
|
+
interface TimePresetsProps {
|
|
3
|
+
presets: TimePickerPresets;
|
|
4
|
+
format: TimePickerFormat;
|
|
5
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
6
|
+
value: string;
|
|
7
|
+
withSeconds: boolean;
|
|
8
|
+
onChange: (value: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function TimePresets({ presets, format, amPmLabels, withSeconds, value, onChange, }: TimePresetsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export declare namespace TimePresets {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { TimePicker } from './TimePicker';
|
|
2
|
+
export { getTimeRange } from './utils/get-time-range/get-time-range';
|
|
3
|
+
export type { TimePickerCssVariables, TimePickerFactory, TimePickerProps, TimePickerStylesNames, } from './TimePicker';
|
|
4
|
+
export type { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit, TimePickerPresets, } from './TimePicker.types';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit } from './TimePicker.types';
|
|
2
|
+
interface UseTimePickerInput {
|
|
3
|
+
value: string | undefined;
|
|
4
|
+
defaultValue: string | undefined;
|
|
5
|
+
onChange: ((value: string) => void) | undefined;
|
|
6
|
+
format: TimePickerFormat;
|
|
7
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
8
|
+
withSeconds: boolean | undefined;
|
|
9
|
+
min: string | undefined;
|
|
10
|
+
max: string | undefined;
|
|
11
|
+
readOnly: boolean | undefined;
|
|
12
|
+
disabled: boolean | undefined;
|
|
13
|
+
clearable: boolean | undefined;
|
|
14
|
+
pasteSplit: TimePickerPasteSplit | undefined;
|
|
15
|
+
}
|
|
16
|
+
export declare function useTimePicker({ value, defaultValue, onChange, format, amPmLabels, withSeconds, min, max, clearable, readOnly, disabled, pasteSplit, }: UseTimePickerInput): {
|
|
17
|
+
refs: {
|
|
18
|
+
hours: import("react").RefObject<HTMLInputElement | null>;
|
|
19
|
+
minutes: import("react").RefObject<HTMLInputElement | null>;
|
|
20
|
+
seconds: import("react").RefObject<HTMLInputElement | null>;
|
|
21
|
+
amPm: import("react").RefObject<HTMLSelectElement | null>;
|
|
22
|
+
};
|
|
23
|
+
values: {
|
|
24
|
+
hours: number | null;
|
|
25
|
+
minutes: number | null;
|
|
26
|
+
seconds: number | null;
|
|
27
|
+
amPm: string | null;
|
|
28
|
+
};
|
|
29
|
+
setHours: (value: number | null) => void;
|
|
30
|
+
setMinutes: (value: number | null) => void;
|
|
31
|
+
setSeconds: (value: number | null) => void;
|
|
32
|
+
setAmPm: (value: string | null) => void;
|
|
33
|
+
focus: (field: "hours" | "minutes" | "seconds" | "amPm") => void;
|
|
34
|
+
clear: () => void;
|
|
35
|
+
onPaste: (event: React.ClipboardEvent<any>) => void;
|
|
36
|
+
setTimeString: (timeString: string) => void;
|
|
37
|
+
isClearable: boolean | undefined;
|
|
38
|
+
hiddenInputValue: string;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';
|
|
2
|
+
interface GetParsedTimeInput {
|
|
3
|
+
time: string;
|
|
4
|
+
format: TimePickerFormat;
|
|
5
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
6
|
+
}
|
|
7
|
+
interface ConvertTimeTo12HourFormatInput {
|
|
8
|
+
hours: number | null;
|
|
9
|
+
minutes: number | null;
|
|
10
|
+
seconds: number | null;
|
|
11
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
12
|
+
}
|
|
13
|
+
export declare function convertTimeTo12HourFormat({ hours, minutes, seconds, amPmLabels, }: ConvertTimeTo12HourFormatInput): {
|
|
14
|
+
hours: null;
|
|
15
|
+
minutes: null;
|
|
16
|
+
seconds: null;
|
|
17
|
+
amPm: null;
|
|
18
|
+
} | {
|
|
19
|
+
hours: number;
|
|
20
|
+
minutes: number | null;
|
|
21
|
+
seconds: number | null;
|
|
22
|
+
amPm: string;
|
|
23
|
+
};
|
|
24
|
+
export declare function getParsedTime({ time, format, amPmLabels }: GetParsedTimeInput): {
|
|
25
|
+
hours: number;
|
|
26
|
+
minutes: number | null;
|
|
27
|
+
seconds: number | null;
|
|
28
|
+
amPm: string;
|
|
29
|
+
} | {
|
|
30
|
+
amPm: null;
|
|
31
|
+
hours: number | null;
|
|
32
|
+
minutes: number | null;
|
|
33
|
+
seconds: number | null;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';
|
|
2
|
+
interface GetTimeStringInput {
|
|
3
|
+
hours: number | null;
|
|
4
|
+
minutes: number | null;
|
|
5
|
+
seconds: number | null;
|
|
6
|
+
format: TimePickerFormat;
|
|
7
|
+
withSeconds: boolean;
|
|
8
|
+
amPm: string | null;
|
|
9
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
10
|
+
}
|
|
11
|
+
export declare function getTimeString({ hours, minutes, seconds, format, withSeconds, amPm, amPmLabels, }: GetTimeStringInput): {
|
|
12
|
+
valid: boolean;
|
|
13
|
+
value: string;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function padTime(value: number): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';
|
|
2
|
+
export interface TimeValueProps {
|
|
3
|
+
/** Time to format */
|
|
4
|
+
value: string | Date;
|
|
5
|
+
/** Time format, `'24h'` by default */
|
|
6
|
+
format?: TimePickerFormat;
|
|
7
|
+
/** AM/PM labels, `{ am: 'AM', pm: 'PM' }` by default */
|
|
8
|
+
amPmLabels?: TimePickerAmPmLabels;
|
|
9
|
+
/** Determines whether seconds should be displayed, `false` by default */
|
|
10
|
+
withSeconds?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function TimeValue({ value, format, amPmLabels, withSeconds, }: TimeValueProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare namespace TimeValue {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker';
|
|
2
|
+
export interface GetFormattedTimeInput {
|
|
3
|
+
value: string | Date;
|
|
4
|
+
format: TimePickerFormat;
|
|
5
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
6
|
+
withSeconds: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function getFormattedTime({ value, format, amPmLabels, withSeconds, }: GetFormattedTimeInput): string | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxProps, ElementProps, Factory, MantineSize, StylesApiProps } from '@mantine/core';
|
|
2
|
-
import type { DayOfWeek } from '../../types';
|
|
2
|
+
import type { DateLabelFormat, DayOfWeek } from '../../types';
|
|
3
3
|
export type WeekdaysRowStylesNames = 'weekday' | 'weekdaysRow';
|
|
4
4
|
export type WeekdaysRowCssVariables = {
|
|
5
5
|
weekdaysRow: '--wr-fz' | '--wr-spacing';
|
|
@@ -8,15 +8,15 @@ export interface WeekdaysRowProps extends BoxProps, StylesApiProps<WeekdaysRowFa
|
|
|
8
8
|
__staticSelector?: string;
|
|
9
9
|
/** Controls size */
|
|
10
10
|
size?: MantineSize;
|
|
11
|
-
/**
|
|
11
|
+
/** dayjs locale */
|
|
12
12
|
locale?: string;
|
|
13
|
-
/** Number 0-6, 0 – Sunday, 6 – Saturday,
|
|
13
|
+
/** Number 0-6, 0 – Sunday, 6 – Saturday, `1` – Monday by default */
|
|
14
14
|
firstDayOfWeek?: DayOfWeek;
|
|
15
|
-
/**
|
|
16
|
-
weekdayFormat?:
|
|
17
|
-
/**
|
|
15
|
+
/** dayjs format to get weekday name, `'dd'` by default */
|
|
16
|
+
weekdayFormat?: DateLabelFormat;
|
|
17
|
+
/** Sets cell type that is used for weekdays, `'th'` by default */
|
|
18
18
|
cellComponent?: 'td' | 'th';
|
|
19
|
-
/**
|
|
19
|
+
/** If set, heading for week numbers is displayed */
|
|
20
20
|
withWeekNumbers?: boolean;
|
|
21
21
|
}
|
|
22
22
|
export type WeekdaysRowFactory = Factory<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { DayOfWeek } from '../../../types';
|
|
1
|
+
import type { DateLabelFormat, DayOfWeek } from '../../../types';
|
|
2
2
|
interface GetWeekdaysNamesInput {
|
|
3
3
|
locale: string;
|
|
4
|
-
format?:
|
|
4
|
+
format?: DateLabelFormat;
|
|
5
5
|
firstDayOfWeek?: DayOfWeek;
|
|
6
6
|
}
|
|
7
7
|
export declare function getWeekdayNames({ locale, format, firstDayOfWeek, }: GetWeekdaysNamesInput): import("react").ReactNode[];
|