@elliemae/ds-form-date-time-picker 3.4.3-rc.1 → 3.4.3
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
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/MinutesList.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useCallback } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const MinutesList = (): JSX.Element => {\n const {\n currHourNum,\n currMinuteNum,\n currMeridiem,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n handleCurrMinutesOnKeyDown,\n } = useContext(TimeWheelContext);\n const {\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n getIsDisabledTime,\n minutes,\n currFocusDescriber,\n latestInteractionRegion,\n } = useContext(ControlledDateTimePickerContext);\n const handleCurrMeridiemRef = useCallback(\n (ButtonDomNode: HTMLButtonElement) => {\n setTimeout(() => {\n currMinutesBtnRef.current = ButtonDomNode;\n if (latestInteractionRegion === 'timewheel' && currFocusDescriber === 'timewheel-curr-minute')\n ButtonDomNode?.focus?.();\n });\n },\n [currFocusDescriber, latestInteractionRegion, currMinutesBtnRef],\n );\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one minute\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevMinute}\n innerRef={prevMinutesBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE}\n type=\"button\"\n >\n <ChevronSmallUp color={['brand-primary', 700]} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleMinutes.map((minutesString) => {\n const key = `timewheel-minutes-${minutesString || ''}`;\n if (!minutesString) return <StyledWheelListItem key={key} />;\n const currMinutesTimeString = `${currHourNum}:${minutesString} ${currMeridiem}`;\n const isEmptyCurrValueCurrentListItem =\n !minutes && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || minutes === minutesString;\n const isDisabled = getIsDisabledTime(currMinutesTimeString);\n\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrMinutesOnKeyDown : undefined,\n innerRef: isCurrentListItem ? handleCurrMeridiemRef : undefined,\n };\n const styledProps = { isCurrentListItem, isDisabled };\n return (\n <StyledWheelListItem\n key={key}\n isCurrentListItem={isCurrentListItem}\n selected={convertToPositiveNumberIfPossible(minutesString) === currMinuteNum}\n >\n <StyledTimeBtn\n {...styledProps}\n data-testid={\n ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_MINUTE' : 'MINUTE']\n }\n selected={minutes.length === 2 && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum}\n aria-label={`${minutesString} minutes`}\n aria-disabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => handleTimeWheelBtnChangeMinutes(minutesString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax={59}\n aria-valuemin={0}\n aria-valuenow={currMinuteNum}\n aria-valuetext={`${minutesString} minutes`}\n type=\"button\"\n {...btnProps}\n >\n {minutesString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one minute\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextMinute}\n innerRef={nextMinutesBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronSmallDown color={['brand-primary', 700]} />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n\nexport default MinutesList;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "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",
|
|
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/TimeWheel/Styleds.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/indent */\nimport { css, styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../../../exported-related/theming';\n\ninterface StyledWheelListItemPropsT {\n isCurrentListItem?: boolean;\n selected?: boolean;\n}\n\ninterface StyledTimePickerContainerT {\n showShadow?: boolean;\n isControllerOnly: boolean;\n}\n\nconst focusBorder = css`\n &:after {\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border-radius: 50%;\n border: 2px solid ${({ theme, isDisabled }) => (isDisabled ? theme.colors.danger[900] : theme.colors.brand[700])};\n }\n`;\n\nconst diagonalLine = css`\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -1px;\n height: 1px;\n width: calc(100% + 2px);\n transform: rotate(45deg);\n background-color: ${({ theme, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isCurrentListItem) return theme.colors.danger[900];\n return theme.colors.neutral[500];\n }};\n }\n`;\n\nconst fontColorPerStatus = css`\n ${({ theme, isDisabled, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isDisabled && isCurrentListItem) return theme.colors.danger[900];\n if (isDisabled) return theme.colors.neutral[500];\n if (isCurrentListItem) return theme.colors.brand[600];\n return theme.colors.neutral[800];\n }};\n`;\n\nconst hoverBgPerStatus = css`\n ${({ theme, selected, isDisabled }) => {\n if (isDisabled && selected) return theme.colors.danger[900];\n if (selected) return theme.colors.brand[700];\n return theme.colors.neutral['000'];\n }}\n`;\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.PICKER_ICONS.TIMEWHEEL,\n})`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledWheelList = styled.div`\n width: 100%;\n height: 100%;\n margin: auto;\n padding: 0;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n &:focus-within {\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 2px;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n box-shadow: 0 0 2px ${({ theme }) => theme.colors.brand[700]};\n }\n }\n`;\n\nexport const StyledTimePickerContainer = styled.div<StyledTimePickerContainerT>`\n display: grid;\n position: relative;\n grid-template-columns: 192px;\n grid-template-rows: 36px 30px auto;\n grid-template-areas:\n 'TimePickerHead'\n 'TimePickerWheelsLegend'\n 'VerticalWheelWrapper';\n`;\n\nexport const StyledTimePickerHead = styled(Grid, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIMEWHEEL.HEADER_LABEL,\n})`\n width: 100%;\n grid-area: TimePickerHead;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelsLegend = styled.div`\n width: 100%;\n height: 100;\n grid-area: TimePickerWheelsLegend;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n align-items: center;\n justify-content: center;\n text-align: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelWrapper = styled.div`\n width: 100%;\n background: ${({ theme }) => theme.colors.neutral['000']};\n grid-area: VerticalWheelWrapper;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n grid-template-rows: 100%;\n & ul:not(:last-child) {\n position: relative;\n &:after {\n content: '';\n position: absolute;\n left: 100%;\n top: 5%;\n height: 90%;\n width: 1px;\n background: ${({ theme }) => theme.colors.neutral[200]};\n }\n }\n`;\n\nexport const StyledTimeBtn = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIMEWHEEL.TIME_BUTTON,\n})`\n position: relative;\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n\n &:hover {\n background-color: ${hoverBgPerStatus};\n }\n\n color: ${fontColorPerStatus};\n\n ${({ selected, isCurrentListItem }) => (isCurrentListItem && !selected ? focusBorder : ``)}\n\n ${({ isDisabled }) =>\n isDisabled\n ? css`\n cursor: not-allowed;\n ${diagonalLine};\n `\n : ``}\n\n ${({ theme, selected, isDisabled }) =>\n selected\n ? css`\n font-weight: ${theme.fontWeights.semibold};\n background-color ${isDisabled ? theme.colors.danger[900] : theme.colors.brand[700]};\n `\n : ``};\n`;\n\nexport const StyledWheelListItem = styled.div<StyledWheelListItemPropsT>`\n margin: auto;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const StyledWheelChangeTimeBtn = styled(DSButtonV2, {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.TIMEWHEEL.TIME_CHANGE_BUTTON,\n})`\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n min-width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n`;\n\nexport const TimeWheelFooterMessage = styled('footer', {\n name: DSControlledDateTimePickerName,\n slot: DSControlledDateTimePickerSlots.FOOTERS.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 background-color: white;\n`;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
3
4
|
import { TimeWheelIconTrigger } from "./TimeWheelIconTrigger";
|
|
4
5
|
import { TimeWheelWrapper } from "./TimeWheelWrapper";
|
|
5
6
|
import { TimeWheelContext } from "./TimeWheelContext";
|
|
@@ -7,18 +8,29 @@ import { useConfigTimePickerCTX } from "./useConfigTimePickerCTX";
|
|
|
7
8
|
import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
8
9
|
const WrappedTimeWheelContext = ({ children }) => {
|
|
9
10
|
const ctx = useConfigTimePickerCTX();
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
-
value: ctx
|
|
12
|
-
|
|
11
|
+
return /* @__PURE__ */ jsx(TimeWheelContext.Provider, {
|
|
12
|
+
value: ctx,
|
|
13
|
+
children
|
|
14
|
+
});
|
|
13
15
|
};
|
|
14
16
|
const TimeWheelContent = () => {
|
|
15
17
|
const { showTimePicker, handleMenuWrapperKeyDown } = useContext(TimeWheelContext);
|
|
16
18
|
const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
20
|
+
children: [
|
|
21
|
+
isControllerOnly ? null : /* @__PURE__ */ jsx(TimeWheelIconTrigger, {}),
|
|
22
|
+
isControllerOnly || showTimePicker ? /* @__PURE__ */ jsx(Fragment, {
|
|
23
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
24
|
+
onKeyDown: handleMenuWrapperKeyDown,
|
|
25
|
+
children: /* @__PURE__ */ jsx(TimeWheelWrapper, {})
|
|
26
|
+
})
|
|
27
|
+
}) : null
|
|
28
|
+
]
|
|
29
|
+
});
|
|
20
30
|
};
|
|
21
|
-
const TimeWheel = () => /* @__PURE__ */
|
|
31
|
+
const TimeWheel = () => /* @__PURE__ */ jsx(WrappedTimeWheelContext, {
|
|
32
|
+
children: /* @__PURE__ */ jsx(TimeWheelContent, {})
|
|
33
|
+
});
|
|
22
34
|
export {
|
|
23
35
|
TimeWheel,
|
|
24
36
|
WrappedTimeWheelContext
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheel.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-len */\nimport React, { useContext } from 'react';\nimport { TimeWheelIconTrigger } from './TimeWheelIconTrigger';\nimport { TimeWheelWrapper } from './TimeWheelWrapper';\nimport { TimeWheelContext } from './TimeWheelContext';\nimport { useConfigTimePickerCTX } from './useConfigTimePickerCTX';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\n// the Context is Reused in CalendarWithTimeWheel\nexport const WrappedTimeWheelContext = ({ children }: { children: JSX.Element }) => {\n const ctx = useConfigTimePickerCTX();\n return <TimeWheelContext.Provider value={ctx}>{children}</TimeWheelContext.Provider>;\n};\n\nconst TimeWheelContent = () => {\n const { showTimePicker, handleMenuWrapperKeyDown } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n\n return (\n <>\n {isControllerOnly ? null : <TimeWheelIconTrigger />}\n {isControllerOnly || showTimePicker ? (\n <>\n {/* The <div> element is catching the \"Escape\" 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 <TimeWheelWrapper />\n </div>\n </>\n ) : null}\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 TimeWheel = (): JSX.Element => (\n <WrappedTimeWheelContext>\n <TimeWheelContent />\n </WrappedTimeWheelContext>\n);\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAClC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,uCAAuC;AAGzC,MAAM,0BAA0B,CAAC,EAAE,SAAS,MAAiC;AAClF,QAAM,MAAM,uBAAuB;AACnC,SAAO,oBAAC,iBAAiB,UAAjB;AAAA,IAA0B,OAAO;AAAA,IAAM;AAAA,GAAS;AAC1D;AAEA,MAAM,mBAAmB,MAAM;AAC7B,QAAM,EAAE,gBAAgB,yBAAyB,IAAI,WAAW,gBAAgB;AAChF,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AAEvE,SACE;AAAA,IACG;AAAA,yBAAmB,OAAO,oBAAC,wBAAqB;AAAA,MAChD,oBAAoB,iBACnB;AAAA,QAIE,8BAAC;AAAA,UAAI,WAAW;AAAA,UACd,8BAAC,oBAAiB;AAAA,SACpB;AAAA,OACF,IACE;AAAA;AAAA,GACN;AAEJ;AAEO,MAAM,YAAY,MACvB,oBAAC;AAAA,EACC,8BAAC,oBAAiB;AAAA,CACpB;",
|
|
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, { useContext } from "react";
|
|
3
4
|
import { ControlledDateTimePickerDatatestid } from "../../../ControlledDateTimePickerDatatestid";
|
|
4
5
|
import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
@@ -14,12 +15,37 @@ import { MeridiemList } from "./MeridiemList";
|
|
|
14
15
|
import { TimeWheelFooter } from "./TimeWheelFooter";
|
|
15
16
|
const TimeWheelContent = React2.memo(() => {
|
|
16
17
|
const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ jsxs(StyledTimePickerContainer, {
|
|
18
19
|
isControllerOnly,
|
|
19
|
-
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
"data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL,
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsx(StyledTimePickerHead, {
|
|
23
|
+
"data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL,
|
|
24
|
+
children: `${hours || "__"}:${minutes || "__"} ${meridiem || "__"}`
|
|
25
|
+
}),
|
|
26
|
+
/* @__PURE__ */ jsxs(StyledTimePickerWheelsLegend, {
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ jsx("div", {
|
|
29
|
+
children: "H"
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsx("div", {
|
|
32
|
+
children: "M"
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ jsx("div", {
|
|
35
|
+
children: "A"
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ jsxs(StyledTimePickerWheelWrapper, {
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx(HoursList, {}),
|
|
42
|
+
/* @__PURE__ */ jsx(MinutesList, {}),
|
|
43
|
+
/* @__PURE__ */ jsx(MeridiemList, {})
|
|
44
|
+
]
|
|
45
|
+
}),
|
|
46
|
+
/* @__PURE__ */ jsx(TimeWheelFooter, {})
|
|
47
|
+
]
|
|
48
|
+
});
|
|
23
49
|
});
|
|
24
50
|
export {
|
|
25
51
|
TimeWheelContent
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelContent.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 {\n StyledTimePickerContainer,\n StyledTimePickerHead,\n StyledTimePickerWheelsLegend,\n StyledTimePickerWheelWrapper,\n} from './Styleds';\nimport { HoursList } from './HoursList';\nimport { MinutesList } from './MinutesList';\nimport { MeridiemList } from './MeridiemList';\nimport { TimeWheelFooter } from './TimeWheelFooter';\n\nexport const TimeWheelContent = React.memo(() => {\n const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledTimePickerContainer\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL}\n >\n <StyledTimePickerHead data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL}>{`${\n hours || '__'\n }:${minutes || '__'} ${meridiem || '__'}`}</StyledTimePickerHead>\n <StyledTimePickerWheelsLegend>\n <div>H</div>\n <div>M</div>\n <div>A</div>\n </StyledTimePickerWheelsLegend>\n <StyledTimePickerWheelWrapper>\n <HoursList />\n <MinutesList />\n <MeridiemList />\n </StyledTimePickerWheelWrapper>\n <TimeWheelFooter />\n </StyledTimePickerContainer>\n );\n});\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,OAAOA,UAAS,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAEzB,MAAM,mBAAmBA,OAAM,KAAK,MAAM;AAC/C,QAAM,EAAE,kBAAkB,OAAO,SAAS,SAAS,IAAI,WAAW,+BAA+B;AACjG,SACE,qBAAC;AAAA,IACC;AAAA,IACA,eAAa,mCAAmC,qBAAqB;AAAA,IAErE;AAAA,0BAAC;AAAA,QAAqB,eAAa,mCAAmC,UAAU;AAAA,QAAe,aAC7F,SAAS,QACP,WAAW,QAAQ,YAAY;AAAA,OAAO;AAAA,MAC1C,qBAAC;AAAA,QACC;AAAA,8BAAC;AAAA,YAAI;AAAA,WAAC;AAAA,UACN,oBAAC;AAAA,YAAI;AAAA,WAAC;AAAA,UACN,oBAAC;AAAA,YAAI;AAAA,WAAC;AAAA;AAAA,OACR;AAAA,MACA,qBAAC;AAAA,QACC;AAAA,8BAAC,aAAU;AAAA,UACX,oBAAC,eAAY;AAAA,UACb,oBAAC,gBAAa;AAAA;AAAA,OAChB;AAAA,MACA,oBAAC,mBAAgB;AAAA;AAAA,GACnB;AAEJ,CAAC;",
|
|
6
|
+
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelContext.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable max-lines */\nimport { createContext } from 'react';\nimport type { TimeWheelContextT } from './useConfigTimePickerCTX';\n\nexport const defaultTimePickerContext = {} as TimeWheelContextT;\n/** Context for cross component communication */\nexport const TimeWheelContext = createContext<TimeWheelContextT>(defaultTimePickerContext);\n\nexport default TimeWheelContext;\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,qBAAqB;AAGvB,MAAM,2BAA2B,CAAC;AAElC,MAAM,mBAAmB,cAAiC,wBAAwB;AAEzF,IAAO,2BAAQ;",
|
|
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 { TimeWheelFooterMessage } from "./Styleds";
|
|
@@ -9,10 +10,11 @@ const TimeWheelFooter = () => {
|
|
|
9
10
|
isWithCalendarToo
|
|
10
11
|
} = useContext(ControlledDateTimePickerContext);
|
|
11
12
|
if (!isWithCalendarToo && pickerFooterMsg !== void 0 && hasError)
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ jsx(TimeWheelFooterMessage, {
|
|
13
14
|
role: "alert",
|
|
14
|
-
"data-testid": ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL
|
|
15
|
-
|
|
15
|
+
"data-testid": ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL,
|
|
16
|
+
children: pickerFooterMsg
|
|
17
|
+
});
|
|
16
18
|
return null;
|
|
17
19
|
};
|
|
18
20
|
export {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelFooter.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 { TimeWheelFooterMessage } from './Styleds';\n\nexport const TimeWheelFooter: React.ComponentType = () => {\n const {\n props: { pickerFooterMsg, hasError },\n isWithCalendarToo,\n } = useContext(ControlledDateTimePickerContext);\n if (!isWithCalendarToo && pickerFooterMsg !== undefined && hasError)\n return (\n <TimeWheelFooterMessage role=\"alert\" data-testid={ControlledDateTimePickerDatatestid.FOOTERS.TIMEWHEEL}>\n {pickerFooterMsg}\n </TimeWheelFooterMessage>\n );\n return null;\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,kBAAkB;AAClC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,8BAA8B;AAEhC,MAAM,kBAAuC,MAAM;AACxD,QAAM;AAAA,IACJ,OAAO,EAAE,iBAAiB,SAAS;AAAA,IACnC;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,MAAI,CAAC,qBAAqB,oBAAoB,UAAa;AACzD,WACE,oBAAC;AAAA,MAAuB,MAAK;AAAA,MAAQ,eAAa,mCAAmC,QAAQ;AAAA,MAC1F;AAAA,KACH;AAEJ,SAAO;AACT;",
|
|
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 { RecentDocuments } from "@elliemae/ds-icons";
|
|
5
6
|
import { TimeWheelContext } from "./TimeWheelContext";
|
|
@@ -12,17 +13,21 @@ const TimeWheelIconTrigger = () => {
|
|
|
12
13
|
props: { disabled },
|
|
13
14
|
ariaCurrentValueForInputs
|
|
14
15
|
} = useContext(ControlledDateTimePickerContext);
|
|
15
|
-
return useMemo(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
return useMemo(
|
|
17
|
+
() => /* @__PURE__ */ jsx(StyledIconTriggerButton, {
|
|
18
|
+
"aria-label": `time picker context menu trigger, ${ariaCurrentValueForInputs}`,
|
|
19
|
+
buttonType: "icon",
|
|
20
|
+
size: BUTTON_SIZES.M,
|
|
21
|
+
innerRef: handleSetTriggerRef,
|
|
22
|
+
onClick: handleToggleTimePicker,
|
|
23
|
+
onKeyDown: handlePickerIconKeyDown,
|
|
24
|
+
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL,
|
|
25
|
+
disabled,
|
|
26
|
+
type: "button",
|
|
27
|
+
children: /* @__PURE__ */ jsx(RecentDocuments, {})
|
|
28
|
+
}),
|
|
29
|
+
[ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker]
|
|
30
|
+
);
|
|
26
31
|
};
|
|
27
32
|
export {
|
|
28
33
|
TimeWheelIconTrigger
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelIconTrigger.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 { RecentDocuments } from '@elliemae/ds-icons';\nimport { TimeWheelContext } from './TimeWheelContext';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { StyledIconTriggerButton } from './Styleds';\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 TimeWheelIconTrigger = (): JSX.Element => {\n const { handleSetTriggerRef, handleToggleTimePicker, handlePickerIconKeyDown } = useContext(TimeWheelContext);\n const {\n props: { disabled },\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleTimePicker}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL}\n disabled={disabled}\n type=\"button\"\n >\n <RecentDocuments />\n </StyledIconTriggerButton>\n ),\n [ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,0CAA0C;AACnD,SAAS,uCAAuC;AAChD,SAAS,+BAA+B;AAKjC,MAAM,uBAAuB,MAAmB;AACrD,QAAM,EAAE,qBAAqB,wBAAwB,wBAAwB,IAAI,WAAW,gBAAgB;AAC5G,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MACC,cAAY,qCAAqC;AAAA,MACjD,YAAW;AAAA,MACX,MAAM,aAAa;AAAA,MACnB,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,eAAa,mCAAmC,aAAa;AAAA,MAC7D;AAAA,MACA,MAAK;AAAA,MAEL,8BAAC,mBAAgB;AAAA,KACnB;AAAA,IAEF,CAAC,2BAA2B,UAAU,yBAAyB,qBAAqB,sBAAsB;AAAA,EAC5G;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 { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
|
|
@@ -9,14 +10,15 @@ const TimeWheelWrapper = () => {
|
|
|
9
10
|
const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);
|
|
10
11
|
const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
|
|
11
12
|
if (isControllerOnly)
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
return /* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ jsx(TimeWheelContent, {});
|
|
14
|
+
return /* @__PURE__ */ jsx(DSPopperJS, {
|
|
14
15
|
showPopover: true,
|
|
15
16
|
"data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL,
|
|
16
17
|
referenceElement,
|
|
17
18
|
withoutArrow: true,
|
|
18
|
-
onClickOutside: closeTimePicker
|
|
19
|
-
|
|
19
|
+
onClickOutside: closeTimePicker,
|
|
20
|
+
children: /* @__PURE__ */ jsx(TimeWheelContent, {})
|
|
21
|
+
});
|
|
20
22
|
};
|
|
21
23
|
export {
|
|
22
24
|
TimeWheelWrapper
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelWrapper.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 { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelContent } from './TimeWheelContent';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n >\n <TimeWheelContent />\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,uCAAuC;AAChD,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,gBAAgB,IAAI,WAAW,gBAAgB;AACzE,QAAM,EAAE,iBAAiB,IAAI,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,oBAAC,oBAAiB;AAC/C,SACE,oBAAC;AAAA,IACC,aAAW;AAAA,IACX,eAAa,mCAAmC,gBAAgB;AAAA,IAChE;AAAA,IACA,cAAY;AAAA,IACZ,gBAAgB;AAAA,IAEhB,8BAAC,oBAAiB;AAAA,GACpB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -7,11 +7,14 @@ const useConfigTimePickerCTX = () => {
|
|
|
7
7
|
const currentDisplayedTimeWheelLogic = useCurrentDisplayedWheelsLogic();
|
|
8
8
|
const popperLogic = usePopperTriggerLogic();
|
|
9
9
|
const keyboardHandlers = useKeyboardHandlers({ currentDisplayedTimeWheelLogic });
|
|
10
|
-
return useMemo(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
return useMemo(
|
|
11
|
+
() => ({
|
|
12
|
+
...currentDisplayedTimeWheelLogic,
|
|
13
|
+
...popperLogic,
|
|
14
|
+
...keyboardHandlers
|
|
15
|
+
}),
|
|
16
|
+
[currentDisplayedTimeWheelLogic, popperLogic, keyboardHandlers]
|
|
17
|
+
);
|
|
15
18
|
};
|
|
16
19
|
export {
|
|
17
20
|
useConfigTimePickerCTX
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useConfigTimePickerCTX.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo } from 'react';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\n\nexport type TimeWheelContextT = ReturnType<typeof useCurrentDisplayedWheelsLogic> &\n ReturnType<typeof usePopperTriggerLogic> &\n ReturnType<typeof useKeyboardHandlers>;\n\nexport const useConfigTimePickerCTX = (): TimeWheelContextT => {\n const currentDisplayedTimeWheelLogic = useCurrentDisplayedWheelsLogic();\n const popperLogic = usePopperTriggerLogic();\n const keyboardHandlers = useKeyboardHandlers({ currentDisplayedTimeWheelLogic });\n\n return useMemo(\n () => ({\n ...currentDisplayedTimeWheelLogic,\n ...popperLogic,\n ...keyboardHandlers,\n }),\n [currentDisplayedTimeWheelLogic, popperLogic, keyboardHandlers],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,eAAe;AACxB,SAAS,6BAA6B;AACtC,SAAS,sCAAsC;AAC/C,SAAS,2BAA2B;AAM7B,MAAM,yBAAyB,MAAyB;AAC7D,QAAM,iCAAiC,+BAA+B;AACtE,QAAM,cAAc,sBAAsB;AAC1C,QAAM,mBAAmB,oBAAoB,EAAE,+BAA+B,CAAC;AAE/E,SAAO;AAAA,IACL,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,CAAC,gCAAgC,aAAa,gBAAgB;AAAA,EAChE;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -12,7 +12,9 @@ const getTotalMinuteListWithStep = (step = 1) => {
|
|
|
12
12
|
return new Array(length).fill("_").map((_v, i) => prependStringWithPlaceHolders(`${i * step}`, 2));
|
|
13
13
|
};
|
|
14
14
|
const useCurrentDisplayedWheelsLogic = () => {
|
|
15
|
-
const { minutesInterval, onTimeWheelOpenStartingTime, hours, minutes, meridiem } = useContext(
|
|
15
|
+
const { minutesInterval, onTimeWheelOpenStartingTime, hours, minutes, meridiem } = useContext(
|
|
16
|
+
ControlledDateTimePickerContext
|
|
17
|
+
);
|
|
16
18
|
const { handleChangeHours, handleChangeMinutes, handleChangeMeridiem } = useTimeInputs();
|
|
17
19
|
const { startingHours, startingMinutes, startingMeridiem } = useMemo(() => {
|
|
18
20
|
const startingVals = deconstructValuesFromTimeString(onTimeWheelOpenStartingTime);
|
|
@@ -51,7 +53,10 @@ const useCurrentDisplayedWheelsLogic = () => {
|
|
|
51
53
|
}, [meridiem, startingMeridiem]);
|
|
52
54
|
const totalMinutesList = useMemo(() => getTotalMinuteListWithStep(minutesInterval), [minutesInterval]);
|
|
53
55
|
const currMinuteIndex = useMemo(() => Math.floor(currMinuteNum / minutesInterval), [currMinuteNum, minutesInterval]);
|
|
54
|
-
const currHoursIndex = useMemo(
|
|
56
|
+
const currHoursIndex = useMemo(
|
|
57
|
+
() => Math.floor(currHourNum / hoursInterval) - hoursStartPositionOffset,
|
|
58
|
+
[currHourNum]
|
|
59
|
+
);
|
|
55
60
|
const visibleHours = useMemo(() => {
|
|
56
61
|
const newHours = [];
|
|
57
62
|
if (currHoursIndex >= 1)
|
|
@@ -78,64 +83,94 @@ const useCurrentDisplayedWheelsLogic = () => {
|
|
|
78
83
|
newMinutes.push(null);
|
|
79
84
|
return newMinutes;
|
|
80
85
|
}, [currMinuteIndex, totalMinutesList]);
|
|
81
|
-
const handleTimeWheelBtnChangeHours = useCallback(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
86
|
+
const handleTimeWheelBtnChangeHours = useCallback(
|
|
87
|
+
(newHours, e) => {
|
|
88
|
+
handleChangeHours(newHours, e);
|
|
89
|
+
},
|
|
90
|
+
[handleChangeHours]
|
|
91
|
+
);
|
|
92
|
+
const handleChangeCurrHour = useCallback(
|
|
93
|
+
(offset, e) => {
|
|
94
|
+
const newH = currHourNum + offset;
|
|
95
|
+
if (newH > 0 && newH <= 12)
|
|
96
|
+
handleChangeHours(prependStringWithPlaceHolders(`${newH}`, 2), e);
|
|
97
|
+
},
|
|
98
|
+
[currHourNum, handleChangeHours]
|
|
99
|
+
);
|
|
100
|
+
const handlePrevHour = useCallback(
|
|
101
|
+
(e) => {
|
|
102
|
+
handleChangeCurrHour(-1, e);
|
|
103
|
+
},
|
|
104
|
+
[handleChangeCurrHour]
|
|
105
|
+
);
|
|
106
|
+
const handleNextHour = useCallback(
|
|
107
|
+
(e) => {
|
|
108
|
+
handleChangeCurrHour(1, e);
|
|
109
|
+
},
|
|
110
|
+
[handleChangeCurrHour]
|
|
111
|
+
);
|
|
112
|
+
const handleTimeWheelBtnChangeMinutes = useCallback(
|
|
113
|
+
(newMinutes, e) => {
|
|
114
|
+
handleChangeMinutes(newMinutes, e);
|
|
115
|
+
},
|
|
116
|
+
[handleChangeMinutes]
|
|
117
|
+
);
|
|
118
|
+
const handleChangeCurrMinute = useCallback(
|
|
119
|
+
(offset, e) => {
|
|
120
|
+
const newM = currMinuteNum + offset;
|
|
121
|
+
if (newM >= 0 && newM <= 59)
|
|
122
|
+
handleChangeMinutes(prependStringWithPlaceHolders(`${newM}`, 2), e);
|
|
123
|
+
},
|
|
124
|
+
[currMinuteNum, handleChangeMinutes]
|
|
125
|
+
);
|
|
126
|
+
const handlePrevMinute = useCallback(
|
|
127
|
+
(e) => {
|
|
128
|
+
handleChangeCurrMinute(-minutesInterval, e);
|
|
129
|
+
},
|
|
130
|
+
[handleChangeCurrMinute, minutesInterval]
|
|
131
|
+
);
|
|
132
|
+
const handleNextMinute = useCallback(
|
|
133
|
+
(e) => {
|
|
134
|
+
handleChangeCurrMinute(minutesInterval, e);
|
|
135
|
+
},
|
|
136
|
+
[handleChangeCurrMinute, minutesInterval]
|
|
137
|
+
);
|
|
138
|
+
const handleTimeWheelBtnChangeMeridiem = useCallback(
|
|
139
|
+
(newMeridiem, e) => {
|
|
140
|
+
handleChangeMeridiem(newMeridiem, e);
|
|
141
|
+
},
|
|
142
|
+
[handleChangeMeridiem]
|
|
143
|
+
);
|
|
144
|
+
return useMemo(
|
|
145
|
+
() => ({
|
|
146
|
+
currHourNum,
|
|
147
|
+
visibleHours,
|
|
148
|
+
handlePrevHour,
|
|
149
|
+
handleNextHour,
|
|
150
|
+
handleTimeWheelBtnChangeHours,
|
|
151
|
+
currMinuteNum,
|
|
152
|
+
visibleMinutes,
|
|
153
|
+
handlePrevMinute,
|
|
154
|
+
handleNextMinute,
|
|
155
|
+
handleTimeWheelBtnChangeMinutes,
|
|
156
|
+
handleTimeWheelBtnChangeMeridiem,
|
|
157
|
+
currMeridiem
|
|
158
|
+
}),
|
|
159
|
+
[
|
|
160
|
+
currHourNum,
|
|
161
|
+
currMinuteNum,
|
|
162
|
+
currMeridiem,
|
|
163
|
+
handleNextHour,
|
|
164
|
+
handleNextMinute,
|
|
165
|
+
handlePrevHour,
|
|
166
|
+
handlePrevMinute,
|
|
167
|
+
handleTimeWheelBtnChangeHours,
|
|
168
|
+
handleTimeWheelBtnChangeMeridiem,
|
|
169
|
+
handleTimeWheelBtnChangeMinutes,
|
|
170
|
+
visibleHours,
|
|
171
|
+
visibleMinutes
|
|
172
|
+
]
|
|
173
|
+
);
|
|
139
174
|
};
|
|
140
175
|
export {
|
|
141
176
|
useCurrentDisplayedWheelsLogic
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { useTimeInputs } from '../../TimeInputs/useTimeInputs';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { prependStringWithPlaceHolders, deconstructValuesFromTimeString } from '../../../utils/stringHelpers';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerT } from '../../../propTypes';\n\nconst totalHoursList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];\nconst hoursInterval = 1; // using this just to unify the logic between how hours and minutes are handled\nconst hoursStartPositionOffset = 1; // if array start from 01, this is 1, if start from 02, it's 2 ...\n\nconst getTotalMinuteListWithStep = (step = 1) => {\n const length = Math.ceil(60 / step);\n return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders(`${i * step}`, 2));\n};\ninterface UseCurrentDisplayedWheelsLogic {\n currHourNum: number;\n visibleHours: (string | null)[];\n handlePrevHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleNextHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeHours: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n currMinuteNum: number;\n visibleMinutes: (string | null)[];\n handlePrevMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleNextMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeMinutes: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeMeridiem: (\n newMeridiem: string,\n e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent,\n ) => void;\n currMeridiem: string;\n}\nexport const useCurrentDisplayedWheelsLogic = (): UseCurrentDisplayedWheelsLogic => {\n const { minutesInterval, onTimeWheelOpenStartingTime, hours, minutes, meridiem } = useContext(\n ControlledDateTimePickerContext,\n );\n const { handleChangeHours, handleChangeMinutes, handleChangeMeridiem } = useTimeInputs();\n const { startingHours, startingMinutes, startingMeridiem } = useMemo(() => {\n const startingVals = deconstructValuesFromTimeString(onTimeWheelOpenStartingTime);\n return {\n startingHours: startingVals.hours,\n startingMinutes: startingVals.minutes,\n startingMeridiem: startingVals.meridiem,\n };\n }, [onTimeWheelOpenStartingTime]);\n\n const currHourNum = useMemo(() => {\n const hoursAsNum = convertToPositiveNumberIfPossible(hours);\n if (hours && hoursAsNum !== -1) {\n return hoursAsNum;\n }\n const startingHoursAsNum = convertToPositiveNumberIfPossible(startingHours);\n if (startingHoursAsNum === -1) return 1;\n return startingHoursAsNum;\n }, [hours, startingHours]);\n\n const currMinuteNum = useMemo(() => {\n const minutesAsNum = convertToPositiveNumberIfPossible(minutes);\n if (minutes && minutesAsNum !== -1) {\n return minutesAsNum;\n }\n const startingMinutesAsNum = convertToPositiveNumberIfPossible(startingMinutes);\n if (startingMinutesAsNum === -1) return 0;\n return startingMinutesAsNum;\n }, [minutes, startingMinutes]);\n\n const currMeridiem = useMemo(() => {\n if (meridiem !== '') return meridiem;\n if (startingMeridiem !== '') return startingMeridiem;\n return 'AM';\n }, [meridiem, startingMeridiem]);\n\n const totalMinutesList = useMemo(() => getTotalMinuteListWithStep(minutesInterval), [minutesInterval]);\n const currMinuteIndex = useMemo(() => Math.floor(currMinuteNum / minutesInterval), [currMinuteNum, minutesInterval]);\n const currHoursIndex = useMemo(\n () => Math.floor(currHourNum / hoursInterval) - hoursStartPositionOffset,\n [currHourNum],\n );\n\n const visibleHours = useMemo(() => {\n const newHours = [];\n if (currHoursIndex >= 1) newHours.push(totalHoursList[currHoursIndex - 1]);\n else newHours.push(null);\n newHours.push(totalHoursList[currHoursIndex]);\n if (currHoursIndex <= 11) newHours.push(totalHoursList[currHoursIndex + 1]);\n else newHours.push(null);\n\n return newHours;\n }, [currHoursIndex]);\n const visibleMinutes = useMemo(() => {\n const newMinutes = [];\n\n if (currMinuteIndex >= 1) newMinutes.push(totalMinutesList[currMinuteIndex - 1]);\n else newMinutes.push(null);\n newMinutes.push(totalMinutesList[currMinuteIndex]);\n if (currMinuteIndex < totalMinutesList.length) newMinutes.push(totalMinutesList[currMinuteIndex + 1]);\n else newMinutes.push(null);\n return newMinutes;\n }, [currMinuteIndex, totalMinutesList]);\n\n const handleTimeWheelBtnChangeHours = useCallback(\n (newHours: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeHours(newHours, e);\n },\n [handleChangeHours],\n );\n const handleChangeCurrHour = useCallback(\n (offset: number, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n const newH = currHourNum + offset;\n if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders(`${newH}`, 2), e);\n },\n [currHourNum, handleChangeHours],\n );\n const handlePrevHour = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrHour(-1, e);\n },\n [handleChangeCurrHour],\n );\n const handleNextHour = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrHour(1, e);\n },\n [handleChangeCurrHour],\n );\n\n const handleTimeWheelBtnChangeMinutes = useCallback(\n (newMinutes: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeMinutes(newMinutes, e);\n },\n [handleChangeMinutes],\n );\n const handleChangeCurrMinute = useCallback(\n (offset: number, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n const newM = currMinuteNum + offset;\n if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders(`${newM}`, 2), e);\n },\n [currMinuteNum, handleChangeMinutes],\n );\n const handlePrevMinute = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrMinute(-minutesInterval, e);\n },\n [handleChangeCurrMinute, minutesInterval],\n );\n const handleNextMinute = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrMinute(minutesInterval, e);\n },\n [handleChangeCurrMinute, minutesInterval],\n );\n\n const handleTimeWheelBtnChangeMeridiem = useCallback(\n (newMeridiem: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeMeridiem(newMeridiem, e);\n },\n [handleChangeMeridiem],\n );\n\n return useMemo(\n () => ({\n currHourNum,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n handleTimeWheelBtnChangeMeridiem,\n currMeridiem,\n }),\n [\n currHourNum,\n currMinuteNum,\n currMeridiem,\n handleNextHour,\n handleNextMinute,\n handlePrevHour,\n handlePrevMinute,\n handleTimeWheelBtnChangeHours,\n handleTimeWheelBtnChangeMeridiem,\n handleTimeWheelBtnChangeMinutes,\n visibleHours,\n visibleMinutes,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|