@spark-ui/components 13.0.7 → 13.1.0

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 (827) hide show
  1. package/dist/Button-C3xHNaGl.js +2 -0
  2. package/dist/Button-C3xHNaGl.js.map +1 -0
  3. package/dist/{chunk-2YM6GKWW.mjs → Button-D32Avk2j.mjs} +130 -173
  4. package/dist/Button-D32Avk2j.mjs.map +1 -0
  5. package/dist/DialogContent.styles-BrhKaHc_.js +2 -0
  6. package/dist/DialogContent.styles-BrhKaHc_.js.map +1 -0
  7. package/dist/{chunk-XZ47F6TP.mjs → DialogContent.styles-WGWJS9dj.mjs} +6 -8
  8. package/dist/DialogContent.styles-WGWJS9dj.mjs.map +1 -0
  9. package/dist/Icon-Bf0XrmiR.js +2 -0
  10. package/dist/Icon-Bf0XrmiR.js.map +1 -0
  11. package/dist/Icon-D1RueiPY.mjs +58 -0
  12. package/dist/Icon-D1RueiPY.mjs.map +1 -0
  13. package/dist/IconButton-BY3gYXtU.mjs +43 -0
  14. package/dist/IconButton-BY3gYXtU.mjs.map +1 -0
  15. package/dist/IconButton-Bf-EDzpI.js +2 -0
  16. package/dist/IconButton-Bf-EDzpI.js.map +1 -0
  17. package/dist/Slot-C98rL4yy.mjs +14 -0
  18. package/dist/Slot-C98rL4yy.mjs.map +1 -0
  19. package/dist/Slot-ghrohQLA.js +2 -0
  20. package/dist/Slot-ghrohQLA.js.map +1 -0
  21. package/dist/{chunk-GAK4SC2F.mjs → Spinner-CYL5kyzM.mjs} +29 -40
  22. package/dist/Spinner-CYL5kyzM.mjs.map +1 -0
  23. package/dist/Spinner-DK8VEsaR.js +2 -0
  24. package/dist/Spinner-DK8VEsaR.js.map +1 -0
  25. package/dist/{chunk-RKPP7ZOK.mjs → TextLink-3MEVs3No.mjs} +27 -36
  26. package/dist/TextLink-3MEVs3No.mjs.map +1 -0
  27. package/dist/TextLink-DD0VO37q.js +2 -0
  28. package/dist/TextLink-DD0VO37q.js.map +1 -0
  29. package/dist/VisuallyHidden-AoRh4WRK.js +2 -0
  30. package/dist/VisuallyHidden-AoRh4WRK.js.map +1 -0
  31. package/dist/VisuallyHidden-ByNP7ZUI.mjs +28 -0
  32. package/dist/VisuallyHidden-ByNP7ZUI.mjs.map +1 -0
  33. package/dist/accordion/Accordion.d.ts +27 -0
  34. package/dist/accordion/AccordionItem.d.ts +12 -0
  35. package/dist/accordion/AccordionItemContent.d.ts +12 -0
  36. package/dist/accordion/AccordionItemHeader.d.ts +9 -0
  37. package/dist/accordion/AccordionItemTrigger.d.ts +12 -0
  38. package/dist/accordion/index.d.ts +10 -68
  39. package/dist/accordion/index.js +2 -325
  40. package/dist/accordion/index.js.map +1 -1
  41. package/dist/accordion/index.mjs +632 -154
  42. package/dist/accordion/index.mjs.map +1 -1
  43. package/dist/accordion/useRenderSlot.d.ts +3 -0
  44. package/dist/alert-dialog/AlertDialog.d.ts +29 -0
  45. package/dist/alert-dialog/AlertDialogAction.d.ts +13 -0
  46. package/dist/alert-dialog/AlertDialogBody.d.ts +12 -0
  47. package/dist/alert-dialog/AlertDialogCancel.d.ts +13 -0
  48. package/dist/alert-dialog/AlertDialogContent.d.ts +9 -0
  49. package/dist/alert-dialog/AlertDialogContext.d.ts +12 -0
  50. package/dist/alert-dialog/AlertDialogDescription.d.ts +9 -0
  51. package/dist/alert-dialog/AlertDialogFooter.d.ts +10 -0
  52. package/dist/alert-dialog/AlertDialogHeader.d.ts +10 -0
  53. package/dist/alert-dialog/AlertDialogOverlay.d.ts +9 -0
  54. package/dist/alert-dialog/AlertDialogPortal.d.ts +7 -0
  55. package/dist/alert-dialog/AlertDialogTitle.d.ts +9 -0
  56. package/dist/alert-dialog/AlertDialogTrigger.d.ts +13 -0
  57. package/dist/alert-dialog/index.d.ts +26 -147
  58. package/dist/alert-dialog/index.js +35 -405
  59. package/dist/alert-dialog/index.js.map +1 -1
  60. package/dist/alert-dialog/index.mjs +2513 -258
  61. package/dist/alert-dialog/index.mjs.map +1 -1
  62. package/dist/alert-dialog/useRenderSlot.d.ts +3 -0
  63. package/dist/avatar/Avatar.d.ts +3 -0
  64. package/dist/avatar/AvatarAction.d.ts +9 -0
  65. package/dist/avatar/AvatarImage.d.ts +7 -0
  66. package/dist/avatar/AvatarOnlineBadge.d.ts +9 -0
  67. package/dist/avatar/AvatarPlaceholder.d.ts +8 -0
  68. package/dist/avatar/AvatarUser.d.ts +7 -0
  69. package/dist/avatar/context.d.ts +5 -0
  70. package/dist/avatar/index.d.ts +8 -59
  71. package/dist/avatar/index.js +2 -1323
  72. package/dist/avatar/index.js.map +1 -1
  73. package/dist/avatar/index.mjs +149 -207
  74. package/dist/avatar/index.mjs.map +1 -1
  75. package/dist/avatar/types.d.ts +24 -0
  76. package/dist/badge/Badge.d.ts +9 -0
  77. package/dist/badge/BadgeItem.d.ts +31 -0
  78. package/dist/badge/BadgeItem.styles.d.ts +7 -0
  79. package/dist/badge/index.d.ts +1 -47
  80. package/dist/badge/index.js +2 -122
  81. package/dist/badge/index.js.map +1 -1
  82. package/dist/badge/index.mjs +32 -44
  83. package/dist/badge/index.mjs.map +1 -1
  84. package/dist/breadcrumb/Breadcrumb.d.ts +10 -0
  85. package/dist/breadcrumb/Breadcrumb.styles.d.ts +0 -0
  86. package/dist/breadcrumb/BreadcrumbCurrentPage.d.ts +11 -0
  87. package/dist/breadcrumb/BreadcrumbItem.d.ts +9 -0
  88. package/dist/breadcrumb/BreadcrumbLink.d.ts +12 -0
  89. package/dist/breadcrumb/BreadcrumbSeparator.d.ts +10 -0
  90. package/dist/breadcrumb/index.d.ts +7 -59
  91. package/dist/breadcrumb/index.js +2 -327
  92. package/dist/breadcrumb/index.js.map +1 -1
  93. package/dist/breadcrumb/index.mjs +106 -146
  94. package/dist/breadcrumb/index.mjs.map +1 -1
  95. package/dist/button/Button.d.ts +26 -0
  96. package/dist/button/Button.styles.d.ts +10 -0
  97. package/dist/button/index.d.ts +1 -41
  98. package/dist/button/index.js +2 -935
  99. package/dist/button/index.js.map +1 -1
  100. package/dist/button/index.mjs +3 -8
  101. package/dist/button/index.mjs.map +1 -1
  102. package/dist/button/variants/contrast.d.ts +45 -0
  103. package/dist/button/variants/filled.d.ts +45 -0
  104. package/dist/button/variants/ghost.d.ts +45 -0
  105. package/dist/button/variants/index.d.ts +5 -0
  106. package/dist/button/variants/outlined.d.ts +45 -0
  107. package/dist/button/variants/tinted.d.ts +45 -0
  108. package/dist/card/Backdrop.d.ts +14 -0
  109. package/dist/card/Card.d.ts +16 -0
  110. package/dist/card/Card.styles.d.ts +7 -0
  111. package/dist/card/Content.d.ts +15 -0
  112. package/dist/card/Content.styles.d.ts +8 -0
  113. package/dist/card/context.d.ts +11 -0
  114. package/dist/card/index.d.ts +5 -58
  115. package/dist/card/index.js +2 -502
  116. package/dist/card/index.js.map +1 -1
  117. package/dist/card/index.mjs +125 -178
  118. package/dist/card/index.mjs.map +1 -1
  119. package/dist/card/utils.d.ts +3 -0
  120. package/dist/carousel/Carousel.d.ts +12 -0
  121. package/dist/carousel/CarouselControls.d.ts +9 -0
  122. package/dist/carousel/CarouselNextButton.d.ts +5 -0
  123. package/dist/carousel/CarouselPageIndicator.d.ts +14 -0
  124. package/dist/carousel/CarouselPagePicker.d.ts +14 -0
  125. package/dist/carousel/CarouselPrevButton.d.ts +5 -0
  126. package/dist/carousel/CarouselSlide.d.ts +12 -0
  127. package/dist/carousel/CarouselSlides.d.ts +10 -0
  128. package/dist/carousel/CarouselViewport.d.ts +9 -0
  129. package/dist/carousel/index.d.ts +18 -263
  130. package/dist/carousel/index.js +2 -1882
  131. package/dist/carousel/index.js.map +1 -1
  132. package/dist/carousel/index.mjs +428 -650
  133. package/dist/carousel/index.mjs.map +1 -1
  134. package/dist/carousel/{index.d.mts → types.d.ts} +13 -112
  135. package/dist/carousel/useCarousel.d.ts +2 -0
  136. package/dist/carousel/useCarouselVisibility.d.ts +13 -0
  137. package/dist/carousel/useEvent.d.ts +7 -0
  138. package/dist/carousel/useIsMounted.d.ts +1 -0
  139. package/dist/carousel/useIsVisible.d.ts +6 -0
  140. package/dist/carousel/useResizeObserver.d.ts +2 -0
  141. package/dist/carousel/useScrollEnd.d.ts +3 -0
  142. package/dist/carousel/useSnapPoints.d.ts +10 -0
  143. package/dist/carousel/utils.d.ts +24 -0
  144. package/dist/checkbox/Checkbox.d.ts +10 -0
  145. package/dist/checkbox/CheckboxGroup.d.ts +18 -0
  146. package/dist/checkbox/CheckboxGroup.styles.d.ts +5 -0
  147. package/dist/checkbox/CheckboxGroupContext.d.ts +41 -0
  148. package/dist/checkbox/CheckboxIndicator.d.ts +9 -0
  149. package/dist/checkbox/CheckboxInput.d.ts +47 -0
  150. package/dist/checkbox/CheckboxInput.styles.d.ts +5 -0
  151. package/dist/checkbox/CheckboxLabel.d.ts +12 -0
  152. package/dist/checkbox/CheckboxLabel.styles.d.ts +5 -0
  153. package/dist/checkbox/index.d.ts +2 -120
  154. package/dist/checkbox/index.js +2 -511
  155. package/dist/checkbox/index.js.map +1 -1
  156. package/dist/checkbox/index.mjs +371 -226
  157. package/dist/checkbox/index.mjs.map +1 -1
  158. package/dist/chip/Chip.d.ts +34 -0
  159. package/dist/chip/Chip.styles.d.ts +8 -0
  160. package/dist/chip/ChipClearButton.d.ts +10 -0
  161. package/dist/chip/ChipClearButton.styles.d.ts +10 -0
  162. package/dist/chip/ChipContent.d.ts +8 -0
  163. package/dist/chip/ChipIcon.d.ts +8 -0
  164. package/dist/chip/ChipLeadingIcon.d.ts +9 -0
  165. package/dist/chip/ChipTrailingIcon.d.ts +9 -0
  166. package/dist/chip/index.d.ts +10 -92
  167. package/dist/chip/index.js +2 -908
  168. package/dist/chip/index.js.map +1 -1
  169. package/dist/chip/index.mjs +390 -322
  170. package/dist/chip/index.mjs.map +1 -1
  171. package/dist/chip/useChipContext.d.ts +4 -0
  172. package/dist/chip/useChipElement.d.ts +41 -0
  173. package/dist/chip/variants/dashed.d.ts +49 -0
  174. package/dist/chip/variants/index.d.ts +3 -0
  175. package/dist/chip/variants/outlined.d.ts +49 -0
  176. package/dist/chip/variants/tinted.d.ts +49 -0
  177. package/dist/collapsible/Content.d.ts +12 -0
  178. package/dist/collapsible/Root.d.ts +12 -0
  179. package/dist/collapsible/Trigger.d.ts +11 -0
  180. package/dist/collapsible/index.d.ts +4 -40
  181. package/dist/collapsible/index.js +2 -109
  182. package/dist/collapsible/index.js.map +1 -1
  183. package/dist/collapsible/index.mjs +214 -58
  184. package/dist/collapsible/index.mjs.map +1 -1
  185. package/dist/collapsible/useRenderSlot.d.ts +3 -0
  186. package/dist/combobox/Combobox.d.ts +6 -0
  187. package/dist/combobox/ComboboxClearButton.d.ts +9 -0
  188. package/dist/combobox/ComboboxContext.d.ts +108 -0
  189. package/dist/combobox/ComboboxDisclosure.d.ts +13 -0
  190. package/dist/combobox/ComboboxEmpty.d.ts +11 -0
  191. package/dist/combobox/ComboboxGroup.d.ts +11 -0
  192. package/dist/combobox/ComboboxInput.d.ts +15 -0
  193. package/dist/combobox/ComboboxItem.d.ts +12 -0
  194. package/dist/combobox/ComboboxItemContext.d.ts +17 -0
  195. package/dist/combobox/ComboboxItemIndicator.d.ts +11 -0
  196. package/dist/combobox/ComboboxItemText.d.ts +10 -0
  197. package/dist/combobox/ComboboxItems.d.ts +11 -0
  198. package/dist/combobox/ComboboxItemsGroupContext.d.ts +8 -0
  199. package/dist/combobox/ComboboxLabel.d.ts +11 -0
  200. package/dist/combobox/ComboboxLeadingIcon.d.ts +7 -0
  201. package/dist/combobox/ComboboxPopover.d.ts +10 -0
  202. package/dist/combobox/ComboboxPortal.d.ts +2 -0
  203. package/dist/combobox/ComboboxSelectedItems.d.ts +4 -0
  204. package/dist/combobox/ComboboxTrigger.d.ts +11 -0
  205. package/dist/combobox/ComboboxTrigger.styles.d.ts +6 -0
  206. package/dist/combobox/index.d.ts +19 -271
  207. package/dist/combobox/index.js +2 -2588
  208. package/dist/combobox/index.js.map +1 -1
  209. package/dist/combobox/index.mjs +623 -1017
  210. package/dist/combobox/index.mjs.map +1 -1
  211. package/dist/combobox/tests/test-utils.d.ts +8 -0
  212. package/dist/combobox/types.d.ts +8 -0
  213. package/dist/combobox/useCombobox/multipleSelectionReducer.d.ts +13 -0
  214. package/dist/combobox/useCombobox/singleSelectionReducer.d.ts +8 -0
  215. package/dist/combobox/utils/index.d.ts +14 -0
  216. package/dist/combobox/utils/useWidthIncreaseCallback.d.ts +2 -0
  217. package/dist/composite-Br3kM5N9.mjs +40 -0
  218. package/dist/composite-Br3kM5N9.mjs.map +1 -0
  219. package/dist/composite-fJD9R7R0.js +2 -0
  220. package/dist/composite-fJD9R7R0.js.map +1 -0
  221. package/dist/detectBrowser-Bc7rk5fI.mjs +44 -0
  222. package/dist/detectBrowser-Bc7rk5fI.mjs.map +1 -0
  223. package/dist/detectBrowser-DTbs_30X.js +2 -0
  224. package/dist/detectBrowser-DTbs_30X.js.map +1 -0
  225. package/dist/dialog/Dialog.d.ts +32 -0
  226. package/dist/dialog/DialogBody.d.ts +12 -0
  227. package/dist/dialog/DialogClose.d.ts +9 -0
  228. package/dist/dialog/DialogCloseButton.d.ts +9 -0
  229. package/dist/dialog/DialogContent.d.ts +14 -0
  230. package/dist/dialog/DialogContent.styles.d.ts +6 -0
  231. package/dist/dialog/DialogContext.d.ts +11 -0
  232. package/dist/dialog/DialogDescription.d.ts +9 -0
  233. package/dist/dialog/DialogFooter.d.ts +10 -0
  234. package/dist/dialog/DialogHeader.d.ts +10 -0
  235. package/dist/dialog/DialogOverlay.d.ts +9 -0
  236. package/dist/dialog/DialogPortal.d.ts +7 -0
  237. package/dist/dialog/DialogTitle.d.ts +9 -0
  238. package/dist/dialog/DialogTrigger.d.ts +17 -0
  239. package/dist/dialog/index.d.ts +25 -154
  240. package/dist/dialog/index.js +2 -1389
  241. package/dist/dialog/index.js.map +1 -1
  242. package/dist/dialog/index.mjs +163 -258
  243. package/dist/dialog/index.mjs.map +1 -1
  244. package/dist/divider/Divider.d.ts +30 -0
  245. package/dist/divider/Divider.styles.d.ts +9 -0
  246. package/dist/divider/DividerContent.d.ts +13 -0
  247. package/dist/divider/index.d.ts +4 -59
  248. package/dist/divider/index.js +2 -224
  249. package/dist/divider/index.js.map +1 -1
  250. package/dist/divider/index.mjs +97 -100
  251. package/dist/divider/index.mjs.map +1 -1
  252. package/dist/divider/variants/intents.d.ts +17 -0
  253. package/dist/downshift.esm-Ncwetv0s.mjs +3038 -0
  254. package/dist/downshift.esm-Ncwetv0s.mjs.map +1 -0
  255. package/dist/downshift.esm-PfCOUbxq.js +37 -0
  256. package/dist/downshift.esm-PfCOUbxq.js.map +1 -0
  257. package/dist/drawer/Drawer.d.ts +39 -0
  258. package/dist/drawer/DrawerBody.d.ts +11 -0
  259. package/dist/drawer/DrawerBody.styles.d.ts +5 -0
  260. package/dist/drawer/DrawerClose.d.ts +9 -0
  261. package/dist/drawer/DrawerCloseButton.d.ts +7 -0
  262. package/dist/drawer/DrawerContent.d.ts +10 -0
  263. package/dist/drawer/DrawerContent.styles.d.ts +6 -0
  264. package/dist/drawer/DrawerContext.d.ts +9 -0
  265. package/dist/drawer/DrawerDescription.d.ts +9 -0
  266. package/dist/drawer/DrawerFooter.d.ts +8 -0
  267. package/dist/drawer/DrawerHeader.d.ts +10 -0
  268. package/dist/drawer/DrawerOverlay.d.ts +9 -0
  269. package/dist/drawer/DrawerPortal.d.ts +7 -0
  270. package/dist/drawer/DrawerTitle.d.ts +9 -0
  271. package/dist/drawer/DrawerTrigger.d.ts +13 -0
  272. package/dist/drawer/index.d.ts +24 -141
  273. package/dist/drawer/index.js +2 -1400
  274. package/dist/drawer/index.js.map +1 -1
  275. package/dist/drawer/index.mjs +141 -230
  276. package/dist/drawer/index.mjs.map +1 -1
  277. package/dist/dropdown/Dropdown.d.ts +6 -0
  278. package/dist/dropdown/DropdownContext.d.ts +81 -0
  279. package/dist/dropdown/DropdownDivider.d.ts +10 -0
  280. package/dist/dropdown/DropdownGroup.d.ts +11 -0
  281. package/dist/dropdown/DropdownItem.d.ts +12 -0
  282. package/dist/dropdown/DropdownItemContext.d.ts +17 -0
  283. package/dist/dropdown/DropdownItemIndicator.d.ts +11 -0
  284. package/dist/dropdown/DropdownItemText.d.ts +9 -0
  285. package/dist/dropdown/DropdownItems.d.ts +21 -0
  286. package/dist/dropdown/DropdownItemsGroupContext.d.ts +8 -0
  287. package/dist/dropdown/DropdownLabel.d.ts +11 -0
  288. package/dist/dropdown/DropdownLeadingIcon.d.ts +7 -0
  289. package/dist/dropdown/DropdownPopover.d.ts +6 -0
  290. package/dist/dropdown/DropdownPortal.d.ts +2 -0
  291. package/dist/dropdown/DropdownTrigger.d.ts +12 -0
  292. package/dist/dropdown/DropdownTrigger.styles.d.ts +5 -0
  293. package/dist/dropdown/DropdownValue.d.ts +11 -0
  294. package/dist/dropdown/index.d.ts +16 -220
  295. package/dist/dropdown/index.js +2 -2051
  296. package/dist/dropdown/index.js.map +1 -1
  297. package/dist/dropdown/index.mjs +352 -584
  298. package/dist/dropdown/index.mjs.map +1 -1
  299. package/dist/dropdown/types.d.ts +8 -0
  300. package/dist/dropdown/useDropdown.d.ts +41 -0
  301. package/dist/dropdown/utils.d.ts +13 -0
  302. package/dist/file-upload/FileUpload.d.ts +130 -0
  303. package/dist/file-upload/FileUploadAcceptedFile.d.ts +25 -0
  304. package/dist/file-upload/FileUploadContext.d.ts +17 -0
  305. package/dist/file-upload/FileUploadDropzone.d.ts +10 -0
  306. package/dist/file-upload/FileUploadItemDeleteTrigger.d.ts +11 -0
  307. package/dist/file-upload/FileUploadPreviewImage.d.ts +17 -0
  308. package/dist/file-upload/FileUploadRejectedFile.d.ts +24 -0
  309. package/dist/file-upload/FileUploadRejectedFileDeleteTrigger.d.ts +12 -0
  310. package/dist/file-upload/FileUploadTrigger.d.ts +12 -0
  311. package/dist/file-upload/constants.d.ts +29 -0
  312. package/dist/file-upload/index.d.ts +14 -262
  313. package/dist/file-upload/index.js +2 -2255
  314. package/dist/file-upload/index.js.map +1 -1
  315. package/dist/file-upload/index.mjs +506 -834
  316. package/dist/file-upload/index.mjs.map +1 -1
  317. package/dist/file-upload/test-utils.d.ts +9 -0
  318. package/dist/file-upload/useFileUploadState.d.ts +88 -0
  319. package/dist/file-upload/utils.d.ts +40 -0
  320. package/dist/floating-ui.utils.dom-CCN4I08l.js +2 -0
  321. package/dist/floating-ui.utils.dom-CCN4I08l.js.map +1 -0
  322. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs +136 -0
  323. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs.map +1 -0
  324. package/dist/form-field/FormField.d.ts +21 -0
  325. package/dist/form-field/FormFieldAlertMessage.d.ts +9 -0
  326. package/dist/form-field/FormFieldCharactersCount.d.ts +26 -0
  327. package/dist/form-field/FormFieldContext.d.ts +49 -0
  328. package/dist/form-field/FormFieldControl.d.ts +12 -0
  329. package/dist/form-field/FormFieldErrorMessage.d.ts +9 -0
  330. package/dist/form-field/FormFieldHelperMessage.d.ts +9 -0
  331. package/dist/form-field/FormFieldLabel.d.ts +13 -0
  332. package/dist/form-field/FormFieldMessage.d.ts +8 -0
  333. package/dist/form-field/FormFieldProvider.d.ts +9 -0
  334. package/dist/form-field/FormFieldRequiredIndicator.d.ts +9 -0
  335. package/dist/form-field/FormFieldStateMessage.d.ts +10 -0
  336. package/dist/form-field/FormFieldSuccessMessage.d.ts +9 -0
  337. package/dist/form-field/index.d.ts +21 -176
  338. package/dist/form-field/index.js +2 -553
  339. package/dist/form-field/index.js.map +1 -1
  340. package/dist/form-field/index.mjs +246 -349
  341. package/dist/form-field/index.mjs.map +1 -1
  342. package/dist/icon/Icon.d.ts +17 -0
  343. package/dist/icon/Icon.styles.d.ts +6 -0
  344. package/dist/icon/index.d.ts +1 -28
  345. package/dist/icon/index.js +2 -127
  346. package/dist/icon/index.js.map +1 -1
  347. package/dist/icon/index.mjs +3 -7
  348. package/dist/icon/index.mjs.map +1 -1
  349. package/dist/icon-button/IconButton.d.ts +10 -0
  350. package/dist/icon-button/IconButton.styles.d.ts +5 -0
  351. package/dist/icon-button/index.d.ts +1 -16
  352. package/dist/icon-button/index.js +2 -980
  353. package/dist/icon-button/index.js.map +1 -1
  354. package/dist/icon-button/index.mjs +3 -9
  355. package/dist/icon-button/index.mjs.map +1 -1
  356. package/dist/index-0KYGKeVg.js +2 -0
  357. package/dist/index-0KYGKeVg.js.map +1 -0
  358. package/dist/index-1WIgmEZh.js +2 -0
  359. package/dist/index-1WIgmEZh.js.map +1 -0
  360. package/dist/index-BRi38DTc.mjs +21 -0
  361. package/dist/index-BRi38DTc.mjs.map +1 -0
  362. package/dist/index-BZAtNKwE.mjs +71 -0
  363. package/dist/index-BZAtNKwE.mjs.map +1 -0
  364. package/dist/index-BZPx6jYI.mjs +9 -0
  365. package/dist/index-BZPx6jYI.mjs.map +1 -0
  366. package/dist/index-BlkdpEIe.mjs +55 -0
  367. package/dist/index-BlkdpEIe.mjs.map +1 -0
  368. package/dist/index-BmAFn37q.mjs +49 -0
  369. package/dist/index-BmAFn37q.mjs.map +1 -0
  370. package/dist/index-C-J_tHdS.js +6 -0
  371. package/dist/index-C-J_tHdS.js.map +1 -0
  372. package/dist/index-C1qb0595.mjs +28 -0
  373. package/dist/index-C1qb0595.mjs.map +1 -0
  374. package/dist/index-C34GgsKQ.mjs +54 -0
  375. package/dist/index-C34GgsKQ.mjs.map +1 -0
  376. package/dist/index-CCKe-Mpx.mjs +7 -0
  377. package/dist/index-CCKe-Mpx.mjs.map +1 -0
  378. package/dist/index-CDBBjNXc.js +2 -0
  379. package/dist/index-CDBBjNXc.js.map +1 -0
  380. package/dist/index-CYjGhVvU.mjs +243 -0
  381. package/dist/index-CYjGhVvU.mjs.map +1 -0
  382. package/dist/index-ChLwd62c.js +2 -0
  383. package/dist/index-ChLwd62c.js.map +1 -0
  384. package/dist/index-Cjj_rUPu.js +2 -0
  385. package/dist/index-Cjj_rUPu.js.map +1 -0
  386. package/dist/index-CyMbLkj0.js +2 -0
  387. package/dist/index-CyMbLkj0.js.map +1 -0
  388. package/dist/index-DFZozV_h.mjs +69 -0
  389. package/dist/index-DFZozV_h.mjs.map +1 -0
  390. package/dist/index-DKuHkHFX.js +2 -0
  391. package/dist/index-DKuHkHFX.js.map +1 -0
  392. package/dist/index-DLHLIYPI.mjs +16 -0
  393. package/dist/index-DLHLIYPI.mjs.map +1 -0
  394. package/dist/index-DO-atGp-.js +2 -0
  395. package/dist/index-DO-atGp-.js.map +1 -0
  396. package/dist/index-DWlg8lkk.mjs +179 -0
  397. package/dist/index-DWlg8lkk.mjs.map +1 -0
  398. package/dist/index-DYxWvftI.js +2 -0
  399. package/dist/index-DYxWvftI.js.map +1 -0
  400. package/dist/index-D_lWkK39.mjs +803 -0
  401. package/dist/index-D_lWkK39.mjs.map +1 -0
  402. package/dist/index-DdkVj7D0.js +18 -0
  403. package/dist/index-DdkVj7D0.js.map +1 -0
  404. package/dist/index-De-6atSi.js +2 -0
  405. package/dist/index-De-6atSi.js.map +1 -0
  406. package/dist/index-DhGWNzsz.mjs +83 -0
  407. package/dist/index-DhGWNzsz.mjs.map +1 -0
  408. package/dist/index-Dkj4QRX8.js +2 -0
  409. package/dist/index-Dkj4QRX8.js.map +1 -0
  410. package/dist/index-DlIFg0Eu.mjs +60 -0
  411. package/dist/index-DlIFg0Eu.mjs.map +1 -0
  412. package/dist/index-DnaHaH_0.js +2 -0
  413. package/dist/index-DnaHaH_0.js.map +1 -0
  414. package/dist/index-MHF2-CYX.js +2 -0
  415. package/dist/index-MHF2-CYX.js.map +1 -0
  416. package/dist/index-MQ0c3ZX_.js +2 -0
  417. package/dist/index-MQ0c3ZX_.js.map +1 -0
  418. package/dist/index-MSR-vgWR.mjs +37 -0
  419. package/dist/index-MSR-vgWR.mjs.map +1 -0
  420. package/dist/index-VL0YEmOW.mjs +125 -0
  421. package/dist/index-VL0YEmOW.mjs.map +1 -0
  422. package/dist/index-tXqxYME3.js +42 -0
  423. package/dist/index-tXqxYME3.js.map +1 -0
  424. package/dist/inertValue-Bif5Sqs6.mjs +522 -0
  425. package/dist/inertValue-Bif5Sqs6.mjs.map +1 -0
  426. package/dist/inertValue-ShwihJSN.js +5 -0
  427. package/dist/inertValue-ShwihJSN.js.map +1 -0
  428. package/dist/input/Input.d.ts +14 -0
  429. package/dist/input/Input.styles.d.ts +11 -0
  430. package/dist/input/InputAddon.d.ts +9 -0
  431. package/dist/input/InputAddon.styles.d.ts +9 -0
  432. package/dist/input/InputClearButton.d.ts +12 -0
  433. package/dist/input/InputGroup.d.ts +17 -0
  434. package/dist/input/InputGroup.styles.d.ts +6 -0
  435. package/dist/input/InputGroupContext.d.ts +14 -0
  436. package/dist/input/InputIcon.d.ts +6 -0
  437. package/dist/input/InputLeadingAddon.d.ts +11 -0
  438. package/dist/input/InputLeadingIcon.d.ts +7 -0
  439. package/dist/input/InputTrailingAddon.d.ts +11 -0
  440. package/dist/input/InputTrailingIcon.d.ts +7 -0
  441. package/dist/input/index.d.ts +15 -72
  442. package/dist/input/index.js +2 -724
  443. package/dist/input/index.js.map +1 -1
  444. package/dist/input/index.mjs +453 -12
  445. package/dist/input/index.mjs.map +1 -1
  446. package/dist/input-otp/InputOTP.d.ts +85 -0
  447. package/dist/input-otp/InputOTP.styles.d.ts +10 -0
  448. package/dist/input-otp/InputOTPContext.d.ts +16 -0
  449. package/dist/input-otp/InputOTPGroup.d.ts +7 -0
  450. package/dist/input-otp/InputOTPSeparator.d.ts +7 -0
  451. package/dist/input-otp/InputOTPSlot.d.ts +12 -0
  452. package/dist/input-otp/index.d.ts +14 -0
  453. package/dist/input-otp/index.js +2 -0
  454. package/dist/input-otp/index.js.map +1 -0
  455. package/dist/input-otp/index.mjs +390 -0
  456. package/dist/input-otp/index.mjs.map +1 -0
  457. package/dist/input-otp/useInputOTP.d.ts +45 -0
  458. package/dist/kbd/Kbd.d.ts +5 -0
  459. package/dist/kbd/index.d.ts +1 -9
  460. package/dist/kbd/index.js +2 -47
  461. package/dist/kbd/index.js.map +1 -1
  462. package/dist/kbd/index.mjs +15 -18
  463. package/dist/kbd/index.mjs.map +1 -1
  464. package/dist/label/Label.d.ts +9 -0
  465. package/dist/label/LabelRequiredIndicator.d.ts +6 -0
  466. package/dist/label/index.d.ts +5 -9
  467. package/dist/label/index.js +2 -78
  468. package/dist/label/index.js.map +1 -1
  469. package/dist/label/index.mjs +3 -5
  470. package/dist/label/index.mjs.map +1 -1
  471. package/dist/link-box/LinkBox.d.ts +8 -0
  472. package/dist/link-box/LinkBoxLink.d.ts +8 -0
  473. package/dist/link-box/LinkBoxRaised.d.ts +9 -0
  474. package/dist/link-box/index.d.ts +6 -31
  475. package/dist/link-box/index.js +2 -92
  476. package/dist/link-box/index.js.map +1 -1
  477. package/dist/link-box/index.mjs +34 -56
  478. package/dist/link-box/index.mjs.map +1 -1
  479. package/dist/pagination/Pagination.d.ts +8 -0
  480. package/dist/pagination/PaginationContext.d.ts +43 -0
  481. package/dist/pagination/PaginationEllipsis.d.ts +9 -0
  482. package/dist/pagination/PaginationFirstPageTrigger.d.ts +16 -0
  483. package/dist/pagination/PaginationItem.d.ts +17 -0
  484. package/dist/pagination/PaginationLastPageTrigger.d.ts +16 -0
  485. package/dist/pagination/PaginationNextTrigger.d.ts +16 -0
  486. package/dist/pagination/PaginationPages.d.ts +16 -0
  487. package/dist/pagination/PaginationPrevTrigger.d.ts +16 -0
  488. package/dist/pagination/index.d.ts +10 -135
  489. package/dist/pagination/index.js +2 -1353
  490. package/dist/pagination/index.js.map +1 -1
  491. package/dist/pagination/index.mjs +893 -268
  492. package/dist/pagination/index.mjs.map +1 -1
  493. package/dist/pagination/utils.d.ts +1 -0
  494. package/dist/popover/Popover.d.ts +9 -0
  495. package/dist/popover/PopoverAnchor.d.ts +9 -0
  496. package/dist/popover/PopoverArrow.d.ts +9 -0
  497. package/dist/popover/PopoverCloseButton.d.ts +10 -0
  498. package/dist/popover/PopoverContent.d.ts +10 -0
  499. package/dist/popover/PopoverContent.styles.d.ts +9 -0
  500. package/dist/popover/PopoverContext.d.ts +15 -0
  501. package/dist/popover/PopoverHeader.d.ts +10 -0
  502. package/dist/popover/PopoverPortal.d.ts +7 -0
  503. package/dist/popover/PopoverTrigger.d.ts +9 -0
  504. package/dist/popover/index.d.ts +17 -6
  505. package/dist/popover/index.js +2 -1339
  506. package/dist/popover/index.js.map +1 -1
  507. package/dist/popover/index.mjs +1868 -11
  508. package/dist/popover/index.mjs.map +1 -1
  509. package/dist/portal/{index.d.mts → Portal.d.ts} +2 -5
  510. package/dist/portal/index.d.ts +1 -13
  511. package/dist/portal/index.js +2 -37
  512. package/dist/portal/index.js.map +1 -1
  513. package/dist/portal/index.mjs +5 -8
  514. package/dist/portal/index.mjs.map +1 -1
  515. package/dist/progress/Progress.d.ts +16 -0
  516. package/dist/progress/ProgressBar.d.ts +6 -0
  517. package/dist/progress/ProgressBar.styles.d.ts +5 -0
  518. package/dist/progress/ProgressContext.d.ts +13 -0
  519. package/dist/progress/ProgressIndicator.d.ts +6 -0
  520. package/dist/progress/ProgressIndicator.styles.d.ts +7 -0
  521. package/dist/progress/ProgressLabel.d.ts +6 -0
  522. package/dist/progress/index.d.ts +9 -48
  523. package/dist/progress/index.js +6 -239
  524. package/dist/progress/index.js.map +1 -1
  525. package/dist/progress/index.mjs +241 -5
  526. package/dist/progress/index.mjs.map +1 -1
  527. package/dist/progress-tracker/ProgressTracker.d.ts +27 -0
  528. package/dist/progress-tracker/ProgressTracker.styles.d.ts +1 -0
  529. package/dist/progress-tracker/ProgressTrackerContext.d.ts +15 -0
  530. package/dist/progress-tracker/ProgressTrackerStep.d.ts +12 -0
  531. package/dist/progress-tracker/ProgressTrackerStep.styles.d.ts +10 -0
  532. package/dist/progress-tracker/ProgressTrackerStepIndicator.d.ts +15 -0
  533. package/dist/progress-tracker/ProgressTrackerStepIndicator.styles.d.ts +7 -0
  534. package/dist/progress-tracker/ProgressTrackerStepLabel.d.ts +9 -0
  535. package/dist/progress-tracker/index.d.ts +10 -80
  536. package/dist/progress-tracker/index.js +2 -571
  537. package/dist/progress-tracker/index.js.map +1 -1
  538. package/dist/progress-tracker/index.mjs +115 -183
  539. package/dist/progress-tracker/index.mjs.map +1 -1
  540. package/dist/radio-group/Radio.d.ts +9 -0
  541. package/dist/radio-group/RadioGroup.d.ts +54 -0
  542. package/dist/radio-group/RadioGroup.styles.d.ts +5 -0
  543. package/dist/radio-group/RadioGroupContext.d.ts +5 -0
  544. package/dist/radio-group/RadioGroupProvider.d.ts +7 -0
  545. package/dist/radio-group/RadioIndicator.d.ts +18 -0
  546. package/dist/radio-group/RadioIndicator.styles.d.ts +5 -0
  547. package/dist/radio-group/RadioInput.d.ts +25 -0
  548. package/dist/radio-group/RadioInput.styles.d.ts +5 -0
  549. package/dist/radio-group/RadioLabel.d.ts +20 -0
  550. package/dist/radio-group/RadioLabel.styles.d.ts +5 -0
  551. package/dist/radio-group/index.d.ts +5 -98
  552. package/dist/radio-group/index.js +2 -318
  553. package/dist/radio-group/index.js.map +1 -1
  554. package/dist/radio-group/index.mjs +332 -174
  555. package/dist/radio-group/index.mjs.map +1 -1
  556. package/dist/rating/Rating.d.ts +52 -0
  557. package/dist/rating/RatingStar.d.ts +10 -0
  558. package/dist/rating/RatingStar.styles.d.ts +14 -0
  559. package/dist/rating/index.d.ts +1 -78
  560. package/dist/rating/index.js +2 -363
  561. package/dist/rating/index.js.map +1 -1
  562. package/dist/rating/index.mjs +125 -170
  563. package/dist/rating/index.mjs.map +1 -1
  564. package/dist/rating/types.d.ts +1 -0
  565. package/dist/rating/utils.d.ts +8 -0
  566. package/dist/scrolling-list/ScrollingList.d.ts +57 -0
  567. package/dist/scrolling-list/ScrollingListControls.d.ts +18 -0
  568. package/dist/scrolling-list/ScrollingListItem.d.ts +17 -0
  569. package/dist/scrolling-list/ScrollingListItems.d.ts +11 -0
  570. package/dist/scrolling-list/ScrollingListNextButton.d.ts +5 -0
  571. package/dist/scrolling-list/ScrollingListPrevButton.d.ts +5 -0
  572. package/dist/scrolling-list/ScrollingListSkipButton.d.ts +9 -0
  573. package/dist/scrolling-list/index.d.ts +14 -117
  574. package/dist/scrolling-list/index.js +2 -1428
  575. package/dist/scrolling-list/index.js.map +1 -1
  576. package/dist/scrolling-list/index.mjs +358 -325
  577. package/dist/scrolling-list/index.mjs.map +1 -1
  578. package/dist/scrolling-list/useFocusWithinScroll.d.ts +3 -0
  579. package/dist/segmented-gauge/{index.d.mts → SegmentedGauge.d.ts} +4 -43
  580. package/dist/segmented-gauge/SegmentedGaugeContext.d.ts +14 -0
  581. package/dist/segmented-gauge/SegmentedGaugeLabel.d.ts +9 -0
  582. package/dist/segmented-gauge/SegmentedGaugeSegment.d.ts +12 -0
  583. package/dist/segmented-gauge/SegmentedGaugeTrack.d.ts +8 -0
  584. package/dist/segmented-gauge/index.d.ts +9 -101
  585. package/dist/segmented-gauge/index.js +2 -274
  586. package/dist/segmented-gauge/index.js.map +1 -1
  587. package/dist/segmented-gauge/index.mjs +132 -178
  588. package/dist/segmented-gauge/index.mjs.map +1 -1
  589. package/dist/select/Select.d.ts +6 -0
  590. package/dist/select/SelectContext.d.ts +59 -0
  591. package/dist/select/SelectGroup.d.ts +11 -0
  592. package/dist/select/SelectItem.d.ts +11 -0
  593. package/dist/select/SelectItems.d.ts +10 -0
  594. package/dist/select/SelectItemsGroupContext.d.ts +9 -0
  595. package/dist/select/SelectLabel.d.ts +8 -0
  596. package/dist/select/SelectLeadingIcon.d.ts +7 -0
  597. package/dist/select/SelectPlaceholder.d.ts +10 -0
  598. package/dist/select/SelectTrigger.d.ts +16 -0
  599. package/dist/select/SelectTrigger.styles.d.ts +5 -0
  600. package/dist/select/SelectValue.d.ts +15 -0
  601. package/dist/select/index.d.ts +12 -158
  602. package/dist/select/index.js +2 -581
  603. package/dist/select/index.js.map +1 -1
  604. package/dist/select/index.mjs +207 -339
  605. package/dist/select/index.mjs.map +1 -1
  606. package/dist/select/types.d.ts +6 -0
  607. package/dist/select/utils.d.ts +4 -0
  608. package/dist/skeleton/Skeleton.d.ts +17 -0
  609. package/dist/skeleton/Skeleton.styles.d.ts +5 -0
  610. package/dist/skeleton/SkeletonItem.d.ts +31 -0
  611. package/dist/skeleton/SkeletonItem.styles.d.ts +8 -0
  612. package/dist/skeleton/index.d.ts +8 -67
  613. package/dist/skeleton/index.js +2 -206
  614. package/dist/skeleton/index.js.map +1 -1
  615. package/dist/skeleton/index.mjs +64 -96
  616. package/dist/skeleton/index.mjs.map +1 -1
  617. package/dist/slider/Slider.d.ts +55 -0
  618. package/dist/slider/Slider.styles.d.ts +1 -0
  619. package/dist/slider/SliderContext.d.ts +4 -0
  620. package/dist/slider/SliderThumb.d.ts +14 -0
  621. package/dist/slider/SliderThumb.styles.d.ts +5 -0
  622. package/dist/slider/SliderTrack.d.ts +14 -0
  623. package/dist/slider/SliderTrack.styles.d.ts +9 -0
  624. package/dist/slider/index.d.ts +8 -97
  625. package/dist/slider/index.js +2 -220
  626. package/dist/slider/index.js.map +1 -1
  627. package/dist/slider/index.mjs +490 -107
  628. package/dist/slider/index.mjs.map +1 -1
  629. package/dist/slot/Slot.d.ts +12 -0
  630. package/dist/slot/index.d.ts +1 -16
  631. package/dist/slot/index.js +2 -51
  632. package/dist/slot/index.js.map +1 -1
  633. package/dist/slot/index.mjs +5 -9
  634. package/dist/slot/index.mjs.map +1 -1
  635. package/dist/snackbar/Snackbar.d.ts +29 -0
  636. package/dist/snackbar/SnackbarItem.d.ts +49 -0
  637. package/dist/snackbar/SnackbarItem.styles.d.ts +10 -0
  638. package/dist/snackbar/SnackbarItemAction.d.ts +10 -0
  639. package/dist/snackbar/SnackbarItemClose.d.ts +9 -0
  640. package/dist/snackbar/SnackbarItemContext.d.ts +8 -0
  641. package/dist/snackbar/SnackbarItemIcon.d.ts +7 -0
  642. package/dist/snackbar/SnackbarRegion.d.ts +30 -0
  643. package/dist/snackbar/SnackbarRegion.styles.d.ts +5 -0
  644. package/dist/snackbar/index.d.ts +13 -158
  645. package/dist/snackbar/index.js +2 -1756
  646. package/dist/snackbar/index.js.map +1 -1
  647. package/dist/snackbar/index.mjs +1153 -429
  648. package/dist/snackbar/index.mjs.map +1 -1
  649. package/dist/snackbar/snackbarVariants.d.ts +82 -0
  650. package/dist/snackbar/useSnackbarGlobalStore.d.ts +18 -0
  651. package/dist/snackbar/useSwipe.d.ts +15 -0
  652. package/dist/spinner/Spinner.d.ts +9 -0
  653. package/dist/spinner/Spinner.styles.d.ts +7 -0
  654. package/dist/spinner/index.d.ts +1 -21
  655. package/dist/spinner/index.js +2 -139
  656. package/dist/spinner/index.js.map +1 -1
  657. package/dist/spinner/index.mjs +3 -7
  658. package/dist/spinner/index.mjs.map +1 -1
  659. package/dist/stepper/Stepper.d.ts +9 -0
  660. package/dist/stepper/StepperButton.d.ts +14 -0
  661. package/dist/stepper/StepperInput.d.ts +7 -0
  662. package/dist/stepper/index.d.ts +9 -81
  663. package/dist/stepper/index.js +8 -1847
  664. package/dist/stepper/index.js.map +1 -1
  665. package/dist/stepper/index.mjs +2325 -197
  666. package/dist/stepper/index.mjs.map +1 -1
  667. package/dist/stepper/types.d.ts +46 -0
  668. package/dist/stepper/useStepper.d.ts +2 -0
  669. package/dist/switch/Switch.d.ts +6 -0
  670. package/dist/switch/{index.d.mts → SwitchInput.d.ts} +4 -17
  671. package/dist/switch/SwitchInput.styles.d.ts +16 -0
  672. package/dist/switch/SwitchLabel.d.ts +17 -0
  673. package/dist/switch/SwitchLabel.styles.d.ts +5 -0
  674. package/dist/switch/index.d.ts +1 -64
  675. package/dist/switch/index.js +2 -327
  676. package/dist/switch/index.js.map +1 -1
  677. package/dist/switch/index.mjs +213 -130
  678. package/dist/switch/index.mjs.map +1 -1
  679. package/dist/tabs/Tabs.d.ts +24 -0
  680. package/dist/tabs/TabsContent.d.ts +22 -0
  681. package/dist/tabs/TabsContent.styles.d.ts +3 -0
  682. package/dist/tabs/TabsContext.d.ts +7 -0
  683. package/dist/tabs/TabsList.d.ts +20 -0
  684. package/dist/tabs/TabsList.styles.d.ts +3 -0
  685. package/dist/tabs/TabsPopover.d.ts +29 -0
  686. package/dist/tabs/TabsPopoverAbstraction.d.ts +27 -0
  687. package/dist/tabs/TabsRoot.styles.d.ts +1 -0
  688. package/dist/tabs/TabsTrigger.d.ts +41 -0
  689. package/dist/tabs/TabsTrigger.styles.d.ts +8 -0
  690. package/dist/tabs/index.d.ts +13 -137
  691. package/dist/tabs/index.js +2 -1830
  692. package/dist/tabs/index.js.map +1 -1
  693. package/dist/tabs/index.mjs +374 -350
  694. package/dist/tabs/index.mjs.map +1 -1
  695. package/dist/tabs/useResizeObserver.d.ts +8 -0
  696. package/dist/tag/Tag.d.ts +17 -0
  697. package/dist/tag/Tag.styles.d.ts +8 -0
  698. package/dist/tag/index.d.ts +1 -29
  699. package/dist/tag/index.js +2 -283
  700. package/dist/tag/index.js.map +1 -1
  701. package/dist/tag/index.mjs +66 -90
  702. package/dist/tag/index.mjs.map +1 -1
  703. package/dist/tag/variants/filled.d.ts +41 -0
  704. package/dist/tag/variants/index.d.ts +3 -0
  705. package/dist/tag/variants/outlined.d.ts +37 -0
  706. package/dist/tag/variants/tinted.d.ts +37 -0
  707. package/dist/text-link/TextLink.d.ts +16 -0
  708. package/dist/text-link/index.d.ts +1 -20
  709. package/dist/text-link/index.js +2 -100
  710. package/dist/text-link/index.js.map +1 -1
  711. package/dist/text-link/index.mjs +3 -6
  712. package/dist/text-link/index.mjs.map +1 -1
  713. package/dist/textarea/Textarea.d.ts +14 -0
  714. package/dist/textarea/TextareaClearButton.d.ts +10 -0
  715. package/dist/textarea/TextareaGroup.d.ts +6 -0
  716. package/dist/textarea/TextareaLeadingIcon.d.ts +7 -0
  717. package/dist/textarea/TextareaTrailingIcon.d.ts +7 -0
  718. package/dist/textarea/index.d.ts +10 -53
  719. package/dist/textarea/index.js +2 -797
  720. package/dist/textarea/index.js.map +1 -1
  721. package/dist/textarea/index.mjs +50 -83
  722. package/dist/textarea/index.mjs.map +1 -1
  723. package/dist/toast/Toast.d.ts +4 -0
  724. package/dist/toast/Toast.styles.d.ts +10 -0
  725. package/dist/toast/index.d.ts +10 -53
  726. package/dist/toast/index.js +2 -1454
  727. package/dist/toast/index.js.map +1 -1
  728. package/dist/toast/index.mjs +1016 -208
  729. package/dist/toast/index.mjs.map +1 -1
  730. package/dist/toast/types.d.ts +41 -0
  731. package/dist/toast/useRenderSlot.d.ts +3 -0
  732. package/dist/toast/useToastManager.d.ts +2 -0
  733. package/dist/useCollapsiblePanel-D1dCo0lf.js +4 -0
  734. package/dist/useCollapsiblePanel-D1dCo0lf.js.map +1 -0
  735. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs +287 -0
  736. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs.map +1 -0
  737. package/dist/useFocusWithin-CFNEka2I.js +2 -0
  738. package/dist/useFocusWithin-CFNEka2I.js.map +1 -0
  739. package/dist/useFocusWithin-CoL4390f.mjs +796 -0
  740. package/dist/useFocusWithin-CoL4390f.mjs.map +1 -0
  741. package/dist/useOpenChangeComplete-Dk-u_f2y.js +2 -0
  742. package/dist/useOpenChangeComplete-Dk-u_f2y.js.map +1 -0
  743. package/dist/useOpenChangeComplete-RUbg6RBw.mjs +582 -0
  744. package/dist/useOpenChangeComplete-RUbg6RBw.mjs.map +1 -0
  745. package/dist/useTransitionStatus-CktVVKxz.mjs +46 -0
  746. package/dist/useTransitionStatus-CktVVKxz.mjs.map +1 -0
  747. package/dist/useTransitionStatus-CqbEyvIj.js +2 -0
  748. package/dist/useTransitionStatus-CqbEyvIj.js.map +1 -0
  749. package/dist/visually-hidden/VisuallyHidden.d.ts +12 -0
  750. package/dist/visually-hidden/index.d.ts +1 -16
  751. package/dist/visually-hidden/index.js +2 -67
  752. package/dist/visually-hidden/index.js.map +1 -1
  753. package/dist/visually-hidden/index.mjs +3 -6
  754. package/dist/visually-hidden/index.mjs.map +1 -1
  755. package/package.json +6 -6
  756. package/dist/Input-N8AWWSmt.d.mts +0 -41
  757. package/dist/Input-N8AWWSmt.d.ts +0 -41
  758. package/dist/InputTrailingIcon-BBp7sE6D.d.mts +0 -20
  759. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +0 -20
  760. package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +0 -19
  761. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +0 -19
  762. package/dist/accordion/index.d.mts +0 -73
  763. package/dist/alert-dialog/index.d.mts +0 -159
  764. package/dist/avatar/index.d.mts +0 -66
  765. package/dist/badge/index.d.mts +0 -47
  766. package/dist/breadcrumb/index.d.mts +0 -64
  767. package/dist/button/index.d.mts +0 -41
  768. package/dist/card/index.d.mts +0 -61
  769. package/dist/checkbox/index.d.mts +0 -120
  770. package/dist/chip/index.d.mts +0 -97
  771. package/dist/chunk-2YM6GKWW.mjs.map +0 -1
  772. package/dist/chunk-6QCEPQ3U.mjs +0 -26
  773. package/dist/chunk-6QCEPQ3U.mjs.map +0 -1
  774. package/dist/chunk-7EWSMIZU.mjs +0 -214
  775. package/dist/chunk-7EWSMIZU.mjs.map +0 -1
  776. package/dist/chunk-DCXWGQVZ.mjs +0 -53
  777. package/dist/chunk-DCXWGQVZ.mjs.map +0 -1
  778. package/dist/chunk-GAK4SC2F.mjs.map +0 -1
  779. package/dist/chunk-GPJMLIHC.mjs +0 -308
  780. package/dist/chunk-GPJMLIHC.mjs.map +0 -1
  781. package/dist/chunk-HLXYG643.mjs +0 -52
  782. package/dist/chunk-HLXYG643.mjs.map +0 -1
  783. package/dist/chunk-KEGAAGJW.mjs +0 -36
  784. package/dist/chunk-KEGAAGJW.mjs.map +0 -1
  785. package/dist/chunk-RKPP7ZOK.mjs.map +0 -1
  786. package/dist/chunk-UMUMFMFB.mjs +0 -68
  787. package/dist/chunk-UMUMFMFB.mjs.map +0 -1
  788. package/dist/chunk-VBX7BTNU.mjs +0 -614
  789. package/dist/chunk-VBX7BTNU.mjs.map +0 -1
  790. package/dist/chunk-XZ47F6TP.mjs.map +0 -1
  791. package/dist/collapsible/index.d.mts +0 -43
  792. package/dist/combobox/index.d.mts +0 -287
  793. package/dist/dialog/index.d.mts +0 -166
  794. package/dist/divider/index.d.mts +0 -61
  795. package/dist/docgen.json +0 -47767
  796. package/dist/drawer/index.d.mts +0 -152
  797. package/dist/dropdown/index.d.mts +0 -233
  798. package/dist/file-upload/index.d.mts +0 -270
  799. package/dist/form-field/index.d.mts +0 -186
  800. package/dist/icon/index.d.mts +0 -28
  801. package/dist/icon-button/index.d.mts +0 -16
  802. package/dist/index-Cno_GFuW.d.mts +0 -93
  803. package/dist/index-Cno_GFuW.d.ts +0 -93
  804. package/dist/input/index.d.mts +0 -78
  805. package/dist/kbd/index.d.mts +0 -9
  806. package/dist/label/index.d.mts +0 -11
  807. package/dist/link-box/index.d.mts +0 -34
  808. package/dist/pagination/index.d.mts +0 -143
  809. package/dist/popover/index.d.mts +0 -6
  810. package/dist/progress/index.d.mts +0 -52
  811. package/dist/progress-tracker/index.d.mts +0 -80
  812. package/dist/radio-group/index.d.mts +0 -100
  813. package/dist/rating/index.d.mts +0 -78
  814. package/dist/scrolling-list/index.d.mts +0 -118
  815. package/dist/select/index.d.mts +0 -167
  816. package/dist/skeleton/index.d.mts +0 -67
  817. package/dist/slider/index.d.mts +0 -97
  818. package/dist/slot/index.d.mts +0 -16
  819. package/dist/snackbar/index.d.mts +0 -158
  820. package/dist/spinner/index.d.mts +0 -21
  821. package/dist/stepper/index.d.mts +0 -81
  822. package/dist/tabs/index.d.mts +0 -137
  823. package/dist/tag/index.d.mts +0 -29
  824. package/dist/text-link/index.d.mts +0 -20
  825. package/dist/textarea/index.d.mts +0 -57
  826. package/dist/toast/index.d.mts +0 -63
  827. package/dist/visually-hidden/index.d.mts +0 -16
@@ -1,697 +1,449 @@
1
- import {
2
- Popover
3
- } from "../chunk-GPJMLIHC.mjs";
4
- import {
5
- IconButton
6
- } from "../chunk-DCXWGQVZ.mjs";
7
- import {
8
- Icon
9
- } from "../chunk-UMUMFMFB.mjs";
10
- import "../chunk-2YM6GKWW.mjs";
11
- import {
12
- Spinner
13
- } from "../chunk-GAK4SC2F.mjs";
14
- import {
15
- VisuallyHidden
16
- } from "../chunk-KEGAAGJW.mjs";
17
- import "../chunk-6QCEPQ3U.mjs";
18
-
19
- // src/combobox/ComboboxContext.tsx
20
- import { useFormFieldControl } from "@spark-ui/components/form-field";
21
- import { useCombinedState } from "@spark-ui/hooks/use-combined-state";
22
- import { useCombobox as useCombobox3, useMultipleSelection } from "downshift";
23
- import {
24
- createContext,
25
- Fragment,
26
- useContext,
27
- useEffect,
28
- useId,
29
- useRef,
30
- useState
31
- } from "react";
32
-
33
- // src/combobox/useCombobox/multipleSelectionReducer.ts
34
- import { useCombobox } from "downshift";
35
-
36
- // src/combobox/utils/index.ts
37
- import { isValidElement, Children } from "react";
38
- function getIndexByKey(map, targetKey) {
39
- let index = 0;
40
- for (const [key] of map.entries()) {
41
- if (key === targetKey) {
42
- return index;
43
- }
44
- index++;
1
+ import { jsx as a, jsxs as _, Fragment as te } from "react/jsx-runtime";
2
+ import { useFormFieldControl as oe } from "../form-field/index.mjs";
3
+ import { useCombinedState as Le } from "@spark-ui/hooks/use-combined-state";
4
+ import { b as g, u as Ee } from "../downshift.esm-Ncwetv0s.mjs";
5
+ import { Children as B, isValidElement as z, createContext as ne, useRef as A, useState as T, useEffect as P, useId as q, Fragment as se, useContext as re, useLayoutEffect as ct } from "react";
6
+ import { Popover as K } from "../popover/index.mjs";
7
+ import { DeleteOutline as Ae } from "@spark-ui/icons/DeleteOutline";
8
+ import { a as f, c as Me } from "../index-BmAFn37q.mjs";
9
+ import { I as $ } from "../Icon-D1RueiPY.mjs";
10
+ import { useMergeRefs as W } from "@spark-ui/hooks/use-merge-refs";
11
+ import { ArrowHorizontalDown as dt } from "@spark-ui/icons/ArrowHorizontalDown";
12
+ import { I as ut } from "../IconButton-BY3gYXtU.mjs";
13
+ import { V as mt } from "../VisuallyHidden-ByNP7ZUI.mjs";
14
+ import { Check as pt } from "@spark-ui/icons/Check";
15
+ import { S as bt } from "../Spinner-CYL5kyzM.mjs";
16
+ function Fe(e, o) {
17
+ let t = 0;
18
+ for (const [n] of e.entries()) {
19
+ if (n === o)
20
+ return t;
21
+ t++;
45
22
  }
46
23
  return -1;
47
24
  }
48
- var getKeyAtIndex = (map, index) => {
49
- let i = 0;
50
- for (const key of map.keys()) {
51
- if (i === index) return key;
52
- i++;
25
+ const ft = (e, o) => {
26
+ let t = 0;
27
+ for (const n of e.keys()) {
28
+ if (t === o) return n;
29
+ t++;
53
30
  }
54
- return void 0;
55
- };
56
- var getElementByIndex = (map, index) => {
57
- const key = getKeyAtIndex(map, index);
58
- return key !== void 0 ? map.get(key) : void 0;
59
- };
60
- var getElementDisplayName = (element) => {
61
- return element ? element.type.displayName : "";
62
- };
63
- var getOrderedItems = (children, result = []) => {
64
- Children.forEach(children, (child) => {
65
- if (!isValidElement(child)) return;
66
- if (getElementDisplayName(child) === "Combobox.Item") {
67
- const childProps = child.props;
68
- result.push({
69
- value: childProps.value,
70
- disabled: !!childProps.disabled,
71
- text: getItemText(childProps.children)
31
+ }, It = (e, o) => {
32
+ const t = ft(e, o);
33
+ return t !== void 0 ? e.get(t) : void 0;
34
+ }, J = (e) => e ? e.type.displayName : "", Be = (e, o = []) => (B.forEach(e, (t) => {
35
+ if (z(t)) {
36
+ if (J(t) === "Combobox.Item") {
37
+ const n = t.props;
38
+ o.push({
39
+ value: n.value,
40
+ disabled: !!n.disabled,
41
+ text: Ke(n.children)
72
42
  });
73
43
  }
74
- if (child.props.children) {
75
- getOrderedItems(child.props.children, result);
76
- }
77
- });
78
- return result;
79
- };
80
- var findNestedItemText = (children) => {
81
- if (!children) return "";
82
- for (const child of Children.toArray(children)) {
83
- if (isValidElement(child)) {
84
- const childElement = child;
85
- if (getElementDisplayName(childElement) === "Combobox.ItemText") {
86
- return childElement.props.children;
87
- }
88
- const foundText = findNestedItemText(childElement.props.children);
89
- if (foundText) return foundText;
90
- }
44
+ t.props.children && Be(t.props.children, o);
91
45
  }
92
- return "";
93
- };
94
- var getItemText = (children) => {
95
- return typeof children === "string" ? children : findNestedItemText(children);
96
- };
97
- var getItemsFromChildren = (children) => {
98
- const newMap = /* @__PURE__ */ new Map();
99
- getOrderedItems(children).forEach((itemData) => {
100
- newMap.set(itemData.value, itemData);
101
- });
102
- return newMap;
103
- };
104
- var hasChildComponent = (children, displayName) => {
105
- return Children.toArray(children).some((child) => {
106
- if (!isValidElement(child)) return false;
107
- if (getElementDisplayName(child) === displayName) {
108
- return true;
109
- } else if (child.props.children) {
110
- return hasChildComponent(child.props.children, displayName);
46
+ }), o), ze = (e) => {
47
+ if (!e) return "";
48
+ for (const o of B.toArray(e))
49
+ if (z(o)) {
50
+ const t = o;
51
+ if (J(t) === "Combobox.ItemText")
52
+ return t.props.children;
53
+ const n = ze(t.props.children);
54
+ if (n) return n;
111
55
  }
112
- return false;
113
- });
114
- };
115
- var findElement = (children, value) => {
116
- return Children.toArray(children).filter(isValidElement).find((child) => value === getElementDisplayName(child) || "");
117
- };
118
-
119
- // src/combobox/useCombobox/multipleSelectionReducer.ts
120
- var multipleSelectionReducer = ({
121
- multiselect,
122
- selectedItems,
123
- allowCustomValue = false,
124
- setSelectedItems,
125
- triggerAreaRef,
126
- items
127
- }) => {
128
- const reducer = (_, { changes, type }) => {
129
- const isFocusInsideTriggerArea = triggerAreaRef.current?.contains?.(document.activeElement);
130
- switch (type) {
131
- case useCombobox.stateChangeTypes.InputClick:
132
- return {
133
- ...changes,
134
- isOpen: true
135
- // keep menu opened
136
- };
137
- case useCombobox.stateChangeTypes.InputKeyDownEnter:
138
- case useCombobox.stateChangeTypes.ItemClick: {
139
- const newState = { ...changes };
140
- if (changes.selectedItem != null) {
141
- newState.inputValue = "";
142
- newState.isOpen = true;
143
- const highlightedIndex = getIndexByKey(items, changes.selectedItem.value);
144
- newState.highlightedIndex = highlightedIndex;
145
- const isAlreadySelected = multiselect.selectedItems.some(
146
- (selectedItem) => selectedItem.value === changes.selectedItem?.value
147
- );
148
- const updatedItems = isAlreadySelected ? selectedItems.filter((item) => item.value !== changes.selectedItem?.value) : [...selectedItems, changes.selectedItem];
149
- setSelectedItems(updatedItems);
150
- }
151
- return newState;
56
+ return "";
57
+ }, Ke = (e) => typeof e == "string" ? e : ze(e), Re = (e) => {
58
+ const o = /* @__PURE__ */ new Map();
59
+ return Be(e).forEach((t) => {
60
+ o.set(t.value, t);
61
+ }), o;
62
+ }, $e = (e, o) => B.toArray(e).some((t) => z(t) ? J(t) === o ? !0 : t.props.children ? $e(t.props.children, o) : !1 : !1), F = (e, o) => B.toArray(e).filter(z).find((t) => o === J(t) || ""), xt = ({
63
+ multiselect: e,
64
+ selectedItems: o,
65
+ allowCustomValue: t = !1,
66
+ setSelectedItems: n,
67
+ triggerAreaRef: l,
68
+ items: r
69
+ }) => (i, { changes: s, type: m }) => {
70
+ const u = l.current?.contains?.(document.activeElement);
71
+ switch (m) {
72
+ case g.stateChangeTypes.InputClick:
73
+ return {
74
+ ...s,
75
+ isOpen: !0
76
+ // keep menu opened
77
+ };
78
+ case g.stateChangeTypes.InputKeyDownEnter:
79
+ case g.stateChangeTypes.ItemClick: {
80
+ const b = { ...s };
81
+ if (s.selectedItem != null) {
82
+ b.inputValue = "", b.isOpen = !0;
83
+ const O = Fe(r, s.selectedItem.value);
84
+ b.highlightedIndex = O;
85
+ const k = e.selectedItems.some(
86
+ (x) => x.value === s.selectedItem?.value
87
+ ) ? o.filter((x) => x.value !== s.selectedItem?.value) : [...o, s.selectedItem];
88
+ n(k);
152
89
  }
153
- case useCombobox.stateChangeTypes.ToggleButtonClick:
154
- return {
155
- ...changes,
156
- inputValue: allowCustomValue ? changes.inputValue : ""
157
- };
158
- case useCombobox.stateChangeTypes.InputChange:
159
- return {
160
- ...changes,
161
- selectedItem: changes.highlightedIndex === -1 ? null : changes.selectedItem
162
- };
163
- case useCombobox.stateChangeTypes.InputBlur:
164
- return {
165
- ...changes,
166
- inputValue: allowCustomValue ? changes.inputValue : "",
167
- isOpen: isFocusInsideTriggerArea
168
- };
169
- default:
170
- return changes;
171
- }
172
- };
173
- return reducer;
174
- };
175
-
176
- // src/combobox/useCombobox/singleSelectionReducer.ts
177
- import { useCombobox as useCombobox2 } from "downshift";
178
- var singleSelectionReducer = ({
179
- filteredItems,
180
- allowCustomValue = false,
181
- setSelectedItem
182
- }) => {
183
- const reducer = (state, { changes, type }) => {
184
- const exactMatch = filteredItems.find(
185
- (item) => item.text.toLowerCase() === state.inputValue.toLowerCase()
186
- );
187
- switch (type) {
188
- case useCombobox2.stateChangeTypes.InputKeyDownEscape:
189
- if (!changes.selectedItem) {
190
- setSelectedItem(null);
191
- }
192
- return changes;
193
- case useCombobox2.stateChangeTypes.ItemClick:
194
- case useCombobox2.stateChangeTypes.InputKeyDownEnter:
195
- if (changes.selectedItem) {
196
- setSelectedItem(changes.selectedItem);
197
- }
198
- return changes;
199
- case useCombobox2.stateChangeTypes.InputClick:
200
- return { ...changes, isOpen: true };
201
- case useCombobox2.stateChangeTypes.ToggleButtonClick:
202
- case useCombobox2.stateChangeTypes.InputBlur:
203
- if (allowCustomValue) return changes;
204
- if (state.inputValue === "") {
205
- setSelectedItem(null);
206
- return { ...changes, selectedItem: null };
207
- }
208
- if (exactMatch) {
209
- setSelectedItem(exactMatch);
210
- return { ...changes, selectedItem: exactMatch, inputValue: exactMatch.text };
211
- }
212
- if (state.selectedItem) {
213
- return { ...changes, inputValue: state.selectedItem.text };
214
- }
215
- return { ...changes, inputValue: "" };
216
- default:
217
- return changes;
218
- }
219
- };
220
- return reducer;
221
- };
222
-
223
- // src/combobox/ComboboxContext.tsx
224
- import { jsx } from "react/jsx-runtime";
225
- var ComboboxContext = createContext(null);
226
- var getFilteredItemsMap = (map, inputValue) => {
227
- if (!inputValue) return map;
228
- return new Map(
229
- Array.from(map).filter(([_, { text }]) => text.toLowerCase().includes(inputValue.toLowerCase()))
90
+ return b;
91
+ }
92
+ case g.stateChangeTypes.ToggleButtonClick:
93
+ return {
94
+ ...s,
95
+ inputValue: t ? s.inputValue : ""
96
+ };
97
+ case g.stateChangeTypes.InputChange:
98
+ return {
99
+ ...s,
100
+ selectedItem: s.highlightedIndex === -1 ? null : s.selectedItem
101
+ };
102
+ case g.stateChangeTypes.InputBlur:
103
+ return {
104
+ ...s,
105
+ inputValue: t ? s.inputValue : "",
106
+ isOpen: u
107
+ };
108
+ default:
109
+ return s;
110
+ }
111
+ }, yt = ({
112
+ filteredItems: e,
113
+ allowCustomValue: o = !1,
114
+ setSelectedItem: t
115
+ }) => (l, { changes: r, type: c }) => {
116
+ const i = e.find(
117
+ (s) => s.text.toLowerCase() === l.inputValue.toLowerCase()
230
118
  );
231
- };
232
- var ID_PREFIX = ":combobox";
233
- var ComboboxProvider = ({
234
- children,
235
- state: stateProp,
236
- allowCustomValue = false,
237
- filtering = "auto",
238
- disabled: disabledProp = false,
239
- multiple = false,
240
- readOnly: readOnlyProp = false,
241
- wrap = true,
119
+ switch (c) {
120
+ case g.stateChangeTypes.InputKeyDownEscape:
121
+ return r.selectedItem || t(null), r;
122
+ case g.stateChangeTypes.ItemClick:
123
+ case g.stateChangeTypes.InputKeyDownEnter:
124
+ return r.selectedItem && t(r.selectedItem), r;
125
+ case g.stateChangeTypes.InputClick:
126
+ return { ...r, isOpen: !0 };
127
+ case g.stateChangeTypes.ToggleButtonClick:
128
+ case g.stateChangeTypes.InputBlur:
129
+ return o ? r : l.inputValue === "" ? (t(null), { ...r, selectedItem: null }) : i ? (t(i), { ...r, selectedItem: i, inputValue: i.text }) : l.selectedItem ? { ...r, inputValue: l.selectedItem.text } : { ...r, inputValue: "" };
130
+ default:
131
+ return r;
132
+ }
133
+ }, We = ne(null), ee = (e, o) => o ? new Map(
134
+ Array.from(e).filter(([t, { text: n }]) => n.toLowerCase().includes(o.toLowerCase()))
135
+ ) : e, U = ":combobox", Ct = ({
136
+ children: e,
137
+ state: o,
138
+ allowCustomValue: t = !1,
139
+ filtering: n = "auto",
140
+ disabled: l = !1,
141
+ multiple: r = !1,
142
+ readOnly: c = !1,
143
+ wrap: i = !0,
242
144
  // Value
243
- value: controlledValue,
244
- defaultValue,
245
- onValueChange,
145
+ value: s,
146
+ defaultValue: m,
147
+ onValueChange: u,
246
148
  // Open
247
- open: controlledOpen,
248
- defaultOpen,
249
- onOpenChange,
250
- isLoading
149
+ open: b,
150
+ defaultOpen: O,
151
+ onOpenChange: I,
152
+ isLoading: k
251
153
  }) => {
252
- const isMounted = useRef(false);
253
- const [inputValue, setInputValue] = useState("");
254
- const [isTyping, setIsTyping] = useState(filtering === "strict");
255
- const triggerAreaRef = useRef(null);
256
- const innerInputRef = useRef(null);
257
- const [onInputValueChange, setOnInputValueChange] = useState(null);
258
- const [comboboxValue] = useCombinedState(controlledValue, defaultValue);
259
- const shouldFilterItems = filtering === "strict" || filtering === "auto" && isTyping;
260
- const [itemsMap, setItemsMap] = useState(getItemsFromChildren(children));
261
- const [filteredItemsMap, setFilteredItems] = useState(
262
- shouldFilterItems ? getFilteredItemsMap(itemsMap, inputValue) : itemsMap
263
- );
264
- const [selectedItem, setSelectedItem] = useState(
265
- itemsMap.get(comboboxValue) || null
266
- );
267
- const [selectedItems, setSelectedItems] = useState(
268
- comboboxValue ? [...itemsMap.values()].filter((item) => comboboxValue.includes(item.value)) : []
269
- );
270
- const onInternalSelectedItemChange = (item) => {
271
- setIsTyping(false);
272
- if (item?.value !== selectedItem?.value) {
273
- setSelectedItem(item);
274
- setTimeout(() => {
275
- onValueChange?.(item?.value);
276
- }, 0);
277
- }
278
- };
279
- const onInternalSelectedItemsChange = (items) => {
280
- setSelectedItems(items);
281
- setTimeout(() => {
282
- onValueChange?.(items.map((i) => i.value));
154
+ const x = A(!1), [w, N] = T(""), [E, h] = T(n === "strict"), R = A(null), V = A(null), [X, G] = T(null), [D] = Le(s, m), Q = n === "strict" || n === "auto" && E, [C, qe] = T(Re(e)), [H, ve] = T(
155
+ Q ? ee(C, w) : C
156
+ ), [we, Ne] = T(
157
+ C.get(D) || null
158
+ ), [Te, Pe] = T(
159
+ D ? [...C.values()].filter((d) => D.includes(d.value)) : []
160
+ ), Se = (d) => {
161
+ h(!1), d?.value !== we?.value && (Ne(d), setTimeout(() => {
162
+ u?.(d?.value);
163
+ }, 0));
164
+ }, Y = (d) => {
165
+ Pe(d), setTimeout(() => {
166
+ u?.(d.map((y) => y.value));
283
167
  }, 0);
284
168
  };
285
- useEffect(() => {
286
- if (!isMounted.current) {
287
- isMounted.current = true;
169
+ P(() => {
170
+ if (!x.current) {
171
+ x.current = !0;
288
172
  return;
289
173
  }
290
- if (multiple) {
291
- const newSelectedItems = comboboxValue.reduce(
292
- (accum, value) => {
293
- const match = itemsMap.get(value);
294
- return match ? [...accum, match] : accum;
174
+ if (r) {
175
+ const d = D.reduce(
176
+ (y, p) => {
177
+ const S = C.get(p);
178
+ return S ? [...y, S] : y;
295
179
  },
296
180
  []
297
181
  );
298
- setSelectedItems(comboboxValue ? newSelectedItems : []);
299
- } else {
300
- setSelectedItem(itemsMap.get(comboboxValue) || null);
301
- }
302
- }, [multiple ? JSON.stringify(comboboxValue) : comboboxValue]);
303
- const field = useFormFieldControl();
304
- const internalFieldLabelID = `${ID_PREFIX}-label-${useId()}`;
305
- const internalFieldID = `${ID_PREFIX}-field-${useId()}`;
306
- const id = field.id || internalFieldID;
307
- const labelId = field.labelId || internalFieldLabelID;
308
- const state = field.state || stateProp;
309
- const disabled = field.disabled ?? disabledProp;
310
- const readOnly = field.readOnly ?? readOnlyProp;
311
- const [hasPopover, setHasPopover] = useState(
312
- hasChildComponent(children, "Combobox.Popover")
313
- );
314
- const [areSelectedItemsInTrigger, setAreSelectedItemsInTrigger] = useState(false);
315
- const [lastInteractionType, setLastInteractionType] = useState("mouse");
316
- useEffect(() => {
317
- setFilteredItems(shouldFilterItems ? getFilteredItemsMap(itemsMap, inputValue) : itemsMap);
318
- }, [inputValue, itemsMap]);
319
- const multiselect = useMultipleSelection({
320
- selectedItems,
321
- stateReducer: (state2, { type, changes }) => {
322
- const types = useMultipleSelection.stateChangeTypes;
323
- switch (type) {
324
- case types.SelectedItemKeyDownBackspace:
325
- case types.SelectedItemKeyDownDelete: {
326
- onInternalSelectedItemsChange(changes.selectedItems || []);
327
- let activeIndex;
328
- if (type === types.SelectedItemKeyDownDelete) {
329
- const isLastItem = state2?.activeIndex === changes.selectedItems?.length;
330
- activeIndex = isLastItem ? -1 : state2.activeIndex;
331
- } else {
332
- const hasItemBefore = (changes?.activeIndex || 0) - 1 >= 0;
333
- activeIndex = hasItemBefore ? state2.activeIndex - 1 : changes?.activeIndex;
334
- }
335
- return {
336
- ...changes,
337
- activeIndex
182
+ Pe(D ? d : []);
183
+ } else
184
+ Ne(C.get(D) || null);
185
+ }, [r ? JSON.stringify(D) : D]);
186
+ const M = oe(), Ue = `${U}-label-${q()}`, Je = `${U}-field-${q()}`, Oe = M.id || Je, Xe = M.labelId || Ue, Qe = M.state || o, Ye = M.disabled ?? l, Ze = M.readOnly ?? c, [ke, et] = T(
187
+ $e(e, "Combobox.Popover")
188
+ ), [tt, ot] = T(!1), [nt, st] = T("mouse");
189
+ P(() => {
190
+ ve(Q ? ee(C, w) : C);
191
+ }, [w, C]);
192
+ const Ve = Ee({
193
+ selectedItems: Te,
194
+ stateReducer: (d, { type: y, changes: p }) => {
195
+ const S = Ee.stateChangeTypes;
196
+ switch (y) {
197
+ case S.SelectedItemKeyDownBackspace:
198
+ case S.SelectedItemKeyDownDelete: {
199
+ Y(p.selectedItems || []);
200
+ let L;
201
+ return y === S.SelectedItemKeyDownDelete ? L = d?.activeIndex === p.selectedItems?.length ? -1 : d.activeIndex : L = (p?.activeIndex || 0) - 1 >= 0 ? d.activeIndex - 1 : p?.activeIndex, {
202
+ ...p,
203
+ activeIndex: L
338
204
  };
339
205
  }
340
- case types.SelectedItemClick:
341
- if (innerInputRef.current) {
342
- innerInputRef.current.focus();
343
- }
344
- return {
345
- ...changes,
206
+ case S.SelectedItemClick:
207
+ return V.current && V.current.focus(), {
208
+ ...p,
346
209
  activeIndex: -1
347
210
  // the focus will remain on the input
348
211
  };
349
- case types.FunctionRemoveSelectedItem:
212
+ case S.FunctionRemoveSelectedItem:
350
213
  return {
351
- ...changes,
214
+ ...p,
352
215
  activeIndex: -1
353
216
  // the focus will remain on the input
354
217
  };
355
- case types.DropdownKeyDownNavigationPrevious:
356
- downshift.closeMenu();
357
- return changes;
218
+ case S.DropdownKeyDownNavigationPrevious:
219
+ return Z.closeMenu(), p;
358
220
  default:
359
- return changes;
221
+ return p;
360
222
  }
361
223
  }
362
- });
363
- const filteredItems = Array.from(filteredItemsMap.values());
364
- useEffect(() => {
365
- onInputValueChange?.(inputValue || "");
366
- }, [inputValue]);
367
- const downshift = useCombobox3({
368
- inputId: id,
369
- items: filteredItems,
370
- selectedItem: multiple ? void 0 : selectedItem,
371
- id,
372
- labelId,
224
+ }), De = Array.from(H.values());
225
+ P(() => {
226
+ X?.(w || "");
227
+ }, [w]);
228
+ const Z = g({
229
+ inputId: Oe,
230
+ items: De,
231
+ selectedItem: r ? void 0 : we,
232
+ id: Oe,
233
+ labelId: Xe,
373
234
  // Input
374
- inputValue,
375
- onInputValueChange: ({ inputValue: newInputValue }) => {
376
- setInputValue(newInputValue);
377
- if (shouldFilterItems) {
378
- const filtered = getFilteredItemsMap(itemsMap, newInputValue || "");
379
- setFilteredItems(filtered);
235
+ inputValue: w,
236
+ onInputValueChange: ({ inputValue: d }) => {
237
+ if (N(d), Q) {
238
+ const y = ee(C, d || "");
239
+ ve(y);
380
240
  }
381
241
  },
382
242
  // Open
383
- initialIsOpen: defaultOpen,
384
- ...controlledOpen != null && { isOpen: controlledOpen },
385
- onIsOpenChange: (changes) => {
386
- if (changes.isOpen != null) {
387
- onOpenChange?.(changes.isOpen);
388
- }
243
+ initialIsOpen: O,
244
+ ...b != null && { isOpen: b },
245
+ onIsOpenChange: (d) => {
246
+ d.isOpen != null && I?.(d.isOpen);
389
247
  },
390
248
  // Custom Spark item object parsing
391
- itemToString: (item) => {
392
- return item?.text;
393
- },
394
- isItemDisabled: (item) => {
395
- const isFilteredOut = !!inputValue && !filteredItems.some((filteredItem) => {
396
- return item.value === filteredItem.value;
397
- });
398
- return item.disabled || isFilteredOut;
249
+ itemToString: (d) => d?.text,
250
+ isItemDisabled: (d) => {
251
+ const y = !!w && !De.some((p) => d.value === p.value);
252
+ return d.disabled || y;
399
253
  },
400
254
  // Main reducer
401
- stateReducer: multiple ? multipleSelectionReducer({
402
- multiselect,
403
- selectedItems,
404
- allowCustomValue,
405
- setSelectedItems: onInternalSelectedItemsChange,
406
- triggerAreaRef,
407
- items: itemsMap
408
- }) : singleSelectionReducer({
409
- allowCustomValue,
410
- setSelectedItem: onInternalSelectedItemChange,
411
- filteredItems: [...filteredItemsMap.values()]
255
+ stateReducer: r ? xt({
256
+ multiselect: Ve,
257
+ selectedItems: Te,
258
+ allowCustomValue: t,
259
+ setSelectedItems: Y,
260
+ triggerAreaRef: R,
261
+ items: C
262
+ }) : yt({
263
+ allowCustomValue: t,
264
+ setSelectedItem: Se,
265
+ filteredItems: [...H.values()]
412
266
  }),
413
267
  /**
414
268
  * Downshift default behaviour is to scroll into view the highlighted item when the dropdown opens. This behaviour is not stable and scrolls the dropdown to the bottom of the screen.
415
269
  */
416
- scrollIntoView: (node) => {
417
- if (node) {
418
- node.scrollIntoView({ block: "nearest" });
419
- }
420
- return void 0;
270
+ scrollIntoView: (d) => {
271
+ d && d.scrollIntoView({ block: "nearest" });
421
272
  }
422
273
  });
423
- useEffect(() => {
424
- const newMap = getItemsFromChildren(children);
425
- const previousItems = [...itemsMap.values()];
426
- const newItems = [...newMap.values()];
427
- const hasItemsChanges = previousItems.length !== newItems.length || previousItems.some((item, index) => {
428
- const hasUpdatedValue = item.value !== newItems[index]?.value;
429
- const hasUpdatedText = item.text !== newItems[index]?.text;
430
- return hasUpdatedValue || hasUpdatedText;
431
- });
432
- if (hasItemsChanges) {
433
- setItemsMap(newMap);
434
- }
435
- }, [children]);
436
- const [WrapperComponent, wrapperProps] = hasPopover ? [Popover, { open: true }] : [Fragment, {}];
437
- return /* @__PURE__ */ jsx(
438
- ComboboxContext.Provider,
274
+ P(() => {
275
+ const d = Re(e), y = [...C.values()], p = [...d.values()];
276
+ (y.length !== p.length || y.some((L, j) => {
277
+ const at = L.value !== p[j]?.value, it = L.text !== p[j]?.text;
278
+ return at || it;
279
+ })) && qe(d);
280
+ }, [e]);
281
+ const [rt, lt] = ke ? [K, { open: !0 }] : [se, {}];
282
+ return /* @__PURE__ */ a(
283
+ We.Provider,
439
284
  {
440
285
  value: {
441
286
  // Data
442
- itemsMap,
443
- filteredItemsMap,
444
- highlightedItem: getElementByIndex(filteredItemsMap, downshift.highlightedIndex),
287
+ itemsMap: C,
288
+ filteredItemsMap: H,
289
+ highlightedItem: It(H, Z.highlightedIndex),
445
290
  // State
446
- multiple,
447
- disabled,
448
- readOnly,
449
- areSelectedItemsInTrigger,
450
- setAreSelectedItemsInTrigger,
451
- hasPopover,
452
- setHasPopover,
453
- state,
454
- lastInteractionType,
455
- setLastInteractionType,
456
- wrap,
291
+ multiple: r,
292
+ disabled: Ye,
293
+ readOnly: Ze,
294
+ areSelectedItemsInTrigger: tt,
295
+ setAreSelectedItemsInTrigger: ot,
296
+ hasPopover: ke,
297
+ setHasPopover: et,
298
+ state: Qe,
299
+ lastInteractionType: nt,
300
+ setLastInteractionType: st,
301
+ wrap: i,
457
302
  // Refs
458
- innerInputRef,
459
- triggerAreaRef,
303
+ innerInputRef: V,
304
+ triggerAreaRef: R,
460
305
  // Downshift state
461
- ...downshift,
462
- ...multiselect,
463
- setInputValue,
464
- selectItem: onInternalSelectedItemChange,
465
- setSelectedItems: onInternalSelectedItemsChange,
466
- isLoading,
467
- setOnInputValueChange,
468
- isTyping,
469
- setIsTyping
306
+ ...Z,
307
+ ...Ve,
308
+ setInputValue: N,
309
+ selectItem: Se,
310
+ setSelectedItems: Y,
311
+ isLoading: k,
312
+ setOnInputValueChange: G,
313
+ isTyping: E,
314
+ setIsTyping: h
470
315
  },
471
- children: /* @__PURE__ */ jsx(WrapperComponent, { ...wrapperProps, children })
316
+ children: /* @__PURE__ */ a(rt, { ...lt, children: e })
472
317
  }
473
318
  );
474
- };
475
- var useComboboxContext = () => {
476
- const context = useContext(ComboboxContext);
477
- if (!context) {
319
+ }, v = () => {
320
+ const e = re(We);
321
+ if (!e)
478
322
  throw Error("useComboboxContext must be used within a Combobox provider");
479
- }
480
- return context;
481
- };
482
-
483
- // src/combobox/Combobox.tsx
484
- import { jsx as jsx2 } from "react/jsx-runtime";
485
- var Combobox = ({ children, ...props }) => {
486
- return /* @__PURE__ */ jsx2(ComboboxProvider, { ...props, children });
487
- };
488
- Combobox.displayName = "Combobox";
489
-
490
- // src/combobox/ComboboxClearButton.tsx
491
- import { DeleteOutline } from "@spark-ui/icons/DeleteOutline";
492
- import { cx } from "class-variance-authority";
493
- import { jsx as jsx3 } from "react/jsx-runtime";
494
- var ClearButton = ({
495
- className,
496
- tabIndex = -1,
497
- onClick,
498
- ref,
499
- ...others
323
+ return e;
324
+ }, Ge = ({ children: e, ...o }) => /* @__PURE__ */ a(Ct, { ...o, children: e });
325
+ Ge.displayName = "Combobox";
326
+ const le = ({
327
+ className: e,
328
+ tabIndex: o = -1,
329
+ onClick: t,
330
+ ref: n,
331
+ ...l
500
332
  }) => {
501
- const ctx = useComboboxContext();
502
- const handleClick = (event) => {
503
- event.stopPropagation();
504
- if (ctx.multiple) {
505
- ctx.setSelectedItems([]);
506
- } else {
507
- ctx.selectItem(null);
508
- }
509
- ctx.setInputValue("");
510
- if (ctx.innerInputRef.current) {
511
- ctx.innerInputRef.current.focus();
512
- }
513
- if (onClick) {
514
- onClick(event);
515
- }
333
+ const r = v(), c = (i) => {
334
+ i.stopPropagation(), r.multiple ? r.setSelectedItems([]) : r.selectItem(null), r.setInputValue(""), r.innerInputRef.current && r.innerInputRef.current.focus(), t && t(i);
516
335
  };
517
- return /* @__PURE__ */ jsx3(
336
+ return /* @__PURE__ */ a(
518
337
  "button",
519
338
  {
520
- ref,
521
- className: cx(className, "h-sz-44 text-neutral hover:text-neutral-hovered"),
522
- tabIndex,
523
- onClick: handleClick,
339
+ ref: n,
340
+ className: f(e, "h-sz-44 text-neutral hover:text-neutral-hovered"),
341
+ tabIndex: o,
342
+ onClick: c,
524
343
  type: "button",
525
- ...others,
526
- children: /* @__PURE__ */ jsx3(Icon, { size: "sm", children: /* @__PURE__ */ jsx3(DeleteOutline, {}) })
344
+ ...l,
345
+ children: /* @__PURE__ */ a($, { size: "sm", children: /* @__PURE__ */ a(Ae, {}) })
527
346
  }
528
347
  );
529
348
  };
530
- ClearButton.displayName = "Combobox.ClearButton";
531
-
532
- // src/combobox/ComboboxDisclosure.tsx
533
- import { useMergeRefs } from "@spark-ui/hooks/use-merge-refs";
534
- import { ArrowHorizontalDown } from "@spark-ui/icons/ArrowHorizontalDown";
535
- import { cx as cx2 } from "class-variance-authority";
536
- import { jsx as jsx4 } from "react/jsx-runtime";
537
- var Disclosure = ({
538
- className,
539
- closedLabel,
540
- openedLabel,
541
- intent = "neutral",
542
- design = "ghost",
543
- size = "sm",
544
- ref: forwardedRef,
545
- ...props
349
+ le.displayName = "Combobox.ClearButton";
350
+ const ae = ({
351
+ className: e,
352
+ closedLabel: o,
353
+ openedLabel: t,
354
+ intent: n = "neutral",
355
+ design: l = "ghost",
356
+ size: r = "sm",
357
+ ref: c,
358
+ ...i
546
359
  }) => {
547
- const ctx = useComboboxContext();
548
- const { ref: downshiftRef, ...downshiftDisclosureProps } = ctx.getToggleButtonProps({
549
- disabled: ctx.disabled || ctx.readOnly,
550
- onClick: (event) => {
551
- event.stopPropagation();
552
- }
553
- });
554
- const isExpanded = downshiftDisclosureProps["aria-expanded"];
555
- const ref = useMergeRefs(forwardedRef, downshiftRef);
556
- return /* @__PURE__ */ jsx4(
557
- IconButton,
360
+ const s = v(), { ref: m, ...u } = s.getToggleButtonProps({
361
+ disabled: s.disabled || s.readOnly,
362
+ onClick: (I) => {
363
+ I.stopPropagation();
364
+ }
365
+ }), b = u["aria-expanded"], O = W(c, m);
366
+ return /* @__PURE__ */ a(
367
+ ut,
558
368
  {
559
- ref,
560
- className: cx2(className, "ml-sm mt-[calc((44px-32px)/2)]"),
561
- intent,
562
- design,
563
- size,
564
- ...downshiftDisclosureProps,
565
- ...props,
566
- "aria-label": isExpanded ? openedLabel : closedLabel,
567
- disabled: ctx.disabled,
568
- children: /* @__PURE__ */ jsx4(
569
- Icon,
369
+ ref: O,
370
+ className: f(e, "ml-sm mt-[calc((44px-32px)/2)]"),
371
+ intent: n,
372
+ design: l,
373
+ size: r,
374
+ ...u,
375
+ ...i,
376
+ "aria-label": b ? t : o,
377
+ disabled: s.disabled,
378
+ children: /* @__PURE__ */ a(
379
+ $,
570
380
  {
571
- className: cx2("shrink-0", "rotate-0 transition duration-100 ease-in", {
572
- "rotate-180": isExpanded
381
+ className: f("shrink-0", "rotate-0 transition duration-100 ease-in", {
382
+ "rotate-180": b
573
383
  }),
574
384
  size: "sm",
575
- children: /* @__PURE__ */ jsx4(ArrowHorizontalDown, {})
385
+ children: /* @__PURE__ */ a(dt, {})
576
386
  }
577
387
  )
578
388
  }
579
389
  );
580
390
  };
581
- Disclosure.displayName = "Combobox.Disclosure";
582
-
583
- // src/combobox/ComboboxEmpty.tsx
584
- import { cx as cx3 } from "class-variance-authority";
585
- import { jsx as jsx5 } from "react/jsx-runtime";
586
- var Empty = ({ className, children, ref: forwardedRef }) => {
587
- const ctx = useComboboxContext();
588
- const hasNoItemVisible = ctx.filteredItemsMap.size === 0;
589
- return hasNoItemVisible ? /* @__PURE__ */ jsx5(
590
- "div",
591
- {
592
- ref: forwardedRef,
593
- className: cx3("px-lg py-md text-body-1 text-on-surface/dim-1", className),
594
- children
595
- }
596
- ) : null;
597
- };
598
- Empty.displayName = "Combobox.Empty";
599
-
600
- // src/combobox/ComboboxGroup.tsx
601
- import { cx as cx4 } from "class-variance-authority";
602
- import { Children as Children2, isValidElement as isValidElement2 } from "react";
603
-
604
- // src/combobox/ComboboxItemsGroupContext.tsx
605
- import { createContext as createContext2, useContext as useContext2, useId as useId2 } from "react";
606
- import { jsx as jsx6 } from "react/jsx-runtime";
607
- var ComboboxGroupContext = createContext2(null);
608
- var ComboboxGroupProvider = ({ children }) => {
609
- const groupLabelId = `${ID_PREFIX}-group-label-${useId2()}`;
610
- return /* @__PURE__ */ jsx6(ComboboxGroupContext.Provider, { value: { groupLabelId }, children });
611
- };
612
- var useComboboxGroupContext = () => {
613
- const context = useContext2(ComboboxGroupContext);
614
- if (!context) {
615
- throw Error("useComboboxGroupContext must be used within a ComboboxGroup provider");
391
+ ae.displayName = "Combobox.Disclosure";
392
+ const ie = ({ className: e, children: o, ref: t }) => v().filteredItemsMap.size === 0 ? /* @__PURE__ */ a(
393
+ "div",
394
+ {
395
+ ref: t,
396
+ className: f("px-lg py-md text-body-1 text-on-surface/dim-1", e),
397
+ children: o
616
398
  }
617
- return context;
618
- };
619
-
620
- // src/combobox/ComboboxGroup.tsx
621
- import { jsx as jsx7 } from "react/jsx-runtime";
622
- var Group = ({ children, ref: forwardedRef, ...props }) => {
623
- return /* @__PURE__ */ jsx7(ComboboxGroupProvider, { children: /* @__PURE__ */ jsx7(GroupContent, { ref: forwardedRef, ...props, children }) });
624
- };
625
- var GroupContent = ({ children, className, ref: forwardedRef }) => {
626
- const ctx = useComboboxContext();
627
- const groupCtx = useComboboxGroupContext();
628
- const hasVisibleOptions = Children2.toArray(children).some((child) => {
629
- return isValidElement2(child) && ctx.filteredItemsMap.get(child.props.value);
630
- });
631
- return hasVisibleOptions ? /* @__PURE__ */ jsx7(
399
+ ) : null;
400
+ ie.displayName = "Combobox.Empty";
401
+ const He = ne(null), gt = ({ children: e }) => {
402
+ const o = `${U}-group-label-${q()}`;
403
+ return /* @__PURE__ */ a(He.Provider, { value: { groupLabelId: o }, children: e });
404
+ }, je = () => {
405
+ const e = re(He);
406
+ if (!e)
407
+ throw Error("useComboboxGroupContext must be used within a ComboboxGroup provider");
408
+ return e;
409
+ }, ce = ({ children: e, ref: o, ...t }) => /* @__PURE__ */ a(gt, { children: /* @__PURE__ */ a(ht, { ref: o, ...t, children: e }) }), ht = ({ children: e, className: o, ref: t }) => {
410
+ const n = v(), l = je();
411
+ return B.toArray(e).some((c) => z(c) && n.filteredItemsMap.get(c.props.value)) ? /* @__PURE__ */ a(
632
412
  "div",
633
413
  {
634
- ref: forwardedRef,
414
+ ref: t,
635
415
  role: "group",
636
- "aria-labelledby": groupCtx.groupLabelId,
637
- className: cx4(className),
638
- children
416
+ "aria-labelledby": l.groupLabelId,
417
+ className: f(o),
418
+ children: e
639
419
  }
640
420
  ) : null;
641
421
  };
642
- Group.displayName = "Combobox.Group";
643
-
644
- // src/combobox/ComboboxInput.tsx
645
- import { useFormFieldControl as useFormFieldControl2 } from "@spark-ui/components/form-field";
646
- import { useCombinedState as useCombinedState2 } from "@spark-ui/hooks/use-combined-state";
647
- import { useMergeRefs as useMergeRefs2 } from "@spark-ui/hooks/use-merge-refs";
648
- import { cx as cx5 } from "class-variance-authority";
649
- import {
650
- Fragment as Fragment2,
651
- useEffect as useEffect2
652
- } from "react";
653
- import { Fragment as Fragment3, jsx as jsx8, jsxs } from "react/jsx-runtime";
654
- var Input = ({
655
- "aria-label": ariaLabel,
656
- className,
657
- placeholder,
658
- value,
659
- defaultValue,
660
- onValueChange,
661
- ref: forwardedRef,
662
- ...props
422
+ ce.displayName = "Combobox.Group";
423
+ const de = ({
424
+ "aria-label": e,
425
+ className: o,
426
+ placeholder: t,
427
+ value: n,
428
+ defaultValue: l,
429
+ onValueChange: r,
430
+ ref: c,
431
+ ...i
663
432
  }) => {
664
- const ctx = useComboboxContext();
665
- const field = useFormFieldControl2();
666
- const [inputValue] = useCombinedState2(value, defaultValue);
667
- const { isInvalid, description } = field;
668
- useEffect2(() => {
669
- if (inputValue != null) {
670
- ctx.setInputValue(inputValue);
671
- }
672
- }, [inputValue]);
673
- useEffect2(() => {
674
- if (onValueChange) {
675
- ctx.setOnInputValueChange(() => onValueChange);
676
- }
677
- if (!ctx.multiple && ctx.selectedItem) {
678
- ctx.setInputValue(ctx.selectedItem.text);
679
- }
433
+ const s = v(), m = oe(), [u] = Le(n, l), { isInvalid: b, description: O } = m;
434
+ P(() => {
435
+ u != null && s.setInputValue(u);
436
+ }, [u]), P(() => {
437
+ r && s.setOnInputValueChange(() => r), !s.multiple && s.selectedItem && s.setInputValue(s.selectedItem.text);
680
438
  }, []);
681
- const PopoverTrigger = ctx.hasPopover ? Popover.Trigger : Fragment2;
682
- const popoverTriggerProps = ctx.hasPopover ? {
683
- asChild: true,
439
+ const I = s.hasPopover ? K.Trigger : se, k = s.hasPopover ? {
440
+ asChild: !0,
684
441
  type: void 0
685
- } : {};
686
- const multiselectInputProps = ctx.getDropdownProps();
687
- const inputRef = useMergeRefs2(forwardedRef, ctx.innerInputRef, multiselectInputProps.ref);
688
- const downshiftInputProps = ctx.getInputProps({
689
- disabled: ctx.disabled || ctx.readOnly,
690
- ...multiselectInputProps,
691
- onKeyDown: (event) => {
692
- multiselectInputProps.onKeyDown?.(event);
693
- ctx.setLastInteractionType("keyboard");
694
- ctx.setIsTyping(true);
442
+ } : {}, x = s.getDropdownProps(), w = W(c, s.innerInputRef, x.ref), N = s.getInputProps({
443
+ disabled: s.disabled || s.readOnly,
444
+ ...x,
445
+ onKeyDown: (V) => {
446
+ x.onKeyDown?.(V), s.setLastInteractionType("keyboard"), s.setIsTyping(!0);
695
447
  },
696
448
  /**
697
449
  *
@@ -699,99 +451,73 @@ var Input = ({
699
451
  * - without this, the input cursor is moved to the end after every change.
700
452
  * @see https://github.com/downshift-js/downshift/issues/1108#issuecomment-674180157
701
453
  */
702
- onChange: (e) => {
703
- ctx.setInputValue(e.target.value);
454
+ onChange: (V) => {
455
+ s.setInputValue(V.target.value);
704
456
  },
705
- ref: inputRef
706
- });
707
- const hasPlaceholder = ctx.multiple ? !ctx.areSelectedItemsInTrigger || ctx.selectedItems.length === 0 : ctx.selectedItem === null;
708
- function mergeHandlers(handlerA, handlerB) {
709
- return (event) => {
710
- handlerA?.(event);
711
- handlerB?.(event);
457
+ ref: w
458
+ }), E = s.multiple ? !s.areSelectedItemsInTrigger || s.selectedItems.length === 0 : s.selectedItem === null;
459
+ function h(V, X) {
460
+ return (G) => {
461
+ V?.(G), X?.(G);
712
462
  };
713
463
  }
714
- const mergedEventProps = {
715
- onBlur: mergeHandlers(props.onBlur, downshiftInputProps.onBlur),
716
- onChange: mergeHandlers(props.onChange, downshiftInputProps.onChange),
717
- onClick: mergeHandlers(props.onClick, downshiftInputProps.onClick),
718
- onKeyDown: mergeHandlers(props.onKeyDown, downshiftInputProps.onKeyDown)
464
+ const R = {
465
+ onBlur: h(i.onBlur, N.onBlur),
466
+ onChange: h(i.onChange, N.onChange),
467
+ onClick: h(i.onClick, N.onClick),
468
+ onKeyDown: h(i.onKeyDown, N.onKeyDown)
719
469
  };
720
- return /* @__PURE__ */ jsxs(Fragment3, { children: [
721
- ariaLabel && /* @__PURE__ */ jsx8(VisuallyHidden, { children: /* @__PURE__ */ jsx8("label", { ...ctx.getLabelProps(), children: ariaLabel }) }),
722
- /* @__PURE__ */ jsx8(PopoverTrigger, { ...popoverTriggerProps, children: /* @__PURE__ */ jsx8(
470
+ return /* @__PURE__ */ _(te, { children: [
471
+ e && /* @__PURE__ */ a(mt, { children: /* @__PURE__ */ a("label", { ...s.getLabelProps(), children: e }) }),
472
+ /* @__PURE__ */ a(I, { ...k, children: /* @__PURE__ */ a(
723
473
  "input",
724
474
  {
725
475
  "data-spark-component": "combobox-input",
726
476
  type: "text",
727
- ...hasPlaceholder && { placeholder },
728
- className: cx5(
477
+ ...E && { placeholder: t },
478
+ className: f(
729
479
  "max-w-full shrink-0 grow basis-[80px]",
730
480
  "h-sz-28 bg-surface px-sm text-body-1 text-ellipsis outline-hidden",
731
481
  "disabled:text-on-surface/dim-3 disabled:cursor-not-allowed disabled:bg-transparent",
732
482
  "read-only:text-on-surface read-only:cursor-default read-only:bg-transparent",
733
- className
483
+ o
734
484
  ),
735
- ...props,
736
- ...downshiftInputProps,
737
- ...mergedEventProps,
738
- value: ctx.inputValue,
739
- "aria-label": ariaLabel,
740
- disabled: ctx.disabled,
741
- readOnly: ctx.readOnly,
742
- "aria-invalid": isInvalid,
743
- "aria-describedby": description
485
+ ...i,
486
+ ...N,
487
+ ...R,
488
+ value: s.inputValue,
489
+ "aria-label": e,
490
+ disabled: s.disabled,
491
+ readOnly: s.readOnly,
492
+ "aria-invalid": b,
493
+ "aria-describedby": O
744
494
  }
745
495
  ) })
746
496
  ] });
747
497
  };
748
- Input.displayName = "Combobox.Input";
749
-
750
- // src/combobox/ComboboxItem.tsx
751
- import { useMergeRefs as useMergeRefs3 } from "@spark-ui/hooks/use-merge-refs";
752
- import { cva, cx as cx6 } from "class-variance-authority";
753
-
754
- // src/combobox/ComboboxItemContext.tsx
755
- import {
756
- createContext as createContext3,
757
- useContext as useContext3,
758
- useState as useState2
759
- } from "react";
760
- import { jsx as jsx9 } from "react/jsx-runtime";
761
- var ComboboxItemContext = createContext3(null);
762
- var ComboboxItemProvider = ({
763
- value,
764
- disabled = false,
765
- children
498
+ de.displayName = "Combobox.Input";
499
+ const _e = ne(null), vt = ({
500
+ value: e,
501
+ disabled: o = !1,
502
+ children: t
766
503
  }) => {
767
- const ctx = useComboboxContext();
768
- const [textId, setTextId] = useState2(void 0);
769
- const index = getIndexByKey(ctx.filteredItemsMap, value);
770
- const itemData = { disabled, value, text: getItemText(children) };
771
- const isSelected = ctx.multiple ? ctx.selectedItems.some((selectedItem) => selectedItem.value === value) : ctx.selectedItem?.value === value;
772
- return /* @__PURE__ */ jsx9(
773
- ComboboxItemContext.Provider,
504
+ const n = v(), [l, r] = T(void 0), c = Fe(n.filteredItemsMap, e), i = { disabled: o, value: e, text: Ke(t) }, s = n.multiple ? n.selectedItems.some((m) => m.value === e) : n.selectedItem?.value === e;
505
+ return /* @__PURE__ */ a(
506
+ _e.Provider,
774
507
  {
775
- value: { textId, setTextId, isSelected, itemData, index, disabled },
776
- children
508
+ value: { textId: l, setTextId: r, isSelected: s, itemData: i, index: c, disabled: o },
509
+ children: t
777
510
  }
778
511
  );
779
- };
780
- var useComboboxItemContext = () => {
781
- const context = useContext3(ComboboxItemContext);
782
- if (!context) {
512
+ }, ue = () => {
513
+ const e = re(_e);
514
+ if (!e)
783
515
  throw Error("useComboboxItemContext must be used within a ComboboxItem provider");
784
- }
785
- return context;
786
- };
787
-
788
- // src/combobox/ComboboxItem.tsx
789
- import { jsx as jsx10 } from "react/jsx-runtime";
790
- var Item = ({ children, ref: forwardedRef, ...props }) => {
791
- const { value, disabled } = props;
792
- return /* @__PURE__ */ jsx10(ComboboxItemProvider, { value, disabled, children: /* @__PURE__ */ jsx10(ItemContent, { ref: forwardedRef, ...props, children }) });
793
- };
794
- var styles = cva("px-lg py-md text-body-1", {
516
+ return e;
517
+ }, me = ({ children: e, ref: o, ...t }) => {
518
+ const { value: n, disabled: l } = t;
519
+ return /* @__PURE__ */ a(vt, { value: n, disabled: l, children: /* @__PURE__ */ a(Nt, { ref: o, ...t, children: e }) });
520
+ }, wt = Me("px-lg py-md text-body-1", {
795
521
  variants: {
796
522
  selected: {
797
523
  true: "font-bold"
@@ -810,295 +536,213 @@ var styles = cva("px-lg py-md text-body-1", {
810
536
  },
811
537
  compoundVariants: [
812
538
  {
813
- highlighted: true,
539
+ highlighted: !0,
814
540
  interactionType: "mouse",
815
541
  class: "bg-surface-hovered"
816
542
  },
817
543
  {
818
- highlighted: true,
544
+ highlighted: !0,
819
545
  interactionType: "keyboard",
820
546
  class: "u-outline"
821
547
  }
822
548
  ]
823
- });
824
- var ItemContent = ({
825
- className,
826
- disabled = false,
827
- value,
828
- children,
829
- ref: forwardedRef,
830
- ...rest
549
+ }), Nt = ({
550
+ className: e,
551
+ disabled: o = !1,
552
+ value: t,
553
+ children: n,
554
+ ref: l,
555
+ ...r
831
556
  }) => {
832
- const ctx = useComboboxContext();
833
- const itemCtx = useComboboxItemContext();
834
- const isVisible = !!ctx.filteredItemsMap.get(value);
835
- const { ref: downshiftRef, ...downshiftItemProps } = ctx.getItemProps({
836
- item: itemCtx.itemData,
837
- index: itemCtx.index
838
- });
839
- const ref = useMergeRefs3(forwardedRef, downshiftRef);
840
- if (!isVisible) return null;
841
- return /* @__PURE__ */ jsx10(
557
+ const c = v(), i = ue(), s = !!c.filteredItemsMap.get(t), { ref: m, ...u } = c.getItemProps({
558
+ item: i.itemData,
559
+ index: i.index
560
+ }), b = W(l, m);
561
+ return s ? /* @__PURE__ */ a(
842
562
  "li",
843
563
  {
844
- ref,
845
- className: cx6(
846
- styles({
847
- selected: itemCtx.isSelected,
848
- disabled,
849
- highlighted: ctx.highlightedItem?.value === value,
850
- interactionType: ctx.lastInteractionType,
851
- className
564
+ ref: b,
565
+ className: f(
566
+ wt({
567
+ selected: i.isSelected,
568
+ disabled: o,
569
+ highlighted: c.highlightedItem?.value === t,
570
+ interactionType: c.lastInteractionType,
571
+ className: e
852
572
  })
853
573
  ),
854
- ...downshiftItemProps,
855
- ...rest,
856
- "aria-selected": itemCtx.isSelected,
857
- "aria-labelledby": itemCtx.textId,
858
- children
574
+ ...u,
575
+ ...r,
576
+ "aria-selected": i.isSelected,
577
+ "aria-labelledby": i.textId,
578
+ children: n
859
579
  },
860
- value
861
- );
580
+ t
581
+ ) : null;
862
582
  };
863
- Item.displayName = "Combobox.Item";
864
-
865
- // src/combobox/ComboboxItemIndicator.tsx
866
- import { Check } from "@spark-ui/icons/Check";
867
- import { cx as cx7 } from "class-variance-authority";
868
- import { jsx as jsx11 } from "react/jsx-runtime";
869
- var ItemIndicator = ({
870
- className,
871
- children,
872
- label,
873
- ref: forwardedRef
583
+ me.displayName = "Combobox.Item";
584
+ const pe = ({
585
+ className: e,
586
+ children: o,
587
+ label: t,
588
+ ref: n
874
589
  }) => {
875
- const { disabled, isSelected } = useComboboxItemContext();
876
- const childElement = children || /* @__PURE__ */ jsx11(Icon, { size: "sm", children: /* @__PURE__ */ jsx11(Check, { "aria-label": label }) });
877
- return /* @__PURE__ */ jsx11(
590
+ const { disabled: l, isSelected: r } = ue(), c = o || /* @__PURE__ */ a($, { size: "sm", children: /* @__PURE__ */ a(pt, { "aria-label": t }) });
591
+ return /* @__PURE__ */ a(
878
592
  "span",
879
593
  {
880
- ref: forwardedRef,
881
- className: cx7("min-h-sz-16 min-w-sz-16 flex", disabled && "opacity-dim-3", className),
882
- children: isSelected && childElement
594
+ ref: n,
595
+ className: f("min-h-sz-16 min-w-sz-16 flex", l && "opacity-dim-3", e),
596
+ children: r && c
883
597
  }
884
598
  );
885
599
  };
886
- ItemIndicator.displayName = "Combobox.ItemIndicator";
887
-
888
- // src/combobox/ComboboxItems.tsx
889
- import { useMergeRefs as useMergeRefs4 } from "@spark-ui/hooks/use-merge-refs";
890
- import { cx as cx8 } from "class-variance-authority";
891
- import { useLayoutEffect, useRef as useRef2 } from "react";
892
- import { jsx as jsx12 } from "react/jsx-runtime";
893
- var Items = ({ children, className, ref: forwardedRef, ...props }) => {
894
- const ctx = useComboboxContext();
895
- const { ref: downshiftRef, ...downshiftMenuProps } = ctx.getMenuProps({
600
+ pe.displayName = "Combobox.ItemIndicator";
601
+ const be = ({ children: e, className: o, ref: t, ...n }) => {
602
+ const l = v(), { ref: r, ...c } = l.getMenuProps({
896
603
  onMouseMove: () => {
897
- ctx.setLastInteractionType("mouse");
898
- }
899
- });
900
- const innerRef = useRef2(null);
901
- const ref = useMergeRefs4(forwardedRef, downshiftRef, innerRef);
902
- const isOpen = ctx.hasPopover ? ctx.isOpen : true;
903
- const isPointerEventsDisabled = ctx.hasPopover && !isOpen;
904
- useLayoutEffect(() => {
905
- if (innerRef.current?.parentElement) {
906
- innerRef.current.parentElement.style.pointerEvents = isPointerEventsDisabled ? "none" : "";
907
- innerRef.current.style.pointerEvents = isPointerEventsDisabled ? "none" : "";
604
+ l.setLastInteractionType("mouse");
908
605
  }
909
- }, [isPointerEventsDisabled]);
910
- return /* @__PURE__ */ jsx12(
606
+ }), i = A(null), s = W(t, r, i), m = l.hasPopover ? l.isOpen : !0, u = l.hasPopover && !m;
607
+ return ct(() => {
608
+ i.current?.parentElement && (i.current.parentElement.style.pointerEvents = u ? "none" : "", i.current.style.pointerEvents = u ? "none" : "");
609
+ }, [u]), /* @__PURE__ */ a(
911
610
  "ul",
912
611
  {
913
- ref,
914
- className: cx8(
915
- className,
612
+ ref: s,
613
+ className: f(
614
+ o,
916
615
  "flex flex-col",
917
- isOpen ? "block" : "pointer-events-none invisible opacity-0",
918
- ctx.hasPopover && "p-lg",
919
- ctx.isLoading && "items-center overflow-y-auto"
616
+ m ? "block" : "pointer-events-none invisible opacity-0",
617
+ l.hasPopover && "p-lg",
618
+ l.isLoading && "items-center overflow-y-auto"
920
619
  ),
921
- ...props,
922
- ...downshiftMenuProps,
923
- "aria-busy": ctx.isLoading,
620
+ ...n,
621
+ ...c,
622
+ "aria-busy": l.isLoading,
924
623
  "data-spark-component": "combobox-items",
925
- children: ctx.isLoading ? /* @__PURE__ */ jsx12(Spinner, { size: "sm" }) : children
624
+ children: l.isLoading ? /* @__PURE__ */ a(bt, { size: "sm" }) : e
926
625
  }
927
626
  );
928
627
  };
929
- Items.displayName = "Combobox.Items";
930
-
931
- // src/combobox/ComboboxItemText.tsx
932
- import { cx as cx9 } from "class-variance-authority";
933
- import { useEffect as useEffect3, useId as useId3 } from "react";
934
- import { jsx as jsx13 } from "react/jsx-runtime";
935
- var ItemText = ({ children, className, ref: forwardedRef }) => {
936
- const id = `${ID_PREFIX}-item-text-${useId3()}`;
937
- const { setTextId } = useComboboxItemContext();
938
- useEffect3(() => {
939
- setTextId(id);
940
- return () => setTextId(void 0);
941
- });
942
- return /* @__PURE__ */ jsx13("span", { id, className: cx9("inline", className), ref: forwardedRef, children });
628
+ be.displayName = "Combobox.Items";
629
+ const fe = ({ children: e, className: o, ref: t }) => {
630
+ const n = `${U}-item-text-${q()}`, { setTextId: l } = ue();
631
+ return P(() => (l(n), () => l(void 0))), /* @__PURE__ */ a("span", { id: n, className: f("inline", o), ref: t, children: e });
943
632
  };
944
- ItemText.displayName = "Combobox.ItemText";
945
-
946
- // src/combobox/ComboboxLabel.tsx
947
- import { cx as cx10 } from "class-variance-authority";
948
- import { jsx as jsx14 } from "react/jsx-runtime";
949
- var Label = ({ children, className, ref: forwardedRef }) => {
950
- const groupCtx = useComboboxGroupContext();
951
- return /* @__PURE__ */ jsx14(
633
+ fe.displayName = "Combobox.ItemText";
634
+ const Ie = ({ children: e, className: o, ref: t }) => {
635
+ const n = je();
636
+ return /* @__PURE__ */ a(
952
637
  "div",
953
638
  {
954
- ref: forwardedRef,
955
- id: groupCtx.groupLabelId,
956
- className: cx10("px-md py-sm text-body-2 text-neutral italic", className),
957
- children
639
+ ref: t,
640
+ id: n.groupLabelId,
641
+ className: f("px-md py-sm text-body-2 text-neutral italic", o),
642
+ children: e
958
643
  }
959
644
  );
960
645
  };
961
- Label.displayName = "Combobox.Label";
962
-
963
- // src/combobox/ComboboxLeadingIcon.tsx
964
- import { jsx as jsx15 } from "react/jsx-runtime";
965
- var LeadingIcon = ({ children }) => {
966
- return /* @__PURE__ */ jsx15(Icon, { size: "sm", className: "h-sz-44 shrink-0", children });
967
- };
968
- LeadingIcon.displayName = "Combobox.LeadingIcon";
969
-
970
- // src/combobox/ComboboxPopover.tsx
971
- import { cx as cx11 } from "class-variance-authority";
972
- import { useEffect as useEffect4 } from "react";
973
- import { jsx as jsx16 } from "react/jsx-runtime";
974
- var Popover2 = ({
975
- children,
976
- matchTriggerWidth = true,
977
- sideOffset = 4,
978
- className,
979
- ref: forwardedRef,
980
- ...props
646
+ Ie.displayName = "Combobox.Label";
647
+ const xe = ({ children: e }) => /* @__PURE__ */ a($, { size: "sm", className: "h-sz-44 shrink-0", children: e });
648
+ xe.displayName = "Combobox.LeadingIcon";
649
+ const ye = ({
650
+ children: e,
651
+ matchTriggerWidth: o = !0,
652
+ sideOffset: t = 4,
653
+ className: n,
654
+ ref: l,
655
+ ...r
981
656
  }) => {
982
- const ctx = useComboboxContext();
983
- useEffect4(() => {
984
- ctx.setHasPopover(true);
985
- return () => ctx.setHasPopover(false);
986
- }, []);
987
- return /* @__PURE__ */ jsx16(
988
- Popover.Content,
657
+ const c = v();
658
+ return P(() => (c.setHasPopover(!0), () => c.setHasPopover(!1)), []), /* @__PURE__ */ a(
659
+ K.Content,
989
660
  {
990
- ref: forwardedRef,
991
- inset: true,
992
- asChild: true,
993
- matchTriggerWidth,
994
- className: cx11("z-dropdown! relative", className),
995
- sideOffset,
996
- onOpenAutoFocus: (e) => {
997
- e.preventDefault();
661
+ ref: l,
662
+ inset: !0,
663
+ asChild: !0,
664
+ matchTriggerWidth: o,
665
+ className: f("z-dropdown! relative", n),
666
+ sideOffset: t,
667
+ onOpenAutoFocus: (i) => {
668
+ i.preventDefault();
998
669
  },
999
- ...props,
670
+ ...r,
1000
671
  "data-spark-component": "combobox-popover",
1001
- children
672
+ children: e
1002
673
  }
1003
674
  );
1004
675
  };
1005
- Popover2.displayName = "Combobox.Popover";
1006
-
1007
- // src/combobox/ComboboxPortal.tsx
1008
- import { jsx as jsx17 } from "react/jsx-runtime";
1009
- var Portal = ({ children, ...rest }) => /* @__PURE__ */ jsx17(Popover.Portal, { ...rest, children });
1010
- Portal.displayName = "Combobox.Portal";
1011
-
1012
- // src/combobox/ComboboxSelectedItems.tsx
1013
- import { DeleteOutline as DeleteOutline2 } from "@spark-ui/icons/DeleteOutline";
1014
- import { cx as cx12 } from "class-variance-authority";
1015
- import { Fragment as Fragment4, jsx as jsx18, jsxs as jsxs2 } from "react/jsx-runtime";
1016
- var SelectedItem = ({ item: selectedItem, index }) => {
1017
- const ctx = useComboboxContext();
1018
- const isCleanable = !ctx.disabled && !ctx.readOnly;
1019
- const handleFocus = (e) => {
1020
- const element = e.target;
1021
- if (ctx.lastInteractionType === "keyboard") {
1022
- element.scrollIntoView({
1023
- behavior: "smooth",
1024
- block: "nearest",
1025
- inline: "nearest"
1026
- });
1027
- }
1028
- };
1029
- const { disabled, ...selectedItemProps } = ctx.getSelectedItemProps({
1030
- disabled: ctx.disabled || ctx.readOnly,
1031
- selectedItem,
1032
- index
676
+ ye.displayName = "Combobox.Popover";
677
+ const Ce = ({ children: e, ...o }) => /* @__PURE__ */ a(K.Portal, { ...o, children: e });
678
+ Ce.displayName = "Combobox.Portal";
679
+ const Tt = ({ item: e, index: o }) => {
680
+ const t = v(), n = !t.disabled && !t.readOnly, l = (s) => {
681
+ const m = s.target;
682
+ t.lastInteractionType === "keyboard" && m.scrollIntoView({
683
+ behavior: "smooth",
684
+ block: "nearest",
685
+ inline: "nearest"
686
+ });
687
+ }, { disabled: r, ...c } = t.getSelectedItemProps({
688
+ disabled: t.disabled || t.readOnly,
689
+ selectedItem: e,
690
+ index: o
1033
691
  });
1034
- const Element = disabled ? "button" : "span";
1035
- return /* @__PURE__ */ jsxs2(
1036
- Element,
692
+ return /* @__PURE__ */ _(
693
+ r ? "button" : "span",
1037
694
  {
1038
695
  role: "presentation",
1039
696
  "data-spark-component": "combobox-selected-item",
1040
- className: cx12(
697
+ className: f(
1041
698
  "h-sz-28 bg-neutral-container flex items-center rounded-md align-middle",
1042
699
  "text-body-2 text-on-neutral-container",
1043
700
  "disabled:opacity-dim-3 disabled:cursor-not-allowed",
1044
701
  "focus-visible:u-outline-inset outline-hidden",
1045
- { "px-md": !isCleanable, "pl-md": isCleanable }
702
+ { "px-md": !n, "pl-md": n }
1046
703
  ),
1047
- ...selectedItemProps,
704
+ ...c,
1048
705
  tabIndex: -1,
1049
- ...disabled && { disabled: true },
1050
- onFocus: handleFocus,
706
+ ...r && { disabled: !0 },
707
+ onFocus: l,
1051
708
  children: [
1052
- /* @__PURE__ */ jsx18(
709
+ /* @__PURE__ */ a(
1053
710
  "span",
1054
711
  {
1055
- className: cx12("line-clamp-1 overflow-x-hidden leading-normal break-all text-ellipsis", {
1056
- "w-max": !ctx.wrap
712
+ className: f("line-clamp-1 overflow-x-hidden leading-normal break-all text-ellipsis", {
713
+ "w-max": !t.wrap
1057
714
  }),
1058
- children: selectedItem.text
715
+ children: e.text
1059
716
  }
1060
717
  ),
1061
- ctx.disabled,
1062
- isCleanable && /* @__PURE__ */ jsx18(
718
+ t.disabled,
719
+ n && /* @__PURE__ */ a(
1063
720
  "button",
1064
721
  {
1065
722
  type: "button",
1066
723
  tabIndex: -1,
1067
- "aria-hidden": true,
724
+ "aria-hidden": !0,
1068
725
  className: "px-md h-full cursor-pointer",
1069
- onClick: (e) => {
1070
- e.stopPropagation();
1071
- const updatedSelectedItems = ctx.selectedItems.filter(
1072
- (item) => item.value !== selectedItem.value
726
+ onClick: (s) => {
727
+ s.stopPropagation();
728
+ const m = t.selectedItems.filter(
729
+ (u) => u.value !== e.value
1073
730
  );
1074
- ctx.setSelectedItems(updatedSelectedItems);
1075
- if (ctx.innerInputRef.current) {
1076
- ctx.innerInputRef.current.focus({ preventScroll: true });
1077
- }
731
+ t.setSelectedItems(m), t.innerInputRef.current && t.innerInputRef.current.focus({ preventScroll: !0 });
1078
732
  },
1079
- children: /* @__PURE__ */ jsx18(Icon, { size: "sm", children: /* @__PURE__ */ jsx18(DeleteOutline2, {}) })
733
+ children: /* @__PURE__ */ a($, { size: "sm", children: /* @__PURE__ */ a(Ae, {}) })
1080
734
  }
1081
735
  )
1082
736
  ]
1083
737
  },
1084
- `selected-item-${index}`
738
+ `selected-item-${o}`
1085
739
  );
740
+ }, ge = () => {
741
+ const e = v();
742
+ return e.multiple && e.selectedItems.length ? /* @__PURE__ */ a(te, { children: e.selectedItems.map((o, t) => /* @__PURE__ */ a(Tt, { item: o, index: t }, o.value)) }) : null;
1086
743
  };
1087
- var SelectedItems = () => {
1088
- const ctx = useComboboxContext();
1089
- return ctx.multiple && ctx.selectedItems.length ? /* @__PURE__ */ jsx18(Fragment4, { children: ctx.selectedItems.map((item, index) => /* @__PURE__ */ jsx18(SelectedItem, { item, index }, item.value)) }) : null;
1090
- };
1091
- SelectedItems.displayName = "Combobox.SelectedItems";
1092
-
1093
- // src/combobox/ComboboxTrigger.tsx
1094
- import { useFormFieldControl as useFormFieldControl3 } from "@spark-ui/components/form-field";
1095
- import { useMergeRefs as useMergeRefs5 } from "@spark-ui/hooks/use-merge-refs";
1096
- import { cx as cx13 } from "class-variance-authority";
1097
- import { Fragment as Fragment5, useEffect as useEffect6, useRef as useRef4 } from "react";
1098
-
1099
- // src/combobox/ComboboxTrigger.styles.tsx
1100
- import { cva as cva2 } from "class-variance-authority";
1101
- var styles2 = cva2(
744
+ ge.displayName = "Combobox.SelectedItems";
745
+ const Pt = Me(
1102
746
  [
1103
747
  "flex items-start gap-md min-h-sz-44 text-body-1",
1104
748
  "h-fit rounded-lg px-lg",
@@ -1126,158 +770,120 @@ var styles2 = cva2(
1126
770
  },
1127
771
  compoundVariants: [
1128
772
  {
1129
- disabled: false,
773
+ disabled: !1,
1130
774
  state: void 0,
1131
775
  class: "default:hover:ring-outline-high"
1132
776
  },
1133
777
  {
1134
- disabled: false,
1135
- readOnly: false,
778
+ disabled: !1,
779
+ readOnly: !1,
1136
780
  class: "bg-surface text-on-surface cursor-text"
1137
781
  }
1138
782
  ],
1139
783
  defaultVariants: {
1140
784
  state: void 0,
1141
- disabled: false,
1142
- readOnly: false
785
+ disabled: !1,
786
+ readOnly: !1
1143
787
  }
1144
788
  }
1145
- );
1146
-
1147
- // src/combobox/utils/useWidthIncreaseCallback.ts
1148
- import { useEffect as useEffect5, useRef as useRef3 } from "react";
1149
- var useWidthIncreaseCallback = (elementRef, callback) => {
1150
- const prevWidthRef = useRef3(null);
1151
- useEffect5(() => {
1152
- const checkWidthIncrease = () => {
1153
- const currentWidth = elementRef.current?.scrollWidth || null;
1154
- if (prevWidthRef.current && currentWidth && currentWidth > prevWidthRef.current) {
1155
- callback();
1156
- }
1157
- prevWidthRef.current = currentWidth;
1158
- requestAnimationFrame(checkWidthIncrease);
1159
- };
1160
- const interval = requestAnimationFrame(checkWidthIncrease);
1161
- return () => cancelAnimationFrame(interval);
1162
- }, [elementRef]);
1163
- };
1164
-
1165
- // src/combobox/ComboboxTrigger.tsx
1166
- import { Fragment as Fragment6, jsx as jsx19, jsxs as jsxs3 } from "react/jsx-runtime";
1167
- var Trigger = ({ className, children, ref: forwardedRef }) => {
1168
- const ctx = useComboboxContext();
1169
- const field = useFormFieldControl3();
1170
- const leadingIcon = findElement(children, "Combobox.LeadingIcon");
1171
- const selectedItems = findElement(children, "Combobox.SelectedItems");
1172
- const input = findElement(children, "Combobox.Input");
1173
- const clearButton = findElement(children, "Combobox.ClearButton");
1174
- const disclosure = findElement(children, "Combobox.Disclosure");
1175
- const [PopoverAnchor, popoverAnchorProps] = ctx.hasPopover ? [Popover.Anchor, { asChild: true, type: void 0 }] : [Fragment5, {}];
1176
- const ref = useMergeRefs5(forwardedRef, ctx.triggerAreaRef);
1177
- const scrollableAreaRef = useRef4(null);
1178
- const disabled = field.disabled || ctx.disabled;
1179
- const readOnly = field.readOnly || ctx.readOnly;
1180
- const hasClearButton = !!clearButton && !disabled && !readOnly;
1181
- const scrollToRight = () => {
1182
- if (scrollableAreaRef.current && !ctx.wrap) {
1183
- const { scrollWidth, clientWidth } = scrollableAreaRef.current;
1184
- scrollableAreaRef.current.scrollLeft = scrollWidth - clientWidth;
789
+ ), St = (e, o) => {
790
+ const t = A(null);
791
+ P(() => {
792
+ const n = () => {
793
+ const r = e.current?.scrollWidth || null;
794
+ t.current && r && r > t.current && o(), t.current = r, requestAnimationFrame(n);
795
+ }, l = requestAnimationFrame(n);
796
+ return () => cancelAnimationFrame(l);
797
+ }, [e]);
798
+ }, he = ({ className: e, children: o, ref: t }) => {
799
+ const n = v(), l = oe(), r = F(o, "Combobox.LeadingIcon"), c = F(o, "Combobox.SelectedItems"), i = F(o, "Combobox.Input"), s = F(o, "Combobox.ClearButton"), m = F(o, "Combobox.Disclosure"), [u, b] = n.hasPopover ? [K.Anchor, { asChild: !0, type: void 0 }] : [se, {}], O = W(t, n.triggerAreaRef), I = A(null), k = l.disabled || n.disabled, x = l.readOnly || n.readOnly, w = !!s && !k && !x, N = () => {
800
+ if (I.current && !n.wrap) {
801
+ const { scrollWidth: h, clientWidth: R } = I.current;
802
+ I.current.scrollLeft = h - R;
1185
803
  }
1186
804
  };
1187
- useWidthIncreaseCallback(scrollableAreaRef, scrollToRight);
1188
- const hasSelectedItems = !!selectedItems;
1189
- useEffect6(() => {
1190
- ctx.setAreSelectedItemsInTrigger(hasSelectedItems);
1191
- }, [hasSelectedItems]);
1192
- useEffect6(() => {
1193
- const resizeObserver = new ResizeObserver(scrollToRight);
1194
- if (scrollableAreaRef.current) {
1195
- resizeObserver.observe(scrollableAreaRef.current);
1196
- }
1197
- return () => {
1198
- resizeObserver.disconnect();
805
+ St(I, N);
806
+ const E = !!c;
807
+ return P(() => {
808
+ n.setAreSelectedItemsInTrigger(E);
809
+ }, [E]), P(() => {
810
+ const h = new ResizeObserver(N);
811
+ return I.current && h.observe(I.current), () => {
812
+ h.disconnect();
1199
813
  };
1200
- }, []);
1201
- return /* @__PURE__ */ jsx19(Fragment6, { children: /* @__PURE__ */ jsx19(PopoverAnchor, { ...popoverAnchorProps, children: /* @__PURE__ */ jsxs3(
814
+ }, []), /* @__PURE__ */ a(te, { children: /* @__PURE__ */ a(u, { ...b, children: /* @__PURE__ */ _(
1202
815
  "div",
1203
816
  {
1204
- ref,
1205
- className: styles2({
1206
- className,
1207
- state: ctx.state,
1208
- disabled,
1209
- readOnly,
1210
- allowWrap: ctx.wrap
817
+ ref: O,
818
+ className: Pt({
819
+ className: e,
820
+ state: n.state,
821
+ disabled: k,
822
+ readOnly: x,
823
+ allowWrap: n.wrap
1211
824
  }),
1212
825
  onClick: () => {
1213
- if (!ctx.isOpen && !disabled && !readOnly) {
1214
- ctx.openMenu();
1215
- if (ctx.innerInputRef.current) {
1216
- ctx.innerInputRef.current.focus();
1217
- }
1218
- }
826
+ !n.isOpen && !k && !x && (n.openMenu(), n.innerInputRef.current && n.innerInputRef.current.focus());
1219
827
  },
1220
828
  children: [
1221
- leadingIcon,
1222
- /* @__PURE__ */ jsxs3(
829
+ r,
830
+ /* @__PURE__ */ _(
1223
831
  "div",
1224
832
  {
1225
- ref: scrollableAreaRef,
1226
- className: cx13(
833
+ ref: I,
834
+ className: f(
1227
835
  "min-w-none gap-sm py-md inline-flex grow items-start",
1228
- ctx.wrap ? "flex-wrap" : "u-no-scrollbar overflow-x-auto p-[2px]"
836
+ n.wrap ? "flex-wrap" : "u-no-scrollbar overflow-x-auto p-[2px]"
1229
837
  ),
1230
838
  children: [
1231
- selectedItems,
1232
- input
839
+ c,
840
+ i
1233
841
  ]
1234
842
  }
1235
843
  ),
1236
- hasClearButton && clearButton,
1237
- disclosure
844
+ w && s,
845
+ m
1238
846
  ]
1239
847
  }
1240
848
  ) }) });
1241
849
  };
1242
- Trigger.displayName = "Combobox.Trigger";
1243
-
1244
- // src/combobox/index.ts
1245
- var Combobox2 = Object.assign(Combobox, {
1246
- Group,
1247
- Item,
1248
- Items,
1249
- ItemText,
1250
- ItemIndicator,
1251
- Label,
1252
- Popover: Popover2,
1253
- Trigger,
1254
- LeadingIcon,
1255
- Empty,
1256
- Input,
1257
- Disclosure,
1258
- SelectedItems,
1259
- ClearButton,
1260
- Portal
850
+ he.displayName = "Combobox.Trigger";
851
+ const Ot = Object.assign(Ge, {
852
+ Group: ce,
853
+ Item: me,
854
+ Items: be,
855
+ ItemText: fe,
856
+ ItemIndicator: pe,
857
+ Label: Ie,
858
+ Popover: ye,
859
+ Trigger: he,
860
+ LeadingIcon: xe,
861
+ Empty: ie,
862
+ Input: de,
863
+ Disclosure: ae,
864
+ SelectedItems: ge,
865
+ ClearButton: le,
866
+ Portal: Ce
1261
867
  });
1262
- Combobox2.displayName = "Combobox";
1263
- Group.displayName = "Combobox.Group";
1264
- Items.displayName = "Combobox.Items";
1265
- Item.displayName = "Combobox.Item";
1266
- ItemText.displayName = "Combobox.ItemText";
1267
- ItemIndicator.displayName = "Combobox.ItemIndicator";
1268
- Label.displayName = "Combobox.Label";
1269
- Popover2.displayName = "Combobox.Popover";
1270
- Trigger.displayName = "Combobox.Trigger";
1271
- LeadingIcon.displayName = "Combobox.LeadingIcon";
1272
- Empty.displayName = "Combobox.Empty";
1273
- Input.displayName = "Combobox.Input";
1274
- Disclosure.displayName = "Combobox.Disclosure";
1275
- SelectedItems.displayName = "Combobox.SelectedItems";
1276
- ClearButton.displayName = "Combobox.ClearButton";
1277
- Portal.displayName = "Combobox.Portal";
868
+ Ot.displayName = "Combobox";
869
+ ce.displayName = "Combobox.Group";
870
+ be.displayName = "Combobox.Items";
871
+ me.displayName = "Combobox.Item";
872
+ fe.displayName = "Combobox.ItemText";
873
+ pe.displayName = "Combobox.ItemIndicator";
874
+ Ie.displayName = "Combobox.Label";
875
+ ye.displayName = "Combobox.Popover";
876
+ he.displayName = "Combobox.Trigger";
877
+ xe.displayName = "Combobox.LeadingIcon";
878
+ ie.displayName = "Combobox.Empty";
879
+ de.displayName = "Combobox.Input";
880
+ ae.displayName = "Combobox.Disclosure";
881
+ ge.displayName = "Combobox.SelectedItems";
882
+ le.displayName = "Combobox.ClearButton";
883
+ Ce.displayName = "Combobox.Portal";
1278
884
  export {
1279
- Combobox2 as Combobox,
1280
- ComboboxProvider,
1281
- useComboboxContext
885
+ Ot as Combobox,
886
+ Ct as ComboboxProvider,
887
+ v as useComboboxContext
1282
888
  };
1283
- //# sourceMappingURL=index.mjs.map
889
+ //# sourceMappingURL=index.mjs.map