@elliemae/ds-controlled-form 2.4.1-rc.1 → 2.4.1-rc.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 (368) hide show
  1. package/cjs/autocomplete/Autocomplete.js +4 -5
  2. package/cjs/autocomplete/AutocompleteCTX.js +3 -14
  3. package/cjs/autocomplete/AutocompleteDataTestids.js +1 -7
  4. package/cjs/autocomplete/config/useAutocomplete.js +23 -10
  5. package/cjs/autocomplete/parts/container/Container.js +36 -20
  6. package/cjs/autocomplete/parts/container/styled.js +1 -5
  7. package/cjs/autocomplete/parts/{controls → container}/useKeyboardNavigation.js +8 -24
  8. package/cjs/autocomplete/parts/menu-list/MenuList.js +17 -50
  9. package/cjs/autocomplete/parts/menu-list/styled.js +9 -10
  10. package/cjs/autocomplete/parts/menu-list/useItemRenderer.js +38 -44
  11. package/cjs/autocomplete/react-desc-prop-types.js +4 -8
  12. package/cjs/autocomplete/utils/listHelper.js +8 -16
  13. package/cjs/checkbox/ControlledCheckbox.js +2 -1
  14. package/cjs/checkbox/react-desc-prop-types.js +2 -0
  15. package/cjs/combobox/ComboBox.js +1 -0
  16. package/cjs/combobox/config/useComboBox.js +8 -2
  17. package/cjs/combobox/config/useCorrectOptions.js +14 -42
  18. package/cjs/combobox/index.js +1 -0
  19. package/cjs/combobox/parts/A11yFocusedOption.js +3 -3
  20. package/cjs/combobox/parts/controls/Controls.js +4 -2
  21. package/cjs/combobox/parts/controls-input/ControlsInput.js +2 -0
  22. package/cjs/combobox/parts/controls-input/styled.js +1 -1
  23. package/cjs/combobox/parts/controls-input/useControlsInput.js +6 -6
  24. package/cjs/combobox/parts/controls-input/useKeyboardNavigation.js +30 -26
  25. package/cjs/combobox/parts/controls-input/useMaskedOnChange.js +7 -5
  26. package/cjs/combobox/parts/dropdown-indicator/DropdownIndicator.js +6 -4
  27. package/cjs/combobox/parts/header-list/useHeaderListHandlers.js +4 -4
  28. package/cjs/combobox/parts/menu-list/MenuList.js +13 -7
  29. package/cjs/combobox/parts/menu-list/styled.js +16 -5
  30. package/cjs/combobox/parts/menu-list/useItemRenderer.js +8 -8
  31. package/cjs/combobox/parts/menu-list/useMenuListSetFocusOption.js +6 -6
  32. package/cjs/combobox/react-desc-prop-types.js +2 -1
  33. package/cjs/combobox/utils/listHelper.js +40 -11
  34. package/cjs/date-time-picker/ControlledDateTimePickerCTX.js +1 -114
  35. package/cjs/date-time-picker/ControlledDateTimePickerDatatestid.js +0 -2
  36. package/cjs/date-time-picker/config/useChangeHandlers.js +264 -0
  37. package/cjs/date-time-picker/config/useControlledDateTimePicker.js +37 -420
  38. package/cjs/date-time-picker/config/useGetDestructuredValues.js +25 -68
  39. package/cjs/date-time-picker/config/useGetFlags.js +173 -0
  40. package/cjs/date-time-picker/config/useGetPropsBasedOnType.js +101 -0
  41. package/cjs/date-time-picker/config/useGetPropsWithDefault.js +2 -3
  42. package/cjs/date-time-picker/config/useGetReferences.js +86 -0
  43. package/cjs/date-time-picker/config/useGlobalKeyHandlers.js +106 -0
  44. package/cjs/date-time-picker/config/useRelevantValueFromProps.js +39 -0
  45. package/cjs/date-time-picker/config/useValidateProps.js +47 -42
  46. package/cjs/date-time-picker/parts/ClearButton/ClearButton.js +20 -8
  47. package/cjs/date-time-picker/parts/ControlledDateTimePickerContent.js +14 -12
  48. package/cjs/date-time-picker/parts/DateInputs/useDateInputs.js +5 -5
  49. package/cjs/date-time-picker/parts/Pickers/Calendar/Calendar.js +11 -13
  50. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -1
  51. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -49
  52. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  53. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -7
  54. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +8 -4
  55. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +5 -2
  56. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -2
  57. package/cjs/date-time-picker/parts/Pickers/Calendar/Day.js +18 -18
  58. package/cjs/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +24 -122
  59. package/cjs/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +32 -4
  60. package/cjs/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +10 -6
  61. package/cjs/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  62. package/cjs/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +7 -4
  63. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +7 -3
  64. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -16
  65. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +0 -1
  66. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +10 -10
  67. package/cjs/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +18 -13
  68. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +60 -33
  69. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -13
  70. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +11 -13
  71. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -2
  72. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +1 -65
  73. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -3
  74. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -2
  75. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +18 -116
  76. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +52 -94
  77. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +4 -1
  78. package/cjs/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  79. package/cjs/date-time-picker/parts/TimeInputs/HHInput.js +1 -3
  80. package/cjs/date-time-picker/parts/TimeInputs/MeridiemInput.js +1 -1
  81. package/cjs/date-time-picker/parts/TimeInputs/TimeInputs.js +3 -7
  82. package/cjs/date-time-picker/parts/TimeInputs/useTimeInputs.js +3 -6
  83. package/cjs/date-time-picker/propTypes.js +56 -23
  84. package/cjs/{autocomplete/index.d.js → date-time-picker/sharedTypes.js} +0 -0
  85. package/cjs/date-time-picker/utils/dateHelpers.js +56 -56
  86. package/cjs/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -5
  87. package/cjs/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +50 -47
  88. package/cjs/date-time-picker/utils/hooks/useOnClickOutside.js +1 -2
  89. package/cjs/date-time-picker/utils/stringHelpers.js +8 -14
  90. package/cjs/date-time-picker/utils/typeGuards.js +14 -0
  91. package/cjs/index.js +20 -3
  92. package/cjs/large-text-input/DSControlledLargeTextInput.js +83 -0
  93. package/cjs/large-text-input/exported-related/data-test-ids.js +11 -0
  94. package/cjs/large-text-input/exported-related/index.js +12 -0
  95. package/cjs/large-text-input/exported-related/theming.js +13 -0
  96. package/cjs/large-text-input/index.js +15 -0
  97. package/cjs/large-text-input/react-desc-prop-types.js +45 -0
  98. package/cjs/large-text-input/styles.js +40 -0
  99. package/cjs/mask-hook/hooks/index.js +11 -3
  100. package/cjs/mask-hook/hooks/useNumberMask.js +7 -0
  101. package/cjs/mask-hook/hooks/usePhoneMask.js +7 -0
  102. package/cjs/mask-hook/hooks/useRegExpMask.js +122 -0
  103. package/cjs/mask-hook/hooks/useSSNMask.js +7 -0
  104. package/cjs/mask-hook/hooks/{useZipCode.js → useZipCodeMask.js} +12 -5
  105. package/cjs/mask-hook/index.js +11 -3
  106. package/cjs/mask-hook/react-desc-prop-types.js +9 -0
  107. package/cjs/mask-hook/utils/addSpecialCharacters.js +3 -4
  108. package/cjs/mask-hook/utils/flatStringArray.js +18 -0
  109. package/cjs/mask-hook/utils/index.js +2 -0
  110. package/esm/autocomplete/Autocomplete.js +2 -3
  111. package/esm/autocomplete/AutocompleteCTX.js +3 -14
  112. package/esm/autocomplete/AutocompleteDataTestids.js +1 -7
  113. package/esm/autocomplete/config/useAutocomplete.js +27 -14
  114. package/esm/autocomplete/parts/container/Container.js +38 -23
  115. package/esm/autocomplete/parts/container/styled.js +2 -5
  116. package/esm/autocomplete/parts/{controls → container}/useKeyboardNavigation.js +8 -24
  117. package/esm/autocomplete/parts/menu-list/MenuList.js +19 -52
  118. package/esm/autocomplete/parts/menu-list/styled.js +9 -10
  119. package/esm/autocomplete/parts/menu-list/useItemRenderer.js +39 -45
  120. package/esm/autocomplete/react-desc-prop-types.js +5 -8
  121. package/esm/autocomplete/utils/listHelper.js +8 -16
  122. package/esm/checkbox/ControlledCheckbox.js +2 -1
  123. package/esm/checkbox/react-desc-prop-types.js +2 -0
  124. package/esm/combobox/ComboBox.js +1 -1
  125. package/esm/combobox/config/useComboBox.js +8 -2
  126. package/esm/combobox/config/useCorrectOptions.js +15 -43
  127. package/esm/combobox/index.js +1 -1
  128. package/esm/combobox/parts/A11yFocusedOption.js +3 -3
  129. package/esm/combobox/parts/controls/Controls.js +4 -2
  130. package/esm/combobox/parts/controls-input/ControlsInput.js +2 -0
  131. package/esm/combobox/parts/controls-input/styled.js +1 -1
  132. package/esm/combobox/parts/controls-input/useControlsInput.js +6 -6
  133. package/esm/combobox/parts/controls-input/useKeyboardNavigation.js +30 -26
  134. package/esm/combobox/parts/controls-input/useMaskedOnChange.js +7 -5
  135. package/esm/combobox/parts/dropdown-indicator/DropdownIndicator.js +2 -2
  136. package/esm/combobox/parts/header-list/useHeaderListHandlers.js +4 -4
  137. package/esm/combobox/parts/menu-list/MenuList.js +13 -7
  138. package/esm/combobox/parts/menu-list/styled.js +16 -5
  139. package/esm/combobox/parts/menu-list/useItemRenderer.js +8 -8
  140. package/esm/combobox/parts/menu-list/useMenuListSetFocusOption.js +6 -6
  141. package/esm/combobox/react-desc-prop-types.js +2 -1
  142. package/esm/combobox/utils/listHelper.js +38 -12
  143. package/esm/date-time-picker/ControlledDateTimePickerCTX.js +3 -115
  144. package/esm/date-time-picker/ControlledDateTimePickerDatatestid.js +0 -2
  145. package/esm/date-time-picker/config/useChangeHandlers.js +256 -0
  146. package/esm/date-time-picker/config/useControlledDateTimePicker.js +38 -421
  147. package/esm/date-time-picker/config/useGetDestructuredValues.js +21 -68
  148. package/esm/date-time-picker/config/useGetFlags.js +165 -0
  149. package/esm/date-time-picker/config/useGetPropsBasedOnType.js +97 -0
  150. package/esm/date-time-picker/config/useGetPropsWithDefault.js +1 -2
  151. package/esm/date-time-picker/config/useGetReferences.js +82 -0
  152. package/esm/date-time-picker/config/useGlobalKeyHandlers.js +98 -0
  153. package/esm/date-time-picker/config/useRelevantValueFromProps.js +35 -0
  154. package/esm/date-time-picker/config/useValidateProps.js +47 -42
  155. package/esm/date-time-picker/parts/ClearButton/ClearButton.js +20 -9
  156. package/esm/date-time-picker/parts/ControlledDateTimePickerContent.js +14 -12
  157. package/esm/date-time-picker/parts/DateInputs/useDateInputs.js +5 -5
  158. package/esm/date-time-picker/parts/Pickers/Calendar/Calendar.js +11 -13
  159. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -1
  160. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarContext.js +2 -50
  161. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  162. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +10 -7
  163. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +9 -5
  164. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +5 -2
  165. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -2
  166. package/esm/date-time-picker/parts/Pickers/Calendar/Day.js +18 -18
  167. package/esm/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +23 -125
  168. package/esm/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +33 -5
  169. package/esm/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +10 -6
  170. package/esm/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +30 -14
  171. package/esm/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +7 -4
  172. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +9 -5
  173. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +1 -16
  174. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -2
  175. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +10 -10
  176. package/esm/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +18 -13
  177. package/esm/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +59 -33
  178. package/esm/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +18 -13
  179. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +11 -13
  180. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -2
  181. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -66
  182. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -3
  183. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -2
  184. package/esm/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +15 -117
  185. package/esm/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +54 -96
  186. package/esm/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +4 -1
  187. package/esm/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +1 -1
  188. package/esm/date-time-picker/parts/TimeInputs/HHInput.js +1 -3
  189. package/esm/date-time-picker/parts/TimeInputs/MeridiemInput.js +1 -1
  190. package/esm/date-time-picker/parts/TimeInputs/TimeInputs.js +3 -7
  191. package/esm/date-time-picker/parts/TimeInputs/useTimeInputs.js +3 -6
  192. package/esm/date-time-picker/propTypes.js +49 -17
  193. package/esm/{autocomplete/index.d.js → date-time-picker/sharedTypes.js} +0 -0
  194. package/esm/date-time-picker/utils/dateHelpers.js +57 -57
  195. package/esm/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +2 -5
  196. package/esm/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +46 -47
  197. package/esm/date-time-picker/utils/hooks/useOnClickOutside.js +1 -2
  198. package/esm/date-time-picker/utils/stringHelpers.js +8 -14
  199. package/esm/date-time-picker/utils/typeGuards.js +8 -0
  200. package/esm/index.js +9 -5
  201. package/esm/large-text-input/DSControlledLargeTextInput.js +72 -0
  202. package/esm/large-text-input/exported-related/data-test-ids.js +7 -0
  203. package/esm/large-text-input/exported-related/index.js +2 -0
  204. package/esm/large-text-input/exported-related/theming.js +8 -0
  205. package/esm/large-text-input/index.js +3 -0
  206. package/esm/large-text-input/react-desc-prop-types.js +36 -0
  207. package/esm/large-text-input/styles.js +30 -0
  208. package/esm/mask-hook/hooks/index.js +5 -4
  209. package/esm/mask-hook/hooks/useNumberMask.js +7 -1
  210. package/esm/mask-hook/hooks/usePhoneMask.js +7 -1
  211. package/esm/mask-hook/hooks/useRegExpMask.js +116 -0
  212. package/esm/mask-hook/hooks/useSSNMask.js +7 -1
  213. package/esm/mask-hook/hooks/{useZipCode.js → useZipCodeMask.js} +11 -5
  214. package/esm/mask-hook/index.js +5 -4
  215. package/esm/mask-hook/react-desc-prop-types.js +8 -1
  216. package/esm/mask-hook/utils/addSpecialCharacters.js +3 -4
  217. package/esm/mask-hook/utils/flatStringArray.js +14 -0
  218. package/esm/mask-hook/utils/index.js +1 -0
  219. package/package.json +92 -88
  220. package/types/autocomplete/Autocomplete.d.ts +4 -61
  221. package/types/autocomplete/AutocompleteCTX.d.ts +4 -3
  222. package/types/autocomplete/AutocompleteDataTestids.d.ts +1 -7
  223. package/types/autocomplete/config/useAutocomplete.d.ts +3 -2
  224. package/types/autocomplete/parts/container/Container.d.ts +1 -2
  225. package/types/autocomplete/parts/container/styled.d.ts +0 -1
  226. package/types/autocomplete/parts/{controls → container}/useKeyboardNavigation.d.ts +0 -0
  227. package/types/autocomplete/parts/menu-list/MenuList.d.ts +1 -2
  228. package/types/autocomplete/parts/menu-list/styled.d.ts +1 -4
  229. package/types/autocomplete/parts/menu-list/useItemRenderer.d.ts +2 -3
  230. package/types/autocomplete/react-desc-prop-types.d.ts +8 -18
  231. package/types/autocomplete/sharedTypes.d.ts +1 -3
  232. package/types/autocomplete/tests/general.test.d.ts +1 -0
  233. package/types/autocomplete/tests/utils.d.ts +5 -0
  234. package/types/autocomplete/utils/listHelper.d.ts +2 -2
  235. package/types/checkbox/ControlledCheckbox.d.ts +1 -1
  236. package/types/checkbox/react-desc-prop-types.d.ts +367 -1
  237. package/types/combobox/ComboBox.d.ts +2 -2
  238. package/types/combobox/parts/dropdown-indicator/DropdownIndicator.d.ts +1 -0
  239. package/types/combobox/react-desc-prop-types.d.ts +381 -3
  240. package/types/combobox/utils/listHelper.d.ts +4 -1
  241. package/types/date-time-picker/ControlledDateTimePicker.d.ts +25 -80
  242. package/types/date-time-picker/ControlledDateTimePickerCTX.d.ts +1 -2
  243. package/types/date-time-picker/ControlledDateTimePickerDatatestid.d.ts +46 -46
  244. package/types/date-time-picker/ControlledDateTimePickerTypes.d.ts +15 -15
  245. package/types/date-time-picker/config/useChangeHandlers.d.ts +25 -0
  246. package/types/date-time-picker/config/useControlledDateTimePicker.d.ts +18 -2
  247. package/types/date-time-picker/config/useGetDestructuredValues.d.ts +30 -4
  248. package/types/date-time-picker/config/useGetFlags.d.ts +27 -0
  249. package/types/date-time-picker/config/useGetPropsBasedOnType.d.ts +28 -0
  250. package/types/date-time-picker/config/useGetPropsWithDefault.d.ts +2 -2
  251. package/types/date-time-picker/config/useGetReferences.d.ts +39 -0
  252. package/types/date-time-picker/config/useGlobalKeyHandlers.d.ts +16 -0
  253. package/types/date-time-picker/config/useRelevantValueFromProps.d.ts +10 -0
  254. package/types/date-time-picker/config/useValidateProps.d.ts +2 -2
  255. package/types/date-time-picker/parts/ClearButton/useClearButton.d.ts +6 -6
  256. package/types/date-time-picker/parts/DateInputs/DDInput.d.ts +6 -6
  257. package/types/date-time-picker/parts/DateInputs/MMInput.d.ts +6 -6
  258. package/types/date-time-picker/parts/DateInputs/YYYYInput.d.ts +6 -6
  259. package/types/date-time-picker/parts/DateInputs/useDateInputs.d.ts +2 -2
  260. package/types/date-time-picker/parts/Pickers/Calendar/Calendar.d.ts +4 -2
  261. package/types/date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +3 -63
  262. package/types/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +4 -4
  263. package/types/date-time-picker/parts/Pickers/Calendar/CalendarFooter.d.ts +2 -2
  264. package/types/date-time-picker/parts/Pickers/Calendar/Day.d.ts +2 -2
  265. package/types/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +15 -2
  266. package/types/date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +12 -5
  267. package/types/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +17 -11
  268. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -16
  269. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +2 -2
  270. package/types/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +15 -1
  271. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheel.d.ts +4 -2
  272. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -62
  273. package/types/date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +2 -2
  274. package/types/date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +4 -1
  275. package/types/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +16 -5
  276. package/types/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +18 -3
  277. package/types/date-time-picker/parts/TimeInputs/HHInput.d.ts +6 -6
  278. package/types/date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +6 -6
  279. package/types/date-time-picker/parts/TimeInputs/MinutesInput.d.ts +6 -6
  280. package/types/date-time-picker/parts/TimeInputs/useTimeInputs.d.ts +22 -2
  281. package/types/date-time-picker/parts/config.d.ts +3 -3
  282. package/types/date-time-picker/sharedTypes.d.ts +94 -0
  283. package/types/date-time-picker/utils/constants.d.ts +33 -33
  284. package/types/date-time-picker/utils/dateHelpers.d.ts +15 -14
  285. package/types/date-time-picker/utils/dateTimeHelpers.d.ts +3 -3
  286. package/types/date-time-picker/utils/hooks/useGetDayFromDateString.d.ts +1 -1
  287. package/types/date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +2 -2
  288. package/types/date-time-picker/utils/hooks/useGetStartingFocusedDay.d.ts +6 -6
  289. package/types/date-time-picker/utils/hooks/useOnClickOutside.d.ts +1 -1
  290. package/types/date-time-picker/utils/timeHelpers.d.ts +2 -2
  291. package/types/date-time-picker/utils/typeGuards.d.ts +4 -0
  292. package/types/index.d.ts +1 -0
  293. package/types/large-text-input/DSControlledLargeTextInput.d.ts +5 -0
  294. package/types/large-text-input/exported-related/data-test-ids.d.ts +5 -0
  295. package/types/large-text-input/exported-related/index.d.ts +2 -0
  296. package/types/large-text-input/exported-related/theming.d.ts +6 -0
  297. package/types/large-text-input/index.d.ts +2 -0
  298. package/types/large-text-input/react-desc-prop-types.d.ts +447 -0
  299. package/types/large-text-input/styles.d.ts +3 -0
  300. package/types/large-text-input/tests/DSControlledLargeTextInput.test.d.ts +1 -0
  301. package/types/mask-hook/hooks/index.d.ts +2 -1
  302. package/types/mask-hook/hooks/useNumberMask.d.ts +2 -1
  303. package/types/mask-hook/hooks/usePhoneMask.d.ts +2 -1
  304. package/types/mask-hook/hooks/useRegExpMask.d.ts +4 -0
  305. package/types/mask-hook/hooks/useSSNMask.d.ts +2 -1
  306. package/types/mask-hook/hooks/useZipCodeMask.d.ts +4 -0
  307. package/types/mask-hook/react-desc-prop-types.d.ts +6 -1
  308. package/types/mask-hook/tests/useRegExpMask.test.d.ts +1 -0
  309. package/types/mask-hook/utils/flatStringArray.d.ts +1 -0
  310. package/types/mask-hook/utils/index.d.ts +1 -0
  311. package/types/text-input/DSInputText.d.ts +1 -1
  312. package/types/text-input/config/useInputText.d.ts +110 -110
  313. package/cjs/autocomplete/config/constants.js +0 -14
  314. package/cjs/autocomplete/config/useGetPropsWithDefault.js +0 -11
  315. package/cjs/autocomplete/parts/a11y-messages/MultiAllyMessages.js +0 -33
  316. package/cjs/autocomplete/parts/a11y-messages/SingleAllyMessages.js +0 -28
  317. package/cjs/autocomplete/parts/a11y-messages/index.js +0 -11
  318. package/cjs/autocomplete/parts/a11y-messages/styled.js +0 -15
  319. package/cjs/autocomplete/parts/controls/Controls.js +0 -63
  320. package/cjs/autocomplete/parts/controls/index.js +0 -9
  321. package/cjs/autocomplete/parts/controls/styled.js +0 -44
  322. package/cjs/autocomplete/parts/controls/useControlsInput.js +0 -44
  323. package/cjs/autocomplete/parts/controls/useMaskedOnChange.js +0 -28
  324. package/cjs/autocomplete/parts/menu-list/useMenuList.js +0 -69
  325. package/cjs/autocomplete/propTypes.js +0 -25
  326. package/cjs/autocomplete/utils/hooks/useKeyboardNavigation.js +0 -97
  327. package/cjs/autocomplete/utils/hooks/useOnElementResize.js +0 -37
  328. package/cjs/text-input/exported-related/name.js +0 -7
  329. package/cjs/text-input/exported-related/slots.js +0 -11
  330. package/esm/autocomplete/config/constants.js +0 -10
  331. package/esm/autocomplete/config/useGetPropsWithDefault.js +0 -7
  332. package/esm/autocomplete/parts/a11y-messages/MultiAllyMessages.js +0 -25
  333. package/esm/autocomplete/parts/a11y-messages/SingleAllyMessages.js +0 -20
  334. package/esm/autocomplete/parts/a11y-messages/index.js +0 -2
  335. package/esm/autocomplete/parts/a11y-messages/styled.js +0 -7
  336. package/esm/autocomplete/parts/controls/Controls.js +0 -55
  337. package/esm/autocomplete/parts/controls/index.js +0 -1
  338. package/esm/autocomplete/parts/controls/styled.js +0 -32
  339. package/esm/autocomplete/parts/controls/useControlsInput.js +0 -40
  340. package/esm/autocomplete/parts/controls/useMaskedOnChange.js +0 -24
  341. package/esm/autocomplete/parts/menu-list/useMenuList.js +0 -65
  342. package/esm/autocomplete/propTypes.js +0 -21
  343. package/esm/autocomplete/utils/hooks/useKeyboardNavigation.js +0 -93
  344. package/esm/autocomplete/utils/hooks/useOnElementResize.js +0 -33
  345. package/esm/text-input/exported-related/name.js +0 -3
  346. package/esm/text-input/exported-related/slots.js +0 -7
  347. package/types/autocomplete/config/constants.d.ts +0 -8
  348. package/types/autocomplete/config/useGetPropsWithDefault.d.ts +0 -2
  349. package/types/autocomplete/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
  350. package/types/autocomplete/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
  351. package/types/autocomplete/parts/a11y-messages/index.d.ts +0 -2
  352. package/types/autocomplete/parts/a11y-messages/styled.d.ts +0 -1
  353. package/types/autocomplete/parts/controls/Controls.d.ts +0 -3
  354. package/types/autocomplete/parts/controls/index.d.ts +0 -1
  355. package/types/autocomplete/parts/controls/styled.d.ts +0 -8
  356. package/types/autocomplete/parts/controls/useControlsInput.d.ts +0 -9
  357. package/types/autocomplete/parts/controls/useMaskedOnChange.d.ts +0 -2
  358. package/types/autocomplete/parts/menu-list/useMenuList.d.ts +0 -2
  359. package/types/autocomplete/propTypes.d.ts +0 -51
  360. package/types/autocomplete/utils/hooks/useKeyboardNavigation.d.ts +0 -4
  361. package/types/autocomplete/utils/hooks/useOnElementResize.d.ts +0 -3
  362. package/types/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -2
  363. package/types/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -12
  364. package/types/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -2
  365. package/types/date-time-picker/propTypes.d.ts +0 -81
  366. package/types/mask-hook/hooks/useZipCode.d.ts +0 -3
  367. package/types/text-input/exported-related/name.d.ts +0 -1
  368. package/types/text-input/exported-related/slots.d.ts +0 -5
@@ -14,6 +14,7 @@ require('core-js/modules/esnext.iterator.for-each.js');
14
14
  var React = require('react');
15
15
  var dsIcons = require('@elliemae/ds-icons');
16
16
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
17
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
17
18
  var numberHelpers = require('../../../utils/numberHelpers.js');
18
19
  var Styleds = require('./Styleds.js');
19
20
  var TimeWheelContext = require('./TimeWheelContext.js');
@@ -31,22 +32,24 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
31
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
33
  const MinutesList = () => {
33
34
  const {
35
+ currHourNum,
34
36
  currMinuteNum,
35
- hours,
36
- minutes,
37
- meridiem,
37
+ currMeridiem,
38
38
  visibleMinutes,
39
39
  handlePrevMinute,
40
40
  handleNextMinute,
41
41
  handleTimeWheelBtnChangeMinutes,
42
42
  handlePrevMinuteBtnOnKeyDown,
43
43
  handleCurrMinutesOnKeyDown,
44
- handleNextMinuteBtnOnKeyDown,
44
+ handleNextMinuteBtnOnKeyDown
45
+ } = React.useContext(TimeWheelContext.TimeWheelContext);
46
+ const {
45
47
  prevMinutesBtnRef,
46
48
  currMinutesBtnRef,
47
49
  nextMinutesBtnRef,
48
- getIsDisabledTime
49
- } = React.useContext(TimeWheelContext.TimeWheelContext);
50
+ getIsDisabledTime,
51
+ minutes
52
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
50
53
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelList, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelChangeTimeBtn, {
51
54
  "aria-label": "subtract one minute",
52
55
  buttonType: "raw",
@@ -57,9 +60,9 @@ const MinutesList = () => {
57
60
  tabIndex: -1,
58
61
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL.PREV_MINUTE
59
62
  }, void 0, _ChevronSmallUp || (_ChevronSmallUp = /*#__PURE__*/_jsx__default["default"](dsIcons.ChevronSmallUp, {})))), visibleMinutes.map(minutesString => {
60
- const key = "timewheel-minutes-".concat(minutesString);
63
+ const key = "timewheel-minutes-".concat(minutesString || '');
61
64
  if (!minutesString) return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {}, key);
62
- const currMinutesTimeString = "".concat(hours || '01', ":").concat(minutesString, " ").concat(meridiem || 'AM');
65
+ const currMinutesTimeString = "".concat(currHourNum, ":").concat(minutesString, " ").concat(currMeridiem);
63
66
  const isEmptyCurrValueCurrentListItem = !minutes && numberHelpers.convertToPositiveNumberIfPossible(minutesString) === currMinuteNum;
64
67
  const isCurrentListItem = isEmptyCurrValueCurrentListItem || minutes === minutesString;
65
68
  const isDisabled = getIsDisabledTime(currMinutesTimeString);
@@ -68,23 +71,25 @@ const MinutesList = () => {
68
71
  onKeyDown: isCurrentListItem ? handleCurrMinutesOnKeyDown : undefined,
69
72
  innerRef: isCurrentListItem ? currMinutesBtnRef : undefined
70
73
  };
74
+ const styledProps = {
75
+ isCurrentListItem,
76
+ isDisabled
77
+ };
71
78
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledWheelListItem, {
72
79
  isCurrentListItem: isCurrentListItem,
73
80
  selected: numberHelpers.convertToPositiveNumberIfPossible(minutesString) === currMinuteNum
74
- }, key, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread({
75
- isCurrentListItem: isCurrentListItem,
81
+ }, key, /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledTimeBtn, _objectSpread(_objectSpread(_objectSpread({}, styledProps), {}, {
76
82
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.TIMEWHEEL[isCurrentListItem ? 'CURRENT_MINUTE' : 'MINUTE'],
77
83
  selected: minutes.length === 2 && numberHelpers.convertToPositiveNumberIfPossible(minutesString) === currMinuteNum,
78
84
  "aria-label": "".concat(minutesString, " minutes"),
79
85
  "aria-disabled": isDisabled,
80
- isDisabled: isDisabled,
81
86
  buttonType: "raw",
82
87
  size: "m",
83
88
  onClick: e => handleTimeWheelBtnChangeMinutes(minutesString, e),
84
89
  tabIndex: tabIndex,
85
90
  role: "spinbutton",
86
- "aria-valuemax": "59",
87
- "aria-valuemin": "0",
91
+ "aria-valuemax": 59,
92
+ "aria-valuemin": 0,
88
93
  "aria-valuenow": currMinuteNum,
89
94
  "aria-valuetext": "".concat(minutesString, " minutes")
90
95
  }, btnProps), {}, {
@@ -8,14 +8,14 @@ var TimeWheelIconTrigger = require('./TimeWheelIconTrigger.js');
8
8
  var TimeWheelWrapper = require('./TimeWheelWrapper.js');
9
9
  var TimeWheelContext = require('./TimeWheelContext.js');
10
10
  var useConfigTimePickerCTX = require('./useConfigTimePickerCTX.js');
11
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
11
12
  var jsxRuntime = require('react/jsx-runtime');
12
13
 
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
17
 
17
- var _TimeWheelIconTrigger, _TimeWheelWrapper;
18
-
18
+ var _TimeWheelIconTrigger, _TimeWheelWrapper, _WrappedTimeWheelCont;
19
19
  const WrappedTimeWheelContext = _ref => {
20
20
  let {
21
21
  children
@@ -26,19 +26,14 @@ const WrappedTimeWheelContext = _ref => {
26
26
  }, void 0, children);
27
27
  };
28
28
 
29
- const WrapWithTimeWheelContext = Component => {
30
- var _WrappedTimeWheelCont;
31
-
32
- return () => _WrappedTimeWheelCont || (_WrappedTimeWheelCont = /*#__PURE__*/_jsx__default["default"](WrappedTimeWheelContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](Component, {})));
33
- }; // we use the HoC to be able to use the useContext and be sure it's correctly initialized
34
- // the HoC is Reused in CalendarWithTimeWheel
35
-
36
- const TimeWheel = WrapWithTimeWheelContext(() => {
29
+ const TimeWheelContent = () => {
37
30
  const {
38
31
  showTimePicker,
39
- isControllerOnly,
40
32
  handleMenuWrapperKeyDown
41
33
  } = React.useContext(TimeWheelContext.TimeWheelContext);
34
+ const {
35
+ isControllerOnly
36
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
42
37
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
43
38
  children: [isControllerOnly ? null : _TimeWheelIconTrigger || (_TimeWheelIconTrigger = /*#__PURE__*/_jsx__default["default"](TimeWheelIconTrigger.TimeWheelIconTrigger, {})), isControllerOnly || showTimePicker ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
44
39
  children: /*#__PURE__*/_jsx__default["default"]("div", {
@@ -46,7 +41,10 @@ const TimeWheel = WrapWithTimeWheelContext(() => {
46
41
  }, void 0, _TimeWheelWrapper || (_TimeWheelWrapper = /*#__PURE__*/_jsx__default["default"](TimeWheelWrapper.TimeWheelWrapper, {})))
47
42
  }) : null]
48
43
  });
49
- });
44
+ }; // we wrap in context in a separate statement so we can use the useContext and be sure it's correctly initialized
45
+
46
+
47
+ const TimeWheel = () => _WrappedTimeWheelCont || (_WrappedTimeWheelCont = /*#__PURE__*/_jsx__default["default"](WrappedTimeWheelContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](TimeWheelContent, {})));
50
48
 
51
49
  exports.TimeWheel = TimeWheel;
52
- exports.WrapWithTimeWheelContext = WrapWithTimeWheelContext;
50
+ exports.WrappedTimeWheelContext = WrappedTimeWheelContext;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
7
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
8
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
9
  var Styleds = require('./Styleds.js');
9
10
  var HoursList = require('./HoursList.js');
10
11
  var MinutesList = require('./MinutesList.js');
@@ -25,9 +26,11 @@ const TimeWheelContent = /*#__PURE__*/React__default["default"].memo(_ref => {
25
26
  const {
26
27
  hours,
27
28
  minutes,
28
- meridiem,
29
- isControllerOnly
29
+ meridiem
30
30
  } = React.useContext(TimeWheelContext.TimeWheelContext);
31
+ const {
32
+ isControllerOnly
33
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
31
34
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledTimePickerContainer, {
32
35
  showShadow: showShadow,
33
36
  isControllerOnly: isControllerOnly,
@@ -5,71 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
 
7
7
  /* eslint-disable @typescript-eslint/indent */
8
-
9
- // eslint-disable-next-line @typescript-eslint/no-empty-function
10
- const noop = () => {};
11
-
12
- const defaultTimePickerContext = {
13
- ariaCurrentValueForInputs: '',
14
- tempTimeString: '',
15
- showTimePicker: false,
16
- setShowTimePicker: noop,
17
- setPopperElement: noop,
18
- setArrowElement: noop,
19
- usePopperHelpers: null,
20
- handleToggleTimePicker: noop,
21
- handleSetTriggerRef: noop,
22
- handleMenuWrapperKeyDown: noop,
23
- currHourNum: 1,
24
- hours: '01',
25
- visibleHours: [''],
26
- handlePrevHour: noop,
27
- handleNextHour: noop,
28
- handleTimeWheelBtnChangeHours: noop,
29
- currMinuteNum: 1,
30
- minutes: '00',
31
- visibleMinutes: [''],
32
- handlePrevMinute: noop,
33
- handleNextMinute: noop,
34
- handleTimeWheelBtnChangeMinutes: noop,
35
- // currSecondNum: 1,
36
- // seconds: '00',
37
- // visibleSeconds: [''],
38
- // handlePrevSecond: noop,
39
- // handleNextSecond: noop,
40
- // handleTimeWheelBtnChangeSeconds: noop,
41
- meridiem: 'AM',
42
- handleTimeWheelBtnChangeMeridiem: noop,
43
- isControllerOnly: false,
44
- autoFocusHourTimeWheel: false,
45
- handlePrevHourBtnOnKeyDown: noop,
46
- handleCurrHourOnKeyDown: noop,
47
- handleNextHourBtnOnKeyDown: noop,
48
- handlePrevMinuteBtnOnKeyDown: noop,
49
- handleCurrMinutesOnKeyDown: noop,
50
- handleNextMinuteBtnOnKeyDown: noop,
51
- // handlePrevSecondBtnOnKeyDown: noop,
52
- // handleCurrSecondsOnKeyDown: noop,
53
- // handleNextSecondBtnOnKeyDown: noop,
54
- handlePrevMeridiemBtnOnKeyDown: noop,
55
- handleCurrMeridiemOnKeyDown: noop,
56
- handleNextMeridiemBtnOnKeyDown: noop,
57
- handlePickerIconKeyDown: noop,
58
- prevHourBtnRef: /*#__PURE__*/React.createRef(),
59
- currHourBtnRef: /*#__PURE__*/React.createRef(),
60
- nextHourBtnRef: /*#__PURE__*/React.createRef(),
61
- prevMinutesBtnRef: /*#__PURE__*/React.createRef(),
62
- currMinutesBtnRef: /*#__PURE__*/React.createRef(),
63
- nextMinutesBtnRef: /*#__PURE__*/React.createRef(),
64
- // prevSecondsBtnRef: createRef<HTMLButtonElement>(),
65
- // currSecondsBtnRef: createRef<HTMLButtonElement>(),
66
- // nextSecondsBtnRef: createRef<HTMLButtonElement>(),
67
- prevMeridiemBtnRef: /*#__PURE__*/React.createRef(),
68
- currMeridiemBtnRef: /*#__PURE__*/React.createRef(),
69
- nextMeridiemBtnRef: /*#__PURE__*/React.createRef(),
70
- getIsDisabledTime: () => false,
71
- disabled: false
72
- };
8
+ const defaultTimePickerContext = {};
73
9
  /** Context for cross component communication */
74
10
 
75
11
  const TimeWheelContext = /*#__PURE__*/React.createContext(defaultTimePickerContext);
@@ -8,6 +8,7 @@ var DSButton = require('@elliemae/ds-button');
8
8
  var dsIcons = require('@elliemae/ds-icons');
9
9
  var TimeWheelContext = require('./TimeWheelContext.js');
10
10
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
11
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
11
12
 
12
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
14
 
@@ -21,10 +22,14 @@ const TimeWheelIconTrigger = () => {
21
22
  const {
22
23
  handleSetTriggerRef,
23
24
  handleToggleTimePicker,
24
- handlePickerIconKeyDown,
25
- ariaCurrentValueForInputs,
26
- disabled
25
+ handlePickerIconKeyDown
27
26
  } = React.useContext(TimeWheelContext.TimeWheelContext);
27
+ const {
28
+ props: {
29
+ disabled
30
+ },
31
+ ariaCurrentValueForInputs
32
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
28
33
  return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](DSButton.DSButtonV2, {
29
34
  "aria-label": "time picker context menu trigger, ".concat(ariaCurrentValueForInputs),
30
35
  buttonType: "icon",
@@ -11,6 +11,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
11
  var _jsx = require('@babel/runtime/helpers/jsx');
12
12
  var React = require('react');
13
13
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
14
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
14
15
  var TimeWheelContent = require('./TimeWheelContent.js');
15
16
  var TimeWheelContext = require('./TimeWheelContext.js');
16
17
  var jsxRuntime = require('react/jsx-runtime');
@@ -32,9 +33,11 @@ const TimeWheelWrapper = () => {
32
33
  usePopperHelpers: {
33
34
  styles,
34
35
  attributes
35
- },
36
- isControllerOnly
36
+ }
37
37
  } = React.useContext(TimeWheelContext.TimeWheelContext);
38
+ const {
39
+ isControllerOnly
40
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
38
41
  if (isControllerOnly) return _TimeWheelContent || (_TimeWheelContent = /*#__PURE__*/_jsx__default["default"](TimeWheelContent.TimeWheelContent, {
39
42
  showShadow: true
40
43
  }));
@@ -2,129 +2,31 @@
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 React = require('react');
6
- var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
12
  var usePopperTriggerLogic = require('./usePopperTriggerLogic.js');
8
13
  var useCurrentDisplayedWheelsLogic = require('./useCurrentDisplayedWheelsLogic.js');
9
14
  var useKeyboardHandlers = require('./useKeyboardHandlers.js');
10
15
 
11
- /* eslint-disable max-statements */
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
23
  const useConfigTimePickerCTX = () => {
13
- const {
14
- props: {
15
- minutesInterval,
16
- getIsDisabledTime,
17
- disabled
18
- },
19
- tempTimeString,
20
- prevHourBtnRef,
21
- currHourBtnRef,
22
- nextHourBtnRef,
23
- prevMinutesBtnRef,
24
- currMinutesBtnRef,
25
- nextMinutesBtnRef,
26
- prevMeridiemBtnRef,
27
- currMeridiemBtnRef,
28
- nextMeridiemBtnRef,
29
- isControllerOnly,
30
- autoFocusHourTimeWheel,
31
- ariaCurrentValueForInputs
32
- } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
33
- const {
34
- currHourNum,
35
- hours,
36
- visibleHours,
37
- handlePrevHour,
38
- handleNextHour,
39
- handleTimeWheelBtnChangeHours,
40
- currMinuteNum,
41
- minutes,
42
- visibleMinutes,
43
- handlePrevMinute,
44
- handleNextMinute,
45
- handleTimeWheelBtnChangeMinutes,
46
- meridiem,
47
- handleTimeWheelBtnChangeMeridiem
48
- } = useCurrentDisplayedWheelsLogic.useCurrentDisplayedWheelsLogic({
49
- minutesInterval
50
- });
51
- const {
52
- showTimePicker,
53
- setShowTimePicker,
54
- setPopperElement,
55
- setArrowElement,
56
- usePopperHelpers,
57
- handleToggleTimePicker,
58
- handleSetTriggerRef,
59
- handleMenuWrapperKeyDown
60
- } = usePopperTriggerLogic.usePopperTriggerLogic();
61
- const {
62
- handlePrevHourBtnOnKeyDown,
63
- handleCurrHourOnKeyDown,
64
- handleNextHourBtnOnKeyDown,
65
- handlePrevMinuteBtnOnKeyDown,
66
- handleCurrMinutesOnKeyDown,
67
- handleNextMinuteBtnOnKeyDown,
68
- handlePrevMeridiemBtnOnKeyDown,
69
- handleCurrMeridiemOnKeyDown,
70
- handleNextMeridiemBtnOnKeyDown,
71
- handlePickerIconKeyDown
72
- } = useKeyboardHandlers.useKeyboardHandlers({
73
- handlePrevHour,
74
- handleNextHour,
75
- handlePrevMinute,
76
- handleNextMinute,
77
- handleTimeWheelBtnChangeMeridiem
24
+ const currentDisplayedTimeWheelLogic = useCurrentDisplayedWheelsLogic.useCurrentDisplayedWheelsLogic();
25
+ const popperLogic = usePopperTriggerLogic.usePopperTriggerLogic();
26
+ const keyboardHandlers = useKeyboardHandlers.useKeyboardHandlers({
27
+ currentDisplayedTimeWheelLogic
78
28
  });
79
- return React.useMemo(() => ({
80
- tempTimeString,
81
- isControllerOnly,
82
- autoFocusHourTimeWheel,
83
- showTimePicker,
84
- setShowTimePicker,
85
- setPopperElement,
86
- setArrowElement,
87
- usePopperHelpers,
88
- handleToggleTimePicker,
89
- handleSetTriggerRef,
90
- handleMenuWrapperKeyDown,
91
- currHourNum,
92
- hours,
93
- visibleHours,
94
- handlePrevHour,
95
- handleNextHour,
96
- handleTimeWheelBtnChangeHours,
97
- currMinuteNum,
98
- minutes,
99
- visibleMinutes,
100
- handlePrevMinute,
101
- handleNextMinute,
102
- handleTimeWheelBtnChangeMinutes,
103
- meridiem,
104
- handleTimeWheelBtnChangeMeridiem,
105
- handlePrevHourBtnOnKeyDown,
106
- handleCurrHourOnKeyDown,
107
- handleNextHourBtnOnKeyDown,
108
- handlePrevMinuteBtnOnKeyDown,
109
- handleCurrMinutesOnKeyDown,
110
- handleNextMinuteBtnOnKeyDown,
111
- handlePrevMeridiemBtnOnKeyDown,
112
- handleCurrMeridiemOnKeyDown,
113
- handleNextMeridiemBtnOnKeyDown,
114
- handlePickerIconKeyDown,
115
- prevHourBtnRef,
116
- currHourBtnRef,
117
- nextHourBtnRef,
118
- prevMinutesBtnRef,
119
- currMinutesBtnRef,
120
- nextMinutesBtnRef,
121
- prevMeridiemBtnRef,
122
- currMeridiemBtnRef,
123
- nextMeridiemBtnRef,
124
- getIsDisabledTime,
125
- ariaCurrentValueForInputs,
126
- disabled
127
- }), [tempTimeString, isControllerOnly, autoFocusHourTimeWheel, showTimePicker, setShowTimePicker, setPopperElement, setArrowElement, usePopperHelpers, handleToggleTimePicker, handleSetTriggerRef, handleMenuWrapperKeyDown, currHourNum, hours, visibleHours, handlePrevHour, handleNextHour, handleTimeWheelBtnChangeHours, currMinuteNum, minutes, visibleMinutes, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMinutes, meridiem, handleTimeWheelBtnChangeMeridiem, handlePrevHourBtnOnKeyDown, handleCurrHourOnKeyDown, handleNextHourBtnOnKeyDown, handlePrevMinuteBtnOnKeyDown, handleCurrMinutesOnKeyDown, handleNextMinuteBtnOnKeyDown, handlePrevMeridiemBtnOnKeyDown, handleCurrMeridiemOnKeyDown, handleNextMeridiemBtnOnKeyDown, handlePickerIconKeyDown, prevHourBtnRef, currHourBtnRef, nextHourBtnRef, prevMinutesBtnRef, currMinutesBtnRef, nextMinutesBtnRef, prevMeridiemBtnRef, currMeridiemBtnRef, nextMeridiemBtnRef, getIsDisabledTime, ariaCurrentValueForInputs, disabled]);
29
+ return React.useMemo(() => _objectSpread(_objectSpread(_objectSpread({}, currentDisplayedTimeWheelLogic), popperLogic), keyboardHandlers), [currentDisplayedTimeWheelLogic, popperLogic, keyboardHandlers]);
128
30
  };
129
31
 
130
32
  exports.useConfigTimePickerCTX = useConfigTimePickerCTX;
@@ -8,6 +8,7 @@ var React = require('react');
8
8
  var useTimeInputs = require('../../TimeInputs/useTimeInputs.js');
9
9
  var numberHelpers = require('../../../utils/numberHelpers.js');
10
10
  var stringHelpers = require('../../../utils/stringHelpers.js');
11
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
11
12
 
12
13
  const totalHoursList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
13
14
  const hoursInterval = 1; // using this just to unify the logic between how hours and minutes are handled
@@ -20,78 +21,75 @@ const getTotalMinuteListWithStep = function () {
20
21
  return new Array(length).fill('_').map((_v, i) => stringHelpers.prependStringWithPlaceHolders("".concat(i * step), 2));
21
22
  };
22
23
 
23
- const useCurrentDisplayedWheelsLogic = _ref => {
24
- let {
25
- minutesInterval
26
- } = _ref;
24
+ const useCurrentDisplayedWheelsLogic = () => {
27
25
  const {
26
+ minutesInterval,
27
+ onTimeWheelOpenStartingTime,
28
28
  hours,
29
29
  minutes,
30
- // seconds,
31
- meridiem = 'AM',
30
+ meridiem
31
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
32
+ const {
32
33
  handleChangeHours,
33
34
  handleChangeMinutes,
34
- // handleChangeSeconds,
35
35
  handleChangeMeridiem
36
36
  } = useTimeInputs.useTimeInputs();
37
+ const {
38
+ startingHours,
39
+ startingMinutes,
40
+ startingMeridiem
41
+ } = React.useMemo(() => {
42
+ const startingVals = stringHelpers.deconstructValuesFromTimeString(onTimeWheelOpenStartingTime);
43
+ return {
44
+ startingHours: startingVals.hours,
45
+ startingMinutes: startingVals.minutes,
46
+ startingMeridiem: startingVals.meridiem
47
+ };
48
+ }, [onTimeWheelOpenStartingTime]);
37
49
  const currHourNum = React.useMemo(() => {
38
50
  const hoursAsNum = numberHelpers.convertToPositiveNumberIfPossible(hours);
39
- if (hoursAsNum === -1) return 1;
40
- return hoursAsNum;
41
- }, [hours]);
51
+
52
+ if (hours && hoursAsNum !== -1) {
53
+ return hoursAsNum;
54
+ }
55
+
56
+ const startingHoursAsNum = numberHelpers.convertToPositiveNumberIfPossible(startingHours);
57
+ if (startingHoursAsNum === -1) return 1;
58
+ return startingHoursAsNum;
59
+ }, [hours, startingHours]);
42
60
  const currMinuteNum = React.useMemo(() => {
43
61
  const minutesAsNum = numberHelpers.convertToPositiveNumberIfPossible(minutes);
44
- if (minutesAsNum === -1) return 0;
45
- return minutesAsNum;
46
- }, [minutes]);
62
+
63
+ if (minutes && minutesAsNum !== -1) {
64
+ return minutesAsNum;
65
+ }
66
+
67
+ const startingMinutesAsNum = numberHelpers.convertToPositiveNumberIfPossible(startingMinutes);
68
+ if (startingMinutesAsNum === -1) return 0;
69
+ return startingMinutesAsNum;
70
+ }, [minutes, startingMinutes]);
71
+ const currMeridiem = React.useMemo(() => {
72
+ if (meridiem !== '') return meridiem;
73
+ if (startingMeridiem !== '') return startingMeridiem;
74
+ return 'AM';
75
+ }, [meridiem, startingMeridiem]);
47
76
  const totalMinutesList = React.useMemo(() => getTotalMinuteListWithStep(minutesInterval), [minutesInterval]);
48
77
  const currMinuteIndex = React.useMemo(() => Math.floor(currMinuteNum / minutesInterval), [currMinuteNum, minutesInterval]);
49
- const currHoursIndex = React.useMemo(() => Math.floor(currHourNum / hoursInterval) - hoursStartPositionOffset, [currHourNum]); // const currSecondNum = useMemo(() => {
50
- // const secondsAsNum = convertToPositiveNumberIfPossible(seconds);
51
- // if (secondsAsNum === -1) return 0;
52
- // return secondsAsNum;
53
- // }, [seconds]);
54
-
78
+ const currHoursIndex = React.useMemo(() => Math.floor(currHourNum / hoursInterval) - hoursStartPositionOffset, [currHourNum]);
55
79
  const visibleHours = React.useMemo(() => {
56
- const newHours = []; // if (currHoursIndex >= 2) newHours.push(totalHoursList[currHoursIndex - 2]);
57
- // else newHours.push(null);
58
-
80
+ const newHours = [];
59
81
  if (currHoursIndex >= 1) newHours.push(totalHoursList[currHoursIndex - 1]);else newHours.push(null);
60
82
  newHours.push(totalHoursList[currHoursIndex]);
61
- if (currHoursIndex <= 11) newHours.push(totalHoursList[currHoursIndex + 1]);else newHours.push(null); // if (currHoursIndex <= 10) newHours.push(totalHoursList[currHoursIndex + 2]);
62
- // else newHours.push(null);
63
-
83
+ if (currHoursIndex <= 11) newHours.push(totalHoursList[currHoursIndex + 1]);else newHours.push(null);
64
84
  return newHours;
65
85
  }, [currHoursIndex]);
66
86
  const visibleMinutes = React.useMemo(() => {
67
- const newMinutes = []; // if (currMinuteIndex >= 2)
68
- // newMinutes.push(totalMinutesList[currMinuteIndex - 2]);
69
- // else newMinutes.push(null);
70
-
87
+ const newMinutes = [];
71
88
  if (currMinuteIndex >= 1) newMinutes.push(totalMinutesList[currMinuteIndex - 1]);else newMinutes.push(null);
72
89
  newMinutes.push(totalMinutesList[currMinuteIndex]);
73
- if (currMinuteIndex < totalMinutesList.length) newMinutes.push(totalMinutesList[currMinuteIndex + 1]);else newMinutes.push(null); // if (currMinuteIndex < totalMinutesList.length -1)
74
- // newMinutes.push(totalMinutesList[currMinuteIndex + 2]);
75
- // else newMinutes.push(null);
76
-
90
+ if (currMinuteIndex < totalMinutesList.length) newMinutes.push(totalMinutesList[currMinuteIndex + 1]);else newMinutes.push(null);
77
91
  return newMinutes;
78
- }, [currMinuteIndex, totalMinutesList]); // const visibleSeconds = useMemo(() => {
79
- // const newSeconds = [];
80
- // if (currSecondNum >= 3)
81
- // newSeconds.push(totalMinutesList[currSecondNum - 3]);
82
- // else newSeconds.push(null);
83
- // if (currSecondNum >= 2)
84
- // newSeconds.push(totalMinutesList[currSecondNum - 2]);
85
- // else newSeconds.push(null);
86
- // newSeconds.push(totalMinutesList[currSecondNum - 1]);
87
- // if (currSecondNum <= 59) newSeconds.push(totalMinutesList[currSecondNum]);
88
- // else newSeconds.push(null);
89
- // if (currSecondNum <= 58)
90
- // newSeconds.push(totalMinutesList[currSecondNum + 1]);
91
- // else newSeconds.push(null);
92
- // return newSeconds;
93
- // }, [currSecondNum]);
94
-
92
+ }, [currMinuteIndex, totalMinutesList]);
95
93
  const handleTimeWheelBtnChangeHours = React.useCallback((newHours, e) => {
96
94
  handleChangeHours(newHours, e);
97
95
  }, [handleChangeHours]);
@@ -117,64 +115,24 @@ const useCurrentDisplayedWheelsLogic = _ref => {
117
115
  }, [handleChangeCurrMinute, minutesInterval]);
118
116
  const handleNextMinute = React.useCallback(e => {
119
117
  handleChangeCurrMinute(minutesInterval, e);
120
- }, [handleChangeCurrMinute, minutesInterval]); // const handleTimeWheelBtnChangeSeconds = useCallback(
121
- // (newSeconds, e) => {
122
- // handleChangeSeconds(newSeconds, e);
123
- // },
124
- // [handleChangeSeconds],
125
- // );
126
- // const handleChangeCurrSecond = useCallback(
127
- // (offset, e) => {
128
- // const newS = currSecondNum + offset;
129
- // if (newS >= 0 && newS <= 59)
130
- // handleChangeSeconds(prependStringWithPlaceHolders(`${newS}`, 2), e);
131
- // },
132
- // [currSecondNum, handleChangeSeconds],
133
- // );
134
- // const handlePrevSecond = useCallback(
135
- // (e) => {
136
- // handleChangeCurrSecond(-1, e);
137
- // },
138
- // [handleChangeCurrSecond],
139
- // );
140
- // const handleNextSecond = useCallback(
141
- // (e) => {
142
- // handleChangeCurrSecond(1, e);
143
- // },
144
- // [handleChangeCurrSecond],
145
- // );
146
-
118
+ }, [handleChangeCurrMinute, minutesInterval]);
147
119
  const handleTimeWheelBtnChangeMeridiem = React.useCallback((newMeridiem, e) => {
148
120
  handleChangeMeridiem(newMeridiem, e);
149
121
  }, [handleChangeMeridiem]);
150
122
  return React.useMemo(() => ({
151
123
  currHourNum,
152
- hours,
153
124
  visibleHours,
154
125
  handlePrevHour,
155
126
  handleNextHour,
156
127
  handleTimeWheelBtnChangeHours,
157
128
  currMinuteNum,
158
- minutes,
159
129
  visibleMinutes,
160
130
  handlePrevMinute,
161
131
  handleNextMinute,
162
132
  handleTimeWheelBtnChangeMinutes,
163
- // currSecondNum,
164
- // seconds,
165
- // visibleSeconds,
166
- // handlePrevSecond,
167
- // handleNextSecond,
168
- // handleTimeWheelBtnChangeSeconds,
169
- meridiem,
170
- handleTimeWheelBtnChangeMeridiem
171
- }), [currHourNum, currMinuteNum, // currSecondNum,
172
- handleNextHour, handleNextMinute, // handleNextSecond,
173
- handlePrevHour, handlePrevMinute, // handlePrevSecond,
174
- handleTimeWheelBtnChangeHours, handleTimeWheelBtnChangeMeridiem, handleTimeWheelBtnChangeMinutes, // handleTimeWheelBtnChangeSeconds,
175
- hours, meridiem, minutes, // seconds,
176
- visibleHours, visibleMinutes // visibleSeconds,
177
- ]);
133
+ handleTimeWheelBtnChangeMeridiem,
134
+ currMeridiem
135
+ }), [currHourNum, currMinuteNum, currMeridiem, handleNextHour, handleNextMinute, handlePrevHour, handlePrevMinute, handleTimeWheelBtnChangeHours, handleTimeWheelBtnChangeMeridiem, handleTimeWheelBtnChangeMinutes, visibleHours, visibleMinutes]);
178
136
  };
179
137
 
180
138
  exports.useCurrentDisplayedWheelsLogic = useCurrentDisplayedWheelsLogic;
@@ -9,12 +9,15 @@ var constants = require('../../../utils/constants.js');
9
9
  /* eslint-disable @typescript-eslint/indent */
10
10
  const useKeyboardHandlers = _ref => {
11
11
  let {
12
+ currentDisplayedTimeWheelLogic
13
+ } = _ref;
14
+ const {
12
15
  handlePrevHour,
13
16
  handleNextHour,
14
17
  handlePrevMinute,
15
18
  handleNextMinute,
16
19
  handleTimeWheelBtnChangeMeridiem
17
- } = _ref;
20
+ } = currentDisplayedTimeWheelLogic;
18
21
  const {
19
22
  withAnyInputs,
20
23
  isWithTimeInputs,
@@ -51,7 +51,7 @@ const usePopperTriggerLogic = () => {
51
51
  useOnClickOutside.useOnClickOutside(popperElement, e => {
52
52
  var _pickerButtonRef$curr, _pickerButtonRef$curr2;
53
53
 
54
- if (!(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr = pickerButtonRef.current) !== null && _pickerButtonRef$curr !== void 0 && (_pickerButtonRef$curr2 = _pickerButtonRef$curr.contains) !== null && _pickerButtonRef$curr2 !== void 0 && _pickerButtonRef$curr2.call(_pickerButtonRef$curr, e === null || e === void 0 ? void 0 : e.target))) closeTimePicker();
54
+ if (e.target instanceof Element && !(pickerButtonRef !== null && pickerButtonRef !== void 0 && (_pickerButtonRef$curr = pickerButtonRef.current) !== null && _pickerButtonRef$curr !== void 0 && (_pickerButtonRef$curr2 = _pickerButtonRef$curr.contains) !== null && _pickerButtonRef$curr2 !== void 0 && _pickerButtonRef$curr2.call(_pickerButtonRef$curr, e === null || e === void 0 ? void 0 : e.target))) closeTimePicker();
55
55
  });
56
56
  const handleSetTriggerRef = React.useCallback(newRef => {
57
57
  pickerButtonRef.current = newRef;