@elliemae/ds-controlled-form 2.0.0-alpha.1 → 2.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/cjs/controlled-checkbox/ControlledCheckbox.js +13 -6
  2. package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
  3. package/cjs/controlled-checkbox/propTypes.js +5 -4
  4. package/cjs/controlled-checkbox/styles.js +88 -52
  5. package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  6. package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
  7. package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +2 -2
  8. package/cjs/controlled-date-range-picker/ControlledDateRangePickerCTX.js +3 -2
  9. package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  10. package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +19 -3
  11. package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +22 -13
  12. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +9 -1
  13. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +30 -5
  14. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +13 -3
  15. package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +9 -1
  16. package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +2 -2
  17. package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +23 -2
  18. package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  19. package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  20. package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +149 -0
  21. package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
  22. package/cjs/controlled-date-time-picker/index.js +1 -1
  23. package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +11 -9
  24. package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  25. package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +37 -16
  26. package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  27. package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +21 -11
  28. package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  29. package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  30. package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +117 -66
  31. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +9 -8
  32. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  33. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -9
  34. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +7 -1
  35. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -9
  36. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  37. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +43 -44
  38. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -12
  39. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
  40. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
  41. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +10 -3
  42. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +59 -28
  43. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +339 -115
  44. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +42 -42
  45. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  46. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -23
  47. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +135 -59
  48. package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
  49. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +4 -4
  50. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +5 -3
  51. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +4 -2
  52. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  53. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -12
  54. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +10 -3
  55. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +61 -24
  56. package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  57. package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +3 -3
  58. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +38 -26
  59. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +34 -31
  60. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +36 -26
  61. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +26 -23
  62. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +211 -150
  63. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +9 -8
  64. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +9 -6
  65. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +5 -2
  66. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  67. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -12
  68. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -3
  69. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  70. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  71. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +184 -147
  72. package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +23 -12
  73. package/cjs/controlled-date-time-picker/parts/Styleds.js +80 -42
  74. package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  75. package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  76. package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  77. package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +20 -11
  78. package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +109 -205
  79. package/cjs/controlled-date-time-picker/propTypes.js +3 -1
  80. package/cjs/controlled-date-time-picker/utils/constants.js +59 -0
  81. package/cjs/controlled-date-time-picker/utils/dateHelpers.js +41 -23
  82. package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +8 -3
  83. package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  84. package/cjs/controlled-date-time-picker/utils/stringHelpers.js +43 -17
  85. package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  86. package/cjs/controlled-toggle/ControlledToggle.js +52 -36
  87. package/cjs/controlled-toggle/propTypes.js +3 -2
  88. package/cjs/controlled-toggle/styles.js +146 -79
  89. package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
  90. package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
  91. package/cjs/index.js +1 -1
  92. package/esm/controlled-checkbox/ControlledCheckbox.js +12 -5
  93. package/esm/controlled-checkbox/config/useValidateProps.js +6 -8
  94. package/esm/controlled-checkbox/propTypes.js +5 -4
  95. package/esm/controlled-checkbox/styles.js +84 -48
  96. package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
  97. package/esm/controlled-checkbox/utils/styleHelpers.js +15 -27
  98. package/esm/controlled-date-range-picker/ControlledDateRangePickerCTX.js +2 -1
  99. package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
  100. package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
  101. package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
  102. package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
  103. package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -4
  104. package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +12 -2
  105. package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
  106. package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +22 -1
  107. package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
  108. package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
  109. package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +143 -0
  110. package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
  111. package/esm/controlled-date-time-picker/index.js +1 -1
  112. package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +10 -7
  113. package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
  114. package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
  115. package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
  116. package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +15 -5
  117. package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
  118. package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
  119. package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +119 -67
  120. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
  121. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
  122. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +16 -10
  123. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +6 -0
  124. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -11
  125. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
  126. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +42 -39
  127. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -10
  128. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
  129. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
  130. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +7 -0
  131. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +58 -28
  132. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +335 -113
  133. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +43 -43
  134. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
  135. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +49 -24
  136. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +136 -60
  137. package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
  138. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
  139. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
  140. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
  141. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -10
  142. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -0
  143. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +60 -24
  144. package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
  145. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +33 -19
  146. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +30 -25
  147. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +30 -18
  148. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +20 -15
  149. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +210 -150
  150. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
  151. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +8 -5
  152. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
  153. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
  154. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
  155. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -0
  156. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
  157. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
  158. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +185 -148
  159. package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +24 -13
  160. package/esm/controlled-date-time-picker/parts/Styleds.js +70 -31
  161. package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
  162. package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
  163. package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
  164. package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +15 -6
  165. package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +110 -202
  166. package/esm/controlled-date-time-picker/propTypes.js +3 -1
  167. package/esm/controlled-date-time-picker/utils/constants.js +46 -0
  168. package/esm/controlled-date-time-picker/utils/dateHelpers.js +40 -23
  169. package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +7 -2
  170. package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
  171. package/esm/controlled-date-time-picker/utils/stringHelpers.js +43 -18
  172. package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
  173. package/esm/controlled-toggle/ControlledToggle.js +47 -31
  174. package/esm/controlled-toggle/propTypes.js +3 -2
  175. package/esm/controlled-toggle/styles.js +139 -72
  176. package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
  177. package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
  178. package/esm/index.js +1 -1
  179. package/package.json +29 -12
  180. package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
  181. package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
  182. package/types/controlled-checkbox/index.d.d.ts +1 -0
  183. package/types/controlled-checkbox/propTypes.d.ts +55 -8
  184. package/types/controlled-checkbox/styles.d.ts +4 -4
  185. package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
  186. package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
  187. package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
  188. package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
  189. package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
  190. package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
  191. package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
  192. package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
  193. package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
  194. package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
  195. package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
  196. package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
  197. package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +84 -21
  198. package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +28 -3
  199. package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
  200. package/types/controlled-date-time-picker/index.d.ts +1 -1
  201. package/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +2 -1
  202. package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +3 -1
  203. package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +4 -1
  204. package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +3 -1
  205. package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
  206. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
  207. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +11 -5
  208. package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
  209. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
  210. package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +17 -123
  211. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +3 -5
  212. package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +5 -18
  213. package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +4 -7
  214. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +2 -0
  215. package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -3
  216. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +19 -9
  217. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -0
  218. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -11
  219. package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -8
  220. package/types/controlled-date-time-picker/parts/Styleds.d.ts +13 -10
  221. package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +4 -1
  222. package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +3 -1
  223. package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +3 -1
  224. package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
  225. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
  226. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
  227. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
  228. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
  229. package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
  230. package/types/controlled-date-time-picker/utils/constants.d.ts +44 -0
  231. package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +3 -2
  232. package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
  233. package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
  234. package/types/controlled-toggle/ControlledToggle.d.ts +79 -13
  235. package/types/controlled-toggle/propTypes.d.ts +73 -11
  236. package/types/controlled-toggle/styles.d.ts +7 -7
  237. package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
  238. package/cjs/package.json +0 -7
  239. package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
  240. package/esm/package.json +0 -7
  241. package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
@@ -0,0 +1,149 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var stringHelpers = require('../utils/stringHelpers.js');
7
+ var numberHelpers = require('../utils/numberHelpers.js');
8
+ var constants = require('../utils/constants.js');
9
+
10
+ /* eslint-disable max-lines */
11
+ // this is because it's fully controlled
12
+ // our source of truth is either the date props or dateTime props
13
+ // based on wheter it's a dateTime picker
14
+ // or a date picker (it's date picker when hideTime is true)
15
+ const useGetDestructuredDateValues = _ref => {
16
+ let {
17
+ date,
18
+ dateTime,
19
+ isDateTimeSelector
20
+ } = _ref;
21
+ const dateStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToDate(dateTime) : date;
22
+ const deconstructedValues = stringHelpers.deconstructValuesFromDateString(dateStringFromProps);
23
+ const {
24
+ month,
25
+ day,
26
+ year
27
+ } = deconstructedValues;
28
+ const monthNum = numberHelpers.convertToPositiveNumberIfPossible(month);
29
+ const dayNum = numberHelpers.convertToPositiveNumberIfPossible(day);
30
+ const yearNum = numberHelpers.convertToPositiveNumberIfPossible(year);
31
+ const announcedMonth = monthNum !== -1 ? constants.monthNames[monthNum - 1] : 'empty month';
32
+ const announcedDay = dayNum !== -1 ? constants.announcableCardinalDays[dayNum] : 'empty day';
33
+ const announcedYear = yearNum !== -1 ? stringHelpers.fillStringWithPlaceHolders("".concat(yearNum), 4, '0') : 'empty year';
34
+ const announcedDateValues = "".concat(announcedMonth, ", ").concat(announcedDay, ", ").concat(announcedYear);
35
+ return React.useMemo(() => ({
36
+ month,
37
+ day,
38
+ year,
39
+ monthNum,
40
+ dayNum,
41
+ yearNum,
42
+ announcedMonth,
43
+ announcedDay,
44
+ announcedYear,
45
+ announcedDateValues
46
+ }), [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
47
+ }; // this is because it's fully controlled
48
+ // our source of truth is either the time props or dateTime props
49
+ // based on wheter it's a dateTime picker
50
+ // or a time picker (it's time picker when hideDate is true)
51
+
52
+ const useGetDestructuredTimeValues = _ref2 => {
53
+ let {
54
+ time,
55
+ dateTime,
56
+ isDateTimeSelector
57
+ } = _ref2;
58
+ const timeStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToTime(dateTime) : time;
59
+ const deconstructedValues = stringHelpers.deconstructTimeValues(timeStringFromProps);
60
+ const {
61
+ hours,
62
+ minutes,
63
+ meridiem
64
+ } = deconstructedValues;
65
+ const hoursNum = numberHelpers.convertToPositiveNumberIfPossible(hours);
66
+ const minutesNum = numberHelpers.convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
67
+
68
+ const announcedHours = hoursNum !== -1 ? "".concat(hoursNum) : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
69
+
70
+ const announcedMinutes = minutesNum !== -1 ? "".concat(minutesNum) : 'empty minutes';
71
+ const announcedMeridiem = // eslint-disable-next-line no-nested-ternary
72
+ meridiem === 'PM' ? "post meridiem" : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
73
+ const announcedTimeValues = "".concat(announcedHours, ", ").concat(announcedMinutes, ", ").concat(announcedMeridiem);
74
+ return React.useMemo(() => ({
75
+ hours,
76
+ minutes,
77
+ meridiem,
78
+ hoursNum,
79
+ minutesNum,
80
+ announcedHours,
81
+ announcedMinutes,
82
+ announcedMeridiem,
83
+ announcedTimeValues
84
+ }), [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
85
+ };
86
+ const useGetDestructuredValues = _ref3 => {
87
+ let {
88
+ date,
89
+ time,
90
+ dateTime,
91
+ isDateTimeSelector
92
+ } = _ref3;
93
+ const {
94
+ month,
95
+ day,
96
+ year,
97
+ monthNum,
98
+ dayNum,
99
+ yearNum,
100
+ announcedMonth,
101
+ announcedDay,
102
+ announcedYear,
103
+ announcedDateValues
104
+ } = useGetDestructuredDateValues({
105
+ date,
106
+ dateTime,
107
+ isDateTimeSelector
108
+ });
109
+ const {
110
+ hours,
111
+ minutes,
112
+ meridiem,
113
+ hoursNum,
114
+ minutesNum,
115
+ announcedHours,
116
+ announcedMinutes,
117
+ announcedMeridiem,
118
+ announcedTimeValues
119
+ } = useGetDestructuredTimeValues({
120
+ time,
121
+ dateTime,
122
+ isDateTimeSelector
123
+ });
124
+ return React.useMemo(() => ({
125
+ month,
126
+ day,
127
+ year,
128
+ monthNum,
129
+ dayNum,
130
+ yearNum,
131
+ announcedMonth,
132
+ announcedDay,
133
+ announcedYear,
134
+ announcedDateValues,
135
+ hours,
136
+ minutes,
137
+ meridiem,
138
+ hoursNum,
139
+ minutesNum,
140
+ announcedHours,
141
+ announcedMinutes,
142
+ announcedMeridiem,
143
+ announcedTimeValues
144
+ }), [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
145
+ };
146
+
147
+ exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
148
+ exports.useGetDestructuredTimeValues = useGetDestructuredTimeValues;
149
+ exports.useGetDestructuredValues = useGetDestructuredValues;
@@ -7,72 +7,41 @@ var stringHelpers = require('../utils/stringHelpers.js');
7
7
  var numberHelpers = require('../utils/numberHelpers.js');
8
8
 
9
9
  /* eslint-disable max-len */
10
- const PREPEND = `ControlledDateTimePicker:
11
- Invalid configuration detected::
12
-
13
- `;
10
+ const PREPEND = "ControlledDateTimePicker:\n Invalid configuration detected::\n \n ";
14
11
  const 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';
15
12
 
16
- const INLINE_RECEIVED_PREPEND = `
17
-
18
- Received:`;
13
+ const INLINE_RECEIVED_PREPEND = "\n\n Received:";
19
14
 
20
15
  const throwInvalidDateTimeError = invalidValue => {
21
- throw new Error(`${PREPEND}the "dateTime" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`);
16
+ throw new Error("".concat(PREPEND, "the \"dateTime\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
22
17
  };
23
18
 
24
19
  const throwInvalidDaterror = invalidValue => {
25
- throw new Error(`${PREPEND}the "date" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`);
20
+ throw new Error("".concat(PREPEND, "the \"date\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
26
21
  };
27
22
 
28
23
  const throwInvalidTimerror = invalidValue => {
29
- throw new Error(`${PREPEND}the "time" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`);
24
+ throw new Error("".concat(PREPEND, "the \"time\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
30
25
  };
31
26
 
32
27
  const throwUncontrolledDateError = (date, onDateChange) => {
33
- throw new Error(`${PREPEND}you are trying to use a date selector while providing a non-string "date" or providing a non-function to "onDateChange"
34
- the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
35
-
36
- Received:
37
- ${date}(${typeof date})
38
- ${onDateChange}(${typeof onDateChange})
39
- ${NOT_A_DEFECT}`);
28
+ throw new Error("".concat(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 ").concat(date, "(").concat(typeof date, ")\n ").concat(onDateChange, "(").concat(typeof onDateChange, ")\n ").concat(NOT_A_DEFECT));
40
29
  };
41
30
 
42
31
  const throwUncontrolledTimeError = (time, onTimeChange) => {
43
- throw new Error(`${PREPEND}you are trying to use a time selector while providing a non-string "time" or providing a non-function to "onTimeChange"
44
- the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
45
-
46
- Received:
47
- ${time}(${typeof time})
48
- ${onTimeChange}(${typeof onTimeChange})
49
- ${NOT_A_DEFECT}`);
32
+ throw new Error("".concat(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 ").concat(time, "(").concat(typeof time, ")\n ").concat(onTimeChange, "(").concat(typeof onTimeChange, ")\n ").concat(NOT_A_DEFECT));
50
33
  };
51
34
 
52
35
  const throwUncontrolledDateTimeError = (dateTime, onDateTimeChange) => {
53
- throw new Error(`${PREPEND}you are trying to use a date-time selector while providing a non-string "dateTime" or providing a non-function to "onDateTimeChange"
54
- the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
55
-
56
- Received:
57
- ${dateTime}(${typeof dateTime})
58
- ${onDateTimeChange}(${typeof onDateTimeChange})
59
- ${NOT_A_DEFECT}`);
36
+ throw new Error("".concat(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 ").concat(dateTime, "(").concat(typeof dateTime, ")\n ").concat(onDateTimeChange, "(").concat(typeof onDateTimeChange, ")\n ").concat(NOT_A_DEFECT));
60
37
  };
61
38
 
62
39
  const throwInvalidEmptyPickerStartingMonthError = emptyPickerStartingMonth => {
63
- throw new Error(`${PREPEND}the provided emptyPickerStartingMonth props is invalid. please provide a string with the format mm/__/yyyy, (mm 01~12, yyyy 0001~9999)
64
-
65
- Received:
66
- ${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})
67
- ${NOT_A_DEFECT}`);
40
+ throw new Error("".concat(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 ").concat(emptyPickerStartingMonth, "(").concat(typeof emptyPickerStartingMonth, ")\n ").concat(NOT_A_DEFECT));
68
41
  };
69
42
 
70
43
  const throwInvalidOnCalendarOpenFocusedDayError = onCalendarOpenFocusedDay => {
71
- throw new Error(`${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)
72
-
73
- Received:
74
- ${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})
75
- ${NOT_A_DEFECT}`);
44
+ throw new Error("".concat(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 ").concat(onCalendarOpenFocusedDay, "(").concat(typeof onCalendarOpenFocusedDay, ")\n ").concat(NOT_A_DEFECT));
76
45
  };
77
46
 
78
47
  const useValidateProps = props => {
@@ -18,7 +18,7 @@ exports.ControlledDateTimePickerDatatestid = ControlledDateTimePickerDatatestid.
18
18
  exports.CONTROLLED_DATE_TIME_PICKER_TYPES = ControlledDateTimePickerTypes.CONTROLLED_DATE_TIME_PICKER_TYPES;
19
19
  exports.deconstructValuesFromDateString = stringHelpers.deconstructValuesFromDateString;
20
20
  exports.prependStringWithPlaceHolders = stringHelpers.prependStringWithPlaceHolders;
21
- exports.getValidatioDateTimeStringMetaInfo = dateTimeHelpers.getValidatioDateTimeStringMetaInfo;
21
+ exports.getValidationDateTimeStringMetaInfo = dateTimeHelpers.getValidationDateTimeStringMetaInfo;
22
22
  exports.getDateStringFromDay = dateHelpers.getDateStringFromDay;
23
23
  exports.getDateValuesFromDate = dateHelpers.getDateValuesFromDate;
24
24
  exports.getDayFromDateString = dateHelpers.getDayFromDateString;
@@ -4,8 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
- var CloseMedium = require('@elliemae/ds-icons/CloseMedium');
8
- var DSButton = require('@elliemae/ds-basic/Button');
7
+ var dsIcons = require('@elliemae/ds-icons');
8
+ var dsIcon = require('@elliemae/ds-icon');
9
+ var DSButton = require('@elliemae/ds-button');
9
10
  var Styleds = require('../Styleds.js');
10
11
  var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
11
12
  var useClearButton = require('./useClearButton.js');
@@ -13,28 +14,29 @@ var useClearButton = require('./useClearButton.js');
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
15
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
- var CloseMedium__default = /*#__PURE__*/_interopDefaultLegacy(CloseMedium);
17
17
 
18
- var _CloseMedium;
19
18
  const ClearButton = () => {
20
19
  const {
21
20
  onClearClick,
21
+ onClearButtonKeyDown,
22
22
  clearButtonRef,
23
23
  withAnyPicker,
24
24
  withClearBtn
25
25
  } = useClearButton.useClearButton();
26
- return /*#__PURE__*/_jsx__default['default'](Styleds.StyledClearButton, {
26
+ return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
27
27
  shouldDisplay: withClearBtn,
28
28
  "aria-label": "clear selected date",
29
- buttonType: "text",
30
- leftIcon: _CloseMedium || (_CloseMedium = /*#__PURE__*/_jsx__default['default'](CloseMedium__default['default'], {})),
31
- size: "m",
29
+ buttonType: "icon",
30
+ size: DSButton.BUTTON_SIZES.M,
32
31
  variant: DSButton.BUTTON_VARIANT.DEFAULT,
33
32
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
34
33
  innerRef: clearButtonRef,
35
34
  onClick: onClearClick,
35
+ onKeyDown: onClearButtonKeyDown,
36
36
  withAnyPicker: withAnyPicker
37
- });
37
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
38
+ color: dsIcon.DSIconColors.PRIMARY
39
+ }));
38
40
  };
39
41
 
40
42
  exports.ClearButton = ClearButton;
@@ -11,15 +11,60 @@ const useClearButton = () => {
11
11
  handleClearAll,
12
12
  clearButtonRef,
13
13
  withAnyPicker,
14
- withClearBtn
14
+ withClearBtn,
15
+ withAnyInputs,
16
+ isWithTimeInputs,
17
+ isWithDateInputs,
18
+ isTimeSelector,
19
+ hourInputRef,
20
+ monthInputRef,
21
+ pickerButtonRef,
22
+ meridiemInputRef,
23
+ yearInputRef,
24
+ setLatestInteractionRegion
15
25
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
16
- const onClearClick = React.useCallback(e => handleClearAll(e), [handleClearAll]);
26
+ const focusFirstRegion = React.useCallback(() => {
27
+ var _hourInputRef$current, _hourInputRef$current2, _monthInputRef$curren, _monthInputRef$curren2;
28
+
29
+ if (withAnyInputs) if (isTimeSelector) hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current = hourInputRef.current) === null || _hourInputRef$current === void 0 ? void 0 : (_hourInputRef$current2 = _hourInputRef$current.focus) === null || _hourInputRef$current2 === void 0 ? void 0 : _hourInputRef$current2.call(_hourInputRef$current);else monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren = monthInputRef.current) === null || _monthInputRef$curren === void 0 ? void 0 : (_monthInputRef$curren2 = _monthInputRef$curren.focus) === null || _monthInputRef$curren2 === void 0 ? void 0 : _monthInputRef$curren2.call(_monthInputRef$curren);
30
+ }, [withAnyInputs, isTimeSelector, hourInputRef, monthInputRef]);
31
+ const onClearClick = React.useCallback(e => {
32
+ handleClearAll(e);
33
+ setLatestInteractionRegion('clear-btn');
34
+ focusFirstRegion();
35
+ }, [focusFirstRegion, handleClearAll, setLatestInteractionRegion]);
36
+ const onHomeKeyDown = React.useCallback(() => {
37
+ focusFirstRegion();
38
+ }, [focusFirstRegion]);
39
+ const onEndKeyDown = React.useCallback(() => {
40
+ var _pickerButtonRef$curr, _pickerButtonRef$curr2;
41
+
42
+ if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr = pickerButtonRef.current) === null || _pickerButtonRef$curr === void 0 ? void 0 : (_pickerButtonRef$curr2 = _pickerButtonRef$curr.focus) === null || _pickerButtonRef$curr2 === void 0 ? void 0 : _pickerButtonRef$curr2.call(_pickerButtonRef$curr);
43
+ }, [withAnyPicker, pickerButtonRef]);
44
+ const onClearButtonKeyDown = React.useCallback(e => {
45
+ const {
46
+ key
47
+ } = e;
48
+ const preventDefaultKeys = ['Home', 'End'];
49
+ const stopPropagationKeys = ['Home', 'End'];
50
+ if (preventDefaultKeys.includes(key)) e.preventDefault();
51
+ if (stopPropagationKeys.includes(key)) e.stopPropagation();
52
+ if (key === 'Home') onHomeKeyDown();
53
+ if (key === 'End') onEndKeyDown();
54
+
55
+ if (key === 'Backspace' && withAnyInputs) {
56
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
57
+
58
+ if (isWithTimeInputs) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);else if (isWithDateInputs) yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
59
+ }
60
+ }, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onEndKeyDown, onHomeKeyDown, withAnyInputs, yearInputRef]);
17
61
  return React.useMemo(() => ({
18
62
  onClearClick,
63
+ onClearButtonKeyDown,
19
64
  clearButtonRef,
20
65
  withAnyPicker,
21
66
  withClearBtn
22
- }), [onClearClick, clearButtonRef, withAnyPicker, withClearBtn]);
67
+ }), [onClearClick, onClearButtonKeyDown, clearButtonRef, withAnyPicker, withClearBtn]);
23
68
  };
24
69
 
25
70
  exports.useClearButton = useClearButton;
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
11
  var _jsx = require('@babel/runtime/helpers/jsx');
6
12
  var React = require('react');
7
13
  var dsGrid = require('@elliemae/ds-grid');
@@ -11,13 +17,19 @@ var DateInputs = require('./DateInputs/DateInputs.js');
11
17
  var TimeInputs = require('./TimeInputs/TimeInputs.js');
12
18
  var PickersIcons = require('./Pickers/PickersIcons.js');
13
19
  var ClearButton = require('./ClearButton/ClearButton.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
14
21
 
15
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
23
 
24
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
25
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
18
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
27
 
20
28
  var _DateInputs, _TimeInputs, _ClearButton, _PickersIcons;
29
+
30
+ 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; }
31
+
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
33
  const ControlledDateTimePickerContent = () => {
22
34
  const {
23
35
  hideDate,
@@ -31,10 +43,13 @@ const ControlledDateTimePickerContent = () => {
31
43
  shouldPreserveClearableSpace,
32
44
  isControllerOnly,
33
45
  props: {
34
- hasError
35
- }
36
- } = React__default['default'].useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
37
- const resetLatestInteraction = React__default['default'].useCallback(() => {
46
+ hasError,
47
+ dataAttrs,
48
+ disabled
49
+ },
50
+ onGlobalKeyDown
51
+ } = React__default["default"].useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
52
+ const resetLatestInteraction = React__default["default"].useCallback(() => {
38
53
  setLatestInteractionRegion('');
39
54
  }, [setLatestInteractionRegion]);
40
55
  const mainCols = [];
@@ -44,18 +59,24 @@ const ControlledDateTimePickerContent = () => {
44
59
  const rightControlCols = [];
45
60
  if (shouldPreserveClearableSpace) rightControlCols.push('28px');
46
61
  if (withAnyPicker) rightControlCols.push('auto');
47
- return /*#__PURE__*/_jsx__default['default'](Styleds.StyledInputsWrapperGrid, {
48
- cols: mainCols,
49
- gutter: "xxs",
50
- pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
51
- justPicker: hideDate && hideTime,
52
- withAnyPicker: withAnyPicker,
53
- onBlur: resetLatestInteraction,
54
- hasError: hasError,
55
- isControllerOnly: isControllerOnly
56
- }, void 0, hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx__default['default'](DateInputs.DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx__default['default'](TimeInputs.TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx__default['default'](dsGrid.Grid, {
57
- cols: rightControlCols
58
- }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx__default['default'](ClearButton.ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx__default['default'](PickersIcons.PickersIcons, {})) : null) : null);
62
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
63
+ children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread({
64
+ cols: mainCols,
65
+ gutter: "xxs",
66
+ pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
67
+ justPicker: hideDate && hideTime,
68
+ withAnyPicker: withAnyPicker,
69
+ onBlur: resetLatestInteraction,
70
+ onKeyDown: onGlobalKeyDown,
71
+ hasError: hasError,
72
+ isControllerOnly: isControllerOnly,
73
+ disabled: disabled
74
+ }, dataAttrs), {}, {
75
+ children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx__default["default"](DateInputs.DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx__default["default"](TimeInputs.TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
76
+ cols: rightControlCols
77
+ }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx__default["default"](ClearButton.ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx__default["default"](PickersIcons.PickersIcons, {})) : null) : null]
78
+ }))
79
+ });
59
80
  };
60
81
 
61
82
  exports.ControlledDateTimePickerContent = ControlledDateTimePickerContent;
@@ -19,15 +19,18 @@ const isInvalidDay = day => {
19
19
  return day.length > 2 || day === '00' || !numberOnly || Number.parseInt(day, 10) > 31;
20
20
  };
21
21
 
22
- const DDInput = /*#__PURE__*/React__default['default'].memo(({
23
- onChange,
24
- onBlur,
25
- onFocus,
26
- onKeyDown,
27
- value,
28
- contextRef,
29
- placeholder
30
- }) => {
22
+ const DDInput = /*#__PURE__*/React__default["default"].memo(_ref => {
23
+ let {
24
+ onChange,
25
+ onBlur,
26
+ onFocus,
27
+ onKeyDown,
28
+ value,
29
+ disabled,
30
+ contextRef,
31
+ placeholder,
32
+ ariaCurrentValueForInputs
33
+ } = _ref;
31
34
  const validateOnChange = React.useCallback(e => {
32
35
  var _e$target;
33
36
 
@@ -46,8 +49,10 @@ const DDInput = /*#__PURE__*/React__default['default'].memo(({
46
49
  value: value,
47
50
  ref: contextRef,
48
51
  placeholder: placeholder,
49
- "aria-label": "day input field",
50
- "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
52
+ "aria-label": "day input field, ".concat(ariaCurrentValueForInputs),
53
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY,
54
+ disabled: disabled,
55
+ "aria-disabled": disabled
51
56
  });
52
57
  });
53
58
 
@@ -23,6 +23,7 @@ const DateInputs = () => {
23
23
  month,
24
24
  day,
25
25
  year,
26
+ autoFocusMonthInput,
26
27
  onMonthChange,
27
28
  onDayChange,
28
29
  onYearChange,
@@ -34,44 +35,53 @@ const DateInputs = () => {
34
35
  onYearFocus,
35
36
  onMonthKeyDown,
36
37
  onDayKeyDown,
37
- onYearKeyDown
38
+ onYearKeyDown,
39
+ disabled
38
40
  } = useDateInputs.useDateInputs(); // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo
39
41
 
40
42
  const {
41
43
  monthInputRef,
42
44
  dayInputRef,
43
- yearInputRef
45
+ yearInputRef,
46
+ ariaCurrentValueForInputs
44
47
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
45
- return /*#__PURE__*/_jsx__default['default'](dsGrid.Grid, {
48
+ return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
46
49
  cols: [config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.largeInputWidth]
47
- }, void 0, /*#__PURE__*/_jsx__default['default'](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default['default'](MMInput.MMInput, {
50
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](MMInput.MMInput, {
48
51
  onChange: onMonthChange,
49
52
  onBlur: onMonthBlur,
50
53
  onFocus: onMonthFocus,
51
54
  onKeyDown: onMonthKeyDown,
52
55
  value: month,
53
56
  contextRef: monthInputRef,
54
- placeholder: "MM"
55
- })), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default['default'](Styleds.StyledSeparator, {
57
+ autoFocusMonthInput: autoFocusMonthInput,
58
+ placeholder: "MM",
59
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
60
+ disabled: disabled
61
+ })), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
56
62
  alignItems: "center"
57
- }, void 0, "/")), /*#__PURE__*/_jsx__default['default'](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default['default'](DDInput.DDInput, {
63
+ }, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](DDInput.DDInput, {
58
64
  onChange: onDayChange,
59
65
  onBlur: onDayBlur,
60
66
  onFocus: onDayFocus,
61
67
  onKeyDown: onDayKeyDown,
62
68
  value: day,
63
69
  contextRef: dayInputRef,
64
- placeholder: "DD"
65
- })), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default['default'](Styleds.StyledSeparator, {
70
+ placeholder: "DD",
71
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
72
+ disabled: disabled
73
+ })), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
66
74
  alignItems: "center"
67
- }, void 0, "/")), /*#__PURE__*/_jsx__default['default'](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default['default'](YYYYInput.YYYYInput, {
75
+ }, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](YYYYInput.YYYYInput, {
68
76
  onChange: onYearChange,
69
77
  onBlur: onYearBlur,
70
78
  onFocus: onYearFocus,
71
79
  onKeyDown: onYearKeyDown,
72
80
  value: year,
73
81
  contextRef: yearInputRef,
74
- placeholder: "YYYY"
82
+ placeholder: "YYYY",
83
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
84
+ disabled: disabled
75
85
  })));
76
86
  };
77
87
 
@@ -19,15 +19,19 @@ const isInvalidMonth = month => {
19
19
  return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;
20
20
  };
21
21
 
22
- const MMInput = /*#__PURE__*/React__default['default'].memo(({
23
- onChange,
24
- onBlur,
25
- onFocus,
26
- onKeyDown,
27
- value,
28
- placeholder,
29
- contextRef
30
- }) => {
22
+ const MMInput = /*#__PURE__*/React__default["default"].memo(_ref => {
23
+ let {
24
+ onChange,
25
+ onBlur,
26
+ onFocus,
27
+ onKeyDown,
28
+ value,
29
+ disabled,
30
+ placeholder,
31
+ contextRef,
32
+ autoFocusMonthInput,
33
+ ariaCurrentValueForInputs
34
+ } = _ref;
31
35
  const validateOnChange = React.useCallback(e => {
32
36
  var _e$target;
33
37
 
@@ -39,6 +43,7 @@ const MMInput = /*#__PURE__*/React__default['default'].memo(({
39
43
  onChange(e);
40
44
  }, [onChange]);
41
45
  return /*#__PURE__*/jsxRuntime.jsx(Styleds.Styled2DigitsInput, {
46
+ autoFocus: autoFocusMonthInput,
42
47
  onChange: validateOnChange,
43
48
  onBlur: onBlur,
44
49
  onFocus: onFocus,
@@ -46,8 +51,10 @@ const MMInput = /*#__PURE__*/React__default['default'].memo(({
46
51
  value: value,
47
52
  ref: contextRef,
48
53
  placeholder: placeholder,
49
- "aria-label": "month input field",
50
- "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
54
+ "aria-label": "month input field, ".concat(ariaCurrentValueForInputs),
55
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
56
+ disabled: disabled,
57
+ "aria-disabled": disabled
51
58
  });
52
59
  });
53
60
 
@@ -19,15 +19,18 @@ const isInvalidYear = year => {
19
19
  return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;
20
20
  };
21
21
 
22
- const YYYYInput = /*#__PURE__*/React__default['default'].memo(({
23
- onChange,
24
- onBlur,
25
- onFocus,
26
- onKeyDown,
27
- value,
28
- placeholder,
29
- contextRef
30
- }) => {
22
+ const YYYYInput = /*#__PURE__*/React__default["default"].memo(_ref => {
23
+ let {
24
+ onChange,
25
+ onBlur,
26
+ onFocus,
27
+ onKeyDown,
28
+ value,
29
+ disabled,
30
+ placeholder,
31
+ contextRef,
32
+ ariaCurrentValueForInputs
33
+ } = _ref;
31
34
  const validateOnChange = React.useCallback(e => {
32
35
  var _e$target;
33
36
 
@@ -46,8 +49,10 @@ const YYYYInput = /*#__PURE__*/React__default['default'].memo(({
46
49
  value: value,
47
50
  ref: contextRef,
48
51
  placeholder: placeholder,
49
- "aria-label": "year input field",
50
- "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
52
+ "aria-label": "year input field, ".concat(ariaCurrentValueForInputs),
53
+ "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
54
+ disabled: disabled,
55
+ "aria-disabled": disabled
51
56
  });
52
57
  });
53
58