@elliemae/ds-controlled-form 2.0.0-alpha.10 → 2.0.0-alpha.14

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