@zentauri-ui/zentauri-components 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/README.md +66 -38
  2. package/dist/accordion-base-qVomr7f_.d.mts +66 -0
  3. package/dist/accordion-base-qVomr7f_.d.ts +66 -0
  4. package/dist/avatar-base-s4dYg-24.d.mts +49 -0
  5. package/dist/avatar-base-s4dYg-24.d.ts +49 -0
  6. package/dist/card-base-CIGac8D_.d.mts +70 -0
  7. package/dist/card-base-CIGac8D_.d.ts +70 -0
  8. package/dist/chunk-2P3UU2J3.mjs +510 -0
  9. package/dist/chunk-2P3UU2J3.mjs.map +1 -0
  10. package/dist/chunk-2PQEXQVR.js +223 -0
  11. package/dist/chunk-2PQEXQVR.js.map +1 -0
  12. package/dist/chunk-3OR47XMY.js +273 -0
  13. package/dist/chunk-3OR47XMY.js.map +1 -0
  14. package/dist/chunk-4B7KGBQB.js +206 -0
  15. package/dist/chunk-4B7KGBQB.js.map +1 -0
  16. package/dist/chunk-5QB2KNZQ.js +148 -0
  17. package/dist/chunk-5QB2KNZQ.js.map +1 -0
  18. package/dist/chunk-6I7X5BF2.js +520 -0
  19. package/dist/chunk-6I7X5BF2.js.map +1 -0
  20. package/dist/chunk-7HL3A4YF.mjs +214 -0
  21. package/dist/chunk-7HL3A4YF.mjs.map +1 -0
  22. package/dist/chunk-AOEI4V3W.mjs +286 -0
  23. package/dist/chunk-AOEI4V3W.mjs.map +1 -0
  24. package/dist/chunk-BVXTOEBI.mjs +259 -0
  25. package/dist/chunk-BVXTOEBI.mjs.map +1 -0
  26. package/dist/chunk-C2FCPQTO.js +279 -0
  27. package/dist/chunk-C2FCPQTO.js.map +1 -0
  28. package/dist/chunk-E3DZNJAD.js +128 -0
  29. package/dist/chunk-E3DZNJAD.js.map +1 -0
  30. package/dist/chunk-FLILFCQE.mjs +197 -0
  31. package/dist/chunk-FLILFCQE.mjs.map +1 -0
  32. package/dist/chunk-IXDJ3IPG.mjs +315 -0
  33. package/dist/chunk-IXDJ3IPG.mjs.map +1 -0
  34. package/dist/chunk-JQ5TIJ4F.mjs +68 -0
  35. package/dist/chunk-JQ5TIJ4F.mjs.map +1 -0
  36. package/dist/chunk-LVUPECBT.mjs +217 -0
  37. package/dist/chunk-LVUPECBT.mjs.map +1 -0
  38. package/dist/chunk-N4NO3SYL.js +328 -0
  39. package/dist/chunk-N4NO3SYL.js.map +1 -0
  40. package/dist/chunk-OJ67PZ6N.js +175 -0
  41. package/dist/chunk-OJ67PZ6N.js.map +1 -0
  42. package/dist/chunk-P5HUBXUX.js +231 -0
  43. package/dist/chunk-P5HUBXUX.js.map +1 -0
  44. package/dist/chunk-PCK6LX3K.js +253 -0
  45. package/dist/chunk-PCK6LX3K.js.map +1 -0
  46. package/dist/chunk-PGH27VTL.mjs +316 -0
  47. package/dist/chunk-PGH27VTL.mjs.map +1 -0
  48. package/dist/chunk-QZKMFSH5.js +288 -0
  49. package/dist/chunk-QZKMFSH5.js.map +1 -0
  50. package/dist/chunk-RDSPHBHK.mjs +221 -0
  51. package/dist/chunk-RDSPHBHK.mjs.map +1 -0
  52. package/dist/chunk-U4YQCAXW.js +204 -0
  53. package/dist/chunk-U4YQCAXW.js.map +1 -0
  54. package/dist/chunk-UBFKTC2P.mjs +268 -0
  55. package/dist/chunk-UBFKTC2P.mjs.map +1 -0
  56. package/dist/chunk-UOFTZKMM.js +229 -0
  57. package/dist/chunk-UOFTZKMM.js.map +1 -0
  58. package/dist/chunk-UXGHUBNJ.mjs +240 -0
  59. package/dist/chunk-UXGHUBNJ.mjs.map +1 -0
  60. package/dist/chunk-W6PRMYUC.mjs +169 -0
  61. package/dist/chunk-W6PRMYUC.mjs.map +1 -0
  62. package/dist/chunk-WDCIZHXY.mjs +139 -0
  63. package/dist/chunk-WDCIZHXY.mjs.map +1 -0
  64. package/dist/chunk-WZKGRU3U.js +182 -0
  65. package/dist/chunk-WZKGRU3U.js.map +1 -0
  66. package/dist/chunk-X22LLJL6.js +71 -0
  67. package/dist/chunk-X22LLJL6.js.map +1 -0
  68. package/dist/chunk-XIXF7UVM.mjs +194 -0
  69. package/dist/chunk-XIXF7UVM.mjs.map +1 -0
  70. package/dist/chunk-XLAFQ24R.js +328 -0
  71. package/dist/chunk-XLAFQ24R.js.map +1 -0
  72. package/dist/chunk-XWM2S6VV.mjs +124 -0
  73. package/dist/chunk-XWM2S6VV.mjs.map +1 -0
  74. package/dist/chunk-YNCD6TKE.mjs +175 -0
  75. package/dist/chunk-YNCD6TKE.mjs.map +1 -0
  76. package/dist/progress-base-Cm1JODYA.d.mts +66 -0
  77. package/dist/progress-base-Cm1JODYA.d.ts +66 -0
  78. package/dist/types-C7N9UvRm.d.mts +38 -0
  79. package/dist/types-C7N9UvRm.d.ts +38 -0
  80. package/dist/types-CFpwSbpK.d.mts +27 -0
  81. package/dist/types-CFpwSbpK.d.ts +27 -0
  82. package/dist/types-CK_vNRIb.d.mts +63 -0
  83. package/dist/types-CK_vNRIb.d.ts +63 -0
  84. package/dist/types-Ca3t5aC_.d.mts +31 -0
  85. package/dist/types-Ca3t5aC_.d.ts +31 -0
  86. package/dist/types-Cn7IcgkH.d.mts +32 -0
  87. package/dist/types-Cn7IcgkH.d.ts +32 -0
  88. package/dist/types-CtFK7mFE.d.mts +34 -0
  89. package/dist/types-CtFK7mFE.d.ts +34 -0
  90. package/dist/types-DMkTQsWg.d.mts +46 -0
  91. package/dist/types-DMkTQsWg.d.ts +46 -0
  92. package/dist/types-DN400jNg.d.mts +28 -0
  93. package/dist/types-DN400jNg.d.ts +28 -0
  94. package/dist/types-vcZcRc6w.d.mts +24 -0
  95. package/dist/types-vcZcRc6w.d.ts +24 -0
  96. package/dist/types-zHcMUtKK.d.mts +42 -0
  97. package/dist/types-zHcMUtKK.d.ts +42 -0
  98. package/dist/ui/accordion/animated.d.mts +24 -0
  99. package/dist/ui/accordion/animated.d.ts +24 -0
  100. package/dist/ui/accordion/animated.js +67 -0
  101. package/dist/ui/accordion/animated.js.map +1 -0
  102. package/dist/ui/accordion/animated.mjs +56 -0
  103. package/dist/ui/accordion/animated.mjs.map +1 -0
  104. package/dist/ui/accordion.d.mts +9 -65
  105. package/dist/ui/accordion.d.ts +9 -65
  106. package/dist/ui/accordion.js +32 -288
  107. package/dist/ui/accordion.js.map +1 -1
  108. package/dist/ui/accordion.mjs +6 -281
  109. package/dist/ui/accordion.mjs.map +1 -1
  110. package/dist/ui/alert/animated.d.mts +18 -0
  111. package/dist/ui/alert/animated.d.ts +18 -0
  112. package/dist/ui/alert/animated.js +47 -0
  113. package/dist/ui/alert/animated.js.map +1 -0
  114. package/dist/ui/alert/animated.mjs +44 -0
  115. package/dist/ui/alert/animated.mjs.map +1 -0
  116. package/dist/ui/alert.d.mts +10 -40
  117. package/dist/ui/alert.d.ts +10 -40
  118. package/dist/ui/alert.js +36 -218
  119. package/dist/ui/alert.js.map +1 -1
  120. package/dist/ui/alert.mjs +7 -211
  121. package/dist/ui/alert.mjs.map +1 -1
  122. package/dist/ui/avatar/animated.d.mts +22 -0
  123. package/dist/ui/avatar/animated.d.ts +22 -0
  124. package/dist/ui/avatar/animated.js +51 -0
  125. package/dist/ui/avatar/animated.js.map +1 -0
  126. package/dist/ui/avatar/animated.mjs +37 -0
  127. package/dist/ui/avatar/animated.mjs.map +1 -0
  128. package/dist/ui/avatar.d.mts +7 -53
  129. package/dist/ui/avatar.d.ts +7 -53
  130. package/dist/ui/avatar.js +32 -210
  131. package/dist/ui/avatar.js.map +1 -1
  132. package/dist/ui/avatar.mjs +7 -204
  133. package/dist/ui/avatar.mjs.map +1 -1
  134. package/dist/ui/badge/animated.d.mts +22 -0
  135. package/dist/ui/badge/animated.d.ts +22 -0
  136. package/dist/ui/badge/animated.js +50 -0
  137. package/dist/ui/badge/animated.js.map +1 -0
  138. package/dist/ui/badge/animated.mjs +47 -0
  139. package/dist/ui/badge/animated.mjs.map +1 -0
  140. package/dist/ui/badge.d.mts +6 -30
  141. package/dist/ui/badge.d.ts +6 -30
  142. package/dist/ui/badge.js +11 -142
  143. package/dist/ui/badge.js.map +1 -1
  144. package/dist/ui/badge.mjs +6 -141
  145. package/dist/ui/badge.mjs.map +1 -1
  146. package/dist/ui/buttons/animated.d.mts +27 -0
  147. package/dist/ui/buttons/animated.d.ts +27 -0
  148. package/dist/ui/buttons/animated.js +101 -0
  149. package/dist/ui/buttons/animated.js.map +1 -0
  150. package/dist/ui/buttons/animated.mjs +98 -0
  151. package/dist/ui/buttons/animated.mjs.map +1 -0
  152. package/dist/ui/buttons.d.mts +5 -13
  153. package/dist/ui/buttons.d.ts +5 -13
  154. package/dist/ui/buttons.js +7 -45
  155. package/dist/ui/buttons.js.map +1 -1
  156. package/dist/ui/buttons.mjs +8 -45
  157. package/dist/ui/buttons.mjs.map +1 -1
  158. package/dist/ui/card/animated.d.mts +23 -0
  159. package/dist/ui/card/animated.d.ts +23 -0
  160. package/dist/ui/card/animated.js +72 -0
  161. package/dist/ui/card/animated.js.map +1 -0
  162. package/dist/ui/card/animated.mjs +50 -0
  163. package/dist/ui/card/animated.mjs.map +1 -0
  164. package/dist/ui/card.d.mts +6 -70
  165. package/dist/ui/card.d.ts +6 -70
  166. package/dist/ui/card.js +43 -245
  167. package/dist/ui/card.js.map +1 -1
  168. package/dist/ui/card.mjs +5 -235
  169. package/dist/ui/card.mjs.map +1 -1
  170. package/dist/ui/divider/animated.d.mts +19 -0
  171. package/dist/ui/divider/animated.d.ts +19 -0
  172. package/dist/ui/divider/animated.js +41 -0
  173. package/dist/ui/divider/animated.js.map +1 -0
  174. package/dist/ui/divider/animated.mjs +39 -0
  175. package/dist/ui/divider/animated.mjs.map +1 -0
  176. package/dist/ui/divider.d.mts +6 -32
  177. package/dist/ui/divider.d.ts +6 -32
  178. package/dist/ui/divider.js +19 -186
  179. package/dist/ui/divider.js.map +1 -1
  180. package/dist/ui/divider.mjs +6 -183
  181. package/dist/ui/divider.mjs.map +1 -1
  182. package/dist/ui/drawer/animated.d.mts +23 -0
  183. package/dist/ui/drawer/animated.d.ts +23 -0
  184. package/dist/ui/drawer/animated.js +143 -0
  185. package/dist/ui/drawer/animated.js.map +1 -0
  186. package/dist/ui/drawer/animated.mjs +113 -0
  187. package/dist/ui/drawer/animated.mjs.map +1 -0
  188. package/dist/ui/drawer.d.mts +10 -11
  189. package/dist/ui/drawer.d.ts +10 -11
  190. package/dist/ui/drawer.js +44 -357
  191. package/dist/ui/drawer.js.map +1 -1
  192. package/dist/ui/drawer.mjs +3 -349
  193. package/dist/ui/drawer.mjs.map +1 -1
  194. package/dist/ui/empty-state/animated.d.mts +24 -0
  195. package/dist/ui/empty-state/animated.d.ts +24 -0
  196. package/dist/ui/empty-state/animated.js +45 -0
  197. package/dist/ui/empty-state/animated.js.map +1 -0
  198. package/dist/ui/empty-state/animated.mjs +42 -0
  199. package/dist/ui/empty-state/animated.mjs.map +1 -0
  200. package/dist/ui/empty-state.d.mts +11 -32
  201. package/dist/ui/empty-state.d.ts +11 -32
  202. package/dist/ui/empty-state.js +35 -160
  203. package/dist/ui/empty-state.js.map +1 -1
  204. package/dist/ui/empty-state.mjs +5 -153
  205. package/dist/ui/empty-state.mjs.map +1 -1
  206. package/dist/ui/inputs/animated.d.mts +27 -0
  207. package/dist/ui/inputs/animated.d.ts +27 -0
  208. package/dist/ui/inputs/animated.js +141 -0
  209. package/dist/ui/inputs/animated.js.map +1 -0
  210. package/dist/ui/inputs/animated.mjs +138 -0
  211. package/dist/ui/inputs/animated.mjs.map +1 -0
  212. package/dist/ui/inputs.d.mts +7 -21
  213. package/dist/ui/inputs.d.ts +7 -21
  214. package/dist/ui/inputs.js +16 -331
  215. package/dist/ui/inputs.js.map +1 -1
  216. package/dist/ui/inputs.mjs +13 -329
  217. package/dist/ui/inputs.mjs.map +1 -1
  218. package/dist/ui/modal/animated.d.mts +21 -0
  219. package/dist/ui/modal/animated.d.ts +21 -0
  220. package/dist/ui/modal/animated.js +120 -0
  221. package/dist/ui/modal/animated.js.map +1 -0
  222. package/dist/ui/modal/animated.mjs +117 -0
  223. package/dist/ui/modal/animated.mjs.map +1 -0
  224. package/dist/ui/modal.d.mts +10 -48
  225. package/dist/ui/modal.d.ts +10 -48
  226. package/dist/ui/modal.js +47 -361
  227. package/dist/ui/modal.js.map +1 -1
  228. package/dist/ui/modal.mjs +9 -351
  229. package/dist/ui/modal.mjs.map +1 -1
  230. package/dist/ui/progress/animated.d.mts +41 -0
  231. package/dist/ui/progress/animated.d.ts +41 -0
  232. package/dist/ui/progress/animated.js +123 -0
  233. package/dist/ui/progress/animated.js.map +1 -0
  234. package/dist/ui/progress/animated.mjs +112 -0
  235. package/dist/ui/progress/animated.mjs.map +1 -0
  236. package/dist/ui/progress.d.mts +10 -58
  237. package/dist/ui/progress.d.ts +10 -58
  238. package/dist/ui/progress.js +35 -227
  239. package/dist/ui/progress.js.map +1 -1
  240. package/dist/ui/progress.mjs +10 -222
  241. package/dist/ui/progress.mjs.map +1 -1
  242. package/dist/ui/skeleton/animated.d.mts +56 -0
  243. package/dist/ui/skeleton/animated.d.ts +56 -0
  244. package/dist/ui/skeleton/animated.js +126 -0
  245. package/dist/ui/skeleton/animated.js.map +1 -0
  246. package/dist/ui/skeleton/animated.mjs +119 -0
  247. package/dist/ui/skeleton/animated.mjs.map +1 -0
  248. package/dist/ui/skeleton.d.mts +16 -77
  249. package/dist/ui/skeleton.d.ts +16 -77
  250. package/dist/ui/skeleton.js +35 -526
  251. package/dist/ui/skeleton.js.map +1 -1
  252. package/dist/ui/skeleton.mjs +2 -520
  253. package/dist/ui/skeleton.mjs.map +1 -1
  254. package/dist/ui/{spinner.d.mts → spinner/animated.d.mts} +1 -6
  255. package/dist/ui/{spinner.d.ts → spinner/animated.d.ts} +1 -6
  256. package/dist/ui/{spinner.js → spinner/animated.js} +3 -9
  257. package/dist/ui/spinner/animated.js.map +1 -0
  258. package/dist/ui/{spinner.mjs → spinner/animated.mjs} +4 -9
  259. package/dist/ui/spinner/animated.mjs.map +1 -0
  260. package/dist/ui/table/animated.d.mts +21 -0
  261. package/dist/ui/table/animated.d.ts +21 -0
  262. package/dist/ui/table/animated.js +50 -0
  263. package/dist/ui/table/animated.js.map +1 -0
  264. package/dist/ui/table/animated.mjs +24 -0
  265. package/dist/ui/table/animated.mjs.map +1 -0
  266. package/dist/ui/table.d.mts +17 -11
  267. package/dist/ui/table.d.ts +17 -11
  268. package/dist/ui/table.js +55 -278
  269. package/dist/ui/table.js.map +1 -1
  270. package/dist/ui/table.mjs +2 -269
  271. package/dist/ui/table.mjs.map +1 -1
  272. package/dist/ui/tabs/animated.d.mts +25 -0
  273. package/dist/ui/tabs/animated.d.ts +25 -0
  274. package/dist/ui/tabs/animated.js +83 -0
  275. package/dist/ui/tabs/animated.js.map +1 -0
  276. package/dist/ui/tabs/animated.mjs +79 -0
  277. package/dist/ui/tabs/animated.mjs.map +1 -0
  278. package/dist/ui/tabs.d.mts +7 -41
  279. package/dist/ui/tabs.d.ts +7 -41
  280. package/dist/ui/tabs.js +35 -261
  281. package/dist/ui/tabs.js.map +1 -1
  282. package/dist/ui/tabs.mjs +2 -256
  283. package/dist/ui/tabs.mjs.map +1 -1
  284. package/dist/ui/toast/animated.d.mts +23 -0
  285. package/dist/ui/toast/animated.d.ts +23 -0
  286. package/dist/ui/toast/animated.js +103 -0
  287. package/dist/ui/toast/animated.js.map +1 -0
  288. package/dist/ui/toast/animated.mjs +99 -0
  289. package/dist/ui/toast/animated.mjs.map +1 -0
  290. package/dist/ui/toast.d.mts +7 -52
  291. package/dist/ui/toast.d.ts +7 -52
  292. package/dist/ui/toast.js +47 -268
  293. package/dist/ui/toast.js.map +1 -1
  294. package/dist/ui/toast.mjs +2 -259
  295. package/dist/ui/toast.mjs.map +1 -1
  296. package/dist/ui/toggle/animated.d.mts +22 -0
  297. package/dist/ui/toggle/animated.d.ts +22 -0
  298. package/dist/ui/toggle/animated.js +88 -0
  299. package/dist/ui/toggle/animated.js.map +1 -0
  300. package/dist/ui/toggle/animated.mjs +85 -0
  301. package/dist/ui/toggle/animated.mjs.map +1 -0
  302. package/dist/ui/toggle.d.mts +6 -30
  303. package/dist/ui/toggle.d.ts +6 -30
  304. package/dist/ui/toggle.js +19 -83
  305. package/dist/ui/toggle.js.map +1 -1
  306. package/dist/ui/toggle.mjs +12 -80
  307. package/dist/ui/toggle.mjs.map +1 -1
  308. package/dist/ui/tooltip/animated.d.mts +17 -0
  309. package/dist/ui/tooltip/animated.d.ts +17 -0
  310. package/dist/ui/tooltip/animated.js +59 -0
  311. package/dist/ui/tooltip/animated.js.map +1 -0
  312. package/dist/ui/tooltip/animated.mjs +56 -0
  313. package/dist/ui/tooltip/animated.mjs.map +1 -0
  314. package/dist/ui/tooltip.d.mts +6 -33
  315. package/dist/ui/tooltip.d.ts +6 -33
  316. package/dist/ui/tooltip.js +26 -193
  317. package/dist/ui/tooltip.js.map +1 -1
  318. package/dist/ui/tooltip.mjs +2 -192
  319. package/dist/ui/tooltip.mjs.map +1 -1
  320. package/dist/variants-CYODHI8b.d.mts +10 -0
  321. package/dist/variants-CYODHI8b.d.ts +10 -0
  322. package/package.json +7 -4
  323. package/dist/ui/spinner.js.map +0 -1
  324. package/dist/ui/spinner.mjs.map +0 -1
@@ -0,0 +1,268 @@
1
+ import { cn } from './chunk-DFEZH7TC.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { createContext, useContext, useState, useMemo, useCallback, useId } from 'react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var accordionVariants = cva("w-full", {
7
+ variants: {
8
+ appearance: {
9
+ default: "divide-y divide-white/10 rounded-xl border border-white/10",
10
+ outline: "divide-y divide-white/10 rounded-xl border border-white/15",
11
+ ghost: "divide-y divide-white/5",
12
+ card: "space-y-2",
13
+ separated: "space-y-3",
14
+ sky: "divide-y divide-sky-600 rounded-xl border border-sky-600",
15
+ rose: "divide-y divide-rose-600 rounded-xl border border-rose-600",
16
+ purple: "divide-y divide-purple-600 rounded-xl border border-purple-600",
17
+ pink: "divide-y divide-pink-600 rounded-xl border border-pink-600",
18
+ orange: "divide-y divide-orange-600 rounded-xl border border-orange-600",
19
+ yellow: "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
20
+ teal: "divide-y divide-teal-600 rounded-xl border border-teal-600",
21
+ indigo: "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
22
+ emerald: "divide-y divide-emerald-600 rounded-xl border border-emerald-600",
23
+ "gradient-blue": "divide-y divide-gradient-to-r from-blue-600 to-purple-600 rounded-xl border border-gradient-to-r from-blue-600 to-purple-600",
24
+ "gradient-green": "divide-y divide-gradient-to-r from-green-600 to-lime-600 rounded-xl border border-gradient-to-r from-green-600 to-lime-600",
25
+ "gradient-red": "divide-y divide-gradient-to-r from-red-600 to-pink-600 rounded-xl border border-gradient-to-r from-red-600 to-pink-600",
26
+ "gradient-yellow": "divide-y divide-gradient-to-r from-yellow-600 to-orange-600 rounded-xl border border-gradient-to-r from-yellow-600 to-orange-600",
27
+ "gradient-purple": "divide-y divide-gradient-to-r from-purple-600 to-pink-600 rounded-xl border border-gradient-to-r from-purple-600 to-pink-600",
28
+ "gradient-teal": "divide-y divide-gradient-to-r from-teal-600 to-cyan-600 rounded-xl border border-gradient-to-r from-teal-600 to-cyan-600",
29
+ "gradient-indigo": "divide-y divide-gradient-to-r from-indigo-600 to-purple-600 rounded-xl border border-gradient-to-r from-indigo-600 to-purple-600",
30
+ "gradient-pink": "divide-y divide-gradient-to-r from-pink-600 to-rose-600 rounded-xl border border-gradient-to-r from-pink-600 to-rose-600",
31
+ "gradient-orange": "divide-y divide-gradient-to-r from-orange-600 to-red-600 rounded-xl border border-gradient-to-r from-orange-600 to-red-600"
32
+ },
33
+ size: {
34
+ sm: "px-3 py-2 text-sm",
35
+ md: "px-4 py-3 text-sm",
36
+ lg: "px-5 py-4 text-base"
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ appearance: "default",
41
+ size: "md"
42
+ }
43
+ });
44
+ var accordionItemVariants = cva("", {
45
+ variants: {
46
+ appearance: {
47
+ default: "",
48
+ outline: "",
49
+ ghost: "",
50
+ card: "rounded-xl border border-white/10 bg-white/[0.03] p-2",
51
+ separated: "rounded-xl border border-white/10 bg-slate-950/40 p-2",
52
+ sky: "rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2",
53
+ rose: "rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2",
54
+ purple: "rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2",
55
+ pink: "rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2",
56
+ orange: "rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2",
57
+ yellow: "rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2",
58
+ teal: "rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2",
59
+ indigo: "rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2",
60
+ emerald: "rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2",
61
+ "gradient-blue": "rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white",
62
+ "gradient-green": "rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white",
63
+ "gradient-red": "rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white",
64
+ "gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white",
65
+ "gradient-purple": "rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white",
66
+ "gradient-teal": "rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white",
67
+ "gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white",
68
+ "gradient-pink": "rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white",
69
+ "gradient-orange": "rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white"
70
+ }
71
+ },
72
+ defaultVariants: { appearance: "default" }
73
+ });
74
+ var accordionTriggerVariants = cva(
75
+ "flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-50 outline-none transition hover:text-white focus-visible:ring-2 focus-visible:ring-white/30",
76
+ {
77
+ variants: {
78
+ size: {
79
+ sm: "py-2 text-sm",
80
+ md: "py-3 text-sm",
81
+ lg: "py-4 text-base"
82
+ }
83
+ },
84
+ defaultVariants: { size: "md" }
85
+ }
86
+ );
87
+ var accordionContentVariants = cva("pb-3 text-sm", {
88
+ variants: {
89
+ size: {
90
+ sm: "pb-2 text-xs",
91
+ md: "pb-3 text-sm",
92
+ lg: "pb-4 text-base"
93
+ }
94
+ },
95
+ defaultVariants: { size: "md" }
96
+ });
97
+ var AccordionContext = createContext(null);
98
+ var AccordionItemValueContext = createContext(null);
99
+ function useAccordionContext(component) {
100
+ const ctx = useContext(AccordionContext);
101
+ if (!ctx) {
102
+ throw new Error(`${component} must be used within <Accordion>`);
103
+ }
104
+ return ctx;
105
+ }
106
+ function useAccordionItemValue(component) {
107
+ const value = useContext(AccordionItemValueContext);
108
+ if (!value) {
109
+ throw new Error(`${component} must be used within <AccordionItem>`);
110
+ }
111
+ return value;
112
+ }
113
+ function AccordionBase({
114
+ type = "single",
115
+ value,
116
+ values,
117
+ defaultValue,
118
+ defaultValues,
119
+ onValueChange,
120
+ onValuesChange,
121
+ appearance = "default",
122
+ size = "md",
123
+ className,
124
+ children
125
+ }) {
126
+ const isSingleControlled = value !== void 0;
127
+ const isMultipleControlled = values !== void 0;
128
+ const [singleUncontrolled, setSingleUncontrolled] = useState(defaultValue);
129
+ const [multipleUncontrolled, setMultipleUncontrolled] = useState(
130
+ defaultValues ?? []
131
+ );
132
+ const singleValue = isSingleControlled ? value : singleUncontrolled;
133
+ const multipleValues = useMemo(
134
+ () => isMultipleControlled ? values ?? [] : multipleUncontrolled,
135
+ [isMultipleControlled, values, multipleUncontrolled]
136
+ );
137
+ const isOpen = useCallback(
138
+ (itemValue) => {
139
+ if (type === "single") {
140
+ return singleValue === itemValue;
141
+ }
142
+ return multipleValues.includes(itemValue);
143
+ },
144
+ [multipleValues, singleValue, type]
145
+ );
146
+ const toggle = useCallback(
147
+ (itemValue) => {
148
+ if (type === "single") {
149
+ const next2 = singleValue === itemValue ? void 0 : itemValue;
150
+ if (!isSingleControlled) {
151
+ setSingleUncontrolled(next2);
152
+ }
153
+ onValueChange?.(next2);
154
+ return;
155
+ }
156
+ const exists = multipleValues.includes(itemValue);
157
+ const next = exists ? multipleValues.filter((entry) => entry !== itemValue) : [...multipleValues, itemValue];
158
+ if (!isMultipleControlled) {
159
+ setMultipleUncontrolled(next);
160
+ }
161
+ onValuesChange?.(next);
162
+ },
163
+ [
164
+ isMultipleControlled,
165
+ isSingleControlled,
166
+ multipleValues,
167
+ onValueChange,
168
+ onValuesChange,
169
+ singleValue,
170
+ type
171
+ ]
172
+ );
173
+ const ctx = useMemo(
174
+ () => ({
175
+ type,
176
+ appearance: appearance ?? "default",
177
+ size: size ?? "md",
178
+ isOpen,
179
+ toggle
180
+ }),
181
+ [appearance, isOpen, size, toggle, type]
182
+ );
183
+ return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
184
+ "div",
185
+ {
186
+ "data-slot": "accordion",
187
+ className: cn(accordionVariants({ appearance, size }), className),
188
+ children
189
+ }
190
+ ) });
191
+ }
192
+ AccordionBase.displayName = "Accordion";
193
+ function AccordionItem({
194
+ className,
195
+ value,
196
+ children,
197
+ ref,
198
+ ...rest
199
+ }) {
200
+ const { appearance } = useAccordionContext("AccordionItem");
201
+ return /* @__PURE__ */ jsx(AccordionItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(
202
+ "div",
203
+ {
204
+ ref,
205
+ "data-slot": "accordion-item",
206
+ "data-value": value,
207
+ className: cn(accordionItemVariants({ appearance }), className),
208
+ ...rest,
209
+ children
210
+ }
211
+ ) });
212
+ }
213
+ AccordionItem.displayName = "AccordionItem";
214
+ function AccordionTrigger({
215
+ className,
216
+ children,
217
+ ref,
218
+ ...rest
219
+ }) {
220
+ const itemValue = useAccordionItemValue("AccordionTrigger");
221
+ const { isOpen, toggle, size } = useAccordionContext("AccordionTrigger");
222
+ const open = isOpen(itemValue);
223
+ const panelId = `${itemValue}-panel`;
224
+ const baseId = useId();
225
+ return /* @__PURE__ */ jsx("h3", { className: "m-0", children: /* @__PURE__ */ jsx(
226
+ "button",
227
+ {
228
+ ref,
229
+ type: "button",
230
+ "data-slot": "accordion-trigger",
231
+ id: `${baseId}-trigger-${itemValue}`,
232
+ "aria-expanded": open,
233
+ "aria-controls": panelId,
234
+ className: cn(accordionTriggerVariants({ size }), className),
235
+ onClick: () => toggle(itemValue),
236
+ ...rest,
237
+ children
238
+ }
239
+ ) });
240
+ }
241
+ AccordionTrigger.displayName = "AccordionTrigger";
242
+ function AccordionContent({
243
+ className,
244
+ children,
245
+ ref
246
+ }) {
247
+ const itemValue = useAccordionItemValue("AccordionContent");
248
+ const { isOpen, size } = useAccordionContext("AccordionContent");
249
+ const open = isOpen(itemValue);
250
+ const panelId = `${itemValue}-panel`;
251
+ return open ? /* @__PURE__ */ jsx(
252
+ "div",
253
+ {
254
+ ref,
255
+ id: panelId,
256
+ role: "region",
257
+ "data-slot": "accordion-content",
258
+ className: cn(accordionContentVariants({ size }), className),
259
+ children
260
+ },
261
+ itemValue
262
+ ) : null;
263
+ }
264
+ AccordionContent.displayName = "AccordionContent";
265
+
266
+ export { AccordionBase, AccordionContent, AccordionItem, AccordionTrigger, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants, useAccordionContext, useAccordionItemValue };
267
+ //# sourceMappingURL=chunk-UBFKTC2P.mjs.map
268
+ //# sourceMappingURL=chunk-UBFKTC2P.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/accordion/variants.ts","../src/ui/accordion/accordion-base.tsx"],"names":["next"],"mappings":"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","file":"chunk-UBFKTC2P.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const accordionVariants = cva(\"w-full\", {\n variants: {\n appearance: {\n default: \"divide-y divide-white/10 rounded-xl border border-white/10\",\n outline: \"divide-y divide-white/10 rounded-xl border border-white/15\",\n ghost: \"divide-y divide-white/5\",\n card: \"space-y-2\",\n separated: \"space-y-3\",\n sky: \"divide-y divide-sky-600 rounded-xl border border-sky-600\",\n rose: \"divide-y divide-rose-600 rounded-xl border border-rose-600\",\n purple: \"divide-y divide-purple-600 rounded-xl border border-purple-600\",\n pink: \"divide-y divide-pink-600 rounded-xl border border-pink-600\",\n orange: \"divide-y divide-orange-600 rounded-xl border border-orange-600\",\n yellow: \"divide-y divide-yellow-600 rounded-xl border border-yellow-600\",\n teal: \"divide-y divide-teal-600 rounded-xl border border-teal-600\",\n indigo: \"divide-y divide-indigo-600 rounded-xl border border-indigo-600\",\n emerald:\n \"divide-y divide-emerald-600 rounded-xl border border-emerald-600\",\n \"gradient-blue\":\n \"divide-y divide-gradient-to-r from-blue-600 to-purple-600 rounded-xl border border-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\":\n \"divide-y divide-gradient-to-r from-green-600 to-lime-600 rounded-xl border border-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\":\n \"divide-y divide-gradient-to-r from-red-600 to-pink-600 rounded-xl border border-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\":\n \"divide-y divide-gradient-to-r from-yellow-600 to-orange-600 rounded-xl border border-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\":\n \"divide-y divide-gradient-to-r from-purple-600 to-pink-600 rounded-xl border border-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\":\n \"divide-y divide-gradient-to-r from-teal-600 to-cyan-600 rounded-xl border border-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\":\n \"divide-y divide-gradient-to-r from-indigo-600 to-purple-600 rounded-xl border border-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\":\n \"divide-y divide-gradient-to-r from-pink-600 to-rose-600 rounded-xl border border-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\":\n \"divide-y divide-gradient-to-r from-orange-600 to-red-600 rounded-xl border border-gradient-to-r from-orange-600 to-red-600\",\n },\n size: {\n sm: \"px-3 py-2 text-sm\",\n md: \"px-4 py-3 text-sm\",\n lg: \"px-5 py-4 text-base\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n});\n\nexport const accordionItemVariants = cva(\"\", {\n variants: {\n appearance: {\n default: \"\",\n outline: \"\",\n ghost: \"\",\n card: \"rounded-xl border border-white/10 bg-white/[0.03] p-2\",\n separated: \"rounded-xl border border-white/10 bg-slate-950/40 p-2\",\n sky: \"rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2\",\n rose: \"rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2\",\n purple: \"rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2\",\n pink: \"rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2\",\n orange: \"rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2\",\n yellow: \"rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2\",\n teal: \"rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2\",\n indigo: \"rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2\",\n emerald: \"rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2\",\n \"gradient-blue\":\n \"rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-green\":\n \"rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white\",\n \"gradient-red\":\n \"rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-yellow\":\n \"rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white\",\n \"gradient-purple\":\n \"rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-teal\":\n \"rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white\",\n \"gradient-indigo\":\n \"rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-pink\":\n \"rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white\",\n \"gradient-orange\":\n \"rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white\",\n },\n },\n defaultVariants: { appearance: \"default\" },\n});\n\nexport const accordionTriggerVariants = cva(\n \"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-50 outline-none transition hover:text-white focus-visible:ring-2 focus-visible:ring-white/30\",\n {\n variants: {\n size: {\n sm: \"py-2 text-sm\",\n md: \"py-3 text-sm\",\n lg: \"py-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const accordionContentVariants = cva(\"pb-3 text-sm\", {\n variants: {\n size: {\n sm: \"pb-2 text-xs\",\n md: \"pb-3 text-sm\",\n lg: \"pb-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n AccordionBaseProps,\n AccordionContentProps,\n AccordionCtx,\n AccordionItemProps,\n AccordionTriggerProps,\n} from \"./types\";\nimport {\n accordionContentVariants,\n accordionItemVariants,\n accordionTriggerVariants,\n accordionVariants,\n} from \"./variants\";\n\nconst AccordionContext = createContext<AccordionCtx | null>(null);\n\nconst AccordionItemValueContext = createContext<string | null>(null);\n\nexport function useAccordionContext(component: string): AccordionCtx {\n const ctx = useContext(AccordionContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Accordion>`);\n }\n return ctx;\n}\n\nexport function useAccordionItemValue(component: string): string {\n const value = useContext(AccordionItemValueContext);\n if (!value) {\n throw new Error(`${component} must be used within <AccordionItem>`);\n }\n return value;\n}\n\nexport function AccordionBase({\n type = \"single\",\n value,\n values,\n defaultValue,\n defaultValues,\n onValueChange,\n onValuesChange,\n appearance = \"default\",\n size = \"md\",\n className,\n children,\n}: AccordionBaseProps) {\n const isSingleControlled = value !== undefined;\n const isMultipleControlled = values !== undefined;\n const [singleUncontrolled, setSingleUncontrolled] = useState<\n string | undefined\n >(defaultValue);\n const [multipleUncontrolled, setMultipleUncontrolled] = useState<string[]>(\n defaultValues ?? [],\n );\n\n const singleValue = isSingleControlled ? value : singleUncontrolled;\n const multipleValues = useMemo(\n () => (isMultipleControlled ? (values ?? []) : multipleUncontrolled),\n [isMultipleControlled, values, multipleUncontrolled],\n );\n\n const isOpen = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n return singleValue === itemValue;\n }\n return multipleValues.includes(itemValue);\n },\n [multipleValues, singleValue, type],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n const next = singleValue === itemValue ? undefined : itemValue;\n if (!isSingleControlled) {\n setSingleUncontrolled(next);\n }\n onValueChange?.(next);\n return;\n }\n const exists = multipleValues.includes(itemValue);\n const next = exists\n ? multipleValues.filter((entry) => entry !== itemValue)\n : [...multipleValues, itemValue];\n if (!isMultipleControlled) {\n setMultipleUncontrolled(next);\n }\n onValuesChange?.(next);\n },\n [\n isMultipleControlled,\n isSingleControlled,\n multipleValues,\n onValueChange,\n onValuesChange,\n singleValue,\n type,\n ],\n );\n\n const ctx = useMemo(\n () => ({\n type,\n appearance: appearance ?? \"default\",\n size: size ?? \"md\",\n isOpen,\n toggle,\n }),\n [appearance, isOpen, size, toggle, type],\n );\n\n return (\n <AccordionContext.Provider value={ctx}>\n <div\n data-slot=\"accordion\"\n className={cn(accordionVariants({ appearance, size }), className)}\n >\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nAccordionBase.displayName = \"Accordion\";\n\nexport function AccordionItem({\n className,\n value,\n children,\n ref,\n ...rest\n}: AccordionItemProps) {\n const { appearance } = useAccordionContext(\"AccordionItem\");\n return (\n <AccordionItemValueContext.Provider value={value}>\n <div\n ref={ref}\n data-slot=\"accordion-item\"\n data-value={value}\n className={cn(accordionItemVariants({ appearance }), className)}\n {...rest}\n >\n {children}\n </div>\n </AccordionItemValueContext.Provider>\n );\n}\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport function AccordionTrigger({\n className,\n children,\n ref,\n ...rest\n}: AccordionTriggerProps) {\n const itemValue = useAccordionItemValue(\"AccordionTrigger\");\n const { isOpen, toggle, size } = useAccordionContext(\"AccordionTrigger\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const baseId = useId();\n\n return (\n <h3 className=\"m-0\">\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"accordion-trigger\"\n id={`${baseId}-trigger-${itemValue}`}\n aria-expanded={open}\n aria-controls={panelId}\n className={cn(accordionTriggerVariants({ size }), className)}\n onClick={() => toggle(itemValue)}\n {...rest}\n >\n {children}\n </button>\n </h3>\n );\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\";\n\nexport function AccordionContent({\n className,\n children,\n ref,\n}: AccordionContentProps) {\n const itemValue = useAccordionItemValue(\"AccordionContent\");\n const { isOpen, size } = useAccordionContext(\"AccordionContent\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n\n return open ? (\n <div\n key={itemValue}\n ref={ref}\n id={panelId}\n role=\"region\"\n data-slot=\"accordion-content\"\n className={cn(accordionContentVariants({ size }), className)}\n >\n {children}\n </div>\n ) : null;\n}\n\nAccordionContent.displayName = \"AccordionContent\";\n"]}
@@ -0,0 +1,229 @@
1
+ 'use strict';
2
+
3
+ var chunkUOZYPWDZ_js = require('./chunk-UOZYPWDZ.js');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var react = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var cardVariants = classVarianceAuthority.cva(
9
+ [
10
+ "relative flex w-full flex-col overflow-hidden text-slate-50",
11
+ "ring-offset-slate-950 transition-colors",
12
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2"
13
+ ],
14
+ {
15
+ variants: {
16
+ appearance: {
17
+ default: "border border-white/10 bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.12)]",
18
+ glass: "border border-white/15 bg-white/10 backdrop-blur-md shadow-[0_18px_48px_rgba(15,23,42,0.35)]",
19
+ outline: "border border-white/15 bg-transparent",
20
+ ghost: "border border-transparent bg-transparent",
21
+ elevated: "border border-white/10 bg-slate-900/80 shadow-[0_24px_64px_rgba(15,23,42,0.45)]",
22
+ sky: "border border-sky-600 bg-sky-950/70 backdrop-blur-xl",
23
+ rose: "border border-rose-600 bg-rose-950/70 backdrop-blur-xl",
24
+ purple: "border border-purple-600 bg-purple-950/70 backdrop-blur-xl",
25
+ pink: "border border-pink-600 bg-pink-950/70 backdrop-blur-xl",
26
+ orange: "border border-orange-600 bg-orange-950/70 backdrop-blur-xl",
27
+ yellow: "border border-yellow-600 bg-yellow-950/70 backdrop-blur-xl",
28
+ teal: "border border-teal-600 bg-teal-950/70 backdrop-blur-xl",
29
+ indigo: "border border-indigo-600 bg-indigo-950/70 backdrop-blur-xl",
30
+ emerald: "border border-emerald-600 bg-emerald-950/70 backdrop-blur-xl",
31
+ gray: "border border-gray-600 bg-gray-950/70 backdrop-blur-xl",
32
+ amber: "border border-amber-600 bg-amber-950/70 backdrop-blur-xl",
33
+ violet: "border border-violet-600 bg-violet-950/70 backdrop-blur-xl",
34
+ "gradient-blue": "border border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
35
+ "gradient-green": "border border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
36
+ "gradient-red": "border border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
37
+ "gradient-yellow": "border border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
38
+ "gradient-purple": "border border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
39
+ "gradient-teal": "border border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
40
+ "gradient-indigo": "border border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
41
+ "gradient-pink": "border border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
42
+ "gradient-orange": "border border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl"
43
+ },
44
+ size: {
45
+ sm: "gap-2 p-3 text-sm",
46
+ md: "gap-3 p-4 text-sm",
47
+ lg: "gap-4 p-6 text-base"
48
+ },
49
+ rounded: {
50
+ sm: "rounded-lg",
51
+ md: "rounded-xl",
52
+ lg: "rounded-2xl",
53
+ full: "rounded-3xl"
54
+ }
55
+ },
56
+ defaultVariants: {
57
+ appearance: "default",
58
+ size: "md",
59
+ rounded: "md"
60
+ }
61
+ }
62
+ );
63
+ var cardHeaderVariants = classVarianceAuthority.cva(
64
+ "flex flex-col gap-1 border-b border-white/10 pb-3",
65
+ {
66
+ variants: {
67
+ size: {
68
+ sm: "pb-2",
69
+ md: "pb-3",
70
+ lg: "pb-4"
71
+ }
72
+ },
73
+ defaultVariants: { size: "md" }
74
+ }
75
+ );
76
+ var cardFooterVariants = classVarianceAuthority.cva(
77
+ "flex flex-col gap-2 border-t border-white/10 pt-3",
78
+ {
79
+ variants: {
80
+ size: {
81
+ sm: "pt-2",
82
+ md: "pt-3",
83
+ lg: "pt-4"
84
+ }
85
+ },
86
+ defaultVariants: { size: "md" }
87
+ }
88
+ );
89
+ var cardTitleVariants = classVarianceAuthority.cva(
90
+ "font-semibold tracking-tight text-slate-50",
91
+ {
92
+ variants: {
93
+ size: {
94
+ sm: "text-sm",
95
+ md: "text-base",
96
+ lg: "text-lg"
97
+ }
98
+ },
99
+ defaultVariants: { size: "md" }
100
+ }
101
+ );
102
+ var cardDescriptionVariants = classVarianceAuthority.cva("text-slate-400", {
103
+ variants: {
104
+ size: {
105
+ sm: "text-xs",
106
+ md: "text-sm",
107
+ lg: "text-base"
108
+ }
109
+ },
110
+ defaultVariants: { size: "md" }
111
+ });
112
+ var CardSizeContext = react.createContext("md");
113
+ function useCardSize() {
114
+ return react.useContext(CardSizeContext);
115
+ }
116
+ function CardBase({
117
+ className,
118
+ appearance,
119
+ size = "md",
120
+ rounded,
121
+ children,
122
+ ref,
123
+ as: Wrapper = "article",
124
+ ...rest
125
+ }) {
126
+ const ctx = react.useMemo(() => size ?? "md", [size]);
127
+ return /* @__PURE__ */ jsxRuntime.jsx(CardSizeContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
128
+ Wrapper,
129
+ {
130
+ ref,
131
+ "data-slot": "card",
132
+ className: chunkUOZYPWDZ_js.cn(cardVariants({ appearance, size, rounded }), className),
133
+ ...rest,
134
+ children
135
+ }
136
+ ) });
137
+ }
138
+ CardBase.displayName = "Card";
139
+ function CardHeader({ className, children }) {
140
+ const size = useCardSize();
141
+ return /* @__PURE__ */ jsxRuntime.jsx(
142
+ "header",
143
+ {
144
+ "data-slot": "card-header",
145
+ className: chunkUOZYPWDZ_js.cn(cardHeaderVariants({ size }), className),
146
+ children
147
+ }
148
+ );
149
+ }
150
+ CardHeader.displayName = "CardHeader";
151
+ function CardBody({ className, children }) {
152
+ return /* @__PURE__ */ jsxRuntime.jsx(
153
+ "div",
154
+ {
155
+ "data-slot": "card-body",
156
+ className: chunkUOZYPWDZ_js.cn("flex flex-1 flex-col gap-2", className),
157
+ children
158
+ }
159
+ );
160
+ }
161
+ CardBody.displayName = "CardBody";
162
+ function CardFooter({ className, children }) {
163
+ const size = useCardSize();
164
+ return /* @__PURE__ */ jsxRuntime.jsx(
165
+ "footer",
166
+ {
167
+ "data-slot": "card-footer",
168
+ className: chunkUOZYPWDZ_js.cn(cardFooterVariants({ size }), className),
169
+ children
170
+ }
171
+ );
172
+ }
173
+ CardFooter.displayName = "CardFooter";
174
+ function CardTitle({
175
+ className,
176
+ children,
177
+ as = "h3",
178
+ ref,
179
+ ...rest
180
+ }) {
181
+ const size = useCardSize();
182
+ const Tag = as;
183
+ return /* @__PURE__ */ jsxRuntime.jsx(
184
+ Tag,
185
+ {
186
+ ref,
187
+ "data-slot": "card-title",
188
+ className: chunkUOZYPWDZ_js.cn(cardTitleVariants({ size }), className),
189
+ ...rest,
190
+ children
191
+ }
192
+ );
193
+ }
194
+ CardTitle.displayName = "CardTitle";
195
+ function CardDescription({
196
+ className,
197
+ children,
198
+ as = "p",
199
+ ref,
200
+ ...rest
201
+ }) {
202
+ const size = useCardSize();
203
+ const Tag = as;
204
+ return /* @__PURE__ */ jsxRuntime.jsx(
205
+ Tag,
206
+ {
207
+ ref,
208
+ "data-slot": "card-description",
209
+ className: chunkUOZYPWDZ_js.cn(cardDescriptionVariants({ size }), className),
210
+ ...rest,
211
+ children
212
+ }
213
+ );
214
+ }
215
+ CardDescription.displayName = "CardDescription";
216
+
217
+ exports.CardBase = CardBase;
218
+ exports.CardBody = CardBody;
219
+ exports.CardDescription = CardDescription;
220
+ exports.CardFooter = CardFooter;
221
+ exports.CardHeader = CardHeader;
222
+ exports.CardTitle = CardTitle;
223
+ exports.cardDescriptionVariants = cardDescriptionVariants;
224
+ exports.cardFooterVariants = cardFooterVariants;
225
+ exports.cardHeaderVariants = cardHeaderVariants;
226
+ exports.cardTitleVariants = cardTitleVariants;
227
+ exports.cardVariants = cardVariants;
228
+ //# sourceMappingURL=chunk-UOFTZKMM.js.map
229
+ //# sourceMappingURL=chunk-UOFTZKMM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/card/variants.ts","../src/ui/card/card-base.tsx"],"names":["cva","createContext","useContext","useMemo","jsx","cn"],"mappings":"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","file":"chunk-UOFTZKMM.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const cardVariants = cva(\n [\n \"relative flex w-full flex-col overflow-hidden text-slate-50\",\n \"ring-offset-slate-950 transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"border border-white/10 bg-white/5 shadow-[0_1px_2px_rgba(15,23,42,0.12)]\",\n glass:\n \"border border-white/15 bg-white/10 backdrop-blur-md shadow-[0_18px_48px_rgba(15,23,42,0.35)]\",\n outline: \"border border-white/15 bg-transparent\",\n ghost: \"border border-transparent bg-transparent\",\n elevated:\n \"border border-white/10 bg-slate-900/80 shadow-[0_24px_64px_rgba(15,23,42,0.45)]\",\n sky: \"border border-sky-600 bg-sky-950/70 backdrop-blur-xl\",\n rose: \"border border-rose-600 bg-rose-950/70 backdrop-blur-xl\",\n purple: \"border border-purple-600 bg-purple-950/70 backdrop-blur-xl\",\n pink: \"border border-pink-600 bg-pink-950/70 backdrop-blur-xl\",\n orange: \"border border-orange-600 bg-orange-950/70 backdrop-blur-xl\",\n yellow: \"border border-yellow-600 bg-yellow-950/70 backdrop-blur-xl\",\n teal: \"border border-teal-600 bg-teal-950/70 backdrop-blur-xl\",\n indigo: \"border border-indigo-600 bg-indigo-950/70 backdrop-blur-xl\",\n emerald: \"border border-emerald-600 bg-emerald-950/70 backdrop-blur-xl\",\n gray: \"border border-gray-600 bg-gray-950/70 backdrop-blur-xl\",\n amber: \"border border-amber-600 bg-amber-950/70 backdrop-blur-xl\",\n violet: \"border border-violet-600 bg-violet-950/70 backdrop-blur-xl\",\n \"gradient-blue\":\n \"border border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"border border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"border border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"border border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"border border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"border border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"border border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"border border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"border border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"gap-2 p-3 text-sm\",\n md: \"gap-3 p-4 text-sm\",\n lg: \"gap-4 p-6 text-base\",\n },\n rounded: {\n sm: \"rounded-lg\",\n md: \"rounded-xl\",\n lg: \"rounded-2xl\",\n full: \"rounded-3xl\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n },\n },\n);\n\nexport const cardHeaderVariants = cva(\n \"flex flex-col gap-1 border-b border-white/10 pb-3\",\n {\n variants: {\n size: {\n sm: \"pb-2\",\n md: \"pb-3\",\n lg: \"pb-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardFooterVariants = cva(\n \"flex flex-col gap-2 border-t border-white/10 pt-3\",\n {\n variants: {\n size: {\n sm: \"pt-2\",\n md: \"pt-3\",\n lg: \"pt-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardTitleVariants = cva(\n \"font-semibold tracking-tight text-slate-50\",\n {\n variants: {\n size: {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cardDescriptionVariants = cva(\"text-slate-400\", {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useMemo,\n type ElementType,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n CardBaseProps,\n CardDescriptionProps,\n CardSectionProps,\n CardSize,\n CardTitleProps,\n} from \"./types\";\nimport {\n cardDescriptionVariants,\n cardFooterVariants,\n cardHeaderVariants,\n cardTitleVariants,\n cardVariants,\n} from \"./variants\";\n\nconst CardSizeContext = createContext<CardSize>(\"md\");\n\nfunction useCardSize(): CardSize {\n return useContext(CardSizeContext);\n}\n\nexport function CardBase({\n className,\n appearance,\n size = \"md\",\n rounded,\n children,\n ref,\n as: Wrapper = \"article\",\n ...rest\n}: CardBaseProps) {\n const ctx = useMemo(() => size ?? \"md\", [size]);\n\n return (\n <CardSizeContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"card\"\n className={cn(cardVariants({ appearance, size, rounded }), className)}\n {...rest}\n >\n {children}\n </Wrapper>\n </CardSizeContext.Provider>\n );\n}\n\nCardBase.displayName = \"Card\";\n\nexport function CardHeader({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <header\n data-slot=\"card-header\"\n className={cn(cardHeaderVariants({ size }), className)}\n >\n {children}\n </header>\n );\n}\n\nCardHeader.displayName = \"CardHeader\";\n\nexport function CardBody({ className, children }: CardSectionProps) {\n return (\n <div\n data-slot=\"card-body\"\n className={cn(\"flex flex-1 flex-col gap-2\", className)}\n >\n {children}\n </div>\n );\n}\n\nCardBody.displayName = \"CardBody\";\n\nexport function CardFooter({ className, children }: CardSectionProps) {\n const size = useCardSize();\n return (\n <footer\n data-slot=\"card-footer\"\n className={cn(cardFooterVariants({ size }), className)}\n >\n {children}\n </footer>\n );\n}\n\nCardFooter.displayName = \"CardFooter\";\n\nexport function CardTitle({\n className,\n children,\n as = \"h3\",\n ref,\n ...rest\n}: CardTitleProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-title\"\n className={cn(cardTitleVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardTitle.displayName = \"CardTitle\";\n\nexport function CardDescription({\n className,\n children,\n as = \"p\",\n ref,\n ...rest\n}: CardDescriptionProps) {\n const size = useCardSize();\n const Tag = as as ElementType;\n return (\n <Tag\n ref={ref as never}\n data-slot=\"card-description\"\n className={cn(cardDescriptionVariants({ size }), className)}\n {...rest}\n >\n {children}\n </Tag>\n );\n}\n\nCardDescription.displayName = \"CardDescription\";\n"]}