@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,156 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
inRange: isDateInRange(date),
|
|
112
|
-
firstInRange: isFirstInRange(date),
|
|
113
|
-
lastInRange: isLastInRange(date),
|
|
114
|
-
"data-autofocus": !!_value[0] && dayjs__default.default(_value[0]).isSame(date, level) || void 0
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
if (type === "multiple") {
|
|
118
|
-
return {
|
|
119
|
-
selected: _value.some(
|
|
120
|
-
(selection) => selection && dayjs__default.default(selection).isSame(date, level)
|
|
121
|
-
),
|
|
122
|
-
"data-autofocus": !!_value[0] && dayjs__default.default(_value[0]).isSame(date, level) || void 0
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
const selected = dayjs__default.default(_value).isSame(date, level);
|
|
126
|
-
return { selected, "data-autofocus": selected || void 0 };
|
|
127
|
-
};
|
|
128
|
-
const onHoveredDateChange = type === "range" && pickedDate ? setHoveredDate : () => {
|
|
129
|
-
};
|
|
130
|
-
react.useEffect(() => {
|
|
131
|
-
if (type !== "range") {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
if (_value[0] && !_value[1]) {
|
|
135
|
-
setPickedDate(_value[0]);
|
|
136
|
-
} else {
|
|
137
|
-
const isNeitherSelected = _value[0] == null && _value[1] == null;
|
|
138
|
-
const isBothSelected = _value[0] != null && _value[1] != null;
|
|
139
|
-
if (isNeitherSelected || isBothSelected) {
|
|
140
|
-
setPickedDate(null);
|
|
141
|
-
setHoveredDate(null);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}, [_value]);
|
|
145
|
-
return {
|
|
146
|
-
onDateChange,
|
|
147
|
-
onRootMouseLeave,
|
|
148
|
-
onHoveredDateChange,
|
|
149
|
-
getControlProps,
|
|
150
|
-
_value,
|
|
151
|
-
setValue
|
|
152
|
-
};
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_use_uncontrolled_dates = require("../use-uncontrolled-dates/use-uncontrolled-dates.cjs");
|
|
4
|
+
const require_is_in_range = require("./is-in-range/is-in-range.cjs");
|
|
5
|
+
let dayjs = require("dayjs");
|
|
6
|
+
dayjs = require_runtime.__toESM(dayjs);
|
|
7
|
+
let react = require("react");
|
|
8
|
+
//#region packages/@mantine/dates/src/hooks/use-dates-state/use-dates-state.ts
|
|
9
|
+
function useDatesState({ type, level, value, defaultValue, onChange, allowSingleDateInRange, allowDeselect, onMouseLeave }) {
|
|
10
|
+
const [_value, setValue] = require_use_uncontrolled_dates.useUncontrolledDates({
|
|
11
|
+
type,
|
|
12
|
+
value,
|
|
13
|
+
defaultValue,
|
|
14
|
+
onChange
|
|
15
|
+
});
|
|
16
|
+
const [pickedDate, setPickedDate] = (0, react.useState)(type === "range" ? _value[0] && !_value[1] ? _value[0] : null : null);
|
|
17
|
+
const [hoveredDate, setHoveredDate] = (0, react.useState)(null);
|
|
18
|
+
const onDateChange = (date) => {
|
|
19
|
+
if (type === "range") {
|
|
20
|
+
if (pickedDate && !_value[1]) {
|
|
21
|
+
if ((0, dayjs.default)(date).isSame(pickedDate, level) && !allowSingleDateInRange) {
|
|
22
|
+
setPickedDate(null);
|
|
23
|
+
setHoveredDate(null);
|
|
24
|
+
setValue([null, null]);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const result = [date, pickedDate];
|
|
28
|
+
result.sort((a, b) => (0, dayjs.default)(a).isAfter((0, dayjs.default)(b)) ? 1 : -1);
|
|
29
|
+
setValue(result);
|
|
30
|
+
setHoveredDate(null);
|
|
31
|
+
setPickedDate(null);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (_value[0] && !_value[1] && (0, dayjs.default)(date).isSame(_value[0], level) && !allowSingleDateInRange) {
|
|
35
|
+
setPickedDate(null);
|
|
36
|
+
setHoveredDate(null);
|
|
37
|
+
setValue([null, null]);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
setValue([date, null]);
|
|
41
|
+
setHoveredDate(null);
|
|
42
|
+
setPickedDate(date);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (type === "multiple") {
|
|
46
|
+
if (_value.some((selected) => (0, dayjs.default)(selected).isSame(date, level))) setValue(_value.filter((selected) => !(0, dayjs.default)(selected).isSame(date, level)));
|
|
47
|
+
else setValue([..._value, date]);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (_value && allowDeselect && (0, dayjs.default)(date).isSame(_value, level)) setValue(null);
|
|
51
|
+
else setValue(date);
|
|
52
|
+
};
|
|
53
|
+
const isDateInRange = (date) => {
|
|
54
|
+
if (pickedDate && hoveredDate) return require_is_in_range.isInRange(date, [hoveredDate, pickedDate]);
|
|
55
|
+
if (_value[0] && _value[1]) return require_is_in_range.isInRange(date, _value);
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
58
|
+
const onRootMouseLeave = type === "range" ? (event) => {
|
|
59
|
+
onMouseLeave?.(event);
|
|
60
|
+
setHoveredDate(null);
|
|
61
|
+
} : onMouseLeave;
|
|
62
|
+
const isFirstInRange = (date) => {
|
|
63
|
+
if (!_value[0]) return false;
|
|
64
|
+
if ((0, dayjs.default)(date).isSame(_value[0], level)) return !(hoveredDate && (0, dayjs.default)(hoveredDate).isBefore(_value[0]));
|
|
65
|
+
return false;
|
|
66
|
+
};
|
|
67
|
+
const isLastInRange = (date) => {
|
|
68
|
+
if (_value[1]) return (0, dayjs.default)(date).isSame(_value[1], level);
|
|
69
|
+
if (!_value[0] || !hoveredDate) return false;
|
|
70
|
+
return (0, dayjs.default)(hoveredDate).isBefore(_value[0]) && (0, dayjs.default)(date).isSame(_value[0], level);
|
|
71
|
+
};
|
|
72
|
+
const getControlProps = (date) => {
|
|
73
|
+
if (type === "range") return {
|
|
74
|
+
selected: _value.some((selection) => selection && (0, dayjs.default)(selection).isSame(date, level)),
|
|
75
|
+
inRange: isDateInRange(date),
|
|
76
|
+
firstInRange: isFirstInRange(date),
|
|
77
|
+
lastInRange: isLastInRange(date),
|
|
78
|
+
"data-autofocus": !!_value[0] && (0, dayjs.default)(_value[0]).isSame(date, level) || void 0
|
|
79
|
+
};
|
|
80
|
+
if (type === "multiple") return {
|
|
81
|
+
selected: _value.some((selection) => selection && (0, dayjs.default)(selection).isSame(date, level)),
|
|
82
|
+
"data-autofocus": !!_value[0] && (0, dayjs.default)(_value[0]).isSame(date, level) || void 0
|
|
83
|
+
};
|
|
84
|
+
const selected = (0, dayjs.default)(_value).isSame(date, level);
|
|
85
|
+
return {
|
|
86
|
+
selected,
|
|
87
|
+
"data-autofocus": selected || void 0
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
const onHoveredDateChange = type === "range" && pickedDate ? setHoveredDate : () => {};
|
|
91
|
+
(0, react.useEffect)(() => {
|
|
92
|
+
if (type !== "range") return;
|
|
93
|
+
if (_value[0] && !_value[1]) setPickedDate(_value[0]);
|
|
94
|
+
else {
|
|
95
|
+
const isNeitherSelected = _value[0] == null && _value[1] == null;
|
|
96
|
+
const isBothSelected = _value[0] != null && _value[1] != null;
|
|
97
|
+
if (isNeitherSelected || isBothSelected) {
|
|
98
|
+
setPickedDate(null);
|
|
99
|
+
setHoveredDate(null);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}, [_value]);
|
|
103
|
+
return {
|
|
104
|
+
onDateChange,
|
|
105
|
+
onRootMouseLeave,
|
|
106
|
+
onHoveredDateChange,
|
|
107
|
+
getControlProps,
|
|
108
|
+
_value,
|
|
109
|
+
setValue
|
|
110
|
+
};
|
|
153
111
|
}
|
|
154
|
-
|
|
112
|
+
//#endregion
|
|
155
113
|
exports.useDatesState = useDatesState;
|
|
156
|
-
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=use-dates-state.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dates-state.cjs","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { DatePickerType, DateStringValue, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<\n Type extends DatePickerType = 'default',\n> extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const [pickedDate, setPickedDate] = useState<DateStringValue | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<DateStringValue | null>(null);\n\n const onDateChange = (date: DateStringValue) => {\n if (type === 'range') {\n if (pickedDate && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [DateStringValue, DateStringValue] = [date, pickedDate];\n result.sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: DateStringValue) => {\n if (pickedDate && hoveredDate) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] && _value[1]) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: DateStringValue) => {\n if (!_value[0]) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: DateStringValue) => {\n if (_value[1]) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!_value[0] || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: DateStringValue) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type !== 'range') {\n return;\n }\n\n if (_value[0] && !_value[1]) {\n setPickedDate(_value[0]);\n } else {\n const isNeitherSelected = _value[0] == null && _value[1] == null;\n const isBothSelected = _value[0] != null && _value[1] != null;\n if (isNeitherSelected || isBothSelected) {\n setPickedDate(null);\n setHoveredDate(null);\n }\n }\n }, [_value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":["useUncontrolledDates","useState","dayjs","isInRange","useEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-dates-state.cjs","names":["useUncontrolledDates","isInRange"],"sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { DatePickerType, DateStringValue, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<\n Type extends DatePickerType = 'default',\n> extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const [pickedDate, setPickedDate] = useState<DateStringValue | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<DateStringValue | null>(null);\n\n const onDateChange = (date: DateStringValue) => {\n if (type === 'range') {\n if (pickedDate && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [DateStringValue, DateStringValue] = [date, pickedDate];\n result.sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: DateStringValue) => {\n if (pickedDate && hoveredDate) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] && _value[1]) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: DateStringValue) => {\n if (!_value[0]) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: DateStringValue) => {\n if (_value[1]) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!_value[0] || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: DateStringValue) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type !== 'range') {\n return;\n }\n\n if (_value[0] && !_value[1]) {\n setPickedDate(_value[0]);\n } else {\n const isNeitherSelected = _value[0] == null && _value[1] == null;\n const isBothSelected = _value[0] != null && _value[1] != null;\n if (isNeitherSelected || isBothSelected) {\n setPickedDate(null);\n setHoveredDate(null);\n }\n }\n }, [_value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,41 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var toDateString = require('../../utils/to-date-string/to-date-string.cjs');
|
|
8
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_to_date_string = require("../../utils/to-date-string/to-date-string.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let _mantine_hooks = require("@mantine/hooks");
|
|
6
|
+
//#region packages/@mantine/dates/src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts
|
|
9
7
|
const getEmptyValue = (type) => type === "range" ? [null, null] : type === "multiple" ? [] : null;
|
|
10
8
|
const convertDatesValue = (value, withTime) => {
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const converter = withTime ? require_to_date_string.toDateTimeString : require_to_date_string.toDateString;
|
|
10
|
+
return Array.isArray(value) ? value.map(converter) : converter(value);
|
|
13
11
|
};
|
|
14
|
-
function useUncontrolledDates({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
return [_finalValue, _setValue, controlled];
|
|
12
|
+
function useUncontrolledDates({ type, value, defaultValue, onChange, withTime = false }) {
|
|
13
|
+
const storedType = (0, react.useRef)(type);
|
|
14
|
+
const [_value, _setValue, controlled] = (0, _mantine_hooks.useUncontrolled)({
|
|
15
|
+
value: convertDatesValue(value, withTime),
|
|
16
|
+
defaultValue: convertDatesValue(defaultValue, withTime),
|
|
17
|
+
finalValue: getEmptyValue(type),
|
|
18
|
+
onChange
|
|
19
|
+
});
|
|
20
|
+
let _finalValue = _value;
|
|
21
|
+
if (storedType.current !== type) {
|
|
22
|
+
storedType.current = type;
|
|
23
|
+
if (value === void 0) {
|
|
24
|
+
_finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);
|
|
25
|
+
_setValue(_finalValue);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return [
|
|
29
|
+
_finalValue,
|
|
30
|
+
_setValue,
|
|
31
|
+
controlled
|
|
32
|
+
];
|
|
37
33
|
}
|
|
38
|
-
|
|
39
|
-
exports.convertDatesValue = convertDatesValue;
|
|
34
|
+
//#endregion
|
|
40
35
|
exports.useUncontrolledDates = useUncontrolledDates;
|
|
41
|
-
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=use-uncontrolled-dates.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-uncontrolled-dates.cjs","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\nimport { toDateString, toDateTimeString } from '../../utils';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type, DateStringValue>) => void) | undefined;\n withTime?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport const convertDatesValue = (value: any, withTime: boolean) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange,\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n storedType.current = type;\n\n if (value === undefined) {\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-uncontrolled-dates.cjs","names":["toDateTimeString","toDateString"],"sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\nimport { toDateString, toDateTimeString } from '../../utils';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type, DateStringValue>) => void) | undefined;\n withTime?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport const convertDatesValue = (value: any, withTime: boolean) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange,\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n storedType.current = type;\n\n if (value === undefined) {\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"mappings":";;;;;;AAaA,MAAM,iBAA0D,SAC9D,SAAS,UAAU,CAAC,MAAM,KAAK,GAAG,SAAS,aAAa,EAAE,GAAG;AAE/D,MAAa,qBAAqB,OAAY,aAAsB;CAClE,MAAM,YAAY,WAAWA,uBAAAA,mBAAmBC,uBAAAA;AAChD,QAAO,MAAM,QAAQ,MAAM,GAAG,MAAM,IAAI,UAAU,GAAG,UAAU,MAAM;;AAGvE,SAAgB,qBAA8D,EAC5E,MACA,OACA,cACA,UACA,WAAW,SACkB;CAC7B,MAAM,cAAA,GAAA,MAAA,QAA0B,KAAK;CACrC,MAAM,CAAC,QAAQ,WAAW,eAAA,GAAA,eAAA,iBAAmC;EAC3D,OAAO,kBAAkB,OAAO,SAAS;EACzC,cAAc,kBAAkB,cAAc,SAAS;EACvD,YAAY,cAAc,KAAK;EAC/B;EACD,CAAC;CAEF,IAAI,cAAc;AAElB,KAAI,WAAW,YAAY,MAAM;AAC/B,aAAW,UAAU;AAErB,MAAI,UAAU,KAAA,GAAW;AACvB,iBAAc,iBAAiB,KAAA,IAAY,eAAe,cAAc,KAAK;AAC7E,aAAU,YAAY;;;AAI1B,QAAO;EAAC;EAAa;EAAW;EAAW"}
|