@elliemae/ds-form-date-time-picker 3.15.0 → 3.16.0-next.10

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 (402) hide show
  1. package/dist/cjs/ControlledDateTimePicker.js +7 -7
  2. package/dist/cjs/ControlledDateTimePicker.js.map +2 -2
  3. package/dist/cjs/ControlledDateTimePickerCTX.js.map +1 -1
  4. package/dist/cjs/config/useChangeHandlers.js +4 -4
  5. package/dist/cjs/config/useChangeHandlers.js.map +2 -2
  6. package/dist/cjs/config/useControlledDateTimePicker.js +13 -13
  7. package/dist/cjs/config/useControlledDateTimePicker.js.map +2 -2
  8. package/dist/cjs/config/useFocusTracker.js.map +1 -1
  9. package/dist/cjs/config/useGetDestructuredValues.js +3 -3
  10. package/dist/cjs/config/useGetDestructuredValues.js.map +1 -1
  11. package/dist/cjs/config/useGetFlags.js +8 -8
  12. package/dist/cjs/config/useGetFlags.js.map +2 -2
  13. package/dist/cjs/config/useGetPropsBasedOnType.js +1 -1
  14. package/dist/cjs/config/useGetPropsBasedOnType.js.map +1 -1
  15. package/dist/cjs/config/useGetPropsWithDefault.js +3 -3
  16. package/dist/cjs/config/useGetPropsWithDefault.js.map +2 -2
  17. package/dist/cjs/config/useGetReferences.js.map +1 -1
  18. package/dist/cjs/config/useGlobalKeyHandlers.js +3 -3
  19. package/dist/cjs/config/useGlobalKeyHandlers.js.map +1 -1
  20. package/dist/cjs/config/useRelevantValueFromProps.js +2 -2
  21. package/dist/cjs/config/useRelevantValueFromProps.js.map +1 -1
  22. package/dist/cjs/config/useValidateProps.js +3 -3
  23. package/dist/cjs/config/useValidateProps.js.map +1 -1
  24. package/dist/cjs/index.js +9 -9
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/package.json +7 -0
  27. package/dist/cjs/parts/ClearButton/ClearButton.js +12 -6
  28. package/dist/cjs/parts/ClearButton/ClearButton.js.map +3 -3
  29. package/dist/cjs/parts/ClearButton/useClearButton.js +1 -1
  30. package/dist/cjs/parts/ClearButton/useClearButton.js.map +1 -1
  31. package/dist/cjs/parts/ControlledDateTimePickerContent.js +15 -8
  32. package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +3 -3
  33. package/dist/cjs/parts/DateInputs/DDInput.js +6 -4
  34. package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
  35. package/dist/cjs/parts/DateInputs/DateInputs.js +30 -12
  36. package/dist/cjs/parts/DateInputs/DateInputs.js.map +3 -3
  37. package/dist/cjs/parts/DateInputs/MMInput.js +6 -4
  38. package/dist/cjs/parts/DateInputs/MMInput.js.map +2 -2
  39. package/dist/cjs/parts/DateInputs/YYYYInput.js +6 -4
  40. package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
  41. package/dist/cjs/parts/DateInputs/useDateInputs.js +5 -5
  42. package/dist/cjs/parts/DateInputs/useDateInputs.js.map +2 -2
  43. package/dist/cjs/parts/Pickers/Calendar/Calendar.js +5 -5
  44. package/dist/cjs/parts/Pickers/Calendar/Calendar.js.map +2 -2
  45. package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js +3 -3
  46. package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  47. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +15 -7
  48. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  49. package/dist/cjs/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  50. package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js +2 -2
  51. package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  52. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +19 -5
  53. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  54. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +40 -7
  55. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  56. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +20 -6
  57. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  58. package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js +3 -3
  59. package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js.map +2 -2
  60. package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js +1 -1
  61. package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  62. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +12 -6
  63. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  64. package/dist/cjs/parts/Pickers/Calendar/Day.js +11 -7
  65. package/dist/cjs/parts/Pickers/Calendar/Day.js.map +2 -2
  66. package/dist/cjs/parts/Pickers/Calendar/Styleds.js +1 -1
  67. package/dist/cjs/parts/Pickers/Calendar/Styleds.js.map +1 -1
  68. package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js +5 -5
  69. package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  70. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +2 -2
  71. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  72. package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js +2 -2
  73. package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  74. package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js +2 -2
  75. package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  76. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
  77. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  78. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +6 -6
  79. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  80. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +13 -7
  81. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  82. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  83. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +11 -4
  84. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  85. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -4
  86. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  87. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +12 -4
  88. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  89. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js +2 -2
  90. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  91. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +4 -4
  92. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  93. package/dist/cjs/parts/Pickers/PickersIcons.js +5 -5
  94. package/dist/cjs/parts/Pickers/PickersIcons.js.map +1 -1
  95. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +28 -7
  96. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  97. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +28 -6
  98. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  99. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +28 -7
  100. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  101. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js +1 -1
  102. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  103. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js +5 -5
  104. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  105. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +26 -9
  106. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  107. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  108. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +19 -5
  109. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  110. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +20 -6
  111. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  112. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +12 -6
  113. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  114. package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +3 -3
  115. package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  116. package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +4 -4
  117. package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  118. package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js +1 -1
  119. package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  120. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  121. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  122. package/dist/cjs/parts/Styleds.js +1 -1
  123. package/dist/cjs/parts/Styleds.js.map +1 -1
  124. package/dist/cjs/parts/TimeInputs/HHInput.js +6 -4
  125. package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
  126. package/dist/cjs/parts/TimeInputs/MeridiemInput.js +6 -4
  127. package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
  128. package/dist/cjs/parts/TimeInputs/MinutesInput.js +6 -4
  129. package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
  130. package/dist/cjs/parts/TimeInputs/TimeInputs.js +30 -12
  131. package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +3 -3
  132. package/dist/cjs/parts/TimeInputs/useTimeInputs.js +2 -2
  133. package/dist/cjs/parts/TimeInputs/useTimeInputs.js.map +1 -1
  134. package/dist/cjs/propTypes.js +28 -26
  135. package/dist/cjs/propTypes.js.map +2 -2
  136. package/dist/cjs/sharedTypes.js.map +1 -1
  137. package/dist/cjs/tests/custom-props/customProps.js +233 -0
  138. package/dist/cjs/tests/custom-props/customProps.js.map +7 -0
  139. package/dist/cjs/utils/dateHelpers.js +3 -3
  140. package/dist/cjs/utils/dateHelpers.js.map +1 -1
  141. package/dist/cjs/utils/dateTimeHelpers.js +2 -2
  142. package/dist/cjs/utils/dateTimeHelpers.js.map +1 -1
  143. package/dist/cjs/utils/hooks/useGetDayFromDateString.js +2 -2
  144. package/dist/cjs/utils/hooks/useGetDayFromDateString.js.map +1 -1
  145. package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -2
  146. package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  147. package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js +5 -5
  148. package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  149. package/dist/cjs/utils/stringHelpers.js +2 -2
  150. package/dist/cjs/utils/stringHelpers.js.map +1 -1
  151. package/dist/cjs/utils/timeHelpers.js +1 -1
  152. package/dist/cjs/utils/timeHelpers.js.map +1 -1
  153. package/dist/cjs/utils/typeGuards.js.map +1 -1
  154. package/dist/esm/ControlledDateTimePicker.js +6 -6
  155. package/dist/esm/ControlledDateTimePicker.js.map +1 -1
  156. package/dist/esm/ControlledDateTimePickerCTX.js.map +1 -1
  157. package/dist/esm/config/useChangeHandlers.js +4 -4
  158. package/dist/esm/config/useChangeHandlers.js.map +2 -2
  159. package/dist/esm/config/useControlledDateTimePicker.js +11 -11
  160. package/dist/esm/config/useControlledDateTimePicker.js.map +1 -1
  161. package/dist/esm/config/useFocusTracker.js.map +1 -1
  162. package/dist/esm/config/useGetDestructuredValues.js +3 -3
  163. package/dist/esm/config/useGetDestructuredValues.js.map +1 -1
  164. package/dist/esm/config/useGetFlags.js +8 -8
  165. package/dist/esm/config/useGetFlags.js.map +2 -2
  166. package/dist/esm/config/useGetPropsBasedOnType.js +1 -1
  167. package/dist/esm/config/useGetPropsBasedOnType.js.map +1 -1
  168. package/dist/esm/config/useGetPropsWithDefault.js +2 -2
  169. package/dist/esm/config/useGetPropsWithDefault.js.map +1 -1
  170. package/dist/esm/config/useGetReferences.js.map +1 -1
  171. package/dist/esm/config/useGlobalKeyHandlers.js +3 -3
  172. package/dist/esm/config/useGlobalKeyHandlers.js.map +1 -1
  173. package/dist/esm/config/useRelevantValueFromProps.js +2 -2
  174. package/dist/esm/config/useRelevantValueFromProps.js.map +1 -1
  175. package/dist/esm/config/useValidateProps.js +3 -3
  176. package/dist/esm/config/useValidateProps.js.map +1 -1
  177. package/dist/esm/index.js +9 -9
  178. package/dist/esm/index.js.map +1 -1
  179. package/dist/esm/package.json +7 -0
  180. package/dist/esm/parts/ClearButton/ClearButton.js +12 -6
  181. package/dist/esm/parts/ClearButton/ClearButton.js.map +3 -3
  182. package/dist/esm/parts/ClearButton/useClearButton.js +1 -1
  183. package/dist/esm/parts/ClearButton/useClearButton.js.map +1 -1
  184. package/dist/esm/parts/ControlledDateTimePickerContent.js +15 -8
  185. package/dist/esm/parts/ControlledDateTimePickerContent.js.map +3 -3
  186. package/dist/esm/parts/DateInputs/DDInput.js +6 -4
  187. package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
  188. package/dist/esm/parts/DateInputs/DateInputs.js +30 -12
  189. package/dist/esm/parts/DateInputs/DateInputs.js.map +3 -3
  190. package/dist/esm/parts/DateInputs/MMInput.js +6 -4
  191. package/dist/esm/parts/DateInputs/MMInput.js.map +2 -2
  192. package/dist/esm/parts/DateInputs/YYYYInput.js +6 -4
  193. package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
  194. package/dist/esm/parts/DateInputs/useDateInputs.js +5 -5
  195. package/dist/esm/parts/DateInputs/useDateInputs.js.map +2 -2
  196. package/dist/esm/parts/Pickers/Calendar/Calendar.js +5 -5
  197. package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +2 -2
  198. package/dist/esm/parts/Pickers/Calendar/CalendarBody.js +3 -3
  199. package/dist/esm/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  200. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +15 -7
  201. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +3 -3
  202. package/dist/esm/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  203. package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js +2 -2
  204. package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  205. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +19 -5
  206. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +3 -3
  207. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +40 -7
  208. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +2 -2
  209. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +20 -6
  210. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +3 -3
  211. package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js +3 -3
  212. package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +2 -2
  213. package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js +1 -1
  214. package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  215. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +12 -6
  216. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +3 -3
  217. package/dist/esm/parts/Pickers/Calendar/Day.js +11 -7
  218. package/dist/esm/parts/Pickers/Calendar/Day.js.map +2 -2
  219. package/dist/esm/parts/Pickers/Calendar/Styleds.js +1 -1
  220. package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +1 -1
  221. package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js +5 -5
  222. package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  223. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +2 -2
  224. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  225. package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js +2 -2
  226. package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  227. package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js +2 -2
  228. package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  229. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js +1 -1
  230. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  231. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +6 -6
  232. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  233. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +13 -7
  234. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +3 -3
  235. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  236. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +11 -4
  237. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +3 -3
  238. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -4
  239. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +3 -3
  240. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +12 -4
  241. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +3 -3
  242. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js +2 -2
  243. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  244. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +4 -4
  245. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  246. package/dist/esm/parts/Pickers/PickersIcons.js +5 -5
  247. package/dist/esm/parts/Pickers/PickersIcons.js.map +1 -1
  248. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +28 -7
  249. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +3 -3
  250. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +28 -6
  251. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +3 -3
  252. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +28 -7
  253. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +3 -3
  254. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js +1 -1
  255. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  256. package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js +5 -5
  257. package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  258. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +26 -9
  259. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  260. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  261. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +19 -5
  262. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +3 -3
  263. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +20 -6
  264. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +3 -3
  265. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +12 -6
  266. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +3 -3
  267. package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +3 -3
  268. package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  269. package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +4 -4
  270. package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  271. package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js +1 -1
  272. package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  273. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  274. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  275. package/dist/esm/parts/Styleds.js +1 -1
  276. package/dist/esm/parts/Styleds.js.map +1 -1
  277. package/dist/esm/parts/TimeInputs/HHInput.js +6 -4
  278. package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
  279. package/dist/esm/parts/TimeInputs/MeridiemInput.js +6 -4
  280. package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
  281. package/dist/esm/parts/TimeInputs/MinutesInput.js +6 -4
  282. package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
  283. package/dist/esm/parts/TimeInputs/TimeInputs.js +30 -12
  284. package/dist/esm/parts/TimeInputs/TimeInputs.js.map +3 -3
  285. package/dist/esm/parts/TimeInputs/useTimeInputs.js +2 -2
  286. package/dist/esm/parts/TimeInputs/useTimeInputs.js.map +1 -1
  287. package/dist/esm/propTypes.js +9 -2
  288. package/dist/esm/propTypes.js.map +2 -2
  289. package/dist/esm/tests/custom-props/customProps.js +207 -0
  290. package/dist/esm/tests/custom-props/customProps.js.map +7 -0
  291. package/dist/esm/utils/dateHelpers.js +3 -3
  292. package/dist/esm/utils/dateHelpers.js.map +1 -1
  293. package/dist/esm/utils/dateTimeHelpers.js +2 -2
  294. package/dist/esm/utils/dateTimeHelpers.js.map +1 -1
  295. package/dist/esm/utils/hooks/useGetDayFromDateString.js +2 -2
  296. package/dist/esm/utils/hooks/useGetDayFromDateString.js.map +1 -1
  297. package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -2
  298. package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  299. package/dist/esm/utils/hooks/useGetStartingFocusedDay.js +5 -5
  300. package/dist/esm/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  301. package/dist/esm/utils/stringHelpers.js +2 -2
  302. package/dist/esm/utils/stringHelpers.js.map +1 -1
  303. package/dist/esm/utils/timeHelpers.js +1 -1
  304. package/dist/esm/utils/timeHelpers.js.map +1 -1
  305. package/dist/esm/utils/typeGuards.js.map +1 -1
  306. package/package.json +10 -9
  307. package/dist/types/ControlledDateTimePicker.d.ts +0 -7
  308. package/dist/types/ControlledDateTimePickerCTX.d.ts +0 -5
  309. package/dist/types/ControlledDateTimePickerDatatestid.d.ts +0 -63
  310. package/dist/types/ControlledDateTimePickerTypes.d.ts +0 -20
  311. package/dist/types/config/useChangeHandlers.d.ts +0 -27
  312. package/dist/types/config/useControlledDateTimePicker.d.ts +0 -16
  313. package/dist/types/config/useFocusTracker.d.ts +0 -38
  314. package/dist/types/config/useGetDestructuredValues.d.ts +0 -30
  315. package/dist/types/config/useGetFlags.d.ts +0 -30
  316. package/dist/types/config/useGetPropsBasedOnType.d.ts +0 -28
  317. package/dist/types/config/useGetPropsWithDefault.d.ts +0 -2
  318. package/dist/types/config/useGetReferences.d.ts +0 -33
  319. package/dist/types/config/useGlobalKeyHandlers.d.ts +0 -18
  320. package/dist/types/config/useRelevantValueFromProps.d.ts +0 -10
  321. package/dist/types/config/useValidateProps.d.ts +0 -2
  322. package/dist/types/exported-related/theming.d.ts +0 -37
  323. package/dist/types/index.d.ts +0 -9
  324. package/dist/types/parts/ClearButton/ClearButton.d.ts +0 -1
  325. package/dist/types/parts/ClearButton/useClearButton.d.ts +0 -11
  326. package/dist/types/parts/ControlledDateTimePickerContent.d.ts +0 -1
  327. package/dist/types/parts/DateInputs/DDInput.d.ts +0 -16
  328. package/dist/types/parts/DateInputs/DateInputs.d.ts +0 -1
  329. package/dist/types/parts/DateInputs/MMInput.d.ts +0 -18
  330. package/dist/types/parts/DateInputs/YYYYInput.d.ts +0 -16
  331. package/dist/types/parts/DateInputs/useDateInputs.d.ts +0 -2
  332. package/dist/types/parts/Pickers/Calendar/Calendar.d.ts +0 -4
  333. package/dist/types/parts/Pickers/Calendar/CalendarBody.d.ts +0 -6
  334. package/dist/types/parts/Pickers/Calendar/CalendarContent.d.ts +0 -3
  335. package/dist/types/parts/Pickers/Calendar/CalendarContext.d.ts +0 -6
  336. package/dist/types/parts/Pickers/Calendar/CalendarDaysList.d.ts +0 -9
  337. package/dist/types/parts/Pickers/Calendar/CalendarFooter.d.ts +0 -2
  338. package/dist/types/parts/Pickers/Calendar/CalendarHead.d.ts +0 -1
  339. package/dist/types/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +0 -1
  340. package/dist/types/parts/Pickers/Calendar/CalendarMonthDays.d.ts +0 -1
  341. package/dist/types/parts/Pickers/Calendar/CalendarWeekDays.d.ts +0 -2
  342. package/dist/types/parts/Pickers/Calendar/CalendarWrapper.d.ts +0 -1
  343. package/dist/types/parts/Pickers/Calendar/Day.d.ts +0 -8
  344. package/dist/types/parts/Pickers/Calendar/Styleds.d.ts +0 -21
  345. package/dist/types/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -14
  346. package/dist/types/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +0 -15
  347. package/dist/types/parts/Pickers/Calendar/useFocusLogic.d.ts +0 -14
  348. package/dist/types/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +0 -19
  349. package/dist/types/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -16
  350. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +0 -1
  351. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +0 -1
  352. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +0 -6
  353. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +0 -2
  354. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +0 -1
  355. package/dist/types/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +0 -1
  356. package/dist/types/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +0 -7
  357. package/dist/types/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +0 -14
  358. package/dist/types/parts/Pickers/PickersIcons.d.ts +0 -1
  359. package/dist/types/parts/Pickers/TimeWheel/HoursList.d.ts +0 -1
  360. package/dist/types/parts/Pickers/TimeWheel/MeridiemList.d.ts +0 -2
  361. package/dist/types/parts/Pickers/TimeWheel/MinutesList.d.ts +0 -2
  362. package/dist/types/parts/Pickers/TimeWheel/TimeWheel.d.ts +0 -4
  363. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +0 -2
  364. package/dist/types/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +0 -6
  365. package/dist/types/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +0 -2
  366. package/dist/types/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +0 -1
  367. package/dist/types/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +0 -1
  368. package/dist/types/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +0 -5
  369. package/dist/types/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +0 -17
  370. package/dist/types/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +0 -13
  371. package/dist/types/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -12
  372. package/dist/types/parts/Styleds.d.ts +0 -13
  373. package/dist/types/parts/TimeInputs/HHInput.d.ts +0 -17
  374. package/dist/types/parts/TimeInputs/MeridiemInput.d.ts +0 -16
  375. package/dist/types/parts/TimeInputs/MinutesInput.d.ts +0 -16
  376. package/dist/types/parts/TimeInputs/TimeInputs.d.ts +0 -1
  377. package/dist/types/parts/TimeInputs/useTimeInputs.d.ts +0 -22
  378. package/dist/types/parts/config.d.ts +0 -5
  379. package/dist/types/propTypes.d.ts +0 -97
  380. package/dist/types/sharedTypes.d.ts +0 -95
  381. package/dist/types/tests/date-time-picker.auto-advance.test.d.ts +0 -1
  382. package/dist/types/tests/date-time-picker.clear-button.test.d.ts +0 -1
  383. package/dist/types/tests/date-time-picker.keyboard-focus.test.d.ts +0 -1
  384. package/dist/types/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +0 -1
  385. package/dist/types/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +0 -1
  386. package/dist/types/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +0 -1
  387. package/dist/types/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +0 -1
  388. package/dist/types/tests/date-time-picker.manual-delete-values.test.d.ts +0 -1
  389. package/dist/types/tests/date-time-picker.onChange-meta-info.test.d.ts +0 -1
  390. package/dist/types/tests/date-time-picker.types-button.test.d.ts +0 -1
  391. package/dist/types/tests/date-time-picker.types-dom.test.d.ts +0 -1
  392. package/dist/types/utils/constants.d.ts +0 -38
  393. package/dist/types/utils/dateHelpers.d.ts +0 -40
  394. package/dist/types/utils/dateTimeHelpers.d.ts +0 -8
  395. package/dist/types/utils/hooks/useGetDayFromDateString.d.ts +0 -1
  396. package/dist/types/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +0 -5
  397. package/dist/types/utils/hooks/useGetStartingFocusedDay.d.ts +0 -8
  398. package/dist/types/utils/hooks/useOnClickOutside.d.ts +0 -1
  399. package/dist/types/utils/numberHelpers.d.ts +0 -1
  400. package/dist/types/utils/stringHelpers.d.ts +0 -36
  401. package/dist/types/utils/timeHelpers.d.ts +0 -2
  402. package/dist/types/utils/typeGuards.d.ts +0 -4
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MeridiemInput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst validFirstDigits = ['a', 'A', 'p', 'P'];\nconst validSecondDigits = ['m', 'M'];\nconst isInvalidMeridiem = (meridiem: string) => {\n if (meridiem === '') return false;\n const [firstDigit, secondDigit] = meridiem.split('');\n const isValidFirstDigit = (meridiem.length < 1 && !firstDigit) || validFirstDigits.includes(firstDigit);\n const isValidSecondDigit = !secondDigit || validSecondDigits.includes(secondDigit);\n return meridiem.length > 2 || !isValidFirstDigit || !isValidSecondDigit;\n};\n\ninterface MeridiemInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACmDjB;AAnDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAGnD,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa;AAAI,WAAO;AAC5B,QAAM,CAAC,YAAY,WAAW,IAAI,SAAS,MAAM,EAAE;AACnD,QAAM,oBAAqB,SAAS,SAAS,KAAK,CAAC,cAAe,iBAAiB,SAAS,UAAU;AACtG,QAAM,qBAAqB,CAAC,eAAe,kBAAkB,SAAS,WAAW;AACjF,SAAO,SAAS,SAAS,KAAK,CAAC,qBAAqB,CAAC;AACvD;AAcO,MAAM,gBAAgBA,OAAM;AAAA,EACjC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACvC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,wBAAwB;AAAA,QACpC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA;AAAA,IACjB;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\n\nconst validFirstDigits = ['a', 'A', 'p', 'P'];\nconst validSecondDigits = ['m', 'M'];\nconst isInvalidMeridiem = (meridiem: string) => {\n if (meridiem === '') return false;\n const [firstDigit, secondDigit] = meridiem.split('');\n const isValidFirstDigit = (meridiem.length < 1 && !firstDigit) || validFirstDigits.includes(firstDigit);\n const isValidSecondDigit = !secondDigit || validSecondDigits.includes(secondDigit);\n return meridiem.length > 2 || !isValidFirstDigit || !isValidSecondDigit;\n};\n\ninterface MeridiemInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n ariaAndDataProps?: AriaAndDataProps;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n ariaAndDataProps,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n disabled={disabled}\n aria-disabled={disabled}\n {...ariaAndDataProps}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACqDjB;AArDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0BAA0B;AACnC,SAAS,0CAA0C;AAGnD,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa;AAAI,WAAO;AAC5B,QAAM,CAAC,YAAY,WAAW,IAAI,SAAS,MAAM,EAAE;AACnD,QAAM,oBAAqB,SAAS,SAAS,KAAK,CAAC,cAAe,iBAAiB,SAAS,UAAU;AACtG,QAAM,qBAAqB,CAAC,eAAe,kBAAkB,SAAS,WAAW;AACjF,SAAO,SAAS,SAAS,KAAK,CAAC,qBAAqB,CAAC;AACvD;AAeO,MAAM,gBAAgBA,OAAM;AAAA,EACjC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAyC;AACvC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACvC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,wBAAwB;AAAA,QACpC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACd,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import React2, { useCallback } from "react";
4
- import { ControlledDateTimePickerDatatestid } from "../../ControlledDateTimePickerDatatestid";
5
- import { Styled2DigitsInput } from "../Styleds";
4
+ import { ControlledDateTimePickerDatatestid } from "../../ControlledDateTimePickerDatatestid.js";
5
+ import { Styled2DigitsInput } from "../Styleds.js";
6
6
  const regExpNumbers = /^[0-9]+$/;
7
7
  const isInvalidMinute = (minutes) => {
8
8
  if (minutes === "")
@@ -21,7 +21,8 @@ const MinutesInput = React2.memo(
21
21
  placeholder,
22
22
  ariaCurrentValueForInputs,
23
23
  contextRef,
24
- isFocused
24
+ isFocused,
25
+ ariaAndDataProps
25
26
  }) => {
26
27
  const validateOnChange = useCallback(
27
28
  (e) => {
@@ -50,7 +51,8 @@ const MinutesInput = React2.memo(
50
51
  "aria-label": `minutes input field ${ariaCurrentValueForInputs}`,
51
52
  "data-testid": ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE,
52
53
  disabled,
53
- "aria-disabled": disabled
54
+ "aria-disabled": disabled,
55
+ ...ariaAndDataProps
54
56
  }
55
57
  );
56
58
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MinutesInput.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport { Styled2DigitsInput } from '../Styleds';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMinute = (minutes: string) => {\n if (minutes === '') return false;\n const numberOnly = regExpNumbers.test(minutes);\n return minutes.length > 2 || !numberOnly || Number.parseInt(minutes, 10) > 60;\n};\ninterface MinutesInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC+CjB;AA/CN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0CAA0C;AACnD,SAAS,0BAA0B;AAGnC,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY;AAAI,WAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAaO,MAAM,eAAeA,OAAM;AAAA,EAChC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AACrC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,uBAAuB;AAAA,QACnC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA;AAAA,IACjB;AAAA,EAEJ;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport { Styled2DigitsInput } from '../Styleds.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMinute = (minutes: string) => {\n if (minutes === '') return false;\n const numberOnly = regExpNumbers.test(minutes);\n return minutes.length > 2 || !numberOnly || Number.parseInt(minutes, 10) > 60;\n};\ninterface MinutesInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n ariaAndDataProps?: AriaAndDataProps;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n ariaAndDataProps,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n disabled={disabled}\n aria-disabled={disabled}\n {...ariaAndDataProps}\n />\n );\n },\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACiDjB;AAjDN,OAAOA,UAAS,mBAAmB;AACnC,SAAS,0CAA0C;AACnD,SAAS,0BAA0B;AAGnC,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY;AAAI,WAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAcO,MAAM,eAAeA,OAAM;AAAA,EAChC,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAwC;AACtC,UAAM,mBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AACrC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,CAAC,YAA8B;AAClC,qBAAW,UAAU;AACrB,cAAI;AAAW,qBAAS,QAAQ;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAY,uBAAuB;AAAA,QACnC,eAAa,mCAAmC,YAAY;AAAA,QAC5D;AAAA,QACA,iBAAe;AAAA,QACd,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,14 +1,16 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
- import { useContext } from "react";
3
+ import React2, { useContext } from "react";
4
4
  import { Grid } from "@elliemae/ds-grid";
5
- import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX";
6
- import { HHInput } from "./HHInput";
7
- import { MinutesInput } from "./MinutesInput";
8
- import { MeridiemInput } from "./MeridiemInput";
9
- import { useTimeInputs } from "./useTimeInputs";
10
- import { fixedValues } from "../config";
11
- import { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from "../Styleds";
5
+ import { getPropsPerDatatestid } from "@elliemae/ds-props-helpers";
6
+ import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX.js";
7
+ import { ControlledDateTimePickerDatatestid } from "../../ControlledDateTimePickerDatatestid.js";
8
+ import { HHInput } from "./HHInput.js";
9
+ import { MinutesInput } from "./MinutesInput.js";
10
+ import { MeridiemInput } from "./MeridiemInput.js";
11
+ import { useTimeInputs } from "./useTimeInputs.js";
12
+ import { fixedValues } from "../config.js";
13
+ import { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from "../Styleds.js";
12
14
  const TimeInputs = () => {
13
15
  const {
14
16
  autoFocusHourInput,
@@ -35,8 +37,21 @@ const TimeInputs = () => {
35
37
  meridiemInputRef,
36
38
  ariaCurrentValueForInputs,
37
39
  latestInteractionRegion,
38
- currFocusDescriber
40
+ currFocusDescriber,
41
+ props
39
42
  } = useContext(ControlledDateTimePickerContext);
43
+ const ariaAndDataPropsHoursInput = React2.useMemo(
44
+ () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR]),
45
+ [props]
46
+ );
47
+ const ariaAndDataPropsMinutesInput = React2.useMemo(
48
+ () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE]),
49
+ [props]
50
+ );
51
+ const ariaAndDataPropsMeridiemInput = React2.useMemo(
52
+ () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM]),
53
+ [props]
54
+ );
40
55
  return /* @__PURE__ */ jsxs(
41
56
  Grid,
42
57
  {
@@ -61,7 +76,8 @@ const TimeInputs = () => {
61
76
  ariaCurrentValueForInputs,
62
77
  autoFocusHourInput,
63
78
  disabled,
64
- isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "hour-input"
79
+ isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "hour-input",
80
+ ariaAndDataProps: ariaAndDataPropsHoursInput
65
81
  }
66
82
  ) }),
67
83
  /* @__PURE__ */ jsx(StyledColonSeparator, { alignItems: "center", children: ":" }),
@@ -77,7 +93,8 @@ const TimeInputs = () => {
77
93
  placeholder: "MM",
78
94
  ariaCurrentValueForInputs,
79
95
  disabled,
80
- isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "minute-input"
96
+ isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "minute-input",
97
+ ariaAndDataProps: ariaAndDataPropsMinutesInput
81
98
  }
82
99
  ) }),
83
100
  /* @__PURE__ */ jsx(StyledSeparator, { children: " " }),
@@ -93,7 +110,8 @@ const TimeInputs = () => {
93
110
  placeholder: "AM",
94
111
  ariaCurrentValueForInputs,
95
112
  disabled,
96
- isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "meridiem-input"
113
+ isFocused: latestInteractionRegion === "time-inputs" && currFocusDescriber === "meridiem-input",
114
+ ariaAndDataProps: ariaAndDataPropsMeridiemInput
97
115
  }
98
116
  ) })
99
117
  ]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/TimeInputs.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { HHInput } from './HHInput';\nimport { MinutesInput } from './MinutesInput';\n// import { SSInput } from './SSInput';\nimport { MeridiemInput } from './MeridiemInput';\nimport { useTimeInputs } from './useTimeInputs';\nimport { fixedValues } from '../config';\nimport { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from '../Styleds';\n\nexport const TimeInputs = (): JSX.Element => {\n const {\n autoFocusHourInput,\n disabled,\n onHoursChange,\n onMinutesChange,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursFocus,\n onMeridiemFocus,\n onMinutesFocus,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n } = useTimeInputs();\n\n // we do this here so HHInput,MinutesInput, MeridiemInput can be pure components memoized via React.memo\n const {\n hours,\n minutes,\n meridiem,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <HHInput\n value={hours}\n onChange={onHoursChange}\n onBlur={onHoursBlur}\n onFocus={onHoursFocus}\n onKeyDown={onHoursKeyDown}\n contextRef={hourInputRef}\n placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n />\n </StyledFocusWithIn>\n <StyledColonSeparator alignItems=\"center\">:</StyledColonSeparator>\n <StyledFocusWithIn>\n <MinutesInput\n value={minutes}\n onChange={onMinutesChange}\n onBlur={onMinutesBlur}\n onFocus={onMinutesFocus}\n onKeyDown={onMinutesKeyDown}\n contextRef={minutesInputRef}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator> </StyledSeparator>\n <StyledFocusWithIn>\n <MeridiemInput\n value={meridiem}\n onChange={onMeridiemChange}\n onBlur={onMeridiemBlur}\n onFocus={onMeridiemFocus}\n onKeyDown={onMeridiemKeyDown}\n contextRef={meridiemInputRef}\n placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC0CnB,SAUI,KAVJ;AA1CJ,SAAgB,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,uCAAuC;AAChD,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAE7B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB,iBAAiB,yBAAyB;AAElE,MAAM,aAAa,MAAmB;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,cAAc;AAGlB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MAEA;AAAA,4BAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA;AAAA,QACjF,GACF;AAAA,QACA,oBAAC,wBAAqB,YAAW,UAAS,eAAC;AAAA,QAC3C,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA;AAAA,QACjF,GACF;AAAA,QACA,oBAAC,mBAAgB,eAAC;AAAA,QAClB,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA;AAAA,QACjF,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { getPropsPerDatatestid } from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';\nimport { HHInput } from './HHInput.js';\nimport { MinutesInput } from './MinutesInput.js';\nimport { MeridiemInput } from './MeridiemInput.js';\nimport { useTimeInputs } from './useTimeInputs.js';\nimport { fixedValues } from '../config.js';\nimport { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from '../Styleds.js';\n\nexport const TimeInputs = (): JSX.Element => {\n const {\n autoFocusHourInput,\n disabled,\n onHoursChange,\n onMinutesChange,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursFocus,\n onMeridiemFocus,\n onMinutesFocus,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n } = useTimeInputs();\n\n // we do this here so HHInput,MinutesInput, MeridiemInput can be pure components memoized via React.memo\n const {\n hours,\n minutes,\n meridiem,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n props,\n } = useContext(ControlledDateTimePickerContext);\n const ariaAndDataPropsHoursInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR]),\n [props],\n );\n const ariaAndDataPropsMinutesInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE]),\n [props],\n );\n const ariaAndDataPropsMeridiemInput = React.useMemo(\n () => getPropsPerDatatestid(props[ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM]),\n [props],\n );\n\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <HHInput\n value={hours}\n onChange={onHoursChange}\n onBlur={onHoursBlur}\n onFocus={onHoursFocus}\n onKeyDown={onHoursKeyDown}\n contextRef={hourInputRef}\n placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n ariaAndDataProps={ariaAndDataPropsHoursInput}\n />\n </StyledFocusWithIn>\n <StyledColonSeparator alignItems=\"center\">:</StyledColonSeparator>\n <StyledFocusWithIn>\n <MinutesInput\n value={minutes}\n onChange={onMinutesChange}\n onBlur={onMinutesBlur}\n onFocus={onMinutesFocus}\n onKeyDown={onMinutesKeyDown}\n contextRef={minutesInputRef}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n ariaAndDataProps={ariaAndDataPropsMinutesInput}\n />\n </StyledFocusWithIn>\n <StyledSeparator> </StyledSeparator>\n <StyledFocusWithIn>\n <MeridiemInput\n value={meridiem}\n onChange={onMeridiemChange}\n onBlur={onMeridiemBlur}\n onFocus={onMeridiemFocus}\n onKeyDown={onMeridiemKeyDown}\n contextRef={meridiemInputRef}\n placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n ariaAndDataProps={ariaAndDataPropsMeridiemInput}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACyDnB,SAUI,KAVJ;AAzDJ,OAAOA,UAAS,kBAAkB;AAClC,SAAS,YAAY;AACrB,SAAS,6BAA6B;AACtC,SAAS,uCAAuC;AAChD,SAAS,0CAA0C;AACnD,SAAS,eAAe;AACxB,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB,iBAAiB,yBAAyB;AAElE,MAAM,aAAa,MAAmB;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,cAAc;AAGlB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,+BAA+B;AAC9C,QAAM,6BAA6BA,OAAM;AAAA,IACvC,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,KAAK;AAAA,IACtF,CAAC,KAAK;AAAA,EACR;AACA,QAAM,+BAA+BA,OAAM;AAAA,IACzC,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,OAAO;AAAA,IACxF,CAAC,KAAK;AAAA,EACR;AACA,QAAM,gCAAgCA,OAAM;AAAA,IAC1C,MAAM,sBAAsB,MAAM,mCAAmC,YAAY,SAAS;AAAA,IAC1F,CAAC,KAAK;AAAA,EACR;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,MAEA;AAAA,4BAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,GACF;AAAA,QACA,oBAAC,wBAAqB,YAAW,UAAS,eAAC;AAAA,QAC3C,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,GACF;AAAA,QACA,oBAAC,mBAAgB,eAAC;AAAA,QAClB,oBAAC,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,aAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,YAC/E,kBAAkB;AAAA;AAAA,QACpB,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { useCallback, useMemo, useContext } from "react";
3
- import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX";
4
- import { prependStringWithPlaceHolders } from "../../utils/stringHelpers";
3
+ import { ControlledDateTimePickerContext } from "../../ControlledDateTimePickerCTX.js";
4
+ import { prependStringWithPlaceHolders } from "../../utils/stringHelpers.js";
5
5
  const useTimeInputs = () => {
6
6
  const {
7
7
  props: { disabled },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/useTimeInputs.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { prependStringWithPlaceHolders } from '../../utils/stringHelpers';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\ninterface UseTimeInputsR {\n autoFocusHourInput: boolean;\n disabled: boolean;\n handleChangeHours: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMinutes: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMeridiem: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n}\nexport const useTimeInputs = (): UseTimeInputsR => {\n const {\n props: { disabled },\n hours,\n minutes,\n meridiem,\n withAnyRightController,\n withAnyPicker,\n withClearBtn,\n isWithDateInputs,\n autoFocusHourInput,\n handleChangeHours,\n handleChangeMinutes,\n handleChangeMeridiem,\n minutesInterval,\n trackFocusFirstSegment,\n trackFocusLastSegment,\n trackFocusHourInput,\n trackFocusMinuteInput,\n trackFocusMeridiemInput,\n trackFocusClearBtn,\n trackFocusPicker,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const onEndKeyDown = useCallback(() => {\n trackFocusLastSegment();\n }, [trackFocusLastSegment]);\n\n const onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusHourInput();\n }, [trackFocusHourInput]);\n const onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newHours = e?.target?.value;\n // converts hours 2~9 to 07~09\n if (Number.parseInt(newHours, 10) > 1) newHours = prependStringWithPlaceHolders(newHours, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n },\n [handleChangeHours, trackFocusMinuteInput],\n );\n const onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const hoursStringConvertedToInteger = Number.parseInt(hours, 10);\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;\n let newHours;\n if (key === 'ArrowUp') newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;\n else newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;\n newHours = prependStringWithPlaceHolders(`${newHours}`, 2);\n handleChangeHours(newHours, e);\n }\n if (!Number.isNaN(hoursStringConvertedToInteger) && key === ':') {\n const newHours = prependStringWithPlaceHolders(`${hoursStringConvertedToInteger}`, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n }\n\n // regressive backspace functionality\n if (\n key === 'Backspace' &&\n e.target === e.currentTarget &&\n isWithDateInputs &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n\n trackFocusYearInput();\n }\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n hours,\n isWithDateInputs,\n trackFocusYearInput,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n trackFocusMinuteInput,\n handleChangeHours,\n ],\n );\n const onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newHours = e?.target?.value;\n if (newHours === '0') handleChangeHours('01', e, { isAutomaticFillTrigger: true });\n else if (newHours.length > 0 && newHours.length < 2)\n handleChangeHours(prependStringWithPlaceHolders(newHours, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeHours],\n );\n\n const onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMinuteInput();\n }, [trackFocusMinuteInput]);\n const onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMinutes = e?.target?.value;\n // converts minutes 7~9 to 07~09\n if (Number.parseInt(newMinutes, 10) > 6) newMinutes = prependStringWithPlaceHolders(newMinutes, 2);\n handleChangeMinutes(newMinutes, e);\n\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n },\n [handleChangeMinutes, trackFocusMeridiemInput],\n );\n const onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;\n let newMinutes;\n if (key === 'ArrowUp')\n newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;\n else newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;\n newMinutes = prependStringWithPlaceHolders(`${newMinutes}`, 2);\n handleChangeMinutes(newMinutes, e);\n }\n if (!Number.isNaN(minutesStringConvertedToInteger) && key === ' ') {\n const newMinutes = prependStringWithPlaceHolders(`${minutesStringConvertedToInteger}`, 2);\n handleChangeMinutes(newMinutes, e);\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n }\n\n // regressive backspace functionality\n if (\n key === 'Backspace' &&\n e.target === e.currentTarget &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n\n trackFocusHourInput();\n }\n\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n minutes,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n minutesInterval,\n handleChangeMinutes,\n trackFocusMeridiemInput,\n trackFocusHourInput,\n ],\n );\n const onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMinutes = e?.target?.value;\n if (newMinutes.length > 0 && newMinutes.length < 2)\n handleChangeMinutes(prependStringWithPlaceHolders(newMinutes, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMinutes],\n );\n\n const onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMeridiemInput();\n }, [trackFocusMeridiemInput]);\n const onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMeridiem = e?.target?.value?.toUpperCase?.();\n // if new value is length 1,\n // if previous value was empty, auto-complete\n // if previous value was not empty, set to empty (regressive backspace)\n if (newMeridiem.length === 1)\n if (meridiem === '') newMeridiem = `${newMeridiem}M`;\n else newMeridiem = '';\n handleChangeMeridiem(newMeridiem, e);\n // auto-advance functionality:\n if (newMeridiem.length === 2 && withAnyRightController) {\n if (withClearBtn) trackFocusClearBtn();\n else if (withAnyPicker) trackFocusPicker();\n }\n },\n [\n meridiem,\n handleChangeMeridiem,\n withAnyRightController,\n withClearBtn,\n trackFocusClearBtn,\n withAnyPicker,\n trackFocusPicker,\n ],\n );\n const onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' && meridiem !== 'AM') handleChangeMeridiem('AM', e);\n if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e);\n // regressive backspace functionality\n if (key === 'Backspace') {\n if (\n e.target === e.currentTarget &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n trackFocusMinuteInput();\n } else if (meridiem?.length === 2) handleChangeMeridiem('', e);\n }\n\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput],\n );\n const onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMeridiem = e?.target?.value?.toUpperCase?.();\n\n if (newMeridiem.length === 1)\n handleChangeMeridiem(`${newMeridiem}M`, e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMeridiem],\n );\n\n return useMemo(\n () => ({\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n }),\n [\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n ],\n );\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX.js';\nimport { prependStringWithPlaceHolders } from '../../utils/stringHelpers.js';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes.js';\ninterface UseTimeInputsR {\n autoFocusHourInput: boolean;\n disabled: boolean;\n handleChangeHours: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMinutes: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMeridiem: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n}\nexport const useTimeInputs = (): UseTimeInputsR => {\n const {\n props: { disabled },\n hours,\n minutes,\n meridiem,\n withAnyRightController,\n withAnyPicker,\n withClearBtn,\n isWithDateInputs,\n autoFocusHourInput,\n handleChangeHours,\n handleChangeMinutes,\n handleChangeMeridiem,\n minutesInterval,\n trackFocusFirstSegment,\n trackFocusLastSegment,\n trackFocusHourInput,\n trackFocusMinuteInput,\n trackFocusMeridiemInput,\n trackFocusClearBtn,\n trackFocusPicker,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const onEndKeyDown = useCallback(() => {\n trackFocusLastSegment();\n }, [trackFocusLastSegment]);\n\n const onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusHourInput();\n }, [trackFocusHourInput]);\n const onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newHours = e?.target?.value;\n // converts hours 2~9 to 07~09\n if (Number.parseInt(newHours, 10) > 1) newHours = prependStringWithPlaceHolders(newHours, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n },\n [handleChangeHours, trackFocusMinuteInput],\n );\n const onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const hoursStringConvertedToInteger = Number.parseInt(hours, 10);\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;\n let newHours;\n if (key === 'ArrowUp') newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;\n else newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;\n newHours = prependStringWithPlaceHolders(`${newHours}`, 2);\n handleChangeHours(newHours, e);\n }\n if (!Number.isNaN(hoursStringConvertedToInteger) && key === ':') {\n const newHours = prependStringWithPlaceHolders(`${hoursStringConvertedToInteger}`, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n }\n\n // regressive backspace functionality\n if (\n key === 'Backspace' &&\n e.target === e.currentTarget &&\n isWithDateInputs &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n\n trackFocusYearInput();\n }\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n hours,\n isWithDateInputs,\n trackFocusYearInput,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n trackFocusMinuteInput,\n handleChangeHours,\n ],\n );\n const onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newHours = e?.target?.value;\n if (newHours === '0') handleChangeHours('01', e, { isAutomaticFillTrigger: true });\n else if (newHours.length > 0 && newHours.length < 2)\n handleChangeHours(prependStringWithPlaceHolders(newHours, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeHours],\n );\n\n const onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMinuteInput();\n }, [trackFocusMinuteInput]);\n const onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMinutes = e?.target?.value;\n // converts minutes 7~9 to 07~09\n if (Number.parseInt(newMinutes, 10) > 6) newMinutes = prependStringWithPlaceHolders(newMinutes, 2);\n handleChangeMinutes(newMinutes, e);\n\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n },\n [handleChangeMinutes, trackFocusMeridiemInput],\n );\n const onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;\n let newMinutes;\n if (key === 'ArrowUp')\n newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;\n else newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;\n newMinutes = prependStringWithPlaceHolders(`${newMinutes}`, 2);\n handleChangeMinutes(newMinutes, e);\n }\n if (!Number.isNaN(minutesStringConvertedToInteger) && key === ' ') {\n const newMinutes = prependStringWithPlaceHolders(`${minutesStringConvertedToInteger}`, 2);\n handleChangeMinutes(newMinutes, e);\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n }\n\n // regressive backspace functionality\n if (\n key === 'Backspace' &&\n e.target === e.currentTarget &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n\n trackFocusHourInput();\n }\n\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n minutes,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n minutesInterval,\n handleChangeMinutes,\n trackFocusMeridiemInput,\n trackFocusHourInput,\n ],\n );\n const onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMinutes = e?.target?.value;\n if (newMinutes.length > 0 && newMinutes.length < 2)\n handleChangeMinutes(prependStringWithPlaceHolders(newMinutes, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMinutes],\n );\n\n const onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMeridiemInput();\n }, [trackFocusMeridiemInput]);\n const onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMeridiem = e?.target?.value?.toUpperCase?.();\n // if new value is length 1,\n // if previous value was empty, auto-complete\n // if previous value was not empty, set to empty (regressive backspace)\n if (newMeridiem.length === 1)\n if (meridiem === '') newMeridiem = `${newMeridiem}M`;\n else newMeridiem = '';\n handleChangeMeridiem(newMeridiem, e);\n // auto-advance functionality:\n if (newMeridiem.length === 2 && withAnyRightController) {\n if (withClearBtn) trackFocusClearBtn();\n else if (withAnyPicker) trackFocusPicker();\n }\n },\n [\n meridiem,\n handleChangeMeridiem,\n withAnyRightController,\n withClearBtn,\n trackFocusClearBtn,\n withAnyPicker,\n trackFocusPicker,\n ],\n );\n const onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' && meridiem !== 'AM') handleChangeMeridiem('AM', e);\n if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e);\n // regressive backspace functionality\n if (key === 'Backspace') {\n if (\n e.target === e.currentTarget &&\n (e.target as HTMLInputElement).selectionStart === 0 &&\n (e.target as HTMLInputElement).selectionEnd === 0\n ) {\n e.preventDefault();\n trackFocusMinuteInput();\n } else if (meridiem?.length === 2) handleChangeMeridiem('', e);\n }\n\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput],\n );\n const onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMeridiem = e?.target?.value?.toUpperCase?.();\n\n if (newMeridiem.length === 1)\n handleChangeMeridiem(`${newMeridiem}M`, e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMeridiem],\n );\n\n return useMemo(\n () => ({\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n }),\n [\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n ],\n );\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,11 @@
1
1
  import * as React from "react";
2
- import { PropTypes, globalAttributesPropTypes, xstyledPropTypes } from "@elliemae/ds-utilities";
2
+ import {
3
+ PropTypes,
4
+ globalAttributesPropTypes,
5
+ xstyledPropTypes,
6
+ getPropsPerDatatestIdPropTypes
7
+ } from "@elliemae/ds-props-helpers";
8
+ import { ControlledDateTimePickerDatatestid } from "./ControlledDateTimePickerDatatestid.js";
3
9
  const noop = () => {
4
10
  };
5
11
  const defaultReturnFalse = () => false;
@@ -76,7 +82,8 @@ const propTypes = {
76
82
  'which day to start the timewheel on picker open when value is empty, string following the HH:MM AA" pattern'
77
83
  ).defaultValue("01:00 AM"),
78
84
  minutesInterval: PropTypes.number.description("increments/decrements of minutes in time related controllers interactions").defaultValue("1"),
79
- "data-testid": PropTypes.string.description("Unique id for tests.").defaultValue("")
85
+ "data-testid": PropTypes.string.description("Unique id for tests.").defaultValue(""),
86
+ ...getPropsPerDatatestIdPropTypes(ControlledDateTimePickerDatatestid)
80
87
  };
81
88
  export {
82
89
  defaultProps,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/propTypes.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport type { WeakValidationMap } from 'react';\nimport type React from 'react';\nimport { PropTypes, globalAttributesPropTypes, xstyledPropTypes } from '@elliemae/ds-utilities';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nconst defaultReturnFalse = (): false => false;\nexport declare namespace DSControlledDateTimePickerT {\n export type OnInternalValuesChangeEvent =\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLButtonElement>\n | React.KeyboardEvent\n | React.MouseEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>;\n export type ControlTypes =\n | 'full-date-time'\n | 'date-time-inputs'\n | 'date-time-picker'\n | 'date-time-picker-controller-only'\n | 'full-date'\n | 'date-inputs'\n | 'date-picker'\n | 'date-picker-controller-only'\n | 'full-time'\n | 'time-inputs'\n | 'time-picker'\n | 'time-picker-controller-only';\n export interface InternalInputsChangeMetaInfo {\n isAutomaticFillTrigger?: boolean;\n isDayPresentInMonth?: boolean;\n isOutOfRangeDay?: boolean;\n isDisabledDay?: boolean;\n isDisabledTime?: boolean;\n suggestedErrorMsg?: string;\n newDateTimeString?: string;\n newDateString?: string;\n newTimeString?: string;\n }\n\n export type OnDateChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnDateTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnInternalInputsChange = (\n val: string,\n e: OnInternalValuesChangeEvent,\n metaInfo?: InternalInputsChangeMetaInfo,\n ) => void;\n export type AppOnInputChange = (\n val: string,\n e: OnInternalValuesChangeEvent,\n metaInfo: InternalInputsChangeMetaInfo,\n ) => void;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ DATE CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n export interface DefaultDateProps {\n onMonthChange: AppOnInputChange;\n onDayChange: AppOnInputChange;\n onYearChange: AppOnInputChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledDay: BooleanGetter<string>;\n getIsOutOfRangeDay: BooleanGetter<string>;\n getIsStartRangeDay: BooleanGetter<string>;\n getIsDayInRange: BooleanGetter<string>;\n getIsEndRangeDay: BooleanGetter<string>;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalDatePickerProps {\n emptyPickerStartingMonth?: string;\n onCalendarOpenFocusedDay?: string;\n pickerFooterMsg?: string;\n innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>;\n }\n export interface RequiredDatePickerProps {\n type: 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only';\n date: string;\n onDateChange: OnDateChange;\n }\n export type DatePickerProps = OptionalDatePickerProps & Partial<DefaultDateProps> & RequiredDatePickerProps;\n export type InternalDatePickerProps = OptionalDatePickerProps & DefaultDateProps & RequiredDatePickerProps;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ TIME CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n\n export interface DefaultTimeProps {\n onHourChange: AppOnInputChange;\n onMinuteChange: AppOnInputChange;\n onMeridiemChange: AppOnInputChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledTime: BooleanGetter<string>;\n minutesInterval: number;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalTimePickerProps {\n pickerFooterMsg?: string;\n onTimeWheelOpenStartingTime?: string;\n innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement>;\n }\n export interface RequiredTimePickerProps {\n type: 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only';\n time: string;\n onTimeChange: OnTimeChange;\n }\n export type TimePickerProps = OptionalTimePickerProps & Partial<DefaultTimeProps> & RequiredTimePickerProps;\n export type InternalTimePickerProps = OptionalTimePickerProps & DefaultTimeProps & RequiredTimePickerProps;\n\n /* -------------------- ---------------------- ------------------------*/\n /* -------------------- DATETIME CONFIGURATION ------------------------*/\n /* -------------------- ---------------------- ------------------------*/\n\n export type DefaultDateTimeProps = DefaultTimeProps &\n DefaultDateProps & {\n onDateChange: OnDateChange;\n onTimeChange: OnTimeChange;\n };\n export type OptionalDateTimeProps = OptionalTimePickerProps & OptionalDatePickerProps;\n export interface RequiredDateTimeProps {\n type: 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only';\n dateTime: string;\n onDateTimeChange: OnDateTimeChange;\n }\n\n export type DateTimePickerProps = Partial<DefaultDateTimeProps> & OptionalDateTimeProps & RequiredDateTimeProps;\n export type InternalDateTimePickerProps = DefaultDateTimeProps & OptionalDateTimeProps & RequiredDateTimeProps;\n\n /* ---------------------- ------------------- -------------------------*/\n /* ---------------------- FINAL CONFIGURATION -------------------------*/\n /* ---------------------- ------------------- -------------------------*/\n export type DefaultProps = DefaultDateTimeProps & { type: 'full-date-time' };\n export type Props = DateTimePickerProps | DatePickerProps | TimePickerProps;\n export type InternalProps = InternalDateTimePickerProps | InternalDatePickerProps | InternalTimePickerProps;\n}\n\nexport const defaultProps: DSControlledDateTimePickerT.DefaultProps = {\n type: 'full-date-time',\n onDateChange: noop,\n onMonthChange: noop,\n onDayChange: noop,\n onYearChange: noop,\n onTimeChange: noop,\n onHourChange: noop,\n onMinuteChange: noop,\n onMeridiemChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n getIsStartRangeDay: defaultReturnFalse,\n getIsDayInRange: defaultReturnFalse,\n getIsEndRangeDay: defaultReturnFalse,\n getIsDisabledTime: defaultReturnFalse,\n minutesInterval: 1,\n isClearable: false,\n disabled: false,\n hasError: false,\n autoFocus: false,\n preventCloseOnSelection: false,\n};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n type: PropTypes.oneOf([\n 'full-date-time',\n 'date-time-inputs',\n 'date-time-picker',\n 'date-time-picker-controller-only',\n 'full-date',\n 'date-inputs',\n 'date-picker',\n 'date-picker-controller-only',\n 'full-time',\n 'time-inputs',\n 'time-picker',\n 'time-picker-controller-only',\n ])\n .description('Type of time form control to use')\n .defaultValue('full-date-time'),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue(false),\n isClearable: PropTypes.bool.description('with or without clearable button').defaultValue(false),\n dateTime: PropTypes.string.description('when using date-time types, this is the value of the controller'),\n date: PropTypes.string.description('when using date types, this is the value of the controller'),\n time: PropTypes.string.description('when using time types, this is the value of the controller'),\n onDateChange: PropTypes.func.description('(newDateString, metaInformations) => void'),\n onTimeChange: PropTypes.func.description('(newTimeString, metaInformations) => void'),\n onDateTimeChange: PropTypes.func.description('(newDateTimeString, metaInformations) => void'),\n onMonthChange: PropTypes.func.description('(newMonthString, event, metaInformations) => void'),\n onDayChange: PropTypes.func.description('(newDayString, event, metaInformations) => void'),\n onYearChange: PropTypes.func.description('(newYearString, event, metaInformations) => void'),\n onHourChange: PropTypes.func.description('(newHourString, event, metaInformations) => void'),\n onMinuteChange: PropTypes.func.description('(newMinuteString, event, metaInformations) => void'),\n onMeridiemChange: PropTypes.func.description('(newMeridiemString, event, metaInformations) => void'),\n getIsDisabledDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsOutOfRangeDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsDisabledTime: PropTypes.func.description(\n '(timeAsString) => true for marking as disabled, false for marking as valid',\n ),\n emptyPickerStartingMonth: PropTypes.string.description(\n 'which month to start the calendar on open, when value is empty, string following the \"MM/__/YYYY\" pattern',\n ),\n onCalendarOpenFocusedDay: PropTypes.string\n .description('which day to focus on calendar open when value is empty, string following the \"MM/DD/YYYY\" pattern')\n .defaultValue('if value is empty current month, else current month'),\n onTimeWheelOpenStartingTime: PropTypes.string\n .description(\n 'which day to start the timewheel on picker open when value is empty, string following the HH:MM AA\" pattern',\n )\n .defaultValue('01:00 AM'),\n minutesInterval: PropTypes.number\n .description('increments/decrements of minutes in time related controllers interactions')\n .defaultValue('1'),\n 'data-testid': PropTypes.string.description('Unique id for tests.').defaultValue(''),\n} as WeakValidationMap<unknown>;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACGvB,SAAS,WAAW,2BAA2B,wBAAwB;AAGvE,MAAM,OAAO,MAAY;AAAC;AAC1B,MAAM,qBAAqB,MAAa;AA4IjC,MAAM,eAAyD;AAAA,EACpE,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,yBAAyB;AAC3B;AAEO,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,MAAM,UAAU,MAAM;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACE,YAAY,kCAAkC,EAC9C,aAAa,gBAAgB;AAAA,EAChC,UAAU,UAAU,KAAK,YAAY,qCAAqC,EAAE,aAAa,KAAK;AAAA,EAC9F,aAAa,UAAU,KAAK,YAAY,kCAAkC,EAAE,aAAa,KAAK;AAAA,EAC9F,UAAU,UAAU,OAAO,YAAY,iEAAiE;AAAA,EACxG,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,kBAAkB,UAAU,KAAK,YAAY,+CAA+C;AAAA,EAC5F,eAAe,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAC7F,aAAa,UAAU,KAAK,YAAY,iDAAiD;AAAA,EACzF,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,gBAAgB,UAAU,KAAK,YAAY,oDAAoD;AAAA,EAC/F,kBAAkB,UAAU,KAAK,YAAY,sDAAsD;AAAA,EACnG,kBAAkB,UAAU,KAAK;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,oBAAoB,UAAU,KAAK;AAAA,IACjC;AAAA,EACF;AAAA,EACA,mBAAmB,UAAU,KAAK;AAAA,IAChC;AAAA,EACF;AAAA,EACA,0BAA0B,UAAU,OAAO;AAAA,IACzC;AAAA,EACF;AAAA,EACA,0BAA0B,UAAU,OACjC,YAAY,oGAAoG,EAChH,aAAa,qDAAqD;AAAA,EACrE,6BAA6B,UAAU,OACpC;AAAA,IACC;AAAA,EACF,EACC,aAAa,UAAU;AAAA,EAC1B,iBAAiB,UAAU,OACxB,YAAY,2EAA2E,EACvF,aAAa,GAAG;AAAA,EACnB,eAAe,UAAU,OAAO,YAAY,sBAAsB,EAAE,aAAa,EAAE;AACrF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport type { WeakValidationMap } from 'react';\nimport type React from 'react';\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerDatatestIdPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { ControlledDateTimePickerDatatestid } from './ControlledDateTimePickerDatatestid.js';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nconst defaultReturnFalse = (): false => false;\nexport declare namespace DSControlledDateTimePickerT {\n type DataTestIdType = typeof ControlledDateTimePickerDatatestid;\n // typescript type that rapresents the union of all the values for ControlledDateTimePickerDatatestid\n export type FlatDataTestIdValues = {\n [K in keyof DataTestIdType]: DataTestIdType[K] extends Record<string, unknown>\n ? DataTestIdType[K][keyof DataTestIdType[K]] // this is only 1 level deep, but it's enough for our needs right now\n : // can be extended to more levels if needed as follows:\n // ? DataTestIdType[K][keyof DataTestIdType[K]] extends Record<string, unknown>\n // ? DataTestIdType[K][keyof DataTestIdType[K]][keyof DataTestIdType[K][keyof DataTestIdType[K]]]\n // : DataTestIdType[K][keyof DataTestIdType[K]]\n DataTestIdType[K];\n }[keyof DataTestIdType];\n\n export type AriaAndDataPropsPerDataTestId = {\n [key in FlatDataTestIdValues]?: AriaAndDataPropsOrPropsGetter;\n };\n\n export type OnInternalValuesChangeEvent =\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLButtonElement>\n | React.KeyboardEvent\n | React.MouseEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>;\n export type ControlTypes =\n | 'full-date-time'\n | 'date-time-inputs'\n | 'date-time-picker'\n | 'date-time-picker-controller-only'\n | 'full-date'\n | 'date-inputs'\n | 'date-picker'\n | 'date-picker-controller-only'\n | 'full-time'\n | 'time-inputs'\n | 'time-picker'\n | 'time-picker-controller-only';\n export interface InternalInputsChangeMetaInfo {\n isAutomaticFillTrigger?: boolean;\n isDayPresentInMonth?: boolean;\n isOutOfRangeDay?: boolean;\n isDisabledDay?: boolean;\n isDisabledTime?: boolean;\n suggestedErrorMsg?: string;\n newDateTimeString?: string;\n newDateString?: string;\n newTimeString?: string;\n }\n\n export type OnDateChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnDateTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnInternalInputsChange = (\n val: string,\n e: OnInternalValuesChangeEvent,\n metaInfo?: InternalInputsChangeMetaInfo,\n ) => void;\n export type AppOnInputChange = (\n val: string,\n e: OnInternalValuesChangeEvent,\n metaInfo: InternalInputsChangeMetaInfo,\n ) => void;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ DATE CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n export interface DefaultDateProps {\n onMonthChange: AppOnInputChange;\n onDayChange: AppOnInputChange;\n onYearChange: AppOnInputChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledDay: BooleanGetter<string>;\n getIsOutOfRangeDay: BooleanGetter<string>;\n getIsStartRangeDay: BooleanGetter<string>;\n getIsDayInRange: BooleanGetter<string>;\n getIsEndRangeDay: BooleanGetter<string>;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalDatePickerProps extends AriaAndDataPropsPerDataTestId {\n emptyPickerStartingMonth?: string;\n onCalendarOpenFocusedDay?: string;\n pickerFooterMsg?: string;\n innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>;\n }\n export interface RequiredDatePickerProps {\n type: 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only';\n date: string;\n onDateChange: OnDateChange;\n }\n export type DatePickerProps = OptionalDatePickerProps & Partial<DefaultDateProps> & RequiredDatePickerProps;\n export type InternalDatePickerProps = OptionalDatePickerProps & DefaultDateProps & RequiredDatePickerProps;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ TIME CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n\n export interface DefaultTimeProps {\n onHourChange: AppOnInputChange;\n onMinuteChange: AppOnInputChange;\n onMeridiemChange: AppOnInputChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledTime: BooleanGetter<string>;\n minutesInterval: number;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalTimePickerProps extends AriaAndDataPropsPerDataTestId {\n pickerFooterMsg?: string;\n onTimeWheelOpenStartingTime?: string;\n innerRef?: React.MutableRefObject<HTMLInputElement | HTMLButtonElement>;\n }\n export interface RequiredTimePickerProps {\n type: 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only';\n time: string;\n onTimeChange: OnTimeChange;\n }\n export type TimePickerProps = OptionalTimePickerProps & Partial<DefaultTimeProps> & RequiredTimePickerProps;\n export type InternalTimePickerProps = OptionalTimePickerProps & DefaultTimeProps & RequiredTimePickerProps;\n\n /* -------------------- ---------------------- ------------------------*/\n /* -------------------- DATETIME CONFIGURATION ------------------------*/\n /* -------------------- ---------------------- ------------------------*/\n\n export type DefaultDateTimeProps = DefaultTimeProps &\n DefaultDateProps & {\n onDateChange: OnDateChange;\n onTimeChange: OnTimeChange;\n };\n export type OptionalDateTimeProps = AriaAndDataPropsPerDataTestId & OptionalTimePickerProps & OptionalDatePickerProps;\n export interface RequiredDateTimeProps {\n type: 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only';\n dateTime: string;\n onDateTimeChange: OnDateTimeChange;\n }\n\n export type DateTimePickerProps = Partial<DefaultDateTimeProps> & OptionalDateTimeProps & RequiredDateTimeProps;\n export type InternalDateTimePickerProps = DefaultDateTimeProps & OptionalDateTimeProps & RequiredDateTimeProps;\n\n /* ---------------------- ------------------- -------------------------*/\n /* ---------------------- FINAL CONFIGURATION -------------------------*/\n /* ---------------------- ------------------- -------------------------*/\n export type DefaultProps = DefaultDateTimeProps & { type: 'full-date-time' };\n export type Props = DateTimePickerProps | DatePickerProps | TimePickerProps;\n export type InternalProps = InternalDateTimePickerProps | InternalDatePickerProps | InternalTimePickerProps;\n}\n\nexport const defaultProps: DSControlledDateTimePickerT.DefaultProps = {\n type: 'full-date-time',\n onDateChange: noop,\n onMonthChange: noop,\n onDayChange: noop,\n onYearChange: noop,\n onTimeChange: noop,\n onHourChange: noop,\n onMinuteChange: noop,\n onMeridiemChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n getIsStartRangeDay: defaultReturnFalse,\n getIsDayInRange: defaultReturnFalse,\n getIsEndRangeDay: defaultReturnFalse,\n getIsDisabledTime: defaultReturnFalse,\n minutesInterval: 1,\n isClearable: false,\n disabled: false,\n hasError: false,\n autoFocus: false,\n preventCloseOnSelection: false,\n};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n type: PropTypes.oneOf([\n 'full-date-time',\n 'date-time-inputs',\n 'date-time-picker',\n 'date-time-picker-controller-only',\n 'full-date',\n 'date-inputs',\n 'date-picker',\n 'date-picker-controller-only',\n 'full-time',\n 'time-inputs',\n 'time-picker',\n 'time-picker-controller-only',\n ])\n .description('Type of time form control to use')\n .defaultValue('full-date-time'),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue(false),\n isClearable: PropTypes.bool.description('with or without clearable button').defaultValue(false),\n dateTime: PropTypes.string.description('when using date-time types, this is the value of the controller'),\n date: PropTypes.string.description('when using date types, this is the value of the controller'),\n time: PropTypes.string.description('when using time types, this is the value of the controller'),\n onDateChange: PropTypes.func.description('(newDateString, metaInformations) => void'),\n onTimeChange: PropTypes.func.description('(newTimeString, metaInformations) => void'),\n onDateTimeChange: PropTypes.func.description('(newDateTimeString, metaInformations) => void'),\n onMonthChange: PropTypes.func.description('(newMonthString, event, metaInformations) => void'),\n onDayChange: PropTypes.func.description('(newDayString, event, metaInformations) => void'),\n onYearChange: PropTypes.func.description('(newYearString, event, metaInformations) => void'),\n onHourChange: PropTypes.func.description('(newHourString, event, metaInformations) => void'),\n onMinuteChange: PropTypes.func.description('(newMinuteString, event, metaInformations) => void'),\n onMeridiemChange: PropTypes.func.description('(newMeridiemString, event, metaInformations) => void'),\n getIsDisabledDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsOutOfRangeDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsDisabledTime: PropTypes.func.description(\n '(timeAsString) => true for marking as disabled, false for marking as valid',\n ),\n emptyPickerStartingMonth: PropTypes.string.description(\n 'which month to start the calendar on open, when value is empty, string following the \"MM/__/YYYY\" pattern',\n ),\n onCalendarOpenFocusedDay: PropTypes.string\n .description('which day to focus on calendar open when value is empty, string following the \"MM/DD/YYYY\" pattern')\n .defaultValue('if value is empty current month, else current month'),\n onTimeWheelOpenStartingTime: PropTypes.string\n .description(\n 'which day to start the timewheel on picker open when value is empty, string following the HH:MM AA\" pattern',\n )\n .defaultValue('01:00 AM'),\n minutesInterval: PropTypes.number\n .description('increments/decrements of minutes in time related controllers interactions')\n .defaultValue('1'),\n 'data-testid': PropTypes.string.description('Unique id for tests.').defaultValue(''),\n ...getPropsPerDatatestIdPropTypes(ControlledDateTimePickerDatatestid),\n} as WeakValidationMap<unknown>;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACGvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,0CAA0C;AAGnD,MAAM,OAAO,MAAY;AAAC;AAC1B,MAAM,qBAAqB,MAAa;AA4JjC,MAAM,eAAyD;AAAA,EACpE,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,yBAAyB;AAC3B;AAEO,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,MAAM,UAAU,MAAM;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACE,YAAY,kCAAkC,EAC9C,aAAa,gBAAgB;AAAA,EAChC,UAAU,UAAU,KAAK,YAAY,qCAAqC,EAAE,aAAa,KAAK;AAAA,EAC9F,aAAa,UAAU,KAAK,YAAY,kCAAkC,EAAE,aAAa,KAAK;AAAA,EAC9F,UAAU,UAAU,OAAO,YAAY,iEAAiE;AAAA,EACxG,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,kBAAkB,UAAU,KAAK,YAAY,+CAA+C;AAAA,EAC5F,eAAe,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAC7F,aAAa,UAAU,KAAK,YAAY,iDAAiD;AAAA,EACzF,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,gBAAgB,UAAU,KAAK,YAAY,oDAAoD;AAAA,EAC/F,kBAAkB,UAAU,KAAK,YAAY,sDAAsD;AAAA,EACnG,kBAAkB,UAAU,KAAK;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,oBAAoB,UAAU,KAAK;AAAA,IACjC;AAAA,EACF;AAAA,EACA,mBAAmB,UAAU,KAAK;AAAA,IAChC;AAAA,EACF;AAAA,EACA,0BAA0B,UAAU,OAAO;AAAA,IACzC;AAAA,EACF;AAAA,EACA,0BAA0B,UAAU,OACjC,YAAY,oGAAoG,EAChH,aAAa,qDAAqD;AAAA,EACrE,6BAA6B,UAAU,OACpC;AAAA,IACC;AAAA,EACF,EACC,aAAa,UAAU;AAAA,EAC1B,iBAAiB,UAAU,OACxB,YAAY,2EAA2E,EACvF,aAAa,GAAG;AAAA,EACnB,eAAe,UAAU,OAAO,YAAY,sBAAsB,EAAE,aAAa,EAAE;AAAA,EACnF,GAAG,+BAA+B,kCAAkC;AACtE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,207 @@
1
+ import * as React from "react";
2
+ import { ControlledDateTimePickerDatatestid } from "../../index";
3
+ const customPropsShareds = {
4
+ [ControlledDateTimePickerDatatestid.CONTAINER]: {
5
+ "data-foo": "foo-picker-container",
6
+ "aria-label": "custom label for picker-container",
7
+ ignoredProp: "props not starting with data- or aria- are not exposed"
8
+ }
9
+ };
10
+ const customPropsDateInputs = {
11
+ [ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH]: {
12
+ "data-foo": "foo-month-input",
13
+ "aria-label": "custom label for month-input",
14
+ ignoredProp: "props not starting with data- or aria- are not exposed"
15
+ },
16
+ [ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY]: {
17
+ "data-foo": "foo-day-input",
18
+ "aria-label": "custom label for day-input",
19
+ ignoredProp: "props not starting with data- or aria- are not exposed"
20
+ },
21
+ [ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR]: {
22
+ "data-foo": "foo-year-input",
23
+ "aria-label": "custom label for year-input",
24
+ ignoredProp: "props not starting with data- or aria- are not exposed"
25
+ }
26
+ };
27
+ const customPropsTimeInputs = {
28
+ [ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR]: {
29
+ "data-foo": "foo-hour-input",
30
+ "aria-label": "custom label for hour-input",
31
+ ignoredProp: "props not starting with data- or aria- are not exposed"
32
+ },
33
+ [ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE]: {
34
+ "data-foo": "foo-minute-input",
35
+ "aria-label": "custom label for minute-input",
36
+ ignoredProp: "props not starting with data- or aria- are not exposed"
37
+ },
38
+ [ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM]: {
39
+ "data-foo": "foo-meridiem-input",
40
+ "aria-label": "custom label for meridiem-input",
41
+ ignoredProp: "props not starting with data- or aria- are not exposed"
42
+ }
43
+ };
44
+ const customPropsCalendarDatePart = {
45
+ [ControlledDateTimePickerDatatestid.CALENDAR.HEADER_LABEL]: {
46
+ "data-foo": "foo-calendar-header-label",
47
+ "aria-label": "custom label for calendar-header-label",
48
+ ignoredProp: "props not starting with data- or aria- are not exposed"
49
+ },
50
+ [ControlledDateTimePickerDatatestid.CALENDAR.PREV_YEAR]: {
51
+ "data-foo": "foo-calendar-prev-year",
52
+ "aria-label": "custom label for calendar-prev-year",
53
+ ignoredProp: "props not starting with data- or aria- are not exposed"
54
+ },
55
+ [ControlledDateTimePickerDatatestid.CALENDAR.PREV_MONTH]: {
56
+ "data-foo": "foo-calendar-prev-month",
57
+ "aria-label": "custom label for calendar-prev-month",
58
+ ignoredProp: "props not starting with data- or aria- are not exposed"
59
+ },
60
+ [ControlledDateTimePickerDatatestid.CALENDAR.DAY]: {
61
+ "data-foo": "foo-calendar-day",
62
+ "aria-label": "custom label for calendar-day",
63
+ ignoredProp: "props not starting with data- or aria- are not exposed"
64
+ },
65
+ [ControlledDateTimePickerDatatestid.CALENDAR.NEXT_MONTH]: {
66
+ "data-foo": "foo-calendar-next-month",
67
+ "aria-label": "custom label for calendar-next-month",
68
+ ignoredProp: "props not starting with data- or aria- are not exposed"
69
+ },
70
+ [ControlledDateTimePickerDatatestid.CALENDAR.NEXT_YEAR]: {
71
+ "data-foo": "foo-calendar-next-year",
72
+ "aria-label": "custom label for calendar-next-year",
73
+ ignoredProp: "props not starting with data- or aria- are not exposed"
74
+ }
75
+ };
76
+ const customPropsCalendarTimePart = {
77
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL]: {
78
+ "data-foo": "foo-timewheel-header-label",
79
+ "aria-label": "custom label for timewheel-header-label",
80
+ ignoredProp: "props not starting with data- or aria- are not exposed"
81
+ },
82
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_HOUR]: {
83
+ "data-foo": "foo-timewheel-prev-hour",
84
+ "aria-label": "custom label for timewheel-prev-hour",
85
+ ignoredProp: "props not starting with data- or aria- are not exposed"
86
+ },
87
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.HOUR]: {
88
+ "data-foo": "foo-timewheel-hour",
89
+ "aria-label": "custom label for timewheel-hour",
90
+ ignoredProp: "props not starting with data- or aria- are not exposed"
91
+ },
92
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_HOUR]: {
93
+ "data-foo": "foo-timewheel-current-hour",
94
+ "aria-label": "custom label for timewheel-current-hour",
95
+ ignoredProp: "props not starting with data- or aria- are not exposed"
96
+ },
97
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_HOUR]: {
98
+ "data-foo": "foo-timewheel-next-hour",
99
+ "aria-label": "custom label for timewheel-next-hour",
100
+ ignoredProp: "props not starting with data- or aria- are not exposed"
101
+ },
102
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE]: {
103
+ "data-foo": "foo-timewheel-prev-minute",
104
+ "aria-label": "custom label for timewheel-prev-minute",
105
+ ignoredProp: "props not starting with data- or aria- are not exposed"
106
+ },
107
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.MINUTE]: {
108
+ "data-foo": "foo-timewheel-minute",
109
+ "aria-label": "custom label for timewheel-minute",
110
+ ignoredProp: "props not starting with data- or aria- are not exposed"
111
+ },
112
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_MINUTE]: {
113
+ "data-foo": "foo-timewheel-current-minute",
114
+ "aria-label": "custom label for timewheel-current-minute",
115
+ ignoredProp: "props not starting with data- or aria- are not exposed"
116
+ },
117
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MINUTE]: {
118
+ "data-foo": "foo-timewheel-next-minute",
119
+ "aria-label": "custom label for timewheel-next-minute",
120
+ ignoredProp: "props not starting with data- or aria- are not exposed"
121
+ },
122
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MERIDIEM]: {
123
+ "data-foo": "foo-timewheel-prev-meridiem",
124
+ "aria-label": "custom label for timewheel-prev-meridiem",
125
+ ignoredProp: "props not starting with data- or aria- are not exposed"
126
+ },
127
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.MERIDIEM]: {
128
+ "data-foo": "foo-timewheel-meridiem",
129
+ "aria-label": "custom label for timewheel-meridiem",
130
+ ignoredProp: "props not starting with data- or aria- are not exposed"
131
+ },
132
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.CURRENT_MERIDIEM]: {
133
+ "data-foo": "foo-timewheel-current-meridiem",
134
+ "aria-label": "custom label for timewheel-current-meridiem",
135
+ ignoredProp: "props not starting with data- or aria- are not exposed"
136
+ },
137
+ [ControlledDateTimePickerDatatestid.TIMEWHEEL.NEXT_MERIDIEM]: {
138
+ "data-foo": "foo-timewheel-next-meridiem",
139
+ "aria-label": "custom label for timewheel-next-meridiem",
140
+ ignoredProp: "props not starting with data- or aria- are not exposed"
141
+ }
142
+ };
143
+ const customPropsForFullDateTimePickerWhenClosed = {
144
+ ...customPropsShareds,
145
+ ...customPropsDateInputs,
146
+ ...customPropsTimeInputs,
147
+ [ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR_TIMEWHEEL]: {
148
+ "data-foo": "foo-calendar-timewheel-icon",
149
+ "aria-label": "custom label for calendar-timewheel-icon",
150
+ ignoredProp: "props not starting with data- or aria- are not exposed"
151
+ }
152
+ };
153
+ const customPropsForFullDateTimePickerWhenOpen = {
154
+ ...customPropsForFullDateTimePickerWhenClosed,
155
+ [ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR_TIMEWHEEL]: {
156
+ "data-foo": "foo-contextual-menu-calendar-timewheel",
157
+ "aria-label": "custom label for contextual-menu-calendar-timewheel",
158
+ ignoredProp: "props not starting with data- or aria- are not exposed"
159
+ },
160
+ ...customPropsCalendarDatePart,
161
+ ...customPropsCalendarTimePart
162
+ };
163
+ const customPropsForFullDatePickerWhenClosed = {
164
+ ...customPropsShareds,
165
+ ...customPropsDateInputs,
166
+ [ControlledDateTimePickerDatatestid.PICKER_ICONS.CALENDAR]: {
167
+ "data-foo": "foo-calendar-icon",
168
+ "aria-label": "custom label for calendar-icon",
169
+ ignoredProp: "props not starting with data- or aria- are not exposed"
170
+ }
171
+ };
172
+ const customPropsForFullDatePickerWhenOpen = {
173
+ ...customPropsForFullDatePickerWhenClosed,
174
+ [ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.CALENDAR]: {
175
+ "data-foo": "foo-contextual-menu-calendar",
176
+ "aria-label": "custom label for contextual-menu-calendar",
177
+ ignoredProp: "props not starting with data- or aria- are not exposed"
178
+ },
179
+ ...customPropsCalendarDatePart
180
+ };
181
+ const customPropsForFullTimePickerWhenClosed = {
182
+ ...customPropsShareds,
183
+ ...customPropsTimeInputs,
184
+ [ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL]: {
185
+ "data-foo": "foo-timewheel-icon",
186
+ "aria-label": "custom label for timewheel-icon",
187
+ ignoredProp: "props not starting with data- or aria- are not exposed"
188
+ }
189
+ };
190
+ const customPropsForFullTimePickerWhenOpen = {
191
+ ...customPropsForFullTimePickerWhenClosed,
192
+ [ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL]: {
193
+ "data-foo": "foo-contextual-menu-timewheel",
194
+ "aria-label": "custom label for contextual-menu-timewheel",
195
+ ignoredProp: "props not starting with data- or aria- are not exposed"
196
+ },
197
+ ...customPropsCalendarTimePart
198
+ };
199
+ export {
200
+ customPropsForFullDatePickerWhenClosed,
201
+ customPropsForFullDatePickerWhenOpen,
202
+ customPropsForFullDateTimePickerWhenClosed,
203
+ customPropsForFullDateTimePickerWhenOpen,
204
+ customPropsForFullTimePickerWhenClosed,
205
+ customPropsForFullTimePickerWhenOpen
206
+ };
207
+ //# sourceMappingURL=customProps.js.map