@elliemae/ds-controlled-form 2.0.0-alpha.8 → 2.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/cjs/controlled-checkbox/config/useValidateProps.js +3 -5
  2. package/cjs/controlled-checkbox/styles.js +2 -2
  3. package/cjs/controlled-checkbox/utils/styleHelpers.js +2 -20
  4. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
  5. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
  6. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
  7. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
  8. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
  9. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  10. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +60 -7
  11. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +146 -0
  12. package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
  13. package/cjs/controlled-date-time-picker/index.js +1 -1
  14. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +8 -7
  15. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
  16. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  17. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
  18. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
  19. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +6 -28
  20. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
  21. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +11 -6
  22. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  23. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +24 -5
  24. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -34
  25. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -11
  26. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  27. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
  28. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
  29. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +42 -23
  30. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +52 -37
  31. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +34 -4
  32. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  33. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -2
  34. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
  35. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  36. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  37. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -11
  38. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
  39. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -4
  40. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +6 -4
  41. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +20 -21
  42. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +20 -27
  43. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +21 -22
  44. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -12
  45. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +25 -85
  46. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -2
  47. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  48. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -10
  49. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
  50. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
  51. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
  52. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -0
  53. package/cjs/controlled-date-time-picker/parts/Styleds.js +6 -12
  54. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
  55. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -1
  56. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
  57. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
  58. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +11 -34
  59. package/cjs/controlled-date-time-picker/utils/constants.js +43 -0
  60. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +7 -7
  61. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
  62. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  63. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +20 -3
  64. package/cjs/controlled-toggle/ControlledToggle.js +2 -1
  65. package/cjs/controlled-toggle/styles.js +5 -7
  66. package/cjs/index.js +1 -1
  67. package/esm/controlled-checkbox/config/useValidateProps.js +3 -5
  68. package/esm/controlled-checkbox/styles.js +2 -2
  69. package/esm/controlled-checkbox/utils/styleHelpers.js +2 -20
  70. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
  71. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
  72. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
  73. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
  74. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
  75. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  76. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +60 -7
  77. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +140 -0
  78. package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
  79. package/esm/controlled-date-time-picker/index.js +1 -1
  80. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +7 -6
  81. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
  82. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  83. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
  84. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
  85. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +9 -30
  86. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
  87. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +12 -7
  88. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  89. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +26 -7
  90. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -34
  91. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +12 -9
  92. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  93. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
  94. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
  95. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +41 -23
  96. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +50 -36
  97. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +35 -5
  98. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  99. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -2
  100. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
  101. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  102. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  103. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +12 -9
  104. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
  105. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -5
  106. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +6 -4
  107. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +20 -19
  108. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +20 -25
  109. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +21 -20
  110. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -12
  111. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +25 -85
  112. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -2
  113. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  114. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -9
  115. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
  116. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
  117. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
  118. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -0
  119. package/esm/controlled-date-time-picker/parts/Styleds.js +6 -11
  120. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
  121. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -1
  122. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
  123. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
  124. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +12 -35
  125. package/esm/controlled-date-time-picker/utils/constants.js +37 -0
  126. package/esm/controlled-date-time-picker/utils/dateHelpers.js +6 -6
  127. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
  128. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  129. package/esm/controlled-date-time-picker/utils/stringHelpers.js +20 -4
  130. package/esm/controlled-toggle/ControlledToggle.js +2 -1
  131. package/esm/controlled-toggle/styles.js +5 -7
  132. package/esm/index.js +1 -1
  133. package/package.json +12 -4
  134. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +25 -3
  135. package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
  136. package/types/controlled-date-time-picker/index.d.ts +1 -1
  137. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
  138. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
  139. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
  140. package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
  141. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
  142. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +9 -5
  143. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
  144. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
  145. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +48 -103
  146. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +2 -2
  147. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +4 -4
  148. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +2 -2
  149. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
  150. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +21 -0
  151. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +65 -4
  152. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
  153. package/types/controlled-date-time-picker/parts/Styleds.d.ts +21 -1
  154. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
  155. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
  156. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
  157. package/types/controlled-date-time-picker/utils/constants.d.ts +35 -0
  158. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +2 -2
  159. package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
  160. package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
  161. package/cjs/package.json +0 -7
  162. package/esm/package.json +0 -7
@@ -1,11 +1,23 @@
1
- import { useContext, useState, useCallback, useMemo } from 'react';
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
+ import { useContext, useState, useMemo, useCallback } from 'react';
2
3
  import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';
3
4
  import { useKeyboardHandlers } from './useKeyboardHandlers.js';
4
5
  import { useFocusLogic } from './useFocusLogic.js';
5
6
  import { usePopperTriggerLogic } from './usePopperTriggerLogic.js';
6
7
  import { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic.js';
7
8
 
8
- /* eslint-disable complexity */
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ function sliceIntoChunks(arr, chunkSize) {
11
+ const res = [];
12
+
13
+ for (let i = 0; i < arr.length; i += chunkSize) {
14
+ const chunk = arr.slice(i, i + chunkSize);
15
+ res.push(chunk);
16
+ }
17
+
18
+ return res;
19
+ }
20
+
9
21
  const useConfigCalendarCTX = () => {
10
22
  const {
11
23
  pickerButtonRef,
@@ -28,7 +40,8 @@ const useConfigCalendarCTX = () => {
28
40
  isControllerOnly,
29
41
  isWithTimeWheelToo,
30
42
  setLatestInteractionRegion,
31
- autoFocusPrevMonthArrow
43
+ autoFocusPrevMonthArrow,
44
+ ariaCurrentValueForInputs
32
45
  } = useContext(ControlledDateTimePickerContext);
33
46
  const [showCalendar, setShowCalendar] = useState(false);
34
47
  const {
@@ -40,6 +53,19 @@ const useConfigCalendarCTX = () => {
40
53
  handleNextMonth,
41
54
  handleNextYear
42
55
  } = useCurrentDisplayedMonthYearLogic();
56
+ const {
57
+ invisibleFirstDay,
58
+ daysMatrixByWeekday,
59
+ invisibleLastDay
60
+ } = useMemo(() => {
61
+ const [invisible1stDay, ...otherDays] = [...daysArray];
62
+ const invisibleDayLast = otherDays.pop();
63
+ return {
64
+ invisibleFirstDay: invisible1stDay,
65
+ daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
66
+ invisibleLastDay: invisibleDayLast
67
+ };
68
+ }, [daysArray]);
43
69
  const setLatestInteractionRegionCalendarHead = useCallback(() => {
44
70
  setLatestInteractionRegion('calendar-head');
45
71
  }, [setLatestInteractionRegion]);
@@ -142,6 +168,9 @@ const useConfigCalendarCTX = () => {
142
168
  currentMonth,
143
169
  currentYear,
144
170
  daysArray,
171
+ invisibleFirstDay,
172
+ daysMatrixByWeekday,
173
+ invisibleLastDay,
145
174
  focusedDay,
146
175
  tryToFocusCurrentlyDataIsFocusedDay,
147
176
  handleFocusMetaDay,
@@ -162,8 +191,9 @@ const useConfigCalendarCTX = () => {
162
191
  onNextMonthFocus,
163
192
  onNextYearFocus,
164
193
  isWithTimeWheelToo,
165
- autoFocusPrevMonthArrow
166
- }), [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]);
194
+ autoFocusPrevMonthArrow,
195
+ ariaCurrentValueForInputs
196
+ }), [showCalendar, closeCalendar, setPopperElement, setArrowElement, usePopperHelpers, handleToggleCalendar, handleSetTriggerRef, handleMenuWrapperKeyDown, isControllerOnly, calendarDaysWrapperRef, prevYearBtnRef, prevMonthBtnRef, nextMonthBtnRef, nextYearBtnRef, currentMonth, currentYear, daysArray, invisibleFirstDay, daysMatrixByWeekday, invisibleLastDay, focusedDay, tryToFocusCurrentlyDataIsFocusedDay, handleFocusMetaDay, handleFocusMetaDayByDay, resetFocusedDayToStartDate, handlePrevMonth, handlePrevYear, handleNextMonth, handleNextYear, handleDayOnKeyDown, handlePrevYearKeyDown, handlePrevMonthKeyDown, handleNextMonthKeyDown, handleNextYearKeyDown, handlePickerIconKeyDown, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, isWithTimeWheelToo, autoFocusPrevMonthArrow, ariaCurrentValueForInputs]);
167
197
  };
168
198
 
169
199
  export { useConfigCalendarCTX };
@@ -1,8 +1,8 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useEffect, useState, useMemo, createRef, useCallback } from 'react';
2
3
  import { useGetMonthYearFromDateStringOrEmptyStartingMonth } from '../../../utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js';
3
4
  import { getFiveBySevenCurrentMonthDaysMatrix, sumValuesToDate, getDateStringFromDay, sumFromDateValues } from '../../../utils/dateHelpers.js';
4
5
 
5
- /* eslint-disable complexity */
6
6
  const useCurrentDisplayedMonthYearLogic = () => {
7
7
  const {
8
8
  month: monthFromDateString,
@@ -1,9 +1,8 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useState, useMemo, useCallback, useLayoutEffect } from 'react';
2
3
  import { compareTwoDatesDayEquality } from '../../../utils/dateHelpers.js';
3
4
  import { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay.js';
4
5
 
5
- /* eslint-disable complexity */
6
-
7
6
  // eslint-disable-next-line max-params
8
7
  const loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {
9
8
  let ab = maxTries;
@@ -1,8 +1,8 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useState, useCallback, useMemo } from 'react';
2
3
  import { usePopper } from 'react-popper';
3
4
  import { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside.js';
4
5
 
5
- /* eslint-disable complexity */
6
6
  const usePopperTriggerLogic = ({
7
7
  focusedDay,
8
8
  resetFocusedDayToStartDate,
@@ -1,5 +1,6 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import { useContext } from 'react';
3
+ import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
3
4
  import { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds.js';
4
5
  import { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter.js';
5
6
  import { TimeWheelContent } from '../TimeWheel/TimeWheelContent.js';
@@ -11,7 +12,8 @@ const CalendarWithTimeWheelContent = () => {
11
12
  isControllerOnly
12
13
  } = useContext(ControlledDateTimePickerContext);
13
14
  return /*#__PURE__*/_jsx(StyledCalendarWithTimeWheelWrapper, {
14
- isControllerOnly: isControllerOnly
15
+ isControllerOnly: isControllerOnly,
16
+ "data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL
15
17
  }, void 0, _StyledCalendar || (_StyledCalendar = /*#__PURE__*/_jsx(StyledCalendar, {})), _TimeWheelContent || (_TimeWheelContent = /*#__PURE__*/_jsx(TimeWheelContent, {})), _CalendarWithTimeWhee || (_CalendarWithTimeWhee = /*#__PURE__*/_jsx(CalendarWithTimeWheelFooter, {})));
16
18
  };
17
19
 
@@ -4,6 +4,7 @@ import { createContext } from 'react';
4
4
  const noop = () => {};
5
5
 
6
6
  const defaultCalendarWithTimeWheelContext = {
7
+ ariaCurrentValueForInputs: '',
7
8
  showCalendarWithTimeWheel: false,
8
9
  setPopperElement: noop,
9
10
  setArrowElement: noop,
@@ -1,11 +1,12 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import { useContext, useMemo } from 'react';
3
- import DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';
3
+ import { DSIconColors } from '@elliemae/ds-icon';
4
+ import { BUTTON_SIZES, BUTTON_VARIANT } from '@elliemae/ds-button';
4
5
  import DatePicker from '@elliemae/ds-icons/DatePicker';
5
6
  import { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext.js';
7
+ import { StyledIconTriggerButton } from './Styleds.js';
6
8
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
7
9
 
8
- var _DatePicker;
9
10
  // this is particularly useful due to how usePopper needs to check the references
10
11
  // since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
11
12
 
@@ -13,19 +14,21 @@ const CalendarWithTimeWheelIconTrigger = () => {
13
14
  const {
14
15
  handleSetTriggerRef,
15
16
  handleToggleCalendarWithTimeWheel,
16
- handlePickerIconKeyDown
17
+ handlePickerIconKeyDown,
18
+ ariaCurrentValueForInputs
17
19
  } = useContext(CalendarWithTimeWheelContext);
18
- return useMemo(() => /*#__PURE__*/_jsx(DSButton, {
19
- "aria-label": "date time picker context menu trigger",
20
- buttonType: "text",
21
- leftIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx(DatePicker, {})),
22
- size: "m",
20
+ return useMemo(() => /*#__PURE__*/_jsx(StyledIconTriggerButton, {
21
+ "aria-label": "date time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
22
+ buttonType: "icon",
23
+ size: BUTTON_SIZES.M,
23
24
  variant: BUTTON_VARIANT.DEFAULT,
24
25
  innerRef: handleSetTriggerRef,
25
26
  onClick: handleToggleCalendarWithTimeWheel,
26
27
  onKeyDown: handlePickerIconKeyDown,
27
28
  "data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL
28
- }), [handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
29
+ }, void 0, /*#__PURE__*/_jsx(DatePicker, {
30
+ color: DSIconColors.PRIMARY
31
+ })), [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
29
32
  };
30
33
 
31
34
  export { CalendarWithTimeWheelIconTrigger };
@@ -1,6 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
3
  import { useContext } from 'react';
4
+ import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
4
5
  import { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent.js';
5
6
  import { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext.js';
6
7
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -28,6 +29,7 @@ const CalendarWithTimeWheelWrapper = () => {
28
29
  zIndex: 110
29
30
  })
30
31
  }, attributes.popper), {}, {
32
+ "data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL,
31
33
  children: [_CalendarWithTimeWhee2 || (_CalendarWithTimeWhee2 = /*#__PURE__*/_jsx(CalendarWithTimeWheelContent, {})), /*#__PURE__*/jsx("div", {
32
34
  ref: setArrowElement,
33
35
  style: styles.arrow
@@ -1,9 +1,15 @@
1
1
  import styled from 'styled-components';
2
+ import { DSButtonV2 } from '@elliemae/ds-button';
2
3
  import { CalendarContent } from '../Calendar/CalendarContent.js';
3
4
 
4
- const StyledCalendarWithTimeWheelWrapper = /*#__PURE__*/styled.div.withConfig({
5
+ const StyledIconTriggerButton = /*#__PURE__*/styled(DSButtonV2).withConfig({
5
6
  componentId: "sc-h2xj8r-0"
6
- })(["background:", ";", " display:grid;grid-template-columns:260px 192px;grid-template-rows:1fr;column-gap:0;& > div:last-of-type{box-shadow:-1px 0 0 0 ", ";}"], ({
7
+ })(["color:", ";width:26px;height:26px;"], ({
8
+ theme
9
+ }) => theme.colors.brand['600']);
10
+ const StyledCalendarWithTimeWheelWrapper = /*#__PURE__*/styled.div.withConfig({
11
+ componentId: "sc-h2xj8r-1"
12
+ })(["background:", ";", " display:grid;grid-template-columns:260px 192px;grid-template-rows:1fr;column-gap:0;& > div:last-of-type{box-shadow:-1px 0 0 0 ", ";margin-left:1px;}"], ({
7
13
  theme
8
14
  }) => theme.colors.neutral['000'], ({
9
15
  isControllerOnly
@@ -11,10 +17,10 @@ const StyledCalendarWithTimeWheelWrapper = /*#__PURE__*/styled.div.withConfig({
11
17
  theme
12
18
  }) => theme.colors.neutral[200]);
13
19
  const StyledCalendar = /*#__PURE__*/styled(CalendarContent).withConfig({
14
- componentId: "sc-h2xj8r-1"
20
+ componentId: "sc-h2xj8r-2"
15
21
  })(["box-shadow:none;"]);
16
22
  const CalendarWithTimeWheelFooterMessage = /*#__PURE__*/styled.footer.withConfig({
17
- componentId: "sc-h2xj8r-2"
23
+ componentId: "sc-h2xj8r-3"
18
24
  })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;grid-column:1/3;"], ({
19
25
  theme
20
26
  }) => theme.colors.neutral[300], ({
@@ -29,4 +35,4 @@ const CalendarWithTimeWheelFooterMessage = /*#__PURE__*/styled.footer.withConfig
29
35
  theme
30
36
  }) => theme.fontSizes.microText[200]);
31
37
 
32
- export { CalendarWithTimeWheelFooterMessage, StyledCalendar, StyledCalendarWithTimeWheelWrapper };
38
+ export { CalendarWithTimeWheelFooterMessage, StyledCalendar, StyledCalendarWithTimeWheelWrapper, StyledIconTriggerButton };
@@ -1,3 +1,4 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useContext, useState, useCallback, useMemo } from 'react';
2
3
  import { usePopper } from 'react-popper';
3
4
  import { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes.js';
@@ -6,7 +7,6 @@ import { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside.js';
6
7
  import { CalendarContext } from '../Calendar/CalendarContext.js';
7
8
  import { TimeWheelContext } from '../TimeWheel/TimeWheelContext.js';
8
9
 
9
- /* eslint-disable max-statements */
10
10
  const useConfigCalendarWithTimeWheelCTX = () => {
11
11
  const {
12
12
  pickerButtonRef,
@@ -18,7 +18,8 @@ const useConfigCalendarWithTimeWheelCTX = () => {
18
18
  hideDate,
19
19
  hideTime,
20
20
  monthInputRef,
21
- hourInputRef
21
+ hourInputRef,
22
+ ariaCurrentValueForInputs
22
23
  } = useContext(ControlledDateTimePickerContext);
23
24
  const {
24
25
  handleToggleCalendar
@@ -99,8 +100,9 @@ const useConfigCalendarWithTimeWheelCTX = () => {
99
100
  handleSetTriggerRef,
100
101
  handleMenuWrapperKeyDown,
101
102
  handlePickerIconKeyDown,
102
- isControllerOnly
103
- }), [showCalendarWithTimeWheel, usePopperHelpers, handleToggleCalendarWithTimeWheel, handleSetTriggerRef, handleMenuWrapperKeyDown, handlePickerIconKeyDown, isControllerOnly]);
103
+ isControllerOnly,
104
+ ariaCurrentValueForInputs
105
+ }), [showCalendarWithTimeWheel, usePopperHelpers, handleToggleCalendarWithTimeWheel, handleSetTriggerRef, handleMenuWrapperKeyDown, handlePickerIconKeyDown, isControllerOnly, ariaCurrentValueForInputs]);
104
106
  };
105
107
 
106
108
  export { useConfigCalendarWithTimeWheelCTX };
@@ -1,8 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
3
  import { useContext } from 'react';
4
- import ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';
5
- import ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';
4
+ import { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';
6
5
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
7
6
  import { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers.js';
8
7
  import { StyledWheelList, StyledWheelListItem, StyledWheelChangeTimeBtn, StyledTimeBtn } from './Styleds.js';
@@ -35,17 +34,17 @@ const HoursList = () => {
35
34
  } = useContext(TimeWheelContext);
36
35
  return /*#__PURE__*/_jsx(StyledWheelList, {}, void 0, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
37
36
  "aria-label": "subtract one hour",
38
- buttonType: "text",
39
- leftIcon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})),
37
+ buttonType: "raw",
40
38
  size: "m",
41
39
  onClick: handlePrevHour,
42
40
  onKeyDown: handlePrevHourBtnOnKeyDown,
43
41
  innerRef: prevHourBtnRef,
42
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR,
44
43
  tabIndex: -1
45
- })), visibleHours.map(hourString => {
46
- const key = `timewheel-hour-${hourString}`;
44
+ }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})))), visibleHours.map(hourString => {
45
+ const key = "timewheel-hour-".concat(hourString);
47
46
  if (!hourString) return /*#__PURE__*/_jsx(StyledWheelListItem, {}, key);
48
- const currHourTimeString = `${hourString}:${minutes || '00'} ${meridiem || 'AM'}`;
47
+ const currHourTimeString = "".concat(hourString, ":").concat(minutes || '00', " ").concat(meridiem || 'AM');
49
48
  const isEmptyCurrValueCurrentListItem = !hours && convertToPositiveNumberIfPossible(hourString) === currHourNum;
50
49
  const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;
51
50
  const isDisabled = getIsDisabledTime(currHourTimeString);
@@ -56,34 +55,36 @@ const HoursList = () => {
56
55
  };
57
56
  return /*#__PURE__*/_jsx(StyledWheelListItem, {
58
57
  isCurrentListItem: isCurrentListItem
59
- }, key, /*#__PURE__*/jsx(StyledTimeBtn, _objectSpread({
58
+ }, key, /*#__PURE__*/jsx(StyledTimeBtn, _objectSpread(_objectSpread({
60
59
  isCurrentListItem: isCurrentListItem,
61
60
  autoFocus: autoFocusHourTimeWheel && isCurrentListItem,
62
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'SELECTED_HOUR' : 'HOUR'],
61
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR'],
63
62
  selected: hours.length === 2 && convertToPositiveNumberIfPossible(hourString) === currHourNum,
64
- "aria-label": `${hourString} hours`,
63
+ "aria-label": "".concat(hourString, " hours"),
65
64
  "aria-disabled": isDisabled,
66
65
  isDisabled: isDisabled,
67
- buttonType: "text",
68
- labelText: hourString,
66
+ buttonType: "raw",
69
67
  size: "m",
70
68
  onClick: e => handleTimeWheelBtnChangeHours(hourString, e),
71
69
  tabIndex: tabIndex,
72
70
  role: "spinbutton",
73
71
  "aria-valuemax": "12",
74
- "aria-valuemin": "01",
75
- "aria-valuenow": hourString
76
- }, btnProps)));
72
+ "aria-valuemin": "1",
73
+ "aria-valuenow": currHourNum,
74
+ "aria-valuetext": "".concat(hourString, " hours")
75
+ }, btnProps), {}, {
76
+ children: hourString
77
+ })));
77
78
  }), /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
78
79
  "aria-label": "add one hour",
79
- buttonType: "text",
80
- leftIcon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})),
80
+ buttonType: "raw",
81
81
  size: "m",
82
82
  onClick: handleNextHour,
83
83
  onKeyDown: handleNextHourBtnOnKeyDown,
84
84
  innerRef: nextHourBtnRef,
85
- tabIndex: -1
86
- })));
85
+ tabIndex: -1,
86
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR
87
+ }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})))));
87
88
  };
88
89
 
89
90
  export { HoursList };
@@ -1,7 +1,6 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import { useContext } from 'react';
3
- import ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';
4
- import ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';
3
+ import { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';
5
4
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
6
5
  import { StyledWheelList, StyledWheelListItem, StyledWheelChangeTimeBtn, StyledTimeBtn } from './Styleds.js';
7
6
  import { TimeWheelContext } from './TimeWheelContext.js';
@@ -23,34 +22,32 @@ const MeridiemList = () => {
23
22
  } = useContext(TimeWheelContext);
24
23
  const isAmCurrent = !meridiem || meridiem === 'AM';
25
24
  const isPmCurrent = meridiem === 'PM';
26
- const hourMinuteString = `${hours || '01'}:${minutes || '00'}`;
27
- const amTimeString = `${hourMinuteString} AM`;
28
- const pmTimeString = `${hourMinuteString} PM`;
25
+ const hourMinuteString = "".concat(hours || '01', ":").concat(minutes || '00');
26
+ const amTimeString = "".concat(hourMinuteString, " AM");
27
+ const pmTimeString = "".concat(hourMinuteString, " PM");
29
28
  const isDisabledAm = getIsDisabledTime(amTimeString);
30
29
  const isDisabledPm = getIsDisabledTime(pmTimeString);
31
30
  return /*#__PURE__*/_jsx(StyledWheelList, {}, void 0, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
32
31
  "aria-label": "set am meridiem",
33
32
  "aria-disabled": isDisabledAm,
34
33
  isDisabled: isDisabledAm,
35
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.MERIDIEM,
36
- buttonType: "text",
37
- leftIcon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})),
34
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM,
35
+ buttonType: "raw",
38
36
  size: "m",
39
37
  onClick: e => handleTimeWheelBtnChangeMeridiem('AM', e),
40
38
  onKeyDown: handlePrevMeridiemBtnOnKeyDown,
41
39
  innerRef: prevMeridiemBtnRef,
42
40
  tabIndex: -1
43
- })), meridiem === 'AM' || meridiem === '' ? _StyledWheelListItem || (_StyledWheelListItem = /*#__PURE__*/_jsx(StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx(StyledWheelListItem, {
41
+ }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})))), meridiem === 'AM' || meridiem === '' ? _StyledWheelListItem || (_StyledWheelListItem = /*#__PURE__*/_jsx(StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx(StyledWheelListItem, {
44
42
  isCurrentListItem: isAmCurrent
45
43
  }, void 0, /*#__PURE__*/_jsx(StyledTimeBtn, {
46
44
  isCurrentListItem: isAmCurrent,
47
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isAmCurrent ? 'SELECTED_MERIDIEM' : 'MERIDIEM'],
45
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isAmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM'],
48
46
  selected: meridiem === 'AM',
49
- "aria-label": `AM ${isAmCurrent ? 'selected' : ''}`,
47
+ "aria-label": "AM ".concat(isAmCurrent ? 'selected' : ''),
50
48
  "aria-disabled": isDisabledAm,
51
49
  isDisabled: isDisabledAm,
52
- buttonType: "text",
53
- labelText: "AM",
50
+ buttonType: "raw",
54
51
  size: "m",
55
52
  onClick: e => handleTimeWheelBtnChangeMeridiem('AM', e),
56
53
  onKeyDown: isAmCurrent ? handleCurrMeridiemOnKeyDown : undefined,
@@ -60,17 +57,16 @@ const MeridiemList = () => {
60
57
  "aria-valuemax": "1",
61
58
  "aria-valuemin": "0",
62
59
  "aria-valuenow": isPmCurrent ? '1' : '0',
63
- "aria-valuetext": isPmCurrent ? 'PM' : 'AM'
64
- })), /*#__PURE__*/_jsx(StyledWheelListItem, {
60
+ "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem'
61
+ }, void 0, "AM")), /*#__PURE__*/_jsx(StyledWheelListItem, {
65
62
  isCurrentListItem: isPmCurrent
66
63
  }, void 0, /*#__PURE__*/_jsx(StyledTimeBtn, {
67
64
  isCurrentListItem: isPmCurrent,
68
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'SELECTED_MERIDIEM' : 'MERIDIEM'],
69
- "aria-label": `PM ${isPmCurrent ? 'selected' : ''}`,
65
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isPmCurrent ? 'CURRENT_MERIDIEM' : 'MERIDIEM'],
66
+ "aria-label": "PM ".concat(isPmCurrent ? 'selected' : ''),
70
67
  "aria-disabled": isDisabledPm,
71
68
  isDisabled: isDisabledPm,
72
- buttonType: "text",
73
- labelText: "PM",
69
+ buttonType: "raw",
74
70
  size: "m",
75
71
  onClick: e => handleTimeWheelBtnChangeMeridiem('PM', e),
76
72
  onKeyDown: isPmCurrent ? handleCurrMeridiemOnKeyDown : undefined,
@@ -80,20 +76,19 @@ const MeridiemList = () => {
80
76
  "aria-valuemax": "1",
81
77
  "aria-valuemin": "0",
82
78
  "aria-valuenow": isPmCurrent ? '1' : '0',
83
- "aria-valuetext": isPmCurrent ? 'PM' : 'AM'
84
- })), meridiem === 'PM' ? _StyledWheelListItem2 || (_StyledWheelListItem2 = /*#__PURE__*/_jsx(StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
79
+ "aria-valuetext": isAmCurrent ? 'ante meridiem' : 'post meridiem'
80
+ }, void 0, "PM")), meridiem === 'PM' ? _StyledWheelListItem2 || (_StyledWheelListItem2 = /*#__PURE__*/_jsx(StyledWheelListItem, {})) : null, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
85
81
  "aria-label": "set pm meridiem",
86
82
  "aria-disabled": isDisabledPm,
87
83
  isDisabled: isDisabledPm,
88
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.MERIDIEM,
89
- buttonType: "text",
90
- leftIcon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})),
84
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM,
85
+ buttonType: "raw",
91
86
  size: "m",
92
87
  onClick: e => handleTimeWheelBtnChangeMeridiem('PM', e),
93
88
  onKeyDown: handleNextMeridiemBtnOnKeyDown,
94
89
  innerRef: nextMeridiemBtnRef,
95
90
  tabIndex: -1
96
- })));
91
+ }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})))));
97
92
  };
98
93
 
99
94
  export { MeridiemList, MeridiemList as default };
@@ -1,8 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
3
  import { useContext } from 'react';
4
- import ChevronSmallUp from '@elliemae/ds-icons/ChevronSmallUp';
5
- import ChevronSmallDown from '@elliemae/ds-icons/ChevronSmallDown';
4
+ import { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';
6
5
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
7
6
  import { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers.js';
8
7
  import { StyledWheelList, StyledWheelListItem, StyledWheelChangeTimeBtn, StyledTimeBtn } from './Styleds.js';
@@ -34,17 +33,17 @@ const MinutesList = () => {
34
33
  } = useContext(TimeWheelContext);
35
34
  return /*#__PURE__*/_jsx(StyledWheelList, {}, void 0, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
36
35
  "aria-label": "subtract one minute",
37
- buttonType: "text",
38
- leftIcon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})),
36
+ buttonType: "raw",
39
37
  size: "m",
40
38
  onClick: handlePrevMinute,
41
39
  onKeyDown: handlePrevMinuteBtnOnKeyDown,
42
40
  innerRef: prevMinutesBtnRef,
43
- tabIndex: -1
44
- })), visibleMinutes.map(minutesString => {
45
- const key = `timewheel-minutes-${minutesString}`;
41
+ tabIndex: -1,
42
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE
43
+ }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})))), visibleMinutes.map(minutesString => {
44
+ const key = "timewheel-minutes-".concat(minutesString);
46
45
  if (!minutesString) return /*#__PURE__*/_jsx(StyledWheelListItem, {}, key);
47
- const currMinutesTimeString = `${hours || '01'}:${minutesString} ${meridiem || 'AM'}`;
46
+ const currMinutesTimeString = "".concat(hours || '01', ":").concat(minutesString, " ").concat(meridiem || 'AM');
48
47
  const isEmptyCurrValueCurrentListItem = !minutes && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum;
49
48
  const isCurrentListItem = isEmptyCurrValueCurrentListItem || minutes === minutesString;
50
49
  const isDisabled = getIsDisabledTime(currMinutesTimeString);
@@ -56,33 +55,35 @@ const MinutesList = () => {
56
55
  return /*#__PURE__*/_jsx(StyledWheelListItem, {
57
56
  isCurrentListItem: isCurrentListItem,
58
57
  selected: convertToPositiveNumberIfPossible(minutesString) === currMinuteNum
59
- }, key, /*#__PURE__*/jsx(StyledTimeBtn, _objectSpread({
58
+ }, key, /*#__PURE__*/jsx(StyledTimeBtn, _objectSpread(_objectSpread({
60
59
  isCurrentListItem: isCurrentListItem,
61
- "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'SELECTED_MINUTE' : 'MINUTE'],
60
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_MINUTE' : 'MINUTE'],
62
61
  selected: minutes.length === 2 && convertToPositiveNumberIfPossible(minutesString) === currMinuteNum,
63
- "aria-label": `${minutesString} minutes`,
62
+ "aria-label": "".concat(minutesString, " minutes"),
64
63
  "aria-disabled": isDisabled,
65
64
  isDisabled: isDisabled,
66
- buttonType: "text",
67
- labelText: minutesString,
65
+ buttonType: "raw",
68
66
  size: "m",
69
67
  onClick: e => handleTimeWheelBtnChangeMinutes(minutesString, e),
70
68
  tabIndex: tabIndex,
71
69
  role: "spinbutton",
72
- "aria-valuemax": "60",
73
- "aria-valuemin": "00",
74
- "aria-valuenow": minutesString
75
- }, btnProps)));
70
+ "aria-valuemax": "59",
71
+ "aria-valuemin": "0",
72
+ "aria-valuenow": currMinuteNum,
73
+ "aria-valuetext": "".concat(minutesString, " minutes")
74
+ }, btnProps), {}, {
75
+ children: minutesString
76
+ })));
76
77
  }), /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
77
78
  "aria-label": "add one minute",
78
- buttonType: "text",
79
- leftIcon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})),
79
+ buttonType: "raw",
80
80
  size: "m",
81
81
  onClick: handleNextMinute,
82
82
  onKeyDown: handleNextMinuteBtnOnKeyDown,
83
83
  innerRef: nextMinutesBtnRef,
84
+ "data-testid": ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE,
84
85
  tabIndex: -1
85
- })));
86
+ }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})))));
86
87
  };
87
88
 
88
89
  export { MinutesList, MinutesList as default };
@@ -31,16 +31,15 @@ const SecondsList = () => {
31
31
  } = useContext(TimeWheelContext);
32
32
  return /*#__PURE__*/_jsx(StyledWheelList, {}, void 0, /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
33
33
  "aria-label": "subtract one minute",
34
- buttonType: "text",
35
- leftIcon: _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})),
34
+ buttonType: "raw",
36
35
  size: "m",
37
36
  variant: BUTTON_VARIANT.DEFAULT,
38
37
  onClick: handlePrevSecond,
39
38
  onKeyDown: handlePrevSecondBtnOnKeyDown,
40
39
  innerRef: prevSecondsBtnRef,
41
40
  tabIndex: -1
42
- })), visibleSeconds.map(secondsString => {
43
- const key = `timewheel-seconds-${secondsString}`;
41
+ }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx(ChevronSmallUp, {})))), visibleSeconds.map(secondsString => {
42
+ const key = "timewheel-seconds-".concat(secondsString);
44
43
  if (!secondsString) return /*#__PURE__*/_jsx(StyledWheelListItem, {}, key);
45
44
  const isEmptyCurrValueCurrentListItem = !seconds && convertToPositiveNumberIfPossible(secondsString) === currSecondNum;
46
45
  const isCurrentListItem = isEmptyCurrValueCurrentListItem || seconds === secondsString;
@@ -51,26 +50,26 @@ const SecondsList = () => {
51
50
  };
52
51
  return /*#__PURE__*/_jsx(StyledWheelListItem, {
53
52
  isCurrentListItem: isCurrentListItem
54
- }, key, /*#__PURE__*/jsx(DSButton, _objectSpread({
55
- "aria-label": `set ${secondsString} seconds`,
56
- buttonType: "text",
57
- labelText: secondsString,
53
+ }, key, /*#__PURE__*/jsx(DSButton, _objectSpread(_objectSpread({
54
+ "aria-label": "set ".concat(secondsString, " seconds"),
55
+ buttonType: "raw",
58
56
  size: "l",
59
57
  variant: BUTTON_VARIANT.DEFAULT,
60
58
  onClick: e => handleTimeWheelBtnChangeSeconds(secondsString, e),
61
59
  tabIndex: tabIndex
62
- }, btnProps)));
60
+ }, btnProps), {}, {
61
+ children: secondsString
62
+ })));
63
63
  }), /*#__PURE__*/_jsx(StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx(StyledWheelChangeTimeBtn, {
64
64
  "aria-label": "add one minute",
65
- buttonType: "text",
66
- leftIcon: _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})),
65
+ buttonType: "raw",
67
66
  size: "m",
68
67
  variant: BUTTON_VARIANT.DEFAULT,
69
68
  onClick: handleNextSecond,
70
69
  onKeyDown: handleNextSecondBtnOnKeyDown,
71
70
  innerRef: nextSecondsBtnRef,
72
71
  tabIndex: -1
73
- })));
72
+ }, void 0, _ChevronSmallDown || (_ChevronSmallDown = /*#__PURE__*/_jsx(ChevronSmallDown, {})))));
74
73
  };
75
74
 
76
75
  export { SecondsList, SecondsList as default };