@chaibuilder/sdk 1.2.9 → 1.2.10-7.beta.2
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 +26 -21
- package/dist/CodeEditor-2fowVPcS.cjs +143 -0
- package/dist/CodeEditor-b6uePnTe.js +143 -0
- package/dist/STRINGS-RCf9qnaS.cjs +9 -0
- package/dist/STRINGS-t8UhMYZ6.js +10 -0
- package/dist/Topbar-O21Nrw2O.cjs +137 -0
- package/dist/Topbar-xFfdTq1m.js +137 -0
- package/dist/UnsplashImages-awQiGFMX.cjs +280 -0
- package/dist/UnsplashImages-qQmFIWEy.js +280 -0
- package/dist/UploadImages-a8Hl0tyg.cjs +170 -0
- package/dist/UploadImages-cudxJepv.js +170 -0
- package/dist/context-menu-VMB9i0d8.cjs +1074 -0
- package/dist/context-menu-mp3Gu2KA.js +1043 -0
- package/dist/controls-4t-C_rP2.cjs +233 -0
- package/dist/controls-fQIu127i.js +234 -0
- package/dist/core.cjs +135 -1
- package/dist/core.d.ts +344 -119
- package/dist/core.js +111 -88
- package/dist/iconBase-OGxLGBQ1.cjs +156 -0
- package/dist/iconBase-Ofd16yeE.js +157 -0
- package/dist/index-R7v8ZYnu.js +12110 -0
- package/dist/index-WHVUpVPa.cjs +12125 -0
- package/dist/jsx-runtime-_yxTjXEh.js +931 -0
- package/dist/jsx-runtime-vPqyLgmD.cjs +930 -0
- package/dist/mockServiceWorker.js +18 -10
- package/dist/plugin-RAiM74uD.cjs +116 -0
- package/dist/plugin-T1qbgBUO.js +55 -0
- package/dist/plugin-YcxlCmRm.js +117 -0
- package/dist/plugin-cYi6q9KC.cjs +54 -0
- package/dist/render.cjs +215 -1
- package/dist/render.d.ts +21 -40
- package/dist/render.js +190 -98
- package/dist/runtime.cjs +28 -0
- package/dist/runtime.d.ts +5 -0
- package/dist/runtime.js +21 -0
- package/dist/style.css +1524 -1
- package/dist/tailwind.cjs +80 -1
- package/dist/tailwind.d.ts +49 -8
- package/dist/tailwind.js +23 -25
- package/dist/ui.cjs +410 -1
- package/dist/ui.d.ts +3 -13
- package/dist/ui.js +374 -163
- package/dist/web-blocks.cjs +1246 -9
- package/dist/web-blocks.d.ts +1 -1
- package/dist/web-blocks.js +961 -789
- package/package.json +66 -83
- package/dist/AddBlocks-tMxKPoen.js +0 -225
- package/dist/AddBlocks-x2LkOHSj.cjs +0 -1
- package/dist/BrandingOptions-EzT9UYd6.cjs +0 -1
- package/dist/BrandingOptions-QJJ1y5ez.js +0 -194
- package/dist/CanvasArea-mlNKmCOh.js +0 -1425
- package/dist/CanvasArea-xs4wM64L.cjs +0 -60
- package/dist/CurrentPage-aaU4F7wi.cjs +0 -1
- package/dist/CurrentPage-lBy25sZn.js +0 -111
- package/dist/Functions-7jnEwJyw.js +0 -15
- package/dist/Functions-N3yhPYKY.cjs +0 -1
- package/dist/Layers-3Xs4A5i8.js +0 -404
- package/dist/Layers-eaHy5PK9.cjs +0 -1
- package/dist/MODIFIERS-2FeVfZQ9.cjs +0 -1
- package/dist/MODIFIERS-RiXS5Mn1.js +0 -67
- package/dist/MarkAsGlobalBlock-BjP-Rqlf.js +0 -88
- package/dist/MarkAsGlobalBlock-X5dNmZcb.cjs +0 -1
- package/dist/PagesPanel--BZhafnt.js +0 -69
- package/dist/PagesPanel-gGKCV394.cjs +0 -1
- package/dist/ProjectPanel-YcLkM-DW.js +0 -90
- package/dist/ProjectPanel-yFJRy0_E.cjs +0 -1
- package/dist/Settings-7wlLcvoh.cjs +0 -1
- package/dist/Settings-TAgX4hov.js +0 -2186
- package/dist/SidePanels-5H4j0mIs.cjs +0 -1
- package/dist/SidePanels-btVQQkVK.js +0 -349
- package/dist/Topbar-V8xCetWF.cjs +0 -1
- package/dist/Topbar-j4t4AgCq.js +0 -116
- package/dist/UnsplashImages-41Y3q5_Q.js +0 -200
- package/dist/UnsplashImages-DbHky6cj.cjs +0 -1
- package/dist/UploadImages-DnQ95_NW.cjs +0 -1
- package/dist/UploadImages-xBg-kbKv.js +0 -138
- package/dist/_commonjsHelpers-UyOWmZb0.js +0 -8
- package/dist/_commonjsHelpers-wDK0ZLPo.cjs +0 -1
- package/dist/add-page-modal-MwS7iXn_.cjs +0 -1
- package/dist/add-page-modal-cm8damU2.js +0 -108
- package/dist/confirm-alert-U7-NcG7G.cjs +0 -1
- package/dist/confirm-alert-i4pM3mOt.js +0 -62
- package/dist/controls-Dy1qa8Dc.cjs +0 -1
- package/dist/controls-XPXGHKht.js +0 -182
- package/dist/delete-page-modal-5o4jXu-z.cjs +0 -1
- package/dist/delete-page-modal-YrIBvfFA.js +0 -88
- package/dist/email-blocks.cjs +0 -1
- package/dist/email-blocks.d.ts +0 -3
- package/dist/email-blocks.js +0 -274
- package/dist/form-OVmsLOrc.js +0 -125
- package/dist/form-VbouZlAW.cjs +0 -1
- package/dist/functions-Ox_svtKm.cjs +0 -1
- package/dist/functions-xIebp8Aw.js +0 -23
- package/dist/html-to-json-2PeOCVey.cjs +0 -1
- package/dist/html-to-json-57841sEK.js +0 -183
- package/dist/index-H6vIwGfD.cjs +0 -1
- package/dist/index-N50dZnlC.cjs +0 -206
- package/dist/index-e0c8PmRQ.js +0 -205
- package/dist/index-gi1LIOCw.cjs +0 -1
- package/dist/index-niHREMmR.js +0 -2938
- package/dist/index-pZhGT8uT.js +0 -41620
- package/dist/jsx-runtime-WbnYoNE9.js +0 -634
- package/dist/jsx-runtime-Z_BpKhVy.cjs +0 -27
- package/dist/lib.cjs +0 -4
- package/dist/lib.d.ts +0 -78
- package/dist/lib.js +0 -1322
- package/dist/page-viewer-SLt8XgYv.cjs +0 -1
- package/dist/page-viewer-feqJr1QI.js +0 -115
- package/dist/project-general-setting-SgagORzW.js +0 -83
- package/dist/project-general-setting-ym0yCdOq.cjs +0 -1
- package/dist/project-seo-setting-Snn2nZgS.cjs +0 -1
- package/dist/project-seo-setting-wxAGEkd_.js +0 -85
- package/dist/server.cjs +0 -1
- package/dist/server.d.ts +0 -299
- package/dist/server.js +0 -216
- package/dist/single-page-detail-IPod1o5P.cjs +0 -1
- package/dist/single-page-detail-dnWMyg6P.js +0 -222
- package/dist/studio.cjs +0 -1
- package/dist/studio.d.ts +0 -13
- package/dist/studio.js +0 -58
- package/dist/useAddBlockByDrop-_nwI4W3q.js +0 -20
- package/dist/useAddBlockByDrop-inkD7Lck.cjs +0 -1
- package/dist/utils-AvyFzbPC.js +0 -1075
- package/dist/utils-PTxFk6qT.cjs +0 -1
|
@@ -0,0 +1,1043 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-_yxTjXEh.js";
|
|
2
|
+
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
5
|
+
import { ChevronDownIcon, Cross2Icon, CaretSortIcon, CheckIcon, ChevronRightIcon, DotFilledIcon, MagnifyingGlassIcon } from "@radix-ui/react-icons";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
8
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
9
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
10
|
+
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
11
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
12
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
13
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
14
|
+
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
15
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
16
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
17
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
18
|
+
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
19
|
+
import { Command as Command$1 } from "cmdk";
|
|
20
|
+
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
21
|
+
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
22
|
+
import { clsx } from "clsx";
|
|
23
|
+
import { twMerge } from "tailwind-merge";
|
|
24
|
+
const cn = (...inputs) => twMerge(clsx(inputs));
|
|
25
|
+
const Switch = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
26
|
+
SwitchPrimitives.Root,
|
|
27
|
+
{
|
|
28
|
+
className: cn(
|
|
29
|
+
"peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-400 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-slate-900 data-[state=unchecked]:bg-slate-200 dark:focus-visible:ring-slate-800 dark:focus-visible:ring-offset-slate-950 dark:data-[state=checked]:bg-slate-50 dark:data-[state=unchecked]:bg-slate-800",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
...props,
|
|
33
|
+
ref,
|
|
34
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
35
|
+
SwitchPrimitives.Thumb,
|
|
36
|
+
{
|
|
37
|
+
className: cn(
|
|
38
|
+
"pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 dark:bg-slate-950"
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
));
|
|
44
|
+
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
45
|
+
const buttonVariants = cva(
|
|
46
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
|
|
47
|
+
{
|
|
48
|
+
variants: {
|
|
49
|
+
variant: {
|
|
50
|
+
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
51
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
52
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
53
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
54
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
55
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
56
|
+
},
|
|
57
|
+
size: {
|
|
58
|
+
default: "h-9 px-4 py-2",
|
|
59
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
60
|
+
lg: "h-10 rounded-md px-8",
|
|
61
|
+
icon: "h-9 w-9"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
defaultVariants: {
|
|
65
|
+
variant: "default",
|
|
66
|
+
size: "default"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
const Button = React.forwardRef(
|
|
71
|
+
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
72
|
+
const Comp = asChild ? Slot : "button";
|
|
73
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
Button.displayName = "Button";
|
|
77
|
+
const Accordion = AccordionPrimitive.Root;
|
|
78
|
+
const AccordionItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionPrimitive.Item, { ref, className: cn("border-b", className), ...props }));
|
|
79
|
+
AccordionItem.displayName = "AccordionItem";
|
|
80
|
+
const AccordionTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
81
|
+
AccordionPrimitive.Trigger,
|
|
82
|
+
{
|
|
83
|
+
ref,
|
|
84
|
+
className: cn(
|
|
85
|
+
"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
|
86
|
+
className
|
|
87
|
+
),
|
|
88
|
+
...props,
|
|
89
|
+
children: [
|
|
90
|
+
children,
|
|
91
|
+
props.hideArrow ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDownIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
) }));
|
|
95
|
+
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
96
|
+
const AccordionContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
97
|
+
AccordionPrimitive.Content,
|
|
98
|
+
{
|
|
99
|
+
ref,
|
|
100
|
+
className: cn(
|
|
101
|
+
"text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
102
|
+
className
|
|
103
|
+
),
|
|
104
|
+
...props,
|
|
105
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "pb-4 pt-0", children })
|
|
106
|
+
}
|
|
107
|
+
));
|
|
108
|
+
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
109
|
+
const badgeVariants = cva(
|
|
110
|
+
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
111
|
+
{
|
|
112
|
+
variants: {
|
|
113
|
+
variant: {
|
|
114
|
+
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
115
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
116
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
|
|
117
|
+
outline: "text-foreground"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
defaultVariants: {
|
|
121
|
+
variant: "default"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
const Badge = ({ className, variant, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
126
|
+
const AlertDialog = AlertDialogPrimitive.Root;
|
|
127
|
+
const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
128
|
+
const AlertDialogPortal = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDialogPrimitive.Portal, { className: cn(className), ...props });
|
|
129
|
+
AlertDialogPortal.displayName = AlertDialogPrimitive.Portal.displayName;
|
|
130
|
+
const AlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
131
|
+
AlertDialogPrimitive.Overlay,
|
|
132
|
+
{
|
|
133
|
+
className: cn(
|
|
134
|
+
"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
135
|
+
className
|
|
136
|
+
),
|
|
137
|
+
...props,
|
|
138
|
+
ref
|
|
139
|
+
}
|
|
140
|
+
));
|
|
141
|
+
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
142
|
+
const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(AlertDialogPortal, { children: [
|
|
143
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AlertDialogOverlay, {}),
|
|
144
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
145
|
+
AlertDialogPrimitive.Content,
|
|
146
|
+
{
|
|
147
|
+
ref,
|
|
148
|
+
className: cn(
|
|
149
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
|
|
150
|
+
className
|
|
151
|
+
),
|
|
152
|
+
...props
|
|
153
|
+
}
|
|
154
|
+
)
|
|
155
|
+
] }));
|
|
156
|
+
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
157
|
+
const AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
158
|
+
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
159
|
+
const AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
160
|
+
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
161
|
+
const AlertDialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
|
|
162
|
+
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
163
|
+
const AlertDialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
164
|
+
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
165
|
+
const AlertDialogAction = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
|
|
166
|
+
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
167
|
+
const AlertDialogCancel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
168
|
+
AlertDialogPrimitive.Cancel,
|
|
169
|
+
{
|
|
170
|
+
ref,
|
|
171
|
+
className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className),
|
|
172
|
+
...props
|
|
173
|
+
}
|
|
174
|
+
));
|
|
175
|
+
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
176
|
+
const Dialog = SheetPrimitive.Root;
|
|
177
|
+
const DialogTrigger = SheetPrimitive.Trigger;
|
|
178
|
+
const DialogPortal = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx(SheetPrimitive.Portal, { className: cn(className), ...props });
|
|
179
|
+
DialogPortal.displayName = SheetPrimitive.Portal.displayName;
|
|
180
|
+
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
181
|
+
SheetPrimitive.Overlay,
|
|
182
|
+
{
|
|
183
|
+
ref,
|
|
184
|
+
className: cn(
|
|
185
|
+
"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
186
|
+
className
|
|
187
|
+
),
|
|
188
|
+
...props
|
|
189
|
+
}
|
|
190
|
+
));
|
|
191
|
+
DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
192
|
+
const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogPortal, { children: [
|
|
193
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogOverlay, {}),
|
|
194
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
195
|
+
SheetPrimitive.Content,
|
|
196
|
+
{
|
|
197
|
+
ref,
|
|
198
|
+
className: cn(
|
|
199
|
+
"fixed left-[50%] top-[50%] z-[999] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
|
|
200
|
+
className
|
|
201
|
+
),
|
|
202
|
+
...props,
|
|
203
|
+
children: [
|
|
204
|
+
children,
|
|
205
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
206
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Cross2Icon, { className: "h-4 w-4" }),
|
|
207
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Close" })
|
|
208
|
+
] })
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
] }));
|
|
213
|
+
DialogContent.displayName = SheetPrimitive.Content.displayName;
|
|
214
|
+
const DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
|
|
215
|
+
DialogHeader.displayName = "DialogHeader";
|
|
216
|
+
const DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
217
|
+
DialogFooter.displayName = "DialogFooter";
|
|
218
|
+
const DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
219
|
+
SheetPrimitive.Title,
|
|
220
|
+
{
|
|
221
|
+
ref,
|
|
222
|
+
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
223
|
+
...props
|
|
224
|
+
}
|
|
225
|
+
));
|
|
226
|
+
DialogTitle.displayName = SheetPrimitive.Title.displayName;
|
|
227
|
+
const DialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
228
|
+
DialogDescription.displayName = SheetPrimitive.Description.displayName;
|
|
229
|
+
const Card = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, className: cn("rounded-xl border bg-card text-card-foreground shadow", className), ...props }));
|
|
230
|
+
Card.displayName = "Card";
|
|
231
|
+
const CardHeader = React.forwardRef(
|
|
232
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
233
|
+
);
|
|
234
|
+
CardHeader.displayName = "CardHeader";
|
|
235
|
+
const CardTitle = React.forwardRef(
|
|
236
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })
|
|
237
|
+
);
|
|
238
|
+
CardTitle.displayName = "CardTitle";
|
|
239
|
+
const CardDescription = React.forwardRef(
|
|
240
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
241
|
+
);
|
|
242
|
+
CardDescription.displayName = "CardDescription";
|
|
243
|
+
const CardContent = React.forwardRef(
|
|
244
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
245
|
+
);
|
|
246
|
+
CardContent.displayName = "CardContent";
|
|
247
|
+
const CardFooter = React.forwardRef(
|
|
248
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, className: cn(" flex items-center p-6 pt-0", className), ...props })
|
|
249
|
+
);
|
|
250
|
+
CardFooter.displayName = "CardFooter";
|
|
251
|
+
const Input = React.forwardRef(({ className, type, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
252
|
+
"input",
|
|
253
|
+
{
|
|
254
|
+
type,
|
|
255
|
+
className: cn(
|
|
256
|
+
"flex h-9 w-full rounded-md border border-border bg-background px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
257
|
+
className
|
|
258
|
+
),
|
|
259
|
+
ref,
|
|
260
|
+
...props,
|
|
261
|
+
autoCapitalize: "off",
|
|
262
|
+
autoCorrect: "off",
|
|
263
|
+
spellCheck: "false"
|
|
264
|
+
}
|
|
265
|
+
));
|
|
266
|
+
Input.displayName = "Input";
|
|
267
|
+
const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
|
|
268
|
+
const Label = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
|
|
269
|
+
Label.displayName = LabelPrimitive.Root.displayName;
|
|
270
|
+
const Textarea = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
271
|
+
"textarea",
|
|
272
|
+
{
|
|
273
|
+
className: cn(
|
|
274
|
+
"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
275
|
+
className
|
|
276
|
+
),
|
|
277
|
+
ref,
|
|
278
|
+
...props,
|
|
279
|
+
autoCapitalize: "off",
|
|
280
|
+
autoCorrect: "off",
|
|
281
|
+
spellCheck: "false"
|
|
282
|
+
}
|
|
283
|
+
));
|
|
284
|
+
Textarea.displayName = "Textarea";
|
|
285
|
+
const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(ScrollAreaPrimitive.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
|
|
286
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
287
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ScrollBar, {}),
|
|
288
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ScrollAreaPrimitive.Corner, {})
|
|
289
|
+
] }));
|
|
290
|
+
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
291
|
+
const ScrollBar = React.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
292
|
+
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
293
|
+
{
|
|
294
|
+
ref,
|
|
295
|
+
orientation,
|
|
296
|
+
className: cn(
|
|
297
|
+
"flex touch-none select-none transition-colors",
|
|
298
|
+
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
|
|
299
|
+
orientation === "horizontal" && "h-2.5 border-t border-t-transparent p-[1px]",
|
|
300
|
+
className
|
|
301
|
+
),
|
|
302
|
+
...props,
|
|
303
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
304
|
+
}
|
|
305
|
+
));
|
|
306
|
+
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
307
|
+
const Tabs = TabsPrimitive.Root;
|
|
308
|
+
const TabsList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
309
|
+
TabsPrimitive.List,
|
|
310
|
+
{
|
|
311
|
+
ref,
|
|
312
|
+
className: cn(
|
|
313
|
+
"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
314
|
+
className
|
|
315
|
+
),
|
|
316
|
+
...props
|
|
317
|
+
}
|
|
318
|
+
));
|
|
319
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
320
|
+
const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
321
|
+
TabsPrimitive.Trigger,
|
|
322
|
+
{
|
|
323
|
+
ref,
|
|
324
|
+
className: cn(
|
|
325
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
|
|
326
|
+
className
|
|
327
|
+
),
|
|
328
|
+
...props
|
|
329
|
+
}
|
|
330
|
+
));
|
|
331
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
332
|
+
const TabsContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
333
|
+
TabsPrimitive.Content,
|
|
334
|
+
{
|
|
335
|
+
ref,
|
|
336
|
+
className: cn(
|
|
337
|
+
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
338
|
+
className
|
|
339
|
+
),
|
|
340
|
+
...props
|
|
341
|
+
}
|
|
342
|
+
));
|
|
343
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
344
|
+
const TooltipPortal = TooltipPrimitive.Portal;
|
|
345
|
+
const TooltipProvider = TooltipPrimitive.Provider;
|
|
346
|
+
const Tooltip = TooltipPrimitive.Root;
|
|
347
|
+
const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
348
|
+
const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
349
|
+
TooltipPrimitive.Content,
|
|
350
|
+
{
|
|
351
|
+
ref,
|
|
352
|
+
sideOffset,
|
|
353
|
+
className: cn(
|
|
354
|
+
"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
355
|
+
className
|
|
356
|
+
),
|
|
357
|
+
...props
|
|
358
|
+
}
|
|
359
|
+
));
|
|
360
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
361
|
+
const Popover = PopoverPrimitive.Root;
|
|
362
|
+
const PopoverTrigger = PopoverPrimitive.Trigger;
|
|
363
|
+
const PopoverContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
364
|
+
PopoverPrimitive.Content,
|
|
365
|
+
{
|
|
366
|
+
ref,
|
|
367
|
+
align,
|
|
368
|
+
sideOffset,
|
|
369
|
+
className: cn(
|
|
370
|
+
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
371
|
+
className
|
|
372
|
+
),
|
|
373
|
+
...props
|
|
374
|
+
}
|
|
375
|
+
) }));
|
|
376
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
377
|
+
const HoverCard = HoverCardPrimitive.Root;
|
|
378
|
+
const HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
379
|
+
const HoverCardContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
380
|
+
HoverCardPrimitive.Content,
|
|
381
|
+
{
|
|
382
|
+
ref,
|
|
383
|
+
align,
|
|
384
|
+
sideOffset,
|
|
385
|
+
className: cn(
|
|
386
|
+
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
387
|
+
className
|
|
388
|
+
),
|
|
389
|
+
...props
|
|
390
|
+
}
|
|
391
|
+
));
|
|
392
|
+
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
393
|
+
const Select = SelectPrimitive.Root;
|
|
394
|
+
const SelectGroup = SelectPrimitive.Group;
|
|
395
|
+
const SelectValue = SelectPrimitive.Value;
|
|
396
|
+
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
397
|
+
SelectPrimitive.Trigger,
|
|
398
|
+
{
|
|
399
|
+
ref,
|
|
400
|
+
className: cn(
|
|
401
|
+
"flex h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
402
|
+
className
|
|
403
|
+
),
|
|
404
|
+
...props,
|
|
405
|
+
children: [
|
|
406
|
+
children,
|
|
407
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(CaretSortIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
408
|
+
]
|
|
409
|
+
}
|
|
410
|
+
));
|
|
411
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
412
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
413
|
+
SelectPrimitive.Content,
|
|
414
|
+
{
|
|
415
|
+
ref,
|
|
416
|
+
className: cn(
|
|
417
|
+
"relative z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
418
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
419
|
+
className
|
|
420
|
+
),
|
|
421
|
+
position,
|
|
422
|
+
...props,
|
|
423
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
424
|
+
SelectPrimitive.Viewport,
|
|
425
|
+
{
|
|
426
|
+
className: cn(
|
|
427
|
+
"p-1",
|
|
428
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
429
|
+
),
|
|
430
|
+
children
|
|
431
|
+
}
|
|
432
|
+
)
|
|
433
|
+
}
|
|
434
|
+
) }));
|
|
435
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
436
|
+
const SelectLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.Label, { ref, className: cn("px-2 py-1.5 text-sm font-semibold", className), ...props }));
|
|
437
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
438
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
439
|
+
SelectPrimitive.Item,
|
|
440
|
+
{
|
|
441
|
+
ref,
|
|
442
|
+
className: cn(
|
|
443
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
444
|
+
className
|
|
445
|
+
),
|
|
446
|
+
...props,
|
|
447
|
+
children: [
|
|
448
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
449
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.ItemText, { children })
|
|
450
|
+
]
|
|
451
|
+
}
|
|
452
|
+
));
|
|
453
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
454
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
455
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
456
|
+
const DropdownMenu = DropdownMenuPrimitive.Root;
|
|
457
|
+
const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
458
|
+
const DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
459
|
+
const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
460
|
+
const DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
461
|
+
const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
462
|
+
const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
463
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
464
|
+
{
|
|
465
|
+
ref,
|
|
466
|
+
className: cn(
|
|
467
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
|
|
468
|
+
inset && "pl-8",
|
|
469
|
+
className
|
|
470
|
+
),
|
|
471
|
+
...props,
|
|
472
|
+
children: [
|
|
473
|
+
children,
|
|
474
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
475
|
+
]
|
|
476
|
+
}
|
|
477
|
+
));
|
|
478
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
479
|
+
const DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
480
|
+
DropdownMenuPrimitive.SubContent,
|
|
481
|
+
{
|
|
482
|
+
ref,
|
|
483
|
+
className: cn(
|
|
484
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
485
|
+
className
|
|
486
|
+
),
|
|
487
|
+
...props
|
|
488
|
+
}
|
|
489
|
+
));
|
|
490
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
491
|
+
const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
492
|
+
DropdownMenuPrimitive.Content,
|
|
493
|
+
{
|
|
494
|
+
ref,
|
|
495
|
+
sideOffset,
|
|
496
|
+
className: cn(
|
|
497
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
|
|
498
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
499
|
+
className
|
|
500
|
+
),
|
|
501
|
+
...props
|
|
502
|
+
}
|
|
503
|
+
) }));
|
|
504
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
505
|
+
const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
506
|
+
DropdownMenuPrimitive.Item,
|
|
507
|
+
{
|
|
508
|
+
ref,
|
|
509
|
+
className: cn(
|
|
510
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
511
|
+
inset && "pl-8",
|
|
512
|
+
className
|
|
513
|
+
),
|
|
514
|
+
...props
|
|
515
|
+
}
|
|
516
|
+
));
|
|
517
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
518
|
+
const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
519
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
520
|
+
{
|
|
521
|
+
ref,
|
|
522
|
+
className: cn(
|
|
523
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
524
|
+
className
|
|
525
|
+
),
|
|
526
|
+
checked,
|
|
527
|
+
...props,
|
|
528
|
+
children: [
|
|
529
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
530
|
+
children
|
|
531
|
+
]
|
|
532
|
+
}
|
|
533
|
+
));
|
|
534
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
535
|
+
const DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
536
|
+
DropdownMenuPrimitive.RadioItem,
|
|
537
|
+
{
|
|
538
|
+
ref,
|
|
539
|
+
className: cn(
|
|
540
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
541
|
+
className
|
|
542
|
+
),
|
|
543
|
+
...props,
|
|
544
|
+
children: [
|
|
545
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
546
|
+
children
|
|
547
|
+
]
|
|
548
|
+
}
|
|
549
|
+
));
|
|
550
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
551
|
+
const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
552
|
+
DropdownMenuPrimitive.Label,
|
|
553
|
+
{
|
|
554
|
+
ref,
|
|
555
|
+
className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className),
|
|
556
|
+
...props
|
|
557
|
+
}
|
|
558
|
+
));
|
|
559
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
560
|
+
const DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
|
|
561
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
562
|
+
const DropdownMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
563
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
564
|
+
const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
565
|
+
SeparatorPrimitive.Root,
|
|
566
|
+
{
|
|
567
|
+
ref,
|
|
568
|
+
decorative,
|
|
569
|
+
orientation,
|
|
570
|
+
className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className),
|
|
571
|
+
...props
|
|
572
|
+
}
|
|
573
|
+
));
|
|
574
|
+
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
575
|
+
const TOAST_LIMIT = 1;
|
|
576
|
+
const TOAST_REMOVE_DELAY = 1e6;
|
|
577
|
+
let count = 0;
|
|
578
|
+
function genId() {
|
|
579
|
+
count = (count + 1) % Number.MAX_VALUE;
|
|
580
|
+
return count.toString();
|
|
581
|
+
}
|
|
582
|
+
const toastTimeouts = /* @__PURE__ */ new Map();
|
|
583
|
+
const addToRemoveQueue = (toastId) => {
|
|
584
|
+
if (toastTimeouts.has(toastId)) {
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
const timeout = setTimeout(() => {
|
|
588
|
+
toastTimeouts.delete(toastId);
|
|
589
|
+
dispatch({
|
|
590
|
+
type: "REMOVE_TOAST",
|
|
591
|
+
toastId
|
|
592
|
+
});
|
|
593
|
+
}, TOAST_REMOVE_DELAY);
|
|
594
|
+
toastTimeouts.set(toastId, timeout);
|
|
595
|
+
};
|
|
596
|
+
const reducer = (state, action) => {
|
|
597
|
+
switch (action.type) {
|
|
598
|
+
case "ADD_TOAST":
|
|
599
|
+
return {
|
|
600
|
+
...state,
|
|
601
|
+
toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
|
|
602
|
+
};
|
|
603
|
+
case "UPDATE_TOAST":
|
|
604
|
+
return {
|
|
605
|
+
...state,
|
|
606
|
+
toasts: state.toasts.map((t) => t.id === action.toast.id ? { ...t, ...action.toast } : t)
|
|
607
|
+
};
|
|
608
|
+
case "DISMISS_TOAST": {
|
|
609
|
+
const { toastId } = action;
|
|
610
|
+
if (toastId) {
|
|
611
|
+
addToRemoveQueue(toastId);
|
|
612
|
+
} else {
|
|
613
|
+
state.toasts.forEach((toast2) => {
|
|
614
|
+
addToRemoveQueue(toast2.id);
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
return {
|
|
618
|
+
...state,
|
|
619
|
+
toasts: state.toasts.map(
|
|
620
|
+
(t) => t.id === toastId || toastId === void 0 ? {
|
|
621
|
+
...t,
|
|
622
|
+
open: false
|
|
623
|
+
} : t
|
|
624
|
+
)
|
|
625
|
+
};
|
|
626
|
+
}
|
|
627
|
+
case "REMOVE_TOAST":
|
|
628
|
+
if (action.toastId === void 0) {
|
|
629
|
+
return {
|
|
630
|
+
...state,
|
|
631
|
+
toasts: []
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
return {
|
|
635
|
+
...state,
|
|
636
|
+
toasts: state.toasts.filter((t) => t.id !== action.toastId)
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
};
|
|
640
|
+
const listeners = [];
|
|
641
|
+
let memoryState = { toasts: [] };
|
|
642
|
+
function dispatch(action) {
|
|
643
|
+
memoryState = reducer(memoryState, action);
|
|
644
|
+
listeners.forEach((listener) => {
|
|
645
|
+
listener(memoryState);
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
function toast({ ...props }) {
|
|
649
|
+
const id = genId();
|
|
650
|
+
const update = (props2) => dispatch({
|
|
651
|
+
type: "UPDATE_TOAST",
|
|
652
|
+
toast: { ...props2, id }
|
|
653
|
+
});
|
|
654
|
+
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
|
655
|
+
dispatch({
|
|
656
|
+
type: "ADD_TOAST",
|
|
657
|
+
toast: {
|
|
658
|
+
...props,
|
|
659
|
+
id,
|
|
660
|
+
open: true,
|
|
661
|
+
onOpenChange: (open) => {
|
|
662
|
+
if (!open)
|
|
663
|
+
dismiss();
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
});
|
|
667
|
+
return {
|
|
668
|
+
id,
|
|
669
|
+
dismiss,
|
|
670
|
+
update
|
|
671
|
+
};
|
|
672
|
+
}
|
|
673
|
+
function useToast() {
|
|
674
|
+
const [state, setState] = React.useState(memoryState);
|
|
675
|
+
React.useEffect(() => {
|
|
676
|
+
listeners.push(setState);
|
|
677
|
+
return () => {
|
|
678
|
+
const index = listeners.indexOf(setState);
|
|
679
|
+
if (index > -1) {
|
|
680
|
+
listeners.splice(index, 1);
|
|
681
|
+
}
|
|
682
|
+
};
|
|
683
|
+
}, [state]);
|
|
684
|
+
return {
|
|
685
|
+
...state,
|
|
686
|
+
toast,
|
|
687
|
+
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
|
|
688
|
+
};
|
|
689
|
+
}
|
|
690
|
+
const ToastProvider = ToastPrimitives.Provider;
|
|
691
|
+
const ToastViewport = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
692
|
+
ToastPrimitives.Viewport,
|
|
693
|
+
{
|
|
694
|
+
ref,
|
|
695
|
+
className: cn(
|
|
696
|
+
"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
|
|
697
|
+
className
|
|
698
|
+
),
|
|
699
|
+
...props
|
|
700
|
+
}
|
|
701
|
+
));
|
|
702
|
+
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
703
|
+
const toastVariants = cva(
|
|
704
|
+
"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
705
|
+
{
|
|
706
|
+
variants: {
|
|
707
|
+
variant: {
|
|
708
|
+
default: "border bg-background",
|
|
709
|
+
destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
|
|
710
|
+
}
|
|
711
|
+
},
|
|
712
|
+
defaultVariants: {
|
|
713
|
+
variant: "default"
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
);
|
|
717
|
+
const Toast = React.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props }));
|
|
718
|
+
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
719
|
+
const ToastAction = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
720
|
+
ToastPrimitives.Action,
|
|
721
|
+
{
|
|
722
|
+
ref,
|
|
723
|
+
className: cn(
|
|
724
|
+
"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
|
|
725
|
+
className
|
|
726
|
+
),
|
|
727
|
+
...props
|
|
728
|
+
}
|
|
729
|
+
));
|
|
730
|
+
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
731
|
+
const ToastClose = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
732
|
+
ToastPrimitives.Close,
|
|
733
|
+
{
|
|
734
|
+
ref,
|
|
735
|
+
className: cn(
|
|
736
|
+
"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
|
|
737
|
+
className
|
|
738
|
+
),
|
|
739
|
+
"toast-close": "",
|
|
740
|
+
...props,
|
|
741
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Cross2Icon, { className: "h-4 w-4" })
|
|
742
|
+
}
|
|
743
|
+
));
|
|
744
|
+
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
745
|
+
const ToastTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold [&+div]:text-xs", className), ...props }));
|
|
746
|
+
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
747
|
+
const ToastDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
|
|
748
|
+
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
749
|
+
function Toaster() {
|
|
750
|
+
const { toasts } = useToast();
|
|
751
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(ToastProvider, { children: [
|
|
752
|
+
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Toast, { ...props, children: [
|
|
753
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid gap-1", children: [
|
|
754
|
+
title && /* @__PURE__ */ jsxRuntimeExports.jsx(ToastTitle, { children: title }),
|
|
755
|
+
description && /* @__PURE__ */ jsxRuntimeExports.jsx(ToastDescription, { children: description })
|
|
756
|
+
] }),
|
|
757
|
+
action,
|
|
758
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ToastClose, {})
|
|
759
|
+
] }, id)),
|
|
760
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ToastViewport, {})
|
|
761
|
+
] });
|
|
762
|
+
}
|
|
763
|
+
const Skeleton = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("animate-pulse rounded-md bg-primary/10", className), ...props });
|
|
764
|
+
const Command = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
765
|
+
Command$1,
|
|
766
|
+
{
|
|
767
|
+
ref,
|
|
768
|
+
className: cn(
|
|
769
|
+
"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
|
|
770
|
+
className
|
|
771
|
+
),
|
|
772
|
+
...props
|
|
773
|
+
}
|
|
774
|
+
));
|
|
775
|
+
Command.displayName = Command$1.displayName;
|
|
776
|
+
const CommandDialog = ({ children, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
|
|
777
|
+
const CommandInput = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
778
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
779
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
780
|
+
Command$1.Input,
|
|
781
|
+
{
|
|
782
|
+
ref,
|
|
783
|
+
className: cn(
|
|
784
|
+
"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
785
|
+
className
|
|
786
|
+
),
|
|
787
|
+
...props
|
|
788
|
+
}
|
|
789
|
+
)
|
|
790
|
+
] }));
|
|
791
|
+
CommandInput.displayName = Command$1.Input.displayName;
|
|
792
|
+
const CommandList = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
793
|
+
Command$1.List,
|
|
794
|
+
{
|
|
795
|
+
ref,
|
|
796
|
+
className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
|
|
797
|
+
...props
|
|
798
|
+
}
|
|
799
|
+
));
|
|
800
|
+
CommandList.displayName = Command$1.List.displayName;
|
|
801
|
+
const CommandEmpty = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(Command$1.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
|
|
802
|
+
CommandEmpty.displayName = Command$1.Empty.displayName;
|
|
803
|
+
const CommandGroup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
804
|
+
Command$1.Group,
|
|
805
|
+
{
|
|
806
|
+
ref,
|
|
807
|
+
className: cn(
|
|
808
|
+
"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
|
|
809
|
+
className
|
|
810
|
+
),
|
|
811
|
+
...props
|
|
812
|
+
}
|
|
813
|
+
));
|
|
814
|
+
CommandGroup.displayName = Command$1.Group.displayName;
|
|
815
|
+
const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(Command$1.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
|
|
816
|
+
CommandSeparator.displayName = Command$1.Separator.displayName;
|
|
817
|
+
const CommandItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
818
|
+
Command$1.Item,
|
|
819
|
+
{
|
|
820
|
+
ref,
|
|
821
|
+
className: cn(
|
|
822
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
823
|
+
className
|
|
824
|
+
),
|
|
825
|
+
...props
|
|
826
|
+
}
|
|
827
|
+
));
|
|
828
|
+
CommandItem.displayName = Command$1.Item.displayName;
|
|
829
|
+
const CommandShortcut = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
830
|
+
CommandShortcut.displayName = "CommandShortcut";
|
|
831
|
+
const ContextMenu = ContextMenuPrimitive.Root;
|
|
832
|
+
const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
833
|
+
const ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
834
|
+
const ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
835
|
+
const ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
836
|
+
const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
837
|
+
const ContextMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
838
|
+
ContextMenuPrimitive.SubTrigger,
|
|
839
|
+
{
|
|
840
|
+
ref,
|
|
841
|
+
className: cn(
|
|
842
|
+
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
843
|
+
inset && "pl-8",
|
|
844
|
+
className
|
|
845
|
+
),
|
|
846
|
+
...props,
|
|
847
|
+
children: [
|
|
848
|
+
children,
|
|
849
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
850
|
+
]
|
|
851
|
+
}
|
|
852
|
+
));
|
|
853
|
+
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
854
|
+
const ContextMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
855
|
+
ContextMenuPrimitive.SubContent,
|
|
856
|
+
{
|
|
857
|
+
ref,
|
|
858
|
+
className: cn(
|
|
859
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
860
|
+
className
|
|
861
|
+
),
|
|
862
|
+
...props
|
|
863
|
+
}
|
|
864
|
+
));
|
|
865
|
+
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
866
|
+
const ContextMenuContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
867
|
+
ContextMenuPrimitive.Content,
|
|
868
|
+
{
|
|
869
|
+
ref,
|
|
870
|
+
className: cn(
|
|
871
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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",
|
|
872
|
+
className
|
|
873
|
+
),
|
|
874
|
+
...props
|
|
875
|
+
}
|
|
876
|
+
) }));
|
|
877
|
+
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
878
|
+
const ContextMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
879
|
+
ContextMenuPrimitive.Item,
|
|
880
|
+
{
|
|
881
|
+
ref,
|
|
882
|
+
className: cn(
|
|
883
|
+
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
884
|
+
inset && "pl-8",
|
|
885
|
+
className
|
|
886
|
+
),
|
|
887
|
+
...props
|
|
888
|
+
}
|
|
889
|
+
));
|
|
890
|
+
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
891
|
+
const ContextMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
892
|
+
ContextMenuPrimitive.CheckboxItem,
|
|
893
|
+
{
|
|
894
|
+
ref,
|
|
895
|
+
className: cn(
|
|
896
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
897
|
+
className
|
|
898
|
+
),
|
|
899
|
+
checked,
|
|
900
|
+
...props,
|
|
901
|
+
children: [
|
|
902
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
903
|
+
children
|
|
904
|
+
]
|
|
905
|
+
}
|
|
906
|
+
));
|
|
907
|
+
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
908
|
+
const ContextMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
909
|
+
ContextMenuPrimitive.RadioItem,
|
|
910
|
+
{
|
|
911
|
+
ref,
|
|
912
|
+
className: cn(
|
|
913
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
914
|
+
className
|
|
915
|
+
),
|
|
916
|
+
...props,
|
|
917
|
+
children: [
|
|
918
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
919
|
+
children
|
|
920
|
+
]
|
|
921
|
+
}
|
|
922
|
+
));
|
|
923
|
+
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
924
|
+
const ContextMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
925
|
+
ContextMenuPrimitive.Label,
|
|
926
|
+
{
|
|
927
|
+
ref,
|
|
928
|
+
className: cn("px-2 py-1.5 text-sm font-semibold text-foreground", inset && "pl-8", className),
|
|
929
|
+
...props
|
|
930
|
+
}
|
|
931
|
+
));
|
|
932
|
+
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
933
|
+
const ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
|
|
934
|
+
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
935
|
+
const ContextMenuShortcut = ({ className, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
936
|
+
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
937
|
+
export {
|
|
938
|
+
HoverCardContent as $,
|
|
939
|
+
Accordion as A,
|
|
940
|
+
Button as B,
|
|
941
|
+
Card as C,
|
|
942
|
+
Dialog as D,
|
|
943
|
+
CardFooter as E,
|
|
944
|
+
CardTitle as F,
|
|
945
|
+
CardDescription as G,
|
|
946
|
+
CardContent as H,
|
|
947
|
+
Input as I,
|
|
948
|
+
ScrollBar as J,
|
|
949
|
+
Tabs as K,
|
|
950
|
+
Label as L,
|
|
951
|
+
TabsList as M,
|
|
952
|
+
TabsTrigger as N,
|
|
953
|
+
TabsContent as O,
|
|
954
|
+
Tooltip as P,
|
|
955
|
+
TooltipTrigger as Q,
|
|
956
|
+
TooltipContent as R,
|
|
957
|
+
ScrollArea as S,
|
|
958
|
+
Textarea as T,
|
|
959
|
+
TooltipProvider as U,
|
|
960
|
+
TooltipPortal as V,
|
|
961
|
+
Popover as W,
|
|
962
|
+
PopoverTrigger as X,
|
|
963
|
+
PopoverContent as Y,
|
|
964
|
+
HoverCard as Z,
|
|
965
|
+
HoverCardTrigger as _,
|
|
966
|
+
Skeleton as a,
|
|
967
|
+
Select as a0,
|
|
968
|
+
SelectGroup as a1,
|
|
969
|
+
SelectValue as a2,
|
|
970
|
+
SelectTrigger as a3,
|
|
971
|
+
SelectContent as a4,
|
|
972
|
+
SelectLabel as a5,
|
|
973
|
+
SelectItem as a6,
|
|
974
|
+
SelectSeparator as a7,
|
|
975
|
+
DropdownMenu as a8,
|
|
976
|
+
DropdownMenuTrigger as a9,
|
|
977
|
+
ContextMenu as aA,
|
|
978
|
+
ContextMenuTrigger as aB,
|
|
979
|
+
ContextMenuContent as aC,
|
|
980
|
+
ContextMenuItem as aD,
|
|
981
|
+
ContextMenuCheckboxItem as aE,
|
|
982
|
+
ContextMenuRadioItem as aF,
|
|
983
|
+
ContextMenuLabel as aG,
|
|
984
|
+
ContextMenuSeparator as aH,
|
|
985
|
+
ContextMenuShortcut as aI,
|
|
986
|
+
ContextMenuGroup as aJ,
|
|
987
|
+
ContextMenuPortal as aK,
|
|
988
|
+
ContextMenuSub as aL,
|
|
989
|
+
ContextMenuSubContent as aM,
|
|
990
|
+
ContextMenuSubTrigger as aN,
|
|
991
|
+
ContextMenuRadioGroup as aO,
|
|
992
|
+
DropdownMenuContent as aa,
|
|
993
|
+
DropdownMenuItem as ab,
|
|
994
|
+
DropdownMenuCheckboxItem as ac,
|
|
995
|
+
DropdownMenuRadioItem as ad,
|
|
996
|
+
DropdownMenuLabel as ae,
|
|
997
|
+
DropdownMenuSeparator as af,
|
|
998
|
+
DropdownMenuShortcut as ag,
|
|
999
|
+
DropdownMenuGroup as ah,
|
|
1000
|
+
DropdownMenuPortal as ai,
|
|
1001
|
+
DropdownMenuSub as aj,
|
|
1002
|
+
DropdownMenuSubContent as ak,
|
|
1003
|
+
DropdownMenuSubTrigger as al,
|
|
1004
|
+
DropdownMenuRadioGroup as am,
|
|
1005
|
+
reducer as an,
|
|
1006
|
+
useToast as ao,
|
|
1007
|
+
toast as ap,
|
|
1008
|
+
Toaster as aq,
|
|
1009
|
+
Command as ar,
|
|
1010
|
+
CommandDialog as as,
|
|
1011
|
+
CommandInput as at,
|
|
1012
|
+
CommandList as au,
|
|
1013
|
+
CommandEmpty as av,
|
|
1014
|
+
CommandGroup as aw,
|
|
1015
|
+
CommandItem as ax,
|
|
1016
|
+
CommandShortcut as ay,
|
|
1017
|
+
CommandSeparator as az,
|
|
1018
|
+
Separator as b,
|
|
1019
|
+
cn as c,
|
|
1020
|
+
Switch as d,
|
|
1021
|
+
buttonVariants as e,
|
|
1022
|
+
AccordionItem as f,
|
|
1023
|
+
AccordionTrigger as g,
|
|
1024
|
+
AccordionContent as h,
|
|
1025
|
+
Badge as i,
|
|
1026
|
+
badgeVariants as j,
|
|
1027
|
+
AlertDialog as k,
|
|
1028
|
+
AlertDialogTrigger as l,
|
|
1029
|
+
AlertDialogContent as m,
|
|
1030
|
+
AlertDialogHeader as n,
|
|
1031
|
+
AlertDialogFooter as o,
|
|
1032
|
+
AlertDialogTitle as p,
|
|
1033
|
+
AlertDialogDescription as q,
|
|
1034
|
+
AlertDialogAction as r,
|
|
1035
|
+
AlertDialogCancel as s,
|
|
1036
|
+
DialogTrigger as t,
|
|
1037
|
+
DialogContent as u,
|
|
1038
|
+
DialogHeader as v,
|
|
1039
|
+
DialogFooter as w,
|
|
1040
|
+
DialogTitle as x,
|
|
1041
|
+
DialogDescription as y,
|
|
1042
|
+
CardHeader as z
|
|
1043
|
+
};
|