@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
@@ -1,15 +1,16 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import 'react';
3
- import CloseMedium from '@elliemae/ds-icons/CloseMedium';
4
- import { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';
3
+ import { CloseMedium } from '@elliemae/ds-icons';
4
+ import { DSIconColors } from '@elliemae/ds-icon';
5
+ import { BUTTON_SIZES, BUTTON_VARIANT } from '@elliemae/ds-button';
5
6
  import { StyledClearButton } from '../Styleds.js';
6
7
  import { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid.js';
7
8
  import { useClearButton } from './useClearButton.js';
8
9
 
9
- var _CloseMedium;
10
10
  const ClearButton = () => {
11
11
  const {
12
12
  onClearClick,
13
+ onClearButtonKeyDown,
13
14
  clearButtonRef,
14
15
  withAnyPicker,
15
16
  withClearBtn
@@ -17,15 +18,17 @@ const ClearButton = () => {
17
18
  return /*#__PURE__*/_jsx(StyledClearButton, {
18
19
  shouldDisplay: withClearBtn,
19
20
  "aria-label": "clear selected date",
20
- buttonType: "text",
21
- leftIcon: _CloseMedium || (_CloseMedium = /*#__PURE__*/_jsx(CloseMedium, {})),
22
- size: "m",
21
+ buttonType: "icon",
22
+ size: BUTTON_SIZES.M,
23
23
  variant: BUTTON_VARIANT.DEFAULT,
24
24
  "data-testid": ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
25
25
  innerRef: clearButtonRef,
26
26
  onClick: onClearClick,
27
+ onKeyDown: onClearButtonKeyDown,
27
28
  withAnyPicker: withAnyPicker
28
- });
29
+ }, void 0, /*#__PURE__*/_jsx(CloseMedium, {
30
+ color: DSIconColors.PRIMARY
31
+ }));
29
32
  };
30
33
 
31
34
  export { ClearButton };
@@ -7,15 +7,60 @@ const useClearButton = () => {
7
7
  handleClearAll,
8
8
  clearButtonRef,
9
9
  withAnyPicker,
10
- withClearBtn
10
+ withClearBtn,
11
+ withAnyInputs,
12
+ isWithTimeInputs,
13
+ isWithDateInputs,
14
+ isTimeSelector,
15
+ hourInputRef,
16
+ monthInputRef,
17
+ pickerButtonRef,
18
+ meridiemInputRef,
19
+ yearInputRef,
20
+ setLatestInteractionRegion
11
21
  } = useContext(ControlledDateTimePickerContext);
12
- const onClearClick = useCallback(e => handleClearAll(e), [handleClearAll]);
22
+ const focusFirstRegion = useCallback(() => {
23
+ var _hourInputRef$current, _hourInputRef$current2, _monthInputRef$curren, _monthInputRef$curren2;
24
+
25
+ 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);
26
+ }, [withAnyInputs, isTimeSelector, hourInputRef, monthInputRef]);
27
+ const onClearClick = useCallback(e => {
28
+ handleClearAll(e);
29
+ setLatestInteractionRegion('clear-btn');
30
+ focusFirstRegion();
31
+ }, [focusFirstRegion, handleClearAll, setLatestInteractionRegion]);
32
+ const onHomeKeyDown = useCallback(() => {
33
+ focusFirstRegion();
34
+ }, [focusFirstRegion]);
35
+ const onEndKeyDown = useCallback(() => {
36
+ var _pickerButtonRef$curr, _pickerButtonRef$curr2;
37
+
38
+ 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);
39
+ }, [withAnyPicker, pickerButtonRef]);
40
+ const onClearButtonKeyDown = useCallback(e => {
41
+ const {
42
+ key
43
+ } = e;
44
+ const preventDefaultKeys = ['Home', 'End'];
45
+ const stopPropagationKeys = ['Home', 'End'];
46
+ if (preventDefaultKeys.includes(key)) e.preventDefault();
47
+ if (stopPropagationKeys.includes(key)) e.stopPropagation();
48
+ if (key === 'Home') onHomeKeyDown();
49
+ if (key === 'End') onEndKeyDown();
50
+
51
+ if (key === 'Backspace' && withAnyInputs) {
52
+ var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
53
+
54
+ 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);
55
+ }
56
+ }, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onEndKeyDown, onHomeKeyDown, withAnyInputs, yearInputRef]);
13
57
  return useMemo(() => ({
14
58
  onClearClick,
59
+ onClearButtonKeyDown,
15
60
  clearButtonRef,
16
61
  withAnyPicker,
17
62
  withClearBtn
18
- }), [onClearClick, clearButtonRef, withAnyPicker, withClearBtn]);
63
+ }), [onClearClick, onClearButtonKeyDown, clearButtonRef, withAnyPicker, withClearBtn]);
19
64
  };
20
65
 
21
66
  export { useClearButton };
@@ -1,3 +1,9 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
1
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
8
  import React from 'react';
3
9
  import { Grid } from '@elliemae/ds-grid';
@@ -7,8 +13,13 @@ import { DateInputs } from './DateInputs/DateInputs.js';
7
13
  import { TimeInputs } from './TimeInputs/TimeInputs.js';
8
14
  import { PickersIcons } from './Pickers/PickersIcons.js';
9
15
  import { ClearButton } from './ClearButton/ClearButton.js';
16
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
10
17
 
11
18
  var _DateInputs, _TimeInputs, _ClearButton, _PickersIcons;
19
+
20
+ 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; }
21
+
22
+ 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(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; }
12
23
  const ControlledDateTimePickerContent = () => {
13
24
  const {
14
25
  hideDate,
@@ -22,8 +33,11 @@ const ControlledDateTimePickerContent = () => {
22
33
  shouldPreserveClearableSpace,
23
34
  isControllerOnly,
24
35
  props: {
25
- hasError
26
- }
36
+ hasError,
37
+ dataAttrs,
38
+ disabled
39
+ },
40
+ onGlobalKeyDown
27
41
  } = React.useContext(ControlledDateTimePickerContext);
28
42
  const resetLatestInteraction = React.useCallback(() => {
29
43
  setLatestInteractionRegion('');
@@ -35,18 +49,24 @@ const ControlledDateTimePickerContent = () => {
35
49
  const rightControlCols = [];
36
50
  if (shouldPreserveClearableSpace) rightControlCols.push('28px');
37
51
  if (withAnyPicker) rightControlCols.push('auto');
38
- return /*#__PURE__*/_jsx(StyledInputsWrapperGrid, {
39
- cols: mainCols,
40
- gutter: "xxs",
41
- pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
42
- justPicker: hideDate && hideTime,
43
- withAnyPicker: withAnyPicker,
44
- onBlur: resetLatestInteraction,
45
- hasError: hasError,
46
- isControllerOnly: isControllerOnly
47
- }, void 0, hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx(DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx(TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx(Grid, {
48
- cols: rightControlCols
49
- }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx(ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx(PickersIcons, {})) : null) : null);
52
+ return /*#__PURE__*/jsx(Fragment, {
53
+ children: /*#__PURE__*/jsxs(StyledInputsWrapperGrid, _objectSpread(_objectSpread({
54
+ cols: mainCols,
55
+ gutter: "xxs",
56
+ pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
57
+ justPicker: hideDate && hideTime,
58
+ withAnyPicker: withAnyPicker,
59
+ onBlur: resetLatestInteraction,
60
+ onKeyDown: onGlobalKeyDown,
61
+ hasError: hasError,
62
+ isControllerOnly: isControllerOnly,
63
+ disabled: disabled
64
+ }, dataAttrs), {}, {
65
+ children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx(DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx(TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx(Grid, {
66
+ cols: rightControlCols
67
+ }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx(ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx(PickersIcons, {})) : null) : null]
68
+ }))
69
+ });
50
70
  };
51
71
 
52
72
  export { ControlledDateTimePickerContent };
@@ -11,15 +11,18 @@ const isInvalidDay = day => {
11
11
  return day.length > 2 || day === '00' || !numberOnly || Number.parseInt(day, 10) > 31;
12
12
  };
13
13
 
14
- const DDInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- contextRef,
21
- placeholder
22
- }) => {
14
+ const DDInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ contextRef,
23
+ placeholder,
24
+ ariaCurrentValueForInputs
25
+ } = _ref;
23
26
  const validateOnChange = useCallback(e => {
24
27
  var _e$target;
25
28
 
@@ -38,8 +41,10 @@ const DDInput = /*#__PURE__*/React.memo(({
38
41
  value: value,
39
42
  ref: contextRef,
40
43
  placeholder: placeholder,
41
- "aria-label": "day input field",
42
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
44
+ "aria-label": "day input field, ".concat(ariaCurrentValueForInputs),
45
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY,
46
+ disabled: disabled,
47
+ "aria-disabled": disabled
43
48
  });
44
49
  });
45
50
 
@@ -15,6 +15,7 @@ const DateInputs = () => {
15
15
  month,
16
16
  day,
17
17
  year,
18
+ autoFocusMonthInput,
18
19
  onMonthChange,
19
20
  onDayChange,
20
21
  onYearChange,
@@ -26,13 +27,15 @@ const DateInputs = () => {
26
27
  onYearFocus,
27
28
  onMonthKeyDown,
28
29
  onDayKeyDown,
29
- onYearKeyDown
30
+ onYearKeyDown,
31
+ disabled
30
32
  } = useDateInputs(); // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo
31
33
 
32
34
  const {
33
35
  monthInputRef,
34
36
  dayInputRef,
35
- yearInputRef
37
+ yearInputRef,
38
+ ariaCurrentValueForInputs
36
39
  } = useContext(ControlledDateTimePickerContext);
37
40
  return /*#__PURE__*/_jsx(Grid, {
38
41
  cols: [fixedValues.smallInputWidth, fixedValues.separatorWidth, fixedValues.smallInputWidth, fixedValues.separatorWidth, fixedValues.largeInputWidth]
@@ -43,7 +46,10 @@ const DateInputs = () => {
43
46
  onKeyDown: onMonthKeyDown,
44
47
  value: month,
45
48
  contextRef: monthInputRef,
46
- placeholder: "MM"
49
+ autoFocusMonthInput: autoFocusMonthInput,
50
+ placeholder: "MM",
51
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
52
+ disabled: disabled
47
53
  })), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx(StyledSeparator, {
48
54
  alignItems: "center"
49
55
  }, void 0, "/")), /*#__PURE__*/_jsx(StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx(DDInput, {
@@ -53,7 +59,9 @@ const DateInputs = () => {
53
59
  onKeyDown: onDayKeyDown,
54
60
  value: day,
55
61
  contextRef: dayInputRef,
56
- placeholder: "DD"
62
+ placeholder: "DD",
63
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
64
+ disabled: disabled
57
65
  })), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx(StyledSeparator, {
58
66
  alignItems: "center"
59
67
  }, void 0, "/")), /*#__PURE__*/_jsx(StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx(YYYYInput, {
@@ -63,7 +71,9 @@ const DateInputs = () => {
63
71
  onKeyDown: onYearKeyDown,
64
72
  value: year,
65
73
  contextRef: yearInputRef,
66
- placeholder: "YYYY"
74
+ placeholder: "YYYY",
75
+ ariaCurrentValueForInputs: ariaCurrentValueForInputs,
76
+ disabled: disabled
67
77
  })));
68
78
  };
69
79
 
@@ -11,15 +11,19 @@ const isInvalidMonth = month => {
11
11
  return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;
12
12
  };
13
13
 
14
- const MMInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- placeholder,
21
- contextRef
22
- }) => {
14
+ const MMInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ placeholder,
23
+ contextRef,
24
+ autoFocusMonthInput,
25
+ ariaCurrentValueForInputs
26
+ } = _ref;
23
27
  const validateOnChange = useCallback(e => {
24
28
  var _e$target;
25
29
 
@@ -31,6 +35,7 @@ const MMInput = /*#__PURE__*/React.memo(({
31
35
  onChange(e);
32
36
  }, [onChange]);
33
37
  return /*#__PURE__*/jsx(Styled2DigitsInput, {
38
+ autoFocus: autoFocusMonthInput,
34
39
  onChange: validateOnChange,
35
40
  onBlur: onBlur,
36
41
  onFocus: onFocus,
@@ -38,8 +43,10 @@ const MMInput = /*#__PURE__*/React.memo(({
38
43
  value: value,
39
44
  ref: contextRef,
40
45
  placeholder: placeholder,
41
- "aria-label": "month input field",
42
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
46
+ "aria-label": "month input field, ".concat(ariaCurrentValueForInputs),
47
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
48
+ disabled: disabled,
49
+ "aria-disabled": disabled
43
50
  });
44
51
  });
45
52
 
@@ -11,15 +11,18 @@ const isInvalidYear = year => {
11
11
  return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;
12
12
  };
13
13
 
14
- const YYYYInput = /*#__PURE__*/React.memo(({
15
- onChange,
16
- onBlur,
17
- onFocus,
18
- onKeyDown,
19
- value,
20
- placeholder,
21
- contextRef
22
- }) => {
14
+ const YYYYInput = /*#__PURE__*/React.memo(_ref => {
15
+ let {
16
+ onChange,
17
+ onBlur,
18
+ onFocus,
19
+ onKeyDown,
20
+ value,
21
+ disabled,
22
+ placeholder,
23
+ contextRef,
24
+ ariaCurrentValueForInputs
25
+ } = _ref;
23
26
  const validateOnChange = useCallback(e => {
24
27
  var _e$target;
25
28
 
@@ -38,8 +41,10 @@ const YYYYInput = /*#__PURE__*/React.memo(({
38
41
  value: value,
39
42
  ref: contextRef,
40
43
  placeholder: placeholder,
41
- "aria-label": "year input field",
42
- "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
44
+ "aria-label": "year input field, ".concat(ariaCurrentValueForInputs),
45
+ "data-testid": ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
46
+ disabled: disabled,
47
+ "aria-disabled": disabled
43
48
  });
44
49
  });
45
50