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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
  2. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  3. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
  4. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  5. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
  6. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  7. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
  8. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  9. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
  10. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  11. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
  12. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  13. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
  14. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  15. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  16. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  17. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
  18. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  19. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
  20. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  21. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
  22. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  23. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
  24. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  25. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
  26. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  27. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  28. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  29. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
  30. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
  32. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  33. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
  34. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  35. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
  36. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  37. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
  38. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  39. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
  40. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  41. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +10 -0
  42. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  43. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +41 -23
  44. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  45. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +2 -0
  46. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  47. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +33 -4
  48. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  49. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +2 -0
  50. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  51. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -1
  52. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  53. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +17 -12
  54. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  55. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
  56. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  57. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -2
  58. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  59. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -3
  60. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  61. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +102 -27
  62. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  63. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -1
  64. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  65. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +3 -1
  66. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  67. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  68. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  69. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +9 -4
  70. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  71. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +181 -67
  72. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  73. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +14 -8
  74. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  75. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -1
  76. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  77. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +3 -1
  78. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  79. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +15 -10
  80. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  81. package/package.json +4 -4
@@ -46,9 +46,6 @@ var useDateInputs = function useDateInputs() {
46
46
  getIsDisabledDay = _useContext$props.getIsDisabledDay,
47
47
  getIsOutOfRangeDay = _useContext$props.getIsOutOfRangeDay,
48
48
  hideTime = _useContext.hideTime,
49
- hideDateTimePicker = _useContext.hideDateTimePicker,
50
- hideDatePicker = _useContext.hideDatePicker,
51
- hideTimePicker = _useContext.hideTimePicker,
52
49
  monthInputRef = _useContext.monthInputRef,
53
50
  dayInputRef = _useContext.dayInputRef,
54
51
  yearInputRef = _useContext.yearInputRef,
@@ -60,7 +57,8 @@ var useDateInputs = function useDateInputs() {
60
57
  setLatestInteractionRegion = _useContext.setLatestInteractionRegion,
61
58
  withClearBtn = _useContext.withClearBtn,
62
59
  withAnyPicker = _useContext.withAnyPicker,
63
- withAnyRightController = _useContext.withAnyRightController;
60
+ withAnyRightController = _useContext.withAnyRightController,
61
+ autoFocusMonthInput = _useContext.autoFocusMonthInput;
64
62
 
65
63
  var _useGetDestructuredDa = useGetDestructuredDateValues({
66
64
  date: date,
@@ -77,10 +75,10 @@ var useDateInputs = function useDateInputs() {
77
75
  monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren = monthInputRef.current) === null || _monthInputRef$curren === void 0 ? void 0 : (_monthInputRef$curren2 = _monthInputRef$curren.focus) === null || _monthInputRef$curren2 === void 0 ? void 0 : _monthInputRef$curren2.call(_monthInputRef$curren);
78
76
  }, [monthInputRef]);
79
77
  var onEndKeyDown = React.useCallback(function () {
80
- var _pickerButtonRef$curr, _pickerButtonRef$curr2, _yearInputRef$current, _yearInputRef$current2, _meridiemInputRef$cur, _meridiemInputRef$cur2;
78
+ var _pickerButtonRef$curr, _pickerButtonRef$curr2, _clearButtonRef$curre, _clearButtonRef$curre2, _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
81
79
 
82
- if (!hideDateTimePicker || !hideDatePicker || !hideTimePicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr = pickerButtonRef.current) === null || _pickerButtonRef$curr === void 0 ? void 0 : (_pickerButtonRef$curr2 = _pickerButtonRef$curr.focus) === null || _pickerButtonRef$curr2 === void 0 ? void 0 : _pickerButtonRef$curr2.call(_pickerButtonRef$curr);else if (hideTime) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);else meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);
83
- }, [hideDateTimePicker, hideDatePicker, hideTimePicker, hideTime, pickerButtonRef, yearInputRef, meridiemInputRef]);
80
+ if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr = pickerButtonRef.current) === null || _pickerButtonRef$curr === void 0 ? void 0 : (_pickerButtonRef$curr2 = _pickerButtonRef$curr.focus) === null || _pickerButtonRef$curr2 === void 0 ? void 0 : _pickerButtonRef$curr2.call(_pickerButtonRef$curr);else if (withClearBtn) clearButtonRef === null || clearButtonRef === void 0 ? void 0 : (_clearButtonRef$curre = clearButtonRef.current) === null || _clearButtonRef$curre === void 0 ? void 0 : (_clearButtonRef$curre2 = _clearButtonRef$curre.focus) === null || _clearButtonRef$curre2 === void 0 ? void 0 : _clearButtonRef$curre2.call(_clearButtonRef$curre);else if (!hideTime) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);else yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
81
+ }, [withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef, hideTime, meridiemInputRef, yearInputRef]);
84
82
  var setLatestInteractionRegionDateInputs = React.useCallback(function () {
85
83
  setLatestInteractionRegion('date-inputs');
86
84
  }, [setLatestInteractionRegion]);
@@ -117,7 +115,9 @@ var useDateInputs = function useDateInputs() {
117
115
  var onMonthKeyDown = React.useCallback(function (e) {
118
116
  var key = e.key;
119
117
  var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
118
+ var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
120
119
  if (preventDefaultKeys.includes(key)) e.preventDefault();
120
+ if (stopPropagationKeys.includes(key)) e.stopPropagation();
121
121
  if (key === 'Home') onHomeKeyDown();
122
122
  if (key === 'End') onEndKeyDown();
123
123
 
@@ -134,7 +134,7 @@ var useDateInputs = function useDateInputs() {
134
134
  var _e$target2;
135
135
 
136
136
  var newMonth = e === null || e === void 0 ? void 0 : (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : _e$target2.value;
137
- if (newMonth === '0') handleChangeMonth('', e, {
137
+ if (newMonth === '0') handleChangeMonth('01', e, {
138
138
  isAutomaticFillTrigger: true
139
139
  });else if (newMonth.length > 0 && newMonth.length < 2) handleChangeMonth(controlledDateTimePicker_utils_stringHelpers.prependStringWithPlaceHolders(newMonth, 2), e, {
140
140
  isAutomaticFillTrigger: true
@@ -173,7 +173,9 @@ var useDateInputs = function useDateInputs() {
173
173
  var onDayKeyDown = React.useCallback(function (e) {
174
174
  var key = e.key;
175
175
  var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
176
+ var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
176
177
  if (preventDefaultKeys.includes(key)) e.preventDefault();
178
+ if (stopPropagationKeys.includes(key)) e.stopPropagation();
177
179
  if (key === 'Home') onHomeKeyDown();
178
180
  if (key === 'End') onEndKeyDown();
179
181
 
@@ -190,7 +192,7 @@ var useDateInputs = function useDateInputs() {
190
192
  var _e$target4;
191
193
 
192
194
  var newDay = e === null || e === void 0 ? void 0 : (_e$target4 = e.target) === null || _e$target4 === void 0 ? void 0 : _e$target4.value;
193
- if (newDay === '0') handleChangeDay('', e, {
195
+ if (newDay === '0') handleChangeDay('01', e, {
194
196
  isAutomaticFillTrigger: true
195
197
  });else if (newDay.length > 0 && newDay.length < 2) handleChangeDay(controlledDateTimePicker_utils_stringHelpers.prependStringWithPlaceHolders(newDay, 2), e, {
196
198
  isAutomaticFillTrigger: true
@@ -226,16 +228,18 @@ var useDateInputs = function useDateInputs() {
226
228
  var _hourInputRef$current, _hourInputRef$current2;
227
229
 
228
230
  if (!hideTime) hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current = hourInputRef.current) === null || _hourInputRef$current === void 0 ? void 0 : (_hourInputRef$current2 = _hourInputRef$current.focus) === null || _hourInputRef$current2 === void 0 ? void 0 : _hourInputRef$current2.call(_hourInputRef$current);else if (withAnyRightController) {
229
- var _clearButtonRef$curre, _clearButtonRef$curre2, _pickerButtonRef$curr3, _pickerButtonRef$curr4;
231
+ var _clearButtonRef$curre3, _clearButtonRef$curre4, _pickerButtonRef$curr3, _pickerButtonRef$curr4;
230
232
 
231
- if (withClearBtn) (_clearButtonRef$curre = clearButtonRef.current) === null || _clearButtonRef$curre === void 0 ? void 0 : (_clearButtonRef$curre2 = _clearButtonRef$curre.focus) === null || _clearButtonRef$curre2 === void 0 ? void 0 : _clearButtonRef$curre2.call(_clearButtonRef$curre);else if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr3 = pickerButtonRef.current) === null || _pickerButtonRef$curr3 === void 0 ? void 0 : (_pickerButtonRef$curr4 = _pickerButtonRef$curr3.focus) === null || _pickerButtonRef$curr4 === void 0 ? void 0 : _pickerButtonRef$curr4.call(_pickerButtonRef$curr3); // pending approval from Seda, check which one should be focused first...
233
+ if (withClearBtn) (_clearButtonRef$curre3 = clearButtonRef.current) === null || _clearButtonRef$curre3 === void 0 ? void 0 : (_clearButtonRef$curre4 = _clearButtonRef$curre3.focus) === null || _clearButtonRef$curre4 === void 0 ? void 0 : _clearButtonRef$curre4.call(_clearButtonRef$curre3);else if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr3 = pickerButtonRef.current) === null || _pickerButtonRef$curr3 === void 0 ? void 0 : (_pickerButtonRef$curr4 = _pickerButtonRef$curr3.focus) === null || _pickerButtonRef$curr4 === void 0 ? void 0 : _pickerButtonRef$curr4.call(_pickerButtonRef$curr3); // pending approval from Seda, check which one should be focused first...
232
234
  }
233
235
  }
234
236
  }, [handleChangeYear, hideTime, hourInputRef, withAnyRightController, withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef]);
235
237
  var onYearKeyDown = React.useCallback(function (e) {
236
238
  var key = e.key;
237
239
  var preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
240
+ var stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
238
241
  if (preventDefaultKeys.includes(key)) e.preventDefault();
242
+ if (stopPropagationKeys.includes(key)) e.stopPropagation();
239
243
  if (key === 'Home') onHomeKeyDown();
240
244
  if (key === 'End') onEndKeyDown();
241
245
 
@@ -261,6 +265,7 @@ var useDateInputs = function useDateInputs() {
261
265
  month: month,
262
266
  day: day,
263
267
  year: year,
268
+ autoFocusMonthInput: autoFocusMonthInput,
264
269
  onMonthFocus: onMonthFocus,
265
270
  onMonthChange: onMonthChange,
266
271
  onDayFocus: onDayFocus,
@@ -274,7 +279,7 @@ var useDateInputs = function useDateInputs() {
274
279
  onDayKeyDown: onDayKeyDown,
275
280
  onYearKeyDown: onYearKeyDown
276
281
  };
277
- }, [month, day, year, onMonthFocus, onMonthChange, onDayFocus, onDayChange, onYearFocus, onYearChange, onMonthBlur, onDayBlur, onYearBlur, onMonthKeyDown, onDayKeyDown, onYearKeyDown]);
282
+ }, [month, day, year, autoFocusMonthInput, onMonthFocus, onMonthChange, onDayFocus, onDayChange, onYearFocus, onYearChange, onMonthBlur, onDayBlur, onYearBlur, onMonthKeyDown, onDayKeyDown, onYearKeyDown]);
278
283
  };
279
284
 
280
285
  exports.useDateInputs = useDateInputs;
@@ -1 +1 @@
1
- {"version":3,"file":"useDateInputs.js","sources":["../../../../../src/controlled-date-time-picker/parts/DateInputs/useDateInputs.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport type {\n onChangeFuncT,\n onBlurFuncT,\n onKeyDownT,\n onFocusFuncT,\n useDateInputsRT,\n internalInputsChangeMetaInfo,\n} from '../../index.d';\nimport {\n dateTimeToDate,\n deconstructValuesFromDateString,\n getFormattedDateString,\n prependStringWithPlaceHolders,\n fillStringWithPlaceHolders,\n} from '../../utils/stringHelpers';\nimport { getValidationDateStringMetaInfo } from '../../utils/dateHelpers';\n\n// this is because it's fully controlled\n// our source of truth is either the date props or dateTime props\n// based on wheter it's a dateTime picker\n// or a date picker (it's date picker when hideTime is true)\nexport const useGetDestructuredDateValues = ({\n date,\n dateTime,\n hideTime,\n}: {\n date: string;\n dateTime: string;\n hideTime: boolean;\n}): { month: string; day: string; year: string } => {\n const dateStringFromProps = useMemo(() => (hideTime ? date : dateTimeToDate(dateTime)), [date, dateTime, hideTime]);\n const deconstructedValues = useMemo(\n () => deconstructValuesFromDateString(dateStringFromProps),\n [dateStringFromProps],\n );\n return deconstructedValues;\n};\n\nexport const useDateInputs = (): useDateInputsRT => {\n const {\n props: {\n date,\n dateTime,\n onMonthChange: appOnMonthChange,\n onDayChange: appOnDayChange,\n onYearChange: appOnYearChange,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n },\n hideTime,\n hideDateTimePicker,\n hideDatePicker,\n hideTimePicker,\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n handleChangeComposedDateString,\n setLatestInteractionRegion,\n withClearBtn,\n withAnyPicker,\n withAnyRightController,\n } = useContext(ControlledDateTimePickerContext);\n const { month, day, year } = useGetDestructuredDateValues({\n date,\n dateTime,\n hideTime,\n });\n const onHomeKeyDown = useCallback(() => {\n monthInputRef?.current?.focus?.();\n }, [monthInputRef]);\n const onEndKeyDown = useCallback(() => {\n if (!hideDateTimePicker || !hideDatePicker || !hideTimePicker) pickerButtonRef?.current?.focus?.();\n else if (hideTime) yearInputRef?.current?.focus?.();\n else meridiemInputRef?.current?.focus?.();\n }, [hideDateTimePicker, hideDatePicker, hideTimePicker, hideTime, pickerButtonRef, yearInputRef, meridiemInputRef]);\n const setLatestInteractionRegionDateInputs = useCallback(() => {\n setLatestInteractionRegion('date-inputs');\n }, [setLatestInteractionRegion]);\n\n const handleChangeMonth = useCallback(\n (newMonth: string, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month: newMonth,\n day,\n year,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnMonthChange(newMonth, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [day, year, getIsOutOfRangeDay, getIsDisabledDay, appOnMonthChange, handleChangeComposedDateString],\n );\n const onMonthFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onMonthChange: onChangeFuncT = useCallback(\n (e) => {\n let newMonth = e?.target?.value;\n // converts months 2~9 to 02~09\n if (Number.parseInt(newMonth, 10) > 1) newMonth = prependStringWithPlaceHolders(newMonth, 2);\n handleChangeMonth(newMonth, e);\n // auto-advance functionality:\n if (newMonth.length === 2) dayInputRef?.current?.focus?.();\n },\n [dayInputRef, handleChangeMonth],\n );\n const onMonthKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const monthStringConvertedToInteger = Number.parseInt(month, 10);\n const monthInteger = Number.isNaN(monthStringConvertedToInteger) ? 0 : monthStringConvertedToInteger;\n let newMonth;\n if (key === 'ArrowUp') newMonth = monthInteger + 1 <= 12 ? monthInteger + 1 : monthInteger;\n else newMonth = monthInteger - 1 > 0 ? monthInteger - 1 : 1;\n newMonth = prependStringWithPlaceHolders(`${newMonth}`, 2);\n handleChangeMonth(newMonth, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, month, handleChangeMonth],\n );\n const onMonthBlur: onBlurFuncT = useCallback(\n (e) => {\n const newMonth = e?.target?.value;\n if (newMonth === '0') handleChangeMonth('', e, { isAutomaticFillTrigger: true });\n else if (newMonth.length > 0 && newMonth.length < 2)\n handleChangeMonth(prependStringWithPlaceHolders(newMonth, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMonth],\n );\n\n const handleChangeDay = useCallback(\n (newDay, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month,\n day: newDay,\n year,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnDayChange(newDay, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, year, getIsOutOfRangeDay, getIsDisabledDay, appOnDayChange, handleChangeComposedDateString],\n );\n const onDayFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onDayChange: onChangeFuncT = useCallback(\n (e) => {\n let newDay = e?.target?.value;\n // converts days 4~9 to 04~09\n if (Number.parseInt(newDay, 10) > 3) newDay = prependStringWithPlaceHolders(newDay, 2);\n handleChangeDay(newDay, e);\n // auto-advance functionality:\n if (newDay.length === 2) yearInputRef?.current?.focus?.();\n },\n [handleChangeDay, yearInputRef],\n );\n const onDayKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const dayStringConvertedToInteger = Number.parseInt(day, 10);\n const dayInteger = Number.isNaN(dayStringConvertedToInteger) ? 0 : dayStringConvertedToInteger;\n let newDay;\n if (key === 'ArrowUp') newDay = dayInteger + 1 <= 31 ? dayInteger + 1 : dayInteger;\n else newDay = dayInteger - 1 > 0 ? dayInteger - 1 : 1;\n newDay = prependStringWithPlaceHolders(`${newDay}`, 2);\n handleChangeDay(newDay, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, handleChangeDay, day],\n );\n const onDayBlur: onBlurFuncT = useCallback(\n (e) => {\n const newDay = e?.target?.value;\n if (newDay === '0') handleChangeDay('', e, { isAutomaticFillTrigger: true });\n else if (newDay.length > 0 && newDay.length < 2)\n handleChangeDay(prependStringWithPlaceHolders(newDay, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeDay],\n );\n\n const handleChangeYear = useCallback(\n (newYear, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month,\n day,\n year: newYear,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnYearChange(newYear, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, day, getIsOutOfRangeDay, getIsDisabledDay, appOnYearChange, handleChangeComposedDateString],\n );\n const onYearFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onYearChange: onChangeFuncT = useCallback(\n (e) => {\n const newYear = e?.target?.value;\n handleChangeYear(newYear, e);\n // auto-advance functionality:\n if (newYear.length === 4) {\n if (!hideTime) hourInputRef?.current?.focus?.();\n else if (withAnyRightController) {\n if (withClearBtn) clearButtonRef.current?.focus?.();\n else if (withAnyPicker) pickerButtonRef?.current?.focus?.();\n // pending approval from Seda, check which one should be focused first...\n }\n }\n },\n [\n handleChangeYear,\n hideTime,\n hourInputRef,\n withAnyRightController,\n withAnyPicker,\n pickerButtonRef,\n withClearBtn,\n clearButtonRef,\n ],\n );\n const onYearKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const yearStringConvertedToInteger = Number.parseInt(year, 10);\n const yearInteger = Number.isNaN(yearStringConvertedToInteger) ? 0 : yearStringConvertedToInteger;\n let newYear;\n if (key === 'ArrowUp') newYear = yearInteger + 1 <= 9999 ? yearInteger + 1 : yearInteger;\n else newYear = yearInteger - 1 > 0 ? yearInteger - 1 : 1;\n newYear = prependStringWithPlaceHolders(`${newYear}`, 4);\n handleChangeYear(newYear, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, handleChangeYear, year],\n );\n const onYearBlur: onBlurFuncT = useCallback(\n (e) => {\n const newYear = e?.target?.value;\n if (newYear.length > 0 && newYear.length < 4)\n handleChangeYear(fillStringWithPlaceHolders(newYear, 4, '0'), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeYear],\n );\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n onMonthFocus,\n onMonthChange,\n onDayFocus,\n onDayChange,\n onYearFocus,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n }),\n [\n month,\n day,\n year,\n onMonthFocus,\n onMonthChange,\n onDayFocus,\n onDayChange,\n onYearFocus,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n ],\n );\n};\n"],"names":["useGetDestructuredDateValues","date","dateTime","hideTime","dateStringFromProps","useMemo","dateTimeToDate","deconstructedValues","deconstructValuesFromDateString","useDateInputs","useContext","ControlledDateTimePickerContext","props","appOnMonthChange","onMonthChange","appOnDayChange","onDayChange","appOnYearChange","onYearChange","getIsDisabledDay","getIsOutOfRangeDay","hideDateTimePicker","hideDatePicker","hideTimePicker","monthInputRef","dayInputRef","yearInputRef","hourInputRef","meridiemInputRef","clearButtonRef","pickerButtonRef","handleChangeComposedDateString","setLatestInteractionRegion","withClearBtn","withAnyPicker","withAnyRightController","month","day","year","onHomeKeyDown","useCallback","current","focus","onEndKeyDown","setLatestInteractionRegionDateInputs","handleChangeMonth","newMonth","e","metaInfo","isAutomaticFillTrigger","newDateString","getFormattedDateString","finalMetaInfo","getValidationDateStringMetaInfo","onMonthFocus","target","value","Number","parseInt","prependStringWithPlaceHolders","length","onMonthKeyDown","key","preventDefaultKeys","includes","preventDefault","monthStringConvertedToInteger","monthInteger","isNaN","onMonthBlur","handleChangeDay","newDay","onDayFocus","onDayKeyDown","dayStringConvertedToInteger","dayInteger","onDayBlur","handleChangeYear","newYear","onYearFocus","onYearKeyDown","yearStringConvertedToInteger","yearInteger","onYearBlur","fillStringWithPlaceHolders"],"mappings":"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"}
1
+ {"version":3,"file":"useDateInputs.js","sources":["../../../../../src/controlled-date-time-picker/parts/DateInputs/useDateInputs.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport type {\n onChangeFuncT,\n onBlurFuncT,\n onKeyDownT,\n onFocusFuncT,\n useDateInputsRT,\n internalInputsChangeMetaInfo,\n} from '../../index.d';\nimport {\n dateTimeToDate,\n deconstructValuesFromDateString,\n getFormattedDateString,\n prependStringWithPlaceHolders,\n fillStringWithPlaceHolders,\n} from '../../utils/stringHelpers';\nimport { getValidationDateStringMetaInfo } from '../../utils/dateHelpers';\n\n// this is because it's fully controlled\n// our source of truth is either the date props or dateTime props\n// based on wheter it's a dateTime picker\n// or a date picker (it's date picker when hideTime is true)\nexport const useGetDestructuredDateValues = ({\n date,\n dateTime,\n hideTime,\n}: {\n date: string;\n dateTime: string;\n hideTime: boolean;\n}): { month: string; day: string; year: string } => {\n const dateStringFromProps = useMemo(() => (hideTime ? date : dateTimeToDate(dateTime)), [date, dateTime, hideTime]);\n const deconstructedValues = useMemo(\n () => deconstructValuesFromDateString(dateStringFromProps),\n [dateStringFromProps],\n );\n return deconstructedValues;\n};\n\nexport const useDateInputs = (): useDateInputsRT => {\n const {\n props: {\n date,\n dateTime,\n onMonthChange: appOnMonthChange,\n onDayChange: appOnDayChange,\n onYearChange: appOnYearChange,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n },\n hideTime,\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n handleChangeComposedDateString,\n setLatestInteractionRegion,\n withClearBtn,\n withAnyPicker,\n withAnyRightController,\n autoFocusMonthInput,\n } = useContext(ControlledDateTimePickerContext);\n const { month, day, year } = useGetDestructuredDateValues({\n date,\n dateTime,\n hideTime,\n });\n const onHomeKeyDown = useCallback(() => {\n monthInputRef?.current?.focus?.();\n }, [monthInputRef]);\n const onEndKeyDown = useCallback(() => {\n if (withAnyPicker) pickerButtonRef?.current?.focus?.();\n else if (withClearBtn) clearButtonRef?.current?.focus?.();\n else if (!hideTime) meridiemInputRef?.current?.focus?.();\n else yearInputRef?.current?.focus?.();\n }, [withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef, hideTime, meridiemInputRef, yearInputRef]);\n const setLatestInteractionRegionDateInputs = useCallback(() => {\n setLatestInteractionRegion('date-inputs');\n }, [setLatestInteractionRegion]);\n\n const handleChangeMonth = useCallback(\n (newMonth: string, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month: newMonth,\n day,\n year,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnMonthChange(newMonth, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [day, year, getIsOutOfRangeDay, getIsDisabledDay, appOnMonthChange, handleChangeComposedDateString],\n );\n const onMonthFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onMonthChange: onChangeFuncT = useCallback(\n (e) => {\n let newMonth = e?.target?.value;\n // converts months 2~9 to 02~09\n if (Number.parseInt(newMonth, 10) > 1) newMonth = prependStringWithPlaceHolders(newMonth, 2);\n handleChangeMonth(newMonth, e);\n // auto-advance functionality:\n if (newMonth.length === 2) dayInputRef?.current?.focus?.();\n },\n [dayInputRef, handleChangeMonth],\n );\n const onMonthKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const monthStringConvertedToInteger = Number.parseInt(month, 10);\n const monthInteger = Number.isNaN(monthStringConvertedToInteger) ? 0 : monthStringConvertedToInteger;\n let newMonth;\n if (key === 'ArrowUp') newMonth = monthInteger + 1 <= 12 ? monthInteger + 1 : monthInteger;\n else newMonth = monthInteger - 1 > 0 ? monthInteger - 1 : 1;\n newMonth = prependStringWithPlaceHolders(`${newMonth}`, 2);\n handleChangeMonth(newMonth, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, month, handleChangeMonth],\n );\n const onMonthBlur: onBlurFuncT = useCallback(\n (e) => {\n const newMonth = e?.target?.value;\n if (newMonth === '0') handleChangeMonth('01', e, { isAutomaticFillTrigger: true });\n else if (newMonth.length > 0 && newMonth.length < 2)\n handleChangeMonth(prependStringWithPlaceHolders(newMonth, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMonth],\n );\n\n const handleChangeDay = useCallback(\n (newDay, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month,\n day: newDay,\n year,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnDayChange(newDay, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, year, getIsOutOfRangeDay, getIsDisabledDay, appOnDayChange, handleChangeComposedDateString],\n );\n const onDayFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onDayChange: onChangeFuncT = useCallback(\n (e) => {\n let newDay = e?.target?.value;\n // converts days 4~9 to 04~09\n if (Number.parseInt(newDay, 10) > 3) newDay = prependStringWithPlaceHolders(newDay, 2);\n handleChangeDay(newDay, e);\n // auto-advance functionality:\n if (newDay.length === 2) yearInputRef?.current?.focus?.();\n },\n [handleChangeDay, yearInputRef],\n );\n const onDayKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const dayStringConvertedToInteger = Number.parseInt(day, 10);\n const dayInteger = Number.isNaN(dayStringConvertedToInteger) ? 0 : dayStringConvertedToInteger;\n let newDay;\n if (key === 'ArrowUp') newDay = dayInteger + 1 <= 31 ? dayInteger + 1 : dayInteger;\n else newDay = dayInteger - 1 > 0 ? dayInteger - 1 : 1;\n newDay = prependStringWithPlaceHolders(`${newDay}`, 2);\n handleChangeDay(newDay, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, handleChangeDay, day],\n );\n const onDayBlur: onBlurFuncT = useCallback(\n (e) => {\n const newDay = e?.target?.value;\n if (newDay === '0') handleChangeDay('01', e, { isAutomaticFillTrigger: true });\n else if (newDay.length > 0 && newDay.length < 2)\n handleChangeDay(prependStringWithPlaceHolders(newDay, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeDay],\n );\n\n const handleChangeYear = useCallback(\n (newYear, e, metaInfo = { isAutomaticFillTrigger: false }) => {\n const newDateString = getFormattedDateString({\n month,\n day,\n year: newYear,\n });\n const finalMetaInfo: internalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnYearChange(newYear, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, day, getIsOutOfRangeDay, getIsDisabledDay, appOnYearChange, handleChangeComposedDateString],\n );\n const onYearFocus: onFocusFuncT = useCallback(() => {\n setLatestInteractionRegionDateInputs();\n }, [setLatestInteractionRegionDateInputs]);\n const onYearChange: onChangeFuncT = useCallback(\n (e) => {\n const newYear = e?.target?.value;\n handleChangeYear(newYear, e);\n // auto-advance functionality:\n if (newYear.length === 4) {\n if (!hideTime) hourInputRef?.current?.focus?.();\n else if (withAnyRightController) {\n if (withClearBtn) clearButtonRef.current?.focus?.();\n else if (withAnyPicker) pickerButtonRef?.current?.focus?.();\n // pending approval from Seda, check which one should be focused first...\n }\n }\n },\n [\n handleChangeYear,\n hideTime,\n hourInputRef,\n withAnyRightController,\n withAnyPicker,\n pickerButtonRef,\n withClearBtn,\n clearButtonRef,\n ],\n );\n const onYearKeyDown: onKeyDownT = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const yearStringConvertedToInteger = Number.parseInt(year, 10);\n const yearInteger = Number.isNaN(yearStringConvertedToInteger) ? 0 : yearStringConvertedToInteger;\n let newYear;\n if (key === 'ArrowUp') newYear = yearInteger + 1 <= 9999 ? yearInteger + 1 : yearInteger;\n else newYear = yearInteger - 1 > 0 ? yearInteger - 1 : 1;\n newYear = prependStringWithPlaceHolders(`${newYear}`, 4);\n handleChangeYear(newYear, e);\n }\n },\n [onHomeKeyDown, onEndKeyDown, handleChangeYear, year],\n );\n const onYearBlur: onBlurFuncT = useCallback(\n (e) => {\n const newYear = e?.target?.value;\n if (newYear.length > 0 && newYear.length < 4)\n handleChangeYear(fillStringWithPlaceHolders(newYear, 4, '0'), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeYear],\n );\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n autoFocusMonthInput,\n onMonthFocus,\n onMonthChange,\n onDayFocus,\n onDayChange,\n onYearFocus,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n }),\n [\n month,\n day,\n year,\n autoFocusMonthInput,\n onMonthFocus,\n onMonthChange,\n onDayFocus,\n onDayChange,\n onYearFocus,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n ],\n );\n};\n"],"names":["useGetDestructuredDateValues","date","dateTime","hideTime","dateStringFromProps","useMemo","dateTimeToDate","deconstructedValues","deconstructValuesFromDateString","useDateInputs","useContext","ControlledDateTimePickerContext","props","appOnMonthChange","onMonthChange","appOnDayChange","onDayChange","appOnYearChange","onYearChange","getIsDisabledDay","getIsOutOfRangeDay","monthInputRef","dayInputRef","yearInputRef","hourInputRef","meridiemInputRef","clearButtonRef","pickerButtonRef","handleChangeComposedDateString","setLatestInteractionRegion","withClearBtn","withAnyPicker","withAnyRightController","autoFocusMonthInput","month","day","year","onHomeKeyDown","useCallback","current","focus","onEndKeyDown","setLatestInteractionRegionDateInputs","handleChangeMonth","newMonth","e","metaInfo","isAutomaticFillTrigger","newDateString","getFormattedDateString","finalMetaInfo","getValidationDateStringMetaInfo","onMonthFocus","target","value","Number","parseInt","prependStringWithPlaceHolders","length","onMonthKeyDown","key","preventDefaultKeys","stopPropagationKeys","includes","preventDefault","stopPropagation","monthStringConvertedToInteger","monthInteger","isNaN","onMonthBlur","handleChangeDay","newDay","onDayFocus","onDayKeyDown","dayStringConvertedToInteger","dayInteger","onDayBlur","handleChangeYear","newYear","onYearFocus","onYearKeyDown","yearStringConvertedToInteger","yearInteger","onYearBlur","fillStringWithPlaceHolders"],"mappings":"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"}
@@ -42,6 +42,7 @@ var defaultCalendarContext = {
42
42
  handlePickerIconKeyDown: noop,
43
43
  isControllerOnly: false,
44
44
  isWithTimeWheelToo: true,
45
+ autoFocusPrevMonthArrow: false,
45
46
  onPrevYearFocus: noop,
46
47
  onPrevMonthFocus: noop,
47
48
  onNextMonthFocus: noop,
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarContext.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.tsx"],"sourcesContent":["import React, { createContext, createRef } from 'react';\nimport type { DateMonth, fiveBySevenCurrentMonthDaysT, onFocusFuncT } from '../../../index.d';\n\nexport type handleDayOnKeyDownT = (e: React.KeyboardEvent, day: fiveBySevenCurrentMonthDaysT) => void;\nexport interface KeyboardHandlersT {\n handleDayOnKeyDown: handleDayOnKeyDownT;\n handlePrevYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePrevMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport interface FocusLogicT {\n focusedDay?: fiveBySevenCurrentMonthDaysT;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n resetFocusedDayToStartDate: () => void;\n handleFocusMetaDay: (metaDayToFocus: fiveBySevenCurrentMonthDaysT) => void;\n handleFocusMetaDayByDay: (day: Date) => void;\n}\nexport interface HeaderButtonsRefsT {\n prevYearBtnRef: React.RefObject<HTMLButtonElement>;\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n nextMonthBtnRef: React.RefObject<HTMLButtonElement>;\n nextYearBtnRef: React.RefObject<HTMLButtonElement>;\n calendarDaysWrapperRef: React.RefObject<HTMLDivElement>;\n}\nexport interface PopperTriggerLogicT {\n closeCalendar: () => void;\n setPopperElement: React.Dispatch<React.SetStateAction<HTMLDivElement>>;\n setArrowElement: React.Dispatch<React.SetStateAction<HTMLDivElement>>;\n usePopperHelpers?: {\n attributes: Record<string, unknown>;\n styles: Record<string, React.CSSProperties>;\n };\n handleToggleCalendar: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e?: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport interface useCurrentDisplayedMonthYearLogicT {\n currentMonth?: DateMonth;\n currentYear?: number;\n daysArray: fiveBySevenCurrentMonthDaysT[];\n handlePrevMonth: () => void;\n handlePrevYear: () => void;\n handleNextMonth: () => void;\n handleNextYear: () => void;\n}\nexport interface CalendarContextT\n extends KeyboardHandlersT,\n HeaderButtonsRefsT,\n FocusLogicT,\n PopperTriggerLogicT,\n useCurrentDisplayedMonthYearLogicT {\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n isControllerOnly: boolean;\n isWithTimeWheelToo: boolean;\n onPrevYearFocus: onFocusFuncT;\n onPrevMonthFocus: onFocusFuncT;\n onNextMonthFocus: onFocusFuncT;\n onNextYearFocus: onFocusFuncT;\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nexport const defaultCalendarContext: CalendarContextT = {\n showCalendar: false,\n setShowCalendar: noop,\n closeCalendar: noop,\n setPopperElement: noop,\n setArrowElement: noop,\n usePopperHelpers: undefined,\n handleToggleCalendar: noop,\n handleSetTriggerRef: noop,\n handleMenuWrapperKeyDown: noop,\n prevYearBtnRef: createRef<HTMLButtonElement>(),\n prevMonthBtnRef: createRef<HTMLButtonElement>(),\n nextMonthBtnRef: createRef<HTMLButtonElement>(),\n nextYearBtnRef: createRef<HTMLButtonElement>(),\n calendarDaysWrapperRef: createRef<HTMLDivElement>(),\n currentMonth: undefined,\n currentYear: undefined,\n daysArray: [],\n focusedDay: undefined,\n tryToFocusCurrentlyDataIsFocusedDay: noop,\n resetFocusedDayToStartDate: noop,\n handleFocusMetaDay: noop,\n handleFocusMetaDayByDay: noop,\n handlePrevMonth: noop,\n handlePrevYear: noop,\n handleNextMonth: noop,\n handleNextYear: noop,\n handleDayOnKeyDown: noop,\n handlePrevYearKeyDown: noop,\n handlePrevMonthKeyDown: noop,\n handleNextMonthKeyDown: noop,\n handleNextYearKeyDown: noop,\n handlePickerIconKeyDown: noop,\n isControllerOnly: false,\n isWithTimeWheelToo: true,\n onPrevYearFocus: noop,\n onPrevMonthFocus: noop,\n onNextMonthFocus: noop,\n onNextYearFocus: noop,\n};\n/** Context for cross component communication */\nexport const CalendarContext = createContext(defaultCalendarContext);\n\nexport default CalendarContext;\n"],"names":["noop","defaultCalendarContext","showCalendar","setShowCalendar","closeCalendar","setPopperElement","setArrowElement","usePopperHelpers","undefined","handleToggleCalendar","handleSetTriggerRef","handleMenuWrapperKeyDown","prevYearBtnRef","createRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currentMonth","currentYear","daysArray","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","resetFocusedDayToStartDate","handleFocusMetaDay","handleFocusMetaDayByDay","handlePrevMonth","handlePrevYear","handleNextMonth","handleNextYear","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown","isControllerOnly","isWithTimeWheelToo","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","CalendarContext","createContext"],"mappings":";;;;;;AA8DA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAY,EAAzB;;IACaC,sBAAwC,GAAG;AACtDC,EAAAA,YAAY,EAAE,KADwC;AAEtDC,EAAAA,eAAe,EAAEH,IAFqC;AAGtDI,EAAAA,aAAa,EAAEJ,IAHuC;AAItDK,EAAAA,gBAAgB,EAAEL,IAJoC;AAKtDM,EAAAA,eAAe,EAAEN,IALqC;AAMtDO,EAAAA,gBAAgB,EAAEC,SANoC;AAOtDC,EAAAA,oBAAoB,EAAET,IAPgC;AAQtDU,EAAAA,mBAAmB,EAAEV,IARiC;AAStDW,EAAAA,wBAAwB,EAAEX,IAT4B;AAUtDY,EAAAA,cAAc,eAAEC,eAAS,EAV6B;AAWtDC,EAAAA,eAAe,eAAED,eAAS,EAX4B;AAYtDE,EAAAA,eAAe,eAAEF,eAAS,EAZ4B;AAatDG,EAAAA,cAAc,eAAEH,eAAS,EAb6B;AActDI,EAAAA,sBAAsB,eAAEJ,eAAS,EAdqB;AAetDK,EAAAA,YAAY,EAAEV,SAfwC;AAgBtDW,EAAAA,WAAW,EAAEX,SAhByC;AAiBtDY,EAAAA,SAAS,EAAE,EAjB2C;AAkBtDC,EAAAA,UAAU,EAAEb,SAlB0C;AAmBtDc,EAAAA,mCAAmC,EAAEtB,IAnBiB;AAoBtDuB,EAAAA,0BAA0B,EAAEvB,IApB0B;AAqBtDwB,EAAAA,kBAAkB,EAAExB,IArBkC;AAsBtDyB,EAAAA,uBAAuB,EAAEzB,IAtB6B;AAuBtD0B,EAAAA,eAAe,EAAE1B,IAvBqC;AAwBtD2B,EAAAA,cAAc,EAAE3B,IAxBsC;AAyBtD4B,EAAAA,eAAe,EAAE5B,IAzBqC;AA0BtD6B,EAAAA,cAAc,EAAE7B,IA1BsC;AA2BtD8B,EAAAA,kBAAkB,EAAE9B,IA3BkC;AA4BtD+B,EAAAA,qBAAqB,EAAE/B,IA5B+B;AA6BtDgC,EAAAA,sBAAsB,EAAEhC,IA7B8B;AA8BtDiC,EAAAA,sBAAsB,EAAEjC,IA9B8B;AA+BtDkC,EAAAA,qBAAqB,EAAElC,IA/B+B;AAgCtDmC,EAAAA,uBAAuB,EAAEnC,IAhC6B;AAiCtDoC,EAAAA,gBAAgB,EAAE,KAjCoC;AAkCtDC,EAAAA,kBAAkB,EAAE,IAlCkC;AAmCtDC,EAAAA,eAAe,EAAEtC,IAnCqC;AAoCtDuC,EAAAA,gBAAgB,EAAEvC,IApCoC;AAqCtDwC,EAAAA,gBAAgB,EAAExC,IArCoC;AAsCtDyC,EAAAA,eAAe,EAAEzC;AAtCqC;AAwCxD;;IACa0C,eAAe,gBAAGC,mBAAa,CAAC1C,sBAAD;;;;;;"}
1
+ {"version":3,"file":"CalendarContext.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.tsx"],"sourcesContent":["import React, { createContext, createRef } from 'react';\nimport type { DateMonth, fiveBySevenCurrentMonthDaysT, onFocusFuncT } from '../../../index.d';\n\nexport type handleDayOnKeyDownT = (e: React.KeyboardEvent, day: fiveBySevenCurrentMonthDaysT) => void;\nexport interface KeyboardHandlersT {\n handleDayOnKeyDown: handleDayOnKeyDownT;\n handlePrevYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePrevMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport interface FocusLogicT {\n focusedDay?: fiveBySevenCurrentMonthDaysT;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n resetFocusedDayToStartDate: () => void;\n handleFocusMetaDay: (metaDayToFocus: fiveBySevenCurrentMonthDaysT) => void;\n handleFocusMetaDayByDay: (day: Date) => void;\n}\nexport interface HeaderButtonsRefsT {\n prevYearBtnRef: React.RefObject<HTMLButtonElement>;\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n nextMonthBtnRef: React.RefObject<HTMLButtonElement>;\n nextYearBtnRef: React.RefObject<HTMLButtonElement>;\n calendarDaysWrapperRef: React.RefObject<HTMLDivElement>;\n}\nexport interface PopperTriggerLogicT {\n closeCalendar: () => void;\n setPopperElement: React.Dispatch<React.SetStateAction<HTMLDivElement>>;\n setArrowElement: React.Dispatch<React.SetStateAction<HTMLDivElement>>;\n usePopperHelpers?: {\n attributes: Record<string, unknown>;\n styles: Record<string, React.CSSProperties>;\n };\n handleToggleCalendar: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e?: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport interface useCurrentDisplayedMonthYearLogicT {\n currentMonth?: DateMonth;\n currentYear?: number;\n daysArray: fiveBySevenCurrentMonthDaysT[];\n handlePrevMonth: () => void;\n handlePrevYear: () => void;\n handleNextMonth: () => void;\n handleNextYear: () => void;\n}\nexport interface CalendarContextT\n extends KeyboardHandlersT,\n HeaderButtonsRefsT,\n FocusLogicT,\n PopperTriggerLogicT,\n useCurrentDisplayedMonthYearLogicT {\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n isControllerOnly: boolean;\n isWithTimeWheelToo: boolean;\n autoFocusPrevMonthArrow: boolean;\n onPrevYearFocus: onFocusFuncT;\n onPrevMonthFocus: onFocusFuncT;\n onNextMonthFocus: onFocusFuncT;\n onNextYearFocus: onFocusFuncT;\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nexport const defaultCalendarContext: CalendarContextT = {\n showCalendar: false,\n setShowCalendar: noop,\n closeCalendar: noop,\n setPopperElement: noop,\n setArrowElement: noop,\n usePopperHelpers: undefined,\n handleToggleCalendar: noop,\n handleSetTriggerRef: noop,\n handleMenuWrapperKeyDown: noop,\n prevYearBtnRef: createRef<HTMLButtonElement>(),\n prevMonthBtnRef: createRef<HTMLButtonElement>(),\n nextMonthBtnRef: createRef<HTMLButtonElement>(),\n nextYearBtnRef: createRef<HTMLButtonElement>(),\n calendarDaysWrapperRef: createRef<HTMLDivElement>(),\n currentMonth: undefined,\n currentYear: undefined,\n daysArray: [],\n focusedDay: undefined,\n tryToFocusCurrentlyDataIsFocusedDay: noop,\n resetFocusedDayToStartDate: noop,\n handleFocusMetaDay: noop,\n handleFocusMetaDayByDay: noop,\n handlePrevMonth: noop,\n handlePrevYear: noop,\n handleNextMonth: noop,\n handleNextYear: noop,\n handleDayOnKeyDown: noop,\n handlePrevYearKeyDown: noop,\n handlePrevMonthKeyDown: noop,\n handleNextMonthKeyDown: noop,\n handleNextYearKeyDown: noop,\n handlePickerIconKeyDown: noop,\n isControllerOnly: false,\n isWithTimeWheelToo: true,\n autoFocusPrevMonthArrow: false,\n onPrevYearFocus: noop,\n onPrevMonthFocus: noop,\n onNextMonthFocus: noop,\n onNextYearFocus: noop,\n};\n/** Context for cross component communication */\nexport const CalendarContext = createContext(defaultCalendarContext);\n\nexport default CalendarContext;\n"],"names":["noop","defaultCalendarContext","showCalendar","setShowCalendar","closeCalendar","setPopperElement","setArrowElement","usePopperHelpers","undefined","handleToggleCalendar","handleSetTriggerRef","handleMenuWrapperKeyDown","prevYearBtnRef","createRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currentMonth","currentYear","daysArray","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","resetFocusedDayToStartDate","handleFocusMetaDay","handleFocusMetaDayByDay","handlePrevMonth","handlePrevYear","handleNextMonth","handleNextYear","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown","isControllerOnly","isWithTimeWheelToo","autoFocusPrevMonthArrow","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","CalendarContext","createContext"],"mappings":";;;;;;AA+DA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAY,EAAzB;;IACaC,sBAAwC,GAAG;AACtDC,EAAAA,YAAY,EAAE,KADwC;AAEtDC,EAAAA,eAAe,EAAEH,IAFqC;AAGtDI,EAAAA,aAAa,EAAEJ,IAHuC;AAItDK,EAAAA,gBAAgB,EAAEL,IAJoC;AAKtDM,EAAAA,eAAe,EAAEN,IALqC;AAMtDO,EAAAA,gBAAgB,EAAEC,SANoC;AAOtDC,EAAAA,oBAAoB,EAAET,IAPgC;AAQtDU,EAAAA,mBAAmB,EAAEV,IARiC;AAStDW,EAAAA,wBAAwB,EAAEX,IAT4B;AAUtDY,EAAAA,cAAc,eAAEC,eAAS,EAV6B;AAWtDC,EAAAA,eAAe,eAAED,eAAS,EAX4B;AAYtDE,EAAAA,eAAe,eAAEF,eAAS,EAZ4B;AAatDG,EAAAA,cAAc,eAAEH,eAAS,EAb6B;AActDI,EAAAA,sBAAsB,eAAEJ,eAAS,EAdqB;AAetDK,EAAAA,YAAY,EAAEV,SAfwC;AAgBtDW,EAAAA,WAAW,EAAEX,SAhByC;AAiBtDY,EAAAA,SAAS,EAAE,EAjB2C;AAkBtDC,EAAAA,UAAU,EAAEb,SAlB0C;AAmBtDc,EAAAA,mCAAmC,EAAEtB,IAnBiB;AAoBtDuB,EAAAA,0BAA0B,EAAEvB,IApB0B;AAqBtDwB,EAAAA,kBAAkB,EAAExB,IArBkC;AAsBtDyB,EAAAA,uBAAuB,EAAEzB,IAtB6B;AAuBtD0B,EAAAA,eAAe,EAAE1B,IAvBqC;AAwBtD2B,EAAAA,cAAc,EAAE3B,IAxBsC;AAyBtD4B,EAAAA,eAAe,EAAE5B,IAzBqC;AA0BtD6B,EAAAA,cAAc,EAAE7B,IA1BsC;AA2BtD8B,EAAAA,kBAAkB,EAAE9B,IA3BkC;AA4BtD+B,EAAAA,qBAAqB,EAAE/B,IA5B+B;AA6BtDgC,EAAAA,sBAAsB,EAAEhC,IA7B8B;AA8BtDiC,EAAAA,sBAAsB,EAAEjC,IA9B8B;AA+BtDkC,EAAAA,qBAAqB,EAAElC,IA/B+B;AAgCtDmC,EAAAA,uBAAuB,EAAEnC,IAhC6B;AAiCtDoC,EAAAA,gBAAgB,EAAE,KAjCoC;AAkCtDC,EAAAA,kBAAkB,EAAE,IAlCkC;AAmCtDC,EAAAA,uBAAuB,EAAE,KAnC6B;AAoCtDC,EAAAA,eAAe,EAAEvC,IApCqC;AAqCtDwC,EAAAA,gBAAgB,EAAExC,IArCoC;AAsCtDyC,EAAAA,gBAAgB,EAAEzC,IAtCoC;AAuCtD0C,EAAAA,eAAe,EAAE1C;AAvCqC;AAyCxD;;IACa2C,eAAe,gBAAGC,mBAAa,CAAC3C,sBAAD;;;;;;"}
@@ -57,7 +57,9 @@ var CalendarHead = function CalendarHead() {
57
57
  onPrevYearFocus = _useContext2.onPrevYearFocus,
58
58
  onPrevMonthFocus = _useContext2.onPrevMonthFocus,
59
59
  onNextMonthFocus = _useContext2.onNextMonthFocus,
60
- onNextYearFocus = _useContext2.onNextYearFocus;
60
+ onNextYearFocus = _useContext2.onNextYearFocus,
61
+ isControllerOnly = _useContext2.isControllerOnly,
62
+ autoFocusPrevMonthArrow = _useContext2.autoFocusPrevMonthArrow;
61
63
 
62
64
  return /*#__PURE__*/React__default['default'].createElement(controlledDateTimePicker_parts_Pickers_Calendar_Styleds.StyledHeader, null, /*#__PURE__*/React__default['default'].createElement(controlledDateTimePicker_parts_Pickers_Calendar_Styleds.StyledHeaderButton, {
63
65
  "aria-label": "previous year",
@@ -71,8 +73,10 @@ var CalendarHead = function CalendarHead() {
71
73
  onClick: handlePrevYear,
72
74
  innerRef: prevYearBtnRef,
73
75
  onKeyDown: handlePrevYearKeyDown,
74
- onFocus: onPrevYearFocus
76
+ onFocus: onPrevYearFocus,
77
+ tabIndex: isControllerOnly ? -1 : 1
75
78
  }), /*#__PURE__*/React__default['default'].createElement(controlledDateTimePicker_parts_Pickers_Calendar_Styleds.StyledHeaderButton, {
79
+ autoFocus: autoFocusPrevMonthArrow,
76
80
  "aria-label": "previous month",
77
81
  buttonType: "text",
78
82
  leftIcon: /*#__PURE__*/React__default['default'].createElement(ChevronLeft__default['default'], {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHead.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport ChevronDoubleLeft from '@elliemae/ds-icons/ChevronDoubleLeft';\nimport ChevronLeft from '@elliemae/ds-icons/ChevronLeft';\nimport ChevronRight from '@elliemae/ds-icons/ChevronRight';\nimport ChevronDoubleRight from '@elliemae/ds-icons/ChevronDoubleRight';\nimport { getMonthNameByMonthNumber } from '../../../utils/dateHelpers';\nimport { StyledHeader, StyledHeaderButton } from './Styleds';\nimport { CalendarContext } from './CalendarContext';\n\nconst useGetFormattedCurrentDate = () => {\n const { currentMonth, currentYear } = useContext(CalendarContext);\n\n const monthString = currentMonth >= 0 && currentMonth <= 11 ? `${getMonthNameByMonthNumber(currentMonth)} ` : '';\n\n return useMemo(() => `${monthString}${currentYear}`, [monthString, currentYear]);\n};\n\nexport const CalendarHead = (): JSX.Element => {\n const currentFormatedDate = useGetFormattedCurrentDate();\n const {\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n handlePrevYear,\n handlePrevMonth,\n handleNextMonth,\n handleNextYear,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n } = useContext(CalendarContext);\n return (\n <StyledHeader>\n <StyledHeaderButton\n aria-label=\"previous year\"\n buttonType=\"text\"\n leftIcon={<ChevronDoubleLeft height={14} width={14} fill=\"#25292f\" />}\n size=\"m\"\n onClick={handlePrevYear}\n innerRef={prevYearBtnRef}\n onKeyDown={handlePrevYearKeyDown}\n onFocus={onPrevYearFocus}\n />\n <StyledHeaderButton\n aria-label=\"previous month\"\n buttonType=\"text\"\n leftIcon={<ChevronLeft fill=\"#25292f\" />}\n size=\"m\"\n onClick={handlePrevMonth}\n innerRef={prevMonthBtnRef}\n onKeyDown={handlePrevMonthKeyDown}\n onFocus={onPrevMonthFocus}\n // this is a tabstop for when the calendar is open\n />\n <h3>{currentFormatedDate}</h3>\n <StyledHeaderButton\n aria-label=\"next month\"\n buttonType=\"text\"\n leftIcon={<ChevronRight fill=\"#25292f\" />}\n size=\"m\"\n onClick={handleNextMonth}\n innerRef={nextMonthBtnRef}\n onKeyDown={handleNextMonthKeyDown}\n onFocus={onNextMonthFocus}\n />\n <StyledHeaderButton\n aria-label=\"next year\"\n buttonType=\"text\"\n leftIcon={<ChevronDoubleRight height={14} width={14} fill=\"#25292f\" />}\n size=\"m\"\n onClick={handleNextYear}\n innerRef={nextYearBtnRef}\n onKeyDown={handleNextYearKeyDown}\n onFocus={onNextYearFocus}\n />\n </StyledHeader>\n );\n};\n"],"names":["useGetFormattedCurrentDate","useContext","CalendarContext","currentMonth","currentYear","monthString","getMonthNameByMonthNumber","useMemo","CalendarHead","currentFormatedDate","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","React","StyledHeader","StyledHeaderButton","ChevronDoubleLeft","ChevronLeft","ChevronRight","ChevronDoubleRight"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarHead.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport ChevronDoubleLeft from '@elliemae/ds-icons/ChevronDoubleLeft';\nimport ChevronLeft from '@elliemae/ds-icons/ChevronLeft';\nimport ChevronRight from '@elliemae/ds-icons/ChevronRight';\nimport ChevronDoubleRight from '@elliemae/ds-icons/ChevronDoubleRight';\nimport { getMonthNameByMonthNumber } from '../../../utils/dateHelpers';\nimport { StyledHeader, StyledHeaderButton } from './Styleds';\nimport { CalendarContext } from './CalendarContext';\n\nconst useGetFormattedCurrentDate = () => {\n const { currentMonth, currentYear } = useContext(CalendarContext);\n\n const monthString = currentMonth >= 0 && currentMonth <= 11 ? `${getMonthNameByMonthNumber(currentMonth)} ` : '';\n\n return useMemo(() => `${monthString}${currentYear}`, [monthString, currentYear]);\n};\n\nexport const CalendarHead = (): JSX.Element => {\n const currentFormatedDate = useGetFormattedCurrentDate();\n const {\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n handlePrevYear,\n handlePrevMonth,\n handleNextMonth,\n handleNextYear,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n isControllerOnly,\n autoFocusPrevMonthArrow,\n } = useContext(CalendarContext);\n return (\n <StyledHeader>\n <StyledHeaderButton\n aria-label=\"previous year\"\n buttonType=\"text\"\n leftIcon={<ChevronDoubleLeft height={14} width={14} fill=\"#25292f\" />}\n size=\"m\"\n onClick={handlePrevYear}\n innerRef={prevYearBtnRef}\n onKeyDown={handlePrevYearKeyDown}\n onFocus={onPrevYearFocus}\n tabIndex={isControllerOnly ? -1 : 1}\n />\n <StyledHeaderButton\n autoFocus={autoFocusPrevMonthArrow}\n aria-label=\"previous month\"\n buttonType=\"text\"\n leftIcon={<ChevronLeft fill=\"#25292f\" />}\n size=\"m\"\n onClick={handlePrevMonth}\n innerRef={prevMonthBtnRef}\n onKeyDown={handlePrevMonthKeyDown}\n onFocus={onPrevMonthFocus}\n // this is a tabstop for when the calendar is open\n />\n <h3>{currentFormatedDate}</h3>\n <StyledHeaderButton\n aria-label=\"next month\"\n buttonType=\"text\"\n leftIcon={<ChevronRight fill=\"#25292f\" />}\n size=\"m\"\n onClick={handleNextMonth}\n innerRef={nextMonthBtnRef}\n onKeyDown={handleNextMonthKeyDown}\n onFocus={onNextMonthFocus}\n />\n <StyledHeaderButton\n aria-label=\"next year\"\n buttonType=\"text\"\n leftIcon={<ChevronDoubleRight height={14} width={14} fill=\"#25292f\" />}\n size=\"m\"\n onClick={handleNextYear}\n innerRef={nextYearBtnRef}\n onKeyDown={handleNextYearKeyDown}\n onFocus={onNextYearFocus}\n />\n </StyledHeader>\n );\n};\n"],"names":["useGetFormattedCurrentDate","useContext","CalendarContext","currentMonth","currentYear","monthString","getMonthNameByMonthNumber","useMemo","CalendarHead","currentFormatedDate","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","isControllerOnly","autoFocusPrevMonthArrow","React","StyledHeader","StyledHeaderButton","ChevronDoubleLeft","ChevronLeft","ChevronRight","ChevronDoubleRight"],"mappings":"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"}
@@ -41,9 +41,11 @@ var useConfigCalendarCTX = function useConfigCalendarCTX() {
41
41
  nextYearBtnRef = _useContext.nextYearBtnRef,
42
42
  calendarDaysWrapperRef = _useContext.calendarDaysWrapperRef,
43
43
  currMeridiemBtnRef = _useContext.currMeridiemBtnRef,
44
+ currHourBtnRef = _useContext.currHourBtnRef,
44
45
  isControllerOnly = _useContext.isControllerOnly,
45
46
  isWithTimeWheelToo = _useContext.isWithTimeWheelToo,
46
- setLatestInteractionRegion = _useContext.setLatestInteractionRegion;
47
+ setLatestInteractionRegion = _useContext.setLatestInteractionRegion,
48
+ autoFocusPrevMonthArrow = _useContext.autoFocusPrevMonthArrow;
47
49
 
48
50
  var _useState = React.useState(false),
49
51
  _useState2 = _slicedToArray__default['default'](_useState, 2),
@@ -117,11 +119,13 @@ var useConfigCalendarCTX = function useConfigCalendarCTX() {
117
119
  handleNextMonth: handleNextMonth,
118
120
  pickerButtonRef: pickerButtonRef,
119
121
  currMeridiemBtnRef: currMeridiemBtnRef,
122
+ currHourBtnRef: currHourBtnRef,
120
123
  prevYearBtnRef: prevYearBtnRef,
121
124
  prevMonthBtnRef: prevMonthBtnRef,
122
125
  nextMonthBtnRef: nextMonthBtnRef,
123
126
  nextYearBtnRef: nextYearBtnRef,
124
127
  isWithTimeWheelToo: isWithTimeWheelToo,
128
+ isControllerOnly: isControllerOnly,
125
129
  setShowCalendar: setShowCalendar,
126
130
  onPickerOpen: onPickerOpen,
127
131
  onPickerClose: onPickerClose,
@@ -181,9 +185,10 @@ var useConfigCalendarCTX = function useConfigCalendarCTX() {
181
185
  onPrevMonthFocus: onPrevMonthFocus,
182
186
  onNextMonthFocus: onNextMonthFocus,
183
187
  onNextYearFocus: onNextYearFocus,
184
- isWithTimeWheelToo: isWithTimeWheelToo
188
+ isWithTimeWheelToo: isWithTimeWheelToo,
189
+ autoFocusPrevMonthArrow: autoFocusPrevMonthArrow
185
190
  };
186
- }, [showCalendar, closeCalendar, setPopperElement, setArrowElement, usePopperHelpers, handleToggleCalendar, handleSetTriggerRef, handleMenuWrapperKeyDown, isControllerOnly, calendarDaysWrapperRef, prevYearBtnRef, prevMonthBtnRef, nextMonthBtnRef, nextYearBtnRef, currentMonth, currentYear, daysArray, focusedDay, tryToFocusCurrentlyDataIsFocusedDay, handleFocusMetaDay, handleFocusMetaDayByDay, resetFocusedDayToStartDate, handlePrevMonth, handlePrevYear, handleNextMonth, handleNextYear, handleDayOnKeyDown, handlePrevYearKeyDown, handlePrevMonthKeyDown, handleNextMonthKeyDown, handleNextYearKeyDown, handlePickerIconKeyDown, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, isWithTimeWheelToo]);
191
+ }, [showCalendar, closeCalendar, setPopperElement, setArrowElement, usePopperHelpers, handleToggleCalendar, handleSetTriggerRef, handleMenuWrapperKeyDown, isControllerOnly, calendarDaysWrapperRef, prevYearBtnRef, prevMonthBtnRef, nextMonthBtnRef, nextYearBtnRef, currentMonth, currentYear, daysArray, focusedDay, tryToFocusCurrentlyDataIsFocusedDay, handleFocusMetaDay, handleFocusMetaDayByDay, resetFocusedDayToStartDate, handlePrevMonth, handlePrevYear, handleNextMonth, handleNextYear, handleDayOnKeyDown, handlePrevYearKeyDown, handlePrevMonthKeyDown, handleNextMonthKeyDown, handleNextYearKeyDown, handlePickerIconKeyDown, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, isWithTimeWheelToo, autoFocusPrevMonthArrow]);
187
192
  };
188
193
 
189
194
  exports.useConfigCalendarCTX = useConfigCalendarCTX;
@@ -1 +1 @@
1
- {"version":3,"file":"useConfigCalendarCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useState, useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContextT } from './CalendarContext';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\nimport { useFocusLogic } from './useFocusLogic';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\n\nexport const useConfigCalendarCTX = (): CalendarContextT => {\n const {\n pickerButtonRef,\n props: { onPickerOpen, onPickerClose, preventCloseOnSelection },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n } = useContext(ControlledDateTimePickerContext);\n const [showCalendar, setShowCalendar] = useState(false);\n\n const { currentMonth, currentYear, daysArray, handlePrevYear, handlePrevMonth, handleNextMonth, handleNextYear } =\n useCurrentDisplayedMonthYearLogic();\n\n const setLatestInteractionRegionCalendarHead = useCallback(() => {\n setLatestInteractionRegion('calendar-head');\n }, [setLatestInteractionRegion]);\n const onPrevYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onPrevMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n\n const {\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n } = useFocusLogic({\n daysArray,\n calendarDaysWrapperRef,\n showCalendar,\n });\n\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n tryToFocusCurrentlyDataIsFocusedDay();\n }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen: handleOnPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n });\n const {\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n pickerButtonRef,\n currMeridiemBtnRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n isWithTimeWheelToo,\n setShowCalendar,\n onPickerOpen,\n onPickerClose,\n setLatestInteractionRegion,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n preventCloseOnSelection,\n });\n\n return useMemo(\n () => ({\n showCalendar,\n setShowCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n\n isWithTimeWheelToo,\n }),\n [\n showCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n isWithTimeWheelToo,\n ],\n );\n};\n"],"names":["useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","onPickerOpen","onPickerClose","preventCloseOnSelection","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currMeridiemBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","useState","showCalendar","setShowCalendar","useCurrentDisplayedMonthYearLogic","currentMonth","currentYear","daysArray","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","setLatestInteractionRegionCalendarHead","useCallback","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","useFocusLogic","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","handleFocusMetaDay","handleFocusMetaDayByDay","resetFocusedDayToStartDate","handleOnPickerOpen","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useConfigCalendarCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useState, useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContextT } from './CalendarContext';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\nimport { useFocusLogic } from './useFocusLogic';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\n\nexport const useConfigCalendarCTX = (): CalendarContextT => {\n const {\n pickerButtonRef,\n props: { onPickerOpen, onPickerClose, preventCloseOnSelection },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n autoFocusPrevMonthArrow,\n } = useContext(ControlledDateTimePickerContext);\n const [showCalendar, setShowCalendar] = useState(false);\n\n const { currentMonth, currentYear, daysArray, handlePrevYear, handlePrevMonth, handleNextMonth, handleNextYear } =\n useCurrentDisplayedMonthYearLogic();\n\n const setLatestInteractionRegionCalendarHead = useCallback(() => {\n setLatestInteractionRegion('calendar-head');\n }, [setLatestInteractionRegion]);\n const onPrevYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onPrevMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n\n const {\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n } = useFocusLogic({\n daysArray,\n calendarDaysWrapperRef,\n showCalendar,\n });\n\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n tryToFocusCurrentlyDataIsFocusedDay();\n }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen: handleOnPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n });\n const {\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n pickerButtonRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n setShowCalendar,\n onPickerOpen,\n onPickerClose,\n setLatestInteractionRegion,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n preventCloseOnSelection,\n });\n\n return useMemo(\n () => ({\n showCalendar,\n setShowCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n }),\n [\n showCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n ],\n );\n};\n"],"names":["useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","onPickerOpen","onPickerClose","preventCloseOnSelection","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currMeridiemBtnRef","currHourBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","autoFocusPrevMonthArrow","useState","showCalendar","setShowCalendar","useCurrentDisplayedMonthYearLogic","currentMonth","currentYear","daysArray","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","setLatestInteractionRegionCalendarHead","useCallback","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","useFocusLogic","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","handleFocusMetaDay","handleFocusMetaDayByDay","resetFocusedDayToStartDate","handleOnPickerOpen","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown","useMemo"],"mappings":"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"}