@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,56 @@
1
+ "use client";
2
+ import { AccordionBase, useAccordionItemValue, useAccordionContext, accordionContentVariants } from '../../chunk-UBFKTC2P.mjs';
3
+ export { AccordionItem, AccordionTrigger } from '../../chunk-UBFKTC2P.mjs';
4
+ import { cn } from '../../chunk-DFEZH7TC.mjs';
5
+ import { jsx } from 'react/jsx-runtime';
6
+ import { motion } from 'framer-motion';
7
+
8
+ function Accordion(props) {
9
+ return /* @__PURE__ */ jsx(AccordionBase, { ...props });
10
+ }
11
+ Accordion.displayName = "Accordion";
12
+
13
+ // src/ui/accordion/animated/animations.ts
14
+ var accordionContentTransitionPresets = {
15
+ none: { duration: 0 },
16
+ default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
17
+ smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
18
+ slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
19
+ };
20
+ function AccordionContentAnimated({
21
+ className,
22
+ children,
23
+ transitionVariant = "default",
24
+ ref
25
+ }) {
26
+ const itemValue = useAccordionItemValue("AccordionContent");
27
+ const {
28
+ isOpen,
29
+ size
30
+ } = useAccordionContext("AccordionContent");
31
+ const open = isOpen(itemValue);
32
+ const panelId = `${itemValue}-panel`;
33
+ const transitionConfig = accordionContentTransitionPresets[transitionVariant];
34
+ const motionless = transitionVariant === "none";
35
+ return open ? /* @__PURE__ */ jsx(
36
+ motion.div,
37
+ {
38
+ ref,
39
+ id: panelId,
40
+ role: "region",
41
+ "data-slot": "accordion-content",
42
+ className: cn(accordionContentVariants({ size }), className),
43
+ initial: motionless ? false : { opacity: 0 },
44
+ animate: motionless ? void 0 : { opacity: 1 },
45
+ exit: motionless ? void 0 : { opacity: 0 },
46
+ transition: transitionConfig,
47
+ children
48
+ },
49
+ itemValue
50
+ ) : null;
51
+ }
52
+ AccordionContentAnimated.displayName = "AccordionContentAnimated";
53
+
54
+ export { Accordion, AccordionContentAnimated, accordionContentTransitionPresets };
55
+ //# sourceMappingURL=animated.mjs.map
56
+ //# sourceMappingURL=animated.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/ui/accordion/animated/accordion-root-animated.tsx","../../../src/ui/accordion/animated/animations.ts","../../../src/ui/accordion/animated/accordion-content-animated.tsx"],"names":["jsx"],"mappings":";;;;;;AAKO,SAAS,UAAU,KAAA,EAA+B;AACvD,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AACnC;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;;;ACCjB,IAAM,iCAAA,GAAgE;AAAA,EAC3E,IAAA,EAAM,EAAE,QAAA,EAAU,CAAA,EAAE;AAAA,EACpB,OAAA,EAAS,EAAE,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA,EAAE;AAAA,EACjD,MAAA,EAAQ,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,CAAC,CAAA,EAAE;AAAA,EACnD,IAAA,EAAM,EAAE,QAAA,EAAU,IAAA,EAAM,IAAA,EAAM,CAAC,GAAA,EAAK,CAAA,EAAG,GAAA,EAAK,CAAC,CAAA;AAC/C;ACJO,SAAS,wBAAA,CAAyB;AAAA,EACvC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA,GAAoB,SAAA;AAAA,EACpB;AACF,CAAA,EAAkC;AAChC,EAAA,MAAM,SAAA,GAAY,sBAAsB,kBAAkB,CAAA;AAC1D,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA;AAAA,GACF,GAAI,oBAAoB,kBAAkB,CAAA;AAC1C,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,MAAM,OAAA,GAAU,GAAG,SAAS,CAAA,MAAA,CAAA;AAC5B,EAAA,MAAM,gBAAA,GAAmB,kCAAkC,iBAAiB,CAAA;AAC5E,EAAA,MAAM,aAAa,iBAAA,KAAsB,MAAA;AAEzC,EAAA,OAAO,uBACLA,GAAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MAEC,GAAA;AAAA,MACA,EAAA,EAAI,OAAA;AAAA,MACJ,IAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,mBAAA;AAAA,MACV,WAAW,EAAA,CAAG,wBAAA,CAAyB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAC3D,OAAA,EAAS,UAAA,GAAa,KAAA,GAAQ,EAAE,SAAS,CAAA,EAAE;AAAA,MAC3C,OAAA,EAAS,UAAA,GAAa,MAAA,GAAY,EAAE,SAAS,CAAA,EAAE;AAAA,MAC/C,IAAA,EAAM,UAAA,GAAa,MAAA,GAAY,EAAE,SAAS,CAAA,EAAE;AAAA,MAC5C,UAAA,EAAY,gBAAA;AAAA,MAEX;AAAA,KAAA;AAAA,IAXI;AAAA,GAYP,GACE,IAAA;AACN;AAEA,wBAAA,CAAyB,WAAA,GAAc,0BAAA","file":"animated.mjs","sourcesContent":["\"use client\";\n\nimport { AccordionBase } from \"../accordion-base\";\nimport type { AccordionAnimatedProps } from \"./types\";\n\nexport function Accordion(props: AccordionAnimatedProps) {\n return <AccordionBase {...props} />;\n}\n\nAccordion.displayName = \"Accordion\";\n","import type { Transition } from \"framer-motion\";\n\n/** Easing and duration presets for accordion panel open/close (opacity only). */\nexport type AccordionTransition = \"none\" | \"default\" | \"smooth\" | \"slow\";\n\nexport type AccordionTransitionPresets = Record<\n AccordionTransition,\n Transition\n>;\n\nexport const accordionContentTransitionPresets: AccordionTransitionPresets = {\n none: { duration: 0 },\n default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },\n smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },\n slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] },\n};\n","\"use client\";\n\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../../lib/utils\";\n\nimport { accordionContentTransitionPresets } from \"./animations\";\nimport { useAccordionContext, useAccordionItemValue } from \"../accordion-base\";\nimport { accordionContentVariants } from \"../variants\";\nimport { AccordionContentAnimatedProps } from \"./types\";\n\nexport function AccordionContentAnimated({\n className,\n children,\n transitionVariant = \"default\",\n ref,\n}: AccordionContentAnimatedProps) {\n const itemValue = useAccordionItemValue(\"AccordionContent\");\n const {\n isOpen,\n size,\n } = useAccordionContext(\"AccordionContent\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const transitionConfig = accordionContentTransitionPresets[transitionVariant];\n const motionless = transitionVariant === \"none\";\n\n return open ? (\n <motion.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 initial={motionless ? false : { opacity: 0 }}\n animate={motionless ? undefined : { opacity: 1 }}\n exit={motionless ? undefined : { opacity: 0 }}\n transition={transitionConfig}\n >\n {children}\n </motion.div>\n ) : null;\n}\n\nAccordionContentAnimated.displayName = \"AccordionContentAnimated\";\n"]}
@@ -1,70 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { VariantProps } from 'class-variance-authority';
3
- import { ReactNode, HTMLAttributes, Ref } from 'react';
4
- import { Transition } from 'framer-motion';
5
- import * as class_variance_authority_types from 'class-variance-authority/types';
6
-
7
- /** Easing and duration presets for accordion panel open/close (opacity only). */
8
- type AccordionTransition = "none" | "default" | "smooth" | "slow";
9
- type AccordionTransitionPresets = Record<AccordionTransition, Transition>;
10
- declare const accordionContentTransitionPresets: AccordionTransitionPresets;
11
-
12
- declare const accordionVariants: (props?: ({
13
- appearance?: "default" | "outline" | "ghost" | "card" | "separated" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
14
- size?: "sm" | "md" | "lg" | null | undefined;
15
- } & class_variance_authority_types.ClassProp) | undefined) => string;
16
- declare const accordionItemVariants: (props?: ({
17
- appearance?: "default" | "outline" | "ghost" | "card" | "separated" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
18
- } & class_variance_authority_types.ClassProp) | undefined) => string;
19
- declare const accordionTriggerVariants: (props?: ({
20
- size?: "sm" | "md" | "lg" | null | undefined;
21
- } & class_variance_authority_types.ClassProp) | undefined) => string;
22
- declare const accordionContentVariants: (props?: ({
23
- size?: "sm" | "md" | "lg" | null | undefined;
24
- } & class_variance_authority_types.ClassProp) | undefined) => string;
25
-
26
- type AccordionVariantProps = VariantProps<typeof accordionVariants>;
27
- type AccordionType = "single" | "multiple";
28
- type AccordionProps = AccordionVariantProps & {
29
- transition?: AccordionTransition;
30
- type?: AccordionType;
31
- /** Controlled value for `single` mode. */
32
- value?: string;
33
- /** Controlled values for `multiple` mode. */
34
- values?: string[];
35
- defaultValue?: string;
36
- defaultValues?: string[];
37
- onValueChange?: (value: string | undefined) => void;
38
- onValuesChange?: (values: string[]) => void;
39
- className?: string;
40
- children?: ReactNode;
41
- };
42
- type AccordionItemProps = HTMLAttributes<HTMLDivElement> & {
43
- value: string;
44
- ref?: Ref<HTMLDivElement>;
45
- };
46
- type AccordionTriggerProps = HTMLAttributes<HTMLButtonElement> & {
47
- ref?: Ref<HTMLButtonElement>;
48
- };
49
- type AccordionContentProps = HTMLAttributes<HTMLDivElement> & {
50
- ref?: Ref<HTMLDivElement>;
51
- };
52
-
53
- declare function Accordion({ type, value, values, defaultValue, defaultValues, onValueChange, onValuesChange, transition, appearance, size, className, children, }: AccordionProps): react_jsx_runtime.JSX.Element;
2
+ import { A as AccordionProps } from '../accordion-base-qVomr7f_.mjs';
3
+ export { a as AccordionBaseProps, b as AccordionContent, c as AccordionContentProps, d as AccordionItem, e as AccordionItemProps, f as AccordionTransition, g as AccordionTrigger, h as AccordionTriggerProps, i as AccordionType, j as accordionContentVariants, k as accordionItemVariants, l as accordionTriggerVariants, m as accordionVariants } from '../accordion-base-qVomr7f_.mjs';
4
+ import 'framer-motion';
5
+ import 'class-variance-authority';
6
+ import 'react';
7
+ import 'class-variance-authority/types';
8
+
9
+ declare function Accordion(props: AccordionProps): react_jsx_runtime.JSX.Element;
54
10
  declare namespace Accordion {
55
11
  var displayName: string;
56
12
  }
57
- declare function AccordionItem({ className, value, children, ref, ...rest }: AccordionItemProps): react_jsx_runtime.JSX.Element;
58
- declare namespace AccordionItem {
59
- var displayName: string;
60
- }
61
- declare function AccordionTrigger({ className, children, ref, ...rest }: AccordionTriggerProps): react_jsx_runtime.JSX.Element;
62
- declare namespace AccordionTrigger {
63
- var displayName: string;
64
- }
65
- declare function AccordionContent({ className, children, ref, }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
66
- declare namespace AccordionContent {
67
- var displayName: string;
68
- }
69
13
 
70
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, type AccordionTransition, AccordionTrigger, type AccordionTriggerProps, type AccordionType, accordionContentTransitionPresets, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants };
14
+ export { Accordion, AccordionProps };
@@ -1,70 +1,14 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { VariantProps } from 'class-variance-authority';
3
- import { ReactNode, HTMLAttributes, Ref } from 'react';
4
- import { Transition } from 'framer-motion';
5
- import * as class_variance_authority_types from 'class-variance-authority/types';
6
-
7
- /** Easing and duration presets for accordion panel open/close (opacity only). */
8
- type AccordionTransition = "none" | "default" | "smooth" | "slow";
9
- type AccordionTransitionPresets = Record<AccordionTransition, Transition>;
10
- declare const accordionContentTransitionPresets: AccordionTransitionPresets;
11
-
12
- declare const accordionVariants: (props?: ({
13
- appearance?: "default" | "outline" | "ghost" | "card" | "separated" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
14
- size?: "sm" | "md" | "lg" | null | undefined;
15
- } & class_variance_authority_types.ClassProp) | undefined) => string;
16
- declare const accordionItemVariants: (props?: ({
17
- appearance?: "default" | "outline" | "ghost" | "card" | "separated" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
18
- } & class_variance_authority_types.ClassProp) | undefined) => string;
19
- declare const accordionTriggerVariants: (props?: ({
20
- size?: "sm" | "md" | "lg" | null | undefined;
21
- } & class_variance_authority_types.ClassProp) | undefined) => string;
22
- declare const accordionContentVariants: (props?: ({
23
- size?: "sm" | "md" | "lg" | null | undefined;
24
- } & class_variance_authority_types.ClassProp) | undefined) => string;
25
-
26
- type AccordionVariantProps = VariantProps<typeof accordionVariants>;
27
- type AccordionType = "single" | "multiple";
28
- type AccordionProps = AccordionVariantProps & {
29
- transition?: AccordionTransition;
30
- type?: AccordionType;
31
- /** Controlled value for `single` mode. */
32
- value?: string;
33
- /** Controlled values for `multiple` mode. */
34
- values?: string[];
35
- defaultValue?: string;
36
- defaultValues?: string[];
37
- onValueChange?: (value: string | undefined) => void;
38
- onValuesChange?: (values: string[]) => void;
39
- className?: string;
40
- children?: ReactNode;
41
- };
42
- type AccordionItemProps = HTMLAttributes<HTMLDivElement> & {
43
- value: string;
44
- ref?: Ref<HTMLDivElement>;
45
- };
46
- type AccordionTriggerProps = HTMLAttributes<HTMLButtonElement> & {
47
- ref?: Ref<HTMLButtonElement>;
48
- };
49
- type AccordionContentProps = HTMLAttributes<HTMLDivElement> & {
50
- ref?: Ref<HTMLDivElement>;
51
- };
52
-
53
- declare function Accordion({ type, value, values, defaultValue, defaultValues, onValueChange, onValuesChange, transition, appearance, size, className, children, }: AccordionProps): react_jsx_runtime.JSX.Element;
2
+ import { A as AccordionProps } from '../accordion-base-qVomr7f_.js';
3
+ export { a as AccordionBaseProps, b as AccordionContent, c as AccordionContentProps, d as AccordionItem, e as AccordionItemProps, f as AccordionTransition, g as AccordionTrigger, h as AccordionTriggerProps, i as AccordionType, j as accordionContentVariants, k as accordionItemVariants, l as accordionTriggerVariants, m as accordionVariants } from '../accordion-base-qVomr7f_.js';
4
+ import 'framer-motion';
5
+ import 'class-variance-authority';
6
+ import 'react';
7
+ import 'class-variance-authority/types';
8
+
9
+ declare function Accordion(props: AccordionProps): react_jsx_runtime.JSX.Element;
54
10
  declare namespace Accordion {
55
11
  var displayName: string;
56
12
  }
57
- declare function AccordionItem({ className, value, children, ref, ...rest }: AccordionItemProps): react_jsx_runtime.JSX.Element;
58
- declare namespace AccordionItem {
59
- var displayName: string;
60
- }
61
- declare function AccordionTrigger({ className, children, ref, ...rest }: AccordionTriggerProps): react_jsx_runtime.JSX.Element;
62
- declare namespace AccordionTrigger {
63
- var displayName: string;
64
- }
65
- declare function AccordionContent({ className, children, ref, }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
66
- declare namespace AccordionContent {
67
- var displayName: string;
68
- }
69
13
 
70
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, type AccordionTransition, AccordionTrigger, type AccordionTriggerProps, type AccordionType, accordionContentTransitionPresets, accordionContentVariants, accordionItemVariants, accordionTriggerVariants, accordionVariants };
14
+ export { Accordion, AccordionProps };
@@ -1,299 +1,43 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkUOZYPWDZ_js = require('../chunk-UOZYPWDZ.js');
5
- var framerMotion = require('framer-motion');
6
- var react = require('react');
7
- var classVarianceAuthority = require('class-variance-authority');
4
+ var chunkC2FCPQTO_js = require('../chunk-C2FCPQTO.js');
5
+ require('../chunk-UOZYPWDZ.js');
8
6
  var jsxRuntime = require('react/jsx-runtime');
9
7
 
10
- // src/ui/accordion/animations.ts
11
- var accordionContentTransitionPresets = {
12
- none: { duration: 0 },
13
- default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
14
- smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
15
- slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
16
- };
17
- var accordionVariants = classVarianceAuthority.cva("w-full", {
18
- variants: {
19
- appearance: {
20
- default: "divide-y divide-white/10 rounded-xl border border-white/10",
21
- outline: "divide-y divide-white/10 rounded-xl border border-white/15",
22
- ghost: "divide-y divide-white/5",
23
- card: "space-y-2",
24
- separated: "space-y-3",
25
- sky: "divide-y divide-sky-600 rounded-xl border border-sky-600",
26
- rose: "divide-y divide-rose-600 rounded-xl border border-rose-600",
27
- purple: "divide-y divide-purple-600 rounded-xl border border-purple-600",
28
- pink: "divide-y divide-pink-600 rounded-xl border border-pink-600",
29
- orange: "divide-y divide-orange-600 rounded-xl border border-orange-600",
30
- yellow: "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
31
- teal: "divide-y divide-teal-600 rounded-xl border border-teal-600",
32
- indigo: "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
33
- emerald: "divide-y divide-emerald-600 rounded-xl border border-emerald-600",
34
- "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",
35
- "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",
36
- "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",
37
- "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",
38
- "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",
39
- "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",
40
- "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",
41
- "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",
42
- "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"
43
- },
44
- size: {
45
- sm: "px-3 py-2 text-sm",
46
- md: "px-4 py-3 text-sm",
47
- lg: "px-5 py-4 text-base"
48
- }
49
- },
50
- defaultVariants: {
51
- appearance: "default",
52
- size: "md"
53
- }
54
- });
55
- var accordionItemVariants = classVarianceAuthority.cva("", {
56
- variants: {
57
- appearance: {
58
- default: "",
59
- outline: "",
60
- ghost: "",
61
- card: "rounded-xl border border-white/10 bg-white/[0.03] p-2",
62
- separated: "rounded-xl border border-white/10 bg-slate-950/40 p-2",
63
- sky: "rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2",
64
- rose: "rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2",
65
- purple: "rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2",
66
- pink: "rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2",
67
- orange: "rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2",
68
- yellow: "rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2",
69
- teal: "rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2",
70
- indigo: "rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2",
71
- emerald: "rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2",
72
- "gradient-blue": "rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white",
73
- "gradient-green": "rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white",
74
- "gradient-red": "rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white",
75
- "gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white",
76
- "gradient-purple": "rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white",
77
- "gradient-teal": "rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white",
78
- "gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white",
79
- "gradient-pink": "rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white",
80
- "gradient-orange": "rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white"
81
- }
82
- },
83
- defaultVariants: { appearance: "default" }
84
- });
85
- var accordionTriggerVariants = classVarianceAuthority.cva(
86
- "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",
87
- {
88
- variants: {
89
- size: {
90
- sm: "py-2 text-sm",
91
- md: "py-3 text-sm",
92
- lg: "py-4 text-base"
93
- }
94
- },
95
- defaultVariants: { size: "md" }
96
- }
97
- );
98
- var accordionContentVariants = classVarianceAuthority.cva("pb-3 text-sm", {
99
- variants: {
100
- size: {
101
- sm: "pb-2 text-xs",
102
- md: "pb-3 text-sm",
103
- lg: "pb-4 text-base"
104
- }
105
- },
106
- defaultVariants: { size: "md" }
107
- });
108
- var AccordionContext = react.createContext(null);
109
- var AccordionItemValueContext = react.createContext(null);
110
- function useAccordionContext(component) {
111
- const ctx = react.useContext(AccordionContext);
112
- if (!ctx) {
113
- throw new Error(`${component} must be used within <Accordion>`);
114
- }
115
- return ctx;
116
- }
117
- function useAccordionItemValue(component) {
118
- const value = react.useContext(AccordionItemValueContext);
119
- if (!value) {
120
- throw new Error(`${component} must be used within <AccordionItem>`);
121
- }
122
- return value;
123
- }
124
- function Accordion({
125
- type = "single",
126
- value,
127
- values,
128
- defaultValue,
129
- defaultValues,
130
- onValueChange,
131
- onValuesChange,
132
- transition = "default",
133
- appearance = "default",
134
- size = "md",
135
- className,
136
- children
137
- }) {
138
- const isSingleControlled = value !== void 0;
139
- const isMultipleControlled = values !== void 0;
140
- const [singleUncontrolled, setSingleUncontrolled] = react.useState(defaultValue);
141
- const [multipleUncontrolled, setMultipleUncontrolled] = react.useState(
142
- defaultValues ?? []
143
- );
144
- const singleValue = isSingleControlled ? value : singleUncontrolled;
145
- const multipleValues = react.useMemo(
146
- () => isMultipleControlled ? values ?? [] : multipleUncontrolled,
147
- [isMultipleControlled, values, multipleUncontrolled]
148
- );
149
- const isOpen = react.useCallback(
150
- (itemValue) => {
151
- if (type === "single") {
152
- return singleValue === itemValue;
153
- }
154
- return multipleValues.includes(itemValue);
155
- },
156
- [multipleValues, singleValue, type]
157
- );
158
- const toggle = react.useCallback(
159
- (itemValue) => {
160
- if (type === "single") {
161
- const next2 = singleValue === itemValue ? void 0 : itemValue;
162
- if (!isSingleControlled) {
163
- setSingleUncontrolled(next2);
164
- }
165
- onValueChange?.(next2);
166
- return;
167
- }
168
- const exists = multipleValues.includes(itemValue);
169
- const next = exists ? multipleValues.filter((entry) => entry !== itemValue) : [...multipleValues, itemValue];
170
- if (!isMultipleControlled) {
171
- setMultipleUncontrolled(next);
172
- }
173
- onValuesChange?.(next);
174
- },
175
- [
176
- isMultipleControlled,
177
- isSingleControlled,
178
- multipleValues,
179
- onValueChange,
180
- onValuesChange,
181
- singleValue,
182
- type
183
- ]
184
- );
185
- const ctx = react.useMemo(
186
- () => ({
187
- type,
188
- transition: transition ?? "default",
189
- appearance: appearance ?? "default",
190
- size: size ?? "md",
191
- isOpen,
192
- toggle
193
- }),
194
- [appearance, isOpen, size, toggle, transition, type]
195
- );
196
- return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
197
- "div",
198
- {
199
- "data-slot": "accordion",
200
- className: chunkUOZYPWDZ_js.cn(accordionVariants({ appearance, size }), className),
201
- children
202
- }
203
- ) });
8
+ function Accordion(props) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkC2FCPQTO_js.AccordionBase, { ...props });
204
10
  }
205
11
  Accordion.displayName = "Accordion";
206
- function AccordionItem({
207
- className,
208
- value,
209
- children,
210
- ref,
211
- ...rest
212
- }) {
213
- const { appearance } = useAccordionContext("AccordionItem");
214
- return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemValueContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(
215
- "div",
216
- {
217
- ref,
218
- "data-slot": "accordion-item",
219
- "data-value": value,
220
- className: chunkUOZYPWDZ_js.cn(accordionItemVariants({ appearance }), className),
221
- ...rest,
222
- children
223
- }
224
- ) });
225
- }
226
- AccordionItem.displayName = "AccordionItem";
227
- function AccordionTrigger({
228
- className,
229
- children,
230
- ref,
231
- ...rest
232
- }) {
233
- const itemValue = useAccordionItemValue("AccordionTrigger");
234
- const { isOpen, toggle, size } = useAccordionContext("AccordionTrigger");
235
- const open = isOpen(itemValue);
236
- const panelId = `${itemValue}-panel`;
237
- const baseId = react.useId();
238
- return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0", children: /* @__PURE__ */ jsxRuntime.jsx(
239
- "button",
240
- {
241
- ref,
242
- type: "button",
243
- "data-slot": "accordion-trigger",
244
- id: `${baseId}-trigger-${itemValue}`,
245
- "aria-expanded": open,
246
- "aria-controls": panelId,
247
- className: chunkUOZYPWDZ_js.cn(accordionTriggerVariants({ size }), className),
248
- onClick: () => toggle(itemValue),
249
- ...rest,
250
- children
251
- }
252
- ) });
253
- }
254
- AccordionTrigger.displayName = "AccordionTrigger";
255
- function AccordionContent({
256
- className,
257
- children,
258
- ref
259
- }) {
260
- const itemValue = useAccordionItemValue("AccordionContent");
261
- const {
262
- isOpen,
263
- transition: transitionVariant,
264
- size
265
- } = useAccordionContext("AccordionContent");
266
- const open = isOpen(itemValue);
267
- const panelId = `${itemValue}-panel`;
268
- const transitionConfig = accordionContentTransitionPresets[transitionVariant];
269
- const motionless = transitionVariant === "none";
270
- return open ? /* @__PURE__ */ jsxRuntime.jsx(
271
- framerMotion.motion.div,
272
- {
273
- ref,
274
- id: panelId,
275
- role: "region",
276
- "data-slot": "accordion-content",
277
- className: chunkUOZYPWDZ_js.cn(accordionContentVariants({ size }), className),
278
- initial: motionless ? false : { opacity: 0 },
279
- animate: motionless ? void 0 : { opacity: 1 },
280
- exit: motionless ? void 0 : { opacity: 0 },
281
- transition: transitionConfig,
282
- children
283
- },
284
- itemValue
285
- ) : null;
286
- }
287
- AccordionContent.displayName = "AccordionContent";
288
12
 
13
+ Object.defineProperty(exports, "AccordionContent", {
14
+ enumerable: true,
15
+ get: function () { return chunkC2FCPQTO_js.AccordionContent; }
16
+ });
17
+ Object.defineProperty(exports, "AccordionItem", {
18
+ enumerable: true,
19
+ get: function () { return chunkC2FCPQTO_js.AccordionItem; }
20
+ });
21
+ Object.defineProperty(exports, "AccordionTrigger", {
22
+ enumerable: true,
23
+ get: function () { return chunkC2FCPQTO_js.AccordionTrigger; }
24
+ });
25
+ Object.defineProperty(exports, "accordionContentVariants", {
26
+ enumerable: true,
27
+ get: function () { return chunkC2FCPQTO_js.accordionContentVariants; }
28
+ });
29
+ Object.defineProperty(exports, "accordionItemVariants", {
30
+ enumerable: true,
31
+ get: function () { return chunkC2FCPQTO_js.accordionItemVariants; }
32
+ });
33
+ Object.defineProperty(exports, "accordionTriggerVariants", {
34
+ enumerable: true,
35
+ get: function () { return chunkC2FCPQTO_js.accordionTriggerVariants; }
36
+ });
37
+ Object.defineProperty(exports, "accordionVariants", {
38
+ enumerable: true,
39
+ get: function () { return chunkC2FCPQTO_js.accordionVariants; }
40
+ });
289
41
  exports.Accordion = Accordion;
290
- exports.AccordionContent = AccordionContent;
291
- exports.AccordionItem = AccordionItem;
292
- exports.AccordionTrigger = AccordionTrigger;
293
- exports.accordionContentTransitionPresets = accordionContentTransitionPresets;
294
- exports.accordionContentVariants = accordionContentVariants;
295
- exports.accordionItemVariants = accordionItemVariants;
296
- exports.accordionTriggerVariants = accordionTriggerVariants;
297
- exports.accordionVariants = accordionVariants;
298
42
  //# sourceMappingURL=accordion.js.map
299
43
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/accordion/animations.ts","../../src/ui/accordion/variants.ts","../../src/ui/accordion/accordion.tsx"],"names":["cva","createContext","useContext","useState","useMemo","useCallback","next","jsx","cn","useId","motion"],"mappings":"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","file":"accordion.js","sourcesContent":["import type { Transition } from \"framer-motion\";\n\n/** Easing and duration presets for accordion panel open/close (opacity only). */\nexport type AccordionTransition = \"none\" | \"default\" | \"smooth\" | \"slow\";\n\nexport type AccordionTransitionPresets = Record<\n AccordionTransition,\n Transition\n>;\n\nexport const accordionContentTransitionPresets: AccordionTransitionPresets = {\n none: { duration: 0 },\n default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },\n smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },\n slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] },\n};\n","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\";\nimport { motion } from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { accordionContentTransitionPresets } from \"./animations\";\nimport type {\n AccordionContentProps,\n AccordionItemProps,\n AccordionProps,\n AccordionTriggerProps,\n AccordionCtx,\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\nfunction 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\nfunction 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 Accordion({\n type = \"single\",\n value,\n values,\n defaultValue,\n defaultValues,\n onValueChange,\n onValuesChange,\n transition = \"default\",\n appearance = \"default\",\n size = \"md\",\n className,\n children,\n}: AccordionProps) {\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 transition: transition ?? \"default\",\n appearance: appearance ?? \"default\",\n size: size ?? \"md\",\n isOpen,\n toggle,\n }),\n [appearance, isOpen, size, toggle, transition, 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\nAccordion.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 {\n isOpen,\n transition: transitionVariant,\n size,\n } = useAccordionContext(\"AccordionContent\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const transitionConfig = accordionContentTransitionPresets[transitionVariant];\n const motionless = transitionVariant === \"none\";\n\n return open ? (\n <motion.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 initial={motionless ? false : { opacity: 0 }}\n animate={motionless ? undefined : { opacity: 1 }}\n exit={motionless ? undefined : { opacity: 0 }}\n transition={transitionConfig}\n >\n {children}\n </motion.div>\n ) : null;\n}\n\nAccordionContent.displayName = \"AccordionContent\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/accordion/accordion.tsx"],"names":["jsx","AccordionBase"],"mappings":";;;;;;AAIO,SAAS,UAAU,KAAA,EAAuB;AAC/C,EAAA,uBAAOA,cAAA,CAACC,8BAAA,EAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AACnC;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"accordion.js","sourcesContent":["// accordion.tsx — default static entry (no framer-motion on content)\nimport { AccordionBase, AccordionContent, AccordionItem, AccordionTrigger } from \"./accordion-base\";\nimport type { AccordionProps } from \"./types\";\n\nexport function Accordion(props: AccordionProps) {\n return <AccordionBase {...props} />;\n}\n\nAccordion.displayName = \"Accordion\";\n\nexport { AccordionContent, AccordionItem, AccordionTrigger };\n"]}