@zentauri-ui/zentauri-components 1.8.42 → 1.9.1

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 (649) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +9 -8
  3. package/cli/registry.json +0 -1
  4. package/dist/animations/blur-in.js +2 -2
  5. package/dist/animations/blur-in.mjs +1 -1
  6. package/dist/animations/blur-out.js +2 -2
  7. package/dist/animations/blur-out.mjs +1 -1
  8. package/dist/animations/bounce.js +2 -2
  9. package/dist/animations/bounce.mjs +1 -1
  10. package/dist/animations/fade-down.js +2 -2
  11. package/dist/animations/fade-down.mjs +1 -1
  12. package/dist/animations/fade-in.js +2 -2
  13. package/dist/animations/fade-in.mjs +1 -1
  14. package/dist/animations/fade-left.js +2 -2
  15. package/dist/animations/fade-left.mjs +1 -1
  16. package/dist/animations/fade-out.js +2 -2
  17. package/dist/animations/fade-out.mjs +1 -1
  18. package/dist/animations/fade-right.js +2 -2
  19. package/dist/animations/fade-right.mjs +1 -1
  20. package/dist/animations/fade-up.js +2 -2
  21. package/dist/animations/fade-up.mjs +1 -1
  22. package/dist/animations/flip-in.js +2 -2
  23. package/dist/animations/flip-in.mjs +1 -1
  24. package/dist/animations/flip.js +2 -2
  25. package/dist/animations/flip.mjs +1 -1
  26. package/dist/animations/float.js +2 -2
  27. package/dist/animations/float.mjs +1 -1
  28. package/dist/animations/hover-lift.js +2 -2
  29. package/dist/animations/hover-lift.mjs +1 -1
  30. package/dist/animations/hover-scale.js +2 -2
  31. package/dist/animations/hover-scale.mjs +1 -1
  32. package/dist/animations/magnetic.js +2 -2
  33. package/dist/animations/magnetic.mjs +1 -1
  34. package/dist/animations/parallax.js +2 -2
  35. package/dist/animations/parallax.mjs +1 -1
  36. package/dist/animations/ping.js +2 -2
  37. package/dist/animations/ping.mjs +1 -1
  38. package/dist/animations/pop-in.js +2 -2
  39. package/dist/animations/pop-in.mjs +1 -1
  40. package/dist/animations/press.js +2 -2
  41. package/dist/animations/press.mjs +1 -1
  42. package/dist/animations/progress.js +2 -2
  43. package/dist/animations/progress.mjs +1 -1
  44. package/dist/animations/pulse.js +2 -2
  45. package/dist/animations/pulse.mjs +1 -1
  46. package/dist/animations/reorder.js +2 -2
  47. package/dist/animations/reorder.mjs +1 -1
  48. package/dist/animations/reveal-blur.js +2 -2
  49. package/dist/animations/reveal-blur.mjs +1 -1
  50. package/dist/animations/reveal-down.js +2 -2
  51. package/dist/animations/reveal-down.mjs +1 -1
  52. package/dist/animations/reveal-left.js +2 -2
  53. package/dist/animations/reveal-left.mjs +1 -1
  54. package/dist/animations/reveal-right.js +2 -2
  55. package/dist/animations/reveal-right.mjs +1 -1
  56. package/dist/animations/reveal-up.js +2 -2
  57. package/dist/animations/reveal-up.mjs +1 -1
  58. package/dist/animations/rotate-in.js +2 -2
  59. package/dist/animations/rotate-in.mjs +1 -1
  60. package/dist/animations/scale-in.js +2 -2
  61. package/dist/animations/scale-in.mjs +1 -1
  62. package/dist/animations/scale-out.js +2 -2
  63. package/dist/animations/scale-out.mjs +1 -1
  64. package/dist/animations/shake.js +2 -2
  65. package/dist/animations/shake.mjs +1 -1
  66. package/dist/animations/shared/create-motion-animation.d.ts.map +1 -1
  67. package/dist/animations/skeleton-shimmer.js +2 -2
  68. package/dist/animations/skeleton-shimmer.mjs +1 -1
  69. package/dist/animations/slide-down.js +2 -2
  70. package/dist/animations/slide-down.mjs +1 -1
  71. package/dist/animations/slide-left.js +2 -2
  72. package/dist/animations/slide-left.mjs +1 -1
  73. package/dist/animations/slide-right.js +2 -2
  74. package/dist/animations/slide-right.mjs +1 -1
  75. package/dist/animations/slide-up.js +2 -2
  76. package/dist/animations/slide-up.mjs +1 -1
  77. package/dist/animations/spin.js +2 -2
  78. package/dist/animations/spin.mjs +1 -1
  79. package/dist/animations/text-reveal.js +2 -2
  80. package/dist/animations/text-reveal.mjs +1 -1
  81. package/dist/animations/text-shimmer.js +2 -2
  82. package/dist/animations/text-shimmer.mjs +1 -1
  83. package/dist/animations/tilt.js +2 -2
  84. package/dist/animations/tilt.mjs +1 -1
  85. package/dist/animations/wiggle.js +2 -2
  86. package/dist/animations/wiggle.mjs +1 -1
  87. package/dist/chunk-2RBUROXJ.js +316 -0
  88. package/dist/chunk-2RBUROXJ.js.map +1 -0
  89. package/dist/{chunk-3W224B3M.js → chunk-3IBWZM52.js} +23 -3
  90. package/dist/chunk-3IBWZM52.js.map +1 -0
  91. package/dist/{chunk-466QDL44.js → chunk-3RHJJZIT.js} +24 -3
  92. package/dist/chunk-3RHJJZIT.js.map +1 -0
  93. package/dist/{chunk-LNYCEPW5.js → chunk-4GVMPQZS.js} +23 -2
  94. package/dist/chunk-4GVMPQZS.js.map +1 -0
  95. package/dist/chunk-4WRCXG5E.mjs +942 -0
  96. package/dist/chunk-4WRCXG5E.mjs.map +1 -0
  97. package/dist/chunk-6GPUHFXI.mjs +299 -0
  98. package/dist/chunk-6GPUHFXI.mjs.map +1 -0
  99. package/dist/{chunk-HLG2YJFZ.mjs → chunk-6ONKAOI7.mjs} +24 -3
  100. package/dist/chunk-6ONKAOI7.mjs.map +1 -0
  101. package/dist/chunk-6VZGM4DI.mjs +170 -0
  102. package/dist/chunk-6VZGM4DI.mjs.map +1 -0
  103. package/dist/{chunk-2ZKW2E7B.mjs → chunk-7PIOCFV3.mjs} +34 -4
  104. package/dist/chunk-7PIOCFV3.mjs.map +1 -0
  105. package/dist/{chunk-IM6KN77X.mjs → chunk-7XHWUEQR.mjs} +46 -4
  106. package/dist/chunk-7XHWUEQR.mjs.map +1 -0
  107. package/dist/{chunk-QHEHBC6M.js → chunk-AFBKMQMK.js} +46 -4
  108. package/dist/chunk-AFBKMQMK.js.map +1 -0
  109. package/dist/{chunk-NNZXBL7R.mjs → chunk-AS34PVUG.mjs} +24 -3
  110. package/dist/chunk-AS34PVUG.mjs.map +1 -0
  111. package/dist/{chunk-TTTYW3TR.js → chunk-B3LCKPBX.js} +23 -2
  112. package/dist/chunk-B3LCKPBX.js.map +1 -0
  113. package/dist/chunk-CARQELOX.mjs +101 -0
  114. package/dist/chunk-CARQELOX.mjs.map +1 -0
  115. package/dist/{chunk-CIEZFHCO.mjs → chunk-CCVQ5KX6.mjs} +24 -3
  116. package/dist/chunk-CCVQ5KX6.mjs.map +1 -0
  117. package/dist/{chunk-UR7TNW45.mjs → chunk-DBW25HOR.mjs} +68 -5
  118. package/dist/chunk-DBW25HOR.mjs.map +1 -0
  119. package/dist/chunk-DMDCXYNN.js +105 -0
  120. package/dist/chunk-DMDCXYNN.js.map +1 -0
  121. package/dist/{chunk-H7WDA6U6.mjs → chunk-EKLWWV3G.mjs} +23 -2
  122. package/dist/chunk-EKLWWV3G.mjs.map +1 -0
  123. package/dist/{chunk-OZHETX4J.mjs → chunk-ENV73575.mjs} +24 -3
  124. package/dist/chunk-ENV73575.mjs.map +1 -0
  125. package/dist/{chunk-7OVJXYSS.mjs → chunk-F4BM6LX2.mjs} +2 -2
  126. package/dist/{chunk-7OVJXYSS.mjs.map → chunk-F4BM6LX2.mjs.map} +1 -1
  127. package/dist/{chunk-ZX2IBIZT.js → chunk-FWY22BZZ.js} +46 -4
  128. package/dist/chunk-FWY22BZZ.js.map +1 -0
  129. package/dist/chunk-HI54NLVM.js +179 -0
  130. package/dist/chunk-HI54NLVM.js.map +1 -0
  131. package/dist/{chunk-BU2MPXPZ.js → chunk-IW2E4MLG.js} +24 -3
  132. package/dist/chunk-IW2E4MLG.js.map +1 -0
  133. package/dist/{chunk-DEZRB6DS.mjs → chunk-IZAQBJKT.mjs} +46 -4
  134. package/dist/chunk-IZAQBJKT.mjs.map +1 -0
  135. package/dist/{chunk-VHVQELWF.js → chunk-JGSQZZHF.js} +23 -3
  136. package/dist/chunk-JGSQZZHF.js.map +1 -0
  137. package/dist/{chunk-DFCDLVZA.js → chunk-JRB22VVK.js} +23 -2
  138. package/dist/chunk-JRB22VVK.js.map +1 -0
  139. package/dist/{chunk-XYEMP4K7.js → chunk-KC77BXBC.js} +24 -3
  140. package/dist/chunk-KC77BXBC.js.map +1 -0
  141. package/dist/{chunk-EIRCCTNA.js → chunk-KIAYTBS5.js} +24 -3
  142. package/dist/chunk-KIAYTBS5.js.map +1 -0
  143. package/dist/{chunk-UY65KX3M.js → chunk-KLGB3FYE.js} +46 -4
  144. package/dist/chunk-KLGB3FYE.js.map +1 -0
  145. package/dist/{chunk-C6NA452Q.mjs → chunk-NUYNJV5U.mjs} +3 -3
  146. package/dist/{chunk-C6NA452Q.mjs.map → chunk-NUYNJV5U.mjs.map} +1 -1
  147. package/dist/{chunk-EZCYSFML.mjs → chunk-O233I5N7.mjs} +23 -2
  148. package/dist/chunk-O233I5N7.mjs.map +1 -0
  149. package/dist/chunk-OEDD43IT.mjs +141 -0
  150. package/dist/chunk-OEDD43IT.mjs.map +1 -0
  151. package/dist/{chunk-3F4FF2H4.mjs → chunk-OY3YJGOX.mjs} +23 -3
  152. package/dist/chunk-OY3YJGOX.mjs.map +1 -0
  153. package/dist/{chunk-INXWZ4DS.js → chunk-PZBTZGJE.js} +46 -4
  154. package/dist/chunk-PZBTZGJE.js.map +1 -0
  155. package/dist/{chunk-2F7P4EJQ.js → chunk-QCHHXFJQ.js} +25 -4
  156. package/dist/chunk-QCHHXFJQ.js.map +1 -0
  157. package/dist/{chunk-CSFLMMAT.mjs → chunk-REDZL4DY.mjs} +23 -2
  158. package/dist/chunk-REDZL4DY.mjs.map +1 -0
  159. package/dist/{chunk-BJSWQQSC.mjs → chunk-RFBTMJ2Z.mjs} +24 -3
  160. package/dist/chunk-RFBTMJ2Z.mjs.map +1 -0
  161. package/dist/chunk-S4NQTWMW.mjs +121 -0
  162. package/dist/chunk-S4NQTWMW.mjs.map +1 -0
  163. package/dist/{chunk-X3O45MPI.js → chunk-SRLYXLUU.js} +44 -2
  164. package/dist/chunk-SRLYXLUU.js.map +1 -0
  165. package/dist/{chunk-6HPS3ZOP.js → chunk-U7FZ5RMV.js} +68 -5
  166. package/dist/chunk-U7FZ5RMV.js.map +1 -0
  167. package/dist/{chunk-OL3BJSRC.mjs → chunk-UMXCV5IT.mjs} +68 -5
  168. package/dist/chunk-UMXCV5IT.mjs.map +1 -0
  169. package/dist/{chunk-IL4LH2XX.js → chunk-UNPKDNLA.js} +68 -5
  170. package/dist/chunk-UNPKDNLA.js.map +1 -0
  171. package/dist/{chunk-OKCC7E36.js → chunk-UOZZUWIX.js} +6 -6
  172. package/dist/{chunk-OKCC7E36.js.map → chunk-UOZZUWIX.js.map} +1 -1
  173. package/dist/{chunk-ORFI4BCJ.mjs → chunk-URXYF25P.mjs} +44 -2
  174. package/dist/chunk-URXYF25P.mjs.map +1 -0
  175. package/dist/{chunk-5565GZ4T.js → chunk-VGVB5XZX.js} +24 -3
  176. package/dist/chunk-VGVB5XZX.js.map +1 -0
  177. package/dist/{chunk-PYUZOVLY.js → chunk-VJSME7ML.js} +23 -2
  178. package/dist/{chunk-EZCYSFML.mjs.map → chunk-VJSME7ML.js.map} +1 -1
  179. package/dist/{chunk-SSJXWD2M.mjs → chunk-VO7LNOC5.mjs} +46 -4
  180. package/dist/chunk-VO7LNOC5.mjs.map +1 -0
  181. package/dist/{chunk-ECLHBSC6.mjs → chunk-VX56EVPF.mjs} +25 -4
  182. package/dist/chunk-VX56EVPF.mjs.map +1 -0
  183. package/dist/{chunk-R2JJTREQ.mjs → chunk-W73CZFMA.mjs} +23 -3
  184. package/dist/chunk-W73CZFMA.mjs.map +1 -0
  185. package/dist/{chunk-3J3FYIG3.js → chunk-WRHUWKZS.js} +34 -4
  186. package/dist/chunk-WRHUWKZS.js.map +1 -0
  187. package/dist/{chunk-NSJ6KGW2.js → chunk-WVBFSJEB.js} +24 -3
  188. package/dist/chunk-WVBFSJEB.js.map +1 -0
  189. package/dist/chunk-XIG2QDVN.js +145 -0
  190. package/dist/chunk-XIG2QDVN.js.map +1 -0
  191. package/dist/{chunk-HNLQXHSQ.mjs → chunk-XJFDGKZO.mjs} +24 -3
  192. package/dist/chunk-XJFDGKZO.mjs.map +1 -0
  193. package/dist/{chunk-GRJFGIZC.mjs → chunk-XOYCFLEZ.mjs} +46 -4
  194. package/dist/chunk-XOYCFLEZ.mjs.map +1 -0
  195. package/dist/chunk-XYKDSHRG.js +944 -0
  196. package/dist/chunk-XYKDSHRG.js.map +1 -0
  197. package/dist/{chunk-UROKWFPX.mjs → chunk-YFXGRV7X.mjs} +23 -2
  198. package/dist/chunk-YFXGRV7X.mjs.map +1 -0
  199. package/dist/{chunk-R5LL56ZO.js → chunk-ZHXYGUMA.js} +2 -2
  200. package/dist/{chunk-R5LL56ZO.js.map → chunk-ZHXYGUMA.js.map} +1 -1
  201. package/dist/chunk-ZZ53RJNH.js +128 -0
  202. package/dist/chunk-ZZ53RJNH.js.map +1 -0
  203. package/dist/design-system/accordion.d.ts +42 -0
  204. package/dist/design-system/accordion.d.ts.map +1 -1
  205. package/dist/design-system/alert.d.ts +21 -0
  206. package/dist/design-system/alert.d.ts.map +1 -1
  207. package/dist/design-system/animated-number.d.ts +21 -0
  208. package/dist/design-system/animated-number.d.ts.map +1 -1
  209. package/dist/design-system/avatar.d.ts +21 -0
  210. package/dist/design-system/avatar.d.ts.map +1 -1
  211. package/dist/design-system/badge.d.ts +42 -0
  212. package/dist/design-system/badge.d.ts.map +1 -1
  213. package/dist/design-system/breadcrumb.d.ts +21 -0
  214. package/dist/design-system/breadcrumb.d.ts.map +1 -1
  215. package/dist/design-system/button.d.ts +22 -1
  216. package/dist/design-system/button.d.ts.map +1 -1
  217. package/dist/design-system/card.d.ts +21 -0
  218. package/dist/design-system/card.d.ts.map +1 -1
  219. package/dist/design-system/checkbox.d.ts +22 -1
  220. package/dist/design-system/checkbox.d.ts.map +1 -1
  221. package/dist/design-system/command.d.ts +21 -0
  222. package/dist/design-system/command.d.ts.map +1 -1
  223. package/dist/design-system/context-menu.d.ts +21 -0
  224. package/dist/design-system/context-menu.d.ts.map +1 -1
  225. package/dist/design-system/copy-button.d.ts +22 -1
  226. package/dist/design-system/copy-button.d.ts.map +1 -1
  227. package/dist/design-system/divider.d.ts +21 -0
  228. package/dist/design-system/divider.d.ts.map +1 -1
  229. package/dist/design-system/drawer.d.ts +42 -0
  230. package/dist/design-system/drawer.d.ts.map +1 -1
  231. package/dist/design-system/dropdown.d.ts +42 -0
  232. package/dist/design-system/dropdown.d.ts.map +1 -1
  233. package/dist/design-system/dynamic-stepper.d.ts +98 -6
  234. package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
  235. package/dist/design-system/empty-state.d.ts +21 -0
  236. package/dist/design-system/empty-state.d.ts.map +1 -1
  237. package/dist/design-system/file-upload.d.ts +21 -0
  238. package/dist/design-system/file-upload.d.ts.map +1 -1
  239. package/dist/design-system/index.d.ts +0 -1
  240. package/dist/design-system/index.d.ts.map +1 -1
  241. package/dist/design-system/inputs.d.ts +173 -0
  242. package/dist/design-system/inputs.d.ts.map +1 -1
  243. package/dist/design-system/kbd.d.ts +23 -1
  244. package/dist/design-system/kbd.d.ts.map +1 -1
  245. package/dist/design-system/marquee.d.ts +30 -9
  246. package/dist/design-system/marquee.d.ts.map +1 -1
  247. package/dist/design-system/modal.d.ts +42 -0
  248. package/dist/design-system/modal.d.ts.map +1 -1
  249. package/dist/design-system/otp-input.d.ts +21 -0
  250. package/dist/design-system/otp-input.d.ts.map +1 -1
  251. package/dist/design-system/pagination.d.ts +21 -0
  252. package/dist/design-system/pagination.d.ts.map +1 -1
  253. package/dist/design-system/popover.d.ts +20 -0
  254. package/dist/design-system/popover.d.ts.map +1 -1
  255. package/dist/design-system/progress.d.ts +21 -0
  256. package/dist/design-system/progress.d.ts.map +1 -1
  257. package/dist/design-system/radio-group.d.ts +21 -0
  258. package/dist/design-system/radio-group.d.ts.map +1 -1
  259. package/dist/design-system/rating.d.ts +21 -0
  260. package/dist/design-system/rating.d.ts.map +1 -1
  261. package/dist/design-system/scroll-area.d.ts +21 -0
  262. package/dist/design-system/scroll-area.d.ts.map +1 -1
  263. package/dist/design-system/select.d.ts +63 -0
  264. package/dist/design-system/select.d.ts.map +1 -1
  265. package/dist/design-system/skeleton.d.ts +63 -0
  266. package/dist/design-system/skeleton.d.ts.map +1 -1
  267. package/dist/design-system/slider.d.ts +22 -1
  268. package/dist/design-system/slider.d.ts.map +1 -1
  269. package/dist/design-system/spinner.d.ts +21 -0
  270. package/dist/design-system/spinner.d.ts.map +1 -1
  271. package/dist/design-system/table.d.ts +63 -0
  272. package/dist/design-system/table.d.ts.map +1 -1
  273. package/dist/design-system/tabs.d.ts +21 -0
  274. package/dist/design-system/tabs.d.ts.map +1 -1
  275. package/dist/design-system/timeline.d.ts +30 -9
  276. package/dist/design-system/timeline.d.ts.map +1 -1
  277. package/dist/design-system/toast.d.ts +21 -0
  278. package/dist/design-system/toast.d.ts.map +1 -1
  279. package/dist/design-system/toggle.d.ts +30 -0
  280. package/dist/design-system/toggle.d.ts.map +1 -1
  281. package/dist/design-system/tooltip.d.ts +20 -0
  282. package/dist/design-system/tooltip.d.ts.map +1 -1
  283. package/dist/design-system/tree-view.d.ts +42 -0
  284. package/dist/design-system/tree-view.d.ts.map +1 -1
  285. package/dist/design-system/typography.d.ts +1 -1
  286. package/dist/test-utils/axe.d.ts +30 -0
  287. package/dist/test-utils/axe.d.ts.map +1 -0
  288. package/dist/ui/accordion/animated.js +7 -7
  289. package/dist/ui/accordion/animated.mjs +2 -2
  290. package/dist/ui/accordion/variants.d.ts +2 -2
  291. package/dist/ui/accordion.js +9 -9
  292. package/dist/ui/accordion.mjs +2 -2
  293. package/dist/ui/alert/animated.js +2 -2
  294. package/dist/ui/alert/animated.mjs +1 -1
  295. package/dist/ui/alert/variants.d.ts +1 -1
  296. package/dist/ui/alert.js +10 -10
  297. package/dist/ui/alert.mjs +2 -2
  298. package/dist/ui/animated-number/variants.d.ts +1 -1
  299. package/dist/ui/animated-number.js +21 -0
  300. package/dist/ui/animated-number.js.map +1 -1
  301. package/dist/ui/animated-number.mjs +21 -0
  302. package/dist/ui/animated-number.mjs.map +1 -1
  303. package/dist/ui/avatar/animated.js +5 -5
  304. package/dist/ui/avatar/animated.mjs +2 -2
  305. package/dist/ui/avatar/variants.d.ts +1 -1
  306. package/dist/ui/avatar.js +9 -9
  307. package/dist/ui/avatar.mjs +2 -2
  308. package/dist/ui/badge/animated.js +2 -2
  309. package/dist/ui/badge/animated.mjs +1 -1
  310. package/dist/ui/badge/variants.d.ts +22 -1
  311. package/dist/ui/badge/variants.d.ts.map +1 -1
  312. package/dist/ui/badge.js +4 -4
  313. package/dist/ui/badge.mjs +2 -2
  314. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  315. package/dist/ui/breadcrumb.js +21 -0
  316. package/dist/ui/breadcrumb.js.map +1 -1
  317. package/dist/ui/breadcrumb.mjs +21 -0
  318. package/dist/ui/breadcrumb.mjs.map +1 -1
  319. package/dist/ui/buttons/animated.js +3 -3
  320. package/dist/ui/buttons/animated.mjs +1 -1
  321. package/dist/ui/buttons/variants.d.ts +1 -1
  322. package/dist/ui/buttons.js +4 -4
  323. package/dist/ui/buttons.mjs +2 -2
  324. package/dist/ui/card/animated.js +7 -7
  325. package/dist/ui/card/animated.mjs +2 -2
  326. package/dist/ui/card/variants.d.ts +1 -1
  327. package/dist/ui/card.js +12 -12
  328. package/dist/ui/card.mjs +2 -2
  329. package/dist/ui/checkbox/animated.js +4 -4
  330. package/dist/ui/checkbox/animated.mjs +1 -1
  331. package/dist/ui/checkbox/variants.d.ts +1 -1
  332. package/dist/ui/checkbox.js +8 -8
  333. package/dist/ui/checkbox.mjs +2 -2
  334. package/dist/ui/command/animated.js +2 -2
  335. package/dist/ui/command/animated.mjs +1 -1
  336. package/dist/ui/command/variants.d.ts +1 -1
  337. package/dist/ui/command.js +15 -15
  338. package/dist/ui/command.mjs +2 -2
  339. package/dist/ui/context-menu/variants.d.ts +1 -1
  340. package/dist/ui/context-menu.js +47 -26
  341. package/dist/ui/context-menu.js.map +1 -1
  342. package/dist/ui/context-menu.mjs +23 -2
  343. package/dist/ui/context-menu.mjs.map +1 -1
  344. package/dist/ui/copy-button/animated.js +2 -2
  345. package/dist/ui/copy-button/animated.mjs +1 -1
  346. package/dist/ui/copy-button/variants.d.ts +1 -1
  347. package/dist/ui/copy-button.js +3 -3
  348. package/dist/ui/copy-button.mjs +2 -2
  349. package/dist/ui/divider/animated.js +2 -2
  350. package/dist/ui/divider/animated.mjs +1 -1
  351. package/dist/ui/divider/variants.d.ts +2 -2
  352. package/dist/ui/divider.js +6 -6
  353. package/dist/ui/divider.mjs +2 -2
  354. package/dist/ui/drawer/animated.js +11 -11
  355. package/dist/ui/drawer/animated.mjs +2 -2
  356. package/dist/ui/drawer/variants.d.ts +2 -2
  357. package/dist/ui/drawer.js +11 -11
  358. package/dist/ui/drawer.mjs +1 -1
  359. package/dist/ui/dropdown/types.d.ts +2 -1
  360. package/dist/ui/dropdown/types.d.ts.map +1 -1
  361. package/dist/ui/dropdown/variants.d.ts +2 -2
  362. package/dist/ui/dropdown.js +9 -9
  363. package/dist/ui/dropdown.mjs +1 -1
  364. package/dist/ui/dynamic-stepper/variants.d.ts +2 -2
  365. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  366. package/dist/ui/dynamic-stepper.js +7 -8
  367. package/dist/ui/dynamic-stepper.js.map +1 -1
  368. package/dist/ui/dynamic-stepper.mjs +5 -6
  369. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  370. package/dist/ui/empty-state/animated.js +2 -2
  371. package/dist/ui/empty-state/animated.mjs +1 -1
  372. package/dist/ui/empty-state/variants.d.ts +1 -1
  373. package/dist/ui/empty-state.js +10 -10
  374. package/dist/ui/empty-state.mjs +2 -2
  375. package/dist/ui/file-upload/variants.d.ts +1 -1
  376. package/dist/ui/file-upload.js +22 -1
  377. package/dist/ui/file-upload.js.map +1 -1
  378. package/dist/ui/file-upload.mjs +22 -1
  379. package/dist/ui/file-upload.mjs.map +1 -1
  380. package/dist/ui/inputs/animated.js +3 -3
  381. package/dist/ui/inputs/animated.mjs +1 -1
  382. package/dist/ui/inputs/variants.d.ts +1 -1
  383. package/dist/ui/inputs/variants.d.ts.map +1 -1
  384. package/dist/ui/inputs.js +4 -4
  385. package/dist/ui/inputs.mjs +2 -2
  386. package/dist/ui/kbd/animated.js +2 -2
  387. package/dist/ui/kbd/animated.mjs +1 -1
  388. package/dist/ui/kbd/variants.d.ts +1 -1
  389. package/dist/ui/kbd/variants.d.ts.map +1 -1
  390. package/dist/ui/kbd.js +4 -4
  391. package/dist/ui/kbd.mjs +2 -2
  392. package/dist/ui/marquee/variants.d.ts +1 -1
  393. package/dist/ui/marquee.js +30 -9
  394. package/dist/ui/marquee.js.map +1 -1
  395. package/dist/ui/marquee.mjs +30 -9
  396. package/dist/ui/marquee.mjs.map +1 -1
  397. package/dist/ui/modal/animated.js +4 -4
  398. package/dist/ui/modal/animated.mjs +1 -1
  399. package/dist/ui/modal/variants.d.ts +2 -2
  400. package/dist/ui/modal.js +12 -12
  401. package/dist/ui/modal.mjs +2 -2
  402. package/dist/ui/otp-input/variants.d.ts +1 -1
  403. package/dist/ui/otp-input.js +22 -1
  404. package/dist/ui/otp-input.js.map +1 -1
  405. package/dist/ui/otp-input.mjs +22 -1
  406. package/dist/ui/otp-input.mjs.map +1 -1
  407. package/dist/ui/pagination/types.d.ts +4 -2
  408. package/dist/ui/pagination/types.d.ts.map +1 -1
  409. package/dist/ui/pagination/variants.d.ts +1 -1
  410. package/dist/ui/pagination.js +26 -5
  411. package/dist/ui/pagination.js.map +1 -1
  412. package/dist/ui/pagination.mjs +23 -2
  413. package/dist/ui/pagination.mjs.map +1 -1
  414. package/dist/ui/popover/animated.js +4 -4
  415. package/dist/ui/popover/animated.mjs +1 -1
  416. package/dist/ui/popover/variants.d.ts +1 -1
  417. package/dist/ui/popover.js +7 -7
  418. package/dist/ui/popover.mjs +1 -1
  419. package/dist/ui/progress/animated.js +8 -8
  420. package/dist/ui/progress/animated.mjs +2 -2
  421. package/dist/ui/progress/variants.d.ts +1 -1
  422. package/dist/ui/progress.js +9 -9
  423. package/dist/ui/progress.mjs +2 -2
  424. package/dist/ui/radio-group/animated.js +7 -7
  425. package/dist/ui/radio-group/animated.mjs +1 -1
  426. package/dist/ui/radio-group/variants.d.ts +1 -1
  427. package/dist/ui/radio-group.js +11 -11
  428. package/dist/ui/radio-group.mjs +2 -2
  429. package/dist/ui/rating/variants.d.ts +1 -1
  430. package/dist/ui/rating.js +22 -1
  431. package/dist/ui/rating.js.map +1 -1
  432. package/dist/ui/rating.mjs +22 -1
  433. package/dist/ui/rating.mjs.map +1 -1
  434. package/dist/ui/scroll-area/variants.d.ts +1 -1
  435. package/dist/ui/scroll-area.js +22 -1
  436. package/dist/ui/scroll-area.js.map +1 -1
  437. package/dist/ui/scroll-area.mjs +22 -1
  438. package/dist/ui/scroll-area.mjs.map +1 -1
  439. package/dist/ui/search.js +2 -2
  440. package/dist/ui/search.mjs +1 -1
  441. package/dist/ui/select/select.d.ts +2 -2
  442. package/dist/ui/select/select.d.ts.map +1 -1
  443. package/dist/ui/select/types.d.ts +4 -1
  444. package/dist/ui/select/types.d.ts.map +1 -1
  445. package/dist/ui/select/variants.d.ts +3 -3
  446. package/dist/ui/select.js +92 -7
  447. package/dist/ui/select.js.map +1 -1
  448. package/dist/ui/select.mjs +93 -8
  449. package/dist/ui/select.mjs.map +1 -1
  450. package/dist/ui/skeleton/animated.js +8 -8
  451. package/dist/ui/skeleton/animated.mjs +1 -1
  452. package/dist/ui/skeleton/variants.d.ts +23 -2
  453. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  454. package/dist/ui/skeleton.js +9 -9
  455. package/dist/ui/skeleton.mjs +1 -1
  456. package/dist/ui/slider/variants.d.ts +1 -1
  457. package/dist/ui/slider.js +23 -2
  458. package/dist/ui/slider.js.map +1 -1
  459. package/dist/ui/slider.mjs +23 -2
  460. package/dist/ui/slider.mjs.map +1 -1
  461. package/dist/ui/spinner/animated/variants.d.ts +1 -1
  462. package/dist/ui/spinner/animated.js +22 -1
  463. package/dist/ui/spinner/animated.js.map +1 -1
  464. package/dist/ui/spinner/animated.mjs +22 -1
  465. package/dist/ui/spinner/animated.mjs.map +1 -1
  466. package/dist/ui/table/animated.js +8 -8
  467. package/dist/ui/table/animated.mjs +2 -2
  468. package/dist/ui/table/variants.d.ts +3 -3
  469. package/dist/ui/table.js +14 -14
  470. package/dist/ui/table.mjs +1 -1
  471. package/dist/ui/tabs/animated.js +2 -2
  472. package/dist/ui/tabs/animated.mjs +1 -1
  473. package/dist/ui/tabs/types.d.ts +4 -2
  474. package/dist/ui/tabs/types.d.ts.map +1 -1
  475. package/dist/ui/tabs/variants.d.ts +1 -1
  476. package/dist/ui/tabs.js +9 -9
  477. package/dist/ui/tabs.mjs +1 -1
  478. package/dist/ui/timeline/animated.js +11 -11
  479. package/dist/ui/timeline/animated.mjs +2 -2
  480. package/dist/ui/timeline/variants.d.ts +1 -1
  481. package/dist/ui/timeline.js +14 -14
  482. package/dist/ui/timeline.mjs +2 -2
  483. package/dist/ui/toast/animated.js +7 -7
  484. package/dist/ui/toast/animated.mjs +1 -1
  485. package/dist/ui/toast/variants.d.ts +1 -1
  486. package/dist/ui/toast.js +12 -12
  487. package/dist/ui/toast.mjs +1 -1
  488. package/dist/ui/toggle/animated.js +4 -4
  489. package/dist/ui/toggle/animated.mjs +1 -1
  490. package/dist/ui/toggle/variants.d.ts +2 -2
  491. package/dist/ui/toggle.js +4 -4
  492. package/dist/ui/toggle.mjs +2 -2
  493. package/dist/ui/tooltip/animated.js +3 -3
  494. package/dist/ui/tooltip/animated.mjs +1 -1
  495. package/dist/ui/tooltip/types.d.ts +3 -1
  496. package/dist/ui/tooltip/types.d.ts.map +1 -1
  497. package/dist/ui/tooltip/variants.d.ts +1 -1
  498. package/dist/ui/tooltip.js +7 -7
  499. package/dist/ui/tooltip.mjs +1 -1
  500. package/dist/ui/tree-view/animated.js +2 -2
  501. package/dist/ui/tree-view/animated.mjs +1 -1
  502. package/dist/ui/tree-view/variants.d.ts +2 -2
  503. package/dist/ui/tree-view.js +5 -5
  504. package/dist/ui/tree-view.mjs +2 -2
  505. package/dist/ui/typography.js +1 -1
  506. package/dist/ui/typography.js.map +1 -1
  507. package/dist/ui/typography.mjs +1 -1
  508. package/dist/ui/typography.mjs.map +1 -1
  509. package/package.json +6 -3
  510. package/src/animations/animations.test.tsx +1 -2
  511. package/src/animations/shared/create-motion-animation.tsx +3 -1
  512. package/src/design-system/accordion.ts +66 -0
  513. package/src/design-system/alert.ts +33 -0
  514. package/src/design-system/animated-number.ts +33 -0
  515. package/src/design-system/avatar.ts +33 -0
  516. package/src/design-system/badge.ts +33 -0
  517. package/src/design-system/breadcrumb.ts +33 -0
  518. package/src/design-system/button.ts +34 -1
  519. package/src/design-system/card.ts +33 -0
  520. package/src/design-system/checkbox.ts +34 -1
  521. package/src/design-system/command.ts +33 -0
  522. package/src/design-system/context-menu.ts +21 -0
  523. package/src/design-system/copy-button.ts +34 -1
  524. package/src/design-system/divider.ts +33 -0
  525. package/src/design-system/drawer.ts +66 -0
  526. package/src/design-system/dropdown.ts +66 -0
  527. package/src/design-system/dynamic-stepper.ts +7 -29
  528. package/src/design-system/empty-state.ts +33 -0
  529. package/src/design-system/file-upload.ts +33 -0
  530. package/src/design-system/index.ts +0 -1
  531. package/src/design-system/inputs.ts +273 -0
  532. package/src/design-system/kbd.ts +37 -1
  533. package/src/design-system/marquee.ts +42 -9
  534. package/src/design-system/modal.ts +66 -0
  535. package/src/design-system/otp-input.ts +33 -0
  536. package/src/design-system/pagination.ts +33 -0
  537. package/src/design-system/popover.ts +31 -0
  538. package/src/design-system/progress.ts +33 -0
  539. package/src/design-system/radio-group.ts +33 -0
  540. package/src/design-system/rating.ts +33 -0
  541. package/src/design-system/scroll-area.ts +33 -0
  542. package/src/design-system/select.ts +99 -0
  543. package/src/design-system/skeleton.ts +75 -0
  544. package/src/design-system/slider.ts +34 -2
  545. package/src/design-system/spinner.ts +33 -0
  546. package/src/design-system/table.ts +99 -0
  547. package/src/design-system/tabs.ts +33 -0
  548. package/src/design-system/timeline.ts +42 -9
  549. package/src/design-system/toast.ts +33 -0
  550. package/src/design-system/toggle.ts +48 -0
  551. package/src/design-system/tooltip.ts +31 -0
  552. package/src/design-system/tree-view.ts +66 -0
  553. package/src/design-system/typography.ts +1 -1
  554. package/src/ui/accessibility/axe-core.test.tsx +139 -0
  555. package/src/ui/dropdown/types.ts +3 -27
  556. package/src/ui/dynamic-stepper/variants.ts +7 -3
  557. package/src/ui/inputs/variants.ts +492 -90
  558. package/src/ui/kbd/variants.ts +8 -10
  559. package/src/ui/pagination/types.ts +4 -2
  560. package/src/ui/select/select.test.tsx +24 -0
  561. package/src/ui/select/select.tsx +37 -4
  562. package/src/ui/select/types.ts +4 -23
  563. package/src/ui/tabs/types.ts +5 -42
  564. package/src/ui/tooltip/types.ts +4 -24
  565. package/dist/chunk-2F7P4EJQ.js.map +0 -1
  566. package/dist/chunk-2ZKW2E7B.mjs.map +0 -1
  567. package/dist/chunk-3F4FF2H4.mjs.map +0 -1
  568. package/dist/chunk-3J3FYIG3.js.map +0 -1
  569. package/dist/chunk-3W224B3M.js.map +0 -1
  570. package/dist/chunk-466QDL44.js.map +0 -1
  571. package/dist/chunk-5565GZ4T.js.map +0 -1
  572. package/dist/chunk-6HPS3ZOP.js.map +0 -1
  573. package/dist/chunk-7XCUMSCJ.mjs +0 -80
  574. package/dist/chunk-7XCUMSCJ.mjs.map +0 -1
  575. package/dist/chunk-BJSWQQSC.mjs.map +0 -1
  576. package/dist/chunk-BU2MPXPZ.js.map +0 -1
  577. package/dist/chunk-CIEZFHCO.mjs.map +0 -1
  578. package/dist/chunk-CJXGDY7A.mjs +0 -122
  579. package/dist/chunk-CJXGDY7A.mjs.map +0 -1
  580. package/dist/chunk-CSFLMMAT.mjs.map +0 -1
  581. package/dist/chunk-D3VZKUMH.mjs +0 -340
  582. package/dist/chunk-D3VZKUMH.mjs.map +0 -1
  583. package/dist/chunk-DEZRB6DS.mjs.map +0 -1
  584. package/dist/chunk-DFCDLVZA.js.map +0 -1
  585. package/dist/chunk-ECLHBSC6.mjs.map +0 -1
  586. package/dist/chunk-EIRCCTNA.js.map +0 -1
  587. package/dist/chunk-GRJFGIZC.mjs.map +0 -1
  588. package/dist/chunk-H7WDA6U6.mjs.map +0 -1
  589. package/dist/chunk-HLG2YJFZ.mjs.map +0 -1
  590. package/dist/chunk-HNLQXHSQ.mjs.map +0 -1
  591. package/dist/chunk-IL4LH2XX.js.map +0 -1
  592. package/dist/chunk-IM6KN77X.mjs.map +0 -1
  593. package/dist/chunk-INXWZ4DS.js.map +0 -1
  594. package/dist/chunk-LNYCEPW5.js.map +0 -1
  595. package/dist/chunk-NFEA5TN2.js +0 -158
  596. package/dist/chunk-NFEA5TN2.js.map +0 -1
  597. package/dist/chunk-NMQAHUYA.mjs +0 -149
  598. package/dist/chunk-NMQAHUYA.mjs.map +0 -1
  599. package/dist/chunk-NNZXBL7R.mjs.map +0 -1
  600. package/dist/chunk-NSJ6KGW2.js.map +0 -1
  601. package/dist/chunk-OL3BJSRC.mjs.map +0 -1
  602. package/dist/chunk-ORFI4BCJ.mjs.map +0 -1
  603. package/dist/chunk-OZHETX4J.mjs.map +0 -1
  604. package/dist/chunk-PYUZOVLY.js.map +0 -1
  605. package/dist/chunk-QHEHBC6M.js.map +0 -1
  606. package/dist/chunk-R2JJTREQ.mjs.map +0 -1
  607. package/dist/chunk-RFT2FLQT.js +0 -126
  608. package/dist/chunk-RFT2FLQT.js.map +0 -1
  609. package/dist/chunk-RIHJAEOL.js +0 -107
  610. package/dist/chunk-RIHJAEOL.js.map +0 -1
  611. package/dist/chunk-SSJXWD2M.mjs.map +0 -1
  612. package/dist/chunk-TTTYW3TR.js.map +0 -1
  613. package/dist/chunk-UGH23TAH.js +0 -342
  614. package/dist/chunk-UGH23TAH.js.map +0 -1
  615. package/dist/chunk-UPZ5XGUD.mjs +0 -100
  616. package/dist/chunk-UPZ5XGUD.mjs.map +0 -1
  617. package/dist/chunk-UR7TNW45.mjs.map +0 -1
  618. package/dist/chunk-UROKWFPX.mjs.map +0 -1
  619. package/dist/chunk-UY65KX3M.js.map +0 -1
  620. package/dist/chunk-V5JTDRV5.mjs +0 -278
  621. package/dist/chunk-V5JTDRV5.mjs.map +0 -1
  622. package/dist/chunk-VHVQELWF.js.map +0 -1
  623. package/dist/chunk-X3O45MPI.js.map +0 -1
  624. package/dist/chunk-XYEMP4K7.js.map +0 -1
  625. package/dist/chunk-Z4KHAD6Y.js +0 -295
  626. package/dist/chunk-Z4KHAD6Y.js.map +0 -1
  627. package/dist/chunk-ZUT7ZUM7.js +0 -84
  628. package/dist/chunk-ZUT7ZUM7.js.map +0 -1
  629. package/dist/chunk-ZX2IBIZT.js.map +0 -1
  630. package/dist/design-system/stepper.d.ts +0 -42
  631. package/dist/design-system/stepper.d.ts.map +0 -1
  632. package/dist/ui/stepper/index.d.ts +0 -4
  633. package/dist/ui/stepper/index.d.ts.map +0 -1
  634. package/dist/ui/stepper/stepper.d.ts +0 -28
  635. package/dist/ui/stepper/stepper.d.ts.map +0 -1
  636. package/dist/ui/stepper/types.d.ts +0 -25
  637. package/dist/ui/stepper/types.d.ts.map +0 -1
  638. package/dist/ui/stepper/variants.d.ts +0 -11
  639. package/dist/ui/stepper/variants.d.ts.map +0 -1
  640. package/dist/ui/stepper.js +0 -216
  641. package/dist/ui/stepper.js.map +0 -1
  642. package/dist/ui/stepper.mjs +0 -207
  643. package/dist/ui/stepper.mjs.map +0 -1
  644. package/src/design-system/stepper.ts +0 -66
  645. package/src/ui/stepper/index.ts +0 -22
  646. package/src/ui/stepper/stepper.test.tsx +0 -190
  647. package/src/ui/stepper/stepper.tsx +0 -171
  648. package/src/ui/stepper/types.ts +0 -38
  649. package/src/ui/stepper/variants.ts +0 -40
@@ -4,6 +4,7 @@ import {
4
4
  zuiKbdKeyAppearances,
5
5
  zuiKbdKeyBase,
6
6
  zuiKbdKeySizes,
7
+ zuiKbdSeparatorBase,
7
8
  zuiKbdSeparatorSizes,
8
9
  } from "../../design-system/kbd";
9
10
 
@@ -18,14 +19,11 @@ export const kbdKeyVariants = cva(zuiKbdKeyBase, {
18
19
  },
19
20
  });
20
21
 
21
- export const kbdSeparatorVariants = cva(
22
- "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]",
23
- {
24
- variants: {
25
- size: zuiKbdSeparatorSizes,
26
- },
27
- defaultVariants: {
28
- size: "md",
29
- },
22
+ export const kbdSeparatorVariants = cva(zuiKbdSeparatorBase, {
23
+ variants: {
24
+ size: zuiKbdSeparatorSizes,
30
25
  },
31
- );
26
+ defaultVariants: {
27
+ size: "md",
28
+ },
29
+ });
@@ -1,10 +1,11 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
2
  import type { ComponentPropsWithRef } from "react";
3
3
 
4
+ import type { zuiPaginationListAppearances } from "../../design-system/pagination";
4
5
  import type { buttonVariants } from "../buttons/variants";
5
6
 
6
7
  export type PaginationAppearance = NonNullable<
7
- VariantProps<typeof buttonVariants>["appearance"]
8
+ keyof typeof zuiPaginationListAppearances
8
9
  >;
9
10
 
10
11
  export type PaginationSize = NonNullable<
@@ -37,7 +38,8 @@ export type UsePaginationResult = {
37
38
  };
38
39
 
39
40
  export type PaginationProps = Omit<ComponentPropsWithRef<"nav">, "onChange"> &
40
- VariantProps<typeof buttonVariants> & {
41
+ Omit<VariantProps<typeof buttonVariants>, "appearance"> & {
42
+ appearance?: PaginationAppearance;
41
43
  pageCount: number;
42
44
  page?: number;
43
45
  defaultPage?: number;
@@ -152,6 +152,30 @@ describe("Select — keyboard and a11y", () => {
152
152
  expect(listbox).toHaveAttribute("aria-multiselectable", "true");
153
153
  });
154
154
 
155
+ it("uses a custom trigger id as the listbox label reference", async () => {
156
+ const user = userEvent.setup();
157
+ render(
158
+ <Select multiple defaultValue={[]}>
159
+ <SelectTrigger id="custom-select-trigger">
160
+ <SelectValue placeholder="Pick" />
161
+ </SelectTrigger>
162
+ <SelectContent>
163
+ <SelectItem value="a">Alpha</SelectItem>
164
+ </SelectContent>
165
+ </Select>,
166
+ );
167
+
168
+ const trigger = screen.getByRole("button", { name: /pick/i });
169
+ await user.click(trigger);
170
+
171
+ const listbox = screen.getByRole("listbox");
172
+ const labelledBy = listbox.getAttribute("aria-labelledby");
173
+
174
+ expect(trigger).toHaveAttribute("id", "custom-select-trigger");
175
+ expect(listbox).toHaveAttribute("aria-labelledby", "custom-select-trigger");
176
+ expect(document.getElementById(labelledBy ?? "")).toBe(trigger);
177
+ });
178
+
155
179
  it("moves focus across enabled options with arrow keys", async () => {
156
180
  const user = userEvent.setup();
157
181
  render(
@@ -1,5 +1,14 @@
1
1
  "use client";
2
- import { useState, useEffect, useCallback, useRef, useId } from "react";
2
+ import {
3
+ Children,
4
+ isValidElement,
5
+ useState,
6
+ useEffect,
7
+ useCallback,
8
+ useRef,
9
+ useId,
10
+ } from "react";
11
+ import type { ReactNode } from "react";
3
12
  import {
4
13
  SelectProps,
5
14
  SelectOption,
@@ -25,14 +34,34 @@ export const useSelect = () => {
25
34
  return ctx;
26
35
  };
27
36
 
37
+ const findSelectTriggerId = (children: ReactNode): string | undefined => {
38
+ for (const child of Children.toArray(children)) {
39
+ if (!isValidElement<{ id?: unknown; children?: ReactNode }>(child)) {
40
+ continue;
41
+ }
42
+ if (child.type === SelectTrigger && typeof child.props.id === "string") {
43
+ return child.props.id;
44
+ }
45
+ const nestedTriggerId = findSelectTriggerId(child.props.children);
46
+ if (nestedTriggerId) {
47
+ return nestedTriggerId;
48
+ }
49
+ }
50
+ return undefined;
51
+ };
52
+
28
53
  export const Select = ({
29
54
  children,
30
55
  value,
31
56
  defaultValue = [],
32
57
  onChange,
33
58
  multiple = true,
59
+ triggerId: customTriggerId,
34
60
  }: SelectProps) => {
35
- const listboxId = `${useId()}-listbox`;
61
+ const baseId = useId();
62
+ const triggerId =
63
+ customTriggerId ?? findSelectTriggerId(children) ?? `${baseId}-trigger`;
64
+ const listboxId = `${baseId}-listbox`;
36
65
  const [internal, setInternal] = useState<string[]>(defaultValue);
37
66
  const [open, setOpen] = useState(false);
38
67
  const [options, setOptions] = useState<SelectOption[]>([]);
@@ -98,6 +127,7 @@ export const Select = ({
98
127
  registerOption,
99
128
  options,
100
129
  multiple,
130
+ triggerId,
101
131
  listboxId,
102
132
  }}
103
133
  >
@@ -110,15 +140,17 @@ export const Select = ({
110
140
 
111
141
  export const SelectTrigger = ({
112
142
  className,
143
+ id: _customId,
113
144
  variant,
114
145
  size,
115
146
  onClick,
116
147
  ...props
117
148
  }: SelectTriggerProps) => {
118
- const { open, setOpen, listboxId } = useSelect();
149
+ const { open, setOpen, triggerId, listboxId } = useSelect();
119
150
 
120
151
  return (
121
152
  <button
153
+ id={triggerId}
122
154
  type="button"
123
155
  aria-expanded={open}
124
156
  aria-haspopup="listbox"
@@ -172,7 +204,7 @@ export const SelectContent = ({
172
204
  spacing = "default",
173
205
  ...props
174
206
  }: SelectContentProps) => {
175
- const { open, listboxId, multiple } = useSelect();
207
+ const { open, triggerId, listboxId, multiple } = useSelect();
176
208
  const panelRef = useRef<HTMLDivElement>(null);
177
209
 
178
210
  useEffect(() => {
@@ -248,6 +280,7 @@ export const SelectContent = ({
248
280
  ref={panelRef}
249
281
  id={listboxId}
250
282
  role="listbox"
283
+ aria-labelledby={triggerId}
251
284
  aria-multiselectable={multiple}
252
285
  tabIndex={-1}
253
286
  className={cn(
@@ -1,6 +1,7 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
2
  import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
3
3
 
4
+ import type { zuiSelectContentAppearances } from "../../design-system/select";
4
5
  import type { selectTriggerVariants } from "./variants";
5
6
 
6
7
  export type SelectOption = {
@@ -8,29 +9,7 @@ export type SelectOption = {
8
9
  value: string;
9
10
  disabled?: boolean;
10
11
  };
11
- export type SelectAppearance =
12
- | "default"
13
- | "glass"
14
- | "ghost"
15
- | "outline"
16
- | "sky"
17
- | "rose"
18
- | "purple"
19
- | "pink"
20
- | "orange"
21
- | "yellow"
22
- | "teal"
23
- | "indigo"
24
- | "emerald"
25
- | "gradient-blue"
26
- | "gradient-green"
27
- | "gradient-red"
28
- | "gradient-yellow"
29
- | "gradient-purple"
30
- | "gradient-teal"
31
- | "gradient-indigo"
32
- | "gradient-pink"
33
- | "gradient-orange";
12
+ export type SelectAppearance = keyof typeof zuiSelectContentAppearances;
34
13
  export type SelectContextType = {
35
14
  open: boolean;
36
15
  setOpen: (v: boolean) => void;
@@ -40,6 +19,7 @@ export type SelectContextType = {
40
19
  registerOption: (option: SelectOption) => void;
41
20
  options: SelectOption[];
42
21
  multiple: boolean;
22
+ triggerId: string;
43
23
  listboxId: string;
44
24
  };
45
25
 
@@ -48,6 +28,7 @@ export type SelectProps = {
48
28
  defaultValue?: string[];
49
29
  onChange?: (value: string[]) => void;
50
30
  multiple?: boolean;
31
+ triggerId?: string;
51
32
  children: ReactNode;
52
33
  className?: string;
53
34
  };
@@ -1,6 +1,9 @@
1
1
  import type { ElementType, HTMLAttributes, ReactNode, RefObject } from "react";
2
2
 
3
+ import type { zuiTabsTriggerAppearances } from "../../design-system/tabs";
4
+
3
5
  export type TabsValue = string;
6
+ export type TabsAppearance = keyof typeof zuiTabsTriggerAppearances;
4
7
 
5
8
  export type TabsProps = {
6
9
  value?: TabsValue;
@@ -9,27 +12,7 @@ export type TabsProps = {
9
12
  orientation?: "horizontal" | "vertical";
10
13
  variant?: "default" | "underline" | "pills";
11
14
  size?: "sm" | "md" | "lg";
12
- appearance?:
13
- | "default"
14
- | "sky"
15
- | "rose"
16
- | "purple"
17
- | "pink"
18
- | "orange"
19
- | "yellow"
20
- | "teal"
21
- | "indigo"
22
- | "emerald"
23
- | "gray"
24
- | "gradient-blue"
25
- | "gradient-green"
26
- | "gradient-red"
27
- | "gradient-yellow"
28
- | "gradient-purple"
29
- | "gradient-teal"
30
- | "gradient-indigo"
31
- | "gradient-pink"
32
- | "gradient-orange";
15
+ appearance?: TabsAppearance;
33
16
  children: ReactNode;
34
17
  className?: string;
35
18
  };
@@ -63,27 +46,7 @@ export type TabsContextType = {
63
46
  orientation: "horizontal" | "vertical";
64
47
  size?: "sm" | "md" | "lg";
65
48
  variant?: "default" | "underline" | "pills";
66
- appearance?:
67
- | "default"
68
- | "sky"
69
- | "rose"
70
- | "purple"
71
- | "pink"
72
- | "orange"
73
- | "yellow"
74
- | "teal"
75
- | "indigo"
76
- | "emerald"
77
- | "gray"
78
- | "gradient-blue"
79
- | "gradient-green"
80
- | "gradient-red"
81
- | "gradient-yellow"
82
- | "gradient-purple"
83
- | "gradient-teal"
84
- | "gradient-indigo"
85
- | "gradient-pink"
86
- | "gradient-orange";
49
+ appearance?: TabsAppearance;
87
50
  tabTriggerId: (value: TabsValue) => string;
88
51
  tabPanelId: (value: TabsValue) => string;
89
52
  };
@@ -1,6 +1,9 @@
1
1
  import type { ReactNode } from "react";
2
2
 
3
+ import type { zuiTooltipVariants } from "../../design-system/tooltip";
4
+
3
5
  export type TooltipPosition = "top" | "bottom" | "left" | "right";
6
+ export type TooltipVariant = keyof typeof zuiTooltipVariants;
4
7
 
5
8
  export type TooltipContextType = {
6
9
  open: boolean;
@@ -29,30 +32,7 @@ export type TooltipTriggerProps = {
29
32
  export type TooltipContentProps = {
30
33
  children: ReactNode;
31
34
  className?: string;
32
- variant?:
33
- | "default"
34
- | "outline"
35
- | "ghost"
36
- | "glass"
37
- | "emerald"
38
- | "indigo"
39
- | "purple"
40
- | "pink"
41
- | "rose"
42
- | "sky"
43
- | "teal"
44
- | "yellow"
45
- | "orange"
46
- | "green"
47
- | "gradient-blue"
48
- | "gradient-green"
49
- | "gradient-red"
50
- | "gradient-yellow"
51
- | "gradient-purple"
52
- | "gradient-teal"
53
- | "gradient-indigo"
54
- | "gradient-pink"
55
- | "gradient-orange";
35
+ variant?: TooltipVariant;
56
36
  size?: "sm" | "md" | "lg";
57
37
  width?: "fit" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
58
38
  };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/design-system/copy-button.ts","../src/ui/copy-button/variants.ts","../src/ui/copy-button/copy-button-base.tsx"],"names":["cva","jsx","FiCopy","FiCheck","useClipboard","jsxs","cn"],"mappings":"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","file":"chunk-2F7P4EJQ.js","sourcesContent":["export const zuiCopyButtonBase = [\n \"relative inline-flex items-center justify-center gap-2 whitespace-nowrap\",\n \"rounded-[var(--zui-copy-button-radius,0.75rem)] font-medium\",\n \"ring-offset-[var(--zui-copy-button-ring-offset,#f8fafc)] dark:ring-offset-[var(--zui-copy-button-ring-offset-dark,#020617)]\",\n \"transition-colors select-none\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--zui-copy-button-focus-ring,#475569)] dark:focus-visible:ring-[var(--zui-copy-button-focus-ring-dark,#cbd5e1)] focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n] as const;\n\nexport const zuiCopyButtonAppearances = {\n default:\n \"bg-[var(--zui-copy-button-default-bg,#0f172a)] dark:bg-[var(--zui-copy-button-default-bg-dark,#f8fafc)] text-[color:var(--zui-copy-button-default-fg,#f8fafc)] dark:text-[color:var(--zui-copy-button-default-fg-dark,#020617)] shadow-[var(--zui-copy-button-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-copy-button-default-shadow-dark,0_1px_2px_#0f172a1f)] hover:bg-[var(--zui-copy-button-default-bg-hover,#000000)] dark:hover:bg-[var(--zui-copy-button-default-bg-hover-dark,#ffffff)]\",\n secondary:\n \"bg-[var(--zui-copy-button-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-copy-button-secondary-bg-dark,#1e293b)] text-[color:var(--zui-copy-button-secondary-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-secondary-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-secondary-bg-hover,#cbd5e1)] dark:hover:bg-[var(--zui-copy-button-secondary-bg-hover-dark,#334155)]\",\n destructive:\n \"bg-[var(--zui-copy-button-destructive-bg,#f43f5e)] dark:bg-[var(--zui-copy-button-destructive-bg-dark,#be123c)] text-[color:var(--zui-copy-button-destructive-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-destructive-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-destructive-bg-hover,#f43f5e)] dark:hover:bg-[var(--zui-copy-button-destructive-bg-hover-dark,#9f1239)]\",\n outline:\n \"border border-[color:var(--zui-copy-button-outline-border,#0000001a)] dark:border-[color:var(--zui-copy-button-outline-border-dark,#ffffff1a)] bg-[var(--zui-copy-button-outline-bg,#0000000d)] dark:bg-[var(--zui-copy-button-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-copy-button-outline-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-outline-fg-dark,#f8fafc)] hover:bg-[var(--zui-copy-button-outline-bg-hover,#0000001a)] dark:hover:bg-[var(--zui-copy-button-outline-bg-hover-dark,#ffffff1a)]\",\n ghost:\n \"bg-transparent text-[color:var(--zui-copy-button-ghost-fg,#334155)] dark:text-[color:var(--zui-copy-button-ghost-fg-dark,#e2e8f0)] hover:bg-[var(--zui-copy-button-ghost-bg-hover,#0000000d)] dark:hover:bg-[var(--zui-copy-button-ghost-bg-hover-dark,#ffffff0d)]\",\n glass:\n \"border border-[color:var(--zui-copy-button-glass-border,#00000026)] dark:border-[color:var(--zui-copy-button-glass-border-dark,#ffffff26)] bg-[var(--zui-copy-button-glass-bg,#0000001a)] dark:bg-[var(--zui-copy-button-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-copy-button-glass-fg,#0f172a)] dark:text-[color:var(--zui-copy-button-glass-fg-dark,#ffffff)] backdrop-blur-md hover:bg-[var(--zui-copy-button-glass-bg-hover,#00000026)] dark:hover:bg-[var(--zui-copy-button-glass-bg-hover-dark,#ffffff26)]\",\n emerald:\n \"bg-[var(--zui-copy-button-emerald-bg,#10b981)] dark:bg-[var(--zui-copy-button-emerald-bg-dark,#065f46)] text-[color:var(--zui-copy-button-emerald-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-emerald-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-emerald-bg-hover,#10b981)] dark:hover:bg-[var(--zui-copy-button-emerald-bg-hover-dark,#064e3b)]\",\n indigo:\n \"bg-[var(--zui-copy-button-indigo-bg,#3730a3)] dark:bg-[var(--zui-copy-button-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-copy-button-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-indigo-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-indigo-bg-hover,#3730a3)] dark:hover:bg-[var(--zui-copy-button-indigo-bg-hover-dark,#4f46e5)]\",\n purple:\n \"bg-[var(--zui-copy-button-purple-bg,#6b21a8)] dark:bg-[var(--zui-copy-button-purple-bg-dark,#9333ea)] text-[color:var(--zui-copy-button-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-purple-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-purple-bg-hover,#6b21a8)] dark:hover:bg-[var(--zui-copy-button-purple-bg-hover-dark,#9333ea)]\",\n pink: \"bg-[var(--zui-copy-button-pink-bg,#9d174d)] dark:bg-[var(--zui-copy-button-pink-bg-dark,#db2777)] text-[color:var(--zui-copy-button-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-pink-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-pink-bg-hover,#9d174d)] dark:hover:bg-[var(--zui-copy-button-pink-bg-hover-dark,#db2777)]\",\n rose: \"bg-[var(--zui-copy-button-rose-bg,#9f1239)] dark:bg-[var(--zui-copy-button-rose-bg-dark,#e11d48)] text-[color:var(--zui-copy-button-rose-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-rose-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-rose-bg-hover,#9f1239)] dark:hover:bg-[var(--zui-copy-button-rose-bg-hover-dark,#e11d48)]\",\n sky: \"bg-[var(--zui-copy-button-sky-bg,#0ea5e9)] dark:bg-[var(--zui-copy-button-sky-bg-dark,#0369a1)] text-[color:var(--zui-copy-button-sky-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-sky-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-sky-bg-hover,#0ea5e9)] dark:hover:bg-[var(--zui-copy-button-sky-bg-hover-dark,#075985)]\",\n teal: \"bg-[var(--zui-copy-button-teal-bg,#14b8a6)] dark:bg-[var(--zui-copy-button-teal-bg-dark,#0f766e)] text-[color:var(--zui-copy-button-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-teal-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-teal-bg-hover,#14b8a6)] dark:hover:bg-[var(--zui-copy-button-teal-bg-hover-dark,#115e59)]\",\n yellow:\n \"bg-[var(--zui-copy-button-yellow-bg,#eab308)] dark:bg-[var(--zui-copy-button-yellow-bg-dark,#854d0e)] text-[color:var(--zui-copy-button-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-yellow-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-yellow-bg-hover,#eab308)] dark:hover:bg-[var(--zui-copy-button-yellow-bg-hover-dark,#713f12)]\",\n orange:\n \"bg-[var(--zui-copy-button-orange-bg,#f97316)] dark:bg-[var(--zui-copy-button-orange-bg-dark,#9a3412)] text-[color:var(--zui-copy-button-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-orange-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-orange-bg-hover,#f97316)] dark:hover:bg-[var(--zui-copy-button-orange-bg-hover-dark,#7c2d12)]\",\n gray: \"bg-[var(--zui-copy-button-gray-bg,#6b7280)] dark:bg-[var(--zui-copy-button-gray-bg-dark,#374151)] text-[color:var(--zui-copy-button-gray-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gray-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-gray-bg-hover,#6b7280)] dark:hover:bg-[var(--zui-copy-button-gray-bg-hover-dark,#1f2937)]\",\n amber:\n \"bg-[var(--zui-copy-button-amber-bg,#f59e0b)] dark:bg-[var(--zui-copy-button-amber-bg-dark,#92400e)] text-[color:var(--zui-copy-button-amber-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-amber-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-amber-bg-hover,#f59e0b)] dark:hover:bg-[var(--zui-copy-button-amber-bg-hover-dark,#78350f)]\",\n violet:\n \"bg-[var(--zui-copy-button-violet-bg,#5b21b6)] dark:bg-[var(--zui-copy-button-violet-bg-dark,#7c3aed)] text-[color:var(--zui-copy-button-violet-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-violet-fg-dark,#ffffff)] hover:bg-[var(--zui-copy-button-violet-bg-hover,#5b21b6)] dark:hover:bg-[var(--zui-copy-button-violet-bg-hover-dark,#7c3aed)]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-blue-from,#1e40af)] dark:from-[var(--zui-copy-button-gradient-blue-from-dark,#2563eb)] to-[var(--zui-copy-button-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-blue-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-blue-from-hover,#1e40af)] dark:hover:from-[var(--zui-copy-button-gradient-blue-from-hover-dark,#2563eb)] hover:to-[var(--zui-copy-button-gradient-blue-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-blue-to-hover-dark,#9333ea)]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-green-from,#166534)] dark:from-[var(--zui-copy-button-gradient-green-from-dark,#16a34a)] to-[var(--zui-copy-button-gradient-green-to,#3f6212)] dark:to-[var(--zui-copy-button-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-copy-button-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-green-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-green-from-hover,#166534)] dark:hover:from-[var(--zui-copy-button-gradient-green-from-hover-dark,#16a34a)] hover:to-[var(--zui-copy-button-gradient-green-to-hover,#3f6212)] dark:hover:to-[var(--zui-copy-button-gradient-green-to-hover-dark,#65a30d)]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-red-from,#991b1b)] dark:from-[var(--zui-copy-button-gradient-red-from-dark,#dc2626)] to-[var(--zui-copy-button-gradient-red-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-red-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-red-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-red-from-hover,#991b1b)] dark:hover:from-[var(--zui-copy-button-gradient-red-from-hover-dark,#dc2626)] hover:to-[var(--zui-copy-button-gradient-red-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-red-to-hover-dark,#db2777)]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-copy-button-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-copy-button-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-copy-button-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-copy-button-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-yellow-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-yellow-from-hover,#854d0e)] dark:hover:from-[var(--zui-copy-button-gradient-yellow-from-hover-dark,#ca8a04)] hover:to-[var(--zui-copy-button-gradient-yellow-to-hover,#9a3412)] dark:hover:to-[var(--zui-copy-button-gradient-yellow-to-hover-dark,#ea580c)]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-copy-button-gradient-purple-from-dark,#9333ea)] to-[var(--zui-copy-button-gradient-purple-to,#9d174d)] dark:to-[var(--zui-copy-button-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-copy-button-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-purple-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-purple-from-hover,#6b21a8)] dark:hover:from-[var(--zui-copy-button-gradient-purple-from-hover-dark,#9333ea)] hover:to-[var(--zui-copy-button-gradient-purple-to-hover,#9d174d)] dark:hover:to-[var(--zui-copy-button-gradient-purple-to-hover-dark,#db2777)]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-teal-from,#115e59)] dark:from-[var(--zui-copy-button-gradient-teal-from-dark,#0d9488)] to-[var(--zui-copy-button-gradient-teal-to,#155e75)] dark:to-[var(--zui-copy-button-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-copy-button-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-teal-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-teal-from-hover,#115e59)] dark:hover:from-[var(--zui-copy-button-gradient-teal-from-hover-dark,#0d9488)] hover:to-[var(--zui-copy-button-gradient-teal-to-hover,#155e75)] dark:hover:to-[var(--zui-copy-button-gradient-teal-to-hover-dark,#0891b2)]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-copy-button-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-copy-button-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-copy-button-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-copy-button-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-indigo-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-indigo-from-hover,#3730a3)] dark:hover:from-[var(--zui-copy-button-gradient-indigo-from-hover-dark,#4f46e5)] hover:to-[var(--zui-copy-button-gradient-indigo-to-hover,#6b21a8)] dark:hover:to-[var(--zui-copy-button-gradient-indigo-to-hover-dark,#9333ea)]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-pink-from,#9d174d)] dark:from-[var(--zui-copy-button-gradient-pink-from-dark,#db2777)] to-[var(--zui-copy-button-gradient-pink-to,#9f1239)] dark:to-[var(--zui-copy-button-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-copy-button-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-pink-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-pink-from-hover,#9d174d)] dark:hover:from-[var(--zui-copy-button-gradient-pink-from-hover-dark,#db2777)] hover:to-[var(--zui-copy-button-gradient-pink-to-hover,#9f1239)] dark:hover:to-[var(--zui-copy-button-gradient-pink-to-hover-dark,#e11d48)]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-copy-button-gradient-orange-from,#9a3412)] dark:from-[var(--zui-copy-button-gradient-orange-from-dark,#ea580c)] to-[var(--zui-copy-button-gradient-orange-to,#991b1b)] dark:to-[var(--zui-copy-button-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-copy-button-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-copy-button-gradient-orange-fg-dark,#ffffff)] hover:from-[var(--zui-copy-button-gradient-orange-from-hover,#9a3412)] dark:hover:from-[var(--zui-copy-button-gradient-orange-from-hover-dark,#ea580c)] hover:to-[var(--zui-copy-button-gradient-orange-to-hover,#991b1b)] dark:hover:to-[var(--zui-copy-button-gradient-orange-to-hover-dark,#dc2626)]\",\n} as const;\n\nexport type ZuiCopyButtonAppearance = keyof typeof zuiCopyButtonAppearances;\n\nexport const zuiCopyButtonSizes = {\n sm: \"h-8 px-2.5 text-xs [&_svg]:size-3.5\",\n md: \"h-9 px-3 text-sm [&_svg]:size-4\",\n lg: \"h-11 px-4 text-base [&_svg]:size-5\",\n} as const;\n\nexport type ZuiCopyButtonSize = keyof typeof zuiCopyButtonSizes;\n\nexport const zuiCopyButtonIconOnlySizes = {\n sm: \"w-8 px-0\",\n md: \"w-9 px-0\",\n lg: \"w-11 px-0\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiCopyButtonAppearances,\n zuiCopyButtonBase,\n zuiCopyButtonIconOnlySizes,\n zuiCopyButtonSizes,\n} from \"../../design-system/copy-button\";\n\nexport const copyButtonVariants = cva(zuiCopyButtonBase, {\n variants: {\n appearance: zuiCopyButtonAppearances,\n size: zuiCopyButtonSizes,\n iconOnly: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n { iconOnly: true, size: \"sm\", class: zuiCopyButtonIconOnlySizes.sm },\n { iconOnly: true, size: \"md\", class: zuiCopyButtonIconOnlySizes.md },\n { iconOnly: true, size: \"lg\", class: zuiCopyButtonIconOnlySizes.lg },\n ],\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n iconOnly: true,\n },\n});\n","\"use client\";\n\nimport { FiCheck, FiCopy } from \"react-icons/fi\";\n\nimport { useClipboard } from \"../../hooks/useClipboard/useClipboard\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { CopyButtonBaseProps, CopyButtonIconRenderer } from \"./types\";\nimport { copyButtonVariants } from \"./variants\";\n\nconst defaultRenderIcon: CopyButtonIconRenderer = ({\n copied,\n copyIcon,\n copiedIcon,\n}) => (copied ? copiedIcon : copyIcon);\n\nexport function CopyButtonBase({\n value,\n timeout = 2000,\n appearance,\n size,\n iconOnly = true,\n label = \"Copy\",\n copiedLabel = \"Copied\",\n copyIcon = <FiCopy aria-hidden />,\n copiedIcon = <FiCheck aria-hidden />,\n onCopy,\n renderIcon = defaultRenderIcon,\n className,\n type = \"button\",\n disabled,\n onClick,\n \"aria-label\": ariaLabel,\n ref,\n ...rest\n}: CopyButtonBaseProps) {\n const { copied, copy } = useClipboard(timeout);\n\n const handleClick: NonNullable<CopyButtonBaseProps[\"onClick\"]> = async (\n event,\n ) => {\n onClick?.(event);\n if (event.defaultPrevented) {\n return;\n }\n const ok = await copy(value);\n if (ok) {\n onCopy?.(value);\n }\n };\n\n const text = copied ? copiedLabel : label;\n\n return (\n <button\n ref={ref}\n type={type}\n data-slot=\"copy-button\"\n data-copied={copied ? \"true\" : undefined}\n disabled={disabled}\n aria-label={ariaLabel ?? (iconOnly ? text : undefined)}\n onClick={handleClick}\n className={cn(\n copyButtonVariants({ appearance, size, iconOnly }),\n className,\n )}\n {...rest}\n >\n <span\n data-slot=\"copy-button-icon\"\n className=\"relative inline-flex items-center justify-center\"\n >\n {renderIcon({ copied, copyIcon, copiedIcon })}\n </span>\n {!iconOnly ? (\n <span data-slot=\"copy-button-label\" aria-live=\"polite\">\n {text}\n </span>\n ) : (\n <span className=\"sr-only\" aria-live=\"polite\">\n {text}\n </span>\n )}\n </button>\n );\n}\n\nCopyButtonBase.displayName = \"CopyButton\";\n"]}
@@ -1 +0,0 @@
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-2ZKW2E7B.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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-success-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-destructive-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-indigo-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-purple-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-pink-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-orange-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-yellow-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-green-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-teal-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-cyan-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-lime-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-emerald-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-rose-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-zinc-border-checked-dark,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))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-zinc-bg-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-gray-border-checked-dark,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))] dark:bg-[var(--zui-toggle-track-stone-bg-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-stone-border-checked-dark,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))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-stone-bg-checked-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-blue-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-green-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-red-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-purple-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-teal-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-orange-bg-dark,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:\n \"bg-[var(--zui-toggle-thumb-colors-default-bg,#ffffff)] dark:bg-[var(--zui-toggle-thumb-colors-default-bg-dark,#ffffff)]\",\n success:\n \"bg-[var(--zui-toggle-thumb-colors-success-bg,oklch(69.6%_0.17_162.48))] dark:bg-[var(--zui-toggle-thumb-colors-success-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-destructive-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-neutral-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-purple-bg-dark,oklch(62.7%_0.265_303.9))]\",\n pink: \"bg-[var(--zui-toggle-thumb-colors-pink-bg,oklch(65.6%_0.241_354.308))] dark:bg-[var(--zui-toggle-thumb-colors-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-orange-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-green-bg-dark,oklch(72.3%_0.219_149.579))]\",\n teal: \"bg-[var(--zui-toggle-thumb-colors-teal-bg,oklch(70.4%_0.14_182.503))] dark:bg-[var(--zui-toggle-thumb-colors-teal-bg-dark,oklch(70.4%_0.14_182.503))]\",\n cyan: \"bg-[var(--zui-toggle-thumb-colors-cyan-bg,oklch(71.5%_0.143_215.221))] dark:bg-[var(--zui-toggle-thumb-colors-cyan-bg-dark,oklch(71.5%_0.143_215.221))]\",\n lime: \"bg-[var(--zui-toggle-thumb-colors-lime-bg,oklch(76.8%_0.233_130.85))] dark:bg-[var(--zui-toggle-thumb-colors-lime-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-emerald-bg-dark,oklch(69.6%_0.17_162.48))]\",\n rose: \"bg-[var(--zui-toggle-thumb-colors-rose-bg,oklch(64.5%_0.246_16.439))] dark:bg-[var(--zui-toggle-thumb-colors-rose-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-slate-bg-dark,oklch(55.4%_0.046_257.417))]\",\n zinc: \"bg-[var(--zui-toggle-thumb-colors-zinc-bg,oklch(55.2%_0.016_285.938))] dark:bg-[var(--zui-toggle-thumb-colors-zinc-bg-dark,oklch(55.2%_0.016_285.938))]\",\n gray: \"bg-[var(--zui-toggle-thumb-colors-gray-bg,oklch(55.1%_0.027_264.364))] dark:bg-[var(--zui-toggle-thumb-colors-gray-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-stone-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-blue-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-green-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-red-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-purple-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-teal-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-orange-bg-dark,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\n className=\"sr-only\"\n id={labeledByChildren ? toggleLabelId : undefined}\n >\n {children}\n </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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/design-system/popover.ts","../src/ui/popover/variants.ts","../src/ui/popover/popover-base.tsx"],"names":[],"mappings":";;;;;;AAAO,IAAM,qBAAA,GACX,oFAAA;AAEK,IAAM,yBAAA,GAA4B;AAAA,EACvC,OAAA,EACE,iaAAA;AAAA,EACF,OAAA,EACE,mYAAA;AAAA,EACF,KAAA,EACE,qRAAA;AAAA,EACF,KAAA,EACE,6WAAA;AAAA,EACF,OAAA,EACE,0cAAA;AAAA,EACF,MAAA,EACE,kcAAA;AAAA,EACF,MAAA,EACE,ucAAA;AAAA,EACF,IAAA,EAAM,mbAAA;AAAA,EACN,IAAA,EAAM,mbAAA;AAAA,EACN,GAAA,EAAK,gbAAA;AAAA,EACL,IAAA,EAAM,ubAAA;AAAA,EACN,MAAA,EACE,icAAA;AAAA,EACF,MAAA,EACE,6bAAA;AAAA,EACF,KAAA,EACE,icAAA;AAAA,EACF,eAAA,EACE,2cAAA;AAAA,EACF,gBAAA,EACE,idAAA;AAAA,EACF,cAAA,EACE,+bAAA;AAAA,EACF,iBAAA,EACE,+cAAA;AAAA,EACF,iBAAA,EACE,mdAAA;AAAA,EACF,eAAA,EACE,ucAAA;AAAA,EACF,iBAAA,EACE,udAAA;AAAA,EACF,eAAA,EACE,qcAAA;AAAA,EACF,iBAAA,EACE;AACJ,CAAA;AAEO,IAAM,sBAAA,GAAyB;AAAA,EACpC,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,uBAAA,GAA0B;AAAA,EACrC,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,EAAA,EAAI,sBAAA;AAAA,EACJ,KAAA,EAAO;AACT,CAAA;;;ACpDO,IAAM,sBAAA,GAAyB,IAAI,qBAAA,EAAuB;AAAA,EAC/D,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,yBAAA;AAAA,IACT,IAAA,EAAM,sBAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,IAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC;ACaM,IAAM,cAAA,GAAiB,cAAyC,IAAI;AAEpE,IAAM,aAAa,MAAM;AAC9B,EAAA,MAAM,OAAA,GAAU,WAAW,cAAc,CAAA;AACzC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,gDAAgD,CAAA;AAAA,EAClE;AACA,EAAA,OAAO,OAAA;AACT;AAEA,SAAS,aAAgB,IAAA,EAAiC;AACxD,EAAA,OAAO,CAAC,IAAA,KAAY;AAClB,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,MAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,QAAA,GAAA,CAAI,IAAI,CAAA;AAAA,MACV,WAAW,GAAA,EAAK;AACd,QAAC,IAA4B,OAAA,GAAU,IAAA;AAAA,MACzC;AAAA,IACF;AAAA,EACF,CAAA;AACF;AAEO,SAAS,cAAA,CAAe,MAAmB,KAAA,EAAqB;AACrE,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,GAAA,EAAK,kBAAA;AAAA,IACL,MAAA,EAAQ,eAAA;AAAA,IACR,IAAA,EAAM,iBAAA;AAAA,IACN,KAAA,EAAO;AAAA,GACT;AAEA,EAAA,MAAM,aAAA,GAAgB;AAAA,IACpB,KAAA,EAAO,QAAA;AAAA,IACP,MAAA,EAAQ,2BAAA;AAAA,IACR,GAAA,EAAK;AAAA,GACP;AAEA,EAAA,MAAM,eAAA,GAAkB;AAAA,IACtB,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,0BAAA;AAAA,IACR,GAAA,EAAK;AAAA,GACP;AAEA,EAAA,OAAO,EAAA;AAAA,IACL,YAAY,IAAI,CAAA;AAAA,IAChB,IAAA,KAAS,SAAS,IAAA,KAAS,QAAA,GACvB,cAAc,KAAK,CAAA,GACnB,gBAAgB,KAAK;AAAA,GAC3B;AACF;AAEO,IAAM,UAAU,CAAC;AAAA,EACtB,QAAA;AAAA,EACA,WAAA,GAAc,KAAA;AAAA,EACd,IAAA,EAAM,cAAA;AAAA,EACN,YAAA;AAAA,EACA,aAAA,GAAgB,IAAA;AAAA,EAChB,mBAAA,GAAsB;AACxB,CAAA,KAAoB;AAClB,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,WAAW,CAAA;AACpE,EAAA,MAAM,SAAA,GAAY,CAAA,EAAG,KAAA,EAAO,CAAA,QAAA,CAAA;AAC5B,EAAA,MAAM,UAAA,GAAa,OAA2B,IAAI,CAAA;AAClD,EAAA,MAAM,UAAA,GAAa,OAA8B,IAAI,CAAA;AAErD,EAAA,MAAM,eAAe,cAAA,KAAmB,MAAA;AACxC,EAAA,MAAM,IAAA,GAAO,eAAe,cAAA,GAAiB,gBAAA;AAE7C,EAAA,MAAM,OAAA,GAAU,WAAA;AAAA,IACd,CAAC,KAAA,KAAmB;AAClB,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,MAC3B;AACA,MAAA,YAAA,GAAe,KAAK,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,GAC7B;AAEA,EAAA,MAAM,UAAA,GAAa,WAAA,CAAY,MAAM,OAAA,CAAQ,CAAC,IAAI,CAAA,EAAG,CAAC,IAAA,EAAM,OAAO,CAAC,CAAA;AAEpE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAwB;AAC7C,MAAA,IAAI,CAAC,mBAAA,EAAqB;AACxB,QAAA;AAAA,MACF;AACA,MAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,MAAA,IACE,UAAA,CAAW,SAAS,QAAA,CAAS,MAAM,KACnC,UAAA,CAAW,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,EACnC;AACA,QAAA;AAAA,MACF;AACA,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf,CAAA;AAEA,IAAA,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyB;AAC1C,MAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,QAAA,IAAY,aAAA,EAAe;AAC3C,QAAA,OAAA,CAAQ,KAAK,CAAA;AACb,QAAA,UAAA,CAAW,SAAS,KAAA,EAAM;AAAA,MAC5B;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,eAAe,aAAa,CAAA;AACtD,IAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,SAAS,CAAA;AAE9C,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,eAAe,aAAa,CAAA;AACzD,MAAA,QAAA,CAAS,mBAAA,CAAoB,WAAW,SAAS,CAAA;AAAA,IACnD,CAAA;AAAA,EACF,GAAG,CAAC,aAAA,EAAe,mBAAA,EAAqB,IAAA,EAAM,OAAO,CAAC,CAAA;AAEtD,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,OAAO;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,IAAA,EAAM,OAAA,EAAS,UAAA,EAAY,SAAS;AAAA,GACvC;AAEA,EAAA,uBACE,GAAA,CAAC,cAAA,CAAe,QAAA,EAAf,EAAwB,KAAA,EAAO,YAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EAAyB,QAAA,EAAS,CAAA,EACnD,CAAA;AAEJ;AAEO,IAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA;AACF,CAAA,KAA2B;AACzB,EAAA,MAAM,EAAE,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,UAAA,KAAe,UAAA,EAAW;AAC/D,EAAA,MAAM,SAAA,GAAY,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,CAAE,MAAA;AAAA,IAC3C,CAAC,IAAA,KAAS,IAAA,KAAS,QAAQ,IAAA,KAAS,MAAA,IAAa,OAAO,IAAA,KAAS;AAAA,GACnE;AAEA,EAAA,MAAM,aAAA,GACJ,SAAA,CAAU,MAAA,KAAW,CAAA,IAAK,cAAA,CAAe,SAAA,CAAU,CAAC,CAAC,CAAA,GAChD,SAAA,CAAU,CAAC,CAAA,GASZ,MAAA;AAEN,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,OAAO,aAAa,aAAA,EAAe;AAAA,MACjC,GAAA,EAAK,SAAA,CAAU,UAAA,EAAY,aAAA,CAAc,MAAM,GAAG,CAAA;AAAA,MAClD,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,aAAA,CAAc,KAAA,CAAM,UAAU,KAAK,CAAA;AACnC,QAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAC3B,UAAA,UAAA,EAAW;AAAA,QACb;AAAA,MACF,CAAA;AAAA,MACA,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,QAAA,aAAA,CAAc,KAAA,CAAM,YAAY,KAAK,CAAA;AACrC,QAAA,IAAI,KAAA,CAAM,QAAQ,QAAA,EAAU;AAC1B,UAAA,KAAA,CAAM,cAAA,EAAe;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,aAAA,CAAc,MAAM,SAAS,CAAA;AAAA,MACtD,eAAA,EAAiB,IAAA;AAAA,MACjB,eAAA,EAAiB,QAAA;AAAA,MACjB,eAAA,EAAiB,OAAO,SAAA,GAAY;AAAA,KACrC,CAAA;AAAA,EACH;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,IAAA,EAAK,QAAA;AAAA,MACL,SAAA;AAAA,MACA,eAAA,EAAe,IAAA;AAAA,MACf,eAAA,EAAc,QAAA;AAAA,MACd,eAAA,EAAe,OAAO,SAAA,GAAY,MAAA;AAAA,MAClC,OAAA,EAAS,UAAA;AAAA,MAER;AAAA;AAAA,GACH;AAEJ;AAEO,IAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,QAAA;AAAA,EACR,IAAA,GAAO,QAAA;AAAA,EACP,GAAG;AACL,CAAA,KAA2B;AACzB,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,UAAA,KAAe,UAAA,EAAW;AAEnD,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,EAAA,EAAI,SAAA;AAAA,MACJ,WAAA,EAAW,IAAA;AAAA,MACX,IAAA;AAAA,MACA,QAAA,EAAU,EAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,sBAAA,CAAuB,EAAE,OAAA,EAAS,IAAA,EAAM,OAAO,CAAA;AAAA,QAC/C,cAAA,CAAe,MAAM,KAAK,CAAA;AAAA,QAC1B;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-3F4FF2H4.mjs","sourcesContent":["export const zuiPopoverContentBase =\n \"absolute z-50 rounded-lg border shadow-lg transition-all duration-200 outline-none\";\n\nexport const zuiPopoverContentVariants = {\n default:\n \"border-[color:var(--zui-popover-default-border,oklch(20.8%_0.042_265.755_/_0.1))] dark:border-[color:var(--zui-popover-default-border-dark,#ffffff1a)] bg-[var(--zui-popover-default-bg,#ffffff)] dark:bg-[var(--zui-popover-default-bg-dark,oklch(20.8%_0.042_265.755))] text-[color:var(--zui-popover-default-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-popover-default-fg-dark,oklch(96.8%_0.007_247.896))]\",\n outline:\n \"border-[color:var(--zui-popover-outline-border,oklch(37.3%_0.034_259.733))] dark:border-[color:var(--zui-popover-outline-border-dark,oklch(87.2%_0.01_258.338))] bg-[var(--zui-popover-outline-bg,#ffffff)] dark:bg-[var(--zui-popover-outline-bg-dark,#000000)] text-[color:var(--zui-popover-outline-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-popover-outline-fg-dark,#ffffff)]\",\n ghost:\n \"border-transparent bg-[var(--zui-popover-ghost-bg,oklch(96.7%_0.003_264.542))] dark:bg-[var(--zui-popover-ghost-bg-dark,oklch(27.8%_0.033_256.848))] text-[color:var(--zui-popover-ghost-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-popover-ghost-fg-dark,#ffffffe6)]\",\n glass:\n \"border-[color:var(--zui-popover-glass-border,#00000026)] dark:border-[color:var(--zui-popover-glass-border-dark,#ffffff26)] bg-[var(--zui-popover-glass-bg,#ffffffb3)] dark:bg-[var(--zui-popover-glass-bg-dark,#020617b3)] text-[color:var(--zui-popover-glass-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-popover-glass-fg-dark,#ffffff)] backdrop-blur-md\",\n emerald:\n \"border-[color:var(--zui-popover-emerald-border,oklch(43.2%_0.095_166.913_/_0.35))] dark:border-[color:var(--zui-popover-emerald-border-dark,oklch(43.2%_0.095_166.913_/_0.35))] bg-[var(--zui-popover-emerald-bg,oklch(90.5%_0.093_164.15))] text-[color:var(--zui-popover-emerald-fg,oklch(37.8%_0.077_168.94))] dark:bg-[var(--zui-popover-emerald-bg-dark,oklch(26.2%_0.051_172.552))] dark:text-[color:var(--zui-popover-emerald-fg-dark,oklch(90.5%_0.093_164.15))]\",\n indigo:\n \"border-[color:var(--zui-popover-indigo-border,oklch(39.8%_0.195_277.366_/_0.35))] dark:border-[color:var(--zui-popover-indigo-border-dark,oklch(39.8%_0.195_277.366_/_0.35))] bg-[var(--zui-popover-indigo-bg,oklch(87%_0.065_274.039))] text-[color:var(--zui-popover-indigo-fg,oklch(35.9%_0.144_278.697))] dark:bg-[var(--zui-popover-indigo-bg-dark,oklch(25.7%_0.09_281.288))] dark:text-[color:var(--zui-popover-indigo-fg-dark,oklch(87%_0.065_274.039))]\",\n purple:\n \"border-[color:var(--zui-popover-purple-border,oklch(43.8%_0.218_303.724_/_0.35))] dark:border-[color:var(--zui-popover-purple-border-dark,oklch(43.8%_0.218_303.724_/_0.35))] bg-[var(--zui-popover-purple-bg,oklch(90.2%_0.063_306.703))] text-[color:var(--zui-popover-purple-fg,oklch(38.1%_0.176_304.987))] dark:bg-[var(--zui-popover-purple-bg-dark,oklch(29.1%_0.149_302.717))] dark:text-[color:var(--zui-popover-purple-fg-dark,oklch(90.2%_0.063_306.703))]\",\n pink: \"border-[color:var(--zui-popover-pink-border,oklch(45.9%_0.187_3.815_/_0.35))] dark:border-[color:var(--zui-popover-pink-border-dark,oklch(45.9%_0.187_3.815_/_0.35))] bg-[var(--zui-popover-pink-bg,oklch(89.9%_0.061_343.231))] text-[color:var(--zui-popover-pink-fg,oklch(40.8%_0.153_2.432))] dark:bg-[var(--zui-popover-pink-bg-dark,oklch(28.4%_0.109_3.907))] dark:text-[color:var(--zui-popover-pink-fg-dark,oklch(89.9%_0.061_343.231))]\",\n rose: \"border-[color:var(--zui-popover-rose-border,oklch(45.5%_0.188_13.697_/_0.35))] dark:border-[color:var(--zui-popover-rose-border-dark,oklch(45.5%_0.188_13.697_/_0.35))] bg-[var(--zui-popover-rose-bg,oklch(89.2%_0.058_10.001))] text-[color:var(--zui-popover-rose-fg,oklch(41%_0.159_10.272))] dark:bg-[var(--zui-popover-rose-bg-dark,oklch(27.1%_0.105_12.094))] dark:text-[color:var(--zui-popover-rose-fg-dark,oklch(89.2%_0.058_10.001))]\",\n sky: \"border-[color:var(--zui-popover-sky-border,oklch(44.3%_0.11_240.79_/_0.35))] dark:border-[color:var(--zui-popover-sky-border-dark,oklch(44.3%_0.11_240.79_/_0.35))] bg-[var(--zui-popover-sky-bg,oklch(90.1%_0.058_230.902))] text-[color:var(--zui-popover-sky-fg,oklch(39.1%_0.09_240.876))] dark:bg-[var(--zui-popover-sky-bg-dark,oklch(29.3%_0.066_243.157))] dark:text-[color:var(--zui-popover-sky-fg-dark,oklch(90.1%_0.058_230.902))]\",\n teal: \"border-[color:var(--zui-popover-teal-border,oklch(43.7%_0.078_188.216_/_0.35))] dark:border-[color:var(--zui-popover-teal-border-dark,oklch(43.7%_0.078_188.216_/_0.35))] bg-[var(--zui-popover-teal-bg,oklch(91%_0.096_180.426))] text-[color:var(--zui-popover-teal-fg,oklch(38.6%_0.063_188.416))] dark:bg-[var(--zui-popover-teal-bg-dark,oklch(27.7%_0.046_192.524))] dark:text-[color:var(--zui-popover-teal-fg-dark,oklch(91%_0.096_180.426))]\",\n yellow:\n \"border-[color:var(--zui-popover-yellow-border,oklch(47.6%_0.114_61.907_/_0.35))] dark:border-[color:var(--zui-popover-yellow-border-dark,oklch(47.6%_0.114_61.907_/_0.35))] bg-[var(--zui-popover-yellow-bg,oklch(94.5%_0.129_101.54))] text-[color:var(--zui-popover-yellow-fg,oklch(42.1%_0.095_57.708))] dark:bg-[var(--zui-popover-yellow-bg-dark,oklch(28.6%_0.066_53.813))] dark:text-[color:var(--zui-popover-yellow-fg-dark,oklch(94.5%_0.129_101.54))]\",\n orange:\n \"border-[color:var(--zui-popover-orange-border,oklch(47%_0.157_37.304_/_0.35))] dark:border-[color:var(--zui-popover-orange-border-dark,oklch(47%_0.157_37.304_/_0.35))] bg-[var(--zui-popover-orange-bg,oklch(90.1%_0.076_70.697))] text-[color:var(--zui-popover-orange-fg,oklch(40.8%_0.123_38.172))] dark:bg-[var(--zui-popover-orange-bg-dark,oklch(26.6%_0.079_36.259))] dark:text-[color:var(--zui-popover-orange-fg-dark,oklch(90.1%_0.076_70.697))]\",\n green:\n \"border-[color:var(--zui-popover-green-border,oklch(44.8%_0.119_151.328_/_0.35))] dark:border-[color:var(--zui-popover-green-border-dark,oklch(44.8%_0.119_151.328_/_0.35))] bg-[var(--zui-popover-green-bg,oklch(92.5%_0.084_155.995))] text-[color:var(--zui-popover-green-fg,oklch(39.3%_0.095_152.535))] dark:bg-[var(--zui-popover-green-bg-dark,oklch(26.6%_0.065_152.934))] dark:text-[color:var(--zui-popover-green-fg-dark,oklch(92.5%_0.084_155.995))]\",\n \"gradient-blue\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-popover-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-popover-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-popover-gradient-blue-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-popover-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-blue-fg-dark,#ffffff)]\",\n \"gradient-green\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-popover-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-popover-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-popover-gradient-green-to-dark,oklch(45.3%_0.124_130.933))] text-[color:var(--zui-popover-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-green-fg-dark,#ffffff)]\",\n \"gradient-red\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-popover-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-popover-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-popover-gradient-red-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-popover-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-red-fg-dark,#ffffff)]\",\n \"gradient-yellow\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-popover-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-popover-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-popover-gradient-yellow-to-dark,oklch(47%_0.157_37.304))] text-[color:var(--zui-popover-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-yellow-fg-dark,#ffffff)]\",\n \"gradient-purple\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-popover-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-popover-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-popover-gradient-purple-to-dark,oklch(45.9%_0.187_3.815))] text-[color:var(--zui-popover-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-purple-fg-dark,#ffffff)]\",\n \"gradient-teal\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-popover-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-popover-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-popover-gradient-teal-to-dark,oklch(45%_0.085_224.283))] text-[color:var(--zui-popover-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-teal-fg-dark,#ffffff)]\",\n \"gradient-indigo\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-popover-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-popover-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-popover-gradient-indigo-to-dark,oklch(43.8%_0.218_303.724))] text-[color:var(--zui-popover-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-indigo-fg-dark,#ffffff)]\",\n \"gradient-pink\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-popover-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-popover-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-popover-gradient-pink-to-dark,oklch(45.5%_0.188_13.697))] text-[color:var(--zui-popover-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-pink-fg-dark,#ffffff)]\",\n \"gradient-orange\":\n \"border-transparent bg-linear-to-r from-[var(--zui-popover-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-popover-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-popover-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-popover-gradient-orange-to-dark,oklch(44.4%_0.177_26.899))] text-[color:var(--zui-popover-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-popover-gradient-orange-fg-dark,#ffffff)]\",\n} as const;\n\nexport const zuiPopoverContentSizes = {\n sm: \"p-3 text-sm\",\n md: \"p-4 text-sm\",\n lg: \"p-5 text-base\",\n} as const;\n\nexport const zuiPopoverContentWidths = {\n xs: \"min-w-50 md:min-w-xs\",\n sm: \"min-w-50 md:min-w-sm\",\n md: \"min-w-50 md:min-w-md\",\n lg: \"min-w-50 md:min-w-lg\",\n xl: \"min-w-50 md:min-w-xl\",\n \"2xl\": \"min-w-50 md:min-w-2xl\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiPopoverContentBase,\n zuiPopoverContentSizes,\n zuiPopoverContentVariants,\n zuiPopoverContentWidths,\n} from \"../../design-system/popover\";\n\nexport const popoverContentVariants = cva(zuiPopoverContentBase, {\n variants: {\n variant: zuiPopoverContentVariants,\n size: zuiPopoverContentSizes,\n width: zuiPopoverContentWidths,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n width: \"xs\",\n },\n});\n","\"use client\";\n\nimport {\n Children,\n cloneElement,\n createContext,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n type RefObject,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type ReactElement,\n type Ref,\n useMemo,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n PopoverAlign,\n PopoverContentProps,\n PopoverContextType,\n PopoverProps,\n PopoverSide,\n PopoverTriggerProps,\n} from \"./types\";\nimport { popoverContentVariants } from \"./variants\";\n\nexport const PopoverContext = createContext<PopoverContextType | null>(null);\n\nexport const usePopover = () => {\n const context = useContext(PopoverContext);\n if (!context) {\n throw new Error(\"Popover components must be used within Popover\");\n }\n return context;\n};\n\nfunction mergeRefs<T>(...refs: Array<Ref<T> | undefined>) {\n return (node: T) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as RefObject<T | null>).current = node;\n }\n }\n };\n}\n\nexport function sideAlignClass(side: PopoverSide, align: PopoverAlign) {\n const sideClasses = {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\n } satisfies Record<PopoverSide, string>;\n\n const verticalAlign = {\n start: \"left-0\",\n center: \"left-1/2 -translate-x-1/2\",\n end: \"right-0\",\n } satisfies Record<PopoverAlign, string>;\n\n const horizontalAlign = {\n start: \"top-0\",\n center: \"top-1/2 -translate-y-1/2\",\n end: \"bottom-0\",\n } satisfies Record<PopoverAlign, string>;\n\n return cn(\n sideClasses[side],\n side === \"top\" || side === \"bottom\"\n ? verticalAlign[align]\n : horizontalAlign[align],\n );\n}\n\nexport const Popover = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n closeOnEscape = true,\n closeOnOutsideClick = true,\n}: PopoverProps) => {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const contentId = `${useId()}-popover`;\n const triggerRef = useRef<HTMLElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : uncontrolledOpen;\n\n const setOpen = useCallback(\n (value: boolean) => {\n if (!isControlled) {\n setUncontrolledOpen(value);\n }\n onOpenChange?.(value);\n },\n [isControlled, onOpenChange],\n );\n\n const toggleOpen = useCallback(() => setOpen(!open), [open, setOpen]);\n\n useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n const onPointerDown = (event: PointerEvent) => {\n if (!closeOnOutsideClick) {\n return;\n }\n const target = event.target as Node;\n if (\n contentRef.current?.contains(target) ||\n triggerRef.current?.contains(target)\n ) {\n return;\n }\n setOpen(false);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && closeOnEscape) {\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [closeOnEscape, closeOnOutsideClick, open, setOpen]);\n\n const contextValue = useMemo(\n () => ({\n open,\n setOpen,\n toggleOpen,\n contentId,\n triggerRef,\n contentRef,\n }),\n [open, setOpen, toggleOpen, contentId],\n );\n\n return (\n <PopoverContext.Provider value={contextValue}>\n <div className=\"relative inline-block\">{children}</div>\n </PopoverContext.Provider>\n );\n};\n\nexport const PopoverTrigger = ({\n children,\n className,\n}: PopoverTriggerProps) => {\n const { open, toggleOpen, contentId, triggerRef } = usePopover();\n const childList = Children.toArray(children).filter(\n (node) => node !== null && node !== undefined && typeof node !== \"boolean\",\n );\n\n const soleCandidate =\n childList.length === 1 && isValidElement(childList[0])\n ? (childList[0] as ReactElement<{\n className?: string;\n ref?: Ref<HTMLElement>;\n onClick?: MouseEventHandler;\n onKeyDown?: KeyboardEventHandler;\n \"aria-expanded\"?: boolean;\n \"aria-haspopup\"?: string;\n \"aria-controls\"?: string;\n }>)\n : undefined;\n\n if (soleCandidate) {\n return cloneElement(soleCandidate, {\n ref: mergeRefs(triggerRef, soleCandidate.props.ref),\n onClick: (event) => {\n soleCandidate.props.onClick?.(event);\n if (!event.defaultPrevented) {\n toggleOpen();\n }\n },\n onKeyDown: (event) => {\n soleCandidate.props.onKeyDown?.(event);\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n },\n className: cn(className, soleCandidate.props.className),\n \"aria-expanded\": open,\n \"aria-haspopup\": \"dialog\",\n \"aria-controls\": open ? contentId : undefined,\n });\n }\n\n return (\n <button\n ref={triggerRef as Ref<HTMLButtonElement>}\n type=\"button\"\n className={className}\n aria-expanded={open}\n aria-haspopup=\"dialog\"\n aria-controls={open ? contentId : undefined}\n onClick={toggleOpen}\n >\n {children}\n </button>\n );\n};\n\nexport const PopoverContent = ({\n children,\n className,\n variant,\n size,\n width,\n side = \"bottom\",\n align = \"center\",\n role = \"dialog\",\n ...props\n}: PopoverContentProps) => {\n const { open, contentId, contentRef } = usePopover();\n\n if (!open) {\n return null;\n }\n\n return (\n <div\n ref={contentRef}\n id={contentId}\n data-open={open}\n role={role}\n tabIndex={-1}\n className={cn(\n popoverContentVariants({ variant, size, width }),\n sideAlignClass(side, align),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/design-system/toggle.ts","../src/ui/toggle/variants.ts","../src/ui/toggle/toggle-base.tsx"],"names":["cva","useId","useState","useCallback","jsxs","cn","jsx"],"mappings":"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","file":"chunk-3J3FYIG3.js","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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-success-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-destructive-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-indigo-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-purple-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-pink-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-orange-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-yellow-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-green-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-teal-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-cyan-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-lime-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-emerald-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-rose-border-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-zinc-border-checked-dark,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))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-zinc-bg-checked-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-gray-border-checked-dark,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))] dark:bg-[var(--zui-toggle-track-stone-bg-dark,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))] dark:data-[state=checked]:border-[color:var(--zui-toggle-track-stone-border-checked-dark,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))] dark:data-[state=checked]:bg-[var(--zui-toggle-track-stone-bg-checked-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-blue-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-green-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-red-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-purple-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-teal-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-track-gradient-orange-bg-dark,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:\n \"bg-[var(--zui-toggle-thumb-colors-default-bg,#ffffff)] dark:bg-[var(--zui-toggle-thumb-colors-default-bg-dark,#ffffff)]\",\n success:\n \"bg-[var(--zui-toggle-thumb-colors-success-bg,oklch(69.6%_0.17_162.48))] dark:bg-[var(--zui-toggle-thumb-colors-success-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-destructive-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-neutral-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-purple-bg-dark,oklch(62.7%_0.265_303.9))]\",\n pink: \"bg-[var(--zui-toggle-thumb-colors-pink-bg,oklch(65.6%_0.241_354.308))] dark:bg-[var(--zui-toggle-thumb-colors-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-orange-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-green-bg-dark,oklch(72.3%_0.219_149.579))]\",\n teal: \"bg-[var(--zui-toggle-thumb-colors-teal-bg,oklch(70.4%_0.14_182.503))] dark:bg-[var(--zui-toggle-thumb-colors-teal-bg-dark,oklch(70.4%_0.14_182.503))]\",\n cyan: \"bg-[var(--zui-toggle-thumb-colors-cyan-bg,oklch(71.5%_0.143_215.221))] dark:bg-[var(--zui-toggle-thumb-colors-cyan-bg-dark,oklch(71.5%_0.143_215.221))]\",\n lime: \"bg-[var(--zui-toggle-thumb-colors-lime-bg,oklch(76.8%_0.233_130.85))] dark:bg-[var(--zui-toggle-thumb-colors-lime-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-emerald-bg-dark,oklch(69.6%_0.17_162.48))]\",\n rose: \"bg-[var(--zui-toggle-thumb-colors-rose-bg,oklch(64.5%_0.246_16.439))] dark:bg-[var(--zui-toggle-thumb-colors-rose-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-slate-bg-dark,oklch(55.4%_0.046_257.417))]\",\n zinc: \"bg-[var(--zui-toggle-thumb-colors-zinc-bg,oklch(55.2%_0.016_285.938))] dark:bg-[var(--zui-toggle-thumb-colors-zinc-bg-dark,oklch(55.2%_0.016_285.938))]\",\n gray: \"bg-[var(--zui-toggle-thumb-colors-gray-bg,oklch(55.1%_0.027_264.364))] dark:bg-[var(--zui-toggle-thumb-colors-gray-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-stone-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-blue-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-green-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-red-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-yellow-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-purple-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-teal-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-indigo-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-pink-bg-dark,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))] dark:bg-[var(--zui-toggle-thumb-colors-gradient-orange-bg-dark,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\n className=\"sr-only\"\n id={labeledByChildren ? toggleLabelId : undefined}\n >\n {children}\n </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"]}