@elliemae/ds-controlled-form 2.0.0-next.7 → 2.0.0-rc.10

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
@@ -1,3 +1,9 @@
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';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
1
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
8
  import React from 'react';
3
9
  import { Grid } from '@elliemae/ds-grid';
@@ -7,8 +13,13 @@ import { DateInputs } from './DateInputs/DateInputs.js';
7
13
  import { TimeInputs } from './TimeInputs/TimeInputs.js';
8
14
  import { PickersIcons } from './Pickers/PickersIcons.js';
9
15
  import { ClearButton } from './ClearButton/ClearButton.js';
16
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
17
 
11
18
  var _DateInputs, _TimeInputs, _ClearButton, _PickersIcons;
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12
23
  const ControlledDateTimePickerContent = () => {
13
24
  const {
14
25
  hideDate,
@@ -22,8 +33,11 @@ const ControlledDateTimePickerContent = () => {
22
33
  shouldPreserveClearableSpace,
23
34
  isControllerOnly,
24
35
  props: {
25
- hasError
26
- }
36
+ hasError,
37
+ dataAttrs,
38
+ disabled
39
+ },
40
+ onGlobalKeyDown
27
41
  } = React.useContext(ControlledDateTimePickerContext);
28
42
  const resetLatestInteraction = React.useCallback(() => {
29
43
  setLatestInteractionRegion('');
@@ -35,18 +49,24 @@ const ControlledDateTimePickerContent = () => {
35
49
  const rightControlCols = [];
36
50
  if (shouldPreserveClearableSpace) rightControlCols.push('28px');
37
51
  if (withAnyPicker) rightControlCols.push('auto');
38
- return /*#__PURE__*/_jsx(StyledInputsWrapperGrid, {
39
- cols: mainCols,
40
- gutter: "xxs",
41
- pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
42
- justPicker: hideDate && hideTime,
43
- withAnyPicker: withAnyPicker,
44
- onBlur: resetLatestInteraction,
45
- hasError: hasError,
46
- isControllerOnly: isControllerOnly
47
- }, void 0, hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx(DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx(TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx(Grid, {
48
- cols: rightControlCols
49
- }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx(ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx(PickersIcons, {})) : null) : null);
52
+ return /*#__PURE__*/jsx(Fragment, {
53
+ children: /*#__PURE__*/jsxs(StyledInputsWrapperGrid, _objectSpread(_objectSpread({
54
+ cols: mainCols,
55
+ gutter: "xxs",
56
+ pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
57
+ justPicker: hideDate && hideTime,
58
+ withAnyPicker: withAnyPicker,
59
+ onBlur: resetLatestInteraction,
60
+ onKeyDown: onGlobalKeyDown,
61
+ hasError: hasError,
62
+ isControllerOnly: isControllerOnly,
63
+ disabled: disabled
64
+ }, dataAttrs), {}, {
65
+ children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx(DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx(TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx(Grid, {
66
+ cols: rightControlCols
67
+ }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx(ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx(PickersIcons, {})) : null) : null]
68
+ }))
69
+ });
50
70
  };
51
71
 
52
72
  export { ControlledDateTimePickerContent };
@@ -11,16 +11,18 @@ const isInvalidDay = day => {
11
11
  return day.length > 2 || day === '00' || !numberOnly || Number.parseInt(day, 10) > 31;
12
12
  };
13
13
 
14
- const DDInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- contextRef,
21
- placeholder,
22
- ariaCurrentValueForInputs
23
- }) => {
14
+ const DDInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ contextRef,
23
+ placeholder,
24
+ ariaCurrentValueForInputs
25
+ } = _ref;
24
26
  const validateOnChange = useCallback(e => {
25
27
  var _e$target;
26
28
 
@@ -40,7 +42,9 @@ const DDInput = /*#__PURE__*/React.memo(({
40
42
  ref: contextRef,
41
43
  placeholder: placeholder,
42
44
  "aria-label": "day input field, ".concat(ariaCurrentValueForInputs),
43
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
45
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY,
46
+ disabled: disabled,
47
+ "aria-disabled": disabled
44
48
  });
45
49
  });
46
50
 
@@ -27,7 +27,8 @@ const DateInputs = () => {
27
27
  onYearFocus,
28
28
  onMonthKeyDown,
29
29
  onDayKeyDown,
30
- onYearKeyDown
30
+ onYearKeyDown,
31
+ disabled
31
32
  } = useDateInputs(); // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo
32
33
 
33
34
  const {
@@ -47,7 +48,8 @@ const DateInputs = () => {
47
48
  contextRef: monthInputRef,
48
49
  autoFocusMonthInput: autoFocusMonthInput,
49
50
  placeholder: "MM",
50
- ariaCurrentValueForInputs: ariaCurrentValueForInputs
51
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
52
+ disabled: disabled
51
53
  })), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx(StyledSeparator, {
52
54
  alignItems: "center"
53
55
  }, void 0, "/")), /*#__PURE__*/_jsx(StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx(DDInput, {
@@ -58,7 +60,8 @@ const DateInputs = () => {
58
60
  value: day,
59
61
  contextRef: dayInputRef,
60
62
  placeholder: "DD",
61
- ariaCurrentValueForInputs: ariaCurrentValueForInputs
63
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
64
+ disabled: disabled
62
65
  })), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx(StyledSeparator, {
63
66
  alignItems: "center"
64
67
  }, void 0, "/")), /*#__PURE__*/_jsx(StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx(YYYYInput, {
@@ -69,7 +72,8 @@ const DateInputs = () => {
69
72
  value: year,
70
73
  contextRef: yearInputRef,
71
74
  placeholder: "YYYY",
72
- ariaCurrentValueForInputs: ariaCurrentValueForInputs
75
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
76
+ disabled: disabled
73
77
  })));
74
78
  };
75
79
 
@@ -11,17 +11,19 @@ const isInvalidMonth = month => {
11
11
  return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;
12
12
  };
13
13
 
14
- const MMInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- placeholder,
21
- contextRef,
22
- autoFocusMonthInput,
23
- ariaCurrentValueForInputs
24
- }) => {
14
+ const MMInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ placeholder,
23
+ contextRef,
24
+ autoFocusMonthInput,
25
+ ariaCurrentValueForInputs
26
+ } = _ref;
25
27
  const validateOnChange = useCallback(e => {
26
28
  var _e$target;
27
29
 
@@ -42,7 +44,9 @@ const MMInput = /*#__PURE__*/React.memo(({
42
44
  ref: contextRef,
43
45
  placeholder: placeholder,
44
46
  "aria-label": "month input field, ".concat(ariaCurrentValueForInputs),
45
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
47
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
48
+ disabled: disabled,
49
+ "aria-disabled": disabled
46
50
  });
47
51
  });
48
52
 
@@ -11,16 +11,18 @@ const isInvalidYear = year => {
11
11
  return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;
12
12
  };
13
13
 
14
- const YYYYInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- placeholder,
21
- contextRef,
22
- ariaCurrentValueForInputs
23
- }) => {
14
+ const YYYYInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ placeholder,
23
+ contextRef,
24
+ ariaCurrentValueForInputs
25
+ } = _ref;
24
26
  const validateOnChange = useCallback(e => {
25
27
  var _e$target;
26
28
 
@@ -40,7 +42,9 @@ const YYYYInput = /*#__PURE__*/React.memo(({
40
42
  ref: contextRef,
41
43
  placeholder: placeholder,
42
44
  "aria-label": "year input field, ".concat(ariaCurrentValueForInputs),
43
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
45
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
46
+ disabled: disabled,
47
+ "aria-disabled": disabled
44
48
  });
45
49
  });
46
50
 
@@ -1,8 +1,14 @@
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 { useContext, useCallback, useMemo } from 'react';
3
8
  import { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';
4
9
  import { getFormattedDateString, prependStringWithPlaceHolders, fillStringWithPlaceHolders } from '../../utils/stringHelpers.js';
5
10
  import { getValidationDateStringMetaInfo } from '../../utils/dateHelpers.js';
11
+ import { homeEndArrowUpDownDashSlashesKeys, homeEndArrowUpDownSpaceKeys, defaultMetaInfo } from '../../utils/constants.js';
6
12
 
7
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
14
 
@@ -14,7 +20,8 @@ const useDateInputs = () => {
14
20
  onDayChange: appOnDayChange,
15
21
  onYearChange: appOnYearChange,
16
22
  getIsDisabledDay,
17
- getIsOutOfRangeDay
23
+ getIsOutOfRangeDay,
24
+ disabled
18
25
  },
19
26
  month,
20
27
  day,
@@ -32,7 +39,8 @@ const useDateInputs = () => {
32
39
  withClearBtn,
33
40
  withAnyPicker,
34
41
  withAnyRightController,
35
- autoFocusMonthInput
42
+ autoFocusMonthInput,
43
+ lastSegmentRef
36
44
  } = useContext(ControlledDateTimePickerContext);
37
45
  const onHomeKeyDown = useCallback(() => {
38
46
  var _monthInputRef$curren, _monthInputRef$curren2;
@@ -47,9 +55,8 @@ const useDateInputs = () => {
47
55
  const setLatestInteractionRegionDateInputs = useCallback(() => {
48
56
  setLatestInteractionRegion('date-inputs');
49
57
  }, [setLatestInteractionRegion]);
50
- const handleChangeMonth = useCallback((newMonth, e, metaInfo = {
51
- isAutomaticFillTrigger: false
52
- }) => {
58
+ const handleChangeMonth = useCallback(function (newMonth, e) {
59
+ let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
53
60
  const newDateString = getFormattedDateString({
54
61
  month: newMonth,
55
62
  day,
@@ -77,25 +84,39 @@ const useDateInputs = () => {
77
84
  if (newMonth.length === 2) dayInputRef === null || dayInputRef === void 0 ? void 0 : (_dayInputRef$current = dayInputRef.current) === null || _dayInputRef$current === void 0 ? void 0 : (_dayInputRef$current$ = _dayInputRef$current.focus) === null || _dayInputRef$current$ === void 0 ? void 0 : _dayInputRef$current$.call(_dayInputRef$current);
78
85
  }, [dayInputRef, handleChangeMonth]);
79
86
  const onMonthKeyDown = useCallback(e => {
87
+ var _lastSegmentRef$curre, _lastSegmentRef$curre2;
88
+
80
89
  const {
81
- key
90
+ key,
91
+ ctrlKey,
92
+ metaKey
82
93
  } = e;
83
- const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
84
- const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
85
- if (preventDefaultKeys.includes(key)) e.preventDefault();
86
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
94
+ const monthStringConvertedToInteger = Number.parseInt(month, 10);
95
+ if (homeEndArrowUpDownDashSlashesKeys.includes(key)) e.preventDefault();
96
+ if (homeEndArrowUpDownDashSlashesKeys.includes(key)) e.stopPropagation();
87
97
  if (key === 'Home') onHomeKeyDown();
88
98
  if (key === 'End') onEndKeyDown();
89
99
 
90
100
  if (key === 'ArrowUp' || key === 'ArrowDown') {
91
- const monthStringConvertedToInteger = Number.parseInt(month, 10);
92
101
  const monthInteger = Number.isNaN(monthStringConvertedToInteger) ? 0 : monthStringConvertedToInteger;
93
102
  let newMonth;
94
103
  if (key === 'ArrowUp') newMonth = monthInteger + 1 <= 12 ? monthInteger + 1 : monthInteger;else newMonth = monthInteger - 1 > 0 ? monthInteger - 1 : 1;
95
104
  newMonth = prependStringWithPlaceHolders("".concat(newMonth), 2);
96
105
  handleChangeMonth(newMonth, e);
97
106
  }
98
- }, [onHomeKeyDown, onEndKeyDown, month, handleChangeMonth]);
107
+
108
+ if (!Number.isNaN(monthStringConvertedToInteger) && (key === '-' || key === '/' || key === '\\')) {
109
+ var _dayInputRef$current2, _dayInputRef$current3;
110
+
111
+ const newMonth = prependStringWithPlaceHolders("".concat(monthStringConvertedToInteger), 2);
112
+ handleChangeMonth(newMonth, e); // auto-advance functionality:
113
+
114
+ if (newMonth.length === 2) dayInputRef === null || dayInputRef === void 0 ? void 0 : (_dayInputRef$current2 = dayInputRef.current) === null || _dayInputRef$current2 === void 0 ? void 0 : (_dayInputRef$current3 = _dayInputRef$current2.focus) === null || _dayInputRef$current3 === void 0 ? void 0 : _dayInputRef$current3.call(_dayInputRef$current2);
115
+ } // focus last fragment on fill with now
116
+
117
+
118
+ if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre = lastSegmentRef.current) === null || _lastSegmentRef$curre === void 0 ? void 0 : (_lastSegmentRef$curre2 = _lastSegmentRef$curre.focus) === null || _lastSegmentRef$curre2 === void 0 ? void 0 : _lastSegmentRef$curre2.call(_lastSegmentRef$curre);
119
+ }, [month, onHomeKeyDown, onEndKeyDown, lastSegmentRef, handleChangeMonth, dayInputRef]);
99
120
  const onMonthBlur = useCallback(e => {
100
121
  var _e$target2;
101
122
 
@@ -106,9 +127,8 @@ const useDateInputs = () => {
106
127
  isAutomaticFillTrigger: true
107
128
  });
108
129
  }, [handleChangeMonth]);
109
- const handleChangeDay = useCallback((newDay, e, metaInfo = {
110
- isAutomaticFillTrigger: false
111
- }) => {
130
+ const handleChangeDay = useCallback(function (newDay, e) {
131
+ let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
112
132
  const newDateString = getFormattedDateString({
113
133
  month,
114
134
  day: newDay,
@@ -136,25 +156,46 @@ const useDateInputs = () => {
136
156
  if (newDay.length === 2) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current3 = yearInputRef.current) === null || _yearInputRef$current3 === void 0 ? void 0 : (_yearInputRef$current4 = _yearInputRef$current3.focus) === null || _yearInputRef$current4 === void 0 ? void 0 : _yearInputRef$current4.call(_yearInputRef$current3);
137
157
  }, [handleChangeDay, yearInputRef]);
138
158
  const onDayKeyDown = useCallback(e => {
159
+ var _lastSegmentRef$curre3, _lastSegmentRef$curre4;
160
+
139
161
  const {
140
- key
162
+ key,
163
+ ctrlKey,
164
+ metaKey
141
165
  } = e;
142
- const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
143
- const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
144
- if (preventDefaultKeys.includes(key)) e.preventDefault();
145
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
166
+ const dayStringConvertedToInteger = Number.parseInt(day, 10);
167
+ if (homeEndArrowUpDownDashSlashesKeys.includes(key)) e.preventDefault();
168
+ if (homeEndArrowUpDownDashSlashesKeys.includes(key)) e.stopPropagation();
146
169
  if (key === 'Home') onHomeKeyDown();
147
170
  if (key === 'End') onEndKeyDown();
148
171
 
149
172
  if (key === 'ArrowUp' || key === 'ArrowDown') {
150
- const dayStringConvertedToInteger = Number.parseInt(day, 10);
151
173
  const dayInteger = Number.isNaN(dayStringConvertedToInteger) ? 0 : dayStringConvertedToInteger;
152
174
  let newDay;
153
175
  if (key === 'ArrowUp') newDay = dayInteger + 1 <= 31 ? dayInteger + 1 : dayInteger;else newDay = dayInteger - 1 > 0 ? dayInteger - 1 : 1;
154
176
  newDay = prependStringWithPlaceHolders("".concat(newDay), 2);
155
177
  handleChangeDay(newDay, e);
156
178
  }
157
- }, [onHomeKeyDown, onEndKeyDown, handleChangeDay, day]);
179
+
180
+ if (!Number.isNaN(dayStringConvertedToInteger) && (key === '-' || key === '/' || key === '\\')) {
181
+ var _yearInputRef$current5, _yearInputRef$current6;
182
+
183
+ const newDay = prependStringWithPlaceHolders("".concat(dayStringConvertedToInteger), 2);
184
+ handleChangeDay(newDay, e); // auto-advance functionality:
185
+
186
+ if (newDay.length === 2) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current5 = yearInputRef.current) === null || _yearInputRef$current5 === void 0 ? void 0 : (_yearInputRef$current6 = _yearInputRef$current5.focus) === null || _yearInputRef$current6 === void 0 ? void 0 : _yearInputRef$current6.call(_yearInputRef$current5);
187
+ } // regressive backspace functionality
188
+
189
+
190
+ if (key === 'Backspace' && (day === null || day === void 0 ? void 0 : day.length) === 0) {
191
+ var _monthInputRef$curren3, _monthInputRef$curren4;
192
+
193
+ monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren3 = monthInputRef.current) === null || _monthInputRef$curren3 === void 0 ? void 0 : (_monthInputRef$curren4 = _monthInputRef$curren3.focus) === null || _monthInputRef$curren4 === void 0 ? void 0 : _monthInputRef$curren4.call(_monthInputRef$curren3);
194
+ } // focus last fragment on fill with now
195
+
196
+
197
+ if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre3 = lastSegmentRef.current) === null || _lastSegmentRef$curre3 === void 0 ? void 0 : (_lastSegmentRef$curre4 = _lastSegmentRef$curre3.focus) === null || _lastSegmentRef$curre4 === void 0 ? void 0 : _lastSegmentRef$curre4.call(_lastSegmentRef$curre3);
198
+ }, [day, onHomeKeyDown, onEndKeyDown, lastSegmentRef, handleChangeDay, yearInputRef, monthInputRef]);
158
199
  const onDayBlur = useCallback(e => {
159
200
  var _e$target4;
160
201
 
@@ -165,9 +206,8 @@ const useDateInputs = () => {
165
206
  isAutomaticFillTrigger: true
166
207
  });
167
208
  }, [handleChangeDay]);
168
- const handleChangeYear = useCallback((newYear, e, metaInfo = {
169
- isAutomaticFillTrigger: false
170
- }) => {
209
+ const handleChangeYear = useCallback(function (newYear, e) {
210
+ let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
171
211
  const newDateString = getFormattedDateString({
172
212
  month,
173
213
  day,
@@ -201,25 +241,52 @@ const useDateInputs = () => {
201
241
  }
202
242
  }, [handleChangeYear, hideTime, hourInputRef, withAnyRightController, withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef]);
203
243
  const onYearKeyDown = useCallback(e => {
244
+ var _lastSegmentRef$curre5, _lastSegmentRef$curre6;
245
+
204
246
  const {
205
- key
247
+ key,
248
+ ctrlKey,
249
+ metaKey
206
250
  } = e;
207
- const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
208
- const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
209
- if (preventDefaultKeys.includes(key)) e.preventDefault();
210
- if (stopPropagationKeys.includes(key)) e.stopPropagation();
251
+ const yearStringConvertedToInteger = Number.parseInt(year, 10);
252
+ if (homeEndArrowUpDownSpaceKeys.includes(key)) e.preventDefault();
253
+ if (homeEndArrowUpDownSpaceKeys.includes(key)) e.stopPropagation();
211
254
  if (key === 'Home') onHomeKeyDown();
212
255
  if (key === 'End') onEndKeyDown();
213
256
 
214
257
  if (key === 'ArrowUp' || key === 'ArrowDown') {
215
- const yearStringConvertedToInteger = Number.parseInt(year, 10);
216
258
  const yearInteger = Number.isNaN(yearStringConvertedToInteger) ? 0 : yearStringConvertedToInteger;
217
259
  let newYear;
218
260
  if (key === 'ArrowUp') newYear = yearInteger + 1 <= 9999 ? yearInteger + 1 : yearInteger;else newYear = yearInteger - 1 > 0 ? yearInteger - 1 : 1;
219
261
  newYear = prependStringWithPlaceHolders("".concat(newYear), 4);
220
262
  handleChangeYear(newYear, e);
221
263
  }
222
- }, [onHomeKeyDown, onEndKeyDown, handleChangeYear, year]);
264
+
265
+ if (!Number.isNaN(yearStringConvertedToInteger) && key === ' ') {
266
+ const newYear = prependStringWithPlaceHolders("".concat(yearStringConvertedToInteger), 4);
267
+ handleChangeYear(newYear, e); // auto-advance functionality:
268
+
269
+ if (newYear.length === 4) {
270
+ var _hourInputRef$current3, _hourInputRef$current4;
271
+
272
+ if (!hideTime) hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current3 = hourInputRef.current) === null || _hourInputRef$current3 === void 0 ? void 0 : (_hourInputRef$current4 = _hourInputRef$current3.focus) === null || _hourInputRef$current4 === void 0 ? void 0 : _hourInputRef$current4.call(_hourInputRef$current3);else if (withAnyRightController) {
273
+ var _clearButtonRef$curre5, _clearButtonRef$curre6, _pickerButtonRef$curr5, _pickerButtonRef$curr6;
274
+
275
+ if (withClearBtn) (_clearButtonRef$curre5 = clearButtonRef.current) === null || _clearButtonRef$curre5 === void 0 ? void 0 : (_clearButtonRef$curre6 = _clearButtonRef$curre5.focus) === null || _clearButtonRef$curre6 === void 0 ? void 0 : _clearButtonRef$curre6.call(_clearButtonRef$curre5);else if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr5 = pickerButtonRef.current) === null || _pickerButtonRef$curr5 === void 0 ? void 0 : (_pickerButtonRef$curr6 = _pickerButtonRef$curr5.focus) === null || _pickerButtonRef$curr6 === void 0 ? void 0 : _pickerButtonRef$curr6.call(_pickerButtonRef$curr5); // pending approval from Seda, check which one should be focused first...
276
+ }
277
+ }
278
+ } // regressive backspace functionality
279
+
280
+
281
+ if (key === 'Backspace' && (year === null || year === void 0 ? void 0 : year.length) === 0) {
282
+ var _dayInputRef$current4, _dayInputRef$current5;
283
+
284
+ dayInputRef === null || dayInputRef === void 0 ? void 0 : (_dayInputRef$current4 = dayInputRef.current) === null || _dayInputRef$current4 === void 0 ? void 0 : (_dayInputRef$current5 = _dayInputRef$current4.focus) === null || _dayInputRef$current5 === void 0 ? void 0 : _dayInputRef$current5.call(_dayInputRef$current4);
285
+ } // focus last fragment on fill with now
286
+
287
+
288
+ if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre5 = lastSegmentRef.current) === null || _lastSegmentRef$curre5 === void 0 ? void 0 : (_lastSegmentRef$curre6 = _lastSegmentRef$curre5.focus) === null || _lastSegmentRef$curre6 === void 0 ? void 0 : _lastSegmentRef$curre6.call(_lastSegmentRef$curre5);
289
+ }, [year, onHomeKeyDown, onEndKeyDown, lastSegmentRef, handleChangeYear, hideTime, hourInputRef, withAnyRightController, withClearBtn, clearButtonRef, withAnyPicker, pickerButtonRef, dayInputRef]);
223
290
  const onYearBlur = useCallback(e => {
224
291
  var _e$target6;
225
292
 
@@ -233,6 +300,7 @@ const useDateInputs = () => {
233
300
  day,
234
301
  year,
235
302
  autoFocusMonthInput,
303
+ disabled,
236
304
  onMonthFocus,
237
305
  onMonthChange,
238
306
  onDayFocus,
@@ -245,7 +313,7 @@ const useDateInputs = () => {
245
313
  onMonthKeyDown,
246
314
  onDayKeyDown,
247
315
  onYearKeyDown
248
- }), [month, day, year, autoFocusMonthInput, onMonthFocus, onMonthChange, onDayFocus, onDayChange, onYearFocus, onYearChange, onMonthBlur, onDayBlur, onYearBlur, onMonthKeyDown, onDayKeyDown, onYearKeyDown]);
316
+ }), [month, day, year, autoFocusMonthInput, disabled, onMonthFocus, onMonthChange, onDayFocus, onDayChange, onYearFocus, onYearChange, onMonthBlur, onDayBlur, onYearBlur, onMonthKeyDown, onDayKeyDown, onYearKeyDown]);
249
317
  };
250
318
 
251
319
  export { useDateInputs };
@@ -8,9 +8,10 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
 
9
9
  var _CalendarIconTrigger, _CalendarWrapper;
10
10
 
11
- const WrappedCalendarContext = ({
12
- children
13
- }) => {
11
+ const WrappedCalendarContext = _ref => {
12
+ let {
13
+ children
14
+ } = _ref;
14
15
  const ctx = useConfigCalendarCTX();
15
16
  return /*#__PURE__*/_jsx(CalendarContext.Provider, {
16
17
  value: ctx
@@ -5,12 +5,15 @@ import { CalendarWeekDays } from './CalendarWeekDays.js';
5
5
  import { StyledBody } from './Styleds.js';
6
6
 
7
7
  var _CalendarWeekDays, _StyledBody;
8
- const CalendarBody = /*#__PURE__*/React.memo(({
9
- weekRowsNum
10
- }) => /*#__PURE__*/_jsx("span", {
11
- role: "grid",
12
- "aria-colcount": 7,
13
- "aria-rowcount": weekRowsNum
14
- }, void 0, _CalendarWeekDays || (_CalendarWeekDays = /*#__PURE__*/_jsx(CalendarWeekDays, {})), _StyledBody || (_StyledBody = /*#__PURE__*/_jsx(StyledBody, {}, void 0, /*#__PURE__*/_jsx(CalendarMonthDays, {})))));
8
+ const CalendarBody = /*#__PURE__*/React.memo(_ref => {
9
+ let {
10
+ weekRowsNum
11
+ } = _ref;
12
+ return /*#__PURE__*/_jsx("span", {
13
+ role: "grid",
14
+ "aria-colcount": 7,
15
+ "aria-rowcount": weekRowsNum
16
+ }, void 0, _CalendarWeekDays || (_CalendarWeekDays = /*#__PURE__*/_jsx(CalendarWeekDays, {})), _StyledBody || (_StyledBody = /*#__PURE__*/_jsx(StyledBody, {}, void 0, /*#__PURE__*/_jsx(CalendarMonthDays, {}))));
17
+ });
15
18
 
16
19
  export { CalendarBody };
@@ -12,9 +12,10 @@ var _CalendarHead, _CalendarFooter;
12
12
  // is required for styled-components, without this we can't styled(CalendarContent)...
13
13
  // https://stackoverflow.com/questions/52542817/styled-components-not-applying-style-to-custom-functional-react-component
14
14
 
15
- const CalendarContent = ({
16
- className = ''
17
- }) => {
15
+ const CalendarContent = _ref => {
16
+ let {
17
+ className = ''
18
+ } = _ref;
18
19
  const {
19
20
  isControllerOnly,
20
21
  daysMatrixByWeekday
@@ -6,6 +6,7 @@ const noop = () => {};
6
6
  const defaultCalendarContext = {
7
7
  ariaCurrentValueForInputs: '',
8
8
  showCalendar: false,
9
+ disabled: false,
9
10
  setShowCalendar: noop,
10
11
  closeCalendar: noop,
11
12
  setPopperElement: noop,
@@ -1,36 +1,41 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/esnext.async-iterator.map.js';
3
+ import 'core-js/modules/esnext.iterator.map.js';
2
4
  import React from 'react';
3
5
  import { Day } from './Day.js';
4
6
  import { StyledWeekDaysListWrapper } from './Styleds.js';
5
7
  import { jsxs } from 'react/jsx-runtime';
6
8
 
7
- const CalendarDaysList = /*#__PURE__*/React.memo(({
8
- invisibleFirstDay,
9
- daysMatrixByWeekday,
10
- invisibleLastDay,
11
- innerRef
12
- }) => /*#__PURE__*/jsxs("div", {
13
- ref: innerRef,
14
- role: "rowgroup",
15
- children: [/*#__PURE__*/_jsx(Day, {
16
- metaDay: invisibleFirstDay,
17
- isInvisible: true
18
- }, "ds-calendar-".concat(invisibleFirstDay.day.toString())), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx(StyledWeekDaysListWrapper, {
19
- role: "row",
20
- "aria-rowindex": i + 1,
21
- cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
22
- rows: ['28px'],
23
- py: "xxxs",
24
- px: "2px",
25
- justifyContent: "space-between",
26
- alignItems: "center"
27
- }, "ds-calendar-week-".concat(week[0].day.toString(), "-").concat(week[6].day.toString()), week.map((metaDay, z) => /*#__PURE__*/_jsx(Day, {
28
- metaDay: metaDay,
29
- colIndex: z + 1
30
- }, "ds-calendar-".concat(metaDay.day.toString()))))), /*#__PURE__*/_jsx(Day, {
31
- metaDay: invisibleLastDay,
32
- isInvisible: true
33
- }, "ds-calendar-".concat(invisibleLastDay.day.toString()))]
34
- }));
9
+ const CalendarDaysList = /*#__PURE__*/React.memo(_ref => {
10
+ let {
11
+ invisibleFirstDay,
12
+ daysMatrixByWeekday,
13
+ invisibleLastDay,
14
+ innerRef
15
+ } = _ref;
16
+ return /*#__PURE__*/jsxs("div", {
17
+ ref: innerRef,
18
+ role: "rowgroup",
19
+ children: [/*#__PURE__*/_jsx(Day, {
20
+ metaDay: invisibleFirstDay,
21
+ isInvisible: true
22
+ }, "ds-calendar-".concat(invisibleFirstDay.day.toString())), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx(StyledWeekDaysListWrapper, {
23
+ role: "row",
24
+ "aria-rowindex": i + 1,
25
+ cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
26
+ rows: ['28px'],
27
+ py: "xxxs",
28
+ px: "2px",
29
+ justifyContent: "space-between",
30
+ alignItems: "center"
31
+ }, "ds-calendar-week-".concat(week[0].day.toString(), "-").concat(week[6].day.toString()), week.map((metaDay, z) => /*#__PURE__*/_jsx(Day, {
32
+ metaDay: metaDay,
33
+ colIndex: z + 1
34
+ }, "ds-calendar-".concat(metaDay.day.toString()))))), /*#__PURE__*/_jsx(Day, {
35
+ metaDay: invisibleLastDay,
36
+ isInvisible: true
37
+ }, "ds-calendar-".concat(invisibleLastDay.day.toString()))]
38
+ });
39
+ });
35
40
 
36
41
  export { CalendarDaysList };
@@ -1,10 +1,7 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import { useMemo, useContext } from 'react';
3
3
  import { BUTTON_SIZES } from '@elliemae/ds-button';
4
- import ChevronDoubleLeft from '@elliemae/ds-icons/ChevronDoubleLeft';
5
- import ChevronLeft from '@elliemae/ds-icons/ChevronLeft';
6
- import ChevronRight from '@elliemae/ds-icons/ChevronRight';
7
- import ChevronDoubleRight from '@elliemae/ds-icons/ChevronDoubleRight';
4
+ import { ChevronDoubleLeft, ChevronLeft, ChevronRight, ChevronDoubleRight } from '@elliemae/ds-icons';
8
5
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
9
6
  import { getMonthNameByMonthNumber } from '../../../utils/dateHelpers.js';
10
7
  import { StyledHeader, StyledHeaderButton } from './Styleds.js';