@elliemae/ds-form-date-time-picker 3.4.2 → 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
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/DateInputs/DDInput.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport { Styled2DigitsInput } from '../Styleds';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidDay = (day: string) => {\n if (day === '') return false;\n const numberOnly = regExpNumbers.test(day);\n return day.length > 2 || day === '00' || !numberOnly || Number.parseInt(day, 10) > 31;\n};\n\ninterface DDInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n isFocused: boolean;\n}\nexport const DDInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n contextRef,\n placeholder,\n ariaCurrentValueForInputs,\n isFocused,\n }: DDInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidDay(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 as React.MutableRefObject<HTMLInputElement>).current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`day input field, ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAmC;AACnC,gDAAmD;AACnD,qBAAmC;AAGnC,MAAM,gBAAgB;AACtB,MAAM,eAAe,CAAC,QAAgB;AACpC,MAAI,QAAQ;AAAI,WAAO;AACvB,QAAM,aAAa,cAAc,KAAK,GAAG;AACzC,SAAO,IAAI,SAAS,KAAK,QAAQ,QAAQ,CAAC,cAAc,OAAO,SAAS,KAAK,EAAE,IAAI;AACrF;AAcO,MAAM,UAAU,qBAAM,KAC3B,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiC;AACjC,QAAM,mBAAmB,8BACvB,CAAC,MAA2C;AAC1C,QAAI,aAAa,GAAG,QAAQ,KAAK,GAAG;AAClC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,mDAAC;AAAA,IACC,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,MAAC,WAAwD,UAAU;AACnE,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,oBAAoB;AAAA,IAChC,eAAa,6EAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAmC;AACnC,gDAAmD;AACnD,qBAAmC;AAGnC,MAAM,gBAAgB;AACtB,MAAM,eAAe,CAAC,QAAgB;AACpC,MAAI,QAAQ;AAAI,WAAO;AACvB,QAAM,aAAa,cAAc,KAAK,GAAG;AACzC,SAAO,IAAI,SAAS,KAAK,QAAQ,QAAQ,CAAC,cAAc,OAAO,SAAS,KAAK,EAAE,IAAI;AACrF;AAcO,MAAM,UAAU,aAAAA,QAAM;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAmC;AACjC,UAAM,uBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,aAAa,GAAG,QAAQ,KAAK,GAAG;AAClC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE,4CAAC;AAAA,MACC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,CAAC,YAA8B;AAClC,QAAC,WAAwD,UAAU;AACnE,YAAI;AAAW,mBAAS,QAAQ;AAAA,MAClC;AAAA,MACA;AAAA,MACA,cAAY,oBAAoB;AAAA,MAChC,eAAa,6EAAmC,YAAY;AAAA,MAC5D;AAAA,MACA,iBAAe;AAAA,KACjB;AAAA,EAEJ;AACF;",
6
+ "names": ["React"]
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var DateInputs_exports = {};
23
26
  __export(DateInputs_exports, {
@@ -25,7 +28,8 @@ __export(DateInputs_exports, {
25
28
  });
26
29
  module.exports = __toCommonJS(DateInputs_exports);
27
30
  var React = __toESM(require("react"));
28
- var import_react = __toESM(require("react"));
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var import_react = require("react");
29
33
  var import_ds_grid = require("@elliemae/ds-grid");
30
34
  var import_ControlledDateTimePickerCTX = require("../../ControlledDateTimePickerCTX");
31
35
  var import_MMInput = require("./MMInput");
@@ -40,6 +44,7 @@ const DateInputs = () => {
40
44
  day,
41
45
  year,
42
46
  autoFocusMonthInput,
47
+ innerRefMonthInput,
43
48
  onMonthChange,
44
49
  onDayChange,
45
50
  onYearChange,
@@ -62,52 +67,68 @@ const DateInputs = () => {
62
67
  latestInteractionRegion,
63
68
  currFocusDescriber
64
69
  } = (0, import_react.useContext)(import_ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
65
- return /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
70
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, {
66
71
  cols: [
67
72
  import_config.fixedValues.smallInputWidth,
68
73
  import_config.fixedValues.separatorWidth,
69
74
  import_config.fixedValues.smallInputWidth,
70
75
  import_config.fixedValues.separatorWidth,
71
76
  import_config.fixedValues.largeInputWidth
77
+ ],
78
+ children: [
79
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledFocusWithIn, {
80
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_MMInput.MMInput, {
81
+ onChange: onMonthChange,
82
+ onBlur: onMonthBlur,
83
+ onFocus: onMonthFocus,
84
+ onKeyDown: onMonthKeyDown,
85
+ value: month,
86
+ contextRef: monthInputRef,
87
+ innerRef: innerRefMonthInput,
88
+ autoFocusMonthInput,
89
+ placeholder: "MM",
90
+ ariaCurrentValueForInputs,
91
+ disabled,
92
+ isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "month-input"
93
+ })
94
+ }),
95
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledSeparator, {
96
+ alignItems: "center",
97
+ children: "/"
98
+ }),
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledFocusWithIn, {
100
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DDInput.DDInput, {
101
+ onChange: onDayChange,
102
+ onBlur: onDayBlur,
103
+ onFocus: onDayFocus,
104
+ onKeyDown: onDayKeyDown,
105
+ value: day,
106
+ contextRef: dayInputRef,
107
+ placeholder: "DD",
108
+ ariaCurrentValueForInputs,
109
+ disabled,
110
+ isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "day-input"
111
+ })
112
+ }),
113
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledSeparator, {
114
+ alignItems: "center",
115
+ children: "/"
116
+ }),
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledFocusWithIn, {
118
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_YYYYInput.YYYYInput, {
119
+ onChange: onYearChange,
120
+ onBlur: onYearBlur,
121
+ onFocus: onYearFocus,
122
+ onKeyDown: onYearKeyDown,
123
+ value: year,
124
+ contextRef: yearInputRef,
125
+ placeholder: "YYYY",
126
+ ariaCurrentValueForInputs,
127
+ disabled,
128
+ isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "year-input"
129
+ })
130
+ })
72
131
  ]
73
- }, /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledFocusWithIn, null, /* @__PURE__ */ import_react.default.createElement(import_MMInput.MMInput, {
74
- onChange: onMonthChange,
75
- onBlur: onMonthBlur,
76
- onFocus: onMonthFocus,
77
- onKeyDown: onMonthKeyDown,
78
- value: month,
79
- contextRef: monthInputRef,
80
- autoFocusMonthInput,
81
- placeholder: "MM",
82
- ariaCurrentValueForInputs,
83
- disabled,
84
- isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "month-input"
85
- })), /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledSeparator, {
86
- alignItems: "center"
87
- }, "/"), /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledFocusWithIn, null, /* @__PURE__ */ import_react.default.createElement(import_DDInput.DDInput, {
88
- onChange: onDayChange,
89
- onBlur: onDayBlur,
90
- onFocus: onDayFocus,
91
- onKeyDown: onDayKeyDown,
92
- value: day,
93
- contextRef: dayInputRef,
94
- placeholder: "DD",
95
- ariaCurrentValueForInputs,
96
- disabled,
97
- isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "day-input"
98
- })), /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledSeparator, {
99
- alignItems: "center"
100
- }, "/"), /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledFocusWithIn, null, /* @__PURE__ */ import_react.default.createElement(import_YYYYInput.YYYYInput, {
101
- onChange: onYearChange,
102
- onBlur: onYearBlur,
103
- onFocus: onYearFocus,
104
- onKeyDown: onYearKeyDown,
105
- value: year,
106
- contextRef: yearInputRef,
107
- placeholder: "YYYY",
108
- ariaCurrentValueForInputs,
109
- disabled,
110
- isFocused: latestInteractionRegion === "date-inputs" && currFocusDescriber === "year-input"
111
- })));
132
+ });
112
133
  };
113
134
  //# sourceMappingURL=DateInputs.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/DateInputs/DateInputs.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { MMInput } from './MMInput';\nimport { DDInput } from './DDInput';\nimport { YYYYInput } from './YYYYInput';\nimport { StyledFocusWithIn, StyledSeparator } from '../Styleds';\nimport { useDateInputs } from './useDateInputs';\nimport { fixedValues } from '../config';\n\nexport const DateInputs = (): JSX.Element => {\n const {\n month,\n day,\n year,\n autoFocusMonthInput,\n onMonthChange,\n onDayChange,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthFocus,\n onDayFocus,\n onYearFocus,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n disabled,\n } = useDateInputs();\n // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo\n const {\n monthInputRef,\n dayInputRef,\n yearInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.largeInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <MMInput\n onChange={onMonthChange}\n onBlur={onMonthBlur}\n onFocus={onMonthFocus}\n onKeyDown={onMonthKeyDown}\n value={month}\n contextRef={monthInputRef}\n autoFocusMonthInput={autoFocusMonthInput}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'month-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator alignItems=\"center\">/</StyledSeparator>\n <StyledFocusWithIn>\n <DDInput\n onChange={onDayChange}\n onBlur={onDayBlur}\n onFocus={onDayFocus}\n onKeyDown={onDayKeyDown}\n value={day}\n contextRef={dayInputRef}\n placeholder=\"DD\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'day-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator alignItems=\"center\">/</StyledSeparator>\n <StyledFocusWithIn>\n <YYYYInput\n onChange={onYearChange}\n onBlur={onYearBlur}\n onFocus={onYearFocus}\n onKeyDown={onYearKeyDown}\n value={year}\n contextRef={yearInputRef}\n placeholder=\"YYYY\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'year-input'}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,qBAAqB;AACrB,yCAAgD;AAChD,qBAAwB;AACxB,qBAAwB;AACxB,uBAA0B;AAC1B,qBAAmD;AACnD,2BAA8B;AAC9B,oBAA4B;AAErB,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,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,wCAAc;AAElB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW,kEAA+B;AAE9C,SACE,mDAAC;AAAA,IACC,MAAM;AAAA,MACJ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,IACd;AAAA,KAEA,mDAAC,wCACC,mDAAC;AAAA,IACC,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ;AAAA,IACA,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,GACA,mDAAC;AAAA,IAAgB,YAAW;AAAA,KAAS,GAAC,GACtC,mDAAC,wCACC,mDAAC;AAAA,IACC,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,GACA,mDAAC;AAAA,IAAgB,YAAW;AAAA,KAAS,GAAC,GACtC,mDAAC,wCACC,mDAAC;AAAA,IACC,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,CACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\n\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { MMInput } from './MMInput';\nimport { DDInput } from './DDInput';\nimport { YYYYInput } from './YYYYInput';\nimport { StyledFocusWithIn, StyledSeparator } from '../Styleds';\nimport { useDateInputs } from './useDateInputs';\nimport { fixedValues } from '../config';\n\nexport const DateInputs = (): JSX.Element => {\n const {\n month,\n day,\n year,\n autoFocusMonthInput,\n innerRefMonthInput,\n onMonthChange,\n onDayChange,\n onYearChange,\n onMonthBlur,\n onDayBlur,\n onYearBlur,\n onMonthFocus,\n onDayFocus,\n onYearFocus,\n onMonthKeyDown,\n onDayKeyDown,\n onYearKeyDown,\n disabled,\n } = useDateInputs();\n // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo\n const {\n monthInputRef,\n dayInputRef,\n yearInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.largeInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <MMInput\n onChange={onMonthChange}\n onBlur={onMonthBlur}\n onFocus={onMonthFocus}\n onKeyDown={onMonthKeyDown}\n value={month}\n contextRef={monthInputRef}\n innerRef={innerRefMonthInput}\n autoFocusMonthInput={autoFocusMonthInput}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'month-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator alignItems=\"center\">/</StyledSeparator>\n <StyledFocusWithIn>\n <DDInput\n onChange={onDayChange}\n onBlur={onDayBlur}\n onFocus={onDayFocus}\n onKeyDown={onDayKeyDown}\n value={day}\n contextRef={dayInputRef}\n placeholder=\"DD\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'day-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator alignItems=\"center\">/</StyledSeparator>\n <StyledFocusWithIn>\n <YYYYInput\n onChange={onYearChange}\n onBlur={onYearBlur}\n onFocus={onYearFocus}\n onKeyDown={onYearKeyDown}\n value={year}\n contextRef={yearInputRef}\n placeholder=\"YYYY\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'date-inputs' && currFocusDescriber === 'year-input'}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAkC;AAClC,qBAAqB;AAErB,yCAAgD;AAChD,qBAAwB;AACxB,qBAAwB;AACxB,uBAA0B;AAC1B,qBAAmD;AACnD,2BAA8B;AAC9B,oBAA4B;AAErB,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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,oCAAc;AAElB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,kEAA+B;AAE9C,SACE,6CAAC;AAAA,IACC,MAAM;AAAA,MACJ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,MACZ,0BAAY;AAAA,IACd;AAAA,IAEA;AAAA,kDAAC;AAAA,QACC,sDAAC;AAAA,UACC,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,UAAU;AAAA,UACV;AAAA,UACA,aAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,SACjF;AAAA,OACF;AAAA,MACA,4CAAC;AAAA,QAAgB,YAAW;AAAA,QAAS;AAAA,OAAC;AAAA,MACtC,4CAAC;AAAA,QACC,sDAAC;AAAA,UACC,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,aAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,SACjF;AAAA,OACF;AAAA,MACA,4CAAC;AAAA,QAAgB,YAAW;AAAA,QAAS;AAAA,OAAC;AAAA,MACtC,4CAAC;AAAA,QACC,sDAAC;AAAA,UACC,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,aAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,SACjF;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var MMInput_exports = {};
23
26
  __export(MMInput_exports, {
@@ -25,7 +28,9 @@ __export(MMInput_exports, {
25
28
  });
26
29
  module.exports = __toCommonJS(MMInput_exports);
27
30
  var React = __toESM(require("react"));
31
+ var import_jsx_runtime = require("react/jsx-runtime");
28
32
  var import_react = __toESM(require("react"));
33
+ var import_ds_utilities = require("@elliemae/ds-utilities");
29
34
  var import_Styleds = require("../Styleds");
30
35
  var import_ControlledDateTimePickerDatatestid = require("../../ControlledDateTimePickerDatatestid");
31
36
  const regExpNumbers = /^[0-9]+$/;
@@ -35,43 +40,59 @@ const isInvalidMonth = (month) => {
35
40
  const numberOnly = regExpNumbers.test(month);
36
41
  return month.length > 2 || month === "00" || !numberOnly || Number.parseInt(month, 10) > 12;
37
42
  };
38
- const MMInput = import_react.default.memo(({
39
- onChange,
40
- onBlur,
41
- onFocus,
42
- onKeyDown,
43
- value,
44
- disabled,
45
- placeholder,
46
- contextRef,
47
- autoFocusMonthInput,
48
- ariaCurrentValueForInputs,
49
- isFocused
50
- }) => {
51
- const validateOnChange = (0, import_react.useCallback)((e) => {
52
- if (isInvalidMonth(e?.target?.value)) {
53
- e.preventDefault();
54
- return;
55
- }
56
- onChange(e);
57
- }, [onChange]);
58
- return /* @__PURE__ */ import_react.default.createElement(import_Styleds.Styled2DigitsInput, {
59
- autoFocus: autoFocusMonthInput,
60
- onChange: validateOnChange,
43
+ const MMInput = import_react.default.memo(
44
+ ({
45
+ onChange,
61
46
  onBlur,
62
47
  onFocus,
63
48
  onKeyDown,
64
49
  value,
65
- ref: (DomElem) => {
66
- contextRef.current = DomElem;
67
- if (isFocused)
68
- DomElem?.focus?.();
69
- },
70
- placeholder,
71
- "aria-label": `month input field, ${ariaCurrentValueForInputs}`,
72
- "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
73
50
  disabled,
74
- "aria-disabled": disabled
75
- });
76
- });
51
+ placeholder,
52
+ contextRef,
53
+ innerRef,
54
+ autoFocusMonthInput,
55
+ ariaCurrentValueForInputs,
56
+ isFocused
57
+ }) => {
58
+ const validateOnChange = (0, import_react.useCallback)(
59
+ (e) => {
60
+ if (isInvalidMonth(e?.target?.value)) {
61
+ e.preventDefault();
62
+ return;
63
+ }
64
+ onChange(e);
65
+ },
66
+ [onChange]
67
+ );
68
+ const handleRef = (0, import_react.useCallback)(
69
+ (DomElem) => {
70
+ contextRef.current = DomElem;
71
+ if (isFocused)
72
+ DomElem?.focus?.();
73
+ },
74
+ [contextRef, isFocused]
75
+ );
76
+ const currentRef = (0, import_react.useMemo)(() => {
77
+ if (innerRef) {
78
+ return (0, import_ds_utilities.setMultipleRefs)([handleRef, innerRef]);
79
+ }
80
+ return handleRef;
81
+ }, [handleRef, innerRef]);
82
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.Styled2DigitsInput, {
83
+ autoFocus: autoFocusMonthInput,
84
+ onChange: validateOnChange,
85
+ onBlur,
86
+ onFocus,
87
+ onKeyDown,
88
+ value,
89
+ ref: currentRef,
90
+ placeholder,
91
+ "aria-label": `month input field, ${ariaCurrentValueForInputs}`,
92
+ "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
93
+ disabled,
94
+ "aria-disabled": disabled
95
+ });
96
+ }
97
+ );
77
98
  //# sourceMappingURL=MMInput.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/DateInputs/MMInput.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMonth = (month: string) => {\n if (month === '') return false;\n const numberOnly = regExpNumbers.test(month);\n return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;\n};\ninterface MMInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n autoFocusMonthInput: boolean;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n}\nexport const MMInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n contextRef,\n autoFocusMonthInput,\n ariaCurrentValueForInputs,\n isFocused,\n }: MMInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMonth(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n autoFocus={autoFocusMonthInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n (contextRef as React.MutableRefObject<HTMLInputElement>).current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`month input field, ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAmC;AACnC,qBAAmC;AACnC,gDAAmD;AAGnD,MAAM,gBAAgB;AACtB,MAAM,iBAAiB,CAAC,UAAkB;AACxC,MAAI,UAAU;AAAI,WAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAcO,MAAM,UAAU,qBAAM,KAC3B,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiC;AACjC,QAAM,mBAAmB,8BACvB,CAAC,MAA2C;AAC1C,QAAI,eAAe,GAAG,QAAQ,KAAK,GAAG;AACpC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,mDAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,MAAC,WAAwD,UAAU;AACnE,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,sBAAsB;AAAA,IAClC,eAAa,6EAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useCallback, useMemo } from 'react';\nimport { setMultipleRefs } from '@elliemae/ds-utilities';\nimport { Styled2DigitsInput } from '../Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMonth = (month: string) => {\n if (month === '') return false;\n const numberOnly = regExpNumbers.test(month);\n return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;\n};\ninterface MMInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n autoFocusMonthInput: boolean;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n innerRef: React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>;\n}\nexport const MMInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n contextRef,\n innerRef,\n autoFocusMonthInput,\n ariaCurrentValueForInputs,\n isFocused,\n }: MMInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMonth(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n\n const handleRef = useCallback(\n (DomElem: HTMLInputElement) => {\n (contextRef as React.MutableRefObject<HTMLInputElement>).current = DomElem;\n if (isFocused) DomElem?.focus?.();\n },\n [contextRef, isFocused],\n );\n\n const currentRef = useMemo(() => {\n if (innerRef) {\n return setMultipleRefs([handleRef, innerRef]);\n }\n return handleRef;\n }, [handleRef, innerRef]);\n\n return (\n <Styled2DigitsInput\n autoFocus={autoFocusMonthInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={currentRef}\n placeholder={placeholder}\n aria-label={`month input field, ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA4C;AAC5C,0BAAgC;AAChC,qBAAmC;AACnC,gDAAmD;AAGnD,MAAM,gBAAgB;AACtB,MAAM,iBAAiB,CAAC,UAAkB;AACxC,MAAI,UAAU;AAAI,WAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAeO,MAAM,UAAU,aAAAA,QAAM;AAAA,EAC3B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAmC;AACjC,UAAM,uBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,eAAe,GAAG,QAAQ,KAAK,GAAG;AACpC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AAEA,UAAM,gBAAY;AAAA,MAChB,CAAC,YAA8B;AAC7B,QAAC,WAAwD,UAAU;AACnE,YAAI;AAAW,mBAAS,QAAQ;AAAA,MAClC;AAAA,MACA,CAAC,YAAY,SAAS;AAAA,IACxB;AAEA,UAAM,iBAAa,sBAAQ,MAAM;AAC/B,UAAI,UAAU;AACZ,mBAAO,qCAAgB,CAAC,WAAW,QAAQ,CAAC;AAAA,MAC9C;AACA,aAAO;AAAA,IACT,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,WACE,4CAAC;AAAA,MACC,WAAW;AAAA,MACX,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,cAAY,sBAAsB;AAAA,MAClC,eAAa,6EAAmC,YAAY;AAAA,MAC5D;AAAA,MACA,iBAAe;AAAA,KACjB;AAAA,EAEJ;AACF;",
6
+ "names": ["React"]
7
7
  }
@@ -17,7 +17,10 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
21
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
25
  var YYYYInput_exports = {};
23
26
  __export(YYYYInput_exports, {
@@ -25,6 +28,7 @@ __export(YYYYInput_exports, {
25
28
  });
26
29
  module.exports = __toCommonJS(YYYYInput_exports);
27
30
  var React = __toESM(require("react"));
31
+ var import_jsx_runtime = require("react/jsx-runtime");
28
32
  var import_react = __toESM(require("react"));
29
33
  var import_ControlledDateTimePickerDatatestid = require("../../ControlledDateTimePickerDatatestid");
30
34
  var import_Styleds = require("../Styleds");
@@ -35,41 +39,46 @@ const isInvalidYear = (year) => {
35
39
  const numberOnly = regExpNumbers.test(year);
36
40
  return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;
37
41
  };
38
- const YYYYInput = import_react.default.memo(({
39
- onChange,
40
- onBlur,
41
- onFocus,
42
- onKeyDown,
43
- value,
44
- disabled,
45
- placeholder,
46
- contextRef,
47
- ariaCurrentValueForInputs,
48
- isFocused
49
- }) => {
50
- const validateOnChange = (0, import_react.useCallback)((e) => {
51
- if (isInvalidYear(e?.target?.value)) {
52
- e.preventDefault();
53
- return;
54
- }
55
- onChange(e);
56
- }, [onChange]);
57
- return /* @__PURE__ */ import_react.default.createElement(import_Styleds.StyledMin4DigitsInput, {
58
- onChange: validateOnChange,
42
+ const YYYYInput = import_react.default.memo(
43
+ ({
44
+ onChange,
59
45
  onBlur,
60
46
  onFocus,
61
47
  onKeyDown,
62
48
  value,
63
- ref: (DomElem) => {
64
- contextRef.current = DomElem;
65
- if (isFocused)
66
- DomElem?.focus?.();
67
- },
68
- placeholder,
69
- "aria-label": `year input field, ${ariaCurrentValueForInputs}`,
70
- "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
71
49
  disabled,
72
- "aria-disabled": disabled
73
- });
74
- });
50
+ placeholder,
51
+ contextRef,
52
+ ariaCurrentValueForInputs,
53
+ isFocused
54
+ }) => {
55
+ const validateOnChange = (0, import_react.useCallback)(
56
+ (e) => {
57
+ if (isInvalidYear(e?.target?.value)) {
58
+ e.preventDefault();
59
+ return;
60
+ }
61
+ onChange(e);
62
+ },
63
+ [onChange]
64
+ );
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Styleds.StyledMin4DigitsInput, {
66
+ onChange: validateOnChange,
67
+ onBlur,
68
+ onFocus,
69
+ onKeyDown,
70
+ value,
71
+ ref: (DomElem) => {
72
+ contextRef.current = DomElem;
73
+ if (isFocused)
74
+ DomElem?.focus?.();
75
+ },
76
+ placeholder,
77
+ "aria-label": `year input field, ${ariaCurrentValueForInputs}`,
78
+ "data-testid": import_ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
79
+ disabled,
80
+ "aria-disabled": disabled
81
+ });
82
+ }
83
+ );
75
84
  //# sourceMappingURL=YYYYInput.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/DateInputs/YYYYInput.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport { StyledMin4DigitsInput } from '../Styleds';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidYear = (year: string) => {\n if (year === '') return false;\n const numberOnly = regExpNumbers.test(year);\n return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;\n};\n\ninterface YYYYInputsPropsT {\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 YYYYInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n contextRef,\n ariaCurrentValueForInputs,\n isFocused,\n }: YYYYInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidYear(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <StyledMin4DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n (contextRef as React.MutableRefObject<HTMLInputElement>).current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`year input field, ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAmC;AACnC,gDAAmD;AACnD,qBAAsC;AAGtC,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,SAAiB;AACtC,MAAI,SAAS;AAAI,WAAO;AACxB,QAAM,aAAa,cAAc,KAAK,IAAI;AAC1C,SAAO,KAAK,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,MAAM,EAAE,IAAI;AACvE;AAcO,MAAM,YAAY,qBAAM,KAC7B,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACmC;AACnC,QAAM,mBAAmB,8BACvB,CAAC,MAA2C;AAC1C,QAAI,cAAc,GAAG,QAAQ,KAAK,GAAG;AACnC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,mDAAC;AAAA,IACC,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,MAAC,WAAwD,UAAU;AACnE,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,qBAAqB;AAAA,IACjC,eAAa,6EAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
6
- "names": []
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAmC;AACnC,gDAAmD;AACnD,qBAAsC;AAGtC,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,SAAiB;AACtC,MAAI,SAAS;AAAI,WAAO;AACxB,QAAM,aAAa,cAAc,KAAK,IAAI;AAC1C,SAAO,KAAK,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,MAAM,EAAE,IAAI;AACvE;AAcO,MAAM,YAAY,aAAAA,QAAM;AAAA,EAC7B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAqC;AACnC,UAAM,uBAAmB;AAAA,MACvB,CAAC,MAA2C;AAC1C,YAAI,cAAc,GAAG,QAAQ,KAAK,GAAG;AACnC,YAAE,eAAe;AACjB;AAAA,QACF;AACA,iBAAS,CAAC;AAAA,MACZ;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,WACE,4CAAC;AAAA,MACC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK,CAAC,YAA8B;AAClC,QAAC,WAAwD,UAAU;AACnE,YAAI;AAAW,mBAAS,QAAQ;AAAA,MAClC;AAAA,MACA;AAAA,MACA,cAAY,qBAAqB;AAAA,MACjC,eAAa,6EAAmC,YAAY;AAAA,MAC5D;AAAA,MACA,iBAAe;AAAA,KACjB;AAAA,EAEJ;AACF;",
6
+ "names": ["React"]
7
7
  }