@elliemae/ds-controlled-form 1.61.12 → 1.61.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js.map +1 -1
  2. package/cjs/controlled-checkbox/config/useValidateProps.js.map +1 -1
  3. package/cjs/controlled-checkbox/propTypes.js.map +1 -1
  4. package/cjs/controlled-checkbox/styles.js.map +1 -1
  5. package/cjs/controlled-checkbox/utils/setMultipleRefs.js.map +1 -1
  6. package/cjs/controlled-checkbox/utils/styleHelpers.js.map +1 -1
  7. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +1 -0
  8. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  9. package/cjs/controlled-date-range-picker/ControlledDateRangePickerCTX.js.map +1 -1
  10. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js.map +1 -1
  11. package/cjs/controlled-date-range-picker/ControlledDateRangePickerTypes.js.map +1 -1
  12. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +1 -0
  13. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  14. package/cjs/controlled-date-range-picker/config/useGetPropsWithDefault.js.map +1 -1
  15. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
  16. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  17. package/cjs/controlled-date-range-picker/index.js +1 -0
  18. package/cjs/controlled-date-range-picker/index.js.map +1 -1
  19. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
  20. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  21. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +1 -0
  22. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  23. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
  24. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  25. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
  26. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  27. package/cjs/controlled-date-range-picker/propTypes.js.map +1 -1
  28. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +1 -0
  29. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  30. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  32. package/cjs/controlled-date-time-picker/ControlledDateTimePickerTypes.js.map +1 -1
  33. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  34. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -1
  35. package/cjs/controlled-date-time-picker/config/useGetPropsWithDefault.js.map +1 -1
  36. package/cjs/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  37. package/cjs/controlled-date-time-picker/index.js +1 -0
  38. package/cjs/controlled-date-time-picker/index.js.map +1 -1
  39. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  40. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  41. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +1 -0
  42. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
  43. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  44. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  45. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  46. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  47. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +1 -0
  49. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  50. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  51. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  52. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  53. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  54. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  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.map +1 -1
  57. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  58. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  59. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +3 -2
  60. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  61. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  62. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  63. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  64. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  65. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  66. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  67. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  68. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +1 -0
  69. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  70. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  71. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  72. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  73. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  74. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +3 -2
  75. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  76. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  77. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  78. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +1 -0
  79. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js.map +1 -1
  80. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  81. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  82. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  83. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  84. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  85. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +1 -0
  86. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  87. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  88. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  89. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
  90. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  91. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +3 -2
  92. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  93. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  94. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  95. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  96. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  97. package/cjs/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  98. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  99. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  100. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  101. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  102. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  103. package/cjs/controlled-date-time-picker/parts/config.js.map +1 -1
  104. package/cjs/controlled-date-time-picker/propTypes.js.map +1 -1
  105. package/cjs/controlled-date-time-picker/utils/constants.js.map +1 -1
  106. package/cjs/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  107. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  108. package/cjs/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  109. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  110. package/cjs/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  111. package/cjs/controlled-date-time-picker/utils/hooks/useOnClickOutside.js.map +1 -1
  112. package/cjs/controlled-date-time-picker/utils/numberHelpers.js.map +1 -1
  113. package/cjs/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  114. package/cjs/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  115. package/cjs/controlled-toggle/ControlledToggle.js.map +1 -1
  116. package/cjs/controlled-toggle/defaultProps.js.map +1 -1
  117. package/cjs/controlled-toggle/propTypes.js.map +1 -1
  118. package/cjs/controlled-toggle/styles.js.map +1 -1
  119. package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js.map +1 -1
  120. package/cjs/controlled-toggle/utils/styleHelpers.js.map +1 -1
  121. package/cjs/index.js +1 -0
  122. package/cjs/index.js.map +1 -1
  123. package/esm/controlled-checkbox/ControlledCheckbox.js.map +1 -1
  124. package/esm/controlled-checkbox/config/useValidateProps.js.map +1 -1
  125. package/esm/controlled-checkbox/propTypes.js.map +1 -1
  126. package/esm/controlled-checkbox/styles.js.map +1 -1
  127. package/esm/controlled-checkbox/utils/setMultipleRefs.js.map +1 -1
  128. package/esm/controlled-checkbox/utils/styleHelpers.js.map +1 -1
  129. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js +1 -0
  130. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  131. package/esm/controlled-date-range-picker/ControlledDateRangePickerCTX.js.map +1 -1
  132. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js.map +1 -1
  133. package/esm/controlled-date-range-picker/ControlledDateRangePickerTypes.js.map +1 -1
  134. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +1 -0
  135. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  136. package/esm/controlled-date-range-picker/config/useGetPropsWithDefault.js.map +1 -1
  137. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +1 -0
  138. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  139. package/esm/controlled-date-range-picker/index.js +1 -0
  140. package/esm/controlled-date-range-picker/index.js.map +1 -1
  141. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +1 -0
  142. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  143. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +1 -0
  144. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  145. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +1 -0
  146. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  147. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +1 -0
  148. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  149. package/esm/controlled-date-range-picker/propTypes.js.map +1 -1
  150. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js +1 -0
  151. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  152. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js.map +1 -1
  153. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  154. package/esm/controlled-date-time-picker/ControlledDateTimePickerTypes.js.map +1 -1
  155. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  156. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -1
  157. package/esm/controlled-date-time-picker/config/useGetPropsWithDefault.js.map +1 -1
  158. package/esm/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  159. package/esm/controlled-date-time-picker/index.js +1 -0
  160. package/esm/controlled-date-time-picker/index.js.map +1 -1
  161. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  162. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js.map +1 -1
  163. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +1 -0
  164. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
  165. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  166. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  167. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  168. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  169. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  170. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +1 -0
  171. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  172. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  173. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  174. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  175. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  176. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  177. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  178. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  179. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  180. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  181. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +3 -2
  182. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  183. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  184. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  185. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  186. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  187. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  188. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  189. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  190. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +1 -0
  191. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  192. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  193. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  194. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  195. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  196. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +3 -2
  197. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  198. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  199. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  200. package/esm/controlled-date-time-picker/parts/Pickers/PickersIcons.js +1 -0
  201. package/esm/controlled-date-time-picker/parts/Pickers/PickersIcons.js.map +1 -1
  202. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  203. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  204. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  205. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  206. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  207. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +1 -0
  208. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  209. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  210. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  211. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
  212. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  213. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +3 -2
  214. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  215. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  216. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  217. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  218. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  219. package/esm/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  220. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  221. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  222. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  223. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  224. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  225. package/esm/controlled-date-time-picker/parts/config.js.map +1 -1
  226. package/esm/controlled-date-time-picker/propTypes.js.map +1 -1
  227. package/esm/controlled-date-time-picker/utils/constants.js.map +1 -1
  228. package/esm/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  229. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  230. package/esm/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  231. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  232. package/esm/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  233. package/esm/controlled-date-time-picker/utils/hooks/useOnClickOutside.js.map +1 -1
  234. package/esm/controlled-date-time-picker/utils/numberHelpers.js.map +1 -1
  235. package/esm/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  236. package/esm/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  237. package/esm/controlled-toggle/ControlledToggle.js.map +1 -1
  238. package/esm/controlled-toggle/defaultProps.js.map +1 -1
  239. package/esm/controlled-toggle/propTypes.js.map +1 -1
  240. package/esm/controlled-toggle/styles.js.map +1 -1
  241. package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js.map +1 -1
  242. package/esm/controlled-toggle/utils/styleHelpers.js.map +1 -1
  243. package/esm/index.js +1 -0
  244. package/esm/index.js.map +1 -1
  245. package/package.json +8 -8
@@ -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';\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 props: { disabled },\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\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({ daysArray, showCalendar });\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n focusedDay,\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 handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\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 disabled,\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 disabled,\n ],\n );\n};\n"],"names":["sliceIntoChunks","arr","chunkSize","res","i","length","chunk","slice","push","useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","disabled","props","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","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","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown"],"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 props: { disabled },\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\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({ daysArray, showCalendar });\n\n const {\n closeCalendar,\n handleSetTriggerRef,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n } = usePopperTriggerLogic({\n tryToFocusCurrentlyDataIsFocusedDay,\n resetFocusedDayToStartDate,\n focusedDay,\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 handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\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 disabled,\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 disabled,\n ],\n );\n};\n"],"names":["sliceIntoChunks","arr","chunkSize","res","i","length","chunk","slice","push","useConfigCalendarCTX","useContext","ControlledDateTimePickerContext","disabled","props","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","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","usePopperTriggerLogic","closeCalendar","handleSetTriggerRef","setPopperElement","setArrowElement","usePopperHelpers","handleToggleCalendar","handleMenuWrapperKeyDown","useKeyboardHandlers","handleDayOnKeyDown","handlePrevYearKeyDown","handlePrevMonthKeyDown","handleNextMonthKeyDown","handleNextYearKeyDown","handlePickerIconKeyDown"],"mappings":"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"}
@@ -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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"}
@@ -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, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\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 showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { calendarDaysWrapperRef } = useContext(ControlledDateTimePickerContext);\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","showCalendar","useContext","ControlledDateTimePickerContext","calendarDaysWrapperRef","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, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\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 showCalendar: boolean;\n}\n\nexport const useFocusLogic = ({ daysArray, showCalendar }: useFocusLogicArgsT): FocusLogicT => {\n const { calendarDaysWrapperRef } = useContext(ControlledDateTimePickerContext);\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","showCalendar","useContext","ControlledDateTimePickerContext","calendarDaysWrapperRef","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 +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, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { metaMonthDayT, onKeyDownT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\nimport { homeEndAllArrowKeys, homeEndKeys } from '../../../utils/constants';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: metaMonthDayT;\n daysArray: metaMonthDayT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n handleFocusMetaDay: (metaDayToFocus: metaMonthDayT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const {\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n isWithDateInputs,\n yearInputRef,\n } = useContext(ControlledDateTimePickerContext);\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 if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else if (isWithDateInputs) yearInputRef?.current?.focus?.();\n }\n },\n [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (homeEndAllArrowKeys.includes(key)) e.preventDefault();\n if (homeEndAllArrowKeys.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 (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n prevMonthBtnRef?.current?.focus?.();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\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","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","withAnyInputs","isWithTimeInputs","meridiemInputRef","isWithDateInputs","yearInputRef","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","homeEndAllArrowKeys","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, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { metaMonthDayT, onKeyDownT } from '../../../index.d';\nimport type { handleDayOnKeyDownT, KeyboardHandlersT, HeaderButtonsRefsT } from './CalendarContext';\nimport { homeEndAllArrowKeys, homeEndKeys } from '../../../utils/constants';\n\ninterface useKeyboardHandlersArgsT extends Partial<HeaderButtonsRefsT> {\n focusedDay: metaMonthDayT;\n daysArray: metaMonthDayT[];\n handlePrevMonth: () => void;\n handleNextMonth: () => void;\n handleFocusMetaDay: (metaDayToFocus: metaMonthDayT) => void;\n handleFocusMetaDayByDay: (dayToFocus: Date) => void;\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n}\n\nexport const useKeyboardHandlers = ({\n focusedDay,\n daysArray,\n handlePrevMonth,\n handleNextMonth,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: useKeyboardHandlersArgsT): KeyboardHandlersT => {\n const {\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n currMeridiemBtnRef,\n isControllerOnly,\n isWithTimeWheelToo,\n setLatestInteractionRegion,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n isWithDateInputs,\n yearInputRef,\n } = useContext(ControlledDateTimePickerContext);\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 if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else if (isWithDateInputs) yearInputRef?.current?.focus?.();\n }\n },\n [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onHomeKeyDownTriggerIcon, withAnyInputs, yearInputRef],\n );\n\n const handleDayOnKeyDown: handleDayOnKeyDownT = useCallback(\n (e, metaDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (homeEndAllArrowKeys.includes(key)) e.preventDefault();\n if (homeEndAllArrowKeys.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 (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n prevMonthBtnRef?.current?.focus?.();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\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","handleFocusMetaDay","handleFocusMetaDayByDay","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","hideDate","hideTime","monthInputRef","hourInputRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","currMeridiemBtnRef","isControllerOnly","isWithTimeWheelToo","setLatestInteractionRegion","withAnyInputs","isWithTimeInputs","meridiemInputRef","isWithDateInputs","yearInputRef","tryToFocusDayRegion","useCallback","newFocusDay","find","isCurrMonthDay","setTimeout","onHomeKeyDownInsideCalendar","current","focus","onEndKeyDownInsideCalendar","onHomeKeyDownTriggerIcon","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","handleDayOnKeyDown","metaDay","newFocusedDayDate","day","shiftKey","homeEndAllArrowKeys","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, useContext } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n resetFocusedDayToStartDate: () => void;\n focusedDay: metaMonthDayT;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n showCalendar,\n setShowCalendar,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const {\n props: { onPickerOpen, onPickerClose },\n prevMonthBtnRef,\n pickerButtonRef,\n } = useContext(ControlledDateTimePickerContext);\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 // 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 const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n handleOnPickerOpen();\n }, [focusedDay, handleOnPickerOpen, 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","showCalendar","setShowCalendar","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","props","onPickerOpen","onPickerClose","prevMonthBtnRef","pickerButtonRef","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","handleOnPickerOpen","useCallback","openCalendar","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, useContext } from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { metaMonthDayT } from '../../../index.d';\nimport type { PopperTriggerLogicT } from './CalendarContext';\n\ninterface usePopperTriggerLogicT {\n tryToFocusCurrentlyDataIsFocusedDay: () => void;\n resetFocusedDayToStartDate: () => void;\n focusedDay: metaMonthDayT;\n showCalendar: boolean;\n setShowCalendar: React.Dispatch<React.SetStateAction<boolean>>;\n}\nexport const usePopperTriggerLogic = ({\n focusedDay,\n resetFocusedDayToStartDate,\n showCalendar,\n setShowCalendar,\n tryToFocusCurrentlyDataIsFocusedDay,\n}: usePopperTriggerLogicT): PopperTriggerLogicT => {\n const {\n props: { onPickerOpen, onPickerClose },\n prevMonthBtnRef,\n pickerButtonRef,\n } = useContext(ControlledDateTimePickerContext);\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 // 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 const openCalendar = useCallback(() => {\n if (focusedDay) setTimeout(() => focusedDay?.dayBtnRef?.current?.focus?.(), 100);\n else setTimeout(() => prevMonthBtnRef?.current?.focus?.(), 100);\n setShowCalendar(true);\n handleOnPickerOpen();\n }, [focusedDay, handleOnPickerOpen, 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","showCalendar","setShowCalendar","tryToFocusCurrentlyDataIsFocusedDay","useContext","ControlledDateTimePickerContext","props","onPickerOpen","onPickerClose","prevMonthBtnRef","pickerButtonRef","useState","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","handleOnPickerOpen","useCallback","openCalendar","setTimeout","dayBtnRef","current","focus","closeCalendar","handleToggleCalendar","isOpening","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","e","key","useOnClickOutside","contains","target","useMemo"],"mappings":"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"}
@@ -33,6 +33,7 @@ import '@elliemae/ds-grid';
33
33
  import '../Calendar/CalendarWeekDays.js';
34
34
  import '../Calendar/CalendarHead.js';
35
35
  import '../Calendar/CalendarFooter.js';
36
+ import 'react-dom';
36
37
  import './CalendarWithTimeWheelContent.js';
37
38
  import './CalendarWithTimeWheelFooter.js';
38
39
  import '../TimeWheel/TimeWheelContent.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheel.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.tsx"],"sourcesContent":["/* eslint-disable max-len */\nimport React from 'react';\nimport { CalendarWithTimeWheelIconTrigger } from './CalendarWithTimeWheelIconTrigger';\nimport { CalendarWithTimeWheelWrapper } from './CalendarWithTimeWheelWrapper';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { useConfigCalendarWithTimeWheelCTX } from './useConfigCalendarWithTimeWheelCTX';\nimport { WrapWithCalendarContext } from '../Calendar/Calendar';\nimport { WrapWithTimeWheelContext } from '../TimeWheel/TimeWheel';\n\n// we must use the HoC for wrapping the context\n// or else useConfigCalendarWithTimeWheelCTX won't have access to the context functions\nexport const CalendarWithTimeWheel = WrapWithCalendarContext(\n WrapWithTimeWheelContext((): JSX.Element => {\n const ctx = useConfigCalendarWithTimeWheelCTX();\n const { showCalendarWithTimeWheel, isControllerOnly, handleMenuWrapperKeyDown } = ctx;\n\n return (\n <CalendarWithTimeWheelContext.Provider value={ctx}>\n {isControllerOnly ? null : <CalendarWithTimeWheelIconTrigger />}\n {isControllerOnly || showCalendarWithTimeWheel ? (\n <>\n {/* The <div> element is catching the \"ESC\" key to close the calendar, there is no valid aria role for this */}\n {/* https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md#case-the-event-handler-is-only-being-used-to-capture-bubbled-events */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleMenuWrapperKeyDown}>\n <CalendarWithTimeWheelWrapper />\n </div>\n </>\n ) : null}\n </CalendarWithTimeWheelContext.Provider>\n );\n }),\n);\n"],"names":["CalendarWithTimeWheel","WrapWithCalendarContext","WrapWithTimeWheelContext","ctx","useConfigCalendarWithTimeWheelCTX","showCalendarWithTimeWheel","isControllerOnly","handleMenuWrapperKeyDown"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAUA;;IACaA,qBAAqB,GAAGC,uBAAuB,CAC1DC,wBAAwB,CAAC,YAAmB;AAC1C,MAAMC,GAAG,GAAGC,iCAAiC,EAA7C;AACA,MAAQC,yBAAR,GAAkFF,GAAlF,CAAQE,yBAAR;AAAA,MAAmCC,gBAAnC,GAAkFH,GAAlF,CAAmCG,gBAAnC;AAAA,MAAqDC,wBAArD,GAAkFJ,GAAlF,CAAqDI,wBAArD;AAEA,sBACE,oBAAC,4BAAD,CAA8B,QAA9B;AAAuC,IAAA,KAAK,EAAEJ;AAA9C,KACGG,gBAAgB,GAAG,IAAH,gBAAU,oBAAC,gCAAD,OAD7B,EAEGA,gBAAgB,IAAID,yBAApB,gBACC,uDAIE;AAAK,IAAA,SAAS,EAAEE;AAAhB,kBACE,oBAAC,4BAAD,OADF,CAJF,CADD,GASG,IAXN,CADF;AAeD,CAnBuB,CADkC;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheel.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.tsx"],"sourcesContent":["/* eslint-disable max-len */\nimport React from 'react';\nimport { CalendarWithTimeWheelIconTrigger } from './CalendarWithTimeWheelIconTrigger';\nimport { CalendarWithTimeWheelWrapper } from './CalendarWithTimeWheelWrapper';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\nimport { useConfigCalendarWithTimeWheelCTX } from './useConfigCalendarWithTimeWheelCTX';\nimport { WrapWithCalendarContext } from '../Calendar/Calendar';\nimport { WrapWithTimeWheelContext } from '../TimeWheel/TimeWheel';\n\n// we must use the HoC for wrapping the context\n// or else useConfigCalendarWithTimeWheelCTX won't have access to the context functions\nexport const CalendarWithTimeWheel = WrapWithCalendarContext(\n WrapWithTimeWheelContext((): JSX.Element => {\n const ctx = useConfigCalendarWithTimeWheelCTX();\n const { showCalendarWithTimeWheel, isControllerOnly, handleMenuWrapperKeyDown } = ctx;\n\n return (\n <CalendarWithTimeWheelContext.Provider value={ctx}>\n {isControllerOnly ? null : <CalendarWithTimeWheelIconTrigger />}\n {isControllerOnly || showCalendarWithTimeWheel ? (\n <>\n {/* The <div> element is catching the \"ESC\" key to close the calendar, there is no valid aria role for this */}\n {/* https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-static-element-interactions.md#case-the-event-handler-is-only-being-used-to-capture-bubbled-events */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleMenuWrapperKeyDown}>\n <CalendarWithTimeWheelWrapper />\n </div>\n </>\n ) : null}\n </CalendarWithTimeWheelContext.Provider>\n );\n }),\n);\n"],"names":["CalendarWithTimeWheel","WrapWithCalendarContext","WrapWithTimeWheelContext","ctx","useConfigCalendarWithTimeWheelCTX","showCalendarWithTimeWheel","isControllerOnly","handleMenuWrapperKeyDown"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAUA;;IACaA,qBAAqB,GAAGC,uBAAuB,CAC1DC,wBAAwB,CAAC,YAAmB;EAC1C,IAAMC,GAAG,GAAGC,iCAAiC,EAA7C;EACA,IAAQC,yBAAR,GAAkFF,GAAlF,CAAQE,yBAAR;MAAmCC,gBAAnC,GAAkFH,GAAlF,CAAmCG,gBAAnC;MAAqDC,wBAArD,GAAkFJ,GAAlF,CAAqDI,wBAArD;EAEA,oBACE,oBAAC,4BAAD,CAA8B,QAA9B;IAAuC,KAAK,EAAEJ;KAC3CG,gBAAgB,GAAG,IAAH,gBAAU,oBAAC,gCAAD,OAD7B,EAEGA,gBAAgB,IAAID,yBAApB,gBACC,uDAIE;IAAK,SAAS,EAAEE;kBACd,oBAAC,4BAAD,OADF,CAJF,CADD,GASG,IAXN,CADF;AAeD,CAnBuB,CADkC;;;;"}
@@ -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 { 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;;;;"}
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;EAC7D,kBAA6BC,UAAU,CAACC,+BAAD,CAAvC;MAAQC,gBAAR,eAAQA,gBAAR;;EACA,oBACE,oBAAC,kCAAD;IACE,gBAAgB,EAAEA,gBADpB;IAEE,eAAaC,kCAAkC,CAACC,oBAAnC,CAAwDC;kBAErE,oBAAC,cAAD,OAJF,eAKE,oBAAC,gBAAD,OALF,eAME,oBAAC,2BAAD,OANF,CADF;AAUD;;;;"}
@@ -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 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 disabled: 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 disabled: 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","disabled","CalendarWithTimeWheelContext","createContext"],"mappings":";;AAkBA;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,KAV8D;AAWhFC,EAAAA,QAAQ,EAAE;AAXsE;AAclF;;IACaC,4BAA4B,gBAAGC,aAAa,CAACb,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 disabled: 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 disabled: 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","disabled","CalendarWithTimeWheelContext","createContext"],"mappings":";;AAkBA;AACA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAY,EAAzB;;IACaC,mCAAkE,GAAG;EAChFC,yBAAyB,EAAE,EADqD;EAEhFC,yBAAyB,EAAE,KAFqD;EAGhFC,gBAAgB,EAAEJ,IAH8D;EAIhFK,eAAe,EAAEL,IAJ+D;EAKhFM,gBAAgB,EAAE,IAL8D;EAMhFC,mBAAmB,EAAEP,IAN2D;EAOhFQ,iCAAiC,EAAER,IAP6C;EAQhFS,wBAAwB,EAAET,IARsD;EAShFU,uBAAuB,EAAEV,IATuD;EAUhFW,gBAAgB,EAAE,KAV8D;EAWhFC,QAAQ,EAAE;AAXsE;AAclF;;IACaC,4BAA4B,gBAAGC,aAAa,CAACb,mCAAD;;;;"}
@@ -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;EAC5D,kBAEIC,UAAU,CAACC,+BAAD,CAFd;sCACEC,KADF;MACWC,eADX,qBACWA,eADX;MAC4BC,QAD5B,qBAC4BA,QAD5B;;EAGA,OAAOD,eAAe,KAAKE,SAApB,IAAiCD,QAAjC,gBACL,oBAAC,kCAAD;IAAoC,IAAI,EAAC;KAASD,eAAlD,CADK,GAEH,IAFJ;AAGD;;;;"}
@@ -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 { BUTTON_VARIANT, BUTTON_SIZES } from '@elliemae/ds-button';\nimport { DatePicker } from '@elliemae/ds-icons';\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 {\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n handlePickerIconKeyDown,\n ariaCurrentValueForInputs,\n disabled,\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 disabled={disabled}\n >\n <DatePicker />\n </StyledIconTriggerButton>\n ),\n [\n ariaCurrentValueForInputs,\n disabled,\n handlePickerIconKeyDown,\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n ],\n );\n};\n"],"names":["CalendarWithTimeWheelIconTrigger","useContext","CalendarWithTimeWheelContext","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handlePickerIconKeyDown","ariaCurrentValueForInputs","disabled","useMemo","BUTTON_SIZES","M","BUTTON_VARIANT","DEFAULT","ControlledDateTimePickerDatatestid","PICKER_ICONS","CALENDAR_TIMEWHEEL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;AACA;;IACaA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAmB;AACjE,oBAMIC,UAAU,CAACC,4BAAD,CANd;AAAA,MACEC,mBADF,eACEA,mBADF;AAAA,MAEEC,iCAFF,eAEEA,iCAFF;AAAA,MAGEC,uBAHF,eAGEA,uBAHF;AAAA,MAIEC,yBAJF,eAIEA,yBAJF;AAAA,MAKEC,QALF,eAKEA,QALF;;AAOA,SAAOC,OAAO,CACZ;AAAA,wBACE,oBAAC,uBAAD;AACE,qEAAsDF,yBAAtD,CADF;AAEE,MAAA,UAAU,EAAC,MAFb;AAGE,MAAA,IAAI,EAAEG,YAAY,CAACC,CAHrB;AAIE,MAAA,OAAO,EAAEC,cAAc,CAACC,OAJ1B;AAKE,MAAA,QAAQ,EAAET,mBALZ;AAME,MAAA,OAAO,EAAEC,iCANX;AAOE,MAAA,SAAS,EAAEC,uBAPb;AAQE,qBAAaQ,kCAAkC,CAACC,YAAnC,CAAgDC,kBAR/D;AASE,MAAA,QAAQ,EAAER;AATZ,oBAWE,oBAAC,UAAD,OAXF,CADF;AAAA,GADY,EAgBZ,CACED,yBADF,EAEEC,QAFF,EAGEF,uBAHF,EAIEF,mBAJF,EAKEC,iCALF,CAhBY,CAAd;AAwBD;;;;"}
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 { BUTTON_VARIANT, BUTTON_SIZES } from '@elliemae/ds-button';\nimport { DatePicker } from '@elliemae/ds-icons';\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 {\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n handlePickerIconKeyDown,\n ariaCurrentValueForInputs,\n disabled,\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 disabled={disabled}\n >\n <DatePicker />\n </StyledIconTriggerButton>\n ),\n [\n ariaCurrentValueForInputs,\n disabled,\n handlePickerIconKeyDown,\n handleSetTriggerRef,\n handleToggleCalendarWithTimeWheel,\n ],\n );\n};\n"],"names":["CalendarWithTimeWheelIconTrigger","useContext","CalendarWithTimeWheelContext","handleSetTriggerRef","handleToggleCalendarWithTimeWheel","handlePickerIconKeyDown","ariaCurrentValueForInputs","disabled","useMemo","BUTTON_SIZES","M","BUTTON_VARIANT","DEFAULT","ControlledDateTimePickerDatatestid","PICKER_ICONS","CALENDAR_TIMEWHEEL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;AACA;;IACaA,gCAAgC,GAAG,SAAnCA,gCAAmC,GAAmB;EACjE,kBAMIC,UAAU,CAACC,4BAAD,CANd;MACEC,mBADF,eACEA,mBADF;MAEEC,iCAFF,eAEEA,iCAFF;MAGEC,uBAHF,eAGEA,uBAHF;MAIEC,yBAJF,eAIEA,yBAJF;MAKEC,QALF,eAKEA,QALF;;EAOA,OAAOC,OAAO,CACZ;IAAA,oBACE,oBAAC,uBAAD;MACE,+DAAsDF,yBAAtD,CADF;MAEE,UAAU,EAAC,MAFb;MAGE,IAAI,EAAEG,YAAY,CAACC,CAHrB;MAIE,OAAO,EAAEC,cAAc,CAACC,OAJ1B;MAKE,QAAQ,EAAET,mBALZ;MAME,OAAO,EAAEC,iCANX;MAOE,SAAS,EAAEC,uBAPb;MAQE,eAAaQ,kCAAkC,CAACC,YAAnC,CAAgDC,kBAR/D;MASE,QAAQ,EAAER;oBAEV,oBAAC,UAAD,OAXF,CADF;GADY,EAgBZ,CACED,yBADF,EAEEC,QAFF,EAGEF,uBAHF,EAIEF,mBAJF,EAKEC,iCALF,CAhBY,CAAd;AAwBD;;;;"}
@@ -1,6 +1,7 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
3
  import React, { useContext } from 'react';
4
+ import { createPortal } from 'react-dom';
4
5
  import { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid.js';
5
6
  import { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent.js';
6
7
  import { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext.js';
@@ -51,7 +52,7 @@ var CalendarWithTimeWheelWrapper = function CalendarWithTimeWheelWrapper() {
51
52
  isControllerOnly = _useContext.isControllerOnly;
52
53
 
53
54
  if (isControllerOnly) return /*#__PURE__*/React.createElement(CalendarWithTimeWheelContent, null);
54
- return /*#__PURE__*/React.createElement("div", _extends({
55
+ return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement("div", _extends({
55
56
  ref: setPopperElement,
56
57
  style: _objectSpread(_objectSpread({}, styles.popper), {}, {
57
58
  background: 'white',
@@ -62,7 +63,7 @@ var CalendarWithTimeWheelWrapper = function CalendarWithTimeWheelWrapper() {
62
63
  }), /*#__PURE__*/React.createElement(CalendarWithTimeWheelContent, null), /*#__PURE__*/React.createElement("div", {
63
64
  ref: setArrowElement,
64
65
  style: styles.arrow
65
- }));
66
+ })), document.body);
66
67
  };
67
68
 
68
69
  export { CalendarWithTimeWheelWrapper };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWithTimeWheelWrapper.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\n\nexport const CalendarWithTimeWheelWrapper = (): JSX.Element => {\n const {\n setPopperElement,\n setArrowElement,\n usePopperHelpers: { attributes, styles },\n isControllerOnly,\n } = useContext(CalendarWithTimeWheelContext);\n if (isControllerOnly) return <CalendarWithTimeWheelContent />;\n return (\n <div\n ref={setPopperElement}\n style={{ ...styles.popper, background: 'white', zIndex: 110 }}\n {...attributes.popper}\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL}\n >\n <CalendarWithTimeWheelContent />\n <div ref={setArrowElement} style={styles.arrow} />\n </div>\n );\n};\n"],"names":["CalendarWithTimeWheelWrapper","useContext","CalendarWithTimeWheelContext","setPopperElement","setArrowElement","usePopperHelpers","attributes","styles","isControllerOnly","popper","background","zIndex","ControlledDateTimePickerDatatestid","CONTEXTUAL_MENU","CALENDAR_TIMEWHEEL","arrow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAmB;AAC7D,oBAKIC,UAAU,CAACC,4BAAD,CALd;AAAA,MACEC,gBADF,eACEA,gBADF;AAAA,MAEEC,eAFF,eAEEA,eAFF;AAAA,0CAGEC,gBAHF;AAAA,MAGsBC,UAHtB,yBAGsBA,UAHtB;AAAA,MAGkCC,MAHlC,yBAGkCA,MAHlC;AAAA,MAIEC,gBAJF,eAIEA,gBAJF;;AAMA,MAAIA,gBAAJ,EAAsB,oBAAO,oBAAC,4BAAD,OAAP;AACtB,sBACE;AACE,IAAA,GAAG,EAAEL,gBADP;AAEE,IAAA,KAAK,kCAAOI,MAAM,CAACE,MAAd;AAAsBC,MAAAA,UAAU,EAAE,OAAlC;AAA2CC,MAAAA,MAAM,EAAE;AAAnD;AAFP,KAGML,UAAU,CAACG,MAHjB;AAIE,mBAAaG,kCAAkC,CAACC,eAAnC,CAAmDC;AAJlE,mBAME,oBAAC,4BAAD,OANF,eAOE;AAAK,IAAA,GAAG,EAAEV,eAAV;AAA2B,IAAA,KAAK,EAAEG,MAAM,CAACQ;AAAzC,IAPF,CADF;AAWD;;;;"}
1
+ {"version":3,"file":"CalendarWithTimeWheelWrapper.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { CalendarWithTimeWheelContent } from './CalendarWithTimeWheelContent';\nimport { CalendarWithTimeWheelContext } from './CalendarWithTimeWheelContext';\n\nexport const CalendarWithTimeWheelWrapper = (): JSX.Element => {\n const {\n setPopperElement,\n setArrowElement,\n usePopperHelpers: { attributes, styles },\n isControllerOnly,\n } = useContext(CalendarWithTimeWheelContext);\n if (isControllerOnly) return <CalendarWithTimeWheelContent />;\n return createPortal(\n <div\n ref={setPopperElement}\n style={{ ...styles.popper, background: 'white', zIndex: 110 }}\n {...attributes.popper}\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL}\n >\n <CalendarWithTimeWheelContent />\n <div ref={setArrowElement} style={styles.arrow} />\n </div>,\n document.body,\n );\n};\n"],"names":["CalendarWithTimeWheelWrapper","useContext","CalendarWithTimeWheelContext","setPopperElement","setArrowElement","usePopperHelpers","attributes","styles","isControllerOnly","createPortal","popper","background","zIndex","ControlledDateTimePickerDatatestid","CONTEXTUAL_MENU","CALENDAR_TIMEWHEEL","arrow","document","body"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMaA,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAmB;EAC7D,kBAKIC,UAAU,CAACC,4BAAD,CALd;MACEC,gBADF,eACEA,gBADF;MAEEC,eAFF,eAEEA,eAFF;0CAGEC,gBAHF;MAGsBC,UAHtB,yBAGsBA,UAHtB;MAGkCC,MAHlC,yBAGkCA,MAHlC;MAIEC,gBAJF,eAIEA,gBAJF;;EAMA,IAAIA,gBAAJ,EAAsB,oBAAO,oBAAC,4BAAD,OAAP;EACtB,oBAAOC,YAAY,eACjB;IACE,GAAG,EAAEN,gBADP;IAEE,KAAK,kCAAOI,MAAM,CAACG,MAAd;MAAsBC,UAAU,EAAE,OAAlC;MAA2CC,MAAM,EAAE;;KACpDN,UAAU,CAACI,MAHjB;IAIE,eAAaG,kCAAkC,CAACC,eAAnC,CAAmDC;mBAEhE,oBAAC,4BAAD,OANF,eAOE;IAAK,GAAG,EAAEX,eAAV;IAA2B,KAAK,EAAEG,MAAM,CAACS;IAP3C,CADiB,EAUjBC,QAAQ,CAACC,IAVQ,CAAnB;AAYD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styleds.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { CalendarContent } from '../Calendar/CalendarContent';\n\nexport const StyledIconTriggerButton = styled(DSButtonV2)`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledCalendarWithTimeWheelWrapper = styled.div<{ isControllerOnly: boolean }>`\n background: ${({ theme }) => theme.colors.neutral['000']};\n ${({ isControllerOnly }) =>\n isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);'}\n display: grid;\n grid-template-columns: 260px 192px;\n grid-template-rows: 1fr;\n column-gap: 0;\n\n & > div:last-of-type {\n box-shadow: -1px 0 0 0 ${({ theme }) => theme.colors.neutral[200]};\n margin-left: 1px;\n }\n`;\n\nexport const StyledCalendar = styled(CalendarContent)`\n box-shadow: none;\n`;\n\nexport const CalendarWithTimeWheelFooterMessage = styled.footer`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-style: italic;\n font-weight: ${({ theme }) => theme.fontWeights.thin};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n grid-column: 1/3;\n`;\n"],"names":["StyledIconTriggerButton","styled","DSButtonV2","theme","colors","brand","StyledCalendarWithTimeWheelWrapper","div","neutral","isControllerOnly","undefined","StyledCalendar","CalendarContent","CalendarWithTimeWheelFooterMessage","footer","space","xxs2","danger","fontWeights","thin","fontSizes","microText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,uBAAuB,gBAAGC,MAAM,CAACC,UAAD,CAAT;AAAA;AAAA,2CACzB;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,SAAeA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,KAAnB,CAAf;AAAA,CADyB;IAMvBC,kCAAkC,gBAAGL,MAAM,CAACM,GAAV;AAAA;AAAA,kLAC/B;AAAA,MAAGJ,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,KAArB,CAAf;AAAA,CAD+B,EAE3C;AAAA,MAAGC,gBAAH,SAAGA,gBAAH;AAAA,SACAA,gBAAgB,GAAGC,SAAH,GAAe,2EAD/B;AAAA,CAF2C,EAUlB;AAAA,MAAGP,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,GAArB,CAAf;AAAA,CAVkB;IAelCG,cAAc,gBAAGV,MAAM,CAACW,eAAD,CAAT;AAAA;AAAA;IAIdC,kCAAkC,gBAAGZ,MAAM,CAACa,MAAV;AAAA;AAAA,8JACrB;AAAA,MAAGX,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,GAArB,CAAf;AAAA,CADqB,EAEjC;AAAA,MAAGL,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,KAAN,CAAYC,IAA3B;AAAA,CAFiC,EAGlC;AAAA,MAAGb,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACY,KAAN,CAAYC,IAA3B;AAAA,CAHkC,EAIpC;AAAA,MAAGb,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACC,MAAN,CAAaa,MAAb,CAAoB,GAApB,CAAf;AAAA,CAJoC,EAM9B;AAAA,MAAGd,KAAH,SAAGA,KAAH;AAAA,SAAeA,KAAK,CAACe,WAAN,CAAkBC,IAAjC;AAAA,CAN8B,EAOhC;AAAA,MAAGhB,KAAH,UAAGA,KAAH;AAAA,SAAeA,KAAK,CAACiB,SAAN,CAAgBC,SAAhB,CAA0B,GAA1B,CAAf;AAAA,CAPgC;;;;"}
1
+ {"version":3,"file":"Styleds.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { CalendarContent } from '../Calendar/CalendarContent';\n\nexport const StyledIconTriggerButton = styled(DSButtonV2)`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledCalendarWithTimeWheelWrapper = styled.div<{ isControllerOnly: boolean }>`\n background: ${({ theme }) => theme.colors.neutral['000']};\n ${({ isControllerOnly }) =>\n isControllerOnly ? undefined : 'box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);'}\n display: grid;\n grid-template-columns: 260px 192px;\n grid-template-rows: 1fr;\n column-gap: 0;\n\n & > div:last-of-type {\n box-shadow: -1px 0 0 0 ${({ theme }) => theme.colors.neutral[200]};\n margin-left: 1px;\n }\n`;\n\nexport const StyledCalendar = styled(CalendarContent)`\n box-shadow: none;\n`;\n\nexport const CalendarWithTimeWheelFooterMessage = styled.footer`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-style: italic;\n font-weight: ${({ theme }) => theme.fontWeights.thin};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n grid-column: 1/3;\n`;\n"],"names":["StyledIconTriggerButton","styled","DSButtonV2","theme","colors","brand","StyledCalendarWithTimeWheelWrapper","div","neutral","isControllerOnly","undefined","StyledCalendar","CalendarContent","CalendarWithTimeWheelFooterMessage","footer","space","xxs2","danger","fontWeights","thin","fontSizes","microText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,uBAAuB,gBAAGC,MAAM,CAACC,UAAD,CAAT;EAAA;AAAA,2CACzB;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,KAAnB,CAAf;AAAA,CADyB;IAMvBC,kCAAkC,gBAAGL,MAAM,CAACM,GAAV;EAAA;AAAA,kLAC/B;EAAA,IAAGJ,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,KAArB,CAAf;AAAA,CAD+B,EAE3C;EAAA,IAAGC,gBAAH,SAAGA,gBAAH;EAAA,OACAA,gBAAgB,GAAGC,SAAH,GAAe,2EAD/B;AAAA,CAF2C,EAUlB;EAAA,IAAGP,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,GAArB,CAAf;AAAA,CAVkB;IAelCG,cAAc,gBAAGV,MAAM,CAACW,eAAD,CAAT;EAAA;AAAA;IAIdC,kCAAkC,gBAAGZ,MAAM,CAACa,MAAV;EAAA;AAAA,8JACrB;EAAA,IAAGX,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACC,MAAN,CAAaI,OAAb,CAAqB,GAArB,CAAf;AAAA,CADqB,EAEjC;EAAA,IAAGL,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACY,KAAN,CAAYC,IAA3B;AAAA,CAFiC,EAGlC;EAAA,IAAGb,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACY,KAAN,CAAYC,IAA3B;AAAA,CAHkC,EAIpC;EAAA,IAAGb,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACC,MAAN,CAAaa,MAAb,CAAoB,GAApB,CAAf;AAAA,CAJoC,EAM9B;EAAA,IAAGd,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACe,WAAN,CAAkBC,IAAjC;AAAA,CAN8B,EAOhC;EAAA,IAAGhB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACiB,SAAN,CAAgBC,SAAhB,CAA0B,GAA1B,CAAf;AAAA,CAPgC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConfigCalendarWithTimeWheelCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useState, useCallback, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { onKeyDownT } from '../../../index.d';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { CalendarWithTimeWheelContextT } from './CalendarWithTimeWheelContext';\nimport { homeEndKeys } from '../../../utils/constants';\n\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n yearInputRef,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = 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 if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else yearInputRef?.current?.focus?.();\n }\n },\n [isWithTimeInputs, meridiemInputRef, onHomeKeyDown, withAnyInputs, yearInputRef],\n );\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 (e) => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerOpen],\n );\n const closeCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerClose],\n );\n\n const handleToggleCalendarWithTimeWheel = useCallback(\n (e) => {\n if (!showCalendarWithTimeWheel) openCalendar(e);\n else closeCalendar(e);\n },\n [closeCalendar, openCalendar, showCalendarWithTimeWheel],\n );\n\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar(e);\n });\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(e);\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n showCalendarWithTimeWheel,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendarWithTimeWheel,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],"names":["useConfigCalendarWithTimeWheelCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","type","onPickerOpen","onPickerClose","disabled","hideDate","hideTime","monthInputRef","hourInputRef","withAnyInputs","isWithTimeInputs","meridiemInputRef","yearInputRef","ariaCurrentValueForInputs","CalendarContext","handleToggleCalendar","TimeWheelContext","handleToggleTimePicker","useState","showCalendarWithTimeWheel","setShowCalendarWithTimeWheel","onHomeKeyDown","useCallback","current","focus","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","setTimeout","closeCalendar","handleToggleCalendarWithTimeWheel","useOnClickOutside","contains","target","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","isControllerOnly","useMemo","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","CONTROLLER_ONLY"],"mappings":"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"}
1
+ {"version":3,"file":"useConfigCalendarWithTimeWheelCTX.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useState, useCallback, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport type { onKeyDownT } from '../../../index.d';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { CalendarWithTimeWheelContextT } from './CalendarWithTimeWheelContext';\nimport { homeEndKeys } from '../../../utils/constants';\n\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n hideDate,\n hideTime,\n monthInputRef,\n hourInputRef,\n withAnyInputs,\n isWithTimeInputs,\n meridiemInputRef,\n yearInputRef,\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = 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 if (homeEndKeys.includes(key)) e.preventDefault();\n if (homeEndKeys.includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) meridiemInputRef?.current?.focus?.();\n else yearInputRef?.current?.focus?.();\n }\n },\n [isWithTimeInputs, meridiemInputRef, onHomeKeyDown, withAnyInputs, yearInputRef],\n );\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 (e) => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerOpen],\n );\n const closeCalendar = useCallback(\n (e) => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar(e));\n setTimeout(() => handleToggleTimePicker(e));\n },\n [handleToggleCalendar, handleToggleTimePicker, onPickerClose],\n );\n\n const handleToggleCalendarWithTimeWheel = useCallback(\n (e) => {\n if (!showCalendarWithTimeWheel) openCalendar(e);\n else closeCalendar(e);\n },\n [closeCalendar, openCalendar, showCalendarWithTimeWheel],\n );\n\n useOnClickOutside(popperElement, (e) => {\n if (!pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar(e);\n });\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(e);\n pickerButtonRef?.current?.focus?.();\n }\n },\n [closeCalendar, pickerButtonRef],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n showCalendarWithTimeWheel,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendarWithTimeWheel,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],"names":["useConfigCalendarWithTimeWheelCTX","useContext","ControlledDateTimePickerContext","pickerButtonRef","props","type","onPickerOpen","onPickerClose","disabled","hideDate","hideTime","monthInputRef","hourInputRef","withAnyInputs","isWithTimeInputs","meridiemInputRef","yearInputRef","ariaCurrentValueForInputs","CalendarContext","handleToggleCalendar","TimeWheelContext","handleToggleTimePicker","useState","showCalendarWithTimeWheel","setShowCalendarWithTimeWheel","onHomeKeyDown","useCallback","current","focus","handlePickerIconKeyDown","e","key","homeEndKeys","includes","preventDefault","stopPropagation","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","usePopperHelpers","usePopper","modifiers","name","options","element","openCalendar","setTimeout","closeCalendar","handleToggleCalendarWithTimeWheel","useOnClickOutside","contains","target","handleSetTriggerRef","newRef","handleMenuWrapperKeyDown","isControllerOnly","useMemo","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","CONTROLLER_ONLY"],"mappings":"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"}
@@ -34,6 +34,7 @@ import './Calendar/CalendarWeekDays.js';
34
34
  import './Calendar/CalendarHead.js';
35
35
  import './Calendar/CalendarFooter.js';
36
36
  import './CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js';
37
+ import 'react-dom';
37
38
  import './CalendarWithTimeWheel/CalendarWithTimeWheelContent.js';
38
39
  import './CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js';
39
40
  import './TimeWheel/TimeWheelContent.js';
@@ -1 +1 @@
1
- {"version":3,"file":"PickersIcons.js","sources":["../../../../../src/controlled-date-time-picker/parts/Pickers/PickersIcons.tsx"],"sourcesContent":["import React from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { StyledPickersIconsWrapperGrid } from '../Styleds';\nimport { CalendarWithTimeWheel } from './CalendarWithTimeWheel/CalendarWithTimeWheel';\nimport { Calendar } from './Calendar/Calendar';\nimport { TimeWheel } from './TimeWheel/TimeWheel';\n\nexport const PickersIcons = (): JSX.Element => {\n const {\n hideDatePicker,\n hideTimePicker,\n hideDateTimePicker,\n isControllerOnly,\n props: { hasError },\n } = React.useContext(ControlledDateTimePickerContext);\n\n return (\n <StyledPickersIconsWrapperGrid hasError={hasError} isControllerOnly={isControllerOnly}>\n {!hideDatePicker && hideTimePicker && hideDateTimePicker ? <Calendar /> : null}\n {hideDatePicker && !hideTimePicker && hideDateTimePicker ? <TimeWheel /> : null}\n {hideDatePicker && hideTimePicker && !hideDateTimePicker ? <CalendarWithTimeWheel /> : null}\n </StyledPickersIconsWrapperGrid>\n );\n};\n"],"names":["PickersIcons","React","useContext","ControlledDateTimePickerContext","hideDatePicker","hideTimePicker","hideDateTimePicker","isControllerOnly","hasError","props"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOaA,YAAY,GAAG,SAAfA,YAAe,GAAmB;AAC7C,0BAMIC,KAAK,CAACC,UAAN,CAAiBC,+BAAjB,CANJ;AAAA,MACEC,cADF,qBACEA,cADF;AAAA,MAEEC,cAFF,qBAEEA,cAFF;AAAA,MAGEC,kBAHF,qBAGEA,kBAHF;AAAA,MAIEC,gBAJF,qBAIEA,gBAJF;AAAA,MAKWC,QALX,qBAKEC,KALF,CAKWD,QALX;;AAQA,sBACE,oBAAC,6BAAD;AAA+B,IAAA,QAAQ,EAAEA,QAAzC;AAAmD,IAAA,gBAAgB,EAAED;AAArE,KACG,CAACH,cAAD,IAAmBC,cAAnB,IAAqCC,kBAArC,gBAA0D,oBAAC,QAAD,OAA1D,GAAyE,IAD5E,EAEGF,cAAc,IAAI,CAACC,cAAnB,IAAqCC,kBAArC,gBAA0D,oBAAC,SAAD,OAA1D,GAA0E,IAF7E,EAGGF,cAAc,IAAIC,cAAlB,IAAoC,CAACC,kBAArC,gBAA0D,oBAAC,qBAAD,OAA1D,GAAsF,IAHzF,CADF;AAOD;;;;"}
1
+ {"version":3,"file":"PickersIcons.js","sources":["../../../../../src/controlled-date-time-picker/parts/Pickers/PickersIcons.tsx"],"sourcesContent":["import React from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { StyledPickersIconsWrapperGrid } from '../Styleds';\nimport { CalendarWithTimeWheel } from './CalendarWithTimeWheel/CalendarWithTimeWheel';\nimport { Calendar } from './Calendar/Calendar';\nimport { TimeWheel } from './TimeWheel/TimeWheel';\n\nexport const PickersIcons = (): JSX.Element => {\n const {\n hideDatePicker,\n hideTimePicker,\n hideDateTimePicker,\n isControllerOnly,\n props: { hasError },\n } = React.useContext(ControlledDateTimePickerContext);\n\n return (\n <StyledPickersIconsWrapperGrid hasError={hasError} isControllerOnly={isControllerOnly}>\n {!hideDatePicker && hideTimePicker && hideDateTimePicker ? <Calendar /> : null}\n {hideDatePicker && !hideTimePicker && hideDateTimePicker ? <TimeWheel /> : null}\n {hideDatePicker && hideTimePicker && !hideDateTimePicker ? <CalendarWithTimeWheel /> : null}\n </StyledPickersIconsWrapperGrid>\n );\n};\n"],"names":["PickersIcons","React","useContext","ControlledDateTimePickerContext","hideDatePicker","hideTimePicker","hideDateTimePicker","isControllerOnly","hasError","props"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOaA,YAAY,GAAG,SAAfA,YAAe,GAAmB;EAC7C,wBAMIC,KAAK,CAACC,UAAN,CAAiBC,+BAAjB,CANJ;MACEC,cADF,qBACEA,cADF;MAEEC,cAFF,qBAEEA,cAFF;MAGEC,kBAHF,qBAGEA,kBAHF;MAIEC,gBAJF,qBAIEA,gBAJF;MAKWC,QALX,qBAKEC,KALF,CAKWD,QALX;;EAQA,oBACE,oBAAC,6BAAD;IAA+B,QAAQ,EAAEA,QAAzC;IAAmD,gBAAgB,EAAED;KAClE,CAACH,cAAD,IAAmBC,cAAnB,IAAqCC,kBAArC,gBAA0D,oBAAC,QAAD,OAA1D,GAAyE,IAD5E,EAEGF,cAAc,IAAI,CAACC,cAAnB,IAAqCC,kBAArC,gBAA0D,oBAAC,SAAD,OAA1D,GAA0E,IAF7E,EAGGF,cAAc,IAAIC,cAAlB,IAAoC,CAACC,kBAArC,gBAA0D,oBAAC,qBAAD,OAA1D,GAAsF,IAHzF,CADF;AAOD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HoursList.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const HoursList = (): JSX.Element => {\n const {\n currHourNum,\n hours,\n minutes,\n meridiem,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n getIsDisabledTime,\n autoFocusHourTimeWheel,\n } = useContext(TimeWheelContext);\n\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevHour}\n onKeyDown={handlePrevHourBtnOnKeyDown}\n innerRef={prevHourBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR}\n tabIndex={-1}\n >\n <ChevronSmallUp />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleHours.map((hourString) => {\n const key = `timewheel-hour-${hourString}`;\n if (!hourString) return <StyledWheelListItem key={key} />;\n const currHourTimeString = `${hourString}:${minutes || '00'} ${meridiem || 'AM'}`;\n\n const isEmptyCurrValueCurrentListItem = !hours && convertToPositiveNumberIfPossible(hourString) === currHourNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;\n const isDisabled = getIsDisabledTime(currHourTimeString);\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrHourOnKeyDown : undefined,\n innerRef: isCurrentListItem ? currHourBtnRef : undefined,\n };\n return (\n <StyledWheelListItem isCurrentListItem={isCurrentListItem} key={key}>\n <StyledTimeBtn\n isCurrentListItem={isCurrentListItem}\n autoFocus={autoFocusHourTimeWheel && isCurrentListItem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR']}\n selected={hours.length === 2 && convertToPositiveNumberIfPossible(hourString) === currHourNum}\n aria-label={`${hourString} hours`}\n aria-disabled={isDisabled}\n isDisabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e) => handleTimeWheelBtnChangeHours(hourString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax=\"12\"\n aria-valuemin=\"1\"\n aria-valuenow={currHourNum}\n aria-valuetext={`${hourString} hours`}\n {...btnProps}\n >\n {hourString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextHour}\n onKeyDown={handleNextHourBtnOnKeyDown}\n innerRef={nextHourBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR}\n >\n <ChevronSmallDown />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n"],"names":["HoursList","useContext","TimeWheelContext","currHourNum","hours","minutes","meridiem","visibleHours","handlePrevHour","handleNextHour","handleTimeWheelBtnChangeHours","handlePrevHourBtnOnKeyDown","handleCurrHourOnKeyDown","handleNextHourBtnOnKeyDown","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","getIsDisabledTime","autoFocusHourTimeWheel","ControlledDateTimePickerDatatestid","TIMEWHEEL","PREV_HOUR","map","hourString","key","currHourTimeString","isEmptyCurrValueCurrentListItem","convertToPositiveNumberIfPossible","isCurrentListItem","isDisabled","tabIndex","btnProps","onKeyDown","undefined","innerRef","length","e","NEXT_HOUR"],"mappings":"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"}
1
+ {"version":3,"file":"HoursList.js","sources":["../../../../../../src/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.tsx"],"sourcesContent":["/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { ChevronSmallUp, ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { StyledWheelList, StyledWheelListItem, StyledTimeBtn, StyledWheelChangeTimeBtn } from './Styleds';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const HoursList = (): JSX.Element => {\n const {\n currHourNum,\n hours,\n minutes,\n meridiem,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n handlePrevHourBtnOnKeyDown,\n handleCurrHourOnKeyDown,\n handleNextHourBtnOnKeyDown,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n getIsDisabledTime,\n autoFocusHourTimeWheel,\n } = useContext(TimeWheelContext);\n\n return (\n <StyledWheelList>\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"subtract one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handlePrevHour}\n onKeyDown={handlePrevHourBtnOnKeyDown}\n innerRef={prevHourBtnRef}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR}\n tabIndex={-1}\n >\n <ChevronSmallUp />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n {visibleHours.map((hourString) => {\n const key = `timewheel-hour-${hourString}`;\n if (!hourString) return <StyledWheelListItem key={key} />;\n const currHourTimeString = `${hourString}:${minutes || '00'} ${meridiem || 'AM'}`;\n\n const isEmptyCurrValueCurrentListItem = !hours && convertToPositiveNumberIfPossible(hourString) === currHourNum;\n const isCurrentListItem = isEmptyCurrValueCurrentListItem || hours === hourString;\n const isDisabled = getIsDisabledTime(currHourTimeString);\n const tabIndex = isCurrentListItem ? 0 : -1;\n const btnProps = {\n onKeyDown: isCurrentListItem ? handleCurrHourOnKeyDown : undefined,\n innerRef: isCurrentListItem ? currHourBtnRef : undefined,\n };\n return (\n <StyledWheelListItem isCurrentListItem={isCurrentListItem} key={key}>\n <StyledTimeBtn\n isCurrentListItem={isCurrentListItem}\n autoFocus={autoFocusHourTimeWheel && isCurrentListItem}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_HOUR' : 'HOUR']}\n selected={hours.length === 2 && convertToPositiveNumberIfPossible(hourString) === currHourNum}\n aria-label={`${hourString} hours`}\n aria-disabled={isDisabled}\n isDisabled={isDisabled}\n buttonType=\"raw\"\n size=\"m\"\n onClick={(e) => handleTimeWheelBtnChangeHours(hourString, e)}\n tabIndex={tabIndex}\n role=\"spinbutton\"\n aria-valuemax=\"12\"\n aria-valuemin=\"1\"\n aria-valuenow={currHourNum}\n aria-valuetext={`${hourString} hours`}\n {...btnProps}\n >\n {hourString}\n </StyledTimeBtn>\n </StyledWheelListItem>\n );\n })}\n <StyledWheelListItem>\n <StyledWheelChangeTimeBtn\n aria-label=\"add one hour\"\n buttonType=\"raw\"\n size=\"m\"\n onClick={handleNextHour}\n onKeyDown={handleNextHourBtnOnKeyDown}\n innerRef={nextHourBtnRef}\n tabIndex={-1}\n data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR}\n >\n <ChevronSmallDown />\n </StyledWheelChangeTimeBtn>\n </StyledWheelListItem>\n </StyledWheelList>\n );\n};\n"],"names":["HoursList","useContext","TimeWheelContext","currHourNum","hours","minutes","meridiem","visibleHours","handlePrevHour","handleNextHour","handleTimeWheelBtnChangeHours","handlePrevHourBtnOnKeyDown","handleCurrHourOnKeyDown","handleNextHourBtnOnKeyDown","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","getIsDisabledTime","autoFocusHourTimeWheel","ControlledDateTimePickerDatatestid","TIMEWHEEL","PREV_HOUR","map","hourString","key","currHourTimeString","isEmptyCurrValueCurrentListItem","convertToPositiveNumberIfPossible","isCurrentListItem","isDisabled","tabIndex","btnProps","onKeyDown","undefined","innerRef","length","e","NEXT_HOUR"],"mappings":"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"}