@elliemae/ds-controlled-form 2.4.0-rc.2 → 2.4.1-rc.10

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
@@ -2,6 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
11
  var _jsx = require('@babel/runtime/helpers/jsx');
6
12
  require('react');
7
13
  var dsIcons = require('@elliemae/ds-icons');
@@ -10,32 +16,38 @@ var DSButton = require('@elliemae/ds-button');
10
16
  var Styleds = require('../Styleds.js');
11
17
  var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
12
18
  var useClearButton = require('./useClearButton.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
13
20
 
14
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
22
 
23
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
24
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
25
 
26
+ 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; }
27
+
28
+ 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; }
18
29
  const ClearButton = () => {
19
30
  const {
20
31
  onClearClick,
21
32
  onClearButtonKeyDown,
22
33
  clearButtonRef,
23
- withAnyPicker,
24
34
  withClearBtn
25
35
  } = useClearButton.useClearButton();
26
- return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
27
- shouldDisplay: withClearBtn,
36
+ const styledsAttrs = {
37
+ shouldDisplay: withClearBtn
38
+ };
39
+ return /*#__PURE__*/jsxRuntime.jsx(Styleds.StyledClearButton, _objectSpread(_objectSpread({
28
40
  "aria-label": "clear selected date",
29
41
  buttonType: "icon",
30
42
  size: DSButton.BUTTON_SIZES.M,
31
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
32
43
  "data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
33
44
  innerRef: clearButtonRef,
34
45
  onClick: onClearClick,
35
- onKeyDown: onClearButtonKeyDown,
36
- withAnyPicker: withAnyPicker
37
- }, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
38
- color: dsIcon.DSIconColors.PRIMARY
46
+ onKeyDown: onClearButtonKeyDown
47
+ }, styledsAttrs), {}, {
48
+ children: /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
49
+ color: dsIcon.DSIconColors.PRIMARY
50
+ })
39
51
  }));
40
52
  };
41
53
 
@@ -32,6 +32,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
32
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; }
33
33
  const ControlledDateTimePickerContent = () => {
34
34
  const {
35
+ props: {
36
+ hasError,
37
+ disabled
38
+ },
35
39
  hideDate,
36
40
  hideDatePicker,
37
41
  hideTime,
@@ -42,13 +46,15 @@ const ControlledDateTimePickerContent = () => {
42
46
  withAnyRightController,
43
47
  shouldPreserveClearableSpace,
44
48
  isControllerOnly,
45
- props: {
46
- hasError,
47
- dataAttrs,
48
- disabled
49
- },
49
+ dataAttrs,
50
50
  onGlobalKeyDown
51
51
  } = React__default["default"].useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
52
+ const styledsAttrs = {
53
+ justPicker: hideDate && hideTime,
54
+ withAnyPicker,
55
+ hasError,
56
+ isControllerOnly
57
+ };
52
58
  const resetLatestInteraction = React__default["default"].useCallback(() => {
53
59
  setLatestInteractionRegion('');
54
60
  }, [setLatestInteractionRegion]);
@@ -60,18 +66,14 @@ const ControlledDateTimePickerContent = () => {
60
66
  if (shouldPreserveClearableSpace) rightControlCols.push('28px');
61
67
  if (withAnyPicker) rightControlCols.push('auto');
62
68
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
63
- children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread({
69
+ children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread(_objectSpread({
64
70
  cols: mainCols,
65
71
  gutter: "xxs",
66
- pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
67
- justPicker: hideDate && hideTime,
68
- withAnyPicker: withAnyPicker,
72
+ pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : undefined,
69
73
  onBlur: resetLatestInteraction,
70
74
  onKeyDown: onGlobalKeyDown,
71
- hasError: hasError,
72
- isControllerOnly: isControllerOnly,
73
75
  disabled: disabled
74
- }, dataAttrs), {}, {
76
+ }, styledsAttrs), dataAttrs), {}, {
75
77
  children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx__default["default"](DateInputs.DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx__default["default"](TimeInputs.TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
76
78
  cols: rightControlCols
77
79
  }, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx__default["default"](ClearButton.ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx__default["default"](PickersIcons.PickersIcons, {})) : null) : null]
@@ -24,13 +24,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
24
24
  const useDateInputs = () => {
25
25
  const {
26
26
  props: {
27
- onMonthChange: appOnMonthChange,
28
- onDayChange: appOnDayChange,
29
- onYearChange: appOnYearChange,
30
- getIsDisabledDay,
31
- getIsOutOfRangeDay,
32
27
  disabled
33
28
  },
29
+ appOnMonthChange,
30
+ appOnDayChange,
31
+ appOnYearChange,
32
+ getIsDisabledDay,
33
+ getIsOutOfRangeDay,
34
34
  month,
35
35
  day,
36
36
  year,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
8
  var CalendarIconTrigger = require('./CalendarIconTrigger.js');
8
9
  var CalendarWrapper = require('./CalendarWrapper.js');
9
10
  var CalendarContext = require('./CalendarContext.js');
@@ -14,8 +15,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
15
 
15
16
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
16
17
 
17
- var _CalendarIconTrigger, _CalendarWrapper;
18
-
18
+ var _CalendarIconTrigger, _CalendarWrapper, _WrappedCalendarConte;
19
19
  const WrappedCalendarContext = _ref => {
20
20
  let {
21
21
  children
@@ -26,19 +26,14 @@ const WrappedCalendarContext = _ref => {
26
26
  }, void 0, children);
27
27
  };
28
28
 
29
- const WrapWithCalendarContext = Component => {
30
- var _WrappedCalendarConte;
31
-
32
- return () => _WrappedCalendarConte || (_WrappedCalendarConte = /*#__PURE__*/_jsx__default["default"](WrappedCalendarContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](Component, {})));
33
- }; // we use the HoC to be able to use the useContext
34
- // the HoC is Reused in CalendarWithTimeWheel
35
-
36
- const Calendar = WrapWithCalendarContext(() => {
29
+ const CalendarContent = () => {
37
30
  const {
38
31
  showCalendar,
39
- isControllerOnly,
40
32
  handleMenuWrapperKeyDown
41
33
  } = React.useContext(CalendarContext.CalendarContext);
34
+ const {
35
+ isControllerOnly
36
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
42
37
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
43
38
  children: [isControllerOnly ? null : _CalendarIconTrigger || (_CalendarIconTrigger = /*#__PURE__*/_jsx__default["default"](CalendarIconTrigger.CalendarIconTrigger, {})), isControllerOnly || showCalendar ? /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
44
39
  children: /*#__PURE__*/_jsx__default["default"]("div", {
@@ -46,7 +41,10 @@ const Calendar = WrapWithCalendarContext(() => {
46
41
  }, void 0, _CalendarWrapper || (_CalendarWrapper = /*#__PURE__*/_jsx__default["default"](CalendarWrapper.CalendarWrapper, {})))
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 Calendar = () => _WrappedCalendarConte || (_WrappedCalendarConte = /*#__PURE__*/_jsx__default["default"](WrappedCalendarContext, {}, void 0, /*#__PURE__*/_jsx__default["default"](CalendarContent, {})));
50
48
 
51
49
  exports.Calendar = Calendar;
52
- exports.WrapWithCalendarContext = WrapWithCalendarContext;
50
+ exports.WrappedCalendarContext = WrappedCalendarContext;
@@ -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 CalendarBody = require('./CalendarBody.js');
9
10
  var CalendarHead = require('./CalendarHead.js');
10
11
  var CalendarFooter = require('./CalendarFooter.js');
@@ -25,9 +26,11 @@ const CalendarContent = _ref => {
25
26
  className = ''
26
27
  } = _ref;
27
28
  const {
28
- isControllerOnly,
29
29
  daysMatrixByWeekday
30
30
  } = React.useContext(CalendarContext.CalendarContext);
31
+ const {
32
+ isControllerOnly
33
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
31
34
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledShadowWrapper, {
32
35
  className: className,
33
36
  isControllerOnly: isControllerOnly,
@@ -4,55 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- // eslint-disable-next-line @typescript-eslint/no-empty-function
8
- const noop = () => {};
9
-
10
- const defaultCalendarContext = {
11
- ariaCurrentValueForInputs: '',
12
- showCalendar: false,
13
- disabled: false,
14
- setShowCalendar: noop,
15
- closeCalendar: noop,
16
- setPopperElement: noop,
17
- setArrowElement: noop,
18
- usePopperHelpers: undefined,
19
- handleToggleCalendar: noop,
20
- handleSetTriggerRef: noop,
21
- handleMenuWrapperKeyDown: noop,
22
- prevYearBtnRef: /*#__PURE__*/React.createRef(),
23
- prevMonthBtnRef: /*#__PURE__*/React.createRef(),
24
- nextMonthBtnRef: /*#__PURE__*/React.createRef(),
25
- nextYearBtnRef: /*#__PURE__*/React.createRef(),
26
- calendarDaysWrapperRef: /*#__PURE__*/React.createRef(),
27
- currentMonth: undefined,
28
- currentYear: undefined,
29
- daysArray: [],
30
- invisibleFirstDay: undefined,
31
- daysMatrixByWeekday: [],
32
- invisibleLastDay: undefined,
33
- focusedDay: undefined,
34
- tryToFocusCurrentlyDataIsFocusedDay: noop,
35
- resetFocusedDayToStartDate: noop,
36
- handleFocusMetaDay: noop,
37
- handleFocusMetaDayByDay: noop,
38
- handlePrevMonth: noop,
39
- handlePrevYear: noop,
40
- handleNextMonth: noop,
41
- handleNextYear: noop,
42
- handleDayOnKeyDown: noop,
43
- handlePrevYearKeyDown: noop,
44
- handlePrevMonthKeyDown: noop,
45
- handleNextMonthKeyDown: noop,
46
- handleNextYearKeyDown: noop,
47
- handlePickerIconKeyDown: noop,
48
- isControllerOnly: false,
49
- isWithTimeWheelToo: true,
50
- autoFocusPrevMonthArrow: false,
51
- onPrevYearFocus: noop,
52
- onPrevMonthFocus: noop,
53
- onNextMonthFocus: noop,
54
- onNextYearFocus: noop
55
- };
7
+ const defaultCalendarContext = {};
56
8
  /** Context for cross component communication */
57
9
 
58
10
  const CalendarContext = /*#__PURE__*/React.createContext(defaultCalendarContext);
@@ -25,10 +25,10 @@ const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(_ref => {
25
25
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
26
26
  ref: innerRef,
27
27
  role: "rowgroup",
28
- children: [/*#__PURE__*/_jsx__default["default"](Day.Day, {
28
+ children: [invisibleFirstDay ? /*#__PURE__*/_jsx__default["default"](Day.Day, {
29
29
  metaDay: invisibleFirstDay,
30
30
  isInvisible: true
31
- }, "ds-calendar-".concat(invisibleFirstDay.day.toString())), daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
31
+ }, "ds-calendar-".concat(invisibleFirstDay.day.toString())) : null, daysMatrixByWeekday.map((week, i) => /*#__PURE__*/_jsx__default["default"](Styleds.StyledWeekDaysListWrapper, {
32
32
  role: "row",
33
33
  "aria-rowindex": i + 1,
34
34
  cols: ['32px', '32px', '32px', '32px', '32px', '32px', '32px'],
@@ -40,10 +40,10 @@ const CalendarDaysList = /*#__PURE__*/React__default["default"].memo(_ref => {
40
40
  }, "ds-calendar-week-".concat(week[0].day.toString(), "-").concat(week[6].day.toString()), week.map((metaDay, z) => /*#__PURE__*/_jsx__default["default"](Day.Day, {
41
41
  metaDay: metaDay,
42
42
  colIndex: z + 1
43
- }, "ds-calendar-".concat(metaDay.day.toString()))))), /*#__PURE__*/_jsx__default["default"](Day.Day, {
43
+ }, "ds-calendar-".concat(metaDay.day.toString()))))), invisibleLastDay ? /*#__PURE__*/_jsx__default["default"](Day.Day, {
44
44
  metaDay: invisibleLastDay,
45
45
  isInvisible: true
46
- }, "ds-calendar-".concat(invisibleLastDay.day.toString()))]
46
+ }, "ds-calendar-".concat(invisibleLastDay.day.toString())) : null]
47
47
  });
48
48
  });
49
49
 
@@ -8,6 +8,7 @@ var DSButton = require('@elliemae/ds-button');
8
8
  var dsIcons = require('@elliemae/ds-icons');
9
9
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
10
10
  var dateHelpers = require('../../../utils/dateHelpers.js');
11
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
11
12
  var Styleds = require('./Styleds.js');
12
13
  var CalendarContext = require('./CalendarContext.js');
13
14
 
@@ -29,10 +30,6 @@ const useGetFormattedCurrentDate = () => {
29
30
  const CalendarHead = () => {
30
31
  const currentFormatedDate = useGetFormattedCurrentDate();
31
32
  const {
32
- prevYearBtnRef,
33
- prevMonthBtnRef,
34
- nextMonthBtnRef,
35
- nextYearBtnRef,
36
33
  handlePrevYear,
37
34
  handlePrevMonth,
38
35
  handleNextMonth,
@@ -44,10 +41,16 @@ const CalendarHead = () => {
44
41
  onPrevYearFocus,
45
42
  onPrevMonthFocus,
46
43
  onNextMonthFocus,
47
- onNextYearFocus,
48
- isControllerOnly,
49
- autoFocusPrevMonthArrow
44
+ onNextYearFocus
50
45
  } = React.useContext(CalendarContext.CalendarContext);
46
+ const {
47
+ isControllerOnly,
48
+ autoFocusPrevMonthArrow,
49
+ prevYearBtnRef,
50
+ prevMonthBtnRef,
51
+ nextMonthBtnRef,
52
+ nextYearBtnRef
53
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
51
54
  return /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeader, {}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledHeaderButton, {
52
55
  "aria-label": "previous year",
53
56
  buttonType: "raw",
@@ -7,6 +7,7 @@ var React = require('react');
7
7
  var DSButton = require('@elliemae/ds-button');
8
8
  var dsIcons = require('@elliemae/ds-icons');
9
9
  var ControlledDateTimePickerDatatestid = require('../../../ControlledDateTimePickerDatatestid.js');
10
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
10
11
  var CalendarContext = require('./CalendarContext.js');
11
12
  var Styleds = require('./Styleds.js');
12
13
 
@@ -22,15 +23,18 @@ const CalendarIconTrigger = () => {
22
23
  const {
23
24
  handleToggleCalendar,
24
25
  handleSetTriggerRef,
25
- handlePickerIconKeyDown,
26
- ariaCurrentValueForInputs,
27
- disabled
26
+ handlePickerIconKeyDown
28
27
  } = React.useContext(CalendarContext.CalendarContext);
28
+ const {
29
+ props: {
30
+ disabled
31
+ },
32
+ ariaCurrentValueForInputs
33
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
29
34
  return React.useMemo(() => /*#__PURE__*/_jsx__default["default"](Styleds.StyledIconTriggerButton, {
30
35
  "aria-label": "date picker context menu trigger, ".concat(ariaCurrentValueForInputs),
31
36
  buttonType: "icon",
32
37
  size: DSButton.BUTTON_SIZES.M,
33
- variant: DSButton.BUTTON_VARIANT.DEFAULT,
34
38
  innerRef: handleSetTriggerRef,
35
39
  onClick: handleToggleCalendar,
36
40
  onKeyDown: handlePickerIconKeyDown,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var React = require('react');
7
+ var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
7
8
  var CalendarDaysList = require('./CalendarDaysList.js');
8
9
  var CalendarContext = require('./CalendarContext.js');
9
10
 
@@ -15,9 +16,11 @@ const CalendarMonthDays = () => {
15
16
  const {
16
17
  invisibleFirstDay,
17
18
  daysMatrixByWeekday,
18
- invisibleLastDay,
19
- calendarDaysWrapperRef
19
+ invisibleLastDay
20
20
  } = React.useContext(CalendarContext.CalendarContext);
21
+ const {
22
+ calendarDaysWrapperRef
23
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
21
24
  return /*#__PURE__*/_jsx__default["default"](CalendarDaysList.CalendarDaysList, {
22
25
  invisibleFirstDay: invisibleFirstDay,
23
26
  daysMatrixByWeekday: daysMatrixByWeekday,
@@ -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 CalendarContent = require('./CalendarContent.js');
15
16
  var CalendarContext = require('./CalendarContext.js');
16
17
  var jsxRuntime = require('react/jsx-runtime');
@@ -26,14 +27,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
26
27
 
27
28
  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; }
28
29
  const CalendarWrapper = () => {
30
+ const {
31
+ isControllerOnly
32
+ } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
29
33
  const {
30
34
  setPopperElement,
31
35
  usePopperHelpers: {
32
36
  styles,
33
37
  attributes
34
38
  },
35
- setArrowElement,
36
- isControllerOnly
39
+ setArrowElement
37
40
  } = React.useContext(CalendarContext.CalendarContext);
38
41
  if (isControllerOnly) return _CalendarContent || (_CalendarContent = /*#__PURE__*/_jsx__default["default"](CalendarContent.CalendarContent, {}));
39
42
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
@@ -47,31 +47,31 @@ const Day = _ref => {
47
47
  handleChangeComposedDateString,
48
48
  dateStringFromProps,
49
49
  props: {
50
- getIsDisabledDay,
51
- getIsOutOfRangeDay,
52
- getIsStartRangeDay,
53
- getIsDayInRange,
54
- getIsEndRangeDay,
55
- preventCloseOnSelection,
56
- onMonthChange,
57
- onDayChange,
58
- onYearChange
50
+ preventCloseOnSelection
59
51
  },
52
+ getIsDisabledDay,
53
+ getIsOutOfRangeDay,
54
+ getIsStartRangeDay,
55
+ getIsDayInRange,
56
+ getIsEndRangeDay,
57
+ appOnMonthChange,
58
+ appOnDayChange,
59
+ appOnYearChange,
60
60
  latestInteractionRegion,
61
- setLatestInteractionRegion
61
+ setLatestInteractionRegion,
62
+ isWithTimeWheelToo
62
63
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
63
64
  const {
64
- handleDayOnKeyDown,
65
65
  focusedDay,
66
+ handleDayOnKeyDown,
66
67
  handleFocusMetaDayByDay,
67
- isWithTimeWheelToo,
68
68
  closeCalendar,
69
69
  tryToFocusCurrentlyDataIsFocusedDay
70
70
  } = React.useContext(CalendarContext.CalendarContext);
71
- const isFocusedMetaDay = dateHelpers.compareTwoDatesDayEquality(metaDay === null || metaDay === void 0 ? void 0 : metaDay.day, focusedDay === null || focusedDay === void 0 ? void 0 : focusedDay.day);
71
+ const isFocusedMetaDay = focusedDay !== null && focusedDay !== void 0 && focusedDay.day ? dateHelpers.compareTwoDatesDayEquality(metaDay === null || metaDay === void 0 ? void 0 : metaDay.day, focusedDay === null || focusedDay === void 0 ? void 0 : focusedDay.day) : false;
72
72
  const isSelected = React.useMemo(() => {
73
73
  const selectedDate = dateHelpers.getDayFromDateString(dateStringFromProps);
74
- return dateHelpers.isSameDateMoment(day, selectedDate);
74
+ return selectedDate ? dateHelpers.isSameDateMoment(day, selectedDate) : false;
75
75
  }, [dateStringFromProps, day]);
76
76
  const isFocused = latestInteractionRegion === 'calendar-days' && isFocusedMetaDay;
77
77
  const isDisabled = getIsDisabledDay(metaDay.dayAsString);
@@ -95,14 +95,14 @@ const Day = _ref => {
95
95
  day: dayNumber,
96
96
  year
97
97
  } = dateHelpers.getDateValuesFromDate(day);
98
- onMonthChange("".concat(month + 1), e, metaInfo);
99
- onDayChange("".concat(dayNumber), e, metaInfo);
100
- onYearChange("".concat(year), e, metaInfo);
98
+ appOnMonthChange("".concat(month + 1), e, metaInfo);
99
+ if (dayNumber) appOnDayChange("".concat(dayNumber), e, metaInfo);
100
+ appOnYearChange("".concat(year), e, metaInfo);
101
101
  handleChangeComposedDateString(newDateString, metaInfo);
102
102
  setLatestInteractionRegion('calendar-days');
103
103
  if (!isWithTimeWheelToo && !preventCloseOnSelection) closeCalendar();
104
104
  }
105
- }, [isDisabled, isOutOfRange, day, onMonthChange, onDayChange, onYearChange, handleChangeComposedDateString, handleFocusMetaDayByDay, tryToFocusCurrentlyDataIsFocusedDay, setLatestInteractionRegion, isWithTimeWheelToo, preventCloseOnSelection, closeCalendar]);
105
+ }, [isDisabled, isOutOfRange, day, appOnMonthChange, appOnDayChange, appOnYearChange, handleChangeComposedDateString, handleFocusMetaDayByDay, tryToFocusCurrentlyDataIsFocusedDay, setLatestInteractionRegion, isWithTimeWheelToo, preventCloseOnSelection, closeCalendar]);
106
106
  const handleOnDayFocus = React.useCallback(() => {
107
107
  setLatestInteractionRegion('calendar-days');
108
108
  }, [setLatestInteractionRegion]);
@@ -2,65 +2,32 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
6
  require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
6
12
  var React = require('react');
7
13
  var ControlledDateTimePickerCTX = require('../../../ControlledDateTimePickerCTX.js');
8
- var useKeyboardHandlers = require('./useKeyboardHandlers.js');
14
+ var useCurrentDisplayedMonthYearLogic = require('./useCurrentDisplayedMonthYearLogic.js');
9
15
  var useFocusLogic = require('./useFocusLogic.js');
10
16
  var usePopperTriggerLogic = require('./usePopperTriggerLogic.js');
11
- var useCurrentDisplayedMonthYearLogic = require('./useCurrentDisplayedMonthYearLogic.js');
17
+ var useKeyboardHandlers = require('./useKeyboardHandlers.js');
12
18
 
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- function sliceIntoChunks(arr, chunkSize) {
15
- const res = [];
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
20
 
17
- for (let i = 0; i < arr.length; i += chunkSize) {
18
- const chunk = arr.slice(i, i + chunkSize);
19
- res.push(chunk);
20
- }
21
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
22
 
22
- return res;
23
- }
23
+ 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; }
24
24
 
25
+ 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; }
25
26
  const useConfigCalendarCTX = () => {
26
27
  const {
27
- props: {
28
- disabled
29
- },
30
- prevYearBtnRef,
31
- prevMonthBtnRef,
32
- nextMonthBtnRef,
33
- nextYearBtnRef,
34
- calendarDaysWrapperRef,
35
- isControllerOnly,
36
- isWithTimeWheelToo,
37
- setLatestInteractionRegion,
38
- autoFocusPrevMonthArrow,
39
- ariaCurrentValueForInputs
28
+ setLatestInteractionRegion
40
29
  } = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
41
30
  const [showCalendar, setShowCalendar] = React.useState(false);
42
- const {
43
- currentMonth,
44
- currentYear,
45
- daysArray,
46
- handlePrevYear,
47
- handlePrevMonth,
48
- handleNextMonth,
49
- handleNextYear
50
- } = useCurrentDisplayedMonthYearLogic.useCurrentDisplayedMonthYearLogic();
51
- const {
52
- invisibleFirstDay,
53
- daysMatrixByWeekday,
54
- invisibleLastDay
55
- } = React.useMemo(() => {
56
- const [invisible1stDay, ...otherDays] = [...daysArray];
57
- const invisibleDayLast = otherDays.pop();
58
- return {
59
- invisibleFirstDay: invisible1stDay,
60
- daysMatrixByWeekday: sliceIntoChunks(otherDays, 7),
61
- invisibleLastDay: invisibleDayLast
62
- };
63
- }, [daysArray]);
64
31
  const setLatestInteractionRegionCalendarHead = React.useCallback(() => {
65
32
  setLatestInteractionRegion('calendar-head');
66
33
  }, [setLatestInteractionRegion]);
@@ -76,93 +43,28 @@ const useConfigCalendarCTX = () => {
76
43
  const onNextYearFocus = React.useCallback(() => {
77
44
  setLatestInteractionRegionCalendarHead();
78
45
  }, [setLatestInteractionRegionCalendarHead]);
79
- const {
80
- focusedDay,
81
- tryToFocusCurrentlyDataIsFocusedDay,
82
- handleFocusMetaDay,
83
- handleFocusMetaDayByDay,
84
- resetFocusedDayToStartDate
85
- } = useFocusLogic.useFocusLogic({
86
- daysArray,
46
+ const currentDisplayedMonthLogic = useCurrentDisplayedMonthYearLogic.useCurrentDisplayedMonthYearLogic();
47
+ const focusLogic = useFocusLogic.useFocusLogic({
48
+ currentDisplayedMonthLogic,
87
49
  showCalendar
88
50
  });
89
- const {
90
- closeCalendar,
91
- handleSetTriggerRef,
92
- setPopperElement,
93
- setArrowElement,
94
- usePopperHelpers,
95
- handleToggleCalendar,
96
- handleMenuWrapperKeyDown
97
- } = usePopperTriggerLogic.usePopperTriggerLogic({
98
- tryToFocusCurrentlyDataIsFocusedDay,
99
- resetFocusedDayToStartDate,
100
- focusedDay,
51
+ const popperTriggerLogic = usePopperTriggerLogic.usePopperTriggerLogic({
52
+ focusLogic,
101
53
  showCalendar,
102
54
  setShowCalendar
103
55
  });
104
- const {
105
- handleDayOnKeyDown,
106
- handlePrevYearKeyDown,
107
- handlePrevMonthKeyDown,
108
- handleNextMonthKeyDown,
109
- handleNextYearKeyDown,
110
- handlePickerIconKeyDown
111
- } = useKeyboardHandlers.useKeyboardHandlers({
112
- focusedDay,
113
- daysArray,
114
- handlePrevMonth,
115
- handleNextMonth,
116
- handleFocusMetaDay,
117
- handleFocusMetaDayByDay,
118
- tryToFocusCurrentlyDataIsFocusedDay
56
+ const keyboardHandlers = useKeyboardHandlers.useKeyboardHandlers({
57
+ currentDisplayedMonthLogic,
58
+ focusLogic
119
59
  });
120
- return React.useMemo(() => ({
60
+ return React.useMemo(() => _objectSpread(_objectSpread(_objectSpread(_objectSpread({
121
61
  showCalendar,
122
62
  setShowCalendar,
123
- closeCalendar,
124
- setPopperElement,
125
- setArrowElement,
126
- usePopperHelpers,
127
- handleToggleCalendar,
128
- handleSetTriggerRef,
129
- handleMenuWrapperKeyDown,
130
- isControllerOnly,
131
- calendarDaysWrapperRef,
132
- prevYearBtnRef,
133
- prevMonthBtnRef,
134
- nextMonthBtnRef,
135
- nextYearBtnRef,
136
- currentMonth,
137
- currentYear,
138
- daysArray,
139
- invisibleFirstDay,
140
- daysMatrixByWeekday,
141
- invisibleLastDay,
142
- focusedDay,
143
- tryToFocusCurrentlyDataIsFocusedDay,
144
- handleFocusMetaDay,
145
- handleFocusMetaDayByDay,
146
- resetFocusedDayToStartDate,
147
- handlePrevMonth,
148
- handlePrevYear,
149
- handleNextMonth,
150
- handleNextYear,
151
- handleDayOnKeyDown,
152
- handlePrevYearKeyDown,
153
- handlePrevMonthKeyDown,
154
- handleNextMonthKeyDown,
155
- handleNextYearKeyDown,
156
- handlePickerIconKeyDown,
157
63
  onPrevYearFocus,
158
64
  onPrevMonthFocus,
159
65
  onNextMonthFocus,
160
- onNextYearFocus,
161
- isWithTimeWheelToo,
162
- autoFocusPrevMonthArrow,
163
- ariaCurrentValueForInputs,
164
- disabled
165
- }), [showCalendar, closeCalendar, setPopperElement, setArrowElement, usePopperHelpers, handleToggleCalendar, handleSetTriggerRef, handleMenuWrapperKeyDown, isControllerOnly, calendarDaysWrapperRef, prevYearBtnRef, prevMonthBtnRef, nextMonthBtnRef, nextYearBtnRef, currentMonth, currentYear, daysArray, invisibleFirstDay, daysMatrixByWeekday, invisibleLastDay, focusedDay, tryToFocusCurrentlyDataIsFocusedDay, handleFocusMetaDay, handleFocusMetaDayByDay, resetFocusedDayToStartDate, handlePrevMonth, handlePrevYear, handleNextMonth, handleNextYear, handleDayOnKeyDown, handlePrevYearKeyDown, handlePrevMonthKeyDown, handleNextMonthKeyDown, handleNextYearKeyDown, handlePickerIconKeyDown, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, isWithTimeWheelToo, autoFocusPrevMonthArrow, ariaCurrentValueForInputs, disabled]);
66
+ onNextYearFocus
67
+ }, currentDisplayedMonthLogic), focusLogic), popperTriggerLogic), keyboardHandlers), [showCalendar, onPrevYearFocus, onPrevMonthFocus, onNextMonthFocus, onNextYearFocus, currentDisplayedMonthLogic, focusLogic, popperTriggerLogic, keyboardHandlers]);
166
68
  };
167
69
 
168
70
  exports.useConfigCalendarCTX = useConfigCalendarCTX;