@pactor-app/ui 1.44.0 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-SD2XSQIP.js → chunk-FU4P7CAM.js} +4 -0
- package/dist/{chunk-A6WUHUJL.js → chunk-JV2V4HCI.js} +1 -1
- package/dist/{chunk-3PQOJRJD.js → chunk-QB2RZXDD.js} +35 -2450
- package/dist/{chunk-T3TGKYAB.js → chunk-XA7J5SGA.js} +16 -121
- package/dist/components/index.cjs +39 -2524
- package/dist/components/index.d.cts +16 -846
- package/dist/components/index.d.ts +16 -846
- package/dist/components/index.js +7 -43
- package/dist/index.cjs +375 -2860
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +16 -52
- package/dist/layout/index.cjs +2 -0
- package/dist/layout/index.js +2 -2
- package/dist/ui/index.cjs +1138 -560
- package/dist/ui/index.d.cts +219 -16
- package/dist/ui/index.d.ts +219 -16
- package/dist/ui/index.js +721 -44
- package/package.json +10 -8
- package/src/theme-bridge.css +54 -0
- package/styles.css +87 -183
package/dist/ui/index.cjs
CHANGED
|
@@ -34,6 +34,7 @@ __export(ui_exports, {
|
|
|
34
34
|
AccordionContent: () => AccordionContent,
|
|
35
35
|
AccordionItem: () => AccordionItem,
|
|
36
36
|
AccordionTrigger: () => AccordionTrigger,
|
|
37
|
+
ActionButton: () => ActionButton,
|
|
37
38
|
Alert: () => Alert,
|
|
38
39
|
AlertDescription: () => AlertDescription,
|
|
39
40
|
AlertDialog: () => AlertDialog,
|
|
@@ -101,11 +102,13 @@ __export(ui_exports, {
|
|
|
101
102
|
CommandInput: () => CommandInput,
|
|
102
103
|
CommandItem: () => CommandItem,
|
|
103
104
|
CommandList: () => CommandList,
|
|
105
|
+
ConfirmMorph: () => ConfirmMorph,
|
|
104
106
|
ContextMenu: () => ContextMenu,
|
|
105
107
|
ContextMenuContent: () => ContextMenuContent,
|
|
106
108
|
ContextMenuItem: () => ContextMenuItem,
|
|
107
109
|
ContextMenuSeparator: () => ContextMenuSeparator,
|
|
108
110
|
ContextMenuTrigger: () => ContextMenuTrigger,
|
|
111
|
+
CopyButton: () => CopyButton,
|
|
109
112
|
Dialog: () => Dialog,
|
|
110
113
|
DialogClose: () => DialogClose,
|
|
111
114
|
DialogContent: () => DialogContent,
|
|
@@ -139,13 +142,16 @@ __export(ui_exports, {
|
|
|
139
142
|
EmptyDescription: () => EmptyDescription,
|
|
140
143
|
EmptyHeader: () => EmptyHeader,
|
|
141
144
|
EmptyTitle: () => EmptyTitle,
|
|
145
|
+
ExpandingButtonGroup: () => ExpandingButtonGroup,
|
|
142
146
|
Field: () => Field,
|
|
143
147
|
FieldDescription: () => FieldDescription,
|
|
144
148
|
FieldError: () => FieldError,
|
|
145
149
|
FieldLabel: () => FieldLabel,
|
|
150
|
+
FloatingButtonGroup: () => FloatingButtonGroup,
|
|
146
151
|
HoverCard: () => HoverCard,
|
|
147
152
|
HoverCardContent: () => HoverCardContent,
|
|
148
153
|
HoverCardTrigger: () => HoverCardTrigger,
|
|
154
|
+
IconMorph: () => IconMorph,
|
|
149
155
|
Input: () => Input,
|
|
150
156
|
InputGroup: () => InputGroup,
|
|
151
157
|
InputGroupAddon: () => InputGroupAddon,
|
|
@@ -162,6 +168,7 @@ __export(ui_exports, {
|
|
|
162
168
|
ItemTitle: () => ItemTitle,
|
|
163
169
|
Kbd: () => Kbd,
|
|
164
170
|
Label: () => Label,
|
|
171
|
+
MORPH_PAIRS: () => MORPH_PAIRS,
|
|
165
172
|
Menubar: () => Menubar,
|
|
166
173
|
MenubarContent: () => MenubarContent,
|
|
167
174
|
MenubarItem: () => MenubarItem,
|
|
@@ -252,6 +259,7 @@ __export(ui_exports, {
|
|
|
252
259
|
SliderThumb: () => SliderThumb,
|
|
253
260
|
SliderTrack: () => SliderTrack,
|
|
254
261
|
Spinner: () => Spinner,
|
|
262
|
+
SplitButton: () => SplitButton,
|
|
255
263
|
Switch: () => Switch,
|
|
256
264
|
Table: () => Table,
|
|
257
265
|
TableBody: () => TableBody,
|
|
@@ -375,10 +383,172 @@ function AccordionContent({
|
|
|
375
383
|
);
|
|
376
384
|
}
|
|
377
385
|
|
|
378
|
-
// src/ui/
|
|
386
|
+
// src/ui/button.tsx
|
|
387
|
+
var import_button = require("@base-ui/react/button");
|
|
379
388
|
var import_class_variance_authority = require("class-variance-authority");
|
|
389
|
+
var React = __toESM(require("react"), 1);
|
|
380
390
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
381
|
-
var
|
|
391
|
+
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
392
|
+
"inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
393
|
+
{
|
|
394
|
+
variants: {
|
|
395
|
+
variant: {
|
|
396
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
397
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",
|
|
398
|
+
outline: "border border-border bg-card hover:bg-accent hover:text-accent-foreground",
|
|
399
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
400
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
401
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
402
|
+
},
|
|
403
|
+
size: {
|
|
404
|
+
default: "h-9 px-4 py-2",
|
|
405
|
+
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
406
|
+
sm: "h-8 gap-1.5 rounded-md px-3 text-xs",
|
|
407
|
+
lg: "h-10 rounded-md px-6",
|
|
408
|
+
icon: "size-9",
|
|
409
|
+
"icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
410
|
+
"icon-sm": "size-8",
|
|
411
|
+
"icon-lg": "size-10"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
defaultVariants: {
|
|
415
|
+
variant: "default",
|
|
416
|
+
size: "default"
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
);
|
|
420
|
+
function Button({
|
|
421
|
+
className,
|
|
422
|
+
variant,
|
|
423
|
+
size,
|
|
424
|
+
asChild = false,
|
|
425
|
+
children,
|
|
426
|
+
...props
|
|
427
|
+
}) {
|
|
428
|
+
if (asChild && React.isValidElement(children)) {
|
|
429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
430
|
+
import_button.Button,
|
|
431
|
+
{
|
|
432
|
+
"data-slot": "button",
|
|
433
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
434
|
+
render: children,
|
|
435
|
+
...props
|
|
436
|
+
}
|
|
437
|
+
);
|
|
438
|
+
}
|
|
439
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
440
|
+
import_button.Button,
|
|
441
|
+
{
|
|
442
|
+
"data-slot": "button",
|
|
443
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
444
|
+
...props,
|
|
445
|
+
children
|
|
446
|
+
}
|
|
447
|
+
);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// src/ui/tooltip.tsx
|
|
451
|
+
var import_tooltip = require("@base-ui/react/tooltip");
|
|
452
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
453
|
+
function TooltipProvider({
|
|
454
|
+
delay = 0,
|
|
455
|
+
...props
|
|
456
|
+
}) {
|
|
457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
458
|
+
import_tooltip.Tooltip.Provider,
|
|
459
|
+
{
|
|
460
|
+
"data-slot": "tooltip-provider",
|
|
461
|
+
delay,
|
|
462
|
+
...props
|
|
463
|
+
}
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
function Tooltip({
|
|
467
|
+
...props
|
|
468
|
+
}) {
|
|
469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
470
|
+
}
|
|
471
|
+
function TooltipTrigger({
|
|
472
|
+
...props
|
|
473
|
+
}) {
|
|
474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
475
|
+
}
|
|
476
|
+
function TooltipContent({
|
|
477
|
+
className,
|
|
478
|
+
side = "top",
|
|
479
|
+
sideOffset = 4,
|
|
480
|
+
align = "center",
|
|
481
|
+
children,
|
|
482
|
+
...props
|
|
483
|
+
}) {
|
|
484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
485
|
+
import_tooltip.Tooltip.Positioner,
|
|
486
|
+
{
|
|
487
|
+
align,
|
|
488
|
+
side,
|
|
489
|
+
sideOffset,
|
|
490
|
+
className: "isolate z-50",
|
|
491
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
492
|
+
import_tooltip.Tooltip.Popup,
|
|
493
|
+
{
|
|
494
|
+
"data-slot": "tooltip-content",
|
|
495
|
+
className: cn(
|
|
496
|
+
"z-50 w-fit origin-(--transform-origin) rounded-md bg-primary px-3 py-1.5 text-xs text-balance text-primary-foreground duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fill-mode-forwards data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
497
|
+
className
|
|
498
|
+
),
|
|
499
|
+
...props,
|
|
500
|
+
children: [
|
|
501
|
+
children,
|
|
502
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 rounded-[2px] bg-primary fill-primary data-[side=top]:-bottom-1 data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1" })
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
)
|
|
506
|
+
}
|
|
507
|
+
) });
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
// src/ui/action-button.tsx
|
|
511
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
512
|
+
function ActionButton({
|
|
513
|
+
className,
|
|
514
|
+
variant,
|
|
515
|
+
size,
|
|
516
|
+
icon,
|
|
517
|
+
label,
|
|
518
|
+
tooltip,
|
|
519
|
+
type = "button",
|
|
520
|
+
...props
|
|
521
|
+
}) {
|
|
522
|
+
const resolvedSize = size ?? (label ? "sm" : "icon-sm");
|
|
523
|
+
if (process.env.NODE_ENV !== "production" && !label && !props["aria-label"]) {
|
|
524
|
+
console.warn("[ActionButton] icon-only \u7528\u6CD5\u987B\u4F20 aria-label \u4EE5\u4FDD\u8BC1\u53EF\u8BBF\u95EE\u6027\u3002");
|
|
525
|
+
}
|
|
526
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
527
|
+
Button,
|
|
528
|
+
{
|
|
529
|
+
"data-slot": "action-button",
|
|
530
|
+
variant,
|
|
531
|
+
size: resolvedSize,
|
|
532
|
+
type,
|
|
533
|
+
className: cn(className),
|
|
534
|
+
...props,
|
|
535
|
+
children: [
|
|
536
|
+
icon,
|
|
537
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { children: label }) : null
|
|
538
|
+
]
|
|
539
|
+
}
|
|
540
|
+
);
|
|
541
|
+
if (!tooltip) return button;
|
|
542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Tooltip, { children: [
|
|
543
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipTrigger, { render: button }),
|
|
544
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipContent, { children: tooltip })
|
|
545
|
+
] });
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// src/ui/alert.tsx
|
|
549
|
+
var import_class_variance_authority2 = require("class-variance-authority");
|
|
550
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
551
|
+
var alertVariants = (0, import_class_variance_authority2.cva)(
|
|
382
552
|
"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border border-border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
383
553
|
{
|
|
384
554
|
variants: {
|
|
@@ -400,7 +570,7 @@ function Alert({
|
|
|
400
570
|
variant,
|
|
401
571
|
...props
|
|
402
572
|
}) {
|
|
403
|
-
return /* @__PURE__ */ (0,
|
|
573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
404
574
|
"div",
|
|
405
575
|
{
|
|
406
576
|
"data-slot": "alert",
|
|
@@ -411,7 +581,7 @@ function Alert({
|
|
|
411
581
|
);
|
|
412
582
|
}
|
|
413
583
|
function AlertTitle({ className, ...props }) {
|
|
414
|
-
return /* @__PURE__ */ (0,
|
|
584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
415
585
|
"div",
|
|
416
586
|
{
|
|
417
587
|
"data-slot": "alert-title",
|
|
@@ -427,7 +597,7 @@ function AlertDescription({
|
|
|
427
597
|
className,
|
|
428
598
|
...props
|
|
429
599
|
}) {
|
|
430
|
-
return /* @__PURE__ */ (0,
|
|
600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
431
601
|
"div",
|
|
432
602
|
{
|
|
433
603
|
"data-slot": "alert-description",
|
|
@@ -443,73 +613,7 @@ function AlertDescription({
|
|
|
443
613
|
// src/ui/attachment.tsx
|
|
444
614
|
var import_class_variance_authority3 = require("class-variance-authority");
|
|
445
615
|
var React2 = __toESM(require("react"), 1);
|
|
446
|
-
|
|
447
|
-
// src/ui/button.tsx
|
|
448
|
-
var import_button = require("@base-ui/react/button");
|
|
449
|
-
var import_class_variance_authority2 = require("class-variance-authority");
|
|
450
|
-
var React = __toESM(require("react"), 1);
|
|
451
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
452
|
-
var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
453
|
-
"inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
454
|
-
{
|
|
455
|
-
variants: {
|
|
456
|
-
variant: {
|
|
457
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
458
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",
|
|
459
|
-
outline: "border border-border bg-card hover:bg-accent hover:text-accent-foreground",
|
|
460
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
461
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
462
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
463
|
-
},
|
|
464
|
-
size: {
|
|
465
|
-
default: "h-9 px-4 py-2",
|
|
466
|
-
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
467
|
-
sm: "h-8 gap-1.5 rounded-md px-3 text-xs",
|
|
468
|
-
lg: "h-10 rounded-md px-6",
|
|
469
|
-
icon: "size-9",
|
|
470
|
-
"icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
471
|
-
"icon-sm": "size-8",
|
|
472
|
-
"icon-lg": "size-10"
|
|
473
|
-
}
|
|
474
|
-
},
|
|
475
|
-
defaultVariants: {
|
|
476
|
-
variant: "default",
|
|
477
|
-
size: "default"
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
);
|
|
481
|
-
function Button({
|
|
482
|
-
className,
|
|
483
|
-
variant,
|
|
484
|
-
size,
|
|
485
|
-
asChild = false,
|
|
486
|
-
children,
|
|
487
|
-
...props
|
|
488
|
-
}) {
|
|
489
|
-
if (asChild && React.isValidElement(children)) {
|
|
490
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
491
|
-
import_button.Button,
|
|
492
|
-
{
|
|
493
|
-
"data-slot": "button",
|
|
494
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
495
|
-
render: children,
|
|
496
|
-
...props
|
|
497
|
-
}
|
|
498
|
-
);
|
|
499
|
-
}
|
|
500
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
501
|
-
import_button.Button,
|
|
502
|
-
{
|
|
503
|
-
"data-slot": "button",
|
|
504
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
505
|
-
...props,
|
|
506
|
-
children
|
|
507
|
-
}
|
|
508
|
-
);
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
// src/ui/attachment.tsx
|
|
512
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
616
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
513
617
|
var attachmentVariants = (0, import_class_variance_authority3.cva)(
|
|
514
618
|
"group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-xl border bg-card text-card-foreground transition-colors focus-within:ring-1 focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 data-[state=idle]:border-dashed",
|
|
515
619
|
{
|
|
@@ -533,7 +637,7 @@ function Attachment({
|
|
|
533
637
|
orientation = "horizontal",
|
|
534
638
|
...props
|
|
535
639
|
}) {
|
|
536
|
-
return /* @__PURE__ */ (0,
|
|
640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
537
641
|
"div",
|
|
538
642
|
{
|
|
539
643
|
"data-slot": "attachment",
|
|
@@ -564,7 +668,7 @@ function AttachmentMedia({
|
|
|
564
668
|
variant = "icon",
|
|
565
669
|
...props
|
|
566
670
|
}) {
|
|
567
|
-
return /* @__PURE__ */ (0,
|
|
671
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
568
672
|
"div",
|
|
569
673
|
{
|
|
570
674
|
"data-slot": "attachment-media",
|
|
@@ -578,7 +682,7 @@ function AttachmentContent({
|
|
|
578
682
|
className,
|
|
579
683
|
...props
|
|
580
684
|
}) {
|
|
581
|
-
return /* @__PURE__ */ (0,
|
|
685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
582
686
|
"div",
|
|
583
687
|
{
|
|
584
688
|
"data-slot": "attachment-content",
|
|
@@ -594,7 +698,7 @@ function AttachmentTitle({
|
|
|
594
698
|
className,
|
|
595
699
|
...props
|
|
596
700
|
}) {
|
|
597
|
-
return /* @__PURE__ */ (0,
|
|
701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
598
702
|
"span",
|
|
599
703
|
{
|
|
600
704
|
"data-slot": "attachment-title",
|
|
@@ -610,7 +714,7 @@ function AttachmentDescription({
|
|
|
610
714
|
className,
|
|
611
715
|
...props
|
|
612
716
|
}) {
|
|
613
|
-
return /* @__PURE__ */ (0,
|
|
717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
614
718
|
"span",
|
|
615
719
|
{
|
|
616
720
|
"data-slot": "attachment-description",
|
|
@@ -627,7 +731,7 @@ function AttachmentActions({
|
|
|
627
731
|
className,
|
|
628
732
|
...props
|
|
629
733
|
}) {
|
|
630
|
-
return /* @__PURE__ */ (0,
|
|
734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
631
735
|
"div",
|
|
632
736
|
{
|
|
633
737
|
"data-slot": "attachment-actions",
|
|
@@ -645,7 +749,7 @@ function AttachmentAction({
|
|
|
645
749
|
size = "icon-xs",
|
|
646
750
|
...props
|
|
647
751
|
}) {
|
|
648
|
-
return /* @__PURE__ */ (0,
|
|
752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
649
753
|
Button,
|
|
650
754
|
{
|
|
651
755
|
"data-slot": "attachment-action",
|
|
@@ -674,7 +778,7 @@ function AttachmentTrigger({
|
|
|
674
778
|
...props
|
|
675
779
|
});
|
|
676
780
|
}
|
|
677
|
-
return /* @__PURE__ */ (0,
|
|
781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
678
782
|
"button",
|
|
679
783
|
{
|
|
680
784
|
"data-slot": "attachment-trigger",
|
|
@@ -686,7 +790,7 @@ function AttachmentTrigger({
|
|
|
686
790
|
);
|
|
687
791
|
}
|
|
688
792
|
function AttachmentGroup({ className, ...props }) {
|
|
689
|
-
return /* @__PURE__ */ (0,
|
|
793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
690
794
|
"div",
|
|
691
795
|
{
|
|
692
796
|
"data-slot": "attachment-group",
|
|
@@ -701,27 +805,27 @@ function AttachmentGroup({ className, ...props }) {
|
|
|
701
805
|
|
|
702
806
|
// src/ui/alert-dialog.tsx
|
|
703
807
|
var import_alert_dialog = require("@base-ui/react/alert-dialog");
|
|
704
|
-
var
|
|
808
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
705
809
|
function AlertDialog({
|
|
706
810
|
...props
|
|
707
811
|
}) {
|
|
708
|
-
return /* @__PURE__ */ (0,
|
|
812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Root, { "data-slot": "alert-dialog", ...props });
|
|
709
813
|
}
|
|
710
814
|
function AlertDialogTrigger({
|
|
711
815
|
...props
|
|
712
816
|
}) {
|
|
713
|
-
return /* @__PURE__ */ (0,
|
|
817
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
714
818
|
}
|
|
715
819
|
function AlertDialogPortal({
|
|
716
820
|
...props
|
|
717
821
|
}) {
|
|
718
|
-
return /* @__PURE__ */ (0,
|
|
822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_alert_dialog.AlertDialog.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
719
823
|
}
|
|
720
824
|
function AlertDialogOverlay({
|
|
721
825
|
className,
|
|
722
826
|
...props
|
|
723
827
|
}) {
|
|
724
|
-
return /* @__PURE__ */ (0,
|
|
828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
725
829
|
import_alert_dialog.AlertDialog.Backdrop,
|
|
726
830
|
{
|
|
727
831
|
"data-slot": "alert-dialog-overlay",
|
|
@@ -737,9 +841,9 @@ function AlertDialogContent({
|
|
|
737
841
|
className,
|
|
738
842
|
...props
|
|
739
843
|
}) {
|
|
740
|
-
return /* @__PURE__ */ (0,
|
|
741
|
-
/* @__PURE__ */ (0,
|
|
742
|
-
/* @__PURE__ */ (0,
|
|
844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(AlertDialogPortal, { "data-slot": "alert-dialog-portal", children: [
|
|
845
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AlertDialogOverlay, {}),
|
|
846
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
743
847
|
import_alert_dialog.AlertDialog.Popup,
|
|
744
848
|
{
|
|
745
849
|
"data-slot": "alert-dialog-content",
|
|
@@ -756,7 +860,7 @@ function AlertDialogHeader({
|
|
|
756
860
|
className,
|
|
757
861
|
...props
|
|
758
862
|
}) {
|
|
759
|
-
return /* @__PURE__ */ (0,
|
|
863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
760
864
|
"div",
|
|
761
865
|
{
|
|
762
866
|
"data-slot": "alert-dialog-header",
|
|
@@ -769,7 +873,7 @@ function AlertDialogFooter({
|
|
|
769
873
|
className,
|
|
770
874
|
...props
|
|
771
875
|
}) {
|
|
772
|
-
return /* @__PURE__ */ (0,
|
|
876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
773
877
|
"div",
|
|
774
878
|
{
|
|
775
879
|
"data-slot": "alert-dialog-footer",
|
|
@@ -785,7 +889,7 @@ function AlertDialogTitle({
|
|
|
785
889
|
className,
|
|
786
890
|
...props
|
|
787
891
|
}) {
|
|
788
|
-
return /* @__PURE__ */ (0,
|
|
892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
789
893
|
import_alert_dialog.AlertDialog.Title,
|
|
790
894
|
{
|
|
791
895
|
"data-slot": "alert-dialog-title",
|
|
@@ -798,7 +902,7 @@ function AlertDialogDescription({
|
|
|
798
902
|
className,
|
|
799
903
|
...props
|
|
800
904
|
}) {
|
|
801
|
-
return /* @__PURE__ */ (0,
|
|
905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
802
906
|
import_alert_dialog.AlertDialog.Description,
|
|
803
907
|
{
|
|
804
908
|
"data-slot": "alert-dialog-description",
|
|
@@ -812,7 +916,7 @@ function AlertDialogAction({
|
|
|
812
916
|
variant = "default",
|
|
813
917
|
...props
|
|
814
918
|
}) {
|
|
815
|
-
return /* @__PURE__ */ (0,
|
|
919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
816
920
|
import_alert_dialog.AlertDialog.Close,
|
|
817
921
|
{
|
|
818
922
|
"data-slot": "alert-dialog-action",
|
|
@@ -826,7 +930,7 @@ function AlertDialogCancel({
|
|
|
826
930
|
variant = "outline",
|
|
827
931
|
...props
|
|
828
932
|
}) {
|
|
829
|
-
return /* @__PURE__ */ (0,
|
|
933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
830
934
|
import_alert_dialog.AlertDialog.Close,
|
|
831
935
|
{
|
|
832
936
|
"data-slot": "alert-dialog-cancel",
|
|
@@ -837,14 +941,14 @@ function AlertDialogCancel({
|
|
|
837
941
|
}
|
|
838
942
|
|
|
839
943
|
// src/ui/aspect-ratio.tsx
|
|
840
|
-
var
|
|
944
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
841
945
|
function AspectRatio({
|
|
842
946
|
ratio = 1,
|
|
843
947
|
className,
|
|
844
948
|
style,
|
|
845
949
|
...props
|
|
846
950
|
}) {
|
|
847
|
-
return /* @__PURE__ */ (0,
|
|
951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
848
952
|
"div",
|
|
849
953
|
{
|
|
850
954
|
"data-slot": "aspect-ratio",
|
|
@@ -857,9 +961,9 @@ function AspectRatio({
|
|
|
857
961
|
|
|
858
962
|
// src/ui/avatar.tsx
|
|
859
963
|
var import_avatar = require("@base-ui/react/avatar");
|
|
860
|
-
var
|
|
964
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
861
965
|
function Avatar({ className, ...props }) {
|
|
862
|
-
return /* @__PURE__ */ (0,
|
|
966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
863
967
|
import_avatar.Avatar.Root,
|
|
864
968
|
{
|
|
865
969
|
"data-slot": "avatar",
|
|
@@ -872,7 +976,7 @@ function Avatar({ className, ...props }) {
|
|
|
872
976
|
);
|
|
873
977
|
}
|
|
874
978
|
function AvatarImage({ className, ...props }) {
|
|
875
|
-
return /* @__PURE__ */ (0,
|
|
979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
876
980
|
import_avatar.Avatar.Image,
|
|
877
981
|
{
|
|
878
982
|
"data-slot": "avatar-image",
|
|
@@ -882,7 +986,7 @@ function AvatarImage({ className, ...props }) {
|
|
|
882
986
|
);
|
|
883
987
|
}
|
|
884
988
|
function AvatarFallback({ className, ...props }) {
|
|
885
|
-
return /* @__PURE__ */ (0,
|
|
989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
886
990
|
import_avatar.Avatar.Fallback,
|
|
887
991
|
{
|
|
888
992
|
"data-slot": "avatar-fallback",
|
|
@@ -897,7 +1001,7 @@ function AvatarFallback({ className, ...props }) {
|
|
|
897
1001
|
|
|
898
1002
|
// src/ui/badge.tsx
|
|
899
1003
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
900
|
-
var
|
|
1004
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
901
1005
|
var badgeVariants = (0, import_class_variance_authority4.cva)(
|
|
902
1006
|
"inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border px-2 py-0.5 text-xs font-medium whitespace-nowrap [&>svg]:pointer-events-none [&>svg]:size-3",
|
|
903
1007
|
{
|
|
@@ -919,7 +1023,7 @@ function Badge({
|
|
|
919
1023
|
variant,
|
|
920
1024
|
...props
|
|
921
1025
|
}) {
|
|
922
|
-
return /* @__PURE__ */ (0,
|
|
1026
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
923
1027
|
"span",
|
|
924
1028
|
{
|
|
925
1029
|
"data-slot": "badge",
|
|
@@ -932,12 +1036,12 @@ function Badge({
|
|
|
932
1036
|
// src/ui/breadcrumb.tsx
|
|
933
1037
|
var import_lucide_react2 = require("lucide-react");
|
|
934
1038
|
var React3 = __toESM(require("react"), 1);
|
|
935
|
-
var
|
|
1039
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
936
1040
|
function Breadcrumb({ ...props }) {
|
|
937
|
-
return /* @__PURE__ */ (0,
|
|
1041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
938
1042
|
}
|
|
939
1043
|
function BreadcrumbList({ className, ...props }) {
|
|
940
|
-
return /* @__PURE__ */ (0,
|
|
1044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
941
1045
|
"ol",
|
|
942
1046
|
{
|
|
943
1047
|
"data-slot": "breadcrumb-list",
|
|
@@ -950,7 +1054,7 @@ function BreadcrumbList({ className, ...props }) {
|
|
|
950
1054
|
);
|
|
951
1055
|
}
|
|
952
1056
|
function BreadcrumbItem({ className, ...props }) {
|
|
953
|
-
return /* @__PURE__ */ (0,
|
|
1057
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
954
1058
|
"li",
|
|
955
1059
|
{
|
|
956
1060
|
"data-slot": "breadcrumb-item",
|
|
@@ -975,7 +1079,7 @@ function BreadcrumbLink({
|
|
|
975
1079
|
)
|
|
976
1080
|
});
|
|
977
1081
|
}
|
|
978
|
-
return /* @__PURE__ */ (0,
|
|
1082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
979
1083
|
"a",
|
|
980
1084
|
{
|
|
981
1085
|
"data-slot": "breadcrumb-link",
|
|
@@ -985,7 +1089,7 @@ function BreadcrumbLink({
|
|
|
985
1089
|
);
|
|
986
1090
|
}
|
|
987
1091
|
function BreadcrumbPage({ className, ...props }) {
|
|
988
|
-
return /* @__PURE__ */ (0,
|
|
1092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
989
1093
|
"span",
|
|
990
1094
|
{
|
|
991
1095
|
"data-slot": "breadcrumb-page",
|
|
@@ -1002,7 +1106,7 @@ function BreadcrumbSeparator({
|
|
|
1002
1106
|
className,
|
|
1003
1107
|
...props
|
|
1004
1108
|
}) {
|
|
1005
|
-
return /* @__PURE__ */ (0,
|
|
1109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1006
1110
|
"li",
|
|
1007
1111
|
{
|
|
1008
1112
|
"data-slot": "breadcrumb-separator",
|
|
@@ -1010,12 +1114,12 @@ function BreadcrumbSeparator({
|
|
|
1010
1114
|
"aria-hidden": "true",
|
|
1011
1115
|
className: cn("[&>svg]:size-3.5", className),
|
|
1012
1116
|
...props,
|
|
1013
|
-
children: children ?? /* @__PURE__ */ (0,
|
|
1117
|
+
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react2.ChevronRightIcon, {})
|
|
1014
1118
|
}
|
|
1015
1119
|
);
|
|
1016
1120
|
}
|
|
1017
1121
|
function BreadcrumbEllipsis({ className, ...props }) {
|
|
1018
|
-
return /* @__PURE__ */ (0,
|
|
1122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1019
1123
|
"span",
|
|
1020
1124
|
{
|
|
1021
1125
|
"data-slot": "breadcrumb-ellipsis",
|
|
@@ -1024,17 +1128,17 @@ function BreadcrumbEllipsis({ className, ...props }) {
|
|
|
1024
1128
|
className: cn("flex size-9 items-center justify-center", className),
|
|
1025
1129
|
...props,
|
|
1026
1130
|
children: [
|
|
1027
|
-
/* @__PURE__ */ (0,
|
|
1028
|
-
/* @__PURE__ */ (0,
|
|
1131
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_lucide_react2.MoreHorizontalIcon, { className: "size-4" }),
|
|
1132
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sr-only", children: "More" })
|
|
1029
1133
|
]
|
|
1030
1134
|
}
|
|
1031
1135
|
);
|
|
1032
1136
|
}
|
|
1033
1137
|
|
|
1034
1138
|
// src/ui/button-group.tsx
|
|
1035
|
-
var
|
|
1139
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1036
1140
|
function ButtonGroup({ className, ...props }) {
|
|
1037
|
-
return /* @__PURE__ */ (0,
|
|
1141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1038
1142
|
"div",
|
|
1039
1143
|
{
|
|
1040
1144
|
role: "group",
|
|
@@ -1051,9 +1155,9 @@ function ButtonGroup({ className, ...props }) {
|
|
|
1051
1155
|
// src/ui/bubble.tsx
|
|
1052
1156
|
var React4 = __toESM(require("react"), 1);
|
|
1053
1157
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
1054
|
-
var
|
|
1158
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1055
1159
|
function BubbleGroup({ className, ...props }) {
|
|
1056
|
-
return /* @__PURE__ */ (0,
|
|
1160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1057
1161
|
"div",
|
|
1058
1162
|
{
|
|
1059
1163
|
"data-slot": "bubble-group",
|
|
@@ -1087,7 +1191,7 @@ function Bubble({
|
|
|
1087
1191
|
className,
|
|
1088
1192
|
...props
|
|
1089
1193
|
}) {
|
|
1090
|
-
return /* @__PURE__ */ (0,
|
|
1194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1091
1195
|
"div",
|
|
1092
1196
|
{
|
|
1093
1197
|
"data-slot": "bubble",
|
|
@@ -1115,7 +1219,7 @@ function BubbleContent({
|
|
|
1115
1219
|
...props
|
|
1116
1220
|
});
|
|
1117
1221
|
}
|
|
1118
|
-
return /* @__PURE__ */ (0,
|
|
1222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1119
1223
|
"div",
|
|
1120
1224
|
{
|
|
1121
1225
|
"data-slot": "bubble-content",
|
|
@@ -1150,7 +1254,7 @@ function BubbleReactions({
|
|
|
1150
1254
|
className,
|
|
1151
1255
|
...props
|
|
1152
1256
|
}) {
|
|
1153
|
-
return /* @__PURE__ */ (0,
|
|
1257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1154
1258
|
"div",
|
|
1155
1259
|
{
|
|
1156
1260
|
"data-slot": "bubble-reactions",
|
|
@@ -1165,7 +1269,7 @@ function BubbleReactions({
|
|
|
1165
1269
|
// src/ui/calendar.tsx
|
|
1166
1270
|
var import_lucide_react3 = require("lucide-react");
|
|
1167
1271
|
var import_react_day_picker = require("react-day-picker");
|
|
1168
|
-
var
|
|
1272
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1169
1273
|
function Calendar({
|
|
1170
1274
|
className,
|
|
1171
1275
|
classNames,
|
|
@@ -1173,7 +1277,7 @@ function Calendar({
|
|
|
1173
1277
|
...props
|
|
1174
1278
|
}) {
|
|
1175
1279
|
const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
|
|
1176
|
-
return /* @__PURE__ */ (0,
|
|
1280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1177
1281
|
import_react_day_picker.DayPicker,
|
|
1178
1282
|
{
|
|
1179
1283
|
showOutsideDays,
|
|
@@ -1230,7 +1334,7 @@ function Calendar({
|
|
|
1230
1334
|
...classNames
|
|
1231
1335
|
},
|
|
1232
1336
|
components: {
|
|
1233
|
-
Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0,
|
|
1337
|
+
Chevron: ({ orientation }) => orientation === "left" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react3.ChevronLeftIcon, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react3.ChevronRightIcon, { className: "size-4" })
|
|
1234
1338
|
},
|
|
1235
1339
|
...props
|
|
1236
1340
|
}
|
|
@@ -1241,7 +1345,7 @@ function Calendar({
|
|
|
1241
1345
|
var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
|
|
1242
1346
|
var import_lucide_react4 = require("lucide-react");
|
|
1243
1347
|
var React5 = __toESM(require("react"), 1);
|
|
1244
|
-
var
|
|
1348
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1245
1349
|
var CarouselContext = React5.createContext(null);
|
|
1246
1350
|
function useCarousel() {
|
|
1247
1351
|
const context = React5.useContext(CarouselContext);
|
|
@@ -1296,7 +1400,7 @@ function Carousel({
|
|
|
1296
1400
|
api.off("select", onSelect);
|
|
1297
1401
|
};
|
|
1298
1402
|
}, [api, onSelect]);
|
|
1299
|
-
return /* @__PURE__ */ (0,
|
|
1403
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1300
1404
|
CarouselContext.Provider,
|
|
1301
1405
|
{
|
|
1302
1406
|
value: {
|
|
@@ -1309,7 +1413,7 @@ function Carousel({
|
|
|
1309
1413
|
canScrollPrev,
|
|
1310
1414
|
canScrollNext
|
|
1311
1415
|
},
|
|
1312
|
-
children: /* @__PURE__ */ (0,
|
|
1416
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1313
1417
|
"div",
|
|
1314
1418
|
{
|
|
1315
1419
|
onKeyDownCapture: handleKeyDown,
|
|
@@ -1326,7 +1430,7 @@ function Carousel({
|
|
|
1326
1430
|
}
|
|
1327
1431
|
function CarouselContent({ className, ...props }) {
|
|
1328
1432
|
const { carouselRef, orientation } = useCarousel();
|
|
1329
|
-
return /* @__PURE__ */ (0,
|
|
1433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-viewport", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1330
1434
|
"div",
|
|
1331
1435
|
{
|
|
1332
1436
|
className: cn(
|
|
@@ -1340,7 +1444,7 @@ function CarouselContent({ className, ...props }) {
|
|
|
1340
1444
|
}
|
|
1341
1445
|
function CarouselItem({ className, ...props }) {
|
|
1342
1446
|
const { orientation } = useCarousel();
|
|
1343
|
-
return /* @__PURE__ */ (0,
|
|
1447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1344
1448
|
"div",
|
|
1345
1449
|
{
|
|
1346
1450
|
role: "group",
|
|
@@ -1362,7 +1466,7 @@ function CarouselPrevious({
|
|
|
1362
1466
|
...props
|
|
1363
1467
|
}) {
|
|
1364
1468
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
1365
|
-
return /* @__PURE__ */ (0,
|
|
1469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1366
1470
|
Button,
|
|
1367
1471
|
{
|
|
1368
1472
|
"data-slot": "carousel-previous",
|
|
@@ -1377,8 +1481,8 @@ function CarouselPrevious({
|
|
|
1377
1481
|
onClick: scrollPrev,
|
|
1378
1482
|
...props,
|
|
1379
1483
|
children: [
|
|
1380
|
-
/* @__PURE__ */ (0,
|
|
1381
|
-
/* @__PURE__ */ (0,
|
|
1484
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react4.ChevronLeftIcon, {}),
|
|
1485
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sr-only", children: "Previous slide" })
|
|
1382
1486
|
]
|
|
1383
1487
|
}
|
|
1384
1488
|
);
|
|
@@ -1390,7 +1494,7 @@ function CarouselNext({
|
|
|
1390
1494
|
...props
|
|
1391
1495
|
}) {
|
|
1392
1496
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1393
|
-
return /* @__PURE__ */ (0,
|
|
1497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1394
1498
|
Button,
|
|
1395
1499
|
{
|
|
1396
1500
|
"data-slot": "carousel-next",
|
|
@@ -1405,8 +1509,8 @@ function CarouselNext({
|
|
|
1405
1509
|
onClick: scrollNext,
|
|
1406
1510
|
...props,
|
|
1407
1511
|
children: [
|
|
1408
|
-
/* @__PURE__ */ (0,
|
|
1409
|
-
/* @__PURE__ */ (0,
|
|
1512
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react4.ChevronRightIcon, {}),
|
|
1513
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sr-only", children: "Next slide" })
|
|
1410
1514
|
]
|
|
1411
1515
|
}
|
|
1412
1516
|
);
|
|
@@ -1415,9 +1519,9 @@ function CarouselNext({
|
|
|
1415
1519
|
// src/ui/checkbox.tsx
|
|
1416
1520
|
var import_checkbox = require("@base-ui/react/checkbox");
|
|
1417
1521
|
var import_lucide_react5 = require("lucide-react");
|
|
1418
|
-
var
|
|
1522
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1419
1523
|
function Checkbox({ className, indeterminate, ...props }) {
|
|
1420
|
-
return /* @__PURE__ */ (0,
|
|
1524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1421
1525
|
import_checkbox.Checkbox.Root,
|
|
1422
1526
|
{
|
|
1423
1527
|
"data-slot": "checkbox",
|
|
@@ -1427,12 +1531,12 @@ function Checkbox({ className, indeterminate, ...props }) {
|
|
|
1427
1531
|
className
|
|
1428
1532
|
),
|
|
1429
1533
|
...props,
|
|
1430
|
-
children: /* @__PURE__ */ (0,
|
|
1534
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1431
1535
|
import_checkbox.Checkbox.Indicator,
|
|
1432
1536
|
{
|
|
1433
1537
|
"data-slot": "checkbox-indicator",
|
|
1434
1538
|
className: "flex items-center justify-center text-current",
|
|
1435
|
-
children: indeterminate ? /* @__PURE__ */ (0,
|
|
1539
|
+
children: indeterminate ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react5.MinusIcon, { className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react5.CheckIcon, { className: "size-3.5" })
|
|
1436
1540
|
}
|
|
1437
1541
|
)
|
|
1438
1542
|
}
|
|
@@ -1442,18 +1546,18 @@ function Checkbox({ className, indeterminate, ...props }) {
|
|
|
1442
1546
|
// src/ui/collapsible.tsx
|
|
1443
1547
|
var import_collapsible = require("@base-ui/react/collapsible");
|
|
1444
1548
|
var import_lucide_react6 = require("lucide-react");
|
|
1445
|
-
var
|
|
1549
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1446
1550
|
function Collapsible({
|
|
1447
1551
|
...props
|
|
1448
1552
|
}) {
|
|
1449
|
-
return /* @__PURE__ */ (0,
|
|
1553
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_collapsible.Collapsible.Root, { "data-slot": "collapsible", ...props });
|
|
1450
1554
|
}
|
|
1451
1555
|
function CollapsibleTrigger({
|
|
1452
1556
|
className,
|
|
1453
1557
|
children,
|
|
1454
1558
|
...props
|
|
1455
1559
|
}) {
|
|
1456
|
-
return /* @__PURE__ */ (0,
|
|
1560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
1457
1561
|
import_collapsible.Collapsible.Trigger,
|
|
1458
1562
|
{
|
|
1459
1563
|
"data-slot": "collapsible-trigger",
|
|
@@ -1464,7 +1568,7 @@ function CollapsibleTrigger({
|
|
|
1464
1568
|
...props,
|
|
1465
1569
|
children: [
|
|
1466
1570
|
children,
|
|
1467
|
-
/* @__PURE__ */ (0,
|
|
1571
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react6.ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-muted-foreground transition-transform duration-200" })
|
|
1468
1572
|
]
|
|
1469
1573
|
}
|
|
1470
1574
|
);
|
|
@@ -1473,7 +1577,7 @@ function CollapsibleContent({
|
|
|
1473
1577
|
className,
|
|
1474
1578
|
...props
|
|
1475
1579
|
}) {
|
|
1476
|
-
return /* @__PURE__ */ (0,
|
|
1580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1477
1581
|
import_collapsible.Collapsible.Panel,
|
|
1478
1582
|
{
|
|
1479
1583
|
"data-slot": "collapsible-content",
|
|
@@ -1491,16 +1595,16 @@ var import_lucide_react7 = require("lucide-react");
|
|
|
1491
1595
|
|
|
1492
1596
|
// src/ui/popover.tsx
|
|
1493
1597
|
var import_popover = require("@base-ui/react/popover");
|
|
1494
|
-
var
|
|
1598
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1495
1599
|
function Popover({
|
|
1496
1600
|
...props
|
|
1497
1601
|
}) {
|
|
1498
|
-
return /* @__PURE__ */ (0,
|
|
1602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
1499
1603
|
}
|
|
1500
1604
|
function PopoverTrigger({
|
|
1501
1605
|
...props
|
|
1502
1606
|
}) {
|
|
1503
|
-
return /* @__PURE__ */ (0,
|
|
1607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1504
1608
|
}
|
|
1505
1609
|
function PopoverContent({
|
|
1506
1610
|
className,
|
|
@@ -1510,7 +1614,7 @@ function PopoverContent({
|
|
|
1510
1614
|
anchor,
|
|
1511
1615
|
...props
|
|
1512
1616
|
}) {
|
|
1513
|
-
return /* @__PURE__ */ (0,
|
|
1617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1514
1618
|
import_popover.Popover.Positioner,
|
|
1515
1619
|
{
|
|
1516
1620
|
align,
|
|
@@ -1518,7 +1622,7 @@ function PopoverContent({
|
|
|
1518
1622
|
sideOffset,
|
|
1519
1623
|
anchor,
|
|
1520
1624
|
className: "isolate z-50",
|
|
1521
|
-
children: /* @__PURE__ */ (0,
|
|
1625
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1522
1626
|
import_popover.Popover.Popup,
|
|
1523
1627
|
{
|
|
1524
1628
|
"data-slot": "popover-content",
|
|
@@ -1534,13 +1638,13 @@ function PopoverContent({
|
|
|
1534
1638
|
}
|
|
1535
1639
|
|
|
1536
1640
|
// src/ui/combobox.tsx
|
|
1537
|
-
var
|
|
1641
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1538
1642
|
function Combobox({
|
|
1539
1643
|
open,
|
|
1540
1644
|
onOpenChange,
|
|
1541
1645
|
children
|
|
1542
1646
|
}) {
|
|
1543
|
-
return /* @__PURE__ */ (0,
|
|
1647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Popover, { open, onOpenChange: (next) => onOpenChange?.(next), children });
|
|
1544
1648
|
}
|
|
1545
1649
|
function ComboboxTrigger({
|
|
1546
1650
|
className,
|
|
@@ -1549,7 +1653,7 @@ function ComboboxTrigger({
|
|
|
1549
1653
|
iconClassName,
|
|
1550
1654
|
...props
|
|
1551
1655
|
}) {
|
|
1552
|
-
return /* @__PURE__ */ (0,
|
|
1656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
1553
1657
|
PopoverTrigger,
|
|
1554
1658
|
{
|
|
1555
1659
|
"data-slot": "combobox-trigger",
|
|
@@ -1559,9 +1663,9 @@ function ComboboxTrigger({
|
|
|
1559
1663
|
),
|
|
1560
1664
|
...props,
|
|
1561
1665
|
children: [
|
|
1562
|
-
/* @__PURE__ */ (0,
|
|
1666
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "min-w-0 flex-1 truncate text-left", children }),
|
|
1563
1667
|
endAdornment,
|
|
1564
|
-
/* @__PURE__ */ (0,
|
|
1668
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react7.ChevronsUpDownIcon, { className: cn("size-4 shrink-0 opacity-50", iconClassName) })
|
|
1565
1669
|
]
|
|
1566
1670
|
}
|
|
1567
1671
|
);
|
|
@@ -1571,7 +1675,7 @@ function ComboboxContent({
|
|
|
1571
1675
|
children,
|
|
1572
1676
|
...props
|
|
1573
1677
|
}) {
|
|
1574
|
-
return /* @__PURE__ */ (0,
|
|
1678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1575
1679
|
PopoverContent,
|
|
1576
1680
|
{
|
|
1577
1681
|
"data-slot": "combobox-content",
|
|
@@ -1585,12 +1689,12 @@ function ComboboxContent({
|
|
|
1585
1689
|
// src/ui/command.tsx
|
|
1586
1690
|
var import_cmdk = require("cmdk");
|
|
1587
1691
|
var import_lucide_react8 = require("lucide-react");
|
|
1588
|
-
var
|
|
1692
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1589
1693
|
function Command({
|
|
1590
1694
|
className,
|
|
1591
1695
|
...props
|
|
1592
1696
|
}) {
|
|
1593
|
-
return /* @__PURE__ */ (0,
|
|
1697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1594
1698
|
import_cmdk.Command,
|
|
1595
1699
|
{
|
|
1596
1700
|
"data-slot": "command",
|
|
@@ -1606,14 +1710,14 @@ function CommandInput({
|
|
|
1606
1710
|
className,
|
|
1607
1711
|
...props
|
|
1608
1712
|
}) {
|
|
1609
|
-
return /* @__PURE__ */ (0,
|
|
1713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1610
1714
|
"div",
|
|
1611
1715
|
{
|
|
1612
1716
|
"data-slot": "command-input-wrapper",
|
|
1613
1717
|
className: "flex items-center gap-2 border-b border-border px-3",
|
|
1614
1718
|
children: [
|
|
1615
|
-
/* @__PURE__ */ (0,
|
|
1616
|
-
/* @__PURE__ */ (0,
|
|
1719
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react8.SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
1720
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1617
1721
|
import_cmdk.Command.Input,
|
|
1618
1722
|
{
|
|
1619
1723
|
"data-slot": "command-input",
|
|
@@ -1632,7 +1736,7 @@ function CommandList({
|
|
|
1632
1736
|
className,
|
|
1633
1737
|
...props
|
|
1634
1738
|
}) {
|
|
1635
|
-
return /* @__PURE__ */ (0,
|
|
1739
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1636
1740
|
import_cmdk.Command.List,
|
|
1637
1741
|
{
|
|
1638
1742
|
"data-slot": "command-list",
|
|
@@ -1647,7 +1751,7 @@ function CommandList({
|
|
|
1647
1751
|
function CommandEmpty({
|
|
1648
1752
|
...props
|
|
1649
1753
|
}) {
|
|
1650
|
-
return /* @__PURE__ */ (0,
|
|
1754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1651
1755
|
import_cmdk.Command.Empty,
|
|
1652
1756
|
{
|
|
1653
1757
|
"data-slot": "command-empty",
|
|
@@ -1660,7 +1764,7 @@ function CommandGroup({
|
|
|
1660
1764
|
className,
|
|
1661
1765
|
...props
|
|
1662
1766
|
}) {
|
|
1663
|
-
return /* @__PURE__ */ (0,
|
|
1767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1664
1768
|
import_cmdk.Command.Group,
|
|
1665
1769
|
{
|
|
1666
1770
|
"data-slot": "command-group",
|
|
@@ -1670,43 +1774,214 @@ function CommandGroup({
|
|
|
1670
1774
|
),
|
|
1671
1775
|
...props
|
|
1672
1776
|
}
|
|
1673
|
-
);
|
|
1674
|
-
}
|
|
1675
|
-
function CommandItem({
|
|
1676
|
-
className,
|
|
1677
|
-
...props
|
|
1678
|
-
}) {
|
|
1679
|
-
return /* @__PURE__ */ (0,
|
|
1680
|
-
import_cmdk.Command.Item,
|
|
1777
|
+
);
|
|
1778
|
+
}
|
|
1779
|
+
function CommandItem({
|
|
1780
|
+
className,
|
|
1781
|
+
...props
|
|
1782
|
+
}) {
|
|
1783
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1784
|
+
import_cmdk.Command.Item,
|
|
1785
|
+
{
|
|
1786
|
+
"data-slot": "command-item",
|
|
1787
|
+
className: cn(
|
|
1788
|
+
"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-(--menu-active-background) data-[selected=true]:text-(--menu-active-foreground) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1789
|
+
className
|
|
1790
|
+
),
|
|
1791
|
+
...props
|
|
1792
|
+
}
|
|
1793
|
+
);
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
// src/ui/confirm-morph.tsx
|
|
1797
|
+
var import_lucide_react10 = require("lucide-react");
|
|
1798
|
+
var React6 = __toESM(require("react"), 1);
|
|
1799
|
+
|
|
1800
|
+
// src/ui/spinner.tsx
|
|
1801
|
+
var import_lucide_react9 = require("lucide-react");
|
|
1802
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1803
|
+
function Spinner({ className, ...props }) {
|
|
1804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1805
|
+
import_lucide_react9.Loader2Icon,
|
|
1806
|
+
{
|
|
1807
|
+
role: "status",
|
|
1808
|
+
"aria-label": "Loading",
|
|
1809
|
+
"data-slot": "spinner",
|
|
1810
|
+
className: cn("size-4 animate-spin", className),
|
|
1811
|
+
...props
|
|
1812
|
+
}
|
|
1813
|
+
);
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
// src/ui/confirm-morph.tsx
|
|
1817
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1818
|
+
function ConfirmMorph({
|
|
1819
|
+
className,
|
|
1820
|
+
variant,
|
|
1821
|
+
size,
|
|
1822
|
+
label,
|
|
1823
|
+
confirmLabel = "\u786E\u8BA4",
|
|
1824
|
+
pendingLabel,
|
|
1825
|
+
successLabel = "\u5DF2\u5B8C\u6210",
|
|
1826
|
+
undoLabel = "\u64A4\u9500",
|
|
1827
|
+
confirmVariant = "destructive",
|
|
1828
|
+
confirmTimeout = 3e3,
|
|
1829
|
+
resetDelay = 1500,
|
|
1830
|
+
onConfirm,
|
|
1831
|
+
onUndo,
|
|
1832
|
+
onStateChange,
|
|
1833
|
+
disabled,
|
|
1834
|
+
type = "button",
|
|
1835
|
+
...props
|
|
1836
|
+
}) {
|
|
1837
|
+
const [state, setState] = React6.useState("idle");
|
|
1838
|
+
const timerRef = React6.useRef(null);
|
|
1839
|
+
const generationRef = React6.useRef(0);
|
|
1840
|
+
const transition = React6.useCallback(
|
|
1841
|
+
(next) => {
|
|
1842
|
+
setState(next);
|
|
1843
|
+
onStateChange?.(next);
|
|
1844
|
+
},
|
|
1845
|
+
[onStateChange]
|
|
1846
|
+
);
|
|
1847
|
+
const clearTimer = React6.useCallback(() => {
|
|
1848
|
+
if (timerRef.current) {
|
|
1849
|
+
clearTimeout(timerRef.current);
|
|
1850
|
+
timerRef.current = null;
|
|
1851
|
+
}
|
|
1852
|
+
}, []);
|
|
1853
|
+
React6.useEffect(() => clearTimer, [clearTimer]);
|
|
1854
|
+
const handleClick = () => {
|
|
1855
|
+
if (disabled) return;
|
|
1856
|
+
if (state === "idle") {
|
|
1857
|
+
transition("confirming");
|
|
1858
|
+
clearTimer();
|
|
1859
|
+
timerRef.current = setTimeout(() => {
|
|
1860
|
+
generationRef.current += 1;
|
|
1861
|
+
transition("idle");
|
|
1862
|
+
}, confirmTimeout);
|
|
1863
|
+
return;
|
|
1864
|
+
}
|
|
1865
|
+
if (state === "confirming") {
|
|
1866
|
+
clearTimer();
|
|
1867
|
+
const generation = ++generationRef.current;
|
|
1868
|
+
let result;
|
|
1869
|
+
try {
|
|
1870
|
+
result = onConfirm?.();
|
|
1871
|
+
} catch {
|
|
1872
|
+
transition("error");
|
|
1873
|
+
return;
|
|
1874
|
+
}
|
|
1875
|
+
if (result && typeof result.then === "function") {
|
|
1876
|
+
transition("pending");
|
|
1877
|
+
result.then(
|
|
1878
|
+
() => {
|
|
1879
|
+
if (generationRef.current !== generation) return;
|
|
1880
|
+
transition("success");
|
|
1881
|
+
timerRef.current = setTimeout(
|
|
1882
|
+
() => transition("idle"),
|
|
1883
|
+
resetDelay
|
|
1884
|
+
);
|
|
1885
|
+
},
|
|
1886
|
+
() => {
|
|
1887
|
+
if (generationRef.current !== generation) return;
|
|
1888
|
+
transition("error");
|
|
1889
|
+
}
|
|
1890
|
+
);
|
|
1891
|
+
} else {
|
|
1892
|
+
transition("success");
|
|
1893
|
+
timerRef.current = setTimeout(() => transition("idle"), resetDelay);
|
|
1894
|
+
}
|
|
1895
|
+
return;
|
|
1896
|
+
}
|
|
1897
|
+
if (state === "error") {
|
|
1898
|
+
generationRef.current += 1;
|
|
1899
|
+
onUndo?.();
|
|
1900
|
+
transition("idle");
|
|
1901
|
+
}
|
|
1902
|
+
};
|
|
1903
|
+
const interactive = state === "idle" || state === "confirming" || state === "error";
|
|
1904
|
+
const currentVariant = state === "confirming" ? confirmVariant : variant;
|
|
1905
|
+
const segments = [
|
|
1906
|
+
{ key: "idle", content: label },
|
|
1907
|
+
{ key: "confirming", content: confirmLabel },
|
|
1908
|
+
{
|
|
1909
|
+
key: "pending",
|
|
1910
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
1911
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Spinner, { className: "motion-reduce:animate-none" }),
|
|
1912
|
+
pendingLabel ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: pendingLabel }) : null
|
|
1913
|
+
] })
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
key: "success",
|
|
1917
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
1918
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react10.CheckIcon, {}),
|
|
1919
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: successLabel })
|
|
1920
|
+
] })
|
|
1921
|
+
},
|
|
1922
|
+
{
|
|
1923
|
+
key: "error",
|
|
1924
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
1925
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react10.RotateCcwIcon, {}),
|
|
1926
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: undoLabel })
|
|
1927
|
+
] })
|
|
1928
|
+
}
|
|
1929
|
+
];
|
|
1930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1931
|
+
Button,
|
|
1681
1932
|
{
|
|
1682
|
-
"data-slot": "
|
|
1933
|
+
"data-slot": "confirm-morph",
|
|
1934
|
+
"data-state": state,
|
|
1935
|
+
variant: currentVariant,
|
|
1936
|
+
size,
|
|
1937
|
+
type,
|
|
1938
|
+
disabled,
|
|
1939
|
+
"aria-busy": state === "pending" || void 0,
|
|
1683
1940
|
className: cn(
|
|
1684
|
-
"
|
|
1941
|
+
"transition-colors motion-reduce:transition-none",
|
|
1942
|
+
!interactive && "pointer-events-none",
|
|
1685
1943
|
className
|
|
1686
1944
|
),
|
|
1687
|
-
|
|
1945
|
+
onClick: handleClick,
|
|
1946
|
+
...props,
|
|
1947
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "grid", children: segments.map((segment) => {
|
|
1948
|
+
const active = state === segment.key;
|
|
1949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1950
|
+
"span",
|
|
1951
|
+
{
|
|
1952
|
+
"data-segment": segment.key,
|
|
1953
|
+
"aria-hidden": active ? void 0 : true,
|
|
1954
|
+
className: cn(
|
|
1955
|
+
"col-start-1 row-start-1 inline-flex items-center justify-center gap-2 whitespace-nowrap transition-opacity duration-150 motion-reduce:transition-none",
|
|
1956
|
+
active ? "opacity-100" : "pointer-events-none opacity-0"
|
|
1957
|
+
),
|
|
1958
|
+
children: segment.content
|
|
1959
|
+
},
|
|
1960
|
+
segment.key
|
|
1961
|
+
);
|
|
1962
|
+
}) })
|
|
1688
1963
|
}
|
|
1689
1964
|
);
|
|
1690
1965
|
}
|
|
1691
1966
|
|
|
1692
1967
|
// src/ui/context-menu.tsx
|
|
1693
1968
|
var import_context_menu = require("@base-ui/react/context-menu");
|
|
1694
|
-
var
|
|
1969
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1695
1970
|
function ContextMenu({
|
|
1696
1971
|
...props
|
|
1697
1972
|
}) {
|
|
1698
|
-
return /* @__PURE__ */ (0,
|
|
1973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_context_menu.ContextMenu.Root, { "data-slot": "context-menu", ...props });
|
|
1699
1974
|
}
|
|
1700
1975
|
function ContextMenuTrigger({
|
|
1701
1976
|
...props
|
|
1702
1977
|
}) {
|
|
1703
|
-
return /* @__PURE__ */ (0,
|
|
1978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_context_menu.ContextMenu.Trigger, { "data-slot": "context-menu-trigger", ...props });
|
|
1704
1979
|
}
|
|
1705
1980
|
function ContextMenuContent({
|
|
1706
1981
|
className,
|
|
1707
1982
|
...props
|
|
1708
1983
|
}) {
|
|
1709
|
-
return /* @__PURE__ */ (0,
|
|
1984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_context_menu.ContextMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_context_menu.ContextMenu.Positioner, { className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1710
1985
|
import_context_menu.ContextMenu.Popup,
|
|
1711
1986
|
{
|
|
1712
1987
|
"data-slot": "context-menu-content",
|
|
@@ -1723,7 +1998,7 @@ function ContextMenuItem({
|
|
|
1723
1998
|
variant = "default",
|
|
1724
1999
|
...props
|
|
1725
2000
|
}) {
|
|
1726
|
-
return /* @__PURE__ */ (0,
|
|
2001
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1727
2002
|
import_context_menu.ContextMenu.Item,
|
|
1728
2003
|
{
|
|
1729
2004
|
"data-slot": "context-menu-item",
|
|
@@ -1740,7 +2015,7 @@ function ContextMenuSeparator({
|
|
|
1740
2015
|
className,
|
|
1741
2016
|
...props
|
|
1742
2017
|
}) {
|
|
1743
|
-
return /* @__PURE__ */ (0,
|
|
2018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1744
2019
|
import_context_menu.ContextMenu.Separator,
|
|
1745
2020
|
{
|
|
1746
2021
|
"data-slot": "context-menu-separator",
|
|
@@ -1750,34 +2025,158 @@ function ContextMenuSeparator({
|
|
|
1750
2025
|
);
|
|
1751
2026
|
}
|
|
1752
2027
|
|
|
2028
|
+
// src/ui/copy-button.tsx
|
|
2029
|
+
var React7 = __toESM(require("react"), 1);
|
|
2030
|
+
|
|
2031
|
+
// src/ui/icon-morph.tsx
|
|
2032
|
+
var import_lucide_react11 = require("lucide-react");
|
|
2033
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2034
|
+
var MORPH_PAIRS = {
|
|
2035
|
+
"menu-close": { a: import_lucide_react11.Menu, b: import_lucide_react11.X },
|
|
2036
|
+
"play-pause": { a: import_lucide_react11.Play, b: import_lucide_react11.Pause },
|
|
2037
|
+
"copy-check": { a: import_lucide_react11.Copy, b: import_lucide_react11.Check },
|
|
2038
|
+
"plus-minus": { a: import_lucide_react11.Plus, b: import_lucide_react11.Minus }
|
|
2039
|
+
};
|
|
2040
|
+
function IconMorph({ morph, state, className, style }) {
|
|
2041
|
+
const pair = MORPH_PAIRS[morph];
|
|
2042
|
+
if (!pair) {
|
|
2043
|
+
if (process.env.NODE_ENV !== "production") {
|
|
2044
|
+
console.warn(
|
|
2045
|
+
`[IconMorph] \u672A\u77E5\u9884\u8BBE\u56FE\u6807\u5BF9 "${morph}"\uFF0C\u5DF2\u6E32\u67D3\u5360\u4F4D\u56FE\u6807\u3002\u53EF\u7528\u503C\uFF1A${Object.keys(MORPH_PAIRS).join(" / ")}`
|
|
2046
|
+
);
|
|
2047
|
+
}
|
|
2048
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2049
|
+
"span",
|
|
2050
|
+
{
|
|
2051
|
+
"data-slot": "icon-morph",
|
|
2052
|
+
"data-unknown": morph,
|
|
2053
|
+
className: cn("relative inline-flex size-4 shrink-0", className),
|
|
2054
|
+
style,
|
|
2055
|
+
"aria-hidden": "true",
|
|
2056
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react11.CircleQuestionMark, { className: "size-full" })
|
|
2057
|
+
}
|
|
2058
|
+
);
|
|
2059
|
+
}
|
|
2060
|
+
const layers = [
|
|
2061
|
+
{ key: "a", Icon: pair.a },
|
|
2062
|
+
{ key: "b", Icon: pair.b }
|
|
2063
|
+
];
|
|
2064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2065
|
+
"span",
|
|
2066
|
+
{
|
|
2067
|
+
"data-slot": "icon-morph",
|
|
2068
|
+
"data-state": state,
|
|
2069
|
+
className: cn("relative inline-flex size-4 shrink-0", className),
|
|
2070
|
+
style,
|
|
2071
|
+
"aria-hidden": "true",
|
|
2072
|
+
children: layers.map(({ key, Icon }) => {
|
|
2073
|
+
const active = state === key;
|
|
2074
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2075
|
+
Icon,
|
|
2076
|
+
{
|
|
2077
|
+
"data-state": active ? "active" : "inactive",
|
|
2078
|
+
className: cn(
|
|
2079
|
+
"absolute inset-0 size-full transition-all duration-200 ease-out motion-reduce:transition-none",
|
|
2080
|
+
active ? "rotate-0 scale-100 opacity-100" : "scale-50 opacity-0",
|
|
2081
|
+
!active && (key === "a" ? "-rotate-90" : "rotate-90")
|
|
2082
|
+
)
|
|
2083
|
+
},
|
|
2084
|
+
key
|
|
2085
|
+
);
|
|
2086
|
+
})
|
|
2087
|
+
}
|
|
2088
|
+
);
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
// src/ui/copy-button.tsx
|
|
2092
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2093
|
+
function CopyButton({
|
|
2094
|
+
className,
|
|
2095
|
+
variant = "outline",
|
|
2096
|
+
size = "sm",
|
|
2097
|
+
value,
|
|
2098
|
+
label,
|
|
2099
|
+
copiedLabel,
|
|
2100
|
+
resetDelay = 1500,
|
|
2101
|
+
onCopy,
|
|
2102
|
+
onError,
|
|
2103
|
+
onClick,
|
|
2104
|
+
disabled,
|
|
2105
|
+
type = "button",
|
|
2106
|
+
...props
|
|
2107
|
+
}) {
|
|
2108
|
+
const [copied, setCopied] = React7.useState(false);
|
|
2109
|
+
const timerRef = React7.useRef(null);
|
|
2110
|
+
React7.useEffect(
|
|
2111
|
+
() => () => {
|
|
2112
|
+
if (timerRef.current) clearTimeout(timerRef.current);
|
|
2113
|
+
},
|
|
2114
|
+
[]
|
|
2115
|
+
);
|
|
2116
|
+
const handleClick = async (event) => {
|
|
2117
|
+
onClick?.(event);
|
|
2118
|
+
if (event.defaultPrevented || disabled) return;
|
|
2119
|
+
try {
|
|
2120
|
+
if (!navigator.clipboard?.writeText) {
|
|
2121
|
+
throw new Error("navigator.clipboard \u4E0D\u53EF\u7528\uFF08\u975E\u5B89\u5168\u4E0A\u4E0B\u6587\uFF09");
|
|
2122
|
+
}
|
|
2123
|
+
await navigator.clipboard.writeText(value);
|
|
2124
|
+
if (timerRef.current) clearTimeout(timerRef.current);
|
|
2125
|
+
setCopied(true);
|
|
2126
|
+
onCopy?.(value);
|
|
2127
|
+
timerRef.current = setTimeout(() => setCopied(false), resetDelay);
|
|
2128
|
+
} catch (error) {
|
|
2129
|
+
onError?.(error);
|
|
2130
|
+
}
|
|
2131
|
+
};
|
|
2132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
2133
|
+
Button,
|
|
2134
|
+
{
|
|
2135
|
+
"data-slot": "copy-button",
|
|
2136
|
+
"data-state": copied ? "copied" : "idle",
|
|
2137
|
+
variant,
|
|
2138
|
+
size,
|
|
2139
|
+
type,
|
|
2140
|
+
disabled,
|
|
2141
|
+
className: cn(className),
|
|
2142
|
+
onClick: handleClick,
|
|
2143
|
+
...props,
|
|
2144
|
+
children: [
|
|
2145
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconMorph, { morph: "copy-check", state: copied ? "b" : "a" }),
|
|
2146
|
+
copied && copiedLabel ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: copiedLabel }) : label ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: label }) : null
|
|
2147
|
+
]
|
|
2148
|
+
}
|
|
2149
|
+
);
|
|
2150
|
+
}
|
|
2151
|
+
|
|
1753
2152
|
// src/ui/drawer.tsx
|
|
1754
2153
|
var import_vaul = require("vaul");
|
|
1755
|
-
var
|
|
2154
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1756
2155
|
function Drawer({
|
|
1757
2156
|
...props
|
|
1758
2157
|
}) {
|
|
1759
|
-
return /* @__PURE__ */ (0,
|
|
2158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_vaul.Drawer.Root, { "data-slot": "drawer", ...props });
|
|
1760
2159
|
}
|
|
1761
2160
|
function DrawerTrigger({
|
|
1762
2161
|
...props
|
|
1763
2162
|
}) {
|
|
1764
|
-
return /* @__PURE__ */ (0,
|
|
2163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_vaul.Drawer.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
1765
2164
|
}
|
|
1766
2165
|
function DrawerPortal({
|
|
1767
2166
|
...props
|
|
1768
2167
|
}) {
|
|
1769
|
-
return /* @__PURE__ */ (0,
|
|
2168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
|
|
1770
2169
|
}
|
|
1771
2170
|
function DrawerClose({
|
|
1772
2171
|
...props
|
|
1773
2172
|
}) {
|
|
1774
|
-
return /* @__PURE__ */ (0,
|
|
2173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
|
|
1775
2174
|
}
|
|
1776
2175
|
function DrawerOverlay({
|
|
1777
2176
|
className,
|
|
1778
2177
|
...props
|
|
1779
2178
|
}) {
|
|
1780
|
-
return /* @__PURE__ */ (0,
|
|
2179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1781
2180
|
import_vaul.Drawer.Overlay,
|
|
1782
2181
|
{
|
|
1783
2182
|
"data-slot": "drawer-overlay",
|
|
@@ -1792,8 +2191,8 @@ function DrawerContent({
|
|
|
1792
2191
|
overlayProps,
|
|
1793
2192
|
...props
|
|
1794
2193
|
}) {
|
|
1795
|
-
return /* @__PURE__ */ (0,
|
|
1796
|
-
/* @__PURE__ */ (0,
|
|
2194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
2195
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1797
2196
|
"div",
|
|
1798
2197
|
{
|
|
1799
2198
|
"data-slot": "drawer-overlay",
|
|
@@ -1804,7 +2203,7 @@ function DrawerContent({
|
|
|
1804
2203
|
)
|
|
1805
2204
|
}
|
|
1806
2205
|
),
|
|
1807
|
-
/* @__PURE__ */ (0,
|
|
2206
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1808
2207
|
import_vaul.Drawer.Content,
|
|
1809
2208
|
{
|
|
1810
2209
|
"data-slot": "drawer-content",
|
|
@@ -1818,7 +2217,7 @@ function DrawerContent({
|
|
|
1818
2217
|
),
|
|
1819
2218
|
...props,
|
|
1820
2219
|
children: [
|
|
1821
|
-
/* @__PURE__ */ (0,
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
1822
2221
|
children
|
|
1823
2222
|
]
|
|
1824
2223
|
}
|
|
@@ -1826,7 +2225,7 @@ function DrawerContent({
|
|
|
1826
2225
|
] });
|
|
1827
2226
|
}
|
|
1828
2227
|
function DrawerHeader({ className, ...props }) {
|
|
1829
|
-
return /* @__PURE__ */ (0,
|
|
2228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1830
2229
|
"div",
|
|
1831
2230
|
{
|
|
1832
2231
|
"data-slot": "drawer-header",
|
|
@@ -1836,7 +2235,7 @@ function DrawerHeader({ className, ...props }) {
|
|
|
1836
2235
|
);
|
|
1837
2236
|
}
|
|
1838
2237
|
function DrawerFooter({ className, ...props }) {
|
|
1839
|
-
return /* @__PURE__ */ (0,
|
|
2238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1840
2239
|
"div",
|
|
1841
2240
|
{
|
|
1842
2241
|
"data-slot": "drawer-footer",
|
|
@@ -1849,7 +2248,7 @@ function DrawerTitle({
|
|
|
1849
2248
|
className,
|
|
1850
2249
|
...props
|
|
1851
2250
|
}) {
|
|
1852
|
-
return /* @__PURE__ */ (0,
|
|
2251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1853
2252
|
import_vaul.Drawer.Title,
|
|
1854
2253
|
{
|
|
1855
2254
|
"data-slot": "drawer-title",
|
|
@@ -1862,7 +2261,7 @@ function DrawerDescription({
|
|
|
1862
2261
|
className,
|
|
1863
2262
|
...props
|
|
1864
2263
|
}) {
|
|
1865
|
-
return /* @__PURE__ */ (0,
|
|
2264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1866
2265
|
import_vaul.Drawer.Description,
|
|
1867
2266
|
{
|
|
1868
2267
|
"data-slot": "drawer-description",
|
|
@@ -1874,17 +2273,17 @@ function DrawerDescription({
|
|
|
1874
2273
|
|
|
1875
2274
|
// src/ui/dropdown-menu.tsx
|
|
1876
2275
|
var import_menu = require("@base-ui/react/menu");
|
|
1877
|
-
var
|
|
1878
|
-
var
|
|
2276
|
+
var import_lucide_react12 = require("lucide-react");
|
|
2277
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1879
2278
|
function DropdownMenu({
|
|
1880
2279
|
...props
|
|
1881
2280
|
}) {
|
|
1882
|
-
return /* @__PURE__ */ (0,
|
|
2281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
|
|
1883
2282
|
}
|
|
1884
2283
|
function DropdownMenuTrigger({
|
|
1885
2284
|
...props
|
|
1886
2285
|
}) {
|
|
1887
|
-
return /* @__PURE__ */ (0,
|
|
2286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
1888
2287
|
}
|
|
1889
2288
|
function DropdownMenuContent({
|
|
1890
2289
|
className,
|
|
@@ -1893,14 +2292,14 @@ function DropdownMenuContent({
|
|
|
1893
2292
|
sideOffset = 4,
|
|
1894
2293
|
...props
|
|
1895
2294
|
}) {
|
|
1896
|
-
return /* @__PURE__ */ (0,
|
|
2295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1897
2296
|
import_menu.Menu.Positioner,
|
|
1898
2297
|
{
|
|
1899
2298
|
align,
|
|
1900
2299
|
side,
|
|
1901
2300
|
sideOffset,
|
|
1902
2301
|
className: "isolate z-50",
|
|
1903
|
-
children: /* @__PURE__ */ (0,
|
|
2302
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1904
2303
|
import_menu.Menu.Popup,
|
|
1905
2304
|
{
|
|
1906
2305
|
"data-slot": "dropdown-menu-content",
|
|
@@ -1919,7 +2318,7 @@ function DropdownMenuItem({
|
|
|
1919
2318
|
variant = "default",
|
|
1920
2319
|
...props
|
|
1921
2320
|
}) {
|
|
1922
|
-
return /* @__PURE__ */ (0,
|
|
2321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1923
2322
|
import_menu.Menu.Item,
|
|
1924
2323
|
{
|
|
1925
2324
|
"data-slot": "dropdown-menu-item",
|
|
@@ -1936,7 +2335,7 @@ function DropdownMenuSeparator({
|
|
|
1936
2335
|
className,
|
|
1937
2336
|
...props
|
|
1938
2337
|
}) {
|
|
1939
|
-
return /* @__PURE__ */ (0,
|
|
2338
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1940
2339
|
import_menu.Menu.Separator,
|
|
1941
2340
|
{
|
|
1942
2341
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -1948,14 +2347,14 @@ function DropdownMenuSeparator({
|
|
|
1948
2347
|
function DropdownMenuSub({
|
|
1949
2348
|
...props
|
|
1950
2349
|
}) {
|
|
1951
|
-
return /* @__PURE__ */ (0,
|
|
2350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
|
|
1952
2351
|
}
|
|
1953
2352
|
function DropdownMenuSubTrigger({
|
|
1954
2353
|
className,
|
|
1955
2354
|
children,
|
|
1956
2355
|
...props
|
|
1957
2356
|
}) {
|
|
1958
|
-
return /* @__PURE__ */ (0,
|
|
2357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1959
2358
|
import_menu.Menu.SubmenuTrigger,
|
|
1960
2359
|
{
|
|
1961
2360
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -1966,7 +2365,7 @@ function DropdownMenuSubTrigger({
|
|
|
1966
2365
|
...props,
|
|
1967
2366
|
children: [
|
|
1968
2367
|
children,
|
|
1969
|
-
/* @__PURE__ */ (0,
|
|
2368
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ChevronRightIcon, { className: "ml-auto" })
|
|
1970
2369
|
]
|
|
1971
2370
|
}
|
|
1972
2371
|
);
|
|
@@ -1976,7 +2375,7 @@ function DropdownMenuSubContent({
|
|
|
1976
2375
|
sideOffset = 2,
|
|
1977
2376
|
...props
|
|
1978
2377
|
}) {
|
|
1979
|
-
return /* @__PURE__ */ (0,
|
|
2378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_menu.Menu.Positioner, { sideOffset, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1980
2379
|
import_menu.Menu.Popup,
|
|
1981
2380
|
{
|
|
1982
2381
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -1989,18 +2388,191 @@ function DropdownMenuSubContent({
|
|
|
1989
2388
|
) }) });
|
|
1990
2389
|
}
|
|
1991
2390
|
|
|
2391
|
+
// src/ui/expanding-button-group.tsx
|
|
2392
|
+
var React8 = __toESM(require("react"), 1);
|
|
2393
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2394
|
+
function ExpandingButtonGroup({
|
|
2395
|
+
options,
|
|
2396
|
+
onSelect,
|
|
2397
|
+
className,
|
|
2398
|
+
style
|
|
2399
|
+
}) {
|
|
2400
|
+
const [expanded, setExpanded] = React8.useState(null);
|
|
2401
|
+
const [confirming, setConfirming] = React8.useState(null);
|
|
2402
|
+
const handleClick = (option) => {
|
|
2403
|
+
if (option.confirm) {
|
|
2404
|
+
if (confirming === option.value) {
|
|
2405
|
+
setConfirming(null);
|
|
2406
|
+
onSelect?.(option.value);
|
|
2407
|
+
} else {
|
|
2408
|
+
setConfirming(option.value);
|
|
2409
|
+
}
|
|
2410
|
+
return;
|
|
2411
|
+
}
|
|
2412
|
+
onSelect?.(option.value);
|
|
2413
|
+
};
|
|
2414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2415
|
+
"div",
|
|
2416
|
+
{
|
|
2417
|
+
role: "group",
|
|
2418
|
+
"data-slot": "expanding-button-group",
|
|
2419
|
+
className: cn("inline-flex w-fit items-center gap-1", className),
|
|
2420
|
+
style,
|
|
2421
|
+
children: options.map((option) => {
|
|
2422
|
+
const isConfirming = confirming === option.value;
|
|
2423
|
+
const isExpanded = expanded === option.value || isConfirming;
|
|
2424
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2425
|
+
"button",
|
|
2426
|
+
{
|
|
2427
|
+
type: "button",
|
|
2428
|
+
"data-slot": "expanding-button-group-item",
|
|
2429
|
+
"data-value": option.value,
|
|
2430
|
+
"data-expanded": isExpanded ? "" : void 0,
|
|
2431
|
+
"data-confirming": isConfirming ? "" : void 0,
|
|
2432
|
+
disabled: option.disabled,
|
|
2433
|
+
className: cn(
|
|
2434
|
+
"inline-flex h-8 cursor-pointer items-center justify-center gap-1.5 rounded-md px-2 text-sm font-medium whitespace-nowrap outline-none transition-colors duration-150 hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4",
|
|
2435
|
+
isConfirming && "bg-destructive text-destructive-foreground hover:bg-destructive/90"
|
|
2436
|
+
),
|
|
2437
|
+
onMouseEnter: () => setExpanded(option.value),
|
|
2438
|
+
onMouseLeave: () => {
|
|
2439
|
+
setExpanded(null);
|
|
2440
|
+
setConfirming(
|
|
2441
|
+
(prev) => prev === option.value ? null : prev
|
|
2442
|
+
);
|
|
2443
|
+
},
|
|
2444
|
+
onFocus: () => setExpanded(option.value),
|
|
2445
|
+
onBlur: () => {
|
|
2446
|
+
setExpanded(null);
|
|
2447
|
+
setConfirming(
|
|
2448
|
+
(prev) => prev === option.value ? null : prev
|
|
2449
|
+
);
|
|
2450
|
+
},
|
|
2451
|
+
onClick: () => handleClick(option),
|
|
2452
|
+
children: [
|
|
2453
|
+
option.icon,
|
|
2454
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2455
|
+
"span",
|
|
2456
|
+
{
|
|
2457
|
+
className: "grid transition-[grid-template-columns] duration-200 ease-out motion-reduce:transition-none",
|
|
2458
|
+
style: { gridTemplateColumns: isExpanded ? "1fr" : "0fr" },
|
|
2459
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "overflow-hidden", children: isConfirming ? option.confirmLabel ?? "\u786E\u8BA4" : option.label })
|
|
2460
|
+
}
|
|
2461
|
+
)
|
|
2462
|
+
]
|
|
2463
|
+
},
|
|
2464
|
+
option.value
|
|
2465
|
+
);
|
|
2466
|
+
})
|
|
2467
|
+
}
|
|
2468
|
+
);
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2471
|
+
// src/ui/floating-button-group.tsx
|
|
2472
|
+
var React9 = __toESM(require("react"), 1);
|
|
2473
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2474
|
+
function FloatingButtonGroup({
|
|
2475
|
+
options,
|
|
2476
|
+
value,
|
|
2477
|
+
onSelect,
|
|
2478
|
+
className,
|
|
2479
|
+
style
|
|
2480
|
+
}) {
|
|
2481
|
+
const containerRef = React9.useRef(null);
|
|
2482
|
+
const buttonRefs = React9.useRef(/* @__PURE__ */ new Map());
|
|
2483
|
+
const [hovered, setHovered] = React9.useState(null);
|
|
2484
|
+
const [box, setBox] = React9.useState(null);
|
|
2485
|
+
const [visible, setVisible] = React9.useState(false);
|
|
2486
|
+
const target = value ?? hovered;
|
|
2487
|
+
React9.useLayoutEffect(() => {
|
|
2488
|
+
if (!target) {
|
|
2489
|
+
setVisible(false);
|
|
2490
|
+
return;
|
|
2491
|
+
}
|
|
2492
|
+
const el = buttonRefs.current.get(target);
|
|
2493
|
+
if (!el || el.offsetWidth === 0) {
|
|
2494
|
+
setVisible(false);
|
|
2495
|
+
return;
|
|
2496
|
+
}
|
|
2497
|
+
setBox({ x: el.offsetLeft, width: el.offsetWidth });
|
|
2498
|
+
setVisible(true);
|
|
2499
|
+
}, [target]);
|
|
2500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2501
|
+
"div",
|
|
2502
|
+
{
|
|
2503
|
+
ref: containerRef,
|
|
2504
|
+
role: "group",
|
|
2505
|
+
"data-slot": "floating-button-group",
|
|
2506
|
+
className: cn(
|
|
2507
|
+
"relative inline-flex w-fit items-center gap-1 rounded-full bg-muted p-1",
|
|
2508
|
+
className
|
|
2509
|
+
),
|
|
2510
|
+
style,
|
|
2511
|
+
onMouseLeave: () => setHovered(null),
|
|
2512
|
+
children: [
|
|
2513
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2514
|
+
"span",
|
|
2515
|
+
{
|
|
2516
|
+
"data-slot": "floating-button-group-highlight",
|
|
2517
|
+
"aria-hidden": "true",
|
|
2518
|
+
className: cn(
|
|
2519
|
+
"absolute inset-y-1 left-0 rounded-full bg-card shadow-sm transition-[transform,width,opacity] duration-200 ease-out motion-reduce:transition-none",
|
|
2520
|
+
visible ? "opacity-100" : "opacity-0"
|
|
2521
|
+
),
|
|
2522
|
+
style: {
|
|
2523
|
+
width: box?.width ?? 0,
|
|
2524
|
+
transform: `translateX(${box?.x ?? 0}px)`
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
),
|
|
2528
|
+
options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2529
|
+
"button",
|
|
2530
|
+
{
|
|
2531
|
+
type: "button",
|
|
2532
|
+
ref: (el) => {
|
|
2533
|
+
if (el) buttonRefs.current.set(option.value, el);
|
|
2534
|
+
else buttonRefs.current.delete(option.value);
|
|
2535
|
+
},
|
|
2536
|
+
"data-slot": "floating-button-group-item",
|
|
2537
|
+
"data-value": option.value,
|
|
2538
|
+
"data-active": value === option.value ? "" : void 0,
|
|
2539
|
+
disabled: option.disabled,
|
|
2540
|
+
className: cn(
|
|
2541
|
+
"relative z-10 inline-flex h-8 cursor-pointer items-center justify-center gap-1.5 rounded-full px-3 text-sm font-medium whitespace-nowrap outline-none transition-[transform,color] duration-150 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:scale-95 disabled:pointer-events-none disabled:opacity-50 motion-reduce:transition-none motion-reduce:active:transform-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4",
|
|
2542
|
+
target === option.value ? "text-foreground" : "text-muted-foreground"
|
|
2543
|
+
),
|
|
2544
|
+
onMouseEnter: () => setHovered(option.value),
|
|
2545
|
+
onFocus: (event) => {
|
|
2546
|
+
if (event.currentTarget.matches(":focus-visible")) {
|
|
2547
|
+
setHovered(option.value);
|
|
2548
|
+
}
|
|
2549
|
+
},
|
|
2550
|
+
onBlur: () => setHovered(null),
|
|
2551
|
+
onClick: () => onSelect?.(option.value),
|
|
2552
|
+
children: [
|
|
2553
|
+
option.icon,
|
|
2554
|
+
option.label ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: option.label }) : null
|
|
2555
|
+
]
|
|
2556
|
+
},
|
|
2557
|
+
option.value
|
|
2558
|
+
))
|
|
2559
|
+
]
|
|
2560
|
+
}
|
|
2561
|
+
);
|
|
2562
|
+
}
|
|
2563
|
+
|
|
1992
2564
|
// src/ui/hover-card.tsx
|
|
1993
2565
|
var import_preview_card = require("@base-ui/react/preview-card");
|
|
1994
|
-
var
|
|
2566
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1995
2567
|
function HoverCard({
|
|
1996
2568
|
...props
|
|
1997
2569
|
}) {
|
|
1998
|
-
return /* @__PURE__ */ (0,
|
|
2570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_preview_card.PreviewCard.Root, { "data-slot": "hover-card", ...props });
|
|
1999
2571
|
}
|
|
2000
2572
|
function HoverCardTrigger({
|
|
2001
2573
|
...props
|
|
2002
2574
|
}) {
|
|
2003
|
-
return /* @__PURE__ */ (0,
|
|
2575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_preview_card.PreviewCard.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
2004
2576
|
}
|
|
2005
2577
|
function HoverCardContent({
|
|
2006
2578
|
className,
|
|
@@ -2009,14 +2581,14 @@ function HoverCardContent({
|
|
|
2009
2581
|
sideOffset = 4,
|
|
2010
2582
|
...props
|
|
2011
2583
|
}) {
|
|
2012
|
-
return /* @__PURE__ */ (0,
|
|
2584
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_preview_card.PreviewCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2013
2585
|
import_preview_card.PreviewCard.Positioner,
|
|
2014
2586
|
{
|
|
2015
2587
|
align,
|
|
2016
2588
|
side,
|
|
2017
2589
|
sideOffset,
|
|
2018
2590
|
className: "isolate z-50",
|
|
2019
|
-
children: /* @__PURE__ */ (0,
|
|
2591
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2020
2592
|
import_preview_card.PreviewCard.Popup,
|
|
2021
2593
|
{
|
|
2022
2594
|
"data-slot": "hover-card-content",
|
|
@@ -2034,12 +2606,12 @@ function HoverCardContent({
|
|
|
2034
2606
|
// src/ui/menubar.tsx
|
|
2035
2607
|
var import_menu2 = require("@base-ui/react/menu");
|
|
2036
2608
|
var import_menubar = require("@base-ui/react/menubar");
|
|
2037
|
-
var
|
|
2609
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2038
2610
|
function Menubar({
|
|
2039
2611
|
className,
|
|
2040
2612
|
...props
|
|
2041
2613
|
}) {
|
|
2042
|
-
return /* @__PURE__ */ (0,
|
|
2614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2043
2615
|
import_menubar.Menubar,
|
|
2044
2616
|
{
|
|
2045
2617
|
"data-slot": "menubar",
|
|
@@ -2054,13 +2626,13 @@ function Menubar({
|
|
|
2054
2626
|
function MenubarMenu({
|
|
2055
2627
|
...props
|
|
2056
2628
|
}) {
|
|
2057
|
-
return /* @__PURE__ */ (0,
|
|
2629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_menu2.Menu.Root, { "data-slot": "menubar-menu", ...props });
|
|
2058
2630
|
}
|
|
2059
2631
|
function MenubarTrigger({
|
|
2060
2632
|
className,
|
|
2061
2633
|
...props
|
|
2062
2634
|
}) {
|
|
2063
|
-
return /* @__PURE__ */ (0,
|
|
2635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2064
2636
|
import_menu2.Menu.Trigger,
|
|
2065
2637
|
{
|
|
2066
2638
|
"data-slot": "menubar-trigger",
|
|
@@ -2079,14 +2651,14 @@ function MenubarContent({
|
|
|
2079
2651
|
sideOffset = 8,
|
|
2080
2652
|
...props
|
|
2081
2653
|
}) {
|
|
2082
|
-
return /* @__PURE__ */ (0,
|
|
2654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_menu2.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2083
2655
|
import_menu2.Menu.Positioner,
|
|
2084
2656
|
{
|
|
2085
2657
|
align,
|
|
2086
2658
|
side,
|
|
2087
2659
|
sideOffset,
|
|
2088
2660
|
className: "isolate z-50",
|
|
2089
|
-
children: /* @__PURE__ */ (0,
|
|
2661
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2090
2662
|
import_menu2.Menu.Popup,
|
|
2091
2663
|
{
|
|
2092
2664
|
"data-slot": "menubar-content",
|
|
@@ -2105,7 +2677,7 @@ function MenubarItem({
|
|
|
2105
2677
|
variant = "default",
|
|
2106
2678
|
...props
|
|
2107
2679
|
}) {
|
|
2108
|
-
return /* @__PURE__ */ (0,
|
|
2680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2109
2681
|
import_menu2.Menu.Item,
|
|
2110
2682
|
{
|
|
2111
2683
|
"data-slot": "menubar-item",
|
|
@@ -2122,7 +2694,7 @@ function MenubarSeparator({
|
|
|
2122
2694
|
className,
|
|
2123
2695
|
...props
|
|
2124
2696
|
}) {
|
|
2125
|
-
return /* @__PURE__ */ (0,
|
|
2697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2126
2698
|
import_menu2.Menu.Separator,
|
|
2127
2699
|
{
|
|
2128
2700
|
"data-slot": "menubar-separator",
|
|
@@ -2134,15 +2706,15 @@ function MenubarSeparator({
|
|
|
2134
2706
|
|
|
2135
2707
|
// src/ui/navigation-menu.tsx
|
|
2136
2708
|
var import_navigation_menu = require("@base-ui/react/navigation-menu");
|
|
2137
|
-
var
|
|
2709
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2138
2710
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
2139
|
-
var
|
|
2711
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2140
2712
|
function NavigationMenu({
|
|
2141
2713
|
className,
|
|
2142
2714
|
children,
|
|
2143
2715
|
...props
|
|
2144
2716
|
}) {
|
|
2145
|
-
return /* @__PURE__ */ (0,
|
|
2717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2146
2718
|
import_navigation_menu.NavigationMenu.Root,
|
|
2147
2719
|
{
|
|
2148
2720
|
"data-slot": "navigation-menu",
|
|
@@ -2150,7 +2722,7 @@ function NavigationMenu({
|
|
|
2150
2722
|
...props,
|
|
2151
2723
|
children: [
|
|
2152
2724
|
children,
|
|
2153
|
-
/* @__PURE__ */ (0,
|
|
2725
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(NavigationMenuViewport, {})
|
|
2154
2726
|
]
|
|
2155
2727
|
}
|
|
2156
2728
|
);
|
|
@@ -2159,7 +2731,7 @@ function NavigationMenuList({
|
|
|
2159
2731
|
className,
|
|
2160
2732
|
...props
|
|
2161
2733
|
}) {
|
|
2162
|
-
return /* @__PURE__ */ (0,
|
|
2734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2163
2735
|
import_navigation_menu.NavigationMenu.List,
|
|
2164
2736
|
{
|
|
2165
2737
|
"data-slot": "navigation-menu-list",
|
|
@@ -2172,7 +2744,7 @@ function NavigationMenuItem({
|
|
|
2172
2744
|
className,
|
|
2173
2745
|
...props
|
|
2174
2746
|
}) {
|
|
2175
|
-
return /* @__PURE__ */ (0,
|
|
2747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2176
2748
|
import_navigation_menu.NavigationMenu.Item,
|
|
2177
2749
|
{
|
|
2178
2750
|
"data-slot": "navigation-menu-item",
|
|
@@ -2189,7 +2761,7 @@ function NavigationMenuTrigger({
|
|
|
2189
2761
|
children,
|
|
2190
2762
|
...props
|
|
2191
2763
|
}) {
|
|
2192
|
-
return /* @__PURE__ */ (0,
|
|
2764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2193
2765
|
import_navigation_menu.NavigationMenu.Trigger,
|
|
2194
2766
|
{
|
|
2195
2767
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -2197,8 +2769,8 @@ function NavigationMenuTrigger({
|
|
|
2197
2769
|
...props,
|
|
2198
2770
|
children: [
|
|
2199
2771
|
children,
|
|
2200
|
-
/* @__PURE__ */ (0,
|
|
2201
|
-
|
|
2772
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2773
|
+
import_lucide_react13.ChevronDownIcon,
|
|
2202
2774
|
{
|
|
2203
2775
|
className: "relative top-px ml-1 size-3 transition-transform duration-200 group-data-open/navigation-menu-trigger:rotate-180",
|
|
2204
2776
|
"aria-hidden": "true"
|
|
@@ -2212,7 +2784,7 @@ function NavigationMenuContent({
|
|
|
2212
2784
|
className,
|
|
2213
2785
|
...props
|
|
2214
2786
|
}) {
|
|
2215
|
-
return /* @__PURE__ */ (0,
|
|
2787
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2216
2788
|
import_navigation_menu.NavigationMenu.Content,
|
|
2217
2789
|
{
|
|
2218
2790
|
"data-slot": "navigation-menu-content",
|
|
@@ -2225,13 +2797,13 @@ function NavigationMenuContent({
|
|
|
2225
2797
|
);
|
|
2226
2798
|
}
|
|
2227
2799
|
function NavigationMenuViewport({ className }) {
|
|
2228
|
-
return /* @__PURE__ */ (0,
|
|
2800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_navigation_menu.NavigationMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2229
2801
|
import_navigation_menu.NavigationMenu.Positioner,
|
|
2230
2802
|
{
|
|
2231
2803
|
side: "bottom",
|
|
2232
2804
|
align: "start",
|
|
2233
2805
|
className: "isolate z-50",
|
|
2234
|
-
children: /* @__PURE__ */ (0,
|
|
2806
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2235
2807
|
import_navigation_menu.NavigationMenu.Popup,
|
|
2236
2808
|
{
|
|
2237
2809
|
"data-slot": "navigation-menu-popup",
|
|
@@ -2239,7 +2811,7 @@ function NavigationMenuViewport({ className }) {
|
|
|
2239
2811
|
"origin-(--transform-origin) overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md shadow-(color:--shadow-color) duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fill-mode-forwards data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2240
2812
|
className
|
|
2241
2813
|
),
|
|
2242
|
-
children: /* @__PURE__ */ (0,
|
|
2814
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_navigation_menu.NavigationMenu.Viewport, { "data-slot": "navigation-menu-viewport" })
|
|
2243
2815
|
}
|
|
2244
2816
|
)
|
|
2245
2817
|
}
|
|
@@ -2249,7 +2821,7 @@ function NavigationMenuLink({
|
|
|
2249
2821
|
className,
|
|
2250
2822
|
...props
|
|
2251
2823
|
}) {
|
|
2252
|
-
return /* @__PURE__ */ (0,
|
|
2824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2253
2825
|
import_navigation_menu.NavigationMenu.Link,
|
|
2254
2826
|
{
|
|
2255
2827
|
"data-slot": "navigation-menu-link",
|
|
@@ -2263,10 +2835,10 @@ function NavigationMenuLink({
|
|
|
2263
2835
|
}
|
|
2264
2836
|
|
|
2265
2837
|
// src/ui/pagination.tsx
|
|
2266
|
-
var
|
|
2267
|
-
var
|
|
2838
|
+
var import_lucide_react14 = require("lucide-react");
|
|
2839
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2268
2840
|
function Pagination({ className, ...props }) {
|
|
2269
|
-
return /* @__PURE__ */ (0,
|
|
2841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2270
2842
|
"nav",
|
|
2271
2843
|
{
|
|
2272
2844
|
role: "navigation",
|
|
@@ -2278,7 +2850,7 @@ function Pagination({ className, ...props }) {
|
|
|
2278
2850
|
);
|
|
2279
2851
|
}
|
|
2280
2852
|
function PaginationContent({ className, ...props }) {
|
|
2281
|
-
return /* @__PURE__ */ (0,
|
|
2853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2282
2854
|
"ul",
|
|
2283
2855
|
{
|
|
2284
2856
|
"data-slot": "pagination-content",
|
|
@@ -2288,7 +2860,7 @@ function PaginationContent({ className, ...props }) {
|
|
|
2288
2860
|
);
|
|
2289
2861
|
}
|
|
2290
2862
|
function PaginationItem({ ...props }) {
|
|
2291
|
-
return /* @__PURE__ */ (0,
|
|
2863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
2292
2864
|
}
|
|
2293
2865
|
function PaginationLink({
|
|
2294
2866
|
className,
|
|
@@ -2296,7 +2868,7 @@ function PaginationLink({
|
|
|
2296
2868
|
disabled,
|
|
2297
2869
|
...props
|
|
2298
2870
|
}) {
|
|
2299
|
-
return /* @__PURE__ */ (0,
|
|
2871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2300
2872
|
"a",
|
|
2301
2873
|
{
|
|
2302
2874
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2320,15 +2892,15 @@ function PaginationPrevious({
|
|
|
2320
2892
|
className,
|
|
2321
2893
|
...props
|
|
2322
2894
|
}) {
|
|
2323
|
-
return /* @__PURE__ */ (0,
|
|
2895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2324
2896
|
PaginationLink,
|
|
2325
2897
|
{
|
|
2326
2898
|
"aria-label": "Go to previous page",
|
|
2327
2899
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
2328
2900
|
...props,
|
|
2329
2901
|
children: [
|
|
2330
|
-
/* @__PURE__ */ (0,
|
|
2331
|
-
/* @__PURE__ */ (0,
|
|
2902
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react14.ChevronLeftIcon, {}),
|
|
2903
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
2332
2904
|
]
|
|
2333
2905
|
}
|
|
2334
2906
|
);
|
|
@@ -2337,21 +2909,21 @@ function PaginationNext({
|
|
|
2337
2909
|
className,
|
|
2338
2910
|
...props
|
|
2339
2911
|
}) {
|
|
2340
|
-
return /* @__PURE__ */ (0,
|
|
2912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2341
2913
|
PaginationLink,
|
|
2342
2914
|
{
|
|
2343
2915
|
"aria-label": "Go to next page",
|
|
2344
2916
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
2345
2917
|
...props,
|
|
2346
2918
|
children: [
|
|
2347
|
-
/* @__PURE__ */ (0,
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2919
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
2920
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react14.ChevronRightIcon, {})
|
|
2349
2921
|
]
|
|
2350
2922
|
}
|
|
2351
2923
|
);
|
|
2352
2924
|
}
|
|
2353
2925
|
function PaginationEllipsis({ className, ...props }) {
|
|
2354
|
-
return /* @__PURE__ */ (0,
|
|
2926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2355
2927
|
"span",
|
|
2356
2928
|
{
|
|
2357
2929
|
"aria-hidden": true,
|
|
@@ -2359,8 +2931,8 @@ function PaginationEllipsis({ className, ...props }) {
|
|
|
2359
2931
|
className: cn("flex size-9 items-center justify-center", className),
|
|
2360
2932
|
...props,
|
|
2361
2933
|
children: [
|
|
2362
|
-
/* @__PURE__ */ (0,
|
|
2363
|
-
/* @__PURE__ */ (0,
|
|
2934
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react14.MoreHorizontalIcon, { className: "size-4" }),
|
|
2935
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
2364
2936
|
]
|
|
2365
2937
|
}
|
|
2366
2938
|
);
|
|
@@ -2368,34 +2940,34 @@ function PaginationEllipsis({ className, ...props }) {
|
|
|
2368
2940
|
|
|
2369
2941
|
// src/ui/sheet.tsx
|
|
2370
2942
|
var import_dialog = require("@base-ui/react/dialog");
|
|
2371
|
-
var
|
|
2943
|
+
var import_lucide_react15 = require("lucide-react");
|
|
2372
2944
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
2373
|
-
var
|
|
2945
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2374
2946
|
function Sheet({
|
|
2375
2947
|
...props
|
|
2376
2948
|
}) {
|
|
2377
|
-
return /* @__PURE__ */ (0,
|
|
2949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dialog.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
2378
2950
|
}
|
|
2379
2951
|
function SheetTrigger({
|
|
2380
2952
|
...props
|
|
2381
2953
|
}) {
|
|
2382
|
-
return /* @__PURE__ */ (0,
|
|
2954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dialog.Dialog.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
2383
2955
|
}
|
|
2384
2956
|
function SheetClose({
|
|
2385
2957
|
...props
|
|
2386
2958
|
}) {
|
|
2387
|
-
return /* @__PURE__ */ (0,
|
|
2959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dialog.Dialog.Close, { "data-slot": "sheet-close", ...props });
|
|
2388
2960
|
}
|
|
2389
2961
|
function SheetPortal({
|
|
2390
2962
|
...props
|
|
2391
2963
|
}) {
|
|
2392
|
-
return /* @__PURE__ */ (0,
|
|
2964
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_dialog.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
2393
2965
|
}
|
|
2394
2966
|
function SheetOverlay({
|
|
2395
2967
|
className,
|
|
2396
2968
|
...props
|
|
2397
2969
|
}) {
|
|
2398
|
-
return /* @__PURE__ */ (0,
|
|
2970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2399
2971
|
import_dialog.Dialog.Backdrop,
|
|
2400
2972
|
{
|
|
2401
2973
|
"data-slot": "sheet-overlay",
|
|
@@ -2429,9 +3001,9 @@ function SheetContent({
|
|
|
2429
3001
|
side = "right",
|
|
2430
3002
|
...props
|
|
2431
3003
|
}) {
|
|
2432
|
-
return /* @__PURE__ */ (0,
|
|
2433
|
-
/* @__PURE__ */ (0,
|
|
2434
|
-
/* @__PURE__ */ (0,
|
|
3004
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(SheetPortal, { "data-slot": "sheet-portal", children: [
|
|
3005
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SheetOverlay, {}),
|
|
3006
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2435
3007
|
import_dialog.Dialog.Popup,
|
|
2436
3008
|
{
|
|
2437
3009
|
"data-slot": "sheet-content",
|
|
@@ -2439,11 +3011,11 @@ function SheetContent({
|
|
|
2439
3011
|
...props,
|
|
2440
3012
|
children: [
|
|
2441
3013
|
children,
|
|
2442
|
-
/* @__PURE__ */ (0,
|
|
3014
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2443
3015
|
import_dialog.Dialog.Close,
|
|
2444
3016
|
{
|
|
2445
3017
|
"data-slot": "sheet-close",
|
|
2446
|
-
render: /* @__PURE__ */ (0,
|
|
3018
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2447
3019
|
"button",
|
|
2448
3020
|
{
|
|
2449
3021
|
type: "button",
|
|
@@ -2451,8 +3023,8 @@ function SheetContent({
|
|
|
2451
3023
|
}
|
|
2452
3024
|
),
|
|
2453
3025
|
children: [
|
|
2454
|
-
/* @__PURE__ */ (0,
|
|
2455
|
-
/* @__PURE__ */ (0,
|
|
3026
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react15.XIcon, {}),
|
|
3027
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2456
3028
|
]
|
|
2457
3029
|
}
|
|
2458
3030
|
)
|
|
@@ -2462,7 +3034,7 @@ function SheetContent({
|
|
|
2462
3034
|
] });
|
|
2463
3035
|
}
|
|
2464
3036
|
function SheetHeader({ className, ...props }) {
|
|
2465
|
-
return /* @__PURE__ */ (0,
|
|
3037
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2466
3038
|
"div",
|
|
2467
3039
|
{
|
|
2468
3040
|
"data-slot": "sheet-header",
|
|
@@ -2472,7 +3044,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
2472
3044
|
);
|
|
2473
3045
|
}
|
|
2474
3046
|
function SheetFooter({ className, ...props }) {
|
|
2475
|
-
return /* @__PURE__ */ (0,
|
|
3047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2476
3048
|
"div",
|
|
2477
3049
|
{
|
|
2478
3050
|
"data-slot": "sheet-footer",
|
|
@@ -2485,7 +3057,7 @@ function SheetTitle({
|
|
|
2485
3057
|
className,
|
|
2486
3058
|
...props
|
|
2487
3059
|
}) {
|
|
2488
|
-
return /* @__PURE__ */ (0,
|
|
3060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2489
3061
|
import_dialog.Dialog.Title,
|
|
2490
3062
|
{
|
|
2491
3063
|
"data-slot": "sheet-title",
|
|
@@ -2498,7 +3070,7 @@ function SheetDescription({
|
|
|
2498
3070
|
className,
|
|
2499
3071
|
...props
|
|
2500
3072
|
}) {
|
|
2501
|
-
return /* @__PURE__ */ (0,
|
|
3073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2502
3074
|
import_dialog.Dialog.Description,
|
|
2503
3075
|
{
|
|
2504
3076
|
"data-slot": "sheet-description",
|
|
@@ -2510,8 +3082,8 @@ function SheetDescription({
|
|
|
2510
3082
|
|
|
2511
3083
|
// src/ui/toast.tsx
|
|
2512
3084
|
var import_toast = require("@base-ui/react/toast");
|
|
2513
|
-
var
|
|
2514
|
-
var
|
|
3085
|
+
var import_lucide_react16 = require("lucide-react");
|
|
3086
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2515
3087
|
var toastManager = import_toast.Toast.createToastManager();
|
|
2516
3088
|
function toast(message, options = {}) {
|
|
2517
3089
|
return toastManager.add({
|
|
@@ -2529,7 +3101,7 @@ var toastVariantClass = {
|
|
|
2529
3101
|
};
|
|
2530
3102
|
function ToasterViewport({ className }) {
|
|
2531
3103
|
const { toasts } = import_toast.Toast.useToastManager();
|
|
2532
|
-
return /* @__PURE__ */ (0,
|
|
3104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_toast.Toast.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2533
3105
|
import_toast.Toast.Viewport,
|
|
2534
3106
|
{
|
|
2535
3107
|
"data-slot": "toast-viewport",
|
|
@@ -2537,7 +3109,7 @@ function ToasterViewport({ className }) {
|
|
|
2537
3109
|
"fixed top-4 right-4 z-[100] flex w-80 flex-col gap-2 outline-none",
|
|
2538
3110
|
className
|
|
2539
3111
|
),
|
|
2540
|
-
children: toasts.map((item) => /* @__PURE__ */ (0,
|
|
3112
|
+
children: toasts.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2541
3113
|
import_toast.Toast.Root,
|
|
2542
3114
|
{
|
|
2543
3115
|
toast: item,
|
|
@@ -2547,16 +3119,16 @@ function ToasterViewport({ className }) {
|
|
|
2547
3119
|
"rounded-md border border-border bg-popover px-4 py-3 text-sm text-popover-foreground shadow-md shadow-(color:--shadow-color) transition-[opacity,transform] duration-200 data-ending-style:animate-toast-out data-starting-style:animate-toast-in",
|
|
2548
3120
|
toastVariantClass[item.type ?? "info"] ?? toastVariantClass.info
|
|
2549
3121
|
),
|
|
2550
|
-
children: /* @__PURE__ */ (0,
|
|
2551
|
-
/* @__PURE__ */ (0,
|
|
2552
|
-
/* @__PURE__ */ (0,
|
|
3122
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_toast.Toast.Content, { className: "flex items-start justify-between gap-2", children: [
|
|
3123
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "grid gap-0.5", children: [
|
|
3124
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2553
3125
|
import_toast.Toast.Title,
|
|
2554
3126
|
{
|
|
2555
3127
|
"data-slot": "toast-title",
|
|
2556
3128
|
className: "font-medium"
|
|
2557
3129
|
}
|
|
2558
3130
|
),
|
|
2559
|
-
/* @__PURE__ */ (0,
|
|
3131
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2560
3132
|
import_toast.Toast.Description,
|
|
2561
3133
|
{
|
|
2562
3134
|
"data-slot": "toast-description",
|
|
@@ -2564,13 +3136,13 @@ function ToasterViewport({ className }) {
|
|
|
2564
3136
|
}
|
|
2565
3137
|
)
|
|
2566
3138
|
] }),
|
|
2567
|
-
/* @__PURE__ */ (0,
|
|
3139
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2568
3140
|
import_toast.Toast.Close,
|
|
2569
3141
|
{
|
|
2570
3142
|
"data-slot": "toast-close",
|
|
2571
3143
|
"aria-label": "Close",
|
|
2572
3144
|
className: "cursor-pointer rounded-xs opacity-70 transition-opacity hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none [&_svg]:size-3.5",
|
|
2573
|
-
children: /* @__PURE__ */ (0,
|
|
3145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react16.XIcon, {})
|
|
2574
3146
|
}
|
|
2575
3147
|
)
|
|
2576
3148
|
] })
|
|
@@ -2581,71 +3153,11 @@ function ToasterViewport({ className }) {
|
|
|
2581
3153
|
) });
|
|
2582
3154
|
}
|
|
2583
3155
|
function Toaster({ className }) {
|
|
2584
|
-
return /* @__PURE__ */ (0,
|
|
2585
|
-
}
|
|
2586
|
-
|
|
2587
|
-
// src/ui/tooltip.tsx
|
|
2588
|
-
var import_tooltip = require("@base-ui/react/tooltip");
|
|
2589
|
-
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2590
|
-
function TooltipProvider({
|
|
2591
|
-
delay = 0,
|
|
2592
|
-
...props
|
|
2593
|
-
}) {
|
|
2594
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2595
|
-
import_tooltip.Tooltip.Provider,
|
|
2596
|
-
{
|
|
2597
|
-
"data-slot": "tooltip-provider",
|
|
2598
|
-
delay,
|
|
2599
|
-
...props
|
|
2600
|
-
}
|
|
2601
|
-
);
|
|
2602
|
-
}
|
|
2603
|
-
function Tooltip({
|
|
2604
|
-
...props
|
|
2605
|
-
}) {
|
|
2606
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
2607
|
-
}
|
|
2608
|
-
function TooltipTrigger({
|
|
2609
|
-
...props
|
|
2610
|
-
}) {
|
|
2611
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
2612
|
-
}
|
|
2613
|
-
function TooltipContent({
|
|
2614
|
-
className,
|
|
2615
|
-
side = "top",
|
|
2616
|
-
sideOffset = 4,
|
|
2617
|
-
align = "center",
|
|
2618
|
-
children,
|
|
2619
|
-
...props
|
|
2620
|
-
}) {
|
|
2621
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2622
|
-
import_tooltip.Tooltip.Positioner,
|
|
2623
|
-
{
|
|
2624
|
-
align,
|
|
2625
|
-
side,
|
|
2626
|
-
sideOffset,
|
|
2627
|
-
className: "isolate z-50",
|
|
2628
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2629
|
-
import_tooltip.Tooltip.Popup,
|
|
2630
|
-
{
|
|
2631
|
-
"data-slot": "tooltip-content",
|
|
2632
|
-
className: cn(
|
|
2633
|
-
"z-50 w-fit origin-(--transform-origin) rounded-md bg-primary px-3 py-1.5 text-xs text-balance text-primary-foreground duration-200 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fill-mode-forwards data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2634
|
-
className
|
|
2635
|
-
),
|
|
2636
|
-
...props,
|
|
2637
|
-
children: [
|
|
2638
|
-
children,
|
|
2639
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_tooltip.Tooltip.Arrow, { className: "z-50 size-2.5 rotate-45 rounded-[2px] bg-primary fill-primary data-[side=top]:-bottom-1 data-[side=bottom]:-top-1 data-[side=left]:-right-1 data-[side=right]:-left-1" })
|
|
2640
|
-
]
|
|
2641
|
-
}
|
|
2642
|
-
)
|
|
2643
|
-
}
|
|
2644
|
-
) });
|
|
3156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_toast.Toast.Provider, { toastManager, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ToasterViewport, { className }) });
|
|
2645
3157
|
}
|
|
2646
3158
|
|
|
2647
3159
|
// src/ui/card.tsx
|
|
2648
|
-
var
|
|
3160
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2649
3161
|
var cardRoundedClasses = {
|
|
2650
3162
|
none: "rounded-none",
|
|
2651
3163
|
sm: "rounded-sm",
|
|
@@ -2660,7 +3172,7 @@ function Card({
|
|
|
2660
3172
|
rounded = "lg",
|
|
2661
3173
|
...props
|
|
2662
3174
|
}) {
|
|
2663
|
-
return /* @__PURE__ */ (0,
|
|
3175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2664
3176
|
"div",
|
|
2665
3177
|
{
|
|
2666
3178
|
"data-slot": "card",
|
|
@@ -2674,7 +3186,7 @@ function Card({
|
|
|
2674
3186
|
);
|
|
2675
3187
|
}
|
|
2676
3188
|
function CardHeader({ className, ...props }) {
|
|
2677
|
-
return /* @__PURE__ */ (0,
|
|
3189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2678
3190
|
"div",
|
|
2679
3191
|
{
|
|
2680
3192
|
"data-slot": "card-header",
|
|
@@ -2687,7 +3199,7 @@ function CardHeader({ className, ...props }) {
|
|
|
2687
3199
|
);
|
|
2688
3200
|
}
|
|
2689
3201
|
function CardTitle({ className, ...props }) {
|
|
2690
|
-
return /* @__PURE__ */ (0,
|
|
3202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2691
3203
|
"div",
|
|
2692
3204
|
{
|
|
2693
3205
|
"data-slot": "card-title",
|
|
@@ -2697,7 +3209,7 @@ function CardTitle({ className, ...props }) {
|
|
|
2697
3209
|
);
|
|
2698
3210
|
}
|
|
2699
3211
|
function CardDescription({ className, ...props }) {
|
|
2700
|
-
return /* @__PURE__ */ (0,
|
|
3212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2701
3213
|
"div",
|
|
2702
3214
|
{
|
|
2703
3215
|
"data-slot": "card-description",
|
|
@@ -2707,7 +3219,7 @@ function CardDescription({ className, ...props }) {
|
|
|
2707
3219
|
);
|
|
2708
3220
|
}
|
|
2709
3221
|
function CardAction({ className, ...props }) {
|
|
2710
|
-
return /* @__PURE__ */ (0,
|
|
3222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2711
3223
|
"div",
|
|
2712
3224
|
{
|
|
2713
3225
|
"data-slot": "card-action",
|
|
@@ -2720,7 +3232,7 @@ function CardAction({ className, ...props }) {
|
|
|
2720
3232
|
);
|
|
2721
3233
|
}
|
|
2722
3234
|
function CardContent({ className, ...props }) {
|
|
2723
|
-
return /* @__PURE__ */ (0,
|
|
3235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2724
3236
|
"div",
|
|
2725
3237
|
{
|
|
2726
3238
|
"data-slot": "card-content",
|
|
@@ -2730,7 +3242,7 @@ function CardContent({ className, ...props }) {
|
|
|
2730
3242
|
);
|
|
2731
3243
|
}
|
|
2732
3244
|
function CardFooter({ className, ...props }) {
|
|
2733
|
-
return /* @__PURE__ */ (0,
|
|
3245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2734
3246
|
"div",
|
|
2735
3247
|
{
|
|
2736
3248
|
"data-slot": "card-footer",
|
|
@@ -2742,33 +3254,33 @@ function CardFooter({ className, ...props }) {
|
|
|
2742
3254
|
|
|
2743
3255
|
// src/ui/dialog.tsx
|
|
2744
3256
|
var import_dialog2 = require("@base-ui/react/dialog");
|
|
2745
|
-
var
|
|
2746
|
-
var
|
|
3257
|
+
var import_lucide_react17 = require("lucide-react");
|
|
3258
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2747
3259
|
function Dialog({
|
|
2748
3260
|
...props
|
|
2749
3261
|
}) {
|
|
2750
|
-
return /* @__PURE__ */ (0,
|
|
3262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dialog2.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
2751
3263
|
}
|
|
2752
3264
|
function DialogTrigger({
|
|
2753
3265
|
...props
|
|
2754
3266
|
}) {
|
|
2755
|
-
return /* @__PURE__ */ (0,
|
|
3267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dialog2.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
2756
3268
|
}
|
|
2757
3269
|
function DialogPortal({
|
|
2758
3270
|
...props
|
|
2759
3271
|
}) {
|
|
2760
|
-
return /* @__PURE__ */ (0,
|
|
3272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dialog2.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
2761
3273
|
}
|
|
2762
3274
|
function DialogClose({
|
|
2763
3275
|
...props
|
|
2764
3276
|
}) {
|
|
2765
|
-
return /* @__PURE__ */ (0,
|
|
3277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_dialog2.Dialog.Close, { "data-slot": "dialog-close", ...props });
|
|
2766
3278
|
}
|
|
2767
3279
|
function DialogOverlay({
|
|
2768
3280
|
className,
|
|
2769
3281
|
...props
|
|
2770
3282
|
}) {
|
|
2771
|
-
return /* @__PURE__ */ (0,
|
|
3283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2772
3284
|
import_dialog2.Dialog.Backdrop,
|
|
2773
3285
|
{
|
|
2774
3286
|
"data-slot": "dialog-overlay",
|
|
@@ -2786,9 +3298,9 @@ function DialogContent({
|
|
|
2786
3298
|
showCloseButton = true,
|
|
2787
3299
|
...props
|
|
2788
3300
|
}) {
|
|
2789
|
-
return /* @__PURE__ */ (0,
|
|
2790
|
-
/* @__PURE__ */ (0,
|
|
2791
|
-
/* @__PURE__ */ (0,
|
|
3301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
3302
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DialogOverlay, {}),
|
|
3303
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2792
3304
|
import_dialog2.Dialog.Popup,
|
|
2793
3305
|
{
|
|
2794
3306
|
"data-slot": "dialog-content",
|
|
@@ -2799,11 +3311,11 @@ function DialogContent({
|
|
|
2799
3311
|
...props,
|
|
2800
3312
|
children: [
|
|
2801
3313
|
children,
|
|
2802
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
3314
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2803
3315
|
import_dialog2.Dialog.Close,
|
|
2804
3316
|
{
|
|
2805
3317
|
"data-slot": "dialog-close",
|
|
2806
|
-
render: /* @__PURE__ */ (0,
|
|
3318
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2807
3319
|
"button",
|
|
2808
3320
|
{
|
|
2809
3321
|
type: "button",
|
|
@@ -2811,8 +3323,8 @@ function DialogContent({
|
|
|
2811
3323
|
}
|
|
2812
3324
|
),
|
|
2813
3325
|
children: [
|
|
2814
|
-
/* @__PURE__ */ (0,
|
|
2815
|
-
/* @__PURE__ */ (0,
|
|
3326
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react17.XIcon, {}),
|
|
3327
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2816
3328
|
]
|
|
2817
3329
|
}
|
|
2818
3330
|
)
|
|
@@ -2822,7 +3334,7 @@ function DialogContent({
|
|
|
2822
3334
|
] });
|
|
2823
3335
|
}
|
|
2824
3336
|
function DialogHeader({ className, ...props }) {
|
|
2825
|
-
return /* @__PURE__ */ (0,
|
|
3337
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2826
3338
|
"div",
|
|
2827
3339
|
{
|
|
2828
3340
|
"data-slot": "dialog-header",
|
|
@@ -2832,7 +3344,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
2832
3344
|
);
|
|
2833
3345
|
}
|
|
2834
3346
|
function DialogFooter({ className, ...props }) {
|
|
2835
|
-
return /* @__PURE__ */ (0,
|
|
3347
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2836
3348
|
"div",
|
|
2837
3349
|
{
|
|
2838
3350
|
"data-slot": "dialog-footer",
|
|
@@ -2848,7 +3360,7 @@ function DialogTitle({
|
|
|
2848
3360
|
className,
|
|
2849
3361
|
...props
|
|
2850
3362
|
}) {
|
|
2851
|
-
return /* @__PURE__ */ (0,
|
|
3363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2852
3364
|
import_dialog2.Dialog.Title,
|
|
2853
3365
|
{
|
|
2854
3366
|
"data-slot": "dialog-title",
|
|
@@ -2861,7 +3373,7 @@ function DialogDescription({
|
|
|
2861
3373
|
className,
|
|
2862
3374
|
...props
|
|
2863
3375
|
}) {
|
|
2864
|
-
return /* @__PURE__ */ (0,
|
|
3376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2865
3377
|
import_dialog2.Dialog.Description,
|
|
2866
3378
|
{
|
|
2867
3379
|
"data-slot": "dialog-description",
|
|
@@ -2872,9 +3384,9 @@ function DialogDescription({
|
|
|
2872
3384
|
}
|
|
2873
3385
|
|
|
2874
3386
|
// src/ui/empty.tsx
|
|
2875
|
-
var
|
|
3387
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2876
3388
|
function Empty({ className, ...props }) {
|
|
2877
|
-
return /* @__PURE__ */ (0,
|
|
3389
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2878
3390
|
"div",
|
|
2879
3391
|
{
|
|
2880
3392
|
"data-slot": "empty",
|
|
@@ -2887,7 +3399,7 @@ function Empty({ className, ...props }) {
|
|
|
2887
3399
|
);
|
|
2888
3400
|
}
|
|
2889
3401
|
function EmptyHeader({ className, ...props }) {
|
|
2890
|
-
return /* @__PURE__ */ (0,
|
|
3402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2891
3403
|
"div",
|
|
2892
3404
|
{
|
|
2893
3405
|
"data-slot": "empty-header",
|
|
@@ -2897,7 +3409,7 @@ function EmptyHeader({ className, ...props }) {
|
|
|
2897
3409
|
);
|
|
2898
3410
|
}
|
|
2899
3411
|
function EmptyTitle({ className, ...props }) {
|
|
2900
|
-
return /* @__PURE__ */ (0,
|
|
3412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2901
3413
|
"div",
|
|
2902
3414
|
{
|
|
2903
3415
|
"data-slot": "empty-title",
|
|
@@ -2907,7 +3419,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
2907
3419
|
);
|
|
2908
3420
|
}
|
|
2909
3421
|
function EmptyDescription({ className, ...props }) {
|
|
2910
|
-
return /* @__PURE__ */ (0,
|
|
3422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2911
3423
|
"p",
|
|
2912
3424
|
{
|
|
2913
3425
|
"data-slot": "empty-description",
|
|
@@ -2917,7 +3429,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
2917
3429
|
);
|
|
2918
3430
|
}
|
|
2919
3431
|
function EmptyContent({ className, ...props }) {
|
|
2920
|
-
return /* @__PURE__ */ (0,
|
|
3432
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2921
3433
|
"div",
|
|
2922
3434
|
{
|
|
2923
3435
|
"data-slot": "empty-content",
|
|
@@ -2932,9 +3444,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
2932
3444
|
|
|
2933
3445
|
// src/ui/field.tsx
|
|
2934
3446
|
var import_field = require("@base-ui/react/field");
|
|
2935
|
-
var
|
|
3447
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2936
3448
|
function Field({ className, ...props }) {
|
|
2937
|
-
return /* @__PURE__ */ (0,
|
|
3449
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2938
3450
|
import_field.Field.Root,
|
|
2939
3451
|
{
|
|
2940
3452
|
"data-slot": "field",
|
|
@@ -2944,7 +3456,7 @@ function Field({ className, ...props }) {
|
|
|
2944
3456
|
);
|
|
2945
3457
|
}
|
|
2946
3458
|
function FieldLabel({ className, ...props }) {
|
|
2947
|
-
return /* @__PURE__ */ (0,
|
|
3459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2948
3460
|
import_field.Field.Label,
|
|
2949
3461
|
{
|
|
2950
3462
|
"data-slot": "field-label",
|
|
@@ -2954,7 +3466,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
2954
3466
|
);
|
|
2955
3467
|
}
|
|
2956
3468
|
function FieldDescription({ className, ...props }) {
|
|
2957
|
-
return /* @__PURE__ */ (0,
|
|
3469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2958
3470
|
import_field.Field.Description,
|
|
2959
3471
|
{
|
|
2960
3472
|
"data-slot": "field-description",
|
|
@@ -2964,7 +3476,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
2964
3476
|
);
|
|
2965
3477
|
}
|
|
2966
3478
|
function FieldError({ className, ...props }) {
|
|
2967
|
-
return /* @__PURE__ */ (0,
|
|
3479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2968
3480
|
import_field.Field.Error,
|
|
2969
3481
|
{
|
|
2970
3482
|
"data-slot": "field-error",
|
|
@@ -2975,9 +3487,9 @@ function FieldError({ className, ...props }) {
|
|
|
2975
3487
|
}
|
|
2976
3488
|
|
|
2977
3489
|
// src/ui/input.tsx
|
|
2978
|
-
var
|
|
3490
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2979
3491
|
function Input({ className, type, ...props }) {
|
|
2980
|
-
return /* @__PURE__ */ (0,
|
|
3492
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2981
3493
|
"input",
|
|
2982
3494
|
{
|
|
2983
3495
|
type,
|
|
@@ -2992,9 +3504,9 @@ function Input({ className, type, ...props }) {
|
|
|
2992
3504
|
}
|
|
2993
3505
|
|
|
2994
3506
|
// src/ui/input-group.tsx
|
|
2995
|
-
var
|
|
3507
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2996
3508
|
function InputGroup({ className, ...props }) {
|
|
2997
|
-
return /* @__PURE__ */ (0,
|
|
3509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2998
3510
|
"div",
|
|
2999
3511
|
{
|
|
3000
3512
|
"data-slot": "input-group",
|
|
@@ -3016,7 +3528,7 @@ function InputGroupAddon({
|
|
|
3016
3528
|
align = "inline-start",
|
|
3017
3529
|
...props
|
|
3018
3530
|
}) {
|
|
3019
|
-
return /* @__PURE__ */ (0,
|
|
3531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3020
3532
|
"div",
|
|
3021
3533
|
{
|
|
3022
3534
|
role: "group",
|
|
@@ -3035,7 +3547,7 @@ function InputGroupInput({
|
|
|
3035
3547
|
className,
|
|
3036
3548
|
...props
|
|
3037
3549
|
}) {
|
|
3038
|
-
return /* @__PURE__ */ (0,
|
|
3550
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3039
3551
|
"input",
|
|
3040
3552
|
{
|
|
3041
3553
|
"data-slot": "input-group-input",
|
|
@@ -3050,15 +3562,15 @@ function InputGroupInput({
|
|
|
3050
3562
|
|
|
3051
3563
|
// src/ui/input-otp.tsx
|
|
3052
3564
|
var import_input_otp = require("input-otp");
|
|
3053
|
-
var
|
|
3054
|
-
var
|
|
3055
|
-
var
|
|
3565
|
+
var import_lucide_react18 = require("lucide-react");
|
|
3566
|
+
var React10 = __toESM(require("react"), 1);
|
|
3567
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3056
3568
|
function InputOTP({
|
|
3057
3569
|
className,
|
|
3058
3570
|
containerClassName,
|
|
3059
3571
|
...props
|
|
3060
3572
|
}) {
|
|
3061
|
-
return /* @__PURE__ */ (0,
|
|
3573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3062
3574
|
import_input_otp.OTPInput,
|
|
3063
3575
|
{
|
|
3064
3576
|
"data-slot": "input-otp",
|
|
@@ -3072,7 +3584,7 @@ function InputOTP({
|
|
|
3072
3584
|
);
|
|
3073
3585
|
}
|
|
3074
3586
|
function InputOTPGroup({ className, ...props }) {
|
|
3075
|
-
return /* @__PURE__ */ (0,
|
|
3587
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3076
3588
|
"div",
|
|
3077
3589
|
{
|
|
3078
3590
|
"data-slot": "input-otp-group",
|
|
@@ -3086,9 +3598,9 @@ function InputOTPSlot({
|
|
|
3086
3598
|
className,
|
|
3087
3599
|
...props
|
|
3088
3600
|
}) {
|
|
3089
|
-
const inputOTPContext =
|
|
3601
|
+
const inputOTPContext = React10.useContext(import_input_otp.OTPInputContext);
|
|
3090
3602
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
3091
|
-
return /* @__PURE__ */ (0,
|
|
3603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3092
3604
|
"div",
|
|
3093
3605
|
{
|
|
3094
3606
|
"data-slot": "input-otp-slot",
|
|
@@ -3100,19 +3612,19 @@ function InputOTPSlot({
|
|
|
3100
3612
|
...props,
|
|
3101
3613
|
children: [
|
|
3102
3614
|
char,
|
|
3103
|
-
hasFakeCaret ? /* @__PURE__ */ (0,
|
|
3615
|
+
hasFakeCaret ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }) : null
|
|
3104
3616
|
]
|
|
3105
3617
|
}
|
|
3106
3618
|
);
|
|
3107
3619
|
}
|
|
3108
3620
|
function InputOTPSeparator({ ...props }) {
|
|
3109
|
-
return /* @__PURE__ */ (0,
|
|
3621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react18.MinusIcon, {}) });
|
|
3110
3622
|
}
|
|
3111
3623
|
|
|
3112
3624
|
// src/ui/item.tsx
|
|
3113
|
-
var
|
|
3625
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3114
3626
|
function Item({ className, ...props }) {
|
|
3115
|
-
return /* @__PURE__ */ (0,
|
|
3627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3116
3628
|
"div",
|
|
3117
3629
|
{
|
|
3118
3630
|
"data-slot": "item",
|
|
@@ -3125,7 +3637,7 @@ function Item({ className, ...props }) {
|
|
|
3125
3637
|
);
|
|
3126
3638
|
}
|
|
3127
3639
|
function ItemMedia({ className, ...props }) {
|
|
3128
|
-
return /* @__PURE__ */ (0,
|
|
3640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3129
3641
|
"div",
|
|
3130
3642
|
{
|
|
3131
3643
|
"data-slot": "item-media",
|
|
@@ -3138,7 +3650,7 @@ function ItemMedia({ className, ...props }) {
|
|
|
3138
3650
|
);
|
|
3139
3651
|
}
|
|
3140
3652
|
function ItemContent({ className, ...props }) {
|
|
3141
|
-
return /* @__PURE__ */ (0,
|
|
3653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3142
3654
|
"div",
|
|
3143
3655
|
{
|
|
3144
3656
|
"data-slot": "item-content",
|
|
@@ -3148,7 +3660,7 @@ function ItemContent({ className, ...props }) {
|
|
|
3148
3660
|
);
|
|
3149
3661
|
}
|
|
3150
3662
|
function ItemTitle({ className, ...props }) {
|
|
3151
|
-
return /* @__PURE__ */ (0,
|
|
3663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3152
3664
|
"div",
|
|
3153
3665
|
{
|
|
3154
3666
|
"data-slot": "item-title",
|
|
@@ -3158,7 +3670,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
3158
3670
|
);
|
|
3159
3671
|
}
|
|
3160
3672
|
function ItemDescription({ className, ...props }) {
|
|
3161
|
-
return /* @__PURE__ */ (0,
|
|
3673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3162
3674
|
"p",
|
|
3163
3675
|
{
|
|
3164
3676
|
"data-slot": "item-description",
|
|
@@ -3168,7 +3680,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
3168
3680
|
);
|
|
3169
3681
|
}
|
|
3170
3682
|
function ItemActions({ className, ...props }) {
|
|
3171
|
-
return /* @__PURE__ */ (0,
|
|
3683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3172
3684
|
"div",
|
|
3173
3685
|
{
|
|
3174
3686
|
"data-slot": "item-actions",
|
|
@@ -3179,9 +3691,9 @@ function ItemActions({ className, ...props }) {
|
|
|
3179
3691
|
}
|
|
3180
3692
|
|
|
3181
3693
|
// src/ui/kbd.tsx
|
|
3182
|
-
var
|
|
3694
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3183
3695
|
function Kbd({ className, ...props }) {
|
|
3184
|
-
return /* @__PURE__ */ (0,
|
|
3696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3185
3697
|
"kbd",
|
|
3186
3698
|
{
|
|
3187
3699
|
"data-slot": "kbd",
|
|
@@ -3195,12 +3707,12 @@ function Kbd({ className, ...props }) {
|
|
|
3195
3707
|
}
|
|
3196
3708
|
|
|
3197
3709
|
// src/ui/label.tsx
|
|
3198
|
-
var
|
|
3710
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3199
3711
|
function Label({
|
|
3200
3712
|
className,
|
|
3201
3713
|
...props
|
|
3202
3714
|
}) {
|
|
3203
|
-
return /* @__PURE__ */ (0,
|
|
3715
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3204
3716
|
"label",
|
|
3205
3717
|
{
|
|
3206
3718
|
"data-slot": "label",
|
|
@@ -3214,9 +3726,9 @@ function Label({
|
|
|
3214
3726
|
}
|
|
3215
3727
|
|
|
3216
3728
|
// src/ui/message.tsx
|
|
3217
|
-
var
|
|
3729
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3218
3730
|
function MessageGroup({ className, ...props }) {
|
|
3219
|
-
return /* @__PURE__ */ (0,
|
|
3731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3220
3732
|
"div",
|
|
3221
3733
|
{
|
|
3222
3734
|
"data-slot": "message-group",
|
|
@@ -3230,7 +3742,7 @@ function Message({
|
|
|
3230
3742
|
align = "start",
|
|
3231
3743
|
...props
|
|
3232
3744
|
}) {
|
|
3233
|
-
return /* @__PURE__ */ (0,
|
|
3745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3234
3746
|
"div",
|
|
3235
3747
|
{
|
|
3236
3748
|
"data-slot": "message",
|
|
@@ -3244,7 +3756,7 @@ function Message({
|
|
|
3244
3756
|
);
|
|
3245
3757
|
}
|
|
3246
3758
|
function MessageAvatar({ className, ...props }) {
|
|
3247
|
-
return /* @__PURE__ */ (0,
|
|
3759
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3248
3760
|
"div",
|
|
3249
3761
|
{
|
|
3250
3762
|
"data-slot": "message-avatar",
|
|
@@ -3257,7 +3769,7 @@ function MessageAvatar({ className, ...props }) {
|
|
|
3257
3769
|
);
|
|
3258
3770
|
}
|
|
3259
3771
|
function MessageContent({ className, ...props }) {
|
|
3260
|
-
return /* @__PURE__ */ (0,
|
|
3772
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3261
3773
|
"div",
|
|
3262
3774
|
{
|
|
3263
3775
|
"data-slot": "message-content",
|
|
@@ -3270,7 +3782,7 @@ function MessageContent({ className, ...props }) {
|
|
|
3270
3782
|
);
|
|
3271
3783
|
}
|
|
3272
3784
|
function MessageHeader({ className, ...props }) {
|
|
3273
|
-
return /* @__PURE__ */ (0,
|
|
3785
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3274
3786
|
"div",
|
|
3275
3787
|
{
|
|
3276
3788
|
"data-slot": "message-header",
|
|
@@ -3283,7 +3795,7 @@ function MessageHeader({ className, ...props }) {
|
|
|
3283
3795
|
);
|
|
3284
3796
|
}
|
|
3285
3797
|
function MessageFooter({ className, ...props }) {
|
|
3286
|
-
return /* @__PURE__ */ (0,
|
|
3798
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3287
3799
|
"div",
|
|
3288
3800
|
{
|
|
3289
3801
|
"data-slot": "message-footer",
|
|
@@ -3298,9 +3810,9 @@ function MessageFooter({ className, ...props }) {
|
|
|
3298
3810
|
|
|
3299
3811
|
// src/ui/progress.tsx
|
|
3300
3812
|
var import_progress = require("@base-ui/react/progress");
|
|
3301
|
-
var
|
|
3813
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
3302
3814
|
function Progress({ className, ...props }) {
|
|
3303
|
-
return /* @__PURE__ */ (0,
|
|
3815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3304
3816
|
import_progress.Progress.Root,
|
|
3305
3817
|
{
|
|
3306
3818
|
"data-slot": "progress",
|
|
@@ -3310,7 +3822,7 @@ function Progress({ className, ...props }) {
|
|
|
3310
3822
|
);
|
|
3311
3823
|
}
|
|
3312
3824
|
function ProgressTrack({ className, ...props }) {
|
|
3313
|
-
return /* @__PURE__ */ (0,
|
|
3825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3314
3826
|
import_progress.Progress.Track,
|
|
3315
3827
|
{
|
|
3316
3828
|
"data-slot": "progress-track",
|
|
@@ -3323,7 +3835,7 @@ function ProgressIndicator({
|
|
|
3323
3835
|
className,
|
|
3324
3836
|
...props
|
|
3325
3837
|
}) {
|
|
3326
|
-
return /* @__PURE__ */ (0,
|
|
3838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3327
3839
|
import_progress.Progress.Indicator,
|
|
3328
3840
|
{
|
|
3329
3841
|
"data-slot": "progress-indicator",
|
|
@@ -3339,9 +3851,9 @@ function ProgressIndicator({
|
|
|
3339
3851
|
// src/ui/radio-group.tsx
|
|
3340
3852
|
var import_radio = require("@base-ui/react/radio");
|
|
3341
3853
|
var import_radio_group = require("@base-ui/react/radio-group");
|
|
3342
|
-
var
|
|
3854
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3343
3855
|
function RadioGroup({ className, ...props }) {
|
|
3344
|
-
return /* @__PURE__ */ (0,
|
|
3856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3345
3857
|
import_radio_group.RadioGroup,
|
|
3346
3858
|
{
|
|
3347
3859
|
"data-slot": "radio-group",
|
|
@@ -3351,7 +3863,7 @@ function RadioGroup({ className, ...props }) {
|
|
|
3351
3863
|
);
|
|
3352
3864
|
}
|
|
3353
3865
|
function RadioGroupItem({ className, ...props }) {
|
|
3354
|
-
return /* @__PURE__ */ (0,
|
|
3866
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3355
3867
|
import_radio.Radio.Root,
|
|
3356
3868
|
{
|
|
3357
3869
|
"data-slot": "radio-group-item",
|
|
@@ -3360,12 +3872,12 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
3360
3872
|
className
|
|
3361
3873
|
),
|
|
3362
3874
|
...props,
|
|
3363
|
-
children: /* @__PURE__ */ (0,
|
|
3875
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3364
3876
|
import_radio.Radio.Indicator,
|
|
3365
3877
|
{
|
|
3366
3878
|
"data-slot": "radio-group-indicator",
|
|
3367
3879
|
className: "flex items-center justify-center",
|
|
3368
|
-
children: /* @__PURE__ */ (0,
|
|
3880
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "size-2 rounded-full bg-(--radio-checked)" })
|
|
3369
3881
|
}
|
|
3370
3882
|
)
|
|
3371
3883
|
}
|
|
@@ -3373,14 +3885,14 @@ function RadioGroupItem({ className, ...props }) {
|
|
|
3373
3885
|
}
|
|
3374
3886
|
|
|
3375
3887
|
// src/ui/resizable.tsx
|
|
3376
|
-
var
|
|
3888
|
+
var import_lucide_react19 = require("lucide-react");
|
|
3377
3889
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
3378
|
-
var
|
|
3890
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3379
3891
|
function PanelGroup({
|
|
3380
3892
|
className,
|
|
3381
3893
|
...props
|
|
3382
3894
|
}) {
|
|
3383
|
-
return /* @__PURE__ */ (0,
|
|
3895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3384
3896
|
import_react_resizable_panels.Group,
|
|
3385
3897
|
{
|
|
3386
3898
|
"data-slot": "resizable-panel-group",
|
|
@@ -3393,14 +3905,14 @@ function PanelGroup({
|
|
|
3393
3905
|
);
|
|
3394
3906
|
}
|
|
3395
3907
|
function Panel({ ...props }) {
|
|
3396
|
-
return /* @__PURE__ */ (0,
|
|
3908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_resizable_panels.Panel, { "data-slot": "resizable-panel", ...props });
|
|
3397
3909
|
}
|
|
3398
3910
|
function ResizableHandle({
|
|
3399
3911
|
withHandle,
|
|
3400
3912
|
className,
|
|
3401
3913
|
...props
|
|
3402
3914
|
}) {
|
|
3403
|
-
return /* @__PURE__ */ (0,
|
|
3915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3404
3916
|
import_react_resizable_panels.Separator,
|
|
3405
3917
|
{
|
|
3406
3918
|
"data-slot": "resizable-handle",
|
|
@@ -3409,27 +3921,27 @@ function ResizableHandle({
|
|
|
3409
3921
|
className
|
|
3410
3922
|
),
|
|
3411
3923
|
...props,
|
|
3412
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
3924
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react19.GripVerticalIcon, { className: "size-2.5" }) }) : null
|
|
3413
3925
|
}
|
|
3414
3926
|
);
|
|
3415
3927
|
}
|
|
3416
3928
|
|
|
3417
3929
|
// src/ui/scroll-area.tsx
|
|
3418
3930
|
var import_scroll_area = require("@base-ui/react/scroll-area");
|
|
3419
|
-
var
|
|
3931
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3420
3932
|
function ScrollArea({
|
|
3421
3933
|
className,
|
|
3422
3934
|
children,
|
|
3423
3935
|
...props
|
|
3424
3936
|
}) {
|
|
3425
|
-
return /* @__PURE__ */ (0,
|
|
3937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
3426
3938
|
import_scroll_area.ScrollArea.Root,
|
|
3427
3939
|
{
|
|
3428
3940
|
"data-slot": "scroll-area",
|
|
3429
3941
|
className: cn("relative overflow-hidden", className),
|
|
3430
3942
|
...props,
|
|
3431
3943
|
children: [
|
|
3432
|
-
/* @__PURE__ */ (0,
|
|
3944
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3433
3945
|
import_scroll_area.ScrollArea.Viewport,
|
|
3434
3946
|
{
|
|
3435
3947
|
"data-slot": "scroll-area-viewport",
|
|
@@ -3437,8 +3949,8 @@ function ScrollArea({
|
|
|
3437
3949
|
children
|
|
3438
3950
|
}
|
|
3439
3951
|
),
|
|
3440
|
-
/* @__PURE__ */ (0,
|
|
3441
|
-
/* @__PURE__ */ (0,
|
|
3952
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ScrollBar, {}),
|
|
3953
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_scroll_area.ScrollArea.Corner, {})
|
|
3442
3954
|
]
|
|
3443
3955
|
}
|
|
3444
3956
|
);
|
|
@@ -3448,7 +3960,7 @@ function ScrollBar({
|
|
|
3448
3960
|
orientation = "vertical",
|
|
3449
3961
|
...props
|
|
3450
3962
|
}) {
|
|
3451
|
-
return /* @__PURE__ */ (0,
|
|
3963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3452
3964
|
import_scroll_area.ScrollArea.Scrollbar,
|
|
3453
3965
|
{
|
|
3454
3966
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -3460,7 +3972,7 @@ function ScrollBar({
|
|
|
3460
3972
|
className
|
|
3461
3973
|
),
|
|
3462
3974
|
...props,
|
|
3463
|
-
children: /* @__PURE__ */ (0,
|
|
3975
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3464
3976
|
import_scroll_area.ScrollArea.Thumb,
|
|
3465
3977
|
{
|
|
3466
3978
|
"data-slot": "scroll-area-thumb",
|
|
@@ -3473,18 +3985,18 @@ function ScrollBar({
|
|
|
3473
3985
|
|
|
3474
3986
|
// src/ui/select.tsx
|
|
3475
3987
|
var import_select = require("@base-ui/react/select");
|
|
3476
|
-
var
|
|
3477
|
-
var
|
|
3988
|
+
var import_lucide_react20 = require("lucide-react");
|
|
3989
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3478
3990
|
var Select = import_select.Select.Root;
|
|
3479
3991
|
function SelectGroup({
|
|
3480
3992
|
...props
|
|
3481
3993
|
}) {
|
|
3482
|
-
return /* @__PURE__ */ (0,
|
|
3994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.Group, { "data-slot": "select-group", ...props });
|
|
3483
3995
|
}
|
|
3484
3996
|
function SelectValue({
|
|
3485
3997
|
...props
|
|
3486
3998
|
}) {
|
|
3487
|
-
return /* @__PURE__ */ (0,
|
|
3999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.Value, { "data-slot": "select-value", ...props });
|
|
3488
4000
|
}
|
|
3489
4001
|
function SelectTrigger({
|
|
3490
4002
|
className,
|
|
@@ -3493,7 +4005,7 @@ function SelectTrigger({
|
|
|
3493
4005
|
iconClassName,
|
|
3494
4006
|
...props
|
|
3495
4007
|
}) {
|
|
3496
|
-
return /* @__PURE__ */ (0,
|
|
4008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
3497
4009
|
import_select.Select.Trigger,
|
|
3498
4010
|
{
|
|
3499
4011
|
"data-slot": "select-trigger",
|
|
@@ -3505,10 +4017,10 @@ function SelectTrigger({
|
|
|
3505
4017
|
...props,
|
|
3506
4018
|
children: [
|
|
3507
4019
|
children,
|
|
3508
|
-
/* @__PURE__ */ (0,
|
|
4020
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3509
4021
|
import_select.Select.Icon,
|
|
3510
4022
|
{
|
|
3511
|
-
render: /* @__PURE__ */ (0,
|
|
4023
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react20.ChevronDownIcon, { className: cn("size-4 opacity-50", iconClassName) })
|
|
3512
4024
|
}
|
|
3513
4025
|
)
|
|
3514
4026
|
]
|
|
@@ -3526,7 +4038,7 @@ function SelectContent({
|
|
|
3526
4038
|
alignItemWithTrigger = false,
|
|
3527
4039
|
...props
|
|
3528
4040
|
}) {
|
|
3529
|
-
return /* @__PURE__ */ (0,
|
|
4041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3530
4042
|
import_select.Select.Positioner,
|
|
3531
4043
|
{
|
|
3532
4044
|
side,
|
|
@@ -3534,7 +4046,7 @@ function SelectContent({
|
|
|
3534
4046
|
align,
|
|
3535
4047
|
alignItemWithTrigger,
|
|
3536
4048
|
className: "isolate z-50",
|
|
3537
|
-
children: /* @__PURE__ */ (0,
|
|
4049
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
3538
4050
|
import_select.Select.Popup,
|
|
3539
4051
|
{
|
|
3540
4052
|
"data-slot": "select-content",
|
|
@@ -3548,9 +4060,9 @@ function SelectContent({
|
|
|
3548
4060
|
),
|
|
3549
4061
|
...props,
|
|
3550
4062
|
children: [
|
|
3551
|
-
/* @__PURE__ */ (0,
|
|
3552
|
-
/* @__PURE__ */ (0,
|
|
3553
|
-
/* @__PURE__ */ (0,
|
|
4063
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SelectScrollUpButton, {}),
|
|
4064
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.List, { className: "p-1", children }),
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SelectScrollDownButton, {})
|
|
3554
4066
|
]
|
|
3555
4067
|
}
|
|
3556
4068
|
)
|
|
@@ -3561,7 +4073,7 @@ function SelectLabel({
|
|
|
3561
4073
|
className,
|
|
3562
4074
|
...props
|
|
3563
4075
|
}) {
|
|
3564
|
-
return /* @__PURE__ */ (0,
|
|
4076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3565
4077
|
import_select.Select.GroupLabel,
|
|
3566
4078
|
{
|
|
3567
4079
|
"data-slot": "select-label",
|
|
@@ -3575,7 +4087,7 @@ function SelectItem({
|
|
|
3575
4087
|
children,
|
|
3576
4088
|
...props
|
|
3577
4089
|
}) {
|
|
3578
|
-
return /* @__PURE__ */ (0,
|
|
4090
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
3579
4091
|
import_select.Select.Item,
|
|
3580
4092
|
{
|
|
3581
4093
|
"data-slot": "select-item",
|
|
@@ -3585,8 +4097,8 @@ function SelectItem({
|
|
|
3585
4097
|
),
|
|
3586
4098
|
...props,
|
|
3587
4099
|
children: [
|
|
3588
|
-
/* @__PURE__ */ (0,
|
|
3589
|
-
/* @__PURE__ */ (0,
|
|
4100
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react20.CheckIcon, { className: "size-4" }) }) }),
|
|
4101
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_select.Select.ItemText, { children })
|
|
3590
4102
|
]
|
|
3591
4103
|
}
|
|
3592
4104
|
);
|
|
@@ -3595,7 +4107,7 @@ function SelectSeparator({
|
|
|
3595
4107
|
className,
|
|
3596
4108
|
...props
|
|
3597
4109
|
}) {
|
|
3598
|
-
return /* @__PURE__ */ (0,
|
|
4110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3599
4111
|
import_select.Select.Separator,
|
|
3600
4112
|
{
|
|
3601
4113
|
"data-slot": "select-separator",
|
|
@@ -3608,7 +4120,7 @@ function SelectScrollUpButton({
|
|
|
3608
4120
|
className,
|
|
3609
4121
|
...props
|
|
3610
4122
|
}) {
|
|
3611
|
-
return /* @__PURE__ */ (0,
|
|
4123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3612
4124
|
import_select.Select.ScrollUpArrow,
|
|
3613
4125
|
{
|
|
3614
4126
|
"data-slot": "select-scroll-up-button",
|
|
@@ -3617,7 +4129,7 @@ function SelectScrollUpButton({
|
|
|
3617
4129
|
className
|
|
3618
4130
|
),
|
|
3619
4131
|
...props,
|
|
3620
|
-
children: /* @__PURE__ */ (0,
|
|
4132
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react20.ChevronUpIcon, { className: "size-4" })
|
|
3621
4133
|
}
|
|
3622
4134
|
);
|
|
3623
4135
|
}
|
|
@@ -3625,7 +4137,7 @@ function SelectScrollDownButton({
|
|
|
3625
4137
|
className,
|
|
3626
4138
|
...props
|
|
3627
4139
|
}) {
|
|
3628
|
-
return /* @__PURE__ */ (0,
|
|
4140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3629
4141
|
import_select.Select.ScrollDownArrow,
|
|
3630
4142
|
{
|
|
3631
4143
|
"data-slot": "select-scroll-down-button",
|
|
@@ -3634,21 +4146,21 @@ function SelectScrollDownButton({
|
|
|
3634
4146
|
className
|
|
3635
4147
|
),
|
|
3636
4148
|
...props,
|
|
3637
|
-
children: /* @__PURE__ */ (0,
|
|
4149
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react20.ChevronDownIcon, { className: "size-4" })
|
|
3638
4150
|
}
|
|
3639
4151
|
);
|
|
3640
4152
|
}
|
|
3641
4153
|
|
|
3642
4154
|
// src/ui/separator.tsx
|
|
3643
4155
|
var import_separator = require("@base-ui/react/separator");
|
|
3644
|
-
var
|
|
4156
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3645
4157
|
function Separator({
|
|
3646
4158
|
className,
|
|
3647
4159
|
orientation = "horizontal",
|
|
3648
4160
|
decorative: _decorative,
|
|
3649
4161
|
...props
|
|
3650
4162
|
}) {
|
|
3651
|
-
return /* @__PURE__ */ (0,
|
|
4163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
3652
4164
|
import_separator.Separator,
|
|
3653
4165
|
{
|
|
3654
4166
|
"data-slot": "separator",
|
|
@@ -3663,9 +4175,9 @@ function Separator({
|
|
|
3663
4175
|
}
|
|
3664
4176
|
|
|
3665
4177
|
// src/ui/sidebar.tsx
|
|
3666
|
-
var
|
|
4178
|
+
var React11 = __toESM(require("react"), 1);
|
|
3667
4179
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
3668
|
-
var
|
|
4180
|
+
var import_lucide_react21 = require("lucide-react");
|
|
3669
4181
|
|
|
3670
4182
|
// src/hooks/use-mobile.ts
|
|
3671
4183
|
var import_react = require("react");
|
|
@@ -3690,9 +4202,9 @@ function useIsMobile() {
|
|
|
3690
4202
|
}
|
|
3691
4203
|
|
|
3692
4204
|
// src/ui/skeleton.tsx
|
|
3693
|
-
var
|
|
4205
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3694
4206
|
function Skeleton({ className, ...props }) {
|
|
3695
|
-
return /* @__PURE__ */ (0,
|
|
4207
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3696
4208
|
"div",
|
|
3697
4209
|
{
|
|
3698
4210
|
"data-slot": "skeleton",
|
|
@@ -3703,14 +4215,14 @@ function Skeleton({ className, ...props }) {
|
|
|
3703
4215
|
}
|
|
3704
4216
|
|
|
3705
4217
|
// src/ui/sidebar.tsx
|
|
3706
|
-
var
|
|
4218
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3707
4219
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
3708
4220
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
3709
4221
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
3710
4222
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
3711
|
-
var SidebarContext =
|
|
4223
|
+
var SidebarContext = React11.createContext(null);
|
|
3712
4224
|
function useSidebar() {
|
|
3713
|
-
const context =
|
|
4225
|
+
const context = React11.useContext(SidebarContext);
|
|
3714
4226
|
if (!context) {
|
|
3715
4227
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
3716
4228
|
}
|
|
@@ -3726,10 +4238,10 @@ function SidebarProvider({
|
|
|
3726
4238
|
...props
|
|
3727
4239
|
}) {
|
|
3728
4240
|
const isMobile = useIsMobile();
|
|
3729
|
-
const [openMobile, setOpenMobile] =
|
|
3730
|
-
const [_open, _setOpen] =
|
|
4241
|
+
const [openMobile, setOpenMobile] = React11.useState(false);
|
|
4242
|
+
const [_open, _setOpen] = React11.useState(defaultOpen);
|
|
3731
4243
|
const open = openProp ?? _open;
|
|
3732
|
-
const setOpen =
|
|
4244
|
+
const setOpen = React11.useCallback(
|
|
3733
4245
|
(value) => {
|
|
3734
4246
|
const openState = typeof value === "function" ? value(open) : value;
|
|
3735
4247
|
if (setOpenProp) {
|
|
@@ -3741,10 +4253,10 @@ function SidebarProvider({
|
|
|
3741
4253
|
},
|
|
3742
4254
|
[setOpenProp, open]
|
|
3743
4255
|
);
|
|
3744
|
-
const toggleSidebar =
|
|
4256
|
+
const toggleSidebar = React11.useCallback(() => {
|
|
3745
4257
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
3746
4258
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
3747
|
-
|
|
4259
|
+
React11.useEffect(() => {
|
|
3748
4260
|
const handleKeyDown = (event) => {
|
|
3749
4261
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
3750
4262
|
event.preventDefault();
|
|
@@ -3755,7 +4267,7 @@ function SidebarProvider({
|
|
|
3755
4267
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
3756
4268
|
}, [toggleSidebar]);
|
|
3757
4269
|
const state = open ? "expanded" : "collapsed";
|
|
3758
|
-
const contextValue =
|
|
4270
|
+
const contextValue = React11.useMemo(
|
|
3759
4271
|
() => ({
|
|
3760
4272
|
state,
|
|
3761
4273
|
open,
|
|
@@ -3767,7 +4279,7 @@ function SidebarProvider({
|
|
|
3767
4279
|
}),
|
|
3768
4280
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
3769
4281
|
);
|
|
3770
|
-
return /* @__PURE__ */ (0,
|
|
4282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipProvider, { delay: 0, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3771
4283
|
"div",
|
|
3772
4284
|
{
|
|
3773
4285
|
"data-slot": "sidebar-wrapper",
|
|
@@ -3791,7 +4303,7 @@ function SidebarRoot({
|
|
|
3791
4303
|
}) {
|
|
3792
4304
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
3793
4305
|
if (collapsible === "none") {
|
|
3794
|
-
return /* @__PURE__ */ (0,
|
|
4306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3795
4307
|
"div",
|
|
3796
4308
|
{
|
|
3797
4309
|
"data-slot": "sidebar",
|
|
@@ -3805,7 +4317,7 @@ function SidebarRoot({
|
|
|
3805
4317
|
);
|
|
3806
4318
|
}
|
|
3807
4319
|
if (isMobile) {
|
|
3808
|
-
return /* @__PURE__ */ (0,
|
|
4320
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
3809
4321
|
SheetContent,
|
|
3810
4322
|
{
|
|
3811
4323
|
"data-sidebar": "sidebar",
|
|
@@ -3817,16 +4329,16 @@ function SidebarRoot({
|
|
|
3817
4329
|
},
|
|
3818
4330
|
side,
|
|
3819
4331
|
children: [
|
|
3820
|
-
/* @__PURE__ */ (0,
|
|
3821
|
-
/* @__PURE__ */ (0,
|
|
3822
|
-
/* @__PURE__ */ (0,
|
|
4332
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
4333
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
4334
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
3823
4335
|
] }),
|
|
3824
|
-
/* @__PURE__ */ (0,
|
|
4336
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
3825
4337
|
]
|
|
3826
4338
|
}
|
|
3827
4339
|
) });
|
|
3828
4340
|
}
|
|
3829
|
-
return /* @__PURE__ */ (0,
|
|
4341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
3830
4342
|
"div",
|
|
3831
4343
|
{
|
|
3832
4344
|
className: "group peer hidden text-sidebar-foreground md:block",
|
|
@@ -3836,7 +4348,7 @@ function SidebarRoot({
|
|
|
3836
4348
|
"data-side": side,
|
|
3837
4349
|
"data-slot": "sidebar",
|
|
3838
4350
|
children: [
|
|
3839
|
-
/* @__PURE__ */ (0,
|
|
4351
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3840
4352
|
"div",
|
|
3841
4353
|
{
|
|
3842
4354
|
"data-slot": "sidebar-gap",
|
|
@@ -3848,7 +4360,7 @@ function SidebarRoot({
|
|
|
3848
4360
|
)
|
|
3849
4361
|
}
|
|
3850
4362
|
),
|
|
3851
|
-
/* @__PURE__ */ (0,
|
|
4363
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3852
4364
|
"div",
|
|
3853
4365
|
{
|
|
3854
4366
|
"data-slot": "sidebar-container",
|
|
@@ -3864,7 +4376,7 @@ function SidebarRoot({
|
|
|
3864
4376
|
className
|
|
3865
4377
|
),
|
|
3866
4378
|
...props,
|
|
3867
|
-
children: /* @__PURE__ */ (0,
|
|
4379
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3868
4380
|
"div",
|
|
3869
4381
|
{
|
|
3870
4382
|
"data-sidebar": "sidebar",
|
|
@@ -3885,7 +4397,7 @@ function SidebarTrigger({
|
|
|
3885
4397
|
...props
|
|
3886
4398
|
}) {
|
|
3887
4399
|
const { toggleSidebar } = useSidebar();
|
|
3888
|
-
return /* @__PURE__ */ (0,
|
|
4400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
3889
4401
|
Button,
|
|
3890
4402
|
{
|
|
3891
4403
|
"data-sidebar": "trigger",
|
|
@@ -3899,15 +4411,15 @@ function SidebarTrigger({
|
|
|
3899
4411
|
},
|
|
3900
4412
|
...props,
|
|
3901
4413
|
children: [
|
|
3902
|
-
/* @__PURE__ */ (0,
|
|
3903
|
-
/* @__PURE__ */ (0,
|
|
4414
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react21.PanelLeftIcon, {}),
|
|
4415
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
3904
4416
|
]
|
|
3905
4417
|
}
|
|
3906
4418
|
);
|
|
3907
4419
|
}
|
|
3908
4420
|
function SidebarRail({ className, ...props }) {
|
|
3909
4421
|
const { toggleSidebar } = useSidebar();
|
|
3910
|
-
return /* @__PURE__ */ (0,
|
|
4422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3911
4423
|
"button",
|
|
3912
4424
|
{
|
|
3913
4425
|
"data-sidebar": "rail",
|
|
@@ -3930,7 +4442,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
3930
4442
|
);
|
|
3931
4443
|
}
|
|
3932
4444
|
function SidebarInset({ className, ...props }) {
|
|
3933
|
-
return /* @__PURE__ */ (0,
|
|
4445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3934
4446
|
"main",
|
|
3935
4447
|
{
|
|
3936
4448
|
"data-slot": "sidebar-inset",
|
|
@@ -3949,7 +4461,7 @@ function SidebarInput({
|
|
|
3949
4461
|
className,
|
|
3950
4462
|
...props
|
|
3951
4463
|
}) {
|
|
3952
|
-
return /* @__PURE__ */ (0,
|
|
4464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3953
4465
|
Input,
|
|
3954
4466
|
{
|
|
3955
4467
|
"data-slot": "sidebar-input",
|
|
@@ -3960,7 +4472,7 @@ function SidebarInput({
|
|
|
3960
4472
|
);
|
|
3961
4473
|
}
|
|
3962
4474
|
function SidebarHeader({ className, ...props }) {
|
|
3963
|
-
return /* @__PURE__ */ (0,
|
|
4475
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3964
4476
|
"div",
|
|
3965
4477
|
{
|
|
3966
4478
|
"data-slot": "sidebar-header",
|
|
@@ -3971,7 +4483,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
3971
4483
|
);
|
|
3972
4484
|
}
|
|
3973
4485
|
function SidebarFooter({ className, ...props }) {
|
|
3974
|
-
return /* @__PURE__ */ (0,
|
|
4486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3975
4487
|
"div",
|
|
3976
4488
|
{
|
|
3977
4489
|
"data-slot": "sidebar-footer",
|
|
@@ -3985,7 +4497,7 @@ function SidebarSeparator({
|
|
|
3985
4497
|
className,
|
|
3986
4498
|
...props
|
|
3987
4499
|
}) {
|
|
3988
|
-
return /* @__PURE__ */ (0,
|
|
4500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3989
4501
|
Separator,
|
|
3990
4502
|
{
|
|
3991
4503
|
"data-slot": "sidebar-separator",
|
|
@@ -3996,7 +4508,7 @@ function SidebarSeparator({
|
|
|
3996
4508
|
);
|
|
3997
4509
|
}
|
|
3998
4510
|
function SidebarContent({ className, ...props }) {
|
|
3999
|
-
return /* @__PURE__ */ (0,
|
|
4511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4000
4512
|
"div",
|
|
4001
4513
|
{
|
|
4002
4514
|
"data-slot": "sidebar-content",
|
|
@@ -4010,7 +4522,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
4010
4522
|
);
|
|
4011
4523
|
}
|
|
4012
4524
|
function SidebarGroup({ className, ...props }) {
|
|
4013
|
-
return /* @__PURE__ */ (0,
|
|
4525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4014
4526
|
"div",
|
|
4015
4527
|
{
|
|
4016
4528
|
"data-slot": "sidebar-group",
|
|
@@ -4021,10 +4533,10 @@ function SidebarGroup({ className, ...props }) {
|
|
|
4021
4533
|
);
|
|
4022
4534
|
}
|
|
4023
4535
|
function renderAsChild(children, dataSlot, className, rest) {
|
|
4024
|
-
if (!
|
|
4536
|
+
if (!React11.isValidElement(children)) {
|
|
4025
4537
|
return null;
|
|
4026
4538
|
}
|
|
4027
|
-
return
|
|
4539
|
+
return React11.cloneElement(children, {
|
|
4028
4540
|
"data-slot": dataSlot,
|
|
4029
4541
|
className: cn(
|
|
4030
4542
|
className,
|
|
@@ -4047,7 +4559,7 @@ function SidebarGroupLabel({
|
|
|
4047
4559
|
if (asChild) {
|
|
4048
4560
|
return renderAsChild(children, "sidebar-group-label", cls, props);
|
|
4049
4561
|
}
|
|
4050
|
-
return /* @__PURE__ */ (0,
|
|
4562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4051
4563
|
"div",
|
|
4052
4564
|
{
|
|
4053
4565
|
"data-slot": "sidebar-group-label",
|
|
@@ -4073,7 +4585,7 @@ function SidebarGroupAction({
|
|
|
4073
4585
|
if (asChild) {
|
|
4074
4586
|
return renderAsChild(children, "sidebar-group-action", cls, props);
|
|
4075
4587
|
}
|
|
4076
|
-
return /* @__PURE__ */ (0,
|
|
4588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4077
4589
|
"button",
|
|
4078
4590
|
{
|
|
4079
4591
|
"data-slot": "sidebar-group-action",
|
|
@@ -4088,7 +4600,7 @@ function SidebarGroupContent({
|
|
|
4088
4600
|
className,
|
|
4089
4601
|
...props
|
|
4090
4602
|
}) {
|
|
4091
|
-
return /* @__PURE__ */ (0,
|
|
4603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4092
4604
|
"div",
|
|
4093
4605
|
{
|
|
4094
4606
|
"data-slot": "sidebar-group-content",
|
|
@@ -4099,7 +4611,7 @@ function SidebarGroupContent({
|
|
|
4099
4611
|
);
|
|
4100
4612
|
}
|
|
4101
4613
|
function SidebarMenu({ className, ...props }) {
|
|
4102
|
-
return /* @__PURE__ */ (0,
|
|
4614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4103
4615
|
"ul",
|
|
4104
4616
|
{
|
|
4105
4617
|
"data-slot": "sidebar-menu",
|
|
@@ -4110,7 +4622,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
4110
4622
|
);
|
|
4111
4623
|
}
|
|
4112
4624
|
function SidebarMenuItem({ className, ...props }) {
|
|
4113
|
-
return /* @__PURE__ */ (0,
|
|
4625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4114
4626
|
"li",
|
|
4115
4627
|
{
|
|
4116
4628
|
"data-slot": "sidebar-menu-item",
|
|
@@ -4157,7 +4669,7 @@ function SidebarMenuButton({
|
|
|
4157
4669
|
"data-size": size,
|
|
4158
4670
|
"data-active": isActive,
|
|
4159
4671
|
...props
|
|
4160
|
-
}) : /* @__PURE__ */ (0,
|
|
4672
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4161
4673
|
"button",
|
|
4162
4674
|
{
|
|
4163
4675
|
"data-slot": "sidebar-menu-button",
|
|
@@ -4177,9 +4689,9 @@ function SidebarMenuButton({
|
|
|
4177
4689
|
children: tooltip
|
|
4178
4690
|
};
|
|
4179
4691
|
}
|
|
4180
|
-
return /* @__PURE__ */ (0,
|
|
4181
|
-
/* @__PURE__ */ (0,
|
|
4182
|
-
/* @__PURE__ */ (0,
|
|
4692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip, { children: [
|
|
4693
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger, { render: button }),
|
|
4694
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4183
4695
|
TooltipContent,
|
|
4184
4696
|
{
|
|
4185
4697
|
side: "right",
|
|
@@ -4210,7 +4722,7 @@ function SidebarMenuAction({
|
|
|
4210
4722
|
if (asChild) {
|
|
4211
4723
|
return renderAsChild(children, "sidebar-menu-action", cls, props);
|
|
4212
4724
|
}
|
|
4213
|
-
return /* @__PURE__ */ (0,
|
|
4725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4214
4726
|
"button",
|
|
4215
4727
|
{
|
|
4216
4728
|
"data-slot": "sidebar-menu-action",
|
|
@@ -4225,7 +4737,7 @@ function SidebarMenuBadge({
|
|
|
4225
4737
|
className,
|
|
4226
4738
|
...props
|
|
4227
4739
|
}) {
|
|
4228
|
-
return /* @__PURE__ */ (0,
|
|
4740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4229
4741
|
"div",
|
|
4230
4742
|
{
|
|
4231
4743
|
"data-slot": "sidebar-menu-badge",
|
|
@@ -4248,10 +4760,10 @@ function SidebarMenuSkeleton({
|
|
|
4248
4760
|
showIcon = false,
|
|
4249
4761
|
...props
|
|
4250
4762
|
}) {
|
|
4251
|
-
const width =
|
|
4763
|
+
const width = React11.useMemo(() => {
|
|
4252
4764
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
4253
4765
|
}, []);
|
|
4254
|
-
return /* @__PURE__ */ (0,
|
|
4766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
4255
4767
|
"div",
|
|
4256
4768
|
{
|
|
4257
4769
|
"data-slot": "sidebar-menu-skeleton",
|
|
@@ -4259,14 +4771,14 @@ function SidebarMenuSkeleton({
|
|
|
4259
4771
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
4260
4772
|
...props,
|
|
4261
4773
|
children: [
|
|
4262
|
-
showIcon && /* @__PURE__ */ (0,
|
|
4774
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4263
4775
|
Skeleton,
|
|
4264
4776
|
{
|
|
4265
4777
|
className: "size-4 rounded-md",
|
|
4266
4778
|
"data-sidebar": "menu-skeleton-icon"
|
|
4267
4779
|
}
|
|
4268
4780
|
),
|
|
4269
|
-
/* @__PURE__ */ (0,
|
|
4781
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4270
4782
|
Skeleton,
|
|
4271
4783
|
{
|
|
4272
4784
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -4281,7 +4793,7 @@ function SidebarMenuSkeleton({
|
|
|
4281
4793
|
);
|
|
4282
4794
|
}
|
|
4283
4795
|
function SidebarMenuSub({ className, ...props }) {
|
|
4284
|
-
return /* @__PURE__ */ (0,
|
|
4796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4285
4797
|
"ul",
|
|
4286
4798
|
{
|
|
4287
4799
|
"data-slot": "sidebar-menu-sub",
|
|
@@ -4299,7 +4811,7 @@ function SidebarMenuSubItem({
|
|
|
4299
4811
|
className,
|
|
4300
4812
|
...props
|
|
4301
4813
|
}) {
|
|
4302
|
-
return /* @__PURE__ */ (0,
|
|
4814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4303
4815
|
"li",
|
|
4304
4816
|
{
|
|
4305
4817
|
"data-slot": "sidebar-menu-sub-item",
|
|
@@ -4335,7 +4847,7 @@ function SidebarMenuSubButton({
|
|
|
4335
4847
|
}
|
|
4336
4848
|
return (
|
|
4337
4849
|
// eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
4338
|
-
/* @__PURE__ */ (0,
|
|
4850
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4339
4851
|
"a",
|
|
4340
4852
|
{
|
|
4341
4853
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -4352,9 +4864,9 @@ function SidebarMenuSubButton({
|
|
|
4352
4864
|
|
|
4353
4865
|
// src/ui/slider.tsx
|
|
4354
4866
|
var import_slider = require("@base-ui/react/slider");
|
|
4355
|
-
var
|
|
4867
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
4356
4868
|
function Slider({ className, ...props }) {
|
|
4357
|
-
return /* @__PURE__ */ (0,
|
|
4869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4358
4870
|
import_slider.Slider.Root,
|
|
4359
4871
|
{
|
|
4360
4872
|
"data-slot": "slider",
|
|
@@ -4367,7 +4879,7 @@ function Slider({ className, ...props }) {
|
|
|
4367
4879
|
);
|
|
4368
4880
|
}
|
|
4369
4881
|
function SliderControl({ className, ...props }) {
|
|
4370
|
-
return /* @__PURE__ */ (0,
|
|
4882
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4371
4883
|
import_slider.Slider.Control,
|
|
4372
4884
|
{
|
|
4373
4885
|
"data-slot": "slider-control",
|
|
@@ -4377,7 +4889,7 @@ function SliderControl({ className, ...props }) {
|
|
|
4377
4889
|
);
|
|
4378
4890
|
}
|
|
4379
4891
|
function SliderTrack({ className, ...props }) {
|
|
4380
|
-
return /* @__PURE__ */ (0,
|
|
4892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4381
4893
|
import_slider.Slider.Track,
|
|
4382
4894
|
{
|
|
4383
4895
|
"data-slot": "slider-track",
|
|
@@ -4390,7 +4902,7 @@ function SliderTrack({ className, ...props }) {
|
|
|
4390
4902
|
);
|
|
4391
4903
|
}
|
|
4392
4904
|
function SliderIndicator({ className, ...props }) {
|
|
4393
|
-
return /* @__PURE__ */ (0,
|
|
4905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4394
4906
|
import_slider.Slider.Indicator,
|
|
4395
4907
|
{
|
|
4396
4908
|
"data-slot": "slider-indicator",
|
|
@@ -4400,7 +4912,7 @@ function SliderIndicator({ className, ...props }) {
|
|
|
4400
4912
|
);
|
|
4401
4913
|
}
|
|
4402
4914
|
function SliderThumb({ className, ...props }) {
|
|
4403
|
-
return /* @__PURE__ */ (0,
|
|
4915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4404
4916
|
import_slider.Slider.Thumb,
|
|
4405
4917
|
{
|
|
4406
4918
|
"data-slot": "slider-thumb",
|
|
@@ -4413,27 +4925,72 @@ function SliderThumb({ className, ...props }) {
|
|
|
4413
4925
|
);
|
|
4414
4926
|
}
|
|
4415
4927
|
|
|
4416
|
-
// src/ui/
|
|
4417
|
-
var
|
|
4418
|
-
var
|
|
4419
|
-
function
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4928
|
+
// src/ui/split-button.tsx
|
|
4929
|
+
var import_lucide_react22 = require("lucide-react");
|
|
4930
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
4931
|
+
function SplitButton({
|
|
4932
|
+
className,
|
|
4933
|
+
style,
|
|
4934
|
+
variant,
|
|
4935
|
+
size,
|
|
4936
|
+
disabled,
|
|
4937
|
+
children,
|
|
4938
|
+
options,
|
|
4939
|
+
onSelect,
|
|
4940
|
+
triggerLabel = "\u66F4\u591A\u9009\u9879",
|
|
4941
|
+
type = "button",
|
|
4942
|
+
...props
|
|
4943
|
+
}) {
|
|
4944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(ButtonGroup, { "data-slot": "split-button", className: cn(className), style, children: [
|
|
4945
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4946
|
+
Button,
|
|
4947
|
+
{
|
|
4948
|
+
variant,
|
|
4949
|
+
size,
|
|
4950
|
+
disabled,
|
|
4951
|
+
type,
|
|
4952
|
+
...props,
|
|
4953
|
+
children
|
|
4954
|
+
}
|
|
4955
|
+
),
|
|
4956
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(DropdownMenu, { children: [
|
|
4957
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4958
|
+
DropdownMenuTrigger,
|
|
4959
|
+
{
|
|
4960
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4961
|
+
Button,
|
|
4962
|
+
{
|
|
4963
|
+
variant,
|
|
4964
|
+
size,
|
|
4965
|
+
disabled,
|
|
4966
|
+
"aria-label": triggerLabel,
|
|
4967
|
+
className: "px-2",
|
|
4968
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react22.ChevronDownIcon, {})
|
|
4969
|
+
}
|
|
4970
|
+
)
|
|
4971
|
+
}
|
|
4972
|
+
),
|
|
4973
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(DropdownMenuContent, { align: "end", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
4974
|
+
DropdownMenuItem,
|
|
4975
|
+
{
|
|
4976
|
+
disabled: option.disabled,
|
|
4977
|
+
onClick: () => onSelect?.(option.value),
|
|
4978
|
+
children: [
|
|
4979
|
+
option.icon,
|
|
4980
|
+
option.label
|
|
4981
|
+
]
|
|
4982
|
+
},
|
|
4983
|
+
option.value
|
|
4984
|
+
)) })
|
|
4985
|
+
] })
|
|
4986
|
+
] });
|
|
4430
4987
|
}
|
|
4431
4988
|
|
|
4432
4989
|
// src/ui/switch.tsx
|
|
4433
4990
|
var import_switch = require("@base-ui/react/switch");
|
|
4434
|
-
var
|
|
4991
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4435
4992
|
function Switch({ className, ...props }) {
|
|
4436
|
-
return /* @__PURE__ */ (0,
|
|
4993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4437
4994
|
import_switch.Switch.Root,
|
|
4438
4995
|
{
|
|
4439
4996
|
"data-slot": "switch",
|
|
@@ -4442,7 +4999,7 @@ function Switch({ className, ...props }) {
|
|
|
4442
4999
|
className
|
|
4443
5000
|
),
|
|
4444
5001
|
...props,
|
|
4445
|
-
children: /* @__PURE__ */ (0,
|
|
5002
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4446
5003
|
import_switch.Switch.Thumb,
|
|
4447
5004
|
{
|
|
4448
5005
|
"data-slot": "switch-thumb",
|
|
@@ -4454,20 +5011,20 @@ function Switch({ className, ...props }) {
|
|
|
4454
5011
|
}
|
|
4455
5012
|
|
|
4456
5013
|
// src/ui/table.tsx
|
|
4457
|
-
var
|
|
5014
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4458
5015
|
function Table({
|
|
4459
5016
|
className,
|
|
4460
5017
|
containerClassName,
|
|
4461
5018
|
containerStyle,
|
|
4462
5019
|
...props
|
|
4463
5020
|
}) {
|
|
4464
|
-
return /* @__PURE__ */ (0,
|
|
5021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4465
5022
|
"div",
|
|
4466
5023
|
{
|
|
4467
5024
|
"data-slot": "table-container",
|
|
4468
5025
|
className: cn("relative w-full overflow-x-auto", containerClassName),
|
|
4469
5026
|
style: containerStyle,
|
|
4470
|
-
children: /* @__PURE__ */ (0,
|
|
5027
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4471
5028
|
"table",
|
|
4472
5029
|
{
|
|
4473
5030
|
"data-slot": "table",
|
|
@@ -4479,7 +5036,7 @@ function Table({
|
|
|
4479
5036
|
);
|
|
4480
5037
|
}
|
|
4481
5038
|
function TableHeader({ className, ...props }) {
|
|
4482
|
-
return /* @__PURE__ */ (0,
|
|
5039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4483
5040
|
"thead",
|
|
4484
5041
|
{
|
|
4485
5042
|
"data-slot": "table-header",
|
|
@@ -4489,7 +5046,7 @@ function TableHeader({ className, ...props }) {
|
|
|
4489
5046
|
);
|
|
4490
5047
|
}
|
|
4491
5048
|
function TableBody({ className, ...props }) {
|
|
4492
|
-
return /* @__PURE__ */ (0,
|
|
5049
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4493
5050
|
"tbody",
|
|
4494
5051
|
{
|
|
4495
5052
|
"data-slot": "table-body",
|
|
@@ -4499,7 +5056,7 @@ function TableBody({ className, ...props }) {
|
|
|
4499
5056
|
);
|
|
4500
5057
|
}
|
|
4501
5058
|
function TableFooter({ className, ...props }) {
|
|
4502
|
-
return /* @__PURE__ */ (0,
|
|
5059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4503
5060
|
"tfoot",
|
|
4504
5061
|
{
|
|
4505
5062
|
"data-slot": "table-footer",
|
|
@@ -4512,7 +5069,7 @@ function TableFooter({ className, ...props }) {
|
|
|
4512
5069
|
);
|
|
4513
5070
|
}
|
|
4514
5071
|
function TableRow({ className, ...props }) {
|
|
4515
|
-
return /* @__PURE__ */ (0,
|
|
5072
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4516
5073
|
"tr",
|
|
4517
5074
|
{
|
|
4518
5075
|
"data-slot": "table-row",
|
|
@@ -4525,7 +5082,7 @@ function TableRow({ className, ...props }) {
|
|
|
4525
5082
|
);
|
|
4526
5083
|
}
|
|
4527
5084
|
function TableHead({ className, ...props }) {
|
|
4528
|
-
return /* @__PURE__ */ (0,
|
|
5085
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4529
5086
|
"th",
|
|
4530
5087
|
{
|
|
4531
5088
|
"data-slot": "table-head",
|
|
@@ -4538,7 +5095,7 @@ function TableHead({ className, ...props }) {
|
|
|
4538
5095
|
);
|
|
4539
5096
|
}
|
|
4540
5097
|
function TableCell({ className, ...props }) {
|
|
4541
|
-
return /* @__PURE__ */ (0,
|
|
5098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4542
5099
|
"td",
|
|
4543
5100
|
{
|
|
4544
5101
|
"data-slot": "table-cell",
|
|
@@ -4554,7 +5111,7 @@ function TableCaption({
|
|
|
4554
5111
|
className,
|
|
4555
5112
|
...props
|
|
4556
5113
|
}) {
|
|
4557
|
-
return /* @__PURE__ */ (0,
|
|
5114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4558
5115
|
"caption",
|
|
4559
5116
|
{
|
|
4560
5117
|
"data-slot": "table-caption",
|
|
@@ -4567,12 +5124,12 @@ function TableCaption({
|
|
|
4567
5124
|
// src/ui/tabs.tsx
|
|
4568
5125
|
var import_tabs = require("@base-ui/react/tabs");
|
|
4569
5126
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
4570
|
-
var
|
|
5127
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
4571
5128
|
function Tabs({
|
|
4572
5129
|
className,
|
|
4573
5130
|
...props
|
|
4574
5131
|
}) {
|
|
4575
|
-
return /* @__PURE__ */ (0,
|
|
5132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4576
5133
|
import_tabs.Tabs.Root,
|
|
4577
5134
|
{
|
|
4578
5135
|
"data-slot": "tabs",
|
|
@@ -4589,24 +5146,35 @@ var tabsListVariants = (0, import_class_variance_authority9.cva)(
|
|
|
4589
5146
|
default: "h-9 rounded-lg bg-muted p-[3px]",
|
|
4590
5147
|
// line:页签栏通栏(下划线轨道占满容器宽),触发器自然宽度靠左排列
|
|
4591
5148
|
line: "h-auto w-full justify-start gap-1 rounded-none border-b border-border bg-transparent p-0"
|
|
5149
|
+
},
|
|
5150
|
+
/** 尺寸(对齐 Button 的 size 语义):sm 经 compoundVariants 仅压缩胶囊变体 */
|
|
5151
|
+
size: {
|
|
5152
|
+
default: "",
|
|
5153
|
+
sm: ""
|
|
4592
5154
|
}
|
|
4593
5155
|
},
|
|
5156
|
+
compoundVariants: [
|
|
5157
|
+
{ variant: "default", size: "sm", class: "h-8" }
|
|
5158
|
+
],
|
|
4594
5159
|
defaultVariants: {
|
|
4595
|
-
variant: "default"
|
|
5160
|
+
variant: "default",
|
|
5161
|
+
size: "default"
|
|
4596
5162
|
}
|
|
4597
5163
|
}
|
|
4598
5164
|
);
|
|
4599
5165
|
function TabsList({
|
|
4600
5166
|
className,
|
|
4601
5167
|
variant,
|
|
5168
|
+
size,
|
|
4602
5169
|
...props
|
|
4603
5170
|
}) {
|
|
4604
|
-
return /* @__PURE__ */ (0,
|
|
5171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4605
5172
|
import_tabs.Tabs.List,
|
|
4606
5173
|
{
|
|
4607
5174
|
"data-slot": "tabs-list",
|
|
4608
5175
|
"data-variant": variant ?? "default",
|
|
4609
|
-
|
|
5176
|
+
"data-size": size ?? "default",
|
|
5177
|
+
className: cn(tabsListVariants({ variant, size }), className),
|
|
4610
5178
|
...props
|
|
4611
5179
|
}
|
|
4612
5180
|
);
|
|
@@ -4615,7 +5183,7 @@ function TabsTrigger({
|
|
|
4615
5183
|
className,
|
|
4616
5184
|
...props
|
|
4617
5185
|
}) {
|
|
4618
|
-
return /* @__PURE__ */ (0,
|
|
5186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4619
5187
|
import_tabs.Tabs.Tab,
|
|
4620
5188
|
{
|
|
4621
5189
|
"data-slot": "tabs-trigger",
|
|
@@ -4627,6 +5195,8 @@ function TabsTrigger({
|
|
|
4627
5195
|
//(叠在 List 的底边轨道上),无底色/圆角/阴影;通栏 List 下取消
|
|
4628
5196
|
// flex-1 拉伸,触发器保持自然宽度
|
|
4629
5197
|
"group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
|
|
5198
|
+
// size=sm:小字号 + 收紧纵向 padding(高度随 List h-8 自动收缩)
|
|
5199
|
+
"group-data-[size=sm]/tabs-list:py-0.5 group-data-[size=sm]/tabs-list:text-xs",
|
|
4630
5200
|
className
|
|
4631
5201
|
),
|
|
4632
5202
|
...props
|
|
@@ -4637,7 +5207,7 @@ function TabsContent({
|
|
|
4637
5207
|
className,
|
|
4638
5208
|
...props
|
|
4639
5209
|
}) {
|
|
4640
|
-
return /* @__PURE__ */ (0,
|
|
5210
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4641
5211
|
import_tabs.Tabs.Panel,
|
|
4642
5212
|
{
|
|
4643
5213
|
"data-slot": "tabs-content",
|
|
@@ -4648,12 +5218,12 @@ function TabsContent({
|
|
|
4648
5218
|
}
|
|
4649
5219
|
|
|
4650
5220
|
// src/ui/textarea.tsx
|
|
4651
|
-
var
|
|
5221
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
4652
5222
|
function Textarea({
|
|
4653
5223
|
className,
|
|
4654
5224
|
...props
|
|
4655
5225
|
}) {
|
|
4656
|
-
return /* @__PURE__ */ (0,
|
|
5226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4657
5227
|
"textarea",
|
|
4658
5228
|
{
|
|
4659
5229
|
"data-slot": "textarea",
|
|
@@ -4669,7 +5239,7 @@ function Textarea({
|
|
|
4669
5239
|
// src/ui/toggle.tsx
|
|
4670
5240
|
var import_toggle = require("@base-ui/react/toggle");
|
|
4671
5241
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
4672
|
-
var
|
|
5242
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
4673
5243
|
var toggleVariants = (0, import_class_variance_authority10.cva)(
|
|
4674
5244
|
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-colors outline-none hover:bg-muted hover:text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-pressed:bg-accent data-pressed:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
4675
5245
|
{
|
|
@@ -4696,7 +5266,7 @@ function Toggle({
|
|
|
4696
5266
|
size,
|
|
4697
5267
|
...props
|
|
4698
5268
|
}) {
|
|
4699
|
-
return /* @__PURE__ */ (0,
|
|
5269
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
4700
5270
|
import_toggle.Toggle,
|
|
4701
5271
|
{
|
|
4702
5272
|
"data-slot": "toggle",
|
|
@@ -4709,9 +5279,9 @@ function Toggle({
|
|
|
4709
5279
|
// src/ui/toggle-group.tsx
|
|
4710
5280
|
var import_toggle2 = require("@base-ui/react/toggle");
|
|
4711
5281
|
var import_toggle_group = require("@base-ui/react/toggle-group");
|
|
4712
|
-
var
|
|
4713
|
-
var
|
|
4714
|
-
var ToggleGroupContext =
|
|
5282
|
+
var React12 = __toESM(require("react"), 1);
|
|
5283
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5284
|
+
var ToggleGroupContext = React12.createContext({
|
|
4715
5285
|
size: "default",
|
|
4716
5286
|
variant: "default"
|
|
4717
5287
|
});
|
|
@@ -4722,7 +5292,7 @@ function ToggleGroup({
|
|
|
4722
5292
|
children,
|
|
4723
5293
|
...props
|
|
4724
5294
|
}) {
|
|
4725
|
-
return /* @__PURE__ */ (0,
|
|
5295
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
4726
5296
|
import_toggle_group.ToggleGroup,
|
|
4727
5297
|
{
|
|
4728
5298
|
"data-slot": "toggle-group",
|
|
@@ -4733,7 +5303,7 @@ function ToggleGroup({
|
|
|
4733
5303
|
className
|
|
4734
5304
|
),
|
|
4735
5305
|
...props,
|
|
4736
|
-
children: /* @__PURE__ */ (0,
|
|
5306
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4737
5307
|
}
|
|
4738
5308
|
);
|
|
4739
5309
|
}
|
|
@@ -4744,8 +5314,8 @@ function ToggleGroupItem({
|
|
|
4744
5314
|
size,
|
|
4745
5315
|
...props
|
|
4746
5316
|
}) {
|
|
4747
|
-
const context =
|
|
4748
|
-
return /* @__PURE__ */ (0,
|
|
5317
|
+
const context = React12.useContext(ToggleGroupContext);
|
|
5318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
4749
5319
|
import_toggle2.Toggle,
|
|
4750
5320
|
{
|
|
4751
5321
|
"data-slot": "toggle-group-item",
|
|
@@ -4767,7 +5337,7 @@ function ToggleGroupItem({
|
|
|
4767
5337
|
|
|
4768
5338
|
// src/ui/typography.tsx
|
|
4769
5339
|
var import_class_variance_authority11 = require("class-variance-authority");
|
|
4770
|
-
var
|
|
5340
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
4771
5341
|
var typographyVariants = (0, import_class_variance_authority11.cva)("", {
|
|
4772
5342
|
variants: {
|
|
4773
5343
|
variant: {
|
|
@@ -4803,7 +5373,7 @@ var variantTagMap = {
|
|
|
4803
5373
|
};
|
|
4804
5374
|
function Typography({ className, variant = "p", ...props }) {
|
|
4805
5375
|
const Tag = variantTagMap[variant ?? "p"];
|
|
4806
|
-
return /* @__PURE__ */ (0,
|
|
5376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
4807
5377
|
Tag,
|
|
4808
5378
|
{
|
|
4809
5379
|
"data-slot": "typography",
|
|
@@ -4819,6 +5389,7 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
4819
5389
|
AccordionContent,
|
|
4820
5390
|
AccordionItem,
|
|
4821
5391
|
AccordionTrigger,
|
|
5392
|
+
ActionButton,
|
|
4822
5393
|
Alert,
|
|
4823
5394
|
AlertDescription,
|
|
4824
5395
|
AlertDialog,
|
|
@@ -4886,11 +5457,13 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
4886
5457
|
CommandInput,
|
|
4887
5458
|
CommandItem,
|
|
4888
5459
|
CommandList,
|
|
5460
|
+
ConfirmMorph,
|
|
4889
5461
|
ContextMenu,
|
|
4890
5462
|
ContextMenuContent,
|
|
4891
5463
|
ContextMenuItem,
|
|
4892
5464
|
ContextMenuSeparator,
|
|
4893
5465
|
ContextMenuTrigger,
|
|
5466
|
+
CopyButton,
|
|
4894
5467
|
Dialog,
|
|
4895
5468
|
DialogClose,
|
|
4896
5469
|
DialogContent,
|
|
@@ -4924,13 +5497,16 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
4924
5497
|
EmptyDescription,
|
|
4925
5498
|
EmptyHeader,
|
|
4926
5499
|
EmptyTitle,
|
|
5500
|
+
ExpandingButtonGroup,
|
|
4927
5501
|
Field,
|
|
4928
5502
|
FieldDescription,
|
|
4929
5503
|
FieldError,
|
|
4930
5504
|
FieldLabel,
|
|
5505
|
+
FloatingButtonGroup,
|
|
4931
5506
|
HoverCard,
|
|
4932
5507
|
HoverCardContent,
|
|
4933
5508
|
HoverCardTrigger,
|
|
5509
|
+
IconMorph,
|
|
4934
5510
|
Input,
|
|
4935
5511
|
InputGroup,
|
|
4936
5512
|
InputGroupAddon,
|
|
@@ -4947,6 +5523,7 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
4947
5523
|
ItemTitle,
|
|
4948
5524
|
Kbd,
|
|
4949
5525
|
Label,
|
|
5526
|
+
MORPH_PAIRS,
|
|
4950
5527
|
Menubar,
|
|
4951
5528
|
MenubarContent,
|
|
4952
5529
|
MenubarItem,
|
|
@@ -5037,6 +5614,7 @@ function Typography({ className, variant = "p", ...props }) {
|
|
|
5037
5614
|
SliderThumb,
|
|
5038
5615
|
SliderTrack,
|
|
5039
5616
|
Spinner,
|
|
5617
|
+
SplitButton,
|
|
5040
5618
|
Switch,
|
|
5041
5619
|
Table,
|
|
5042
5620
|
TableBody,
|