@potenlab/ui 0.1.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.
- package/dist/chunk-2W3RBVMM.js +698 -0
- package/dist/chunk-2W3RBVMM.js.map +1 -0
- package/dist/chunk-3PDPL453.cjs +42 -0
- package/dist/chunk-3PDPL453.cjs.map +1 -0
- package/dist/chunk-6GVBJTP3.js +3 -0
- package/dist/chunk-6GVBJTP3.js.map +1 -0
- package/dist/chunk-7XPQQR3Z.cjs +586 -0
- package/dist/chunk-7XPQQR3Z.cjs.map +1 -0
- package/dist/chunk-CN4BR5A5.cjs +1442 -0
- package/dist/chunk-CN4BR5A5.cjs.map +1 -0
- package/dist/chunk-DUACVZEX.js +13 -0
- package/dist/chunk-DUACVZEX.js.map +1 -0
- package/dist/chunk-EKVWVJD4.cjs +4 -0
- package/dist/chunk-EKVWVJD4.cjs.map +1 -0
- package/dist/chunk-IIMC6ODV.js +554 -0
- package/dist/chunk-IIMC6ODV.js.map +1 -0
- package/dist/chunk-M67D4PYJ.cjs +4 -0
- package/dist/chunk-M67D4PYJ.cjs.map +1 -0
- package/dist/chunk-O4BML5KD.cjs +744 -0
- package/dist/chunk-O4BML5KD.cjs.map +1 -0
- package/dist/chunk-OF2IE7ZP.cjs +26 -0
- package/dist/chunk-OF2IE7ZP.cjs.map +1 -0
- package/dist/chunk-T2ZO7QTO.js +3 -0
- package/dist/chunk-T2ZO7QTO.js.map +1 -0
- package/dist/chunk-T3VMPVU4.js +20 -0
- package/dist/chunk-T3VMPVU4.js.map +1 -0
- package/dist/chunk-VMWIQIIN.js +1343 -0
- package/dist/chunk-VMWIQIIN.js.map +1 -0
- package/dist/chunk-YDSVKR35.js +23 -0
- package/dist/chunk-YDSVKR35.js.map +1 -0
- package/dist/chunk-YSNZIYC2.cjs +16 -0
- package/dist/chunk-YSNZIYC2.cjs.map +1 -0
- package/dist/components/common/index.cjs +54 -0
- package/dist/components/common/index.cjs.map +1 -0
- package/dist/components/common/index.d.cts +138 -0
- package/dist/components/common/index.d.ts +138 -0
- package/dist/components/common/index.js +5 -0
- package/dist/components/common/index.js.map +1 -0
- package/dist/components/layouts/index.cjs +16 -0
- package/dist/components/layouts/index.cjs.map +1 -0
- package/dist/components/layouts/index.d.cts +15 -0
- package/dist/components/layouts/index.d.ts +15 -0
- package/dist/components/layouts/index.js +3 -0
- package/dist/components/layouts/index.js.map +1 -0
- package/dist/components/ui/index.cjs +503 -0
- package/dist/components/ui/index.cjs.map +1 -0
- package/dist/components/ui/index.d.cts +217 -0
- package/dist/components/ui/index.d.ts +217 -0
- package/dist/components/ui/index.js +6 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/hooks/index.cjs +13 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.cts +3 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.cjs +571 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +29 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/index.cjs +17 -0
- package/dist/lib/index.cjs.map +1 -0
- package/dist/lib/index.d.cts +6 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/styles/globals.css +167 -0
- package/package.json +137 -0
- package/src/styles/globals.css +167 -0
|
@@ -0,0 +1,1442 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkO4BML5KD_cjs = require('./chunk-O4BML5KD.cjs');
|
|
4
|
+
var chunkYSNZIYC2_cjs = require('./chunk-YSNZIYC2.cjs');
|
|
5
|
+
var chunk3PDPL453_cjs = require('./chunk-3PDPL453.cjs');
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
|
+
var radixUi = require('radix-ui');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var React = require('react');
|
|
10
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
11
|
+
var nextThemes = require('next-themes');
|
|
12
|
+
var sonner = require('sonner');
|
|
13
|
+
|
|
14
|
+
function _interopNamespace(e) {
|
|
15
|
+
if (e && e.__esModule) return e;
|
|
16
|
+
var n = Object.create(null);
|
|
17
|
+
if (e) {
|
|
18
|
+
Object.keys(e).forEach(function (k) {
|
|
19
|
+
if (k !== 'default') {
|
|
20
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return e[k]; }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
n.default = e;
|
|
29
|
+
return Object.freeze(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
|
+
|
|
34
|
+
function Accordion({
|
|
35
|
+
...props
|
|
36
|
+
}) {
|
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Root, { "data-slot": "accordion", ...props });
|
|
38
|
+
}
|
|
39
|
+
function AccordionItem({
|
|
40
|
+
className,
|
|
41
|
+
...props
|
|
42
|
+
}) {
|
|
43
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
44
|
+
radixUi.Accordion.Item,
|
|
45
|
+
{
|
|
46
|
+
"data-slot": "accordion-item",
|
|
47
|
+
className: chunkYSNZIYC2_cjs.cn("border-b last:border-b-0", className),
|
|
48
|
+
...props
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
function AccordionTrigger({
|
|
53
|
+
className,
|
|
54
|
+
children,
|
|
55
|
+
...props
|
|
56
|
+
}) {
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58
|
+
radixUi.Accordion.Trigger,
|
|
59
|
+
{
|
|
60
|
+
"data-slot": "accordion-trigger",
|
|
61
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
62
|
+
"font-pretendard text-[16px] text-muted-fg flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left transition-all outline-none hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
|
|
63
|
+
className
|
|
64
|
+
),
|
|
65
|
+
...props,
|
|
66
|
+
children: [
|
|
67
|
+
children,
|
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-300 ease-in-out" })
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
) });
|
|
72
|
+
}
|
|
73
|
+
function AccordionContent({
|
|
74
|
+
className,
|
|
75
|
+
children,
|
|
76
|
+
...props
|
|
77
|
+
}) {
|
|
78
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
radixUi.Accordion.Content,
|
|
80
|
+
{
|
|
81
|
+
"data-slot": "accordion-content",
|
|
82
|
+
className: "overflow-hidden text-sm transition-all duration-300 ease-in-out data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
83
|
+
...props,
|
|
84
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkYSNZIYC2_cjs.cn("pt-0 pb-4", className), children })
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
function AlertDialog({
|
|
89
|
+
...props
|
|
90
|
+
}) {
|
|
91
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
|
|
92
|
+
}
|
|
93
|
+
function AlertDialogTrigger({
|
|
94
|
+
...props
|
|
95
|
+
}) {
|
|
96
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
97
|
+
}
|
|
98
|
+
function AlertDialogPortal({
|
|
99
|
+
...props
|
|
100
|
+
}) {
|
|
101
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
102
|
+
}
|
|
103
|
+
function AlertDialogOverlay({
|
|
104
|
+
className,
|
|
105
|
+
...props
|
|
106
|
+
}) {
|
|
107
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
108
|
+
radixUi.AlertDialog.Overlay,
|
|
109
|
+
{
|
|
110
|
+
"data-slot": "alert-dialog-overlay",
|
|
111
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
112
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
113
|
+
className
|
|
114
|
+
),
|
|
115
|
+
...props
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
function AlertDialogContent({
|
|
120
|
+
className,
|
|
121
|
+
size = "default",
|
|
122
|
+
...props
|
|
123
|
+
}) {
|
|
124
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
+
radixUi.AlertDialog.Content,
|
|
128
|
+
{
|
|
129
|
+
"data-slot": "alert-dialog-content",
|
|
130
|
+
"data-size": size,
|
|
131
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
132
|
+
"group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg",
|
|
133
|
+
className
|
|
134
|
+
),
|
|
135
|
+
...props
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
] });
|
|
139
|
+
}
|
|
140
|
+
function AlertDialogHeader({
|
|
141
|
+
className,
|
|
142
|
+
...props
|
|
143
|
+
}) {
|
|
144
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
"data-slot": "alert-dialog-header",
|
|
148
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
149
|
+
"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
|
|
150
|
+
className
|
|
151
|
+
),
|
|
152
|
+
...props
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
function AlertDialogFooter({
|
|
157
|
+
className,
|
|
158
|
+
...props
|
|
159
|
+
}) {
|
|
160
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
161
|
+
"div",
|
|
162
|
+
{
|
|
163
|
+
"data-slot": "alert-dialog-footer",
|
|
164
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
165
|
+
"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
|
|
166
|
+
className
|
|
167
|
+
),
|
|
168
|
+
...props
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
function AlertDialogTitle({
|
|
173
|
+
className,
|
|
174
|
+
...props
|
|
175
|
+
}) {
|
|
176
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
radixUi.AlertDialog.Title,
|
|
178
|
+
{
|
|
179
|
+
"data-slot": "alert-dialog-title",
|
|
180
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
181
|
+
"text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
|
|
182
|
+
className
|
|
183
|
+
),
|
|
184
|
+
...props
|
|
185
|
+
}
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
function AlertDialogDescription({
|
|
189
|
+
className,
|
|
190
|
+
...props
|
|
191
|
+
}) {
|
|
192
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
193
|
+
radixUi.AlertDialog.Description,
|
|
194
|
+
{
|
|
195
|
+
"data-slot": "alert-dialog-description",
|
|
196
|
+
className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
|
|
197
|
+
...props
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
function AlertDialogMedia({
|
|
202
|
+
className,
|
|
203
|
+
...props
|
|
204
|
+
}) {
|
|
205
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
206
|
+
"div",
|
|
207
|
+
{
|
|
208
|
+
"data-slot": "alert-dialog-media",
|
|
209
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
210
|
+
"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",
|
|
211
|
+
className
|
|
212
|
+
),
|
|
213
|
+
...props
|
|
214
|
+
}
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
function AlertDialogAction({
|
|
218
|
+
className,
|
|
219
|
+
variant = "primary",
|
|
220
|
+
size = "default",
|
|
221
|
+
...props
|
|
222
|
+
}) {
|
|
223
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
224
|
+
radixUi.AlertDialog.Action,
|
|
225
|
+
{
|
|
226
|
+
"data-slot": "alert-dialog-action",
|
|
227
|
+
className: chunkYSNZIYC2_cjs.cn(className),
|
|
228
|
+
...props
|
|
229
|
+
}
|
|
230
|
+
) });
|
|
231
|
+
}
|
|
232
|
+
function AlertDialogCancel({
|
|
233
|
+
className,
|
|
234
|
+
variant = "outline",
|
|
235
|
+
size = "default",
|
|
236
|
+
...props
|
|
237
|
+
}) {
|
|
238
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
radixUi.AlertDialog.Cancel,
|
|
240
|
+
{
|
|
241
|
+
"data-slot": "alert-dialog-cancel",
|
|
242
|
+
className: chunkYSNZIYC2_cjs.cn(className),
|
|
243
|
+
...props
|
|
244
|
+
}
|
|
245
|
+
) });
|
|
246
|
+
}
|
|
247
|
+
function Avatar({
|
|
248
|
+
className,
|
|
249
|
+
size = "default",
|
|
250
|
+
...props
|
|
251
|
+
}) {
|
|
252
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
253
|
+
radixUi.Avatar.Root,
|
|
254
|
+
{
|
|
255
|
+
"data-slot": "avatar",
|
|
256
|
+
"data-size": size,
|
|
257
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
258
|
+
"group/avatar relative flex w-[22px] h-[22px] shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",
|
|
259
|
+
className
|
|
260
|
+
),
|
|
261
|
+
...props
|
|
262
|
+
}
|
|
263
|
+
);
|
|
264
|
+
}
|
|
265
|
+
function AvatarImage({
|
|
266
|
+
className,
|
|
267
|
+
alt = "",
|
|
268
|
+
...props
|
|
269
|
+
}) {
|
|
270
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
271
|
+
radixUi.Avatar.Image,
|
|
272
|
+
{
|
|
273
|
+
"data-slot": "avatar-image",
|
|
274
|
+
className: chunkYSNZIYC2_cjs.cn("aspect-square size-full", className),
|
|
275
|
+
alt,
|
|
276
|
+
...props
|
|
277
|
+
}
|
|
278
|
+
);
|
|
279
|
+
}
|
|
280
|
+
function AvatarFallback({
|
|
281
|
+
className,
|
|
282
|
+
...props
|
|
283
|
+
}) {
|
|
284
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
+
radixUi.Avatar.Fallback,
|
|
286
|
+
{
|
|
287
|
+
"data-slot": "avatar-fallback",
|
|
288
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
289
|
+
"flex size-full items-center justify-center rounded-full bg-sidebar-selected text-muted-fg text-[10px] group-data-[size=sm]/avatar:text-xs",
|
|
290
|
+
className
|
|
291
|
+
),
|
|
292
|
+
...props
|
|
293
|
+
}
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
function AvatarBadge({ className, ...props }) {
|
|
297
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
298
|
+
"span",
|
|
299
|
+
{
|
|
300
|
+
"data-slot": "avatar-badge",
|
|
301
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
302
|
+
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background select-none",
|
|
303
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
304
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
305
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
306
|
+
className
|
|
307
|
+
),
|
|
308
|
+
...props
|
|
309
|
+
}
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
function AvatarGroup({ className, ...props }) {
|
|
313
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
314
|
+
"div",
|
|
315
|
+
{
|
|
316
|
+
"data-slot": "avatar-group",
|
|
317
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
318
|
+
"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
|
|
319
|
+
className
|
|
320
|
+
),
|
|
321
|
+
...props
|
|
322
|
+
}
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
function AvatarGroupCount({
|
|
326
|
+
className,
|
|
327
|
+
...props
|
|
328
|
+
}) {
|
|
329
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
330
|
+
"div",
|
|
331
|
+
{
|
|
332
|
+
"data-slot": "avatar-group-count",
|
|
333
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
334
|
+
"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
|
|
335
|
+
className
|
|
336
|
+
),
|
|
337
|
+
...props
|
|
338
|
+
}
|
|
339
|
+
);
|
|
340
|
+
}
|
|
341
|
+
function Card({ className, ...props }) {
|
|
342
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
343
|
+
"div",
|
|
344
|
+
{
|
|
345
|
+
"data-slot": "card",
|
|
346
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
347
|
+
"flex flex-col bg-white border border-border rounded-lg text-card-foreground shadow-none",
|
|
348
|
+
className
|
|
349
|
+
),
|
|
350
|
+
...props
|
|
351
|
+
}
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
function CardHeader({ className, ...props }) {
|
|
355
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
356
|
+
"div",
|
|
357
|
+
{
|
|
358
|
+
"data-slot": "card-header",
|
|
359
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
360
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
361
|
+
className
|
|
362
|
+
),
|
|
363
|
+
...props
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
function CardTitle({ className, ...props }) {
|
|
368
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
369
|
+
"div",
|
|
370
|
+
{
|
|
371
|
+
"data-slot": "card-title",
|
|
372
|
+
className: chunkYSNZIYC2_cjs.cn("leading-none font-semibold", className),
|
|
373
|
+
...props
|
|
374
|
+
}
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
function CardDescription({ className, ...props }) {
|
|
378
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
379
|
+
"div",
|
|
380
|
+
{
|
|
381
|
+
"data-slot": "card-description",
|
|
382
|
+
className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
|
|
383
|
+
...props
|
|
384
|
+
}
|
|
385
|
+
);
|
|
386
|
+
}
|
|
387
|
+
function CardAction({ className, ...props }) {
|
|
388
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
389
|
+
"div",
|
|
390
|
+
{
|
|
391
|
+
"data-slot": "card-action",
|
|
392
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
393
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
394
|
+
className
|
|
395
|
+
),
|
|
396
|
+
...props
|
|
397
|
+
}
|
|
398
|
+
);
|
|
399
|
+
}
|
|
400
|
+
function CardContent({ className, ...props }) {
|
|
401
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
402
|
+
"div",
|
|
403
|
+
{
|
|
404
|
+
"data-slot": "card-content",
|
|
405
|
+
className: chunkYSNZIYC2_cjs.cn("px-6", className),
|
|
406
|
+
...props
|
|
407
|
+
}
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
function CardFooter({ className, ...props }) {
|
|
411
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
412
|
+
"div",
|
|
413
|
+
{
|
|
414
|
+
"data-slot": "card-footer",
|
|
415
|
+
className: chunkYSNZIYC2_cjs.cn("flex items-center px-6 [.border-t]:pt-6", className),
|
|
416
|
+
...props
|
|
417
|
+
}
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
function Checkbox({
|
|
421
|
+
className,
|
|
422
|
+
...props
|
|
423
|
+
}) {
|
|
424
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
425
|
+
radixUi.Checkbox.Root,
|
|
426
|
+
{
|
|
427
|
+
"data-slot": "checkbox",
|
|
428
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
429
|
+
"peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",
|
|
430
|
+
className
|
|
431
|
+
),
|
|
432
|
+
...props,
|
|
433
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
434
|
+
radixUi.Checkbox.Indicator,
|
|
435
|
+
{
|
|
436
|
+
"data-slot": "checkbox-indicator",
|
|
437
|
+
className: "grid place-content-center text-current transition-none",
|
|
438
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-3.5" })
|
|
439
|
+
}
|
|
440
|
+
)
|
|
441
|
+
}
|
|
442
|
+
);
|
|
443
|
+
}
|
|
444
|
+
function Dialog({
|
|
445
|
+
...props
|
|
446
|
+
}) {
|
|
447
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
448
|
+
}
|
|
449
|
+
function DialogTrigger({
|
|
450
|
+
...props
|
|
451
|
+
}) {
|
|
452
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
453
|
+
}
|
|
454
|
+
function DialogPortal({
|
|
455
|
+
...props
|
|
456
|
+
}) {
|
|
457
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
458
|
+
}
|
|
459
|
+
function DialogClose({
|
|
460
|
+
...props
|
|
461
|
+
}) {
|
|
462
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "dialog-close", ...props });
|
|
463
|
+
}
|
|
464
|
+
function DialogOverlay({
|
|
465
|
+
className,
|
|
466
|
+
...props
|
|
467
|
+
}) {
|
|
468
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
469
|
+
radixUi.Dialog.Overlay,
|
|
470
|
+
{
|
|
471
|
+
"data-slot": "dialog-overlay",
|
|
472
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
473
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
474
|
+
className
|
|
475
|
+
),
|
|
476
|
+
...props
|
|
477
|
+
}
|
|
478
|
+
);
|
|
479
|
+
}
|
|
480
|
+
function DialogContent({
|
|
481
|
+
className,
|
|
482
|
+
children,
|
|
483
|
+
showCloseButton = true,
|
|
484
|
+
...props
|
|
485
|
+
}) {
|
|
486
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
487
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
488
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
489
|
+
radixUi.Dialog.Content,
|
|
490
|
+
{
|
|
491
|
+
"data-slot": "dialog-content",
|
|
492
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
493
|
+
"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
|
|
494
|
+
className
|
|
495
|
+
),
|
|
496
|
+
...props,
|
|
497
|
+
children: [
|
|
498
|
+
children,
|
|
499
|
+
showCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
500
|
+
radixUi.Dialog.Close,
|
|
501
|
+
{
|
|
502
|
+
"data-slot": "dialog-close",
|
|
503
|
+
className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
504
|
+
children: [
|
|
505
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, {}),
|
|
506
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
507
|
+
]
|
|
508
|
+
}
|
|
509
|
+
)
|
|
510
|
+
]
|
|
511
|
+
}
|
|
512
|
+
)
|
|
513
|
+
] });
|
|
514
|
+
}
|
|
515
|
+
function DialogHeader({ className, ...props }) {
|
|
516
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
517
|
+
"div",
|
|
518
|
+
{
|
|
519
|
+
"data-slot": "dialog-header",
|
|
520
|
+
className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
521
|
+
...props
|
|
522
|
+
}
|
|
523
|
+
);
|
|
524
|
+
}
|
|
525
|
+
function DialogFooter({
|
|
526
|
+
className,
|
|
527
|
+
showCloseButton = false,
|
|
528
|
+
children,
|
|
529
|
+
...props
|
|
530
|
+
}) {
|
|
531
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
532
|
+
"div",
|
|
533
|
+
{
|
|
534
|
+
"data-slot": "dialog-footer",
|
|
535
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
536
|
+
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
537
|
+
className
|
|
538
|
+
),
|
|
539
|
+
...props,
|
|
540
|
+
children: [
|
|
541
|
+
children,
|
|
542
|
+
showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkO4BML5KD_cjs.Button, { variant: "outline", children: "Close" }) })
|
|
543
|
+
]
|
|
544
|
+
}
|
|
545
|
+
);
|
|
546
|
+
}
|
|
547
|
+
function DialogTitle({
|
|
548
|
+
className,
|
|
549
|
+
...props
|
|
550
|
+
}) {
|
|
551
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
552
|
+
radixUi.Dialog.Title,
|
|
553
|
+
{
|
|
554
|
+
"data-slot": "dialog-title",
|
|
555
|
+
className: chunkYSNZIYC2_cjs.cn("text-lg leading-none font-semibold", className),
|
|
556
|
+
...props
|
|
557
|
+
}
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
function DialogDescription({
|
|
561
|
+
className,
|
|
562
|
+
...props
|
|
563
|
+
}) {
|
|
564
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
565
|
+
radixUi.Dialog.Description,
|
|
566
|
+
{
|
|
567
|
+
"data-slot": "dialog-description",
|
|
568
|
+
className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
|
|
569
|
+
...props
|
|
570
|
+
}
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
function Sheet({ ...props }) {
|
|
574
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
575
|
+
}
|
|
576
|
+
function SheetTrigger({
|
|
577
|
+
...props
|
|
578
|
+
}) {
|
|
579
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
580
|
+
}
|
|
581
|
+
function SheetClose({
|
|
582
|
+
...props
|
|
583
|
+
}) {
|
|
584
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "sheet-close", ...props });
|
|
585
|
+
}
|
|
586
|
+
function SheetPortal({
|
|
587
|
+
...props
|
|
588
|
+
}) {
|
|
589
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
590
|
+
}
|
|
591
|
+
function SheetOverlay({
|
|
592
|
+
className,
|
|
593
|
+
...props
|
|
594
|
+
}) {
|
|
595
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
596
|
+
radixUi.Dialog.Overlay,
|
|
597
|
+
{
|
|
598
|
+
"data-slot": "sheet-overlay",
|
|
599
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
600
|
+
"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
601
|
+
className
|
|
602
|
+
),
|
|
603
|
+
...props
|
|
604
|
+
}
|
|
605
|
+
);
|
|
606
|
+
}
|
|
607
|
+
function SheetContent({
|
|
608
|
+
className,
|
|
609
|
+
children,
|
|
610
|
+
side = "right",
|
|
611
|
+
showCloseButton = true,
|
|
612
|
+
...props
|
|
613
|
+
}) {
|
|
614
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
|
|
615
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
|
|
616
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
617
|
+
radixUi.Dialog.Content,
|
|
618
|
+
{
|
|
619
|
+
"data-slot": "sheet-content",
|
|
620
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
621
|
+
"fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
|
|
622
|
+
side === "right" && "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
|
|
623
|
+
side === "left" && "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
624
|
+
side === "top" && "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
625
|
+
side === "bottom" && "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
626
|
+
className
|
|
627
|
+
),
|
|
628
|
+
...props,
|
|
629
|
+
children: [
|
|
630
|
+
children,
|
|
631
|
+
showCloseButton && /* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
632
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-4" }),
|
|
633
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
634
|
+
] })
|
|
635
|
+
]
|
|
636
|
+
}
|
|
637
|
+
)
|
|
638
|
+
] });
|
|
639
|
+
}
|
|
640
|
+
function SheetHeader({ className, ...props }) {
|
|
641
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
642
|
+
"div",
|
|
643
|
+
{
|
|
644
|
+
"data-slot": "sheet-header",
|
|
645
|
+
className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-1.5 p-4", className),
|
|
646
|
+
...props
|
|
647
|
+
}
|
|
648
|
+
);
|
|
649
|
+
}
|
|
650
|
+
function SheetFooter({ className, ...props }) {
|
|
651
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
652
|
+
"div",
|
|
653
|
+
{
|
|
654
|
+
"data-slot": "sheet-footer",
|
|
655
|
+
className: chunkYSNZIYC2_cjs.cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
656
|
+
...props
|
|
657
|
+
}
|
|
658
|
+
);
|
|
659
|
+
}
|
|
660
|
+
function SheetTitle({
|
|
661
|
+
className,
|
|
662
|
+
...props
|
|
663
|
+
}) {
|
|
664
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
665
|
+
radixUi.Dialog.Title,
|
|
666
|
+
{
|
|
667
|
+
"data-slot": "sheet-title",
|
|
668
|
+
className: chunkYSNZIYC2_cjs.cn("font-semibold text-foreground", className),
|
|
669
|
+
...props
|
|
670
|
+
}
|
|
671
|
+
);
|
|
672
|
+
}
|
|
673
|
+
function SheetDescription({
|
|
674
|
+
className,
|
|
675
|
+
...props
|
|
676
|
+
}) {
|
|
677
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
678
|
+
radixUi.Dialog.Description,
|
|
679
|
+
{
|
|
680
|
+
"data-slot": "sheet-description",
|
|
681
|
+
className: chunkYSNZIYC2_cjs.cn("text-sm text-muted-foreground", className),
|
|
682
|
+
...props
|
|
683
|
+
}
|
|
684
|
+
);
|
|
685
|
+
}
|
|
686
|
+
function Skeleton({ className, ...props }) {
|
|
687
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
688
|
+
"div",
|
|
689
|
+
{
|
|
690
|
+
"data-slot": "skeleton",
|
|
691
|
+
className: chunkYSNZIYC2_cjs.cn("animate-pulse rounded-md bg-accent", className),
|
|
692
|
+
...props
|
|
693
|
+
}
|
|
694
|
+
);
|
|
695
|
+
}
|
|
696
|
+
function TooltipProvider({
|
|
697
|
+
delayDuration = 300,
|
|
698
|
+
...props
|
|
699
|
+
}) {
|
|
700
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
701
|
+
radixUi.Tooltip.Provider,
|
|
702
|
+
{
|
|
703
|
+
"data-slot": "tooltip-provider",
|
|
704
|
+
delayDuration,
|
|
705
|
+
...props
|
|
706
|
+
}
|
|
707
|
+
);
|
|
708
|
+
}
|
|
709
|
+
function Tooltip({
|
|
710
|
+
...props
|
|
711
|
+
}) {
|
|
712
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Root, { "data-slot": "tooltip", ...props });
|
|
713
|
+
}
|
|
714
|
+
function TooltipTrigger({
|
|
715
|
+
...props
|
|
716
|
+
}) {
|
|
717
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
718
|
+
}
|
|
719
|
+
function TooltipContent({
|
|
720
|
+
className,
|
|
721
|
+
sideOffset = 0,
|
|
722
|
+
children,
|
|
723
|
+
...props
|
|
724
|
+
}) {
|
|
725
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
726
|
+
radixUi.Tooltip.Content,
|
|
727
|
+
{
|
|
728
|
+
"data-slot": "tooltip-content",
|
|
729
|
+
sideOffset,
|
|
730
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
731
|
+
"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-[#1A202C] px-3 py-2 text-[14px] text-balance text-white fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
732
|
+
className
|
|
733
|
+
),
|
|
734
|
+
...props,
|
|
735
|
+
children: [
|
|
736
|
+
children,
|
|
737
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-[#1A202C] fill-[#1A202C]" })
|
|
738
|
+
]
|
|
739
|
+
}
|
|
740
|
+
) });
|
|
741
|
+
}
|
|
742
|
+
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
743
|
+
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
744
|
+
var SIDEBAR_WIDTH = "16rem";
|
|
745
|
+
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
746
|
+
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
747
|
+
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
748
|
+
var SidebarContext = React__namespace.createContext(null);
|
|
749
|
+
function useSidebar() {
|
|
750
|
+
const context = React__namespace.useContext(SidebarContext);
|
|
751
|
+
if (!context) {
|
|
752
|
+
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
753
|
+
}
|
|
754
|
+
return context;
|
|
755
|
+
}
|
|
756
|
+
function SidebarProvider({
|
|
757
|
+
defaultOpen = true,
|
|
758
|
+
open: openProp,
|
|
759
|
+
onOpenChange: setOpenProp,
|
|
760
|
+
className,
|
|
761
|
+
style,
|
|
762
|
+
children,
|
|
763
|
+
...props
|
|
764
|
+
}) {
|
|
765
|
+
const isMobile = chunk3PDPL453_cjs.useIsMobile();
|
|
766
|
+
const [openMobile, setOpenMobile] = React__namespace.useState(false);
|
|
767
|
+
const [_open, _setOpen] = React__namespace.useState(defaultOpen);
|
|
768
|
+
const open = openProp ?? _open;
|
|
769
|
+
const setOpen = React__namespace.useCallback(
|
|
770
|
+
(value) => {
|
|
771
|
+
const openState = typeof value === "function" ? value(open) : value;
|
|
772
|
+
if (setOpenProp) {
|
|
773
|
+
setOpenProp(openState);
|
|
774
|
+
} else {
|
|
775
|
+
_setOpen(openState);
|
|
776
|
+
}
|
|
777
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
778
|
+
},
|
|
779
|
+
[setOpenProp, open]
|
|
780
|
+
);
|
|
781
|
+
const toggleSidebar = React__namespace.useCallback(() => {
|
|
782
|
+
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
783
|
+
}, [isMobile, setOpen, setOpenMobile]);
|
|
784
|
+
React__namespace.useEffect(() => {
|
|
785
|
+
const handleKeyDown = (event) => {
|
|
786
|
+
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
787
|
+
event.preventDefault();
|
|
788
|
+
toggleSidebar();
|
|
789
|
+
}
|
|
790
|
+
};
|
|
791
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
792
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
793
|
+
}, [toggleSidebar]);
|
|
794
|
+
const state = open ? "expanded" : "collapsed";
|
|
795
|
+
const contextValue = React__namespace.useMemo(
|
|
796
|
+
() => ({
|
|
797
|
+
state,
|
|
798
|
+
open,
|
|
799
|
+
setOpen,
|
|
800
|
+
isMobile,
|
|
801
|
+
openMobile,
|
|
802
|
+
setOpenMobile,
|
|
803
|
+
toggleSidebar
|
|
804
|
+
}),
|
|
805
|
+
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
806
|
+
);
|
|
807
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
808
|
+
"div",
|
|
809
|
+
{
|
|
810
|
+
"data-slot": "sidebar-wrapper",
|
|
811
|
+
style: {
|
|
812
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
813
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
814
|
+
...style
|
|
815
|
+
},
|
|
816
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
817
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
|
818
|
+
className
|
|
819
|
+
),
|
|
820
|
+
...props,
|
|
821
|
+
children
|
|
822
|
+
}
|
|
823
|
+
) }) });
|
|
824
|
+
}
|
|
825
|
+
function Sidebar({
|
|
826
|
+
side = "left",
|
|
827
|
+
variant = "sidebar",
|
|
828
|
+
collapsible = "offcanvas",
|
|
829
|
+
className,
|
|
830
|
+
children,
|
|
831
|
+
...props
|
|
832
|
+
}) {
|
|
833
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
834
|
+
if (collapsible === "none") {
|
|
835
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
836
|
+
"div",
|
|
837
|
+
{
|
|
838
|
+
"data-slot": "sidebar",
|
|
839
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
840
|
+
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
|
841
|
+
className
|
|
842
|
+
),
|
|
843
|
+
...props,
|
|
844
|
+
children
|
|
845
|
+
}
|
|
846
|
+
);
|
|
847
|
+
}
|
|
848
|
+
if (isMobile) {
|
|
849
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
850
|
+
SheetContent,
|
|
851
|
+
{
|
|
852
|
+
"data-sidebar": "sidebar",
|
|
853
|
+
"data-slot": "sidebar",
|
|
854
|
+
"data-mobile": "true",
|
|
855
|
+
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
856
|
+
style: {
|
|
857
|
+
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
858
|
+
},
|
|
859
|
+
side,
|
|
860
|
+
children: [
|
|
861
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: "sr-only", children: [
|
|
862
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: "Sidebar" }),
|
|
863
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
864
|
+
] }),
|
|
865
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full flex-col", children })
|
|
866
|
+
]
|
|
867
|
+
}
|
|
868
|
+
) });
|
|
869
|
+
}
|
|
870
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
871
|
+
"div",
|
|
872
|
+
{
|
|
873
|
+
className: "group peer hidden text-sidebar-foreground md:block",
|
|
874
|
+
"data-state": state,
|
|
875
|
+
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
876
|
+
"data-variant": variant,
|
|
877
|
+
"data-side": side,
|
|
878
|
+
"data-slot": "sidebar",
|
|
879
|
+
children: [
|
|
880
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
+
"div",
|
|
882
|
+
{
|
|
883
|
+
"data-slot": "sidebar-gap",
|
|
884
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
885
|
+
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
886
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
887
|
+
"group-data-[side=right]:rotate-180",
|
|
888
|
+
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
889
|
+
)
|
|
890
|
+
}
|
|
891
|
+
),
|
|
892
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
893
|
+
"div",
|
|
894
|
+
{
|
|
895
|
+
"data-slot": "sidebar-container",
|
|
896
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
897
|
+
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
|
|
898
|
+
side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
|
|
899
|
+
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
900
|
+
className
|
|
901
|
+
),
|
|
902
|
+
...props,
|
|
903
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
904
|
+
"div",
|
|
905
|
+
{
|
|
906
|
+
"data-sidebar": "sidebar",
|
|
907
|
+
"data-slot": "sidebar-inner",
|
|
908
|
+
className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
|
|
909
|
+
children
|
|
910
|
+
}
|
|
911
|
+
)
|
|
912
|
+
}
|
|
913
|
+
)
|
|
914
|
+
]
|
|
915
|
+
}
|
|
916
|
+
);
|
|
917
|
+
}
|
|
918
|
+
function SidebarTrigger({
|
|
919
|
+
className,
|
|
920
|
+
onClick,
|
|
921
|
+
...props
|
|
922
|
+
}) {
|
|
923
|
+
const { toggleSidebar } = useSidebar();
|
|
924
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
925
|
+
chunkO4BML5KD_cjs.Button,
|
|
926
|
+
{
|
|
927
|
+
"data-sidebar": "trigger",
|
|
928
|
+
"data-slot": "sidebar-trigger",
|
|
929
|
+
variant: "ghost",
|
|
930
|
+
size: "icon",
|
|
931
|
+
className: chunkYSNZIYC2_cjs.cn("size-7", className),
|
|
932
|
+
onClick: (event) => {
|
|
933
|
+
onClick?.(event);
|
|
934
|
+
toggleSidebar();
|
|
935
|
+
},
|
|
936
|
+
...props,
|
|
937
|
+
children: [
|
|
938
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftIcon, {}),
|
|
939
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
940
|
+
]
|
|
941
|
+
}
|
|
942
|
+
);
|
|
943
|
+
}
|
|
944
|
+
function SidebarRail({ className, ...props }) {
|
|
945
|
+
const { toggleSidebar } = useSidebar();
|
|
946
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
+
"button",
|
|
948
|
+
{
|
|
949
|
+
"data-sidebar": "rail",
|
|
950
|
+
"data-slot": "sidebar-rail",
|
|
951
|
+
"aria-label": "Toggle Sidebar",
|
|
952
|
+
tabIndex: -1,
|
|
953
|
+
onClick: toggleSidebar,
|
|
954
|
+
title: "Toggle Sidebar",
|
|
955
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
956
|
+
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex",
|
|
957
|
+
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
958
|
+
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
959
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
|
|
960
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
961
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
962
|
+
className
|
|
963
|
+
),
|
|
964
|
+
...props
|
|
965
|
+
}
|
|
966
|
+
);
|
|
967
|
+
}
|
|
968
|
+
function SidebarInset({ className, ...props }) {
|
|
969
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
970
|
+
"main",
|
|
971
|
+
{
|
|
972
|
+
"data-slot": "sidebar-inset",
|
|
973
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
974
|
+
"relative flex w-full flex-1 flex-col bg-background",
|
|
975
|
+
"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
976
|
+
className
|
|
977
|
+
),
|
|
978
|
+
...props
|
|
979
|
+
}
|
|
980
|
+
);
|
|
981
|
+
}
|
|
982
|
+
function SidebarInput({
|
|
983
|
+
className,
|
|
984
|
+
...props
|
|
985
|
+
}) {
|
|
986
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
987
|
+
chunkO4BML5KD_cjs.Input,
|
|
988
|
+
{
|
|
989
|
+
"data-slot": "sidebar-input",
|
|
990
|
+
"data-sidebar": "input",
|
|
991
|
+
className: chunkYSNZIYC2_cjs.cn("h-8 w-full bg-background shadow-none", className),
|
|
992
|
+
...props
|
|
993
|
+
}
|
|
994
|
+
);
|
|
995
|
+
}
|
|
996
|
+
function SidebarHeader({ className, ...props }) {
|
|
997
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
998
|
+
"div",
|
|
999
|
+
{
|
|
1000
|
+
"data-slot": "sidebar-header",
|
|
1001
|
+
"data-sidebar": "header",
|
|
1002
|
+
className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 p-2", className),
|
|
1003
|
+
...props
|
|
1004
|
+
}
|
|
1005
|
+
);
|
|
1006
|
+
}
|
|
1007
|
+
function SidebarFooter({ className, ...props }) {
|
|
1008
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1009
|
+
"div",
|
|
1010
|
+
{
|
|
1011
|
+
"data-slot": "sidebar-footer",
|
|
1012
|
+
"data-sidebar": "footer",
|
|
1013
|
+
className: chunkYSNZIYC2_cjs.cn("flex flex-col gap-2 p-2", className),
|
|
1014
|
+
...props
|
|
1015
|
+
}
|
|
1016
|
+
);
|
|
1017
|
+
}
|
|
1018
|
+
function SidebarSeparator({
|
|
1019
|
+
className,
|
|
1020
|
+
...props
|
|
1021
|
+
}) {
|
|
1022
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1023
|
+
chunkO4BML5KD_cjs.Separator,
|
|
1024
|
+
{
|
|
1025
|
+
"data-slot": "sidebar-separator",
|
|
1026
|
+
"data-sidebar": "separator",
|
|
1027
|
+
className: chunkYSNZIYC2_cjs.cn("mx-2 w-auto bg-sidebar-border", className),
|
|
1028
|
+
...props
|
|
1029
|
+
}
|
|
1030
|
+
);
|
|
1031
|
+
}
|
|
1032
|
+
function SidebarContent({ className, ...props }) {
|
|
1033
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1034
|
+
"div",
|
|
1035
|
+
{
|
|
1036
|
+
"data-slot": "sidebar-content",
|
|
1037
|
+
"data-sidebar": "content",
|
|
1038
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1039
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
1040
|
+
className
|
|
1041
|
+
),
|
|
1042
|
+
...props
|
|
1043
|
+
}
|
|
1044
|
+
);
|
|
1045
|
+
}
|
|
1046
|
+
function SidebarGroup({ className, ...props }) {
|
|
1047
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1048
|
+
"div",
|
|
1049
|
+
{
|
|
1050
|
+
"data-slot": "sidebar-group",
|
|
1051
|
+
"data-sidebar": "group",
|
|
1052
|
+
className: chunkYSNZIYC2_cjs.cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
1053
|
+
...props
|
|
1054
|
+
}
|
|
1055
|
+
);
|
|
1056
|
+
}
|
|
1057
|
+
function SidebarGroupLabel({
|
|
1058
|
+
className,
|
|
1059
|
+
asChild = false,
|
|
1060
|
+
...props
|
|
1061
|
+
}) {
|
|
1062
|
+
const Comp = asChild ? radixUi.Slot.Root : "div";
|
|
1063
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1064
|
+
Comp,
|
|
1065
|
+
{
|
|
1066
|
+
"data-slot": "sidebar-group-label",
|
|
1067
|
+
"data-sidebar": "group-label",
|
|
1068
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1069
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1070
|
+
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
1071
|
+
className
|
|
1072
|
+
),
|
|
1073
|
+
...props
|
|
1074
|
+
}
|
|
1075
|
+
);
|
|
1076
|
+
}
|
|
1077
|
+
function SidebarGroupAction({
|
|
1078
|
+
className,
|
|
1079
|
+
asChild = false,
|
|
1080
|
+
...props
|
|
1081
|
+
}) {
|
|
1082
|
+
const Comp = asChild ? radixUi.Slot.Root : "button";
|
|
1083
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1084
|
+
Comp,
|
|
1085
|
+
{
|
|
1086
|
+
"data-slot": "sidebar-group-action",
|
|
1087
|
+
"data-sidebar": "group-action",
|
|
1088
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1089
|
+
"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1090
|
+
"after:absolute after:-inset-2 md:after:hidden",
|
|
1091
|
+
"group-data-[collapsible=icon]:hidden",
|
|
1092
|
+
className
|
|
1093
|
+
),
|
|
1094
|
+
...props
|
|
1095
|
+
}
|
|
1096
|
+
);
|
|
1097
|
+
}
|
|
1098
|
+
function SidebarGroupContent({
|
|
1099
|
+
className,
|
|
1100
|
+
...props
|
|
1101
|
+
}) {
|
|
1102
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1103
|
+
"div",
|
|
1104
|
+
{
|
|
1105
|
+
"data-slot": "sidebar-group-content",
|
|
1106
|
+
"data-sidebar": "group-content",
|
|
1107
|
+
className: chunkYSNZIYC2_cjs.cn("w-full text-sm", className),
|
|
1108
|
+
...props
|
|
1109
|
+
}
|
|
1110
|
+
);
|
|
1111
|
+
}
|
|
1112
|
+
function SidebarMenu({ className, ...props }) {
|
|
1113
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1114
|
+
"ul",
|
|
1115
|
+
{
|
|
1116
|
+
"data-slot": "sidebar-menu",
|
|
1117
|
+
"data-sidebar": "menu",
|
|
1118
|
+
className: chunkYSNZIYC2_cjs.cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
1119
|
+
...props
|
|
1120
|
+
}
|
|
1121
|
+
);
|
|
1122
|
+
}
|
|
1123
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
1124
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1125
|
+
"li",
|
|
1126
|
+
{
|
|
1127
|
+
"data-slot": "sidebar-menu-item",
|
|
1128
|
+
"data-sidebar": "menu-item",
|
|
1129
|
+
className: chunkYSNZIYC2_cjs.cn("group/menu-item relative", className),
|
|
1130
|
+
...props
|
|
1131
|
+
}
|
|
1132
|
+
);
|
|
1133
|
+
}
|
|
1134
|
+
var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
1135
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1136
|
+
{
|
|
1137
|
+
variants: {
|
|
1138
|
+
variant: {
|
|
1139
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
1140
|
+
outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
1141
|
+
},
|
|
1142
|
+
size: {
|
|
1143
|
+
default: "h-8 text-sm",
|
|
1144
|
+
sm: "h-7 text-xs",
|
|
1145
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1148
|
+
defaultVariants: {
|
|
1149
|
+
variant: "default",
|
|
1150
|
+
size: "default"
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
);
|
|
1154
|
+
function SidebarMenuButton({
|
|
1155
|
+
asChild = false,
|
|
1156
|
+
isActive = false,
|
|
1157
|
+
variant = "default",
|
|
1158
|
+
size = "default",
|
|
1159
|
+
tooltip,
|
|
1160
|
+
className,
|
|
1161
|
+
...props
|
|
1162
|
+
}) {
|
|
1163
|
+
const Comp = asChild ? radixUi.Slot.Root : "button";
|
|
1164
|
+
const { isMobile, state } = useSidebar();
|
|
1165
|
+
const button = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1166
|
+
Comp,
|
|
1167
|
+
{
|
|
1168
|
+
"data-slot": "sidebar-menu-button",
|
|
1169
|
+
"data-sidebar": "menu-button",
|
|
1170
|
+
"data-size": size,
|
|
1171
|
+
"data-active": isActive,
|
|
1172
|
+
className: chunkYSNZIYC2_cjs.cn(sidebarMenuButtonVariants({ variant, size }), className),
|
|
1173
|
+
...props
|
|
1174
|
+
}
|
|
1175
|
+
);
|
|
1176
|
+
if (!tooltip) {
|
|
1177
|
+
return button;
|
|
1178
|
+
}
|
|
1179
|
+
if (typeof tooltip === "string") {
|
|
1180
|
+
tooltip = {
|
|
1181
|
+
children: tooltip
|
|
1182
|
+
};
|
|
1183
|
+
}
|
|
1184
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
|
|
1185
|
+
/* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: button }),
|
|
1186
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1187
|
+
TooltipContent,
|
|
1188
|
+
{
|
|
1189
|
+
side: "right",
|
|
1190
|
+
align: "center",
|
|
1191
|
+
hidden: state !== "collapsed" || isMobile,
|
|
1192
|
+
...tooltip
|
|
1193
|
+
}
|
|
1194
|
+
)
|
|
1195
|
+
] });
|
|
1196
|
+
}
|
|
1197
|
+
function SidebarMenuAction({
|
|
1198
|
+
className,
|
|
1199
|
+
asChild = false,
|
|
1200
|
+
showOnHover = false,
|
|
1201
|
+
...props
|
|
1202
|
+
}) {
|
|
1203
|
+
const Comp = asChild ? radixUi.Slot.Root : "button";
|
|
1204
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1205
|
+
Comp,
|
|
1206
|
+
{
|
|
1207
|
+
"data-slot": "sidebar-menu-action",
|
|
1208
|
+
"data-sidebar": "menu-action",
|
|
1209
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1210
|
+
"absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1211
|
+
"after:absolute after:-inset-2 md:after:hidden",
|
|
1212
|
+
"peer-data-[size=sm]/menu-button:top-1",
|
|
1213
|
+
"peer-data-[size=default]/menu-button:top-1.5",
|
|
1214
|
+
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
1215
|
+
"group-data-[collapsible=icon]:hidden",
|
|
1216
|
+
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground data-[state=open]:opacity-100 md:opacity-0",
|
|
1217
|
+
className
|
|
1218
|
+
),
|
|
1219
|
+
...props
|
|
1220
|
+
}
|
|
1221
|
+
);
|
|
1222
|
+
}
|
|
1223
|
+
function SidebarMenuBadge({
|
|
1224
|
+
className,
|
|
1225
|
+
...props
|
|
1226
|
+
}) {
|
|
1227
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1228
|
+
"div",
|
|
1229
|
+
{
|
|
1230
|
+
"data-slot": "sidebar-menu-badge",
|
|
1231
|
+
"data-sidebar": "menu-badge",
|
|
1232
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1233
|
+
"pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none",
|
|
1234
|
+
"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
|
|
1235
|
+
"peer-data-[size=sm]/menu-button:top-1",
|
|
1236
|
+
"peer-data-[size=default]/menu-button:top-1.5",
|
|
1237
|
+
"peer-data-[size=lg]/menu-button:top-2.5",
|
|
1238
|
+
"group-data-[collapsible=icon]:hidden",
|
|
1239
|
+
className
|
|
1240
|
+
),
|
|
1241
|
+
...props
|
|
1242
|
+
}
|
|
1243
|
+
);
|
|
1244
|
+
}
|
|
1245
|
+
function SidebarMenuSkeleton({
|
|
1246
|
+
className,
|
|
1247
|
+
showIcon = false,
|
|
1248
|
+
...props
|
|
1249
|
+
}) {
|
|
1250
|
+
const width = React__namespace.useMemo(() => {
|
|
1251
|
+
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
1252
|
+
}, []);
|
|
1253
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1254
|
+
"div",
|
|
1255
|
+
{
|
|
1256
|
+
"data-slot": "sidebar-menu-skeleton",
|
|
1257
|
+
"data-sidebar": "menu-skeleton",
|
|
1258
|
+
className: chunkYSNZIYC2_cjs.cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
1259
|
+
...props,
|
|
1260
|
+
children: [
|
|
1261
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1262
|
+
Skeleton,
|
|
1263
|
+
{
|
|
1264
|
+
className: "size-4 rounded-md",
|
|
1265
|
+
"data-sidebar": "menu-skeleton-icon"
|
|
1266
|
+
}
|
|
1267
|
+
),
|
|
1268
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1269
|
+
Skeleton,
|
|
1270
|
+
{
|
|
1271
|
+
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
1272
|
+
"data-sidebar": "menu-skeleton-text",
|
|
1273
|
+
style: {
|
|
1274
|
+
"--skeleton-width": width
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
)
|
|
1278
|
+
]
|
|
1279
|
+
}
|
|
1280
|
+
);
|
|
1281
|
+
}
|
|
1282
|
+
function SidebarMenuSub({ className, ...props }) {
|
|
1283
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1284
|
+
"ul",
|
|
1285
|
+
{
|
|
1286
|
+
"data-slot": "sidebar-menu-sub",
|
|
1287
|
+
"data-sidebar": "menu-sub",
|
|
1288
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1289
|
+
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
|
|
1290
|
+
"group-data-[collapsible=icon]:hidden",
|
|
1291
|
+
className
|
|
1292
|
+
),
|
|
1293
|
+
...props
|
|
1294
|
+
}
|
|
1295
|
+
);
|
|
1296
|
+
}
|
|
1297
|
+
function SidebarMenuSubItem({
|
|
1298
|
+
className,
|
|
1299
|
+
...props
|
|
1300
|
+
}) {
|
|
1301
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1302
|
+
"li",
|
|
1303
|
+
{
|
|
1304
|
+
"data-slot": "sidebar-menu-sub-item",
|
|
1305
|
+
"data-sidebar": "menu-sub-item",
|
|
1306
|
+
className: chunkYSNZIYC2_cjs.cn("group/menu-sub-item relative", className),
|
|
1307
|
+
...props
|
|
1308
|
+
}
|
|
1309
|
+
);
|
|
1310
|
+
}
|
|
1311
|
+
function SidebarMenuSubButton({
|
|
1312
|
+
asChild = false,
|
|
1313
|
+
size = "md",
|
|
1314
|
+
isActive = false,
|
|
1315
|
+
className,
|
|
1316
|
+
...props
|
|
1317
|
+
}) {
|
|
1318
|
+
const Comp = asChild ? radixUi.Slot.Root : "a";
|
|
1319
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1320
|
+
Comp,
|
|
1321
|
+
{
|
|
1322
|
+
"data-slot": "sidebar-menu-sub-button",
|
|
1323
|
+
"data-sidebar": "menu-sub-button",
|
|
1324
|
+
"data-size": size,
|
|
1325
|
+
"data-active": isActive,
|
|
1326
|
+
className: chunkYSNZIYC2_cjs.cn(
|
|
1327
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
1328
|
+
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
|
1329
|
+
size === "sm" && "text-xs",
|
|
1330
|
+
size === "md" && "text-sm",
|
|
1331
|
+
"group-data-[collapsible=icon]:hidden",
|
|
1332
|
+
className
|
|
1333
|
+
),
|
|
1334
|
+
...props
|
|
1335
|
+
}
|
|
1336
|
+
);
|
|
1337
|
+
}
|
|
1338
|
+
var Toaster = ({ ...props }) => {
|
|
1339
|
+
const { theme = "system" } = nextThemes.useTheme();
|
|
1340
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1341
|
+
sonner.Toaster,
|
|
1342
|
+
{
|
|
1343
|
+
theme,
|
|
1344
|
+
className: "toaster group",
|
|
1345
|
+
icons: {
|
|
1346
|
+
success: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleCheckIcon, { className: "size-4" }),
|
|
1347
|
+
info: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "size-4" }),
|
|
1348
|
+
warning: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlertIcon, { className: "size-4" }),
|
|
1349
|
+
error: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.OctagonXIcon, { className: "size-4" }),
|
|
1350
|
+
loading: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2Icon, { className: "size-4 animate-spin" })
|
|
1351
|
+
},
|
|
1352
|
+
style: {
|
|
1353
|
+
"--normal-bg": "var(--popover)",
|
|
1354
|
+
"--normal-text": "var(--popover-foreground)",
|
|
1355
|
+
"--normal-border": "var(--border)",
|
|
1356
|
+
"--border-radius": "var(--radius)"
|
|
1357
|
+
},
|
|
1358
|
+
...props
|
|
1359
|
+
}
|
|
1360
|
+
);
|
|
1361
|
+
};
|
|
1362
|
+
|
|
1363
|
+
exports.Accordion = Accordion;
|
|
1364
|
+
exports.AccordionContent = AccordionContent;
|
|
1365
|
+
exports.AccordionItem = AccordionItem;
|
|
1366
|
+
exports.AccordionTrigger = AccordionTrigger;
|
|
1367
|
+
exports.AlertDialog = AlertDialog;
|
|
1368
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
1369
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
1370
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
1371
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
1372
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
1373
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
1374
|
+
exports.AlertDialogMedia = AlertDialogMedia;
|
|
1375
|
+
exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
1376
|
+
exports.AlertDialogPortal = AlertDialogPortal;
|
|
1377
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
1378
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
1379
|
+
exports.Avatar = Avatar;
|
|
1380
|
+
exports.AvatarBadge = AvatarBadge;
|
|
1381
|
+
exports.AvatarFallback = AvatarFallback;
|
|
1382
|
+
exports.AvatarGroup = AvatarGroup;
|
|
1383
|
+
exports.AvatarGroupCount = AvatarGroupCount;
|
|
1384
|
+
exports.AvatarImage = AvatarImage;
|
|
1385
|
+
exports.Card = Card;
|
|
1386
|
+
exports.CardAction = CardAction;
|
|
1387
|
+
exports.CardContent = CardContent;
|
|
1388
|
+
exports.CardDescription = CardDescription;
|
|
1389
|
+
exports.CardFooter = CardFooter;
|
|
1390
|
+
exports.CardHeader = CardHeader;
|
|
1391
|
+
exports.CardTitle = CardTitle;
|
|
1392
|
+
exports.Checkbox = Checkbox;
|
|
1393
|
+
exports.Dialog = Dialog;
|
|
1394
|
+
exports.DialogClose = DialogClose;
|
|
1395
|
+
exports.DialogContent = DialogContent;
|
|
1396
|
+
exports.DialogDescription = DialogDescription;
|
|
1397
|
+
exports.DialogFooter = DialogFooter;
|
|
1398
|
+
exports.DialogHeader = DialogHeader;
|
|
1399
|
+
exports.DialogOverlay = DialogOverlay;
|
|
1400
|
+
exports.DialogPortal = DialogPortal;
|
|
1401
|
+
exports.DialogTitle = DialogTitle;
|
|
1402
|
+
exports.DialogTrigger = DialogTrigger;
|
|
1403
|
+
exports.Sheet = Sheet;
|
|
1404
|
+
exports.SheetClose = SheetClose;
|
|
1405
|
+
exports.SheetContent = SheetContent;
|
|
1406
|
+
exports.SheetDescription = SheetDescription;
|
|
1407
|
+
exports.SheetFooter = SheetFooter;
|
|
1408
|
+
exports.SheetHeader = SheetHeader;
|
|
1409
|
+
exports.SheetTitle = SheetTitle;
|
|
1410
|
+
exports.SheetTrigger = SheetTrigger;
|
|
1411
|
+
exports.Sidebar = Sidebar;
|
|
1412
|
+
exports.SidebarContent = SidebarContent;
|
|
1413
|
+
exports.SidebarFooter = SidebarFooter;
|
|
1414
|
+
exports.SidebarGroup = SidebarGroup;
|
|
1415
|
+
exports.SidebarGroupAction = SidebarGroupAction;
|
|
1416
|
+
exports.SidebarGroupContent = SidebarGroupContent;
|
|
1417
|
+
exports.SidebarGroupLabel = SidebarGroupLabel;
|
|
1418
|
+
exports.SidebarHeader = SidebarHeader;
|
|
1419
|
+
exports.SidebarInput = SidebarInput;
|
|
1420
|
+
exports.SidebarInset = SidebarInset;
|
|
1421
|
+
exports.SidebarMenu = SidebarMenu;
|
|
1422
|
+
exports.SidebarMenuAction = SidebarMenuAction;
|
|
1423
|
+
exports.SidebarMenuBadge = SidebarMenuBadge;
|
|
1424
|
+
exports.SidebarMenuButton = SidebarMenuButton;
|
|
1425
|
+
exports.SidebarMenuItem = SidebarMenuItem;
|
|
1426
|
+
exports.SidebarMenuSkeleton = SidebarMenuSkeleton;
|
|
1427
|
+
exports.SidebarMenuSub = SidebarMenuSub;
|
|
1428
|
+
exports.SidebarMenuSubButton = SidebarMenuSubButton;
|
|
1429
|
+
exports.SidebarMenuSubItem = SidebarMenuSubItem;
|
|
1430
|
+
exports.SidebarProvider = SidebarProvider;
|
|
1431
|
+
exports.SidebarRail = SidebarRail;
|
|
1432
|
+
exports.SidebarSeparator = SidebarSeparator;
|
|
1433
|
+
exports.SidebarTrigger = SidebarTrigger;
|
|
1434
|
+
exports.Skeleton = Skeleton;
|
|
1435
|
+
exports.Toaster = Toaster;
|
|
1436
|
+
exports.Tooltip = Tooltip;
|
|
1437
|
+
exports.TooltipContent = TooltipContent;
|
|
1438
|
+
exports.TooltipProvider = TooltipProvider;
|
|
1439
|
+
exports.TooltipTrigger = TooltipTrigger;
|
|
1440
|
+
exports.useSidebar = useSidebar;
|
|
1441
|
+
//# sourceMappingURL=chunk-CN4BR5A5.cjs.map
|
|
1442
|
+
//# sourceMappingURL=chunk-CN4BR5A5.cjs.map
|