@privateers/ui 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2920 -365
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +309 -10
- package/dist/index.d.ts +309 -10
- package/dist/index.js +2747 -363
- package/dist/index.js.map +1 -1
- package/dist/tailwind/preset.cjs +44 -0
- package/dist/tailwind/preset.cjs.map +1 -1
- package/dist/tailwind/preset.js +44 -0
- package/dist/tailwind/preset.js.map +1 -1
- package/package.json +5 -1
package/dist/index.cjs
CHANGED
|
@@ -1,17 +1,239 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
4
4
|
var radixUi = require('radix-ui');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
5
6
|
var clsx = require('clsx');
|
|
6
7
|
var tailwindMerge = require('tailwind-merge');
|
|
7
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
9
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
10
|
+
var reactDayPicker = require('react-day-picker');
|
|
11
|
+
var React2 = require('react');
|
|
12
|
+
var dateFns = require('date-fns');
|
|
13
|
+
var cmdk = require('cmdk');
|
|
14
|
+
|
|
15
|
+
function _interopNamespace(e) {
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
10
32
|
|
|
11
|
-
|
|
33
|
+
var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
|
|
34
|
+
|
|
35
|
+
// src/components/primitives/accordion.tsx
|
|
12
36
|
function cn(...inputs) {
|
|
13
37
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
14
38
|
}
|
|
39
|
+
var Accordion = radixUi.Accordion.Root;
|
|
40
|
+
function AccordionItem({
|
|
41
|
+
className,
|
|
42
|
+
...props
|
|
43
|
+
}) {
|
|
44
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
+
radixUi.Accordion.Item,
|
|
46
|
+
{
|
|
47
|
+
"data-slot": "accordion-item",
|
|
48
|
+
className: cn("border-b", className),
|
|
49
|
+
...props
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function AccordionTrigger({
|
|
54
|
+
className,
|
|
55
|
+
children,
|
|
56
|
+
...props
|
|
57
|
+
}) {
|
|
58
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59
|
+
radixUi.Accordion.Trigger,
|
|
60
|
+
{
|
|
61
|
+
"data-slot": "accordion-trigger",
|
|
62
|
+
className: cn(
|
|
63
|
+
"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left",
|
|
64
|
+
"[&[data-state=open]>svg]:rotate-180",
|
|
65
|
+
className
|
|
66
|
+
),
|
|
67
|
+
...props,
|
|
68
|
+
children: [
|
|
69
|
+
children,
|
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
) });
|
|
74
|
+
}
|
|
75
|
+
function AccordionContent({
|
|
76
|
+
className,
|
|
77
|
+
children,
|
|
78
|
+
...props
|
|
79
|
+
}) {
|
|
80
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
81
|
+
radixUi.Accordion.Content,
|
|
82
|
+
{
|
|
83
|
+
"data-slot": "accordion-content",
|
|
84
|
+
className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
85
|
+
...props,
|
|
86
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pb-4 pt-0", className), children })
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
var AspectRatio = radixUi.AspectRatio.Root;
|
|
91
|
+
function Avatar({
|
|
92
|
+
className,
|
|
93
|
+
...props
|
|
94
|
+
}) {
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
radixUi.Avatar.Root,
|
|
97
|
+
{
|
|
98
|
+
"data-slot": "avatar",
|
|
99
|
+
className: cn(
|
|
100
|
+
"relative flex size-10 shrink-0 overflow-hidden rounded-full",
|
|
101
|
+
className
|
|
102
|
+
),
|
|
103
|
+
...props
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function AvatarImage({
|
|
108
|
+
className,
|
|
109
|
+
...props
|
|
110
|
+
}) {
|
|
111
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
112
|
+
radixUi.Avatar.Image,
|
|
113
|
+
{
|
|
114
|
+
"data-slot": "avatar-image",
|
|
115
|
+
className: cn("aspect-square size-full", className),
|
|
116
|
+
...props
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
function AvatarFallback({
|
|
121
|
+
className,
|
|
122
|
+
...props
|
|
123
|
+
}) {
|
|
124
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
125
|
+
radixUi.Avatar.Fallback,
|
|
126
|
+
{
|
|
127
|
+
"data-slot": "avatar-fallback",
|
|
128
|
+
className: cn(
|
|
129
|
+
"flex size-full items-center justify-center rounded-full bg-muted text-sm font-medium",
|
|
130
|
+
className
|
|
131
|
+
),
|
|
132
|
+
...props
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
function Breadcrumb({
|
|
137
|
+
...props
|
|
138
|
+
}) {
|
|
139
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
140
|
+
}
|
|
141
|
+
function BreadcrumbList({
|
|
142
|
+
className,
|
|
143
|
+
...props
|
|
144
|
+
}) {
|
|
145
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
+
"ol",
|
|
147
|
+
{
|
|
148
|
+
"data-slot": "breadcrumb-list",
|
|
149
|
+
className: cn(
|
|
150
|
+
"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
|
|
151
|
+
className
|
|
152
|
+
),
|
|
153
|
+
...props
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
function BreadcrumbItem({
|
|
158
|
+
className,
|
|
159
|
+
...props
|
|
160
|
+
}) {
|
|
161
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
+
"li",
|
|
163
|
+
{
|
|
164
|
+
"data-slot": "breadcrumb-item",
|
|
165
|
+
className: cn("inline-flex items-center gap-1.5", className),
|
|
166
|
+
...props
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
function BreadcrumbLink({
|
|
171
|
+
asChild,
|
|
172
|
+
className,
|
|
173
|
+
...props
|
|
174
|
+
}) {
|
|
175
|
+
const Comp = asChild ? radixUi.Slot.Root : "a";
|
|
176
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
Comp,
|
|
178
|
+
{
|
|
179
|
+
"data-slot": "breadcrumb-link",
|
|
180
|
+
className: cn("transition-colors hover:text-foreground", className),
|
|
181
|
+
...props
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
function BreadcrumbPage({
|
|
186
|
+
className,
|
|
187
|
+
...props
|
|
188
|
+
}) {
|
|
189
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
190
|
+
"span",
|
|
191
|
+
{
|
|
192
|
+
"data-slot": "breadcrumb-page",
|
|
193
|
+
role: "link",
|
|
194
|
+
"aria-disabled": "true",
|
|
195
|
+
"aria-current": "page",
|
|
196
|
+
className: cn("font-normal text-foreground", className),
|
|
197
|
+
...props
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
function BreadcrumbSeparator({
|
|
202
|
+
children,
|
|
203
|
+
className,
|
|
204
|
+
...props
|
|
205
|
+
}) {
|
|
206
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
207
|
+
"li",
|
|
208
|
+
{
|
|
209
|
+
"data-slot": "breadcrumb-separator",
|
|
210
|
+
role: "presentation",
|
|
211
|
+
"aria-hidden": "true",
|
|
212
|
+
className: cn("[&>svg]:size-3.5", className),
|
|
213
|
+
...props,
|
|
214
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, {})
|
|
215
|
+
}
|
|
216
|
+
);
|
|
217
|
+
}
|
|
218
|
+
function BreadcrumbEllipsis({
|
|
219
|
+
className,
|
|
220
|
+
...props
|
|
221
|
+
}) {
|
|
222
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
223
|
+
"span",
|
|
224
|
+
{
|
|
225
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
226
|
+
role: "presentation",
|
|
227
|
+
"aria-hidden": "true",
|
|
228
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
229
|
+
...props,
|
|
230
|
+
children: [
|
|
231
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" }),
|
|
232
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More" })
|
|
233
|
+
]
|
|
234
|
+
}
|
|
235
|
+
);
|
|
236
|
+
}
|
|
15
237
|
var buttonVariants = classVarianceAuthority.cva(
|
|
16
238
|
"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 border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",
|
|
17
239
|
{
|
|
@@ -176,687 +398,2680 @@ function CardFooter({ className, ...props }) {
|
|
|
176
398
|
}
|
|
177
399
|
);
|
|
178
400
|
}
|
|
179
|
-
function
|
|
401
|
+
function Calendar({
|
|
402
|
+
className,
|
|
403
|
+
classNames,
|
|
404
|
+
showOutsideDays = true,
|
|
405
|
+
...props
|
|
406
|
+
}) {
|
|
180
407
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
-
|
|
408
|
+
reactDayPicker.DayPicker,
|
|
182
409
|
{
|
|
183
|
-
|
|
184
|
-
"
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
410
|
+
showOutsideDays,
|
|
411
|
+
className: cn("p-3 rounded-lg border shadow-sm relative", className),
|
|
412
|
+
classNames: {
|
|
413
|
+
// Container structure
|
|
414
|
+
months: "flex flex-col sm:flex-row gap-4",
|
|
415
|
+
month: "flex flex-col gap-4",
|
|
416
|
+
month_caption: "flex justify-center pt-1 relative items-center h-7",
|
|
417
|
+
caption_label: "text-sm font-medium",
|
|
418
|
+
// Navigation - buttons inside the container
|
|
419
|
+
nav: "flex items-center justify-between absolute inset-x-0 top-3 px-3",
|
|
420
|
+
button_previous: cn(
|
|
421
|
+
buttonVariants({ variant: "outline" }),
|
|
422
|
+
"h-7 w-7 bg-transparent p-0 hover:bg-accent hover:text-accent-foreground"
|
|
423
|
+
),
|
|
424
|
+
button_next: cn(
|
|
425
|
+
buttonVariants({ variant: "outline" }),
|
|
426
|
+
"h-7 w-7 bg-transparent p-0 hover:bg-accent hover:text-accent-foreground"
|
|
427
|
+
),
|
|
428
|
+
// Calendar grid
|
|
429
|
+
month_grid: "w-full border-collapse",
|
|
430
|
+
weekdays: "flex",
|
|
431
|
+
weekday: "text-muted-foreground rounded-md w-8 font-normal text-[0.8rem] text-center",
|
|
432
|
+
week: "flex w-full mt-2",
|
|
433
|
+
// Day cells (v9: 'day' is the cell, 'day_button' is the button inside)
|
|
434
|
+
day: cn(
|
|
435
|
+
"relative h-8 w-8 p-0 text-center text-sm focus-within:relative focus-within:z-20",
|
|
436
|
+
"[&:has([aria-selected])]:bg-accent [&:has([aria-selected].outside)]:bg-accent/50",
|
|
437
|
+
props.mode === "range" ? "[&:has(>.range_end)]:rounded-r-md [&:has(>.range_start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
|
|
438
|
+
),
|
|
439
|
+
day_button: cn(
|
|
440
|
+
buttonVariants({ variant: "ghost" }),
|
|
441
|
+
"h-8 w-8 p-0 font-normal aria-selected:opacity-100",
|
|
442
|
+
"aria-selected:bg-primary aria-selected:text-primary-foreground"
|
|
443
|
+
),
|
|
444
|
+
// Selection states (v9 names)
|
|
445
|
+
range_start: "range_start",
|
|
446
|
+
range_end: "range_end",
|
|
447
|
+
range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
|
448
|
+
selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground rounded-md",
|
|
449
|
+
today: "bg-accent text-accent-foreground rounded-md",
|
|
450
|
+
outside: "text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground",
|
|
451
|
+
disabled: "text-muted-foreground opacity-50",
|
|
452
|
+
hidden: "invisible",
|
|
453
|
+
...classNames
|
|
454
|
+
},
|
|
455
|
+
components: {
|
|
456
|
+
Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4" })
|
|
457
|
+
},
|
|
189
458
|
...props
|
|
190
459
|
}
|
|
191
460
|
);
|
|
192
461
|
}
|
|
193
|
-
|
|
462
|
+
Calendar.displayName = "Calendar";
|
|
463
|
+
function Checkbox({
|
|
464
|
+
className,
|
|
465
|
+
...props
|
|
466
|
+
}) {
|
|
194
467
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
195
|
-
|
|
468
|
+
radixUi.Checkbox.Root,
|
|
196
469
|
{
|
|
197
|
-
"data-slot": "
|
|
470
|
+
"data-slot": "checkbox",
|
|
198
471
|
className: cn(
|
|
199
|
-
"border-input
|
|
472
|
+
"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
200
473
|
className
|
|
201
474
|
),
|
|
202
|
-
...props
|
|
475
|
+
...props,
|
|
476
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
477
|
+
radixUi.Checkbox.Indicator,
|
|
478
|
+
{
|
|
479
|
+
"data-slot": "checkbox-indicator",
|
|
480
|
+
className: cn("flex items-center justify-center text-current"),
|
|
481
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-3.5" })
|
|
482
|
+
}
|
|
483
|
+
)
|
|
203
484
|
}
|
|
204
485
|
);
|
|
205
486
|
}
|
|
206
|
-
|
|
487
|
+
var Collapsible = radixUi.Collapsible.Root;
|
|
488
|
+
var CollapsibleTrigger = radixUi.Collapsible.Trigger;
|
|
489
|
+
var CollapsibleContent = radixUi.Collapsible.Content;
|
|
490
|
+
var containerVariants = classVarianceAuthority.cva("mx-auto w-full px-4 sm:px-6 lg:px-8", {
|
|
491
|
+
variants: {
|
|
492
|
+
size: {
|
|
493
|
+
sm: "max-w-screen-sm",
|
|
494
|
+
md: "max-w-screen-md",
|
|
495
|
+
lg: "max-w-screen-lg",
|
|
496
|
+
xl: "max-w-screen-xl",
|
|
497
|
+
"2xl": "max-w-screen-2xl",
|
|
498
|
+
full: "max-w-full",
|
|
499
|
+
prose: "max-w-prose"
|
|
500
|
+
},
|
|
501
|
+
center: {
|
|
502
|
+
true: "flex flex-col items-center",
|
|
503
|
+
false: ""
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
defaultVariants: {
|
|
507
|
+
size: "xl",
|
|
508
|
+
center: false
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
function Container({
|
|
207
512
|
className,
|
|
513
|
+
size,
|
|
514
|
+
center,
|
|
515
|
+
asChild = false,
|
|
208
516
|
...props
|
|
209
517
|
}) {
|
|
518
|
+
const Comp = asChild ? radixUi.Slot.Root : "div";
|
|
210
519
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
211
|
-
|
|
520
|
+
Comp,
|
|
212
521
|
{
|
|
213
|
-
"data-slot": "
|
|
214
|
-
className: cn(
|
|
215
|
-
"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",
|
|
216
|
-
className
|
|
217
|
-
),
|
|
522
|
+
"data-slot": "container",
|
|
523
|
+
className: cn(containerVariants({ size, center }), className),
|
|
218
524
|
...props
|
|
219
525
|
}
|
|
220
526
|
);
|
|
221
527
|
}
|
|
222
|
-
|
|
528
|
+
var Popover = radixUi.Popover.Root;
|
|
529
|
+
var PopoverTrigger = radixUi.Popover.Trigger;
|
|
530
|
+
var PopoverAnchor = radixUi.Popover.Anchor;
|
|
531
|
+
var PopoverClose = radixUi.Popover.Close;
|
|
532
|
+
function PopoverContent({
|
|
223
533
|
className,
|
|
224
|
-
|
|
225
|
-
|
|
534
|
+
align = "center",
|
|
535
|
+
sideOffset = 4,
|
|
226
536
|
...props
|
|
227
537
|
}) {
|
|
228
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
229
|
-
radixUi.
|
|
538
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Popover.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
539
|
+
radixUi.Popover.Content,
|
|
230
540
|
{
|
|
231
|
-
"data-slot": "
|
|
232
|
-
|
|
233
|
-
|
|
541
|
+
"data-slot": "popover-content",
|
|
542
|
+
align,
|
|
543
|
+
sideOffset,
|
|
234
544
|
className: cn(
|
|
235
|
-
"
|
|
545
|
+
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none",
|
|
546
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
547
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
548
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
549
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
550
|
+
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
236
551
|
className
|
|
237
552
|
),
|
|
238
553
|
...props
|
|
239
554
|
}
|
|
240
|
-
);
|
|
555
|
+
) });
|
|
241
556
|
}
|
|
242
|
-
function
|
|
243
|
-
|
|
557
|
+
function DatePicker({
|
|
558
|
+
date,
|
|
559
|
+
onDateChange,
|
|
560
|
+
placeholder = "Pick a date",
|
|
561
|
+
className,
|
|
562
|
+
disabled = false
|
|
244
563
|
}) {
|
|
245
|
-
|
|
564
|
+
const [selectedDate, setSelectedDate] = React2__namespace.useState(date);
|
|
565
|
+
const handleSelect = (newDate) => {
|
|
566
|
+
setSelectedDate(newDate);
|
|
567
|
+
onDateChange?.(newDate);
|
|
568
|
+
};
|
|
569
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { children: [
|
|
570
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
571
|
+
Button,
|
|
572
|
+
{
|
|
573
|
+
variant: "outline",
|
|
574
|
+
disabled,
|
|
575
|
+
className: cn(
|
|
576
|
+
"w-[240px] justify-start text-left font-normal",
|
|
577
|
+
!selectedDate && "text-muted-foreground",
|
|
578
|
+
className
|
|
579
|
+
),
|
|
580
|
+
children: [
|
|
581
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "mr-2 h-4 w-4" }),
|
|
582
|
+
selectedDate ? dateFns.format(selectedDate, "PPP") : /* @__PURE__ */ jsxRuntime.jsx("span", { children: placeholder })
|
|
583
|
+
]
|
|
584
|
+
}
|
|
585
|
+
) }),
|
|
586
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
587
|
+
Calendar,
|
|
588
|
+
{
|
|
589
|
+
mode: "single",
|
|
590
|
+
selected: selectedDate,
|
|
591
|
+
onSelect: handleSelect,
|
|
592
|
+
initialFocus: true
|
|
593
|
+
}
|
|
594
|
+
) })
|
|
595
|
+
] });
|
|
246
596
|
}
|
|
247
|
-
function
|
|
597
|
+
function DateRangePicker({
|
|
598
|
+
from,
|
|
599
|
+
to,
|
|
600
|
+
onRangeChange,
|
|
601
|
+
placeholder = "Pick a date range",
|
|
602
|
+
className,
|
|
603
|
+
disabled = false
|
|
604
|
+
}) {
|
|
605
|
+
const [dateRange, setDateRange] = React2__namespace.useState({ from, to });
|
|
606
|
+
const handleSelect = (range) => {
|
|
607
|
+
const newRange = range || { from: void 0, to: void 0 };
|
|
608
|
+
setDateRange(newRange);
|
|
609
|
+
onRangeChange?.(newRange);
|
|
610
|
+
};
|
|
611
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { children: [
|
|
612
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
613
|
+
Button,
|
|
614
|
+
{
|
|
615
|
+
variant: "outline",
|
|
616
|
+
disabled,
|
|
617
|
+
className: cn(
|
|
618
|
+
"w-[300px] justify-start text-left font-normal",
|
|
619
|
+
!dateRange.from && "text-muted-foreground",
|
|
620
|
+
className
|
|
621
|
+
),
|
|
622
|
+
children: [
|
|
623
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "mr-2 h-4 w-4" }),
|
|
624
|
+
dateRange.from ? dateRange.to ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
625
|
+
dateFns.format(dateRange.from, "LLL dd, y"),
|
|
626
|
+
" -",
|
|
627
|
+
" ",
|
|
628
|
+
dateFns.format(dateRange.to, "LLL dd, y")
|
|
629
|
+
] }) : dateFns.format(dateRange.from, "LLL dd, y") : /* @__PURE__ */ jsxRuntime.jsx("span", { children: placeholder })
|
|
630
|
+
]
|
|
631
|
+
}
|
|
632
|
+
) }),
|
|
633
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
634
|
+
Calendar,
|
|
635
|
+
{
|
|
636
|
+
mode: "range",
|
|
637
|
+
defaultMonth: dateRange.from,
|
|
638
|
+
selected: dateRange,
|
|
639
|
+
onSelect: handleSelect,
|
|
640
|
+
numberOfMonths: 2,
|
|
641
|
+
initialFocus: true
|
|
642
|
+
}
|
|
643
|
+
) })
|
|
644
|
+
] });
|
|
645
|
+
}
|
|
646
|
+
var gridVariants = classVarianceAuthority.cva("grid", {
|
|
647
|
+
variants: {
|
|
648
|
+
cols: {
|
|
649
|
+
1: "grid-cols-1",
|
|
650
|
+
2: "grid-cols-2",
|
|
651
|
+
3: "grid-cols-3",
|
|
652
|
+
4: "grid-cols-4",
|
|
653
|
+
5: "grid-cols-5",
|
|
654
|
+
6: "grid-cols-6",
|
|
655
|
+
7: "grid-cols-7",
|
|
656
|
+
8: "grid-cols-8",
|
|
657
|
+
9: "grid-cols-9",
|
|
658
|
+
10: "grid-cols-10",
|
|
659
|
+
11: "grid-cols-11",
|
|
660
|
+
12: "grid-cols-12",
|
|
661
|
+
none: "grid-cols-none"
|
|
662
|
+
},
|
|
663
|
+
rows: {
|
|
664
|
+
1: "grid-rows-1",
|
|
665
|
+
2: "grid-rows-2",
|
|
666
|
+
3: "grid-rows-3",
|
|
667
|
+
4: "grid-rows-4",
|
|
668
|
+
5: "grid-rows-5",
|
|
669
|
+
6: "grid-rows-6",
|
|
670
|
+
none: "grid-rows-none"
|
|
671
|
+
},
|
|
672
|
+
gap: {
|
|
673
|
+
0: "gap-0",
|
|
674
|
+
1: "gap-1",
|
|
675
|
+
2: "gap-2",
|
|
676
|
+
3: "gap-3",
|
|
677
|
+
4: "gap-4",
|
|
678
|
+
5: "gap-5",
|
|
679
|
+
6: "gap-6",
|
|
680
|
+
8: "gap-8",
|
|
681
|
+
10: "gap-10",
|
|
682
|
+
12: "gap-12"
|
|
683
|
+
},
|
|
684
|
+
align: {
|
|
685
|
+
start: "items-start",
|
|
686
|
+
center: "items-center",
|
|
687
|
+
end: "items-end",
|
|
688
|
+
stretch: "items-stretch",
|
|
689
|
+
baseline: "items-baseline"
|
|
690
|
+
},
|
|
691
|
+
justify: {
|
|
692
|
+
start: "justify-items-start",
|
|
693
|
+
center: "justify-items-center",
|
|
694
|
+
end: "justify-items-end",
|
|
695
|
+
stretch: "justify-items-stretch"
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
defaultVariants: {
|
|
699
|
+
cols: 1,
|
|
700
|
+
gap: 4,
|
|
701
|
+
align: "stretch",
|
|
702
|
+
justify: "stretch"
|
|
703
|
+
}
|
|
704
|
+
});
|
|
705
|
+
function Grid({
|
|
248
706
|
className,
|
|
707
|
+
cols,
|
|
708
|
+
rows,
|
|
709
|
+
gap,
|
|
710
|
+
align,
|
|
711
|
+
justify,
|
|
712
|
+
asChild = false,
|
|
249
713
|
...props
|
|
250
714
|
}) {
|
|
715
|
+
const Comp = asChild ? radixUi.Slot.Root : "div";
|
|
251
716
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
252
|
-
|
|
717
|
+
Comp,
|
|
253
718
|
{
|
|
254
|
-
"data-slot": "
|
|
255
|
-
className: cn(
|
|
719
|
+
"data-slot": "grid",
|
|
720
|
+
className: cn(gridVariants({ cols, rows, gap, align, justify }), className),
|
|
256
721
|
...props
|
|
257
722
|
}
|
|
258
723
|
);
|
|
259
724
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
725
|
+
var gridItemVariants = classVarianceAuthority.cva("", {
|
|
726
|
+
variants: {
|
|
727
|
+
colSpan: {
|
|
728
|
+
1: "col-span-1",
|
|
729
|
+
2: "col-span-2",
|
|
730
|
+
3: "col-span-3",
|
|
731
|
+
4: "col-span-4",
|
|
732
|
+
5: "col-span-5",
|
|
733
|
+
6: "col-span-6",
|
|
734
|
+
7: "col-span-7",
|
|
735
|
+
8: "col-span-8",
|
|
736
|
+
9: "col-span-9",
|
|
737
|
+
10: "col-span-10",
|
|
738
|
+
11: "col-span-11",
|
|
739
|
+
12: "col-span-12",
|
|
740
|
+
full: "col-span-full"
|
|
741
|
+
},
|
|
742
|
+
rowSpan: {
|
|
743
|
+
1: "row-span-1",
|
|
744
|
+
2: "row-span-2",
|
|
745
|
+
3: "row-span-3",
|
|
746
|
+
4: "row-span-4",
|
|
747
|
+
5: "row-span-5",
|
|
748
|
+
6: "row-span-6",
|
|
749
|
+
full: "row-span-full"
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
});
|
|
753
|
+
function GridItem({
|
|
266
754
|
className,
|
|
267
|
-
|
|
268
|
-
|
|
755
|
+
colSpan,
|
|
756
|
+
rowSpan,
|
|
757
|
+
asChild = false,
|
|
269
758
|
...props
|
|
270
759
|
}) {
|
|
271
|
-
|
|
272
|
-
|
|
760
|
+
const Comp = asChild ? radixUi.Slot.Root : "div";
|
|
761
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
762
|
+
Comp,
|
|
273
763
|
{
|
|
274
|
-
"data-slot": "
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
"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-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *: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",
|
|
278
|
-
className
|
|
279
|
-
),
|
|
280
|
-
...props,
|
|
281
|
-
children: [
|
|
282
|
-
children,
|
|
283
|
-
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "text-muted-foreground size-4 pointer-events-none" }) })
|
|
284
|
-
]
|
|
764
|
+
"data-slot": "grid-item",
|
|
765
|
+
className: cn(gridItemVariants({ colSpan, rowSpan }), className),
|
|
766
|
+
...props
|
|
285
767
|
}
|
|
286
768
|
);
|
|
287
769
|
}
|
|
288
|
-
function
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
position = "item-aligned",
|
|
292
|
-
align = "center",
|
|
293
|
-
...props
|
|
294
|
-
}) {
|
|
295
|
-
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
296
|
-
radixUi.Select.Content,
|
|
770
|
+
function Input({ className, type, ...props }) {
|
|
771
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
772
|
+
"input",
|
|
297
773
|
{
|
|
298
|
-
|
|
299
|
-
"data-
|
|
300
|
-
className: cn(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
306
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
307
|
-
radixUi.Select.Viewport,
|
|
308
|
-
{
|
|
309
|
-
"data-position": position,
|
|
310
|
-
className: cn(
|
|
311
|
-
"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",
|
|
312
|
-
position === "popper" && ""
|
|
313
|
-
),
|
|
314
|
-
children
|
|
315
|
-
}
|
|
316
|
-
),
|
|
317
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
318
|
-
]
|
|
774
|
+
type,
|
|
775
|
+
"data-slot": "input",
|
|
776
|
+
className: cn(
|
|
777
|
+
"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-[3px] aria-invalid:ring-[3px] 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",
|
|
778
|
+
className
|
|
779
|
+
),
|
|
780
|
+
...props
|
|
319
781
|
}
|
|
320
|
-
)
|
|
782
|
+
);
|
|
321
783
|
}
|
|
322
|
-
function
|
|
784
|
+
function Label({
|
|
323
785
|
className,
|
|
324
786
|
...props
|
|
325
787
|
}) {
|
|
326
788
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
327
|
-
radixUi.
|
|
789
|
+
radixUi.Label.Root,
|
|
328
790
|
{
|
|
329
|
-
"data-slot": "
|
|
330
|
-
className: cn(
|
|
791
|
+
"data-slot": "label",
|
|
792
|
+
className: cn(
|
|
793
|
+
"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",
|
|
794
|
+
className
|
|
795
|
+
),
|
|
331
796
|
...props
|
|
332
797
|
}
|
|
333
798
|
);
|
|
334
799
|
}
|
|
335
|
-
function
|
|
800
|
+
function NavigationMenu({
|
|
336
801
|
className,
|
|
337
802
|
children,
|
|
338
803
|
...props
|
|
339
804
|
}) {
|
|
340
805
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
341
|
-
radixUi.
|
|
806
|
+
radixUi.NavigationMenu.Root,
|
|
342
807
|
{
|
|
343
|
-
"data-slot": "
|
|
808
|
+
"data-slot": "navigation-menu",
|
|
344
809
|
className: cn(
|
|
345
|
-
"
|
|
810
|
+
"relative z-10 flex max-w-max flex-1 items-center justify-center",
|
|
346
811
|
className
|
|
347
812
|
),
|
|
348
813
|
...props,
|
|
349
814
|
children: [
|
|
350
|
-
|
|
351
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
815
|
+
children,
|
|
816
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuViewport, {})
|
|
352
817
|
]
|
|
353
818
|
}
|
|
354
819
|
);
|
|
355
820
|
}
|
|
356
|
-
function
|
|
821
|
+
function NavigationMenuList({
|
|
357
822
|
className,
|
|
358
823
|
...props
|
|
359
824
|
}) {
|
|
360
825
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
radixUi.
|
|
826
|
+
radixUi.NavigationMenu.List,
|
|
362
827
|
{
|
|
363
|
-
"data-slot": "
|
|
364
|
-
className: cn(
|
|
828
|
+
"data-slot": "navigation-menu-list",
|
|
829
|
+
className: cn(
|
|
830
|
+
"group flex flex-1 list-none items-center justify-center space-x-1",
|
|
831
|
+
className
|
|
832
|
+
),
|
|
365
833
|
...props
|
|
366
834
|
}
|
|
367
835
|
);
|
|
368
836
|
}
|
|
369
|
-
|
|
837
|
+
var NavigationMenuItem = radixUi.NavigationMenu.Item;
|
|
838
|
+
var navigationMenuTriggerStyle = classVarianceAuthority.cva(
|
|
839
|
+
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
|
|
840
|
+
);
|
|
841
|
+
function NavigationMenuTrigger({
|
|
370
842
|
className,
|
|
843
|
+
children,
|
|
371
844
|
...props
|
|
372
845
|
}) {
|
|
373
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
374
|
-
radixUi.
|
|
846
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
847
|
+
radixUi.NavigationMenu.Trigger,
|
|
375
848
|
{
|
|
376
|
-
"data-slot": "
|
|
377
|
-
className: cn(
|
|
849
|
+
"data-slot": "navigation-menu-trigger",
|
|
850
|
+
className: cn(navigationMenuTriggerStyle(), "group", className),
|
|
378
851
|
...props,
|
|
379
|
-
children:
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
852
|
+
children: [
|
|
853
|
+
children,
|
|
854
|
+
" ",
|
|
855
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
856
|
+
lucideReact.ChevronDown,
|
|
857
|
+
{
|
|
858
|
+
className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
|
|
859
|
+
"aria-hidden": "true"
|
|
860
|
+
}
|
|
861
|
+
)
|
|
862
|
+
]
|
|
383
863
|
}
|
|
384
864
|
);
|
|
385
865
|
}
|
|
386
|
-
function
|
|
866
|
+
function NavigationMenuContent({
|
|
387
867
|
className,
|
|
388
868
|
...props
|
|
389
869
|
}) {
|
|
390
870
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
391
|
-
radixUi.
|
|
871
|
+
radixUi.NavigationMenu.Content,
|
|
392
872
|
{
|
|
393
|
-
"data-slot": "
|
|
394
|
-
className: cn(
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
)
|
|
873
|
+
"data-slot": "navigation-menu-content",
|
|
874
|
+
className: cn(
|
|
875
|
+
"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto",
|
|
876
|
+
className
|
|
877
|
+
),
|
|
878
|
+
...props
|
|
400
879
|
}
|
|
401
880
|
);
|
|
402
881
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
882
|
+
var NavigationMenuLink = radixUi.NavigationMenu.Link;
|
|
883
|
+
function NavigationMenuViewport({
|
|
884
|
+
className,
|
|
885
|
+
...props
|
|
886
|
+
}) {
|
|
887
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
888
|
+
radixUi.NavigationMenu.Viewport,
|
|
406
889
|
{
|
|
407
|
-
"data-slot": "
|
|
408
|
-
role: "group",
|
|
890
|
+
"data-slot": "navigation-menu-viewport",
|
|
409
891
|
className: cn(
|
|
410
|
-
"
|
|
892
|
+
"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
|
|
411
893
|
className
|
|
412
894
|
),
|
|
413
895
|
...props
|
|
414
896
|
}
|
|
415
|
-
);
|
|
897
|
+
) });
|
|
416
898
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
899
|
+
function NavigationMenuIndicator({
|
|
900
|
+
className,
|
|
901
|
+
...props
|
|
902
|
+
}) {
|
|
903
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
904
|
+
radixUi.NavigationMenu.Indicator,
|
|
905
|
+
{
|
|
906
|
+
"data-slot": "navigation-menu-indicator",
|
|
907
|
+
className: cn(
|
|
908
|
+
"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
|
|
909
|
+
className
|
|
910
|
+
),
|
|
911
|
+
...props,
|
|
912
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
|
|
430
913
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
function
|
|
914
|
+
);
|
|
915
|
+
}
|
|
916
|
+
function Pagination({
|
|
434
917
|
className,
|
|
435
|
-
align = "inline-start",
|
|
436
918
|
...props
|
|
437
919
|
}) {
|
|
438
920
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
439
|
-
"
|
|
921
|
+
"nav",
|
|
440
922
|
{
|
|
441
|
-
role: "
|
|
442
|
-
"
|
|
443
|
-
"data-
|
|
444
|
-
className: cn(
|
|
445
|
-
onClick: (e) => {
|
|
446
|
-
if (e.target.closest("button")) {
|
|
447
|
-
return;
|
|
448
|
-
}
|
|
449
|
-
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
450
|
-
},
|
|
923
|
+
role: "navigation",
|
|
924
|
+
"aria-label": "pagination",
|
|
925
|
+
"data-slot": "pagination",
|
|
926
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
451
927
|
...props
|
|
452
928
|
}
|
|
453
929
|
);
|
|
454
930
|
}
|
|
455
|
-
|
|
456
|
-
"gap-2 text-sm shadow-none flex items-center",
|
|
457
|
-
{
|
|
458
|
-
variants: {
|
|
459
|
-
size: {
|
|
460
|
-
xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
461
|
-
sm: "",
|
|
462
|
-
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
463
|
-
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
464
|
-
}
|
|
465
|
-
},
|
|
466
|
-
defaultVariants: {
|
|
467
|
-
size: "xs"
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
);
|
|
471
|
-
function InputGroupButton({
|
|
931
|
+
function PaginationContent({
|
|
472
932
|
className,
|
|
473
|
-
type = "button",
|
|
474
|
-
variant = "ghost",
|
|
475
|
-
size = "xs",
|
|
476
933
|
...props
|
|
477
934
|
}) {
|
|
478
935
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
479
|
-
|
|
936
|
+
"ul",
|
|
480
937
|
{
|
|
481
|
-
|
|
482
|
-
"
|
|
483
|
-
variant,
|
|
484
|
-
className: cn(inputGroupButtonVariants({ size }), className),
|
|
938
|
+
"data-slot": "pagination-content",
|
|
939
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
485
940
|
...props
|
|
486
941
|
}
|
|
487
942
|
);
|
|
488
943
|
}
|
|
489
|
-
function
|
|
944
|
+
function PaginationItem({
|
|
945
|
+
...props
|
|
946
|
+
}) {
|
|
947
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { "data-slot": "pagination-item", ...props });
|
|
948
|
+
}
|
|
949
|
+
function PaginationLink({
|
|
950
|
+
className,
|
|
951
|
+
isActive,
|
|
952
|
+
...props
|
|
953
|
+
}) {
|
|
490
954
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
491
|
-
"
|
|
955
|
+
"button",
|
|
492
956
|
{
|
|
957
|
+
"aria-current": isActive ? "page" : void 0,
|
|
958
|
+
"data-slot": "pagination-link",
|
|
493
959
|
className: cn(
|
|
494
|
-
|
|
960
|
+
buttonVariants({
|
|
961
|
+
variant: isActive ? "outline" : "ghost",
|
|
962
|
+
size: "icon"
|
|
963
|
+
}),
|
|
495
964
|
className
|
|
496
965
|
),
|
|
497
966
|
...props
|
|
498
967
|
}
|
|
499
968
|
);
|
|
500
969
|
}
|
|
501
|
-
function
|
|
970
|
+
function PaginationPrevious({
|
|
502
971
|
className,
|
|
503
972
|
...props
|
|
504
973
|
}) {
|
|
505
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
506
|
-
|
|
974
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
975
|
+
PaginationLink,
|
|
507
976
|
{
|
|
508
|
-
"
|
|
509
|
-
|
|
510
|
-
|
|
977
|
+
"aria-label": "Go to previous page",
|
|
978
|
+
"data-slot": "pagination-previous",
|
|
979
|
+
className: cn("gap-1 pl-2.5", className),
|
|
980
|
+
...props,
|
|
981
|
+
children: [
|
|
982
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" }),
|
|
983
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Previous" })
|
|
984
|
+
]
|
|
511
985
|
}
|
|
512
986
|
);
|
|
513
987
|
}
|
|
514
|
-
function
|
|
988
|
+
function PaginationNext({
|
|
515
989
|
className,
|
|
516
990
|
...props
|
|
517
991
|
}) {
|
|
518
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
519
|
-
|
|
992
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
993
|
+
PaginationLink,
|
|
520
994
|
{
|
|
521
|
-
"
|
|
522
|
-
|
|
523
|
-
|
|
995
|
+
"aria-label": "Go to next page",
|
|
996
|
+
"data-slot": "pagination-next",
|
|
997
|
+
className: cn("gap-1 pr-2.5", className),
|
|
998
|
+
...props,
|
|
999
|
+
children: [
|
|
1000
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Next" }),
|
|
1001
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1002
|
+
]
|
|
524
1003
|
}
|
|
525
1004
|
);
|
|
526
1005
|
}
|
|
527
|
-
function
|
|
528
|
-
|
|
529
|
-
|
|
1006
|
+
function PaginationEllipsis({
|
|
1007
|
+
className,
|
|
1008
|
+
...props
|
|
1009
|
+
}) {
|
|
1010
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1011
|
+
"span",
|
|
530
1012
|
{
|
|
531
|
-
"
|
|
532
|
-
|
|
533
|
-
|
|
1013
|
+
"aria-hidden": true,
|
|
1014
|
+
"data-slot": "pagination-ellipsis",
|
|
1015
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
1016
|
+
...props,
|
|
1017
|
+
children: [
|
|
1018
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" }),
|
|
1019
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })
|
|
1020
|
+
]
|
|
534
1021
|
}
|
|
535
1022
|
);
|
|
536
1023
|
}
|
|
537
|
-
function
|
|
1024
|
+
function Progress({
|
|
538
1025
|
className,
|
|
539
|
-
|
|
1026
|
+
value,
|
|
540
1027
|
...props
|
|
541
1028
|
}) {
|
|
542
1029
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
543
|
-
|
|
1030
|
+
radixUi.Progress.Root,
|
|
544
1031
|
{
|
|
545
|
-
"data-slot": "
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
1032
|
+
"data-slot": "progress",
|
|
1033
|
+
className: cn(
|
|
1034
|
+
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
1035
|
+
className
|
|
1036
|
+
),
|
|
1037
|
+
...props,
|
|
1038
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1039
|
+
radixUi.Progress.Indicator,
|
|
1040
|
+
{
|
|
1041
|
+
"data-slot": "progress-indicator",
|
|
1042
|
+
className: "h-full w-full flex-1 bg-primary transition-all",
|
|
1043
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
1044
|
+
}
|
|
1045
|
+
)
|
|
549
1046
|
}
|
|
550
1047
|
);
|
|
551
1048
|
}
|
|
552
|
-
function
|
|
1049
|
+
function RadioGroup({
|
|
1050
|
+
className,
|
|
1051
|
+
...props
|
|
1052
|
+
}) {
|
|
553
1053
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
554
|
-
|
|
1054
|
+
radixUi.RadioGroup.Root,
|
|
555
1055
|
{
|
|
556
|
-
"data-slot": "
|
|
557
|
-
className: cn(
|
|
558
|
-
"gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",
|
|
559
|
-
className
|
|
560
|
-
),
|
|
1056
|
+
"data-slot": "radio-group",
|
|
1057
|
+
className: cn("grid gap-2", className),
|
|
561
1058
|
...props
|
|
562
1059
|
}
|
|
563
1060
|
);
|
|
564
1061
|
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
1062
|
+
function RadioGroupItem({
|
|
1063
|
+
className,
|
|
1064
|
+
...props
|
|
1065
|
+
}) {
|
|
1066
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1067
|
+
radixUi.RadioGroup.Item,
|
|
1068
|
+
{
|
|
1069
|
+
"data-slot": "radio-group-item",
|
|
1070
|
+
className: cn(
|
|
1071
|
+
"aspect-square size-4 rounded-full border border-primary text-primary shadow-xs",
|
|
1072
|
+
"focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
1073
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1074
|
+
className
|
|
1075
|
+
),
|
|
1076
|
+
...props,
|
|
1077
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.RadioGroup.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "size-2.5 fill-current text-current" }) })
|
|
571
1078
|
}
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
1079
|
+
);
|
|
1080
|
+
}
|
|
1081
|
+
function ScrollArea({
|
|
1082
|
+
className,
|
|
1083
|
+
children,
|
|
1084
|
+
...props
|
|
1085
|
+
}) {
|
|
1086
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1087
|
+
radixUi.ScrollArea.Root,
|
|
1088
|
+
{
|
|
1089
|
+
"data-slot": "scroll-area",
|
|
1090
|
+
className: cn("relative overflow-hidden", className),
|
|
1091
|
+
...props,
|
|
1092
|
+
children: [
|
|
1093
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.ScrollArea.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
1094
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScrollBar, {}),
|
|
1095
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.ScrollArea.Corner, {})
|
|
1096
|
+
]
|
|
1097
|
+
}
|
|
1098
|
+
);
|
|
1099
|
+
}
|
|
1100
|
+
function ScrollBar({
|
|
578
1101
|
className,
|
|
579
1102
|
orientation = "vertical",
|
|
580
1103
|
...props
|
|
581
1104
|
}) {
|
|
582
1105
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
583
|
-
|
|
1106
|
+
radixUi.ScrollArea.Scrollbar,
|
|
584
1107
|
{
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
1108
|
+
"data-slot": "scroll-bar",
|
|
1109
|
+
orientation,
|
|
1110
|
+
className: cn(
|
|
1111
|
+
"flex touch-none select-none transition-colors",
|
|
1112
|
+
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
|
|
1113
|
+
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
|
|
1114
|
+
className
|
|
1115
|
+
),
|
|
1116
|
+
...props,
|
|
1117
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
590
1118
|
}
|
|
591
1119
|
);
|
|
592
1120
|
}
|
|
593
|
-
function
|
|
1121
|
+
function Separator({
|
|
1122
|
+
className,
|
|
1123
|
+
orientation = "horizontal",
|
|
1124
|
+
decorative = true,
|
|
1125
|
+
...props
|
|
1126
|
+
}) {
|
|
594
1127
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
595
|
-
|
|
1128
|
+
radixUi.Separator.Root,
|
|
596
1129
|
{
|
|
597
|
-
"data-slot": "
|
|
1130
|
+
"data-slot": "separator",
|
|
1131
|
+
decorative,
|
|
1132
|
+
orientation,
|
|
598
1133
|
className: cn(
|
|
599
|
-
"
|
|
1134
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch",
|
|
600
1135
|
className
|
|
601
1136
|
),
|
|
602
1137
|
...props
|
|
603
1138
|
}
|
|
604
1139
|
);
|
|
605
1140
|
}
|
|
606
|
-
|
|
1141
|
+
var Sheet = radixUi.Dialog.Root;
|
|
1142
|
+
var SheetTrigger = radixUi.Dialog.Trigger;
|
|
1143
|
+
var SheetClose = radixUi.Dialog.Close;
|
|
1144
|
+
var SheetPortal = radixUi.Dialog.Portal;
|
|
1145
|
+
function SheetOverlay({
|
|
607
1146
|
className,
|
|
608
1147
|
...props
|
|
609
1148
|
}) {
|
|
610
1149
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
-
|
|
1150
|
+
radixUi.Dialog.Overlay,
|
|
612
1151
|
{
|
|
613
|
-
"data-slot": "
|
|
1152
|
+
"data-slot": "sheet-overlay",
|
|
614
1153
|
className: cn(
|
|
615
|
-
"
|
|
616
|
-
"
|
|
1154
|
+
"fixed inset-0 z-50 bg-black/80",
|
|
1155
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
1156
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
617
1157
|
className
|
|
618
1158
|
),
|
|
619
1159
|
...props
|
|
620
1160
|
}
|
|
621
1161
|
);
|
|
622
1162
|
}
|
|
623
|
-
|
|
1163
|
+
var sheetVariants = classVarianceAuthority.cva(
|
|
1164
|
+
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
1165
|
+
{
|
|
1166
|
+
variants: {
|
|
1167
|
+
side: {
|
|
1168
|
+
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
1169
|
+
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
1170
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
1171
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
1172
|
+
}
|
|
1173
|
+
},
|
|
1174
|
+
defaultVariants: {
|
|
1175
|
+
side: "right"
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
);
|
|
1179
|
+
function SheetContent({
|
|
1180
|
+
side = "right",
|
|
1181
|
+
className,
|
|
1182
|
+
children,
|
|
1183
|
+
...props
|
|
1184
|
+
}) {
|
|
1185
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(SheetPortal, { children: [
|
|
1186
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetOverlay, {}),
|
|
1187
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1188
|
+
radixUi.Dialog.Content,
|
|
1189
|
+
{
|
|
1190
|
+
"data-slot": "sheet-content",
|
|
1191
|
+
className: cn(sheetVariants({ side }), className),
|
|
1192
|
+
...props,
|
|
1193
|
+
children: [
|
|
1194
|
+
/* @__PURE__ */ jsxRuntime.jsxs(radixUi.Dialog.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
1195
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" }),
|
|
1196
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1197
|
+
] }),
|
|
1198
|
+
children
|
|
1199
|
+
]
|
|
1200
|
+
}
|
|
1201
|
+
)
|
|
1202
|
+
] });
|
|
1203
|
+
}
|
|
1204
|
+
function SheetHeader({
|
|
1205
|
+
className,
|
|
1206
|
+
...props
|
|
1207
|
+
}) {
|
|
624
1208
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
625
1209
|
"div",
|
|
626
1210
|
{
|
|
627
|
-
"data-slot": "
|
|
628
|
-
className: cn(
|
|
629
|
-
"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug",
|
|
630
|
-
className
|
|
631
|
-
),
|
|
1211
|
+
"data-slot": "sheet-header",
|
|
1212
|
+
className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
|
|
632
1213
|
...props
|
|
633
1214
|
}
|
|
634
1215
|
);
|
|
635
1216
|
}
|
|
636
|
-
function
|
|
1217
|
+
function SheetFooter({
|
|
1218
|
+
className,
|
|
1219
|
+
...props
|
|
1220
|
+
}) {
|
|
637
1221
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
638
|
-
"
|
|
1222
|
+
"div",
|
|
639
1223
|
{
|
|
640
|
-
"data-slot": "
|
|
1224
|
+
"data-slot": "sheet-footer",
|
|
641
1225
|
className: cn(
|
|
642
|
-
"
|
|
643
|
-
"last:mt-0 nth-last-2:-mt-1",
|
|
644
|
-
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
1226
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
645
1227
|
className
|
|
646
1228
|
),
|
|
647
1229
|
...props
|
|
648
1230
|
}
|
|
649
1231
|
);
|
|
650
1232
|
}
|
|
651
|
-
function
|
|
1233
|
+
function SheetTitle({
|
|
1234
|
+
className,
|
|
1235
|
+
...props
|
|
1236
|
+
}) {
|
|
1237
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1238
|
+
radixUi.Dialog.Title,
|
|
1239
|
+
{
|
|
1240
|
+
"data-slot": "sheet-title",
|
|
1241
|
+
className: cn("text-lg font-semibold text-foreground", className),
|
|
1242
|
+
...props
|
|
1243
|
+
}
|
|
1244
|
+
);
|
|
1245
|
+
}
|
|
1246
|
+
function SheetDescription({
|
|
1247
|
+
className,
|
|
1248
|
+
...props
|
|
1249
|
+
}) {
|
|
1250
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1251
|
+
radixUi.Dialog.Description,
|
|
1252
|
+
{
|
|
1253
|
+
"data-slot": "sheet-description",
|
|
1254
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
1255
|
+
...props
|
|
1256
|
+
}
|
|
1257
|
+
);
|
|
1258
|
+
}
|
|
1259
|
+
var SIDEBAR_WIDTH = "16rem";
|
|
1260
|
+
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
1261
|
+
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
1262
|
+
var SidebarContext = React2__namespace.createContext(null);
|
|
1263
|
+
function useSidebar() {
|
|
1264
|
+
const context = React2__namespace.useContext(SidebarContext);
|
|
1265
|
+
if (!context) {
|
|
1266
|
+
throw new Error("useSidebar must be used within a SidebarProvider");
|
|
1267
|
+
}
|
|
1268
|
+
return context;
|
|
1269
|
+
}
|
|
1270
|
+
function SidebarProvider({
|
|
1271
|
+
defaultOpen = true,
|
|
1272
|
+
open: openProp,
|
|
1273
|
+
onOpenChange: setOpenProp,
|
|
1274
|
+
className,
|
|
1275
|
+
style,
|
|
652
1276
|
children,
|
|
1277
|
+
...props
|
|
1278
|
+
}) {
|
|
1279
|
+
const [openMobile, setOpenMobile] = React2__namespace.useState(false);
|
|
1280
|
+
const [isMobile, setIsMobile] = React2__namespace.useState(false);
|
|
1281
|
+
const [_open, _setOpen] = React2__namespace.useState(defaultOpen);
|
|
1282
|
+
const open = openProp ?? _open;
|
|
1283
|
+
const setOpen = React2__namespace.useCallback(
|
|
1284
|
+
(value) => {
|
|
1285
|
+
const openState = typeof value === "function" ? value(open) : value;
|
|
1286
|
+
if (setOpenProp) {
|
|
1287
|
+
setOpenProp(openState);
|
|
1288
|
+
} else {
|
|
1289
|
+
_setOpen(openState);
|
|
1290
|
+
}
|
|
1291
|
+
},
|
|
1292
|
+
[setOpenProp, open]
|
|
1293
|
+
);
|
|
1294
|
+
React2__namespace.useEffect(() => {
|
|
1295
|
+
const checkMobile = () => setIsMobile(window.innerWidth < 768);
|
|
1296
|
+
checkMobile();
|
|
1297
|
+
window.addEventListener("resize", checkMobile);
|
|
1298
|
+
return () => window.removeEventListener("resize", checkMobile);
|
|
1299
|
+
}, []);
|
|
1300
|
+
const toggleSidebar = React2__namespace.useCallback(() => {
|
|
1301
|
+
return isMobile ? setOpenMobile((o) => !o) : setOpen((o) => !o);
|
|
1302
|
+
}, [isMobile, setOpen]);
|
|
1303
|
+
const state = open ? "expanded" : "collapsed";
|
|
1304
|
+
const contextValue = React2__namespace.useMemo(
|
|
1305
|
+
() => ({
|
|
1306
|
+
state,
|
|
1307
|
+
open,
|
|
1308
|
+
setOpen,
|
|
1309
|
+
isMobile,
|
|
1310
|
+
openMobile,
|
|
1311
|
+
setOpenMobile,
|
|
1312
|
+
toggleSidebar
|
|
1313
|
+
}),
|
|
1314
|
+
[state, open, setOpen, isMobile, openMobile, toggleSidebar]
|
|
1315
|
+
);
|
|
1316
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1317
|
+
"div",
|
|
1318
|
+
{
|
|
1319
|
+
style: {
|
|
1320
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
1321
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
1322
|
+
...style
|
|
1323
|
+
},
|
|
1324
|
+
className: cn(
|
|
1325
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",
|
|
1326
|
+
className
|
|
1327
|
+
),
|
|
1328
|
+
...props,
|
|
1329
|
+
children
|
|
1330
|
+
}
|
|
1331
|
+
) });
|
|
1332
|
+
}
|
|
1333
|
+
function Sidebar({
|
|
1334
|
+
side = "left",
|
|
1335
|
+
variant = "sidebar",
|
|
1336
|
+
collapsible = "offcanvas",
|
|
653
1337
|
className,
|
|
1338
|
+
children,
|
|
654
1339
|
...props
|
|
655
1340
|
}) {
|
|
1341
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
1342
|
+
if (collapsible === "none") {
|
|
1343
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1344
|
+
"div",
|
|
1345
|
+
{
|
|
1346
|
+
"data-slot": "sidebar",
|
|
1347
|
+
className: cn(
|
|
1348
|
+
"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",
|
|
1349
|
+
className
|
|
1350
|
+
),
|
|
1351
|
+
...props,
|
|
1352
|
+
children
|
|
1353
|
+
}
|
|
1354
|
+
);
|
|
1355
|
+
}
|
|
1356
|
+
if (isMobile) {
|
|
1357
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Sheet, { open: openMobile, onOpenChange: setOpenMobile, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1358
|
+
SheetContent,
|
|
1359
|
+
{
|
|
1360
|
+
"data-sidebar": "sidebar",
|
|
1361
|
+
"data-mobile": "true",
|
|
1362
|
+
className: "w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
1363
|
+
style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
|
|
1364
|
+
side,
|
|
1365
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full w-full flex-col", children })
|
|
1366
|
+
}
|
|
1367
|
+
) });
|
|
1368
|
+
}
|
|
656
1369
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
657
1370
|
"div",
|
|
658
1371
|
{
|
|
659
|
-
"data-
|
|
660
|
-
"data-
|
|
661
|
-
|
|
662
|
-
|
|
1372
|
+
"data-state": state,
|
|
1373
|
+
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
1374
|
+
"data-variant": variant,
|
|
1375
|
+
"data-side": side,
|
|
1376
|
+
"data-slot": "sidebar",
|
|
1377
|
+
className: "group peer hidden md:block",
|
|
663
1378
|
children: [
|
|
664
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
665
|
-
|
|
666
|
-
"span",
|
|
1379
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1380
|
+
"div",
|
|
667
1381
|
{
|
|
668
|
-
className:
|
|
669
|
-
|
|
670
|
-
|
|
1382
|
+
className: cn(
|
|
1383
|
+
"duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear",
|
|
1384
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
1385
|
+
"group-data-[side=right]:rotate-180",
|
|
1386
|
+
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon]"
|
|
1387
|
+
)
|
|
1388
|
+
}
|
|
1389
|
+
),
|
|
1390
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1391
|
+
"div",
|
|
1392
|
+
{
|
|
1393
|
+
className: cn(
|
|
1394
|
+
"duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",
|
|
1395
|
+
side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
|
|
1396
|
+
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
1397
|
+
className
|
|
1398
|
+
),
|
|
1399
|
+
...props,
|
|
1400
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1401
|
+
"div",
|
|
1402
|
+
{
|
|
1403
|
+
"data-sidebar": "sidebar",
|
|
1404
|
+
className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",
|
|
1405
|
+
children
|
|
1406
|
+
}
|
|
1407
|
+
)
|
|
671
1408
|
}
|
|
672
1409
|
)
|
|
673
1410
|
]
|
|
674
1411
|
}
|
|
675
1412
|
);
|
|
676
1413
|
}
|
|
677
|
-
function
|
|
1414
|
+
function SidebarTrigger({
|
|
678
1415
|
className,
|
|
679
|
-
|
|
680
|
-
errors,
|
|
1416
|
+
onClick,
|
|
681
1417
|
...props
|
|
682
1418
|
}) {
|
|
683
|
-
const
|
|
684
|
-
|
|
685
|
-
|
|
1419
|
+
const { toggleSidebar } = useSidebar();
|
|
1420
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1421
|
+
Button,
|
|
1422
|
+
{
|
|
1423
|
+
"data-sidebar": "trigger",
|
|
1424
|
+
"data-slot": "sidebar-trigger",
|
|
1425
|
+
variant: "ghost",
|
|
1426
|
+
size: "icon",
|
|
1427
|
+
className: cn("h-7 w-7", className),
|
|
1428
|
+
onClick: (event) => {
|
|
1429
|
+
onClick?.(event);
|
|
1430
|
+
toggleSidebar();
|
|
1431
|
+
},
|
|
1432
|
+
...props,
|
|
1433
|
+
children: [
|
|
1434
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeft, {}),
|
|
1435
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
1436
|
+
]
|
|
686
1437
|
}
|
|
687
|
-
|
|
688
|
-
|
|
1438
|
+
);
|
|
1439
|
+
}
|
|
1440
|
+
function SidebarHeader({ className, ...props }) {
|
|
1441
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1442
|
+
"div",
|
|
1443
|
+
{
|
|
1444
|
+
"data-slot": "sidebar-header",
|
|
1445
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
1446
|
+
...props
|
|
689
1447
|
}
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
1448
|
+
);
|
|
1449
|
+
}
|
|
1450
|
+
function SidebarFooter({ className, ...props }) {
|
|
1451
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1452
|
+
"div",
|
|
1453
|
+
{
|
|
1454
|
+
"data-slot": "sidebar-footer",
|
|
1455
|
+
className: cn("flex flex-col gap-2 p-2", className),
|
|
1456
|
+
...props
|
|
695
1457
|
}
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
}, [children, errors]);
|
|
700
|
-
if (!content) {
|
|
701
|
-
return null;
|
|
702
|
-
}
|
|
1458
|
+
);
|
|
1459
|
+
}
|
|
1460
|
+
function SidebarContent({ className, ...props }) {
|
|
703
1461
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
704
1462
|
"div",
|
|
705
1463
|
{
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
1464
|
+
"data-slot": "sidebar-content",
|
|
1465
|
+
className: cn(
|
|
1466
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
1467
|
+
className
|
|
1468
|
+
),
|
|
1469
|
+
...props
|
|
1470
|
+
}
|
|
1471
|
+
);
|
|
1472
|
+
}
|
|
1473
|
+
function SidebarGroup({ className, ...props }) {
|
|
1474
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1475
|
+
"div",
|
|
1476
|
+
{
|
|
1477
|
+
"data-slot": "sidebar-group",
|
|
1478
|
+
className: cn("relative flex w-full min-w-0 flex-col p-2", className),
|
|
1479
|
+
...props
|
|
1480
|
+
}
|
|
1481
|
+
);
|
|
1482
|
+
}
|
|
1483
|
+
function SidebarGroupLabel({
|
|
1484
|
+
className,
|
|
1485
|
+
asChild = false,
|
|
1486
|
+
...props
|
|
1487
|
+
}) {
|
|
1488
|
+
const Comp = asChild ? React2__namespace.Fragment : "div";
|
|
1489
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1490
|
+
Comp,
|
|
1491
|
+
{
|
|
1492
|
+
"data-slot": "sidebar-group-label",
|
|
1493
|
+
className: cn(
|
|
1494
|
+
"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1495
|
+
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
|
1496
|
+
className
|
|
1497
|
+
),
|
|
1498
|
+
...props
|
|
1499
|
+
}
|
|
1500
|
+
);
|
|
1501
|
+
}
|
|
1502
|
+
function SidebarGroupContent({
|
|
1503
|
+
className,
|
|
1504
|
+
...props
|
|
1505
|
+
}) {
|
|
1506
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1507
|
+
"div",
|
|
1508
|
+
{
|
|
1509
|
+
"data-slot": "sidebar-group-content",
|
|
1510
|
+
className: cn("w-full text-sm", className),
|
|
1511
|
+
...props
|
|
1512
|
+
}
|
|
1513
|
+
);
|
|
1514
|
+
}
|
|
1515
|
+
function SidebarMenu({ className, ...props }) {
|
|
1516
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1517
|
+
"ul",
|
|
1518
|
+
{
|
|
1519
|
+
"data-slot": "sidebar-menu",
|
|
1520
|
+
className: cn("flex w-full min-w-0 flex-col gap-1", className),
|
|
1521
|
+
...props
|
|
1522
|
+
}
|
|
1523
|
+
);
|
|
1524
|
+
}
|
|
1525
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
1526
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1527
|
+
"li",
|
|
1528
|
+
{
|
|
1529
|
+
"data-slot": "sidebar-menu-item",
|
|
1530
|
+
className: cn("group/menu-item relative", className),
|
|
1531
|
+
...props
|
|
1532
|
+
}
|
|
1533
|
+
);
|
|
1534
|
+
}
|
|
1535
|
+
var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
1536
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
1537
|
+
{
|
|
1538
|
+
variants: {
|
|
1539
|
+
variant: {
|
|
1540
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
1541
|
+
outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
|
1542
|
+
},
|
|
1543
|
+
size: {
|
|
1544
|
+
default: "h-8 text-sm",
|
|
1545
|
+
sm: "h-7 text-xs",
|
|
1546
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0"
|
|
1547
|
+
}
|
|
1548
|
+
},
|
|
1549
|
+
defaultVariants: {
|
|
1550
|
+
variant: "default",
|
|
1551
|
+
size: "default"
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
);
|
|
1555
|
+
function SidebarMenuButton({
|
|
1556
|
+
asChild = false,
|
|
1557
|
+
isActive = false,
|
|
1558
|
+
variant = "default",
|
|
1559
|
+
size = "default",
|
|
1560
|
+
tooltip,
|
|
1561
|
+
className,
|
|
1562
|
+
...props
|
|
1563
|
+
}) {
|
|
1564
|
+
const Comp = asChild ? React2__namespace.Fragment : "button";
|
|
1565
|
+
const button = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1566
|
+
Comp,
|
|
1567
|
+
{
|
|
1568
|
+
"data-slot": "sidebar-menu-button",
|
|
1569
|
+
"data-size": size,
|
|
1570
|
+
"data-active": isActive,
|
|
1571
|
+
className: cn(sidebarMenuButtonVariants({ variant, size }), className),
|
|
1572
|
+
...props
|
|
1573
|
+
}
|
|
1574
|
+
);
|
|
1575
|
+
return button;
|
|
1576
|
+
}
|
|
1577
|
+
function Slider({
|
|
1578
|
+
className,
|
|
1579
|
+
defaultValue,
|
|
1580
|
+
value,
|
|
1581
|
+
min = 0,
|
|
1582
|
+
max = 100,
|
|
1583
|
+
...props
|
|
1584
|
+
}) {
|
|
1585
|
+
const _values = value ?? defaultValue ?? [min, max];
|
|
1586
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1587
|
+
radixUi.Slider.Root,
|
|
1588
|
+
{
|
|
1589
|
+
"data-slot": "slider",
|
|
1590
|
+
defaultValue,
|
|
1591
|
+
value,
|
|
1592
|
+
min,
|
|
1593
|
+
max,
|
|
1594
|
+
className: cn(
|
|
1595
|
+
"relative flex w-full touch-none select-none items-center",
|
|
1596
|
+
className
|
|
1597
|
+
),
|
|
1598
|
+
...props,
|
|
1599
|
+
children: [
|
|
1600
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1601
|
+
radixUi.Slider.Track,
|
|
1602
|
+
{
|
|
1603
|
+
"data-slot": "slider-track",
|
|
1604
|
+
className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",
|
|
1605
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1606
|
+
radixUi.Slider.Range,
|
|
1607
|
+
{
|
|
1608
|
+
"data-slot": "slider-range",
|
|
1609
|
+
className: "absolute h-full bg-primary"
|
|
1610
|
+
}
|
|
1611
|
+
)
|
|
1612
|
+
}
|
|
1613
|
+
),
|
|
1614
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1615
|
+
radixUi.Slider.Thumb,
|
|
1616
|
+
{
|
|
1617
|
+
"data-slot": "slider-thumb",
|
|
1618
|
+
className: "block size-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"
|
|
1619
|
+
},
|
|
1620
|
+
index
|
|
1621
|
+
))
|
|
1622
|
+
]
|
|
1623
|
+
}
|
|
1624
|
+
);
|
|
1625
|
+
}
|
|
1626
|
+
function Skeleton({
|
|
1627
|
+
className,
|
|
1628
|
+
...props
|
|
1629
|
+
}) {
|
|
1630
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1631
|
+
"div",
|
|
1632
|
+
{
|
|
1633
|
+
"data-slot": "skeleton",
|
|
1634
|
+
className: cn(
|
|
1635
|
+
"bg-muted animate-pulse rounded-md",
|
|
1636
|
+
className
|
|
1637
|
+
),
|
|
1638
|
+
...props
|
|
1639
|
+
}
|
|
1640
|
+
);
|
|
1641
|
+
}
|
|
1642
|
+
var stackVariants = classVarianceAuthority.cva("flex", {
|
|
1643
|
+
variants: {
|
|
1644
|
+
direction: {
|
|
1645
|
+
row: "flex-row",
|
|
1646
|
+
column: "flex-col",
|
|
1647
|
+
"row-reverse": "flex-row-reverse",
|
|
1648
|
+
"column-reverse": "flex-col-reverse"
|
|
1649
|
+
},
|
|
1650
|
+
align: {
|
|
1651
|
+
start: "items-start",
|
|
1652
|
+
center: "items-center",
|
|
1653
|
+
end: "items-end",
|
|
1654
|
+
stretch: "items-stretch",
|
|
1655
|
+
baseline: "items-baseline"
|
|
1656
|
+
},
|
|
1657
|
+
justify: {
|
|
1658
|
+
start: "justify-start",
|
|
1659
|
+
center: "justify-center",
|
|
1660
|
+
end: "justify-end",
|
|
1661
|
+
between: "justify-between",
|
|
1662
|
+
around: "justify-around",
|
|
1663
|
+
evenly: "justify-evenly"
|
|
1664
|
+
},
|
|
1665
|
+
wrap: {
|
|
1666
|
+
wrap: "flex-wrap",
|
|
1667
|
+
nowrap: "flex-nowrap",
|
|
1668
|
+
"wrap-reverse": "flex-wrap-reverse"
|
|
1669
|
+
},
|
|
1670
|
+
gap: {
|
|
1671
|
+
0: "gap-0",
|
|
1672
|
+
1: "gap-1",
|
|
1673
|
+
2: "gap-2",
|
|
1674
|
+
3: "gap-3",
|
|
1675
|
+
4: "gap-4",
|
|
1676
|
+
5: "gap-5",
|
|
1677
|
+
6: "gap-6",
|
|
1678
|
+
8: "gap-8",
|
|
1679
|
+
10: "gap-10",
|
|
1680
|
+
12: "gap-12"
|
|
1681
|
+
}
|
|
1682
|
+
},
|
|
1683
|
+
defaultVariants: {
|
|
1684
|
+
direction: "column",
|
|
1685
|
+
align: "stretch",
|
|
1686
|
+
justify: "start",
|
|
1687
|
+
wrap: "nowrap",
|
|
1688
|
+
gap: 4
|
|
1689
|
+
}
|
|
1690
|
+
});
|
|
1691
|
+
function Stack({
|
|
1692
|
+
className,
|
|
1693
|
+
direction,
|
|
1694
|
+
align,
|
|
1695
|
+
justify,
|
|
1696
|
+
wrap,
|
|
1697
|
+
gap,
|
|
1698
|
+
asChild = false,
|
|
1699
|
+
...props
|
|
1700
|
+
}) {
|
|
1701
|
+
const Comp = asChild ? radixUi.Slot.Root : "div";
|
|
1702
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1703
|
+
Comp,
|
|
1704
|
+
{
|
|
1705
|
+
"data-slot": "stack",
|
|
1706
|
+
className: cn(stackVariants({ direction, align, justify, wrap, gap }), className),
|
|
1707
|
+
...props
|
|
1708
|
+
}
|
|
1709
|
+
);
|
|
1710
|
+
}
|
|
1711
|
+
function VStack(props) {
|
|
1712
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Stack, { direction: "column", ...props });
|
|
1713
|
+
}
|
|
1714
|
+
function HStack(props) {
|
|
1715
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Stack, { direction: "row", ...props });
|
|
1716
|
+
}
|
|
1717
|
+
var spinnerVariants = classVarianceAuthority.cva("animate-spin text-muted-foreground", {
|
|
1718
|
+
variants: {
|
|
1719
|
+
size: {
|
|
1720
|
+
default: "size-6",
|
|
1721
|
+
xs: "size-3",
|
|
1722
|
+
sm: "size-4",
|
|
1723
|
+
lg: "size-8",
|
|
1724
|
+
xl: "size-12"
|
|
1725
|
+
}
|
|
1726
|
+
},
|
|
1727
|
+
defaultVariants: {
|
|
1728
|
+
size: "default"
|
|
1729
|
+
}
|
|
1730
|
+
});
|
|
1731
|
+
function Spinner({
|
|
1732
|
+
className,
|
|
1733
|
+
size,
|
|
1734
|
+
...props
|
|
1735
|
+
}) {
|
|
1736
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1737
|
+
lucideReact.Loader2,
|
|
1738
|
+
{
|
|
1739
|
+
"data-slot": "spinner",
|
|
1740
|
+
className: cn(spinnerVariants({ size }), className),
|
|
1741
|
+
...props
|
|
1742
|
+
}
|
|
1743
|
+
);
|
|
1744
|
+
}
|
|
1745
|
+
function Switch({
|
|
1746
|
+
className,
|
|
1747
|
+
...props
|
|
1748
|
+
}) {
|
|
1749
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1750
|
+
radixUi.Switch.Root,
|
|
1751
|
+
{
|
|
1752
|
+
"data-slot": "switch",
|
|
1753
|
+
className: cn(
|
|
1754
|
+
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors",
|
|
1755
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
1756
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1757
|
+
"data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
1758
|
+
className
|
|
1759
|
+
),
|
|
1760
|
+
...props,
|
|
1761
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1762
|
+
radixUi.Switch.Thumb,
|
|
1763
|
+
{
|
|
1764
|
+
"data-slot": "switch-thumb",
|
|
1765
|
+
className: cn(
|
|
1766
|
+
"pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform",
|
|
1767
|
+
"data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
1768
|
+
)
|
|
1769
|
+
}
|
|
1770
|
+
)
|
|
1771
|
+
}
|
|
1772
|
+
);
|
|
1773
|
+
}
|
|
1774
|
+
function Table({
|
|
1775
|
+
className,
|
|
1776
|
+
...props
|
|
1777
|
+
}) {
|
|
1778
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1779
|
+
"table",
|
|
1780
|
+
{
|
|
1781
|
+
"data-slot": "table",
|
|
1782
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
1783
|
+
...props
|
|
1784
|
+
}
|
|
1785
|
+
) });
|
|
1786
|
+
}
|
|
1787
|
+
function TableHeader({
|
|
1788
|
+
className,
|
|
1789
|
+
...props
|
|
1790
|
+
}) {
|
|
1791
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1792
|
+
"thead",
|
|
1793
|
+
{
|
|
1794
|
+
"data-slot": "table-header",
|
|
1795
|
+
className: cn("[&_tr]:border-b", className),
|
|
1796
|
+
...props
|
|
1797
|
+
}
|
|
1798
|
+
);
|
|
1799
|
+
}
|
|
1800
|
+
function TableBody({
|
|
1801
|
+
className,
|
|
1802
|
+
...props
|
|
1803
|
+
}) {
|
|
1804
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1805
|
+
"tbody",
|
|
1806
|
+
{
|
|
1807
|
+
"data-slot": "table-body",
|
|
1808
|
+
className: cn("[&_tr:last-child]:border-0", className),
|
|
1809
|
+
...props
|
|
1810
|
+
}
|
|
1811
|
+
);
|
|
1812
|
+
}
|
|
1813
|
+
function TableFooter({
|
|
1814
|
+
className,
|
|
1815
|
+
...props
|
|
1816
|
+
}) {
|
|
1817
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1818
|
+
"tfoot",
|
|
1819
|
+
{
|
|
1820
|
+
"data-slot": "table-footer",
|
|
1821
|
+
className: cn(
|
|
1822
|
+
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
1823
|
+
className
|
|
1824
|
+
),
|
|
1825
|
+
...props
|
|
1826
|
+
}
|
|
1827
|
+
);
|
|
1828
|
+
}
|
|
1829
|
+
function TableRow({
|
|
1830
|
+
className,
|
|
1831
|
+
...props
|
|
1832
|
+
}) {
|
|
1833
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1834
|
+
"tr",
|
|
1835
|
+
{
|
|
1836
|
+
"data-slot": "table-row",
|
|
1837
|
+
className: cn(
|
|
1838
|
+
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
1839
|
+
className
|
|
1840
|
+
),
|
|
1841
|
+
...props
|
|
1842
|
+
}
|
|
1843
|
+
);
|
|
1844
|
+
}
|
|
1845
|
+
function TableHead({
|
|
1846
|
+
className,
|
|
1847
|
+
...props
|
|
1848
|
+
}) {
|
|
1849
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1850
|
+
"th",
|
|
1851
|
+
{
|
|
1852
|
+
"data-slot": "table-head",
|
|
1853
|
+
className: cn(
|
|
1854
|
+
"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1855
|
+
className
|
|
1856
|
+
),
|
|
1857
|
+
...props
|
|
1858
|
+
}
|
|
1859
|
+
);
|
|
1860
|
+
}
|
|
1861
|
+
function TableCell({
|
|
1862
|
+
className,
|
|
1863
|
+
...props
|
|
1864
|
+
}) {
|
|
1865
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1866
|
+
"td",
|
|
1867
|
+
{
|
|
1868
|
+
"data-slot": "table-cell",
|
|
1869
|
+
className: cn(
|
|
1870
|
+
"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1871
|
+
className
|
|
1872
|
+
),
|
|
1873
|
+
...props
|
|
1874
|
+
}
|
|
1875
|
+
);
|
|
1876
|
+
}
|
|
1877
|
+
function TableCaption({
|
|
1878
|
+
className,
|
|
1879
|
+
...props
|
|
1880
|
+
}) {
|
|
1881
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1882
|
+
"caption",
|
|
1883
|
+
{
|
|
1884
|
+
"data-slot": "table-caption",
|
|
1885
|
+
className: cn("mt-4 text-sm text-muted-foreground", className),
|
|
1886
|
+
...props
|
|
1887
|
+
}
|
|
1888
|
+
);
|
|
1889
|
+
}
|
|
1890
|
+
function Tabs({
|
|
1891
|
+
className,
|
|
1892
|
+
...props
|
|
1893
|
+
}) {
|
|
1894
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1895
|
+
radixUi.Tabs.Root,
|
|
1896
|
+
{
|
|
1897
|
+
"data-slot": "tabs",
|
|
1898
|
+
className: cn("flex flex-col gap-2", className),
|
|
1899
|
+
...props
|
|
1900
|
+
}
|
|
1901
|
+
);
|
|
1902
|
+
}
|
|
1903
|
+
function TabsList({
|
|
1904
|
+
className,
|
|
1905
|
+
...props
|
|
1906
|
+
}) {
|
|
1907
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1908
|
+
radixUi.Tabs.List,
|
|
1909
|
+
{
|
|
1910
|
+
"data-slot": "tabs-list",
|
|
1911
|
+
className: cn(
|
|
1912
|
+
"bg-muted text-muted-foreground inline-flex h-10 items-center justify-center rounded-lg p-1",
|
|
1913
|
+
className
|
|
1914
|
+
),
|
|
1915
|
+
...props
|
|
1916
|
+
}
|
|
1917
|
+
);
|
|
1918
|
+
}
|
|
1919
|
+
function TabsTrigger({
|
|
1920
|
+
className,
|
|
1921
|
+
...props
|
|
1922
|
+
}) {
|
|
1923
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1924
|
+
radixUi.Tabs.Trigger,
|
|
1925
|
+
{
|
|
1926
|
+
"data-slot": "tabs-trigger",
|
|
1927
|
+
className: cn(
|
|
1928
|
+
"ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1.5 text-sm font-medium transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm",
|
|
1929
|
+
className
|
|
1930
|
+
),
|
|
1931
|
+
...props
|
|
1932
|
+
}
|
|
1933
|
+
);
|
|
1934
|
+
}
|
|
1935
|
+
function TabsContent({
|
|
1936
|
+
className,
|
|
1937
|
+
...props
|
|
1938
|
+
}) {
|
|
1939
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1940
|
+
radixUi.Tabs.Content,
|
|
1941
|
+
{
|
|
1942
|
+
"data-slot": "tabs-content",
|
|
1943
|
+
className: cn(
|
|
1944
|
+
"ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
|
|
1945
|
+
className
|
|
1946
|
+
),
|
|
1947
|
+
...props
|
|
1948
|
+
}
|
|
1949
|
+
);
|
|
1950
|
+
}
|
|
1951
|
+
function Textarea({ className, ...props }) {
|
|
1952
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1953
|
+
"textarea",
|
|
1954
|
+
{
|
|
1955
|
+
"data-slot": "textarea",
|
|
1956
|
+
className: cn(
|
|
1957
|
+
"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-[3px] aria-invalid:ring-[3px] 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",
|
|
1958
|
+
className
|
|
1959
|
+
),
|
|
1960
|
+
...props
|
|
1961
|
+
}
|
|
1962
|
+
);
|
|
1963
|
+
}
|
|
1964
|
+
function Select({
|
|
1965
|
+
...props
|
|
1966
|
+
}) {
|
|
1967
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Root, { "data-slot": "select", ...props });
|
|
1968
|
+
}
|
|
1969
|
+
function SelectGroup({
|
|
1970
|
+
className,
|
|
1971
|
+
...props
|
|
1972
|
+
}) {
|
|
1973
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1974
|
+
radixUi.Select.Group,
|
|
1975
|
+
{
|
|
1976
|
+
"data-slot": "select-group",
|
|
1977
|
+
className: cn("scroll-my-1 p-1", className),
|
|
1978
|
+
...props
|
|
1979
|
+
}
|
|
1980
|
+
);
|
|
1981
|
+
}
|
|
1982
|
+
function SelectValue({
|
|
1983
|
+
...props
|
|
1984
|
+
}) {
|
|
1985
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Value, { "data-slot": "select-value", ...props });
|
|
1986
|
+
}
|
|
1987
|
+
function SelectTrigger({
|
|
1988
|
+
className,
|
|
1989
|
+
size = "default",
|
|
1990
|
+
children,
|
|
1991
|
+
...props
|
|
1992
|
+
}) {
|
|
1993
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1994
|
+
radixUi.Select.Trigger,
|
|
1995
|
+
{
|
|
1996
|
+
"data-slot": "select-trigger",
|
|
1997
|
+
"data-size": size,
|
|
1998
|
+
className: cn(
|
|
1999
|
+
"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-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *: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",
|
|
2000
|
+
className
|
|
2001
|
+
),
|
|
2002
|
+
...props,
|
|
2003
|
+
children: [
|
|
2004
|
+
children,
|
|
2005
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "text-muted-foreground size-4 pointer-events-none" }) })
|
|
2006
|
+
]
|
|
2007
|
+
}
|
|
2008
|
+
);
|
|
2009
|
+
}
|
|
2010
|
+
function SelectContent({
|
|
2011
|
+
className,
|
|
2012
|
+
children,
|
|
2013
|
+
position = "item-aligned",
|
|
2014
|
+
align = "center",
|
|
2015
|
+
...props
|
|
2016
|
+
}) {
|
|
2017
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2018
|
+
radixUi.Select.Content,
|
|
2019
|
+
{
|
|
2020
|
+
"data-slot": "select-content",
|
|
2021
|
+
"data-align-trigger": position === "item-aligned",
|
|
2022
|
+
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),
|
|
2023
|
+
position,
|
|
2024
|
+
align,
|
|
2025
|
+
...props,
|
|
2026
|
+
children: [
|
|
2027
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
2028
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2029
|
+
radixUi.Select.Viewport,
|
|
2030
|
+
{
|
|
2031
|
+
"data-position": position,
|
|
2032
|
+
className: cn(
|
|
2033
|
+
"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",
|
|
2034
|
+
position === "popper" && ""
|
|
2035
|
+
),
|
|
2036
|
+
children
|
|
2037
|
+
}
|
|
2038
|
+
),
|
|
2039
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
2040
|
+
]
|
|
2041
|
+
}
|
|
2042
|
+
) });
|
|
2043
|
+
}
|
|
2044
|
+
function SelectLabel({
|
|
2045
|
+
className,
|
|
2046
|
+
...props
|
|
2047
|
+
}) {
|
|
2048
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2049
|
+
radixUi.Select.Label,
|
|
2050
|
+
{
|
|
2051
|
+
"data-slot": "select-label",
|
|
2052
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
2053
|
+
...props
|
|
2054
|
+
}
|
|
2055
|
+
);
|
|
2056
|
+
}
|
|
2057
|
+
function SelectItem({
|
|
2058
|
+
className,
|
|
2059
|
+
children,
|
|
2060
|
+
...props
|
|
2061
|
+
}) {
|
|
2062
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2063
|
+
radixUi.Select.Item,
|
|
2064
|
+
{
|
|
2065
|
+
"data-slot": "select-item",
|
|
2066
|
+
className: cn(
|
|
2067
|
+
"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",
|
|
2068
|
+
className
|
|
2069
|
+
),
|
|
2070
|
+
...props,
|
|
2071
|
+
children: [
|
|
2072
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "pointer-events-none" }) }) }),
|
|
2073
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemText, { children })
|
|
2074
|
+
]
|
|
2075
|
+
}
|
|
2076
|
+
);
|
|
2077
|
+
}
|
|
2078
|
+
function SelectSeparator({
|
|
2079
|
+
className,
|
|
2080
|
+
...props
|
|
2081
|
+
}) {
|
|
2082
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2083
|
+
radixUi.Select.Separator,
|
|
2084
|
+
{
|
|
2085
|
+
"data-slot": "select-separator",
|
|
2086
|
+
className: cn("bg-border -mx-1 my-1 h-px pointer-events-none", className),
|
|
2087
|
+
...props
|
|
2088
|
+
}
|
|
2089
|
+
);
|
|
2090
|
+
}
|
|
2091
|
+
function SelectScrollUpButton({
|
|
2092
|
+
className,
|
|
2093
|
+
...props
|
|
2094
|
+
}) {
|
|
2095
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2096
|
+
radixUi.Select.ScrollUpButton,
|
|
2097
|
+
{
|
|
2098
|
+
"data-slot": "select-scroll-up-button",
|
|
2099
|
+
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2100
|
+
...props,
|
|
2101
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2102
|
+
lucideReact.ChevronUpIcon,
|
|
2103
|
+
{}
|
|
2104
|
+
)
|
|
2105
|
+
}
|
|
2106
|
+
);
|
|
2107
|
+
}
|
|
2108
|
+
function SelectScrollDownButton({
|
|
2109
|
+
className,
|
|
2110
|
+
...props
|
|
2111
|
+
}) {
|
|
2112
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2113
|
+
radixUi.Select.ScrollDownButton,
|
|
2114
|
+
{
|
|
2115
|
+
"data-slot": "select-scroll-down-button",
|
|
2116
|
+
className: cn("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2117
|
+
...props,
|
|
2118
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2119
|
+
lucideReact.ChevronDownIcon,
|
|
2120
|
+
{}
|
|
2121
|
+
)
|
|
2122
|
+
}
|
|
2123
|
+
);
|
|
2124
|
+
}
|
|
2125
|
+
function InputGroup({ className, ...props }) {
|
|
2126
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2127
|
+
"div",
|
|
2128
|
+
{
|
|
2129
|
+
"data-slot": "input-group",
|
|
2130
|
+
role: "group",
|
|
2131
|
+
className: cn(
|
|
2132
|
+
"border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",
|
|
2133
|
+
className
|
|
2134
|
+
),
|
|
2135
|
+
...props
|
|
2136
|
+
}
|
|
2137
|
+
);
|
|
2138
|
+
}
|
|
2139
|
+
var inputGroupAddonVariants = classVarianceAuthority.cva(
|
|
2140
|
+
"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",
|
|
2141
|
+
{
|
|
2142
|
+
variants: {
|
|
2143
|
+
align: {
|
|
2144
|
+
"inline-start": "pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first",
|
|
2145
|
+
"inline-end": "pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last",
|
|
2146
|
+
"block-start": "px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start",
|
|
2147
|
+
"block-end": "px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"
|
|
2148
|
+
}
|
|
2149
|
+
},
|
|
2150
|
+
defaultVariants: {
|
|
2151
|
+
align: "inline-start"
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
2154
|
+
);
|
|
2155
|
+
function InputGroupAddon({
|
|
2156
|
+
className,
|
|
2157
|
+
align = "inline-start",
|
|
2158
|
+
...props
|
|
2159
|
+
}) {
|
|
2160
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2161
|
+
"div",
|
|
2162
|
+
{
|
|
2163
|
+
role: "group",
|
|
2164
|
+
"data-slot": "input-group-addon",
|
|
2165
|
+
"data-align": align,
|
|
2166
|
+
className: cn(inputGroupAddonVariants({ align }), className),
|
|
2167
|
+
onClick: (e) => {
|
|
2168
|
+
if (e.target.closest("button")) {
|
|
2169
|
+
return;
|
|
2170
|
+
}
|
|
2171
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
2172
|
+
},
|
|
2173
|
+
...props
|
|
2174
|
+
}
|
|
2175
|
+
);
|
|
2176
|
+
}
|
|
2177
|
+
var inputGroupButtonVariants = classVarianceAuthority.cva(
|
|
2178
|
+
"gap-2 text-sm shadow-none flex items-center",
|
|
2179
|
+
{
|
|
2180
|
+
variants: {
|
|
2181
|
+
size: {
|
|
2182
|
+
xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
2183
|
+
sm: "",
|
|
2184
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
2185
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
2186
|
+
}
|
|
2187
|
+
},
|
|
2188
|
+
defaultVariants: {
|
|
2189
|
+
size: "xs"
|
|
2190
|
+
}
|
|
2191
|
+
}
|
|
2192
|
+
);
|
|
2193
|
+
function InputGroupButton({
|
|
2194
|
+
className,
|
|
2195
|
+
type = "button",
|
|
2196
|
+
variant = "ghost",
|
|
2197
|
+
size = "xs",
|
|
2198
|
+
...props
|
|
2199
|
+
}) {
|
|
2200
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2201
|
+
Button,
|
|
2202
|
+
{
|
|
2203
|
+
type,
|
|
2204
|
+
"data-size": size,
|
|
2205
|
+
variant,
|
|
2206
|
+
className: cn(inputGroupButtonVariants({ size }), className),
|
|
2207
|
+
...props
|
|
2208
|
+
}
|
|
2209
|
+
);
|
|
2210
|
+
}
|
|
2211
|
+
function InputGroupText({ className, ...props }) {
|
|
2212
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2213
|
+
"span",
|
|
2214
|
+
{
|
|
2215
|
+
className: cn(
|
|
2216
|
+
"text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none",
|
|
2217
|
+
className
|
|
2218
|
+
),
|
|
2219
|
+
...props
|
|
2220
|
+
}
|
|
2221
|
+
);
|
|
2222
|
+
}
|
|
2223
|
+
function InputGroupInput({
|
|
2224
|
+
className,
|
|
2225
|
+
...props
|
|
2226
|
+
}) {
|
|
2227
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2228
|
+
Input,
|
|
2229
|
+
{
|
|
2230
|
+
"data-slot": "input-group-control",
|
|
2231
|
+
className: cn("rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1", className),
|
|
2232
|
+
...props
|
|
2233
|
+
}
|
|
2234
|
+
);
|
|
2235
|
+
}
|
|
2236
|
+
function InputGroupTextarea({
|
|
2237
|
+
className,
|
|
2238
|
+
...props
|
|
2239
|
+
}) {
|
|
2240
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2241
|
+
Textarea,
|
|
2242
|
+
{
|
|
2243
|
+
"data-slot": "input-group-control",
|
|
2244
|
+
className: cn("rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none", className),
|
|
2245
|
+
...props
|
|
2246
|
+
}
|
|
2247
|
+
);
|
|
2248
|
+
}
|
|
2249
|
+
function FieldSet({ className, ...props }) {
|
|
2250
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2251
|
+
"fieldset",
|
|
2252
|
+
{
|
|
2253
|
+
"data-slot": "field-set",
|
|
2254
|
+
className: cn("gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col", className),
|
|
2255
|
+
...props
|
|
2256
|
+
}
|
|
2257
|
+
);
|
|
2258
|
+
}
|
|
2259
|
+
function FieldLegend({
|
|
2260
|
+
className,
|
|
2261
|
+
variant = "legend",
|
|
2262
|
+
...props
|
|
2263
|
+
}) {
|
|
2264
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2265
|
+
"legend",
|
|
2266
|
+
{
|
|
2267
|
+
"data-slot": "field-legend",
|
|
2268
|
+
"data-variant": variant,
|
|
2269
|
+
className: cn("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
|
|
2270
|
+
...props
|
|
2271
|
+
}
|
|
2272
|
+
);
|
|
2273
|
+
}
|
|
2274
|
+
function FieldGroup({ className, ...props }) {
|
|
2275
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2276
|
+
"div",
|
|
2277
|
+
{
|
|
2278
|
+
"data-slot": "field-group",
|
|
2279
|
+
className: cn(
|
|
2280
|
+
"gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",
|
|
2281
|
+
className
|
|
2282
|
+
),
|
|
2283
|
+
...props
|
|
2284
|
+
}
|
|
2285
|
+
);
|
|
2286
|
+
}
|
|
2287
|
+
var fieldVariants = classVarianceAuthority.cva("data-[invalid=true]:text-destructive gap-3 group/field flex w-full", {
|
|
2288
|
+
variants: {
|
|
2289
|
+
orientation: {
|
|
2290
|
+
vertical: "flex-col [&>*]:w-full [&>.sr-only]:w-auto",
|
|
2291
|
+
horizontal: "flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
2292
|
+
responsive: "flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
2293
|
+
}
|
|
2294
|
+
},
|
|
2295
|
+
defaultVariants: {
|
|
2296
|
+
orientation: "vertical"
|
|
2297
|
+
}
|
|
2298
|
+
});
|
|
2299
|
+
function Field({
|
|
2300
|
+
className,
|
|
2301
|
+
orientation = "vertical",
|
|
2302
|
+
...props
|
|
2303
|
+
}) {
|
|
2304
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2305
|
+
"div",
|
|
2306
|
+
{
|
|
2307
|
+
role: "group",
|
|
2308
|
+
"data-slot": "field",
|
|
2309
|
+
"data-orientation": orientation,
|
|
2310
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
2311
|
+
...props
|
|
2312
|
+
}
|
|
2313
|
+
);
|
|
2314
|
+
}
|
|
2315
|
+
function FieldContent({ className, ...props }) {
|
|
2316
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2317
|
+
"div",
|
|
2318
|
+
{
|
|
2319
|
+
"data-slot": "field-content",
|
|
2320
|
+
className: cn(
|
|
2321
|
+
"gap-1 group/field-content flex flex-1 flex-col leading-snug",
|
|
2322
|
+
className
|
|
2323
|
+
),
|
|
2324
|
+
...props
|
|
2325
|
+
}
|
|
2326
|
+
);
|
|
2327
|
+
}
|
|
2328
|
+
function FieldLabel({
|
|
2329
|
+
className,
|
|
2330
|
+
...props
|
|
2331
|
+
}) {
|
|
2332
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2333
|
+
Label,
|
|
2334
|
+
{
|
|
2335
|
+
"data-slot": "field-label",
|
|
2336
|
+
className: cn(
|
|
2337
|
+
"has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug",
|
|
2338
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
2339
|
+
className
|
|
2340
|
+
),
|
|
2341
|
+
...props
|
|
2342
|
+
}
|
|
2343
|
+
);
|
|
2344
|
+
}
|
|
2345
|
+
function FieldTitle({ className, ...props }) {
|
|
2346
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2347
|
+
"div",
|
|
2348
|
+
{
|
|
2349
|
+
"data-slot": "field-label",
|
|
2350
|
+
className: cn(
|
|
2351
|
+
"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug",
|
|
2352
|
+
className
|
|
2353
|
+
),
|
|
2354
|
+
...props
|
|
2355
|
+
}
|
|
2356
|
+
);
|
|
2357
|
+
}
|
|
2358
|
+
function FieldDescription({ className, ...props }) {
|
|
2359
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2360
|
+
"p",
|
|
2361
|
+
{
|
|
2362
|
+
"data-slot": "field-description",
|
|
2363
|
+
className: cn(
|
|
2364
|
+
"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
2365
|
+
"last:mt-0 nth-last-2:-mt-1",
|
|
2366
|
+
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
2367
|
+
className
|
|
2368
|
+
),
|
|
2369
|
+
...props
|
|
2370
|
+
}
|
|
2371
|
+
);
|
|
2372
|
+
}
|
|
2373
|
+
function FieldSeparator({
|
|
2374
|
+
children,
|
|
2375
|
+
className,
|
|
2376
|
+
...props
|
|
2377
|
+
}) {
|
|
2378
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2379
|
+
"div",
|
|
2380
|
+
{
|
|
2381
|
+
"data-slot": "field-separator",
|
|
2382
|
+
"data-content": !!children,
|
|
2383
|
+
className: cn("-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative", className),
|
|
2384
|
+
...props,
|
|
2385
|
+
children: [
|
|
2386
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
2387
|
+
children && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2388
|
+
"span",
|
|
2389
|
+
{
|
|
2390
|
+
className: "text-muted-foreground px-2 bg-background relative mx-auto block w-fit",
|
|
2391
|
+
"data-slot": "field-separator-content",
|
|
2392
|
+
children
|
|
2393
|
+
}
|
|
2394
|
+
)
|
|
2395
|
+
]
|
|
2396
|
+
}
|
|
2397
|
+
);
|
|
2398
|
+
}
|
|
2399
|
+
function FieldError({
|
|
2400
|
+
className,
|
|
2401
|
+
children,
|
|
2402
|
+
errors,
|
|
2403
|
+
...props
|
|
2404
|
+
}) {
|
|
2405
|
+
const content = React2.useMemo(() => {
|
|
2406
|
+
if (children) {
|
|
2407
|
+
return children;
|
|
2408
|
+
}
|
|
2409
|
+
if (!errors?.length) {
|
|
2410
|
+
return null;
|
|
2411
|
+
}
|
|
2412
|
+
const uniqueErrors = [
|
|
2413
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
2414
|
+
];
|
|
2415
|
+
if (uniqueErrors?.length == 1) {
|
|
2416
|
+
return uniqueErrors[0]?.message;
|
|
2417
|
+
}
|
|
2418
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
2419
|
+
(error, index) => error?.message && /* @__PURE__ */ jsxRuntime.jsx("li", { children: error.message }, index)
|
|
2420
|
+
) });
|
|
2421
|
+
}, [children, errors]);
|
|
2422
|
+
if (!content) {
|
|
2423
|
+
return null;
|
|
2424
|
+
}
|
|
2425
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2426
|
+
"div",
|
|
2427
|
+
{
|
|
2428
|
+
role: "alert",
|
|
2429
|
+
"data-slot": "field-error",
|
|
2430
|
+
className: cn("text-destructive text-sm font-normal", className),
|
|
2431
|
+
...props,
|
|
2432
|
+
children: content
|
|
2433
|
+
}
|
|
2434
|
+
);
|
|
2435
|
+
}
|
|
2436
|
+
var alertVariants = classVarianceAuthority.cva(
|
|
2437
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
|
|
2438
|
+
{
|
|
2439
|
+
variants: {
|
|
2440
|
+
variant: {
|
|
2441
|
+
default: "bg-background text-foreground",
|
|
2442
|
+
destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
|
|
2443
|
+
success: "border-green-500/50 bg-green-50 text-green-700 dark:border-green-500 dark:bg-green-950 dark:text-green-300 [&>svg]:text-green-600 dark:[&>svg]:text-green-400",
|
|
2444
|
+
warning: "border-yellow-500/50 bg-yellow-50 text-yellow-700 dark:border-yellow-500 dark:bg-yellow-950 dark:text-yellow-300 [&>svg]:text-yellow-600 dark:[&>svg]:text-yellow-400",
|
|
2445
|
+
info: "border-blue-500/50 bg-blue-50 text-blue-700 dark:border-blue-500 dark:bg-blue-950 dark:text-blue-300 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400"
|
|
2446
|
+
}
|
|
2447
|
+
},
|
|
2448
|
+
defaultVariants: {
|
|
2449
|
+
variant: "default"
|
|
2450
|
+
}
|
|
2451
|
+
}
|
|
2452
|
+
);
|
|
2453
|
+
function Alert({
|
|
2454
|
+
className,
|
|
2455
|
+
variant,
|
|
2456
|
+
...props
|
|
2457
|
+
}) {
|
|
2458
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2459
|
+
"div",
|
|
2460
|
+
{
|
|
2461
|
+
"data-slot": "alert",
|
|
2462
|
+
role: "alert",
|
|
2463
|
+
className: cn(alertVariants({ variant }), className),
|
|
2464
|
+
...props
|
|
2465
|
+
}
|
|
2466
|
+
);
|
|
2467
|
+
}
|
|
2468
|
+
function AlertTitle({
|
|
2469
|
+
className,
|
|
2470
|
+
...props
|
|
2471
|
+
}) {
|
|
2472
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2473
|
+
"h5",
|
|
2474
|
+
{
|
|
2475
|
+
"data-slot": "alert-title",
|
|
2476
|
+
className: cn("mb-1 font-medium leading-none tracking-tight", className),
|
|
2477
|
+
...props
|
|
2478
|
+
}
|
|
2479
|
+
);
|
|
2480
|
+
}
|
|
2481
|
+
function AlertDescription({
|
|
2482
|
+
className,
|
|
2483
|
+
...props
|
|
2484
|
+
}) {
|
|
2485
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2486
|
+
"div",
|
|
2487
|
+
{
|
|
2488
|
+
"data-slot": "alert-description",
|
|
2489
|
+
className: cn("text-sm [&_p]:leading-relaxed", className),
|
|
2490
|
+
...props
|
|
2491
|
+
}
|
|
2492
|
+
);
|
|
2493
|
+
}
|
|
2494
|
+
function AlertDialog({
|
|
2495
|
+
...props
|
|
2496
|
+
}) {
|
|
2497
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
|
|
2498
|
+
}
|
|
2499
|
+
function AlertDialogTrigger({
|
|
2500
|
+
...props
|
|
2501
|
+
}) {
|
|
2502
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
2503
|
+
}
|
|
2504
|
+
function AlertDialogPortal({
|
|
2505
|
+
...props
|
|
2506
|
+
}) {
|
|
2507
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
2508
|
+
}
|
|
2509
|
+
function AlertDialogOverlay({
|
|
2510
|
+
className,
|
|
2511
|
+
...props
|
|
2512
|
+
}) {
|
|
2513
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2514
|
+
radixUi.AlertDialog.Overlay,
|
|
2515
|
+
{
|
|
2516
|
+
"data-slot": "alert-dialog-overlay",
|
|
2517
|
+
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),
|
|
2518
|
+
...props
|
|
2519
|
+
}
|
|
2520
|
+
);
|
|
2521
|
+
}
|
|
2522
|
+
function AlertDialogContent({
|
|
2523
|
+
className,
|
|
2524
|
+
size = "default",
|
|
2525
|
+
...props
|
|
2526
|
+
}) {
|
|
2527
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
2528
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
2529
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2530
|
+
radixUi.AlertDialog.Content,
|
|
2531
|
+
{
|
|
2532
|
+
"data-slot": "alert-dialog-content",
|
|
2533
|
+
"data-size": size,
|
|
2534
|
+
className: cn(
|
|
2535
|
+
"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",
|
|
2536
|
+
className
|
|
2537
|
+
),
|
|
2538
|
+
...props
|
|
2539
|
+
}
|
|
2540
|
+
)
|
|
2541
|
+
] });
|
|
2542
|
+
}
|
|
2543
|
+
function AlertDialogHeader({
|
|
2544
|
+
className,
|
|
2545
|
+
...props
|
|
2546
|
+
}) {
|
|
2547
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2548
|
+
"div",
|
|
2549
|
+
{
|
|
2550
|
+
"data-slot": "alert-dialog-header",
|
|
2551
|
+
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),
|
|
2552
|
+
...props
|
|
2553
|
+
}
|
|
2554
|
+
);
|
|
2555
|
+
}
|
|
2556
|
+
function AlertDialogFooter({
|
|
2557
|
+
className,
|
|
2558
|
+
...props
|
|
2559
|
+
}) {
|
|
2560
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2561
|
+
"div",
|
|
2562
|
+
{
|
|
2563
|
+
"data-slot": "alert-dialog-footer",
|
|
2564
|
+
className: cn(
|
|
2565
|
+
"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",
|
|
2566
|
+
className
|
|
2567
|
+
),
|
|
2568
|
+
...props
|
|
2569
|
+
}
|
|
2570
|
+
);
|
|
2571
|
+
}
|
|
2572
|
+
function AlertDialogMedia({
|
|
2573
|
+
className,
|
|
2574
|
+
...props
|
|
2575
|
+
}) {
|
|
2576
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2577
|
+
"div",
|
|
2578
|
+
{
|
|
2579
|
+
"data-slot": "alert-dialog-media",
|
|
2580
|
+
className: cn("bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className),
|
|
2581
|
+
...props
|
|
2582
|
+
}
|
|
2583
|
+
);
|
|
2584
|
+
}
|
|
2585
|
+
function AlertDialogTitle({
|
|
2586
|
+
className,
|
|
2587
|
+
...props
|
|
2588
|
+
}) {
|
|
2589
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2590
|
+
radixUi.AlertDialog.Title,
|
|
2591
|
+
{
|
|
2592
|
+
"data-slot": "alert-dialog-title",
|
|
2593
|
+
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),
|
|
2594
|
+
...props
|
|
2595
|
+
}
|
|
2596
|
+
);
|
|
2597
|
+
}
|
|
2598
|
+
function AlertDialogDescription({
|
|
2599
|
+
className,
|
|
2600
|
+
...props
|
|
2601
|
+
}) {
|
|
2602
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2603
|
+
radixUi.AlertDialog.Description,
|
|
2604
|
+
{
|
|
2605
|
+
"data-slot": "alert-dialog-description",
|
|
2606
|
+
className: cn("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3", className),
|
|
2607
|
+
...props
|
|
2608
|
+
}
|
|
2609
|
+
);
|
|
2610
|
+
}
|
|
2611
|
+
function AlertDialogAction({
|
|
2612
|
+
className,
|
|
2613
|
+
variant = "default",
|
|
2614
|
+
size = "default",
|
|
2615
|
+
...props
|
|
2616
|
+
}) {
|
|
2617
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2618
|
+
radixUi.AlertDialog.Action,
|
|
2619
|
+
{
|
|
2620
|
+
"data-slot": "alert-dialog-action",
|
|
2621
|
+
className: cn(className),
|
|
2622
|
+
...props
|
|
2623
|
+
}
|
|
2624
|
+
) });
|
|
2625
|
+
}
|
|
2626
|
+
function AlertDialogCancel({
|
|
2627
|
+
className,
|
|
2628
|
+
variant = "outline",
|
|
2629
|
+
size = "default",
|
|
2630
|
+
...props
|
|
2631
|
+
}) {
|
|
2632
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button, { variant, size, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2633
|
+
radixUi.AlertDialog.Cancel,
|
|
2634
|
+
{
|
|
2635
|
+
"data-slot": "alert-dialog-cancel",
|
|
2636
|
+
className: cn(className),
|
|
2637
|
+
...props
|
|
2638
|
+
}
|
|
2639
|
+
) });
|
|
2640
|
+
}
|
|
2641
|
+
function Dialog({
|
|
2642
|
+
...props
|
|
2643
|
+
}) {
|
|
2644
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
2645
|
+
}
|
|
2646
|
+
function DialogTrigger({
|
|
2647
|
+
...props
|
|
2648
|
+
}) {
|
|
2649
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
2650
|
+
}
|
|
2651
|
+
function DialogPortal({
|
|
2652
|
+
...props
|
|
2653
|
+
}) {
|
|
2654
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
2655
|
+
}
|
|
2656
|
+
function DialogClose({
|
|
2657
|
+
...props
|
|
2658
|
+
}) {
|
|
2659
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "dialog-close", ...props });
|
|
2660
|
+
}
|
|
2661
|
+
function DialogOverlay({
|
|
2662
|
+
className,
|
|
2663
|
+
...props
|
|
2664
|
+
}) {
|
|
2665
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2666
|
+
radixUi.Dialog.Overlay,
|
|
2667
|
+
{
|
|
2668
|
+
"data-slot": "dialog-overlay",
|
|
2669
|
+
className: cn(
|
|
2670
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-black/50 fixed inset-0 z-50",
|
|
2671
|
+
className
|
|
2672
|
+
),
|
|
2673
|
+
...props
|
|
2674
|
+
}
|
|
2675
|
+
);
|
|
2676
|
+
}
|
|
2677
|
+
function DialogContent({
|
|
2678
|
+
className,
|
|
2679
|
+
children,
|
|
2680
|
+
...props
|
|
2681
|
+
}) {
|
|
2682
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
|
|
2683
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
2684
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2685
|
+
radixUi.Dialog.Content,
|
|
2686
|
+
{
|
|
2687
|
+
"data-slot": "dialog-content",
|
|
2688
|
+
className: cn(
|
|
2689
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 bg-background fixed top-1/2 left-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl border p-6 shadow-lg duration-200",
|
|
2690
|
+
className
|
|
2691
|
+
),
|
|
2692
|
+
...props,
|
|
2693
|
+
children: [
|
|
2694
|
+
children,
|
|
2695
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2696
|
+
radixUi.Dialog.Close,
|
|
2697
|
+
{
|
|
2698
|
+
"data-slot": "dialog-close-button",
|
|
2699
|
+
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",
|
|
2700
|
+
children: [
|
|
2701
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-4" }),
|
|
2702
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
2703
|
+
]
|
|
2704
|
+
}
|
|
2705
|
+
)
|
|
2706
|
+
]
|
|
2707
|
+
}
|
|
2708
|
+
)
|
|
2709
|
+
] });
|
|
2710
|
+
}
|
|
2711
|
+
function DialogHeader({
|
|
2712
|
+
className,
|
|
2713
|
+
...props
|
|
2714
|
+
}) {
|
|
2715
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2716
|
+
"div",
|
|
2717
|
+
{
|
|
2718
|
+
"data-slot": "dialog-header",
|
|
2719
|
+
className: cn("flex flex-col gap-1.5 text-center sm:text-left", className),
|
|
2720
|
+
...props
|
|
2721
|
+
}
|
|
2722
|
+
);
|
|
2723
|
+
}
|
|
2724
|
+
function DialogFooter({
|
|
2725
|
+
className,
|
|
2726
|
+
...props
|
|
2727
|
+
}) {
|
|
2728
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2729
|
+
"div",
|
|
2730
|
+
{
|
|
2731
|
+
"data-slot": "dialog-footer",
|
|
2732
|
+
className: cn(
|
|
2733
|
+
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
2734
|
+
className
|
|
2735
|
+
),
|
|
2736
|
+
...props
|
|
2737
|
+
}
|
|
2738
|
+
);
|
|
2739
|
+
}
|
|
2740
|
+
function DialogTitle({
|
|
2741
|
+
className,
|
|
2742
|
+
...props
|
|
2743
|
+
}) {
|
|
2744
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2745
|
+
radixUi.Dialog.Title,
|
|
2746
|
+
{
|
|
2747
|
+
"data-slot": "dialog-title",
|
|
2748
|
+
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
2749
|
+
...props
|
|
2750
|
+
}
|
|
2751
|
+
);
|
|
2752
|
+
}
|
|
2753
|
+
function DialogDescription({
|
|
2754
|
+
className,
|
|
2755
|
+
...props
|
|
2756
|
+
}) {
|
|
2757
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2758
|
+
radixUi.Dialog.Description,
|
|
2759
|
+
{
|
|
2760
|
+
"data-slot": "dialog-description",
|
|
2761
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
2762
|
+
...props
|
|
2763
|
+
}
|
|
2764
|
+
);
|
|
2765
|
+
}
|
|
2766
|
+
function Command({
|
|
2767
|
+
className,
|
|
2768
|
+
...props
|
|
2769
|
+
}) {
|
|
2770
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2771
|
+
cmdk.Command,
|
|
2772
|
+
{
|
|
2773
|
+
"data-slot": "command",
|
|
2774
|
+
className: cn(
|
|
2775
|
+
"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
|
|
2776
|
+
className
|
|
2777
|
+
),
|
|
2778
|
+
...props
|
|
2779
|
+
}
|
|
2780
|
+
);
|
|
2781
|
+
}
|
|
2782
|
+
function CommandDialog({
|
|
2783
|
+
children,
|
|
2784
|
+
...props
|
|
2785
|
+
}) {
|
|
2786
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "overflow-hidden p-0", children: [
|
|
2787
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "sr-only", children: "Command" }),
|
|
2788
|
+
/* @__PURE__ */ jsxRuntime.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
2789
|
+
] }) });
|
|
2790
|
+
}
|
|
2791
|
+
function CommandInput({
|
|
2792
|
+
className,
|
|
2793
|
+
...props
|
|
2794
|
+
}) {
|
|
2795
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
2796
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
2797
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2798
|
+
cmdk.Command.Input,
|
|
2799
|
+
{
|
|
2800
|
+
"data-slot": "command-input",
|
|
2801
|
+
className: cn(
|
|
2802
|
+
"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",
|
|
2803
|
+
className
|
|
2804
|
+
),
|
|
2805
|
+
...props
|
|
2806
|
+
}
|
|
2807
|
+
)
|
|
2808
|
+
] });
|
|
2809
|
+
}
|
|
2810
|
+
function CommandList({
|
|
2811
|
+
className,
|
|
2812
|
+
...props
|
|
2813
|
+
}) {
|
|
2814
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2815
|
+
cmdk.Command.List,
|
|
2816
|
+
{
|
|
2817
|
+
"data-slot": "command-list",
|
|
2818
|
+
className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
|
|
2819
|
+
...props
|
|
2820
|
+
}
|
|
2821
|
+
);
|
|
2822
|
+
}
|
|
2823
|
+
function CommandEmpty({
|
|
2824
|
+
...props
|
|
2825
|
+
}) {
|
|
2826
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2827
|
+
cmdk.Command.Empty,
|
|
2828
|
+
{
|
|
2829
|
+
"data-slot": "command-empty",
|
|
2830
|
+
className: "py-6 text-center text-sm",
|
|
2831
|
+
...props
|
|
2832
|
+
}
|
|
2833
|
+
);
|
|
2834
|
+
}
|
|
2835
|
+
function CommandGroup({
|
|
2836
|
+
className,
|
|
2837
|
+
...props
|
|
2838
|
+
}) {
|
|
2839
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2840
|
+
cmdk.Command.Group,
|
|
2841
|
+
{
|
|
2842
|
+
"data-slot": "command-group",
|
|
2843
|
+
className: cn(
|
|
2844
|
+
"overflow-hidden p-1 text-foreground [&_[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",
|
|
2845
|
+
className
|
|
2846
|
+
),
|
|
2847
|
+
...props
|
|
711
2848
|
}
|
|
712
2849
|
);
|
|
713
2850
|
}
|
|
714
|
-
function
|
|
715
|
-
|
|
716
|
-
}) {
|
|
717
|
-
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
|
|
718
|
-
}
|
|
719
|
-
function AlertDialogTrigger({
|
|
2851
|
+
function CommandSeparator({
|
|
2852
|
+
className,
|
|
720
2853
|
...props
|
|
721
2854
|
}) {
|
|
722
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2855
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2856
|
+
cmdk.Command.Separator,
|
|
2857
|
+
{
|
|
2858
|
+
"data-slot": "command-separator",
|
|
2859
|
+
className: cn("-mx-1 h-px bg-border", className),
|
|
2860
|
+
...props
|
|
2861
|
+
}
|
|
2862
|
+
);
|
|
723
2863
|
}
|
|
724
|
-
function
|
|
2864
|
+
function CommandItem({
|
|
2865
|
+
className,
|
|
725
2866
|
...props
|
|
726
2867
|
}) {
|
|
727
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2868
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2869
|
+
cmdk.Command.Item,
|
|
2870
|
+
{
|
|
2871
|
+
"data-slot": "command-item",
|
|
2872
|
+
className: cn(
|
|
2873
|
+
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
2874
|
+
className
|
|
2875
|
+
),
|
|
2876
|
+
...props
|
|
2877
|
+
}
|
|
2878
|
+
);
|
|
728
2879
|
}
|
|
729
|
-
function
|
|
2880
|
+
function CommandShortcut({
|
|
730
2881
|
className,
|
|
731
2882
|
...props
|
|
732
2883
|
}) {
|
|
733
2884
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
734
|
-
|
|
2885
|
+
"span",
|
|
735
2886
|
{
|
|
736
|
-
"data-slot": "
|
|
737
|
-
className: cn(
|
|
2887
|
+
"data-slot": "command-shortcut",
|
|
2888
|
+
className: cn(
|
|
2889
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
2890
|
+
className
|
|
2891
|
+
),
|
|
738
2892
|
...props
|
|
739
2893
|
}
|
|
740
2894
|
);
|
|
741
2895
|
}
|
|
742
|
-
|
|
2896
|
+
var ContextMenu = radixUi.ContextMenu.Root;
|
|
2897
|
+
var ContextMenuTrigger = radixUi.ContextMenu.Trigger;
|
|
2898
|
+
var ContextMenuGroup = radixUi.ContextMenu.Group;
|
|
2899
|
+
var ContextMenuPortal = radixUi.ContextMenu.Portal;
|
|
2900
|
+
var ContextMenuSub = radixUi.ContextMenu.Sub;
|
|
2901
|
+
var ContextMenuRadioGroup = radixUi.ContextMenu.RadioGroup;
|
|
2902
|
+
function ContextMenuSubTrigger({
|
|
743
2903
|
className,
|
|
744
|
-
|
|
2904
|
+
inset,
|
|
2905
|
+
children,
|
|
745
2906
|
...props
|
|
746
2907
|
}) {
|
|
747
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
"data-
|
|
753
|
-
"
|
|
754
|
-
className
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
2908
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2909
|
+
radixUi.ContextMenu.SubTrigger,
|
|
2910
|
+
{
|
|
2911
|
+
"data-slot": "context-menu-sub-trigger",
|
|
2912
|
+
className: cn(
|
|
2913
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
2914
|
+
inset && "pl-8",
|
|
2915
|
+
className
|
|
2916
|
+
),
|
|
2917
|
+
...props,
|
|
2918
|
+
children: [
|
|
2919
|
+
children,
|
|
2920
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
2921
|
+
]
|
|
2922
|
+
}
|
|
2923
|
+
);
|
|
762
2924
|
}
|
|
763
|
-
function
|
|
2925
|
+
function ContextMenuSubContent({
|
|
764
2926
|
className,
|
|
765
2927
|
...props
|
|
766
2928
|
}) {
|
|
767
2929
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
768
|
-
|
|
2930
|
+
radixUi.ContextMenu.SubContent,
|
|
769
2931
|
{
|
|
770
|
-
"data-slot": "
|
|
771
|
-
className: cn(
|
|
2932
|
+
"data-slot": "context-menu-sub-content",
|
|
2933
|
+
className: cn(
|
|
2934
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg",
|
|
2935
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2936
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2937
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
2938
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
2939
|
+
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
2940
|
+
className
|
|
2941
|
+
),
|
|
772
2942
|
...props
|
|
773
2943
|
}
|
|
774
2944
|
);
|
|
775
2945
|
}
|
|
776
|
-
function
|
|
2946
|
+
function ContextMenuContent({
|
|
777
2947
|
className,
|
|
778
2948
|
...props
|
|
779
2949
|
}) {
|
|
780
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
781
|
-
|
|
2950
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.ContextMenu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2951
|
+
radixUi.ContextMenu.Content,
|
|
782
2952
|
{
|
|
783
|
-
"data-slot": "
|
|
2953
|
+
"data-slot": "context-menu-content",
|
|
784
2954
|
className: cn(
|
|
785
|
-
"
|
|
2955
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
2956
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
2957
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
2958
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
2959
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
2960
|
+
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
786
2961
|
className
|
|
787
2962
|
),
|
|
788
2963
|
...props
|
|
789
2964
|
}
|
|
790
|
-
);
|
|
2965
|
+
) });
|
|
791
2966
|
}
|
|
792
|
-
function
|
|
2967
|
+
function ContextMenuItem({
|
|
793
2968
|
className,
|
|
2969
|
+
inset,
|
|
794
2970
|
...props
|
|
795
2971
|
}) {
|
|
796
2972
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
797
|
-
|
|
2973
|
+
radixUi.ContextMenu.Item,
|
|
798
2974
|
{
|
|
799
|
-
"data-slot": "
|
|
800
|
-
className: cn(
|
|
2975
|
+
"data-slot": "context-menu-item",
|
|
2976
|
+
className: cn(
|
|
2977
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2978
|
+
inset && "pl-8",
|
|
2979
|
+
className
|
|
2980
|
+
),
|
|
801
2981
|
...props
|
|
802
2982
|
}
|
|
803
2983
|
);
|
|
804
2984
|
}
|
|
805
|
-
function
|
|
2985
|
+
function ContextMenuCheckboxItem({
|
|
806
2986
|
className,
|
|
2987
|
+
children,
|
|
2988
|
+
checked,
|
|
807
2989
|
...props
|
|
808
2990
|
}) {
|
|
809
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
810
|
-
radixUi.
|
|
2991
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2992
|
+
radixUi.ContextMenu.CheckboxItem,
|
|
811
2993
|
{
|
|
812
|
-
"data-slot": "
|
|
813
|
-
className: cn(
|
|
814
|
-
|
|
2994
|
+
"data-slot": "context-menu-checkbox-item",
|
|
2995
|
+
className: cn(
|
|
2996
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2997
|
+
className
|
|
2998
|
+
),
|
|
2999
|
+
checked,
|
|
3000
|
+
...props,
|
|
3001
|
+
children: [
|
|
3002
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) }) }),
|
|
3003
|
+
children
|
|
3004
|
+
]
|
|
815
3005
|
}
|
|
816
3006
|
);
|
|
817
3007
|
}
|
|
818
|
-
function
|
|
3008
|
+
function ContextMenuRadioItem({
|
|
3009
|
+
className,
|
|
3010
|
+
children,
|
|
3011
|
+
...props
|
|
3012
|
+
}) {
|
|
3013
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3014
|
+
radixUi.ContextMenu.RadioItem,
|
|
3015
|
+
{
|
|
3016
|
+
"data-slot": "context-menu-radio-item",
|
|
3017
|
+
className: cn(
|
|
3018
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
3019
|
+
className
|
|
3020
|
+
),
|
|
3021
|
+
...props,
|
|
3022
|
+
children: [
|
|
3023
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.ContextMenu.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "h-4 w-4 fill-current" }) }) }),
|
|
3024
|
+
children
|
|
3025
|
+
]
|
|
3026
|
+
}
|
|
3027
|
+
);
|
|
3028
|
+
}
|
|
3029
|
+
function ContextMenuLabel({
|
|
819
3030
|
className,
|
|
3031
|
+
inset,
|
|
820
3032
|
...props
|
|
821
3033
|
}) {
|
|
822
3034
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
823
|
-
radixUi.
|
|
3035
|
+
radixUi.ContextMenu.Label,
|
|
824
3036
|
{
|
|
825
|
-
"data-slot": "
|
|
826
|
-
className: cn(
|
|
3037
|
+
"data-slot": "context-menu-label",
|
|
3038
|
+
className: cn(
|
|
3039
|
+
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
3040
|
+
inset && "pl-8",
|
|
3041
|
+
className
|
|
3042
|
+
),
|
|
827
3043
|
...props
|
|
828
3044
|
}
|
|
829
3045
|
);
|
|
830
3046
|
}
|
|
831
|
-
function
|
|
3047
|
+
function ContextMenuSeparator({
|
|
832
3048
|
className,
|
|
833
|
-
variant = "default",
|
|
834
|
-
size = "default",
|
|
835
3049
|
...props
|
|
836
3050
|
}) {
|
|
837
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
838
|
-
radixUi.
|
|
3051
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3052
|
+
radixUi.ContextMenu.Separator,
|
|
839
3053
|
{
|
|
840
|
-
"data-slot": "
|
|
841
|
-
className: cn(className),
|
|
3054
|
+
"data-slot": "context-menu-separator",
|
|
3055
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
842
3056
|
...props
|
|
843
3057
|
}
|
|
844
|
-
)
|
|
3058
|
+
);
|
|
845
3059
|
}
|
|
846
|
-
function
|
|
3060
|
+
function ContextMenuShortcut({
|
|
847
3061
|
className,
|
|
848
|
-
variant = "outline",
|
|
849
|
-
size = "default",
|
|
850
3062
|
...props
|
|
851
3063
|
}) {
|
|
852
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
853
|
-
|
|
3064
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3065
|
+
"span",
|
|
854
3066
|
{
|
|
855
|
-
"data-slot": "
|
|
856
|
-
className: cn(
|
|
3067
|
+
"data-slot": "context-menu-shortcut",
|
|
3068
|
+
className: cn(
|
|
3069
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
3070
|
+
className
|
|
3071
|
+
),
|
|
857
3072
|
...props
|
|
858
3073
|
}
|
|
859
|
-
)
|
|
3074
|
+
);
|
|
860
3075
|
}
|
|
861
3076
|
function DropdownMenu({
|
|
862
3077
|
...props
|
|
@@ -1078,7 +3293,201 @@ function DropdownMenuSubContent({
|
|
|
1078
3293
|
}
|
|
1079
3294
|
);
|
|
1080
3295
|
}
|
|
3296
|
+
var HoverCard = radixUi.HoverCard.Root;
|
|
3297
|
+
var HoverCardTrigger = radixUi.HoverCard.Trigger;
|
|
3298
|
+
function HoverCardContent({
|
|
3299
|
+
className,
|
|
3300
|
+
align = "center",
|
|
3301
|
+
sideOffset = 4,
|
|
3302
|
+
...props
|
|
3303
|
+
}) {
|
|
3304
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.HoverCard.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3305
|
+
radixUi.HoverCard.Content,
|
|
3306
|
+
{
|
|
3307
|
+
"data-slot": "hover-card-content",
|
|
3308
|
+
align,
|
|
3309
|
+
sideOffset,
|
|
3310
|
+
className: cn(
|
|
3311
|
+
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none",
|
|
3312
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
3313
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
3314
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
3315
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
3316
|
+
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
3317
|
+
className
|
|
3318
|
+
),
|
|
3319
|
+
...props
|
|
3320
|
+
}
|
|
3321
|
+
) });
|
|
3322
|
+
}
|
|
3323
|
+
var ToastContext = React2__namespace.createContext(null);
|
|
3324
|
+
var toastVariants = classVarianceAuthority.cva(
|
|
3325
|
+
"group pointer-events-auto relative flex w-full items-center justify-between gap-4 overflow-hidden rounded-lg border p-4 shadow-lg transition-all data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full",
|
|
3326
|
+
{
|
|
3327
|
+
variants: {
|
|
3328
|
+
variant: {
|
|
3329
|
+
default: "bg-card text-card-foreground border border-input shadow-md ring-1 ring-border/50",
|
|
3330
|
+
destructive: "bg-destructive/10 border-destructive/50 text-destructive",
|
|
3331
|
+
success: "bg-green-50 border-green-200 text-green-800 dark:bg-green-950/50 dark:border-green-800 dark:text-green-200"
|
|
3332
|
+
}
|
|
3333
|
+
},
|
|
3334
|
+
defaultVariants: {
|
|
3335
|
+
variant: "default"
|
|
3336
|
+
}
|
|
3337
|
+
}
|
|
3338
|
+
);
|
|
3339
|
+
function ToastProvider({
|
|
3340
|
+
children
|
|
3341
|
+
}) {
|
|
3342
|
+
const [toasts, setToasts] = React2__namespace.useState([]);
|
|
3343
|
+
const addToast = React2__namespace.useCallback((toast) => {
|
|
3344
|
+
const id = Math.random().toString(36).substring(2, 9);
|
|
3345
|
+
setToasts((prev) => [...prev, { ...toast, id }]);
|
|
3346
|
+
const duration = toast.duration ?? 5e3;
|
|
3347
|
+
if (duration > 0) {
|
|
3348
|
+
setTimeout(() => {
|
|
3349
|
+
setToasts((prev) => prev.filter((t) => t.id !== id));
|
|
3350
|
+
}, duration);
|
|
3351
|
+
}
|
|
3352
|
+
}, []);
|
|
3353
|
+
const removeToast = React2__namespace.useCallback((id) => {
|
|
3354
|
+
setToasts((prev) => prev.filter((t) => t.id !== id));
|
|
3355
|
+
}, []);
|
|
3356
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ToastContext.Provider, { value: { toasts, addToast, removeToast }, children: [
|
|
3357
|
+
children,
|
|
3358
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastViewport, { children: toasts.map((toast) => /* @__PURE__ */ jsxRuntime.jsx(Toast, { ...toast, onClose: () => removeToast(toast.id) }, toast.id)) })
|
|
3359
|
+
] });
|
|
3360
|
+
}
|
|
3361
|
+
function useToast() {
|
|
3362
|
+
const context = React2__namespace.useContext(ToastContext);
|
|
3363
|
+
if (!context) {
|
|
3364
|
+
throw new Error("useToast must be used within a ToastProvider");
|
|
3365
|
+
}
|
|
3366
|
+
return context;
|
|
3367
|
+
}
|
|
3368
|
+
function ToastViewport({
|
|
3369
|
+
className,
|
|
3370
|
+
...props
|
|
3371
|
+
}) {
|
|
3372
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3373
|
+
"div",
|
|
3374
|
+
{
|
|
3375
|
+
"data-slot": "toast-viewport",
|
|
3376
|
+
className: cn(
|
|
3377
|
+
"fixed top-0 right-0 z-[100] flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:top-auto sm:bottom-0 sm:flex-col md:max-w-[420px]",
|
|
3378
|
+
className
|
|
3379
|
+
),
|
|
3380
|
+
...props
|
|
3381
|
+
}
|
|
3382
|
+
);
|
|
3383
|
+
}
|
|
3384
|
+
function Toast({
|
|
3385
|
+
className,
|
|
3386
|
+
variant,
|
|
3387
|
+
title,
|
|
3388
|
+
description,
|
|
3389
|
+
onClose,
|
|
3390
|
+
...props
|
|
3391
|
+
}) {
|
|
3392
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3393
|
+
"div",
|
|
3394
|
+
{
|
|
3395
|
+
"data-slot": "toast",
|
|
3396
|
+
"data-state": "open",
|
|
3397
|
+
className: cn(toastVariants({ variant }), className),
|
|
3398
|
+
...props,
|
|
3399
|
+
children: [
|
|
3400
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
|
|
3401
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "toast-title", className: "text-sm font-semibold", children: title }),
|
|
3402
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "toast-description", className: "text-sm opacity-90", children: description })
|
|
3403
|
+
] }),
|
|
3404
|
+
onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3405
|
+
"button",
|
|
3406
|
+
{
|
|
3407
|
+
"data-slot": "toast-close",
|
|
3408
|
+
onClick: onClose,
|
|
3409
|
+
className: "absolute top-2 right-2 rounded-md p-1 opacity-0 transition-opacity group-hover:opacity-100 focus:opacity-100 focus:ring-2 focus:outline-none",
|
|
3410
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "size-4" })
|
|
3411
|
+
}
|
|
3412
|
+
)
|
|
3413
|
+
]
|
|
3414
|
+
}
|
|
3415
|
+
);
|
|
3416
|
+
}
|
|
3417
|
+
function ToastTitle({
|
|
3418
|
+
className,
|
|
3419
|
+
...props
|
|
3420
|
+
}) {
|
|
3421
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3422
|
+
"div",
|
|
3423
|
+
{
|
|
3424
|
+
"data-slot": "toast-title",
|
|
3425
|
+
className: cn("text-sm font-semibold", className),
|
|
3426
|
+
...props
|
|
3427
|
+
}
|
|
3428
|
+
);
|
|
3429
|
+
}
|
|
3430
|
+
function ToastDescription({
|
|
3431
|
+
className,
|
|
3432
|
+
...props
|
|
3433
|
+
}) {
|
|
3434
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3435
|
+
"div",
|
|
3436
|
+
{
|
|
3437
|
+
"data-slot": "toast-description",
|
|
3438
|
+
className: cn("text-sm opacity-90", className),
|
|
3439
|
+
...props
|
|
3440
|
+
}
|
|
3441
|
+
);
|
|
3442
|
+
}
|
|
3443
|
+
function TooltipProvider({
|
|
3444
|
+
delayDuration = 0,
|
|
3445
|
+
...props
|
|
3446
|
+
}) {
|
|
3447
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3448
|
+
radixUi.Tooltip.Provider,
|
|
3449
|
+
{
|
|
3450
|
+
"data-slot": "tooltip-provider",
|
|
3451
|
+
delayDuration,
|
|
3452
|
+
...props
|
|
3453
|
+
}
|
|
3454
|
+
);
|
|
3455
|
+
}
|
|
3456
|
+
function Tooltip({
|
|
3457
|
+
...props
|
|
3458
|
+
}) {
|
|
3459
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Root, { "data-slot": "tooltip", ...props });
|
|
3460
|
+
}
|
|
3461
|
+
function TooltipTrigger({
|
|
3462
|
+
...props
|
|
3463
|
+
}) {
|
|
3464
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
3465
|
+
}
|
|
3466
|
+
function TooltipContent({
|
|
3467
|
+
className,
|
|
3468
|
+
sideOffset = 4,
|
|
3469
|
+
...props
|
|
3470
|
+
}) {
|
|
3471
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3472
|
+
radixUi.Tooltip.Content,
|
|
3473
|
+
{
|
|
3474
|
+
"data-slot": "tooltip-content",
|
|
3475
|
+
sideOffset,
|
|
3476
|
+
className: cn(
|
|
3477
|
+
"bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=delayed-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 z-50 max-w-xs rounded-md px-3 py-1.5 text-sm text-balance",
|
|
3478
|
+
className
|
|
3479
|
+
),
|
|
3480
|
+
...props
|
|
3481
|
+
}
|
|
3482
|
+
) });
|
|
3483
|
+
}
|
|
1081
3484
|
|
|
3485
|
+
exports.Accordion = Accordion;
|
|
3486
|
+
exports.AccordionContent = AccordionContent;
|
|
3487
|
+
exports.AccordionItem = AccordionItem;
|
|
3488
|
+
exports.AccordionTrigger = AccordionTrigger;
|
|
3489
|
+
exports.Alert = Alert;
|
|
3490
|
+
exports.AlertDescription = AlertDescription;
|
|
1082
3491
|
exports.AlertDialog = AlertDialog;
|
|
1083
3492
|
exports.AlertDialogAction = AlertDialogAction;
|
|
1084
3493
|
exports.AlertDialogCancel = AlertDialogCancel;
|
|
@@ -1091,8 +3500,21 @@ exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
|
1091
3500
|
exports.AlertDialogPortal = AlertDialogPortal;
|
|
1092
3501
|
exports.AlertDialogTitle = AlertDialogTitle;
|
|
1093
3502
|
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
3503
|
+
exports.AlertTitle = AlertTitle;
|
|
3504
|
+
exports.AspectRatio = AspectRatio;
|
|
3505
|
+
exports.Avatar = Avatar;
|
|
3506
|
+
exports.AvatarFallback = AvatarFallback;
|
|
3507
|
+
exports.AvatarImage = AvatarImage;
|
|
1094
3508
|
exports.Badge = Badge;
|
|
3509
|
+
exports.Breadcrumb = Breadcrumb;
|
|
3510
|
+
exports.BreadcrumbEllipsis = BreadcrumbEllipsis;
|
|
3511
|
+
exports.BreadcrumbItem = BreadcrumbItem;
|
|
3512
|
+
exports.BreadcrumbLink = BreadcrumbLink;
|
|
3513
|
+
exports.BreadcrumbList = BreadcrumbList;
|
|
3514
|
+
exports.BreadcrumbPage = BreadcrumbPage;
|
|
3515
|
+
exports.BreadcrumbSeparator = BreadcrumbSeparator;
|
|
1095
3516
|
exports.Button = Button;
|
|
3517
|
+
exports.Calendar = Calendar;
|
|
1096
3518
|
exports.Card = Card;
|
|
1097
3519
|
exports.CardAction = CardAction;
|
|
1098
3520
|
exports.CardContent = CardContent;
|
|
@@ -1100,6 +3522,47 @@ exports.CardDescription = CardDescription;
|
|
|
1100
3522
|
exports.CardFooter = CardFooter;
|
|
1101
3523
|
exports.CardHeader = CardHeader;
|
|
1102
3524
|
exports.CardTitle = CardTitle;
|
|
3525
|
+
exports.Checkbox = Checkbox;
|
|
3526
|
+
exports.Collapsible = Collapsible;
|
|
3527
|
+
exports.CollapsibleContent = CollapsibleContent;
|
|
3528
|
+
exports.CollapsibleTrigger = CollapsibleTrigger;
|
|
3529
|
+
exports.Command = Command;
|
|
3530
|
+
exports.CommandDialog = CommandDialog;
|
|
3531
|
+
exports.CommandEmpty = CommandEmpty;
|
|
3532
|
+
exports.CommandGroup = CommandGroup;
|
|
3533
|
+
exports.CommandInput = CommandInput;
|
|
3534
|
+
exports.CommandItem = CommandItem;
|
|
3535
|
+
exports.CommandList = CommandList;
|
|
3536
|
+
exports.CommandSeparator = CommandSeparator;
|
|
3537
|
+
exports.CommandShortcut = CommandShortcut;
|
|
3538
|
+
exports.Container = Container;
|
|
3539
|
+
exports.ContextMenu = ContextMenu;
|
|
3540
|
+
exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem;
|
|
3541
|
+
exports.ContextMenuContent = ContextMenuContent;
|
|
3542
|
+
exports.ContextMenuGroup = ContextMenuGroup;
|
|
3543
|
+
exports.ContextMenuItem = ContextMenuItem;
|
|
3544
|
+
exports.ContextMenuLabel = ContextMenuLabel;
|
|
3545
|
+
exports.ContextMenuPortal = ContextMenuPortal;
|
|
3546
|
+
exports.ContextMenuRadioGroup = ContextMenuRadioGroup;
|
|
3547
|
+
exports.ContextMenuRadioItem = ContextMenuRadioItem;
|
|
3548
|
+
exports.ContextMenuSeparator = ContextMenuSeparator;
|
|
3549
|
+
exports.ContextMenuShortcut = ContextMenuShortcut;
|
|
3550
|
+
exports.ContextMenuSub = ContextMenuSub;
|
|
3551
|
+
exports.ContextMenuSubContent = ContextMenuSubContent;
|
|
3552
|
+
exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
|
|
3553
|
+
exports.ContextMenuTrigger = ContextMenuTrigger;
|
|
3554
|
+
exports.DatePicker = DatePicker;
|
|
3555
|
+
exports.DateRangePicker = DateRangePicker;
|
|
3556
|
+
exports.Dialog = Dialog;
|
|
3557
|
+
exports.DialogClose = DialogClose;
|
|
3558
|
+
exports.DialogContent = DialogContent;
|
|
3559
|
+
exports.DialogDescription = DialogDescription;
|
|
3560
|
+
exports.DialogFooter = DialogFooter;
|
|
3561
|
+
exports.DialogHeader = DialogHeader;
|
|
3562
|
+
exports.DialogOverlay = DialogOverlay;
|
|
3563
|
+
exports.DialogPortal = DialogPortal;
|
|
3564
|
+
exports.DialogTitle = DialogTitle;
|
|
3565
|
+
exports.DialogTrigger = DialogTrigger;
|
|
1103
3566
|
exports.DropdownMenu = DropdownMenu;
|
|
1104
3567
|
exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
|
|
1105
3568
|
exports.DropdownMenuContent = DropdownMenuContent;
|
|
@@ -1125,6 +3588,12 @@ exports.FieldLegend = FieldLegend;
|
|
|
1125
3588
|
exports.FieldSeparator = FieldSeparator;
|
|
1126
3589
|
exports.FieldSet = FieldSet;
|
|
1127
3590
|
exports.FieldTitle = FieldTitle;
|
|
3591
|
+
exports.Grid = Grid;
|
|
3592
|
+
exports.GridItem = GridItem;
|
|
3593
|
+
exports.HStack = HStack;
|
|
3594
|
+
exports.HoverCard = HoverCard;
|
|
3595
|
+
exports.HoverCardContent = HoverCardContent;
|
|
3596
|
+
exports.HoverCardTrigger = HoverCardTrigger;
|
|
1128
3597
|
exports.Input = Input;
|
|
1129
3598
|
exports.InputGroup = InputGroup;
|
|
1130
3599
|
exports.InputGroupAddon = InputGroupAddon;
|
|
@@ -1133,6 +3602,31 @@ exports.InputGroupInput = InputGroupInput;
|
|
|
1133
3602
|
exports.InputGroupText = InputGroupText;
|
|
1134
3603
|
exports.InputGroupTextarea = InputGroupTextarea;
|
|
1135
3604
|
exports.Label = Label;
|
|
3605
|
+
exports.NavigationMenu = NavigationMenu;
|
|
3606
|
+
exports.NavigationMenuContent = NavigationMenuContent;
|
|
3607
|
+
exports.NavigationMenuIndicator = NavigationMenuIndicator;
|
|
3608
|
+
exports.NavigationMenuItem = NavigationMenuItem;
|
|
3609
|
+
exports.NavigationMenuLink = NavigationMenuLink;
|
|
3610
|
+
exports.NavigationMenuList = NavigationMenuList;
|
|
3611
|
+
exports.NavigationMenuTrigger = NavigationMenuTrigger;
|
|
3612
|
+
exports.NavigationMenuViewport = NavigationMenuViewport;
|
|
3613
|
+
exports.Pagination = Pagination;
|
|
3614
|
+
exports.PaginationContent = PaginationContent;
|
|
3615
|
+
exports.PaginationEllipsis = PaginationEllipsis;
|
|
3616
|
+
exports.PaginationItem = PaginationItem;
|
|
3617
|
+
exports.PaginationLink = PaginationLink;
|
|
3618
|
+
exports.PaginationNext = PaginationNext;
|
|
3619
|
+
exports.PaginationPrevious = PaginationPrevious;
|
|
3620
|
+
exports.Popover = Popover;
|
|
3621
|
+
exports.PopoverAnchor = PopoverAnchor;
|
|
3622
|
+
exports.PopoverClose = PopoverClose;
|
|
3623
|
+
exports.PopoverContent = PopoverContent;
|
|
3624
|
+
exports.PopoverTrigger = PopoverTrigger;
|
|
3625
|
+
exports.Progress = Progress;
|
|
3626
|
+
exports.RadioGroup = RadioGroup;
|
|
3627
|
+
exports.RadioGroupItem = RadioGroupItem;
|
|
3628
|
+
exports.ScrollArea = ScrollArea;
|
|
3629
|
+
exports.ScrollBar = ScrollBar;
|
|
1136
3630
|
exports.Select = Select;
|
|
1137
3631
|
exports.SelectContent = SelectContent;
|
|
1138
3632
|
exports.SelectGroup = SelectGroup;
|
|
@@ -1144,9 +3638,70 @@ exports.SelectSeparator = SelectSeparator;
|
|
|
1144
3638
|
exports.SelectTrigger = SelectTrigger;
|
|
1145
3639
|
exports.SelectValue = SelectValue;
|
|
1146
3640
|
exports.Separator = Separator;
|
|
3641
|
+
exports.Sheet = Sheet;
|
|
3642
|
+
exports.SheetClose = SheetClose;
|
|
3643
|
+
exports.SheetContent = SheetContent;
|
|
3644
|
+
exports.SheetDescription = SheetDescription;
|
|
3645
|
+
exports.SheetFooter = SheetFooter;
|
|
3646
|
+
exports.SheetHeader = SheetHeader;
|
|
3647
|
+
exports.SheetOverlay = SheetOverlay;
|
|
3648
|
+
exports.SheetPortal = SheetPortal;
|
|
3649
|
+
exports.SheetTitle = SheetTitle;
|
|
3650
|
+
exports.SheetTrigger = SheetTrigger;
|
|
3651
|
+
exports.Sidebar = Sidebar;
|
|
3652
|
+
exports.SidebarContent = SidebarContent;
|
|
3653
|
+
exports.SidebarFooter = SidebarFooter;
|
|
3654
|
+
exports.SidebarGroup = SidebarGroup;
|
|
3655
|
+
exports.SidebarGroupContent = SidebarGroupContent;
|
|
3656
|
+
exports.SidebarGroupLabel = SidebarGroupLabel;
|
|
3657
|
+
exports.SidebarHeader = SidebarHeader;
|
|
3658
|
+
exports.SidebarMenu = SidebarMenu;
|
|
3659
|
+
exports.SidebarMenuButton = SidebarMenuButton;
|
|
3660
|
+
exports.SidebarMenuItem = SidebarMenuItem;
|
|
3661
|
+
exports.SidebarProvider = SidebarProvider;
|
|
3662
|
+
exports.SidebarTrigger = SidebarTrigger;
|
|
3663
|
+
exports.Skeleton = Skeleton;
|
|
3664
|
+
exports.Slider = Slider;
|
|
3665
|
+
exports.Spinner = Spinner;
|
|
3666
|
+
exports.Stack = Stack;
|
|
3667
|
+
exports.Switch = Switch;
|
|
3668
|
+
exports.Table = Table;
|
|
3669
|
+
exports.TableBody = TableBody;
|
|
3670
|
+
exports.TableCaption = TableCaption;
|
|
3671
|
+
exports.TableCell = TableCell;
|
|
3672
|
+
exports.TableFooter = TableFooter;
|
|
3673
|
+
exports.TableHead = TableHead;
|
|
3674
|
+
exports.TableHeader = TableHeader;
|
|
3675
|
+
exports.TableRow = TableRow;
|
|
3676
|
+
exports.Tabs = Tabs;
|
|
3677
|
+
exports.TabsContent = TabsContent;
|
|
3678
|
+
exports.TabsList = TabsList;
|
|
3679
|
+
exports.TabsTrigger = TabsTrigger;
|
|
1147
3680
|
exports.Textarea = Textarea;
|
|
3681
|
+
exports.Toast = Toast;
|
|
3682
|
+
exports.ToastDescription = ToastDescription;
|
|
3683
|
+
exports.ToastProvider = ToastProvider;
|
|
3684
|
+
exports.ToastTitle = ToastTitle;
|
|
3685
|
+
exports.ToastViewport = ToastViewport;
|
|
3686
|
+
exports.Tooltip = Tooltip;
|
|
3687
|
+
exports.TooltipContent = TooltipContent;
|
|
3688
|
+
exports.TooltipProvider = TooltipProvider;
|
|
3689
|
+
exports.TooltipTrigger = TooltipTrigger;
|
|
3690
|
+
exports.VStack = VStack;
|
|
3691
|
+
exports.alertVariants = alertVariants;
|
|
1148
3692
|
exports.badgeVariants = badgeVariants;
|
|
1149
3693
|
exports.buttonVariants = buttonVariants;
|
|
1150
3694
|
exports.cn = cn;
|
|
3695
|
+
exports.containerVariants = containerVariants;
|
|
3696
|
+
exports.gridItemVariants = gridItemVariants;
|
|
3697
|
+
exports.gridVariants = gridVariants;
|
|
3698
|
+
exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
|
|
3699
|
+
exports.sheetVariants = sheetVariants;
|
|
3700
|
+
exports.sidebarMenuButtonVariants = sidebarMenuButtonVariants;
|
|
3701
|
+
exports.spinnerVariants = spinnerVariants;
|
|
3702
|
+
exports.stackVariants = stackVariants;
|
|
3703
|
+
exports.toastVariants = toastVariants;
|
|
3704
|
+
exports.useSidebar = useSidebar;
|
|
3705
|
+
exports.useToast = useToast;
|
|
1151
3706
|
//# sourceMappingURL=index.cjs.map
|
|
1152
3707
|
//# sourceMappingURL=index.cjs.map
|