@elliemae/ds-controlled-form 1.55.0-next.9 → 1.55.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +10 -9
  2. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  3. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +10 -9
  4. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  5. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +10 -9
  6. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  7. package/cjs/controlled-date-range-picker/index.js +10 -9
  8. package/cjs/controlled-date-range-picker/index.js.map +1 -1
  9. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +10 -9
  10. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  11. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -11
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +10 -9
  14. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  15. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +10 -9
  16. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  17. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +10 -9
  18. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  19. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  20. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  21. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +56 -4
  22. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  23. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +148 -0
  24. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -0
  25. package/cjs/controlled-date-time-picker/config/useValidateProps.js +1 -0
  26. package/cjs/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  27. package/cjs/controlled-date-time-picker/index.js +10 -9
  28. package/cjs/controlled-date-time-picker/index.js.map +1 -1
  29. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +8 -6
  30. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  31. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +8 -8
  32. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +4 -3
  33. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  34. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +11 -6
  35. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  36. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +4 -3
  37. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  38. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +4 -3
  39. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  40. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +5 -29
  41. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  42. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +6 -4
  43. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  44. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -2
  45. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  46. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +14 -7
  47. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  49. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  50. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -8
  51. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  52. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +1 -0
  53. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  54. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -33
  55. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  56. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +16 -11
  57. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  58. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +9 -2
  59. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  60. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -1
  61. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  62. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +6 -2
  63. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  64. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -13
  65. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  66. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +105 -86
  67. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  68. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +39 -4
  69. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  70. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -0
  71. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  72. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -0
  73. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  74. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +1 -0
  75. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  76. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  77. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -9
  78. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +9 -9
  79. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  80. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  81. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  82. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +5 -2
  83. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  84. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +39 -11
  85. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  86. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +8 -7
  87. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  88. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +27 -17
  89. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  90. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  91. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  92. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +9 -9
  93. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +15 -18
  94. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  95. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +16 -23
  96. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  97. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +16 -19
  98. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  99. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +7 -9
  100. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  101. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +62 -56
  102. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  103. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  104. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  105. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -5
  106. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  107. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  108. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  109. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -1
  110. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
  111. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  112. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -5
  113. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  114. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +7 -4
  115. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  116. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +1 -0
  117. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  118. package/cjs/controlled-date-time-picker/parts/Styleds.js +4 -5
  119. package/cjs/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  120. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -2
  121. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  122. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -2
  123. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  124. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +3 -2
  125. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  126. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +1 -1
  127. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +10 -4
  128. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  129. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +8 -31
  130. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  131. package/cjs/controlled-date-time-picker/utils/constants.js +44 -0
  132. package/cjs/controlled-date-time-picker/utils/constants.js.map +1 -0
  133. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +2 -2
  134. package/cjs/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  135. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +3 -2
  136. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  137. package/cjs/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js +1 -0
  138. package/cjs/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  139. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -0
  140. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  141. package/cjs/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js +1 -0
  142. package/cjs/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  143. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +16 -0
  144. package/cjs/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  145. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -0
  146. package/cjs/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  147. package/cjs/index.js +10 -9
  148. package/cjs/index.js.map +1 -1
  149. package/controlled-date-time-picker/config/useGetDestructuredValues/package.json +10 -0
  150. package/controlled-date-time-picker/utils/constants/package.json +10 -0
  151. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js +10 -9
  152. package/esm/controlled-date-range-picker/ControlledDateRangePicker.js.map +1 -1
  153. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +10 -9
  154. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  155. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +10 -9
  156. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  157. package/esm/controlled-date-range-picker/index.js +10 -9
  158. package/esm/controlled-date-range-picker/index.js.map +1 -1
  159. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +10 -9
  160. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js.map +1 -1
  161. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -11
  162. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  163. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +10 -9
  164. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js.map +1 -1
  165. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +10 -9
  166. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js.map +1 -1
  167. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js +10 -9
  168. package/esm/controlled-date-time-picker/ControlledDateTimePicker.js.map +1 -1
  169. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +26 -4
  170. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js.map +1 -1
  171. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +56 -4
  172. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  173. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +142 -0
  174. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js.map +1 -0
  175. package/esm/controlled-date-time-picker/config/useValidateProps.js +1 -0
  176. package/esm/controlled-date-time-picker/config/useValidateProps.js.map +1 -1
  177. package/esm/controlled-date-time-picker/index.js +10 -9
  178. package/esm/controlled-date-time-picker/index.js.map +1 -1
  179. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +7 -5
  180. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js.map +1 -1
  181. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +8 -8
  182. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +4 -3
  183. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js.map +1 -1
  184. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +11 -6
  185. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js.map +1 -1
  186. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +4 -3
  187. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js.map +1 -1
  188. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +4 -3
  189. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js.map +1 -1
  190. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +8 -31
  191. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  192. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +6 -4
  193. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js.map +1 -1
  194. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -2
  195. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
  196. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -8
  197. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
  198. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +4 -0
  199. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
  200. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +36 -9
  201. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
  202. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +1 -0
  203. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
  204. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +36 -33
  205. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
  206. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +15 -9
  207. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
  208. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +9 -2
  209. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
  210. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -2
  211. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
  212. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +6 -2
  213. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  214. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +25 -13
  215. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  216. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +103 -85
  217. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js.map +1 -1
  218. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +39 -5
  219. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
  220. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -0
  221. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
  222. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +1 -0
  223. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
  224. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +1 -0
  225. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
  226. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
  227. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -9
  228. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +9 -9
  229. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
  230. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -0
  231. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
  232. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +5 -2
  233. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
  234. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +38 -9
  235. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
  236. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +8 -7
  237. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  238. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +27 -18
  239. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
  240. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +5 -3
  241. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
  242. package/esm/controlled-date-time-picker/parts/Pickers/PickersIcons.js +9 -9
  243. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +15 -16
  244. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  245. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +16 -21
  246. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
  247. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +16 -17
  248. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  249. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +7 -9
  250. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  251. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +62 -56
  252. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
  253. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  254. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
  255. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -5
  256. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
  257. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -0
  258. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
  259. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +1 -1
  260. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -9
  261. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
  262. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +6 -5
  263. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  264. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +7 -4
  265. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
  266. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +1 -0
  267. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
  268. package/esm/controlled-date-time-picker/parts/Styleds.js +4 -4
  269. package/esm/controlled-date-time-picker/parts/Styleds.js.map +1 -1
  270. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +3 -2
  271. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js.map +1 -1
  272. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -2
  273. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js.map +1 -1
  274. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +3 -2
  275. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js.map +1 -1
  276. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +1 -1
  277. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +10 -4
  278. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js.map +1 -1
  279. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +9 -32
  280. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js.map +1 -1
  281. package/esm/controlled-date-time-picker/utils/constants.js +38 -0
  282. package/esm/controlled-date-time-picker/utils/constants.js.map +1 -0
  283. package/esm/controlled-date-time-picker/utils/dateHelpers.js +1 -1
  284. package/esm/controlled-date-time-picker/utils/dateHelpers.js.map +1 -1
  285. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +3 -2
  286. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  287. package/esm/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js +1 -0
  288. package/esm/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.js.map +1 -1
  289. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -0
  290. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
  291. package/esm/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js +1 -0
  292. package/esm/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
  293. package/esm/controlled-date-time-picker/utils/stringHelpers.js +16 -1
  294. package/esm/controlled-date-time-picker/utils/stringHelpers.js.map +1 -1
  295. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -0
  296. package/esm/controlled-date-time-picker/utils/timeHelpers.js.map +1 -1
  297. package/esm/index.js +10 -9
  298. package/esm/index.js.map +1 -1
  299. package/package.json +10 -5
@@ -2,6 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
3
3
  import React, { useRef, useMemo, useState, useCallback } from 'react';
4
4
  import { useGetDatePickerWithDefaultsProps } from './useGetPropsWithDefault.js';
5
+ import { useGetDestructuredValues } from './useGetDestructuredValues.js';
5
6
  import { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes.js';
6
7
  import { useValidateProps } from './useValidateProps.js';
7
8
  import { getValidationDateStringMetaInfo } from '../utils/dateHelpers.js';
@@ -9,8 +10,9 @@ import { getValidationTimeStringMetaInfo } from '../utils/timeHelpers.js';
9
10
  import { dateTimeToDate, dateTimeToTime, isEmptyDateStringMask, isEmptyTimeStringMask, isEmptyDateTimeStringMask } from '../utils/stringHelpers.js';
10
11
  import '@elliemae/ds-props-helpers';
11
12
  import '../ControlledDateTimePickerCTX.js';
12
- import '@babel/runtime/helpers/esm/typeof';
13
13
  import '../utils/numberHelpers.js';
14
+ import '../utils/constants.js';
15
+ import '@babel/runtime/helpers/esm/typeof';
14
16
  import '@babel/runtime/helpers/esm/toConsumableArray';
15
17
 
16
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -61,7 +63,10 @@ var useControlledDateTimePicker = function useControlledDateTimePicker(props) {
61
63
  appOnYearChange = propsWithDefaults.onYearChange,
62
64
  appOnHourChange = propsWithDefaults.onHourChange,
63
65
  appOnMinuteChange = propsWithDefaults.onMinuteChange,
64
- appOnMeridiemChange = propsWithDefaults.onMeridiemChange;
66
+ appOnMeridiemChange = propsWithDefaults.onMeridiemChange,
67
+ appDate = propsWithDefaults.date,
68
+ appTime = propsWithDefaults.time,
69
+ appDateTime = propsWithDefaults.dateTime;
65
70
  var dateStringFromProps = useMemo(function () {
66
71
  return propsWithDefaults.dateTime && propsWithDefaults.dateTime !== '' ? dateTimeToDate(propsWithDefaults.dateTime) : propsWithDefaults.date && propsWithDefaults.date !== '' ? propsWithDefaults.date : '__/__/____';
67
72
  }, [propsWithDefaults.date, propsWithDefaults.dateTime]); // don't use tempDateString to trigger useEffect for onDateChange
@@ -115,6 +120,33 @@ var useControlledDateTimePicker = function useControlledDateTimePicker(props) {
115
120
  latestInteractionRegion = _useState6[0],
116
121
  setLatestInteractionRegion = _useState6[1];
117
122
 
123
+ var _useGetDestructuredVa = useGetDestructuredValues({
124
+ date: appDate,
125
+ time: appTime,
126
+ dateTime: appDateTime,
127
+ isDateTimeSelector: isDateTimeSelector
128
+ }),
129
+ month = _useGetDestructuredVa.month,
130
+ day = _useGetDestructuredVa.day,
131
+ year = _useGetDestructuredVa.year,
132
+ monthNum = _useGetDestructuredVa.monthNum,
133
+ dayNum = _useGetDestructuredVa.dayNum,
134
+ yearNum = _useGetDestructuredVa.yearNum,
135
+ announcedMonth = _useGetDestructuredVa.announcedMonth,
136
+ announcedDay = _useGetDestructuredVa.announcedDay,
137
+ announcedYear = _useGetDestructuredVa.announcedYear,
138
+ announcedDateValues = _useGetDestructuredVa.announcedDateValues,
139
+ hours = _useGetDestructuredVa.hours,
140
+ minutes = _useGetDestructuredVa.minutes,
141
+ meridiem = _useGetDestructuredVa.meridiem,
142
+ hoursNum = _useGetDestructuredVa.hoursNum,
143
+ minutesNum = _useGetDestructuredVa.minutesNum,
144
+ announcedHours = _useGetDestructuredVa.announcedHours,
145
+ announcedMinutes = _useGetDestructuredVa.announcedMinutes,
146
+ announcedMeridiem = _useGetDestructuredVa.announcedMeridiem,
147
+ announcedTimeValues = _useGetDestructuredVa.announcedTimeValues;
148
+
149
+ var ariaCurrentValueForInputs = "current values: ".concat(isWithDateInputs ? "".concat(announcedDateValues) : '').concat(isDateTimeSelector ? ', ' : '').concat(isWithTimeInputs ? "".concat(announcedTimeValues) : '');
118
150
  var getDateMetaInfo = useCallback(function () {
119
151
  var newDateString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
120
152
  var metaInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -274,9 +306,29 @@ var useControlledDateTimePicker = function useControlledDateTimePicker(props) {
274
306
  withAnyPicker: withAnyPicker,
275
307
  withClearBtn: withClearBtn,
276
308
  withAnyRightController: withAnyRightController,
277
- shouldPreserveClearableSpace: shouldPreserveClearableSpace
309
+ shouldPreserveClearableSpace: shouldPreserveClearableSpace,
310
+ month: month,
311
+ day: day,
312
+ year: year,
313
+ monthNum: monthNum,
314
+ dayNum: dayNum,
315
+ yearNum: yearNum,
316
+ announcedMonth: announcedMonth,
317
+ announcedDay: announcedDay,
318
+ announcedYear: announcedYear,
319
+ announcedDateValues: announcedDateValues,
320
+ hours: hours,
321
+ minutes: minutes,
322
+ meridiem: meridiem,
323
+ hoursNum: hoursNum,
324
+ minutesNum: minutesNum,
325
+ announcedHours: announcedHours,
326
+ announcedMinutes: announcedMinutes,
327
+ announcedMeridiem: announcedMeridiem,
328
+ announcedTimeValues: announcedTimeValues,
329
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs
278
330
  };
279
- }, [propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace] // refs are mutable so we don't need to listen to them
331
+ }, [propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace, month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues, ariaCurrentValueForInputs] // refs are mutable so we don't need to listen to them
280
332
  );
281
333
  return ctx;
282
334
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useControlledDateTimePicker.js","sources":["../../../../src/controlled-date-time-picker/config/useControlledDateTimePicker.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useCallback, useMemo } from 'react';\nimport { useGetDatePickerWithDefaultsProps } from './useGetPropsWithDefault';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes';\nimport { useValidateProps } from './useValidateProps';\nimport { getValidationDateStringMetaInfo } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport {\n isEmptyDateStringMask,\n isEmptyTimeStringMask,\n isEmptyDateTimeStringMask,\n dateTimeToTime,\n dateTimeToDate,\n} from '../utils/stringHelpers';\nimport type {\n DateTimePickerPropsT,\n ControlledDateTimePickerContextT,\n latestInteractionRegionT,\n onClearClickT,\n} from '../index.d';\n\nexport const useControlledDateTimePicker = (props: Partial<DateTimePickerPropsT>): ControlledDateTimePickerContextT => {\n // if we detect wrong props configuration we throw meaningful errors\n useValidateProps(props);\n\n // refs are used for \"auto-advance\" feature\n const monthInputRef = useRef<HTMLInputElement>();\n const dayInputRef = useRef<HTMLInputElement>();\n const yearInputRef = useRef<HTMLInputElement>();\n const hourInputRef = useRef<HTMLInputElement>();\n const minutesInputRef = useRef<HTMLInputElement>();\n // const secondsInputRef = useRef<HTMLInputElement>();\n const meridiemInputRef = useRef<HTMLInputElement>();\n const clearButtonRef = useRef<HTMLButtonElement>();\n const pickerButtonRef = useRef<HTMLButtonElement>();\n\n const prevYearBtnRef = useRef<HTMLButtonElement>();\n const prevMonthBtnRef = useRef<HTMLButtonElement>();\n const nextMonthBtnRef = useRef<HTMLButtonElement>();\n const nextYearBtnRef = useRef<HTMLButtonElement>();\n const calendarDaysWrapperRef = useRef<HTMLDivElement>();\n\n const prevHourBtnRef = useRef<HTMLButtonElement>();\n const currHourBtnRef = useRef<HTMLButtonElement>();\n const nextHourBtnRef = useRef<HTMLButtonElement>();\n const prevMinutesBtnRef = useRef<HTMLButtonElement>();\n const currMinutesBtnRef = useRef<HTMLButtonElement>();\n const nextMinutesBtnRef = useRef<HTMLButtonElement>();\n // const prevSecondsBtnRef = useRef<HTMLButtonElement>();\n // const currSecondsBtnRef = useRef<HTMLButtonElement>();\n // const nextSecondsBtnRef = useRef<HTMLButtonElement>();\n const prevMeridiemBtnRef = useRef<HTMLButtonElement>();\n const currMeridiemBtnRef = useRef<HTMLButtonElement>();\n const nextMeridiemBtnRef = useRef<HTMLButtonElement>();\n\n const propsWithDefaults = useGetDatePickerWithDefaultsProps(props);\n const {\n type,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n getIsDisabledTime,\n isClearable,\n autoFocus,\n onDateChange: appOnDateChange,\n onDateTimeChange: appOnDateTimeChange,\n onTimeChange: appOnTimeChange,\n onMonthChange: appOnMonthChange,\n onDayChange: appOnDayChange,\n onYearChange: appOnYearChange,\n onHourChange: appOnHourChange,\n onMinuteChange: appOnMinuteChange,\n onMeridiemChange: appOnMeridiemChange,\n } = propsWithDefaults;\n\n const dateStringFromProps = useMemo(\n () =>\n propsWithDefaults.dateTime && propsWithDefaults.dateTime !== ''\n ? dateTimeToDate(propsWithDefaults.dateTime)\n : propsWithDefaults.date && propsWithDefaults.date !== ''\n ? propsWithDefaults.date\n : '__/__/____',\n [propsWithDefaults.date, propsWithDefaults.dateTime],\n );\n // don't use tempDateString to trigger useEffect for onDateChange\n // that is an anti-pattern and leads to a lot of issue\n // if you don't believe me, check date-time-picker v1 which is doing it\n const [tempDateString, setTempDateString] = useState(dateStringFromProps);\n\n const timeStringFromProps = useMemo(\n () =>\n propsWithDefaults.dateTime && propsWithDefaults.dateTime !== ''\n ? dateTimeToTime(propsWithDefaults.dateTime)\n : propsWithDefaults.time && propsWithDefaults.time !== ''\n ? propsWithDefaults.time\n : '__:__ __',\n [propsWithDefaults.time, propsWithDefaults.dateTime],\n );\n // don't use tempTimeString to trigger useEffect for onTimeChange\n // that is an anti-pattern and leads to a lot of issue\n // if you don't believe me, check date-time-picker v1 which is doing it\n const [tempTimeString, setTimeString] = useState(timeStringFromProps);\n\n const hideDate =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS;\n const hideTime =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS;\n const hideDateTimePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n const hideDatePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY;\n const hideTimePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isDateSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY;\n const isTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isDateTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n\n const isControllerOnly =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isWithTimeWheelToo =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n const isWithCalendarToo =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n\n const withAnyInputs = !hideDate || !hideTime;\n const withAnyPicker = !hideDateTimePicker || !hideTimePicker || !hideDatePicker;\n const withClearBtn =\n isClearable &&\n withAnyInputs &&\n ((dateStringFromProps !== '__/__/____' && dateStringFromProps !== '') || // date is not \"empty-ish\"\n (timeStringFromProps !== '__:__ __' && timeStringFromProps !== '')); // or time is not \"empty-ish\"\n\n const isWithDateInputs = withAnyInputs && (isDateTimeSelector || isDateSelector);\n const isWithDateInputsOnly = withAnyInputs && isDateSelector;\n const isWithTimeInputs = withAnyInputs && (isDateTimeSelector || isTimeSelector);\n const isWithTimeInputsOnly = withAnyInputs && isTimeSelector;\n\n const autoFocusMonthInput = isWithDateInputs && autoFocus;\n const autoFocusHourInput = isWithTimeInputsOnly && autoFocus;\n const autoFocusPrevMonthArrow = isControllerOnly && autoFocus;\n const autoFocusHourTimeWheel = isControllerOnly && isTimeSelector && autoFocus;\n\n const shouldPreserveClearableSpace = isClearable && withAnyInputs;\n\n const withAnyRightController = withAnyPicker || withClearBtn || shouldPreserveClearableSpace;\n\n const [latestInteractionRegion, setLatestInteractionRegion] = useState<latestInteractionRegionT>('');\n\n const getDateMetaInfo = useCallback(\n (newDateString = null, metaInfo = {}) => {\n const finalDateString = newDateString || tempDateString;\n return {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay),\n };\n },\n [tempDateString, getIsDisabledDay, getIsOutOfRangeDay],\n );\n const getTimeMetaInfo = useCallback(\n (newTimeString = null, metaInfo = {}) => {\n const finalTimeString = newTimeString || tempTimeString;\n return {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(finalTimeString, getIsDisabledTime),\n };\n },\n [tempTimeString, getIsDisabledTime],\n );\n\n const handleChangeComposedDateTimeString = useCallback(\n (newDateString, newTimeString, metaInfo) => {\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTimeString(newTimeString);\n\n const newDateTimeString = `${newDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, appOnTimeChange, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedDateString = useCallback(\n (newDateString, metaInfo) => {\n // if we receive an \"empty\" mask, we comunicate empty string to the app\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n const newDateTimeString = `${newDateString} ${tempTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(tempTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString: tempTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, tempTimeString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedTimeString = useCallback(\n (newTimeString, metaInfo) => {\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n\n setTimeString(newTimeString);\n const newDateTimeString = `${tempDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(tempDateString, metaInfo),\n newDateTimeString,\n newDateString: tempDateString,\n newTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnTimeChange, tempDateString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n\n const handleClearAll: onClearClickT = useCallback(\n (e) => {\n const metaInfo = {\n isAutomaticFillTrigger: false,\n isClearButtonAction: true,\n newDateString: '',\n newTimeString: '',\n newDateTimeString: '',\n };\n const datePartsChangesMetainfo = { ...metaInfo };\n const timePartsChangesMetainfo = { ...metaInfo };\n\n if (isDateSelector || isDateTimeSelector) {\n delete datePartsChangesMetainfo.newDateTimeString;\n delete datePartsChangesMetainfo.newTimeString;\n appOnMonthChange('', e, datePartsChangesMetainfo);\n appOnDayChange('', e, datePartsChangesMetainfo);\n appOnYearChange('', e, datePartsChangesMetainfo);\n }\n if (isTimeSelector || isDateTimeSelector) {\n delete timePartsChangesMetainfo.newDateTimeString;\n delete timePartsChangesMetainfo.newDateString;\n appOnHourChange('', e, timePartsChangesMetainfo);\n appOnMinuteChange('', e, timePartsChangesMetainfo);\n appOnMeridiemChange('', e, timePartsChangesMetainfo);\n }\n if (isDateTimeSelector) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);\n if (isDateSelector) handleChangeComposedDateString('__/__/____', datePartsChangesMetainfo);\n if (isTimeSelector) handleChangeComposedTimeString('__:__ __', timePartsChangesMetainfo);\n\n setLatestInteractionRegion('clear-btn');\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n isDateSelector,\n isDateTimeSelector,\n isTimeSelector,\n ],\n );\n\n const ctx = React.useMemo(\n () => ({\n props: propsWithDefaults,\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n minutesInputRef,\n // secondsInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n dateStringFromProps,\n tempDateString,\n setTempDateString,\n tempTimeString,\n setTimeString,\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleClearAll,\n hideDate,\n hideTime,\n hideDateTimePicker,\n hideDatePicker,\n hideTimePicker,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n isControllerOnly,\n isWithTimeWheelToo,\n isWithCalendarToo,\n isWithDateInputs,\n isWithDateInputsOnly,\n isWithTimeInputs,\n isWithTimeInputsOnly,\n autoFocusMonthInput,\n autoFocusHourInput,\n autoFocusPrevMonthArrow,\n autoFocusHourTimeWheel,\n latestInteractionRegion,\n setLatestInteractionRegion,\n withAnyInputs,\n withAnyPicker,\n withClearBtn,\n withAnyRightController,\n shouldPreserveClearableSpace,\n }),\n [\n propsWithDefaults,\n dateStringFromProps,\n tempDateString,\n tempTimeString,\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleClearAll,\n hideDate,\n hideTime,\n hideDateTimePicker,\n hideDatePicker,\n hideTimePicker,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n isControllerOnly,\n isWithTimeWheelToo,\n isWithCalendarToo,\n isWithDateInputs,\n isWithDateInputsOnly,\n isWithTimeInputs,\n isWithTimeInputsOnly,\n autoFocusMonthInput,\n autoFocusHourInput,\n autoFocusPrevMonthArrow,\n autoFocusHourTimeWheel,\n latestInteractionRegion,\n withAnyInputs,\n withAnyPicker,\n withClearBtn,\n withAnyRightController,\n shouldPreserveClearableSpace,\n ], // refs are mutable so we don't need to listen to them\n );\n\n return ctx;\n};\n"],"names":["useControlledDateTimePicker","props","useValidateProps","monthInputRef","useRef","dayInputRef","yearInputRef","hourInputRef","minutesInputRef","meridiemInputRef","clearButtonRef","pickerButtonRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","propsWithDefaults","useGetDatePickerWithDefaultsProps","type","getIsDisabledDay","getIsOutOfRangeDay","getIsDisabledTime","isClearable","autoFocus","appOnDateChange","onDateChange","appOnDateTimeChange","onDateTimeChange","appOnTimeChange","onTimeChange","appOnMonthChange","onMonthChange","appOnDayChange","onDayChange","appOnYearChange","onYearChange","appOnHourChange","onHourChange","appOnMinuteChange","onMinuteChange","appOnMeridiemChange","onMeridiemChange","dateStringFromProps","useMemo","dateTime","dateTimeToDate","date","useState","tempDateString","setTempDateString","timeStringFromProps","dateTimeToTime","time","tempTimeString","setTimeString","hideDate","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","FULL","INPUTS","DATE","hideTime","TIME","hideDateTimePicker","PICKER","CONTROLLER_ONLY","hideDatePicker","hideTimePicker","isDateSelector","isTimeSelector","isDateTimeSelector","isControllerOnly","isWithTimeWheelToo","isWithCalendarToo","withAnyInputs","withAnyPicker","withClearBtn","isWithDateInputs","isWithDateInputsOnly","isWithTimeInputs","isWithTimeInputsOnly","autoFocusMonthInput","autoFocusHourInput","autoFocusPrevMonthArrow","autoFocusHourTimeWheel","shouldPreserveClearableSpace","withAnyRightController","latestInteractionRegion","setLatestInteractionRegion","getDateMetaInfo","useCallback","newDateString","metaInfo","finalDateString","getValidationDateStringMetaInfo","getTimeMetaInfo","newTimeString","finalTimeString","getValidationTimeStringMetaInfo","handleChangeComposedDateTimeString","appDateString","isEmptyDateStringMask","appTimeString","isEmptyTimeStringMask","newDateTimeString","newMetaInfo","appDateTimeString","isEmptyDateTimeStringMask","handleChangeComposedDateString","handleChangeComposedTimeString","handleClearAll","e","isAutomaticFillTrigger","isClearButtonAction","datePartsChangesMetainfo","timePartsChangesMetainfo","ctx","React"],"mappings":"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"}
1
+ {"version":3,"file":"useControlledDateTimePicker.js","sources":["../../../../src/controlled-date-time-picker/config/useControlledDateTimePicker.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useCallback, useMemo } from 'react';\nimport { useGetDatePickerWithDefaultsProps } from './useGetPropsWithDefault';\nimport { useGetDestructuredValues } from './useGetDestructuredValues';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes';\nimport { useValidateProps } from './useValidateProps';\nimport { getValidationDateStringMetaInfo } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport {\n isEmptyDateStringMask,\n isEmptyTimeStringMask,\n isEmptyDateTimeStringMask,\n dateTimeToTime,\n dateTimeToDate,\n} from '../utils/stringHelpers';\nimport type {\n DateTimePickerPropsT,\n ControlledDateTimePickerContextT,\n latestInteractionRegionT,\n onClearClickT,\n} from '../index.d';\n\nexport const useControlledDateTimePicker = (props: Partial<DateTimePickerPropsT>): ControlledDateTimePickerContextT => {\n // if we detect wrong props configuration we throw meaningful errors\n useValidateProps(props);\n\n // refs are used for \"auto-advance\" feature\n const monthInputRef = useRef<HTMLInputElement>();\n const dayInputRef = useRef<HTMLInputElement>();\n const yearInputRef = useRef<HTMLInputElement>();\n const hourInputRef = useRef<HTMLInputElement>();\n const minutesInputRef = useRef<HTMLInputElement>();\n // const secondsInputRef = useRef<HTMLInputElement>();\n const meridiemInputRef = useRef<HTMLInputElement>();\n const clearButtonRef = useRef<HTMLButtonElement>();\n const pickerButtonRef = useRef<HTMLButtonElement>();\n\n const prevYearBtnRef = useRef<HTMLButtonElement>();\n const prevMonthBtnRef = useRef<HTMLButtonElement>();\n const nextMonthBtnRef = useRef<HTMLButtonElement>();\n const nextYearBtnRef = useRef<HTMLButtonElement>();\n const calendarDaysWrapperRef = useRef<HTMLDivElement>();\n\n const prevHourBtnRef = useRef<HTMLButtonElement>();\n const currHourBtnRef = useRef<HTMLButtonElement>();\n const nextHourBtnRef = useRef<HTMLButtonElement>();\n const prevMinutesBtnRef = useRef<HTMLButtonElement>();\n const currMinutesBtnRef = useRef<HTMLButtonElement>();\n const nextMinutesBtnRef = useRef<HTMLButtonElement>();\n // const prevSecondsBtnRef = useRef<HTMLButtonElement>();\n // const currSecondsBtnRef = useRef<HTMLButtonElement>();\n // const nextSecondsBtnRef = useRef<HTMLButtonElement>();\n const prevMeridiemBtnRef = useRef<HTMLButtonElement>();\n const currMeridiemBtnRef = useRef<HTMLButtonElement>();\n const nextMeridiemBtnRef = useRef<HTMLButtonElement>();\n\n const propsWithDefaults = useGetDatePickerWithDefaultsProps(props);\n const {\n type,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n getIsDisabledTime,\n isClearable,\n autoFocus,\n onDateChange: appOnDateChange,\n onDateTimeChange: appOnDateTimeChange,\n onTimeChange: appOnTimeChange,\n onMonthChange: appOnMonthChange,\n onDayChange: appOnDayChange,\n onYearChange: appOnYearChange,\n onHourChange: appOnHourChange,\n onMinuteChange: appOnMinuteChange,\n onMeridiemChange: appOnMeridiemChange,\n date: appDate,\n time: appTime,\n dateTime: appDateTime,\n } = propsWithDefaults;\n\n const dateStringFromProps = useMemo(\n () =>\n propsWithDefaults.dateTime && propsWithDefaults.dateTime !== ''\n ? dateTimeToDate(propsWithDefaults.dateTime)\n : propsWithDefaults.date && propsWithDefaults.date !== ''\n ? propsWithDefaults.date\n : '__/__/____',\n [propsWithDefaults.date, propsWithDefaults.dateTime],\n );\n // don't use tempDateString to trigger useEffect for onDateChange\n // that is an anti-pattern and leads to a lot of issue\n // if you don't believe me, check date-time-picker v1 which is doing it\n const [tempDateString, setTempDateString] = useState(dateStringFromProps);\n\n const timeStringFromProps = useMemo(\n () =>\n propsWithDefaults.dateTime && propsWithDefaults.dateTime !== ''\n ? dateTimeToTime(propsWithDefaults.dateTime)\n : propsWithDefaults.time && propsWithDefaults.time !== ''\n ? propsWithDefaults.time\n : '__:__ __',\n [propsWithDefaults.time, propsWithDefaults.dateTime],\n );\n // don't use tempTimeString to trigger useEffect for onTimeChange\n // that is an anti-pattern and leads to a lot of issue\n // if you don't believe me, check date-time-picker v1 which is doing it\n const [tempTimeString, setTimeString] = useState(timeStringFromProps);\n\n const hideDate =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS;\n const hideTime =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS;\n const hideDateTimePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n const hideDatePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY;\n const hideTimePicker =\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER &&\n type !== CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isDateSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY;\n const isTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isDateTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n\n const isControllerOnly =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;\n const isWithTimeWheelToo =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n const isWithCalendarToo =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;\n\n const withAnyInputs = !hideDate || !hideTime;\n const withAnyPicker = !hideDateTimePicker || !hideTimePicker || !hideDatePicker;\n const withClearBtn =\n isClearable &&\n withAnyInputs &&\n ((dateStringFromProps !== '__/__/____' && dateStringFromProps !== '') || // date is not \"empty-ish\"\n (timeStringFromProps !== '__:__ __' && timeStringFromProps !== '')); // or time is not \"empty-ish\"\n\n const isWithDateInputs = withAnyInputs && (isDateTimeSelector || isDateSelector);\n const isWithDateInputsOnly = withAnyInputs && isDateSelector;\n const isWithTimeInputs = withAnyInputs && (isDateTimeSelector || isTimeSelector);\n const isWithTimeInputsOnly = withAnyInputs && isTimeSelector;\n\n const autoFocusMonthInput = isWithDateInputs && autoFocus;\n const autoFocusHourInput = isWithTimeInputsOnly && autoFocus;\n const autoFocusPrevMonthArrow = isControllerOnly && autoFocus;\n const autoFocusHourTimeWheel = isControllerOnly && isTimeSelector && autoFocus;\n\n const shouldPreserveClearableSpace = isClearable && withAnyInputs;\n\n const withAnyRightController = withAnyPicker || withClearBtn || shouldPreserveClearableSpace;\n\n const [latestInteractionRegion, setLatestInteractionRegion] = useState<latestInteractionRegionT>('');\n\n const {\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n } = useGetDestructuredValues({ date: appDate, time: appTime, dateTime: appDateTime, isDateTimeSelector });\n\n const ariaCurrentValueForInputs = `current values: ${isWithDateInputs ? `${announcedDateValues}` : ''}${\n isDateTimeSelector ? ', ' : ''\n }${isWithTimeInputs ? `${announcedTimeValues}` : ''}`;\n\n const getDateMetaInfo = useCallback(\n (newDateString = null, metaInfo = {}) => {\n const finalDateString = newDateString || tempDateString;\n return {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay),\n };\n },\n [tempDateString, getIsDisabledDay, getIsOutOfRangeDay],\n );\n const getTimeMetaInfo = useCallback(\n (newTimeString = null, metaInfo = {}) => {\n const finalTimeString = newTimeString || tempTimeString;\n return {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(finalTimeString, getIsDisabledTime),\n };\n },\n [tempTimeString, getIsDisabledTime],\n );\n\n const handleChangeComposedDateTimeString = useCallback(\n (newDateString, newTimeString, metaInfo) => {\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTimeString(newTimeString);\n\n const newDateTimeString = `${newDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, appOnTimeChange, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedDateString = useCallback(\n (newDateString, metaInfo) => {\n // if we receive an \"empty\" mask, we comunicate empty string to the app\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n const newDateTimeString = `${newDateString} ${tempTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(tempTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString: tempTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, tempTimeString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedTimeString = useCallback(\n (newTimeString, metaInfo) => {\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n\n setTimeString(newTimeString);\n const newDateTimeString = `${tempDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(tempDateString, metaInfo),\n newDateTimeString,\n newDateString: tempDateString,\n newTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnTimeChange, tempDateString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n\n const handleClearAll: onClearClickT = useCallback(\n (e) => {\n const metaInfo = {\n isAutomaticFillTrigger: false,\n isClearButtonAction: true,\n newDateString: '',\n newTimeString: '',\n newDateTimeString: '',\n };\n const datePartsChangesMetainfo = { ...metaInfo };\n const timePartsChangesMetainfo = { ...metaInfo };\n\n if (isDateSelector || isDateTimeSelector) {\n delete datePartsChangesMetainfo.newDateTimeString;\n delete datePartsChangesMetainfo.newTimeString;\n appOnMonthChange('', e, datePartsChangesMetainfo);\n appOnDayChange('', e, datePartsChangesMetainfo);\n appOnYearChange('', e, datePartsChangesMetainfo);\n }\n if (isTimeSelector || isDateTimeSelector) {\n delete timePartsChangesMetainfo.newDateTimeString;\n delete timePartsChangesMetainfo.newDateString;\n appOnHourChange('', e, timePartsChangesMetainfo);\n appOnMinuteChange('', e, timePartsChangesMetainfo);\n appOnMeridiemChange('', e, timePartsChangesMetainfo);\n }\n if (isDateTimeSelector) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);\n if (isDateSelector) handleChangeComposedDateString('__/__/____', datePartsChangesMetainfo);\n if (isTimeSelector) handleChangeComposedTimeString('__:__ __', timePartsChangesMetainfo);\n\n setLatestInteractionRegion('clear-btn');\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n isDateSelector,\n isDateTimeSelector,\n isTimeSelector,\n ],\n );\n\n const ctx = React.useMemo(\n () => ({\n props: propsWithDefaults,\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n minutesInputRef,\n // secondsInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n dateStringFromProps,\n tempDateString,\n setTempDateString,\n tempTimeString,\n setTimeString,\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleClearAll,\n hideDate,\n hideTime,\n hideDateTimePicker,\n hideDatePicker,\n hideTimePicker,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n isControllerOnly,\n isWithTimeWheelToo,\n isWithCalendarToo,\n isWithDateInputs,\n isWithDateInputsOnly,\n isWithTimeInputs,\n isWithTimeInputsOnly,\n autoFocusMonthInput,\n autoFocusHourInput,\n autoFocusPrevMonthArrow,\n autoFocusHourTimeWheel,\n latestInteractionRegion,\n setLatestInteractionRegion,\n withAnyInputs,\n withAnyPicker,\n withClearBtn,\n withAnyRightController,\n shouldPreserveClearableSpace,\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ariaCurrentValueForInputs,\n }),\n [\n propsWithDefaults,\n dateStringFromProps,\n tempDateString,\n tempTimeString,\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleClearAll,\n hideDate,\n hideTime,\n hideDateTimePicker,\n hideDatePicker,\n hideTimePicker,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n isControllerOnly,\n isWithTimeWheelToo,\n isWithCalendarToo,\n isWithDateInputs,\n isWithDateInputsOnly,\n isWithTimeInputs,\n isWithTimeInputsOnly,\n autoFocusMonthInput,\n autoFocusHourInput,\n autoFocusPrevMonthArrow,\n autoFocusHourTimeWheel,\n latestInteractionRegion,\n withAnyInputs,\n withAnyPicker,\n withClearBtn,\n withAnyRightController,\n shouldPreserveClearableSpace,\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ariaCurrentValueForInputs,\n ], // refs are mutable so we don't need to listen to them\n );\n\n return ctx;\n};\n"],"names":["useControlledDateTimePicker","props","useValidateProps","monthInputRef","useRef","dayInputRef","yearInputRef","hourInputRef","minutesInputRef","meridiemInputRef","clearButtonRef","pickerButtonRef","prevYearBtnRef","prevMonthBtnRef","nextMonthBtnRef","nextYearBtnRef","calendarDaysWrapperRef","prevHourBtnRef","currHourBtnRef","nextHourBtnRef","prevMinutesBtnRef","currMinutesBtnRef","nextMinutesBtnRef","prevMeridiemBtnRef","currMeridiemBtnRef","nextMeridiemBtnRef","propsWithDefaults","useGetDatePickerWithDefaultsProps","type","getIsDisabledDay","getIsOutOfRangeDay","getIsDisabledTime","isClearable","autoFocus","appOnDateChange","onDateChange","appOnDateTimeChange","onDateTimeChange","appOnTimeChange","onTimeChange","appOnMonthChange","onMonthChange","appOnDayChange","onDayChange","appOnYearChange","onYearChange","appOnHourChange","onHourChange","appOnMinuteChange","onMinuteChange","appOnMeridiemChange","onMeridiemChange","appDate","date","appTime","time","appDateTime","dateTime","dateStringFromProps","useMemo","dateTimeToDate","useState","tempDateString","setTempDateString","timeStringFromProps","dateTimeToTime","tempTimeString","setTimeString","hideDate","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE_TIME","FULL","INPUTS","DATE","hideTime","TIME","hideDateTimePicker","PICKER","CONTROLLER_ONLY","hideDatePicker","hideTimePicker","isDateSelector","isTimeSelector","isDateTimeSelector","isControllerOnly","isWithTimeWheelToo","isWithCalendarToo","withAnyInputs","withAnyPicker","withClearBtn","isWithDateInputs","isWithDateInputsOnly","isWithTimeInputs","isWithTimeInputsOnly","autoFocusMonthInput","autoFocusHourInput","autoFocusPrevMonthArrow","autoFocusHourTimeWheel","shouldPreserveClearableSpace","withAnyRightController","latestInteractionRegion","setLatestInteractionRegion","useGetDestructuredValues","month","day","year","monthNum","dayNum","yearNum","announcedMonth","announcedDay","announcedYear","announcedDateValues","hours","minutes","meridiem","hoursNum","minutesNum","announcedHours","announcedMinutes","announcedMeridiem","announcedTimeValues","ariaCurrentValueForInputs","getDateMetaInfo","useCallback","newDateString","metaInfo","finalDateString","getValidationDateStringMetaInfo","getTimeMetaInfo","newTimeString","finalTimeString","getValidationTimeStringMetaInfo","handleChangeComposedDateTimeString","appDateString","isEmptyDateStringMask","appTimeString","isEmptyTimeStringMask","newDateTimeString","newMetaInfo","appDateTimeString","isEmptyDateTimeStringMask","handleChangeComposedDateString","handleChangeComposedTimeString","handleClearAll","e","isAutomaticFillTrigger","isClearButtonAction","datePartsChangesMetainfo","timePartsChangesMetainfo","ctx","React"],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { useMemo } from 'react';
2
+ import { dateTimeToDate, deconstructValuesFromDateString, fillStringWithPlaceHolders, dateTimeToTime, deconstructTimeValues } from '../utils/stringHelpers.js';
3
+ import { convertToPositiveNumberIfPossible } from '../utils/numberHelpers.js';
4
+ import { monthNames, announcableCardinalDays } from '../utils/constants.js';
5
+ import '@babel/runtime/helpers/esm/slicedToArray';
6
+
7
+ /* eslint-disable max-lines */
8
+ // this is because it's fully controlled
9
+ // our source of truth is either the date props or dateTime props
10
+ // based on wheter it's a dateTime picker
11
+ // or a date picker (it's date picker when hideTime is true)
12
+ var useGetDestructuredDateValues = function useGetDestructuredDateValues(_ref) {
13
+ var date = _ref.date,
14
+ dateTime = _ref.dateTime,
15
+ isDateTimeSelector = _ref.isDateTimeSelector;
16
+ var dateStringFromProps = isDateTimeSelector ? dateTimeToDate(dateTime) : date;
17
+ var deconstructedValues = deconstructValuesFromDateString(dateStringFromProps);
18
+ var month = deconstructedValues.month,
19
+ day = deconstructedValues.day,
20
+ year = deconstructedValues.year;
21
+ var monthNum = convertToPositiveNumberIfPossible(month);
22
+ var dayNum = convertToPositiveNumberIfPossible(day);
23
+ var yearNum = convertToPositiveNumberIfPossible(year);
24
+ var announcedMonth = monthNum !== -1 ? monthNames[monthNum - 1] : 'empty month';
25
+ var announcedDay = dayNum !== -1 ? announcableCardinalDays[dayNum] : 'empty day';
26
+ var announcedYear = yearNum !== -1 ? fillStringWithPlaceHolders("".concat(yearNum), 4, '0') : 'empty year';
27
+ var announcedDateValues = "".concat(announcedMonth, ", ").concat(announcedDay, ", ").concat(announcedYear);
28
+ return useMemo(function () {
29
+ return {
30
+ month: month,
31
+ day: day,
32
+ year: year,
33
+ monthNum: monthNum,
34
+ dayNum: dayNum,
35
+ yearNum: yearNum,
36
+ announcedMonth: announcedMonth,
37
+ announcedDay: announcedDay,
38
+ announcedYear: announcedYear,
39
+ announcedDateValues: announcedDateValues
40
+ };
41
+ }, [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
42
+ }; // this is because it's fully controlled
43
+ // our source of truth is either the time props or dateTime props
44
+ // based on wheter it's a dateTime picker
45
+ // or a time picker (it's time picker when hideDate is true)
46
+
47
+ var useGetDestructuredTimeValues = function useGetDestructuredTimeValues(_ref2) {
48
+ var time = _ref2.time,
49
+ dateTime = _ref2.dateTime,
50
+ isDateTimeSelector = _ref2.isDateTimeSelector;
51
+ var timeStringFromProps = isDateTimeSelector ? dateTimeToTime(dateTime) : time;
52
+ var deconstructedValues = deconstructTimeValues(timeStringFromProps);
53
+ var hours = deconstructedValues.hours,
54
+ minutes = deconstructedValues.minutes,
55
+ meridiem = deconstructedValues.meridiem;
56
+ var hoursNum = convertToPositiveNumberIfPossible(hours);
57
+ var minutesNum = convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
58
+
59
+ var announcedHours = hoursNum !== -1 ? "".concat(hoursNum) : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
60
+
61
+ var announcedMinutes = minutesNum !== -1 ? "".concat(minutesNum) : 'empty minutes';
62
+ var announcedMeridiem = // eslint-disable-next-line no-nested-ternary
63
+ meridiem === 'PM' ? "post meridiem" : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
64
+ var announcedTimeValues = "".concat(announcedHours, ", ").concat(announcedMinutes, ", ").concat(announcedMeridiem);
65
+ return useMemo(function () {
66
+ return {
67
+ hours: hours,
68
+ minutes: minutes,
69
+ meridiem: meridiem,
70
+ hoursNum: hoursNum,
71
+ minutesNum: minutesNum,
72
+ announcedHours: announcedHours,
73
+ announcedMinutes: announcedMinutes,
74
+ announcedMeridiem: announcedMeridiem,
75
+ announcedTimeValues: announcedTimeValues
76
+ };
77
+ }, [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
78
+ };
79
+ var useGetDestructuredValues = function useGetDestructuredValues(_ref3) {
80
+ var date = _ref3.date,
81
+ time = _ref3.time,
82
+ dateTime = _ref3.dateTime,
83
+ isDateTimeSelector = _ref3.isDateTimeSelector;
84
+
85
+ var _useGetDestructuredDa = useGetDestructuredDateValues({
86
+ date: date,
87
+ dateTime: dateTime,
88
+ isDateTimeSelector: isDateTimeSelector
89
+ }),
90
+ month = _useGetDestructuredDa.month,
91
+ day = _useGetDestructuredDa.day,
92
+ year = _useGetDestructuredDa.year,
93
+ monthNum = _useGetDestructuredDa.monthNum,
94
+ dayNum = _useGetDestructuredDa.dayNum,
95
+ yearNum = _useGetDestructuredDa.yearNum,
96
+ announcedMonth = _useGetDestructuredDa.announcedMonth,
97
+ announcedDay = _useGetDestructuredDa.announcedDay,
98
+ announcedYear = _useGetDestructuredDa.announcedYear,
99
+ announcedDateValues = _useGetDestructuredDa.announcedDateValues;
100
+
101
+ var _useGetDestructuredTi = useGetDestructuredTimeValues({
102
+ time: time,
103
+ dateTime: dateTime,
104
+ isDateTimeSelector: isDateTimeSelector
105
+ }),
106
+ hours = _useGetDestructuredTi.hours,
107
+ minutes = _useGetDestructuredTi.minutes,
108
+ meridiem = _useGetDestructuredTi.meridiem,
109
+ hoursNum = _useGetDestructuredTi.hoursNum,
110
+ minutesNum = _useGetDestructuredTi.minutesNum,
111
+ announcedHours = _useGetDestructuredTi.announcedHours,
112
+ announcedMinutes = _useGetDestructuredTi.announcedMinutes,
113
+ announcedMeridiem = _useGetDestructuredTi.announcedMeridiem,
114
+ announcedTimeValues = _useGetDestructuredTi.announcedTimeValues;
115
+
116
+ return useMemo(function () {
117
+ return {
118
+ month: month,
119
+ day: day,
120
+ year: year,
121
+ monthNum: monthNum,
122
+ dayNum: dayNum,
123
+ yearNum: yearNum,
124
+ announcedMonth: announcedMonth,
125
+ announcedDay: announcedDay,
126
+ announcedYear: announcedYear,
127
+ announcedDateValues: announcedDateValues,
128
+ hours: hours,
129
+ minutes: minutes,
130
+ meridiem: meridiem,
131
+ hoursNum: hoursNum,
132
+ minutesNum: minutesNum,
133
+ announcedHours: announcedHours,
134
+ announcedMinutes: announcedMinutes,
135
+ announcedMeridiem: announcedMeridiem,
136
+ announcedTimeValues: announcedTimeValues
137
+ };
138
+ }, [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
139
+ };
140
+
141
+ export { useGetDestructuredDateValues, useGetDestructuredTimeValues, useGetDestructuredValues };
142
+ //# sourceMappingURL=useGetDestructuredValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetDestructuredValues.js","sources":["../../../../src/controlled-date-time-picker/config/useGetDestructuredValues.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport { useMemo } from 'react';\nimport {\n dateTimeToTime,\n deconstructTimeValues,\n dateTimeToDate,\n deconstructValuesFromDateString,\n fillStringWithPlaceHolders,\n} from '../utils/stringHelpers';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nimport { monthNames, announcableCardinalDays } from '../utils/constants';\nimport type {\n useGetDestructuredDateValuesAT,\n useGetDestructuredDateValuesRT,\n useGetDestructuredTimeValuesAT,\n useGetDestructuredTimeValuesRT,\n useGetDestructuredValuesAT,\n useGetDestructuredValuesRT,\n} from '../index.d';\n\n// this is because it's fully controlled\n// our source of truth is either the date props or dateTime props\n// based on wheter it's a dateTime picker\n// or a date picker (it's date picker when hideTime is true)\nexport const useGetDestructuredDateValues = ({\n date,\n dateTime,\n isDateTimeSelector,\n}: useGetDestructuredDateValuesAT): useGetDestructuredDateValuesRT => {\n const dateStringFromProps = isDateTimeSelector ? dateTimeToDate(dateTime) : date;\n const deconstructedValues = deconstructValuesFromDateString(dateStringFromProps);\n const { month, day, year } = deconstructedValues;\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day);\n const yearNum = convertToPositiveNumberIfPossible(year);\n const announcedMonth = monthNum !== -1 ? monthNames[monthNum - 1] : 'empty month';\n const announcedDay = dayNum !== -1 ? announcableCardinalDays[dayNum] : 'empty day';\n const announcedYear = yearNum !== -1 ? fillStringWithPlaceHolders(`${yearNum}`, 4, '0') : 'empty year';\n const announcedDateValues = `${announcedMonth}, ${announcedDay}, ${announcedYear}`;\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n }),\n [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum],\n );\n};\n\n// this is because it's fully controlled\n// our source of truth is either the time props or dateTime props\n// based on wheter it's a dateTime picker\n// or a time picker (it's time picker when hideDate is true)\nexport const useGetDestructuredTimeValues = ({\n time,\n dateTime,\n isDateTimeSelector,\n}: useGetDestructuredTimeValuesAT): useGetDestructuredTimeValuesRT => {\n const timeStringFromProps = isDateTimeSelector ? dateTimeToTime(dateTime) : time;\n const deconstructedValues = deconstructTimeValues(timeStringFromProps);\n const { hours, minutes, meridiem } = deconstructedValues;\n const hoursNum = convertToPositiveNumberIfPossible(hours);\n const minutesNum = convertToPositiveNumberIfPossible(minutes);\n\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedHours = hoursNum !== -1 ? `${hoursNum}` : 'empty hours';\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedMinutes = minutesNum !== -1 ? `${minutesNum}` : 'empty minutes';\n const announcedMeridiem =\n // eslint-disable-next-line no-nested-ternary\n meridiem === 'PM' ? `post meridiem` : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';\n const announcedTimeValues = `${announcedHours}, ${announcedMinutes}, ${announcedMeridiem}`;\n\n return useMemo(\n () => ({\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n }),\n [\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ],\n );\n};\n\nexport const useGetDestructuredValues = ({\n date,\n time,\n dateTime,\n isDateTimeSelector,\n}: useGetDestructuredValuesAT): useGetDestructuredValuesRT => {\n const {\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n } = useGetDestructuredDateValues({\n date,\n dateTime,\n isDateTimeSelector,\n });\n const {\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n } = useGetDestructuredTimeValues({\n time,\n dateTime,\n isDateTimeSelector,\n });\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n }),\n [\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ],\n );\n};\n"],"names":["useGetDestructuredDateValues","date","dateTime","isDateTimeSelector","dateStringFromProps","dateTimeToDate","deconstructedValues","deconstructValuesFromDateString","month","day","year","monthNum","convertToPositiveNumberIfPossible","dayNum","yearNum","announcedMonth","monthNames","announcedDay","announcableCardinalDays","announcedYear","fillStringWithPlaceHolders","announcedDateValues","useMemo","useGetDestructuredTimeValues","time","timeStringFromProps","dateTimeToTime","deconstructTimeValues","hours","minutes","meridiem","hoursNum","minutesNum","announcedHours","announcedMinutes","announcedMeridiem","announcedTimeValues","useGetDestructuredValues"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTy
3
3
  import { deconstructValuesFromDateString, isValidDateString, dateTimeToDate, isValidTimeString, dateTimeToTime } from '../utils/stringHelpers.js';
4
4
  import { convertToPositiveNumberIfPossible } from '../utils/numberHelpers.js';
5
5
  import '@babel/runtime/helpers/esm/slicedToArray';
6
+ import '../utils/constants.js';
6
7
 
7
8
  var PREPEND = "ControlledDateTimePicker:\n Invalid configuration detected::\n \n ";
8
9
  var NOT_A_DEFECT = ''; // '\n\n\t\tThis is not a defect, please check\n\n\t\thttps://qa.dimsum.rd.elliemae.io/?path=/story/components-desktop-components-d-controlledform-date-time-picker--basic\n\n\t\tfor instructions on how to use the component correctly\n\n';
@@ -1 +1 @@
1
- {"version":3,"file":"useValidateProps.js","sources":["../../../../src/controlled-date-time-picker/config/useValidateProps.tsx"],"sourcesContent":["/* eslint-disable max-len */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { PropsWithDefaultsT } from '../index.d';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes';\nimport {\n dateTimeToDate,\n isValidDateString,\n dateTimeToTime,\n isValidTimeString,\n deconstructValuesFromDateString,\n} from '../utils/stringHelpers';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nconst PREPEND = `ControlledDateTimePicker:\n Invalid configuration detected::\n \n `;\nconst NOT_A_DEFECT = '';\n// '\\n\\n\\t\\tThis is not a defect, please check\\n\\n\\t\\thttps://qa.dimsum.rd.elliemae.io/?path=/story/components-desktop-components-d-controlledform-date-time-picker--basic\\n\\n\\t\\tfor instructions on how to use the component correctly\\n\\n';\nconst INLINE_RECEIVED_PREPEND = `\n\n Received:`;\nconst throwInvalidDateTimeError = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"dateTime\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidDaterror = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"date\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidTimerror = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"time\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledDateError = (date, onDateChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a date selector while providing a non-string \"date\" or providing a non-function to \"onDateChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${date}(${typeof date})\n ${onDateChange}(${typeof onDateChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledTimeError = (time, onTimeChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a time selector while providing a non-string \"time\" or providing a non-function to \"onTimeChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${time}(${typeof time})\n ${onTimeChange}(${typeof onTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\n\nconst throwUncontrolledDateTimeError = (dateTime, onDateTimeChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a date-time selector while providing a non-string \"dateTime\" or providing a non-function to \"onDateTimeChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${dateTime}(${typeof dateTime})\n ${onDateTimeChange}(${typeof onDateTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidEmptyPickerStartingMonthError = (emptyPickerStartingMonth) => {\n throw new Error(\n `${PREPEND}the provided emptyPickerStartingMonth props is invalid. please provide a string with the format mm/__/yyyy, (mm 01~12, yyyy 0001~9999) \n\n Received:\n ${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidOnCalendarOpenFocusedDayError = (onCalendarOpenFocusedDay) => {\n throw new Error(\n `${PREPEND}the provided onCalendarOpenFocusedDay props is invalid. please provide a string with the format mm/dd/yyyy, (mm 01~12, dd 01~31, yyyy 0001~9999) \n\n Received:\n ${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})\n ${NOT_A_DEFECT}`,\n );\n};\nexport const useValidateProps = (props: Partial<PropsWithDefaultsT>): void => {\n const {\n type,\n dateTime,\n date,\n time,\n onDateChange,\n onTimeChange,\n onDateTimeChange,\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n } = props;\n const isDateSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER;\n const isTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER;\n const isDateTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER;\n // validate generic use-cases\n if (emptyPickerStartingMonth) {\n const { month: stringMonthVal, year: stringYearVal } = deconstructValuesFromDateString(emptyPickerStartingMonth);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || yearNum <= 0 || yearNum > 9999)\n throwInvalidEmptyPickerStartingMonthError(emptyPickerStartingMonth);\n }\n if (onCalendarOpenFocusedDay) {\n const {\n month: stringMonthVal,\n day: stringDayVal,\n year: stringYearVal,\n } = deconstructValuesFromDateString(onCalendarOpenFocusedDay);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const dayNum = convertToPositiveNumberIfPossible(stringDayVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || dayNum <= 0 || dayNum >= 31 || yearNum <= 0 || yearNum > 9999)\n throwInvalidOnCalendarOpenFocusedDayError(onCalendarOpenFocusedDay);\n }\n\n // validate full datetime cases\n if (isDateTimeSelector) {\n if (typeof dateTime !== 'string' || typeof onDateTimeChange !== 'function')\n throwUncontrolledDateTimeError(dateTime, onDateTimeChange);\n else if (!isValidDateString(dateTimeToDate(dateTime)) || !isValidTimeString(dateTimeToTime(dateTime)))\n throwInvalidDateTimeError(dateTimeToTime(dateTime));\n }\n\n // validate date-only cases\n if (isDateSelector) {\n if (typeof date !== 'string' || typeof onDateChange !== 'function') throwUncontrolledDateError(date, onDateChange);\n else if (!isValidDateString(date)) throwInvalidDaterror(date);\n }\n\n // validate time-only cases\n if (isTimeSelector) {\n if (typeof time !== 'string' || typeof onTimeChange !== 'function') throwUncontrolledTimeError(time, onTimeChange);\n else if (!isValidTimeString(time)) throwInvalidTimerror(time);\n }\n};\n"],"names":["PREPEND","NOT_A_DEFECT","INLINE_RECEIVED_PREPEND","throwInvalidDateTimeError","invalidValue","Error","throwInvalidDaterror","throwInvalidTimerror","throwUncontrolledDateError","date","onDateChange","throwUncontrolledTimeError","time","onTimeChange","throwUncontrolledDateTimeError","dateTime","onDateTimeChange","throwInvalidEmptyPickerStartingMonthError","emptyPickerStartingMonth","throwInvalidOnCalendarOpenFocusedDayError","onCalendarOpenFocusedDay","useValidateProps","props","type","isDateSelector","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE","FULL","INPUTS","PICKER","isTimeSelector","TIME","isDateTimeSelector","DATE_TIME","deconstructValuesFromDateString","stringMonthVal","month","stringYearVal","year","monthNum","convertToPositiveNumberIfPossible","yearNum","stringDayVal","day","dayNum","isValidDateString","dateTimeToDate","isValidTimeString","dateTimeToTime"],"mappings":"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"}
1
+ {"version":3,"file":"useValidateProps.js","sources":["../../../../src/controlled-date-time-picker/config/useValidateProps.tsx"],"sourcesContent":["/* eslint-disable max-len */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { PropsWithDefaultsT } from '../index.d';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes';\nimport {\n dateTimeToDate,\n isValidDateString,\n dateTimeToTime,\n isValidTimeString,\n deconstructValuesFromDateString,\n} from '../utils/stringHelpers';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nconst PREPEND = `ControlledDateTimePicker:\n Invalid configuration detected::\n \n `;\nconst NOT_A_DEFECT = '';\n// '\\n\\n\\t\\tThis is not a defect, please check\\n\\n\\t\\thttps://qa.dimsum.rd.elliemae.io/?path=/story/components-desktop-components-d-controlledform-date-time-picker--basic\\n\\n\\t\\tfor instructions on how to use the component correctly\\n\\n';\nconst INLINE_RECEIVED_PREPEND = `\n\n Received:`;\nconst throwInvalidDateTimeError = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"dateTime\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidDaterror = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"date\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidTimerror = (invalidValue) => {\n throw new Error(\n `${PREPEND}the \"time\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledDateError = (date, onDateChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a date selector while providing a non-string \"date\" or providing a non-function to \"onDateChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${date}(${typeof date})\n ${onDateChange}(${typeof onDateChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledTimeError = (time, onTimeChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a time selector while providing a non-string \"time\" or providing a non-function to \"onTimeChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${time}(${typeof time})\n ${onTimeChange}(${typeof onTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\n\nconst throwUncontrolledDateTimeError = (dateTime, onDateTimeChange) => {\n throw new Error(\n `${PREPEND}you are trying to use a date-time selector while providing a non-string \"dateTime\" or providing a non-function to \"onDateTimeChange\"\n the full-controlled pattern must be used\\n\\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ${dateTime}(${typeof dateTime})\n ${onDateTimeChange}(${typeof onDateTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidEmptyPickerStartingMonthError = (emptyPickerStartingMonth) => {\n throw new Error(\n `${PREPEND}the provided emptyPickerStartingMonth props is invalid. please provide a string with the format mm/__/yyyy, (mm 01~12, yyyy 0001~9999) \n\n Received:\n ${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidOnCalendarOpenFocusedDayError = (onCalendarOpenFocusedDay) => {\n throw new Error(\n `${PREPEND}the provided onCalendarOpenFocusedDay props is invalid. please provide a string with the format mm/dd/yyyy, (mm 01~12, dd 01~31, yyyy 0001~9999) \n\n Received:\n ${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})\n ${NOT_A_DEFECT}`,\n );\n};\nexport const useValidateProps = (props: Partial<PropsWithDefaultsT>): void => {\n const {\n type,\n dateTime,\n date,\n time,\n onDateChange,\n onTimeChange,\n onDateTimeChange,\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n } = props;\n const isDateSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER;\n const isTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER;\n const isDateTimeSelector =\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS ||\n type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER;\n // validate generic use-cases\n if (emptyPickerStartingMonth) {\n const { month: stringMonthVal, year: stringYearVal } = deconstructValuesFromDateString(emptyPickerStartingMonth);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || yearNum <= 0 || yearNum > 9999)\n throwInvalidEmptyPickerStartingMonthError(emptyPickerStartingMonth);\n }\n if (onCalendarOpenFocusedDay) {\n const {\n month: stringMonthVal,\n day: stringDayVal,\n year: stringYearVal,\n } = deconstructValuesFromDateString(onCalendarOpenFocusedDay);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const dayNum = convertToPositiveNumberIfPossible(stringDayVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || dayNum <= 0 || dayNum >= 31 || yearNum <= 0 || yearNum > 9999)\n throwInvalidOnCalendarOpenFocusedDayError(onCalendarOpenFocusedDay);\n }\n\n // validate full datetime cases\n if (isDateTimeSelector) {\n if (typeof dateTime !== 'string' || typeof onDateTimeChange !== 'function')\n throwUncontrolledDateTimeError(dateTime, onDateTimeChange);\n else if (!isValidDateString(dateTimeToDate(dateTime)) || !isValidTimeString(dateTimeToTime(dateTime)))\n throwInvalidDateTimeError(dateTimeToTime(dateTime));\n }\n\n // validate date-only cases\n if (isDateSelector) {\n if (typeof date !== 'string' || typeof onDateChange !== 'function') throwUncontrolledDateError(date, onDateChange);\n else if (!isValidDateString(date)) throwInvalidDaterror(date);\n }\n\n // validate time-only cases\n if (isTimeSelector) {\n if (typeof time !== 'string' || typeof onTimeChange !== 'function') throwUncontrolledTimeError(time, onTimeChange);\n else if (!isValidTimeString(time)) throwInvalidTimerror(time);\n }\n};\n"],"names":["PREPEND","NOT_A_DEFECT","INLINE_RECEIVED_PREPEND","throwInvalidDateTimeError","invalidValue","Error","throwInvalidDaterror","throwInvalidTimerror","throwUncontrolledDateError","date","onDateChange","throwUncontrolledTimeError","time","onTimeChange","throwUncontrolledDateTimeError","dateTime","onDateTimeChange","throwInvalidEmptyPickerStartingMonthError","emptyPickerStartingMonth","throwInvalidOnCalendarOpenFocusedDayError","onCalendarOpenFocusedDay","useValidateProps","props","type","isDateSelector","CONTROLLED_DATE_TIME_PICKER_TYPES","DATE","FULL","INPUTS","PICKER","isTimeSelector","TIME","isDateTimeSelector","DATE_TIME","deconstructValuesFromDateString","stringMonthVal","month","stringYearVal","year","monthNum","convertToPositiveNumberIfPossible","yearNum","stringDayVal","day","dayNum","isValidDateString","dateTimeToDate","isValidTimeString","dateTimeToTime"],"mappings":"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"}
@@ -2,7 +2,7 @@ export { DSControlledDateTimePicker, DSControlledDateTimePickerWithSchema } from
2
2
  export { ControlledDateTimePickerDatatestid } from './ControlledDateTimePickerDatatestid.js';
3
3
  export { CONTROLLED_DATE_TIME_PICKER_TYPES } from './ControlledDateTimePickerTypes.js';
4
4
  export { deconstructValuesFromDateString, prependStringWithPlaceHolders } from './utils/stringHelpers.js';
5
- export { getValidatioDateTimeStringMetaInfo } from './utils/dateTimeHelpers.js';
5
+ export { getValidationDateTimeStringMetaInfo } from './utils/dateTimeHelpers.js';
6
6
  export { getDateStringFromDay, getDateValuesFromDate, getDayFromDateString, getValidationDateStringMetaInfo } from './utils/dateHelpers.js';
7
7
  export { getValidationTimeStringMetaInfo } from './utils/timeHelpers.js';
8
8
  import 'react';
@@ -14,15 +14,17 @@ import '@babel/runtime/helpers/esm/slicedToArray';
14
14
  import './config/useGetPropsWithDefault.js';
15
15
  import '@elliemae/ds-props-helpers';
16
16
  import './ControlledDateTimePickerCTX.js';
17
+ import './config/useGetDestructuredValues.js';
18
+ import './utils/numberHelpers.js';
19
+ import './utils/constants.js';
17
20
  import './config/useValidateProps.js';
18
21
  import '@babel/runtime/helpers/esm/typeof';
19
- import './utils/numberHelpers.js';
20
22
  import '@babel/runtime/helpers/esm/toConsumableArray';
21
23
  import './parts/ControlledDateTimePickerContent.js';
22
24
  import '@elliemae/ds-grid';
23
25
  import './parts/Styleds.js';
24
26
  import 'styled-components';
25
- import '@elliemae/ds-basic/Button';
27
+ import '@elliemae/ds-button';
26
28
  import './parts/DateInputs/DateInputs.js';
27
29
  import './parts/DateInputs/MMInput.js';
28
30
  import './parts/DateInputs/DDInput.js';
@@ -37,20 +39,18 @@ import './parts/TimeInputs/useTimeInputs.js';
37
39
  import './parts/Pickers/PickersIcons.js';
38
40
  import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js';
39
41
  import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js';
42
+ import '@elliemae/ds-icon';
40
43
  import '@elliemae/ds-icons/DatePicker';
41
44
  import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js';
42
- import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js';
43
- import '@babel/runtime/helpers/esm/extends';
44
- import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js';
45
45
  import './parts/Pickers/CalendarWithTimeWheel/Styleds.js';
46
46
  import './parts/Pickers/Calendar/CalendarContent.js';
47
47
  import './parts/Pickers/Calendar/CalendarBody.js';
48
48
  import './parts/Pickers/Calendar/CalendarMonthDays.js';
49
49
  import './parts/Pickers/Calendar/CalendarDaysList.js';
50
50
  import './parts/Pickers/Calendar/Day.js';
51
+ import '@babel/runtime/helpers/esm/extends';
51
52
  import './parts/Pickers/Calendar/CalendarContext.js';
52
53
  import './parts/Pickers/Calendar/Styleds.js';
53
- import '@elliemae/ds-button';
54
54
  import './parts/Pickers/Calendar/CalendarWeekDays.js';
55
55
  import './parts/Pickers/Calendar/CalendarHead.js';
56
56
  import '@elliemae/ds-icons/ChevronDoubleLeft';
@@ -58,12 +58,13 @@ import '@elliemae/ds-icons/ChevronLeft';
58
58
  import '@elliemae/ds-icons/ChevronRight';
59
59
  import '@elliemae/ds-icons/ChevronDoubleRight';
60
60
  import './parts/Pickers/Calendar/CalendarFooter.js';
61
+ import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js';
62
+ import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js';
61
63
  import './parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js';
62
64
  import './parts/Pickers/TimeWheel/TimeWheelContent.js';
63
65
  import './parts/Pickers/TimeWheel/Styleds.js';
64
66
  import './parts/Pickers/TimeWheel/HoursList.js';
65
- import '@elliemae/ds-icons/ChevronSmallUp';
66
- import '@elliemae/ds-icons/ChevronSmallDown';
67
+ import '@elliemae/ds-icons';
67
68
  import './parts/Pickers/TimeWheel/TimeWheelContext.js';
68
69
  import './parts/Pickers/TimeWheel/MinutesList.js';
69
70
  import './parts/Pickers/TimeWheel/MeridiemList.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import CloseMedium from '@elliemae/ds-icons/CloseMedium';
3
- import { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';
3
+ import { DSIconColors } from '@elliemae/ds-icon';
4
+ import { BUTTON_SIZES, BUTTON_VARIANT } from '@elliemae/ds-button';
4
5
  import { StyledClearButton } from '../Styleds.js';
5
6
  import { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';
6
7
  import { useClearButton } from './useClearButton.js';
@@ -20,16 +21,17 @@ var ClearButton = function ClearButton() {
20
21
  return /*#__PURE__*/React.createElement(StyledClearButton, {
21
22
  shouldDisplay: withClearBtn,
22
23
  "aria-label": "clear selected date",
23
- buttonType: "text",
24
- leftIcon: /*#__PURE__*/React.createElement(CloseMedium, null),
25
- size: "m",
24
+ buttonType: "icon",
25
+ size: BUTTON_SIZES.M,
26
26
  variant: BUTTON_VARIANT.DEFAULT,
27
27
  "data-testid": ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
28
28
  innerRef: clearButtonRef,
29
29
  onClick: onClearClick,
30
30
  onKeyDown: onClearButtonKeyDown,
31
31
  withAnyPicker: withAnyPicker
32
- });
32
+ }, /*#__PURE__*/React.createElement(CloseMedium, {
33
+ color: DSIconColors.PRIMARY
34
+ }));
33
35
  };
34
36
 
35
37
  export { ClearButton };