@ai-matrx/design-system 0.10.1 → 0.11.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/CHANGELOG.md +64 -74
- package/README.md +20 -1
- package/dist/index.cjs +399 -297
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +106 -30
- package/dist/index.d.ts +106 -30
- package/dist/index.js +436 -331
- package/dist/index.js.map +1 -1
- package/dist/styles.css +10 -59
- package/dist/tokens.css +0 -5
- package/package.json +6 -2
package/dist/index.cjs
CHANGED
|
@@ -62,7 +62,6 @@ __export(src_exports, {
|
|
|
62
62
|
BottomSheetFooter: () => BottomSheetFooter,
|
|
63
63
|
BottomSheetHeader: () => BottomSheetHeader,
|
|
64
64
|
Button: () => Button,
|
|
65
|
-
CENTERED_DIALOG: () => CENTERED_DIALOG,
|
|
66
65
|
Card: () => Card,
|
|
67
66
|
CardAction: () => CardAction,
|
|
68
67
|
CardContent: () => CardContent,
|
|
@@ -83,6 +82,8 @@ __export(src_exports, {
|
|
|
83
82
|
CommandList: () => CommandList,
|
|
84
83
|
CommandSeparator: () => CommandSeparator,
|
|
85
84
|
CommandShortcut: () => CommandShortcut,
|
|
85
|
+
ConfirmDialog: () => ConfirmDialog,
|
|
86
|
+
ConfirmDialogHost: () => ConfirmDialogHost,
|
|
86
87
|
ContextMenu: () => ContextMenu,
|
|
87
88
|
ContextMenuCheckboxItem: () => ContextMenuCheckboxItem,
|
|
88
89
|
ContextMenuContent: () => ContextMenuContent,
|
|
@@ -156,7 +157,6 @@ __export(src_exports, {
|
|
|
156
157
|
MOTION_SHEET: () => MOTION_SHEET,
|
|
157
158
|
MOTION_SPIN: () => MOTION_SPIN,
|
|
158
159
|
OverflowToolbar: () => OverflowToolbar,
|
|
159
|
-
POPPER_OFFSET: () => POPPER_OFFSET,
|
|
160
160
|
Popover: () => Popover,
|
|
161
161
|
PopoverAnchor: () => PopoverAnchor,
|
|
162
162
|
PopoverContent: () => PopoverContent,
|
|
@@ -952,8 +952,6 @@ Button.displayName = "Button";
|
|
|
952
952
|
// src/motion.ts
|
|
953
953
|
var MOTION_OVERLAY = "matrx-motion-overlay";
|
|
954
954
|
var MOTION_DIALOG = "matrx-motion-dialog";
|
|
955
|
-
var CENTERED_DIALOG = "matrx-dialog-centered";
|
|
956
|
-
var POPPER_OFFSET = "matrx-popper-offset";
|
|
957
955
|
var MOTION_BOTTOM_SHEET = "matrx-motion-bottom-sheet";
|
|
958
956
|
var MOTION_POPPER = "matrx-motion-popper";
|
|
959
957
|
var MOTION_SHEET = {
|
|
@@ -1058,7 +1056,7 @@ var AlertDialogContent = React7.forwardRef(({ className, children, container, an
|
|
|
1058
1056
|
ref,
|
|
1059
1057
|
"data-slot": "alert-dialog-content",
|
|
1060
1058
|
className: cn(
|
|
1061
|
-
|
|
1059
|
+
"fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg",
|
|
1062
1060
|
// Ruling 3 — never taller than the viewport, always scrollable, and
|
|
1063
1061
|
// the footer stays reachable via --dialog-pad like Dialog's.
|
|
1064
1062
|
"max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full",
|
|
@@ -1399,7 +1397,7 @@ var Command = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1399
1397
|
}
|
|
1400
1398
|
));
|
|
1401
1399
|
Command.displayName = import_cmdk.Command.displayName;
|
|
1402
|
-
var DIALOG_DESKTOP_CLASSES =
|
|
1400
|
+
var DIALOG_DESKTOP_CLASSES = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full sm:rounded-lg";
|
|
1403
1401
|
var DIALOG_MOBILE_SHEET_CLASSES = "fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain";
|
|
1404
1402
|
var DIALOG_MOBILE_SHEET_OVERRIDE = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
|
|
1405
1403
|
var CommandDialogContent = React13.forwardRef(({ className, children, container, ...props }, ref) => {
|
|
@@ -1543,10 +1541,119 @@ var CommandShortcut = ({
|
|
|
1543
1541
|
};
|
|
1544
1542
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1545
1543
|
|
|
1544
|
+
// src/confirm-dialog.tsx
|
|
1545
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1546
|
+
function ConfirmDialog({
|
|
1547
|
+
open,
|
|
1548
|
+
onOpenChange,
|
|
1549
|
+
title,
|
|
1550
|
+
description,
|
|
1551
|
+
content,
|
|
1552
|
+
contentClassName,
|
|
1553
|
+
confirmLabel = "Confirm",
|
|
1554
|
+
cancelLabel = "Cancel",
|
|
1555
|
+
variant = "default",
|
|
1556
|
+
busy = false,
|
|
1557
|
+
confirmDisabled = false,
|
|
1558
|
+
portalContainer,
|
|
1559
|
+
onConfirm
|
|
1560
|
+
}) {
|
|
1561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1562
|
+
AlertDialogContent,
|
|
1563
|
+
{
|
|
1564
|
+
className: contentClassName,
|
|
1565
|
+
...portalContainer === void 0 ? {} : { container: portalContainer },
|
|
1566
|
+
children: [
|
|
1567
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogHeader, { children: [
|
|
1568
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogTitle, { children: title }),
|
|
1569
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogDescription, { children: description }) : null
|
|
1570
|
+
] }),
|
|
1571
|
+
content ?? null,
|
|
1572
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogFooter, { children: [
|
|
1573
|
+
cancelLabel === null ? null : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
|
|
1574
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1575
|
+
AlertDialogAction,
|
|
1576
|
+
{
|
|
1577
|
+
disabled: busy || confirmDisabled,
|
|
1578
|
+
onClick: (event) => {
|
|
1579
|
+
event.preventDefault();
|
|
1580
|
+
void onConfirm();
|
|
1581
|
+
},
|
|
1582
|
+
className: cn(
|
|
1583
|
+
"max-lg:min-h-11",
|
|
1584
|
+
// One source of button appearance: the destructive look comes
|
|
1585
|
+
// from `buttonVariants`, not a second hand-written copy of it.
|
|
1586
|
+
// tailwind-merge makes it WIN over the default variant classes.
|
|
1587
|
+
variant === "destructive" && buttonVariants({ variant: "destructive" })
|
|
1588
|
+
),
|
|
1589
|
+
children: [
|
|
1590
|
+
busy ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
|
|
1591
|
+
confirmLabel
|
|
1592
|
+
]
|
|
1593
|
+
}
|
|
1594
|
+
)
|
|
1595
|
+
] })
|
|
1596
|
+
]
|
|
1597
|
+
}
|
|
1598
|
+
) });
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
// src/confirm-host.tsx
|
|
1602
|
+
var import_confirm_opener = require("@ai-matrx/kit/confirm-opener");
|
|
1603
|
+
var React14 = __toESM(require("react"), 1);
|
|
1604
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1605
|
+
function ConfirmDialogHost() {
|
|
1606
|
+
const [active, setActive] = React14.useState(null);
|
|
1607
|
+
const [tick, setTick] = React14.useState(0);
|
|
1608
|
+
const queueRef = React14.useRef([]);
|
|
1609
|
+
React14.useEffect(() => {
|
|
1610
|
+
const controller = {
|
|
1611
|
+
show: (opts, resolve) => {
|
|
1612
|
+
queueRef.current.push({ opts, resolve });
|
|
1613
|
+
setTick((n) => n + 1);
|
|
1614
|
+
}
|
|
1615
|
+
};
|
|
1616
|
+
(0, import_confirm_opener._registerHost)(controller);
|
|
1617
|
+
return () => (0, import_confirm_opener._unregisterHost)(controller);
|
|
1618
|
+
}, []);
|
|
1619
|
+
React14.useEffect(() => {
|
|
1620
|
+
if (active === null && queueRef.current.length > 0) {
|
|
1621
|
+
setActive(queueRef.current.shift());
|
|
1622
|
+
}
|
|
1623
|
+
}, [active, tick]);
|
|
1624
|
+
const handleConfirm = React14.useCallback(() => {
|
|
1625
|
+
if (!active) return;
|
|
1626
|
+
active.resolve(true);
|
|
1627
|
+
setActive(null);
|
|
1628
|
+
}, [active]);
|
|
1629
|
+
const handleOpenChange = React14.useCallback(
|
|
1630
|
+
(open) => {
|
|
1631
|
+
if (!open && active) {
|
|
1632
|
+
active.resolve(false);
|
|
1633
|
+
setActive(null);
|
|
1634
|
+
}
|
|
1635
|
+
},
|
|
1636
|
+
[active]
|
|
1637
|
+
);
|
|
1638
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1639
|
+
ConfirmDialog,
|
|
1640
|
+
{
|
|
1641
|
+
open: !!active,
|
|
1642
|
+
onOpenChange: handleOpenChange,
|
|
1643
|
+
title: active?.opts.title ?? "",
|
|
1644
|
+
description: active?.opts.description,
|
|
1645
|
+
confirmLabel: active?.opts.confirmLabel,
|
|
1646
|
+
cancelLabel: active?.opts.cancelLabel,
|
|
1647
|
+
variant: active?.opts.variant,
|
|
1648
|
+
onConfirm: handleConfirm
|
|
1649
|
+
}
|
|
1650
|
+
);
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1546
1653
|
// src/context-menu.tsx
|
|
1547
1654
|
var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
|
|
1548
|
-
var
|
|
1549
|
-
var
|
|
1655
|
+
var React15 = __toESM(require("react"), 1);
|
|
1656
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1550
1657
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
1551
1658
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1552
1659
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
@@ -1556,7 +1663,7 @@ var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
|
1556
1663
|
var SURFACE_CLASS = "z-50 min-w-[8rem] max-h-[var(--radix-context-menu-content-available-height)] overflow-y-auto overflow-x-hidden overscroll-contain rounded-md border bg-popover p-1 text-popover-foreground";
|
|
1557
1664
|
var ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
1558
1665
|
var INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
1559
|
-
var ContextMenuSubTrigger =
|
|
1666
|
+
var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1560
1667
|
ContextMenuPrimitive.SubTrigger,
|
|
1561
1668
|
{
|
|
1562
1669
|
ref,
|
|
@@ -1569,12 +1676,12 @@ var ContextMenuSubTrigger = React14.forwardRef(({ className, inset, children, ..
|
|
|
1569
1676
|
...props,
|
|
1570
1677
|
children: [
|
|
1571
1678
|
children,
|
|
1572
|
-
/* @__PURE__ */ (0,
|
|
1679
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
1573
1680
|
]
|
|
1574
1681
|
}
|
|
1575
1682
|
));
|
|
1576
1683
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1577
|
-
var ContextMenuSubContent =
|
|
1684
|
+
var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1578
1685
|
ContextMenuPrimitive.SubContent,
|
|
1579
1686
|
{
|
|
1580
1687
|
ref,
|
|
@@ -1584,9 +1691,9 @@ var ContextMenuSubContent = React14.forwardRef(({ className, ...props }, ref) =>
|
|
|
1584
1691
|
}
|
|
1585
1692
|
));
|
|
1586
1693
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1587
|
-
var ContextMenuContent =
|
|
1694
|
+
var ContextMenuContent = React15.forwardRef(({ className, container, ...props }, ref) => {
|
|
1588
1695
|
const portalContainer = usePortalContainer(container);
|
|
1589
|
-
return /* @__PURE__ */ (0,
|
|
1696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1590
1697
|
ContextMenuPrimitive.Content,
|
|
1591
1698
|
{
|
|
1592
1699
|
ref,
|
|
@@ -1597,7 +1704,7 @@ var ContextMenuContent = React14.forwardRef(({ className, container, ...props },
|
|
|
1597
1704
|
) });
|
|
1598
1705
|
});
|
|
1599
1706
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1600
|
-
var ContextMenuItem =
|
|
1707
|
+
var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1601
1708
|
ContextMenuPrimitive.Item,
|
|
1602
1709
|
{
|
|
1603
1710
|
ref,
|
|
@@ -1612,7 +1719,7 @@ var ContextMenuItem = React14.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
1612
1719
|
}
|
|
1613
1720
|
));
|
|
1614
1721
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1615
|
-
var ContextMenuCheckboxItem =
|
|
1722
|
+
var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1616
1723
|
ContextMenuPrimitive.CheckboxItem,
|
|
1617
1724
|
{
|
|
1618
1725
|
ref,
|
|
@@ -1620,13 +1727,13 @@ var ContextMenuCheckboxItem = React14.forwardRef(({ className, children, ...prop
|
|
|
1620
1727
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
1621
1728
|
...props,
|
|
1622
1729
|
children: [
|
|
1623
|
-
/* @__PURE__ */ (0,
|
|
1730
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
1624
1731
|
children
|
|
1625
1732
|
]
|
|
1626
1733
|
}
|
|
1627
1734
|
));
|
|
1628
1735
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1629
|
-
var ContextMenuRadioItem =
|
|
1736
|
+
var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1630
1737
|
ContextMenuPrimitive.RadioItem,
|
|
1631
1738
|
{
|
|
1632
1739
|
ref,
|
|
@@ -1634,13 +1741,13 @@ var ContextMenuRadioItem = React14.forwardRef(({ className, children, ...props }
|
|
|
1634
1741
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
1635
1742
|
...props,
|
|
1636
1743
|
children: [
|
|
1637
|
-
/* @__PURE__ */ (0,
|
|
1744
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
1638
1745
|
children
|
|
1639
1746
|
]
|
|
1640
1747
|
}
|
|
1641
1748
|
));
|
|
1642
1749
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1643
|
-
var ContextMenuLabel =
|
|
1750
|
+
var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1644
1751
|
ContextMenuPrimitive.Label,
|
|
1645
1752
|
{
|
|
1646
1753
|
ref,
|
|
@@ -1654,7 +1761,7 @@ var ContextMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1654
1761
|
}
|
|
1655
1762
|
));
|
|
1656
1763
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1657
|
-
var ContextMenuSeparator =
|
|
1764
|
+
var ContextMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1658
1765
|
ContextMenuPrimitive.Separator,
|
|
1659
1766
|
{
|
|
1660
1767
|
ref,
|
|
@@ -1667,7 +1774,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
|
1667
1774
|
var ContextMenuShortcut = ({
|
|
1668
1775
|
className,
|
|
1669
1776
|
...props
|
|
1670
|
-
}) => /* @__PURE__ */ (0,
|
|
1777
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1671
1778
|
"span",
|
|
1672
1779
|
{
|
|
1673
1780
|
"data-slot": "context-menu-shortcut",
|
|
@@ -1682,12 +1789,12 @@ var import_react = require("react");
|
|
|
1682
1789
|
|
|
1683
1790
|
// src/popover.tsx
|
|
1684
1791
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1685
|
-
var
|
|
1686
|
-
var
|
|
1792
|
+
var React16 = __toESM(require("react"), 1);
|
|
1793
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1687
1794
|
var Popover = PopoverPrimitive.Root;
|
|
1688
1795
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1689
1796
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
1690
|
-
var PopoverContent =
|
|
1797
|
+
var PopoverContent = React16.forwardRef(
|
|
1691
1798
|
({
|
|
1692
1799
|
className,
|
|
1693
1800
|
align = "center",
|
|
@@ -1697,7 +1804,7 @@ var PopoverContent = React15.forwardRef(
|
|
|
1697
1804
|
...props
|
|
1698
1805
|
}, ref) => {
|
|
1699
1806
|
const portalContainer = usePortalContainer(container);
|
|
1700
|
-
return /* @__PURE__ */ (0,
|
|
1807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1701
1808
|
PopoverPrimitive.Content,
|
|
1702
1809
|
{
|
|
1703
1810
|
ref,
|
|
@@ -1722,7 +1829,7 @@ var PopoverContent = React15.forwardRef(
|
|
|
1722
1829
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1723
1830
|
|
|
1724
1831
|
// src/creatable-picker.tsx
|
|
1725
|
-
var
|
|
1832
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1726
1833
|
function article(noun) {
|
|
1727
1834
|
return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
|
|
1728
1835
|
}
|
|
@@ -1797,8 +1904,8 @@ function CreatablePicker({
|
|
|
1797
1904
|
setBusy(false);
|
|
1798
1905
|
}
|
|
1799
1906
|
};
|
|
1800
|
-
return /* @__PURE__ */ (0,
|
|
1801
|
-
/* @__PURE__ */ (0,
|
|
1907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
|
|
1908
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1802
1909
|
"button",
|
|
1803
1910
|
{
|
|
1804
1911
|
type: "button",
|
|
@@ -1812,12 +1919,12 @@ function CreatablePicker({
|
|
|
1812
1919
|
triggerClassName
|
|
1813
1920
|
),
|
|
1814
1921
|
children: [
|
|
1815
|
-
/* @__PURE__ */ (0,
|
|
1816
|
-
/* @__PURE__ */ (0,
|
|
1922
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
|
|
1923
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
|
|
1817
1924
|
]
|
|
1818
1925
|
}
|
|
1819
1926
|
) }),
|
|
1820
|
-
/* @__PURE__ */ (0,
|
|
1927
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1821
1928
|
Command,
|
|
1822
1929
|
{
|
|
1823
1930
|
filter: (itemValue, search, keywords) => {
|
|
@@ -1825,7 +1932,7 @@ function CreatablePicker({
|
|
|
1825
1932
|
return haystack.includes(search.toLowerCase()) ? 1 : 0;
|
|
1826
1933
|
},
|
|
1827
1934
|
children: [
|
|
1828
|
-
/* @__PURE__ */ (0,
|
|
1935
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1829
1936
|
CommandInput,
|
|
1830
1937
|
{
|
|
1831
1938
|
ref: inputRef,
|
|
@@ -1837,13 +1944,13 @@ function CreatablePicker({
|
|
|
1837
1944
|
placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
|
|
1838
1945
|
}
|
|
1839
1946
|
),
|
|
1840
|
-
/* @__PURE__ */ (0,
|
|
1841
|
-
/* @__PURE__ */ (0,
|
|
1842
|
-
groups.map((group) => /* @__PURE__ */ (0,
|
|
1947
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(CommandList, { children: [
|
|
1948
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CommandEmpty, { children: emptyLabel }),
|
|
1949
|
+
groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1843
1950
|
CommandGroup,
|
|
1844
1951
|
{
|
|
1845
1952
|
...group.heading === void 0 ? {} : { heading: group.heading },
|
|
1846
|
-
children: group.options.map((option) => /* @__PURE__ */ (0,
|
|
1953
|
+
children: group.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1847
1954
|
CommandItem,
|
|
1848
1955
|
{
|
|
1849
1956
|
value: option.label,
|
|
@@ -1854,7 +1961,7 @@ function CreatablePicker({
|
|
|
1854
1961
|
},
|
|
1855
1962
|
className: "gap-2 text-xs",
|
|
1856
1963
|
children: [
|
|
1857
|
-
/* @__PURE__ */ (0,
|
|
1964
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1858
1965
|
LucideCheckIcon,
|
|
1859
1966
|
{
|
|
1860
1967
|
className: cn(
|
|
@@ -1863,8 +1970,8 @@ function CreatablePicker({
|
|
|
1863
1970
|
)
|
|
1864
1971
|
}
|
|
1865
1972
|
),
|
|
1866
|
-
/* @__PURE__ */ (0,
|
|
1867
|
-
option.hint ? /* @__PURE__ */ (0,
|
|
1973
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
|
|
1974
|
+
option.hint ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
|
|
1868
1975
|
]
|
|
1869
1976
|
},
|
|
1870
1977
|
option.value
|
|
@@ -1873,9 +1980,9 @@ function CreatablePicker({
|
|
|
1873
1980
|
group.heading ?? "__ungrouped__"
|
|
1874
1981
|
))
|
|
1875
1982
|
] }),
|
|
1876
|
-
canCreate ? /* @__PURE__ */ (0,
|
|
1877
|
-
createExtra && typed && !exactMatch ? /* @__PURE__ */ (0,
|
|
1878
|
-
/* @__PURE__ */ (0,
|
|
1983
|
+
canCreate ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-1", children: [
|
|
1984
|
+
createExtra && typed && !exactMatch ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
|
|
1985
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1879
1986
|
"button",
|
|
1880
1987
|
{
|
|
1881
1988
|
type: "button",
|
|
@@ -1883,22 +1990,22 @@ function CreatablePicker({
|
|
|
1883
1990
|
onClick: () => void create(typed),
|
|
1884
1991
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
|
|
1885
1992
|
children: [
|
|
1886
|
-
busy ? /* @__PURE__ */ (0,
|
|
1887
|
-
/* @__PURE__ */ (0,
|
|
1993
|
+
busy ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Loader2Icon, { className: "size-3.5 shrink-0 matrx-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
|
|
1994
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
|
|
1888
1995
|
]
|
|
1889
1996
|
}
|
|
1890
1997
|
),
|
|
1891
|
-
needsName ? /* @__PURE__ */ (0,
|
|
1998
|
+
needsName ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
1892
1999
|
"Type the name of the ",
|
|
1893
2000
|
noun,
|
|
1894
2001
|
" you want to add \u2014 then this creates it."
|
|
1895
2002
|
] }) : null
|
|
1896
2003
|
] }) : null,
|
|
1897
|
-
footerActions?.length || manageAction ? /* @__PURE__ */ (0,
|
|
2004
|
+
footerActions?.length || manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-0.5 border-t border-border p-1", children: [
|
|
1898
2005
|
footerActions?.map((action) => {
|
|
1899
2006
|
const Icon2 = action.icon;
|
|
1900
|
-
return /* @__PURE__ */ (0,
|
|
1901
|
-
/* @__PURE__ */ (0,
|
|
2007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
|
|
2008
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1902
2009
|
"button",
|
|
1903
2010
|
{
|
|
1904
2011
|
type: "button",
|
|
@@ -1908,15 +2015,15 @@ function CreatablePicker({
|
|
|
1908
2015
|
},
|
|
1909
2016
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
1910
2017
|
children: [
|
|
1911
|
-
Icon2 ? /* @__PURE__ */ (0,
|
|
1912
|
-
/* @__PURE__ */ (0,
|
|
2018
|
+
Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon2, { className: "size-3.5 shrink-0" }) : null,
|
|
2019
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: action.label })
|
|
1913
2020
|
]
|
|
1914
2021
|
}
|
|
1915
2022
|
),
|
|
1916
|
-
action.note ? /* @__PURE__ */ (0,
|
|
2023
|
+
action.note ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
|
|
1917
2024
|
] }, action.label);
|
|
1918
2025
|
}),
|
|
1919
|
-
manageAction ? /* @__PURE__ */ (0,
|
|
2026
|
+
manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1920
2027
|
"a",
|
|
1921
2028
|
{
|
|
1922
2029
|
href: manageAction.href,
|
|
@@ -1925,18 +2032,18 @@ function CreatablePicker({
|
|
|
1925
2032
|
onClick: close,
|
|
1926
2033
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
1927
2034
|
children: [
|
|
1928
|
-
/* @__PURE__ */ (0,
|
|
1929
|
-
/* @__PURE__ */ (0,
|
|
2035
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
|
|
2036
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: manageAction.label })
|
|
1930
2037
|
]
|
|
1931
2038
|
}
|
|
1932
2039
|
) : null
|
|
1933
2040
|
] }) : null,
|
|
1934
|
-
lockedNote ? /* @__PURE__ */ (0,
|
|
1935
|
-
/* @__PURE__ */ (0,
|
|
1936
|
-
/* @__PURE__ */ (0,
|
|
1937
|
-
/* @__PURE__ */ (0,
|
|
2041
|
+
lockedNote ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-2", children: [
|
|
2042
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
2043
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LockIcon, { className: "mt-px size-3 shrink-0" }),
|
|
2044
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: lockedNote })
|
|
1938
2045
|
] }),
|
|
1939
|
-
lockedAction ? /* @__PURE__ */ (0,
|
|
2046
|
+
lockedAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1940
2047
|
"button",
|
|
1941
2048
|
{
|
|
1942
2049
|
type: "button",
|
|
@@ -1946,8 +2053,8 @@ function CreatablePicker({
|
|
|
1946
2053
|
},
|
|
1947
2054
|
className: "flex w-full items-center gap-2 rounded-sm px-1 py-1 text-left text-xs font-medium text-primary transition-colors hover:bg-accent",
|
|
1948
2055
|
children: [
|
|
1949
|
-
/* @__PURE__ */ (0,
|
|
1950
|
-
/* @__PURE__ */ (0,
|
|
2056
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
|
|
2057
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: lockedAction.label })
|
|
1951
2058
|
]
|
|
1952
2059
|
}
|
|
1953
2060
|
) : null
|
|
@@ -1962,14 +2069,14 @@ function CreatablePicker({
|
|
|
1962
2069
|
var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
1963
2070
|
var VisuallyHidden2 = __toESM(require("@radix-ui/react-visually-hidden"), 1);
|
|
1964
2071
|
var import_react_tree3 = require("@ai-matrx/kit/react-tree");
|
|
1965
|
-
var
|
|
1966
|
-
var
|
|
2072
|
+
var React17 = __toESM(require("react"), 1);
|
|
2073
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1967
2074
|
var Dialog = ({
|
|
1968
2075
|
children,
|
|
1969
2076
|
...props
|
|
1970
2077
|
}) => {
|
|
1971
2078
|
const modal = props.modal ?? true;
|
|
1972
|
-
return /* @__PURE__ */ (0,
|
|
2079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Root, { ...props, modal, children }) });
|
|
1973
2080
|
};
|
|
1974
2081
|
Dialog.displayName = "Dialog";
|
|
1975
2082
|
var DialogTrigger = DialogPrimitive2.Trigger;
|
|
@@ -1979,12 +2086,12 @@ var DialogPortal = ({
|
|
|
1979
2086
|
...props
|
|
1980
2087
|
}) => {
|
|
1981
2088
|
const resolved = usePortalContainer(container);
|
|
1982
|
-
return /* @__PURE__ */ (0,
|
|
2089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
|
|
1983
2090
|
};
|
|
1984
2091
|
DialogPortal.displayName = "DialogPortal";
|
|
1985
|
-
var DialogContainerContext =
|
|
1986
|
-
var useDialogContainer = () =>
|
|
1987
|
-
var DialogOverlay =
|
|
2092
|
+
var DialogContainerContext = React17.createContext(null);
|
|
2093
|
+
var useDialogContainer = () => React17.useContext(DialogContainerContext);
|
|
2094
|
+
var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1988
2095
|
DialogPrimitive2.Overlay,
|
|
1989
2096
|
{
|
|
1990
2097
|
ref,
|
|
@@ -2000,9 +2107,9 @@ var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
2000
2107
|
}
|
|
2001
2108
|
));
|
|
2002
2109
|
DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
|
|
2003
|
-
var DialogContentPrimitive =
|
|
2110
|
+
var DialogContentPrimitive = React17.forwardRef((props, ref) => {
|
|
2004
2111
|
const isModal = useRadixDialogModal();
|
|
2005
|
-
return /* @__PURE__ */ (0,
|
|
2112
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2006
2113
|
DialogPrimitive2.Content,
|
|
2007
2114
|
{
|
|
2008
2115
|
...props,
|
|
@@ -2012,10 +2119,10 @@ var DialogContentPrimitive = React16.forwardRef((props, ref) => {
|
|
|
2012
2119
|
);
|
|
2013
2120
|
});
|
|
2014
2121
|
DialogContentPrimitive.displayName = "DialogContentPrimitive";
|
|
2015
|
-
var DIALOG_DESKTOP_CLASSES2 =
|
|
2122
|
+
var DIALOG_DESKTOP_CLASSES2 = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full sm:rounded-lg";
|
|
2016
2123
|
var DIALOG_MOBILE_SHEET_CLASSES2 = "matrx-mobile-sheet fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 [--dialog-pad:1rem] overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain";
|
|
2017
2124
|
var DIALOG_MOBILE_SHEET_OVERRIDE2 = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
|
|
2018
|
-
var DialogContent =
|
|
2125
|
+
var DialogContent = React17.forwardRef(
|
|
2019
2126
|
({
|
|
2020
2127
|
className,
|
|
2021
2128
|
children,
|
|
@@ -2029,10 +2136,10 @@ var DialogContent = React16.forwardRef(
|
|
|
2029
2136
|
const isModal = useRadixDialogModal();
|
|
2030
2137
|
const injectedContainer = usePortalContainer(container);
|
|
2031
2138
|
const asSheet = mobileSheet && isMobile;
|
|
2032
|
-
const [containerEl, setContainerEl] =
|
|
2139
|
+
const [containerEl, setContainerEl] = React17.useState(
|
|
2033
2140
|
null
|
|
2034
2141
|
);
|
|
2035
|
-
const mergedRef =
|
|
2142
|
+
const mergedRef = React17.useCallback(
|
|
2036
2143
|
(node) => {
|
|
2037
2144
|
setContainerEl(node);
|
|
2038
2145
|
if (typeof ref === "function") ref(node);
|
|
@@ -2043,9 +2150,9 @@ var DialogContent = React16.forwardRef(
|
|
|
2043
2150
|
);
|
|
2044
2151
|
const hasTitle = (0, import_react_tree3.treeContainsComponent)(children, DialogTitle) || (0, import_react_tree3.treeContainsComponent)(children, DialogPrimitive2.Title);
|
|
2045
2152
|
const hasDescription = (0, import_react_tree3.treeContainsComponent)(children, DialogDescription) || (0, import_react_tree3.treeContainsComponent)(children, DialogPrimitive2.Description);
|
|
2046
|
-
return /* @__PURE__ */ (0,
|
|
2047
|
-
isModal ? /* @__PURE__ */ (0,
|
|
2048
|
-
/* @__PURE__ */ (0,
|
|
2153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPortal, { container, children: [
|
|
2154
|
+
isModal ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogOverlay, {}) : null,
|
|
2155
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
2049
2156
|
DialogContentPrimitive,
|
|
2050
2157
|
{
|
|
2051
2158
|
ref: mergedRef,
|
|
@@ -2064,23 +2171,23 @@ var DialogContent = React16.forwardRef(
|
|
|
2064
2171
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
2065
2172
|
...props,
|
|
2066
2173
|
children: [
|
|
2067
|
-
hasTitle ? null : /* @__PURE__ */ (0,
|
|
2068
|
-
/* @__PURE__ */ (0,
|
|
2174
|
+
hasTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Title, { children: "Dialog" }) }),
|
|
2175
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2069
2176
|
PortalContainerProvider,
|
|
2070
2177
|
{
|
|
2071
2178
|
container: containerEl ?? injectedContainer ?? null,
|
|
2072
2179
|
children
|
|
2073
2180
|
}
|
|
2074
2181
|
) }),
|
|
2075
|
-
showCloseButton ? /* @__PURE__ */ (0,
|
|
2182
|
+
showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
2076
2183
|
DialogPrimitive2.Close,
|
|
2077
2184
|
{
|
|
2078
2185
|
"data-slot": "dialog-close",
|
|
2079
2186
|
"aria-label": "Close",
|
|
2080
2187
|
className: "absolute right-2 top-4 flex h-11 w-11 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground sm:right-4 lg:h-10 lg:w-10",
|
|
2081
2188
|
children: [
|
|
2082
|
-
/* @__PURE__ */ (0,
|
|
2083
|
-
/* @__PURE__ */ (0,
|
|
2189
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(XIcon, { className: "h-4 w-4" }),
|
|
2190
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2084
2191
|
]
|
|
2085
2192
|
}
|
|
2086
2193
|
) : null
|
|
@@ -2094,7 +2201,7 @@ DialogContent.displayName = DialogPrimitive2.Content.displayName;
|
|
|
2094
2201
|
var DialogHeader = ({
|
|
2095
2202
|
className,
|
|
2096
2203
|
...props
|
|
2097
|
-
}) => /* @__PURE__ */ (0,
|
|
2204
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2098
2205
|
"div",
|
|
2099
2206
|
{
|
|
2100
2207
|
"data-slot": "dialog-header",
|
|
@@ -2111,7 +2218,7 @@ DialogHeader.displayName = "DialogHeader";
|
|
|
2111
2218
|
var DialogFooter = ({
|
|
2112
2219
|
className,
|
|
2113
2220
|
...props
|
|
2114
|
-
}) => /* @__PURE__ */ (0,
|
|
2221
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2115
2222
|
"div",
|
|
2116
2223
|
{
|
|
2117
2224
|
"data-slot": "dialog-footer",
|
|
@@ -2125,7 +2232,7 @@ var DialogFooter = ({
|
|
|
2125
2232
|
}
|
|
2126
2233
|
);
|
|
2127
2234
|
DialogFooter.displayName = "DialogFooter";
|
|
2128
|
-
var DialogTitle =
|
|
2235
|
+
var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2129
2236
|
DialogPrimitive2.Title,
|
|
2130
2237
|
{
|
|
2131
2238
|
ref,
|
|
@@ -2135,7 +2242,7 @@ var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2135
2242
|
}
|
|
2136
2243
|
));
|
|
2137
2244
|
DialogTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
2138
|
-
var DialogDescription =
|
|
2245
|
+
var DialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2139
2246
|
DialogPrimitive2.Description,
|
|
2140
2247
|
{
|
|
2141
2248
|
ref,
|
|
@@ -2148,8 +2255,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
|
2148
2255
|
|
|
2149
2256
|
// src/dropdown-menu.tsx
|
|
2150
2257
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
2151
|
-
var
|
|
2152
|
-
var
|
|
2258
|
+
var React18 = __toESM(require("react"), 1);
|
|
2259
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2153
2260
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2154
2261
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2155
2262
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -2159,7 +2266,7 @@ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
|
2159
2266
|
var MENU_SURFACE_CLASS = "z-[10001] min-w-[8rem] max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden overscroll-contain rounded-md border bg-popover p-1 text-popover-foreground";
|
|
2160
2267
|
var MENU_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
2161
2268
|
var MENU_INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
2162
|
-
var DropdownMenuSubTrigger =
|
|
2269
|
+
var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2163
2270
|
DropdownMenuPrimitive.SubTrigger,
|
|
2164
2271
|
{
|
|
2165
2272
|
ref,
|
|
@@ -2172,12 +2279,12 @@ var DropdownMenuSubTrigger = React17.forwardRef(({ className, inset, children, .
|
|
|
2172
2279
|
...props,
|
|
2173
2280
|
children: [
|
|
2174
2281
|
children,
|
|
2175
|
-
/* @__PURE__ */ (0,
|
|
2282
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
2176
2283
|
]
|
|
2177
2284
|
}
|
|
2178
2285
|
));
|
|
2179
2286
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
2180
|
-
var DropdownMenuSubContent =
|
|
2287
|
+
var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2181
2288
|
DropdownMenuPrimitive.SubContent,
|
|
2182
2289
|
{
|
|
2183
2290
|
ref,
|
|
@@ -2187,9 +2294,9 @@ var DropdownMenuSubContent = React17.forwardRef(({ className, ...props }, ref) =
|
|
|
2187
2294
|
}
|
|
2188
2295
|
));
|
|
2189
2296
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
2190
|
-
var DropdownMenuContent =
|
|
2297
|
+
var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
|
|
2191
2298
|
const portalContainer = usePortalContainer(container);
|
|
2192
|
-
return /* @__PURE__ */ (0,
|
|
2299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2193
2300
|
DropdownMenuPrimitive.Content,
|
|
2194
2301
|
{
|
|
2195
2302
|
ref,
|
|
@@ -2206,7 +2313,7 @@ var DropdownMenuContent = React17.forwardRef(({ className, sideOffset = 4, conta
|
|
|
2206
2313
|
) });
|
|
2207
2314
|
});
|
|
2208
2315
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2209
|
-
var DropdownMenuItem =
|
|
2316
|
+
var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2210
2317
|
DropdownMenuPrimitive.Item,
|
|
2211
2318
|
{
|
|
2212
2319
|
ref,
|
|
@@ -2216,7 +2323,7 @@ var DropdownMenuItem = React17.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2216
2323
|
}
|
|
2217
2324
|
));
|
|
2218
2325
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2219
|
-
var DropdownMenuCheckboxItem =
|
|
2326
|
+
var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2220
2327
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2221
2328
|
{
|
|
2222
2329
|
ref,
|
|
@@ -2224,13 +2331,13 @@ var DropdownMenuCheckboxItem = React17.forwardRef(({ className, children, ...pro
|
|
|
2224
2331
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
2225
2332
|
...props,
|
|
2226
2333
|
children: [
|
|
2227
|
-
/* @__PURE__ */ (0,
|
|
2334
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
2228
2335
|
children
|
|
2229
2336
|
]
|
|
2230
2337
|
}
|
|
2231
2338
|
));
|
|
2232
2339
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2233
|
-
var DropdownMenuRadioItem =
|
|
2340
|
+
var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2234
2341
|
DropdownMenuPrimitive.RadioItem,
|
|
2235
2342
|
{
|
|
2236
2343
|
ref,
|
|
@@ -2238,13 +2345,13 @@ var DropdownMenuRadioItem = React17.forwardRef(({ className, children, ...props
|
|
|
2238
2345
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
2239
2346
|
...props,
|
|
2240
2347
|
children: [
|
|
2241
|
-
/* @__PURE__ */ (0,
|
|
2348
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
2242
2349
|
children
|
|
2243
2350
|
]
|
|
2244
2351
|
}
|
|
2245
2352
|
));
|
|
2246
2353
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2247
|
-
var DropdownMenuLabel =
|
|
2354
|
+
var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2248
2355
|
DropdownMenuPrimitive.Label,
|
|
2249
2356
|
{
|
|
2250
2357
|
ref,
|
|
@@ -2254,7 +2361,7 @@ var DropdownMenuLabel = React17.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2254
2361
|
}
|
|
2255
2362
|
));
|
|
2256
2363
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2257
|
-
var DropdownMenuSeparator =
|
|
2364
|
+
var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2258
2365
|
DropdownMenuPrimitive.Separator,
|
|
2259
2366
|
{
|
|
2260
2367
|
ref,
|
|
@@ -2267,7 +2374,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
|
2267
2374
|
var DropdownMenuShortcut = ({
|
|
2268
2375
|
className,
|
|
2269
2376
|
...props
|
|
2270
|
-
}) => /* @__PURE__ */ (0,
|
|
2377
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2271
2378
|
"span",
|
|
2272
2379
|
{
|
|
2273
2380
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2279,7 +2386,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
2279
2386
|
|
|
2280
2387
|
// src/editable-label.tsx
|
|
2281
2388
|
var import_react2 = require("react");
|
|
2282
|
-
var
|
|
2389
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2283
2390
|
function EditableLabel({
|
|
2284
2391
|
value,
|
|
2285
2392
|
onCommit,
|
|
@@ -2386,8 +2493,8 @@ function EditableLabel({
|
|
|
2386
2493
|
setEditing
|
|
2387
2494
|
]);
|
|
2388
2495
|
if (editing) {
|
|
2389
|
-
return /* @__PURE__ */ (0,
|
|
2390
|
-
/* @__PURE__ */ (0,
|
|
2496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
|
|
2497
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2391
2498
|
"input",
|
|
2392
2499
|
{
|
|
2393
2500
|
ref: inputRef,
|
|
@@ -2427,12 +2534,12 @@ function EditableLabel({
|
|
|
2427
2534
|
)
|
|
2428
2535
|
}
|
|
2429
2536
|
),
|
|
2430
|
-
busy && /* @__PURE__ */ (0,
|
|
2431
|
-
error && /* @__PURE__ */ (0,
|
|
2537
|
+
busy && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
|
|
2538
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
|
|
2432
2539
|
] });
|
|
2433
2540
|
}
|
|
2434
2541
|
if (controlled) return null;
|
|
2435
|
-
return /* @__PURE__ */ (0,
|
|
2542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2436
2543
|
"button",
|
|
2437
2544
|
{
|
|
2438
2545
|
type: "button",
|
|
@@ -2466,8 +2573,8 @@ function EditableLabel({
|
|
|
2466
2573
|
}
|
|
2467
2574
|
|
|
2468
2575
|
// src/input.tsx
|
|
2469
|
-
var
|
|
2470
|
-
var
|
|
2576
|
+
var React19 = __toESM(require("react"), 1);
|
|
2577
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2471
2578
|
var getVariantStyles = (variant = "default") => {
|
|
2472
2579
|
const baseStyles = `flex h-10 w-full border border-border bg-background text-foreground shadow-input rounded-md px-3 py-2 text-sm file:border-0 file:bg-transparent
|
|
2473
2580
|
file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
|
|
@@ -2495,9 +2602,9 @@ var getVariantStyles = (variant = "default") => {
|
|
|
2495
2602
|
return baseStyles;
|
|
2496
2603
|
}
|
|
2497
2604
|
};
|
|
2498
|
-
var Input =
|
|
2605
|
+
var Input = React19.forwardRef(
|
|
2499
2606
|
({ className, type, variant = "default", ...props }, ref) => {
|
|
2500
|
-
return /* @__PURE__ */ (0,
|
|
2607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2501
2608
|
"input",
|
|
2502
2609
|
{
|
|
2503
2610
|
type,
|
|
@@ -2509,7 +2616,7 @@ var Input = React18.forwardRef(
|
|
|
2509
2616
|
}
|
|
2510
2617
|
);
|
|
2511
2618
|
Input.displayName = "Input";
|
|
2512
|
-
var EnterInput =
|
|
2619
|
+
var EnterInput = React19.forwardRef(
|
|
2513
2620
|
({ onEnter, ...props }, ref) => {
|
|
2514
2621
|
const handleKeyDown = (e) => {
|
|
2515
2622
|
if (e.key === "Enter" && onEnter) {
|
|
@@ -2517,7 +2624,7 @@ var EnterInput = React18.forwardRef(
|
|
|
2517
2624
|
onEnter();
|
|
2518
2625
|
}
|
|
2519
2626
|
};
|
|
2520
|
-
return /* @__PURE__ */ (0,
|
|
2627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2521
2628
|
Input,
|
|
2522
2629
|
{
|
|
2523
2630
|
...props,
|
|
@@ -2533,11 +2640,11 @@ var EnterInput = React18.forwardRef(
|
|
|
2533
2640
|
}
|
|
2534
2641
|
);
|
|
2535
2642
|
EnterInput.displayName = "EnterInput";
|
|
2536
|
-
var BasicInput =
|
|
2643
|
+
var BasicInput = React19.forwardRef(
|
|
2537
2644
|
// `variant` is accepted (prop-compatible with Input) but intentionally
|
|
2538
2645
|
// unused — and destructured so it never leaks onto the DOM element.
|
|
2539
2646
|
({ className, type, variant: _variant = "default", ...props }, ref) => {
|
|
2540
|
-
return /* @__PURE__ */ (0,
|
|
2647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2541
2648
|
"input",
|
|
2542
2649
|
{
|
|
2543
2650
|
type,
|
|
@@ -2552,10 +2659,10 @@ var BasicInput = React18.forwardRef(
|
|
|
2552
2659
|
}
|
|
2553
2660
|
);
|
|
2554
2661
|
BasicInput.displayName = "BasicInput";
|
|
2555
|
-
var InputWithPrefix =
|
|
2556
|
-
return /* @__PURE__ */ (0,
|
|
2557
|
-
prefix && /* @__PURE__ */ (0,
|
|
2558
|
-
/* @__PURE__ */ (0,
|
|
2662
|
+
var InputWithPrefix = React19.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
|
|
2663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
|
|
2664
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
|
|
2665
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2559
2666
|
Input,
|
|
2560
2667
|
{
|
|
2561
2668
|
ref,
|
|
@@ -2569,9 +2676,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
|
|
|
2569
2676
|
|
|
2570
2677
|
// src/label.tsx
|
|
2571
2678
|
var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
|
|
2572
|
-
var
|
|
2573
|
-
var
|
|
2574
|
-
var Label3 =
|
|
2679
|
+
var React20 = __toESM(require("react"), 1);
|
|
2680
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2681
|
+
var Label3 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2575
2682
|
LabelPrimitive.Root,
|
|
2576
2683
|
{
|
|
2577
2684
|
ref,
|
|
@@ -2586,7 +2693,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
|
|
|
2586
2693
|
|
|
2587
2694
|
// src/overflow-toolbar.tsx
|
|
2588
2695
|
var import_react3 = require("react");
|
|
2589
|
-
var
|
|
2696
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2590
2697
|
var GAP_PX = 6;
|
|
2591
2698
|
var TONE = {
|
|
2592
2699
|
default: "border border-border bg-background hover:bg-accent text-foreground",
|
|
@@ -2608,16 +2715,16 @@ function ToolbarButton({
|
|
|
2608
2715
|
action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
|
|
2609
2716
|
TONE[tone]
|
|
2610
2717
|
);
|
|
2611
|
-
const inner = /* @__PURE__ */ (0,
|
|
2612
|
-
/* @__PURE__ */ (0,
|
|
2718
|
+
const inner = /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
2719
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2613
2720
|
Icon2,
|
|
2614
2721
|
{
|
|
2615
2722
|
className: cn("w-3.5 h-3.5 shrink-0", action.running && "matrx-spin")
|
|
2616
2723
|
}
|
|
2617
2724
|
),
|
|
2618
|
-
showLabel && /* @__PURE__ */ (0,
|
|
2725
|
+
showLabel && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: text })
|
|
2619
2726
|
] });
|
|
2620
|
-
const control = action.href && !action.disabled ? /* @__PURE__ */ (0,
|
|
2727
|
+
const control = action.href && !action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2621
2728
|
"a",
|
|
2622
2729
|
{
|
|
2623
2730
|
href: action.href,
|
|
@@ -2627,7 +2734,7 @@ function ToolbarButton({
|
|
|
2627
2734
|
"aria-label": action.label,
|
|
2628
2735
|
children: inner
|
|
2629
2736
|
}
|
|
2630
|
-
) : /* @__PURE__ */ (0,
|
|
2737
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2631
2738
|
"button",
|
|
2632
2739
|
{
|
|
2633
2740
|
type: "button",
|
|
@@ -2639,12 +2746,12 @@ function ToolbarButton({
|
|
|
2639
2746
|
}
|
|
2640
2747
|
);
|
|
2641
2748
|
if (enableTooltip && action.hideLabel && renderTooltip) {
|
|
2642
|
-
return /* @__PURE__ */ (0,
|
|
2749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: renderTooltip(control, action.label) });
|
|
2643
2750
|
}
|
|
2644
2751
|
return control;
|
|
2645
2752
|
}
|
|
2646
2753
|
function OverflowTrigger({ ariaLabel }) {
|
|
2647
|
-
return /* @__PURE__ */ (0,
|
|
2754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2648
2755
|
"button",
|
|
2649
2756
|
{
|
|
2650
2757
|
type: "button",
|
|
@@ -2655,7 +2762,7 @@ function OverflowTrigger({ ariaLabel }) {
|
|
|
2655
2762
|
"inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
|
|
2656
2763
|
"border border-border bg-background hover:bg-accent text-foreground"
|
|
2657
2764
|
),
|
|
2658
|
-
children: /* @__PURE__ */ (0,
|
|
2765
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
|
|
2659
2766
|
}
|
|
2660
2767
|
);
|
|
2661
2768
|
}
|
|
@@ -2715,22 +2822,22 @@ function OverflowToolbar({
|
|
|
2715
2822
|
}, [signature, leading != null]);
|
|
2716
2823
|
const shown = visibleActions.slice(0, visibleCount);
|
|
2717
2824
|
const hidden = visibleActions.slice(visibleCount);
|
|
2718
|
-
return /* @__PURE__ */ (0,
|
|
2719
|
-
/* @__PURE__ */ (0,
|
|
2825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
|
|
2826
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2720
2827
|
"div",
|
|
2721
2828
|
{
|
|
2722
2829
|
ref: ghostRef,
|
|
2723
2830
|
"aria-hidden": true,
|
|
2724
2831
|
className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
|
|
2725
2832
|
children: [
|
|
2726
|
-
visibleActions.map((a) => /* @__PURE__ */ (0,
|
|
2727
|
-
/* @__PURE__ */ (0,
|
|
2833
|
+
visibleActions.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ToolbarButton, { action: a }, a.id)),
|
|
2834
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
2728
2835
|
]
|
|
2729
2836
|
}
|
|
2730
2837
|
),
|
|
2731
|
-
/* @__PURE__ */ (0,
|
|
2732
|
-
leading != null && /* @__PURE__ */ (0,
|
|
2733
|
-
shown.map((a) => /* @__PURE__ */ (0,
|
|
2838
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center justify-end gap-1.5", children: [
|
|
2839
|
+
leading != null && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { ref: leadingRef, className: "shrink-0", children: leading }),
|
|
2840
|
+
shown.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2734
2841
|
ToolbarButton,
|
|
2735
2842
|
{
|
|
2736
2843
|
action: a,
|
|
@@ -2741,7 +2848,7 @@ function OverflowToolbar({
|
|
|
2741
2848
|
)),
|
|
2742
2849
|
hidden.length > 0 && renderOverflowMenu({
|
|
2743
2850
|
actions: hidden,
|
|
2744
|
-
trigger: /* @__PURE__ */ (0,
|
|
2851
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
2745
2852
|
})
|
|
2746
2853
|
] })
|
|
2747
2854
|
] });
|
|
@@ -2749,20 +2856,20 @@ function OverflowToolbar({
|
|
|
2749
2856
|
|
|
2750
2857
|
// src/progress.tsx
|
|
2751
2858
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
|
|
2752
|
-
var
|
|
2753
|
-
var
|
|
2859
|
+
var React22 = __toESM(require("react"), 1);
|
|
2860
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2754
2861
|
var PROGRESS_TONES = {
|
|
2755
2862
|
default: "bg-primary",
|
|
2756
2863
|
success: "bg-success",
|
|
2757
2864
|
warning: "bg-warning",
|
|
2758
2865
|
destructive: "bg-destructive"
|
|
2759
2866
|
};
|
|
2760
|
-
var Progress =
|
|
2867
|
+
var Progress = React22.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
|
|
2761
2868
|
const { value, max } = props;
|
|
2762
2869
|
const ceiling = max ?? 100;
|
|
2763
2870
|
const isIndeterminate = value === null || value === void 0;
|
|
2764
2871
|
const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
|
|
2765
|
-
return /* @__PURE__ */ (0,
|
|
2872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2766
2873
|
ProgressPrimitive.Root,
|
|
2767
2874
|
{
|
|
2768
2875
|
ref,
|
|
@@ -2772,7 +2879,7 @@ var Progress = React21.forwardRef(({ className, tone = "default", indicatorClass
|
|
|
2772
2879
|
className
|
|
2773
2880
|
),
|
|
2774
2881
|
...props,
|
|
2775
|
-
children: /* @__PURE__ */ (0,
|
|
2882
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2776
2883
|
ProgressPrimitive.Indicator,
|
|
2777
2884
|
{
|
|
2778
2885
|
"data-slot": "progress-indicator",
|
|
@@ -2792,9 +2899,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
|
2792
2899
|
|
|
2793
2900
|
// src/scroll-area.tsx
|
|
2794
2901
|
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
2795
|
-
var
|
|
2796
|
-
var
|
|
2797
|
-
var ScrollArea =
|
|
2902
|
+
var React23 = __toESM(require("react"), 1);
|
|
2903
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2904
|
+
var ScrollArea = React23.forwardRef(
|
|
2798
2905
|
({
|
|
2799
2906
|
className,
|
|
2800
2907
|
children,
|
|
@@ -2803,7 +2910,7 @@ var ScrollArea = React22.forwardRef(
|
|
|
2803
2910
|
scrollBarClassName,
|
|
2804
2911
|
orientation = "vertical",
|
|
2805
2912
|
...props
|
|
2806
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
2913
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2807
2914
|
ScrollAreaPrimitive.Root,
|
|
2808
2915
|
{
|
|
2809
2916
|
ref,
|
|
@@ -2811,7 +2918,7 @@ var ScrollArea = React22.forwardRef(
|
|
|
2811
2918
|
className: cn("relative overflow-hidden", className),
|
|
2812
2919
|
...props,
|
|
2813
2920
|
children: [
|
|
2814
|
-
/* @__PURE__ */ (0,
|
|
2921
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2815
2922
|
ScrollAreaPrimitive.Viewport,
|
|
2816
2923
|
{
|
|
2817
2924
|
ref: viewportRef,
|
|
@@ -2820,14 +2927,14 @@ var ScrollArea = React22.forwardRef(
|
|
|
2820
2927
|
children
|
|
2821
2928
|
}
|
|
2822
2929
|
),
|
|
2823
|
-
/* @__PURE__ */ (0,
|
|
2824
|
-
/* @__PURE__ */ (0,
|
|
2930
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollBar, { orientation, className: scrollBarClassName }),
|
|
2931
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollAreaPrimitive.Corner, {})
|
|
2825
2932
|
]
|
|
2826
2933
|
}
|
|
2827
2934
|
)
|
|
2828
2935
|
);
|
|
2829
2936
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2830
|
-
var ScrollBar =
|
|
2937
|
+
var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2831
2938
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2832
2939
|
{
|
|
2833
2940
|
ref,
|
|
@@ -2840,7 +2947,7 @@ var ScrollBar = React22.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2840
2947
|
className
|
|
2841
2948
|
),
|
|
2842
2949
|
...props,
|
|
2843
|
-
children: /* @__PURE__ */ (0,
|
|
2950
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2844
2951
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
2845
2952
|
{
|
|
2846
2953
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2852,7 +2959,7 @@ var ScrollBar = React22.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2852
2959
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2853
2960
|
|
|
2854
2961
|
// src/score-ring.tsx
|
|
2855
|
-
var
|
|
2962
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2856
2963
|
var DEFAULT_SCORE_THRESHOLDS = {
|
|
2857
2964
|
good: 75,
|
|
2858
2965
|
warning: 50
|
|
@@ -2883,7 +2990,7 @@ function ScoreRing({
|
|
|
2883
2990
|
const circumference = 2 * Math.PI * radius;
|
|
2884
2991
|
const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
|
|
2885
2992
|
const dashOffset = circumference * (1 - boundedPct / 100);
|
|
2886
|
-
return /* @__PURE__ */ (0,
|
|
2993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2887
2994
|
"div",
|
|
2888
2995
|
{
|
|
2889
2996
|
className: cn(
|
|
@@ -2894,8 +3001,8 @@ function ScoreRing({
|
|
|
2894
3001
|
role: "img",
|
|
2895
3002
|
"aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
|
|
2896
3003
|
children: [
|
|
2897
|
-
/* @__PURE__ */ (0,
|
|
2898
|
-
/* @__PURE__ */ (0,
|
|
3004
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
|
|
3005
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2899
3006
|
"circle",
|
|
2900
3007
|
{
|
|
2901
3008
|
cx: "50",
|
|
@@ -2906,7 +3013,7 @@ function ScoreRing({
|
|
|
2906
3013
|
fill: "none"
|
|
2907
3014
|
}
|
|
2908
3015
|
),
|
|
2909
|
-
pct !== null ? /* @__PURE__ */ (0,
|
|
3016
|
+
pct !== null ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2910
3017
|
"circle",
|
|
2911
3018
|
{
|
|
2912
3019
|
cx: "50",
|
|
@@ -2925,8 +3032,8 @@ function ScoreRing({
|
|
|
2925
3032
|
}
|
|
2926
3033
|
) : null
|
|
2927
3034
|
] }),
|
|
2928
|
-
/* @__PURE__ */ (0,
|
|
2929
|
-
/* @__PURE__ */ (0,
|
|
3035
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "absolute flex flex-col items-center justify-center", children: [
|
|
3036
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2930
3037
|
"span",
|
|
2931
3038
|
{
|
|
2932
3039
|
className: cn(
|
|
@@ -2936,7 +3043,7 @@ function ScoreRing({
|
|
|
2936
3043
|
children: pct === null ? "\u2014" : `${pct}${suffix}`
|
|
2937
3044
|
}
|
|
2938
3045
|
),
|
|
2939
|
-
label ? /* @__PURE__ */ (0,
|
|
3046
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
|
|
2940
3047
|
] })
|
|
2941
3048
|
]
|
|
2942
3049
|
}
|
|
@@ -2944,7 +3051,7 @@ function ScoreRing({
|
|
|
2944
3051
|
}
|
|
2945
3052
|
|
|
2946
3053
|
// src/segmented-control.tsx
|
|
2947
|
-
var
|
|
3054
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2948
3055
|
function SegmentedControl({
|
|
2949
3056
|
value,
|
|
2950
3057
|
onValueChange,
|
|
@@ -2959,7 +3066,7 @@ function SegmentedControl({
|
|
|
2959
3066
|
md: "h-9 text-sm",
|
|
2960
3067
|
lg: "h-10 text-base"
|
|
2961
3068
|
};
|
|
2962
|
-
return /* @__PURE__ */ (0,
|
|
3069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2963
3070
|
"div",
|
|
2964
3071
|
{
|
|
2965
3072
|
className: cn(
|
|
@@ -2970,7 +3077,7 @@ function SegmentedControl({
|
|
|
2970
3077
|
role: "tablist",
|
|
2971
3078
|
children: data.map((option) => {
|
|
2972
3079
|
const isActive = value === option.value;
|
|
2973
|
-
return /* @__PURE__ */ (0,
|
|
3080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2974
3081
|
"button",
|
|
2975
3082
|
{
|
|
2976
3083
|
type: "button",
|
|
@@ -2997,8 +3104,8 @@ function SegmentedControl({
|
|
|
2997
3104
|
// src/select.tsx
|
|
2998
3105
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2999
3106
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
3000
|
-
var
|
|
3001
|
-
var
|
|
3107
|
+
var React24 = __toESM(require("react"), 1);
|
|
3108
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
3002
3109
|
var Select = SelectPrimitive.Root;
|
|
3003
3110
|
var SelectGroup = SelectPrimitive.Group;
|
|
3004
3111
|
var SelectValue = SelectPrimitive.Value;
|
|
@@ -3017,7 +3124,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
|
|
|
3017
3124
|
}
|
|
3018
3125
|
}
|
|
3019
3126
|
);
|
|
3020
|
-
var SelectTrigger =
|
|
3127
|
+
var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3021
3128
|
SelectPrimitive.Trigger,
|
|
3022
3129
|
{
|
|
3023
3130
|
ref,
|
|
@@ -3025,12 +3132,12 @@ var SelectTrigger = React23.forwardRef(({ className, children, hideArrow = false
|
|
|
3025
3132
|
...props,
|
|
3026
3133
|
children: [
|
|
3027
3134
|
children,
|
|
3028
|
-
!hideArrow && /* @__PURE__ */ (0,
|
|
3135
|
+
!hideArrow && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
3029
3136
|
]
|
|
3030
3137
|
}
|
|
3031
3138
|
));
|
|
3032
3139
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
3033
|
-
var SelectScrollUpButton =
|
|
3140
|
+
var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3034
3141
|
SelectPrimitive.ScrollUpButton,
|
|
3035
3142
|
{
|
|
3036
3143
|
ref,
|
|
@@ -3039,11 +3146,11 @@ var SelectScrollUpButton = React23.forwardRef(({ className, ...props }, ref) =>
|
|
|
3039
3146
|
className
|
|
3040
3147
|
),
|
|
3041
3148
|
...props,
|
|
3042
|
-
children: /* @__PURE__ */ (0,
|
|
3149
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronUpIcon, {})
|
|
3043
3150
|
}
|
|
3044
3151
|
));
|
|
3045
3152
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
3046
|
-
var SelectScrollDownButton =
|
|
3153
|
+
var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3047
3154
|
SelectPrimitive.ScrollDownButton,
|
|
3048
3155
|
{
|
|
3049
3156
|
ref,
|
|
@@ -3052,11 +3159,11 @@ var SelectScrollDownButton = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
3052
3159
|
className
|
|
3053
3160
|
),
|
|
3054
3161
|
...props,
|
|
3055
|
-
children: /* @__PURE__ */ (0,
|
|
3162
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, {})
|
|
3056
3163
|
}
|
|
3057
3164
|
));
|
|
3058
3165
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
3059
|
-
var SelectContent =
|
|
3166
|
+
var SelectContent = React24.forwardRef(
|
|
3060
3167
|
({
|
|
3061
3168
|
className,
|
|
3062
3169
|
children,
|
|
@@ -3066,26 +3173,21 @@ var SelectContent = React23.forwardRef(
|
|
|
3066
3173
|
...props
|
|
3067
3174
|
}, ref) => {
|
|
3068
3175
|
const portalContainer = usePortalContainer(container);
|
|
3069
|
-
return /* @__PURE__ */ (0,
|
|
3176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3070
3177
|
SelectPrimitive.Content,
|
|
3071
3178
|
{
|
|
3072
3179
|
ref,
|
|
3073
3180
|
className: cn(
|
|
3074
3181
|
"relative z-[10001] max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md",
|
|
3075
3182
|
animated && MOTION_POPPER,
|
|
3076
|
-
|
|
3077
|
-
// (POPPER_OFFSET), never Tailwind translate utilities: those compose
|
|
3078
|
-
// with `transform` on a v4 host and are REPLACED by it on a v3 one,
|
|
3079
|
-
// so on v3 the animation ate the gap and the surface snapped 4px at
|
|
3080
|
-
// the end. Same law as the centred dialog card — see motion.ts.
|
|
3081
|
-
position === "popper" && POPPER_OFFSET,
|
|
3183
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
3082
3184
|
className
|
|
3083
3185
|
),
|
|
3084
3186
|
position,
|
|
3085
3187
|
...props,
|
|
3086
3188
|
children: [
|
|
3087
|
-
/* @__PURE__ */ (0,
|
|
3088
|
-
/* @__PURE__ */ (0,
|
|
3189
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollUpButton, {}),
|
|
3190
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3089
3191
|
SelectPrimitive.Viewport,
|
|
3090
3192
|
{
|
|
3091
3193
|
className: cn(
|
|
@@ -3095,14 +3197,14 @@ var SelectContent = React23.forwardRef(
|
|
|
3095
3197
|
children
|
|
3096
3198
|
}
|
|
3097
3199
|
),
|
|
3098
|
-
/* @__PURE__ */ (0,
|
|
3200
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollDownButton, {})
|
|
3099
3201
|
]
|
|
3100
3202
|
}
|
|
3101
3203
|
) });
|
|
3102
3204
|
}
|
|
3103
3205
|
);
|
|
3104
3206
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
3105
|
-
var SelectLabel =
|
|
3207
|
+
var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3106
3208
|
SelectPrimitive.Label,
|
|
3107
3209
|
{
|
|
3108
3210
|
ref,
|
|
@@ -3111,7 +3213,7 @@ var SelectLabel = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3111
3213
|
}
|
|
3112
3214
|
));
|
|
3113
3215
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
3114
|
-
var SelectItem =
|
|
3216
|
+
var SelectItem = React24.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3115
3217
|
SelectPrimitive.Item,
|
|
3116
3218
|
{
|
|
3117
3219
|
ref,
|
|
@@ -3122,14 +3224,14 @@ var SelectItem = React23.forwardRef(({ className, children, description, ...prop
|
|
|
3122
3224
|
),
|
|
3123
3225
|
...props,
|
|
3124
3226
|
children: [
|
|
3125
|
-
/* @__PURE__ */ (0,
|
|
3126
|
-
/* @__PURE__ */ (0,
|
|
3127
|
-
description ? /* @__PURE__ */ (0,
|
|
3227
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
3228
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemText, { children }),
|
|
3229
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
|
|
3128
3230
|
]
|
|
3129
3231
|
}
|
|
3130
3232
|
));
|
|
3131
3233
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
3132
|
-
var SelectSeparator =
|
|
3234
|
+
var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3133
3235
|
SelectPrimitive.Separator,
|
|
3134
3236
|
{
|
|
3135
3237
|
ref,
|
|
@@ -3141,9 +3243,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3141
3243
|
|
|
3142
3244
|
// src/separator.tsx
|
|
3143
3245
|
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
|
|
3144
|
-
var
|
|
3145
|
-
var
|
|
3146
|
-
var Separator4 =
|
|
3246
|
+
var React25 = __toESM(require("react"), 1);
|
|
3247
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3248
|
+
var Separator4 = React25.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3147
3249
|
SeparatorPrimitive.Root,
|
|
3148
3250
|
{
|
|
3149
3251
|
ref,
|
|
@@ -3163,11 +3265,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
3163
3265
|
var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
3164
3266
|
var import_react_tree4 = require("@ai-matrx/kit/react-tree");
|
|
3165
3267
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
3166
|
-
var
|
|
3167
|
-
var
|
|
3168
|
-
var SheetContentBase =
|
|
3268
|
+
var React26 = __toESM(require("react"), 1);
|
|
3269
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3270
|
+
var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
|
|
3169
3271
|
const isModal = useRadixDialogModal();
|
|
3170
|
-
return /* @__PURE__ */ (0,
|
|
3272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3171
3273
|
SheetPrimitive.Content,
|
|
3172
3274
|
{
|
|
3173
3275
|
...props,
|
|
@@ -3177,15 +3279,15 @@ var SheetContentBase = React25.forwardRef(({ ...props }, ref) => {
|
|
|
3177
3279
|
);
|
|
3178
3280
|
});
|
|
3179
3281
|
SheetContentBase.displayName = "SheetContentBase";
|
|
3180
|
-
var Sheet =
|
|
3282
|
+
var Sheet = React26.forwardRef(({ children, ...props }, _ref) => {
|
|
3181
3283
|
const modal = props.modal ?? true;
|
|
3182
|
-
return /* @__PURE__ */ (0,
|
|
3284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
|
|
3183
3285
|
});
|
|
3184
3286
|
Sheet.displayName = "Sheet";
|
|
3185
3287
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
3186
3288
|
var SheetClose = SheetPrimitive.Close;
|
|
3187
3289
|
var SheetPortal = SheetPrimitive.Portal;
|
|
3188
|
-
var SheetOverlay =
|
|
3290
|
+
var SheetOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3189
3291
|
SheetPrimitive.Overlay,
|
|
3190
3292
|
{
|
|
3191
3293
|
className: cn(
|
|
@@ -3222,7 +3324,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
|
|
|
3222
3324
|
}
|
|
3223
3325
|
}
|
|
3224
3326
|
);
|
|
3225
|
-
var SheetDescription =
|
|
3327
|
+
var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3226
3328
|
SheetPrimitive.Description,
|
|
3227
3329
|
{
|
|
3228
3330
|
ref,
|
|
@@ -3231,7 +3333,7 @@ var SheetDescription = React25.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3231
3333
|
}
|
|
3232
3334
|
));
|
|
3233
3335
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
3234
|
-
var SheetContent =
|
|
3336
|
+
var SheetContent = React26.forwardRef(
|
|
3235
3337
|
({
|
|
3236
3338
|
side = "right",
|
|
3237
3339
|
className,
|
|
@@ -3243,9 +3345,9 @@ var SheetContent = React25.forwardRef(
|
|
|
3243
3345
|
...props
|
|
3244
3346
|
}, ref) => {
|
|
3245
3347
|
const hasDescription = (0, import_react_tree4.treeContainsComponent)(children, SheetDescription) || (0, import_react_tree4.treeContainsComponent)(children, SheetPrimitive.Description);
|
|
3246
|
-
return /* @__PURE__ */ (0,
|
|
3247
|
-
!hideOverlay && /* @__PURE__ */ (0,
|
|
3248
|
-
/* @__PURE__ */ (0,
|
|
3348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPortal, { children: [
|
|
3349
|
+
!hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetOverlay, { className: overlayClassName }),
|
|
3350
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
3249
3351
|
SheetContentBase,
|
|
3250
3352
|
{
|
|
3251
3353
|
ref,
|
|
@@ -3257,9 +3359,9 @@ var SheetContent = React25.forwardRef(
|
|
|
3257
3359
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
3258
3360
|
...props,
|
|
3259
3361
|
children: [
|
|
3260
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
3261
|
-
/* @__PURE__ */ (0,
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3362
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
3363
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Cross2Icon, { className: "h-4 w-4" }),
|
|
3364
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "Close" })
|
|
3263
3365
|
] }),
|
|
3264
3366
|
children
|
|
3265
3367
|
]
|
|
@@ -3272,7 +3374,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
3272
3374
|
var SheetHeader = ({
|
|
3273
3375
|
className,
|
|
3274
3376
|
...props
|
|
3275
|
-
}) => /* @__PURE__ */ (0,
|
|
3377
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3276
3378
|
"div",
|
|
3277
3379
|
{
|
|
3278
3380
|
className: cn(
|
|
@@ -3286,7 +3388,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
3286
3388
|
var SheetFooter = ({
|
|
3287
3389
|
className,
|
|
3288
3390
|
...props
|
|
3289
|
-
}) => /* @__PURE__ */ (0,
|
|
3391
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3290
3392
|
"div",
|
|
3291
3393
|
{
|
|
3292
3394
|
className: cn(
|
|
@@ -3297,7 +3399,7 @@ var SheetFooter = ({
|
|
|
3297
3399
|
}
|
|
3298
3400
|
);
|
|
3299
3401
|
SheetFooter.displayName = "SheetFooter";
|
|
3300
|
-
var SheetTitle =
|
|
3402
|
+
var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3301
3403
|
SheetPrimitive.Title,
|
|
3302
3404
|
{
|
|
3303
3405
|
ref,
|
|
@@ -3308,9 +3410,9 @@ var SheetTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3308
3410
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3309
3411
|
|
|
3310
3412
|
// src/skeleton.tsx
|
|
3311
|
-
var
|
|
3413
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
3312
3414
|
function Skeleton({ className, animated = true, ...props }) {
|
|
3313
|
-
return /* @__PURE__ */ (0,
|
|
3415
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3314
3416
|
"div",
|
|
3315
3417
|
{
|
|
3316
3418
|
"data-slot": "skeleton",
|
|
@@ -3326,8 +3428,8 @@ function Skeleton({ className, animated = true, ...props }) {
|
|
|
3326
3428
|
|
|
3327
3429
|
// src/switch.tsx
|
|
3328
3430
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
3329
|
-
var
|
|
3330
|
-
var
|
|
3431
|
+
var React27 = __toESM(require("react"), 1);
|
|
3432
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3331
3433
|
var SWITCH_SIZES = {
|
|
3332
3434
|
sm: {
|
|
3333
3435
|
root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
|
|
@@ -3338,7 +3440,7 @@ var SWITCH_SIZES = {
|
|
|
3338
3440
|
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
3339
3441
|
}
|
|
3340
3442
|
};
|
|
3341
|
-
var Switch =
|
|
3443
|
+
var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3342
3444
|
SwitchPrimitives.Root,
|
|
3343
3445
|
{
|
|
3344
3446
|
ref,
|
|
@@ -3349,7 +3451,7 @@ var Switch = React26.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3349
3451
|
className
|
|
3350
3452
|
),
|
|
3351
3453
|
...props,
|
|
3352
|
-
children: /* @__PURE__ */ (0,
|
|
3454
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3353
3455
|
SwitchPrimitives.Thumb,
|
|
3354
3456
|
{
|
|
3355
3457
|
"data-slot": "switch-thumb",
|
|
@@ -3365,7 +3467,7 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
|
3365
3467
|
|
|
3366
3468
|
// src/tabbed-bottom-sheet.tsx
|
|
3367
3469
|
var import_react4 = require("react");
|
|
3368
|
-
var
|
|
3470
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3369
3471
|
function TabbedBottomSheet({
|
|
3370
3472
|
open,
|
|
3371
3473
|
onOpenChange,
|
|
@@ -3379,15 +3481,15 @@ function TabbedBottomSheet({
|
|
|
3379
3481
|
if (open) setSelectedTabId(null);
|
|
3380
3482
|
}
|
|
3381
3483
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
3382
|
-
return /* @__PURE__ */ (0,
|
|
3484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3383
3485
|
BottomSheet,
|
|
3384
3486
|
{
|
|
3385
3487
|
open,
|
|
3386
3488
|
onOpenChange,
|
|
3387
3489
|
title,
|
|
3388
3490
|
size: "full",
|
|
3389
|
-
children: /* @__PURE__ */ (0,
|
|
3390
|
-
/* @__PURE__ */ (0,
|
|
3491
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
3492
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3391
3493
|
BottomSheetHeader,
|
|
3392
3494
|
{
|
|
3393
3495
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -3395,19 +3497,19 @@ function TabbedBottomSheet({
|
|
|
3395
3497
|
onBack: () => setSelectedTabId(null)
|
|
3396
3498
|
}
|
|
3397
3499
|
),
|
|
3398
|
-
selectedTab ? /* @__PURE__ */ (0,
|
|
3500
|
+
selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
|
|
3399
3501
|
const Icon2 = tab.icon;
|
|
3400
|
-
return /* @__PURE__ */ (0,
|
|
3502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3401
3503
|
"button",
|
|
3402
3504
|
{
|
|
3403
3505
|
type: "button",
|
|
3404
3506
|
onClick: () => setSelectedTabId(tab.id),
|
|
3405
3507
|
className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
|
|
3406
3508
|
children: [
|
|
3407
|
-
Icon2 ? /* @__PURE__ */ (0,
|
|
3408
|
-
/* @__PURE__ */ (0,
|
|
3509
|
+
Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
3510
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
3409
3511
|
tab.trailing,
|
|
3410
|
-
/* @__PURE__ */ (0,
|
|
3512
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
3411
3513
|
]
|
|
3412
3514
|
}
|
|
3413
3515
|
) }, tab.id);
|
|
@@ -3418,19 +3520,19 @@ function TabbedBottomSheet({
|
|
|
3418
3520
|
}
|
|
3419
3521
|
|
|
3420
3522
|
// src/table.tsx
|
|
3421
|
-
var
|
|
3422
|
-
var
|
|
3523
|
+
var React28 = __toESM(require("react"), 1);
|
|
3524
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3423
3525
|
var TABLE_SIZES = {
|
|
3424
3526
|
sm: { head: "px-2", cell: "p-2" },
|
|
3425
3527
|
md: { head: "px-3", cell: "p-3" }
|
|
3426
3528
|
};
|
|
3427
|
-
var TableSizeContext =
|
|
3529
|
+
var TableSizeContext = React28.createContext("md");
|
|
3428
3530
|
function useTableSize() {
|
|
3429
|
-
return
|
|
3531
|
+
return React28.useContext(TableSizeContext);
|
|
3430
3532
|
}
|
|
3431
|
-
var Table =
|
|
3533
|
+
var Table = React28.forwardRef(
|
|
3432
3534
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3433
|
-
const table = /* @__PURE__ */ (0,
|
|
3535
|
+
const table = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3434
3536
|
"table",
|
|
3435
3537
|
{
|
|
3436
3538
|
ref,
|
|
@@ -3440,7 +3542,7 @@ var Table = React27.forwardRef(
|
|
|
3440
3542
|
...props
|
|
3441
3543
|
}
|
|
3442
3544
|
);
|
|
3443
|
-
return /* @__PURE__ */ (0,
|
|
3545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3444
3546
|
"div",
|
|
3445
3547
|
{
|
|
3446
3548
|
"data-slot": "table-wrapper",
|
|
@@ -3451,7 +3553,7 @@ var Table = React27.forwardRef(
|
|
|
3451
3553
|
}
|
|
3452
3554
|
);
|
|
3453
3555
|
Table.displayName = "Table";
|
|
3454
|
-
var TableHeader =
|
|
3556
|
+
var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3455
3557
|
"thead",
|
|
3456
3558
|
{
|
|
3457
3559
|
ref,
|
|
@@ -3465,7 +3567,7 @@ var TableHeader = React27.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3465
3567
|
}
|
|
3466
3568
|
));
|
|
3467
3569
|
TableHeader.displayName = "TableHeader";
|
|
3468
|
-
var TableBody =
|
|
3570
|
+
var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3469
3571
|
"tbody",
|
|
3470
3572
|
{
|
|
3471
3573
|
ref,
|
|
@@ -3475,7 +3577,7 @@ var TableBody = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3475
3577
|
}
|
|
3476
3578
|
));
|
|
3477
3579
|
TableBody.displayName = "TableBody";
|
|
3478
|
-
var TableFooter =
|
|
3580
|
+
var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3479
3581
|
"tfoot",
|
|
3480
3582
|
{
|
|
3481
3583
|
ref,
|
|
@@ -3488,7 +3590,7 @@ var TableFooter = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3488
3590
|
}
|
|
3489
3591
|
));
|
|
3490
3592
|
TableFooter.displayName = "TableFooter";
|
|
3491
|
-
var TableRow =
|
|
3593
|
+
var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3492
3594
|
"tr",
|
|
3493
3595
|
{
|
|
3494
3596
|
ref,
|
|
@@ -3501,9 +3603,9 @@ var TableRow = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3501
3603
|
}
|
|
3502
3604
|
));
|
|
3503
3605
|
TableRow.displayName = "TableRow";
|
|
3504
|
-
var TableHead =
|
|
3606
|
+
var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3505
3607
|
const size = useTableSize();
|
|
3506
|
-
return /* @__PURE__ */ (0,
|
|
3608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3507
3609
|
"th",
|
|
3508
3610
|
{
|
|
3509
3611
|
ref,
|
|
@@ -3518,9 +3620,9 @@ var TableHead = React27.forwardRef(({ className, ...props }, ref) => {
|
|
|
3518
3620
|
);
|
|
3519
3621
|
});
|
|
3520
3622
|
TableHead.displayName = "TableHead";
|
|
3521
|
-
var TableCell =
|
|
3623
|
+
var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3522
3624
|
const size = useTableSize();
|
|
3523
|
-
return /* @__PURE__ */ (0,
|
|
3625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3524
3626
|
"td",
|
|
3525
3627
|
{
|
|
3526
3628
|
ref,
|
|
@@ -3535,7 +3637,7 @@ var TableCell = React27.forwardRef(({ className, ...props }, ref) => {
|
|
|
3535
3637
|
);
|
|
3536
3638
|
});
|
|
3537
3639
|
TableCell.displayName = "TableCell";
|
|
3538
|
-
var TableCaption =
|
|
3640
|
+
var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3539
3641
|
"caption",
|
|
3540
3642
|
{
|
|
3541
3643
|
ref,
|
|
@@ -3548,11 +3650,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
3548
3650
|
|
|
3549
3651
|
// src/tabs.tsx
|
|
3550
3652
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3551
|
-
var
|
|
3552
|
-
var
|
|
3653
|
+
var React29 = __toESM(require("react"), 1);
|
|
3654
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3553
3655
|
var Tabs = TabsPrimitive.Root;
|
|
3554
3656
|
var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
|
|
3555
|
-
var TabsList =
|
|
3657
|
+
var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3556
3658
|
TabsPrimitive.List,
|
|
3557
3659
|
{
|
|
3558
3660
|
ref,
|
|
@@ -3565,7 +3667,7 @@ var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3565
3667
|
}
|
|
3566
3668
|
));
|
|
3567
3669
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3568
|
-
var TabsTrigger =
|
|
3670
|
+
var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3569
3671
|
TabsPrimitive.Trigger,
|
|
3570
3672
|
{
|
|
3571
3673
|
ref,
|
|
@@ -3579,7 +3681,7 @@ var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3579
3681
|
}
|
|
3580
3682
|
));
|
|
3581
3683
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3582
|
-
var TabsTriggerCore =
|
|
3684
|
+
var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3583
3685
|
TabsPrimitive.Trigger,
|
|
3584
3686
|
{
|
|
3585
3687
|
ref,
|
|
@@ -3589,7 +3691,7 @@ var TabsTriggerCore = React28.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
3589
3691
|
}
|
|
3590
3692
|
));
|
|
3591
3693
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
3592
|
-
var TabsContent =
|
|
3694
|
+
var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3593
3695
|
TabsPrimitive.Content,
|
|
3594
3696
|
{
|
|
3595
3697
|
ref,
|
|
@@ -3605,8 +3707,8 @@ var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3605
3707
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3606
3708
|
|
|
3607
3709
|
// src/textarea.tsx
|
|
3608
|
-
var
|
|
3609
|
-
var
|
|
3710
|
+
var React30 = __toESM(require("react"), 1);
|
|
3711
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3610
3712
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
3611
3713
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
3612
3714
|
function getStretchClasses(className) {
|
|
@@ -3619,7 +3721,7 @@ function getStretchClasses(className) {
|
|
|
3619
3721
|
var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
3620
3722
|
var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
3621
3723
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
3622
|
-
|
|
3724
|
+
React30.useEffect(() => {
|
|
3623
3725
|
if (!autoGrow || !ref.current) return;
|
|
3624
3726
|
const textarea = ref.current;
|
|
3625
3727
|
textarea.style.height = "auto";
|
|
@@ -3635,8 +3737,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
3635
3737
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
3636
3738
|
}
|
|
3637
3739
|
function useMergedTextareaRef(forwarded) {
|
|
3638
|
-
const internal =
|
|
3639
|
-
const callback =
|
|
3740
|
+
const internal = React30.useRef(null);
|
|
3741
|
+
const callback = React30.useCallback(
|
|
3640
3742
|
(node) => {
|
|
3641
3743
|
internal.current = node;
|
|
3642
3744
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -3653,13 +3755,13 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
3653
3755
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
3654
3756
|
};
|
|
3655
3757
|
}
|
|
3656
|
-
var Textarea =
|
|
3758
|
+
var Textarea = React30.forwardRef(
|
|
3657
3759
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
3658
3760
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3659
3761
|
const stretchClasses = getStretchClasses(className);
|
|
3660
3762
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
3661
3763
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3662
|
-
const textarea = /* @__PURE__ */ (0,
|
|
3764
|
+
const textarea = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3663
3765
|
"textarea",
|
|
3664
3766
|
{
|
|
3665
3767
|
ref: callback,
|
|
@@ -3675,15 +3777,15 @@ var Textarea = React29.forwardRef(
|
|
|
3675
3777
|
}
|
|
3676
3778
|
);
|
|
3677
3779
|
if (!needsWrapper) return textarea;
|
|
3678
|
-
return /* @__PURE__ */ (0,
|
|
3780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
3679
3781
|
}
|
|
3680
3782
|
);
|
|
3681
3783
|
Textarea.displayName = "Textarea";
|
|
3682
|
-
var BasicTextarea =
|
|
3784
|
+
var BasicTextarea = React30.forwardRef(
|
|
3683
3785
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
3684
3786
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3685
3787
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3686
|
-
return /* @__PURE__ */ (0,
|
|
3788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3687
3789
|
"textarea",
|
|
3688
3790
|
{
|
|
3689
3791
|
ref: callback,
|
|
@@ -3701,7 +3803,7 @@ var BasicTextarea = React29.forwardRef(
|
|
|
3701
3803
|
}
|
|
3702
3804
|
);
|
|
3703
3805
|
BasicTextarea.displayName = "BasicTextarea";
|
|
3704
|
-
var TextareaWithPrefix =
|
|
3806
|
+
var TextareaWithPrefix = React30.forwardRef(
|
|
3705
3807
|
({
|
|
3706
3808
|
prefix,
|
|
3707
3809
|
className,
|
|
@@ -3713,13 +3815,13 @@ var TextareaWithPrefix = React29.forwardRef(
|
|
|
3713
3815
|
}, forwarded) => {
|
|
3714
3816
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3715
3817
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3716
|
-
return /* @__PURE__ */ (0,
|
|
3818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3717
3819
|
"div",
|
|
3718
3820
|
{
|
|
3719
3821
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
3720
3822
|
children: [
|
|
3721
|
-
prefix ? /* @__PURE__ */ (0,
|
|
3722
|
-
/* @__PURE__ */ (0,
|
|
3823
|
+
prefix ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
|
|
3824
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3723
3825
|
"textarea",
|
|
3724
3826
|
{
|
|
3725
3827
|
ref: callback,
|
|
@@ -3798,14 +3900,14 @@ function useScrollFade() {
|
|
|
3798
3900
|
|
|
3799
3901
|
// src/hover-card.tsx
|
|
3800
3902
|
var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
|
|
3801
|
-
var
|
|
3802
|
-
var
|
|
3903
|
+
var React31 = __toESM(require("react"), 1);
|
|
3904
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3803
3905
|
var HoverCard = HoverCardPrimitive.Root;
|
|
3804
3906
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
3805
|
-
var HoverCardContent =
|
|
3907
|
+
var HoverCardContent = React31.forwardRef(
|
|
3806
3908
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
3807
3909
|
const resolved = usePortalContainer(container);
|
|
3808
|
-
return /* @__PURE__ */ (0,
|
|
3910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3809
3911
|
HoverCardPrimitive.Content,
|
|
3810
3912
|
{
|
|
3811
3913
|
ref,
|
|
@@ -3826,9 +3928,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
3826
3928
|
|
|
3827
3929
|
// src/radio-group.tsx
|
|
3828
3930
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
3829
|
-
var
|
|
3830
|
-
var
|
|
3831
|
-
var RadioGroupSizeContext =
|
|
3931
|
+
var React32 = __toESM(require("react"), 1);
|
|
3932
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3933
|
+
var RadioGroupSizeContext = React32.createContext("md");
|
|
3832
3934
|
var CONTROL_CLASSES = {
|
|
3833
3935
|
sm: "h-3.5 w-3.5",
|
|
3834
3936
|
md: "h-4 w-4",
|
|
@@ -3839,7 +3941,7 @@ var DOT_CLASSES = {
|
|
|
3839
3941
|
md: "h-1.5 w-1.5",
|
|
3840
3942
|
lg: "h-2 w-2"
|
|
3841
3943
|
};
|
|
3842
|
-
var RadioGroup3 =
|
|
3944
|
+
var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3843
3945
|
RadioGroupPrimitive.Root,
|
|
3844
3946
|
{
|
|
3845
3947
|
ref,
|
|
@@ -3849,10 +3951,10 @@ var RadioGroup3 = React31.forwardRef(({ className, size = "md", ...props }, ref)
|
|
|
3849
3951
|
}
|
|
3850
3952
|
) }));
|
|
3851
3953
|
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
3852
|
-
var RadioGroupItem =
|
|
3853
|
-
const groupSize =
|
|
3954
|
+
var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) => {
|
|
3955
|
+
const groupSize = React32.useContext(RadioGroupSizeContext);
|
|
3854
3956
|
const resolved = size ?? groupSize;
|
|
3855
|
-
return /* @__PURE__ */ (0,
|
|
3957
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3856
3958
|
RadioGroupPrimitive.Item,
|
|
3857
3959
|
{
|
|
3858
3960
|
ref,
|
|
@@ -3869,7 +3971,7 @@ var RadioGroupItem = React31.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
3869
3971
|
className
|
|
3870
3972
|
),
|
|
3871
3973
|
...props,
|
|
3872
|
-
children: /* @__PURE__ */ (0,
|
|
3974
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3873
3975
|
"div",
|
|
3874
3976
|
{
|
|
3875
3977
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -3882,7 +3984,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
3882
3984
|
|
|
3883
3985
|
// src/resizable.tsx
|
|
3884
3986
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
3885
|
-
var
|
|
3987
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3886
3988
|
var HANDLE_SIZES = {
|
|
3887
3989
|
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3888
3990
|
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
@@ -3896,7 +3998,7 @@ var HANDLE_SIZES = {
|
|
|
3896
3998
|
var ResizablePanelGroup = ({
|
|
3897
3999
|
className,
|
|
3898
4000
|
...props
|
|
3899
|
-
}) => /* @__PURE__ */ (0,
|
|
4001
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3900
4002
|
import_react_resizable_panels.Group,
|
|
3901
4003
|
{
|
|
3902
4004
|
"data-slot": "resizable-group",
|
|
@@ -3911,7 +4013,7 @@ var ResizableHandle = ({
|
|
|
3911
4013
|
size = "xs",
|
|
3912
4014
|
className,
|
|
3913
4015
|
...props
|
|
3914
|
-
}) => /* @__PURE__ */ (0,
|
|
4016
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3915
4017
|
import_react_resizable_panels.Separator,
|
|
3916
4018
|
{
|
|
3917
4019
|
"data-slot": "resizable-handle",
|
|
@@ -3931,15 +4033,15 @@ var ResizableHandle = ({
|
|
|
3931
4033
|
className
|
|
3932
4034
|
),
|
|
3933
4035
|
...props,
|
|
3934
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
4036
|
+
children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
|
|
3935
4037
|
}
|
|
3936
4038
|
);
|
|
3937
4039
|
ResizableHandle.displayName = "ResizableHandle";
|
|
3938
4040
|
|
|
3939
4041
|
// src/slider.tsx
|
|
3940
4042
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
3941
|
-
var
|
|
3942
|
-
var
|
|
4043
|
+
var React33 = __toESM(require("react"), 1);
|
|
4044
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3943
4045
|
var TRACK_CLASSES = {
|
|
3944
4046
|
sm: "h-1",
|
|
3945
4047
|
md: "h-1.5",
|
|
@@ -3950,12 +4052,12 @@ var THUMB_CLASSES = {
|
|
|
3950
4052
|
md: "h-4 w-4",
|
|
3951
4053
|
lg: "h-5 w-5"
|
|
3952
4054
|
};
|
|
3953
|
-
var Slider =
|
|
4055
|
+
var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
3954
4056
|
const thumbCount = Math.max(
|
|
3955
4057
|
1,
|
|
3956
4058
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
3957
4059
|
);
|
|
3958
|
-
return /* @__PURE__ */ (0,
|
|
4060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
3959
4061
|
SliderPrimitive.Root,
|
|
3960
4062
|
{
|
|
3961
4063
|
ref,
|
|
@@ -3967,7 +4069,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3967
4069
|
),
|
|
3968
4070
|
...props,
|
|
3969
4071
|
children: [
|
|
3970
|
-
/* @__PURE__ */ (0,
|
|
4072
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3971
4073
|
SliderPrimitive.Track,
|
|
3972
4074
|
{
|
|
3973
4075
|
"data-slot": "slider-track",
|
|
@@ -3976,7 +4078,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3976
4078
|
TRACK_CLASSES[size],
|
|
3977
4079
|
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
3978
4080
|
),
|
|
3979
|
-
children: /* @__PURE__ */ (0,
|
|
4081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3980
4082
|
SliderPrimitive.Range,
|
|
3981
4083
|
{
|
|
3982
4084
|
"data-slot": "slider-range",
|
|
@@ -3985,7 +4087,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3985
4087
|
)
|
|
3986
4088
|
}
|
|
3987
4089
|
),
|
|
3988
|
-
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0,
|
|
4090
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3989
4091
|
SliderPrimitive.Thumb,
|
|
3990
4092
|
{
|
|
3991
4093
|
"data-slot": "slider-thumb",
|
|
@@ -4012,8 +4114,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
4012
4114
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
4013
4115
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
4014
4116
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4015
|
-
var
|
|
4016
|
-
var
|
|
4117
|
+
var React34 = __toESM(require("react"), 1);
|
|
4118
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4017
4119
|
var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
4018
4120
|
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
4019
4121
|
{
|
|
@@ -4034,7 +4136,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
|
4034
4136
|
}
|
|
4035
4137
|
}
|
|
4036
4138
|
);
|
|
4037
|
-
var Toggle =
|
|
4139
|
+
var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4038
4140
|
TogglePrimitive.Root,
|
|
4039
4141
|
{
|
|
4040
4142
|
ref,
|
|
@@ -4044,21 +4146,21 @@ var Toggle = React33.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
4044
4146
|
}
|
|
4045
4147
|
));
|
|
4046
4148
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
4047
|
-
var ToggleGroupContext =
|
|
4048
|
-
var ToggleGroup =
|
|
4149
|
+
var ToggleGroupContext = React34.createContext({ size: "default", variant: "default" });
|
|
4150
|
+
var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4049
4151
|
ToggleGroupPrimitive.Root,
|
|
4050
4152
|
{
|
|
4051
4153
|
ref,
|
|
4052
4154
|
"data-slot": "toggle-group",
|
|
4053
4155
|
className: cn("flex items-center justify-center gap-1", className),
|
|
4054
4156
|
...props,
|
|
4055
|
-
children: /* @__PURE__ */ (0,
|
|
4157
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4056
4158
|
}
|
|
4057
4159
|
));
|
|
4058
4160
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
4059
|
-
var ToggleGroupItem =
|
|
4060
|
-
const context =
|
|
4061
|
-
return /* @__PURE__ */ (0,
|
|
4161
|
+
var ToggleGroupItem = React34.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
4162
|
+
const context = React34.useContext(ToggleGroupContext);
|
|
4163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4062
4164
|
ToggleGroupPrimitive.Item,
|
|
4063
4165
|
{
|
|
4064
4166
|
ref,
|
|
@@ -4079,14 +4181,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
4079
4181
|
|
|
4080
4182
|
// src/tooltip.tsx
|
|
4081
4183
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
4082
|
-
var
|
|
4083
|
-
var
|
|
4184
|
+
var React35 = __toESM(require("react"), 1);
|
|
4185
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
4084
4186
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4085
4187
|
var Tooltip = TooltipPrimitive.Root;
|
|
4086
4188
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4087
|
-
var TooltipContent =
|
|
4189
|
+
var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4088
4190
|
const resolved = usePortalContainer(container);
|
|
4089
|
-
return /* @__PURE__ */ (0,
|
|
4191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4090
4192
|
TooltipPrimitive.Content,
|
|
4091
4193
|
{
|
|
4092
4194
|
ref,
|