@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
@@ -31,14 +31,15 @@ __export(useControlsInput_exports, {
31
31
  });
32
32
  var React = __toESM(require("react"));
33
33
  var import_react = require("react");
34
+ var import_lodash = require("lodash");
34
35
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
35
36
  var import_listHelper = require("../../utils/listHelper");
36
37
  const useControlsInput = () => {
37
38
  const {
38
- props: { selectedValues, placeholder, onFilter },
39
+ props: { selectedValues, innerRef, placeholder, onFilter },
39
40
  setShowPopover,
40
41
  setCurrentOption,
41
- inputRef,
42
+ showSelectedOptions,
42
43
  wrapperListRef,
43
44
  setHasFocus,
44
45
  setShowSelectedOptions
@@ -47,29 +48,44 @@ const useControlsInput = () => {
47
48
  const spanReference = (0, import_react.useRef)(null);
48
49
  (0, import_react.useEffect)(() => {
49
50
  setWidth(spanReference.current?.offsetWidth || 1);
50
- }, [inputRef.current?.value]);
51
+ }, [innerRef.current?.value]);
51
52
  const handleOnChange = (0, import_react.useCallback)((e) => {
53
+ if (onFilter === import_lodash.noop && innerRef.current) {
54
+ innerRef.current.value = "";
55
+ return;
56
+ }
52
57
  setShowSelectedOptions(false);
53
58
  setShowPopover(true);
54
59
  onFilter(e.currentTarget.value);
55
- }, [onFilter, setShowPopover, setShowSelectedOptions]);
60
+ }, [onFilter, innerRef, setShowPopover, setShowSelectedOptions]);
56
61
  const handleOnBlur = (0, import_react.useCallback)(() => {
57
62
  setHasFocus(false);
58
- if (inputRef.current)
59
- inputRef.current.value = "";
63
+ if (innerRef.current)
64
+ innerRef.current.value = "";
60
65
  setTimeout(() => {
61
66
  if (!wrapperListRef?.current?.contains(document.activeElement)) {
62
67
  setShowPopover(false);
68
+ if (showSelectedOptions)
69
+ setShowSelectedOptions(false);
63
70
  }
64
71
  setCurrentOption("");
65
72
  onFilter("");
66
73
  });
67
- }, [setHasFocus, setCurrentOption, wrapperListRef, onFilter, inputRef, setShowPopover]);
74
+ }, [
75
+ setHasFocus,
76
+ showSelectedOptions,
77
+ setShowSelectedOptions,
78
+ setCurrentOption,
79
+ wrapperListRef,
80
+ onFilter,
81
+ innerRef,
82
+ setShowPopover
83
+ ]);
68
84
  const handleOnFocus = (0, import_react.useCallback)(() => {
69
85
  setHasFocus(true);
70
86
  }, [setHasFocus]);
71
- const showPlaceholder = !inputRef.current?.value && (0, import_listHelper.isSelectedValueEmpty)(selectedValues) ? placeholder : null;
72
- const spanReferenceText = inputRef.current?.value.replace(/\s/g, "\xA0");
87
+ const showPlaceholder = !innerRef.current?.value && (0, import_listHelper.isSelectedValueEmpty)(selectedValues) ? placeholder : null;
88
+ const spanReferenceText = innerRef.current?.value.replace(/\s/g, "\xA0");
73
89
  return (0, import_react.useMemo)(() => ({
74
90
  handleOnFocus,
75
91
  handleOnBlur,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/controls-input/useControlsInput.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useContext, useEffect, useMemo, useRef, useCallback, useState } from 'react';\n\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { isSelectedValueEmpty } from '../../utils/listHelper';\n\ninterface UseControlsInputT {\n handleOnFocus: () => void;\n handleOnBlur: () => void;\n handleOnChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n showPlaceholder: string | null | undefined;\n spanReferenceText: string | undefined;\n width: number;\n spanReference: React.Ref<HTMLSpanElement>;\n}\nconst useControlsInput = (): UseControlsInputT => {\n const {\n props: { selectedValues, placeholder, onFilter },\n setShowPopover,\n setCurrentOption,\n inputRef,\n wrapperListRef,\n setHasFocus,\n setShowSelectedOptions,\n } = useContext(ComboBoxContext);\n\n const [width, setWidth] = useState(1);\n const spanReference = useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n setWidth(spanReference.current?.offsetWidth || 1);\n }, [inputRef.current?.value]);\n\n // When writting open popover\n // and refresh selected values and update filter outside value.\n const handleOnChange = useCallback(\n (e: React.FormEvent<HTMLInputElement>) => {\n setShowSelectedOptions(false);\n setShowPopover(true);\n onFilter(e.currentTarget.value);\n },\n [onFilter, setShowPopover, setShowSelectedOptions],\n );\n\n const handleOnBlur = useCallback(() => {\n setHasFocus(false);\n if (inputRef.current) inputRef.current.value = '';\n\n setTimeout(() => {\n if (!wrapperListRef?.current?.contains(document.activeElement)) {\n setShowPopover(false);\n }\n setCurrentOption('');\n onFilter('');\n });\n }, [setHasFocus, setCurrentOption, wrapperListRef, onFilter, inputRef, setShowPopover]);\n\n const handleOnFocus = useCallback(() => {\n setHasFocus(true);\n }, [setHasFocus]);\n\n const showPlaceholder = !inputRef.current?.value && isSelectedValueEmpty(selectedValues) ? placeholder : null;\n const spanReferenceText = inputRef.current?.value.replace(/\\s/g, '\\u00a0');\n\n return useMemo(\n () => ({\n handleOnFocus,\n handleOnBlur,\n handleOnChange,\n showPlaceholder,\n spanReferenceText,\n width,\n spanReference,\n }),\n [handleOnFocus, handleOnBlur, handleOnChange, spanReferenceText, showPlaceholder, width, spanReference],\n );\n};\n\nexport { useControlsInput };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA8E;AAE9E,yBAAgC;AAChC,wBAAqC;AAWrC,MAAM,mBAAmB,MAAyB;AAChD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,aAAa;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,CAAC,OAAO,YAAY,2BAAS;AACnC,QAAM,gBAAgB,yBAAwB;AAE9C,8BAAU,MAAM;AACd,aAAS,cAAc,SAAS,eAAe;AAAA,KAC9C,CAAC,SAAS,SAAS;AAItB,QAAM,iBAAiB,8BACrB,CAAC,MAAyC;AACxC,2BAAuB;AACvB,mBAAe;AACf,aAAS,EAAE,cAAc;AAAA,KAE3B,CAAC,UAAU,gBAAgB;AAG7B,QAAM,eAAe,8BAAY,MAAM;AACrC,gBAAY;AACZ,QAAI,SAAS;AAAS,eAAS,QAAQ,QAAQ;AAE/C,eAAW,MAAM;AACf,UAAI,CAAC,gBAAgB,SAAS,SAAS,SAAS,gBAAgB;AAC9D,uBAAe;AAAA;AAEjB,uBAAiB;AACjB,eAAS;AAAA;AAAA,KAEV,CAAC,aAAa,kBAAkB,gBAAgB,UAAU,UAAU;AAEvE,QAAM,gBAAgB,8BAAY,MAAM;AACtC,gBAAY;AAAA,KACX,CAAC;AAEJ,QAAM,kBAAkB,CAAC,SAAS,SAAS,SAAS,4CAAqB,kBAAkB,cAAc;AACzG,QAAM,oBAAoB,SAAS,SAAS,MAAM,QAAQ,OAAO;AAEjE,SAAO,0BACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,eAAe,cAAc,gBAAgB,mBAAmB,iBAAiB,OAAO;AAAA;",
4
+ "sourcesContent": ["import { useContext, useEffect, useMemo, useRef, useCallback, useState } from 'react';\nimport { noop } from 'lodash';\n\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { isSelectedValueEmpty } from '../../utils/listHelper';\n\ninterface UseControlsInputT {\n handleOnFocus: () => void;\n handleOnBlur: () => void;\n handleOnChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n showPlaceholder: string | null | undefined;\n spanReferenceText: string | undefined;\n width: number;\n spanReference: React.Ref<HTMLSpanElement>;\n}\nconst useControlsInput = (): UseControlsInputT => {\n const {\n props: { selectedValues, innerRef, placeholder, onFilter },\n setShowPopover,\n setCurrentOption,\n showSelectedOptions,\n wrapperListRef,\n setHasFocus,\n setShowSelectedOptions,\n } = useContext(ComboBoxContext);\n\n const [width, setWidth] = useState(1);\n const spanReference = useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n setWidth(spanReference.current?.offsetWidth || 1);\n }, [innerRef.current?.value]);\n\n // When writting open popover\n // and refresh selected values and update filter outside value.\n const handleOnChange = useCallback(\n (e: React.FormEvent<HTMLInputElement>) => {\n if (onFilter === noop && innerRef.current) {\n innerRef.current.value = '';\n return;\n }\n setShowSelectedOptions(false);\n setShowPopover(true);\n onFilter(e.currentTarget.value);\n },\n [onFilter, innerRef, setShowPopover, setShowSelectedOptions],\n );\n\n const handleOnBlur = useCallback(() => {\n setHasFocus(false);\n if (innerRef.current) innerRef.current.value = '';\n\n setTimeout(() => {\n if (!wrapperListRef?.current?.contains(document.activeElement)) {\n setShowPopover(false);\n if (showSelectedOptions) setShowSelectedOptions(false);\n }\n setCurrentOption('');\n onFilter('');\n });\n }, [\n setHasFocus,\n showSelectedOptions,\n setShowSelectedOptions,\n setCurrentOption,\n wrapperListRef,\n onFilter,\n innerRef,\n setShowPopover,\n ]);\n\n const handleOnFocus = useCallback(() => {\n setHasFocus(true);\n }, [setHasFocus]);\n\n const showPlaceholder = !innerRef.current?.value && isSelectedValueEmpty(selectedValues) ? placeholder : null;\n const spanReferenceText = innerRef.current?.value.replace(/\\s/g, '\\u00a0');\n\n return useMemo(\n () => ({\n handleOnFocus,\n handleOnBlur,\n handleOnChange,\n showPlaceholder,\n spanReferenceText,\n width,\n spanReference,\n }),\n [handleOnFocus, handleOnBlur, handleOnChange, spanReferenceText, showPlaceholder, width, spanReference],\n );\n};\n\nexport { useControlsInput };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA8E;AAC9E,oBAAqB;AAErB,yBAAgC;AAChC,wBAAqC;AAWrC,MAAM,mBAAmB,MAAyB;AAChD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,UAAU,aAAa;AAAA,IAChD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,CAAC,OAAO,YAAY,2BAAS;AACnC,QAAM,gBAAgB,yBAAwB;AAE9C,8BAAU,MAAM;AACd,aAAS,cAAc,SAAS,eAAe;AAAA,KAC9C,CAAC,SAAS,SAAS;AAItB,QAAM,iBAAiB,8BACrB,CAAC,MAAyC;AACxC,QAAI,aAAa,sBAAQ,SAAS,SAAS;AACzC,eAAS,QAAQ,QAAQ;AACzB;AAAA;AAEF,2BAAuB;AACvB,mBAAe;AACf,aAAS,EAAE,cAAc;AAAA,KAE3B,CAAC,UAAU,UAAU,gBAAgB;AAGvC,QAAM,eAAe,8BAAY,MAAM;AACrC,gBAAY;AACZ,QAAI,SAAS;AAAS,eAAS,QAAQ,QAAQ;AAE/C,eAAW,MAAM;AACf,UAAI,CAAC,gBAAgB,SAAS,SAAS,SAAS,gBAAgB;AAC9D,uBAAe;AACf,YAAI;AAAqB,iCAAuB;AAAA;AAElD,uBAAiB;AACjB,eAAS;AAAA;AAAA,KAEV;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGF,QAAM,gBAAgB,8BAAY,MAAM;AACtC,gBAAY;AAAA,KACX,CAAC;AAEJ,QAAM,kBAAkB,CAAC,SAAS,SAAS,SAAS,4CAAqB,kBAAkB,cAAc;AACzG,QAAM,oBAAoB,SAAS,SAAS,MAAM,QAAQ,OAAO;AAEjE,SAAO,0BACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,eAAe,cAAc,gBAAgB,mBAAmB,iBAAiB,OAAO;AAAA;",
6
6
  "names": []
7
7
  }
@@ -37,18 +37,21 @@ var import_ComboBoxCTX = require("../../ComboBoxCTX");
37
37
  var import_styled = require("./styled");
38
38
  var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
39
39
  const DropdownIndicator = () => {
40
- const { showPopover } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
40
+ const {
41
+ props: { disabled },
42
+ showPopover
43
+ } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
41
44
  return /* @__PURE__ */ import_react.default.createElement(import_styled.StyledDropDownButton, {
42
45
  "data-testid": import_ComboboxDataTestids.ComboboxDataTestid.DROPDOWN,
43
46
  "aria-controls": "combo-listbox",
44
47
  "aria-labelledby": "combo-label",
48
+ disabled,
45
49
  "aria-expanded": showPopover,
46
50
  "aria-haspopup": "listbox",
47
51
  "aria-hidden": true,
48
- buttonType: "text",
49
- icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ChevronSmallDown, null),
52
+ buttonType: "icon",
50
53
  tabIndex: -1
51
- });
54
+ }, /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ChevronSmallDown, null));
52
55
  };
53
56
  var DropdownIndicator_default = DropdownIndicator;
54
57
  module.exports = __toCommonJS(DropdownIndicator_exports);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable import/no-cycle */\nimport React, { useContext } from 'react';\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { StyledDropDownButton } from './styled';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nconst DropdownIndicator = (): JSX.Element => {\n const { showPopover } = useContext(ComboBoxContext);\n\n return (\n <StyledDropDownButton\n data-testid={ComboboxDataTestid.DROPDOWN}\n aria-controls=\"combo-listbox\"\n aria-labelledby=\"combo-label\"\n aria-expanded={showPopover}\n aria-haspopup=\"listbox\"\n aria-hidden\n buttonType=\"text\"\n icon={<ChevronSmallDown />}\n tabIndex={-1}\n />\n );\n};\n\nexport { DropdownIndicator };\nexport default DropdownIndicator;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkC;AAClC,sBAAiC;AACjC,yBAAgC;AAChC,oBAAqC;AACrC,iCAAmC;AACnC,MAAM,oBAAoB,MAAmB;AAC3C,QAAM,EAAE,gBAAgB,6BAAW;AAEnC,SACE,mDAAC,oCAAD;AAAA,IACE,eAAa,8CAAmB;AAAA,IAChC,iBAAc;AAAA,IACd,mBAAgB;AAAA,IAChB,iBAAe;AAAA,IACf,iBAAc;AAAA,IACd,eAAW;AAAA,IACX,YAAW;AAAA,IACX,MAAM,mDAAC,kCAAD;AAAA,IACN,UAAU;AAAA;AAAA;AAMhB,IAAO,4BAAQ;",
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable import/no-cycle */\nimport React, { useContext } from 'react';\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { StyledDropDownButton } from './styled';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nconst DropdownIndicator = (): JSX.Element => {\n const {\n props: { disabled },\n showPopover,\n } = useContext(ComboBoxContext);\n return (\n <StyledDropDownButton\n data-testid={ComboboxDataTestid.DROPDOWN}\n aria-controls=\"combo-listbox\"\n aria-labelledby=\"combo-label\"\n disabled={disabled}\n aria-expanded={showPopover}\n aria-haspopup=\"listbox\"\n aria-hidden\n buttonType=\"icon\"\n tabIndex={-1}\n >\n <ChevronSmallDown />\n </StyledDropDownButton>\n );\n};\n\nexport { DropdownIndicator };\nexport default DropdownIndicator;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkC;AAClC,sBAAiC;AACjC,yBAAgC;AAChC,oBAAqC;AACrC,iCAAmC;AACnC,MAAM,oBAAoB,MAAmB;AAC3C,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,MACE,6BAAW;AACf,SACE,mDAAC,oCAAD;AAAA,IACE,eAAa,8CAAmB;AAAA,IAChC,iBAAc;AAAA,IACd,mBAAgB;AAAA,IAChB;AAAA,IACA,iBAAe;AAAA,IACf,iBAAc;AAAA,IACd,eAAW;AAAA,IACX,YAAW;AAAA,IACX,UAAU;AAAA,KAEV,mDAAC,kCAAD;AAAA;AAMN,IAAO,4BAAQ;",
6
6
  "names": []
7
7
  }
@@ -32,9 +32,10 @@ __export(styled_exports, {
32
32
  var React = __toESM(require("react"));
33
33
  var import_styled_components = __toESM(require("styled-components"));
34
34
  var import_ds_button = require("@elliemae/ds-button");
35
- const StyledDropDownButton = (0, import_styled_components.default)(import_ds_button.DSButton)`
36
- box-sizing: border-box;
37
- width: 100;
35
+ const StyledDropDownButton = (0, import_styled_components.default)(import_ds_button.DSButtonV2)`
36
+ &:focus::after {
37
+ border: none;
38
+ }
38
39
  & svg {
39
40
  fill: ${(props) => props.theme.colors.brand["700"]};
40
41
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/dropdown-indicator/styled.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import styled from 'styled-components';\nimport { DSButton } from '@elliemae/ds-button';\n\nexport const StyledDropDownButton = styled(DSButton)`\n box-sizing: border-box;\n width: 100;\n & svg {\n fill: ${(props) => props.theme.colors.brand['700']};\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAmB;AACnB,uBAAyB;AAElB,MAAM,uBAAuB,sCAAO;AAAA;AAAA;AAAA;AAAA,YAI/B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;",
4
+ "sourcesContent": ["import styled from 'styled-components';\nimport { DSButtonV2 } from '@elliemae/ds-button';\n\nexport const StyledDropDownButton = styled(DSButtonV2)`\n &:focus::after {\n border: none;\n }\n & svg {\n fill: ${(props) => props.theme.colors.brand['700']};\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAmB;AACnB,uBAA2B;AAEpB,MAAM,uBAAuB,sCAAO;AAAA;AAAA;AAAA;AAAA;AAAA,YAK/B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -39,37 +39,41 @@ var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
39
39
  var import_useHeaderListHandlers = require("./useHeaderListHandlers");
40
40
  const HeaderList = () => {
41
41
  const {
42
- props: { onSelectAll, onClearAll, selectedValues },
42
+ props: { onSelectAll, onClearAll, selectedValues, innerRef },
43
43
  showSelectedOptions,
44
- inputRef,
45
44
  selectAllCheckboxRef,
46
45
  toggleSelectionButtonRef
47
46
  } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
48
47
  const isSelectAllSupplied = onSelectAll !== import_lodash.noop;
49
48
  const isClearAllSupplied = onClearAll !== import_lodash.noop;
50
49
  const multiSelectedValues = selectedValues;
51
- const { handleKeyDown, handleOnMouseDown, handleToggle, checkboxStatus, handleSelectAllCheckboxChange } = (0, import_useHeaderListHandlers.useHeaderListHandlers)();
50
+ const {
51
+ handleKeyDown,
52
+ handleOnMouseDown,
53
+ handleFilterSelectionBtnOnBlur,
54
+ handleToggle,
55
+ checkboxStatus,
56
+ handleSelectAllCheckboxChange
57
+ } = (0, import_useHeaderListHandlers.useHeaderListHandlers)();
52
58
  return /* @__PURE__ */ import_react.default.createElement(import_styled.StyledHeaderListWrapper, {
53
59
  onKeyDown: handleKeyDown,
54
60
  onMouseDown: handleOnMouseDown
55
61
  }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledSelectAllCheckbox, null, isSelectAllSupplied && isClearAllSupplied && /* @__PURE__ */ import_react.default.createElement(import_controlled_checkbox.DSControlledCheckbox, {
56
62
  checked: checkboxStatus,
57
- ariaControls: checkboxStatus === "mixed" ? multiSelectedValues.map((item) => item.dsId).join(" ") : "",
63
+ "aria-controls": checkboxStatus === "mixed" ? multiSelectedValues.map((item) => item.dsId).join(" ") : "",
58
64
  name: "select-all-checkbox",
59
- ariaLabel: "Select/Unselect All Items",
65
+ "aria-label": "Select/Unselect All Items",
60
66
  id: "select-all-checkbox",
61
67
  onChange: handleSelectAllCheckboxChange,
62
68
  "data-testid": import_ComboboxDataTestids.ComboboxDataTestid.SELECT_ALL_CHECKBOX,
63
69
  onBlur: () => {
64
70
  if (multiSelectedValues.length === 0) {
65
- setTimeout(() => inputRef.current?.focus());
71
+ setTimeout(() => innerRef.current?.focus());
66
72
  }
67
73
  },
68
74
  innerRef: selectAllCheckboxRef
69
75
  })), /* @__PURE__ */ import_react.default.createElement(import_styled.StyledSelectedItems, null, multiSelectedValues.length > 0 ? /* @__PURE__ */ import_react.default.createElement(import_styled.StyledButtonSelection, {
70
- onBlur: () => {
71
- setTimeout(() => inputRef.current?.focus());
72
- },
76
+ onBlur: handleFilterSelectionBtnOnBlur,
73
77
  buttonType: "text",
74
78
  onClick: handleToggle,
75
79
  labelText: !showSelectedOptions ? `SHOW SELECTED [${multiSelectedValues.length}]` : "SHOW ALL",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/header-list/HeaderList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useContext } from 'react';\nimport { noop } from 'lodash';\nimport { DSControlledCheckbox } from '../../../controlled-checkbox';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport {\n StyledHeaderListWrapper,\n StyledButtonSelection,\n StyledSelectedItems,\n StyledSelectAllCheckbox,\n StyledNoOptionsSelected,\n} from './styled';\nimport { CBItemOption } from '../../index.d';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { useHeaderListHandlers } from './useHeaderListHandlers';\nconst HeaderList = (): JSX.Element => {\n const {\n props: { onSelectAll, onClearAll, selectedValues },\n showSelectedOptions,\n inputRef,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n } = useContext(ComboBoxContext);\n\n const isSelectAllSupplied = onSelectAll !== noop;\n const isClearAllSupplied = onClearAll !== noop;\n\n const multiSelectedValues = selectedValues as CBItemOption[];\n const { handleKeyDown, handleOnMouseDown, handleToggle, checkboxStatus, handleSelectAllCheckboxChange } =\n useHeaderListHandlers();\n\n return (\n <StyledHeaderListWrapper onKeyDown={handleKeyDown} onMouseDown={handleOnMouseDown}>\n <StyledSelectAllCheckbox>\n {isSelectAllSupplied && isClearAllSupplied && (\n <DSControlledCheckbox\n checked={checkboxStatus}\n ariaControls={checkboxStatus === 'mixed' ? multiSelectedValues.map((item) => item.dsId).join(' ') : ''}\n name=\"select-all-checkbox\"\n ariaLabel=\"Select/Unselect All Items\"\n id=\"select-all-checkbox\"\n onChange={handleSelectAllCheckboxChange}\n data-testid={ComboboxDataTestid.SELECT_ALL_CHECKBOX}\n onBlur={() => {\n if (multiSelectedValues.length === 0) {\n setTimeout(() => inputRef.current?.focus());\n }\n }}\n innerRef={selectAllCheckboxRef}\n />\n )}\n </StyledSelectAllCheckbox>\n <StyledSelectedItems>\n {multiSelectedValues.length > 0 ? (\n <StyledButtonSelection\n onBlur={() => {\n setTimeout(() => inputRef.current?.focus());\n }}\n buttonType=\"text\"\n onClick={handleToggle}\n labelText={!showSelectedOptions ? `SHOW SELECTED [${multiSelectedValues.length}]` : 'SHOW ALL'}\n size=\"s\"\n data-testid={ComboboxDataTestid.SHOW_SELECTED_OPTIONS_TOGGLE}\n innerRef={toggleSelectionButtonRef}\n />\n ) : (\n <StyledNoOptionsSelected>0 SELECTED</StyledNoOptionsSelected>\n )}\n </StyledSelectedItems>\n </StyledHeaderListWrapper>\n );\n};\n\nexport { HeaderList };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAAkC;AAClC,oBAAqB;AACrB,iCAAqC;AACrC,yBAAgC;AAChC,oBAMO;AAEP,iCAAmC;AACnC,mCAAsC;AACtC,MAAM,aAAa,MAAmB;AACpC,QAAM;AAAA,IACJ,OAAO,EAAE,aAAa,YAAY;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB,gBAAgB;AAC5C,QAAM,qBAAqB,eAAe;AAE1C,QAAM,sBAAsB;AAC5B,QAAM,EAAE,eAAe,mBAAmB,cAAc,gBAAgB,kCACtE;AAEF,SACE,mDAAC,uCAAD;AAAA,IAAyB,WAAW;AAAA,IAAe,aAAa;AAAA,KAC9D,mDAAC,uCAAD,MACG,uBAAuB,sBACtB,mDAAC,iDAAD;AAAA,IACE,SAAS;AAAA,IACT,cAAc,mBAAmB,UAAU,oBAAoB,IAAI,CAAC,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,IACpG,MAAK;AAAA,IACL,WAAU;AAAA,IACV,IAAG;AAAA,IACH,UAAU;AAAA,IACV,eAAa,8CAAmB;AAAA,IAChC,QAAQ,MAAM;AACZ,UAAI,oBAAoB,WAAW,GAAG;AACpC,mBAAW,MAAM,SAAS,SAAS;AAAA;AAAA;AAAA,IAGvC,UAAU;AAAA,OAIhB,mDAAC,mCAAD,MACG,oBAAoB,SAAS,IAC5B,mDAAC,qCAAD;AAAA,IACE,QAAQ,MAAM;AACZ,iBAAW,MAAM,SAAS,SAAS;AAAA;AAAA,IAErC,YAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW,CAAC,sBAAsB,kBAAkB,oBAAoB,YAAY;AAAA,IACpF,MAAK;AAAA,IACL,eAAa,8CAAmB;AAAA,IAChC,UAAU;AAAA,OAGZ,mDAAC,uCAAD,MAAyB;AAAA;",
4
+ "sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useContext } from 'react';\nimport { noop } from 'lodash';\nimport { DSControlledCheckbox } from '../../../controlled-checkbox';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport {\n StyledHeaderListWrapper,\n StyledButtonSelection,\n StyledSelectedItems,\n StyledSelectAllCheckbox,\n StyledNoOptionsSelected,\n} from './styled';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { useHeaderListHandlers } from './useHeaderListHandlers';\nconst HeaderList = (): JSX.Element => {\n const {\n props: { onSelectAll, onClearAll, selectedValues, innerRef },\n showSelectedOptions,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n } = useContext(ComboBoxContext);\n\n const isSelectAllSupplied = onSelectAll !== noop;\n const isClearAllSupplied = onClearAll !== noop;\n\n const multiSelectedValues = selectedValues as DSComboboxT.ItemOption[];\n const {\n handleKeyDown,\n handleOnMouseDown,\n handleFilterSelectionBtnOnBlur,\n handleToggle,\n checkboxStatus,\n handleSelectAllCheckboxChange,\n } = useHeaderListHandlers();\n\n return (\n <StyledHeaderListWrapper onKeyDown={handleKeyDown} onMouseDown={handleOnMouseDown}>\n <StyledSelectAllCheckbox>\n {isSelectAllSupplied && isClearAllSupplied && (\n <DSControlledCheckbox\n checked={checkboxStatus}\n aria-controls={checkboxStatus === 'mixed' ? multiSelectedValues.map((item) => item.dsId).join(' ') : ''}\n name=\"select-all-checkbox\"\n aria-label=\"Select/Unselect All Items\"\n id=\"select-all-checkbox\"\n onChange={handleSelectAllCheckboxChange}\n data-testid={ComboboxDataTestid.SELECT_ALL_CHECKBOX}\n onBlur={() => {\n if (multiSelectedValues.length === 0) {\n setTimeout(() => innerRef.current?.focus());\n }\n }}\n innerRef={selectAllCheckboxRef}\n />\n )}\n </StyledSelectAllCheckbox>\n <StyledSelectedItems>\n {multiSelectedValues.length > 0 ? (\n <StyledButtonSelection\n onBlur={handleFilterSelectionBtnOnBlur}\n buttonType=\"text\"\n onClick={handleToggle}\n labelText={!showSelectedOptions ? `SHOW SELECTED [${multiSelectedValues.length}]` : 'SHOW ALL'}\n size=\"s\"\n data-testid={ComboboxDataTestid.SHOW_SELECTED_OPTIONS_TOGGLE}\n innerRef={toggleSelectionButtonRef}\n />\n ) : (\n <StyledNoOptionsSelected>0 SELECTED</StyledNoOptionsSelected>\n )}\n </StyledSelectedItems>\n </StyledHeaderListWrapper>\n );\n};\n\nexport { HeaderList };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAAkC;AAClC,oBAAqB;AACrB,iCAAqC;AACrC,yBAAgC;AAChC,oBAMO;AAEP,iCAAmC;AACnC,mCAAsC;AACtC,MAAM,aAAa,MAAmB;AACpC,QAAM;AAAA,IACJ,OAAO,EAAE,aAAa,YAAY,gBAAgB;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB,gBAAgB;AAC5C,QAAM,qBAAqB,eAAe;AAE1C,QAAM,sBAAsB;AAC5B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,SACE,mDAAC,uCAAD;AAAA,IAAyB,WAAW;AAAA,IAAe,aAAa;AAAA,KAC9D,mDAAC,uCAAD,MACG,uBAAuB,sBACtB,mDAAC,iDAAD;AAAA,IACE,SAAS;AAAA,IACT,iBAAe,mBAAmB,UAAU,oBAAoB,IAAI,CAAC,SAAS,KAAK,MAAM,KAAK,OAAO;AAAA,IACrG,MAAK;AAAA,IACL,cAAW;AAAA,IACX,IAAG;AAAA,IACH,UAAU;AAAA,IACV,eAAa,8CAAmB;AAAA,IAChC,QAAQ,MAAM;AACZ,UAAI,oBAAoB,WAAW,GAAG;AACpC,mBAAW,MAAM,SAAS,SAAS;AAAA;AAAA;AAAA,IAGvC,UAAU;AAAA,OAIhB,mDAAC,mCAAD,MACG,oBAAoB,SAAS,IAC5B,mDAAC,qCAAD;AAAA,IACE,QAAQ;AAAA,IACR,YAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW,CAAC,sBAAsB,kBAAkB,oBAAoB,YAAY;AAAA,IACpF,MAAK;AAAA,IACL,eAAa,8CAAmB;AAAA,IAChC,UAAU;AAAA,OAGZ,mDAAC,uCAAD,MAAyB;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/header-list/styled.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { css } from '@elliemae/ds-system';\nimport { DSButton } from '@elliemae/ds-button';\n\nexport const StyledHeaderListWrapper = styled.div`\n display: flex;\n position: fixed;\n top: 0;\n z-index: 10;\n justify-content: space-between;\n padding: 0px 12px 0px 16px;\n width: 100%;\n height: 28px;\n background-color: #fff;\n box-shadow: 0 4px 2px -4px ${(props) => props.theme.colors.neutral[700]};\n overflow-x: hidden;\n\n & button {\n font-size: 13px;\n }\n`;\n\nexport const StyledButtonSelection = styled(DSButton)`\n border-radius: 0px;\n padding: 0 ${(props) => props.theme.space.xxs};\n margin: 0;\n align-items: center;\n transition: unset;\n &:hover:not([disabled]) {\n background-color: transparent;\n color: ${(props) => props.theme.colors.brand['700']};\n }\n`;\n\nexport const StyledSelectedItems = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StyledNoOptionsSelected = styled.div`\n padding: 0 ${(props) => props.theme.space.xxs};\n`;\n\nexport const StyledSelectAllCheckbox = styled.div`\n display: flex;\n align-items: center;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,+BAAmB;AAEnB,uBAAyB;AAElB,MAAM,0BAA0B,iCAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAUf,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ9D,MAAM,wBAAwB,sCAAO;AAAA;AAAA,eAE7B,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAM/B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAI1C,MAAM,sBAAsB,iCAAO;AAAA;AAAA;AAAA;AAKnC,MAAM,0BAA0B,iCAAO;AAAA,eAC/B,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAGrC,MAAM,0BAA0B,iCAAO;AAAA;AAAA;AAAA;",
4
+ "sourcesContent": ["/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { DSButton } from '@elliemae/ds-button';\n\nexport const StyledHeaderListWrapper = styled.div`\n display: flex;\n position: fixed;\n top: 0;\n z-index: 10;\n justify-content: space-between;\n padding: 0px 12px 0px 16px;\n width: 100%;\n height: 28px;\n background-color: #fff;\n box-shadow: 0 4px 2px -4px ${(props) => props.theme.colors.neutral[700]};\n overflow-x: hidden;\n\n & button {\n font-size: 13px;\n }\n`;\n\nexport const StyledButtonSelection = styled(DSButton)`\n border-radius: 0px;\n padding: 0 ${(props) => props.theme.space.xxs};\n margin: 0;\n align-items: center;\n transition: unset;\n &:hover:not([disabled]) {\n background-color: transparent;\n color: ${(props) => props.theme.colors.brand['700']};\n }\n`;\n\nexport const StyledSelectedItems = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const StyledNoOptionsSelected = styled.div`\n padding: 0 ${(props) => props.theme.space.xxs};\n`;\n\nexport const StyledSelectAllCheckbox = styled.div`\n display: flex;\n align-items: center;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,+BAAmB;AACnB,uBAAyB;AAElB,MAAM,0BAA0B,iCAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAUf,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ9D,MAAM,wBAAwB,sCAAO;AAAA;AAAA,eAE7B,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAM/B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAI1C,MAAM,sBAAsB,iCAAO;AAAA;AAAA;AAAA;AAKnC,MAAM,0BAA0B,iCAAO;AAAA,eAC/B,CAAC,UAAU,MAAM,MAAM,MAAM;AAAA;AAGrC,MAAM,0BAA0B,iCAAO;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,7 @@ var import_listHelper = require("../../utils/listHelper");
35
35
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
36
36
  const useHeaderListHandlers = () => {
37
37
  const {
38
- props: { onFilter, selectedValues, options, onSelectAll, onClearAll },
39
- inputRef,
38
+ props: { onFilter, selectedValues, options, onSelectAll, onClearAll, innerRef },
40
39
  showSelectedOptions,
41
40
  setShowSelectedOptions,
42
41
  setShowPopover
@@ -63,16 +62,21 @@ const useHeaderListHandlers = () => {
63
62
  }
64
63
  }, [checkboxStatus, onSelectAll, onClearAll]);
65
64
  const handleToggle = (0, import_react.useCallback)(() => {
66
- if (inputRef.current)
67
- inputRef.current.value = "";
65
+ if (innerRef.current)
66
+ innerRef.current.value = "";
68
67
  onFilter("");
69
68
  setShowSelectedOptions(!showSelectedOptions);
70
- }, [setShowSelectedOptions, inputRef, onFilter, showSelectedOptions]);
69
+ }, [setShowSelectedOptions, innerRef, onFilter, showSelectedOptions]);
71
70
  const handleKeyDown = (0, import_react.useCallback)((e) => {
72
71
  if (e.key === "Escape") {
73
72
  setShowPopover(false);
74
73
  }
75
74
  }, [setShowPopover]);
75
+ const handleFilterSelectionBtnOnBlur = (0, import_react.useCallback)(() => {
76
+ if (showSelectedOptions)
77
+ setShowSelectedOptions(false);
78
+ innerRef.current?.focus();
79
+ }, [setShowSelectedOptions, showSelectedOptions, innerRef]);
76
80
  (0, import_react.useEffect)(() => {
77
81
  if (multiSelectedValues.length === 0) {
78
82
  setShowSelectedOptions(false);
@@ -81,10 +85,18 @@ const useHeaderListHandlers = () => {
81
85
  return (0, import_react.useMemo)(() => ({
82
86
  handleKeyDown,
83
87
  handleToggle,
88
+ handleFilterSelectionBtnOnBlur,
84
89
  handleOnMouseDown,
85
90
  handleSelectAllCheckboxChange,
86
91
  checkboxStatus
87
- }), [handleKeyDown, handleToggle, handleOnMouseDown, checkboxStatus, handleSelectAllCheckboxChange]);
92
+ }), [
93
+ handleKeyDown,
94
+ handleFilterSelectionBtnOnBlur,
95
+ handleToggle,
96
+ handleOnMouseDown,
97
+ checkboxStatus,
98
+ handleSelectAllCheckboxChange
99
+ ]);
88
100
  };
89
101
  module.exports = __toCommonJS(useHeaderListHandlers_exports);
90
102
  //# sourceMappingURL=useHeaderListHandlers.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/header-list/useHeaderListHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useMemo, useState, useEffect, useContext, useCallback } from 'react';\nimport { CBItemOption } from '../../index.d';\nimport { getSelectableOptions } from '../../utils/listHelper';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\n\ninterface UseHeaderListHandlersT {\n handleKeyDown: (e: React.KeyboardEvent) => void;\n handleToggle: () => void;\n handleOnMouseDown: (e: React.MouseEvent) => void;\n handleSelectAllCheckboxChange: () => void;\n checkboxStatus: boolean | 'mixed';\n}\n\nconst useHeaderListHandlers = (): UseHeaderListHandlersT => {\n const {\n props: { onFilter, selectedValues, options, onSelectAll, onClearAll },\n inputRef,\n showSelectedOptions,\n setShowSelectedOptions,\n setShowPopover,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as CBItemOption[];\n const selectableOptions = getSelectableOptions(options);\n\n const checkboxStatus = useMemo(() => {\n if (selectableOptions?.length === multiSelectedValues?.length) {\n return true;\n }\n if (multiSelectedValues?.length === 0) {\n return false;\n }\n return 'mixed';\n }, [multiSelectedValues, selectableOptions]);\n\n const handleOnMouseDown = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n }, []);\n\n const handleSelectAllCheckboxChange = useCallback(() => {\n if (!checkboxStatus || checkboxStatus === 'mixed') {\n onSelectAll();\n } else {\n onClearAll();\n }\n }, [checkboxStatus, onSelectAll, onClearAll]);\n\n const handleToggle = useCallback(() => {\n if (inputRef.current) inputRef.current.value = '';\n onFilter('');\n setShowSelectedOptions(!showSelectedOptions);\n }, [setShowSelectedOptions, inputRef, onFilter, showSelectedOptions]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n setShowPopover(false);\n }\n },\n [setShowPopover],\n );\n\n useEffect(() => {\n if (multiSelectedValues.length === 0) {\n setShowSelectedOptions(false);\n }\n }, [multiSelectedValues, setShowSelectedOptions]);\n\n return useMemo(\n () => ({\n handleKeyDown,\n handleToggle,\n handleOnMouseDown,\n handleSelectAllCheckboxChange,\n checkboxStatus,\n }),\n [handleKeyDown, handleToggle, handleOnMouseDown, checkboxStatus, handleSelectAllCheckboxChange],\n );\n};\n\nexport { useHeaderListHandlers };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6E;AAE7E,wBAAqC;AACrC,yBAAgC;AAUhC,MAAM,wBAAwB,MAA8B;AAC1D,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,gBAAgB,SAAS,aAAa;AAAA,IACzD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,oBAAoB,4CAAqB;AAE/C,QAAM,iBAAiB,0BAAQ,MAAM;AACnC,QAAI,mBAAmB,WAAW,qBAAqB,QAAQ;AAC7D,aAAO;AAAA;AAET,QAAI,qBAAqB,WAAW,GAAG;AACrC,aAAO;AAAA;AAET,WAAO;AAAA,KACN,CAAC,qBAAqB;AAEzB,QAAM,oBAAoB,8BAAY,CAAC,MAAwB;AAC7D,MAAE;AAAA,KACD;AAEH,QAAM,gCAAgC,8BAAY,MAAM;AACtD,QAAI,CAAC,kBAAkB,mBAAmB,SAAS;AACjD;AAAA,WACK;AACL;AAAA;AAAA,KAED,CAAC,gBAAgB,aAAa;AAEjC,QAAM,eAAe,8BAAY,MAAM;AACrC,QAAI,SAAS;AAAS,eAAS,QAAQ,QAAQ;AAC/C,aAAS;AACT,2BAAuB,CAAC;AAAA,KACvB,CAAC,wBAAwB,UAAU,UAAU;AAEhD,QAAM,gBAAgB,8BACpB,CAAC,MAA2B;AAC1B,QAAI,EAAE,QAAQ,UAAU;AACtB,qBAAe;AAAA;AAAA,KAGnB,CAAC;AAGH,8BAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,GAAG;AACpC,6BAAuB;AAAA;AAAA,KAExB,CAAC,qBAAqB;AAEzB,SAAO,0BACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF,CAAC,eAAe,cAAc,mBAAmB,gBAAgB;AAAA;",
4
+ "sourcesContent": ["import React, { useMemo, useEffect, useContext, useCallback } from 'react';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { getSelectableOptions } from '../../utils/listHelper';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\n\ninterface UseHeaderListHandlersT {\n handleKeyDown: (e: React.KeyboardEvent) => void;\n handleToggle: () => void;\n handleOnMouseDown: (e: React.MouseEvent) => void;\n handleSelectAllCheckboxChange: React.ChangeEventHandler<HTMLInputElement>;\n handleFilterSelectionBtnOnBlur: React.FocusEventHandler<HTMLButtonElement>;\n checkboxStatus: boolean | 'mixed';\n}\n\nconst useHeaderListHandlers = (): UseHeaderListHandlersT => {\n const {\n props: { onFilter, selectedValues, options, onSelectAll, onClearAll, innerRef },\n showSelectedOptions,\n setShowSelectedOptions,\n setShowPopover,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as DSComboboxT.ItemOption[];\n const selectableOptions = getSelectableOptions(options);\n\n const checkboxStatus = useMemo(() => {\n if (selectableOptions?.length === multiSelectedValues?.length) {\n return true;\n }\n if (multiSelectedValues?.length === 0) {\n return false;\n }\n return 'mixed';\n }, [multiSelectedValues, selectableOptions]);\n\n const handleOnMouseDown = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n }, []);\n\n const handleSelectAllCheckboxChange = useCallback(() => {\n if (!checkboxStatus || checkboxStatus === 'mixed') {\n onSelectAll();\n } else {\n onClearAll();\n }\n }, [checkboxStatus, onSelectAll, onClearAll]);\n\n const handleToggle = useCallback(() => {\n if (innerRef.current) innerRef.current.value = '';\n onFilter('');\n setShowSelectedOptions(!showSelectedOptions);\n }, [setShowSelectedOptions, innerRef, onFilter, showSelectedOptions]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') {\n setShowPopover(false);\n }\n },\n [setShowPopover],\n );\n\n const handleFilterSelectionBtnOnBlur = useCallback(() => {\n if (showSelectedOptions) setShowSelectedOptions(false);\n innerRef.current?.focus();\n }, [setShowSelectedOptions, showSelectedOptions, innerRef]);\n\n useEffect(() => {\n if (multiSelectedValues.length === 0) {\n setShowSelectedOptions(false);\n }\n }, [multiSelectedValues, setShowSelectedOptions]);\n\n return useMemo(\n () => ({\n handleKeyDown,\n handleToggle,\n handleFilterSelectionBtnOnBlur,\n handleOnMouseDown,\n handleSelectAllCheckboxChange,\n checkboxStatus,\n }),\n [\n handleKeyDown,\n handleFilterSelectionBtnOnBlur,\n handleToggle,\n handleOnMouseDown,\n checkboxStatus,\n handleSelectAllCheckboxChange,\n ],\n );\n};\n\nexport { useHeaderListHandlers };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAmE;AAEnE,wBAAqC;AACrC,yBAAgC;AAWhC,MAAM,wBAAwB,MAA8B;AAC1D,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,gBAAgB,SAAS,aAAa,YAAY;AAAA,IACrE;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,oBAAoB,4CAAqB;AAE/C,QAAM,iBAAiB,0BAAQ,MAAM;AACnC,QAAI,mBAAmB,WAAW,qBAAqB,QAAQ;AAC7D,aAAO;AAAA;AAET,QAAI,qBAAqB,WAAW,GAAG;AACrC,aAAO;AAAA;AAET,WAAO;AAAA,KACN,CAAC,qBAAqB;AAEzB,QAAM,oBAAoB,8BAAY,CAAC,MAAwB;AAC7D,MAAE;AAAA,KACD;AAEH,QAAM,gCAAgC,8BAAY,MAAM;AACtD,QAAI,CAAC,kBAAkB,mBAAmB,SAAS;AACjD;AAAA,WACK;AACL;AAAA;AAAA,KAED,CAAC,gBAAgB,aAAa;AAEjC,QAAM,eAAe,8BAAY,MAAM;AACrC,QAAI,SAAS;AAAS,eAAS,QAAQ,QAAQ;AAC/C,aAAS;AACT,2BAAuB,CAAC;AAAA,KACvB,CAAC,wBAAwB,UAAU,UAAU;AAEhD,QAAM,gBAAgB,8BACpB,CAAC,MAA2B;AAC1B,QAAI,EAAE,QAAQ,UAAU;AACtB,qBAAe;AAAA;AAAA,KAGnB,CAAC;AAGH,QAAM,iCAAiC,8BAAY,MAAM;AACvD,QAAI;AAAqB,6BAAuB;AAChD,aAAS,SAAS;AAAA,KACjB,CAAC,wBAAwB,qBAAqB;AAEjD,8BAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,GAAG;AACpC,6BAAuB;AAAA;AAAA,KAExB,CAAC,qBAAqB;AAEzB,SAAO,0BACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEF;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -37,31 +37,25 @@ var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
37
37
  var import_ComboBoxCTX = require("../../ComboBoxCTX");
38
38
  var import_header_list = require("../header-list");
39
39
  var import_useOnElementResize = require("../../utils/hooks/useOnElementResize");
40
- var import_empty_state = require("../empty-state");
41
40
  var import_useItemRenderer = require("./useItemRenderer");
42
41
  var import_useMenuList = require("./useMenuList");
43
42
  const MenuList = () => {
44
43
  const {
45
- props: { menuMinWidth, menuMaxHeight, onCreate, inline, options, selectedValues },
44
+ props: { menuMinWidth, menuMaxHeight, onCreate, inline, options, selectedValues, innerRef },
46
45
  referenceElement,
47
- inputRef,
48
46
  listRef,
49
- showPopover,
50
47
  wrapperListRef,
51
48
  controlsWrapperRef,
52
49
  virtualListHelpers
53
50
  } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
54
- const { totalSize } = virtualListHelpers;
55
51
  const isOnCreatedSupplied = onCreate !== import_lodash.noop;
56
52
  const multiple = Array.isArray(selectedValues);
57
- const withHeader = !inline && multiple && options.length > 0 && inputRef.current?.value === "";
53
+ const withHeader = !inline && multiple && options.length > 0 && innerRef.current?.value === "";
58
54
  const ItemRenderer = (0, import_useItemRenderer.useItemRenderer)();
59
55
  (0, import_useMenuList.useMenuList)();
60
56
  const { width } = (0, import_useOnElementResize.useOnElementResize)(controlsWrapperRef);
61
57
  const listWidth = (0, import_react.useMemo)(() => menuMinWidth || `${referenceElement?.offsetWidth}`, [menuMinWidth, referenceElement, width]);
62
- const handleOnFocus = (0, import_react.useCallback)(() => {
63
- }, [inputRef]);
64
- return /* @__PURE__ */ import_react.default.createElement(import_styled.StyledListWrapper, {
58
+ const list = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement(import_styled.StyledListWrapper, {
65
59
  ref: wrapperListRef,
66
60
  inline,
67
61
  onMouseDown: (e) => e.preventDefault(),
@@ -74,12 +68,23 @@ const MenuList = () => {
74
68
  }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledList, {
75
69
  id: "combo-listbox",
76
70
  role: "listbox",
77
- tabIndex: -1,
78
- "aria-expanded": showPopover,
79
- onFocus: handleOnFocus,
80
71
  "data-testid": import_ComboboxDataTestids.ComboboxDataTestid.LIST,
81
- style: { height: totalSize, margin: inline ? "0px" : "8px 0px" }
82
- }, ItemRenderer)) : /* @__PURE__ */ import_react.default.createElement(import_empty_state.EmptyState, null));
72
+ style: { height: virtualListHelpers?.totalSize, margin: inline ? "0px" : "8px 0px" }
73
+ }, ItemRenderer)) : /* @__PURE__ */ import_react.default.createElement(import_styled.StyledNoResultsWrapper, {
74
+ id: "id-no-results"
75
+ }, "No matches found")), [
76
+ ItemRenderer,
77
+ inline,
78
+ isOnCreatedSupplied,
79
+ listRef,
80
+ listWidth,
81
+ menuMaxHeight,
82
+ options.length,
83
+ virtualListHelpers?.totalSize,
84
+ withHeader,
85
+ wrapperListRef
86
+ ]);
87
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, list);
83
88
  };
84
89
  module.exports = __toCommonJS(MenuList_exports);
85
90
  //# sourceMappingURL=MenuList.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/menu-list/MenuList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext, useMemo, useCallback } from 'react';\nimport { noop } from 'lodash';\n\nimport { StyledListWrapper, StyledList, StyledVirtualListWrapper } from './styled';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { HeaderList } from '../header-list';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { EmptyState } from '../empty-state';\nimport { useItemRenderer } from './useItemRenderer';\nimport { useMenuList } from './useMenuList';\n\nconst MenuList = (): JSX.Element => {\n const {\n props: { menuMinWidth, menuMaxHeight, onCreate, inline, options, selectedValues },\n referenceElement,\n inputRef,\n listRef,\n showPopover,\n wrapperListRef,\n controlsWrapperRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const { totalSize } = virtualListHelpers;\n\n const isOnCreatedSupplied = onCreate !== noop;\n const multiple = Array.isArray(selectedValues);\n const withHeader = !inline && multiple && options.length > 0 && inputRef.current?.value === '';\n const ItemRenderer = useItemRenderer();\n useMenuList();\n const { width } = useOnElementResize(controlsWrapperRef);\n\n const listWidth = useMemo(\n () => (menuMinWidth as number) || `${referenceElement?.offsetWidth as number}`,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [menuMinWidth, referenceElement, width],\n );\n\n const handleOnFocus = useCallback(() => {\n // inputRef.current?.focus();\n }, [inputRef]);\n\n return (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={(e) => e.preventDefault()}\n minWidth={listWidth}\n >\n {withHeader && <HeaderList />}\n {options.length > 0 || isOnCreatedSupplied ? (\n <StyledVirtualListWrapper\n inline={inline}\n maxHeight={menuMaxHeight as number}\n ref={listRef}\n withHeader={withHeader}\n >\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n tabIndex={-1}\n aria-expanded={showPopover}\n onFocus={handleOnFocus}\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <EmptyState />\n )}\n </StyledListWrapper>\n );\n};\n\nexport { MenuList };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwD;AACxD,oBAAqB;AAErB,oBAAwE;AACxE,iCAAmC;AACnC,yBAAgC;AAChC,yBAA2B;AAC3B,gCAAmC;AACnC,yBAA2B;AAC3B,6BAAgC;AAChC,yBAA4B;AAE5B,MAAM,WAAW,MAAmB;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,cAAc,eAAe,UAAU,QAAQ,SAAS;AAAA,IACjE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,EAAE,cAAc;AAEtB,QAAM,sBAAsB,aAAa;AACzC,QAAM,WAAW,MAAM,QAAQ;AAC/B,QAAM,aAAa,CAAC,UAAU,YAAY,QAAQ,SAAS,KAAK,SAAS,SAAS,UAAU;AAC5F,QAAM,eAAe;AACrB;AACA,QAAM,EAAE,UAAU,kDAAmB;AAErC,QAAM,YAAY,0BAChB,MAAO,gBAA2B,GAAG,kBAAkB,eAEvD,CAAC,cAAc,kBAAkB;AAGnC,QAAM,gBAAgB,8BAAY,MAAM;AAAA,KAErC,CAAC;AAEJ,SACE,mDAAC,iCAAD;AAAA,IACE,KAAK;AAAA,IACL;AAAA,IACA,aAAa,CAAC,MAAM,EAAE;AAAA,IACtB,UAAU;AAAA,KAET,cAAc,mDAAC,+BAAD,OACd,QAAQ,SAAS,KAAK,sBACrB,mDAAC,wCAAD;AAAA,IACE;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL;AAAA,KAEA,mDAAC,0BAAD;AAAA,IACE,IAAG;AAAA,IACH,MAAK;AAAA,IACL,UAAU;AAAA,IACV,iBAAe;AAAA,IACf,SAAS;AAAA,IACT,eAAa,8CAAmB;AAAA,IAChC,OAAO,EAAE,QAAQ,WAAW,QAAQ,SAAS,QAAQ;AAAA,KAEpD,iBAIL,mDAAC,+BAAD;AAAA;",
4
+ "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { noop } from 'lodash';\n\nimport { StyledListWrapper, StyledNoResultsWrapper, StyledList, StyledVirtualListWrapper } from './styled';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { HeaderList } from '../header-list';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { useItemRenderer } from './useItemRenderer';\nimport { useMenuList } from './useMenuList';\n\nconst MenuList = (): JSX.Element => {\n const {\n props: { menuMinWidth, menuMaxHeight, onCreate, inline, options, selectedValues, innerRef },\n referenceElement,\n listRef,\n wrapperListRef,\n controlsWrapperRef,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const isOnCreatedSupplied = onCreate !== noop;\n const multiple = Array.isArray(selectedValues);\n const withHeader = !inline && multiple && options.length > 0 && innerRef.current?.value === '';\n const ItemRenderer = useItemRenderer();\n useMenuList();\n const { width } = useOnElementResize(controlsWrapperRef);\n\n const listWidth = useMemo(\n () => menuMinWidth || `${referenceElement?.offsetWidth as number}`,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [menuMinWidth, referenceElement, width],\n );\n\n const list = useMemo(\n () => (\n <StyledListWrapper\n ref={wrapperListRef}\n inline={inline}\n onMouseDown={(e) => e.preventDefault()}\n minWidth={listWidth}\n >\n {withHeader && <HeaderList />}\n {options.length > 0 || isOnCreatedSupplied ? (\n <StyledVirtualListWrapper\n inline={inline}\n maxHeight={menuMaxHeight as number}\n ref={listRef}\n withHeader={withHeader}\n >\n <StyledList\n id=\"combo-listbox\"\n role=\"listbox\"\n data-testid={ComboboxDataTestid.LIST}\n style={{ height: virtualListHelpers?.totalSize, margin: inline ? '0px' : '8px 0px' }}\n >\n {ItemRenderer}\n </StyledList>\n </StyledVirtualListWrapper>\n ) : (\n <StyledNoResultsWrapper id=\"id-no-results\">No matches found</StyledNoResultsWrapper>\n )}\n </StyledListWrapper>\n ),\n [\n ItemRenderer,\n inline,\n isOnCreatedSupplied,\n listRef,\n listWidth,\n menuMaxHeight,\n options.length,\n virtualListHelpers?.totalSize,\n withHeader,\n wrapperListRef,\n ],\n );\n\n return <>{list}</>;\n};\n\nexport { MenuList };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA2C;AAC3C,oBAAqB;AAErB,oBAAgG;AAChG,iCAAmC;AACnC,yBAAgC;AAChC,yBAA2B;AAC3B,gCAAmC;AACnC,6BAAgC;AAChC,yBAA4B;AAE5B,MAAM,WAAW,MAAmB;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,cAAc,eAAe,UAAU,QAAQ,SAAS,gBAAgB;AAAA,IACjF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB,aAAa;AACzC,QAAM,WAAW,MAAM,QAAQ;AAC/B,QAAM,aAAa,CAAC,UAAU,YAAY,QAAQ,SAAS,KAAK,SAAS,SAAS,UAAU;AAC5F,QAAM,eAAe;AACrB;AACA,QAAM,EAAE,UAAU,kDAAmB;AAErC,QAAM,YAAY,0BAChB,MAAM,gBAAgB,GAAG,kBAAkB,eAE3C,CAAC,cAAc,kBAAkB;AAGnC,QAAM,OAAO,0BACX,MACE,mDAAC,iCAAD;AAAA,IACE,KAAK;AAAA,IACL;AAAA,IACA,aAAa,CAAC,MAAM,EAAE;AAAA,IACtB,UAAU;AAAA,KAET,cAAc,mDAAC,+BAAD,OACd,QAAQ,SAAS,KAAK,sBACrB,mDAAC,wCAAD;AAAA,IACE;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL;AAAA,KAEA,mDAAC,0BAAD;AAAA,IACE,IAAG;AAAA,IACH,MAAK;AAAA,IACL,eAAa,8CAAmB;AAAA,IAChC,OAAO,EAAE,QAAQ,oBAAoB,WAAW,QAAQ,SAAS,QAAQ;AAAA,KAExE,iBAIL,mDAAC,sCAAD;AAAA,IAAwB,IAAG;AAAA,KAAgB,sBAIjD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,oBAAoB;AAAA,IACpB;AAAA,IACA;AAAA;AAIJ,SAAO,wFAAG;AAAA;",
6
6
  "names": []
7
7
  }
@@ -30,12 +30,14 @@ __export(styled_exports, {
30
30
  StyledCreatableLabel: () => StyledCreatableLabel,
31
31
  StyledList: () => StyledList,
32
32
  StyledListWrapper: () => StyledListWrapper,
33
+ StyledNoResultsWrapper: () => StyledNoResultsWrapper,
33
34
  StyledVirtualListWrapper: () => StyledVirtualListWrapper
34
35
  });
35
36
  var React = __toESM(require("react"));
36
37
  var import_styled_components = __toESM(require("styled-components"));
37
38
  const StyledListWrapper = import_styled_components.default.div`
38
39
  min-width: ${(props) => props.inline ? "100%" : `${props.minWidth}px`};
40
+ background-color: #ffffff;
39
41
  `;
40
42
  const StyledList = import_styled_components.default.ul`
41
43
  position: relative;
@@ -51,5 +53,8 @@ const StyledCreatableLabel = import_styled_components.default.span`
51
53
  font-weight: bold;
52
54
  font-style: italic;
53
55
  `;
56
+ const StyledNoResultsWrapper = import_styled_components.default.div`
57
+ padding: 16px;
58
+ `;
54
59
  module.exports = __toCommonJS(styled_exports);
55
60
  //# sourceMappingURL=styled.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/controlled-combobox/parts/menu-list/styled.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import styled from 'styled-components';\n\nexport const StyledListWrapper = styled.div<{ inline: boolean | undefined; minWidth: string | number }>`\n min-width: ${(props) => (props.inline ? '100%' : `${props.minWidth}px`)};\n`;\n\nexport const StyledList = styled.ul`\n position: relative;\n padding: 0;\n`;\n\nexport const StyledVirtualListWrapper = styled.div<{\n inline: boolean | undefined;\n maxHeight: number;\n withHeader: boolean;\n}>`\n overflow-y: auto;\n margin-top: ${({ withHeader }) => (withHeader ? '28px' : '')};\n\n max-height: ${({ maxHeight }) => (!maxHeight ? '400px' : `${maxHeight}px`)};\n`;\n\nexport const StyledCreatableLabel = styled.span`\n font-weight: bold;\n font-style: italic;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAmB;AAEZ,MAAM,oBAAoB,iCAAO;AAAA,eACzB,CAAC,UAAW,MAAM,SAAS,SAAS,GAAG,MAAM;AAAA;AAGrD,MAAM,aAAa,iCAAO;AAAA;AAAA;AAAA;AAK1B,MAAM,2BAA2B,iCAAO;AAAA;AAAA,gBAM/B,CAAC,EAAE,iBAAkB,aAAa,SAAS;AAAA;AAAA,gBAE3C,CAAC,EAAE,gBAAiB,CAAC,YAAY,UAAU,GAAG;AAAA;AAGvD,MAAM,uBAAuB,iCAAO;AAAA;AAAA;AAAA;",
4
+ "sourcesContent": ["import styled from 'styled-components';\n\nexport const StyledListWrapper = styled.div<{ inline: boolean | undefined; minWidth: string | number }>`\n min-width: ${(props) => (props.inline ? '100%' : `${props.minWidth}px`)};\n background-color: #ffffff;\n`;\n\nexport const StyledList = styled.ul`\n position: relative;\n padding: 0;\n`;\n\nexport const StyledVirtualListWrapper = styled.div<{\n inline: boolean | undefined;\n maxHeight: number;\n withHeader: boolean;\n}>`\n overflow-y: auto;\n margin-top: ${({ withHeader }) => (withHeader ? '28px' : '')};\n\n max-height: ${({ maxHeight }) => (!maxHeight ? '400px' : `${maxHeight}px`)};\n`;\n\nexport const StyledCreatableLabel = styled.span`\n font-weight: bold;\n font-style: italic;\n`;\n\nexport const StyledNoResultsWrapper = styled.div`\n padding: 16px;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAmB;AAEZ,MAAM,oBAAoB,iCAAO;AAAA,eACzB,CAAC,UAAW,MAAM,SAAS,SAAS,GAAG,MAAM;AAAA;AAAA;AAIrD,MAAM,aAAa,iCAAO;AAAA;AAAA;AAAA;AAK1B,MAAM,2BAA2B,iCAAO;AAAA;AAAA,gBAM/B,CAAC,EAAE,iBAAkB,aAAa,SAAS;AAAA;AAAA,gBAE3C,CAAC,EAAE,gBAAiB,CAAC,YAAY,UAAU,GAAG;AAAA;AAGvD,MAAM,uBAAuB,iCAAO;AAAA;AAAA;AAAA;AAKpC,MAAM,yBAAyB,iCAAO;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,26 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
8
  var __getProtoOf = Object.getPrototypeOf;
6
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));
7
24
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
25
  var __export = (target, all) => {
9
26
  for (var name in all)
@@ -39,39 +56,38 @@ var import_listHelper = require("../../utils/listHelper");
39
56
  var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
40
57
  const useItemRenderer = () => {
41
58
  const {
42
- props: { options, onCreate, onChange, selectedValues, onFilter },
43
- inputRef,
59
+ props: { options, onCreate, onChange, selectedValues, onFilter, innerRef },
44
60
  setShowPopover,
45
61
  focusOptionIdx,
46
62
  virtualListHelpers
47
63
  } = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
48
- const { virtualItems } = virtualListHelpers;
49
64
  const multiple = Array.isArray(selectedValues);
50
65
  const CBItem = multiple ? import_MenuItem.MultiMenuItem : import_MenuItem.SingleMenuItem;
51
66
  const handleClick = (0, import_react.useCallback)((option, e) => {
52
67
  if (option.type === "creatable") {
53
- if (inputRef.current) {
54
- onCreate(inputRef.current.value);
55
- inputRef.current.value = "";
68
+ if (innerRef.current) {
69
+ onCreate(innerRef.current.value);
70
+ innerRef.current.value = "";
56
71
  onFilter("");
57
72
  }
58
73
  return;
59
74
  }
60
75
  if (!multiple) {
61
- setShowPopover(false);
62
- if (inputRef.current)
63
- inputRef.current.value = "";
64
- } else if (inputRef.current) {
65
- onFilter(inputRef.current.value);
76
+ if (!option.disabled)
77
+ setShowPopover(false);
78
+ if (innerRef.current)
79
+ innerRef.current.value = "";
80
+ } else if (innerRef.current) {
81
+ onFilter(innerRef.current.value);
66
82
  }
67
83
  onChange(option);
68
84
  e.stopPropagation();
69
85
  e.preventDefault();
70
- }, [onFilter, onChange, setShowPopover, multiple, inputRef]);
86
+ }, [onFilter, onChange, setShowPopover, multiple, innerRef]);
71
87
  const handleOnMouseDown = (0, import_react.useCallback)((e) => {
72
88
  e.preventDefault();
73
89
  }, []);
74
- const ItemRenderer = (0, import_react.useMemo)(() => virtualItems.map((vItem) => {
90
+ const ItemRenderer = (0, import_react.useMemo)(() => virtualListHelpers?.virtualItems.map((vItem) => {
75
91
  const option = options[vItem.index];
76
92
  const generalProps = {
77
93
  wrapperStyles: { position: "absolute", top: vItem.start, left: 0, width: "100%" },
@@ -79,19 +95,15 @@ const useItemRenderer = () => {
79
95
  innerRef: vItem.measureRef
80
96
  };
81
97
  if (option.type === "section") {
82
- return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.Section, {
83
- label: option.label,
84
- ...generalProps
85
- });
98
+ return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.Section, __spreadValues({
99
+ label: option.label
100
+ }, generalProps));
86
101
  }
87
102
  if (option.type === "separator") {
88
- return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.Separator, {
89
- ...generalProps
90
- });
103
+ return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.Separator, __spreadValues({}, generalProps));
91
104
  }
92
105
  if (option.type === "option") {
93
- return /* @__PURE__ */ import_react.default.createElement(CBItem, {
94
- ...generalProps,
106
+ return /* @__PURE__ */ import_react.default.createElement(CBItem, __spreadProps(__spreadValues({}, generalProps), {
95
107
  value: option.value,
96
108
  label: option.label,
97
109
  dataTestid: import_ComboboxDataTestids.ComboboxDataTestid.OPTION,
@@ -101,13 +113,13 @@ const useItemRenderer = () => {
101
113
  isActive: option.dsId === focusOptionIdx,
102
114
  isSelected: (0, import_listHelper.isSelected)(selectedValues, option),
103
115
  tabIndex: -1
104
- });
116
+ }));
105
117
  }
106
118
  if (option.type === "creatable") {
107
- return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.SingleMenuItem, {
119
+ return /* @__PURE__ */ import_react.default.createElement(import_MenuItem.SingleMenuItem, __spreadProps(__spreadValues({
108
120
  dataTestid: import_ComboboxDataTestids.ComboboxDataTestid.OPTION,
109
- isActive: option.dsId === focusOptionIdx,
110
- ...generalProps,
121
+ isActive: option.dsId === focusOptionIdx
122
+ }, generalProps), {
111
123
  render: ({ label }) => /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
112
124
  cols: ["min-content", "auto"],
113
125
  height: "16px",
@@ -116,10 +128,10 @@ const useItemRenderer = () => {
116
128
  }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledCreatableLabel, null, "Add:"), /* @__PURE__ */ import_react.default.createElement("span", null, label)),
117
129
  label: option.label,
118
130
  onClick: (e) => handleClick(option, e)
119
- });
131
+ }));
120
132
  }
121
133
  return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null);
122
- }), [options, focusOptionIdx, selectedValues, inputRef, virtualItems]);
134
+ }), [options, focusOptionIdx, selectedValues, innerRef, virtualListHelpers?.virtualItems]);
123
135
  return ItemRenderer;
124
136
  };
125
137
  module.exports = __toCommonJS(useItemRenderer_exports);