@elliemae/ds-controlled-form 2.0.0-next.8 → 2.0.0-rc.11

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 (199) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js +11 -4
  2. package/cjs/controlled-checkbox/config/useValidateProps.js +2 -2
  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 +13 -7
  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 +20 -12
  10. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +7 -0
  11. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +29 -8
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +7 -0
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +7 -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 +154 -13
  17. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +19 -16
  18. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +5 -6
  19. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
  20. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +35 -14
  21. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +15 -11
  22. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  23. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +16 -12
  24. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +15 -11
  25. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +101 -33
  26. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
  27. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
  28. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
  29. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  30. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
  31. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -17
  32. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +10 -11
  33. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
  34. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +20 -10
  35. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +326 -117
  36. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -43
  37. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +47 -21
  38. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +59 -58
  39. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +25 -13
  40. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
  41. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +10 -11
  42. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
  43. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +55 -25
  44. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +18 -7
  45. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +7 -0
  46. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +1 -0
  47. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +7 -0
  48. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -7
  49. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +201 -80
  50. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  51. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -3
  52. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
  53. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +10 -11
  54. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
  55. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
  56. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +8 -5
  57. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +64 -141
  58. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -7
  59. package/cjs/controlled-date-time-picker/parts/Styleds.js +70 -26
  60. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +16 -12
  61. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +15 -11
  62. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +15 -11
  63. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
  64. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +95 -173
  65. package/cjs/controlled-date-time-picker/propTypes.js +1 -0
  66. package/cjs/controlled-date-time-picker/utils/constants.js +16 -0
  67. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +34 -16
  68. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
  69. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +23 -14
  70. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  71. package/cjs/controlled-toggle/ControlledToggle.js +21 -15
  72. package/cjs/controlled-toggle/styles.js +138 -69
  73. package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
  74. package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
  75. package/esm/controlled-checkbox/ControlledCheckbox.js +11 -4
  76. package/esm/controlled-checkbox/config/useValidateProps.js +2 -2
  77. package/esm/controlled-checkbox/propTypes.js +5 -4
  78. package/esm/controlled-checkbox/styles.js +84 -48
  79. package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  80. package/esm/controlled-checkbox/utils/styleHelpers.js +13 -7
  81. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  82. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
  83. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +20 -12
  84. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +7 -0
  85. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -8
  86. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +7 -0
  87. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +7 -0
  88. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +12 -1
  89. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
  90. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +156 -15
  91. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +19 -16
  92. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +1 -1
  93. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
  94. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
  95. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +15 -11
  96. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  97. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +16 -12
  98. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +15 -11
  99. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +101 -33
  100. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
  101. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
  102. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
  103. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  104. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
  105. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +1 -4
  106. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +7 -7
  107. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
  108. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +20 -10
  109. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +321 -113
  110. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -43
  111. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -22
  112. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +60 -59
  113. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
  114. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
  115. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +7 -7
  116. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
  117. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +53 -23
  118. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +18 -7
  119. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +7 -0
  120. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +1 -0
  121. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +7 -0
  122. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -3
  123. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +196 -76
  124. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  125. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -3
  126. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
  127. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +7 -7
  128. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
  129. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
  130. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +8 -5
  131. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +65 -142
  132. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +12 -8
  133. package/esm/controlled-date-time-picker/parts/Styleds.js +68 -24
  134. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +16 -12
  135. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +15 -11
  136. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +15 -11
  137. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
  138. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +96 -170
  139. package/esm/controlled-date-time-picker/propTypes.js +1 -0
  140. package/esm/controlled-date-time-picker/utils/constants.js +10 -1
  141. package/esm/controlled-date-time-picker/utils/dateHelpers.js +34 -17
  142. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
  143. package/esm/controlled-date-time-picker/utils/stringHelpers.js +23 -14
  144. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  145. package/esm/controlled-toggle/ControlledToggle.js +21 -15
  146. package/esm/controlled-toggle/styles.js +138 -69
  147. package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
  148. package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
  149. package/package.json +21 -12
  150. package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
  151. package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
  152. package/types/controlled-checkbox/index.d.d.ts +1 -0
  153. package/types/controlled-checkbox/propTypes.d.ts +55 -8
  154. package/types/controlled-checkbox/styles.d.ts +4 -4
  155. package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
  156. package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
  157. package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
  158. package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
  159. package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
  160. package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
  161. package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
  162. package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
  163. package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
  164. package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
  165. package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
  166. package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
  167. package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +81 -21
  168. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +3 -0
  169. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
  170. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
  171. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
  172. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +2 -1
  173. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +10 -70
  174. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +1 -3
  175. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +2 -17
  176. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +3 -6
  177. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
  178. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +4 -24
  179. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +10 -70
  180. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
  181. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -12
  182. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -10
  183. package/types/controlled-date-time-picker/parts/Styleds.d.ts +10 -30
  184. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
  185. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
  186. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
  187. package/types/controlled-date-time-picker/propTypes.d.ts +76 -20
  188. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  189. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  190. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  191. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  192. package/types/controlled-date-time-picker/utils/constants.d.ts +9 -0
  193. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +1 -0
  194. package/types/controlled-toggle/ControlledToggle.d.ts +78 -13
  195. package/types/controlled-toggle/propTypes.d.ts +73 -12
  196. package/types/controlled-toggle/styles.d.ts +7 -7
  197. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
  198. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
  199. package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
@@ -3,12 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('core-js/modules/web.dom-collections.iterator.js');
6
+ require('core-js/modules/esnext.async-iterator.find.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.find.js');
6
9
  var React = require('react');
10
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
11
  var dateHelpers = require('../../../utils/dateHelpers.js');
8
12
  var useGetStartingFocusedDay = require('../../../utils/hooks/useGetStartingFocusedDay.js');
9
13
 
10
14
  // eslint-disable-next-line max-params
11
- const loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {
15
+ const loopWhileWaiting = function (cb) {
16
+ let shortcircuit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => false;
17
+ let timePerTry = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
18
+ let maxTries = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;
12
19
  let ab = maxTries;
13
20
  const inter = setInterval(() => {
14
21
  cb();
@@ -17,30 +24,43 @@ const loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxT
17
24
  }, timePerTry);
18
25
  };
19
26
 
20
- const useFocusLogic = ({
21
- daysArray,
22
- calendarDaysWrapperRef,
23
- showCalendar
24
- }) => {
27
+ const useFocusLogic = _ref => {
28
+ let {
29
+ daysArray,
30
+ showCalendar
31
+ } = _ref;
32
+ const {
33
+ calendarDaysWrapperRef
34
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
25
35
  const {
26
36
  startFocusedDate
27
37
  } = useGetStartingFocusedDay.useGetStartingFocusedDay();
28
- const [metadayToFocus, setMetadayToFocus] = React.useState(daysArray.find(({
29
- day: currDay
30
- }) => dateHelpers.compareTwoDatesDayEquality(currDay, startFocusedDate))); // this is required because we have to focus based on the inputs values too,
38
+ const [metadayToFocus, setMetadayToFocus] = React.useState(daysArray.find(_ref2 => {
39
+ let {
40
+ day: currDay
41
+ } = _ref2;
42
+ return dateHelpers.compareTwoDatesDayEquality(currDay, startFocusedDate);
43
+ })); // this is required because we have to focus based on the inputs values too,
31
44
  // useGetStartingFocusedDay does this already,
32
45
  // this "useMemo" is here just to trigger it functionally by changing the metadayToFocus state
33
46
  // which is required for arrow key navigation in the calendar
34
47
 
35
48
  const focusedDay = React.useMemo(() => {
36
- const newFocusedDay = metadayToFocus ? daysArray.find(({
37
- day: currDay
38
- }) => dateHelpers.compareTwoDatesDayEquality(currDay, metadayToFocus.day)) : daysArray.find(({
39
- day: currDay
40
- }) => dateHelpers.compareTwoDatesDayEquality(currDay, startFocusedDate));
49
+ const newFocusedDay = metadayToFocus ? daysArray.find(_ref3 => {
50
+ let {
51
+ day: currDay
52
+ } = _ref3;
53
+ return dateHelpers.compareTwoDatesDayEquality(currDay, metadayToFocus.day);
54
+ }) : daysArray.find(_ref4 => {
55
+ let {
56
+ day: currDay
57
+ } = _ref4;
58
+ return dateHelpers.compareTwoDatesDayEquality(currDay, startFocusedDate);
59
+ });
41
60
  return newFocusedDay;
42
61
  }, [daysArray, startFocusedDate, metadayToFocus]);
43
- const tryToFocusCurrentlyDataIsFocusedDay = React.useCallback((wrapperDOM = (calendarDaysWrapperRef === null || calendarDaysWrapperRef === void 0 ? void 0 : calendarDaysWrapperRef.current) || document) => {
62
+ const tryToFocusCurrentlyDataIsFocusedDay = React.useCallback(function () {
63
+ let wrapperDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (calendarDaysWrapperRef === null || calendarDaysWrapperRef === void 0 ? void 0 : calendarDaysWrapperRef.current) || document;
44
64
  let shortcircuit = false;
45
65
  loopWhileWaiting(() => {
46
66
  const domElem = wrapperDOM === null || wrapperDOM === void 0 ? void 0 : wrapperDOM.querySelector('[data-isfocused="true"]');
@@ -58,16 +78,22 @@ const useFocusLogic = ({
58
78
  }, [calendarDaysWrapperRef, focusedDay, showCalendar, tryToFocusCurrentlyDataIsFocusedDay]);
59
79
  const handleFocusMetaDay = React.useCallback(metaDayToFocus => {
60
80
  // if focusedDay is inside current daysArray we set Focused day
61
- const newFocusedMetaDay = daysArray.find(({
62
- day: currDay
63
- }) => dateHelpers.compareTwoDatesDayEquality(currDay, metaDayToFocus.day));
81
+ const newFocusedMetaDay = daysArray.find(_ref5 => {
82
+ let {
83
+ day: currDay
84
+ } = _ref5;
85
+ return dateHelpers.compareTwoDatesDayEquality(currDay, metaDayToFocus.day);
86
+ });
64
87
  if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);
65
88
  }, [daysArray, focusedDay]);
66
89
  const handleFocusMetaDayByDay = React.useCallback(dayDate => {
67
90
  // if focusedDay is inside current daysArray we set Focused day
68
- const newFocusedMetaDay = daysArray.find(({
69
- day: currDay
70
- }) => dateHelpers.compareTwoDatesDayEquality(currDay, dayDate));
91
+ const newFocusedMetaDay = daysArray.find(_ref6 => {
92
+ let {
93
+ day: currDay
94
+ } = _ref6;
95
+ return dateHelpers.compareTwoDatesDayEquality(currDay, dayDate);
96
+ });
71
97
  if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);
72
98
  }, [daysArray, focusedDay]);
73
99
  const resetFocusedDayToStartDate = React.useCallback(() => {
@@ -2,39 +2,53 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.find.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.find.js');
5
8
  var React = require('react');
9
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
6
10
  var dateHelpers = require('../../../utils/dateHelpers.js');
7
-
8
- /* eslint-disable complexity */
9
- const useKeyboardHandlers = ({
10
- focusedDay,
11
- daysArray,
12
- handlePrevMonth,
13
- handleNextMonth,
14
- prevYearBtnRef,
15
- prevMonthBtnRef,
16
- nextMonthBtnRef,
17
- nextYearBtnRef,
18
- currMeridiemBtnRef,
19
- currHourBtnRef,
20
- isWithTimeWheelToo,
21
- isControllerOnly,
22
- handleFocusMetaDay,
23
- handleFocusMetaDayByDay,
24
- tryToFocusCurrentlyDataIsFocusedDay,
25
- hideDate,
26
- hideTime,
27
- monthInputRef,
28
- hourInputRef,
29
- setLatestInteractionRegion
30
- }) => {
11
+ var constants = require('../../../utils/constants.js');
12
+
13
+ const useKeyboardHandlers = _ref => {
14
+ let {
15
+ focusedDay,
16
+ daysArray,
17
+ handlePrevMonth,
18
+ handleNextMonth,
19
+ handleFocusMetaDay,
20
+ handleFocusMetaDayByDay,
21
+ tryToFocusCurrentlyDataIsFocusedDay
22
+ } = _ref;
23
+ const {
24
+ hideDate,
25
+ hideTime,
26
+ monthInputRef,
27
+ hourInputRef,
28
+ prevYearBtnRef,
29
+ prevMonthBtnRef,
30
+ nextMonthBtnRef,
31
+ nextYearBtnRef,
32
+ currMeridiemBtnRef,
33
+ isControllerOnly,
34
+ isWithTimeWheelToo,
35
+ setLatestInteractionRegion,
36
+ withAnyInputs,
37
+ isWithTimeInputs,
38
+ meridiemInputRef,
39
+ isWithDateInputs,
40
+ yearInputRef
41
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
31
42
  const tryToFocusDayRegion = React.useCallback(() => {
32
43
  setLatestInteractionRegion('calendar-days');
33
44
 
34
45
  if (!focusedDay) {
35
- const newFocusDay = daysArray.find(({
36
- isCurrMonthDay
37
- }) => isCurrMonthDay);
46
+ const newFocusDay = daysArray.find(_ref2 => {
47
+ let {
48
+ isCurrMonthDay
49
+ } = _ref2;
50
+ return isCurrMonthDay;
51
+ });
38
52
  if (newFocusDay) setTimeout(() => {
39
53
  handleFocusMetaDay(newFocusDay);
40
54
  });
@@ -61,12 +75,16 @@ const useKeyboardHandlers = ({
61
75
  const {
62
76
  key
63
77
  } = e;
64
- const preventDefaultKeys = ['Home', 'End'];
65
- const stopPropagationKeys = ['Home', 'End'];
66
- if (preventDefaultKeys.includes(key)) e.preventDefault();
67
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
78
+ if (constants.homeEndKeys.includes(key)) e.preventDefault();
79
+ if (constants.homeEndKeys.includes(key)) e.stopPropagation();
68
80
  if (key === 'Home') onHomeKeyDownTriggerIcon();
69
- }, [onHomeKeyDownTriggerIcon]);
81
+
82
+ if (key === 'Backspace' && withAnyInputs) {
83
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
84
+
85
+ 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);
86
+ }
87
+ }, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef]);
70
88
  const handleDayOnKeyDown = React.useCallback((e, metaDay) => {
71
89
  let newFocusedDayDate;
72
90
  const {
@@ -76,10 +94,8 @@ const useKeyboardHandlers = ({
76
94
  key,
77
95
  shiftKey
78
96
  } = e;
79
- const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
80
- const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
81
- if (preventDefaultKeys.includes(key)) e.preventDefault();
82
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
97
+ if (constants.homeEndAllArrowKeys.includes(key)) e.preventDefault();
98
+ if (constants.homeEndAllArrowKeys.includes(key)) e.stopPropagation();
83
99
  if (key === 'ArrowUp') newFocusedDayDate = dateHelpers.sumValuesToDate(day, {
84
100
  daysToSum: -7
85
101
  });
@@ -115,30 +131,15 @@ const useKeyboardHandlers = ({
115
131
  if (key === 'Home') onHomeKeyDownInsideCalendar();
116
132
  if (key === 'End') onEndKeyDownInsideCalendar(); // TAB CYCLE IMPLEMENTATION
117
133
 
118
- if (!isControllerOnly) if (key === 'Tab') {
119
- e.preventDefault(); // we only prevent default if it's not controller only
134
+ if (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {
135
+ var _prevMonthBtnRef$curr3, _prevMonthBtnRef$curr4;
120
136
 
121
- if (shiftKey) {
122
- var _nextYearBtnRef$curre, _nextYearBtnRef$curre2;
123
-
124
- nextYearBtnRef === null || nextYearBtnRef === void 0 ? void 0 : (_nextYearBtnRef$curre = nextYearBtnRef.current) === null || _nextYearBtnRef$curre === void 0 ? void 0 : (_nextYearBtnRef$curre2 = _nextYearBtnRef$curre.focus) === null || _nextYearBtnRef$curre2 === void 0 ? void 0 : _nextYearBtnRef$curre2.call(_nextYearBtnRef$curre);
125
- } else if (isWithTimeWheelToo) {
126
- var _currHourBtnRef$curre, _currHourBtnRef$curre2;
127
-
128
- 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);
129
- } else {
130
- var _prevMonthBtnRef$curr3, _prevMonthBtnRef$curr4;
131
-
132
- // Before it was like https://jira.elliemae.io/browse/PUI-6632
133
- // setShowCalendar(false);
134
- // onPickerClose();
135
- // we are implementing focus cycle now
136
- // if someone changes his mind, remove comments to the above and add comments below
137
- // setShowCalendar onPickerClose are recibed as part of the args of the hook already
138
- 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);
139
- }
137
+ // MUST prevent default since this is a custom focus switch
138
+ // NOT preventing the default event will cause unexpected result
139
+ e.preventDefault();
140
+ 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);
140
141
  }
141
- }, [currHourBtnRef, daysArray, handleFocusMetaDayByDay, handleNextMonth, handlePrevMonth, isControllerOnly, isWithTimeWheelToo, nextYearBtnRef, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, tryToFocusCurrentlyDataIsFocusedDay]);
142
+ }, [daysArray, handleFocusMetaDayByDay, handleNextMonth, handlePrevMonth, isControllerOnly, isWithTimeWheelToo, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, tryToFocusCurrentlyDataIsFocusedDay]);
142
143
  const handlePrevYearKeyDown = React.useCallback(e => {
143
144
  const {
144
145
  key,
@@ -5,18 +5,25 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  require('core-js/modules/web.dom-collections.iterator.js');
6
6
  var React = require('react');
7
7
  var reactPopper = require('react-popper');
8
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
9
  var useOnClickOutside = require('../../../utils/hooks/useOnClickOutside.js');
9
10
 
10
- const usePopperTriggerLogic = ({
11
- focusedDay,
12
- resetFocusedDayToStartDate,
13
- prevMonthBtnRef,
14
- pickerButtonRef,
15
- onPickerOpen,
16
- onPickerClose,
17
- showCalendar,
18
- setShowCalendar
19
- }) => {
11
+ const usePopperTriggerLogic = _ref => {
12
+ let {
13
+ focusedDay,
14
+ resetFocusedDayToStartDate,
15
+ showCalendar,
16
+ setShowCalendar,
17
+ tryToFocusCurrentlyDataIsFocusedDay
18
+ } = _ref;
19
+ const {
20
+ props: {
21
+ onPickerOpen,
22
+ onPickerClose
23
+ },
24
+ prevMonthBtnRef,
25
+ pickerButtonRef
26
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
20
27
  const [referenceElement, setReferenceElement] = React.useState(null);
21
28
  const [popperElement, setPopperElement] = React.useState(null);
22
29
  const [arrowElement, setArrowElement] = React.useState(null);
@@ -27,7 +34,12 @@ const usePopperTriggerLogic = ({
27
34
  element: arrowElement
28
35
  }
29
36
  }]
30
- });
37
+ }); // onOpen we try to focus the day we should focus, if we should focus one
38
+
39
+ const handleOnPickerOpen = React.useCallback(() => {
40
+ onPickerOpen();
41
+ tryToFocusCurrentlyDataIsFocusedDay();
42
+ }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);
31
43
  const openCalendar = React.useCallback(() => {
32
44
  if (focusedDay) setTimeout(() => {
33
45
  var _focusedDay$dayBtnRef, _focusedDay$dayBtnRef2, _focusedDay$dayBtnRef3;
@@ -39,8 +51,8 @@ const usePopperTriggerLogic = ({
39
51
  return 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);
40
52
  }, 100);
41
53
  setShowCalendar(true);
42
- onPickerOpen();
43
- }, [focusedDay, onPickerOpen, prevMonthBtnRef, setShowCalendar]);
54
+ handleOnPickerOpen();
55
+ }, [focusedDay, handleOnPickerOpen, prevMonthBtnRef, setShowCalendar]);
44
56
  const closeCalendar = React.useCallback(() => {
45
57
  var _pickerButtonRef$curr, _pickerButtonRef$curr2;
46
58
 
@@ -17,7 +17,8 @@ const defaultCalendarWithTimeWheelContext = {
17
17
  handleToggleCalendarWithTimeWheel: noop,
18
18
  handleMenuWrapperKeyDown: noop,
19
19
  handlePickerIconKeyDown: noop,
20
- isControllerOnly: false
20
+ isControllerOnly: false,
21
+ disabled: false
21
22
  };
22
23
  /** Context for cross component communication */
23
24
 
@@ -4,9 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
- var dsIcon = require('@elliemae/ds-icon');
8
- var dsButton = require('@elliemae/ds-button');
9
- var DatePicker = require('@elliemae/ds-icons/DatePicker');
7
+ var DSButton = require('@elliemae/ds-button');
8
+ var dsIcons = require('@elliemae/ds-icons');
10
9
  var CalendarWithTimeWheelContext = require('./CalendarWithTimeWheelContext.js');
11
10
  var Styleds = require('./Styleds.js');
12
11
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
@@ -14,8 +13,8 @@ var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePic
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
16
15
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
- var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
18
16
 
17
+ var _DatePicker;
19
18
  // this is particularly useful due to how usePopper needs to check the references
20
19
  // since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
21
20
 
@@ -24,20 +23,20 @@ const CalendarWithTimeWheelIconTrigger = () => {
24
23
  handleSetTriggerRef,
25
24
  handleToggleCalendarWithTimeWheel,
26
25
  handlePickerIconKeyDown,
27
- ariaCurrentValueForInputs
26
+ ariaCurrentValueForInputs,
27
+ disabled
28
28
  } = React.useContext(CalendarWithTimeWheelContext.CalendarWithTimeWheelContext);
29
29
  return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](Styleds.StyledIconTriggerButton, {
30
30
  "aria-label": "date time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
31
31
  buttonType: "icon",
32
- size: dsButton.BUTTON_SIZES.M,
33
- variant: dsButton.BUTTON_VARIANT.DEFAULT,
32
+ size: DSButton.BUTTON_SIZES.M,
33
+ variant: DSButton.BUTTON_VARIANT.DEFAULT,
34
34
  innerRef: handleSetTriggerRef,
35
35
  onClick: handleToggleCalendarWithTimeWheel,
36
36
  onKeyDown: handlePickerIconKeyDown,
37
- "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL
38
- }, void 0, /*#__PURE__*/_jsx__default["default"](DatePicker__default["default"], {
39
- color: dsIcon.DSIconColors.PRIMARY
40
- })), [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
37
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL,
38
+ disabled: disabled
39
+ }, void 0, _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](dsIcons.DatePicker, {}))), [ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
41
40
  };
42
41
 
43
42
  exports.CalendarWithTimeWheelIconTrigger = CalendarWithTimeWheelIconTrigger;
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var _jsx = require('@babel/runtime/helpers/jsx');
7
12
  var React = require('react');
@@ -3,45 +3,75 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var styled = require('styled-components');
6
- var dsButton = require('@elliemae/ds-button');
6
+ var DSButton = require('@elliemae/ds-button');
7
7
  var CalendarContent = require('../Calendar/CalendarContent.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledIconTriggerButton = /*#__PURE__*/styled__default["default"](dsButton.DSButtonV2).withConfig({
13
+ const StyledIconTriggerButton = /*#__PURE__*/styled__default["default"](DSButton.DSButtonV2).withConfig({
14
14
  componentId: "sc-h2xj8r-0"
15
- })(["color:", ";width:26px;height:26px;"], ({
16
- theme
17
- }) => theme.colors.brand['600']);
15
+ })(["color:", ";width:26px;height:26px;"], _ref => {
16
+ let {
17
+ theme
18
+ } = _ref;
19
+ return theme.colors.brand['600'];
20
+ });
18
21
  const StyledCalendarWithTimeWheelWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
19
22
  componentId: "sc-h2xj8r-1"
20
- })(["background:", ";", " display:grid;grid-template-columns:260px 192px;grid-template-rows:1fr;column-gap:0;& > div:last-of-type{box-shadow:-1px 0 0 0 ", ";margin-left:1px;}"], ({
21
- theme
22
- }) => theme.colors.neutral['000'], ({
23
- isControllerOnly
24
- }) => isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);', ({
25
- theme
26
- }) => theme.colors.neutral[200]);
23
+ })(["background:", ";", " display:grid;grid-template-columns:260px 192px;grid-template-rows:1fr;column-gap:0;& > div:last-of-type{box-shadow:-1px 0 0 0 ", ";margin-left:1px;}"], _ref2 => {
24
+ let {
25
+ theme
26
+ } = _ref2;
27
+ return theme.colors.neutral['000'];
28
+ }, _ref3 => {
29
+ let {
30
+ isControllerOnly
31
+ } = _ref3;
32
+ return isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);';
33
+ }, _ref4 => {
34
+ let {
35
+ theme
36
+ } = _ref4;
37
+ return theme.colors.neutral[200];
38
+ });
27
39
  const StyledCalendar = /*#__PURE__*/styled__default["default"](CalendarContent.CalendarContent).withConfig({
28
40
  componentId: "sc-h2xj8r-2"
29
41
  })(["box-shadow:none;"]);
30
42
  const CalendarWithTimeWheelFooterMessage = /*#__PURE__*/styled__default["default"].footer.withConfig({
31
43
  componentId: "sc-h2xj8r-3"
32
- })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;grid-column:1/3;"], ({
33
- theme
34
- }) => theme.colors.neutral[300], ({
35
- theme
36
- }) => theme.space.xxs2, ({
37
- theme
38
- }) => theme.space.xxs2, ({
39
- theme
40
- }) => theme.colors.danger[900], ({
41
- theme
42
- }) => theme.fontWeights.thin, ({
43
- theme
44
- }) => theme.fontSizes.microText[200]);
44
+ })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;grid-column:1/3;"], _ref5 => {
45
+ let {
46
+ theme
47
+ } = _ref5;
48
+ return theme.colors.neutral[300];
49
+ }, _ref6 => {
50
+ let {
51
+ theme
52
+ } = _ref6;
53
+ return theme.space.xxs2;
54
+ }, _ref7 => {
55
+ let {
56
+ theme
57
+ } = _ref7;
58
+ return theme.space.xxs2;
59
+ }, _ref8 => {
60
+ let {
61
+ theme
62
+ } = _ref8;
63
+ return theme.colors.danger[900];
64
+ }, _ref9 => {
65
+ let {
66
+ theme
67
+ } = _ref9;
68
+ return theme.fontWeights.thin;
69
+ }, _ref10 => {
70
+ let {
71
+ theme
72
+ } = _ref10;
73
+ return theme.fontSizes.microText[200];
74
+ });
45
75
 
46
76
  exports.CalendarWithTimeWheelFooterMessage = CalendarWithTimeWheelFooterMessage;
47
77
  exports.StyledCalendar = StyledCalendar;
@@ -10,6 +10,7 @@ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.
10
10
  var useOnClickOutside = require('../../../utils/hooks/useOnClickOutside.js');
11
11
  var CalendarContext = require('../Calendar/CalendarContext.js');
12
12
  var TimeWheelContext = require('../TimeWheel/TimeWheelContext.js');
13
+ var constants = require('../../../utils/constants.js');
13
14
 
14
15
  const useConfigCalendarWithTimeWheelCTX = () => {
15
16
  const {
@@ -17,12 +18,17 @@ const useConfigCalendarWithTimeWheelCTX = () => {
17
18
  props: {
18
19
  type,
19
20
  onPickerOpen,
20
- onPickerClose
21
+ onPickerClose,
22
+ disabled
21
23
  },
22
24
  hideDate,
23
25
  hideTime,
24
26
  monthInputRef,
25
27
  hourInputRef,
28
+ withAnyInputs,
29
+ isWithTimeInputs,
30
+ meridiemInputRef,
31
+ yearInputRef,
26
32
  ariaCurrentValueForInputs
27
33
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
28
34
  const {
@@ -41,12 +47,16 @@ const useConfigCalendarWithTimeWheelCTX = () => {
41
47
  const {
42
48
  key
43
49
  } = e;
44
- const preventDefaultKeys = ['Home', 'End'];
45
- const stopPropagationKeys = ['Home', 'End'];
46
- if (preventDefaultKeys.includes(key)) e.preventDefault();
47
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
50
+ if (constants.homeEndKeys.includes(key)) e.preventDefault();
51
+ if (constants.homeEndKeys.includes(key)) e.stopPropagation();
48
52
  if (key === 'Home') onHomeKeyDown();
49
- }, [onHomeKeyDown]);
53
+
54
+ if (key === 'Backspace' && withAnyInputs) {
55
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
56
+
57
+ 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 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);
58
+ }
59
+ }, [isWithTimeInputs, meridiemInputRef, onHomeKeyDown, withAnyInputs, yearInputRef]);
50
60
  const [referenceElement, setReferenceElement] = React.useState(null);
51
61
  const [popperElement, setPopperElement] = React.useState(null);
52
62
  const [arrowElement, setArrowElement] = React.useState(null);
@@ -105,8 +115,9 @@ const useConfigCalendarWithTimeWheelCTX = () => {
105
115
  handleMenuWrapperKeyDown,
106
116
  handlePickerIconKeyDown,
107
117
  isControllerOnly,
118
+ disabled,
108
119
  ariaCurrentValueForInputs
109
- }), [showCalendarWithTimeWheel, usePopperHelpers, handleToggleCalendarWithTimeWheel, handleSetTriggerRef, handleMenuWrapperKeyDown, handlePickerIconKeyDown, isControllerOnly, ariaCurrentValueForInputs]);
120
+ }), [showCalendarWithTimeWheel, usePopperHelpers, handleToggleCalendarWithTimeWheel, handleSetTriggerRef, handleMenuWrapperKeyDown, handlePickerIconKeyDown, isControllerOnly, disabled, ariaCurrentValueForInputs]);
110
121
  };
111
122
 
112
123
  exports.useConfigCalendarWithTimeWheelCTX = useConfigCalendarWithTimeWheelCTX;
@@ -4,6 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
15
  var dsIcons = require('@elliemae/ds-icons');
9
16
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
@@ -71,6 +71,7 @@ const MeridiemList = () => {
71
71
  }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledTimeBtn, {
72
72
  isCurrentListItem: isPmCurrent,
73
73
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM'],
74
+ selected: meridiem === 'PM',
74
75
  "aria-label": "PM ".concat(isPmCurrent ? 'selected' : ''),
75
76
  "aria-disabled": isDisabledPm,
76
77
  isDisabled: isDisabledPm,
@@ -4,6 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
15
  var dsIcons = require('@elliemae/ds-icons');
9
16
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
@@ -4,10 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var React = require('react');
8
- var DSButton = require('@elliemae/ds-basic/Button');
9
- var ChevronSmallUp = require('@elliemae/ds-icons/ChevronSmallUp');
10
- var ChevronSmallDown = require('@elliemae/ds-icons/ChevronSmallDown');
15
+ var DSButton = require('@elliemae/ds-button');
16
+ var dsIcons = require('@elliemae/ds-icons');
11
17
  var numberHelpers = require('../../../utils/numberHelpers.js');
12
18
  var Styleds = require('./Styleds.js');
13
19
  var TimeWheelContext = require('./TimeWheelContext.js');
@@ -18,8 +24,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
18
24
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
25
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
26
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
21
- var ChevronSmallUp__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallUp);
22
- var ChevronSmallDown__default = /*#__PURE__*/_interopDefaultLegacy(ChevronSmallDown);
23
27
 
24
28
  var _ChevronSmallUp, _ChevronSmallDown;
25
29
 
@@ -50,7 +54,7 @@ const SecondsList = () => {
50
54
  onKeyDown: handlePrevSecondBtnOnKeyDown,
51
55
  innerRef: prevSecondsBtnRef,
52
56
  tabIndex: -1
53
- }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](ChevronSmallUp__default["default"], {})))), visibleSeconds.map(secondsString => {
57
+ }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {})))), visibleSeconds.map(secondsString => {
54
58
  const key = "timewheel-seconds-".concat(secondsString);
55
59
  if (!secondsString) return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, key);
56
60
  const isEmptyCurrValueCurrentListItem = !seconds && numberHelpers.convertToPositiveNumberIfPossible(secondsString) === currSecondNum;
@@ -81,7 +85,7 @@ const SecondsList = () => {
81
85
  onKeyDown: handleNextSecondBtnOnKeyDown,
82
86
  innerRef: nextSecondsBtnRef,
83
87
  tabIndex: -1
84
- }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](ChevronSmallDown__default["default"], {})))));
88
+ }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallDown, {})))));
85
89
  };
86
90
 
87
91
  exports.SecondsList = SecondsList;