@elliemae/ds-controlled-form 1.54.0-next.8 → 1.54.0-rc.4

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.
Files changed (81) hide show
  1. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
  2. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  3. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
  4. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  5. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
  6. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  7. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
  8. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  9. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
  10. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  11. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
  12. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  13. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
  14. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  15. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  16. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  17. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
  18. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  19. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
  20. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  21. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
  22. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  23. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
  24. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  25. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
  26. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  27. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  28. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  29. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
  30. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
  32. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  33. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
  34. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  35. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
  36. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  37. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
  38. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  39. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
  40. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  41. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
  42. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  43. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
  44. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  45. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
  46. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  47. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
  48. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  49. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
  50. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  51. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
  52. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  53. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
  54. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  55. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  56. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  57. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
  58. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  59. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
  60. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  61. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
  62. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  63. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
  64. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  65. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
  66. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  67. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  68. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  69. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
  70. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  71. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
  72. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  73. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
  74. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  75. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
  76. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  77. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
  78. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  79. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
  80. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  81. 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
- var onHomeKeyDown = React.useCallback(function () {
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 === 'Home') onHomeKeyDown();
39
- }, [onHomeKeyDown]);
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
- } else if (key === 'ArrowDown') {
65
+ }
66
+
67
+ if (key === 'ArrowDown') {
49
68
  handleNextHour(e);
50
69
  didTriggerHourChange = true;
51
- } else if (key === 'ArrowRight') {
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
- } else if (key === 'Tab' && shiftKey && !isWithCalendarToo) {
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$curre, _currHourBtnRef$curre2;
82
+ var _currHourBtnRef$curre3, _currHourBtnRef$curre4;
65
83
 
66
- 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);
67
- });
68
- }, [currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef, handleNextHour, handlePrevHour, isWithCalendarToo]);
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
- } else if (key === 'ArrowDown') {
105
+ }
106
+
107
+ if (key === 'ArrowDown') {
77
108
  handleNextMinute(e);
78
109
  didTriggerMinuteChange = true;
79
- } else if (key === 'ArrowLeft') {
80
- var _currHourBtnRef$curre3, _currHourBtnRef$curre4;
110
+ }
81
111
 
82
- 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);
83
- } else if (key === 'ArrowRight') {
84
- var _currMeridiemBtnRef$c3, _currMeridiemBtnRef$c4;
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$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);
88
- } // ensure the focus is in the correct button after up/down arrow
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
- }, [currHourBtnRef, currMinutesBtnRef, currMeridiemBtnRef, handleNextMinute, handlePrevMinute]); // const handleCurrSecondsOnKeyDown = useCallback(
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
- // } else if (key === 'ArrowDown') {
140
+ // }
141
+ // if (key === 'ArrowDown') {
104
142
  // handleNextSecond(e);
105
143
  // didTriggerSecondChange = true;
106
- // } else if (key === 'ArrowLeft') {
144
+ // }
145
+ // if (key === 'ArrowLeft') {
107
146
  // currMinutesBtnRef?.current?.focus?.();
108
- // } else if (key === 'ArrowRight') {
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
- } else if (key === 'ArrowDown') {
175
+ }
176
+
177
+ if (key === 'ArrowDown') {
132
178
  handleTimeWheelBtnChangeMeridiem('PM', e);
133
179
  didTriggerMeridiemChange = true;
134
- } else if (key === 'ArrowLeft') {
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
- } else if (key === 'Tab' && !shiftKey) {
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$c5, _currMeridiemBtnRef$c6;
193
+ var _currMeridiemBtnRef$c7, _currMeridiemBtnRef$c8;
149
194
 
150
- return 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);
151
- });
152
- }, [currHourBtnRef, currMeridiemBtnRef, currMinutesBtnRef, handleTimeWheelBtnChangeMeridiem, isWithCalendarToo, prevMonthBtnRef]);
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
- } else if (key === 'ArrowDown') {
161
- var _currHourBtnRef$curre7, _currHourBtnRef$curre8;
216
+ }
217
+
218
+ if (key === 'ArrowDown') {
219
+ var _currHourBtnRef$curre9, _currHourBtnRef$curre10;
162
220
 
163
- 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);
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
- }, [currHourBtnRef, prevMinutesBtnRef]);
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
- } else if (key === 'ArrowLeft') {
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
- } else if (key === 'ArrowDown') {
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
- }, [currMinutesBtnRef, prevHourBtnRef, prevMeridiemBtnRef]); // const handlePrevSecondBtnOnKeyDown = useCallback(
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
- // } else if (key === 'ArrowLeft') {
260
+ // }
261
+ // if (key === 'ArrowLeft') {
189
262
  // prevMinutesBtnRef?.current?.focus?.();
190
- // } else if (key === 'ArrowDown') {
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
- } else if (key === 'ArrowDown') {
206
- var _currMeridiemBtnRef$c7, _currMeridiemBtnRef$c8;
283
+ }
284
+
285
+ if (key === 'ArrowDown') {
286
+ var _currMeridiemBtnRef$c9, _currMeridiemBtnRef$c10;
207
287
 
208
- 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);
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
- }, [currMeridiemBtnRef, prevMinutesBtnRef]);
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
- } else if (key === 'ArrowUp') {
219
- var _currHourBtnRef$curre9, _currHourBtnRef$curre10;
305
+ }
220
306
 
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);
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
- }, [currHourBtnRef, nextMinutesBtnRef]);
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
- } else if (key === 'ArrowLeft') {
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
- } else if (key === 'ArrowUp') {
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
- }, [currMinutesBtnRef, nextHourBtnRef, nextMeridiemBtnRef]); // const handleNextSecondBtnOnKeyDown = useCallback(
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
- // } else if (key === 'ArrowLeft') {
349
+ // }
350
+ // if (key === 'ArrowLeft') {
247
351
  // nextMinutesBtnRef?.current?.focus?.();
248
- // } else if (key === 'ArrowUp') {
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
- } else if (key === 'ArrowUp') {
263
- var _currMeridiemBtnRef$c9, _currMeridiemBtnRef$c10;
371
+ }
264
372
 
265
- 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);
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
- }, [currMeridiemBtnRef, nextMinutesBtnRef]);
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]); // const openTimePicker = useCallback(() => {
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) onPickerOpen();else onPickerClose();
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