@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
@@ -41,7 +41,8 @@ const DateInputs = () => {
41
41
  const {
42
42
  monthInputRef,
43
43
  dayInputRef,
44
- yearInputRef
44
+ yearInputRef,
45
+ ariaCurrentValueForInputs
45
46
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
46
47
  return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
47
48
  cols: [config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.largeInputWidth]
@@ -53,7 +54,8 @@ const DateInputs = () => {
53
54
  value: month,
54
55
  contextRef: monthInputRef,
55
56
  autoFocusMonthInput: autoFocusMonthInput,
56
- placeholder: "MM"
57
+ placeholder: "MM",
58
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs
57
59
  })), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
58
60
  alignItems: "center"
59
61
  }, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](DDInput.DDInput, {
@@ -63,7 +65,8 @@ const DateInputs = () => {
63
65
  onKeyDown: onDayKeyDown,
64
66
  value: day,
65
67
  contextRef: dayInputRef,
66
- placeholder: "DD"
68
+ placeholder: "DD",
69
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs
67
70
  })), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
68
71
  alignItems: "center"
69
72
  }, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](YYYYInput.YYYYInput, {
@@ -73,7 +76,8 @@ const DateInputs = () => {
73
76
  onKeyDown: onYearKeyDown,
74
77
  value: year,
75
78
  contextRef: yearInputRef,
76
- placeholder: "YYYY"
79
+ placeholder: "YYYY",
80
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs
77
81
  })));
78
82
  };
79
83
 
@@ -27,7 +27,8 @@ const MMInput = /*#__PURE__*/React__default["default"].memo(({
27
27
  value,
28
28
  placeholder,
29
29
  contextRef,
30
- autoFocusMonthInput
30
+ autoFocusMonthInput,
31
+ ariaCurrentValueForInputs
31
32
  }) => {
32
33
  const validateOnChange = React.useCallback(e => {
33
34
  var _e$target;
@@ -48,7 +49,7 @@ const MMInput = /*#__PURE__*/React__default["default"].memo(({
48
49
  value: value,
49
50
  ref: contextRef,
50
51
  placeholder: placeholder,
51
- "aria-label": "month input field",
52
+ "aria-label": "month input field, ".concat(ariaCurrentValueForInputs),
52
53
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
53
54
  });
54
55
  });
@@ -26,7 +26,8 @@ const YYYYInput = /*#__PURE__*/React__default["default"].memo(({
26
26
  onKeyDown,
27
27
  value,
28
28
  placeholder,
29
- contextRef
29
+ contextRef,
30
+ ariaCurrentValueForInputs
30
31
  }) => {
31
32
  const validateOnChange = React.useCallback(e => {
32
33
  var _e$target;
@@ -46,7 +47,7 @@ const YYYYInput = /*#__PURE__*/React__default["default"].memo(({
46
47
  value: value,
47
48
  ref: contextRef,
48
49
  placeholder: placeholder,
49
- "aria-label": "year input field",
50
+ "aria-label": "year input field, ".concat(ariaCurrentValueForInputs),
50
51
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
51
52
  });
52
53
  });
@@ -15,30 +15,18 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
15
15
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
16
 
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
- // our source of truth is either the date props or dateTime props
19
- // based on wheter it's a dateTime picker
20
- // or a date picker (it's date picker when hideTime is true)
21
-
22
- const useGetDestructuredDateValues = ({
23
- date,
24
- dateTime,
25
- hideTime
26
- }) => {
27
- const dateStringFromProps = React.useMemo(() => hideTime ? date : stringHelpers.dateTimeToDate(dateTime), [date, dateTime, hideTime]);
28
- const deconstructedValues = React.useMemo(() => stringHelpers.deconstructValuesFromDateString(dateStringFromProps), [dateStringFromProps]);
29
- return deconstructedValues;
30
- };
31
18
  const useDateInputs = () => {
32
19
  const {
33
20
  props: {
34
- date,
35
- dateTime,
36
21
  onMonthChange: appOnMonthChange,
37
22
  onDayChange: appOnDayChange,
38
23
  onYearChange: appOnYearChange,
39
24
  getIsDisabledDay,
40
25
  getIsOutOfRangeDay
41
26
  },
27
+ month,
28
+ day,
29
+ year,
42
30
  hideTime,
43
31
  monthInputRef,
44
32
  dayInputRef,
@@ -54,15 +42,6 @@ const useDateInputs = () => {
54
42
  withAnyRightController,
55
43
  autoFocusMonthInput
56
44
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
57
- const {
58
- month,
59
- day,
60
- year
61
- } = useGetDestructuredDateValues({
62
- date,
63
- dateTime,
64
- hideTime
65
- });
66
45
  const onHomeKeyDown = React.useCallback(() => {
67
46
  var _monthInputRef$curren, _monthInputRef$curren2;
68
47
 
@@ -121,7 +100,7 @@ const useDateInputs = () => {
121
100
  const monthInteger = Number.isNaN(monthStringConvertedToInteger) ? 0 : monthStringConvertedToInteger;
122
101
  let newMonth;
123
102
  if (key === 'ArrowUp') newMonth = monthInteger + 1 <= 12 ? monthInteger + 1 : monthInteger;else newMonth = monthInteger - 1 > 0 ? monthInteger - 1 : 1;
124
- newMonth = stringHelpers.prependStringWithPlaceHolders(`${newMonth}`, 2);
103
+ newMonth = stringHelpers.prependStringWithPlaceHolders("".concat(newMonth), 2);
125
104
  handleChangeMonth(newMonth, e);
126
105
  }
127
106
  }, [onHomeKeyDown, onEndKeyDown, month, handleChangeMonth]);
@@ -180,7 +159,7 @@ const useDateInputs = () => {
180
159
  const dayInteger = Number.isNaN(dayStringConvertedToInteger) ? 0 : dayStringConvertedToInteger;
181
160
  let newDay;
182
161
  if (key === 'ArrowUp') newDay = dayInteger + 1 <= 31 ? dayInteger + 1 : dayInteger;else newDay = dayInteger - 1 > 0 ? dayInteger - 1 : 1;
183
- newDay = stringHelpers.prependStringWithPlaceHolders(`${newDay}`, 2);
162
+ newDay = stringHelpers.prependStringWithPlaceHolders("".concat(newDay), 2);
184
163
  handleChangeDay(newDay, e);
185
164
  }
186
165
  }, [onHomeKeyDown, onEndKeyDown, handleChangeDay, day]);
@@ -245,7 +224,7 @@ const useDateInputs = () => {
245
224
  const yearInteger = Number.isNaN(yearStringConvertedToInteger) ? 0 : yearStringConvertedToInteger;
246
225
  let newYear;
247
226
  if (key === 'ArrowUp') newYear = yearInteger + 1 <= 9999 ? yearInteger + 1 : yearInteger;else newYear = yearInteger - 1 > 0 ? yearInteger - 1 : 1;
248
- newYear = stringHelpers.prependStringWithPlaceHolders(`${newYear}`, 4);
227
+ newYear = stringHelpers.prependStringWithPlaceHolders("".concat(newYear), 4);
249
228
  handleChangeYear(newYear, e);
250
229
  }
251
230
  }, [onHomeKeyDown, onEndKeyDown, handleChangeYear, year]);
@@ -278,4 +257,3 @@ const useDateInputs = () => {
278
257
  };
279
258
 
280
259
  exports.useDateInputs = useDateInputs;
281
- exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
@@ -7,7 +7,6 @@ var React = require('react');
7
7
  var CalendarMonthDays = require('./CalendarMonthDays.js');
8
8
  var CalendarWeekDays = require('./CalendarWeekDays.js');
9
9
  var Styleds = require('./Styleds.js');
10
- var jsxRuntime = require('react/jsx-runtime');
11
10
 
12
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
12
 
@@ -15,8 +14,12 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
15
 
17
16
  var _CalendarWeekDays, _StyledBody;
18
- const CalendarBody = /*#__PURE__*/React__default["default"].memo(() => /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
19
- children: [_CalendarWeekDays || (_CalendarWeekDays = /*#__PURE__*/_jsx__default["default"](CalendarWeekDays.CalendarWeekDays, {})), _StyledBody || (_StyledBody = /*#__PURE__*/_jsx__default["default"](Styleds.StyledBody, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarMonthDays.CalendarMonthDays, {})))]
20
- }));
17
+ const CalendarBody = /*#__PURE__*/React__default["default"].memo(({
18
+ weekRowsNum
19
+ }) => /*#__PURE__*/_jsx__default["default"]("span", {
20
+ role: "grid",
21
+ "aria-colcount": 7,
22
+ "aria-rowcount": weekRowsNum
23
+ }, void 0, _CalendarWeekDays || (_CalendarWeekDays = /*#__PURE__*/_jsx__default["default"](CalendarWeekDays.CalendarWeekDays, {})), _StyledBody || (_StyledBody = /*#__PURE__*/_jsx__default["default"](Styleds.StyledBody, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarMonthDays.CalendarMonthDays, {})))));
21
24
 
22
25
  exports.CalendarBody = CalendarBody;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
+ var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
7
8
  var CalendarBody = require('./CalendarBody.js');
8
9
  var CalendarHead = require('./CalendarHead.js');
9
10
  var CalendarFooter = require('./CalendarFooter.js');
@@ -14,8 +15,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
15
 
15
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
17
 
17
- var _StyledCalendarWrappe;
18
- // <StyledSpacingResetter className={className}>
18
+ var _CalendarHead, _CalendarFooter;
19
+ // <StyledShadowWrapper className={className}>
19
20
  // is required for styled-components, without this we can't styled(CalendarContent)...
20
21
  // https://stackoverflow.com/questions/52542817/styled-components-not-applying-style-to-custom-functional-react-component
21
22
 
@@ -23,12 +24,16 @@ const CalendarContent = ({
23
24
  className = ''
24
25
  }) => {
25
26
  const {
26
- isControllerOnly
27
+ isControllerOnly,
28
+ daysMatrixByWeekday
27
29
  } = React.useContext(CalendarContext.CalendarContext);
28
- return /*#__PURE__*/_jsx__default["default"](Styleds.StyledSpacingResetter, {
30
+ return /*#__PURE__*/_jsx__default["default"](Styleds.StyledShadowWrapper, {
29
31
  className: className,
30
- isControllerOnly: isControllerOnly
31
- }, void 0, _StyledCalendarWrappe || (_StyledCalendarWrappe = /*#__PURE__*/_jsx__default["default"](Styleds.StyledCalendarWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarHead.CalendarHead, {}), /*#__PURE__*/_jsx__default["default"](CalendarBody.CalendarBody, {}), /*#__PURE__*/_jsx__default["default"](CalendarFooter.CalendarFooter, {}))));
32
+ isControllerOnly: isControllerOnly,
33
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR
34
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledCalendarWrapper, {}, void 0, _CalendarHead || (_CalendarHead = /*#__PURE__*/_jsx__default["default"](CalendarHead.CalendarHead, {})), /*#__PURE__*/_jsx__default["default"](CalendarBody.CalendarBody, {
35
+ weekRowsNum: daysMatrixByWeekday.length
36
+ }), _CalendarFooter || (_CalendarFooter = /*#__PURE__*/_jsx__default["default"](CalendarFooter.CalendarFooter, {}))));
32
37
  };
33
38
 
34
39
  exports.CalendarContent = CalendarContent;
@@ -8,6 +8,7 @@ var React = require('react');
8
8
  const noop = () => {};
9
9
 
10
10
  const defaultCalendarContext = {
11
+ ariaCurrentValueForInputs: '',
11
12
  showCalendar: false,
12
13
  setShowCalendar: noop,
13
14
  closeCalendar: noop,
@@ -25,6 +26,9 @@ const defaultCalendarContext = {
25
26
  currentMonth: undefined,
26
27
  currentYear: undefined,
27
28
  daysArray: [],
29
+ invisibleFirstDay: undefined,
30
+ daysMatrixByWeekday: [],
31
+ invisibleLastDay: undefined,
28
32
  focusedDay: undefined,
29
33
  tryToFocusCurrentlyDataIsFocusedDay: noop,
30
34
  resetFocusedDayToStartDate: noop,
@@ -14,13 +14,32 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
 
16
16
  const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(({
17
- daysArray,
17
+ invisibleFirstDay,
18
+ daysMatrixByWeekday,
19
+ invisibleLastDay,
18
20
  innerRef
19
- }) => /*#__PURE__*/jsxRuntime.jsx("div", {
21
+ }) => /*#__PURE__*/jsxRuntime.jsxs("div", {
20
22
  ref: innerRef,
21
- children: /*#__PURE__*/_jsx__default["default"](Styleds.StyledMonthDaysUList, {}, void 0, daysArray.map(metaDay => /*#__PURE__*/_jsx__default["default"](Day.Day, {
22
- metaDay: metaDay
23
- }, `ds-calendar-${metaDay.day.toString()}`)))
23
+ role: "rowgroup",
24
+ children: [/*#__PURE__*/_jsx__default["default"](Day.Day, {
25
+ metaDay: invisibleFirstDay,
26
+ isInvisible: true
27
+ }, "ds-calendar-".concat(invisibleFirstDay.day.toString())), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
28
+ role: "row",
29
+ "aria-rowindex": i + 1,
30
+ cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
31
+ rows: ['28px'],
32
+ py: "xxxs",
33
+ px: "2px",
34
+ justifyContent: "space-between",
35
+ alignItems: "center"
36
+ }, "ds-calendar-week-".concat(week[0].day.toString(), "-").concat(week[6].day.toString()), week.map((metaDay, z) => /*#__PURE__*/_jsx__default["default"](Day.Day, {
37
+ metaDay: metaDay,
38
+ colIndex: z + 1
39
+ }, "ds-calendar-".concat(metaDay.day.toString()))))), /*#__PURE__*/_jsx__default["default"](Day.Day, {
40
+ metaDay: invisibleLastDay,
41
+ isInvisible: true
42
+ }, "ds-calendar-".concat(invisibleLastDay.day.toString()))]
24
43
  }));
25
44
 
26
45
  exports.CalendarDaysList = CalendarDaysList;
@@ -4,10 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
+ var dsButton = require('@elliemae/ds-button');
7
8
  var ChevronDoubleLeft = require('@elliemae/ds-icons/ChevronDoubleLeft');
8
9
  var ChevronLeft = require('@elliemae/ds-icons/ChevronLeft');
9
10
  var ChevronRight = require('@elliemae/ds-icons/ChevronRight');
10
11
  var ChevronDoubleRight = require('@elliemae/ds-icons/ChevronDoubleRight');
12
+ var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
11
13
  var dateHelpers = require('../../../utils/dateHelpers.js');
12
14
  var Styleds = require('./Styleds.js');
13
15
  var CalendarContext = require('./CalendarContext.js');
@@ -27,8 +29,8 @@ const useGetFormattedCurrentDate = () => {
27
29
  currentMonth,
28
30
  currentYear
29
31
  } = React.useContext(CalendarContext.CalendarContext);
30
- const monthString = currentMonth >= 0 && currentMonth <= 11 ? `${dateHelpers.getMonthNameByMonthNumber(currentMonth)} ` : '';
31
- return React.useMemo(() => `${monthString}${currentYear}`, [monthString, currentYear]);
32
+ const monthString = currentMonth >= 0 && currentMonth <= 11 ? "".concat(dateHelpers.getMonthNameByMonthNumber(currentMonth), " ") : '';
33
+ return React.useMemo(() => "".concat(monthString).concat(currentYear), [monthString, currentYear]);
32
34
  };
33
35
 
34
36
  const CalendarHead = () => {
@@ -55,56 +57,56 @@ const CalendarHead = () => {
55
57
  } = React.useContext(CalendarContext.CalendarContext);
56
58
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
57
59
  "aria-label": "previous year",
58
- buttonType: "text",
59
- leftIcon: _ChevronDoubleLeft || (_ChevronDoubleLeft = /*#__PURE__*/_jsx__default["default"](ChevronDoubleLeft__default["default"], {
60
- height: 14,
61
- width: 14,
62
- fill: "#25292f"
63
- })),
64
- size: "m",
60
+ buttonType: "raw",
61
+ size: dsButton.BUTTON_SIZES.M,
65
62
  onClick: handlePrevYear,
66
63
  innerRef: prevYearBtnRef,
67
64
  onKeyDown: handlePrevYearKeyDown,
68
65
  onFocus: onPrevYearFocus,
69
- tabIndex: isControllerOnly ? -1 : 1
70
- }), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
66
+ tabIndex: isControllerOnly ? -1 : 1,
67
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.PREV_YEAR
68
+ }, void 0, _ChevronDoubleLeft || (_ChevronDoubleLeft = /*#__PURE__*/_jsx__default["default"](ChevronDoubleLeft__default["default"], {
69
+ height: 14,
70
+ width: 14,
71
+ fill: "#25292f"
72
+ }))), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
71
73
  autoFocus: autoFocusPrevMonthArrow,
72
74
  "aria-label": "previous month",
73
- buttonType: "text",
74
- leftIcon: _ChevronLeft || (_ChevronLeft = /*#__PURE__*/_jsx__default["default"](ChevronLeft__default["default"], {
75
- fill: "#25292f"
76
- })),
77
- size: "m",
75
+ buttonType: "raw",
76
+ size: dsButton.BUTTON_SIZES.M,
78
77
  onClick: handlePrevMonth,
79
78
  innerRef: prevMonthBtnRef,
80
79
  onKeyDown: handlePrevMonthKeyDown,
81
- onFocus: onPrevMonthFocus // this is a tabstop for when the calendar is open
80
+ onFocus: onPrevMonthFocus,
81
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.PREV_MONTH // this is a tabstop for when the calendar is open
82
82
 
83
- }), /*#__PURE__*/_jsx__default["default"]("h3", {}, void 0, currentFormatedDate), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
83
+ }, void 0, _ChevronLeft || (_ChevronLeft = /*#__PURE__*/_jsx__default["default"](ChevronLeft__default["default"], {
84
+ fill: "#25292f"
85
+ }))), /*#__PURE__*/_jsx__default["default"]("h3", {}, void 0, currentFormatedDate), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
84
86
  "aria-label": "next month",
85
- buttonType: "text",
86
- leftIcon: _ChevronRight || (_ChevronRight = /*#__PURE__*/_jsx__default["default"](ChevronRight__default["default"], {
87
- fill: "#25292f"
88
- })),
89
- size: "m",
87
+ buttonType: "raw",
88
+ size: dsButton.BUTTON_SIZES.M,
90
89
  onClick: handleNextMonth,
91
90
  innerRef: nextMonthBtnRef,
92
91
  onKeyDown: handleNextMonthKeyDown,
93
- onFocus: onNextMonthFocus
94
- }), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
92
+ onFocus: onNextMonthFocus,
93
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.NEXT_MONTH
94
+ }, void 0, _ChevronRight || (_ChevronRight = /*#__PURE__*/_jsx__default["default"](ChevronRight__default["default"], {
95
+ fill: "#25292f"
96
+ }))), /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
95
97
  "aria-label": "next year",
96
- buttonType: "text",
97
- leftIcon: _ChevronDoubleRight || (_ChevronDoubleRight = /*#__PURE__*/_jsx__default["default"](ChevronDoubleRight__default["default"], {
98
- height: 14,
99
- width: 14,
100
- fill: "#25292f"
101
- })),
102
- size: "m",
98
+ buttonType: "raw",
99
+ size: dsButton.BUTTON_SIZES.M,
103
100
  onClick: handleNextYear,
104
101
  innerRef: nextYearBtnRef,
105
102
  onKeyDown: handleNextYearKeyDown,
106
- onFocus: onNextYearFocus
107
- }));
103
+ onFocus: onNextYearFocus,
104
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.NEXT_YEAR
105
+ }, void 0, _ChevronDoubleRight || (_ChevronDoubleRight = /*#__PURE__*/_jsx__default["default"](ChevronDoubleRight__default["default"], {
106
+ height: 14,
107
+ width: 14,
108
+ fill: "#25292f"
109
+ }))));
108
110
  };
109
111
 
110
112
  exports.CalendarHead = CalendarHead;
@@ -4,18 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
- var DSButton = require('@elliemae/ds-basic/Button');
7
+ var dsIcon = require('@elliemae/ds-icon');
8
+ var dsButton = require('@elliemae/ds-button');
8
9
  var DatePicker = require('@elliemae/ds-icons/DatePicker');
9
10
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
10
11
  var CalendarContext = require('./CalendarContext.js');
12
+ var Styleds = require('./Styleds.js');
11
13
 
12
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
15
 
14
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
16
17
  var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
17
18
 
18
- var _DatePicker;
19
19
  // this is particularly usefull due to how usePopper needs to check the references
20
20
  // since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
21
21
 
@@ -23,19 +23,21 @@ const CalendarIconTrigger = () => {
23
23
  const {
24
24
  handleToggleCalendar,
25
25
  handleSetTriggerRef,
26
- handlePickerIconKeyDown
26
+ handlePickerIconKeyDown,
27
+ ariaCurrentValueForInputs
27
28
  } = React.useContext(CalendarContext.CalendarContext);
28
- return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
29
- "aria-label": "date picker context menu trigger",
30
- buttonType: "text",
31
- leftIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](DatePicker__default["default"], {})),
32
- size: "m",
33
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
29
+ return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](Styleds.StyledIconTriggerButton, {
30
+ "aria-label": "date picker context menu trigger, ".concat(ariaCurrentValueForInputs),
31
+ buttonType: "icon",
32
+ size: dsButton.BUTTON_SIZES.M,
33
+ variant: dsButton.BUTTON_VARIANT.DEFAULT,
34
34
  innerRef: handleSetTriggerRef,
35
35
  onClick: handleToggleCalendar,
36
36
  onKeyDown: handlePickerIconKeyDown,
37
37
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR
38
- }), [handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendar]);
38
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DatePicker__default["default"], {
39
+ color: dsIcon.DSIconColors.PRIMARY
40
+ })), [handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendar, ariaCurrentValueForInputs]);
39
41
  };
40
42
 
41
43
  exports.CalendarIconTrigger = CalendarIconTrigger;
@@ -13,11 +13,15 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
13
13
 
14
14
  const CalendarMonthDays = () => {
15
15
  const {
16
- daysArray,
16
+ invisibleFirstDay,
17
+ daysMatrixByWeekday,
18
+ invisibleLastDay,
17
19
  calendarDaysWrapperRef
18
20
  } = React.useContext(CalendarContext.CalendarContext);
19
21
  return /*#__PURE__*/_jsx__default["default"](CalendarDaysList.CalendarDaysList, {
20
- daysArray: daysArray,
22
+ invisibleFirstDay: invisibleFirstDay,
23
+ daysMatrixByWeekday: daysMatrixByWeekday,
24
+ invisibleLastDay: invisibleLastDay,
21
25
  innerRef: calendarDaysWrapperRef
22
26
  });
23
27
  };
@@ -11,7 +11,39 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
14
- var _StyledWeekDaysUList;
15
- const CalendarWeekDays = /*#__PURE__*/React__default["default"].memo(() => _StyledWeekDaysUList || (_StyledWeekDaysUList = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysUList, {}, void 0, /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "sun"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "mon"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "tue"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "wed"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "thu"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "fri"), /*#__PURE__*/_jsx__default["default"]("li", {}, void 0, "sat"))));
14
+ var _StyledWeekDaysHeader, _StyledWeekDaysHeader2, _StyledWeekDaysHeader3, _StyledWeekDaysHeader4, _StyledWeekDaysHeader5, _StyledWeekDaysHeader6, _StyledWeekDaysHeader7;
15
+ const CalendarWeekDays = /*#__PURE__*/React__default["default"].memo(() => /*#__PURE__*/_jsx__default["default"]("span", {
16
+ role: "rowgroup"
17
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
18
+ role: "row",
19
+ cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
20
+ rows: ['22px'],
21
+ py: "xxxs",
22
+ px: "6px",
23
+ justifyContent: "space-between",
24
+ alignItems: "center",
25
+ isHeader: true
26
+ }, void 0, _StyledWeekDaysHeader || (_StyledWeekDaysHeader = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
27
+ role: "columnheader",
28
+ "aria-colindex": 1
29
+ }, void 0, "sun")), _StyledWeekDaysHeader2 || (_StyledWeekDaysHeader2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
30
+ role: "columnheader",
31
+ "aria-colindex": 2
32
+ }, void 0, "mon")), _StyledWeekDaysHeader3 || (_StyledWeekDaysHeader3 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
33
+ role: "columnheader",
34
+ "aria-colindex": 3
35
+ }, void 0, "tue")), _StyledWeekDaysHeader4 || (_StyledWeekDaysHeader4 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
36
+ role: "columnheader",
37
+ "aria-colindex": 4
38
+ }, void 0, "wed")), _StyledWeekDaysHeader5 || (_StyledWeekDaysHeader5 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
39
+ role: "columnheader",
40
+ "aria-colindex": 5
41
+ }, void 0, "thu")), _StyledWeekDaysHeader6 || (_StyledWeekDaysHeader6 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
42
+ role: "columnheader",
43
+ "aria-colindex": 6
44
+ }, void 0, "fri")), _StyledWeekDaysHeader7 || (_StyledWeekDaysHeader7 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysHeaderItem, {
45
+ role: "columnheader",
46
+ "aria-colindex": 7
47
+ }, void 0, "sat")))));
16
48
 
17
49
  exports.CalendarWeekDays = CalendarWeekDays;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
7
  var React = require('react');
8
+ var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
8
9
  var CalendarContent = require('./CalendarContent.js');
9
10
  var CalendarContext = require('./CalendarContext.js');
10
11
  var jsxRuntime = require('react/jsx-runtime');
@@ -37,6 +38,7 @@ const CalendarWrapper = () => {
37
38
  zIndex: 110
38
39
  })
39
40
  }, attributes.popper), {}, {
41
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR,
40
42
  children: [_CalendarContent2 || (_CalendarContent2 = /*#__PURE__*/_jsx__default["default"](CalendarContent.CalendarContent, {})), /*#__PURE__*/jsxRuntime.jsx("div", {
41
43
  ref: setArrowElement,
42
44
  style: styles.arrow
@@ -2,23 +2,33 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
6
  var _jsx = require('@babel/runtime/helpers/jsx');
6
7
  var React = require('react');
7
8
  var dateHelpers = require('../../../utils/dateHelpers.js');
9
+ var constants = require('../../../utils/constants.js');
10
+ var stringHelpers = require('../../../utils/stringHelpers.js');
8
11
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
9
12
  var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
10
13
  var CalendarContext = require('./CalendarContext.js');
11
14
  var Styleds = require('./Styleds.js');
15
+ var jsxRuntime = require('react/jsx-runtime');
12
16
 
13
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
18
 
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
15
20
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
21
 
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
25
  const displayNone = {
18
26
  display: 'none'
19
27
  };
20
28
  const Day = ({
21
- metaDay
29
+ metaDay,
30
+ colIndex,
31
+ isInvisible
22
32
  }) => {
23
33
  const {
24
34
  day,
@@ -78,9 +88,9 @@ const Day = ({
78
88
  day: dayNumber,
79
89
  year
80
90
  } = dateHelpers.getDateValuesFromDate(day);
81
- onMonthChange(`${month + 1}`, e, metaInfo);
82
- onDayChange(`${dayNumber}`, e, metaInfo);
83
- onYearChange(`${year}`, e, metaInfo);
91
+ onMonthChange("".concat(month + 1), e, metaInfo);
92
+ onDayChange("".concat(dayNumber), e, metaInfo);
93
+ onYearChange("".concat(year), e, metaInfo);
84
94
  handleChangeComposedDateString(newDateString, metaInfo);
85
95
  setLatestInteractionRegion('calendar-days');
86
96
  if (!isWithTimeWheelToo && !preventCloseOnSelection) closeCalendar();
@@ -89,26 +99,35 @@ const Day = ({
89
99
  const handleOnDayFocus = React.useCallback(() => {
90
100
  setLatestInteractionRegion('calendar-days');
91
101
  }, [setLatestInteractionRegion]);
92
- const dayClassModifiers = React.useMemo(() => `${isSelected ? 'selectedDay ' : ''}${isDisabled ? 'disabledDay ' : ''}${isOutOfRange ? 'outOfRangeDay ' : ''}${isFocused ? 'focusedDay ' : ''}${isStartRangeDay ? 'startRangeDay ' : ''}${isDayInRange ? 'inRangeDay ' : ''}${isEndRangeDay ? 'endRangeDay ' : ''}${isCurrMonthDay ? '' : 'notCurrentMonth'}`, [isSelected, isDisabled, isOutOfRange, isFocused, isStartRangeDay, isDayInRange, isEndRangeDay, isCurrMonthDay]);
93
- return /*#__PURE__*/_jsx__default["default"]("li", {
102
+ const dayClassModifiers = React.useMemo(() => "dayWrapper ".concat(isSelected ? 'selectedDay ' : '').concat(isDisabled ? 'disabledDay ' : '').concat(isOutOfRange ? 'outOfRangeDay ' : '').concat(isFocused ? 'focusedDay ' : '').concat(isStartRangeDay ? 'startRangeDay ' : '').concat(isDayInRange ? 'inRangeDay ' : '').concat(isEndRangeDay ? 'endRangeDay ' : '').concat(isCurrMonthDay ? '' : 'notCurrentMonth'), [isSelected, isDisabled, isOutOfRange, isFocused, isStartRangeDay, isDayInRange, isEndRangeDay, isCurrMonthDay]);
103
+ let dataTestid = ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.DAY;
104
+ if (isSelected) dataTestid = ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_DAY;
105
+ if (isFocused) dataTestid = ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.FOCUSED_DAY;
106
+ if (isFocused && isSelected) dataTestid = ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR.SELECTED_FOCUSED_DAY;
107
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
94
108
  className: dayClassModifiers,
95
- style: isHidden ? displayNone : undefined
96
- }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledDayBtn, {
97
- "aria-label": `Date Picker ${dayAsString}`,
98
- role: "gridcell",
99
- buttonType: "text",
100
- labelText: `${day.getDate()}`,
101
- size: "m",
102
- onClick: handleOnDayClick // DSButton triggers this with "spacebar" and "enter" too...
103
- ,
104
- onFocus: handleOnDayFocus,
105
- onKeyDown: e => {
106
- handleDayOnKeyDown(e, metaDay);
107
- },
108
- innerRef: dayBtnRef,
109
- tabIndex: isSelected ? 0 : -1,
110
- "data-isfocused": isFocused,
111
- "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CALENDAR[isFocused ? 'FOCUSED_DAY' : 'DAY']
109
+ style: isHidden ? displayNone : undefined,
110
+ role: !isInvisible ? 'gridcell' : undefined
111
+ }, Number.isInteger(colIndex) && {
112
+ 'aria-colindex': colIndex
113
+ }), {}, {
114
+ children: /*#__PURE__*/_jsx__default["default"](Styleds.StyledDayBtn, {
115
+ "aria-label": "".concat(stringHelpers.getAriaDayFromDateString(dayAsString), ", ").concat(constants.weekDays[metaDay.day.getDay()]),
116
+ "aria-disabled": isOutOfRange || isDisabled,
117
+ "aria-hidden": !!isInvisible,
118
+ buttonType: "raw",
119
+ size: "m",
120
+ onClick: handleOnDayClick // DSButton triggers this with "spacebar" and "enter" too...
121
+ ,
122
+ onFocus: handleOnDayFocus,
123
+ onKeyDown: e => {
124
+ handleDayOnKeyDown(e, metaDay);
125
+ },
126
+ innerRef: dayBtnRef,
127
+ tabIndex: isSelected ? 0 : -1,
128
+ "data-isfocused": isFocused,
129
+ "data-testid": dataTestid
130
+ }, void 0, "".concat(day.getDate()))
112
131
  }));
113
132
  };
114
133