@tradalab/lyra 1.10.0 → 2.0.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/README.md +16 -1
- package/dist/blocks/index.d.ts +1 -1
- package/dist/blocks/index.js +4 -4
- package/dist/blocks/index.js.map +1 -1
- package/dist/{chunk-V6TVUMAU.js → chunk-2PHVSGAE.js} +75 -27
- package/dist/chunk-2PHVSGAE.js.map +1 -0
- package/dist/{chunk-KFQOYZ64.js → chunk-5Q4UTRYU.js} +4 -4
- package/dist/chunk-5Q4UTRYU.js.map +1 -0
- package/dist/{chunk-ZG5ZPKFL.js → chunk-LZZ3UOPT.js} +6 -6
- package/dist/chunk-LZZ3UOPT.js.map +1 -0
- package/dist/{chunk-44WIOUJJ.js → chunk-RSAN65FI.js} +3 -3
- package/dist/{chunk-44WIOUJJ.js.map → chunk-RSAN65FI.js.map} +1 -1
- package/dist/data-table/index.d.ts +9 -1
- package/dist/data-table/index.js +58 -15
- package/dist/data-table/index.js.map +1 -1
- package/dist/shell/index.d.ts +23 -4
- package/dist/shell/index.js +27 -17
- package/dist/shell/index.js.map +1 -1
- package/dist/ui/index.d.ts +261 -8
- package/dist/ui/index.js +2792 -564
- package/dist/ui/index.js.map +1 -1
- package/package.json +12 -11
- package/dist/chunk-KFQOYZ64.js.map +0 -1
- package/dist/chunk-V6TVUMAU.js.map +0 -1
- package/dist/chunk-ZG5ZPKFL.js.map +0 -1
package/dist/ui/index.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent, Label } from '../chunk-
|
|
3
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Label } from '../chunk-
|
|
2
|
+
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent, Label } from '../chunk-RSAN65FI.js';
|
|
3
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Label } from '../chunk-RSAN65FI.js';
|
|
4
4
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../chunk-CV3UXQBT.js';
|
|
5
|
-
import { Separator, InputGroup, InputGroupAddon } from '../chunk-
|
|
6
|
-
export { AccountMenu, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, defaultAccountMenuLabels, initialsOf, useSidebar } from '../chunk-
|
|
5
|
+
import { Separator, InputGroup, InputGroupInput, InputGroupAddon, InputGroupButton } from '../chunk-2PHVSGAE.js';
|
|
6
|
+
export { AccountMenu, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, defaultAccountMenuLabels, initialsOf, useSidebar } from '../chunk-2PHVSGAE.js';
|
|
7
7
|
import '../chunk-QYA2HGKW.js';
|
|
8
|
-
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '../chunk-
|
|
8
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '../chunk-LZZ3UOPT.js';
|
|
9
9
|
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input } from '../chunk-SQA4ILAK.js';
|
|
10
|
-
import { Button } from '../chunk-
|
|
11
|
-
export { Button, buttonVariants } from '../chunk-
|
|
10
|
+
import { Button, buttonVariants } from '../chunk-5Q4UTRYU.js';
|
|
11
|
+
export { Button, buttonVariants } from '../chunk-5Q4UTRYU.js';
|
|
12
12
|
import { cn } from '../chunk-XH55BHUU.js';
|
|
13
|
-
import * as
|
|
13
|
+
import * as React8 from 'react';
|
|
14
14
|
import { useMemo } from 'react';
|
|
15
|
-
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Slot, Checkbox as Checkbox$1, Collapsible as Collapsible$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
|
|
16
|
-
import { ChevronDownIcon, ChevronUpIcon, CheckIcon, SearchIcon, MinusIcon,
|
|
17
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
15
|
+
import { Direction, Accordion as Accordion$1, AlertDialog as AlertDialog$1, AspectRatio as AspectRatio$1, Slot, Checkbox as Checkbox$1, Collapsible as Collapsible$1, HoverCard as HoverCard$1, Menubar as Menubar$1, NavigationMenu as NavigationMenu$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
|
|
16
|
+
import { ChevronDownIcon, ChevronUpIcon, ChevronLeftIcon, ChevronRightIcon, CheckIcon, XIcon, SearchIcon, MinusIcon, ArrowDownIcon, MoreHorizontalIcon, Loader2Icon, CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon } from 'lucide-react';
|
|
17
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
18
18
|
import { cva } from 'class-variance-authority';
|
|
19
|
+
import { getDefaultClassNames, DayPicker } from 'react-day-picker';
|
|
20
|
+
import useEmblaCarousel from 'embla-carousel-react';
|
|
21
|
+
import * as RechartsPrimitive from 'recharts';
|
|
22
|
+
import { Combobox as Combobox$1 } from '@base-ui/react';
|
|
19
23
|
import { Command as Command$1 } from 'cmdk';
|
|
20
24
|
import { Drawer as Drawer$1 } from 'vaul';
|
|
21
25
|
import { OTPInput, OTPInputContext } from 'input-otp';
|
|
26
|
+
import { MessageScroller as MessageScroller$1 } from '@shadcn/react/message-scroller';
|
|
27
|
+
export { useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';
|
|
22
28
|
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
23
|
-
import {
|
|
24
|
-
import { Toaster as Toaster$1 } from 'sonner';
|
|
25
|
-
export { toast } from 'sonner';
|
|
29
|
+
import { Toast as Toast$1 } from '@base-ui/react/toast';
|
|
26
30
|
|
|
27
31
|
function Accordion({
|
|
28
32
|
className,
|
|
@@ -110,20 +114,38 @@ var alertVariants = cva(
|
|
|
110
114
|
}
|
|
111
115
|
}
|
|
112
116
|
);
|
|
113
|
-
function Alert({
|
|
114
|
-
|
|
117
|
+
function Alert({
|
|
118
|
+
className,
|
|
119
|
+
variant,
|
|
120
|
+
...props
|
|
121
|
+
}) {
|
|
122
|
+
return /* @__PURE__ */ jsx(
|
|
123
|
+
"div",
|
|
124
|
+
{
|
|
125
|
+
"data-slot": "alert",
|
|
126
|
+
role: "alert",
|
|
127
|
+
className: cn(alertVariants({ variant }), className),
|
|
128
|
+
...props
|
|
129
|
+
}
|
|
130
|
+
);
|
|
115
131
|
}
|
|
116
132
|
function AlertTitle({ className, ...props }) {
|
|
117
133
|
return /* @__PURE__ */ jsx(
|
|
118
134
|
"div",
|
|
119
135
|
{
|
|
120
136
|
"data-slot": "alert-title",
|
|
121
|
-
className: cn(
|
|
137
|
+
className: cn(
|
|
138
|
+
"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",
|
|
139
|
+
className
|
|
140
|
+
),
|
|
122
141
|
...props
|
|
123
142
|
}
|
|
124
143
|
);
|
|
125
144
|
}
|
|
126
|
-
function AlertDescription({
|
|
145
|
+
function AlertDescription({
|
|
146
|
+
className,
|
|
147
|
+
...props
|
|
148
|
+
}) {
|
|
127
149
|
return /* @__PURE__ */ jsx(
|
|
128
150
|
"div",
|
|
129
151
|
{
|
|
@@ -137,7 +159,17 @@ function AlertDescription({ className, ...props }) {
|
|
|
137
159
|
);
|
|
138
160
|
}
|
|
139
161
|
function AlertAction({ className, ...props }) {
|
|
140
|
-
return /* @__PURE__ */ jsx(
|
|
162
|
+
return /* @__PURE__ */ jsx(
|
|
163
|
+
"div",
|
|
164
|
+
{
|
|
165
|
+
"data-slot": "alert-action",
|
|
166
|
+
className: cn(
|
|
167
|
+
"absolute top-[calc(--spacing(1.25))] right-[calc(--spacing(1.25))]",
|
|
168
|
+
className
|
|
169
|
+
),
|
|
170
|
+
...props
|
|
171
|
+
}
|
|
172
|
+
);
|
|
141
173
|
}
|
|
142
174
|
function AlertDialog({
|
|
143
175
|
...props
|
|
@@ -301,863 +333,2751 @@ function AlertDialogCancel({
|
|
|
301
333
|
}
|
|
302
334
|
) });
|
|
303
335
|
}
|
|
304
|
-
function AspectRatio({
|
|
336
|
+
function AspectRatio({
|
|
337
|
+
...props
|
|
338
|
+
}) {
|
|
305
339
|
return /* @__PURE__ */ jsx(AspectRatio$1.Root, { "data-slot": "aspect-ratio", ...props });
|
|
306
340
|
}
|
|
307
|
-
var
|
|
308
|
-
"group/
|
|
341
|
+
var attachmentVariants = cva(
|
|
342
|
+
"group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-none border bg-card text-card-foreground transition-colors focus-within:ring-1 focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 data-[state=idle]:border-dashed",
|
|
309
343
|
{
|
|
310
344
|
variants: {
|
|
311
|
-
|
|
312
|
-
default: "
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
345
|
+
size: {
|
|
346
|
+
default: "gap-2 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5",
|
|
347
|
+
sm: "gap-2.5 text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1",
|
|
348
|
+
xs: "gap-1.5 rounded-none text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1"
|
|
349
|
+
},
|
|
350
|
+
orientation: {
|
|
351
|
+
horizontal: "min-w-40 items-center",
|
|
352
|
+
vertical: "w-24 flex-col has-data-[slot=attachment-content]:w-30"
|
|
318
353
|
}
|
|
319
|
-
},
|
|
320
|
-
defaultVariants: {
|
|
321
|
-
variant: "default"
|
|
322
354
|
}
|
|
323
355
|
}
|
|
324
356
|
);
|
|
325
|
-
function
|
|
357
|
+
function Attachment({
|
|
326
358
|
className,
|
|
327
|
-
|
|
328
|
-
|
|
359
|
+
state = "done",
|
|
360
|
+
size = "default",
|
|
361
|
+
orientation = "horizontal",
|
|
329
362
|
...props
|
|
330
363
|
}) {
|
|
331
|
-
const Comp = asChild ? Slot.Root : "span";
|
|
332
364
|
return /* @__PURE__ */ jsx(
|
|
333
|
-
|
|
365
|
+
"div",
|
|
334
366
|
{
|
|
335
|
-
"data-slot": "
|
|
336
|
-
"data-
|
|
337
|
-
|
|
367
|
+
"data-slot": "attachment",
|
|
368
|
+
"data-state": state,
|
|
369
|
+
"data-size": size,
|
|
370
|
+
"data-orientation": orientation,
|
|
371
|
+
className: cn(attachmentVariants({ size, orientation }), className),
|
|
338
372
|
...props
|
|
339
373
|
}
|
|
340
374
|
);
|
|
341
375
|
}
|
|
342
|
-
var
|
|
343
|
-
"
|
|
376
|
+
var attachmentMediaVariants = cva(
|
|
377
|
+
"relative flex aspect-square w-10 shrink-0 items-center justify-center overflow-hidden rounded-none bg-muted text-foreground group-data-[orientation=vertical]/attachment:w-full group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 group-data-[size=xs]/attachment:rounded-none group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive group-data-[orientation=vertical]/attachment:*:data-[slot=spinner]:size-6! [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 group-data-[orientation=vertical]/attachment:[&_svg:not([class*='size-'])]:size-6 group-data-[size=xs]/attachment:[&_svg:not([class*='size-'])]:size-3.5",
|
|
344
378
|
{
|
|
345
379
|
variants: {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
380
|
+
variant: {
|
|
381
|
+
icon: "",
|
|
382
|
+
image: "opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover"
|
|
349
383
|
}
|
|
350
384
|
},
|
|
351
385
|
defaultVariants: {
|
|
352
|
-
|
|
386
|
+
variant: "icon"
|
|
353
387
|
}
|
|
354
388
|
}
|
|
355
389
|
);
|
|
356
|
-
function
|
|
390
|
+
function AttachmentMedia({
|
|
357
391
|
className,
|
|
358
|
-
|
|
392
|
+
variant = "icon",
|
|
359
393
|
...props
|
|
360
394
|
}) {
|
|
361
395
|
return /* @__PURE__ */ jsx(
|
|
362
396
|
"div",
|
|
363
397
|
{
|
|
364
|
-
|
|
365
|
-
"data-
|
|
366
|
-
|
|
367
|
-
className: cn(buttonGroupVariants({ orientation }), className),
|
|
398
|
+
"data-slot": "attachment-media",
|
|
399
|
+
"data-variant": variant,
|
|
400
|
+
className: cn(attachmentMediaVariants({ variant }), className),
|
|
368
401
|
...props
|
|
369
402
|
}
|
|
370
403
|
);
|
|
371
404
|
}
|
|
372
|
-
function
|
|
405
|
+
function AttachmentContent({
|
|
373
406
|
className,
|
|
374
|
-
asChild = false,
|
|
375
407
|
...props
|
|
376
408
|
}) {
|
|
377
|
-
const Comp = asChild ? Slot.Root : "div";
|
|
378
409
|
return /* @__PURE__ */ jsx(
|
|
379
|
-
|
|
410
|
+
"div",
|
|
380
411
|
{
|
|
412
|
+
"data-slot": "attachment-content",
|
|
381
413
|
className: cn(
|
|
382
|
-
"
|
|
414
|
+
"max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1",
|
|
383
415
|
className
|
|
384
416
|
),
|
|
385
417
|
...props
|
|
386
418
|
}
|
|
387
419
|
);
|
|
388
420
|
}
|
|
389
|
-
function
|
|
421
|
+
function AttachmentTitle({
|
|
390
422
|
className,
|
|
391
|
-
orientation = "vertical",
|
|
392
423
|
...props
|
|
393
424
|
}) {
|
|
394
425
|
return /* @__PURE__ */ jsx(
|
|
395
|
-
|
|
426
|
+
"span",
|
|
396
427
|
{
|
|
397
|
-
"data-slot": "
|
|
398
|
-
orientation,
|
|
428
|
+
"data-slot": "attachment-title",
|
|
399
429
|
className: cn(
|
|
400
|
-
"
|
|
430
|
+
"block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer",
|
|
401
431
|
className
|
|
402
432
|
),
|
|
403
433
|
...props
|
|
404
434
|
}
|
|
405
435
|
);
|
|
406
436
|
}
|
|
407
|
-
function
|
|
437
|
+
function AttachmentDescription({
|
|
408
438
|
className,
|
|
409
439
|
...props
|
|
410
440
|
}) {
|
|
411
441
|
return /* @__PURE__ */ jsx(
|
|
412
|
-
|
|
442
|
+
"span",
|
|
413
443
|
{
|
|
414
|
-
"data-slot": "
|
|
444
|
+
"data-slot": "attachment-description",
|
|
415
445
|
className: cn(
|
|
416
|
-
"
|
|
446
|
+
"mt-0.5 block min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive/80",
|
|
447
|
+
"max-w-full",
|
|
417
448
|
className
|
|
418
449
|
),
|
|
419
|
-
...props
|
|
420
|
-
children: /* @__PURE__ */ jsx(
|
|
421
|
-
Checkbox$1.Indicator,
|
|
422
|
-
{
|
|
423
|
-
"data-slot": "checkbox-indicator",
|
|
424
|
-
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
425
|
-
children: /* @__PURE__ */ jsx(
|
|
426
|
-
CheckIcon,
|
|
427
|
-
{}
|
|
428
|
-
)
|
|
429
|
-
}
|
|
430
|
-
)
|
|
450
|
+
...props
|
|
431
451
|
}
|
|
432
452
|
);
|
|
433
453
|
}
|
|
434
|
-
function
|
|
435
|
-
|
|
436
|
-
}) {
|
|
437
|
-
return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
|
|
438
|
-
}
|
|
439
|
-
function CollapsibleTrigger({
|
|
454
|
+
function AttachmentActions({
|
|
455
|
+
className,
|
|
440
456
|
...props
|
|
441
457
|
}) {
|
|
442
458
|
return /* @__PURE__ */ jsx(
|
|
443
|
-
|
|
459
|
+
"div",
|
|
444
460
|
{
|
|
445
|
-
"data-slot": "
|
|
461
|
+
"data-slot": "attachment-actions",
|
|
462
|
+
className: cn(
|
|
463
|
+
"relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:right-3 group-data-[orientation=vertical]/attachment:gap-1",
|
|
464
|
+
className
|
|
465
|
+
),
|
|
446
466
|
...props
|
|
447
467
|
}
|
|
448
468
|
);
|
|
449
469
|
}
|
|
450
|
-
function
|
|
470
|
+
function AttachmentAction({
|
|
471
|
+
className,
|
|
472
|
+
variant,
|
|
473
|
+
size = "icon-xs",
|
|
451
474
|
...props
|
|
452
475
|
}) {
|
|
453
476
|
return /* @__PURE__ */ jsx(
|
|
454
|
-
|
|
477
|
+
Button,
|
|
455
478
|
{
|
|
456
|
-
"data-slot": "
|
|
479
|
+
"data-slot": "attachment-action",
|
|
480
|
+
variant: variant ?? "ghost",
|
|
481
|
+
size,
|
|
482
|
+
className: cn(className),
|
|
457
483
|
...props
|
|
458
484
|
}
|
|
459
485
|
);
|
|
460
486
|
}
|
|
461
|
-
function
|
|
487
|
+
function AttachmentTrigger({
|
|
462
488
|
className,
|
|
489
|
+
asChild = false,
|
|
490
|
+
type,
|
|
463
491
|
...props
|
|
464
492
|
}) {
|
|
493
|
+
const Comp = asChild ? Slot.Root : "button";
|
|
465
494
|
return /* @__PURE__ */ jsx(
|
|
466
|
-
|
|
495
|
+
Comp,
|
|
467
496
|
{
|
|
468
|
-
"data-slot": "
|
|
497
|
+
"data-slot": "attachment-trigger",
|
|
498
|
+
type: asChild ? void 0 : type ?? "button",
|
|
499
|
+
className: cn("absolute inset-0 z-10 outline-none", className),
|
|
500
|
+
...props
|
|
501
|
+
}
|
|
502
|
+
);
|
|
503
|
+
}
|
|
504
|
+
function AttachmentGroup({ className, ...props }) {
|
|
505
|
+
return /* @__PURE__ */ jsx(
|
|
506
|
+
"div",
|
|
507
|
+
{
|
|
508
|
+
"data-slot": "attachment-group",
|
|
469
509
|
className: cn(
|
|
470
|
-
"flex
|
|
510
|
+
"flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 scrollbar-none gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start",
|
|
471
511
|
className
|
|
472
512
|
),
|
|
473
513
|
...props
|
|
474
514
|
}
|
|
475
515
|
);
|
|
476
516
|
}
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
/* @__PURE__ */ jsx(DialogDescription, { children: description })
|
|
489
|
-
] }),
|
|
490
|
-
/* @__PURE__ */ jsx(
|
|
491
|
-
DialogContent,
|
|
492
|
-
{
|
|
493
|
-
className: cn(
|
|
494
|
-
"top-1/3 translate-y-0 overflow-hidden rounded-none p-0",
|
|
495
|
-
className
|
|
496
|
-
),
|
|
497
|
-
showCloseButton,
|
|
498
|
-
children
|
|
517
|
+
var badgeVariants = cva(
|
|
518
|
+
"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-none border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
519
|
+
{
|
|
520
|
+
variants: {
|
|
521
|
+
variant: {
|
|
522
|
+
default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
|
|
523
|
+
secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
|
|
524
|
+
destructive: "bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",
|
|
525
|
+
outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",
|
|
526
|
+
ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
|
|
527
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
499
528
|
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
529
|
+
},
|
|
530
|
+
defaultVariants: {
|
|
531
|
+
variant: "default"
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
);
|
|
535
|
+
function Badge({
|
|
504
536
|
className,
|
|
537
|
+
variant = "default",
|
|
538
|
+
asChild = false,
|
|
505
539
|
...props
|
|
506
540
|
}) {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
}
|
|
518
|
-
),
|
|
519
|
-
/* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
520
|
-
] }) });
|
|
541
|
+
const Comp = asChild ? Slot.Root : "span";
|
|
542
|
+
return /* @__PURE__ */ jsx(
|
|
543
|
+
Comp,
|
|
544
|
+
{
|
|
545
|
+
"data-slot": "badge",
|
|
546
|
+
"data-variant": variant,
|
|
547
|
+
className: cn(badgeVariants({ variant }), className),
|
|
548
|
+
...props
|
|
549
|
+
}
|
|
550
|
+
);
|
|
521
551
|
}
|
|
522
|
-
function
|
|
523
|
-
className,
|
|
524
|
-
...props
|
|
525
|
-
}) {
|
|
552
|
+
function BubbleGroup({ className, ...props }) {
|
|
526
553
|
return /* @__PURE__ */ jsx(
|
|
527
|
-
|
|
554
|
+
"div",
|
|
528
555
|
{
|
|
529
|
-
"data-slot": "
|
|
530
|
-
className: cn(
|
|
531
|
-
"no-scrollbar max-h-72 scroll-py-0 overflow-x-hidden overflow-y-auto outline-none",
|
|
532
|
-
className
|
|
533
|
-
),
|
|
556
|
+
"data-slot": "bubble-group",
|
|
557
|
+
className: cn("flex min-w-0 flex-col gap-2", className),
|
|
534
558
|
...props
|
|
535
559
|
}
|
|
536
560
|
);
|
|
537
561
|
}
|
|
538
|
-
|
|
562
|
+
var bubbleVariants = cva(
|
|
563
|
+
"group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full",
|
|
564
|
+
{
|
|
565
|
+
variants: {
|
|
566
|
+
variant: {
|
|
567
|
+
default: "*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80",
|
|
568
|
+
secondary: "*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]",
|
|
569
|
+
muted: "*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]",
|
|
570
|
+
tinted: "*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]",
|
|
571
|
+
outline: "*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30",
|
|
572
|
+
ghost: "border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50",
|
|
573
|
+
destructive: "*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30"
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
defaultVariants: {
|
|
577
|
+
variant: "default"
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
);
|
|
581
|
+
function Bubble({
|
|
582
|
+
variant = "default",
|
|
583
|
+
align = "start",
|
|
539
584
|
className,
|
|
540
585
|
...props
|
|
541
586
|
}) {
|
|
542
587
|
return /* @__PURE__ */ jsx(
|
|
543
|
-
|
|
588
|
+
"div",
|
|
544
589
|
{
|
|
545
|
-
"data-slot": "
|
|
546
|
-
|
|
590
|
+
"data-slot": "bubble",
|
|
591
|
+
"data-variant": variant,
|
|
592
|
+
"data-align": align,
|
|
593
|
+
className: cn(bubbleVariants({ variant }), className),
|
|
547
594
|
...props
|
|
548
595
|
}
|
|
549
596
|
);
|
|
550
597
|
}
|
|
551
|
-
function
|
|
598
|
+
function BubbleContent({
|
|
599
|
+
asChild = false,
|
|
552
600
|
className,
|
|
553
601
|
...props
|
|
554
602
|
}) {
|
|
603
|
+
const Comp = asChild ? Slot.Root : "div";
|
|
555
604
|
return /* @__PURE__ */ jsx(
|
|
556
|
-
|
|
605
|
+
Comp,
|
|
557
606
|
{
|
|
558
|
-
"data-slot": "
|
|
607
|
+
"data-slot": "bubble-content",
|
|
559
608
|
className: cn(
|
|
560
|
-
"overflow-hidden text-
|
|
609
|
+
"w-fit max-w-full min-w-0 overflow-hidden rounded-none border border-transparent px-2.5 py-2 text-xs leading-relaxed wrap-break-word group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-1 [button,a]:focus-visible:ring-ring/50",
|
|
561
610
|
className
|
|
562
611
|
),
|
|
563
612
|
...props
|
|
564
613
|
}
|
|
565
614
|
);
|
|
566
615
|
}
|
|
567
|
-
|
|
616
|
+
var bubbleReactionsVariants = cva(
|
|
617
|
+
"absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-none bg-muted px-1.5 py-0.5 text-xs ring-2 ring-card has-[button]:p-0",
|
|
618
|
+
{
|
|
619
|
+
variants: {
|
|
620
|
+
side: {
|
|
621
|
+
top: "top-0 -translate-y-3/4",
|
|
622
|
+
bottom: "bottom-0 translate-y-3/4"
|
|
623
|
+
},
|
|
624
|
+
align: {
|
|
625
|
+
start: "left-3",
|
|
626
|
+
end: "right-3"
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
defaultVariants: {
|
|
630
|
+
side: "bottom",
|
|
631
|
+
align: "end"
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
);
|
|
635
|
+
function BubbleReactions({
|
|
636
|
+
side = "bottom",
|
|
637
|
+
align = "end",
|
|
568
638
|
className,
|
|
569
639
|
...props
|
|
570
640
|
}) {
|
|
571
641
|
return /* @__PURE__ */ jsx(
|
|
572
|
-
|
|
642
|
+
"div",
|
|
573
643
|
{
|
|
574
|
-
"data-slot": "
|
|
575
|
-
|
|
644
|
+
"data-slot": "bubble-reactions",
|
|
645
|
+
"data-align": align,
|
|
646
|
+
"data-side": side,
|
|
647
|
+
className: cn(bubbleReactionsVariants({ side, align }), className),
|
|
576
648
|
...props
|
|
577
649
|
}
|
|
578
650
|
);
|
|
579
651
|
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
652
|
+
var buttonGroupVariants = cva(
|
|
653
|
+
"group/button-group flex w-fit items-stretch rounded-none *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-none [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
654
|
+
{
|
|
655
|
+
variants: {
|
|
656
|
+
orientation: {
|
|
657
|
+
horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
|
|
658
|
+
vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
defaultVariants: {
|
|
662
|
+
orientation: "horizontal"
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
);
|
|
666
|
+
function ButtonGroup({
|
|
667
|
+
className,
|
|
668
|
+
orientation,
|
|
669
|
+
...props
|
|
670
|
+
}) {
|
|
671
|
+
return /* @__PURE__ */ jsx(
|
|
672
|
+
"div",
|
|
673
|
+
{
|
|
674
|
+
role: "group",
|
|
675
|
+
"data-slot": "button-group",
|
|
676
|
+
"data-orientation": orientation,
|
|
677
|
+
className: cn(buttonGroupVariants({ orientation }), className),
|
|
678
|
+
...props
|
|
679
|
+
}
|
|
680
|
+
);
|
|
681
|
+
}
|
|
682
|
+
function ButtonGroupText({
|
|
683
|
+
className,
|
|
684
|
+
asChild = false,
|
|
685
|
+
...props
|
|
686
|
+
}) {
|
|
687
|
+
const Comp = asChild ? Slot.Root : "div";
|
|
688
|
+
return /* @__PURE__ */ jsx(
|
|
689
|
+
Comp,
|
|
690
|
+
{
|
|
691
|
+
className: cn(
|
|
692
|
+
"flex items-center gap-2 rounded-none border bg-muted px-2.5 text-xs font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
693
|
+
className
|
|
694
|
+
),
|
|
695
|
+
...props
|
|
696
|
+
}
|
|
697
|
+
);
|
|
698
|
+
}
|
|
699
|
+
function ButtonGroupSeparator({
|
|
700
|
+
className,
|
|
701
|
+
orientation = "vertical",
|
|
702
|
+
...props
|
|
703
|
+
}) {
|
|
704
|
+
return /* @__PURE__ */ jsx(
|
|
705
|
+
Separator,
|
|
706
|
+
{
|
|
707
|
+
"data-slot": "button-group-separator",
|
|
708
|
+
orientation,
|
|
709
|
+
className: cn(
|
|
710
|
+
"relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto",
|
|
711
|
+
className
|
|
712
|
+
),
|
|
713
|
+
...props
|
|
714
|
+
}
|
|
715
|
+
);
|
|
716
|
+
}
|
|
717
|
+
function Calendar({
|
|
718
|
+
className,
|
|
719
|
+
classNames,
|
|
720
|
+
showOutsideDays = true,
|
|
721
|
+
captionLayout = "label",
|
|
722
|
+
buttonVariant = "ghost",
|
|
723
|
+
locale,
|
|
724
|
+
formatters,
|
|
725
|
+
components,
|
|
726
|
+
...props
|
|
727
|
+
}) {
|
|
728
|
+
const defaultClassNames = getDefaultClassNames();
|
|
729
|
+
return /* @__PURE__ */ jsx(
|
|
730
|
+
DayPicker,
|
|
731
|
+
{
|
|
732
|
+
showOutsideDays,
|
|
733
|
+
className: cn(
|
|
734
|
+
"group/calendar bg-background p-2 [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",
|
|
735
|
+
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
736
|
+
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
737
|
+
className
|
|
738
|
+
),
|
|
739
|
+
captionLayout,
|
|
740
|
+
locale,
|
|
741
|
+
formatters: {
|
|
742
|
+
formatMonthDropdown: (date) => date.toLocaleString(locale?.code, { month: "short" }),
|
|
743
|
+
...formatters
|
|
744
|
+
},
|
|
745
|
+
classNames: {
|
|
746
|
+
root: cn("w-fit", defaultClassNames.root),
|
|
747
|
+
months: cn(
|
|
748
|
+
"relative flex flex-col gap-4 md:flex-row",
|
|
749
|
+
defaultClassNames.months
|
|
750
|
+
),
|
|
751
|
+
month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
|
|
752
|
+
nav: cn(
|
|
753
|
+
"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
|
|
754
|
+
defaultClassNames.nav
|
|
755
|
+
),
|
|
756
|
+
button_previous: cn(
|
|
757
|
+
buttonVariants({ variant: buttonVariant }),
|
|
758
|
+
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
|
|
759
|
+
defaultClassNames.button_previous
|
|
760
|
+
),
|
|
761
|
+
button_next: cn(
|
|
762
|
+
buttonVariants({ variant: buttonVariant }),
|
|
763
|
+
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
|
|
764
|
+
defaultClassNames.button_next
|
|
765
|
+
),
|
|
766
|
+
month_caption: cn(
|
|
767
|
+
"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
|
|
768
|
+
defaultClassNames.month_caption
|
|
769
|
+
),
|
|
770
|
+
dropdowns: cn(
|
|
771
|
+
"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",
|
|
772
|
+
defaultClassNames.dropdowns
|
|
773
|
+
),
|
|
774
|
+
dropdown_root: cn(
|
|
775
|
+
"relative rounded-(--cell-radius)",
|
|
776
|
+
defaultClassNames.dropdown_root
|
|
777
|
+
),
|
|
778
|
+
dropdown: cn(
|
|
779
|
+
"absolute inset-0 bg-popover opacity-0",
|
|
780
|
+
defaultClassNames.dropdown
|
|
781
|
+
),
|
|
782
|
+
caption_label: cn(
|
|
783
|
+
"font-medium select-none",
|
|
784
|
+
captionLayout === "label" ? "text-sm" : "flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
|
|
785
|
+
defaultClassNames.caption_label
|
|
786
|
+
),
|
|
787
|
+
month_grid: cn("w-full border-collapse", defaultClassNames.month_grid),
|
|
788
|
+
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
789
|
+
weekday: cn(
|
|
790
|
+
"flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",
|
|
791
|
+
defaultClassNames.weekday
|
|
792
|
+
),
|
|
793
|
+
week: cn("mt-2 flex w-full", defaultClassNames.week),
|
|
794
|
+
week_number_header: cn(
|
|
795
|
+
"w-(--cell-size) select-none",
|
|
796
|
+
defaultClassNames.week_number_header
|
|
797
|
+
),
|
|
798
|
+
week_number: cn(
|
|
799
|
+
"text-[0.8rem] text-muted-foreground select-none",
|
|
800
|
+
defaultClassNames.week_number
|
|
801
|
+
),
|
|
802
|
+
day: cn(
|
|
803
|
+
"group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",
|
|
804
|
+
props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",
|
|
805
|
+
defaultClassNames.day
|
|
806
|
+
),
|
|
807
|
+
range_start: cn(
|
|
808
|
+
"relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",
|
|
809
|
+
defaultClassNames.range_start
|
|
810
|
+
),
|
|
811
|
+
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
812
|
+
range_end: cn(
|
|
813
|
+
"relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",
|
|
814
|
+
defaultClassNames.range_end
|
|
815
|
+
),
|
|
816
|
+
today: cn(
|
|
817
|
+
"rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",
|
|
818
|
+
defaultClassNames.today
|
|
819
|
+
),
|
|
820
|
+
outside: cn(
|
|
821
|
+
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
822
|
+
defaultClassNames.outside
|
|
823
|
+
),
|
|
824
|
+
disabled: cn(
|
|
825
|
+
"text-muted-foreground opacity-50",
|
|
826
|
+
defaultClassNames.disabled
|
|
827
|
+
),
|
|
828
|
+
hidden: cn("invisible", defaultClassNames.hidden),
|
|
829
|
+
...classNames
|
|
830
|
+
},
|
|
831
|
+
components: {
|
|
832
|
+
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
833
|
+
return /* @__PURE__ */ jsx(
|
|
834
|
+
"div",
|
|
835
|
+
{
|
|
836
|
+
"data-slot": "calendar",
|
|
837
|
+
ref: rootRef,
|
|
838
|
+
className: cn(className2),
|
|
839
|
+
...props2
|
|
840
|
+
}
|
|
841
|
+
);
|
|
842
|
+
},
|
|
843
|
+
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
844
|
+
if (orientation === "left") {
|
|
845
|
+
return /* @__PURE__ */ jsx(ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
|
|
846
|
+
}
|
|
847
|
+
if (orientation === "right") {
|
|
848
|
+
return /* @__PURE__ */ jsx(ChevronRightIcon, { className: cn("size-4", className2), ...props2 });
|
|
849
|
+
}
|
|
850
|
+
return /* @__PURE__ */ jsx(ChevronDownIcon, { className: cn("size-4", className2), ...props2 });
|
|
851
|
+
},
|
|
852
|
+
DayButton: ({ ...props2 }) => /* @__PURE__ */ jsx(CalendarDayButton, { locale, ...props2 }),
|
|
853
|
+
WeekNumber: ({ children, ...props2 }) => {
|
|
854
|
+
return /* @__PURE__ */ jsx("td", { ...props2, children: /* @__PURE__ */ jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
855
|
+
},
|
|
856
|
+
...components
|
|
857
|
+
},
|
|
858
|
+
...props
|
|
859
|
+
}
|
|
860
|
+
);
|
|
861
|
+
}
|
|
862
|
+
function CalendarDayButton({
|
|
863
|
+
className,
|
|
864
|
+
day,
|
|
865
|
+
modifiers,
|
|
866
|
+
locale,
|
|
867
|
+
...props
|
|
868
|
+
}) {
|
|
869
|
+
const defaultClassNames = getDefaultClassNames();
|
|
870
|
+
const ref = React8.useRef(null);
|
|
871
|
+
React8.useEffect(() => {
|
|
872
|
+
if (modifiers.focused) ref.current?.focus();
|
|
873
|
+
}, [modifiers.focused]);
|
|
874
|
+
return /* @__PURE__ */ jsx(
|
|
875
|
+
Button,
|
|
876
|
+
{
|
|
877
|
+
ref,
|
|
878
|
+
variant: "ghost",
|
|
879
|
+
size: "icon",
|
|
880
|
+
"data-day": day.date.toLocaleDateString(locale?.code),
|
|
881
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
882
|
+
"data-range-start": modifiers.range_start,
|
|
883
|
+
"data-range-end": modifiers.range_end,
|
|
884
|
+
"data-range-middle": modifiers.range_middle,
|
|
885
|
+
className: cn(
|
|
886
|
+
"relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",
|
|
887
|
+
defaultClassNames.day,
|
|
888
|
+
className
|
|
889
|
+
),
|
|
890
|
+
...props
|
|
891
|
+
}
|
|
892
|
+
);
|
|
893
|
+
}
|
|
894
|
+
var CarouselContext = React8.createContext(null);
|
|
895
|
+
function useCarousel() {
|
|
896
|
+
const context = React8.useContext(CarouselContext);
|
|
897
|
+
if (!context) {
|
|
898
|
+
throw new Error("useCarousel must be used within a <Carousel />");
|
|
899
|
+
}
|
|
900
|
+
return context;
|
|
901
|
+
}
|
|
902
|
+
function Carousel({
|
|
903
|
+
orientation = "horizontal",
|
|
904
|
+
opts,
|
|
905
|
+
setApi,
|
|
906
|
+
plugins,
|
|
907
|
+
className,
|
|
908
|
+
children,
|
|
909
|
+
...props
|
|
910
|
+
}) {
|
|
911
|
+
const [carouselRef, api] = useEmblaCarousel(
|
|
912
|
+
{
|
|
913
|
+
...opts,
|
|
914
|
+
axis: orientation === "horizontal" ? "x" : "y"
|
|
915
|
+
},
|
|
916
|
+
plugins
|
|
917
|
+
);
|
|
918
|
+
const [canScrollPrev, setCanScrollPrev] = React8.useState(false);
|
|
919
|
+
const [canScrollNext, setCanScrollNext] = React8.useState(false);
|
|
920
|
+
const onSelect = React8.useCallback((api2) => {
|
|
921
|
+
if (!api2) return;
|
|
922
|
+
setCanScrollPrev(api2.canScrollPrev());
|
|
923
|
+
setCanScrollNext(api2.canScrollNext());
|
|
924
|
+
}, []);
|
|
925
|
+
const scrollPrev = React8.useCallback(() => {
|
|
926
|
+
api?.scrollPrev();
|
|
927
|
+
}, [api]);
|
|
928
|
+
const scrollNext = React8.useCallback(() => {
|
|
929
|
+
api?.scrollNext();
|
|
930
|
+
}, [api]);
|
|
931
|
+
const handleKeyDown = React8.useCallback(
|
|
932
|
+
(event) => {
|
|
933
|
+
if (event.key === "ArrowLeft") {
|
|
934
|
+
event.preventDefault();
|
|
935
|
+
scrollPrev();
|
|
936
|
+
} else if (event.key === "ArrowRight") {
|
|
937
|
+
event.preventDefault();
|
|
938
|
+
scrollNext();
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
[scrollPrev, scrollNext]
|
|
942
|
+
);
|
|
943
|
+
React8.useEffect(() => {
|
|
944
|
+
if (!api || !setApi) return;
|
|
945
|
+
setApi(api);
|
|
946
|
+
}, [api, setApi]);
|
|
947
|
+
React8.useEffect(() => {
|
|
948
|
+
if (!api) return;
|
|
949
|
+
onSelect(api);
|
|
950
|
+
api.on("reInit", onSelect);
|
|
951
|
+
api.on("select", onSelect);
|
|
952
|
+
return () => {
|
|
953
|
+
api?.off("select", onSelect);
|
|
954
|
+
};
|
|
955
|
+
}, [api, onSelect]);
|
|
956
|
+
return /* @__PURE__ */ jsx(
|
|
957
|
+
CarouselContext.Provider,
|
|
958
|
+
{
|
|
959
|
+
value: {
|
|
960
|
+
carouselRef,
|
|
961
|
+
api,
|
|
962
|
+
opts,
|
|
963
|
+
orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
|
|
964
|
+
scrollPrev,
|
|
965
|
+
scrollNext,
|
|
966
|
+
canScrollPrev,
|
|
967
|
+
canScrollNext
|
|
968
|
+
},
|
|
969
|
+
children: /* @__PURE__ */ jsx(
|
|
970
|
+
"div",
|
|
971
|
+
{
|
|
972
|
+
onKeyDownCapture: handleKeyDown,
|
|
973
|
+
className: cn("relative", className),
|
|
974
|
+
role: "region",
|
|
975
|
+
"aria-roledescription": "carousel",
|
|
976
|
+
"data-slot": "carousel",
|
|
977
|
+
...props,
|
|
978
|
+
children
|
|
979
|
+
}
|
|
980
|
+
)
|
|
981
|
+
}
|
|
982
|
+
);
|
|
983
|
+
}
|
|
984
|
+
function CarouselContent({ className, ...props }) {
|
|
985
|
+
const { carouselRef, orientation } = useCarousel();
|
|
986
|
+
return /* @__PURE__ */ jsx(
|
|
987
|
+
"div",
|
|
988
|
+
{
|
|
989
|
+
ref: carouselRef,
|
|
990
|
+
className: "overflow-hidden",
|
|
991
|
+
"data-slot": "carousel-content",
|
|
992
|
+
children: /* @__PURE__ */ jsx(
|
|
993
|
+
"div",
|
|
994
|
+
{
|
|
995
|
+
className: cn(
|
|
996
|
+
"flex",
|
|
997
|
+
orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
|
|
998
|
+
className
|
|
999
|
+
),
|
|
1000
|
+
...props
|
|
1001
|
+
}
|
|
1002
|
+
)
|
|
1003
|
+
}
|
|
1004
|
+
);
|
|
1005
|
+
}
|
|
1006
|
+
function CarouselItem({ className, ...props }) {
|
|
1007
|
+
const { orientation } = useCarousel();
|
|
1008
|
+
return /* @__PURE__ */ jsx(
|
|
1009
|
+
"div",
|
|
1010
|
+
{
|
|
1011
|
+
role: "group",
|
|
1012
|
+
"aria-roledescription": "slide",
|
|
1013
|
+
"data-slot": "carousel-item",
|
|
1014
|
+
className: cn(
|
|
1015
|
+
"min-w-0 shrink-0 grow-0 basis-full",
|
|
1016
|
+
orientation === "horizontal" ? "pl-4" : "pt-4",
|
|
1017
|
+
className
|
|
1018
|
+
),
|
|
1019
|
+
...props
|
|
1020
|
+
}
|
|
1021
|
+
);
|
|
1022
|
+
}
|
|
1023
|
+
function CarouselPrevious({
|
|
1024
|
+
className,
|
|
1025
|
+
variant = "outline",
|
|
1026
|
+
size = "icon-sm",
|
|
1027
|
+
...props
|
|
1028
|
+
}) {
|
|
1029
|
+
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
1030
|
+
return /* @__PURE__ */ jsxs(
|
|
1031
|
+
Button,
|
|
1032
|
+
{
|
|
1033
|
+
"data-slot": "carousel-previous",
|
|
1034
|
+
variant,
|
|
1035
|
+
size,
|
|
1036
|
+
className: cn(
|
|
1037
|
+
"absolute touch-manipulation",
|
|
1038
|
+
orientation === "horizontal" ? "inset-y-0 -left-12 my-auto" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
1039
|
+
className
|
|
1040
|
+
),
|
|
1041
|
+
disabled: !canScrollPrev,
|
|
1042
|
+
onClick: scrollPrev,
|
|
1043
|
+
...props,
|
|
1044
|
+
children: [
|
|
1045
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, {}),
|
|
1046
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
|
|
1047
|
+
]
|
|
1048
|
+
}
|
|
1049
|
+
);
|
|
1050
|
+
}
|
|
1051
|
+
function CarouselNext({
|
|
1052
|
+
className,
|
|
1053
|
+
variant = "outline",
|
|
1054
|
+
size = "icon-sm",
|
|
1055
|
+
...props
|
|
1056
|
+
}) {
|
|
1057
|
+
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1058
|
+
return /* @__PURE__ */ jsxs(
|
|
1059
|
+
Button,
|
|
1060
|
+
{
|
|
1061
|
+
"data-slot": "carousel-next",
|
|
1062
|
+
variant,
|
|
1063
|
+
size,
|
|
1064
|
+
className: cn(
|
|
1065
|
+
"absolute touch-manipulation",
|
|
1066
|
+
orientation === "horizontal" ? "inset-y-0 -right-12 my-auto" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
1067
|
+
className
|
|
1068
|
+
),
|
|
1069
|
+
disabled: !canScrollNext,
|
|
1070
|
+
onClick: scrollNext,
|
|
1071
|
+
...props,
|
|
1072
|
+
children: [
|
|
1073
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, {}),
|
|
1074
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
|
|
1075
|
+
]
|
|
1076
|
+
}
|
|
1077
|
+
);
|
|
1078
|
+
}
|
|
1079
|
+
var THEMES = { light: "", dark: ".dark" };
|
|
1080
|
+
var INITIAL_DIMENSION = { width: 320, height: 200 };
|
|
1081
|
+
var ChartContext = React8.createContext(null);
|
|
1082
|
+
function useChart() {
|
|
1083
|
+
const context = React8.useContext(ChartContext);
|
|
1084
|
+
if (!context) {
|
|
1085
|
+
throw new Error("useChart must be used within a <ChartContainer />");
|
|
1086
|
+
}
|
|
1087
|
+
return context;
|
|
1088
|
+
}
|
|
1089
|
+
function ChartContainer({
|
|
1090
|
+
id,
|
|
1091
|
+
className,
|
|
1092
|
+
children,
|
|
1093
|
+
config,
|
|
1094
|
+
initialDimension = INITIAL_DIMENSION,
|
|
1095
|
+
...props
|
|
1096
|
+
}) {
|
|
1097
|
+
const uniqueId = React8.useId();
|
|
1098
|
+
const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}`;
|
|
1099
|
+
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
1100
|
+
"div",
|
|
1101
|
+
{
|
|
1102
|
+
"data-slot": "chart",
|
|
1103
|
+
"data-chart": chartId,
|
|
1104
|
+
className: cn(
|
|
1105
|
+
"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
|
|
1106
|
+
className
|
|
1107
|
+
),
|
|
1108
|
+
...props,
|
|
1109
|
+
children: [
|
|
1110
|
+
/* @__PURE__ */ jsx(ChartStyle, { id: chartId, config }),
|
|
1111
|
+
/* @__PURE__ */ jsx(
|
|
1112
|
+
RechartsPrimitive.ResponsiveContainer,
|
|
1113
|
+
{
|
|
1114
|
+
initialDimension,
|
|
1115
|
+
children
|
|
1116
|
+
}
|
|
1117
|
+
)
|
|
1118
|
+
]
|
|
1119
|
+
}
|
|
1120
|
+
) });
|
|
1121
|
+
}
|
|
1122
|
+
var ChartStyle = ({ id, config }) => {
|
|
1123
|
+
const colorConfig = Object.entries(config).filter(
|
|
1124
|
+
([, config2]) => config2.theme ?? config2.color
|
|
1125
|
+
);
|
|
1126
|
+
if (!colorConfig.length) {
|
|
1127
|
+
return null;
|
|
1128
|
+
}
|
|
1129
|
+
return /* @__PURE__ */ jsx(
|
|
1130
|
+
"style",
|
|
1131
|
+
{
|
|
1132
|
+
dangerouslySetInnerHTML: {
|
|
1133
|
+
__html: Object.entries(THEMES).map(
|
|
1134
|
+
([theme, prefix]) => `
|
|
1135
|
+
${prefix} [data-chart=${id}] {
|
|
1136
|
+
${colorConfig.map(([key, itemConfig]) => {
|
|
1137
|
+
const color = itemConfig.theme?.[theme] ?? itemConfig.color;
|
|
1138
|
+
return color ? ` --color-${key}: ${color};` : null;
|
|
1139
|
+
}).join("\n")}
|
|
1140
|
+
}
|
|
1141
|
+
`
|
|
1142
|
+
).join("\n")
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
);
|
|
1146
|
+
};
|
|
1147
|
+
var ChartTooltip = RechartsPrimitive.Tooltip;
|
|
1148
|
+
function ChartTooltipContent({
|
|
1149
|
+
active,
|
|
1150
|
+
payload,
|
|
1151
|
+
className,
|
|
1152
|
+
indicator = "dot",
|
|
1153
|
+
hideLabel = false,
|
|
1154
|
+
hideIndicator = false,
|
|
1155
|
+
label,
|
|
1156
|
+
labelFormatter,
|
|
1157
|
+
labelClassName,
|
|
1158
|
+
formatter,
|
|
1159
|
+
color,
|
|
1160
|
+
nameKey,
|
|
1161
|
+
labelKey
|
|
1162
|
+
}) {
|
|
1163
|
+
const { config } = useChart();
|
|
1164
|
+
const tooltipLabel = React8.useMemo(() => {
|
|
1165
|
+
if (hideLabel || !payload?.length) {
|
|
1166
|
+
return null;
|
|
1167
|
+
}
|
|
1168
|
+
const [item] = payload;
|
|
1169
|
+
const key = `${labelKey ?? item?.dataKey ?? item?.name ?? "value"}`;
|
|
1170
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1171
|
+
const value = !labelKey && typeof label === "string" ? config[label]?.label ?? label : itemConfig?.label;
|
|
1172
|
+
if (labelFormatter) {
|
|
1173
|
+
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
1174
|
+
}
|
|
1175
|
+
if (!value) {
|
|
1176
|
+
return null;
|
|
1177
|
+
}
|
|
1178
|
+
return /* @__PURE__ */ jsx("div", { className: cn("font-medium", labelClassName), children: value });
|
|
1179
|
+
}, [
|
|
1180
|
+
label,
|
|
1181
|
+
labelFormatter,
|
|
1182
|
+
payload,
|
|
1183
|
+
hideLabel,
|
|
1184
|
+
labelClassName,
|
|
1185
|
+
config,
|
|
1186
|
+
labelKey
|
|
1187
|
+
]);
|
|
1188
|
+
if (!active || !payload?.length) {
|
|
1189
|
+
return null;
|
|
1190
|
+
}
|
|
1191
|
+
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
1192
|
+
return /* @__PURE__ */ jsxs(
|
|
1193
|
+
"div",
|
|
1194
|
+
{
|
|
1195
|
+
className: cn(
|
|
1196
|
+
"grid min-w-32 items-start gap-1.5 rounded-none border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
|
|
1197
|
+
className
|
|
1198
|
+
),
|
|
1199
|
+
children: [
|
|
1200
|
+
!nestLabel ? tooltipLabel : null,
|
|
1201
|
+
/* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
1202
|
+
const key = `${nameKey ?? item.name ?? item.dataKey ?? "value"}`;
|
|
1203
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1204
|
+
const indicatorColor = color ?? item.payload?.fill ?? item.color;
|
|
1205
|
+
return /* @__PURE__ */ jsx(
|
|
1206
|
+
"div",
|
|
1207
|
+
{
|
|
1208
|
+
className: cn(
|
|
1209
|
+
"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
|
|
1210
|
+
indicator === "dot" && "items-center"
|
|
1211
|
+
),
|
|
1212
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1213
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx(
|
|
1214
|
+
"div",
|
|
1215
|
+
{
|
|
1216
|
+
className: cn(
|
|
1217
|
+
"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
|
|
1218
|
+
{
|
|
1219
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
1220
|
+
"w-1": indicator === "line",
|
|
1221
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
1222
|
+
"my-0.5": nestLabel && indicator === "dashed"
|
|
1223
|
+
}
|
|
1224
|
+
),
|
|
1225
|
+
style: {
|
|
1226
|
+
"--color-bg": indicatorColor,
|
|
1227
|
+
"--color-border": indicatorColor
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
),
|
|
1231
|
+
/* @__PURE__ */ jsxs(
|
|
1232
|
+
"div",
|
|
1233
|
+
{
|
|
1234
|
+
className: cn(
|
|
1235
|
+
"flex flex-1 justify-between leading-none",
|
|
1236
|
+
nestLabel ? "items-end" : "items-center"
|
|
1237
|
+
),
|
|
1238
|
+
children: [
|
|
1239
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-1.5", children: [
|
|
1240
|
+
nestLabel ? tooltipLabel : null,
|
|
1241
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: itemConfig?.label ?? item.name })
|
|
1242
|
+
] }),
|
|
1243
|
+
item.value != null && /* @__PURE__ */ jsx("span", { className: "font-mono font-medium text-foreground tabular-nums", children: typeof item.value === "number" ? item.value.toLocaleString() : String(item.value) })
|
|
1244
|
+
]
|
|
1245
|
+
}
|
|
1246
|
+
)
|
|
1247
|
+
] })
|
|
1248
|
+
},
|
|
1249
|
+
index
|
|
1250
|
+
);
|
|
1251
|
+
}) })
|
|
1252
|
+
]
|
|
1253
|
+
}
|
|
1254
|
+
);
|
|
1255
|
+
}
|
|
1256
|
+
var ChartLegend = RechartsPrimitive.Legend;
|
|
1257
|
+
function ChartLegendContent({
|
|
1258
|
+
className,
|
|
1259
|
+
hideIcon = false,
|
|
1260
|
+
payload,
|
|
1261
|
+
verticalAlign = "bottom",
|
|
1262
|
+
nameKey
|
|
1263
|
+
}) {
|
|
1264
|
+
const { config } = useChart();
|
|
1265
|
+
if (!payload?.length) {
|
|
1266
|
+
return null;
|
|
1267
|
+
}
|
|
1268
|
+
return /* @__PURE__ */ jsx(
|
|
1269
|
+
"div",
|
|
1270
|
+
{
|
|
1271
|
+
className: cn(
|
|
1272
|
+
"flex items-center justify-center gap-4",
|
|
1273
|
+
verticalAlign === "top" ? "pb-3" : "pt-3",
|
|
1274
|
+
className
|
|
1275
|
+
),
|
|
1276
|
+
children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
1277
|
+
const key = `${nameKey ?? item.dataKey ?? "value"}`;
|
|
1278
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
1279
|
+
return /* @__PURE__ */ jsxs(
|
|
1280
|
+
"div",
|
|
1281
|
+
{
|
|
1282
|
+
className: cn(
|
|
1283
|
+
"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
|
|
1284
|
+
),
|
|
1285
|
+
children: [
|
|
1286
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsx(
|
|
1287
|
+
"div",
|
|
1288
|
+
{
|
|
1289
|
+
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
1290
|
+
style: {
|
|
1291
|
+
backgroundColor: item.color
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
),
|
|
1295
|
+
itemConfig?.label
|
|
1296
|
+
]
|
|
1297
|
+
},
|
|
1298
|
+
index
|
|
1299
|
+
);
|
|
1300
|
+
})
|
|
1301
|
+
}
|
|
1302
|
+
);
|
|
1303
|
+
}
|
|
1304
|
+
function getPayloadConfigFromPayload(config, payload, key) {
|
|
1305
|
+
if (typeof payload !== "object" || payload === null) {
|
|
1306
|
+
return void 0;
|
|
1307
|
+
}
|
|
1308
|
+
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
|
1309
|
+
let configLabelKey = key;
|
|
1310
|
+
if (key in payload && typeof payload[key] === "string") {
|
|
1311
|
+
configLabelKey = payload[key];
|
|
1312
|
+
} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
|
|
1313
|
+
configLabelKey = payloadPayload[key];
|
|
1314
|
+
}
|
|
1315
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
1316
|
+
}
|
|
1317
|
+
function Checkbox({
|
|
1318
|
+
className,
|
|
1319
|
+
...props
|
|
1320
|
+
}) {
|
|
1321
|
+
return /* @__PURE__ */ jsx(
|
|
1322
|
+
Checkbox$1.Root,
|
|
1323
|
+
{
|
|
1324
|
+
"data-slot": "checkbox",
|
|
1325
|
+
className: cn(
|
|
1326
|
+
"peer relative flex size-4 shrink-0 items-center justify-center rounded-none border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
|
|
1327
|
+
className
|
|
1328
|
+
),
|
|
1329
|
+
...props,
|
|
1330
|
+
children: /* @__PURE__ */ jsx(
|
|
1331
|
+
Checkbox$1.Indicator,
|
|
1332
|
+
{
|
|
1333
|
+
"data-slot": "checkbox-indicator",
|
|
1334
|
+
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
1335
|
+
children: /* @__PURE__ */ jsx(
|
|
1336
|
+
CheckIcon,
|
|
1337
|
+
{}
|
|
1338
|
+
)
|
|
1339
|
+
}
|
|
1340
|
+
)
|
|
1341
|
+
}
|
|
1342
|
+
);
|
|
1343
|
+
}
|
|
1344
|
+
function Collapsible({
|
|
1345
|
+
...props
|
|
1346
|
+
}) {
|
|
1347
|
+
return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
|
|
1348
|
+
}
|
|
1349
|
+
function CollapsibleTrigger({
|
|
1350
|
+
...props
|
|
1351
|
+
}) {
|
|
1352
|
+
return /* @__PURE__ */ jsx(
|
|
1353
|
+
Collapsible$1.CollapsibleTrigger,
|
|
1354
|
+
{
|
|
1355
|
+
"data-slot": "collapsible-trigger",
|
|
1356
|
+
...props
|
|
1357
|
+
}
|
|
1358
|
+
);
|
|
1359
|
+
}
|
|
1360
|
+
function CollapsibleContent({
|
|
1361
|
+
...props
|
|
1362
|
+
}) {
|
|
1363
|
+
return /* @__PURE__ */ jsx(
|
|
1364
|
+
Collapsible$1.CollapsibleContent,
|
|
1365
|
+
{
|
|
1366
|
+
"data-slot": "collapsible-content",
|
|
1367
|
+
...props
|
|
1368
|
+
}
|
|
1369
|
+
);
|
|
1370
|
+
}
|
|
1371
|
+
var Combobox = Combobox$1.Root;
|
|
1372
|
+
function ComboboxValue({ ...props }) {
|
|
1373
|
+
return /* @__PURE__ */ jsx(Combobox$1.Value, { "data-slot": "combobox-value", ...props });
|
|
1374
|
+
}
|
|
1375
|
+
function ComboboxTrigger({
|
|
1376
|
+
className,
|
|
1377
|
+
children,
|
|
1378
|
+
...props
|
|
1379
|
+
}) {
|
|
1380
|
+
return /* @__PURE__ */ jsxs(
|
|
1381
|
+
Combobox$1.Trigger,
|
|
1382
|
+
{
|
|
1383
|
+
"data-slot": "combobox-trigger",
|
|
1384
|
+
className: cn("[&_svg:not([class*='size-'])]:size-4", className),
|
|
1385
|
+
...props,
|
|
1386
|
+
children: [
|
|
1387
|
+
children,
|
|
1388
|
+
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
1389
|
+
]
|
|
1390
|
+
}
|
|
1391
|
+
);
|
|
1392
|
+
}
|
|
1393
|
+
function ComboboxClear({ className, ...props }) {
|
|
1394
|
+
return /* @__PURE__ */ jsx(
|
|
1395
|
+
Combobox$1.Clear,
|
|
1396
|
+
{
|
|
1397
|
+
"data-slot": "combobox-clear",
|
|
1398
|
+
render: /* @__PURE__ */ jsx(InputGroupButton, { variant: "ghost", size: "icon-xs" }),
|
|
1399
|
+
className: cn(className),
|
|
1400
|
+
...props,
|
|
1401
|
+
children: /* @__PURE__ */ jsx(XIcon, { className: "pointer-events-none" })
|
|
1402
|
+
}
|
|
1403
|
+
);
|
|
1404
|
+
}
|
|
1405
|
+
function ComboboxInput({
|
|
1406
|
+
className,
|
|
1407
|
+
children,
|
|
1408
|
+
disabled = false,
|
|
1409
|
+
showTrigger = true,
|
|
1410
|
+
showClear = false,
|
|
1411
|
+
...props
|
|
1412
|
+
}) {
|
|
1413
|
+
return /* @__PURE__ */ jsxs(InputGroup, { className: cn("w-auto", className), children: [
|
|
1414
|
+
/* @__PURE__ */ jsx(
|
|
1415
|
+
Combobox$1.Input,
|
|
1416
|
+
{
|
|
1417
|
+
render: /* @__PURE__ */ jsx(InputGroupInput, { disabled }),
|
|
1418
|
+
...props
|
|
1419
|
+
}
|
|
1420
|
+
),
|
|
1421
|
+
/* @__PURE__ */ jsxs(InputGroupAddon, { align: "inline-end", children: [
|
|
1422
|
+
showTrigger && /* @__PURE__ */ jsx(
|
|
1423
|
+
InputGroupButton,
|
|
1424
|
+
{
|
|
1425
|
+
size: "icon-xs",
|
|
1426
|
+
variant: "ghost",
|
|
1427
|
+
asChild: true,
|
|
1428
|
+
"data-slot": "input-group-button",
|
|
1429
|
+
className: "group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent",
|
|
1430
|
+
disabled,
|
|
1431
|
+
children: /* @__PURE__ */ jsx(ComboboxTrigger, {})
|
|
1432
|
+
}
|
|
1433
|
+
),
|
|
1434
|
+
showClear && /* @__PURE__ */ jsx(ComboboxClear, { disabled })
|
|
1435
|
+
] }),
|
|
1436
|
+
children
|
|
1437
|
+
] });
|
|
1438
|
+
}
|
|
1439
|
+
function ComboboxContent({
|
|
1440
|
+
className,
|
|
1441
|
+
side = "bottom",
|
|
1442
|
+
sideOffset = 6,
|
|
1443
|
+
align = "start",
|
|
1444
|
+
alignOffset = 0,
|
|
1445
|
+
anchor,
|
|
1446
|
+
...props
|
|
1447
|
+
}) {
|
|
1448
|
+
return /* @__PURE__ */ jsx(Combobox$1.Portal, { children: /* @__PURE__ */ jsx(
|
|
1449
|
+
Combobox$1.Positioner,
|
|
1450
|
+
{
|
|
1451
|
+
side,
|
|
1452
|
+
sideOffset,
|
|
1453
|
+
align,
|
|
1454
|
+
alignOffset,
|
|
1455
|
+
anchor,
|
|
1456
|
+
className: "isolate z-50",
|
|
1457
|
+
children: /* @__PURE__ */ jsx(
|
|
1458
|
+
Combobox$1.Popup,
|
|
1459
|
+
{
|
|
1460
|
+
"data-slot": "combobox-content",
|
|
1461
|
+
"data-chips": !!anchor,
|
|
1462
|
+
className: cn("group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-none bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
1463
|
+
...props
|
|
1464
|
+
}
|
|
1465
|
+
)
|
|
1466
|
+
}
|
|
1467
|
+
) });
|
|
1468
|
+
}
|
|
1469
|
+
function ComboboxList({ className, ...props }) {
|
|
1470
|
+
return /* @__PURE__ */ jsx(
|
|
1471
|
+
Combobox$1.List,
|
|
1472
|
+
{
|
|
1473
|
+
"data-slot": "combobox-list",
|
|
1474
|
+
className: cn(
|
|
1475
|
+
"no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain data-empty:p-0",
|
|
1476
|
+
className
|
|
1477
|
+
),
|
|
1478
|
+
...props
|
|
1479
|
+
}
|
|
1480
|
+
);
|
|
1481
|
+
}
|
|
1482
|
+
function ComboboxItem({
|
|
1483
|
+
className,
|
|
1484
|
+
children,
|
|
1485
|
+
...props
|
|
1486
|
+
}) {
|
|
1487
|
+
return /* @__PURE__ */ jsxs(
|
|
1488
|
+
Combobox$1.Item,
|
|
1489
|
+
{
|
|
1490
|
+
"data-slot": "combobox-item",
|
|
1491
|
+
className: cn(
|
|
1492
|
+
"relative flex w-full cursor-default items-center gap-2 rounded-none py-2 pr-8 pl-2 text-xs outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1493
|
+
className
|
|
1494
|
+
),
|
|
1495
|
+
...props,
|
|
1496
|
+
children: [
|
|
1497
|
+
children,
|
|
1498
|
+
/* @__PURE__ */ jsx(
|
|
1499
|
+
Combobox$1.ItemIndicator,
|
|
1500
|
+
{
|
|
1501
|
+
render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
|
|
1502
|
+
children: /* @__PURE__ */ jsx(CheckIcon, { className: "pointer-events-none" })
|
|
1503
|
+
}
|
|
1504
|
+
)
|
|
1505
|
+
]
|
|
1506
|
+
}
|
|
1507
|
+
);
|
|
1508
|
+
}
|
|
1509
|
+
function ComboboxGroup({ className, ...props }) {
|
|
1510
|
+
return /* @__PURE__ */ jsx(
|
|
1511
|
+
Combobox$1.Group,
|
|
1512
|
+
{
|
|
1513
|
+
"data-slot": "combobox-group",
|
|
1514
|
+
className: cn(className),
|
|
1515
|
+
...props
|
|
1516
|
+
}
|
|
1517
|
+
);
|
|
1518
|
+
}
|
|
1519
|
+
function ComboboxLabel({
|
|
1520
|
+
className,
|
|
1521
|
+
...props
|
|
1522
|
+
}) {
|
|
1523
|
+
return /* @__PURE__ */ jsx(
|
|
1524
|
+
Combobox$1.GroupLabel,
|
|
1525
|
+
{
|
|
1526
|
+
"data-slot": "combobox-label",
|
|
1527
|
+
className: cn("px-2 py-2 text-xs text-muted-foreground", className),
|
|
1528
|
+
...props
|
|
1529
|
+
}
|
|
1530
|
+
);
|
|
1531
|
+
}
|
|
1532
|
+
function ComboboxCollection({ ...props }) {
|
|
1533
|
+
return /* @__PURE__ */ jsx(Combobox$1.Collection, { "data-slot": "combobox-collection", ...props });
|
|
1534
|
+
}
|
|
1535
|
+
function ComboboxEmpty({ className, ...props }) {
|
|
1536
|
+
return /* @__PURE__ */ jsx(
|
|
1537
|
+
Combobox$1.Empty,
|
|
1538
|
+
{
|
|
1539
|
+
"data-slot": "combobox-empty",
|
|
1540
|
+
className: cn(
|
|
1541
|
+
"hidden w-full justify-center py-2 text-center text-xs text-muted-foreground group-data-empty/combobox-content:flex",
|
|
1542
|
+
className
|
|
1543
|
+
),
|
|
1544
|
+
...props
|
|
1545
|
+
}
|
|
1546
|
+
);
|
|
1547
|
+
}
|
|
1548
|
+
function ComboboxSeparator({
|
|
1549
|
+
className,
|
|
1550
|
+
...props
|
|
1551
|
+
}) {
|
|
1552
|
+
return /* @__PURE__ */ jsx(
|
|
1553
|
+
Combobox$1.Separator,
|
|
1554
|
+
{
|
|
1555
|
+
"data-slot": "combobox-separator",
|
|
1556
|
+
className: cn("-mx-1 h-px bg-border", className),
|
|
1557
|
+
...props
|
|
1558
|
+
}
|
|
1559
|
+
);
|
|
1560
|
+
}
|
|
1561
|
+
function ComboboxChips({
|
|
1562
|
+
className,
|
|
1563
|
+
...props
|
|
1564
|
+
}) {
|
|
1565
|
+
return /* @__PURE__ */ jsx(
|
|
1566
|
+
Combobox$1.Chips,
|
|
1567
|
+
{
|
|
1568
|
+
"data-slot": "combobox-chips",
|
|
1569
|
+
className: cn(
|
|
1570
|
+
"flex min-h-8 flex-wrap items-center gap-1 rounded-none border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-xs transition-colors focus-within:border-ring focus-within:ring-1 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-1 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40",
|
|
1571
|
+
className
|
|
1572
|
+
),
|
|
1573
|
+
...props
|
|
1574
|
+
}
|
|
1575
|
+
);
|
|
1576
|
+
}
|
|
1577
|
+
function ComboboxChip({
|
|
1578
|
+
className,
|
|
1579
|
+
children,
|
|
1580
|
+
showRemove = true,
|
|
1581
|
+
...props
|
|
1582
|
+
}) {
|
|
1583
|
+
return /* @__PURE__ */ jsxs(
|
|
1584
|
+
Combobox$1.Chip,
|
|
1585
|
+
{
|
|
1586
|
+
"data-slot": "combobox-chip",
|
|
1587
|
+
className: cn(
|
|
1588
|
+
"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-none bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0",
|
|
1589
|
+
className
|
|
1590
|
+
),
|
|
1591
|
+
...props,
|
|
1592
|
+
children: [
|
|
1593
|
+
children,
|
|
1594
|
+
showRemove && /* @__PURE__ */ jsx(
|
|
1595
|
+
Combobox$1.ChipRemove,
|
|
1596
|
+
{
|
|
1597
|
+
render: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon-xs" }),
|
|
1598
|
+
className: "-ml-1 opacity-50 hover:opacity-100",
|
|
1599
|
+
"data-slot": "combobox-chip-remove",
|
|
1600
|
+
children: /* @__PURE__ */ jsx(XIcon, { className: "pointer-events-none" })
|
|
1601
|
+
}
|
|
1602
|
+
)
|
|
1603
|
+
]
|
|
1604
|
+
}
|
|
1605
|
+
);
|
|
1606
|
+
}
|
|
1607
|
+
function ComboboxChipsInput({
|
|
1608
|
+
className,
|
|
1609
|
+
...props
|
|
1610
|
+
}) {
|
|
1611
|
+
return /* @__PURE__ */ jsx(
|
|
1612
|
+
Combobox$1.Input,
|
|
1613
|
+
{
|
|
1614
|
+
"data-slot": "combobox-chip-input",
|
|
1615
|
+
className: cn("min-w-16 flex-1 outline-none", className),
|
|
1616
|
+
...props
|
|
1617
|
+
}
|
|
1618
|
+
);
|
|
1619
|
+
}
|
|
1620
|
+
function useComboboxAnchor() {
|
|
1621
|
+
return React8.useRef(null);
|
|
1622
|
+
}
|
|
1623
|
+
function Command({
|
|
1624
|
+
className,
|
|
1625
|
+
...props
|
|
1626
|
+
}) {
|
|
1627
|
+
return /* @__PURE__ */ jsx(
|
|
1628
|
+
Command$1,
|
|
1629
|
+
{
|
|
1630
|
+
"data-slot": "command",
|
|
1631
|
+
className: cn(
|
|
1632
|
+
"flex size-full flex-col overflow-hidden rounded-none bg-popover text-popover-foreground",
|
|
1633
|
+
className
|
|
1634
|
+
),
|
|
1635
|
+
...props
|
|
1636
|
+
}
|
|
1637
|
+
);
|
|
1638
|
+
}
|
|
1639
|
+
function CommandDialog({
|
|
1640
|
+
title = "Command Palette",
|
|
1641
|
+
description = "Search for a command to run...",
|
|
1642
|
+
children,
|
|
1643
|
+
className,
|
|
1644
|
+
showCloseButton = false,
|
|
1645
|
+
...props
|
|
1646
|
+
}) {
|
|
1647
|
+
return /* @__PURE__ */ jsxs(Dialog, { ...props, children: [
|
|
1648
|
+
/* @__PURE__ */ jsxs(DialogHeader, { className: "sr-only", children: [
|
|
1649
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: title }),
|
|
1650
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: description })
|
|
1651
|
+
] }),
|
|
1652
|
+
/* @__PURE__ */ jsx(
|
|
1653
|
+
DialogContent,
|
|
1654
|
+
{
|
|
1655
|
+
className: cn(
|
|
1656
|
+
"top-1/3 translate-y-0 overflow-hidden rounded-none p-0",
|
|
1657
|
+
className
|
|
1658
|
+
),
|
|
1659
|
+
showCloseButton,
|
|
1660
|
+
children
|
|
1661
|
+
}
|
|
1662
|
+
)
|
|
1663
|
+
] });
|
|
1664
|
+
}
|
|
1665
|
+
function CommandInput({
|
|
1666
|
+
className,
|
|
1667
|
+
...props
|
|
1668
|
+
}) {
|
|
1669
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "command-input-wrapper", className: "border-b pb-0", children: /* @__PURE__ */ jsxs(InputGroup, { className: "h-8 border-none border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [
|
|
1670
|
+
/* @__PURE__ */ jsx(
|
|
1671
|
+
Command$1.Input,
|
|
1672
|
+
{
|
|
1673
|
+
"data-slot": "command-input",
|
|
1674
|
+
className: cn(
|
|
1675
|
+
"w-full text-xs outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
1676
|
+
className
|
|
1677
|
+
),
|
|
1678
|
+
...props
|
|
1679
|
+
}
|
|
1680
|
+
),
|
|
1681
|
+
/* @__PURE__ */ jsx(InputGroupAddon, { children: /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
1682
|
+
] }) });
|
|
1683
|
+
}
|
|
1684
|
+
function CommandList({
|
|
1685
|
+
className,
|
|
1686
|
+
...props
|
|
1687
|
+
}) {
|
|
1688
|
+
return /* @__PURE__ */ jsx(
|
|
1689
|
+
Command$1.List,
|
|
1690
|
+
{
|
|
1691
|
+
"data-slot": "command-list",
|
|
1692
|
+
className: cn(
|
|
1693
|
+
"no-scrollbar max-h-72 scroll-py-0 overflow-x-hidden overflow-y-auto outline-none",
|
|
1694
|
+
className
|
|
1695
|
+
),
|
|
1696
|
+
...props
|
|
1697
|
+
}
|
|
1698
|
+
);
|
|
1699
|
+
}
|
|
1700
|
+
function CommandEmpty({
|
|
1701
|
+
className,
|
|
1702
|
+
...props
|
|
1703
|
+
}) {
|
|
1704
|
+
return /* @__PURE__ */ jsx(
|
|
1705
|
+
Command$1.Empty,
|
|
1706
|
+
{
|
|
1707
|
+
"data-slot": "command-empty",
|
|
1708
|
+
className: cn("py-6 text-center text-xs", className),
|
|
1709
|
+
...props
|
|
1710
|
+
}
|
|
1711
|
+
);
|
|
1712
|
+
}
|
|
1713
|
+
function CommandGroup({
|
|
1714
|
+
className,
|
|
1715
|
+
...props
|
|
1716
|
+
}) {
|
|
1717
|
+
return /* @__PURE__ */ jsx(
|
|
1718
|
+
Command$1.Group,
|
|
1719
|
+
{
|
|
1720
|
+
"data-slot": "command-group",
|
|
1721
|
+
className: cn(
|
|
1722
|
+
"overflow-hidden text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
1723
|
+
className
|
|
1724
|
+
),
|
|
1725
|
+
...props
|
|
1726
|
+
}
|
|
1727
|
+
);
|
|
1728
|
+
}
|
|
1729
|
+
function CommandSeparator({
|
|
1730
|
+
className,
|
|
1731
|
+
...props
|
|
1732
|
+
}) {
|
|
1733
|
+
return /* @__PURE__ */ jsx(
|
|
1734
|
+
Command$1.Separator,
|
|
1735
|
+
{
|
|
1736
|
+
"data-slot": "command-separator",
|
|
1737
|
+
className: cn("-mx-1 h-px bg-border", className),
|
|
1738
|
+
...props
|
|
1739
|
+
}
|
|
1740
|
+
);
|
|
1741
|
+
}
|
|
1742
|
+
function CommandItem({
|
|
1743
|
+
className,
|
|
1744
|
+
children,
|
|
1745
|
+
...props
|
|
1746
|
+
}) {
|
|
1747
|
+
return /* @__PURE__ */ jsxs(
|
|
1748
|
+
Command$1.Item,
|
|
1749
|
+
{
|
|
1750
|
+
"data-slot": "command-item",
|
|
1751
|
+
className: cn(
|
|
1752
|
+
"group/command-item relative flex cursor-default items-center gap-2 rounded-none px-2 py-2 text-xs outline-hidden select-none in-data-[slot=dialog-content]:rounded-none! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",
|
|
1753
|
+
className
|
|
1754
|
+
),
|
|
1755
|
+
...props,
|
|
1756
|
+
children: [
|
|
1757
|
+
children,
|
|
1758
|
+
/* @__PURE__ */ jsx(CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
1759
|
+
]
|
|
1760
|
+
}
|
|
1761
|
+
);
|
|
1762
|
+
}
|
|
1763
|
+
function CommandShortcut({
|
|
1764
|
+
className,
|
|
1765
|
+
...props
|
|
1766
|
+
}) {
|
|
1767
|
+
return /* @__PURE__ */ jsx(
|
|
1768
|
+
"span",
|
|
1769
|
+
{
|
|
1770
|
+
"data-slot": "command-shortcut",
|
|
1771
|
+
className: cn(
|
|
1772
|
+
"ml-auto text-xs tracking-widest text-muted-foreground group-data-selected/command-item:text-foreground",
|
|
1773
|
+
className
|
|
1774
|
+
),
|
|
1775
|
+
...props
|
|
1776
|
+
}
|
|
1777
|
+
);
|
|
1778
|
+
}
|
|
1779
|
+
function DirectionProvider({
|
|
1780
|
+
dir,
|
|
1781
|
+
direction,
|
|
1782
|
+
children
|
|
1783
|
+
}) {
|
|
1784
|
+
return /* @__PURE__ */ jsx(Direction.DirectionProvider, { dir: direction ?? dir, children });
|
|
1785
|
+
}
|
|
1786
|
+
var useDirection = Direction.useDirection;
|
|
1787
|
+
function Drawer({
|
|
1788
|
+
...props
|
|
1789
|
+
}) {
|
|
1790
|
+
return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
|
|
1791
|
+
}
|
|
1792
|
+
function DrawerTrigger({
|
|
1793
|
+
...props
|
|
1794
|
+
}) {
|
|
1795
|
+
return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
1796
|
+
}
|
|
1797
|
+
function DrawerPortal({
|
|
1798
|
+
...props
|
|
1799
|
+
}) {
|
|
1800
|
+
return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
|
|
1801
|
+
}
|
|
1802
|
+
function DrawerClose({
|
|
1803
|
+
...props
|
|
1804
|
+
}) {
|
|
1805
|
+
return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
|
|
1806
|
+
}
|
|
1807
|
+
function DrawerOverlay({
|
|
1808
|
+
className,
|
|
1809
|
+
...props
|
|
1810
|
+
}) {
|
|
1811
|
+
return /* @__PURE__ */ jsx(
|
|
1812
|
+
Drawer$1.Overlay,
|
|
1813
|
+
{
|
|
1814
|
+
"data-slot": "drawer-overlay",
|
|
1815
|
+
className: cn(
|
|
1816
|
+
"fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
1817
|
+
className
|
|
1818
|
+
),
|
|
1819
|
+
...props
|
|
1820
|
+
}
|
|
1821
|
+
);
|
|
1822
|
+
}
|
|
1823
|
+
function DrawerContent({
|
|
1824
|
+
className,
|
|
1825
|
+
children,
|
|
1826
|
+
...props
|
|
1827
|
+
}) {
|
|
1828
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
1829
|
+
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
1830
|
+
/* @__PURE__ */ jsxs(
|
|
1831
|
+
Drawer$1.Content,
|
|
1832
|
+
{
|
|
1833
|
+
"data-slot": "drawer-content",
|
|
1834
|
+
className: cn(
|
|
1835
|
+
"group/drawer-content fixed z-50 flex h-auto flex-col bg-popover text-xs/relaxed text-popover-foreground data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-none data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-none data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-none data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-none data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
1836
|
+
className
|
|
1837
|
+
),
|
|
1838
|
+
...props,
|
|
1839
|
+
children: [
|
|
1840
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-none bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
1841
|
+
children
|
|
1842
|
+
]
|
|
1843
|
+
}
|
|
1844
|
+
)
|
|
1845
|
+
] });
|
|
1846
|
+
}
|
|
1847
|
+
function DrawerHeader({ className, ...props }) {
|
|
1848
|
+
return /* @__PURE__ */ jsx(
|
|
1849
|
+
"div",
|
|
1850
|
+
{
|
|
1851
|
+
"data-slot": "drawer-header",
|
|
1852
|
+
className: cn(
|
|
1853
|
+
"flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left",
|
|
1854
|
+
className
|
|
1855
|
+
),
|
|
1856
|
+
...props
|
|
1857
|
+
}
|
|
1858
|
+
);
|
|
1859
|
+
}
|
|
1860
|
+
function DrawerFooter({ className, ...props }) {
|
|
1861
|
+
return /* @__PURE__ */ jsx(
|
|
1862
|
+
"div",
|
|
1863
|
+
{
|
|
1864
|
+
"data-slot": "drawer-footer",
|
|
1865
|
+
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
1866
|
+
...props
|
|
1867
|
+
}
|
|
1868
|
+
);
|
|
1869
|
+
}
|
|
1870
|
+
function DrawerTitle({
|
|
1871
|
+
className,
|
|
1872
|
+
...props
|
|
1873
|
+
}) {
|
|
1874
|
+
return /* @__PURE__ */ jsx(
|
|
1875
|
+
Drawer$1.Title,
|
|
1876
|
+
{
|
|
1877
|
+
"data-slot": "drawer-title",
|
|
1878
|
+
className: cn(
|
|
1879
|
+
"font-heading text-sm font-medium text-foreground",
|
|
1880
|
+
className
|
|
1881
|
+
),
|
|
1882
|
+
...props
|
|
1883
|
+
}
|
|
1884
|
+
);
|
|
1885
|
+
}
|
|
1886
|
+
function DrawerDescription({
|
|
1887
|
+
className,
|
|
1888
|
+
...props
|
|
1889
|
+
}) {
|
|
1890
|
+
return /* @__PURE__ */ jsx(
|
|
1891
|
+
Drawer$1.Description,
|
|
1892
|
+
{
|
|
1893
|
+
"data-slot": "drawer-description",
|
|
1894
|
+
className: cn("text-xs/relaxed text-muted-foreground", className),
|
|
1895
|
+
...props
|
|
1896
|
+
}
|
|
1897
|
+
);
|
|
1898
|
+
}
|
|
1899
|
+
function Empty({ className, ...props }) {
|
|
1900
|
+
return /* @__PURE__ */ jsx(
|
|
1901
|
+
"div",
|
|
1902
|
+
{
|
|
1903
|
+
"data-slot": "empty",
|
|
1904
|
+
className: cn(
|
|
1905
|
+
"flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-none border-dashed p-6 text-center text-balance",
|
|
1906
|
+
className
|
|
1907
|
+
),
|
|
1908
|
+
...props
|
|
1909
|
+
}
|
|
1910
|
+
);
|
|
1911
|
+
}
|
|
1912
|
+
function EmptyHeader({ className, ...props }) {
|
|
1913
|
+
return /* @__PURE__ */ jsx(
|
|
1914
|
+
"div",
|
|
1915
|
+
{
|
|
1916
|
+
"data-slot": "empty-header",
|
|
1917
|
+
className: cn("flex max-w-sm flex-col items-center gap-2", className),
|
|
1918
|
+
...props
|
|
1919
|
+
}
|
|
1920
|
+
);
|
|
1921
|
+
}
|
|
1922
|
+
var emptyMediaVariants = cva(
|
|
1923
|
+
"mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1924
|
+
{
|
|
1925
|
+
variants: {
|
|
1926
|
+
variant: {
|
|
1927
|
+
default: "bg-transparent",
|
|
1928
|
+
icon: "flex size-8 shrink-0 items-center justify-center rounded-none bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"
|
|
1929
|
+
}
|
|
1930
|
+
},
|
|
1931
|
+
defaultVariants: {
|
|
1932
|
+
variant: "default"
|
|
1933
|
+
}
|
|
1934
|
+
}
|
|
1935
|
+
);
|
|
1936
|
+
function EmptyMedia({
|
|
1937
|
+
className,
|
|
1938
|
+
variant = "default",
|
|
1939
|
+
...props
|
|
1940
|
+
}) {
|
|
1941
|
+
return /* @__PURE__ */ jsx(
|
|
1942
|
+
"div",
|
|
1943
|
+
{
|
|
1944
|
+
"data-slot": "empty-icon",
|
|
1945
|
+
"data-variant": variant,
|
|
1946
|
+
className: cn(emptyMediaVariants({ variant, className })),
|
|
1947
|
+
...props
|
|
1948
|
+
}
|
|
1949
|
+
);
|
|
1950
|
+
}
|
|
1951
|
+
function EmptyTitle({ className, ...props }) {
|
|
1952
|
+
return /* @__PURE__ */ jsx(
|
|
1953
|
+
"div",
|
|
1954
|
+
{
|
|
1955
|
+
"data-slot": "empty-title",
|
|
1956
|
+
className: cn("font-heading text-sm font-medium", className),
|
|
1957
|
+
...props
|
|
1958
|
+
}
|
|
1959
|
+
);
|
|
1960
|
+
}
|
|
1961
|
+
function EmptyDescription({ className, ...props }) {
|
|
1962
|
+
return /* @__PURE__ */ jsx(
|
|
1963
|
+
"div",
|
|
1964
|
+
{
|
|
1965
|
+
"data-slot": "empty-description",
|
|
1966
|
+
className: cn(
|
|
1967
|
+
"text-xs/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
1968
|
+
className
|
|
1969
|
+
),
|
|
1970
|
+
...props
|
|
1971
|
+
}
|
|
1972
|
+
);
|
|
1973
|
+
}
|
|
1974
|
+
function EmptyContent({ className, ...props }) {
|
|
1975
|
+
return /* @__PURE__ */ jsx(
|
|
1976
|
+
"div",
|
|
1977
|
+
{
|
|
1978
|
+
"data-slot": "empty-content",
|
|
1979
|
+
className: cn(
|
|
1980
|
+
"flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-xs text-balance",
|
|
1981
|
+
className
|
|
1982
|
+
),
|
|
1983
|
+
...props
|
|
1984
|
+
}
|
|
1985
|
+
);
|
|
1986
|
+
}
|
|
1987
|
+
function FieldSet({ className, ...props }) {
|
|
1988
|
+
return /* @__PURE__ */ jsx(
|
|
1989
|
+
"fieldset",
|
|
1990
|
+
{
|
|
1991
|
+
"data-slot": "field-set",
|
|
1992
|
+
className: cn(
|
|
1993
|
+
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
1994
|
+
className
|
|
1995
|
+
),
|
|
1996
|
+
...props
|
|
1997
|
+
}
|
|
1998
|
+
);
|
|
1999
|
+
}
|
|
2000
|
+
function FieldLegend({
|
|
2001
|
+
className,
|
|
2002
|
+
variant = "legend",
|
|
2003
|
+
...props
|
|
2004
|
+
}) {
|
|
2005
|
+
return /* @__PURE__ */ jsx(
|
|
2006
|
+
"legend",
|
|
2007
|
+
{
|
|
2008
|
+
"data-slot": "field-legend",
|
|
2009
|
+
"data-variant": variant,
|
|
2010
|
+
className: cn(
|
|
2011
|
+
"mb-2.5 font-medium data-[variant=label]:text-xs data-[variant=legend]:text-sm",
|
|
2012
|
+
className
|
|
2013
|
+
),
|
|
2014
|
+
...props
|
|
2015
|
+
}
|
|
2016
|
+
);
|
|
2017
|
+
}
|
|
2018
|
+
function FieldGroup({ className, ...props }) {
|
|
2019
|
+
return /* @__PURE__ */ jsx(
|
|
2020
|
+
"div",
|
|
2021
|
+
{
|
|
2022
|
+
"data-slot": "field-group",
|
|
2023
|
+
className: cn(
|
|
2024
|
+
"group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
|
|
2025
|
+
className
|
|
2026
|
+
),
|
|
2027
|
+
...props
|
|
2028
|
+
}
|
|
2029
|
+
);
|
|
2030
|
+
}
|
|
2031
|
+
var fieldVariants = cva(
|
|
2032
|
+
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
2033
|
+
{
|
|
2034
|
+
variants: {
|
|
2035
|
+
orientation: {
|
|
2036
|
+
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
2037
|
+
horizontal: "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
2038
|
+
responsive: "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
2039
|
+
}
|
|
2040
|
+
},
|
|
2041
|
+
defaultVariants: {
|
|
2042
|
+
orientation: "vertical"
|
|
2043
|
+
}
|
|
2044
|
+
}
|
|
2045
|
+
);
|
|
2046
|
+
function Field({
|
|
2047
|
+
className,
|
|
2048
|
+
orientation = "vertical",
|
|
2049
|
+
...props
|
|
2050
|
+
}) {
|
|
2051
|
+
return /* @__PURE__ */ jsx(
|
|
2052
|
+
"div",
|
|
2053
|
+
{
|
|
2054
|
+
role: "group",
|
|
2055
|
+
"data-slot": "field",
|
|
2056
|
+
"data-orientation": orientation,
|
|
2057
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
2058
|
+
...props
|
|
2059
|
+
}
|
|
2060
|
+
);
|
|
2061
|
+
}
|
|
2062
|
+
function FieldContent({ className, ...props }) {
|
|
2063
|
+
return /* @__PURE__ */ jsx(
|
|
2064
|
+
"div",
|
|
2065
|
+
{
|
|
2066
|
+
"data-slot": "field-content",
|
|
2067
|
+
className: cn(
|
|
2068
|
+
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
2069
|
+
className
|
|
2070
|
+
),
|
|
2071
|
+
...props
|
|
2072
|
+
}
|
|
2073
|
+
);
|
|
2074
|
+
}
|
|
2075
|
+
function FieldLabel({
|
|
2076
|
+
className,
|
|
2077
|
+
...props
|
|
2078
|
+
}) {
|
|
2079
|
+
return /* @__PURE__ */ jsx(
|
|
2080
|
+
Label,
|
|
2081
|
+
{
|
|
2082
|
+
"data-slot": "field-label",
|
|
2083
|
+
className: cn(
|
|
2084
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-none has-[>[data-slot=field]]:border *:data-[slot=field]:p-2 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10",
|
|
2085
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
2086
|
+
className
|
|
2087
|
+
),
|
|
2088
|
+
...props
|
|
2089
|
+
}
|
|
2090
|
+
);
|
|
2091
|
+
}
|
|
2092
|
+
function FieldTitle({ className, ...props }) {
|
|
2093
|
+
return /* @__PURE__ */ jsx(
|
|
2094
|
+
"div",
|
|
2095
|
+
{
|
|
2096
|
+
"data-slot": "field-label",
|
|
2097
|
+
className: cn(
|
|
2098
|
+
"flex w-fit items-center gap-2 text-xs/relaxed group-data-[disabled=true]/field:opacity-50",
|
|
2099
|
+
className
|
|
2100
|
+
),
|
|
2101
|
+
...props
|
|
2102
|
+
}
|
|
2103
|
+
);
|
|
2104
|
+
}
|
|
2105
|
+
function FieldDescription({ className, ...props }) {
|
|
2106
|
+
return /* @__PURE__ */ jsx(
|
|
2107
|
+
"p",
|
|
2108
|
+
{
|
|
2109
|
+
"data-slot": "field-description",
|
|
2110
|
+
className: cn(
|
|
2111
|
+
"text-left text-xs/relaxed leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
|
|
2112
|
+
"last:mt-0 nth-last-2:-mt-1",
|
|
2113
|
+
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
2114
|
+
className
|
|
2115
|
+
),
|
|
2116
|
+
...props
|
|
2117
|
+
}
|
|
2118
|
+
);
|
|
2119
|
+
}
|
|
2120
|
+
function FieldSeparator({
|
|
2121
|
+
children,
|
|
2122
|
+
className,
|
|
2123
|
+
...props
|
|
2124
|
+
}) {
|
|
585
2125
|
return /* @__PURE__ */ jsxs(
|
|
586
|
-
|
|
2126
|
+
"div",
|
|
2127
|
+
{
|
|
2128
|
+
"data-slot": "field-separator",
|
|
2129
|
+
"data-content": !!children,
|
|
2130
|
+
className: cn(
|
|
2131
|
+
"relative -my-2 h-5 text-xs group-data-[variant=outline]/field-group:-mb-2",
|
|
2132
|
+
className
|
|
2133
|
+
),
|
|
2134
|
+
...props,
|
|
2135
|
+
children: [
|
|
2136
|
+
/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
2137
|
+
children && /* @__PURE__ */ jsx(
|
|
2138
|
+
"span",
|
|
2139
|
+
{
|
|
2140
|
+
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
2141
|
+
"data-slot": "field-separator-content",
|
|
2142
|
+
children
|
|
2143
|
+
}
|
|
2144
|
+
)
|
|
2145
|
+
]
|
|
2146
|
+
}
|
|
2147
|
+
);
|
|
2148
|
+
}
|
|
2149
|
+
function FieldError({
|
|
2150
|
+
className,
|
|
2151
|
+
children,
|
|
2152
|
+
errors,
|
|
2153
|
+
...props
|
|
2154
|
+
}) {
|
|
2155
|
+
const content = useMemo(() => {
|
|
2156
|
+
if (children) {
|
|
2157
|
+
return children;
|
|
2158
|
+
}
|
|
2159
|
+
if (!errors?.length) {
|
|
2160
|
+
return null;
|
|
2161
|
+
}
|
|
2162
|
+
const uniqueErrors = [
|
|
2163
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
2164
|
+
];
|
|
2165
|
+
if (uniqueErrors?.length == 1) {
|
|
2166
|
+
return uniqueErrors[0]?.message;
|
|
2167
|
+
}
|
|
2168
|
+
return /* @__PURE__ */ jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
2169
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx("li", { children: error.message }, index)
|
|
2170
|
+
) });
|
|
2171
|
+
}, [children, errors]);
|
|
2172
|
+
if (!content) {
|
|
2173
|
+
return null;
|
|
2174
|
+
}
|
|
2175
|
+
return /* @__PURE__ */ jsx(
|
|
2176
|
+
"div",
|
|
2177
|
+
{
|
|
2178
|
+
role: "alert",
|
|
2179
|
+
"data-slot": "field-error",
|
|
2180
|
+
className: cn("text-xs font-normal text-destructive", className),
|
|
2181
|
+
...props,
|
|
2182
|
+
children: content
|
|
2183
|
+
}
|
|
2184
|
+
);
|
|
2185
|
+
}
|
|
2186
|
+
function HoverCard({
|
|
2187
|
+
...props
|
|
2188
|
+
}) {
|
|
2189
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Root, { "data-slot": "hover-card", ...props });
|
|
2190
|
+
}
|
|
2191
|
+
function HoverCardTrigger({
|
|
2192
|
+
...props
|
|
2193
|
+
}) {
|
|
2194
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
2195
|
+
}
|
|
2196
|
+
function HoverCardContent({
|
|
2197
|
+
className,
|
|
2198
|
+
align = "center",
|
|
2199
|
+
sideOffset = 4,
|
|
2200
|
+
...props
|
|
2201
|
+
}) {
|
|
2202
|
+
return /* @__PURE__ */ jsx(HoverCard$1.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
|
|
2203
|
+
HoverCard$1.Content,
|
|
2204
|
+
{
|
|
2205
|
+
"data-slot": "hover-card-content",
|
|
2206
|
+
align,
|
|
2207
|
+
sideOffset,
|
|
2208
|
+
className: cn(
|
|
2209
|
+
"z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-none bg-popover p-2.5 text-xs/relaxed text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2210
|
+
className
|
|
2211
|
+
),
|
|
2212
|
+
...props
|
|
2213
|
+
}
|
|
2214
|
+
) });
|
|
2215
|
+
}
|
|
2216
|
+
function InputOTP({
|
|
2217
|
+
className,
|
|
2218
|
+
containerClassName,
|
|
2219
|
+
...props
|
|
2220
|
+
}) {
|
|
2221
|
+
return /* @__PURE__ */ jsx(
|
|
2222
|
+
OTPInput,
|
|
2223
|
+
{
|
|
2224
|
+
"data-slot": "input-otp",
|
|
2225
|
+
containerClassName: cn(
|
|
2226
|
+
"cn-input-otp flex items-center has-disabled:opacity-50",
|
|
2227
|
+
containerClassName
|
|
2228
|
+
),
|
|
2229
|
+
spellCheck: false,
|
|
2230
|
+
className: cn("disabled:cursor-not-allowed", className),
|
|
2231
|
+
...props
|
|
2232
|
+
}
|
|
2233
|
+
);
|
|
2234
|
+
}
|
|
2235
|
+
function InputOTPGroup({ className, ...props }) {
|
|
2236
|
+
return /* @__PURE__ */ jsx(
|
|
2237
|
+
"div",
|
|
2238
|
+
{
|
|
2239
|
+
"data-slot": "input-otp-group",
|
|
2240
|
+
className: cn(
|
|
2241
|
+
"flex items-center rounded-none has-aria-invalid:border-destructive has-aria-invalid:ring-1 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40",
|
|
2242
|
+
className
|
|
2243
|
+
),
|
|
2244
|
+
...props
|
|
2245
|
+
}
|
|
2246
|
+
);
|
|
2247
|
+
}
|
|
2248
|
+
function InputOTPSlot({
|
|
2249
|
+
index,
|
|
2250
|
+
className,
|
|
2251
|
+
...props
|
|
2252
|
+
}) {
|
|
2253
|
+
const inputOTPContext = React8.useContext(OTPInputContext);
|
|
2254
|
+
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
2255
|
+
return /* @__PURE__ */ jsxs(
|
|
2256
|
+
"div",
|
|
2257
|
+
{
|
|
2258
|
+
"data-slot": "input-otp-slot",
|
|
2259
|
+
"data-active": isActive,
|
|
2260
|
+
className: cn(
|
|
2261
|
+
"relative flex size-8 items-center justify-center border-y border-r border-input text-xs transition-all outline-none first:rounded-none first:border-l last:rounded-none aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-1 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
|
|
2262
|
+
className
|
|
2263
|
+
),
|
|
2264
|
+
...props,
|
|
2265
|
+
children: [
|
|
2266
|
+
char,
|
|
2267
|
+
hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
|
|
2268
|
+
]
|
|
2269
|
+
}
|
|
2270
|
+
);
|
|
2271
|
+
}
|
|
2272
|
+
function InputOTPSeparator({ ...props }) {
|
|
2273
|
+
return /* @__PURE__ */ jsx(
|
|
2274
|
+
"div",
|
|
2275
|
+
{
|
|
2276
|
+
"data-slot": "input-otp-separator",
|
|
2277
|
+
className: "flex items-center [&_svg:not([class*='size-'])]:size-4",
|
|
2278
|
+
role: "separator",
|
|
2279
|
+
...props,
|
|
2280
|
+
children: /* @__PURE__ */ jsx(
|
|
2281
|
+
MinusIcon,
|
|
2282
|
+
{}
|
|
2283
|
+
)
|
|
2284
|
+
}
|
|
2285
|
+
);
|
|
2286
|
+
}
|
|
2287
|
+
function ItemGroup({ className, ...props }) {
|
|
2288
|
+
return /* @__PURE__ */ jsx(
|
|
2289
|
+
"div",
|
|
2290
|
+
{
|
|
2291
|
+
role: "list",
|
|
2292
|
+
"data-slot": "item-group",
|
|
2293
|
+
className: cn(
|
|
2294
|
+
"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
|
|
2295
|
+
className
|
|
2296
|
+
),
|
|
2297
|
+
...props
|
|
2298
|
+
}
|
|
2299
|
+
);
|
|
2300
|
+
}
|
|
2301
|
+
function ItemSeparator({
|
|
2302
|
+
className,
|
|
2303
|
+
...props
|
|
2304
|
+
}) {
|
|
2305
|
+
return /* @__PURE__ */ jsx(
|
|
2306
|
+
Separator,
|
|
2307
|
+
{
|
|
2308
|
+
"data-slot": "item-separator",
|
|
2309
|
+
orientation: "horizontal",
|
|
2310
|
+
className: cn("my-2", className),
|
|
2311
|
+
...props
|
|
2312
|
+
}
|
|
2313
|
+
);
|
|
2314
|
+
}
|
|
2315
|
+
var itemVariants = cva(
|
|
2316
|
+
"group/item flex w-full flex-wrap items-center rounded-none border text-xs transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
|
|
2317
|
+
{
|
|
2318
|
+
variants: {
|
|
2319
|
+
variant: {
|
|
2320
|
+
default: "border-transparent",
|
|
2321
|
+
outline: "border-border",
|
|
2322
|
+
muted: "border-transparent bg-muted/50"
|
|
2323
|
+
},
|
|
2324
|
+
size: {
|
|
2325
|
+
default: "gap-2.5 px-3 py-2.5",
|
|
2326
|
+
sm: "gap-2.5 px-3 py-2.5",
|
|
2327
|
+
xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"
|
|
2328
|
+
}
|
|
2329
|
+
},
|
|
2330
|
+
defaultVariants: {
|
|
2331
|
+
variant: "default",
|
|
2332
|
+
size: "default"
|
|
2333
|
+
}
|
|
2334
|
+
}
|
|
2335
|
+
);
|
|
2336
|
+
function Item({
|
|
2337
|
+
className,
|
|
2338
|
+
variant = "default",
|
|
2339
|
+
size = "default",
|
|
2340
|
+
asChild = false,
|
|
2341
|
+
...props
|
|
2342
|
+
}) {
|
|
2343
|
+
const Comp = asChild ? Slot.Root : "div";
|
|
2344
|
+
return /* @__PURE__ */ jsx(
|
|
2345
|
+
Comp,
|
|
2346
|
+
{
|
|
2347
|
+
"data-slot": "item",
|
|
2348
|
+
"data-variant": variant,
|
|
2349
|
+
"data-size": size,
|
|
2350
|
+
className: cn(itemVariants({ variant, size, className })),
|
|
2351
|
+
...props
|
|
2352
|
+
}
|
|
2353
|
+
);
|
|
2354
|
+
}
|
|
2355
|
+
var itemMediaVariants = cva(
|
|
2356
|
+
"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
|
|
2357
|
+
{
|
|
2358
|
+
variants: {
|
|
2359
|
+
variant: {
|
|
2360
|
+
default: "bg-transparent",
|
|
2361
|
+
icon: "[&_svg:not([class*='size-'])]:size-4",
|
|
2362
|
+
image: "size-10 overflow-hidden rounded-none group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover"
|
|
2363
|
+
}
|
|
2364
|
+
},
|
|
2365
|
+
defaultVariants: {
|
|
2366
|
+
variant: "default"
|
|
2367
|
+
}
|
|
2368
|
+
}
|
|
2369
|
+
);
|
|
2370
|
+
function ItemMedia({
|
|
2371
|
+
className,
|
|
2372
|
+
variant = "default",
|
|
2373
|
+
...props
|
|
2374
|
+
}) {
|
|
2375
|
+
return /* @__PURE__ */ jsx(
|
|
2376
|
+
"div",
|
|
2377
|
+
{
|
|
2378
|
+
"data-slot": "item-media",
|
|
2379
|
+
"data-variant": variant,
|
|
2380
|
+
className: cn(itemMediaVariants({ variant, className })),
|
|
2381
|
+
...props
|
|
2382
|
+
}
|
|
2383
|
+
);
|
|
2384
|
+
}
|
|
2385
|
+
function ItemContent({ className, ...props }) {
|
|
2386
|
+
return /* @__PURE__ */ jsx(
|
|
2387
|
+
"div",
|
|
2388
|
+
{
|
|
2389
|
+
"data-slot": "item-content",
|
|
2390
|
+
className: cn(
|
|
2391
|
+
"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
|
|
2392
|
+
className
|
|
2393
|
+
),
|
|
2394
|
+
...props
|
|
2395
|
+
}
|
|
2396
|
+
);
|
|
2397
|
+
}
|
|
2398
|
+
function ItemTitle({ className, ...props }) {
|
|
2399
|
+
return /* @__PURE__ */ jsx(
|
|
2400
|
+
"div",
|
|
587
2401
|
{
|
|
588
|
-
"data-slot": "
|
|
2402
|
+
"data-slot": "item-title",
|
|
589
2403
|
className: cn(
|
|
590
|
-
"
|
|
2404
|
+
"line-clamp-1 flex w-fit items-center gap-2 text-xs font-medium underline-offset-4",
|
|
591
2405
|
className
|
|
592
2406
|
),
|
|
593
|
-
...props
|
|
594
|
-
children: [
|
|
595
|
-
children,
|
|
596
|
-
/* @__PURE__ */ jsx(CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
597
|
-
]
|
|
2407
|
+
...props
|
|
598
2408
|
}
|
|
599
2409
|
);
|
|
600
2410
|
}
|
|
601
|
-
function
|
|
2411
|
+
function ItemDescription({ className, ...props }) {
|
|
2412
|
+
return /* @__PURE__ */ jsx(
|
|
2413
|
+
"p",
|
|
2414
|
+
{
|
|
2415
|
+
"data-slot": "item-description",
|
|
2416
|
+
className: cn(
|
|
2417
|
+
"line-clamp-2 text-left text-xs/relaxed font-normal text-muted-foreground group-data-[size=xs]/item:text-xs/relaxed [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
2418
|
+
className
|
|
2419
|
+
),
|
|
2420
|
+
...props
|
|
2421
|
+
}
|
|
2422
|
+
);
|
|
2423
|
+
}
|
|
2424
|
+
function ItemActions({ className, ...props }) {
|
|
2425
|
+
return /* @__PURE__ */ jsx(
|
|
2426
|
+
"div",
|
|
2427
|
+
{
|
|
2428
|
+
"data-slot": "item-actions",
|
|
2429
|
+
className: cn("flex items-center gap-2", className),
|
|
2430
|
+
...props
|
|
2431
|
+
}
|
|
2432
|
+
);
|
|
2433
|
+
}
|
|
2434
|
+
function ItemHeader({ className, ...props }) {
|
|
2435
|
+
return /* @__PURE__ */ jsx(
|
|
2436
|
+
"div",
|
|
2437
|
+
{
|
|
2438
|
+
"data-slot": "item-header",
|
|
2439
|
+
className: cn(
|
|
2440
|
+
"flex basis-full items-center justify-between gap-2",
|
|
2441
|
+
className
|
|
2442
|
+
),
|
|
2443
|
+
...props
|
|
2444
|
+
}
|
|
2445
|
+
);
|
|
2446
|
+
}
|
|
2447
|
+
function ItemFooter({ className, ...props }) {
|
|
2448
|
+
return /* @__PURE__ */ jsx(
|
|
2449
|
+
"div",
|
|
2450
|
+
{
|
|
2451
|
+
"data-slot": "item-footer",
|
|
2452
|
+
className: cn(
|
|
2453
|
+
"flex basis-full items-center justify-between gap-2",
|
|
2454
|
+
className
|
|
2455
|
+
),
|
|
2456
|
+
...props
|
|
2457
|
+
}
|
|
2458
|
+
);
|
|
2459
|
+
}
|
|
2460
|
+
function Kbd({ className, ...props }) {
|
|
2461
|
+
return /* @__PURE__ */ jsx(
|
|
2462
|
+
"kbd",
|
|
2463
|
+
{
|
|
2464
|
+
"data-slot": "kbd",
|
|
2465
|
+
className: cn(
|
|
2466
|
+
"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-none bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3",
|
|
2467
|
+
className
|
|
2468
|
+
),
|
|
2469
|
+
...props
|
|
2470
|
+
}
|
|
2471
|
+
);
|
|
2472
|
+
}
|
|
2473
|
+
function KbdGroup({ className, ...props }) {
|
|
2474
|
+
return /* @__PURE__ */ jsx(
|
|
2475
|
+
"kbd",
|
|
2476
|
+
{
|
|
2477
|
+
"data-slot": "kbd-group",
|
|
2478
|
+
className: cn("inline-flex items-center gap-1", className),
|
|
2479
|
+
...props
|
|
2480
|
+
}
|
|
2481
|
+
);
|
|
2482
|
+
}
|
|
2483
|
+
var markerVariants = cva(
|
|
2484
|
+
"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-xs text-muted-foreground [&_svg:not([class*='size-'])]:size-3.5 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground",
|
|
2485
|
+
{
|
|
2486
|
+
variants: {
|
|
2487
|
+
variant: {
|
|
2488
|
+
default: "",
|
|
2489
|
+
separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
|
|
2490
|
+
border: "border-b border-border pb-2"
|
|
2491
|
+
}
|
|
2492
|
+
}
|
|
2493
|
+
}
|
|
2494
|
+
);
|
|
2495
|
+
function Marker({
|
|
602
2496
|
className,
|
|
2497
|
+
variant = "default",
|
|
2498
|
+
asChild = false,
|
|
603
2499
|
...props
|
|
604
2500
|
}) {
|
|
2501
|
+
const Comp = asChild ? Slot.Root : "div";
|
|
2502
|
+
return /* @__PURE__ */ jsx(
|
|
2503
|
+
Comp,
|
|
2504
|
+
{
|
|
2505
|
+
"data-slot": "marker",
|
|
2506
|
+
"data-variant": variant,
|
|
2507
|
+
className: cn(markerVariants({ variant, className })),
|
|
2508
|
+
...props
|
|
2509
|
+
}
|
|
2510
|
+
);
|
|
2511
|
+
}
|
|
2512
|
+
function MarkerIcon({ className, ...props }) {
|
|
605
2513
|
return /* @__PURE__ */ jsx(
|
|
606
2514
|
"span",
|
|
607
2515
|
{
|
|
608
|
-
"data-slot": "
|
|
2516
|
+
"data-slot": "marker-icon",
|
|
2517
|
+
"aria-hidden": "true",
|
|
609
2518
|
className: cn(
|
|
610
|
-
"
|
|
2519
|
+
"size-3.5 shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
|
|
611
2520
|
className
|
|
612
2521
|
),
|
|
613
2522
|
...props
|
|
614
2523
|
}
|
|
615
2524
|
);
|
|
616
2525
|
}
|
|
617
|
-
function
|
|
2526
|
+
function MarkerContent({ className, ...props }) {
|
|
2527
|
+
return /* @__PURE__ */ jsx(
|
|
2528
|
+
"span",
|
|
2529
|
+
{
|
|
2530
|
+
"data-slot": "marker-content",
|
|
2531
|
+
className: cn(
|
|
2532
|
+
"min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
|
|
2533
|
+
className
|
|
2534
|
+
),
|
|
2535
|
+
...props
|
|
2536
|
+
}
|
|
2537
|
+
);
|
|
2538
|
+
}
|
|
2539
|
+
function Menubar({
|
|
2540
|
+
className,
|
|
618
2541
|
...props
|
|
619
2542
|
}) {
|
|
620
|
-
return /* @__PURE__ */ jsx(
|
|
2543
|
+
return /* @__PURE__ */ jsx(
|
|
2544
|
+
Menubar$1.Root,
|
|
2545
|
+
{
|
|
2546
|
+
"data-slot": "menubar",
|
|
2547
|
+
className: cn(
|
|
2548
|
+
"flex h-8 items-center gap-0.5 rounded-none border p-1",
|
|
2549
|
+
className
|
|
2550
|
+
),
|
|
2551
|
+
...props
|
|
2552
|
+
}
|
|
2553
|
+
);
|
|
621
2554
|
}
|
|
622
|
-
function
|
|
2555
|
+
function MenubarMenu({
|
|
623
2556
|
...props
|
|
624
2557
|
}) {
|
|
625
|
-
return /* @__PURE__ */ jsx(
|
|
2558
|
+
return /* @__PURE__ */ jsx(Menubar$1.Menu, { "data-slot": "menubar-menu", ...props });
|
|
626
2559
|
}
|
|
627
|
-
function
|
|
2560
|
+
function MenubarGroup({
|
|
628
2561
|
...props
|
|
629
2562
|
}) {
|
|
630
|
-
return /* @__PURE__ */ jsx(
|
|
2563
|
+
return /* @__PURE__ */ jsx(Menubar$1.Group, { "data-slot": "menubar-group", ...props });
|
|
631
2564
|
}
|
|
632
|
-
function
|
|
2565
|
+
function MenubarPortal({
|
|
633
2566
|
...props
|
|
634
2567
|
}) {
|
|
635
|
-
return /* @__PURE__ */ jsx(
|
|
2568
|
+
return /* @__PURE__ */ jsx(Menubar$1.Portal, { "data-slot": "menubar-portal", ...props });
|
|
636
2569
|
}
|
|
637
|
-
function
|
|
2570
|
+
function MenubarRadioGroup({
|
|
2571
|
+
...props
|
|
2572
|
+
}) {
|
|
2573
|
+
return /* @__PURE__ */ jsx(Menubar$1.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
2574
|
+
}
|
|
2575
|
+
function MenubarTrigger({
|
|
638
2576
|
className,
|
|
639
2577
|
...props
|
|
640
2578
|
}) {
|
|
641
2579
|
return /* @__PURE__ */ jsx(
|
|
642
|
-
|
|
2580
|
+
Menubar$1.Trigger,
|
|
643
2581
|
{
|
|
644
|
-
"data-slot": "
|
|
2582
|
+
"data-slot": "menubar-trigger",
|
|
645
2583
|
className: cn(
|
|
646
|
-
"
|
|
2584
|
+
"flex items-center rounded-none px-1.5 py-[calc(--spacing(0.8))] text-xs font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted",
|
|
647
2585
|
className
|
|
648
2586
|
),
|
|
649
2587
|
...props
|
|
650
2588
|
}
|
|
651
2589
|
);
|
|
652
2590
|
}
|
|
653
|
-
function
|
|
2591
|
+
function MenubarContent({
|
|
654
2592
|
className,
|
|
655
|
-
|
|
2593
|
+
align = "start",
|
|
2594
|
+
alignOffset = -4,
|
|
2595
|
+
sideOffset = 8,
|
|
656
2596
|
...props
|
|
657
2597
|
}) {
|
|
658
|
-
return /* @__PURE__ */
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
children: [
|
|
670
|
-
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-none bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
671
|
-
children
|
|
672
|
-
]
|
|
673
|
-
}
|
|
674
|
-
)
|
|
675
|
-
] });
|
|
2598
|
+
return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(
|
|
2599
|
+
Menubar$1.Content,
|
|
2600
|
+
{
|
|
2601
|
+
"data-slot": "menubar-content",
|
|
2602
|
+
align,
|
|
2603
|
+
alignOffset,
|
|
2604
|
+
sideOffset,
|
|
2605
|
+
className: cn("z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-none bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", className),
|
|
2606
|
+
...props
|
|
2607
|
+
}
|
|
2608
|
+
) });
|
|
676
2609
|
}
|
|
677
|
-
function
|
|
2610
|
+
function MenubarItem({
|
|
2611
|
+
className,
|
|
2612
|
+
inset,
|
|
2613
|
+
variant = "default",
|
|
2614
|
+
...props
|
|
2615
|
+
}) {
|
|
678
2616
|
return /* @__PURE__ */ jsx(
|
|
679
|
-
|
|
2617
|
+
Menubar$1.Item,
|
|
680
2618
|
{
|
|
681
|
-
"data-slot": "
|
|
2619
|
+
"data-slot": "menubar-item",
|
|
2620
|
+
"data-inset": inset,
|
|
2621
|
+
"data-variant": variant,
|
|
682
2622
|
className: cn(
|
|
683
|
-
"flex
|
|
2623
|
+
"group/menubar-item relative flex cursor-default items-center gap-2 rounded-none px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!",
|
|
684
2624
|
className
|
|
685
2625
|
),
|
|
686
2626
|
...props
|
|
687
2627
|
}
|
|
688
2628
|
);
|
|
689
2629
|
}
|
|
690
|
-
function
|
|
2630
|
+
function MenubarCheckboxItem({
|
|
2631
|
+
className,
|
|
2632
|
+
children,
|
|
2633
|
+
checked,
|
|
2634
|
+
inset,
|
|
2635
|
+
...props
|
|
2636
|
+
}) {
|
|
2637
|
+
return /* @__PURE__ */ jsxs(
|
|
2638
|
+
Menubar$1.CheckboxItem,
|
|
2639
|
+
{
|
|
2640
|
+
"data-slot": "menubar-checkbox-item",
|
|
2641
|
+
"data-inset": inset,
|
|
2642
|
+
className: cn(
|
|
2643
|
+
"relative flex cursor-default items-center gap-2 rounded-none py-2 pr-28 pl-8 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
2644
|
+
className
|
|
2645
|
+
),
|
|
2646
|
+
checked,
|
|
2647
|
+
...props,
|
|
2648
|
+
children: [
|
|
2649
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: /* @__PURE__ */ jsx(Menubar$1.ItemIndicator, { children: /* @__PURE__ */ jsx(
|
|
2650
|
+
CheckIcon,
|
|
2651
|
+
{}
|
|
2652
|
+
) }) }),
|
|
2653
|
+
children
|
|
2654
|
+
]
|
|
2655
|
+
}
|
|
2656
|
+
);
|
|
2657
|
+
}
|
|
2658
|
+
function MenubarRadioItem({
|
|
2659
|
+
className,
|
|
2660
|
+
children,
|
|
2661
|
+
inset,
|
|
2662
|
+
...props
|
|
2663
|
+
}) {
|
|
2664
|
+
return /* @__PURE__ */ jsxs(
|
|
2665
|
+
Menubar$1.RadioItem,
|
|
2666
|
+
{
|
|
2667
|
+
"data-slot": "menubar-radio-item",
|
|
2668
|
+
"data-inset": inset,
|
|
2669
|
+
className: cn(
|
|
2670
|
+
"relative flex cursor-default items-center gap-2 rounded-none py-2 pr-2 pl-8 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2671
|
+
className
|
|
2672
|
+
),
|
|
2673
|
+
...props,
|
|
2674
|
+
children: [
|
|
2675
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: /* @__PURE__ */ jsx(Menubar$1.ItemIndicator, { children: /* @__PURE__ */ jsx(
|
|
2676
|
+
CheckIcon,
|
|
2677
|
+
{}
|
|
2678
|
+
) }) }),
|
|
2679
|
+
children
|
|
2680
|
+
]
|
|
2681
|
+
}
|
|
2682
|
+
);
|
|
2683
|
+
}
|
|
2684
|
+
function MenubarLabel({
|
|
2685
|
+
className,
|
|
2686
|
+
inset,
|
|
2687
|
+
...props
|
|
2688
|
+
}) {
|
|
691
2689
|
return /* @__PURE__ */ jsx(
|
|
692
|
-
|
|
2690
|
+
Menubar$1.Label,
|
|
693
2691
|
{
|
|
694
|
-
"data-slot": "
|
|
695
|
-
|
|
2692
|
+
"data-slot": "menubar-label",
|
|
2693
|
+
"data-inset": inset,
|
|
2694
|
+
className: cn("px-2 py-2 text-xs data-inset:pl-8", className),
|
|
696
2695
|
...props
|
|
697
2696
|
}
|
|
698
2697
|
);
|
|
699
2698
|
}
|
|
700
|
-
function
|
|
2699
|
+
function MenubarSeparator({
|
|
701
2700
|
className,
|
|
702
2701
|
...props
|
|
703
2702
|
}) {
|
|
704
2703
|
return /* @__PURE__ */ jsx(
|
|
705
|
-
|
|
2704
|
+
Menubar$1.Separator,
|
|
2705
|
+
{
|
|
2706
|
+
"data-slot": "menubar-separator",
|
|
2707
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
2708
|
+
...props
|
|
2709
|
+
}
|
|
2710
|
+
);
|
|
2711
|
+
}
|
|
2712
|
+
function MenubarShortcut({
|
|
2713
|
+
className,
|
|
2714
|
+
...props
|
|
2715
|
+
}) {
|
|
2716
|
+
return /* @__PURE__ */ jsx(
|
|
2717
|
+
"span",
|
|
2718
|
+
{
|
|
2719
|
+
"data-slot": "menubar-shortcut",
|
|
2720
|
+
className: cn(
|
|
2721
|
+
"ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground",
|
|
2722
|
+
className
|
|
2723
|
+
),
|
|
2724
|
+
...props
|
|
2725
|
+
}
|
|
2726
|
+
);
|
|
2727
|
+
}
|
|
2728
|
+
function MenubarSub({
|
|
2729
|
+
...props
|
|
2730
|
+
}) {
|
|
2731
|
+
return /* @__PURE__ */ jsx(Menubar$1.Sub, { "data-slot": "menubar-sub", ...props });
|
|
2732
|
+
}
|
|
2733
|
+
function MenubarSubTrigger({
|
|
2734
|
+
className,
|
|
2735
|
+
inset,
|
|
2736
|
+
children,
|
|
2737
|
+
...props
|
|
2738
|
+
}) {
|
|
2739
|
+
return /* @__PURE__ */ jsxs(
|
|
2740
|
+
Menubar$1.SubTrigger,
|
|
706
2741
|
{
|
|
707
|
-
"data-slot": "
|
|
2742
|
+
"data-slot": "menubar-sub-trigger",
|
|
2743
|
+
"data-inset": inset,
|
|
708
2744
|
className: cn(
|
|
709
|
-
"
|
|
2745
|
+
"flex cursor-default items-center gap-2 rounded-none px-2 py-2 text-xs outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-8 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4",
|
|
710
2746
|
className
|
|
711
2747
|
),
|
|
712
|
-
...props
|
|
2748
|
+
...props,
|
|
2749
|
+
children: [
|
|
2750
|
+
children,
|
|
2751
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto size-4" })
|
|
2752
|
+
]
|
|
713
2753
|
}
|
|
714
2754
|
);
|
|
715
2755
|
}
|
|
716
|
-
function
|
|
2756
|
+
function MenubarSubContent({
|
|
717
2757
|
className,
|
|
718
2758
|
...props
|
|
719
2759
|
}) {
|
|
720
2760
|
return /* @__PURE__ */ jsx(
|
|
721
|
-
|
|
2761
|
+
Menubar$1.SubContent,
|
|
722
2762
|
{
|
|
723
|
-
"data-slot": "
|
|
724
|
-
className: cn("text-
|
|
2763
|
+
"data-slot": "menubar-sub-content",
|
|
2764
|
+
className: cn("z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-none bg-popover text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
725
2765
|
...props
|
|
726
2766
|
}
|
|
727
2767
|
);
|
|
728
2768
|
}
|
|
729
|
-
function
|
|
2769
|
+
function MessageGroup({ className, ...props }) {
|
|
730
2770
|
return /* @__PURE__ */ jsx(
|
|
731
|
-
"
|
|
2771
|
+
"div",
|
|
732
2772
|
{
|
|
733
|
-
"data-slot": "
|
|
734
|
-
className: cn("flex
|
|
2773
|
+
"data-slot": "message-group",
|
|
2774
|
+
className: cn("flex min-w-0 flex-col gap-1.5", className),
|
|
735
2775
|
...props
|
|
736
2776
|
}
|
|
737
2777
|
);
|
|
738
2778
|
}
|
|
739
|
-
function
|
|
2779
|
+
function Message({
|
|
2780
|
+
className,
|
|
2781
|
+
align = "start",
|
|
2782
|
+
...props
|
|
2783
|
+
}) {
|
|
740
2784
|
return /* @__PURE__ */ jsx(
|
|
741
|
-
"
|
|
2785
|
+
"div",
|
|
742
2786
|
{
|
|
743
|
-
"data-slot": "
|
|
744
|
-
"data-
|
|
745
|
-
className: cn(
|
|
2787
|
+
"data-slot": "message",
|
|
2788
|
+
"data-align": align,
|
|
2789
|
+
className: cn(
|
|
2790
|
+
"group/message relative flex w-full min-w-0 gap-1.5 text-xs data-[align=end]:flex-row-reverse",
|
|
2791
|
+
className
|
|
2792
|
+
),
|
|
746
2793
|
...props
|
|
747
2794
|
}
|
|
748
2795
|
);
|
|
749
2796
|
}
|
|
750
|
-
function
|
|
2797
|
+
function MessageAvatar({ className, ...props }) {
|
|
751
2798
|
return /* @__PURE__ */ jsx(
|
|
752
2799
|
"div",
|
|
753
2800
|
{
|
|
754
|
-
"data-slot": "
|
|
2801
|
+
"data-slot": "message-avatar",
|
|
755
2802
|
className: cn(
|
|
756
|
-
"
|
|
2803
|
+
"flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8",
|
|
757
2804
|
className
|
|
758
2805
|
),
|
|
759
2806
|
...props
|
|
760
2807
|
}
|
|
761
2808
|
);
|
|
762
2809
|
}
|
|
763
|
-
|
|
764
|
-
variants: {
|
|
765
|
-
orientation: {
|
|
766
|
-
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
767
|
-
horizontal: "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
768
|
-
responsive: "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
769
|
-
}
|
|
770
|
-
},
|
|
771
|
-
defaultVariants: {
|
|
772
|
-
orientation: "vertical"
|
|
773
|
-
}
|
|
774
|
-
});
|
|
775
|
-
function Field({ className, orientation = "vertical", ...props }) {
|
|
776
|
-
return /* @__PURE__ */ jsx("div", { role: "group", "data-slot": "field", "data-orientation": orientation, className: cn(fieldVariants({ orientation }), className), ...props });
|
|
777
|
-
}
|
|
778
|
-
function FieldContent({ className, ...props }) {
|
|
779
|
-
return /* @__PURE__ */ jsx("div", { "data-slot": "field-content", className: cn("group/field-content flex flex-1 flex-col gap-0.5 leading-snug", className), ...props });
|
|
780
|
-
}
|
|
781
|
-
function FieldLabel({ className, ...props }) {
|
|
2810
|
+
function MessageContent({ className, ...props }) {
|
|
782
2811
|
return /* @__PURE__ */ jsx(
|
|
783
|
-
|
|
2812
|
+
"div",
|
|
784
2813
|
{
|
|
785
|
-
"data-slot": "
|
|
2814
|
+
"data-slot": "message-content",
|
|
786
2815
|
className: cn(
|
|
787
|
-
"
|
|
788
|
-
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
2816
|
+
"flex w-full min-w-0 flex-col gap-2 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end",
|
|
789
2817
|
className
|
|
790
2818
|
),
|
|
791
2819
|
...props
|
|
792
2820
|
}
|
|
793
2821
|
);
|
|
794
2822
|
}
|
|
795
|
-
function
|
|
2823
|
+
function MessageHeader({ className, ...props }) {
|
|
796
2824
|
return /* @__PURE__ */ jsx(
|
|
797
2825
|
"div",
|
|
798
2826
|
{
|
|
799
|
-
"data-slot": "
|
|
800
|
-
className: cn(
|
|
2827
|
+
"data-slot": "message-header",
|
|
2828
|
+
className: cn(
|
|
2829
|
+
"flex max-w-full min-w-0 items-center px-2.5 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0",
|
|
2830
|
+
className
|
|
2831
|
+
),
|
|
801
2832
|
...props
|
|
802
2833
|
}
|
|
803
2834
|
);
|
|
804
2835
|
}
|
|
805
|
-
function
|
|
2836
|
+
function MessageFooter({ className, ...props }) {
|
|
806
2837
|
return /* @__PURE__ */ jsx(
|
|
807
|
-
"
|
|
2838
|
+
"div",
|
|
808
2839
|
{
|
|
809
|
-
"data-slot": "
|
|
2840
|
+
"data-slot": "message-footer",
|
|
810
2841
|
className: cn(
|
|
811
|
-
"
|
|
812
|
-
"last:mt-0 nth-last-2:-mt-1",
|
|
813
|
-
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
2842
|
+
"flex max-w-full min-w-0 items-center px-2.5 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end",
|
|
814
2843
|
className
|
|
815
2844
|
),
|
|
816
2845
|
...props
|
|
817
2846
|
}
|
|
818
2847
|
);
|
|
819
2848
|
}
|
|
820
|
-
function
|
|
821
|
-
|
|
822
|
-
className,
|
|
823
|
-
...props
|
|
824
|
-
}) {
|
|
825
|
-
return /* @__PURE__ */ jsxs(
|
|
826
|
-
"div",
|
|
827
|
-
{
|
|
828
|
-
"data-slot": "field-separator",
|
|
829
|
-
"data-content": !!children,
|
|
830
|
-
className: cn("relative -my-2 h-5 text-xs group-data-[variant=outline]/field-group:-mb-2", className),
|
|
831
|
-
...props,
|
|
832
|
-
children: [
|
|
833
|
-
/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
834
|
-
children && /* @__PURE__ */ jsx("span", { className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground", "data-slot": "field-separator-content", children })
|
|
835
|
-
]
|
|
836
|
-
}
|
|
837
|
-
);
|
|
2849
|
+
function MessageScrollerProvider(props) {
|
|
2850
|
+
return /* @__PURE__ */ jsx(MessageScroller$1.Provider, { ...props });
|
|
838
2851
|
}
|
|
839
|
-
function
|
|
2852
|
+
function MessageScroller({
|
|
840
2853
|
className,
|
|
841
|
-
children,
|
|
842
|
-
errors,
|
|
843
2854
|
...props
|
|
844
2855
|
}) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
return children;
|
|
848
|
-
}
|
|
849
|
-
if (!errors?.length) {
|
|
850
|
-
return null;
|
|
851
|
-
}
|
|
852
|
-
const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
|
|
853
|
-
if (uniqueErrors?.length == 1) {
|
|
854
|
-
return uniqueErrors[0]?.message;
|
|
855
|
-
}
|
|
856
|
-
return /* @__PURE__ */ jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map((error, index) => error?.message && /* @__PURE__ */ jsx("li", { children: error.message }, index)) });
|
|
857
|
-
}, [children, errors]);
|
|
858
|
-
if (!content) {
|
|
859
|
-
return null;
|
|
860
|
-
}
|
|
861
|
-
return /* @__PURE__ */ jsx("div", { role: "alert", "data-slot": "field-error", className: cn("text-xs font-normal text-destructive", className), ...props, children: content });
|
|
862
|
-
}
|
|
863
|
-
function HoverCard({ ...props }) {
|
|
864
|
-
return /* @__PURE__ */ jsx(HoverCard$1.Root, { "data-slot": "hover-card", ...props });
|
|
865
|
-
}
|
|
866
|
-
function HoverCardTrigger({ ...props }) {
|
|
867
|
-
return /* @__PURE__ */ jsx(HoverCard$1.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
868
|
-
}
|
|
869
|
-
function HoverCardContent({ className, align = "center", sideOffset = 4, ...props }) {
|
|
870
|
-
return /* @__PURE__ */ jsx(HoverCard$1.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
|
|
871
|
-
HoverCard$1.Content,
|
|
2856
|
+
return /* @__PURE__ */ jsx(
|
|
2857
|
+
MessageScroller$1.Root,
|
|
872
2858
|
{
|
|
873
|
-
"data-slot": "
|
|
874
|
-
align,
|
|
875
|
-
sideOffset,
|
|
2859
|
+
"data-slot": "message-scroller",
|
|
876
2860
|
className: cn(
|
|
877
|
-
"
|
|
2861
|
+
"group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden",
|
|
878
2862
|
className
|
|
879
2863
|
),
|
|
880
2864
|
...props
|
|
881
2865
|
}
|
|
882
|
-
)
|
|
2866
|
+
);
|
|
883
2867
|
}
|
|
884
|
-
function
|
|
2868
|
+
function MessageScrollerViewport({
|
|
885
2869
|
className,
|
|
886
|
-
containerClassName,
|
|
887
2870
|
...props
|
|
888
2871
|
}) {
|
|
889
2872
|
return /* @__PURE__ */ jsx(
|
|
890
|
-
|
|
891
|
-
{
|
|
892
|
-
"data-slot": "input-otp",
|
|
893
|
-
containerClassName: cn("cn-input-otp flex items-center has-disabled:opacity-50", containerClassName),
|
|
894
|
-
spellCheck: false,
|
|
895
|
-
className: cn("disabled:cursor-not-allowed", className),
|
|
896
|
-
...props
|
|
897
|
-
}
|
|
898
|
-
);
|
|
899
|
-
}
|
|
900
|
-
function InputOTPGroup({ className, ...props }) {
|
|
901
|
-
return /* @__PURE__ */ jsx(
|
|
902
|
-
"div",
|
|
2873
|
+
MessageScroller$1.Viewport,
|
|
903
2874
|
{
|
|
904
|
-
"data-slot": "
|
|
2875
|
+
"data-slot": "message-scroller-viewport",
|
|
905
2876
|
className: cn(
|
|
906
|
-
"
|
|
2877
|
+
"size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent",
|
|
907
2878
|
className
|
|
908
2879
|
),
|
|
909
2880
|
...props
|
|
910
2881
|
}
|
|
911
2882
|
);
|
|
912
2883
|
}
|
|
913
|
-
function
|
|
914
|
-
index,
|
|
2884
|
+
function MessageScrollerContent({
|
|
915
2885
|
className,
|
|
916
2886
|
...props
|
|
917
2887
|
}) {
|
|
918
|
-
const inputOTPContext = React21.useContext(OTPInputContext);
|
|
919
|
-
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
920
|
-
return /* @__PURE__ */ jsxs(
|
|
921
|
-
"div",
|
|
922
|
-
{
|
|
923
|
-
"data-slot": "input-otp-slot",
|
|
924
|
-
"data-active": isActive,
|
|
925
|
-
className: cn(
|
|
926
|
-
"relative flex size-8 items-center justify-center border-y border-r border-input text-xs transition-all outline-none first:rounded-none first:border-l last:rounded-none aria-invalid:border-destructive data-[active=true]:z-10 data-[active=true]:border-ring data-[active=true]:ring-1 data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:border-destructive data-[active=true]:aria-invalid:ring-destructive/20 dark:bg-input/30 dark:data-[active=true]:aria-invalid:ring-destructive/40",
|
|
927
|
-
className
|
|
928
|
-
),
|
|
929
|
-
...props,
|
|
930
|
-
children: [
|
|
931
|
-
char,
|
|
932
|
-
hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
|
|
933
|
-
]
|
|
934
|
-
}
|
|
935
|
-
);
|
|
936
|
-
}
|
|
937
|
-
function InputOTPSeparator({ ...props }) {
|
|
938
|
-
return /* @__PURE__ */ jsx("div", { "data-slot": "input-otp-separator", className: "flex items-center [&_svg:not([class*='size-'])]:size-4", role: "separator", ...props, children: /* @__PURE__ */ jsx(MinusIcon, {}) });
|
|
939
|
-
}
|
|
940
|
-
function Menubar({ className, ...props }) {
|
|
941
|
-
return /* @__PURE__ */ jsx(Menubar$1.Root, { "data-slot": "menubar", className: cn("flex h-8 items-center gap-0.5 rounded-none border p-1", className), ...props });
|
|
942
|
-
}
|
|
943
|
-
function MenubarMenu({ ...props }) {
|
|
944
|
-
return /* @__PURE__ */ jsx(Menubar$1.Menu, { "data-slot": "menubar-menu", ...props });
|
|
945
|
-
}
|
|
946
|
-
function MenubarGroup({ ...props }) {
|
|
947
|
-
return /* @__PURE__ */ jsx(Menubar$1.Group, { "data-slot": "menubar-group", ...props });
|
|
948
|
-
}
|
|
949
|
-
function MenubarPortal({ ...props }) {
|
|
950
|
-
return /* @__PURE__ */ jsx(Menubar$1.Portal, { "data-slot": "menubar-portal", ...props });
|
|
951
|
-
}
|
|
952
|
-
function MenubarRadioGroup({ ...props }) {
|
|
953
|
-
return /* @__PURE__ */ jsx(Menubar$1.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
954
|
-
}
|
|
955
|
-
function MenubarTrigger({ className, ...props }) {
|
|
956
2888
|
return /* @__PURE__ */ jsx(
|
|
957
|
-
|
|
2889
|
+
MessageScroller$1.Content,
|
|
958
2890
|
{
|
|
959
|
-
"data-slot": "
|
|
960
|
-
className: cn(
|
|
961
|
-
"flex items-center rounded-none px-1.5 py-[calc(--spacing(0.8))] text-xs font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted",
|
|
962
|
-
className
|
|
963
|
-
),
|
|
2891
|
+
"data-slot": "message-scroller-content",
|
|
2892
|
+
className: cn("flex h-max min-h-full flex-col gap-6", className),
|
|
964
2893
|
...props
|
|
965
2894
|
}
|
|
966
2895
|
);
|
|
967
2896
|
}
|
|
968
|
-
function
|
|
969
|
-
|
|
970
|
-
|
|
2897
|
+
function MessageScrollerItem({
|
|
2898
|
+
className,
|
|
2899
|
+
scrollAnchor = false,
|
|
2900
|
+
...props
|
|
2901
|
+
}) {
|
|
2902
|
+
return /* @__PURE__ */ jsx(
|
|
2903
|
+
MessageScroller$1.Item,
|
|
971
2904
|
{
|
|
972
|
-
"data-slot": "
|
|
973
|
-
|
|
974
|
-
alignOffset,
|
|
975
|
-
sideOffset,
|
|
2905
|
+
"data-slot": "message-scroller-item",
|
|
2906
|
+
scrollAnchor,
|
|
976
2907
|
className: cn(
|
|
977
|
-
"
|
|
2908
|
+
"min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]",
|
|
978
2909
|
className
|
|
979
2910
|
),
|
|
980
2911
|
...props
|
|
981
2912
|
}
|
|
982
|
-
)
|
|
2913
|
+
);
|
|
983
2914
|
}
|
|
984
|
-
function
|
|
2915
|
+
function MessageScrollerButton({
|
|
2916
|
+
direction = "end",
|
|
985
2917
|
className,
|
|
986
|
-
|
|
987
|
-
|
|
2918
|
+
children,
|
|
2919
|
+
render,
|
|
2920
|
+
variant = "secondary",
|
|
2921
|
+
size = "icon-sm",
|
|
988
2922
|
...props
|
|
989
2923
|
}) {
|
|
990
2924
|
return /* @__PURE__ */ jsx(
|
|
991
|
-
|
|
2925
|
+
MessageScroller$1.Button,
|
|
992
2926
|
{
|
|
993
|
-
"data-slot": "
|
|
994
|
-
"data-
|
|
2927
|
+
"data-slot": "message-scroller-button",
|
|
2928
|
+
"data-direction": direction,
|
|
995
2929
|
"data-variant": variant,
|
|
2930
|
+
"data-size": size,
|
|
2931
|
+
direction,
|
|
996
2932
|
className: cn(
|
|
997
|
-
"
|
|
2933
|
+
"absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180",
|
|
998
2934
|
className
|
|
999
2935
|
),
|
|
1000
|
-
|
|
2936
|
+
render: render ?? /* @__PURE__ */ jsx(Button, { variant, size }),
|
|
2937
|
+
...props,
|
|
2938
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2939
|
+
/* @__PURE__ */ jsx(
|
|
2940
|
+
ArrowDownIcon,
|
|
2941
|
+
{}
|
|
2942
|
+
),
|
|
2943
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: direction === "end" ? "Scroll to end" : "Scroll to start" })
|
|
2944
|
+
] })
|
|
1001
2945
|
}
|
|
1002
2946
|
);
|
|
1003
2947
|
}
|
|
1004
|
-
function
|
|
2948
|
+
function NativeSelect({
|
|
1005
2949
|
className,
|
|
1006
|
-
|
|
1007
|
-
checked,
|
|
1008
|
-
inset,
|
|
2950
|
+
size = "default",
|
|
1009
2951
|
...props
|
|
1010
2952
|
}) {
|
|
1011
2953
|
return /* @__PURE__ */ jsxs(
|
|
1012
|
-
|
|
2954
|
+
"div",
|
|
1013
2955
|
{
|
|
1014
|
-
"data-slot": "menubar-checkbox-item",
|
|
1015
|
-
"data-inset": inset,
|
|
1016
2956
|
className: cn(
|
|
1017
|
-
"
|
|
2957
|
+
"group/native-select relative w-fit has-[select:disabled]:opacity-50",
|
|
1018
2958
|
className
|
|
1019
2959
|
),
|
|
1020
|
-
|
|
1021
|
-
|
|
2960
|
+
"data-slot": "native-select-wrapper",
|
|
2961
|
+
"data-size": size,
|
|
1022
2962
|
children: [
|
|
1023
|
-
/* @__PURE__ */ jsx(
|
|
1024
|
-
|
|
2963
|
+
/* @__PURE__ */ jsx(
|
|
2964
|
+
"select",
|
|
2965
|
+
{
|
|
2966
|
+
"data-slot": "native-select",
|
|
2967
|
+
"data-size": size,
|
|
2968
|
+
className: "h-8 w-full min-w-0 appearance-none rounded-none border border-input bg-transparent py-1 pr-8 pl-2.5 text-xs transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-none data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
2969
|
+
...props
|
|
2970
|
+
}
|
|
2971
|
+
),
|
|
2972
|
+
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none", "aria-hidden": "true", "data-slot": "native-select-icon" })
|
|
1025
2973
|
]
|
|
1026
2974
|
}
|
|
1027
2975
|
);
|
|
1028
2976
|
}
|
|
1029
|
-
function
|
|
2977
|
+
function NativeSelectOption({
|
|
1030
2978
|
className,
|
|
1031
|
-
children,
|
|
1032
|
-
inset,
|
|
1033
2979
|
...props
|
|
1034
2980
|
}) {
|
|
1035
|
-
return /* @__PURE__ */
|
|
1036
|
-
|
|
2981
|
+
return /* @__PURE__ */ jsx(
|
|
2982
|
+
"option",
|
|
1037
2983
|
{
|
|
1038
|
-
"data-slot": "
|
|
1039
|
-
"
|
|
1040
|
-
|
|
1041
|
-
"relative flex cursor-default items-center gap-2 rounded-none py-2 pr-2 pl-8 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1042
|
-
className
|
|
1043
|
-
),
|
|
1044
|
-
...props,
|
|
1045
|
-
children: [
|
|
1046
|
-
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4", children: /* @__PURE__ */ jsx(Menubar$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) }) }),
|
|
1047
|
-
children
|
|
1048
|
-
]
|
|
2984
|
+
"data-slot": "native-select-option",
|
|
2985
|
+
className: cn("bg-[Canvas] text-[CanvasText]", className),
|
|
2986
|
+
...props
|
|
1049
2987
|
}
|
|
1050
2988
|
);
|
|
1051
2989
|
}
|
|
1052
|
-
function
|
|
2990
|
+
function NativeSelectOptGroup({
|
|
1053
2991
|
className,
|
|
1054
|
-
inset,
|
|
1055
2992
|
...props
|
|
1056
2993
|
}) {
|
|
1057
|
-
return /* @__PURE__ */ jsx(Menubar$1.Label, { "data-slot": "menubar-label", "data-inset": inset, className: cn("px-2 py-2 text-xs data-inset:pl-8", className), ...props });
|
|
1058
|
-
}
|
|
1059
|
-
function MenubarSeparator({ className, ...props }) {
|
|
1060
|
-
return /* @__PURE__ */ jsx(Menubar$1.Separator, { "data-slot": "menubar-separator", className: cn("-mx-1 my-1 h-px bg-border", className), ...props });
|
|
1061
|
-
}
|
|
1062
|
-
function MenubarShortcut({ className, ...props }) {
|
|
1063
2994
|
return /* @__PURE__ */ jsx(
|
|
1064
|
-
"
|
|
2995
|
+
"optgroup",
|
|
1065
2996
|
{
|
|
1066
|
-
"data-slot": "
|
|
1067
|
-
className: cn("
|
|
2997
|
+
"data-slot": "native-select-optgroup",
|
|
2998
|
+
className: cn("bg-[Canvas] text-[CanvasText]", className),
|
|
1068
2999
|
...props
|
|
1069
3000
|
}
|
|
1070
3001
|
);
|
|
1071
3002
|
}
|
|
1072
|
-
function
|
|
1073
|
-
return /* @__PURE__ */ jsx(Menubar$1.Sub, { "data-slot": "menubar-sub", ...props });
|
|
1074
|
-
}
|
|
1075
|
-
function MenubarSubTrigger({
|
|
3003
|
+
function NavigationMenu({
|
|
1076
3004
|
className,
|
|
1077
|
-
inset,
|
|
1078
3005
|
children,
|
|
3006
|
+
viewport = true,
|
|
1079
3007
|
...props
|
|
1080
3008
|
}) {
|
|
1081
3009
|
return /* @__PURE__ */ jsxs(
|
|
1082
|
-
|
|
3010
|
+
NavigationMenu$1.Root,
|
|
1083
3011
|
{
|
|
1084
|
-
"data-slot": "
|
|
1085
|
-
"data-
|
|
3012
|
+
"data-slot": "navigation-menu",
|
|
3013
|
+
"data-viewport": viewport,
|
|
1086
3014
|
className: cn(
|
|
1087
|
-
"
|
|
3015
|
+
"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
|
|
1088
3016
|
className
|
|
1089
3017
|
),
|
|
1090
3018
|
...props,
|
|
1091
3019
|
children: [
|
|
1092
3020
|
children,
|
|
1093
|
-
/* @__PURE__ */ jsx(
|
|
3021
|
+
viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})
|
|
1094
3022
|
]
|
|
1095
3023
|
}
|
|
1096
3024
|
);
|
|
1097
3025
|
}
|
|
1098
|
-
function
|
|
3026
|
+
function NavigationMenuList({
|
|
3027
|
+
className,
|
|
3028
|
+
...props
|
|
3029
|
+
}) {
|
|
1099
3030
|
return /* @__PURE__ */ jsx(
|
|
1100
|
-
|
|
3031
|
+
NavigationMenu$1.List,
|
|
1101
3032
|
{
|
|
1102
|
-
"data-slot": "
|
|
3033
|
+
"data-slot": "navigation-menu-list",
|
|
1103
3034
|
className: cn(
|
|
1104
|
-
"
|
|
3035
|
+
"group flex flex-1 list-none items-center justify-center gap-0",
|
|
1105
3036
|
className
|
|
1106
3037
|
),
|
|
1107
3038
|
...props
|
|
1108
3039
|
}
|
|
1109
3040
|
);
|
|
1110
3041
|
}
|
|
1111
|
-
function
|
|
3042
|
+
function NavigationMenuItem({
|
|
3043
|
+
className,
|
|
3044
|
+
...props
|
|
3045
|
+
}) {
|
|
3046
|
+
return /* @__PURE__ */ jsx(
|
|
3047
|
+
NavigationMenu$1.Item,
|
|
3048
|
+
{
|
|
3049
|
+
"data-slot": "navigation-menu-item",
|
|
3050
|
+
className: cn("relative", className),
|
|
3051
|
+
...props
|
|
3052
|
+
}
|
|
3053
|
+
);
|
|
3054
|
+
}
|
|
3055
|
+
var navigationMenuTriggerStyle = cva(
|
|
3056
|
+
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-none px-2.5 py-1.5 text-xs font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted"
|
|
3057
|
+
);
|
|
3058
|
+
function NavigationMenuTrigger({
|
|
1112
3059
|
className,
|
|
1113
3060
|
children,
|
|
1114
|
-
viewport = true,
|
|
1115
3061
|
...props
|
|
1116
3062
|
}) {
|
|
1117
3063
|
return /* @__PURE__ */ jsxs(
|
|
1118
|
-
NavigationMenu$1.
|
|
3064
|
+
NavigationMenu$1.Trigger,
|
|
1119
3065
|
{
|
|
1120
|
-
"data-slot": "navigation-menu",
|
|
1121
|
-
"
|
|
1122
|
-
className: cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className),
|
|
3066
|
+
"data-slot": "navigation-menu-trigger",
|
|
3067
|
+
className: cn(navigationMenuTriggerStyle(), "group", className),
|
|
1123
3068
|
...props,
|
|
1124
3069
|
children: [
|
|
1125
3070
|
children,
|
|
1126
|
-
|
|
3071
|
+
" ",
|
|
3072
|
+
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180", "aria-hidden": "true" })
|
|
1127
3073
|
]
|
|
1128
3074
|
}
|
|
1129
3075
|
);
|
|
1130
3076
|
}
|
|
1131
|
-
function
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
"data-slot": "navigation-menu-list",
|
|
1136
|
-
className: cn("group flex flex-1 list-none items-center justify-center gap-0", className),
|
|
1137
|
-
...props
|
|
1138
|
-
}
|
|
1139
|
-
);
|
|
1140
|
-
}
|
|
1141
|
-
function NavigationMenuItem({ className, ...props }) {
|
|
1142
|
-
return /* @__PURE__ */ jsx(NavigationMenu$1.Item, { "data-slot": "navigation-menu-item", className: cn("relative", className), ...props });
|
|
1143
|
-
}
|
|
1144
|
-
var navigationMenuTriggerStyle = cva(
|
|
1145
|
-
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-none px-2.5 py-1.5 text-xs font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-1 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted"
|
|
1146
|
-
);
|
|
1147
|
-
function NavigationMenuTrigger({ className, children, ...props }) {
|
|
1148
|
-
return /* @__PURE__ */ jsxs(NavigationMenu$1.Trigger, { "data-slot": "navigation-menu-trigger", className: cn(navigationMenuTriggerStyle(), "group", className), ...props, children: [
|
|
1149
|
-
children,
|
|
1150
|
-
" ",
|
|
1151
|
-
/* @__PURE__ */ jsx(
|
|
1152
|
-
ChevronDownIcon,
|
|
1153
|
-
{
|
|
1154
|
-
className: "relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180",
|
|
1155
|
-
"aria-hidden": "true"
|
|
1156
|
-
}
|
|
1157
|
-
)
|
|
1158
|
-
] });
|
|
1159
|
-
}
|
|
1160
|
-
function NavigationMenuContent({ className, ...props }) {
|
|
3077
|
+
function NavigationMenuContent({
|
|
3078
|
+
className,
|
|
3079
|
+
...props
|
|
3080
|
+
}) {
|
|
1161
3081
|
return /* @__PURE__ */ jsx(
|
|
1162
3082
|
NavigationMenu$1.Content,
|
|
1163
3083
|
{
|
|
@@ -1170,20 +3090,34 @@ function NavigationMenuContent({ className, ...props }) {
|
|
|
1170
3090
|
}
|
|
1171
3091
|
);
|
|
1172
3092
|
}
|
|
1173
|
-
function NavigationMenuViewport({
|
|
1174
|
-
|
|
1175
|
-
|
|
3093
|
+
function NavigationMenuViewport({
|
|
3094
|
+
className,
|
|
3095
|
+
...props
|
|
3096
|
+
}) {
|
|
3097
|
+
return /* @__PURE__ */ jsx(
|
|
3098
|
+
"div",
|
|
1176
3099
|
{
|
|
1177
|
-
"data-slot": "navigation-menu-viewport",
|
|
1178
3100
|
className: cn(
|
|
1179
|
-
"
|
|
1180
|
-
className
|
|
3101
|
+
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
1181
3102
|
),
|
|
1182
|
-
|
|
3103
|
+
children: /* @__PURE__ */ jsx(
|
|
3104
|
+
NavigationMenu$1.Viewport,
|
|
3105
|
+
{
|
|
3106
|
+
"data-slot": "navigation-menu-viewport",
|
|
3107
|
+
className: cn(
|
|
3108
|
+
"origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-none bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 duration-100 md:w-(--radix-navigation-menu-viewport-width) data-open:animate-in data-open:zoom-in-90 data-closed:animate-out data-closed:zoom-out-90",
|
|
3109
|
+
className
|
|
3110
|
+
),
|
|
3111
|
+
...props
|
|
3112
|
+
}
|
|
3113
|
+
)
|
|
1183
3114
|
}
|
|
1184
|
-
)
|
|
3115
|
+
);
|
|
1185
3116
|
}
|
|
1186
|
-
function NavigationMenuLink({
|
|
3117
|
+
function NavigationMenuLink({
|
|
3118
|
+
className,
|
|
3119
|
+
...props
|
|
3120
|
+
}) {
|
|
1187
3121
|
return /* @__PURE__ */ jsx(
|
|
1188
3122
|
NavigationMenu$1.Link,
|
|
1189
3123
|
{
|
|
@@ -1196,7 +3130,10 @@ function NavigationMenuLink({ className, ...props }) {
|
|
|
1196
3130
|
}
|
|
1197
3131
|
);
|
|
1198
3132
|
}
|
|
1199
|
-
function NavigationMenuIndicator({
|
|
3133
|
+
function NavigationMenuIndicator({
|
|
3134
|
+
className,
|
|
3135
|
+
...props
|
|
3136
|
+
}) {
|
|
1200
3137
|
return /* @__PURE__ */ jsx(
|
|
1201
3138
|
NavigationMenu$1.Indicator,
|
|
1202
3139
|
{
|
|
@@ -1211,39 +3148,115 @@ function NavigationMenuIndicator({ className, ...props }) {
|
|
|
1211
3148
|
);
|
|
1212
3149
|
}
|
|
1213
3150
|
function Pagination({ className, ...props }) {
|
|
1214
|
-
return /* @__PURE__ */ jsx(
|
|
3151
|
+
return /* @__PURE__ */ jsx(
|
|
3152
|
+
"nav",
|
|
3153
|
+
{
|
|
3154
|
+
role: "navigation",
|
|
3155
|
+
"aria-label": "pagination",
|
|
3156
|
+
"data-slot": "pagination",
|
|
3157
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
3158
|
+
...props
|
|
3159
|
+
}
|
|
3160
|
+
);
|
|
1215
3161
|
}
|
|
1216
|
-
function PaginationContent({
|
|
1217
|
-
|
|
3162
|
+
function PaginationContent({
|
|
3163
|
+
className,
|
|
3164
|
+
...props
|
|
3165
|
+
}) {
|
|
3166
|
+
return /* @__PURE__ */ jsx(
|
|
3167
|
+
"ul",
|
|
3168
|
+
{
|
|
3169
|
+
"data-slot": "pagination-content",
|
|
3170
|
+
className: cn("flex items-center gap-0.5", className),
|
|
3171
|
+
...props
|
|
3172
|
+
}
|
|
3173
|
+
);
|
|
1218
3174
|
}
|
|
1219
3175
|
function PaginationItem({ ...props }) {
|
|
1220
3176
|
return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
|
|
1221
3177
|
}
|
|
1222
|
-
function PaginationLink({
|
|
1223
|
-
|
|
3178
|
+
function PaginationLink({
|
|
3179
|
+
className,
|
|
3180
|
+
isActive,
|
|
3181
|
+
size = "icon",
|
|
3182
|
+
...props
|
|
3183
|
+
}) {
|
|
3184
|
+
return /* @__PURE__ */ jsx(
|
|
3185
|
+
Button,
|
|
3186
|
+
{
|
|
3187
|
+
asChild: true,
|
|
3188
|
+
variant: isActive ? "outline" : "ghost",
|
|
3189
|
+
size,
|
|
3190
|
+
className: cn(className),
|
|
3191
|
+
children: /* @__PURE__ */ jsx(
|
|
3192
|
+
"a",
|
|
3193
|
+
{
|
|
3194
|
+
"aria-current": isActive ? "page" : void 0,
|
|
3195
|
+
"data-slot": "pagination-link",
|
|
3196
|
+
"data-active": isActive,
|
|
3197
|
+
...props
|
|
3198
|
+
}
|
|
3199
|
+
)
|
|
3200
|
+
}
|
|
3201
|
+
);
|
|
1224
3202
|
}
|
|
1225
|
-
function PaginationPrevious({
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
3203
|
+
function PaginationPrevious({
|
|
3204
|
+
className,
|
|
3205
|
+
text = "Previous",
|
|
3206
|
+
...props
|
|
3207
|
+
}) {
|
|
3208
|
+
return /* @__PURE__ */ jsxs(
|
|
3209
|
+
PaginationLink,
|
|
3210
|
+
{
|
|
3211
|
+
"aria-label": "Go to previous page",
|
|
3212
|
+
size: "default",
|
|
3213
|
+
className: cn("pl-1.5!", className),
|
|
3214
|
+
...props,
|
|
3215
|
+
children: [
|
|
3216
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, { "data-icon": "inline-start" }),
|
|
3217
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: text })
|
|
3218
|
+
]
|
|
3219
|
+
}
|
|
3220
|
+
);
|
|
1230
3221
|
}
|
|
1231
|
-
function PaginationNext({
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
3222
|
+
function PaginationNext({
|
|
3223
|
+
className,
|
|
3224
|
+
text = "Next",
|
|
3225
|
+
...props
|
|
3226
|
+
}) {
|
|
3227
|
+
return /* @__PURE__ */ jsxs(
|
|
3228
|
+
PaginationLink,
|
|
3229
|
+
{
|
|
3230
|
+
"aria-label": "Go to next page",
|
|
3231
|
+
size: "default",
|
|
3232
|
+
className: cn("pr-1.5!", className),
|
|
3233
|
+
...props,
|
|
3234
|
+
children: [
|
|
3235
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: text }),
|
|
3236
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { "data-icon": "inline-end" })
|
|
3237
|
+
]
|
|
3238
|
+
}
|
|
3239
|
+
);
|
|
1236
3240
|
}
|
|
1237
|
-
function PaginationEllipsis({
|
|
3241
|
+
function PaginationEllipsis({
|
|
3242
|
+
className,
|
|
3243
|
+
...props
|
|
3244
|
+
}) {
|
|
1238
3245
|
return /* @__PURE__ */ jsxs(
|
|
1239
3246
|
"span",
|
|
1240
3247
|
{
|
|
1241
3248
|
"aria-hidden": true,
|
|
1242
3249
|
"data-slot": "pagination-ellipsis",
|
|
1243
|
-
className: cn(
|
|
3250
|
+
className: cn(
|
|
3251
|
+
"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
3252
|
+
className
|
|
3253
|
+
),
|
|
1244
3254
|
...props,
|
|
1245
3255
|
children: [
|
|
1246
|
-
/* @__PURE__ */ jsx(
|
|
3256
|
+
/* @__PURE__ */ jsx(
|
|
3257
|
+
MoreHorizontalIcon,
|
|
3258
|
+
{}
|
|
3259
|
+
),
|
|
1247
3260
|
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
1248
3261
|
]
|
|
1249
3262
|
}
|
|
@@ -1317,12 +3330,19 @@ function PopoverDescription({
|
|
|
1317
3330
|
}
|
|
1318
3331
|
);
|
|
1319
3332
|
}
|
|
1320
|
-
function Progress({
|
|
3333
|
+
function Progress({
|
|
3334
|
+
className,
|
|
3335
|
+
value,
|
|
3336
|
+
...props
|
|
3337
|
+
}) {
|
|
1321
3338
|
return /* @__PURE__ */ jsx(
|
|
1322
3339
|
Progress$1.Root,
|
|
1323
3340
|
{
|
|
1324
3341
|
"data-slot": "progress",
|
|
1325
|
-
className: cn(
|
|
3342
|
+
className: cn(
|
|
3343
|
+
"relative flex h-1 w-full items-center overflow-x-hidden rounded-none bg-muted",
|
|
3344
|
+
className
|
|
3345
|
+
),
|
|
1326
3346
|
...props,
|
|
1327
3347
|
children: /* @__PURE__ */ jsx(
|
|
1328
3348
|
Progress$1.Indicator,
|
|
@@ -1335,10 +3355,23 @@ function Progress({ className, value, ...props }) {
|
|
|
1335
3355
|
}
|
|
1336
3356
|
);
|
|
1337
3357
|
}
|
|
1338
|
-
function RadioGroup({
|
|
1339
|
-
|
|
3358
|
+
function RadioGroup({
|
|
3359
|
+
className,
|
|
3360
|
+
...props
|
|
3361
|
+
}) {
|
|
3362
|
+
return /* @__PURE__ */ jsx(
|
|
3363
|
+
RadioGroup$1.Root,
|
|
3364
|
+
{
|
|
3365
|
+
"data-slot": "radio-group",
|
|
3366
|
+
className: cn("grid w-full gap-2", className),
|
|
3367
|
+
...props
|
|
3368
|
+
}
|
|
3369
|
+
);
|
|
1340
3370
|
}
|
|
1341
|
-
function RadioGroupItem({
|
|
3371
|
+
function RadioGroupItem({
|
|
3372
|
+
className,
|
|
3373
|
+
...props
|
|
3374
|
+
}) {
|
|
1342
3375
|
return /* @__PURE__ */ jsx(
|
|
1343
3376
|
RadioGroup$1.Item,
|
|
1344
3377
|
{
|
|
@@ -1348,16 +3381,29 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
1348
3381
|
className
|
|
1349
3382
|
),
|
|
1350
3383
|
...props,
|
|
1351
|
-
children: /* @__PURE__ */ jsx(
|
|
3384
|
+
children: /* @__PURE__ */ jsx(
|
|
3385
|
+
RadioGroup$1.Indicator,
|
|
3386
|
+
{
|
|
3387
|
+
"data-slot": "radio-group-indicator",
|
|
3388
|
+
className: "flex size-4 items-center justify-center",
|
|
3389
|
+
children: /* @__PURE__ */ jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
|
|
3390
|
+
}
|
|
3391
|
+
)
|
|
1352
3392
|
}
|
|
1353
3393
|
);
|
|
1354
3394
|
}
|
|
1355
|
-
function ResizablePanelGroup({
|
|
3395
|
+
function ResizablePanelGroup({
|
|
3396
|
+
className,
|
|
3397
|
+
...props
|
|
3398
|
+
}) {
|
|
1356
3399
|
return /* @__PURE__ */ jsx(
|
|
1357
|
-
ResizablePrimitive.
|
|
3400
|
+
ResizablePrimitive.Group,
|
|
1358
3401
|
{
|
|
1359
3402
|
"data-slot": "resizable-panel-group",
|
|
1360
|
-
className: cn(
|
|
3403
|
+
className: cn(
|
|
3404
|
+
"flex h-full w-full aria-[orientation=vertical]:flex-col",
|
|
3405
|
+
className
|
|
3406
|
+
),
|
|
1361
3407
|
...props
|
|
1362
3408
|
}
|
|
1363
3409
|
);
|
|
@@ -1371,7 +3417,7 @@ function ResizableHandle({
|
|
|
1371
3417
|
...props
|
|
1372
3418
|
}) {
|
|
1373
3419
|
return /* @__PURE__ */ jsx(
|
|
1374
|
-
ResizablePrimitive.
|
|
3420
|
+
ResizablePrimitive.Separator,
|
|
1375
3421
|
{
|
|
1376
3422
|
"data-slot": "resizable-handle",
|
|
1377
3423
|
className: cn(
|
|
@@ -1558,7 +3604,7 @@ function Slider({
|
|
|
1558
3604
|
max = 100,
|
|
1559
3605
|
...props
|
|
1560
3606
|
}) {
|
|
1561
|
-
const _values =
|
|
3607
|
+
const _values = React8.useMemo(
|
|
1562
3608
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
1563
3609
|
[value, defaultValue, min, max]
|
|
1564
3610
|
);
|
|
@@ -1602,37 +3648,8 @@ function Slider({
|
|
|
1602
3648
|
}
|
|
1603
3649
|
);
|
|
1604
3650
|
}
|
|
1605
|
-
var Toaster = ({ ...props }) => {
|
|
1606
|
-
const { theme = "system" } = useTheme();
|
|
1607
|
-
return /* @__PURE__ */ jsx(
|
|
1608
|
-
Toaster$1,
|
|
1609
|
-
{
|
|
1610
|
-
theme,
|
|
1611
|
-
className: "toaster group",
|
|
1612
|
-
icons: {
|
|
1613
|
-
success: /* @__PURE__ */ jsx(CircleCheckIcon, { className: "size-4" }),
|
|
1614
|
-
info: /* @__PURE__ */ jsx(InfoIcon, { className: "size-4" }),
|
|
1615
|
-
warning: /* @__PURE__ */ jsx(TriangleAlertIcon, { className: "size-4" }),
|
|
1616
|
-
error: /* @__PURE__ */ jsx(OctagonXIcon, { className: "size-4" }),
|
|
1617
|
-
loading: /* @__PURE__ */ jsx(Loader2Icon, { className: "size-4 animate-spin" })
|
|
1618
|
-
},
|
|
1619
|
-
style: {
|
|
1620
|
-
"--normal-bg": "var(--popover)",
|
|
1621
|
-
"--normal-text": "var(--popover-foreground)",
|
|
1622
|
-
"--normal-border": "var(--border)",
|
|
1623
|
-
"--border-radius": "var(--radius)"
|
|
1624
|
-
},
|
|
1625
|
-
toastOptions: {
|
|
1626
|
-
classNames: {
|
|
1627
|
-
toast: "cn-toast"
|
|
1628
|
-
}
|
|
1629
|
-
},
|
|
1630
|
-
...props
|
|
1631
|
-
}
|
|
1632
|
-
);
|
|
1633
|
-
};
|
|
1634
3651
|
function Spinner({ className, ...props }) {
|
|
1635
|
-
return /* @__PURE__ */ jsx(Loader2Icon, { role: "status", "aria-label": "Loading", className: cn("size-4 animate-spin", className), ...props });
|
|
3652
|
+
return /* @__PURE__ */ jsx(Loader2Icon, { "data-slot": "spinner", role: "status", "aria-label": "Loading", className: cn("size-4 animate-spin", className), ...props });
|
|
1636
3653
|
}
|
|
1637
3654
|
function Switch({
|
|
1638
3655
|
className,
|
|
@@ -1738,6 +3755,178 @@ function TabsContent({
|
|
|
1738
3755
|
}
|
|
1739
3756
|
);
|
|
1740
3757
|
}
|
|
3758
|
+
var toast = Toast$1.createToastManager();
|
|
3759
|
+
function ToastProvider({ ...props }) {
|
|
3760
|
+
return /* @__PURE__ */ jsx(Toast$1.Provider, { ...props });
|
|
3761
|
+
}
|
|
3762
|
+
function ToastPortal({ ...props }) {
|
|
3763
|
+
return /* @__PURE__ */ jsx(Toast$1.Portal, { "data-slot": "toast-portal", ...props });
|
|
3764
|
+
}
|
|
3765
|
+
function ToastViewport({ className, ...props }) {
|
|
3766
|
+
return /* @__PURE__ */ jsx(
|
|
3767
|
+
Toast$1.Viewport,
|
|
3768
|
+
{
|
|
3769
|
+
"data-slot": "toast-viewport",
|
|
3770
|
+
className: cn(
|
|
3771
|
+
"pointer-events-none fixed inset-x-4 bottom-4 z-50 mx-auto w-auto max-w-sm outline-none sm:right-4 sm:left-auto sm:mx-0 sm:w-full",
|
|
3772
|
+
className
|
|
3773
|
+
),
|
|
3774
|
+
...props
|
|
3775
|
+
}
|
|
3776
|
+
);
|
|
3777
|
+
}
|
|
3778
|
+
function Toast({ className, ...props }) {
|
|
3779
|
+
return /* @__PURE__ */ jsx(
|
|
3780
|
+
Toast$1.Root,
|
|
3781
|
+
{
|
|
3782
|
+
"data-slot": "toast",
|
|
3783
|
+
className: cn(
|
|
3784
|
+
"group/toast pointer-events-auto absolute right-0 bottom-0 z-[calc(1000-var(--toast-index))] w-full origin-bottom rounded-none border bg-popover text-popover-foreground shadow-lg will-change-transform outline-none select-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
|
|
3785
|
+
"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]",
|
|
3786
|
+
"h-(--height) [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]",
|
|
3787
|
+
"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']",
|
|
3788
|
+
"data-expanded:h-(--toast-height) data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]",
|
|
3789
|
+
"data-limited:opacity-0 data-starting-style:[transform:translateY(150%)]",
|
|
3790
|
+
"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]",
|
|
3791
|
+
"data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]",
|
|
3792
|
+
"data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]",
|
|
3793
|
+
"data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]",
|
|
3794
|
+
"data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",
|
|
3795
|
+
"data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]",
|
|
3796
|
+
"data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]",
|
|
3797
|
+
"data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]",
|
|
3798
|
+
"data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",
|
|
3799
|
+
className
|
|
3800
|
+
),
|
|
3801
|
+
...props
|
|
3802
|
+
}
|
|
3803
|
+
);
|
|
3804
|
+
}
|
|
3805
|
+
function ToastContent({ className, ...props }) {
|
|
3806
|
+
return /* @__PURE__ */ jsx(
|
|
3807
|
+
Toast$1.Content,
|
|
3808
|
+
{
|
|
3809
|
+
"data-slot": "toast-content",
|
|
3810
|
+
className: cn(
|
|
3811
|
+
"flex h-full items-center gap-3 overflow-hidden p-4 transition-opacity duration-250 ease-[cubic-bezier(0.22,1,0.36,1)] data-behind:opacity-0 data-expanded:opacity-100",
|
|
3812
|
+
className
|
|
3813
|
+
),
|
|
3814
|
+
...props
|
|
3815
|
+
}
|
|
3816
|
+
);
|
|
3817
|
+
}
|
|
3818
|
+
function ToastTitle({ className, ...props }) {
|
|
3819
|
+
return /* @__PURE__ */ jsx(
|
|
3820
|
+
Toast$1.Title,
|
|
3821
|
+
{
|
|
3822
|
+
"data-slot": "toast-title",
|
|
3823
|
+
className: cn("text-sm font-medium", className),
|
|
3824
|
+
...props
|
|
3825
|
+
}
|
|
3826
|
+
);
|
|
3827
|
+
}
|
|
3828
|
+
function ToastDescription({
|
|
3829
|
+
className,
|
|
3830
|
+
...props
|
|
3831
|
+
}) {
|
|
3832
|
+
return /* @__PURE__ */ jsx(
|
|
3833
|
+
Toast$1.Description,
|
|
3834
|
+
{
|
|
3835
|
+
"data-slot": "toast-description",
|
|
3836
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
3837
|
+
...props
|
|
3838
|
+
}
|
|
3839
|
+
);
|
|
3840
|
+
}
|
|
3841
|
+
function ToastAction({
|
|
3842
|
+
className,
|
|
3843
|
+
render = /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm" }),
|
|
3844
|
+
...props
|
|
3845
|
+
}) {
|
|
3846
|
+
return /* @__PURE__ */ jsx(
|
|
3847
|
+
Toast$1.Action,
|
|
3848
|
+
{
|
|
3849
|
+
"data-slot": "toast-action",
|
|
3850
|
+
render,
|
|
3851
|
+
className: cn("shrink-0", className),
|
|
3852
|
+
...props
|
|
3853
|
+
}
|
|
3854
|
+
);
|
|
3855
|
+
}
|
|
3856
|
+
function ToastClose({
|
|
3857
|
+
className,
|
|
3858
|
+
children,
|
|
3859
|
+
render = /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon-sm" }),
|
|
3860
|
+
...props
|
|
3861
|
+
}) {
|
|
3862
|
+
return /* @__PURE__ */ jsx(
|
|
3863
|
+
Toast$1.Close,
|
|
3864
|
+
{
|
|
3865
|
+
"data-slot": "toast-close",
|
|
3866
|
+
"aria-label": "Close toast",
|
|
3867
|
+
render,
|
|
3868
|
+
className: cn(
|
|
3869
|
+
"relative shrink-0 text-muted-foreground after:absolute after:-inset-2 after:content-[''] hover:text-foreground",
|
|
3870
|
+
className
|
|
3871
|
+
),
|
|
3872
|
+
...props,
|
|
3873
|
+
children: children ?? /* @__PURE__ */ jsx(XIcon, { "aria-hidden": "true" })
|
|
3874
|
+
}
|
|
3875
|
+
);
|
|
3876
|
+
}
|
|
3877
|
+
function ToastIcon({ type }) {
|
|
3878
|
+
let icon = null;
|
|
3879
|
+
if (type === "success") {
|
|
3880
|
+
icon = /* @__PURE__ */ jsx(CircleCheckIcon, { "aria-hidden": "true" });
|
|
3881
|
+
}
|
|
3882
|
+
if (type === "info") {
|
|
3883
|
+
icon = /* @__PURE__ */ jsx(InfoIcon, { "aria-hidden": "true" });
|
|
3884
|
+
}
|
|
3885
|
+
if (type === "warning") {
|
|
3886
|
+
icon = /* @__PURE__ */ jsx(TriangleAlertIcon, { "aria-hidden": "true" });
|
|
3887
|
+
}
|
|
3888
|
+
if (type === "error") {
|
|
3889
|
+
icon = /* @__PURE__ */ jsx(OctagonXIcon, { className: "text-destructive", "aria-hidden": "true" });
|
|
3890
|
+
}
|
|
3891
|
+
if (type === "loading") {
|
|
3892
|
+
icon = /* @__PURE__ */ jsx(Loader2Icon, { className: "animate-spin", "aria-hidden": "true" });
|
|
3893
|
+
}
|
|
3894
|
+
if (!icon) {
|
|
3895
|
+
return null;
|
|
3896
|
+
}
|
|
3897
|
+
return /* @__PURE__ */ jsx(
|
|
3898
|
+
"span",
|
|
3899
|
+
{
|
|
3900
|
+
"data-slot": "toast-icon",
|
|
3901
|
+
className: "shrink-0 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
3902
|
+
children: icon
|
|
3903
|
+
}
|
|
3904
|
+
);
|
|
3905
|
+
}
|
|
3906
|
+
function ToastList() {
|
|
3907
|
+
const { toasts } = Toast$1.useToastManager();
|
|
3908
|
+
return toasts.map((toastItem) => /* @__PURE__ */ jsx(Toast, { toast: toastItem, children: /* @__PURE__ */ jsxs(ToastContent, { children: [
|
|
3909
|
+
/* @__PURE__ */ jsx(ToastIcon, { type: toastItem.type }),
|
|
3910
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
3911
|
+
/* @__PURE__ */ jsx(ToastTitle, {}),
|
|
3912
|
+
/* @__PURE__ */ jsx(ToastDescription, {})
|
|
3913
|
+
] }),
|
|
3914
|
+
/* @__PURE__ */ jsx(ToastAction, {}),
|
|
3915
|
+
/* @__PURE__ */ jsx(ToastClose, {})
|
|
3916
|
+
] }) }, toastItem.id));
|
|
3917
|
+
}
|
|
3918
|
+
function Toaster({
|
|
3919
|
+
children,
|
|
3920
|
+
toastManager = toast,
|
|
3921
|
+
...props
|
|
3922
|
+
}) {
|
|
3923
|
+
return /* @__PURE__ */ jsxs(ToastProvider, { toastManager, ...props, children: [
|
|
3924
|
+
children,
|
|
3925
|
+
/* @__PURE__ */ jsx(ToastPortal, { children: /* @__PURE__ */ jsx(ToastViewport, { children: /* @__PURE__ */ jsx(ToastList, {}) }) })
|
|
3926
|
+
] });
|
|
3927
|
+
}
|
|
3928
|
+
var createToastManager = Toast$1.createToastManager;
|
|
3929
|
+
var useToastManager = Toast$1.useToastManager;
|
|
1741
3930
|
var toggleVariants = cva(
|
|
1742
3931
|
"group/toggle inline-flex items-center justify-center gap-1 rounded-none text-xs font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1743
3932
|
{
|
|
@@ -1764,19 +3953,26 @@ function Toggle({
|
|
|
1764
3953
|
size = "default",
|
|
1765
3954
|
...props
|
|
1766
3955
|
}) {
|
|
1767
|
-
return /* @__PURE__ */ jsx(
|
|
3956
|
+
return /* @__PURE__ */ jsx(
|
|
3957
|
+
Toggle$1.Root,
|
|
3958
|
+
{
|
|
3959
|
+
"data-slot": "toggle",
|
|
3960
|
+
className: cn(toggleVariants({ variant, size, className })),
|
|
3961
|
+
...props
|
|
3962
|
+
}
|
|
3963
|
+
);
|
|
1768
3964
|
}
|
|
1769
|
-
var ToggleGroupContext =
|
|
3965
|
+
var ToggleGroupContext = React8.createContext({
|
|
1770
3966
|
size: "default",
|
|
1771
3967
|
variant: "default",
|
|
1772
|
-
spacing:
|
|
3968
|
+
spacing: 2,
|
|
1773
3969
|
orientation: "horizontal"
|
|
1774
3970
|
});
|
|
1775
3971
|
function ToggleGroup({
|
|
1776
3972
|
className,
|
|
1777
3973
|
variant,
|
|
1778
3974
|
size,
|
|
1779
|
-
spacing =
|
|
3975
|
+
spacing = 2,
|
|
1780
3976
|
orientation = "horizontal",
|
|
1781
3977
|
children,
|
|
1782
3978
|
...props
|
|
@@ -1795,7 +3991,13 @@ function ToggleGroup({
|
|
|
1795
3991
|
className
|
|
1796
3992
|
),
|
|
1797
3993
|
...props,
|
|
1798
|
-
children: /* @__PURE__ */ jsx(
|
|
3994
|
+
children: /* @__PURE__ */ jsx(
|
|
3995
|
+
ToggleGroupContext.Provider,
|
|
3996
|
+
{
|
|
3997
|
+
value: { variant, size, spacing, orientation },
|
|
3998
|
+
children
|
|
3999
|
+
}
|
|
4000
|
+
)
|
|
1799
4001
|
}
|
|
1800
4002
|
);
|
|
1801
4003
|
}
|
|
@@ -1806,7 +4008,7 @@ function ToggleGroupItem({
|
|
|
1806
4008
|
size = "default",
|
|
1807
4009
|
...props
|
|
1808
4010
|
}) {
|
|
1809
|
-
const context =
|
|
4011
|
+
const context = React8.useContext(ToggleGroupContext);
|
|
1810
4012
|
return /* @__PURE__ */ jsx(
|
|
1811
4013
|
ToggleGroup$1.Item,
|
|
1812
4014
|
{
|
|
@@ -1827,7 +4029,33 @@ function ToggleGroupItem({
|
|
|
1827
4029
|
}
|
|
1828
4030
|
);
|
|
1829
4031
|
}
|
|
4032
|
+
var maxWidthClass = {
|
|
4033
|
+
sm: "max-w-screen-sm",
|
|
4034
|
+
md: "max-w-screen-md",
|
|
4035
|
+
lg: "max-w-screen-lg",
|
|
4036
|
+
xl: "max-w-screen-xl",
|
|
4037
|
+
"2xl": "max-w-screen-2xl"
|
|
4038
|
+
};
|
|
4039
|
+
function Container({ as: Component = "div", maxWidth = "xl", fluid = false, center, fullHeight = false, className, children, ...props }) {
|
|
4040
|
+
const width = !fluid && maxWidth ? maxWidthClass[maxWidth] : "max-w-none";
|
|
4041
|
+
return /* @__PURE__ */ jsx(
|
|
4042
|
+
Component,
|
|
4043
|
+
{
|
|
4044
|
+
className: cn(
|
|
4045
|
+
"w-full px-4 sm:px-6 lg:px-8",
|
|
4046
|
+
width,
|
|
4047
|
+
center === "x" && "mx-auto",
|
|
4048
|
+
center === "y" && "flex flex-col justify-center",
|
|
4049
|
+
center === "both" && "flex items-center justify-center",
|
|
4050
|
+
center !== "x" && center != null && fullHeight && "min-h-screen",
|
|
4051
|
+
className
|
|
4052
|
+
),
|
|
4053
|
+
...props,
|
|
4054
|
+
children
|
|
4055
|
+
}
|
|
4056
|
+
);
|
|
4057
|
+
}
|
|
1830
4058
|
|
|
1831
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Badge, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Toaster, Toggle, ToggleGroup, ToggleGroupItem, badgeVariants, buttonGroupVariants, navigationMenuTriggerStyle, tabsListVariants, toggleVariants };
|
|
4059
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Badge, Bubble, BubbleContent, BubbleGroup, BubbleReactions, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Container, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, badgeVariants, buttonGroupVariants, createToastManager, markerVariants, navigationMenuTriggerStyle, tabsListVariants, toast, toggleVariants, useCarousel, useComboboxAnchor, useDirection, useToastManager };
|
|
1832
4060
|
//# sourceMappingURL=index.js.map
|
|
1833
4061
|
//# sourceMappingURL=index.js.map
|