@elliemae/ds-controlled-form 1.55.0-next.9 → 1.55.0-rc.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 (299) hide show
  1. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +10 -9
  2. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  3. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +10 -9
  4. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  5. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +10 -9
  6. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  7. package/cjs/controlled-date-range-picker/index.js +10 -9
  8. package/cjs/controlled-date-range-picker/index.js.map +1 -1
  9. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +10 -9
  10. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  11. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -11
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +10 -9
  14. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  15. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +10 -9
  16. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  17. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +10 -9
  18. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  19. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  20. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  21. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +56 -4
  22. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  23. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +148 -0
  24. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -0
  25. package/cjs/controlled-date-time-picker/config/useValidateProps.js +1 -0
  26. package/cjs/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  27. package/cjs/controlled-date-time-picker/index.js +10 -9
  28. package/cjs/controlled-date-time-picker/index.js.map +1 -1
  29. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +8 -6
  30. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +8 -8
  32. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +4 -3
  33. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  34. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +11 -6
  35. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  36. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +4 -3
  37. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  38. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +4 -3
  39. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  40. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +5 -29
  41. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  42. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +6 -4
  43. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  44. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -2
  45. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  46. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +14 -7
  47. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  49. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  50. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -8
  51. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  52. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +1 -0
  53. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  54. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -33
  55. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  56. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +16 -11
  57. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  58. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +9 -2
  59. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  60. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -1
  61. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  62. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +6 -2
  63. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  64. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -13
  65. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  66. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +105 -86
  67. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  68. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +39 -4
  69. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  70. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -0
  71. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  72. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -0
  73. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  74. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +1 -0
  75. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  76. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  77. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -9
  78. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +9 -9
  79. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  80. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  81. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  82. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +5 -2
  83. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  84. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +39 -11
  85. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  86. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +8 -7
  87. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  88. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +27 -17
  89. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  90. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  91. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  92. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +9 -9
  93. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +15 -18
  94. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  95. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +16 -23
  96. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  97. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +16 -19
  98. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  99. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +7 -9
  100. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  101. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +62 -56
  102. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  103. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  104. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  105. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -5
  106. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  107. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  108. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  109. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -1
  110. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
  111. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  112. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -5
  113. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  114. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +7 -4
  115. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  116. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +1 -0
  117. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  118. package/cjs/controlled-date-time-picker/parts/Styleds.js +4 -5
  119. package/cjs/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  120. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -2
  121. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  122. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -2
  123. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  124. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +3 -2
  125. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  126. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +1 -1
  127. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +10 -4
  128. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  129. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +8 -31
  130. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  131. package/cjs/controlled-date-time-picker/utils/constants.js +44 -0
  132. package/cjs/controlled-date-time-picker/utils/constants.js.map +1 -0
  133. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +2 -2
  134. package/cjs/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  135. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +3 -2
  136. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  137. package/cjs/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js +1 -0
  138. package/cjs/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  139. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -0
  140. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  141. package/cjs/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js +1 -0
  142. package/cjs/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  143. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +16 -0
  144. package/cjs/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  145. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -0
  146. package/cjs/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  147. package/cjs/index.js +10 -9
  148. package/cjs/index.js.map +1 -1
  149. package/controlled-date-time-picker/config/useGetDestructuredValues/package.json +10 -0
  150. package/controlled-date-time-picker/utils/constants/package.json +10 -0
  151. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js +10 -9
  152. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  153. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +10 -9
  154. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  155. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +10 -9
  156. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  157. package/esm/controlled-date-range-picker/index.js +10 -9
  158. package/esm/controlled-date-range-picker/index.js.map +1 -1
  159. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +10 -9
  160. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  161. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -11
  162. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  163. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +10 -9
  164. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  165. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +10 -9
  166. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  167. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js +10 -9
  168. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  169. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  170. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  171. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +56 -4
  172. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  173. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +142 -0
  174. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -0
  175. package/esm/controlled-date-time-picker/config/useValidateProps.js +1 -0
  176. package/esm/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  177. package/esm/controlled-date-time-picker/index.js +10 -9
  178. package/esm/controlled-date-time-picker/index.js.map +1 -1
  179. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +7 -5
  180. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  181. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +8 -8
  182. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +4 -3
  183. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  184. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +11 -6
  185. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  186. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +4 -3
  187. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  188. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +4 -3
  189. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  190. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +8 -31
  191. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  192. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +6 -4
  193. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  194. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -2
  195. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  196. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -8
  197. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  198. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  199. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  200. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +36 -9
  201. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  202. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +1 -0
  203. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  204. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -33
  205. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  206. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +15 -9
  207. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  208. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +9 -2
  209. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  210. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -2
  211. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  212. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +6 -2
  213. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  214. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +25 -13
  215. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  216. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +103 -85
  217. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  218. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +39 -5
  219. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  220. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -0
  221. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  222. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -0
  223. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  224. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +1 -0
  225. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  226. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  227. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -9
  228. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +9 -9
  229. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  230. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  231. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  232. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +5 -2
  233. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  234. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +38 -9
  235. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  236. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +8 -7
  237. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  238. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +27 -18
  239. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  240. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  241. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  242. package/esm/controlled-date-time-picker/parts/Pickers/PickersIcons.js +9 -9
  243. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +15 -16
  244. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  245. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +16 -21
  246. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  247. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +16 -17
  248. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  249. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +7 -9
  250. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  251. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +62 -56
  252. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  253. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  254. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  255. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -5
  256. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  257. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  258. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  259. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -1
  260. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -9
  261. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  262. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -5
  263. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  264. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +7 -4
  265. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  266. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +1 -0
  267. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  268. package/esm/controlled-date-time-picker/parts/Styleds.js +4 -4
  269. package/esm/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  270. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -2
  271. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  272. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -2
  273. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  274. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +3 -2
  275. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  276. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +1 -1
  277. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +10 -4
  278. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  279. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +9 -32
  280. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  281. package/esm/controlled-date-time-picker/utils/constants.js +38 -0
  282. package/esm/controlled-date-time-picker/utils/constants.js.map +1 -0
  283. package/esm/controlled-date-time-picker/utils/dateHelpers.js +1 -1
  284. package/esm/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  285. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +3 -2
  286. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  287. package/esm/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js +1 -0
  288. package/esm/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  289. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -0
  290. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  291. package/esm/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js +1 -0
  292. package/esm/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  293. package/esm/controlled-date-time-picker/utils/stringHelpers.js +16 -1
  294. package/esm/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  295. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -0
  296. package/esm/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  297. package/esm/index.js +10 -9
  298. package/esm/index.js.map +1 -1
  299. package/package.json +10 -5
@@ -1 +1 @@
1
- {"version":3,"file":"useConfigCalendarCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useState, useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContextT } from './CalendarContext';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\nimport { useFocusLogic } from './useFocusLogic';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\n\nexport const useConfigCalendarCTX = (): CalendarContextT => {\n const {\n pickerButtonRef,\n props: { onPickerOpen, onPickerClose, preventCloseOnSelection },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n autoFocusPrevMonthArrow,\n } = useContext(ControlledDateTimePickerContext);\n const [showCalendar, setShowCalendar] = useState(false);\n\n const { currentMonth, currentYear, daysArray, handlePrevYear, handlePrevMonth, handleNextMonth, handleNextYear } =\n useCurrentDisplayedMonthYearLogic();\n\n const setLatestInteractionRegionCalendarHead = useCallback(() => {\n setLatestInteractionRegion('calendar-head');\n }, [setLatestInteractionRegion]);\n const onPrevYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onPrevMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n\n const {\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n } = useFocusLogic({\n daysArray,\n calendarDaysWrapperRef,\n showCalendar,\n });\n\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n tryToFocusCurrentlyDataIsFocusedDay();\n }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen: handleOnPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n });\n const {\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n pickerButtonRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n setShowCalendar,\n onPickerOpen,\n onPickerClose,\n setLatestInteractionRegion,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n preventCloseOnSelection,\n });\n\n return useMemo(\n () => ({\n showCalendar,\n setShowCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n }),\n [\n showCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currentMonth,\n currentYear,\n daysArray,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n ],\n );\n};\n"],"names":["useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","onPickerOpen","onPickerClose","preventCloseOnSelection","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currMeridiemBtnRef","currHourBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","autoFocusPrevMonthArrow","useState","showCalendar","setShowCalendar","useCurrentDisplayedMonthYearLogic","currentMonth","currentYear","daysArray","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","setLatestInteractionRegionCalendarHead","useCallback","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","useFocusLogic","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","handleFocusMetaDay","handleFocusMetaDayByDay","resetFocusedDayToStartDate","handleOnPickerOpen","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useConfigCalendarCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useState, useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContextT } from './CalendarContext';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\nimport { useFocusLogic } from './useFocusLogic';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\nimport type { metaMonthDayT } from '../../../index.d';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction sliceIntoChunks<T = any>(arr: Array<T>, chunkSize: number): Array<Array<T>> {\n const res = [];\n for (let i = 0; i < arr.length; i += chunkSize) {\n const chunk = arr.slice(i, i + chunkSize);\n res.push(chunk);\n }\n return res;\n}\nexport const useConfigCalendarCTX = (): CalendarContextT => {\n const {\n pickerButtonRef,\n props: { onPickerOpen, onPickerClose, preventCloseOnSelection },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n autoFocusPrevMonthArrow,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n const [showCalendar, setShowCalendar] = useState(false);\n\n const { currentMonth, currentYear, daysArray, handlePrevYear, handlePrevMonth, handleNextMonth, handleNextYear } =\n useCurrentDisplayedMonthYearLogic();\n const { invisibleFirstDay, daysMatrixByWeekday, invisibleLastDay } = useMemo(() => {\n const [invisible1stDay, ...otherDays] = [...daysArray];\n const invisibleDayLast = otherDays.pop();\n return {\n invisibleFirstDay: invisible1stDay,\n daysMatrixByWeekday: sliceIntoChunks<metaMonthDayT>(otherDays, 7),\n invisibleLastDay: invisibleDayLast,\n };\n }, [daysArray]);\n\n const setLatestInteractionRegionCalendarHead = useCallback(() => {\n setLatestInteractionRegion('calendar-head');\n }, [setLatestInteractionRegion]);\n const onPrevYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onPrevMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextMonthFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n const onNextYearFocus = useCallback(() => {\n setLatestInteractionRegionCalendarHead();\n }, [setLatestInteractionRegionCalendarHead]);\n\n const {\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n } = useFocusLogic({\n daysArray,\n calendarDaysWrapperRef,\n showCalendar,\n });\n\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n tryToFocusCurrentlyDataIsFocusedDay();\n }, [onPickerOpen, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen: handleOnPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n });\n const {\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n } = useKeyboardHandlers({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n pickerButtonRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n setShowCalendar,\n onPickerOpen,\n onPickerClose,\n setLatestInteractionRegion,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n preventCloseOnSelection,\n });\n\n return useMemo(\n () => ({\n showCalendar,\n setShowCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n\n currentMonth,\n currentYear,\n daysArray,\n invisibleFirstDay,\n daysMatrixByWeekday,\n invisibleLastDay,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendar,\n closeCalendar,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n isControllerOnly,\n calendarDaysWrapperRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currentMonth,\n currentYear,\n daysArray,\n invisibleFirstDay,\n daysMatrixByWeekday,\n invisibleLastDay,\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n resetFocusedDayToStartDate,\n handlePrevMonth,\n handlePrevYear,\n handleNextMonth,\n handleNextYear,\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n onPrevYearFocus,\n onPrevMonthFocus,\n onNextMonthFocus,\n onNextYearFocus,\n isWithTimeWheelToo,\n autoFocusPrevMonthArrow,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],"names":["sliceIntoChunks","arr","chunkSize","res","i","length","chunk","slice","push","useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","onPickerOpen","onPickerClose","preventCloseOnSelection","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","currMeridiemBtnRef","currHourBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","autoFocusPrevMonthArrow","ariaCurrentValueForInputs","useState","showCalendar","setShowCalendar","useCurrentDisplayedMonthYearLogic","currentMonth","currentYear","daysArray","handlePrevYear","handlePrevMonth","handleNextMonth","handleNextYear","useMemo","invisible1stDay","otherDays","invisibleDayLast","pop","invisibleFirstDay","daysMatrixByWeekday","invisibleLastDay","setLatestInteractionRegionCalendarHead","useCallback","onPrevYearFocus","onPrevMonthFocus","onNextMonthFocus","onNextYearFocus","useFocusLogic","focusedDay","tryToFocusCurrentlyDataIsFocusedDay","handleFocusMetaDay","handleFocusMetaDayByDay","resetFocusedDayToStartDate","handleOnPickerOpen","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown"],"mappings":"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"}
@@ -6,6 +6,7 @@ import { getFiveBySevenCurrentMonthDaysMatrix, sumValuesToDate, getDateStringFro
6
6
  import '../../../ControlledDateTimePickerCTX.js';
7
7
  import '../../../ControlledDateTimePickerTypes.js';
8
8
  import '../../../utils/stringHelpers.js';
9
+ import '../../../utils/constants.js';
9
10
  import '../../../utils/numberHelpers.js';
10
11
 
11
12
  var useCurrentDisplayedMonthYearLogic = function useCurrentDisplayedMonthYearLogic() {
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentDisplayedMonthYearLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useEffect, createRef } from 'react';\n// eslint-disable-next-line max-len\nimport { useGetMonthYearFromDateStringOrEmptyStartingMonth } from '../../../utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth';\nimport {\n getFiveBySevenCurrentMonthDaysMatrix,\n sumFromDateValues,\n sumValuesToDate,\n getDateStringFromDay,\n} from '../../../utils/dateHelpers';\nimport type { useCurrentDisplayedMonthYearLogicT } from './CalendarContext';\n\nexport const useCurrentDisplayedMonthYearLogic = (): useCurrentDisplayedMonthYearLogicT => {\n const { month: monthFromDateString, year: yearFromDateString } = useGetMonthYearFromDateStringOrEmptyStartingMonth();\n\n // side-effects are really really controlled in this case so use-effect should be fine\n // don't add 200 side-effects to those or else Chaos would hunt us for the years to come\n useEffect(() => {\n setCurrentMonth(monthFromDateString);\n }, [monthFromDateString]);\n useEffect(() => {\n setCurrentYear(yearFromDateString);\n }, [yearFromDateString]);\n const [currentMonth, setCurrentMonth] = useState(monthFromDateString);\n const [currentYear, setCurrentYear] = useState(yearFromDateString);\n\n const daysArray = useMemo(() => {\n const newDaysArray = getFiveBySevenCurrentMonthDaysMatrix(currentMonth, currentYear);\n const hiddenPrevDay = sumValuesToDate(newDaysArray[0].day, {\n daysToSum: -1,\n });\n const hiddenPrevMetaday = {\n day: hiddenPrevDay,\n dayAsString: getDateStringFromDay(hiddenPrevDay),\n isPrevMonthDay: true,\n isNextMonthDay: false,\n isCurrMonthDay: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n isHidden: true,\n };\n const hiddenNextDay = sumValuesToDate(newDaysArray[newDaysArray.length - 1].day, {\n daysToSum: 1,\n });\n const hiddenNextMetaday = {\n day: hiddenNextDay,\n dayAsString: getDateStringFromDay(hiddenNextDay),\n isPrevMonthDay: false,\n isNextMonthDay: true,\n isCurrMonthDay: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n isHidden: true,\n };\n return [hiddenPrevMetaday, ...newDaysArray, hiddenNextMetaday];\n }, [currentMonth, currentYear]);\n\n const handlePrevYear = useCallback(() => {\n const { year: newYear } = sumFromDateValues({ month: currentMonth, year: currentYear }, { yearsToSum: -1 });\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handlePrevMonth = useCallback(() => {\n const { month: newMonth, year: newYear } = sumFromDateValues(\n { month: currentMonth, year: currentYear },\n { monthsToSum: -1 },\n );\n setCurrentMonth(newMonth);\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handleNextMonth = useCallback(() => {\n const { month: newMonth, year: newYear } = sumFromDateValues(\n { month: currentMonth, year: currentYear },\n { monthsToSum: 1 },\n );\n setCurrentMonth(newMonth);\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handleNextYear = useCallback(() => {\n const { year: newYear } = sumFromDateValues({ month: currentMonth, year: currentYear }, { yearsToSum: 1 });\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n return useMemo(\n () => ({\n currentMonth,\n currentYear,\n daysArray,\n handlePrevYear,\n handlePrevMonth,\n handleNextMonth,\n handleNextYear,\n }),\n [currentMonth, currentYear, daysArray, handleNextMonth, handleNextYear, handlePrevMonth, handlePrevYear],\n );\n};\n"],"names":["useCurrentDisplayedMonthYearLogic","useGetMonthYearFromDateStringOrEmptyStartingMonth","monthFromDateString","month","yearFromDateString","year","useEffect","setCurrentMonth","setCurrentYear","useState","currentMonth","currentYear","daysArray","useMemo","newDaysArray","getFiveBySevenCurrentMonthDaysMatrix","hiddenPrevDay","sumValuesToDate","day","daysToSum","hiddenPrevMetaday","dayAsString","getDateStringFromDay","isPrevMonthDay","isNextMonthDay","isCurrMonthDay","dayBtnRef","createRef","isHidden","hiddenNextDay","length","hiddenNextMetaday","handlePrevYear","useCallback","sumFromDateValues","yearsToSum","newYear","handlePrevMonth","monthsToSum","newMonth","handleNextMonth","handleNextYear"],"mappings":"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"}
1
+ {"version":3,"file":"useCurrentDisplayedMonthYearLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useEffect, createRef } from 'react';\n// eslint-disable-next-line max-len\nimport { useGetMonthYearFromDateStringOrEmptyStartingMonth } from '../../../utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth';\nimport {\n getFiveBySevenCurrentMonthDaysMatrix,\n sumFromDateValues,\n sumValuesToDate,\n getDateStringFromDay,\n} from '../../../utils/dateHelpers';\nimport type { useCurrentDisplayedMonthYearLogicT } from './CalendarContext';\n\nexport const useCurrentDisplayedMonthYearLogic = (): useCurrentDisplayedMonthYearLogicT => {\n const { month: monthFromDateString, year: yearFromDateString } = useGetMonthYearFromDateStringOrEmptyStartingMonth();\n\n // side-effects are really really controlled in this case so use-effect should be fine\n // don't add 200 side-effects to those or else Chaos would hunt us for the years to come\n useEffect(() => {\n setCurrentMonth(monthFromDateString);\n }, [monthFromDateString]);\n useEffect(() => {\n setCurrentYear(yearFromDateString);\n }, [yearFromDateString]);\n const [currentMonth, setCurrentMonth] = useState(monthFromDateString);\n const [currentYear, setCurrentYear] = useState(yearFromDateString);\n\n const daysArray = useMemo(() => {\n const newDaysArray = getFiveBySevenCurrentMonthDaysMatrix(currentMonth, currentYear);\n const hiddenPrevDay = sumValuesToDate(newDaysArray[0].day, {\n daysToSum: -1,\n });\n const hiddenPrevMetaday = {\n day: hiddenPrevDay,\n dayAsString: getDateStringFromDay(hiddenPrevDay),\n isPrevMonthDay: true,\n isNextMonthDay: false,\n isCurrMonthDay: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n isHidden: true,\n };\n const hiddenNextDay = sumValuesToDate(newDaysArray[newDaysArray.length - 1].day, {\n daysToSum: 1,\n });\n const hiddenNextMetaday = {\n day: hiddenNextDay,\n dayAsString: getDateStringFromDay(hiddenNextDay),\n isPrevMonthDay: false,\n isNextMonthDay: true,\n isCurrMonthDay: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n isHidden: true,\n };\n return [hiddenPrevMetaday, ...newDaysArray, hiddenNextMetaday];\n }, [currentMonth, currentYear]);\n\n const handlePrevYear = useCallback(() => {\n const { year: newYear } = sumFromDateValues({ month: currentMonth, year: currentYear }, { yearsToSum: -1 });\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handlePrevMonth = useCallback(() => {\n const { month: newMonth, year: newYear } = sumFromDateValues(\n { month: currentMonth, year: currentYear },\n { monthsToSum: -1 },\n );\n setCurrentMonth(newMonth);\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handleNextMonth = useCallback(() => {\n const { month: newMonth, year: newYear } = sumFromDateValues(\n { month: currentMonth, year: currentYear },\n { monthsToSum: 1 },\n );\n setCurrentMonth(newMonth);\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n const handleNextYear = useCallback(() => {\n const { year: newYear } = sumFromDateValues({ month: currentMonth, year: currentYear }, { yearsToSum: 1 });\n setCurrentYear(newYear);\n }, [currentMonth, currentYear]);\n\n return useMemo(\n () => ({\n currentMonth,\n currentYear,\n daysArray,\n handlePrevYear,\n handlePrevMonth,\n handleNextMonth,\n handleNextYear,\n }),\n [currentMonth, currentYear, daysArray, handleNextMonth, handleNextYear, handlePrevMonth, handlePrevYear],\n );\n};\n"],"names":["useCurrentDisplayedMonthYearLogic","useGetMonthYearFromDateStringOrEmptyStartingMonth","monthFromDateString","month","yearFromDateString","year","useEffect","setCurrentMonth","setCurrentYear","useState","currentMonth","currentYear","daysArray","useMemo","newDaysArray","getFiveBySevenCurrentMonthDaysMatrix","hiddenPrevDay","sumValuesToDate","day","daysToSum","hiddenPrevMetaday","dayAsString","getDateStringFromDay","isPrevMonthDay","isNextMonthDay","isCurrMonthDay","dayBtnRef","createRef","isHidden","hiddenNextDay","length","hiddenNextMetaday","handlePrevYear","useCallback","sumFromDateValues","yearsToSum","newYear","handlePrevMonth","monthsToSum","newMonth","handleNextMonth","handleNextYear"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { useState, useMemo, useCallback, useLayoutEffect } from 'react';
3
3
  import { compareTwoDatesDayEquality } from '../../../utils/dateHelpers.js';
4
4
  import { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay.js';
5
5
  import '@babel/runtime/helpers/esm/toConsumableArray';
6
+ import '../../../utils/constants.js';
6
7
  import '../../../utils/stringHelpers.js';
7
8
  import '../../../utils/numberHelpers.js';
8
9
  import '../../../ControlledDateTimePickerCTX.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useLayoutEffect } from 'react';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport type { fiveBySevenCurrentMonthDaysT } from '../../../index.d';\nimport type { FocusLogicT } from './CalendarContext';\n\n// eslint-disable-next-line max-params\nconst loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {\n let ab = maxTries;\n const inter = setInterval(() => {\n cb();\n if (shortcircuit() || ab === 0) clearInterval(inter);\n ab -= 1;\n }, timePerTry);\n};\n\ninterface useFocusLogicArgsT {\n daysArray: fiveBySevenCurrentMonthDaysT[];\n calendarDaysWrapperRef: React.RefObject<HTMLDivElement>;\n showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, calendarDaysWrapperRef, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<fiveBySevenCurrentMonthDaysT>(\n daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate)),\n );\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n const newFocusedDay = metadayToFocus\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day))\n : daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const tryToFocusCurrentlyDataIsFocusedDay = useCallback(\n (wrapperDOM: HTMLElement | Document = calendarDaysWrapperRef?.current || document) => {\n let shortcircuit = false;\n loopWhileWaiting(\n () => {\n const domElem = wrapperDOM?.querySelector<HTMLButtonElement>('[data-isfocused=\"true\"]');\n if (domElem) {\n domElem?.focus?.();\n shortcircuit = true;\n }\n },\n () => shortcircuit,\n );\n },\n [calendarDaysWrapperRef],\n );\n\n useLayoutEffect(() => {\n if (showCalendar) tryToFocusCurrentlyDataIsFocusedDay(calendarDaysWrapperRef?.current);\n }, [calendarDaysWrapperRef, focusedDay, showCalendar, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(null);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n ],\n );\n};\n"],"names":["loopWhileWaiting","cb","shortcircuit","timePerTry","maxTries","ab","inter","setInterval","clearInterval","useFocusLogic","daysArray","calendarDaysWrapperRef","showCalendar","useGetStartingFocusedDay","startFocusedDate","useState","find","currDay","day","compareTwoDatesDayEquality","metadayToFocus","setMetadayToFocus","focusedDay","useMemo","newFocusedDay","tryToFocusCurrentlyDataIsFocusedDay","useCallback","wrapperDOM","current","document","domElem","querySelector","focus","useLayoutEffect","handleFocusMetaDay","metaDayToFocus","newFocusedMetaDay","handleFocusMetaDayByDay","dayDate","resetFocusedDayToStartDate"],"mappings":"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"}
1
+ {"version":3,"file":"useFocusLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState, useLayoutEffect } from 'react';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { FocusLogicT } from './CalendarContext';\n\n// eslint-disable-next-line max-params\nconst loopWhileWaiting = (cb, shortcircuit = () => false, timePerTry = 100, maxTries = 5) => {\n let ab = maxTries;\n const inter = setInterval(() => {\n cb();\n if (shortcircuit() || ab === 0) clearInterval(inter);\n ab -= 1;\n }, timePerTry);\n};\n\ninterface useFocusLogicArgsT {\n daysArray: metaMonthDayT[];\n calendarDaysWrapperRef: React.RefObject<HTMLDivElement>;\n showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, calendarDaysWrapperRef, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<metaMonthDayT>(\n daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate)),\n );\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n const newFocusedDay = metadayToFocus\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day))\n : daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const tryToFocusCurrentlyDataIsFocusedDay = useCallback(\n (wrapperDOM: HTMLElement | Document = calendarDaysWrapperRef?.current || document) => {\n let shortcircuit = false;\n loopWhileWaiting(\n () => {\n const domElem = wrapperDOM?.querySelector<HTMLButtonElement>('[data-isfocused=\"true\"]');\n if (domElem) {\n domElem?.focus?.();\n shortcircuit = true;\n }\n },\n () => shortcircuit,\n );\n },\n [calendarDaysWrapperRef],\n );\n\n useLayoutEffect(() => {\n if (showCalendar) tryToFocusCurrentlyDataIsFocusedDay(calendarDaysWrapperRef?.current);\n }, [calendarDaysWrapperRef, focusedDay, showCalendar, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(null);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [\n focusedDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n ],\n );\n};\n"],"names":["loopWhileWaiting","cb","shortcircuit","timePerTry","maxTries","ab","inter","setInterval","clearInterval","useFocusLogic","daysArray","calendarDaysWrapperRef","showCalendar","useGetStartingFocusedDay","startFocusedDate","useState","find","currDay","day","compareTwoDatesDayEquality","metadayToFocus","setMetadayToFocus","focusedDay","useMemo","newFocusedDay","tryToFocusCurrentlyDataIsFocusedDay","useCallback","wrapperDOM","current","document","domElem","querySelector","focus","useLayoutEffect","handleFocusMetaDay","metaDayToFocus","newFocusedMetaDay","handleFocusMetaDayByDay","dayDate","resetFocusedDayToStartDate"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { useCallback, useMemo } from 'react';
2
2
  import { sumValuesToDate } from '../../../utils/dateHelpers.js';
3
3
  import '@babel/runtime/helpers/esm/toConsumableArray';
4
+ import '../../../utils/constants.js';
4
5
  import '../../../utils/stringHelpers.js';
5
6
  import '@babel/runtime/helpers/esm/slicedToArray';
6
7
  import '../../../utils/numberHelpers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback } from 'react';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { fiveBySevenCurrentMonthDaysT, onKeyDownT, latestInteractionRegionT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: fiveBySevenCurrentMonthDaysT;\n daysArray: fiveBySevenCurrentMonthDaysT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n currMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;\n currHourBtnRef: React.MutableRefObject<HTMLButtonElement>;\n isWithTimeWheelToo: boolean;\n isControllerOnly: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n setLatestInteractionRegion: React.Dispatch<React.SetStateAction<latestInteractionRegionT>>;\n handleFocusMetaDay: (metaDayToFocus: fiveBySevenCurrentMonthDaysT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n hideDate: boolean;\n hideTime: boolean;\n preventCloseOnSelection: boolean;\n monthInputRef: React.RefObject<HTMLInputElement>;\n hourInputRef: React.RefObject<HTMLInputElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n setLatestInteractionRegion,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const tryToFocusDayRegion = useCallback(() => {\n setLatestInteractionRegion('calendar-days');\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay)\n setTimeout(() => {\n handleFocusMetaDay(newFocusDay);\n });\n } else {\n tryToFocusCurrentlyDataIsFocusedDay();\n }\n }, [daysArray, focusedDay, handleFocusMetaDay, setLatestInteractionRegion, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n prevMonthBtnRef?.current?.focus?.();\n }, [prevMonthBtnRef]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }, [currMeridiemBtnRef, isWithTimeWheelToo, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End'];\n const stopPropagationKeys = ['Home', 'End'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n },\n [onHomeKeyDownTriggerIcon],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n setTimeout(tryToFocusCurrentlyDataIsFocusedDay);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab') {\n e.preventDefault(); // we only prevent default if it's not controller only\n if (shiftKey) {\n nextYearBtnRef?.current?.focus?.();\n } else if (isWithTimeWheelToo) {\n currHourBtnRef?.current?.focus?.();\n } else {\n // Before it was like https://jira.elliemae.io/browse/PUI-6632\n // setShowCalendar(false);\n // onPickerClose();\n // we are implementing focus cycle now\n // if someone changes his mind, remove comments to the above and add comments below\n // setShowCalendar onPickerClose are recibed as part of the args of the hook already\n prevMonthBtnRef?.current?.focus?.();\n }\n }\n },\n [\n currHourBtnRef,\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n nextYearBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n prevMonthBtnRef,\n tryToFocusCurrentlyDataIsFocusedDay,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n nextMonthBtnRef.current.focus();\n } else {\n nextYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [nextMonthBtnRef, nextYearBtnRef, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n nextMonthBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n nextMonthBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevMonthBtnRef.current.focus();\n } else {\n prevYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, prevYearBtnRef],\n );\n const handleNextYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevYearBtnRef?.current?.focus?.();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, prevYearBtnRef, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","focusedDay","daysArray","handlePrevMonth","handleNextMonth","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","currHourBtnRef","isWithTimeWheelToo","isControllerOnly","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","hideDate","hideTime","monthInputRef","hourInputRef","setLatestInteractionRegion","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","preventDefaultKeys","stopPropagationKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","sumValuesToDate","daysToSum","length","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardHandlers.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback } from 'react';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { metaMonthDayT, onKeyDownT, latestInteractionRegionT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: metaMonthDayT;\n daysArray: metaMonthDayT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n currMeridiemBtnRef: React.MutableRefObject<HTMLButtonElement>;\n currHourBtnRef: React.MutableRefObject<HTMLButtonElement>;\n isWithTimeWheelToo: boolean;\n isControllerOnly: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n setLatestInteractionRegion: React.Dispatch<React.SetStateAction<latestInteractionRegionT>>;\n handleFocusMetaDay: (metaDayToFocus: metaMonthDayT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n hideDate: boolean;\n hideTime: boolean;\n preventCloseOnSelection: boolean;\n monthInputRef: React.RefObject<HTMLInputElement>;\n hourInputRef: React.RefObject<HTMLInputElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n currHourBtnRef,\n isWithTimeWheelToo,\n isControllerOnly,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n setLatestInteractionRegion,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const tryToFocusDayRegion = useCallback(() => {\n setLatestInteractionRegion('calendar-days');\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay)\n setTimeout(() => {\n handleFocusMetaDay(newFocusDay);\n });\n } else {\n tryToFocusCurrentlyDataIsFocusedDay();\n }\n }, [daysArray, focusedDay, handleFocusMetaDay, setLatestInteractionRegion, tryToFocusCurrentlyDataIsFocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n prevMonthBtnRef?.current?.focus?.();\n }, [prevMonthBtnRef]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }, [currMeridiemBtnRef, isWithTimeWheelToo, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n if (!hideDate) monthInputRef?.current?.focus?.();\n else if (!hideTime) hourInputRef?.current?.focus?.();\n }, [hideDate, hideTime, monthInputRef, hourInputRef]);\n const handlePickerIconKeyDown: onKeyDownT<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n const preventDefaultKeys = ['Home', 'End'];\n const stopPropagationKeys = ['Home', 'End'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n },\n [onHomeKeyDownTriggerIcon],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n const stopPropagationKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (preventDefaultKeys.includes(key)) e.preventDefault();\n if (stopPropagationKeys.includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n setTimeout(tryToFocusCurrentlyDataIsFocusedDay);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab') {\n e.preventDefault(); // we only prevent default if it's not controller only\n if (shiftKey) {\n nextYearBtnRef?.current?.focus?.();\n } else if (isWithTimeWheelToo) {\n currHourBtnRef?.current?.focus?.();\n } else {\n // Before it was like https://jira.elliemae.io/browse/PUI-6632\n // setShowCalendar(false);\n // onPickerClose();\n // we are implementing focus cycle now\n // if someone changes his mind, remove comments to the above and add comments below\n // setShowCalendar onPickerClose are recibed as part of the args of the hook already\n prevMonthBtnRef?.current?.focus?.();\n }\n }\n },\n [\n currHourBtnRef,\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n nextYearBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n prevMonthBtnRef,\n tryToFocusCurrentlyDataIsFocusedDay,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n nextMonthBtnRef.current.focus();\n } else {\n nextYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [nextMonthBtnRef, nextYearBtnRef, onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) currMeridiemBtnRef?.current?.focus?.();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n nextMonthBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n nextMonthBtnRef,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevMonthBtnRef.current.focus();\n } else {\n prevYearBtnRef.current.focus();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, prevMonthBtnRef, prevYearBtnRef],\n );\n const handleNextYearKeyDown = useCallback(\n (e) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n prevYearBtnRef?.current?.focus?.();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, prevYearBtnRef, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n"],"names":["useKeyboardHandlers","focusedDay","daysArray","handlePrevMonth","handleNextMonth","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","currHourBtnRef","isWithTimeWheelToo","isControllerOnly","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","hideDate","hideTime","monthInputRef","hourInputRef","setLatestInteractionRegion","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","preventDefaultKeys","stopPropagationKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","sumValuesToDate","daysToSum","length","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","useMemo"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePopperTriggerLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useState } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { fiveBySevenCurrentMonthDaysT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n focusedDay: fiveBySevenCurrentMonthDaysT;\n resetFocusedDayToStartDate: () => void;\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n onPickerOpen();\n }, [focusedDay, onPickerOpen, prevMonthBtnRef, setShowCalendar]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n pickerButtonRef?.current?.focus?.();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, pickerButtonRef]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar();\n });\n\n return useMemo(\n () => ({\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, usePopperHelpers],\n );\n};\n"],"names":["usePopperTriggerLogic","focusedDay","resetFocusedDayToStartDate","prevMonthBtnRef","pickerButtonRef","onPickerOpen","onPickerClose","showCalendar","setShowCalendar","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","useCallback","setTimeout","dayBtnRef","current","focus","closeCalendar","handleToggleCalendar","isOpening","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","e","key","useOnClickOutside","contains","target","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"usePopperTriggerLogic.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.tsx"],"sourcesContent":["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useState } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n focusedDay: metaMonthDayT;\n resetFocusedDayToStartDate: () => void;\n prevMonthBtnRef: React.RefObject<HTMLButtonElement>;\n pickerButtonRef: React.MutableRefObject<HTMLButtonElement>;\n onPickerOpen: () => void;\n onPickerClose: () => void;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n prevMonthBtnRef,\n pickerButtonRef,\n onPickerOpen,\n onPickerClose,\n showCalendar,\n setShowCalendar,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n onPickerOpen();\n }, [focusedDay, onPickerOpen, prevMonthBtnRef, setShowCalendar]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n pickerButtonRef?.current?.focus?.();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, pickerButtonRef]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n },\n [pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar();\n });\n\n return useMemo(\n () => ({\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, usePopperHelpers],\n );\n};\n"],"names":["usePopperTriggerLogic","focusedDay","resetFocusedDayToStartDate","prevMonthBtnRef","pickerButtonRef","onPickerOpen","onPickerClose","showCalendar","setShowCalendar","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","useCallback","setTimeout","dayBtnRef","current","focus","closeCalendar","handleToggleCalendar","isOpening","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","e","key","useOnClickOutside","contains","target","useMemo"],"mappings":"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"}
@@ -5,21 +5,21 @@ import { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext.js'
5
5
  import { useConfigCalendarWithTimeWheelCTX } from './useConfigCalendarWithTimeWheelCTX.js';
6
6
  import { WrapWithCalendarContext } from '../Calendar/Calendar.js';
7
7
  import { WrapWithTimeWheelContext } from '../TimeWheel/TimeWheel.js';
8
- import '@elliemae/ds-basic/Button';
8
+ import '@elliemae/ds-icon';
9
+ import '@elliemae/ds-button';
9
10
  import '@elliemae/ds-icons/DatePicker';
10
- import '../../../ControlledDateTimePickerDatatestid.js';
11
- import '@babel/runtime/helpers/esm/extends';
12
- import '@babel/runtime/helpers/esm/defineProperty';
13
- import './CalendarWithTimeWheelContent.js';
14
11
  import './Styleds.js';
15
12
  import 'styled-components';
16
13
  import '../Calendar/CalendarContent.js';
14
+ import '../../../ControlledDateTimePickerDatatestid.js';
17
15
  import '../Calendar/CalendarBody.js';
18
16
  import '../Calendar/CalendarMonthDays.js';
19
17
  import '../Calendar/CalendarDaysList.js';
20
18
  import '../Calendar/Day.js';
19
+ import '@babel/runtime/helpers/esm/extends';
21
20
  import '../../../utils/dateHelpers.js';
22
21
  import '@babel/runtime/helpers/esm/toConsumableArray';
22
+ import '../../../utils/constants.js';
23
23
  import '../../../utils/stringHelpers.js';
24
24
  import '@babel/runtime/helpers/esm/slicedToArray';
25
25
  import '../../../utils/numberHelpers.js';
@@ -27,7 +27,7 @@ import '../../../ControlledDateTimePickerCTX.js';
27
27
  import '../../../ControlledDateTimePickerTypes.js';
28
28
  import '../Calendar/CalendarContext.js';
29
29
  import '../Calendar/Styleds.js';
30
- import '@elliemae/ds-button';
30
+ import '@elliemae/ds-grid';
31
31
  import '../Calendar/CalendarWeekDays.js';
32
32
  import '../Calendar/CalendarHead.js';
33
33
  import '@elliemae/ds-icons/ChevronDoubleLeft';
@@ -35,13 +35,13 @@ import '@elliemae/ds-icons/ChevronLeft';
35
35
  import '@elliemae/ds-icons/ChevronRight';
36
36
  import '@elliemae/ds-icons/ChevronDoubleRight';
37
37
  import '../Calendar/CalendarFooter.js';
38
+ import '@babel/runtime/helpers/esm/defineProperty';
39
+ import './CalendarWithTimeWheelContent.js';
38
40
  import './CalendarWithTimeWheelFooter.js';
39
41
  import '../TimeWheel/TimeWheelContent.js';
40
42
  import '../TimeWheel/Styleds.js';
41
- import '@elliemae/ds-grid';
42
43
  import '../TimeWheel/HoursList.js';
43
- import '@elliemae/ds-icons/ChevronSmallUp';
44
- import '@elliemae/ds-icons/ChevronSmallDown';
44
+ import '@elliemae/ds-icons';
45
45
  import '../TimeWheel/TimeWheelContext.js';
46
46
  import '../TimeWheel/MinutesList.js';
47
47
  import '../TimeWheel/MeridiemList.js';
@@ -1,23 +1,26 @@
1
1
  import React, { useContext } from 'react';
2
+ import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
2
3
  import { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds.js';
3
4
  import { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter.js';
4
5
  import { TimeWheelContent } from '../TimeWheel/TimeWheelContent.js';
5
6
  import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX.js';
6
7
  import 'styled-components';
8
+ import '@elliemae/ds-button';
7
9
  import '../Calendar/CalendarContent.js';
8
10
  import '../Calendar/CalendarBody.js';
9
11
  import '../Calendar/CalendarMonthDays.js';
10
12
  import '../Calendar/CalendarDaysList.js';
11
13
  import '../Calendar/Day.js';
14
+ import '@babel/runtime/helpers/esm/extends';
12
15
  import '../../../utils/dateHelpers.js';
13
16
  import '@babel/runtime/helpers/esm/toConsumableArray';
17
+ import '../../../utils/constants.js';
14
18
  import '../../../utils/stringHelpers.js';
15
19
  import '@babel/runtime/helpers/esm/slicedToArray';
16
20
  import '../../../utils/numberHelpers.js';
17
- import '../../../ControlledDateTimePickerDatatestid.js';
18
21
  import '../Calendar/CalendarContext.js';
19
22
  import '../Calendar/Styleds.js';
20
- import '@elliemae/ds-button';
23
+ import '@elliemae/ds-grid';
21
24
  import '../Calendar/CalendarWeekDays.js';
22
25
  import '../Calendar/CalendarHead.js';
23
26
  import '@elliemae/ds-icons/ChevronDoubleLeft';
@@ -25,25 +28,22 @@ import '@elliemae/ds-icons/ChevronLeft';
25
28
  import '@elliemae/ds-icons/ChevronRight';
26
29
  import '@elliemae/ds-icons/ChevronDoubleRight';
27
30
  import '../Calendar/CalendarFooter.js';
31
+ import '../../../ControlledDateTimePickerTypes.js';
28
32
  import '../TimeWheel/Styleds.js';
29
- import '@elliemae/ds-grid';
30
- import '@elliemae/ds-basic/Button';
31
33
  import '../TimeWheel/HoursList.js';
32
- import '@babel/runtime/helpers/esm/extends';
33
- import '@elliemae/ds-icons/ChevronSmallUp';
34
- import '@elliemae/ds-icons/ChevronSmallDown';
34
+ import '@elliemae/ds-icons';
35
35
  import '../TimeWheel/TimeWheelContext.js';
36
36
  import '../TimeWheel/MinutesList.js';
37
37
  import '../TimeWheel/MeridiemList.js';
38
38
  import '../TimeWheel/TimeWheelFooter.js';
39
- import '../../../ControlledDateTimePickerTypes.js';
40
39
 
41
40
  var CalendarWithTimeWheelContent = function CalendarWithTimeWheelContent() {
42
41
  var _useContext = useContext(ControlledDateTimePickerContext),
43
42
  isControllerOnly = _useContext.isControllerOnly;
44
43
 
45
44
  return /*#__PURE__*/React.createElement(StyledCalendarWithTimeWheelWrapper, {
46
- isControllerOnly: isControllerOnly
45
+ isControllerOnly: isControllerOnly,
46
+ "data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL
47
47
  }, /*#__PURE__*/React.createElement(StyledCalendar, null), /*#__PURE__*/React.createElement(TimeWheelContent, null), /*#__PURE__*/React.createElement(CalendarWithTimeWheelFooter, null));
48
48
  };
49
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheelContent.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds';\nimport { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter';\nimport { TimeWheelContent } from '../TimeWheel/TimeWheelContent';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelContent = (): JSX.Element => {\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledCalendarWithTimeWheelWrapper isControllerOnly={isControllerOnly}>\n <StyledCalendar />\n <TimeWheelContent />\n <CalendarWithTimeWheelFooter />\n </StyledCalendarWithTimeWheelWrapper>\n );\n};\n"],"names":["CalendarWithTimeWheelContent","useContext","ControlledDateTimePickerContext","isControllerOnly"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMaA,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAmB;AAC7D,oBAA6BC,UAAU,CAACC,+BAAD,CAAvC;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,sBACE,oBAAC,kCAAD;AAAoC,IAAA,gBAAgB,EAAEA;AAAtD,kBACE,oBAAC,cAAD,OADF,eAEE,oBAAC,gBAAD,OAFF,eAGE,oBAAC,2BAAD,OAHF,CADF;AAOD;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheelContent.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { StyledCalendarWithTimeWheelWrapper, StyledCalendar } from './Styleds';\nimport { CalendarWithTimeWheelFooter } from './CalendarWithTimeWheelFooter';\nimport { TimeWheelContent } from '../TimeWheel/TimeWheelContent';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\nexport const CalendarWithTimeWheelContent = (): JSX.Element => {\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledCalendarWithTimeWheelWrapper\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.CALENDAR_TIMEWHEEL}\n >\n <StyledCalendar />\n <TimeWheelContent />\n <CalendarWithTimeWheelFooter />\n </StyledCalendarWithTimeWheelWrapper>\n );\n};\n"],"names":["CalendarWithTimeWheelContent","useContext","ControlledDateTimePickerContext","isControllerOnly","ControlledDateTimePickerDatatestid","CONTROLLER_COMPONENT","CALENDAR_TIMEWHEEL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOaA,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAmB;AAC7D,oBAA6BC,UAAU,CAACC,+BAAD,CAAvC;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,sBACE,oBAAC,kCAAD;AACE,IAAA,gBAAgB,EAAEA,gBADpB;AAEE,mBAAaC,kCAAkC,CAACC,oBAAnC,CAAwDC;AAFvE,kBAIE,oBAAC,cAAD,OAJF,eAKE,oBAAC,gBAAD,OALF,eAME,oBAAC,2BAAD,OANF,CADF;AAUD;;;;"}
@@ -4,6 +4,7 @@ import { createContext } from 'react';
4
4
  var noop = function noop() {};
5
5
 
6
6
  var defaultCalendarWithTimeWheelContext = {
7
+ ariaCurrentValueForInputs: '',
7
8
  showCalendarWithTimeWheel: false,
8
9
  setPopperElement: noop,
9
10
  setArrowElement: noop,
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheelContext.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport interface CalendarWithTimeWheelContextT {\n showCalendarWithTimeWheel: boolean;\n setPopperElement: (instance: HTMLDivElement) => void;\n setArrowElement: (instance: HTMLDivElement) => void;\n usePopperHelpers: {\n attributes: Record<string, unknown>;\n styles: Record<string, React.CSSProperties>;\n };\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e?: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e?: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nexport const defaultCalendarWithTimeWheelContext: CalendarWithTimeWheelContextT = {\n showCalendarWithTimeWheel: false,\n setPopperElement: noop,\n setArrowElement: noop,\n usePopperHelpers: null,\n handleSetTriggerRef: noop,\n handleToggleCalendarWithTimeWheel: noop,\n handleMenuWrapperKeyDown: noop,\n handlePickerIconKeyDown: noop,\n isControllerOnly: false,\n};\n\n/** Context for cross component communication */\nexport const CalendarWithTimeWheelContext = createContext(defaultCalendarWithTimeWheelContext);\n\nexport default CalendarWithTimeWheelContext;\n"],"names":["noop","defaultCalendarWithTimeWheelContext","showCalendarWithTimeWheel","setPopperElement","setArrowElement","usePopperHelpers","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handleMenuWrapperKeyDown","handlePickerIconKeyDown","isControllerOnly","CalendarWithTimeWheelContext","createContext"],"mappings":";;AAgBA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAY,EAAzB;;IACaC,mCAAkE,GAAG;AAChFC,EAAAA,yBAAyB,EAAE,KADqD;AAEhFC,EAAAA,gBAAgB,EAAEH,IAF8D;AAGhFI,EAAAA,eAAe,EAAEJ,IAH+D;AAIhFK,EAAAA,gBAAgB,EAAE,IAJ8D;AAKhFC,EAAAA,mBAAmB,EAAEN,IAL2D;AAMhFO,EAAAA,iCAAiC,EAAEP,IAN6C;AAOhFQ,EAAAA,wBAAwB,EAAER,IAPsD;AAQhFS,EAAAA,uBAAuB,EAAET,IARuD;AAShFU,EAAAA,gBAAgB,EAAE;AAT8D;AAYlF;;IACaC,4BAA4B,gBAAGC,aAAa,CAACX,mCAAD;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheelContext.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport interface CalendarWithTimeWheelContextT {\n ariaCurrentValueForInputs: string;\n showCalendarWithTimeWheel: boolean;\n setPopperElement: (instance: HTMLDivElement) => void;\n setArrowElement: (instance: HTMLDivElement) => void;\n usePopperHelpers: {\n attributes: Record<string, unknown>;\n styles: Record<string, React.CSSProperties>;\n };\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e?: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e?: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nexport const defaultCalendarWithTimeWheelContext: CalendarWithTimeWheelContextT = {\n ariaCurrentValueForInputs: '',\n showCalendarWithTimeWheel: false,\n setPopperElement: noop,\n setArrowElement: noop,\n usePopperHelpers: null,\n handleSetTriggerRef: noop,\n handleToggleCalendarWithTimeWheel: noop,\n handleMenuWrapperKeyDown: noop,\n handlePickerIconKeyDown: noop,\n isControllerOnly: false,\n};\n\n/** Context for cross component communication */\nexport const CalendarWithTimeWheelContext = createContext(defaultCalendarWithTimeWheelContext);\n\nexport default CalendarWithTimeWheelContext;\n"],"names":["noop","defaultCalendarWithTimeWheelContext","ariaCurrentValueForInputs","showCalendarWithTimeWheel","setPopperElement","setArrowElement","usePopperHelpers","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handleMenuWrapperKeyDown","handlePickerIconKeyDown","isControllerOnly","CalendarWithTimeWheelContext","createContext"],"mappings":";;AAiBA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAY,EAAzB;;IACaC,mCAAkE,GAAG;AAChFC,EAAAA,yBAAyB,EAAE,EADqD;AAEhFC,EAAAA,yBAAyB,EAAE,KAFqD;AAGhFC,EAAAA,gBAAgB,EAAEJ,IAH8D;AAIhFK,EAAAA,eAAe,EAAEL,IAJ+D;AAKhFM,EAAAA,gBAAgB,EAAE,IAL8D;AAMhFC,EAAAA,mBAAmB,EAAEP,IAN2D;AAOhFQ,EAAAA,iCAAiC,EAAER,IAP6C;AAQhFS,EAAAA,wBAAwB,EAAET,IARsD;AAShFU,EAAAA,uBAAuB,EAAEV,IATuD;AAUhFW,EAAAA,gBAAgB,EAAE;AAV8D;AAalF;;IACaC,4BAA4B,gBAAGC,aAAa,CAACZ,mCAAD;;;;"}
@@ -3,20 +3,23 @@ import { ControlledDateTimePickerContext } from '../../../ControlledDateTimePick
3
3
  import { CalendarWithTimeWheelFooterMessage } from './Styleds.js';
4
4
  import '../../../ControlledDateTimePickerTypes.js';
5
5
  import 'styled-components';
6
+ import '@elliemae/ds-button';
6
7
  import '../Calendar/CalendarContent.js';
8
+ import '../../../ControlledDateTimePickerDatatestid.js';
7
9
  import '../Calendar/CalendarBody.js';
8
10
  import '../Calendar/CalendarMonthDays.js';
9
11
  import '../Calendar/CalendarDaysList.js';
10
12
  import '../Calendar/Day.js';
13
+ import '@babel/runtime/helpers/esm/extends';
11
14
  import '../../../utils/dateHelpers.js';
12
15
  import '@babel/runtime/helpers/esm/toConsumableArray';
16
+ import '../../../utils/constants.js';
13
17
  import '../../../utils/stringHelpers.js';
14
18
  import '@babel/runtime/helpers/esm/slicedToArray';
15
19
  import '../../../utils/numberHelpers.js';
16
- import '../../../ControlledDateTimePickerDatatestid.js';
17
20
  import '../Calendar/CalendarContext.js';
18
21
  import '../Calendar/Styleds.js';
19
- import '@elliemae/ds-button';
22
+ import '@elliemae/ds-grid';
20
23
  import '../Calendar/CalendarWeekDays.js';
21
24
  import '../Calendar/CalendarHead.js';
22
25
  import '@elliemae/ds-icons/ChevronDoubleLeft';
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheelFooter.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarWithTimeWheelFooterMessage } from './Styleds';\n\nexport const CalendarWithTimeWheelFooter = (): JSX.Element => {\n const {\n props: { pickerFooterMsg, hasError },\n } = useContext(ControlledDateTimePickerContext);\n return pickerFooterMsg !== undefined && hasError ? (\n <CalendarWithTimeWheelFooterMessage role=\"alert\">{pickerFooterMsg}</CalendarWithTimeWheelFooterMessage>\n ) : null;\n};\n"],"names":["CalendarWithTimeWheelFooter","useContext","ControlledDateTimePickerContext","props","pickerFooterMsg","hasError","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAmB;AAC5D,oBAEIC,UAAU,CAACC,+BAAD,CAFd;AAAA,sCACEC,KADF;AAAA,MACWC,eADX,qBACWA,eADX;AAAA,MAC4BC,QAD5B,qBAC4BA,QAD5B;;AAGA,SAAOD,eAAe,KAAKE,SAApB,IAAiCD,QAAjC,gBACL,oBAAC,kCAAD;AAAoC,IAAA,IAAI,EAAC;AAAzC,KAAkDD,eAAlD,CADK,GAEH,IAFJ;AAGD;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheelFooter.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarWithTimeWheelFooterMessage } from './Styleds';\n\nexport const CalendarWithTimeWheelFooter = (): JSX.Element => {\n const {\n props: { pickerFooterMsg, hasError },\n } = useContext(ControlledDateTimePickerContext);\n return pickerFooterMsg !== undefined && hasError ? (\n <CalendarWithTimeWheelFooterMessage role=\"alert\">{pickerFooterMsg}</CalendarWithTimeWheelFooterMessage>\n ) : null;\n};\n"],"names":["CalendarWithTimeWheelFooter","useContext","ControlledDateTimePickerContext","props","pickerFooterMsg","hasError","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAmB;AAC5D,oBAEIC,UAAU,CAACC,+BAAD,CAFd;AAAA,sCACEC,KADF;AAAA,MACWC,eADX,qBACWA,eADX;AAAA,MAC4BC,QAD5B,qBAC4BA,QAD5B;;AAGA,SAAOD,eAAe,KAAKE,SAApB,IAAiCD,QAAjC,gBACL,oBAAC,kCAAD;AAAoC,IAAA,IAAI,EAAC;AAAzC,KAAkDD,eAAlD,CADK,GAEH,IAFJ;AAGD;;;;"}
@@ -1,8 +1,35 @@
1
1
  import React, { useContext, useMemo } from 'react';
2
- import DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';
2
+ import { DSIconColors } from '@elliemae/ds-icon';
3
+ import { BUTTON_SIZES, BUTTON_VARIANT } from '@elliemae/ds-button';
3
4
  import DatePicker from '@elliemae/ds-icons/DatePicker';
4
5
  import { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext.js';
6
+ import { StyledIconTriggerButton } from './Styleds.js';
5
7
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
8
+ import 'styled-components';
9
+ import '../Calendar/CalendarContent.js';
10
+ import '../Calendar/CalendarBody.js';
11
+ import '../Calendar/CalendarMonthDays.js';
12
+ import '../Calendar/CalendarDaysList.js';
13
+ import '../Calendar/Day.js';
14
+ import '@babel/runtime/helpers/esm/extends';
15
+ import '../../../utils/dateHelpers.js';
16
+ import '@babel/runtime/helpers/esm/toConsumableArray';
17
+ import '../../../utils/constants.js';
18
+ import '../../../utils/stringHelpers.js';
19
+ import '@babel/runtime/helpers/esm/slicedToArray';
20
+ import '../../../utils/numberHelpers.js';
21
+ import '../../../ControlledDateTimePickerCTX.js';
22
+ import '../../../ControlledDateTimePickerTypes.js';
23
+ import '../Calendar/CalendarContext.js';
24
+ import '../Calendar/Styleds.js';
25
+ import '@elliemae/ds-grid';
26
+ import '../Calendar/CalendarWeekDays.js';
27
+ import '../Calendar/CalendarHead.js';
28
+ import '@elliemae/ds-icons/ChevronDoubleLeft';
29
+ import '@elliemae/ds-icons/ChevronLeft';
30
+ import '@elliemae/ds-icons/ChevronRight';
31
+ import '@elliemae/ds-icons/ChevronDoubleRight';
32
+ import '../Calendar/CalendarFooter.js';
6
33
 
7
34
  // this is particularly useful due to how usePopper needs to check the references
8
35
  // since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders
@@ -11,21 +38,23 @@ var CalendarWithTimeWheelIconTrigger = function CalendarWithTimeWheelIconTrigger
11
38
  var _useContext = useContext(CalendarWithTimeWheelContext),
12
39
  handleSetTriggerRef = _useContext.handleSetTriggerRef,
13
40
  handleToggleCalendarWithTimeWheel = _useContext.handleToggleCalendarWithTimeWheel,
14
- handlePickerIconKeyDown = _useContext.handlePickerIconKeyDown;
41
+ handlePickerIconKeyDown = _useContext.handlePickerIconKeyDown,
42
+ ariaCurrentValueForInputs = _useContext.ariaCurrentValueForInputs;
15
43
 
16
44
  return useMemo(function () {
17
- return /*#__PURE__*/React.createElement(DSButton, {
18
- "aria-label": "date time picker context menu trigger",
19
- buttonType: "text",
20
- leftIcon: /*#__PURE__*/React.createElement(DatePicker, null),
21
- size: "m",
45
+ return /*#__PURE__*/React.createElement(StyledIconTriggerButton, {
46
+ "aria-label": "date time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
47
+ buttonType: "icon",
48
+ size: BUTTON_SIZES.M,
22
49
  variant: BUTTON_VARIANT.DEFAULT,
23
50
  innerRef: handleSetTriggerRef,
24
51
  onClick: handleToggleCalendarWithTimeWheel,
25
52
  onKeyDown: handlePickerIconKeyDown,
26
53
  "data-testid": ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL
27
- });
28
- }, [handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
54
+ }, /*#__PURE__*/React.createElement(DatePicker, {
55
+ color: DSIconColors.PRIMARY
56
+ }));
57
+ }, [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel]);
29
58
  };
30
59
 
31
60
  export { CalendarWithTimeWheelIconTrigger };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheelIconTrigger.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';\nimport DatePicker from '@elliemae/ds-icons/DatePicker';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const CalendarWithTimeWheelIconTrigger = (): JSX.Element => {\n const { handleSetTriggerRef, handleToggleCalendarWithTimeWheel, handlePickerIconKeyDown } =\n useContext(CalendarWithTimeWheelContext);\n return useMemo(\n () => (\n <DSButton\n aria-label=\"date time picker context menu trigger\"\n buttonType=\"text\"\n leftIcon={<DatePicker />}\n size=\"m\"\n variant={BUTTON_VARIANT.DEFAULT}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleCalendarWithTimeWheel}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL}\n />\n ),\n [handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel],\n );\n};\n"],"names":["CalendarWithTimeWheelIconTrigger","useContext","CalendarWithTimeWheelContext","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handlePickerIconKeyDown","useMemo","BUTTON_VARIANT","DEFAULT","ControlledDateTimePickerDatatestid","PICKER_ICONS","CALENDAR_TIMEWHEEL"],"mappings":";;;;;;AAOA;AACA;;IACaA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAmB;AACjE,oBACEC,UAAU,CAACC,4BAAD,CADZ;AAAA,MAAQC,mBAAR,eAAQA,mBAAR;AAAA,MAA6BC,iCAA7B,eAA6BA,iCAA7B;AAAA,MAAgEC,uBAAhE,eAAgEA,uBAAhE;;AAEA,SAAOC,OAAO,CACZ;AAAA,wBACE,oBAAC,QAAD;AACE,oBAAW,uCADb;AAEE,MAAA,UAAU,EAAC,MAFb;AAGE,MAAA,QAAQ,eAAE,oBAAC,UAAD,OAHZ;AAIE,MAAA,IAAI,EAAC,GAJP;AAKE,MAAA,OAAO,EAAEC,cAAc,CAACC,OAL1B;AAME,MAAA,QAAQ,EAAEL,mBANZ;AAOE,MAAA,OAAO,EAAEC,iCAPX;AAQE,MAAA,SAAS,EAAEC,uBARb;AASE,qBAAaI,kCAAkC,CAACC,YAAnC,CAAgDC;AAT/D,MADF;AAAA,GADY,EAcZ,CAACN,uBAAD,EAA0BF,mBAA1B,EAA+CC,iCAA/C,CAdY,CAAd;AAgBD;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheelIconTrigger.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react';\nimport { DSIconColors } from '@elliemae/ds-icon';\nimport { BUTTON_VARIANT, BUTTON_SIZES } from '@elliemae/ds-button';\nimport DatePicker from '@elliemae/ds-icons/DatePicker';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { StyledIconTriggerButton } from './Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const CalendarWithTimeWheelIconTrigger = (): JSX.Element => {\n const { handleSetTriggerRef, handleToggleCalendarWithTimeWheel, handlePickerIconKeyDown, ariaCurrentValueForInputs } =\n useContext(CalendarWithTimeWheelContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`date time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n size={BUTTON_SIZES.M}\n variant={BUTTON_VARIANT.DEFAULT}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleCalendarWithTimeWheel}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL}\n >\n <DatePicker color={DSIconColors.PRIMARY} />\n </StyledIconTriggerButton>\n ),\n [ariaCurrentValueForInputs, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleCalendarWithTimeWheel],\n );\n};\n"],"names":["CalendarWithTimeWheelIconTrigger","useContext","CalendarWithTimeWheelContext","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handlePickerIconKeyDown","ariaCurrentValueForInputs","useMemo","BUTTON_SIZES","M","BUTTON_VARIANT","DEFAULT","ControlledDateTimePickerDatatestid","PICKER_ICONS","CALENDAR_TIMEWHEEL","DSIconColors","PRIMARY"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;AACA;;IACaA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAmB;AACjE,oBACEC,UAAU,CAACC,4BAAD,CADZ;AAAA,MAAQC,mBAAR,eAAQA,mBAAR;AAAA,MAA6BC,iCAA7B,eAA6BA,iCAA7B;AAAA,MAAgEC,uBAAhE,eAAgEA,uBAAhE;AAAA,MAAyFC,yBAAzF,eAAyFA,yBAAzF;;AAEA,SAAOC,OAAO,CACZ;AAAA,wBACE,oBAAC,uBAAD;AACE,qEAAsDD,yBAAtD,CADF;AAEE,MAAA,UAAU,EAAC,MAFb;AAGE,MAAA,IAAI,EAAEE,YAAY,CAACC,CAHrB;AAIE,MAAA,OAAO,EAAEC,cAAc,CAACC,OAJ1B;AAKE,MAAA,QAAQ,EAAER,mBALZ;AAME,MAAA,OAAO,EAAEC,iCANX;AAOE,MAAA,SAAS,EAAEC,uBAPb;AAQE,qBAAaO,kCAAkC,CAACC,YAAnC,CAAgDC;AAR/D,oBAUE,oBAAC,UAAD;AAAY,MAAA,KAAK,EAAEC,YAAY,CAACC;AAAhC,MAVF,CADF;AAAA,GADY,EAeZ,CAACV,yBAAD,EAA4BD,uBAA5B,EAAqDF,mBAArD,EAA0EC,iCAA1E,CAfY,CAAd;AAiBD;;;;"}