@spark-ui/components 17.2.3 → 17.2.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/DialogContent.styles-BSxCCi-u.mjs +62 -0
  2. package/dist/DialogContent.styles-BSxCCi-u.mjs.map +1 -0
  3. package/dist/DialogContent.styles-CAhJtUud.js +2 -0
  4. package/dist/DialogContent.styles-CAhJtUud.js.map +1 -0
  5. package/dist/FormFieldRequiredIndicator-CtgkvPZo.js +2 -0
  6. package/dist/FormFieldRequiredIndicator-CtgkvPZo.js.map +1 -0
  7. package/dist/FormFieldRequiredIndicator-DOGQ_HxO.mjs +14 -0
  8. package/dist/FormFieldRequiredIndicator-DOGQ_HxO.mjs.map +1 -0
  9. package/dist/accordion/index.js +2 -2
  10. package/dist/accordion/index.js.map +1 -1
  11. package/dist/accordion/index.mjs +99 -161
  12. package/dist/accordion/index.mjs.map +1 -1
  13. package/dist/alert-dialog/index.js +2 -2
  14. package/dist/alert-dialog/index.js.map +1 -1
  15. package/dist/alert-dialog/index.mjs +169 -235
  16. package/dist/alert-dialog/index.mjs.map +1 -1
  17. package/dist/avatar/index.js +2 -2
  18. package/dist/avatar/index.js.map +1 -1
  19. package/dist/avatar/index.mjs +187 -224
  20. package/dist/avatar/index.mjs.map +1 -1
  21. package/dist/badge/index.js +2 -2
  22. package/dist/badge/index.js.map +1 -1
  23. package/dist/badge/index.mjs +115 -81
  24. package/dist/badge/index.mjs.map +1 -1
  25. package/dist/breadcrumb/index.js +2 -2
  26. package/dist/breadcrumb/index.js.map +1 -1
  27. package/dist/breadcrumb/index.mjs +73 -106
  28. package/dist/breadcrumb/index.mjs.map +1 -1
  29. package/dist/button/index.js +1 -2
  30. package/dist/button/index.mjs +2 -5
  31. package/dist/button-BTDRzvpB.js +2 -0
  32. package/dist/button-BTDRzvpB.js.map +1 -0
  33. package/dist/button-_YZ_4J42.mjs +643 -0
  34. package/dist/button-_YZ_4J42.mjs.map +1 -0
  35. package/dist/card/index.js +2 -2
  36. package/dist/card/index.js.map +1 -1
  37. package/dist/card/index.mjs +327 -394
  38. package/dist/card/index.mjs.map +1 -1
  39. package/dist/carousel/index.js +2 -2
  40. package/dist/carousel/index.js.map +1 -1
  41. package/dist/carousel/index.mjs +515 -618
  42. package/dist/carousel/index.mjs.map +1 -1
  43. package/dist/checkbox/index.js +2 -2
  44. package/dist/checkbox/index.js.map +1 -1
  45. package/dist/checkbox/index.mjs +213 -246
  46. package/dist/checkbox/index.mjs.map +1 -1
  47. package/dist/chip/index.js +2 -2
  48. package/dist/chip/index.js.map +1 -1
  49. package/dist/chip/index.mjs +601 -652
  50. package/dist/chip/index.mjs.map +1 -1
  51. package/dist/chunk-C91j1N6u.js +1 -0
  52. package/dist/circular-meter/index.js +2 -2
  53. package/dist/circular-meter/index.js.map +1 -1
  54. package/dist/circular-meter/index.mjs +354 -309
  55. package/dist/circular-meter/index.mjs.map +1 -1
  56. package/dist/collapsible/index.js +2 -2
  57. package/dist/collapsible/index.js.map +1 -1
  58. package/dist/collapsible/index.mjs +53 -53
  59. package/dist/collapsible/index.mjs.map +1 -1
  60. package/dist/combobox/index.js +2 -2
  61. package/dist/combobox/index.js.map +1 -1
  62. package/dist/combobox/index.mjs +721 -876
  63. package/dist/combobox/index.mjs.map +1 -1
  64. package/dist/dialog/index.js +2 -2
  65. package/dist/dialog/index.js.map +1 -1
  66. package/dist/dialog/index.mjs +181 -206
  67. package/dist/dialog/index.mjs.map +1 -1
  68. package/dist/divider/index.js +2 -2
  69. package/dist/divider/index.js.map +1 -1
  70. package/dist/divider/index.mjs +178 -183
  71. package/dist/divider/index.mjs.map +1 -1
  72. package/dist/drawer/index.js +2 -2
  73. package/dist/drawer/index.js.map +1 -1
  74. package/dist/drawer/index.mjs +277 -309
  75. package/dist/drawer/index.mjs.map +1 -1
  76. package/dist/dropdown/index.js +2 -2
  77. package/dist/dropdown/index.js.map +1 -1
  78. package/dist/dropdown/index.mjs +429 -492
  79. package/dist/dropdown/index.mjs.map +1 -1
  80. package/dist/file-upload/index.js +2 -2
  81. package/dist/file-upload/index.js.map +1 -1
  82. package/dist/file-upload/index.mjs +540 -677
  83. package/dist/file-upload/index.mjs.map +1 -1
  84. package/dist/form-field/index.js +1 -2
  85. package/dist/form-field/index.mjs +2 -284
  86. package/dist/form-field-B8QzM655.mjs +231 -0
  87. package/dist/form-field-B8QzM655.mjs.map +1 -0
  88. package/dist/form-field-Bu_0E9tb.js +2 -0
  89. package/dist/form-field-Bu_0E9tb.js.map +1 -0
  90. package/dist/icon/index.js +1 -2
  91. package/dist/icon/index.mjs +2 -5
  92. package/dist/icon-CRPcdgYp.js +2 -0
  93. package/dist/icon-CRPcdgYp.js.map +1 -0
  94. package/dist/icon-D05Uqh8_.mjs +41 -0
  95. package/dist/icon-D05Uqh8_.mjs.map +1 -0
  96. package/dist/icon-button/index.js +1 -2
  97. package/dist/icon-button/index.mjs +2 -5
  98. package/dist/icon-button-6p3O7NIm.mjs +28 -0
  99. package/dist/icon-button-6p3O7NIm.mjs.map +1 -0
  100. package/dist/icon-button-CykysbgJ.js +2 -0
  101. package/dist/icon-button-CykysbgJ.js.map +1 -0
  102. package/dist/input/index.js +1 -2
  103. package/dist/input/index.mjs +2 -455
  104. package/dist/input-CmYeHYWQ.mjs +355 -0
  105. package/dist/input-CmYeHYWQ.mjs.map +1 -0
  106. package/dist/input-DNr40G2Z.js +2 -0
  107. package/dist/input-DNr40G2Z.js.map +1 -0
  108. package/dist/input-otp/index.js +2 -2
  109. package/dist/input-otp/index.js.map +1 -1
  110. package/dist/input-otp/index.mjs +344 -407
  111. package/dist/input-otp/index.mjs.map +1 -1
  112. package/dist/kbd/index.js +2 -2
  113. package/dist/kbd/index.js.map +1 -1
  114. package/dist/kbd/index.mjs +12 -17
  115. package/dist/kbd/index.mjs.map +1 -1
  116. package/dist/label/index.js +1 -2
  117. package/dist/label/index.mjs +2 -40
  118. package/dist/label-BqRlrca0.mjs +31 -0
  119. package/dist/label-BqRlrca0.mjs.map +1 -0
  120. package/dist/label-DU0p0d-f.js +2 -0
  121. package/dist/label-DU0p0d-f.js.map +1 -0
  122. package/dist/link-box/index.js +2 -2
  123. package/dist/link-box/index.js.map +1 -1
  124. package/dist/link-box/index.mjs +36 -34
  125. package/dist/link-box/index.mjs.map +1 -1
  126. package/dist/meter/index.js +2 -2
  127. package/dist/meter/index.js.map +1 -1
  128. package/dist/meter/index.mjs +149 -171
  129. package/dist/meter/index.mjs.map +1 -1
  130. package/dist/pagination/index.js +2 -2
  131. package/dist/pagination/index.js.map +1 -1
  132. package/dist/pagination/index.mjs +253 -214
  133. package/dist/pagination/index.mjs.map +1 -1
  134. package/dist/popover/index.js +1 -2
  135. package/dist/popover/index.mjs +2 -239
  136. package/dist/popover-CxZAQmw6.mjs +211 -0
  137. package/dist/popover-CxZAQmw6.mjs.map +1 -0
  138. package/dist/popover-GOovJ27J.js +2 -0
  139. package/dist/popover-GOovJ27J.js.map +1 -0
  140. package/dist/portal/index.js +2 -2
  141. package/dist/portal/index.js.map +1 -1
  142. package/dist/portal/index.mjs +8 -7
  143. package/dist/portal/index.mjs.map +1 -1
  144. package/dist/progress/index.js +1 -2
  145. package/dist/progress/index.mjs +2 -178
  146. package/dist/progress-cEf3tFbn.mjs +132 -0
  147. package/dist/progress-cEf3tFbn.mjs.map +1 -0
  148. package/dist/progress-rJZcPJsZ.js +2 -0
  149. package/dist/progress-rJZcPJsZ.js.map +1 -0
  150. package/dist/progress-tracker/index.js +2 -2
  151. package/dist/progress-tracker/index.js.map +1 -1
  152. package/dist/progress-tracker/index.mjs +303 -380
  153. package/dist/progress-tracker/index.mjs.map +1 -1
  154. package/dist/radio-group/index.js +2 -2
  155. package/dist/radio-group/index.js.map +1 -1
  156. package/dist/radio-group/index.mjs +204 -213
  157. package/dist/radio-group/index.mjs.map +1 -1
  158. package/dist/rating/index.js +2 -2
  159. package/dist/rating/index.js.map +1 -1
  160. package/dist/rating/index.mjs +189 -244
  161. package/dist/rating/index.mjs.map +1 -1
  162. package/dist/rating-display/index.js +2 -2
  163. package/dist/rating-display/index.js.map +1 -1
  164. package/dist/rating-display/index.mjs +165 -166
  165. package/dist/rating-display/index.mjs.map +1 -1
  166. package/dist/scrolling-list/index.js +2 -2
  167. package/dist/scrolling-list/index.js.map +1 -1
  168. package/dist/scrolling-list/index.mjs +216 -273
  169. package/dist/scrolling-list/index.mjs.map +1 -1
  170. package/dist/segmented-control/index.js +2 -2
  171. package/dist/segmented-control/index.js.map +1 -1
  172. package/dist/segmented-control/index.mjs +146 -180
  173. package/dist/segmented-control/index.mjs.map +1 -1
  174. package/dist/segmented-gauge/index.js +2 -2
  175. package/dist/segmented-gauge/index.js.map +1 -1
  176. package/dist/segmented-gauge/index.mjs +146 -195
  177. package/dist/segmented-gauge/index.mjs.map +1 -1
  178. package/dist/select/index.js +2 -2
  179. package/dist/select/index.js.map +1 -1
  180. package/dist/select/index.mjs +279 -327
  181. package/dist/select/index.mjs.map +1 -1
  182. package/dist/skeleton/index.js +2 -2
  183. package/dist/skeleton/index.js.map +1 -1
  184. package/dist/skeleton/index.mjs +92 -114
  185. package/dist/skeleton/index.mjs.map +1 -1
  186. package/dist/slider/index.js +2 -2
  187. package/dist/slider/index.js.map +1 -1
  188. package/dist/slider/index.mjs +259 -326
  189. package/dist/slider/index.mjs.map +1 -1
  190. package/dist/slot/index.js +2 -2
  191. package/dist/slot/index.js.map +1 -1
  192. package/dist/slot/index.mjs +12 -7
  193. package/dist/slot/index.mjs.map +1 -1
  194. package/dist/snackbar/index.js +2 -2
  195. package/dist/snackbar/index.js.map +1 -1
  196. package/dist/snackbar/index.mjs +404 -529
  197. package/dist/snackbar/index.mjs.map +1 -1
  198. package/dist/spinner/index.js +1 -2
  199. package/dist/spinner/index.mjs +2 -5
  200. package/dist/spinner-DFUoYvmm.js +2 -0
  201. package/dist/spinner-DFUoYvmm.js.map +1 -0
  202. package/dist/spinner-DULLiM6a.mjs +56 -0
  203. package/dist/spinner-DULLiM6a.mjs.map +1 -0
  204. package/dist/src/avatar/index.d.mts +2 -2
  205. package/dist/src/avatar/index.d.ts +2 -2
  206. package/dist/src/file-upload/index.d.mts +1 -1
  207. package/dist/src/file-upload/index.d.ts +1 -1
  208. package/dist/stepper/index.js +2 -2
  209. package/dist/stepper/index.js.map +1 -1
  210. package/dist/stepper/index.mjs +139 -176
  211. package/dist/stepper/index.mjs.map +1 -1
  212. package/dist/switch/index.js +2 -2
  213. package/dist/switch/index.js.map +1 -1
  214. package/dist/switch/index.mjs +194 -197
  215. package/dist/switch/index.mjs.map +1 -1
  216. package/dist/tabs/index.js +2 -2
  217. package/dist/tabs/index.js.map +1 -1
  218. package/dist/tabs/index.mjs +337 -389
  219. package/dist/tabs/index.mjs.map +1 -1
  220. package/dist/tag/index.js +2 -2
  221. package/dist/tag/index.js.map +1 -1
  222. package/dist/tag/index.mjs +192 -211
  223. package/dist/tag/index.mjs.map +1 -1
  224. package/dist/text-link/index.js +2 -2
  225. package/dist/text-link/index.js.map +1 -1
  226. package/dist/text-link/index.mjs +44 -5
  227. package/dist/text-link/index.mjs.map +1 -1
  228. package/dist/textarea/index.js +2 -2
  229. package/dist/textarea/index.js.map +1 -1
  230. package/dist/textarea/index.mjs +51 -50
  231. package/dist/textarea/index.mjs.map +1 -1
  232. package/dist/toast/index.js +2 -2
  233. package/dist/toast/index.js.map +1 -1
  234. package/dist/toast/index.mjs +314 -367
  235. package/dist/toast/index.mjs.map +1 -1
  236. package/dist/useRenderSlot-DP4fYerF.mjs +11 -0
  237. package/dist/useRenderSlot-DP4fYerF.mjs.map +1 -0
  238. package/dist/useRenderSlot-Xxf_s88b.js +2 -0
  239. package/dist/useRenderSlot-Xxf_s88b.js.map +1 -0
  240. package/dist/visually-hidden/index.js +2 -2
  241. package/dist/visually-hidden/index.js.map +1 -1
  242. package/dist/visually-hidden/index.mjs +25 -5
  243. package/dist/visually-hidden/index.mjs.map +1 -1
  244. package/package.json +4 -4
  245. package/dist/Button-1M9DcZl0.mjs +0 -704
  246. package/dist/Button-1M9DcZl0.mjs.map +0 -1
  247. package/dist/Button-FZceRWG2.js +0 -2
  248. package/dist/Button-FZceRWG2.js.map +0 -1
  249. package/dist/DialogContent.styles-CziMQtYr.js +0 -2
  250. package/dist/DialogContent.styles-CziMQtYr.js.map +0 -1
  251. package/dist/DialogContent.styles-Du7_Dkde.mjs +0 -60
  252. package/dist/DialogContent.styles-Du7_Dkde.mjs.map +0 -1
  253. package/dist/FormFieldRequiredIndicator-CHfcoT2y.js +0 -2
  254. package/dist/FormFieldRequiredIndicator-CHfcoT2y.js.map +0 -1
  255. package/dist/FormFieldRequiredIndicator-DTnCGiX2.mjs +0 -13
  256. package/dist/FormFieldRequiredIndicator-DTnCGiX2.mjs.map +0 -1
  257. package/dist/Icon-BO327oHU.mjs +0 -57
  258. package/dist/Icon-BO327oHU.mjs.map +0 -1
  259. package/dist/Icon-C-cNTnzd.js +0 -2
  260. package/dist/Icon-C-cNTnzd.js.map +0 -1
  261. package/dist/IconButton-BR1bJSQA.js +0 -2
  262. package/dist/IconButton-BR1bJSQA.js.map +0 -1
  263. package/dist/IconButton-DdB3Pq13.mjs +0 -43
  264. package/dist/IconButton-DdB3Pq13.mjs.map +0 -1
  265. package/dist/Slot-DLY1rJrG.mjs +0 -14
  266. package/dist/Slot-DLY1rJrG.mjs.map +0 -1
  267. package/dist/Slot-DQ8z2zsy.js +0 -2
  268. package/dist/Slot-DQ8z2zsy.js.map +0 -1
  269. package/dist/Spinner-Br4Rp9V2.js +0 -2
  270. package/dist/Spinner-Br4Rp9V2.js.map +0 -1
  271. package/dist/Spinner-Co3AjkQV.mjs +0 -68
  272. package/dist/Spinner-Co3AjkQV.mjs.map +0 -1
  273. package/dist/TextLink-5MvP0P8D.js +0 -2
  274. package/dist/TextLink-5MvP0P8D.js.map +0 -1
  275. package/dist/TextLink-Cc_LeVcx.mjs +0 -57
  276. package/dist/TextLink-Cc_LeVcx.mjs.map +0 -1
  277. package/dist/VisuallyHidden-CB6Nx76j.js +0 -2
  278. package/dist/VisuallyHidden-CB6Nx76j.js.map +0 -1
  279. package/dist/VisuallyHidden-DjlV0-CW.mjs +0 -28
  280. package/dist/VisuallyHidden-DjlV0-CW.mjs.map +0 -1
  281. package/dist/button/index.js.map +0 -1
  282. package/dist/button/index.mjs.map +0 -1
  283. package/dist/form-field/index.js.map +0 -1
  284. package/dist/form-field/index.mjs.map +0 -1
  285. package/dist/icon/index.js.map +0 -1
  286. package/dist/icon/index.mjs.map +0 -1
  287. package/dist/icon-button/index.js.map +0 -1
  288. package/dist/icon-button/index.mjs.map +0 -1
  289. package/dist/input/index.js.map +0 -1
  290. package/dist/input/index.mjs.map +0 -1
  291. package/dist/label/index.js.map +0 -1
  292. package/dist/label/index.mjs.map +0 -1
  293. package/dist/popover/index.js.map +0 -1
  294. package/dist/popover/index.mjs.map +0 -1
  295. package/dist/progress/index.js.map +0 -1
  296. package/dist/progress/index.mjs.map +0 -1
  297. package/dist/spinner/index.js.map +0 -1
  298. package/dist/spinner/index.mjs.map +0 -1
  299. package/dist/useRenderSlot-Bta2kdp4.mjs +0 -10
  300. package/dist/useRenderSlot-Bta2kdp4.mjs.map +0 -1
  301. package/dist/useRenderSlot-DATwjgpo.js +0 -2
  302. package/dist/useRenderSlot-DATwjgpo.js.map +0 -1
@@ -0,0 +1,643 @@
1
+ import { Slot as e, wrapPolymorphicSlot as t } from "./slot/index.mjs";
2
+ import { t as n } from "./spinner-DULLiM6a.mjs";
3
+ import { cva as r, cx as i } from "class-variance-authority";
4
+ import { useMemo as a } from "react";
5
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ import { makeVariants as l, tw as u } from "@spark-ui/internal-utils";
7
+ //#region src/button/variants/filled.ts
8
+ var d = [
9
+ {
10
+ intent: "main",
11
+ design: "filled",
12
+ class: u([
13
+ "bg-main",
14
+ "text-on-main",
15
+ "hover:bg-main-hovered",
16
+ "enabled:active:bg-main-hovered",
17
+ "focus-visible:bg-main-hovered"
18
+ ])
19
+ },
20
+ {
21
+ intent: "support",
22
+ design: "filled",
23
+ class: u([
24
+ "bg-support",
25
+ "text-on-support",
26
+ "hover:bg-support-hovered",
27
+ "enabled:active:bg-support-hovered",
28
+ "focus-visible:bg-support-hovered"
29
+ ])
30
+ },
31
+ {
32
+ intent: "accent",
33
+ design: "filled",
34
+ class: u([
35
+ "bg-accent",
36
+ "text-on-accent",
37
+ "hover:bg-accent-hovered",
38
+ "enabled:active:bg-accent-hovered",
39
+ "focus-visible:bg-accent-hovered"
40
+ ])
41
+ },
42
+ {
43
+ intent: "success",
44
+ design: "filled",
45
+ class: u([
46
+ "bg-success",
47
+ "text-on-success",
48
+ "hover:bg-success-hovered",
49
+ "enabled:active:bg-success-hovered",
50
+ "focus-visible:bg-success-hovered"
51
+ ])
52
+ },
53
+ {
54
+ intent: "alert",
55
+ design: "filled",
56
+ class: u([
57
+ "bg-alert",
58
+ "text-on-alert",
59
+ "hover:bg-alert-hovered",
60
+ "enabled:active:bg-alert-hovered",
61
+ "focus-visible:bg-alert-hovered"
62
+ ])
63
+ },
64
+ {
65
+ intent: "danger",
66
+ design: "filled",
67
+ class: u([
68
+ "text-on-error bg-error",
69
+ "hover:bg-error-hovered enabled:active:bg-error-hovered",
70
+ "focus-visible:bg-error-hovered"
71
+ ])
72
+ },
73
+ {
74
+ intent: "info",
75
+ design: "filled",
76
+ class: u([
77
+ "text-on-error bg-info",
78
+ "hover:bg-info-hovered enabled:active:bg-info-hovered",
79
+ "focus-visible:bg-info-hovered"
80
+ ])
81
+ },
82
+ {
83
+ intent: "neutral",
84
+ design: "filled",
85
+ class: u([
86
+ "bg-neutral",
87
+ "text-on-neutral",
88
+ "hover:bg-neutral-hovered",
89
+ "enabled:active:bg-neutral-hovered",
90
+ "focus-visible:bg-neutral-hovered"
91
+ ])
92
+ },
93
+ {
94
+ intent: "surface",
95
+ design: "filled",
96
+ class: u([
97
+ "bg-surface",
98
+ "text-on-surface",
99
+ "hover:bg-surface-hovered",
100
+ "enabled:active:bg-surface-hovered",
101
+ "focus-visible:bg-surface-hovered"
102
+ ])
103
+ },
104
+ {
105
+ intent: "surfaceInverse",
106
+ design: "filled",
107
+ class: u([
108
+ "bg-surface-inverse",
109
+ "text-on-surface-inverse",
110
+ "hover:bg-surface-inverse-hovered",
111
+ "enabled:active:bg-surface-inverse-hovered",
112
+ "focus-visible:bg-surface-inverse-hovered"
113
+ ])
114
+ }
115
+ ], f = [
116
+ {
117
+ intent: "main",
118
+ design: "ghost",
119
+ class: u([
120
+ "text-on-main-container",
121
+ "hover:bg-main/dim-5",
122
+ "enabled:active:bg-main/dim-5",
123
+ "focus-visible:bg-main/dim-5"
124
+ ])
125
+ },
126
+ {
127
+ intent: "support",
128
+ design: "ghost",
129
+ class: u([
130
+ "text-on-support-container",
131
+ "hover:bg-support/dim-5",
132
+ "enabled:active:bg-support/dim-5",
133
+ "focus-visible:bg-support/dim-5"
134
+ ])
135
+ },
136
+ {
137
+ intent: "accent",
138
+ design: "ghost",
139
+ class: u([
140
+ "text-on-accent-container",
141
+ "hover:bg-accent/dim-5",
142
+ "enabled:active:bg-accent/dim-5",
143
+ "focus-visible:bg-accent/dim-5"
144
+ ])
145
+ },
146
+ {
147
+ intent: "success",
148
+ design: "ghost",
149
+ class: u([
150
+ "text-on-success-container",
151
+ "hover:bg-success/dim-5",
152
+ "enabled:active:bg-success/dim-5",
153
+ "focus-visible:bg-success/dim-5"
154
+ ])
155
+ },
156
+ {
157
+ intent: "alert",
158
+ design: "ghost",
159
+ class: u([
160
+ "text-on-alert-container",
161
+ "hover:bg-alert/dim-5",
162
+ "enabled:active:bg-alert/dim-5",
163
+ "focus-visible:bg-alert/dim-5"
164
+ ])
165
+ },
166
+ {
167
+ intent: "danger",
168
+ design: "ghost",
169
+ class: u([
170
+ "text-on-error-container",
171
+ "hover:bg-error/dim-5",
172
+ "enabled:active:bg-error/dim-5",
173
+ "focus-visible:bg-error/dim-5"
174
+ ])
175
+ },
176
+ {
177
+ intent: "info",
178
+ design: "ghost",
179
+ class: u([
180
+ "text-on-info-container",
181
+ "hover:bg-info/dim-5",
182
+ "enabled:active:bg-info/dim-5",
183
+ "focus-visible:bg-info/dim-5"
184
+ ])
185
+ },
186
+ {
187
+ intent: "neutral",
188
+ design: "ghost",
189
+ class: u([
190
+ "text-on-neutral-container",
191
+ "hover:bg-neutral/dim-5",
192
+ "enabled:active:bg-neutral/dim-5",
193
+ "focus-visible:bg-neutral/dim-5"
194
+ ])
195
+ },
196
+ {
197
+ intent: "surface",
198
+ design: "ghost",
199
+ class: u([
200
+ "text-surface",
201
+ "hover:bg-surface/dim-5",
202
+ "enabled:active:bg-surface/dim-5",
203
+ "focus-visible:bg-surface/dim-5"
204
+ ])
205
+ },
206
+ {
207
+ intent: "surfaceInverse",
208
+ design: "ghost",
209
+ class: u([
210
+ "text-surface-inverse",
211
+ "hover:bg-surface-inverse/dim-5",
212
+ "enabled:active:bg-surface-inverse/dim-5",
213
+ "focus-visible:bg-surface-inverse/dim-5"
214
+ ])
215
+ }
216
+ ], p = [
217
+ {
218
+ intent: "main",
219
+ design: "outlined",
220
+ class: u([
221
+ "hover:bg-main/dim-5",
222
+ "enabled:active:bg-main/dim-5",
223
+ "focus-visible:bg-main/dim-5",
224
+ "text-main"
225
+ ])
226
+ },
227
+ {
228
+ intent: "support",
229
+ design: "outlined",
230
+ class: u([
231
+ "hover:bg-support/dim-5",
232
+ "enabled:active:bg-support/dim-5",
233
+ "focus-visible:bg-support/dim-5",
234
+ "text-support"
235
+ ])
236
+ },
237
+ {
238
+ intent: "accent",
239
+ design: "outlined",
240
+ class: u([
241
+ "hover:bg-accent/dim-5",
242
+ "enabled:active:bg-accent/dim-5",
243
+ "focus-visible:bg-accent/dim-5",
244
+ "text-accent"
245
+ ])
246
+ },
247
+ {
248
+ intent: "success",
249
+ design: "outlined",
250
+ class: u([
251
+ "hover:bg-success/dim-5",
252
+ "enabled:active:bg-success/dim-5",
253
+ "focus-visible:bg-success/dim-5",
254
+ "text-success"
255
+ ])
256
+ },
257
+ {
258
+ intent: "alert",
259
+ design: "outlined",
260
+ class: u([
261
+ "hover:bg-alert/dim-5",
262
+ "enabled:active:bg-alert/dim-5",
263
+ "focus-visible:bg-alert/dim-5",
264
+ "text-alert"
265
+ ])
266
+ },
267
+ {
268
+ intent: "danger",
269
+ design: "outlined",
270
+ class: u([
271
+ "hover:bg-error/dim-5",
272
+ "enabled:active:bg-error/dim-5",
273
+ "focus-visible:bg-error/dim-5",
274
+ "text-error"
275
+ ])
276
+ },
277
+ {
278
+ intent: "info",
279
+ design: "outlined",
280
+ class: u([
281
+ "hover:bg-info/dim-5",
282
+ "enabled:active:bg-info/dim-5",
283
+ "focus-visible:bg-info/dim-5",
284
+ "text-info"
285
+ ])
286
+ },
287
+ {
288
+ intent: "neutral",
289
+ design: "outlined",
290
+ class: u([
291
+ "hover:bg-neutral/dim-5",
292
+ "enabled:active:bg-neutral/dim-5",
293
+ "focus-visible:bg-neutral/dim-5",
294
+ "text-neutral"
295
+ ])
296
+ },
297
+ {
298
+ intent: "surface",
299
+ design: "outlined",
300
+ class: u([
301
+ "hover:bg-surface/dim-5",
302
+ "enabled:active:bg-surface/dim-5",
303
+ "focus-visible:bg-surface/dim-5",
304
+ "text-surface"
305
+ ])
306
+ },
307
+ {
308
+ intent: "surfaceInverse",
309
+ design: "outlined",
310
+ class: u([
311
+ "hover:bg-surface-inverse/dim-5",
312
+ "enabled:active:bg-surface-inverse/dim-5",
313
+ "focus-visible:bg-surface-inverse/dim-5",
314
+ "text-surface-inverse"
315
+ ])
316
+ }
317
+ ], m = [
318
+ {
319
+ intent: "main",
320
+ design: "tinted",
321
+ class: u([
322
+ "bg-main-container",
323
+ "text-on-main-container",
324
+ "hover:bg-main-container-hovered",
325
+ "enabled:active:bg-main-container-hovered",
326
+ "focus-visible:bg-main-container-hovered"
327
+ ])
328
+ },
329
+ {
330
+ intent: "support",
331
+ design: "tinted",
332
+ class: u([
333
+ "bg-support-container",
334
+ "text-on-support-container",
335
+ "hover:bg-support-container-hovered",
336
+ "enabled:active:bg-support-container-hovered",
337
+ "focus-visible:bg-support-container-hovered"
338
+ ])
339
+ },
340
+ {
341
+ intent: "accent",
342
+ design: "tinted",
343
+ class: u([
344
+ "bg-accent-container",
345
+ "text-on-accent-container",
346
+ "hover:bg-accent-container-hovered",
347
+ "enabled:active:bg-accent-container-hovered",
348
+ "focus-visible:bg-accent-container-hovered"
349
+ ])
350
+ },
351
+ {
352
+ intent: "success",
353
+ design: "tinted",
354
+ class: u([
355
+ "bg-success-container",
356
+ "text-on-success-container",
357
+ "hover:bg-success-container-hovered",
358
+ "enabled:active:bg-success-container-hovered",
359
+ "focus-visible:bg-success-container-hovered"
360
+ ])
361
+ },
362
+ {
363
+ intent: "alert",
364
+ design: "tinted",
365
+ class: u([
366
+ "bg-alert-container",
367
+ "text-on-alert-container",
368
+ "hover:bg-alert-container-hovered",
369
+ "enabled:active:bg-alert-container-hovered",
370
+ "focus-visible:bg-alert-container-hovered"
371
+ ])
372
+ },
373
+ {
374
+ intent: "danger",
375
+ design: "tinted",
376
+ class: u([
377
+ "bg-error-container",
378
+ "text-on-error-container",
379
+ "hover:bg-error-container-hovered",
380
+ "enabled:active:bg-error-container-hovered",
381
+ "focus-visible:bg-error-container-hovered"
382
+ ])
383
+ },
384
+ {
385
+ intent: "info",
386
+ design: "tinted",
387
+ class: u([
388
+ "bg-info-container",
389
+ "text-on-info-container",
390
+ "hover:bg-info-container-hovered",
391
+ "enabled:active:bg-info-container-hovered",
392
+ "focus-visible:bg-info-container-hovered"
393
+ ])
394
+ },
395
+ {
396
+ intent: "neutral",
397
+ design: "tinted",
398
+ class: u([
399
+ "bg-neutral-container",
400
+ "text-on-neutral-container",
401
+ "hover:bg-neutral-container-hovered",
402
+ "enabled:active:bg-neutral-container-hovered",
403
+ "focus-visible:bg-neutral-container-hovered"
404
+ ])
405
+ },
406
+ {
407
+ intent: "surface",
408
+ design: "tinted",
409
+ class: u([
410
+ "bg-surface",
411
+ "text-on-surface",
412
+ "hover:bg-surface-hovered",
413
+ "enabled:active:bg-surface-hovered",
414
+ "focus-visible:bg-surface-hovered"
415
+ ])
416
+ },
417
+ {
418
+ intent: "surfaceInverse",
419
+ design: "tinted",
420
+ class: u([
421
+ "bg-surface-inverse",
422
+ "text-on-surface-inverse",
423
+ "hover:bg-surface-inverse-hovered",
424
+ "enabled:active:bg-surface-inverse-hovered",
425
+ "focus-visible:bg-surface-inverse-hovered"
426
+ ])
427
+ }
428
+ ], h = [
429
+ {
430
+ intent: "main",
431
+ design: "contrast",
432
+ class: u([
433
+ "text-on-main-contaier bg-surface",
434
+ "hover:bg-main-container-hovered",
435
+ "enabled:active:bg-main-container-hovered",
436
+ "focus-visible:bg-main-container-hovered"
437
+ ])
438
+ },
439
+ {
440
+ intent: "support",
441
+ design: "contrast",
442
+ class: u([
443
+ "text-on-support-container bg-surface",
444
+ "hover:bg-support-container-hovered",
445
+ "enabled:active:bg-support-container-hovered",
446
+ "focus-visible:bg-support-container-hovered"
447
+ ])
448
+ },
449
+ {
450
+ intent: "accent",
451
+ design: "contrast",
452
+ class: u([
453
+ "text-on-accent-container bg-surface",
454
+ "hover:bg-accent-container-hovered",
455
+ "enabled:active:bg-accent-container-hovered",
456
+ "focus-visible:bg-accent-container-hovered"
457
+ ])
458
+ },
459
+ {
460
+ intent: "success",
461
+ design: "contrast",
462
+ class: u([
463
+ "text-on-success-container bg-surface",
464
+ "hover:bg-success-container-hovered",
465
+ "enabled:active:bg-success-container-hovered",
466
+ "focus-visible:bg-success-container-hovered"
467
+ ])
468
+ },
469
+ {
470
+ intent: "alert",
471
+ design: "contrast",
472
+ class: u([
473
+ "text-on-alert-container bg-surface",
474
+ "hover:bg-alert-container-hovered",
475
+ "enabled:active:bg-alert-container-hovered",
476
+ "focus-visible:bg-alert-container-hovered"
477
+ ])
478
+ },
479
+ {
480
+ intent: "danger",
481
+ design: "contrast",
482
+ class: u([
483
+ "text-on-error-container bg-surface",
484
+ "hover:bg-error-container-hovered",
485
+ "enabled:active:bg-error-container-hovered",
486
+ "focus-visible:bg-error-container-hovered"
487
+ ])
488
+ },
489
+ {
490
+ intent: "info",
491
+ design: "contrast",
492
+ class: u([
493
+ "text-on-info-container bg-surface",
494
+ "hover:bg-info-container-hovered",
495
+ "enabled:active:bg-info-container-hovered",
496
+ "focus-visible:bg-info-container-hovered"
497
+ ])
498
+ },
499
+ {
500
+ intent: "neutral",
501
+ design: "contrast",
502
+ class: u([
503
+ "text-on-neutral-container bg-surface",
504
+ "hover:bg-neutral-container-hovered",
505
+ "enabled:active:bg-neutral-container-hovered",
506
+ "focus-visible:bg-neutral-container-hovered"
507
+ ])
508
+ },
509
+ {
510
+ intent: "surface",
511
+ design: "contrast",
512
+ class: u([
513
+ "text-on-surface bg-surface",
514
+ "hover:bg-surface-hovered",
515
+ "enabled:active:bg-surface-hovered",
516
+ "focus-visible:bg-surface-hovered"
517
+ ])
518
+ },
519
+ {
520
+ intent: "surfaceInverse",
521
+ design: "contrast",
522
+ class: u([
523
+ "text-on-surface-inverse bg-surface-inverse",
524
+ "hover:bg-surface-inverse-hovered",
525
+ "enabled:active:bg-surface-inverse-hovered",
526
+ "focus-visible:bg-surface-inverse-hovered"
527
+ ])
528
+ }
529
+ ], g = r([
530
+ "u-shadow-border-transition",
531
+ "box-border inline-flex items-center justify-center gap-md whitespace-nowrap",
532
+ "default:px-lg",
533
+ "text-body-1 font-bold",
534
+ "focus-visible:u-outline"
535
+ ], {
536
+ variants: {
537
+ design: l({
538
+ filled: [],
539
+ outlined: [
540
+ "bg-transparent",
541
+ "border-sm",
542
+ "border-current"
543
+ ],
544
+ tinted: [],
545
+ ghost: ["default:-mx-md px-md hover:bg-main/dim-5"],
546
+ contrast: []
547
+ }),
548
+ underline: { true: ["underline"] },
549
+ intent: l({
550
+ main: [],
551
+ support: [],
552
+ accent: [],
553
+ success: [],
554
+ alert: [],
555
+ danger: [],
556
+ info: [],
557
+ neutral: [],
558
+ surface: [],
559
+ surfaceInverse: []
560
+ }),
561
+ size: l({
562
+ sm: ["min-w-sz-32", "h-sz-32"],
563
+ md: ["min-w-sz-44", "h-sz-44"],
564
+ lg: ["min-w-sz-56", "h-sz-56"]
565
+ }),
566
+ shape: l({
567
+ rounded: ["rounded-lg"],
568
+ square: ["rounded-0"],
569
+ pill: ["rounded-full"]
570
+ }),
571
+ disabled: {
572
+ true: ["cursor-not-allowed", "opacity-dim-3"],
573
+ false: ["cursor-pointer"]
574
+ }
575
+ },
576
+ compoundVariants: [
577
+ ...d,
578
+ ...p,
579
+ ...m,
580
+ ...f,
581
+ ...h
582
+ ],
583
+ defaultVariants: {
584
+ design: "filled",
585
+ intent: "main",
586
+ size: "md",
587
+ shape: "rounded"
588
+ }
589
+ }), _ = [
590
+ "onClick",
591
+ "onMouseDown",
592
+ "onMouseUp",
593
+ "onMouseEnter",
594
+ "onMouseLeave",
595
+ "onMouseOver",
596
+ "onMouseOut",
597
+ "onKeyDown",
598
+ "onKeyPress",
599
+ "onKeyUp",
600
+ "onSubmit"
601
+ ], v = ({ children: r, design: l = "filled", disabled: u = !1, intent: d = "main", isLoading: f = !1, loadingLabel: p, loadingText: m, shape: h = "rounded", size: v = "md", asChild: y, className: b, underline: x = !1, ref: S, ...C }) => {
602
+ let w = y ? e : "button", T = !!u || f, E = a(() => {
603
+ let e = {};
604
+ return T && _.forEach((t) => e[t] = void 0), e;
605
+ }, [T]), D = {
606
+ size: "current",
607
+ className: m ? "inline-block" : "absolute",
608
+ ...p && { "aria-label": p }
609
+ };
610
+ return /* @__PURE__ */ s(w, {
611
+ "data-spark-component": "button",
612
+ ...w === "button" && { type: "button" },
613
+ ref: S,
614
+ className: g({
615
+ className: b,
616
+ design: l,
617
+ disabled: T,
618
+ intent: d,
619
+ shape: h,
620
+ size: v,
621
+ underline: x
622
+ }),
623
+ disabled: !!u,
624
+ "aria-busy": f,
625
+ "aria-live": f ? "assertive" : "off",
626
+ ...C,
627
+ ...E,
628
+ children: t(y, r, (e) => f ? /* @__PURE__ */ c(o, { children: [
629
+ /* @__PURE__ */ s(n, { ...D }),
630
+ m,
631
+ /* @__PURE__ */ s("div", {
632
+ "aria-hidden": !0,
633
+ className: i("gap-md", m ? "hidden" : "inline-flex opacity-0"),
634
+ children: e
635
+ })
636
+ ] }) : e)
637
+ });
638
+ };
639
+ v.displayName = "Button";
640
+ //#endregion
641
+ export { g as n, v as t };
642
+
643
+ //# sourceMappingURL=button-_YZ_4J42.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-_YZ_4J42.mjs","names":[],"sources":["../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/button/Button.styles.tsx","../src/button/Button.tsx"],"sourcesContent":["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 // 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: '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: '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: '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: '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\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 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\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 { 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'>, 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 is 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}\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"],"mappings":";;;;;;;AAEA,IAAa,IAAiB;CAE5B;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CAED;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACF,ECpHY,IAAgB;CAC3B;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACF,ECrGY,IAAmB;CAC9B;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACF,ECrGY,IAAiB;CAC5B;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACA;GACD,CAAC;EACH;CACF,EC/GY,IAAmB;CAC9B;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACD;EACE,QAAQ;EACR,QAAQ;EACR,OAAO,EAAG;GACR;GACA;GACA;GACA;GACD,CAAC;EACH;CACF,EC5FY,IAAe,EAC1B;CACE;CACA;CACA;CACA;CACA;CACD,EACD;CACE,UAAU;EAeR,QAAQ,EAA8E;GACpF,QAAQ,EAAE;GACV,UAAU;IAAC;IAAkB;IAAa;IAAiB;GAC3D,QAAQ,EAAE;GACV,OAAO,CAAC,2CAA2C;GACnD,UAAU,EAAE;GACb,CAAC;EACF,WAAW,EACT,MAAM,CAAC,YAAY,EACpB;EAID,QAAQ,EAcN;GACA,MAAM,EAAE;GACR,SAAS,EAAE;GACX,QAAQ,EAAE;GACV,SAAS,EAAE;GACX,OAAO,EAAE;GACT,QAAQ,EAAE;GACV,MAAM,EAAE;GACR,SAAS,EAAE;GACX,SAAS,EAAE;GACX,gBAAgB,EAAE;GACnB,CAAC;EAIF,MAAM,EAAyC;GAC7C,IAAI,CAAC,eAAe,UAAU;GAC9B,IAAI,CAAC,eAAe,UAAU;GAC9B,IAAI,CAAC,eAAe,UAAU;GAC/B,CAAC;EAIF,OAAO,EAAqD;GAC1D,SAAS,CAAC,aAAa;GACvB,QAAQ,CAAC,YAAY;GACrB,MAAM,CAAC,eAAe;GACvB,CAAC;EAIF,UAAU;GACR,MAAM,CAAC,sBAAsB,gBAAgB;GAC7C,OAAO,CAAC,iBAAiB;GAC1B;EACF;CACD,kBAAkB;EAChB,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACJ;CACD,iBAAiB;EACf,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,OAAO;EACR;CACF,CACF,EC9EK,IAAoD;CACxD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,EAEY,KAAU,EACrB,aACA,YAAS,UACT,cAAW,IACX,YAAS,QACT,eAAY,IACZ,iBACA,gBACA,WAAQ,WACR,UAAO,MACP,YACA,cACA,eAAY,IACZ,QACA,GAAG,QACc;CACjB,IAAM,IAAY,IAAU,IAAO,UAE7B,IAAoB,CAAC,CAAC,KAAY,GAElC,IAAwB,QAAc;EAC1C,IAAM,IAAiE,EAAE;AAMzE,SAJI,KACF,EAAqB,SAAQ,MAAiB,EAAO,KAAgB,KAAA,EAAW,EAG3E;IACN,CAAC,EAAkB,CAAC,EAEjB,IAAe;EACnB,MAAM;EACN,WAAW,IAAc,iBAAiB;EAC1C,GAAI,KAAgB,EAAE,cAAc,GAAc;EACnD;AAED,QACE,kBAAC,GAAD;EACE,wBAAqB;EACrB,GAAK,MAAc,YAAY,EAAE,MAAM,UAAU;EAC5C;EACL,WAAW,EAAa;GACtB;GACA;GACA,UAAU;GACV;GACA;GACA;GACA;GACD,CAAC;EACF,UAAU,CAAC,CAAC;EACZ,aAAW;EACX,aAAW,IAAY,cAAc;EACrC,GAAI;EACJ,GAAI;YAEH,EAAoB,GAAS,IAAU,MACtC,IACE,kBAAA,GAAA,EAAA,UAAA;GACE,kBAAC,GAAD,EAAS,GAAI,GAAgB,CAAA;GAC5B;GAED,kBAAC,OAAD;IACE,eAAA;IACA,WAAW,EAAG,UAAU,IAAc,WAAW,wBAAwB;cAExE;IACG,CAAA;GACL,EAAA,CAAA,GAEH,EAEH;EACS,CAAA;;AAIhB,EAAO,cAAc"}