@zentauri-ui/zentauri-components 0.0.84 → 0.0.92
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.
- package/README.md +47 -29
- package/dist/chunk-BZSIXBA7.js +70 -0
- package/dist/chunk-BZSIXBA7.js.map +1 -0
- package/dist/chunk-E5UX537J.js +11 -0
- package/dist/chunk-E5UX537J.js.map +1 -0
- package/dist/chunk-MEWYFWBX.mjs +14 -0
- package/dist/chunk-MEWYFWBX.mjs.map +1 -0
- package/dist/chunk-VJHD7QZH.mjs +73 -0
- package/dist/chunk-VJHD7QZH.mjs.map +1 -0
- package/dist/ui/accordion.d.mts +70 -0
- package/dist/ui/accordion.d.ts +70 -0
- package/dist/ui/accordion.js +280 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/accordion.mjs +282 -0
- package/dist/ui/accordion.mjs.map +1 -0
- package/dist/ui/alert.d.mts +66 -0
- package/dist/ui/alert.d.ts +66 -0
- package/dist/ui/alert.js +218 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/alert.mjs +220 -0
- package/dist/ui/alert.mjs.map +1 -0
- package/dist/ui/badge.d.mts +37 -0
- package/dist/ui/badge.d.ts +37 -0
- package/dist/ui/badge.js +159 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/badge.mjs +161 -0
- package/dist/ui/badge.mjs.map +1 -0
- package/dist/ui/buttons.d.mts +27 -0
- package/dist/ui/buttons.d.ts +27 -0
- package/dist/ui/buttons.js +107 -0
- package/dist/ui/buttons.js.map +1 -0
- package/dist/ui/buttons.mjs +109 -0
- package/dist/ui/buttons.mjs.map +1 -0
- package/dist/ui/card.d.mts +77 -0
- package/dist/ui/card.d.ts +77 -0
- package/dist/ui/card.js +252 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/card.mjs +254 -0
- package/dist/ui/card.mjs.map +1 -0
- package/dist/ui/divider.d.mts +39 -0
- package/dist/ui/divider.d.ts +39 -0
- package/dist/ui/divider.js +194 -0
- package/dist/ui/divider.js.map +1 -0
- package/dist/ui/divider.mjs +196 -0
- package/dist/ui/divider.mjs.map +1 -0
- package/dist/ui/drawer.d.mts +81 -0
- package/dist/ui/drawer.d.ts +81 -0
- package/dist/ui/drawer.js +377 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/drawer.mjs +379 -0
- package/dist/ui/drawer.mjs.map +1 -0
- package/dist/ui/dropdown.d.mts +50 -0
- package/dist/ui/dropdown.d.ts +50 -0
- package/dist/ui/dropdown.js +272 -0
- package/dist/ui/dropdown.js.map +1 -0
- package/dist/ui/dropdown.mjs +274 -0
- package/dist/ui/dropdown.mjs.map +1 -0
- package/dist/ui/empty-state.d.mts +55 -0
- package/dist/ui/empty-state.d.ts +55 -0
- package/dist/ui/empty-state.js +148 -0
- package/dist/ui/empty-state.js.map +1 -0
- package/dist/ui/empty-state.mjs +150 -0
- package/dist/ui/empty-state.mjs.map +1 -0
- package/dist/ui/inputs.d.mts +35 -0
- package/dist/ui/inputs.d.ts +35 -0
- package/dist/ui/inputs.js +426 -0
- package/dist/ui/inputs.js.map +1 -0
- package/dist/ui/inputs.mjs +428 -0
- package/dist/ui/inputs.mjs.map +1 -0
- package/dist/ui/modal.d.mts +84 -0
- package/dist/ui/modal.d.ts +84 -0
- package/dist/ui/modal.js +378 -0
- package/dist/ui/modal.js.map +1 -0
- package/dist/ui/modal.mjs +380 -0
- package/dist/ui/modal.mjs.map +1 -0
- package/dist/ui/pagination.d.mts +114 -0
- package/dist/ui/pagination.d.ts +114 -0
- package/dist/ui/pagination.js +425 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/pagination.mjs +427 -0
- package/dist/ui/pagination.mjs.map +1 -0
- package/dist/ui/progress.d.mts +61 -0
- package/dist/ui/progress.d.ts +61 -0
- package/dist/ui/progress.js +231 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/progress.mjs +233 -0
- package/dist/ui/progress.mjs.map +1 -0
- package/dist/ui/select.d.mts +73 -0
- package/dist/ui/select.d.ts +73 -0
- package/dist/ui/select.js +321 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/select.mjs +323 -0
- package/dist/ui/select.mjs.map +1 -0
- package/dist/ui/skeleton.d.mts +90 -0
- package/dist/ui/skeleton.d.ts +90 -0
- package/dist/ui/skeleton.js +538 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/skeleton.mjs +540 -0
- package/dist/ui/skeleton.mjs.map +1 -0
- package/dist/ui/spinner.d.mts +27 -0
- package/dist/ui/spinner.d.ts +27 -0
- package/dist/ui/spinner.js +187 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/spinner.mjs +189 -0
- package/dist/ui/spinner.mjs.map +1 -0
- package/dist/ui/table.d.mts +81 -0
- package/dist/ui/table.d.ts +81 -0
- package/dist/ui/table.js +287 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/table.mjs +289 -0
- package/dist/ui/table.mjs.map +1 -0
- package/dist/ui/tabs.d.mts +58 -0
- package/dist/ui/tabs.d.ts +58 -0
- package/dist/ui/tabs.js +268 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/tabs.mjs +270 -0
- package/dist/ui/tabs.mjs.map +1 -0
- package/dist/ui/toast.d.mts +86 -0
- package/dist/ui/toast.d.ts +86 -0
- package/dist/ui/toast.js +252 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toast.mjs +254 -0
- package/dist/ui/toast.mjs.map +1 -0
- package/dist/ui/toggle.d.mts +37 -0
- package/dist/ui/toggle.d.ts +37 -0
- package/dist/ui/toggle.js +152 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/toggle.mjs +154 -0
- package/dist/ui/toggle.mjs.map +1 -0
- package/dist/ui/tooltip.d.mts +46 -0
- package/dist/ui/tooltip.d.ts +46 -0
- package/dist/ui/tooltip.js +208 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/tooltip.mjs +210 -0
- package/dist/ui/tooltip.mjs.map +1 -0
- package/dist/variants-Dd9pe-ov.d.mts +8 -0
- package/dist/variants-Dd9pe-ov.d.ts +8 -0
- package/package.json +15 -14
- package/dist/ui/index.cjs +0 -5764
- package/dist/ui/index.cjs.map +0 -1
- package/dist/ui/index.d.cts +0 -1164
- package/dist/ui/index.d.ts +0 -1164
- package/dist/ui/index.js +0 -5626
- package/dist/ui/index.js.map +0 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
|
|
4
|
+
|
|
5
|
+
// src/ui/accordion/accordion.tsx
|
|
6
|
+
var _framermotion = require('framer-motion');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
var _react = require('react');
|
|
15
|
+
|
|
16
|
+
// src/ui/accordion/animations.ts
|
|
17
|
+
var accordionContentTransitionPresets = {
|
|
18
|
+
none: { duration: 0 },
|
|
19
|
+
default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
|
|
20
|
+
smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
|
|
21
|
+
slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// src/ui/accordion/variants.ts
|
|
25
|
+
var _classvarianceauthority = require('class-variance-authority');
|
|
26
|
+
var accordionVariants = _classvarianceauthority.cva.call(void 0, "w-full", {
|
|
27
|
+
variants: {
|
|
28
|
+
appearance: {
|
|
29
|
+
default: "divide-y divide-white/10 rounded-xl border border-white/10",
|
|
30
|
+
outline: "divide-y divide-white/10 rounded-xl border border-white/15",
|
|
31
|
+
ghost: "divide-y divide-white/5",
|
|
32
|
+
card: "space-y-2",
|
|
33
|
+
separated: "space-y-3",
|
|
34
|
+
sky: "divide-y divide-sky-600 rounded-xl border border-sky-600",
|
|
35
|
+
rose: "divide-y divide-rose-600 rounded-xl border border-rose-600",
|
|
36
|
+
purple: "divide-y divide-purple-600 rounded-xl border border-purple-600",
|
|
37
|
+
pink: "divide-y divide-pink-600 rounded-xl border border-pink-600",
|
|
38
|
+
orange: "divide-y divide-orange-600 rounded-xl border border-orange-600",
|
|
39
|
+
yellow: "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
|
|
40
|
+
teal: "divide-y divide-teal-600 rounded-xl border border-teal-600",
|
|
41
|
+
indigo: "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
|
|
42
|
+
emerald: "divide-y divide-emerald-600 rounded-xl border border-emerald-600",
|
|
43
|
+
"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",
|
|
44
|
+
"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",
|
|
45
|
+
"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",
|
|
46
|
+
"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",
|
|
47
|
+
"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",
|
|
48
|
+
"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",
|
|
49
|
+
"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",
|
|
50
|
+
"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",
|
|
51
|
+
"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"
|
|
52
|
+
},
|
|
53
|
+
size: {
|
|
54
|
+
sm: "px-3 py-2 text-sm",
|
|
55
|
+
md: "px-4 py-3 text-sm",
|
|
56
|
+
lg: "px-5 py-4 text-base"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
appearance: "default",
|
|
61
|
+
size: "md"
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
var accordionItemVariants = _classvarianceauthority.cva.call(void 0, "", {
|
|
65
|
+
variants: {
|
|
66
|
+
appearance: {
|
|
67
|
+
default: "",
|
|
68
|
+
outline: "",
|
|
69
|
+
ghost: "",
|
|
70
|
+
card: "rounded-xl border border-white/10 bg-white/[0.03] p-2",
|
|
71
|
+
separated: "rounded-xl border border-white/10 bg-slate-950/40 p-2",
|
|
72
|
+
sky: "rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2",
|
|
73
|
+
rose: "rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2",
|
|
74
|
+
purple: "rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2",
|
|
75
|
+
pink: "rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2",
|
|
76
|
+
orange: "rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2",
|
|
77
|
+
yellow: "rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2",
|
|
78
|
+
teal: "rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2",
|
|
79
|
+
indigo: "rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2",
|
|
80
|
+
emerald: "rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2",
|
|
81
|
+
"gradient-blue": "rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white",
|
|
82
|
+
"gradient-green": "rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white",
|
|
83
|
+
"gradient-red": "rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white",
|
|
84
|
+
"gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white",
|
|
85
|
+
"gradient-purple": "rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white",
|
|
86
|
+
"gradient-teal": "rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white",
|
|
87
|
+
"gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white",
|
|
88
|
+
"gradient-pink": "rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white",
|
|
89
|
+
"gradient-orange": "rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
defaultVariants: { appearance: "default" }
|
|
93
|
+
});
|
|
94
|
+
var accordionTriggerVariants = _classvarianceauthority.cva.call(void 0,
|
|
95
|
+
"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",
|
|
96
|
+
{
|
|
97
|
+
variants: {
|
|
98
|
+
size: {
|
|
99
|
+
sm: "py-2 text-sm",
|
|
100
|
+
md: "py-3 text-sm",
|
|
101
|
+
lg: "py-4 text-base"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
defaultVariants: { size: "md" }
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
var accordionContentVariants = _classvarianceauthority.cva.call(void 0, "pb-3 text-sm", {
|
|
108
|
+
variants: {
|
|
109
|
+
size: {
|
|
110
|
+
sm: "pb-2 text-xs",
|
|
111
|
+
md: "pb-3 text-sm",
|
|
112
|
+
lg: "pb-4 text-base"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
defaultVariants: { size: "md" }
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// src/ui/accordion/accordion.tsx
|
|
119
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
120
|
+
var AccordionContext = _react.createContext.call(void 0, null);
|
|
121
|
+
var AccordionItemValueContext = _react.createContext.call(void 0, null);
|
|
122
|
+
function useAccordionContext(component) {
|
|
123
|
+
const ctx = _react.useContext.call(void 0, AccordionContext);
|
|
124
|
+
if (!ctx) {
|
|
125
|
+
throw new Error(`${component} must be used within <Accordion>`);
|
|
126
|
+
}
|
|
127
|
+
return ctx;
|
|
128
|
+
}
|
|
129
|
+
function useAccordionItemValue(component) {
|
|
130
|
+
const value = _react.useContext.call(void 0, AccordionItemValueContext);
|
|
131
|
+
if (!value) {
|
|
132
|
+
throw new Error(`${component} must be used within <AccordionItem>`);
|
|
133
|
+
}
|
|
134
|
+
return value;
|
|
135
|
+
}
|
|
136
|
+
function Accordion({
|
|
137
|
+
type = "single",
|
|
138
|
+
value,
|
|
139
|
+
values,
|
|
140
|
+
defaultValue,
|
|
141
|
+
defaultValues,
|
|
142
|
+
onValueChange,
|
|
143
|
+
onValuesChange,
|
|
144
|
+
transition = "default",
|
|
145
|
+
appearance = "default",
|
|
146
|
+
size = "md",
|
|
147
|
+
className,
|
|
148
|
+
children
|
|
149
|
+
}) {
|
|
150
|
+
const isSingleControlled = value !== void 0;
|
|
151
|
+
const isMultipleControlled = values !== void 0;
|
|
152
|
+
const [singleUncontrolled, setSingleUncontrolled] = _react.useState.call(void 0, defaultValue);
|
|
153
|
+
const [multipleUncontrolled, setMultipleUncontrolled] = _react.useState.call(void 0, _nullishCoalesce(defaultValues, () => ( [])));
|
|
154
|
+
const singleValue = isSingleControlled ? value : singleUncontrolled;
|
|
155
|
+
const multipleValues = _react.useMemo.call(void 0, () => isMultipleControlled ? _nullishCoalesce(values, () => ( [])) : multipleUncontrolled, [isMultipleControlled, values, multipleUncontrolled]);
|
|
156
|
+
const isOpen = _react.useCallback.call(void 0,
|
|
157
|
+
(itemValue) => {
|
|
158
|
+
if (type === "single") {
|
|
159
|
+
return singleValue === itemValue;
|
|
160
|
+
}
|
|
161
|
+
return multipleValues.includes(itemValue);
|
|
162
|
+
},
|
|
163
|
+
[multipleValues, singleValue, type]
|
|
164
|
+
);
|
|
165
|
+
const toggle = _react.useCallback.call(void 0,
|
|
166
|
+
(itemValue) => {
|
|
167
|
+
if (type === "single") {
|
|
168
|
+
const next2 = singleValue === itemValue ? void 0 : itemValue;
|
|
169
|
+
if (!isSingleControlled) {
|
|
170
|
+
setSingleUncontrolled(next2);
|
|
171
|
+
}
|
|
172
|
+
_optionalChain([onValueChange, 'optionalCall', _ => _(next2)]);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const exists = multipleValues.includes(itemValue);
|
|
176
|
+
const next = exists ? multipleValues.filter((entry) => entry !== itemValue) : [...multipleValues, itemValue];
|
|
177
|
+
if (!isMultipleControlled) {
|
|
178
|
+
setMultipleUncontrolled(next);
|
|
179
|
+
}
|
|
180
|
+
_optionalChain([onValuesChange, 'optionalCall', _2 => _2(next)]);
|
|
181
|
+
},
|
|
182
|
+
[
|
|
183
|
+
isMultipleControlled,
|
|
184
|
+
isSingleControlled,
|
|
185
|
+
multipleValues,
|
|
186
|
+
onValueChange,
|
|
187
|
+
onValuesChange,
|
|
188
|
+
singleValue,
|
|
189
|
+
type
|
|
190
|
+
]
|
|
191
|
+
);
|
|
192
|
+
const ctx = _react.useMemo.call(void 0,
|
|
193
|
+
() => ({
|
|
194
|
+
type,
|
|
195
|
+
transition: _nullishCoalesce(transition, () => ( "default")),
|
|
196
|
+
appearance: _nullishCoalesce(appearance, () => ( "default")),
|
|
197
|
+
size: _nullishCoalesce(size, () => ( "md")),
|
|
198
|
+
isOpen,
|
|
199
|
+
toggle
|
|
200
|
+
}),
|
|
201
|
+
[appearance, isOpen, size, toggle, transition, type]
|
|
202
|
+
);
|
|
203
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "accordion", className: _chunkE5UX537Jjs.cn.call(void 0, accordionVariants({ appearance, size }), className), children }) });
|
|
204
|
+
}
|
|
205
|
+
Accordion.displayName = "Accordion";
|
|
206
|
+
function AccordionItem({ className, value, children, ref, ...rest }) {
|
|
207
|
+
const { appearance } = useAccordionContext("AccordionItem");
|
|
208
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AccordionItemValueContext.Provider, { value, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
209
|
+
"div",
|
|
210
|
+
{
|
|
211
|
+
ref,
|
|
212
|
+
"data-slot": "accordion-item",
|
|
213
|
+
"data-value": value,
|
|
214
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, accordionItemVariants({ appearance }), className),
|
|
215
|
+
...rest,
|
|
216
|
+
children
|
|
217
|
+
}
|
|
218
|
+
) });
|
|
219
|
+
}
|
|
220
|
+
AccordionItem.displayName = "AccordionItem";
|
|
221
|
+
function AccordionTrigger({ className, children, ref, ...rest }) {
|
|
222
|
+
const itemValue = useAccordionItemValue("AccordionTrigger");
|
|
223
|
+
const { isOpen, toggle, size } = useAccordionContext("AccordionTrigger");
|
|
224
|
+
const open = isOpen(itemValue);
|
|
225
|
+
const panelId = `${itemValue}-panel`;
|
|
226
|
+
const baseId = _react.useId.call(void 0, );
|
|
227
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "m-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
228
|
+
"button",
|
|
229
|
+
{
|
|
230
|
+
ref,
|
|
231
|
+
type: "button",
|
|
232
|
+
"data-slot": "accordion-trigger",
|
|
233
|
+
id: `${baseId}-trigger-${itemValue}`,
|
|
234
|
+
"aria-expanded": open,
|
|
235
|
+
"aria-controls": panelId,
|
|
236
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, accordionTriggerVariants({ size }), className),
|
|
237
|
+
onClick: () => toggle(itemValue),
|
|
238
|
+
...rest,
|
|
239
|
+
children
|
|
240
|
+
}
|
|
241
|
+
) });
|
|
242
|
+
}
|
|
243
|
+
AccordionTrigger.displayName = "AccordionTrigger";
|
|
244
|
+
function AccordionContent({ className, children, ref }) {
|
|
245
|
+
const itemValue = useAccordionItemValue("AccordionContent");
|
|
246
|
+
const { isOpen, transition: transitionVariant, size } = useAccordionContext("AccordionContent");
|
|
247
|
+
const open = isOpen(itemValue);
|
|
248
|
+
const panelId = `${itemValue}-panel`;
|
|
249
|
+
const transitionConfig = accordionContentTransitionPresets[transitionVariant];
|
|
250
|
+
const motionless = transitionVariant === "none";
|
|
251
|
+
return open ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
252
|
+
_framermotion.motion.div,
|
|
253
|
+
{
|
|
254
|
+
ref,
|
|
255
|
+
id: panelId,
|
|
256
|
+
role: "region",
|
|
257
|
+
"data-slot": "accordion-content",
|
|
258
|
+
className: _chunkE5UX537Jjs.cn.call(void 0, accordionContentVariants({ size }), className),
|
|
259
|
+
initial: motionless ? false : { opacity: 0 },
|
|
260
|
+
animate: motionless ? void 0 : { opacity: 1 },
|
|
261
|
+
exit: motionless ? void 0 : { opacity: 0 },
|
|
262
|
+
transition: transitionConfig,
|
|
263
|
+
children
|
|
264
|
+
},
|
|
265
|
+
itemValue
|
|
266
|
+
) : null;
|
|
267
|
+
}
|
|
268
|
+
AccordionContent.displayName = "AccordionContent";
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
exports.Accordion = Accordion; exports.AccordionContent = AccordionContent; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.accordionContentTransitionPresets = accordionContentTransitionPresets; exports.accordionContentVariants = accordionContentVariants; exports.accordionItemVariants = accordionItemVariants; exports.accordionTriggerVariants = accordionTriggerVariants; exports.accordionVariants = accordionVariants;
|
|
280
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/accordion.js"],"names":[],"mappings":"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,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/accordion.js","sourcesContent":[null]}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
cn
|
|
5
|
+
} from "../chunk-MEWYFWBX.mjs";
|
|
6
|
+
|
|
7
|
+
// src/ui/accordion/accordion.tsx
|
|
8
|
+
import { motion } from "framer-motion";
|
|
9
|
+
import {
|
|
10
|
+
createContext,
|
|
11
|
+
useCallback,
|
|
12
|
+
useContext,
|
|
13
|
+
useId,
|
|
14
|
+
useMemo,
|
|
15
|
+
useState
|
|
16
|
+
} from "react";
|
|
17
|
+
|
|
18
|
+
// src/ui/accordion/animations.ts
|
|
19
|
+
var accordionContentTransitionPresets = {
|
|
20
|
+
none: { duration: 0 },
|
|
21
|
+
default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
|
|
22
|
+
smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
|
|
23
|
+
slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// src/ui/accordion/variants.ts
|
|
27
|
+
import { cva } from "class-variance-authority";
|
|
28
|
+
var accordionVariants = cva("w-full", {
|
|
29
|
+
variants: {
|
|
30
|
+
appearance: {
|
|
31
|
+
default: "divide-y divide-white/10 rounded-xl border border-white/10",
|
|
32
|
+
outline: "divide-y divide-white/10 rounded-xl border border-white/15",
|
|
33
|
+
ghost: "divide-y divide-white/5",
|
|
34
|
+
card: "space-y-2",
|
|
35
|
+
separated: "space-y-3",
|
|
36
|
+
sky: "divide-y divide-sky-600 rounded-xl border border-sky-600",
|
|
37
|
+
rose: "divide-y divide-rose-600 rounded-xl border border-rose-600",
|
|
38
|
+
purple: "divide-y divide-purple-600 rounded-xl border border-purple-600",
|
|
39
|
+
pink: "divide-y divide-pink-600 rounded-xl border border-pink-600",
|
|
40
|
+
orange: "divide-y divide-orange-600 rounded-xl border border-orange-600",
|
|
41
|
+
yellow: "divide-y divide-yellow-600 rounded-xl border border-yellow-600",
|
|
42
|
+
teal: "divide-y divide-teal-600 rounded-xl border border-teal-600",
|
|
43
|
+
indigo: "divide-y divide-indigo-600 rounded-xl border border-indigo-600",
|
|
44
|
+
emerald: "divide-y divide-emerald-600 rounded-xl border border-emerald-600",
|
|
45
|
+
"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",
|
|
46
|
+
"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",
|
|
47
|
+
"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",
|
|
48
|
+
"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",
|
|
49
|
+
"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",
|
|
50
|
+
"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",
|
|
51
|
+
"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",
|
|
52
|
+
"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",
|
|
53
|
+
"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"
|
|
54
|
+
},
|
|
55
|
+
size: {
|
|
56
|
+
sm: "px-3 py-2 text-sm",
|
|
57
|
+
md: "px-4 py-3 text-sm",
|
|
58
|
+
lg: "px-5 py-4 text-base"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: {
|
|
62
|
+
appearance: "default",
|
|
63
|
+
size: "md"
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
var accordionItemVariants = cva("", {
|
|
67
|
+
variants: {
|
|
68
|
+
appearance: {
|
|
69
|
+
default: "",
|
|
70
|
+
outline: "",
|
|
71
|
+
ghost: "",
|
|
72
|
+
card: "rounded-xl border border-white/10 bg-white/[0.03] p-2",
|
|
73
|
+
separated: "rounded-xl border border-white/10 bg-slate-950/40 p-2",
|
|
74
|
+
sky: "rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2",
|
|
75
|
+
rose: "rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2",
|
|
76
|
+
purple: "rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2",
|
|
77
|
+
pink: "rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2",
|
|
78
|
+
orange: "rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2",
|
|
79
|
+
yellow: "rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2",
|
|
80
|
+
teal: "rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2",
|
|
81
|
+
indigo: "rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2",
|
|
82
|
+
emerald: "rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2",
|
|
83
|
+
"gradient-blue": "rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white",
|
|
84
|
+
"gradient-green": "rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white",
|
|
85
|
+
"gradient-red": "rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white",
|
|
86
|
+
"gradient-yellow": "rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white",
|
|
87
|
+
"gradient-purple": "rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white",
|
|
88
|
+
"gradient-teal": "rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white",
|
|
89
|
+
"gradient-indigo": "rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white",
|
|
90
|
+
"gradient-pink": "rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white",
|
|
91
|
+
"gradient-orange": "rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
defaultVariants: { appearance: "default" }
|
|
95
|
+
});
|
|
96
|
+
var accordionTriggerVariants = cva(
|
|
97
|
+
"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",
|
|
98
|
+
{
|
|
99
|
+
variants: {
|
|
100
|
+
size: {
|
|
101
|
+
sm: "py-2 text-sm",
|
|
102
|
+
md: "py-3 text-sm",
|
|
103
|
+
lg: "py-4 text-base"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
defaultVariants: { size: "md" }
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
var accordionContentVariants = cva("pb-3 text-sm", {
|
|
110
|
+
variants: {
|
|
111
|
+
size: {
|
|
112
|
+
sm: "pb-2 text-xs",
|
|
113
|
+
md: "pb-3 text-sm",
|
|
114
|
+
lg: "pb-4 text-base"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
defaultVariants: { size: "md" }
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
// src/ui/accordion/accordion.tsx
|
|
121
|
+
import { jsx } from "react/jsx-runtime";
|
|
122
|
+
var AccordionContext = createContext(null);
|
|
123
|
+
var AccordionItemValueContext = createContext(null);
|
|
124
|
+
function useAccordionContext(component) {
|
|
125
|
+
const ctx = useContext(AccordionContext);
|
|
126
|
+
if (!ctx) {
|
|
127
|
+
throw new Error(`${component} must be used within <Accordion>`);
|
|
128
|
+
}
|
|
129
|
+
return ctx;
|
|
130
|
+
}
|
|
131
|
+
function useAccordionItemValue(component) {
|
|
132
|
+
const value = useContext(AccordionItemValueContext);
|
|
133
|
+
if (!value) {
|
|
134
|
+
throw new Error(`${component} must be used within <AccordionItem>`);
|
|
135
|
+
}
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
function Accordion({
|
|
139
|
+
type = "single",
|
|
140
|
+
value,
|
|
141
|
+
values,
|
|
142
|
+
defaultValue,
|
|
143
|
+
defaultValues,
|
|
144
|
+
onValueChange,
|
|
145
|
+
onValuesChange,
|
|
146
|
+
transition = "default",
|
|
147
|
+
appearance = "default",
|
|
148
|
+
size = "md",
|
|
149
|
+
className,
|
|
150
|
+
children
|
|
151
|
+
}) {
|
|
152
|
+
const isSingleControlled = value !== void 0;
|
|
153
|
+
const isMultipleControlled = values !== void 0;
|
|
154
|
+
const [singleUncontrolled, setSingleUncontrolled] = useState(defaultValue);
|
|
155
|
+
const [multipleUncontrolled, setMultipleUncontrolled] = useState(defaultValues ?? []);
|
|
156
|
+
const singleValue = isSingleControlled ? value : singleUncontrolled;
|
|
157
|
+
const multipleValues = useMemo(() => isMultipleControlled ? values ?? [] : multipleUncontrolled, [isMultipleControlled, values, multipleUncontrolled]);
|
|
158
|
+
const isOpen = useCallback(
|
|
159
|
+
(itemValue) => {
|
|
160
|
+
if (type === "single") {
|
|
161
|
+
return singleValue === itemValue;
|
|
162
|
+
}
|
|
163
|
+
return multipleValues.includes(itemValue);
|
|
164
|
+
},
|
|
165
|
+
[multipleValues, singleValue, type]
|
|
166
|
+
);
|
|
167
|
+
const toggle = useCallback(
|
|
168
|
+
(itemValue) => {
|
|
169
|
+
if (type === "single") {
|
|
170
|
+
const next2 = singleValue === itemValue ? void 0 : itemValue;
|
|
171
|
+
if (!isSingleControlled) {
|
|
172
|
+
setSingleUncontrolled(next2);
|
|
173
|
+
}
|
|
174
|
+
onValueChange?.(next2);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const exists = multipleValues.includes(itemValue);
|
|
178
|
+
const next = exists ? multipleValues.filter((entry) => entry !== itemValue) : [...multipleValues, itemValue];
|
|
179
|
+
if (!isMultipleControlled) {
|
|
180
|
+
setMultipleUncontrolled(next);
|
|
181
|
+
}
|
|
182
|
+
onValuesChange?.(next);
|
|
183
|
+
},
|
|
184
|
+
[
|
|
185
|
+
isMultipleControlled,
|
|
186
|
+
isSingleControlled,
|
|
187
|
+
multipleValues,
|
|
188
|
+
onValueChange,
|
|
189
|
+
onValuesChange,
|
|
190
|
+
singleValue,
|
|
191
|
+
type
|
|
192
|
+
]
|
|
193
|
+
);
|
|
194
|
+
const ctx = useMemo(
|
|
195
|
+
() => ({
|
|
196
|
+
type,
|
|
197
|
+
transition: transition ?? "default",
|
|
198
|
+
appearance: appearance ?? "default",
|
|
199
|
+
size: size ?? "md",
|
|
200
|
+
isOpen,
|
|
201
|
+
toggle
|
|
202
|
+
}),
|
|
203
|
+
[appearance, isOpen, size, toggle, transition, type]
|
|
204
|
+
);
|
|
205
|
+
return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx("div", { "data-slot": "accordion", className: cn(accordionVariants({ appearance, size }), className), children }) });
|
|
206
|
+
}
|
|
207
|
+
Accordion.displayName = "Accordion";
|
|
208
|
+
function AccordionItem({ className, value, children, ref, ...rest }) {
|
|
209
|
+
const { appearance } = useAccordionContext("AccordionItem");
|
|
210
|
+
return /* @__PURE__ */ jsx(AccordionItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(
|
|
211
|
+
"div",
|
|
212
|
+
{
|
|
213
|
+
ref,
|
|
214
|
+
"data-slot": "accordion-item",
|
|
215
|
+
"data-value": value,
|
|
216
|
+
className: cn(accordionItemVariants({ appearance }), className),
|
|
217
|
+
...rest,
|
|
218
|
+
children
|
|
219
|
+
}
|
|
220
|
+
) });
|
|
221
|
+
}
|
|
222
|
+
AccordionItem.displayName = "AccordionItem";
|
|
223
|
+
function AccordionTrigger({ className, children, ref, ...rest }) {
|
|
224
|
+
const itemValue = useAccordionItemValue("AccordionTrigger");
|
|
225
|
+
const { isOpen, toggle, size } = useAccordionContext("AccordionTrigger");
|
|
226
|
+
const open = isOpen(itemValue);
|
|
227
|
+
const panelId = `${itemValue}-panel`;
|
|
228
|
+
const baseId = useId();
|
|
229
|
+
return /* @__PURE__ */ jsx("h3", { className: "m-0", children: /* @__PURE__ */ jsx(
|
|
230
|
+
"button",
|
|
231
|
+
{
|
|
232
|
+
ref,
|
|
233
|
+
type: "button",
|
|
234
|
+
"data-slot": "accordion-trigger",
|
|
235
|
+
id: `${baseId}-trigger-${itemValue}`,
|
|
236
|
+
"aria-expanded": open,
|
|
237
|
+
"aria-controls": panelId,
|
|
238
|
+
className: cn(accordionTriggerVariants({ size }), className),
|
|
239
|
+
onClick: () => toggle(itemValue),
|
|
240
|
+
...rest,
|
|
241
|
+
children
|
|
242
|
+
}
|
|
243
|
+
) });
|
|
244
|
+
}
|
|
245
|
+
AccordionTrigger.displayName = "AccordionTrigger";
|
|
246
|
+
function AccordionContent({ className, children, ref }) {
|
|
247
|
+
const itemValue = useAccordionItemValue("AccordionContent");
|
|
248
|
+
const { isOpen, transition: transitionVariant, size } = useAccordionContext("AccordionContent");
|
|
249
|
+
const open = isOpen(itemValue);
|
|
250
|
+
const panelId = `${itemValue}-panel`;
|
|
251
|
+
const transitionConfig = accordionContentTransitionPresets[transitionVariant];
|
|
252
|
+
const motionless = transitionVariant === "none";
|
|
253
|
+
return open ? /* @__PURE__ */ jsx(
|
|
254
|
+
motion.div,
|
|
255
|
+
{
|
|
256
|
+
ref,
|
|
257
|
+
id: panelId,
|
|
258
|
+
role: "region",
|
|
259
|
+
"data-slot": "accordion-content",
|
|
260
|
+
className: cn(accordionContentVariants({ size }), className),
|
|
261
|
+
initial: motionless ? false : { opacity: 0 },
|
|
262
|
+
animate: motionless ? void 0 : { opacity: 1 },
|
|
263
|
+
exit: motionless ? void 0 : { opacity: 0 },
|
|
264
|
+
transition: transitionConfig,
|
|
265
|
+
children
|
|
266
|
+
},
|
|
267
|
+
itemValue
|
|
268
|
+
) : null;
|
|
269
|
+
}
|
|
270
|
+
AccordionContent.displayName = "AccordionContent";
|
|
271
|
+
export {
|
|
272
|
+
Accordion,
|
|
273
|
+
AccordionContent,
|
|
274
|
+
AccordionItem,
|
|
275
|
+
AccordionTrigger,
|
|
276
|
+
accordionContentTransitionPresets,
|
|
277
|
+
accordionContentVariants,
|
|
278
|
+
accordionItemVariants,
|
|
279
|
+
accordionTriggerVariants,
|
|
280
|
+
accordionVariants
|
|
281
|
+
};
|
|
282
|
+
//# sourceMappingURL=accordion.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ui/accordion/accordion.tsx","../../src/ui/accordion/animations.ts","../../src/ui/accordion/variants.ts"],"sourcesContent":["\"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\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<string | undefined>(defaultValue);\n const [multipleUncontrolled, setMultipleUncontrolled] = useState<string[]>(defaultValues ?? []);\n\n const singleValue = isSingleControlled ? value : singleUncontrolled;\n const multipleValues = useMemo(() => isMultipleControlled ? values ?? [] : multipleUncontrolled, [isMultipleControlled, values, multipleUncontrolled]);\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 data-slot=\"accordion\" className={cn(accordionVariants({ appearance, size }), className)}>\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nAccordion.displayName = \"Accordion\";\n\nexport function AccordionItem({ className, value, children, ref, ...rest }: 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({ className, children, ref, ...rest }: 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({ className, children, ref }: AccordionContentProps) {\n const itemValue = useAccordionItemValue(\"AccordionContent\");\n const { isOpen, transition: transitionVariant, size } = 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 (\n 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}\n\nAccordionContent.displayName = \"AccordionContent\";\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<AccordionTransition, Transition>;\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: \"divide-y divide-emerald-600 rounded-xl border border-emerald-600\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\n \"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\",\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\": \"rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-green\": \"rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white\",\n \"gradient-red\": \"rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-yellow\": \"rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white\",\n \"gradient-purple\": \"rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-teal\": \"rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white\",\n \"gradient-indigo\": \"rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-pink\": \"rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white\",\n \"gradient-orange\": \"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"],"mappings":"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","names":["next"]}
|