@elliemae/ds-controlled-form 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (241) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js +13 -6
  2. package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
  3. package/cjs/controlled-checkbox/propTypes.js +5 -4
  4. package/cjs/controlled-checkbox/styles.js +88 -52
  5. package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  6. package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
  7. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +2 -2
  8. package/cjs/controlled-date-range-picker/ControlledDateRangePickerCTX.js +3 -2
  9. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  10. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +19 -3
  11. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +22 -13
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +9 -1
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +30 -5
  14. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +13 -3
  15. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +9 -1
  16. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +2 -2
  17. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +23 -2
  18. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  19. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  20. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +149 -0
  21. package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
  22. package/cjs/controlled-date-time-picker/index.js +1 -1
  23. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +11 -9
  24. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  25. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +37 -16
  26. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  27. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +21 -11
  28. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  29. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  30. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +117 -66
  31. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +9 -8
  32. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  33. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -9
  34. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +7 -1
  35. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -9
  36. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  37. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +43 -44
  38. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -12
  39. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
  40. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
  41. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +10 -3
  42. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +59 -28
  43. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +339 -115
  44. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +42 -42
  45. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  46. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -23
  47. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +135 -59
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
  49. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +4 -4
  50. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +5 -3
  51. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +4 -2
  52. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  53. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -12
  54. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +10 -3
  55. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +61 -24
  56. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  57. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +3 -3
  58. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +38 -26
  59. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +34 -31
  60. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +36 -26
  61. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +26 -23
  62. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +211 -150
  63. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +9 -8
  64. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +9 -6
  65. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +5 -2
  66. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  67. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -12
  68. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -3
  69. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  70. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  71. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +184 -147
  72. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +23 -12
  73. package/cjs/controlled-date-time-picker/parts/Styleds.js +80 -42
  74. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  75. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  76. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  77. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +20 -11
  78. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +109 -205
  79. package/cjs/controlled-date-time-picker/propTypes.js +3 -1
  80. package/cjs/controlled-date-time-picker/utils/constants.js +59 -0
  81. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +41 -23
  82. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +8 -3
  83. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  84. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +43 -17
  85. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  86. package/cjs/controlled-toggle/ControlledToggle.js +52 -36
  87. package/cjs/controlled-toggle/propTypes.js +3 -2
  88. package/cjs/controlled-toggle/styles.js +146 -79
  89. package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
  90. package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
  91. package/cjs/index.js +1 -1
  92. package/esm/controlled-checkbox/ControlledCheckbox.js +12 -5
  93. package/esm/controlled-checkbox/config/useValidateProps.js +6 -8
  94. package/esm/controlled-checkbox/propTypes.js +5 -4
  95. package/esm/controlled-checkbox/styles.js +84 -48
  96. package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  97. package/esm/controlled-checkbox/utils/styleHelpers.js +15 -27
  98. package/esm/controlled-date-range-picker/ControlledDateRangePickerCTX.js +2 -1
  99. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  100. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
  101. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
  102. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
  103. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -4
  104. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +12 -2
  105. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
  106. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +22 -1
  107. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  108. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  109. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +143 -0
  110. package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
  111. package/esm/controlled-date-time-picker/index.js +1 -1
  112. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +10 -7
  113. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  114. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
  115. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  116. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +15 -5
  117. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  118. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  119. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +119 -67
  120. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
  121. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  122. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +16 -10
  123. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +6 -0
  124. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -11
  125. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  126. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +42 -39
  127. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -10
  128. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  129. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
  130. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +7 -0
  131. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +58 -28
  132. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +335 -113
  133. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +43 -43
  134. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  135. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +49 -24
  136. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +136 -60
  137. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
  138. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  139. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
  140. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  141. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -10
  142. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -0
  143. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +60 -24
  144. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  145. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +33 -19
  146. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +30 -25
  147. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +30 -18
  148. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +20 -15
  149. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +210 -150
  150. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  151. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +8 -5
  152. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
  153. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  154. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
  155. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -0
  156. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  157. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  158. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +185 -148
  159. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +24 -13
  160. package/esm/controlled-date-time-picker/parts/Styleds.js +70 -31
  161. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  162. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  163. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  164. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +15 -6
  165. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +110 -202
  166. package/esm/controlled-date-time-picker/propTypes.js +3 -1
  167. package/esm/controlled-date-time-picker/utils/constants.js +46 -0
  168. package/esm/controlled-date-time-picker/utils/dateHelpers.js +40 -23
  169. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +7 -2
  170. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  171. package/esm/controlled-date-time-picker/utils/stringHelpers.js +43 -18
  172. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  173. package/esm/controlled-toggle/ControlledToggle.js +47 -31
  174. package/esm/controlled-toggle/propTypes.js +3 -2
  175. package/esm/controlled-toggle/styles.js +139 -72
  176. package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
  177. package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
  178. package/esm/index.js +1 -1
  179. package/package.json +29 -12
  180. package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
  181. package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
  182. package/types/controlled-checkbox/index.d.d.ts +1 -0
  183. package/types/controlled-checkbox/propTypes.d.ts +55 -8
  184. package/types/controlled-checkbox/styles.d.ts +4 -4
  185. package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
  186. package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
  187. package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
  188. package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
  189. package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
  190. package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
  191. package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
  192. package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
  193. package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
  194. package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
  195. package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
  196. package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
  197. package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +84 -21
  198. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +28 -3
  199. package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
  200. package/types/controlled-date-time-picker/index.d.ts +1 -1
  201. package/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +2 -1
  202. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +3 -1
  203. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +4 -1
  204. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +3 -1
  205. package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
  206. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
  207. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +11 -5
  208. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
  209. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
  210. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +17 -123
  211. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +3 -5
  212. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +5 -18
  213. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +4 -7
  214. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +2 -0
  215. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -3
  216. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +19 -9
  217. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -0
  218. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -11
  219. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -8
  220. package/types/controlled-date-time-picker/parts/Styleds.d.ts +13 -10
  221. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +4 -1
  222. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +3 -1
  223. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +3 -1
  224. package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
  225. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
  226. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  227. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  228. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  229. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  230. package/types/controlled-date-time-picker/utils/constants.d.ts +44 -0
  231. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +3 -2
  232. package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
  233. package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
  234. package/types/controlled-toggle/ControlledToggle.d.ts +79 -13
  235. package/types/controlled-toggle/propTypes.d.ts +73 -11
  236. package/types/controlled-toggle/styles.d.ts +7 -7
  237. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
  238. package/cjs/package.json +0 -7
  239. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
  240. package/esm/package.json +0 -7
  241. package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
@@ -1,125 +1,347 @@
1
+ import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';
1
2
  import styled from 'styled-components';
2
- import { DSButton } from '@elliemae/ds-button';
3
+ import { css } from '@elliemae/ds-system';
4
+ import { Grid } from '@elliemae/ds-grid';
5
+ import { DSButtonV2 } from '@elliemae/ds-button';
3
6
 
4
- /* eslint-disable max-lines */
5
- const StyledSpacingResetter = /*#__PURE__*/styled.div.withConfig({
7
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
8
+ const diagonalLine = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -2px;\n height: 1px;\n width: calc(100% + 4px);\n transform: rotate(45deg);\n background-color: ", ";\n }\n"])), _ref => {
9
+ let {
10
+ theme
11
+ } = _ref;
12
+ return theme.colors.neutral[500];
13
+ });
14
+ const focusBorder = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &:after {\n position: absolute;\n content: '';\n top: -4px;\n left: -4px;\n width: calc(100% + 8px);\n height: calc(100% + 8px);\n border-radius: 50%;\n }\n"])));
15
+ const backgroundDateRange = {
16
+ inRange: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background-color: ", ";\n box-shadow: 4px 0 0 0 ", ";\n "])), _ref2 => {
17
+ let {
18
+ theme
19
+ } = _ref2;
20
+ return theme.colors.brand[200];
21
+ }, _ref3 => {
22
+ let {
23
+ theme
24
+ } = _ref3;
25
+ return theme.colors.brand[200];
26
+ }),
27
+ startRange: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-radius: 50% 0 0 50%;\n box-shadow: 4px 0 0 0 ", ";\n "])), _ref4 => {
28
+ let {
29
+ theme
30
+ } = _ref4;
31
+ return theme.colors.brand[200];
32
+ }, _ref5 => {
33
+ let {
34
+ theme
35
+ } = _ref5;
36
+ return theme.colors.brand[200];
37
+ }),
38
+ endRange: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-radius: 0 50% 50% 0;\n "])), _ref6 => {
39
+ let {
40
+ theme
41
+ } = _ref6;
42
+ return theme.colors.brand[200];
43
+ })
44
+ };
45
+ const StyledIconTriggerButton = /*#__PURE__*/styled(DSButtonV2).withConfig({
6
46
  componentId: "sc-18gg4kd-0"
7
- })(["*{margin:0;padding:0;box-sizing:border-box;}ul{list-style:none;}", ""], ({
8
- isControllerOnly
9
- }) => isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);');
10
- const StyledCalendarWrapper = /*#__PURE__*/styled.div.withConfig({
47
+ })(["color:", ";width:26px;height:26px;"], _ref7 => {
48
+ let {
49
+ theme
50
+ } = _ref7;
51
+ return theme.colors.brand['600'];
52
+ });
53
+ const StyledShadowWrapper = /*#__PURE__*/styled.div.withConfig({
11
54
  componentId: "sc-18gg4kd-1"
12
- })(["display:grid;width:260px;background-color:", ";grid-template-rows:auto auto;"], ({
13
- theme
14
- }) => theme.colors.neutral['000']);
15
- const StyledHeader = /*#__PURE__*/styled.section.withConfig({
55
+ })(["", ""], _ref8 => {
56
+ let {
57
+ isControllerOnly
58
+ } = _ref8;
59
+ return isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);';
60
+ });
61
+ const StyledCalendarWrapper = /*#__PURE__*/styled.div.withConfig({
16
62
  componentId: "sc-18gg4kd-2"
17
- })(["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;}"], ({
18
- theme
19
- }) => theme.space.xxxs, ({
20
- theme
21
- }) => theme.colors.neutral['050']);
22
- const StyledHeaderButton = /*#__PURE__*/styled(DSButton).withConfig({
63
+ })(["display:grid;width:260px;background-color:", ";grid-template-rows:auto auto;"], _ref9 => {
64
+ let {
65
+ theme
66
+ } = _ref9;
67
+ return theme.colors.neutral['000'];
68
+ });
69
+ const StyledHeader = /*#__PURE__*/styled.section.withConfig({
23
70
  componentId: "sc-18gg4kd-3"
24
- })(["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:", ";}"], ({
25
- theme
26
- }) => theme.colors.brand[700], ({
27
- theme
28
- }) => theme.colors.brand[200]);
29
- const StyledBody = /*#__PURE__*/styled.section.withConfig({
71
+ })(["*{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;}"], _ref10 => {
72
+ let {
73
+ theme
74
+ } = _ref10;
75
+ return theme.space.xxxs;
76
+ }, _ref11 => {
77
+ let {
78
+ theme
79
+ } = _ref11;
80
+ return theme.colors.neutral['050'];
81
+ });
82
+ const StyledHeaderButton = /*#__PURE__*/styled(DSButtonV2).withConfig({
30
83
  componentId: "sc-18gg4kd-4"
31
- })(["padding:", ";"], ({
32
- theme
33
- }) => theme.space.xxxs);
34
- const StyledWeekDaysUList = /*#__PURE__*/styled.ul.withConfig({
84
+ })(["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:", ";}"], _ref12 => {
85
+ let {
86
+ theme
87
+ } = _ref12;
88
+ return theme.colors.brand[700];
89
+ }, _ref13 => {
90
+ let {
91
+ theme
92
+ } = _ref13;
93
+ return theme.colors.brand[200];
94
+ });
95
+ const StyledBody = /*#__PURE__*/styled.section.withConfig({
35
96
  componentId: "sc-18gg4kd-5"
36
- })(["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;}"], ({
37
- theme
38
- }) => theme.space.xxxs, ({
39
- theme
40
- }) => theme.fontSizes.label[400], ({
41
- theme
42
- }) => theme.colors.neutral['050']);
43
- const StyledDayBtn = /*#__PURE__*/styled(DSButton).withConfig({
97
+ })(["padding:", ";"], _ref14 => {
98
+ let {
99
+ theme
100
+ } = _ref14;
101
+ return theme.space.xxxs;
102
+ });
103
+ const StyledDayBtn = /*#__PURE__*/styled(DSButtonV2).withConfig({
44
104
  componentId: "sc-18gg4kd-6"
45
- })(["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);}}}"], ({
46
- theme
47
- }) => theme.space.s, ({
48
- theme
49
- }) => theme.space.s, ({
50
- theme
51
- }) => theme.space.s, ({
52
- theme
53
- }) => theme.colors.neutral[800], ({
54
- theme
55
- }) => theme.fontSizes.label[400], ({
56
- theme
57
- }) => theme.fontWeights.regular, ({
58
- theme
59
- }) => theme.colors.brand[700], ({
60
- theme
61
- }) => theme.colors.neutral['000'], ({
62
- theme
63
- }) => theme.colors.brand[600]);
64
- const StyledMonthDaysUList = /*#__PURE__*/styled.ul.withConfig({
105
+ })(["height:32px;width:32px;border-radius:50%;position:relative;border-width:2px;border-style:solid;border-color:transparent;line-height:1;color:", ";&:hover{cursor:pointer;color:", ";background-color:", ";}&:focus{", "}"], _ref15 => {
106
+ let {
107
+ theme
108
+ } = _ref15;
109
+ return theme.colors.neutral[800];
110
+ }, _ref16 => {
111
+ let {
112
+ theme
113
+ } = _ref16;
114
+ return theme.colors.brand[700];
115
+ }, _ref17 => {
116
+ let {
117
+ theme
118
+ } = _ref17;
119
+ return theme.colors.brand[200];
120
+ }, focusBorder);
121
+ const StyledWeekDaysListWrapper = /*#__PURE__*/styled(Grid).withConfig({
65
122
  componentId: "sc-18gg4kd-7"
66
- })(["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:", ";}}}"], ({
67
- theme
68
- }) => theme.colors.brand[200], ({
69
- theme
70
- }) => theme.colors.brand[200], ({
71
- theme
72
- }) => theme.colors.brand[200], StyledDayBtn, ({
73
- theme
74
- }) => theme.colors.neutral['000'], StyledDayBtn, ({
75
- theme
76
- }) => theme.colors.neutral['000'], ({
77
- theme
78
- }) => theme.colors.brand[700], ({
79
- theme
80
- }) => theme.fontWeights.semibold, StyledDayBtn, ({
81
- theme
82
- }) => theme.fontWeights.light, ({
83
- theme
84
- }) => theme.colors.neutral[500], StyledDayBtn, ({
85
- theme
86
- }) => theme.colors.neutral['000'], StyledDayBtn, ({
87
- theme
88
- }) => theme.colors.neutral[500], ({
89
- theme
90
- }) => theme.fontWeights.light, ({
91
- theme
92
- }) => theme.colors.danger[900], ({
93
- theme
94
- }) => theme.colors.neutral['000'], ({
95
- theme
96
- }) => theme.colors.neutral[500], StyledDayBtn, ({
97
- theme
98
- }) => theme.colors.danger[900], ({
99
- theme
100
- }) => theme.fontWeights.regular, ({
101
- theme
102
- }) => theme.colors.danger[900], StyledDayBtn, ({
103
- theme
104
- }) => theme.colors.neutral['000'], ({
105
- theme
106
- }) => theme.colors.danger[900], ({
107
- theme
108
- }) => theme.colors.neutral['000']);
109
- const CalendarFooterMessage = /*#__PURE__*/styled.footer.withConfig({
123
+ })(["font-size:", ";text-align:center;", ";", ";.dayWrapper.selectedDay,.dayWrapper.startRangeDay,.dayWrapper.endRangeDay{", "{color:", ";font-weight:", ";}&:not(.disabledDay),&:not(.outOfRangeDay){", "{background-color:", ";}}&.disabledDay,&.outOfRangeDay{", "{color:", ";background-color:", ";&:before{background-color:", ";}}}&.focusedDay{", "{color:", ";border-color:", ";}}&.outOfRangeDay.focusedDay{", "{color:", ";&:before{background-color:", ";}}}}.dayWrapper.disabledDay,.dayWrapper.outOfRangeDay{", "{color:", ";", " &:before{background-color:", ";}}&.focusedDay{", "{&:after{border:2px solid ", ";}}}}.dayWrapper.focusedDay{", "{", " color:", ";&:after{border:2px solid ", ";}}&.disabledDay,&.outOfRangeDay{", "{color:", ";&:before{background-color:", ";}}}}.dayWrapper.notCurrentMonth{", "{color:", ";}&.focusedDay{", "{color:", ";}&.disabledDay,&.outOfRangeDay{", "{color:", ";}&.inRangeDay,&.startRangeDay,&.endRangeDay{", "{color:", ";}}}}&.selectedDay,&.startRangeDay,&.endRangeDay{", "{color:", ";}}}.dayWrapper.inRangeDay{", " &.disabledDay,&.outOfRangeDay{", "{color:", ";background-color:", ";&:before{background-color:", ";}}&.focusedDay{", "{border-color:", ";}}}}.dayWrapper.startRangeDay{", " &.focusedDay{", "{color:", ";}}&.disabledDay,&.outOfRangeDay{", "{color:", ";&:before{background-color:", ";}}}}.dayWrapper.endRangeDay{", " &.focusedDay{", "{color:", ";}}&.disabledDay,&.outOfRangeDay{", "{color:", ";&:before{background-color:", ";}}}}.dayWrapper.endRangeDay.startRangeDay{background-color:transparent;box-shadow:none;}"], _ref18 => {
124
+ let {
125
+ theme
126
+ } = _ref18;
127
+ return theme.fontSizes.label[400];
128
+ }, _ref19 => {
129
+ let {
130
+ isHeader,
131
+ theme
132
+ } = _ref19;
133
+ return isHeader ? "background: ".concat(theme.colors.neutral['050']) : '';
134
+ }, _ref20 => {
135
+ let {
136
+ isHeader
137
+ } = _ref20;
138
+ return isHeader ? 'text-transform: capitalize' : '';
139
+ }, StyledDayBtn, _ref21 => {
140
+ let {
141
+ theme
142
+ } = _ref21;
143
+ return theme.colors.neutral['000'];
144
+ }, _ref22 => {
145
+ let {
146
+ theme
147
+ } = _ref22;
148
+ return theme.fontWeights.semibold;
149
+ }, StyledDayBtn, _ref23 => {
150
+ let {
151
+ theme
152
+ } = _ref23;
153
+ return theme.colors.brand[700];
154
+ }, StyledDayBtn, _ref24 => {
155
+ let {
156
+ theme
157
+ } = _ref24;
158
+ return theme.colors.neutral['000'];
159
+ }, _ref25 => {
160
+ let {
161
+ theme
162
+ } = _ref25;
163
+ return theme.colors.danger[900];
164
+ }, _ref26 => {
165
+ let {
166
+ theme
167
+ } = _ref26;
168
+ return theme.colors.neutral['000'];
169
+ }, StyledDayBtn, _ref27 => {
170
+ let {
171
+ theme
172
+ } = _ref27;
173
+ return theme.colors.neutral['000'];
174
+ }, _ref28 => {
175
+ let {
176
+ theme
177
+ } = _ref28;
178
+ return theme.colors.neutral['000'];
179
+ }, StyledDayBtn, _ref29 => {
180
+ let {
181
+ theme
182
+ } = _ref29;
183
+ return theme.colors.neutral['000'];
184
+ }, _ref30 => {
185
+ let {
186
+ theme
187
+ } = _ref30;
188
+ return theme.colors.neutral['000'];
189
+ }, StyledDayBtn, _ref31 => {
190
+ let {
191
+ theme
192
+ } = _ref31;
193
+ return theme.colors.neutral[500];
194
+ }, diagonalLine, _ref32 => {
195
+ let {
196
+ theme
197
+ } = _ref32;
198
+ return theme.colors.neutral[500];
199
+ }, StyledDayBtn, _ref33 => {
200
+ let {
201
+ theme
202
+ } = _ref33;
203
+ return theme.colors.danger[900];
204
+ }, StyledDayBtn, focusBorder, _ref34 => {
205
+ let {
206
+ theme
207
+ } = _ref34;
208
+ return theme.colors.brand[600];
209
+ }, _ref35 => {
210
+ let {
211
+ theme
212
+ } = _ref35;
213
+ return theme.colors.brand[700];
214
+ }, StyledDayBtn, _ref36 => {
215
+ let {
216
+ theme
217
+ } = _ref36;
218
+ return theme.colors.danger[900];
219
+ }, _ref37 => {
220
+ let {
221
+ theme
222
+ } = _ref37;
223
+ return theme.colors.danger[900];
224
+ }, StyledDayBtn, _ref38 => {
225
+ let {
226
+ theme
227
+ } = _ref38;
228
+ return theme.colors.neutral[500];
229
+ }, StyledDayBtn, _ref39 => {
230
+ let {
231
+ theme
232
+ } = _ref39;
233
+ return theme.colors.brand[600];
234
+ }, StyledDayBtn, _ref40 => {
235
+ let {
236
+ theme
237
+ } = _ref40;
238
+ return theme.colors.danger[900];
239
+ }, StyledDayBtn, _ref41 => {
240
+ let {
241
+ theme
242
+ } = _ref41;
243
+ return theme.colors.neutral['000'];
244
+ }, StyledDayBtn, _ref42 => {
245
+ let {
246
+ theme
247
+ } = _ref42;
248
+ return theme.colors.neutral['000'];
249
+ }, backgroundDateRange.inRange, StyledDayBtn, _ref43 => {
250
+ let {
251
+ theme
252
+ } = _ref43;
253
+ return theme.colors.neutral['000'];
254
+ }, _ref44 => {
255
+ let {
256
+ theme
257
+ } = _ref44;
258
+ return theme.colors.danger[900];
259
+ }, _ref45 => {
260
+ let {
261
+ theme
262
+ } = _ref45;
263
+ return theme.colors.neutral['000'];
264
+ }, StyledDayBtn, _ref46 => {
265
+ let {
266
+ theme
267
+ } = _ref46;
268
+ return theme.colors.neutral['000'];
269
+ }, backgroundDateRange.startRange, StyledDayBtn, _ref47 => {
270
+ let {
271
+ theme
272
+ } = _ref47;
273
+ return theme.colors.neutral['000'];
274
+ }, StyledDayBtn, _ref48 => {
275
+ let {
276
+ theme
277
+ } = _ref48;
278
+ return theme.colors.neutral['000'];
279
+ }, _ref49 => {
280
+ let {
281
+ theme
282
+ } = _ref49;
283
+ return theme.colors.neutral['000'];
284
+ }, backgroundDateRange.endRange, StyledDayBtn, _ref50 => {
285
+ let {
286
+ theme
287
+ } = _ref50;
288
+ return theme.colors.neutral['000'];
289
+ }, StyledDayBtn, _ref51 => {
290
+ let {
291
+ theme
292
+ } = _ref51;
293
+ return theme.colors.neutral['000'];
294
+ }, _ref52 => {
295
+ let {
296
+ theme
297
+ } = _ref52;
298
+ return theme.colors.neutral['000'];
299
+ });
300
+ const StyledWeekDaysHeaderItem = /*#__PURE__*/styled.div.withConfig({
110
301
  componentId: "sc-18gg4kd-8"
111
- })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;"], ({
112
- theme
113
- }) => theme.colors.neutral[300], ({
114
- theme
115
- }) => theme.space.xxs2, ({
116
- theme
117
- }) => theme.space.xxs2, ({
118
- theme
119
- }) => theme.colors.danger[900], ({
120
- theme
121
- }) => theme.fontWeights.thin, ({
122
- theme
123
- }) => theme.fontSizes.microText[200]);
302
+ })(["width:", ";min-width:", ";"], _ref53 => {
303
+ let {
304
+ theme
305
+ } = _ref53;
306
+ return theme.space.s;
307
+ }, _ref54 => {
308
+ let {
309
+ theme
310
+ } = _ref54;
311
+ return theme.space.s;
312
+ });
313
+ const CalendarFooterMessage = /*#__PURE__*/styled.footer.withConfig({
314
+ componentId: "sc-18gg4kd-9"
315
+ })(["border-top:solid 1px ", ";margin:0 ", ";padding:", " 0;color:", ";font-style:italic;font-weight:", ";font-size:", ";text-align:right;"], _ref55 => {
316
+ let {
317
+ theme
318
+ } = _ref55;
319
+ return theme.colors.neutral[300];
320
+ }, _ref56 => {
321
+ let {
322
+ theme
323
+ } = _ref56;
324
+ return theme.space.xxs2;
325
+ }, _ref57 => {
326
+ let {
327
+ theme
328
+ } = _ref57;
329
+ return theme.space.xxs2;
330
+ }, _ref58 => {
331
+ let {
332
+ theme
333
+ } = _ref58;
334
+ return theme.colors.danger[900];
335
+ }, _ref59 => {
336
+ let {
337
+ theme
338
+ } = _ref59;
339
+ return theme.fontWeights.thin;
340
+ }, _ref60 => {
341
+ let {
342
+ theme
343
+ } = _ref60;
344
+ return theme.fontSizes.microText[200];
345
+ });
124
346
 
125
- export { CalendarFooterMessage, StyledBody, StyledCalendarWrapper, StyledDayBtn, StyledHeader, StyledHeaderButton, StyledMonthDaysUList, StyledSpacingResetter, StyledWeekDaysUList };
347
+ export { CalendarFooterMessage, StyledBody, StyledCalendarWrapper, StyledDayBtn, StyledHeader, StyledHeaderButton, StyledIconTriggerButton, StyledShadowWrapper, StyledWeekDaysHeaderItem, StyledWeekDaysListWrapper };
@@ -1,32 +1,38 @@
1
- import { useContext, useState, useCallback, useMemo } from 'react';
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
+ import { useContext, useState, useMemo, useCallback } from 'react';
2
3
  import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';
3
4
  import { useKeyboardHandlers } from './useKeyboardHandlers.js';
4
5
  import { useFocusLogic } from './useFocusLogic.js';
5
6
  import { usePopperTriggerLogic } from './usePopperTriggerLogic.js';
6
7
  import { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic.js';
7
8
 
8
- /* eslint-disable complexity */
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ function sliceIntoChunks(arr, chunkSize) {
11
+ const res = [];
12
+
13
+ for (let i = 0; i < arr.length; i += chunkSize) {
14
+ const chunk = arr.slice(i, i + chunkSize);
15
+ res.push(chunk);
16
+ }
17
+
18
+ return res;
19
+ }
20
+
9
21
  const useConfigCalendarCTX = () => {
10
22
  const {
11
- pickerButtonRef,
12
23
  props: {
13
- onPickerOpen,
14
- onPickerClose,
15
- preventCloseOnSelection
24
+ disabled
16
25
  },
17
- hideDate,
18
- hideTime,
19
- monthInputRef,
20
- hourInputRef,
21
26
  prevYearBtnRef,
22
27
  prevMonthBtnRef,
23
28
  nextMonthBtnRef,
24
29
  nextYearBtnRef,
25
30
  calendarDaysWrapperRef,
26
- currMeridiemBtnRef,
27
31
  isControllerOnly,
28
32
  isWithTimeWheelToo,
29
- setLatestInteractionRegion
33
+ setLatestInteractionRegion,
34
+ autoFocusPrevMonthArrow,
35
+ ariaCurrentValueForInputs
30
36
  } = useContext(ControlledDateTimePickerContext);
31
37
  const [showCalendar, setShowCalendar] = useState(false);
32
38
  const {
@@ -38,6 +44,19 @@ const useConfigCalendarCTX = () => {
38
44
  handleNextMonth,
39
45
  handleNextYear
40
46
  } = useCurrentDisplayedMonthYearLogic();
47
+ const {
48
+ invisibleFirstDay,
49
+ daysMatrixByWeekday,
50
+ invisibleLastDay
51
+ } = useMemo(() => {
52
+ const [invisible1stDay, ...otherDays] = [...daysArray];
53
+ const invisibleDayLast = otherDays.pop();
54
+ return {
55
+ invisibleFirstDay: invisible1stDay,
56
+ daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
57
+ invisibleLastDay: invisibleDayLast
58
+ };
59
+ }, [daysArray]);
41
60
  const setLatestInteractionRegionCalendarHead = useCallback(() => {
42
61
  setLatestInteractionRegion('calendar-head');
43
62
  }, [setLatestInteractionRegion]);
@@ -61,14 +80,8 @@ const useConfigCalendarCTX = () => {
61
80
  resetFocusedDayToStartDate
62
81
  } = useFocusLogic({
63
82
  daysArray,
64
- calendarDaysWrapperRef,
65
83
  showCalendar
66
- }); // onOpen we try to focus the day we should focus, if we should focus one
67
-
68
- const handleOnPickerOpen = useCallback(() => {
69
- onPickerOpen();
70
- tryToFocusCurrentlyDataIsFocusedDay();
71
- }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);
84
+ });
72
85
  const {
73
86
  closeCalendar,
74
87
  handleSetTriggerRef,
@@ -78,12 +91,9 @@ const useConfigCalendarCTX = () => {
78
91
  handleToggleCalendar,
79
92
  handleMenuWrapperKeyDown
80
93
  } = usePopperTriggerLogic({
81
- focusedDay,
94
+ tryToFocusCurrentlyDataIsFocusedDay,
82
95
  resetFocusedDayToStartDate,
83
- prevMonthBtnRef,
84
- pickerButtonRef,
85
- onPickerOpen: handleOnPickerOpen,
86
- onPickerClose,
96
+ focusedDay,
87
97
  showCalendar,
88
98
  setShowCalendar
89
99
  });
@@ -99,25 +109,9 @@ const useConfigCalendarCTX = () => {
99
109
  daysArray,
100
110
  handlePrevMonth,
101
111
  handleNextMonth,
102
- pickerButtonRef,
103
- currMeridiemBtnRef,
104
- prevYearBtnRef,
105
- prevMonthBtnRef,
106
- nextMonthBtnRef,
107
- nextYearBtnRef,
108
- isWithTimeWheelToo,
109
- setShowCalendar,
110
- onPickerOpen,
111
- onPickerClose,
112
- setLatestInteractionRegion,
113
112
  handleFocusMetaDay,
114
113
  handleFocusMetaDayByDay,
115
- tryToFocusCurrentlyDataIsFocusedDay,
116
- hideDate,
117
- hideTime,
118
- monthInputRef,
119
- hourInputRef,
120
- preventCloseOnSelection
114
+ tryToFocusCurrentlyDataIsFocusedDay
121
115
  });
122
116
  return useMemo(() => ({
123
117
  showCalendar,
@@ -138,6 +132,9 @@ const useConfigCalendarCTX = () => {
138
132
  currentMonth,
139
133
  currentYear,
140
134
  daysArray,
135
+ invisibleFirstDay,
136
+ daysMatrixByWeekday,
137
+ invisibleLastDay,
141
138
  focusedDay,
142
139
  tryToFocusCurrentlyDataIsFocusedDay,
143
140
  handleFocusMetaDay,
@@ -157,8 +154,11 @@ const useConfigCalendarCTX = () => {
157
154
  onPrevMonthFocus,
158
155
  onNextMonthFocus,
159
156
  onNextYearFocus,
160
- isWithTimeWheelToo
161
- }), [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]);
157
+ isWithTimeWheelToo,
158
+ autoFocusPrevMonthArrow,
159
+ ariaCurrentValueForInputs,
160
+ disabled
161
+ }), [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, disabled]);
162
162
  };
163
163
 
164
164
  export { useConfigCalendarCTX };
@@ -1,8 +1,8 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useEffect, useState, useMemo, createRef, useCallback } from 'react';
2
3
  import { useGetMonthYearFromDateStringOrEmptyStartingMonth } from '../../../utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js';
3
4
  import { getFiveBySevenCurrentMonthDaysMatrix, sumValuesToDate, getDateStringFromDay, sumFromDateValues } from '../../../utils/dateHelpers.js';
4
5
 
5
- /* eslint-disable complexity */
6
6
  const useCurrentDisplayedMonthYearLogic = () => {
7
7
  const {
8
8
  month: monthFromDateString,