@spark-ui/components 14.0.0-beta.1 → 14.0.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 (382) hide show
  1. package/dist/Button-B6rA3-e5.js +2 -0
  2. package/dist/{Button-C3xHNaGl.js.map → Button-B6rA3-e5.js.map} +1 -1
  3. package/dist/{Button-D32Avk2j.mjs → Button-C3C0aixy.mjs} +4 -4
  4. package/dist/{Button-D32Avk2j.mjs.map → Button-C3C0aixy.mjs.map} +1 -1
  5. package/dist/DialogContent.styles-BSfXHt21.mjs +61 -0
  6. package/dist/DialogContent.styles-BSfXHt21.mjs.map +1 -0
  7. package/dist/DialogContent.styles-bBs6l8Cy.js +2 -0
  8. package/dist/DialogContent.styles-bBs6l8Cy.js.map +1 -0
  9. package/dist/Icon-CF0W0LKr.js +2 -0
  10. package/dist/{Icon-Bf0XrmiR.js.map → Icon-CF0W0LKr.js.map} +1 -1
  11. package/dist/{Icon-D1RueiPY.mjs → Icon-Ck-dhfLd.mjs} +6 -6
  12. package/dist/{Icon-D1RueiPY.mjs.map → Icon-Ck-dhfLd.mjs.map} +1 -1
  13. package/dist/{IconButton-BY3gYXtU.mjs → IconButton-C62-axzv.mjs} +6 -6
  14. package/dist/{IconButton-BY3gYXtU.mjs.map → IconButton-C62-axzv.mjs.map} +1 -1
  15. package/dist/IconButton-D3g86WpZ.js +2 -0
  16. package/dist/{IconButton-Bf-EDzpI.js.map → IconButton-D3g86WpZ.js.map} +1 -1
  17. package/dist/Slot-D2Bbf8Gw.mjs +14 -0
  18. package/dist/{Slot-C98rL4yy.mjs.map → Slot-D2Bbf8Gw.mjs.map} +1 -1
  19. package/dist/Slot-DQ8z2zsy.js +2 -0
  20. package/dist/{Slot-ghrohQLA.js.map → Slot-DQ8z2zsy.js.map} +1 -1
  21. package/dist/Spinner-_Kffli3B.js +2 -0
  22. package/dist/{Spinner-DK8VEsaR.js.map → Spinner-_Kffli3B.js.map} +1 -1
  23. package/dist/{Spinner-CYL5kyzM.mjs → Spinner-jF3-zoh_.mjs} +3 -3
  24. package/dist/{Spinner-CYL5kyzM.mjs.map → Spinner-jF3-zoh_.mjs.map} +1 -1
  25. package/dist/{TextLink-3MEVs3No.mjs → TextLink-BuzFRWO6.mjs} +3 -3
  26. package/dist/{TextLink-3MEVs3No.mjs.map → TextLink-BuzFRWO6.mjs.map} +1 -1
  27. package/dist/TextLink-C3xDLsbC.js +2 -0
  28. package/dist/{TextLink-DD0VO37q.js.map → TextLink-C3xDLsbC.js.map} +1 -1
  29. package/dist/{VisuallyHidden-AoRh4WRK.js → VisuallyHidden-CB6Nx76j.js} +2 -2
  30. package/dist/{VisuallyHidden-AoRh4WRK.js.map → VisuallyHidden-CB6Nx76j.js.map} +1 -1
  31. package/dist/{VisuallyHidden-ByNP7ZUI.mjs → VisuallyHidden-KH1biLx-.mjs} +2 -2
  32. package/dist/{VisuallyHidden-ByNP7ZUI.mjs.map → VisuallyHidden-KH1biLx-.mjs.map} +1 -1
  33. package/dist/accordion/index.d.mts +15 -0
  34. package/dist/accordion/index.js +1 -1
  35. package/dist/accordion/index.js.map +1 -1
  36. package/dist/accordion/index.mjs +90 -608
  37. package/dist/accordion/index.mjs.map +1 -1
  38. package/dist/alert-dialog/AlertDialogPortal.d.ts +1 -1
  39. package/dist/alert-dialog/index.d.mts +38 -0
  40. package/dist/alert-dialog/index.js +1 -34
  41. package/dist/alert-dialog/index.js.map +1 -1
  42. package/dist/alert-dialog/index.mjs +139 -2475
  43. package/dist/alert-dialog/index.mjs.map +1 -1
  44. package/dist/avatar/index.d.mts +15 -0
  45. package/dist/avatar/index.js +1 -1
  46. package/dist/avatar/index.js.map +1 -1
  47. package/dist/avatar/index.mjs +4 -4
  48. package/dist/badge/index.d.mts +1 -0
  49. package/dist/badge/index.js +1 -1
  50. package/dist/badge/index.js.map +1 -1
  51. package/dist/badge/index.mjs +6 -6
  52. package/dist/breadcrumb/index.d.mts +12 -0
  53. package/dist/breadcrumb/index.js +1 -1
  54. package/dist/breadcrumb/index.js.map +1 -1
  55. package/dist/breadcrumb/index.mjs +21 -21
  56. package/dist/button/Button.d.ts +1 -1
  57. package/dist/button/index.d.mts +1 -0
  58. package/dist/button/index.js +1 -1
  59. package/dist/button/index.mjs +1 -1
  60. package/dist/button/variants/index.d.mts +5 -0
  61. package/dist/card/index.d.mts +8 -0
  62. package/dist/card/index.js +1 -1
  63. package/dist/card/index.js.map +1 -1
  64. package/dist/card/index.mjs +2 -2
  65. package/dist/carousel/index.d.mts +19 -0
  66. package/dist/carousel/index.js +1 -1
  67. package/dist/carousel/index.js.map +1 -1
  68. package/dist/carousel/index.mjs +3 -3
  69. package/dist/checkbox/index.d.mts +2 -0
  70. package/dist/checkbox/index.js +1 -1
  71. package/dist/checkbox/index.js.map +1 -1
  72. package/dist/checkbox/index.mjs +128 -364
  73. package/dist/checkbox/index.mjs.map +1 -1
  74. package/dist/chip/index.d.mts +15 -0
  75. package/dist/chip/index.js +1 -1
  76. package/dist/chip/index.js.map +1 -1
  77. package/dist/chip/index.mjs +196 -370
  78. package/dist/chip/index.mjs.map +1 -1
  79. package/dist/chip/variants/index.d.mts +3 -0
  80. package/dist/collapsible/index.d.mts +7 -0
  81. package/dist/collapsible/index.js +1 -1
  82. package/dist/collapsible/index.js.map +1 -1
  83. package/dist/collapsible/index.mjs +38 -213
  84. package/dist/collapsible/index.mjs.map +1 -1
  85. package/dist/combobox/index.d.mts +35 -0
  86. package/dist/combobox/index.js +1 -1
  87. package/dist/combobox/index.js.map +1 -1
  88. package/dist/combobox/index.mjs +7 -7
  89. package/dist/combobox/utils/index.d.mts +14 -0
  90. package/dist/dialog/Dialog.d.ts +13 -13
  91. package/dist/dialog/DialogClose.d.ts +9 -8
  92. package/dist/dialog/DialogContent.d.ts +4 -4
  93. package/dist/dialog/DialogDescription.d.ts +3 -3
  94. package/dist/dialog/DialogOverlay.d.ts +5 -5
  95. package/dist/dialog/DialogPortal.d.ts +4 -4
  96. package/dist/dialog/DialogTitle.d.ts +3 -3
  97. package/dist/dialog/DialogTrigger.d.ts +5 -9
  98. package/dist/dialog/index.d.mts +37 -0
  99. package/dist/dialog/index.js +1 -1
  100. package/dist/dialog/index.js.map +1 -1
  101. package/dist/dialog/index.mjs +149 -159
  102. package/dist/dialog/index.mjs.map +1 -1
  103. package/dist/divider/index.d.mts +6 -0
  104. package/dist/divider/index.js +1 -1
  105. package/dist/divider/index.js.map +1 -1
  106. package/dist/divider/index.mjs +58 -76
  107. package/dist/divider/index.mjs.map +1 -1
  108. package/dist/drawer/Drawer.d.ts +12 -19
  109. package/dist/drawer/DrawerClose.d.ts +9 -5
  110. package/dist/drawer/DrawerContent.d.ts +5 -5
  111. package/dist/drawer/DrawerDescription.d.ts +4 -4
  112. package/dist/drawer/DrawerOverlay.d.ts +5 -5
  113. package/dist/drawer/DrawerPortal.d.ts +4 -4
  114. package/dist/drawer/DrawerTitle.d.ts +5 -5
  115. package/dist/drawer/DrawerTrigger.d.ts +5 -5
  116. package/dist/drawer/index.d.mts +37 -0
  117. package/dist/drawer/index.d.ts +2 -0
  118. package/dist/drawer/index.js +1 -1
  119. package/dist/drawer/index.js.map +1 -1
  120. package/dist/drawer/index.mjs +143 -114
  121. package/dist/drawer/index.mjs.map +1 -1
  122. package/dist/drawer/useRenderSlot.d.ts +3 -0
  123. package/dist/dropdown/index.d.mts +29 -0
  124. package/dist/dropdown/index.js +1 -1
  125. package/dist/dropdown/index.js.map +1 -1
  126. package/dist/dropdown/index.mjs +5 -5
  127. package/dist/file-upload/index.d.mts +22 -0
  128. package/dist/file-upload/index.js +1 -1
  129. package/dist/file-upload/index.js.map +1 -1
  130. package/dist/file-upload/index.mjs +6 -6
  131. package/dist/form-field/index.d.mts +31 -0
  132. package/dist/form-field/index.js +1 -1
  133. package/dist/form-field/index.js.map +1 -1
  134. package/dist/form-field/index.mjs +47 -47
  135. package/dist/icon/index.d.mts +1 -0
  136. package/dist/icon/index.js +1 -1
  137. package/dist/icon/index.mjs +1 -1
  138. package/dist/icon-button/index.d.mts +1 -0
  139. package/dist/icon-button/index.js +1 -1
  140. package/dist/icon-button/index.mjs +1 -1
  141. package/dist/input/index.d.mts +21 -0
  142. package/dist/input/index.js +1 -1
  143. package/dist/input/index.js.map +1 -1
  144. package/dist/input/index.mjs +4 -4
  145. package/dist/input-otp/index.d.mts +14 -0
  146. package/dist/input-otp/index.js +1 -1
  147. package/dist/input-otp/index.js.map +1 -1
  148. package/dist/input-otp/index.mjs +139 -137
  149. package/dist/input-otp/index.mjs.map +1 -1
  150. package/dist/kbd/index.d.mts +1 -0
  151. package/dist/label/index.d.mts +7 -0
  152. package/dist/label/index.js +1 -1
  153. package/dist/label/index.js.map +1 -1
  154. package/dist/label/index.mjs +37 -2
  155. package/dist/label/index.mjs.map +1 -1
  156. package/dist/link-box/index.d.mts +9 -0
  157. package/dist/link-box/index.js +1 -1
  158. package/dist/link-box/index.js.map +1 -1
  159. package/dist/link-box/index.mjs +7 -7
  160. package/dist/pagination/index.d.mts +18 -0
  161. package/dist/pagination/index.js +1 -1
  162. package/dist/pagination/index.js.map +1 -1
  163. package/dist/pagination/index.mjs +126 -844
  164. package/dist/pagination/index.mjs.map +1 -1
  165. package/dist/popover/index.d.mts +17 -0
  166. package/dist/popover/index.js +1 -1
  167. package/dist/popover/index.js.map +1 -1
  168. package/dist/popover/index.mjs +119 -1748
  169. package/dist/popover/index.mjs.map +1 -1
  170. package/dist/portal/index.d.mts +1 -0
  171. package/dist/portal/index.js +1 -1
  172. package/dist/portal/index.js.map +1 -1
  173. package/dist/portal/index.mjs +3 -3
  174. package/dist/portal/index.mjs.map +1 -1
  175. package/dist/progress/index.d.mts +13 -0
  176. package/dist/progress/index.js +1 -6
  177. package/dist/progress/index.js.map +1 -1
  178. package/dist/progress/index.mjs +87 -162
  179. package/dist/progress/index.mjs.map +1 -1
  180. package/dist/progress-tracker/index.d.mts +10 -0
  181. package/dist/progress-tracker/index.js +1 -1
  182. package/dist/progress-tracker/index.js.map +1 -1
  183. package/dist/progress-tracker/index.mjs +14 -14
  184. package/dist/radio-group/index.d.mts +7 -0
  185. package/dist/radio-group/index.js +1 -1
  186. package/dist/radio-group/index.js.map +1 -1
  187. package/dist/radio-group/index.mjs +85 -312
  188. package/dist/radio-group/index.mjs.map +1 -1
  189. package/dist/rating/index.d.mts +1 -0
  190. package/dist/rating/index.js +1 -1
  191. package/dist/rating/index.js.map +1 -1
  192. package/dist/rating/index.mjs +11 -11
  193. package/dist/scrolling-list/index.d.mts +15 -0
  194. package/dist/scrolling-list/index.js +1 -1
  195. package/dist/scrolling-list/index.js.map +1 -1
  196. package/dist/scrolling-list/index.mjs +168 -333
  197. package/dist/scrolling-list/index.mjs.map +1 -1
  198. package/dist/segmented-gauge/index.d.mts +13 -0
  199. package/dist/segmented-gauge/index.js +1 -1
  200. package/dist/segmented-gauge/index.js.map +1 -1
  201. package/dist/segmented-gauge/index.mjs +1 -1
  202. package/dist/select/index.d.mts +21 -0
  203. package/dist/select/index.js +1 -1
  204. package/dist/select/index.js.map +1 -1
  205. package/dist/select/index.mjs +21 -21
  206. package/dist/skeleton/index.d.mts +8 -0
  207. package/dist/skeleton/index.js +1 -1
  208. package/dist/skeleton/index.js.map +1 -1
  209. package/dist/skeleton/index.mjs +2 -2
  210. package/dist/slider/Slider.d.ts +6 -1
  211. package/dist/slider/SliderContext.d.ts +4 -1
  212. package/dist/slider/index.d.mts +8 -0
  213. package/dist/slider/index.js +1 -1
  214. package/dist/slider/index.js.map +1 -1
  215. package/dist/slider/index.mjs +96 -496
  216. package/dist/slider/index.mjs.map +1 -1
  217. package/dist/slot/index.d.mts +1 -0
  218. package/dist/slot/index.js +1 -1
  219. package/dist/slot/index.mjs +1 -1
  220. package/dist/snackbar/index.d.mts +13 -0
  221. package/dist/snackbar/index.js +1 -1
  222. package/dist/snackbar/index.js.map +1 -1
  223. package/dist/snackbar/index.mjs +189 -1105
  224. package/dist/snackbar/index.mjs.map +1 -1
  225. package/dist/spinner/index.d.mts +1 -0
  226. package/dist/spinner/index.js +1 -1
  227. package/dist/spinner/index.mjs +1 -1
  228. package/dist/stepper/index.d.mts +9 -0
  229. package/dist/stepper/index.js +1 -7
  230. package/dist/stepper/index.js.map +1 -1
  231. package/dist/stepper/index.mjs +137 -2317
  232. package/dist/stepper/index.mjs.map +1 -1
  233. package/dist/switch/index.d.mts +1 -0
  234. package/dist/switch/index.js +1 -1
  235. package/dist/switch/index.js.map +1 -1
  236. package/dist/switch/index.mjs +85 -208
  237. package/dist/switch/index.mjs.map +1 -1
  238. package/dist/tabs/index.d.mts +13 -0
  239. package/dist/tabs/index.js +1 -1
  240. package/dist/tabs/index.js.map +1 -1
  241. package/dist/tabs/index.mjs +179 -329
  242. package/dist/tabs/index.mjs.map +1 -1
  243. package/dist/tag/index.d.mts +1 -0
  244. package/dist/tag/index.js +1 -1
  245. package/dist/tag/index.js.map +1 -1
  246. package/dist/tag/index.mjs +2 -2
  247. package/dist/tag/variants/index.d.mts +3 -0
  248. package/dist/text-link/index.d.mts +1 -0
  249. package/dist/text-link/index.js +1 -1
  250. package/dist/text-link/index.mjs +1 -1
  251. package/dist/textarea/index.d.mts +14 -0
  252. package/dist/textarea/index.js +1 -1
  253. package/dist/textarea/index.js.map +1 -1
  254. package/dist/textarea/index.mjs +6 -6
  255. package/dist/toast/index.d.mts +20 -0
  256. package/dist/toast/index.js +1 -1
  257. package/dist/toast/index.js.map +1 -1
  258. package/dist/toast/index.mjs +146 -1008
  259. package/dist/toast/index.mjs.map +1 -1
  260. package/dist/useRenderSlot-DATwjgpo.js +2 -0
  261. package/dist/useRenderSlot-DATwjgpo.js.map +1 -0
  262. package/dist/useRenderSlot-LwWj8QbC.mjs +10 -0
  263. package/dist/useRenderSlot-LwWj8QbC.mjs.map +1 -0
  264. package/dist/visually-hidden/index.d.mts +1 -0
  265. package/dist/visually-hidden/index.js +1 -1
  266. package/dist/visually-hidden/index.mjs +1 -1
  267. package/package.json +7 -6
  268. package/dist/Button-C3xHNaGl.js +0 -2
  269. package/dist/DialogContent.styles-BrhKaHc_.js +0 -2
  270. package/dist/DialogContent.styles-BrhKaHc_.js.map +0 -1
  271. package/dist/DialogContent.styles-WGWJS9dj.mjs +0 -48
  272. package/dist/DialogContent.styles-WGWJS9dj.mjs.map +0 -1
  273. package/dist/Icon-Bf0XrmiR.js +0 -2
  274. package/dist/IconButton-Bf-EDzpI.js +0 -2
  275. package/dist/Slot-C98rL4yy.mjs +0 -14
  276. package/dist/Slot-ghrohQLA.js +0 -2
  277. package/dist/Spinner-DK8VEsaR.js +0 -2
  278. package/dist/TextLink-DD0VO37q.js +0 -2
  279. package/dist/composite-Br3kM5N9.mjs +0 -40
  280. package/dist/composite-Br3kM5N9.mjs.map +0 -1
  281. package/dist/composite-fJD9R7R0.js +0 -2
  282. package/dist/composite-fJD9R7R0.js.map +0 -1
  283. package/dist/detectBrowser-Bc7rk5fI.mjs +0 -44
  284. package/dist/detectBrowser-Bc7rk5fI.mjs.map +0 -1
  285. package/dist/detectBrowser-DTbs_30X.js +0 -2
  286. package/dist/detectBrowser-DTbs_30X.js.map +0 -1
  287. package/dist/downshift.esm-Ncwetv0s.mjs +0 -3038
  288. package/dist/downshift.esm-Ncwetv0s.mjs.map +0 -1
  289. package/dist/downshift.esm-PfCOUbxq.js +0 -37
  290. package/dist/downshift.esm-PfCOUbxq.js.map +0 -1
  291. package/dist/floating-ui.utils.dom-CCN4I08l.js +0 -2
  292. package/dist/floating-ui.utils.dom-CCN4I08l.js.map +0 -1
  293. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs +0 -136
  294. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs.map +0 -1
  295. package/dist/index-0KYGKeVg.js +0 -2
  296. package/dist/index-0KYGKeVg.js.map +0 -1
  297. package/dist/index-1WIgmEZh.js +0 -2
  298. package/dist/index-1WIgmEZh.js.map +0 -1
  299. package/dist/index-BRi38DTc.mjs +0 -21
  300. package/dist/index-BRi38DTc.mjs.map +0 -1
  301. package/dist/index-BZAtNKwE.mjs +0 -71
  302. package/dist/index-BZAtNKwE.mjs.map +0 -1
  303. package/dist/index-BZPx6jYI.mjs +0 -9
  304. package/dist/index-BZPx6jYI.mjs.map +0 -1
  305. package/dist/index-BlkdpEIe.mjs +0 -55
  306. package/dist/index-BlkdpEIe.mjs.map +0 -1
  307. package/dist/index-BmAFn37q.mjs +0 -49
  308. package/dist/index-BmAFn37q.mjs.map +0 -1
  309. package/dist/index-C-J_tHdS.js +0 -6
  310. package/dist/index-C-J_tHdS.js.map +0 -1
  311. package/dist/index-C1qb0595.mjs +0 -28
  312. package/dist/index-C1qb0595.mjs.map +0 -1
  313. package/dist/index-C34GgsKQ.mjs +0 -54
  314. package/dist/index-C34GgsKQ.mjs.map +0 -1
  315. package/dist/index-CCKe-Mpx.mjs +0 -7
  316. package/dist/index-CCKe-Mpx.mjs.map +0 -1
  317. package/dist/index-CDBBjNXc.js +0 -2
  318. package/dist/index-CDBBjNXc.js.map +0 -1
  319. package/dist/index-CYjGhVvU.mjs +0 -243
  320. package/dist/index-CYjGhVvU.mjs.map +0 -1
  321. package/dist/index-ChLwd62c.js +0 -2
  322. package/dist/index-ChLwd62c.js.map +0 -1
  323. package/dist/index-Cjj_rUPu.js +0 -2
  324. package/dist/index-Cjj_rUPu.js.map +0 -1
  325. package/dist/index-CyMbLkj0.js +0 -2
  326. package/dist/index-CyMbLkj0.js.map +0 -1
  327. package/dist/index-DFZozV_h.mjs +0 -69
  328. package/dist/index-DFZozV_h.mjs.map +0 -1
  329. package/dist/index-DKuHkHFX.js +0 -2
  330. package/dist/index-DKuHkHFX.js.map +0 -1
  331. package/dist/index-DLHLIYPI.mjs +0 -16
  332. package/dist/index-DLHLIYPI.mjs.map +0 -1
  333. package/dist/index-DO-atGp-.js +0 -2
  334. package/dist/index-DO-atGp-.js.map +0 -1
  335. package/dist/index-DWlg8lkk.mjs +0 -179
  336. package/dist/index-DWlg8lkk.mjs.map +0 -1
  337. package/dist/index-DYxWvftI.js +0 -2
  338. package/dist/index-DYxWvftI.js.map +0 -1
  339. package/dist/index-D_lWkK39.mjs +0 -803
  340. package/dist/index-D_lWkK39.mjs.map +0 -1
  341. package/dist/index-DdkVj7D0.js +0 -18
  342. package/dist/index-DdkVj7D0.js.map +0 -1
  343. package/dist/index-De-6atSi.js +0 -2
  344. package/dist/index-De-6atSi.js.map +0 -1
  345. package/dist/index-DhGWNzsz.mjs +0 -83
  346. package/dist/index-DhGWNzsz.mjs.map +0 -1
  347. package/dist/index-Dkj4QRX8.js +0 -2
  348. package/dist/index-Dkj4QRX8.js.map +0 -1
  349. package/dist/index-DlIFg0Eu.mjs +0 -60
  350. package/dist/index-DlIFg0Eu.mjs.map +0 -1
  351. package/dist/index-DnaHaH_0.js +0 -2
  352. package/dist/index-DnaHaH_0.js.map +0 -1
  353. package/dist/index-MHF2-CYX.js +0 -2
  354. package/dist/index-MHF2-CYX.js.map +0 -1
  355. package/dist/index-MQ0c3ZX_.js +0 -2
  356. package/dist/index-MQ0c3ZX_.js.map +0 -1
  357. package/dist/index-MSR-vgWR.mjs +0 -37
  358. package/dist/index-MSR-vgWR.mjs.map +0 -1
  359. package/dist/index-VL0YEmOW.mjs +0 -125
  360. package/dist/index-VL0YEmOW.mjs.map +0 -1
  361. package/dist/index-tXqxYME3.js +0 -42
  362. package/dist/index-tXqxYME3.js.map +0 -1
  363. package/dist/inertValue-Bif5Sqs6.mjs +0 -522
  364. package/dist/inertValue-Bif5Sqs6.mjs.map +0 -1
  365. package/dist/inertValue-ShwihJSN.js +0 -5
  366. package/dist/inertValue-ShwihJSN.js.map +0 -1
  367. package/dist/useCollapsiblePanel-D1dCo0lf.js +0 -4
  368. package/dist/useCollapsiblePanel-D1dCo0lf.js.map +0 -1
  369. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs +0 -287
  370. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs.map +0 -1
  371. package/dist/useFocusWithin-CFNEka2I.js +0 -2
  372. package/dist/useFocusWithin-CFNEka2I.js.map +0 -1
  373. package/dist/useFocusWithin-CoL4390f.mjs +0 -796
  374. package/dist/useFocusWithin-CoL4390f.mjs.map +0 -1
  375. package/dist/useOpenChangeComplete-Dk-u_f2y.js +0 -2
  376. package/dist/useOpenChangeComplete-Dk-u_f2y.js.map +0 -1
  377. package/dist/useOpenChangeComplete-RUbg6RBw.mjs +0 -582
  378. package/dist/useOpenChangeComplete-RUbg6RBw.mjs.map +0 -1
  379. package/dist/useTransitionStatus-CktVVKxz.mjs +0 -46
  380. package/dist/useTransitionStatus-CktVVKxz.mjs.map +0 -1
  381. package/dist/useTransitionStatus-CqbEyvIj.js +0 -2
  382. package/dist/useTransitionStatus-CqbEyvIj.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ import { AvatarImage } from './AvatarImage';
2
+ import { AvatarAction } from './AvatarAction';
3
+ import { AvatarOnlineBadge } from './AvatarOnlineBadge';
4
+ import { AvatarUser } from './AvatarUser';
5
+ import { AvatarPlaceholder } from './AvatarPlaceholder';
6
+ import { AvatarProps } from './types';
7
+ export interface AvatarComponent extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {
8
+ Image: typeof AvatarImage;
9
+ Action: typeof AvatarAction;
10
+ OnlineBadge: typeof AvatarOnlineBadge;
11
+ User: typeof AvatarUser;
12
+ Placeholder: typeof AvatarPlaceholder;
13
+ }
14
+ declare const AvatarComponent: AvatarComponent;
15
+ export { AvatarComponent as Avatar };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react/jsx-runtime"),m=require("../index-DnaHaH_0.js"),N=require("react"),h=require("../Slot-ghrohQLA.js"),q=require("@spark-ui/icons/PenOutline"),w=require("../Icon-Bf0XrmiR.js"),R=require("../IconButton-Bf-EDzpI.js");function $(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const b=$(N),P=b.createContext(void 0),v=()=>{const e=b.useContext(P);if(!e)throw new Error("useAvatarContext must be used within an Avatar component");return e},j={xs:24,sm:32,md:40,lg:56,xl:64,"2xl":96},z=b.forwardRef(({className:e,size:n="xl",isOnline:t=!1,onlineText:a,username:s,asChild:l,children:i,shape:c="circle",...o},u)=>{const d=l?h.Slot:"div",r=b.useMemo(()=>({size:n,isOnline:t,onlineText:a,username:s,shape:c,pixelSize:j[n]}),[n,t,s,c,a]);return x.jsx(P.Provider,{value:r,children:x.jsx(d,{ref:u,style:{width:j[n],height:j[n]},"data-spark-component":"avatar",className:m.cx("relative inline-flex items-center justify-center",e),...o,children:i})})});z.displayName="Avatar";const O=({className:e,asChild:n,src:t,onLoad:a,onError:s,...l})=>{const{username:i,isOnline:c,onlineText:o}=v(),u=n?h.Slot:"img",[d,r]=N.useState(!1),y=c&&o?`${i} (${o})`:i;if(N.useEffect(()=>{r(!1)},[t]),!t)return null;const g=A=>{r(!0),a?.(A)},p=A=>{r(!1),s?.(A)};return x.jsx(u,{"aria-hidden":!0,className:m.cx("absolute inset-0 size-full","object-cover",{"transition-all duration-300 group-hover:scale-120":l.onClick},"focus-visible:u-outline",d?"block":"hidden",e),alt:y,src:t,onLoad:g,onError:p,...l})};O.displayName="AvatarImage";const S=({className:e,children:n,asChild:t,angle:a=135,ariaLabel:s,...l})=>{const i=t?h.Slot:R.IconButton,{pixelSize:c,shape:o}=v();function u(y){const g=(90-a)*Math.PI/180,p=y/2;return{x:p+p*Math.cos(g),y:p-p*Math.sin(g)}}const d=u(c),r=t;return x.jsx(i,{"data-spark-component":"avatar-action",style:{position:"absolute",...o==="circle"?{left:`${d.x}px`,top:`${d.y}px`}:{},...o==="square"?{right:"0px",bottom:"0px"}:{}},className:m.cx("z-raised",o==="circle"?"-translate-x-1/2 -translate-y-1/2":"translate-x-1/4 translate-y-1/4",{"shadow-sm":!r},e),"aria-label":s,title:s,...r?{}:{size:"sm",intent:"support",design:"contrast"},...l,children:n||x.jsx(w.Icon,{size:"sm",children:x.jsx(q.PenOutline,{})})})};S.displayName="AvatarAction";const C=({angle:e=135,...n})=>{const{isOnline:t,pixelSize:a,shape:s,onlineText:l,size:i}=v();if(!t)return null;function c(u){const d=(90-e)*Math.PI/180,r=u/2;return{x:r+r*Math.cos(d),y:r-r*Math.sin(d)}}const o=c(a);return x.jsx("div",{"data-spark-component":"avatar-online-badge",role:"status","aria-label":l,style:{...s==="circle"?{left:`${o.x}px`,top:`${o.y}px`}:{right:"0px",bottom:"0px"}},className:m.cx("bg-success outline-surface absolute rounded-full",s==="circle"?"-translate-x-1/2 -translate-y-1/2":"translate-x-1/4 translate-y-1/4",["lg","xl","2xl"].includes(i)?m.cx("size-sz-12 outline-4"):m.cx("size-sz-8 outline-2")),...n})};C.displayName="AvatarOnlineBadge";const I=({asChild:e,children:n,className:t,...a})=>{const{shape:s,isOnline:l,onlineText:i,username:c}=v(),o=e?h.Slot:"div",u=l&&i?`${c} (${i})`:c;return x.jsx(o,{...!e&&{role:"img"},"aria-label":u,title:u,className:m.cx("group default:border-outline relative size-full overflow-hidden","focus-visible:u-outline",{"default:rounded-full":s==="circle","default:rounded-md":s==="square","hover:opacity-dim-1 cursor-pointer":e||a.onClick},t),...a,children:n})};I.displayName="AvatarUser";const M=({className:e,children:n,...t})=>{const{size:a,username:s}=v(),l=s?.charAt(0);return x.jsx("div",{"aria-hidden":!0,className:m.cx("absolute inset-0 flex size-full items-center justify-center","default:bg-neutral default:text-on-neutral",{"text-display-1":a==="2xl","text-display-2":["xl","lg"].includes(a),"text-display-3":a==="md","text-headline-2":a==="sm","text-body-2 font-bold":a==="xs"},e),...t,children:n||l})};M.displayName="AvatarPlaceholder";const f=z;f.Image=O;f.Action=S;f.OnlineBadge=C;f.User=I;f.Placeholder=M;exports.Avatar=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("react/jsx-runtime"),m=require("class-variance-authority"),N=require("react"),h=require("../Slot-DQ8z2zsy.js"),q=require("@spark-ui/icons/PenOutline"),w=require("../Icon-CF0W0LKr.js"),R=require("../IconButton-D3g86WpZ.js");function $(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const b=$(N),P=b.createContext(void 0),v=()=>{const e=b.useContext(P);if(!e)throw new Error("useAvatarContext must be used within an Avatar component");return e},j={xs:24,sm:32,md:40,lg:56,xl:64,"2xl":96},z=b.forwardRef(({className:e,size:n="xl",isOnline:t=!1,onlineText:a,username:s,asChild:l,children:i,shape:c="circle",...o},u)=>{const d=l?h.Slot:"div",r=b.useMemo(()=>({size:n,isOnline:t,onlineText:a,username:s,shape:c,pixelSize:j[n]}),[n,t,s,c,a]);return x.jsx(P.Provider,{value:r,children:x.jsx(d,{ref:u,style:{width:j[n],height:j[n]},"data-spark-component":"avatar",className:m.cx("relative inline-flex items-center justify-center",e),...o,children:i})})});z.displayName="Avatar";const O=({className:e,asChild:n,src:t,onLoad:a,onError:s,...l})=>{const{username:i,isOnline:c,onlineText:o}=v(),u=n?h.Slot:"img",[d,r]=N.useState(!1),y=c&&o?`${i} (${o})`:i;if(N.useEffect(()=>{r(!1)},[t]),!t)return null;const g=A=>{r(!0),a?.(A)},p=A=>{r(!1),s?.(A)};return x.jsx(u,{"aria-hidden":!0,className:m.cx("absolute inset-0 size-full","object-cover",{"transition-all duration-300 group-hover:scale-120":l.onClick},"focus-visible:u-outline",d?"block":"hidden",e),alt:y,src:t,onLoad:g,onError:p,...l})};O.displayName="AvatarImage";const S=({className:e,children:n,asChild:t,angle:a=135,ariaLabel:s,...l})=>{const i=t?h.Slot:R.IconButton,{pixelSize:c,shape:o}=v();function u(y){const g=(90-a)*Math.PI/180,p=y/2;return{x:p+p*Math.cos(g),y:p-p*Math.sin(g)}}const d=u(c),r=t;return x.jsx(i,{"data-spark-component":"avatar-action",style:{position:"absolute",...o==="circle"?{left:`${d.x}px`,top:`${d.y}px`}:{},...o==="square"?{right:"0px",bottom:"0px"}:{}},className:m.cx("z-raised",o==="circle"?"-translate-x-1/2 -translate-y-1/2":"translate-x-1/4 translate-y-1/4",{"shadow-sm":!r},e),"aria-label":s,title:s,...r?{}:{size:"sm",intent:"support",design:"contrast"},...l,children:n||x.jsx(w.Icon,{size:"sm",children:x.jsx(q.PenOutline,{})})})};S.displayName="AvatarAction";const C=({angle:e=135,...n})=>{const{isOnline:t,pixelSize:a,shape:s,onlineText:l,size:i}=v();if(!t)return null;function c(u){const d=(90-e)*Math.PI/180,r=u/2;return{x:r+r*Math.cos(d),y:r-r*Math.sin(d)}}const o=c(a);return x.jsx("div",{"data-spark-component":"avatar-online-badge",role:"status","aria-label":l,style:{...s==="circle"?{left:`${o.x}px`,top:`${o.y}px`}:{right:"0px",bottom:"0px"}},className:m.cx("bg-success outline-surface absolute rounded-full",s==="circle"?"-translate-x-1/2 -translate-y-1/2":"translate-x-1/4 translate-y-1/4",["lg","xl","2xl"].includes(i)?m.cx("size-sz-12 outline-4"):m.cx("size-sz-8 outline-2")),...n})};C.displayName="AvatarOnlineBadge";const I=({asChild:e,children:n,className:t,...a})=>{const{shape:s,isOnline:l,onlineText:i,username:c}=v(),o=e?h.Slot:"div",u=l&&i?`${c} (${i})`:c;return x.jsx(o,{...!e&&{role:"img"},"aria-label":u,title:u,className:m.cx("group default:border-outline relative size-full overflow-hidden","focus-visible:u-outline",{"default:rounded-full":s==="circle","default:rounded-md":s==="square","hover:opacity-dim-1 cursor-pointer":e||a.onClick},t),...a,children:n})};I.displayName="AvatarUser";const M=({className:e,children:n,...t})=>{const{size:a,username:s}=v(),l=s?.charAt(0);return x.jsx("div",{"aria-hidden":!0,className:m.cx("absolute inset-0 flex size-full items-center justify-center","default:bg-neutral default:text-on-neutral",{"text-display-1":a==="2xl","text-display-2":["xl","lg"].includes(a),"text-display-3":a==="md","text-headline-2":a==="sm","text-body-2 font-bold":a==="xs"},e),...t,children:n||l})};M.displayName="AvatarPlaceholder";const f=z;f.Image=O;f.Action=S;f.OnlineBadge=C;f.User=I;f.Placeholder=M;exports.Avatar=f;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/avatar/context.ts","../../src/avatar/Avatar.tsx","../../src/avatar/AvatarImage.tsx","../../src/avatar/AvatarAction.tsx","../../src/avatar/AvatarOnlineBadge.tsx","../../src/avatar/AvatarUser.tsx","../../src/avatar/AvatarPlaceholder.tsx","../../src/avatar/index.ts"],"sourcesContent":["import * as React from 'react'\nimport type { AvatarContextValue } from './types'\n\nconst AvatarContext = React.createContext<AvatarContextValue | undefined>(undefined)\n\nexport const useAvatarContext = () => {\n const context = React.useContext(AvatarContext)\n if (!context) {\n throw new Error('useAvatarContext must be used within an Avatar component')\n }\n return context\n}\n\nexport { AvatarContext }\n","import { cx } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { Slot } from '../slot'\nimport { AvatarContext } from './context'\nimport type { AvatarProps } from './types'\n\nconst sizeMap = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64, // default\n '2xl': 96,\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n className,\n size = 'xl',\n isOnline = false,\n onlineText,\n username,\n asChild,\n children,\n shape = 'circle',\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'div'\n const contextValue = React.useMemo(\n () => ({\n size,\n isOnline,\n onlineText,\n username,\n shape,\n pixelSize: sizeMap[size],\n }),\n [size, isOnline, username, shape, onlineText]\n )\n\n return (\n <AvatarContext.Provider value={contextValue}>\n <Comp\n ref={ref}\n style={{\n width: sizeMap[size],\n height: sizeMap[size],\n }}\n data-spark-component=\"avatar\"\n className={cx('relative inline-flex items-center justify-center', className)}\n {...props}\n >\n {children}\n </Comp>\n </AvatarContext.Provider>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n","import { cx } from 'class-variance-authority'\nimport { useEffect, useState } from 'react'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n asChild?: boolean\n}\n\nexport const AvatarImage = ({\n className,\n asChild,\n src,\n onLoad,\n onError,\n ...props\n}: AvatarImageProps) => {\n const { username, isOnline, onlineText } = useAvatarContext()\n const Comp = asChild ? Slot : 'img'\n\n const [isVisible, setIsVisible] = useState(false)\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n // Reset visibility when src changes\n useEffect(() => {\n setIsVisible(false)\n }, [src])\n\n // Don't render the image if src is undefined or null\n if (!src) {\n return null\n }\n\n const handleLoad = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(true)\n onLoad?.(event)\n }\n\n const handleError = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(false)\n onError?.(event)\n }\n\n return (\n <Comp\n aria-hidden\n className={cx(\n 'absolute inset-0 size-full',\n 'object-cover',\n { 'transition-all duration-300 group-hover:scale-120': props.onClick },\n 'focus-visible:u-outline',\n isVisible ? 'block' : 'hidden',\n className\n )}\n alt={accessibleName}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...props}\n />\n )\n}\n\nAvatarImage.displayName = 'AvatarImage'\n","import { PenOutline } from '@spark-ui/icons/PenOutline'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n angle?: number\n ariaLabel: string\n}\n\nexport const AvatarAction = ({\n className,\n children,\n asChild,\n angle = 135,\n ariaLabel,\n ...props\n}: AvatarActionProps) => {\n const Comp = asChild ? Slot : IconButton\n const { pixelSize, shape } = useAvatarContext()\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const position = getBadgePosition(pixelSize)\n\n const isCustomElement = asChild\n\n return (\n <Comp\n data-spark-component=\"avatar-action\"\n style={{\n position: 'absolute',\n ...(shape === 'circle' ? { left: `${position.x}px`, top: `${position.y}px` } : {}),\n ...(shape === 'square' ? { right: '0px', bottom: '0px' } : {}),\n }}\n className={cx(\n 'z-raised',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n { 'shadow-sm': !isCustomElement },\n className\n )}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(!isCustomElement ? { size: 'sm', intent: 'support', design: 'contrast' } : {})}\n {...props}\n >\n {children || (\n <Icon size=\"sm\">\n <PenOutline />\n </Icon>\n )}\n </Comp>\n )\n}\n\nAvatarAction.displayName = 'AvatarAction'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef } from 'react'\n\nimport { useAvatarContext } from './context'\n\ninterface AvatarOnlineBadgeProps extends ComponentPropsWithoutRef<'div'> {\n angle?: number\n}\n\nexport const AvatarOnlineBadge = ({ angle = 135, ...props }: AvatarOnlineBadgeProps) => {\n const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext()\n\n if (!isOnline) return null\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const badgePosition = getBadgePosition(pixelSize)\n\n return (\n <div\n data-spark-component=\"avatar-online-badge\"\n role=\"status\"\n aria-label={onlineText}\n style={{\n ...(shape === 'circle'\n ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` }\n : { right: '0px', bottom: '0px' }),\n }}\n className={cx(\n 'bg-success outline-surface absolute rounded-full',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n ['lg', 'xl', '2xl'].includes(size) ? cx('size-sz-12 outline-4') : cx('size-sz-8 outline-2')\n )}\n {...props}\n />\n )\n}\n\nAvatarOnlineBadge.displayName = 'AvatarOnlineBadge'\n","import { cx } from 'class-variance-authority'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n asChild?: boolean\n}\n\nexport const AvatarUser = ({ asChild, children, className, ...props }: AvatarImageProps) => {\n const { shape, isOnline, onlineText, username } = useAvatarContext()\n const Comp = asChild ? Slot : 'div'\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n return (\n <Comp\n {...(!asChild && { role: 'img' })}\n aria-label={accessibleName}\n title={accessibleName}\n className={cx(\n 'group default:border-outline relative size-full overflow-hidden',\n 'focus-visible:u-outline',\n {\n 'default:rounded-full': shape === 'circle',\n 'default:rounded-md': shape === 'square',\n 'hover:opacity-dim-1 cursor-pointer': asChild || props.onClick,\n },\n className\n )}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nAvatarUser.displayName = 'AvatarUser'\n","import { cx } from 'class-variance-authority'\n\nimport { useAvatarContext } from './context'\n\nexport interface AvatarPlaceholderProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n className?: string\n children?: React.ReactNode\n}\n\nexport const AvatarPlaceholder = ({ className, children, ...props }: AvatarPlaceholderProps) => {\n const { size, username } = useAvatarContext()\n\n const firstLetter = username?.charAt(0)\n\n return (\n <div\n aria-hidden\n className={cx(\n 'absolute inset-0 flex size-full items-center justify-center',\n 'default:bg-neutral default:text-on-neutral',\n {\n 'text-display-1': size === '2xl',\n 'text-display-2': ['xl', 'lg'].includes(size),\n 'text-display-3': size === 'md',\n 'text-headline-2': size === 'sm',\n 'text-body-2 font-bold': size === 'xs',\n },\n className\n )}\n {...props}\n >\n {children || firstLetter}\n </div>\n )\n}\n\nAvatarPlaceholder.displayName = 'AvatarPlaceholder'\n","import { Avatar } from './Avatar'\nimport { AvatarImage } from './AvatarImage'\nimport { AvatarAction } from './AvatarAction'\nimport { AvatarOnlineBadge } from './AvatarOnlineBadge'\nimport { AvatarUser } from './AvatarUser'\nimport { AvatarPlaceholder } from './AvatarPlaceholder'\nimport type { AvatarProps } from './types'\n\nexport interface AvatarComponent\n extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {\n Image: typeof AvatarImage\n Action: typeof AvatarAction\n OnlineBadge: typeof AvatarOnlineBadge\n User: typeof AvatarUser\n Placeholder: typeof AvatarPlaceholder\n}\n\nconst AvatarComponent = Avatar as AvatarComponent\n\nAvatarComponent.Image = AvatarImage\nAvatarComponent.Action = AvatarAction\nAvatarComponent.OnlineBadge = AvatarOnlineBadge\nAvatarComponent.User = AvatarUser\nAvatarComponent.Placeholder = AvatarPlaceholder\nexport { AvatarComponent as Avatar }\n"],"names":["AvatarContext","React","useAvatarContext","context","sizeMap","Avatar","className","size","isOnline","onlineText","username","asChild","children","shape","props","ref","Comp","Slot","contextValue","jsx","cx","AvatarImage","src","onLoad","onError","isVisible","setIsVisible","useState","accessibleName","useEffect","handleLoad","event","handleError","AvatarAction","angle","ariaLabel","IconButton","pixelSize","getBadgePosition","circleSize","angleRad","circleRadius","position","isCustomElement","Icon","PenOutline","AvatarOnlineBadge","badgePosition","AvatarUser","AvatarPlaceholder","firstLetter","AvatarComponent"],"mappings":"qlBAGMA,EAAgBC,EAAM,cAA8C,MAAS,EAEtEC,EAAmB,IAAM,CACpC,MAAMC,EAAUF,EAAM,WAAWD,CAAa,EAC9C,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,0DAA0D,EAE5E,OAAOA,CACT,ECJMC,EAAU,CACd,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,MAAO,EACT,EAEaC,EAASJ,EAAM,WAC1B,CACE,CACE,UAAAK,EACA,KAAAC,EAAO,KACP,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EACA,QAAAC,EACA,SAAAC,EACA,MAAAC,EAAQ,SACR,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAOL,EAAUM,EAAAA,KAAO,MACxBC,EAAejB,EAAM,QACzB,KAAO,CACL,KAAAM,EACA,SAAAC,EACA,WAAAC,EACA,SAAAC,EACA,MAAAG,EACA,UAAWT,EAAQG,CAAI,CAAA,GAEzB,CAACA,EAAMC,EAAUE,EAAUG,EAAOJ,CAAU,CAAA,EAG9C,OACEU,EAAAA,IAACnB,EAAc,SAAd,CAAuB,MAAOkB,EAC7B,SAAAC,EAAAA,IAACH,EAAA,CACC,IAAAD,EACA,MAAO,CACL,MAAOX,EAAQG,CAAI,EACnB,OAAQH,EAAQG,CAAI,CAAA,EAEtB,uBAAqB,SACrB,UAAWa,EAAAA,GAAG,mDAAoDd,CAAS,EAC1E,GAAGQ,EAEH,SAAAF,CAAA,CAAA,EAEL,CAEJ,CACF,EAEAP,EAAO,YAAc,SCrDd,MAAMgB,EAAc,CAAC,CAC1B,UAAAf,EACA,QAAAK,EACA,IAAAW,EACA,OAAAC,EACA,QAAAC,EACA,GAAGV,CACL,IAAwB,CACtB,KAAM,CAAE,SAAAJ,EAAU,SAAAF,EAAU,WAAAC,CAAA,EAAeP,EAAA,EACrCc,EAAOL,EAAUM,EAAAA,KAAO,MAExB,CAACQ,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAE1CC,EAAiBpB,GAAYC,EAAa,GAAGC,CAAQ,KAAKD,CAAU,IAAMC,EAQhF,GALAmB,EAAAA,UAAU,IAAM,CACdH,EAAa,EAAK,CACpB,EAAG,CAACJ,CAAG,CAAC,EAGJ,CAACA,EACH,OAAO,KAGT,MAAMQ,EAAcC,GAAyD,CAC3EL,EAAa,EAAI,EACjBH,IAASQ,CAAK,CAChB,EAEMC,EAAeD,GAAyD,CAC5EL,EAAa,EAAK,EAClBF,IAAUO,CAAK,CACjB,EAEA,OACEZ,EAAAA,IAACH,EAAA,CACC,cAAW,GACX,UAAWI,EAAAA,GACT,6BACA,eACA,CAAE,oDAAqDN,EAAM,OAAA,EAC7D,0BACAW,EAAY,QAAU,SACtBnB,CAAA,EAEF,IAAKsB,EACL,IAAAN,EACA,OAAQQ,EACR,QAASE,EACR,GAAGlB,CAAA,CAAA,CAGV,EAEAO,EAAY,YAAc,cCnDnB,MAAMY,EAAe,CAAC,CAC3B,UAAA3B,EACA,SAAAM,EACA,QAAAD,EACA,MAAAuB,EAAQ,IACR,UAAAC,EACA,GAAGrB,CACL,IAAyB,CACvB,MAAME,EAAOL,EAAUM,EAAAA,KAAOmB,EAAAA,WACxB,CAAE,UAAAC,EAAW,MAAAxB,CAAA,EAAUX,EAAA,EAE7B,SAASoC,EAAiBC,EAAoB,CAC5C,MAAMC,GAAa,GAAKN,GAAS,KAAK,GAAM,IACtCO,EAAeF,EAAa,EAElC,MAAO,CACL,EAAGE,EAAeA,EAAe,KAAK,IAAID,CAAQ,EAClD,EAAGC,EAAeA,EAAe,KAAK,IAAID,CAAQ,CAAA,CAEtD,CAEA,MAAME,EAAWJ,EAAiBD,CAAS,EAErCM,EAAkBhC,EAExB,OACEQ,EAAAA,IAACH,EAAA,CACC,uBAAqB,gBACrB,MAAO,CACL,SAAU,WACV,GAAIH,IAAU,SAAW,CAAE,KAAM,GAAG6B,EAAS,CAAC,KAAM,IAAK,GAAGA,EAAS,CAAC,IAAA,EAAS,CAAA,EAC/E,GAAI7B,IAAU,SAAW,CAAE,MAAO,MAAO,OAAQ,OAAU,CAAA,CAAC,EAE9D,UAAWO,EAAAA,GACT,WACAP,IAAU,SACN,oCACA,kCACJ,CAAE,YAAa,CAAC8B,CAAA,EAChBrC,CAAA,EAEF,aAAY6B,EACZ,MAAOA,EACN,GAAKQ,EAA0E,CAAA,EAAxD,CAAE,KAAM,KAAM,OAAQ,UAAW,OAAQ,UAAA,EAChE,GAAG7B,EAEH,YACCK,MAACyB,EAAAA,KAAA,CAAK,KAAK,KACT,SAAAzB,EAAAA,IAAC0B,EAAAA,aAAW,CAAA,CACd,CAAA,CAAA,CAIR,EAEAZ,EAAa,YAAc,eC5DpB,MAAMa,EAAoB,CAAC,CAAE,MAAAZ,EAAQ,IAAK,GAAGpB,KAAoC,CACtF,KAAM,CAAE,SAAAN,EAAU,UAAA6B,EAAW,MAAAxB,EAAO,WAAAJ,EAAY,KAAAF,CAAA,EAASL,EAAA,EAEzD,GAAI,CAACM,EAAU,OAAO,KAEtB,SAAS8B,EAAiBC,EAAoB,CAC5C,MAAMC,GAAa,GAAKN,GAAS,KAAK,GAAM,IACtCO,EAAeF,EAAa,EAElC,MAAO,CACL,EAAGE,EAAeA,EAAe,KAAK,IAAID,CAAQ,EAClD,EAAGC,EAAeA,EAAe,KAAK,IAAID,CAAQ,CAAA,CAEtD,CAEA,MAAMO,EAAgBT,EAAiBD,CAAS,EAEhD,OACElB,EAAAA,IAAC,MAAA,CACC,uBAAqB,sBACrB,KAAK,SACL,aAAYV,EACZ,MAAO,CACL,GAAII,IAAU,SACV,CAAE,KAAM,GAAGkC,EAAc,CAAC,KAAM,IAAK,GAAGA,EAAc,CAAC,IAAA,EACvD,CAAE,MAAO,MAAO,OAAQ,KAAA,CAAM,EAEpC,UAAW3B,EAAAA,GACT,mDACAP,IAAU,SACN,oCACA,kCACJ,CAAC,KAAM,KAAM,KAAK,EAAE,SAASN,CAAI,EAAIa,KAAG,sBAAsB,EAAIA,EAAAA,GAAG,qBAAqB,CAAA,EAE3F,GAAGN,CAAA,CAAA,CAGV,EAEAgC,EAAkB,YAAc,oBCvCzB,MAAME,EAAa,CAAC,CAAE,QAAArC,EAAS,SAAAC,EAAU,UAAAN,EAAW,GAAGQ,KAA8B,CAC1F,KAAM,CAAE,MAAAD,EAAO,SAAAL,EAAU,WAAAC,EAAY,SAAAC,CAAA,EAAaR,EAAA,EAC5Cc,EAAOL,EAAUM,EAAAA,KAAO,MAExBW,EAAiBpB,GAAYC,EAAa,GAAGC,CAAQ,KAAKD,CAAU,IAAMC,EAEhF,OACES,EAAAA,IAACH,EAAA,CACE,GAAI,CAACL,GAAW,CAAE,KAAM,KAAA,EACzB,aAAYiB,EACZ,MAAOA,EACP,UAAWR,EAAAA,GACT,kEACA,0BACA,CACE,uBAAwBP,IAAU,SAClC,qBAAsBA,IAAU,SAChC,qCAAsCF,GAAWG,EAAM,OAAA,EAEzDR,CAAA,EAED,GAAGQ,EAEH,SAAAF,CAAA,CAAA,CAGP,EAEAoC,EAAW,YAAc,aC5BlB,MAAMC,EAAoB,CAAC,CAAE,UAAA3C,EAAW,SAAAM,EAAU,GAAGE,KAAoC,CAC9F,KAAM,CAAE,KAAAP,EAAM,SAAAG,CAAA,EAAaR,EAAA,EAErBgD,EAAcxC,GAAU,OAAO,CAAC,EAEtC,OACES,EAAAA,IAAC,MAAA,CACC,cAAW,GACX,UAAWC,EAAAA,GACT,8DACA,6CACA,CACE,iBAAkBb,IAAS,MAC3B,iBAAkB,CAAC,KAAM,IAAI,EAAE,SAASA,CAAI,EAC5C,iBAAkBA,IAAS,KAC3B,kBAAmBA,IAAS,KAC5B,wBAAyBA,IAAS,IAAA,EAEpCD,CAAA,EAED,GAAGQ,EAEH,SAAAF,GAAYsC,CAAA,CAAA,CAGnB,EAEAD,EAAkB,YAAc,oBCnBhC,MAAME,EAAkB9C,EAExB8C,EAAgB,MAAQ9B,EACxB8B,EAAgB,OAASlB,EACzBkB,EAAgB,YAAcL,EAC9BK,EAAgB,KAAOH,EACvBG,EAAgB,YAAcF"}
1
+ {"version":3,"file":"index.js","sources":["../../src/avatar/context.ts","../../src/avatar/Avatar.tsx","../../src/avatar/AvatarImage.tsx","../../src/avatar/AvatarAction.tsx","../../src/avatar/AvatarOnlineBadge.tsx","../../src/avatar/AvatarUser.tsx","../../src/avatar/AvatarPlaceholder.tsx","../../src/avatar/index.ts"],"sourcesContent":["import * as React from 'react'\nimport type { AvatarContextValue } from './types'\n\nconst AvatarContext = React.createContext<AvatarContextValue | undefined>(undefined)\n\nexport const useAvatarContext = () => {\n const context = React.useContext(AvatarContext)\n if (!context) {\n throw new Error('useAvatarContext must be used within an Avatar component')\n }\n return context\n}\n\nexport { AvatarContext }\n","import { cx } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { Slot } from '../slot'\nimport { AvatarContext } from './context'\nimport type { AvatarProps } from './types'\n\nconst sizeMap = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64, // default\n '2xl': 96,\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n className,\n size = 'xl',\n isOnline = false,\n onlineText,\n username,\n asChild,\n children,\n shape = 'circle',\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'div'\n const contextValue = React.useMemo(\n () => ({\n size,\n isOnline,\n onlineText,\n username,\n shape,\n pixelSize: sizeMap[size],\n }),\n [size, isOnline, username, shape, onlineText]\n )\n\n return (\n <AvatarContext.Provider value={contextValue}>\n <Comp\n ref={ref}\n style={{\n width: sizeMap[size],\n height: sizeMap[size],\n }}\n data-spark-component=\"avatar\"\n className={cx('relative inline-flex items-center justify-center', className)}\n {...props}\n >\n {children}\n </Comp>\n </AvatarContext.Provider>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n","import { cx } from 'class-variance-authority'\nimport { useEffect, useState } from 'react'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n asChild?: boolean\n}\n\nexport const AvatarImage = ({\n className,\n asChild,\n src,\n onLoad,\n onError,\n ...props\n}: AvatarImageProps) => {\n const { username, isOnline, onlineText } = useAvatarContext()\n const Comp = asChild ? Slot : 'img'\n\n const [isVisible, setIsVisible] = useState(false)\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n // Reset visibility when src changes\n useEffect(() => {\n setIsVisible(false)\n }, [src])\n\n // Don't render the image if src is undefined or null\n if (!src) {\n return null\n }\n\n const handleLoad = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(true)\n onLoad?.(event)\n }\n\n const handleError = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(false)\n onError?.(event)\n }\n\n return (\n <Comp\n aria-hidden\n className={cx(\n 'absolute inset-0 size-full',\n 'object-cover',\n { 'transition-all duration-300 group-hover:scale-120': props.onClick },\n 'focus-visible:u-outline',\n isVisible ? 'block' : 'hidden',\n className\n )}\n alt={accessibleName}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...props}\n />\n )\n}\n\nAvatarImage.displayName = 'AvatarImage'\n","import { PenOutline } from '@spark-ui/icons/PenOutline'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n angle?: number\n ariaLabel: string\n}\n\nexport const AvatarAction = ({\n className,\n children,\n asChild,\n angle = 135,\n ariaLabel,\n ...props\n}: AvatarActionProps) => {\n const Comp = asChild ? Slot : IconButton\n const { pixelSize, shape } = useAvatarContext()\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const position = getBadgePosition(pixelSize)\n\n const isCustomElement = asChild\n\n return (\n <Comp\n data-spark-component=\"avatar-action\"\n style={{\n position: 'absolute',\n ...(shape === 'circle' ? { left: `${position.x}px`, top: `${position.y}px` } : {}),\n ...(shape === 'square' ? { right: '0px', bottom: '0px' } : {}),\n }}\n className={cx(\n 'z-raised',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n { 'shadow-sm': !isCustomElement },\n className\n )}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(!isCustomElement ? { size: 'sm', intent: 'support', design: 'contrast' } : {})}\n {...props}\n >\n {children || (\n <Icon size=\"sm\">\n <PenOutline />\n </Icon>\n )}\n </Comp>\n )\n}\n\nAvatarAction.displayName = 'AvatarAction'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef } from 'react'\n\nimport { useAvatarContext } from './context'\n\ninterface AvatarOnlineBadgeProps extends ComponentPropsWithoutRef<'div'> {\n angle?: number\n}\n\nexport const AvatarOnlineBadge = ({ angle = 135, ...props }: AvatarOnlineBadgeProps) => {\n const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext()\n\n if (!isOnline) return null\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const badgePosition = getBadgePosition(pixelSize)\n\n return (\n <div\n data-spark-component=\"avatar-online-badge\"\n role=\"status\"\n aria-label={onlineText}\n style={{\n ...(shape === 'circle'\n ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` }\n : { right: '0px', bottom: '0px' }),\n }}\n className={cx(\n 'bg-success outline-surface absolute rounded-full',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n ['lg', 'xl', '2xl'].includes(size) ? cx('size-sz-12 outline-4') : cx('size-sz-8 outline-2')\n )}\n {...props}\n />\n )\n}\n\nAvatarOnlineBadge.displayName = 'AvatarOnlineBadge'\n","import { cx } from 'class-variance-authority'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n asChild?: boolean\n}\n\nexport const AvatarUser = ({ asChild, children, className, ...props }: AvatarImageProps) => {\n const { shape, isOnline, onlineText, username } = useAvatarContext()\n const Comp = asChild ? Slot : 'div'\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n return (\n <Comp\n {...(!asChild && { role: 'img' })}\n aria-label={accessibleName}\n title={accessibleName}\n className={cx(\n 'group default:border-outline relative size-full overflow-hidden',\n 'focus-visible:u-outline',\n {\n 'default:rounded-full': shape === 'circle',\n 'default:rounded-md': shape === 'square',\n 'hover:opacity-dim-1 cursor-pointer': asChild || props.onClick,\n },\n className\n )}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nAvatarUser.displayName = 'AvatarUser'\n","import { cx } from 'class-variance-authority'\n\nimport { useAvatarContext } from './context'\n\nexport interface AvatarPlaceholderProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n className?: string\n children?: React.ReactNode\n}\n\nexport const AvatarPlaceholder = ({ className, children, ...props }: AvatarPlaceholderProps) => {\n const { size, username } = useAvatarContext()\n\n const firstLetter = username?.charAt(0)\n\n return (\n <div\n aria-hidden\n className={cx(\n 'absolute inset-0 flex size-full items-center justify-center',\n 'default:bg-neutral default:text-on-neutral',\n {\n 'text-display-1': size === '2xl',\n 'text-display-2': ['xl', 'lg'].includes(size),\n 'text-display-3': size === 'md',\n 'text-headline-2': size === 'sm',\n 'text-body-2 font-bold': size === 'xs',\n },\n className\n )}\n {...props}\n >\n {children || firstLetter}\n </div>\n )\n}\n\nAvatarPlaceholder.displayName = 'AvatarPlaceholder'\n","import { Avatar } from './Avatar'\nimport { AvatarImage } from './AvatarImage'\nimport { AvatarAction } from './AvatarAction'\nimport { AvatarOnlineBadge } from './AvatarOnlineBadge'\nimport { AvatarUser } from './AvatarUser'\nimport { AvatarPlaceholder } from './AvatarPlaceholder'\nimport type { AvatarProps } from './types'\n\nexport interface AvatarComponent\n extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {\n Image: typeof AvatarImage\n Action: typeof AvatarAction\n OnlineBadge: typeof AvatarOnlineBadge\n User: typeof AvatarUser\n Placeholder: typeof AvatarPlaceholder\n}\n\nconst AvatarComponent = Avatar as AvatarComponent\n\nAvatarComponent.Image = AvatarImage\nAvatarComponent.Action = AvatarAction\nAvatarComponent.OnlineBadge = AvatarOnlineBadge\nAvatarComponent.User = AvatarUser\nAvatarComponent.Placeholder = AvatarPlaceholder\nexport { AvatarComponent as Avatar }\n"],"names":["AvatarContext","React","useAvatarContext","context","sizeMap","Avatar","className","size","isOnline","onlineText","username","asChild","children","shape","props","ref","Comp","Slot","contextValue","jsx","cx","AvatarImage","src","onLoad","onError","isVisible","setIsVisible","useState","accessibleName","useEffect","handleLoad","event","handleError","AvatarAction","angle","ariaLabel","IconButton","pixelSize","getBadgePosition","circleSize","angleRad","circleRadius","position","isCustomElement","Icon","PenOutline","AvatarOnlineBadge","badgePosition","AvatarUser","AvatarPlaceholder","firstLetter","AvatarComponent"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import { a as p } from "../index-BmAFn37q.mjs";
2
+ import { cx as p } from "class-variance-authority";
3
3
  import * as g from "react";
4
4
  import { useState as k, useEffect as B } from "react";
5
- import { a as b } from "../Slot-C98rL4yy.mjs";
5
+ import { a as b } from "../Slot-D2Bbf8Gw.mjs";
6
6
  import { PenOutline as O } from "@spark-ui/icons/PenOutline";
7
- import { I as R } from "../Icon-D1RueiPY.mjs";
8
- import { I as E } from "../IconButton-BY3gYXtU.mjs";
7
+ import { I as R } from "../Icon-Ck-dhfLd.mjs";
8
+ import { I as E } from "../IconButton-C62-axzv.mjs";
9
9
  const z = g.createContext(void 0), f = () => {
10
10
  const t = g.useContext(z);
11
11
  if (!t)
@@ -0,0 +1 @@
1
+ export * from './Badge';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("@spark-ui/internal-utils"),x=require("../index-DnaHaH_0.js"),f=x.cva(["inline-flex h-fit","empty:p-0","text-center font-bold","rounded-full box-content"],{variants:{intent:c.makeVariants({main:["bg-main","text-on-main","border-surface"],support:["bg-support","text-on-support","border-surface"],accent:["bg-accent","text-on-accent","border-surface"],success:["bg-success","text-on-success","border-surface"],alert:["bg-alert","text-on-alert","border-surface"],danger:["bg-error","text-on-error","border-surface"],info:["bg-info","text-on-info","border-surface"],neutral:["bg-neutral","text-on-neutral","border-surface"],surface:["bg-surface","text-on-surface","border-surface"],basic:["bg-basic","text-on-basic","border-surface"]}),size:c.makeVariants({sm:["text-small","px-[var(--spacing-sz-6)] py-[var(--spacing-sz-2)]","empty:size-sz-8"],md:["text-caption","px-md py-sm","empty:size-sz-16"]}),type:{relative:["absolute right-0 border-md","translate-x-1/2 -translate-y-1/2"],standalone:[]}},defaultVariants:{intent:"danger",size:"md",type:"relative"}}),i=({intent:e="danger",size:t="md",type:o="relative",count:a,overflowCount:s=99,"aria-label":n,className:l,...u})=>{const b=a&&a>s,p=typeof n=="function"?n({count:a,overflowCount:s}):n,m={...u,"aria-label":p};return r.jsx("span",{"data-spark-component":"badge",role:"status",className:f({intent:e,size:t,type:o,className:l}),...m,children:b?`${s}+`:a})};i.displayName="BadgeItem";const d=({children:e,...t})=>!e?r.jsx(i,{type:"standalone",...t}):r.jsxs("div",{className:"relative inline-flex",children:[e,r.jsx(i,{...t})]});d.displayName="Badge";exports.Badge=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),c=require("@spark-ui/internal-utils"),f=require("class-variance-authority"),g=f.cva(["inline-flex h-fit","empty:p-0","text-center font-bold","rounded-full box-content"],{variants:{intent:c.makeVariants({main:["bg-main","text-on-main","border-surface"],support:["bg-support","text-on-support","border-surface"],accent:["bg-accent","text-on-accent","border-surface"],success:["bg-success","text-on-success","border-surface"],alert:["bg-alert","text-on-alert","border-surface"],danger:["bg-error","text-on-error","border-surface"],info:["bg-info","text-on-info","border-surface"],neutral:["bg-neutral","text-on-neutral","border-surface"],surface:["bg-surface","text-on-surface","border-surface"],basic:["bg-basic","text-on-basic","border-surface"]}),size:c.makeVariants({sm:["text-small","px-[var(--spacing-sz-6)] py-[var(--spacing-sz-2)]","empty:size-sz-8"],md:["text-caption","px-md py-sm","empty:size-sz-16"]}),type:{relative:["absolute right-0 border-md","translate-x-1/2 -translate-y-1/2"],standalone:[]}},defaultVariants:{intent:"danger",size:"md",type:"relative"}}),i=({intent:e="danger",size:t="md",type:o="relative",count:a,overflowCount:s=99,"aria-label":n,className:l,...u})=>{const b=a&&a>s,p=typeof n=="function"?n({count:a,overflowCount:s}):n,m={...u,"aria-label":p};return r.jsx("span",{"data-spark-component":"badge",role:"status",className:g({intent:e,size:t,type:o,className:l}),...m,children:b?`${s}+`:a})};i.displayName="BadgeItem";const d=({children:e,...t})=>!e?r.jsx(i,{type:"standalone",...t}):r.jsxs("div",{className:"relative inline-flex",children:[e,r.jsx(i,{...t})]});d.displayName="Badge";exports.Badge=d;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/badge/BadgeItem.styles.tsx","../../src/badge/BadgeItem.tsx","../../src/badge/Badge.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const styles = cva(\n ['inline-flex h-fit', 'empty:p-0', 'text-center font-bold', 'rounded-full box-content'],\n {\n variants: {\n /**\n * Visual color appearance of the component.\n * @default 'danger'\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'basic',\n ]\n >({\n main: ['bg-main', 'text-on-main', 'border-surface'],\n support: ['bg-support', 'text-on-support', 'border-surface'],\n accent: ['bg-accent', 'text-on-accent', 'border-surface'],\n success: ['bg-success', 'text-on-success', 'border-surface'],\n alert: ['bg-alert', 'text-on-alert', 'border-surface'],\n danger: ['bg-error', 'text-on-error', 'border-surface'],\n info: ['bg-info', 'text-on-info', 'border-surface'],\n neutral: ['bg-neutral', 'text-on-neutral', 'border-surface'],\n surface: ['bg-surface', 'text-on-surface', 'border-surface'],\n basic: ['bg-basic', 'text-on-basic', 'border-surface'],\n }),\n /**\n * Size of the component.\n * @default 'md'\n */\n size: makeVariants<'size', ['sm', 'md']>({\n sm: ['text-small', 'px-[var(--spacing-sz-6)] py-[var(--spacing-sz-2)]', 'empty:size-sz-8'],\n md: ['text-caption', 'px-md py-sm', 'empty:size-sz-16'],\n }),\n /**\n * Type of the component.\n * @default 'relative'\n */\n type: {\n relative: ['absolute right-0 border-md', 'translate-x-1/2 -translate-y-1/2'],\n standalone: [],\n },\n },\n defaultVariants: {\n intent: 'danger',\n size: 'md',\n type: 'relative',\n },\n }\n)\n\nexport type StylesProps = VariantProps<typeof styles>\n","import { HTMLAttributes, Ref } from 'react'\n\nimport { styles, type StylesProps } from './BadgeItem.styles'\n\nexport interface BadgeItemProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, 'aria-label'>,\n StylesProps {\n /**\n * Numeric value used as indicator inside the component.\n */\n count?: number\n /**\n * Maximum numeric value to be dispayed as a count value.\n * @default 99\n */\n overflowCount?: number\n /**\n * A custom label for accessibility purposes. It can also be defined as a builder function\n * to handle dynamic inner data to create a custom label.\n */\n 'aria-label'?:\n | string\n | (({ count, overflowCount }: { count?: number; overflowCount?: number }) => string)\n /**\n * Describes the way the component is displayed: relative to another element or just standalone.\n * @default 'relative'\n */\n type?: 'relative' | 'standalone'\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const BadgeItem = ({\n intent = 'danger',\n size = 'md',\n type = 'relative',\n count,\n overflowCount = 99,\n 'aria-label': label,\n className,\n ...others\n}: BadgeItemProps) => {\n const hasOverflow = count && count > overflowCount\n const ariaLabel = typeof label === 'function' ? label({ count, overflowCount }) : label\n const props = { ...others, 'aria-label': ariaLabel }\n\n return (\n <span\n data-spark-component=\"badge\"\n role=\"status\"\n className={styles({\n intent,\n size,\n type,\n className,\n })}\n {...props}\n >\n {hasOverflow ? `${overflowCount}+` : count}\n </span>\n )\n}\n\nBadgeItem.displayName = 'BadgeItem'\n","import { PropsWithChildren, Ref } from 'react'\n\nimport { BadgeItem, BadgeItemProps } from './BadgeItem'\n\nexport type BadgeProps = PropsWithChildren<Omit<BadgeItemProps, 'type'>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Badge = ({ children, ...props }: BadgeProps) => {\n const isStandalone = !children\n\n return isStandalone ? (\n <BadgeItem type=\"standalone\" {...props} />\n ) : (\n <div className=\"relative inline-flex\">\n {children}\n <BadgeItem {...props} />\n </div>\n )\n}\n\nBadge.displayName = 'Badge'\n"],"names":["styles","cva","makeVariants","BadgeItem","intent","size","type","count","overflowCount","label","className","others","hasOverflow","ariaLabel","props","jsx","Badge","children","jsxs"],"mappings":"6LAGaA,EAASC,EAAAA,IACpB,CAAC,oBAAqB,YAAa,wBAAyB,0BAA0B,EACtF,CACE,SAAU,CAKR,OAAQC,EAAAA,aAcN,CACA,KAAM,CAAC,UAAW,eAAgB,gBAAgB,EAClD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,OAAQ,CAAC,YAAa,iBAAkB,gBAAgB,EACxD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,MAAO,CAAC,WAAY,gBAAiB,gBAAgB,EACrD,OAAQ,CAAC,WAAY,gBAAiB,gBAAgB,EACtD,KAAM,CAAC,UAAW,eAAgB,gBAAgB,EAClD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,MAAO,CAAC,WAAY,gBAAiB,gBAAgB,CAAA,CACtD,EAKD,KAAMA,EAAAA,aAAmC,CACvC,GAAI,CAAC,aAAc,oDAAqD,iBAAiB,EACzF,GAAI,CAAC,eAAgB,cAAe,kBAAkB,CAAA,CACvD,EAKD,KAAM,CACJ,SAAU,CAAC,6BAA8B,kCAAkC,EAC3E,WAAY,CAAA,CAAC,CACf,EAEF,gBAAiB,CACf,OAAQ,SACR,KAAM,KACN,KAAM,UAAA,CACR,CAEJ,EC7BaC,EAAY,CAAC,CACxB,OAAAC,EAAS,SACT,KAAAC,EAAO,KACP,KAAAC,EAAO,WACP,MAAAC,EACA,cAAAC,EAAgB,GAChB,aAAcC,EACd,UAAAC,EACA,GAAGC,CACL,IAAsB,CACpB,MAAMC,EAAcL,GAASA,EAAQC,EAC/BK,EAAY,OAAOJ,GAAU,WAAaA,EAAM,CAAE,MAAAF,EAAO,cAAAC,CAAA,CAAe,EAAIC,EAC5EK,EAAQ,CAAE,GAAGH,EAAQ,aAAcE,CAAA,EAEzC,OACEE,EAAAA,IAAC,OAAA,CACC,uBAAqB,QACrB,KAAK,SACL,UAAWf,EAAO,CAChB,OAAAI,EACA,KAAAC,EACA,KAAAC,EACA,UAAAI,CAAA,CACD,EACA,GAAGI,EAEH,SAAAF,EAAc,GAAGJ,CAAa,IAAMD,CAAA,CAAA,CAG3C,EAEAJ,EAAU,YAAc,YCtDjB,MAAMa,EAAQ,CAAC,CAAE,SAAAC,EAAU,GAAGH,KACd,CAACG,EAGpBF,EAAAA,IAACZ,EAAA,CAAU,KAAK,aAAc,GAAGW,CAAA,CAAO,EAExCI,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACZ,SAAA,CAAAD,EACDF,MAACZ,EAAA,CAAW,GAAGW,CAAA,CAAO,CAAA,EACxB,EAIJE,EAAM,YAAc"}
1
+ {"version":3,"file":"index.js","sources":["../../src/badge/BadgeItem.styles.tsx","../../src/badge/BadgeItem.tsx","../../src/badge/Badge.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const styles = cva(\n ['inline-flex h-fit', 'empty:p-0', 'text-center font-bold', 'rounded-full box-content'],\n {\n variants: {\n /**\n * Visual color appearance of the component.\n * @default 'danger'\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'basic',\n ]\n >({\n main: ['bg-main', 'text-on-main', 'border-surface'],\n support: ['bg-support', 'text-on-support', 'border-surface'],\n accent: ['bg-accent', 'text-on-accent', 'border-surface'],\n success: ['bg-success', 'text-on-success', 'border-surface'],\n alert: ['bg-alert', 'text-on-alert', 'border-surface'],\n danger: ['bg-error', 'text-on-error', 'border-surface'],\n info: ['bg-info', 'text-on-info', 'border-surface'],\n neutral: ['bg-neutral', 'text-on-neutral', 'border-surface'],\n surface: ['bg-surface', 'text-on-surface', 'border-surface'],\n basic: ['bg-basic', 'text-on-basic', 'border-surface'],\n }),\n /**\n * Size of the component.\n * @default 'md'\n */\n size: makeVariants<'size', ['sm', 'md']>({\n sm: ['text-small', 'px-[var(--spacing-sz-6)] py-[var(--spacing-sz-2)]', 'empty:size-sz-8'],\n md: ['text-caption', 'px-md py-sm', 'empty:size-sz-16'],\n }),\n /**\n * Type of the component.\n * @default 'relative'\n */\n type: {\n relative: ['absolute right-0 border-md', 'translate-x-1/2 -translate-y-1/2'],\n standalone: [],\n },\n },\n defaultVariants: {\n intent: 'danger',\n size: 'md',\n type: 'relative',\n },\n }\n)\n\nexport type StylesProps = VariantProps<typeof styles>\n","import { HTMLAttributes, Ref } from 'react'\n\nimport { styles, type StylesProps } from './BadgeItem.styles'\n\nexport interface BadgeItemProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, 'aria-label'>,\n StylesProps {\n /**\n * Numeric value used as indicator inside the component.\n */\n count?: number\n /**\n * Maximum numeric value to be dispayed as a count value.\n * @default 99\n */\n overflowCount?: number\n /**\n * A custom label for accessibility purposes. It can also be defined as a builder function\n * to handle dynamic inner data to create a custom label.\n */\n 'aria-label'?:\n | string\n | (({ count, overflowCount }: { count?: number; overflowCount?: number }) => string)\n /**\n * Describes the way the component is displayed: relative to another element or just standalone.\n * @default 'relative'\n */\n type?: 'relative' | 'standalone'\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const BadgeItem = ({\n intent = 'danger',\n size = 'md',\n type = 'relative',\n count,\n overflowCount = 99,\n 'aria-label': label,\n className,\n ...others\n}: BadgeItemProps) => {\n const hasOverflow = count && count > overflowCount\n const ariaLabel = typeof label === 'function' ? label({ count, overflowCount }) : label\n const props = { ...others, 'aria-label': ariaLabel }\n\n return (\n <span\n data-spark-component=\"badge\"\n role=\"status\"\n className={styles({\n intent,\n size,\n type,\n className,\n })}\n {...props}\n >\n {hasOverflow ? `${overflowCount}+` : count}\n </span>\n )\n}\n\nBadgeItem.displayName = 'BadgeItem'\n","import { PropsWithChildren, Ref } from 'react'\n\nimport { BadgeItem, BadgeItemProps } from './BadgeItem'\n\nexport type BadgeProps = PropsWithChildren<Omit<BadgeItemProps, 'type'>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Badge = ({ children, ...props }: BadgeProps) => {\n const isStandalone = !children\n\n return isStandalone ? (\n <BadgeItem type=\"standalone\" {...props} />\n ) : (\n <div className=\"relative inline-flex\">\n {children}\n <BadgeItem {...props} />\n </div>\n )\n}\n\nBadge.displayName = 'Badge'\n"],"names":["styles","cva","makeVariants","BadgeItem","intent","size","type","count","overflowCount","label","className","others","hasOverflow","ariaLabel","props","jsx","Badge","children","jsxs"],"mappings":"iMAGaA,EAASC,EAAAA,IACpB,CAAC,oBAAqB,YAAa,wBAAyB,0BAA0B,EACtF,CACE,SAAU,CAKR,OAAQC,EAAAA,aAcN,CACA,KAAM,CAAC,UAAW,eAAgB,gBAAgB,EAClD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,OAAQ,CAAC,YAAa,iBAAkB,gBAAgB,EACxD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,MAAO,CAAC,WAAY,gBAAiB,gBAAgB,EACrD,OAAQ,CAAC,WAAY,gBAAiB,gBAAgB,EACtD,KAAM,CAAC,UAAW,eAAgB,gBAAgB,EAClD,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,QAAS,CAAC,aAAc,kBAAmB,gBAAgB,EAC3D,MAAO,CAAC,WAAY,gBAAiB,gBAAgB,CAAA,CACtD,EAKD,KAAMA,EAAAA,aAAmC,CACvC,GAAI,CAAC,aAAc,oDAAqD,iBAAiB,EACzF,GAAI,CAAC,eAAgB,cAAe,kBAAkB,CAAA,CACvD,EAKD,KAAM,CACJ,SAAU,CAAC,6BAA8B,kCAAkC,EAC3E,WAAY,CAAA,CAAC,CACf,EAEF,gBAAiB,CACf,OAAQ,SACR,KAAM,KACN,KAAM,UAAA,CACR,CAEJ,EC7BaC,EAAY,CAAC,CACxB,OAAAC,EAAS,SACT,KAAAC,EAAO,KACP,KAAAC,EAAO,WACP,MAAAC,EACA,cAAAC,EAAgB,GAChB,aAAcC,EACd,UAAAC,EACA,GAAGC,CACL,IAAsB,CACpB,MAAMC,EAAcL,GAASA,EAAQC,EAC/BK,EAAY,OAAOJ,GAAU,WAAaA,EAAM,CAAE,MAAAF,EAAO,cAAAC,CAAA,CAAe,EAAIC,EAC5EK,EAAQ,CAAE,GAAGH,EAAQ,aAAcE,CAAA,EAEzC,OACEE,EAAAA,IAAC,OAAA,CACC,uBAAqB,QACrB,KAAK,SACL,UAAWf,EAAO,CAChB,OAAAI,EACA,KAAAC,EACA,KAAAC,EACA,UAAAI,CAAA,CACD,EACA,GAAGI,EAEH,SAAAF,EAAc,GAAGJ,CAAa,IAAMD,CAAA,CAAA,CAG3C,EAEAJ,EAAU,YAAc,YCtDjB,MAAMa,EAAQ,CAAC,CAAE,SAAAC,EAAU,GAAGH,KACd,CAACG,EAGpBF,EAAAA,IAACZ,EAAA,CAAU,KAAK,aAAc,GAAGW,CAAA,CAAO,EAExCI,EAAAA,KAAC,MAAA,CAAI,UAAU,uBACZ,SAAA,CAAAD,EACDF,MAACZ,EAAA,CAAW,GAAGW,CAAA,CAAO,CAAA,EACxB,EAIJE,EAAM,YAAc"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as n, jsxs as f } from "react/jsx-runtime";
2
- import { makeVariants as i } from "@spark-ui/internal-utils";
3
- import { c as u } from "../index-BmAFn37q.mjs";
2
+ import { makeVariants as c } from "@spark-ui/internal-utils";
3
+ import { cva as u } from "class-variance-authority";
4
4
  const x = u(
5
5
  ["inline-flex h-fit", "empty:p-0", "text-center font-bold", "rounded-full box-content"],
6
6
  {
@@ -9,7 +9,7 @@ const x = u(
9
9
  * Visual color appearance of the component.
10
10
  * @default 'danger'
11
11
  */
12
- intent: i({
12
+ intent: c({
13
13
  main: ["bg-main", "text-on-main", "border-surface"],
14
14
  support: ["bg-support", "text-on-support", "border-surface"],
15
15
  accent: ["bg-accent", "text-on-accent", "border-surface"],
@@ -25,7 +25,7 @@ const x = u(
25
25
  * Size of the component.
26
26
  * @default 'md'
27
27
  */
28
- size: i({
28
+ size: c({
29
29
  sm: ["text-small", "px-[var(--spacing-sz-6)] py-[var(--spacing-sz-2)]", "empty:size-sz-8"],
30
30
  md: ["text-caption", "px-md py-sm", "empty:size-sz-16"]
31
31
  }),
@@ -47,7 +47,7 @@ const x = u(
47
47
  ), o = ({
48
48
  intent: e = "danger",
49
49
  size: a = "md",
50
- type: c = "relative",
50
+ type: i = "relative",
51
51
  count: t,
52
52
  overflowCount: r = 99,
53
53
  "aria-label": s,
@@ -63,7 +63,7 @@ const x = u(
63
63
  className: x({
64
64
  intent: e,
65
65
  size: a,
66
- type: c,
66
+ type: i,
67
67
  className: d
68
68
  }),
69
69
  ...m,
@@ -0,0 +1,12 @@
1
+ import { Breadcrumb as Root } from './Breadcrumb';
2
+ import { CurrentPage } from './BreadcrumbCurrentPage';
3
+ import { Item } from './BreadcrumbItem';
4
+ import { Link } from './BreadcrumbLink';
5
+ import { Separator } from './BreadcrumbSeparator';
6
+ export declare const Breadcrumb: typeof Root & {
7
+ Item: typeof Item;
8
+ Link: typeof Link;
9
+ CurrentPage: typeof CurrentPage;
10
+ Separator: typeof Separator;
11
+ };
12
+ export type { BreadcrumbProps } from './Breadcrumb';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("../index-DnaHaH_0.js"),o=require("../Slot-ghrohQLA.js"),g=require("../TextLink-DD0VO37q.js"),k=require("@spark-ui/icons/ArrowVerticalRight"),y=require("../Icon-Bf0XrmiR.js"),p=({className:e,"aria-label":r,ref:t,...n})=>a.jsx("nav",{"data-spark-component":"breadcrumb",ref:t,"aria-label":r,className:s.cx("text-caption text-neutral",e),children:a.jsx("ol",{className:s.cx("gap-sm flex flex-wrap items-center break-words"),...n})});p.displayName="Breadcrumb.Breadcrumb";const l=({asChild:e=!1,className:r,children:t,...n})=>{const c=e?o.Slot:"span";return a.jsx(c,{"data-spark-component":"breadcrumb-current-page",role:"link","aria-disabled":!0,"aria-current":"page",className:s.cx("inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current",r),...n,children:t})};l.displayName="Breadcrumb.CurrentPage";const m=({className:e,...r})=>a.jsx("li",{"data-spark-component":"breadcrumb-item",className:s.cx("min-w-none gap-sm inline-flex items-center",e),...r});m.displayName="Breadcrumb.Item";const d=({asChild:e=!1,className:r,bold:t=!0,intent:n="current",underline:c=!0,href:i,ref:x,...N})=>{const B=e?o.Slot:g.TextLink;return a.jsx(B,{"data-spark-component":"breadcrumb-link",href:i,ref:x,className:s.cx("inline! overflow-hidden text-ellipsis whitespace-nowrap",r),bold:t,intent:n,underline:c,...N})};d.displayName="Breadcrumb.Link";const u=({asChild:e=!1,className:r,children:t,ref:n,...c})=>{const i=e?o.Slot:"li";return a.jsx(i,{role:"presentation","aria-hidden":!0,"data-spark-component":"breadcrumb-separator",ref:n,className:s.cx("gap-sm inline-flex items-center",r),...c,children:t??a.jsx(y.Icon,{children:a.jsx(k.ArrowVerticalRight,{})})})};u.displayName="Breadcrumb.Separator";const b=Object.assign(p,{Item:m,Link:d,CurrentPage:l,Separator:u});b.displayName="Breadcrumb";m.displayName="Breadcrumb.Item";d.displayName="Breadcrumb.Link";l.displayName="Breadcrumb.CurrentPage";u.displayName="Breadcrumb.Separator";exports.Breadcrumb=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("class-variance-authority"),o=require("../Slot-DQ8z2zsy.js"),g=require("../TextLink-C3xDLsbC.js"),k=require("@spark-ui/icons/ArrowVerticalRight"),y=require("../Icon-CF0W0LKr.js"),p=({className:e,"aria-label":r,ref:t,...n})=>a.jsx("nav",{"data-spark-component":"breadcrumb",ref:t,"aria-label":r,className:s.cx("text-caption text-neutral",e),children:a.jsx("ol",{className:s.cx("gap-sm flex flex-wrap items-center break-words"),...n})});p.displayName="Breadcrumb.Breadcrumb";const l=({asChild:e=!1,className:r,children:t,...n})=>{const c=e?o.Slot:"span";return a.jsx(c,{"data-spark-component":"breadcrumb-current-page",role:"link","aria-disabled":!0,"aria-current":"page",className:s.cx("inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current",r),...n,children:t})};l.displayName="Breadcrumb.CurrentPage";const m=({className:e,...r})=>a.jsx("li",{"data-spark-component":"breadcrumb-item",className:s.cx("min-w-none gap-sm inline-flex items-center",e),...r});m.displayName="Breadcrumb.Item";const d=({asChild:e=!1,className:r,bold:t=!0,intent:n="current",underline:c=!0,href:i,ref:x,...N})=>{const B=e?o.Slot:g.TextLink;return a.jsx(B,{"data-spark-component":"breadcrumb-link",href:i,ref:x,className:s.cx("inline! overflow-hidden text-ellipsis whitespace-nowrap",r),bold:t,intent:n,underline:c,...N})};d.displayName="Breadcrumb.Link";const u=({asChild:e=!1,className:r,children:t,ref:n,...c})=>{const i=e?o.Slot:"li";return a.jsx(i,{role:"presentation","aria-hidden":!0,"data-spark-component":"breadcrumb-separator",ref:n,className:s.cx("gap-sm inline-flex items-center",r),...c,children:t??a.jsx(y.Icon,{children:a.jsx(k.ArrowVerticalRight,{})})})};u.displayName="Breadcrumb.Separator";const b=Object.assign(p,{Item:m,Link:d,CurrentPage:l,Separator:u});b.displayName="Breadcrumb";m.displayName="Breadcrumb.Item";d.displayName="Breadcrumb.Link";l.displayName="Breadcrumb.CurrentPage";u.displayName="Breadcrumb.Separator";exports.Breadcrumb=b;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/breadcrumb/Breadcrumb.tsx","../../src/breadcrumb/BreadcrumbCurrentPage.tsx","../../src/breadcrumb/BreadcrumbItem.tsx","../../src/breadcrumb/BreadcrumbLink.tsx","../../src/breadcrumb/BreadcrumbSeparator.tsx","../../src/breadcrumb/index.ts"],"sourcesContent":["import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport interface BreadcrumbProps extends ComponentPropsWithoutRef<'nav'> {\n className?: string\n ['aria-label']: string\n ref?: Ref<HTMLElement>\n}\n\nexport const Breadcrumb = ({\n className,\n 'aria-label': ariaLabel,\n ref,\n ...rest\n}: BreadcrumbProps) => {\n return (\n <nav\n data-spark-component=\"breadcrumb\"\n ref={ref}\n aria-label={ariaLabel}\n className={cx('text-caption text-neutral', className)}\n >\n <ol className={cx('gap-sm flex flex-wrap items-center break-words')} {...rest} />\n </nav>\n )\n}\n\nBreadcrumb.displayName = 'Breadcrumb.Breadcrumb'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { TextLink } from '../text-link'\n\nexport interface CurrentPageProps extends ComponentPropsWithoutRef<typeof TextLink> {\n asChild?: boolean\n className?: string\n ref?: Ref<HTMLAnchorElement>\n}\n\nexport const CurrentPage = ({\n asChild = false,\n className,\n children,\n ...rest\n}: CurrentPageProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n data-spark-component=\"breadcrumb-current-page\"\n role=\"link\"\n aria-disabled\n aria-current=\"page\"\n className={cx(\n 'inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current',\n className\n )}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\nCurrentPage.displayName = 'Breadcrumb.CurrentPage'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport interface ItemProps extends ComponentPropsWithoutRef<'li'> {\n className?: string\n ref?: Ref<HTMLLIElement>\n}\n\nexport const Item = ({ className, ...rest }: ItemProps) => {\n return (\n <li\n data-spark-component=\"breadcrumb-item\"\n className={cx('min-w-none gap-sm inline-flex items-center', className)}\n {...rest}\n />\n )\n}\n\nItem.displayName = 'Breadcrumb.Item'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { TextLink } from '../text-link'\n\nexport interface LinkProps extends ComponentPropsWithoutRef<typeof TextLink> {\n asChild?: boolean\n className?: string\n href?: string\n ref?: Ref<HTMLAnchorElement>\n}\n\nexport const Link = ({\n asChild = false,\n className,\n bold = true,\n intent = 'current',\n underline = true,\n href,\n ref,\n ...rest\n}: LinkProps) => {\n const Component = asChild ? Slot : TextLink\n\n return (\n <Component\n data-spark-component=\"breadcrumb-link\"\n href={href}\n ref={ref}\n className={cx('inline! overflow-hidden text-ellipsis whitespace-nowrap', className)}\n bold={bold}\n intent={intent}\n underline={underline}\n {...rest}\n />\n )\n}\n\nLink.displayName = 'Breadcrumb.Link'\n","import { ArrowVerticalRight } from '@spark-ui/icons/ArrowVerticalRight'\nimport { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { Slot } from '../slot'\n\nexport interface SeparatorProps extends ComponentPropsWithoutRef<'li'> {\n asChild?: boolean\n className?: string\n ref?: Ref<HTMLLIElement>\n}\n\nexport const Separator = ({\n asChild = false,\n className,\n children,\n ref,\n ...rest\n}: SeparatorProps) => {\n const Component = asChild ? Slot : 'li'\n\n return (\n <Component\n role=\"presentation\"\n aria-hidden\n data-spark-component=\"breadcrumb-separator\"\n ref={ref}\n className={cx('gap-sm inline-flex items-center', className)}\n {...rest}\n >\n {children ?? (\n <Icon>\n <ArrowVerticalRight />\n </Icon>\n )}\n </Component>\n )\n}\n\nSeparator.displayName = 'Breadcrumb.Separator'\n","import { Breadcrumb as Root } from './Breadcrumb'\nimport { CurrentPage } from './BreadcrumbCurrentPage'\nimport { Item } from './BreadcrumbItem'\nimport { Link } from './BreadcrumbLink'\nimport { Separator } from './BreadcrumbSeparator'\n\nexport const Breadcrumb: typeof Root & {\n Item: typeof Item\n Link: typeof Link\n CurrentPage: typeof CurrentPage\n Separator: typeof Separator\n} = Object.assign(Root, {\n Item,\n Link,\n CurrentPage,\n Separator,\n})\n\nBreadcrumb.displayName = 'Breadcrumb'\nItem.displayName = 'Breadcrumb.Item'\nLink.displayName = 'Breadcrumb.Link'\nCurrentPage.displayName = 'Breadcrumb.CurrentPage'\nSeparator.displayName = 'Breadcrumb.Separator'\n\nexport type { BreadcrumbProps } from './Breadcrumb'\n"],"names":["Breadcrumb","className","ariaLabel","ref","rest","jsx","cx","CurrentPage","asChild","children","Component","Slot","Item","Link","bold","intent","underline","href","TextLink","Separator","Icon","ArrowVerticalRight","Root"],"mappings":"8SASaA,EAAa,CAAC,CACzB,UAAAC,EACA,aAAcC,EACd,IAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,IAAC,MAAA,CACC,uBAAqB,aACrB,IAAAF,EACA,aAAYD,EACZ,UAAWI,EAAAA,GAAG,4BAA6BL,CAAS,EAEpD,eAAC,KAAA,CAAG,UAAWK,EAAAA,GAAG,gDAAgD,EAAI,GAAGF,CAAA,CAAM,CAAA,CAAA,EAKrFJ,EAAW,YAAc,wBCflB,MAAMO,EAAc,CAAC,CAC1B,QAAAC,EAAU,GACV,UAAAP,EACA,SAAAQ,EACA,GAAGL,CACL,IAAwB,CACtB,MAAMM,EAAYF,EAAUG,EAAAA,KAAO,OAEnC,OACEN,EAAAA,IAACK,EAAA,CACC,uBAAqB,0BACrB,KAAK,OACL,gBAAa,GACb,eAAa,OACb,UAAWJ,EAAAA,GACT,iFACAL,CAAA,EAED,GAAGG,EAEH,SAAAK,CAAA,CAAA,CAGP,EAEAF,EAAY,YAAc,yBC7BnB,MAAMK,EAAO,CAAC,CAAE,UAAAX,EAAW,GAAGG,KAEjCC,EAAAA,IAAC,KAAA,CACC,uBAAqB,kBACrB,UAAWC,EAAAA,GAAG,6CAA8CL,CAAS,EACpE,GAAGG,CAAA,CAAA,EAKVQ,EAAK,YAAc,kBCLZ,MAAMC,EAAO,CAAC,CACnB,QAAAL,EAAU,GACV,UAAAP,EACA,KAAAa,EAAO,GACP,OAAAC,EAAS,UACT,UAAAC,EAAY,GACZ,KAAAC,EACA,IAAAd,EACA,GAAGC,CACL,IAAiB,CACf,MAAMM,EAAYF,EAAUG,EAAAA,KAAOO,EAAAA,SAEnC,OACEb,EAAAA,IAACK,EAAA,CACC,uBAAqB,kBACrB,KAAAO,EACA,IAAAd,EACA,UAAWG,EAAAA,GAAG,0DAA2DL,CAAS,EAClF,KAAAa,EACA,OAAAC,EACA,UAAAC,EACC,GAAGZ,CAAA,CAAA,CAGV,EAEAS,EAAK,YAAc,kBC1BZ,MAAMM,EAAY,CAAC,CACxB,QAAAX,EAAU,GACV,UAAAP,EACA,SAAAQ,EACA,IAAAN,EACA,GAAGC,CACL,IAAsB,CACpB,MAAMM,EAAYF,EAAUG,EAAAA,KAAO,KAEnC,OACEN,EAAAA,IAACK,EAAA,CACC,KAAK,eACL,cAAW,GACX,uBAAqB,uBACrB,IAAAP,EACA,UAAWG,EAAAA,GAAG,kCAAmCL,CAAS,EACzD,GAAGG,EAEH,SAAAK,GACCJ,EAAAA,IAACe,EAAAA,KAAA,CACC,SAAAf,EAAAA,IAACgB,uBAAmB,CAAA,CACtB,CAAA,CAAA,CAIR,EAEAF,EAAU,YAAc,uBClCjB,MAAMnB,EAKT,OAAO,OAAOsB,EAAM,CACtB,KAAAV,EACA,KAAAC,EACA,YAAAN,EACA,UAAAY,CACF,CAAC,EAEDnB,EAAW,YAAc,aACzBY,EAAK,YAAc,kBACnBC,EAAK,YAAc,kBACnBN,EAAY,YAAc,yBAC1BY,EAAU,YAAc"}
1
+ {"version":3,"file":"index.js","sources":["../../src/breadcrumb/Breadcrumb.tsx","../../src/breadcrumb/BreadcrumbCurrentPage.tsx","../../src/breadcrumb/BreadcrumbItem.tsx","../../src/breadcrumb/BreadcrumbLink.tsx","../../src/breadcrumb/BreadcrumbSeparator.tsx","../../src/breadcrumb/index.ts"],"sourcesContent":["import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport interface BreadcrumbProps extends ComponentPropsWithoutRef<'nav'> {\n className?: string\n ['aria-label']: string\n ref?: Ref<HTMLElement>\n}\n\nexport const Breadcrumb = ({\n className,\n 'aria-label': ariaLabel,\n ref,\n ...rest\n}: BreadcrumbProps) => {\n return (\n <nav\n data-spark-component=\"breadcrumb\"\n ref={ref}\n aria-label={ariaLabel}\n className={cx('text-caption text-neutral', className)}\n >\n <ol className={cx('gap-sm flex flex-wrap items-center break-words')} {...rest} />\n </nav>\n )\n}\n\nBreadcrumb.displayName = 'Breadcrumb.Breadcrumb'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { TextLink } from '../text-link'\n\nexport interface CurrentPageProps extends ComponentPropsWithoutRef<typeof TextLink> {\n asChild?: boolean\n className?: string\n ref?: Ref<HTMLAnchorElement>\n}\n\nexport const CurrentPage = ({\n asChild = false,\n className,\n children,\n ...rest\n}: CurrentPageProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n data-spark-component=\"breadcrumb-current-page\"\n role=\"link\"\n aria-disabled\n aria-current=\"page\"\n className={cx(\n 'inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current',\n className\n )}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n\nCurrentPage.displayName = 'Breadcrumb.CurrentPage'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport interface ItemProps extends ComponentPropsWithoutRef<'li'> {\n className?: string\n ref?: Ref<HTMLLIElement>\n}\n\nexport const Item = ({ className, ...rest }: ItemProps) => {\n return (\n <li\n data-spark-component=\"breadcrumb-item\"\n className={cx('min-w-none gap-sm inline-flex items-center', className)}\n {...rest}\n />\n )\n}\n\nItem.displayName = 'Breadcrumb.Item'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { TextLink } from '../text-link'\n\nexport interface LinkProps extends ComponentPropsWithoutRef<typeof TextLink> {\n asChild?: boolean\n className?: string\n href?: string\n ref?: Ref<HTMLAnchorElement>\n}\n\nexport const Link = ({\n asChild = false,\n className,\n bold = true,\n intent = 'current',\n underline = true,\n href,\n ref,\n ...rest\n}: LinkProps) => {\n const Component = asChild ? Slot : TextLink\n\n return (\n <Component\n data-spark-component=\"breadcrumb-link\"\n href={href}\n ref={ref}\n className={cx('inline! overflow-hidden text-ellipsis whitespace-nowrap', className)}\n bold={bold}\n intent={intent}\n underline={underline}\n {...rest}\n />\n )\n}\n\nLink.displayName = 'Breadcrumb.Link'\n","import { ArrowVerticalRight } from '@spark-ui/icons/ArrowVerticalRight'\nimport { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { Slot } from '../slot'\n\nexport interface SeparatorProps extends ComponentPropsWithoutRef<'li'> {\n asChild?: boolean\n className?: string\n ref?: Ref<HTMLLIElement>\n}\n\nexport const Separator = ({\n asChild = false,\n className,\n children,\n ref,\n ...rest\n}: SeparatorProps) => {\n const Component = asChild ? Slot : 'li'\n\n return (\n <Component\n role=\"presentation\"\n aria-hidden\n data-spark-component=\"breadcrumb-separator\"\n ref={ref}\n className={cx('gap-sm inline-flex items-center', className)}\n {...rest}\n >\n {children ?? (\n <Icon>\n <ArrowVerticalRight />\n </Icon>\n )}\n </Component>\n )\n}\n\nSeparator.displayName = 'Breadcrumb.Separator'\n","import { Breadcrumb as Root } from './Breadcrumb'\nimport { CurrentPage } from './BreadcrumbCurrentPage'\nimport { Item } from './BreadcrumbItem'\nimport { Link } from './BreadcrumbLink'\nimport { Separator } from './BreadcrumbSeparator'\n\nexport const Breadcrumb: typeof Root & {\n Item: typeof Item\n Link: typeof Link\n CurrentPage: typeof CurrentPage\n Separator: typeof Separator\n} = Object.assign(Root, {\n Item,\n Link,\n CurrentPage,\n Separator,\n})\n\nBreadcrumb.displayName = 'Breadcrumb'\nItem.displayName = 'Breadcrumb.Item'\nLink.displayName = 'Breadcrumb.Link'\nCurrentPage.displayName = 'Breadcrumb.CurrentPage'\nSeparator.displayName = 'Breadcrumb.Separator'\n\nexport type { BreadcrumbProps } from './Breadcrumb'\n"],"names":["Breadcrumb","className","ariaLabel","ref","rest","jsx","cx","CurrentPage","asChild","children","Component","Slot","Item","Link","bold","intent","underline","href","TextLink","Separator","Icon","ArrowVerticalRight","Root"],"mappings":"kTASaA,EAAa,CAAC,CACzB,UAAAC,EACA,aAAcC,EACd,IAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,IAAC,MAAA,CACC,uBAAqB,aACrB,IAAAF,EACA,aAAYD,EACZ,UAAWI,EAAAA,GAAG,4BAA6BL,CAAS,EAEpD,eAAC,KAAA,CAAG,UAAWK,EAAAA,GAAG,gDAAgD,EAAI,GAAGF,CAAA,CAAM,CAAA,CAAA,EAKrFJ,EAAW,YAAc,wBCflB,MAAMO,EAAc,CAAC,CAC1B,QAAAC,EAAU,GACV,UAAAP,EACA,SAAAQ,EACA,GAAGL,CACL,IAAwB,CACtB,MAAMM,EAAYF,EAAUG,EAAAA,KAAO,OAEnC,OACEN,EAAAA,IAACK,EAAA,CACC,uBAAqB,0BACrB,KAAK,OACL,gBAAa,GACb,eAAa,OACb,UAAWJ,EAAAA,GACT,iFACAL,CAAA,EAED,GAAGG,EAEH,SAAAK,CAAA,CAAA,CAGP,EAEAF,EAAY,YAAc,yBC7BnB,MAAMK,EAAO,CAAC,CAAE,UAAAX,EAAW,GAAGG,KAEjCC,EAAAA,IAAC,KAAA,CACC,uBAAqB,kBACrB,UAAWC,EAAAA,GAAG,6CAA8CL,CAAS,EACpE,GAAGG,CAAA,CAAA,EAKVQ,EAAK,YAAc,kBCLZ,MAAMC,EAAO,CAAC,CACnB,QAAAL,EAAU,GACV,UAAAP,EACA,KAAAa,EAAO,GACP,OAAAC,EAAS,UACT,UAAAC,EAAY,GACZ,KAAAC,EACA,IAAAd,EACA,GAAGC,CACL,IAAiB,CACf,MAAMM,EAAYF,EAAUG,EAAAA,KAAOO,EAAAA,SAEnC,OACEb,EAAAA,IAACK,EAAA,CACC,uBAAqB,kBACrB,KAAAO,EACA,IAAAd,EACA,UAAWG,EAAAA,GAAG,0DAA2DL,CAAS,EAClF,KAAAa,EACA,OAAAC,EACA,UAAAC,EACC,GAAGZ,CAAA,CAAA,CAGV,EAEAS,EAAK,YAAc,kBC1BZ,MAAMM,EAAY,CAAC,CACxB,QAAAX,EAAU,GACV,UAAAP,EACA,SAAAQ,EACA,IAAAN,EACA,GAAGC,CACL,IAAsB,CACpB,MAAMM,EAAYF,EAAUG,EAAAA,KAAO,KAEnC,OACEN,EAAAA,IAACK,EAAA,CACC,KAAK,eACL,cAAW,GACX,uBAAqB,uBACrB,IAAAP,EACA,UAAWG,EAAAA,GAAG,kCAAmCL,CAAS,EACzD,GAAGG,EAEH,SAAAK,GACCJ,EAAAA,IAACe,EAAAA,KAAA,CACC,SAAAf,EAAAA,IAACgB,uBAAmB,CAAA,CACtB,CAAA,CAAA,CAIR,EAEAF,EAAU,YAAc,uBClCjB,MAAMnB,EAKT,OAAO,OAAOsB,EAAM,CACtB,KAAAV,EACA,KAAAC,EACA,YAAAN,EACA,UAAAY,CACF,CAAC,EAEDnB,EAAW,YAAc,aACzBY,EAAK,YAAc,kBACnBC,EAAK,YAAc,kBACnBN,EAAY,YAAc,yBAC1BY,EAAU,YAAc"}
@@ -1,31 +1,31 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { a as m } from "../index-BmAFn37q.mjs";
3
- import { a as s } from "../Slot-C98rL4yy.mjs";
4
- import { T as N } from "../TextLink-3MEVs3No.mjs";
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cx as m } from "class-variance-authority";
3
+ import { a as s } from "../Slot-D2Bbf8Gw.mjs";
4
+ import { T as N } from "../TextLink-BuzFRWO6.mjs";
5
5
  import { ArrowVerticalRight as x } from "@spark-ui/icons/ArrowVerticalRight";
6
- import { I as B } from "../Icon-D1RueiPY.mjs";
6
+ import { I as B } from "../Icon-Ck-dhfLd.mjs";
7
7
  const u = ({
8
8
  className: e,
9
- "aria-label": a,
9
+ "aria-label": r,
10
10
  ref: t,
11
11
  ...n
12
- }) => /* @__PURE__ */ r(
12
+ }) => /* @__PURE__ */ a(
13
13
  "nav",
14
14
  {
15
15
  "data-spark-component": "breadcrumb",
16
16
  ref: t,
17
- "aria-label": a,
17
+ "aria-label": r,
18
18
  className: m("text-caption text-neutral", e),
19
- children: /* @__PURE__ */ r("ol", { className: m("gap-sm flex flex-wrap items-center break-words"), ...n })
19
+ children: /* @__PURE__ */ a("ol", { className: m("gap-sm flex flex-wrap items-center break-words"), ...n })
20
20
  }
21
21
  );
22
22
  u.displayName = "Breadcrumb.Breadcrumb";
23
23
  const i = ({
24
24
  asChild: e = !1,
25
- className: a,
25
+ className: r,
26
26
  children: t,
27
27
  ...n
28
- }) => /* @__PURE__ */ r(
28
+ }) => /* @__PURE__ */ a(
29
29
  e ? s : "span",
30
30
  {
31
31
  "data-spark-component": "breadcrumb-current-page",
@@ -34,38 +34,38 @@ const i = ({
34
34
  "aria-current": "page",
35
35
  className: m(
36
36
  "inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current",
37
- a
37
+ r
38
38
  ),
39
39
  ...n,
40
40
  children: t
41
41
  }
42
42
  );
43
43
  i.displayName = "Breadcrumb.CurrentPage";
44
- const c = ({ className: e, ...a }) => /* @__PURE__ */ r(
44
+ const c = ({ className: e, ...r }) => /* @__PURE__ */ a(
45
45
  "li",
46
46
  {
47
47
  "data-spark-component": "breadcrumb-item",
48
48
  className: m("min-w-none gap-sm inline-flex items-center", e),
49
- ...a
49
+ ...r
50
50
  }
51
51
  );
52
52
  c.displayName = "Breadcrumb.Item";
53
53
  const l = ({
54
54
  asChild: e = !1,
55
- className: a,
55
+ className: r,
56
56
  bold: t = !0,
57
57
  intent: n = "current",
58
58
  underline: o = !0,
59
59
  href: d,
60
60
  ref: b,
61
61
  ...f
62
- }) => /* @__PURE__ */ r(
62
+ }) => /* @__PURE__ */ a(
63
63
  e ? s : N,
64
64
  {
65
65
  "data-spark-component": "breadcrumb-link",
66
66
  href: d,
67
67
  ref: b,
68
- className: m("inline! overflow-hidden text-ellipsis whitespace-nowrap", a),
68
+ className: m("inline! overflow-hidden text-ellipsis whitespace-nowrap", r),
69
69
  bold: t,
70
70
  intent: n,
71
71
  underline: o,
@@ -75,20 +75,20 @@ const l = ({
75
75
  l.displayName = "Breadcrumb.Link";
76
76
  const p = ({
77
77
  asChild: e = !1,
78
- className: a,
78
+ className: r,
79
79
  children: t,
80
80
  ref: n,
81
81
  ...o
82
- }) => /* @__PURE__ */ r(
82
+ }) => /* @__PURE__ */ a(
83
83
  e ? s : "li",
84
84
  {
85
85
  role: "presentation",
86
86
  "aria-hidden": !0,
87
87
  "data-spark-component": "breadcrumb-separator",
88
88
  ref: n,
89
- className: m("gap-sm inline-flex items-center", a),
89
+ className: m("gap-sm inline-flex items-center", r),
90
90
  ...o,
91
- children: t ?? /* @__PURE__ */ r(B, { children: /* @__PURE__ */ r(x, {}) })
91
+ children: t ?? /* @__PURE__ */ a(B, { children: /* @__PURE__ */ a(x, {}) })
92
92
  }
93
93
  );
94
94
  p.displayName = "Breadcrumb.Separator";
@@ -10,7 +10,7 @@ export interface ButtonProps extends Omit<ComponentPropsWithoutRef<'button'>, 'd
10
10
  */
11
11
  isLoading?: boolean;
12
12
  /**
13
- * If your loading state should only display a spinner, it's better to specify a label for it (a11y).
13
+ * If your loading state should only display a spinner, it is better to specify a label for it (a11y).
14
14
  */
15
15
  loadingLabel?: string;
16
16
  /**
@@ -0,0 +1 @@
1
+ export * from './Button';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../Button-C3xHNaGl.js");exports.Button=t.Button;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../Button-B6rA3-e5.js");exports.Button=t.Button;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { B as r } from "../Button-D32Avk2j.mjs";
1
+ import { B as r } from "../Button-C3C0aixy.mjs";
2
2
  export {
3
3
  r as Button
4
4
  };
@@ -0,0 +1,5 @@
1
+ export { filledVariants } from './filled';
2
+ export { ghostVariants } from './ghost';
3
+ export { outlinedVariants } from './outlined';
4
+ export { tintedVariants } from './tinted';
5
+ export { contrastVariants } from './contrast';
@@ -0,0 +1,8 @@
1
+ import { Backdrop } from './Backdrop';
2
+ import { Card as Root } from './Card';
3
+ import { Content } from './Content';
4
+ export declare const Card: typeof Root & {
5
+ Content: typeof Content;
6
+ Backdrop: typeof Backdrop;
7
+ };
8
+ export { type CardProps } from './Card';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),e=require("@spark-ui/internal-utils"),p=require("../index-DnaHaH_0.js"),h=require("../Slot-ghrohQLA.js"),u=require("react"),k=p.cva(["default:bg-surface default:bg-gradient-to-r absolute inset-x-0 top-0","h-sz-16","default:rounded-t-lg","bg-[length:200%_100%] bg-position-[0%_0%]"],{variants:{animation:{none:"",pulse:"animate-standalone-backdrop-pulse"},intent:e.makeVariants({main:["default:from-main/dim-4 default:via-main/dim-2 default:to-main/dim-4"],support:["default:from-support/dim-4 default:via-support/dim-2 default:to-support/dim-4"],accent:["default:from-accent/dim-4 default:via-accent/dim-2 default:to-accent/dim-4"],basic:["default:from-basic/dim-4 default:via-basic/dim-2 default:to-basic/dim-4"],success:["default:from-success/dim-4 default:via-success/dim-2 default:to-success/dim-4"],alert:["default:from-alert/dim-4 default:via-alert/dim-2 default:to-alert/dim-4"],danger:["default:from-error/dim-4 default:via-error/dim-2 default:to-error/dim-4"],info:["default:from-info/dim-4 default:via-info/dim-2 default:to-info/dim-4"],neutral:["default:from-neutral/dim-4 default:via-neutral/dim-2 default:to-neutral/dim-4"],surface:["default:from-outline/dim-4 default:via-outline/dim-2 default:to-outline/dim-4"],surfaceInverse:["default:from-surface/dim-4 default:via-surface/dim-2 default:to-surface/dim-4"]})},defaultVariants:{intent:"main",animation:"none"}}),f=({intent:n="main",animation:r="none",...o})=>g.jsx("div",{className:k({intent:n,animation:r}),...o});f.displayName="Card.Backdrop";const y=p.cva(["group relative bg-clip-padding default:rounded-lg focus-visible:u-outline","disabled:opacity-dim-3 disabled:cursor-not-allowed"],{variants:{design:{filled:[],outlined:["border-sm"],tinted:[]},hasBackdrop:{true:["pt-md"]},intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[],surfaceInverse:[]})},compoundVariants:[{intent:"main",design:"outlined",class:e.tw(["border-main"])},{intent:"support",design:"outlined",class:e.tw(["border-support"])},{intent:"accent",design:"outlined",class:e.tw(["border-accent"])},{intent:"basic",design:"outlined",class:e.tw(["border-basic"])},{intent:"success",design:"outlined",class:e.tw(["border-success"])},{intent:"alert",design:"outlined",class:e.tw(["border-alert"])},{intent:"danger",design:"outlined",class:e.tw(["border-error"])},{intent:"info",design:"outlined",class:e.tw(["border-info"])},{intent:"neutral",design:"outlined",class:e.tw(["border-neutral"])},{intent:"surface",design:"outlined",class:e.tw(["border-outline"])}],defaultVariants:{design:"filled",intent:"surface"}}),w=u.createContext(void 0),E=()=>{const n=u.useContext(w);if(!n)throw new Error("useCardContext must be used within a Card component");return n},m=["onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onDoubleClick","onContextMenu"],B=n=>{let r=!1;const o=s=>{r||u.Children.forEach(s,t=>{if(!r&&u.isValidElement(t)){if(typeof t.type=="function"&&t.type.displayName==="Card.Backdrop"){r=!0;return}if(t.props&&typeof t.props=="object"&&"children"in t.props){const a=t.props.children;a!=null&&o(a)}}})};return o(n),r},M=(n,r,o)=>{if(m.some(i=>i in o))return!0;if(!r)return!1;const t=u.Children.only(n);if(!u.isValidElement(t))return!1;const d=["a","button"];if(typeof t.type=="string"&&d.includes(t.type))return!0;const a=t.props;return m.some(i=>i in a)},x=({children:n,design:r="filled",intent:o="surface",inset:s=!1,asChild:t,className:d,ref:c,...a})=>{const l=t?h.Slot:"div",i=B(n),v=M(n,t,a);return g.jsx(w.Provider,{value:{design:r,intent:o,hasBackdrop:i,inset:s,isInteractive:v},children:g.jsx(l,{"data-spark-component":"card","data-interactive":v,ref:c,className:y({className:d,design:r,intent:o,hasBackdrop:i}),...a,children:n})})};x.displayName="Card";const N=p.cva(["relative h-full default:rounded-lg w-full focus-visible:u-outline","default:transition-colors default:duration-200 ease-linear"],{variants:{inset:{false:["default:p-lg"]},design:{filled:[],outlined:["default:bg-surface group-focus:bg-surface-hovered group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"],tinted:[]},hasBackdrop:{true:["rounded-t-[16px_8px] "]},intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[],surfaceInverse:[]})},compoundVariants:[{intent:"main",design:"filled",class:e.tw(["bg-main text-on-main group-focus:bg-main-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-hovered"])},{intent:"support",design:"filled",class:e.tw(["bg-support text-on-support group-focus:bg-support-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-hovered"])},{intent:"accent",design:"filled",class:e.tw(["bg-accent text-on-accent group-focus:bg-accent-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-hovered"])},{intent:"basic",design:"filled",class:e.tw(["bg-basic text-on-basic group-focus:bg-basic-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-basic-hovered"])},{intent:"success",design:"filled",class:e.tw(["bg-success text-on-success group-focus:bg-success-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-hovered"])},{intent:"alert",design:"filled",class:e.tw(["bg-alert text-on-alert group-focus:bg-alert-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-hovered"])},{intent:"danger",design:"filled",class:e.tw(["text-on-error bg-error group-focus:bg-error-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-hovered"])},{intent:"info",design:"filled",class:e.tw(["text-on-error bg-info group-focus:bg-info-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-hovered"])},{intent:"neutral",design:"filled",class:e.tw(["bg-neutral text-on-neutral group-focus:bg-neutral-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-hovered"])},{intent:"surface",design:"filled",class:e.tw(["bg-surface text-on-surface group-focus:bg-surface-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"])},{intent:"main",design:"tinted",class:e.tw(["bg-main-container text-on-main-container group-focus:bg-main-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-container-hovered"])},{intent:"support",design:"tinted",class:e.tw(["bg-support-container text-on-support-container group-focus:bg-support-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-container-hovered"])},{intent:"accent",design:"tinted",class:e.tw(["bg-accent-container text-on-accent-container group-focus:bg-accent-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-container-hovered"])},{intent:"basic",design:"tinted",class:e.tw(["bg-basic-container text-on-basic-container group-focus:bg-basic-container-hovered"])},{intent:"success",design:"tinted",class:e.tw(["bg-success-container text-on-success-container group-focus:bg-success-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-container-hovered"])},{intent:"alert",design:"tinted",class:e.tw(["bg-alert-container text-on-alert-container group-focus:bg-alert-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-container-hovered"])},{intent:"danger",design:"tinted",class:e.tw(["bg-error-container text-on-error-container group-focus:bg-error-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-container-hovered"])},{intent:"info",design:"tinted",class:e.tw(["bg-info-container text-on-info-container group-focus:bg-info-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-container-hovered"])},{intent:"neutral",design:"tinted",class:e.tw(["bg-neutral-container text-on-neutral-container group-focus:bg-neutral-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-container-hovered"])},{intent:"surface",design:"tinted",class:e.tw(["bg-surface text-on-surface group-focus:bg-surface-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"])}],defaultVariants:{design:"filled",intent:"surface",inset:!1,hasBackdrop:!0}}),b=({children:n,inset:r,asChild:o,className:s,ref:t,...d})=>{const c=o?h.Slot:"div",{design:a,intent:l,hasBackdrop:i}=E();return g.jsx(c,{"data-spark-component":"card-content",ref:t,className:N({className:s,design:a,intent:l,inset:r,hasBackdrop:i}),...d,children:n})};b.displayName="Content";const C=Object.assign(x,{Content:b,Backdrop:f});C.displayName="Card";b.displayName="Card.Content";f.displayName="Card.Backdrop";exports.Card=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),e=require("@spark-ui/internal-utils"),p=require("class-variance-authority"),h=require("../Slot-DQ8z2zsy.js"),u=require("react"),k=p.cva(["default:bg-surface default:bg-gradient-to-r absolute inset-x-0 top-0","h-sz-16","default:rounded-t-lg","bg-[length:200%_100%] bg-position-[0%_0%]"],{variants:{animation:{none:"",pulse:"animate-standalone-backdrop-pulse"},intent:e.makeVariants({main:["default:from-main/dim-4 default:via-main/dim-2 default:to-main/dim-4"],support:["default:from-support/dim-4 default:via-support/dim-2 default:to-support/dim-4"],accent:["default:from-accent/dim-4 default:via-accent/dim-2 default:to-accent/dim-4"],basic:["default:from-basic/dim-4 default:via-basic/dim-2 default:to-basic/dim-4"],success:["default:from-success/dim-4 default:via-success/dim-2 default:to-success/dim-4"],alert:["default:from-alert/dim-4 default:via-alert/dim-2 default:to-alert/dim-4"],danger:["default:from-error/dim-4 default:via-error/dim-2 default:to-error/dim-4"],info:["default:from-info/dim-4 default:via-info/dim-2 default:to-info/dim-4"],neutral:["default:from-neutral/dim-4 default:via-neutral/dim-2 default:to-neutral/dim-4"],surface:["default:from-outline/dim-4 default:via-outline/dim-2 default:to-outline/dim-4"],surfaceInverse:["default:from-surface/dim-4 default:via-surface/dim-2 default:to-surface/dim-4"]})},defaultVariants:{intent:"main",animation:"none"}}),f=({intent:n="main",animation:r="none",...o})=>g.jsx("div",{className:k({intent:n,animation:r}),...o});f.displayName="Card.Backdrop";const y=p.cva(["group relative bg-clip-padding default:rounded-lg focus-visible:u-outline","disabled:opacity-dim-3 disabled:cursor-not-allowed"],{variants:{design:{filled:[],outlined:["border-sm"],tinted:[]},hasBackdrop:{true:["pt-md"]},intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[],surfaceInverse:[]})},compoundVariants:[{intent:"main",design:"outlined",class:e.tw(["border-main"])},{intent:"support",design:"outlined",class:e.tw(["border-support"])},{intent:"accent",design:"outlined",class:e.tw(["border-accent"])},{intent:"basic",design:"outlined",class:e.tw(["border-basic"])},{intent:"success",design:"outlined",class:e.tw(["border-success"])},{intent:"alert",design:"outlined",class:e.tw(["border-alert"])},{intent:"danger",design:"outlined",class:e.tw(["border-error"])},{intent:"info",design:"outlined",class:e.tw(["border-info"])},{intent:"neutral",design:"outlined",class:e.tw(["border-neutral"])},{intent:"surface",design:"outlined",class:e.tw(["border-outline"])}],defaultVariants:{design:"filled",intent:"surface"}}),w=u.createContext(void 0),E=()=>{const n=u.useContext(w);if(!n)throw new Error("useCardContext must be used within a Card component");return n},m=["onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onDoubleClick","onContextMenu"],B=n=>{let r=!1;const o=s=>{r||u.Children.forEach(s,t=>{if(!r&&u.isValidElement(t)){if(typeof t.type=="function"&&t.type.displayName==="Card.Backdrop"){r=!0;return}if(t.props&&typeof t.props=="object"&&"children"in t.props){const a=t.props.children;a!=null&&o(a)}}})};return o(n),r},M=(n,r,o)=>{if(m.some(i=>i in o))return!0;if(!r)return!1;const t=u.Children.only(n);if(!u.isValidElement(t))return!1;const d=["a","button"];if(typeof t.type=="string"&&d.includes(t.type))return!0;const a=t.props;return m.some(i=>i in a)},x=({children:n,design:r="filled",intent:o="surface",inset:s=!1,asChild:t,className:d,ref:c,...a})=>{const l=t?h.Slot:"div",i=B(n),v=M(n,t,a);return g.jsx(w.Provider,{value:{design:r,intent:o,hasBackdrop:i,inset:s,isInteractive:v},children:g.jsx(l,{"data-spark-component":"card","data-interactive":v,ref:c,className:y({className:d,design:r,intent:o,hasBackdrop:i}),...a,children:n})})};x.displayName="Card";const V=p.cva(["relative h-full default:rounded-lg w-full focus-visible:u-outline","default:transition-colors default:duration-200 ease-linear"],{variants:{inset:{false:["default:p-lg"]},design:{filled:[],outlined:["default:bg-surface group-focus:bg-surface-hovered group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"],tinted:[]},hasBackdrop:{true:["rounded-t-[16px_8px] "]},intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[],surfaceInverse:[]})},compoundVariants:[{intent:"main",design:"filled",class:e.tw(["bg-main text-on-main group-focus:bg-main-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-hovered"])},{intent:"support",design:"filled",class:e.tw(["bg-support text-on-support group-focus:bg-support-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-hovered"])},{intent:"accent",design:"filled",class:e.tw(["bg-accent text-on-accent group-focus:bg-accent-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-hovered"])},{intent:"basic",design:"filled",class:e.tw(["bg-basic text-on-basic group-focus:bg-basic-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-basic-hovered"])},{intent:"success",design:"filled",class:e.tw(["bg-success text-on-success group-focus:bg-success-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-hovered"])},{intent:"alert",design:"filled",class:e.tw(["bg-alert text-on-alert group-focus:bg-alert-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-hovered"])},{intent:"danger",design:"filled",class:e.tw(["text-on-error bg-error group-focus:bg-error-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-hovered"])},{intent:"info",design:"filled",class:e.tw(["text-on-error bg-info group-focus:bg-info-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-hovered"])},{intent:"neutral",design:"filled",class:e.tw(["bg-neutral text-on-neutral group-focus:bg-neutral-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-hovered"])},{intent:"surface",design:"filled",class:e.tw(["bg-surface text-on-surface group-focus:bg-surface-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"])},{intent:"main",design:"tinted",class:e.tw(["bg-main-container text-on-main-container group-focus:bg-main-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-container-hovered"])},{intent:"support",design:"tinted",class:e.tw(["bg-support-container text-on-support-container group-focus:bg-support-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-container-hovered"])},{intent:"accent",design:"tinted",class:e.tw(["bg-accent-container text-on-accent-container group-focus:bg-accent-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-container-hovered"])},{intent:"basic",design:"tinted",class:e.tw(["bg-basic-container text-on-basic-container group-focus:bg-basic-container-hovered"])},{intent:"success",design:"tinted",class:e.tw(["bg-success-container text-on-success-container group-focus:bg-success-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-container-hovered"])},{intent:"alert",design:"tinted",class:e.tw(["bg-alert-container text-on-alert-container group-focus:bg-alert-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-container-hovered"])},{intent:"danger",design:"tinted",class:e.tw(["bg-error-container text-on-error-container group-focus:bg-error-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-container-hovered"])},{intent:"info",design:"tinted",class:e.tw(["bg-info-container text-on-info-container group-focus:bg-info-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-container-hovered"])},{intent:"neutral",design:"tinted",class:e.tw(["bg-neutral-container text-on-neutral-container group-focus:bg-neutral-container-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-container-hovered"])},{intent:"surface",design:"tinted",class:e.tw(["bg-surface text-on-surface group-focus:bg-surface-hovered","group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered"])}],defaultVariants:{design:"filled",intent:"surface",inset:!1,hasBackdrop:!0}}),b=({children:n,inset:r,asChild:o,className:s,ref:t,...d})=>{const c=o?h.Slot:"div",{design:a,intent:l,hasBackdrop:i}=E();return g.jsx(c,{"data-spark-component":"card-content",ref:t,className:V({className:s,design:a,intent:l,inset:r,hasBackdrop:i}),...d,children:n})};b.displayName="Content";const C=Object.assign(x,{Content:b,Backdrop:f});C.displayName="Card";b.displayName="Card.Content";f.displayName="Card.Backdrop";exports.Card=C;
2
2
  //# sourceMappingURL=index.js.map