@elliemae/ds-controlled-form 1.54.0-next.7 → 1.54.0-rc.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/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
- package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
- package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
- package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
- package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
- package/package.json +4 -4
|
@@ -25,87 +25,127 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
|
|
|
25
25
|
hideTime = _ref.hideTime,
|
|
26
26
|
monthInputRef = _ref.monthInputRef,
|
|
27
27
|
hourInputRef = _ref.hourInputRef,
|
|
28
|
-
isWithCalendarToo = _ref.isWithCalendarToo
|
|
29
|
-
|
|
28
|
+
isWithCalendarToo = _ref.isWithCalendarToo,
|
|
29
|
+
isControllerOnly = _ref.isControllerOnly;
|
|
30
|
+
var onHomeKeyDownInsideTimeWheel = React.useCallback(function () {
|
|
31
|
+
var _prevMonthBtnRef$curr, _prevMonthBtnRef$curr2, _currHourBtnRef$curre, _currHourBtnRef$curre2;
|
|
32
|
+
|
|
33
|
+
if (isWithCalendarToo) prevMonthBtnRef === null || prevMonthBtnRef === void 0 ? void 0 : (_prevMonthBtnRef$curr = prevMonthBtnRef.current) === null || _prevMonthBtnRef$curr === void 0 ? void 0 : (_prevMonthBtnRef$curr2 = _prevMonthBtnRef$curr.focus) === null || _prevMonthBtnRef$curr2 === void 0 ? void 0 : _prevMonthBtnRef$curr2.call(_prevMonthBtnRef$curr);else currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre = currHourBtnRef.current) === null || _currHourBtnRef$curre === void 0 ? void 0 : (_currHourBtnRef$curre2 = _currHourBtnRef$curre.focus) === null || _currHourBtnRef$curre2 === void 0 ? void 0 : _currHourBtnRef$curre2.call(_currHourBtnRef$curre);
|
|
34
|
+
}, [currHourBtnRef, isWithCalendarToo, prevMonthBtnRef]);
|
|
35
|
+
var onEndKeyDownInsideTimeWheel = React.useCallback(function () {
|
|
36
|
+
var _currMeridiemBtnRef$c, _currMeridiemBtnRef$c2;
|
|
37
|
+
|
|
38
|
+
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c === void 0 ? void 0 : (_currMeridiemBtnRef$c2 = _currMeridiemBtnRef$c.focus) === null || _currMeridiemBtnRef$c2 === void 0 ? void 0 : _currMeridiemBtnRef$c2.call(_currMeridiemBtnRef$c);
|
|
39
|
+
}, [currMeridiemBtnRef]);
|
|
40
|
+
var onHomeKeyDownTriggerIcon = React.useCallback(function () {
|
|
30
41
|
var _monthInputRef$curren, _monthInputRef$curren2, _hourInputRef$current, _hourInputRef$current2;
|
|
31
42
|
|
|
32
43
|
if (!hideDate) monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren = monthInputRef.current) === null || _monthInputRef$curren === void 0 ? void 0 : (_monthInputRef$curren2 = _monthInputRef$curren.focus) === null || _monthInputRef$curren2 === void 0 ? void 0 : _monthInputRef$curren2.call(_monthInputRef$curren);else if (!hideTime) hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current = hourInputRef.current) === null || _hourInputRef$current === void 0 ? void 0 : (_hourInputRef$current2 = _hourInputRef$current.focus) === null || _hourInputRef$current2 === void 0 ? void 0 : _hourInputRef$current2.call(_hourInputRef$current);
|
|
33
44
|
}, [hideDate, hideTime, monthInputRef, hourInputRef]);
|
|
34
45
|
var handlePickerIconKeyDown = React.useCallback(function (e) {
|
|
35
46
|
var key = e.key;
|
|
36
|
-
var preventDefaultKeys = ['Home'];
|
|
47
|
+
var preventDefaultKeys = ['Home', 'End'];
|
|
48
|
+
var stopPropagationKeys = ['Home', 'End'];
|
|
37
49
|
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
38
|
-
if (key
|
|
39
|
-
|
|
50
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
51
|
+
if (key === 'Home') onHomeKeyDownTriggerIcon();
|
|
52
|
+
}, [onHomeKeyDownTriggerIcon]);
|
|
40
53
|
var handleCurrHourOnKeyDown = React.useCallback(function (e) {
|
|
41
54
|
var key = e.key,
|
|
42
55
|
shiftKey = e.shiftKey;
|
|
56
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
57
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
58
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
59
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
43
60
|
var didTriggerHourChange = false;
|
|
44
61
|
|
|
45
62
|
if (key === 'ArrowUp') {
|
|
46
63
|
handlePrevHour(e);
|
|
47
64
|
didTriggerHourChange = true;
|
|
48
|
-
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (key === 'ArrowDown') {
|
|
49
68
|
handleNextHour(e);
|
|
50
69
|
didTriggerHourChange = true;
|
|
51
|
-
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (key === 'ArrowRight') {
|
|
52
73
|
var _currMinutesBtnRef$cu, _currMinutesBtnRef$cu2;
|
|
53
74
|
|
|
54
75
|
currMinutesBtnRef === null || currMinutesBtnRef === void 0 ? void 0 : (_currMinutesBtnRef$cu = currMinutesBtnRef.current) === null || _currMinutesBtnRef$cu === void 0 ? void 0 : (_currMinutesBtnRef$cu2 = _currMinutesBtnRef$cu.focus) === null || _currMinutesBtnRef$cu2 === void 0 ? void 0 : _currMinutesBtnRef$cu2.call(_currMinutesBtnRef$cu);
|
|
55
|
-
}
|
|
56
|
-
var _currMeridiemBtnRef$c, _currMeridiemBtnRef$c2;
|
|
57
|
-
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c === void 0 ? void 0 : (_currMeridiemBtnRef$c2 = _currMeridiemBtnRef$c.focus) === null || _currMeridiemBtnRef$c2 === void 0 ? void 0 : _currMeridiemBtnRef$c2.call(_currMeridiemBtnRef$c);
|
|
60
|
-
} // ensure the focus is in the correct button after up/down arrow
|
|
76
|
+
}
|
|
61
77
|
|
|
78
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
79
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel(); // ensure the focus is in the correct button after up/down arrow
|
|
62
80
|
|
|
63
81
|
if (didTriggerHourChange) setTimeout(function () {
|
|
64
|
-
var _currHourBtnRef$
|
|
82
|
+
var _currHourBtnRef$curre3, _currHourBtnRef$curre4;
|
|
65
83
|
|
|
66
|
-
return currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$
|
|
67
|
-
});
|
|
68
|
-
|
|
84
|
+
return currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre3 = currHourBtnRef.current) === null || _currHourBtnRef$curre3 === void 0 ? void 0 : (_currHourBtnRef$curre4 = _currHourBtnRef$curre3.focus) === null || _currHourBtnRef$curre4 === void 0 ? void 0 : _currHourBtnRef$curre4.call(_currHourBtnRef$curre3);
|
|
85
|
+
}); // TAB CYCLE IMPLEMENTATION
|
|
86
|
+
|
|
87
|
+
if (!isControllerOnly) if (key === 'Tab' && shiftKey && !isWithCalendarToo) {
|
|
88
|
+
var _currMeridiemBtnRef$c3, _currMeridiemBtnRef$c4;
|
|
89
|
+
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c3 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c3 === void 0 ? void 0 : (_currMeridiemBtnRef$c4 = _currMeridiemBtnRef$c3.focus) === null || _currMeridiemBtnRef$c4 === void 0 ? void 0 : _currMeridiemBtnRef$c4.call(_currMeridiemBtnRef$c3);
|
|
92
|
+
}
|
|
93
|
+
}, [currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef, handleNextHour, handlePrevHour, isControllerOnly, isWithCalendarToo, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]);
|
|
69
94
|
var handleCurrMinutesOnKeyDown = React.useCallback(function (e) {
|
|
70
95
|
var key = e.key;
|
|
96
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
97
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
98
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
99
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
71
100
|
var didTriggerMinuteChange = false;
|
|
72
101
|
|
|
73
102
|
if (key === 'ArrowUp') {
|
|
74
103
|
handlePrevMinute(e);
|
|
75
104
|
didTriggerMinuteChange = true;
|
|
76
|
-
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (key === 'ArrowDown') {
|
|
77
108
|
handleNextMinute(e);
|
|
78
109
|
didTriggerMinuteChange = true;
|
|
79
|
-
}
|
|
80
|
-
var _currHourBtnRef$curre3, _currHourBtnRef$curre4;
|
|
110
|
+
}
|
|
81
111
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
112
|
+
if (key === 'ArrowLeft') {
|
|
113
|
+
var _currHourBtnRef$curre5, _currHourBtnRef$curre6;
|
|
114
|
+
|
|
115
|
+
currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre5 = currHourBtnRef.current) === null || _currHourBtnRef$curre5 === void 0 ? void 0 : (_currHourBtnRef$curre6 = _currHourBtnRef$curre5.focus) === null || _currHourBtnRef$curre6 === void 0 ? void 0 : _currHourBtnRef$curre6.call(_currHourBtnRef$curre5);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (key === 'ArrowRight') {
|
|
119
|
+
var _currMeridiemBtnRef$c5, _currMeridiemBtnRef$c6;
|
|
85
120
|
|
|
86
121
|
// currSecondsBtnRef?.current?.focus?.();
|
|
87
|
-
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$
|
|
88
|
-
}
|
|
122
|
+
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);
|
|
123
|
+
}
|
|
89
124
|
|
|
125
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
126
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel(); // ensure the focus is in the correct button after up/down arrow
|
|
90
127
|
|
|
91
128
|
if (didTriggerMinuteChange) setTimeout(function () {
|
|
92
129
|
var _currMinutesBtnRef$cu3, _currMinutesBtnRef$cu4;
|
|
93
130
|
|
|
94
131
|
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);
|
|
95
132
|
});
|
|
96
|
-
}, [
|
|
133
|
+
}, [onHomeKeyDownInsideTimeWheel, onEndKeyDownInsideTimeWheel, handlePrevMinute, handleNextMinute, currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef]); // const handleCurrSecondsOnKeyDown = useCallback(
|
|
97
134
|
// (e) => {
|
|
98
135
|
// const { key } = e;
|
|
99
136
|
// let didTriggerSecondChange = false;
|
|
100
137
|
// if (key === 'ArrowUp') {
|
|
101
138
|
// handlePrevSecond(e);
|
|
102
139
|
// didTriggerSecondChange = true;
|
|
103
|
-
// }
|
|
140
|
+
// }
|
|
141
|
+
// if (key === 'ArrowDown') {
|
|
104
142
|
// handleNextSecond(e);
|
|
105
143
|
// didTriggerSecondChange = true;
|
|
106
|
-
// }
|
|
144
|
+
// }
|
|
145
|
+
// if (key === 'ArrowLeft') {
|
|
107
146
|
// currMinutesBtnRef?.current?.focus?.();
|
|
108
|
-
// }
|
|
147
|
+
// }
|
|
148
|
+
// if (key === 'ArrowRight') {
|
|
109
149
|
// currMeridiemBtnRef?.current?.focus?.();
|
|
110
150
|
// }
|
|
111
151
|
// // ensure the focus is in the correct button after up/down arrow
|
|
@@ -123,71 +163,105 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
|
|
|
123
163
|
var handleCurrMeridiemOnKeyDown = React.useCallback(function (e) {
|
|
124
164
|
var key = e.key,
|
|
125
165
|
shiftKey = e.shiftKey;
|
|
166
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
167
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
168
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
169
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
126
170
|
var didTriggerMeridiemChange = false;
|
|
127
171
|
|
|
128
172
|
if (key === 'ArrowUp') {
|
|
129
173
|
handleTimeWheelBtnChangeMeridiem('AM', e);
|
|
130
174
|
didTriggerMeridiemChange = true;
|
|
131
|
-
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (key === 'ArrowDown') {
|
|
132
178
|
handleTimeWheelBtnChangeMeridiem('PM', e);
|
|
133
179
|
didTriggerMeridiemChange = true;
|
|
134
|
-
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (key === 'ArrowLeft') {
|
|
135
183
|
var _currMinutesBtnRef$cu5, _currMinutesBtnRef$cu6;
|
|
136
184
|
|
|
137
185
|
// currSecondsBtnRef?.current?.focus?.();
|
|
138
186
|
currMinutesBtnRef === null || currMinutesBtnRef === void 0 ? void 0 : (_currMinutesBtnRef$cu5 = currMinutesBtnRef.current) === null || _currMinutesBtnRef$cu5 === void 0 ? void 0 : (_currMinutesBtnRef$cu6 = _currMinutesBtnRef$cu5.focus) === null || _currMinutesBtnRef$cu6 === void 0 ? void 0 : _currMinutesBtnRef$cu6.call(_currMinutesBtnRef$cu5);
|
|
139
|
-
}
|
|
140
|
-
var _prevMonthBtnRef$curr, _prevMonthBtnRef$curr2, _currHourBtnRef$curre5, _currHourBtnRef$curre6;
|
|
141
|
-
|
|
142
|
-
e.preventDefault();
|
|
143
|
-
if (isWithCalendarToo) prevMonthBtnRef === null || prevMonthBtnRef === void 0 ? void 0 : (_prevMonthBtnRef$curr = prevMonthBtnRef.current) === null || _prevMonthBtnRef$curr === void 0 ? void 0 : (_prevMonthBtnRef$curr2 = _prevMonthBtnRef$curr.focus) === null || _prevMonthBtnRef$curr2 === void 0 ? void 0 : _prevMonthBtnRef$curr2.call(_prevMonthBtnRef$curr);else currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre5 = currHourBtnRef.current) === null || _currHourBtnRef$curre5 === void 0 ? void 0 : (_currHourBtnRef$curre6 = _currHourBtnRef$curre5.focus) === null || _currHourBtnRef$curre6 === void 0 ? void 0 : _currHourBtnRef$curre6.call(_currHourBtnRef$curre5);
|
|
144
|
-
} // ensure the focus is in the correct button after up/down arrow
|
|
187
|
+
}
|
|
145
188
|
|
|
189
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
190
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel(); // ensure the focus is in the correct button after up/down arrow
|
|
146
191
|
|
|
147
192
|
if (didTriggerMeridiemChange) setTimeout(function () {
|
|
148
|
-
var _currMeridiemBtnRef$
|
|
193
|
+
var _currMeridiemBtnRef$c7, _currMeridiemBtnRef$c8;
|
|
149
194
|
|
|
150
|
-
return currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$
|
|
151
|
-
});
|
|
152
|
-
|
|
195
|
+
return currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c7 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c7 === void 0 ? void 0 : (_currMeridiemBtnRef$c8 = _currMeridiemBtnRef$c7.focus) === null || _currMeridiemBtnRef$c8 === void 0 ? void 0 : _currMeridiemBtnRef$c8.call(_currMeridiemBtnRef$c7);
|
|
196
|
+
}); // TAB CYCLE IMPLEMENTATION
|
|
197
|
+
|
|
198
|
+
if (!isControllerOnly) if (key === 'Tab' && !shiftKey) {
|
|
199
|
+
var _prevMonthBtnRef$curr3, _prevMonthBtnRef$curr4, _currHourBtnRef$curre7, _currHourBtnRef$curre8;
|
|
200
|
+
|
|
201
|
+
e.preventDefault();
|
|
202
|
+
if (isWithCalendarToo) prevMonthBtnRef === null || prevMonthBtnRef === void 0 ? void 0 : (_prevMonthBtnRef$curr3 = prevMonthBtnRef.current) === null || _prevMonthBtnRef$curr3 === void 0 ? void 0 : (_prevMonthBtnRef$curr4 = _prevMonthBtnRef$curr3.focus) === null || _prevMonthBtnRef$curr4 === void 0 ? void 0 : _prevMonthBtnRef$curr4.call(_prevMonthBtnRef$curr3);else currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre7 = currHourBtnRef.current) === null || _currHourBtnRef$curre7 === void 0 ? void 0 : (_currHourBtnRef$curre8 = _currHourBtnRef$curre7.focus) === null || _currHourBtnRef$curre8 === void 0 ? void 0 : _currHourBtnRef$curre8.call(_currHourBtnRef$curre7);
|
|
203
|
+
}
|
|
204
|
+
}, [currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef, handleTimeWheelBtnChangeMeridiem, isControllerOnly, isWithCalendarToo, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevMonthBtnRef]);
|
|
153
205
|
var handlePrevHourBtnOnKeyDown = React.useCallback(function (e) {
|
|
154
206
|
var key = e.key;
|
|
207
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
208
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
209
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
210
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
155
211
|
|
|
156
212
|
if (key === 'ArrowRight') {
|
|
157
213
|
var _prevMinutesBtnRef$cu, _prevMinutesBtnRef$cu2;
|
|
158
214
|
|
|
159
215
|
prevMinutesBtnRef === null || prevMinutesBtnRef === void 0 ? void 0 : (_prevMinutesBtnRef$cu = prevMinutesBtnRef.current) === null || _prevMinutesBtnRef$cu === void 0 ? void 0 : (_prevMinutesBtnRef$cu2 = _prevMinutesBtnRef$cu.focus) === null || _prevMinutesBtnRef$cu2 === void 0 ? void 0 : _prevMinutesBtnRef$cu2.call(_prevMinutesBtnRef$cu);
|
|
160
|
-
}
|
|
161
|
-
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (key === 'ArrowDown') {
|
|
219
|
+
var _currHourBtnRef$curre9, _currHourBtnRef$curre10;
|
|
162
220
|
|
|
163
|
-
currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$
|
|
221
|
+
currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre9 = currHourBtnRef.current) === null || _currHourBtnRef$curre9 === void 0 ? void 0 : (_currHourBtnRef$curre10 = _currHourBtnRef$curre9.focus) === null || _currHourBtnRef$curre10 === void 0 ? void 0 : _currHourBtnRef$curre10.call(_currHourBtnRef$curre9);
|
|
164
222
|
}
|
|
165
|
-
|
|
223
|
+
|
|
224
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
225
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
226
|
+
}, [currHourBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevMinutesBtnRef]);
|
|
166
227
|
var handlePrevMinuteBtnOnKeyDown = React.useCallback(function (e) {
|
|
167
228
|
var key = e.key;
|
|
229
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
230
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
231
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
232
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
168
233
|
|
|
169
234
|
if (key === 'ArrowRight') {
|
|
170
235
|
var _prevMeridiemBtnRef$c, _prevMeridiemBtnRef$c2;
|
|
171
236
|
|
|
172
237
|
// prevSecondsBtnRef?.current?.focus?.();
|
|
173
238
|
prevMeridiemBtnRef === null || prevMeridiemBtnRef === void 0 ? void 0 : (_prevMeridiemBtnRef$c = prevMeridiemBtnRef.current) === null || _prevMeridiemBtnRef$c === void 0 ? void 0 : (_prevMeridiemBtnRef$c2 = _prevMeridiemBtnRef$c.focus) === null || _prevMeridiemBtnRef$c2 === void 0 ? void 0 : _prevMeridiemBtnRef$c2.call(_prevMeridiemBtnRef$c);
|
|
174
|
-
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (key === 'ArrowLeft') {
|
|
175
242
|
var _prevHourBtnRef$curre, _prevHourBtnRef$curre2;
|
|
176
243
|
|
|
177
244
|
prevHourBtnRef === null || prevHourBtnRef === void 0 ? void 0 : (_prevHourBtnRef$curre = prevHourBtnRef.current) === null || _prevHourBtnRef$curre === void 0 ? void 0 : (_prevHourBtnRef$curre2 = _prevHourBtnRef$curre.focus) === null || _prevHourBtnRef$curre2 === void 0 ? void 0 : _prevHourBtnRef$curre2.call(_prevHourBtnRef$curre);
|
|
178
|
-
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (key === 'ArrowDown') {
|
|
179
248
|
var _currMinutesBtnRef$cu7, _currMinutesBtnRef$cu8;
|
|
180
249
|
|
|
181
250
|
currMinutesBtnRef === null || currMinutesBtnRef === void 0 ? void 0 : (_currMinutesBtnRef$cu7 = currMinutesBtnRef.current) === null || _currMinutesBtnRef$cu7 === void 0 ? void 0 : (_currMinutesBtnRef$cu8 = _currMinutesBtnRef$cu7.focus) === null || _currMinutesBtnRef$cu8 === void 0 ? void 0 : _currMinutesBtnRef$cu8.call(_currMinutesBtnRef$cu7);
|
|
182
251
|
}
|
|
183
|
-
|
|
252
|
+
|
|
253
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
254
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
255
|
+
}, [currMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevHourBtnRef, prevMeridiemBtnRef]); // const handlePrevSecondBtnOnKeyDown = useCallback(
|
|
184
256
|
// (e) => {
|
|
185
257
|
// const { key } = e;
|
|
186
258
|
// if (key === 'ArrowRight') {
|
|
187
259
|
// prevMeridiemBtnRef?.current?.focus?.();
|
|
188
|
-
// }
|
|
260
|
+
// }
|
|
261
|
+
// if (key === 'ArrowLeft') {
|
|
189
262
|
// prevMinutesBtnRef?.current?.focus?.();
|
|
190
|
-
// }
|
|
263
|
+
// }
|
|
264
|
+
// if (key === 'ArrowDown') {
|
|
191
265
|
// currSecondsBtnRef?.current?.focus?.();
|
|
192
266
|
// }
|
|
193
267
|
// },
|
|
@@ -196,56 +270,87 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
|
|
|
196
270
|
|
|
197
271
|
var handlePrevMeridiemBtnOnKeyDown = React.useCallback(function (e) {
|
|
198
272
|
var key = e.key;
|
|
273
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
274
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
275
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
276
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
199
277
|
|
|
200
278
|
if (key === 'ArrowLeft') {
|
|
201
279
|
var _prevMinutesBtnRef$cu3, _prevMinutesBtnRef$cu4;
|
|
202
280
|
|
|
203
281
|
// prevSecondsBtnRef?.current?.focus?.();
|
|
204
282
|
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);
|
|
205
|
-
}
|
|
206
|
-
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
if (key === 'ArrowDown') {
|
|
286
|
+
var _currMeridiemBtnRef$c9, _currMeridiemBtnRef$c10;
|
|
207
287
|
|
|
208
|
-
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$
|
|
288
|
+
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c9 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c9 === void 0 ? void 0 : (_currMeridiemBtnRef$c10 = _currMeridiemBtnRef$c9.focus) === null || _currMeridiemBtnRef$c10 === void 0 ? void 0 : _currMeridiemBtnRef$c10.call(_currMeridiemBtnRef$c9);
|
|
209
289
|
}
|
|
210
|
-
|
|
290
|
+
|
|
291
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
292
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
293
|
+
}, [currMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevMinutesBtnRef]);
|
|
211
294
|
var handleNextHourBtnOnKeyDown = React.useCallback(function (e) {
|
|
212
295
|
var key = e.key;
|
|
296
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
297
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
298
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
299
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
213
300
|
|
|
214
301
|
if (key === 'ArrowRight') {
|
|
215
302
|
var _nextMinutesBtnRef$cu, _nextMinutesBtnRef$cu2;
|
|
216
303
|
|
|
217
304
|
nextMinutesBtnRef === null || nextMinutesBtnRef === void 0 ? void 0 : (_nextMinutesBtnRef$cu = nextMinutesBtnRef.current) === null || _nextMinutesBtnRef$cu === void 0 ? void 0 : (_nextMinutesBtnRef$cu2 = _nextMinutesBtnRef$cu.focus) === null || _nextMinutesBtnRef$cu2 === void 0 ? void 0 : _nextMinutesBtnRef$cu2.call(_nextMinutesBtnRef$cu);
|
|
218
|
-
}
|
|
219
|
-
var _currHourBtnRef$curre9, _currHourBtnRef$curre10;
|
|
305
|
+
}
|
|
220
306
|
|
|
221
|
-
|
|
307
|
+
if (key === 'ArrowUp') {
|
|
308
|
+
var _currHourBtnRef$curre11, _currHourBtnRef$curre12;
|
|
309
|
+
|
|
310
|
+
currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre11 = currHourBtnRef.current) === null || _currHourBtnRef$curre11 === void 0 ? void 0 : (_currHourBtnRef$curre12 = _currHourBtnRef$curre11.focus) === null || _currHourBtnRef$curre12 === void 0 ? void 0 : _currHourBtnRef$curre12.call(_currHourBtnRef$curre11);
|
|
222
311
|
}
|
|
223
|
-
|
|
312
|
+
|
|
313
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
314
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
315
|
+
}, [currHourBtnRef, nextMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]);
|
|
224
316
|
var handleNextMinuteBtnOnKeyDown = React.useCallback(function (e) {
|
|
225
317
|
var key = e.key;
|
|
318
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
319
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
320
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
321
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
226
322
|
|
|
227
323
|
if (key === 'ArrowRight') {
|
|
228
324
|
var _nextMeridiemBtnRef$c, _nextMeridiemBtnRef$c2;
|
|
229
325
|
|
|
230
326
|
// nextSecondsBtnRef?.current?.focus?.();
|
|
231
327
|
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);
|
|
232
|
-
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
if (key === 'ArrowLeft') {
|
|
233
331
|
var _nextHourBtnRef$curre, _nextHourBtnRef$curre2;
|
|
234
332
|
|
|
235
333
|
nextHourBtnRef === null || nextHourBtnRef === void 0 ? void 0 : (_nextHourBtnRef$curre = nextHourBtnRef.current) === null || _nextHourBtnRef$curre === void 0 ? void 0 : (_nextHourBtnRef$curre2 = _nextHourBtnRef$curre.focus) === null || _nextHourBtnRef$curre2 === void 0 ? void 0 : _nextHourBtnRef$curre2.call(_nextHourBtnRef$curre);
|
|
236
|
-
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
if (key === 'ArrowUp') {
|
|
237
337
|
var _currMinutesBtnRef$cu9, _currMinutesBtnRef$cu10;
|
|
238
338
|
|
|
239
339
|
currMinutesBtnRef === null || currMinutesBtnRef === void 0 ? void 0 : (_currMinutesBtnRef$cu9 = currMinutesBtnRef.current) === null || _currMinutesBtnRef$cu9 === void 0 ? void 0 : (_currMinutesBtnRef$cu10 = _currMinutesBtnRef$cu9.focus) === null || _currMinutesBtnRef$cu10 === void 0 ? void 0 : _currMinutesBtnRef$cu10.call(_currMinutesBtnRef$cu9);
|
|
240
340
|
}
|
|
241
|
-
|
|
341
|
+
|
|
342
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
343
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
344
|
+
}, [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]); // const handleNextSecondBtnOnKeyDown = useCallback(
|
|
242
345
|
// (e) => {
|
|
243
346
|
// const { key } = e;
|
|
244
347
|
// if (key === 'ArrowRight') {
|
|
245
348
|
// nextMeridiemBtnRef?.current?.focus?.();
|
|
246
|
-
// }
|
|
349
|
+
// }
|
|
350
|
+
// if (key === 'ArrowLeft') {
|
|
247
351
|
// nextMinutesBtnRef?.current?.focus?.();
|
|
248
|
-
// }
|
|
352
|
+
// }
|
|
353
|
+
// if (key === 'ArrowUp') {
|
|
249
354
|
// currSecondsBtnRef?.current?.focus?.();
|
|
250
355
|
// }
|
|
251
356
|
// },
|
|
@@ -254,17 +359,26 @@ var useKeyboardHandlers = function useKeyboardHandlers(_ref) {
|
|
|
254
359
|
|
|
255
360
|
var handleNextMeridiemBtnOnKeyDown = React.useCallback(function (e) {
|
|
256
361
|
var key = e.key;
|
|
362
|
+
var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
363
|
+
var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
364
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
365
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
257
366
|
|
|
258
367
|
if (key === 'ArrowLeft') {
|
|
259
368
|
var _nextMinutesBtnRef$cu3, _nextMinutesBtnRef$cu4;
|
|
260
369
|
|
|
261
370
|
nextMinutesBtnRef === null || nextMinutesBtnRef === void 0 ? void 0 : (_nextMinutesBtnRef$cu3 = nextMinutesBtnRef.current) === null || _nextMinutesBtnRef$cu3 === void 0 ? void 0 : (_nextMinutesBtnRef$cu4 = _nextMinutesBtnRef$cu3.focus) === null || _nextMinutesBtnRef$cu4 === void 0 ? void 0 : _nextMinutesBtnRef$cu4.call(_nextMinutesBtnRef$cu3);
|
|
262
|
-
}
|
|
263
|
-
var _currMeridiemBtnRef$c9, _currMeridiemBtnRef$c10;
|
|
371
|
+
}
|
|
264
372
|
|
|
265
|
-
|
|
373
|
+
if (key === 'ArrowUp') {
|
|
374
|
+
var _currMeridiemBtnRef$c11, _currMeridiemBtnRef$c12;
|
|
375
|
+
|
|
376
|
+
currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c11 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c11 === void 0 ? void 0 : (_currMeridiemBtnRef$c12 = _currMeridiemBtnRef$c11.focus) === null || _currMeridiemBtnRef$c12 === void 0 ? void 0 : _currMeridiemBtnRef$c12.call(_currMeridiemBtnRef$c11);
|
|
266
377
|
}
|
|
267
|
-
|
|
378
|
+
|
|
379
|
+
if (key === 'Home') onHomeKeyDownInsideTimeWheel();
|
|
380
|
+
if (key === 'End') onEndKeyDownInsideTimeWheel();
|
|
381
|
+
}, [currMeridiemBtnRef, nextMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel]);
|
|
268
382
|
return React.useMemo(function () {
|
|
269
383
|
return {
|
|
270
384
|
handlePrevHourBtnOnKeyDown: handlePrevHourBtnOnKeyDown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback } from 'react';\nimport type { onKeyDownT } from '../../../index.d';\nimport type { useCurrentDisplayedWheelsLogicT, KeyboardHandlersT, WheelsButtonsRefsT } from './TimeWheelContext';\ntype useKeyboardHandlersArgsT = Partial<useCurrentDisplayedWheelsLogicT> &\n WheelsButtonsRefsT & {\n hideDate: boolean;\n hideTime: boolean;\n monthInputRef: React.RefObject<HTMLInputElement>;\n hourInputRef: React.RefObject<HTMLInputElement>;\n\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n isWithCalendarToo: boolean;\n };\nexport const useKeyboardHandlers = ({\n handlePrevHour,\n handleNextHour,\n handlePrevMinute,\n handleNextMinute,\n // handlePrevSecond,\n // handleNextSecond,\n handleTimeWheelBtnChangeMeridiem,\n prevMonthBtnRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n // prevSecondsBtnRef,\n // currSecondsBtnRef,\n // nextSecondsBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n isWithCalendarToo,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const onHomeKeyDown = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (key === 'Home') onHomeKeyDown();\n },\n [onHomeKeyDown],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n } else if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n } else if (key === 'ArrowRight') {\n currMinutesBtnRef?.current?.focus?.();\n } else if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n currMeridiemBtnRef?.current?.focus?.();\n }\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) setTimeout(() => currHourBtnRef?.current?.focus?.());\n },\n [currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef, handleNextHour, handlePrevHour, isWithCalendarToo],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n } else if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n } else if (key === 'ArrowLeft') {\n currHourBtnRef?.current?.focus?.();\n } else if (key === 'ArrowRight') {\n // currSecondsBtnRef?.current?.focus?.();\n currMeridiemBtnRef?.current?.focus?.();\n }\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) setTimeout(() => currMinutesBtnRef?.current?.focus?.());\n },\n [currHourBtnRef, currMinutesBtnRef, currMeridiemBtnRef, handleNextMinute, handlePrevMinute],\n );\n // const handleCurrSecondsOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // let didTriggerSecondChange = false;\n // if (key === 'ArrowUp') {\n // handlePrevSecond(e);\n // didTriggerSecondChange = true;\n // } else if (key === 'ArrowDown') {\n // handleNextSecond(e);\n // didTriggerSecondChange = true;\n // } else if (key === 'ArrowLeft') {\n // currMinutesBtnRef?.current?.focus?.();\n // } else if (key === 'ArrowRight') {\n // currMeridiemBtnRef?.current?.focus?.();\n // }\n // // ensure the focus is in the correct button after up/down arrow\n // if (didTriggerSecondChange) setTimeout(() => currSecondsBtnRef?.current?.focus?.(), 10);\n // },\n // [\n // currMeridiemBtnRef,\n // currMinutesBtnRef,\n // currSecondsBtnRef,\n // handleNextSecond,\n // handlePrevSecond,\n // ],\n // );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n } else if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n } else if (key === 'ArrowLeft') {\n // currSecondsBtnRef?.current?.focus?.();\n currMinutesBtnRef?.current?.focus?.();\n } else if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) prevMonthBtnRef?.current?.focus?.();\n else currHourBtnRef?.current?.focus?.();\n }\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) setTimeout(() => currMeridiemBtnRef?.current?.focus?.());\n },\n [\n currHourBtnRef,\n currMeridiemBtnRef,\n currMinutesBtnRef,\n handleTimeWheelBtnChangeMeridiem,\n isWithCalendarToo,\n prevMonthBtnRef,\n ],\n );\n const handlePrevHourBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowRight') {\n prevMinutesBtnRef?.current?.focus?.();\n } else if (key === 'ArrowDown') {\n currHourBtnRef?.current?.focus?.();\n }\n },\n [currHourBtnRef, prevMinutesBtnRef],\n );\n const handlePrevMinuteBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowRight') {\n // prevSecondsBtnRef?.current?.focus?.();\n prevMeridiemBtnRef?.current?.focus?.();\n } else if (key === 'ArrowLeft') {\n prevHourBtnRef?.current?.focus?.();\n } else if (key === 'ArrowDown') {\n currMinutesBtnRef?.current?.focus?.();\n }\n },\n [currMinutesBtnRef, prevHourBtnRef, prevMeridiemBtnRef],\n );\n // const handlePrevSecondBtnOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // if (key === 'ArrowRight') {\n // prevMeridiemBtnRef?.current?.focus?.();\n // } else if (key === 'ArrowLeft') {\n // prevMinutesBtnRef?.current?.focus?.();\n // } else if (key === 'ArrowDown') {\n // currSecondsBtnRef?.current?.focus?.();\n // }\n // },\n // [currSecondsBtnRef, prevMeridiemBtnRef, prevMinutesBtnRef],\n // );\n const handlePrevMeridiemBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowLeft') {\n // prevSecondsBtnRef?.current?.focus?.();\n prevMinutesBtnRef?.current?.focus?.();\n } else if (key === 'ArrowDown') {\n currMeridiemBtnRef?.current?.focus?.();\n }\n },\n [currMeridiemBtnRef, prevMinutesBtnRef],\n );\n const handleNextHourBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowRight') {\n nextMinutesBtnRef?.current?.focus?.();\n } else if (key === 'ArrowUp') {\n currHourBtnRef?.current?.focus?.();\n }\n },\n [currHourBtnRef, nextMinutesBtnRef],\n );\n const handleNextMinuteBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowRight') {\n // nextSecondsBtnRef?.current?.focus?.();\n nextMeridiemBtnRef?.current?.focus?.();\n } else if (key === 'ArrowLeft') {\n nextHourBtnRef?.current?.focus?.();\n } else if (key === 'ArrowUp') {\n currMinutesBtnRef?.current?.focus?.();\n }\n },\n [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef],\n );\n // const handleNextSecondBtnOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // if (key === 'ArrowRight') {\n // nextMeridiemBtnRef?.current?.focus?.();\n // } else if (key === 'ArrowLeft') {\n // nextMinutesBtnRef?.current?.focus?.();\n // } else if (key === 'ArrowUp') {\n // currSecondsBtnRef?.current?.focus?.();\n // }\n // },\n // [currSecondsBtnRef, nextMeridiemBtnRef, nextMinutesBtnRef],\n // );\n const handleNextMeridiemBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'ArrowLeft') {\n nextMinutesBtnRef?.current?.focus?.();\n } else if (key === 'ArrowUp') {\n currMeridiemBtnRef?.current?.focus?.();\n }\n },\n [currMeridiemBtnRef, nextMinutesBtnRef],\n );\n\n return useMemo(\n () => ({\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleCurrHourOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleCurrMinutesOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevHourBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","handlePrevHour","handleNextHour","handlePrevMinute","handleNextMinute","handleTimeWheelBtnChangeMeridiem","prevMonthBtnRef","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","hideDate","hideTime","monthInputRef","hourInputRef","isWithCalendarToo","onHomeKeyDown","useCallback","current","focus","handlePickerIconKeyDown","e","key","preventDefaultKeys","includes","preventDefault","handleCurrHourOnKeyDown","shiftKey","didTriggerHourChange","setTimeout","handleCurrMinutesOnKeyDown","didTriggerMinuteChange","handleCurrMeridiemOnKeyDown","didTriggerMeridiemChange","handlePrevHourBtnOnKeyDown","handlePrevMinuteBtnOnKeyDown","handlePrevMeridiemBtnOnKeyDown","handleNextHourBtnOnKeyDown","handleNextMinuteBtnOnKeyDown","handleNextMeridiemBtnOnKeyDown","useMemo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback } from 'react';\nimport type { onKeyDownT } from '../../../index.d';\nimport type { useCurrentDisplayedWheelsLogicT, KeyboardHandlersT, WheelsButtonsRefsT } from './TimeWheelContext';\ntype useKeyboardHandlersArgsT = Partial<useCurrentDisplayedWheelsLogicT> &\n WheelsButtonsRefsT & {\n hideDate: boolean;\n hideTime: boolean;\n monthInputRef: React.RefObject<HTMLInputElement>;\n hourInputRef: React.RefObject<HTMLInputElement>;\n\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n isWithCalendarToo: boolean;\n isControllerOnly: boolean;\n };\nexport const useKeyboardHandlers = ({\n handlePrevHour,\n handleNextHour,\n handlePrevMinute,\n handleNextMinute,\n // handlePrevSecond,\n // handleNextSecond,\n handleTimeWheelBtnChangeMeridiem,\n prevMonthBtnRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n // prevSecondsBtnRef,\n // currSecondsBtnRef,\n // nextSecondsBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n isWithCalendarToo,\n isControllerOnly,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const onHomeKeyDownInsideTimeWheel = useCallback(() => {\n if (isWithCalendarToo) prevMonthBtnRef?.current?.focus?.();\n else currHourBtnRef?.current?.focus?.();\n }, [currHourBtnRef, isWithCalendarToo, prevMonthBtnRef]);\n const onEndKeyDownInsideTimeWheel = useCallback(() => {\n currMeridiemBtnRef?.current?.focus?.();\n }, [currMeridiemBtnRef]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End'];\n const stopPropagationKeys = ['Home', 'End'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n },\n [onHomeKeyDownTriggerIcon],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowRight') {\n currMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) setTimeout(() => currHourBtnRef?.current?.focus?.());\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n currMeridiemBtnRef?.current?.focus?.();\n }\n },\n [\n currHourBtnRef,\n currMeridiemBtnRef,\n currMinutesBtnRef,\n handleNextHour,\n handlePrevHour,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n ],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowLeft') {\n currHourBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowRight') {\n // currSecondsBtnRef?.current?.focus?.();\n currMeridiemBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) setTimeout(() => currMinutesBtnRef?.current?.focus?.());\n },\n [\n onHomeKeyDownInsideTimeWheel,\n onEndKeyDownInsideTimeWheel,\n handlePrevMinute,\n handleNextMinute,\n currHourBtnRef,\n currMeridiemBtnRef,\n currMinutesBtnRef,\n ],\n );\n // const handleCurrSecondsOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // let didTriggerSecondChange = false;\n // if (key === 'ArrowUp') {\n // handlePrevSecond(e);\n // didTriggerSecondChange = true;\n // }\n // if (key === 'ArrowDown') {\n // handleNextSecond(e);\n // didTriggerSecondChange = true;\n // }\n // if (key === 'ArrowLeft') {\n // currMinutesBtnRef?.current?.focus?.();\n // }\n // if (key === 'ArrowRight') {\n // currMeridiemBtnRef?.current?.focus?.();\n // }\n // // ensure the focus is in the correct button after up/down arrow\n // if (didTriggerSecondChange) setTimeout(() => currSecondsBtnRef?.current?.focus?.(), 10);\n // },\n // [\n // currMeridiemBtnRef,\n // currMinutesBtnRef,\n // currSecondsBtnRef,\n // handleNextSecond,\n // handlePrevSecond,\n // ],\n // );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowLeft') {\n // currSecondsBtnRef?.current?.focus?.();\n currMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) setTimeout(() => currMeridiemBtnRef?.current?.focus?.());\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) prevMonthBtnRef?.current?.focus?.();\n else currHourBtnRef?.current?.focus?.();\n }\n },\n [\n currHourBtnRef,\n currMeridiemBtnRef,\n currMinutesBtnRef,\n handleTimeWheelBtnChangeMeridiem,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n prevMonthBtnRef,\n ],\n );\n const handlePrevHourBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowRight') {\n prevMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowDown') {\n currHourBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currHourBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevMinutesBtnRef],\n );\n const handlePrevMinuteBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowRight') {\n // prevSecondsBtnRef?.current?.focus?.();\n prevMeridiemBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowLeft') {\n prevHourBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowDown') {\n currMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevHourBtnRef, prevMeridiemBtnRef],\n );\n // const handlePrevSecondBtnOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // if (key === 'ArrowRight') {\n // prevMeridiemBtnRef?.current?.focus?.();\n // }\n // if (key === 'ArrowLeft') {\n // prevMinutesBtnRef?.current?.focus?.();\n // }\n // if (key === 'ArrowDown') {\n // currSecondsBtnRef?.current?.focus?.();\n // }\n // },\n // [currSecondsBtnRef, prevMeridiemBtnRef, prevMinutesBtnRef],\n // );\n const handlePrevMeridiemBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowLeft') {\n // prevSecondsBtnRef?.current?.focus?.();\n prevMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowDown') {\n currMeridiemBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel, prevMinutesBtnRef],\n );\n const handleNextHourBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowRight') {\n nextMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowUp') {\n currHourBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currHourBtnRef, nextMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel],\n );\n const handleNextMinuteBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowRight') {\n // nextSecondsBtnRef?.current?.focus?.();\n nextMeridiemBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowLeft') {\n nextHourBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowUp') {\n currMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel],\n );\n // const handleNextSecondBtnOnKeyDown = useCallback(\n // (e) => {\n // const { key } = e;\n // if (key === 'ArrowRight') {\n // nextMeridiemBtnRef?.current?.focus?.();\n // }\n // if (key === 'ArrowLeft') {\n // nextMinutesBtnRef?.current?.focus?.();\n // }\n // if (key === 'ArrowUp') {\n // currSecondsBtnRef?.current?.focus?.();\n // }\n // },\n // [currSecondsBtnRef, nextMeridiemBtnRef, nextMinutesBtnRef],\n // );\n const handleNextMeridiemBtnOnKeyDown = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'ArrowLeft') {\n nextMinutesBtnRef?.current?.focus?.();\n }\n if (key === 'ArrowUp') {\n currMeridiemBtnRef?.current?.focus?.();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n },\n [currMeridiemBtnRef, nextMinutesBtnRef, onEndKeyDownInsideTimeWheel, onHomeKeyDownInsideTimeWheel],\n );\n\n return useMemo(\n () => ({\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleCurrHourOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handleCurrMinutesOnKeyDown,\n // handleCurrSecondsOnKeyDown,\n handleNextHourBtnOnKeyDown,\n handleNextMeridiemBtnOnKeyDown,\n handleNextMinuteBtnOnKeyDown,\n // handleNextSecondBtnOnKeyDown,\n handlePrevHourBtnOnKeyDown,\n handlePrevMeridiemBtnOnKeyDown,\n handlePrevMinuteBtnOnKeyDown,\n // handlePrevSecondBtnOnKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","handlePrevHour","handleNextHour","handlePrevMinute","handleNextMinute","handleTimeWheelBtnChangeMeridiem","prevMonthBtnRef","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","hideDate","hideTime","monthInputRef","hourInputRef","isWithCalendarToo","isControllerOnly","onHomeKeyDownInsideTimeWheel","useCallback","current","focus","onEndKeyDownInsideTimeWheel","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","preventDefaultKeys","stopPropagationKeys","includes","preventDefault","stopPropagation","handleCurrHourOnKeyDown","shiftKey","didTriggerHourChange","setTimeout","handleCurrMinutesOnKeyDown","didTriggerMinuteChange","handleCurrMeridiemOnKeyDown","didTriggerMeridiemChange","handlePrevHourBtnOnKeyDown","handlePrevMinuteBtnOnKeyDown","handlePrevMeridiemBtnOnKeyDown","handleNextHourBtnOnKeyDown","handleNextMinuteBtnOnKeyDown","handleNextMeridiemBtnOnKeyDown","useMemo"],"mappings":"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"}
|
|
@@ -13,8 +13,10 @@ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray)
|
|
|
13
13
|
|
|
14
14
|
var usePopperTriggerLogic = function usePopperTriggerLogic(_ref) {
|
|
15
15
|
var pickerButtonRef = _ref.pickerButtonRef,
|
|
16
|
+
currHourBtnRef = _ref.currHourBtnRef,
|
|
16
17
|
onPickerClose = _ref.onPickerClose,
|
|
17
|
-
onPickerOpen = _ref.onPickerOpen
|
|
18
|
+
onPickerOpen = _ref.onPickerOpen,
|
|
19
|
+
isWithCalendarToo = _ref.isWithCalendarToo;
|
|
18
20
|
|
|
19
21
|
var _useState = React.useState(false),
|
|
20
22
|
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
@@ -47,17 +49,21 @@ var usePopperTriggerLogic = function usePopperTriggerLogic(_ref) {
|
|
|
47
49
|
var closeTimePicker = React.useCallback(function () {
|
|
48
50
|
setShowTimePicker(false);
|
|
49
51
|
onPickerClose();
|
|
50
|
-
}, [onPickerClose]);
|
|
51
|
-
// setShowTimePicker(true);
|
|
52
|
-
// onPickerOpen();
|
|
53
|
-
// }, [onPickerOpen]);
|
|
54
|
-
|
|
52
|
+
}, [onPickerClose]);
|
|
55
53
|
var handleToggleTimePicker = React.useCallback(function () {
|
|
56
54
|
setShowTimePicker(function (oldShowCalendar) {
|
|
57
|
-
if (!oldShowCalendar)
|
|
55
|
+
if (!oldShowCalendar) {
|
|
56
|
+
onPickerOpen();
|
|
57
|
+
if (!isWithCalendarToo) setTimeout(function () {
|
|
58
|
+
var _currHourBtnRef$curre, _currHourBtnRef$curre2;
|
|
59
|
+
|
|
60
|
+
return currHourBtnRef === null || currHourBtnRef === void 0 ? void 0 : (_currHourBtnRef$curre = currHourBtnRef.current) === null || _currHourBtnRef$curre === void 0 ? void 0 : (_currHourBtnRef$curre2 = _currHourBtnRef$curre.focus) === null || _currHourBtnRef$curre2 === void 0 ? void 0 : _currHourBtnRef$curre2.call(_currHourBtnRef$curre);
|
|
61
|
+
});
|
|
62
|
+
} else onPickerClose();
|
|
63
|
+
|
|
58
64
|
return !oldShowCalendar;
|
|
59
65
|
});
|
|
60
|
-
}, [onPickerClose, onPickerOpen]);
|
|
66
|
+
}, [currHourBtnRef, isWithCalendarToo, onPickerClose, onPickerOpen]);
|
|
61
67
|
controlledDateTimePicker_utils_hooks_useOnClickOutside.useOnClickOutside(popperElement, function (e) {
|
|
62
68
|
var _pickerButtonRef$curr, _pickerButtonRef$curr2;
|
|
63
69
|
|