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

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 (128) hide show
  1. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
  2. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  3. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +54 -3
  4. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +146 -0
  5. package/cjs/controlled-date-time-picker/index.js +1 -1
  6. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +8 -7
  7. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
  8. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  9. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
  10. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
  11. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +3 -25
  12. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
  13. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +11 -6
  14. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  15. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +24 -5
  16. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +34 -32
  17. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -11
  18. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  19. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
  20. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
  21. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +39 -20
  22. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +56 -37
  23. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +34 -3
  24. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  25. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  26. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -11
  27. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
  28. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -4
  29. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  30. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -18
  31. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +15 -22
  32. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -19
  33. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -10
  34. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +33 -34
  35. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -1
  36. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  37. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -10
  38. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
  39. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
  40. package/cjs/controlled-date-time-picker/parts/Styleds.js +4 -5
  41. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
  42. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +2 -1
  43. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
  44. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
  45. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +7 -30
  46. package/cjs/controlled-date-time-picker/utils/constants.js +43 -0
  47. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +2 -2
  48. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
  49. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +16 -0
  50. package/cjs/index.js +1 -1
  51. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +6 -2
  52. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  53. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +54 -3
  54. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +140 -0
  55. package/esm/controlled-date-time-picker/index.js +1 -1
  56. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +7 -6
  57. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +3 -2
  58. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
  59. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +3 -2
  60. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +3 -2
  61. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +6 -27
  62. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +7 -4
  63. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +12 -7
  64. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  65. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +26 -7
  66. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +34 -32
  67. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +12 -9
  68. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  69. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
  70. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +2 -0
  71. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +38 -20
  72. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +54 -36
  73. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +35 -4
  74. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  75. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  76. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +12 -9
  77. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +2 -0
  78. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +11 -5
  79. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  80. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -16
  81. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +15 -20
  82. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -17
  83. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -10
  84. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +33 -34
  85. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +3 -1
  86. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  87. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -9
  88. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +2 -0
  89. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +5 -3
  90. package/esm/controlled-date-time-picker/parts/Styleds.js +4 -4
  91. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +2 -1
  92. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +2 -1
  93. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +2 -1
  94. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +7 -3
  95. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +8 -31
  96. package/esm/controlled-date-time-picker/utils/constants.js +37 -0
  97. package/esm/controlled-date-time-picker/utils/dateHelpers.js +1 -1
  98. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +2 -2
  99. package/esm/controlled-date-time-picker/utils/stringHelpers.js +16 -1
  100. package/esm/index.js +1 -1
  101. package/package.json +12 -4
  102. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +25 -3
  103. package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
  104. package/types/controlled-date-time-picker/index.d.ts +1 -1
  105. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
  106. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
  107. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
  108. package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
  109. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
  110. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +9 -5
  111. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
  112. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
  113. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +48 -103
  114. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +2 -2
  115. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +4 -4
  116. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +2 -2
  117. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
  118. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +21 -0
  119. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +65 -4
  120. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
  121. package/types/controlled-date-time-picker/parts/Styleds.d.ts +21 -1
  122. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
  123. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
  124. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
  125. package/types/controlled-date-time-picker/utils/constants.d.ts +35 -0
  126. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +2 -2
  127. package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
  128. package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
@@ -19,14 +19,18 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
19
19
  var _ControlledDateRangeF, _ControlledDateRangeT, _ControlledDateRangeC;
20
20
  const StyledWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
21
21
  componentId: "sc-e4pfvj-0"
22
- })(["display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto;gap:0px 8px;grid-auto-flow:row;grid-template-areas:'. .';justify-content:center;align-items:center;"]);
22
+ })(["display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto;", " grid-auto-flow:row;grid-template-areas:'. .';justify-content:center;align-items:center;"], ({
23
+ isControllerOnly
24
+ }) => isControllerOnly ? undefined : 'gap: 0px 8px;');
23
25
  const ControlledDateRangeContent = () => {
24
26
  const {
25
27
  withIcon,
26
28
  withInputs,
27
29
  isControllerOnly
28
30
  } = React.useContext(ControlledDateRangePickerCTX.ControlledDateRangePickerContext);
29
- return /*#__PURE__*/_jsx__default["default"](StyledWrapper, {}, void 0, withInputs ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
31
+ return /*#__PURE__*/_jsx__default["default"](StyledWrapper, {
32
+ isControllerOnly: isControllerOnly
33
+ }, void 0, withInputs ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
30
34
  children: [_ControlledDateRangeF || (_ControlledDateRangeF = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeFromDate.ControlledDateRangeFromDate, {})), _ControlledDateRangeT || (_ControlledDateRangeT = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeToDate.ControlledDateRangeToDate, {}))]
31
35
  }) : null, withIcon || isControllerOnly ? _ControlledDateRangeC || (_ControlledDateRangeC = /*#__PURE__*/_jsx__default["default"](ControlledDateRangeCalendar.ControlledDateRangeCalendar, {})) : null);
32
36
  };
@@ -19,16 +19,38 @@ const ControlledDateTimePickerDatatestid = {
19
19
  CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-trigger-icon'
20
20
  },
21
21
  CALENDAR: {
22
+ PREV_YEAR: 'ds-controlled-date-time-picker-calendar-prev-year',
23
+ PREV_MONTH: 'ds-controlled-date-time-picker-calendar-prev-month',
22
24
  DAY: 'ds-controlled-date-time-picker-calendar-day',
23
- FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day'
25
+ FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-focused-day',
26
+ SELECTED_DAY: 'ds-controlled-date-time-picker-calendar-selected-day',
27
+ SELECTED_FOCUSED_DAY: 'ds-controlled-date-time-picker-calendar-selected-focused-day',
28
+ NEXT_MONTH: 'ds-controlled-date-time-picker-calendar-next-month',
29
+ NEXT_YEAR: 'ds-controlled-date-time-picker-calendar-next-year'
24
30
  },
25
31
  TIMEWHEEL: {
32
+ PREV_HOUR: 'ds-controlled-date-time-picker-timewheel-prev-hour',
26
33
  HOUR: 'ds-controlled-date-time-picker-timewheel-hour',
27
- SELECTED_HOUR: 'ds-controlled-date-time-picker-timewheel-selected-hour',
34
+ CURRENT_HOUR: 'ds-controlled-date-time-picker-timewheel-current-hour',
35
+ NEXT_HOUR: 'ds-controlled-date-time-picker-timewheel-next-hour',
36
+ PREV_MINUTE: 'ds-controlled-date-time-picker-timewheel-prev-minute',
28
37
  MINUTE: 'ds-controlled-date-time-picker-timewheel-minute',
29
- SELECTED_MINUTE: 'ds-controlled-date-time-picker-timewheel-selected-minute',
38
+ CURRENT_MINUTE: 'ds-controlled-date-time-picker-timewheel-current-minute',
39
+ NEXT_MINUTE: 'ds-controlled-date-time-picker-timewheel-next-minute',
40
+ PREV_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-prev-meridiem',
30
41
  MERIDIEM: 'ds-controlled-date-time-picker-timewheel-meridiem',
31
- SELECTED_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-selected-meridiem'
42
+ CURRENT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-current-meridiem',
43
+ NEXT_MERIDIEM: 'ds-controlled-date-time-picker-timewheel-next-meridiem'
44
+ },
45
+ CONTEXTUAL_MENU: {
46
+ CALENDAR: 'ds-controlled-date-time-picker-calendar-context-content-wrapper',
47
+ TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-context-content-wrapper',
48
+ CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-context-content-wrapper'
49
+ },
50
+ CONTROLLER_COMPONENT: {
51
+ CALENDAR: 'ds-controlled-date-time-picker-calendar-controller-wrapper',
52
+ TIMEWHEEL: 'ds-controlled-date-time-picker-timewheel-controller-wrapper',
53
+ CALENDAR_TIMEWHEEL: 'ds-controlled-date-time-picker-calendar-timewheel-controller-wrapper'
32
54
  },
33
55
  CLEAR_BUTTON: 'ds-controlled-date-time-picker-clear-btn'
34
56
  };
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var React = require('react');
7
7
  var useGetPropsWithDefault = require('./useGetPropsWithDefault.js');
8
+ var useGetDestructuredValues = require('./useGetDestructuredValues.js');
8
9
  var ControlledDateTimePickerTypes = require('../ControlledDateTimePickerTypes.js');
9
10
  var useValidateProps = require('./useValidateProps.js');
10
11
  var dateHelpers = require('../utils/dateHelpers.js');
@@ -65,7 +66,10 @@ const useControlledDateTimePicker = props => {
65
66
  onYearChange: appOnYearChange,
66
67
  onHourChange: appOnHourChange,
67
68
  onMinuteChange: appOnMinuteChange,
68
- onMeridiemChange: appOnMeridiemChange
69
+ onMeridiemChange: appOnMeridiemChange,
70
+ date: appDate,
71
+ time: appTime,
72
+ dateTime: appDateTime
69
73
  } = propsWithDefaults;
70
74
  const dateStringFromProps = React.useMemo(() => propsWithDefaults.dateTime && propsWithDefaults.dateTime !== '' ? stringHelpers.dateTimeToDate(propsWithDefaults.dateTime) : propsWithDefaults.date && propsWithDefaults.date !== '' ? propsWithDefaults.date : '__/__/____', [propsWithDefaults.date, propsWithDefaults.dateTime]); // don't use tempDateString to trigger useEffect for onDateChange
71
75
  // that is an anti-pattern and leads to a lot of issue
@@ -103,6 +107,33 @@ const useControlledDateTimePicker = props => {
103
107
  const shouldPreserveClearableSpace = isClearable && withAnyInputs;
104
108
  const withAnyRightController = withAnyPicker || withClearBtn || shouldPreserveClearableSpace;
105
109
  const [latestInteractionRegion, setLatestInteractionRegion] = React.useState('');
110
+ const {
111
+ month,
112
+ day,
113
+ year,
114
+ monthNum,
115
+ dayNum,
116
+ yearNum,
117
+ announcedMonth,
118
+ announcedDay,
119
+ announcedYear,
120
+ announcedDateValues,
121
+ hours,
122
+ minutes,
123
+ meridiem,
124
+ hoursNum,
125
+ minutesNum,
126
+ announcedHours,
127
+ announcedMinutes,
128
+ announcedMeridiem,
129
+ announcedTimeValues
130
+ } = useGetDestructuredValues.useGetDestructuredValues({
131
+ date: appDate,
132
+ time: appTime,
133
+ dateTime: appDateTime,
134
+ isDateTimeSelector
135
+ });
136
+ const ariaCurrentValueForInputs = `current values: ${isWithDateInputs ? `${announcedDateValues}` : ''}${isDateTimeSelector ? ', ' : ''}${isWithTimeInputs ? `${announcedTimeValues}` : ''}`;
106
137
  const getDateMetaInfo = React.useCallback((newDateString = null, metaInfo = {}) => {
107
138
  const finalDateString = newDateString || tempDateString;
108
139
  return _objectSpread(_objectSpread({}, metaInfo), dateHelpers.getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay));
@@ -257,8 +288,28 @@ const useControlledDateTimePicker = props => {
257
288
  withAnyPicker,
258
289
  withClearBtn,
259
290
  withAnyRightController,
260
- shouldPreserveClearableSpace
261
- }), [propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace] // refs are mutable so we don't need to listen to them
291
+ shouldPreserveClearableSpace,
292
+ month,
293
+ day,
294
+ year,
295
+ monthNum,
296
+ dayNum,
297
+ yearNum,
298
+ announcedMonth,
299
+ announcedDay,
300
+ announcedYear,
301
+ announcedDateValues,
302
+ hours,
303
+ minutes,
304
+ meridiem,
305
+ hoursNum,
306
+ minutesNum,
307
+ announcedHours,
308
+ announcedMinutes,
309
+ announcedMeridiem,
310
+ announcedTimeValues,
311
+ ariaCurrentValueForInputs
312
+ }), [propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace, month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues, ariaCurrentValueForInputs] // refs are mutable so we don't need to listen to them
262
313
  );
263
314
  return ctx;
264
315
  };
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var stringHelpers = require('../utils/stringHelpers.js');
7
+ var numberHelpers = require('../utils/numberHelpers.js');
8
+ var constants = require('../utils/constants.js');
9
+
10
+ /* eslint-disable max-lines */
11
+ // this is because it's fully controlled
12
+ // our source of truth is either the date props or dateTime props
13
+ // based on wheter it's a dateTime picker
14
+ // or a date picker (it's date picker when hideTime is true)
15
+ const useGetDestructuredDateValues = ({
16
+ date,
17
+ dateTime,
18
+ isDateTimeSelector
19
+ }) => {
20
+ const dateStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToDate(dateTime) : date;
21
+ const deconstructedValues = stringHelpers.deconstructValuesFromDateString(dateStringFromProps);
22
+ const {
23
+ month,
24
+ day,
25
+ year
26
+ } = deconstructedValues;
27
+ const monthNum = numberHelpers.convertToPositiveNumberIfPossible(month);
28
+ const dayNum = numberHelpers.convertToPositiveNumberIfPossible(day);
29
+ const yearNum = numberHelpers.convertToPositiveNumberIfPossible(year);
30
+ const announcedMonth = monthNum !== -1 ? constants.monthNames[monthNum - 1] : 'empty month';
31
+ const announcedDay = dayNum !== -1 ? constants.announcableCardinalDays[dayNum] : 'empty day';
32
+ const announcedYear = yearNum !== -1 ? stringHelpers.fillStringWithPlaceHolders(`${yearNum}`, 4, '0') : 'empty year';
33
+ const announcedDateValues = `${announcedMonth}, ${announcedDay}, ${announcedYear}`;
34
+ return React.useMemo(() => ({
35
+ month,
36
+ day,
37
+ year,
38
+ monthNum,
39
+ dayNum,
40
+ yearNum,
41
+ announcedMonth,
42
+ announcedDay,
43
+ announcedYear,
44
+ announcedDateValues
45
+ }), [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
46
+ }; // this is because it's fully controlled
47
+ // our source of truth is either the time props or dateTime props
48
+ // based on wheter it's a dateTime picker
49
+ // or a time picker (it's time picker when hideDate is true)
50
+
51
+ const useGetDestructuredTimeValues = ({
52
+ time,
53
+ dateTime,
54
+ isDateTimeSelector
55
+ }) => {
56
+ const timeStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToTime(dateTime) : time;
57
+ const deconstructedValues = stringHelpers.deconstructTimeValues(timeStringFromProps);
58
+ const {
59
+ hours,
60
+ minutes,
61
+ meridiem
62
+ } = deconstructedValues;
63
+ const hoursNum = numberHelpers.convertToPositiveNumberIfPossible(hours);
64
+ const minutesNum = numberHelpers.convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
65
+
66
+ const announcedHours = hoursNum !== -1 ? `${hoursNum}` : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
67
+
68
+ const announcedMinutes = minutesNum !== -1 ? `${minutesNum}` : 'empty minutes';
69
+ const announcedMeridiem = // eslint-disable-next-line no-nested-ternary
70
+ meridiem === 'PM' ? `post meridiem` : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
71
+ const announcedTimeValues = `${announcedHours}, ${announcedMinutes}, ${announcedMeridiem}`;
72
+ return React.useMemo(() => ({
73
+ hours,
74
+ minutes,
75
+ meridiem,
76
+ hoursNum,
77
+ minutesNum,
78
+ announcedHours,
79
+ announcedMinutes,
80
+ announcedMeridiem,
81
+ announcedTimeValues
82
+ }), [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
83
+ };
84
+ const useGetDestructuredValues = ({
85
+ date,
86
+ time,
87
+ dateTime,
88
+ isDateTimeSelector
89
+ }) => {
90
+ const {
91
+ month,
92
+ day,
93
+ year,
94
+ monthNum,
95
+ dayNum,
96
+ yearNum,
97
+ announcedMonth,
98
+ announcedDay,
99
+ announcedYear,
100
+ announcedDateValues
101
+ } = useGetDestructuredDateValues({
102
+ date,
103
+ dateTime,
104
+ isDateTimeSelector
105
+ });
106
+ const {
107
+ hours,
108
+ minutes,
109
+ meridiem,
110
+ hoursNum,
111
+ minutesNum,
112
+ announcedHours,
113
+ announcedMinutes,
114
+ announcedMeridiem,
115
+ announcedTimeValues
116
+ } = useGetDestructuredTimeValues({
117
+ time,
118
+ dateTime,
119
+ isDateTimeSelector
120
+ });
121
+ return React.useMemo(() => ({
122
+ month,
123
+ day,
124
+ year,
125
+ monthNum,
126
+ dayNum,
127
+ yearNum,
128
+ announcedMonth,
129
+ announcedDay,
130
+ announcedYear,
131
+ announcedDateValues,
132
+ hours,
133
+ minutes,
134
+ meridiem,
135
+ hoursNum,
136
+ minutesNum,
137
+ announcedHours,
138
+ announcedMinutes,
139
+ announcedMeridiem,
140
+ announcedTimeValues
141
+ }), [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
142
+ };
143
+
144
+ exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
145
+ exports.useGetDestructuredTimeValues = useGetDestructuredTimeValues;
146
+ exports.useGetDestructuredValues = useGetDestructuredValues;
@@ -18,7 +18,7 @@ exports.ControlledDateTimePickerDatatestid = ControlledDateTimePickerDatatestid.
18
18
  exports.CONTROLLED_DATE_TIME_PICKER_TYPES = ControlledDateTimePickerTypes.CONTROLLED_DATE_TIME_PICKER_TYPES;
19
19
  exports.deconstructValuesFromDateString = stringHelpers.deconstructValuesFromDateString;
20
20
  exports.prependStringWithPlaceHolders = stringHelpers.prependStringWithPlaceHolders;
21
- exports.getValidatioDateTimeStringMetaInfo = dateTimeHelpers.getValidatioDateTimeStringMetaInfo;
21
+ exports.getValidationDateTimeStringMetaInfo = dateTimeHelpers.getValidationDateTimeStringMetaInfo;
22
22
  exports.getDateStringFromDay = dateHelpers.getDateStringFromDay;
23
23
  exports.getDateValuesFromDate = dateHelpers.getDateValuesFromDate;
24
24
  exports.getDayFromDateString = dateHelpers.getDayFromDateString;
@@ -5,7 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
7
  var CloseMedium = require('@elliemae/ds-icons/CloseMedium');
8
- var DSButton = require('@elliemae/ds-basic/Button');
8
+ var dsIcon = require('@elliemae/ds-icon');
9
+ var dsButton = require('@elliemae/ds-button');
9
10
  var Styleds = require('../Styleds.js');
10
11
  var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
11
12
  var useClearButton = require('./useClearButton.js');
@@ -15,7 +16,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
17
  var CloseMedium__default = /*#__PURE__*/_interopDefaultLegacy(CloseMedium);
17
18
 
18
- var _CloseMedium;
19
19
  const ClearButton = () => {
20
20
  const {
21
21
  onClearClick,
@@ -27,16 +27,17 @@ const ClearButton = () => {
27
27
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
28
28
  shouldDisplay: withClearBtn,
29
29
  "aria-label": "clear selected date",
30
- buttonType: "text",
31
- leftIcon: _CloseMedium || (_CloseMedium = /*#__PURE__*/_jsx__default["default"](CloseMedium__default["default"], {})),
32
- size: "m",
33
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
30
+ buttonType: "icon",
31
+ size: dsButton.BUTTON_SIZES.M,
32
+ variant: dsButton.BUTTON_VARIANT.DEFAULT,
34
33
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
35
34
  innerRef: clearButtonRef,
36
35
  onClick: onClearClick,
37
36
  onKeyDown: onClearButtonKeyDown,
38
37
  withAnyPicker: withAnyPicker
39
- });
38
+ }, void 0, /*#__PURE__*/_jsx__default["default"](CloseMedium__default["default"], {
39
+ color: dsIcon.DSIconColors.PRIMARY
40
+ }));
40
41
  };
41
42
 
42
43
  exports.ClearButton = ClearButton;
@@ -26,7 +26,8 @@ const DDInput = /*#__PURE__*/React__default["default"].memo(({
26
26
  onKeyDown,
27
27
  value,
28
28
  contextRef,
29
- placeholder
29
+ placeholder,
30
+ ariaCurrentValueForInputs
30
31
  }) => {
31
32
  const validateOnChange = React.useCallback(e => {
32
33
  var _e$target;
@@ -46,7 +47,7 @@ const DDInput = /*#__PURE__*/React__default["default"].memo(({
46
47
  value: value,
47
48
  ref: contextRef,
48
49
  placeholder: placeholder,
49
- "aria-label": "day input field",
50
+ "aria-label": `day input field, ${ariaCurrentValueForInputs}`,
50
51
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
51
52
  });
52
53
  });
@@ -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, ${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, ${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
 
@@ -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-${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-${week[0].day.toString()}-${week[6].day.toString()}`, week.map((metaDay, z) => /*#__PURE__*/_jsx__default["default"](Day.Day, {
37
+ metaDay: metaDay,
38
+ colIndex: z + 1
39
+ }, `ds-calendar-${metaDay.day.toString()}`)))), /*#__PURE__*/_jsx__default["default"](Day.Day, {
40
+ metaDay: invisibleLastDay,
41
+ isInvisible: true
42
+ }, `ds-calendar-${invisibleLastDay.day.toString()}`)]
24
43
  }));
25
44
 
26
45
  exports.CalendarDaysList = CalendarDaysList;