@zentauri-ui/zentauri-components 1.6.3 → 1.7.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 (491) hide show
  1. package/README.md +33 -3
  2. package/cli/cli.integration.test.ts +8 -0
  3. package/cli/index.mjs +46 -1
  4. package/dist/charts/area.js +11 -10
  5. package/dist/charts/area.js.map +1 -1
  6. package/dist/charts/area.mjs +4 -3
  7. package/dist/charts/area.mjs.map +1 -1
  8. package/dist/charts/bar.js +10 -9
  9. package/dist/charts/bar.js.map +1 -1
  10. package/dist/charts/bar.mjs +4 -3
  11. package/dist/charts/bar.mjs.map +1 -1
  12. package/dist/charts/bubble.js +10 -9
  13. package/dist/charts/bubble.js.map +1 -1
  14. package/dist/charts/bubble.mjs +4 -3
  15. package/dist/charts/bubble.mjs.map +1 -1
  16. package/dist/charts/line.js +10 -9
  17. package/dist/charts/line.js.map +1 -1
  18. package/dist/charts/line.mjs +4 -3
  19. package/dist/charts/line.mjs.map +1 -1
  20. package/dist/charts/pie.js +6 -5
  21. package/dist/charts/pie.js.map +1 -1
  22. package/dist/charts/pie.mjs +3 -2
  23. package/dist/charts/pie.mjs.map +1 -1
  24. package/dist/charts/shared/chart-frame.d.ts.map +1 -1
  25. package/dist/{chunk-QSIJKHC5.mjs → chunk-4XVNQ7IY.mjs} +223 -214
  26. package/dist/chunk-4XVNQ7IY.mjs.map +1 -0
  27. package/dist/chunk-4ZKBLVQX.js +248 -0
  28. package/dist/chunk-4ZKBLVQX.js.map +1 -0
  29. package/dist/chunk-ABOZ5QIX.js +84 -0
  30. package/dist/chunk-ABOZ5QIX.js.map +1 -0
  31. package/dist/chunk-ACGVDY5J.mjs +220 -0
  32. package/dist/chunk-ACGVDY5J.mjs.map +1 -0
  33. package/dist/{chunk-PPVJ4INP.mjs → chunk-ASJQP53L.mjs} +3 -3
  34. package/dist/{chunk-PPVJ4INP.mjs.map → chunk-ASJQP53L.mjs.map} +1 -1
  35. package/dist/{chunk-D55YIHBN.js → chunk-BTJYXKCW.js} +223 -214
  36. package/dist/chunk-BTJYXKCW.js.map +1 -0
  37. package/dist/{chunk-MM3P52WS.js → chunk-CL55KGDF.js} +56 -52
  38. package/dist/chunk-CL55KGDF.js.map +1 -0
  39. package/dist/chunk-CSFLMMAT.mjs +198 -0
  40. package/dist/chunk-CSFLMMAT.mjs.map +1 -0
  41. package/dist/chunk-EDARAO7X.js +206 -0
  42. package/dist/chunk-EDARAO7X.js.map +1 -0
  43. package/dist/chunk-EIRCCTNA.js +175 -0
  44. package/dist/chunk-EIRCCTNA.js.map +1 -0
  45. package/dist/chunk-EN4VLNBF.js +197 -0
  46. package/dist/chunk-EN4VLNBF.js.map +1 -0
  47. package/dist/chunk-FHLZH3PB.mjs +326 -0
  48. package/dist/chunk-FHLZH3PB.mjs.map +1 -0
  49. package/dist/chunk-FXYPRPAT.mjs +35 -0
  50. package/dist/chunk-FXYPRPAT.mjs.map +1 -0
  51. package/dist/{chunk-SPX2QDIB.mjs → chunk-G2WARVAM.mjs} +8 -4
  52. package/dist/chunk-G2WARVAM.mjs.map +1 -0
  53. package/dist/chunk-HCGSEPOD.mjs +196 -0
  54. package/dist/chunk-HCGSEPOD.mjs.map +1 -0
  55. package/dist/chunk-HDO5ZM2S.mjs +82 -0
  56. package/dist/chunk-HDO5ZM2S.mjs.map +1 -0
  57. package/dist/chunk-HMNIH3KJ.mjs +277 -0
  58. package/dist/chunk-HMNIH3KJ.mjs.map +1 -0
  59. package/dist/chunk-HNLQXHSQ.mjs +263 -0
  60. package/dist/chunk-HNLQXHSQ.mjs.map +1 -0
  61. package/dist/{chunk-M6FS7X54.mjs → chunk-ITVMSCOJ.mjs} +56 -52
  62. package/dist/chunk-ITVMSCOJ.mjs.map +1 -0
  63. package/dist/chunk-K7TCW5PJ.js +338 -0
  64. package/dist/chunk-K7TCW5PJ.js.map +1 -0
  65. package/dist/chunk-KTGV76M3.mjs +325 -0
  66. package/dist/chunk-KTGV76M3.mjs.map +1 -0
  67. package/dist/{chunk-JOMSI4WH.js → chunk-NFEA5TN2.js} +52 -47
  68. package/dist/chunk-NFEA5TN2.js.map +1 -0
  69. package/dist/chunk-NHQ3S4Y6.mjs +282 -0
  70. package/dist/chunk-NHQ3S4Y6.mjs.map +1 -0
  71. package/dist/{chunk-OVTWPGMW.mjs → chunk-NMQAHUYA.mjs} +52 -47
  72. package/dist/chunk-NMQAHUYA.mjs.map +1 -0
  73. package/dist/{chunk-MWR5DIA5.mjs → chunk-OULU7OC4.mjs} +3 -3
  74. package/dist/{chunk-MWR5DIA5.mjs.map → chunk-OULU7OC4.mjs.map} +1 -1
  75. package/dist/chunk-OZHETX4J.mjs +169 -0
  76. package/dist/chunk-OZHETX4J.mjs.map +1 -0
  77. package/dist/chunk-OZMSE44N.mjs +235 -0
  78. package/dist/chunk-OZMSE44N.mjs.map +1 -0
  79. package/dist/chunk-P5WLYJ2C.mjs +272 -0
  80. package/dist/chunk-P5WLYJ2C.mjs.map +1 -0
  81. package/dist/chunk-PMWRJ2KS.mjs +192 -0
  82. package/dist/chunk-PMWRJ2KS.mjs.map +1 -0
  83. package/dist/chunk-PR4QXFJT.js +132 -0
  84. package/dist/chunk-PR4QXFJT.js.map +1 -0
  85. package/dist/chunk-QAJOE3HJ.js +281 -0
  86. package/dist/chunk-QAJOE3HJ.js.map +1 -0
  87. package/dist/chunk-QBPVJH4P.mjs +128 -0
  88. package/dist/chunk-QBPVJH4P.mjs.map +1 -0
  89. package/dist/{chunk-MTJRPLMG.js → chunk-QNUDODDX.js} +8 -4
  90. package/dist/chunk-QNUDODDX.js.map +1 -0
  91. package/dist/{chunk-DO2LEXUY.js → chunk-QQ6F4LZK.js} +5 -5
  92. package/dist/{chunk-DO2LEXUY.js.map → chunk-QQ6F4LZK.js.map} +1 -1
  93. package/dist/chunk-QXHS3HHZ.mjs +340 -0
  94. package/dist/chunk-QXHS3HHZ.mjs.map +1 -0
  95. package/dist/chunk-QYLTKBH7.js +338 -0
  96. package/dist/chunk-QYLTKBH7.js.map +1 -0
  97. package/dist/chunk-TTTYW3TR.js +207 -0
  98. package/dist/chunk-TTTYW3TR.js.map +1 -0
  99. package/dist/chunk-W3QRRWQX.js +37 -0
  100. package/dist/chunk-W3QRRWQX.js.map +1 -0
  101. package/dist/chunk-WPXQHWPV.js +232 -0
  102. package/dist/chunk-WPXQHWPV.js.map +1 -0
  103. package/dist/chunk-XRDVD2EN.js +288 -0
  104. package/dist/chunk-XRDVD2EN.js.map +1 -0
  105. package/dist/chunk-XYEMP4K7.js +273 -0
  106. package/dist/chunk-XYEMP4K7.js.map +1 -0
  107. package/dist/chunk-YAO62VH2.js +342 -0
  108. package/dist/chunk-YAO62VH2.js.map +1 -0
  109. package/dist/{chunk-PVTTWOYV.js → chunk-Z6S36PDD.js} +7 -7
  110. package/dist/{chunk-PVTTWOYV.js.map → chunk-Z6S36PDD.js.map} +1 -1
  111. package/dist/chunk-ZYKJC5HH.js +296 -0
  112. package/dist/chunk-ZYKJC5HH.js.map +1 -0
  113. package/dist/design-system/accordion.d.ts +70 -0
  114. package/dist/design-system/accordion.d.ts.map +1 -0
  115. package/dist/design-system/alert.d.ts +39 -0
  116. package/dist/design-system/alert.d.ts.map +1 -0
  117. package/dist/design-system/avatar.d.ts +36 -0
  118. package/dist/design-system/avatar.d.ts.map +1 -0
  119. package/dist/design-system/badge.d.ts +71 -0
  120. package/dist/design-system/badge.d.ts.map +1 -0
  121. package/dist/design-system/breadcrumb.d.ts +27 -0
  122. package/dist/design-system/breadcrumb.d.ts.map +1 -0
  123. package/dist/design-system/button.d.ts +48 -0
  124. package/dist/design-system/button.d.ts.map +1 -0
  125. package/dist/design-system/card.d.ts +65 -0
  126. package/dist/design-system/card.d.ts.map +1 -0
  127. package/dist/design-system/divider.d.ts +45 -0
  128. package/dist/design-system/divider.d.ts.map +1 -0
  129. package/dist/design-system/drawer.d.ts +67 -0
  130. package/dist/design-system/drawer.d.ts.map +1 -0
  131. package/dist/design-system/dropdown.d.ts +79 -0
  132. package/dist/design-system/dropdown.d.ts.map +1 -0
  133. package/dist/design-system/dynamic-stepper.d.ts +29 -0
  134. package/dist/design-system/dynamic-stepper.d.ts.map +1 -0
  135. package/dist/design-system/empty-state.d.ts +29 -0
  136. package/dist/design-system/empty-state.d.ts.map +1 -0
  137. package/dist/design-system/file-upload.d.ts +19 -0
  138. package/dist/design-system/file-upload.d.ts.map +1 -0
  139. package/dist/design-system/index.d.ts +30 -0
  140. package/dist/design-system/index.d.ts.map +1 -0
  141. package/dist/design-system/inputs.d.ts +31 -0
  142. package/dist/design-system/inputs.d.ts.map +1 -0
  143. package/dist/design-system/modal.d.ts +66 -0
  144. package/dist/design-system/modal.d.ts.map +1 -0
  145. package/dist/design-system/pagination.d.ts +65 -0
  146. package/dist/design-system/pagination.d.ts.map +1 -0
  147. package/dist/design-system/progress.d.ts +57 -0
  148. package/dist/design-system/progress.d.ts.map +1 -0
  149. package/dist/design-system/select.d.ts +92 -0
  150. package/dist/design-system/select.d.ts.map +1 -0
  151. package/dist/design-system/skeleton.d.ts +104 -0
  152. package/dist/design-system/skeleton.d.ts.map +1 -0
  153. package/dist/design-system/slider.d.ts +44 -0
  154. package/dist/design-system/slider.d.ts.map +1 -0
  155. package/dist/design-system/spinner.d.ts +39 -0
  156. package/dist/design-system/spinner.d.ts.map +1 -0
  157. package/dist/design-system/stepper.d.ts +42 -0
  158. package/dist/design-system/stepper.d.ts.map +1 -0
  159. package/dist/design-system/table.d.ts +77 -0
  160. package/dist/design-system/table.d.ts.map +1 -0
  161. package/dist/design-system/tabs.d.ts +49 -0
  162. package/dist/design-system/tabs.d.ts.map +1 -0
  163. package/dist/design-system/toast.d.ts +43 -0
  164. package/dist/design-system/toast.d.ts.map +1 -0
  165. package/dist/design-system/toggle.d.ts +73 -0
  166. package/dist/design-system/toggle.d.ts.map +1 -0
  167. package/dist/design-system/tokens.d.ts +15 -0
  168. package/dist/design-system/tokens.d.ts.map +1 -0
  169. package/dist/design-system/tooltip.d.ts +41 -0
  170. package/dist/design-system/tooltip.d.ts.map +1 -0
  171. package/dist/design-system/typography.d.ts +42 -0
  172. package/dist/design-system/typography.d.ts.map +1 -0
  173. package/dist/hooks/useResizeObserver.js +6 -31
  174. package/dist/hooks/useResizeObserver.js.map +1 -1
  175. package/dist/hooks/useResizeObserver.mjs +1 -33
  176. package/dist/hooks/useResizeObserver.mjs.map +1 -1
  177. package/dist/ui/accordion/animated.js +7 -7
  178. package/dist/ui/accordion/animated.mjs +2 -2
  179. package/dist/ui/accordion/variants.d.ts +5 -5
  180. package/dist/ui/accordion/variants.d.ts.map +1 -1
  181. package/dist/ui/accordion.js +9 -9
  182. package/dist/ui/accordion.mjs +2 -2
  183. package/dist/ui/alert/animated.js +2 -2
  184. package/dist/ui/alert/animated.mjs +1 -1
  185. package/dist/ui/alert/variants.d.ts +4 -4
  186. package/dist/ui/alert/variants.d.ts.map +1 -1
  187. package/dist/ui/alert.js +10 -10
  188. package/dist/ui/alert.mjs +2 -2
  189. package/dist/ui/avatar/animated.js +5 -5
  190. package/dist/ui/avatar/animated.mjs +2 -2
  191. package/dist/ui/avatar/variants.d.ts +1 -1
  192. package/dist/ui/avatar/variants.d.ts.map +1 -1
  193. package/dist/ui/avatar.js +9 -9
  194. package/dist/ui/avatar.mjs +2 -2
  195. package/dist/ui/badge/animated.js +2 -2
  196. package/dist/ui/badge/animated.mjs +1 -1
  197. package/dist/ui/badge/variants.d.ts +29 -32
  198. package/dist/ui/badge/variants.d.ts.map +1 -1
  199. package/dist/ui/badge.js +4 -4
  200. package/dist/ui/badge.mjs +2 -2
  201. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  202. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  203. package/dist/ui/breadcrumb.js +42 -40
  204. package/dist/ui/breadcrumb.js.map +1 -1
  205. package/dist/ui/breadcrumb.mjs +42 -40
  206. package/dist/ui/breadcrumb.mjs.map +1 -1
  207. package/dist/ui/buttons/animated.js +3 -3
  208. package/dist/ui/buttons/animated.mjs +1 -1
  209. package/dist/ui/buttons/variants.d.ts +2 -2
  210. package/dist/ui/buttons/variants.d.ts.map +1 -1
  211. package/dist/ui/buttons.js +4 -4
  212. package/dist/ui/buttons.mjs +2 -2
  213. package/dist/ui/card/animated.js +7 -7
  214. package/dist/ui/card/animated.mjs +2 -2
  215. package/dist/ui/card/variants.d.ts +7 -7
  216. package/dist/ui/card/variants.d.ts.map +1 -1
  217. package/dist/ui/card.js +12 -12
  218. package/dist/ui/card.mjs +2 -2
  219. package/dist/ui/divider/animated.js +2 -2
  220. package/dist/ui/divider/animated.mjs +1 -1
  221. package/dist/ui/divider/variants.d.ts +4 -4
  222. package/dist/ui/divider/variants.d.ts.map +1 -1
  223. package/dist/ui/divider.js +6 -6
  224. package/dist/ui/divider.mjs +2 -2
  225. package/dist/ui/drawer/animated.js +11 -11
  226. package/dist/ui/drawer/animated.mjs +2 -2
  227. package/dist/ui/drawer/variants.d.ts +1 -1
  228. package/dist/ui/drawer/variants.d.ts.map +1 -1
  229. package/dist/ui/drawer.js +11 -11
  230. package/dist/ui/drawer.mjs +1 -1
  231. package/dist/ui/dropdown/variants.d.ts +4 -4
  232. package/dist/ui/dropdown/variants.d.ts.map +1 -1
  233. package/dist/ui/dropdown.js +106 -104
  234. package/dist/ui/dropdown.js.map +1 -1
  235. package/dist/ui/dropdown.mjs +106 -104
  236. package/dist/ui/dropdown.mjs.map +1 -1
  237. package/dist/ui/dynamic-stepper/variants.d.ts +5 -9
  238. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  239. package/dist/ui/dynamic-stepper.js +100 -93
  240. package/dist/ui/dynamic-stepper.js.map +1 -1
  241. package/dist/ui/dynamic-stepper.mjs +98 -91
  242. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  243. package/dist/ui/empty-state/animated.js +2 -2
  244. package/dist/ui/empty-state/animated.mjs +1 -1
  245. package/dist/ui/empty-state/variants.d.ts +3 -3
  246. package/dist/ui/empty-state/variants.d.ts.map +1 -1
  247. package/dist/ui/empty-state.js +10 -10
  248. package/dist/ui/empty-state.mjs +2 -2
  249. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  250. package/dist/ui/file-upload.js +28 -26
  251. package/dist/ui/file-upload.js.map +1 -1
  252. package/dist/ui/file-upload.mjs +28 -26
  253. package/dist/ui/file-upload.mjs.map +1 -1
  254. package/dist/ui/inputs/animated.js +3 -3
  255. package/dist/ui/inputs/animated.mjs +1 -1
  256. package/dist/ui/inputs/variants.d.ts +1 -1
  257. package/dist/ui/inputs/variants.d.ts.map +1 -1
  258. package/dist/ui/inputs.js +4 -4
  259. package/dist/ui/inputs.mjs +2 -2
  260. package/dist/ui/modal/animated.js +4 -4
  261. package/dist/ui/modal/animated.mjs +1 -1
  262. package/dist/ui/modal/variants.d.ts +1 -1
  263. package/dist/ui/modal/variants.d.ts.map +1 -1
  264. package/dist/ui/modal.js +12 -12
  265. package/dist/ui/modal.mjs +2 -2
  266. package/dist/ui/pagination/variants.d.ts +3 -7
  267. package/dist/ui/pagination/variants.d.ts.map +1 -1
  268. package/dist/ui/pagination.js +84 -84
  269. package/dist/ui/pagination.js.map +1 -1
  270. package/dist/ui/pagination.mjs +81 -81
  271. package/dist/ui/pagination.mjs.map +1 -1
  272. package/dist/ui/progress/animated.js +8 -8
  273. package/dist/ui/progress/animated.mjs +2 -2
  274. package/dist/ui/progress/variants.d.ts +3 -3
  275. package/dist/ui/progress/variants.d.ts.map +1 -1
  276. package/dist/ui/progress.js +9 -9
  277. package/dist/ui/progress.mjs +2 -2
  278. package/dist/ui/search.js +2 -2
  279. package/dist/ui/search.mjs +1 -1
  280. package/dist/ui/select/variants.d.ts +6 -6
  281. package/dist/ui/select/variants.d.ts.map +1 -1
  282. package/dist/ui/select.js +122 -123
  283. package/dist/ui/select.js.map +1 -1
  284. package/dist/ui/select.mjs +122 -123
  285. package/dist/ui/select.mjs.map +1 -1
  286. package/dist/ui/skeleton/animated.js +8 -8
  287. package/dist/ui/skeleton/animated.mjs +1 -1
  288. package/dist/ui/skeleton/variants.d.ts +5 -4
  289. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  290. package/dist/ui/skeleton.js +9 -9
  291. package/dist/ui/skeleton.mjs +1 -1
  292. package/dist/ui/slider/variants.d.ts +3 -3
  293. package/dist/ui/slider/variants.d.ts.map +1 -1
  294. package/dist/ui/slider.js +69 -67
  295. package/dist/ui/slider.js.map +1 -1
  296. package/dist/ui/slider.mjs +69 -67
  297. package/dist/ui/slider.mjs.map +1 -1
  298. package/dist/ui/spinner/animated/variants.d.ts +2 -2
  299. package/dist/ui/spinner/animated/variants.d.ts.map +1 -1
  300. package/dist/ui/spinner/animated.js +44 -38
  301. package/dist/ui/spinner/animated.js.map +1 -1
  302. package/dist/ui/spinner/animated.mjs +44 -38
  303. package/dist/ui/spinner/animated.mjs.map +1 -1
  304. package/dist/ui/stepper/variants.d.ts +1 -1
  305. package/dist/ui/stepper/variants.d.ts.map +1 -1
  306. package/dist/ui/stepper.js +57 -50
  307. package/dist/ui/stepper.js.map +1 -1
  308. package/dist/ui/stepper.mjs +57 -50
  309. package/dist/ui/stepper.mjs.map +1 -1
  310. package/dist/ui/table/animated.js +8 -8
  311. package/dist/ui/table/animated.mjs +2 -2
  312. package/dist/ui/table/variants.d.ts +2 -2
  313. package/dist/ui/table/variants.d.ts.map +1 -1
  314. package/dist/ui/table.js +14 -14
  315. package/dist/ui/table.mjs +1 -1
  316. package/dist/ui/tabs/animated.js +2 -2
  317. package/dist/ui/tabs/animated.mjs +1 -1
  318. package/dist/ui/tabs/variants.d.ts +2 -2
  319. package/dist/ui/tabs/variants.d.ts.map +1 -1
  320. package/dist/ui/tabs.js +9 -9
  321. package/dist/ui/tabs.mjs +1 -1
  322. package/dist/ui/toast/animated.js +7 -7
  323. package/dist/ui/toast/animated.mjs +1 -1
  324. package/dist/ui/toast/variants.d.ts +3 -3
  325. package/dist/ui/toast/variants.d.ts.map +1 -1
  326. package/dist/ui/toast.js +12 -12
  327. package/dist/ui/toast.mjs +1 -1
  328. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
  329. package/dist/ui/toggle/animated.js +13 -6
  330. package/dist/ui/toggle/animated.js.map +1 -1
  331. package/dist/ui/toggle/animated.mjs +12 -5
  332. package/dist/ui/toggle/animated.mjs.map +1 -1
  333. package/dist/ui/toggle/toggle-base.d.ts +2 -0
  334. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  335. package/dist/ui/toggle/variants.d.ts +4 -4
  336. package/dist/ui/toggle/variants.d.ts.map +1 -1
  337. package/dist/ui/toggle.js +5 -94
  338. package/dist/ui/toggle.js.map +1 -1
  339. package/dist/ui/toggle.mjs +4 -93
  340. package/dist/ui/toggle.mjs.map +1 -1
  341. package/dist/ui/tooltip/animated.js +3 -3
  342. package/dist/ui/tooltip/animated.mjs +1 -1
  343. package/dist/ui/tooltip/variants.d.ts +3 -3
  344. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  345. package/dist/ui/tooltip.js +7 -7
  346. package/dist/ui/tooltip.mjs +1 -1
  347. package/dist/ui/typography/variants.d.ts +1 -3
  348. package/dist/ui/typography/variants.d.ts.map +1 -1
  349. package/dist/ui/typography.js +51 -41
  350. package/dist/ui/typography.js.map +1 -1
  351. package/dist/ui/typography.mjs +51 -41
  352. package/dist/ui/typography.mjs.map +1 -1
  353. package/package.json +2 -1
  354. package/src/charts/shared/chart-frame.tsx +19 -8
  355. package/src/design-system/accordion.ts +111 -0
  356. package/src/design-system/alert.ts +64 -0
  357. package/src/design-system/avatar.ts +61 -0
  358. package/src/design-system/badge.ts +85 -0
  359. package/src/design-system/breadcrumb.ts +45 -0
  360. package/src/design-system/button.ts +81 -0
  361. package/src/design-system/card.ts +104 -0
  362. package/src/design-system/divider.ts +73 -0
  363. package/src/design-system/drawer.ts +111 -0
  364. package/src/design-system/dropdown.ts +130 -0
  365. package/src/design-system/dynamic-stepper.ts +218 -0
  366. package/src/design-system/empty-state.ts +39 -0
  367. package/src/design-system/file-upload.ts +30 -0
  368. package/src/design-system/index.ts +29 -0
  369. package/src/design-system/inputs.ts +74 -0
  370. package/src/design-system/modal.ts +110 -0
  371. package/src/design-system/pagination.ts +92 -0
  372. package/src/design-system/progress.ts +86 -0
  373. package/src/design-system/select.ts +155 -0
  374. package/src/design-system/skeleton.ts +129 -0
  375. package/src/design-system/slider.ts +70 -0
  376. package/src/design-system/spinner.ts +59 -0
  377. package/src/design-system/stepper.ts +66 -0
  378. package/src/design-system/table.ts +115 -0
  379. package/src/design-system/tabs.ts +73 -0
  380. package/src/design-system/toast.ts +69 -0
  381. package/src/design-system/toggle.ts +120 -0
  382. package/src/design-system/tokens.ts +22 -0
  383. package/src/design-system/tooltip.ts +63 -0
  384. package/src/design-system/typography.ts +64 -0
  385. package/src/ui/accordion/variants.ts +24 -106
  386. package/src/ui/alert/alert.test.tsx +1 -1
  387. package/src/ui/alert/variants.ts +25 -77
  388. package/src/ui/avatar/variants.ts +21 -66
  389. package/src/ui/badge/badge.test.tsx +1 -1
  390. package/src/ui/badge/variants.ts +28 -89
  391. package/src/ui/breadcrumb/variants.ts +24 -40
  392. package/src/ui/buttons/button.test.tsx +25 -5
  393. package/src/ui/buttons/variants.ts +15 -84
  394. package/src/ui/card/card.test.tsx +1 -1
  395. package/src/ui/card/variants.ts +46 -121
  396. package/src/ui/divider/variants.ts +32 -70
  397. package/src/ui/drawer/drawer-base.tsx +1 -1
  398. package/src/ui/drawer/variants.ts +41 -132
  399. package/src/ui/dropdown/variants.ts +36 -142
  400. package/src/ui/dynamic-stepper/variants.ts +32 -216
  401. package/src/ui/empty-state/variants.ts +29 -44
  402. package/src/ui/file-upload/variants.ts +12 -36
  403. package/src/ui/inputs/input.test.tsx +11 -11
  404. package/src/ui/inputs/variants.ts +308 -371
  405. package/src/ui/modal/variants.ts +29 -120
  406. package/src/ui/pagination/pagination.test.tsx +1 -1
  407. package/src/ui/pagination/variants.ts +22 -95
  408. package/src/ui/progress/variants.ts +41 -112
  409. package/src/ui/select/variants.ts +40 -165
  410. package/src/ui/skeleton/variants.ts +154 -250
  411. package/src/ui/slider/variants.ts +34 -67
  412. package/src/ui/spinner/animated/variants.ts +10 -39
  413. package/src/ui/stepper/stepper.test.tsx +12 -4
  414. package/src/ui/stepper/variants.ts +23 -68
  415. package/src/ui/table/variants.ts +36 -106
  416. package/src/ui/tabs/variants.ts +26 -73
  417. package/src/ui/toast/variants.ts +24 -75
  418. package/src/ui/toggle/animated/toggle-animated.tsx +14 -4
  419. package/src/ui/toggle/toggle-base.tsx +3 -7
  420. package/src/ui/toggle/variants.ts +27 -111
  421. package/src/ui/tooltip/variants.ts +18 -57
  422. package/src/ui/typography/typography.test.tsx +1 -1
  423. package/src/ui/typography/variants.ts +17 -54
  424. package/dist/chunk-25EAVVGS.mjs +0 -267
  425. package/dist/chunk-25EAVVGS.mjs.map +0 -1
  426. package/dist/chunk-4F56BLZQ.js +0 -336
  427. package/dist/chunk-4F56BLZQ.js.map +0 -1
  428. package/dist/chunk-4PZIDDC6.js +0 -279
  429. package/dist/chunk-4PZIDDC6.js.map +0 -1
  430. package/dist/chunk-73RHHGIA.mjs +0 -197
  431. package/dist/chunk-73RHHGIA.mjs.map +0 -1
  432. package/dist/chunk-746CV3AN.js +0 -246
  433. package/dist/chunk-746CV3AN.js.map +0 -1
  434. package/dist/chunk-CFTDAGKD.js +0 -130
  435. package/dist/chunk-CFTDAGKD.js.map +0 -1
  436. package/dist/chunk-CXNDE4VC.js +0 -273
  437. package/dist/chunk-CXNDE4VC.js.map +0 -1
  438. package/dist/chunk-D55YIHBN.js.map +0 -1
  439. package/dist/chunk-EU63V22F.mjs +0 -126
  440. package/dist/chunk-EU63V22F.mjs.map +0 -1
  441. package/dist/chunk-EZS47EZW.mjs +0 -70
  442. package/dist/chunk-EZS47EZW.mjs.map +0 -1
  443. package/dist/chunk-GHJN3Z3V.js +0 -292
  444. package/dist/chunk-GHJN3Z3V.js.map +0 -1
  445. package/dist/chunk-GIC3J6HR.mjs +0 -196
  446. package/dist/chunk-GIC3J6HR.mjs.map +0 -1
  447. package/dist/chunk-GPAUYUM3.js +0 -232
  448. package/dist/chunk-GPAUYUM3.js.map +0 -1
  449. package/dist/chunk-HARD4NMB.mjs +0 -268
  450. package/dist/chunk-HARD4NMB.mjs.map +0 -1
  451. package/dist/chunk-HV7LVRK3.js +0 -277
  452. package/dist/chunk-HV7LVRK3.js.map +0 -1
  453. package/dist/chunk-JE6B3DHW.mjs +0 -220
  454. package/dist/chunk-JE6B3DHW.mjs.map +0 -1
  455. package/dist/chunk-JOMSI4WH.js.map +0 -1
  456. package/dist/chunk-KA5MORDC.js +0 -336
  457. package/dist/chunk-KA5MORDC.js.map +0 -1
  458. package/dist/chunk-M6FS7X54.mjs.map +0 -1
  459. package/dist/chunk-MM3P52WS.js.map +0 -1
  460. package/dist/chunk-MTJRPLMG.js.map +0 -1
  461. package/dist/chunk-OB6TYS5Q.js +0 -205
  462. package/dist/chunk-OB6TYS5Q.js.map +0 -1
  463. package/dist/chunk-OHST7AHC.mjs +0 -99
  464. package/dist/chunk-OHST7AHC.mjs.map +0 -1
  465. package/dist/chunk-OVTWPGMW.mjs.map +0 -1
  466. package/dist/chunk-OZ4SFJ3S.mjs +0 -264
  467. package/dist/chunk-OZ4SFJ3S.mjs.map +0 -1
  468. package/dist/chunk-PSIAOIXJ.mjs +0 -278
  469. package/dist/chunk-PSIAOIXJ.mjs.map +0 -1
  470. package/dist/chunk-QNF4JPFP.js +0 -339
  471. package/dist/chunk-QNF4JPFP.js.map +0 -1
  472. package/dist/chunk-QSIJKHC5.mjs.map +0 -1
  473. package/dist/chunk-QWC2QBRJ.js +0 -175
  474. package/dist/chunk-QWC2QBRJ.js.map +0 -1
  475. package/dist/chunk-RFFGQYDQ.mjs +0 -337
  476. package/dist/chunk-RFFGQYDQ.mjs.map +0 -1
  477. package/dist/chunk-S5H2OMTZ.mjs +0 -233
  478. package/dist/chunk-S5H2OMTZ.mjs.map +0 -1
  479. package/dist/chunk-SPX2QDIB.mjs.map +0 -1
  480. package/dist/chunk-TIPNRH26.js +0 -102
  481. package/dist/chunk-TIPNRH26.js.map +0 -1
  482. package/dist/chunk-V2PEOBAT.mjs +0 -324
  483. package/dist/chunk-V2PEOBAT.mjs.map +0 -1
  484. package/dist/chunk-V3XNH7Y4.mjs +0 -169
  485. package/dist/chunk-V3XNH7Y4.mjs.map +0 -1
  486. package/dist/chunk-VGWA26BN.js +0 -72
  487. package/dist/chunk-VGWA26BN.js.map +0 -1
  488. package/dist/chunk-WNLDXBS6.mjs +0 -323
  489. package/dist/chunk-WNLDXBS6.mjs.map +0 -1
  490. package/dist/chunk-YIO7DFUA.js +0 -207
  491. package/dist/chunk-YIO7DFUA.js.map +0 -1
@@ -0,0 +1,272 @@
1
+ import { cn } from './chunk-4D54YOL6.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { createContext, useContext, useState, useId, useRef } from 'react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ // src/design-system/tabs.ts
7
+ var zuiTabsListBase = "flex flex-wrap items-center gap-1";
8
+ var zuiTabsListVariants = {
9
+ default: "bg-[var(--zui-tabs-list-default-bg,transparent)]",
10
+ underline: "border-b-2 border-[color:var(--zui-tabs-list-underline-border,transparent)]",
11
+ pills: "rounded-md"
12
+ };
13
+ var zuiTabsListSizes = {
14
+ sm: "text-sm p-1",
15
+ md: "text-base p-1.5",
16
+ lg: "text-lg p-2"
17
+ };
18
+ var zuiTabsOrientations = {
19
+ horizontal: "flex-row",
20
+ vertical: "flex-col"
21
+ };
22
+ var zuiTabsTriggerBase = "px-3 py-1.5 rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";
23
+ var zuiTabsTriggerAppearances = {
24
+ default: "bg-[var(--zui-tabs-trigger-default-bg,transparent)] text-[color:var(--zui-tabs-trigger-default-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-tabs-trigger-default-fg-dark,oklch(98.4%_0.003_247.858))]",
25
+ sky: "bg-[var(--zui-tabs-trigger-sky-bg,oklch(82.8%_0.111_230.318))] text-[color:var(--zui-tabs-trigger-sky-fg,oklch(39.1%_0.09_240.876))] dark:bg-[var(--zui-tabs-trigger-sky-bg-dark,oklch(39.1%_0.09_240.876))] dark:text-[color:var(--zui-tabs-trigger-sky-fg-dark,oklch(90.1%_0.058_230.902))] data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active,oklch(39.1%_0.09_240.876))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active-dark,oklch(50%_0.134_242.749))] data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active,oklch(97.7%_0.013_236.62))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active-dark,oklch(95.1%_0.026_236.824))]",
26
+ rose: "bg-[var(--zui-tabs-trigger-rose-bg,oklch(81%_0.117_11.638))] text-[color:var(--zui-tabs-trigger-rose-fg,oklch(41%_0.159_10.272))] dark:bg-[var(--zui-tabs-trigger-rose-bg-dark,oklch(41%_0.159_10.272))] dark:text-[color:var(--zui-tabs-trigger-rose-fg-dark,oklch(89.2%_0.058_10.001))] data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active,oklch(41%_0.159_10.272))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active-dark,oklch(51.4%_0.222_16.935))] data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active,oklch(96.9%_0.015_12.422))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active-dark,oklch(94.1%_0.03_12.58))]",
27
+ purple: "bg-[var(--zui-tabs-trigger-purple-bg,oklch(82.7%_0.119_306.383))] text-[color:var(--zui-tabs-trigger-purple-fg,oklch(38.1%_0.176_304.987))] dark:bg-[var(--zui-tabs-trigger-purple-bg-dark,oklch(38.1%_0.176_304.987))] dark:text-[color:var(--zui-tabs-trigger-purple-fg-dark,oklch(90.2%_0.063_306.703))] data-[state=active]:bg-[var(--zui-tabs-trigger-purple-bg-active,oklch(38.1%_0.176_304.987))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-purple-bg-active-dark,oklch(49.6%_0.265_301.924))] data-[state=active]:text-[color:var(--zui-tabs-trigger-purple-fg-active,oklch(97.7%_0.014_308.299))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-purple-fg-active-dark,oklch(94.6%_0.033_307.174))]",
28
+ pink: "bg-[var(--zui-tabs-trigger-pink-bg,oklch(82.3%_0.12_346.018))] text-[color:var(--zui-tabs-trigger-pink-fg,oklch(40.8%_0.153_2.432))] dark:bg-[var(--zui-tabs-trigger-pink-bg-dark,oklch(40.8%_0.153_2.432))] dark:text-[color:var(--zui-tabs-trigger-pink-fg-dark,oklch(89.9%_0.061_343.231))] data-[state=active]:bg-[var(--zui-tabs-trigger-pink-bg-active,oklch(40.8%_0.153_2.432))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-pink-bg-active-dark,oklch(52.5%_0.223_3.958))] data-[state=active]:text-[color:var(--zui-tabs-trigger-pink-fg-active,oklch(97.1%_0.014_343.198))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-pink-fg-active-dark,oklch(94.8%_0.028_342.258))]",
29
+ orange: "bg-[var(--zui-tabs-trigger-orange-bg,oklch(83.7%_0.128_66.29))] text-[color:var(--zui-tabs-trigger-orange-fg,oklch(40.8%_0.123_38.172))] dark:bg-[var(--zui-tabs-trigger-orange-bg-dark,oklch(40.8%_0.123_38.172))] dark:text-[color:var(--zui-tabs-trigger-orange-fg-dark,oklch(90.1%_0.076_70.697))] data-[state=active]:bg-[var(--zui-tabs-trigger-orange-bg-active,oklch(40.8%_0.123_38.172))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-orange-bg-active-dark,oklch(55.3%_0.195_38.402))] data-[state=active]:text-[color:var(--zui-tabs-trigger-orange-fg-active,oklch(98%_0.016_73.684))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-orange-fg-active-dark,oklch(95.4%_0.038_75.164))]",
30
+ yellow: "bg-[var(--zui-tabs-trigger-yellow-bg,oklch(90.5%_0.182_98.111))] text-[color:var(--zui-tabs-trigger-yellow-fg,oklch(42.1%_0.095_57.708))] dark:bg-[var(--zui-tabs-trigger-yellow-bg-dark,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-tabs-trigger-yellow-fg-dark,oklch(94.5%_0.129_101.54))] data-[state=active]:bg-[var(--zui-tabs-trigger-yellow-bg-active,oklch(42.1%_0.095_57.708))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-yellow-bg-active-dark,oklch(55.4%_0.135_66.442))] data-[state=active]:text-[color:var(--zui-tabs-trigger-yellow-fg-active,oklch(98.7%_0.026_102.212))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-yellow-fg-active-dark,oklch(97.3%_0.071_103.193))]",
31
+ teal: "bg-[var(--zui-tabs-trigger-teal-bg,oklch(85.5%_0.138_181.071))] text-[color:var(--zui-tabs-trigger-teal-fg,oklch(38.6%_0.063_188.416))] dark:bg-[var(--zui-tabs-trigger-teal-bg-dark,oklch(38.6%_0.063_188.416))] dark:text-[color:var(--zui-tabs-trigger-teal-fg-dark,oklch(91%_0.096_180.426))] data-[state=active]:bg-[var(--zui-tabs-trigger-teal-bg-active,oklch(38.6%_0.063_188.416))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-teal-bg-active-dark,oklch(51.1%_0.096_186.391))] data-[state=active]:text-[color:var(--zui-tabs-trigger-teal-fg-active,oklch(98.4%_0.014_180.72))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-teal-fg-active-dark,oklch(95.3%_0.051_180.801))]",
32
+ indigo: "bg-[var(--zui-tabs-trigger-indigo-bg,oklch(78.5%_0.115_274.713))] text-[color:var(--zui-tabs-trigger-indigo-fg,oklch(35.9%_0.144_278.697))] dark:bg-[var(--zui-tabs-trigger-indigo-bg-dark,oklch(35.9%_0.144_278.697))] dark:text-[color:var(--zui-tabs-trigger-indigo-fg-dark,oklch(87%_0.065_274.039))] data-[state=active]:bg-[var(--zui-tabs-trigger-indigo-bg-active,oklch(35.9%_0.144_278.697))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-indigo-bg-active-dark,oklch(45.7%_0.24_277.023))] data-[state=active]:text-[color:var(--zui-tabs-trigger-indigo-fg-active,oklch(96.2%_0.018_272.314))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-indigo-fg-active-dark,oklch(93%_0.034_272.788))]",
33
+ emerald: "bg-[var(--zui-tabs-trigger-emerald-bg,oklch(84.5%_0.143_164.978))] text-[color:var(--zui-tabs-trigger-emerald-fg,oklch(37.8%_0.077_168.94))] dark:bg-[var(--zui-tabs-trigger-emerald-bg-dark,oklch(37.8%_0.077_168.94))] dark:text-[color:var(--zui-tabs-trigger-emerald-fg-dark,oklch(90.5%_0.093_164.15))] data-[state=active]:bg-[var(--zui-tabs-trigger-emerald-bg-active,oklch(37.8%_0.077_168.94))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-emerald-bg-active-dark,oklch(50.8%_0.118_165.612))] data-[state=active]:text-[color:var(--zui-tabs-trigger-emerald-fg-active,oklch(97.9%_0.021_166.113))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-emerald-fg-active-dark,oklch(95%_0.052_163.051))]",
34
+ gray: "bg-[var(--zui-tabs-trigger-gray-bg,oklch(87.2%_0.01_258.338))] text-[color:var(--zui-tabs-trigger-gray-fg,oklch(21%_0.034_264.665))] dark:bg-[var(--zui-tabs-trigger-gray-bg-dark,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-tabs-trigger-gray-fg-dark,oklch(92.8%_0.006_264.531))] data-[state=active]:bg-[var(--zui-tabs-trigger-gray-bg-active,oklch(21%_0.034_264.665))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-gray-bg-active-dark,oklch(37.3%_0.034_259.733))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gray-fg-active,oklch(98.5%_0.002_247.839))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gray-fg-active-dark,oklch(96.7%_0.003_264.542))]",
35
+ "gradient-blue": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-tabs-trigger-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-tabs-trigger-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-tabs-trigger-gradient-blue-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-tabs-trigger-gradient-blue-fg,oklch(93.2%_0.032_255.585))] dark:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-dark,oklch(97%_0.014_254.604))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-blue-from-active,oklch(54.6%_0.245_262.881))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-blue-from-active-dark,oklch(54.6%_0.245_262.881))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-blue-to-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-blue-to-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-active,oklch(93.2%_0.032_255.585))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-active-dark,oklch(93.2%_0.032_255.585))]",
36
+ "gradient-green": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-tabs-trigger-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-tabs-trigger-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-tabs-trigger-gradient-green-to-dark,oklch(45.3%_0.124_130.933))] text-[color:var(--zui-tabs-trigger-gradient-green-fg,oklch(96.2%_0.044_156.743))] dark:text-[color:var(--zui-tabs-trigger-gradient-green-fg-dark,oklch(98.2%_0.018_155.826))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-green-from-active,oklch(62.7%_0.194_149.214))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-green-from-active-dark,oklch(62.7%_0.194_149.214))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-green-to-active,oklch(64.8%_0.2_131.684))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-green-to-active-dark,oklch(64.8%_0.2_131.684))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-green-fg-active,oklch(96.2%_0.044_156.743))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-green-fg-active-dark,oklch(96.2%_0.044_156.743))]",
37
+ "gradient-red": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-tabs-trigger-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-tabs-trigger-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-tabs-trigger-gradient-red-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-tabs-trigger-gradient-red-fg,oklch(93.6%_0.032_17.717))] dark:text-[color:var(--zui-tabs-trigger-gradient-red-fg-dark,oklch(97.1%_0.013_17.38))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-red-from-active,oklch(57.7%_0.245_27.325))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-red-from-active-dark,oklch(57.7%_0.245_27.325))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-red-to-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-red-to-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-red-fg-active,oklch(93.6%_0.032_17.717))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-red-fg-active-dark,oklch(93.6%_0.032_17.717))]",
38
+ "gradient-yellow": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-tabs-trigger-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-tabs-trigger-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-tabs-trigger-gradient-yellow-to-dark,oklch(47%_0.157_37.304))] text-[color:var(--zui-tabs-trigger-gradient-yellow-fg,oklch(97.3%_0.071_103.193))] dark:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-dark,oklch(98.7%_0.026_102.212))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-yellow-from-active,oklch(68.1%_0.162_75.834))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-yellow-from-active-dark,oklch(68.1%_0.162_75.834))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-yellow-to-active,oklch(64.6%_0.222_41.116))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-yellow-to-active-dark,oklch(64.6%_0.222_41.116))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-active,oklch(97.3%_0.071_103.193))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-active-dark,oklch(97.3%_0.071_103.193))]",
39
+ "gradient-purple": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-tabs-trigger-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-tabs-trigger-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-tabs-trigger-gradient-purple-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-tabs-trigger-gradient-purple-fg,oklch(94.6%_0.033_307.174))] dark:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-dark,oklch(97.7%_0.014_308.299))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-purple-from-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-purple-from-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-purple-to-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-purple-to-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-active,oklch(94.6%_0.033_307.174))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-active-dark,oklch(94.6%_0.033_307.174))]",
40
+ "gradient-teal": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-tabs-trigger-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-tabs-trigger-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-tabs-trigger-gradient-teal-to-dark,oklch(45%_0.085_224.283))] text-[color:var(--zui-tabs-trigger-gradient-teal-fg,oklch(95.3%_0.051_180.801))] dark:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-dark,oklch(98.4%_0.014_180.72))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-teal-from-active,oklch(60%_0.118_184.704))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-teal-from-active-dark,oklch(60%_0.118_184.704))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-teal-to-active,oklch(60.9%_0.126_221.723))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-teal-to-active-dark,oklch(60.9%_0.126_221.723))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-active,oklch(95.3%_0.051_180.801))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-active-dark,oklch(95.3%_0.051_180.801))]",
41
+ "gradient-indigo": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-tabs-trigger-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-tabs-trigger-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-tabs-trigger-gradient-indigo-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-tabs-trigger-gradient-indigo-fg,oklch(93%_0.034_272.788))] dark:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-dark,oklch(96.2%_0.018_272.314))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-indigo-from-active,oklch(51.1%_0.262_276.966))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-indigo-from-active-dark,oklch(51.1%_0.262_276.966))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-indigo-to-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-indigo-to-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-active,oklch(93%_0.034_272.788))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-active-dark,oklch(93%_0.034_272.788))]",
42
+ "gradient-pink": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-tabs-trigger-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-tabs-trigger-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-tabs-trigger-gradient-pink-to-dark,oklch(45.5%_0.188_13.697))] text-[color:var(--zui-tabs-trigger-gradient-pink-fg,oklch(94.8%_0.028_342.258))] dark:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-dark,oklch(97.1%_0.014_343.198))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-pink-from-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-pink-from-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-pink-to-active,oklch(58.6%_0.253_17.585))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-pink-to-active-dark,oklch(58.6%_0.253_17.585))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-active,oklch(94.8%_0.028_342.258))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-active-dark,oklch(94.8%_0.028_342.258))]",
43
+ "gradient-orange": "bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-tabs-trigger-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-tabs-trigger-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-tabs-trigger-gradient-orange-to-dark,oklch(44.4%_0.177_26.899))] text-[color:var(--zui-tabs-trigger-gradient-orange-fg,oklch(95.4%_0.038_75.164))] dark:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-dark,oklch(98%_0.016_73.684))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-orange-from-active,oklch(64.6%_0.222_41.116))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-orange-from-active-dark,oklch(64.6%_0.222_41.116))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-orange-to-active,oklch(57.7%_0.245_27.325))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-orange-to-active-dark,oklch(57.7%_0.245_27.325))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-active,oklch(95.4%_0.038_75.164))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-active-dark,oklch(95.4%_0.038_75.164))]"
44
+ };
45
+ var zuiTabsTriggerVariants = {
46
+ default: "data-[state=active]:bg-background",
47
+ underline: "border-b-2 border-[color:var(--zui-tabs-trigger-underline-border,transparent)] data-[state=active]:border-current rounded-none",
48
+ pills: ""
49
+ };
50
+ var zuiTabsTriggerSizes = {
51
+ sm: "px-2 py-1",
52
+ md: "px-3 py-1.5",
53
+ lg: "px-4 py-2"
54
+ };
55
+
56
+ // src/ui/tabs/variants.ts
57
+ var tabsListVariants = cva(zuiTabsListBase, {
58
+ variants: {
59
+ variant: zuiTabsListVariants,
60
+ size: zuiTabsListSizes,
61
+ orientation: zuiTabsOrientations
62
+ },
63
+ defaultVariants: {
64
+ size: "md",
65
+ orientation: "horizontal",
66
+ variant: "pills"
67
+ }
68
+ });
69
+ var tabsTriggerVariants = cva(zuiTabsTriggerBase, {
70
+ variants: {
71
+ appearance: zuiTabsTriggerAppearances,
72
+ variant: zuiTabsTriggerVariants,
73
+ size: zuiTabsTriggerSizes
74
+ },
75
+ defaultVariants: {
76
+ appearance: "default",
77
+ variant: "pills",
78
+ size: "md"
79
+ }
80
+ });
81
+ var TabsContext = createContext(null);
82
+ var useTabs = () => {
83
+ const ctx = useContext(TabsContext);
84
+ if (!ctx) throw new Error("Tabs components must be used within Tabs");
85
+ return ctx;
86
+ };
87
+ function Tabs({
88
+ value,
89
+ defaultValue,
90
+ onValueChange,
91
+ orientation = "horizontal",
92
+ variant,
93
+ size,
94
+ appearance,
95
+ children,
96
+ className
97
+ }) {
98
+ const [internalValue, setInternalValue] = useState(defaultValue);
99
+ const idPrefix = useId();
100
+ const listRef = useRef(null);
101
+ const isControlled = value !== void 0;
102
+ const currentValue = isControlled ? value : internalValue;
103
+ const setValue = (val) => {
104
+ if (!isControlled) setInternalValue(val);
105
+ onValueChange?.(val);
106
+ };
107
+ const tabTriggerId = (tabValue) => `${idPrefix}zentauri-tab-${tabValue}`;
108
+ const tabPanelId = (tabValue) => `${idPrefix}zentauri-panel-${tabValue}`;
109
+ return /* @__PURE__ */ jsx(
110
+ TabsContext.Provider,
111
+ {
112
+ value: {
113
+ value: currentValue,
114
+ setValue,
115
+ listRef,
116
+ orientation,
117
+ size,
118
+ variant,
119
+ appearance,
120
+ tabTriggerId,
121
+ tabPanelId
122
+ },
123
+ children: /* @__PURE__ */ jsx("div", { "data-slot": "tabs", className: cn("w-full", className), children })
124
+ }
125
+ );
126
+ }
127
+ function TabsList({ children, className, ...props }) {
128
+ const { orientation, size, listRef } = useTabs();
129
+ return /* @__PURE__ */ jsx(
130
+ "div",
131
+ {
132
+ ref: listRef,
133
+ role: "tablist",
134
+ "aria-orientation": orientation,
135
+ className: cn(tabsListVariants({ orientation, size }), className),
136
+ ...props,
137
+ children
138
+ }
139
+ );
140
+ }
141
+ function TabsTrigger({
142
+ value,
143
+ children,
144
+ disabled,
145
+ className,
146
+ ...props
147
+ }) {
148
+ const {
149
+ value: activeValue,
150
+ setValue,
151
+ listRef,
152
+ orientation,
153
+ tabTriggerId,
154
+ tabPanelId,
155
+ size,
156
+ appearance,
157
+ variant
158
+ } = useTabs();
159
+ const isActive = activeValue === value;
160
+ const handleKeyDown = (e) => {
161
+ const list = listRef.current;
162
+ const triggers = list === null ? [] : Array.from(list.querySelectorAll('[role="tab"]'));
163
+ const nextKeys = orientation === "vertical" ? ["ArrowDown"] : ["ArrowRight"];
164
+ const prevKeys = orientation === "vertical" ? ["ArrowUp"] : ["ArrowLeft"];
165
+ const index = triggers.findIndex((el) => el === e.currentTarget);
166
+ if (index === -1) {
167
+ return;
168
+ }
169
+ const findEnabledIndex = (start, direction) => {
170
+ const n = triggers.length;
171
+ if (n === 0) {
172
+ return void 0;
173
+ }
174
+ let i = start;
175
+ for (let step = 0; step < n; step += 1) {
176
+ i = (i + direction + n) % n;
177
+ if (triggers[i]?.disabled !== true) {
178
+ return i;
179
+ }
180
+ }
181
+ return void 0;
182
+ };
183
+ const focusAt = (i) => {
184
+ const target = triggers[i];
185
+ if (target !== void 0 && target.disabled !== true) {
186
+ target.focus();
187
+ }
188
+ };
189
+ const isNext = nextKeys.includes(e.key);
190
+ const isPrev = prevKeys.includes(e.key);
191
+ if (isNext) {
192
+ e.preventDefault();
193
+ const nextIdx = findEnabledIndex(index, 1);
194
+ if (nextIdx !== void 0) {
195
+ focusAt(nextIdx);
196
+ }
197
+ return;
198
+ }
199
+ if (isPrev) {
200
+ e.preventDefault();
201
+ const prevIdx = findEnabledIndex(index, -1);
202
+ if (prevIdx !== void 0) {
203
+ focusAt(prevIdx);
204
+ }
205
+ return;
206
+ }
207
+ if (e.key === "Home") {
208
+ e.preventDefault();
209
+ const firstEnabledIndex = triggers.findIndex((btn) => !btn.disabled);
210
+ if (firstEnabledIndex !== -1) {
211
+ triggers[firstEnabledIndex]?.focus();
212
+ }
213
+ return;
214
+ }
215
+ if (e.key === "End") {
216
+ e.preventDefault();
217
+ for (let i = triggers.length - 1; i >= 0; i -= 1) {
218
+ if (!triggers[i]?.disabled) {
219
+ triggers[i]?.focus();
220
+ break;
221
+ }
222
+ }
223
+ }
224
+ };
225
+ return /* @__PURE__ */ jsx(
226
+ "button",
227
+ {
228
+ id: tabTriggerId(value),
229
+ type: "button",
230
+ role: "tab",
231
+ "data-state": isActive ? "active" : "inactive",
232
+ "aria-selected": isActive,
233
+ "aria-controls": tabPanelId(value),
234
+ disabled,
235
+ tabIndex: activeValue === void 0 ? void 0 : isActive ? 0 : -1,
236
+ onClick: () => setValue(value),
237
+ onKeyDown: handleKeyDown,
238
+ className: cn(
239
+ tabsTriggerVariants({ size, appearance, variant }),
240
+ className,
241
+ "cursor-pointer"
242
+ ),
243
+ ...props,
244
+ children
245
+ }
246
+ );
247
+ }
248
+ function TabsContent({
249
+ value,
250
+ children,
251
+ className,
252
+ as: Wrapper = "div",
253
+ ...props
254
+ }) {
255
+ const { value: activeValue, tabTriggerId, tabPanelId } = useTabs();
256
+ if (activeValue !== value) return null;
257
+ return /* @__PURE__ */ jsx(
258
+ Wrapper,
259
+ {
260
+ id: tabPanelId(value),
261
+ role: "tabpanel",
262
+ "aria-labelledby": tabTriggerId(value),
263
+ className: cn("mt-2", className),
264
+ ...props,
265
+ children
266
+ }
267
+ );
268
+ }
269
+
270
+ export { Tabs, TabsContent, TabsContext, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants, useTabs };
271
+ //# sourceMappingURL=chunk-P5WLYJ2C.mjs.map
272
+ //# sourceMappingURL=chunk-P5WLYJ2C.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/tabs.ts","../src/ui/tabs/variants.ts","../src/ui/tabs/tabs-base.tsx"],"names":[],"mappings":"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","file":"chunk-P5WLYJ2C.mjs","sourcesContent":["export const zuiTabsListBase = \"flex flex-wrap items-center gap-1\";\n\nexport const zuiTabsListVariants = {\n default: \"bg-[var(--zui-tabs-list-default-bg,transparent)]\",\n underline:\n \"border-b-2 border-[color:var(--zui-tabs-list-underline-border,transparent)]\",\n pills: \"rounded-md\",\n} as const;\n\nexport const zuiTabsListSizes = {\n sm: \"text-sm p-1\",\n md: \"text-base p-1.5\",\n lg: \"text-lg p-2\",\n} as const;\n\nexport const zuiTabsOrientations = {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n} as const;\n\nexport const zuiTabsTriggerBase =\n \"px-3 py-1.5 rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\";\n\nexport const zuiTabsTriggerAppearances = {\n default:\n \"bg-[var(--zui-tabs-trigger-default-bg,transparent)] text-[color:var(--zui-tabs-trigger-default-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-tabs-trigger-default-fg-dark,oklch(98.4%_0.003_247.858))]\",\n sky: \"bg-[var(--zui-tabs-trigger-sky-bg,oklch(82.8%_0.111_230.318))] text-[color:var(--zui-tabs-trigger-sky-fg,oklch(39.1%_0.09_240.876))] dark:bg-[var(--zui-tabs-trigger-sky-bg-dark,oklch(39.1%_0.09_240.876))] dark:text-[color:var(--zui-tabs-trigger-sky-fg-dark,oklch(90.1%_0.058_230.902))] data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active,oklch(39.1%_0.09_240.876))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active-dark,oklch(50%_0.134_242.749))] data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active,oklch(97.7%_0.013_236.62))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active-dark,oklch(95.1%_0.026_236.824))]\",\n rose: \"bg-[var(--zui-tabs-trigger-rose-bg,oklch(81%_0.117_11.638))] text-[color:var(--zui-tabs-trigger-rose-fg,oklch(41%_0.159_10.272))] dark:bg-[var(--zui-tabs-trigger-rose-bg-dark,oklch(41%_0.159_10.272))] dark:text-[color:var(--zui-tabs-trigger-rose-fg-dark,oklch(89.2%_0.058_10.001))] data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active,oklch(41%_0.159_10.272))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active-dark,oklch(51.4%_0.222_16.935))] data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active,oklch(96.9%_0.015_12.422))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active-dark,oklch(94.1%_0.03_12.58))]\",\n purple:\n \"bg-[var(--zui-tabs-trigger-purple-bg,oklch(82.7%_0.119_306.383))] text-[color:var(--zui-tabs-trigger-purple-fg,oklch(38.1%_0.176_304.987))] dark:bg-[var(--zui-tabs-trigger-purple-bg-dark,oklch(38.1%_0.176_304.987))] dark:text-[color:var(--zui-tabs-trigger-purple-fg-dark,oklch(90.2%_0.063_306.703))] data-[state=active]:bg-[var(--zui-tabs-trigger-purple-bg-active,oklch(38.1%_0.176_304.987))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-purple-bg-active-dark,oklch(49.6%_0.265_301.924))] data-[state=active]:text-[color:var(--zui-tabs-trigger-purple-fg-active,oklch(97.7%_0.014_308.299))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-purple-fg-active-dark,oklch(94.6%_0.033_307.174))]\",\n pink: \"bg-[var(--zui-tabs-trigger-pink-bg,oklch(82.3%_0.12_346.018))] text-[color:var(--zui-tabs-trigger-pink-fg,oklch(40.8%_0.153_2.432))] dark:bg-[var(--zui-tabs-trigger-pink-bg-dark,oklch(40.8%_0.153_2.432))] dark:text-[color:var(--zui-tabs-trigger-pink-fg-dark,oklch(89.9%_0.061_343.231))] data-[state=active]:bg-[var(--zui-tabs-trigger-pink-bg-active,oklch(40.8%_0.153_2.432))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-pink-bg-active-dark,oklch(52.5%_0.223_3.958))] data-[state=active]:text-[color:var(--zui-tabs-trigger-pink-fg-active,oklch(97.1%_0.014_343.198))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-pink-fg-active-dark,oklch(94.8%_0.028_342.258))]\",\n orange:\n \"bg-[var(--zui-tabs-trigger-orange-bg,oklch(83.7%_0.128_66.29))] text-[color:var(--zui-tabs-trigger-orange-fg,oklch(40.8%_0.123_38.172))] dark:bg-[var(--zui-tabs-trigger-orange-bg-dark,oklch(40.8%_0.123_38.172))] dark:text-[color:var(--zui-tabs-trigger-orange-fg-dark,oklch(90.1%_0.076_70.697))] data-[state=active]:bg-[var(--zui-tabs-trigger-orange-bg-active,oklch(40.8%_0.123_38.172))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-orange-bg-active-dark,oklch(55.3%_0.195_38.402))] data-[state=active]:text-[color:var(--zui-tabs-trigger-orange-fg-active,oklch(98%_0.016_73.684))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-orange-fg-active-dark,oklch(95.4%_0.038_75.164))]\",\n yellow:\n \"bg-[var(--zui-tabs-trigger-yellow-bg,oklch(90.5%_0.182_98.111))] text-[color:var(--zui-tabs-trigger-yellow-fg,oklch(42.1%_0.095_57.708))] dark:bg-[var(--zui-tabs-trigger-yellow-bg-dark,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-tabs-trigger-yellow-fg-dark,oklch(94.5%_0.129_101.54))] data-[state=active]:bg-[var(--zui-tabs-trigger-yellow-bg-active,oklch(42.1%_0.095_57.708))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-yellow-bg-active-dark,oklch(55.4%_0.135_66.442))] data-[state=active]:text-[color:var(--zui-tabs-trigger-yellow-fg-active,oklch(98.7%_0.026_102.212))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-yellow-fg-active-dark,oklch(97.3%_0.071_103.193))]\",\n teal: \"bg-[var(--zui-tabs-trigger-teal-bg,oklch(85.5%_0.138_181.071))] text-[color:var(--zui-tabs-trigger-teal-fg,oklch(38.6%_0.063_188.416))] dark:bg-[var(--zui-tabs-trigger-teal-bg-dark,oklch(38.6%_0.063_188.416))] dark:text-[color:var(--zui-tabs-trigger-teal-fg-dark,oklch(91%_0.096_180.426))] data-[state=active]:bg-[var(--zui-tabs-trigger-teal-bg-active,oklch(38.6%_0.063_188.416))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-teal-bg-active-dark,oklch(51.1%_0.096_186.391))] data-[state=active]:text-[color:var(--zui-tabs-trigger-teal-fg-active,oklch(98.4%_0.014_180.72))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-teal-fg-active-dark,oklch(95.3%_0.051_180.801))]\",\n indigo:\n \"bg-[var(--zui-tabs-trigger-indigo-bg,oklch(78.5%_0.115_274.713))] text-[color:var(--zui-tabs-trigger-indigo-fg,oklch(35.9%_0.144_278.697))] dark:bg-[var(--zui-tabs-trigger-indigo-bg-dark,oklch(35.9%_0.144_278.697))] dark:text-[color:var(--zui-tabs-trigger-indigo-fg-dark,oklch(87%_0.065_274.039))] data-[state=active]:bg-[var(--zui-tabs-trigger-indigo-bg-active,oklch(35.9%_0.144_278.697))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-indigo-bg-active-dark,oklch(45.7%_0.24_277.023))] data-[state=active]:text-[color:var(--zui-tabs-trigger-indigo-fg-active,oklch(96.2%_0.018_272.314))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-indigo-fg-active-dark,oklch(93%_0.034_272.788))]\",\n emerald:\n \"bg-[var(--zui-tabs-trigger-emerald-bg,oklch(84.5%_0.143_164.978))] text-[color:var(--zui-tabs-trigger-emerald-fg,oklch(37.8%_0.077_168.94))] dark:bg-[var(--zui-tabs-trigger-emerald-bg-dark,oklch(37.8%_0.077_168.94))] dark:text-[color:var(--zui-tabs-trigger-emerald-fg-dark,oklch(90.5%_0.093_164.15))] data-[state=active]:bg-[var(--zui-tabs-trigger-emerald-bg-active,oklch(37.8%_0.077_168.94))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-emerald-bg-active-dark,oklch(50.8%_0.118_165.612))] data-[state=active]:text-[color:var(--zui-tabs-trigger-emerald-fg-active,oklch(97.9%_0.021_166.113))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-emerald-fg-active-dark,oklch(95%_0.052_163.051))]\",\n gray: \"bg-[var(--zui-tabs-trigger-gray-bg,oklch(87.2%_0.01_258.338))] text-[color:var(--zui-tabs-trigger-gray-fg,oklch(21%_0.034_264.665))] dark:bg-[var(--zui-tabs-trigger-gray-bg-dark,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-tabs-trigger-gray-fg-dark,oklch(92.8%_0.006_264.531))] data-[state=active]:bg-[var(--zui-tabs-trigger-gray-bg-active,oklch(21%_0.034_264.665))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-gray-bg-active-dark,oklch(37.3%_0.034_259.733))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gray-fg-active,oklch(98.5%_0.002_247.839))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gray-fg-active-dark,oklch(96.7%_0.003_264.542))]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-tabs-trigger-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-tabs-trigger-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-tabs-trigger-gradient-blue-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-tabs-trigger-gradient-blue-fg,oklch(93.2%_0.032_255.585))] dark:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-dark,oklch(97%_0.014_254.604))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-blue-from-active,oklch(54.6%_0.245_262.881))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-blue-from-active-dark,oklch(54.6%_0.245_262.881))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-blue-to-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-blue-to-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-active,oklch(93.2%_0.032_255.585))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-blue-fg-active-dark,oklch(93.2%_0.032_255.585))]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-tabs-trigger-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-tabs-trigger-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-tabs-trigger-gradient-green-to-dark,oklch(45.3%_0.124_130.933))] text-[color:var(--zui-tabs-trigger-gradient-green-fg,oklch(96.2%_0.044_156.743))] dark:text-[color:var(--zui-tabs-trigger-gradient-green-fg-dark,oklch(98.2%_0.018_155.826))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-green-from-active,oklch(62.7%_0.194_149.214))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-green-from-active-dark,oklch(62.7%_0.194_149.214))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-green-to-active,oklch(64.8%_0.2_131.684))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-green-to-active-dark,oklch(64.8%_0.2_131.684))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-green-fg-active,oklch(96.2%_0.044_156.743))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-green-fg-active-dark,oklch(96.2%_0.044_156.743))]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-tabs-trigger-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-tabs-trigger-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-tabs-trigger-gradient-red-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-tabs-trigger-gradient-red-fg,oklch(93.6%_0.032_17.717))] dark:text-[color:var(--zui-tabs-trigger-gradient-red-fg-dark,oklch(97.1%_0.013_17.38))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-red-from-active,oklch(57.7%_0.245_27.325))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-red-from-active-dark,oklch(57.7%_0.245_27.325))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-red-to-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-red-to-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-red-fg-active,oklch(93.6%_0.032_17.717))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-red-fg-active-dark,oklch(93.6%_0.032_17.717))]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-tabs-trigger-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-tabs-trigger-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-tabs-trigger-gradient-yellow-to-dark,oklch(47%_0.157_37.304))] text-[color:var(--zui-tabs-trigger-gradient-yellow-fg,oklch(97.3%_0.071_103.193))] dark:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-dark,oklch(98.7%_0.026_102.212))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-yellow-from-active,oklch(68.1%_0.162_75.834))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-yellow-from-active-dark,oklch(68.1%_0.162_75.834))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-yellow-to-active,oklch(64.6%_0.222_41.116))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-yellow-to-active-dark,oklch(64.6%_0.222_41.116))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-active,oklch(97.3%_0.071_103.193))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-yellow-fg-active-dark,oklch(97.3%_0.071_103.193))]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-tabs-trigger-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-tabs-trigger-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-tabs-trigger-gradient-purple-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-tabs-trigger-gradient-purple-fg,oklch(94.6%_0.033_307.174))] dark:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-dark,oklch(97.7%_0.014_308.299))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-purple-from-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-purple-from-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-purple-to-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-purple-to-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-active,oklch(94.6%_0.033_307.174))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-purple-fg-active-dark,oklch(94.6%_0.033_307.174))]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-tabs-trigger-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-tabs-trigger-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-tabs-trigger-gradient-teal-to-dark,oklch(45%_0.085_224.283))] text-[color:var(--zui-tabs-trigger-gradient-teal-fg,oklch(95.3%_0.051_180.801))] dark:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-dark,oklch(98.4%_0.014_180.72))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-teal-from-active,oklch(60%_0.118_184.704))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-teal-from-active-dark,oklch(60%_0.118_184.704))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-teal-to-active,oklch(60.9%_0.126_221.723))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-teal-to-active-dark,oklch(60.9%_0.126_221.723))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-active,oklch(95.3%_0.051_180.801))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-teal-fg-active-dark,oklch(95.3%_0.051_180.801))]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-tabs-trigger-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-tabs-trigger-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-tabs-trigger-gradient-indigo-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-tabs-trigger-gradient-indigo-fg,oklch(93%_0.034_272.788))] dark:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-dark,oklch(96.2%_0.018_272.314))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-indigo-from-active,oklch(51.1%_0.262_276.966))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-indigo-from-active-dark,oklch(51.1%_0.262_276.966))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-indigo-to-active,oklch(55.8%_0.288_302.321))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-indigo-to-active-dark,oklch(55.8%_0.288_302.321))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-active,oklch(93%_0.034_272.788))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-indigo-fg-active-dark,oklch(93%_0.034_272.788))]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-tabs-trigger-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-tabs-trigger-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-tabs-trigger-gradient-pink-to-dark,oklch(45.5%_0.188_13.697))] text-[color:var(--zui-tabs-trigger-gradient-pink-fg,oklch(94.8%_0.028_342.258))] dark:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-dark,oklch(97.1%_0.014_343.198))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-pink-from-active,oklch(59.2%_0.249_0.584))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-pink-from-active-dark,oklch(59.2%_0.249_0.584))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-pink-to-active,oklch(58.6%_0.253_17.585))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-pink-to-active-dark,oklch(58.6%_0.253_17.585))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-active,oklch(94.8%_0.028_342.258))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-pink-fg-active-dark,oklch(94.8%_0.028_342.258))]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-tabs-trigger-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-tabs-trigger-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-tabs-trigger-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-tabs-trigger-gradient-orange-to-dark,oklch(44.4%_0.177_26.899))] text-[color:var(--zui-tabs-trigger-gradient-orange-fg,oklch(95.4%_0.038_75.164))] dark:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-dark,oklch(98%_0.016_73.684))] data-[state=active]:from-[var(--zui-tabs-trigger-gradient-orange-from-active,oklch(64.6%_0.222_41.116))] dark:data-[state=active]:from-[var(--zui-tabs-trigger-gradient-orange-from-active-dark,oklch(64.6%_0.222_41.116))] data-[state=active]:to-[var(--zui-tabs-trigger-gradient-orange-to-active,oklch(57.7%_0.245_27.325))] dark:data-[state=active]:to-[var(--zui-tabs-trigger-gradient-orange-to-active-dark,oklch(57.7%_0.245_27.325))] data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-active,oklch(95.4%_0.038_75.164))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-gradient-orange-fg-active-dark,oklch(95.4%_0.038_75.164))]\",\n} as const;\n\nexport const zuiTabsTriggerVariants = {\n default: \"data-[state=active]:bg-background\",\n underline:\n \"border-b-2 border-[color:var(--zui-tabs-trigger-underline-border,transparent)] data-[state=active]:border-current rounded-none\",\n pills: \"\",\n} as const;\n\nexport const zuiTabsTriggerSizes = {\n sm: \"px-2 py-1\",\n md: \"px-3 py-1.5\",\n lg: \"px-4 py-2\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiTabsListBase,\n zuiTabsListSizes,\n zuiTabsListVariants,\n zuiTabsOrientations,\n zuiTabsTriggerAppearances,\n zuiTabsTriggerBase,\n zuiTabsTriggerSizes,\n zuiTabsTriggerVariants,\n} from \"../../design-system/tabs\";\n\nexport const tabsListVariants = cva(zuiTabsListBase, {\n variants: {\n variant: zuiTabsListVariants,\n size: zuiTabsListSizes,\n orientation: zuiTabsOrientations,\n },\n defaultVariants: {\n size: \"md\",\n orientation: \"horizontal\",\n variant: \"pills\",\n },\n});\n\nexport const tabsTriggerVariants = cva(zuiTabsTriggerBase, {\n variants: {\n appearance: zuiTabsTriggerAppearances,\n variant: zuiTabsTriggerVariants,\n size: zuiTabsTriggerSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n variant: \"pills\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n KeyboardEvent,\n useContext,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport {\n TabsContentProps,\n TabsListProps,\n TabsProps,\n TabsTriggerProps,\n TabsValue,\n TabsContextType,\n} from \"./types\";\nimport { tabsListVariants, tabsTriggerVariants } from \"./variants\";\n\nexport const TabsContext = createContext<TabsContextType | null>(null);\n\nexport const useTabs = () => {\n const ctx = useContext(TabsContext);\n if (!ctx) throw new Error(\"Tabs components must be used within Tabs\");\n return ctx;\n};\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n orientation = \"horizontal\",\n variant,\n size,\n appearance,\n children,\n className,\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const idPrefix = useId();\n const listRef = useRef<HTMLDivElement | null>(null);\n\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = (val: string) => {\n if (!isControlled) setInternalValue(val);\n onValueChange?.(val);\n };\n\n const tabTriggerId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-tab-${tabValue}`;\n const tabPanelId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-panel-${tabValue}`;\n\n return (\n <TabsContext.Provider\n value={{\n value: currentValue,\n setValue,\n listRef,\n orientation,\n size,\n variant,\n appearance,\n tabTriggerId,\n tabPanelId,\n }}\n >\n <div data-slot=\"tabs\" className={cn(\"w-full\", className)}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ children, className, ...props }: TabsListProps) {\n const { orientation, size, listRef } = useTabs();\n\n return (\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation={orientation}\n className={cn(tabsListVariants({ orientation, size }), className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function TabsTrigger({\n value,\n children,\n disabled,\n className,\n ...props\n}: TabsTriggerProps) {\n const {\n value: activeValue,\n setValue,\n listRef,\n orientation,\n tabTriggerId,\n tabPanelId,\n size,\n appearance,\n variant,\n } = useTabs();\n\n const isActive = activeValue === value;\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n const list = listRef.current;\n const triggers =\n list === null\n ? []\n : Array.from(list.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]'));\n\n const nextKeys =\n orientation === \"vertical\" ? [\"ArrowDown\"] : [\"ArrowRight\"];\n const prevKeys = orientation === \"vertical\" ? [\"ArrowUp\"] : [\"ArrowLeft\"];\n\n const index = triggers.findIndex((el) => el === e.currentTarget);\n if (index === -1) {\n return;\n }\n\n const findEnabledIndex = (\n start: number,\n direction: 1 | -1,\n ): number | undefined => {\n const n = triggers.length;\n if (n === 0) {\n return undefined;\n }\n let i = start;\n for (let step = 0; step < n; step += 1) {\n i = (i + direction + n) % n;\n if (triggers[i]?.disabled !== true) {\n return i;\n }\n }\n return undefined;\n };\n\n const focusAt = (i: number) => {\n const target = triggers[i];\n if (target !== undefined && target.disabled !== true) {\n target.focus();\n }\n };\n\n const isNext = nextKeys.includes(e.key);\n const isPrev = prevKeys.includes(e.key);\n\n if (isNext) {\n e.preventDefault();\n const nextIdx = findEnabledIndex(index, 1);\n if (nextIdx !== undefined) {\n focusAt(nextIdx);\n }\n return;\n }\n\n if (isPrev) {\n e.preventDefault();\n const prevIdx = findEnabledIndex(index, -1);\n if (prevIdx !== undefined) {\n focusAt(prevIdx);\n }\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n const firstEnabledIndex = triggers.findIndex((btn) => !btn.disabled);\n if (firstEnabledIndex !== -1) {\n triggers[firstEnabledIndex]?.focus();\n }\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n for (let i = triggers.length - 1; i >= 0; i -= 1) {\n if (!triggers[i]?.disabled) {\n triggers[i]?.focus();\n break;\n }\n }\n }\n };\n\n return (\n <button\n id={tabTriggerId(value)}\n type=\"button\"\n role=\"tab\"\n data-state={isActive ? \"active\" : \"inactive\"}\n aria-selected={isActive}\n aria-controls={tabPanelId(value)}\n disabled={disabled}\n tabIndex={activeValue === undefined ? undefined : isActive ? 0 : -1}\n onClick={() => setValue(value)}\n onKeyDown={handleKeyDown}\n className={cn(\n tabsTriggerVariants({ size, appearance, variant }),\n className,\n \"cursor-pointer\",\n )}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function TabsContent({\n value,\n children,\n className,\n as: Wrapper = \"div\",\n ...props\n}: TabsContentProps) {\n const { value: activeValue, tabTriggerId, tabPanelId } = useTabs();\n\n if (activeValue !== value) return null;\n\n return (\n <Wrapper\n id={tabPanelId(value)}\n role=\"tabpanel\"\n aria-labelledby={tabTriggerId(value)}\n className={cn(\"mt-2\", className)}\n {...props}\n >\n {children}\n </Wrapper>\n );\n}\n"]}
@@ -0,0 +1,192 @@
1
+ import { cn } from './chunk-4D54YOL6.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { useId, useState, useCallback } from 'react';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+
6
+ // src/design-system/toggle.ts
7
+ var zuiToggleTrackBase = "relative inline-flex shrink-0 cursor-pointer rounded-full border border-[color:var(--zui-toggle-track-border,#0000001a)] dark:border-[color:var(--zui-toggle-track-border-dark,#ffffff1a)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-toggle-track-ring-focus,oklch(44.6%_0.043_257.281))] dark:focus-visible:ring-[var(--zui-toggle-track-ring-focus-dark,oklch(86.9%_0.022_252.894))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-toggle-track-ring-offset-focus,oklch(98.4%_0.003_247.858))] dark:focus-visible:ring-offset-[var(--zui-toggle-track-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))] data-[state=checked]:border-[color:var(--zui-toggle-track-border-checked,oklch(71.5%_0.143_215.221_/_0.4))] disabled:cursor-not-allowed disabled:opacity-50";
8
+ var zuiToggleTrackSizes = {
9
+ sm: "h-5 w-9",
10
+ md: "h-6 w-11",
11
+ lg: "h-7 w-[3.25rem]"
12
+ };
13
+ var zuiToggleTrackAppearances = {
14
+ default: "data-[state=checked]:bg-[var(--zui-toggle-track-default-bg-checked,oklch(78.9%_0.154_211.53_/_0.7))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-default-bg-checked-dark,oklch(60.9%_0.126_221.723_/_0.9))]",
15
+ success: "data-[state=checked]:border-[color:var(--zui-toggle-track-success-border-checked,oklch(69.6%_0.17_162.48_/_0.7))] data-[state=checked]:bg-[var(--zui-toggle-track-success-bg-checked,oklch(76.5%_0.177_163.223_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-success-bg-checked-dark,oklch(59.6%_0.145_163.225_/_0.8))]",
16
+ destructive: "data-[state=checked]:border-[color:var(--zui-toggle-track-destructive-border-checked,oklch(64.5%_0.246_16.439_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-destructive-bg-checked,oklch(71.2%_0.194_13.428_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-destructive-bg-checked-dark,oklch(58.6%_0.253_17.585_/_0.8))]",
17
+ neutral: "data-[state=checked]:border-[color:var(--zui-toggle-track-neutral-border-checked,oklch(55.4%_0.046_257.417_/_0.4))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-neutral-border-checked-dark,oklch(70.4%_0.04_256.788_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-neutral-bg-checked,oklch(70.4%_0.04_256.788_/_0.9))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-neutral-bg-checked-dark,oklch(44.6%_0.043_257.281_/_0.9))]",
18
+ indigo: "data-[state=checked]:border-[color:var(--zui-toggle-track-indigo-border-checked,oklch(58.5%_0.233_277.117_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-indigo-bg-checked,oklch(67.3%_0.182_276.935_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-indigo-bg-checked-dark,oklch(51.1%_0.262_276.966_/_0.8))]",
19
+ purple: "data-[state=checked]:border-[color:var(--zui-toggle-track-purple-border-checked,oklch(62.7%_0.265_303.9_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-purple-bg-checked,oklch(71.4%_0.203_305.504_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-purple-bg-checked-dark,oklch(55.8%_0.288_302.321_/_0.8))]",
20
+ pink: "data-[state=checked]:border-[color:var(--zui-toggle-track-pink-border-checked,oklch(65.6%_0.241_354.308_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-pink-bg-checked,oklch(71.8%_0.202_349.761_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-pink-bg-checked-dark,oklch(59.2%_0.249_0.584_/_0.8))]",
21
+ orange: "data-[state=checked]:border-[color:var(--zui-toggle-track-orange-border-checked,oklch(70.5%_0.213_47.604_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-orange-bg-checked,oklch(75%_0.183_55.934_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-orange-bg-checked-dark,oklch(64.6%_0.222_41.116_/_0.8))]",
22
+ yellow: "data-[state=checked]:border-[color:var(--zui-toggle-track-yellow-border-checked,oklch(79.5%_0.184_86.047_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-yellow-bg-checked,oklch(85.2%_0.199_91.936_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-yellow-bg-checked-dark,oklch(68.1%_0.162_75.834_/_0.8))]",
23
+ green: "data-[state=checked]:border-[color:var(--zui-toggle-track-green-border-checked,oklch(72.3%_0.219_149.579_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-green-bg-checked,oklch(79.2%_0.209_151.711_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-green-bg-checked-dark,oklch(62.7%_0.194_149.214_/_0.8))]",
24
+ teal: "data-[state=checked]:border-[color:var(--zui-toggle-track-teal-border-checked,oklch(70.4%_0.14_182.503_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-teal-bg-checked,oklch(77.7%_0.152_181.912_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-teal-bg-checked-dark,oklch(60%_0.118_184.704_/_0.8))]",
25
+ cyan: "data-[state=checked]:border-[color:var(--zui-toggle-track-cyan-border-checked,oklch(71.5%_0.143_215.221_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-cyan-bg-checked,oklch(78.9%_0.154_211.53_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-cyan-bg-checked-dark,oklch(60.9%_0.126_221.723_/_0.8))]",
26
+ lime: "data-[state=checked]:border-[color:var(--zui-toggle-track-lime-border-checked,oklch(76.8%_0.233_130.85_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-lime-bg-checked,oklch(84.1%_0.238_128.85_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-lime-bg-checked-dark,oklch(64.8%_0.2_131.684_/_0.8))]",
27
+ emerald: "data-[state=checked]:border-[color:var(--zui-toggle-track-emerald-border-checked,oklch(69.6%_0.17_162.48_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-emerald-bg-checked,oklch(76.5%_0.177_163.223_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-emerald-bg-checked-dark,oklch(59.6%_0.145_163.225_/_0.8))]",
28
+ rose: "data-[state=checked]:border-[color:var(--zui-toggle-track-rose-border-checked,oklch(64.5%_0.246_16.439_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-rose-bg-checked,oklch(71.2%_0.194_13.428_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-rose-bg-checked-dark,oklch(58.6%_0.253_17.585_/_0.8))]",
29
+ slate: "data-[state=checked]:border-[color:var(--zui-toggle-track-slate-border-checked,oklch(55.4%_0.046_257.417_/_0.4))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-slate-border-checked-dark,oklch(70.4%_0.04_256.788_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-slate-bg-checked,oklch(70.4%_0.04_256.788_/_0.9))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-slate-bg-checked-dark,oklch(44.6%_0.043_257.281_/_0.9))]",
30
+ zinc: "data-[state=checked]:border-[color:var(--zui-toggle-track-zinc-border-checked,oklch(70.5%_0.015_286.067_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-zinc-bg-checked,oklch(44.2%_0.017_285.786_/_0.9))]",
31
+ gray: "data-[state=checked]:border-[color:var(--zui-toggle-track-gray-border-checked,oklch(70.7%_0.022_261.325_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-gray-bg-checked,oklch(70.7%_0.022_261.325_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-gray-bg-checked-dark,oklch(44.6%_0.03_256.802_/_0.9))]",
32
+ stone: "bg-[var(--zui-toggle-track-stone-bg,oklch(86.9%_0.005_56.366))] data-[state=checked]:border-[color:var(--zui-toggle-track-stone-border-checked,oklch(70.9%_0.01_56.259_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-stone-bg-checked,oklch(44.4%_0.011_73.639_/_0.9))]",
33
+ "gradient-blue": "bg-[var(--zui-toggle-track-gradient-blue-bg,oklch(80.9%_0.105_251.813))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-toggle-track-gradient-blue-from-dark,oklch(54.6%_0.245_262.881))] to-[var(--zui-toggle-track-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-toggle-track-gradient-blue-to-dark,oklch(55.8%_0.288_302.321))]",
34
+ "gradient-green": "bg-[var(--zui-toggle-track-gradient-green-bg,oklch(87.1%_0.15_154.449))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-toggle-track-gradient-green-from-dark,oklch(62.7%_0.194_149.214))] to-[var(--zui-toggle-track-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-toggle-track-gradient-green-to-dark,oklch(64.8%_0.2_131.684))]",
35
+ "gradient-red": "bg-[var(--zui-toggle-track-gradient-red-bg,oklch(80.8%_0.114_19.571))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-toggle-track-gradient-red-from-dark,oklch(57.7%_0.245_27.325))] to-[var(--zui-toggle-track-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-toggle-track-gradient-red-to-dark,oklch(59.2%_0.249_0.584))]",
36
+ "gradient-yellow": "bg-[var(--zui-toggle-track-gradient-yellow-bg,oklch(90.5%_0.182_98.111))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-toggle-track-gradient-yellow-from-dark,oklch(68.1%_0.162_75.834))] to-[var(--zui-toggle-track-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-toggle-track-gradient-yellow-to-dark,oklch(64.6%_0.222_41.116))]",
37
+ "gradient-purple": "bg-[var(--zui-toggle-track-gradient-purple-bg,oklch(82.7%_0.119_306.383))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-toggle-track-gradient-purple-from-dark,oklch(55.8%_0.288_302.321))] to-[var(--zui-toggle-track-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-toggle-track-gradient-purple-to-dark,oklch(59.2%_0.249_0.584))]",
38
+ "gradient-teal": "bg-[var(--zui-toggle-track-gradient-teal-bg,oklch(85.5%_0.138_181.071))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-toggle-track-gradient-teal-from-dark,oklch(60%_0.118_184.704))] to-[var(--zui-toggle-track-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-toggle-track-gradient-teal-to-dark,oklch(60.9%_0.126_221.723))]",
39
+ "gradient-indigo": "bg-[var(--zui-toggle-track-gradient-indigo-bg,oklch(78.5%_0.115_274.713))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-toggle-track-gradient-indigo-from-dark,oklch(51.1%_0.262_276.966))] to-[var(--zui-toggle-track-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-toggle-track-gradient-indigo-to-dark,oklch(55.8%_0.288_302.321))]",
40
+ "gradient-pink": "bg-[var(--zui-toggle-track-gradient-pink-bg,oklch(82.3%_0.12_346.018))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-toggle-track-gradient-pink-from-dark,oklch(59.2%_0.249_0.584))] to-[var(--zui-toggle-track-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-toggle-track-gradient-pink-to-dark,oklch(58.6%_0.253_17.585))]",
41
+ "gradient-orange": "bg-[var(--zui-toggle-track-gradient-orange-bg,oklch(83.7%_0.128_66.29))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-toggle-track-gradient-orange-from-dark,oklch(64.6%_0.222_41.116))] to-[var(--zui-toggle-track-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-toggle-track-gradient-orange-to-dark,oklch(57.7%_0.245_27.325))]"
42
+ };
43
+ var zuiToggleThumbBase = "pointer-events-none block rounded-full border border-[color:var(--zui-toggle-thumb-border,oklch(20.8%_0.042_265.755_/_0.3))] dark:border-[color:var(--zui-toggle-thumb-border-dark,#ffffff1a)] shadow-[var(--zui-toggle-thumb-shadow,0_1px_2px_rgba(15,23,42,0.12))] dark:shadow-[var(--zui-toggle-thumb-shadow-dark,0_1px_2px_rgba(15,23,42,0.35))] ring-0";
44
+ var zuiToggleThumbSizes = {
45
+ sm: "size-4",
46
+ md: "size-5",
47
+ lg: "size-6"
48
+ };
49
+ var zuiToggleThumbColors = {
50
+ default: "bg-[var(--zui-toggle-thumb-colors-default-bg,#ffffff)]",
51
+ success: "bg-[var(--zui-toggle-thumb-colors-success-bg,oklch(69.6%_0.17_162.48))]",
52
+ destructive: "bg-[var(--zui-toggle-thumb-colors-destructive-bg,oklch(64.5%_0.246_16.439))]",
53
+ neutral: "bg-[var(--zui-toggle-thumb-colors-neutral-bg,oklch(55.4%_0.046_257.417))]",
54
+ indigo: "bg-[var(--zui-toggle-thumb-colors-indigo-bg,oklch(58.5%_0.233_277.117))]",
55
+ purple: "bg-[var(--zui-toggle-thumb-colors-purple-bg,oklch(62.7%_0.265_303.9))]",
56
+ pink: "bg-[var(--zui-toggle-thumb-colors-pink-bg,oklch(65.6%_0.241_354.308))]",
57
+ orange: "bg-[var(--zui-toggle-thumb-colors-orange-bg,oklch(70.5%_0.213_47.604))]",
58
+ yellow: "bg-[var(--zui-toggle-thumb-colors-yellow-bg,oklch(79.5%_0.184_86.047))]",
59
+ green: "bg-[var(--zui-toggle-thumb-colors-green-bg,oklch(72.3%_0.219_149.579))]",
60
+ teal: "bg-[var(--zui-toggle-thumb-colors-teal-bg,oklch(70.4%_0.14_182.503))]",
61
+ cyan: "bg-[var(--zui-toggle-thumb-colors-cyan-bg,oklch(71.5%_0.143_215.221))]",
62
+ lime: "bg-[var(--zui-toggle-thumb-colors-lime-bg,oklch(76.8%_0.233_130.85))]",
63
+ emerald: "bg-[var(--zui-toggle-thumb-colors-emerald-bg,oklch(69.6%_0.17_162.48))]",
64
+ rose: "bg-[var(--zui-toggle-thumb-colors-rose-bg,oklch(64.5%_0.246_16.439))]",
65
+ slate: "bg-[var(--zui-toggle-thumb-colors-slate-bg,oklch(55.4%_0.046_257.417))]",
66
+ zinc: "bg-[var(--zui-toggle-thumb-colors-zinc-bg,oklch(55.2%_0.016_285.938))]",
67
+ gray: "bg-[var(--zui-toggle-thumb-colors-gray-bg,oklch(55.1%_0.027_264.364))]",
68
+ stone: "bg-[var(--zui-toggle-thumb-colors-stone-bg,oklch(55.3%_0.013_58.071))]",
69
+ "gradient-blue": "bg-[var(--zui-toggle-thumb-colors-gradient-blue-bg,oklch(62.3%_0.214_259.815))]",
70
+ "gradient-green": "bg-[var(--zui-toggle-thumb-colors-gradient-green-bg,oklch(72.3%_0.219_149.579))]",
71
+ "gradient-red": "bg-[var(--zui-toggle-thumb-colors-gradient-red-bg,oklch(63.7%_0.237_25.331))]",
72
+ "gradient-yellow": "bg-[var(--zui-toggle-thumb-colors-gradient-yellow-bg,oklch(79.5%_0.184_86.047))]",
73
+ "gradient-purple": "bg-[var(--zui-toggle-thumb-colors-gradient-purple-bg,oklch(62.7%_0.265_303.9))]",
74
+ "gradient-teal": "bg-[var(--zui-toggle-thumb-colors-gradient-teal-bg,oklch(70.4%_0.14_182.503))]",
75
+ "gradient-indigo": "bg-[var(--zui-toggle-thumb-colors-gradient-indigo-bg,oklch(58.5%_0.233_277.117))]",
76
+ "gradient-pink": "bg-[var(--zui-toggle-thumb-colors-gradient-pink-bg,oklch(65.6%_0.241_354.308))]",
77
+ "gradient-orange": "bg-[var(--zui-toggle-thumb-colors-gradient-orange-bg,oklch(70.5%_0.213_47.604))]"
78
+ };
79
+
80
+ // src/ui/toggle/variants.ts
81
+ var toggleTrackVariants = cva(zuiToggleTrackBase, {
82
+ variants: {
83
+ size: zuiToggleTrackSizes,
84
+ appearance: zuiToggleTrackAppearances
85
+ },
86
+ defaultVariants: {
87
+ size: "md",
88
+ appearance: "default"
89
+ }
90
+ });
91
+ var toggleThumbVariants = cva(zuiToggleThumbBase, {
92
+ variants: {
93
+ size: zuiToggleThumbSizes,
94
+ thumbColor: zuiToggleThumbColors
95
+ },
96
+ defaultVariants: {
97
+ size: "md",
98
+ thumbColor: "default"
99
+ }
100
+ });
101
+ function hasToggleLabelChildren(node) {
102
+ if (node === void 0 || node === null) {
103
+ return false;
104
+ }
105
+ if (typeof node === "boolean") {
106
+ return false;
107
+ }
108
+ if (typeof node === "string") {
109
+ return node.trim().length > 0;
110
+ }
111
+ if (typeof node === "number") {
112
+ return true;
113
+ }
114
+ if (Array.isArray(node)) {
115
+ return node.some(hasToggleLabelChildren);
116
+ }
117
+ return true;
118
+ }
119
+ function ToggleBase(props) {
120
+ const {
121
+ className,
122
+ size,
123
+ appearance,
124
+ checked,
125
+ defaultChecked = false,
126
+ onCheckedChange,
127
+ disabled,
128
+ ref,
129
+ "aria-label": ariaLabelProp,
130
+ children,
131
+ thumbColor,
132
+ ...rest
133
+ } = props;
134
+ const toggleLabelId = useId();
135
+ const isControlled = checked !== void 0;
136
+ const [uncontrolled, setUncontrolled] = useState(defaultChecked);
137
+ const resolved = isControlled ? Boolean(checked) : uncontrolled;
138
+ const setChecked = useCallback(
139
+ (next) => {
140
+ if (!isControlled) {
141
+ setUncontrolled(next);
142
+ }
143
+ onCheckedChange?.(next);
144
+ },
145
+ [isControlled, onCheckedChange]
146
+ );
147
+ const thumbShiftPx = size === "sm" ? 16 : size === "lg" ? 24 : 20;
148
+ const labeledByChildren = hasToggleLabelChildren(children);
149
+ const labeling = labeledByChildren ? {
150
+ "aria-labelledby": toggleLabelId
151
+ } : {
152
+ "aria-label": ariaLabelProp ?? "Toggle"
153
+ };
154
+ return /* @__PURE__ */ jsxs(
155
+ "button",
156
+ {
157
+ ref,
158
+ type: "button",
159
+ role: "switch",
160
+ "data-slot": "toggle",
161
+ "aria-checked": resolved,
162
+ "data-state": resolved ? "checked" : "unchecked",
163
+ disabled,
164
+ className: cn(toggleTrackVariants({ size, appearance }), className),
165
+ ...labeling,
166
+ onClick: () => {
167
+ if (!disabled) {
168
+ setChecked(!resolved);
169
+ }
170
+ },
171
+ ...rest,
172
+ children: [
173
+ /* @__PURE__ */ jsx("span", { className: "sr-only", id: labeledByChildren ? toggleLabelId : void 0, children }),
174
+ /* @__PURE__ */ jsx(
175
+ "span",
176
+ {
177
+ className: cn(
178
+ toggleThumbVariants({ size, thumbColor }),
179
+ "absolute top-1/2 -translate-y-1/2 transition-[transform] duration-200 ease-out"
180
+ ),
181
+ style: { transform: `translateX(${resolved ? thumbShiftPx : 0}px)` }
182
+ }
183
+ )
184
+ ]
185
+ }
186
+ );
187
+ }
188
+ ToggleBase.displayName = "Toggle";
189
+
190
+ export { ToggleBase, hasToggleLabelChildren, toggleThumbVariants, toggleTrackVariants };
191
+ //# sourceMappingURL=chunk-PMWRJ2KS.mjs.map
192
+ //# sourceMappingURL=chunk-PMWRJ2KS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/toggle.ts","../src/ui/toggle/variants.ts","../src/ui/toggle/toggle-base.tsx"],"names":[],"mappings":"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","file":"chunk-PMWRJ2KS.mjs","sourcesContent":["export const zuiToggleTrackBase =\n \"relative inline-flex shrink-0 cursor-pointer rounded-full border border-[color:var(--zui-toggle-track-border,#0000001a)] dark:border-[color:var(--zui-toggle-track-border-dark,#ffffff1a)] transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-toggle-track-ring-focus,oklch(44.6%_0.043_257.281))] dark:focus-visible:ring-[var(--zui-toggle-track-ring-focus-dark,oklch(86.9%_0.022_252.894))] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--zui-toggle-track-ring-offset-focus,oklch(98.4%_0.003_247.858))] dark:focus-visible:ring-offset-[var(--zui-toggle-track-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))] data-[state=checked]:border-[color:var(--zui-toggle-track-border-checked,oklch(71.5%_0.143_215.221_/_0.4))] disabled:cursor-not-allowed disabled:opacity-50\";\n\nexport const zuiToggleTrackSizes = {\n sm: \"h-5 w-9\",\n md: \"h-6 w-11\",\n lg: \"h-7 w-[3.25rem]\",\n} as const;\n\nexport const zuiToggleTrackAppearances = {\n default:\n \"data-[state=checked]:bg-[var(--zui-toggle-track-default-bg-checked,oklch(78.9%_0.154_211.53_/_0.7))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-default-bg-checked-dark,oklch(60.9%_0.126_221.723_/_0.9))]\",\n success:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-success-border-checked,oklch(69.6%_0.17_162.48_/_0.7))] data-[state=checked]:bg-[var(--zui-toggle-track-success-bg-checked,oklch(76.5%_0.177_163.223_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-success-bg-checked-dark,oklch(59.6%_0.145_163.225_/_0.8))]\",\n destructive:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-destructive-border-checked,oklch(64.5%_0.246_16.439_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-destructive-bg-checked,oklch(71.2%_0.194_13.428_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-destructive-bg-checked-dark,oklch(58.6%_0.253_17.585_/_0.8))]\",\n neutral:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-neutral-border-checked,oklch(55.4%_0.046_257.417_/_0.4))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-neutral-border-checked-dark,oklch(70.4%_0.04_256.788_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-neutral-bg-checked,oklch(70.4%_0.04_256.788_/_0.9))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-neutral-bg-checked-dark,oklch(44.6%_0.043_257.281_/_0.9))]\",\n indigo:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-indigo-border-checked,oklch(58.5%_0.233_277.117_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-indigo-bg-checked,oklch(67.3%_0.182_276.935_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-indigo-bg-checked-dark,oklch(51.1%_0.262_276.966_/_0.8))]\",\n purple:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-purple-border-checked,oklch(62.7%_0.265_303.9_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-purple-bg-checked,oklch(71.4%_0.203_305.504_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-purple-bg-checked-dark,oklch(55.8%_0.288_302.321_/_0.8))]\",\n pink: \"data-[state=checked]:border-[color:var(--zui-toggle-track-pink-border-checked,oklch(65.6%_0.241_354.308_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-pink-bg-checked,oklch(71.8%_0.202_349.761_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-pink-bg-checked-dark,oklch(59.2%_0.249_0.584_/_0.8))]\",\n orange:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-orange-border-checked,oklch(70.5%_0.213_47.604_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-orange-bg-checked,oklch(75%_0.183_55.934_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-orange-bg-checked-dark,oklch(64.6%_0.222_41.116_/_0.8))]\",\n yellow:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-yellow-border-checked,oklch(79.5%_0.184_86.047_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-yellow-bg-checked,oklch(85.2%_0.199_91.936_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-yellow-bg-checked-dark,oklch(68.1%_0.162_75.834_/_0.8))]\",\n green:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-green-border-checked,oklch(72.3%_0.219_149.579_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-green-bg-checked,oklch(79.2%_0.209_151.711_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-green-bg-checked-dark,oklch(62.7%_0.194_149.214_/_0.8))]\",\n teal: \"data-[state=checked]:border-[color:var(--zui-toggle-track-teal-border-checked,oklch(70.4%_0.14_182.503_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-teal-bg-checked,oklch(77.7%_0.152_181.912_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-teal-bg-checked-dark,oklch(60%_0.118_184.704_/_0.8))]\",\n cyan: \"data-[state=checked]:border-[color:var(--zui-toggle-track-cyan-border-checked,oklch(71.5%_0.143_215.221_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-cyan-bg-checked,oklch(78.9%_0.154_211.53_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-cyan-bg-checked-dark,oklch(60.9%_0.126_221.723_/_0.8))]\",\n lime: \"data-[state=checked]:border-[color:var(--zui-toggle-track-lime-border-checked,oklch(76.8%_0.233_130.85_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-lime-bg-checked,oklch(84.1%_0.238_128.85_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-lime-bg-checked-dark,oklch(64.8%_0.2_131.684_/_0.8))]\",\n emerald:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-emerald-border-checked,oklch(69.6%_0.17_162.48_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-emerald-bg-checked,oklch(76.5%_0.177_163.223_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-emerald-bg-checked-dark,oklch(59.6%_0.145_163.225_/_0.8))]\",\n rose: \"data-[state=checked]:border-[color:var(--zui-toggle-track-rose-border-checked,oklch(64.5%_0.246_16.439_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-rose-bg-checked,oklch(71.2%_0.194_13.428_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-rose-bg-checked-dark,oklch(58.6%_0.253_17.585_/_0.8))]\",\n slate:\n \"data-[state=checked]:border-[color:var(--zui-toggle-track-slate-border-checked,oklch(55.4%_0.046_257.417_/_0.4))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-slate-border-checked-dark,oklch(70.4%_0.04_256.788_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-slate-bg-checked,oklch(70.4%_0.04_256.788_/_0.9))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-slate-bg-checked-dark,oklch(44.6%_0.043_257.281_/_0.9))]\",\n zinc: \"data-[state=checked]:border-[color:var(--zui-toggle-track-zinc-border-checked,oklch(70.5%_0.015_286.067_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-zinc-bg-checked,oklch(44.2%_0.017_285.786_/_0.9))]\",\n gray: \"data-[state=checked]:border-[color:var(--zui-toggle-track-gray-border-checked,oklch(70.7%_0.022_261.325_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-gray-bg-checked,oklch(70.7%_0.022_261.325_/_0.8))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-gray-bg-checked-dark,oklch(44.6%_0.03_256.802_/_0.9))]\",\n stone:\n \"bg-[var(--zui-toggle-track-stone-bg,oklch(86.9%_0.005_56.366))] data-[state=checked]:border-[color:var(--zui-toggle-track-stone-border-checked,oklch(70.9%_0.01_56.259_/_0.4))] data-[state=checked]:bg-[var(--zui-toggle-track-stone-bg-checked,oklch(44.4%_0.011_73.639_/_0.9))]\",\n \"gradient-blue\":\n \"bg-[var(--zui-toggle-track-gradient-blue-bg,oklch(80.9%_0.105_251.813))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-toggle-track-gradient-blue-from-dark,oklch(54.6%_0.245_262.881))] to-[var(--zui-toggle-track-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-toggle-track-gradient-blue-to-dark,oklch(55.8%_0.288_302.321))]\",\n \"gradient-green\":\n \"bg-[var(--zui-toggle-track-gradient-green-bg,oklch(87.1%_0.15_154.449))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-toggle-track-gradient-green-from-dark,oklch(62.7%_0.194_149.214))] to-[var(--zui-toggle-track-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-toggle-track-gradient-green-to-dark,oklch(64.8%_0.2_131.684))]\",\n \"gradient-red\":\n \"bg-[var(--zui-toggle-track-gradient-red-bg,oklch(80.8%_0.114_19.571))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-toggle-track-gradient-red-from-dark,oklch(57.7%_0.245_27.325))] to-[var(--zui-toggle-track-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-toggle-track-gradient-red-to-dark,oklch(59.2%_0.249_0.584))]\",\n \"gradient-yellow\":\n \"bg-[var(--zui-toggle-track-gradient-yellow-bg,oklch(90.5%_0.182_98.111))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-toggle-track-gradient-yellow-from-dark,oklch(68.1%_0.162_75.834))] to-[var(--zui-toggle-track-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-toggle-track-gradient-yellow-to-dark,oklch(64.6%_0.222_41.116))]\",\n \"gradient-purple\":\n \"bg-[var(--zui-toggle-track-gradient-purple-bg,oklch(82.7%_0.119_306.383))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-toggle-track-gradient-purple-from-dark,oklch(55.8%_0.288_302.321))] to-[var(--zui-toggle-track-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-toggle-track-gradient-purple-to-dark,oklch(59.2%_0.249_0.584))]\",\n \"gradient-teal\":\n \"bg-[var(--zui-toggle-track-gradient-teal-bg,oklch(85.5%_0.138_181.071))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-toggle-track-gradient-teal-from-dark,oklch(60%_0.118_184.704))] to-[var(--zui-toggle-track-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-toggle-track-gradient-teal-to-dark,oklch(60.9%_0.126_221.723))]\",\n \"gradient-indigo\":\n \"bg-[var(--zui-toggle-track-gradient-indigo-bg,oklch(78.5%_0.115_274.713))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-toggle-track-gradient-indigo-from-dark,oklch(51.1%_0.262_276.966))] to-[var(--zui-toggle-track-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-toggle-track-gradient-indigo-to-dark,oklch(55.8%_0.288_302.321))]\",\n \"gradient-pink\":\n \"bg-[var(--zui-toggle-track-gradient-pink-bg,oklch(82.3%_0.12_346.018))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-toggle-track-gradient-pink-from-dark,oklch(59.2%_0.249_0.584))] to-[var(--zui-toggle-track-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-toggle-track-gradient-pink-to-dark,oklch(58.6%_0.253_17.585))]\",\n \"gradient-orange\":\n \"bg-[var(--zui-toggle-track-gradient-orange-bg,oklch(83.7%_0.128_66.29))] data-[state=checked]:bg-linear-to-r from-[var(--zui-toggle-track-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-toggle-track-gradient-orange-from-dark,oklch(64.6%_0.222_41.116))] to-[var(--zui-toggle-track-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-toggle-track-gradient-orange-to-dark,oklch(57.7%_0.245_27.325))]\",\n} as const;\n\nexport const zuiToggleThumbBase =\n \"pointer-events-none block rounded-full border border-[color:var(--zui-toggle-thumb-border,oklch(20.8%_0.042_265.755_/_0.3))] dark:border-[color:var(--zui-toggle-thumb-border-dark,#ffffff1a)] shadow-[var(--zui-toggle-thumb-shadow,0_1px_2px_rgba(15,23,42,0.12))] dark:shadow-[var(--zui-toggle-thumb-shadow-dark,0_1px_2px_rgba(15,23,42,0.35))] ring-0\";\n\nexport const zuiToggleThumbSizes = {\n sm: \"size-4\",\n md: \"size-5\",\n lg: \"size-6\",\n} as const;\n\nexport const zuiToggleThumbColors = {\n default: \"bg-[var(--zui-toggle-thumb-colors-default-bg,#ffffff)]\",\n success:\n \"bg-[var(--zui-toggle-thumb-colors-success-bg,oklch(69.6%_0.17_162.48))]\",\n destructive:\n \"bg-[var(--zui-toggle-thumb-colors-destructive-bg,oklch(64.5%_0.246_16.439))]\",\n neutral:\n \"bg-[var(--zui-toggle-thumb-colors-neutral-bg,oklch(55.4%_0.046_257.417))]\",\n indigo:\n \"bg-[var(--zui-toggle-thumb-colors-indigo-bg,oklch(58.5%_0.233_277.117))]\",\n purple:\n \"bg-[var(--zui-toggle-thumb-colors-purple-bg,oklch(62.7%_0.265_303.9))]\",\n pink: \"bg-[var(--zui-toggle-thumb-colors-pink-bg,oklch(65.6%_0.241_354.308))]\",\n orange:\n \"bg-[var(--zui-toggle-thumb-colors-orange-bg,oklch(70.5%_0.213_47.604))]\",\n yellow:\n \"bg-[var(--zui-toggle-thumb-colors-yellow-bg,oklch(79.5%_0.184_86.047))]\",\n green:\n \"bg-[var(--zui-toggle-thumb-colors-green-bg,oklch(72.3%_0.219_149.579))]\",\n teal: \"bg-[var(--zui-toggle-thumb-colors-teal-bg,oklch(70.4%_0.14_182.503))]\",\n cyan: \"bg-[var(--zui-toggle-thumb-colors-cyan-bg,oklch(71.5%_0.143_215.221))]\",\n lime: \"bg-[var(--zui-toggle-thumb-colors-lime-bg,oklch(76.8%_0.233_130.85))]\",\n emerald:\n \"bg-[var(--zui-toggle-thumb-colors-emerald-bg,oklch(69.6%_0.17_162.48))]\",\n rose: \"bg-[var(--zui-toggle-thumb-colors-rose-bg,oklch(64.5%_0.246_16.439))]\",\n slate:\n \"bg-[var(--zui-toggle-thumb-colors-slate-bg,oklch(55.4%_0.046_257.417))]\",\n zinc: \"bg-[var(--zui-toggle-thumb-colors-zinc-bg,oklch(55.2%_0.016_285.938))]\",\n gray: \"bg-[var(--zui-toggle-thumb-colors-gray-bg,oklch(55.1%_0.027_264.364))]\",\n stone:\n \"bg-[var(--zui-toggle-thumb-colors-stone-bg,oklch(55.3%_0.013_58.071))]\",\n \"gradient-blue\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-blue-bg,oklch(62.3%_0.214_259.815))]\",\n \"gradient-green\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-green-bg,oklch(72.3%_0.219_149.579))]\",\n \"gradient-red\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-red-bg,oklch(63.7%_0.237_25.331))]\",\n \"gradient-yellow\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-yellow-bg,oklch(79.5%_0.184_86.047))]\",\n \"gradient-purple\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-purple-bg,oklch(62.7%_0.265_303.9))]\",\n \"gradient-teal\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-teal-bg,oklch(70.4%_0.14_182.503))]\",\n \"gradient-indigo\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-indigo-bg,oklch(58.5%_0.233_277.117))]\",\n \"gradient-pink\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-pink-bg,oklch(65.6%_0.241_354.308))]\",\n \"gradient-orange\":\n \"bg-[var(--zui-toggle-thumb-colors-gradient-orange-bg,oklch(70.5%_0.213_47.604))]\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiToggleThumbBase,\n zuiToggleThumbColors,\n zuiToggleThumbSizes,\n zuiToggleTrackAppearances,\n zuiToggleTrackBase,\n zuiToggleTrackSizes,\n} from \"../../design-system/toggle\";\n\nexport const toggleTrackVariants = cva(zuiToggleTrackBase, {\n variants: {\n size: zuiToggleTrackSizes,\n appearance: zuiToggleTrackAppearances,\n },\n defaultVariants: {\n size: \"md\",\n appearance: \"default\",\n },\n});\n\nexport const toggleThumbVariants = cva(zuiToggleThumbBase, {\n variants: {\n size: zuiToggleThumbSizes,\n thumbColor: zuiToggleThumbColors,\n },\n defaultVariants: {\n size: \"md\",\n thumbColor: \"default\",\n },\n});\n","\"use client\";\n\nimport { useCallback, useId, useState, type ReactNode } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { ToggleProps } from \"./types\";\nimport { toggleThumbVariants, toggleTrackVariants } from \"./variants\";\n\nexport function hasToggleLabelChildren(node: ReactNode): boolean {\n if (node === undefined || node === null) {\n return false;\n }\n if (typeof node === \"boolean\") {\n return false;\n }\n if (typeof node === \"string\") {\n return node.trim().length > 0;\n }\n if (typeof node === \"number\") {\n return true;\n }\n if (Array.isArray(node)) {\n return node.some(hasToggleLabelChildren);\n }\n return true;\n}\n\nexport function ToggleBase(props: ToggleProps) {\n const {\n className,\n size,\n appearance,\n checked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n ref,\n \"aria-label\": ariaLabelProp,\n children,\n thumbColor,\n ...rest\n } = props;\n const toggleLabelId = useId();\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolved = isControlled ? Boolean(checked) : uncontrolled;\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n const thumbShiftPx = size === \"sm\" ? 16 : size === \"lg\" ? 24 : 20;\n const labeledByChildren = hasToggleLabelChildren(children);\n const labeling = labeledByChildren\n ? {\n \"aria-labelledby\": toggleLabelId,\n }\n : {\n \"aria-label\": ariaLabelProp ?? \"Toggle\",\n };\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"switch\"\n data-slot=\"toggle\"\n aria-checked={resolved}\n data-state={resolved ? \"checked\" : \"unchecked\"}\n disabled={disabled}\n className={cn(toggleTrackVariants({ size, appearance }), className)}\n {...labeling}\n onClick={() => {\n if (!disabled) {\n setChecked(!resolved);\n }\n }}\n {...rest}\n >\n <span className=\"sr-only\" id={labeledByChildren ? toggleLabelId : undefined}>{children}</span>\n <span\n className={cn(\n toggleThumbVariants({ size, thumbColor }),\n \"absolute top-1/2 -translate-y-1/2 transition-[transform] duration-200 ease-out\",\n )}\n style={{ transform: `translateX(${resolved ? thumbShiftPx : 0}px)` }}\n />\n </button>\n );\n}\n\nToggleBase.displayName = \"Toggle\";\n"]}