@elliemae/ds-controlled-form 2.0.0-alpha.10 → 2.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/controlled-checkbox/ControlledCheckbox.js +11 -4
- package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
- package/cjs/controlled-checkbox/propTypes.js +5 -4
- package/cjs/controlled-checkbox/styles.js +84 -48
- package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
- package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
- package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
- package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +19 -3
- package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +29 -4
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +8 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +12 -1
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +161 -18
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +25 -22
- package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +5 -6
- package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
- package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +35 -14
- package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +17 -13
- package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +104 -36
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +12 -19
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -16
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +326 -121
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +9 -45
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -23
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +59 -58
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +55 -25
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +19 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +11 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -5
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +11 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +13 -9
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +201 -139
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +64 -141
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +12 -7
- package/cjs/controlled-date-time-picker/parts/Styleds.js +70 -31
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +17 -13
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +98 -176
- package/cjs/controlled-date-time-picker/propTypes.js +3 -1
- package/cjs/controlled-date-time-picker/utils/constants.js +16 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +39 -21
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +28 -18
- package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/cjs/controlled-toggle/ControlledToggle.js +21 -14
- package/cjs/controlled-toggle/styles.js +138 -71
- package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
- package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
- package/esm/controlled-checkbox/ControlledCheckbox.js +11 -4
- package/esm/controlled-checkbox/config/useValidateProps.js +5 -7
- package/esm/controlled-checkbox/propTypes.js +5 -4
- package/esm/controlled-checkbox/styles.js +84 -48
- package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
- package/esm/controlled-checkbox/utils/styleHelpers.js +15 -27
- package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
- package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
- package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -4
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +8 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
- package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +12 -1
- package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +163 -20
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +25 -22
- package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
- package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
- package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +17 -13
- package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +104 -36
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +3 -6
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -16
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +321 -117
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +9 -45
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +49 -24
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +60 -59
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +53 -23
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +19 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +11 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +11 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +196 -135
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +65 -142
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +13 -8
- package/esm/controlled-date-time-picker/parts/Styleds.js +68 -29
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +17 -13
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -12
- package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +99 -173
- package/esm/controlled-date-time-picker/propTypes.js +3 -1
- package/esm/controlled-date-time-picker/utils/constants.js +10 -1
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +39 -22
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +28 -18
- package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/esm/controlled-toggle/ControlledToggle.js +21 -14
- package/esm/controlled-toggle/styles.js +138 -71
- package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
- package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
- package/package.json +21 -12
- package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
- package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
- package/types/controlled-checkbox/index.d.d.ts +1 -0
- package/types/controlled-checkbox/propTypes.d.ts +55 -8
- package/types/controlled-checkbox/styles.d.ts +4 -4
- package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
- package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
- package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
- package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
- package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
- package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
- package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
- package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +84 -21
- package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +3 -0
- package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +16 -67
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +1 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +2 -17
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +3 -6
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +6 -23
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +16 -67
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -12
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -10
- package/types/controlled-date-time-picker/parts/Styleds.d.ts +12 -29
- package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
- package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
- package/types/controlled-date-time-picker/utils/constants.d.ts +9 -0
- package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +1 -0
- package/types/controlled-toggle/ControlledToggle.d.ts +78 -13
- package/types/controlled-toggle/propTypes.d.ts +73 -12
- package/types/controlled-toggle/styles.d.ts +7 -7
- package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
- package/cjs/package.json +0 -7
- package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
- package/esm/package.json +0 -7
- package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
2
|
import { useContext, useMemo } from 'react';
|
|
3
|
-
import { DSIconColors } from '@elliemae/ds-icon';
|
|
4
3
|
import { DSButtonV2, BUTTON_SIZES } from '@elliemae/ds-button';
|
|
5
|
-
import RecentDocuments from '@elliemae/ds-icons
|
|
4
|
+
import { RecentDocuments } from '@elliemae/ds-icons';
|
|
6
5
|
import { TimeWheelContext } from './TimeWheelContext.js';
|
|
7
6
|
import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
|
|
8
7
|
|
|
8
|
+
var _RecentDocuments;
|
|
9
9
|
// this is particularly useful due to how usePopper needs to check the references
|
|
10
10
|
// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
|
|
11
11
|
|
|
@@ -14,19 +14,19 @@ const TimeWheelIconTrigger = () => {
|
|
|
14
14
|
handleSetTriggerRef,
|
|
15
15
|
handleToggleTimePicker,
|
|
16
16
|
handlePickerIconKeyDown,
|
|
17
|
-
ariaCurrentValueForInputs
|
|
17
|
+
ariaCurrentValueForInputs,
|
|
18
|
+
disabled
|
|
18
19
|
} = useContext(TimeWheelContext);
|
|
19
20
|
return useMemo(() => /*#__PURE__*/_jsx(DSButtonV2, {
|
|
20
|
-
"aria-label":
|
|
21
|
+
"aria-label": "time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
|
|
21
22
|
buttonType: "icon",
|
|
22
23
|
size: BUTTON_SIZES.M,
|
|
23
24
|
innerRef: handleSetTriggerRef,
|
|
24
25
|
onClick: handleToggleTimePicker,
|
|
25
26
|
onKeyDown: handlePickerIconKeyDown,
|
|
26
|
-
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
})), [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker]);
|
|
27
|
+
"data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL,
|
|
28
|
+
disabled: disabled
|
|
29
|
+
}, void 0, _RecentDocuments || (_RecentDocuments = /*#__PURE__*/_jsx(RecentDocuments, {}))), [ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker]);
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export { TimeWheelIconTrigger };
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
7
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
3
8
|
import { useContext } from 'react';
|
|
@@ -7,19 +7,12 @@ import { useKeyboardHandlers } from './useKeyboardHandlers.js';
|
|
|
7
7
|
/* eslint-disable max-statements */
|
|
8
8
|
const useConfigTimePickerCTX = () => {
|
|
9
9
|
const {
|
|
10
|
-
pickerButtonRef,
|
|
11
10
|
props: {
|
|
12
11
|
minutesInterval,
|
|
13
12
|
getIsDisabledTime,
|
|
14
|
-
|
|
15
|
-
onPickerOpen
|
|
13
|
+
disabled
|
|
16
14
|
},
|
|
17
|
-
hideDate,
|
|
18
|
-
hideTime,
|
|
19
|
-
monthInputRef,
|
|
20
|
-
hourInputRef,
|
|
21
15
|
tempTimeString,
|
|
22
|
-
prevMonthBtnRef,
|
|
23
16
|
prevHourBtnRef,
|
|
24
17
|
currHourBtnRef,
|
|
25
18
|
nextHourBtnRef,
|
|
@@ -30,7 +23,6 @@ const useConfigTimePickerCTX = () => {
|
|
|
30
23
|
currMeridiemBtnRef,
|
|
31
24
|
nextMeridiemBtnRef,
|
|
32
25
|
isControllerOnly,
|
|
33
|
-
isWithCalendarToo,
|
|
34
26
|
autoFocusHourTimeWheel,
|
|
35
27
|
ariaCurrentValueForInputs
|
|
36
28
|
} = useContext(ControlledDateTimePickerContext);
|
|
@@ -47,12 +39,6 @@ const useConfigTimePickerCTX = () => {
|
|
|
47
39
|
handlePrevMinute,
|
|
48
40
|
handleNextMinute,
|
|
49
41
|
handleTimeWheelBtnChangeMinutes,
|
|
50
|
-
// currSecondNum,
|
|
51
|
-
// seconds,
|
|
52
|
-
// visibleSeconds,
|
|
53
|
-
// handlePrevSecond,
|
|
54
|
-
// handleNextSecond,
|
|
55
|
-
// handleTimeWheelBtnChangeSeconds,
|
|
56
42
|
meridiem,
|
|
57
43
|
handleTimeWheelBtnChangeMeridiem
|
|
58
44
|
} = useCurrentDisplayedWheelsLogic({
|
|
@@ -67,13 +53,7 @@ const useConfigTimePickerCTX = () => {
|
|
|
67
53
|
handleToggleTimePicker,
|
|
68
54
|
handleSetTriggerRef,
|
|
69
55
|
handleMenuWrapperKeyDown
|
|
70
|
-
} = usePopperTriggerLogic(
|
|
71
|
-
pickerButtonRef,
|
|
72
|
-
currHourBtnRef,
|
|
73
|
-
onPickerClose,
|
|
74
|
-
onPickerOpen,
|
|
75
|
-
isWithCalendarToo
|
|
76
|
-
});
|
|
56
|
+
} = usePopperTriggerLogic();
|
|
77
57
|
const {
|
|
78
58
|
handlePrevHourBtnOnKeyDown,
|
|
79
59
|
handleCurrHourOnKeyDown,
|
|
@@ -81,9 +61,6 @@ const useConfigTimePickerCTX = () => {
|
|
|
81
61
|
handlePrevMinuteBtnOnKeyDown,
|
|
82
62
|
handleCurrMinutesOnKeyDown,
|
|
83
63
|
handleNextMinuteBtnOnKeyDown,
|
|
84
|
-
// handlePrevSecondBtnOnKeyDown,
|
|
85
|
-
// handleCurrSecondsOnKeyDown,
|
|
86
|
-
// handleNextSecondBtnOnKeyDown,
|
|
87
64
|
handlePrevMeridiemBtnOnKeyDown,
|
|
88
65
|
handleCurrMeridiemOnKeyDown,
|
|
89
66
|
handleNextMeridiemBtnOnKeyDown,
|
|
@@ -93,28 +70,7 @@ const useConfigTimePickerCTX = () => {
|
|
|
93
70
|
handleNextHour,
|
|
94
71
|
handlePrevMinute,
|
|
95
72
|
handleNextMinute,
|
|
96
|
-
|
|
97
|
-
// handleNextSecond,
|
|
98
|
-
handleTimeWheelBtnChangeMeridiem,
|
|
99
|
-
prevMonthBtnRef,
|
|
100
|
-
prevHourBtnRef,
|
|
101
|
-
currHourBtnRef,
|
|
102
|
-
nextHourBtnRef,
|
|
103
|
-
prevMinutesBtnRef,
|
|
104
|
-
currMinutesBtnRef,
|
|
105
|
-
nextMinutesBtnRef,
|
|
106
|
-
// prevSecondsBtnRef,
|
|
107
|
-
// currSecondsBtnRef,
|
|
108
|
-
// nextSecondsBtnRef,
|
|
109
|
-
prevMeridiemBtnRef,
|
|
110
|
-
currMeridiemBtnRef,
|
|
111
|
-
nextMeridiemBtnRef,
|
|
112
|
-
hideDate,
|
|
113
|
-
hideTime,
|
|
114
|
-
monthInputRef,
|
|
115
|
-
hourInputRef,
|
|
116
|
-
isWithCalendarToo,
|
|
117
|
-
isControllerOnly
|
|
73
|
+
handleTimeWheelBtnChangeMeridiem
|
|
118
74
|
});
|
|
119
75
|
return useMemo(() => ({
|
|
120
76
|
tempTimeString,
|
|
@@ -140,12 +96,6 @@ const useConfigTimePickerCTX = () => {
|
|
|
140
96
|
handlePrevMinute,
|
|
141
97
|
handleNextMinute,
|
|
142
98
|
handleTimeWheelBtnChangeMinutes,
|
|
143
|
-
// currSecondNum,
|
|
144
|
-
// seconds,
|
|
145
|
-
// visibleSeconds,
|
|
146
|
-
// handlePrevSecond,
|
|
147
|
-
// handleNextSecond,
|
|
148
|
-
// handleTimeWheelBtnChangeSeconds,
|
|
149
99
|
meridiem,
|
|
150
100
|
handleTimeWheelBtnChangeMeridiem,
|
|
151
101
|
handlePrevHourBtnOnKeyDown,
|
|
@@ -154,9 +104,6 @@ const useConfigTimePickerCTX = () => {
|
|
|
154
104
|
handlePrevMinuteBtnOnKeyDown,
|
|
155
105
|
handleCurrMinutesOnKeyDown,
|
|
156
106
|
handleNextMinuteBtnOnKeyDown,
|
|
157
|
-
// handlePrevSecondBtnOnKeyDown,
|
|
158
|
-
// handleCurrSecondsOnKeyDown,
|
|
159
|
-
// handleNextSecondBtnOnKeyDown,
|
|
160
107
|
handlePrevMeridiemBtnOnKeyDown,
|
|
161
108
|
handleCurrMeridiemOnKeyDown,
|
|
162
109
|
handleNextMeridiemBtnOnKeyDown,
|
|
@@ -167,15 +114,13 @@ const useConfigTimePickerCTX = () => {
|
|
|
167
114
|
prevMinutesBtnRef,
|
|
168
115
|
currMinutesBtnRef,
|
|
169
116
|
nextMinutesBtnRef,
|
|
170
|
-
// prevSecondsBtnRef,
|
|
171
|
-
// currSecondsBtnRef,
|
|
172
|
-
// nextSecondsBtnRef,
|
|
173
117
|
prevMeridiemBtnRef,
|
|
174
118
|
currMeridiemBtnRef,
|
|
175
119
|
nextMeridiemBtnRef,
|
|
176
120
|
getIsDisabledTime,
|
|
177
|
-
ariaCurrentValueForInputs
|
|
178
|
-
|
|
121
|
+
ariaCurrentValueForInputs,
|
|
122
|
+
disabled
|
|
123
|
+
}), [tempTimeString, isControllerOnly, autoFocusHourTimeWheel, showTimePicker, setShowTimePicker, setPopperElement, setArrowElement, usePopperHelpers, handleToggleTimePicker, handleSetTriggerRef, handleMenuWrapperKeyDown, currHourNum, hours, visibleHours, handlePrevHour, handleNextHour, handleTimeWheelBtnChangeHours, currMinuteNum, minutes, visibleMinutes, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMinutes, meridiem, handleTimeWheelBtnChangeMeridiem, handlePrevHourBtnOnKeyDown, handleCurrHourOnKeyDown, handleNextHourBtnOnKeyDown, handlePrevMinuteBtnOnKeyDown, handleCurrMinutesOnKeyDown, handleNextMinuteBtnOnKeyDown, handlePrevMeridiemBtnOnKeyDown, handleCurrMeridiemOnKeyDown, handleNextMeridiemBtnOnKeyDown, handlePickerIconKeyDown, prevHourBtnRef, currHourBtnRef, nextHourBtnRef, prevMinutesBtnRef, currMinutesBtnRef, nextMinutesBtnRef, prevMeridiemBtnRef, currMeridiemBtnRef, nextMeridiemBtnRef, getIsDisabledTime, ariaCurrentValueForInputs, disabled]);
|
|
179
124
|
};
|
|
180
125
|
|
|
181
126
|
export { useConfigTimePickerCTX };
|
package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js
CHANGED
|
@@ -1,22 +1,25 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.map.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.map.js';
|
|
1
3
|
import { useMemo, useCallback } from 'react';
|
|
2
4
|
import { useTimeInputs } from '../../TimeInputs/useTimeInputs.js';
|
|
3
5
|
import { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers.js';
|
|
4
6
|
import { prependStringWithPlaceHolders } from '../../../utils/stringHelpers.js';
|
|
5
7
|
|
|
6
|
-
/* eslint-disable max-statements */
|
|
7
8
|
const totalHoursList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
|
|
8
9
|
const hoursInterval = 1; // using this just to unify the logic between how hours and minutes are handled
|
|
9
10
|
|
|
10
11
|
const hoursStartPositionOffset = 1; // if array start from 01, this is 1, if start from 02, it's 2 ...
|
|
11
12
|
|
|
12
|
-
const getTotalMinuteListWithStep = (
|
|
13
|
+
const getTotalMinuteListWithStep = function () {
|
|
14
|
+
let step = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
13
15
|
const length = Math.ceil(60 / step);
|
|
14
|
-
return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders(
|
|
16
|
+
return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders("".concat(i * step), 2));
|
|
15
17
|
};
|
|
16
18
|
|
|
17
|
-
const useCurrentDisplayedWheelsLogic =
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
const useCurrentDisplayedWheelsLogic = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
minutesInterval
|
|
22
|
+
} = _ref;
|
|
20
23
|
const {
|
|
21
24
|
hours,
|
|
22
25
|
minutes,
|
|
@@ -90,7 +93,7 @@ const useCurrentDisplayedWheelsLogic = ({
|
|
|
90
93
|
}, [handleChangeHours]);
|
|
91
94
|
const handleChangeCurrHour = useCallback((offset, e) => {
|
|
92
95
|
const newH = currHourNum + offset;
|
|
93
|
-
if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders(
|
|
96
|
+
if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders("".concat(newH), 2), e);
|
|
94
97
|
}, [currHourNum, handleChangeHours]);
|
|
95
98
|
const handlePrevHour = useCallback(e => {
|
|
96
99
|
handleChangeCurrHour(-1, e);
|
|
@@ -103,7 +106,7 @@ const useCurrentDisplayedWheelsLogic = ({
|
|
|
103
106
|
}, [handleChangeMinutes]);
|
|
104
107
|
const handleChangeCurrMinute = useCallback((offset, e) => {
|
|
105
108
|
const newM = currMinuteNum + offset;
|
|
106
|
-
if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders(
|
|
109
|
+
if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders("".concat(newM), 2), e);
|
|
107
110
|
}, [currMinuteNum, handleChangeMinutes]);
|
|
108
111
|
const handlePrevMinute = useCallback(e => {
|
|
109
112
|
handleChangeCurrMinute(-minutesInterval, e);
|
|
@@ -1,34 +1,39 @@
|
|
|
1
|
-
import { useCallback, useMemo } from 'react';
|
|
1
|
+
import { useContext, useCallback, useMemo } from 'react';
|
|
2
|
+
import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';
|
|
3
|
+
import { homeEndKeys, homeEndAllArrowKeys } from '../../../utils/constants.js';
|
|
2
4
|
|
|
3
5
|
/* eslint-disable @typescript-eslint/indent */
|
|
4
|
-
const useKeyboardHandlers =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
6
|
+
const useKeyboardHandlers = _ref => {
|
|
7
|
+
let {
|
|
8
|
+
handlePrevHour,
|
|
9
|
+
handleNextHour,
|
|
10
|
+
handlePrevMinute,
|
|
11
|
+
handleNextMinute,
|
|
12
|
+
handleTimeWheelBtnChangeMeridiem
|
|
13
|
+
} = _ref;
|
|
14
|
+
const {
|
|
15
|
+
withAnyInputs,
|
|
16
|
+
isWithTimeInputs,
|
|
17
|
+
isWithDateInputs,
|
|
18
|
+
isWithCalendarToo,
|
|
19
|
+
isControllerOnly,
|
|
20
|
+
hideDate,
|
|
21
|
+
hideTime,
|
|
22
|
+
monthInputRef,
|
|
23
|
+
hourInputRef,
|
|
24
|
+
meridiemInputRef,
|
|
25
|
+
yearInputRef,
|
|
26
|
+
prevMonthBtnRef,
|
|
27
|
+
prevHourBtnRef,
|
|
28
|
+
currHourBtnRef,
|
|
29
|
+
nextHourBtnRef,
|
|
30
|
+
prevMinutesBtnRef,
|
|
31
|
+
currMinutesBtnRef,
|
|
32
|
+
nextMinutesBtnRef,
|
|
33
|
+
prevMeridiemBtnRef,
|
|
34
|
+
currMeridiemBtnRef,
|
|
35
|
+
nextMeridiemBtnRef
|
|
36
|
+
} = useContext(ControlledDateTimePickerContext);
|
|
32
37
|
const onHomeKeyDownInsideTimeWheel = useCallback(() => {
|
|
33
38
|
var _prevMonthBtnRef$curr, _prevMonthBtnRef$curr2, _currHourBtnRef$curre, _currHourBtnRef$curre2;
|
|
34
39
|
|
|
@@ -48,21 +53,23 @@ const useKeyboardHandlers = ({
|
|
|
48
53
|
const {
|
|
49
54
|
key
|
|
50
55
|
} = e;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
54
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
56
|
+
if (homeEndKeys.includes(key)) e.preventDefault();
|
|
57
|
+
if (homeEndKeys.includes(key)) e.stopPropagation();
|
|
55
58
|
if (key === 'Home') onHomeKeyDownTriggerIcon();
|
|
56
|
-
|
|
59
|
+
|
|
60
|
+
if (key === 'Backspace' && withAnyInputs) {
|
|
61
|
+
var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
|
|
62
|
+
|
|
63
|
+
if (isWithTimeInputs) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);else if (isWithDateInputs) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
|
|
64
|
+
}
|
|
65
|
+
}, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef]);
|
|
57
66
|
const handleCurrHourOnKeyDown = useCallback(e => {
|
|
58
67
|
const {
|
|
59
68
|
key,
|
|
60
69
|
shiftKey
|
|
61
70
|
} = e;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
65
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
71
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
72
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
66
73
|
let didTriggerHourChange = false;
|
|
67
74
|
|
|
68
75
|
if (key === 'ArrowUp') {
|
|
@@ -101,10 +108,8 @@ const useKeyboardHandlers = ({
|
|
|
101
108
|
const {
|
|
102
109
|
key
|
|
103
110
|
} = e;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
107
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
111
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
112
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
108
113
|
let didTriggerMinuteChange = false;
|
|
109
114
|
|
|
110
115
|
if (key === 'ArrowUp') {
|
|
@@ -126,7 +131,6 @@ const useKeyboardHandlers = ({
|
|
|
126
131
|
if (key === 'ArrowRight') {
|
|
127
132
|
var _currMeridiemBtnRef$c5, _currMeridiemBtnRef$c6;
|
|
128
133
|
|
|
129
|
-
// currSecondsBtnRef?.current?.focus?.();
|
|
130
134
|
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c5 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c5 === void 0 ? void 0 : (_currMeridiemBtnRef$c6 = _currMeridiemBtnRef$c5.focus) === null || _currMeridiemBtnRef$c6 === void 0 ? void 0 : _currMeridiemBtnRef$c6.call(_currMeridiemBtnRef$c5);
|
|
131
135
|
}
|
|
132
136
|
|
|
@@ -138,45 +142,14 @@ const useKeyboardHandlers = ({
|
|
|
138
142
|
|
|
139
143
|
return currMinutesBtnRef === null || currMinutesBtnRef === void 0 ? void 0 : (_currMinutesBtnRef$cu3 = currMinutesBtnRef.current) === null || _currMinutesBtnRef$cu3 === void 0 ? void 0 : (_currMinutesBtnRef$cu4 = _currMinutesBtnRef$cu3.focus) === null || _currMinutesBtnRef$cu4 === void 0 ? void 0 : _currMinutesBtnRef$cu4.call(_currMinutesBtnRef$cu3);
|
|
140
144
|
});
|
|
141
|
-
}, [onHomeKeyDownInsideTimeWheel, onEndKeyDownInsideTimeWheel, handlePrevMinute, handleNextMinute, currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef]);
|
|
142
|
-
// (e) => {
|
|
143
|
-
// const { key } = e;
|
|
144
|
-
// let didTriggerSecondChange = false;
|
|
145
|
-
// if (key === 'ArrowUp') {
|
|
146
|
-
// handlePrevSecond(e);
|
|
147
|
-
// didTriggerSecondChange = true;
|
|
148
|
-
// }
|
|
149
|
-
// if (key === 'ArrowDown') {
|
|
150
|
-
// handleNextSecond(e);
|
|
151
|
-
// didTriggerSecondChange = true;
|
|
152
|
-
// }
|
|
153
|
-
// if (key === 'ArrowLeft') {
|
|
154
|
-
// currMinutesBtnRef?.current?.focus?.();
|
|
155
|
-
// }
|
|
156
|
-
// if (key === 'ArrowRight') {
|
|
157
|
-
// currMeridiemBtnRef?.current?.focus?.();
|
|
158
|
-
// }
|
|
159
|
-
// // ensure the focus is in the correct button after up/down arrow
|
|
160
|
-
// if (didTriggerSecondChange) setTimeout(() => currSecondsBtnRef?.current?.focus?.(), 10);
|
|
161
|
-
// },
|
|
162
|
-
// [
|
|
163
|
-
// currMeridiemBtnRef,
|
|
164
|
-
// currMinutesBtnRef,
|
|
165
|
-
// currSecondsBtnRef,
|
|
166
|
-
// handleNextSecond,
|
|
167
|
-
// handlePrevSecond,
|
|
168
|
-
// ],
|
|
169
|
-
// );
|
|
170
|
-
|
|
145
|
+
}, [onHomeKeyDownInsideTimeWheel, onEndKeyDownInsideTimeWheel, handlePrevMinute, handleNextMinute, currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef]);
|
|
171
146
|
const handleCurrMeridiemOnKeyDown = useCallback(e => {
|
|
172
147
|
const {
|
|
173
148
|
key,
|
|
174
149
|
shiftKey
|
|
175
150
|
} = e;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
179
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
151
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
152
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
180
153
|
let didTriggerMeridiemChange = false;
|
|
181
154
|
|
|
182
155
|
if (key === 'ArrowUp') {
|
|
@@ -216,10 +189,8 @@ const useKeyboardHandlers = ({
|
|
|
216
189
|
const {
|
|
217
190
|
key
|
|
218
191
|
} = e;
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
222
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
192
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
193
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
223
194
|
|
|
224
195
|
if (key === 'ArrowRight') {
|
|
225
196
|
var _prevMinutesBtnRef$cu, _prevMinutesBtnRef$cu2;
|
|
@@ -240,10 +211,8 @@ const useKeyboardHandlers = ({
|
|
|
240
211
|
const {
|
|
241
212
|
key
|
|
242
213
|
} = e;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
246
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
214
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
215
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
247
216
|
|
|
248
217
|
if (key === 'ArrowRight') {
|
|
249
218
|
var _prevMeridiemBtnRef$c, _prevMeridiemBtnRef$c2;
|
|
@@ -266,35 +235,17 @@ const useKeyboardHandlers = ({
|
|
|
266
235
|
|
|
267
236
|
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
268
237
|
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
269
|
-
}, [currMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevHourBtnRef, prevMeridiemBtnRef]);
|
|
270
|
-
// (e) => {
|
|
271
|
-
// const { key } = e;
|
|
272
|
-
// if (key === 'ArrowRight') {
|
|
273
|
-
// prevMeridiemBtnRef?.current?.focus?.();
|
|
274
|
-
// }
|
|
275
|
-
// if (key === 'ArrowLeft') {
|
|
276
|
-
// prevMinutesBtnRef?.current?.focus?.();
|
|
277
|
-
// }
|
|
278
|
-
// if (key === 'ArrowDown') {
|
|
279
|
-
// currSecondsBtnRef?.current?.focus?.();
|
|
280
|
-
// }
|
|
281
|
-
// },
|
|
282
|
-
// [currSecondsBtnRef, prevMeridiemBtnRef, prevMinutesBtnRef],
|
|
283
|
-
// );
|
|
284
|
-
|
|
238
|
+
}, [currMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevHourBtnRef, prevMeridiemBtnRef]);
|
|
285
239
|
const handlePrevMeridiemBtnOnKeyDown = useCallback(e => {
|
|
286
240
|
const {
|
|
287
241
|
key
|
|
288
242
|
} = e;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
292
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
243
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
244
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
293
245
|
|
|
294
246
|
if (key === 'ArrowLeft') {
|
|
295
247
|
var _prevMinutesBtnRef$cu3, _prevMinutesBtnRef$cu4;
|
|
296
248
|
|
|
297
|
-
// prevSecondsBtnRef?.current?.focus?.();
|
|
298
249
|
prevMinutesBtnRef === null || prevMinutesBtnRef === void 0 ? void 0 : (_prevMinutesBtnRef$cu3 = prevMinutesBtnRef.current) === null || _prevMinutesBtnRef$cu3 === void 0 ? void 0 : (_prevMinutesBtnRef$cu4 = _prevMinutesBtnRef$cu3.focus) === null || _prevMinutesBtnRef$cu4 === void 0 ? void 0 : _prevMinutesBtnRef$cu4.call(_prevMinutesBtnRef$cu3);
|
|
299
250
|
}
|
|
300
251
|
|
|
@@ -311,10 +262,8 @@ const useKeyboardHandlers = ({
|
|
|
311
262
|
const {
|
|
312
263
|
key
|
|
313
264
|
} = e;
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
317
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
265
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
266
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
318
267
|
|
|
319
268
|
if (key === 'ArrowRight') {
|
|
320
269
|
var _nextMinutesBtnRef$cu, _nextMinutesBtnRef$cu2;
|
|
@@ -335,15 +284,12 @@ const useKeyboardHandlers = ({
|
|
|
335
284
|
const {
|
|
336
285
|
key
|
|
337
286
|
} = e;
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
341
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
287
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
288
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
342
289
|
|
|
343
290
|
if (key === 'ArrowRight') {
|
|
344
291
|
var _nextMeridiemBtnRef$c, _nextMeridiemBtnRef$c2;
|
|
345
292
|
|
|
346
|
-
// nextSecondsBtnRef?.current?.focus?.();
|
|
347
293
|
nextMeridiemBtnRef === null || nextMeridiemBtnRef === void 0 ? void 0 : (_nextMeridiemBtnRef$c = nextMeridiemBtnRef.current) === null || _nextMeridiemBtnRef$c === void 0 ? void 0 : (_nextMeridiemBtnRef$c2 = _nextMeridiemBtnRef$c.focus) === null || _nextMeridiemBtnRef$c2 === void 0 ? void 0 : _nextMeridiemBtnRef$c2.call(_nextMeridiemBtnRef$c);
|
|
348
294
|
}
|
|
349
295
|
|
|
@@ -361,30 +307,13 @@ const useKeyboardHandlers = ({
|
|
|
361
307
|
|
|
362
308
|
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
363
309
|
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
364
|
-
}, [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]);
|
|
365
|
-
// (e) => {
|
|
366
|
-
// const { key } = e;
|
|
367
|
-
// if (key === 'ArrowRight') {
|
|
368
|
-
// nextMeridiemBtnRef?.current?.focus?.();
|
|
369
|
-
// }
|
|
370
|
-
// if (key === 'ArrowLeft') {
|
|
371
|
-
// nextMinutesBtnRef?.current?.focus?.();
|
|
372
|
-
// }
|
|
373
|
-
// if (key === 'ArrowUp') {
|
|
374
|
-
// currSecondsBtnRef?.current?.focus?.();
|
|
375
|
-
// }
|
|
376
|
-
// },
|
|
377
|
-
// [currSecondsBtnRef, nextMeridiemBtnRef, nextMinutesBtnRef],
|
|
378
|
-
// );
|
|
379
|
-
|
|
310
|
+
}, [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]);
|
|
380
311
|
const handleNextMeridiemBtnOnKeyDown = useCallback(e => {
|
|
381
312
|
const {
|
|
382
313
|
key
|
|
383
314
|
} = e;
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
387
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
315
|
+
if (homeEndAllArrowKeys.includes(key)) e.preventDefault();
|
|
316
|
+
if (homeEndAllArrowKeys.includes(key)) e.stopPropagation();
|
|
388
317
|
|
|
389
318
|
if (key === 'ArrowLeft') {
|
|
390
319
|
var _nextMinutesBtnRef$cu3, _nextMinutesBtnRef$cu4;
|
|
@@ -408,17 +337,11 @@ const useKeyboardHandlers = ({
|
|
|
408
337
|
handlePrevMinuteBtnOnKeyDown,
|
|
409
338
|
handleCurrMinutesOnKeyDown,
|
|
410
339
|
handleNextMinuteBtnOnKeyDown,
|
|
411
|
-
// handlePrevSecondBtnOnKeyDown,
|
|
412
|
-
// handleCurrSecondsOnKeyDown,
|
|
413
|
-
// handleNextSecondBtnOnKeyDown,
|
|
414
340
|
handlePrevMeridiemBtnOnKeyDown,
|
|
415
341
|
handleCurrMeridiemOnKeyDown,
|
|
416
342
|
handleNextMeridiemBtnOnKeyDown,
|
|
417
343
|
handlePickerIconKeyDown
|
|
418
|
-
}), [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown,
|
|
419
|
-
handleNextHourBtnOnKeyDown, handleNextMeridiemBtnOnKeyDown, handleNextMinuteBtnOnKeyDown, // handleNextSecondBtnOnKeyDown,
|
|
420
|
-
handlePrevHourBtnOnKeyDown, handlePrevMeridiemBtnOnKeyDown, handlePrevMinuteBtnOnKeyDown, // handlePrevSecondBtnOnKeyDown,
|
|
421
|
-
handlePickerIconKeyDown]);
|
|
344
|
+
}), [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown, handleNextHourBtnOnKeyDown, handleNextMeridiemBtnOnKeyDown, handleNextMinuteBtnOnKeyDown, handlePrevHourBtnOnKeyDown, handlePrevMeridiemBtnOnKeyDown, handlePrevMinuteBtnOnKeyDown, handlePickerIconKeyDown]);
|
|
422
345
|
};
|
|
423
346
|
|
|
424
347
|
export { useKeyboardHandlers };
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
|
+
import { useContext, useState, useCallback, useMemo } from 'react';
|
|
2
3
|
import { usePopper } from 'react-popper';
|
|
4
|
+
import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';
|
|
3
5
|
import { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside.js';
|
|
4
6
|
|
|
5
|
-
const usePopperTriggerLogic = ({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
7
|
+
const usePopperTriggerLogic = () => {
|
|
8
|
+
const {
|
|
9
|
+
pickerButtonRef,
|
|
10
|
+
props: {
|
|
11
|
+
onPickerClose,
|
|
12
|
+
onPickerOpen
|
|
13
|
+
},
|
|
14
|
+
currHourBtnRef,
|
|
15
|
+
isWithCalendarToo
|
|
16
|
+
} = useContext(ControlledDateTimePickerContext);
|
|
12
17
|
const [showTimePicker, setShowTimePicker] = useState(false);
|
|
13
18
|
const [referenceElement, setReferenceElement] = useState(null);
|
|
14
19
|
const [popperElement, setPopperElement] = useState(null);
|