@elliemae/ds-controlled-form 2.4.1-rc.5 → 2.4.1-rc.9

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 (200) hide show
  1. package/cjs/date-time-picker/ControlledDateTimePickerCTX.js +1 -114
  2. package/cjs/date-time-picker/ControlledDateTimePickerDatatestid.js +0 -2
  3. package/cjs/date-time-picker/config/useChangeHandlers.js +264 -0
  4. package/cjs/date-time-picker/config/useControlledDateTimePicker.js +37 -420
  5. package/cjs/date-time-picker/config/useGetDestructuredValues.js +25 -68
  6. package/cjs/date-time-picker/config/useGetFlags.js +173 -0
  7. package/cjs/date-time-picker/config/useGetPropsBasedOnType.js +101 -0
  8. package/cjs/date-time-picker/config/useGetPropsWithDefault.js +2 -3
  9. package/cjs/date-time-picker/config/useGetReferences.js +86 -0
  10. package/cjs/date-time-picker/config/useGlobalKeyHandlers.js +106 -0
  11. package/cjs/date-time-picker/config/useRelevantValueFromProps.js +39 -0
  12. package/cjs/date-time-picker/config/useValidateProps.js +47 -42
  13. package/cjs/date-time-picker/parts/ClearButton/ClearButton.js +20 -8
  14. package/cjs/date-time-picker/parts/ControlledDateTimePickerContent.js +14 -12
  15. package/cjs/date-time-picker/parts/DateInputs/useDateInputs.js +5 -5
  16. package/cjs/date-time-picker/parts/Pickers/Calendar/Calendar.js +11 -13
  17. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -1
  18. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -49
  19. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  20. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -7
  21. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +8 -4
  22. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +5 -2
  23. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -2
  24. package/cjs/date-time-picker/parts/Pickers/Calendar/Day.js +18 -18
  25. package/cjs/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +24 -122
  26. package/cjs/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +32 -4
  27. package/cjs/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +10 -6
  28. package/cjs/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  29. package/cjs/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +7 -4
  30. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +7 -3
  31. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -16
  32. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +0 -1
  33. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +10 -10
  34. package/cjs/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +18 -13
  35. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +60 -33
  36. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -13
  37. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +11 -13
  38. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -2
  39. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -65
  40. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -3
  41. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -2
  42. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +18 -116
  43. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +52 -94
  44. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +4 -1
  45. package/cjs/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  46. package/cjs/date-time-picker/parts/TimeInputs/HHInput.js +1 -3
  47. package/cjs/date-time-picker/parts/TimeInputs/MeridiemInput.js +1 -1
  48. package/cjs/date-time-picker/parts/TimeInputs/TimeInputs.js +3 -7
  49. package/cjs/date-time-picker/parts/TimeInputs/useTimeInputs.js +3 -6
  50. package/cjs/date-time-picker/propTypes.js +56 -23
  51. package/cjs/date-time-picker/sharedTypes.js +2 -0
  52. package/cjs/date-time-picker/utils/dateHelpers.js +56 -56
  53. package/cjs/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -5
  54. package/cjs/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +50 -47
  55. package/cjs/date-time-picker/utils/hooks/useOnClickOutside.js +1 -2
  56. package/cjs/date-time-picker/utils/stringHelpers.js +8 -14
  57. package/cjs/date-time-picker/utils/typeGuards.js +14 -0
  58. package/cjs/index.js +4 -0
  59. package/cjs/mask-hook/hooks/index.js +4 -0
  60. package/cjs/mask-hook/hooks/useNumberMask.js +2 -0
  61. package/cjs/mask-hook/hooks/usePhoneMask.js +2 -0
  62. package/cjs/mask-hook/hooks/useRegExpMask.js +122 -0
  63. package/cjs/mask-hook/hooks/useSSNMask.js +2 -0
  64. package/cjs/mask-hook/hooks/useZipCodeMask.js +2 -0
  65. package/cjs/mask-hook/index.js +4 -0
  66. package/cjs/mask-hook/react-desc-prop-types.js +9 -0
  67. package/cjs/mask-hook/utils/addSpecialCharacters.js +3 -4
  68. package/cjs/mask-hook/utils/flatStringArray.js +18 -0
  69. package/cjs/mask-hook/utils/index.js +2 -0
  70. package/esm/date-time-picker/ControlledDateTimePickerCTX.js +3 -115
  71. package/esm/date-time-picker/ControlledDateTimePickerDatatestid.js +0 -2
  72. package/esm/date-time-picker/config/useChangeHandlers.js +256 -0
  73. package/esm/date-time-picker/config/useControlledDateTimePicker.js +38 -421
  74. package/esm/date-time-picker/config/useGetDestructuredValues.js +21 -68
  75. package/esm/date-time-picker/config/useGetFlags.js +165 -0
  76. package/esm/date-time-picker/config/useGetPropsBasedOnType.js +97 -0
  77. package/esm/date-time-picker/config/useGetPropsWithDefault.js +1 -2
  78. package/esm/date-time-picker/config/useGetReferences.js +82 -0
  79. package/esm/date-time-picker/config/useGlobalKeyHandlers.js +98 -0
  80. package/esm/date-time-picker/config/useRelevantValueFromProps.js +35 -0
  81. package/esm/date-time-picker/config/useValidateProps.js +47 -42
  82. package/esm/date-time-picker/parts/ClearButton/ClearButton.js +20 -9
  83. package/esm/date-time-picker/parts/ControlledDateTimePickerContent.js +14 -12
  84. package/esm/date-time-picker/parts/DateInputs/useDateInputs.js +5 -5
  85. package/esm/date-time-picker/parts/Pickers/Calendar/Calendar.js +11 -13
  86. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -1
  87. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContext.js +2 -50
  88. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  89. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -7
  90. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +9 -5
  91. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +5 -2
  92. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -2
  93. package/esm/date-time-picker/parts/Pickers/Calendar/Day.js +18 -18
  94. package/esm/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +23 -125
  95. package/esm/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +33 -5
  96. package/esm/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +10 -6
  97. package/esm/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  98. package/esm/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +7 -4
  99. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -5
  100. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -16
  101. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -2
  102. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +10 -10
  103. package/esm/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +18 -13
  104. package/esm/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +59 -33
  105. package/esm/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -13
  106. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +11 -13
  107. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -2
  108. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -66
  109. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -3
  110. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -2
  111. package/esm/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +15 -117
  112. package/esm/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +54 -96
  113. package/esm/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +4 -1
  114. package/esm/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  115. package/esm/date-time-picker/parts/TimeInputs/HHInput.js +1 -3
  116. package/esm/date-time-picker/parts/TimeInputs/MeridiemInput.js +1 -1
  117. package/esm/date-time-picker/parts/TimeInputs/TimeInputs.js +3 -7
  118. package/esm/date-time-picker/parts/TimeInputs/useTimeInputs.js +3 -6
  119. package/esm/date-time-picker/propTypes.js +49 -17
  120. package/esm/date-time-picker/sharedTypes.js +1 -0
  121. package/esm/date-time-picker/utils/dateHelpers.js +57 -57
  122. package/esm/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -5
  123. package/esm/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +46 -47
  124. package/esm/date-time-picker/utils/hooks/useOnClickOutside.js +1 -2
  125. package/esm/date-time-picker/utils/stringHelpers.js +8 -14
  126. package/esm/date-time-picker/utils/typeGuards.js +8 -0
  127. package/esm/index.js +1 -0
  128. package/esm/mask-hook/hooks/index.js +1 -0
  129. package/esm/mask-hook/hooks/useNumberMask.js +2 -0
  130. package/esm/mask-hook/hooks/usePhoneMask.js +2 -0
  131. package/esm/mask-hook/hooks/useRegExpMask.js +116 -0
  132. package/esm/mask-hook/hooks/useSSNMask.js +2 -0
  133. package/esm/mask-hook/hooks/useZipCodeMask.js +2 -0
  134. package/esm/mask-hook/index.js +1 -0
  135. package/esm/mask-hook/react-desc-prop-types.js +8 -1
  136. package/esm/mask-hook/utils/addSpecialCharacters.js +3 -4
  137. package/esm/mask-hook/utils/flatStringArray.js +14 -0
  138. package/esm/mask-hook/utils/index.js +1 -0
  139. package/package.json +55 -15
  140. package/types/date-time-picker/ControlledDateTimePicker.d.ts +25 -80
  141. package/types/date-time-picker/ControlledDateTimePickerCTX.d.ts +1 -2
  142. package/types/date-time-picker/ControlledDateTimePickerDatatestid.d.ts +46 -46
  143. package/types/date-time-picker/ControlledDateTimePickerTypes.d.ts +15 -15
  144. package/types/date-time-picker/config/useChangeHandlers.d.ts +25 -0
  145. package/types/date-time-picker/config/useControlledDateTimePicker.d.ts +18 -2
  146. package/types/date-time-picker/config/useGetDestructuredValues.d.ts +30 -4
  147. package/types/date-time-picker/config/useGetFlags.d.ts +27 -0
  148. package/types/date-time-picker/config/useGetPropsBasedOnType.d.ts +28 -0
  149. package/types/date-time-picker/config/useGetPropsWithDefault.d.ts +2 -2
  150. package/types/date-time-picker/config/useGetReferences.d.ts +39 -0
  151. package/types/date-time-picker/config/useGlobalKeyHandlers.d.ts +16 -0
  152. package/types/date-time-picker/config/useRelevantValueFromProps.d.ts +10 -0
  153. package/types/date-time-picker/config/useValidateProps.d.ts +2 -2
  154. package/types/date-time-picker/parts/ClearButton/useClearButton.d.ts +6 -6
  155. package/types/date-time-picker/parts/DateInputs/DDInput.d.ts +6 -6
  156. package/types/date-time-picker/parts/DateInputs/MMInput.d.ts +6 -6
  157. package/types/date-time-picker/parts/DateInputs/YYYYInput.d.ts +6 -6
  158. package/types/date-time-picker/parts/DateInputs/useDateInputs.d.ts +2 -2
  159. package/types/date-time-picker/parts/Pickers/Calendar/Calendar.d.ts +4 -2
  160. package/types/date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +3 -63
  161. package/types/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +4 -4
  162. package/types/date-time-picker/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -2
  163. package/types/date-time-picker/parts/Pickers/Calendar/Day.d.ts +2 -2
  164. package/types/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -2
  165. package/types/date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +12 -5
  166. package/types/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +17 -11
  167. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -16
  168. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -2
  169. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +15 -1
  170. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.d.ts +4 -2
  171. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -62
  172. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -2
  173. package/types/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +4 -1
  174. package/types/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +16 -5
  175. package/types/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +18 -3
  176. package/types/date-time-picker/parts/TimeInputs/HHInput.d.ts +6 -6
  177. package/types/date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +6 -6
  178. package/types/date-time-picker/parts/TimeInputs/MinutesInput.d.ts +6 -6
  179. package/types/date-time-picker/parts/TimeInputs/useTimeInputs.d.ts +22 -2
  180. package/types/date-time-picker/parts/config.d.ts +3 -3
  181. package/types/date-time-picker/sharedTypes.d.ts +94 -0
  182. package/types/date-time-picker/utils/constants.d.ts +33 -33
  183. package/types/date-time-picker/utils/dateHelpers.d.ts +15 -14
  184. package/types/date-time-picker/utils/dateTimeHelpers.d.ts +3 -3
  185. package/types/date-time-picker/utils/hooks/useGetDayFromDateString.d.ts +1 -1
  186. package/types/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +2 -2
  187. package/types/date-time-picker/utils/hooks/useGetStartingFocusedDay.d.ts +6 -6
  188. package/types/date-time-picker/utils/hooks/useOnClickOutside.d.ts +1 -1
  189. package/types/date-time-picker/utils/timeHelpers.d.ts +2 -2
  190. package/types/date-time-picker/utils/typeGuards.d.ts +4 -0
  191. package/types/mask-hook/hooks/index.d.ts +1 -0
  192. package/types/mask-hook/hooks/useRegExpMask.d.ts +4 -0
  193. package/types/mask-hook/react-desc-prop-types.d.ts +6 -1
  194. package/types/mask-hook/tests/useRegExpMask.test.d.ts +1 -0
  195. package/types/mask-hook/utils/flatStringArray.d.ts +1 -0
  196. package/types/mask-hook/utils/index.d.ts +1 -0
  197. package/types/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -2
  198. package/types/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -12
  199. package/types/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -2
  200. package/types/date-time-picker/propTypes.d.ts +0 -81
@@ -2,6 +2,12 @@
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');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
11
  var _jsx = require('@babel/runtime/helpers/jsx');
6
12
  require('react');
7
13
  var dsIcons = require('@elliemae/ds-icons');
@@ -10,32 +16,38 @@ var DSButton = require('@elliemae/ds-button');
10
16
  var Styleds = require('../Styleds.js');
11
17
  var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
12
18
  var useClearButton = require('./useClearButton.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
13
20
 
14
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
22
 
23
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
24
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
25
 
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
29
  const ClearButton = () => {
19
30
  const {
20
31
  onClearClick,
21
32
  onClearButtonKeyDown,
22
33
  clearButtonRef,
23
- withAnyPicker,
24
34
  withClearBtn
25
35
  } = useClearButton.useClearButton();
26
- return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
27
- shouldDisplay: withClearBtn,
36
+ const styledsAttrs = {
37
+ shouldDisplay: withClearBtn
38
+ };
39
+ return /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledClearButton, _objectSpread(_objectSpread({
28
40
  "aria-label": "clear selected date",
29
41
  buttonType: "icon",
30
42
  size: DSButton.BUTTON_SIZES.M,
31
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
32
43
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
33
44
  innerRef: clearButtonRef,
34
45
  onClick: onClearClick,
35
- onKeyDown: onClearButtonKeyDown,
36
- withAnyPicker: withAnyPicker
37
- }, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
38
- color: dsIcon.DSIconColors.PRIMARY
46
+ onKeyDown: onClearButtonKeyDown
47
+ }, styledsAttrs), {}, {
48
+ children: /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
49
+ color: dsIcon.DSIconColors.PRIMARY
50
+ })
39
51
  }));
40
52
  };
41
53
 
@@ -32,6 +32,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
32
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
33
  const ControlledDateTimePickerContent = () => {
34
34
  const {
35
+ props: {
36
+ hasError,
37
+ disabled
38
+ },
35
39
  hideDate,
36
40
  hideDatePicker,
37
41
  hideTime,
@@ -42,13 +46,15 @@ const ControlledDateTimePickerContent = () => {
42
46
  withAnyRightController,
43
47
  shouldPreserveClearableSpace,
44
48
  isControllerOnly,
45
- props: {
46
- hasError,
47
- dataAttrs,
48
- disabled
49
- },
49
+ dataAttrs,
50
50
  onGlobalKeyDown
51
51
  } = React__default["default"].useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
52
+ const styledsAttrs = {
53
+ justPicker: hideDate && hideTime,
54
+ withAnyPicker,
55
+ hasError,
56
+ isControllerOnly
57
+ };
52
58
  const resetLatestInteraction = React__default["default"].useCallback(() => {
53
59
  setLatestInteractionRegion('');
54
60
  }, [setLatestInteractionRegion]);
@@ -60,18 +66,14 @@ const ControlledDateTimePickerContent = () => {
60
66
  if (shouldPreserveClearableSpace) rightControlCols.push('28px');
61
67
  if (withAnyPicker) rightControlCols.push('auto');
62
68
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
63
- children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread({
69
+ children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread(_objectSpread({
64
70
  cols: mainCols,
65
71
  gutter: "xxs",
66
- pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
67
- justPicker: hideDate && hideTime,
68
- withAnyPicker: withAnyPicker,
72
+ pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : undefined,
69
73
  onBlur: resetLatestInteraction,
70
74
  onKeyDown: onGlobalKeyDown,
71
- hasError: hasError,
72
- isControllerOnly: isControllerOnly,
73
75
  disabled: disabled
74
- }, dataAttrs), {}, {
76
+ }, styledsAttrs), dataAttrs), {}, {
75
77
  children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx__default["default"](DateInputs.DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx__default["default"](TimeInputs.TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
76
78
  cols: rightControlCols
77
79
  }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx__default["default"](ClearButton.ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx__default["default"](PickersIcons.PickersIcons, {})) : null) : null]
@@ -24,13 +24,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
24
24
  const useDateInputs = () => {
25
25
  const {
26
26
  props: {
27
- onMonthChange: appOnMonthChange,
28
- onDayChange: appOnDayChange,
29
- onYearChange: appOnYearChange,
30
- getIsDisabledDay,
31
- getIsOutOfRangeDay,
32
27
  disabled
33
28
  },
29
+ appOnMonthChange,
30
+ appOnDayChange,
31
+ appOnYearChange,
32
+ getIsDisabledDay,
33
+ getIsOutOfRangeDay,
34
34
  month,
35
35
  day,
36
36
  year,
@@ -4,6 +4,7 @@ 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 ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
8
  var CalendarIconTrigger = require('./CalendarIconTrigger.js');
8
9
  var CalendarWrapper = require('./CalendarWrapper.js');
9
10
  var CalendarContext = require('./CalendarContext.js');
@@ -14,8 +15,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
15
 
15
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
17
 
17
- var _CalendarIconTrigger, _CalendarWrapper;
18
-
18
+ var _CalendarIconTrigger, _CalendarWrapper, _WrappedCalendarConte;
19
19
  const WrappedCalendarContext = _ref => {
20
20
  let {
21
21
  children
@@ -26,19 +26,14 @@ const WrappedCalendarContext = _ref => {
26
26
  }, void 0, children);
27
27
  };
28
28
 
29
- const WrapWithCalendarContext = Component => {
30
- var _WrappedCalendarConte;
31
-
32
- return () => _WrappedCalendarConte || (_WrappedCalendarConte = /*#__PURE__*/_jsx__default["default"](WrappedCalendarContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](Component, {})));
33
- }; // we use the HoC to be able to use the useContext
34
- // the HoC is Reused in CalendarWithTimeWheel
35
-
36
- const Calendar = WrapWithCalendarContext(() => {
29
+ const CalendarContent = () => {
37
30
  const {
38
31
  showCalendar,
39
- isControllerOnly,
40
32
  handleMenuWrapperKeyDown
41
33
  } = React.useContext(CalendarContext.CalendarContext);
34
+ const {
35
+ isControllerOnly
36
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
42
37
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
43
38
  children: [isControllerOnly ? null : _CalendarIconTrigger || (_CalendarIconTrigger = /*#__PURE__*/_jsx__default["default"](CalendarIconTrigger.CalendarIconTrigger, {})), isControllerOnly || showCalendar ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
44
39
  children: /*#__PURE__*/_jsx__default["default"]("div", {
@@ -46,7 +41,10 @@ const Calendar = WrapWithCalendarContext(() => {
46
41
  }, void 0, _CalendarWrapper || (_CalendarWrapper = /*#__PURE__*/_jsx__default["default"](CalendarWrapper.CalendarWrapper, {})))
47
42
  }) : null]
48
43
  });
49
- });
44
+ }; // we wrap in context in a separate statement so we can use the useContext and be sure it's correctly initialized
45
+
46
+
47
+ const Calendar = () => _WrappedCalendarConte || (_WrappedCalendarConte = /*#__PURE__*/_jsx__default["default"](WrappedCalendarContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarContent, {})));
50
48
 
51
49
  exports.Calendar = Calendar;
52
- exports.WrapWithCalendarContext = WrapWithCalendarContext;
50
+ exports.WrappedCalendarContext = WrappedCalendarContext;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
7
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
8
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
9
  var CalendarBody = require('./CalendarBody.js');
9
10
  var CalendarHead = require('./CalendarHead.js');
10
11
  var CalendarFooter = require('./CalendarFooter.js');
@@ -25,9 +26,11 @@ const CalendarContent = _ref => {
25
26
  className = ''
26
27
  } = _ref;
27
28
  const {
28
- isControllerOnly,
29
29
  daysMatrixByWeekday
30
30
  } = React.useContext(CalendarContext.CalendarContext);
31
+ const {
32
+ isControllerOnly
33
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
31
34
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledShadowWrapper, {
32
35
  className: className,
33
36
  isControllerOnly: isControllerOnly,
@@ -4,55 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- // eslint-disable-next-line @typescript-eslint/no-empty-function
8
- const noop = () => {};
9
-
10
- const defaultCalendarContext = {
11
- ariaCurrentValueForInputs: '',
12
- showCalendar: false,
13
- disabled: false,
14
- setShowCalendar: noop,
15
- closeCalendar: noop,
16
- setPopperElement: noop,
17
- setArrowElement: noop,
18
- usePopperHelpers: undefined,
19
- handleToggleCalendar: noop,
20
- handleSetTriggerRef: noop,
21
- handleMenuWrapperKeyDown: noop,
22
- prevYearBtnRef: /*#__PURE__*/React.createRef(),
23
- prevMonthBtnRef: /*#__PURE__*/React.createRef(),
24
- nextMonthBtnRef: /*#__PURE__*/React.createRef(),
25
- nextYearBtnRef: /*#__PURE__*/React.createRef(),
26
- calendarDaysWrapperRef: /*#__PURE__*/React.createRef(),
27
- currentMonth: undefined,
28
- currentYear: undefined,
29
- daysArray: [],
30
- invisibleFirstDay: undefined,
31
- daysMatrixByWeekday: [],
32
- invisibleLastDay: undefined,
33
- focusedDay: undefined,
34
- tryToFocusCurrentlyDataIsFocusedDay: noop,
35
- resetFocusedDayToStartDate: noop,
36
- handleFocusMetaDay: noop,
37
- handleFocusMetaDayByDay: noop,
38
- handlePrevMonth: noop,
39
- handlePrevYear: noop,
40
- handleNextMonth: noop,
41
- handleNextYear: noop,
42
- handleDayOnKeyDown: noop,
43
- handlePrevYearKeyDown: noop,
44
- handlePrevMonthKeyDown: noop,
45
- handleNextMonthKeyDown: noop,
46
- handleNextYearKeyDown: noop,
47
- handlePickerIconKeyDown: noop,
48
- isControllerOnly: false,
49
- isWithTimeWheelToo: true,
50
- autoFocusPrevMonthArrow: false,
51
- onPrevYearFocus: noop,
52
- onPrevMonthFocus: noop,
53
- onNextMonthFocus: noop,
54
- onNextYearFocus: noop
55
- };
7
+ const defaultCalendarContext = {};
56
8
  /** Context for cross component communication */
57
9
 
58
10
  const CalendarContext = /*#__PURE__*/React.createContext(defaultCalendarContext);
@@ -25,10 +25,10 @@ const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(_ref => {
25
25
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
26
26
  ref: innerRef,
27
27
  role: "rowgroup",
28
- children: [/*#__PURE__*/_jsx__default["default"](Day.Day, {
28
+ children: [invisibleFirstDay ? /*#__PURE__*/_jsx__default["default"](Day.Day, {
29
29
  metaDay: invisibleFirstDay,
30
30
  isInvisible: true
31
- }, "ds-calendar-".concat(invisibleFirstDay.day.toString())), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
31
+ }, "ds-calendar-".concat(invisibleFirstDay.day.toString())) : null, daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
32
32
  role: "row",
33
33
  "aria-rowindex": i + 1,
34
34
  cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
@@ -40,10 +40,10 @@ const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(_ref => {
40
40
  }, "ds-calendar-week-".concat(week[0].day.toString(), "-").concat(week[6].day.toString()), week.map((metaDay, z) => /*#__PURE__*/_jsx__default["default"](Day.Day, {
41
41
  metaDay: metaDay,
42
42
  colIndex: z + 1
43
- }, "ds-calendar-".concat(metaDay.day.toString()))))), /*#__PURE__*/_jsx__default["default"](Day.Day, {
43
+ }, "ds-calendar-".concat(metaDay.day.toString()))))), invisibleLastDay ? /*#__PURE__*/_jsx__default["default"](Day.Day, {
44
44
  metaDay: invisibleLastDay,
45
45
  isInvisible: true
46
- }, "ds-calendar-".concat(invisibleLastDay.day.toString()))]
46
+ }, "ds-calendar-".concat(invisibleLastDay.day.toString())) : null]
47
47
  });
48
48
  });
49
49
 
@@ -8,6 +8,7 @@ var DSButton = require('@elliemae/ds-button');
8
8
  var dsIcons = require('@elliemae/ds-icons');
9
9
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
10
10
  var dateHelpers = require('../../../utils/dateHelpers.js');
11
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
11
12
  var Styleds = require('./Styleds.js');
12
13
  var CalendarContext = require('./CalendarContext.js');
13
14
 
@@ -29,10 +30,6 @@ const useGetFormattedCurrentDate = () => {
29
30
  const CalendarHead = () => {
30
31
  const currentFormatedDate = useGetFormattedCurrentDate();
31
32
  const {
32
- prevYearBtnRef,
33
- prevMonthBtnRef,
34
- nextMonthBtnRef,
35
- nextYearBtnRef,
36
33
  handlePrevYear,
37
34
  handlePrevMonth,
38
35
  handleNextMonth,
@@ -44,10 +41,16 @@ const CalendarHead = () => {
44
41
  onPrevYearFocus,
45
42
  onPrevMonthFocus,
46
43
  onNextMonthFocus,
47
- onNextYearFocus,
48
- isControllerOnly,
49
- autoFocusPrevMonthArrow
44
+ onNextYearFocus
50
45
  } = React.useContext(CalendarContext.CalendarContext);
46
+ const {
47
+ isControllerOnly,
48
+ autoFocusPrevMonthArrow,
49
+ prevYearBtnRef,
50
+ prevMonthBtnRef,
51
+ nextMonthBtnRef,
52
+ nextYearBtnRef
53
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
51
54
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
52
55
  "aria-label": "previous year",
53
56
  buttonType: "raw",
@@ -7,6 +7,7 @@ var React = require('react');
7
7
  var DSButton = require('@elliemae/ds-button');
8
8
  var dsIcons = require('@elliemae/ds-icons');
9
9
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
10
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
10
11
  var CalendarContext = require('./CalendarContext.js');
11
12
  var Styleds = require('./Styleds.js');
12
13
 
@@ -22,15 +23,18 @@ const CalendarIconTrigger = () => {
22
23
  const {
23
24
  handleToggleCalendar,
24
25
  handleSetTriggerRef,
25
- handlePickerIconKeyDown,
26
- ariaCurrentValueForInputs,
27
- disabled
26
+ handlePickerIconKeyDown
28
27
  } = React.useContext(CalendarContext.CalendarContext);
28
+ const {
29
+ props: {
30
+ disabled
31
+ },
32
+ ariaCurrentValueForInputs
33
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
29
34
  return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](Styleds.StyledIconTriggerButton, {
30
35
  "aria-label": "date picker context menu trigger, ".concat(ariaCurrentValueForInputs),
31
36
  buttonType: "icon",
32
37
  size: DSButton.BUTTON_SIZES.M,
33
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
34
38
  innerRef: handleSetTriggerRef,
35
39
  onClick: handleToggleCalendar,
36
40
  onKeyDown: handlePickerIconKeyDown,
@@ -4,6 +4,7 @@ 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 ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
8
  var CalendarDaysList = require('./CalendarDaysList.js');
8
9
  var CalendarContext = require('./CalendarContext.js');
9
10
 
@@ -15,9 +16,11 @@ const CalendarMonthDays = () => {
15
16
  const {
16
17
  invisibleFirstDay,
17
18
  daysMatrixByWeekday,
18
- invisibleLastDay,
19
- calendarDaysWrapperRef
19
+ invisibleLastDay
20
20
  } = React.useContext(CalendarContext.CalendarContext);
21
+ const {
22
+ calendarDaysWrapperRef
23
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
21
24
  return /*#__PURE__*/_jsx__default["default"](CalendarDaysList.CalendarDaysList, {
22
25
  invisibleFirstDay: invisibleFirstDay,
23
26
  daysMatrixByWeekday: daysMatrixByWeekday,
@@ -11,6 +11,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
11
  var _jsx = require('@babel/runtime/helpers/jsx');
12
12
  var React = require('react');
13
13
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
14
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
14
15
  var CalendarContent = require('./CalendarContent.js');
15
16
  var CalendarContext = require('./CalendarContext.js');
16
17
  var jsxRuntime = require('react/jsx-runtime');
@@ -26,14 +27,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
26
27
 
27
28
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28
29
  const CalendarWrapper = () => {
30
+ const {
31
+ isControllerOnly
32
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
29
33
  const {
30
34
  setPopperElement,
31
35
  usePopperHelpers: {
32
36
  styles,
33
37
  attributes
34
38
  },
35
- setArrowElement,
36
- isControllerOnly
39
+ setArrowElement
37
40
  } = React.useContext(CalendarContext.CalendarContext);
38
41
  if (isControllerOnly) return _CalendarContent || (_CalendarContent = /*#__PURE__*/_jsx__default["default"](CalendarContent.CalendarContent, {}));
39
42
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
@@ -47,31 +47,31 @@ const Day = _ref => {
47
47
  handleChangeComposedDateString,
48
48
  dateStringFromProps,
49
49
  props: {
50
- getIsDisabledDay,
51
- getIsOutOfRangeDay,
52
- getIsStartRangeDay,
53
- getIsDayInRange,
54
- getIsEndRangeDay,
55
- preventCloseOnSelection,
56
- onMonthChange,
57
- onDayChange,
58
- onYearChange
50
+ preventCloseOnSelection
59
51
  },
52
+ getIsDisabledDay,
53
+ getIsOutOfRangeDay,
54
+ getIsStartRangeDay,
55
+ getIsDayInRange,
56
+ getIsEndRangeDay,
57
+ appOnMonthChange,
58
+ appOnDayChange,
59
+ appOnYearChange,
60
60
  latestInteractionRegion,
61
- setLatestInteractionRegion
61
+ setLatestInteractionRegion,
62
+ isWithTimeWheelToo
62
63
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
63
64
  const {
64
- handleDayOnKeyDown,
65
65
  focusedDay,
66
+ handleDayOnKeyDown,
66
67
  handleFocusMetaDayByDay,
67
- isWithTimeWheelToo,
68
68
  closeCalendar,
69
69
  tryToFocusCurrentlyDataIsFocusedDay
70
70
  } = React.useContext(CalendarContext.CalendarContext);
71
- const isFocusedMetaDay = dateHelpers.compareTwoDatesDayEquality(metaDay === null || metaDay === void 0 ? void 0 : metaDay.day, focusedDay === null || focusedDay === void 0 ? void 0 : focusedDay.day);
71
+ const isFocusedMetaDay = focusedDay !== null && focusedDay !== void 0 && focusedDay.day ? dateHelpers.compareTwoDatesDayEquality(metaDay === null || metaDay === void 0 ? void 0 : metaDay.day, focusedDay === null || focusedDay === void 0 ? void 0 : focusedDay.day) : false;
72
72
  const isSelected = React.useMemo(() => {
73
73
  const selectedDate = dateHelpers.getDayFromDateString(dateStringFromProps);
74
- return dateHelpers.isSameDateMoment(day, selectedDate);
74
+ return selectedDate ? dateHelpers.isSameDateMoment(day, selectedDate) : false;
75
75
  }, [dateStringFromProps, day]);
76
76
  const isFocused = latestInteractionRegion === 'calendar-days' && isFocusedMetaDay;
77
77
  const isDisabled = getIsDisabledDay(metaDay.dayAsString);
@@ -95,14 +95,14 @@ const Day = _ref => {
95
95
  day: dayNumber,
96
96
  year
97
97
  } = dateHelpers.getDateValuesFromDate(day);
98
- onMonthChange("".concat(month + 1), e, metaInfo);
99
- onDayChange("".concat(dayNumber), e, metaInfo);
100
- onYearChange("".concat(year), e, metaInfo);
98
+ appOnMonthChange("".concat(month + 1), e, metaInfo);
99
+ if (dayNumber) appOnDayChange("".concat(dayNumber), e, metaInfo);
100
+ appOnYearChange("".concat(year), e, metaInfo);
101
101
  handleChangeComposedDateString(newDateString, metaInfo);
102
102
  setLatestInteractionRegion('calendar-days');
103
103
  if (!isWithTimeWheelToo && !preventCloseOnSelection) closeCalendar();
104
104
  }
105
- }, [isDisabled, isOutOfRange, day, onMonthChange, onDayChange, onYearChange, handleChangeComposedDateString, handleFocusMetaDayByDay, tryToFocusCurrentlyDataIsFocusedDay, setLatestInteractionRegion, isWithTimeWheelToo, preventCloseOnSelection, closeCalendar]);
105
+ }, [isDisabled, isOutOfRange, day, appOnMonthChange, appOnDayChange, appOnYearChange, handleChangeComposedDateString, handleFocusMetaDayByDay, tryToFocusCurrentlyDataIsFocusedDay, setLatestInteractionRegion, isWithTimeWheelToo, preventCloseOnSelection, closeCalendar]);
106
106
  const handleOnDayFocus = React.useCallback(() => {
107
107
  setLatestInteractionRegion('calendar-days');
108
108
  }, [setLatestInteractionRegion]);
@@ -2,65 +2,32 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
6
  require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
6
12
  var React = require('react');
7
13
  var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
- var useKeyboardHandlers = require('./useKeyboardHandlers.js');
14
+ var useCurrentDisplayedMonthYearLogic = require('./useCurrentDisplayedMonthYearLogic.js');
9
15
  var useFocusLogic = require('./useFocusLogic.js');
10
16
  var usePopperTriggerLogic = require('./usePopperTriggerLogic.js');
11
- var useCurrentDisplayedMonthYearLogic = require('./useCurrentDisplayedMonthYearLogic.js');
17
+ var useKeyboardHandlers = require('./useKeyboardHandlers.js');
12
18
 
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- function sliceIntoChunks(arr, chunkSize) {
15
- const res = [];
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
20
 
17
- for (let i = 0; i < arr.length; i += chunkSize) {
18
- const chunk = arr.slice(i, i + chunkSize);
19
- res.push(chunk);
20
- }
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
22
 
22
- return res;
23
- }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
24
 
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
26
  const useConfigCalendarCTX = () => {
26
27
  const {
27
- props: {
28
- disabled
29
- },
30
- prevYearBtnRef,
31
- prevMonthBtnRef,
32
- nextMonthBtnRef,
33
- nextYearBtnRef,
34
- calendarDaysWrapperRef,
35
- isControllerOnly,
36
- isWithTimeWheelToo,
37
- setLatestInteractionRegion,
38
- autoFocusPrevMonthArrow,
39
- ariaCurrentValueForInputs
28
+ setLatestInteractionRegion
40
29
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
41
30
  const [showCalendar, setShowCalendar] = React.useState(false);
42
- const {
43
- currentMonth,
44
- currentYear,
45
- daysArray,
46
- handlePrevYear,
47
- handlePrevMonth,
48
- handleNextMonth,
49
- handleNextYear
50
- } = useCurrentDisplayedMonthYearLogic.useCurrentDisplayedMonthYearLogic();
51
- const {
52
- invisibleFirstDay,
53
- daysMatrixByWeekday,
54
- invisibleLastDay
55
- } = React.useMemo(() => {
56
- const [invisible1stDay, ...otherDays] = [...daysArray];
57
- const invisibleDayLast = otherDays.pop();
58
- return {
59
- invisibleFirstDay: invisible1stDay,
60
- daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
61
- invisibleLastDay: invisibleDayLast
62
- };
63
- }, [daysArray]);
64
31
  const setLatestInteractionRegionCalendarHead = React.useCallback(() => {
65
32
  setLatestInteractionRegion('calendar-head');
66
33
  }, [setLatestInteractionRegion]);
@@ -76,93 +43,28 @@ const useConfigCalendarCTX = () => {
76
43
  const onNextYearFocus = React.useCallback(() => {
77
44
  setLatestInteractionRegionCalendarHead();
78
45
  }, [setLatestInteractionRegionCalendarHead]);
79
- const {
80
- focusedDay,
81
- tryToFocusCurrentlyDataIsFocusedDay,
82
- handleFocusMetaDay,
83
- handleFocusMetaDayByDay,
84
- resetFocusedDayToStartDate
85
- } = useFocusLogic.useFocusLogic({
86
- daysArray,
46
+ const currentDisplayedMonthLogic = useCurrentDisplayedMonthYearLogic.useCurrentDisplayedMonthYearLogic();
47
+ const focusLogic = useFocusLogic.useFocusLogic({
48
+ currentDisplayedMonthLogic,
87
49
  showCalendar
88
50
  });
89
- const {
90
- closeCalendar,
91
- handleSetTriggerRef,
92
- setPopperElement,
93
- setArrowElement,
94
- usePopperHelpers,
95
- handleToggleCalendar,
96
- handleMenuWrapperKeyDown
97
- } = usePopperTriggerLogic.usePopperTriggerLogic({
98
- tryToFocusCurrentlyDataIsFocusedDay,
99
- resetFocusedDayToStartDate,
100
- focusedDay,
51
+ const popperTriggerLogic = usePopperTriggerLogic.usePopperTriggerLogic({
52
+ focusLogic,
101
53
  showCalendar,
102
54
  setShowCalendar
103
55
  });
104
- const {
105
- handleDayOnKeyDown,
106
- handlePrevYearKeyDown,
107
- handlePrevMonthKeyDown,
108
- handleNextMonthKeyDown,
109
- handleNextYearKeyDown,
110
- handlePickerIconKeyDown
111
- } = useKeyboardHandlers.useKeyboardHandlers({
112
- focusedDay,
113
- daysArray,
114
- handlePrevMonth,
115
- handleNextMonth,
116
- handleFocusMetaDay,
117
- handleFocusMetaDayByDay,
118
- tryToFocusCurrentlyDataIsFocusedDay
56
+ const keyboardHandlers = useKeyboardHandlers.useKeyboardHandlers({
57
+ currentDisplayedMonthLogic,
58
+ focusLogic
119
59
  });
120
- return React.useMemo(() => ({
60
+ return React.useMemo(() => _objectSpread(_objectSpread(_objectSpread(_objectSpread({
121
61
  showCalendar,
122
62
  setShowCalendar,
123
- closeCalendar,
124
- setPopperElement,
125
- setArrowElement,
126
- usePopperHelpers,
127
- handleToggleCalendar,
128
- handleSetTriggerRef,
129
- handleMenuWrapperKeyDown,
130
- isControllerOnly,
131
- calendarDaysWrapperRef,
132
- prevYearBtnRef,
133
- prevMonthBtnRef,
134
- nextMonthBtnRef,
135
- nextYearBtnRef,
136
- currentMonth,
137
- currentYear,
138
- daysArray,
139
- invisibleFirstDay,
140
- daysMatrixByWeekday,
141
- invisibleLastDay,
142
- focusedDay,
143
- tryToFocusCurrentlyDataIsFocusedDay,
144
- handleFocusMetaDay,
145
- handleFocusMetaDayByDay,
146
- resetFocusedDayToStartDate,
147
- handlePrevMonth,
148
- handlePrevYear,
149
- handleNextMonth,
150
- handleNextYear,
151
- handleDayOnKeyDown,
152
- handlePrevYearKeyDown,
153
- handlePrevMonthKeyDown,
154
- handleNextMonthKeyDown,
155
- handleNextYearKeyDown,
156
- handlePickerIconKeyDown,
157
63
  onPrevYearFocus,
158
64
  onPrevMonthFocus,
159
65
  onNextMonthFocus,
160
- onNextYearFocus,
161
- isWithTimeWheelToo,
162
- autoFocusPrevMonthArrow,
163
- ariaCurrentValueForInputs,
164
- disabled
165
- }), [showCalendar, closeCalendar, setPopperElement, setArrowElement, usePopperHelpers, handleToggleCalendar, handleSetTriggerRef, handleMenuWrapperKeyDown, isControllerOnly, calendarDaysWrapperRef, prevYearBtnRef, prevMonthBtnRef, nextMonthBtnRef, nextYearBtnRef, currentMonth, currentYear, daysArray, invisibleFirstDay, daysMatrixByWeekday, invisibleLastDay, focusedDay, tryToFocusCurrentlyDataIsFocusedDay, handleFocusMetaDay, handleFocusMetaDayByDay, resetFocusedDayToStartDate, handlePrevMonth, handlePrevYear, handleNextMonth, handleNextYear, handleDayOnKeyDown, handlePrevYearKeyDown, handlePrevMonthKeyDown, handleNextMonthKeyDown, handleNextYearKeyDown, handlePickerIconKeyDown, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, isWithTimeWheelToo, autoFocusPrevMonthArrow, ariaCurrentValueForInputs, disabled]);
66
+ onNextYearFocus
67
+ }, currentDisplayedMonthLogic), focusLogic), popperTriggerLogic), keyboardHandlers), [showCalendar, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, currentDisplayedMonthLogic, focusLogic, popperTriggerLogic, keyboardHandlers]);
166
68
  };
167
69
 
168
70
  exports.useConfigCalendarCTX = useConfigCalendarCTX;