@spark-ui/components 13.0.7 → 14.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 -7
  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 +1 @@
1
- {"version":3,"sources":["../../src/input/index.ts","../../src/input/InputClearButton.tsx","../../src/icon/Icon.tsx","../../src/slot/Slot.tsx","../../src/visually-hidden/VisuallyHidden.tsx","../../src/icon/Icon.styles.tsx","../../src/input/InputGroupContext.ts","../../src/input/InputGroup.tsx","../../src/input/InputGroup.styles.ts","../../src/input/InputLeadingAddon.tsx","../../src/input/InputAddon.tsx","../../src/input/InputAddon.styles.ts","../../src/input/InputLeadingIcon.tsx","../../src/input/InputIcon.tsx","../../src/input/InputTrailingAddon.tsx","../../src/input/InputTrailingIcon.tsx","../../src/input/Input.tsx","../../src/input/Input.styles.ts"],"sourcesContent":["import { InputClearButton } from './InputClearButton'\nimport { InputGroup as Root } from './InputGroup'\nimport { InputLeadingAddon } from './InputLeadingAddon'\nimport { InputLeadingIcon } from './InputLeadingIcon'\nimport { InputTrailingAddon } from './InputTrailingAddon'\nimport { InputTrailingIcon } from './InputTrailingIcon'\n\nexport * from './Input'\n\nexport const InputGroup: typeof Root & {\n LeadingAddon: typeof InputLeadingAddon\n TrailingAddon: typeof InputTrailingAddon\n LeadingIcon: typeof InputLeadingIcon\n TrailingIcon: typeof InputTrailingIcon\n ClearButton: typeof InputClearButton\n} = Object.assign(Root, {\n LeadingAddon: InputLeadingAddon,\n TrailingAddon: InputTrailingAddon,\n LeadingIcon: InputLeadingIcon,\n TrailingIcon: InputTrailingIcon,\n ClearButton: InputClearButton,\n})\n\nInputGroup.displayName = 'InputGroup'\nInputLeadingAddon.displayName = 'InputGroup.LeadingAddon'\nInputTrailingAddon.displayName = 'InputGroup.TrailingAddon'\nInputLeadingIcon.displayName = 'InputGroup.LeadingIcon'\nInputTrailingIcon.displayName = 'InputGroup.TrailingIcon'\nInputClearButton.displayName = 'InputGroup.ClearButton'\n\nexport { useInputGroup } from './InputGroupContext'\nexport { type InputGroupProps } from './InputGroup'\nexport { type InputLeadingIconProps } from './InputLeadingIcon'\nexport { type InputTrailingIconProps } from './InputTrailingIcon'\nexport { type InputLeadingAddonProps } from './InputLeadingAddon'\nexport { type InputTrailingAddonProps } from './InputTrailingAddon'\nexport { type InputClearButtonProps } from './InputClearButton'\n","import { DeleteOutline } from '@spark-ui/icons/DeleteOutline'\nimport { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, MouseEventHandler, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport interface InputClearButtonProps extends ComponentPropsWithoutRef<'button'> {\n 'aria-label': string\n inline?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nconst Root = ({\n className,\n tabIndex = -1,\n onClick,\n inline = false,\n ref,\n ...others\n}: InputClearButtonProps) => {\n const { onClear, hasTrailingIcon } = useInputGroup()\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = event => {\n if (onClick) {\n onClick(event)\n }\n\n if (onClear) {\n onClear()\n }\n }\n\n return (\n <button\n ref={ref}\n data-spark-component=\"input-clear-button\"\n className={cx(\n className,\n 'pointer-events-auto absolute',\n inline ? 'h-sz-44 top-0 -translate-y-0' : 'top-1/2 -translate-y-1/2',\n 'inline-flex h-full items-center justify-center outline-hidden',\n 'text-neutral hover:text-neutral-hovered',\n hasTrailingIcon ? 'right-3xl px-sz-12' : 'pl-md pr-lg right-0'\n )}\n tabIndex={tabIndex}\n onClick={handleClick}\n type=\"button\"\n {...others}\n >\n <Icon size=\"sm\">\n <DeleteOutline />\n </Icon>\n </button>\n )\n}\n\nexport const InputClearButton = Object.assign(Root, {\n id: 'ClearButton',\n})\n\nRoot.displayName = 'InputGroup.ClearButton'\n","import { Children, cloneElement, ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { iconStyles, IconVariantsProps } from './Icon.styles'\n\nexport interface IconProps extends IconVariantsProps, ComponentPropsWithoutRef<'svg'> {\n /**\n * The svg icon that will be wrapped\n */\n children: ReactNode\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label?: string\n}\n\nexport const Icon = ({\n label,\n className,\n size = 'current',\n intent = 'current',\n children,\n ...others\n}: IconProps) => {\n const child = Children.only(children)\n\n return (\n <>\n {cloneElement(child as ReactElement<Record<string, any>>, {\n className: iconStyles({ className, size, intent }),\n 'data-spark-component': 'icon',\n 'aria-hidden': 'true',\n focusable: 'false',\n ...others,\n })}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </>\n )\n}\n\nIcon.displayName = 'Icon'\n","import { Slot as RadixSlot } from 'radix-ui'\nimport {\n cloneElement,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n Ref,\n} from 'react'\n\nexport const Slottable: typeof RadixSlot.Slottable = RadixSlot.Slottable\n\nexport type SlotProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Slot = ({ ref, ...props }: SlotProps) => {\n return <RadixSlot.Root ref={ref} {...props} />\n}\n\n/**\n * When using Radix `Slot` component, it will consider its first child to merge its props with.\n * In some cases, you might need to wrap the top child with additional markup without breaking this behaviour.\n */\nexport const wrapPolymorphicSlot = (\n asChild: boolean | undefined,\n children: ReactNode,\n callback: (children: ReactNode) => ReactNode\n) => {\n if (!asChild) return callback(children) // If polymorphic behaviour is not used, we keep the original children\n\n return isValidElement(children)\n ? cloneElement(\n children,\n undefined,\n callback((children.props as { children: ReactNode }).children)\n )\n : null\n}\n","import { HTMLAttributes, PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\n\nexport type VisuallyHiddenProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n ref?: Ref<HTMLElement>\n}\n\nexport const VisuallyHidden = ({ asChild = false, ref, ...props }: VisuallyHiddenProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n {...props}\n ref={ref}\n style={{\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n ...props.style,\n }}\n />\n )\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const iconStyles = cva(['fill-current shrink-0'], {\n variants: {\n /**\n * Color scheme of the icon.\n */\n intent: makeVariants<\n 'intent',\n [\n 'current',\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'error',\n 'info',\n 'neutral',\n ]\n >({\n current: ['text-current'],\n main: ['text-main'],\n support: ['text-support'],\n accent: ['text-accent'],\n basic: ['text-basic'],\n success: ['text-success'],\n alert: ['text-alert'],\n error: ['text-error'],\n info: ['text-info'],\n neutral: ['text-neutral'],\n }),\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['current', 'sm', 'md', 'lg', 'xl']>({\n current: ['u-current-font-size'],\n sm: ['w-sz-16', 'h-sz-16'],\n md: ['w-sz-24', 'h-sz-24'],\n lg: ['w-sz-32', 'h-sz-32'],\n xl: ['w-sz-40', 'h-sz-40'],\n }),\n },\n})\n\nexport type IconVariantsProps = VariantProps<typeof iconStyles>\n","import { createContext, useContext } from 'react'\n\nexport interface InputGroupContextValue {\n disabled?: boolean\n readOnly?: boolean\n hasLeadingIcon: boolean\n hasTrailingIcon: boolean\n hasLeadingAddon: boolean\n hasTrailingAddon: boolean\n hasClearButton: boolean\n state: null | undefined | 'error' | 'alert' | 'success'\n isStandalone?: boolean\n onClear: () => void\n}\n\nexport const InputGroupContext = createContext<Partial<InputGroupContextValue> | null>(null)\n\nexport const useInputGroup = () => {\n const context = useContext(InputGroupContext)\n\n return context || { isStandalone: true }\n}\n","/* eslint-disable max-lines-per-function */\n\nimport { useFormFieldControl } from '@spark-ui/components/form-field'\nimport { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { useMergeRefs } from '@spark-ui/hooks/use-merge-refs'\nimport {\n ChangeEventHandler,\n Children,\n cloneElement,\n ComponentPropsWithoutRef,\n DetailedReactHTMLElement,\n FC,\n isValidElement,\n PropsWithChildren,\n ReactElement,\n Ref,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\n\nimport { InputProps } from './Input'\nimport { inputGroupStyles, InputGroupStylesProps } from './InputGroup.styles'\nimport { InputGroupContext } from './InputGroupContext'\n\nexport interface InputGroupProps extends ComponentPropsWithoutRef<'div'>, InputGroupStylesProps {\n /**\n * Use `state` prop to assign a specific state to the group, choosing from: `error`, `alert` and `success`. By doing so, the outline styles will be updated.\n */\n state?: 'error' | 'alert' | 'success'\n /**\n * Function handler to be executed after the input has been cleared.\n */\n onClear?: () => void\n ref?: Ref<HTMLDivElement>\n}\n\nexport const InputGroup = ({\n className,\n children: childrenProp,\n state: stateProp,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onClear,\n ref: forwardedRef,\n ...others\n}: PropsWithChildren<InputGroupProps>) => {\n const getElementId = (element?: ReactElement) => {\n return element ? (element.type as FC & { id?: string }).id : ''\n }\n\n const findElement = (...values: string[]) => {\n return children.find(child => values.includes(getElementId(child) || ''))\n }\n\n const children = Children.toArray(childrenProp).filter(isValidElement)\n const input = findElement('Input') as\n | DetailedReactHTMLElement<InputProps, HTMLInputElement>\n | undefined\n const props = input?.props || {}\n\n const inputRef = useRef<HTMLInputElement>(null!)\n const onClearRef = useRef(onClear)\n const ref = useMergeRefs<HTMLInputElement>(input?.ref, inputRef)\n const [value, onChange] = useCombinedState(\n props.value as string,\n props.defaultValue as string,\n props.onValueChange\n )\n\n // Data derivated from FormField context\n const field = useFormFieldControl()\n const state = field.state ?? stateProp\n const disabled = field.disabled || !!disabledProp\n const readOnly = field.readOnly || !!readOnlyProp\n\n // InputGroup elements (in visual order)\n const leadingAddon = findElement('LeadingAddon')\n const leadingIcon = findElement('LeadingIcon')\n const clearButton = findElement('ClearButton')\n const trailingIcon = findElement('TrailingIcon')\n const trailingAddon = findElement('TrailingAddon')\n\n // Acknowledge which subComponents are used in the compound context\n const hasLeadingAddon = !!leadingAddon\n const hasTrailingAddon = !!trailingAddon\n const hasLeadingIcon = !!leadingIcon\n const hasTrailingIcon = !!trailingIcon\n const hasClearButton = !!value && !!clearButton && !disabled && !readOnly\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = event => {\n if (props.onChange) {\n props.onChange(event)\n }\n\n onChange(event.target.value)\n }\n\n const handleClear = useCallback(() => {\n if (onClearRef.current) {\n onClearRef.current()\n }\n\n onChange('')\n\n inputRef.current.focus()\n }, [onChange])\n\n const current = useMemo(() => {\n return {\n state,\n disabled,\n readOnly,\n hasLeadingIcon,\n hasTrailingIcon,\n hasLeadingAddon,\n hasTrailingAddon,\n hasClearButton,\n onClear: handleClear,\n }\n }, [\n state,\n disabled,\n readOnly,\n hasLeadingIcon,\n hasTrailingIcon,\n hasLeadingAddon,\n hasTrailingAddon,\n hasClearButton,\n handleClear,\n ])\n\n useEffect(() => {\n onClearRef.current = onClear\n }, [onClear])\n\n // Preserve the input value when cloning. Some libraries like React Hook Form\n // only expose a ref (via `register`) without direct value access, so we need\n // to manually retrieve the value from the ref to avoid losing it.\n const inputRefValue = inputRef.current?.value\n\n return (\n <InputGroupContext.Provider value={current}>\n <div\n data-spark-component=\"input-group\"\n ref={forwardedRef}\n className={inputGroupStyles({ disabled, readOnly, className })}\n {...others}\n >\n {hasLeadingAddon && leadingAddon}\n\n <div className=\"relative inline-flex w-full\">\n {input &&\n cloneElement(input, {\n value: value ?? inputRefValue ?? '',\n ref,\n defaultValue: undefined,\n onChange: handleChange,\n })}\n\n {leadingIcon}\n\n {hasClearButton && clearButton}\n\n {trailingIcon}\n </div>\n\n {hasTrailingAddon && trailingAddon}\n </div>\n </InputGroupContext.Provider>\n )\n}\n\nInputGroup.displayName = 'InputGroup'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputGroupStyles = cva(['relative inline-flex w-full'], {\n variants: {\n /**\n * When `true`, prevents the user from interacting.\n */\n disabled: {\n true: [\n 'cursor-not-allowed',\n 'relative',\n 'after:absolute',\n 'after:top-0',\n 'after:h-full',\n 'after:w-full',\n 'after:border-sm after:border-outline',\n 'after:rounded-lg',\n ],\n false: 'after:hidden',\n },\n /**\n * Sets the component as interactive or not.\n */\n readOnly: {\n true: [\n 'relative',\n 'after:absolute',\n 'after:top-0',\n 'after:h-full',\n 'after:w-full',\n 'after:border-sm after:border-outline',\n 'after:rounded-lg',\n ],\n false: 'after:hidden',\n },\n },\n})\n\nexport type InputGroupStylesProps = VariantProps<typeof inputGroupStyles>\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { InputAddon, InputAddonProps } from './InputAddon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputLeadingAddonProps = InputAddonProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nconst Root = ({ className, ref, ...others }: InputLeadingAddonProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <div className={cx('rounded-l-lg', isInactive ? 'bg-on-surface/dim-5' : null)}>\n <InputAddon\n ref={ref}\n className={cx(className, 'rounded-r-0! mr-[-1px] rounded-l-lg')}\n {...others}\n />\n </div>\n )\n}\n\nexport const InputLeadingAddon = Object.assign(Root, {\n id: 'LeadingAddon',\n})\n\nRoot.displayName = 'InputGroup.LeadingAddon'\n","import { Children, type ComponentPropsWithoutRef, type PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { inputAddonStyles, type InputAddonStylesProps } from './InputAddon.styles'\nimport { useInputGroup } from './InputGroupContext'\n\nexport interface InputAddonProps\n extends ComponentPropsWithoutRef<'div'>,\n Omit<InputAddonStylesProps, 'intent' | 'disabled'> {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const InputAddon = ({\n asChild: asChildProp,\n className,\n children,\n ref,\n ...others\n}: PropsWithChildren<InputAddonProps>) => {\n const { state, disabled, readOnly } = useInputGroup()\n\n const isRawText = typeof children === 'string'\n const asChild = !!(isRawText ? false : asChildProp)\n const child = isRawText ? children : Children.only(children)\n const Component = asChild && !isRawText ? Slot : 'div'\n\n const getDesign = (): InputAddonStylesProps['design'] => {\n if (isRawText) return 'text'\n\n return asChild ? 'solid' : 'inline'\n }\n\n const design = getDesign()\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"input-addon\"\n className={inputAddonStyles({\n className,\n intent: state,\n disabled,\n readOnly,\n asChild,\n design,\n })}\n {...(disabled && { tabIndex: -1 })}\n {...others}\n >\n {child}\n </Component>\n )\n}\n\nInputAddon.displayName = 'InputGroup.Addon'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputAddonStyles = cva(\n [\n 'overflow-hidden',\n 'border-sm',\n 'shrink-0',\n 'h-full',\n 'focus-visible:relative focus-visible:z-raised',\n 'mx-0',\n ],\n {\n variants: {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild: { false: ['flex', 'items-center', 'px-lg'] },\n intent: {\n neutral: 'border-outline',\n error: 'border-error',\n alert: 'border-alert',\n success: 'border-success',\n },\n /**\n * Disable the input addon, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['pointer-events-none border-outline!'],\n },\n /**\n * Changes input addon styles based on the read only status from the input.\n */\n readOnly: {\n true: ['pointer-events-none'],\n },\n /**\n * Main style of the input addon.\n */\n design: {\n text: '',\n solid: '',\n inline: '',\n },\n },\n compoundVariants: [\n {\n disabled: false,\n readOnly: false,\n design: 'text',\n class: ['bg-surface', 'text-on-surface'],\n },\n {\n disabled: true,\n design: 'text',\n class: ['text-on-surface/dim-3'],\n },\n {\n disabled: true,\n design: ['solid', 'inline'],\n class: ['opacity-dim-3'],\n },\n ],\n defaultVariants: {\n intent: 'neutral',\n },\n }\n)\n\nexport type InputAddonStylesProps = VariantProps<typeof inputAddonStyles>\n","import { cx } from 'class-variance-authority'\n\nimport { InputIcon, InputIconProps } from './InputIcon'\n\nexport type InputLeadingIconProps = InputIconProps\n\nexport const InputLeadingIcon = ({ className, ...others }: InputLeadingIconProps) => (\n <InputIcon className={cx(className, 'left-lg text-body-1')} {...others} />\n)\n\nInputLeadingIcon.id = 'LeadingIcon'\nInputLeadingIcon.displayName = 'InputGroup.LeadingIcon'\n","import { cx } from 'class-variance-authority'\n\nimport { Icon, type IconProps } from '../icon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputIconProps = IconProps\n\nexport const InputIcon = ({ className, intent, children, ...others }: InputIconProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <Icon\n data-spark-component=\"input-icon\"\n intent={intent}\n className={cx(\n className,\n 'pointer-events-none absolute top-[calc(var(--spacing-sz-44)/2)] -translate-y-1/2',\n intent ? undefined : 'text-neutral peer-focus:text-outline-high',\n isInactive ? 'opacity-dim-3' : undefined\n )}\n {...others}\n >\n {children}\n </Icon>\n )\n}\n\nInputIcon.displayName = 'InputGroup.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { InputAddon, InputAddonProps } from './InputAddon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputTrailingAddonProps = InputAddonProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nconst Root = ({ className, ref, ...others }: InputTrailingAddonProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <div className={cx('rounded-r-lg', isInactive ? 'bg-on-surface/dim-5' : null)}>\n <InputAddon\n ref={ref}\n className={cx(className, 'rounded-l-0! ml-[-1px] rounded-r-lg')}\n {...others}\n />\n </div>\n )\n}\n\nexport const InputTrailingAddon = Object.assign(Root, {\n id: 'TrailingAddon',\n})\n\nRoot.displayName = 'InputGroup.TrailingAddon'\n","import { cx } from 'class-variance-authority'\n\nimport { InputIcon, InputIconProps } from './InputIcon'\n\nexport type InputTrailingIconProps = InputIconProps\n\nexport const InputTrailingIcon = ({ className, ...others }: InputTrailingIconProps) => (\n <InputIcon className={cx(className, 'right-lg text-body-1')} {...others} />\n)\n\nInputTrailingIcon.id = 'TrailingIcon'\nInputTrailingIcon.displayName = 'InputGroup.TrailingIcon'\n","import { useFormFieldControl } from '@spark-ui/components/form-field'\nimport { ChangeEventHandler, ComponentPropsWithoutRef, KeyboardEventHandler, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { inputStyles } from './Input.styles'\nimport { useInputGroup } from './InputGroupContext'\n\ntype InputPrimitiveProps = ComponentPropsWithoutRef<'input'>\n\nexport interface InputProps extends InputPrimitiveProps {\n asChild?: boolean\n onValueChange?: (value: string) => void\n ref?: Ref<HTMLInputElement>\n}\n\nconst Root = ({\n className,\n asChild = false,\n onValueChange,\n onChange,\n onKeyDown,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n ref,\n ...others\n}: InputProps) => {\n const field = useFormFieldControl()\n const group = useInputGroup()\n\n const { id, name, isInvalid, isRequired, description } = field\n const {\n hasLeadingAddon,\n hasTrailingAddon,\n hasLeadingIcon,\n hasTrailingIcon,\n hasClearButton,\n onClear,\n } = group\n const Component = asChild ? Slot : 'input'\n const state = field.state || group.state\n const disabled = field.disabled || group.disabled || disabledProp\n const readOnly = field.readOnly || group.readOnly || readOnlyProp\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = event => {\n if (onChange) {\n onChange(event)\n }\n\n if (onValueChange) {\n onValueChange(event.target.value)\n }\n }\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = event => {\n if (onKeyDown) {\n onKeyDown(event)\n }\n\n if (hasClearButton && onClear && event.key === 'Escape') {\n onClear()\n }\n }\n\n return (\n <Component\n data-spark-component=\"input\"\n ref={ref}\n id={id}\n name={name}\n className={inputStyles({\n asChild,\n className,\n intent: state,\n hasLeadingAddon: !!hasLeadingAddon,\n hasTrailingAddon: !!hasTrailingAddon,\n hasLeadingIcon: !!hasLeadingIcon,\n hasTrailingIcon: !!hasTrailingIcon,\n hasClearButton: !!hasClearButton,\n })}\n disabled={disabled}\n readOnly={readOnly}\n required={isRequired}\n aria-describedby={description}\n aria-invalid={isInvalid}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...others}\n />\n )\n}\n\nexport const Input = Object.assign(Root, {\n id: 'Input',\n})\n\nRoot.displayName = 'Input'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputStyles = cva(\n [\n 'relative',\n 'border-sm',\n 'peer',\n 'w-full',\n 'appearance-none outline-hidden',\n 'bg-surface',\n 'text-ellipsis text-body-1 text-on-surface',\n 'caret-neutral',\n '[&:-webkit-autofill]:[-webkit-text-fill-color:var(--color-on-surface)]',\n 'autofill:shadow-surface autofill:shadow-[inset_0_0_0px_1000px]',\n 'disabled:cursor-not-allowed disabled:border-outline disabled:bg-on-surface/dim-5 disabled:text-on-surface/dim-3',\n 'read-only:cursor-default read-only:pointer-events-none read-only:bg-on-surface/dim-5',\n 'focus:ring-1 focus:ring-inset focus:ring-focus focus:border-focus',\n ],\n {\n variants: {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild: {\n true: ['min-h-sz-44'],\n false: ['h-sz-44'],\n },\n /**\n * Color scheme of the button.\n */\n intent: {\n neutral: ['border-outline', 'default:hover:border-outline-high'],\n success: ['default:border-success'],\n alert: ['default:border-alert'],\n error: ['default:border-error'],\n },\n /**\n * Sets if there is an addon before the input text.\n */\n hasLeadingAddon: {\n true: ['rounded-l-0'],\n false: ['rounded-l-lg'],\n },\n /**\n * Sets if there is an addon after the input text.\n */\n hasTrailingAddon: {\n true: ['rounded-r-0'],\n false: ['rounded-r-lg'],\n },\n /**\n * Sets if there is an icon before the input text.\n */\n hasLeadingIcon: {\n true: ['pl-3xl'],\n false: ['pl-lg'],\n },\n /**\n * Sets if there is an icon after the input text.\n */\n hasTrailingIcon: { true: '' },\n /**\n * Sets if there is a button to clear the input text.\n */\n hasClearButton: { true: '' },\n },\n compoundVariants: [\n {\n hasTrailingIcon: false,\n hasClearButton: false,\n class: 'pr-lg',\n },\n {\n hasTrailingIcon: true,\n hasClearButton: false,\n class: 'pr-3xl',\n },\n {\n hasTrailingIcon: false,\n hasClearButton: true,\n class: 'pr-3xl',\n },\n {\n hasTrailingIcon: true,\n hasClearButton: true,\n class: 'pr-[calc(var(--spacing-3xl)*2)]',\n },\n ],\n defaultVariants: {\n intent: 'neutral',\n },\n }\n)\n\nexport type InputStylesProps = VariantProps<typeof inputStyles>\n"],"mappings":"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","names":["InputGroup","import_class_variance_authority","import_react","RadixSlot","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_react","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_react","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","Root","import_class_variance_authority","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","Root","import_class_variance_authority","import_jsx_runtime","import_form_field","import_class_variance_authority","import_jsx_runtime","Root","InputGroup"]}
1
+ {"version":3,"file":"index.js","sources":["../../src/input/InputGroupContext.ts","../../src/input/InputClearButton.tsx","../../src/input/InputGroup.styles.ts","../../src/input/InputGroup.tsx","../../src/input/InputAddon.styles.ts","../../src/input/InputAddon.tsx","../../src/input/InputLeadingAddon.tsx","../../src/input/InputIcon.tsx","../../src/input/InputLeadingIcon.tsx","../../src/input/InputTrailingAddon.tsx","../../src/input/InputTrailingIcon.tsx","../../src/input/Input.styles.ts","../../src/input/Input.tsx","../../src/input/index.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface InputGroupContextValue {\n disabled?: boolean\n readOnly?: boolean\n hasLeadingIcon: boolean\n hasTrailingIcon: boolean\n hasLeadingAddon: boolean\n hasTrailingAddon: boolean\n hasClearButton: boolean\n state: null | undefined | 'error' | 'alert' | 'success'\n isStandalone?: boolean\n onClear: () => void\n}\n\nexport const InputGroupContext = createContext<Partial<InputGroupContextValue> | null>(null)\n\nexport const useInputGroup = () => {\n const context = useContext(InputGroupContext)\n\n return context || { isStandalone: true }\n}\n","import { DeleteOutline } from '@spark-ui/icons/DeleteOutline'\nimport { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, MouseEventHandler, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport interface InputClearButtonProps extends ComponentPropsWithoutRef<'button'> {\n 'aria-label': string\n inline?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nconst Root = ({\n className,\n tabIndex = -1,\n onClick,\n inline = false,\n ref,\n ...others\n}: InputClearButtonProps) => {\n const { onClear, hasTrailingIcon } = useInputGroup()\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = event => {\n if (onClick) {\n onClick(event)\n }\n\n if (onClear) {\n onClear()\n }\n }\n\n return (\n <button\n ref={ref}\n data-spark-component=\"input-clear-button\"\n className={cx(\n className,\n 'pointer-events-auto absolute',\n inline ? 'h-sz-44 top-0 -translate-y-0' : 'top-1/2 -translate-y-1/2',\n 'inline-flex h-full items-center justify-center outline-hidden',\n 'text-neutral hover:text-neutral-hovered',\n hasTrailingIcon ? 'right-3xl px-sz-12' : 'pl-md pr-lg right-0'\n )}\n tabIndex={tabIndex}\n onClick={handleClick}\n type=\"button\"\n {...others}\n >\n <Icon size=\"sm\">\n <DeleteOutline />\n </Icon>\n </button>\n )\n}\n\nexport const InputClearButton = Object.assign(Root, {\n id: 'ClearButton',\n})\n\nRoot.displayName = 'InputGroup.ClearButton'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputGroupStyles = cva(['relative inline-flex w-full'], {\n variants: {\n /**\n * When `true`, prevents the user from interacting.\n */\n disabled: {\n true: [\n 'cursor-not-allowed',\n 'relative',\n 'after:absolute',\n 'after:top-0',\n 'after:h-full',\n 'after:w-full',\n 'after:border-sm after:border-outline',\n 'after:rounded-lg',\n ],\n false: 'after:hidden',\n },\n /**\n * Sets the component as interactive or not.\n */\n readOnly: {\n true: [\n 'relative',\n 'after:absolute',\n 'after:top-0',\n 'after:h-full',\n 'after:w-full',\n 'after:border-sm after:border-outline',\n 'after:rounded-lg',\n ],\n false: 'after:hidden',\n },\n },\n})\n\nexport type InputGroupStylesProps = VariantProps<typeof inputGroupStyles>\n","/* eslint-disable max-lines-per-function */\n\nimport { useFormFieldControl } from '@spark-ui/components/form-field'\nimport { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { useMergeRefs } from '@spark-ui/hooks/use-merge-refs'\nimport {\n ChangeEventHandler,\n Children,\n cloneElement,\n ComponentPropsWithoutRef,\n DetailedReactHTMLElement,\n FC,\n isValidElement,\n PropsWithChildren,\n ReactElement,\n Ref,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\n\nimport { InputProps } from './Input'\nimport { inputGroupStyles, InputGroupStylesProps } from './InputGroup.styles'\nimport { InputGroupContext } from './InputGroupContext'\n\nexport interface InputGroupProps extends ComponentPropsWithoutRef<'div'>, InputGroupStylesProps {\n /**\n * Use `state` prop to assign a specific state to the group, choosing from: `error`, `alert` and `success`. By doing so, the outline styles will be updated.\n */\n state?: 'error' | 'alert' | 'success'\n /**\n * Function handler to be executed after the input has been cleared.\n */\n onClear?: () => void\n ref?: Ref<HTMLDivElement>\n}\n\nexport const InputGroup = ({\n className,\n children: childrenProp,\n state: stateProp,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n onClear,\n ref: forwardedRef,\n ...others\n}: PropsWithChildren<InputGroupProps>) => {\n const getElementId = (element?: ReactElement) => {\n return element ? (element.type as FC & { id?: string }).id : ''\n }\n\n const findElement = (...values: string[]) => {\n return children.find(child => values.includes(getElementId(child) || ''))\n }\n\n const children = Children.toArray(childrenProp).filter(isValidElement)\n const input = findElement('Input') as\n | DetailedReactHTMLElement<InputProps, HTMLInputElement>\n | undefined\n const props = input?.props || {}\n\n const inputRef = useRef<HTMLInputElement>(null!)\n const onClearRef = useRef(onClear)\n const ref = useMergeRefs<HTMLInputElement>(input?.ref, inputRef)\n const [value, onChange] = useCombinedState(\n props.value as string,\n props.defaultValue as string,\n props.onValueChange\n )\n\n // Data derivated from FormField context\n const field = useFormFieldControl()\n const state = field.state ?? stateProp\n const disabled = field.disabled || !!disabledProp\n const readOnly = field.readOnly || !!readOnlyProp\n\n // InputGroup elements (in visual order)\n const leadingAddon = findElement('LeadingAddon')\n const leadingIcon = findElement('LeadingIcon')\n const clearButton = findElement('ClearButton')\n const trailingIcon = findElement('TrailingIcon')\n const trailingAddon = findElement('TrailingAddon')\n\n // Acknowledge which subComponents are used in the compound context\n const hasLeadingAddon = !!leadingAddon\n const hasTrailingAddon = !!trailingAddon\n const hasLeadingIcon = !!leadingIcon\n const hasTrailingIcon = !!trailingIcon\n const hasClearButton = !!value && !!clearButton && !disabled && !readOnly\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = event => {\n if (props.onChange) {\n props.onChange(event)\n }\n\n onChange(event.target.value)\n }\n\n const handleClear = useCallback(() => {\n if (onClearRef.current) {\n onClearRef.current()\n }\n\n onChange('')\n\n inputRef.current.focus()\n }, [onChange])\n\n const current = useMemo(() => {\n return {\n state,\n disabled,\n readOnly,\n hasLeadingIcon,\n hasTrailingIcon,\n hasLeadingAddon,\n hasTrailingAddon,\n hasClearButton,\n onClear: handleClear,\n }\n }, [\n state,\n disabled,\n readOnly,\n hasLeadingIcon,\n hasTrailingIcon,\n hasLeadingAddon,\n hasTrailingAddon,\n hasClearButton,\n handleClear,\n ])\n\n useEffect(() => {\n onClearRef.current = onClear\n }, [onClear])\n\n // Preserve the input value when cloning. Some libraries like React Hook Form\n // only expose a ref (via `register`) without direct value access, so we need\n // to manually retrieve the value from the ref to avoid losing it.\n const inputRefValue = inputRef.current?.value\n\n return (\n <InputGroupContext.Provider value={current}>\n <div\n data-spark-component=\"input-group\"\n ref={forwardedRef}\n className={inputGroupStyles({ disabled, readOnly, className })}\n {...others}\n >\n {hasLeadingAddon && leadingAddon}\n\n <div className=\"relative inline-flex w-full\">\n {input &&\n cloneElement(input, {\n value: value ?? inputRefValue ?? '',\n ref,\n defaultValue: undefined,\n onChange: handleChange,\n })}\n\n {leadingIcon}\n\n {hasClearButton && clearButton}\n\n {trailingIcon}\n </div>\n\n {hasTrailingAddon && trailingAddon}\n </div>\n </InputGroupContext.Provider>\n )\n}\n\nInputGroup.displayName = 'InputGroup'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputAddonStyles = cva(\n [\n 'overflow-hidden',\n 'border-sm',\n 'shrink-0',\n 'h-full',\n 'focus-visible:relative focus-visible:z-raised',\n 'mx-0',\n ],\n {\n variants: {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild: { false: ['flex', 'items-center', 'px-lg'] },\n intent: {\n neutral: 'border-outline',\n error: 'border-error',\n alert: 'border-alert',\n success: 'border-success',\n },\n /**\n * Disable the input addon, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['pointer-events-none border-outline!'],\n },\n /**\n * Changes input addon styles based on the read only status from the input.\n */\n readOnly: {\n true: ['pointer-events-none'],\n },\n /**\n * Main style of the input addon.\n */\n design: {\n text: '',\n solid: '',\n inline: '',\n },\n },\n compoundVariants: [\n {\n disabled: false,\n readOnly: false,\n design: 'text',\n class: ['bg-surface', 'text-on-surface'],\n },\n {\n disabled: true,\n design: 'text',\n class: ['text-on-surface/dim-3'],\n },\n {\n disabled: true,\n design: ['solid', 'inline'],\n class: ['opacity-dim-3'],\n },\n ],\n defaultVariants: {\n intent: 'neutral',\n },\n }\n)\n\nexport type InputAddonStylesProps = VariantProps<typeof inputAddonStyles>\n","import { Children, type ComponentPropsWithoutRef, type PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { inputAddonStyles, type InputAddonStylesProps } from './InputAddon.styles'\nimport { useInputGroup } from './InputGroupContext'\n\nexport interface InputAddonProps\n extends ComponentPropsWithoutRef<'div'>,\n Omit<InputAddonStylesProps, 'intent' | 'disabled'> {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const InputAddon = ({\n asChild: asChildProp,\n className,\n children,\n ref,\n ...others\n}: PropsWithChildren<InputAddonProps>) => {\n const { state, disabled, readOnly } = useInputGroup()\n\n const isRawText = typeof children === 'string'\n const asChild = !!(isRawText ? false : asChildProp)\n const child = isRawText ? children : Children.only(children)\n const Component = asChild && !isRawText ? Slot : 'div'\n\n const getDesign = (): InputAddonStylesProps['design'] => {\n if (isRawText) return 'text'\n\n return asChild ? 'solid' : 'inline'\n }\n\n const design = getDesign()\n\n return (\n <Component\n ref={ref}\n data-spark-component=\"input-addon\"\n className={inputAddonStyles({\n className,\n intent: state,\n disabled,\n readOnly,\n asChild,\n design,\n })}\n {...(disabled && { tabIndex: -1 })}\n {...others}\n >\n {child}\n </Component>\n )\n}\n\nInputAddon.displayName = 'InputGroup.Addon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { InputAddon, InputAddonProps } from './InputAddon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputLeadingAddonProps = InputAddonProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nconst Root = ({ className, ref, ...others }: InputLeadingAddonProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <div className={cx('rounded-l-lg', isInactive ? 'bg-on-surface/dim-5' : null)}>\n <InputAddon\n ref={ref}\n className={cx(className, 'rounded-r-0! mr-[-1px] rounded-l-lg')}\n {...others}\n />\n </div>\n )\n}\n\nexport const InputLeadingAddon = Object.assign(Root, {\n id: 'LeadingAddon',\n})\n\nRoot.displayName = 'InputGroup.LeadingAddon'\n","import { cx } from 'class-variance-authority'\n\nimport { Icon, type IconProps } from '../icon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputIconProps = IconProps\n\nexport const InputIcon = ({ className, intent, children, ...others }: InputIconProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <Icon\n data-spark-component=\"input-icon\"\n intent={intent}\n className={cx(\n className,\n 'pointer-events-none absolute top-[calc(var(--spacing-sz-44)/2)] -translate-y-1/2',\n intent ? undefined : 'text-neutral peer-focus:text-outline-high',\n isInactive ? 'opacity-dim-3' : undefined\n )}\n {...others}\n >\n {children}\n </Icon>\n )\n}\n\nInputIcon.displayName = 'InputGroup.Icon'\n","import { cx } from 'class-variance-authority'\n\nimport { InputIcon, InputIconProps } from './InputIcon'\n\nexport type InputLeadingIconProps = InputIconProps\n\nexport const InputLeadingIcon = ({ className, ...others }: InputLeadingIconProps) => (\n <InputIcon className={cx(className, 'left-lg text-body-1')} {...others} />\n)\n\nInputLeadingIcon.id = 'LeadingIcon'\nInputLeadingIcon.displayName = 'InputGroup.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { InputAddon, InputAddonProps } from './InputAddon'\nimport { useInputGroup } from './InputGroupContext'\n\nexport type InputTrailingAddonProps = InputAddonProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nconst Root = ({ className, ref, ...others }: InputTrailingAddonProps) => {\n const { disabled, readOnly } = useInputGroup()\n const isInactive = disabled || readOnly\n\n return (\n <div className={cx('rounded-r-lg', isInactive ? 'bg-on-surface/dim-5' : null)}>\n <InputAddon\n ref={ref}\n className={cx(className, 'rounded-l-0! ml-[-1px] rounded-r-lg')}\n {...others}\n />\n </div>\n )\n}\n\nexport const InputTrailingAddon = Object.assign(Root, {\n id: 'TrailingAddon',\n})\n\nRoot.displayName = 'InputGroup.TrailingAddon'\n","import { cx } from 'class-variance-authority'\n\nimport { InputIcon, InputIconProps } from './InputIcon'\n\nexport type InputTrailingIconProps = InputIconProps\n\nexport const InputTrailingIcon = ({ className, ...others }: InputTrailingIconProps) => (\n <InputIcon className={cx(className, 'right-lg text-body-1')} {...others} />\n)\n\nInputTrailingIcon.id = 'TrailingIcon'\nInputTrailingIcon.displayName = 'InputGroup.TrailingIcon'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const inputStyles = cva(\n [\n 'relative',\n 'border-sm',\n 'peer',\n 'w-full',\n 'appearance-none outline-hidden',\n 'bg-surface',\n 'text-ellipsis text-body-1 text-on-surface',\n 'caret-neutral',\n '[&:-webkit-autofill]:[-webkit-text-fill-color:var(--color-on-surface)]',\n 'autofill:shadow-surface autofill:shadow-[inset_0_0_0px_1000px]',\n 'disabled:cursor-not-allowed disabled:border-outline disabled:bg-on-surface/dim-5 disabled:text-on-surface/dim-3',\n 'read-only:cursor-default read-only:pointer-events-none read-only:bg-on-surface/dim-5',\n 'focus:ring-1 focus:ring-inset focus:ring-focus focus:border-focus',\n ],\n {\n variants: {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild: {\n true: ['min-h-sz-44'],\n false: ['h-sz-44'],\n },\n /**\n * Color scheme of the button.\n */\n intent: {\n neutral: ['border-outline', 'default:hover:border-outline-high'],\n success: ['default:border-success'],\n alert: ['default:border-alert'],\n error: ['default:border-error'],\n },\n /**\n * Sets if there is an addon before the input text.\n */\n hasLeadingAddon: {\n true: ['rounded-l-0'],\n false: ['rounded-l-lg'],\n },\n /**\n * Sets if there is an addon after the input text.\n */\n hasTrailingAddon: {\n true: ['rounded-r-0'],\n false: ['rounded-r-lg'],\n },\n /**\n * Sets if there is an icon before the input text.\n */\n hasLeadingIcon: {\n true: ['pl-3xl'],\n false: ['pl-lg'],\n },\n /**\n * Sets if there is an icon after the input text.\n */\n hasTrailingIcon: { true: '' },\n /**\n * Sets if there is a button to clear the input text.\n */\n hasClearButton: { true: '' },\n },\n compoundVariants: [\n {\n hasTrailingIcon: false,\n hasClearButton: false,\n class: 'pr-lg',\n },\n {\n hasTrailingIcon: true,\n hasClearButton: false,\n class: 'pr-3xl',\n },\n {\n hasTrailingIcon: false,\n hasClearButton: true,\n class: 'pr-3xl',\n },\n {\n hasTrailingIcon: true,\n hasClearButton: true,\n class: 'pr-[calc(var(--spacing-3xl)*2)]',\n },\n ],\n defaultVariants: {\n intent: 'neutral',\n },\n }\n)\n\nexport type InputStylesProps = VariantProps<typeof inputStyles>\n","import { useFormFieldControl } from '@spark-ui/components/form-field'\nimport { ChangeEventHandler, ComponentPropsWithoutRef, KeyboardEventHandler, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { inputStyles } from './Input.styles'\nimport { useInputGroup } from './InputGroupContext'\n\ntype InputPrimitiveProps = ComponentPropsWithoutRef<'input'>\n\nexport interface InputProps extends InputPrimitiveProps {\n asChild?: boolean\n onValueChange?: (value: string) => void\n ref?: Ref<HTMLInputElement>\n}\n\nconst Root = ({\n className,\n asChild = false,\n onValueChange,\n onChange,\n onKeyDown,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n ref,\n ...others\n}: InputProps) => {\n const field = useFormFieldControl()\n const group = useInputGroup()\n\n const { id, name, isInvalid, isRequired, description } = field\n const {\n hasLeadingAddon,\n hasTrailingAddon,\n hasLeadingIcon,\n hasTrailingIcon,\n hasClearButton,\n onClear,\n } = group\n const Component = asChild ? Slot : 'input'\n const state = field.state || group.state\n const disabled = field.disabled || group.disabled || disabledProp\n const readOnly = field.readOnly || group.readOnly || readOnlyProp\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = event => {\n if (onChange) {\n onChange(event)\n }\n\n if (onValueChange) {\n onValueChange(event.target.value)\n }\n }\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = event => {\n if (onKeyDown) {\n onKeyDown(event)\n }\n\n if (hasClearButton && onClear && event.key === 'Escape') {\n onClear()\n }\n }\n\n return (\n <Component\n data-spark-component=\"input\"\n ref={ref}\n id={id}\n name={name}\n className={inputStyles({\n asChild,\n className,\n intent: state,\n hasLeadingAddon: !!hasLeadingAddon,\n hasTrailingAddon: !!hasTrailingAddon,\n hasLeadingIcon: !!hasLeadingIcon,\n hasTrailingIcon: !!hasTrailingIcon,\n hasClearButton: !!hasClearButton,\n })}\n disabled={disabled}\n readOnly={readOnly}\n required={isRequired}\n aria-describedby={description}\n aria-invalid={isInvalid}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...others}\n />\n )\n}\n\nexport const Input = Object.assign(Root, {\n id: 'Input',\n})\n\nRoot.displayName = 'Input'\n","import { InputClearButton } from './InputClearButton'\nimport { InputGroup as Root } from './InputGroup'\nimport { InputLeadingAddon } from './InputLeadingAddon'\nimport { InputLeadingIcon } from './InputLeadingIcon'\nimport { InputTrailingAddon } from './InputTrailingAddon'\nimport { InputTrailingIcon } from './InputTrailingIcon'\n\nexport * from './Input'\n\nexport const InputGroup: typeof Root & {\n LeadingAddon: typeof InputLeadingAddon\n TrailingAddon: typeof InputTrailingAddon\n LeadingIcon: typeof InputLeadingIcon\n TrailingIcon: typeof InputTrailingIcon\n ClearButton: typeof InputClearButton\n} = Object.assign(Root, {\n LeadingAddon: InputLeadingAddon,\n TrailingAddon: InputTrailingAddon,\n LeadingIcon: InputLeadingIcon,\n TrailingIcon: InputTrailingIcon,\n ClearButton: InputClearButton,\n})\n\nInputGroup.displayName = 'InputGroup'\nInputLeadingAddon.displayName = 'InputGroup.LeadingAddon'\nInputTrailingAddon.displayName = 'InputGroup.TrailingAddon'\nInputLeadingIcon.displayName = 'InputGroup.LeadingIcon'\nInputTrailingIcon.displayName = 'InputGroup.TrailingIcon'\nInputClearButton.displayName = 'InputGroup.ClearButton'\n\nexport { useInputGroup } from './InputGroupContext'\nexport { type InputGroupProps } from './InputGroup'\nexport { type InputLeadingIconProps } from './InputLeadingIcon'\nexport { type InputTrailingIconProps } from './InputTrailingIcon'\nexport { type InputLeadingAddonProps } from './InputLeadingAddon'\nexport { type InputTrailingAddonProps } from './InputTrailingAddon'\nexport { type InputClearButtonProps } from './InputClearButton'\n"],"names":["InputGroupContext","createContext","useInputGroup","useContext","Root","className","tabIndex","onClick","inline","ref","others","onClear","hasTrailingIcon","handleClick","event","jsx","cx","Icon","DeleteOutline","InputClearButton","inputGroupStyles","cva","InputGroup","childrenProp","stateProp","disabledProp","readOnlyProp","forwardedRef","getElementId","element","findElement","values","children","child","Children","isValidElement","input","props","inputRef","useRef","onClearRef","useMergeRefs","value","onChange","useCombinedState","field","useFormFieldControl","state","disabled","readOnly","leadingAddon","leadingIcon","clearButton","trailingIcon","trailingAddon","hasLeadingAddon","hasTrailingAddon","hasLeadingIcon","hasClearButton","handleChange","handleClear","useCallback","current","useMemo","useEffect","inputRefValue","jsxs","cloneElement","inputAddonStyles","InputAddon","asChildProp","isRawText","asChild","Component","Slot","design","isInactive","InputLeadingAddon","InputIcon","intent","InputLeadingIcon","InputTrailingAddon","InputTrailingIcon","inputStyles","onValueChange","onKeyDown","group","id","name","isInvalid","isRequired","description","handleKeyDown","Input"],"mappings":"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"}
@@ -1,14 +1,455 @@
1
- import {
2
- Input,
3
- InputGroup,
4
- useInputGroup
5
- } from "../chunk-VBX7BTNU.mjs";
6
- import "../chunk-UMUMFMFB.mjs";
7
- import "../chunk-KEGAAGJW.mjs";
8
- import "../chunk-6QCEPQ3U.mjs";
1
+ import { jsx as l, jsxs as F } from "react/jsx-runtime";
2
+ import { DeleteOutline as le } from "@spark-ui/icons/DeleteOutline";
3
+ import { a as g, c as E } from "../index-BmAFn37q.mjs";
4
+ import { I as K } from "../Icon-D1RueiPY.mjs";
5
+ import { createContext as ie, useContext as de, Children as P, isValidElement as ue, useRef as M, useCallback as ce, useMemo as pe, useEffect as fe, cloneElement as ge } from "react";
6
+ import { useFormFieldControl as H } from "../form-field/index.mjs";
7
+ import { useCombinedState as me } from "@spark-ui/hooks/use-combined-state";
8
+ import { useMergeRefs as he } from "@spark-ui/hooks/use-merge-refs";
9
+ import { a as J } from "../Slot-C98rL4yy.mjs";
10
+ const Q = ie(null), v = () => de(Q) || { isStandalone: !0 }, U = ({
11
+ className: n,
12
+ tabIndex: e = -1,
13
+ onClick: t,
14
+ inline: r = !1,
15
+ ref: o,
16
+ ...s
17
+ }) => {
18
+ const { onClear: i, hasTrailingIcon: m } = v(), d = (a) => {
19
+ t && t(a), i && i();
20
+ };
21
+ return /* @__PURE__ */ l(
22
+ "button",
23
+ {
24
+ ref: o,
25
+ "data-spark-component": "input-clear-button",
26
+ className: g(
27
+ n,
28
+ "pointer-events-auto absolute",
29
+ r ? "h-sz-44 top-0 -translate-y-0" : "top-1/2 -translate-y-1/2",
30
+ "inline-flex h-full items-center justify-center outline-hidden",
31
+ "text-neutral hover:text-neutral-hovered",
32
+ m ? "right-3xl px-sz-12" : "pl-md pr-lg right-0"
33
+ ),
34
+ tabIndex: e,
35
+ onClick: d,
36
+ type: "button",
37
+ ...s,
38
+ children: /* @__PURE__ */ l(K, { size: "sm", children: /* @__PURE__ */ l(le, {}) })
39
+ }
40
+ );
41
+ }, W = Object.assign(U, {
42
+ id: "ClearButton"
43
+ });
44
+ U.displayName = "InputGroup.ClearButton";
45
+ const Ie = E(["relative inline-flex w-full"], {
46
+ variants: {
47
+ /**
48
+ * When `true`, prevents the user from interacting.
49
+ */
50
+ disabled: {
51
+ true: [
52
+ "cursor-not-allowed",
53
+ "relative",
54
+ "after:absolute",
55
+ "after:top-0",
56
+ "after:h-full",
57
+ "after:w-full",
58
+ "after:border-sm after:border-outline",
59
+ "after:rounded-lg"
60
+ ],
61
+ false: "after:hidden"
62
+ },
63
+ /**
64
+ * Sets the component as interactive or not.
65
+ */
66
+ readOnly: {
67
+ true: [
68
+ "relative",
69
+ "after:absolute",
70
+ "after:top-0",
71
+ "after:h-full",
72
+ "after:w-full",
73
+ "after:border-sm after:border-outline",
74
+ "after:rounded-lg"
75
+ ],
76
+ false: "after:hidden"
77
+ }
78
+ }
79
+ }), X = ({
80
+ className: n,
81
+ children: e,
82
+ state: t,
83
+ disabled: r,
84
+ readOnly: o,
85
+ onClear: s,
86
+ ref: i,
87
+ ...m
88
+ }) => {
89
+ const d = (y) => y ? y.type.id : "", a = (...y) => c.find((se) => y.includes(d(se) || "")), c = P.toArray(e).filter(ue), p = a("Input"), f = p?.props || {}, h = M(null), x = M(s), V = he(p?.ref, h), [T, C] = me(
90
+ f.value,
91
+ f.defaultValue,
92
+ f.onValueChange
93
+ ), N = H(), L = N.state ?? t, I = N.disabled || !!r, b = N.readOnly || !!o, O = a("LeadingAddon"), G = a("LeadingIcon"), B = a("ClearButton"), w = a("TrailingIcon"), k = a("TrailingAddon"), A = !!O, u = !!k, _ = !!G, $ = !!w, z = !!T && !!B && !I && !b, ae = (y) => {
94
+ f.onChange && f.onChange(y), C(y.target.value);
95
+ }, q = ce(() => {
96
+ x.current && x.current(), C(""), h.current.focus();
97
+ }, [C]), re = pe(() => ({
98
+ state: L,
99
+ disabled: I,
100
+ readOnly: b,
101
+ hasLeadingIcon: _,
102
+ hasTrailingIcon: $,
103
+ hasLeadingAddon: A,
104
+ hasTrailingAddon: u,
105
+ hasClearButton: z,
106
+ onClear: q
107
+ }), [
108
+ L,
109
+ I,
110
+ b,
111
+ _,
112
+ $,
113
+ A,
114
+ u,
115
+ z,
116
+ q
117
+ ]);
118
+ fe(() => {
119
+ x.current = s;
120
+ }, [s]);
121
+ const oe = h.current?.value;
122
+ return /* @__PURE__ */ l(Q.Provider, { value: re, children: /* @__PURE__ */ F(
123
+ "div",
124
+ {
125
+ "data-spark-component": "input-group",
126
+ ref: i,
127
+ className: Ie({ disabled: I, readOnly: b, className: n }),
128
+ ...m,
129
+ children: [
130
+ A && O,
131
+ /* @__PURE__ */ F("div", { className: "relative inline-flex w-full", children: [
132
+ p && ge(p, {
133
+ value: T ?? oe ?? "",
134
+ ref: V,
135
+ defaultValue: void 0,
136
+ onChange: ae
137
+ }),
138
+ G,
139
+ z && B,
140
+ w
141
+ ] }),
142
+ u && k
143
+ ]
144
+ }
145
+ ) });
146
+ };
147
+ X.displayName = "InputGroup";
148
+ const be = E(
149
+ [
150
+ "overflow-hidden",
151
+ "border-sm",
152
+ "shrink-0",
153
+ "h-full",
154
+ "focus-visible:relative focus-visible:z-raised",
155
+ "mx-0"
156
+ ],
157
+ {
158
+ variants: {
159
+ /**
160
+ * Change the component to the HTML tag or custom component of the only child.
161
+ */
162
+ asChild: { false: ["flex", "items-center", "px-lg"] },
163
+ intent: {
164
+ neutral: "border-outline",
165
+ error: "border-error",
166
+ alert: "border-alert",
167
+ success: "border-success"
168
+ },
169
+ /**
170
+ * Disable the input addon, preventing user interaction and adding opacity.
171
+ */
172
+ disabled: {
173
+ true: ["pointer-events-none border-outline!"]
174
+ },
175
+ /**
176
+ * Changes input addon styles based on the read only status from the input.
177
+ */
178
+ readOnly: {
179
+ true: ["pointer-events-none"]
180
+ },
181
+ /**
182
+ * Main style of the input addon.
183
+ */
184
+ design: {
185
+ text: "",
186
+ solid: "",
187
+ inline: ""
188
+ }
189
+ },
190
+ compoundVariants: [
191
+ {
192
+ disabled: !1,
193
+ readOnly: !1,
194
+ design: "text",
195
+ class: ["bg-surface", "text-on-surface"]
196
+ },
197
+ {
198
+ disabled: !0,
199
+ design: "text",
200
+ class: ["text-on-surface/dim-3"]
201
+ },
202
+ {
203
+ disabled: !0,
204
+ design: ["solid", "inline"],
205
+ class: ["opacity-dim-3"]
206
+ }
207
+ ],
208
+ defaultVariants: {
209
+ intent: "neutral"
210
+ }
211
+ }
212
+ ), S = ({
213
+ asChild: n,
214
+ className: e,
215
+ children: t,
216
+ ref: r,
217
+ ...o
218
+ }) => {
219
+ const { state: s, disabled: i, readOnly: m } = v(), d = typeof t == "string", a = !!(!d && n), c = d ? t : P.only(t), p = a && !d ? J : "div", h = d ? "text" : a ? "solid" : "inline";
220
+ return /* @__PURE__ */ l(
221
+ p,
222
+ {
223
+ ref: r,
224
+ "data-spark-component": "input-addon",
225
+ className: be({
226
+ className: e,
227
+ intent: s,
228
+ disabled: i,
229
+ readOnly: m,
230
+ asChild: a,
231
+ design: h
232
+ }),
233
+ ...i && { tabIndex: -1 },
234
+ ...o,
235
+ children: c
236
+ }
237
+ );
238
+ };
239
+ S.displayName = "InputGroup.Addon";
240
+ const Y = ({ className: n, ref: e, ...t }) => {
241
+ const { disabled: r, readOnly: o } = v();
242
+ return /* @__PURE__ */ l("div", { className: g("rounded-l-lg", r || o ? "bg-on-surface/dim-5" : null), children: /* @__PURE__ */ l(
243
+ S,
244
+ {
245
+ ref: e,
246
+ className: g(n, "rounded-r-0! mr-[-1px] rounded-l-lg"),
247
+ ...t
248
+ }
249
+ ) });
250
+ }, Z = Object.assign(Y, {
251
+ id: "LeadingAddon"
252
+ });
253
+ Y.displayName = "InputGroup.LeadingAddon";
254
+ const D = ({ className: n, intent: e, children: t, ...r }) => {
255
+ const { disabled: o, readOnly: s } = v();
256
+ return /* @__PURE__ */ l(
257
+ K,
258
+ {
259
+ "data-spark-component": "input-icon",
260
+ intent: e,
261
+ className: g(
262
+ n,
263
+ "pointer-events-none absolute top-[calc(var(--spacing-sz-44)/2)] -translate-y-1/2",
264
+ e ? void 0 : "text-neutral peer-focus:text-outline-high",
265
+ o || s ? "opacity-dim-3" : void 0
266
+ ),
267
+ ...r,
268
+ children: t
269
+ }
270
+ );
271
+ };
272
+ D.displayName = "InputGroup.Icon";
273
+ const R = ({ className: n, ...e }) => /* @__PURE__ */ l(D, { className: g(n, "left-lg text-body-1"), ...e });
274
+ R.id = "LeadingIcon";
275
+ R.displayName = "InputGroup.LeadingIcon";
276
+ const ee = ({ className: n, ref: e, ...t }) => {
277
+ const { disabled: r, readOnly: o } = v();
278
+ return /* @__PURE__ */ l("div", { className: g("rounded-r-lg", r || o ? "bg-on-surface/dim-5" : null), children: /* @__PURE__ */ l(
279
+ S,
280
+ {
281
+ ref: e,
282
+ className: g(n, "rounded-l-0! ml-[-1px] rounded-r-lg"),
283
+ ...t
284
+ }
285
+ ) });
286
+ }, ne = Object.assign(ee, {
287
+ id: "TrailingAddon"
288
+ });
289
+ ee.displayName = "InputGroup.TrailingAddon";
290
+ const j = ({ className: n, ...e }) => /* @__PURE__ */ l(D, { className: g(n, "right-lg text-body-1"), ...e });
291
+ j.id = "TrailingIcon";
292
+ j.displayName = "InputGroup.TrailingIcon";
293
+ const ye = E(
294
+ [
295
+ "relative",
296
+ "border-sm",
297
+ "peer",
298
+ "w-full",
299
+ "appearance-none outline-hidden",
300
+ "bg-surface",
301
+ "text-ellipsis text-body-1 text-on-surface",
302
+ "caret-neutral",
303
+ "[&:-webkit-autofill]:[-webkit-text-fill-color:var(--color-on-surface)]",
304
+ "autofill:shadow-surface autofill:shadow-[inset_0_0_0px_1000px]",
305
+ "disabled:cursor-not-allowed disabled:border-outline disabled:bg-on-surface/dim-5 disabled:text-on-surface/dim-3",
306
+ "read-only:cursor-default read-only:pointer-events-none read-only:bg-on-surface/dim-5",
307
+ "focus:ring-1 focus:ring-inset focus:ring-focus focus:border-focus"
308
+ ],
309
+ {
310
+ variants: {
311
+ /**
312
+ * Change the component to the HTML tag or custom component of the only child.
313
+ */
314
+ asChild: {
315
+ true: ["min-h-sz-44"],
316
+ false: ["h-sz-44"]
317
+ },
318
+ /**
319
+ * Color scheme of the button.
320
+ */
321
+ intent: {
322
+ neutral: ["border-outline", "default:hover:border-outline-high"],
323
+ success: ["default:border-success"],
324
+ alert: ["default:border-alert"],
325
+ error: ["default:border-error"]
326
+ },
327
+ /**
328
+ * Sets if there is an addon before the input text.
329
+ */
330
+ hasLeadingAddon: {
331
+ true: ["rounded-l-0"],
332
+ false: ["rounded-l-lg"]
333
+ },
334
+ /**
335
+ * Sets if there is an addon after the input text.
336
+ */
337
+ hasTrailingAddon: {
338
+ true: ["rounded-r-0"],
339
+ false: ["rounded-r-lg"]
340
+ },
341
+ /**
342
+ * Sets if there is an icon before the input text.
343
+ */
344
+ hasLeadingIcon: {
345
+ true: ["pl-3xl"],
346
+ false: ["pl-lg"]
347
+ },
348
+ /**
349
+ * Sets if there is an icon after the input text.
350
+ */
351
+ hasTrailingIcon: { true: "" },
352
+ /**
353
+ * Sets if there is a button to clear the input text.
354
+ */
355
+ hasClearButton: { true: "" }
356
+ },
357
+ compoundVariants: [
358
+ {
359
+ hasTrailingIcon: !1,
360
+ hasClearButton: !1,
361
+ class: "pr-lg"
362
+ },
363
+ {
364
+ hasTrailingIcon: !0,
365
+ hasClearButton: !1,
366
+ class: "pr-3xl"
367
+ },
368
+ {
369
+ hasTrailingIcon: !1,
370
+ hasClearButton: !0,
371
+ class: "pr-3xl"
372
+ },
373
+ {
374
+ hasTrailingIcon: !0,
375
+ hasClearButton: !0,
376
+ class: "pr-[calc(var(--spacing-3xl)*2)]"
377
+ }
378
+ ],
379
+ defaultVariants: {
380
+ intent: "neutral"
381
+ }
382
+ }
383
+ ), te = ({
384
+ className: n,
385
+ asChild: e = !1,
386
+ onValueChange: t,
387
+ onChange: r,
388
+ onKeyDown: o,
389
+ disabled: s,
390
+ readOnly: i,
391
+ ref: m,
392
+ ...d
393
+ }) => {
394
+ const a = H(), c = v(), { id: p, name: f, isInvalid: h, isRequired: x, description: V } = a, {
395
+ hasLeadingAddon: T,
396
+ hasTrailingAddon: C,
397
+ hasLeadingIcon: N,
398
+ hasTrailingIcon: L,
399
+ hasClearButton: I,
400
+ onClear: b
401
+ } = c, O = e ? J : "input", G = a.state || c.state, B = a.disabled || c.disabled || s, w = a.readOnly || c.readOnly || i, k = (u) => {
402
+ r && r(u), t && t(u.target.value);
403
+ }, A = (u) => {
404
+ o && o(u), I && b && u.key === "Escape" && b();
405
+ };
406
+ return /* @__PURE__ */ l(
407
+ O,
408
+ {
409
+ "data-spark-component": "input",
410
+ ref: m,
411
+ id: p,
412
+ name: f,
413
+ className: ye({
414
+ asChild: e,
415
+ className: n,
416
+ intent: G,
417
+ hasLeadingAddon: !!T,
418
+ hasTrailingAddon: !!C,
419
+ hasLeadingIcon: !!N,
420
+ hasTrailingIcon: !!L,
421
+ hasClearButton: !!I
422
+ }),
423
+ disabled: B,
424
+ readOnly: w,
425
+ required: x,
426
+ "aria-describedby": V,
427
+ "aria-invalid": h,
428
+ onChange: k,
429
+ onKeyDown: A,
430
+ ...d
431
+ }
432
+ );
433
+ }, we = Object.assign(te, {
434
+ id: "Input"
435
+ });
436
+ te.displayName = "Input";
437
+ const ve = Object.assign(X, {
438
+ LeadingAddon: Z,
439
+ TrailingAddon: ne,
440
+ LeadingIcon: R,
441
+ TrailingIcon: j,
442
+ ClearButton: W
443
+ });
444
+ ve.displayName = "InputGroup";
445
+ Z.displayName = "InputGroup.LeadingAddon";
446
+ ne.displayName = "InputGroup.TrailingAddon";
447
+ R.displayName = "InputGroup.LeadingIcon";
448
+ j.displayName = "InputGroup.TrailingIcon";
449
+ W.displayName = "InputGroup.ClearButton";
9
450
  export {
10
- Input,
11
- InputGroup,
12
- useInputGroup
451
+ we as Input,
452
+ ve as InputGroup,
453
+ v as useInputGroup
13
454
  };
14
- //# sourceMappingURL=index.mjs.map
455
+ //# sourceMappingURL=index.mjs.map