@greatapps/greatauth-ui 0.3.18 → 0.3.19
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-5XZPBJRT.js +28 -0
- package/dist/chunk-5XZPBJRT.js.map +1 -0
- package/dist/chunk-OS2C4IWR.js +1790 -0
- package/dist/chunk-OS2C4IWR.js.map +1 -0
- package/dist/index.js +390 -1849
- package/dist/index.js.map +1 -1
- package/dist/middleware.js +4 -22
- package/dist/middleware.js.map +1 -1
- package/dist/ui.js +493 -2055
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
- package/src/components/app-header.tsx +2 -1
- package/src/components/app-sidebar.tsx +7 -7
- package/src/components/users/users-page.tsx +8 -5
- package/src/hooks/use-auth.ts +38 -33
- package/src/hooks/use-mobile.ts +5 -3
- package/src/hooks/use-users.ts +1 -1
package/dist/ui.js
CHANGED
|
@@ -1,1878 +1,493 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
DialogPrimitive.Content,
|
|
110
|
-
{
|
|
111
|
-
"data-slot": "dialog-content",
|
|
112
|
-
className: cn(
|
|
113
|
-
"bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-6 rounded-xl p-6 text-sm ring-1 duration-100 sm:max-w-md fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none",
|
|
114
|
-
className
|
|
115
|
-
),
|
|
116
|
-
...props,
|
|
117
|
-
children: [
|
|
118
|
-
children,
|
|
119
|
-
showCloseButton && /* @__PURE__ */ jsx2(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", className: "absolute top-4 right-4", size: "icon-sm", children: [
|
|
120
|
-
/* @__PURE__ */ jsx2(X, {}),
|
|
121
|
-
/* @__PURE__ */ jsx2("span", { className: "sr-only", children: "Close" })
|
|
122
|
-
] }) })
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
)
|
|
126
|
-
] });
|
|
127
|
-
}
|
|
128
|
-
function DialogHeader({ className, ...props }) {
|
|
129
|
-
return /* @__PURE__ */ jsx2(
|
|
130
|
-
"div",
|
|
131
|
-
{
|
|
132
|
-
"data-slot": "dialog-header",
|
|
133
|
-
className: cn("gap-2 flex flex-col", className),
|
|
134
|
-
...props
|
|
135
|
-
}
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
function DialogFooter({
|
|
139
|
-
className,
|
|
140
|
-
children,
|
|
141
|
-
...props
|
|
142
|
-
}) {
|
|
143
|
-
return /* @__PURE__ */ jsx2(
|
|
144
|
-
"div",
|
|
145
|
-
{
|
|
146
|
-
"data-slot": "dialog-footer",
|
|
147
|
-
className: cn(
|
|
148
|
-
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
149
|
-
className
|
|
150
|
-
),
|
|
151
|
-
...props,
|
|
152
|
-
children
|
|
153
|
-
}
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
function DialogTitle({
|
|
157
|
-
className,
|
|
158
|
-
...props
|
|
159
|
-
}) {
|
|
160
|
-
return /* @__PURE__ */ jsx2(
|
|
161
|
-
DialogPrimitive.Title,
|
|
162
|
-
{
|
|
163
|
-
"data-slot": "dialog-title",
|
|
164
|
-
className: cn("leading-none font-medium", className),
|
|
165
|
-
...props
|
|
166
|
-
}
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
function DialogDescription({
|
|
170
|
-
className,
|
|
171
|
-
...props
|
|
172
|
-
}) {
|
|
173
|
-
return /* @__PURE__ */ jsx2(
|
|
174
|
-
DialogPrimitive.Description,
|
|
175
|
-
{
|
|
176
|
-
"data-slot": "dialog-description",
|
|
177
|
-
className: cn("text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3", className),
|
|
178
|
-
...props
|
|
179
|
-
}
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// src/components/ui/alert-dialog.tsx
|
|
184
|
-
import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
|
|
185
|
-
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
186
|
-
function AlertDialog({
|
|
187
|
-
...props
|
|
188
|
-
}) {
|
|
189
|
-
return /* @__PURE__ */ jsx3(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
190
|
-
}
|
|
191
|
-
function AlertDialogTrigger({
|
|
192
|
-
...props
|
|
193
|
-
}) {
|
|
194
|
-
return /* @__PURE__ */ jsx3(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
195
|
-
}
|
|
196
|
-
function AlertDialogPortal({
|
|
197
|
-
...props
|
|
198
|
-
}) {
|
|
199
|
-
return /* @__PURE__ */ jsx3(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
200
|
-
}
|
|
201
|
-
function AlertDialogOverlay({
|
|
202
|
-
className,
|
|
203
|
-
...props
|
|
204
|
-
}) {
|
|
205
|
-
return /* @__PURE__ */ jsx3(
|
|
206
|
-
AlertDialogPrimitive.Overlay,
|
|
207
|
-
{
|
|
208
|
-
"data-slot": "alert-dialog-overlay",
|
|
209
|
-
className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50", className),
|
|
210
|
-
...props
|
|
211
|
-
}
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
function AlertDialogContent({
|
|
215
|
-
className,
|
|
216
|
-
size = "default",
|
|
217
|
-
...props
|
|
218
|
-
}) {
|
|
219
|
-
return /* @__PURE__ */ jsxs2(AlertDialogPortal, { children: [
|
|
220
|
-
/* @__PURE__ */ jsx3(AlertDialogOverlay, {}),
|
|
221
|
-
/* @__PURE__ */ jsx3(
|
|
222
|
-
AlertDialogPrimitive.Content,
|
|
223
|
-
{
|
|
224
|
-
"data-slot": "alert-dialog-content",
|
|
225
|
-
"data-size": size,
|
|
226
|
-
className: cn(
|
|
227
|
-
"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",
|
|
228
|
-
className
|
|
229
|
-
),
|
|
230
|
-
...props
|
|
231
|
-
}
|
|
232
|
-
)
|
|
233
|
-
] });
|
|
234
|
-
}
|
|
235
|
-
function AlertDialogHeader({
|
|
236
|
-
className,
|
|
237
|
-
...props
|
|
238
|
-
}) {
|
|
239
|
-
return /* @__PURE__ */ jsx3(
|
|
240
|
-
"div",
|
|
241
|
-
{
|
|
242
|
-
"data-slot": "alert-dialog-header",
|
|
243
|
-
className: cn("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]", className),
|
|
244
|
-
...props
|
|
245
|
-
}
|
|
246
|
-
);
|
|
247
|
-
}
|
|
248
|
-
function AlertDialogFooter({
|
|
249
|
-
className,
|
|
250
|
-
...props
|
|
251
|
-
}) {
|
|
252
|
-
return /* @__PURE__ */ jsx3(
|
|
253
|
-
"div",
|
|
254
|
-
{
|
|
255
|
-
"data-slot": "alert-dialog-footer",
|
|
256
|
-
className: cn(
|
|
257
|
-
"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",
|
|
258
|
-
className
|
|
259
|
-
),
|
|
260
|
-
...props
|
|
261
|
-
}
|
|
262
|
-
);
|
|
263
|
-
}
|
|
264
|
-
function AlertDialogTitle({
|
|
265
|
-
className,
|
|
266
|
-
...props
|
|
267
|
-
}) {
|
|
268
|
-
return /* @__PURE__ */ jsx3(
|
|
269
|
-
AlertDialogPrimitive.Title,
|
|
270
|
-
{
|
|
271
|
-
"data-slot": "alert-dialog-title",
|
|
272
|
-
className: cn("text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
|
|
273
|
-
...props
|
|
274
|
-
}
|
|
275
|
-
);
|
|
276
|
-
}
|
|
277
|
-
function AlertDialogDescription({
|
|
278
|
-
className,
|
|
279
|
-
...props
|
|
280
|
-
}) {
|
|
281
|
-
return /* @__PURE__ */ jsx3(
|
|
282
|
-
AlertDialogPrimitive.Description,
|
|
283
|
-
{
|
|
284
|
-
"data-slot": "alert-dialog-description",
|
|
285
|
-
className: cn("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3", className),
|
|
286
|
-
...props
|
|
287
|
-
}
|
|
288
|
-
);
|
|
289
|
-
}
|
|
290
|
-
function AlertDialogAction({
|
|
291
|
-
className,
|
|
292
|
-
variant = "default",
|
|
293
|
-
size = "default",
|
|
294
|
-
...props
|
|
295
|
-
}) {
|
|
296
|
-
return /* @__PURE__ */ jsx3(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx3(
|
|
297
|
-
AlertDialogPrimitive.Action,
|
|
298
|
-
{
|
|
299
|
-
"data-slot": "alert-dialog-action",
|
|
300
|
-
className: cn(className),
|
|
301
|
-
...props
|
|
302
|
-
}
|
|
303
|
-
) });
|
|
304
|
-
}
|
|
305
|
-
function AlertDialogCancel({
|
|
306
|
-
className,
|
|
307
|
-
variant = "outline",
|
|
308
|
-
size = "default",
|
|
309
|
-
...props
|
|
310
|
-
}) {
|
|
311
|
-
return /* @__PURE__ */ jsx3(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsx3(
|
|
312
|
-
AlertDialogPrimitive.Cancel,
|
|
313
|
-
{
|
|
314
|
-
"data-slot": "alert-dialog-cancel",
|
|
315
|
-
className: cn(className),
|
|
316
|
-
...props
|
|
317
|
-
}
|
|
318
|
-
) });
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
// src/components/ui/select.tsx
|
|
322
|
-
import { Select as SelectPrimitive } from "radix-ui";
|
|
323
|
-
import { ChevronsUpDown, Check, ChevronUp, ChevronDown } from "lucide-react";
|
|
324
|
-
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
325
|
-
function Select({
|
|
326
|
-
...props
|
|
327
|
-
}) {
|
|
328
|
-
return /* @__PURE__ */ jsx4(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
329
|
-
}
|
|
330
|
-
function SelectGroup({
|
|
331
|
-
className,
|
|
332
|
-
...props
|
|
333
|
-
}) {
|
|
334
|
-
return /* @__PURE__ */ jsx4(
|
|
335
|
-
SelectPrimitive.Group,
|
|
336
|
-
{
|
|
337
|
-
"data-slot": "select-group",
|
|
338
|
-
className: cn("scroll-my-1 p-1", className),
|
|
339
|
-
...props
|
|
340
|
-
}
|
|
341
|
-
);
|
|
342
|
-
}
|
|
343
|
-
function SelectValue({
|
|
344
|
-
...props
|
|
345
|
-
}) {
|
|
346
|
-
return /* @__PURE__ */ jsx4(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
347
|
-
}
|
|
348
|
-
function SelectTrigger({
|
|
349
|
-
className,
|
|
350
|
-
size = "default",
|
|
351
|
-
children,
|
|
352
|
-
...props
|
|
353
|
-
}) {
|
|
354
|
-
return /* @__PURE__ */ jsxs3(
|
|
355
|
-
SelectPrimitive.Trigger,
|
|
356
|
-
{
|
|
357
|
-
"data-slot": "select-trigger",
|
|
358
|
-
"data-size": size,
|
|
359
|
-
className: cn(
|
|
360
|
-
"border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
361
|
-
className
|
|
362
|
-
),
|
|
363
|
-
...props,
|
|
364
|
-
children: [
|
|
365
|
-
children,
|
|
366
|
-
/* @__PURE__ */ jsx4(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx4(ChevronsUpDown, { className: "text-muted-foreground size-4 pointer-events-none" }) })
|
|
367
|
-
]
|
|
368
|
-
}
|
|
369
|
-
);
|
|
370
|
-
}
|
|
371
|
-
function SelectContent({
|
|
372
|
-
className,
|
|
373
|
-
children,
|
|
374
|
-
position = "item-aligned",
|
|
375
|
-
align = "center",
|
|
376
|
-
...props
|
|
377
|
-
}) {
|
|
378
|
-
return /* @__PURE__ */ jsx4(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs3(
|
|
379
|
-
SelectPrimitive.Content,
|
|
380
|
-
{
|
|
381
|
-
"data-slot": "select-content",
|
|
382
|
-
"data-align-trigger": position === "item-aligned",
|
|
383
|
-
className: cn("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open: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 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
384
|
-
position,
|
|
385
|
-
align,
|
|
386
|
-
...props,
|
|
387
|
-
children: [
|
|
388
|
-
/* @__PURE__ */ jsx4(SelectScrollUpButton, {}),
|
|
389
|
-
/* @__PURE__ */ jsx4(
|
|
390
|
-
SelectPrimitive.Viewport,
|
|
391
|
-
{
|
|
392
|
-
"data-position": position,
|
|
393
|
-
className: cn(
|
|
394
|
-
"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",
|
|
395
|
-
position === "popper" && ""
|
|
396
|
-
),
|
|
397
|
-
children
|
|
398
|
-
}
|
|
399
|
-
),
|
|
400
|
-
/* @__PURE__ */ jsx4(SelectScrollDownButton, {})
|
|
401
|
-
]
|
|
402
|
-
}
|
|
403
|
-
) });
|
|
404
|
-
}
|
|
405
|
-
function SelectLabel({
|
|
406
|
-
className,
|
|
407
|
-
...props
|
|
408
|
-
}) {
|
|
409
|
-
return /* @__PURE__ */ jsx4(
|
|
410
|
-
SelectPrimitive.Label,
|
|
411
|
-
{
|
|
412
|
-
"data-slot": "select-label",
|
|
413
|
-
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
414
|
-
...props
|
|
415
|
-
}
|
|
416
|
-
);
|
|
417
|
-
}
|
|
418
|
-
function SelectItem({
|
|
419
|
-
className,
|
|
420
|
-
children,
|
|
421
|
-
...props
|
|
422
|
-
}) {
|
|
423
|
-
return /* @__PURE__ */ jsxs3(
|
|
424
|
-
SelectPrimitive.Item,
|
|
425
|
-
{
|
|
426
|
-
"data-slot": "select-item",
|
|
427
|
-
className: cn(
|
|
428
|
-
"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
429
|
-
className
|
|
430
|
-
),
|
|
431
|
-
...props,
|
|
432
|
-
children: [
|
|
433
|
-
/* @__PURE__ */ jsx4("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx4(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx4(Check, { className: "pointer-events-none" }) }) }),
|
|
434
|
-
/* @__PURE__ */ jsx4(SelectPrimitive.ItemText, { children })
|
|
435
|
-
]
|
|
436
|
-
}
|
|
437
|
-
);
|
|
438
|
-
}
|
|
439
|
-
function SelectSeparator({
|
|
440
|
-
className,
|
|
441
|
-
...props
|
|
442
|
-
}) {
|
|
443
|
-
return /* @__PURE__ */ jsx4(
|
|
444
|
-
SelectPrimitive.Separator,
|
|
445
|
-
{
|
|
446
|
-
"data-slot": "select-separator",
|
|
447
|
-
className: cn("bg-border -mx-1 my-1 h-px pointer-events-none", className),
|
|
448
|
-
...props
|
|
449
|
-
}
|
|
450
|
-
);
|
|
451
|
-
}
|
|
452
|
-
function SelectScrollUpButton({
|
|
453
|
-
className,
|
|
454
|
-
...props
|
|
455
|
-
}) {
|
|
456
|
-
return /* @__PURE__ */ jsx4(
|
|
457
|
-
SelectPrimitive.ScrollUpButton,
|
|
458
|
-
{
|
|
459
|
-
"data-slot": "select-scroll-up-button",
|
|
460
|
-
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
461
|
-
...props,
|
|
462
|
-
children: /* @__PURE__ */ jsx4(ChevronUp, {})
|
|
463
|
-
}
|
|
464
|
-
);
|
|
465
|
-
}
|
|
466
|
-
function SelectScrollDownButton({
|
|
467
|
-
className,
|
|
468
|
-
...props
|
|
469
|
-
}) {
|
|
470
|
-
return /* @__PURE__ */ jsx4(
|
|
471
|
-
SelectPrimitive.ScrollDownButton,
|
|
472
|
-
{
|
|
473
|
-
"data-slot": "select-scroll-down-button",
|
|
474
|
-
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
475
|
-
...props,
|
|
476
|
-
children: /* @__PURE__ */ jsx4(ChevronDown, {})
|
|
477
|
-
}
|
|
478
|
-
);
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
// src/components/ui/input.tsx
|
|
482
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
483
|
-
function Input({ className, type, ...props }) {
|
|
484
|
-
return /* @__PURE__ */ jsx5(
|
|
485
|
-
"input",
|
|
486
|
-
{
|
|
487
|
-
type,
|
|
488
|
-
"data-slot": "input",
|
|
489
|
-
className: cn(
|
|
490
|
-
"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-3 aria-invalid:ring-3 md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
491
|
-
className
|
|
492
|
-
),
|
|
493
|
-
...props
|
|
494
|
-
}
|
|
495
|
-
);
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
// src/components/ui/label.tsx
|
|
499
|
-
import { Label as LabelPrimitive } from "radix-ui";
|
|
500
|
-
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
501
|
-
function Label({
|
|
502
|
-
className,
|
|
503
|
-
...props
|
|
504
|
-
}) {
|
|
505
|
-
return /* @__PURE__ */ jsx6(
|
|
506
|
-
LabelPrimitive.Root,
|
|
507
|
-
{
|
|
508
|
-
"data-slot": "label",
|
|
509
|
-
className: cn(
|
|
510
|
-
"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",
|
|
511
|
-
className
|
|
512
|
-
),
|
|
513
|
-
...props
|
|
514
|
-
}
|
|
515
|
-
);
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
// src/components/ui/textarea.tsx
|
|
519
|
-
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
520
|
-
function Textarea({ className, ...props }) {
|
|
521
|
-
return /* @__PURE__ */ jsx7(
|
|
522
|
-
"textarea",
|
|
523
|
-
{
|
|
524
|
-
"data-slot": "textarea",
|
|
525
|
-
className: cn(
|
|
526
|
-
"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-3 aria-invalid:ring-3 md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
527
|
-
className
|
|
528
|
-
),
|
|
529
|
-
...props
|
|
530
|
-
}
|
|
531
|
-
);
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
// src/components/ui/card.tsx
|
|
535
|
-
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
536
|
-
function Card({
|
|
537
|
-
className,
|
|
538
|
-
size = "default",
|
|
539
|
-
...props
|
|
540
|
-
}) {
|
|
541
|
-
return /* @__PURE__ */ jsx8(
|
|
542
|
-
"div",
|
|
543
|
-
{
|
|
544
|
-
"data-slot": "card",
|
|
545
|
-
"data-size": size,
|
|
546
|
-
className: cn("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col", className),
|
|
547
|
-
...props
|
|
548
|
-
}
|
|
549
|
-
);
|
|
550
|
-
}
|
|
551
|
-
function CardHeader({ className, ...props }) {
|
|
552
|
-
return /* @__PURE__ */ jsx8(
|
|
553
|
-
"div",
|
|
554
|
-
{
|
|
555
|
-
"data-slot": "card-header",
|
|
556
|
-
className: cn(
|
|
557
|
-
"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",
|
|
558
|
-
className
|
|
559
|
-
),
|
|
560
|
-
...props
|
|
561
|
-
}
|
|
562
|
-
);
|
|
563
|
-
}
|
|
564
|
-
function CardTitle({ className, ...props }) {
|
|
565
|
-
return /* @__PURE__ */ jsx8(
|
|
566
|
-
"div",
|
|
567
|
-
{
|
|
568
|
-
"data-slot": "card-title",
|
|
569
|
-
className: cn("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", className),
|
|
570
|
-
...props
|
|
571
|
-
}
|
|
572
|
-
);
|
|
573
|
-
}
|
|
574
|
-
function CardDescription({ className, ...props }) {
|
|
575
|
-
return /* @__PURE__ */ jsx8(
|
|
576
|
-
"div",
|
|
577
|
-
{
|
|
578
|
-
"data-slot": "card-description",
|
|
579
|
-
className: cn("text-muted-foreground text-sm", className),
|
|
580
|
-
...props
|
|
581
|
-
}
|
|
582
|
-
);
|
|
583
|
-
}
|
|
584
|
-
function CardContent({ className, ...props }) {
|
|
585
|
-
return /* @__PURE__ */ jsx8(
|
|
586
|
-
"div",
|
|
587
|
-
{
|
|
588
|
-
"data-slot": "card-content",
|
|
589
|
-
className: cn("px-6 group-data-[size=sm]/card:px-4", className),
|
|
590
|
-
...props
|
|
591
|
-
}
|
|
592
|
-
);
|
|
593
|
-
}
|
|
594
|
-
function CardFooter({ className, ...props }) {
|
|
595
|
-
return /* @__PURE__ */ jsx8(
|
|
596
|
-
"div",
|
|
597
|
-
{
|
|
598
|
-
"data-slot": "card-footer",
|
|
599
|
-
className: cn("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center", className),
|
|
600
|
-
...props
|
|
601
|
-
}
|
|
602
|
-
);
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
// src/components/ui/badge.tsx
|
|
606
|
-
import { cva as cva2 } from "class-variance-authority";
|
|
607
|
-
import { Slot as Slot2 } from "radix-ui";
|
|
608
|
-
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
609
|
-
var badgeVariants = cva2(
|
|
610
|
-
"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge",
|
|
611
|
-
{
|
|
612
|
-
variants: {
|
|
613
|
-
variant: {
|
|
614
|
-
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
|
|
615
|
-
secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
|
|
616
|
-
destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",
|
|
617
|
-
outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",
|
|
618
|
-
ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
|
|
619
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
620
|
-
}
|
|
621
|
-
},
|
|
622
|
-
defaultVariants: {
|
|
623
|
-
variant: "default"
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
);
|
|
627
|
-
function Badge({
|
|
628
|
-
className,
|
|
629
|
-
variant = "default",
|
|
630
|
-
asChild = false,
|
|
631
|
-
...props
|
|
632
|
-
}) {
|
|
633
|
-
const Comp = asChild ? Slot2.Root : "span";
|
|
634
|
-
return /* @__PURE__ */ jsx9(
|
|
635
|
-
Comp,
|
|
636
|
-
{
|
|
637
|
-
"data-slot": "badge",
|
|
638
|
-
"data-variant": variant,
|
|
639
|
-
className: cn(badgeVariants({ variant }), className),
|
|
640
|
-
...props
|
|
641
|
-
}
|
|
642
|
-
);
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
// src/components/ui/avatar.tsx
|
|
646
|
-
import { Avatar as AvatarPrimitive } from "radix-ui";
|
|
647
|
-
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
648
|
-
function Avatar({
|
|
649
|
-
className,
|
|
650
|
-
size = "default",
|
|
651
|
-
...props
|
|
652
|
-
}) {
|
|
653
|
-
return /* @__PURE__ */ jsx10(
|
|
654
|
-
AvatarPrimitive.Root,
|
|
655
|
-
{
|
|
656
|
-
"data-slot": "avatar",
|
|
657
|
-
"data-size": size,
|
|
658
|
-
className: cn(
|
|
659
|
-
"size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten",
|
|
660
|
-
className
|
|
661
|
-
),
|
|
662
|
-
...props
|
|
663
|
-
}
|
|
664
|
-
);
|
|
665
|
-
}
|
|
666
|
-
function AvatarImage({
|
|
667
|
-
className,
|
|
668
|
-
...props
|
|
669
|
-
}) {
|
|
670
|
-
return /* @__PURE__ */ jsx10(
|
|
671
|
-
AvatarPrimitive.Image,
|
|
672
|
-
{
|
|
673
|
-
"data-slot": "avatar-image",
|
|
674
|
-
className: cn(
|
|
675
|
-
"rounded-full aspect-square size-full object-cover",
|
|
676
|
-
className
|
|
677
|
-
),
|
|
678
|
-
...props
|
|
679
|
-
}
|
|
680
|
-
);
|
|
681
|
-
}
|
|
682
|
-
function AvatarFallback({
|
|
683
|
-
className,
|
|
684
|
-
...props
|
|
685
|
-
}) {
|
|
686
|
-
return /* @__PURE__ */ jsx10(
|
|
687
|
-
AvatarPrimitive.Fallback,
|
|
688
|
-
{
|
|
689
|
-
"data-slot": "avatar-fallback",
|
|
690
|
-
className: cn(
|
|
691
|
-
"bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs",
|
|
692
|
-
className
|
|
693
|
-
),
|
|
694
|
-
...props
|
|
695
|
-
}
|
|
696
|
-
);
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
// src/components/ui/tooltip.tsx
|
|
700
|
-
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
701
|
-
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
702
|
-
function TooltipProvider({
|
|
703
|
-
delayDuration = 0,
|
|
704
|
-
...props
|
|
705
|
-
}) {
|
|
706
|
-
return /* @__PURE__ */ jsx11(
|
|
707
|
-
TooltipPrimitive.Provider,
|
|
708
|
-
{
|
|
709
|
-
"data-slot": "tooltip-provider",
|
|
710
|
-
delayDuration,
|
|
711
|
-
...props
|
|
712
|
-
}
|
|
713
|
-
);
|
|
714
|
-
}
|
|
715
|
-
function Tooltip({
|
|
716
|
-
...props
|
|
717
|
-
}) {
|
|
718
|
-
return /* @__PURE__ */ jsx11(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
719
|
-
}
|
|
720
|
-
function TooltipTrigger({
|
|
721
|
-
...props
|
|
722
|
-
}) {
|
|
723
|
-
return /* @__PURE__ */ jsx11(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
724
|
-
}
|
|
725
|
-
function TooltipContent({
|
|
726
|
-
className,
|
|
727
|
-
sideOffset = 0,
|
|
728
|
-
children,
|
|
729
|
-
...props
|
|
730
|
-
}) {
|
|
731
|
-
return /* @__PURE__ */ jsx11(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs4(
|
|
732
|
-
TooltipPrimitive.Content,
|
|
733
|
-
{
|
|
734
|
-
"data-slot": "tooltip-content",
|
|
735
|
-
sideOffset,
|
|
736
|
-
className: cn(
|
|
737
|
-
"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-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 rounded-md px-3 py-1.5 text-xs bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin)",
|
|
738
|
-
className
|
|
739
|
-
),
|
|
740
|
-
...props,
|
|
741
|
-
children: [
|
|
742
|
-
children,
|
|
743
|
-
/* @__PURE__ */ jsx11(TooltipPrimitive.Arrow, { className: "size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-50 translate-y-[calc(-50%_-_2px)]" })
|
|
744
|
-
]
|
|
745
|
-
}
|
|
746
|
-
) });
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
// src/components/ui/dropdown-menu.tsx
|
|
750
|
-
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
|
|
751
|
-
import { Check as Check2, ChevronRight } from "lucide-react";
|
|
752
|
-
import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
753
|
-
function DropdownMenu({
|
|
754
|
-
...props
|
|
755
|
-
}) {
|
|
756
|
-
return /* @__PURE__ */ jsx12(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
757
|
-
}
|
|
758
|
-
function DropdownMenuTrigger({
|
|
759
|
-
...props
|
|
760
|
-
}) {
|
|
761
|
-
return /* @__PURE__ */ jsx12(
|
|
762
|
-
DropdownMenuPrimitive.Trigger,
|
|
763
|
-
{
|
|
764
|
-
"data-slot": "dropdown-menu-trigger",
|
|
765
|
-
...props
|
|
766
|
-
}
|
|
767
|
-
);
|
|
768
|
-
}
|
|
769
|
-
function DropdownMenuContent({
|
|
770
|
-
className,
|
|
771
|
-
align = "start",
|
|
772
|
-
sideOffset = 4,
|
|
773
|
-
...props
|
|
774
|
-
}) {
|
|
775
|
-
return /* @__PURE__ */ jsx12(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx12(
|
|
776
|
-
DropdownMenuPrimitive.Content,
|
|
777
|
-
{
|
|
778
|
-
"data-slot": "dropdown-menu-content",
|
|
779
|
-
sideOffset,
|
|
780
|
-
align,
|
|
781
|
-
className: cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open: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 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden", className),
|
|
782
|
-
...props
|
|
783
|
-
}
|
|
784
|
-
) });
|
|
785
|
-
}
|
|
786
|
-
function DropdownMenuGroup({
|
|
787
|
-
...props
|
|
788
|
-
}) {
|
|
789
|
-
return /* @__PURE__ */ jsx12(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
790
|
-
}
|
|
791
|
-
function DropdownMenuItem({
|
|
792
|
-
className,
|
|
793
|
-
inset,
|
|
794
|
-
variant = "default",
|
|
795
|
-
...props
|
|
796
|
-
}) {
|
|
797
|
-
return /* @__PURE__ */ jsx12(
|
|
798
|
-
DropdownMenuPrimitive.Item,
|
|
799
|
-
{
|
|
800
|
-
"data-slot": "dropdown-menu-item",
|
|
801
|
-
"data-inset": inset,
|
|
802
|
-
"data-variant": variant,
|
|
803
|
-
className: cn(
|
|
804
|
-
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm data-inset:pl-8 [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
805
|
-
className
|
|
806
|
-
),
|
|
807
|
-
...props
|
|
808
|
-
}
|
|
809
|
-
);
|
|
810
|
-
}
|
|
811
|
-
function DropdownMenuLabel({
|
|
812
|
-
className,
|
|
813
|
-
inset,
|
|
814
|
-
...props
|
|
815
|
-
}) {
|
|
816
|
-
return /* @__PURE__ */ jsx12(
|
|
817
|
-
DropdownMenuPrimitive.Label,
|
|
818
|
-
{
|
|
819
|
-
"data-slot": "dropdown-menu-label",
|
|
820
|
-
"data-inset": inset,
|
|
821
|
-
className: cn("text-muted-foreground px-2 py-1.5 text-xs font-medium data-inset:pl-8", className),
|
|
822
|
-
...props
|
|
823
|
-
}
|
|
824
|
-
);
|
|
825
|
-
}
|
|
826
|
-
function DropdownMenuSeparator({
|
|
827
|
-
className,
|
|
828
|
-
...props
|
|
829
|
-
}) {
|
|
830
|
-
return /* @__PURE__ */ jsx12(
|
|
831
|
-
DropdownMenuPrimitive.Separator,
|
|
832
|
-
{
|
|
833
|
-
"data-slot": "dropdown-menu-separator",
|
|
834
|
-
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
835
|
-
...props
|
|
836
|
-
}
|
|
837
|
-
);
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
// src/components/ui/separator.tsx
|
|
841
|
-
import { Separator as SeparatorPrimitive } from "radix-ui";
|
|
842
|
-
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
843
|
-
function Separator({
|
|
844
|
-
className,
|
|
845
|
-
orientation = "horizontal",
|
|
846
|
-
decorative = true,
|
|
847
|
-
...props
|
|
848
|
-
}) {
|
|
849
|
-
return /* @__PURE__ */ jsx13(
|
|
850
|
-
SeparatorPrimitive.Root,
|
|
851
|
-
{
|
|
852
|
-
"data-slot": "separator",
|
|
853
|
-
decorative,
|
|
854
|
-
orientation,
|
|
855
|
-
className: cn(
|
|
856
|
-
"bg-border shrink-0 data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
857
|
-
className
|
|
858
|
-
),
|
|
859
|
-
...props
|
|
860
|
-
}
|
|
861
|
-
);
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
// src/components/ui/skeleton.tsx
|
|
865
|
-
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
866
|
-
function Skeleton({ className, ...props }) {
|
|
867
|
-
return /* @__PURE__ */ jsx14(
|
|
868
|
-
"div",
|
|
869
|
-
{
|
|
870
|
-
"data-slot": "skeleton",
|
|
871
|
-
className: cn("bg-muted rounded-md animate-pulse", className),
|
|
872
|
-
...props
|
|
873
|
-
}
|
|
874
|
-
);
|
|
875
|
-
}
|
|
876
|
-
|
|
877
|
-
// src/components/ui/scroll-area.tsx
|
|
878
|
-
import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
|
|
879
|
-
import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
880
|
-
function ScrollArea({
|
|
881
|
-
className,
|
|
882
|
-
children,
|
|
883
|
-
...props
|
|
884
|
-
}) {
|
|
885
|
-
return /* @__PURE__ */ jsxs6(
|
|
886
|
-
ScrollAreaPrimitive.Root,
|
|
887
|
-
{
|
|
888
|
-
"data-slot": "scroll-area",
|
|
889
|
-
className: cn("relative", className),
|
|
890
|
-
...props,
|
|
891
|
-
children: [
|
|
892
|
-
/* @__PURE__ */ jsx15(
|
|
893
|
-
ScrollAreaPrimitive.Viewport,
|
|
894
|
-
{
|
|
895
|
-
"data-slot": "scroll-area-viewport",
|
|
896
|
-
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
|
|
897
|
-
children
|
|
898
|
-
}
|
|
899
|
-
),
|
|
900
|
-
/* @__PURE__ */ jsx15(ScrollBar, {}),
|
|
901
|
-
/* @__PURE__ */ jsx15(ScrollAreaPrimitive.Corner, {})
|
|
902
|
-
]
|
|
903
|
-
}
|
|
904
|
-
);
|
|
905
|
-
}
|
|
906
|
-
function ScrollBar({
|
|
907
|
-
className,
|
|
908
|
-
orientation = "vertical",
|
|
909
|
-
...props
|
|
910
|
-
}) {
|
|
911
|
-
return /* @__PURE__ */ jsx15(
|
|
912
|
-
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
913
|
-
{
|
|
914
|
-
"data-slot": "scroll-area-scrollbar",
|
|
915
|
-
"data-orientation": orientation,
|
|
916
|
-
orientation,
|
|
917
|
-
className: cn(
|
|
918
|
-
"data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent flex touch-none p-px transition-colors select-none",
|
|
919
|
-
className
|
|
920
|
-
),
|
|
921
|
-
...props,
|
|
922
|
-
children: /* @__PURE__ */ jsx15(
|
|
923
|
-
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
924
|
-
{
|
|
925
|
-
"data-slot": "scroll-area-thumb",
|
|
926
|
-
className: "rounded-full bg-border relative flex-1"
|
|
927
|
-
}
|
|
928
|
-
)
|
|
929
|
-
}
|
|
930
|
-
);
|
|
931
|
-
}
|
|
932
|
-
|
|
933
|
-
// src/components/ui/tabs.tsx
|
|
934
|
-
import { cva as cva3 } from "class-variance-authority";
|
|
935
|
-
import { Tabs as TabsPrimitive } from "radix-ui";
|
|
936
|
-
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
937
|
-
function Tabs({
|
|
938
|
-
className,
|
|
939
|
-
orientation = "horizontal",
|
|
940
|
-
...props
|
|
941
|
-
}) {
|
|
942
|
-
return /* @__PURE__ */ jsx16(
|
|
943
|
-
TabsPrimitive.Root,
|
|
944
|
-
{
|
|
945
|
-
"data-slot": "tabs",
|
|
946
|
-
"data-orientation": orientation,
|
|
947
|
-
className: cn(
|
|
948
|
-
"gap-2 group/tabs flex data-horizontal:flex-col",
|
|
949
|
-
className
|
|
950
|
-
),
|
|
951
|
-
...props
|
|
952
|
-
}
|
|
953
|
-
);
|
|
954
|
-
}
|
|
955
|
-
var tabsListVariants = cva3(
|
|
956
|
-
"rounded-lg p-[3px] group-data-horizontal/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col",
|
|
957
|
-
{
|
|
958
|
-
variants: {
|
|
959
|
-
variant: {
|
|
960
|
-
default: "bg-muted",
|
|
961
|
-
line: "gap-1 bg-transparent"
|
|
962
|
-
}
|
|
963
|
-
},
|
|
964
|
-
defaultVariants: {
|
|
965
|
-
variant: "default"
|
|
966
|
-
}
|
|
967
|
-
}
|
|
968
|
-
);
|
|
969
|
-
function TabsList({
|
|
970
|
-
className,
|
|
971
|
-
variant = "default",
|
|
972
|
-
...props
|
|
973
|
-
}) {
|
|
974
|
-
return /* @__PURE__ */ jsx16(
|
|
975
|
-
TabsPrimitive.List,
|
|
976
|
-
{
|
|
977
|
-
"data-slot": "tabs-list",
|
|
978
|
-
"data-variant": variant,
|
|
979
|
-
className: cn(tabsListVariants({ variant }), className),
|
|
980
|
-
...props
|
|
981
|
-
}
|
|
982
|
-
);
|
|
983
|
-
}
|
|
984
|
-
function TabsTrigger({
|
|
985
|
-
className,
|
|
986
|
-
...props
|
|
987
|
-
}) {
|
|
988
|
-
return /* @__PURE__ */ jsx16(
|
|
989
|
-
TabsPrimitive.Trigger,
|
|
990
|
-
{
|
|
991
|
-
"data-slot": "tabs-trigger",
|
|
992
|
-
className: cn(
|
|
993
|
-
"gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
994
|
-
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
|
|
995
|
-
"data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground",
|
|
996
|
-
"after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
|
|
997
|
-
className
|
|
998
|
-
),
|
|
999
|
-
...props
|
|
1000
|
-
}
|
|
1001
|
-
);
|
|
1002
|
-
}
|
|
1003
|
-
function TabsContent({
|
|
1004
|
-
className,
|
|
1005
|
-
...props
|
|
1006
|
-
}) {
|
|
1007
|
-
return /* @__PURE__ */ jsx16(
|
|
1008
|
-
TabsPrimitive.Content,
|
|
1009
|
-
{
|
|
1010
|
-
"data-slot": "tabs-content",
|
|
1011
|
-
className: cn("text-sm flex-1 outline-none", className),
|
|
1012
|
-
...props
|
|
1013
|
-
}
|
|
1014
|
-
);
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
// src/components/ui/table.tsx
|
|
1018
|
-
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1019
|
-
function Table({ className, ...props }) {
|
|
1020
|
-
return /* @__PURE__ */ jsx17("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ jsx17(
|
|
1021
|
-
"table",
|
|
1022
|
-
{
|
|
1023
|
-
"data-slot": "table",
|
|
1024
|
-
className: cn("w-full caption-bottom text-sm", className),
|
|
1025
|
-
...props
|
|
1026
|
-
}
|
|
1027
|
-
) });
|
|
1028
|
-
}
|
|
1029
|
-
function TableHeader({ className, ...props }) {
|
|
1030
|
-
return /* @__PURE__ */ jsx17(
|
|
1031
|
-
"thead",
|
|
1032
|
-
{
|
|
1033
|
-
"data-slot": "table-header",
|
|
1034
|
-
className: cn("[&_tr]:border-b", className),
|
|
1035
|
-
...props
|
|
1036
|
-
}
|
|
1037
|
-
);
|
|
1038
|
-
}
|
|
1039
|
-
function TableBody({ className, ...props }) {
|
|
1040
|
-
return /* @__PURE__ */ jsx17(
|
|
1041
|
-
"tbody",
|
|
1042
|
-
{
|
|
1043
|
-
"data-slot": "table-body",
|
|
1044
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
1045
|
-
...props
|
|
1046
|
-
}
|
|
1047
|
-
);
|
|
1048
|
-
}
|
|
1049
|
-
function TableFooter({ className, ...props }) {
|
|
1050
|
-
return /* @__PURE__ */ jsx17(
|
|
1051
|
-
"tfoot",
|
|
1052
|
-
{
|
|
1053
|
-
"data-slot": "table-footer",
|
|
1054
|
-
className: cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", className),
|
|
1055
|
-
...props
|
|
1056
|
-
}
|
|
1057
|
-
);
|
|
1058
|
-
}
|
|
1059
|
-
function TableRow({ className, ...props }) {
|
|
1060
|
-
return /* @__PURE__ */ jsx17(
|
|
1061
|
-
"tr",
|
|
1062
|
-
{
|
|
1063
|
-
"data-slot": "table-row",
|
|
1064
|
-
className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className),
|
|
1065
|
-
...props
|
|
1066
|
-
}
|
|
1067
|
-
);
|
|
1068
|
-
}
|
|
1069
|
-
function TableHead({ className, ...props }) {
|
|
1070
|
-
return /* @__PURE__ */ jsx17(
|
|
1071
|
-
"th",
|
|
1072
|
-
{
|
|
1073
|
-
"data-slot": "table-head",
|
|
1074
|
-
className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
1075
|
-
...props
|
|
1076
|
-
}
|
|
1077
|
-
);
|
|
1078
|
-
}
|
|
1079
|
-
function TableCell({ className, ...props }) {
|
|
1080
|
-
return /* @__PURE__ */ jsx17(
|
|
1081
|
-
"td",
|
|
1082
|
-
{
|
|
1083
|
-
"data-slot": "table-cell",
|
|
1084
|
-
className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
1085
|
-
...props
|
|
1086
|
-
}
|
|
1087
|
-
);
|
|
1088
|
-
}
|
|
1089
|
-
function TableCaption({
|
|
1090
|
-
className,
|
|
1091
|
-
...props
|
|
1092
|
-
}) {
|
|
1093
|
-
return /* @__PURE__ */ jsx17(
|
|
1094
|
-
"caption",
|
|
1095
|
-
{
|
|
1096
|
-
"data-slot": "table-caption",
|
|
1097
|
-
className: cn("text-muted-foreground mt-4 text-sm", className),
|
|
1098
|
-
...props
|
|
1099
|
-
}
|
|
1100
|
-
);
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
// src/components/ui/progress.tsx
|
|
1104
|
-
import { Progress as ProgressPrimitive } from "radix-ui";
|
|
1105
|
-
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1106
|
-
function Progress({
|
|
1107
|
-
className,
|
|
1108
|
-
value,
|
|
1109
|
-
...props
|
|
1110
|
-
}) {
|
|
1111
|
-
return /* @__PURE__ */ jsx18(
|
|
1112
|
-
ProgressPrimitive.Root,
|
|
1113
|
-
{
|
|
1114
|
-
"data-slot": "progress",
|
|
1115
|
-
className: cn(
|
|
1116
|
-
"bg-muted h-1.5 rounded-full relative flex w-full items-center overflow-x-hidden",
|
|
1117
|
-
className
|
|
1118
|
-
),
|
|
1119
|
-
...props,
|
|
1120
|
-
children: /* @__PURE__ */ jsx18(
|
|
1121
|
-
ProgressPrimitive.Indicator,
|
|
1122
|
-
{
|
|
1123
|
-
"data-slot": "progress-indicator",
|
|
1124
|
-
className: "bg-primary size-full flex-1 transition-all",
|
|
1125
|
-
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
1126
|
-
}
|
|
1127
|
-
)
|
|
1128
|
-
}
|
|
1129
|
-
);
|
|
1130
|
-
}
|
|
1131
|
-
|
|
1132
|
-
// src/components/ui/command.tsx
|
|
1133
|
-
import { Command as CommandPrimitive } from "cmdk";
|
|
1134
|
-
import { Search } from "lucide-react";
|
|
1135
|
-
import { jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1136
|
-
function Command({
|
|
1137
|
-
className,
|
|
1138
|
-
...props
|
|
1139
|
-
}) {
|
|
1140
|
-
return /* @__PURE__ */ jsx19(
|
|
1141
|
-
CommandPrimitive,
|
|
1142
|
-
{
|
|
1143
|
-
"data-slot": "command",
|
|
1144
|
-
className: cn(
|
|
1145
|
-
"bg-popover text-popover-foreground rounded-xl p-1 flex size-full flex-col overflow-hidden",
|
|
1146
|
-
className
|
|
1147
|
-
),
|
|
1148
|
-
...props
|
|
1149
|
-
}
|
|
1150
|
-
);
|
|
1151
|
-
}
|
|
1152
|
-
function CommandInput({
|
|
1153
|
-
className,
|
|
1154
|
-
...props
|
|
1155
|
-
}) {
|
|
1156
|
-
return /* @__PURE__ */ jsxs7("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b px-3", children: [
|
|
1157
|
-
/* @__PURE__ */ jsx19(Search, { className: "size-4 shrink-0 opacity-50" }),
|
|
1158
|
-
/* @__PURE__ */ jsx19(
|
|
1159
|
-
CommandPrimitive.Input,
|
|
1160
|
-
{
|
|
1161
|
-
"data-slot": "command-input",
|
|
1162
|
-
className: cn(
|
|
1163
|
-
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
1164
|
-
className
|
|
1165
|
-
),
|
|
1166
|
-
...props
|
|
1167
|
-
}
|
|
1168
|
-
)
|
|
1169
|
-
] });
|
|
1170
|
-
}
|
|
1171
|
-
function CommandList({
|
|
1172
|
-
className,
|
|
1173
|
-
...props
|
|
1174
|
-
}) {
|
|
1175
|
-
return /* @__PURE__ */ jsx19(
|
|
1176
|
-
CommandPrimitive.List,
|
|
1177
|
-
{
|
|
1178
|
-
"data-slot": "command-list",
|
|
1179
|
-
className: cn(
|
|
1180
|
-
"no-scrollbar max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto",
|
|
1181
|
-
className
|
|
1182
|
-
),
|
|
1183
|
-
...props
|
|
1184
|
-
}
|
|
1185
|
-
);
|
|
1186
|
-
}
|
|
1187
|
-
function CommandEmpty({
|
|
1188
|
-
className,
|
|
1189
|
-
...props
|
|
1190
|
-
}) {
|
|
1191
|
-
return /* @__PURE__ */ jsx19(
|
|
1192
|
-
CommandPrimitive.Empty,
|
|
1193
|
-
{
|
|
1194
|
-
"data-slot": "command-empty",
|
|
1195
|
-
className: cn("py-6 text-center text-sm", className),
|
|
1196
|
-
...props
|
|
1197
|
-
}
|
|
1198
|
-
);
|
|
1199
|
-
}
|
|
1200
|
-
function CommandGroup({
|
|
1201
|
-
className,
|
|
1202
|
-
...props
|
|
1203
|
-
}) {
|
|
1204
|
-
return /* @__PURE__ */ jsx19(
|
|
1205
|
-
CommandPrimitive.Group,
|
|
1206
|
-
{
|
|
1207
|
-
"data-slot": "command-group",
|
|
1208
|
-
className: cn(
|
|
1209
|
-
"text-foreground overflow-hidden p-1 **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
1210
|
-
className
|
|
1211
|
-
),
|
|
1212
|
-
...props
|
|
1213
|
-
}
|
|
1214
|
-
);
|
|
1215
|
-
}
|
|
1216
|
-
function CommandSeparator({
|
|
1217
|
-
className,
|
|
1218
|
-
...props
|
|
1219
|
-
}) {
|
|
1220
|
-
return /* @__PURE__ */ jsx19(
|
|
1221
|
-
CommandPrimitive.Separator,
|
|
1222
|
-
{
|
|
1223
|
-
"data-slot": "command-separator",
|
|
1224
|
-
className: cn("bg-border -mx-1 h-px w-auto", className),
|
|
1225
|
-
...props
|
|
1226
|
-
}
|
|
1227
|
-
);
|
|
1228
|
-
}
|
|
1229
|
-
function CommandItem({
|
|
1230
|
-
className,
|
|
1231
|
-
...props
|
|
1232
|
-
}) {
|
|
1233
|
-
return /* @__PURE__ */ jsx19(
|
|
1234
|
-
CommandPrimitive.Item,
|
|
1235
|
-
{
|
|
1236
|
-
"data-slot": "command-item",
|
|
1237
|
-
className: cn(
|
|
1238
|
-
"data-selected:bg-muted data-selected:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none [&_svg:not([class*='size-'])]:size-4 data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1239
|
-
className
|
|
1240
|
-
),
|
|
1241
|
-
...props
|
|
1242
|
-
}
|
|
1243
|
-
);
|
|
1244
|
-
}
|
|
1245
|
-
function CommandShortcut({
|
|
1246
|
-
className,
|
|
1247
|
-
...props
|
|
1248
|
-
}) {
|
|
1249
|
-
return /* @__PURE__ */ jsx19(
|
|
1250
|
-
"span",
|
|
1251
|
-
{
|
|
1252
|
-
"data-slot": "command-shortcut",
|
|
1253
|
-
className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
1254
|
-
...props
|
|
1255
|
-
}
|
|
1256
|
-
);
|
|
1257
|
-
}
|
|
1258
|
-
|
|
1259
|
-
// src/components/ui/sidebar.tsx
|
|
1260
|
-
import * as React from "react";
|
|
1261
|
-
import { cva as cva4 } from "class-variance-authority";
|
|
1262
|
-
import { Slot as Slot3 } from "radix-ui";
|
|
1263
|
-
import { PanelLeft } from "lucide-react";
|
|
1264
|
-
|
|
1265
|
-
// src/hooks/use-mobile.ts
|
|
1266
|
-
import { useEffect, useState } from "react";
|
|
1267
|
-
var MOBILE_BREAKPOINT = 768;
|
|
1268
|
-
function useIsMobile() {
|
|
1269
|
-
const [isMobile, setIsMobile] = useState(void 0);
|
|
1270
|
-
useEffect(() => {
|
|
1271
|
-
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
1272
|
-
const onChange = () => setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1273
|
-
mql.addEventListener("change", onChange);
|
|
1274
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1275
|
-
return () => mql.removeEventListener("change", onChange);
|
|
1276
|
-
}, []);
|
|
1277
|
-
return !!isMobile;
|
|
1278
|
-
}
|
|
1279
|
-
|
|
1280
|
-
// src/components/ui/sheet.tsx
|
|
1281
|
-
import { Dialog as SheetPrimitive } from "radix-ui";
|
|
1282
|
-
import { X as X2 } from "lucide-react";
|
|
1283
|
-
import { jsx as jsx20, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1284
|
-
function Sheet({ ...props }) {
|
|
1285
|
-
return /* @__PURE__ */ jsx20(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
1286
|
-
}
|
|
1287
|
-
function SheetTrigger({
|
|
1288
|
-
...props
|
|
1289
|
-
}) {
|
|
1290
|
-
return /* @__PURE__ */ jsx20(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
1291
|
-
}
|
|
1292
|
-
function SheetClose({
|
|
1293
|
-
...props
|
|
1294
|
-
}) {
|
|
1295
|
-
return /* @__PURE__ */ jsx20(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
1296
|
-
}
|
|
1297
|
-
function SheetPortal({
|
|
1298
|
-
...props
|
|
1299
|
-
}) {
|
|
1300
|
-
return /* @__PURE__ */ jsx20(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
1301
|
-
}
|
|
1302
|
-
function SheetOverlay({
|
|
1303
|
-
className,
|
|
1304
|
-
...props
|
|
1305
|
-
}) {
|
|
1306
|
-
return /* @__PURE__ */ jsx20(
|
|
1307
|
-
SheetPrimitive.Overlay,
|
|
2
|
+
import {
|
|
3
|
+
AlertDialog,
|
|
4
|
+
AlertDialogAction,
|
|
5
|
+
AlertDialogCancel,
|
|
6
|
+
AlertDialogContent,
|
|
7
|
+
AlertDialogDescription,
|
|
8
|
+
AlertDialogFooter,
|
|
9
|
+
AlertDialogHeader,
|
|
10
|
+
AlertDialogOverlay,
|
|
11
|
+
AlertDialogPortal,
|
|
12
|
+
AlertDialogTitle,
|
|
13
|
+
AlertDialogTrigger,
|
|
14
|
+
Avatar,
|
|
15
|
+
AvatarFallback,
|
|
16
|
+
AvatarImage,
|
|
17
|
+
Badge,
|
|
18
|
+
Breadcrumb,
|
|
19
|
+
BreadcrumbItem,
|
|
20
|
+
BreadcrumbLink,
|
|
21
|
+
BreadcrumbList,
|
|
22
|
+
BreadcrumbPage,
|
|
23
|
+
BreadcrumbSeparator,
|
|
24
|
+
Button,
|
|
25
|
+
Collapsible,
|
|
26
|
+
CollapsibleContent,
|
|
27
|
+
CollapsibleTrigger,
|
|
28
|
+
Dialog,
|
|
29
|
+
DialogClose,
|
|
30
|
+
DialogContent,
|
|
31
|
+
DialogDescription,
|
|
32
|
+
DialogFooter,
|
|
33
|
+
DialogHeader,
|
|
34
|
+
DialogOverlay,
|
|
35
|
+
DialogPortal,
|
|
36
|
+
DialogTitle,
|
|
37
|
+
DialogTrigger,
|
|
38
|
+
DropdownMenu,
|
|
39
|
+
DropdownMenuContent,
|
|
40
|
+
DropdownMenuGroup,
|
|
41
|
+
DropdownMenuItem,
|
|
42
|
+
DropdownMenuLabel,
|
|
43
|
+
DropdownMenuSeparator,
|
|
44
|
+
DropdownMenuTrigger,
|
|
45
|
+
Input,
|
|
46
|
+
Label,
|
|
47
|
+
Select,
|
|
48
|
+
SelectContent,
|
|
49
|
+
SelectGroup,
|
|
50
|
+
SelectItem,
|
|
51
|
+
SelectLabel,
|
|
52
|
+
SelectScrollDownButton,
|
|
53
|
+
SelectScrollUpButton,
|
|
54
|
+
SelectSeparator,
|
|
55
|
+
SelectTrigger,
|
|
56
|
+
SelectValue,
|
|
57
|
+
Separator,
|
|
58
|
+
Sheet,
|
|
59
|
+
SheetClose,
|
|
60
|
+
SheetContent,
|
|
61
|
+
SheetDescription,
|
|
62
|
+
SheetFooter,
|
|
63
|
+
SheetHeader,
|
|
64
|
+
SheetTitle,
|
|
65
|
+
SheetTrigger,
|
|
66
|
+
Sidebar,
|
|
67
|
+
SidebarContent,
|
|
68
|
+
SidebarFooter,
|
|
69
|
+
SidebarGroup,
|
|
70
|
+
SidebarGroupContent,
|
|
71
|
+
SidebarGroupLabel,
|
|
72
|
+
SidebarHeader,
|
|
73
|
+
SidebarInset,
|
|
74
|
+
SidebarMenu,
|
|
75
|
+
SidebarMenuButton,
|
|
76
|
+
SidebarMenuItem,
|
|
77
|
+
SidebarMenuSub,
|
|
78
|
+
SidebarMenuSubButton,
|
|
79
|
+
SidebarMenuSubItem,
|
|
80
|
+
SidebarProvider,
|
|
81
|
+
SidebarRail,
|
|
82
|
+
SidebarSeparator,
|
|
83
|
+
SidebarTrigger,
|
|
84
|
+
Skeleton,
|
|
85
|
+
Slider,
|
|
86
|
+
Table,
|
|
87
|
+
TableBody,
|
|
88
|
+
TableCaption,
|
|
89
|
+
TableCell,
|
|
90
|
+
TableFooter,
|
|
91
|
+
TableHead,
|
|
92
|
+
TableHeader,
|
|
93
|
+
TableRow,
|
|
94
|
+
Tooltip,
|
|
95
|
+
TooltipContent,
|
|
96
|
+
TooltipProvider,
|
|
97
|
+
TooltipTrigger,
|
|
98
|
+
badgeVariants,
|
|
99
|
+
buttonVariants,
|
|
100
|
+
cn,
|
|
101
|
+
useSidebar
|
|
102
|
+
} from "./chunk-OS2C4IWR.js";
|
|
103
|
+
|
|
104
|
+
// src/components/ui/textarea.tsx
|
|
105
|
+
import { jsx } from "react/jsx-runtime";
|
|
106
|
+
function Textarea({ className, ...props }) {
|
|
107
|
+
return /* @__PURE__ */ jsx(
|
|
108
|
+
"textarea",
|
|
1308
109
|
{
|
|
1309
|
-
"data-slot": "
|
|
1310
|
-
className: cn(
|
|
110
|
+
"data-slot": "textarea",
|
|
111
|
+
className: cn(
|
|
112
|
+
"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-3 aria-invalid:ring-3 md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
113
|
+
className
|
|
114
|
+
),
|
|
1311
115
|
...props
|
|
1312
116
|
}
|
|
1313
117
|
);
|
|
1314
118
|
}
|
|
1315
|
-
|
|
119
|
+
|
|
120
|
+
// src/components/ui/card.tsx
|
|
121
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
122
|
+
function Card({
|
|
1316
123
|
className,
|
|
1317
|
-
|
|
1318
|
-
side = "right",
|
|
1319
|
-
showCloseButton = true,
|
|
124
|
+
size = "default",
|
|
1320
125
|
...props
|
|
1321
126
|
}) {
|
|
1322
|
-
return /* @__PURE__ */
|
|
1323
|
-
/* @__PURE__ */ jsx20(SheetOverlay, {}),
|
|
1324
|
-
/* @__PURE__ */ jsxs8(
|
|
1325
|
-
SheetPrimitive.Content,
|
|
1326
|
-
{
|
|
1327
|
-
"data-slot": "sheet-content",
|
|
1328
|
-
"data-side": side,
|
|
1329
|
-
className: cn("bg-background data-open:animate-in data-closed:animate-out data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 fixed z-50 flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className),
|
|
1330
|
-
...props,
|
|
1331
|
-
children: [
|
|
1332
|
-
children,
|
|
1333
|
-
showCloseButton && /* @__PURE__ */ jsx20(SheetPrimitive.Close, { "data-slot": "sheet-close", asChild: true, children: /* @__PURE__ */ jsxs8(Button, { variant: "ghost", className: "absolute top-4 right-4", size: "icon-sm", children: [
|
|
1334
|
-
/* @__PURE__ */ jsx20(X2, {}),
|
|
1335
|
-
/* @__PURE__ */ jsx20("span", { className: "sr-only", children: "Close" })
|
|
1336
|
-
] }) })
|
|
1337
|
-
]
|
|
1338
|
-
}
|
|
1339
|
-
)
|
|
1340
|
-
] });
|
|
1341
|
-
}
|
|
1342
|
-
function SheetHeader({ className, ...props }) {
|
|
1343
|
-
return /* @__PURE__ */ jsx20(
|
|
127
|
+
return /* @__PURE__ */ jsx2(
|
|
1344
128
|
"div",
|
|
1345
129
|
{
|
|
1346
|
-
"data-slot": "
|
|
1347
|
-
|
|
130
|
+
"data-slot": "card",
|
|
131
|
+
"data-size": size,
|
|
132
|
+
className: cn("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col", className),
|
|
1348
133
|
...props
|
|
1349
134
|
}
|
|
1350
135
|
);
|
|
1351
136
|
}
|
|
1352
|
-
function
|
|
1353
|
-
return /* @__PURE__ */
|
|
137
|
+
function CardHeader({ className, ...props }) {
|
|
138
|
+
return /* @__PURE__ */ jsx2(
|
|
1354
139
|
"div",
|
|
1355
140
|
{
|
|
1356
|
-
"data-slot": "
|
|
1357
|
-
className: cn(
|
|
141
|
+
"data-slot": "card-header",
|
|
142
|
+
className: cn(
|
|
143
|
+
"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",
|
|
144
|
+
className
|
|
145
|
+
),
|
|
1358
146
|
...props
|
|
1359
147
|
}
|
|
1360
148
|
);
|
|
1361
149
|
}
|
|
1362
|
-
function
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
}) {
|
|
1366
|
-
return /* @__PURE__ */ jsx20(
|
|
1367
|
-
SheetPrimitive.Title,
|
|
150
|
+
function CardTitle({ className, ...props }) {
|
|
151
|
+
return /* @__PURE__ */ jsx2(
|
|
152
|
+
"div",
|
|
1368
153
|
{
|
|
1369
|
-
"data-slot": "
|
|
1370
|
-
className: cn("text-
|
|
154
|
+
"data-slot": "card-title",
|
|
155
|
+
className: cn("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm", className),
|
|
1371
156
|
...props
|
|
1372
157
|
}
|
|
1373
158
|
);
|
|
1374
159
|
}
|
|
1375
|
-
function
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
}) {
|
|
1379
|
-
return /* @__PURE__ */ jsx20(
|
|
1380
|
-
SheetPrimitive.Description,
|
|
160
|
+
function CardDescription({ className, ...props }) {
|
|
161
|
+
return /* @__PURE__ */ jsx2(
|
|
162
|
+
"div",
|
|
1381
163
|
{
|
|
1382
|
-
"data-slot": "
|
|
164
|
+
"data-slot": "card-description",
|
|
1383
165
|
className: cn("text-muted-foreground text-sm", className),
|
|
1384
166
|
...props
|
|
1385
167
|
}
|
|
1386
168
|
);
|
|
1387
169
|
}
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
function useSidebar() {
|
|
1398
|
-
const context = React.useContext(SidebarContext);
|
|
1399
|
-
if (!context) {
|
|
1400
|
-
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
1401
|
-
}
|
|
1402
|
-
return context;
|
|
170
|
+
function CardContent({ className, ...props }) {
|
|
171
|
+
return /* @__PURE__ */ jsx2(
|
|
172
|
+
"div",
|
|
173
|
+
{
|
|
174
|
+
"data-slot": "card-content",
|
|
175
|
+
className: cn("px-6 group-data-[size=sm]/card:px-4", className),
|
|
176
|
+
...props
|
|
177
|
+
}
|
|
178
|
+
);
|
|
1403
179
|
}
|
|
1404
|
-
function
|
|
1405
|
-
|
|
1406
|
-
open: openProp,
|
|
1407
|
-
onOpenChange: setOpenProp,
|
|
1408
|
-
className,
|
|
1409
|
-
style,
|
|
1410
|
-
children,
|
|
1411
|
-
...props
|
|
1412
|
-
}) {
|
|
1413
|
-
const isMobile = useIsMobile();
|
|
1414
|
-
const [openMobile, setOpenMobile] = React.useState(false);
|
|
1415
|
-
const [_open, _setOpen] = React.useState(() => {
|
|
1416
|
-
if (typeof window === "undefined") return defaultOpen;
|
|
1417
|
-
const stored = localStorage.getItem(SIDEBAR_STORAGE_KEY);
|
|
1418
|
-
if (stored === "true") return true;
|
|
1419
|
-
if (stored === "false") return false;
|
|
1420
|
-
return defaultOpen;
|
|
1421
|
-
});
|
|
1422
|
-
const open = openProp ?? _open;
|
|
1423
|
-
const setOpen = React.useCallback(
|
|
1424
|
-
(value) => {
|
|
1425
|
-
const openState = typeof value === "function" ? value(open) : value;
|
|
1426
|
-
if (setOpenProp) {
|
|
1427
|
-
setOpenProp(openState);
|
|
1428
|
-
} else {
|
|
1429
|
-
_setOpen(openState);
|
|
1430
|
-
}
|
|
1431
|
-
try {
|
|
1432
|
-
localStorage.setItem(SIDEBAR_STORAGE_KEY, String(openState));
|
|
1433
|
-
} catch {
|
|
1434
|
-
}
|
|
1435
|
-
},
|
|
1436
|
-
[setOpenProp, open]
|
|
1437
|
-
);
|
|
1438
|
-
const toggleSidebar = React.useCallback(() => {
|
|
1439
|
-
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
1440
|
-
}, [isMobile, setOpen, setOpenMobile]);
|
|
1441
|
-
React.useEffect(() => {
|
|
1442
|
-
const handleKeyDown = (event) => {
|
|
1443
|
-
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
1444
|
-
event.preventDefault();
|
|
1445
|
-
toggleSidebar();
|
|
1446
|
-
}
|
|
1447
|
-
};
|
|
1448
|
-
window.addEventListener("keydown", handleKeyDown);
|
|
1449
|
-
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1450
|
-
}, [toggleSidebar]);
|
|
1451
|
-
const state = open ? "expanded" : "collapsed";
|
|
1452
|
-
const contextValue = React.useMemo(
|
|
1453
|
-
() => ({
|
|
1454
|
-
state,
|
|
1455
|
-
open,
|
|
1456
|
-
setOpen,
|
|
1457
|
-
isMobile,
|
|
1458
|
-
openMobile,
|
|
1459
|
-
setOpenMobile,
|
|
1460
|
-
toggleSidebar
|
|
1461
|
-
}),
|
|
1462
|
-
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
1463
|
-
);
|
|
1464
|
-
return /* @__PURE__ */ jsx21(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx21(
|
|
180
|
+
function CardFooter({ className, ...props }) {
|
|
181
|
+
return /* @__PURE__ */ jsx2(
|
|
1465
182
|
"div",
|
|
1466
183
|
{
|
|
1467
|
-
"data-slot": "
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
1471
|
-
...style
|
|
1472
|
-
},
|
|
1473
|
-
className: cn(
|
|
1474
|
-
"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
|
|
1475
|
-
className
|
|
1476
|
-
),
|
|
1477
|
-
...props,
|
|
1478
|
-
children
|
|
184
|
+
"data-slot": "card-footer",
|
|
185
|
+
className: cn("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center", className),
|
|
186
|
+
...props
|
|
1479
187
|
}
|
|
1480
|
-
)
|
|
188
|
+
);
|
|
1481
189
|
}
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
190
|
+
|
|
191
|
+
// src/components/ui/scroll-area.tsx
|
|
192
|
+
import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
|
|
193
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
194
|
+
function ScrollArea({
|
|
1486
195
|
className,
|
|
1487
196
|
children,
|
|
1488
|
-
dir,
|
|
1489
197
|
...props
|
|
1490
198
|
}) {
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
return /* @__PURE__ */ jsx21(
|
|
1494
|
-
"div",
|
|
1495
|
-
{
|
|
1496
|
-
"data-slot": "sidebar",
|
|
1497
|
-
className: cn(
|
|
1498
|
-
"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
|
|
1499
|
-
className
|
|
1500
|
-
),
|
|
1501
|
-
...props,
|
|
1502
|
-
children
|
|
1503
|
-
}
|
|
1504
|
-
);
|
|
1505
|
-
}
|
|
1506
|
-
if (isMobile) {
|
|
1507
|
-
return /* @__PURE__ */ jsx21(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs9(
|
|
1508
|
-
SheetContent,
|
|
1509
|
-
{
|
|
1510
|
-
dir,
|
|
1511
|
-
"data-sidebar": "sidebar",
|
|
1512
|
-
"data-slot": "sidebar",
|
|
1513
|
-
"data-mobile": "true",
|
|
1514
|
-
className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
|
|
1515
|
-
style: {
|
|
1516
|
-
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
1517
|
-
},
|
|
1518
|
-
side,
|
|
1519
|
-
children: [
|
|
1520
|
-
/* @__PURE__ */ jsxs9(SheetHeader, { className: "sr-only", children: [
|
|
1521
|
-
/* @__PURE__ */ jsx21(SheetTitle, { children: "Sidebar" }),
|
|
1522
|
-
/* @__PURE__ */ jsx21(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
1523
|
-
] }),
|
|
1524
|
-
/* @__PURE__ */ jsx21("div", { className: "flex h-full w-full flex-col", children })
|
|
1525
|
-
]
|
|
1526
|
-
}
|
|
1527
|
-
) });
|
|
1528
|
-
}
|
|
1529
|
-
return /* @__PURE__ */ jsxs9(
|
|
1530
|
-
"div",
|
|
199
|
+
return /* @__PURE__ */ jsxs(
|
|
200
|
+
ScrollAreaPrimitive.Root,
|
|
1531
201
|
{
|
|
1532
|
-
|
|
1533
|
-
"
|
|
1534
|
-
|
|
1535
|
-
"data-variant": variant,
|
|
1536
|
-
"data-side": side,
|
|
1537
|
-
"data-slot": "sidebar",
|
|
202
|
+
"data-slot": "scroll-area",
|
|
203
|
+
className: cn("relative", className),
|
|
204
|
+
...props,
|
|
1538
205
|
children: [
|
|
1539
|
-
/* @__PURE__ */
|
|
1540
|
-
|
|
206
|
+
/* @__PURE__ */ jsx3(
|
|
207
|
+
ScrollAreaPrimitive.Viewport,
|
|
1541
208
|
{
|
|
1542
|
-
"data-slot": "
|
|
1543
|
-
className:
|
|
1544
|
-
|
|
1545
|
-
"group-data-[collapsible=offcanvas]:w-0",
|
|
1546
|
-
"group-data-[side=right]:rotate-180",
|
|
1547
|
-
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
1548
|
-
)
|
|
209
|
+
"data-slot": "scroll-area-viewport",
|
|
210
|
+
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
|
|
211
|
+
children
|
|
1549
212
|
}
|
|
1550
213
|
),
|
|
1551
|
-
/* @__PURE__ */
|
|
1552
|
-
|
|
1553
|
-
{
|
|
1554
|
-
"data-slot": "sidebar-container",
|
|
1555
|
-
"data-side": side,
|
|
1556
|
-
className: cn(
|
|
1557
|
-
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",
|
|
1558
|
-
// Adjust the padding for floating and inset variants.
|
|
1559
|
-
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",
|
|
1560
|
-
className
|
|
1561
|
-
),
|
|
1562
|
-
...props,
|
|
1563
|
-
children: /* @__PURE__ */ jsx21(
|
|
1564
|
-
"div",
|
|
1565
|
-
{
|
|
1566
|
-
"data-sidebar": "sidebar",
|
|
1567
|
-
"data-slot": "sidebar-inner",
|
|
1568
|
-
className: "bg-sidebar group-data-[variant=floating]:ring-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 flex size-full flex-col",
|
|
1569
|
-
children
|
|
1570
|
-
}
|
|
1571
|
-
)
|
|
1572
|
-
}
|
|
1573
|
-
)
|
|
214
|
+
/* @__PURE__ */ jsx3(ScrollBar, {}),
|
|
215
|
+
/* @__PURE__ */ jsx3(ScrollAreaPrimitive.Corner, {})
|
|
1574
216
|
]
|
|
1575
217
|
}
|
|
1576
218
|
);
|
|
1577
219
|
}
|
|
1578
|
-
function
|
|
220
|
+
function ScrollBar({
|
|
1579
221
|
className,
|
|
1580
|
-
|
|
222
|
+
orientation = "vertical",
|
|
1581
223
|
...props
|
|
1582
224
|
}) {
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
Button,
|
|
225
|
+
return /* @__PURE__ */ jsx3(
|
|
226
|
+
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1586
227
|
{
|
|
1587
|
-
"data-
|
|
1588
|
-
"data-
|
|
1589
|
-
|
|
1590
|
-
size: "icon-sm",
|
|
1591
|
-
className: cn(className),
|
|
1592
|
-
onClick: (event) => {
|
|
1593
|
-
onClick?.(event);
|
|
1594
|
-
toggleSidebar();
|
|
1595
|
-
},
|
|
1596
|
-
...props,
|
|
1597
|
-
children: [
|
|
1598
|
-
/* @__PURE__ */ jsx21(PanelLeft, {}),
|
|
1599
|
-
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
1600
|
-
]
|
|
1601
|
-
}
|
|
1602
|
-
);
|
|
1603
|
-
}
|
|
1604
|
-
function SidebarRail({ className, ...props }) {
|
|
1605
|
-
const { toggleSidebar } = useSidebar();
|
|
1606
|
-
return /* @__PURE__ */ jsx21(
|
|
1607
|
-
"button",
|
|
1608
|
-
{
|
|
1609
|
-
"data-sidebar": "rail",
|
|
1610
|
-
"data-slot": "sidebar-rail",
|
|
1611
|
-
"aria-label": "Toggle Sidebar",
|
|
1612
|
-
tabIndex: -1,
|
|
1613
|
-
onClick: toggleSidebar,
|
|
1614
|
-
title: "Toggle Sidebar",
|
|
228
|
+
"data-slot": "scroll-area-scrollbar",
|
|
229
|
+
"data-orientation": orientation,
|
|
230
|
+
orientation,
|
|
1615
231
|
className: cn(
|
|
1616
|
-
"
|
|
1617
|
-
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
1618
|
-
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
1619
|
-
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
|
|
1620
|
-
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
1621
|
-
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
232
|
+
"data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent flex touch-none p-px transition-colors select-none",
|
|
1622
233
|
className
|
|
1623
234
|
),
|
|
1624
|
-
...props
|
|
235
|
+
...props,
|
|
236
|
+
children: /* @__PURE__ */ jsx3(
|
|
237
|
+
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
238
|
+
{
|
|
239
|
+
"data-slot": "scroll-area-thumb",
|
|
240
|
+
className: "rounded-full bg-border relative flex-1"
|
|
241
|
+
}
|
|
242
|
+
)
|
|
1625
243
|
}
|
|
1626
244
|
);
|
|
1627
245
|
}
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
246
|
+
|
|
247
|
+
// src/components/ui/tabs.tsx
|
|
248
|
+
import { cva } from "class-variance-authority";
|
|
249
|
+
import { Tabs as TabsPrimitive } from "radix-ui";
|
|
250
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
251
|
+
function Tabs({
|
|
252
|
+
className,
|
|
253
|
+
orientation = "horizontal",
|
|
254
|
+
...props
|
|
255
|
+
}) {
|
|
256
|
+
return /* @__PURE__ */ jsx4(
|
|
257
|
+
TabsPrimitive.Root,
|
|
1631
258
|
{
|
|
1632
|
-
"data-slot": "
|
|
259
|
+
"data-slot": "tabs",
|
|
260
|
+
"data-orientation": orientation,
|
|
1633
261
|
className: cn(
|
|
1634
|
-
"
|
|
262
|
+
"gap-2 group/tabs flex data-horizontal:flex-col",
|
|
1635
263
|
className
|
|
1636
264
|
),
|
|
1637
265
|
...props
|
|
1638
266
|
}
|
|
1639
267
|
);
|
|
1640
268
|
}
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
269
|
+
var tabsListVariants = cva(
|
|
270
|
+
"rounded-lg p-[3px] group-data-horizontal/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col",
|
|
271
|
+
{
|
|
272
|
+
variants: {
|
|
273
|
+
variant: {
|
|
274
|
+
default: "bg-muted",
|
|
275
|
+
line: "gap-1 bg-transparent"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
defaultVariants: {
|
|
279
|
+
variant: "default"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
);
|
|
283
|
+
function TabsList({
|
|
284
|
+
className,
|
|
285
|
+
variant = "default",
|
|
286
|
+
...props
|
|
287
|
+
}) {
|
|
288
|
+
return /* @__PURE__ */ jsx4(
|
|
289
|
+
TabsPrimitive.List,
|
|
1644
290
|
{
|
|
1645
|
-
"data-slot": "
|
|
1646
|
-
"data-
|
|
1647
|
-
className: cn(
|
|
291
|
+
"data-slot": "tabs-list",
|
|
292
|
+
"data-variant": variant,
|
|
293
|
+
className: cn(tabsListVariants({ variant }), className),
|
|
1648
294
|
...props
|
|
1649
295
|
}
|
|
1650
296
|
);
|
|
1651
297
|
}
|
|
1652
|
-
function
|
|
1653
|
-
|
|
1654
|
-
|
|
298
|
+
function TabsTrigger({
|
|
299
|
+
className,
|
|
300
|
+
...props
|
|
301
|
+
}) {
|
|
302
|
+
return /* @__PURE__ */ jsx4(
|
|
303
|
+
TabsPrimitive.Trigger,
|
|
1655
304
|
{
|
|
1656
|
-
"data-slot": "
|
|
1657
|
-
|
|
1658
|
-
|
|
305
|
+
"data-slot": "tabs-trigger",
|
|
306
|
+
className: cn(
|
|
307
|
+
"gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
308
|
+
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
|
|
309
|
+
"data-active:bg-background dark:data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 data-active:text-foreground",
|
|
310
|
+
"after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
|
|
311
|
+
className
|
|
312
|
+
),
|
|
1659
313
|
...props
|
|
1660
314
|
}
|
|
1661
315
|
);
|
|
1662
316
|
}
|
|
1663
|
-
function
|
|
317
|
+
function TabsContent({
|
|
1664
318
|
className,
|
|
1665
319
|
...props
|
|
1666
320
|
}) {
|
|
1667
|
-
return /* @__PURE__ */
|
|
1668
|
-
|
|
321
|
+
return /* @__PURE__ */ jsx4(
|
|
322
|
+
TabsPrimitive.Content,
|
|
1669
323
|
{
|
|
1670
|
-
"data-slot": "
|
|
1671
|
-
"
|
|
1672
|
-
className: cn("bg-sidebar-border mx-2 w-auto", className),
|
|
324
|
+
"data-slot": "tabs-content",
|
|
325
|
+
className: cn("text-sm flex-1 outline-none", className),
|
|
1673
326
|
...props
|
|
1674
327
|
}
|
|
1675
328
|
);
|
|
1676
329
|
}
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
330
|
+
|
|
331
|
+
// src/components/ui/progress.tsx
|
|
332
|
+
import { Progress as ProgressPrimitive } from "radix-ui";
|
|
333
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
334
|
+
function Progress({
|
|
335
|
+
className,
|
|
336
|
+
value,
|
|
337
|
+
...props
|
|
338
|
+
}) {
|
|
339
|
+
return /* @__PURE__ */ jsx5(
|
|
340
|
+
ProgressPrimitive.Root,
|
|
1680
341
|
{
|
|
1681
|
-
"data-slot": "
|
|
1682
|
-
"data-sidebar": "content",
|
|
342
|
+
"data-slot": "progress",
|
|
1683
343
|
className: cn(
|
|
1684
|
-
"
|
|
344
|
+
"bg-muted h-1.5 rounded-full relative flex w-full items-center overflow-x-hidden",
|
|
1685
345
|
className
|
|
1686
346
|
),
|
|
1687
|
-
...props
|
|
347
|
+
...props,
|
|
348
|
+
children: /* @__PURE__ */ jsx5(
|
|
349
|
+
ProgressPrimitive.Indicator,
|
|
350
|
+
{
|
|
351
|
+
"data-slot": "progress-indicator",
|
|
352
|
+
className: "bg-primary size-full flex-1 transition-all",
|
|
353
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
354
|
+
}
|
|
355
|
+
)
|
|
1688
356
|
}
|
|
1689
357
|
);
|
|
1690
358
|
}
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
359
|
+
|
|
360
|
+
// src/components/ui/command.tsx
|
|
361
|
+
import { Command as CommandPrimitive } from "cmdk";
|
|
362
|
+
import { Search } from "lucide-react";
|
|
363
|
+
import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
364
|
+
function Command({
|
|
365
|
+
className,
|
|
366
|
+
...props
|
|
367
|
+
}) {
|
|
368
|
+
return /* @__PURE__ */ jsx6(
|
|
369
|
+
CommandPrimitive,
|
|
1694
370
|
{
|
|
1695
|
-
"data-slot": "
|
|
1696
|
-
"data-sidebar": "group",
|
|
371
|
+
"data-slot": "command",
|
|
1697
372
|
className: cn(
|
|
1698
|
-
"p-
|
|
373
|
+
"bg-popover text-popover-foreground rounded-xl p-1 flex size-full flex-col overflow-hidden",
|
|
1699
374
|
className
|
|
1700
375
|
),
|
|
1701
376
|
...props
|
|
1702
377
|
}
|
|
1703
378
|
);
|
|
1704
379
|
}
|
|
1705
|
-
function
|
|
380
|
+
function CommandInput({
|
|
381
|
+
className,
|
|
382
|
+
...props
|
|
383
|
+
}) {
|
|
384
|
+
return /* @__PURE__ */ jsxs2("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b px-3", children: [
|
|
385
|
+
/* @__PURE__ */ jsx6(Search, { className: "size-4 shrink-0 opacity-50" }),
|
|
386
|
+
/* @__PURE__ */ jsx6(
|
|
387
|
+
CommandPrimitive.Input,
|
|
388
|
+
{
|
|
389
|
+
"data-slot": "command-input",
|
|
390
|
+
className: cn(
|
|
391
|
+
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
392
|
+
className
|
|
393
|
+
),
|
|
394
|
+
...props
|
|
395
|
+
}
|
|
396
|
+
)
|
|
397
|
+
] });
|
|
398
|
+
}
|
|
399
|
+
function CommandList({
|
|
1706
400
|
className,
|
|
1707
|
-
asChild = false,
|
|
1708
401
|
...props
|
|
1709
402
|
}) {
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
Comp,
|
|
403
|
+
return /* @__PURE__ */ jsx6(
|
|
404
|
+
CommandPrimitive.List,
|
|
1713
405
|
{
|
|
1714
|
-
"data-slot": "
|
|
1715
|
-
"data-sidebar": "group-label",
|
|
406
|
+
"data-slot": "command-list",
|
|
1716
407
|
className: cn(
|
|
1717
|
-
"
|
|
408
|
+
"no-scrollbar max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto",
|
|
1718
409
|
className
|
|
1719
410
|
),
|
|
1720
411
|
...props
|
|
1721
412
|
}
|
|
1722
413
|
);
|
|
1723
414
|
}
|
|
1724
|
-
function
|
|
415
|
+
function CommandEmpty({
|
|
1725
416
|
className,
|
|
1726
417
|
...props
|
|
1727
418
|
}) {
|
|
1728
|
-
return /* @__PURE__ */
|
|
1729
|
-
|
|
1730
|
-
{
|
|
1731
|
-
"data-slot": "sidebar-group-content",
|
|
1732
|
-
"data-sidebar": "group-content",
|
|
1733
|
-
className: cn("text-sm w-full", className),
|
|
1734
|
-
...props
|
|
1735
|
-
}
|
|
1736
|
-
);
|
|
1737
|
-
}
|
|
1738
|
-
function SidebarMenu({ className, ...props }) {
|
|
1739
|
-
return /* @__PURE__ */ jsx21(
|
|
1740
|
-
"ul",
|
|
1741
|
-
{
|
|
1742
|
-
"data-slot": "sidebar-menu",
|
|
1743
|
-
"data-sidebar": "menu",
|
|
1744
|
-
className: cn("gap-1 flex w-full min-w-0 flex-col", className),
|
|
1745
|
-
...props
|
|
1746
|
-
}
|
|
1747
|
-
);
|
|
1748
|
-
}
|
|
1749
|
-
function SidebarMenuItem({ className, ...props }) {
|
|
1750
|
-
return /* @__PURE__ */ jsx21(
|
|
1751
|
-
"li",
|
|
419
|
+
return /* @__PURE__ */ jsx6(
|
|
420
|
+
CommandPrimitive.Empty,
|
|
1752
421
|
{
|
|
1753
|
-
"data-slot": "
|
|
1754
|
-
|
|
1755
|
-
className: cn("group/menu-item relative", className),
|
|
422
|
+
"data-slot": "command-empty",
|
|
423
|
+
className: cn("py-6 text-center text-sm", className),
|
|
1756
424
|
...props
|
|
1757
425
|
}
|
|
1758
426
|
);
|
|
1759
427
|
}
|
|
1760
|
-
|
|
1761
|
-
"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm 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! focus-visible:ring-2 data-active:font-medium peer/menu-button flex w-full items-center overflow-hidden outline-hidden group/menu-button 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",
|
|
1762
|
-
{
|
|
1763
|
-
variants: {
|
|
1764
|
-
variant: {
|
|
1765
|
-
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
1766
|
-
outline: "bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
1767
|
-
},
|
|
1768
|
-
size: {
|
|
1769
|
-
default: "h-8 text-sm",
|
|
1770
|
-
sm: "h-7 text-xs",
|
|
1771
|
-
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
1772
|
-
}
|
|
1773
|
-
},
|
|
1774
|
-
defaultVariants: {
|
|
1775
|
-
variant: "default",
|
|
1776
|
-
size: "default"
|
|
1777
|
-
}
|
|
1778
|
-
}
|
|
1779
|
-
);
|
|
1780
|
-
function SidebarMenuButton({
|
|
1781
|
-
asChild = false,
|
|
1782
|
-
isActive = false,
|
|
1783
|
-
variant = "default",
|
|
1784
|
-
size = "default",
|
|
1785
|
-
tooltip,
|
|
428
|
+
function CommandGroup({
|
|
1786
429
|
className,
|
|
1787
430
|
...props
|
|
1788
431
|
}) {
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
const button = /* @__PURE__ */ jsx21(
|
|
1792
|
-
Comp,
|
|
432
|
+
return /* @__PURE__ */ jsx6(
|
|
433
|
+
CommandPrimitive.Group,
|
|
1793
434
|
{
|
|
1794
|
-
"data-slot": "
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
435
|
+
"data-slot": "command-group",
|
|
436
|
+
className: cn(
|
|
437
|
+
"text-foreground overflow-hidden p-1 **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
438
|
+
className
|
|
439
|
+
),
|
|
1799
440
|
...props
|
|
1800
441
|
}
|
|
1801
442
|
);
|
|
1802
|
-
if (!tooltip) {
|
|
1803
|
-
return button;
|
|
1804
|
-
}
|
|
1805
|
-
if (typeof tooltip === "string") {
|
|
1806
|
-
tooltip = {
|
|
1807
|
-
children: tooltip
|
|
1808
|
-
};
|
|
1809
|
-
}
|
|
1810
|
-
return /* @__PURE__ */ jsxs9(Tooltip, { children: [
|
|
1811
|
-
/* @__PURE__ */ jsx21(TooltipTrigger, { asChild: true, children: button }),
|
|
1812
|
-
/* @__PURE__ */ jsx21(
|
|
1813
|
-
TooltipContent,
|
|
1814
|
-
{
|
|
1815
|
-
side: "right",
|
|
1816
|
-
align: "center",
|
|
1817
|
-
hidden: state !== "collapsed" || isMobile,
|
|
1818
|
-
...tooltip
|
|
1819
|
-
}
|
|
1820
|
-
)
|
|
1821
|
-
] });
|
|
1822
443
|
}
|
|
1823
|
-
function
|
|
1824
|
-
|
|
1825
|
-
|
|
444
|
+
function CommandSeparator({
|
|
445
|
+
className,
|
|
446
|
+
...props
|
|
447
|
+
}) {
|
|
448
|
+
return /* @__PURE__ */ jsx6(
|
|
449
|
+
CommandPrimitive.Separator,
|
|
1826
450
|
{
|
|
1827
|
-
"data-slot": "
|
|
1828
|
-
|
|
1829
|
-
className: cn("border-sidebar-border mx-3.5 translate-x-px gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden flex min-w-0 flex-col", className),
|
|
451
|
+
"data-slot": "command-separator",
|
|
452
|
+
className: cn("bg-border -mx-1 h-px w-auto", className),
|
|
1830
453
|
...props
|
|
1831
454
|
}
|
|
1832
455
|
);
|
|
1833
456
|
}
|
|
1834
|
-
function
|
|
457
|
+
function CommandItem({
|
|
1835
458
|
className,
|
|
1836
459
|
...props
|
|
1837
460
|
}) {
|
|
1838
|
-
return /* @__PURE__ */
|
|
1839
|
-
|
|
461
|
+
return /* @__PURE__ */ jsx6(
|
|
462
|
+
CommandPrimitive.Item,
|
|
1840
463
|
{
|
|
1841
|
-
"data-slot": "
|
|
1842
|
-
|
|
1843
|
-
|
|
464
|
+
"data-slot": "command-item",
|
|
465
|
+
className: cn(
|
|
466
|
+
"data-selected:bg-muted data-selected:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none [&_svg:not([class*='size-'])]:size-4 data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
467
|
+
className
|
|
468
|
+
),
|
|
1844
469
|
...props
|
|
1845
470
|
}
|
|
1846
471
|
);
|
|
1847
472
|
}
|
|
1848
|
-
function
|
|
1849
|
-
asChild = false,
|
|
1850
|
-
size = "md",
|
|
1851
|
-
isActive = false,
|
|
473
|
+
function CommandShortcut({
|
|
1852
474
|
className,
|
|
1853
475
|
...props
|
|
1854
476
|
}) {
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
Comp,
|
|
477
|
+
return /* @__PURE__ */ jsx6(
|
|
478
|
+
"span",
|
|
1858
479
|
{
|
|
1859
|
-
"data-slot": "
|
|
1860
|
-
|
|
1861
|
-
"data-size": size,
|
|
1862
|
-
"data-active": isActive,
|
|
1863
|
-
className: cn(
|
|
1864
|
-
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0",
|
|
1865
|
-
className
|
|
1866
|
-
),
|
|
480
|
+
"data-slot": "command-shortcut",
|
|
481
|
+
className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
1867
482
|
...props
|
|
1868
483
|
}
|
|
1869
484
|
);
|
|
1870
485
|
}
|
|
1871
486
|
|
|
1872
487
|
// src/components/ui/alert.tsx
|
|
1873
|
-
import { cva as
|
|
1874
|
-
import { jsx as
|
|
1875
|
-
var alertVariants =
|
|
488
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
489
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
490
|
+
var alertVariants = cva2("grid gap-0.5 rounded-lg border px-4 py-3 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert", {
|
|
1876
491
|
variants: {
|
|
1877
492
|
variant: {
|
|
1878
493
|
default: "bg-card text-card-foreground",
|
|
@@ -1888,7 +503,7 @@ function Alert({
|
|
|
1888
503
|
variant,
|
|
1889
504
|
...props
|
|
1890
505
|
}) {
|
|
1891
|
-
return /* @__PURE__ */
|
|
506
|
+
return /* @__PURE__ */ jsx7(
|
|
1892
507
|
"div",
|
|
1893
508
|
{
|
|
1894
509
|
"data-slot": "alert",
|
|
@@ -1899,7 +514,7 @@ function Alert({
|
|
|
1899
514
|
);
|
|
1900
515
|
}
|
|
1901
516
|
function AlertTitle({ className, ...props }) {
|
|
1902
|
-
return /* @__PURE__ */
|
|
517
|
+
return /* @__PURE__ */ jsx7(
|
|
1903
518
|
"div",
|
|
1904
519
|
{
|
|
1905
520
|
"data-slot": "alert-title",
|
|
@@ -1915,7 +530,7 @@ function AlertDescription({
|
|
|
1915
530
|
className,
|
|
1916
531
|
...props
|
|
1917
532
|
}) {
|
|
1918
|
-
return /* @__PURE__ */
|
|
533
|
+
return /* @__PURE__ */ jsx7(
|
|
1919
534
|
"div",
|
|
1920
535
|
{
|
|
1921
536
|
"data-slot": "alert-description",
|
|
@@ -1928,135 +543,15 @@ function AlertDescription({
|
|
|
1928
543
|
);
|
|
1929
544
|
}
|
|
1930
545
|
|
|
1931
|
-
// src/components/ui/breadcrumb.tsx
|
|
1932
|
-
import { Slot as Slot4 } from "radix-ui";
|
|
1933
|
-
import { ChevronRight as ChevronRight2, MoreHorizontal } from "lucide-react";
|
|
1934
|
-
import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1935
|
-
function Breadcrumb({ className, ...props }) {
|
|
1936
|
-
return /* @__PURE__ */ jsx23(
|
|
1937
|
-
"nav",
|
|
1938
|
-
{
|
|
1939
|
-
"aria-label": "breadcrumb",
|
|
1940
|
-
"data-slot": "breadcrumb",
|
|
1941
|
-
className: cn(className),
|
|
1942
|
-
...props
|
|
1943
|
-
}
|
|
1944
|
-
);
|
|
1945
|
-
}
|
|
1946
|
-
function BreadcrumbList({ className, ...props }) {
|
|
1947
|
-
return /* @__PURE__ */ jsx23(
|
|
1948
|
-
"ol",
|
|
1949
|
-
{
|
|
1950
|
-
"data-slot": "breadcrumb-list",
|
|
1951
|
-
className: cn(
|
|
1952
|
-
"text-muted-foreground gap-1.5 text-sm sm:gap-2.5 flex flex-wrap items-center wrap-break-word",
|
|
1953
|
-
className
|
|
1954
|
-
),
|
|
1955
|
-
...props
|
|
1956
|
-
}
|
|
1957
|
-
);
|
|
1958
|
-
}
|
|
1959
|
-
function BreadcrumbItem({ className, ...props }) {
|
|
1960
|
-
return /* @__PURE__ */ jsx23(
|
|
1961
|
-
"li",
|
|
1962
|
-
{
|
|
1963
|
-
"data-slot": "breadcrumb-item",
|
|
1964
|
-
className: cn("gap-1.5 inline-flex items-center", className),
|
|
1965
|
-
...props
|
|
1966
|
-
}
|
|
1967
|
-
);
|
|
1968
|
-
}
|
|
1969
|
-
function BreadcrumbLink({
|
|
1970
|
-
asChild,
|
|
1971
|
-
className,
|
|
1972
|
-
...props
|
|
1973
|
-
}) {
|
|
1974
|
-
const Comp = asChild ? Slot4.Root : "a";
|
|
1975
|
-
return /* @__PURE__ */ jsx23(
|
|
1976
|
-
Comp,
|
|
1977
|
-
{
|
|
1978
|
-
"data-slot": "breadcrumb-link",
|
|
1979
|
-
className: cn("hover:text-foreground transition-colors", className),
|
|
1980
|
-
...props
|
|
1981
|
-
}
|
|
1982
|
-
);
|
|
1983
|
-
}
|
|
1984
|
-
function BreadcrumbPage({ className, ...props }) {
|
|
1985
|
-
return /* @__PURE__ */ jsx23(
|
|
1986
|
-
"span",
|
|
1987
|
-
{
|
|
1988
|
-
"data-slot": "breadcrumb-page",
|
|
1989
|
-
role: "link",
|
|
1990
|
-
"aria-disabled": "true",
|
|
1991
|
-
"aria-current": "page",
|
|
1992
|
-
className: cn("text-foreground font-normal", className),
|
|
1993
|
-
...props
|
|
1994
|
-
}
|
|
1995
|
-
);
|
|
1996
|
-
}
|
|
1997
|
-
function BreadcrumbSeparator({
|
|
1998
|
-
children,
|
|
1999
|
-
className,
|
|
2000
|
-
...props
|
|
2001
|
-
}) {
|
|
2002
|
-
return /* @__PURE__ */ jsx23(
|
|
2003
|
-
"li",
|
|
2004
|
-
{
|
|
2005
|
-
"data-slot": "breadcrumb-separator",
|
|
2006
|
-
role: "presentation",
|
|
2007
|
-
"aria-hidden": "true",
|
|
2008
|
-
className: cn("[&>svg]:size-3.5", className),
|
|
2009
|
-
...props,
|
|
2010
|
-
children: children ?? /* @__PURE__ */ jsx23(ChevronRight2, {})
|
|
2011
|
-
}
|
|
2012
|
-
);
|
|
2013
|
-
}
|
|
2014
|
-
|
|
2015
|
-
// src/components/ui/collapsible.tsx
|
|
2016
|
-
import { Collapsible as CollapsiblePrimitive } from "radix-ui";
|
|
2017
|
-
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2018
|
-
function Collapsible({
|
|
2019
|
-
...props
|
|
2020
|
-
}) {
|
|
2021
|
-
return /* @__PURE__ */ jsx24(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
|
|
2022
|
-
}
|
|
2023
|
-
function CollapsibleTrigger({
|
|
2024
|
-
...props
|
|
2025
|
-
}) {
|
|
2026
|
-
return /* @__PURE__ */ jsx24(
|
|
2027
|
-
CollapsiblePrimitive.CollapsibleTrigger,
|
|
2028
|
-
{
|
|
2029
|
-
"data-slot": "collapsible-trigger",
|
|
2030
|
-
...props
|
|
2031
|
-
}
|
|
2032
|
-
);
|
|
2033
|
-
}
|
|
2034
|
-
function CollapsibleContent({
|
|
2035
|
-
className,
|
|
2036
|
-
...props
|
|
2037
|
-
}) {
|
|
2038
|
-
return /* @__PURE__ */ jsx24(
|
|
2039
|
-
CollapsiblePrimitive.CollapsibleContent,
|
|
2040
|
-
{
|
|
2041
|
-
"data-slot": "collapsible-content",
|
|
2042
|
-
className: cn(
|
|
2043
|
-
"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",
|
|
2044
|
-
className
|
|
2045
|
-
),
|
|
2046
|
-
...props
|
|
2047
|
-
}
|
|
2048
|
-
);
|
|
2049
|
-
}
|
|
2050
|
-
|
|
2051
546
|
// src/components/ui/checkbox.tsx
|
|
2052
547
|
import { Checkbox as CheckboxPrimitive } from "radix-ui";
|
|
2053
|
-
import { Check
|
|
2054
|
-
import { jsx as
|
|
548
|
+
import { Check } from "lucide-react";
|
|
549
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
2055
550
|
function Checkbox({
|
|
2056
551
|
className,
|
|
2057
552
|
...props
|
|
2058
553
|
}) {
|
|
2059
|
-
return /* @__PURE__ */
|
|
554
|
+
return /* @__PURE__ */ jsx8(
|
|
2060
555
|
CheckboxPrimitive.Root,
|
|
2061
556
|
{
|
|
2062
557
|
"data-slot": "checkbox",
|
|
@@ -2065,13 +560,13 @@ function Checkbox({
|
|
|
2065
560
|
className
|
|
2066
561
|
),
|
|
2067
562
|
...props,
|
|
2068
|
-
children: /* @__PURE__ */
|
|
563
|
+
children: /* @__PURE__ */ jsx8(
|
|
2069
564
|
CheckboxPrimitive.Indicator,
|
|
2070
565
|
{
|
|
2071
566
|
"data-slot": "checkbox-indicator",
|
|
2072
567
|
className: "[&>svg]:size-3.5 grid place-content-center text-current transition-none",
|
|
2073
|
-
children: /* @__PURE__ */
|
|
2074
|
-
|
|
568
|
+
children: /* @__PURE__ */ jsx8(
|
|
569
|
+
Check,
|
|
2075
570
|
{}
|
|
2076
571
|
)
|
|
2077
572
|
}
|
|
@@ -2082,16 +577,16 @@ function Checkbox({
|
|
|
2082
577
|
|
|
2083
578
|
// src/components/ui/popover.tsx
|
|
2084
579
|
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
2085
|
-
import { jsx as
|
|
580
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
2086
581
|
function Popover({
|
|
2087
582
|
...props
|
|
2088
583
|
}) {
|
|
2089
|
-
return /* @__PURE__ */
|
|
584
|
+
return /* @__PURE__ */ jsx9(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
2090
585
|
}
|
|
2091
586
|
function PopoverTrigger({
|
|
2092
587
|
...props
|
|
2093
588
|
}) {
|
|
2094
|
-
return /* @__PURE__ */
|
|
589
|
+
return /* @__PURE__ */ jsx9(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2095
590
|
}
|
|
2096
591
|
function PopoverContent({
|
|
2097
592
|
className,
|
|
@@ -2099,7 +594,7 @@ function PopoverContent({
|
|
|
2099
594
|
sideOffset = 4,
|
|
2100
595
|
...props
|
|
2101
596
|
}) {
|
|
2102
|
-
return /* @__PURE__ */
|
|
597
|
+
return /* @__PURE__ */ jsx9(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx9(
|
|
2103
598
|
PopoverPrimitive.Content,
|
|
2104
599
|
{
|
|
2105
600
|
"data-slot": "popover-content",
|
|
@@ -2116,10 +611,10 @@ function PopoverContent({
|
|
|
2116
611
|
function PopoverAnchor({
|
|
2117
612
|
...props
|
|
2118
613
|
}) {
|
|
2119
|
-
return /* @__PURE__ */
|
|
614
|
+
return /* @__PURE__ */ jsx9(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
2120
615
|
}
|
|
2121
616
|
function PopoverHeader({ className, ...props }) {
|
|
2122
|
-
return /* @__PURE__ */
|
|
617
|
+
return /* @__PURE__ */ jsx9(
|
|
2123
618
|
"div",
|
|
2124
619
|
{
|
|
2125
620
|
"data-slot": "popover-header",
|
|
@@ -2129,7 +624,7 @@ function PopoverHeader({ className, ...props }) {
|
|
|
2129
624
|
);
|
|
2130
625
|
}
|
|
2131
626
|
function PopoverTitle({ className, ...props }) {
|
|
2132
|
-
return /* @__PURE__ */
|
|
627
|
+
return /* @__PURE__ */ jsx9(
|
|
2133
628
|
"div",
|
|
2134
629
|
{
|
|
2135
630
|
"data-slot": "popover-title",
|
|
@@ -2142,7 +637,7 @@ function PopoverDescription({
|
|
|
2142
637
|
className,
|
|
2143
638
|
...props
|
|
2144
639
|
}) {
|
|
2145
|
-
return /* @__PURE__ */
|
|
640
|
+
return /* @__PURE__ */ jsx9(
|
|
2146
641
|
"p",
|
|
2147
642
|
{
|
|
2148
643
|
"data-slot": "popover-description",
|
|
@@ -2154,13 +649,13 @@ function PopoverDescription({
|
|
|
2154
649
|
|
|
2155
650
|
// src/components/ui/accordion.tsx
|
|
2156
651
|
import { Accordion as AccordionPrimitive } from "radix-ui";
|
|
2157
|
-
import { ChevronDown
|
|
2158
|
-
import { jsx as
|
|
652
|
+
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
653
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
2159
654
|
function Accordion({
|
|
2160
655
|
className,
|
|
2161
656
|
...props
|
|
2162
657
|
}) {
|
|
2163
|
-
return /* @__PURE__ */
|
|
658
|
+
return /* @__PURE__ */ jsx10(
|
|
2164
659
|
AccordionPrimitive.Root,
|
|
2165
660
|
{
|
|
2166
661
|
"data-slot": "accordion",
|
|
@@ -2173,7 +668,7 @@ function AccordionItem({
|
|
|
2173
668
|
className,
|
|
2174
669
|
...props
|
|
2175
670
|
}) {
|
|
2176
|
-
return /* @__PURE__ */
|
|
671
|
+
return /* @__PURE__ */ jsx10(
|
|
2177
672
|
AccordionPrimitive.Item,
|
|
2178
673
|
{
|
|
2179
674
|
"data-slot": "accordion-item",
|
|
@@ -2187,7 +682,7 @@ function AccordionTrigger({
|
|
|
2187
682
|
children,
|
|
2188
683
|
...props
|
|
2189
684
|
}) {
|
|
2190
|
-
return /* @__PURE__ */
|
|
685
|
+
return /* @__PURE__ */ jsx10(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs3(
|
|
2191
686
|
AccordionPrimitive.Trigger,
|
|
2192
687
|
{
|
|
2193
688
|
"data-slot": "accordion-trigger",
|
|
@@ -2198,8 +693,8 @@ function AccordionTrigger({
|
|
|
2198
693
|
...props,
|
|
2199
694
|
children: [
|
|
2200
695
|
children,
|
|
2201
|
-
/* @__PURE__ */
|
|
2202
|
-
/* @__PURE__ */
|
|
696
|
+
/* @__PURE__ */ jsx10(ChevronDown, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }),
|
|
697
|
+
/* @__PURE__ */ jsx10(ChevronUp, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })
|
|
2203
698
|
]
|
|
2204
699
|
}
|
|
2205
700
|
) });
|
|
@@ -2209,13 +704,13 @@ function AccordionContent({
|
|
|
2209
704
|
children,
|
|
2210
705
|
...props
|
|
2211
706
|
}) {
|
|
2212
|
-
return /* @__PURE__ */
|
|
707
|
+
return /* @__PURE__ */ jsx10(
|
|
2213
708
|
AccordionPrimitive.Content,
|
|
2214
709
|
{
|
|
2215
710
|
"data-slot": "accordion-content",
|
|
2216
711
|
className: "data-open:animate-accordion-down data-closed:animate-accordion-up text-sm overflow-hidden",
|
|
2217
712
|
...props,
|
|
2218
|
-
children: /* @__PURE__ */
|
|
713
|
+
children: /* @__PURE__ */ jsx10(
|
|
2219
714
|
"div",
|
|
2220
715
|
{
|
|
2221
716
|
className: cn(
|
|
@@ -2231,27 +726,27 @@ function AccordionContent({
|
|
|
2231
726
|
|
|
2232
727
|
// src/components/ui/aspect-ratio.tsx
|
|
2233
728
|
import { AspectRatio as AspectRatioPrimitive } from "radix-ui";
|
|
2234
|
-
import { jsx as
|
|
729
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
2235
730
|
function AspectRatio({
|
|
2236
731
|
...props
|
|
2237
732
|
}) {
|
|
2238
|
-
return /* @__PURE__ */
|
|
733
|
+
return /* @__PURE__ */ jsx11(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
2239
734
|
}
|
|
2240
735
|
|
|
2241
736
|
// src/components/ui/context-menu.tsx
|
|
2242
737
|
import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
|
|
2243
|
-
import { ChevronRight
|
|
2244
|
-
import { jsx as
|
|
738
|
+
import { ChevronRight, Check as Check2 } from "lucide-react";
|
|
739
|
+
import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
2245
740
|
function ContextMenu({
|
|
2246
741
|
...props
|
|
2247
742
|
}) {
|
|
2248
|
-
return /* @__PURE__ */
|
|
743
|
+
return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
|
|
2249
744
|
}
|
|
2250
745
|
function ContextMenuTrigger({
|
|
2251
746
|
className,
|
|
2252
747
|
...props
|
|
2253
748
|
}) {
|
|
2254
|
-
return /* @__PURE__ */
|
|
749
|
+
return /* @__PURE__ */ jsx12(
|
|
2255
750
|
ContextMenuPrimitive.Trigger,
|
|
2256
751
|
{
|
|
2257
752
|
"data-slot": "context-menu-trigger",
|
|
@@ -2263,22 +758,22 @@ function ContextMenuTrigger({
|
|
|
2263
758
|
function ContextMenuGroup({
|
|
2264
759
|
...props
|
|
2265
760
|
}) {
|
|
2266
|
-
return /* @__PURE__ */
|
|
761
|
+
return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
|
|
2267
762
|
}
|
|
2268
763
|
function ContextMenuPortal({
|
|
2269
764
|
...props
|
|
2270
765
|
}) {
|
|
2271
|
-
return /* @__PURE__ */
|
|
766
|
+
return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
|
|
2272
767
|
}
|
|
2273
768
|
function ContextMenuSub({
|
|
2274
769
|
...props
|
|
2275
770
|
}) {
|
|
2276
|
-
return /* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
|
|
2277
772
|
}
|
|
2278
773
|
function ContextMenuRadioGroup({
|
|
2279
774
|
...props
|
|
2280
775
|
}) {
|
|
2281
|
-
return /* @__PURE__ */
|
|
776
|
+
return /* @__PURE__ */ jsx12(
|
|
2282
777
|
ContextMenuPrimitive.RadioGroup,
|
|
2283
778
|
{
|
|
2284
779
|
"data-slot": "context-menu-radio-group",
|
|
@@ -2290,7 +785,7 @@ function ContextMenuContent({
|
|
|
2290
785
|
className,
|
|
2291
786
|
...props
|
|
2292
787
|
}) {
|
|
2293
|
-
return /* @__PURE__ */
|
|
788
|
+
return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx12(
|
|
2294
789
|
ContextMenuPrimitive.Content,
|
|
2295
790
|
{
|
|
2296
791
|
"data-slot": "context-menu-content",
|
|
@@ -2305,7 +800,7 @@ function ContextMenuItem({
|
|
|
2305
800
|
variant = "default",
|
|
2306
801
|
...props
|
|
2307
802
|
}) {
|
|
2308
|
-
return /* @__PURE__ */
|
|
803
|
+
return /* @__PURE__ */ jsx12(
|
|
2309
804
|
ContextMenuPrimitive.Item,
|
|
2310
805
|
{
|
|
2311
806
|
"data-slot": "context-menu-item",
|
|
@@ -2325,7 +820,7 @@ function ContextMenuSubTrigger({
|
|
|
2325
820
|
children,
|
|
2326
821
|
...props
|
|
2327
822
|
}) {
|
|
2328
|
-
return /* @__PURE__ */
|
|
823
|
+
return /* @__PURE__ */ jsxs4(
|
|
2329
824
|
ContextMenuPrimitive.SubTrigger,
|
|
2330
825
|
{
|
|
2331
826
|
"data-slot": "context-menu-sub-trigger",
|
|
@@ -2337,7 +832,7 @@ function ContextMenuSubTrigger({
|
|
|
2337
832
|
...props,
|
|
2338
833
|
children: [
|
|
2339
834
|
children,
|
|
2340
|
-
/* @__PURE__ */
|
|
835
|
+
/* @__PURE__ */ jsx12(ChevronRight, { className: "ml-auto" })
|
|
2341
836
|
]
|
|
2342
837
|
}
|
|
2343
838
|
);
|
|
@@ -2346,7 +841,7 @@ function ContextMenuSubContent({
|
|
|
2346
841
|
className,
|
|
2347
842
|
...props
|
|
2348
843
|
}) {
|
|
2349
|
-
return /* @__PURE__ */
|
|
844
|
+
return /* @__PURE__ */ jsx12(
|
|
2350
845
|
ContextMenuPrimitive.SubContent,
|
|
2351
846
|
{
|
|
2352
847
|
"data-slot": "context-menu-sub-content",
|
|
@@ -2362,7 +857,7 @@ function ContextMenuCheckboxItem({
|
|
|
2362
857
|
inset,
|
|
2363
858
|
...props
|
|
2364
859
|
}) {
|
|
2365
|
-
return /* @__PURE__ */
|
|
860
|
+
return /* @__PURE__ */ jsxs4(
|
|
2366
861
|
ContextMenuPrimitive.CheckboxItem,
|
|
2367
862
|
{
|
|
2368
863
|
"data-slot": "context-menu-checkbox-item",
|
|
@@ -2374,7 +869,7 @@ function ContextMenuCheckboxItem({
|
|
|
2374
869
|
checked,
|
|
2375
870
|
...props,
|
|
2376
871
|
children: [
|
|
2377
|
-
/* @__PURE__ */
|
|
872
|
+
/* @__PURE__ */ jsx12("span", { className: "absolute right-2 pointer-events-none", children: /* @__PURE__ */ jsx12(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(Check2, {}) }) }),
|
|
2378
873
|
children
|
|
2379
874
|
]
|
|
2380
875
|
}
|
|
@@ -2386,7 +881,7 @@ function ContextMenuRadioItem({
|
|
|
2386
881
|
inset,
|
|
2387
882
|
...props
|
|
2388
883
|
}) {
|
|
2389
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ jsxs4(
|
|
2390
885
|
ContextMenuPrimitive.RadioItem,
|
|
2391
886
|
{
|
|
2392
887
|
"data-slot": "context-menu-radio-item",
|
|
@@ -2397,7 +892,7 @@ function ContextMenuRadioItem({
|
|
|
2397
892
|
),
|
|
2398
893
|
...props,
|
|
2399
894
|
children: [
|
|
2400
|
-
/* @__PURE__ */
|
|
895
|
+
/* @__PURE__ */ jsx12("span", { className: "absolute right-2 pointer-events-none", children: /* @__PURE__ */ jsx12(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx12(Check2, {}) }) }),
|
|
2401
896
|
children
|
|
2402
897
|
]
|
|
2403
898
|
}
|
|
@@ -2408,7 +903,7 @@ function ContextMenuLabel({
|
|
|
2408
903
|
inset,
|
|
2409
904
|
...props
|
|
2410
905
|
}) {
|
|
2411
|
-
return /* @__PURE__ */
|
|
906
|
+
return /* @__PURE__ */ jsx12(
|
|
2412
907
|
ContextMenuPrimitive.Label,
|
|
2413
908
|
{
|
|
2414
909
|
"data-slot": "context-menu-label",
|
|
@@ -2422,7 +917,7 @@ function ContextMenuSeparator({
|
|
|
2422
917
|
className,
|
|
2423
918
|
...props
|
|
2424
919
|
}) {
|
|
2425
|
-
return /* @__PURE__ */
|
|
920
|
+
return /* @__PURE__ */ jsx12(
|
|
2426
921
|
ContextMenuPrimitive.Separator,
|
|
2427
922
|
{
|
|
2428
923
|
"data-slot": "context-menu-separator",
|
|
@@ -2435,7 +930,7 @@ function ContextMenuShortcut({
|
|
|
2435
930
|
className,
|
|
2436
931
|
...props
|
|
2437
932
|
}) {
|
|
2438
|
-
return /* @__PURE__ */
|
|
933
|
+
return /* @__PURE__ */ jsx12(
|
|
2439
934
|
"span",
|
|
2440
935
|
{
|
|
2441
936
|
"data-slot": "context-menu-shortcut",
|
|
@@ -2447,16 +942,16 @@ function ContextMenuShortcut({
|
|
|
2447
942
|
|
|
2448
943
|
// src/components/ui/hover-card.tsx
|
|
2449
944
|
import { HoverCard as HoverCardPrimitive } from "radix-ui";
|
|
2450
|
-
import { jsx as
|
|
945
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
2451
946
|
function HoverCard({
|
|
2452
947
|
...props
|
|
2453
948
|
}) {
|
|
2454
|
-
return /* @__PURE__ */
|
|
949
|
+
return /* @__PURE__ */ jsx13(HoverCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
2455
950
|
}
|
|
2456
951
|
function HoverCardTrigger({
|
|
2457
952
|
...props
|
|
2458
953
|
}) {
|
|
2459
|
-
return /* @__PURE__ */
|
|
954
|
+
return /* @__PURE__ */ jsx13(HoverCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
2460
955
|
}
|
|
2461
956
|
function HoverCardContent({
|
|
2462
957
|
className,
|
|
@@ -2464,7 +959,7 @@ function HoverCardContent({
|
|
|
2464
959
|
sideOffset = 4,
|
|
2465
960
|
...props
|
|
2466
961
|
}) {
|
|
2467
|
-
return /* @__PURE__ */
|
|
962
|
+
return /* @__PURE__ */ jsx13(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx13(
|
|
2468
963
|
HoverCardPrimitive.Content,
|
|
2469
964
|
{
|
|
2470
965
|
"data-slot": "hover-card-content",
|
|
@@ -2481,13 +976,13 @@ function HoverCardContent({
|
|
|
2481
976
|
|
|
2482
977
|
// src/components/ui/menubar.tsx
|
|
2483
978
|
import { Menubar as MenubarPrimitive } from "radix-ui";
|
|
2484
|
-
import { Check as
|
|
2485
|
-
import { jsx as
|
|
979
|
+
import { Check as Check3, ChevronRight as ChevronRight2 } from "lucide-react";
|
|
980
|
+
import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
2486
981
|
function Menubar({
|
|
2487
982
|
className,
|
|
2488
983
|
...props
|
|
2489
984
|
}) {
|
|
2490
|
-
return /* @__PURE__ */
|
|
985
|
+
return /* @__PURE__ */ jsx14(
|
|
2491
986
|
MenubarPrimitive.Root,
|
|
2492
987
|
{
|
|
2493
988
|
"data-slot": "menubar",
|
|
@@ -2499,28 +994,28 @@ function Menubar({
|
|
|
2499
994
|
function MenubarMenu({
|
|
2500
995
|
...props
|
|
2501
996
|
}) {
|
|
2502
|
-
return /* @__PURE__ */
|
|
997
|
+
return /* @__PURE__ */ jsx14(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
|
|
2503
998
|
}
|
|
2504
999
|
function MenubarGroup({
|
|
2505
1000
|
...props
|
|
2506
1001
|
}) {
|
|
2507
|
-
return /* @__PURE__ */
|
|
1002
|
+
return /* @__PURE__ */ jsx14(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
|
|
2508
1003
|
}
|
|
2509
1004
|
function MenubarPortal({
|
|
2510
1005
|
...props
|
|
2511
1006
|
}) {
|
|
2512
|
-
return /* @__PURE__ */
|
|
1007
|
+
return /* @__PURE__ */ jsx14(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
|
|
2513
1008
|
}
|
|
2514
1009
|
function MenubarRadioGroup({
|
|
2515
1010
|
...props
|
|
2516
1011
|
}) {
|
|
2517
|
-
return /* @__PURE__ */
|
|
1012
|
+
return /* @__PURE__ */ jsx14(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
2518
1013
|
}
|
|
2519
1014
|
function MenubarTrigger({
|
|
2520
1015
|
className,
|
|
2521
1016
|
...props
|
|
2522
1017
|
}) {
|
|
2523
|
-
return /* @__PURE__ */
|
|
1018
|
+
return /* @__PURE__ */ jsx14(
|
|
2524
1019
|
MenubarPrimitive.Trigger,
|
|
2525
1020
|
{
|
|
2526
1021
|
"data-slot": "menubar-trigger",
|
|
@@ -2539,7 +1034,7 @@ function MenubarContent({
|
|
|
2539
1034
|
sideOffset = 8,
|
|
2540
1035
|
...props
|
|
2541
1036
|
}) {
|
|
2542
|
-
return /* @__PURE__ */
|
|
1037
|
+
return /* @__PURE__ */ jsx14(MenubarPortal, { children: /* @__PURE__ */ jsx14(
|
|
2543
1038
|
MenubarPrimitive.Content,
|
|
2544
1039
|
{
|
|
2545
1040
|
"data-slot": "menubar-content",
|
|
@@ -2557,7 +1052,7 @@ function MenubarItem({
|
|
|
2557
1052
|
variant = "default",
|
|
2558
1053
|
...props
|
|
2559
1054
|
}) {
|
|
2560
|
-
return /* @__PURE__ */
|
|
1055
|
+
return /* @__PURE__ */ jsx14(
|
|
2561
1056
|
MenubarPrimitive.Item,
|
|
2562
1057
|
{
|
|
2563
1058
|
"data-slot": "menubar-item",
|
|
@@ -2578,7 +1073,7 @@ function MenubarCheckboxItem({
|
|
|
2578
1073
|
inset,
|
|
2579
1074
|
...props
|
|
2580
1075
|
}) {
|
|
2581
|
-
return /* @__PURE__ */
|
|
1076
|
+
return /* @__PURE__ */ jsxs5(
|
|
2582
1077
|
MenubarPrimitive.CheckboxItem,
|
|
2583
1078
|
{
|
|
2584
1079
|
"data-slot": "menubar-checkbox-item",
|
|
@@ -2590,7 +1085,7 @@ function MenubarCheckboxItem({
|
|
|
2590
1085
|
checked,
|
|
2591
1086
|
...props,
|
|
2592
1087
|
children: [
|
|
2593
|
-
/* @__PURE__ */
|
|
1088
|
+
/* @__PURE__ */ jsx14("span", { className: "left-2 size-4 [&_svg:not([class*='size-'])]:size-4 pointer-events-none absolute flex items-center justify-center", children: /* @__PURE__ */ jsx14(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(Check3, {}) }) }),
|
|
2594
1089
|
children
|
|
2595
1090
|
]
|
|
2596
1091
|
}
|
|
@@ -2602,7 +1097,7 @@ function MenubarRadioItem({
|
|
|
2602
1097
|
inset,
|
|
2603
1098
|
...props
|
|
2604
1099
|
}) {
|
|
2605
|
-
return /* @__PURE__ */
|
|
1100
|
+
return /* @__PURE__ */ jsxs5(
|
|
2606
1101
|
MenubarPrimitive.RadioItem,
|
|
2607
1102
|
{
|
|
2608
1103
|
"data-slot": "menubar-radio-item",
|
|
@@ -2613,7 +1108,7 @@ function MenubarRadioItem({
|
|
|
2613
1108
|
),
|
|
2614
1109
|
...props,
|
|
2615
1110
|
children: [
|
|
2616
|
-
/* @__PURE__ */
|
|
1111
|
+
/* @__PURE__ */ jsx14("span", { className: "left-2 size-4 [&_svg:not([class*='size-'])]:size-4 pointer-events-none absolute flex items-center justify-center", children: /* @__PURE__ */ jsx14(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(Check3, {}) }) }),
|
|
2617
1112
|
children
|
|
2618
1113
|
]
|
|
2619
1114
|
}
|
|
@@ -2624,7 +1119,7 @@ function MenubarLabel({
|
|
|
2624
1119
|
inset,
|
|
2625
1120
|
...props
|
|
2626
1121
|
}) {
|
|
2627
|
-
return /* @__PURE__ */
|
|
1122
|
+
return /* @__PURE__ */ jsx14(
|
|
2628
1123
|
MenubarPrimitive.Label,
|
|
2629
1124
|
{
|
|
2630
1125
|
"data-slot": "menubar-label",
|
|
@@ -2638,7 +1133,7 @@ function MenubarSeparator({
|
|
|
2638
1133
|
className,
|
|
2639
1134
|
...props
|
|
2640
1135
|
}) {
|
|
2641
|
-
return /* @__PURE__ */
|
|
1136
|
+
return /* @__PURE__ */ jsx14(
|
|
2642
1137
|
MenubarPrimitive.Separator,
|
|
2643
1138
|
{
|
|
2644
1139
|
"data-slot": "menubar-separator",
|
|
@@ -2651,7 +1146,7 @@ function MenubarShortcut({
|
|
|
2651
1146
|
className,
|
|
2652
1147
|
...props
|
|
2653
1148
|
}) {
|
|
2654
|
-
return /* @__PURE__ */
|
|
1149
|
+
return /* @__PURE__ */ jsx14(
|
|
2655
1150
|
"span",
|
|
2656
1151
|
{
|
|
2657
1152
|
"data-slot": "menubar-shortcut",
|
|
@@ -2663,7 +1158,7 @@ function MenubarShortcut({
|
|
|
2663
1158
|
function MenubarSub({
|
|
2664
1159
|
...props
|
|
2665
1160
|
}) {
|
|
2666
|
-
return /* @__PURE__ */
|
|
1161
|
+
return /* @__PURE__ */ jsx14(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
2667
1162
|
}
|
|
2668
1163
|
function MenubarSubTrigger({
|
|
2669
1164
|
className,
|
|
@@ -2671,7 +1166,7 @@ function MenubarSubTrigger({
|
|
|
2671
1166
|
children,
|
|
2672
1167
|
...props
|
|
2673
1168
|
}) {
|
|
2674
|
-
return /* @__PURE__ */
|
|
1169
|
+
return /* @__PURE__ */ jsxs5(
|
|
2675
1170
|
MenubarPrimitive.SubTrigger,
|
|
2676
1171
|
{
|
|
2677
1172
|
"data-slot": "menubar-sub-trigger",
|
|
@@ -2683,7 +1178,7 @@ function MenubarSubTrigger({
|
|
|
2683
1178
|
...props,
|
|
2684
1179
|
children: [
|
|
2685
1180
|
children,
|
|
2686
|
-
/* @__PURE__ */
|
|
1181
|
+
/* @__PURE__ */ jsx14(ChevronRight2, { className: "ml-auto size-4" })
|
|
2687
1182
|
]
|
|
2688
1183
|
}
|
|
2689
1184
|
);
|
|
@@ -2692,7 +1187,7 @@ function MenubarSubContent({
|
|
|
2692
1187
|
className,
|
|
2693
1188
|
...props
|
|
2694
1189
|
}) {
|
|
2695
|
-
return /* @__PURE__ */
|
|
1190
|
+
return /* @__PURE__ */ jsx14(
|
|
2696
1191
|
MenubarPrimitive.SubContent,
|
|
2697
1192
|
{
|
|
2698
1193
|
"data-slot": "menubar-sub-content",
|
|
@@ -2703,17 +1198,17 @@ function MenubarSubContent({
|
|
|
2703
1198
|
}
|
|
2704
1199
|
|
|
2705
1200
|
// src/components/ui/navigation-menu.tsx
|
|
2706
|
-
import { cva as
|
|
1201
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
2707
1202
|
import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
|
|
2708
|
-
import { ChevronDown as
|
|
2709
|
-
import { jsx as
|
|
1203
|
+
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
1204
|
+
import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
2710
1205
|
function NavigationMenu({
|
|
2711
1206
|
className,
|
|
2712
1207
|
children,
|
|
2713
1208
|
viewport = true,
|
|
2714
1209
|
...props
|
|
2715
1210
|
}) {
|
|
2716
|
-
return /* @__PURE__ */
|
|
1211
|
+
return /* @__PURE__ */ jsxs6(
|
|
2717
1212
|
NavigationMenuPrimitive.Root,
|
|
2718
1213
|
{
|
|
2719
1214
|
"data-slot": "navigation-menu",
|
|
@@ -2725,7 +1220,7 @@ function NavigationMenu({
|
|
|
2725
1220
|
...props,
|
|
2726
1221
|
children: [
|
|
2727
1222
|
children,
|
|
2728
|
-
viewport && /* @__PURE__ */
|
|
1223
|
+
viewport && /* @__PURE__ */ jsx15(NavigationMenuViewport, {})
|
|
2729
1224
|
]
|
|
2730
1225
|
}
|
|
2731
1226
|
);
|
|
@@ -2734,7 +1229,7 @@ function NavigationMenuList({
|
|
|
2734
1229
|
className,
|
|
2735
1230
|
...props
|
|
2736
1231
|
}) {
|
|
2737
|
-
return /* @__PURE__ */
|
|
1232
|
+
return /* @__PURE__ */ jsx15(
|
|
2738
1233
|
NavigationMenuPrimitive.List,
|
|
2739
1234
|
{
|
|
2740
1235
|
"data-slot": "navigation-menu-list",
|
|
@@ -2750,7 +1245,7 @@ function NavigationMenuItem({
|
|
|
2750
1245
|
className,
|
|
2751
1246
|
...props
|
|
2752
1247
|
}) {
|
|
2753
|
-
return /* @__PURE__ */
|
|
1248
|
+
return /* @__PURE__ */ jsx15(
|
|
2754
1249
|
NavigationMenuPrimitive.Item,
|
|
2755
1250
|
{
|
|
2756
1251
|
"data-slot": "navigation-menu-item",
|
|
@@ -2759,7 +1254,7 @@ function NavigationMenuItem({
|
|
|
2759
1254
|
}
|
|
2760
1255
|
);
|
|
2761
1256
|
}
|
|
2762
|
-
var navigationMenuTriggerStyle =
|
|
1257
|
+
var navigationMenuTriggerStyle = cva3(
|
|
2763
1258
|
"bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted rounded-md px-4 py-2 text-sm font-medium transition-all focus-visible:ring-3 focus-visible:outline-1 disabled:opacity-50 group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center disabled:pointer-events-none outline-none"
|
|
2764
1259
|
);
|
|
2765
1260
|
function NavigationMenuTrigger({
|
|
@@ -2767,7 +1262,7 @@ function NavigationMenuTrigger({
|
|
|
2767
1262
|
children,
|
|
2768
1263
|
...props
|
|
2769
1264
|
}) {
|
|
2770
|
-
return /* @__PURE__ */
|
|
1265
|
+
return /* @__PURE__ */ jsxs6(
|
|
2771
1266
|
NavigationMenuPrimitive.Trigger,
|
|
2772
1267
|
{
|
|
2773
1268
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -2776,7 +1271,7 @@ function NavigationMenuTrigger({
|
|
|
2776
1271
|
children: [
|
|
2777
1272
|
children,
|
|
2778
1273
|
" ",
|
|
2779
|
-
/* @__PURE__ */
|
|
1274
|
+
/* @__PURE__ */ jsx15(ChevronDown2, { className: "relative top-px ml-1 size-3 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180", "aria-hidden": "true" })
|
|
2780
1275
|
]
|
|
2781
1276
|
}
|
|
2782
1277
|
);
|
|
@@ -2785,7 +1280,7 @@ function NavigationMenuContent({
|
|
|
2785
1280
|
className,
|
|
2786
1281
|
...props
|
|
2787
1282
|
}) {
|
|
2788
|
-
return /* @__PURE__ */
|
|
1283
|
+
return /* @__PURE__ */ jsx15(
|
|
2789
1284
|
NavigationMenuPrimitive.Content,
|
|
2790
1285
|
{
|
|
2791
1286
|
"data-slot": "navigation-menu-content",
|
|
@@ -2801,13 +1296,13 @@ function NavigationMenuViewport({
|
|
|
2801
1296
|
className,
|
|
2802
1297
|
...props
|
|
2803
1298
|
}) {
|
|
2804
|
-
return /* @__PURE__ */
|
|
1299
|
+
return /* @__PURE__ */ jsx15(
|
|
2805
1300
|
"div",
|
|
2806
1301
|
{
|
|
2807
1302
|
className: cn(
|
|
2808
1303
|
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
2809
1304
|
),
|
|
2810
|
-
children: /* @__PURE__ */
|
|
1305
|
+
children: /* @__PURE__ */ jsx15(
|
|
2811
1306
|
NavigationMenuPrimitive.Viewport,
|
|
2812
1307
|
{
|
|
2813
1308
|
"data-slot": "navigation-menu-viewport",
|
|
@@ -2825,7 +1320,7 @@ function NavigationMenuLink({
|
|
|
2825
1320
|
className,
|
|
2826
1321
|
...props
|
|
2827
1322
|
}) {
|
|
2828
|
-
return /* @__PURE__ */
|
|
1323
|
+
return /* @__PURE__ */ jsx15(
|
|
2829
1324
|
NavigationMenuPrimitive.Link,
|
|
2830
1325
|
{
|
|
2831
1326
|
"data-slot": "navigation-menu-link",
|
|
@@ -2838,7 +1333,7 @@ function NavigationMenuIndicator({
|
|
|
2838
1333
|
className,
|
|
2839
1334
|
...props
|
|
2840
1335
|
}) {
|
|
2841
|
-
return /* @__PURE__ */
|
|
1336
|
+
return /* @__PURE__ */ jsx15(
|
|
2842
1337
|
NavigationMenuPrimitive.Indicator,
|
|
2843
1338
|
{
|
|
2844
1339
|
"data-slot": "navigation-menu-indicator",
|
|
@@ -2847,16 +1342,16 @@ function NavigationMenuIndicator({
|
|
|
2847
1342
|
className
|
|
2848
1343
|
),
|
|
2849
1344
|
...props,
|
|
2850
|
-
children: /* @__PURE__ */
|
|
1345
|
+
children: /* @__PURE__ */ jsx15("div", { className: "bg-border rounded-tl-sm shadow-md relative top-[60%] h-2 w-2 rotate-45" })
|
|
2851
1346
|
}
|
|
2852
1347
|
);
|
|
2853
1348
|
}
|
|
2854
1349
|
|
|
2855
1350
|
// src/components/ui/pagination.tsx
|
|
2856
|
-
import { ChevronLeft, ChevronRight as
|
|
2857
|
-
import { jsx as
|
|
1351
|
+
import { ChevronLeft, ChevronRight as ChevronRight3, MoreHorizontal } from "lucide-react";
|
|
1352
|
+
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2858
1353
|
function Pagination({ className, ...props }) {
|
|
2859
|
-
return /* @__PURE__ */
|
|
1354
|
+
return /* @__PURE__ */ jsx16(
|
|
2860
1355
|
"nav",
|
|
2861
1356
|
{
|
|
2862
1357
|
role: "navigation",
|
|
@@ -2874,7 +1369,7 @@ function PaginationContent({
|
|
|
2874
1369
|
className,
|
|
2875
1370
|
...props
|
|
2876
1371
|
}) {
|
|
2877
|
-
return /* @__PURE__ */
|
|
1372
|
+
return /* @__PURE__ */ jsx16(
|
|
2878
1373
|
"ul",
|
|
2879
1374
|
{
|
|
2880
1375
|
"data-slot": "pagination-content",
|
|
@@ -2884,7 +1379,7 @@ function PaginationContent({
|
|
|
2884
1379
|
);
|
|
2885
1380
|
}
|
|
2886
1381
|
function PaginationItem({ ...props }) {
|
|
2887
|
-
return /* @__PURE__ */
|
|
1382
|
+
return /* @__PURE__ */ jsx16("li", { "data-slot": "pagination-item", ...props });
|
|
2888
1383
|
}
|
|
2889
1384
|
function PaginationLink({
|
|
2890
1385
|
className,
|
|
@@ -2892,14 +1387,14 @@ function PaginationLink({
|
|
|
2892
1387
|
size = "icon",
|
|
2893
1388
|
...props
|
|
2894
1389
|
}) {
|
|
2895
|
-
return /* @__PURE__ */
|
|
1390
|
+
return /* @__PURE__ */ jsx16(
|
|
2896
1391
|
Button,
|
|
2897
1392
|
{
|
|
2898
1393
|
asChild: true,
|
|
2899
1394
|
variant: isActive ? "outline" : "ghost",
|
|
2900
1395
|
size,
|
|
2901
1396
|
className: cn(className),
|
|
2902
|
-
children: /* @__PURE__ */
|
|
1397
|
+
children: /* @__PURE__ */ jsx16(
|
|
2903
1398
|
"a",
|
|
2904
1399
|
{
|
|
2905
1400
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2916,7 +1411,7 @@ function PaginationPrevious({
|
|
|
2916
1411
|
text = "Previous",
|
|
2917
1412
|
...props
|
|
2918
1413
|
}) {
|
|
2919
|
-
return /* @__PURE__ */
|
|
1414
|
+
return /* @__PURE__ */ jsxs7(
|
|
2920
1415
|
PaginationLink,
|
|
2921
1416
|
{
|
|
2922
1417
|
"aria-label": "Go to previous page",
|
|
@@ -2924,8 +1419,8 @@ function PaginationPrevious({
|
|
|
2924
1419
|
...props,
|
|
2925
1420
|
size: "default",
|
|
2926
1421
|
children: [
|
|
2927
|
-
/* @__PURE__ */
|
|
2928
|
-
/* @__PURE__ */
|
|
1422
|
+
/* @__PURE__ */ jsx16(ChevronLeft, { "data-icon": "inline-start" }),
|
|
1423
|
+
/* @__PURE__ */ jsx16("span", { className: "hidden sm:block", children: text })
|
|
2929
1424
|
]
|
|
2930
1425
|
}
|
|
2931
1426
|
);
|
|
@@ -2935,7 +1430,7 @@ function PaginationNext({
|
|
|
2935
1430
|
text = "Next",
|
|
2936
1431
|
...props
|
|
2937
1432
|
}) {
|
|
2938
|
-
return /* @__PURE__ */
|
|
1433
|
+
return /* @__PURE__ */ jsxs7(
|
|
2939
1434
|
PaginationLink,
|
|
2940
1435
|
{
|
|
2941
1436
|
"aria-label": "Go to next page",
|
|
@@ -2943,8 +1438,8 @@ function PaginationNext({
|
|
|
2943
1438
|
...props,
|
|
2944
1439
|
size: "default",
|
|
2945
1440
|
children: [
|
|
2946
|
-
/* @__PURE__ */
|
|
2947
|
-
/* @__PURE__ */
|
|
1441
|
+
/* @__PURE__ */ jsx16("span", { className: "hidden sm:block", children: text }),
|
|
1442
|
+
/* @__PURE__ */ jsx16(ChevronRight3, { "data-icon": "inline-end" })
|
|
2948
1443
|
]
|
|
2949
1444
|
}
|
|
2950
1445
|
);
|
|
@@ -2953,7 +1448,7 @@ function PaginationEllipsis({
|
|
|
2953
1448
|
className,
|
|
2954
1449
|
...props
|
|
2955
1450
|
}) {
|
|
2956
|
-
return /* @__PURE__ */
|
|
1451
|
+
return /* @__PURE__ */ jsxs7(
|
|
2957
1452
|
"span",
|
|
2958
1453
|
{
|
|
2959
1454
|
"aria-hidden": true,
|
|
@@ -2964,8 +1459,8 @@ function PaginationEllipsis({
|
|
|
2964
1459
|
),
|
|
2965
1460
|
...props,
|
|
2966
1461
|
children: [
|
|
2967
|
-
/* @__PURE__ */
|
|
2968
|
-
/* @__PURE__ */
|
|
1462
|
+
/* @__PURE__ */ jsx16(MoreHorizontal, {}),
|
|
1463
|
+
/* @__PURE__ */ jsx16("span", { className: "sr-only", children: "More pages" })
|
|
2969
1464
|
]
|
|
2970
1465
|
}
|
|
2971
1466
|
);
|
|
@@ -2973,12 +1468,12 @@ function PaginationEllipsis({
|
|
|
2973
1468
|
|
|
2974
1469
|
// src/components/ui/radio-group.tsx
|
|
2975
1470
|
import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
|
|
2976
|
-
import { jsx as
|
|
1471
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
2977
1472
|
function RadioGroup({
|
|
2978
1473
|
className,
|
|
2979
1474
|
...props
|
|
2980
1475
|
}) {
|
|
2981
|
-
return /* @__PURE__ */
|
|
1476
|
+
return /* @__PURE__ */ jsx17(
|
|
2982
1477
|
RadioGroupPrimitive.Root,
|
|
2983
1478
|
{
|
|
2984
1479
|
"data-slot": "radio-group",
|
|
@@ -2991,7 +1486,7 @@ function RadioGroupItem({
|
|
|
2991
1486
|
className,
|
|
2992
1487
|
...props
|
|
2993
1488
|
}) {
|
|
2994
|
-
return /* @__PURE__ */
|
|
1489
|
+
return /* @__PURE__ */ jsx17(
|
|
2995
1490
|
RadioGroupPrimitive.Item,
|
|
2996
1491
|
{
|
|
2997
1492
|
"data-slot": "radio-group-item",
|
|
@@ -3000,84 +1495,27 @@ function RadioGroupItem({
|
|
|
3000
1495
|
className
|
|
3001
1496
|
),
|
|
3002
1497
|
...props,
|
|
3003
|
-
children: /* @__PURE__ */
|
|
1498
|
+
children: /* @__PURE__ */ jsx17(
|
|
3004
1499
|
RadioGroupPrimitive.Indicator,
|
|
3005
1500
|
{
|
|
3006
1501
|
"data-slot": "radio-group-indicator",
|
|
3007
1502
|
className: "flex size-4 items-center justify-center",
|
|
3008
|
-
children: /* @__PURE__ */
|
|
1503
|
+
children: /* @__PURE__ */ jsx17("span", { className: "bg-primary-foreground absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full" })
|
|
3009
1504
|
}
|
|
3010
1505
|
)
|
|
3011
1506
|
}
|
|
3012
1507
|
);
|
|
3013
1508
|
}
|
|
3014
1509
|
|
|
3015
|
-
// src/components/ui/slider.tsx
|
|
3016
|
-
import * as React2 from "react";
|
|
3017
|
-
import { Slider as SliderPrimitive } from "radix-ui";
|
|
3018
|
-
import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3019
|
-
function Slider({
|
|
3020
|
-
className,
|
|
3021
|
-
defaultValue,
|
|
3022
|
-
value,
|
|
3023
|
-
min = 0,
|
|
3024
|
-
max = 100,
|
|
3025
|
-
...props
|
|
3026
|
-
}) {
|
|
3027
|
-
const _values = React2.useMemo(
|
|
3028
|
-
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
3029
|
-
[value, defaultValue, min, max]
|
|
3030
|
-
);
|
|
3031
|
-
return /* @__PURE__ */ jsxs16(
|
|
3032
|
-
SliderPrimitive.Root,
|
|
3033
|
-
{
|
|
3034
|
-
"data-slot": "slider",
|
|
3035
|
-
defaultValue,
|
|
3036
|
-
value,
|
|
3037
|
-
min,
|
|
3038
|
-
max,
|
|
3039
|
-
className: cn(
|
|
3040
|
-
"data-vertical:min-h-40 relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:w-auto data-vertical:flex-col",
|
|
3041
|
-
className
|
|
3042
|
-
),
|
|
3043
|
-
...props,
|
|
3044
|
-
children: [
|
|
3045
|
-
/* @__PURE__ */ jsx35(
|
|
3046
|
-
SliderPrimitive.Track,
|
|
3047
|
-
{
|
|
3048
|
-
"data-slot": "slider-track",
|
|
3049
|
-
className: "bg-muted rounded-full data-horizontal:h-1.5 data-vertical:w-1.5 relative grow overflow-hidden data-horizontal:w-full data-vertical:h-full",
|
|
3050
|
-
children: /* @__PURE__ */ jsx35(
|
|
3051
|
-
SliderPrimitive.Range,
|
|
3052
|
-
{
|
|
3053
|
-
"data-slot": "slider-range",
|
|
3054
|
-
className: "bg-primary absolute select-none data-horizontal:h-full data-vertical:w-full"
|
|
3055
|
-
}
|
|
3056
|
-
)
|
|
3057
|
-
}
|
|
3058
|
-
),
|
|
3059
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx35(
|
|
3060
|
-
SliderPrimitive.Thumb,
|
|
3061
|
-
{
|
|
3062
|
-
"data-slot": "slider-thumb",
|
|
3063
|
-
className: "border-primary ring-ring/50 size-4 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden block shrink-0 select-none disabled:pointer-events-none disabled:opacity-50"
|
|
3064
|
-
},
|
|
3065
|
-
index
|
|
3066
|
-
))
|
|
3067
|
-
]
|
|
3068
|
-
}
|
|
3069
|
-
);
|
|
3070
|
-
}
|
|
3071
|
-
|
|
3072
1510
|
// src/components/ui/switch.tsx
|
|
3073
1511
|
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
3074
|
-
import { jsx as
|
|
1512
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
3075
1513
|
function Switch({
|
|
3076
1514
|
className,
|
|
3077
1515
|
size = "default",
|
|
3078
1516
|
...props
|
|
3079
1517
|
}) {
|
|
3080
|
-
return /* @__PURE__ */
|
|
1518
|
+
return /* @__PURE__ */ jsx18(
|
|
3081
1519
|
SwitchPrimitive.Root,
|
|
3082
1520
|
{
|
|
3083
1521
|
"data-slot": "switch",
|
|
@@ -3087,7 +1525,7 @@ function Switch({
|
|
|
3087
1525
|
className
|
|
3088
1526
|
),
|
|
3089
1527
|
...props,
|
|
3090
|
-
children: /* @__PURE__ */
|
|
1528
|
+
children: /* @__PURE__ */ jsx18(
|
|
3091
1529
|
SwitchPrimitive.Thumb,
|
|
3092
1530
|
{
|
|
3093
1531
|
"data-slot": "switch-thumb",
|
|
@@ -3099,10 +1537,10 @@ function Switch({
|
|
|
3099
1537
|
}
|
|
3100
1538
|
|
|
3101
1539
|
// src/components/ui/toggle.tsx
|
|
3102
|
-
import { cva as
|
|
1540
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
3103
1541
|
import { Toggle as TogglePrimitive } from "radix-ui";
|
|
3104
|
-
import { jsx as
|
|
3105
|
-
var toggleVariants =
|
|
1542
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1543
|
+
var toggleVariants = cva4(
|
|
3106
1544
|
"hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive gap-1 rounded-md text-sm font-medium transition-[color,box-shadow] [&_svg:not([class*='size-'])]:size-4 group/toggle hover:bg-muted inline-flex items-center justify-center whitespace-nowrap outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
3107
1545
|
{
|
|
3108
1546
|
variants: {
|
|
@@ -3128,7 +1566,7 @@ function Toggle({
|
|
|
3128
1566
|
size = "default",
|
|
3129
1567
|
...props
|
|
3130
1568
|
}) {
|
|
3131
|
-
return /* @__PURE__ */
|
|
1569
|
+
return /* @__PURE__ */ jsx19(
|
|
3132
1570
|
TogglePrimitive.Root,
|
|
3133
1571
|
{
|
|
3134
1572
|
"data-slot": "toggle",
|
|
@@ -3139,10 +1577,10 @@ function Toggle({
|
|
|
3139
1577
|
}
|
|
3140
1578
|
|
|
3141
1579
|
// src/components/ui/toggle-group.tsx
|
|
3142
|
-
import * as
|
|
1580
|
+
import * as React from "react";
|
|
3143
1581
|
import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
|
|
3144
|
-
import { jsx as
|
|
3145
|
-
var ToggleGroupContext =
|
|
1582
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1583
|
+
var ToggleGroupContext = React.createContext({
|
|
3146
1584
|
size: "default",
|
|
3147
1585
|
variant: "default",
|
|
3148
1586
|
spacing: 0,
|
|
@@ -3157,7 +1595,7 @@ function ToggleGroup({
|
|
|
3157
1595
|
children,
|
|
3158
1596
|
...props
|
|
3159
1597
|
}) {
|
|
3160
|
-
return /* @__PURE__ */
|
|
1598
|
+
return /* @__PURE__ */ jsx20(
|
|
3161
1599
|
ToggleGroupPrimitive.Root,
|
|
3162
1600
|
{
|
|
3163
1601
|
"data-slot": "toggle-group",
|
|
@@ -3171,7 +1609,7 @@ function ToggleGroup({
|
|
|
3171
1609
|
className
|
|
3172
1610
|
),
|
|
3173
1611
|
...props,
|
|
3174
|
-
children: /* @__PURE__ */
|
|
1612
|
+
children: /* @__PURE__ */ jsx20(
|
|
3175
1613
|
ToggleGroupContext.Provider,
|
|
3176
1614
|
{
|
|
3177
1615
|
value: { variant, size, spacing, orientation },
|
|
@@ -3188,8 +1626,8 @@ function ToggleGroupItem({
|
|
|
3188
1626
|
size = "default",
|
|
3189
1627
|
...props
|
|
3190
1628
|
}) {
|
|
3191
|
-
const context =
|
|
3192
|
-
return /* @__PURE__ */
|
|
1629
|
+
const context = React.useContext(ToggleGroupContext);
|
|
1630
|
+
return /* @__PURE__ */ jsx20(
|
|
3193
1631
|
ToggleGroupPrimitive.Item,
|
|
3194
1632
|
{
|
|
3195
1633
|
"data-slot": "toggle-group-item",
|
|
@@ -3212,32 +1650,32 @@ function ToggleGroupItem({
|
|
|
3212
1650
|
|
|
3213
1651
|
// src/components/ui/drawer.tsx
|
|
3214
1652
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
3215
|
-
import { jsx as
|
|
1653
|
+
import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
3216
1654
|
function Drawer({
|
|
3217
1655
|
...props
|
|
3218
1656
|
}) {
|
|
3219
|
-
return /* @__PURE__ */
|
|
1657
|
+
return /* @__PURE__ */ jsx21(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
|
|
3220
1658
|
}
|
|
3221
1659
|
function DrawerTrigger({
|
|
3222
1660
|
...props
|
|
3223
1661
|
}) {
|
|
3224
|
-
return /* @__PURE__ */
|
|
1662
|
+
return /* @__PURE__ */ jsx21(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
3225
1663
|
}
|
|
3226
1664
|
function DrawerPortal({
|
|
3227
1665
|
...props
|
|
3228
1666
|
}) {
|
|
3229
|
-
return /* @__PURE__ */
|
|
1667
|
+
return /* @__PURE__ */ jsx21(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
|
|
3230
1668
|
}
|
|
3231
1669
|
function DrawerClose({
|
|
3232
1670
|
...props
|
|
3233
1671
|
}) {
|
|
3234
|
-
return /* @__PURE__ */
|
|
1672
|
+
return /* @__PURE__ */ jsx21(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
|
|
3235
1673
|
}
|
|
3236
1674
|
function DrawerOverlay({
|
|
3237
1675
|
className,
|
|
3238
1676
|
...props
|
|
3239
1677
|
}) {
|
|
3240
|
-
return /* @__PURE__ */
|
|
1678
|
+
return /* @__PURE__ */ jsx21(
|
|
3241
1679
|
DrawerPrimitive.Overlay,
|
|
3242
1680
|
{
|
|
3243
1681
|
"data-slot": "drawer-overlay",
|
|
@@ -3251,9 +1689,9 @@ function DrawerContent({
|
|
|
3251
1689
|
children,
|
|
3252
1690
|
...props
|
|
3253
1691
|
}) {
|
|
3254
|
-
return /* @__PURE__ */
|
|
3255
|
-
/* @__PURE__ */
|
|
3256
|
-
/* @__PURE__ */
|
|
1692
|
+
return /* @__PURE__ */ jsxs8(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
1693
|
+
/* @__PURE__ */ jsx21(DrawerOverlay, {}),
|
|
1694
|
+
/* @__PURE__ */ jsxs8(
|
|
3257
1695
|
DrawerPrimitive.Content,
|
|
3258
1696
|
{
|
|
3259
1697
|
"data-slot": "drawer-content",
|
|
@@ -3263,7 +1701,7 @@ function DrawerContent({
|
|
|
3263
1701
|
),
|
|
3264
1702
|
...props,
|
|
3265
1703
|
children: [
|
|
3266
|
-
/* @__PURE__ */
|
|
1704
|
+
/* @__PURE__ */ jsx21("div", { className: "bg-muted mt-4 h-1.5 w-[100px] rounded-full mx-auto hidden shrink-0 group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
3267
1705
|
children
|
|
3268
1706
|
]
|
|
3269
1707
|
}
|
|
@@ -3271,7 +1709,7 @@ function DrawerContent({
|
|
|
3271
1709
|
] });
|
|
3272
1710
|
}
|
|
3273
1711
|
function DrawerHeader({ className, ...props }) {
|
|
3274
|
-
return /* @__PURE__ */
|
|
1712
|
+
return /* @__PURE__ */ jsx21(
|
|
3275
1713
|
"div",
|
|
3276
1714
|
{
|
|
3277
1715
|
"data-slot": "drawer-header",
|
|
@@ -3281,7 +1719,7 @@ function DrawerHeader({ className, ...props }) {
|
|
|
3281
1719
|
);
|
|
3282
1720
|
}
|
|
3283
1721
|
function DrawerFooter({ className, ...props }) {
|
|
3284
|
-
return /* @__PURE__ */
|
|
1722
|
+
return /* @__PURE__ */ jsx21(
|
|
3285
1723
|
"div",
|
|
3286
1724
|
{
|
|
3287
1725
|
"data-slot": "drawer-footer",
|
|
@@ -3294,7 +1732,7 @@ function DrawerTitle({
|
|
|
3294
1732
|
className,
|
|
3295
1733
|
...props
|
|
3296
1734
|
}) {
|
|
3297
|
-
return /* @__PURE__ */
|
|
1735
|
+
return /* @__PURE__ */ jsx21(
|
|
3298
1736
|
DrawerPrimitive.Title,
|
|
3299
1737
|
{
|
|
3300
1738
|
"data-slot": "drawer-title",
|
|
@@ -3307,7 +1745,7 @@ function DrawerDescription({
|
|
|
3307
1745
|
className,
|
|
3308
1746
|
...props
|
|
3309
1747
|
}) {
|
|
3310
|
-
return /* @__PURE__ */
|
|
1748
|
+
return /* @__PURE__ */ jsx21(
|
|
3311
1749
|
DrawerPrimitive.Description,
|
|
3312
1750
|
{
|
|
3313
1751
|
"data-slot": "drawer-description",
|
|
@@ -3318,16 +1756,16 @@ function DrawerDescription({
|
|
|
3318
1756
|
}
|
|
3319
1757
|
|
|
3320
1758
|
// src/components/ui/input-otp.tsx
|
|
3321
|
-
import * as
|
|
1759
|
+
import * as React2 from "react";
|
|
3322
1760
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
3323
1761
|
import { Minus } from "lucide-react";
|
|
3324
|
-
import { jsx as
|
|
1762
|
+
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
3325
1763
|
function InputOTP({
|
|
3326
1764
|
className,
|
|
3327
1765
|
containerClassName,
|
|
3328
1766
|
...props
|
|
3329
1767
|
}) {
|
|
3330
|
-
return /* @__PURE__ */
|
|
1768
|
+
return /* @__PURE__ */ jsx22(
|
|
3331
1769
|
OTPInput,
|
|
3332
1770
|
{
|
|
3333
1771
|
"data-slot": "input-otp",
|
|
@@ -3345,7 +1783,7 @@ function InputOTP({
|
|
|
3345
1783
|
);
|
|
3346
1784
|
}
|
|
3347
1785
|
function InputOTPGroup({ className, ...props }) {
|
|
3348
|
-
return /* @__PURE__ */
|
|
1786
|
+
return /* @__PURE__ */ jsx22(
|
|
3349
1787
|
"div",
|
|
3350
1788
|
{
|
|
3351
1789
|
"data-slot": "input-otp-group",
|
|
@@ -3359,9 +1797,9 @@ function InputOTPSlot({
|
|
|
3359
1797
|
className,
|
|
3360
1798
|
...props
|
|
3361
1799
|
}) {
|
|
3362
|
-
const inputOTPContext =
|
|
1800
|
+
const inputOTPContext = React2.useContext(OTPInputContext);
|
|
3363
1801
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
3364
|
-
return /* @__PURE__ */
|
|
1802
|
+
return /* @__PURE__ */ jsxs9(
|
|
3365
1803
|
"div",
|
|
3366
1804
|
{
|
|
3367
1805
|
"data-slot": "input-otp-slot",
|
|
@@ -3373,20 +1811,20 @@ function InputOTPSlot({
|
|
|
3373
1811
|
...props,
|
|
3374
1812
|
children: [
|
|
3375
1813
|
char,
|
|
3376
|
-
hasFakeCaret && /* @__PURE__ */
|
|
1814
|
+
hasFakeCaret && /* @__PURE__ */ jsx22("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx22("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
|
|
3377
1815
|
]
|
|
3378
1816
|
}
|
|
3379
1817
|
);
|
|
3380
1818
|
}
|
|
3381
1819
|
function InputOTPSeparator({ ...props }) {
|
|
3382
|
-
return /* @__PURE__ */
|
|
1820
|
+
return /* @__PURE__ */ jsx22(
|
|
3383
1821
|
"div",
|
|
3384
1822
|
{
|
|
3385
1823
|
"data-slot": "input-otp-separator",
|
|
3386
1824
|
className: "[&_svg:not([class*='size-'])]:size-4 flex items-center",
|
|
3387
1825
|
role: "separator",
|
|
3388
1826
|
...props,
|
|
3389
|
-
children: /* @__PURE__ */
|
|
1827
|
+
children: /* @__PURE__ */ jsx22(Minus, {})
|
|
3390
1828
|
}
|
|
3391
1829
|
);
|
|
3392
1830
|
}
|
|
@@ -3395,20 +1833,20 @@ function InputOTPSeparator({ ...props }) {
|
|
|
3395
1833
|
import { useTheme } from "next-themes";
|
|
3396
1834
|
import { Toaster as Sonner } from "sonner";
|
|
3397
1835
|
import { CircleCheck, Info, AlertTriangle, AlertOctagon, Loader2 } from "lucide-react";
|
|
3398
|
-
import { jsx as
|
|
1836
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
3399
1837
|
var Toaster = ({ ...props }) => {
|
|
3400
1838
|
const { theme = "system" } = useTheme();
|
|
3401
|
-
return /* @__PURE__ */
|
|
1839
|
+
return /* @__PURE__ */ jsx23(
|
|
3402
1840
|
Sonner,
|
|
3403
1841
|
{
|
|
3404
1842
|
theme,
|
|
3405
1843
|
className: "toaster group",
|
|
3406
1844
|
icons: {
|
|
3407
|
-
success: /* @__PURE__ */
|
|
3408
|
-
info: /* @__PURE__ */
|
|
3409
|
-
warning: /* @__PURE__ */
|
|
3410
|
-
error: /* @__PURE__ */
|
|
3411
|
-
loading: /* @__PURE__ */
|
|
1845
|
+
success: /* @__PURE__ */ jsx23(CircleCheck, { className: "size-4" }),
|
|
1846
|
+
info: /* @__PURE__ */ jsx23(Info, { className: "size-4" }),
|
|
1847
|
+
warning: /* @__PURE__ */ jsx23(AlertTriangle, { className: "size-4" }),
|
|
1848
|
+
error: /* @__PURE__ */ jsx23(AlertOctagon, { className: "size-4" }),
|
|
1849
|
+
loading: /* @__PURE__ */ jsx23(Loader2, { className: "size-4 animate-spin" })
|
|
3412
1850
|
},
|
|
3413
1851
|
style: {
|
|
3414
1852
|
"--normal-bg": "var(--popover)",
|