@elliemae/ds-controlled-form 2.4.1-rc.6 → 2.4.1

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 (170) 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/esm/date-time-picker/ControlledDateTimePickerCTX.js +3 -115
  59. package/esm/date-time-picker/ControlledDateTimePickerDatatestid.js +0 -2
  60. package/esm/date-time-picker/config/useChangeHandlers.js +256 -0
  61. package/esm/date-time-picker/config/useControlledDateTimePicker.js +38 -421
  62. package/esm/date-time-picker/config/useGetDestructuredValues.js +21 -68
  63. package/esm/date-time-picker/config/useGetFlags.js +165 -0
  64. package/esm/date-time-picker/config/useGetPropsBasedOnType.js +97 -0
  65. package/esm/date-time-picker/config/useGetPropsWithDefault.js +1 -2
  66. package/esm/date-time-picker/config/useGetReferences.js +82 -0
  67. package/esm/date-time-picker/config/useGlobalKeyHandlers.js +98 -0
  68. package/esm/date-time-picker/config/useRelevantValueFromProps.js +35 -0
  69. package/esm/date-time-picker/config/useValidateProps.js +47 -42
  70. package/esm/date-time-picker/parts/ClearButton/ClearButton.js +20 -9
  71. package/esm/date-time-picker/parts/ControlledDateTimePickerContent.js +14 -12
  72. package/esm/date-time-picker/parts/DateInputs/useDateInputs.js +5 -5
  73. package/esm/date-time-picker/parts/Pickers/Calendar/Calendar.js +11 -13
  74. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -1
  75. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContext.js +2 -50
  76. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  77. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -7
  78. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +9 -5
  79. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +5 -2
  80. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -2
  81. package/esm/date-time-picker/parts/Pickers/Calendar/Day.js +18 -18
  82. package/esm/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +23 -125
  83. package/esm/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +33 -5
  84. package/esm/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +10 -6
  85. package/esm/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  86. package/esm/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +7 -4
  87. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -5
  88. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -16
  89. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -2
  90. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +10 -10
  91. package/esm/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +18 -13
  92. package/esm/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +59 -33
  93. package/esm/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -13
  94. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +11 -13
  95. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -2
  96. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -66
  97. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -3
  98. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -2
  99. package/esm/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +15 -117
  100. package/esm/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +54 -96
  101. package/esm/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +4 -1
  102. package/esm/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  103. package/esm/date-time-picker/parts/TimeInputs/HHInput.js +1 -3
  104. package/esm/date-time-picker/parts/TimeInputs/MeridiemInput.js +1 -1
  105. package/esm/date-time-picker/parts/TimeInputs/TimeInputs.js +3 -7
  106. package/esm/date-time-picker/parts/TimeInputs/useTimeInputs.js +3 -6
  107. package/esm/date-time-picker/propTypes.js +49 -17
  108. package/esm/date-time-picker/sharedTypes.js +1 -0
  109. package/esm/date-time-picker/utils/dateHelpers.js +57 -57
  110. package/esm/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -5
  111. package/esm/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +46 -47
  112. package/esm/date-time-picker/utils/hooks/useOnClickOutside.js +1 -2
  113. package/esm/date-time-picker/utils/stringHelpers.js +8 -14
  114. package/esm/date-time-picker/utils/typeGuards.js +8 -0
  115. package/package.json +47 -15
  116. package/types/date-time-picker/ControlledDateTimePicker.d.ts +25 -80
  117. package/types/date-time-picker/ControlledDateTimePickerCTX.d.ts +1 -2
  118. package/types/date-time-picker/ControlledDateTimePickerDatatestid.d.ts +46 -46
  119. package/types/date-time-picker/ControlledDateTimePickerTypes.d.ts +15 -15
  120. package/types/date-time-picker/config/useChangeHandlers.d.ts +25 -0
  121. package/types/date-time-picker/config/useControlledDateTimePicker.d.ts +18 -2
  122. package/types/date-time-picker/config/useGetDestructuredValues.d.ts +30 -4
  123. package/types/date-time-picker/config/useGetFlags.d.ts +27 -0
  124. package/types/date-time-picker/config/useGetPropsBasedOnType.d.ts +28 -0
  125. package/types/date-time-picker/config/useGetPropsWithDefault.d.ts +2 -2
  126. package/types/date-time-picker/config/useGetReferences.d.ts +39 -0
  127. package/types/date-time-picker/config/useGlobalKeyHandlers.d.ts +16 -0
  128. package/types/date-time-picker/config/useRelevantValueFromProps.d.ts +10 -0
  129. package/types/date-time-picker/config/useValidateProps.d.ts +2 -2
  130. package/types/date-time-picker/parts/ClearButton/useClearButton.d.ts +6 -6
  131. package/types/date-time-picker/parts/DateInputs/DDInput.d.ts +6 -6
  132. package/types/date-time-picker/parts/DateInputs/MMInput.d.ts +6 -6
  133. package/types/date-time-picker/parts/DateInputs/YYYYInput.d.ts +6 -6
  134. package/types/date-time-picker/parts/DateInputs/useDateInputs.d.ts +2 -2
  135. package/types/date-time-picker/parts/Pickers/Calendar/Calendar.d.ts +4 -2
  136. package/types/date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +3 -63
  137. package/types/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +4 -4
  138. package/types/date-time-picker/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -2
  139. package/types/date-time-picker/parts/Pickers/Calendar/Day.d.ts +2 -2
  140. package/types/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -2
  141. package/types/date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +12 -5
  142. package/types/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +17 -11
  143. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -16
  144. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -2
  145. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +15 -1
  146. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.d.ts +4 -2
  147. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -62
  148. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -2
  149. package/types/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +4 -1
  150. package/types/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +16 -5
  151. package/types/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +18 -3
  152. package/types/date-time-picker/parts/TimeInputs/HHInput.d.ts +6 -6
  153. package/types/date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +6 -6
  154. package/types/date-time-picker/parts/TimeInputs/MinutesInput.d.ts +6 -6
  155. package/types/date-time-picker/parts/TimeInputs/useTimeInputs.d.ts +22 -2
  156. package/types/date-time-picker/parts/config.d.ts +3 -3
  157. package/types/date-time-picker/sharedTypes.d.ts +94 -0
  158. package/types/date-time-picker/utils/constants.d.ts +33 -33
  159. package/types/date-time-picker/utils/dateHelpers.d.ts +15 -14
  160. package/types/date-time-picker/utils/dateTimeHelpers.d.ts +3 -3
  161. package/types/date-time-picker/utils/hooks/useGetDayFromDateString.d.ts +1 -1
  162. package/types/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +2 -2
  163. package/types/date-time-picker/utils/hooks/useGetStartingFocusedDay.d.ts +6 -6
  164. package/types/date-time-picker/utils/hooks/useOnClickOutside.d.ts +1 -1
  165. package/types/date-time-picker/utils/timeHelpers.d.ts +2 -2
  166. package/types/date-time-picker/utils/typeGuards.d.ts +4 -0
  167. package/types/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -2
  168. package/types/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -12
  169. package/types/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -2
  170. package/types/date-time-picker/propTypes.d.ts +0 -81
@@ -7,11 +7,25 @@ var React = require('react');
7
7
  var useGetMonthYearFromDateStringOrEmptyStartingMonth = require('../../../utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js');
8
8
  var dateHelpers = require('../../../utils/dateHelpers.js');
9
9
 
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
+ function sliceIntoChunks(arr, chunkSize) {
12
+ const res = [];
13
+
14
+ for (let i = 0; i < arr.length; i += chunkSize) {
15
+ const chunk = arr.slice(i, i + chunkSize);
16
+ res.push(chunk);
17
+ }
18
+
19
+ return res;
20
+ }
21
+
10
22
  const useCurrentDisplayedMonthYearLogic = () => {
11
23
  const {
12
24
  month: monthFromDateString,
13
25
  year: yearFromDateString
14
- } = useGetMonthYearFromDateStringOrEmptyStartingMonth.useGetMonthYearFromDateStringOrEmptyStartingMonth(); // side-effects are really really controlled in this case so use-effect should be fine
26
+ } = useGetMonthYearFromDateStringOrEmptyStartingMonth.useGetMonthYearFromDateStringOrEmptyStartingMonth();
27
+ const [currentMonth, setCurrentMonth] = React.useState(monthFromDateString);
28
+ const [currentYear, setCurrentYear] = React.useState(yearFromDateString); // side-effects are really really controlled in this case so use-effect should be fine
15
29
  // don't add 200 side-effects to those or else Chaos would hunt us for the years to come
16
30
 
17
31
  React.useEffect(() => {
@@ -20,8 +34,6 @@ const useCurrentDisplayedMonthYearLogic = () => {
20
34
  React.useEffect(() => {
21
35
  setCurrentYear(yearFromDateString);
22
36
  }, [yearFromDateString]);
23
- const [currentMonth, setCurrentMonth] = React.useState(monthFromDateString);
24
- const [currentYear, setCurrentYear] = React.useState(yearFromDateString);
25
37
  const daysArray = React.useMemo(() => {
26
38
  const newDaysArray = dateHelpers.getFiveBySevenCurrentMonthDaysMatrix(currentMonth, currentYear);
27
39
  const hiddenPrevDay = dateHelpers.sumValuesToDate(newDaysArray[0].day, {
@@ -98,15 +110,31 @@ const useCurrentDisplayedMonthYearLogic = () => {
98
110
  });
99
111
  setCurrentYear(newYear);
100
112
  }, [currentMonth, currentYear]);
113
+ const {
114
+ invisibleFirstDay,
115
+ daysMatrixByWeekday,
116
+ invisibleLastDay
117
+ } = React.useMemo(() => {
118
+ const [invisible1stDay, ...otherDays] = [...daysArray];
119
+ const invisibleDayLast = otherDays.pop();
120
+ return {
121
+ invisibleFirstDay: invisible1stDay,
122
+ daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
123
+ invisibleLastDay: invisibleDayLast
124
+ };
125
+ }, [daysArray]);
101
126
  return React.useMemo(() => ({
102
127
  currentMonth,
103
128
  currentYear,
104
129
  daysArray,
130
+ invisibleFirstDay,
131
+ daysMatrixByWeekday,
132
+ invisibleLastDay,
105
133
  handlePrevYear,
106
134
  handlePrevMonth,
107
135
  handleNextMonth,
108
136
  handleNextYear
109
- }), [currentMonth, currentYear, daysArray, handleNextMonth, handleNextYear, handlePrevMonth, handlePrevYear]);
137
+ }), [currentMonth, currentYear, daysArray, daysMatrixByWeekday, handleNextMonth, handleNextYear, handlePrevMonth, handlePrevYear, invisibleFirstDay, invisibleLastDay]);
110
138
  };
111
139
 
112
140
  exports.useCurrentDisplayedMonthYearLogic = useCurrentDisplayedMonthYearLogic;
@@ -26,32 +26,36 @@ const loopWhileWaiting = function (cb) {
26
26
 
27
27
  const useFocusLogic = _ref => {
28
28
  let {
29
- daysArray,
29
+ currentDisplayedMonthLogic,
30
30
  showCalendar
31
31
  } = _ref;
32
32
  const {
33
33
  calendarDaysWrapperRef
34
34
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
35
+ const {
36
+ daysArray
37
+ } = currentDisplayedMonthLogic;
35
38
  const {
36
39
  startFocusedDate
37
40
  } = useGetStartingFocusedDay.useGetStartingFocusedDay();
38
- const [metadayToFocus, setMetadayToFocus] = React.useState(daysArray.find(_ref2 => {
41
+ const [metadayToFocus, setMetadayToFocus] = React.useState(() => startFocusedDate ? daysArray.find(_ref2 => {
39
42
  let {
40
43
  day: currDay
41
44
  } = _ref2;
42
45
  return dateHelpers.compareTwoDatesDayEquality(currDay, startFocusedDate);
43
- })); // this is required because we have to focus based on the inputs values too,
46
+ }) : undefined); // this is required because we have to focus based on the inputs values too,
44
47
  // useGetStartingFocusedDay does this already,
45
48
  // this "useMemo" is here just to trigger it functionally by changing the metadayToFocus state
46
49
  // which is required for arrow key navigation in the calendar
47
50
 
48
51
  const focusedDay = React.useMemo(() => {
49
- const newFocusedDay = metadayToFocus ? daysArray.find(_ref3 => {
52
+ let newFocusedDay;
53
+ if (metadayToFocus) newFocusedDay = daysArray.find(_ref3 => {
50
54
  let {
51
55
  day: currDay
52
56
  } = _ref3;
53
57
  return dateHelpers.compareTwoDatesDayEquality(currDay, metadayToFocus.day);
54
- }) : daysArray.find(_ref4 => {
58
+ });else if (startFocusedDate) newFocusedDay = daysArray.find(_ref4 => {
55
59
  let {
56
60
  day: currDay
57
61
  } = _ref4;
@@ -97,7 +101,7 @@ const useFocusLogic = _ref => {
97
101
  if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);
98
102
  }, [daysArray, focusedDay]);
99
103
  const resetFocusedDayToStartDate = React.useCallback(() => {
100
- setMetadayToFocus(null);
104
+ setMetadayToFocus(undefined);
101
105
  }, []);
102
106
  return React.useMemo(() => ({
103
107
  focusedDay,
@@ -12,13 +12,8 @@ var constants = require('../../../utils/constants.js');
12
12
 
13
13
  const useKeyboardHandlers = _ref => {
14
14
  let {
15
- focusedDay,
16
- daysArray,
17
- handlePrevMonth,
18
- handleNextMonth,
19
- handleFocusMetaDay,
20
- handleFocusMetaDayByDay,
21
- tryToFocusCurrentlyDataIsFocusedDay
15
+ currentDisplayedMonthLogic,
16
+ focusLogic
22
17
  } = _ref;
23
18
  const {
24
19
  hideDate,
@@ -39,6 +34,17 @@ const useKeyboardHandlers = _ref => {
39
34
  isWithDateInputs,
40
35
  yearInputRef
41
36
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
37
+ const {
38
+ focusedDay,
39
+ handleFocusMetaDay,
40
+ handleFocusMetaDayByDay,
41
+ tryToFocusCurrentlyDataIsFocusedDay
42
+ } = focusLogic;
43
+ const {
44
+ daysArray,
45
+ handlePrevMonth,
46
+ handleNextMonth
47
+ } = currentDisplayedMonthLogic;
42
48
  const tryToFocusDayRegion = React.useCallback(() => {
43
49
  setLatestInteractionRegion('calendar-days');
44
50
 
@@ -150,9 +156,13 @@ const useKeyboardHandlers = _ref => {
150
156
  e.preventDefault();
151
157
 
152
158
  if (shiftKey) {
153
- nextMonthBtnRef.current.focus();
159
+ var _nextMonthBtnRef$curr;
160
+
161
+ (_nextMonthBtnRef$curr = nextMonthBtnRef.current) === null || _nextMonthBtnRef$curr === void 0 ? void 0 : _nextMonthBtnRef$curr.focus();
154
162
  } else {
155
- nextYearBtnRef.current.focus();
163
+ var _nextYearBtnRef$curre;
164
+
165
+ (_nextYearBtnRef$curre = nextYearBtnRef.current) === null || _nextYearBtnRef$curre === void 0 ? void 0 : _nextYearBtnRef$curre.focus();
156
166
  }
157
167
  }
158
168
 
@@ -182,8 +192,10 @@ const useKeyboardHandlers = _ref => {
182
192
  if (isWithTimeWheelToo) currMeridiemBtnRef === null || currMeridiemBtnRef === void 0 ? void 0 : (_currMeridiemBtnRef$c3 = currMeridiemBtnRef.current) === null || _currMeridiemBtnRef$c3 === void 0 ? void 0 : (_currMeridiemBtnRef$c4 = _currMeridiemBtnRef$c3.focus) === null || _currMeridiemBtnRef$c4 === void 0 ? void 0 : _currMeridiemBtnRef$c4.call(_currMeridiemBtnRef$c3);else tryToFocusDayRegion();
183
193
  }
184
194
  } else {
195
+ var _nextMonthBtnRef$curr2;
196
+
185
197
  e.preventDefault();
186
- nextMonthBtnRef.current.focus();
198
+ (_nextMonthBtnRef$curr2 = nextMonthBtnRef.current) === null || _nextMonthBtnRef$curr2 === void 0 ? void 0 : _nextMonthBtnRef$curr2.focus();
187
199
  }
188
200
  }
189
201
 
@@ -207,9 +219,13 @@ const useKeyboardHandlers = _ref => {
207
219
  e.preventDefault();
208
220
 
209
221
  if (shiftKey) {
210
- prevMonthBtnRef.current.focus();
222
+ var _prevMonthBtnRef$curr5;
223
+
224
+ (_prevMonthBtnRef$curr5 = prevMonthBtnRef.current) === null || _prevMonthBtnRef$curr5 === void 0 ? void 0 : _prevMonthBtnRef$curr5.focus();
211
225
  } else {
212
- prevYearBtnRef.current.focus();
226
+ var _prevYearBtnRef$curre;
227
+
228
+ (_prevYearBtnRef$curre = prevYearBtnRef.current) === null || _prevYearBtnRef$curre === void 0 ? void 0 : _prevYearBtnRef$curre.focus();
213
229
  }
214
230
  }
215
231
 
@@ -233,9 +249,9 @@ const useKeyboardHandlers = _ref => {
233
249
  e.preventDefault();
234
250
 
235
251
  if (shiftKey) {
236
- var _prevYearBtnRef$curre, _prevYearBtnRef$curre2;
252
+ var _prevYearBtnRef$curre2, _prevYearBtnRef$curre3;
237
253
 
238
- prevYearBtnRef === null || prevYearBtnRef === void 0 ? void 0 : (_prevYearBtnRef$curre = prevYearBtnRef.current) === null || _prevYearBtnRef$curre === void 0 ? void 0 : (_prevYearBtnRef$curre2 = _prevYearBtnRef$curre.focus) === null || _prevYearBtnRef$curre2 === void 0 ? void 0 : _prevYearBtnRef$curre2.call(_prevYearBtnRef$curre);
254
+ prevYearBtnRef === null || prevYearBtnRef === void 0 ? void 0 : (_prevYearBtnRef$curre2 = prevYearBtnRef.current) === null || _prevYearBtnRef$curre2 === void 0 ? void 0 : (_prevYearBtnRef$curre3 = _prevYearBtnRef$curre2.focus) === null || _prevYearBtnRef$curre3 === void 0 ? void 0 : _prevYearBtnRef$curre3.call(_prevYearBtnRef$curre2);
239
255
  }
240
256
 
241
257
  if (!shiftKey) tryToFocusDayRegion();
@@ -10,12 +10,15 @@ var useOnClickOutside = require('../../../utils/hooks/useOnClickOutside.js');
10
10
 
11
11
  const usePopperTriggerLogic = _ref => {
12
12
  let {
13
+ focusLogic,
14
+ showCalendar,
15
+ setShowCalendar
16
+ } = _ref;
17
+ const {
13
18
  focusedDay,
14
19
  resetFocusedDayToStartDate,
15
- showCalendar,
16
- setShowCalendar,
17
20
  tryToFocusCurrentlyDataIsFocusedDay
18
- } = _ref;
21
+ } = focusLogic;
19
22
  const {
20
23
  props: {
21
24
  onPickerOpen,
@@ -84,7 +87,7 @@ const usePopperTriggerLogic = _ref => {
84
87
  useOnClickOutside.useOnClickOutside(popperElement, e => {
85
88
  var _pickerButtonRef$curr5, _pickerButtonRef$curr6;
86
89
 
87
- if (!(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr5 = pickerButtonRef.current) !== null && _pickerButtonRef$curr5 !== void 0 && (_pickerButtonRef$curr6 = _pickerButtonRef$curr5.contains) !== null && _pickerButtonRef$curr6 !== void 0 && _pickerButtonRef$curr6.call(_pickerButtonRef$curr5, e === null || e === void 0 ? void 0 : e.target))) closeCalendar();
90
+ if (e.target instanceof Element && !(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr5 = pickerButtonRef.current) !== null && _pickerButtonRef$curr5 !== void 0 && (_pickerButtonRef$curr6 = _pickerButtonRef$curr5.contains) !== null && _pickerButtonRef$curr6 !== void 0 && _pickerButtonRef$curr6.call(_pickerButtonRef$curr5, e === null || e === void 0 ? void 0 : e.target))) closeCalendar();
88
91
  });
89
92
  return React.useMemo(() => ({
90
93
  closeCalendar,
@@ -16,8 +16,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
16
 
17
17
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
18
18
 
19
- var _CalendarWithTimeWhee, _CalendarWithTimeWhee2;
20
- const CalendarWithTimeWheel = Calendar.WrapWithCalendarContext(TimeWheel.WrapWithTimeWheelContext(() => {
19
+ var _CalendarWithTimeWhee, _CalendarWithTimeWhee2, _WrappedCalendarConte;
20
+
21
+ const CalendarWithTimeWheelContent = () => {
21
22
  const ctx = useConfigCalendarWithTimeWheelCTX.useConfigCalendarWithTimeWheelCTX();
22
23
  const {
23
24
  showCalendarWithTimeWheel,
@@ -31,6 +32,9 @@ const CalendarWithTimeWheel = Calendar.WrapWithCalendarContext(TimeWheel.WrapWit
31
32
  onKeyDown: handleMenuWrapperKeyDown
32
33
  }, void 0, _CalendarWithTimeWhee2 || (_CalendarWithTimeWhee2 = /*#__PURE__*/_jsx__default["default"](CalendarWithTimeWheelWrapper.CalendarWithTimeWheelWrapper, {})))
33
34
  }) : null);
34
- }));
35
+ }; // we wrap in context in a separate statement so we can use the useContext and be sure it's correctly initialized
36
+
37
+
38
+ const CalendarWithTimeWheel = () => _WrappedCalendarConte || (_WrappedCalendarConte = /*#__PURE__*/_jsx__default["default"](Calendar.WrappedCalendarContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](TimeWheel.WrappedTimeWheelContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarWithTimeWheelContent, {}))));
35
39
 
36
40
  exports.CalendarWithTimeWheel = CalendarWithTimeWheel;
@@ -4,22 +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 defaultCalendarWithTimeWheelContext = {
11
- ariaCurrentValueForInputs: '',
12
- showCalendarWithTimeWheel: false,
13
- setPopperElement: noop,
14
- setArrowElement: noop,
15
- usePopperHelpers: null,
16
- handleSetTriggerRef: noop,
17
- handleToggleCalendarWithTimeWheel: noop,
18
- handleMenuWrapperKeyDown: noop,
19
- handlePickerIconKeyDown: noop,
20
- isControllerOnly: false,
21
- disabled: false
22
- };
7
+ const defaultCalendarWithTimeWheelContext = {};
23
8
  /** Context for cross component communication */
24
9
 
25
10
  const CalendarWithTimeWheelContext = /*#__PURE__*/React.createContext(defaultCalendarWithTimeWheelContext);
@@ -30,7 +30,6 @@ const CalendarWithTimeWheelIconTrigger = () => {
30
30
  "aria-label": "date time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
31
31
  buttonType: "icon",
32
32
  size: DSButton.BUTTON_SIZES.M,
33
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
34
33
  innerRef: handleSetTriggerRef,
35
34
  onClick: handleToggleCalendarWithTimeWheel,
36
35
  onKeyDown: handlePickerIconKeyDown,
@@ -68,25 +68,25 @@ const useConfigCalendarWithTimeWheelCTX = () => {
68
68
  }
69
69
  }]
70
70
  });
71
- const openCalendar = React.useCallback(e => {
71
+ const openCalendar = React.useCallback(() => {
72
72
  setShowCalendarWithTimeWheel(true);
73
73
  onPickerOpen();
74
- setTimeout(() => handleToggleCalendar(e));
75
- setTimeout(() => handleToggleTimePicker(e));
74
+ setTimeout(() => handleToggleCalendar());
75
+ setTimeout(() => handleToggleTimePicker());
76
76
  }, [handleToggleCalendar, handleToggleTimePicker, onPickerOpen]);
77
- const closeCalendar = React.useCallback(e => {
77
+ const closeCalendar = React.useCallback(() => {
78
78
  setShowCalendarWithTimeWheel(false);
79
79
  onPickerClose();
80
- setTimeout(() => handleToggleCalendar(e));
81
- setTimeout(() => handleToggleTimePicker(e));
80
+ setTimeout(() => handleToggleCalendar());
81
+ setTimeout(() => handleToggleTimePicker());
82
82
  }, [handleToggleCalendar, handleToggleTimePicker, onPickerClose]);
83
- const handleToggleCalendarWithTimeWheel = React.useCallback(e => {
84
- if (!showCalendarWithTimeWheel) openCalendar(e);else closeCalendar(e);
83
+ const handleToggleCalendarWithTimeWheel = React.useCallback(() => {
84
+ if (!showCalendarWithTimeWheel) openCalendar();else closeCalendar();
85
85
  }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);
86
86
  useOnClickOutside.useOnClickOutside(popperElement, e => {
87
87
  var _pickerButtonRef$curr, _pickerButtonRef$curr2;
88
88
 
89
- if (!(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr = pickerButtonRef.current) !== null && _pickerButtonRef$curr !== void 0 && (_pickerButtonRef$curr2 = _pickerButtonRef$curr.contains) !== null && _pickerButtonRef$curr2 !== void 0 && _pickerButtonRef$curr2.call(_pickerButtonRef$curr, e === null || e === void 0 ? void 0 : e.target))) closeCalendar(e);
89
+ if (e.target instanceof Element && !(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr = pickerButtonRef.current) !== null && _pickerButtonRef$curr !== void 0 && (_pickerButtonRef$curr2 = _pickerButtonRef$curr.contains) !== null && _pickerButtonRef$curr2 !== void 0 && _pickerButtonRef$curr2.call(_pickerButtonRef$curr, e === null || e === void 0 ? void 0 : e.target))) closeCalendar();
90
90
  });
91
91
  const handleSetTriggerRef = React.useCallback(newRef => {
92
92
  pickerButtonRef.current = newRef;
@@ -100,7 +100,7 @@ const useConfigCalendarWithTimeWheelCTX = () => {
100
100
  if (key === 'Escape') {
101
101
  var _pickerButtonRef$curr3, _pickerButtonRef$curr4;
102
102
 
103
- closeCalendar(e);
103
+ closeCalendar();
104
104
  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);
105
105
  }
106
106
  }, [closeCalendar, pickerButtonRef]);
@@ -14,6 +14,7 @@ require('core-js/modules/esnext.iterator.for-each.js');
14
14
  var React = require('react');
15
15
  var dsIcons = require('@elliemae/ds-icons');
16
16
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
17
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
17
18
  var numberHelpers = require('../../../utils/numberHelpers.js');
18
19
  var Styleds = require('./Styleds.js');
19
20
  var TimeWheelContext = require('./TimeWheelContext.js');
@@ -32,22 +33,24 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
32
33
  const HoursList = () => {
33
34
  const {
34
35
  currHourNum,
35
- hours,
36
- minutes,
37
- meridiem,
36
+ currMinuteNum,
37
+ currMeridiem,
38
38
  visibleHours,
39
39
  handlePrevHour,
40
40
  handleNextHour,
41
41
  handleTimeWheelBtnChangeHours,
42
42
  handlePrevHourBtnOnKeyDown,
43
43
  handleCurrHourOnKeyDown,
44
- handleNextHourBtnOnKeyDown,
44
+ handleNextHourBtnOnKeyDown
45
+ } = React.useContext(TimeWheelContext.TimeWheelContext);
46
+ const {
45
47
  prevHourBtnRef,
46
48
  currHourBtnRef,
47
49
  nextHourBtnRef,
48
50
  getIsDisabledTime,
49
- autoFocusHourTimeWheel
50
- } = React.useContext(TimeWheelContext.TimeWheelContext);
51
+ autoFocusHourTimeWheel,
52
+ hours
53
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
51
54
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelList, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelChangeTimeBtn, {
52
55
  "aria-label": "subtract one hour",
53
56
  buttonType: "raw",
@@ -58,9 +61,9 @@ const HoursList = () => {
58
61
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR,
59
62
  tabIndex: -1
60
63
  }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {})))), visibleHours.map(hourString => {
61
- const key = "timewheel-hour-".concat(hourString);
64
+ const key = "timewheel-hour-".concat(hourString || '');
62
65
  if (!hourString) return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, key);
63
- const currHourTimeString = "".concat(hourString, ":").concat(minutes || '00', " ").concat(meridiem || 'AM');
66
+ const currHourTimeString = "".concat(hourString, ":").concat(currMinuteNum, " ").concat(currMeridiem);
64
67
  const isEmptyCurrValueCurrentListItem = !hours && numberHelpers.convertToPositiveNumberIfPossible(hourString) === currHourNum;
65
68
  const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;
66
69
  const isDisabled = getIsDisabledTime(currHourTimeString);
@@ -69,23 +72,25 @@ const HoursList = () => {
69
72
  onKeyDown: isCurrentListItem ? handleCurrHourOnKeyDown : undefined,
70
73
  innerRef: isCurrentListItem ? currHourBtnRef : undefined
71
74
  };
75
+ const styleProps = {
76
+ isCurrentListItem,
77
+ isDisabled
78
+ };
72
79
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
73
80
  isCurrentListItem: isCurrentListItem
74
- }, key, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread({
75
- isCurrentListItem: isCurrentListItem,
81
+ }, key, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread(_objectSpread({}, styleProps), {}, {
76
82
  autoFocus: autoFocusHourTimeWheel && isCurrentListItem,
77
83
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR'],
78
84
  selected: hours.length === 2 && numberHelpers.convertToPositiveNumberIfPossible(hourString) === currHourNum,
79
85
  "aria-label": "".concat(hourString, " hours"),
80
86
  "aria-disabled": isDisabled,
81
- isDisabled: isDisabled,
82
87
  buttonType: "raw",
83
88
  size: "m",
84
89
  onClick: e => handleTimeWheelBtnChangeHours(hourString, e),
85
90
  tabIndex: tabIndex,
86
91
  role: "spinbutton",
87
- "aria-valuemax": "12",
88
- "aria-valuemin": "1",
92
+ "aria-valuemax": 12,
93
+ "aria-valuemin": 1,
89
94
  "aria-valuenow": currHourNum,
90
95
  "aria-valuetext": "".concat(hourString, " hours")
91
96
  }, btnProps), {}, {
@@ -2,59 +2,86 @@
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
  var React = require('react');
7
13
  var dsIcons = require('@elliemae/ds-icons');
8
14
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
15
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
9
16
  var Styleds = require('./Styleds.js');
10
17
  var TimeWheelContext = require('./TimeWheelContext.js');
18
+ var jsxRuntime = require('react/jsx-runtime');
11
19
 
12
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
21
 
22
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
23
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
24
 
16
25
  var _ChevronSmallUp, _StyledWheelListItem, _StyledWheelListItem2, _ChevronSmallDown;
26
+
27
+ 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; }
28
+
29
+ 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; }
17
30
  const MeridiemList = () => {
18
31
  const {
19
- hours,
20
- minutes,
21
- meridiem,
32
+ currMeridiem,
22
33
  handleTimeWheelBtnChangeMeridiem,
23
34
  handlePrevMeridiemBtnOnKeyDown,
24
35
  handleCurrMeridiemOnKeyDown,
25
- handleNextMeridiemBtnOnKeyDown,
36
+ handleNextMeridiemBtnOnKeyDown
37
+ } = React.useContext(TimeWheelContext.TimeWheelContext);
38
+ const {
26
39
  prevMeridiemBtnRef,
27
40
  currMeridiemBtnRef,
28
41
  nextMeridiemBtnRef,
29
- getIsDisabledTime
30
- } = React.useContext(TimeWheelContext.TimeWheelContext);
31
- const isAmCurrent = !meridiem || meridiem === 'AM';
32
- const isPmCurrent = meridiem === 'PM';
42
+ getIsDisabledTime,
43
+ hours,
44
+ minutes
45
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
46
+ const isAmCurrent = !currMeridiem || currMeridiem === 'AM';
47
+ const isPmCurrent = currMeridiem === 'PM';
33
48
  const hourMinuteString = "".concat(hours || '01', ":").concat(minutes || '00');
34
49
  const amTimeString = "".concat(hourMinuteString, " AM");
35
50
  const pmTimeString = "".concat(hourMinuteString, " PM");
36
51
  const isDisabledAm = getIsDisabledTime(amTimeString);
37
52
  const isDisabledPm = getIsDisabledTime(pmTimeString);
38
- return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelList, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelChangeTimeBtn, {
53
+ const styledPropsPrevMeridiem = {
54
+ isDisabled: isDisabledAm
55
+ };
56
+ const styledPropsCurrentAmMeridiem = {
57
+ isCurrentListItem: isAmCurrent,
58
+ isDisabled: isDisabledAm
59
+ };
60
+ const styledPropsCurrentPmMeridiem = {
61
+ isCurrentListItem: isPmCurrent,
62
+ isDisabled: isDisabledPm
63
+ };
64
+ const styledPropsNextMeridiem = {
65
+ isDisabled: isDisabledPm
66
+ };
67
+ return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelList, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledWheelChangeTimeBtn, _objectSpread(_objectSpread({}, styledPropsPrevMeridiem), {}, {
39
68
  "aria-label": "set am meridiem",
40
69
  "aria-disabled": isDisabledAm,
41
- isDisabled: isDisabledAm,
42
70
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM,
43
71
  buttonType: "raw",
44
72
  size: "m",
45
73
  onClick: e => handleTimeWheelBtnChangeMeridiem('AM', e),
46
74
  onKeyDown: handlePrevMeridiemBtnOnKeyDown,
47
75
  innerRef: prevMeridiemBtnRef,
48
- tabIndex: -1
49
- }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {})))), meridiem === 'AM' || meridiem === '' ? _StyledWheelListItem || (_StyledWheelListItem = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
76
+ tabIndex: -1,
77
+ children: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {}))
78
+ }))), currMeridiem === 'AM' || currMeridiem === '' ? _StyledWheelListItem || (_StyledWheelListItem = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
50
79
  isCurrentListItem: isAmCurrent
51
- }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledTimeBtn, {
52
- isCurrentListItem: isAmCurrent,
80
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread({}, styledPropsCurrentAmMeridiem), {}, {
53
81
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL[isAmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM'],
54
- selected: meridiem === 'AM',
82
+ selected: currMeridiem === 'AM',
55
83
  "aria-label": "AM ".concat(isAmCurrent ? 'selected' : ''),
56
84
  "aria-disabled": isDisabledAm,
57
- isDisabled: isDisabledAm,
58
85
  buttonType: "raw",
59
86
  size: "m",
60
87
  onClick: e => handleTimeWheelBtnChangeMeridiem('AM', e),
@@ -62,19 +89,18 @@ const MeridiemList = () => {
62
89
  innerRef: isAmCurrent ? currMeridiemBtnRef : undefined,
63
90
  tabIndex: isAmCurrent ? 0 : -1,
64
91
  role: "spinbutton",
65
- "aria-valuemax": "1",
66
- "aria-valuemin": "0",
67
- "aria-valuenow": isPmCurrent ? '1' : '0',
68
- "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem'
69
- }, void 0, "AM")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
92
+ "aria-valuemax": 1,
93
+ "aria-valuemin": 0,
94
+ "aria-valuenow": isPmCurrent ? 1 : 0,
95
+ "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem',
96
+ children: "AM"
97
+ }))), /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
70
98
  isCurrentListItem: isPmCurrent
71
- }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledTimeBtn, {
72
- isCurrentListItem: isPmCurrent,
99
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread({}, styledPropsCurrentPmMeridiem), {}, {
73
100
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM'],
74
- selected: meridiem === 'PM',
101
+ selected: currMeridiem === 'PM',
75
102
  "aria-label": "PM ".concat(isPmCurrent ? 'selected' : ''),
76
103
  "aria-disabled": isDisabledPm,
77
- isDisabled: isDisabledPm,
78
104
  buttonType: "raw",
79
105
  size: "m",
80
106
  onClick: e => handleTimeWheelBtnChangeMeridiem('PM', e),
@@ -82,22 +108,23 @@ const MeridiemList = () => {
82
108
  innerRef: isPmCurrent ? currMeridiemBtnRef : undefined,
83
109
  tabIndex: isPmCurrent ? 0 : -1,
84
110
  role: "spinbutton",
85
- "aria-valuemax": "1",
86
- "aria-valuemin": "0",
87
- "aria-valuenow": isPmCurrent ? '1' : '0',
88
- "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem'
89
- }, void 0, "PM")), meridiem === 'PM' ? _StyledWheelListItem2 || (_StyledWheelListItem2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelChangeTimeBtn, {
111
+ "aria-valuemax": 1,
112
+ "aria-valuemin": 0,
113
+ "aria-valuenow": isPmCurrent ? 1 : 0,
114
+ "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem',
115
+ children: "PM"
116
+ }))), currMeridiem === 'PM' ? _StyledWheelListItem2 || (_StyledWheelListItem2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledWheelChangeTimeBtn, _objectSpread(_objectSpread({}, styledPropsNextMeridiem), {}, {
90
117
  "aria-label": "set pm meridiem",
91
118
  "aria-disabled": isDisabledPm,
92
- isDisabled: isDisabledPm,
93
119
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM,
94
120
  buttonType: "raw",
95
121
  size: "m",
96
122
  onClick: e => handleTimeWheelBtnChangeMeridiem('PM', e),
97
123
  onKeyDown: handleNextMeridiemBtnOnKeyDown,
98
124
  innerRef: nextMeridiemBtnRef,
99
- tabIndex: -1
100
- }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallDown, {})))));
125
+ tabIndex: -1,
126
+ children: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallDown, {}))
127
+ }))));
101
128
  };
102
129
 
103
130
  exports.MeridiemList = MeridiemList;