@spark-ui/components 13.1.4 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) hide show
  1. package/dist/Button-B6rA3-e5.js +2 -0
  2. package/dist/Button-B6rA3-e5.js.map +1 -0
  3. package/dist/{chunk-2YM6GKWW.mjs → Button-C3C0aixy.mjs} +130 -173
  4. package/dist/Button-C3C0aixy.mjs.map +1 -0
  5. package/dist/DialogContent.styles-B5pR8ECK.js +2 -0
  6. package/dist/DialogContent.styles-B5pR8ECK.js.map +1 -0
  7. package/dist/{chunk-XZ47F6TP.mjs → DialogContent.styles-_lRDsl8c.mjs} +6 -8
  8. package/dist/DialogContent.styles-_lRDsl8c.mjs.map +1 -0
  9. package/dist/Icon-CF0W0LKr.js +2 -0
  10. package/dist/Icon-CF0W0LKr.js.map +1 -0
  11. package/dist/Icon-Ck-dhfLd.mjs +58 -0
  12. package/dist/Icon-Ck-dhfLd.mjs.map +1 -0
  13. package/dist/IconButton-C62-axzv.mjs +43 -0
  14. package/dist/IconButton-C62-axzv.mjs.map +1 -0
  15. package/dist/IconButton-D3g86WpZ.js +2 -0
  16. package/dist/IconButton-D3g86WpZ.js.map +1 -0
  17. package/dist/Slot-D2Bbf8Gw.mjs +14 -0
  18. package/dist/Slot-D2Bbf8Gw.mjs.map +1 -0
  19. package/dist/Slot-DQ8z2zsy.js +2 -0
  20. package/dist/Slot-DQ8z2zsy.js.map +1 -0
  21. package/dist/Spinner-_Kffli3B.js +2 -0
  22. package/dist/Spinner-_Kffli3B.js.map +1 -0
  23. package/dist/{chunk-GAK4SC2F.mjs → Spinner-jF3-zoh_.mjs} +29 -40
  24. package/dist/Spinner-jF3-zoh_.mjs.map +1 -0
  25. package/dist/{chunk-RKPP7ZOK.mjs → TextLink-BuzFRWO6.mjs} +27 -36
  26. package/dist/TextLink-BuzFRWO6.mjs.map +1 -0
  27. package/dist/TextLink-C3xDLsbC.js +2 -0
  28. package/dist/TextLink-C3xDLsbC.js.map +1 -0
  29. package/dist/VisuallyHidden-CB6Nx76j.js +2 -0
  30. package/dist/VisuallyHidden-CB6Nx76j.js.map +1 -0
  31. package/dist/VisuallyHidden-KH1biLx-.mjs +28 -0
  32. package/dist/VisuallyHidden-KH1biLx-.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.mts +10 -68
  39. package/dist/accordion/index.d.ts +10 -68
  40. package/dist/accordion/index.js +2 -325
  41. package/dist/accordion/index.js.map +1 -1
  42. package/dist/accordion/index.mjs +114 -154
  43. package/dist/accordion/index.mjs.map +1 -1
  44. package/dist/accordion/useRenderSlot.d.ts +3 -0
  45. package/dist/alert-dialog/AlertDialog.d.ts +29 -0
  46. package/dist/alert-dialog/AlertDialogAction.d.ts +13 -0
  47. package/dist/alert-dialog/AlertDialogBody.d.ts +12 -0
  48. package/dist/alert-dialog/AlertDialogCancel.d.ts +13 -0
  49. package/dist/alert-dialog/AlertDialogContent.d.ts +9 -0
  50. package/dist/alert-dialog/AlertDialogContext.d.ts +12 -0
  51. package/dist/alert-dialog/AlertDialogDescription.d.ts +9 -0
  52. package/dist/alert-dialog/AlertDialogFooter.d.ts +10 -0
  53. package/dist/alert-dialog/AlertDialogHeader.d.ts +10 -0
  54. package/dist/alert-dialog/AlertDialogOverlay.d.ts +9 -0
  55. package/dist/alert-dialog/AlertDialogPortal.d.ts +7 -0
  56. package/dist/alert-dialog/AlertDialogTitle.d.ts +9 -0
  57. package/dist/alert-dialog/AlertDialogTrigger.d.ts +13 -0
  58. package/dist/alert-dialog/index.d.mts +26 -147
  59. package/dist/alert-dialog/index.d.ts +26 -147
  60. package/dist/alert-dialog/index.js +2 -405
  61. package/dist/alert-dialog/index.js.map +1 -1
  62. package/dist/alert-dialog/index.mjs +172 -260
  63. package/dist/alert-dialog/index.mjs.map +1 -1
  64. package/dist/alert-dialog/useRenderSlot.d.ts +3 -0
  65. package/dist/avatar/Avatar.d.ts +3 -0
  66. package/dist/avatar/AvatarAction.d.ts +9 -0
  67. package/dist/avatar/AvatarImage.d.ts +7 -0
  68. package/dist/avatar/AvatarOnlineBadge.d.ts +9 -0
  69. package/dist/avatar/AvatarPlaceholder.d.ts +8 -0
  70. package/dist/avatar/AvatarUser.d.ts +7 -0
  71. package/dist/avatar/context.d.ts +5 -0
  72. package/dist/avatar/index.d.mts +8 -59
  73. package/dist/avatar/index.d.ts +8 -59
  74. package/dist/avatar/index.js +2 -1323
  75. package/dist/avatar/index.js.map +1 -1
  76. package/dist/avatar/index.mjs +149 -207
  77. package/dist/avatar/index.mjs.map +1 -1
  78. package/dist/avatar/types.d.ts +24 -0
  79. package/dist/badge/Badge.d.ts +9 -0
  80. package/dist/badge/BadgeItem.d.ts +31 -0
  81. package/dist/badge/BadgeItem.styles.d.ts +7 -0
  82. package/dist/badge/index.d.mts +1 -47
  83. package/dist/badge/index.d.ts +1 -47
  84. package/dist/badge/index.js +2 -122
  85. package/dist/badge/index.js.map +1 -1
  86. package/dist/badge/index.mjs +32 -44
  87. package/dist/badge/index.mjs.map +1 -1
  88. package/dist/breadcrumb/Breadcrumb.d.ts +10 -0
  89. package/dist/breadcrumb/Breadcrumb.styles.d.ts +0 -0
  90. package/dist/breadcrumb/BreadcrumbCurrentPage.d.ts +11 -0
  91. package/dist/breadcrumb/BreadcrumbItem.d.ts +9 -0
  92. package/dist/breadcrumb/BreadcrumbLink.d.ts +12 -0
  93. package/dist/breadcrumb/BreadcrumbSeparator.d.ts +10 -0
  94. package/dist/breadcrumb/index.d.mts +7 -59
  95. package/dist/breadcrumb/index.d.ts +7 -59
  96. package/dist/breadcrumb/index.js +2 -327
  97. package/dist/breadcrumb/index.js.map +1 -1
  98. package/dist/breadcrumb/index.mjs +106 -146
  99. package/dist/breadcrumb/index.mjs.map +1 -1
  100. package/dist/button/Button.d.ts +26 -0
  101. package/dist/button/Button.styles.d.ts +10 -0
  102. package/dist/button/index.d.mts +1 -41
  103. package/dist/button/index.d.ts +1 -41
  104. package/dist/button/index.js +2 -935
  105. package/dist/button/index.js.map +1 -1
  106. package/dist/button/index.mjs +3 -8
  107. package/dist/button/index.mjs.map +1 -1
  108. package/dist/button/variants/contrast.d.ts +45 -0
  109. package/dist/button/variants/filled.d.ts +45 -0
  110. package/dist/button/variants/ghost.d.ts +45 -0
  111. package/dist/button/variants/index.d.mts +5 -0
  112. package/dist/button/variants/index.d.ts +5 -0
  113. package/dist/button/variants/outlined.d.ts +45 -0
  114. package/dist/button/variants/tinted.d.ts +45 -0
  115. package/dist/card/Backdrop.d.ts +14 -0
  116. package/dist/card/Card.d.ts +16 -0
  117. package/dist/card/Card.styles.d.ts +7 -0
  118. package/dist/card/Content.d.ts +15 -0
  119. package/dist/card/Content.styles.d.ts +8 -0
  120. package/dist/card/context.d.ts +11 -0
  121. package/dist/card/index.d.mts +5 -58
  122. package/dist/card/index.d.ts +5 -58
  123. package/dist/card/index.js +2 -502
  124. package/dist/card/index.js.map +1 -1
  125. package/dist/card/index.mjs +125 -178
  126. package/dist/card/index.mjs.map +1 -1
  127. package/dist/card/utils.d.ts +3 -0
  128. package/dist/carousel/Carousel.d.ts +12 -0
  129. package/dist/carousel/CarouselControls.d.ts +9 -0
  130. package/dist/carousel/CarouselNextButton.d.ts +5 -0
  131. package/dist/carousel/CarouselPageIndicator.d.ts +14 -0
  132. package/dist/carousel/CarouselPagePicker.d.ts +14 -0
  133. package/dist/carousel/CarouselPrevButton.d.ts +5 -0
  134. package/dist/carousel/CarouselSlide.d.ts +12 -0
  135. package/dist/carousel/CarouselSlides.d.ts +10 -0
  136. package/dist/carousel/CarouselViewport.d.ts +9 -0
  137. package/dist/carousel/index.d.mts +18 -263
  138. package/dist/carousel/index.d.ts +18 -263
  139. package/dist/carousel/index.js +2 -1882
  140. package/dist/carousel/index.js.map +1 -1
  141. package/dist/carousel/index.mjs +428 -650
  142. package/dist/carousel/index.mjs.map +1 -1
  143. package/dist/carousel/types.d.ts +165 -0
  144. package/dist/carousel/useCarousel.d.ts +2 -0
  145. package/dist/carousel/useCarouselVisibility.d.ts +13 -0
  146. package/dist/carousel/useEvent.d.ts +7 -0
  147. package/dist/carousel/useIsMounted.d.ts +1 -0
  148. package/dist/carousel/useIsVisible.d.ts +6 -0
  149. package/dist/carousel/useResizeObserver.d.ts +2 -0
  150. package/dist/carousel/useScrollEnd.d.ts +3 -0
  151. package/dist/carousel/useSnapPoints.d.ts +10 -0
  152. package/dist/carousel/utils.d.ts +24 -0
  153. package/dist/checkbox/Checkbox.d.ts +10 -0
  154. package/dist/checkbox/CheckboxGroup.d.ts +18 -0
  155. package/dist/checkbox/CheckboxGroup.styles.d.ts +5 -0
  156. package/dist/checkbox/CheckboxGroupContext.d.ts +41 -0
  157. package/dist/checkbox/CheckboxIndicator.d.ts +9 -0
  158. package/dist/checkbox/CheckboxInput.d.ts +47 -0
  159. package/dist/checkbox/CheckboxInput.styles.d.ts +5 -0
  160. package/dist/checkbox/CheckboxLabel.d.ts +12 -0
  161. package/dist/checkbox/CheckboxLabel.styles.d.ts +5 -0
  162. package/dist/checkbox/index.d.mts +2 -120
  163. package/dist/checkbox/index.d.ts +2 -120
  164. package/dist/checkbox/index.js +2 -511
  165. package/dist/checkbox/index.js.map +1 -1
  166. package/dist/checkbox/index.mjs +135 -226
  167. package/dist/checkbox/index.mjs.map +1 -1
  168. package/dist/chip/Chip.d.ts +34 -0
  169. package/dist/chip/Chip.styles.d.ts +8 -0
  170. package/dist/chip/ChipClearButton.d.ts +10 -0
  171. package/dist/chip/ChipClearButton.styles.d.ts +10 -0
  172. package/dist/chip/ChipContent.d.ts +8 -0
  173. package/dist/chip/ChipIcon.d.ts +8 -0
  174. package/dist/chip/ChipLeadingIcon.d.ts +9 -0
  175. package/dist/chip/ChipTrailingIcon.d.ts +9 -0
  176. package/dist/chip/index.d.mts +10 -92
  177. package/dist/chip/index.d.ts +10 -92
  178. package/dist/chip/index.js +2 -908
  179. package/dist/chip/index.js.map +1 -1
  180. package/dist/chip/index.mjs +218 -324
  181. package/dist/chip/index.mjs.map +1 -1
  182. package/dist/chip/useChipContext.d.ts +4 -0
  183. package/dist/chip/useChipElement.d.ts +41 -0
  184. package/dist/chip/variants/dashed.d.ts +49 -0
  185. package/dist/chip/variants/index.d.mts +3 -0
  186. package/dist/chip/variants/index.d.ts +3 -0
  187. package/dist/chip/variants/outlined.d.ts +49 -0
  188. package/dist/chip/variants/tinted.d.ts +49 -0
  189. package/dist/collapsible/Content.d.ts +12 -0
  190. package/dist/collapsible/Root.d.ts +12 -0
  191. package/dist/collapsible/Trigger.d.ts +11 -0
  192. package/dist/collapsible/index.d.mts +4 -40
  193. package/dist/collapsible/index.d.ts +4 -40
  194. package/dist/collapsible/index.js +2 -109
  195. package/dist/collapsible/index.js.map +1 -1
  196. package/dist/collapsible/index.mjs +39 -58
  197. package/dist/collapsible/index.mjs.map +1 -1
  198. package/dist/collapsible/useRenderSlot.d.ts +3 -0
  199. package/dist/combobox/Combobox.d.ts +6 -0
  200. package/dist/combobox/ComboboxClearButton.d.ts +9 -0
  201. package/dist/combobox/ComboboxContext.d.ts +108 -0
  202. package/dist/combobox/ComboboxDisclosure.d.ts +13 -0
  203. package/dist/combobox/ComboboxEmpty.d.ts +11 -0
  204. package/dist/combobox/ComboboxGroup.d.ts +11 -0
  205. package/dist/combobox/ComboboxInput.d.ts +15 -0
  206. package/dist/combobox/ComboboxItem.d.ts +12 -0
  207. package/dist/combobox/ComboboxItemContext.d.ts +17 -0
  208. package/dist/combobox/ComboboxItemIndicator.d.ts +11 -0
  209. package/dist/combobox/ComboboxItemText.d.ts +10 -0
  210. package/dist/combobox/ComboboxItems.d.ts +11 -0
  211. package/dist/combobox/ComboboxItemsGroupContext.d.ts +8 -0
  212. package/dist/combobox/ComboboxLabel.d.ts +11 -0
  213. package/dist/combobox/ComboboxLeadingIcon.d.ts +7 -0
  214. package/dist/combobox/ComboboxPopover.d.ts +10 -0
  215. package/dist/combobox/ComboboxPortal.d.ts +2 -0
  216. package/dist/combobox/ComboboxSelectedItems.d.ts +4 -0
  217. package/dist/combobox/ComboboxTrigger.d.ts +11 -0
  218. package/dist/combobox/ComboboxTrigger.styles.d.ts +6 -0
  219. package/dist/combobox/index.d.mts +19 -271
  220. package/dist/combobox/index.d.ts +19 -271
  221. package/dist/combobox/index.js +2 -2588
  222. package/dist/combobox/index.js.map +1 -1
  223. package/dist/combobox/index.mjs +623 -1017
  224. package/dist/combobox/index.mjs.map +1 -1
  225. package/dist/combobox/tests/test-utils.d.ts +8 -0
  226. package/dist/combobox/types.d.ts +8 -0
  227. package/dist/combobox/useCombobox/multipleSelectionReducer.d.ts +13 -0
  228. package/dist/combobox/useCombobox/singleSelectionReducer.d.ts +8 -0
  229. package/dist/combobox/utils/index.d.mts +14 -0
  230. package/dist/combobox/utils/index.d.ts +14 -0
  231. package/dist/combobox/utils/useWidthIncreaseCallback.d.ts +2 -0
  232. package/dist/dialog/Dialog.d.ts +32 -0
  233. package/dist/dialog/DialogBody.d.ts +12 -0
  234. package/dist/dialog/DialogClose.d.ts +9 -0
  235. package/dist/dialog/DialogCloseButton.d.ts +9 -0
  236. package/dist/dialog/DialogContent.d.ts +14 -0
  237. package/dist/dialog/DialogContent.styles.d.ts +6 -0
  238. package/dist/dialog/DialogContext.d.ts +11 -0
  239. package/dist/dialog/DialogDescription.d.ts +9 -0
  240. package/dist/dialog/DialogFooter.d.ts +10 -0
  241. package/dist/dialog/DialogHeader.d.ts +10 -0
  242. package/dist/dialog/DialogOverlay.d.ts +9 -0
  243. package/dist/dialog/DialogPortal.d.ts +7 -0
  244. package/dist/dialog/DialogTitle.d.ts +9 -0
  245. package/dist/dialog/DialogTrigger.d.ts +17 -0
  246. package/dist/dialog/index.d.mts +25 -154
  247. package/dist/dialog/index.d.ts +25 -154
  248. package/dist/dialog/index.js +2 -1389
  249. package/dist/dialog/index.js.map +1 -1
  250. package/dist/dialog/index.mjs +163 -258
  251. package/dist/dialog/index.mjs.map +1 -1
  252. package/dist/divider/Divider.d.ts +30 -0
  253. package/dist/divider/Divider.styles.d.ts +9 -0
  254. package/dist/divider/DividerContent.d.ts +13 -0
  255. package/dist/divider/index.d.mts +4 -59
  256. package/dist/divider/index.d.ts +4 -59
  257. package/dist/divider/index.js +2 -224
  258. package/dist/divider/index.js.map +1 -1
  259. package/dist/divider/index.mjs +79 -100
  260. package/dist/divider/index.mjs.map +1 -1
  261. package/dist/divider/variants/intents.d.ts +17 -0
  262. package/dist/drawer/Drawer.d.ts +39 -0
  263. package/dist/drawer/DrawerBody.d.ts +11 -0
  264. package/dist/drawer/DrawerBody.styles.d.ts +5 -0
  265. package/dist/drawer/DrawerClose.d.ts +9 -0
  266. package/dist/drawer/DrawerCloseButton.d.ts +7 -0
  267. package/dist/drawer/DrawerContent.d.ts +10 -0
  268. package/dist/drawer/DrawerContent.styles.d.ts +6 -0
  269. package/dist/drawer/DrawerContext.d.ts +9 -0
  270. package/dist/drawer/DrawerDescription.d.ts +9 -0
  271. package/dist/drawer/DrawerFooter.d.ts +8 -0
  272. package/dist/drawer/DrawerHeader.d.ts +10 -0
  273. package/dist/drawer/DrawerOverlay.d.ts +9 -0
  274. package/dist/drawer/DrawerPortal.d.ts +7 -0
  275. package/dist/drawer/DrawerTitle.d.ts +9 -0
  276. package/dist/drawer/DrawerTrigger.d.ts +13 -0
  277. package/dist/drawer/index.d.mts +24 -141
  278. package/dist/drawer/index.d.ts +24 -141
  279. package/dist/drawer/index.js +2 -1400
  280. package/dist/drawer/index.js.map +1 -1
  281. package/dist/drawer/index.mjs +141 -230
  282. package/dist/drawer/index.mjs.map +1 -1
  283. package/dist/dropdown/Dropdown.d.ts +6 -0
  284. package/dist/dropdown/DropdownContext.d.ts +81 -0
  285. package/dist/dropdown/DropdownDivider.d.ts +10 -0
  286. package/dist/dropdown/DropdownGroup.d.ts +11 -0
  287. package/dist/dropdown/DropdownItem.d.ts +12 -0
  288. package/dist/dropdown/DropdownItemContext.d.ts +17 -0
  289. package/dist/dropdown/DropdownItemIndicator.d.ts +11 -0
  290. package/dist/dropdown/DropdownItemText.d.ts +9 -0
  291. package/dist/dropdown/DropdownItems.d.ts +21 -0
  292. package/dist/dropdown/DropdownItemsGroupContext.d.ts +8 -0
  293. package/dist/dropdown/DropdownLabel.d.ts +11 -0
  294. package/dist/dropdown/DropdownLeadingIcon.d.ts +7 -0
  295. package/dist/dropdown/DropdownPopover.d.ts +6 -0
  296. package/dist/dropdown/DropdownPortal.d.ts +2 -0
  297. package/dist/dropdown/DropdownTrigger.d.ts +12 -0
  298. package/dist/dropdown/DropdownTrigger.styles.d.ts +5 -0
  299. package/dist/dropdown/DropdownValue.d.ts +11 -0
  300. package/dist/dropdown/index.d.mts +16 -220
  301. package/dist/dropdown/index.d.ts +16 -220
  302. package/dist/dropdown/index.js +2 -2051
  303. package/dist/dropdown/index.js.map +1 -1
  304. package/dist/dropdown/index.mjs +352 -584
  305. package/dist/dropdown/index.mjs.map +1 -1
  306. package/dist/dropdown/types.d.ts +8 -0
  307. package/dist/dropdown/useDropdown.d.ts +41 -0
  308. package/dist/dropdown/utils.d.ts +13 -0
  309. package/dist/file-upload/FileUpload.d.ts +130 -0
  310. package/dist/file-upload/FileUploadAcceptedFile.d.ts +25 -0
  311. package/dist/file-upload/FileUploadContext.d.ts +17 -0
  312. package/dist/file-upload/FileUploadDropzone.d.ts +10 -0
  313. package/dist/file-upload/FileUploadItemDeleteTrigger.d.ts +11 -0
  314. package/dist/file-upload/FileUploadPreviewImage.d.ts +17 -0
  315. package/dist/file-upload/FileUploadRejectedFile.d.ts +24 -0
  316. package/dist/file-upload/FileUploadRejectedFileDeleteTrigger.d.ts +12 -0
  317. package/dist/file-upload/FileUploadTrigger.d.ts +12 -0
  318. package/dist/file-upload/constants.d.ts +29 -0
  319. package/dist/file-upload/index.d.mts +14 -262
  320. package/dist/file-upload/index.d.ts +14 -262
  321. package/dist/file-upload/index.js +2 -2255
  322. package/dist/file-upload/index.js.map +1 -1
  323. package/dist/file-upload/index.mjs +506 -834
  324. package/dist/file-upload/index.mjs.map +1 -1
  325. package/dist/file-upload/test-utils.d.ts +9 -0
  326. package/dist/file-upload/useFileUploadState.d.ts +88 -0
  327. package/dist/file-upload/utils.d.ts +40 -0
  328. package/dist/form-field/FormField.d.ts +21 -0
  329. package/dist/form-field/FormFieldAlertMessage.d.ts +9 -0
  330. package/dist/form-field/FormFieldCharactersCount.d.ts +26 -0
  331. package/dist/form-field/FormFieldContext.d.ts +49 -0
  332. package/dist/form-field/FormFieldControl.d.ts +12 -0
  333. package/dist/form-field/FormFieldErrorMessage.d.ts +9 -0
  334. package/dist/form-field/FormFieldHelperMessage.d.ts +9 -0
  335. package/dist/form-field/FormFieldLabel.d.ts +13 -0
  336. package/dist/form-field/FormFieldMessage.d.ts +8 -0
  337. package/dist/form-field/FormFieldProvider.d.ts +9 -0
  338. package/dist/form-field/FormFieldRequiredIndicator.d.ts +9 -0
  339. package/dist/form-field/FormFieldStateMessage.d.ts +10 -0
  340. package/dist/form-field/FormFieldSuccessMessage.d.ts +9 -0
  341. package/dist/form-field/index.d.mts +21 -176
  342. package/dist/form-field/index.d.ts +21 -176
  343. package/dist/form-field/index.js +2 -553
  344. package/dist/form-field/index.js.map +1 -1
  345. package/dist/form-field/index.mjs +246 -349
  346. package/dist/form-field/index.mjs.map +1 -1
  347. package/dist/icon/Icon.d.ts +17 -0
  348. package/dist/icon/Icon.styles.d.ts +6 -0
  349. package/dist/icon/index.d.mts +1 -28
  350. package/dist/icon/index.d.ts +1 -28
  351. package/dist/icon/index.js +2 -127
  352. package/dist/icon/index.js.map +1 -1
  353. package/dist/icon/index.mjs +3 -7
  354. package/dist/icon/index.mjs.map +1 -1
  355. package/dist/icon-button/IconButton.d.ts +10 -0
  356. package/dist/icon-button/IconButton.styles.d.ts +5 -0
  357. package/dist/icon-button/index.d.mts +1 -16
  358. package/dist/icon-button/index.d.ts +1 -16
  359. package/dist/icon-button/index.js +2 -980
  360. package/dist/icon-button/index.js.map +1 -1
  361. package/dist/icon-button/index.mjs +3 -9
  362. package/dist/icon-button/index.mjs.map +1 -1
  363. package/dist/input/Input.d.ts +14 -0
  364. package/dist/input/Input.styles.d.ts +11 -0
  365. package/dist/input/InputAddon.d.ts +9 -0
  366. package/dist/input/InputAddon.styles.d.ts +9 -0
  367. package/dist/input/InputClearButton.d.ts +12 -0
  368. package/dist/input/InputGroup.d.ts +17 -0
  369. package/dist/input/InputGroup.styles.d.ts +6 -0
  370. package/dist/input/InputGroupContext.d.ts +14 -0
  371. package/dist/input/InputIcon.d.ts +6 -0
  372. package/dist/input/InputLeadingAddon.d.ts +11 -0
  373. package/dist/input/InputLeadingIcon.d.ts +7 -0
  374. package/dist/input/InputTrailingAddon.d.ts +11 -0
  375. package/dist/input/InputTrailingIcon.d.ts +7 -0
  376. package/dist/input/index.d.mts +15 -72
  377. package/dist/input/index.d.ts +15 -72
  378. package/dist/input/index.js +2 -724
  379. package/dist/input/index.js.map +1 -1
  380. package/dist/input/index.mjs +453 -12
  381. package/dist/input/index.mjs.map +1 -1
  382. package/dist/input-otp/InputOTP.d.ts +85 -0
  383. package/dist/input-otp/InputOTP.styles.d.ts +10 -0
  384. package/dist/input-otp/InputOTPContext.d.ts +16 -0
  385. package/dist/input-otp/InputOTPGroup.d.ts +7 -0
  386. package/dist/input-otp/InputOTPSeparator.d.ts +7 -0
  387. package/dist/input-otp/InputOTPSlot.d.ts +12 -0
  388. package/dist/input-otp/index.d.mts +10 -128
  389. package/dist/input-otp/index.d.ts +10 -128
  390. package/dist/input-otp/index.js +2 -668
  391. package/dist/input-otp/index.js.map +1 -1
  392. package/dist/input-otp/index.mjs +295 -462
  393. package/dist/input-otp/index.mjs.map +1 -1
  394. package/dist/input-otp/useInputOTP.d.ts +45 -0
  395. package/dist/kbd/Kbd.d.ts +5 -0
  396. package/dist/kbd/index.d.mts +1 -9
  397. package/dist/kbd/index.d.ts +1 -9
  398. package/dist/kbd/index.js +2 -47
  399. package/dist/kbd/index.js.map +1 -1
  400. package/dist/kbd/index.mjs +15 -18
  401. package/dist/kbd/index.mjs.map +1 -1
  402. package/dist/label/Label.d.ts +9 -0
  403. package/dist/label/LabelRequiredIndicator.d.ts +6 -0
  404. package/dist/label/index.d.mts +5 -9
  405. package/dist/label/index.d.ts +5 -9
  406. package/dist/label/index.js +2 -78
  407. package/dist/label/index.js.map +1 -1
  408. package/dist/label/index.mjs +38 -5
  409. package/dist/label/index.mjs.map +1 -1
  410. package/dist/link-box/LinkBox.d.ts +8 -0
  411. package/dist/link-box/LinkBoxLink.d.ts +8 -0
  412. package/dist/link-box/LinkBoxRaised.d.ts +9 -0
  413. package/dist/link-box/index.d.mts +6 -31
  414. package/dist/link-box/index.d.ts +6 -31
  415. package/dist/link-box/index.js +2 -92
  416. package/dist/link-box/index.js.map +1 -1
  417. package/dist/link-box/index.mjs +34 -56
  418. package/dist/link-box/index.mjs.map +1 -1
  419. package/dist/pagination/Pagination.d.ts +8 -0
  420. package/dist/pagination/PaginationContext.d.ts +43 -0
  421. package/dist/pagination/PaginationEllipsis.d.ts +9 -0
  422. package/dist/pagination/PaginationFirstPageTrigger.d.ts +16 -0
  423. package/dist/pagination/PaginationItem.d.ts +17 -0
  424. package/dist/pagination/PaginationLastPageTrigger.d.ts +16 -0
  425. package/dist/pagination/PaginationNextTrigger.d.ts +16 -0
  426. package/dist/pagination/PaginationPages.d.ts +16 -0
  427. package/dist/pagination/PaginationPrevTrigger.d.ts +16 -0
  428. package/dist/pagination/index.d.mts +10 -135
  429. package/dist/pagination/index.d.ts +10 -135
  430. package/dist/pagination/index.js +2 -1353
  431. package/dist/pagination/index.js.map +1 -1
  432. package/dist/pagination/index.mjs +176 -269
  433. package/dist/pagination/index.mjs.map +1 -1
  434. package/dist/pagination/utils.d.ts +1 -0
  435. package/dist/popover/Popover.d.ts +9 -0
  436. package/dist/popover/PopoverAnchor.d.ts +9 -0
  437. package/dist/popover/PopoverArrow.d.ts +9 -0
  438. package/dist/popover/PopoverCloseButton.d.ts +10 -0
  439. package/dist/popover/PopoverContent.d.ts +10 -0
  440. package/dist/popover/PopoverContent.styles.d.ts +9 -0
  441. package/dist/popover/PopoverContext.d.ts +15 -0
  442. package/dist/popover/PopoverHeader.d.ts +10 -0
  443. package/dist/popover/PopoverPortal.d.ts +7 -0
  444. package/dist/popover/PopoverTrigger.d.ts +9 -0
  445. package/dist/popover/index.d.mts +17 -6
  446. package/dist/popover/index.d.ts +17 -6
  447. package/dist/popover/index.js +2 -1339
  448. package/dist/popover/index.js.map +1 -1
  449. package/dist/popover/index.mjs +239 -11
  450. package/dist/popover/index.mjs.map +1 -1
  451. package/dist/portal/Portal.d.ts +10 -0
  452. package/dist/portal/index.d.mts +1 -13
  453. package/dist/portal/index.d.ts +1 -13
  454. package/dist/portal/index.js +2 -37
  455. package/dist/portal/index.js.map +1 -1
  456. package/dist/portal/index.mjs +5 -8
  457. package/dist/portal/index.mjs.map +1 -1
  458. package/dist/progress/Progress.d.ts +16 -0
  459. package/dist/progress/ProgressBar.d.ts +6 -0
  460. package/dist/progress/ProgressBar.styles.d.ts +5 -0
  461. package/dist/progress/ProgressContext.d.ts +13 -0
  462. package/dist/progress/ProgressIndicator.d.ts +6 -0
  463. package/dist/progress/ProgressIndicator.styles.d.ts +7 -0
  464. package/dist/progress/ProgressLabel.d.ts +6 -0
  465. package/dist/progress/index.d.mts +9 -48
  466. package/dist/progress/index.d.ts +9 -48
  467. package/dist/progress/index.js +2 -240
  468. package/dist/progress/index.js.map +1 -1
  469. package/dist/progress/index.mjs +166 -5
  470. package/dist/progress/index.mjs.map +1 -1
  471. package/dist/progress-tracker/ProgressTracker.d.ts +27 -0
  472. package/dist/progress-tracker/ProgressTracker.styles.d.ts +1 -0
  473. package/dist/progress-tracker/ProgressTrackerContext.d.ts +15 -0
  474. package/dist/progress-tracker/ProgressTrackerStep.d.ts +12 -0
  475. package/dist/progress-tracker/ProgressTrackerStep.styles.d.ts +10 -0
  476. package/dist/progress-tracker/ProgressTrackerStepIndicator.d.ts +15 -0
  477. package/dist/progress-tracker/ProgressTrackerStepIndicator.styles.d.ts +7 -0
  478. package/dist/progress-tracker/ProgressTrackerStepLabel.d.ts +9 -0
  479. package/dist/progress-tracker/index.d.mts +10 -80
  480. package/dist/progress-tracker/index.d.ts +10 -80
  481. package/dist/progress-tracker/index.js +2 -571
  482. package/dist/progress-tracker/index.js.map +1 -1
  483. package/dist/progress-tracker/index.mjs +115 -183
  484. package/dist/progress-tracker/index.mjs.map +1 -1
  485. package/dist/radio-group/Radio.d.ts +9 -0
  486. package/dist/radio-group/RadioGroup.d.ts +54 -0
  487. package/dist/radio-group/RadioGroup.styles.d.ts +5 -0
  488. package/dist/radio-group/RadioGroupContext.d.ts +5 -0
  489. package/dist/radio-group/RadioGroupProvider.d.ts +7 -0
  490. package/dist/radio-group/RadioIndicator.d.ts +18 -0
  491. package/dist/radio-group/RadioIndicator.styles.d.ts +5 -0
  492. package/dist/radio-group/RadioInput.d.ts +25 -0
  493. package/dist/radio-group/RadioInput.styles.d.ts +5 -0
  494. package/dist/radio-group/RadioLabel.d.ts +20 -0
  495. package/dist/radio-group/RadioLabel.styles.d.ts +5 -0
  496. package/dist/radio-group/index.d.mts +5 -98
  497. package/dist/radio-group/index.d.ts +5 -98
  498. package/dist/radio-group/index.js +2 -318
  499. package/dist/radio-group/index.js.map +1 -1
  500. package/dist/radio-group/index.mjs +105 -174
  501. package/dist/radio-group/index.mjs.map +1 -1
  502. package/dist/rating/Rating.d.ts +52 -0
  503. package/dist/rating/RatingStar.d.ts +10 -0
  504. package/dist/rating/RatingStar.styles.d.ts +14 -0
  505. package/dist/rating/index.d.mts +1 -78
  506. package/dist/rating/index.d.ts +1 -78
  507. package/dist/rating/index.js +2 -363
  508. package/dist/rating/index.js.map +1 -1
  509. package/dist/rating/index.mjs +125 -170
  510. package/dist/rating/index.mjs.map +1 -1
  511. package/dist/rating/types.d.ts +1 -0
  512. package/dist/rating/utils.d.ts +8 -0
  513. package/dist/scrolling-list/ScrollingList.d.ts +57 -0
  514. package/dist/scrolling-list/ScrollingListControls.d.ts +18 -0
  515. package/dist/scrolling-list/ScrollingListItem.d.ts +17 -0
  516. package/dist/scrolling-list/ScrollingListItems.d.ts +11 -0
  517. package/dist/scrolling-list/ScrollingListNextButton.d.ts +5 -0
  518. package/dist/scrolling-list/ScrollingListPrevButton.d.ts +5 -0
  519. package/dist/scrolling-list/ScrollingListSkipButton.d.ts +9 -0
  520. package/dist/scrolling-list/index.d.mts +14 -117
  521. package/dist/scrolling-list/index.d.ts +14 -117
  522. package/dist/scrolling-list/index.js +2 -1428
  523. package/dist/scrolling-list/index.js.map +1 -1
  524. package/dist/scrolling-list/index.mjs +193 -325
  525. package/dist/scrolling-list/index.mjs.map +1 -1
  526. package/dist/scrolling-list/useFocusWithinScroll.d.ts +3 -0
  527. package/dist/segmented-gauge/SegmentedGauge.d.ts +66 -0
  528. package/dist/segmented-gauge/SegmentedGaugeContext.d.ts +14 -0
  529. package/dist/segmented-gauge/SegmentedGaugeLabel.d.ts +9 -0
  530. package/dist/segmented-gauge/SegmentedGaugeSegment.d.ts +12 -0
  531. package/dist/segmented-gauge/SegmentedGaugeTrack.d.ts +8 -0
  532. package/dist/segmented-gauge/index.d.mts +9 -101
  533. package/dist/segmented-gauge/index.d.ts +9 -101
  534. package/dist/segmented-gauge/index.js +2 -274
  535. package/dist/segmented-gauge/index.js.map +1 -1
  536. package/dist/segmented-gauge/index.mjs +132 -178
  537. package/dist/segmented-gauge/index.mjs.map +1 -1
  538. package/dist/select/Select.d.ts +6 -0
  539. package/dist/select/SelectContext.d.ts +59 -0
  540. package/dist/select/SelectGroup.d.ts +11 -0
  541. package/dist/select/SelectItem.d.ts +11 -0
  542. package/dist/select/SelectItems.d.ts +10 -0
  543. package/dist/select/SelectItemsGroupContext.d.ts +9 -0
  544. package/dist/select/SelectLabel.d.ts +8 -0
  545. package/dist/select/SelectLeadingIcon.d.ts +7 -0
  546. package/dist/select/SelectPlaceholder.d.ts +10 -0
  547. package/dist/select/SelectTrigger.d.ts +16 -0
  548. package/dist/select/SelectTrigger.styles.d.ts +5 -0
  549. package/dist/select/SelectValue.d.ts +15 -0
  550. package/dist/select/index.d.mts +12 -158
  551. package/dist/select/index.d.ts +12 -158
  552. package/dist/select/index.js +2 -581
  553. package/dist/select/index.js.map +1 -1
  554. package/dist/select/index.mjs +207 -339
  555. package/dist/select/index.mjs.map +1 -1
  556. package/dist/select/types.d.ts +6 -0
  557. package/dist/select/utils.d.ts +4 -0
  558. package/dist/skeleton/Skeleton.d.ts +17 -0
  559. package/dist/skeleton/Skeleton.styles.d.ts +5 -0
  560. package/dist/skeleton/SkeletonItem.d.ts +31 -0
  561. package/dist/skeleton/SkeletonItem.styles.d.ts +8 -0
  562. package/dist/skeleton/index.d.mts +8 -67
  563. package/dist/skeleton/index.d.ts +8 -67
  564. package/dist/skeleton/index.js +2 -206
  565. package/dist/skeleton/index.js.map +1 -1
  566. package/dist/skeleton/index.mjs +64 -96
  567. package/dist/skeleton/index.mjs.map +1 -1
  568. package/dist/slider/Slider.d.ts +60 -0
  569. package/dist/slider/Slider.styles.d.ts +1 -0
  570. package/dist/slider/SliderContext.d.ts +7 -0
  571. package/dist/slider/SliderThumb.d.ts +14 -0
  572. package/dist/slider/SliderThumb.styles.d.ts +5 -0
  573. package/dist/slider/SliderTrack.d.ts +14 -0
  574. package/dist/slider/SliderTrack.styles.d.ts +9 -0
  575. package/dist/slider/index.d.mts +8 -97
  576. package/dist/slider/index.d.ts +8 -97
  577. package/dist/slider/index.js +2 -220
  578. package/dist/slider/index.js.map +1 -1
  579. package/dist/slider/index.mjs +94 -111
  580. package/dist/slider/index.mjs.map +1 -1
  581. package/dist/slot/Slot.d.ts +12 -0
  582. package/dist/slot/index.d.mts +1 -16
  583. package/dist/slot/index.d.ts +1 -16
  584. package/dist/slot/index.js +2 -51
  585. package/dist/slot/index.js.map +1 -1
  586. package/dist/slot/index.mjs +5 -9
  587. package/dist/slot/index.mjs.map +1 -1
  588. package/dist/snackbar/Snackbar.d.ts +29 -0
  589. package/dist/snackbar/SnackbarItem.d.ts +49 -0
  590. package/dist/snackbar/SnackbarItem.styles.d.ts +10 -0
  591. package/dist/snackbar/SnackbarItemAction.d.ts +10 -0
  592. package/dist/snackbar/SnackbarItemClose.d.ts +9 -0
  593. package/dist/snackbar/SnackbarItemContext.d.ts +8 -0
  594. package/dist/snackbar/SnackbarItemIcon.d.ts +7 -0
  595. package/dist/snackbar/SnackbarRegion.d.ts +30 -0
  596. package/dist/snackbar/SnackbarRegion.styles.d.ts +5 -0
  597. package/dist/snackbar/index.d.mts +13 -158
  598. package/dist/snackbar/index.d.ts +13 -158
  599. package/dist/snackbar/index.js +2 -1756
  600. package/dist/snackbar/index.js.map +1 -1
  601. package/dist/snackbar/index.mjs +237 -429
  602. package/dist/snackbar/index.mjs.map +1 -1
  603. package/dist/snackbar/snackbarVariants.d.ts +82 -0
  604. package/dist/snackbar/useSnackbarGlobalStore.d.ts +18 -0
  605. package/dist/snackbar/useSwipe.d.ts +15 -0
  606. package/dist/spinner/Spinner.d.ts +9 -0
  607. package/dist/spinner/Spinner.styles.d.ts +7 -0
  608. package/dist/spinner/index.d.mts +1 -21
  609. package/dist/spinner/index.d.ts +1 -21
  610. package/dist/spinner/index.js +2 -139
  611. package/dist/spinner/index.js.map +1 -1
  612. package/dist/spinner/index.mjs +3 -7
  613. package/dist/spinner/index.mjs.map +1 -1
  614. package/dist/stepper/Stepper.d.ts +9 -0
  615. package/dist/stepper/StepperButton.d.ts +14 -0
  616. package/dist/stepper/StepperInput.d.ts +7 -0
  617. package/dist/stepper/index.d.mts +9 -81
  618. package/dist/stepper/index.d.ts +9 -81
  619. package/dist/stepper/index.js +2 -1847
  620. package/dist/stepper/index.js.map +1 -1
  621. package/dist/stepper/index.mjs +143 -195
  622. package/dist/stepper/index.mjs.map +1 -1
  623. package/dist/stepper/types.d.ts +46 -0
  624. package/dist/stepper/useStepper.d.ts +2 -0
  625. package/dist/switch/Switch.d.ts +6 -0
  626. package/dist/switch/SwitchInput.d.ts +51 -0
  627. package/dist/switch/SwitchInput.styles.d.ts +16 -0
  628. package/dist/switch/SwitchLabel.d.ts +17 -0
  629. package/dist/switch/SwitchLabel.styles.d.ts +5 -0
  630. package/dist/switch/index.d.mts +1 -64
  631. package/dist/switch/index.d.ts +1 -64
  632. package/dist/switch/index.js +2 -327
  633. package/dist/switch/index.js.map +1 -1
  634. package/dist/switch/index.mjs +90 -130
  635. package/dist/switch/index.mjs.map +1 -1
  636. package/dist/tabs/Tabs.d.ts +24 -0
  637. package/dist/tabs/TabsContent.d.ts +22 -0
  638. package/dist/tabs/TabsContent.styles.d.ts +3 -0
  639. package/dist/tabs/TabsContext.d.ts +7 -0
  640. package/dist/tabs/TabsList.d.ts +20 -0
  641. package/dist/tabs/TabsList.styles.d.ts +3 -0
  642. package/dist/tabs/TabsPopover.d.ts +29 -0
  643. package/dist/tabs/TabsPopoverAbstraction.d.ts +27 -0
  644. package/dist/tabs/TabsRoot.styles.d.ts +1 -0
  645. package/dist/tabs/TabsTrigger.d.ts +41 -0
  646. package/dist/tabs/TabsTrigger.styles.d.ts +8 -0
  647. package/dist/tabs/index.d.mts +13 -137
  648. package/dist/tabs/index.d.ts +13 -137
  649. package/dist/tabs/index.js +2 -1830
  650. package/dist/tabs/index.js.map +1 -1
  651. package/dist/tabs/index.mjs +224 -350
  652. package/dist/tabs/index.mjs.map +1 -1
  653. package/dist/tabs/useResizeObserver.d.ts +8 -0
  654. package/dist/tag/Tag.d.ts +17 -0
  655. package/dist/tag/Tag.styles.d.ts +8 -0
  656. package/dist/tag/index.d.mts +1 -29
  657. package/dist/tag/index.d.ts +1 -29
  658. package/dist/tag/index.js +2 -283
  659. package/dist/tag/index.js.map +1 -1
  660. package/dist/tag/index.mjs +66 -90
  661. package/dist/tag/index.mjs.map +1 -1
  662. package/dist/tag/variants/filled.d.ts +41 -0
  663. package/dist/tag/variants/index.d.mts +3 -0
  664. package/dist/tag/variants/index.d.ts +3 -0
  665. package/dist/tag/variants/outlined.d.ts +37 -0
  666. package/dist/tag/variants/tinted.d.ts +37 -0
  667. package/dist/text-link/TextLink.d.ts +16 -0
  668. package/dist/text-link/index.d.mts +1 -20
  669. package/dist/text-link/index.d.ts +1 -20
  670. package/dist/text-link/index.js +2 -100
  671. package/dist/text-link/index.js.map +1 -1
  672. package/dist/text-link/index.mjs +3 -6
  673. package/dist/text-link/index.mjs.map +1 -1
  674. package/dist/textarea/Textarea.d.ts +14 -0
  675. package/dist/textarea/TextareaClearButton.d.ts +10 -0
  676. package/dist/textarea/TextareaGroup.d.ts +6 -0
  677. package/dist/textarea/TextareaLeadingIcon.d.ts +7 -0
  678. package/dist/textarea/TextareaTrailingIcon.d.ts +7 -0
  679. package/dist/textarea/index.d.mts +10 -53
  680. package/dist/textarea/index.d.ts +10 -53
  681. package/dist/textarea/index.js +2 -797
  682. package/dist/textarea/index.js.map +1 -1
  683. package/dist/textarea/index.mjs +50 -83
  684. package/dist/textarea/index.mjs.map +1 -1
  685. package/dist/toast/Toast.d.ts +4 -0
  686. package/dist/toast/Toast.styles.d.ts +10 -0
  687. package/dist/toast/index.d.mts +10 -53
  688. package/dist/toast/index.d.ts +10 -53
  689. package/dist/toast/index.js +2 -1454
  690. package/dist/toast/index.js.map +1 -1
  691. package/dist/toast/index.mjs +126 -180
  692. package/dist/toast/index.mjs.map +1 -1
  693. package/dist/toast/types.d.ts +41 -0
  694. package/dist/toast/useRenderSlot.d.ts +3 -0
  695. package/dist/toast/useToastManager.d.ts +2 -0
  696. package/dist/visually-hidden/VisuallyHidden.d.ts +12 -0
  697. package/dist/visually-hidden/index.d.mts +1 -16
  698. package/dist/visually-hidden/index.d.ts +1 -16
  699. package/dist/visually-hidden/index.js +2 -67
  700. package/dist/visually-hidden/index.js.map +1 -1
  701. package/dist/visually-hidden/index.mjs +3 -6
  702. package/dist/visually-hidden/index.mjs.map +1 -1
  703. package/package.json +6 -6
  704. package/dist/Input-N8AWWSmt.d.mts +0 -41
  705. package/dist/Input-N8AWWSmt.d.ts +0 -41
  706. package/dist/InputTrailingIcon-BBp7sE6D.d.mts +0 -20
  707. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +0 -20
  708. package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +0 -19
  709. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +0 -19
  710. package/dist/chunk-2YM6GKWW.mjs.map +0 -1
  711. package/dist/chunk-6QCEPQ3U.mjs +0 -26
  712. package/dist/chunk-6QCEPQ3U.mjs.map +0 -1
  713. package/dist/chunk-7EWSMIZU.mjs +0 -214
  714. package/dist/chunk-7EWSMIZU.mjs.map +0 -1
  715. package/dist/chunk-DCXWGQVZ.mjs +0 -53
  716. package/dist/chunk-DCXWGQVZ.mjs.map +0 -1
  717. package/dist/chunk-GAK4SC2F.mjs.map +0 -1
  718. package/dist/chunk-GPJMLIHC.mjs +0 -308
  719. package/dist/chunk-GPJMLIHC.mjs.map +0 -1
  720. package/dist/chunk-HLXYG643.mjs +0 -52
  721. package/dist/chunk-HLXYG643.mjs.map +0 -1
  722. package/dist/chunk-KEGAAGJW.mjs +0 -36
  723. package/dist/chunk-KEGAAGJW.mjs.map +0 -1
  724. package/dist/chunk-RKPP7ZOK.mjs.map +0 -1
  725. package/dist/chunk-UMUMFMFB.mjs +0 -68
  726. package/dist/chunk-UMUMFMFB.mjs.map +0 -1
  727. package/dist/chunk-VBX7BTNU.mjs +0 -614
  728. package/dist/chunk-VBX7BTNU.mjs.map +0 -1
  729. package/dist/chunk-XZ47F6TP.mjs.map +0 -1
  730. package/dist/index-Cno_GFuW.d.mts +0 -93
  731. package/dist/index-Cno_GFuW.d.ts +0 -93
@@ -1,1830 +1,2 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/tabs/index.ts
21
- var tabs_exports = {};
22
- __export(tabs_exports, {
23
- Tabs: () => Tabs2
24
- });
25
- module.exports = __toCommonJS(tabs_exports);
26
-
27
- // src/tabs/Tabs.tsx
28
- var import_radix_ui = require("radix-ui");
29
-
30
- // src/tabs/TabsContext.tsx
31
- var import_react = require("react");
32
- var TabsContext = (0, import_react.createContext)({});
33
- var useTabsContext = () => {
34
- const context = (0, import_react.useContext)(TabsContext);
35
- if (!context) {
36
- throw Error("useTabsContext must be used within a TabsContext Provider");
37
- }
38
- return context;
39
- };
40
-
41
- // src/tabs/TabsRoot.styles.ts
42
- var import_class_variance_authority = require("class-variance-authority");
43
- var rootStyles = (0, import_class_variance_authority.cva)([
44
- "flex",
45
- "data-[orientation=horizontal]:flex-col",
46
- "data-[orientation=vertical]:flex-row",
47
- "max-w-full"
48
- ]);
49
-
50
- // src/tabs/Tabs.tsx
51
- var import_jsx_runtime = require("react/jsx-runtime");
52
- var Tabs = ({
53
- intent = "basic",
54
- size = "md",
55
- /**
56
- * Default Radix Primitive values
57
- * see https://www.radix-ui.com/docs/primitives/components/tabs#root
58
- */
59
- asChild = false,
60
- forceMount = false,
61
- orientation = "horizontal",
62
- children,
63
- className,
64
- ref,
65
- ...rest
66
- }) => {
67
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
- TabsContext.Provider,
69
- {
70
- value: {
71
- intent,
72
- size,
73
- orientation,
74
- forceMount
75
- },
76
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
- import_radix_ui.Tabs.Root,
78
- {
79
- ref,
80
- asChild,
81
- orientation,
82
- className: rootStyles({ className }),
83
- "data-spark-component": "tabs",
84
- activationMode: "automatic",
85
- ...rest,
86
- children
87
- }
88
- )
89
- }
90
- );
91
- };
92
- Tabs.displayName = "Tabs";
93
-
94
- // src/tabs/TabsContent.tsx
95
- var import_radix_ui2 = require("radix-ui");
96
-
97
- // src/tabs/TabsContent.styles.ts
98
- var import_class_variance_authority2 = require("class-variance-authority");
99
- var contentStyles = (0, import_class_variance_authority2.cva)(["w-full p-lg", "focus-visible:u-outline-inset"], {
100
- variants: {
101
- forceMount: {
102
- true: "data-[state=inactive]:hidden",
103
- false: ""
104
- }
105
- }
106
- });
107
-
108
- // src/tabs/TabsContent.tsx
109
- var import_jsx_runtime2 = require("react/jsx-runtime");
110
- var TabsContent = ({
111
- /**
112
- * Default Radix Primitive values
113
- * see https://www.radix-ui.com/docs/primitives/components/tabs#content
114
- */
115
- children,
116
- asChild = false,
117
- className,
118
- ref,
119
- ...rest
120
- }) => {
121
- const { forceMount } = useTabsContext();
122
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
123
- import_radix_ui2.Tabs.Content,
124
- {
125
- "data-spark-component": "tabs-content",
126
- ref,
127
- forceMount: forceMount || rest.forceMount,
128
- className: contentStyles({ className, forceMount }),
129
- asChild,
130
- ...rest,
131
- children
132
- }
133
- );
134
- };
135
- TabsContent.displayName = "Tabs.Content";
136
-
137
- // src/tabs/TabsList.tsx
138
- var import_ArrowVerticalLeft = require("@spark-ui/icons/ArrowVerticalLeft");
139
- var import_ArrowVerticalRight = require("@spark-ui/icons/ArrowVerticalRight");
140
- var import_radix_ui4 = require("radix-ui");
141
- var import_react6 = require("react");
142
-
143
- // src/button/Button.tsx
144
- var import_class_variance_authority5 = require("class-variance-authority");
145
- var import_react3 = require("react");
146
-
147
- // src/slot/Slot.tsx
148
- var import_radix_ui3 = require("radix-ui");
149
- var import_react2 = require("react");
150
- var import_jsx_runtime3 = require("react/jsx-runtime");
151
- var Slottable = import_radix_ui3.Slot.Slottable;
152
- var Slot = ({ ref, ...props }) => {
153
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_radix_ui3.Slot.Root, { ref, ...props });
154
- };
155
- var wrapPolymorphicSlot = (asChild, children, callback) => {
156
- if (!asChild) return callback(children);
157
- return (0, import_react2.isValidElement)(children) ? (0, import_react2.cloneElement)(
158
- children,
159
- void 0,
160
- callback(children.props.children)
161
- ) : null;
162
- };
163
-
164
- // src/visually-hidden/VisuallyHidden.tsx
165
- var import_jsx_runtime4 = require("react/jsx-runtime");
166
- var VisuallyHidden = ({ asChild = false, ref, ...props }) => {
167
- const Component = asChild ? Slot : "span";
168
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
169
- Component,
170
- {
171
- ...props,
172
- ref,
173
- style: {
174
- // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
175
- position: "absolute",
176
- border: 0,
177
- width: 1,
178
- height: 1,
179
- padding: 0,
180
- margin: -1,
181
- overflow: "hidden",
182
- clip: "rect(0, 0, 0, 0)",
183
- whiteSpace: "nowrap",
184
- wordWrap: "normal",
185
- ...props.style
186
- }
187
- }
188
- );
189
- };
190
- VisuallyHidden.displayName = "VisuallyHidden";
191
-
192
- // src/spinner/Spinner.styles.tsx
193
- var import_internal_utils = require("@spark-ui/internal-utils");
194
- var import_class_variance_authority3 = require("class-variance-authority");
195
- var defaultVariants = {
196
- intent: "current",
197
- size: "current",
198
- isBackgroundVisible: false
199
- };
200
- var spinnerStyles = (0, import_class_variance_authority3.cva)(
201
- ["inline-block", "border-solid", "rounded-full", "border-md", "animate-spin"],
202
- {
203
- variants: {
204
- /**
205
- * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size.
206
- */
207
- size: {
208
- current: ["u-current-font-size"],
209
- sm: ["w-sz-20", "h-sz-20"],
210
- md: ["w-sz-28", "h-sz-28"],
211
- full: ["w-full", "h-full"]
212
- },
213
- /**
214
- * Color scheme of the spinner.
215
- */
216
- intent: (0, import_internal_utils.makeVariants)({
217
- current: ["border-current"],
218
- main: ["border-main"],
219
- support: ["border-support"],
220
- accent: ["border-accent"],
221
- basic: ["border-basic"],
222
- success: ["border-success"],
223
- alert: ["border-alert"],
224
- error: ["border-error"],
225
- info: ["border-info"],
226
- neutral: ["border-neutral"]
227
- }),
228
- /**
229
- * Size of the button.
230
- */
231
- isBackgroundVisible: {
232
- true: ["border-b-neutral-container", "border-l-neutral-container"],
233
- false: ["border-b-transparent", "border-l-transparent"]
234
- }
235
- },
236
- defaultVariants
237
- }
238
- );
239
-
240
- // src/spinner/Spinner.tsx
241
- var import_jsx_runtime5 = require("react/jsx-runtime");
242
- var Spinner = ({
243
- className,
244
- size = "current",
245
- intent = "current",
246
- label,
247
- isBackgroundVisible,
248
- ref,
249
- ...others
250
- }) => {
251
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
252
- "span",
253
- {
254
- role: "status",
255
- "data-spark-component": "spinner",
256
- ref,
257
- className: spinnerStyles({ className, size, intent, isBackgroundVisible }),
258
- ...others,
259
- children: label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(VisuallyHidden, { children: label })
260
- }
261
- );
262
- };
263
-
264
- // src/button/Button.styles.tsx
265
- var import_internal_utils7 = require("@spark-ui/internal-utils");
266
- var import_class_variance_authority4 = require("class-variance-authority");
267
-
268
- // src/button/variants/filled.ts
269
- var import_internal_utils2 = require("@spark-ui/internal-utils");
270
- var filledVariants = [
271
- // Main
272
- {
273
- intent: "main",
274
- design: "filled",
275
- class: (0, import_internal_utils2.tw)([
276
- "bg-main",
277
- "text-on-main",
278
- "hover:bg-main-hovered",
279
- "enabled:active:bg-main-hovered",
280
- "focus-visible:bg-main-hovered"
281
- ])
282
- },
283
- // Support
284
- {
285
- intent: "support",
286
- design: "filled",
287
- class: (0, import_internal_utils2.tw)([
288
- "bg-support",
289
- "text-on-support",
290
- "hover:bg-support-hovered",
291
- "enabled:active:bg-support-hovered",
292
- "focus-visible:bg-support-hovered"
293
- ])
294
- },
295
- // Accent
296
- {
297
- intent: "accent",
298
- design: "filled",
299
- class: (0, import_internal_utils2.tw)([
300
- "bg-accent",
301
- "text-on-accent",
302
- "hover:bg-accent-hovered",
303
- "enabled:active:bg-accent-hovered",
304
- "focus-visible:bg-accent-hovered"
305
- ])
306
- },
307
- // Basic
308
- {
309
- intent: "basic",
310
- design: "filled",
311
- class: (0, import_internal_utils2.tw)([
312
- "bg-basic",
313
- "text-on-basic",
314
- "hover:bg-basic-hovered",
315
- "enabled:active:bg-basic-hovered",
316
- "focus-visible:bg-basic-hovered"
317
- ])
318
- },
319
- // Success
320
- {
321
- intent: "success",
322
- design: "filled",
323
- class: (0, import_internal_utils2.tw)([
324
- "bg-success",
325
- "text-on-success",
326
- "hover:bg-success-hovered",
327
- "enabled:active:bg-success-hovered",
328
- "focus-visible:bg-success-hovered"
329
- ])
330
- },
331
- // Alert
332
- {
333
- intent: "alert",
334
- design: "filled",
335
- class: (0, import_internal_utils2.tw)([
336
- "bg-alert",
337
- "text-on-alert",
338
- "hover:bg-alert-hovered",
339
- "enabled:active:bg-alert-hovered",
340
- "focus-visible:bg-alert-hovered"
341
- ])
342
- },
343
- // Danger
344
- {
345
- intent: "danger",
346
- design: "filled",
347
- class: (0, import_internal_utils2.tw)([
348
- "text-on-error bg-error",
349
- "hover:bg-error-hovered enabled:active:bg-error-hovered",
350
- "focus-visible:bg-error-hovered"
351
- ])
352
- },
353
- // Info
354
- {
355
- intent: "info",
356
- design: "filled",
357
- class: (0, import_internal_utils2.tw)([
358
- "text-on-error bg-info",
359
- "hover:bg-info-hovered enabled:active:bg-info-hovered",
360
- "focus-visible:bg-info-hovered"
361
- ])
362
- },
363
- // Neutral
364
- {
365
- intent: "neutral",
366
- design: "filled",
367
- class: (0, import_internal_utils2.tw)([
368
- "bg-neutral",
369
- "text-on-neutral",
370
- "hover:bg-neutral-hovered",
371
- "enabled:active:bg-neutral-hovered",
372
- "focus-visible:bg-neutral-hovered"
373
- ])
374
- },
375
- // Surface
376
- {
377
- intent: "surface",
378
- design: "filled",
379
- class: (0, import_internal_utils2.tw)([
380
- "bg-surface",
381
- "text-on-surface",
382
- "hover:bg-surface-hovered",
383
- "enabled:active:bg-surface-hovered",
384
- "focus-visible:bg-surface-hovered"
385
- ])
386
- },
387
- {
388
- intent: "surfaceInverse",
389
- design: "filled",
390
- class: (0, import_internal_utils2.tw)([
391
- "bg-surface-inverse",
392
- "text-on-surface-inverse",
393
- "hover:bg-surface-inverse-hovered",
394
- "enabled:active:bg-surface-inverse-hovered",
395
- "focus-visible:bg-surface-inverse-hovered"
396
- ])
397
- }
398
- ];
399
-
400
- // src/button/variants/ghost.ts
401
- var import_internal_utils3 = require("@spark-ui/internal-utils");
402
- var ghostVariants = [
403
- {
404
- intent: "main",
405
- design: "ghost",
406
- class: (0, import_internal_utils3.tw)([
407
- "text-on-main-container",
408
- "hover:bg-main/dim-5",
409
- "enabled:active:bg-main/dim-5",
410
- "focus-visible:bg-main/dim-5"
411
- ])
412
- },
413
- {
414
- intent: "support",
415
- design: "ghost",
416
- class: (0, import_internal_utils3.tw)([
417
- "text-on-support-container",
418
- "hover:bg-support/dim-5",
419
- "enabled:active:bg-support/dim-5",
420
- "focus-visible:bg-support/dim-5"
421
- ])
422
- },
423
- {
424
- intent: "accent",
425
- design: "ghost",
426
- class: (0, import_internal_utils3.tw)([
427
- "text-on-accent-container",
428
- "hover:bg-accent/dim-5",
429
- "enabled:active:bg-accent/dim-5",
430
- "focus-visible:bg-accent/dim-5"
431
- ])
432
- },
433
- {
434
- intent: "basic",
435
- design: "ghost",
436
- class: (0, import_internal_utils3.tw)([
437
- "text-on-basic-container",
438
- "hover:bg-basic/dim-5",
439
- "enabled:active:bg-basic/dim-5",
440
- "focus-visible:bg-basic/dim-5"
441
- ])
442
- },
443
- {
444
- intent: "success",
445
- design: "ghost",
446
- class: (0, import_internal_utils3.tw)([
447
- "text-on-success-container",
448
- "hover:bg-success/dim-5",
449
- "enabled:active:bg-success/dim-5",
450
- "focus-visible:bg-success/dim-5"
451
- ])
452
- },
453
- {
454
- intent: "alert",
455
- design: "ghost",
456
- class: (0, import_internal_utils3.tw)([
457
- "text-on-alert-container",
458
- "hover:bg-alert/dim-5",
459
- "enabled:active:bg-alert/dim-5",
460
- "focus-visible:bg-alert/dim-5"
461
- ])
462
- },
463
- {
464
- intent: "danger",
465
- design: "ghost",
466
- class: (0, import_internal_utils3.tw)([
467
- "text-on-error-container",
468
- "hover:bg-error/dim-5",
469
- "enabled:active:bg-error/dim-5",
470
- "focus-visible:bg-error/dim-5"
471
- ])
472
- },
473
- {
474
- intent: "info",
475
- design: "ghost",
476
- class: (0, import_internal_utils3.tw)([
477
- "text-on-info-container",
478
- "hover:bg-info/dim-5",
479
- "enabled:active:bg-info/dim-5",
480
- "focus-visible:bg-info/dim-5"
481
- ])
482
- },
483
- {
484
- intent: "neutral",
485
- design: "ghost",
486
- class: (0, import_internal_utils3.tw)([
487
- "text-on-neutral-container",
488
- "hover:bg-neutral/dim-5",
489
- "enabled:active:bg-neutral/dim-5",
490
- "focus-visible:bg-neutral/dim-5"
491
- ])
492
- },
493
- {
494
- intent: "surface",
495
- design: "ghost",
496
- class: (0, import_internal_utils3.tw)([
497
- "text-surface",
498
- "hover:bg-surface/dim-5",
499
- "enabled:active:bg-surface/dim-5",
500
- "focus-visible:bg-surface/dim-5"
501
- ])
502
- },
503
- {
504
- intent: "surfaceInverse",
505
- design: "ghost",
506
- class: (0, import_internal_utils3.tw)([
507
- "text-surface-inverse",
508
- "hover:bg-surface-inverse/dim-5",
509
- "enabled:active:bg-surface-inverse/dim-5",
510
- "focus-visible:bg-surface-inverse/dim-5"
511
- ])
512
- }
513
- ];
514
-
515
- // src/button/variants/outlined.ts
516
- var import_internal_utils4 = require("@spark-ui/internal-utils");
517
- var outlinedVariants = [
518
- {
519
- intent: "main",
520
- design: "outlined",
521
- class: (0, import_internal_utils4.tw)([
522
- "hover:bg-main/dim-5",
523
- "enabled:active:bg-main/dim-5",
524
- "focus-visible:bg-main/dim-5",
525
- "text-main"
526
- ])
527
- },
528
- {
529
- intent: "support",
530
- design: "outlined",
531
- class: (0, import_internal_utils4.tw)([
532
- "hover:bg-support/dim-5",
533
- "enabled:active:bg-support/dim-5",
534
- "focus-visible:bg-support/dim-5",
535
- "text-support"
536
- ])
537
- },
538
- {
539
- intent: "accent",
540
- design: "outlined",
541
- class: (0, import_internal_utils4.tw)([
542
- "hover:bg-accent/dim-5",
543
- "enabled:active:bg-accent/dim-5",
544
- "focus-visible:bg-accent/dim-5",
545
- "text-accent"
546
- ])
547
- },
548
- {
549
- intent: "basic",
550
- design: "outlined",
551
- class: (0, import_internal_utils4.tw)([
552
- "hover:bg-basic/dim-5",
553
- "enabled:active:bg-basic/dim-5",
554
- "focus-visible:bg-basic/dim-5",
555
- "text-basic"
556
- ])
557
- },
558
- {
559
- intent: "success",
560
- design: "outlined",
561
- class: (0, import_internal_utils4.tw)([
562
- "hover:bg-success/dim-5",
563
- "enabled:active:bg-success/dim-5",
564
- "focus-visible:bg-success/dim-5",
565
- "text-success"
566
- ])
567
- },
568
- {
569
- intent: "alert",
570
- design: "outlined",
571
- class: (0, import_internal_utils4.tw)([
572
- "hover:bg-alert/dim-5",
573
- "enabled:active:bg-alert/dim-5",
574
- "focus-visible:bg-alert/dim-5",
575
- "text-alert"
576
- ])
577
- },
578
- {
579
- intent: "danger",
580
- design: "outlined",
581
- class: (0, import_internal_utils4.tw)([
582
- "hover:bg-error/dim-5",
583
- "enabled:active:bg-error/dim-5",
584
- "focus-visible:bg-error/dim-5",
585
- "text-error"
586
- ])
587
- },
588
- {
589
- intent: "info",
590
- design: "outlined",
591
- class: (0, import_internal_utils4.tw)([
592
- "hover:bg-info/dim-5",
593
- "enabled:active:bg-info/dim-5",
594
- "focus-visible:bg-info/dim-5",
595
- "text-info"
596
- ])
597
- },
598
- {
599
- intent: "neutral",
600
- design: "outlined",
601
- class: (0, import_internal_utils4.tw)([
602
- "hover:bg-neutral/dim-5",
603
- "enabled:active:bg-neutral/dim-5",
604
- "focus-visible:bg-neutral/dim-5",
605
- "text-neutral"
606
- ])
607
- },
608
- {
609
- intent: "surface",
610
- design: "outlined",
611
- class: (0, import_internal_utils4.tw)([
612
- "hover:bg-surface/dim-5",
613
- "enabled:active:bg-surface/dim-5",
614
- "focus-visible:bg-surface/dim-5",
615
- "text-surface"
616
- ])
617
- },
618
- {
619
- intent: "surfaceInverse",
620
- design: "outlined",
621
- class: (0, import_internal_utils4.tw)([
622
- "hover:bg-surface-inverse/dim-5",
623
- "enabled:active:bg-surface-inverse/dim-5",
624
- "focus-visible:bg-surface-inverse/dim-5",
625
- "text-surface-inverse"
626
- ])
627
- }
628
- ];
629
-
630
- // src/button/variants/tinted.ts
631
- var import_internal_utils5 = require("@spark-ui/internal-utils");
632
- var tintedVariants = [
633
- {
634
- intent: "main",
635
- design: "tinted",
636
- class: (0, import_internal_utils5.tw)([
637
- "bg-main-container",
638
- "text-on-main-container",
639
- "hover:bg-main-container-hovered",
640
- "enabled:active:bg-main-container-hovered",
641
- "focus-visible:bg-main-container-hovered"
642
- ])
643
- },
644
- {
645
- intent: "support",
646
- design: "tinted",
647
- class: (0, import_internal_utils5.tw)([
648
- "bg-support-container",
649
- "text-on-support-container",
650
- "hover:bg-support-container-hovered",
651
- "enabled:active:bg-support-container-hovered",
652
- "focus-visible:bg-support-container-hovered"
653
- ])
654
- },
655
- {
656
- intent: "accent",
657
- design: "tinted",
658
- class: (0, import_internal_utils5.tw)([
659
- "bg-accent-container",
660
- "text-on-accent-container",
661
- "hover:bg-accent-container-hovered",
662
- "enabled:active:bg-accent-container-hovered",
663
- "focus-visible:bg-accent-container-hovered"
664
- ])
665
- },
666
- {
667
- intent: "basic",
668
- design: "tinted",
669
- class: (0, import_internal_utils5.tw)([
670
- "bg-basic-container",
671
- "text-on-basic-container",
672
- "hover:bg-basic-container-hovered",
673
- "enabled:active:bg-basic-container-hovered",
674
- "focus-visible:bg-basic-container-hovered"
675
- ])
676
- },
677
- {
678
- intent: "success",
679
- design: "tinted",
680
- class: (0, import_internal_utils5.tw)([
681
- "bg-success-container",
682
- "text-on-success-container",
683
- "hover:bg-success-container-hovered",
684
- "enabled:active:bg-success-container-hovered",
685
- "focus-visible:bg-success-container-hovered"
686
- ])
687
- },
688
- {
689
- intent: "alert",
690
- design: "tinted",
691
- class: (0, import_internal_utils5.tw)([
692
- "bg-alert-container",
693
- "text-on-alert-container",
694
- "hover:bg-alert-container-hovered",
695
- "enabled:active:bg-alert-container-hovered",
696
- "focus-visible:bg-alert-container-hovered"
697
- ])
698
- },
699
- {
700
- intent: "danger",
701
- design: "tinted",
702
- class: (0, import_internal_utils5.tw)([
703
- "bg-error-container",
704
- "text-on-error-container",
705
- "hover:bg-error-container-hovered",
706
- "enabled:active:bg-error-container-hovered",
707
- "focus-visible:bg-error-container-hovered"
708
- ])
709
- },
710
- {
711
- intent: "info",
712
- design: "tinted",
713
- class: (0, import_internal_utils5.tw)([
714
- "bg-info-container",
715
- "text-on-info-container",
716
- "hover:bg-info-container-hovered",
717
- "enabled:active:bg-info-container-hovered",
718
- "focus-visible:bg-info-container-hovered"
719
- ])
720
- },
721
- {
722
- intent: "neutral",
723
- design: "tinted",
724
- class: (0, import_internal_utils5.tw)([
725
- "bg-neutral-container",
726
- "text-on-neutral-container",
727
- "hover:bg-neutral-container-hovered",
728
- "enabled:active:bg-neutral-container-hovered",
729
- "focus-visible:bg-neutral-container-hovered"
730
- ])
731
- },
732
- {
733
- intent: "surface",
734
- design: "tinted",
735
- class: (0, import_internal_utils5.tw)([
736
- "bg-surface",
737
- "text-on-surface",
738
- "hover:bg-surface-hovered",
739
- "enabled:active:bg-surface-hovered",
740
- "focus-visible:bg-surface-hovered"
741
- ])
742
- },
743
- {
744
- intent: "surfaceInverse",
745
- design: "tinted",
746
- class: (0, import_internal_utils5.tw)([
747
- "bg-surface-inverse",
748
- "text-on-surface-inverse",
749
- "hover:bg-surface-inverse-hovered",
750
- "enabled:active:bg-surface-inverse-hovered",
751
- "focus-visible:bg-surface-inverse-hovered"
752
- ])
753
- }
754
- ];
755
-
756
- // src/button/variants/contrast.ts
757
- var import_internal_utils6 = require("@spark-ui/internal-utils");
758
- var contrastVariants = [
759
- {
760
- intent: "main",
761
- design: "contrast",
762
- class: (0, import_internal_utils6.tw)([
763
- "text-on-main-contaier bg-surface",
764
- "hover:bg-main-container-hovered",
765
- "enabled:active:bg-main-container-hovered",
766
- "focus-visible:bg-main-container-hovered"
767
- ])
768
- },
769
- {
770
- intent: "support",
771
- design: "contrast",
772
- class: (0, import_internal_utils6.tw)([
773
- "text-on-support-container bg-surface",
774
- "hover:bg-support-container-hovered",
775
- "enabled:active:bg-support-container-hovered",
776
- "focus-visible:bg-support-container-hovered"
777
- ])
778
- },
779
- {
780
- intent: "accent",
781
- design: "contrast",
782
- class: (0, import_internal_utils6.tw)([
783
- "text-on-accent-container bg-surface",
784
- "hover:bg-accent-container-hovered",
785
- "enabled:active:bg-accent-container-hovered",
786
- "focus-visible:bg-accent-container-hovered"
787
- ])
788
- },
789
- {
790
- intent: "basic",
791
- design: "contrast",
792
- class: (0, import_internal_utils6.tw)([
793
- "text-on-basic-container bg-surface",
794
- "hover:bg-basic-container-hovered",
795
- "enabled:active:bg-basic-container-hovered",
796
- "focus-visible:bg-basic-container-hovered"
797
- ])
798
- },
799
- {
800
- intent: "success",
801
- design: "contrast",
802
- class: (0, import_internal_utils6.tw)([
803
- "text-on-success-container bg-surface",
804
- "hover:bg-success-container-hovered",
805
- "enabled:active:bg-success-container-hovered",
806
- "focus-visible:bg-success-container-hovered"
807
- ])
808
- },
809
- {
810
- intent: "alert",
811
- design: "contrast",
812
- class: (0, import_internal_utils6.tw)([
813
- "text-on-alert-container bg-surface",
814
- "hover:bg-alert-container-hovered",
815
- "enabled:active:bg-alert-container-hovered",
816
- "focus-visible:bg-alert-container-hovered"
817
- ])
818
- },
819
- {
820
- intent: "danger",
821
- design: "contrast",
822
- class: (0, import_internal_utils6.tw)([
823
- "text-on-error-container bg-surface",
824
- "hover:bg-error-container-hovered",
825
- "enabled:active:bg-error-container-hovered",
826
- "focus-visible:bg-error-container-hovered"
827
- ])
828
- },
829
- {
830
- intent: "info",
831
- design: "contrast",
832
- class: (0, import_internal_utils6.tw)([
833
- "text-on-info-container bg-surface",
834
- "hover:bg-info-container-hovered",
835
- "enabled:active:bg-info-container-hovered",
836
- "focus-visible:bg-info-container-hovered"
837
- ])
838
- },
839
- {
840
- intent: "neutral",
841
- design: "contrast",
842
- class: (0, import_internal_utils6.tw)([
843
- "text-on-neutral-container bg-surface",
844
- "hover:bg-neutral-container-hovered",
845
- "enabled:active:bg-neutral-container-hovered",
846
- "focus-visible:bg-neutral-container-hovered"
847
- ])
848
- },
849
- {
850
- intent: "surface",
851
- design: "contrast",
852
- class: (0, import_internal_utils6.tw)([
853
- "text-on-surface bg-surface",
854
- "hover:bg-surface-hovered",
855
- "enabled:active:bg-surface-hovered",
856
- "focus-visible:bg-surface-hovered"
857
- ])
858
- },
859
- {
860
- intent: "surfaceInverse",
861
- design: "contrast",
862
- class: (0, import_internal_utils6.tw)([
863
- "text-on-surface-inverse bg-surface-inverse",
864
- "hover:bg-surface-inverse-hovered",
865
- "enabled:active:bg-surface-inverse-hovered",
866
- "focus-visible:bg-surface-inverse-hovered"
867
- ])
868
- }
869
- ];
870
-
871
- // src/button/Button.styles.tsx
872
- var buttonStyles = (0, import_class_variance_authority4.cva)(
873
- [
874
- "u-shadow-border-transition",
875
- "box-border inline-flex items-center justify-center gap-md whitespace-nowrap",
876
- "default:px-lg",
877
- "text-body-1 font-bold",
878
- "focus-visible:u-outline"
879
- ],
880
- {
881
- variants: {
882
- /**
883
- * Main style of the button.
884
- *
885
- * - `filled`: Button will be plain.
886
- *
887
- * - `outlined`: Button will be transparent with an outline.
888
- *
889
- * - `tinted`: Button will be filled but using a lighter color scheme.
890
- *
891
- * - `ghost`: Button will look like a link. No borders, plain text.
892
- *
893
- * - `contrast`: Button will be surface filled. No borders, plain text.
894
- *
895
- */
896
- design: (0, import_internal_utils7.makeVariants)({
897
- filled: [],
898
- outlined: ["bg-transparent", "border-sm", "border-current"],
899
- tinted: [],
900
- ghost: ["default:-mx-md px-md hover:bg-main/dim-5"],
901
- contrast: []
902
- }),
903
- underline: {
904
- true: ["underline"]
905
- },
906
- /**
907
- * Color scheme of the button.
908
- */
909
- intent: (0, import_internal_utils7.makeVariants)({
910
- main: [],
911
- support: [],
912
- accent: [],
913
- basic: [],
914
- success: [],
915
- alert: [],
916
- danger: [],
917
- info: [],
918
- neutral: [],
919
- surface: [],
920
- surfaceInverse: []
921
- }),
922
- /**
923
- * Size of the button.
924
- */
925
- size: (0, import_internal_utils7.makeVariants)({
926
- sm: ["min-w-sz-32", "h-sz-32"],
927
- md: ["min-w-sz-44", "h-sz-44"],
928
- lg: ["min-w-sz-56", "h-sz-56"]
929
- }),
930
- /**
931
- * Shape of the button.
932
- */
933
- shape: (0, import_internal_utils7.makeVariants)({
934
- rounded: ["rounded-lg"],
935
- square: ["rounded-0"],
936
- pill: ["rounded-full"]
937
- }),
938
- /**
939
- * Disable the button, preventing user interaction and adding opacity.
940
- */
941
- disabled: {
942
- true: ["cursor-not-allowed", "opacity-dim-3"],
943
- false: ["cursor-pointer"]
944
- }
945
- },
946
- compoundVariants: [
947
- ...filledVariants,
948
- ...outlinedVariants,
949
- ...tintedVariants,
950
- ...ghostVariants,
951
- ...contrastVariants
952
- ],
953
- defaultVariants: {
954
- design: "filled",
955
- intent: "main",
956
- size: "md",
957
- shape: "rounded"
958
- }
959
- }
960
- );
961
-
962
- // src/button/Button.tsx
963
- var import_jsx_runtime6 = require("react/jsx-runtime");
964
- var blockedEventHandlers = [
965
- "onClick",
966
- "onMouseDown",
967
- "onMouseUp",
968
- "onMouseEnter",
969
- "onMouseLeave",
970
- "onMouseOver",
971
- "onMouseOut",
972
- "onKeyDown",
973
- "onKeyPress",
974
- "onKeyUp",
975
- "onSubmit"
976
- ];
977
- var Button = ({
978
- children,
979
- design = "filled",
980
- disabled = false,
981
- intent = "main",
982
- isLoading = false,
983
- loadingLabel,
984
- loadingText,
985
- shape = "rounded",
986
- size = "md",
987
- asChild,
988
- className,
989
- underline = false,
990
- ref,
991
- ...others
992
- }) => {
993
- const Component = asChild ? Slot : "button";
994
- const shouldNotInteract = !!disabled || isLoading;
995
- const disabledEventHandlers = (0, import_react3.useMemo)(() => {
996
- const result = {};
997
- if (shouldNotInteract) {
998
- blockedEventHandlers.forEach((eventHandler) => result[eventHandler] = void 0);
999
- }
1000
- return result;
1001
- }, [shouldNotInteract]);
1002
- const spinnerProps = {
1003
- size: "current",
1004
- className: loadingText ? "inline-block" : "absolute",
1005
- ...loadingLabel && { "aria-label": loadingLabel }
1006
- };
1007
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1008
- Component,
1009
- {
1010
- "data-spark-component": "button",
1011
- ...Component === "button" && { type: "button" },
1012
- ref,
1013
- className: buttonStyles({
1014
- className,
1015
- design,
1016
- disabled: shouldNotInteract,
1017
- intent,
1018
- shape,
1019
- size,
1020
- underline
1021
- }),
1022
- disabled: !!disabled,
1023
- "aria-busy": isLoading,
1024
- "aria-live": isLoading ? "assertive" : "off",
1025
- ...others,
1026
- ...disabledEventHandlers,
1027
- children: wrapPolymorphicSlot(
1028
- asChild,
1029
- children,
1030
- (slotted) => isLoading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1031
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Spinner, { ...spinnerProps }),
1032
- loadingText && loadingText,
1033
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1034
- "div",
1035
- {
1036
- "aria-hidden": true,
1037
- className: (0, import_class_variance_authority5.cx)("gap-md", loadingText ? "hidden" : "inline-flex opacity-0"),
1038
- children: slotted
1039
- }
1040
- )
1041
- ] }) : slotted
1042
- )
1043
- }
1044
- );
1045
- };
1046
- Button.displayName = "Button";
1047
-
1048
- // src/icon/Icon.tsx
1049
- var import_react4 = require("react");
1050
-
1051
- // src/icon/Icon.styles.tsx
1052
- var import_internal_utils8 = require("@spark-ui/internal-utils");
1053
- var import_class_variance_authority6 = require("class-variance-authority");
1054
- var iconStyles = (0, import_class_variance_authority6.cva)(["fill-current shrink-0"], {
1055
- variants: {
1056
- /**
1057
- * Color scheme of the icon.
1058
- */
1059
- intent: (0, import_internal_utils8.makeVariants)({
1060
- current: ["text-current"],
1061
- main: ["text-main"],
1062
- support: ["text-support"],
1063
- accent: ["text-accent"],
1064
- basic: ["text-basic"],
1065
- success: ["text-success"],
1066
- alert: ["text-alert"],
1067
- error: ["text-error"],
1068
- info: ["text-info"],
1069
- neutral: ["text-neutral"]
1070
- }),
1071
- /**
1072
- * Sets the size of the icon.
1073
- */
1074
- size: (0, import_internal_utils8.makeVariants)({
1075
- current: ["u-current-font-size"],
1076
- sm: ["w-sz-16", "h-sz-16"],
1077
- md: ["w-sz-24", "h-sz-24"],
1078
- lg: ["w-sz-32", "h-sz-32"],
1079
- xl: ["w-sz-40", "h-sz-40"]
1080
- })
1081
- }
1082
- });
1083
-
1084
- // src/icon/Icon.tsx
1085
- var import_jsx_runtime7 = require("react/jsx-runtime");
1086
- var Icon = ({
1087
- label,
1088
- className,
1089
- size = "current",
1090
- intent = "current",
1091
- children,
1092
- ...others
1093
- }) => {
1094
- const child = import_react4.Children.only(children);
1095
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
1096
- (0, import_react4.cloneElement)(child, {
1097
- className: iconStyles({ className, size, intent }),
1098
- "data-spark-component": "icon",
1099
- "aria-hidden": "true",
1100
- focusable: "false",
1101
- ...others
1102
- }),
1103
- label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(VisuallyHidden, { children: label })
1104
- ] });
1105
- };
1106
- Icon.displayName = "Icon";
1107
-
1108
- // src/tabs/TabsList.styles.ts
1109
- var import_class_variance_authority7 = require("class-variance-authority");
1110
- var wrapperStyles = (0, import_class_variance_authority7.cva)(["relative flex"]);
1111
- var listStyles = (0, import_class_variance_authority7.cva)([
1112
- "flex w-full",
1113
- "data-[orientation=horizontal]:flex-row",
1114
- "data-[orientation=vertical]:flex-col",
1115
- "overflow-y-hidden u-no-scrollbar data-[orientation=vertical]:overflow-x-hidden",
1116
- "after:flex after:shrink after:grow after:border-outline",
1117
- "data-[orientation=horizontal]:after:border-b-sm",
1118
- "data-[orientation=vertical]:after:border-r-sm"
1119
- ]);
1120
- var navigationArrowStyles = (0, import_class_variance_authority7.cva)([
1121
- "h-auto! flex-none",
1122
- "border-b-sm border-outline",
1123
- "outline-hidden",
1124
- "focus-visible:border-none focus-visible:bg-surface-hovered focus-visible:u-outline-inset!"
1125
- ]);
1126
-
1127
- // src/tabs/useResizeObserver.ts
1128
- var import_react5 = require("react");
1129
- var useResizeObserver = (target, onResize) => {
1130
- const [size, setSize] = (0, import_react5.useState)({ width: void 0, height: void 0 });
1131
- const resizeObserverRef = (0, import_react5.useRef)(null);
1132
- const resizeCallbackRef = (0, import_react5.useRef)(onResize);
1133
- (0, import_react5.useEffect)(() => {
1134
- resizeCallbackRef.current = onResize;
1135
- }, [onResize]);
1136
- (0, import_react5.useEffect)(() => {
1137
- const targetElm = target && "current" in target ? target.current : target;
1138
- if (!targetElm || resizeObserverRef.current) {
1139
- return;
1140
- }
1141
- resizeObserverRef.current = new ResizeObserver(([entry]) => {
1142
- const { inlineSize: width, blockSize: height } = entry?.borderBoxSize?.[0] ?? {};
1143
- resizeCallbackRef.current?.(entry);
1144
- setSize({ width, height });
1145
- });
1146
- resizeObserverRef.current.observe(targetElm);
1147
- return () => {
1148
- resizeObserverRef.current && resizeObserverRef.current.unobserve(targetElm);
1149
- };
1150
- }, [target, resizeObserverRef, resizeCallbackRef]);
1151
- return size;
1152
- };
1153
-
1154
- // src/tabs/TabsList.tsx
1155
- var import_jsx_runtime8 = require("react/jsx-runtime");
1156
- var TabsList = ({
1157
- /**
1158
- * Default Radix Primitive values
1159
- * see https://www.radix-ui.com/docs/primitives/components/tabs#list
1160
- */
1161
- asChild = false,
1162
- loop = false,
1163
- children,
1164
- className,
1165
- ref,
1166
- ...rest
1167
- }) => {
1168
- const wrapperRef = (0, import_react6.useRef)(null);
1169
- const innerRef = (0, import_react6.useRef)(null);
1170
- const listRef = ref || innerRef;
1171
- const { orientation } = useTabsContext();
1172
- const { width } = useResizeObserver(wrapperRef);
1173
- const [arrows, setArrows] = (0, import_react6.useState)({
1174
- prev: "hidden",
1175
- next: "hidden"
1176
- });
1177
- (0, import_react6.useEffect)(() => {
1178
- if (typeof listRef === "function" || !listRef.current) {
1179
- return;
1180
- }
1181
- if (orientation !== "horizontal") {
1182
- setArrows({ prev: "hidden", next: "hidden" });
1183
- } else {
1184
- setArrows({
1185
- prev: listRef.current.scrollWidth > listRef.current.clientWidth ? "visible" : "hidden",
1186
- next: listRef.current.scrollWidth > listRef.current.clientWidth ? "visible" : "hidden"
1187
- });
1188
- }
1189
- }, [orientation, listRef, width]);
1190
- (0, import_react6.useEffect)(() => {
1191
- if (typeof listRef === "function" || !listRef.current || arrows.prev === "hidden" || loop) {
1192
- return;
1193
- }
1194
- const toggleArrowsVisibility = (target) => {
1195
- setArrows({
1196
- prev: target.scrollLeft > 0 ? "visible" : "disabled",
1197
- next: target.scrollLeft + target.clientWidth < target.scrollWidth ? "visible" : "disabled"
1198
- });
1199
- };
1200
- const currentList = listRef.current;
1201
- toggleArrowsVisibility(currentList);
1202
- currentList.addEventListener(
1203
- "scroll",
1204
- ({ target }) => toggleArrowsVisibility(target)
1205
- );
1206
- return () => currentList.removeEventListener(
1207
- "scroll",
1208
- ({ target }) => toggleArrowsVisibility(target)
1209
- );
1210
- }, [listRef, arrows.prev, loop]);
1211
- const handlePrevClick = () => {
1212
- if (typeof listRef === "function" || !listRef.current) {
1213
- return;
1214
- }
1215
- const shouldLoopForward = loop && listRef.current.scrollLeft <= 0;
1216
- listRef.current.scrollTo({
1217
- left: shouldLoopForward ? listRef.current.scrollLeft + listRef.current.scrollWidth - listRef.current.clientWidth : listRef.current.scrollLeft - listRef.current.clientWidth,
1218
- behavior: "smooth"
1219
- });
1220
- };
1221
- const handleNextClick = () => {
1222
- if (typeof listRef === "function" || !listRef.current) {
1223
- return;
1224
- }
1225
- const shouldLoopBackward = loop && listRef.current.scrollLeft + listRef.current.clientWidth >= listRef.current.scrollWidth;
1226
- listRef.current.scrollTo({
1227
- left: shouldLoopBackward ? 0 : listRef.current.scrollLeft + listRef.current.clientWidth,
1228
- behavior: "smooth"
1229
- });
1230
- };
1231
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: wrapperStyles({ className }), ref: wrapperRef, children: [
1232
- arrows.prev !== "hidden" && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1233
- Button,
1234
- {
1235
- shape: "square",
1236
- intent: "surface",
1237
- size: "sm",
1238
- className: navigationArrowStyles(),
1239
- onClick: handlePrevClick,
1240
- disabled: arrows.prev === "disabled",
1241
- "aria-label": "Scroll left",
1242
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_ArrowVerticalLeft.ArrowVerticalLeft, {}) })
1243
- }
1244
- ),
1245
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1246
- import_radix_ui4.Tabs.List,
1247
- {
1248
- "data-spark-component": "tabs-list",
1249
- ref: listRef,
1250
- className: listStyles(),
1251
- asChild,
1252
- loop,
1253
- ...rest,
1254
- children
1255
- }
1256
- ),
1257
- arrows.next !== "hidden" && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1258
- Button,
1259
- {
1260
- shape: "square",
1261
- intent: "surface",
1262
- size: "sm",
1263
- className: navigationArrowStyles(),
1264
- onClick: handleNextClick,
1265
- disabled: arrows.next === "disabled",
1266
- "aria-label": "Scroll right",
1267
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_ArrowVerticalRight.ArrowVerticalRight, {}) })
1268
- }
1269
- )
1270
- ] });
1271
- };
1272
- TabsList.displayName = "Tabs.List";
1273
-
1274
- // src/tabs/TabsTrigger.tsx
1275
- var import_use_merge_refs2 = require("@spark-ui/hooks/use-merge-refs");
1276
- var import_radix_ui12 = require("radix-ui");
1277
- var import_react10 = require("react");
1278
-
1279
- // src/tabs/TabsPopoverAbstraction.tsx
1280
- var import_use_merge_refs = require("@spark-ui/hooks/use-merge-refs");
1281
- var import_MoreMenuHorizontal = require("@spark-ui/icons/MoreMenuHorizontal");
1282
- var import_class_variance_authority13 = require("class-variance-authority");
1283
- var import_react9 = require("react");
1284
-
1285
- // src/icon-button/IconButton.styles.tsx
1286
- var import_internal_utils9 = require("@spark-ui/internal-utils");
1287
- var import_class_variance_authority8 = require("class-variance-authority");
1288
- var iconButtonStyles = (0, import_class_variance_authority8.cva)(["pl-0 pr-0"], {
1289
- variants: {
1290
- /**
1291
- * Sets the size of the icon.
1292
- */
1293
- size: (0, import_internal_utils9.makeVariants)({
1294
- sm: ["text-body-1"],
1295
- md: ["text-body-1"],
1296
- lg: ["text-display-3"]
1297
- })
1298
- }
1299
- });
1300
-
1301
- // src/icon-button/IconButton.tsx
1302
- var import_jsx_runtime9 = require("react/jsx-runtime");
1303
- var IconButton = ({
1304
- design = "filled",
1305
- disabled = false,
1306
- intent = "main",
1307
- shape = "rounded",
1308
- size = "md",
1309
- className,
1310
- ref,
1311
- ...others
1312
- }) => {
1313
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1314
- Button,
1315
- {
1316
- "data-spark-component": "icon-button",
1317
- ref,
1318
- className: iconButtonStyles({ size, className }),
1319
- design,
1320
- disabled,
1321
- intent,
1322
- shape,
1323
- size,
1324
- ...others
1325
- }
1326
- );
1327
- };
1328
- IconButton.displayName = "IconButton";
1329
-
1330
- // src/popover/Popover.tsx
1331
- var import_radix_ui5 = require("radix-ui");
1332
-
1333
- // src/popover/PopoverContext.tsx
1334
- var import_react7 = require("react");
1335
- var import_jsx_runtime10 = require("react/jsx-runtime");
1336
- var PopoverContext = (0, import_react7.createContext)(null);
1337
- var ID_PREFIX = ":popover";
1338
- var PopoverProvider = ({
1339
- children,
1340
- intent
1341
- }) => {
1342
- const [headerId, setHeaderId] = (0, import_react7.useState)(null);
1343
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1344
- PopoverContext.Provider,
1345
- {
1346
- value: {
1347
- headerId,
1348
- setHeaderId,
1349
- intent
1350
- },
1351
- children
1352
- }
1353
- );
1354
- };
1355
- var usePopover = () => {
1356
- const context = (0, import_react7.useContext)(PopoverContext);
1357
- if (!context) {
1358
- throw Error("usePopover must be used within a Popover provider");
1359
- }
1360
- return context;
1361
- };
1362
-
1363
- // src/popover/Popover.tsx
1364
- var import_jsx_runtime11 = require("react/jsx-runtime");
1365
- var Popover = ({ children, intent = "surface", modal = false, ...rest }) => {
1366
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PopoverProvider, { intent, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_radix_ui5.Popover.Root, { "data-spark-component": "popover", modal, ...rest, children }) });
1367
- };
1368
- Popover.displayName = "Popover";
1369
-
1370
- // src/popover/PopoverAnchor.tsx
1371
- var import_radix_ui6 = require("radix-ui");
1372
- var import_jsx_runtime12 = require("react/jsx-runtime");
1373
- var Anchor = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_radix_ui6.Popover.Anchor, { "data-spark-component": "popover-anchor", ref, asChild, ...rest, children });
1374
- Anchor.displayName = "Popover.Anchor";
1375
-
1376
- // src/popover/PopoverArrow.tsx
1377
- var import_class_variance_authority9 = require("class-variance-authority");
1378
- var import_radix_ui7 = require("radix-ui");
1379
- var import_jsx_runtime13 = require("react/jsx-runtime");
1380
- var Arrow = ({
1381
- asChild = false,
1382
- width = 16,
1383
- height = 8,
1384
- className,
1385
- ref,
1386
- ...rest
1387
- }) => {
1388
- const { intent } = usePopover();
1389
- const styles2 = (0, import_class_variance_authority9.cva)("visible", {
1390
- variants: {
1391
- intent: {
1392
- surface: "fill-surface",
1393
- main: "fill-main-container",
1394
- support: "fill-support-container",
1395
- accent: "fill-accent-container",
1396
- basic: "fill-basic-container",
1397
- success: "fill-success-container",
1398
- alert: "fill-alert-container",
1399
- danger: "fill-error-container",
1400
- info: "fill-info-container",
1401
- neutral: "fill-neutral-container"
1402
- }
1403
- },
1404
- defaultVariants: {
1405
- intent: "surface"
1406
- }
1407
- });
1408
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1409
- import_radix_ui7.Popover.Arrow,
1410
- {
1411
- "data-spark-component": "popover-arrow",
1412
- ref,
1413
- className: styles2({ intent, className }),
1414
- asChild,
1415
- width,
1416
- height,
1417
- ...rest
1418
- }
1419
- );
1420
- };
1421
- Arrow.displayName = "Popover.Arrow";
1422
-
1423
- // src/popover/PopoverCloseButton.tsx
1424
- var import_Close = require("@spark-ui/icons/Close");
1425
- var import_class_variance_authority10 = require("class-variance-authority");
1426
- var import_radix_ui8 = require("radix-ui");
1427
- var import_jsx_runtime14 = require("react/jsx-runtime");
1428
- var CloseButton = ({
1429
- "aria-label": ariaLabel,
1430
- className,
1431
- ref,
1432
- ...rest
1433
- }) => {
1434
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1435
- import_radix_ui8.Popover.Close,
1436
- {
1437
- "data-spark-component": "popover-close-button",
1438
- ref,
1439
- className: (0, import_class_variance_authority10.cx)("right-lg top-md absolute", className),
1440
- asChild: true,
1441
- ...rest,
1442
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IconButton, { size: "sm", intent: "neutral", design: "ghost", "aria-label": ariaLabel, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_Close.Close, {}) }) })
1443
- }
1444
- );
1445
- };
1446
- CloseButton.displayName = "Popover.CloseButton";
1447
-
1448
- // src/popover/PopoverContent.tsx
1449
- var import_radix_ui9 = require("radix-ui");
1450
-
1451
- // src/popover/PopoverContent.styles.ts
1452
- var import_class_variance_authority11 = require("class-variance-authority");
1453
- var styles = (0, import_class_variance_authority11.cva)(
1454
- [
1455
- "rounded-md",
1456
- "shadow-sm",
1457
- "focus-visible:outline-hidden focus-visible:u-outline",
1458
- "max-h-(--radix-popper-available-height) overflow-y-auto"
1459
- ],
1460
- {
1461
- variants: {
1462
- intent: {
1463
- surface: "bg-surface text-on-surface",
1464
- main: "bg-main-container text-on-main-container",
1465
- support: "bg-support-container text-on-support-container",
1466
- accent: "bg-accent-container text-on-accent-container",
1467
- basic: "bg-basic-container text-on-basic-container",
1468
- success: "bg-success-container text-on-success-container",
1469
- alert: "bg-alert-container text-on-alert-container",
1470
- danger: "bg-error-container text-on-error-container",
1471
- info: "bg-info-container text-on-info-container",
1472
- neutral: "bg-neutral-container text-on-neutral-container"
1473
- },
1474
- matchTriggerWidth: {
1475
- true: "w-(--radix-popper-anchor-width)"
1476
- },
1477
- enforceBoundaries: {
1478
- true: ["max-w-(--radix-popper-available-width)"]
1479
- },
1480
- inset: {
1481
- true: "overflow-hidden",
1482
- false: "p-lg"
1483
- },
1484
- elevation: {
1485
- dropdown: "z-dropdown",
1486
- popover: "z-popover"
1487
- }
1488
- },
1489
- compoundVariants: [
1490
- {
1491
- inset: false,
1492
- /**
1493
- * When there is a close button, padding to the right side must be adjusted to avoid content overlapping with it.
1494
- */
1495
- class: "has-data-[spark-component=popover-close-button]:pr-3xl"
1496
- },
1497
- {
1498
- enforceBoundaries: false,
1499
- matchTriggerWidth: false,
1500
- class: "max-w-[min(var(--spacing-sz-384),100vw)]"
1501
- }
1502
- ],
1503
- defaultVariants: {
1504
- matchTriggerWidth: false,
1505
- enforceBoundaries: false,
1506
- inset: false,
1507
- intent: "surface",
1508
- elevation: "popover"
1509
- }
1510
- }
1511
- );
1512
-
1513
- // src/popover/PopoverContent.tsx
1514
- var import_jsx_runtime15 = require("react/jsx-runtime");
1515
- var Content = ({
1516
- // Spark props
1517
- className,
1518
- children,
1519
- matchTriggerWidth = false,
1520
- // Radix props
1521
- align = "center",
1522
- arrowPadding = 16,
1523
- // In order not to overlap the arrow on the rounded corners of the popover.
1524
- asChild = false,
1525
- avoidCollisions = true,
1526
- "aria-labelledby": ariaLabelledBy,
1527
- collisionBoundary,
1528
- collisionPadding = 0,
1529
- hideWhenDetached = false,
1530
- side = "bottom",
1531
- sideOffset = 8,
1532
- sticky = "partial",
1533
- inset = false,
1534
- elevation = "popover",
1535
- ref,
1536
- ...rest
1537
- }) => {
1538
- const { headerId, intent } = usePopover();
1539
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1540
- import_radix_ui9.Popover.Content,
1541
- {
1542
- "aria-labelledby": headerId || ariaLabelledBy,
1543
- className: styles({
1544
- enforceBoundaries: !!collisionBoundary,
1545
- matchTriggerWidth,
1546
- inset,
1547
- elevation,
1548
- intent,
1549
- className
1550
- }),
1551
- "data-spark-component": "popover-content",
1552
- ref,
1553
- ...{
1554
- align,
1555
- arrowPadding,
1556
- asChild,
1557
- avoidCollisions,
1558
- collisionBoundary,
1559
- collisionPadding,
1560
- hideWhenDetached,
1561
- side,
1562
- sideOffset,
1563
- sticky
1564
- },
1565
- ...rest,
1566
- children
1567
- }
1568
- );
1569
- };
1570
- Content.displayName = "Popover.Content";
1571
-
1572
- // src/popover/PopoverHeader.tsx
1573
- var import_class_variance_authority12 = require("class-variance-authority");
1574
- var import_react8 = require("react");
1575
- var import_jsx_runtime16 = require("react/jsx-runtime");
1576
- var Header = ({ children, className, ref, ...rest }) => {
1577
- const id = `${ID_PREFIX}-header-${(0, import_react8.useId)()}`;
1578
- const { setHeaderId } = usePopover();
1579
- (0, import_react8.useLayoutEffect)(() => {
1580
- setHeaderId(id);
1581
- return () => setHeaderId(null);
1582
- }, [id, setHeaderId]);
1583
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("header", { id, ref, className: (0, import_class_variance_authority12.cx)("mb-md text-headline-2", className), ...rest, children });
1584
- };
1585
- Header.displayName = "Popover.Header";
1586
-
1587
- // src/popover/PopoverPortal.tsx
1588
- var import_radix_ui10 = require("radix-ui");
1589
- var import_jsx_runtime17 = require("react/jsx-runtime");
1590
- var Portal = ({ children, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_radix_ui10.Popover.Portal, { ...rest, children });
1591
- Portal.displayName = "Popover.Portal";
1592
-
1593
- // src/popover/PopoverTrigger.tsx
1594
- var import_radix_ui11 = require("radix-ui");
1595
- var import_jsx_runtime18 = require("react/jsx-runtime");
1596
- var Trigger = ({ asChild = false, children, ref, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1597
- import_radix_ui11.Popover.Trigger,
1598
- {
1599
- "data-spark-component": "popover-trigger",
1600
- ref,
1601
- asChild,
1602
- ...rest,
1603
- children
1604
- }
1605
- );
1606
- Trigger.displayName = "Popover.Trigger";
1607
-
1608
- // src/popover/index.ts
1609
- var Popover2 = Object.assign(Popover, {
1610
- Anchor,
1611
- Arrow,
1612
- CloseButton,
1613
- Content,
1614
- Header,
1615
- Portal,
1616
- Trigger
1617
- });
1618
- Popover2.displayName = "Popover";
1619
- Anchor.displayName = "Popover.Anchor";
1620
- Arrow.displayName = "Popover.Arrow";
1621
- CloseButton.displayName = "Popover.CloseButton";
1622
- Content.displayName = "Popover.Content";
1623
- Header.displayName = "Popover.Header";
1624
- Portal.displayName = "Popover.Portal";
1625
- Trigger.displayName = "Popover.Trigger";
1626
-
1627
- // src/tabs/TabsPopoverAbstraction.tsx
1628
- var import_jsx_runtime19 = require("react/jsx-runtime");
1629
- var TabsPopoverContext = (0, import_react9.createContext)(void 0);
1630
- var useTabsPopoverContext = () => {
1631
- const context = (0, import_react9.useContext)(TabsPopoverContext);
1632
- if (!context) {
1633
- throw new Error("TabsPopover components must be used within TabsPopover");
1634
- }
1635
- return context;
1636
- };
1637
- var TabsPopoverTrigger = (0, import_react9.forwardRef)(
1638
- ({ "aria-label": ariaLabel, children: iconChildren, ...triggerProps }, forwardedRef) => {
1639
- const { popoverTriggerRef } = useTabsPopoverContext();
1640
- const mergedRef = (0, import_use_merge_refs.useMergeRefs)(forwardedRef, popoverTriggerRef);
1641
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Popover2.Trigger, { asChild: true, ...triggerProps, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1642
- IconButton,
1643
- {
1644
- ref: mergedRef,
1645
- size: "sm",
1646
- intent: "surfaceInverse",
1647
- design: "ghost",
1648
- "aria-label": ariaLabel,
1649
- tabIndex: -1,
1650
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { children: iconChildren || /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_MoreMenuHorizontal.MoreMenuHorizontal, {}) })
1651
- }
1652
- ) });
1653
- }
1654
- );
1655
- TabsPopoverTrigger.displayName = "Popover.Trigger";
1656
- var TabsPopoverContent = (0, import_react9.forwardRef)(
1657
- ({ side, align = "start", className, ...contentProps }, ref) => {
1658
- const { popoverSide } = useTabsPopoverContext();
1659
- const mergedClassName = (0, import_class_variance_authority13.cx)("gap-sm flex flex-col", className);
1660
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1661
- Popover2.Content,
1662
- {
1663
- ref,
1664
- ...contentProps,
1665
- side: side ?? popoverSide,
1666
- align,
1667
- className: mergedClassName
1668
- }
1669
- );
1670
- }
1671
- );
1672
- TabsPopoverContent.displayName = "Popover.Content";
1673
- var Popover3 = ({ popoverSide, popoverTriggerRef, children }) => {
1674
- const contextValue = (0, import_react9.useMemo)(
1675
- () => ({ popoverSide, popoverTriggerRef }),
1676
- [popoverSide, popoverTriggerRef]
1677
- );
1678
- const PopoverWrapper = ((props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TabsPopoverContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Popover2, { ...props, children: props.children }) }));
1679
- const PopoverComponent = Object.assign(PopoverWrapper, Popover2, {
1680
- Content: TabsPopoverContent,
1681
- Trigger: TabsPopoverTrigger
1682
- });
1683
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TabsPopoverContext.Provider, { value: contextValue, children: children(PopoverComponent) });
1684
- };
1685
- Popover3.displayName = "Popover";
1686
-
1687
- // src/tabs/TabsTrigger.styles.ts
1688
- var import_internal_utils10 = require("@spark-ui/internal-utils");
1689
- var import_class_variance_authority14 = require("class-variance-authority");
1690
- var triggerVariants = (0, import_class_variance_authority14.cva)(
1691
- [
1692
- "px-md",
1693
- "relative flex flex-none items-center",
1694
- "border-outline",
1695
- "hover:not-disabled:bg-surface-hovered",
1696
- "after:absolute",
1697
- "data-[state=active]:font-bold",
1698
- "data-[state=inactive]:not-disabled:cursor-pointer",
1699
- "data-[orientation=horizontal]:border-b-sm data-[orientation=horizontal]:after:inset-x-0 data-[orientation=horizontal]:after:bottom-[-1px] data-[orientation=horizontal]:after:h-sz-2",
1700
- "data-[orientation=vertical]:border-r-sm data-[orientation=vertical]:after:inset-y-0 data-[orientation=vertical]:after:right-[-1px] data-[orientation=vertical]:after:w-sz-2",
1701
- "focus-visible:border-none focus-visible:bg-surface-hovered focus-visible:u-outline-inset",
1702
- "disabled:cursor-not-allowed disabled:opacity-dim-3",
1703
- "gap-md [&>*:first-child]:ml-md [&>*:last-child]:mr-md",
1704
- "[&>svg:last-child:first-child]:mx-auto"
1705
- ],
1706
- {
1707
- variants: {
1708
- /**
1709
- * Change the color scheme of the tabs
1710
- * @default basic
1711
- */
1712
- intent: (0, import_internal_utils10.makeVariants)({
1713
- main: ["data-[state=active]:text-main data-[state=active]:after:bg-main"],
1714
- support: ["data-[state=active]:text-support data-[state=active]:after:bg-support"],
1715
- basic: ["data-[state=active]:text-basic data-[state=active]:after:bg-basic"]
1716
- }),
1717
- /**
1718
- * Change the size of the tabs
1719
- * @default md
1720
- */
1721
- size: {
1722
- xs: ["h-sz-32 min-w-sz-32 text-caption"],
1723
- sm: ["h-sz-36 min-w-sz-36 text-body-2"],
1724
- md: ["h-sz-40 min-w-sz-40 text-body-1"]
1725
- },
1726
- hasMenu: {
1727
- true: "pr-3xl"
1728
- },
1729
- orientation: {
1730
- horizontal: "",
1731
- vertical: ""
1732
- }
1733
- },
1734
- compoundVariants: [
1735
- {
1736
- hasMenu: true,
1737
- orientation: "vertical",
1738
- class: "w-full"
1739
- }
1740
- ],
1741
- defaultVariants: {
1742
- intent: "basic",
1743
- size: "md",
1744
- hasMenu: false,
1745
- orientation: "horizontal"
1746
- }
1747
- }
1748
- );
1749
-
1750
- // src/tabs/TabsTrigger.tsx
1751
- var import_jsx_runtime20 = require("react/jsx-runtime");
1752
- var TabsTrigger = ({
1753
- /**
1754
- * Default Radix Primitive values
1755
- * see https://www.radix-ui.com/docs/primitives/components/tabs#trigger
1756
- */
1757
- asChild = false,
1758
- value,
1759
- disabled = false,
1760
- children,
1761
- className,
1762
- ref,
1763
- onKeyDown,
1764
- renderMenu,
1765
- ...rest
1766
- }) => {
1767
- const { intent, size, orientation } = useTabsContext();
1768
- const popoverTriggerRef = (0, import_react10.useRef)(null);
1769
- const tabsTriggerRef = (0, import_react10.useRef)(null);
1770
- const mergedRef = (0, import_use_merge_refs2.useMergeRefs)(ref, tabsTriggerRef);
1771
- const handleKeyDown = (e) => {
1772
- if (e.key === "F10" && e.shiftKey && renderMenu && popoverTriggerRef.current) {
1773
- e.preventDefault();
1774
- popoverTriggerRef.current.click();
1775
- }
1776
- onKeyDown?.(e);
1777
- };
1778
- const hasMenu = !!renderMenu;
1779
- const popoverSide = orientation === "vertical" ? "right" : "bottom";
1780
- const trigger = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1781
- import_radix_ui12.Tabs.Trigger,
1782
- {
1783
- "data-spark-component": "tabs-trigger",
1784
- ref: mergedRef,
1785
- className: triggerVariants({
1786
- intent,
1787
- size,
1788
- hasMenu,
1789
- orientation: orientation ?? "horizontal",
1790
- className
1791
- }),
1792
- asChild,
1793
- disabled,
1794
- value,
1795
- onFocus: ({ target }) => target.scrollIntoView({
1796
- behavior: "smooth",
1797
- block: "nearest",
1798
- inline: "nearest"
1799
- }),
1800
- onKeyDown: handleKeyDown,
1801
- "aria-haspopup": hasMenu ? "true" : void 0,
1802
- ...rest,
1803
- children
1804
- }
1805
- );
1806
- if (!hasMenu) {
1807
- return trigger;
1808
- }
1809
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: orientation === "vertical" ? "relative w-full" : "relative", children: [
1810
- trigger,
1811
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "right-md mr-md pointer-events-auto absolute top-1/2 -translate-y-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Popover3, { popoverSide, popoverTriggerRef, children: (PopoverAbstraction) => renderMenu?.({ Popover: PopoverAbstraction }) }) })
1812
- ] });
1813
- };
1814
- TabsTrigger.displayName = "Tabs.Trigger";
1815
-
1816
- // src/tabs/index.ts
1817
- var Tabs2 = Object.assign(Tabs, {
1818
- List: TabsList,
1819
- Trigger: TabsTrigger,
1820
- Content: TabsContent
1821
- });
1822
- Tabs2.displayName = "Tabs";
1823
- TabsList.displayName = "Tabs.List";
1824
- TabsTrigger.displayName = "Tabs.Trigger";
1825
- TabsContent.displayName = "Tabs.Content";
1826
- // Annotate the CommonJS export names for ESM import in node:
1827
- 0 && (module.exports = {
1828
- Tabs
1829
- });
1830
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),T=require("radix-ui"),s=require("react"),m=require("class-variance-authority"),D=require("@spark-ui/icons/ArrowVerticalLeft"),F=require("@spark-ui/icons/ArrowVerticalRight"),M=require("../Button-B6rA3-e5.js"),j=require("../Icon-CF0W0LKr.js"),q=require("@spark-ui/hooks/use-merge-refs"),K=require("@spark-ui/icons/MoreMenuHorizontal"),H=require("../IconButton-D3g86WpZ.js"),g=require("../popover/index.js"),U=require("@spark-ui/internal-utils"),W=s.createContext({}),R=()=>{const t=s.useContext(W);if(!t)throw Error("useTabsContext must be used within a TabsContext Provider");return t},$=m.cva(["flex","data-[orientation=horizontal]:flex-col","data-[orientation=vertical]:flex-row","max-w-full"]),V=({intent:t="basic",size:o="md",asChild:c=!1,forceMount:i=!1,orientation:n="horizontal",children:a,className:l,ref:d,...e})=>r.jsx(W.Provider,{value:{intent:t,size:o,orientation:n,forceMount:i},children:r.jsx(T.Tabs.Root,{ref:d,asChild:c,orientation:n,className:$({className:l}),"data-spark-component":"tabs",activationMode:"automatic",...e,children:a})});V.displayName="Tabs";const G=m.cva(["w-full p-lg","focus-visible:u-outline-inset"],{variants:{forceMount:{true:"data-[state=inactive]:hidden",false:""}}}),P=({children:t,asChild:o=!1,className:c,ref:i,...n})=>{const{forceMount:a}=R();return r.jsx(T.Tabs.Content,{"data-spark-component":"tabs-content",ref:i,forceMount:a||n.forceMount,className:G({className:c,forceMount:a}),asChild:o,...n,children:t})};P.displayName="Tabs.Content";const J=m.cva(["relative flex"]),Q=m.cva(["flex w-full","data-[orientation=horizontal]:flex-row","data-[orientation=vertical]:flex-col","overflow-y-hidden u-no-scrollbar data-[orientation=vertical]:overflow-x-hidden","after:flex after:shrink after:grow after:border-outline","data-[orientation=horizontal]:after:border-b-sm","data-[orientation=vertical]:after:border-r-sm"]),S=m.cva(["h-auto! flex-none","border-b-sm border-outline","outline-hidden","focus-visible:border-none focus-visible:bg-surface-hovered focus-visible:u-outline-inset!"]),X=(t,o)=>{const[c,i]=s.useState({width:void 0,height:void 0}),n=s.useRef(null),a=s.useRef(o);return s.useEffect(()=>{a.current=o},[o]),s.useEffect(()=>{const l=t&&"current"in t?t.current:t;if(!(!l||n.current))return n.current=new ResizeObserver(([d])=>{const{inlineSize:e,blockSize:x}=d?.borderBoxSize?.[0]??{};a.current?.(d),i({width:e,height:x})}),n.current.observe(l),()=>{n.current&&n.current.unobserve(l)}},[t,n,a]),c},N=({asChild:t=!1,loop:o=!1,children:c,className:i,ref:n,...a})=>{const l=s.useRef(null),d=s.useRef(null),e=n||d,{orientation:x}=R(),{width:w}=X(l),[u,h]=s.useState({prev:"hidden",next:"hidden"});s.useEffect(()=>{typeof e=="function"||!e.current||h(x!=="horizontal"?{prev:"hidden",next:"hidden"}:{prev:e.current.scrollWidth>e.current.clientWidth?"visible":"hidden",next:e.current.scrollWidth>e.current.clientWidth?"visible":"hidden"})},[x,e,w]),s.useEffect(()=>{if(typeof e=="function"||!e.current||u.prev==="hidden"||o)return;const v=f=>{h({prev:f.scrollLeft>0?"visible":"disabled",next:f.scrollLeft+f.clientWidth<f.scrollWidth?"visible":"disabled"})},p=e.current;return v(p),p.addEventListener("scroll",({target:f})=>v(f)),()=>p.removeEventListener("scroll",({target:f})=>v(f))},[e,u.prev,o]);const z=()=>{if(typeof e=="function"||!e.current)return;const v=o&&e.current.scrollLeft<=0;e.current.scrollTo({left:v?e.current.scrollLeft+e.current.scrollWidth-e.current.clientWidth:e.current.scrollLeft-e.current.clientWidth,behavior:"smooth"})},y=()=>{if(typeof e=="function"||!e.current)return;const v=o&&e.current.scrollLeft+e.current.clientWidth>=e.current.scrollWidth;e.current.scrollTo({left:v?0:e.current.scrollLeft+e.current.clientWidth,behavior:"smooth"})};return r.jsxs("div",{className:J({className:i}),ref:l,children:[u.prev!=="hidden"&&r.jsx(M.Button,{shape:"square",intent:"surface",size:"sm",className:S(),onClick:z,disabled:u.prev==="disabled","aria-label":"Scroll left",children:r.jsx(j.Icon,{children:r.jsx(D.ArrowVerticalLeft,{})})}),r.jsx(T.Tabs.List,{"data-spark-component":"tabs-list",ref:e,className:Q(),asChild:t,loop:o,...a,children:c}),u.next!=="hidden"&&r.jsx(M.Button,{shape:"square",intent:"surface",size:"sm",className:S(),onClick:y,disabled:u.next==="disabled","aria-label":"Scroll right",children:r.jsx(j.Icon,{children:r.jsx(F.ArrowVerticalRight,{})})})]})};N.displayName="Tabs.List";const C=s.createContext(void 0),E=()=>{const t=s.useContext(C);if(!t)throw new Error("TabsPopover components must be used within TabsPopover");return t},I=s.forwardRef(({"aria-label":t,children:o,...c},i)=>{const{popoverTriggerRef:n}=E(),a=q.useMergeRefs(i,n);return r.jsx(g.Popover.Trigger,{asChild:!0,...c,children:r.jsx(H.IconButton,{ref:a,size:"sm",intent:"surfaceInverse",design:"ghost","aria-label":t,tabIndex:-1,children:r.jsx(j.Icon,{children:o||r.jsx(K.MoreMenuHorizontal,{})})})})});I.displayName="Popover.Trigger";const A=s.forwardRef(({side:t,align:o="start",className:c,...i},n)=>{const{popoverSide:a}=E(),l=m.cx("gap-sm flex flex-col",c);return r.jsx(g.Popover.Content,{ref:n,...i,side:t??a,align:o,className:l})});A.displayName="Popover.Content";const B=({popoverSide:t,popoverTriggerRef:o,children:c})=>{const i=s.useMemo(()=>({popoverSide:t,popoverTriggerRef:o}),[t,o]),a=Object.assign((l=>r.jsx(C.Provider,{value:i,children:r.jsx(g.Popover,{...l,children:l.children})})),g.Popover,{Content:A,Trigger:I});return r.jsx(C.Provider,{value:i,children:c(a)})};B.displayName="Popover";const Y=m.cva(["px-md","relative flex flex-none items-center","border-outline","hover:not-disabled:bg-surface-hovered","after:absolute","data-[state=active]:font-bold","data-[state=inactive]:not-disabled:cursor-pointer","data-[orientation=horizontal]:border-b-sm data-[orientation=horizontal]:after:inset-x-0 data-[orientation=horizontal]:after:bottom-[-1px] data-[orientation=horizontal]:after:h-sz-2","data-[orientation=vertical]:border-r-sm data-[orientation=vertical]:after:inset-y-0 data-[orientation=vertical]:after:right-[-1px] data-[orientation=vertical]:after:w-sz-2","focus-visible:border-none focus-visible:bg-surface-hovered focus-visible:u-outline-inset","disabled:cursor-not-allowed disabled:opacity-dim-3","gap-md [&>*:first-child]:ml-md [&>*:last-child]:mr-md","[&>svg:last-child:first-child]:mx-auto"],{variants:{intent:U.makeVariants({main:["data-[state=active]:text-main data-[state=active]:after:bg-main"],support:["data-[state=active]:text-support data-[state=active]:after:bg-support"],basic:["data-[state=active]:text-basic data-[state=active]:after:bg-basic"]}),size:{xs:["h-sz-32 min-w-sz-32 text-caption"],sm:["h-sz-36 min-w-sz-36 text-body-2"],md:["h-sz-40 min-w-sz-40 text-body-1"]},hasMenu:{true:"pr-3xl"},orientation:{horizontal:"",vertical:""}},compoundVariants:[{hasMenu:!0,orientation:"vertical",class:"w-full"}],defaultVariants:{intent:"basic",size:"md",hasMenu:!1,orientation:"horizontal"}}),L=({asChild:t=!1,value:o,disabled:c=!1,children:i,className:n,ref:a,onKeyDown:l,renderMenu:d,...e})=>{const{intent:x,size:w,orientation:u}=R(),h=s.useRef(null),z=s.useRef(null),y=q.useMergeRefs(a,z),v=b=>{b.key==="F10"&&b.shiftKey&&d&&h.current&&(b.preventDefault(),h.current.click()),l?.(b)},p=!!d,f=u==="vertical"?"right":"bottom",k=r.jsx(T.Tabs.Trigger,{"data-spark-component":"tabs-trigger",ref:y,className:Y({intent:x,size:w,hasMenu:p,orientation:u??"horizontal",className:n}),asChild:t,disabled:c,value:o,onFocus:({target:b})=>b.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}),onKeyDown:v,"aria-haspopup":p?"true":void 0,...e,children:i});return p?r.jsxs("div",{className:u==="vertical"?"relative w-full":"relative",children:[k,r.jsx("div",{className:"right-md mr-md pointer-events-auto absolute top-1/2 -translate-y-1/2",children:r.jsx(B,{popoverSide:f,popoverTriggerRef:h,children:b=>d?.({Popover:b})})})]}):k};L.displayName="Tabs.Trigger";const O=Object.assign(V,{List:N,Trigger:L,Content:P});O.displayName="Tabs";N.displayName="Tabs.List";L.displayName="Tabs.Trigger";P.displayName="Tabs.Content";exports.Tabs=O;
2
+ //# sourceMappingURL=index.js.map