@elliemae/ds-controlled-form 3.0.0-alpha.0 → 3.0.0-alpha.1

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 (452) hide show
  1. package/dist/cjs/controlled-autocomplete/config/useAutocomplete.js +15 -1
  2. package/dist/cjs/controlled-autocomplete/config/useAutocomplete.js.map +1 -1
  3. package/dist/cjs/controlled-autocomplete/parts/menu-list/useItemRenderer.js +19 -3
  4. package/dist/cjs/controlled-autocomplete/parts/menu-list/useItemRenderer.js.map +1 -1
  5. package/dist/cjs/controlled-checkbox/react-desc-prop-types.js +63 -0
  6. package/dist/cjs/controlled-checkbox/react-desc-prop-types.js.map +7 -0
  7. package/dist/cjs/controlled-combobox/ComboBox.js +5 -7
  8. package/dist/cjs/controlled-combobox/ComboBox.js.map +2 -2
  9. package/dist/cjs/controlled-combobox/ComboBoxCTX.js +1 -4
  10. package/dist/cjs/controlled-combobox/ComboBoxCTX.js.map +2 -2
  11. package/dist/cjs/controlled-combobox/ComboboxDataTestids.js +2 -1
  12. package/dist/cjs/controlled-combobox/ComboboxDataTestids.js.map +2 -2
  13. package/dist/cjs/controlled-combobox/config/useComboBox.js +30 -51
  14. package/dist/cjs/controlled-combobox/config/useComboBox.js.map +2 -2
  15. package/dist/cjs/controlled-combobox/config/useCorrectOptions.js +77 -0
  16. package/dist/cjs/controlled-combobox/config/useCorrectOptions.js.map +7 -0
  17. package/dist/cjs/controlled-combobox/index.js.map +2 -2
  18. package/dist/cjs/controlled-combobox/parts/a11y-messages/{MultiAllyMessages.js → FocusMenuItem.js} +26 -17
  19. package/dist/cjs/controlled-combobox/parts/a11y-messages/FocusMenuItem.js.map +7 -0
  20. package/dist/cjs/controlled-combobox/parts/a11y-messages/{SingleAllyMessages.js → SelectedValuesAllyMsg.js} +24 -10
  21. package/dist/cjs/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js.map +7 -0
  22. package/dist/cjs/controlled-combobox/parts/a11y-messages/index.js +4 -4
  23. package/dist/cjs/controlled-combobox/parts/a11y-messages/index.js.map +2 -2
  24. package/dist/cjs/controlled-combobox/parts/container/Container.js +34 -21
  25. package/dist/cjs/controlled-combobox/parts/container/Container.js.map +2 -2
  26. package/dist/cjs/controlled-combobox/parts/container/styled.js +6 -7
  27. package/dist/cjs/controlled-combobox/parts/container/styled.js.map +2 -2
  28. package/dist/cjs/controlled-combobox/parts/controls/Controls.js +18 -9
  29. package/dist/cjs/controlled-combobox/parts/controls/Controls.js.map +2 -2
  30. package/dist/cjs/controlled-combobox/parts/controls/styled.js +4 -9
  31. package/dist/cjs/controlled-combobox/parts/controls/styled.js.map +2 -2
  32. package/dist/cjs/controlled-combobox/parts/{single-selected-value-container/SingleSelectedValueContainer.js → controls/useOnPillsNavigation.js} +33 -17
  33. package/dist/cjs/controlled-combobox/parts/controls/useOnPillsNavigation.js.map +7 -0
  34. package/dist/cjs/controlled-combobox/parts/controls-input/ControlsInput.js +7 -7
  35. package/dist/cjs/controlled-combobox/parts/controls-input/ControlsInput.js.map +2 -2
  36. package/dist/cjs/controlled-combobox/parts/controls-input/useControlsInput.js +25 -9
  37. package/dist/cjs/controlled-combobox/parts/controls-input/useControlsInput.js.map +2 -2
  38. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js +7 -4
  39. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js.map +2 -2
  40. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/styled.js +4 -3
  41. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/styled.js.map +2 -2
  42. package/dist/cjs/controlled-combobox/parts/header-list/HeaderList.js +13 -9
  43. package/dist/cjs/controlled-combobox/parts/header-list/HeaderList.js.map +2 -2
  44. package/dist/cjs/controlled-combobox/parts/header-list/styled.js.map +2 -2
  45. package/dist/cjs/controlled-combobox/parts/header-list/useHeaderListHandlers.js +18 -6
  46. package/dist/cjs/controlled-combobox/parts/header-list/useHeaderListHandlers.js.map +2 -2
  47. package/dist/cjs/controlled-combobox/parts/menu-list/MenuList.js +19 -14
  48. package/dist/cjs/controlled-combobox/parts/menu-list/MenuList.js.map +2 -2
  49. package/dist/cjs/controlled-combobox/parts/menu-list/styled.js +5 -0
  50. package/dist/cjs/controlled-combobox/parts/menu-list/styled.js.map +2 -2
  51. package/dist/cjs/controlled-combobox/parts/menu-list/useItemRenderer.js +40 -28
  52. package/dist/cjs/controlled-combobox/parts/menu-list/useItemRenderer.js.map +2 -2
  53. package/dist/cjs/controlled-combobox/parts/menu-list/useMenuList.js +8 -10
  54. package/dist/cjs/controlled-combobox/parts/menu-list/useMenuList.js.map +2 -2
  55. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +25 -12
  56. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +2 -2
  57. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js +4 -5
  58. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js.map +2 -2
  59. package/dist/cjs/controlled-combobox/react-desc-prop-types.js +73 -0
  60. package/dist/cjs/controlled-combobox/react-desc-prop-types.js.map +7 -0
  61. package/dist/cjs/controlled-combobox/{index.d.js → sharedTypes.js} +3 -3
  62. package/dist/cjs/controlled-combobox/sharedTypes.js.map +7 -0
  63. package/dist/cjs/controlled-combobox/utils/hooks/useKeyboardNavigation.js +20 -31
  64. package/dist/cjs/controlled-combobox/utils/hooks/useKeyboardNavigation.js.map +2 -2
  65. package/dist/cjs/controlled-combobox/utils/listHelper.js +2 -2
  66. package/dist/cjs/controlled-combobox/utils/listHelper.js.map +2 -2
  67. package/dist/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +18 -1
  68. package/dist/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  69. package/dist/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +21 -4
  70. package/dist/cjs/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  71. package/dist/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -4
  72. package/dist/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  73. package/dist/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +42 -52
  74. package/dist/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  75. package/dist/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +17 -4
  76. package/dist/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
  77. package/dist/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +23 -12
  78. package/dist/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  79. package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +21 -4
  80. package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  81. package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +21 -5
  82. package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  83. package/dist/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +21 -4
  84. package/dist/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  85. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -4
  86. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  87. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +17 -4
  88. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  89. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +17 -4
  90. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  91. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +21 -4
  92. package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  93. package/dist/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +15 -4
  94. package/dist/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  95. package/dist/cjs/controlled-toggle/ControlledToggle.js +17 -4
  96. package/dist/cjs/controlled-toggle/ControlledToggle.js.map +1 -1
  97. package/dist/esm/controlled-autocomplete/config/useAutocomplete.js +17 -1
  98. package/dist/esm/controlled-autocomplete/config/useAutocomplete.js.map +1 -1
  99. package/dist/esm/controlled-autocomplete/parts/menu-list/useItemRenderer.js +21 -3
  100. package/dist/esm/controlled-autocomplete/parts/menu-list/useItemRenderer.js.map +1 -1
  101. package/dist/esm/controlled-checkbox/react-desc-prop-types.js +36 -0
  102. package/dist/esm/controlled-checkbox/react-desc-prop-types.js.map +7 -0
  103. package/dist/esm/controlled-combobox/ComboBox.js +6 -8
  104. package/dist/esm/controlled-combobox/ComboBox.js.map +2 -2
  105. package/dist/esm/controlled-combobox/ComboBoxCTX.js +1 -4
  106. package/dist/esm/controlled-combobox/ComboBoxCTX.js.map +2 -2
  107. package/dist/esm/controlled-combobox/ComboboxDataTestids.js +2 -1
  108. package/dist/esm/controlled-combobox/ComboboxDataTestids.js.map +2 -2
  109. package/dist/esm/controlled-combobox/config/useComboBox.js +32 -51
  110. package/dist/esm/controlled-combobox/config/useComboBox.js.map +2 -2
  111. package/dist/esm/controlled-combobox/config/useCorrectOptions.js +48 -0
  112. package/dist/esm/controlled-combobox/config/useCorrectOptions.js.map +7 -0
  113. package/dist/esm/controlled-combobox/index.js.map +2 -2
  114. package/dist/esm/controlled-combobox/parts/a11y-messages/FocusMenuItem.js +30 -0
  115. package/dist/esm/controlled-combobox/parts/a11y-messages/FocusMenuItem.js.map +7 -0
  116. package/dist/esm/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js +33 -0
  117. package/dist/esm/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js.map +7 -0
  118. package/dist/esm/controlled-combobox/parts/a11y-messages/index.js +4 -4
  119. package/dist/esm/controlled-combobox/parts/a11y-messages/index.js.map +1 -1
  120. package/dist/esm/controlled-combobox/parts/container/Container.js +36 -21
  121. package/dist/esm/controlled-combobox/parts/container/Container.js.map +2 -2
  122. package/dist/esm/controlled-combobox/parts/container/styled.js +6 -7
  123. package/dist/esm/controlled-combobox/parts/container/styled.js.map +2 -2
  124. package/dist/esm/controlled-combobox/parts/controls/Controls.js +18 -9
  125. package/dist/esm/controlled-combobox/parts/controls/Controls.js.map +2 -2
  126. package/dist/esm/controlled-combobox/parts/controls/styled.js +4 -9
  127. package/dist/esm/controlled-combobox/parts/controls/styled.js.map +2 -2
  128. package/dist/esm/controlled-combobox/parts/controls/useOnPillsNavigation.js +35 -0
  129. package/dist/esm/controlled-combobox/parts/controls/useOnPillsNavigation.js.map +7 -0
  130. package/dist/esm/controlled-combobox/parts/controls-input/ControlsInput.js +7 -7
  131. package/dist/esm/controlled-combobox/parts/controls-input/ControlsInput.js.map +2 -2
  132. package/dist/esm/controlled-combobox/parts/controls-input/useControlsInput.js +25 -9
  133. package/dist/esm/controlled-combobox/parts/controls-input/useControlsInput.js.map +2 -2
  134. package/dist/esm/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js +7 -4
  135. package/dist/esm/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js.map +2 -2
  136. package/dist/esm/controlled-combobox/parts/dropdown-indicator/styled.js +5 -4
  137. package/dist/esm/controlled-combobox/parts/dropdown-indicator/styled.js.map +2 -2
  138. package/dist/esm/controlled-combobox/parts/header-list/HeaderList.js +13 -9
  139. package/dist/esm/controlled-combobox/parts/header-list/HeaderList.js.map +2 -2
  140. package/dist/esm/controlled-combobox/parts/header-list/styled.js.map +2 -2
  141. package/dist/esm/controlled-combobox/parts/header-list/useHeaderListHandlers.js +18 -6
  142. package/dist/esm/controlled-combobox/parts/header-list/useHeaderListHandlers.js.map +2 -2
  143. package/dist/esm/controlled-combobox/parts/menu-list/MenuList.js +21 -16
  144. package/dist/esm/controlled-combobox/parts/menu-list/MenuList.js.map +2 -2
  145. package/dist/esm/controlled-combobox/parts/menu-list/styled.js +5 -0
  146. package/dist/esm/controlled-combobox/parts/menu-list/styled.js.map +2 -2
  147. package/dist/esm/controlled-combobox/parts/menu-list/useItemRenderer.js +42 -28
  148. package/dist/esm/controlled-combobox/parts/menu-list/useItemRenderer.js.map +2 -2
  149. package/dist/esm/controlled-combobox/parts/menu-list/useMenuList.js +8 -10
  150. package/dist/esm/controlled-combobox/parts/menu-list/useMenuList.js.map +2 -2
  151. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +26 -13
  152. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +2 -2
  153. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js +4 -5
  154. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js.map +2 -2
  155. package/dist/esm/controlled-combobox/{propTypes.js → react-desc-prop-types.js} +28 -8
  156. package/dist/esm/controlled-combobox/react-desc-prop-types.js.map +7 -0
  157. package/dist/esm/controlled-combobox/sharedTypes.js +2 -0
  158. package/dist/esm/{controlled-checkbox/index.d.js.map → controlled-combobox/sharedTypes.js.map} +0 -0
  159. package/dist/esm/controlled-combobox/utils/hooks/useKeyboardNavigation.js +20 -31
  160. package/dist/esm/controlled-combobox/utils/hooks/useKeyboardNavigation.js.map +2 -2
  161. package/dist/esm/controlled-combobox/utils/listHelper.js +2 -2
  162. package/dist/esm/controlled-combobox/utils/listHelper.js.map +2 -2
  163. package/dist/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +20 -1
  164. package/dist/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
  165. package/dist/esm/controlled-date-range-picker/config/useRangePickerLogic.js +23 -4
  166. package/dist/esm/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
  167. package/dist/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +19 -4
  168. package/dist/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
  169. package/dist/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +44 -52
  170. package/dist/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
  171. package/dist/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +19 -4
  172. package/dist/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
  173. package/dist/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +25 -12
  174. package/dist/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
  175. package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +23 -4
  176. package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
  177. package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +23 -5
  178. package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
  179. package/dist/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +23 -4
  180. package/dist/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
  181. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +19 -4
  182. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
  183. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +19 -4
  184. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
  185. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +19 -4
  186. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
  187. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +23 -4
  188. package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
  189. package/dist/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +17 -4
  190. package/dist/esm/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
  191. package/dist/esm/controlled-toggle/ControlledToggle.js +19 -4
  192. package/dist/esm/controlled-toggle/ControlledToggle.js.map +1 -1
  193. package/package.json +15 -14
  194. package/dist/cjs/controlled-checkbox/index.d.js +0 -20
  195. package/dist/cjs/controlled-checkbox/index.d.js.map +0 -7
  196. package/dist/cjs/controlled-checkbox/propTypes.js +0 -20
  197. package/dist/cjs/controlled-checkbox/propTypes.js.map +0 -7
  198. package/dist/cjs/controlled-combobox/config/constants.js +0 -42
  199. package/dist/cjs/controlled-combobox/config/constants.js.map +0 -7
  200. package/dist/cjs/controlled-combobox/config/useGetPropsWithDefault.js +0 -37
  201. package/dist/cjs/controlled-combobox/config/useGetPropsWithDefault.js.map +0 -7
  202. package/dist/cjs/controlled-combobox/index.d.js.map +0 -7
  203. package/dist/cjs/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js.map +0 -7
  204. package/dist/cjs/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js.map +0 -7
  205. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/index.js +0 -20
  206. package/dist/cjs/controlled-combobox/parts/dropdown-indicator/index.js.map +0 -7
  207. package/dist/cjs/controlled-combobox/parts/empty-state/index.js +0 -45
  208. package/dist/cjs/controlled-combobox/parts/empty-state/index.js.map +0 -7
  209. package/dist/cjs/controlled-combobox/parts/empty-state/styled.js +0 -40
  210. package/dist/cjs/controlled-combobox/parts/empty-state/styled.js.map +0 -7
  211. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/styled.js +0 -48
  212. package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/styled.js.map +0 -7
  213. package/dist/cjs/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +0 -7
  214. package/dist/cjs/controlled-combobox/parts/single-selected-value-container/index.js +0 -35
  215. package/dist/cjs/controlled-combobox/parts/single-selected-value-container/index.js.map +0 -7
  216. package/dist/cjs/controlled-combobox/parts/single-selected-value-container/styled.js +0 -40
  217. package/dist/cjs/controlled-combobox/parts/single-selected-value-container/styled.js.map +0 -7
  218. package/dist/cjs/controlled-combobox/propTypes.js +0 -55
  219. package/dist/cjs/controlled-combobox/propTypes.js.map +0 -7
  220. package/dist/esm/controlled-checkbox/index.d.js +0 -2
  221. package/dist/esm/controlled-checkbox/propTypes.js +0 -2
  222. package/dist/esm/controlled-checkbox/propTypes.js.map +0 -7
  223. package/dist/esm/controlled-combobox/config/constants.js +0 -13
  224. package/dist/esm/controlled-combobox/config/constants.js.map +0 -7
  225. package/dist/esm/controlled-combobox/config/useGetPropsWithDefault.js +0 -8
  226. package/dist/esm/controlled-combobox/config/useGetPropsWithDefault.js.map +0 -7
  227. package/dist/esm/controlled-combobox/index.d.js +0 -2
  228. package/dist/esm/controlled-combobox/index.d.js.map +0 -7
  229. package/dist/esm/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js +0 -21
  230. package/dist/esm/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js.map +0 -7
  231. package/dist/esm/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js +0 -19
  232. package/dist/esm/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js.map +0 -7
  233. package/dist/esm/controlled-combobox/parts/dropdown-indicator/index.js +0 -2
  234. package/dist/esm/controlled-combobox/parts/dropdown-indicator/index.js.map +0 -7
  235. package/dist/esm/controlled-combobox/parts/empty-state/index.js +0 -16
  236. package/dist/esm/controlled-combobox/parts/empty-state/index.js.map +0 -7
  237. package/dist/esm/controlled-combobox/parts/empty-state/styled.js +0 -11
  238. package/dist/esm/controlled-combobox/parts/empty-state/styled.js.map +0 -7
  239. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/styled.js +0 -19
  240. package/dist/esm/controlled-combobox/parts/multi-selected-values-container/styled.js.map +0 -7
  241. package/dist/esm/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js +0 -19
  242. package/dist/esm/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +0 -7
  243. package/dist/esm/controlled-combobox/parts/single-selected-value-container/index.js +0 -6
  244. package/dist/esm/controlled-combobox/parts/single-selected-value-container/index.js.map +0 -7
  245. package/dist/esm/controlled-combobox/parts/single-selected-value-container/styled.js +0 -11
  246. package/dist/esm/controlled-combobox/parts/single-selected-value-container/styled.js.map +0 -7
  247. package/dist/esm/controlled-combobox/propTypes.js.map +0 -7
  248. package/dist/types/controlled-autocomplete/Autocomplete.d.ts +0 -62
  249. package/dist/types/controlled-autocomplete/AutocompleteCTX.d.ts +0 -6
  250. package/dist/types/controlled-autocomplete/AutocompleteDataTestids.d.ts +0 -11
  251. package/dist/types/controlled-autocomplete/config/constants.d.ts +0 -8
  252. package/dist/types/controlled-autocomplete/config/useAutocomplete.d.ts +0 -2
  253. package/dist/types/controlled-autocomplete/config/useGetPropsWithDefault.d.ts +0 -2
  254. package/dist/types/controlled-autocomplete/index.d.ts +0 -1
  255. package/dist/types/controlled-autocomplete/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
  256. package/dist/types/controlled-autocomplete/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
  257. package/dist/types/controlled-autocomplete/parts/a11y-messages/index.d.ts +0 -2
  258. package/dist/types/controlled-autocomplete/parts/a11y-messages/styled.d.ts +0 -1
  259. package/dist/types/controlled-autocomplete/parts/container/Container.d.ts +0 -3
  260. package/dist/types/controlled-autocomplete/parts/container/index.d.ts +0 -1
  261. package/dist/types/controlled-autocomplete/parts/container/styled.d.ts +0 -3
  262. package/dist/types/controlled-autocomplete/parts/controls/Controls.d.ts +0 -3
  263. package/dist/types/controlled-autocomplete/parts/controls/index.d.ts +0 -1
  264. package/dist/types/controlled-autocomplete/parts/controls/styled.d.ts +0 -8
  265. package/dist/types/controlled-autocomplete/parts/controls/useControlsInput.d.ts +0 -9
  266. package/dist/types/controlled-autocomplete/parts/menu-list/MenuList.d.ts +0 -3
  267. package/dist/types/controlled-autocomplete/parts/menu-list/index.d.ts +0 -1
  268. package/dist/types/controlled-autocomplete/parts/menu-list/styled.d.ts +0 -10
  269. package/dist/types/controlled-autocomplete/parts/menu-list/useItemRenderer.d.ts +0 -3
  270. package/dist/types/controlled-autocomplete/parts/menu-list/useMenuList.d.ts +0 -2
  271. package/dist/types/controlled-autocomplete/propTypes.d.ts +0 -51
  272. package/dist/types/controlled-autocomplete/utils/hooks/useKeyboardNavigation.d.ts +0 -4
  273. package/dist/types/controlled-autocomplete/utils/hooks/useOnElementResize.d.ts +0 -3
  274. package/dist/types/controlled-autocomplete/utils/listHelper.d.ts +0 -7
  275. package/dist/types/controlled-checkbox/ControlledCheckbox.d.ts +0 -0
  276. package/dist/types/controlled-checkbox/config/useValidateProps.d.ts +0 -0
  277. package/dist/types/controlled-checkbox/index.d.d.ts +0 -0
  278. package/dist/types/controlled-checkbox/index.d.ts +0 -1
  279. package/dist/types/controlled-checkbox/propTypes.d.ts +0 -0
  280. package/dist/types/controlled-checkbox/styles.d.ts +0 -0
  281. package/dist/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +0 -0
  282. package/dist/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +0 -0
  283. package/dist/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +0 -0
  284. package/dist/types/controlled-checkbox/utils/setMultipleRefs.d.ts +0 -0
  285. package/dist/types/controlled-checkbox/utils/styleHelpers.d.ts +0 -0
  286. package/dist/types/controlled-combobox/ComboBox.d.ts +0 -71
  287. package/dist/types/controlled-combobox/ComboBoxCTX.d.ts +0 -6
  288. package/dist/types/controlled-combobox/ComboboxDataTestids.d.ts +0 -11
  289. package/dist/types/controlled-combobox/config/constants.d.ts +0 -8
  290. package/dist/types/controlled-combobox/config/useComboBox.d.ts +0 -2
  291. package/dist/types/controlled-combobox/config/useGetPropsWithDefault.d.ts +0 -2
  292. package/dist/types/controlled-combobox/index.d.ts +0 -1
  293. package/dist/types/controlled-combobox/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
  294. package/dist/types/controlled-combobox/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
  295. package/dist/types/controlled-combobox/parts/a11y-messages/index.d.ts +0 -2
  296. package/dist/types/controlled-combobox/parts/a11y-messages/styled.d.ts +0 -1
  297. package/dist/types/controlled-combobox/parts/container/Container.d.ts +0 -3
  298. package/dist/types/controlled-combobox/parts/container/index.d.ts +0 -1
  299. package/dist/types/controlled-combobox/parts/container/styled.d.ts +0 -3
  300. package/dist/types/controlled-combobox/parts/controls/Controls.d.ts +0 -3
  301. package/dist/types/controlled-combobox/parts/controls/index.d.ts +0 -1
  302. package/dist/types/controlled-combobox/parts/controls/styled.d.ts +0 -6
  303. package/dist/types/controlled-combobox/parts/controls-input/ControlsInput.d.ts +0 -3
  304. package/dist/types/controlled-combobox/parts/controls-input/styled.d.ts +0 -4
  305. package/dist/types/controlled-combobox/parts/controls-input/useControlsInput.d.ts +0 -12
  306. package/dist/types/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.d.ts +0 -4
  307. package/dist/types/controlled-combobox/parts/dropdown-indicator/index.d.ts +0 -0
  308. package/dist/types/controlled-combobox/parts/dropdown-indicator/styled.d.ts +0 -1
  309. package/dist/types/controlled-combobox/parts/empty-state/index.d.ts +0 -3
  310. package/dist/types/controlled-combobox/parts/empty-state/styled.d.ts +0 -2
  311. package/dist/types/controlled-combobox/parts/header-list/HeaderList.d.ts +0 -3
  312. package/dist/types/controlled-combobox/parts/header-list/index.d.ts +0 -1
  313. package/dist/types/controlled-combobox/parts/header-list/styled.d.ts +0 -5
  314. package/dist/types/controlled-combobox/parts/header-list/useHeaderListHandlers.d.ts +0 -10
  315. package/dist/types/controlled-combobox/parts/menu-list/MenuList.d.ts +0 -3
  316. package/dist/types/controlled-combobox/parts/menu-list/index.d.ts +0 -1
  317. package/dist/types/controlled-combobox/parts/menu-list/styled.d.ts +0 -11
  318. package/dist/types/controlled-combobox/parts/menu-list/useItemRenderer.d.ts +0 -3
  319. package/dist/types/controlled-combobox/parts/menu-list/useMenuList.d.ts +0 -2
  320. package/dist/types/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.d.ts +0 -3
  321. package/dist/types/controlled-combobox/parts/multi-selected-values-container/index.d.ts +0 -1
  322. package/dist/types/controlled-combobox/parts/multi-selected-values-container/styled.d.ts +0 -3
  323. package/dist/types/controlled-combobox/parts/multi-selected-values-container/useGroupPills.d.ts +0 -2
  324. package/dist/types/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.d.ts +0 -3
  325. package/dist/types/controlled-combobox/parts/single-selected-value-container/index.d.ts +0 -1
  326. package/dist/types/controlled-combobox/parts/single-selected-value-container/styled.d.ts +0 -1
  327. package/dist/types/controlled-combobox/propTypes.d.ts +0 -60
  328. package/dist/types/controlled-combobox/tests/combobox-general.test.d.ts +0 -1
  329. package/dist/types/controlled-combobox/tests/combobox-multi-select.test.d.ts +0 -1
  330. package/dist/types/controlled-combobox/tests/combobox-single-select.test.d.ts +0 -1
  331. package/dist/types/controlled-combobox/tests/combobox-special-keys.test.d.ts +0 -1
  332. package/dist/types/controlled-combobox/tests/utils.d.ts +0 -22
  333. package/dist/types/controlled-combobox/utils/hooks/useKeyboardNavigation.d.ts +0 -4
  334. package/dist/types/controlled-combobox/utils/hooks/useOnElementResize.d.ts +0 -3
  335. package/dist/types/controlled-combobox/utils/listHelper.d.ts +0 -7
  336. package/dist/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +0 -20
  337. package/dist/types/controlled-date-range-picker/ControlledDateRangePickerCTX.d.ts +0 -6
  338. package/dist/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +0 -3
  339. package/dist/types/controlled-date-range-picker/ControlledDateRangePickerTypes.d.ts +0 -6
  340. package/dist/types/controlled-date-range-picker/config/useControlledDateRangePicker.d.ts +0 -2
  341. package/dist/types/controlled-date-range-picker/config/useGetPropsWithDefault.d.ts +0 -2
  342. package/dist/types/controlled-date-range-picker/config/useRangePickerLogic.d.ts +0 -2
  343. package/dist/types/controlled-date-range-picker/config/useValidateProps.d.ts +0 -2
  344. package/dist/types/controlled-date-range-picker/index.d.ts +0 -3
  345. package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeCalendar.d.ts +0 -2
  346. package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeContent.d.ts +0 -2
  347. package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeFromDate.d.ts +0 -2
  348. package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeToDate.d.ts +0 -2
  349. package/dist/types/controlled-date-range-picker/propTypes.d.ts +0 -9
  350. package/dist/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +0 -1
  351. package/dist/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +0 -1
  352. package/dist/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +0 -1
  353. package/dist/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +0 -1
  354. package/dist/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +0 -1
  355. package/dist/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +0 -1
  356. package/dist/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +0 -92
  357. package/dist/types/controlled-date-time-picker/ControlledDateTimePickerCTX.d.ts +0 -6
  358. package/dist/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +0 -55
  359. package/dist/types/controlled-date-time-picker/ControlledDateTimePickerTypes.d.ts +0 -20
  360. package/dist/types/controlled-date-time-picker/config/useControlledDateTimePicker.d.ts +0 -2
  361. package/dist/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +0 -4
  362. package/dist/types/controlled-date-time-picker/config/useGetPropsWithDefault.d.ts +0 -2
  363. package/dist/types/controlled-date-time-picker/config/useValidateProps.d.ts +0 -2
  364. package/dist/types/controlled-date-time-picker/index.d.ts +0 -7
  365. package/dist/types/controlled-date-time-picker/parts/ClearButton/ClearButton.d.ts +0 -2
  366. package/dist/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +0 -11
  367. package/dist/types/controlled-date-time-picker/parts/ControlledDateTimePickerContent.d.ts +0 -2
  368. package/dist/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +0 -15
  369. package/dist/types/controlled-date-time-picker/parts/DateInputs/DateInputs.d.ts +0 -2
  370. package/dist/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +0 -16
  371. package/dist/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +0 -15
  372. package/dist/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -2
  373. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.d.ts +0 -3
  374. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +0 -6
  375. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.d.ts +0 -4
  376. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +0 -66
  377. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +0 -9
  378. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.d.ts +0 -2
  379. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.d.ts +0 -2
  380. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +0 -2
  381. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.d.ts +0 -2
  382. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.d.ts +0 -2
  383. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.d.ts +0 -2
  384. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +0 -9
  385. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +0 -22
  386. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -2
  387. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +0 -2
  388. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +0 -8
  389. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +0 -13
  390. package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -12
  391. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +0 -2
  392. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +0 -2
  393. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +0 -21
  394. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +0 -2
  395. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +0 -2
  396. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +0 -2
  397. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +0 -12
  398. package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +0 -2
  399. package/dist/types/controlled-date-time-picker/parts/Pickers/PickersIcons.d.ts +0 -2
  400. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.d.ts +0 -2
  401. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.d.ts +0 -3
  402. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.d.ts +0 -3
  403. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.d.ts +0 -3
  404. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +0 -28
  405. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.d.ts +0 -3
  406. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +0 -4
  407. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +0 -65
  408. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +0 -2
  409. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +0 -2
  410. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +0 -2
  411. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +0 -2
  412. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +0 -6
  413. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +0 -4
  414. package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -2
  415. package/dist/types/controlled-date-time-picker/parts/Styleds.d.ts +0 -16
  416. package/dist/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +0 -16
  417. package/dist/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +0 -15
  418. package/dist/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +0 -15
  419. package/dist/types/controlled-date-time-picker/parts/TimeInputs/TimeInputs.d.ts +0 -2
  420. package/dist/types/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.d.ts +0 -2
  421. package/dist/types/controlled-date-time-picker/parts/config.d.ts +0 -5
  422. package/dist/types/controlled-date-time-picker/propTypes.d.ts +0 -81
  423. package/dist/types/controlled-date-time-picker/tests/date-time-picker.auto-advance.test.d.ts +0 -1
  424. package/dist/types/controlled-date-time-picker/tests/date-time-picker.clear-button.test.d.ts +0 -1
  425. package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +0 -1
  426. package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +0 -1
  427. package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +0 -1
  428. package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +0 -1
  429. package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +0 -1
  430. package/dist/types/controlled-date-time-picker/tests/date-time-picker.manual-delete-values.test.d.ts +0 -1
  431. package/dist/types/controlled-date-time-picker/tests/date-time-picker.onChange-meta-info.test.d.ts +0 -1
  432. package/dist/types/controlled-date-time-picker/tests/date-time-picker.types-dom.test.d.ts +0 -1
  433. package/dist/types/controlled-date-time-picker/utils/constants.d.ts +0 -44
  434. package/dist/types/controlled-date-time-picker/utils/dateHelpers.d.ts +0 -39
  435. package/dist/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +0 -8
  436. package/dist/types/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.d.ts +0 -1
  437. package/dist/types/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +0 -5
  438. package/dist/types/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.d.ts +0 -8
  439. package/dist/types/controlled-date-time-picker/utils/hooks/useOnClickOutside.d.ts +0 -1
  440. package/dist/types/controlled-date-time-picker/utils/numberHelpers.d.ts +0 -1
  441. package/dist/types/controlled-date-time-picker/utils/stringHelpers.d.ts +0 -36
  442. package/dist/types/controlled-date-time-picker/utils/timeHelpers.d.ts +0 -2
  443. package/dist/types/controlled-toggle/ControlledToggle.d.ts +0 -98
  444. package/dist/types/controlled-toggle/defaultProps.d.ts +0 -12
  445. package/dist/types/controlled-toggle/index.d.ts +0 -1
  446. package/dist/types/controlled-toggle/propTypes.d.ts +0 -75
  447. package/dist/types/controlled-toggle/styles.d.ts +0 -8
  448. package/dist/types/controlled-toggle/tests/DSControlledToggle.keyboard.test.d.ts +0 -1
  449. package/dist/types/controlled-toggle/tests/DSControlledToggle.test.d.ts +0 -1
  450. package/dist/types/controlled-toggle/utils/addTooltipOnReadOnly.d.ts +0 -2
  451. package/dist/types/controlled-toggle/utils/styleHelpers.d.ts +0 -36
  452. package/dist/types/index.d.ts +0 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/controlled-combobox/parts/menu-list/useMenuList.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useContext } from 'react';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport type { CBItemOption } from '../../index.d';\n\nconst useMenuList = (): void => {\n const {\n props: { inline, selectedValues, onMenuOpen, options },\n inputRef,\n setCurrentOption,\n scrollOptionIntoView,\n hasFocus,\n showPopover,\n } = useContext(ComboBoxContext);\n\n useEffect(() => {\n const getFirstOption = () => {\n for (let i = 0; i < options.length; i += 1)\n if (!['section', 'separator'].includes(options[i].type)) {\n setCurrentOption(options[i].dsId);\n break;\n }\n };\n if (showPopover || inline) {\n if (onMenuOpen) onMenuOpen();\n if (inputRef.current?.value !== '') {\n getFirstOption();\n } else if (Array.isArray(selectedValues)) {\n const multiSelectedValues = selectedValues as CBItemOption[];\n if (multiSelectedValues.length > 0) {\n setCurrentOption(multiSelectedValues[multiSelectedValues.length - 1].dsId);\n scrollOptionIntoView(multiSelectedValues[multiSelectedValues.length - 1].dsId);\n } else {\n getFirstOption();\n }\n } else {\n const singleSelectedValue = selectedValues as CBItemOption;\n if (singleSelectedValue) {\n setCurrentOption(selectedValues.dsId);\n scrollOptionIntoView(selectedValues.dsId);\n } else {\n getFirstOption();\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showPopover, inline, hasFocus, inputRef.current?.value]);\n};\n\nexport { useMenuList };\n"],
5
- "mappings": "AAAA;ACAA;AACA;AAGA,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,YAAU,MAAM;AACd,UAAM,iBAAiB,MAAM;AAC3B,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAI,CAAC,CAAC,WAAW,aAAa,SAAS,QAAQ,GAAG,OAAO;AACvD,2BAAiB,QAAQ,GAAG;AAC5B;AAAA;AAAA;AAGN,QAAI,eAAe,QAAQ;AACzB,UAAI;AAAY;AAChB,UAAI,SAAS,SAAS,UAAU,IAAI;AAClC;AAAA,iBACS,MAAM,QAAQ,iBAAiB;AACxC,cAAM,sBAAsB;AAC5B,YAAI,oBAAoB,SAAS,GAAG;AAClC,2BAAiB,oBAAoB,oBAAoB,SAAS,GAAG;AACrE,+BAAqB,oBAAoB,oBAAoB,SAAS,GAAG;AAAA,eACpE;AACL;AAAA;AAAA,aAEG;AACL,cAAM,sBAAsB;AAC5B,YAAI,qBAAqB;AACvB,2BAAiB,eAAe;AAChC,+BAAqB,eAAe;AAAA,eAC/B;AACL;AAAA;AAAA;AAAA;AAAA,KAKL,CAAC,aAAa,QAAQ,UAAU,SAAS,SAAS;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useContext } from 'react';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport type { DSComboboxT } from '../../react-desc-prop-types';\n\nconst useMenuList = (): void => {\n const {\n props: { inline, selectedValues, onMenuOpen, options, innerRef },\n setCurrentOption,\n scrollOptionIntoView,\n hasFocus,\n showPopover,\n } = useContext(ComboBoxContext);\n\n useEffect(() => {\n const getFirstOption = () => {\n for (let i = 0; i < options.length; i += 1)\n if (!['section', 'separator'].includes(options[i].type)) {\n setCurrentOption(options[i].dsId);\n break;\n }\n };\n if (showPopover || inline) {\n if (onMenuOpen) onMenuOpen();\n if (innerRef.current?.value !== '') {\n getFirstOption();\n } else if (Array.isArray(selectedValues)) {\n if (selectedValues && selectedValues.length > 0) {\n setCurrentOption(selectedValues[selectedValues.length - 1].dsId);\n scrollOptionIntoView(selectedValues[selectedValues.length - 1].dsId);\n } else {\n getFirstOption();\n }\n } else {\n const singleSelectedValue = selectedValues as DSComboboxT.ItemOption;\n if (singleSelectedValue) {\n setCurrentOption(singleSelectedValue.dsId);\n scrollOptionIntoView(singleSelectedValue.dsId);\n } else {\n getFirstOption();\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showPopover, inline, hasFocus, innerRef.current?.value]);\n};\n\nexport { useMenuList };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAGA,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY,SAAS;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,YAAU,MAAM;AACd,UAAM,iBAAiB,MAAM;AAC3B,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAI,CAAC,CAAC,WAAW,aAAa,SAAS,QAAQ,GAAG,OAAO;AACvD,2BAAiB,QAAQ,GAAG;AAC5B;AAAA;AAAA;AAGN,QAAI,eAAe,QAAQ;AACzB,UAAI;AAAY;AAChB,UAAI,SAAS,SAAS,UAAU,IAAI;AAClC;AAAA,iBACS,MAAM,QAAQ,iBAAiB;AACxC,YAAI,kBAAkB,eAAe,SAAS,GAAG;AAC/C,2BAAiB,eAAe,eAAe,SAAS,GAAG;AAC3D,+BAAqB,eAAe,eAAe,SAAS,GAAG;AAAA,eAC1D;AACL;AAAA;AAAA,aAEG;AACL,cAAM,sBAAsB;AAC5B,YAAI,qBAAqB;AACvB,2BAAiB,oBAAoB;AACrC,+BAAqB,oBAAoB;AAAA,eACpC;AACL;AAAA;AAAA;AAAA;AAAA,KAKL,CAAC,aAAa,QAAQ,UAAU,SAAS,SAAS;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,36 +1,49 @@
1
1
  import * as React from "react";
2
- import React2, { useMemo, useContext } from "react";
3
- import { Grid } from "@elliemae/ds-grid";
2
+ import React2, { useMemo, useContext, useCallback } from "react";
4
3
  import { DSPillGroupV2, DSPillV2 } from "@elliemae/ds-pills";
5
4
  import { ComboBoxContext } from "../../ComboBoxCTX";
6
5
  import { useGroupPills } from "./useGroupPills";
7
- import { MultiAllyMessages } from "../a11y-messages";
6
+ import { ComboboxDataTestid } from "../../ComboboxDataTestids";
8
7
  const MultiSelectedValuesContainer = () => {
9
8
  const {
10
- props: { selectedValues },
11
- inputRef,
12
- pillGroupRef
9
+ props: { selectedValues, onChange, innerRef },
10
+ pillGroupRef,
11
+ showPopover,
12
+ setShowPopover
13
13
  } = useContext(ComboBoxContext);
14
14
  const multiSelectedValue = selectedValues;
15
- const pillsToShow = useGroupPills();
16
- const correctPillsToShow = pillsToShow || 1;
17
- const pills = useMemo(() => /* @__PURE__ */ React2.createElement(Grid, {
18
- style: { width: "max-content" }
15
+ const correctPillsToShow = useGroupPills() || 1;
16
+ const handleClickOnPills = useCallback((e) => {
17
+ if (!showPopover) {
18
+ setShowPopover(true);
19
+ innerRef.current?.focus();
20
+ }
21
+ e.stopPropagation();
22
+ }, [setShowPopover, innerRef, showPopover]);
23
+ const pills = useMemo(() => /* @__PURE__ */ React2.createElement("div", {
24
+ style: { width: "max-content" },
25
+ "data-testid": ComboboxDataTestid.SELECTED_VALUES
19
26
  }, /* @__PURE__ */ React2.createElement(DSPillGroupV2, {
27
+ onClick: handleClickOnPills,
20
28
  innerRef: pillGroupRef
21
29
  }, multiSelectedValue.length > 0 && multiSelectedValue.slice(0, correctPillsToShow).map((option) => /* @__PURE__ */ React2.createElement(DSPillV2, {
22
30
  size: "s",
23
31
  key: option.value,
24
32
  label: option.label,
25
- type: "value"
33
+ type: "removable",
34
+ tabIndex: -1,
35
+ onRemove: () => {
36
+ onChange(option);
37
+ innerRef.current?.focus();
38
+ }
26
39
  })), multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && /* @__PURE__ */ React2.createElement(DSPillV2, {
27
40
  size: "s",
28
41
  labelTruncated: false,
29
42
  key: "grouped",
30
43
  label: `+${multiSelectedValue.length - correctPillsToShow}`,
31
44
  type: "value"
32
- }))), [pillGroupRef, multiSelectedValue, correctPillsToShow]);
33
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, multiSelectedValue.length > 0 && !inputRef.current?.value && /* @__PURE__ */ React2.createElement(MultiAllyMessages, null), pills);
45
+ }))), [pillGroupRef, innerRef, onChange, handleClickOnPills, multiSelectedValue, correctPillsToShow]);
46
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, pills);
34
47
  };
35
48
  export {
36
49
  MultiSelectedValuesContainer
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSPillGroupV2, DSPillV2 } from '@elliemae/ds-pills';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { useGroupPills } from './useGroupPills';\nimport { CBItemOption } from '../../index.d';\nimport { MultiAllyMessages } from '../a11y-messages';\nconst MultiSelectedValuesContainer = (): JSX.Element => {\n const {\n props: { selectedValues },\n inputRef,\n pillGroupRef,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValue = selectedValues as CBItemOption[];\n const pillsToShow = useGroupPills();\n const correctPillsToShow = pillsToShow || 1;\n\n const pills = useMemo(\n () => (\n <Grid style={{ width: 'max-content' }}>\n <DSPillGroupV2 innerRef={pillGroupRef}>\n {multiSelectedValue.length > 0 &&\n multiSelectedValue\n .slice(0, correctPillsToShow)\n .map((option) => <DSPillV2 size=\"s\" key={option.value} label={option.label} type=\"value\" />)}\n {multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && (\n <DSPillV2\n size=\"s\"\n labelTruncated={false}\n key=\"grouped\"\n label={`+${multiSelectedValue.length - correctPillsToShow}`}\n type=\"value\"\n />\n )}\n </DSPillGroupV2>\n </Grid>\n ),\n\n [pillGroupRef, multiSelectedValue, correctPillsToShow],\n );\n\n return (\n <>\n {multiSelectedValue.length > 0 && !inputRef.current?.value && <MultiAllyMessages />}\n {pills}\n </>\n );\n};\n\nexport { MultiSelectedValuesContainer };\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEA;AACA,MAAM,+BAA+B,MAAmB;AACtD,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,qBAAqB;AAC3B,QAAM,cAAc;AACpB,QAAM,qBAAqB,eAAe;AAE1C,QAAM,QAAQ,QACZ,MACE,qCAAC,MAAD;AAAA,IAAM,OAAO,EAAE,OAAO;AAAA,KACpB,qCAAC,eAAD;AAAA,IAAe,UAAU;AAAA,KACtB,mBAAmB,SAAS,KAC3B,mBACG,MAAM,GAAG,oBACT,IAAI,CAAC,WAAW,qCAAC,UAAD;AAAA,IAAU,MAAK;AAAA,IAAI,KAAK,OAAO;AAAA,IAAO,OAAO,OAAO;AAAA,IAAO,MAAK;AAAA,OACpF,mBAAmB,SAAS,KAAK,uBAAuB,mBAAmB,UAC1E,qCAAC,UAAD;AAAA,IACE,MAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,KAAI;AAAA,IACJ,OAAO,IAAI,mBAAmB,SAAS;AAAA,IACvC,MAAK;AAAA,QAOf,CAAC,cAAc,oBAAoB;AAGrC,SACE,4DACG,mBAAmB,SAAS,KAAK,CAAC,SAAS,SAAS,SAAS,qCAAC,mBAAD,OAC7D;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useContext, useCallback } from 'react';\nimport { DSPillGroupV2, DSPillV2 } from '@elliemae/ds-pills';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { useGroupPills } from './useGroupPills';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nconst MultiSelectedValuesContainer = (): JSX.Element => {\n const {\n props: { selectedValues, onChange, innerRef },\n pillGroupRef,\n showPopover,\n setShowPopover,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValue = selectedValues as DSComboboxT.ItemOption[];\n const correctPillsToShow = useGroupPills() || 1;\n\n const handleClickOnPills = useCallback(\n (e: Event) => {\n if (!showPopover) {\n setShowPopover(true);\n innerRef.current?.focus();\n }\n e.stopPropagation();\n },\n [setShowPopover, innerRef, showPopover],\n );\n\n const pills = useMemo(\n () => (\n <div style={{ width: 'max-content' }} data-testid={ComboboxDataTestid.SELECTED_VALUES}>\n <DSPillGroupV2 onClick={handleClickOnPills} innerRef={pillGroupRef}>\n {multiSelectedValue.length > 0 &&\n multiSelectedValue.slice(0, correctPillsToShow).map((option) => (\n <DSPillV2\n size=\"s\"\n key={option.value}\n label={option.label}\n type=\"removable\"\n tabIndex={-1}\n onRemove={() => {\n onChange(option);\n innerRef.current?.focus();\n }}\n />\n ))}\n {multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && (\n <DSPillV2\n size=\"s\"\n labelTruncated={false}\n key=\"grouped\"\n label={`+${multiSelectedValue.length - correctPillsToShow}`}\n type=\"value\"\n />\n )}\n </DSPillGroupV2>\n </div>\n ),\n\n [pillGroupRef, innerRef, onChange, handleClickOnPills, multiSelectedValue, correctPillsToShow],\n );\n\n return <>{pills}</>;\n};\n\nexport { MultiSelectedValuesContainer };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA;AACA,MAAM,+BAA+B,MAAmB;AACtD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,UAAU;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,qBAAqB;AAC3B,QAAM,qBAAqB,mBAAmB;AAE9C,QAAM,qBAAqB,YACzB,CAAC,MAAa;AACZ,QAAI,CAAC,aAAa;AAChB,qBAAe;AACf,eAAS,SAAS;AAAA;AAEpB,MAAE;AAAA,KAEJ,CAAC,gBAAgB,UAAU;AAG7B,QAAM,QAAQ,QACZ,MACE,qCAAC,OAAD;AAAA,IAAK,OAAO,EAAE,OAAO;AAAA,IAAiB,eAAa,mBAAmB;AAAA,KACpE,qCAAC,eAAD;AAAA,IAAe,SAAS;AAAA,IAAoB,UAAU;AAAA,KACnD,mBAAmB,SAAS,KAC3B,mBAAmB,MAAM,GAAG,oBAAoB,IAAI,CAAC,WACnD,qCAAC,UAAD;AAAA,IACE,MAAK;AAAA,IACL,KAAK,OAAO;AAAA,IACZ,OAAO,OAAO;AAAA,IACd,MAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU,MAAM;AACd,eAAS;AACT,eAAS,SAAS;AAAA;AAAA,OAIzB,mBAAmB,SAAS,KAAK,uBAAuB,mBAAmB,UAC1E,qCAAC,UAAD;AAAA,IACE,MAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,KAAI;AAAA,IACJ,OAAO,IAAI,mBAAmB,SAAS;AAAA,IACvC,MAAK;AAAA,QAOf,CAAC,cAAc,UAAU,UAAU,oBAAoB,oBAAoB;AAG7E,SAAO,4DAAG;AAAA;",
6
6
  "names": []
7
7
  }
@@ -10,8 +10,7 @@ const getGroupedPillWidth = (remainingPills) => {
10
10
  };
11
11
  const useGroupPills = () => {
12
12
  const {
13
- props: { selectedValues },
14
- inputRef,
13
+ props: { selectedValues, innerRef },
15
14
  selectedOptionsRef,
16
15
  controlsWrapperRef,
17
16
  pillGroupRef
@@ -19,7 +18,7 @@ const useGroupPills = () => {
19
18
  const multiSelectedValues = selectedValues;
20
19
  const [pillsToShow, setPillsToShow] = useState(multiSelectedValues.length);
21
20
  const { width } = useOnElementResize(controlsWrapperRef);
22
- const { width: widthInput } = useOnElementResize(inputRef || null);
21
+ const { width: widthInput } = useOnElementResize(innerRef || null);
23
22
  useEffect(() => {
24
23
  if (multiSelectedValues.length !== pillsToShow) {
25
24
  setPillsToShow(multiSelectedValues.length);
@@ -33,7 +32,7 @@ const useGroupPills = () => {
33
32
  let currentWidth = 0;
34
33
  const referenceWidth = selectedOptionsRef.current.offsetWidth;
35
34
  const pills = [
36
- ...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-value")
35
+ ...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-removable")
37
36
  ];
38
37
  const pillsWidth = pills.map((pill) => pill?.offsetWidth);
39
38
  pillsWidth.forEach((pillWidth, idx) => {
@@ -51,7 +50,7 @@ const useGroupPills = () => {
51
50
  if (pillGroupRef.current)
52
51
  pillGroupRef.current.style.width = "fit-content";
53
52
  }
54
- }, [selectedOptionsRef, inputRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);
53
+ }, [selectedOptionsRef, innerRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);
55
54
  return pillsToShow;
56
55
  };
57
56
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/controlled-combobox/parts/multi-selected-values-container/useGroupPills.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useEffect, useState, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { CBItemOption } from '../../index.d';\n\nconst getGroupedPillWidth = (remainingPills: number): number => {\n if (remainingPills === 0) return 0;\n const digits = remainingPills.toString().length;\n return 8 * (digits - 1) + 31;\n};\nconst useGroupPills = (): number => {\n const {\n props: { selectedValues },\n inputRef,\n selectedOptionsRef,\n controlsWrapperRef,\n pillGroupRef,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as CBItemOption[];\n const [pillsToShow, setPillsToShow] = useState(multiSelectedValues.length);\n const { width } = useOnElementResize(controlsWrapperRef);\n const { width: widthInput } = useOnElementResize(inputRef || null);\n useEffect(() => {\n if (multiSelectedValues.length !== pillsToShow) {\n setPillsToShow(multiSelectedValues.length);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [multiSelectedValues.length, width, widthInput]);\n\n useLayoutEffect(() => {\n if (selectedOptionsRef.current) {\n if (pillGroupRef.current) pillGroupRef.current.style.width = 'max-content';\n let lastPillFit = -1;\n let currentWidth = 0;\n const referenceWidth = selectedOptionsRef.current.offsetWidth;\n const pills: HTMLDivElement[] = [\n ...selectedOptionsRef.current.querySelectorAll('.ds-pill-wrapper-value'),\n ] as HTMLDivElement[];\n const pillsWidth = pills.map((pill) => pill?.offsetWidth);\n pillsWidth.forEach((pillWidth, idx) => {\n currentWidth += pillWidth;\n if (currentWidth + getGroupedPillWidth(multiSelectedValues.length - idx - 1) <= referenceWidth) {\n lastPillFit = idx;\n }\n });\n if (!(multiSelectedValues.length > 0 && pillsToShow !== multiSelectedValues.length)) {\n const nextPillsToShow = lastPillFit + 1;\n\n if (nextPillsToShow !== pillsToShow) {\n setPillsToShow(nextPillsToShow);\n }\n }\n\n if (pillGroupRef.current) pillGroupRef.current.style.width = 'fit-content';\n }\n }, [selectedOptionsRef, inputRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);\n\n return pillsToShow;\n};\n\nexport { useGroupPills };\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AAGA,MAAM,sBAAsB,CAAC,mBAAmC;AAC9D,MAAI,mBAAmB;AAAG,WAAO;AACjC,QAAM,SAAS,eAAe,WAAW;AACzC,SAAO,IAAK,UAAS,KAAK;AAAA;AAE5B,MAAM,gBAAgB,MAAc;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,CAAC,aAAa,kBAAkB,SAAS,oBAAoB;AACnE,QAAM,EAAE,UAAU,mBAAmB;AACrC,QAAM,EAAE,OAAO,eAAe,mBAAmB,YAAY;AAC7D,YAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,aAAa;AAC9C,qBAAe,oBAAoB;AAAA;AAAA,KAGpC,CAAC,oBAAoB,QAAQ,OAAO;AAEvC,kBAAgB,MAAM;AACpB,QAAI,mBAAmB,SAAS;AAC9B,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAC7D,UAAI,cAAc;AAClB,UAAI,eAAe;AACnB,YAAM,iBAAiB,mBAAmB,QAAQ;AAClD,YAAM,QAA0B;AAAA,QAC9B,GAAG,mBAAmB,QAAQ,iBAAiB;AAAA;AAEjD,YAAM,aAAa,MAAM,IAAI,CAAC,SAAS,MAAM;AAC7C,iBAAW,QAAQ,CAAC,WAAW,QAAQ;AACrC,wBAAgB;AAChB,YAAI,eAAe,oBAAoB,oBAAoB,SAAS,MAAM,MAAM,gBAAgB;AAC9F,wBAAc;AAAA;AAAA;AAGlB,UAAI,CAAE,qBAAoB,SAAS,KAAK,gBAAgB,oBAAoB,SAAS;AACnF,cAAM,kBAAkB,cAAc;AAEtC,YAAI,oBAAoB,aAAa;AACnC,yBAAe;AAAA;AAAA;AAInB,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAAA;AAAA,KAE9D,CAAC,oBAAoB,UAAU,qBAAqB,aAAa,cAAc,OAAO;AAEzF,SAAO;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useEffect, useState, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { DSComboboxT } from '../../react-desc-prop-types';\n\nconst getGroupedPillWidth = (remainingPills: number): number => {\n if (remainingPills === 0) return 0;\n const digits = remainingPills.toString().length;\n return 8 * (digits - 1) + 31;\n};\nconst useGroupPills = (): number => {\n const {\n props: { selectedValues, innerRef },\n selectedOptionsRef,\n controlsWrapperRef,\n pillGroupRef,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as DSComboboxT.ItemOption[];\n const [pillsToShow, setPillsToShow] = useState(multiSelectedValues.length);\n const { width } = useOnElementResize(controlsWrapperRef);\n const { width: widthInput } = useOnElementResize(innerRef || null);\n useEffect(() => {\n if (multiSelectedValues.length !== pillsToShow) {\n setPillsToShow(multiSelectedValues.length);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [multiSelectedValues.length, width, widthInput]);\n\n useLayoutEffect(() => {\n if (selectedOptionsRef.current) {\n if (pillGroupRef.current) pillGroupRef.current.style.width = 'max-content';\n let lastPillFit = -1;\n let currentWidth = 0;\n const referenceWidth = selectedOptionsRef.current.offsetWidth;\n const pills: HTMLDivElement[] = [\n ...selectedOptionsRef.current.querySelectorAll('.ds-pill-wrapper-removable'),\n ] as HTMLDivElement[];\n const pillsWidth = pills.map((pill) => pill?.offsetWidth);\n pillsWidth.forEach((pillWidth, idx) => {\n currentWidth += pillWidth;\n if (currentWidth + getGroupedPillWidth(multiSelectedValues.length - idx - 1) <= referenceWidth) {\n lastPillFit = idx;\n }\n });\n if (!(multiSelectedValues.length > 0 && pillsToShow !== multiSelectedValues.length)) {\n const nextPillsToShow = lastPillFit + 1;\n\n if (nextPillsToShow !== pillsToShow) {\n setPillsToShow(nextPillsToShow);\n }\n }\n\n if (pillGroupRef.current) pillGroupRef.current.style.width = 'fit-content';\n }\n }, [selectedOptionsRef, innerRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);\n\n return pillsToShow;\n};\n\nexport { useGroupPills };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AAGA,MAAM,sBAAsB,CAAC,mBAAmC;AAC9D,MAAI,mBAAmB;AAAG,WAAO;AACjC,QAAM,SAAS,eAAe,WAAW;AACzC,SAAO,IAAK,UAAS,KAAK;AAAA;AAE5B,MAAM,gBAAgB,MAAc;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,CAAC,aAAa,kBAAkB,SAAS,oBAAoB;AACnE,QAAM,EAAE,UAAU,mBAAmB;AACrC,QAAM,EAAE,OAAO,eAAe,mBAAmB,YAAY;AAC7D,YAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,aAAa;AAC9C,qBAAe,oBAAoB;AAAA;AAAA,KAGpC,CAAC,oBAAoB,QAAQ,OAAO;AAEvC,kBAAgB,MAAM;AACpB,QAAI,mBAAmB,SAAS;AAC9B,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAC7D,UAAI,cAAc;AAClB,UAAI,eAAe;AACnB,YAAM,iBAAiB,mBAAmB,QAAQ;AAClD,YAAM,QAA0B;AAAA,QAC9B,GAAG,mBAAmB,QAAQ,iBAAiB;AAAA;AAEjD,YAAM,aAAa,MAAM,IAAI,CAAC,SAAS,MAAM;AAC7C,iBAAW,QAAQ,CAAC,WAAW,QAAQ;AACrC,wBAAgB;AAChB,YAAI,eAAe,oBAAoB,oBAAoB,SAAS,MAAM,MAAM,gBAAgB;AAC9F,wBAAc;AAAA;AAAA;AAGlB,UAAI,CAAE,qBAAoB,SAAS,KAAK,gBAAgB,oBAAoB,SAAS;AACnF,cAAM,kBAAkB,cAAc;AAEtC,YAAI,oBAAoB,aAAa;AACnC,yBAAe;AAAA;AAAA;AAInB,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAAA;AAAA,KAE9D,CAAC,oBAAoB,UAAU,qBAAqB,aAAa,cAAc,OAAO;AAEzF,SAAO;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
20
  import * as React from "react";
2
- import { PropTypes } from "react-desc";
3
- const propTypes = {
21
+ import { globalAttributesPropTypes, PropTypes } from "@elliemae/ds-props-helpers";
22
+ const ComboboxPropTypes = __spreadProps(__spreadValues({}, globalAttributesPropTypes), {
4
23
  placeholder: PropTypes.string.description("input s placeholder value").defaultValue(""),
5
- options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]).description("List of options").defaultValue([]),
24
+ options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]).isRequired.description("List of options").defaultValue([]),
6
25
  selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).description("Array of option or single option selected"),
26
+ disabled: PropTypes.bool.description("wheter or not the input is disabled").defaultValue("false"),
7
27
  autoFocus: PropTypes.bool.description("Whether the combo box uses auto focus or not").defaultValue("false"),
8
28
  hasError: PropTypes.bool.description("Whether the combo box has error or not").defaultValue("false"),
9
29
  onChange: PropTypes.func.description("function triggered when an option is selected it will send the options selected").defaultValue(""),
@@ -16,11 +36,11 @@ const propTypes = {
16
36
  inputMinWidth: PropTypes.any.description("Minimum width for the combo box input controller").defaultValue(void 0),
17
37
  menuMinWidth: PropTypes.any.description("Minimum width for the dropdown menu").defaultValue(void 0),
18
38
  menuMaxHeight: PropTypes.any.description("Maximum height for the dropdown menu").defaultValue(void 0),
19
- withToggle: PropTypes.bool.description("POC purpose this prop will not remain").defaultValue("false"),
20
39
  withoutPortal: PropTypes.bool.description("Whether the combobox menu is rendered in a portal or not").defaultValue(false),
21
- zIndex: PropTypes.number.description("The z-index of the combobox menu").defaultValue(10)
22
- };
40
+ zIndex: PropTypes.number.description("The z-index of the combobox menu").defaultValue(10),
41
+ innerRef: PropTypes.object.description("ref to the component s container")
42
+ });
23
43
  export {
24
- propTypes
44
+ ComboboxPropTypes
25
45
  };
26
- //# sourceMappingURL=propTypes.js.map
46
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/controlled-combobox/react-desc-prop-types.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n innerRef: React.RefObject<HTMLInputElement>;\n }\n export interface DefaultProps {\n placeholder?: string;\n options: OptionTypes[];\n selectedValues: SelectedOptionsT;\n hasError?: boolean;\n inline?: boolean;\n autoFocus?: boolean;\n startPlacementPreference?: string;\n placementOrderPreference?: string[];\n withoutPortal?: boolean;\n zIndex?: number;\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n disabled?: boolean;\n onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption | undefined) => void;\n onChange: (value: ItemOption | null) => void;\n onBlur: () => void;\n onSelectAll: () => void;\n onClearAll: () => void;\n onFilter: (value: string) => void;\n onCreate: (label: string) => void;\n onMenuOpen?: () => void;\n onCancel?: () => void;\n }\n\n export interface Props extends DefaultProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description('input s placeholder value').defaultValue(''),\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of options')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n onChange: PropTypes.func\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue(''),\n onSelectAll: PropTypes.func\n .description('function triggered when ALL button is selected from the header menu list')\n .defaultValue(''),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onClearAll: PropTypes.func\n .description('function triggered when user select CLEAR button from the header menu list')\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue(''),\n onMenuOpen: PropTypes.func.description('function triggered when user open the menu list').defaultValue(''),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.object.description('ref to the component s container'),\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACCA;AA+DO,MAAM,oBAAoB,iCAC5B,4BAD4B;AAAA,EAE/B,aAAa,UAAU,OAAO,YAAY,6BAA6B,aAAa;AAAA,EACpF,SAAS,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,SACtD,WAAW,YAAY,mBACvB,aAAa;AAAA,EAChB,gBAAgB,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,SAAS,UAAU,SAAS,YAC3F;AAAA,EAEF,UAAU,UAAU,KAAK,YAAY,uCAAuC,aAAa;AAAA,EACzF,WAAW,UAAU,KAAK,YAAY,gDAAgD,aAAa;AAAA,EACnG,UAAU,UAAU,KAAK,YAAY,0CAA0C,aAAa;AAAA,EAC5F,UAAU,UAAU,KACjB,YAAY,mFACZ,aAAa;AAAA,EAChB,aAAa,UAAU,KACpB,YAAY,4EACZ,aAAa;AAAA,EAChB,UAAU,UAAU,KAAK,YAAY,2DAA2D,aAAa;AAAA,EAC7G,UAAU,UAAU,KACjB,YACC,0GAED,aAAa;AAAA,EAChB,YAAY,UAAU,KACnB,YAAY,8EACZ,aAAa;AAAA,EAChB,UAAU,UAAU,KAAK,YAAY,8CAA8C,aAAa;AAAA,EAChG,YAAY,UAAU,KAAK,YAAY,mDAAmD,aAAa;AAAA,EACvG,eAAe,UAAU,IAAI,YAAY,oDAAoD,aAAa;AAAA,EAC1G,cAAc,UAAU,IAAI,YAAY,uCAAuC,aAAa;AAAA,EAC5F,eAAe,UAAU,IAAI,YAAY,wCAAwC,aAAa;AAAA,EAC9F,eAAe,UAAU,KACtB,YAAY,4DACZ,aAAa;AAAA,EAChB,QAAQ,UAAU,OAAO,YAAY,oCAAoC,aAAa;AAAA,EACtF,UAAU,UAAU,OAAO,YAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ //# sourceMappingURL=sharedTypes.js.map
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { useCallback, useContext } from "react";
3
3
  import { ComboBoxContext } from "../../ComboBoxCTX";
4
4
  import { findInCircularList } from "../listHelper";
5
- const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type);
5
+ const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type) && !opt.disabled;
6
6
  const useKeyboardNavigation = () => {
7
7
  const {
8
8
  props: {
@@ -15,13 +15,12 @@ const useKeyboardNavigation = () => {
15
15
  options,
16
16
  selectedValues,
17
17
  onFilter,
18
- withoutPortal
18
+ withoutPortal,
19
+ innerRef
19
20
  },
20
21
  setShowPopover,
21
22
  showPopover,
22
- setShowSelectedValue,
23
23
  focusOptionIdx,
24
- inputRef,
25
24
  setCurrentOption,
26
25
  scrollOptionIntoView,
27
26
  selectAllCheckboxRef,
@@ -32,39 +31,31 @@ const useKeyboardNavigation = () => {
32
31
  const currentItem = options.find((item) => item.dsId === focusOptionIdx);
33
32
  const selectOption = useCallback(() => {
34
33
  if (multiple) {
35
- if (inputRef.current)
36
- onFilter(inputRef.current.value);
34
+ if (innerRef.current)
35
+ onFilter(innerRef.current.value);
37
36
  } else {
38
37
  onFilter("");
39
- if (inputRef.current)
40
- inputRef.current.value = "";
41
- setShowSelectedValue(true);
38
+ if (innerRef.current)
39
+ innerRef.current.value = "";
42
40
  }
43
- onChange(options.find((item) => item.dsId === focusOptionIdx));
44
- setShowPopover(multiple ? true : !showPopover);
45
- }, [
46
- multiple,
47
- options,
48
- focusOptionIdx,
49
- setShowPopover,
50
- showPopover,
51
- onFilter,
52
- inputRef,
53
- setShowSelectedValue,
54
- onChange
55
- ]);
41
+ const selectedOption = options.find((item) => item.dsId === focusOptionIdx);
42
+ onChange(selectedOption);
43
+ if (!selectedOption.disabled && !multiple)
44
+ setShowPopover(false);
45
+ }, [multiple, options, focusOptionIdx, setShowPopover, onFilter, innerRef, onChange]);
56
46
  const onInputKeyDown = useCallback((e) => {
57
47
  const targetElement = e.target;
58
48
  onKeyDown(e, currentItem);
59
49
  if (e.key === "Enter" && currentItem?.type === "creatable") {
60
50
  onCreate(targetElement.value);
61
51
  onFilter("");
62
- if (inputRef.current)
63
- inputRef.current.value = "";
52
+ if (innerRef.current)
53
+ innerRef.current.value = "";
64
54
  return;
65
55
  }
66
56
  if (e.key === "Enter" || e.keyCode === 32 && e.altKey) {
67
57
  e.preventDefault();
58
+ e.stopPropagation();
68
59
  if (!showPopover && !inline) {
69
60
  setShowPopover(true);
70
61
  } else {
@@ -79,6 +70,7 @@ const useKeyboardNavigation = () => {
79
70
  }
80
71
  if (e.key === "ArrowDown") {
81
72
  e.preventDefault();
73
+ e.stopPropagation();
82
74
  if (showPopover || inline) {
83
75
  const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);
84
76
  setCurrentOption(options[nextItemIndex].dsId);
@@ -89,6 +81,7 @@ const useKeyboardNavigation = () => {
89
81
  }
90
82
  if (e.key === "ArrowUp") {
91
83
  e.preventDefault();
84
+ e.stopPropagation();
92
85
  if (showPopover || inline) {
93
86
  const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);
94
87
  setCurrentOption(options[nextItemIndex].dsId);
@@ -105,9 +98,9 @@ const useKeyboardNavigation = () => {
105
98
  if (e.key === "Escape") {
106
99
  if (onCancel)
107
100
  onCancel();
108
- if (inputRef.current && inputRef.current?.value !== "") {
101
+ if (innerRef.current && innerRef.current?.value !== "") {
109
102
  onFilter("");
110
- inputRef.current.value = "";
103
+ innerRef.current.value = "";
111
104
  }
112
105
  if (!inline)
113
106
  setShowPopover(false);
@@ -120,7 +113,6 @@ const useKeyboardNavigation = () => {
120
113
  onChange(null);
121
114
  }
122
115
  onFilter("");
123
- setShowSelectedValue(true);
124
116
  }
125
117
  if (e.key === "Tab" && !inline && !withoutPortal) {
126
118
  const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;
@@ -129,13 +121,11 @@ const useKeyboardNavigation = () => {
129
121
  element.focus();
130
122
  }
131
123
  }
132
- if (e.key === "Tab" && inline) {
133
- }
134
124
  }, [
135
125
  currentItemIndex,
136
126
  options,
137
127
  currentItem,
138
- inputRef,
128
+ innerRef,
139
129
  multiple,
140
130
  showPopover,
141
131
  selectedValues,
@@ -148,7 +138,6 @@ const useKeyboardNavigation = () => {
148
138
  onFilter,
149
139
  setCurrentOption,
150
140
  setShowPopover,
151
- setShowSelectedValue,
152
141
  selectOption,
153
142
  onCancel,
154
143
  selectAllCheckboxRef,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/controlled-combobox/utils/hooks/useKeyboardNavigation.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext } from 'react';\nimport { CBOptionT } from '../../index.d';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { findInCircularList } from '../listHelper';\n\nconst isOptionFocuseable = (opt: CBOptionT): boolean => !['section', 'separator'].includes(opt.type);\n\nexport const useKeyboardNavigation = () => {\n const {\n props: {\n inline,\n onSelectAll,\n onCancel,\n onKeyDown,\n onChange,\n onCreate,\n options,\n selectedValues,\n onFilter,\n withoutPortal,\n },\n setShowPopover,\n showPopover,\n setShowSelectedValue,\n focusOptionIdx,\n inputRef,\n setCurrentOption,\n scrollOptionIntoView,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n\n const currentItemIndex = options.findIndex((opt) => opt.dsId === focusOptionIdx);\n const currentItem = options.find((item) => item.dsId === focusOptionIdx);\n const selectOption = useCallback(() => {\n if (multiple) {\n if (inputRef.current) onFilter(inputRef.current.value);\n } else {\n onFilter('');\n if (inputRef.current) inputRef.current.value = '';\n setShowSelectedValue(true);\n }\n onChange(options.find((item) => item.dsId === focusOptionIdx));\n setShowPopover(multiple ? true : !showPopover);\n }, [\n multiple,\n options,\n focusOptionIdx,\n setShowPopover,\n showPopover,\n onFilter,\n inputRef,\n setShowSelectedValue,\n onChange,\n ]);\n\n const onInputKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n const targetElement = e.target as HTMLInputElement;\n\n // =============================================================================\n // CUSTOM KEYS\n // =============================================================================\n onKeyDown(e, currentItem);\n // =============================================================================\n // ENTER KEY TO CREATE ELEMENTS\n // =============================================================================\n if (e.key === 'Enter' && currentItem?.type === 'creatable') {\n onCreate(targetElement.value);\n onFilter('');\n if (inputRef.current) inputRef.current.value = '';\n return;\n }\n\n // =============================================================================\n // Enter and space on selection\n // =============================================================================\n if (e.key === 'Enter' || (e.keyCode === 32 && e.altKey)) {\n e.preventDefault();\n if (!showPopover && !inline) {\n setShowPopover(true);\n } else {\n selectOption();\n }\n }\n\n if (e.key === 'Enter' && e.altKey) {\n setShowPopover(false);\n }\n\n if (e.key === 'a' && e.ctrlKey && multiple) {\n onSelectAll();\n }\n // =============================================================================\n // ARROWS UP AND DOWN\n // =============================================================================\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n }\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n setTimeout(() => {\n const nextItemIndex = findInCircularList(options, 0, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n });\n }\n }\n // =============================================================================\n // ESCAPE\n // =============================================================================\n if (e.key === 'Escape') {\n if (onCancel) onCancel();\n if (inputRef.current && inputRef.current?.value !== '') {\n onFilter('');\n inputRef.current.value = '';\n }\n if (!inline) setShowPopover(false);\n }\n // =============================================================================\n // BACKSPACE\n // =============================================================================\n if (e.key === 'Backspace' && targetElement.value.length <= 0 && !inline) {\n if (multiple && !targetElement.value) {\n if (selectedValues.length > 0) onChange(selectedValues[selectedValues.length - 1]);\n } else {\n onChange(null);\n }\n onFilter('');\n setShowSelectedValue(true);\n }\n\n if (e.key === 'Tab' && !inline && !withoutPortal) {\n const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;\n if (element) {\n e.preventDefault();\n element.focus();\n }\n }\n\n if (e.key === 'Tab' && inline) {\n // TODO confirm funcionality\n // e.preventDefault();\n }\n },\n [\n currentItemIndex,\n options,\n currentItem,\n inputRef,\n multiple,\n showPopover,\n selectedValues,\n inline,\n scrollOptionIntoView,\n onKeyDown,\n onSelectAll,\n onChange,\n onCreate,\n onFilter,\n setCurrentOption,\n setShowPopover,\n setShowSelectedValue,\n selectOption,\n onCancel,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n withoutPortal,\n ],\n );\n\n return { onInputKeyDown };\n};\n"],
5
- "mappings": "AAAA;ACIA;AAEA;AACA;AAEA,MAAM,qBAAqB,CAAC,QAA4B,CAAC,CAAC,WAAW,aAAa,SAAS,IAAI;AAExF,MAAM,wBAAwB,MAAM;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAEf,QAAM,WAAW,MAAM,QAAQ;AAE/B,QAAM,mBAAmB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS;AACjE,QAAM,cAAc,QAAQ,KAAK,CAAC,SAAS,KAAK,SAAS;AACzD,QAAM,eAAe,YAAY,MAAM;AACrC,QAAI,UAAU;AACZ,UAAI,SAAS;AAAS,iBAAS,SAAS,QAAQ;AAAA,WAC3C;AACL,eAAS;AACT,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAC/C,2BAAqB;AAAA;AAEvB,aAAS,QAAQ,KAAK,CAAC,SAAS,KAAK,SAAS;AAC9C,mBAAe,WAAW,OAAO,CAAC;AAAA,KACjC;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGF,QAAM,iBAA6C,YACjD,CAAC,MAAM;AACL,UAAM,gBAAgB,EAAE;AAKxB,cAAU,GAAG;AAIb,QAAI,EAAE,QAAQ,WAAW,aAAa,SAAS,aAAa;AAC1D,eAAS,cAAc;AACvB,eAAS;AACT,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAC/C;AAAA;AAMF,QAAI,EAAE,QAAQ,WAAY,EAAE,YAAY,MAAM,EAAE,QAAS;AACvD,QAAE;AACF,UAAI,CAAC,eAAe,CAAC,QAAQ;AAC3B,uBAAe;AAAA,aACV;AACL;AAAA;AAAA;AAIJ,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ;AACjC,qBAAe;AAAA;AAGjB,QAAI,EAAE,QAAQ,OAAO,EAAE,WAAW,UAAU;AAC1C;AAAA;AAKF,QAAI,EAAE,QAAQ,aAAa;AACzB,QAAE;AACF,UAAI,eAAe,QAAQ;AACzB,cAAM,gBAAgB,mBAAmB,SAAS,kBAAkB;AACpE,yBAAiB,QAAQ,eAAe;AACxC,6BAAqB,QAAQ,eAAe;AAAA,aACvC;AACL,uBAAe;AAAA;AAAA;AAGnB,QAAI,EAAE,QAAQ,WAAW;AACvB,QAAE;AACF,UAAI,eAAe,QAAQ;AACzB,cAAM,gBAAgB,mBAAmB,SAAS,kBAAkB,oBAAoB;AACxF,yBAAiB,QAAQ,eAAe;AACxC,6BAAqB,QAAQ,eAAe;AAAA,aACvC;AACL,uBAAe;AACf,mBAAW,MAAM;AACf,gBAAM,gBAAgB,mBAAmB,SAAS,GAAG,oBAAoB;AACzE,2BAAiB,QAAQ,eAAe;AACxC,+BAAqB,QAAQ,eAAe;AAAA;AAAA;AAAA;AAOlD,QAAI,EAAE,QAAQ,UAAU;AACtB,UAAI;AAAU;AACd,UAAI,SAAS,WAAW,SAAS,SAAS,UAAU,IAAI;AACtD,iBAAS;AACT,iBAAS,QAAQ,QAAQ;AAAA;AAE3B,UAAI,CAAC;AAAQ,uBAAe;AAAA;AAK9B,QAAI,EAAE,QAAQ,eAAe,cAAc,MAAM,UAAU,KAAK,CAAC,QAAQ;AACvE,UAAI,YAAY,CAAC,cAAc,OAAO;AACpC,YAAI,eAAe,SAAS;AAAG,mBAAS,eAAe,eAAe,SAAS;AAAA,aAC1E;AACL,iBAAS;AAAA;AAEX,eAAS;AACT,2BAAqB;AAAA;AAGvB,QAAI,EAAE,QAAQ,SAAS,CAAC,UAAU,CAAC,eAAe;AAChD,YAAM,UAAU,qBAAqB,WAAW,yBAAyB;AACzE,UAAI,SAAS;AACX,UAAE;AACF,gBAAQ;AAAA;AAAA;AAIZ,QAAI,EAAE,QAAQ,SAAS,QAAQ;AAAA;AAAA,KAKjC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIJ,SAAO,EAAE;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext } from 'react';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { findInCircularList } from '../listHelper';\n\nconst isOptionFocuseable = (opt: DSComboboxT.OptionTypes): boolean =>\n !['section', 'separator'].includes(opt.type) && !opt.disabled;\n\nexport const useKeyboardNavigation = () => {\n const {\n props: {\n inline,\n onSelectAll,\n onCancel,\n onKeyDown,\n onChange,\n onCreate,\n options,\n selectedValues,\n onFilter,\n withoutPortal,\n innerRef,\n },\n setShowPopover,\n showPopover,\n focusOptionIdx,\n setCurrentOption,\n scrollOptionIntoView,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n\n const currentItemIndex = options.findIndex((opt) => opt.dsId === focusOptionIdx);\n const currentItem = options.find((item) => item.dsId === focusOptionIdx) as\n | DSComboboxT.ItemOption\n | DSComboboxT.ItemCreatableOption;\n const selectOption = useCallback(() => {\n if (multiple) {\n if (innerRef.current) onFilter(innerRef.current.value);\n } else {\n onFilter('');\n if (innerRef.current) innerRef.current.value = '';\n }\n const selectedOption = options.find((item) => item.dsId === focusOptionIdx) as DSComboboxT.ItemOption;\n onChange(selectedOption);\n if (!selectedOption.disabled && !multiple) setShowPopover(false);\n }, [multiple, options, focusOptionIdx, setShowPopover, onFilter, innerRef, onChange]);\n\n const onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n const targetElement = e.target as HTMLInputElement;\n\n // =============================================================================\n // CUSTOM KEYS\n // =============================================================================\n onKeyDown(e, currentItem as DSComboboxT.ItemOption);\n // =============================================================================\n // ENTER KEY TO CREATE ELEMENTS\n // =============================================================================\n if (e.key === 'Enter' && currentItem?.type === 'creatable') {\n onCreate(targetElement.value);\n onFilter('');\n if (innerRef.current) innerRef.current.value = '';\n return;\n }\n\n // =============================================================================\n // Enter and space on selection\n // =============================================================================\n if (e.key === 'Enter' || (e.keyCode === 32 && e.altKey)) {\n e.preventDefault();\n e.stopPropagation();\n\n if (!showPopover && !inline) {\n setShowPopover(true);\n } else {\n selectOption();\n }\n }\n\n if (e.key === 'Enter' && e.altKey) {\n setShowPopover(false);\n }\n\n if (e.key === 'a' && e.ctrlKey && multiple) {\n onSelectAll();\n }\n // =============================================================================\n // ARROWS UP AND DOWN\n // =============================================================================\n\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n e.stopPropagation();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n }\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n e.stopPropagation();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n setTimeout(() => {\n const nextItemIndex = findInCircularList(options, 0, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n });\n }\n }\n // =============================================================================\n // ESCAPE\n // =============================================================================\n if (e.key === 'Escape') {\n if (onCancel) onCancel();\n if (innerRef.current && innerRef.current?.value !== '') {\n onFilter('');\n innerRef.current.value = '';\n }\n if (!inline) setShowPopover(false);\n }\n // =============================================================================\n // BACKSPACE\n // =============================================================================\n if (e.key === 'Backspace' && targetElement.value.length <= 0 && !inline) {\n if (multiple && !targetElement.value) {\n if (selectedValues.length > 0) onChange(selectedValues[selectedValues.length - 1]);\n } else {\n onChange(null);\n }\n onFilter('');\n }\n\n if (e.key === 'Tab' && !inline && !withoutPortal) {\n const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;\n if (element) {\n e.preventDefault();\n element.focus();\n }\n }\n\n // if (e.key === 'Tab' && multiple) {\n // }\n },\n [\n currentItemIndex,\n options,\n currentItem,\n innerRef,\n multiple,\n showPopover,\n selectedValues,\n inline,\n scrollOptionIntoView,\n onKeyDown,\n onSelectAll,\n onChange,\n onCreate,\n onFilter,\n setCurrentOption,\n setShowPopover,\n selectOption,\n onCancel,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n withoutPortal,\n ],\n );\n\n return { onInputKeyDown };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
- const getSelectableOptions = (options) => options ? options.filter((option) => option.type === "option" && !option.disabled) : [];
3
- const getOptions = (options) => options ? options.filter((option) => option.type === "option") : [];
2
+ const getSelectableOptions = (options) => options.filter((option) => option.type === "option" && !option.disabled);
3
+ const getOptions = (options) => options.filter((option) => option.type === "option");
4
4
  const isSelectedValueEmpty = (value) => Array.isArray(value) ? value.length === 0 : !value;
5
5
  const isSelectedValueMultiple = (value) => Array.isArray(value);
6
6
  const isSelected = (value, activeOption) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/controlled-combobox/utils/listHelper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { CBItemOption, CBOptionT, CBSelectedOptionsT } from '../index.d';\n\nexport const getSelectableOptions = (options: Array<CBOptionT>): Array<CBOptionT> =>\n options ? options.filter((option) => option.type === 'option' && !option.disabled) : [];\n\nexport const getOptions = (options: Array<CBOptionT>): Array<CBOptionT> =>\n options ? options.filter((option) => option.type === 'option') : [];\n\nexport const isSelectedValueEmpty = (value: CBSelectedOptionsT): boolean =>\n Array.isArray(value) ? value.length === 0 : !value;\n\nexport const isSelectedValueMultiple = (value: CBOptionT | Array<CBOptionT>): boolean => Array.isArray(value);\n\nexport const isSelected = (value: CBItemOption | CBItemOption[], activeOption: CBItemOption): boolean => {\n if (isSelectedValueMultiple(value)) {\n const multiValue = value as CBItemOption[];\n return multiValue.some((item) => item?.value === activeOption?.value);\n }\n const singleValue = value as CBItemOption;\n return singleValue?.value === activeOption.value;\n};\n\nexport const findInCircularList = <T extends unknown>(\n list: T[],\n from: number,\n criteria: (item: T) => boolean,\n step = 1,\n // eslint-disable-next-line max-params\n): number => {\n for (let i = (from + step + list.length) % list.length; i !== from; i = (i + step + list.length) % list.length) {\n if (criteria(list[i])) return i;\n }\n return from; // return same item\n};\n"],
5
- "mappings": "AAAA;ACEO,MAAM,uBAAuB,CAAC,YACnC,UAAU,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS,YAAY,CAAC,OAAO,YAAY;AAEhF,MAAM,aAAa,CAAC,YACzB,UAAU,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS,YAAY;AAE5D,MAAM,uBAAuB,CAAC,UACnC,MAAM,QAAQ,SAAS,MAAM,WAAW,IAAI,CAAC;AAExC,MAAM,0BAA0B,CAAC,UAAiD,MAAM,QAAQ;AAEhG,MAAM,aAAa,CAAC,OAAsC,iBAAwC;AACvG,MAAI,wBAAwB,QAAQ;AAClC,UAAM,aAAa;AACnB,WAAO,WAAW,KAAK,CAAC,SAAS,MAAM,UAAU,cAAc;AAAA;AAEjE,QAAM,cAAc;AACpB,SAAO,aAAa,UAAU,aAAa;AAAA;AAGtC,MAAM,qBAAqB,CAChC,MACA,MACA,UACA,OAAO,MAEI;AACX,WAAS,IAAK,QAAO,OAAO,KAAK,UAAU,KAAK,QAAQ,MAAM,MAAM,IAAK,KAAI,OAAO,KAAK,UAAU,KAAK,QAAQ;AAC9G,QAAI,SAAS,KAAK;AAAK,aAAO;AAAA;AAEhC,SAAO;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { DSComboboxT } from '../react-desc-prop-types';\n\nexport const getSelectableOptions = (options: Array<DSComboboxT.OptionTypes>): Array<DSComboboxT.OptionTypes> =>\n options.filter((option) => option.type === 'option' && !option.disabled);\n\nexport const getOptions = (options: Array<DSComboboxT.OptionTypes>): Array<DSComboboxT.OptionTypes> =>\n options.filter((option) => option.type === 'option');\n\nexport const isSelectedValueEmpty = (value: DSComboboxT.SelectedOptionsT): boolean =>\n Array.isArray(value) ? value.length === 0 : !value;\n\nexport const isSelectedValueMultiple = (value: DSComboboxT.SelectedOptionsT): boolean => Array.isArray(value);\n\nexport const isSelected = (value: DSComboboxT.SelectedOptionsT, activeOption: DSComboboxT.ItemOption): boolean => {\n if (isSelectedValueMultiple(value)) {\n const multiValue = value as DSComboboxT.ItemOption[];\n return multiValue.some((item) => item?.value === activeOption?.value);\n }\n const singleValue = value as DSComboboxT.ItemOption;\n return singleValue?.value === activeOption.value;\n};\n\nexport const findInCircularList = (\n list: DSComboboxT.OptionTypes[],\n from: number,\n criteria: (item: DSComboboxT.OptionTypes) => boolean,\n step = 1,\n // eslint-disable-next-line max-params\n): number => {\n for (let i = (from + step + list.length) % list.length; i !== from; i = (i + step + list.length) % list.length) {\n if (criteria(list[i])) return i;\n }\n return from; // return same item\n};\n"],
5
+ "mappings": "AAAA;ACEO,MAAM,uBAAuB,CAAC,YACnC,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS,YAAY,CAAC,OAAO;AAE1D,MAAM,aAAa,CAAC,YACzB,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS;AAEtC,MAAM,uBAAuB,CAAC,UACnC,MAAM,QAAQ,SAAS,MAAM,WAAW,IAAI,CAAC;AAExC,MAAM,0BAA0B,CAAC,UAAiD,MAAM,QAAQ;AAEhG,MAAM,aAAa,CAAC,OAAqC,iBAAkD;AAChH,MAAI,wBAAwB,QAAQ;AAClC,UAAM,aAAa;AACnB,WAAO,WAAW,KAAK,CAAC,SAAS,MAAM,UAAU,cAAc;AAAA;AAEjE,QAAM,cAAc;AACpB,SAAO,aAAa,UAAU,aAAa;AAAA;AAGtC,MAAM,qBAAqB,CAChC,MACA,MACA,UACA,OAAO,MAEI;AACX,WAAS,IAAK,QAAO,OAAO,KAAK,UAAU,KAAK,QAAQ,MAAM,MAAM,IAAK,KAAI,OAAO,KAAK,UAAU,KAAK,QAAQ;AAC9G,QAAI,SAAS,KAAK;AAAK,aAAO;AAAA;AAEhC,SAAO;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,22 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
20
  import * as React from "react";
2
21
  import { useMemo } from "react";
3
22
  import { uid } from "uid";
@@ -17,7 +36,7 @@ const useControlledDateRangePicker = (props) => {
17
36
  const isControllerOnly = type === CONTROLLED_DATE_RANGE_PICKER_TYPES.CONTROLLER_ONLY;
18
37
  const rangePickerLogic = useRangePickerLogic(propsWithDefaults);
19
38
  const ctx = useMemo(() => ({
20
- props: { ...propsWithDefaults, dataAttrs },
39
+ props: __spreadProps(__spreadValues({}, propsWithDefaults), { dataAttrs }),
21
40
  instanceUID,
22
41
  rangePickerLogic,
23
42
  withInputs,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/controlled-date-range-picker/config/useControlledDateRangePicker.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useMemo } from 'react';\nimport { uid } from 'uid';\nimport { getDataProps } from '@elliemae/ds-props-helpers';\n\nimport { useGetDateRangePickerWithDefaultsProps } from './useGetPropsWithDefault';\nimport { useValidateProps } from './useValidateProps';\nimport { useRangePickerLogic } from './useRangePickerLogic';\nimport { CONTROLLED_DATE_RANGE_PICKER_TYPES } from '../ControlledDateRangePickerTypes';\nimport type { DateRangePickerPropsT, ControlledDateRangePickerContextT } from '../index.d';\n\nexport const useControlledDateRangePicker = (\n props: Partial<DateRangePickerPropsT>,\n): ControlledDateRangePickerContextT => {\n // if we detect wrong props configuration we throw meaningful errors\n useValidateProps(props);\n const instanceUID = useMemo(() => uid(6), []);\n const propsWithDefaults = useGetDateRangePickerWithDefaultsProps(props);\n const dataAttrs = getDataProps(props);\n const { type } = propsWithDefaults;\n\n const withInputs =\n type === CONTROLLED_DATE_RANGE_PICKER_TYPES.FULL || type === CONTROLLED_DATE_RANGE_PICKER_TYPES.INPUTS;\n const withIcon =\n type === CONTROLLED_DATE_RANGE_PICKER_TYPES.FULL || type === CONTROLLED_DATE_RANGE_PICKER_TYPES.PICKER;\n const isControllerOnly = type === CONTROLLED_DATE_RANGE_PICKER_TYPES.CONTROLLER_ONLY;\n\n const rangePickerLogic = useRangePickerLogic(propsWithDefaults);\n\n const ctx = useMemo(\n () => ({\n props: { ...propsWithDefaults, dataAttrs },\n instanceUID,\n rangePickerLogic,\n withInputs,\n withIcon,\n isControllerOnly,\n }),\n [instanceUID, isControllerOnly, dataAttrs, propsWithDefaults, rangePickerLogic, withIcon, withInputs],\n );\n\n return ctx;\n};\n"],
5
- "mappings": "AAAA;ACIA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGO,MAAM,+BAA+B,CAC1C,UACsC;AAEtC,mBAAiB;AACjB,QAAM,cAAc,QAAQ,MAAM,IAAI,IAAI;AAC1C,QAAM,oBAAoB,uCAAuC;AACjE,QAAM,YAAY,aAAa;AAC/B,QAAM,EAAE,SAAS;AAEjB,QAAM,aACJ,SAAS,mCAAmC,QAAQ,SAAS,mCAAmC;AAClG,QAAM,WACJ,SAAS,mCAAmC,QAAQ,SAAS,mCAAmC;AAClG,QAAM,mBAAmB,SAAS,mCAAmC;AAErE,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,MAAM,QACV,MAAO;AAAA,IACL,OAAO,KAAK,mBAAmB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,aAAa,kBAAkB,WAAW,mBAAmB,kBAAkB,UAAU;AAG5F,SAAO;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACIA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGO,MAAM,+BAA+B,CAC1C,UACsC;AAEtC,mBAAiB;AACjB,QAAM,cAAc,QAAQ,MAAM,IAAI,IAAI;AAC1C,QAAM,oBAAoB,uCAAuC;AACjE,QAAM,YAAY,aAAa;AAC/B,QAAM,EAAE,SAAS;AAEjB,QAAM,aACJ,SAAS,mCAAmC,QAAQ,SAAS,mCAAmC;AAClG,QAAM,WACJ,SAAS,mCAAmC,QAAQ,SAAS,mCAAmC;AAClG,QAAM,mBAAmB,SAAS,mCAAmC;AAErE,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,MAAM,QACV,MAAO;AAAA,IACL,OAAO,iCAAK,oBAAL,EAAwB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,aAAa,kBAAkB,WAAW,mBAAmB,kBAAkB,UAAU;AAG5F,SAAO;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,22 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
20
  import * as React from "react";
2
21
  import { useCallback, useState, useMemo, useEffect } from "react";
3
22
  import { getDayFromDateString } from "../../controlled-date-time-picker";
@@ -78,8 +97,8 @@ const useRangePickerLogic = ({
78
97
  }, []);
79
98
  const handlePickerDateChange = useCallback((changedDay, metaInfo) => {
80
99
  const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } = getChangedDayStringValues(changedDay);
81
- onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });
82
- onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });
100
+ onFromDateChange(newDateFromString, __spreadProps(__spreadValues({}, metaInfo), { automaticSwitchedDates: isToBeforeFrom }));
101
+ onToDateChange(newDateToString, __spreadProps(__spreadValues({}, metaInfo), { automaticSwitchedDates: isToBeforeFrom }));
83
102
  setCalendarChangeIsFrom(nextToggleStateIsFrom);
84
103
  }, [getChangedDayStringValues, onFromDateChange, onToDateChange]);
85
104
  const getIsStartRangeDay = useCallback((dayString) => dayString === fromDate, [fromDate]);
@@ -99,11 +118,11 @@ const useRangePickerLogic = ({
99
118
  }, []);
100
119
  const handleFromDateChange = useCallback((newVal, metaInfo) => {
101
120
  const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);
102
- onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: "from", isIncorrectOrder });
121
+ onFromDateChange(newVal, __spreadProps(__spreadValues({}, metaInfo), { rangeDateChangeType: "from", isIncorrectOrder }));
103
122
  }, [getIsToBeforeFrom, onFromDateChange, toDate]);
104
123
  const handleToDateChange = useCallback((newVal, metaInfo) => {
105
124
  const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);
106
- onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: "to", isIncorrectOrder });
125
+ onToDateChange(newVal, __spreadProps(__spreadValues({}, metaInfo), { rangeDateChangeType: "to", isIncorrectOrder }));
107
126
  }, [fromDate, getIsToBeforeFrom, onToDateChange]);
108
127
  return useMemo(() => ({
109
128
  latestChangedDate,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/controlled-date-range-picker/config/useRangePickerLogic.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { useCallback, useState, useMemo, useEffect } from 'react';\n\nimport { getDayFromDateString } from '../../controlled-date-time-picker';\nimport type { DateRangePickerPropsT, RangePickerLogicT } from '../index.d';\n\nexport const useRangePickerLogic = ({\n fromDate,\n onFromDateChange,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n onToDateChange,\n}: DateRangePickerPropsT): RangePickerLogicT => {\n // the implementation is based on controlled-date-time-picker that is not meant to \"understand\"\n // the \"from\" - \"to\" logic on click, we are \"overloading\" the \"from\" - \"to\" logic here\n // we track wheter we are going to set the \"from\" OR \"to\" controlled date based on this toggle\n const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);\n const [latestChangedDate, setLatestChangedDate] = useState(fromDate);\n useEffect(() => {\n setLatestChangedDate(fromDate);\n }, [fromDate]);\n useEffect(() => {\n setLatestChangedDate(toDate);\n }, [toDate]);\n\n const getChangedDayStringValues = useCallback(\n (changedDay) => {\n // based on wheter we are handling a \"from\"/\"to\" change, we calculate some values\n const dateFromString: string = calendarChangeIsFrom ? changedDay : fromDate;\n const dateFrom = getDayFromDateString(dateFromString);\n const dateToString: string = calendarChangeIsFrom ? toDate : changedDay;\n const dateTo = getDayFromDateString(dateToString);\n // we force the \"from\" to ALWAYS be before the \"to\" date\n const isToBeforeFrom = dateTo?.getTime() < dateFrom?.getTime();\n const newDateFromString = isToBeforeFrom ? dateToString : dateFromString;\n const forcingFromDatePick = isToBeforeFrom ? !calendarChangeIsFrom : false;\n const newDateToString = isToBeforeFrom ? dateFromString : dateToString;\n const forcingToDatePick = isToBeforeFrom ? calendarChangeIsFrom : false;\n\n // next change should be based on\n // the force pick next interactions\n // toggle between from/to if we didn't force any pick\n let nextToggleStateIsFrom = !calendarChangeIsFrom;\n if (forcingFromDatePick) nextToggleStateIsFrom = false;\n if (forcingToDatePick) nextToggleStateIsFrom = true;\n\n return {\n newDateFromString,\n forcingFromDatePick,\n newDateToString,\n forcingToDatePick,\n isToBeforeFrom,\n nextToggleStateIsFrom,\n currentClickCountAsFrom: !nextToggleStateIsFrom,\n };\n },\n [fromDate, calendarChangeIsFrom, toDate],\n );\n const handlePickerMonthDateChange = useCallback(\n (newMonth, e, metaInfo) => {\n const { newDateString } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onMonthFromChange(newMonth, e, metaInfo);\n else onMonthToChange(newMonth, e, metaInfo);\n },\n [getChangedDayStringValues, onMonthFromChange, onMonthToChange],\n );\n const handlePickerDayDateChange = useCallback(\n (newDay, e, metaInfo) => {\n const { newDateString } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onDayFromChange(newDay, e, metaInfo);\n else onDayToChange(newDay, e, metaInfo);\n },\n [getChangedDayStringValues, onDayFromChange, onDayToChange],\n );\n const handlePickerYearDateChange = useCallback(\n (newYear, e, metaInfo) => {\n const { newDateString } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onYearFromChange(newYear, e, metaInfo);\n else onYearToChange(newYear, e, metaInfo);\n },\n [getChangedDayStringValues, onYearFromChange, onYearToChange],\n );\n\n // every time the calendar opens/closes, we assume first click is \"from\"\n const onCalendarOpen: RangePickerLogicT['onCalendarOpen'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const onCalendarClose: RangePickerLogicT['onCalendarClose'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const handlePickerDateChange: RangePickerLogicT['handlePickerDateChange'] = useCallback(\n (changedDay, metaInfo) => {\n const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } =\n getChangedDayStringValues(changedDay);\n\n // every \"change\" on the picker range we calculate it as a new \"onChange\" for both values\n // and we pass over the correct \"new\" from/to value\n onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n\n // and we notify what the next change type should be\n setCalendarChangeIsFrom(nextToggleStateIsFrom);\n },\n [getChangedDayStringValues, onFromDateChange, onToDateChange],\n );\n\n const getIsStartRangeDay: RangePickerLogicT['getIsStartRangeDay'] = useCallback(\n (dayString) => dayString === fromDate,\n [fromDate],\n );\n const getIsDayInRange: RangePickerLogicT['getIsDayInRange'] = useCallback(\n (dayString) => {\n const dayFrom = getDayFromDateString(fromDate);\n const dayTo = getDayFromDateString(toDate);\n if (!dayFrom || !dayTo || !dayString) return false;\n const newDayTime = getDayFromDateString(dayString)?.getTime();\n return newDayTime <= dayTo.getTime() && newDayTime >= dayFrom.getTime();\n },\n [fromDate, toDate],\n );\n const getIsEndRangeDay: RangePickerLogicT['getIsEndRangeDay'] = useCallback(\n (dayString) => dayString === toDate,\n [toDate],\n );\n\n const getIsToBeforeFrom = useCallback((fromString, toString) => {\n const dateFrom = getDayFromDateString(fromString);\n const dateTo = getDayFromDateString(toString);\n return dateTo?.getTime() < dateFrom?.getTime();\n }, []);\n const handleFromDateChange: RangePickerLogicT['handleFromDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);\n onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'from', isIncorrectOrder });\n },\n [getIsToBeforeFrom, onFromDateChange, toDate],\n );\n const handleToDateChange: RangePickerLogicT['handleToDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);\n onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'to', isIncorrectOrder });\n },\n [fromDate, getIsToBeforeFrom, onToDateChange],\n );\n\n return useMemo(\n () => ({\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n }),\n [\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n ],\n );\n};\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACEA;AAEA;AAGO,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MAC8C;AAI9C,QAAM,CAAC,sBAAsB,2BAA2B,SAAS;AACjE,QAAM,CAAC,mBAAmB,wBAAwB,SAAS;AAC3D,YAAU,MAAM;AACd,yBAAqB;AAAA,KACpB,CAAC;AACJ,YAAU,MAAM;AACd,yBAAqB;AAAA,KACpB,CAAC;AAEJ,QAAM,4BAA4B,YAChC,CAAC,eAAe;AAEd,UAAM,iBAAyB,uBAAuB,aAAa;AACnE,UAAM,WAAW,qBAAqB;AACtC,UAAM,eAAuB,uBAAuB,SAAS;AAC7D,UAAM,SAAS,qBAAqB;AAEpC,UAAM,iBAAiB,QAAQ,YAAY,UAAU;AACrD,UAAM,oBAAoB,iBAAiB,eAAe;AAC1D,UAAM,sBAAsB,iBAAiB,CAAC,uBAAuB;AACrE,UAAM,kBAAkB,iBAAiB,iBAAiB;AAC1D,UAAM,oBAAoB,iBAAiB,uBAAuB;AAKlE,QAAI,wBAAwB,CAAC;AAC7B,QAAI;AAAqB,8BAAwB;AACjD,QAAI;AAAmB,8BAAwB;AAE/C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,yBAAyB,CAAC;AAAA;AAAA,KAG9B,CAAC,UAAU,sBAAsB;AAEnC,QAAM,8BAA8B,YAClC,CAAC,UAAU,GAAG,aAAa;AACzB,UAAM,EAAE,kBAAkB;AAC1B,UAAM,EAAE,4BAA4B,0BAA0B;AAC9D,QAAI;AAAyB,wBAAkB,UAAU,GAAG;AAAA;AACvD,sBAAgB,UAAU,GAAG;AAAA,KAEpC,CAAC,2BAA2B,mBAAmB;AAEjD,QAAM,4BAA4B,YAChC,CAAC,QAAQ,GAAG,aAAa;AACvB,UAAM,EAAE,kBAAkB;AAC1B,UAAM,EAAE,4BAA4B,0BAA0B;AAC9D,QAAI;AAAyB,sBAAgB,QAAQ,GAAG;AAAA;AACnD,oBAAc,QAAQ,GAAG;AAAA,KAEhC,CAAC,2BAA2B,iBAAiB;AAE/C,QAAM,6BAA6B,YACjC,CAAC,SAAS,GAAG,aAAa;AACxB,UAAM,EAAE,kBAAkB;AAC1B,UAAM,EAAE,4BAA4B,0BAA0B;AAC9D,QAAI;AAAyB,uBAAiB,SAAS,GAAG;AAAA;AACrD,qBAAe,SAAS,GAAG;AAAA,KAElC,CAAC,2BAA2B,kBAAkB;AAIhD,QAAM,iBAAsD,YAAY,MAAM;AAC5E,4BAAwB;AAAA,KACvB;AACH,QAAM,kBAAwD,YAAY,MAAM;AAC9E,4BAAwB;AAAA,KACvB;AACH,QAAM,yBAAsE,YAC1E,CAAC,YAAY,aAAa;AACxB,UAAM,EAAE,mBAAmB,iBAAiB,uBAAuB,mBACjE,0BAA0B;AAI5B,qBAAiB,mBAAmB,iCAAK,WAAL,EAAe,wBAAwB;AAC3E,mBAAe,iBAAiB,iCAAK,WAAL,EAAe,wBAAwB;AAGvE,4BAAwB;AAAA,KAE1B,CAAC,2BAA2B,kBAAkB;AAGhD,QAAM,qBAA8D,YAClE,CAAC,cAAc,cAAc,UAC7B,CAAC;AAEH,QAAM,kBAAwD,YAC5D,CAAC,cAAc;AACb,UAAM,UAAU,qBAAqB;AACrC,UAAM,QAAQ,qBAAqB;AACnC,QAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAAW,aAAO;AAC7C,UAAM,aAAa,qBAAqB,YAAY;AACpD,WAAO,cAAc,MAAM,aAAa,cAAc,QAAQ;AAAA,KAEhE,CAAC,UAAU;AAEb,QAAM,mBAA0D,YAC9D,CAAC,cAAc,cAAc,QAC7B,CAAC;AAGH,QAAM,oBAAoB,YAAY,CAAC,YAAY,aAAa;AAC9D,UAAM,WAAW,qBAAqB;AACtC,UAAM,SAAS,qBAAqB;AACpC,WAAO,QAAQ,YAAY,UAAU;AAAA,KACpC;AACH,QAAM,uBAAkE,YACtE,CAAC,QAAQ,aAAa;AACpB,UAAM,mBAAmB,kBAAkB,QAAQ;AACnD,qBAAiB,QAAQ,iCAAK,WAAL,EAAe,qBAAqB,QAAQ;AAAA,KAEvE,CAAC,mBAAmB,kBAAkB;AAExC,QAAM,qBAA8D,YAClE,CAAC,QAAQ,aAAa;AACpB,UAAM,mBAAmB,kBAAkB,UAAU;AACrD,mBAAe,QAAQ,iCAAK,WAAL,EAAe,qBAAqB,MAAM;AAAA,KAEnE,CAAC,UAAU,mBAAmB;AAGhC,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }