@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
@@ -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');
@@ -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, ${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,
@@ -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 ${isSelected ? 'selectedDay ' : ''}${isDisabled ? 'disabledDay ' : ''}${isOutOfRange ? 'outOfRangeDay ' : ''}${isFocused ? 'focusedDay ' : ''}${isStartRangeDay ? 'startRangeDay ' : ''}${isDayInRange ? 'inRangeDay ' : ''}${isEndRangeDay ? 'endRangeDay ' : ''}${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": `${stringHelpers.getAriaDayFromDateString(dayAsString)}, ${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, `${day.getDate()}`)
112
131
  }));
113
132
  };
114
133
 
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var styled = require('styled-components');
6
+ var dsGrid = require('@elliemae/ds-grid');
6
7
  var dsButton = require('@elliemae/ds-button');
7
8
 
8
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -10,47 +11,48 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
12
 
12
13
  /* eslint-disable max-lines */
13
- const StyledSpacingResetter = /*#__PURE__*/styled__default["default"].div.withConfig({
14
+ const focusBorder = `
15
+ border-style: solid;
16
+ border-width: 2px;
17
+ border-radius: 50%;
18
+ `;
19
+ const StyledIconTriggerButton = /*#__PURE__*/styled__default["default"](dsButton.DSButtonV2).withConfig({
14
20
  componentId: "sc-18gg4kd-0"
15
- })(["*{margin:0;padding:0;box-sizing:border-box;}ul{list-style:none;}", ""], ({
21
+ })(["color:", ";width:26px;height:26px;"], ({
22
+ theme
23
+ }) => theme.colors.brand['600']);
24
+ const StyledShadowWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
25
+ componentId: "sc-18gg4kd-1"
26
+ })(["", ""], ({
16
27
  isControllerOnly
17
28
  }) => isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);');
18
29
  const StyledCalendarWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
19
- componentId: "sc-18gg4kd-1"
30
+ componentId: "sc-18gg4kd-2"
20
31
  })(["display:grid;width:260px;background-color:", ";grid-template-rows:auto auto;"], ({
21
32
  theme
22
33
  }) => theme.colors.neutral['000']);
23
34
  const StyledHeader = /*#__PURE__*/styled__default["default"].section.withConfig({
24
- componentId: "sc-18gg4kd-2"
25
- })(["display:grid;padding:", ";grid-template-columns:min-content min-content 1fr min-content min-content;grid-template-rows:1fr;align-items:center;justify-content:center;text-align:center;background:", ";h3{font-size:1rem;}"], ({
35
+ componentId: "sc-18gg4kd-3"
36
+ })(["*{margin:0;padding:0;box-sizing:border-box;}display:grid;padding:", ";grid-template-columns:min-content min-content 1fr min-content min-content;grid-template-rows:1fr;align-items:center;justify-content:center;text-align:center;background:", ";h3{font-size:1rem;}"], ({
26
37
  theme
27
38
  }) => theme.space.xxxs, ({
28
39
  theme
29
40
  }) => theme.colors.neutral['050']);
30
- const StyledHeaderButton = /*#__PURE__*/styled__default["default"](dsButton.DSButton).withConfig({
31
- componentId: "sc-18gg4kd-3"
32
- })(["position:relative;&:focus{&:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid ", ";border-radius:2px;pointer-events:none;}}&:hover{background:", ";}"], ({
41
+ const StyledHeaderButton = /*#__PURE__*/styled__default["default"](dsButton.DSButtonV2).withConfig({
42
+ componentId: "sc-18gg4kd-4"
43
+ })(["position:relative;width:28px;height:28px;&:focus{&:after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid ", ";border-radius:2px;pointer-events:none;}}&:hover{background:", ";}"], ({
33
44
  theme
34
45
  }) => theme.colors.brand[700], ({
35
46
  theme
36
47
  }) => theme.colors.brand[200]);
37
48
  const StyledBody = /*#__PURE__*/styled__default["default"].section.withConfig({
38
- componentId: "sc-18gg4kd-4"
49
+ componentId: "sc-18gg4kd-5"
39
50
  })(["padding:", ";"], ({
40
51
  theme
41
52
  }) => theme.space.xxxs);
42
- const StyledWeekDaysUList = /*#__PURE__*/styled__default["default"].ul.withConfig({
43
- componentId: "sc-18gg4kd-5"
44
- })(["display:flex;justify-content:space-between;align-items:center;padding:", ";height:30px;font-size:", ";background-color:", ";li{flex:1;text-transform:capitalize;text-align:center;color:$gray;margin:0 1px;}"], ({
45
- theme
46
- }) => theme.space.xxxs, ({
47
- theme
48
- }) => theme.fontSizes.label[400], ({
49
- theme
50
- }) => theme.colors.neutral['050']);
51
- const StyledDayBtn = /*#__PURE__*/styled__default["default"](dsButton.DSButton).withConfig({
53
+ const StyledDayBtn = /*#__PURE__*/styled__default["default"](dsButton.DSButtonV2).withConfig({
52
54
  componentId: "sc-18gg4kd-6"
53
- })(["height:", ";width:", ";min-width:", ";border-radius:50%;color:", ";font-size:", ";font-weight:", ";position:relative;&:hover{color:", ";}&:focus:not(:hover){background-color:", ";color:", ";}&.em-ds-button--text{&:focus{&:after{border-radius:50%;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);}}}"], ({
55
+ })(["height:", ";width:", ";min-width:", ";border-radius:50%;color:", ";font-weight:", ";position:relative;&:hover{color:", ";}&:focus:not(:hover){background-color:", ";color:", ";}&:focus{&:after{border-radius:50%;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);}}"], ({
54
56
  theme
55
57
  }) => theme.space.s, ({
56
58
  theme
@@ -60,8 +62,6 @@ const StyledDayBtn = /*#__PURE__*/styled__default["default"](dsButton.DSButton).
60
62
  theme
61
63
  }) => theme.colors.neutral[800], ({
62
64
  theme
63
- }) => theme.fontSizes.label[400], ({
64
- theme
65
65
  }) => theme.fontWeights.regular, ({
66
66
  theme
67
67
  }) => theme.colors.brand[700], ({
@@ -69,53 +69,71 @@ const StyledDayBtn = /*#__PURE__*/styled__default["default"](dsButton.DSButton).
69
69
  }) => theme.colors.neutral['000'], ({
70
70
  theme
71
71
  }) => theme.colors.brand[600]);
72
- const StyledMonthDaysUList = /*#__PURE__*/styled__default["default"].ul.withConfig({
72
+ const StyledWeekDaysListWrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
73
73
  componentId: "sc-18gg4kd-7"
74
- })(["display:grid;grid-template-columns:repeat(7,36px);justify-items:center;li{width:36px;height:36px;display:grid;justify-content:center;align-items:center;position:relative;}li.startRangeDay{border-radius:50% 0 0 50%;background-color:", ";}li.inRangeDay{border-radius:0;background-color:", ";}li.endRangeDay{border-radius:0 50% 50% 0;background-color:", ";}li.focusedDay{", "{&.em-ds-button--text{&:focus{&:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;border-radius:50%;border:2px solid ", ";pointer-events:none;}}}}}li.startRangeDay,li.endRangeDay,li.selectedDay{", "{color:", ";background-color:", ";font-weight:", ";}}li.notCurrentMonth{", "{font-weight:", ";&:not(:hover){color:", ";}}&.selectedDay,&.startRangeDay,&.endRangeDay{", "{color:", ";}}}li.disabledDay,li.outOfRangeDay{", "{color:", ";font-weight:", ";&.em-ds-button--text{cursor:not-allowed;&:focus{&:after{border-radius:50%;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border-color:", ";}}}&:hover{background:", ";}}&:after{cursor:not-allowed;position:absolute;content:'';top:47%;left:3px;width:calc(100% - 5px);height:1px;background-color:", ";transform:rotate(45deg);pointer-events:none;}&.focusedDay{", "{color:", ";font-weight:", ";}&:after{background-color:", ";}}&.selectedDay,&.startRangeDay,&.endRangeDay,&.inRangeDay{", "{color:", ";background-color:", ";}&:after{background-color:", ";}}}"], ({
74
+ })(["font-size:", ";text-align:center;", ";", ";.dayWrapper{position:relative;width:36px;button:focus{&:before{position:absolute;content:'';top:0;left:0;width:100%;height:100%;border-radius:50%;border:2px solid ", ";pointer-events:none;}&:after{position:absolute;content:'';top:-2px;left:-2px;", " border-color:", ";width:calc(100% + 4px);height:calc(100% + 4px);}}&.disabledDay,&.outOfRangeDay{button:focus{&:after{border-color:", ";}}}}.dayWrapper.startRangeDay{border-radius:50% 0 0 50%;background-color:", ";}.dayWrapper.inRangeDay{border-radius:0;background-color:", ";}.dayWrapper.endRangeDay{border-radius:0 50% 50% 0;background-color:", ";}.dayWrapper.startRangeDay.endRangeDay{background:unset;}.dayWrapper.startRangeDay,.dayWrapper.endRangeDay,.dayWrapper.selectedDay{button{color:", ";background-color:", ";font-weight:", ";}}.dayWrapper.notCurrentMonth{button{font-weight:", ";&:not(:hover){color:", ";}}&.selectedDay,&.startRangeDay,&.endRangeDay{button{color:", ";}}}.dayWrapper.disabledDay,.dayWrapper.outOfRangeDay{button{color:", ";font-weight:", ";cursor:not-allowed;&:focus{", " border-color:", ";}&:hover{background:", ";}}&:after{cursor:not-allowed;position:absolute;content:'';top:47%;left:3px;width:calc(100% - 5px);height:1px;background-color:", ";transform:rotate(45deg);pointer-events:none;}&.focusedDay{button{color:", ";font-weight:", ";}&:after{background-color:", ";}}&.selectedDay,&.startRangeDay,&.endRangeDay,&.inRangeDay{button{color:", ";background-color:", ";}&:after{background-color:", ";}}}"], ({
75
75
  theme
76
- }) => theme.colors.brand[200], ({
76
+ }) => theme.fontSizes.label[400], ({
77
+ isHeader,
78
+ theme
79
+ }) => isHeader ? `background: ${theme.colors.neutral['050']}` : '', ({
80
+ isHeader
81
+ }) => isHeader ? 'text-transform: capitalize' : '', ({
82
+ theme
83
+ }) => theme.colors.neutral['000'], focusBorder, ({
84
+ theme
85
+ }) => theme.colors.brand[700], ({
86
+ theme
87
+ }) => theme.colors.danger[900], ({
77
88
  theme
78
89
  }) => theme.colors.brand[200], ({
79
90
  theme
80
- }) => theme.colors.brand[200], StyledDayBtn, ({
91
+ }) => theme.colors.brand[200], ({
81
92
  theme
82
- }) => theme.colors.neutral['000'], StyledDayBtn, ({
93
+ }) => theme.colors.brand[200], ({
83
94
  theme
84
95
  }) => theme.colors.neutral['000'], ({
85
96
  theme
86
97
  }) => theme.colors.brand[700], ({
87
98
  theme
88
- }) => theme.fontWeights.semibold, StyledDayBtn, ({
99
+ }) => theme.fontWeights.semibold, ({
89
100
  theme
90
101
  }) => theme.fontWeights.light, ({
91
102
  theme
92
- }) => theme.colors.neutral[500], StyledDayBtn, ({
103
+ }) => theme.colors.neutral[500], ({
93
104
  theme
94
- }) => theme.colors.neutral['000'], StyledDayBtn, ({
105
+ }) => theme.colors.neutral['000'], ({
95
106
  theme
96
107
  }) => theme.colors.neutral[500], ({
97
108
  theme
98
- }) => theme.fontWeights.light, ({
109
+ }) => theme.fontWeights.light, focusBorder, ({
99
110
  theme
100
111
  }) => theme.colors.danger[900], ({
101
112
  theme
102
113
  }) => theme.colors.neutral['000'], ({
103
114
  theme
104
- }) => theme.colors.neutral[500], StyledDayBtn, ({
115
+ }) => theme.colors.neutral[500], ({
105
116
  theme
106
117
  }) => theme.colors.danger[900], ({
107
118
  theme
108
119
  }) => theme.fontWeights.regular, ({
109
120
  theme
110
- }) => theme.colors.danger[900], StyledDayBtn, ({
121
+ }) => theme.colors.danger[900], ({
111
122
  theme
112
123
  }) => theme.colors.neutral['000'], ({
113
124
  theme
114
125
  }) => theme.colors.danger[900], ({
115
126
  theme
116
127
  }) => theme.colors.neutral['000']);
117
- const CalendarFooterMessage = /*#__PURE__*/styled__default["default"].footer.withConfig({
128
+ const StyledWeekDaysHeaderItem = /*#__PURE__*/styled__default["default"].div.withConfig({
118
129
  componentId: "sc-18gg4kd-8"
130
+ })(["width:", ";min-width:", ";"], ({
131
+ theme
132
+ }) => theme.space.s, ({
133
+ theme
134
+ }) => theme.space.s);
135
+ const CalendarFooterMessage = /*#__PURE__*/styled__default["default"].footer.withConfig({
136
+ componentId: "sc-18gg4kd-9"
119
137
  })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;"], ({
120
138
  theme
121
139
  }) => theme.colors.neutral[300], ({
@@ -136,6 +154,7 @@ exports.StyledCalendarWrapper = StyledCalendarWrapper;
136
154
  exports.StyledDayBtn = StyledDayBtn;
137
155
  exports.StyledHeader = StyledHeader;
138
156
  exports.StyledHeaderButton = StyledHeaderButton;
139
- exports.StyledMonthDaysUList = StyledMonthDaysUList;
140
- exports.StyledSpacingResetter = StyledSpacingResetter;
141
- exports.StyledWeekDaysUList = StyledWeekDaysUList;
157
+ exports.StyledIconTriggerButton = StyledIconTriggerButton;
158
+ exports.StyledShadowWrapper = StyledShadowWrapper;
159
+ exports.StyledWeekDaysHeaderItem = StyledWeekDaysHeaderItem;
160
+ exports.StyledWeekDaysListWrapper = StyledWeekDaysListWrapper;
@@ -10,6 +10,19 @@ var usePopperTriggerLogic = require('./usePopperTriggerLogic.js');
10
10
  var useCurrentDisplayedMonthYearLogic = require('./useCurrentDisplayedMonthYearLogic.js');
11
11
 
12
12
  /* eslint-disable complexity */
13
+
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ function sliceIntoChunks(arr, chunkSize) {
16
+ const res = [];
17
+
18
+ for (let i = 0; i < arr.length; i += chunkSize) {
19
+ const chunk = arr.slice(i, i + chunkSize);
20
+ res.push(chunk);
21
+ }
22
+
23
+ return res;
24
+ }
25
+
13
26
  const useConfigCalendarCTX = () => {
14
27
  const {
15
28
  pickerButtonRef,
@@ -32,7 +45,8 @@ const useConfigCalendarCTX = () => {
32
45
  isControllerOnly,
33
46
  isWithTimeWheelToo,
34
47
  setLatestInteractionRegion,
35
- autoFocusPrevMonthArrow
48
+ autoFocusPrevMonthArrow,
49
+ ariaCurrentValueForInputs
36
50
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
37
51
  const [showCalendar, setShowCalendar] = React.useState(false);
38
52
  const {
@@ -44,6 +58,19 @@ const useConfigCalendarCTX = () => {
44
58
  handleNextMonth,
45
59
  handleNextYear
46
60
  } = useCurrentDisplayedMonthYearLogic.useCurrentDisplayedMonthYearLogic();
61
+ const {
62
+ invisibleFirstDay,
63
+ daysMatrixByWeekday,
64
+ invisibleLastDay
65
+ } = React.useMemo(() => {
66
+ const [invisible1stDay, ...otherDays] = [...daysArray];
67
+ const invisibleDayLast = otherDays.pop();
68
+ return {
69
+ invisibleFirstDay: invisible1stDay,
70
+ daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
71
+ invisibleLastDay: invisibleDayLast
72
+ };
73
+ }, [daysArray]);
47
74
  const setLatestInteractionRegionCalendarHead = React.useCallback(() => {
48
75
  setLatestInteractionRegion('calendar-head');
49
76
  }, [setLatestInteractionRegion]);
@@ -146,6 +173,9 @@ const useConfigCalendarCTX = () => {
146
173
  currentMonth,
147
174
  currentYear,
148
175
  daysArray,
176
+ invisibleFirstDay,
177
+ daysMatrixByWeekday,
178
+ invisibleLastDay,
149
179
  focusedDay,
150
180
  tryToFocusCurrentlyDataIsFocusedDay,
151
181
  handleFocusMetaDay,
@@ -166,8 +196,9 @@ const useConfigCalendarCTX = () => {
166
196
  onNextMonthFocus,
167
197
  onNextYearFocus,
168
198
  isWithTimeWheelToo,
169
- autoFocusPrevMonthArrow
170
- }), [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]);
199
+ autoFocusPrevMonthArrow,
200
+ ariaCurrentValueForInputs
201
+ }), [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]);
171
202
  };
172
203
 
173
204
  exports.useConfigCalendarCTX = useConfigCalendarCTX;
@@ -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 Styleds = require('./Styleds.js');
8
9
  var CalendarWithTimeWheelFooter = require('./CalendarWithTimeWheelFooter.js');
9
10
  var TimeWheelContent = require('../TimeWheel/TimeWheelContent.js');
@@ -19,7 +20,8 @@ const CalendarWithTimeWheelContent = () => {
19
20
  isControllerOnly
20
21
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
21
22
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledCalendarWithTimeWheelWrapper, {
22
- isControllerOnly: isControllerOnly
23
+ isControllerOnly: isControllerOnly,
24
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL
23
25
  }, void 0, _StyledCalendar || (_StyledCalendar = /*#__PURE__*/_jsx__default["default"](Styleds.StyledCalendar, {})), _TimeWheelContent || (_TimeWheelContent = /*#__PURE__*/_jsx__default["default"](TimeWheelContent.TimeWheelContent, {})), _CalendarWithTimeWhee || (_CalendarWithTimeWhee = /*#__PURE__*/_jsx__default["default"](CalendarWithTimeWheelFooter.CalendarWithTimeWheelFooter, {})));
24
26
  };
25
27
 
@@ -8,6 +8,7 @@ var React = require('react');
8
8
  const noop = () => {};
9
9
 
10
10
  const defaultCalendarWithTimeWheelContext = {
11
+ ariaCurrentValueForInputs: '',
11
12
  showCalendarWithTimeWheel: false,
12
13
  setPopperElement: noop,
13
14
  setArrowElement: noop,