@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.
Files changed (124) hide show
  1. package/README.md +26 -21
  2. package/dist/CodeEditor-2fowVPcS.cjs +143 -0
  3. package/dist/CodeEditor-b6uePnTe.js +143 -0
  4. package/dist/STRINGS-RCf9qnaS.cjs +9 -0
  5. package/dist/STRINGS-t8UhMYZ6.js +10 -0
  6. package/dist/Topbar-O21Nrw2O.cjs +137 -0
  7. package/dist/Topbar-xFfdTq1m.js +137 -0
  8. package/dist/UnsplashImages-awQiGFMX.cjs +280 -0
  9. package/dist/UnsplashImages-qQmFIWEy.js +280 -0
  10. package/dist/UploadImages-a8Hl0tyg.cjs +170 -0
  11. package/dist/UploadImages-cudxJepv.js +170 -0
  12. package/dist/context-menu-VMB9i0d8.cjs +1074 -0
  13. package/dist/context-menu-mp3Gu2KA.js +1043 -0
  14. package/dist/controls-4t-C_rP2.cjs +233 -0
  15. package/dist/controls-fQIu127i.js +234 -0
  16. package/dist/core.cjs +135 -1
  17. package/dist/core.d.ts +344 -119
  18. package/dist/core.js +111 -88
  19. package/dist/iconBase-OGxLGBQ1.cjs +156 -0
  20. package/dist/iconBase-Ofd16yeE.js +157 -0
  21. package/dist/index-R7v8ZYnu.js +12110 -0
  22. package/dist/index-WHVUpVPa.cjs +12125 -0
  23. package/dist/jsx-runtime-_yxTjXEh.js +931 -0
  24. package/dist/jsx-runtime-vPqyLgmD.cjs +930 -0
  25. package/dist/mockServiceWorker.js +18 -10
  26. package/dist/plugin-RAiM74uD.cjs +116 -0
  27. package/dist/plugin-T1qbgBUO.js +55 -0
  28. package/dist/plugin-YcxlCmRm.js +117 -0
  29. package/dist/plugin-cYi6q9KC.cjs +54 -0
  30. package/dist/render.cjs +215 -1
  31. package/dist/render.d.ts +21 -40
  32. package/dist/render.js +190 -98
  33. package/dist/runtime.cjs +28 -0
  34. package/dist/runtime.d.ts +5 -0
  35. package/dist/runtime.js +21 -0
  36. package/dist/style.css +1524 -1
  37. package/dist/tailwind.cjs +80 -1
  38. package/dist/tailwind.d.ts +49 -8
  39. package/dist/tailwind.js +23 -25
  40. package/dist/ui.cjs +410 -1
  41. package/dist/ui.d.ts +3 -13
  42. package/dist/ui.js +374 -163
  43. package/dist/web-blocks.cjs +1246 -9
  44. package/dist/web-blocks.d.ts +1 -1
  45. package/dist/web-blocks.js +961 -789
  46. package/package.json +66 -83
  47. package/dist/AddBlocks-tMxKPoen.js +0 -225
  48. package/dist/AddBlocks-x2LkOHSj.cjs +0 -1
  49. package/dist/BrandingOptions-EzT9UYd6.cjs +0 -1
  50. package/dist/BrandingOptions-QJJ1y5ez.js +0 -194
  51. package/dist/CanvasArea-mlNKmCOh.js +0 -1425
  52. package/dist/CanvasArea-xs4wM64L.cjs +0 -60
  53. package/dist/CurrentPage-aaU4F7wi.cjs +0 -1
  54. package/dist/CurrentPage-lBy25sZn.js +0 -111
  55. package/dist/Functions-7jnEwJyw.js +0 -15
  56. package/dist/Functions-N3yhPYKY.cjs +0 -1
  57. package/dist/Layers-3Xs4A5i8.js +0 -404
  58. package/dist/Layers-eaHy5PK9.cjs +0 -1
  59. package/dist/MODIFIERS-2FeVfZQ9.cjs +0 -1
  60. package/dist/MODIFIERS-RiXS5Mn1.js +0 -67
  61. package/dist/MarkAsGlobalBlock-BjP-Rqlf.js +0 -88
  62. package/dist/MarkAsGlobalBlock-X5dNmZcb.cjs +0 -1
  63. package/dist/PagesPanel--BZhafnt.js +0 -69
  64. package/dist/PagesPanel-gGKCV394.cjs +0 -1
  65. package/dist/ProjectPanel-YcLkM-DW.js +0 -90
  66. package/dist/ProjectPanel-yFJRy0_E.cjs +0 -1
  67. package/dist/Settings-7wlLcvoh.cjs +0 -1
  68. package/dist/Settings-TAgX4hov.js +0 -2186
  69. package/dist/SidePanels-5H4j0mIs.cjs +0 -1
  70. package/dist/SidePanels-btVQQkVK.js +0 -349
  71. package/dist/Topbar-V8xCetWF.cjs +0 -1
  72. package/dist/Topbar-j4t4AgCq.js +0 -116
  73. package/dist/UnsplashImages-41Y3q5_Q.js +0 -200
  74. package/dist/UnsplashImages-DbHky6cj.cjs +0 -1
  75. package/dist/UploadImages-DnQ95_NW.cjs +0 -1
  76. package/dist/UploadImages-xBg-kbKv.js +0 -138
  77. package/dist/_commonjsHelpers-UyOWmZb0.js +0 -8
  78. package/dist/_commonjsHelpers-wDK0ZLPo.cjs +0 -1
  79. package/dist/add-page-modal-MwS7iXn_.cjs +0 -1
  80. package/dist/add-page-modal-cm8damU2.js +0 -108
  81. package/dist/confirm-alert-U7-NcG7G.cjs +0 -1
  82. package/dist/confirm-alert-i4pM3mOt.js +0 -62
  83. package/dist/controls-Dy1qa8Dc.cjs +0 -1
  84. package/dist/controls-XPXGHKht.js +0 -182
  85. package/dist/delete-page-modal-5o4jXu-z.cjs +0 -1
  86. package/dist/delete-page-modal-YrIBvfFA.js +0 -88
  87. package/dist/email-blocks.cjs +0 -1
  88. package/dist/email-blocks.d.ts +0 -3
  89. package/dist/email-blocks.js +0 -274
  90. package/dist/form-OVmsLOrc.js +0 -125
  91. package/dist/form-VbouZlAW.cjs +0 -1
  92. package/dist/functions-Ox_svtKm.cjs +0 -1
  93. package/dist/functions-xIebp8Aw.js +0 -23
  94. package/dist/html-to-json-2PeOCVey.cjs +0 -1
  95. package/dist/html-to-json-57841sEK.js +0 -183
  96. package/dist/index-H6vIwGfD.cjs +0 -1
  97. package/dist/index-N50dZnlC.cjs +0 -206
  98. package/dist/index-e0c8PmRQ.js +0 -205
  99. package/dist/index-gi1LIOCw.cjs +0 -1
  100. package/dist/index-niHREMmR.js +0 -2938
  101. package/dist/index-pZhGT8uT.js +0 -41620
  102. package/dist/jsx-runtime-WbnYoNE9.js +0 -634
  103. package/dist/jsx-runtime-Z_BpKhVy.cjs +0 -27
  104. package/dist/lib.cjs +0 -4
  105. package/dist/lib.d.ts +0 -78
  106. package/dist/lib.js +0 -1322
  107. package/dist/page-viewer-SLt8XgYv.cjs +0 -1
  108. package/dist/page-viewer-feqJr1QI.js +0 -115
  109. package/dist/project-general-setting-SgagORzW.js +0 -83
  110. package/dist/project-general-setting-ym0yCdOq.cjs +0 -1
  111. package/dist/project-seo-setting-Snn2nZgS.cjs +0 -1
  112. package/dist/project-seo-setting-wxAGEkd_.js +0 -85
  113. package/dist/server.cjs +0 -1
  114. package/dist/server.d.ts +0 -299
  115. package/dist/server.js +0 -216
  116. package/dist/single-page-detail-IPod1o5P.cjs +0 -1
  117. package/dist/single-page-detail-dnWMyg6P.js +0 -222
  118. package/dist/studio.cjs +0 -1
  119. package/dist/studio.d.ts +0 -13
  120. package/dist/studio.js +0 -58
  121. package/dist/useAddBlockByDrop-_nwI4W3q.js +0 -20
  122. package/dist/useAddBlockByDrop-inkD7Lck.cjs +0 -1
  123. package/dist/utils-AvyFzbPC.js +0 -1075
  124. 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
+ };