@spark-ui/components 13.1.3 → 13.1.4

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 (826) hide show
  1. package/dist/Input-N8AWWSmt.d.mts +41 -0
  2. package/dist/Input-N8AWWSmt.d.ts +41 -0
  3. package/dist/InputTrailingIcon-BBp7sE6D.d.mts +20 -0
  4. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
  5. package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +19 -0
  6. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
  7. package/dist/accordion/index.d.mts +73 -0
  8. package/dist/accordion/index.d.ts +68 -10
  9. package/dist/accordion/index.js +325 -2
  10. package/dist/accordion/index.js.map +1 -1
  11. package/dist/accordion/index.mjs +154 -632
  12. package/dist/accordion/index.mjs.map +1 -1
  13. package/dist/alert-dialog/index.d.mts +159 -0
  14. package/dist/alert-dialog/index.d.ts +147 -26
  15. package/dist/alert-dialog/index.js +405 -35
  16. package/dist/alert-dialog/index.js.map +1 -1
  17. package/dist/alert-dialog/index.mjs +258 -2513
  18. package/dist/alert-dialog/index.mjs.map +1 -1
  19. package/dist/avatar/index.d.mts +66 -0
  20. package/dist/avatar/index.d.ts +59 -8
  21. package/dist/avatar/index.js +1323 -2
  22. package/dist/avatar/index.js.map +1 -1
  23. package/dist/avatar/index.mjs +207 -149
  24. package/dist/avatar/index.mjs.map +1 -1
  25. package/dist/badge/index.d.mts +47 -0
  26. package/dist/badge/index.d.ts +47 -1
  27. package/dist/badge/index.js +122 -2
  28. package/dist/badge/index.js.map +1 -1
  29. package/dist/badge/index.mjs +44 -32
  30. package/dist/badge/index.mjs.map +1 -1
  31. package/dist/breadcrumb/index.d.mts +64 -0
  32. package/dist/breadcrumb/index.d.ts +59 -7
  33. package/dist/breadcrumb/index.js +327 -2
  34. package/dist/breadcrumb/index.js.map +1 -1
  35. package/dist/breadcrumb/index.mjs +146 -106
  36. package/dist/breadcrumb/index.mjs.map +1 -1
  37. package/dist/button/index.d.mts +41 -0
  38. package/dist/button/index.d.ts +41 -1
  39. package/dist/button/index.js +935 -2
  40. package/dist/button/index.js.map +1 -1
  41. package/dist/button/index.mjs +8 -3
  42. package/dist/button/index.mjs.map +1 -1
  43. package/dist/card/index.d.mts +61 -0
  44. package/dist/card/index.d.ts +58 -5
  45. package/dist/card/index.js +502 -2
  46. package/dist/card/index.js.map +1 -1
  47. package/dist/card/index.mjs +178 -125
  48. package/dist/card/index.mjs.map +1 -1
  49. package/dist/carousel/{types.d.ts → index.d.mts} +112 -13
  50. package/dist/carousel/index.d.ts +263 -18
  51. package/dist/carousel/index.js +1882 -2
  52. package/dist/carousel/index.js.map +1 -1
  53. package/dist/carousel/index.mjs +650 -428
  54. package/dist/carousel/index.mjs.map +1 -1
  55. package/dist/checkbox/index.d.mts +120 -0
  56. package/dist/checkbox/index.d.ts +120 -2
  57. package/dist/checkbox/index.js +511 -2
  58. package/dist/checkbox/index.js.map +1 -1
  59. package/dist/checkbox/index.mjs +226 -371
  60. package/dist/checkbox/index.mjs.map +1 -1
  61. package/dist/chip/index.d.mts +97 -0
  62. package/dist/chip/index.d.ts +92 -10
  63. package/dist/chip/index.js +908 -2
  64. package/dist/chip/index.js.map +1 -1
  65. package/dist/chip/index.mjs +322 -390
  66. package/dist/chip/index.mjs.map +1 -1
  67. package/dist/{Button-D32Avk2j.mjs → chunk-2YM6GKWW.mjs} +173 -130
  68. package/dist/chunk-2YM6GKWW.mjs.map +1 -0
  69. package/dist/chunk-6QCEPQ3U.mjs +26 -0
  70. package/dist/chunk-6QCEPQ3U.mjs.map +1 -0
  71. package/dist/chunk-7EWSMIZU.mjs +214 -0
  72. package/dist/chunk-7EWSMIZU.mjs.map +1 -0
  73. package/dist/chunk-DCXWGQVZ.mjs +53 -0
  74. package/dist/chunk-DCXWGQVZ.mjs.map +1 -0
  75. package/dist/{Spinner-CYL5kyzM.mjs → chunk-GAK4SC2F.mjs} +40 -29
  76. package/dist/chunk-GAK4SC2F.mjs.map +1 -0
  77. package/dist/chunk-GPJMLIHC.mjs +308 -0
  78. package/dist/chunk-GPJMLIHC.mjs.map +1 -0
  79. package/dist/chunk-HLXYG643.mjs +52 -0
  80. package/dist/chunk-HLXYG643.mjs.map +1 -0
  81. package/dist/chunk-KEGAAGJW.mjs +36 -0
  82. package/dist/chunk-KEGAAGJW.mjs.map +1 -0
  83. package/dist/{TextLink-3MEVs3No.mjs → chunk-RKPP7ZOK.mjs} +36 -27
  84. package/dist/chunk-RKPP7ZOK.mjs.map +1 -0
  85. package/dist/chunk-UMUMFMFB.mjs +68 -0
  86. package/dist/chunk-UMUMFMFB.mjs.map +1 -0
  87. package/dist/chunk-VBX7BTNU.mjs +614 -0
  88. package/dist/chunk-VBX7BTNU.mjs.map +1 -0
  89. package/dist/{DialogContent.styles-WGWJS9dj.mjs → chunk-XZ47F6TP.mjs} +8 -6
  90. package/dist/chunk-XZ47F6TP.mjs.map +1 -0
  91. package/dist/collapsible/index.d.mts +43 -0
  92. package/dist/collapsible/index.d.ts +40 -4
  93. package/dist/collapsible/index.js +109 -2
  94. package/dist/collapsible/index.js.map +1 -1
  95. package/dist/collapsible/index.mjs +58 -214
  96. package/dist/collapsible/index.mjs.map +1 -1
  97. package/dist/combobox/index.d.mts +287 -0
  98. package/dist/combobox/index.d.ts +271 -19
  99. package/dist/combobox/index.js +2588 -2
  100. package/dist/combobox/index.js.map +1 -1
  101. package/dist/combobox/index.mjs +1017 -623
  102. package/dist/combobox/index.mjs.map +1 -1
  103. package/dist/dialog/index.d.mts +166 -0
  104. package/dist/dialog/index.d.ts +154 -25
  105. package/dist/dialog/index.js +1389 -2
  106. package/dist/dialog/index.js.map +1 -1
  107. package/dist/dialog/index.mjs +258 -163
  108. package/dist/dialog/index.mjs.map +1 -1
  109. package/dist/divider/index.d.mts +61 -0
  110. package/dist/divider/index.d.ts +59 -4
  111. package/dist/divider/index.js +224 -2
  112. package/dist/divider/index.js.map +1 -1
  113. package/dist/divider/index.mjs +100 -97
  114. package/dist/divider/index.mjs.map +1 -1
  115. package/dist/drawer/index.d.mts +152 -0
  116. package/dist/drawer/index.d.ts +141 -24
  117. package/dist/drawer/index.js +1400 -2
  118. package/dist/drawer/index.js.map +1 -1
  119. package/dist/drawer/index.mjs +230 -141
  120. package/dist/drawer/index.mjs.map +1 -1
  121. package/dist/dropdown/index.d.mts +233 -0
  122. package/dist/dropdown/index.d.ts +220 -16
  123. package/dist/dropdown/index.js +2051 -2
  124. package/dist/dropdown/index.js.map +1 -1
  125. package/dist/dropdown/index.mjs +584 -352
  126. package/dist/dropdown/index.mjs.map +1 -1
  127. package/dist/file-upload/index.d.mts +270 -0
  128. package/dist/file-upload/index.d.ts +262 -14
  129. package/dist/file-upload/index.js +2255 -2
  130. package/dist/file-upload/index.js.map +1 -1
  131. package/dist/file-upload/index.mjs +834 -506
  132. package/dist/file-upload/index.mjs.map +1 -1
  133. package/dist/form-field/index.d.mts +186 -0
  134. package/dist/form-field/index.d.ts +176 -21
  135. package/dist/form-field/index.js +553 -2
  136. package/dist/form-field/index.js.map +1 -1
  137. package/dist/form-field/index.mjs +349 -246
  138. package/dist/form-field/index.mjs.map +1 -1
  139. package/dist/icon/index.d.mts +28 -0
  140. package/dist/icon/index.d.ts +28 -1
  141. package/dist/icon/index.js +127 -2
  142. package/dist/icon/index.js.map +1 -1
  143. package/dist/icon/index.mjs +7 -3
  144. package/dist/icon/index.mjs.map +1 -1
  145. package/dist/icon-button/index.d.mts +16 -0
  146. package/dist/icon-button/index.d.ts +16 -1
  147. package/dist/icon-button/index.js +980 -2
  148. package/dist/icon-button/index.js.map +1 -1
  149. package/dist/icon-button/index.mjs +9 -3
  150. package/dist/icon-button/index.mjs.map +1 -1
  151. package/dist/index-Cno_GFuW.d.mts +93 -0
  152. package/dist/index-Cno_GFuW.d.ts +93 -0
  153. package/dist/input/index.d.mts +78 -0
  154. package/dist/input/index.d.ts +72 -15
  155. package/dist/input/index.js +724 -2
  156. package/dist/input/index.js.map +1 -1
  157. package/dist/input/index.mjs +12 -453
  158. package/dist/input/index.mjs.map +1 -1
  159. package/dist/input-otp/{InputOTP.d.ts → index.d.mts} +50 -3
  160. package/dist/input-otp/index.d.ts +128 -10
  161. package/dist/input-otp/index.js +668 -2
  162. package/dist/input-otp/index.js.map +1 -1
  163. package/dist/input-otp/index.mjs +463 -294
  164. package/dist/input-otp/index.mjs.map +1 -1
  165. package/dist/kbd/index.d.mts +9 -0
  166. package/dist/kbd/index.d.ts +9 -1
  167. package/dist/kbd/index.js +47 -2
  168. package/dist/kbd/index.js.map +1 -1
  169. package/dist/kbd/index.mjs +18 -15
  170. package/dist/kbd/index.mjs.map +1 -1
  171. package/dist/label/index.d.mts +11 -0
  172. package/dist/label/index.d.ts +9 -5
  173. package/dist/label/index.js +78 -2
  174. package/dist/label/index.js.map +1 -1
  175. package/dist/label/index.mjs +5 -3
  176. package/dist/label/index.mjs.map +1 -1
  177. package/dist/link-box/index.d.mts +34 -0
  178. package/dist/link-box/index.d.ts +31 -6
  179. package/dist/link-box/index.js +92 -2
  180. package/dist/link-box/index.js.map +1 -1
  181. package/dist/link-box/index.mjs +56 -34
  182. package/dist/link-box/index.mjs.map +1 -1
  183. package/dist/pagination/index.d.mts +143 -0
  184. package/dist/pagination/index.d.ts +135 -10
  185. package/dist/pagination/index.js +1353 -2
  186. package/dist/pagination/index.js.map +1 -1
  187. package/dist/pagination/index.mjs +268 -833
  188. package/dist/pagination/index.mjs.map +1 -1
  189. package/dist/popover/index.d.mts +6 -0
  190. package/dist/popover/index.d.ts +6 -17
  191. package/dist/popover/index.js +1339 -2
  192. package/dist/popover/index.js.map +1 -1
  193. package/dist/popover/index.mjs +11 -1868
  194. package/dist/popover/index.mjs.map +1 -1
  195. package/dist/portal/{Portal.d.ts → index.d.mts} +5 -2
  196. package/dist/portal/index.d.ts +13 -1
  197. package/dist/portal/index.js +37 -2
  198. package/dist/portal/index.js.map +1 -1
  199. package/dist/portal/index.mjs +8 -5
  200. package/dist/portal/index.mjs.map +1 -1
  201. package/dist/progress/index.d.mts +52 -0
  202. package/dist/progress/index.d.ts +48 -9
  203. package/dist/progress/index.js +239 -6
  204. package/dist/progress/index.js.map +1 -1
  205. package/dist/progress/index.mjs +5 -241
  206. package/dist/progress/index.mjs.map +1 -1
  207. package/dist/progress-tracker/index.d.mts +80 -0
  208. package/dist/progress-tracker/index.d.ts +80 -10
  209. package/dist/progress-tracker/index.js +571 -2
  210. package/dist/progress-tracker/index.js.map +1 -1
  211. package/dist/progress-tracker/index.mjs +183 -115
  212. package/dist/progress-tracker/index.mjs.map +1 -1
  213. package/dist/radio-group/index.d.mts +100 -0
  214. package/dist/radio-group/index.d.ts +98 -5
  215. package/dist/radio-group/index.js +318 -2
  216. package/dist/radio-group/index.js.map +1 -1
  217. package/dist/radio-group/index.mjs +174 -332
  218. package/dist/radio-group/index.mjs.map +1 -1
  219. package/dist/rating/index.d.mts +78 -0
  220. package/dist/rating/index.d.ts +78 -1
  221. package/dist/rating/index.js +363 -2
  222. package/dist/rating/index.js.map +1 -1
  223. package/dist/rating/index.mjs +170 -125
  224. package/dist/rating/index.mjs.map +1 -1
  225. package/dist/scrolling-list/index.d.mts +118 -0
  226. package/dist/scrolling-list/index.d.ts +117 -14
  227. package/dist/scrolling-list/index.js +1428 -2
  228. package/dist/scrolling-list/index.js.map +1 -1
  229. package/dist/scrolling-list/index.mjs +325 -358
  230. package/dist/scrolling-list/index.mjs.map +1 -1
  231. package/dist/segmented-gauge/{SegmentedGauge.d.ts → index.d.mts} +43 -4
  232. package/dist/segmented-gauge/index.d.ts +101 -9
  233. package/dist/segmented-gauge/index.js +274 -2
  234. package/dist/segmented-gauge/index.js.map +1 -1
  235. package/dist/segmented-gauge/index.mjs +178 -132
  236. package/dist/segmented-gauge/index.mjs.map +1 -1
  237. package/dist/select/index.d.mts +167 -0
  238. package/dist/select/index.d.ts +158 -12
  239. package/dist/select/index.js +581 -2
  240. package/dist/select/index.js.map +1 -1
  241. package/dist/select/index.mjs +339 -207
  242. package/dist/select/index.mjs.map +1 -1
  243. package/dist/skeleton/index.d.mts +67 -0
  244. package/dist/skeleton/index.d.ts +67 -8
  245. package/dist/skeleton/index.js +206 -2
  246. package/dist/skeleton/index.js.map +1 -1
  247. package/dist/skeleton/index.mjs +96 -64
  248. package/dist/skeleton/index.mjs.map +1 -1
  249. package/dist/slider/index.d.mts +97 -0
  250. package/dist/slider/index.d.ts +97 -8
  251. package/dist/slider/index.js +220 -2
  252. package/dist/slider/index.js.map +1 -1
  253. package/dist/slider/index.mjs +107 -490
  254. package/dist/slider/index.mjs.map +1 -1
  255. package/dist/slot/index.d.mts +16 -0
  256. package/dist/slot/index.d.ts +16 -1
  257. package/dist/slot/index.js +51 -2
  258. package/dist/slot/index.js.map +1 -1
  259. package/dist/slot/index.mjs +9 -5
  260. package/dist/slot/index.mjs.map +1 -1
  261. package/dist/snackbar/index.d.mts +158 -0
  262. package/dist/snackbar/index.d.ts +158 -13
  263. package/dist/snackbar/index.js +1756 -2
  264. package/dist/snackbar/index.js.map +1 -1
  265. package/dist/snackbar/index.mjs +429 -1153
  266. package/dist/snackbar/index.mjs.map +1 -1
  267. package/dist/spinner/index.d.mts +21 -0
  268. package/dist/spinner/index.d.ts +21 -1
  269. package/dist/spinner/index.js +139 -2
  270. package/dist/spinner/index.js.map +1 -1
  271. package/dist/spinner/index.mjs +7 -3
  272. package/dist/spinner/index.mjs.map +1 -1
  273. package/dist/stepper/index.d.mts +81 -0
  274. package/dist/stepper/index.d.ts +81 -9
  275. package/dist/stepper/index.js +1847 -8
  276. package/dist/stepper/index.js.map +1 -1
  277. package/dist/stepper/index.mjs +197 -2325
  278. package/dist/stepper/index.mjs.map +1 -1
  279. package/dist/switch/{SwitchInput.d.ts → index.d.mts} +17 -4
  280. package/dist/switch/index.d.ts +64 -1
  281. package/dist/switch/index.js +327 -2
  282. package/dist/switch/index.js.map +1 -1
  283. package/dist/switch/index.mjs +130 -213
  284. package/dist/switch/index.mjs.map +1 -1
  285. package/dist/tabs/index.d.mts +137 -0
  286. package/dist/tabs/index.d.ts +137 -13
  287. package/dist/tabs/index.js +1830 -2
  288. package/dist/tabs/index.js.map +1 -1
  289. package/dist/tabs/index.mjs +350 -374
  290. package/dist/tabs/index.mjs.map +1 -1
  291. package/dist/tag/index.d.mts +29 -0
  292. package/dist/tag/index.d.ts +29 -1
  293. package/dist/tag/index.js +283 -2
  294. package/dist/tag/index.js.map +1 -1
  295. package/dist/tag/index.mjs +90 -66
  296. package/dist/tag/index.mjs.map +1 -1
  297. package/dist/text-link/index.d.mts +20 -0
  298. package/dist/text-link/index.d.ts +20 -1
  299. package/dist/text-link/index.js +100 -2
  300. package/dist/text-link/index.js.map +1 -1
  301. package/dist/text-link/index.mjs +6 -3
  302. package/dist/text-link/index.mjs.map +1 -1
  303. package/dist/textarea/index.d.mts +57 -0
  304. package/dist/textarea/index.d.ts +53 -10
  305. package/dist/textarea/index.js +797 -2
  306. package/dist/textarea/index.js.map +1 -1
  307. package/dist/textarea/index.mjs +83 -50
  308. package/dist/textarea/index.mjs.map +1 -1
  309. package/dist/toast/index.d.mts +63 -0
  310. package/dist/toast/index.d.ts +53 -10
  311. package/dist/toast/index.js +1454 -2
  312. package/dist/toast/index.js.map +1 -1
  313. package/dist/toast/index.mjs +208 -1016
  314. package/dist/toast/index.mjs.map +1 -1
  315. package/dist/visually-hidden/index.d.mts +16 -0
  316. package/dist/visually-hidden/index.d.ts +16 -1
  317. package/dist/visually-hidden/index.js +67 -2
  318. package/dist/visually-hidden/index.js.map +1 -1
  319. package/dist/visually-hidden/index.mjs +6 -3
  320. package/dist/visually-hidden/index.mjs.map +1 -1
  321. package/package.json +6 -5
  322. package/dist/Button-C3xHNaGl.js +0 -2
  323. package/dist/Button-C3xHNaGl.js.map +0 -1
  324. package/dist/Button-D32Avk2j.mjs.map +0 -1
  325. package/dist/DialogContent.styles-BrhKaHc_.js +0 -2
  326. package/dist/DialogContent.styles-BrhKaHc_.js.map +0 -1
  327. package/dist/DialogContent.styles-WGWJS9dj.mjs.map +0 -1
  328. package/dist/Icon-Bf0XrmiR.js +0 -2
  329. package/dist/Icon-Bf0XrmiR.js.map +0 -1
  330. package/dist/Icon-D1RueiPY.mjs +0 -58
  331. package/dist/Icon-D1RueiPY.mjs.map +0 -1
  332. package/dist/IconButton-BY3gYXtU.mjs +0 -43
  333. package/dist/IconButton-BY3gYXtU.mjs.map +0 -1
  334. package/dist/IconButton-Bf-EDzpI.js +0 -2
  335. package/dist/IconButton-Bf-EDzpI.js.map +0 -1
  336. package/dist/Slot-C98rL4yy.mjs +0 -14
  337. package/dist/Slot-C98rL4yy.mjs.map +0 -1
  338. package/dist/Slot-ghrohQLA.js +0 -2
  339. package/dist/Slot-ghrohQLA.js.map +0 -1
  340. package/dist/Spinner-CYL5kyzM.mjs.map +0 -1
  341. package/dist/Spinner-DK8VEsaR.js +0 -2
  342. package/dist/Spinner-DK8VEsaR.js.map +0 -1
  343. package/dist/TextLink-3MEVs3No.mjs.map +0 -1
  344. package/dist/TextLink-DD0VO37q.js +0 -2
  345. package/dist/TextLink-DD0VO37q.js.map +0 -1
  346. package/dist/VisuallyHidden-AoRh4WRK.js +0 -2
  347. package/dist/VisuallyHidden-AoRh4WRK.js.map +0 -1
  348. package/dist/VisuallyHidden-ByNP7ZUI.mjs +0 -28
  349. package/dist/VisuallyHidden-ByNP7ZUI.mjs.map +0 -1
  350. package/dist/accordion/Accordion.d.ts +0 -27
  351. package/dist/accordion/AccordionItem.d.ts +0 -12
  352. package/dist/accordion/AccordionItemContent.d.ts +0 -12
  353. package/dist/accordion/AccordionItemHeader.d.ts +0 -9
  354. package/dist/accordion/AccordionItemTrigger.d.ts +0 -12
  355. package/dist/accordion/useRenderSlot.d.ts +0 -3
  356. package/dist/alert-dialog/AlertDialog.d.ts +0 -29
  357. package/dist/alert-dialog/AlertDialogAction.d.ts +0 -13
  358. package/dist/alert-dialog/AlertDialogBody.d.ts +0 -12
  359. package/dist/alert-dialog/AlertDialogCancel.d.ts +0 -13
  360. package/dist/alert-dialog/AlertDialogContent.d.ts +0 -9
  361. package/dist/alert-dialog/AlertDialogContext.d.ts +0 -12
  362. package/dist/alert-dialog/AlertDialogDescription.d.ts +0 -9
  363. package/dist/alert-dialog/AlertDialogFooter.d.ts +0 -10
  364. package/dist/alert-dialog/AlertDialogHeader.d.ts +0 -10
  365. package/dist/alert-dialog/AlertDialogOverlay.d.ts +0 -9
  366. package/dist/alert-dialog/AlertDialogPortal.d.ts +0 -7
  367. package/dist/alert-dialog/AlertDialogTitle.d.ts +0 -9
  368. package/dist/alert-dialog/AlertDialogTrigger.d.ts +0 -13
  369. package/dist/alert-dialog/useRenderSlot.d.ts +0 -3
  370. package/dist/avatar/Avatar.d.ts +0 -3
  371. package/dist/avatar/AvatarAction.d.ts +0 -9
  372. package/dist/avatar/AvatarImage.d.ts +0 -7
  373. package/dist/avatar/AvatarOnlineBadge.d.ts +0 -9
  374. package/dist/avatar/AvatarPlaceholder.d.ts +0 -8
  375. package/dist/avatar/AvatarUser.d.ts +0 -7
  376. package/dist/avatar/context.d.ts +0 -5
  377. package/dist/avatar/types.d.ts +0 -24
  378. package/dist/badge/Badge.d.ts +0 -9
  379. package/dist/badge/BadgeItem.d.ts +0 -31
  380. package/dist/badge/BadgeItem.styles.d.ts +0 -7
  381. package/dist/breadcrumb/Breadcrumb.d.ts +0 -10
  382. package/dist/breadcrumb/Breadcrumb.styles.d.ts +0 -0
  383. package/dist/breadcrumb/BreadcrumbCurrentPage.d.ts +0 -11
  384. package/dist/breadcrumb/BreadcrumbItem.d.ts +0 -9
  385. package/dist/breadcrumb/BreadcrumbLink.d.ts +0 -12
  386. package/dist/breadcrumb/BreadcrumbSeparator.d.ts +0 -10
  387. package/dist/button/Button.d.ts +0 -26
  388. package/dist/button/Button.styles.d.ts +0 -10
  389. package/dist/button/variants/contrast.d.ts +0 -45
  390. package/dist/button/variants/filled.d.ts +0 -45
  391. package/dist/button/variants/ghost.d.ts +0 -45
  392. package/dist/button/variants/index.d.ts +0 -5
  393. package/dist/button/variants/outlined.d.ts +0 -45
  394. package/dist/button/variants/tinted.d.ts +0 -45
  395. package/dist/card/Backdrop.d.ts +0 -14
  396. package/dist/card/Card.d.ts +0 -16
  397. package/dist/card/Card.styles.d.ts +0 -7
  398. package/dist/card/Content.d.ts +0 -15
  399. package/dist/card/Content.styles.d.ts +0 -8
  400. package/dist/card/context.d.ts +0 -11
  401. package/dist/card/utils.d.ts +0 -3
  402. package/dist/carousel/Carousel.d.ts +0 -12
  403. package/dist/carousel/CarouselControls.d.ts +0 -9
  404. package/dist/carousel/CarouselNextButton.d.ts +0 -5
  405. package/dist/carousel/CarouselPageIndicator.d.ts +0 -14
  406. package/dist/carousel/CarouselPagePicker.d.ts +0 -14
  407. package/dist/carousel/CarouselPrevButton.d.ts +0 -5
  408. package/dist/carousel/CarouselSlide.d.ts +0 -12
  409. package/dist/carousel/CarouselSlides.d.ts +0 -10
  410. package/dist/carousel/CarouselViewport.d.ts +0 -9
  411. package/dist/carousel/useCarousel.d.ts +0 -2
  412. package/dist/carousel/useCarouselVisibility.d.ts +0 -13
  413. package/dist/carousel/useEvent.d.ts +0 -7
  414. package/dist/carousel/useIsMounted.d.ts +0 -1
  415. package/dist/carousel/useIsVisible.d.ts +0 -6
  416. package/dist/carousel/useResizeObserver.d.ts +0 -2
  417. package/dist/carousel/useScrollEnd.d.ts +0 -3
  418. package/dist/carousel/useSnapPoints.d.ts +0 -10
  419. package/dist/carousel/utils.d.ts +0 -24
  420. package/dist/checkbox/Checkbox.d.ts +0 -10
  421. package/dist/checkbox/CheckboxGroup.d.ts +0 -18
  422. package/dist/checkbox/CheckboxGroup.styles.d.ts +0 -5
  423. package/dist/checkbox/CheckboxGroupContext.d.ts +0 -41
  424. package/dist/checkbox/CheckboxIndicator.d.ts +0 -9
  425. package/dist/checkbox/CheckboxInput.d.ts +0 -47
  426. package/dist/checkbox/CheckboxInput.styles.d.ts +0 -5
  427. package/dist/checkbox/CheckboxLabel.d.ts +0 -12
  428. package/dist/checkbox/CheckboxLabel.styles.d.ts +0 -5
  429. package/dist/chip/Chip.d.ts +0 -34
  430. package/dist/chip/Chip.styles.d.ts +0 -8
  431. package/dist/chip/ChipClearButton.d.ts +0 -10
  432. package/dist/chip/ChipClearButton.styles.d.ts +0 -10
  433. package/dist/chip/ChipContent.d.ts +0 -8
  434. package/dist/chip/ChipIcon.d.ts +0 -8
  435. package/dist/chip/ChipLeadingIcon.d.ts +0 -9
  436. package/dist/chip/ChipTrailingIcon.d.ts +0 -9
  437. package/dist/chip/useChipContext.d.ts +0 -4
  438. package/dist/chip/useChipElement.d.ts +0 -41
  439. package/dist/chip/variants/dashed.d.ts +0 -49
  440. package/dist/chip/variants/index.d.ts +0 -3
  441. package/dist/chip/variants/outlined.d.ts +0 -49
  442. package/dist/chip/variants/tinted.d.ts +0 -49
  443. package/dist/collapsible/Content.d.ts +0 -12
  444. package/dist/collapsible/Root.d.ts +0 -12
  445. package/dist/collapsible/Trigger.d.ts +0 -11
  446. package/dist/collapsible/useRenderSlot.d.ts +0 -3
  447. package/dist/combobox/Combobox.d.ts +0 -6
  448. package/dist/combobox/ComboboxClearButton.d.ts +0 -9
  449. package/dist/combobox/ComboboxContext.d.ts +0 -108
  450. package/dist/combobox/ComboboxDisclosure.d.ts +0 -13
  451. package/dist/combobox/ComboboxEmpty.d.ts +0 -11
  452. package/dist/combobox/ComboboxGroup.d.ts +0 -11
  453. package/dist/combobox/ComboboxInput.d.ts +0 -15
  454. package/dist/combobox/ComboboxItem.d.ts +0 -12
  455. package/dist/combobox/ComboboxItemContext.d.ts +0 -17
  456. package/dist/combobox/ComboboxItemIndicator.d.ts +0 -11
  457. package/dist/combobox/ComboboxItemText.d.ts +0 -10
  458. package/dist/combobox/ComboboxItems.d.ts +0 -11
  459. package/dist/combobox/ComboboxItemsGroupContext.d.ts +0 -8
  460. package/dist/combobox/ComboboxLabel.d.ts +0 -11
  461. package/dist/combobox/ComboboxLeadingIcon.d.ts +0 -7
  462. package/dist/combobox/ComboboxPopover.d.ts +0 -10
  463. package/dist/combobox/ComboboxPortal.d.ts +0 -2
  464. package/dist/combobox/ComboboxSelectedItems.d.ts +0 -4
  465. package/dist/combobox/ComboboxTrigger.d.ts +0 -11
  466. package/dist/combobox/ComboboxTrigger.styles.d.ts +0 -6
  467. package/dist/combobox/tests/test-utils.d.ts +0 -8
  468. package/dist/combobox/types.d.ts +0 -8
  469. package/dist/combobox/useCombobox/multipleSelectionReducer.d.ts +0 -13
  470. package/dist/combobox/useCombobox/singleSelectionReducer.d.ts +0 -8
  471. package/dist/combobox/utils/index.d.ts +0 -14
  472. package/dist/combobox/utils/useWidthIncreaseCallback.d.ts +0 -2
  473. package/dist/composite-Br3kM5N9.mjs +0 -40
  474. package/dist/composite-Br3kM5N9.mjs.map +0 -1
  475. package/dist/composite-fJD9R7R0.js +0 -2
  476. package/dist/composite-fJD9R7R0.js.map +0 -1
  477. package/dist/detectBrowser-Bc7rk5fI.mjs +0 -44
  478. package/dist/detectBrowser-Bc7rk5fI.mjs.map +0 -1
  479. package/dist/detectBrowser-DTbs_30X.js +0 -2
  480. package/dist/detectBrowser-DTbs_30X.js.map +0 -1
  481. package/dist/dialog/Dialog.d.ts +0 -32
  482. package/dist/dialog/DialogBody.d.ts +0 -12
  483. package/dist/dialog/DialogClose.d.ts +0 -9
  484. package/dist/dialog/DialogCloseButton.d.ts +0 -9
  485. package/dist/dialog/DialogContent.d.ts +0 -14
  486. package/dist/dialog/DialogContent.styles.d.ts +0 -6
  487. package/dist/dialog/DialogContext.d.ts +0 -11
  488. package/dist/dialog/DialogDescription.d.ts +0 -9
  489. package/dist/dialog/DialogFooter.d.ts +0 -10
  490. package/dist/dialog/DialogHeader.d.ts +0 -10
  491. package/dist/dialog/DialogOverlay.d.ts +0 -9
  492. package/dist/dialog/DialogPortal.d.ts +0 -7
  493. package/dist/dialog/DialogTitle.d.ts +0 -9
  494. package/dist/dialog/DialogTrigger.d.ts +0 -17
  495. package/dist/divider/Divider.d.ts +0 -30
  496. package/dist/divider/Divider.styles.d.ts +0 -9
  497. package/dist/divider/DividerContent.d.ts +0 -13
  498. package/dist/divider/variants/intents.d.ts +0 -17
  499. package/dist/downshift.esm-Ncwetv0s.mjs +0 -3038
  500. package/dist/downshift.esm-Ncwetv0s.mjs.map +0 -1
  501. package/dist/downshift.esm-PfCOUbxq.js +0 -37
  502. package/dist/downshift.esm-PfCOUbxq.js.map +0 -1
  503. package/dist/drawer/Drawer.d.ts +0 -39
  504. package/dist/drawer/DrawerBody.d.ts +0 -11
  505. package/dist/drawer/DrawerBody.styles.d.ts +0 -5
  506. package/dist/drawer/DrawerClose.d.ts +0 -9
  507. package/dist/drawer/DrawerCloseButton.d.ts +0 -7
  508. package/dist/drawer/DrawerContent.d.ts +0 -10
  509. package/dist/drawer/DrawerContent.styles.d.ts +0 -6
  510. package/dist/drawer/DrawerContext.d.ts +0 -9
  511. package/dist/drawer/DrawerDescription.d.ts +0 -9
  512. package/dist/drawer/DrawerFooter.d.ts +0 -8
  513. package/dist/drawer/DrawerHeader.d.ts +0 -10
  514. package/dist/drawer/DrawerOverlay.d.ts +0 -9
  515. package/dist/drawer/DrawerPortal.d.ts +0 -7
  516. package/dist/drawer/DrawerTitle.d.ts +0 -9
  517. package/dist/drawer/DrawerTrigger.d.ts +0 -13
  518. package/dist/dropdown/Dropdown.d.ts +0 -6
  519. package/dist/dropdown/DropdownContext.d.ts +0 -81
  520. package/dist/dropdown/DropdownDivider.d.ts +0 -10
  521. package/dist/dropdown/DropdownGroup.d.ts +0 -11
  522. package/dist/dropdown/DropdownItem.d.ts +0 -12
  523. package/dist/dropdown/DropdownItemContext.d.ts +0 -17
  524. package/dist/dropdown/DropdownItemIndicator.d.ts +0 -11
  525. package/dist/dropdown/DropdownItemText.d.ts +0 -9
  526. package/dist/dropdown/DropdownItems.d.ts +0 -21
  527. package/dist/dropdown/DropdownItemsGroupContext.d.ts +0 -8
  528. package/dist/dropdown/DropdownLabel.d.ts +0 -11
  529. package/dist/dropdown/DropdownLeadingIcon.d.ts +0 -7
  530. package/dist/dropdown/DropdownPopover.d.ts +0 -6
  531. package/dist/dropdown/DropdownPortal.d.ts +0 -2
  532. package/dist/dropdown/DropdownTrigger.d.ts +0 -12
  533. package/dist/dropdown/DropdownTrigger.styles.d.ts +0 -5
  534. package/dist/dropdown/DropdownValue.d.ts +0 -11
  535. package/dist/dropdown/types.d.ts +0 -8
  536. package/dist/dropdown/useDropdown.d.ts +0 -41
  537. package/dist/dropdown/utils.d.ts +0 -13
  538. package/dist/file-upload/FileUpload.d.ts +0 -130
  539. package/dist/file-upload/FileUploadAcceptedFile.d.ts +0 -25
  540. package/dist/file-upload/FileUploadContext.d.ts +0 -17
  541. package/dist/file-upload/FileUploadDropzone.d.ts +0 -10
  542. package/dist/file-upload/FileUploadItemDeleteTrigger.d.ts +0 -11
  543. package/dist/file-upload/FileUploadPreviewImage.d.ts +0 -17
  544. package/dist/file-upload/FileUploadRejectedFile.d.ts +0 -24
  545. package/dist/file-upload/FileUploadRejectedFileDeleteTrigger.d.ts +0 -12
  546. package/dist/file-upload/FileUploadTrigger.d.ts +0 -12
  547. package/dist/file-upload/constants.d.ts +0 -29
  548. package/dist/file-upload/test-utils.d.ts +0 -9
  549. package/dist/file-upload/useFileUploadState.d.ts +0 -88
  550. package/dist/file-upload/utils.d.ts +0 -40
  551. package/dist/floating-ui.utils.dom-CCN4I08l.js +0 -2
  552. package/dist/floating-ui.utils.dom-CCN4I08l.js.map +0 -1
  553. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs +0 -136
  554. package/dist/floating-ui.utils.dom-uiDUZc_y.mjs.map +0 -1
  555. package/dist/form-field/FormField.d.ts +0 -21
  556. package/dist/form-field/FormFieldAlertMessage.d.ts +0 -9
  557. package/dist/form-field/FormFieldCharactersCount.d.ts +0 -26
  558. package/dist/form-field/FormFieldContext.d.ts +0 -49
  559. package/dist/form-field/FormFieldControl.d.ts +0 -12
  560. package/dist/form-field/FormFieldErrorMessage.d.ts +0 -9
  561. package/dist/form-field/FormFieldHelperMessage.d.ts +0 -9
  562. package/dist/form-field/FormFieldLabel.d.ts +0 -13
  563. package/dist/form-field/FormFieldMessage.d.ts +0 -8
  564. package/dist/form-field/FormFieldProvider.d.ts +0 -9
  565. package/dist/form-field/FormFieldRequiredIndicator.d.ts +0 -9
  566. package/dist/form-field/FormFieldStateMessage.d.ts +0 -10
  567. package/dist/form-field/FormFieldSuccessMessage.d.ts +0 -9
  568. package/dist/icon/Icon.d.ts +0 -17
  569. package/dist/icon/Icon.styles.d.ts +0 -6
  570. package/dist/icon-button/IconButton.d.ts +0 -10
  571. package/dist/icon-button/IconButton.styles.d.ts +0 -5
  572. package/dist/index-0KYGKeVg.js +0 -2
  573. package/dist/index-0KYGKeVg.js.map +0 -1
  574. package/dist/index-1WIgmEZh.js +0 -2
  575. package/dist/index-1WIgmEZh.js.map +0 -1
  576. package/dist/index-BRi38DTc.mjs +0 -21
  577. package/dist/index-BRi38DTc.mjs.map +0 -1
  578. package/dist/index-BZAtNKwE.mjs +0 -71
  579. package/dist/index-BZAtNKwE.mjs.map +0 -1
  580. package/dist/index-BZPx6jYI.mjs +0 -9
  581. package/dist/index-BZPx6jYI.mjs.map +0 -1
  582. package/dist/index-BlkdpEIe.mjs +0 -55
  583. package/dist/index-BlkdpEIe.mjs.map +0 -1
  584. package/dist/index-BmAFn37q.mjs +0 -49
  585. package/dist/index-BmAFn37q.mjs.map +0 -1
  586. package/dist/index-C-J_tHdS.js +0 -6
  587. package/dist/index-C-J_tHdS.js.map +0 -1
  588. package/dist/index-C1qb0595.mjs +0 -28
  589. package/dist/index-C1qb0595.mjs.map +0 -1
  590. package/dist/index-C34GgsKQ.mjs +0 -54
  591. package/dist/index-C34GgsKQ.mjs.map +0 -1
  592. package/dist/index-CCKe-Mpx.mjs +0 -7
  593. package/dist/index-CCKe-Mpx.mjs.map +0 -1
  594. package/dist/index-CDBBjNXc.js +0 -2
  595. package/dist/index-CDBBjNXc.js.map +0 -1
  596. package/dist/index-CYjGhVvU.mjs +0 -243
  597. package/dist/index-CYjGhVvU.mjs.map +0 -1
  598. package/dist/index-ChLwd62c.js +0 -2
  599. package/dist/index-ChLwd62c.js.map +0 -1
  600. package/dist/index-Cjj_rUPu.js +0 -2
  601. package/dist/index-Cjj_rUPu.js.map +0 -1
  602. package/dist/index-CyMbLkj0.js +0 -2
  603. package/dist/index-CyMbLkj0.js.map +0 -1
  604. package/dist/index-DFZozV_h.mjs +0 -69
  605. package/dist/index-DFZozV_h.mjs.map +0 -1
  606. package/dist/index-DKuHkHFX.js +0 -2
  607. package/dist/index-DKuHkHFX.js.map +0 -1
  608. package/dist/index-DLHLIYPI.mjs +0 -16
  609. package/dist/index-DLHLIYPI.mjs.map +0 -1
  610. package/dist/index-DO-atGp-.js +0 -2
  611. package/dist/index-DO-atGp-.js.map +0 -1
  612. package/dist/index-DWlg8lkk.mjs +0 -179
  613. package/dist/index-DWlg8lkk.mjs.map +0 -1
  614. package/dist/index-DYxWvftI.js +0 -2
  615. package/dist/index-DYxWvftI.js.map +0 -1
  616. package/dist/index-D_lWkK39.mjs +0 -803
  617. package/dist/index-D_lWkK39.mjs.map +0 -1
  618. package/dist/index-DdkVj7D0.js +0 -18
  619. package/dist/index-DdkVj7D0.js.map +0 -1
  620. package/dist/index-De-6atSi.js +0 -2
  621. package/dist/index-De-6atSi.js.map +0 -1
  622. package/dist/index-DhGWNzsz.mjs +0 -83
  623. package/dist/index-DhGWNzsz.mjs.map +0 -1
  624. package/dist/index-Dkj4QRX8.js +0 -2
  625. package/dist/index-Dkj4QRX8.js.map +0 -1
  626. package/dist/index-DlIFg0Eu.mjs +0 -60
  627. package/dist/index-DlIFg0Eu.mjs.map +0 -1
  628. package/dist/index-DnaHaH_0.js +0 -2
  629. package/dist/index-DnaHaH_0.js.map +0 -1
  630. package/dist/index-MHF2-CYX.js +0 -2
  631. package/dist/index-MHF2-CYX.js.map +0 -1
  632. package/dist/index-MQ0c3ZX_.js +0 -2
  633. package/dist/index-MQ0c3ZX_.js.map +0 -1
  634. package/dist/index-MSR-vgWR.mjs +0 -37
  635. package/dist/index-MSR-vgWR.mjs.map +0 -1
  636. package/dist/index-VL0YEmOW.mjs +0 -125
  637. package/dist/index-VL0YEmOW.mjs.map +0 -1
  638. package/dist/index-tXqxYME3.js +0 -42
  639. package/dist/index-tXqxYME3.js.map +0 -1
  640. package/dist/inertValue-Bif5Sqs6.mjs +0 -522
  641. package/dist/inertValue-Bif5Sqs6.mjs.map +0 -1
  642. package/dist/inertValue-ShwihJSN.js +0 -5
  643. package/dist/inertValue-ShwihJSN.js.map +0 -1
  644. package/dist/input/Input.d.ts +0 -14
  645. package/dist/input/Input.styles.d.ts +0 -11
  646. package/dist/input/InputAddon.d.ts +0 -9
  647. package/dist/input/InputAddon.styles.d.ts +0 -9
  648. package/dist/input/InputClearButton.d.ts +0 -12
  649. package/dist/input/InputGroup.d.ts +0 -17
  650. package/dist/input/InputGroup.styles.d.ts +0 -6
  651. package/dist/input/InputGroupContext.d.ts +0 -14
  652. package/dist/input/InputIcon.d.ts +0 -6
  653. package/dist/input/InputLeadingAddon.d.ts +0 -11
  654. package/dist/input/InputLeadingIcon.d.ts +0 -7
  655. package/dist/input/InputTrailingAddon.d.ts +0 -11
  656. package/dist/input/InputTrailingIcon.d.ts +0 -7
  657. package/dist/input-otp/InputOTP.styles.d.ts +0 -10
  658. package/dist/input-otp/InputOTPContext.d.ts +0 -16
  659. package/dist/input-otp/InputOTPGroup.d.ts +0 -7
  660. package/dist/input-otp/InputOTPSeparator.d.ts +0 -7
  661. package/dist/input-otp/InputOTPSlot.d.ts +0 -12
  662. package/dist/input-otp/useInputOTP.d.ts +0 -45
  663. package/dist/kbd/Kbd.d.ts +0 -5
  664. package/dist/label/Label.d.ts +0 -9
  665. package/dist/label/LabelRequiredIndicator.d.ts +0 -6
  666. package/dist/link-box/LinkBox.d.ts +0 -8
  667. package/dist/link-box/LinkBoxLink.d.ts +0 -8
  668. package/dist/link-box/LinkBoxRaised.d.ts +0 -9
  669. package/dist/pagination/Pagination.d.ts +0 -8
  670. package/dist/pagination/PaginationContext.d.ts +0 -43
  671. package/dist/pagination/PaginationEllipsis.d.ts +0 -9
  672. package/dist/pagination/PaginationFirstPageTrigger.d.ts +0 -16
  673. package/dist/pagination/PaginationItem.d.ts +0 -17
  674. package/dist/pagination/PaginationLastPageTrigger.d.ts +0 -16
  675. package/dist/pagination/PaginationNextTrigger.d.ts +0 -16
  676. package/dist/pagination/PaginationPages.d.ts +0 -16
  677. package/dist/pagination/PaginationPrevTrigger.d.ts +0 -16
  678. package/dist/pagination/utils.d.ts +0 -1
  679. package/dist/popover/Popover.d.ts +0 -9
  680. package/dist/popover/PopoverAnchor.d.ts +0 -9
  681. package/dist/popover/PopoverArrow.d.ts +0 -9
  682. package/dist/popover/PopoverCloseButton.d.ts +0 -10
  683. package/dist/popover/PopoverContent.d.ts +0 -10
  684. package/dist/popover/PopoverContent.styles.d.ts +0 -9
  685. package/dist/popover/PopoverContext.d.ts +0 -15
  686. package/dist/popover/PopoverHeader.d.ts +0 -10
  687. package/dist/popover/PopoverPortal.d.ts +0 -7
  688. package/dist/popover/PopoverTrigger.d.ts +0 -9
  689. package/dist/progress/Progress.d.ts +0 -16
  690. package/dist/progress/ProgressBar.d.ts +0 -6
  691. package/dist/progress/ProgressBar.styles.d.ts +0 -5
  692. package/dist/progress/ProgressContext.d.ts +0 -13
  693. package/dist/progress/ProgressIndicator.d.ts +0 -6
  694. package/dist/progress/ProgressIndicator.styles.d.ts +0 -7
  695. package/dist/progress/ProgressLabel.d.ts +0 -6
  696. package/dist/progress-tracker/ProgressTracker.d.ts +0 -27
  697. package/dist/progress-tracker/ProgressTracker.styles.d.ts +0 -1
  698. package/dist/progress-tracker/ProgressTrackerContext.d.ts +0 -15
  699. package/dist/progress-tracker/ProgressTrackerStep.d.ts +0 -12
  700. package/dist/progress-tracker/ProgressTrackerStep.styles.d.ts +0 -10
  701. package/dist/progress-tracker/ProgressTrackerStepIndicator.d.ts +0 -15
  702. package/dist/progress-tracker/ProgressTrackerStepIndicator.styles.d.ts +0 -7
  703. package/dist/progress-tracker/ProgressTrackerStepLabel.d.ts +0 -9
  704. package/dist/radio-group/Radio.d.ts +0 -9
  705. package/dist/radio-group/RadioGroup.d.ts +0 -54
  706. package/dist/radio-group/RadioGroup.styles.d.ts +0 -5
  707. package/dist/radio-group/RadioGroupContext.d.ts +0 -5
  708. package/dist/radio-group/RadioGroupProvider.d.ts +0 -7
  709. package/dist/radio-group/RadioIndicator.d.ts +0 -18
  710. package/dist/radio-group/RadioIndicator.styles.d.ts +0 -5
  711. package/dist/radio-group/RadioInput.d.ts +0 -25
  712. package/dist/radio-group/RadioInput.styles.d.ts +0 -5
  713. package/dist/radio-group/RadioLabel.d.ts +0 -20
  714. package/dist/radio-group/RadioLabel.styles.d.ts +0 -5
  715. package/dist/rating/Rating.d.ts +0 -52
  716. package/dist/rating/RatingStar.d.ts +0 -10
  717. package/dist/rating/RatingStar.styles.d.ts +0 -14
  718. package/dist/rating/types.d.ts +0 -1
  719. package/dist/rating/utils.d.ts +0 -8
  720. package/dist/scrolling-list/ScrollingList.d.ts +0 -57
  721. package/dist/scrolling-list/ScrollingListControls.d.ts +0 -18
  722. package/dist/scrolling-list/ScrollingListItem.d.ts +0 -17
  723. package/dist/scrolling-list/ScrollingListItems.d.ts +0 -11
  724. package/dist/scrolling-list/ScrollingListNextButton.d.ts +0 -5
  725. package/dist/scrolling-list/ScrollingListPrevButton.d.ts +0 -5
  726. package/dist/scrolling-list/ScrollingListSkipButton.d.ts +0 -9
  727. package/dist/scrolling-list/useFocusWithinScroll.d.ts +0 -3
  728. package/dist/segmented-gauge/SegmentedGaugeContext.d.ts +0 -14
  729. package/dist/segmented-gauge/SegmentedGaugeLabel.d.ts +0 -9
  730. package/dist/segmented-gauge/SegmentedGaugeSegment.d.ts +0 -12
  731. package/dist/segmented-gauge/SegmentedGaugeTrack.d.ts +0 -8
  732. package/dist/select/Select.d.ts +0 -6
  733. package/dist/select/SelectContext.d.ts +0 -59
  734. package/dist/select/SelectGroup.d.ts +0 -11
  735. package/dist/select/SelectItem.d.ts +0 -11
  736. package/dist/select/SelectItems.d.ts +0 -10
  737. package/dist/select/SelectItemsGroupContext.d.ts +0 -9
  738. package/dist/select/SelectLabel.d.ts +0 -8
  739. package/dist/select/SelectLeadingIcon.d.ts +0 -7
  740. package/dist/select/SelectPlaceholder.d.ts +0 -10
  741. package/dist/select/SelectTrigger.d.ts +0 -16
  742. package/dist/select/SelectTrigger.styles.d.ts +0 -5
  743. package/dist/select/SelectValue.d.ts +0 -15
  744. package/dist/select/types.d.ts +0 -6
  745. package/dist/select/utils.d.ts +0 -4
  746. package/dist/skeleton/Skeleton.d.ts +0 -17
  747. package/dist/skeleton/Skeleton.styles.d.ts +0 -5
  748. package/dist/skeleton/SkeletonItem.d.ts +0 -31
  749. package/dist/skeleton/SkeletonItem.styles.d.ts +0 -8
  750. package/dist/slider/Slider.d.ts +0 -55
  751. package/dist/slider/Slider.styles.d.ts +0 -1
  752. package/dist/slider/SliderContext.d.ts +0 -4
  753. package/dist/slider/SliderThumb.d.ts +0 -14
  754. package/dist/slider/SliderThumb.styles.d.ts +0 -5
  755. package/dist/slider/SliderTrack.d.ts +0 -14
  756. package/dist/slider/SliderTrack.styles.d.ts +0 -9
  757. package/dist/slot/Slot.d.ts +0 -12
  758. package/dist/snackbar/Snackbar.d.ts +0 -29
  759. package/dist/snackbar/SnackbarItem.d.ts +0 -49
  760. package/dist/snackbar/SnackbarItem.styles.d.ts +0 -10
  761. package/dist/snackbar/SnackbarItemAction.d.ts +0 -10
  762. package/dist/snackbar/SnackbarItemClose.d.ts +0 -9
  763. package/dist/snackbar/SnackbarItemContext.d.ts +0 -8
  764. package/dist/snackbar/SnackbarItemIcon.d.ts +0 -7
  765. package/dist/snackbar/SnackbarRegion.d.ts +0 -30
  766. package/dist/snackbar/SnackbarRegion.styles.d.ts +0 -5
  767. package/dist/snackbar/snackbarVariants.d.ts +0 -82
  768. package/dist/snackbar/useSnackbarGlobalStore.d.ts +0 -18
  769. package/dist/snackbar/useSwipe.d.ts +0 -15
  770. package/dist/spinner/Spinner.d.ts +0 -9
  771. package/dist/spinner/Spinner.styles.d.ts +0 -7
  772. package/dist/stepper/Stepper.d.ts +0 -9
  773. package/dist/stepper/StepperButton.d.ts +0 -14
  774. package/dist/stepper/StepperInput.d.ts +0 -7
  775. package/dist/stepper/types.d.ts +0 -46
  776. package/dist/stepper/useStepper.d.ts +0 -2
  777. package/dist/switch/Switch.d.ts +0 -6
  778. package/dist/switch/SwitchInput.styles.d.ts +0 -16
  779. package/dist/switch/SwitchLabel.d.ts +0 -17
  780. package/dist/switch/SwitchLabel.styles.d.ts +0 -5
  781. package/dist/tabs/Tabs.d.ts +0 -24
  782. package/dist/tabs/TabsContent.d.ts +0 -22
  783. package/dist/tabs/TabsContent.styles.d.ts +0 -3
  784. package/dist/tabs/TabsContext.d.ts +0 -7
  785. package/dist/tabs/TabsList.d.ts +0 -20
  786. package/dist/tabs/TabsList.styles.d.ts +0 -3
  787. package/dist/tabs/TabsPopover.d.ts +0 -29
  788. package/dist/tabs/TabsPopoverAbstraction.d.ts +0 -27
  789. package/dist/tabs/TabsRoot.styles.d.ts +0 -1
  790. package/dist/tabs/TabsTrigger.d.ts +0 -41
  791. package/dist/tabs/TabsTrigger.styles.d.ts +0 -8
  792. package/dist/tabs/useResizeObserver.d.ts +0 -8
  793. package/dist/tag/Tag.d.ts +0 -17
  794. package/dist/tag/Tag.styles.d.ts +0 -8
  795. package/dist/tag/variants/filled.d.ts +0 -41
  796. package/dist/tag/variants/index.d.ts +0 -3
  797. package/dist/tag/variants/outlined.d.ts +0 -37
  798. package/dist/tag/variants/tinted.d.ts +0 -37
  799. package/dist/text-link/TextLink.d.ts +0 -16
  800. package/dist/textarea/Textarea.d.ts +0 -14
  801. package/dist/textarea/TextareaClearButton.d.ts +0 -10
  802. package/dist/textarea/TextareaGroup.d.ts +0 -6
  803. package/dist/textarea/TextareaLeadingIcon.d.ts +0 -7
  804. package/dist/textarea/TextareaTrailingIcon.d.ts +0 -7
  805. package/dist/toast/Toast.d.ts +0 -4
  806. package/dist/toast/Toast.styles.d.ts +0 -10
  807. package/dist/toast/types.d.ts +0 -41
  808. package/dist/toast/useRenderSlot.d.ts +0 -3
  809. package/dist/toast/useToastManager.d.ts +0 -2
  810. package/dist/useCollapsiblePanel-D1dCo0lf.js +0 -4
  811. package/dist/useCollapsiblePanel-D1dCo0lf.js.map +0 -1
  812. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs +0 -287
  813. package/dist/useCollapsiblePanel-kbMNl4Z4.mjs.map +0 -1
  814. package/dist/useFocusWithin-CFNEka2I.js +0 -2
  815. package/dist/useFocusWithin-CFNEka2I.js.map +0 -1
  816. package/dist/useFocusWithin-CoL4390f.mjs +0 -796
  817. package/dist/useFocusWithin-CoL4390f.mjs.map +0 -1
  818. package/dist/useOpenChangeComplete-Dk-u_f2y.js +0 -2
  819. package/dist/useOpenChangeComplete-Dk-u_f2y.js.map +0 -1
  820. package/dist/useOpenChangeComplete-RUbg6RBw.mjs +0 -582
  821. package/dist/useOpenChangeComplete-RUbg6RBw.mjs.map +0 -1
  822. package/dist/useTransitionStatus-CktVVKxz.mjs +0 -46
  823. package/dist/useTransitionStatus-CktVVKxz.mjs.map +0 -1
  824. package/dist/useTransitionStatus-CqbEyvIj.js +0 -2
  825. package/dist/useTransitionStatus-CqbEyvIj.js.map +0 -1
  826. package/dist/visually-hidden/VisuallyHidden.d.ts +0 -12
@@ -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,"sources":["../../src/avatar/index.ts","../../src/avatar/Avatar.tsx","../../src/slot/Slot.tsx","../../src/avatar/context.ts","../../src/avatar/AvatarImage.tsx","../../src/avatar/AvatarAction.tsx","../../src/icon/Icon.tsx","../../src/visually-hidden/VisuallyHidden.tsx","../../src/icon/Icon.styles.tsx","../../src/button/Button.tsx","../../src/spinner/Spinner.styles.tsx","../../src/spinner/Spinner.tsx","../../src/button/Button.styles.tsx","../../src/button/variants/filled.ts","../../src/button/variants/ghost.ts","../../src/button/variants/outlined.ts","../../src/button/variants/tinted.ts","../../src/button/variants/contrast.ts","../../src/icon-button/IconButton.styles.tsx","../../src/icon-button/IconButton.tsx","../../src/avatar/AvatarOnlineBadge.tsx","../../src/avatar/AvatarUser.tsx","../../src/avatar/AvatarPlaceholder.tsx"],"sourcesContent":["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","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 { Slot as RadixSlot } from 'radix-ui'\nimport {\n cloneElement,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n Ref,\n} from 'react'\n\nexport const Slottable: typeof RadixSlot.Slottable = RadixSlot.Slottable\n\nexport type SlotProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Slot = ({ ref, ...props }: SlotProps) => {\n return <RadixSlot.Root ref={ref} {...props} />\n}\n\n/**\n * When using Radix `Slot` component, it will consider its first child to merge its props with.\n * In some cases, you might need to wrap the top child with additional markup without breaking this behaviour.\n */\nexport const wrapPolymorphicSlot = (\n asChild: boolean | undefined,\n children: ReactNode,\n callback: (children: ReactNode) => ReactNode\n) => {\n if (!asChild) return callback(children) // If polymorphic behaviour is not used, we keep the original children\n\n return isValidElement(children)\n ? cloneElement(\n children,\n undefined,\n callback((children.props as { children: ReactNode }).children)\n )\n : null\n}\n","import * 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 { 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 { Children, cloneElement, ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { iconStyles, IconVariantsProps } from './Icon.styles'\n\nexport interface IconProps extends IconVariantsProps, ComponentPropsWithoutRef<'svg'> {\n /**\n * The svg icon that will be wrapped\n */\n children: ReactNode\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label?: string\n}\n\nexport const Icon = ({\n label,\n className,\n size = 'current',\n intent = 'current',\n children,\n ...others\n}: IconProps) => {\n const child = Children.only(children)\n\n return (\n <>\n {cloneElement(child as ReactElement<Record<string, any>>, {\n className: iconStyles({ className, size, intent }),\n 'data-spark-component': 'icon',\n 'aria-hidden': 'true',\n focusable: 'false',\n ...others,\n })}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </>\n )\n}\n\nIcon.displayName = 'Icon'\n","import { HTMLAttributes, PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\n\nexport type VisuallyHiddenProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n ref?: Ref<HTMLElement>\n}\n\nexport const VisuallyHidden = ({ asChild = false, ref, ...props }: VisuallyHiddenProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n {...props}\n ref={ref}\n style={{\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n ...props.style,\n }}\n />\n )\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const iconStyles = cva(['fill-current shrink-0'], {\n variants: {\n /**\n * Color scheme of the icon.\n */\n intent: makeVariants<\n 'intent',\n [\n 'current',\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'error',\n 'info',\n 'neutral',\n ]\n >({\n current: ['text-current'],\n main: ['text-main'],\n support: ['text-support'],\n accent: ['text-accent'],\n basic: ['text-basic'],\n success: ['text-success'],\n alert: ['text-alert'],\n error: ['text-error'],\n info: ['text-info'],\n neutral: ['text-neutral'],\n }),\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['current', 'sm', 'md', 'lg', 'xl']>({\n current: ['u-current-font-size'],\n sm: ['w-sz-16', 'h-sz-16'],\n md: ['w-sz-24', 'h-sz-24'],\n lg: ['w-sz-32', 'h-sz-32'],\n xl: ['w-sz-40', 'h-sz-40'],\n }),\n },\n})\n\nexport type IconVariantsProps = VariantProps<typeof iconStyles>\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type DOMAttributes, Ref, useMemo } from 'react'\n\nimport { Slot, wrapPolymorphicSlot } from '../slot'\nimport { Spinner, type SpinnerProps } from '../spinner'\nimport { buttonStyles, type ButtonStylesProps } from './Button.styles'\n\nexport interface ButtonProps\n extends Omit<ComponentPropsWithoutRef<'button'>, 'disabled'>,\n ButtonStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Display a spinner to indicate to the user that the button is loading something after they interacted with it.\n */\n isLoading?: boolean\n /**\n * If your loading state should only display a spinner, it's better to specify a label for it (a11y).\n */\n loadingLabel?: string\n /**\n * If your loading state should also display a label, you can use this prop instead of `loadingLabel`.\n * **Please note that using this can result in layout shifting when the Button goes from loading state to normal state.**\n */\n loadingText?: string\n ref?: Ref<HTMLButtonElement>\n}\n\ntype DOMAttributesEventHandler = keyof Omit<\n DOMAttributes<HTMLButtonElement>,\n 'children' | 'dangerouslySetInnerHTML'\n>\n\nconst blockedEventHandlers: DOMAttributesEventHandler[] = [\n 'onClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseOver',\n 'onMouseOut',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onSubmit',\n]\n\nexport const Button = ({\n children,\n design = 'filled',\n disabled = false,\n intent = 'main',\n isLoading = false,\n loadingLabel,\n loadingText,\n shape = 'rounded',\n size = 'md',\n asChild,\n className,\n underline = false,\n ref,\n ...others\n}: ButtonProps) => {\n const Component = asChild ? Slot : 'button'\n\n const shouldNotInteract = !!disabled || isLoading\n\n const disabledEventHandlers = useMemo(() => {\n const result: Partial<Record<DOMAttributesEventHandler, () => void>> = {}\n\n if (shouldNotInteract) {\n blockedEventHandlers.forEach(eventHandler => (result[eventHandler] = undefined))\n }\n\n return result\n }, [shouldNotInteract])\n\n const spinnerProps = {\n size: 'current' as SpinnerProps['size'],\n className: loadingText ? 'inline-block' : 'absolute',\n ...(loadingLabel && { 'aria-label': loadingLabel }),\n }\n\n return (\n <Component\n data-spark-component=\"button\"\n {...(Component === 'button' && { type: 'button' })}\n ref={ref}\n className={buttonStyles({\n className,\n design,\n disabled: shouldNotInteract,\n intent,\n shape,\n size,\n underline,\n })}\n disabled={!!disabled}\n aria-busy={isLoading}\n aria-live={isLoading ? 'assertive' : 'off'}\n {...others}\n {...disabledEventHandlers}\n >\n {wrapPolymorphicSlot(asChild, children, slotted =>\n isLoading ? (\n <>\n <Spinner {...spinnerProps} />\n {loadingText && loadingText}\n\n <div\n aria-hidden\n className={cx('gap-md', loadingText ? 'hidden' : 'inline-flex opacity-0')}\n >\n {slotted}\n </div>\n </>\n ) : (\n slotted\n )\n )}\n </Component>\n )\n}\n\nButton.displayName = 'Button'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nconst defaultVariants = {\n intent: 'current',\n size: 'current',\n isBackgroundVisible: false,\n} as const\n\nexport const spinnerStyles = cva(\n ['inline-block', 'border-solid', 'rounded-full', 'border-md', 'animate-spin'],\n {\n variants: {\n /**\n * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size.\n */\n size: {\n current: ['u-current-font-size'],\n sm: ['w-sz-20', 'h-sz-20'],\n md: ['w-sz-28', 'h-sz-28'],\n full: ['w-full', 'h-full'],\n },\n /**\n * Color scheme of the spinner.\n */\n intent: makeVariants<\n 'intent',\n [\n 'current',\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'error',\n 'info',\n 'neutral',\n ]\n >({\n current: ['border-current'],\n main: ['border-main'],\n support: ['border-support'],\n accent: ['border-accent'],\n basic: ['border-basic'],\n success: ['border-success'],\n alert: ['border-alert'],\n error: ['border-error'],\n info: ['border-info'],\n neutral: ['border-neutral'],\n }),\n /**\n * Size of the button.\n */\n isBackgroundVisible: {\n true: ['border-b-neutral-container', 'border-l-neutral-container'],\n false: ['border-b-transparent', 'border-l-transparent'],\n },\n },\n defaultVariants,\n }\n)\n\nexport type SpinnerStylesProps = VariantProps<typeof spinnerStyles>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { spinnerStyles, SpinnerStylesProps } from './Spinner.styles'\n\nexport interface SpinnerProps extends ComponentPropsWithRef<'div'>, SpinnerStylesProps {\n /**\n * Use `label` prop for accessibility, it is important to add a fallback loading text. This text will be visible to screen readers.\n */\n label?: string\n}\n\nexport const Spinner = ({\n className,\n size = 'current',\n intent = 'current',\n label,\n isBackgroundVisible,\n ref,\n ...others\n}: PropsWithChildren<SpinnerProps>) => {\n return (\n <span\n role=\"status\"\n data-spark-component=\"spinner\"\n ref={ref}\n className={spinnerStyles({ className, size, intent, isBackgroundVisible })}\n {...others}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </span>\n )\n}\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport {\n contrastVariants,\n filledVariants,\n ghostVariants,\n outlinedVariants,\n tintedVariants,\n} from './variants'\n\nexport const buttonStyles = cva(\n [\n 'u-shadow-border-transition',\n 'box-border inline-flex items-center justify-center gap-md whitespace-nowrap',\n 'default:px-lg',\n 'text-body-1 font-bold',\n 'focus-visible:u-outline',\n ],\n {\n variants: {\n /**\n * Main style of the button.\n *\n * - `filled`: Button will be plain.\n *\n * - `outlined`: Button will be transparent with an outline.\n *\n * - `tinted`: Button will be filled but using a lighter color scheme.\n *\n * - `ghost`: Button will look like a link. No borders, plain text.\n *\n * - `contrast`: Button will be surface filled. No borders, plain text.\n *\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted', 'ghost', 'contrast']>({\n filled: [],\n outlined: ['bg-transparent', 'border-sm', 'border-current'],\n tinted: [],\n ghost: ['default:-mx-md px-md hover:bg-main/dim-5'],\n contrast: [],\n }),\n underline: {\n true: ['underline'],\n },\n /**\n * Color scheme of the button.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n /**\n * Size of the button.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['min-w-sz-32', 'h-sz-32'],\n md: ['min-w-sz-44', 'h-sz-44'],\n lg: ['min-w-sz-56', 'h-sz-56'],\n }),\n /**\n * Shape of the button.\n */\n shape: makeVariants<'shape', ['rounded', 'square', 'pill']>({\n rounded: ['rounded-lg'],\n square: ['rounded-0'],\n pill: ['rounded-full'],\n }),\n /**\n * Disable the button, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n false: ['cursor-pointer'],\n },\n },\n compoundVariants: [\n ...filledVariants,\n ...outlinedVariants,\n ...tintedVariants,\n ...ghostVariants,\n ...contrastVariants,\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'main',\n size: 'md',\n shape: 'rounded',\n },\n }\n)\n\nexport type ButtonStylesProps = VariantProps<typeof buttonStyles>\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const filledVariants = [\n // Main\n {\n intent: 'main',\n design: 'filled',\n class: tw([\n 'bg-main',\n 'text-on-main',\n 'hover:bg-main-hovered',\n 'enabled:active:bg-main-hovered',\n 'focus-visible:bg-main-hovered',\n ]),\n },\n // Support\n {\n intent: 'support',\n design: 'filled',\n class: tw([\n 'bg-support',\n 'text-on-support',\n 'hover:bg-support-hovered',\n 'enabled:active:bg-support-hovered',\n 'focus-visible:bg-support-hovered',\n ]),\n },\n // Accent\n {\n intent: 'accent',\n design: 'filled',\n class: tw([\n 'bg-accent',\n 'text-on-accent',\n 'hover:bg-accent-hovered',\n 'enabled:active:bg-accent-hovered',\n 'focus-visible:bg-accent-hovered',\n ]),\n },\n // Basic\n {\n intent: 'basic',\n design: 'filled',\n class: tw([\n 'bg-basic',\n 'text-on-basic',\n 'hover:bg-basic-hovered',\n 'enabled:active:bg-basic-hovered',\n 'focus-visible:bg-basic-hovered',\n ]),\n },\n // Success\n {\n intent: 'success',\n design: 'filled',\n class: tw([\n 'bg-success',\n 'text-on-success',\n 'hover:bg-success-hovered',\n 'enabled:active:bg-success-hovered',\n 'focus-visible:bg-success-hovered',\n ]),\n },\n // Alert\n {\n intent: 'alert',\n design: 'filled',\n class: tw([\n 'bg-alert',\n 'text-on-alert',\n 'hover:bg-alert-hovered',\n 'enabled:active:bg-alert-hovered',\n 'focus-visible:bg-alert-hovered',\n ]),\n },\n // Danger\n {\n intent: 'danger',\n design: 'filled',\n class: tw([\n 'text-on-error bg-error',\n 'hover:bg-error-hovered enabled:active:bg-error-hovered',\n 'focus-visible:bg-error-hovered',\n ]),\n },\n // Info\n {\n intent: 'info',\n design: 'filled',\n class: tw([\n 'text-on-error bg-info',\n 'hover:bg-info-hovered enabled:active:bg-info-hovered',\n 'focus-visible:bg-info-hovered',\n ]),\n },\n // Neutral\n {\n intent: 'neutral',\n design: 'filled',\n class: tw([\n 'bg-neutral',\n 'text-on-neutral',\n 'hover:bg-neutral-hovered',\n 'enabled:active:bg-neutral-hovered',\n 'focus-visible:bg-neutral-hovered',\n ]),\n },\n // Surface\n {\n intent: 'surface',\n design: 'filled',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'filled',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const ghostVariants = [\n {\n intent: 'main',\n design: 'ghost',\n class: tw([\n 'text-on-main-container',\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n ]),\n },\n {\n intent: 'support',\n design: 'ghost',\n class: tw([\n 'text-on-support-container',\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n ]),\n },\n {\n intent: 'accent',\n design: 'ghost',\n class: tw([\n 'text-on-accent-container',\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n ]),\n },\n {\n intent: 'basic',\n design: 'ghost',\n class: tw([\n 'text-on-basic-container',\n 'hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n ]),\n },\n {\n intent: 'success',\n design: 'ghost',\n class: tw([\n 'text-on-success-container',\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n ]),\n },\n {\n intent: 'alert',\n design: 'ghost',\n class: tw([\n 'text-on-alert-container',\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n ]),\n },\n {\n intent: 'danger',\n design: 'ghost',\n class: tw([\n 'text-on-error-container',\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n ]),\n },\n {\n intent: 'info',\n design: 'ghost',\n class: tw([\n 'text-on-info-container',\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n ]),\n },\n {\n intent: 'neutral',\n design: 'ghost',\n class: tw([\n 'text-on-neutral-container',\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n ]),\n },\n {\n intent: 'surface',\n design: 'ghost',\n class: tw([\n 'text-surface',\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'ghost',\n class: tw([\n 'text-surface-inverse',\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw([\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw([\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'text-support',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'text-accent',\n ]),\n },\n {\n intent: 'basic',\n design: 'outlined',\n class: tw([\n 'hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'text-basic',\n ]),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw([\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw([\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw([\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw([\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'text-surface',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n 'text-surface-inverse',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'text-on-main-container',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'text-on-support-container',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'text-on-accent-container',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'text-on-basic-container',\n 'hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'text-on-success-container',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'text-on-alert-container',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'text-on-error-container',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'text-on-info-container',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'text-on-neutral-container',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'tinted',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const contrastVariants = [\n {\n intent: 'main',\n design: 'contrast',\n class: tw([\n 'text-on-main-contaier bg-surface',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'contrast',\n class: tw([\n 'text-on-support-container bg-surface',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'contrast',\n class: tw([\n 'text-on-accent-container bg-surface',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'contrast',\n class: tw([\n 'text-on-basic-container bg-surface',\n 'hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'contrast',\n class: tw([\n 'text-on-success-container bg-surface',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'contrast',\n class: tw([\n 'text-on-alert-container bg-surface',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'contrast',\n class: tw([\n 'text-on-error-container bg-surface',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'contrast',\n class: tw([\n 'text-on-info-container bg-surface',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'contrast',\n class: tw([\n 'text-on-neutral-container bg-surface',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'contrast',\n class: tw([\n 'text-on-surface bg-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'contrast',\n class: tw([\n 'text-on-surface-inverse bg-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sCAAmB;AACnB,IAAAA,SAAuB;;;ACDvB,sBAAkC;AAClC,mBAOO;AASE;AAPF,IAAM,YAAwC,gBAAAC,KAAU;AAMxD,IAAM,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,MAAiB;AACpD,SAAO,4CAAC,gBAAAA,KAAU,MAAV,EAAe,KAAW,GAAG,OAAO;AAC9C;AAMO,IAAM,sBAAsB,CACjC,SACA,UACA,aACG;AACH,MAAI,CAAC,QAAS,QAAO,SAAS,QAAQ;AAEtC,aAAO,6BAAe,QAAQ,QAC1B;AAAA,IACE;AAAA,IACA;AAAA,IACA,SAAU,SAAS,MAAkC,QAAQ;AAAA,EAC/D,IACA;AACN;;;ACtCA,YAAuB;AAGvB,IAAM,gBAAsB,oBAA8C,MAAS;AAE5E,IAAM,mBAAmB,MAAM;AACpC,QAAM,UAAgB,iBAAW,aAAa;AAC9C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,SAAO;AACT;;;AFmCQ,IAAAC,sBAAA;AAvCR,IAAM,UAAU;AAAA,EACd,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA;AAAA,EACJ,OAAO;AACT;AAEO,IAAM,SAAe;AAAA,EAC1B,CACE;AAAA,IACE;AAAA,IACA,OAAO;AAAA,IACP,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,OAAO,UAAU,OAAO;AAC9B,UAAM,eAAqB;AAAA,MACzB,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,IAAI;AAAA,MACzB;AAAA,MACA,CAAC,MAAM,UAAU,UAAU,OAAO,UAAU;AAAA,IAC9C;AAEA,WACE,6CAAC,cAAc,UAAd,EAAuB,OAAO,cAC7B;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO;AAAA,UACL,OAAO,QAAQ,IAAI;AAAA,UACnB,QAAQ,QAAQ,IAAI;AAAA,QACtB;AAAA,QACA,wBAAqB;AAAA,QACrB,eAAW,oCAAG,oDAAoD,SAAS;AAAA,QAC1E,GAAG;AAAA,QAEH;AAAA;AAAA,IACH,GACF;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;;;AG/DrB,IAAAC,mCAAmB;AACnB,IAAAC,gBAAoC;AA6ChC,IAAAC,sBAAA;AApCG,IAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAwB;AACtB,QAAM,EAAE,UAAU,UAAU,WAAW,IAAI,iBAAiB;AAC5D,QAAM,OAAO,UAAU,OAAO;AAE9B,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,KAAK;AAEhD,QAAM,iBAAiB,YAAY,aAAa,GAAG,QAAQ,KAAK,UAAU,MAAM;AAGhF,+BAAU,MAAM;AACd,iBAAa,KAAK;AAAA,EACpB,GAAG,CAAC,GAAG,CAAC;AAGR,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,CAAC,UAAyD;AAC3E,iBAAa,IAAI;AACjB,aAAS,KAAK;AAAA,EAChB;AAEA,QAAM,cAAc,CAAC,UAAyD;AAC5E,iBAAa,KAAK;AAClB,cAAU,KAAK;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,MACX,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA,EAAE,qDAAqD,MAAM,QAAQ;AAAA,QACrE;AAAA,QACA,YAAY,UAAU;AAAA,QACtB;AAAA,MACF;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,MACR,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,YAAY,cAAc;;;ACjE1B,wBAA2B;AAC3B,IAAAC,mCAAmB;;;ACDnB,IAAAC,gBAA0F;;;ACgBtF,IAAAC,sBAAA;AAJG,IAAM,iBAAiB,CAAC,EAAE,UAAU,OAAO,KAAK,GAAG,MAAM,MAA2B;AACzF,QAAM,YAAY,UAAU,OAAO;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,GAAG,MAAM;AAAA,MACX;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,cAAc;;;ACrC7B,4BAA6B;AAC7B,IAAAC,mCAAkC;AAE3B,IAAM,iBAAa,sCAAI,CAAC,uBAAuB,GAAG;AAAA,EACvD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,YAAQ,oCAcN;AAAA,MACA,SAAS,CAAC,cAAc;AAAA,MACxB,MAAM,CAAC,WAAW;AAAA,MAClB,SAAS,CAAC,cAAc;AAAA,MACxB,QAAQ,CAAC,aAAa;AAAA,MACtB,OAAO,CAAC,YAAY;AAAA,MACpB,SAAS,CAAC,cAAc;AAAA,MACxB,OAAO,CAAC,YAAY;AAAA,MACpB,OAAO,CAAC,YAAY;AAAA,MACpB,MAAM,CAAC,WAAW;AAAA,MAClB,SAAS,CAAC,cAAc;AAAA,IAC1B,CAAC;AAAA;AAAA;AAAA;AAAA,IAID,UAAM,oCAA0D;AAAA,MAC9D,SAAS,CAAC,qBAAqB;AAAA,MAC/B,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,IAC3B,CAAC;AAAA,EACH;AACF,CAAC;;;AFjBG,IAAAC,sBAAA;AAXG,IAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,MAAiB;AACf,QAAM,QAAQ,uBAAS,KAAK,QAAQ;AAEpC,SACE,8EACG;AAAA,oCAAa,OAA4C;AAAA,MACxD,WAAW,WAAW,EAAE,WAAW,MAAM,OAAO,CAAC;AAAA,MACjD,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,GAAG;AAAA,IACL,CAAC;AAAA,IAEA,SAAS,6CAAC,kBAAgB,iBAAM;AAAA,KACnC;AAEJ;AAEA,KAAK,cAAc;;;AG1CnB,IAAAC,mCAAmB;AACnB,IAAAC,gBAA2E;;;ACD3E,IAAAC,yBAA6B;AAC7B,IAAAC,mCAAkC;AAElC,IAAM,kBAAkB;AAAA,EACtB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,qBAAqB;AACvB;AAEO,IAAM,oBAAgB;AAAA,EAC3B,CAAC,gBAAgB,gBAAgB,gBAAgB,aAAa,cAAc;AAAA,EAC5E;AAAA,IACE,UAAU;AAAA;AAAA;AAAA;AAAA,MAIR,MAAM;AAAA,QACJ,SAAS,CAAC,qBAAqB;AAAA,QAC/B,IAAI,CAAC,WAAW,SAAS;AAAA,QACzB,IAAI,CAAC,WAAW,SAAS;AAAA,QACzB,MAAM,CAAC,UAAU,QAAQ;AAAA,MAC3B;AAAA;AAAA;AAAA;AAAA,MAIA,YAAQ,qCAcN;AAAA,QACA,SAAS,CAAC,gBAAgB;AAAA,QAC1B,MAAM,CAAC,aAAa;AAAA,QACpB,SAAS,CAAC,gBAAgB;AAAA,QAC1B,QAAQ,CAAC,eAAe;AAAA,QACxB,OAAO,CAAC,cAAc;AAAA,QACtB,SAAS,CAAC,gBAAgB;AAAA,QAC1B,OAAO,CAAC,cAAc;AAAA,QACtB,OAAO,CAAC,cAAc;AAAA,QACtB,MAAM,CAAC,aAAa;AAAA,QACpB,SAAS,CAAC,gBAAgB;AAAA,MAC5B,CAAC;AAAA;AAAA;AAAA;AAAA,MAID,qBAAqB;AAAA,QACnB,MAAM,CAAC,8BAA8B,4BAA4B;AAAA,QACjE,OAAO,CAAC,wBAAwB,sBAAsB;AAAA,MACxD;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;;;AChCgB,IAAAC,sBAAA;AAjBT,IAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAuC;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,wBAAqB;AAAA,MACrB;AAAA,MACA,WAAW,cAAc,EAAE,WAAW,MAAM,QAAQ,oBAAoB,CAAC;AAAA,MACxE,GAAG;AAAA,MAEH,mBAAS,6CAAC,kBAAgB,iBAAM;AAAA;AAAA,EACnC;AAEJ;;;AChCA,IAAAC,yBAA6B;AAC7B,IAAAC,mCAAkC;;;ACDlC,IAAAC,yBAAmB;AAEZ,IAAM,iBAAiB;AAAA;AAAA,EAE5B;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA,EAEA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AClIA,IAAAC,yBAAmB;AAEZ,IAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACjHA,IAAAC,yBAAmB;AAEZ,IAAM,mBAAmB;AAAA,EAC9B;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACjHA,IAAAC,yBAAmB;AAEZ,IAAM,iBAAiB;AAAA,EAC5B;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC5HA,IAAAC,yBAAmB;AAEZ,IAAM,mBAAmB;AAAA,EAC9B;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAO,2BAAG;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ALtGO,IAAM,mBAAe;AAAA,EAC1B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAeR,YAAQ,qCAA8E;AAAA,QACpF,QAAQ,CAAC;AAAA,QACT,UAAU,CAAC,kBAAkB,aAAa,gBAAgB;AAAA,QAC1D,QAAQ,CAAC;AAAA,QACT,OAAO,CAAC,0CAA0C;AAAA,QAClD,UAAU,CAAC;AAAA,MACb,CAAC;AAAA,MACD,WAAW;AAAA,QACT,MAAM,CAAC,WAAW;AAAA,MACpB;AAAA;AAAA;AAAA;AAAA,MAIA,YAAQ,qCAeN;AAAA,QACA,MAAM,CAAC;AAAA,QACP,SAAS,CAAC;AAAA,QACV,QAAQ,CAAC;AAAA,QACT,OAAO,CAAC;AAAA,QACR,SAAS,CAAC;AAAA,QACV,OAAO,CAAC;AAAA,QACR,QAAQ,CAAC;AAAA,QACT,MAAM,CAAC;AAAA,QACP,SAAS,CAAC;AAAA,QACV,SAAS,CAAC;AAAA,QACV,gBAAgB,CAAC;AAAA,MACnB,CAAC;AAAA;AAAA;AAAA;AAAA,MAID,UAAM,qCAAyC;AAAA,QAC7C,IAAI,CAAC,eAAe,SAAS;AAAA,QAC7B,IAAI,CAAC,eAAe,SAAS;AAAA,QAC7B,IAAI,CAAC,eAAe,SAAS;AAAA,MAC/B,CAAC;AAAA;AAAA;AAAA;AAAA,MAID,WAAO,qCAAqD;AAAA,QAC1D,SAAS,CAAC,YAAY;AAAA,QACtB,QAAQ,CAAC,WAAW;AAAA,QACpB,MAAM,CAAC,cAAc;AAAA,MACvB,CAAC;AAAA;AAAA;AAAA;AAAA,MAID,UAAU;AAAA,QACR,MAAM,CAAC,sBAAsB,eAAe;AAAA,QAC5C,OAAO,CAAC,gBAAgB;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AACF;;;AHPU,IAAAC,sBAAA;AAxEV,IAAM,uBAAoD;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,GAAG;AACL,MAAmB;AACjB,QAAM,YAAY,UAAU,OAAO;AAEnC,QAAM,oBAAoB,CAAC,CAAC,YAAY;AAExC,QAAM,4BAAwB,uBAAQ,MAAM;AAC1C,UAAM,SAAiE,CAAC;AAExE,QAAI,mBAAmB;AACrB,2BAAqB,QAAQ,kBAAiB,OAAO,YAAY,IAAI,MAAU;AAAA,IACjF;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,iBAAiB,CAAC;AAEtB,QAAM,eAAe;AAAA,IACnB,MAAM;AAAA,IACN,WAAW,cAAc,iBAAiB;AAAA,IAC1C,GAAI,gBAAgB,EAAE,cAAc,aAAa;AAAA,EACnD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,wBAAqB;AAAA,MACpB,GAAI,cAAc,YAAY,EAAE,MAAM,SAAS;AAAA,MAChD;AAAA,MACA,WAAW,aAAa;AAAA,QACtB;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,UAAU,CAAC,CAAC;AAAA,MACZ,aAAW;AAAA,MACX,aAAW,YAAY,cAAc;AAAA,MACpC,GAAG;AAAA,MACH,GAAG;AAAA,MAEH;AAAA,QAAoB;AAAA,QAAS;AAAA,QAAU,aACtC,YACE,8EACE;AAAA,uDAAC,WAAS,GAAG,cAAc;AAAA,UAC1B,eAAe;AAAA,UAEhB;AAAA,YAAC;AAAA;AAAA,cACC,eAAW;AAAA,cACX,eAAW,qCAAG,UAAU,cAAc,WAAW,uBAAuB;AAAA,cAEvE;AAAA;AAAA,UACH;AAAA,WACF,IAEA;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,OAAO,cAAc;;;AS9HrB,IAAAC,yBAA6B;AAC7B,IAAAC,mCAAkC;AAG3B,IAAM,uBAAmB,sCAAI,CAAC,WAAW,GAAG;AAAA,EACjD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,UAAM,qCAAyC;AAAA,MAC7C,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,gBAAgB;AAAA,IACvB,CAAC;AAAA,EACH;AACF,CAAC;;;ACMG,IAAAC,sBAAA;AAXG,IAAM,aAAa,CAAC;AAAA,EACzB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,wBAAqB;AAAA,MACrB;AAAA,MACA,WAAW,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,WAAW,cAAc;;;Ad2Bf,IAAAC,sBAAA;AAhDH,IAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACL,MAAyB;AACvB,QAAM,OAAO,UAAU,OAAO;AAC9B,QAAM,EAAE,WAAW,MAAM,IAAI,iBAAiB;AAE9C,WAAS,iBAAiB,YAAoB;AAC5C,UAAM,YAAa,KAAK,SAAS,KAAK,KAAM;AAC5C,UAAM,eAAe,aAAa;AAElC,WAAO;AAAA,MACL,GAAG,eAAe,eAAe,KAAK,IAAI,QAAQ;AAAA,MAClD,GAAG,eAAe,eAAe,KAAK,IAAI,QAAQ;AAAA,IACpD;AAAA,EACF;AAEA,QAAM,WAAW,iBAAiB,SAAS;AAE3C,QAAM,kBAAkB;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,wBAAqB;AAAA,MACrB,OAAO;AAAA,QACL,UAAU;AAAA,QACV,GAAI,UAAU,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;AAAA,QAChF,GAAI,UAAU,WAAW,EAAE,OAAO,OAAO,QAAQ,MAAM,IAAI,CAAC;AAAA,MAC9D;AAAA,MACA,eAAW;AAAA,QACT;AAAA,QACA,UAAU,WACN,sCACA;AAAA,QACJ,EAAE,aAAa,CAAC,gBAAgB;AAAA,QAChC;AAAA,MACF;AAAA,MACA,cAAY;AAAA,MACZ,OAAO;AAAA,MACN,GAAI,CAAC,kBAAkB,EAAE,MAAM,MAAM,QAAQ,WAAW,QAAQ,WAAW,IAAI,CAAC;AAAA,MAChF,GAAG;AAAA,MAEH,sBACC,6CAAC,QAAK,MAAK,MACT,uDAAC,gCAAW,GACd;AAAA;AAAA,EAEJ;AAEJ;AAEA,aAAa,cAAc;;;AerE3B,IAAAC,mCAAmB;AA2Bf,IAAAC,uBAAA;AAlBG,IAAM,oBAAoB,CAAC,EAAE,QAAQ,KAAK,GAAG,MAAM,MAA8B;AACtF,QAAM,EAAE,UAAU,WAAW,OAAO,YAAY,KAAK,IAAI,iBAAiB;AAE1E,MAAI,CAAC,SAAU,QAAO;AAEtB,WAAS,iBAAiB,YAAoB;AAC5C,UAAM,YAAa,KAAK,SAAS,KAAK,KAAM;AAC5C,UAAM,eAAe,aAAa;AAElC,WAAO;AAAA,MACL,GAAG,eAAe,eAAe,KAAK,IAAI,QAAQ;AAAA,MAClD,GAAG,eAAe,eAAe,KAAK,IAAI,QAAQ;AAAA,IACpD;AAAA,EACF;AAEA,QAAM,gBAAgB,iBAAiB,SAAS;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,wBAAqB;AAAA,MACrB,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,OAAO;AAAA,QACL,GAAI,UAAU,WACV,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,IAC5D,EAAE,OAAO,OAAO,QAAQ,MAAM;AAAA,MACpC;AAAA,MACA,eAAW;AAAA,QACT;AAAA,QACA,UAAU,WACN,sCACA;AAAA,QACJ,CAAC,MAAM,MAAM,KAAK,EAAE,SAAS,IAAI,QAAI,qCAAG,sBAAsB,QAAI,qCAAG,qBAAqB;AAAA,MAC5F;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,kBAAkB,cAAc;;;AChDhC,IAAAC,oCAAmB;AAgBf,IAAAC,uBAAA;AAPG,IAAM,aAAa,CAAC,EAAE,SAAS,UAAU,WAAW,GAAG,MAAM,MAAwB;AAC1F,QAAM,EAAE,OAAO,UAAU,YAAY,SAAS,IAAI,iBAAiB;AACnE,QAAM,OAAO,UAAU,OAAO;AAE9B,QAAM,iBAAiB,YAAY,aAAa,GAAG,QAAQ,KAAK,UAAU,MAAM;AAEhF,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,CAAC,WAAW,EAAE,MAAM,MAAM;AAAA,MAC/B,cAAY;AAAA,MACZ,OAAO;AAAA,MACP,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,UACE,wBAAwB,UAAU;AAAA,UAClC,sBAAsB,UAAU;AAAA,UAChC,sCAAsC,WAAW,MAAM;AAAA,QACzD;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AAEA,WAAW,cAAc;;;ACrCzB,IAAAC,oCAAmB;AAef,IAAAC,uBAAA;AANG,IAAM,oBAAoB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,MAA8B;AAC9F,QAAM,EAAE,MAAM,SAAS,IAAI,iBAAiB;AAE5C,QAAM,cAAc,UAAU,OAAO,CAAC;AAEtC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,MACX,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,UACE,kBAAkB,SAAS;AAAA,UAC3B,kBAAkB,CAAC,MAAM,IAAI,EAAE,SAAS,IAAI;AAAA,UAC5C,kBAAkB,SAAS;AAAA,UAC3B,mBAAmB,SAAS;AAAA,UAC5B,yBAAyB,SAAS;AAAA,QACpC;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,sBAAY;AAAA;AAAA,EACf;AAEJ;AAEA,kBAAkB,cAAc;;;AtBnBhC,IAAM,kBAAkB;AAExB,gBAAgB,QAAQ;AACxB,gBAAgB,SAAS;AACzB,gBAAgB,cAAc;AAC9B,gBAAgB,OAAO;AACvB,gBAAgB,cAAc;","names":["React","RadixSlot","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_react","import_internal_utils","import_class_variance_authority","import_jsx_runtime","import_internal_utils","import_class_variance_authority","import_internal_utils","import_internal_utils","import_internal_utils","import_internal_utils","import_internal_utils","import_jsx_runtime","import_internal_utils","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime"]}
@@ -1,17 +1,34 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { a as p } from "../index-BmAFn37q.mjs";
3
- import * as g from "react";
4
- import { useState as k, useEffect as B } from "react";
5
- import { a as b } from "../Slot-C98rL4yy.mjs";
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";
9
- const z = g.createContext(void 0), f = () => {
10
- const t = g.useContext(z);
11
- if (!t)
1
+ import {
2
+ IconButton
3
+ } from "../chunk-DCXWGQVZ.mjs";
4
+ import {
5
+ Icon
6
+ } from "../chunk-UMUMFMFB.mjs";
7
+ import "../chunk-2YM6GKWW.mjs";
8
+ import "../chunk-GAK4SC2F.mjs";
9
+ import "../chunk-KEGAAGJW.mjs";
10
+ import {
11
+ Slot
12
+ } from "../chunk-6QCEPQ3U.mjs";
13
+
14
+ // src/avatar/Avatar.tsx
15
+ import { cx } from "class-variance-authority";
16
+ import * as React2 from "react";
17
+
18
+ // src/avatar/context.ts
19
+ import * as React from "react";
20
+ var AvatarContext = React.createContext(void 0);
21
+ var useAvatarContext = () => {
22
+ const context = React.useContext(AvatarContext);
23
+ if (!context) {
12
24
  throw new Error("useAvatarContext must be used within an Avatar component");
13
- return t;
14
- }, N = {
25
+ }
26
+ return context;
27
+ };
28
+
29
+ // src/avatar/Avatar.tsx
30
+ import { jsx } from "react/jsx-runtime";
31
+ var sizeMap = {
15
32
  xs: 24,
16
33
  sm: 32,
17
34
  md: 40,
@@ -19,211 +36,252 @@ const z = g.createContext(void 0), f = () => {
19
36
  xl: 64,
20
37
  // default
21
38
  "2xl": 96
22
- }, C = g.forwardRef(
39
+ };
40
+ var Avatar = React2.forwardRef(
23
41
  ({
24
- className: t,
25
- size: a = "xl",
26
- isOnline: n = !1,
27
- onlineText: e,
28
- username: s,
29
- asChild: l,
30
- children: i,
31
- shape: c = "circle",
32
- ...o
33
- }, u) => {
34
- const d = l ? b : "div", r = g.useMemo(
42
+ className,
43
+ size = "xl",
44
+ isOnline = false,
45
+ onlineText,
46
+ username,
47
+ asChild,
48
+ children,
49
+ shape = "circle",
50
+ ...props
51
+ }, ref) => {
52
+ const Comp = asChild ? Slot : "div";
53
+ const contextValue = React2.useMemo(
35
54
  () => ({
36
- size: a,
37
- isOnline: n,
38
- onlineText: e,
39
- username: s,
40
- shape: c,
41
- pixelSize: N[a]
55
+ size,
56
+ isOnline,
57
+ onlineText,
58
+ username,
59
+ shape,
60
+ pixelSize: sizeMap[size]
42
61
  }),
43
- [a, n, s, c, e]
62
+ [size, isOnline, username, shape, onlineText]
44
63
  );
45
- return /* @__PURE__ */ m(z.Provider, { value: r, children: /* @__PURE__ */ m(
46
- d,
64
+ return /* @__PURE__ */ jsx(AvatarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
65
+ Comp,
47
66
  {
48
- ref: u,
67
+ ref,
49
68
  style: {
50
- width: N[a],
51
- height: N[a]
69
+ width: sizeMap[size],
70
+ height: sizeMap[size]
52
71
  },
53
72
  "data-spark-component": "avatar",
54
- className: p("relative inline-flex items-center justify-center", t),
55
- ...o,
56
- children: i
73
+ className: cx("relative inline-flex items-center justify-center", className),
74
+ ...props,
75
+ children
57
76
  }
58
77
  ) });
59
78
  }
60
79
  );
61
- C.displayName = "Avatar";
62
- const I = ({
63
- className: t,
64
- asChild: a,
65
- src: n,
66
- onLoad: e,
67
- onError: s,
68
- ...l
80
+ Avatar.displayName = "Avatar";
81
+
82
+ // src/avatar/AvatarImage.tsx
83
+ import { cx as cx2 } from "class-variance-authority";
84
+ import { useEffect, useState } from "react";
85
+ import { jsx as jsx2 } from "react/jsx-runtime";
86
+ var AvatarImage = ({
87
+ className,
88
+ asChild,
89
+ src,
90
+ onLoad,
91
+ onError,
92
+ ...props
69
93
  }) => {
70
- const { username: i, isOnline: c, onlineText: o } = f(), u = a ? b : "img", [d, r] = k(!1), y = c && o ? `${i} (${o})` : i;
71
- if (B(() => {
72
- r(!1);
73
- }, [n]), !n)
94
+ const { username, isOnline, onlineText } = useAvatarContext();
95
+ const Comp = asChild ? Slot : "img";
96
+ const [isVisible, setIsVisible] = useState(false);
97
+ const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username;
98
+ useEffect(() => {
99
+ setIsVisible(false);
100
+ }, [src]);
101
+ if (!src) {
74
102
  return null;
75
- const h = (A) => {
76
- r(!0), e?.(A);
77
- }, x = (A) => {
78
- r(!1), s?.(A);
103
+ }
104
+ const handleLoad = (event) => {
105
+ setIsVisible(true);
106
+ onLoad?.(event);
107
+ };
108
+ const handleError = (event) => {
109
+ setIsVisible(false);
110
+ onError?.(event);
79
111
  };
80
- return /* @__PURE__ */ m(
81
- u,
112
+ return /* @__PURE__ */ jsx2(
113
+ Comp,
82
114
  {
83
- "aria-hidden": !0,
84
- className: p(
115
+ "aria-hidden": true,
116
+ className: cx2(
85
117
  "absolute inset-0 size-full",
86
118
  "object-cover",
87
- { "transition-all duration-300 group-hover:scale-120": l.onClick },
119
+ { "transition-all duration-300 group-hover:scale-120": props.onClick },
88
120
  "focus-visible:u-outline",
89
- d ? "block" : "hidden",
90
- t
121
+ isVisible ? "block" : "hidden",
122
+ className
91
123
  ),
92
- alt: y,
93
- src: n,
94
- onLoad: h,
95
- onError: x,
96
- ...l
124
+ alt: accessibleName,
125
+ src,
126
+ onLoad: handleLoad,
127
+ onError: handleError,
128
+ ...props
97
129
  }
98
130
  );
99
131
  };
100
- I.displayName = "AvatarImage";
101
- const P = ({
102
- className: t,
103
- children: a,
104
- asChild: n,
105
- angle: e = 135,
106
- ariaLabel: s,
107
- ...l
132
+ AvatarImage.displayName = "AvatarImage";
133
+
134
+ // src/avatar/AvatarAction.tsx
135
+ import { PenOutline } from "@spark-ui/icons/PenOutline";
136
+ import { cx as cx3 } from "class-variance-authority";
137
+ import { jsx as jsx3 } from "react/jsx-runtime";
138
+ var AvatarAction = ({
139
+ className,
140
+ children,
141
+ asChild,
142
+ angle = 135,
143
+ ariaLabel,
144
+ ...props
108
145
  }) => {
109
- const i = n ? b : E, { pixelSize: c, shape: o } = f();
110
- function u(y) {
111
- const h = (90 - e) * Math.PI / 180, x = y / 2;
146
+ const Comp = asChild ? Slot : IconButton;
147
+ const { pixelSize, shape } = useAvatarContext();
148
+ function getBadgePosition(circleSize) {
149
+ const angleRad = (90 - angle) * Math.PI / 180;
150
+ const circleRadius = circleSize / 2;
112
151
  return {
113
- x: x + x * Math.cos(h),
114
- y: x - x * Math.sin(h)
152
+ x: circleRadius + circleRadius * Math.cos(angleRad),
153
+ y: circleRadius - circleRadius * Math.sin(angleRad)
115
154
  };
116
155
  }
117
- const d = u(c), r = n;
118
- return /* @__PURE__ */ m(
119
- i,
156
+ const position = getBadgePosition(pixelSize);
157
+ const isCustomElement = asChild;
158
+ return /* @__PURE__ */ jsx3(
159
+ Comp,
120
160
  {
121
161
  "data-spark-component": "avatar-action",
122
162
  style: {
123
163
  position: "absolute",
124
- ...o === "circle" ? { left: `${d.x}px`, top: `${d.y}px` } : {},
125
- ...o === "square" ? { right: "0px", bottom: "0px" } : {}
164
+ ...shape === "circle" ? { left: `${position.x}px`, top: `${position.y}px` } : {},
165
+ ...shape === "square" ? { right: "0px", bottom: "0px" } : {}
126
166
  },
127
- className: p(
167
+ className: cx3(
128
168
  "z-raised",
129
- o === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
130
- { "shadow-sm": !r },
131
- t
169
+ shape === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
170
+ { "shadow-sm": !isCustomElement },
171
+ className
132
172
  ),
133
- "aria-label": s,
134
- title: s,
135
- ...r ? {} : { size: "sm", intent: "support", design: "contrast" },
136
- ...l,
137
- children: a || /* @__PURE__ */ m(R, { size: "sm", children: /* @__PURE__ */ m(O, {}) })
173
+ "aria-label": ariaLabel,
174
+ title: ariaLabel,
175
+ ...!isCustomElement ? { size: "sm", intent: "support", design: "contrast" } : {},
176
+ ...props,
177
+ children: children || /* @__PURE__ */ jsx3(Icon, { size: "sm", children: /* @__PURE__ */ jsx3(PenOutline, {}) })
138
178
  }
139
179
  );
140
180
  };
141
- P.displayName = "AvatarAction";
142
- const M = ({ angle: t = 135, ...a }) => {
143
- const { isOnline: n, pixelSize: e, shape: s, onlineText: l, size: i } = f();
144
- if (!n) return null;
145
- function c(u) {
146
- const d = (90 - t) * Math.PI / 180, r = u / 2;
181
+ AvatarAction.displayName = "AvatarAction";
182
+
183
+ // src/avatar/AvatarOnlineBadge.tsx
184
+ import { cx as cx4 } from "class-variance-authority";
185
+ import { jsx as jsx4 } from "react/jsx-runtime";
186
+ var AvatarOnlineBadge = ({ angle = 135, ...props }) => {
187
+ const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext();
188
+ if (!isOnline) return null;
189
+ function getBadgePosition(circleSize) {
190
+ const angleRad = (90 - angle) * Math.PI / 180;
191
+ const circleRadius = circleSize / 2;
147
192
  return {
148
- x: r + r * Math.cos(d),
149
- y: r - r * Math.sin(d)
193
+ x: circleRadius + circleRadius * Math.cos(angleRad),
194
+ y: circleRadius - circleRadius * Math.sin(angleRad)
150
195
  };
151
196
  }
152
- const o = c(e);
153
- return /* @__PURE__ */ m(
197
+ const badgePosition = getBadgePosition(pixelSize);
198
+ return /* @__PURE__ */ jsx4(
154
199
  "div",
155
200
  {
156
201
  "data-spark-component": "avatar-online-badge",
157
202
  role: "status",
158
- "aria-label": l,
203
+ "aria-label": onlineText,
159
204
  style: {
160
- ...s === "circle" ? { left: `${o.x}px`, top: `${o.y}px` } : { right: "0px", bottom: "0px" }
205
+ ...shape === "circle" ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` } : { right: "0px", bottom: "0px" }
161
206
  },
162
- className: p(
207
+ className: cx4(
163
208
  "bg-success outline-surface absolute rounded-full",
164
- s === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
165
- ["lg", "xl", "2xl"].includes(i) ? p("size-sz-12 outline-4") : p("size-sz-8 outline-2")
209
+ shape === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
210
+ ["lg", "xl", "2xl"].includes(size) ? cx4("size-sz-12 outline-4") : cx4("size-sz-8 outline-2")
166
211
  ),
167
- ...a
212
+ ...props
168
213
  }
169
214
  );
170
215
  };
171
- M.displayName = "AvatarOnlineBadge";
172
- const $ = ({ asChild: t, children: a, className: n, ...e }) => {
173
- const { shape: s, isOnline: l, onlineText: i, username: c } = f(), o = t ? b : "div", u = l && i ? `${c} (${i})` : c;
174
- return /* @__PURE__ */ m(
175
- o,
216
+ AvatarOnlineBadge.displayName = "AvatarOnlineBadge";
217
+
218
+ // src/avatar/AvatarUser.tsx
219
+ import { cx as cx5 } from "class-variance-authority";
220
+ import { jsx as jsx5 } from "react/jsx-runtime";
221
+ var AvatarUser = ({ asChild, children, className, ...props }) => {
222
+ const { shape, isOnline, onlineText, username } = useAvatarContext();
223
+ const Comp = asChild ? Slot : "div";
224
+ const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username;
225
+ return /* @__PURE__ */ jsx5(
226
+ Comp,
176
227
  {
177
- ...!t && { role: "img" },
178
- "aria-label": u,
179
- title: u,
180
- className: p(
228
+ ...!asChild && { role: "img" },
229
+ "aria-label": accessibleName,
230
+ title: accessibleName,
231
+ className: cx5(
181
232
  "group default:border-outline relative size-full overflow-hidden",
182
233
  "focus-visible:u-outline",
183
234
  {
184
- "default:rounded-full": s === "circle",
185
- "default:rounded-md": s === "square",
186
- "hover:opacity-dim-1 cursor-pointer": t || e.onClick
235
+ "default:rounded-full": shape === "circle",
236
+ "default:rounded-md": shape === "square",
237
+ "hover:opacity-dim-1 cursor-pointer": asChild || props.onClick
187
238
  },
188
- n
239
+ className
189
240
  ),
190
- ...e,
191
- children: a
241
+ ...props,
242
+ children
192
243
  }
193
244
  );
194
245
  };
195
- $.displayName = "AvatarUser";
196
- const w = ({ className: t, children: a, ...n }) => {
197
- const { size: e, username: s } = f(), l = s?.charAt(0);
198
- return /* @__PURE__ */ m(
246
+ AvatarUser.displayName = "AvatarUser";
247
+
248
+ // src/avatar/AvatarPlaceholder.tsx
249
+ import { cx as cx6 } from "class-variance-authority";
250
+ import { jsx as jsx6 } from "react/jsx-runtime";
251
+ var AvatarPlaceholder = ({ className, children, ...props }) => {
252
+ const { size, username } = useAvatarContext();
253
+ const firstLetter = username?.charAt(0);
254
+ return /* @__PURE__ */ jsx6(
199
255
  "div",
200
256
  {
201
- "aria-hidden": !0,
202
- className: p(
257
+ "aria-hidden": true,
258
+ className: cx6(
203
259
  "absolute inset-0 flex size-full items-center justify-center",
204
260
  "default:bg-neutral default:text-on-neutral",
205
261
  {
206
- "text-display-1": e === "2xl",
207
- "text-display-2": ["xl", "lg"].includes(e),
208
- "text-display-3": e === "md",
209
- "text-headline-2": e === "sm",
210
- "text-body-2 font-bold": e === "xs"
262
+ "text-display-1": size === "2xl",
263
+ "text-display-2": ["xl", "lg"].includes(size),
264
+ "text-display-3": size === "md",
265
+ "text-headline-2": size === "sm",
266
+ "text-body-2 font-bold": size === "xs"
211
267
  },
212
- t
268
+ className
213
269
  ),
214
- ...n,
215
- children: a || l
270
+ ...props,
271
+ children: children || firstLetter
216
272
  }
217
273
  );
218
274
  };
219
- w.displayName = "AvatarPlaceholder";
220
- const v = C;
221
- v.Image = I;
222
- v.Action = P;
223
- v.OnlineBadge = M;
224
- v.User = $;
225
- v.Placeholder = w;
275
+ AvatarPlaceholder.displayName = "AvatarPlaceholder";
276
+
277
+ // src/avatar/index.ts
278
+ var AvatarComponent = Avatar;
279
+ AvatarComponent.Image = AvatarImage;
280
+ AvatarComponent.Action = AvatarAction;
281
+ AvatarComponent.OnlineBadge = AvatarOnlineBadge;
282
+ AvatarComponent.User = AvatarUser;
283
+ AvatarComponent.Placeholder = AvatarPlaceholder;
226
284
  export {
227
- v as Avatar
285
+ AvatarComponent as Avatar
228
286
  };
229
- //# sourceMappingURL=index.mjs.map
287
+ //# sourceMappingURL=index.mjs.map