@squadbase/vantage 0.6.1 → 0.6.2-dev1.31accb1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-DY4AXANK.js +6 -0
- package/dist/add-DY4AXANK.js.map +1 -0
- package/dist/{build-O5TVNH4E.js → build-TVKFIVFQ.js} +8 -8
- package/dist/{build-O5TVNH4E.js.map → build-TVKFIVFQ.js.map} +1 -1
- package/dist/{check-WFBEDHDR.js → check-3KHZXZMQ.js} +6 -6
- package/dist/{check-WFBEDHDR.js.map → check-3KHZXZMQ.js.map} +1 -1
- package/dist/{chunk-PLST5Q7T.js → chunk-AG6RZ2RR.js} +1010 -23
- package/dist/chunk-AG6RZ2RR.js.map +1 -0
- package/dist/{chunk-KLEIVDUV.js → chunk-CEXAQQ5W.js} +150 -11
- package/dist/chunk-CEXAQQ5W.js.map +1 -0
- package/dist/{chunk-JGRMRXXZ.js → chunk-JKLLFVEU.js} +3 -3
- package/dist/{chunk-JGRMRXXZ.js.map → chunk-JKLLFVEU.js.map} +1 -1
- package/dist/{chunk-EP6JHXSR.js → chunk-LMUACBMA.js} +3 -3
- package/dist/{chunk-EP6JHXSR.js.map → chunk-LMUACBMA.js.map} +1 -1
- package/dist/{chunk-MXI3PZFT.js → chunk-OB6UBJXF.js} +156 -200
- package/dist/chunk-OB6UBJXF.js.map +1 -0
- package/dist/{chunk-BCE22JSM.js → chunk-P7W4LR3Z.js} +32 -13
- package/dist/chunk-P7W4LR3Z.js.map +1 -0
- package/dist/chunk-PXRX5PEC.js +54 -0
- package/dist/chunk-PXRX5PEC.js.map +1 -0
- package/dist/{chunk-3G43C6OL.js → chunk-QI3XQKHS.js} +39 -3
- package/dist/chunk-QI3XQKHS.js.map +1 -0
- package/dist/{chunk-QDZA5JSL.js → chunk-U2M6HGKQ.js} +3 -3
- package/dist/{chunk-QDZA5JSL.js.map → chunk-U2M6HGKQ.js.map} +1 -1
- package/dist/{chunk-T3FLAGI6.js → chunk-VA776YE5.js} +3 -3
- package/dist/{chunk-T3FLAGI6.js.map → chunk-VA776YE5.js.map} +1 -1
- package/dist/cli.js +14 -11
- package/dist/cli.js.map +1 -1
- package/dist/components/index.d.ts +223 -1
- package/dist/components/index.js +3 -2
- package/dist/{dev-NZRLOQCL.js → dev-GDKATCC7.js} +22 -11
- package/dist/dev-GDKATCC7.js.map +1 -0
- package/dist/doc/index.d.ts +4 -0
- package/dist/doc/index.js +107 -11
- package/dist/doc/index.js.map +1 -1
- package/dist/{docs-ZGDJUHJI.js → docs-EJJ3BECT.js} +3 -3
- package/dist/{docs-ZGDJUHJI.js.map → docs-EJJ3BECT.js.map} +1 -1
- package/dist/{doctor-VFKEMR54.js → doctor-WQXPXP6K.js} +7 -7
- package/dist/doctor-WQXPXP6K.js.map +1 -0
- package/dist/{preview-QDCIVVSR.js → preview-OGMCNQUO.js} +12 -4
- package/dist/preview-OGMCNQUO.js.map +1 -0
- package/dist/{routes-RHP5FVGD.js → routes-MWBWWOJ2.js} +5 -5
- package/dist/{routes-RHP5FVGD.js.map → routes-MWBWWOJ2.js.map} +1 -1
- package/dist/{search-RFBELGY7.js → search-6Y422SV6.js} +3 -3
- package/dist/{search-RFBELGY7.js.map → search-6Y422SV6.js.map} +1 -1
- package/dist/slide/index.js +61 -15
- package/dist/slide/index.js.map +1 -1
- package/dist/table/index.js +7 -5
- package/dist/table/index.js.map +1 -1
- package/dist/ui/index.d.ts +140 -10
- package/dist/ui/index.js +1406 -63
- package/dist/ui/index.js.map +1 -1
- package/dist/{upgrade-GF2P67M6.js → upgrade-HCANX4GQ.js} +6 -6
- package/dist/{upgrade-GF2P67M6.js.map → upgrade-HCANX4GQ.js.map} +1 -1
- package/dist/vite/index.js +3 -3
- package/docs/en/changelog.md +24 -0
- package/docs/en/cli-reference.md +30 -0
- package/docs/en/parts/page-shell.md +1 -1
- package/docs/en/routing.md +4 -2
- package/docs/index.json +291 -61
- package/docs/ja/changelog.md +50 -0
- package/docs/ja/cli-reference.md +29 -0
- package/docs/ja/components.md +33 -89
- package/docs/ja/page-types/csv.md +83 -0
- package/docs/ja/page-types/doc.md +83 -0
- package/docs/ja/page-types/excel.md +82 -0
- package/docs/ja/page-types/slide.md +132 -0
- package/docs/ja/page-types.md +47 -0
- package/docs/ja/parts/area-chart.md +61 -0
- package/docs/ja/parts/bar-chart.md +69 -0
- package/docs/ja/parts/bar-list.md +35 -0
- package/docs/ja/parts/category-bar.md +36 -0
- package/docs/ja/parts/donut-chart.md +47 -0
- package/docs/ja/parts/echart.md +3 -0
- package/docs/ja/parts/line-chart.md +58 -0
- package/docs/ja/parts/page-shell.md +1 -1
- package/docs/ja/parts/progress-circle.md +34 -0
- package/docs/ja/parts/sparkline.md +1 -1
- package/docs/ja/parts/tracker.md +32 -0
- package/docs/ja/routing.md +8 -84
- package/docs/ja/ui/alert-dialog.md +41 -0
- package/docs/ja/ui/avatar.md +31 -0
- package/docs/ja/ui/combobox.md +74 -0
- package/docs/ja/ui/drawer.md +41 -0
- package/docs/ja/ui/field.md +42 -0
- package/docs/ja/ui/hover-card.md +21 -0
- package/docs/ja/ui/kbd.md +16 -0
- package/docs/ja/ui/pagination.md +36 -0
- package/docs/ja/ui/radio-group.md +21 -0
- package/docs/ja/ui/toast.md +46 -0
- package/docs/ja/ui-and-theming.md +14 -7
- package/package.json +18 -12
- package/registry/ui/accordion.tsx +74 -0
- package/registry/ui/alert-dialog.tsx +189 -0
- package/registry/ui/alert.tsx +78 -0
- package/registry/ui/app-shell.tsx +281 -0
- package/registry/ui/area-chart.tsx +1015 -0
- package/registry/ui/avatar.tsx +110 -0
- package/registry/ui/badge.tsx +54 -0
- package/registry/ui/bar-chart.tsx +1013 -0
- package/registry/ui/bar-list.tsx +302 -0
- package/registry/ui/breadcrumb.tsx +126 -0
- package/registry/ui/button.tsx +60 -0
- package/registry/ui/calendar.tsx +221 -0
- package/registry/ui/card.tsx +105 -0
- package/registry/ui/category-bar.tsx +281 -0
- package/registry/ui/checkbox.tsx +28 -0
- package/registry/ui/collapsible.tsx +21 -0
- package/registry/ui/combobox.tsx +310 -0
- package/registry/ui/command.tsx +196 -0
- package/registry/ui/dashboard-card.tsx +174 -0
- package/registry/ui/data-table.tsx +16 -91
- package/registry/ui/date-range-picker.tsx +209 -0
- package/registry/ui/dialog.tsx +159 -0
- package/registry/ui/donut-chart.tsx +1004 -0
- package/registry/ui/drawer.tsx +229 -0
- package/registry/ui/dropdown-menu.tsx +272 -0
- package/registry/ui/echart.tsx +486 -0
- package/registry/ui/field.tsx +240 -0
- package/registry/ui/filter-bar.tsx +365 -0
- package/registry/ui/funnel-steps.tsx +274 -0
- package/registry/ui/hover-card.tsx +52 -0
- package/registry/ui/input-group.tsx +158 -0
- package/registry/ui/input.tsx +22 -0
- package/registry/ui/kbd.tsx +28 -0
- package/registry/ui/label.tsx +20 -0
- package/registry/ui/line-chart.tsx +1007 -0
- package/registry/ui/metric-value.tsx +54 -0
- package/registry/ui/multi-select.tsx +226 -0
- package/registry/ui/page-shell.tsx +227 -0
- package/registry/ui/pagination.tsx +138 -0
- package/registry/ui/placeholder.tsx +30 -0
- package/registry/ui/popover.tsx +90 -0
- package/registry/ui/progress-circle.tsx +272 -0
- package/registry/ui/progress.tsx +83 -0
- package/registry/ui/radio-group.tsx +39 -0
- package/registry/ui/scroll-area.tsx +55 -0
- package/registry/ui/searchable-select.tsx +209 -0
- package/registry/ui/section-header.tsx +41 -0
- package/registry/ui/segmented-control.tsx +71 -0
- package/registry/ui/select.tsx +253 -0
- package/registry/ui/separator.tsx +25 -0
- package/registry/ui/sheet.tsx +137 -0
- package/registry/ui/sidebar.tsx +723 -0
- package/registry/ui/skeleton.tsx +15 -0
- package/registry/ui/slider.tsx +54 -0
- package/registry/ui/sparkline.tsx +155 -0
- package/registry/ui/spinner.tsx +12 -0
- package/registry/ui/states.tsx +61 -0
- package/registry/ui/status-badge.tsx +79 -0
- package/registry/ui/switch.tsx +32 -0
- package/registry/ui/table.tsx +116 -0
- package/registry/ui/tabs.tsx +82 -0
- package/registry/ui/textarea.tsx +20 -0
- package/registry/ui/toast.tsx +250 -0
- package/registry/ui/toggle-group.tsx +89 -0
- package/registry/ui/toggle.tsx +45 -0
- package/registry/ui/tooltip.tsx +66 -0
- package/registry/ui/tracker.tsx +236 -0
- package/registry/ui/trend-indicator.tsx +62 -0
- package/skills/vantage-add-feature/SKILL.md +9 -7
- package/skills/vantage-design/SKILL.md +3 -1
- package/skills/vantage-design/references/format.md +1 -1
- package/skills/vantage-pitfalls/SKILL.md +5 -1
- package/skills/vantage-slide/SKILL.md +17 -0
- package/templates/AGENTS.md +10 -1
- package/templates/agents/api.md +29 -0
- package/templates/agents/csv.md +2 -1
- package/templates/agents/doc.md +6 -3
- package/templates/agents/page.md +22 -8
- package/templates/agents/slide.md +13 -1
- package/templates/agents/xlsx.md +2 -1
- package/theme.css +51 -1
- package/dist/add-EISGSZAH.js +0 -6
- package/dist/add-EISGSZAH.js.map +0 -1
- package/dist/chunk-3G43C6OL.js.map +0 -1
- package/dist/chunk-BCE22JSM.js.map +0 -1
- package/dist/chunk-KLEIVDUV.js.map +0 -1
- package/dist/chunk-MXI3PZFT.js.map +0 -1
- package/dist/chunk-PLST5Q7T.js.map +0 -1
- package/dist/dev-NZRLOQCL.js.map +0 -1
- package/dist/doctor-VFKEMR54.js.map +0 -1
- package/dist/preview-QDCIVVSR.js.map +0 -1
package/dist/ui/index.js
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
export { Empty, ErrorState, Loading } from '../chunk-5ZOP4SQR.js';
|
|
2
|
-
|
|
2
|
+
import { InputGroup, InputGroupInput, InputGroupAddon, InputGroupButton, Separator } from '../chunk-OB6UBJXF.js';
|
|
3
|
+
export { Badge, Calendar, CalendarDayButton, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, toggleVariants, useIsMobile, useSidebar } from '../chunk-OB6UBJXF.js';
|
|
4
|
+
import { Button } from '../chunk-PXRX5PEC.js';
|
|
5
|
+
export { Button, buttonVariants } from '../chunk-PXRX5PEC.js';
|
|
3
6
|
import { cn } from '../chunk-A2UUGASH.js';
|
|
4
7
|
export { cn } from '../chunk-A2UUGASH.js';
|
|
5
8
|
import { Accordion as Accordion$1 } from '@base-ui/react/accordion';
|
|
6
|
-
import { ChevronDownIcon, ChevronUpIcon, ChevronRightIcon, MoreHorizontalIcon, Loader2Icon } from 'lucide-react';
|
|
9
|
+
import { ChevronDownIcon, ChevronUpIcon, ChevronRightIcon, MoreHorizontalIcon, CheckIcon, XIcon, ChevronLeftIcon, Loader2Icon, CircleCheckIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon } from 'lucide-react';
|
|
7
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
-
import 'react';
|
|
11
|
+
import * as React7 from 'react';
|
|
12
|
+
import { useMemo } from 'react';
|
|
9
13
|
import { cva } from 'class-variance-authority';
|
|
14
|
+
import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
|
|
15
|
+
import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
|
|
10
16
|
import { mergeProps } from '@base-ui/react/merge-props';
|
|
11
17
|
import { useRender } from '@base-ui/react/use-render';
|
|
18
|
+
import { Combobox as Combobox$1 } from '@base-ui/react/combobox';
|
|
19
|
+
import { Drawer as Drawer$1 } from '@base-ui/react/drawer';
|
|
20
|
+
import { PreviewCard } from '@base-ui/react/preview-card';
|
|
12
21
|
import { Progress as Progress$1 } from '@base-ui/react/progress';
|
|
22
|
+
import { Radio } from '@base-ui/react/radio';
|
|
23
|
+
import { RadioGroup as RadioGroup$1 } from '@base-ui/react/radio-group';
|
|
13
24
|
import { ScrollArea as ScrollArea$1 } from '@base-ui/react/scroll-area';
|
|
14
25
|
import { Slider as Slider$1 } from '@base-ui/react/slider';
|
|
15
26
|
import { Switch as Switch$1 } from '@base-ui/react/switch';
|
|
16
27
|
import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
|
|
28
|
+
import { Toast as Toast$1 } from '@base-ui/react/toast';
|
|
17
29
|
|
|
18
30
|
// @squadbase/vantage — generated build. Do not edit.
|
|
19
31
|
function Accordion({ className, ...props }) {
|
|
@@ -150,6 +162,253 @@ function AlertAction({ className, ...props }) {
|
|
|
150
162
|
}
|
|
151
163
|
);
|
|
152
164
|
}
|
|
165
|
+
function AlertDialog({ ...props }) {
|
|
166
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Root, { "data-slot": "alert-dialog", ...props });
|
|
167
|
+
}
|
|
168
|
+
function AlertDialogTrigger({ ...props }) {
|
|
169
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
170
|
+
}
|
|
171
|
+
function AlertDialogPortal({ ...props }) {
|
|
172
|
+
return /* @__PURE__ */ jsx(AlertDialog$1.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
173
|
+
}
|
|
174
|
+
function AlertDialogOverlay({
|
|
175
|
+
className,
|
|
176
|
+
...props
|
|
177
|
+
}) {
|
|
178
|
+
return /* @__PURE__ */ jsx(
|
|
179
|
+
AlertDialog$1.Backdrop,
|
|
180
|
+
{
|
|
181
|
+
"data-slot": "alert-dialog-overlay",
|
|
182
|
+
className: cn(
|
|
183
|
+
"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
184
|
+
className
|
|
185
|
+
),
|
|
186
|
+
...props
|
|
187
|
+
}
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
function AlertDialogContent({
|
|
191
|
+
className,
|
|
192
|
+
size = "default",
|
|
193
|
+
...props
|
|
194
|
+
}) {
|
|
195
|
+
return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
196
|
+
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
197
|
+
/* @__PURE__ */ jsx(
|
|
198
|
+
AlertDialog$1.Popup,
|
|
199
|
+
{
|
|
200
|
+
"data-slot": "alert-dialog-content",
|
|
201
|
+
"data-size": size,
|
|
202
|
+
className: cn(
|
|
203
|
+
"group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
204
|
+
className
|
|
205
|
+
),
|
|
206
|
+
...props
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
] });
|
|
210
|
+
}
|
|
211
|
+
function AlertDialogHeader({
|
|
212
|
+
className,
|
|
213
|
+
...props
|
|
214
|
+
}) {
|
|
215
|
+
return /* @__PURE__ */ jsx(
|
|
216
|
+
"div",
|
|
217
|
+
{
|
|
218
|
+
"data-slot": "alert-dialog-header",
|
|
219
|
+
className: cn(
|
|
220
|
+
"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
|
|
221
|
+
className
|
|
222
|
+
),
|
|
223
|
+
...props
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
function AlertDialogFooter({
|
|
228
|
+
className,
|
|
229
|
+
...props
|
|
230
|
+
}) {
|
|
231
|
+
return /* @__PURE__ */ jsx(
|
|
232
|
+
"div",
|
|
233
|
+
{
|
|
234
|
+
"data-slot": "alert-dialog-footer",
|
|
235
|
+
className: cn(
|
|
236
|
+
"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
|
|
237
|
+
className
|
|
238
|
+
),
|
|
239
|
+
...props
|
|
240
|
+
}
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
function AlertDialogMedia({
|
|
244
|
+
className,
|
|
245
|
+
...props
|
|
246
|
+
}) {
|
|
247
|
+
return /* @__PURE__ */ jsx(
|
|
248
|
+
"div",
|
|
249
|
+
{
|
|
250
|
+
"data-slot": "alert-dialog-media",
|
|
251
|
+
className: cn(
|
|
252
|
+
"mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",
|
|
253
|
+
className
|
|
254
|
+
),
|
|
255
|
+
...props
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
function AlertDialogTitle({
|
|
260
|
+
className,
|
|
261
|
+
...props
|
|
262
|
+
}) {
|
|
263
|
+
return /* @__PURE__ */ jsx(
|
|
264
|
+
AlertDialog$1.Title,
|
|
265
|
+
{
|
|
266
|
+
"data-slot": "alert-dialog-title",
|
|
267
|
+
className: cn(
|
|
268
|
+
"cn-font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
|
|
269
|
+
className
|
|
270
|
+
),
|
|
271
|
+
...props
|
|
272
|
+
}
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
function AlertDialogDescription({
|
|
276
|
+
className,
|
|
277
|
+
...props
|
|
278
|
+
}) {
|
|
279
|
+
return /* @__PURE__ */ jsx(
|
|
280
|
+
AlertDialog$1.Description,
|
|
281
|
+
{
|
|
282
|
+
"data-slot": "alert-dialog-description",
|
|
283
|
+
className: cn(
|
|
284
|
+
"text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
|
|
285
|
+
className
|
|
286
|
+
),
|
|
287
|
+
...props
|
|
288
|
+
}
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
function AlertDialogAction({
|
|
292
|
+
className,
|
|
293
|
+
...props
|
|
294
|
+
}) {
|
|
295
|
+
return /* @__PURE__ */ jsx(
|
|
296
|
+
Button,
|
|
297
|
+
{
|
|
298
|
+
"data-slot": "alert-dialog-action",
|
|
299
|
+
className: cn(className),
|
|
300
|
+
...props
|
|
301
|
+
}
|
|
302
|
+
);
|
|
303
|
+
}
|
|
304
|
+
function AlertDialogCancel({
|
|
305
|
+
className,
|
|
306
|
+
variant = "outline",
|
|
307
|
+
size = "default",
|
|
308
|
+
...props
|
|
309
|
+
}) {
|
|
310
|
+
return /* @__PURE__ */ jsx(
|
|
311
|
+
AlertDialog$1.Close,
|
|
312
|
+
{
|
|
313
|
+
"data-slot": "alert-dialog-cancel",
|
|
314
|
+
className: cn(className),
|
|
315
|
+
render: /* @__PURE__ */ jsx(Button, { variant, size }),
|
|
316
|
+
...props
|
|
317
|
+
}
|
|
318
|
+
);
|
|
319
|
+
}
|
|
320
|
+
function Avatar({
|
|
321
|
+
className,
|
|
322
|
+
size = "default",
|
|
323
|
+
...props
|
|
324
|
+
}) {
|
|
325
|
+
return /* @__PURE__ */ jsx(
|
|
326
|
+
Avatar$1.Root,
|
|
327
|
+
{
|
|
328
|
+
"data-slot": "avatar",
|
|
329
|
+
"data-size": size,
|
|
330
|
+
className: cn(
|
|
331
|
+
"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",
|
|
332
|
+
className
|
|
333
|
+
),
|
|
334
|
+
...props
|
|
335
|
+
}
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
function AvatarImage({ className, ...props }) {
|
|
339
|
+
return /* @__PURE__ */ jsx(
|
|
340
|
+
Avatar$1.Image,
|
|
341
|
+
{
|
|
342
|
+
"data-slot": "avatar-image",
|
|
343
|
+
className: cn(
|
|
344
|
+
"aspect-square size-full rounded-full object-cover",
|
|
345
|
+
className
|
|
346
|
+
),
|
|
347
|
+
...props
|
|
348
|
+
}
|
|
349
|
+
);
|
|
350
|
+
}
|
|
351
|
+
function AvatarFallback({
|
|
352
|
+
className,
|
|
353
|
+
...props
|
|
354
|
+
}) {
|
|
355
|
+
return /* @__PURE__ */ jsx(
|
|
356
|
+
Avatar$1.Fallback,
|
|
357
|
+
{
|
|
358
|
+
"data-slot": "avatar-fallback",
|
|
359
|
+
className: cn(
|
|
360
|
+
"flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",
|
|
361
|
+
className
|
|
362
|
+
),
|
|
363
|
+
...props
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
function AvatarBadge({ className, ...props }) {
|
|
368
|
+
return /* @__PURE__ */ jsx(
|
|
369
|
+
"span",
|
|
370
|
+
{
|
|
371
|
+
"data-slot": "avatar-badge",
|
|
372
|
+
className: cn(
|
|
373
|
+
"absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none",
|
|
374
|
+
"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden",
|
|
375
|
+
"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2",
|
|
376
|
+
"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",
|
|
377
|
+
className
|
|
378
|
+
),
|
|
379
|
+
...props
|
|
380
|
+
}
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
function AvatarGroup({ className, ...props }) {
|
|
384
|
+
return /* @__PURE__ */ jsx(
|
|
385
|
+
"div",
|
|
386
|
+
{
|
|
387
|
+
"data-slot": "avatar-group",
|
|
388
|
+
className: cn(
|
|
389
|
+
"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",
|
|
390
|
+
className
|
|
391
|
+
),
|
|
392
|
+
...props
|
|
393
|
+
}
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
function AvatarGroupCount({
|
|
397
|
+
className,
|
|
398
|
+
...props
|
|
399
|
+
}) {
|
|
400
|
+
return /* @__PURE__ */ jsx(
|
|
401
|
+
"div",
|
|
402
|
+
{
|
|
403
|
+
"data-slot": "avatar-group-count",
|
|
404
|
+
className: cn(
|
|
405
|
+
"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",
|
|
406
|
+
className
|
|
407
|
+
),
|
|
408
|
+
...props
|
|
409
|
+
}
|
|
410
|
+
);
|
|
411
|
+
}
|
|
153
412
|
function Breadcrumb({ className, ...props }) {
|
|
154
413
|
return /* @__PURE__ */ jsx(
|
|
155
414
|
"nav",
|
|
@@ -233,128 +492,977 @@ function BreadcrumbSeparator({
|
|
|
233
492
|
}
|
|
234
493
|
);
|
|
235
494
|
}
|
|
236
|
-
function BreadcrumbEllipsis({
|
|
495
|
+
function BreadcrumbEllipsis({
|
|
496
|
+
className,
|
|
497
|
+
...props
|
|
498
|
+
}) {
|
|
499
|
+
return /* @__PURE__ */ jsxs(
|
|
500
|
+
"span",
|
|
501
|
+
{
|
|
502
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
503
|
+
role: "presentation",
|
|
504
|
+
"aria-hidden": "true",
|
|
505
|
+
className: cn(
|
|
506
|
+
"flex size-5 items-center justify-center [&>svg]:size-4",
|
|
507
|
+
className
|
|
508
|
+
),
|
|
509
|
+
...props,
|
|
510
|
+
children: [
|
|
511
|
+
/* @__PURE__ */ jsx(MoreHorizontalIcon, {}),
|
|
512
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
|
|
513
|
+
]
|
|
514
|
+
}
|
|
515
|
+
);
|
|
516
|
+
}
|
|
517
|
+
function Card({
|
|
518
|
+
className,
|
|
519
|
+
size = "default",
|
|
520
|
+
...props
|
|
521
|
+
}) {
|
|
522
|
+
return /* @__PURE__ */ jsx(
|
|
523
|
+
"div",
|
|
524
|
+
{
|
|
525
|
+
"data-slot": "card",
|
|
526
|
+
"data-size": size,
|
|
527
|
+
className: cn(
|
|
528
|
+
"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",
|
|
529
|
+
className
|
|
530
|
+
),
|
|
531
|
+
...props
|
|
532
|
+
}
|
|
533
|
+
);
|
|
534
|
+
}
|
|
535
|
+
function CardHeader({ className, ...props }) {
|
|
536
|
+
return /* @__PURE__ */ jsx(
|
|
537
|
+
"div",
|
|
538
|
+
{
|
|
539
|
+
"data-slot": "card-header",
|
|
540
|
+
className: cn(
|
|
541
|
+
"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",
|
|
542
|
+
className
|
|
543
|
+
),
|
|
544
|
+
...props
|
|
545
|
+
}
|
|
546
|
+
);
|
|
547
|
+
}
|
|
548
|
+
function CardTitle({ className, ...props }) {
|
|
549
|
+
return /* @__PURE__ */ jsx(
|
|
550
|
+
"div",
|
|
551
|
+
{
|
|
552
|
+
"data-slot": "card-title",
|
|
553
|
+
className: cn(
|
|
554
|
+
"cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
|
|
555
|
+
className
|
|
556
|
+
),
|
|
557
|
+
...props
|
|
558
|
+
}
|
|
559
|
+
);
|
|
560
|
+
}
|
|
561
|
+
function CardDescription({ className, ...props }) {
|
|
562
|
+
return /* @__PURE__ */ jsx(
|
|
563
|
+
"div",
|
|
564
|
+
{
|
|
565
|
+
"data-slot": "card-description",
|
|
566
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
567
|
+
...props
|
|
568
|
+
}
|
|
569
|
+
);
|
|
570
|
+
}
|
|
571
|
+
function CardAction({ className, ...props }) {
|
|
572
|
+
return /* @__PURE__ */ jsx(
|
|
573
|
+
"div",
|
|
574
|
+
{
|
|
575
|
+
"data-slot": "card-action",
|
|
576
|
+
className: cn(
|
|
577
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
578
|
+
className
|
|
579
|
+
),
|
|
580
|
+
...props
|
|
581
|
+
}
|
|
582
|
+
);
|
|
583
|
+
}
|
|
584
|
+
function CardContent({ className, ...props }) {
|
|
585
|
+
return /* @__PURE__ */ jsx(
|
|
586
|
+
"div",
|
|
587
|
+
{
|
|
588
|
+
"data-slot": "card-content",
|
|
589
|
+
className: cn("px-(--card-spacing)", className),
|
|
590
|
+
...props
|
|
591
|
+
}
|
|
592
|
+
);
|
|
593
|
+
}
|
|
594
|
+
function CardFooter({ className, ...props }) {
|
|
595
|
+
return /* @__PURE__ */ jsx(
|
|
596
|
+
"div",
|
|
597
|
+
{
|
|
598
|
+
"data-slot": "card-footer",
|
|
599
|
+
className: cn(
|
|
600
|
+
"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",
|
|
601
|
+
className
|
|
602
|
+
),
|
|
603
|
+
...props
|
|
604
|
+
}
|
|
605
|
+
);
|
|
606
|
+
}
|
|
607
|
+
var Combobox = Combobox$1.Root;
|
|
608
|
+
function ComboboxValue({ ...props }) {
|
|
609
|
+
return /* @__PURE__ */ jsx(Combobox$1.Value, { "data-slot": "combobox-value", ...props });
|
|
610
|
+
}
|
|
611
|
+
function ComboboxTrigger({
|
|
612
|
+
className,
|
|
613
|
+
children,
|
|
614
|
+
...props
|
|
615
|
+
}) {
|
|
616
|
+
return /* @__PURE__ */ jsxs(
|
|
617
|
+
Combobox$1.Trigger,
|
|
618
|
+
{
|
|
619
|
+
"data-slot": "combobox-trigger",
|
|
620
|
+
className: cn("[&_svg:not([class*='size-'])]:size-4", className),
|
|
621
|
+
...props,
|
|
622
|
+
children: [
|
|
623
|
+
children,
|
|
624
|
+
/* @__PURE__ */ jsx(
|
|
625
|
+
ChevronDownIcon,
|
|
626
|
+
{
|
|
627
|
+
className: "pointer-events-none size-4 text-muted-foreground"
|
|
628
|
+
}
|
|
629
|
+
)
|
|
630
|
+
]
|
|
631
|
+
}
|
|
632
|
+
);
|
|
633
|
+
}
|
|
634
|
+
function ComboboxClear({ className, ...props }) {
|
|
635
|
+
return /* @__PURE__ */ jsx(
|
|
636
|
+
Combobox$1.Clear,
|
|
637
|
+
{
|
|
638
|
+
"data-slot": "combobox-clear",
|
|
639
|
+
render: /* @__PURE__ */ jsx(InputGroupButton, { variant: "ghost", size: "icon-xs" }),
|
|
640
|
+
className: cn(className),
|
|
641
|
+
...props,
|
|
642
|
+
children: /* @__PURE__ */ jsx(
|
|
643
|
+
XIcon,
|
|
644
|
+
{
|
|
645
|
+
className: "pointer-events-none"
|
|
646
|
+
}
|
|
647
|
+
)
|
|
648
|
+
}
|
|
649
|
+
);
|
|
650
|
+
}
|
|
651
|
+
function ComboboxInput({
|
|
652
|
+
className,
|
|
653
|
+
children,
|
|
654
|
+
disabled = false,
|
|
655
|
+
showTrigger = true,
|
|
656
|
+
showClear = false,
|
|
657
|
+
...props
|
|
658
|
+
}) {
|
|
659
|
+
return /* @__PURE__ */ jsxs(InputGroup, { className: cn("w-auto", className), children: [
|
|
660
|
+
/* @__PURE__ */ jsx(
|
|
661
|
+
Combobox$1.Input,
|
|
662
|
+
{
|
|
663
|
+
render: /* @__PURE__ */ jsx(InputGroupInput, { disabled }),
|
|
664
|
+
...props
|
|
665
|
+
}
|
|
666
|
+
),
|
|
667
|
+
/* @__PURE__ */ jsxs(InputGroupAddon, { align: "inline-end", children: [
|
|
668
|
+
showTrigger && /* @__PURE__ */ jsx(
|
|
669
|
+
InputGroupButton,
|
|
670
|
+
{
|
|
671
|
+
size: "icon-xs",
|
|
672
|
+
variant: "ghost",
|
|
673
|
+
render: /* @__PURE__ */ jsx(ComboboxTrigger, {}),
|
|
674
|
+
"data-slot": "input-group-button",
|
|
675
|
+
className: "group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent",
|
|
676
|
+
disabled
|
|
677
|
+
}
|
|
678
|
+
),
|
|
679
|
+
showClear && /* @__PURE__ */ jsx(ComboboxClear, { disabled })
|
|
680
|
+
] }),
|
|
681
|
+
children
|
|
682
|
+
] });
|
|
683
|
+
}
|
|
684
|
+
function ComboboxContent({
|
|
685
|
+
className,
|
|
686
|
+
side = "bottom",
|
|
687
|
+
sideOffset = 6,
|
|
688
|
+
align = "start",
|
|
689
|
+
alignOffset = 0,
|
|
690
|
+
anchor,
|
|
691
|
+
...props
|
|
692
|
+
}) {
|
|
693
|
+
return /* @__PURE__ */ jsx(Combobox$1.Portal, { children: /* @__PURE__ */ jsx(
|
|
694
|
+
Combobox$1.Positioner,
|
|
695
|
+
{
|
|
696
|
+
side,
|
|
697
|
+
sideOffset,
|
|
698
|
+
align,
|
|
699
|
+
alignOffset,
|
|
700
|
+
anchor,
|
|
701
|
+
className: "isolate z-50",
|
|
702
|
+
children: /* @__PURE__ */ jsx(
|
|
703
|
+
Combobox$1.Popup,
|
|
704
|
+
{
|
|
705
|
+
"data-slot": "combobox-content",
|
|
706
|
+
"data-chips": !!anchor,
|
|
707
|
+
className: cn(
|
|
708
|
+
"cn-menu-target cn-menu-translucent group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
709
|
+
className
|
|
710
|
+
),
|
|
711
|
+
...props
|
|
712
|
+
}
|
|
713
|
+
)
|
|
714
|
+
}
|
|
715
|
+
) });
|
|
716
|
+
}
|
|
717
|
+
function ComboboxList({ className, ...props }) {
|
|
718
|
+
return /* @__PURE__ */ jsx(
|
|
719
|
+
Combobox$1.List,
|
|
720
|
+
{
|
|
721
|
+
"data-slot": "combobox-list",
|
|
722
|
+
className: cn(
|
|
723
|
+
"no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0",
|
|
724
|
+
className
|
|
725
|
+
),
|
|
726
|
+
...props
|
|
727
|
+
}
|
|
728
|
+
);
|
|
729
|
+
}
|
|
730
|
+
function ComboboxItem({
|
|
731
|
+
className,
|
|
732
|
+
children,
|
|
733
|
+
...props
|
|
734
|
+
}) {
|
|
735
|
+
return /* @__PURE__ */ jsxs(
|
|
736
|
+
Combobox$1.Item,
|
|
737
|
+
{
|
|
738
|
+
"data-slot": "combobox-item",
|
|
739
|
+
className: cn(
|
|
740
|
+
"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
741
|
+
className
|
|
742
|
+
),
|
|
743
|
+
...props,
|
|
744
|
+
children: [
|
|
745
|
+
children,
|
|
746
|
+
/* @__PURE__ */ jsx(
|
|
747
|
+
Combobox$1.ItemIndicator,
|
|
748
|
+
{
|
|
749
|
+
render: /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
|
|
750
|
+
children: /* @__PURE__ */ jsx(
|
|
751
|
+
CheckIcon,
|
|
752
|
+
{
|
|
753
|
+
className: "pointer-events-none"
|
|
754
|
+
}
|
|
755
|
+
)
|
|
756
|
+
}
|
|
757
|
+
)
|
|
758
|
+
]
|
|
759
|
+
}
|
|
760
|
+
);
|
|
761
|
+
}
|
|
762
|
+
function ComboboxGroup({ className, ...props }) {
|
|
763
|
+
return /* @__PURE__ */ jsx(
|
|
764
|
+
Combobox$1.Group,
|
|
765
|
+
{
|
|
766
|
+
"data-slot": "combobox-group",
|
|
767
|
+
className: cn(className),
|
|
768
|
+
...props
|
|
769
|
+
}
|
|
770
|
+
);
|
|
771
|
+
}
|
|
772
|
+
function ComboboxLabel({
|
|
773
|
+
className,
|
|
774
|
+
...props
|
|
775
|
+
}) {
|
|
776
|
+
return /* @__PURE__ */ jsx(
|
|
777
|
+
Combobox$1.GroupLabel,
|
|
778
|
+
{
|
|
779
|
+
"data-slot": "combobox-label",
|
|
780
|
+
className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
|
|
781
|
+
...props
|
|
782
|
+
}
|
|
783
|
+
);
|
|
784
|
+
}
|
|
785
|
+
function ComboboxCollection({ ...props }) {
|
|
786
|
+
return /* @__PURE__ */ jsx(Combobox$1.Collection, { "data-slot": "combobox-collection", ...props });
|
|
787
|
+
}
|
|
788
|
+
function ComboboxEmpty({ className, ...props }) {
|
|
789
|
+
return /* @__PURE__ */ jsx(
|
|
790
|
+
Combobox$1.Empty,
|
|
791
|
+
{
|
|
792
|
+
"data-slot": "combobox-empty",
|
|
793
|
+
className: cn(
|
|
794
|
+
"hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex",
|
|
795
|
+
className
|
|
796
|
+
),
|
|
797
|
+
...props
|
|
798
|
+
}
|
|
799
|
+
);
|
|
800
|
+
}
|
|
801
|
+
function ComboboxSeparator({
|
|
802
|
+
className,
|
|
803
|
+
...props
|
|
804
|
+
}) {
|
|
805
|
+
return /* @__PURE__ */ jsx(
|
|
806
|
+
Combobox$1.Separator,
|
|
807
|
+
{
|
|
808
|
+
"data-slot": "combobox-separator",
|
|
809
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
810
|
+
...props
|
|
811
|
+
}
|
|
812
|
+
);
|
|
813
|
+
}
|
|
814
|
+
function ComboboxChips({
|
|
815
|
+
className,
|
|
816
|
+
...props
|
|
817
|
+
}) {
|
|
818
|
+
return /* @__PURE__ */ jsx(
|
|
819
|
+
Combobox$1.Chips,
|
|
820
|
+
{
|
|
821
|
+
"data-slot": "combobox-chips",
|
|
822
|
+
className: cn(
|
|
823
|
+
"flex min-h-8 flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40",
|
|
824
|
+
className
|
|
825
|
+
),
|
|
826
|
+
...props
|
|
827
|
+
}
|
|
828
|
+
);
|
|
829
|
+
}
|
|
830
|
+
function ComboboxChip({
|
|
831
|
+
className,
|
|
832
|
+
children,
|
|
833
|
+
showRemove = true,
|
|
834
|
+
...props
|
|
835
|
+
}) {
|
|
836
|
+
return /* @__PURE__ */ jsxs(
|
|
837
|
+
Combobox$1.Chip,
|
|
838
|
+
{
|
|
839
|
+
"data-slot": "combobox-chip",
|
|
840
|
+
className: cn(
|
|
841
|
+
"flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0",
|
|
842
|
+
className
|
|
843
|
+
),
|
|
844
|
+
...props,
|
|
845
|
+
children: [
|
|
846
|
+
children,
|
|
847
|
+
showRemove && /* @__PURE__ */ jsx(
|
|
848
|
+
Combobox$1.ChipRemove,
|
|
849
|
+
{
|
|
850
|
+
render: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon-xs" }),
|
|
851
|
+
className: "-ml-1 opacity-50 hover:opacity-100",
|
|
852
|
+
"data-slot": "combobox-chip-remove",
|
|
853
|
+
children: /* @__PURE__ */ jsx(
|
|
854
|
+
XIcon,
|
|
855
|
+
{
|
|
856
|
+
className: "pointer-events-none"
|
|
857
|
+
}
|
|
858
|
+
)
|
|
859
|
+
}
|
|
860
|
+
)
|
|
861
|
+
]
|
|
862
|
+
}
|
|
863
|
+
);
|
|
864
|
+
}
|
|
865
|
+
function ComboboxChipsInput({
|
|
866
|
+
className,
|
|
867
|
+
...props
|
|
868
|
+
}) {
|
|
869
|
+
return /* @__PURE__ */ jsx(
|
|
870
|
+
Combobox$1.Input,
|
|
871
|
+
{
|
|
872
|
+
"data-slot": "combobox-chip-input",
|
|
873
|
+
className: cn("min-w-16 flex-1 outline-none", className),
|
|
874
|
+
...props
|
|
875
|
+
}
|
|
876
|
+
);
|
|
877
|
+
}
|
|
878
|
+
function useComboboxAnchor() {
|
|
879
|
+
return React7.useRef(null);
|
|
880
|
+
}
|
|
881
|
+
var DrawerContext = React7.createContext(null);
|
|
882
|
+
function useDrawer() {
|
|
883
|
+
const context = React7.useContext(DrawerContext);
|
|
884
|
+
if (!context) {
|
|
885
|
+
throw new Error("useDrawer must be used within a Drawer.");
|
|
886
|
+
}
|
|
887
|
+
return context;
|
|
888
|
+
}
|
|
889
|
+
function Drawer({
|
|
890
|
+
modal = true,
|
|
891
|
+
showSwipeHandle = false,
|
|
892
|
+
snapPoints,
|
|
893
|
+
swipeDirection = "down",
|
|
894
|
+
...props
|
|
895
|
+
}) {
|
|
896
|
+
const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
|
|
897
|
+
const contextValue = React7.useMemo(
|
|
898
|
+
() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }),
|
|
899
|
+
[hasSnapPoints, modal, showSwipeHandle, swipeDirection]
|
|
900
|
+
);
|
|
901
|
+
return /* @__PURE__ */ jsx(DrawerContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
902
|
+
Drawer$1.Root,
|
|
903
|
+
{
|
|
904
|
+
"data-slot": "drawer",
|
|
905
|
+
modal,
|
|
906
|
+
snapPoints,
|
|
907
|
+
swipeDirection,
|
|
908
|
+
...props
|
|
909
|
+
}
|
|
910
|
+
) });
|
|
911
|
+
}
|
|
912
|
+
function DrawerTrigger({ ...props }) {
|
|
913
|
+
return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
914
|
+
}
|
|
915
|
+
function DrawerPortal({ ...props }) {
|
|
916
|
+
return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
|
|
917
|
+
}
|
|
918
|
+
function DrawerClose({ ...props }) {
|
|
919
|
+
return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
|
|
920
|
+
}
|
|
921
|
+
function DrawerOverlay({
|
|
922
|
+
className,
|
|
923
|
+
...props
|
|
924
|
+
}) {
|
|
925
|
+
return /* @__PURE__ */ jsx(
|
|
926
|
+
Drawer$1.Backdrop,
|
|
927
|
+
{
|
|
928
|
+
"data-slot": "drawer-overlay",
|
|
929
|
+
className: cn(
|
|
930
|
+
"fixed inset-0 z-50 min-h-dvh bg-black/10 opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-backdrop-filter:backdrop-blur-xs supports-[-webkit-touch-callout:none]:absolute",
|
|
931
|
+
className
|
|
932
|
+
),
|
|
933
|
+
...props
|
|
934
|
+
}
|
|
935
|
+
);
|
|
936
|
+
}
|
|
937
|
+
function DrawerSwipeHandle({
|
|
938
|
+
className,
|
|
939
|
+
...props
|
|
940
|
+
}) {
|
|
941
|
+
return /* @__PURE__ */ jsx(
|
|
942
|
+
"div",
|
|
943
|
+
{
|
|
944
|
+
"data-slot": "drawer-swipe-handle",
|
|
945
|
+
"aria-hidden": "true",
|
|
946
|
+
className: cn(
|
|
947
|
+
"relative z-10 flex shrink-0 cursor-grab transition-opacity duration-200 group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-[swipe-axis=x]/drawer-popup:h-full group-data-[swipe-axis=x]/drawer-popup:w-3 group-data-[swipe-axis=x]/drawer-popup:items-center group-data-[swipe-axis=y]/drawer-popup:h-3 group-data-[swipe-axis=y]/drawer-popup:w-full group-data-[swipe-axis=y]/drawer-popup:justify-center group-data-[swipe-direction=down]/drawer-popup:items-end group-data-[swipe-direction=left]/drawer-popup:order-last group-data-[swipe-direction=left]/drawer-popup:justify-start group-data-[swipe-direction=right]/drawer-popup:justify-end group-data-[swipe-direction=up]/drawer-popup:order-last group-data-[swipe-direction=up]/drawer-popup:items-start after:block after:shrink-0 after:rounded-full after:bg-muted group-data-[swipe-axis=x]/drawer-popup:after:h-24 group-data-[swipe-axis=x]/drawer-popup:after:w-1 group-data-[swipe-axis=y]/drawer-popup:after:h-1 group-data-[swipe-axis=y]/drawer-popup:after:w-24 active:cursor-grabbing",
|
|
948
|
+
className
|
|
949
|
+
),
|
|
950
|
+
...props
|
|
951
|
+
}
|
|
952
|
+
);
|
|
953
|
+
}
|
|
954
|
+
function DrawerContent({
|
|
955
|
+
className,
|
|
956
|
+
children,
|
|
957
|
+
...props
|
|
958
|
+
}) {
|
|
959
|
+
const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
|
|
960
|
+
const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
|
|
961
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
962
|
+
modal === true && /* @__PURE__ */ jsx(DrawerOverlay, { "data-snap-points": hasSnapPoints ? "" : void 0 }),
|
|
963
|
+
/* @__PURE__ */ jsx(
|
|
964
|
+
Drawer$1.Viewport,
|
|
965
|
+
{
|
|
966
|
+
"data-slot": "drawer-viewport",
|
|
967
|
+
"data-modal": modal,
|
|
968
|
+
className: "pointer-events-none fixed inset-0 z-50 select-none data-[modal=true]:pointer-events-auto",
|
|
969
|
+
children: /* @__PURE__ */ jsxs(
|
|
970
|
+
Drawer$1.Popup,
|
|
971
|
+
{
|
|
972
|
+
"data-slot": "drawer-popup",
|
|
973
|
+
"data-swipe-axis": swipeAxis,
|
|
974
|
+
"data-snap-points": hasSnapPoints ? "" : void 0,
|
|
975
|
+
className: cn(
|
|
976
|
+
// Base.
|
|
977
|
+
"group/drawer-popup pointer-events-auto fixed z-50 m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)_scale(var(--stack-scale))] flex-col bg-popover text-sm text-popover-foreground transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords] data-[swipe-direction=down]:rounded-t-xl data-[swipe-direction=down]:border-t data-[swipe-direction=left]:rounded-r-xl data-[swipe-direction=left]:border-r data-[swipe-direction=right]:rounded-l-xl data-[swipe-direction=right]:border-l data-[swipe-direction=up]:rounded-b-xl data-[swipe-direction=up]:border-b",
|
|
978
|
+
// Nested.
|
|
979
|
+
"data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95",
|
|
980
|
+
// Bleed.
|
|
981
|
+
"after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full",
|
|
982
|
+
// Sizing.
|
|
983
|
+
"[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]",
|
|
984
|
+
// Stack.
|
|
985
|
+
"[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-scale-base:max(0,calc(1-(var(--nested-drawers)*var(--stack-step))))] [--stack-scale:clamp(0,calc(var(--stack-scale-base)+(var(--stack-step)*var(--stack-progress))),1)] [--stack-shrink:calc(1-var(--stack-scale))] [--stack-step:0.05]",
|
|
986
|
+
// Transitions.
|
|
987
|
+
"data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]",
|
|
988
|
+
// Axis: y.
|
|
989
|
+
"data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)",
|
|
990
|
+
// Axis: x.
|
|
991
|
+
"data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row",
|
|
992
|
+
// Direction: down.
|
|
993
|
+
"data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]",
|
|
994
|
+
// Direction: up.
|
|
995
|
+
"data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]",
|
|
996
|
+
// Direction: left.
|
|
997
|
+
"data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]",
|
|
998
|
+
// Direction: right.
|
|
999
|
+
"data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]",
|
|
1000
|
+
className
|
|
1001
|
+
),
|
|
1002
|
+
...props,
|
|
1003
|
+
children: [
|
|
1004
|
+
showSwipeHandle && /* @__PURE__ */ jsx(DrawerSwipeHandle, {}),
|
|
1005
|
+
/* @__PURE__ */ jsx(
|
|
1006
|
+
Drawer$1.Content,
|
|
1007
|
+
{
|
|
1008
|
+
"data-slot": "drawer-content",
|
|
1009
|
+
className: cn(
|
|
1010
|
+
"flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-[cubic-bezier(0.45,1.005,0,1.005)] select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none"
|
|
1011
|
+
),
|
|
1012
|
+
children
|
|
1013
|
+
}
|
|
1014
|
+
)
|
|
1015
|
+
]
|
|
1016
|
+
}
|
|
1017
|
+
)
|
|
1018
|
+
}
|
|
1019
|
+
)
|
|
1020
|
+
] });
|
|
1021
|
+
}
|
|
1022
|
+
function DrawerHeader({ className, ...props }) {
|
|
1023
|
+
return /* @__PURE__ */ jsx(
|
|
1024
|
+
"div",
|
|
1025
|
+
{
|
|
1026
|
+
"data-slot": "drawer-header",
|
|
1027
|
+
className: cn(
|
|
1028
|
+
"flex shrink-0 flex-col gap-0.5 p-4 pb-0 group-data-[swipe-axis=y]/drawer-popup:text-center md:gap-0.5 md:text-left",
|
|
1029
|
+
className
|
|
1030
|
+
),
|
|
1031
|
+
...props
|
|
1032
|
+
}
|
|
1033
|
+
);
|
|
1034
|
+
}
|
|
1035
|
+
function DrawerFooter({ className, ...props }) {
|
|
1036
|
+
return /* @__PURE__ */ jsx(
|
|
1037
|
+
"div",
|
|
1038
|
+
{
|
|
1039
|
+
"data-slot": "drawer-footer",
|
|
1040
|
+
className: cn("mt-auto flex shrink-0 flex-col gap-2 p-4 pt-0", className),
|
|
1041
|
+
...props
|
|
1042
|
+
}
|
|
1043
|
+
);
|
|
1044
|
+
}
|
|
1045
|
+
function DrawerTitle({ className, ...props }) {
|
|
1046
|
+
return /* @__PURE__ */ jsx(
|
|
1047
|
+
Drawer$1.Title,
|
|
1048
|
+
{
|
|
1049
|
+
"data-slot": "drawer-title",
|
|
1050
|
+
className: cn(
|
|
1051
|
+
"cn-font-heading text-base font-medium text-foreground",
|
|
1052
|
+
className
|
|
1053
|
+
),
|
|
1054
|
+
...props
|
|
1055
|
+
}
|
|
1056
|
+
);
|
|
1057
|
+
}
|
|
1058
|
+
function DrawerDescription({
|
|
1059
|
+
className,
|
|
1060
|
+
...props
|
|
1061
|
+
}) {
|
|
1062
|
+
return /* @__PURE__ */ jsx(
|
|
1063
|
+
Drawer$1.Description,
|
|
1064
|
+
{
|
|
1065
|
+
"data-slot": "drawer-description",
|
|
1066
|
+
className: cn("text-sm text-balance text-muted-foreground", className),
|
|
1067
|
+
...props
|
|
1068
|
+
}
|
|
1069
|
+
);
|
|
1070
|
+
}
|
|
1071
|
+
function Label({ className, ...props }) {
|
|
1072
|
+
return /* @__PURE__ */ jsx(
|
|
1073
|
+
"label",
|
|
1074
|
+
{
|
|
1075
|
+
"data-slot": "label",
|
|
1076
|
+
className: cn(
|
|
1077
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
1078
|
+
className
|
|
1079
|
+
),
|
|
1080
|
+
...props
|
|
1081
|
+
}
|
|
1082
|
+
);
|
|
1083
|
+
}
|
|
1084
|
+
function FieldSet({ className, ...props }) {
|
|
1085
|
+
return /* @__PURE__ */ jsx(
|
|
1086
|
+
"fieldset",
|
|
1087
|
+
{
|
|
1088
|
+
"data-slot": "field-set",
|
|
1089
|
+
className: cn(
|
|
1090
|
+
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
1091
|
+
className
|
|
1092
|
+
),
|
|
1093
|
+
...props
|
|
1094
|
+
}
|
|
1095
|
+
);
|
|
1096
|
+
}
|
|
1097
|
+
function FieldLegend({
|
|
1098
|
+
className,
|
|
1099
|
+
variant = "legend",
|
|
1100
|
+
...props
|
|
1101
|
+
}) {
|
|
1102
|
+
return /* @__PURE__ */ jsx(
|
|
1103
|
+
"legend",
|
|
1104
|
+
{
|
|
1105
|
+
"data-slot": "field-legend",
|
|
1106
|
+
"data-variant": variant,
|
|
1107
|
+
className: cn(
|
|
1108
|
+
"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
|
|
1109
|
+
className
|
|
1110
|
+
),
|
|
1111
|
+
...props
|
|
1112
|
+
}
|
|
1113
|
+
);
|
|
1114
|
+
}
|
|
1115
|
+
function FieldGroup({ className, ...props }) {
|
|
1116
|
+
return /* @__PURE__ */ jsx(
|
|
1117
|
+
"div",
|
|
1118
|
+
{
|
|
1119
|
+
"data-slot": "field-group",
|
|
1120
|
+
className: cn(
|
|
1121
|
+
"group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
|
|
1122
|
+
className
|
|
1123
|
+
),
|
|
1124
|
+
...props
|
|
1125
|
+
}
|
|
1126
|
+
);
|
|
1127
|
+
}
|
|
1128
|
+
var fieldVariants = cva(
|
|
1129
|
+
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
1130
|
+
{
|
|
1131
|
+
variants: {
|
|
1132
|
+
orientation: {
|
|
1133
|
+
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
1134
|
+
horizontal: "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
1135
|
+
responsive: "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
defaultVariants: {
|
|
1139
|
+
orientation: "vertical"
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
);
|
|
1143
|
+
function Field({
|
|
1144
|
+
className,
|
|
1145
|
+
orientation = "vertical",
|
|
1146
|
+
...props
|
|
1147
|
+
}) {
|
|
1148
|
+
return /* @__PURE__ */ jsx(
|
|
1149
|
+
"div",
|
|
1150
|
+
{
|
|
1151
|
+
role: "group",
|
|
1152
|
+
"data-slot": "field",
|
|
1153
|
+
"data-orientation": orientation,
|
|
1154
|
+
className: cn(fieldVariants({ orientation }), className),
|
|
1155
|
+
...props
|
|
1156
|
+
}
|
|
1157
|
+
);
|
|
1158
|
+
}
|
|
1159
|
+
function FieldContent({ className, ...props }) {
|
|
1160
|
+
return /* @__PURE__ */ jsx(
|
|
1161
|
+
"div",
|
|
1162
|
+
{
|
|
1163
|
+
"data-slot": "field-content",
|
|
1164
|
+
className: cn(
|
|
1165
|
+
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
1166
|
+
className
|
|
1167
|
+
),
|
|
1168
|
+
...props
|
|
1169
|
+
}
|
|
1170
|
+
);
|
|
1171
|
+
}
|
|
1172
|
+
function FieldLabel({
|
|
1173
|
+
className,
|
|
1174
|
+
...props
|
|
1175
|
+
}) {
|
|
1176
|
+
return /* @__PURE__ */ jsx(
|
|
1177
|
+
Label,
|
|
1178
|
+
{
|
|
1179
|
+
"data-slot": "field-label",
|
|
1180
|
+
className: cn(
|
|
1181
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10",
|
|
1182
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
1183
|
+
className
|
|
1184
|
+
),
|
|
1185
|
+
...props
|
|
1186
|
+
}
|
|
1187
|
+
);
|
|
1188
|
+
}
|
|
1189
|
+
function FieldTitle({ className, ...props }) {
|
|
1190
|
+
return /* @__PURE__ */ jsx(
|
|
1191
|
+
"div",
|
|
1192
|
+
{
|
|
1193
|
+
"data-slot": "field-label",
|
|
1194
|
+
className: cn(
|
|
1195
|
+
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
1196
|
+
className
|
|
1197
|
+
),
|
|
1198
|
+
...props
|
|
1199
|
+
}
|
|
1200
|
+
);
|
|
1201
|
+
}
|
|
1202
|
+
function FieldDescription({ className, ...props }) {
|
|
1203
|
+
return /* @__PURE__ */ jsx(
|
|
1204
|
+
"p",
|
|
1205
|
+
{
|
|
1206
|
+
"data-slot": "field-description",
|
|
1207
|
+
className: cn(
|
|
1208
|
+
"text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
|
|
1209
|
+
"last:mt-0 nth-last-2:-mt-1",
|
|
1210
|
+
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
1211
|
+
className
|
|
1212
|
+
),
|
|
1213
|
+
...props
|
|
1214
|
+
}
|
|
1215
|
+
);
|
|
1216
|
+
}
|
|
1217
|
+
function FieldSeparator({
|
|
1218
|
+
children,
|
|
237
1219
|
className,
|
|
238
1220
|
...props
|
|
239
1221
|
}) {
|
|
240
1222
|
return /* @__PURE__ */ jsxs(
|
|
241
|
-
"
|
|
1223
|
+
"div",
|
|
242
1224
|
{
|
|
243
|
-
"data-slot": "
|
|
244
|
-
|
|
245
|
-
"aria-hidden": "true",
|
|
1225
|
+
"data-slot": "field-separator",
|
|
1226
|
+
"data-content": !!children,
|
|
246
1227
|
className: cn(
|
|
247
|
-
"
|
|
1228
|
+
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
248
1229
|
className
|
|
249
1230
|
),
|
|
250
1231
|
...props,
|
|
251
1232
|
children: [
|
|
252
|
-
/* @__PURE__ */ jsx(
|
|
253
|
-
/* @__PURE__ */ jsx(
|
|
1233
|
+
/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
1234
|
+
children && /* @__PURE__ */ jsx(
|
|
1235
|
+
"span",
|
|
1236
|
+
{
|
|
1237
|
+
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
1238
|
+
"data-slot": "field-separator-content",
|
|
1239
|
+
children
|
|
1240
|
+
}
|
|
1241
|
+
)
|
|
254
1242
|
]
|
|
255
1243
|
}
|
|
256
1244
|
);
|
|
257
1245
|
}
|
|
258
|
-
function
|
|
1246
|
+
function FieldError({
|
|
259
1247
|
className,
|
|
260
|
-
|
|
1248
|
+
children,
|
|
1249
|
+
errors,
|
|
261
1250
|
...props
|
|
262
1251
|
}) {
|
|
1252
|
+
const content = useMemo(() => {
|
|
1253
|
+
if (children) {
|
|
1254
|
+
return children;
|
|
1255
|
+
}
|
|
1256
|
+
if (!errors?.length) {
|
|
1257
|
+
return null;
|
|
1258
|
+
}
|
|
1259
|
+
const uniqueErrors = [
|
|
1260
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
1261
|
+
];
|
|
1262
|
+
if (uniqueErrors?.length == 1) {
|
|
1263
|
+
return uniqueErrors[0]?.message;
|
|
1264
|
+
}
|
|
1265
|
+
return /* @__PURE__ */ jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
1266
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx("li", { children: error.message }, index)
|
|
1267
|
+
) });
|
|
1268
|
+
}, [children, errors]);
|
|
1269
|
+
if (!content) {
|
|
1270
|
+
return null;
|
|
1271
|
+
}
|
|
263
1272
|
return /* @__PURE__ */ jsx(
|
|
264
1273
|
"div",
|
|
265
1274
|
{
|
|
266
|
-
|
|
267
|
-
"data-
|
|
268
|
-
className: cn(
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
),
|
|
272
|
-
...props
|
|
1275
|
+
role: "alert",
|
|
1276
|
+
"data-slot": "field-error",
|
|
1277
|
+
className: cn("text-sm font-normal text-destructive", className),
|
|
1278
|
+
...props,
|
|
1279
|
+
children: content
|
|
273
1280
|
}
|
|
274
1281
|
);
|
|
275
1282
|
}
|
|
276
|
-
function
|
|
1283
|
+
function HoverCard({ ...props }) {
|
|
1284
|
+
return /* @__PURE__ */ jsx(PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
1285
|
+
}
|
|
1286
|
+
function HoverCardTrigger({ ...props }) {
|
|
1287
|
+
return /* @__PURE__ */ jsx(PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
1288
|
+
}
|
|
1289
|
+
function HoverCardContent({
|
|
1290
|
+
className,
|
|
1291
|
+
side = "bottom",
|
|
1292
|
+
sideOffset = 4,
|
|
1293
|
+
align = "center",
|
|
1294
|
+
alignOffset = 4,
|
|
1295
|
+
...props
|
|
1296
|
+
}) {
|
|
1297
|
+
return /* @__PURE__ */ jsx(PreviewCard.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
|
|
1298
|
+
PreviewCard.Positioner,
|
|
1299
|
+
{
|
|
1300
|
+
align,
|
|
1301
|
+
alignOffset,
|
|
1302
|
+
side,
|
|
1303
|
+
sideOffset,
|
|
1304
|
+
className: "isolate z-50",
|
|
1305
|
+
children: /* @__PURE__ */ jsx(
|
|
1306
|
+
PreviewCard.Popup,
|
|
1307
|
+
{
|
|
1308
|
+
"data-slot": "hover-card-content",
|
|
1309
|
+
className: cn(
|
|
1310
|
+
"z-50 w-64 origin-(--transform-origin) rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
1311
|
+
className
|
|
1312
|
+
),
|
|
1313
|
+
...props
|
|
1314
|
+
}
|
|
1315
|
+
)
|
|
1316
|
+
}
|
|
1317
|
+
) });
|
|
1318
|
+
}
|
|
1319
|
+
function Kbd({ className, ...props }) {
|
|
277
1320
|
return /* @__PURE__ */ jsx(
|
|
278
|
-
"
|
|
1321
|
+
"kbd",
|
|
279
1322
|
{
|
|
280
|
-
"data-slot": "
|
|
1323
|
+
"data-slot": "kbd",
|
|
281
1324
|
className: cn(
|
|
282
|
-
"
|
|
1325
|
+
"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3",
|
|
283
1326
|
className
|
|
284
1327
|
),
|
|
285
1328
|
...props
|
|
286
1329
|
}
|
|
287
1330
|
);
|
|
288
1331
|
}
|
|
289
|
-
function
|
|
1332
|
+
function KbdGroup({ className, ...props }) {
|
|
290
1333
|
return /* @__PURE__ */ jsx(
|
|
291
|
-
"
|
|
1334
|
+
"kbd",
|
|
292
1335
|
{
|
|
293
|
-
"data-slot": "
|
|
294
|
-
className: cn(
|
|
295
|
-
"cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
|
|
296
|
-
className
|
|
297
|
-
),
|
|
1336
|
+
"data-slot": "kbd-group",
|
|
1337
|
+
className: cn("inline-flex items-center gap-1", className),
|
|
298
1338
|
...props
|
|
299
1339
|
}
|
|
300
1340
|
);
|
|
301
1341
|
}
|
|
302
|
-
function
|
|
1342
|
+
function Pagination({ className, ...props }) {
|
|
303
1343
|
return /* @__PURE__ */ jsx(
|
|
304
|
-
"
|
|
1344
|
+
"nav",
|
|
305
1345
|
{
|
|
306
|
-
|
|
307
|
-
|
|
1346
|
+
role: "navigation",
|
|
1347
|
+
"aria-label": "pagination",
|
|
1348
|
+
"data-slot": "pagination",
|
|
1349
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
308
1350
|
...props
|
|
309
1351
|
}
|
|
310
1352
|
);
|
|
311
1353
|
}
|
|
312
|
-
function
|
|
1354
|
+
function PaginationContent({
|
|
1355
|
+
className,
|
|
1356
|
+
...props
|
|
1357
|
+
}) {
|
|
313
1358
|
return /* @__PURE__ */ jsx(
|
|
314
|
-
"
|
|
1359
|
+
"ul",
|
|
315
1360
|
{
|
|
316
|
-
"data-slot": "
|
|
317
|
-
className: cn(
|
|
318
|
-
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
319
|
-
className
|
|
320
|
-
),
|
|
1361
|
+
"data-slot": "pagination-content",
|
|
1362
|
+
className: cn("flex items-center gap-0.5", className),
|
|
321
1363
|
...props
|
|
322
1364
|
}
|
|
323
1365
|
);
|
|
324
1366
|
}
|
|
325
|
-
function
|
|
1367
|
+
function PaginationItem({ ...props }) {
|
|
1368
|
+
return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
|
|
1369
|
+
}
|
|
1370
|
+
function PaginationLink({
|
|
1371
|
+
className,
|
|
1372
|
+
isActive,
|
|
1373
|
+
size = "icon",
|
|
1374
|
+
...props
|
|
1375
|
+
}) {
|
|
326
1376
|
return /* @__PURE__ */ jsx(
|
|
327
|
-
|
|
1377
|
+
Button,
|
|
328
1378
|
{
|
|
329
|
-
"
|
|
330
|
-
|
|
331
|
-
|
|
1379
|
+
variant: isActive ? "outline" : "ghost",
|
|
1380
|
+
size,
|
|
1381
|
+
className: cn(className),
|
|
1382
|
+
nativeButton: false,
|
|
1383
|
+
render: /* @__PURE__ */ jsx(
|
|
1384
|
+
"a",
|
|
1385
|
+
{
|
|
1386
|
+
"aria-current": isActive ? "page" : void 0,
|
|
1387
|
+
"data-slot": "pagination-link",
|
|
1388
|
+
"data-active": isActive,
|
|
1389
|
+
...props
|
|
1390
|
+
}
|
|
1391
|
+
)
|
|
332
1392
|
}
|
|
333
1393
|
);
|
|
334
1394
|
}
|
|
335
|
-
function
|
|
336
|
-
|
|
337
|
-
|
|
1395
|
+
function PaginationPrevious({
|
|
1396
|
+
className,
|
|
1397
|
+
text = "Previous",
|
|
1398
|
+
...props
|
|
1399
|
+
}) {
|
|
1400
|
+
return /* @__PURE__ */ jsxs(
|
|
1401
|
+
PaginationLink,
|
|
338
1402
|
{
|
|
339
|
-
"
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
1403
|
+
"aria-label": "Go to previous page",
|
|
1404
|
+
size: "default",
|
|
1405
|
+
className: cn("pl-1.5!", className),
|
|
1406
|
+
...props,
|
|
1407
|
+
children: [
|
|
1408
|
+
/* @__PURE__ */ jsx(
|
|
1409
|
+
ChevronLeftIcon,
|
|
1410
|
+
{
|
|
1411
|
+
"data-icon": "inline-start",
|
|
1412
|
+
className: "cn-rtl-flip"
|
|
1413
|
+
}
|
|
1414
|
+
),
|
|
1415
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: text })
|
|
1416
|
+
]
|
|
345
1417
|
}
|
|
346
1418
|
);
|
|
347
1419
|
}
|
|
348
|
-
function
|
|
349
|
-
|
|
350
|
-
|
|
1420
|
+
function PaginationNext({
|
|
1421
|
+
className,
|
|
1422
|
+
text = "Next",
|
|
1423
|
+
...props
|
|
1424
|
+
}) {
|
|
1425
|
+
return /* @__PURE__ */ jsxs(
|
|
1426
|
+
PaginationLink,
|
|
351
1427
|
{
|
|
352
|
-
"
|
|
1428
|
+
"aria-label": "Go to next page",
|
|
1429
|
+
size: "default",
|
|
1430
|
+
className: cn("pr-1.5!", className),
|
|
1431
|
+
...props,
|
|
1432
|
+
children: [
|
|
1433
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: text }),
|
|
1434
|
+
/* @__PURE__ */ jsx(
|
|
1435
|
+
ChevronRightIcon,
|
|
1436
|
+
{
|
|
1437
|
+
"data-icon": "inline-end",
|
|
1438
|
+
className: "cn-rtl-flip"
|
|
1439
|
+
}
|
|
1440
|
+
)
|
|
1441
|
+
]
|
|
1442
|
+
}
|
|
1443
|
+
);
|
|
1444
|
+
}
|
|
1445
|
+
function PaginationEllipsis({
|
|
1446
|
+
className,
|
|
1447
|
+
...props
|
|
1448
|
+
}) {
|
|
1449
|
+
return /* @__PURE__ */ jsxs(
|
|
1450
|
+
"span",
|
|
1451
|
+
{
|
|
1452
|
+
"aria-hidden": true,
|
|
1453
|
+
"data-slot": "pagination-ellipsis",
|
|
353
1454
|
className: cn(
|
|
354
|
-
"flex items-center
|
|
1455
|
+
"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
355
1456
|
className
|
|
356
1457
|
),
|
|
357
|
-
...props
|
|
1458
|
+
...props,
|
|
1459
|
+
children: [
|
|
1460
|
+
/* @__PURE__ */ jsx(
|
|
1461
|
+
MoreHorizontalIcon,
|
|
1462
|
+
{}
|
|
1463
|
+
),
|
|
1464
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
1465
|
+
]
|
|
358
1466
|
}
|
|
359
1467
|
);
|
|
360
1468
|
}
|
|
@@ -427,6 +1535,37 @@ function ProgressValue({ className, ...props }) {
|
|
|
427
1535
|
}
|
|
428
1536
|
);
|
|
429
1537
|
}
|
|
1538
|
+
function RadioGroup({ className, ...props }) {
|
|
1539
|
+
return /* @__PURE__ */ jsx(
|
|
1540
|
+
RadioGroup$1,
|
|
1541
|
+
{
|
|
1542
|
+
"data-slot": "radio-group",
|
|
1543
|
+
className: cn("grid w-full gap-2", className),
|
|
1544
|
+
...props
|
|
1545
|
+
}
|
|
1546
|
+
);
|
|
1547
|
+
}
|
|
1548
|
+
function RadioGroupItem({ className, ...props }) {
|
|
1549
|
+
return /* @__PURE__ */ jsx(
|
|
1550
|
+
Radio.Root,
|
|
1551
|
+
{
|
|
1552
|
+
"data-slot": "radio-group-item",
|
|
1553
|
+
className: cn(
|
|
1554
|
+
"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",
|
|
1555
|
+
className
|
|
1556
|
+
),
|
|
1557
|
+
...props,
|
|
1558
|
+
children: /* @__PURE__ */ jsx(
|
|
1559
|
+
Radio.Indicator,
|
|
1560
|
+
{
|
|
1561
|
+
"data-slot": "radio-group-indicator",
|
|
1562
|
+
className: "flex size-4 items-center justify-center",
|
|
1563
|
+
children: /* @__PURE__ */ jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
|
|
1564
|
+
}
|
|
1565
|
+
)
|
|
1566
|
+
}
|
|
1567
|
+
);
|
|
1568
|
+
}
|
|
430
1569
|
function ScrollArea({
|
|
431
1570
|
className,
|
|
432
1571
|
children,
|
|
@@ -627,7 +1766,211 @@ function TabsContent({ className, ...props }) {
|
|
|
627
1766
|
}
|
|
628
1767
|
);
|
|
629
1768
|
}
|
|
1769
|
+
var toast = Toast$1.createToastManager();
|
|
1770
|
+
function ToastProvider({ ...props }) {
|
|
1771
|
+
return /* @__PURE__ */ jsx(Toast$1.Provider, { ...props });
|
|
1772
|
+
}
|
|
1773
|
+
function ToastPortal({ ...props }) {
|
|
1774
|
+
return /* @__PURE__ */ jsx(Toast$1.Portal, { "data-slot": "toast-portal", ...props });
|
|
1775
|
+
}
|
|
1776
|
+
function ToastViewport({ className, ...props }) {
|
|
1777
|
+
return /* @__PURE__ */ jsx(
|
|
1778
|
+
Toast$1.Viewport,
|
|
1779
|
+
{
|
|
1780
|
+
"data-slot": "toast-viewport",
|
|
1781
|
+
className: cn(
|
|
1782
|
+
"pointer-events-none fixed inset-x-4 bottom-4 z-50 mx-auto w-auto max-w-sm outline-none sm:right-4 sm:left-auto sm:mx-0 sm:w-full",
|
|
1783
|
+
className
|
|
1784
|
+
),
|
|
1785
|
+
...props
|
|
1786
|
+
}
|
|
1787
|
+
);
|
|
1788
|
+
}
|
|
1789
|
+
function Toast({ className, ...props }) {
|
|
1790
|
+
return /* @__PURE__ */ jsx(
|
|
1791
|
+
Toast$1.Root,
|
|
1792
|
+
{
|
|
1793
|
+
"data-slot": "toast",
|
|
1794
|
+
className: cn(
|
|
1795
|
+
"group/toast pointer-events-auto absolute right-0 bottom-0 z-[calc(1000-var(--toast-index))] w-full origin-bottom rounded-2xl border bg-popover text-popover-foreground shadow-lg will-change-transform outline-none select-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
|
|
1796
|
+
"[--gap:0.75rem] [--height:var(--toast-frontmost-height,var(--toast-height))] [--offset-y:calc(var(--toast-offset-y)*-1+calc(var(--toast-index)*var(--gap)*-1)+var(--toast-swipe-movement-y))] [--peek:0.75rem] [--scale:calc(max(0,1-(var(--toast-index)*0.1)))] [--shrink:calc(1-var(--scale))]",
|
|
1797
|
+
"h-(--height) [transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--peek))-(var(--shrink)*var(--height))))_scale(var(--scale))] [transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]",
|
|
1798
|
+
"after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)+1px)] after:w-full after:content-['']",
|
|
1799
|
+
"data-expanded:h-(--toast-height) data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]",
|
|
1800
|
+
"data-limited:opacity-0 data-starting-style:[transform:translateY(150%)]",
|
|
1801
|
+
"[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]",
|
|
1802
|
+
"data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]",
|
|
1803
|
+
"data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]",
|
|
1804
|
+
"data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]",
|
|
1805
|
+
"data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",
|
|
1806
|
+
"data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+150%))]",
|
|
1807
|
+
"data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-150%))_translateY(var(--offset-y))]",
|
|
1808
|
+
"data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+150%))_translateY(var(--offset-y))]",
|
|
1809
|
+
"data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-150%))]",
|
|
1810
|
+
className
|
|
1811
|
+
),
|
|
1812
|
+
...props
|
|
1813
|
+
}
|
|
1814
|
+
);
|
|
1815
|
+
}
|
|
1816
|
+
function ToastContent({ className, ...props }) {
|
|
1817
|
+
return /* @__PURE__ */ jsx(
|
|
1818
|
+
Toast$1.Content,
|
|
1819
|
+
{
|
|
1820
|
+
"data-slot": "toast-content",
|
|
1821
|
+
className: cn(
|
|
1822
|
+
"flex h-full items-center gap-3 overflow-hidden p-4 transition-opacity duration-250 ease-[cubic-bezier(0.22,1,0.36,1)] data-behind:opacity-0 data-expanded:opacity-100",
|
|
1823
|
+
className
|
|
1824
|
+
),
|
|
1825
|
+
...props
|
|
1826
|
+
}
|
|
1827
|
+
);
|
|
1828
|
+
}
|
|
1829
|
+
function ToastTitle({ className, ...props }) {
|
|
1830
|
+
return /* @__PURE__ */ jsx(
|
|
1831
|
+
Toast$1.Title,
|
|
1832
|
+
{
|
|
1833
|
+
"data-slot": "toast-title",
|
|
1834
|
+
className: cn("text-sm font-medium", className),
|
|
1835
|
+
...props
|
|
1836
|
+
}
|
|
1837
|
+
);
|
|
1838
|
+
}
|
|
1839
|
+
function ToastDescription({
|
|
1840
|
+
className,
|
|
1841
|
+
...props
|
|
1842
|
+
}) {
|
|
1843
|
+
return /* @__PURE__ */ jsx(
|
|
1844
|
+
Toast$1.Description,
|
|
1845
|
+
{
|
|
1846
|
+
"data-slot": "toast-description",
|
|
1847
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
1848
|
+
...props
|
|
1849
|
+
}
|
|
1850
|
+
);
|
|
1851
|
+
}
|
|
1852
|
+
function ToastAction({
|
|
1853
|
+
className,
|
|
1854
|
+
render = /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm" }),
|
|
1855
|
+
...props
|
|
1856
|
+
}) {
|
|
1857
|
+
return /* @__PURE__ */ jsx(
|
|
1858
|
+
Toast$1.Action,
|
|
1859
|
+
{
|
|
1860
|
+
"data-slot": "toast-action",
|
|
1861
|
+
render,
|
|
1862
|
+
className: cn("shrink-0", className),
|
|
1863
|
+
...props
|
|
1864
|
+
}
|
|
1865
|
+
);
|
|
1866
|
+
}
|
|
1867
|
+
function ToastClose({
|
|
1868
|
+
className,
|
|
1869
|
+
children,
|
|
1870
|
+
render = /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon-sm" }),
|
|
1871
|
+
...props
|
|
1872
|
+
}) {
|
|
1873
|
+
return /* @__PURE__ */ jsx(
|
|
1874
|
+
Toast$1.Close,
|
|
1875
|
+
{
|
|
1876
|
+
"data-slot": "toast-close",
|
|
1877
|
+
"aria-label": "Close toast",
|
|
1878
|
+
render,
|
|
1879
|
+
className: cn(
|
|
1880
|
+
"relative shrink-0 text-muted-foreground after:absolute after:-inset-2 after:content-[''] hover:text-foreground",
|
|
1881
|
+
className
|
|
1882
|
+
),
|
|
1883
|
+
...props,
|
|
1884
|
+
children: children ?? /* @__PURE__ */ jsx(
|
|
1885
|
+
XIcon,
|
|
1886
|
+
{
|
|
1887
|
+
"aria-hidden": "true"
|
|
1888
|
+
}
|
|
1889
|
+
)
|
|
1890
|
+
}
|
|
1891
|
+
);
|
|
1892
|
+
}
|
|
1893
|
+
function ToastIcon({ type }) {
|
|
1894
|
+
let icon = null;
|
|
1895
|
+
if (type === "success") {
|
|
1896
|
+
icon = /* @__PURE__ */ jsx(
|
|
1897
|
+
CircleCheckIcon,
|
|
1898
|
+
{
|
|
1899
|
+
"aria-hidden": "true"
|
|
1900
|
+
}
|
|
1901
|
+
);
|
|
1902
|
+
}
|
|
1903
|
+
if (type === "info") {
|
|
1904
|
+
icon = /* @__PURE__ */ jsx(
|
|
1905
|
+
InfoIcon,
|
|
1906
|
+
{
|
|
1907
|
+
"aria-hidden": "true"
|
|
1908
|
+
}
|
|
1909
|
+
);
|
|
1910
|
+
}
|
|
1911
|
+
if (type === "warning") {
|
|
1912
|
+
icon = /* @__PURE__ */ jsx(
|
|
1913
|
+
TriangleAlertIcon,
|
|
1914
|
+
{
|
|
1915
|
+
"aria-hidden": "true"
|
|
1916
|
+
}
|
|
1917
|
+
);
|
|
1918
|
+
}
|
|
1919
|
+
if (type === "error") {
|
|
1920
|
+
icon = /* @__PURE__ */ jsx(
|
|
1921
|
+
OctagonXIcon,
|
|
1922
|
+
{
|
|
1923
|
+
className: "text-destructive",
|
|
1924
|
+
"aria-hidden": "true"
|
|
1925
|
+
}
|
|
1926
|
+
);
|
|
1927
|
+
}
|
|
1928
|
+
if (type === "loading") {
|
|
1929
|
+
icon = /* @__PURE__ */ jsx(
|
|
1930
|
+
Loader2Icon,
|
|
1931
|
+
{
|
|
1932
|
+
className: "animate-spin",
|
|
1933
|
+
"aria-hidden": "true"
|
|
1934
|
+
}
|
|
1935
|
+
);
|
|
1936
|
+
}
|
|
1937
|
+
if (!icon) {
|
|
1938
|
+
return null;
|
|
1939
|
+
}
|
|
1940
|
+
return /* @__PURE__ */ jsx(
|
|
1941
|
+
"span",
|
|
1942
|
+
{
|
|
1943
|
+
"data-slot": "toast-icon",
|
|
1944
|
+
className: "shrink-0 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
1945
|
+
children: icon
|
|
1946
|
+
}
|
|
1947
|
+
);
|
|
1948
|
+
}
|
|
1949
|
+
function ToastList() {
|
|
1950
|
+
const { toasts } = Toast$1.useToastManager();
|
|
1951
|
+
return toasts.map((toastItem) => /* @__PURE__ */ jsx(Toast, { toast: toastItem, children: /* @__PURE__ */ jsxs(ToastContent, { children: [
|
|
1952
|
+
/* @__PURE__ */ jsx(ToastIcon, { type: toastItem.type }),
|
|
1953
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
1954
|
+
/* @__PURE__ */ jsx(ToastTitle, {}),
|
|
1955
|
+
/* @__PURE__ */ jsx(ToastDescription, {})
|
|
1956
|
+
] }),
|
|
1957
|
+
/* @__PURE__ */ jsx(ToastAction, {}),
|
|
1958
|
+
/* @__PURE__ */ jsx(ToastClose, {})
|
|
1959
|
+
] }) }, toastItem.id));
|
|
1960
|
+
}
|
|
1961
|
+
function Toaster({
|
|
1962
|
+
children,
|
|
1963
|
+
toastManager = toast,
|
|
1964
|
+
...props
|
|
1965
|
+
}) {
|
|
1966
|
+
return /* @__PURE__ */ jsxs(ToastProvider, { toastManager, ...props, children: [
|
|
1967
|
+
children,
|
|
1968
|
+
/* @__PURE__ */ jsx(ToastPortal, { children: /* @__PURE__ */ jsx(ToastViewport, { children: /* @__PURE__ */ jsx(ToastList, {}) }) })
|
|
1969
|
+
] });
|
|
1970
|
+
}
|
|
1971
|
+
var createToastManager = Toast$1.createToastManager;
|
|
1972
|
+
var useToastManager = Toast$1.useToastManager;
|
|
630
1973
|
|
|
631
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertTitle, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Label, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, ScrollArea, ScrollBar, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
|
|
1974
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerSwipeHandle, DrawerTitle, DrawerTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, HoverCard, HoverCardContent, HoverCardTrigger, Kbd, KbdGroup, Label, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, ScrollArea, ScrollBar, Slider, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, createToastManager, tabsListVariants, toast, useComboboxAnchor, useToastManager };
|
|
632
1975
|
//# sourceMappingURL=index.js.map
|
|
633
1976
|
//# sourceMappingURL=index.js.map
|