@elliemae/ds-form-date-time-picker 3.4.3-rc.0 → 3.4.4-next.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/dist/cjs/ControlledDateTimePicker.js +9 -5
- package/dist/cjs/ControlledDateTimePicker.js.map +1 -1
- package/dist/cjs/ControlledDateTimePickerCTX.js +4 -1
- package/dist/cjs/ControlledDateTimePickerCTX.js.map +1 -1
- package/dist/cjs/ControlledDateTimePickerDatatestid.js +4 -1
- package/dist/cjs/ControlledDateTimePickerDatatestid.js.map +1 -1
- package/dist/cjs/ControlledDateTimePickerTypes.js +4 -1
- package/dist/cjs/ControlledDateTimePickerTypes.js.map +1 -1
- package/dist/cjs/config/useChangeHandlers.js +261 -219
- package/dist/cjs/config/useChangeHandlers.js.map +1 -1
- package/dist/cjs/config/useControlledDateTimePicker.js +34 -28
- package/dist/cjs/config/useControlledDateTimePicker.js.map +2 -2
- package/dist/cjs/config/useFocusTracker.js +130 -124
- package/dist/cjs/config/useFocusTracker.js.map +1 -1
- package/dist/cjs/config/useGetDestructuredValues.js +50 -38
- package/dist/cjs/config/useGetDestructuredValues.js.map +1 -1
- package/dist/cjs/config/useGetFlags.js +16 -5
- package/dist/cjs/config/useGetFlags.js.map +2 -2
- package/dist/cjs/config/useGetPropsBasedOnType.js +60 -54
- package/dist/cjs/config/useGetPropsBasedOnType.js.map +1 -1
- package/dist/cjs/config/useGetPropsWithDefault.js +4 -1
- package/dist/cjs/config/useGetPropsWithDefault.js.map +1 -1
- package/dist/cjs/config/useGetReferences.js +35 -29
- package/dist/cjs/config/useGetReferences.js.map +1 -1
- package/dist/cjs/config/useGlobalKeyHandlers.js +63 -51
- package/dist/cjs/config/useGlobalKeyHandlers.js.map +1 -1
- package/dist/cjs/config/useRelevantValueFromProps.js +15 -9
- package/dist/cjs/config/useRelevantValueFromProps.js.map +1 -1
- package/dist/cjs/config/useValidateProps.js +33 -14
- package/dist/cjs/config/useValidateProps.js.map +1 -1
- package/dist/cjs/exported-related/theming.js +4 -1
- package/dist/cjs/exported-related/theming.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/parts/ClearButton/ClearButton.js +12 -7
- package/dist/cjs/parts/ClearButton/ClearButton.js.map +1 -1
- package/dist/cjs/parts/ClearButton/useClearButton.js +45 -33
- package/dist/cjs/parts/ClearButton/useClearButton.js.map +1 -1
- package/dist/cjs/parts/ControlledDateTimePickerContent.js +31 -16
- package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/cjs/parts/DateInputs/DDInput.js +42 -33
- package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
- package/dist/cjs/parts/DateInputs/DateInputs.js +63 -42
- package/dist/cjs/parts/DateInputs/DateInputs.js.map +2 -2
- package/dist/cjs/parts/DateInputs/MMInput.js +56 -35
- package/dist/cjs/parts/DateInputs/MMInput.js.map +3 -3
- package/dist/cjs/parts/DateInputs/YYYYInput.js +42 -33
- package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
- package/dist/cjs/parts/DateInputs/useDateInputs.js +296 -254
- package/dist/cjs/parts/DateInputs/useDateInputs.js.map +2 -2
- package/dist/cjs/parts/Pickers/Calendar/Calendar.js +24 -9
- package/dist/cjs/parts/Pickers/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js +14 -4
- package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js.map +2 -2
- package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +18 -7
- package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarContext.js +4 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js +35 -27
- package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js.map +2 -2
- package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +10 -5
- package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +112 -83
- package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +21 -13
- package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
- package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js +55 -34
- package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js.map +2 -2
- package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +11 -6
- package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/Day.js +73 -58
- package/dist/cjs/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/Styleds.js +4 -1
- package/dist/cjs/parts/Pickers/Calendar/Styleds.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js +29 -23
- package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +38 -26
- package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js +34 -18
- package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js +190 -166
- package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js +33 -21
- package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +22 -8
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +14 -5
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +7 -2
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +10 -5
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +27 -19
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +11 -6
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js +4 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +67 -52
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
- package/dist/cjs/parts/Pickers/PickersIcons.js +13 -4
- package/dist/cjs/parts/Pickers/PickersIcons.js.map +2 -2
- package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +90 -72
- package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +102 -76
- package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +87 -69
- package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js +4 -1
- package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js +24 -9
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +35 -6
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +10 -5
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +21 -13
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +11 -6
- package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +12 -6
- package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +99 -61
- package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js +163 -145
- package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +42 -30
- package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
- package/dist/cjs/parts/Styleds.js +4 -1
- package/dist/cjs/parts/Styleds.js.map +1 -1
- package/dist/cjs/parts/TimeInputs/HHInput.js +44 -35
- package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
- package/dist/cjs/parts/TimeInputs/MeridiemInput.js +42 -33
- package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
- package/dist/cjs/parts/TimeInputs/MinutesInput.js +42 -33
- package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
- package/dist/cjs/parts/TimeInputs/TimeInputs.js +60 -40
- package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/dist/cjs/parts/TimeInputs/useTimeInputs.js +234 -201
- package/dist/cjs/parts/TimeInputs/useTimeInputs.js.map +1 -1
- package/dist/cjs/parts/config.js +4 -1
- package/dist/cjs/parts/config.js.map +1 -1
- package/dist/cjs/propTypes.js +19 -6
- package/dist/cjs/propTypes.js.map +2 -2
- package/dist/cjs/sharedTypes.js +4 -1
- package/dist/cjs/sharedTypes.js.map +2 -2
- package/dist/cjs/utils/constants.js +4 -1
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/dateHelpers.js +15 -10
- package/dist/cjs/utils/dateHelpers.js.map +1 -1
- package/dist/cjs/utils/dateTimeHelpers.js +4 -1
- package/dist/cjs/utils/dateTimeHelpers.js.map +1 -1
- package/dist/cjs/utils/hooks/useGetDayFromDateString.js +4 -1
- package/dist/cjs/utils/hooks/useGetDayFromDateString.js.map +1 -1
- package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +4 -1
- package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
- package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js +9 -2
- package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
- package/dist/cjs/utils/hooks/useOnClickOutside.js +4 -1
- package/dist/cjs/utils/hooks/useOnClickOutside.js.map +1 -1
- package/dist/cjs/utils/numberHelpers.js +4 -1
- package/dist/cjs/utils/numberHelpers.js.map +1 -1
- package/dist/cjs/utils/stringHelpers.js +4 -1
- package/dist/cjs/utils/stringHelpers.js.map +1 -1
- package/dist/cjs/utils/timeHelpers.js +4 -1
- package/dist/cjs/utils/timeHelpers.js.map +1 -1
- package/dist/cjs/utils/typeGuards.js +4 -1
- package/dist/cjs/utils/typeGuards.js.map +1 -1
- package/dist/esm/ControlledDateTimePicker.js +5 -4
- package/dist/esm/ControlledDateTimePicker.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerCTX.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerDatatestid.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerTypes.js.map +1 -1
- package/dist/esm/config/useChangeHandlers.js +257 -218
- package/dist/esm/config/useChangeHandlers.js.map +1 -1
- package/dist/esm/config/useControlledDateTimePicker.js +30 -27
- package/dist/esm/config/useControlledDateTimePicker.js.map +2 -2
- package/dist/esm/config/useFocusTracker.js +126 -123
- package/dist/esm/config/useFocusTracker.js.map +1 -1
- package/dist/esm/config/useGetDestructuredValues.js +46 -37
- package/dist/esm/config/useGetDestructuredValues.js.map +1 -1
- package/dist/esm/config/useGetFlags.js +12 -4
- package/dist/esm/config/useGetFlags.js.map +2 -2
- package/dist/esm/config/useGetPropsBasedOnType.js +56 -53
- package/dist/esm/config/useGetPropsBasedOnType.js.map +1 -1
- package/dist/esm/config/useGetPropsWithDefault.js.map +1 -1
- package/dist/esm/config/useGetReferences.js +31 -28
- package/dist/esm/config/useGetReferences.js.map +1 -1
- package/dist/esm/config/useGlobalKeyHandlers.js +59 -50
- package/dist/esm/config/useGlobalKeyHandlers.js.map +1 -1
- package/dist/esm/config/useRelevantValueFromProps.js +11 -8
- package/dist/esm/config/useRelevantValueFromProps.js.map +1 -1
- package/dist/esm/config/useValidateProps.js +29 -13
- package/dist/esm/config/useValidateProps.js.map +1 -1
- package/dist/esm/exported-related/theming.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parts/ClearButton/ClearButton.js +8 -6
- package/dist/esm/parts/ClearButton/ClearButton.js.map +1 -1
- package/dist/esm/parts/ClearButton/useClearButton.js +41 -32
- package/dist/esm/parts/ClearButton/useClearButton.js.map +1 -1
- package/dist/esm/parts/ControlledDateTimePickerContent.js +27 -15
- package/dist/esm/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/esm/parts/DateInputs/DDInput.js +38 -32
- package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
- package/dist/esm/parts/DateInputs/DateInputs.js +59 -41
- package/dist/esm/parts/DateInputs/DateInputs.js.map +2 -2
- package/dist/esm/parts/DateInputs/MMInput.js +53 -35
- package/dist/esm/parts/DateInputs/MMInput.js.map +3 -3
- package/dist/esm/parts/DateInputs/YYYYInput.js +38 -32
- package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
- package/dist/esm/parts/DateInputs/useDateInputs.js +292 -253
- package/dist/esm/parts/DateInputs/useDateInputs.js.map +2 -2
- package/dist/esm/parts/Pickers/Calendar/Calendar.js +20 -8
- package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js +10 -3
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js.map +2 -2
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +14 -6
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js +31 -26
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js.map +2 -2
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +6 -4
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +108 -82
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +17 -12
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js +3 -2
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js +51 -33
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js.map +2 -2
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +7 -5
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Day.js +69 -57
- package/dist/esm/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js +25 -22
- package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +34 -25
- package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js +30 -17
- package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js +186 -165
- package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js +29 -20
- package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +18 -7
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +10 -4
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +6 -4
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +23 -18
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -5
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +63 -51
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/PickersIcons.js +9 -3
- package/dist/esm/parts/Pickers/PickersIcons.js.map +2 -2
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +86 -71
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +98 -75
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +83 -68
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js +20 -8
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +31 -5
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +6 -4
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +17 -12
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -5
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +8 -5
- package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +95 -60
- package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js +159 -144
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +38 -29
- package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
- package/dist/esm/parts/Styleds.js.map +1 -1
- package/dist/esm/parts/TimeInputs/HHInput.js +40 -34
- package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
- package/dist/esm/parts/TimeInputs/MeridiemInput.js +38 -32
- package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
- package/dist/esm/parts/TimeInputs/MinutesInput.js +38 -32
- package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
- package/dist/esm/parts/TimeInputs/TimeInputs.js +56 -39
- package/dist/esm/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/dist/esm/parts/TimeInputs/useTimeInputs.js +230 -200
- package/dist/esm/parts/TimeInputs/useTimeInputs.js.map +1 -1
- package/dist/esm/parts/config.js.map +1 -1
- package/dist/esm/propTypes.js +15 -5
- package/dist/esm/propTypes.js.map +2 -2
- package/dist/esm/sharedTypes.js.map +1 -1
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/dateHelpers.js +11 -9
- package/dist/esm/utils/dateHelpers.js.map +1 -1
- package/dist/esm/utils/dateTimeHelpers.js.map +1 -1
- package/dist/esm/utils/hooks/useGetDayFromDateString.js.map +1 -1
- package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
- package/dist/esm/utils/hooks/useGetStartingFocusedDay.js +5 -1
- package/dist/esm/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
- package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
- package/dist/esm/utils/numberHelpers.js.map +1 -1
- package/dist/esm/utils/stringHelpers.js.map +1 -1
- package/dist/esm/utils/timeHelpers.js.map +1 -1
- package/dist/esm/utils/typeGuards.js.map +1 -1
- package/package.json +8 -8
|
@@ -41,26 +41,35 @@ const usePopperTriggerLogic = ({
|
|
|
41
41
|
else
|
|
42
42
|
closeCalendar();
|
|
43
43
|
}, [closeCalendar, openCalendar, showCalendar]);
|
|
44
|
-
const handleSetTriggerRef = useCallback(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
44
|
+
const handleSetTriggerRef = useCallback(
|
|
45
|
+
(newRef) => {
|
|
46
|
+
pickerButtonRef.current = newRef;
|
|
47
|
+
setReferenceElement(newRef);
|
|
48
|
+
if (latestInteractionRegion === "picker-icon" && currFocusDescriber === "date-picker-icon")
|
|
49
|
+
newRef?.focus();
|
|
50
|
+
},
|
|
51
|
+
[currFocusDescriber, latestInteractionRegion, pickerButtonRef]
|
|
52
|
+
);
|
|
53
|
+
const handleMenuWrapperKeyDown = useCallback(
|
|
54
|
+
(e) => {
|
|
55
|
+
const { key } = e;
|
|
56
|
+
if (key === "Escape") {
|
|
57
|
+
closeCalendar();
|
|
58
|
+
trackFocusPicker();
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
[closeCalendar, trackFocusPicker]
|
|
62
|
+
);
|
|
63
|
+
return useMemo(
|
|
64
|
+
() => ({
|
|
65
|
+
referenceElement,
|
|
66
|
+
closeCalendar,
|
|
67
|
+
handleSetTriggerRef,
|
|
68
|
+
handleToggleCalendar,
|
|
69
|
+
handleMenuWrapperKeyDown
|
|
70
|
+
}),
|
|
71
|
+
[closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, referenceElement]
|
|
72
|
+
);
|
|
64
73
|
};
|
|
65
74
|
export {
|
|
66
75
|
usePopperTriggerLogic
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/Calendar/usePopperTriggerLogic.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useState, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useFocusLogic } from './useFocusLogic';\n\ninterface UsePopperTriggerLogic {\n focusLogic: ReturnType<typeof useFocusLogic>;\n showCalendar: boolean;\n setShowCalendar: StateSetter<boolean>;\n}\ninterface PopperTriggerLogicT {\n referenceElement: HTMLButtonElement | null;\n closeCalendar: () => void;\n handleToggleCalendar: () => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport const usePopperTriggerLogic = ({\n focusLogic,\n showCalendar,\n setShowCalendar,\n}: UsePopperTriggerLogic): PopperTriggerLogicT => {\n const { focusedDay, resetFocusedDayToStartDate } = focusLogic;\n const {\n props: { onPickerOpen, onPickerClose },\n pickerButtonRef,\n trackFocusCalendarMetafocusedDay,\n trackFocusCalendarPrevMonth,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n }, [onPickerOpen]);\n const openCalendar = useCallback(() => {\n if (focusedDay) trackFocusCalendarMetafocusedDay();\n else trackFocusCalendarPrevMonth();\n setShowCalendar(true);\n handleOnPickerOpen();\n }, [focusedDay, handleOnPickerOpen, setShowCalendar, trackFocusCalendarMetafocusedDay, trackFocusCalendarPrevMonth]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n trackFocusPicker();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, trackFocusPicker]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'date-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n return useMemo(\n () => ({\n referenceElement,\n closeCalendar,\n handleSetTriggerRef,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, referenceElement],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACGvB,SAAgB,SAAS,aAAa,UAAU,kBAAkB;AAClE,SAAS,uCAAuC;AAezC,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,MAAkD;AAChD,QAAM,EAAE,YAAY,2BAA2B,IAAI;AACnD,QAAM;AAAA,IACJ,OAAO,EAAE,cAAc,cAAc;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAmC,IAAI;AAEvF,QAAM,qBAAqB,YAAY,MAAM;AAC3C,iBAAa;AAAA,EACf,GAAG,CAAC,YAAY,CAAC;AACjB,QAAM,eAAe,YAAY,MAAM;AACrC,QAAI;AAAY,uCAAiC;AAAA;AAC5C,kCAA4B;AACjC,oBAAgB,IAAI;AACpB,uBAAmB;AAAA,EACrB,GAAG,CAAC,YAAY,oBAAoB,iBAAiB,kCAAkC,2BAA2B,CAAC;AAEnH,QAAM,gBAAgB,YAAY,MAAM;AACtC,oBAAgB,KAAK;AACrB,kBAAc;AACd,+BAA2B;AAC3B,qBAAiB;AAAA,EACnB,GAAG,CAAC,iBAAiB,eAAe,4BAA4B,gBAAgB,CAAC;AAEjF,QAAM,uBAAuB,YAAY,MAAM;AAC7C,UAAM,YAAY,CAAC;AACnB,QAAI;AAAW,mBAAa;AAAA;AACvB,oBAAc;AAAA,EACrB,GAAG,CAAC,eAAe,cAAc,YAAY,CAAC;AAE9C,QAAM,sBAAsB;AAAA,IAC1B,CAAC,WAA8B;AAC7B,sBAAgB,UAAU;AAC1B,0BAAoB,MAAM;AAC1B,UAAI,4BAA4B,iBAAiB,uBAAuB;AAAoB,gBAAQ,MAAM;AAAA,IAC5G;AAAA,IACA,CAAC,oBAAoB,yBAAyB,eAAe;AAAA,EAC/D;AACA,QAAM,2BAA2B;AAAA,IAC/B,CAAC,MAAwC;AACvC,YAAM,EAAE,IAAI,IAAI;AAChB,UAAI,QAAQ,UAAU;AACpB,sBAAc;AACd,yBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,eAAe,gBAAgB;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,eAAe,0BAA0B,qBAAqB,sBAAsB,gBAAgB;AAAA,EACvG;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { CalendarWithTimeWheelIconTrigger } from "./CalendarWithTimeWheelIconTrigger";
|
|
4
4
|
import { CalendarWithTimeWheelWrapper } from "./CalendarWithTimeWheelWrapper";
|
|
5
5
|
import { CalendarWithTimeWheelContext } from "./CalendarWithTimeWheelContext";
|
|
@@ -9,13 +9,24 @@ import { WrappedTimeWheelContext } from "../TimeWheel/TimeWheel";
|
|
|
9
9
|
const CalendarWithTimeWheelContent = () => {
|
|
10
10
|
const ctx = useConfigCalendarWithTimeWheelCTX();
|
|
11
11
|
const { showCalendarWithTimeWheel, isControllerOnly, handleMenuWrapperKeyDown } = ctx;
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
value: ctx
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
return /* @__PURE__ */ jsxs(CalendarWithTimeWheelContext.Provider, {
|
|
13
|
+
value: ctx,
|
|
14
|
+
children: [
|
|
15
|
+
isControllerOnly ? null : /* @__PURE__ */ jsx(CalendarWithTimeWheelIconTrigger, {}),
|
|
16
|
+
isControllerOnly || showCalendarWithTimeWheel ? /* @__PURE__ */ jsx(Fragment, {
|
|
17
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
18
|
+
onKeyDown: handleMenuWrapperKeyDown,
|
|
19
|
+
children: /* @__PURE__ */ jsx(CalendarWithTimeWheelWrapper, {})
|
|
20
|
+
})
|
|
21
|
+
}) : null
|
|
22
|
+
]
|
|
23
|
+
});
|
|
17
24
|
};
|
|
18
|
-
const CalendarWithTimeWheel = () => /* @__PURE__ */
|
|
25
|
+
const CalendarWithTimeWheel = () => /* @__PURE__ */ jsx(WrappedCalendarContext, {
|
|
26
|
+
children: /* @__PURE__ */ jsx(WrappedTimeWheelContext, {
|
|
27
|
+
children: /* @__PURE__ */ jsx(CalendarWithTimeWheelContent, {})
|
|
28
|
+
})
|
|
29
|
+
});
|
|
19
30
|
export {
|
|
20
31
|
CalendarWithTimeWheel
|
|
21
32
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-len */\nimport React from 'react';\nimport { CalendarWithTimeWheelIconTrigger } from './CalendarWithTimeWheelIconTrigger';\nimport { CalendarWithTimeWheelWrapper } from './CalendarWithTimeWheelWrapper';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { useConfigCalendarWithTimeWheelCTX } from './useConfigCalendarWithTimeWheelCTX';\nimport { WrappedCalendarContext } from '../Calendar/Calendar';\nimport { WrappedTimeWheelContext } from '../TimeWheel/TimeWheel';\n\nconst CalendarWithTimeWheelContent = () => {\n const ctx = useConfigCalendarWithTimeWheelCTX();\n const { showCalendarWithTimeWheel, isControllerOnly, handleMenuWrapperKeyDown } = ctx;\n\n return (\n <CalendarWithTimeWheelContext.Provider value={ctx}>\n {isControllerOnly ? null : <CalendarWithTimeWheelIconTrigger />}\n {isControllerOnly || showCalendarWithTimeWheel ? (\n <>\n {/* The <div> element is catching the \"ESC\" key to close the calendar, there is no valid aria role for this */}\n {/* https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md#case-the-event-handler-is-only-being-used-to-capture-bubbled-events */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleMenuWrapperKeyDown}>\n <CalendarWithTimeWheelWrapper />\n </div>\n </>\n ) : null}\n </CalendarWithTimeWheelContext.Provider>\n );\n};\n\n// we wrap in context in a separate statement so we can use the useContext and be sure it's correctly initialized\nexport const CalendarWithTimeWheel = () => (\n <WrappedCalendarContext>\n <WrappedTimeWheelContext>\n <CalendarWithTimeWheelContent />\n </WrappedTimeWheelContext>\n </WrappedCalendarContext>\n);\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAS,wCAAwC;AACjD,SAAS,oCAAoC;AAC7C,SAAS,oCAAoC;AAC7C,SAAS,yCAAyC;AAClD,SAAS,8BAA8B;AACvC,SAAS,+BAA+B;AAExC,MAAM,+BAA+B,MAAM;AACzC,QAAM,MAAM,kCAAkC;AAC9C,QAAM,EAAE,2BAA2B,kBAAkB,yBAAyB,IAAI;AAElF,SACE,qBAAC,6BAA6B,UAA7B;AAAA,IAAsC,OAAO;AAAA,IAC3C;AAAA,yBAAmB,OAAO,oBAAC,oCAAiC;AAAA,MAC5D,oBAAoB,4BACnB;AAAA,QAIE,8BAAC;AAAA,UAAI,WAAW;AAAA,UACd,8BAAC,gCAA6B;AAAA,SAChC;AAAA,OACF,IACE;AAAA;AAAA,GACN;AAEJ;AAGO,MAAM,wBAAwB,MACnC,oBAAC;AAAA,EACC,8BAAC;AAAA,IACC,8BAAC,gCAA6B;AAAA,GAChC;AAAA,CACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { ControlledDateTimePickerDatatestid } from "../../../ControlledDateTimePickerDatatestid";
|
|
4
5
|
import { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from "./Styleds";
|
|
5
6
|
import { CalendarWithTimeWheelFooter } from "./CalendarWithTimeWheelFooter";
|
|
@@ -7,10 +8,15 @@ import { TimeWheelContent } from "../TimeWheel/TimeWheelContent";
|
|
|
7
8
|
import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
8
9
|
const CalendarWithTimeWheelContent = () => {
|
|
9
10
|
const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ jsxs(StyledCalendarWithTimeWheelWrapper, {
|
|
11
12
|
isControllerOnly,
|
|
12
|
-
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL
|
|
13
|
-
|
|
13
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL,
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx(StyledCalendar, {}),
|
|
16
|
+
/* @__PURE__ */ jsx(TimeWheelContent, {}),
|
|
17
|
+
/* @__PURE__ */ jsx(CalendarWithTimeWheelFooter, {})
|
|
18
|
+
]
|
|
19
|
+
});
|
|
14
20
|
};
|
|
15
21
|
export {
|
|
16
22
|
CalendarWithTimeWheelContent
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds';\nimport { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter';\nimport { TimeWheelContent } from '../TimeWheel/TimeWheelContent';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelContent = (): JSX.Element => {\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledCalendarWithTimeWheelWrapper\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL}\n >\n <StyledCalendar />\n <TimeWheelContent />\n <CalendarWithTimeWheelFooter />\n </StyledCalendarWithTimeWheelWrapper>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,oCAAoC,sBAAsB;AACnE,SAAS,mCAAmC;AAC5C,SAAS,wBAAwB;AACjC,SAAS,uCAAuC;AAEzC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AACvE,SACE,qBAAC;AAAA,IACC;AAAA,IACA,eAAa,mCAAmC,qBAAqB;AAAA,IAErE;AAAA,0BAAC,kBAAe;AAAA,MAChB,oBAAC,oBAAiB;AAAA,MAClB,oBAAC,+BAA4B;AAAA;AAAA,GAC/B;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { createContext } from "react";
|
|
3
3
|
const defaultCalendarWithTimeWheelContext = {};
|
|
4
|
-
const CalendarWithTimeWheelContext = createContext(
|
|
4
|
+
const CalendarWithTimeWheelContext = createContext(
|
|
5
|
+
defaultCalendarWithTimeWheelContext
|
|
6
|
+
);
|
|
5
7
|
var CalendarWithTimeWheelContext_default = CalendarWithTimeWheelContext;
|
|
6
8
|
export {
|
|
7
9
|
CalendarWithTimeWheelContext,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { createContext } from 'react';\nimport type { CalendarWithTimeWheelContextT } from './useConfigCalendarWithTimeWheelCTX';\nexport const defaultCalendarWithTimeWheelContext = {} as CalendarWithTimeWheelContextT;\n\n/** Context for cross component communication */\nexport const CalendarWithTimeWheelContext = createContext<CalendarWithTimeWheelContextT>(\n defaultCalendarWithTimeWheelContext,\n);\n\nexport default CalendarWithTimeWheelContext;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,qBAAqB;AAEvB,MAAM,sCAAsC,CAAC;AAG7C,MAAM,+BAA+B;AAAA,EAC1C;AACF;AAEA,IAAO,uCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { ControlledDateTimePickerDatatestid } from "../../../ControlledDateTimePickerDatatestid";
|
|
4
5
|
import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
5
6
|
import { CalendarWithTimeWheelFooterMessage } from "./Styleds";
|
|
@@ -7,10 +8,11 @@ const CalendarWithTimeWheelFooter = () => {
|
|
|
7
8
|
const {
|
|
8
9
|
props: { pickerFooterMsg, hasError }
|
|
9
10
|
} = useContext(ControlledDateTimePickerContext);
|
|
10
|
-
return pickerFooterMsg !== void 0 && hasError ? /* @__PURE__ */
|
|
11
|
+
return pickerFooterMsg !== void 0 && hasError ? /* @__PURE__ */ jsx(CalendarWithTimeWheelFooterMessage, {
|
|
11
12
|
role: "alert",
|
|
12
|
-
"data-testid": ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL
|
|
13
|
-
|
|
13
|
+
"data-testid": ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL,
|
|
14
|
+
children: pickerFooterMsg
|
|
15
|
+
}) : null;
|
|
14
16
|
};
|
|
15
17
|
export {
|
|
16
18
|
CalendarWithTimeWheelFooter
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarWithTimeWheelFooterMessage } from './Styleds';\n\nexport const CalendarWithTimeWheelFooter: React.ComponentType = () => {\n const {\n props: { pickerFooterMsg, hasError },\n } = useContext(ControlledDateTimePickerContext);\n return pickerFooterMsg !== undefined && hasError ? (\n <CalendarWithTimeWheelFooterMessage\n role=\"alert\"\n data-testid={ControlledDateTimePickerDatatestid.FOOTERS.CALENDAR_TIMEWHEEL}\n >\n {pickerFooterMsg}\n </CalendarWithTimeWheelFooterMessage>\n ) : null;\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,0CAA0C;AAE5C,MAAM,8BAAmD,MAAM;AACpE,QAAM;AAAA,IACJ,OAAO,EAAE,iBAAiB,SAAS;AAAA,EACrC,IAAI,WAAW,+BAA+B;AAC9C,SAAO,oBAAoB,UAAa,WACtC,oBAAC;AAAA,IACC,MAAK;AAAA,IACL,eAAa,mCAAmC,QAAQ;AAAA,IAEvD;AAAA,GACH,IACE;AACN;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useMemo } from "react";
|
|
3
4
|
import { BUTTON_SIZES } from "@elliemae/ds-button";
|
|
4
5
|
import { DatePicker } from "@elliemae/ds-icons";
|
|
5
6
|
import { CalendarWithTimeWheelContext } from "./CalendarWithTimeWheelContext";
|
|
@@ -13,23 +14,27 @@ const CalendarWithTimeWheelIconTrigger = () => {
|
|
|
13
14
|
ariaCurrentValueForInputs,
|
|
14
15
|
disabled
|
|
15
16
|
} = useContext(CalendarWithTimeWheelContext);
|
|
16
|
-
return useMemo(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
return useMemo(
|
|
18
|
+
() => /* @__PURE__ */ jsx(StyledIconTriggerButton, {
|
|
19
|
+
"aria-label": `date time picker context menu trigger, ${ariaCurrentValueForInputs}`,
|
|
20
|
+
buttonType: "icon",
|
|
21
|
+
type: "button",
|
|
22
|
+
size: BUTTON_SIZES.M,
|
|
23
|
+
innerRef: handleSetTriggerRef,
|
|
24
|
+
onClick: handleToggleCalendarWithTimeWheel,
|
|
25
|
+
onKeyDown: handlePickerIconKeyDown,
|
|
26
|
+
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL,
|
|
27
|
+
disabled,
|
|
28
|
+
children: /* @__PURE__ */ jsx(DatePicker, {})
|
|
29
|
+
}),
|
|
30
|
+
[
|
|
31
|
+
ariaCurrentValueForInputs,
|
|
32
|
+
disabled,
|
|
33
|
+
handlePickerIconKeyDown,
|
|
34
|
+
handleSetTriggerRef,
|
|
35
|
+
handleToggleCalendarWithTimeWheel
|
|
36
|
+
]
|
|
37
|
+
);
|
|
33
38
|
};
|
|
34
39
|
export {
|
|
35
40
|
CalendarWithTimeWheelIconTrigger
|
package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { BUTTON_SIZES } from '@elliemae/ds-button';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { StyledIconTriggerButton } from './Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const CalendarWithTimeWheelIconTrigger = (): JSX.Element => {\n const {\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n handlePickerIconKeyDown,\n ariaCurrentValueForInputs,\n disabled,\n } = useContext(CalendarWithTimeWheelContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`date time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n type=\"button\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleCalendarWithTimeWheel}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL}\n disabled={disabled}\n >\n <DatePicker />\n </StyledIconTriggerButton>\n ),\n [\n ariaCurrentValueForInputs,\n disabled,\n handlePickerIconKeyDown,\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,oCAAoC;AAC7C,SAAS,+BAA+B;AACxC,SAAS,0CAA0C;AAK5C,MAAM,mCAAmC,MAAmB;AACjE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,4BAA4B;AAC3C,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MACC,cAAY,0CAA0C;AAAA,MACtD,YAAW;AAAA,MACX,MAAK;AAAA,MACL,MAAM,aAAa;AAAA,MACnB,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,eAAa,mCAAmC,aAAa;AAAA,MAC7D;AAAA,MAEA,8BAAC,cAAW;AAAA,KACd;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { DSPopperJS } from "@elliemae/ds-popperjs";
|
|
4
5
|
import { ControlledDateTimePickerDatatestid } from "../../../ControlledDateTimePickerDatatestid";
|
|
5
6
|
import { CalendarWithTimeWheelContent } from "./CalendarWithTimeWheelContent";
|
|
@@ -7,14 +8,15 @@ import { CalendarWithTimeWheelContext } from "./CalendarWithTimeWheelContext";
|
|
|
7
8
|
const CalendarWithTimeWheelWrapper = () => {
|
|
8
9
|
const { referenceElement, closeCalendar, isControllerOnly } = useContext(CalendarWithTimeWheelContext);
|
|
9
10
|
if (isControllerOnly)
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ jsx(CalendarWithTimeWheelContent, {});
|
|
12
|
+
return /* @__PURE__ */ jsx(DSPopperJS, {
|
|
12
13
|
showPopover: true,
|
|
13
14
|
"data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL,
|
|
14
15
|
referenceElement,
|
|
15
16
|
withoutArrow: true,
|
|
16
|
-
onClickOutside: closeCalendar
|
|
17
|
-
|
|
17
|
+
onClickOutside: closeCalendar,
|
|
18
|
+
children: /* @__PURE__ */ jsx(CalendarWithTimeWheelContent, {})
|
|
19
|
+
});
|
|
18
20
|
};
|
|
19
21
|
export {
|
|
20
22
|
CalendarWithTimeWheelWrapper
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\n\nexport const CalendarWithTimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeCalendar, isControllerOnly } = useContext(CalendarWithTimeWheelContext);\n if (isControllerOnly) return <CalendarWithTimeWheelContent />;\n\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeCalendar}\n >\n <CalendarWithTimeWheelContent />\n </DSPopperJS>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,0CAA0C;AACnD,SAAS,oCAAoC;AAC7C,SAAS,oCAAoC;AAEtC,MAAM,+BAA+B,MAAmB;AAC7D,QAAM,EAAE,kBAAkB,eAAe,iBAAiB,IAAI,WAAW,4BAA4B;AACrG,MAAI;AAAkB,WAAO,oBAAC,gCAA6B;AAE3D,SACE,oBAAC;AAAA,IACC,aAAW;AAAA,IACX,eAAa,mCAAmC,gBAAgB;AAAA,IAChE;AAAA,IACA,cAAY;AAAA,IACZ,gBAAgB;AAAA,IAEhB,8BAAC,gCAA6B;AAAA,GAChC;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/Styleds.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled } from '@elliemae/ds-system';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { CalendarContent } from '../Calendar/CalendarContent';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../../../exported-related/theming';\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.PICKER_ICONS.CALENDAR_TIMEWHEEL,\n})`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledCalendarWithTimeWheelWrapper = styled.div`\n background: ${({ theme }) => theme.colors.neutral['000']};\n display: grid;\n grid-template-columns: 260px 192px;\n grid-template-rows: 1fr;\n column-gap: 0;\n\n & > div:last-of-type {\n box-shadow: -1px 0 0 0 ${({ theme }) => theme.colors.neutral[200]};\n }\n`;\n\nexport const StyledCalendar = styled(CalendarContent)`\n box-shadow: none;\n`;\n\nexport const CalendarWithTimeWheelFooterMessage = styled('footer', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.FOOTERS.CALENDAR_TIMEWHEEL,\n})`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-style: italic;\n font-weight: ${({ theme }) => theme.fontWeights.thin};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n grid-column: 1/3;\n background-color: white;\n`;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,gCAAgC,uCAAuC;AAEzE,MAAM,0BAA0B,OAAO,YAAY;AAAA,EACxD,MAAM;AAAA,EACN,MAAM,gCAAgC,aAAa;AACrD,CAAC;AAAA,WACU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAKtC,MAAM,qCAAqC,OAAO;AAAA,gBACzC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAOvB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAI1D,MAAM,iBAAiB,OAAO,eAAe;AAAA;AAAA;AAI7C,MAAM,qCAAqC,OAAO,UAAU;AAAA,EACjE,MAAM;AAAA,EACN,MAAM,gCAAgC,QAAQ;AAChD,CAAC;AAAA,0BACyB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ;AAAA,cAChD,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA,aAC5B,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA,WAC7B,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,OAAO;AAAA;AAAA,iBAE7B,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY;AAAA,eACnC,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,UAAU;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -24,21 +24,24 @@ const useConfigCalendarWithTimeWheelCTX = () => {
|
|
|
24
24
|
const onHomeKeyDown = useCallback(() => {
|
|
25
25
|
trackFocusFirstSegment();
|
|
26
26
|
}, [trackFocusFirstSegment]);
|
|
27
|
-
const handlePickerIconKeyDown = useCallback(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
const handlePickerIconKeyDown = useCallback(
|
|
28
|
+
(e) => {
|
|
29
|
+
const { key } = e;
|
|
30
|
+
if (["Home", "End"].includes(key))
|
|
31
|
+
e.preventDefault();
|
|
32
|
+
if (["Home", "End"].includes(key))
|
|
33
|
+
e.stopPropagation();
|
|
34
|
+
if (key === "Home")
|
|
35
|
+
onHomeKeyDown();
|
|
36
|
+
if (key === "Backspace" && withAnyInputs) {
|
|
37
|
+
if (isWithTimeInputs)
|
|
38
|
+
trackFocusMeridiemInput();
|
|
39
|
+
else
|
|
40
|
+
trackFocusYearInput();
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
[isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs]
|
|
44
|
+
);
|
|
42
45
|
const [referenceElement, setReferenceElement] = useState(null);
|
|
43
46
|
const openCalendar = useCallback(() => {
|
|
44
47
|
setShowCalendarWithTimeWheel(true);
|
|
@@ -58,43 +61,52 @@ const useConfigCalendarWithTimeWheelCTX = () => {
|
|
|
58
61
|
else
|
|
59
62
|
closeCalendar();
|
|
60
63
|
}, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);
|
|
61
|
-
const handleSetTriggerRef = useCallback(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
64
|
+
const handleSetTriggerRef = useCallback(
|
|
65
|
+
(newRef) => {
|
|
66
|
+
pickerButtonRef.current = newRef;
|
|
67
|
+
setReferenceElement(newRef);
|
|
68
|
+
if (latestInteractionRegion === "picker-icon" && currFocusDescriber === "datetime-picker-icon")
|
|
69
|
+
newRef?.focus();
|
|
70
|
+
},
|
|
71
|
+
[currFocusDescriber, latestInteractionRegion, pickerButtonRef]
|
|
72
|
+
);
|
|
73
|
+
const handleMenuWrapperKeyDown = useCallback(
|
|
74
|
+
(e) => {
|
|
75
|
+
const { key } = e;
|
|
76
|
+
if (key === "Escape") {
|
|
77
|
+
closeCalendar();
|
|
78
|
+
trackFocusPicker();
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
[closeCalendar, trackFocusPicker]
|
|
82
|
+
);
|
|
74
83
|
const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);
|
|
75
|
-
return useMemo(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
84
|
+
return useMemo(
|
|
85
|
+
() => ({
|
|
86
|
+
referenceElement,
|
|
87
|
+
showCalendarWithTimeWheel,
|
|
88
|
+
closeCalendar,
|
|
89
|
+
handleToggleCalendarWithTimeWheel,
|
|
90
|
+
handleSetTriggerRef,
|
|
91
|
+
handleMenuWrapperKeyDown,
|
|
92
|
+
handlePickerIconKeyDown,
|
|
93
|
+
isControllerOnly,
|
|
94
|
+
disabled,
|
|
95
|
+
ariaCurrentValueForInputs
|
|
96
|
+
}),
|
|
97
|
+
[
|
|
98
|
+
referenceElement,
|
|
99
|
+
showCalendarWithTimeWheel,
|
|
100
|
+
closeCalendar,
|
|
101
|
+
handleToggleCalendarWithTimeWheel,
|
|
102
|
+
handleSetTriggerRef,
|
|
103
|
+
handleMenuWrapperKeyDown,
|
|
104
|
+
handlePickerIconKeyDown,
|
|
105
|
+
isControllerOnly,
|
|
106
|
+
disabled,
|
|
107
|
+
ariaCurrentValueForInputs
|
|
108
|
+
]
|
|
109
|
+
);
|
|
98
110
|
};
|
|
99
111
|
export {
|
|
100
112
|
useConfigCalendarWithTimeWheelCTX
|
package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useState, useCallback, useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nexport interface CalendarWithTimeWheelContextT {\n referenceElement: HTMLButtonElement | null;\n ariaCurrentValueForInputs: string;\n showCalendarWithTimeWheel: boolean;\n closeCalendar: () => void;\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n disabled: boolean;\n}\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n withAnyInputs,\n isWithTimeInputs,\n ariaCurrentValueForInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else trackFocusYearInput();\n }\n },\n [isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs],\n );\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const openCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerOpen]);\n const closeCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerClose]);\n\n const handleToggleCalendarWithTimeWheel = useCallback(() => {\n if (!showCalendarWithTimeWheel) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'datetime-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAgB,SAAS,UAAU,aAAa,kBAAkB;AAClE,SAAS,yCAAyC;AAClD,SAAS,uCAAuC;AAChD,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAc1B,MAAM,oCAAoC,MAAqC;AACpF,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,MAAM,cAAc,eAAe,SAAS;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,QAAM,EAAE,qBAAqB,IAAI,WAAW,eAAe;AAC3D,QAAM,EAAE,uBAAuB,IAAI,WAAW,gBAAgB;AAC9D,QAAM,CAAC,2BAA2B,4BAA4B,IAAI,SAAS,KAAK;AAChF,QAAM,gBAAgB,YAAY,MAAM;AACtC,2BAAuB;AAAA,EACzB,GAAG,CAAC,sBAAsB,CAAC;AAC3B,QAAM,0BAA6F;AAAA,IACjG,CAAC,MAAM;AACL,YAAM,EAAE,IAAI,IAAI;AAChB,UAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,UAAE,eAAe;AACpD,UAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,UAAE,gBAAgB;AACrD,UAAI,QAAQ;AAAQ,sBAAc;AAClC,UAAI,QAAQ,eAAe,eAAe;AACxC,YAAI;AAAkB,kCAAwB;AAAA;AACzC,8BAAoB;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB,eAAe,yBAAyB,qBAAqB,aAAa;AAAA,EAC/F;AACA,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAmC,IAAI;AACvF,QAAM,eAAe,YAAY,MAAM;AACrC,iCAA6B,IAAI;AACjC,iBAAa;AACb,eAAW,MAAM,qBAAqB,CAAC;AACvC,eAAW,MAAM,uBAAuB,CAAC;AAAA,EAC3C,GAAG,CAAC,sBAAsB,wBAAwB,YAAY,CAAC;AAC/D,QAAM,gBAAgB,YAAY,MAAM;AACtC,iCAA6B,KAAK;AAClC,kBAAc;AACd,eAAW,MAAM,qBAAqB,CAAC;AACvC,eAAW,MAAM,uBAAuB,CAAC;AAAA,EAC3C,GAAG,CAAC,sBAAsB,wBAAwB,aAAa,CAAC;AAEhE,QAAM,oCAAoC,YAAY,MAAM;AAC1D,QAAI,CAAC;AAA2B,mBAAa;AAAA;AACxC,oBAAc;AAAA,EACrB,GAAG,CAAC,eAAe,cAAc,yBAAyB,CAAC;AAE3D,QAAM,sBAAsB;AAAA,IAC1B,CAAC,WAA8B;AAC7B,sBAAgB,UAAU;AAC1B,0BAAoB,MAAM;AAC1B,UAAI,4BAA4B,iBAAiB,uBAAuB;AAAwB,gBAAQ,MAAM;AAAA,IAChH;AAAA,IACA,CAAC,oBAAoB,yBAAyB,eAAe;AAAA,EAC/D;AACA,QAAM,2BAA2B;AAAA,IAC/B,CAAC,MAAwC;AACvC,YAAM,EAAE,IAAI,IAAI;AAChB,UAAI,QAAQ,UAAU;AACpB,sBAAc;AACd,yBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,eAAe,gBAAgB;AAAA,EAClC;AAEA,QAAM,mBAAmB,QAAQ,MAAM,SAAS,kCAAkC,UAAU,iBAAiB,CAAC,IAAI,CAAC;AAEnH,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import React2 from "react";
|
|
3
4
|
import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX";
|
|
4
5
|
import { StyledPickersIconsWrapperGrid } from "../Styleds";
|
|
@@ -13,10 +14,15 @@ const PickersIcons = () => {
|
|
|
13
14
|
isControllerOnly,
|
|
14
15
|
props: { hasError }
|
|
15
16
|
} = React2.useContext(ControlledDateTimePickerContext);
|
|
16
|
-
return /* @__PURE__ */
|
|
17
|
+
return /* @__PURE__ */ jsxs(StyledPickersIconsWrapperGrid, {
|
|
17
18
|
hasError,
|
|
18
|
-
isControllerOnly
|
|
19
|
-
|
|
19
|
+
isControllerOnly,
|
|
20
|
+
children: [
|
|
21
|
+
!hideDatePicker && hideTimePicker && hideDateTimePicker ? /* @__PURE__ */ jsx(Calendar, {}) : null,
|
|
22
|
+
hideDatePicker && !hideTimePicker && hideDateTimePicker ? /* @__PURE__ */ jsx(TimeWheel, {}) : null,
|
|
23
|
+
hideDatePicker && hideTimePicker && !hideDateTimePicker ? /* @__PURE__ */ jsx(CalendarWithTimeWheel, {}) : null
|
|
24
|
+
]
|
|
25
|
+
});
|
|
20
26
|
};
|
|
21
27
|
export {
|
|
22
28
|
PickersIcons
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Pickers/PickersIcons.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { StyledPickersIconsWrapperGrid } from '../Styleds';\nimport { CalendarWithTimeWheel } from './CalendarWithTimeWheel/CalendarWithTimeWheel';\nimport { Calendar } from './Calendar/Calendar';\nimport { TimeWheel } from './TimeWheel/TimeWheel';\n\nexport const PickersIcons = (): JSX.Element => {\n const {\n hideDatePicker,\n hideTimePicker,\n hideDateTimePicker,\n isControllerOnly,\n props: { hasError },\n } = React.useContext(ControlledDateTimePickerContext);\n\n return (\n <StyledPickersIconsWrapperGrid hasError={hasError} isControllerOnly={isControllerOnly}>\n {!hideDatePicker && hideTimePicker && hideDateTimePicker ? <Calendar /> : null}\n {hideDatePicker && !hideTimePicker && hideDateTimePicker ? <TimeWheel /> : null}\n {hideDatePicker && hideTimePicker && !hideDateTimePicker ? <CalendarWithTimeWheel /> : null}\n </StyledPickersIconsWrapperGrid>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,OAAOA,YAAW;AAClB,SAAS,uCAAuC;AAChD,SAAS,qCAAqC;AAC9C,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAEnB,MAAM,eAAe,MAAmB;AAC7C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,IAAIA,OAAM,WAAW,+BAA+B;AAEpD,SACE,qBAAC;AAAA,IAA8B;AAAA,IAAoB;AAAA,IAChD;AAAA,OAAC,kBAAkB,kBAAkB,qBAAqB,oBAAC,YAAS,IAAK;AAAA,MACzE,kBAAkB,CAAC,kBAAkB,qBAAqB,oBAAC,aAAU,IAAK;AAAA,MAC1E,kBAAkB,kBAAkB,CAAC,qBAAqB,oBAAC,yBAAsB,IAAK;AAAA;AAAA,GACzF;AAEJ;",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|