@elliemae/ds-form-date-time-picker 3.4.3-rc.1 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/cjs/ControlledDateTimePicker.js +9 -5
  2. package/dist/cjs/ControlledDateTimePicker.js.map +1 -1
  3. package/dist/cjs/ControlledDateTimePickerCTX.js +4 -1
  4. package/dist/cjs/ControlledDateTimePickerCTX.js.map +1 -1
  5. package/dist/cjs/ControlledDateTimePickerDatatestid.js +4 -1
  6. package/dist/cjs/ControlledDateTimePickerDatatestid.js.map +1 -1
  7. package/dist/cjs/ControlledDateTimePickerTypes.js +4 -1
  8. package/dist/cjs/ControlledDateTimePickerTypes.js.map +1 -1
  9. package/dist/cjs/config/useChangeHandlers.js +261 -219
  10. package/dist/cjs/config/useChangeHandlers.js.map +1 -1
  11. package/dist/cjs/config/useControlledDateTimePicker.js +34 -28
  12. package/dist/cjs/config/useControlledDateTimePicker.js.map +2 -2
  13. package/dist/cjs/config/useFocusTracker.js +130 -124
  14. package/dist/cjs/config/useFocusTracker.js.map +1 -1
  15. package/dist/cjs/config/useGetDestructuredValues.js +50 -38
  16. package/dist/cjs/config/useGetDestructuredValues.js.map +1 -1
  17. package/dist/cjs/config/useGetFlags.js +16 -5
  18. package/dist/cjs/config/useGetFlags.js.map +2 -2
  19. package/dist/cjs/config/useGetPropsBasedOnType.js +60 -54
  20. package/dist/cjs/config/useGetPropsBasedOnType.js.map +1 -1
  21. package/dist/cjs/config/useGetPropsWithDefault.js +4 -1
  22. package/dist/cjs/config/useGetPropsWithDefault.js.map +1 -1
  23. package/dist/cjs/config/useGetReferences.js +35 -29
  24. package/dist/cjs/config/useGetReferences.js.map +1 -1
  25. package/dist/cjs/config/useGlobalKeyHandlers.js +63 -51
  26. package/dist/cjs/config/useGlobalKeyHandlers.js.map +1 -1
  27. package/dist/cjs/config/useRelevantValueFromProps.js +15 -9
  28. package/dist/cjs/config/useRelevantValueFromProps.js.map +1 -1
  29. package/dist/cjs/config/useValidateProps.js +33 -14
  30. package/dist/cjs/config/useValidateProps.js.map +1 -1
  31. package/dist/cjs/exported-related/theming.js +4 -1
  32. package/dist/cjs/exported-related/theming.js.map +1 -1
  33. package/dist/cjs/index.js +4 -1
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/parts/ClearButton/ClearButton.js +12 -7
  36. package/dist/cjs/parts/ClearButton/ClearButton.js.map +1 -1
  37. package/dist/cjs/parts/ClearButton/useClearButton.js +45 -33
  38. package/dist/cjs/parts/ClearButton/useClearButton.js.map +1 -1
  39. package/dist/cjs/parts/ControlledDateTimePickerContent.js +31 -16
  40. package/dist/cjs/parts/ControlledDateTimePickerContent.js.map +1 -1
  41. package/dist/cjs/parts/DateInputs/DDInput.js +42 -33
  42. package/dist/cjs/parts/DateInputs/DDInput.js.map +2 -2
  43. package/dist/cjs/parts/DateInputs/DateInputs.js +63 -42
  44. package/dist/cjs/parts/DateInputs/DateInputs.js.map +2 -2
  45. package/dist/cjs/parts/DateInputs/MMInput.js +56 -35
  46. package/dist/cjs/parts/DateInputs/MMInput.js.map +3 -3
  47. package/dist/cjs/parts/DateInputs/YYYYInput.js +42 -33
  48. package/dist/cjs/parts/DateInputs/YYYYInput.js.map +2 -2
  49. package/dist/cjs/parts/DateInputs/useDateInputs.js +296 -254
  50. package/dist/cjs/parts/DateInputs/useDateInputs.js.map +2 -2
  51. package/dist/cjs/parts/Pickers/Calendar/Calendar.js +24 -9
  52. package/dist/cjs/parts/Pickers/Calendar/Calendar.js.map +1 -1
  53. package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js +14 -4
  54. package/dist/cjs/parts/Pickers/Calendar/CalendarBody.js.map +2 -2
  55. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +18 -7
  56. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  57. package/dist/cjs/parts/Pickers/Calendar/CalendarContext.js +4 -1
  58. package/dist/cjs/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  59. package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js +35 -27
  60. package/dist/cjs/parts/Pickers/Calendar/CalendarDaysList.js.map +2 -2
  61. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js +10 -5
  62. package/dist/cjs/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  63. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js +112 -83
  64. package/dist/cjs/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  65. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js +21 -13
  66. package/dist/cjs/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  67. package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
  68. package/dist/cjs/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  69. package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js +55 -34
  70. package/dist/cjs/parts/Pickers/Calendar/CalendarWeekDays.js.map +2 -2
  71. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +11 -6
  72. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  73. package/dist/cjs/parts/Pickers/Calendar/Day.js +73 -58
  74. package/dist/cjs/parts/Pickers/Calendar/Day.js.map +1 -1
  75. package/dist/cjs/parts/Pickers/Calendar/Styleds.js +4 -1
  76. package/dist/cjs/parts/Pickers/Calendar/Styleds.js.map +1 -1
  77. package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js +29 -23
  78. package/dist/cjs/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  79. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +38 -26
  80. package/dist/cjs/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  81. package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js +34 -18
  82. package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  83. package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js +190 -166
  84. package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  85. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js +33 -21
  86. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  87. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +22 -8
  88. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  89. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +14 -5
  90. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  91. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +7 -2
  92. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  93. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +10 -5
  94. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  95. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +27 -19
  96. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  97. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +11 -6
  98. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  99. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js +4 -1
  100. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  101. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +67 -52
  102. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  103. package/dist/cjs/parts/Pickers/PickersIcons.js +13 -4
  104. package/dist/cjs/parts/Pickers/PickersIcons.js.map +2 -2
  105. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js +90 -72
  106. package/dist/cjs/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  107. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js +102 -76
  108. package/dist/cjs/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  109. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js +87 -69
  110. package/dist/cjs/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  111. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js +4 -1
  112. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  113. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js +24 -9
  114. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  115. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +35 -6
  116. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  117. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
  118. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  119. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js +10 -5
  120. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
  121. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +21 -13
  122. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  123. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +11 -6
  124. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  125. package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +12 -6
  126. package/dist/cjs/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  127. package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +99 -61
  128. package/dist/cjs/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  129. package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js +163 -145
  130. package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  131. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +42 -30
  132. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  133. package/dist/cjs/parts/Styleds.js +4 -1
  134. package/dist/cjs/parts/Styleds.js.map +1 -1
  135. package/dist/cjs/parts/TimeInputs/HHInput.js +44 -35
  136. package/dist/cjs/parts/TimeInputs/HHInput.js.map +2 -2
  137. package/dist/cjs/parts/TimeInputs/MeridiemInput.js +42 -33
  138. package/dist/cjs/parts/TimeInputs/MeridiemInput.js.map +2 -2
  139. package/dist/cjs/parts/TimeInputs/MinutesInput.js +42 -33
  140. package/dist/cjs/parts/TimeInputs/MinutesInput.js.map +2 -2
  141. package/dist/cjs/parts/TimeInputs/TimeInputs.js +60 -40
  142. package/dist/cjs/parts/TimeInputs/TimeInputs.js.map +1 -1
  143. package/dist/cjs/parts/TimeInputs/useTimeInputs.js +234 -201
  144. package/dist/cjs/parts/TimeInputs/useTimeInputs.js.map +1 -1
  145. package/dist/cjs/parts/config.js +4 -1
  146. package/dist/cjs/parts/config.js.map +1 -1
  147. package/dist/cjs/propTypes.js +19 -6
  148. package/dist/cjs/propTypes.js.map +2 -2
  149. package/dist/cjs/sharedTypes.js +4 -1
  150. package/dist/cjs/sharedTypes.js.map +2 -2
  151. package/dist/cjs/utils/constants.js +4 -1
  152. package/dist/cjs/utils/constants.js.map +1 -1
  153. package/dist/cjs/utils/dateHelpers.js +15 -10
  154. package/dist/cjs/utils/dateHelpers.js.map +1 -1
  155. package/dist/cjs/utils/dateTimeHelpers.js +4 -1
  156. package/dist/cjs/utils/dateTimeHelpers.js.map +1 -1
  157. package/dist/cjs/utils/hooks/useGetDayFromDateString.js +4 -1
  158. package/dist/cjs/utils/hooks/useGetDayFromDateString.js.map +1 -1
  159. package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +4 -1
  160. package/dist/cjs/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  161. package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js +9 -2
  162. package/dist/cjs/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  163. package/dist/cjs/utils/hooks/useOnClickOutside.js +4 -1
  164. package/dist/cjs/utils/hooks/useOnClickOutside.js.map +1 -1
  165. package/dist/cjs/utils/numberHelpers.js +4 -1
  166. package/dist/cjs/utils/numberHelpers.js.map +1 -1
  167. package/dist/cjs/utils/stringHelpers.js +4 -1
  168. package/dist/cjs/utils/stringHelpers.js.map +1 -1
  169. package/dist/cjs/utils/timeHelpers.js +4 -1
  170. package/dist/cjs/utils/timeHelpers.js.map +1 -1
  171. package/dist/cjs/utils/typeGuards.js +4 -1
  172. package/dist/cjs/utils/typeGuards.js.map +1 -1
  173. package/dist/esm/ControlledDateTimePicker.js +5 -4
  174. package/dist/esm/ControlledDateTimePicker.js.map +1 -1
  175. package/dist/esm/ControlledDateTimePickerCTX.js.map +1 -1
  176. package/dist/esm/ControlledDateTimePickerDatatestid.js.map +1 -1
  177. package/dist/esm/ControlledDateTimePickerTypes.js.map +1 -1
  178. package/dist/esm/config/useChangeHandlers.js +257 -218
  179. package/dist/esm/config/useChangeHandlers.js.map +1 -1
  180. package/dist/esm/config/useControlledDateTimePicker.js +30 -27
  181. package/dist/esm/config/useControlledDateTimePicker.js.map +2 -2
  182. package/dist/esm/config/useFocusTracker.js +126 -123
  183. package/dist/esm/config/useFocusTracker.js.map +1 -1
  184. package/dist/esm/config/useGetDestructuredValues.js +46 -37
  185. package/dist/esm/config/useGetDestructuredValues.js.map +1 -1
  186. package/dist/esm/config/useGetFlags.js +12 -4
  187. package/dist/esm/config/useGetFlags.js.map +2 -2
  188. package/dist/esm/config/useGetPropsBasedOnType.js +56 -53
  189. package/dist/esm/config/useGetPropsBasedOnType.js.map +1 -1
  190. package/dist/esm/config/useGetPropsWithDefault.js.map +1 -1
  191. package/dist/esm/config/useGetReferences.js +31 -28
  192. package/dist/esm/config/useGetReferences.js.map +1 -1
  193. package/dist/esm/config/useGlobalKeyHandlers.js +59 -50
  194. package/dist/esm/config/useGlobalKeyHandlers.js.map +1 -1
  195. package/dist/esm/config/useRelevantValueFromProps.js +11 -8
  196. package/dist/esm/config/useRelevantValueFromProps.js.map +1 -1
  197. package/dist/esm/config/useValidateProps.js +29 -13
  198. package/dist/esm/config/useValidateProps.js.map +1 -1
  199. package/dist/esm/exported-related/theming.js.map +1 -1
  200. package/dist/esm/index.js.map +1 -1
  201. package/dist/esm/parts/ClearButton/ClearButton.js +8 -6
  202. package/dist/esm/parts/ClearButton/ClearButton.js.map +1 -1
  203. package/dist/esm/parts/ClearButton/useClearButton.js +41 -32
  204. package/dist/esm/parts/ClearButton/useClearButton.js.map +1 -1
  205. package/dist/esm/parts/ControlledDateTimePickerContent.js +27 -15
  206. package/dist/esm/parts/ControlledDateTimePickerContent.js.map +1 -1
  207. package/dist/esm/parts/DateInputs/DDInput.js +38 -32
  208. package/dist/esm/parts/DateInputs/DDInput.js.map +2 -2
  209. package/dist/esm/parts/DateInputs/DateInputs.js +59 -41
  210. package/dist/esm/parts/DateInputs/DateInputs.js.map +2 -2
  211. package/dist/esm/parts/DateInputs/MMInput.js +53 -35
  212. package/dist/esm/parts/DateInputs/MMInput.js.map +3 -3
  213. package/dist/esm/parts/DateInputs/YYYYInput.js +38 -32
  214. package/dist/esm/parts/DateInputs/YYYYInput.js.map +2 -2
  215. package/dist/esm/parts/DateInputs/useDateInputs.js +292 -253
  216. package/dist/esm/parts/DateInputs/useDateInputs.js.map +2 -2
  217. package/dist/esm/parts/Pickers/Calendar/Calendar.js +20 -8
  218. package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +1 -1
  219. package/dist/esm/parts/Pickers/Calendar/CalendarBody.js +10 -3
  220. package/dist/esm/parts/Pickers/Calendar/CalendarBody.js.map +2 -2
  221. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +14 -6
  222. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  223. package/dist/esm/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  224. package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js +31 -26
  225. package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js.map +2 -2
  226. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +6 -4
  227. package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  228. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +108 -82
  229. package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  230. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +17 -12
  231. package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  232. package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js +3 -2
  233. package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  234. package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js +51 -33
  235. package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js.map +2 -2
  236. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +7 -5
  237. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  238. package/dist/esm/parts/Pickers/Calendar/Day.js +69 -57
  239. package/dist/esm/parts/Pickers/Calendar/Day.js.map +1 -1
  240. package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +1 -1
  241. package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js +25 -22
  242. package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  243. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +34 -25
  244. package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  245. package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js +30 -17
  246. package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  247. package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js +186 -165
  248. package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  249. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js +29 -20
  250. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  251. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +18 -7
  252. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
  253. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +10 -4
  254. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  255. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
  256. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  257. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +6 -4
  258. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  259. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +23 -18
  260. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  261. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -5
  262. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  263. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  264. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +63 -51
  265. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  266. package/dist/esm/parts/Pickers/PickersIcons.js +9 -3
  267. package/dist/esm/parts/Pickers/PickersIcons.js.map +2 -2
  268. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +86 -71
  269. package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  270. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +98 -75
  271. package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  272. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +83 -68
  273. package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  274. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  275. package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js +20 -8
  276. package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  277. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +31 -5
  278. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  279. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  280. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +6 -4
  281. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
  282. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +17 -12
  283. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  284. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -5
  285. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  286. package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +8 -5
  287. package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  288. package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +95 -60
  289. package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  290. package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js +159 -144
  291. package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
  292. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +38 -29
  293. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
  294. package/dist/esm/parts/Styleds.js.map +1 -1
  295. package/dist/esm/parts/TimeInputs/HHInput.js +40 -34
  296. package/dist/esm/parts/TimeInputs/HHInput.js.map +2 -2
  297. package/dist/esm/parts/TimeInputs/MeridiemInput.js +38 -32
  298. package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +2 -2
  299. package/dist/esm/parts/TimeInputs/MinutesInput.js +38 -32
  300. package/dist/esm/parts/TimeInputs/MinutesInput.js.map +2 -2
  301. package/dist/esm/parts/TimeInputs/TimeInputs.js +56 -39
  302. package/dist/esm/parts/TimeInputs/TimeInputs.js.map +1 -1
  303. package/dist/esm/parts/TimeInputs/useTimeInputs.js +230 -200
  304. package/dist/esm/parts/TimeInputs/useTimeInputs.js.map +1 -1
  305. package/dist/esm/parts/config.js.map +1 -1
  306. package/dist/esm/propTypes.js +15 -5
  307. package/dist/esm/propTypes.js.map +2 -2
  308. package/dist/esm/sharedTypes.js.map +1 -1
  309. package/dist/esm/utils/constants.js.map +1 -1
  310. package/dist/esm/utils/dateHelpers.js +11 -9
  311. package/dist/esm/utils/dateHelpers.js.map +1 -1
  312. package/dist/esm/utils/dateTimeHelpers.js.map +1 -1
  313. package/dist/esm/utils/hooks/useGetDayFromDateString.js.map +1 -1
  314. package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  315. package/dist/esm/utils/hooks/useGetStartingFocusedDay.js +5 -1
  316. package/dist/esm/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  317. package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
  318. package/dist/esm/utils/numberHelpers.js.map +1 -1
  319. package/dist/esm/utils/stringHelpers.js.map +1 -1
  320. package/dist/esm/utils/timeHelpers.js.map +1 -1
  321. package/dist/esm/utils/typeGuards.js.map +1 -1
  322. package/package.json +8 -8
@@ -35,218 +35,248 @@ const useTimeInputs = () => {
35
35
  const onHoursFocus = useCallback(() => {
36
36
  trackFocusHourInput();
37
37
  }, [trackFocusHourInput]);
38
- const onHoursChange = useCallback((e) => {
39
- let newHours = e?.target?.value;
40
- if (Number.parseInt(newHours, 10) > 1)
41
- newHours = prependStringWithPlaceHolders(newHours, 2);
42
- handleChangeHours(newHours, e);
43
- if (newHours.length === 2)
44
- trackFocusMinuteInput();
45
- }, [handleChangeHours, trackFocusMinuteInput]);
46
- const onHoursKeyDown = useCallback((e) => {
47
- const { key, ctrlKey, metaKey } = e;
48
- const hoursStringConvertedToInteger = Number.parseInt(hours, 10);
49
- if (["Home", "End", "ArrowUp", "ArrowDown", ":"].includes(key))
50
- e.preventDefault();
51
- if (["Home", "End", "ArrowUp", "ArrowDown", ":"].includes(key))
52
- e.stopPropagation();
53
- if (key === "Home")
54
- onHomeKeyDown();
55
- if (key === "End")
56
- onEndKeyDown();
57
- if (key === "ArrowUp" || key === "ArrowDown") {
58
- const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;
59
- let newHours;
60
- if (key === "ArrowUp")
61
- newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;
62
- else
63
- newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;
64
- newHours = prependStringWithPlaceHolders(`${newHours}`, 2);
65
- handleChangeHours(newHours, e);
66
- }
67
- if (!Number.isNaN(hoursStringConvertedToInteger) && key === ":") {
68
- const newHours = prependStringWithPlaceHolders(`${hoursStringConvertedToInteger}`, 2);
38
+ const onHoursChange = useCallback(
39
+ (e) => {
40
+ let newHours = e?.target?.value;
41
+ if (Number.parseInt(newHours, 10) > 1)
42
+ newHours = prependStringWithPlaceHolders(newHours, 2);
69
43
  handleChangeHours(newHours, e);
70
44
  if (newHours.length === 2)
71
45
  trackFocusMinuteInput();
72
- }
73
- if (key === "Backspace" && hours.length === 0 && isWithDateInputs) {
74
- trackFocusYearInput();
75
- }
76
- if ((ctrlKey || metaKey) && key === ";")
77
- trackFocusLastSegment();
78
- }, [
79
- hours,
80
- isWithDateInputs,
81
- trackFocusYearInput,
82
- onHomeKeyDown,
83
- onEndKeyDown,
84
- trackFocusLastSegment,
85
- trackFocusMinuteInput,
86
- handleChangeHours
87
- ]);
88
- const onHoursBlur = useCallback((e) => {
89
- const newHours = e?.target?.value;
90
- if (newHours === "0")
91
- handleChangeHours("01", e, { isAutomaticFillTrigger: true });
92
- else if (newHours.length > 0 && newHours.length < 2)
93
- handleChangeHours(prependStringWithPlaceHolders(newHours, 2), e, {
94
- isAutomaticFillTrigger: true
95
- });
96
- }, [handleChangeHours]);
46
+ },
47
+ [handleChangeHours, trackFocusMinuteInput]
48
+ );
49
+ const onHoursKeyDown = useCallback(
50
+ (e) => {
51
+ const { key, ctrlKey, metaKey } = e;
52
+ const hoursStringConvertedToInteger = Number.parseInt(hours, 10);
53
+ if (["Home", "End", "ArrowUp", "ArrowDown", ":"].includes(key))
54
+ e.preventDefault();
55
+ if (["Home", "End", "ArrowUp", "ArrowDown", ":"].includes(key))
56
+ e.stopPropagation();
57
+ if (key === "Home")
58
+ onHomeKeyDown();
59
+ if (key === "End")
60
+ onEndKeyDown();
61
+ if (key === "ArrowUp" || key === "ArrowDown") {
62
+ const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;
63
+ let newHours;
64
+ if (key === "ArrowUp")
65
+ newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;
66
+ else
67
+ newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;
68
+ newHours = prependStringWithPlaceHolders(`${newHours}`, 2);
69
+ handleChangeHours(newHours, e);
70
+ }
71
+ if (!Number.isNaN(hoursStringConvertedToInteger) && key === ":") {
72
+ const newHours = prependStringWithPlaceHolders(`${hoursStringConvertedToInteger}`, 2);
73
+ handleChangeHours(newHours, e);
74
+ if (newHours.length === 2)
75
+ trackFocusMinuteInput();
76
+ }
77
+ if (key === "Backspace" && hours.length === 0 && isWithDateInputs) {
78
+ trackFocusYearInput();
79
+ }
80
+ if ((ctrlKey || metaKey) && key === ";")
81
+ trackFocusLastSegment();
82
+ },
83
+ [
84
+ hours,
85
+ isWithDateInputs,
86
+ trackFocusYearInput,
87
+ onHomeKeyDown,
88
+ onEndKeyDown,
89
+ trackFocusLastSegment,
90
+ trackFocusMinuteInput,
91
+ handleChangeHours
92
+ ]
93
+ );
94
+ const onHoursBlur = useCallback(
95
+ (e) => {
96
+ const newHours = e?.target?.value;
97
+ if (newHours === "0")
98
+ handleChangeHours("01", e, { isAutomaticFillTrigger: true });
99
+ else if (newHours.length > 0 && newHours.length < 2)
100
+ handleChangeHours(prependStringWithPlaceHolders(newHours, 2), e, {
101
+ isAutomaticFillTrigger: true
102
+ });
103
+ },
104
+ [handleChangeHours]
105
+ );
97
106
  const onMinutesFocus = useCallback(() => {
98
107
  trackFocusMinuteInput();
99
108
  }, [trackFocusMinuteInput]);
100
- const onMinutesChange = useCallback((e) => {
101
- let newMinutes = e?.target?.value;
102
- if (Number.parseInt(newMinutes, 10) > 6)
103
- newMinutes = prependStringWithPlaceHolders(newMinutes, 2);
104
- handleChangeMinutes(newMinutes, e);
105
- if (newMinutes.length === 2)
106
- trackFocusMeridiemInput();
107
- }, [handleChangeMinutes, trackFocusMeridiemInput]);
108
- const onMinutesKeyDown = useCallback((e) => {
109
- const { key, ctrlKey, metaKey } = e;
110
- const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
111
- if (["Home", "End", "ArrowUp", "ArrowDown", " "].includes(key))
112
- e.preventDefault();
113
- if (["Home", "End", "ArrowUp", "ArrowDown", " "].includes(key))
114
- e.stopPropagation();
115
- if (key === "Home")
116
- onHomeKeyDown();
117
- if (key === "End")
118
- onEndKeyDown();
119
- if (key === "ArrowUp" || key === "ArrowDown") {
120
- const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;
121
- let newMinutes;
122
- if (key === "ArrowUp")
123
- newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;
124
- else
125
- newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;
126
- newMinutes = prependStringWithPlaceHolders(`${newMinutes}`, 2);
127
- handleChangeMinutes(newMinutes, e);
128
- }
129
- if (!Number.isNaN(minutesStringConvertedToInteger) && key === " ") {
130
- const newMinutes = prependStringWithPlaceHolders(`${minutesStringConvertedToInteger}`, 2);
109
+ const onMinutesChange = useCallback(
110
+ (e) => {
111
+ let newMinutes = e?.target?.value;
112
+ if (Number.parseInt(newMinutes, 10) > 6)
113
+ newMinutes = prependStringWithPlaceHolders(newMinutes, 2);
131
114
  handleChangeMinutes(newMinutes, e);
132
115
  if (newMinutes.length === 2)
133
116
  trackFocusMeridiemInput();
134
- }
135
- if (key === "Backspace" && minutes?.length === 0) {
136
- trackFocusHourInput();
137
- }
138
- if ((ctrlKey || metaKey) && key === ";")
139
- trackFocusLastSegment();
140
- }, [
141
- minutes,
142
- onHomeKeyDown,
143
- onEndKeyDown,
144
- trackFocusLastSegment,
145
- minutesInterval,
146
- handleChangeMinutes,
147
- trackFocusMeridiemInput,
148
- trackFocusHourInput
149
- ]);
150
- const onMinutesBlur = useCallback((e) => {
151
- const newMinutes = e?.target?.value;
152
- if (newMinutes.length > 0 && newMinutes.length < 2)
153
- handleChangeMinutes(prependStringWithPlaceHolders(newMinutes, 2), e, {
154
- isAutomaticFillTrigger: true
155
- });
156
- }, [handleChangeMinutes]);
117
+ },
118
+ [handleChangeMinutes, trackFocusMeridiemInput]
119
+ );
120
+ const onMinutesKeyDown = useCallback(
121
+ (e) => {
122
+ const { key, ctrlKey, metaKey } = e;
123
+ const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
124
+ if (["Home", "End", "ArrowUp", "ArrowDown", " "].includes(key))
125
+ e.preventDefault();
126
+ if (["Home", "End", "ArrowUp", "ArrowDown", " "].includes(key))
127
+ e.stopPropagation();
128
+ if (key === "Home")
129
+ onHomeKeyDown();
130
+ if (key === "End")
131
+ onEndKeyDown();
132
+ if (key === "ArrowUp" || key === "ArrowDown") {
133
+ const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;
134
+ let newMinutes;
135
+ if (key === "ArrowUp")
136
+ newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;
137
+ else
138
+ newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;
139
+ newMinutes = prependStringWithPlaceHolders(`${newMinutes}`, 2);
140
+ handleChangeMinutes(newMinutes, e);
141
+ }
142
+ if (!Number.isNaN(minutesStringConvertedToInteger) && key === " ") {
143
+ const newMinutes = prependStringWithPlaceHolders(`${minutesStringConvertedToInteger}`, 2);
144
+ handleChangeMinutes(newMinutes, e);
145
+ if (newMinutes.length === 2)
146
+ trackFocusMeridiemInput();
147
+ }
148
+ if (key === "Backspace" && minutes?.length === 0) {
149
+ trackFocusHourInput();
150
+ }
151
+ if ((ctrlKey || metaKey) && key === ";")
152
+ trackFocusLastSegment();
153
+ },
154
+ [
155
+ minutes,
156
+ onHomeKeyDown,
157
+ onEndKeyDown,
158
+ trackFocusLastSegment,
159
+ minutesInterval,
160
+ handleChangeMinutes,
161
+ trackFocusMeridiemInput,
162
+ trackFocusHourInput
163
+ ]
164
+ );
165
+ const onMinutesBlur = useCallback(
166
+ (e) => {
167
+ const newMinutes = e?.target?.value;
168
+ if (newMinutes.length > 0 && newMinutes.length < 2)
169
+ handleChangeMinutes(prependStringWithPlaceHolders(newMinutes, 2), e, {
170
+ isAutomaticFillTrigger: true
171
+ });
172
+ },
173
+ [handleChangeMinutes]
174
+ );
157
175
  const onMeridiemFocus = useCallback(() => {
158
176
  trackFocusMeridiemInput();
159
177
  }, [trackFocusMeridiemInput]);
160
- const onMeridiemChange = useCallback((e) => {
161
- let newMeridiem = e?.target?.value?.toUpperCase?.();
162
- if (newMeridiem.length === 1)
163
- if (meridiem === "")
164
- newMeridiem = `${newMeridiem}M`;
165
- else
166
- newMeridiem = "";
167
- handleChangeMeridiem(newMeridiem, e);
168
- if (newMeridiem.length === 2 && withAnyRightController) {
169
- if (withClearBtn)
170
- trackFocusClearBtn();
171
- else if (withAnyPicker)
172
- trackFocusPicker();
173
- }
174
- }, [
175
- meridiem,
176
- handleChangeMeridiem,
177
- withAnyRightController,
178
- withClearBtn,
179
- trackFocusClearBtn,
180
- withAnyPicker,
181
- trackFocusPicker
182
- ]);
183
- const onMeridiemKeyDown = useCallback((e) => {
184
- const { key, ctrlKey, metaKey } = e;
185
- if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key))
186
- e.preventDefault();
187
- if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key))
188
- e.stopPropagation();
189
- if (key === "Home")
190
- onHomeKeyDown();
191
- if (key === "End")
192
- onEndKeyDown();
193
- if (key === "ArrowUp" && meridiem !== "AM")
194
- handleChangeMeridiem("AM", e);
195
- if (key === "ArrowDown" && meridiem !== "PM")
196
- handleChangeMeridiem("PM", e);
197
- if (key === "Backspace") {
198
- if (meridiem?.length === 2)
199
- handleChangeMeridiem("", e);
200
- else
201
- trackFocusMinuteInput();
202
- }
203
- if ((ctrlKey || metaKey) && key === ";")
204
- trackFocusLastSegment();
205
- }, [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput]);
206
- const onMeridiemBlur = useCallback((e) => {
207
- const newMeridiem = e?.target?.value?.toUpperCase?.();
208
- if (newMeridiem.length === 1)
209
- handleChangeMeridiem(`${newMeridiem}M`, e, {
210
- isAutomaticFillTrigger: true
211
- });
212
- }, [handleChangeMeridiem]);
213
- return useMemo(() => ({
214
- autoFocusHourInput,
215
- disabled,
216
- handleChangeHours,
217
- onHoursFocus,
218
- onHoursChange,
219
- handleChangeMinutes,
220
- onMinutesFocus,
221
- onMinutesChange,
222
- handleChangeMeridiem,
223
- onMeridiemFocus,
224
- onMeridiemChange,
225
- onHoursBlur,
226
- onMinutesBlur,
227
- onMeridiemBlur,
228
- onHoursKeyDown,
229
- onMinutesKeyDown,
230
- onMeridiemKeyDown
231
- }), [
232
- autoFocusHourInput,
233
- disabled,
234
- handleChangeHours,
235
- onHoursFocus,
236
- onHoursChange,
237
- handleChangeMinutes,
238
- onMinutesFocus,
239
- onMinutesChange,
240
- handleChangeMeridiem,
241
- onMeridiemFocus,
242
- onMeridiemChange,
243
- onHoursBlur,
244
- onMinutesBlur,
245
- onMeridiemBlur,
246
- onHoursKeyDown,
247
- onMinutesKeyDown,
248
- onMeridiemKeyDown
249
- ]);
178
+ const onMeridiemChange = useCallback(
179
+ (e) => {
180
+ let newMeridiem = e?.target?.value?.toUpperCase?.();
181
+ if (newMeridiem.length === 1)
182
+ if (meridiem === "")
183
+ newMeridiem = `${newMeridiem}M`;
184
+ else
185
+ newMeridiem = "";
186
+ handleChangeMeridiem(newMeridiem, e);
187
+ if (newMeridiem.length === 2 && withAnyRightController) {
188
+ if (withClearBtn)
189
+ trackFocusClearBtn();
190
+ else if (withAnyPicker)
191
+ trackFocusPicker();
192
+ }
193
+ },
194
+ [
195
+ meridiem,
196
+ handleChangeMeridiem,
197
+ withAnyRightController,
198
+ withClearBtn,
199
+ trackFocusClearBtn,
200
+ withAnyPicker,
201
+ trackFocusPicker
202
+ ]
203
+ );
204
+ const onMeridiemKeyDown = useCallback(
205
+ (e) => {
206
+ const { key, ctrlKey, metaKey } = e;
207
+ if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key))
208
+ e.preventDefault();
209
+ if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key))
210
+ e.stopPropagation();
211
+ if (key === "Home")
212
+ onHomeKeyDown();
213
+ if (key === "End")
214
+ onEndKeyDown();
215
+ if (key === "ArrowUp" && meridiem !== "AM")
216
+ handleChangeMeridiem("AM", e);
217
+ if (key === "ArrowDown" && meridiem !== "PM")
218
+ handleChangeMeridiem("PM", e);
219
+ if (key === "Backspace") {
220
+ if (meridiem?.length === 2)
221
+ handleChangeMeridiem("", e);
222
+ else
223
+ trackFocusMinuteInput();
224
+ }
225
+ if ((ctrlKey || metaKey) && key === ";")
226
+ trackFocusLastSegment();
227
+ },
228
+ [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput]
229
+ );
230
+ const onMeridiemBlur = useCallback(
231
+ (e) => {
232
+ const newMeridiem = e?.target?.value?.toUpperCase?.();
233
+ if (newMeridiem.length === 1)
234
+ handleChangeMeridiem(`${newMeridiem}M`, e, {
235
+ isAutomaticFillTrigger: true
236
+ });
237
+ },
238
+ [handleChangeMeridiem]
239
+ );
240
+ return useMemo(
241
+ () => ({
242
+ autoFocusHourInput,
243
+ disabled,
244
+ handleChangeHours,
245
+ onHoursFocus,
246
+ onHoursChange,
247
+ handleChangeMinutes,
248
+ onMinutesFocus,
249
+ onMinutesChange,
250
+ handleChangeMeridiem,
251
+ onMeridiemFocus,
252
+ onMeridiemChange,
253
+ onHoursBlur,
254
+ onMinutesBlur,
255
+ onMeridiemBlur,
256
+ onHoursKeyDown,
257
+ onMinutesKeyDown,
258
+ onMeridiemKeyDown
259
+ }),
260
+ [
261
+ autoFocusHourInput,
262
+ disabled,
263
+ handleChangeHours,
264
+ onHoursFocus,
265
+ onHoursChange,
266
+ handleChangeMinutes,
267
+ onMinutesFocus,
268
+ onMinutesChange,
269
+ handleChangeMeridiem,
270
+ onMeridiemFocus,
271
+ onMeridiemChange,
272
+ onHoursBlur,
273
+ onMinutesBlur,
274
+ onMeridiemBlur,
275
+ onHoursKeyDown,
276
+ onMinutesKeyDown,
277
+ onMeridiemKeyDown
278
+ ]
279
+ );
250
280
  };
251
281
  export {
252
282
  useTimeInputs
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/useTimeInputs.tsx"],
4
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 // regressive backspace functionality\n if (key === 'Backspace' && hours.length === 0 && isWithDateInputs) {\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 // regressive backspace functionality\n if (key === 'Backspace' && minutes?.length === 0) {\n trackFocusHourInput();\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 (meridiem?.length === 2) handleChangeMeridiem('', e);\n else trackFocusMinuteInput();\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
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/config.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const fixedValues = {\n smallInputWidth: '28px',\n largeInputWidth: '40px',\n separatorWidth: '7px',\n} as const;\n"],
5
- "mappings": "AAAA;ACAO,MAAM,cAAc;AAAA,EACzB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,cAAc;AAAA,EACzB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;",
6
6
  "names": []
7
7
  }
@@ -59,12 +59,22 @@ const propTypes = {
59
59
  onHourChange: PropTypes.func.description("(newHourString, event, metaInformations) => void"),
60
60
  onMinuteChange: PropTypes.func.description("(newMinuteString, event, metaInformations) => void"),
61
61
  onMeridiemChange: PropTypes.func.description("(newMeridiemString, event, metaInformations) => void"),
62
- getIsDisabledDay: PropTypes.func.description("(dayAsString) => true for marking as disabled, false for marking as valid"),
63
- getIsOutOfRangeDay: PropTypes.func.description("(dayAsString) => true for marking as disabled, false for marking as valid"),
64
- getIsDisabledTime: PropTypes.func.description("(timeAsString) => true for marking as disabled, false for marking as valid"),
65
- emptyPickerStartingMonth: PropTypes.string.description('which month to start the calendar on open, when value is empty, string following the "MM/__/YYYY" pattern'),
62
+ getIsDisabledDay: PropTypes.func.description(
63
+ "(dayAsString) => true for marking as disabled, false for marking as valid"
64
+ ),
65
+ getIsOutOfRangeDay: PropTypes.func.description(
66
+ "(dayAsString) => true for marking as disabled, false for marking as valid"
67
+ ),
68
+ getIsDisabledTime: PropTypes.func.description(
69
+ "(timeAsString) => true for marking as disabled, false for marking as valid"
70
+ ),
71
+ emptyPickerStartingMonth: PropTypes.string.description(
72
+ 'which month to start the calendar on open, when value is empty, string following the "MM/__/YYYY" pattern'
73
+ ),
66
74
  onCalendarOpenFocusedDay: PropTypes.string.description('which day to focus on calendar open when value is empty, string following the "MM/DD/YYYY" pattern').defaultValue("if value is empty current month, else current month"),
67
- onTimeWheelOpenStartingTime: PropTypes.string.description('which day to start the timewheel on picker open when value is empty, string following the HH:MM AA" pattern').defaultValue("01:00 AM"),
75
+ onTimeWheelOpenStartingTime: PropTypes.string.description(
76
+ 'which day to start the timewheel on picker open when value is empty, string following the HH:MM AA" pattern'
77
+ ).defaultValue("01:00 AM"),
68
78
  minutesInterval: PropTypes.number.description("increments/decrements of minutes in time related controllers interactions").defaultValue("1"),
69
79
  "data-testid": PropTypes.string.description("Unique id for tests.").defaultValue("")
70
80
  };
@@ -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 React, { WeakValidationMap } 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\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ DATE CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n export interface DefaultDateProps {\n onMonthChange: OnInternalInputsChange;\n onDayChange: OnInternalInputsChange;\n onYearChange: OnInternalInputsChange;\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 }\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: OnInternalInputsChange;\n onMinuteChange: OnInternalInputsChange;\n onMeridiemChange: OnInternalInputsChange;\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 }\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;ACEA;AAGA,MAAM,OAAO,MAAY;AAAC;AAC1B,MAAM,qBAAqB,MAAa;AAqIjC,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,YAC/B,2EACF;AAAA,EACA,oBAAoB,UAAU,KAAK,YACjC,2EACF;AAAA,EACA,mBAAmB,UAAU,KAAK,YAChC,4EACF;AAAA,EACA,0BAA0B,UAAU,OAAO,YACzC,2GACF;AAAA,EACA,0BAA0B,UAAU,OACjC,YAAY,oGAAoG,EAChH,aAAa,qDAAqD;AAAA,EACrE,6BAA6B,UAAU,OACpC,YACC,6GACF,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 React, { WeakValidationMap } 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\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ DATE CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n export interface DefaultDateProps {\n onMonthChange: OnInternalInputsChange;\n onDayChange: OnInternalInputsChange;\n onYearChange: OnInternalInputsChange;\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>;\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: OnInternalInputsChange;\n onMinuteChange: OnInternalInputsChange;\n onMeridiemChange: OnInternalInputsChange;\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;ACEvB,SAAS,WAAW,2BAA2B,wBAAwB;AAGvE,MAAM,OAAO,MAAY;AAAC;AAC1B,MAAM,qBAAqB,MAAa;AAuIjC,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;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "AAAA;",
5
+ "mappings": "AAAA,YAAY,WAAW;",
6
6
  "names": []
7
7
  }