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