@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": ["../../../../../src/controlled-combobox/parts/menu-list/useItemRenderer.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo, useContext, useCallback } from 'react';\nimport { VirtualItem } from 'react-virtual';\nimport { Grid } from '@elliemae/ds-grid';\nimport { SingleMenuItem, MultiMenuItem, Section, Separator } from '@elliemae/ds-common/MenuItem';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { StyledCreatableLabel } from './styled';\nimport { isSelected } from '../../utils/listHelper';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { CBOptionT } from '../../index.d';\n\nconst useItemRenderer = (): Array<React.ReactNode> => {\n const {\n props: { options, onCreate, onChange, selectedValues, onFilter },\n inputRef,\n setShowPopover,\n focusOptionIdx,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const { virtualItems }: { virtualItems: VirtualItem[] } = virtualListHelpers;\n const multiple = Array.isArray(selectedValues);\n const CBItem = multiple ? MultiMenuItem : SingleMenuItem;\n\n const handleClick = useCallback(\n (option: CBOptionT, e: Event) => {\n if (option.type === 'creatable') {\n if (inputRef.current) {\n onCreate(inputRef.current.value);\n inputRef.current.value = '';\n onFilter('');\n }\n return;\n }\n if (!multiple) {\n setShowPopover(false);\n if (inputRef.current) inputRef.current.value = '';\n } else if (inputRef.current) {\n onFilter(inputRef.current.value);\n }\n onChange(option);\n e.stopPropagation();\n e.preventDefault();\n },\n [onFilter, onChange, setShowPopover, multiple, inputRef],\n );\n\n const handleOnMouseDown = useCallback((e: React.MouseEvent<HTMLLIElement>) => {\n e.preventDefault();\n }, []);\n\n const ItemRenderer = useMemo(\n (): Array<React.ReactNode> =>\n virtualItems.map((vItem) => {\n const option = options[vItem.index];\n const generalProps = {\n wrapperStyles: { position: 'absolute', top: vItem.start, left: 0, width: '100%' },\n key: `${option.dsId}`,\n innerRef: vItem.measureRef,\n };\n if (option.type === 'section') {\n return <Section label={option.label} {...generalProps} />;\n }\n if (option.type === 'separator') {\n return <Separator {...generalProps} />;\n }\n if (option.type === 'option') {\n return (\n <CBItem\n {...generalProps}\n value={option.value}\n label={option.label}\n dataTestid={ComboboxDataTestid.OPTION}\n disabled={option.disabled}\n onClick={(e: Event) => handleClick(option, e)}\n onMouseDown={handleOnMouseDown}\n isActive={option.dsId === focusOptionIdx}\n isSelected={isSelected(selectedValues, option)}\n tabIndex={-1}\n />\n );\n }\n if (option.type === 'creatable') {\n return (\n <SingleMenuItem\n dataTestid={ComboboxDataTestid.OPTION}\n isActive={option.dsId === focusOptionIdx}\n {...generalProps}\n render={({ label }) => (\n <Grid cols={['min-content', 'auto']} height=\"16px\" gutter=\"xxs\" alignItems=\"center\">\n <StyledCreatableLabel>Add:</StyledCreatableLabel>\n <span>{label}</span>\n </Grid>\n )}\n label={option.label}\n onClick={(e: Event) => handleClick(option, e)}\n />\n );\n }\n return <></>;\n }),\n [options, focusOptionIdx, selectedValues, inputRef, virtualItems],\n );\n\n return ItemRenderer;\n};\n\nexport { useItemRenderer };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwD;AAExD,qBAAqB;AACrB,sBAAkE;AAClE,yBAAgC;AAChC,oBAAqC;AACrC,wBAA2B;AAC3B,iCAAmC;AAGnC,MAAM,kBAAkB,MAA8B;AACpD,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,UAAU,UAAU,gBAAgB;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,EAAE,iBAAkD;AAC1D,QAAM,WAAW,MAAM,QAAQ;AAC/B,QAAM,SAAS,WAAW,gCAAgB;AAE1C,QAAM,cAAc,8BAClB,CAAC,QAAmB,MAAa;AAC/B,QAAI,OAAO,SAAS,aAAa;AAC/B,UAAI,SAAS,SAAS;AACpB,iBAAS,SAAS,QAAQ;AAC1B,iBAAS,QAAQ,QAAQ;AACzB,iBAAS;AAAA;AAEX;AAAA;AAEF,QAAI,CAAC,UAAU;AACb,qBAAe;AACf,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAAA,eACtC,SAAS,SAAS;AAC3B,eAAS,SAAS,QAAQ;AAAA;AAE5B,aAAS;AACT,MAAE;AACF,MAAE;AAAA,KAEJ,CAAC,UAAU,UAAU,gBAAgB,UAAU;AAGjD,QAAM,oBAAoB,8BAAY,CAAC,MAAuC;AAC5E,MAAE;AAAA,KACD;AAEH,QAAM,eAAe,0BACnB,MACE,aAAa,IAAI,CAAC,UAAU;AAC1B,UAAM,SAAS,QAAQ,MAAM;AAC7B,UAAM,eAAe;AAAA,MACnB,eAAe,EAAE,UAAU,YAAY,KAAK,MAAM,OAAO,MAAM,GAAG,OAAO;AAAA,MACzE,KAAK,GAAG,OAAO;AAAA,MACf,UAAU,MAAM;AAAA;AAElB,QAAI,OAAO,SAAS,WAAW;AAC7B,aAAO,mDAAC,yBAAD;AAAA,QAAS,OAAO,OAAO;AAAA,WAAW;AAAA;AAAA;AAE3C,QAAI,OAAO,SAAS,aAAa;AAC/B,aAAO,mDAAC,2BAAD;AAAA,WAAe;AAAA;AAAA;AAExB,QAAI,OAAO,SAAS,UAAU;AAC5B,aACE,mDAAC,QAAD;AAAA,WACM;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,QACd,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO;AAAA,QACjB,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA,QAC3C,aAAa;AAAA,QACb,UAAU,OAAO,SAAS;AAAA,QAC1B,YAAY,kCAAW,gBAAgB;AAAA,QACvC,UAAU;AAAA;AAAA;AAIhB,QAAI,OAAO,SAAS,aAAa;AAC/B,aACE,mDAAC,gCAAD;AAAA,QACE,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO,SAAS;AAAA,WACtB;AAAA,QACJ,QAAQ,CAAC,EAAE,YACT,mDAAC,qBAAD;AAAA,UAAM,MAAM,CAAC,eAAe;AAAA,UAAS,QAAO;AAAA,UAAO,QAAO;AAAA,UAAM,YAAW;AAAA,WACzE,mDAAC,oCAAD,MAAsB,SACtB,mDAAC,QAAD,MAAO;AAAA,QAGX,OAAO,OAAO;AAAA,QACd,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA;AAAA;AAIjD,WAAO;AAAA,MAEX,CAAC,SAAS,gBAAgB,gBAAgB,UAAU;AAGtD,SAAO;AAAA;",
4
+ "sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo, useContext, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { SingleMenuItem, MultiMenuItem, Section, Separator } from '@elliemae/ds-common/MenuItem';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { StyledCreatableLabel } from './styled';\nimport { isSelected } from '../../utils/listHelper';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { DSComboboxT } from '../../react-desc-prop-types';\n\nconst useItemRenderer = (): Array<JSX.Element> | undefined => {\n const {\n props: { options, onCreate, onChange, selectedValues, onFilter, innerRef },\n setShowPopover,\n focusOptionIdx,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n const CBItem = multiple ? MultiMenuItem : SingleMenuItem;\n\n const handleClick = useCallback(\n (option: DSComboboxT.ItemOption | DSComboboxT.ItemCreatableOption, e: Event) => {\n if (option.type === 'creatable') {\n if (innerRef.current) {\n onCreate(innerRef.current.value);\n innerRef.current.value = '';\n onFilter('');\n }\n return;\n }\n if (!multiple) {\n if (!option.disabled) setShowPopover(false);\n if (innerRef.current) innerRef.current.value = '';\n } else if (innerRef.current) {\n onFilter(innerRef.current.value);\n }\n onChange(option);\n e.stopPropagation();\n e.preventDefault();\n },\n [onFilter, onChange, setShowPopover, multiple, innerRef],\n );\n\n const handleOnMouseDown = useCallback((e: React.MouseEvent<HTMLLIElement>) => {\n e.preventDefault();\n }, []);\n\n const ItemRenderer = useMemo(\n (): Array<JSX.Element> | undefined =>\n virtualListHelpers?.virtualItems.map((vItem) => {\n const option = options[vItem.index];\n const generalProps = {\n wrapperStyles: { position: 'absolute', top: vItem.start, left: 0, width: '100%' },\n key: `${option.dsId}`,\n innerRef: vItem.measureRef,\n };\n if (option.type === 'section') {\n return <Section label={option.label} {...generalProps} />;\n }\n if (option.type === 'separator') {\n return <Separator {...generalProps} />;\n }\n if (option.type === 'option') {\n return (\n <CBItem\n {...generalProps}\n value={option.value}\n label={option.label}\n dataTestid={ComboboxDataTestid.OPTION}\n disabled={option.disabled}\n onClick={(e: Event) => handleClick(option, e)}\n onMouseDown={handleOnMouseDown}\n isActive={option.dsId === focusOptionIdx}\n isSelected={isSelected(selectedValues, option)}\n tabIndex={-1}\n />\n );\n }\n if (option.type === 'creatable') {\n return (\n <SingleMenuItem\n dataTestid={ComboboxDataTestid.OPTION}\n isActive={option.dsId === focusOptionIdx}\n {...generalProps}\n render={({ label }: { label: string }) => (\n <Grid cols={['min-content', 'auto']} height=\"16px\" gutter=\"xxs\" alignItems=\"center\">\n <StyledCreatableLabel>Add:</StyledCreatableLabel>\n <span>{label}</span>\n </Grid>\n )}\n label={option.label}\n onClick={(e: Event) => handleClick(option, e)}\n />\n );\n }\n return <></>;\n }),\n [options, focusOptionIdx, selectedValues, innerRef, virtualListHelpers?.virtualItems],\n );\n\n return ItemRenderer;\n};\n\nexport { useItemRenderer };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwD;AACxD,qBAAqB;AACrB,sBAAkE;AAClE,yBAAgC;AAChC,oBAAqC;AACrC,wBAA2B;AAC3B,iCAAmC;AAGnC,MAAM,kBAAkB,MAAsC;AAC5D,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,UAAU,UAAU,gBAAgB,UAAU;AAAA,IAChE;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,WAAW,MAAM,QAAQ;AAC/B,QAAM,SAAS,WAAW,gCAAgB;AAE1C,QAAM,cAAc,8BAClB,CAAC,QAAkE,MAAa;AAC9E,QAAI,OAAO,SAAS,aAAa;AAC/B,UAAI,SAAS,SAAS;AACpB,iBAAS,SAAS,QAAQ;AAC1B,iBAAS,QAAQ,QAAQ;AACzB,iBAAS;AAAA;AAEX;AAAA;AAEF,QAAI,CAAC,UAAU;AACb,UAAI,CAAC,OAAO;AAAU,uBAAe;AACrC,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAAA,eACtC,SAAS,SAAS;AAC3B,eAAS,SAAS,QAAQ;AAAA;AAE5B,aAAS;AACT,MAAE;AACF,MAAE;AAAA,KAEJ,CAAC,UAAU,UAAU,gBAAgB,UAAU;AAGjD,QAAM,oBAAoB,8BAAY,CAAC,MAAuC;AAC5E,MAAE;AAAA,KACD;AAEH,QAAM,eAAe,0BACnB,MACE,oBAAoB,aAAa,IAAI,CAAC,UAAU;AAC9C,UAAM,SAAS,QAAQ,MAAM;AAC7B,UAAM,eAAe;AAAA,MACnB,eAAe,EAAE,UAAU,YAAY,KAAK,MAAM,OAAO,MAAM,GAAG,OAAO;AAAA,MACzE,KAAK,GAAG,OAAO;AAAA,MACf,UAAU,MAAM;AAAA;AAElB,QAAI,OAAO,SAAS,WAAW;AAC7B,aAAO,mDAAC,yBAAD;AAAA,QAAS,OAAO,OAAO;AAAA,SAAW;AAAA;AAE3C,QAAI,OAAO,SAAS,aAAa;AAC/B,aAAO,mDAAC,2BAAD,mBAAe;AAAA;AAExB,QAAI,OAAO,SAAS,UAAU;AAC5B,aACE,mDAAC,QAAD,iCACM,eADN;AAAA,QAEE,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,QACd,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO;AAAA,QACjB,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA,QAC3C,aAAa;AAAA,QACb,UAAU,OAAO,SAAS;AAAA,QAC1B,YAAY,kCAAW,gBAAgB;AAAA,QACvC,UAAU;AAAA;AAAA;AAIhB,QAAI,OAAO,SAAS,aAAa;AAC/B,aACE,mDAAC,gCAAD;AAAA,QACE,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO,SAAS;AAAA,SACtB,eAHN;AAAA,QAIE,QAAQ,CAAC,EAAE,YACT,mDAAC,qBAAD;AAAA,UAAM,MAAM,CAAC,eAAe;AAAA,UAAS,QAAO;AAAA,UAAO,QAAO;AAAA,UAAM,YAAW;AAAA,WACzE,mDAAC,oCAAD,MAAsB,SACtB,mDAAC,QAAD,MAAO;AAAA,QAGX,OAAO,OAAO;AAAA,QACd,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA;AAAA;AAIjD,WAAO;AAAA,MAEX,CAAC,SAAS,gBAAgB,gBAAgB,UAAU,oBAAoB;AAG1E,SAAO;AAAA;",
6
6
  "names": []
7
7
  }
@@ -34,8 +34,7 @@ var import_react = require("react");
34
34
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
35
35
  const useMenuList = () => {
36
36
  const {
37
- props: { inline, selectedValues, onMenuOpen, options },
38
- inputRef,
37
+ props: { inline, selectedValues, onMenuOpen, options, innerRef },
39
38
  setCurrentOption,
40
39
  scrollOptionIntoView,
41
40
  hasFocus,
@@ -52,27 +51,26 @@ const useMenuList = () => {
52
51
  if (showPopover || inline) {
53
52
  if (onMenuOpen)
54
53
  onMenuOpen();
55
- if (inputRef.current?.value !== "") {
54
+ if (innerRef.current?.value !== "") {
56
55
  getFirstOption();
57
56
  } else if (Array.isArray(selectedValues)) {
58
- const multiSelectedValues = selectedValues;
59
- if (multiSelectedValues.length > 0) {
60
- setCurrentOption(multiSelectedValues[multiSelectedValues.length - 1].dsId);
61
- scrollOptionIntoView(multiSelectedValues[multiSelectedValues.length - 1].dsId);
57
+ if (selectedValues && selectedValues.length > 0) {
58
+ setCurrentOption(selectedValues[selectedValues.length - 1].dsId);
59
+ scrollOptionIntoView(selectedValues[selectedValues.length - 1].dsId);
62
60
  } else {
63
61
  getFirstOption();
64
62
  }
65
63
  } else {
66
64
  const singleSelectedValue = selectedValues;
67
65
  if (singleSelectedValue) {
68
- setCurrentOption(selectedValues.dsId);
69
- scrollOptionIntoView(selectedValues.dsId);
66
+ setCurrentOption(singleSelectedValue.dsId);
67
+ scrollOptionIntoView(singleSelectedValue.dsId);
70
68
  } else {
71
69
  getFirstOption();
72
70
  }
73
71
  }
74
72
  }
75
- }, [showPopover, inline, hasFocus, inputRef.current?.value]);
73
+ }, [showPopover, inline, hasFocus, innerRef.current?.value]);
76
74
  };
77
75
  module.exports = __toCommonJS(useMenuList_exports);
78
76
  //# sourceMappingURL=useMenuList.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/menu-list/useMenuList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsC;AACtC,yBAAgC;AAGhC,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,8BAAU,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 { 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsC;AACtC,yBAAgC;AAGhC,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY,SAAS;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,8BAAU,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
  }
@@ -31,37 +31,50 @@ __export(MultiSelectedValuesContainer_exports, {
31
31
  });
32
32
  var React = __toESM(require("react"));
33
33
  var import_react = __toESM(require("react"));
34
- var import_ds_grid = require("@elliemae/ds-grid");
35
34
  var import_ds_pills = require("@elliemae/ds-pills");
36
35
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
37
36
  var import_useGroupPills = require("./useGroupPills");
38
- var import_a11y_messages = require("../a11y-messages");
37
+ var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
39
38
  const MultiSelectedValuesContainer = () => {
40
39
  const {
41
- props: { selectedValues },
42
- inputRef,
43
- pillGroupRef
40
+ props: { selectedValues, onChange, innerRef },
41
+ pillGroupRef,
42
+ showPopover,
43
+ setShowPopover
44
44
  } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
45
45
  const multiSelectedValue = selectedValues;
46
- const pillsToShow = (0, import_useGroupPills.useGroupPills)();
47
- const correctPillsToShow = pillsToShow || 1;
48
- const pills = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
49
- style: { width: "max-content" }
46
+ const correctPillsToShow = (0, import_useGroupPills.useGroupPills)() || 1;
47
+ const handleClickOnPills = (0, import_react.useCallback)((e) => {
48
+ if (!showPopover) {
49
+ setShowPopover(true);
50
+ innerRef.current?.focus();
51
+ }
52
+ e.stopPropagation();
53
+ }, [setShowPopover, innerRef, showPopover]);
54
+ const pills = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement("div", {
55
+ style: { width: "max-content" },
56
+ "data-testid": import_ComboboxDataTestids.ComboboxDataTestid.SELECTED_VALUES
50
57
  }, /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillGroupV2, {
58
+ onClick: handleClickOnPills,
51
59
  innerRef: pillGroupRef
52
60
  }, multiSelectedValue.length > 0 && multiSelectedValue.slice(0, correctPillsToShow).map((option) => /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillV2, {
53
61
  size: "s",
54
62
  key: option.value,
55
63
  label: option.label,
56
- type: "value"
64
+ type: "removable",
65
+ tabIndex: -1,
66
+ onRemove: () => {
67
+ onChange(option);
68
+ innerRef.current?.focus();
69
+ }
57
70
  })), multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillV2, {
58
71
  size: "s",
59
72
  labelTruncated: false,
60
73
  key: "grouped",
61
74
  label: `+${multiSelectedValue.length - correctPillsToShow}`,
62
75
  type: "value"
63
- }))), [pillGroupRef, multiSelectedValue, correctPillsToShow]);
64
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, multiSelectedValue.length > 0 && !inputRef.current?.value && /* @__PURE__ */ import_react.default.createElement(import_a11y_messages.MultiAllyMessages, null), pills);
76
+ }))), [pillGroupRef, innerRef, onChange, handleClickOnPills, multiSelectedValue, correctPillsToShow]);
77
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, pills);
65
78
  };
66
79
  module.exports = __toCommonJS(MultiSelectedValuesContainer_exports);
67
80
  //# sourceMappingURL=MultiSelectedValuesContainer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA2C;AAC3C,qBAAqB;AACrB,sBAAwC;AACxC,yBAAgC;AAChC,2BAA8B;AAE9B,2BAAkC;AAClC,MAAM,+BAA+B,MAAmB;AACtD,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,qBAAqB;AAC3B,QAAM,cAAc;AACpB,QAAM,qBAAqB,eAAe;AAE1C,QAAM,QAAQ,0BACZ,MACE,mDAAC,qBAAD;AAAA,IAAM,OAAO,EAAE,OAAO;AAAA,KACpB,mDAAC,+BAAD;AAAA,IAAe,UAAU;AAAA,KACtB,mBAAmB,SAAS,KAC3B,mBACG,MAAM,GAAG,oBACT,IAAI,CAAC,WAAW,mDAAC,0BAAD;AAAA,IAAU,MAAK;AAAA,IAAI,KAAK,OAAO;AAAA,IAAO,OAAO,OAAO;AAAA,IAAO,MAAK;AAAA,OACpF,mBAAmB,SAAS,KAAK,uBAAuB,mBAAmB,UAC1E,mDAAC,0BAAD;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,wFACG,mBAAmB,SAAS,KAAK,CAAC,SAAS,SAAS,SAAS,mDAAC,wCAAD,OAC7D;AAAA;",
4
+ "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwD;AACxD,sBAAwC;AACxC,yBAAgC;AAChC,2BAA8B;AAE9B,iCAAmC;AACnC,MAAM,+BAA+B,MAAmB;AACtD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,UAAU;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,qBAAqB;AAC3B,QAAM,qBAAqB,6CAAmB;AAE9C,QAAM,qBAAqB,8BACzB,CAAC,MAAa;AACZ,QAAI,CAAC,aAAa;AAChB,qBAAe;AACf,eAAS,SAAS;AAAA;AAEpB,MAAE;AAAA,KAEJ,CAAC,gBAAgB,UAAU;AAG7B,QAAM,QAAQ,0BACZ,MACE,mDAAC,OAAD;AAAA,IAAK,OAAO,EAAE,OAAO;AAAA,IAAiB,eAAa,8CAAmB;AAAA,KACpE,mDAAC,+BAAD;AAAA,IAAe,SAAS;AAAA,IAAoB,UAAU;AAAA,KACnD,mBAAmB,SAAS,KAC3B,mBAAmB,MAAM,GAAG,oBAAoB,IAAI,CAAC,WACnD,mDAAC,0BAAD;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,mDAAC,0BAAD;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,wFAAG;AAAA;",
6
6
  "names": []
7
7
  }
@@ -41,8 +41,7 @@ const getGroupedPillWidth = (remainingPills) => {
41
41
  };
42
42
  const useGroupPills = () => {
43
43
  const {
44
- props: { selectedValues },
45
- inputRef,
44
+ props: { selectedValues, innerRef },
46
45
  selectedOptionsRef,
47
46
  controlsWrapperRef,
48
47
  pillGroupRef
@@ -50,7 +49,7 @@ const useGroupPills = () => {
50
49
  const multiSelectedValues = selectedValues;
51
50
  const [pillsToShow, setPillsToShow] = (0, import_react.useState)(multiSelectedValues.length);
52
51
  const { width } = (0, import_useOnElementResize.useOnElementResize)(controlsWrapperRef);
53
- const { width: widthInput } = (0, import_useOnElementResize.useOnElementResize)(inputRef || null);
52
+ const { width: widthInput } = (0, import_useOnElementResize.useOnElementResize)(innerRef || null);
54
53
  (0, import_react.useEffect)(() => {
55
54
  if (multiSelectedValues.length !== pillsToShow) {
56
55
  setPillsToShow(multiSelectedValues.length);
@@ -64,7 +63,7 @@ const useGroupPills = () => {
64
63
  let currentWidth = 0;
65
64
  const referenceWidth = selectedOptionsRef.current.offsetWidth;
66
65
  const pills = [
67
- ...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-value")
66
+ ...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-removable")
68
67
  ];
69
68
  const pillsWidth = pills.map((pill) => pill?.offsetWidth);
70
69
  pillsWidth.forEach((pillWidth, idx) => {
@@ -82,7 +81,7 @@ const useGroupPills = () => {
82
81
  if (pillGroupRef.current)
83
82
  pillGroupRef.current.style.width = "fit-content";
84
83
  }
85
- }, [selectedOptionsRef, inputRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);
84
+ }, [selectedOptionsRef, innerRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);
86
85
  return pillsToShow;
87
86
  };
88
87
  module.exports = __toCommonJS(useGroupPills_exports);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/multi-selected-values-container/useGroupPills.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiE;AACjE,gCAAmC;AACnC,yBAAgC;AAGhC,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,6BAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,CAAC,aAAa,kBAAkB,2BAAS,oBAAoB;AACnE,QAAM,EAAE,UAAU,kDAAmB;AACrC,QAAM,EAAE,OAAO,eAAe,kDAAmB,YAAY;AAC7D,8BAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,aAAa;AAC9C,qBAAe,oBAAoB;AAAA;AAAA,KAGpC,CAAC,oBAAoB,QAAQ,OAAO;AAEvC,oCAAgB,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 { 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiE;AACjE,gCAAmC;AACnC,yBAAgC;AAGhC,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,6BAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,CAAC,aAAa,kBAAkB,2BAAS,oBAAoB;AACnE,QAAM,EAAE,UAAU,kDAAmB;AACrC,QAAM,EAAE,OAAO,eAAe,kDAAmB,YAAY;AAC7D,8BAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,aAAa;AAC9C,qBAAe,oBAAoB;AAAA;AAAA,KAGpC,CAAC,oBAAoB,QAAQ,OAAO;AAEvC,oCAAgB,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
  }
@@ -0,0 +1,73 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __reExport = (target, module2, copyDefault, desc) => {
30
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
31
+ for (let key of __getOwnPropNames(module2))
32
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
33
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
34
+ }
35
+ return target;
36
+ };
37
+ var __toESM = (module2, isNodeMode) => {
38
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
39
+ };
40
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
41
+ return (module2, temp) => {
42
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
43
+ };
44
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var react_desc_prop_types_exports = {};
46
+ __export(react_desc_prop_types_exports, {
47
+ ComboboxPropTypes: () => ComboboxPropTypes
48
+ });
49
+ var React = __toESM(require("react"));
50
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
51
+ const ComboboxPropTypes = __spreadProps(__spreadValues({}, import_ds_props_helpers.globalAttributesPropTypes), {
52
+ placeholder: import_ds_props_helpers.PropTypes.string.description("input s placeholder value").defaultValue(""),
53
+ options: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.array, import_ds_props_helpers.PropTypes.object]).isRequired.description("List of options").defaultValue([]),
54
+ selectedValues: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.object), import_ds_props_helpers.PropTypes.object]).description("Array of option or single option selected"),
55
+ disabled: import_ds_props_helpers.PropTypes.bool.description("wheter or not the input is disabled").defaultValue("false"),
56
+ autoFocus: import_ds_props_helpers.PropTypes.bool.description("Whether the combo box uses auto focus or not").defaultValue("false"),
57
+ hasError: import_ds_props_helpers.PropTypes.bool.description("Whether the combo box has error or not").defaultValue("false"),
58
+ onChange: import_ds_props_helpers.PropTypes.func.description("function triggered when an option is selected it will send the options selected").defaultValue(""),
59
+ onSelectAll: import_ds_props_helpers.PropTypes.func.description("function triggered when ALL button is selected from the header menu list").defaultValue(""),
60
+ onFilter: import_ds_props_helpers.PropTypes.func.description("function triggered when user type in the combobox input").defaultValue(""),
61
+ onCreate: import_ds_props_helpers.PropTypes.func.description('function triggered when user select "create" a new item whenever is not a match in the all option list').defaultValue(""),
62
+ onClearAll: import_ds_props_helpers.PropTypes.func.description("function triggered when user select CLEAR button from the header menu list").defaultValue(""),
63
+ onCancel: import_ds_props_helpers.PropTypes.func.description("function triggered when user press ESC key").defaultValue(""),
64
+ onMenuOpen: import_ds_props_helpers.PropTypes.func.description("function triggered when user open the menu list").defaultValue(""),
65
+ inputMinWidth: import_ds_props_helpers.PropTypes.any.description("Minimum width for the combo box input controller").defaultValue(void 0),
66
+ menuMinWidth: import_ds_props_helpers.PropTypes.any.description("Minimum width for the dropdown menu").defaultValue(void 0),
67
+ menuMaxHeight: import_ds_props_helpers.PropTypes.any.description("Maximum height for the dropdown menu").defaultValue(void 0),
68
+ withoutPortal: import_ds_props_helpers.PropTypes.bool.description("Whether the combobox menu is rendered in a portal or not").defaultValue(false),
69
+ zIndex: import_ds_props_helpers.PropTypes.number.description("The z-index of the combobox menu").defaultValue(10),
70
+ innerRef: import_ds_props_helpers.PropTypes.object.description("ref to the component s container")
71
+ });
72
+ module.exports = __toCommonJS(react_desc_prop_types_exports);
73
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/controlled-combobox/react-desc-prop-types.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAAqD;AA+D9C,MAAM,oBAAoB,iCAC5B,oDAD4B;AAAA,EAE/B,aAAa,kCAAU,OAAO,YAAY,6BAA6B,aAAa;AAAA,EACpF,SAAS,kCAAU,UAAU,CAAC,kCAAU,OAAO,kCAAU,SACtD,WAAW,YAAY,mBACvB,aAAa;AAAA,EAChB,gBAAgB,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,SAAS,kCAAU,SAAS,YAC3F;AAAA,EAEF,UAAU,kCAAU,KAAK,YAAY,uCAAuC,aAAa;AAAA,EACzF,WAAW,kCAAU,KAAK,YAAY,gDAAgD,aAAa;AAAA,EACnG,UAAU,kCAAU,KAAK,YAAY,0CAA0C,aAAa;AAAA,EAC5F,UAAU,kCAAU,KACjB,YAAY,mFACZ,aAAa;AAAA,EAChB,aAAa,kCAAU,KACpB,YAAY,4EACZ,aAAa;AAAA,EAChB,UAAU,kCAAU,KAAK,YAAY,2DAA2D,aAAa;AAAA,EAC7G,UAAU,kCAAU,KACjB,YACC,0GAED,aAAa;AAAA,EAChB,YAAY,kCAAU,KACnB,YAAY,8EACZ,aAAa;AAAA,EAChB,UAAU,kCAAU,KAAK,YAAY,8CAA8C,aAAa;AAAA,EAChG,YAAY,kCAAU,KAAK,YAAY,mDAAmD,aAAa;AAAA,EACvG,eAAe,kCAAU,IAAI,YAAY,oDAAoD,aAAa;AAAA,EAC1G,cAAc,kCAAU,IAAI,YAAY,uCAAuC,aAAa;AAAA,EAC5F,eAAe,kCAAU,IAAI,YAAY,wCAAwC,aAAa;AAAA,EAC9F,eAAe,kCAAU,KACtB,YAAY,4DACZ,aAAa;AAAA,EAChB,QAAQ,kCAAU,OAAO,YAAY,oCAAoC,aAAa;AAAA,EACtF,UAAU,kCAAU,OAAO,YAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -21,7 +21,7 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
21
21
  return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
22
  };
23
23
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
- var index_d_exports = {};
24
+ var sharedTypes_exports = {};
25
25
  var React = __toESM(require("react"));
26
- module.exports = __toCommonJS(index_d_exports);
27
- //# sourceMappingURL=index.d.js.map
26
+ module.exports = __toCommonJS(sharedTypes_exports);
27
+ //# sourceMappingURL=sharedTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/controlled-combobox/sharedTypes.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useVirtual } from 'react-virtual';\nimport { DSComboboxT } from './react-desc-prop-types';\n\nexport declare namespace DSComboboxInternalsT {\n export interface ComboBoxContextT {\n props: DSComboboxT.Props;\n virtualListHelpers?: ReturnType<typeof useVirtual>;\n showPopover: boolean;\n setShowPopover: React.Dispatch<React.SetStateAction<boolean>>;\n referenceElement: HTMLElement | null;\n setReferenceElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>;\n hasFocus: boolean;\n pillGroupRef: React.RefObject<HTMLDivElement>;\n scrollOptionIntoView: (dsId: string) => void;\n setHasFocus: React.Dispatch<React.SetStateAction<boolean>>;\n listRef: React.RefObject<HTMLDivElement>;\n wrapperListRef: React.RefObject<HTMLDivElement>;\n selectedOptionsRef: React.RefObject<HTMLDivElement>;\n controlsWrapperRef: React.RefObject<HTMLDivElement>;\n selectAllCheckboxRef: React.RefObject<HTMLInputElement>;\n toggleSelectionButtonRef: React.RefObject<HTMLButtonElement>;\n focusOptionIdx: string;\n setCurrentOption: React.Dispatch<React.SetStateAction<string>>;\n showSelectedOptions: boolean;\n setShowSelectedOptions: React.Dispatch<React.SetStateAction<boolean>>;\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA,YAAuB;",
6
+ "names": []
7
+ }
@@ -33,7 +33,7 @@ var React = __toESM(require("react"));
33
33
  var import_react = require("react");
34
34
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
35
35
  var import_listHelper = require("../listHelper");
36
- const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type);
36
+ const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type) && !opt.disabled;
37
37
  const useKeyboardNavigation = () => {
38
38
  const {
39
39
  props: {
@@ -46,13 +46,12 @@ const useKeyboardNavigation = () => {
46
46
  options,
47
47
  selectedValues,
48
48
  onFilter,
49
- withoutPortal
49
+ withoutPortal,
50
+ innerRef
50
51
  },
51
52
  setShowPopover,
52
53
  showPopover,
53
- setShowSelectedValue,
54
54
  focusOptionIdx,
55
- inputRef,
56
55
  setCurrentOption,
57
56
  scrollOptionIntoView,
58
57
  selectAllCheckboxRef,
@@ -63,39 +62,31 @@ const useKeyboardNavigation = () => {
63
62
  const currentItem = options.find((item) => item.dsId === focusOptionIdx);
64
63
  const selectOption = (0, import_react.useCallback)(() => {
65
64
  if (multiple) {
66
- if (inputRef.current)
67
- onFilter(inputRef.current.value);
65
+ if (innerRef.current)
66
+ onFilter(innerRef.current.value);
68
67
  } else {
69
68
  onFilter("");
70
- if (inputRef.current)
71
- inputRef.current.value = "";
72
- setShowSelectedValue(true);
69
+ if (innerRef.current)
70
+ innerRef.current.value = "";
73
71
  }
74
- onChange(options.find((item) => item.dsId === focusOptionIdx));
75
- setShowPopover(multiple ? true : !showPopover);
76
- }, [
77
- multiple,
78
- options,
79
- focusOptionIdx,
80
- setShowPopover,
81
- showPopover,
82
- onFilter,
83
- inputRef,
84
- setShowSelectedValue,
85
- onChange
86
- ]);
72
+ const selectedOption = options.find((item) => item.dsId === focusOptionIdx);
73
+ onChange(selectedOption);
74
+ if (!selectedOption.disabled && !multiple)
75
+ setShowPopover(false);
76
+ }, [multiple, options, focusOptionIdx, setShowPopover, onFilter, innerRef, onChange]);
87
77
  const onInputKeyDown = (0, import_react.useCallback)((e) => {
88
78
  const targetElement = e.target;
89
79
  onKeyDown(e, currentItem);
90
80
  if (e.key === "Enter" && currentItem?.type === "creatable") {
91
81
  onCreate(targetElement.value);
92
82
  onFilter("");
93
- if (inputRef.current)
94
- inputRef.current.value = "";
83
+ if (innerRef.current)
84
+ innerRef.current.value = "";
95
85
  return;
96
86
  }
97
87
  if (e.key === "Enter" || e.keyCode === 32 && e.altKey) {
98
88
  e.preventDefault();
89
+ e.stopPropagation();
99
90
  if (!showPopover && !inline) {
100
91
  setShowPopover(true);
101
92
  } else {
@@ -110,6 +101,7 @@ const useKeyboardNavigation = () => {
110
101
  }
111
102
  if (e.key === "ArrowDown") {
112
103
  e.preventDefault();
104
+ e.stopPropagation();
113
105
  if (showPopover || inline) {
114
106
  const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable);
115
107
  setCurrentOption(options[nextItemIndex].dsId);
@@ -120,6 +112,7 @@ const useKeyboardNavigation = () => {
120
112
  }
121
113
  if (e.key === "ArrowUp") {
122
114
  e.preventDefault();
115
+ e.stopPropagation();
123
116
  if (showPopover || inline) {
124
117
  const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable, -1);
125
118
  setCurrentOption(options[nextItemIndex].dsId);
@@ -136,9 +129,9 @@ const useKeyboardNavigation = () => {
136
129
  if (e.key === "Escape") {
137
130
  if (onCancel)
138
131
  onCancel();
139
- if (inputRef.current && inputRef.current?.value !== "") {
132
+ if (innerRef.current && innerRef.current?.value !== "") {
140
133
  onFilter("");
141
- inputRef.current.value = "";
134
+ innerRef.current.value = "";
142
135
  }
143
136
  if (!inline)
144
137
  setShowPopover(false);
@@ -151,7 +144,6 @@ const useKeyboardNavigation = () => {
151
144
  onChange(null);
152
145
  }
153
146
  onFilter("");
154
- setShowSelectedValue(true);
155
147
  }
156
148
  if (e.key === "Tab" && !inline && !withoutPortal) {
157
149
  const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;
@@ -160,13 +152,11 @@ const useKeyboardNavigation = () => {
160
152
  element.focus();
161
153
  }
162
154
  }
163
- if (e.key === "Tab" && inline) {
164
- }
165
155
  }, [
166
156
  currentItemIndex,
167
157
  options,
168
158
  currentItem,
169
- inputRef,
159
+ innerRef,
170
160
  multiple,
171
161
  showPopover,
172
162
  selectedValues,
@@ -179,7 +169,6 @@ const useKeyboardNavigation = () => {
179
169
  onFilter,
180
170
  setCurrentOption,
181
171
  setShowPopover,
182
- setShowSelectedValue,
183
172
  selectOption,
184
173
  onCancel,
185
174
  selectAllCheckboxRef,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/utils/hooks/useKeyboardNavigation.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,8 @@ __export(listHelper_exports, {
35
35
  isSelectedValueMultiple: () => isSelectedValueMultiple
36
36
  });
37
37
  var React = __toESM(require("react"));
38
- const getSelectableOptions = (options) => options ? options.filter((option) => option.type === "option" && !option.disabled) : [];
39
- const getOptions = (options) => options ? options.filter((option) => option.type === "option") : [];
38
+ const getSelectableOptions = (options) => options.filter((option) => option.type === "option" && !option.disabled);
39
+ const getOptions = (options) => options.filter((option) => option.type === "option");
40
40
  const isSelectedValueEmpty = (value) => Array.isArray(value) ? value.length === 0 : !value;
41
41
  const isSelectedValueMultiple = (value) => Array.isArray(value);
42
42
  const isSelected = (value, activeOption) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/controlled-combobox/utils/listHelper.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,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 { 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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,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
  }