@bigbinary/neeto-atoms 1.0.103 → 1.0.105

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 (278) hide show
  1. package/dist/{Avatar-ChF94Ken.js → Avatar-Dg5-X_dH.js} +8 -2
  2. package/dist/Avatar-Dg5-X_dH.js.map +1 -0
  3. package/dist/{Checkbox-DiAngQvO.js → Checkbox-BalUzegZ.js} +26 -7
  4. package/dist/Checkbox-BalUzegZ.js.map +1 -0
  5. package/dist/{Combobox-DriZMj4f.js → Combobox-NgubHftk.js} +2 -2
  6. package/dist/{Combobox-DriZMj4f.js.map → Combobox-NgubHftk.js.map} +1 -1
  7. package/dist/{DataTable-CwWARMEv.js → DataTable-mxDU-16D.js} +75 -55
  8. package/dist/DataTable-mxDU-16D.js.map +1 -0
  9. package/dist/{DatePicker-Uf_h3ohA.js → DatePicker-BoXx1Wve.js} +13 -4
  10. package/dist/DatePicker-BoXx1Wve.js.map +1 -0
  11. package/dist/{Dialog-D8C0-nEo.js → Dialog-Yw34WDqY.js} +2 -2
  12. package/dist/Dialog-Yw34WDqY.js.map +1 -0
  13. package/dist/{HelpIcon-CbnRiSjn.js → HelpIcon-xh488VXs.js} +11 -3
  14. package/dist/HelpIcon-xh488VXs.js.map +1 -0
  15. package/dist/{Input-CuIurquS.js → Input-W8foyOcS.js} +35 -7
  16. package/dist/Input-W8foyOcS.js.map +1 -0
  17. package/dist/{Label-DjOaTM4Q.js → Label-B-R4PNNq.js} +2 -2
  18. package/dist/{Label-DjOaTM4Q.js.map → Label-B-R4PNNq.js.map} +1 -1
  19. package/dist/{MultiEmailInput-BB334s4C.js → MultiEmailInput-Bzd2dPFC.js} +68 -25
  20. package/dist/MultiEmailInput-Bzd2dPFC.js.map +1 -0
  21. package/dist/{RadioGroup-CpgVdPzz.js → RadioGroup-CBXByAMW.js} +63 -34
  22. package/dist/RadioGroup-CBXByAMW.js.map +1 -0
  23. package/dist/{Select-YWCfd2p1.js → Select-ZWR0HFCa.js} +255 -94
  24. package/dist/Select-ZWR0HFCa.js.map +1 -0
  25. package/dist/{SelectFieldWrapper-D98IWsW5.js → SelectFieldWrapper-D370CD4o.js} +8 -1
  26. package/dist/SelectFieldWrapper-D370CD4o.js.map +1 -0
  27. package/dist/{Slider-Bokg8-oi.js → Slider-CxQdlyHZ.js} +32 -7
  28. package/dist/Slider-CxQdlyHZ.js.map +1 -0
  29. package/dist/{Stepper-DO7EBWYL.js → Stepper-GK8gDn-s.js} +2 -1
  30. package/dist/Stepper-GK8gDn-s.js.map +1 -0
  31. package/dist/{Switch-Am2l2UdV.js → Switch-C9fqpoNR.js} +16 -2
  32. package/dist/Switch-C9fqpoNR.js.map +1 -0
  33. package/dist/{Tabs-ModAabFc.js → Tabs-DaXiF_67.js} +3 -3
  34. package/dist/Tabs-DaXiF_67.js.map +1 -0
  35. package/dist/{Textarea-CMGZZ4rL.js → Textarea-CUe09-sr.js} +34 -7
  36. package/dist/Textarea-CUe09-sr.js.map +1 -0
  37. package/dist/{TimePicker-Ca7iF-a_.js → TimePicker-BixF9wdU.js} +21 -4
  38. package/dist/TimePicker-BixF9wdU.js.map +1 -0
  39. package/dist/{Toastr-Cka6pudu.js → Toastr-CXqmoXjn.js} +9 -2
  40. package/dist/Toastr-CXqmoXjn.js.map +1 -0
  41. package/dist/{TreeSelect-wYDOZ5yD.js → TreeSelect-rrTHwY42.js} +3 -2
  42. package/dist/TreeSelect-rrTHwY42.js.map +1 -0
  43. package/dist/cjs/{Avatar-DGuMcBnh.js → Avatar-D2k6WnzD.js} +8 -2
  44. package/dist/cjs/Avatar-D2k6WnzD.js.map +1 -0
  45. package/dist/cjs/{Checkbox-7lX2aMKA.js → Checkbox-83g1FDsc.js} +26 -7
  46. package/dist/cjs/Checkbox-83g1FDsc.js.map +1 -0
  47. package/dist/cjs/{Combobox-BE8LT4yq.js → Combobox-PAGcNUr6.js} +2 -2
  48. package/dist/cjs/{Combobox-BE8LT4yq.js.map → Combobox-PAGcNUr6.js.map} +1 -1
  49. package/dist/cjs/{DataTable-ChgPVrRB.js → DataTable-OtA15NKE.js} +75 -55
  50. package/dist/cjs/DataTable-OtA15NKE.js.map +1 -0
  51. package/dist/cjs/{DatePicker-Czp9QLy0.js → DatePicker-DtmJ-VkV.js} +13 -4
  52. package/dist/cjs/DatePicker-DtmJ-VkV.js.map +1 -0
  53. package/dist/cjs/{Dialog-DNv7j7ts.js → Dialog-ZUHGaoAE.js} +2 -2
  54. package/dist/cjs/Dialog-ZUHGaoAE.js.map +1 -0
  55. package/dist/cjs/{HelpIcon-QpZY6Zmc.js → HelpIcon-BF1ePUQf.js} +11 -3
  56. package/dist/cjs/HelpIcon-BF1ePUQf.js.map +1 -0
  57. package/dist/cjs/{Input-lWo0YoZ9.js → Input-DIq7T9D0.js} +35 -7
  58. package/dist/cjs/Input-DIq7T9D0.js.map +1 -0
  59. package/dist/cjs/{Label-D8RFE9hd.js → Label-CpsdGBV8.js} +2 -2
  60. package/dist/cjs/{Label-D8RFE9hd.js.map → Label-CpsdGBV8.js.map} +1 -1
  61. package/dist/cjs/{MultiEmailInput-BlIqzq-o.js → MultiEmailInput-FNRR9b74.js} +68 -25
  62. package/dist/cjs/MultiEmailInput-FNRR9b74.js.map +1 -0
  63. package/dist/cjs/{RadioGroup-DCEw94Dk.js → RadioGroup-B-u8rdbf.js} +63 -34
  64. package/dist/cjs/RadioGroup-B-u8rdbf.js.map +1 -0
  65. package/dist/cjs/{Select-Bs5Fp3wj.js → Select-VQCROyX1.js} +258 -97
  66. package/dist/cjs/Select-VQCROyX1.js.map +1 -0
  67. package/dist/cjs/{SelectFieldWrapper-BLVvwUcK.js → SelectFieldWrapper-CIh_atln.js} +8 -1
  68. package/dist/cjs/SelectFieldWrapper-CIh_atln.js.map +1 -0
  69. package/dist/cjs/{Slider-CRmd_VMs.js → Slider-DIUSlx_m.js} +32 -7
  70. package/dist/cjs/Slider-DIUSlx_m.js.map +1 -0
  71. package/dist/cjs/{Stepper-BtZG_XmC.js → Stepper-BZBdL6JW.js} +2 -1
  72. package/dist/cjs/Stepper-BZBdL6JW.js.map +1 -0
  73. package/dist/cjs/{Switch-DY7bdiEz.js → Switch-BbRK3HUZ.js} +16 -2
  74. package/dist/cjs/Switch-BbRK3HUZ.js.map +1 -0
  75. package/dist/cjs/{Tabs-CA0QAWp0.js → Tabs-BQl63Ewe.js} +3 -3
  76. package/dist/cjs/Tabs-BQl63Ewe.js.map +1 -0
  77. package/dist/cjs/{Textarea-Cw7Uea82.js → Textarea-bxleSw86.js} +34 -7
  78. package/dist/cjs/Textarea-bxleSw86.js.map +1 -0
  79. package/dist/cjs/{TimePicker-DW7OM3IE.js → TimePicker-lJ2985nh.js} +21 -4
  80. package/dist/cjs/TimePicker-lJ2985nh.js.map +1 -0
  81. package/dist/cjs/{Toastr-E0yLh_MW.js → Toastr-9DXjD-Mq.js} +9 -2
  82. package/dist/cjs/Toastr-9DXjD-Mq.js.map +1 -0
  83. package/dist/cjs/{TreeSelect-C9BSJt1d.js → TreeSelect-DDQx8FPS.js} +3 -2
  84. package/dist/cjs/TreeSelect-DDQx8FPS.js.map +1 -0
  85. package/dist/cjs/components/Avatar.js +1 -1
  86. package/dist/cjs/components/Checkbox.js +4 -2
  87. package/dist/cjs/components/Checkbox.js.map +1 -1
  88. package/dist/cjs/components/DataTable.js +2 -1
  89. package/dist/cjs/components/DataTable.js.map +1 -1
  90. package/dist/cjs/components/DatePicker.js +4 -2
  91. package/dist/cjs/components/DatePicker.js.map +1 -1
  92. package/dist/cjs/components/Dialog.js +1 -1
  93. package/dist/cjs/components/DropdownMenu.js +3 -1
  94. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  95. package/dist/cjs/components/Input.js +4 -2
  96. package/dist/cjs/components/Input.js.map +1 -1
  97. package/dist/cjs/components/Label.js +2 -2
  98. package/dist/cjs/components/MultiEmailInput.js +4 -2
  99. package/dist/cjs/components/MultiEmailInput.js.map +1 -1
  100. package/dist/cjs/components/RadioGroup.js +4 -2
  101. package/dist/cjs/components/RadioGroup.js.map +1 -1
  102. package/dist/cjs/components/Select.js +7 -6
  103. package/dist/cjs/components/Select.js.map +1 -1
  104. package/dist/cjs/components/Slider.js +4 -2
  105. package/dist/cjs/components/Slider.js.map +1 -1
  106. package/dist/cjs/components/Stepper.js +1 -1
  107. package/dist/cjs/components/Switch.js +4 -2
  108. package/dist/cjs/components/Switch.js.map +1 -1
  109. package/dist/cjs/components/Tabs.js +2 -2
  110. package/dist/cjs/components/Textarea.js +4 -2
  111. package/dist/cjs/components/Textarea.js.map +1 -1
  112. package/dist/cjs/components/TimePicker.js +4 -2
  113. package/dist/cjs/components/TimePicker.js.map +1 -1
  114. package/dist/cjs/components/Toastr.js +1 -1
  115. package/dist/cjs/components/TreeSelect.js +3 -3
  116. package/dist/cjs/components/index.js +23 -22
  117. package/dist/cjs/components/index.js.map +1 -1
  118. package/dist/cjs/fieldIds-DiVU6GVS.js +14 -0
  119. package/dist/cjs/fieldIds-DiVU6GVS.js.map +1 -0
  120. package/dist/cjs/formik/BlockNavigation.js +1 -1
  121. package/dist/cjs/formik/Checkbox.js +4 -2
  122. package/dist/cjs/formik/Checkbox.js.map +1 -1
  123. package/dist/cjs/formik/Input.js +4 -2
  124. package/dist/cjs/formik/Input.js.map +1 -1
  125. package/dist/cjs/formik/MultiEmailInput.js +4 -2
  126. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  127. package/dist/cjs/formik/RadioGroup.js +4 -2
  128. package/dist/cjs/formik/RadioGroup.js.map +1 -1
  129. package/dist/cjs/formik/Select.js +7 -6
  130. package/dist/cjs/formik/Select.js.map +1 -1
  131. package/dist/cjs/formik/Slider.js +4 -2
  132. package/dist/cjs/formik/Slider.js.map +1 -1
  133. package/dist/cjs/formik/Switch.js +4 -2
  134. package/dist/cjs/formik/Switch.js.map +1 -1
  135. package/dist/cjs/formik/Textarea.js +4 -2
  136. package/dist/cjs/formik/Textarea.js.map +1 -1
  137. package/dist/cjs/formik/TreeSelect.js +3 -3
  138. package/dist/cjs/formik/index.js +16 -15
  139. package/dist/cjs/formik/index.js.map +1 -1
  140. package/dist/cjs/hyphenize-BTrVNVv3.js +13 -0
  141. package/dist/cjs/hyphenize-BTrVNVv3.js.map +1 -0
  142. package/dist/cjs/index.js +23 -22
  143. package/dist/cjs/index.js.map +1 -1
  144. package/dist/cjs/primitives/AlertDialog.js +6 -38
  145. package/dist/cjs/primitives/AlertDialog.js.map +1 -1
  146. package/dist/cjs/primitives/Combobox.js +2 -2
  147. package/dist/cjs/primitives/Field.js +1 -1
  148. package/dist/cjs/primitives/index.js +2 -2
  149. package/dist/components/Avatar.js +1 -1
  150. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  151. package/dist/components/Checkbox.js +4 -2
  152. package/dist/components/Checkbox.js.map +1 -1
  153. package/dist/components/DataTable.js +2 -1
  154. package/dist/components/DataTable.js.map +1 -1
  155. package/dist/components/DatePicker/DatePickerField.d.ts +1 -0
  156. package/dist/components/DatePicker/DatePickerTrigger.d.ts +1 -0
  157. package/dist/components/DatePicker/types.d.ts +2 -0
  158. package/dist/components/DatePicker.js +4 -2
  159. package/dist/components/DatePicker.js.map +1 -1
  160. package/dist/components/Dialog.js +1 -1
  161. package/dist/components/DropdownMenu.js +3 -1
  162. package/dist/components/DropdownMenu.js.map +1 -1
  163. package/dist/components/Input/Input.d.ts +2 -0
  164. package/dist/components/Input.js +4 -2
  165. package/dist/components/Input.js.map +1 -1
  166. package/dist/components/Label.js +2 -2
  167. package/dist/components/MultiEmailInput/types.d.ts +2 -0
  168. package/dist/components/MultiEmailInput.js +4 -2
  169. package/dist/components/MultiEmailInput.js.map +1 -1
  170. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -0
  171. package/dist/components/RadioGroup.js +4 -2
  172. package/dist/components/RadioGroup.js.map +1 -1
  173. package/dist/components/Select/MultiSelectCombobox.types.d.ts +6 -0
  174. package/dist/components/Select/SelectAnchor.d.ts +19 -1
  175. package/dist/components/Select/SelectCombobox.types.d.ts +12 -2
  176. package/dist/components/Select/SelectFieldWrapper.d.ts +7 -1
  177. package/dist/components/Select/constants.d.ts +1 -0
  178. package/dist/components/Select/hooks/useCreatableItems.d.ts +3 -1
  179. package/dist/components/Select/hooks/useMultiSelectState.d.ts +8 -2
  180. package/dist/components/Select/hooks/useSelectState.d.ts +8 -2
  181. package/dist/components/Select/types.d.ts +23 -0
  182. package/dist/components/Select/utils.d.ts +13 -0
  183. package/dist/components/Select.js +7 -6
  184. package/dist/components/Select.js.map +1 -1
  185. package/dist/components/Slider/Slider.d.ts +2 -0
  186. package/dist/components/Slider.js +4 -2
  187. package/dist/components/Slider.js.map +1 -1
  188. package/dist/components/Stepper.js +1 -1
  189. package/dist/components/Switch/Switch.d.ts +2 -0
  190. package/dist/components/Switch.js +4 -2
  191. package/dist/components/Switch.js.map +1 -1
  192. package/dist/components/Tabs.js +2 -2
  193. package/dist/components/Textarea/Textarea.d.ts +2 -0
  194. package/dist/components/Textarea.js +4 -2
  195. package/dist/components/Textarea.js.map +1 -1
  196. package/dist/components/TimePicker/types.d.ts +2 -0
  197. package/dist/components/TimePicker.js +4 -2
  198. package/dist/components/TimePicker.js.map +1 -1
  199. package/dist/components/Toastr.js +1 -1
  200. package/dist/components/TreeSelect.js +3 -3
  201. package/dist/components/index.js +23 -22
  202. package/dist/components/index.js.map +1 -1
  203. package/dist/fieldIds-VpluAAMl.js +11 -0
  204. package/dist/fieldIds-VpluAAMl.js.map +1 -0
  205. package/dist/formik/BlockNavigation.js +1 -1
  206. package/dist/formik/Checkbox.js +4 -2
  207. package/dist/formik/Checkbox.js.map +1 -1
  208. package/dist/formik/Input.js +4 -2
  209. package/dist/formik/Input.js.map +1 -1
  210. package/dist/formik/MultiEmailInput.js +4 -2
  211. package/dist/formik/MultiEmailInput.js.map +1 -1
  212. package/dist/formik/RadioGroup.js +4 -2
  213. package/dist/formik/RadioGroup.js.map +1 -1
  214. package/dist/formik/Select.js +7 -6
  215. package/dist/formik/Select.js.map +1 -1
  216. package/dist/formik/Slider.js +4 -2
  217. package/dist/formik/Slider.js.map +1 -1
  218. package/dist/formik/Switch.js +4 -2
  219. package/dist/formik/Switch.js.map +1 -1
  220. package/dist/formik/Textarea.js +4 -2
  221. package/dist/formik/Textarea.js.map +1 -1
  222. package/dist/formik/TreeSelect.js +3 -3
  223. package/dist/formik/index.js +16 -15
  224. package/dist/formik/index.js.map +1 -1
  225. package/dist/hyphenize-TRhMI0tl.js +11 -0
  226. package/dist/hyphenize-TRhMI0tl.js.map +1 -0
  227. package/dist/index.js +23 -22
  228. package/dist/index.js.map +1 -1
  229. package/dist/primitives/AlertDialog.js +6 -38
  230. package/dist/primitives/AlertDialog.js.map +1 -1
  231. package/dist/primitives/Combobox.js +2 -2
  232. package/dist/primitives/Field.js +1 -1
  233. package/dist/primitives/index.js +2 -2
  234. package/dist/utils/fieldIds.d.ts +1 -1
  235. package/dist/utils/hyphenize.d.ts +1 -1
  236. package/package.json +1 -1
  237. package/dist/Avatar-ChF94Ken.js.map +0 -1
  238. package/dist/Checkbox-DiAngQvO.js.map +0 -1
  239. package/dist/DataTable-CwWARMEv.js.map +0 -1
  240. package/dist/DatePicker-Uf_h3ohA.js.map +0 -1
  241. package/dist/Dialog-D8C0-nEo.js.map +0 -1
  242. package/dist/HelpIcon-CbnRiSjn.js.map +0 -1
  243. package/dist/Input-CuIurquS.js.map +0 -1
  244. package/dist/MultiEmailInput-BB334s4C.js.map +0 -1
  245. package/dist/RadioGroup-CpgVdPzz.js.map +0 -1
  246. package/dist/Select-YWCfd2p1.js.map +0 -1
  247. package/dist/SelectFieldWrapper-D98IWsW5.js.map +0 -1
  248. package/dist/Slider-Bokg8-oi.js.map +0 -1
  249. package/dist/Stepper-DO7EBWYL.js.map +0 -1
  250. package/dist/Switch-Am2l2UdV.js.map +0 -1
  251. package/dist/Tabs-ModAabFc.js.map +0 -1
  252. package/dist/Textarea-CMGZZ4rL.js.map +0 -1
  253. package/dist/TimePicker-Ca7iF-a_.js.map +0 -1
  254. package/dist/Toastr-Cka6pudu.js.map +0 -1
  255. package/dist/TreeSelect-wYDOZ5yD.js.map +0 -1
  256. package/dist/cjs/Avatar-DGuMcBnh.js.map +0 -1
  257. package/dist/cjs/Checkbox-7lX2aMKA.js.map +0 -1
  258. package/dist/cjs/DataTable-ChgPVrRB.js.map +0 -1
  259. package/dist/cjs/DatePicker-Czp9QLy0.js.map +0 -1
  260. package/dist/cjs/Dialog-DNv7j7ts.js.map +0 -1
  261. package/dist/cjs/HelpIcon-QpZY6Zmc.js.map +0 -1
  262. package/dist/cjs/Input-lWo0YoZ9.js.map +0 -1
  263. package/dist/cjs/MultiEmailInput-BlIqzq-o.js.map +0 -1
  264. package/dist/cjs/RadioGroup-DCEw94Dk.js.map +0 -1
  265. package/dist/cjs/Select-Bs5Fp3wj.js.map +0 -1
  266. package/dist/cjs/SelectFieldWrapper-BLVvwUcK.js.map +0 -1
  267. package/dist/cjs/Slider-CRmd_VMs.js.map +0 -1
  268. package/dist/cjs/Stepper-BtZG_XmC.js.map +0 -1
  269. package/dist/cjs/Switch-DY7bdiEz.js.map +0 -1
  270. package/dist/cjs/Tabs-CA0QAWp0.js.map +0 -1
  271. package/dist/cjs/Textarea-Cw7Uea82.js.map +0 -1
  272. package/dist/cjs/TimePicker-DW7OM3IE.js.map +0 -1
  273. package/dist/cjs/Toastr-E0yLh_MW.js.map +0 -1
  274. package/dist/cjs/TreeSelect-C9BSJt1d.js.map +0 -1
  275. package/dist/cjs/hyphenize-B8IGPzjp.js +0 -8
  276. package/dist/cjs/hyphenize-B8IGPzjp.js.map +0 -1
  277. package/dist/hyphenize-BU4K8zjb.js +0 -6
  278. package/dist/hyphenize-BU4K8zjb.js.map +0 -1
@@ -2,10 +2,10 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var React = require('react');
5
- var hyphenize = require('./hyphenize-B8IGPzjp.js');
6
- var SelectFieldWrapper = require('./SelectFieldWrapper-BLVvwUcK.js');
5
+ var fieldIds = require('./fieldIds-DiVU6GVS.js');
6
+ var SelectFieldWrapper = require('./SelectFieldWrapper-CIh_atln.js');
7
7
  var utils = require('./utils-BhM0B89p.js');
8
- var primitives_Combobox = require('./Combobox-BE8LT4yq.js');
8
+ var primitives_Combobox = require('./Combobox-PAGcNUr6.js');
9
9
  var primitives_Spinner = require('./primitives/Spinner.js');
10
10
  var x = require('./x-Brw3FJst.js');
11
11
  var chevronDown = require('./chevron-down-CPsWSS51.js');
@@ -14,13 +14,6 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
15
15
  var React__default = /*#__PURE__*/_interopDefault(React);
16
16
 
17
- function buildAriaDescribedBy(error, errorId, helpText, helpTextId) {
18
- return [error ? errorId : null, helpText ? helpTextId : null].filter(Boolean).join(" ") || void 0;
19
- }
20
- function buildTestIdPrefix(dataTestId, label) {
21
- return dataTestId ?? (label ? hyphenize.hyphenize(label) : void 0);
22
- }
23
-
24
17
  function useAsyncOptions({
25
18
  loadOptions,
26
19
  defaultOptions = false,
@@ -117,6 +110,28 @@ function useLazyLoadSentinel({
117
110
  return sentinelRef;
118
111
  }
119
112
 
113
+ const INPUT_CHANGE_REASON = "input-change";
114
+ const SIZE_CONFIG = {
115
+ small: {
116
+ chips: "min-h-8 md:min-h-7 text-base md:text-xs gap-0.5 px-1 py-0.5",
117
+ input: "text-base md:text-xs",
118
+ chip: "h-4.5 text-[0.6875rem] px-1",
119
+ icon: "size-3.5"
120
+ },
121
+ medium: {
122
+ chips: "min-h-8 text-base md:text-sm gap-1 px-2.5 py-1",
123
+ input: "text-base md:text-sm",
124
+ chip: "h-5.25 text-xs px-1.5",
125
+ icon: "size-4"
126
+ },
127
+ large: {
128
+ chips: "min-h-10 text-base md:text-sm gap-1 px-2.5 py-1.5",
129
+ input: "text-base md:text-sm",
130
+ chip: "h-6 text-xs px-2",
131
+ icon: "size-5"
132
+ }
133
+ };
134
+
120
135
  const CREATE_PREFIX = "__create__:";
121
136
  const isCreateValue = (val) => typeof val === "string" && val.startsWith(CREATE_PREFIX);
122
137
  function useCreatableItems({
@@ -132,9 +147,11 @@ function useCreatableItems({
132
147
  }) {
133
148
  const [inputValue, setInputValue] = React.useState("");
134
149
  const handleInputValueChange = React.useCallback(
135
- (value) => {
136
- setInputValue(value);
137
- onAsyncInputChange?.(value);
150
+ (value, details) => {
151
+ const isTyping = details?.reason === INPUT_CHANGE_REASON;
152
+ const nextValue = isTyping ? value : "";
153
+ setInputValue(nextValue);
154
+ if (isTyping) onAsyncInputChange?.(nextValue);
138
155
  },
139
156
  [onAsyncInputChange]
140
157
  );
@@ -193,6 +210,13 @@ function isOptionGroup(opt) {
193
210
  return "options" in opt && Array.isArray(opt.options);
194
211
  }
195
212
 
213
+ function assignRef(ref, element) {
214
+ if (typeof ref === "function") {
215
+ ref(element);
216
+ } else if (ref) {
217
+ ref.current = element;
218
+ }
219
+ }
196
220
  function normalizeOption(option, getValue, getLabel) {
197
221
  if (!getValue && !getLabel) return option;
198
222
  return {
@@ -228,6 +252,16 @@ function toBaseUiItems(options) {
228
252
  }
229
253
  return options.map((o) => o.value);
230
254
  }
255
+ function resolveIsSearchable({
256
+ isSearchable,
257
+ searchThreshold,
258
+ optionCount,
259
+ isCountKnown
260
+ }) {
261
+ if (!isSearchable) return false;
262
+ if (searchThreshold === void 0 || !isCountKnown) return true;
263
+ return optionCount >= searchThreshold;
264
+ }
231
265
  function computeEffectiveItems(children, baseUiItems, showCreateOption, isGrouped, trimmedInput) {
232
266
  if (children) return void 0;
233
267
  const createValue = showCreateOption ? `${CREATE_PREFIX}${trimmedInput}` : null;
@@ -275,27 +309,6 @@ function useMultiSelectOptions(props) {
275
309
  };
276
310
  }
277
311
 
278
- const SIZE_CONFIG = {
279
- small: {
280
- chips: "min-h-8 md:min-h-7 text-base md:text-xs gap-0.5 px-1 py-0.5",
281
- input: "text-base md:text-xs",
282
- chip: "h-4.5 text-[0.6875rem] px-1",
283
- icon: "size-3.5"
284
- },
285
- medium: {
286
- chips: "min-h-8 text-base md:text-sm gap-1 px-2.5 py-1",
287
- input: "text-base md:text-sm",
288
- chip: "h-5.25 text-xs px-1.5",
289
- icon: "size-4"
290
- },
291
- large: {
292
- chips: "min-h-10 text-base md:text-sm gap-1 px-2.5 py-1.5",
293
- input: "text-base md:text-sm",
294
- chip: "h-6 text-xs px-2",
295
- icon: "size-5"
296
- }
297
- };
298
-
299
312
  const defaultFormatCreateLabel$1 = (v) => `Create "${v}"`;
300
313
  function useSelectState(props) {
301
314
  const {
@@ -316,7 +329,11 @@ function useSelectState(props) {
316
329
  isClearable = false,
317
330
  isDisabled = false,
318
331
  required = false,
319
- isSearchable = true,
332
+ isSearchable: isSearchableProp = true,
333
+ searchPosition = "trigger",
334
+ searchPlaceholder = "Search...",
335
+ searchThreshold,
336
+ isAsyncLoadOptionEnabled = false,
320
337
  autoHighlight = true,
321
338
  onOpenChange,
322
339
  children
@@ -326,6 +343,7 @@ function useSelectState(props) {
326
343
  const id = idProp ?? generatedId;
327
344
  const errorId = `error_${id}`;
328
345
  const helpTextId = `helpText_${id}`;
346
+ const labelId = `label_${id}`;
329
347
  const sizeConfig = SIZE_CONFIG[size];
330
348
  const isControlled = valueProp !== void 0;
331
349
  const [internalValue, setInternalValue] = React.useState(
@@ -355,9 +373,11 @@ function useSelectState(props) {
355
373
  const [inputValue, setInputValueState] = React.useState("");
356
374
  const trimmedInput = inputValue.trim();
357
375
  const combinedHandleInputValueChange = React.useCallback(
358
- (value) => {
359
- setInputValueState(value);
360
- if (opt.isAsync) opt.handleAsyncInputChange(value);
376
+ (value, details) => {
377
+ const isTyping = details?.reason === INPUT_CHANGE_REASON;
378
+ const nextValue = isTyping ? value : "";
379
+ setInputValueState(nextValue);
380
+ if (isTyping && opt.isAsync) opt.handleAsyncInputChange(nextValue);
361
381
  },
362
382
  [opt.isAsync, opt.handleAsyncInputChange]
363
383
  );
@@ -399,14 +419,20 @@ function useSelectState(props) {
399
419
  },
400
420
  []
401
421
  );
402
- const ariaDescribedBy = buildAriaDescribedBy(
422
+ const ariaDescribedBy = fieldIds.buildAriaDescribedBy(
403
423
  error,
404
424
  errorId,
405
425
  helpText,
406
426
  helpTextId
407
427
  );
408
- const testIdPrefix = buildTestIdPrefix(dataTestId, label);
428
+ const testIdPrefix = fieldIds.buildTestIdPrefix(dataTestId, label);
409
429
  const showClearButton = isClearable && !!currentValue && !isDisabled;
430
+ const isSearchable = resolveIsSearchable({
431
+ isSearchable: isSearchableProp,
432
+ searchThreshold,
433
+ optionCount: opt.flatOptions.length,
434
+ isCountKnown: !opt.isAsync && !isCreatable && !isAsyncLoadOptionEnabled
435
+ });
410
436
  const flatOptionsMap = React.useMemo(
411
437
  () => new Map(opt.flatOptions.map((o) => [o.value, o])),
412
438
  [opt.flatOptions]
@@ -445,6 +471,7 @@ function useSelectState(props) {
445
471
  id,
446
472
  errorId,
447
473
  helpTextId,
474
+ labelId,
448
475
  sizeConfig,
449
476
  isControlled,
450
477
  currentValue,
@@ -467,6 +494,9 @@ function useSelectState(props) {
467
494
  isDisabled,
468
495
  required,
469
496
  isSearchable,
497
+ searchPosition,
498
+ searchPlaceholder,
499
+ inputValue,
470
500
  autoHighlight,
471
501
  onOpenChange,
472
502
  isClearable
@@ -489,6 +519,11 @@ function useMultiSelectState(props) {
489
519
  onCreateOption,
490
520
  formatCreateLabel = defaultFormatCreateLabel,
491
521
  formatOptionLabel,
522
+ isSearchable: isSearchableProp = true,
523
+ searchPosition = "trigger",
524
+ searchPlaceholder = "Search...",
525
+ searchThreshold,
526
+ isAsyncLoadOptionEnabled = false,
492
527
  children
493
528
  } = props;
494
529
  const opt = useMultiSelectOptions(props);
@@ -496,7 +531,14 @@ function useMultiSelectState(props) {
496
531
  const id = idProp ?? generatedId;
497
532
  const errorId = `error_${id}`;
498
533
  const helpTextId = `helpText_${id}`;
534
+ const labelId = `label_${id}`;
499
535
  const sizeConfig = SIZE_CONFIG[size];
536
+ const isSearchable = resolveIsSearchable({
537
+ isSearchable: isSearchableProp,
538
+ searchThreshold,
539
+ optionCount: opt.flatOptions.length,
540
+ isCountKnown: !opt.isAsync && !isCreatable && !isAsyncLoadOptionEnabled
541
+ });
500
542
  const isControlled = valueProp !== void 0;
501
543
  const [internalValue, setInternalValue] = React.useState(
502
544
  defaultValue ?? []
@@ -526,13 +568,13 @@ function useMultiSelectState(props) {
526
568
  onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : void 0,
527
569
  children
528
570
  });
529
- const ariaDescribedBy = buildAriaDescribedBy(
571
+ const ariaDescribedBy = fieldIds.buildAriaDescribedBy(
530
572
  error,
531
573
  errorId,
532
574
  helpText,
533
575
  helpTextId
534
576
  );
535
- const testIdPrefix = buildTestIdPrefix(dataTestId, label);
577
+ const testIdPrefix = fieldIds.buildTestIdPrefix(dataTestId, label);
536
578
  const flatOptionsMap = React.useMemo(
537
579
  () => new Map(opt.flatOptions.map((o) => [o.value, o])),
538
580
  [opt.flatOptions]
@@ -561,9 +603,13 @@ function useMultiSelectState(props) {
561
603
  id,
562
604
  errorId,
563
605
  helpTextId,
606
+ labelId,
564
607
  sizeConfig,
565
608
  isControlled,
566
609
  selectedValues,
610
+ isSearchable,
611
+ searchPosition,
612
+ searchPlaceholder,
567
613
  effectiveItems,
568
614
  creatableFilter,
569
615
  handleInputValueChange,
@@ -655,7 +701,7 @@ function MultiSelectDropdown({
655
701
  {
656
702
  ref: loaderCallbackRef,
657
703
  className: "flex w-full items-center justify-center py-3",
658
- "data-testid": testIdPrefix ? `${testIdPrefix}-lazy-loader` : "lazy-loader",
704
+ "data-testid": `${testIdPrefix}-lazy-loader`,
659
705
  children: /* @__PURE__ */ jsxRuntime.jsx(primitives_Spinner.Spinner, {})
660
706
  }
661
707
  )
@@ -664,9 +710,12 @@ function MultiSelectDropdown({
664
710
  );
665
711
  }
666
712
 
713
+ const omitUndefined = (props) => Object.fromEntries(
714
+ Object.entries(props).filter(([, value]) => value !== void 0)
715
+ );
667
716
  const SelectAnchor = React.forwardRef(
668
- ({ isSearchable, className, dataTestId, children }, ref) => {
669
- if (isSearchable) {
717
+ ({ renderAsTrigger, className, dataTestId, triggerFieldProps, children }, ref) => {
718
+ if (!renderAsTrigger) {
670
719
  return /* @__PURE__ */ jsxRuntime.jsx(
671
720
  "div",
672
721
  {
@@ -677,15 +726,21 @@ const SelectAnchor = React.forwardRef(
677
726
  }
678
727
  );
679
728
  }
729
+ const { id, ...ariaProps } = triggerFieldProps ?? {};
680
730
  return /* @__PURE__ */ jsxRuntime.jsx(
681
731
  primitives_Combobox.ComboboxTrigger$1,
682
732
  {
683
733
  nativeButton: false,
684
- render: (props) => /* @__PURE__ */ jsxRuntime.jsx(
734
+ ...id ? { id } : {},
735
+ render: ({ ref: baseUiRef, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
685
736
  "div",
686
737
  {
687
738
  ...props,
688
- ref,
739
+ ...omitUndefined(ariaProps),
740
+ ref: (element) => {
741
+ assignRef(baseUiRef, element);
742
+ assignRef(ref, element);
743
+ },
689
744
  className,
690
745
  ...dataTestId ? { "data-testid": dataTestId } : {}
691
746
  }
@@ -701,11 +756,15 @@ const SelectCombobox = React.forwardRef(
701
756
  ({
702
757
  name,
703
758
  id,
759
+ labelId,
704
760
  effectiveItems,
705
761
  labelForValue,
706
762
  renderOption,
707
763
  renderTrigger,
708
764
  isSearchable,
765
+ searchPosition,
766
+ searchPlaceholder,
767
+ inputValue,
709
768
  isAsync,
710
769
  isCreatable,
711
770
  creatableFilter,
@@ -729,6 +788,20 @@ const SelectCombobox = React.forwardRef(
729
788
  children
730
789
  }, ref) => {
731
790
  const [anchorEl, setAnchorEl] = React.useState(null);
791
+ const isContentSearch = isSearchable && searchPosition === "content";
792
+ const renderTriggerInput = searchPosition !== "content";
793
+ const isTriggerSearch = isSearchable && renderTriggerInput;
794
+ const useTriggerAnchor = !isTriggerSearch;
795
+ const showValue = !!currentValue && (!isTriggerSearch || inputValue === "");
796
+ const showPlaceholder = !currentValue && !isTriggerSearch;
797
+ const setTriggerEl = React.useCallback(
798
+ (element) => {
799
+ setAnchorEl(element);
800
+ if (renderTriggerInput) return;
801
+ assignRef(ref, element);
802
+ },
803
+ [ref, renderTriggerInput]
804
+ );
732
805
  const handleClearClick = React.useCallback(
733
806
  (event) => {
734
807
  event.stopPropagation();
@@ -750,7 +823,8 @@ const SelectCombobox = React.forwardRef(
750
823
  } : {},
751
824
  value: currentValue,
752
825
  onValueChange: handleValueChange,
753
- ...isCreatable || isAsync ? { onInputValueChange: handleInputValueChange } : {},
826
+ inputValue,
827
+ onInputValueChange: handleInputValueChange,
754
828
  onOpenChange,
755
829
  disabled: isDisabled,
756
830
  autoHighlight,
@@ -758,10 +832,17 @@ const SelectCombobox = React.forwardRef(
758
832
  /* @__PURE__ */ jsxRuntime.jsx(
759
833
  SelectAnchor,
760
834
  {
761
- ref: setAnchorEl,
762
- isSearchable,
835
+ ref: setTriggerEl,
763
836
  dataTestId: testIdPrefix,
764
- className: !isSearchable ? "cursor-pointer" : void 0,
837
+ renderAsTrigger: useTriggerAnchor,
838
+ className: useTriggerAnchor ? "cursor-pointer" : void 0,
839
+ triggerFieldProps: renderTriggerInput ? void 0 : {
840
+ id,
841
+ "aria-labelledby": labelId,
842
+ "aria-describedby": ariaDescribedBy,
843
+ "aria-required": required || void 0,
844
+ "aria-invalid": !!error || void 0
845
+ },
765
846
  children: /* @__PURE__ */ jsxRuntime.jsxs(
766
847
  primitives_Combobox.ComboboxChips,
767
848
  {
@@ -772,24 +853,28 @@ const SelectCombobox = React.forwardRef(
772
853
  ),
773
854
  ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-container` } : {},
774
855
  children: [
775
- !isSearchable && (currentValue ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children: renderTrigger(currentValue) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate text-muted-foreground", children: placeholder })),
776
- /* @__PURE__ */ jsxRuntime.jsx(
777
- primitives_Combobox.ComboboxChipsInput,
778
- {
779
- ref,
780
- id,
781
- placeholder: isSearchable && !currentValue ? placeholder : void 0,
782
- "aria-invalid": !!error || void 0,
783
- "aria-describedby": ariaDescribedBy,
784
- "aria-required": required || void 0,
785
- className: utils.cn(
786
- sizeConfig.input,
787
- !isSearchable && "w-0 min-w-0 overflow-hidden p-0 opacity-0"
788
- ),
789
- disabled: isDisabled,
790
- ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-input` } : {}
791
- }
792
- ),
856
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid min-w-0 flex-1 items-center [&>*]:col-start-1 [&>*]:row-start-1", children: [
857
+ showValue && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: renderTrigger(currentValue) }),
858
+ showPlaceholder && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-muted-foreground", children: placeholder }),
859
+ renderTriggerInput && /* @__PURE__ */ jsxRuntime.jsx(
860
+ primitives_Combobox.ComboboxChipsInput,
861
+ {
862
+ ref,
863
+ id,
864
+ placeholder: isTriggerSearch && !currentValue ? placeholder : void 0,
865
+ "aria-invalid": !!error || void 0,
866
+ "aria-describedby": ariaDescribedBy,
867
+ "aria-required": required || void 0,
868
+ className: utils.cn(
869
+ sizeConfig.input,
870
+ "w-full min-w-0",
871
+ !isSearchable && "w-0 overflow-hidden p-0 opacity-0"
872
+ ),
873
+ disabled: isDisabled,
874
+ ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-input` } : {}
875
+ }
876
+ )
877
+ ] }),
793
878
  showClearButton && /* @__PURE__ */ jsxRuntime.jsx(
794
879
  "button",
795
880
  {
@@ -801,7 +886,7 @@ const SelectCombobox = React.forwardRef(
801
886
  children: /* @__PURE__ */ jsxRuntime.jsx(x.X, { className: sizeConfig.icon })
802
887
  }
803
888
  ),
804
- isSearchable ? /* @__PURE__ */ jsxRuntime.jsx(
889
+ isTriggerSearch ? /* @__PURE__ */ jsxRuntime.jsx(
805
890
  primitives_Combobox.ComboboxTrigger,
806
891
  {
807
892
  className: utils.cn(
@@ -824,15 +909,26 @@ const SelectCombobox = React.forwardRef(
824
909
  )
825
910
  }
826
911
  ),
827
- /* @__PURE__ */ jsxRuntime.jsx(primitives_Combobox.ComboboxContent, { anchor: anchorEl, ...contentProps, children: /* @__PURE__ */ jsxRuntime.jsx(
828
- MultiSelectDropdown,
829
- {
830
- ...dropdownProps,
831
- renderOption,
832
- testIdPrefix,
833
- children
834
- }
835
- ) })
912
+ /* @__PURE__ */ jsxRuntime.jsxs(primitives_Combobox.ComboboxContent, { anchor: anchorEl, ...contentProps, children: [
913
+ isContentSearch && /* @__PURE__ */ jsxRuntime.jsx(
914
+ primitives_Combobox.ComboboxInput,
915
+ {
916
+ showTrigger: false,
917
+ placeholder: searchPlaceholder,
918
+ ...labelId ? { "aria-labelledby": labelId } : { "aria-label": searchPlaceholder },
919
+ ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-input` } : {}
920
+ }
921
+ ),
922
+ /* @__PURE__ */ jsxRuntime.jsx(
923
+ MultiSelectDropdown,
924
+ {
925
+ ...dropdownProps,
926
+ renderOption,
927
+ testIdPrefix,
928
+ children
929
+ }
930
+ )
931
+ ] })
836
932
  ]
837
933
  }
838
934
  )
@@ -845,10 +941,13 @@ const MultiSelectCombobox = React.forwardRef(
845
941
  ({
846
942
  name,
847
943
  id,
944
+ labelId,
848
945
  effectiveItems,
849
946
  labelForValue,
850
947
  renderOption,
851
948
  isSearchable,
949
+ searchPosition,
950
+ searchPlaceholder,
852
951
  isAsync,
853
952
  isCreatable,
854
953
  creatableFilter,
@@ -875,6 +974,18 @@ const MultiSelectCombobox = React.forwardRef(
875
974
  children
876
975
  }, ref) => {
877
976
  const [anchorEl, setAnchorEl] = React.useState(null);
977
+ const isContentSearch = isSearchable && searchPosition === "content";
978
+ const renderTriggerInput = searchPosition !== "content";
979
+ const isTriggerSearch = isSearchable && renderTriggerInput;
980
+ const useTriggerAnchor = !isTriggerSearch;
981
+ const setTriggerEl = React.useCallback(
982
+ (element) => {
983
+ setAnchorEl(element);
984
+ if (renderTriggerInput) return;
985
+ assignRef(ref, element);
986
+ },
987
+ [ref, renderTriggerInput]
988
+ );
878
989
  return (
879
990
  // @ts-expect-error — conditional spread creates a union that TS cannot narrow to the Combobox discriminated-union props
880
991
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -897,9 +1008,16 @@ const MultiSelectCombobox = React.forwardRef(
897
1008
  /* @__PURE__ */ jsxRuntime.jsx(
898
1009
  SelectAnchor,
899
1010
  {
900
- ref: setAnchorEl,
901
- isSearchable,
902
- className: !isSearchable ? "cursor-pointer" : void 0,
1011
+ ref: setTriggerEl,
1012
+ renderAsTrigger: useTriggerAnchor,
1013
+ className: useTriggerAnchor ? "cursor-pointer" : void 0,
1014
+ triggerFieldProps: renderTriggerInput ? void 0 : {
1015
+ id,
1016
+ "aria-labelledby": labelId,
1017
+ "aria-describedby": ariaDescribedBy,
1018
+ "aria-required": required || void 0,
1019
+ "aria-invalid": !!error || void 0
1020
+ },
903
1021
  children: /* @__PURE__ */ jsxRuntime.jsxs(
904
1022
  primitives_Combobox.ComboboxChips,
905
1023
  {
@@ -911,22 +1029,23 @@ const MultiSelectCombobox = React.forwardRef(
911
1029
  ),
912
1030
  ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-container` } : {},
913
1031
  children: [
914
- selectedValues.map((val) => /* @__PURE__ */ jsxRuntime.jsx(
1032
+ selectedValues.map((val, index) => /* @__PURE__ */ jsxRuntime.jsx(
915
1033
  primitives_Combobox.ComboboxChip,
916
1034
  {
917
1035
  className: sizeConfig.chip,
918
1036
  showRemove: !hideChipRemove,
1037
+ ...renderTriggerInput || isDisabled ? {} : { tabIndex: index === 0 ? 0 : -1 },
919
1038
  ...testIdPrefix ? { "data-testid": `${testIdPrefix}-chip` } : {},
920
1039
  children: renderOption(val)
921
1040
  },
922
1041
  val
923
1042
  )),
924
- /* @__PURE__ */ jsxRuntime.jsx(
1043
+ renderTriggerInput ? /* @__PURE__ */ jsxRuntime.jsx(
925
1044
  primitives_Combobox.ComboboxChipsInput,
926
1045
  {
927
1046
  ref,
928
1047
  id,
929
- placeholder: isSearchable && selectedValues.length === 0 ? placeholder : void 0,
1048
+ placeholder: isTriggerSearch && selectedValues.length === 0 ? placeholder : void 0,
930
1049
  "aria-invalid": !!error || void 0,
931
1050
  "aria-describedby": ariaDescribedBy,
932
1051
  "aria-required": required || void 0,
@@ -937,21 +1056,44 @@ const MultiSelectCombobox = React.forwardRef(
937
1056
  disabled: isDisabled,
938
1057
  ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-input` } : {}
939
1058
  }
940
- )
1059
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1060
+ selectedValues.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-muted-foreground", children: placeholder }),
1061
+ /* @__PURE__ */ jsxRuntime.jsx(
1062
+ chevronDown.ChevronDown,
1063
+ {
1064
+ "aria-hidden": true,
1065
+ className: utils.cn(
1066
+ "pointer-events-none ms-auto shrink-0 text-muted-foreground",
1067
+ sizeConfig.icon
1068
+ )
1069
+ }
1070
+ )
1071
+ ] })
941
1072
  ]
942
1073
  }
943
1074
  )
944
1075
  }
945
1076
  ),
946
- /* @__PURE__ */ jsxRuntime.jsx(primitives_Combobox.ComboboxContent, { anchor: anchorEl, ...contentProps, children: /* @__PURE__ */ jsxRuntime.jsx(
947
- MultiSelectDropdown,
948
- {
949
- ...dropdownProps,
950
- renderOption,
951
- testIdPrefix,
952
- children
953
- }
954
- ) })
1077
+ /* @__PURE__ */ jsxRuntime.jsxs(primitives_Combobox.ComboboxContent, { anchor: anchorEl, ...contentProps, children: [
1078
+ isContentSearch && /* @__PURE__ */ jsxRuntime.jsx(
1079
+ primitives_Combobox.ComboboxInput,
1080
+ {
1081
+ showTrigger: false,
1082
+ placeholder: searchPlaceholder,
1083
+ ...labelId ? { "aria-labelledby": labelId } : { "aria-label": searchPlaceholder },
1084
+ ...testIdPrefix ? { "data-testid": `${testIdPrefix}-select-input` } : {}
1085
+ }
1086
+ ),
1087
+ /* @__PURE__ */ jsxRuntime.jsx(
1088
+ MultiSelectDropdown,
1089
+ {
1090
+ ...dropdownProps,
1091
+ renderOption,
1092
+ testIdPrefix,
1093
+ children
1094
+ }
1095
+ )
1096
+ ] })
955
1097
  ]
956
1098
  }
957
1099
  )
@@ -969,6 +1111,7 @@ const SingleSelectInner = React.forwardRef(
969
1111
  helpText,
970
1112
  errorId,
971
1113
  helpTextId,
1114
+ labelId,
972
1115
  isDisabled,
973
1116
  required,
974
1117
  testIdPrefix,
@@ -977,6 +1120,9 @@ const SingleSelectInner = React.forwardRef(
977
1120
  renderOption,
978
1121
  renderTrigger,
979
1122
  isSearchable,
1123
+ searchPosition,
1124
+ searchPlaceholder,
1125
+ inputValue,
980
1126
  isAsync,
981
1127
  creatableFilter,
982
1128
  isControlled,
@@ -1010,17 +1156,23 @@ const SingleSelectInner = React.forwardRef(
1010
1156
  testIdPrefix,
1011
1157
  labelProps: props.labelProps,
1012
1158
  className: props.className,
1159
+ labelId,
1160
+ focusTargetOnLabelClick: searchPosition === "content",
1013
1161
  children: /* @__PURE__ */ jsxRuntime.jsx(
1014
1162
  SelectCombobox,
1015
1163
  {
1016
1164
  ref,
1017
1165
  name: props.name,
1018
1166
  id,
1167
+ labelId: label ? labelId : void 0,
1019
1168
  effectiveItems,
1020
1169
  labelForValue,
1021
1170
  renderOption,
1022
1171
  renderTrigger,
1023
1172
  isSearchable,
1173
+ searchPosition,
1174
+ searchPlaceholder,
1175
+ inputValue,
1024
1176
  isAsync,
1025
1177
  isCreatable: props.isCreatable ?? false,
1026
1178
  creatableFilter,
@@ -1072,10 +1224,14 @@ const MultiSelectInner = React.forwardRef(
1072
1224
  helpText,
1073
1225
  errorId,
1074
1226
  helpTextId,
1227
+ labelId,
1075
1228
  testIdPrefix,
1076
1229
  effectiveItems,
1077
1230
  labelForValue,
1078
1231
  renderOption,
1232
+ isSearchable,
1233
+ searchPosition,
1234
+ searchPlaceholder,
1079
1235
  isAsync,
1080
1236
  creatableFilter,
1081
1237
  isControlled,
@@ -1107,16 +1263,21 @@ const MultiSelectInner = React.forwardRef(
1107
1263
  testIdPrefix,
1108
1264
  labelProps: props.labelProps,
1109
1265
  className: props.className,
1266
+ labelId,
1267
+ focusTargetOnLabelClick: searchPosition === "content",
1110
1268
  children: /* @__PURE__ */ jsxRuntime.jsx(
1111
1269
  MultiSelectCombobox,
1112
1270
  {
1113
1271
  ref,
1114
1272
  name: props.name,
1115
1273
  id,
1274
+ labelId: label ? labelId : void 0,
1116
1275
  effectiveItems,
1117
1276
  labelForValue,
1118
1277
  renderOption,
1119
- isSearchable: props.isSearchable ?? true,
1278
+ isSearchable,
1279
+ searchPosition,
1280
+ searchPlaceholder,
1120
1281
  isAsync,
1121
1282
  isCreatable: props.isCreatable ?? false,
1122
1283
  creatableFilter,
@@ -1203,4 +1364,4 @@ const Select = React.forwardRef((props, ref) => {
1203
1364
  Select.displayName = "Select";
1204
1365
 
1205
1366
  exports.Select = Select;
1206
- //# sourceMappingURL=Select-Bs5Fp3wj.js.map
1367
+ //# sourceMappingURL=Select-VQCROyX1.js.map