@spark-ui/components 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +19 -0
  4. package/dist/DialogTrigger-5SI4dvpK.d.mts +142 -0
  5. package/dist/DialogTrigger-5SI4dvpK.d.ts +142 -0
  6. package/dist/Input-g0LpWuv0.d.mts +17 -0
  7. package/dist/Input-g0LpWuv0.d.ts +17 -0
  8. package/dist/InputGroup-aoaZxCLk.d.mts +28 -0
  9. package/dist/InputGroup-aoaZxCLk.d.ts +28 -0
  10. package/dist/InputTrailingIcon-BBp7sE6D.d.mts +20 -0
  11. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
  12. package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +19 -0
  13. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
  14. package/dist/accordion/index.d.mts +85 -0
  15. package/dist/accordion/index.d.ts +85 -0
  16. package/dist/accordion/index.js +461 -0
  17. package/dist/accordion/index.js.map +1 -0
  18. package/dist/accordion/index.mjs +249 -0
  19. package/dist/accordion/index.mjs.map +1 -0
  20. package/dist/alert-dialog/index.d.mts +119 -0
  21. package/dist/alert-dialog/index.d.ts +119 -0
  22. package/dist/alert-dialog/index.js +1451 -0
  23. package/dist/alert-dialog/index.js.map +1 -0
  24. package/dist/alert-dialog/index.mjs +177 -0
  25. package/dist/alert-dialog/index.mjs.map +1 -0
  26. package/dist/badge/index.d.mts +47 -0
  27. package/dist/badge/index.d.ts +47 -0
  28. package/dist/badge/index.js +122 -0
  29. package/dist/badge/index.js.map +1 -0
  30. package/dist/badge/index.mjs +95 -0
  31. package/dist/badge/index.mjs.map +1 -0
  32. package/dist/breadcrumb/index.d.mts +64 -0
  33. package/dist/breadcrumb/index.d.ts +64 -0
  34. package/dist/breadcrumb/index.js +326 -0
  35. package/dist/breadcrumb/index.js.map +1 -0
  36. package/dist/breadcrumb/index.mjs +149 -0
  37. package/dist/breadcrumb/index.mjs.map +1 -0
  38. package/dist/button/index.d.mts +40 -0
  39. package/dist/button/index.d.ts +40 -0
  40. package/dist/button/index.js +877 -0
  41. package/dist/button/index.js.map +1 -0
  42. package/dist/button/index.mjs +10 -0
  43. package/dist/button/index.mjs.map +1 -0
  44. package/dist/carousel/index.d.mts +253 -0
  45. package/dist/carousel/index.d.ts +253 -0
  46. package/dist/carousel/index.js +1678 -0
  47. package/dist/carousel/index.js.map +1 -0
  48. package/dist/carousel/index.mjs +716 -0
  49. package/dist/carousel/index.mjs.map +1 -0
  50. package/dist/checkbox/index.d.mts +120 -0
  51. package/dist/checkbox/index.d.ts +120 -0
  52. package/dist/checkbox/index.js +873 -0
  53. package/dist/checkbox/index.js.map +1 -0
  54. package/dist/checkbox/index.mjs +349 -0
  55. package/dist/checkbox/index.mjs.map +1 -0
  56. package/dist/chip/index.d.mts +97 -0
  57. package/dist/chip/index.d.ts +97 -0
  58. package/dist/chip/index.js +905 -0
  59. package/dist/chip/index.js.map +1 -0
  60. package/dist/chip/index.mjs +793 -0
  61. package/dist/chip/index.mjs.map +1 -0
  62. package/dist/chunk-2KPFQEAA.mjs +52 -0
  63. package/dist/chunk-2KPFQEAA.mjs.map +1 -0
  64. package/dist/chunk-4F5DOL57.mjs +26 -0
  65. package/dist/chunk-4F5DOL57.mjs.map +1 -0
  66. package/dist/chunk-6JOA37TZ.mjs +742 -0
  67. package/dist/chunk-6JOA37TZ.mjs.map +1 -0
  68. package/dist/chunk-7PMPYEHJ.mjs +379 -0
  69. package/dist/chunk-7PMPYEHJ.mjs.map +1 -0
  70. package/dist/chunk-AESXFMCC.mjs +68 -0
  71. package/dist/chunk-AESXFMCC.mjs.map +1 -0
  72. package/dist/chunk-B42LOFIZ.mjs +308 -0
  73. package/dist/chunk-B42LOFIZ.mjs.map +1 -0
  74. package/dist/chunk-FGOZHKBT.mjs +97 -0
  75. package/dist/chunk-FGOZHKBT.mjs.map +1 -0
  76. package/dist/chunk-HLXYG643.mjs +52 -0
  77. package/dist/chunk-HLXYG643.mjs.map +1 -0
  78. package/dist/chunk-JKNBJHD5.mjs +601 -0
  79. package/dist/chunk-JKNBJHD5.mjs.map +1 -0
  80. package/dist/chunk-K7VP7DH3.mjs +66 -0
  81. package/dist/chunk-K7VP7DH3.mjs.map +1 -0
  82. package/dist/chunk-MUNDKRAE.mjs +80 -0
  83. package/dist/chunk-MUNDKRAE.mjs.map +1 -0
  84. package/dist/chunk-NBZKMCHF.mjs +36 -0
  85. package/dist/chunk-NBZKMCHF.mjs.map +1 -0
  86. package/dist/chunk-PZWESKAR.mjs +314 -0
  87. package/dist/chunk-PZWESKAR.mjs.map +1 -0
  88. package/dist/collapsible/index.d.mts +60 -0
  89. package/dist/collapsible/index.d.ts +60 -0
  90. package/dist/collapsible/index.js +140 -0
  91. package/dist/collapsible/index.js.map +1 -0
  92. package/dist/collapsible/index.mjs +8 -0
  93. package/dist/collapsible/index.mjs.map +1 -0
  94. package/dist/combobox/index.d.mts +285 -0
  95. package/dist/combobox/index.d.ts +285 -0
  96. package/dist/combobox/index.js +2920 -0
  97. package/dist/combobox/index.js.map +1 -0
  98. package/dist/combobox/index.mjs +1267 -0
  99. package/dist/combobox/index.mjs.map +1 -0
  100. package/dist/dialog/index.d.mts +33 -0
  101. package/dist/dialog/index.d.ts +33 -0
  102. package/dist/dialog/index.js +1286 -0
  103. package/dist/dialog/index.js.map +1 -0
  104. package/dist/dialog/index.mjs +13 -0
  105. package/dist/dialog/index.mjs.map +1 -0
  106. package/dist/divider/index.d.mts +61 -0
  107. package/dist/divider/index.d.ts +61 -0
  108. package/dist/divider/index.js +223 -0
  109. package/dist/divider/index.js.map +1 -0
  110. package/dist/divider/index.mjs +196 -0
  111. package/dist/divider/index.mjs.map +1 -0
  112. package/dist/drawer/index.d.mts +148 -0
  113. package/dist/drawer/index.d.ts +148 -0
  114. package/dist/drawer/index.js +1266 -0
  115. package/dist/drawer/index.js.map +1 -0
  116. package/dist/drawer/index.mjs +299 -0
  117. package/dist/drawer/index.mjs.map +1 -0
  118. package/dist/dropdown/index.d.mts +233 -0
  119. package/dist/dropdown/index.d.ts +233 -0
  120. package/dist/dropdown/index.js +2402 -0
  121. package/dist/dropdown/index.js.map +1 -0
  122. package/dist/dropdown/index.mjs +741 -0
  123. package/dist/dropdown/index.mjs.map +1 -0
  124. package/dist/form-field/index.d.mts +176 -0
  125. package/dist/form-field/index.d.ts +176 -0
  126. package/dist/form-field/index.js +540 -0
  127. package/dist/form-field/index.js.map +1 -0
  128. package/dist/form-field/index.mjs +13 -0
  129. package/dist/form-field/index.mjs.map +1 -0
  130. package/dist/icon/index.d.mts +28 -0
  131. package/dist/icon/index.d.ts +28 -0
  132. package/dist/icon/index.js +127 -0
  133. package/dist/icon/index.js.map +1 -0
  134. package/dist/icon/index.mjs +9 -0
  135. package/dist/icon/index.mjs.map +1 -0
  136. package/dist/icon-button/index.d.mts +16 -0
  137. package/dist/icon-button/index.d.ts +16 -0
  138. package/dist/icon-button/index.js +921 -0
  139. package/dist/icon-button/index.js.map +1 -0
  140. package/dist/icon-button/index.mjs +11 -0
  141. package/dist/icon-button/index.mjs.map +1 -0
  142. package/dist/input/index.d.mts +78 -0
  143. package/dist/input/index.d.ts +78 -0
  144. package/dist/input/index.js +1119 -0
  145. package/dist/input/index.js.map +1 -0
  146. package/dist/input/index.mjs +16 -0
  147. package/dist/input/index.mjs.map +1 -0
  148. package/dist/kbd/index.d.mts +9 -0
  149. package/dist/kbd/index.d.ts +9 -0
  150. package/dist/kbd/index.js +46 -0
  151. package/dist/kbd/index.js.map +1 -0
  152. package/dist/kbd/index.mjs +19 -0
  153. package/dist/kbd/index.mjs.map +1 -0
  154. package/dist/label/index.d.mts +11 -0
  155. package/dist/label/index.d.ts +11 -0
  156. package/dist/label/index.js +78 -0
  157. package/dist/label/index.js.map +1 -0
  158. package/dist/label/index.mjs +7 -0
  159. package/dist/label/index.mjs.map +1 -0
  160. package/dist/link-box/index.d.mts +34 -0
  161. package/dist/link-box/index.d.ts +34 -0
  162. package/dist/link-box/index.js +92 -0
  163. package/dist/link-box/index.js.map +1 -0
  164. package/dist/link-box/index.mjs +58 -0
  165. package/dist/link-box/index.mjs.map +1 -0
  166. package/dist/pagination/index.d.mts +143 -0
  167. package/dist/pagination/index.d.ts +143 -0
  168. package/dist/pagination/index.js +1303 -0
  169. package/dist/pagination/index.js.map +1 -0
  170. package/dist/pagination/index.mjs +326 -0
  171. package/dist/pagination/index.mjs.map +1 -0
  172. package/dist/popover/index.d.mts +93 -0
  173. package/dist/popover/index.d.ts +93 -0
  174. package/dist/popover/index.js +1280 -0
  175. package/dist/popover/index.js.map +1 -0
  176. package/dist/popover/index.mjs +13 -0
  177. package/dist/popover/index.mjs.map +1 -0
  178. package/dist/portal/index.d.mts +13 -0
  179. package/dist/portal/index.d.ts +13 -0
  180. package/dist/portal/index.js +37 -0
  181. package/dist/portal/index.js.map +1 -0
  182. package/dist/portal/index.mjs +10 -0
  183. package/dist/portal/index.mjs.map +1 -0
  184. package/dist/progress/index.d.mts +48 -0
  185. package/dist/progress/index.d.ts +48 -0
  186. package/dist/progress/index.js +201 -0
  187. package/dist/progress/index.js.map +1 -0
  188. package/dist/progress/index.mjs +174 -0
  189. package/dist/progress/index.mjs.map +1 -0
  190. package/dist/progress-tracker/index.d.mts +81 -0
  191. package/dist/progress-tracker/index.d.ts +81 -0
  192. package/dist/progress-tracker/index.js +834 -0
  193. package/dist/progress-tracker/index.js.map +1 -0
  194. package/dist/progress-tracker/index.mjs +716 -0
  195. package/dist/progress-tracker/index.mjs.map +1 -0
  196. package/dist/radio-group/index.d.mts +100 -0
  197. package/dist/radio-group/index.d.ts +100 -0
  198. package/dist/radio-group/index.js +824 -0
  199. package/dist/radio-group/index.js.map +1 -0
  200. package/dist/radio-group/index.mjs +297 -0
  201. package/dist/radio-group/index.mjs.map +1 -0
  202. package/dist/rating/index.d.mts +78 -0
  203. package/dist/rating/index.d.ts +78 -0
  204. package/dist/rating/index.js +362 -0
  205. package/dist/rating/index.js.map +1 -0
  206. package/dist/rating/index.mjs +247 -0
  207. package/dist/rating/index.mjs.map +1 -0
  208. package/dist/scrolling-list/index.d.mts +105 -0
  209. package/dist/scrolling-list/index.d.ts +105 -0
  210. package/dist/scrolling-list/index.js +1367 -0
  211. package/dist/scrolling-list/index.js.map +1 -0
  212. package/dist/scrolling-list/index.mjs +407 -0
  213. package/dist/scrolling-list/index.mjs.map +1 -0
  214. package/dist/select/index.d.mts +167 -0
  215. package/dist/select/index.d.ts +167 -0
  216. package/dist/select/index.js +991 -0
  217. package/dist/select/index.js.map +1 -0
  218. package/dist/select/index.mjs +470 -0
  219. package/dist/select/index.mjs.map +1 -0
  220. package/dist/skeleton/index.d.mts +67 -0
  221. package/dist/skeleton/index.d.ts +67 -0
  222. package/dist/skeleton/index.js +206 -0
  223. package/dist/skeleton/index.js.map +1 -0
  224. package/dist/skeleton/index.mjs +147 -0
  225. package/dist/skeleton/index.mjs.map +1 -0
  226. package/dist/slider/index.d.mts +97 -0
  227. package/dist/slider/index.d.ts +97 -0
  228. package/dist/slider/index.js +209 -0
  229. package/dist/slider/index.js.map +1 -0
  230. package/dist/slider/index.mjs +182 -0
  231. package/dist/slider/index.mjs.map +1 -0
  232. package/dist/slot/index.d.mts +17 -0
  233. package/dist/slot/index.d.ts +17 -0
  234. package/dist/slot/index.js +51 -0
  235. package/dist/slot/index.js.map +1 -0
  236. package/dist/slot/index.mjs +11 -0
  237. package/dist/slot/index.mjs.map +1 -0
  238. package/dist/snackbar/index.d.mts +158 -0
  239. package/dist/snackbar/index.d.ts +158 -0
  240. package/dist/snackbar/index.js +1693 -0
  241. package/dist/snackbar/index.js.map +1 -0
  242. package/dist/snackbar/index.mjs +733 -0
  243. package/dist/snackbar/index.mjs.map +1 -0
  244. package/dist/spinner/index.d.mts +21 -0
  245. package/dist/spinner/index.d.ts +21 -0
  246. package/dist/spinner/index.js +139 -0
  247. package/dist/spinner/index.js.map +1 -0
  248. package/dist/spinner/index.mjs +9 -0
  249. package/dist/spinner/index.mjs.map +1 -0
  250. package/dist/stepper/index.d.mts +82 -0
  251. package/dist/stepper/index.d.ts +82 -0
  252. package/dist/stepper/index.js +2178 -0
  253. package/dist/stepper/index.js.map +1 -0
  254. package/dist/stepper/index.mjs +229 -0
  255. package/dist/stepper/index.mjs.map +1 -0
  256. package/dist/switch/index.d.mts +64 -0
  257. package/dist/switch/index.d.ts +64 -0
  258. package/dist/switch/index.js +768 -0
  259. package/dist/switch/index.js.map +1 -0
  260. package/dist/switch/index.mjs +245 -0
  261. package/dist/switch/index.mjs.map +1 -0
  262. package/dist/tabs/index.d.mts +103 -0
  263. package/dist/tabs/index.d.ts +103 -0
  264. package/dist/tabs/index.js +1315 -0
  265. package/dist/tabs/index.js.map +1 -0
  266. package/dist/tabs/index.mjs +391 -0
  267. package/dist/tabs/index.mjs.map +1 -0
  268. package/dist/tag/index.d.mts +27 -0
  269. package/dist/tag/index.d.ts +27 -0
  270. package/dist/tag/index.js +269 -0
  271. package/dist/tag/index.js.map +1 -0
  272. package/dist/tag/index.mjs +237 -0
  273. package/dist/tag/index.mjs.map +1 -0
  274. package/dist/text-link/index.d.mts +20 -0
  275. package/dist/text-link/index.d.ts +20 -0
  276. package/dist/text-link/index.js +99 -0
  277. package/dist/text-link/index.js.map +1 -0
  278. package/dist/text-link/index.mjs +8 -0
  279. package/dist/text-link/index.mjs.map +1 -0
  280. package/dist/textarea/index.d.mts +47 -0
  281. package/dist/textarea/index.d.ts +47 -0
  282. package/dist/textarea/index.js +1180 -0
  283. package/dist/textarea/index.js.map +1 -0
  284. package/dist/textarea/index.mjs +77 -0
  285. package/dist/textarea/index.mjs.map +1 -0
  286. package/dist/visually-hidden/index.d.mts +16 -0
  287. package/dist/visually-hidden/index.d.ts +16 -0
  288. package/dist/visually-hidden/index.js +67 -0
  289. package/dist/visually-hidden/index.js.map +1 -0
  290. package/dist/visually-hidden/index.mjs +8 -0
  291. package/dist/visually-hidden/index.mjs.map +1 -0
  292. package/global.d.ts +12 -0
  293. package/package.json +75 -0
  294. package/tsconfig.build.json +9 -0
  295. package/tsconfig.json +9 -0
  296. package/tsup.config.ts +11 -0
@@ -0,0 +1,768 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/switch/index.ts
21
+ var switch_exports = {};
22
+ __export(switch_exports, {
23
+ Switch: () => Switch
24
+ });
25
+ module.exports = __toCommonJS(switch_exports);
26
+
27
+ // src/switch/Switch.tsx
28
+ var import_class_variance_authority13 = require("class-variance-authority");
29
+ var import_react8 = require("react");
30
+
31
+ // src/form-field/FormField.tsx
32
+ var import_class_variance_authority = require("class-variance-authority");
33
+ var import_react4 = require("react");
34
+
35
+ // src/slot/Slot.tsx
36
+ var import_radix_ui = require("radix-ui");
37
+ var import_react = require("react");
38
+ var import_jsx_runtime = require("react/jsx-runtime");
39
+ var Slottable = import_radix_ui.Slot.Slottable;
40
+ var Slot = ({ ref, ...props }) => {
41
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Slot.Root, { ref, ...props });
42
+ };
43
+
44
+ // src/form-field/FormFieldContext.tsx
45
+ var import_react2 = require("react");
46
+ var FormFieldContext = (0, import_react2.createContext)(null);
47
+ var ID_PREFIX = ":form-field";
48
+ var useFormField = () => {
49
+ const context = (0, import_react2.useContext)(FormFieldContext);
50
+ if (!context) {
51
+ throw Error("useFormField must be used within a FormField provider");
52
+ }
53
+ return context;
54
+ };
55
+
56
+ // src/form-field/FormFieldProvider.tsx
57
+ var import_react3 = require("react");
58
+ var import_jsx_runtime2 = require("react/jsx-runtime");
59
+ var FormFieldProvider = ({
60
+ id,
61
+ name,
62
+ disabled = false,
63
+ readOnly = false,
64
+ state,
65
+ isRequired,
66
+ children
67
+ }) => {
68
+ const labelId = `${ID_PREFIX}-label-${(0, import_react3.useId)()}`;
69
+ const [messageIds, setMessageIds] = (0, import_react3.useState)([]);
70
+ const description = messageIds.length > 0 ? messageIds.join(" ") : void 0;
71
+ const handleMessageIdAdd = (0, import_react3.useCallback)((msgId) => {
72
+ setMessageIds((ids) => [...ids, msgId]);
73
+ }, []);
74
+ const handleMessageIdRemove = (0, import_react3.useCallback)((msgId) => {
75
+ setMessageIds((ids) => ids.filter((current) => current !== msgId));
76
+ }, []);
77
+ const value = (0, import_react3.useMemo)(() => {
78
+ const isInvalid = state === "error";
79
+ return {
80
+ id,
81
+ labelId,
82
+ name,
83
+ disabled,
84
+ readOnly,
85
+ state,
86
+ isRequired,
87
+ isInvalid,
88
+ description,
89
+ onMessageIdAdd: handleMessageIdAdd,
90
+ onMessageIdRemove: handleMessageIdRemove
91
+ };
92
+ }, [
93
+ id,
94
+ labelId,
95
+ name,
96
+ disabled,
97
+ readOnly,
98
+ description,
99
+ state,
100
+ isRequired,
101
+ handleMessageIdAdd,
102
+ handleMessageIdRemove
103
+ ]);
104
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(FormFieldContext.Provider, { value, children });
105
+ };
106
+ FormFieldProvider.displayName = "FormFieldProvider";
107
+
108
+ // src/form-field/FormField.tsx
109
+ var import_jsx_runtime3 = require("react/jsx-runtime");
110
+ var FormField = ({
111
+ className,
112
+ disabled = false,
113
+ readOnly = false,
114
+ name,
115
+ state,
116
+ isRequired = false,
117
+ asChild = false,
118
+ ref,
119
+ ...others
120
+ }) => {
121
+ const id = `${ID_PREFIX}-${(0, import_react4.useId)()}`;
122
+ const Component = asChild ? Slot : "div";
123
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
124
+ FormFieldProvider,
125
+ {
126
+ id,
127
+ name,
128
+ isRequired,
129
+ disabled,
130
+ readOnly,
131
+ state,
132
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
133
+ Component,
134
+ {
135
+ ref,
136
+ "data-spark-component": "form-field",
137
+ className: (0, import_class_variance_authority.cx)(className, "gap-sm flex flex-col"),
138
+ ...others
139
+ }
140
+ )
141
+ }
142
+ );
143
+ };
144
+ FormField.displayName = "FormField";
145
+
146
+ // src/form-field/FormFieldStateMessage.tsx
147
+ var import_AlertOutline = require("@spark-ui/icons/AlertOutline");
148
+ var import_Check = require("@spark-ui/icons/Check");
149
+ var import_WarningOutline = require("@spark-ui/icons/WarningOutline");
150
+ var import_class_variance_authority4 = require("class-variance-authority");
151
+
152
+ // src/icon/Icon.tsx
153
+ var import_react5 = require("react");
154
+
155
+ // src/visually-hidden/VisuallyHidden.tsx
156
+ var import_jsx_runtime4 = require("react/jsx-runtime");
157
+ var VisuallyHidden = ({ asChild = false, ref, ...props }) => {
158
+ const Component = asChild ? Slot : "span";
159
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
160
+ Component,
161
+ {
162
+ ...props,
163
+ ref,
164
+ style: {
165
+ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
166
+ position: "absolute",
167
+ border: 0,
168
+ width: 1,
169
+ height: 1,
170
+ padding: 0,
171
+ margin: -1,
172
+ overflow: "hidden",
173
+ clip: "rect(0, 0, 0, 0)",
174
+ whiteSpace: "nowrap",
175
+ wordWrap: "normal",
176
+ ...props.style
177
+ }
178
+ }
179
+ );
180
+ };
181
+ VisuallyHidden.displayName = "VisuallyHidden";
182
+
183
+ // src/icon/Icon.styles.tsx
184
+ var import_internal_utils = require("@spark-ui/internal-utils");
185
+ var import_class_variance_authority2 = require("class-variance-authority");
186
+ var iconStyles = (0, import_class_variance_authority2.cva)(["fill-current shrink-0"], {
187
+ variants: {
188
+ /**
189
+ * Color scheme of the icon.
190
+ */
191
+ intent: (0, import_internal_utils.makeVariants)({
192
+ current: ["text-current"],
193
+ main: ["text-main"],
194
+ support: ["text-support"],
195
+ accent: ["text-accent"],
196
+ basic: ["text-basic"],
197
+ success: ["text-success"],
198
+ alert: ["text-alert"],
199
+ error: ["text-error"],
200
+ info: ["text-info"],
201
+ neutral: ["text-neutral"]
202
+ }),
203
+ /**
204
+ * Sets the size of the icon.
205
+ */
206
+ size: (0, import_internal_utils.makeVariants)({
207
+ current: ["u-current-font-size"],
208
+ sm: ["w-sz-16", "h-sz-16"],
209
+ md: ["w-sz-24", "h-sz-24"],
210
+ lg: ["w-sz-32", "h-sz-32"],
211
+ xl: ["w-sz-40", "h-sz-40"]
212
+ })
213
+ }
214
+ });
215
+
216
+ // src/icon/Icon.tsx
217
+ var import_jsx_runtime5 = require("react/jsx-runtime");
218
+ var Icon = ({
219
+ label,
220
+ className,
221
+ size = "current",
222
+ intent = "current",
223
+ children,
224
+ ...others
225
+ }) => {
226
+ const child = import_react5.Children.only(children);
227
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
228
+ (0, import_react5.cloneElement)(child, {
229
+ className: iconStyles({ className, size, intent }),
230
+ "data-spark-component": "icon",
231
+ "aria-hidden": "true",
232
+ focusable: "false",
233
+ ...others
234
+ }),
235
+ label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(VisuallyHidden, { children: label })
236
+ ] });
237
+ };
238
+ Icon.displayName = "Icon";
239
+
240
+ // src/form-field/FormFieldMessage.tsx
241
+ var import_class_variance_authority3 = require("class-variance-authority");
242
+ var import_react6 = require("react");
243
+ var import_jsx_runtime6 = require("react/jsx-runtime");
244
+ var FormFieldMessage = ({
245
+ id: idProp,
246
+ className,
247
+ ref,
248
+ ...others
249
+ }) => {
250
+ const { onMessageIdAdd, onMessageIdRemove } = useFormField();
251
+ const currentId = `${ID_PREFIX}-message-${(0, import_react6.useId)()}`;
252
+ const id = idProp || currentId;
253
+ (0, import_react6.useEffect)(() => {
254
+ onMessageIdAdd(id);
255
+ return () => {
256
+ onMessageIdRemove(id);
257
+ };
258
+ }, [id, onMessageIdAdd, onMessageIdRemove]);
259
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
260
+ "span",
261
+ {
262
+ ref,
263
+ id,
264
+ "data-spark-component": "form-field-message",
265
+ className: (0, import_class_variance_authority3.cx)(className, "text-caption"),
266
+ ...others
267
+ }
268
+ );
269
+ };
270
+ FormFieldMessage.displayName = "FormField.Message";
271
+
272
+ // src/form-field/FormFieldStateMessage.tsx
273
+ var import_jsx_runtime7 = require("react/jsx-runtime");
274
+ var FormFieldStateMessage = ({
275
+ className,
276
+ state,
277
+ children,
278
+ ref,
279
+ ...others
280
+ }) => {
281
+ const field = useFormField();
282
+ if (field.state !== state) {
283
+ return null;
284
+ }
285
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
286
+ FormFieldMessage,
287
+ {
288
+ ref,
289
+ "data-spark-component": "form-field-state-message",
290
+ "aria-live": "polite",
291
+ className: (0, import_class_variance_authority4.cx)(
292
+ "gap-sm flex items-center",
293
+ state === "error" ? "text-error" : "text-on-surface/dim-1",
294
+ className
295
+ ),
296
+ ...others,
297
+ children: [
298
+ state === "alert" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_WarningOutline.WarningOutline, {}) }),
299
+ state === "error" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", intent: "error", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_AlertOutline.AlertOutline, {}) }),
300
+ state === "success" && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Check.Check, {}) }),
301
+ children
302
+ ]
303
+ }
304
+ );
305
+ };
306
+ FormFieldStateMessage.displayName = "FormField.StateMessage";
307
+
308
+ // src/form-field/FormFieldAlertMessage.tsx
309
+ var import_jsx_runtime8 = require("react/jsx-runtime");
310
+ var FormFieldAlertMessage = ({ ref, ...props }) => {
311
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
312
+ FormFieldStateMessage,
313
+ {
314
+ ref,
315
+ "data-spark-component": "form-field-alert-message",
316
+ state: "alert",
317
+ ...props
318
+ }
319
+ );
320
+ };
321
+ FormFieldAlertMessage.displayName = "FormField.AlertMessage";
322
+
323
+ // src/form-field/FormFieldCharactersCount.tsx
324
+ var import_class_variance_authority5 = require("class-variance-authority");
325
+ var import_jsx_runtime9 = require("react/jsx-runtime");
326
+ var FormFieldCharactersCount = ({
327
+ className,
328
+ value = "",
329
+ maxLength,
330
+ ref,
331
+ ...others
332
+ }) => {
333
+ const displayValue = `${value.length}/${maxLength}`;
334
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
335
+ "span",
336
+ {
337
+ ref,
338
+ "data-spark-component": "form-field-characters-count",
339
+ className: (0, import_class_variance_authority5.cx)(className, "text-caption", "text-neutral"),
340
+ ...others,
341
+ children: displayValue
342
+ }
343
+ );
344
+ };
345
+ FormFieldCharactersCount.displayName = "FormField.CharactersCount";
346
+
347
+ // src/form-field/FormFieldControl.tsx
348
+ var import_react7 = require("react");
349
+ var import_jsx_runtime10 = require("react/jsx-runtime");
350
+ var useFormFieldControl = () => {
351
+ const { id, name, description, disabled, readOnly, state, labelId, isInvalid, isRequired } = (0, import_react7.useContext)(FormFieldContext) || {};
352
+ return {
353
+ id,
354
+ name,
355
+ description,
356
+ disabled,
357
+ readOnly,
358
+ state,
359
+ labelId,
360
+ isInvalid,
361
+ isRequired
362
+ };
363
+ };
364
+ var FormFieldControl = ({ children }) => {
365
+ const props = useFormFieldControl();
366
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: children(props) });
367
+ };
368
+ FormFieldControl.displayName = "FormField.Control";
369
+
370
+ // src/form-field/FormFieldErrorMessage.tsx
371
+ var import_jsx_runtime11 = require("react/jsx-runtime");
372
+ var FormFieldErrorMessage = ({ ref, ...props }) => {
373
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
374
+ FormFieldStateMessage,
375
+ {
376
+ ref,
377
+ "data-spark-component": "form-field-error-message",
378
+ state: "error",
379
+ ...props
380
+ }
381
+ );
382
+ };
383
+ FormFieldErrorMessage.displayName = "FormField.ErrorMessage";
384
+
385
+ // src/form-field/FormFieldHelperMessage.tsx
386
+ var import_class_variance_authority6 = require("class-variance-authority");
387
+ var import_jsx_runtime12 = require("react/jsx-runtime");
388
+ var FormFieldHelperMessage = ({
389
+ className,
390
+ ref,
391
+ ...others
392
+ }) => {
393
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
394
+ FormFieldMessage,
395
+ {
396
+ ref,
397
+ "data-spark-component": "form-field-helper-message",
398
+ className: (0, import_class_variance_authority6.cx)("text-on-surface/dim-1", className),
399
+ ...others
400
+ }
401
+ );
402
+ };
403
+ FormFieldHelperMessage.displayName = "FormField.HelperMessage";
404
+
405
+ // src/form-field/FormFieldLabel.tsx
406
+ var import_class_variance_authority10 = require("class-variance-authority");
407
+
408
+ // src/label/Label.tsx
409
+ var import_class_variance_authority7 = require("class-variance-authority");
410
+ var import_radix_ui2 = require("radix-ui");
411
+ var import_jsx_runtime13 = require("react/jsx-runtime");
412
+ var Label = ({ className, ref, ...others }) => {
413
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
414
+ import_radix_ui2.Label.Label,
415
+ {
416
+ ref,
417
+ "data-spark-component": "label",
418
+ className: (0, import_class_variance_authority7.cx)("text-body-1", className),
419
+ ...others
420
+ }
421
+ );
422
+ };
423
+ Label.displayName = "Label";
424
+
425
+ // src/label/LabelRequiredIndicator.tsx
426
+ var import_class_variance_authority8 = require("class-variance-authority");
427
+ var import_jsx_runtime14 = require("react/jsx-runtime");
428
+ var LabelRequiredIndicator = ({
429
+ className,
430
+ children = "*",
431
+ ref,
432
+ ...others
433
+ }) => {
434
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
435
+ "span",
436
+ {
437
+ ref,
438
+ "data-spark-component": "label-required-indicator",
439
+ role: "presentation",
440
+ "aria-hidden": "true",
441
+ className: (0, import_class_variance_authority8.cx)(className, "text-caption text-on-surface/dim-1"),
442
+ ...others,
443
+ children
444
+ }
445
+ );
446
+ };
447
+ LabelRequiredIndicator.displayName = "Label.RequiredIndicator";
448
+
449
+ // src/label/index.ts
450
+ var Label2 = Object.assign(Label, {
451
+ RequiredIndicator: LabelRequiredIndicator
452
+ });
453
+ Label2.displayName = "Label";
454
+ LabelRequiredIndicator.displayName = "Label.RequiredIndicator";
455
+
456
+ // src/form-field/FormFieldRequiredIndicator.tsx
457
+ var import_class_variance_authority9 = require("class-variance-authority");
458
+ var import_jsx_runtime15 = require("react/jsx-runtime");
459
+ var FormFieldRequiredIndicator = ({
460
+ className,
461
+ ref,
462
+ ...props
463
+ }) => {
464
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label2.RequiredIndicator, { ref, className: (0, import_class_variance_authority9.cx)("ml-sm", className), ...props });
465
+ };
466
+ FormFieldRequiredIndicator.displayName = "FormField.RequiredIndicator";
467
+
468
+ // src/form-field/FormFieldLabel.tsx
469
+ var import_jsx_runtime16 = require("react/jsx-runtime");
470
+ var FormFieldLabel = ({
471
+ htmlFor: htmlForProp,
472
+ className,
473
+ children,
474
+ requiredIndicator = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FormFieldRequiredIndicator, {}),
475
+ asChild,
476
+ ref,
477
+ ...others
478
+ }) => {
479
+ const control = useFormField();
480
+ const { disabled, labelId, isRequired } = control;
481
+ const htmlFor = asChild ? void 0 : htmlForProp || control.id;
482
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
483
+ Label2,
484
+ {
485
+ ref,
486
+ id: labelId,
487
+ "data-spark-component": "form-field-label",
488
+ htmlFor,
489
+ className: (0, import_class_variance_authority10.cx)(className, disabled ? "text-on-surface/dim-3 pointer-events-none" : void 0),
490
+ asChild,
491
+ ...others,
492
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
493
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Slottable, { children }),
494
+ isRequired && requiredIndicator
495
+ ] })
496
+ }
497
+ );
498
+ };
499
+ FormFieldLabel.displayName = "FormField.Label";
500
+
501
+ // src/form-field/FormFieldSuccessMessage.tsx
502
+ var import_jsx_runtime17 = require("react/jsx-runtime");
503
+ var FormFieldSuccessMessage = ({ ref, ...props }) => {
504
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
505
+ FormFieldStateMessage,
506
+ {
507
+ ref,
508
+ "data-spark-component": "form-field-success-message",
509
+ state: "success",
510
+ ...props
511
+ }
512
+ );
513
+ };
514
+ FormFieldSuccessMessage.displayName = "FormField.SuccessMessage";
515
+
516
+ // src/form-field/index.ts
517
+ var FormField2 = Object.assign(FormField, {
518
+ Label: FormFieldLabel,
519
+ Control: FormFieldControl,
520
+ StateMessage: FormFieldStateMessage,
521
+ SuccessMessage: FormFieldSuccessMessage,
522
+ AlertMessage: FormFieldAlertMessage,
523
+ ErrorMessage: FormFieldErrorMessage,
524
+ HelperMessage: FormFieldHelperMessage,
525
+ RequiredIndicator: FormFieldRequiredIndicator,
526
+ CharactersCount: FormFieldCharactersCount
527
+ });
528
+ FormField2.displayName = "FormField";
529
+ FormFieldLabel.displayName = "FormField.Label";
530
+ FormFieldControl.displayName = "FormField.Control";
531
+ FormFieldStateMessage.displayName = "FormField.StateMessage";
532
+ FormFieldSuccessMessage.displayName = "FormField.SuccessMessage";
533
+ FormFieldAlertMessage.displayName = "FormField.AlertMessage";
534
+ FormFieldErrorMessage.displayName = "FormField.ErrorMessage";
535
+ FormFieldHelperMessage.displayName = "FormField.HelperMessage";
536
+ FormFieldRequiredIndicator.displayName = "FormField.RequiredIndicator";
537
+ FormFieldCharactersCount.displayName = "FormField.CharactersCount";
538
+
539
+ // src/switch/SwitchInput.tsx
540
+ var import_Check2 = require("@spark-ui/icons/Check");
541
+ var import_Close = require("@spark-ui/icons/Close");
542
+ var import_use_combined_state = require("@spark-ui/use-combined-state");
543
+ var import_radix_ui3 = require("radix-ui");
544
+
545
+ // src/switch/SwitchInput.styles.ts
546
+ var import_internal_utils2 = require("@spark-ui/internal-utils");
547
+ var import_class_variance_authority11 = require("class-variance-authority");
548
+ var styles = (0, import_class_variance_authority11.cva)(
549
+ (0, import_internal_utils2.tw)([
550
+ "relative shrink-0 self-baseline",
551
+ "cursor-pointer",
552
+ "rounded-full border-transparent",
553
+ "hover:ring-4",
554
+ "transition-colors duration-200 ease-in-out",
555
+ "disabled:hover:ring-transparent disabled:cursor-not-allowed disabled:opacity-dim-3",
556
+ "focus-visible:u-outline",
557
+ "data-[state=unchecked]:bg-on-surface/dim-4",
558
+ "u-shadow-border-transition",
559
+ "overflow-x-hidden"
560
+ ]),
561
+ {
562
+ variants: {
563
+ /**
564
+ * Size of the switch input.
565
+ */
566
+ size: (0, import_internal_utils2.makeVariants)({
567
+ sm: (0, import_internal_utils2.tw)(["h-sz-24", "w-sz-40", "border-md"]),
568
+ md: (0, import_internal_utils2.tw)(["h-sz-32", "w-sz-56", "border-[4px]"])
569
+ }),
570
+ /**
571
+ * Color scheme of the switch input.
572
+ */
573
+ intent: (0, import_internal_utils2.makeVariants)({
574
+ main: ["data-[state=checked]:bg-main", "hover:ring-main-container", "text-main"],
575
+ support: [
576
+ "data-[state=checked]:bg-support",
577
+ "hover:ring-support-container",
578
+ "text-support"
579
+ ],
580
+ accent: ["data-[state=checked]:bg-accent", "hover:ring-accent-container", "text-accent"],
581
+ basic: ["data-[state=checked]:bg-basic", "hover:ring-basic-container", "text-basic"],
582
+ success: [
583
+ "data-[state=checked]:bg-success",
584
+ "hover:ring-success-container",
585
+ "text-success"
586
+ ],
587
+ alert: ["data-[state=checked]:bg-alert", "hover:ring-alert-container", "text-alert"],
588
+ error: ["data-[state=checked]:bg-error", "hover:ring-error-container", "text-error"],
589
+ info: ["data-[state=checked]:bg-info", "hover:ring-info-container", "text-info"],
590
+ neutral: [
591
+ "data-[state=checked]:bg-neutral",
592
+ "hover:ring-neutral-container",
593
+ "text-neutral"
594
+ ]
595
+ })
596
+ },
597
+ defaultVariants: {
598
+ intent: "basic",
599
+ size: "sm"
600
+ }
601
+ }
602
+ );
603
+ var thumbWrapperStyles = (0, import_class_variance_authority11.cva)(
604
+ [
605
+ "pointer-events-none absolute inset-0 flex items-center",
606
+ "transition-all duration-200 ease-in-out"
607
+ ],
608
+ {
609
+ variants: {
610
+ checked: {
611
+ true: "translate-x-full",
612
+ false: "translate-x-0"
613
+ }
614
+ }
615
+ }
616
+ );
617
+ var thumbStyles = (0, import_class_variance_authority11.cva)(
618
+ [
619
+ "absolute left-0 top-0 flex items-center justify-center",
620
+ "bg-surface",
621
+ "rounded-full",
622
+ "ring-0",
623
+ "transition-all duration-200 ease-in-out"
624
+ ],
625
+ {
626
+ variants: {
627
+ size: (0, import_internal_utils2.makeVariants)({
628
+ sm: ["h-sz-20", "w-sz-20"],
629
+ md: ["h-sz-24", "w-sz-24"]
630
+ }),
631
+ checked: {
632
+ true: "-translate-x-full",
633
+ false: "translate-x-0 text-on-surface/dim-4"
634
+ }
635
+ },
636
+ defaultVariants: {
637
+ size: "sm",
638
+ checked: false
639
+ }
640
+ }
641
+ );
642
+ var thumbCheckSVGStyles = (0, import_class_variance_authority11.cva)(["transition-opacity duration-200"], {
643
+ variants: {
644
+ size: (0, import_internal_utils2.makeVariants)({
645
+ sm: ["h-sz-10 w-sz-10"],
646
+ md: ["h-sz-12 w-sz-12"]
647
+ })
648
+ },
649
+ defaultVariants: {
650
+ size: "sm"
651
+ }
652
+ });
653
+
654
+ // src/switch/SwitchInput.tsx
655
+ var import_jsx_runtime18 = require("react/jsx-runtime");
656
+ var SwitchInput = ({
657
+ checked,
658
+ checkedIcon = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Check2.Check, {}),
659
+ defaultChecked,
660
+ intent: intentProp,
661
+ uncheckedIcon = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Close.Close, {}),
662
+ size = "md",
663
+ value = "on",
664
+ onCheckedChange,
665
+ className,
666
+ required,
667
+ ref,
668
+ ...rest
669
+ }) => {
670
+ const [isChecked, setIsChecked] = (0, import_use_combined_state.useCombinedState)(checked, defaultChecked);
671
+ const { name, description, state, isRequired, isInvalid } = useFormFieldControl();
672
+ const intent = state ?? intentProp;
673
+ const handleCheckedChange = (updatedValue) => {
674
+ setIsChecked(updatedValue);
675
+ onCheckedChange?.(updatedValue);
676
+ };
677
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
678
+ import_radix_ui3.Switch.Root,
679
+ {
680
+ ref,
681
+ className: styles({ intent, size, className }),
682
+ value,
683
+ checked,
684
+ defaultChecked,
685
+ onCheckedChange: handleCheckedChange,
686
+ name,
687
+ required: required || isRequired,
688
+ "aria-invalid": isInvalid,
689
+ "aria-describedby": description,
690
+ ...rest,
691
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: thumbWrapperStyles({ checked: isChecked }), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_radix_ui3.Switch.Thumb, { className: thumbStyles({ size, checked: isChecked }), children: [
692
+ isChecked && checkedIcon && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Slot, { className: thumbCheckSVGStyles({ size }), children: checkedIcon }),
693
+ !isChecked && uncheckedIcon && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Slot, { className: thumbCheckSVGStyles({ size }), children: uncheckedIcon })
694
+ ] }) })
695
+ }
696
+ );
697
+ };
698
+ SwitchInput.displayName = "SwitchInput";
699
+
700
+ // src/switch/SwitchLabel.styles.ts
701
+ var import_class_variance_authority12 = require("class-variance-authority");
702
+ var labelStyles = (0, import_class_variance_authority12.cva)("", {
703
+ variants: {
704
+ disabled: {
705
+ true: ["text-neutral/dim-2", "cursor-not-allowed"],
706
+ false: ["cursor-pointer"]
707
+ }
708
+ },
709
+ defaultVariants: {
710
+ disabled: false
711
+ }
712
+ });
713
+
714
+ // src/switch/SwitchLabel.tsx
715
+ var import_jsx_runtime19 = require("react/jsx-runtime");
716
+ var SwitchLabel = ({ className, disabled, ...others }) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Label2, { className: labelStyles({ disabled, className }), ...others });
717
+
718
+ // src/switch/Switch.tsx
719
+ var import_jsx_runtime20 = require("react/jsx-runtime");
720
+ var ID_PREFIX2 = ":switch";
721
+ var Switch = ({
722
+ size = "md",
723
+ children,
724
+ className,
725
+ id,
726
+ disabled,
727
+ reverse = false,
728
+ ref,
729
+ ...rest
730
+ }) => {
731
+ const field = useFormFieldControl();
732
+ const labelID = `${ID_PREFIX2}-label-${(0, import_react8.useId)()}`;
733
+ const innerID = `${ID_PREFIX2}-input-${(0, import_react8.useId)()}`;
734
+ const fieldID = field.id || id || innerID;
735
+ const switchLabel = children && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SwitchLabel, { disabled, htmlFor: fieldID, id: labelID, children });
736
+ const switchInput = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
737
+ SwitchInput,
738
+ {
739
+ ref,
740
+ size,
741
+ id: fieldID,
742
+ disabled,
743
+ "aria-labelledby": children ? labelID : field.labelId,
744
+ ...rest
745
+ }
746
+ );
747
+ const content = reverse ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
748
+ switchLabel,
749
+ switchInput
750
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
751
+ switchInput,
752
+ switchLabel
753
+ ] });
754
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
755
+ "div",
756
+ {
757
+ "data-spark-component": "switch",
758
+ className: (0, import_class_variance_authority13.cx)("gap-md text-body-1 flex items-center", className),
759
+ children: content
760
+ }
761
+ );
762
+ };
763
+ Switch.displayName = "Switch";
764
+ // Annotate the CommonJS export names for ESM import in node:
765
+ 0 && (module.exports = {
766
+ Switch
767
+ });
768
+ //# sourceMappingURL=index.js.map