@ai-matrx/design-system 0.10.1 → 0.11.1
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 +92 -0
- package/README.md +20 -1
- package/dist/index.cjs +395 -284
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +105 -1
- package/dist/index.d.ts +105 -1
- package/dist/index.js +432 -318
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
package/dist/index.cjs
CHANGED
|
@@ -83,6 +83,8 @@ __export(src_exports, {
|
|
|
83
83
|
CommandList: () => CommandList,
|
|
84
84
|
CommandSeparator: () => CommandSeparator,
|
|
85
85
|
CommandShortcut: () => CommandShortcut,
|
|
86
|
+
ConfirmDialog: () => ConfirmDialog,
|
|
87
|
+
ConfirmDialogHost: () => ConfirmDialogHost,
|
|
86
88
|
ContextMenu: () => ContextMenu,
|
|
87
89
|
ContextMenuCheckboxItem: () => ContextMenuCheckboxItem,
|
|
88
90
|
ContextMenuContent: () => ContextMenuContent,
|
|
@@ -1543,10 +1545,119 @@ var CommandShortcut = ({
|
|
|
1543
1545
|
};
|
|
1544
1546
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1545
1547
|
|
|
1548
|
+
// src/confirm-dialog.tsx
|
|
1549
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1550
|
+
function ConfirmDialog({
|
|
1551
|
+
open,
|
|
1552
|
+
onOpenChange,
|
|
1553
|
+
title,
|
|
1554
|
+
description,
|
|
1555
|
+
content,
|
|
1556
|
+
contentClassName,
|
|
1557
|
+
confirmLabel = "Confirm",
|
|
1558
|
+
cancelLabel = "Cancel",
|
|
1559
|
+
variant = "default",
|
|
1560
|
+
busy = false,
|
|
1561
|
+
confirmDisabled = false,
|
|
1562
|
+
portalContainer,
|
|
1563
|
+
onConfirm
|
|
1564
|
+
}) {
|
|
1565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1566
|
+
AlertDialogContent,
|
|
1567
|
+
{
|
|
1568
|
+
className: contentClassName,
|
|
1569
|
+
...portalContainer === void 0 ? {} : { container: portalContainer },
|
|
1570
|
+
children: [
|
|
1571
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogHeader, { children: [
|
|
1572
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogTitle, { children: title }),
|
|
1573
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogDescription, { children: description }) : null
|
|
1574
|
+
] }),
|
|
1575
|
+
content ?? null,
|
|
1576
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(AlertDialogFooter, { children: [
|
|
1577
|
+
cancelLabel === null ? null : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AlertDialogCancel, { className: "max-lg:min-h-11", disabled: busy, children: cancelLabel }),
|
|
1578
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1579
|
+
AlertDialogAction,
|
|
1580
|
+
{
|
|
1581
|
+
disabled: busy || confirmDisabled,
|
|
1582
|
+
onClick: (event) => {
|
|
1583
|
+
event.preventDefault();
|
|
1584
|
+
void onConfirm();
|
|
1585
|
+
},
|
|
1586
|
+
className: cn(
|
|
1587
|
+
"max-lg:min-h-11",
|
|
1588
|
+
// One source of button appearance: the destructive look comes
|
|
1589
|
+
// from `buttonVariants`, not a second hand-written copy of it.
|
|
1590
|
+
// tailwind-merge makes it WIN over the default variant classes.
|
|
1591
|
+
variant === "destructive" && buttonVariants({ variant: "destructive" })
|
|
1592
|
+
),
|
|
1593
|
+
children: [
|
|
1594
|
+
busy ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Loader2Icon, { className: cn("mr-2 h-4 w-4", MOTION_SPIN) }) : null,
|
|
1595
|
+
confirmLabel
|
|
1596
|
+
]
|
|
1597
|
+
}
|
|
1598
|
+
)
|
|
1599
|
+
] })
|
|
1600
|
+
]
|
|
1601
|
+
}
|
|
1602
|
+
) });
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
// src/confirm-host.tsx
|
|
1606
|
+
var import_confirm_opener = require("@ai-matrx/kit/confirm-opener");
|
|
1607
|
+
var React14 = __toESM(require("react"), 1);
|
|
1608
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1609
|
+
function ConfirmDialogHost() {
|
|
1610
|
+
const [active, setActive] = React14.useState(null);
|
|
1611
|
+
const [tick, setTick] = React14.useState(0);
|
|
1612
|
+
const queueRef = React14.useRef([]);
|
|
1613
|
+
React14.useEffect(() => {
|
|
1614
|
+
const controller = {
|
|
1615
|
+
show: (opts, resolve) => {
|
|
1616
|
+
queueRef.current.push({ opts, resolve });
|
|
1617
|
+
setTick((n) => n + 1);
|
|
1618
|
+
}
|
|
1619
|
+
};
|
|
1620
|
+
(0, import_confirm_opener._registerHost)(controller);
|
|
1621
|
+
return () => (0, import_confirm_opener._unregisterHost)(controller);
|
|
1622
|
+
}, []);
|
|
1623
|
+
React14.useEffect(() => {
|
|
1624
|
+
if (active === null && queueRef.current.length > 0) {
|
|
1625
|
+
setActive(queueRef.current.shift());
|
|
1626
|
+
}
|
|
1627
|
+
}, [active, tick]);
|
|
1628
|
+
const handleConfirm = React14.useCallback(() => {
|
|
1629
|
+
if (!active) return;
|
|
1630
|
+
active.resolve(true);
|
|
1631
|
+
setActive(null);
|
|
1632
|
+
}, [active]);
|
|
1633
|
+
const handleOpenChange = React14.useCallback(
|
|
1634
|
+
(open) => {
|
|
1635
|
+
if (!open && active) {
|
|
1636
|
+
active.resolve(false);
|
|
1637
|
+
setActive(null);
|
|
1638
|
+
}
|
|
1639
|
+
},
|
|
1640
|
+
[active]
|
|
1641
|
+
);
|
|
1642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1643
|
+
ConfirmDialog,
|
|
1644
|
+
{
|
|
1645
|
+
open: !!active,
|
|
1646
|
+
onOpenChange: handleOpenChange,
|
|
1647
|
+
title: active?.opts.title ?? "",
|
|
1648
|
+
description: active?.opts.description,
|
|
1649
|
+
confirmLabel: active?.opts.confirmLabel,
|
|
1650
|
+
cancelLabel: active?.opts.cancelLabel,
|
|
1651
|
+
variant: active?.opts.variant,
|
|
1652
|
+
onConfirm: handleConfirm
|
|
1653
|
+
}
|
|
1654
|
+
);
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1546
1657
|
// src/context-menu.tsx
|
|
1547
1658
|
var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
|
|
1548
|
-
var
|
|
1549
|
-
var
|
|
1659
|
+
var React15 = __toESM(require("react"), 1);
|
|
1660
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1550
1661
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
1551
1662
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1552
1663
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
@@ -1556,7 +1667,7 @@ var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
|
1556
1667
|
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
1668
|
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
1669
|
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 =
|
|
1670
|
+
var ContextMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1560
1671
|
ContextMenuPrimitive.SubTrigger,
|
|
1561
1672
|
{
|
|
1562
1673
|
ref,
|
|
@@ -1569,12 +1680,12 @@ var ContextMenuSubTrigger = React14.forwardRef(({ className, inset, children, ..
|
|
|
1569
1680
|
...props,
|
|
1570
1681
|
children: [
|
|
1571
1682
|
children,
|
|
1572
|
-
/* @__PURE__ */ (0,
|
|
1683
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
1573
1684
|
]
|
|
1574
1685
|
}
|
|
1575
1686
|
));
|
|
1576
1687
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1577
|
-
var ContextMenuSubContent =
|
|
1688
|
+
var ContextMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1578
1689
|
ContextMenuPrimitive.SubContent,
|
|
1579
1690
|
{
|
|
1580
1691
|
ref,
|
|
@@ -1584,9 +1695,9 @@ var ContextMenuSubContent = React14.forwardRef(({ className, ...props }, ref) =>
|
|
|
1584
1695
|
}
|
|
1585
1696
|
));
|
|
1586
1697
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1587
|
-
var ContextMenuContent =
|
|
1698
|
+
var ContextMenuContent = React15.forwardRef(({ className, container, ...props }, ref) => {
|
|
1588
1699
|
const portalContainer = usePortalContainer(container);
|
|
1589
|
-
return /* @__PURE__ */ (0,
|
|
1700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1590
1701
|
ContextMenuPrimitive.Content,
|
|
1591
1702
|
{
|
|
1592
1703
|
ref,
|
|
@@ -1597,7 +1708,7 @@ var ContextMenuContent = React14.forwardRef(({ className, container, ...props },
|
|
|
1597
1708
|
) });
|
|
1598
1709
|
});
|
|
1599
1710
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1600
|
-
var ContextMenuItem =
|
|
1711
|
+
var ContextMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1601
1712
|
ContextMenuPrimitive.Item,
|
|
1602
1713
|
{
|
|
1603
1714
|
ref,
|
|
@@ -1612,7 +1723,7 @@ var ContextMenuItem = React14.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
1612
1723
|
}
|
|
1613
1724
|
));
|
|
1614
1725
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1615
|
-
var ContextMenuCheckboxItem =
|
|
1726
|
+
var ContextMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1616
1727
|
ContextMenuPrimitive.CheckboxItem,
|
|
1617
1728
|
{
|
|
1618
1729
|
ref,
|
|
@@ -1620,13 +1731,13 @@ var ContextMenuCheckboxItem = React14.forwardRef(({ className, children, ...prop
|
|
|
1620
1731
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
1621
1732
|
...props,
|
|
1622
1733
|
children: [
|
|
1623
|
-
/* @__PURE__ */ (0,
|
|
1734
|
+
/* @__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
1735
|
children
|
|
1625
1736
|
]
|
|
1626
1737
|
}
|
|
1627
1738
|
));
|
|
1628
1739
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1629
|
-
var ContextMenuRadioItem =
|
|
1740
|
+
var ContextMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1630
1741
|
ContextMenuPrimitive.RadioItem,
|
|
1631
1742
|
{
|
|
1632
1743
|
ref,
|
|
@@ -1634,13 +1745,13 @@ var ContextMenuRadioItem = React14.forwardRef(({ className, children, ...props }
|
|
|
1634
1745
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
1635
1746
|
...props,
|
|
1636
1747
|
children: [
|
|
1637
|
-
/* @__PURE__ */ (0,
|
|
1748
|
+
/* @__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
1749
|
children
|
|
1639
1750
|
]
|
|
1640
1751
|
}
|
|
1641
1752
|
));
|
|
1642
1753
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1643
|
-
var ContextMenuLabel =
|
|
1754
|
+
var ContextMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1644
1755
|
ContextMenuPrimitive.Label,
|
|
1645
1756
|
{
|
|
1646
1757
|
ref,
|
|
@@ -1654,7 +1765,7 @@ var ContextMenuLabel = React14.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1654
1765
|
}
|
|
1655
1766
|
));
|
|
1656
1767
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
1657
|
-
var ContextMenuSeparator =
|
|
1768
|
+
var ContextMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1658
1769
|
ContextMenuPrimitive.Separator,
|
|
1659
1770
|
{
|
|
1660
1771
|
ref,
|
|
@@ -1667,7 +1778,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
|
1667
1778
|
var ContextMenuShortcut = ({
|
|
1668
1779
|
className,
|
|
1669
1780
|
...props
|
|
1670
|
-
}) => /* @__PURE__ */ (0,
|
|
1781
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1671
1782
|
"span",
|
|
1672
1783
|
{
|
|
1673
1784
|
"data-slot": "context-menu-shortcut",
|
|
@@ -1682,12 +1793,12 @@ var import_react = require("react");
|
|
|
1682
1793
|
|
|
1683
1794
|
// src/popover.tsx
|
|
1684
1795
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1685
|
-
var
|
|
1686
|
-
var
|
|
1796
|
+
var React16 = __toESM(require("react"), 1);
|
|
1797
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1687
1798
|
var Popover = PopoverPrimitive.Root;
|
|
1688
1799
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
1689
1800
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
1690
|
-
var PopoverContent =
|
|
1801
|
+
var PopoverContent = React16.forwardRef(
|
|
1691
1802
|
({
|
|
1692
1803
|
className,
|
|
1693
1804
|
align = "center",
|
|
@@ -1697,7 +1808,7 @@ var PopoverContent = React15.forwardRef(
|
|
|
1697
1808
|
...props
|
|
1698
1809
|
}, ref) => {
|
|
1699
1810
|
const portalContainer = usePortalContainer(container);
|
|
1700
|
-
return /* @__PURE__ */ (0,
|
|
1811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1701
1812
|
PopoverPrimitive.Content,
|
|
1702
1813
|
{
|
|
1703
1814
|
ref,
|
|
@@ -1722,7 +1833,7 @@ var PopoverContent = React15.forwardRef(
|
|
|
1722
1833
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
1723
1834
|
|
|
1724
1835
|
// src/creatable-picker.tsx
|
|
1725
|
-
var
|
|
1836
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1726
1837
|
function article(noun) {
|
|
1727
1838
|
return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
|
|
1728
1839
|
}
|
|
@@ -1797,8 +1908,8 @@ function CreatablePicker({
|
|
|
1797
1908
|
setBusy(false);
|
|
1798
1909
|
}
|
|
1799
1910
|
};
|
|
1800
|
-
return /* @__PURE__ */ (0,
|
|
1801
|
-
/* @__PURE__ */ (0,
|
|
1911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
|
|
1912
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1802
1913
|
"button",
|
|
1803
1914
|
{
|
|
1804
1915
|
type: "button",
|
|
@@ -1812,12 +1923,12 @@ function CreatablePicker({
|
|
|
1812
1923
|
triggerClassName
|
|
1813
1924
|
),
|
|
1814
1925
|
children: [
|
|
1815
|
-
/* @__PURE__ */ (0,
|
|
1816
|
-
/* @__PURE__ */ (0,
|
|
1926
|
+
/* @__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 }) }),
|
|
1927
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
|
|
1817
1928
|
]
|
|
1818
1929
|
}
|
|
1819
1930
|
) }),
|
|
1820
|
-
/* @__PURE__ */ (0,
|
|
1931
|
+
/* @__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
1932
|
Command,
|
|
1822
1933
|
{
|
|
1823
1934
|
filter: (itemValue, search, keywords) => {
|
|
@@ -1825,7 +1936,7 @@ function CreatablePicker({
|
|
|
1825
1936
|
return haystack.includes(search.toLowerCase()) ? 1 : 0;
|
|
1826
1937
|
},
|
|
1827
1938
|
children: [
|
|
1828
|
-
/* @__PURE__ */ (0,
|
|
1939
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1829
1940
|
CommandInput,
|
|
1830
1941
|
{
|
|
1831
1942
|
ref: inputRef,
|
|
@@ -1837,13 +1948,13 @@ function CreatablePicker({
|
|
|
1837
1948
|
placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
|
|
1838
1949
|
}
|
|
1839
1950
|
),
|
|
1840
|
-
/* @__PURE__ */ (0,
|
|
1841
|
-
/* @__PURE__ */ (0,
|
|
1842
|
-
groups.map((group) => /* @__PURE__ */ (0,
|
|
1951
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(CommandList, { children: [
|
|
1952
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CommandEmpty, { children: emptyLabel }),
|
|
1953
|
+
groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1843
1954
|
CommandGroup,
|
|
1844
1955
|
{
|
|
1845
1956
|
...group.heading === void 0 ? {} : { heading: group.heading },
|
|
1846
|
-
children: group.options.map((option) => /* @__PURE__ */ (0,
|
|
1957
|
+
children: group.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1847
1958
|
CommandItem,
|
|
1848
1959
|
{
|
|
1849
1960
|
value: option.label,
|
|
@@ -1854,7 +1965,7 @@ function CreatablePicker({
|
|
|
1854
1965
|
},
|
|
1855
1966
|
className: "gap-2 text-xs",
|
|
1856
1967
|
children: [
|
|
1857
|
-
/* @__PURE__ */ (0,
|
|
1968
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1858
1969
|
LucideCheckIcon,
|
|
1859
1970
|
{
|
|
1860
1971
|
className: cn(
|
|
@@ -1863,8 +1974,8 @@ function CreatablePicker({
|
|
|
1863
1974
|
)
|
|
1864
1975
|
}
|
|
1865
1976
|
),
|
|
1866
|
-
/* @__PURE__ */ (0,
|
|
1867
|
-
option.hint ? /* @__PURE__ */ (0,
|
|
1977
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
|
|
1978
|
+
option.hint ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
|
|
1868
1979
|
]
|
|
1869
1980
|
},
|
|
1870
1981
|
option.value
|
|
@@ -1873,9 +1984,9 @@ function CreatablePicker({
|
|
|
1873
1984
|
group.heading ?? "__ungrouped__"
|
|
1874
1985
|
))
|
|
1875
1986
|
] }),
|
|
1876
|
-
canCreate ? /* @__PURE__ */ (0,
|
|
1877
|
-
createExtra && typed && !exactMatch ? /* @__PURE__ */ (0,
|
|
1878
|
-
/* @__PURE__ */ (0,
|
|
1987
|
+
canCreate ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-1", children: [
|
|
1988
|
+
createExtra && typed && !exactMatch ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
|
|
1989
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1879
1990
|
"button",
|
|
1880
1991
|
{
|
|
1881
1992
|
type: "button",
|
|
@@ -1883,22 +1994,22 @@ function CreatablePicker({
|
|
|
1883
1994
|
onClick: () => void create(typed),
|
|
1884
1995
|
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
1996
|
children: [
|
|
1886
|
-
busy ? /* @__PURE__ */ (0,
|
|
1887
|
-
/* @__PURE__ */ (0,
|
|
1997
|
+
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" }),
|
|
1998
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
|
|
1888
1999
|
]
|
|
1889
2000
|
}
|
|
1890
2001
|
),
|
|
1891
|
-
needsName ? /* @__PURE__ */ (0,
|
|
2002
|
+
needsName ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
1892
2003
|
"Type the name of the ",
|
|
1893
2004
|
noun,
|
|
1894
2005
|
" you want to add \u2014 then this creates it."
|
|
1895
2006
|
] }) : null
|
|
1896
2007
|
] }) : null,
|
|
1897
|
-
footerActions?.length || manageAction ? /* @__PURE__ */ (0,
|
|
2008
|
+
footerActions?.length || manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-0.5 border-t border-border p-1", children: [
|
|
1898
2009
|
footerActions?.map((action) => {
|
|
1899
2010
|
const Icon2 = action.icon;
|
|
1900
|
-
return /* @__PURE__ */ (0,
|
|
1901
|
-
/* @__PURE__ */ (0,
|
|
2011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
|
|
2012
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1902
2013
|
"button",
|
|
1903
2014
|
{
|
|
1904
2015
|
type: "button",
|
|
@@ -1908,15 +2019,15 @@ function CreatablePicker({
|
|
|
1908
2019
|
},
|
|
1909
2020
|
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
2021
|
children: [
|
|
1911
|
-
Icon2 ? /* @__PURE__ */ (0,
|
|
1912
|
-
/* @__PURE__ */ (0,
|
|
2022
|
+
Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon2, { className: "size-3.5 shrink-0" }) : null,
|
|
2023
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: action.label })
|
|
1913
2024
|
]
|
|
1914
2025
|
}
|
|
1915
2026
|
),
|
|
1916
|
-
action.note ? /* @__PURE__ */ (0,
|
|
2027
|
+
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
2028
|
] }, action.label);
|
|
1918
2029
|
}),
|
|
1919
|
-
manageAction ? /* @__PURE__ */ (0,
|
|
2030
|
+
manageAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1920
2031
|
"a",
|
|
1921
2032
|
{
|
|
1922
2033
|
href: manageAction.href,
|
|
@@ -1925,18 +2036,18 @@ function CreatablePicker({
|
|
|
1925
2036
|
onClick: close,
|
|
1926
2037
|
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
2038
|
children: [
|
|
1928
|
-
/* @__PURE__ */ (0,
|
|
1929
|
-
/* @__PURE__ */ (0,
|
|
2039
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
|
|
2040
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: manageAction.label })
|
|
1930
2041
|
]
|
|
1931
2042
|
}
|
|
1932
2043
|
) : null
|
|
1933
2044
|
] }) : null,
|
|
1934
|
-
lockedNote ? /* @__PURE__ */ (0,
|
|
1935
|
-
/* @__PURE__ */ (0,
|
|
1936
|
-
/* @__PURE__ */ (0,
|
|
1937
|
-
/* @__PURE__ */ (0,
|
|
2045
|
+
lockedNote ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-1 border-t border-border p-2", children: [
|
|
2046
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
2047
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LockIcon, { className: "mt-px size-3 shrink-0" }),
|
|
2048
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: lockedNote })
|
|
1938
2049
|
] }),
|
|
1939
|
-
lockedAction ? /* @__PURE__ */ (0,
|
|
2050
|
+
lockedAction ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1940
2051
|
"button",
|
|
1941
2052
|
{
|
|
1942
2053
|
type: "button",
|
|
@@ -1946,8 +2057,8 @@ function CreatablePicker({
|
|
|
1946
2057
|
},
|
|
1947
2058
|
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
2059
|
children: [
|
|
1949
|
-
/* @__PURE__ */ (0,
|
|
1950
|
-
/* @__PURE__ */ (0,
|
|
2060
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(PlusIcon, { className: "size-3.5 shrink-0" }),
|
|
2061
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "min-w-0 truncate", children: lockedAction.label })
|
|
1951
2062
|
]
|
|
1952
2063
|
}
|
|
1953
2064
|
) : null
|
|
@@ -1962,14 +2073,14 @@ function CreatablePicker({
|
|
|
1962
2073
|
var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
1963
2074
|
var VisuallyHidden2 = __toESM(require("@radix-ui/react-visually-hidden"), 1);
|
|
1964
2075
|
var import_react_tree3 = require("@ai-matrx/kit/react-tree");
|
|
1965
|
-
var
|
|
1966
|
-
var
|
|
2076
|
+
var React17 = __toESM(require("react"), 1);
|
|
2077
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1967
2078
|
var Dialog = ({
|
|
1968
2079
|
children,
|
|
1969
2080
|
...props
|
|
1970
2081
|
}) => {
|
|
1971
2082
|
const modal = props.modal ?? true;
|
|
1972
|
-
return /* @__PURE__ */ (0,
|
|
2083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Root, { ...props, modal, children }) });
|
|
1973
2084
|
};
|
|
1974
2085
|
Dialog.displayName = "Dialog";
|
|
1975
2086
|
var DialogTrigger = DialogPrimitive2.Trigger;
|
|
@@ -1979,12 +2090,12 @@ var DialogPortal = ({
|
|
|
1979
2090
|
...props
|
|
1980
2091
|
}) => {
|
|
1981
2092
|
const resolved = usePortalContainer(container);
|
|
1982
|
-
return /* @__PURE__ */ (0,
|
|
2093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
|
|
1983
2094
|
};
|
|
1984
2095
|
DialogPortal.displayName = "DialogPortal";
|
|
1985
|
-
var DialogContainerContext =
|
|
1986
|
-
var useDialogContainer = () =>
|
|
1987
|
-
var DialogOverlay =
|
|
2096
|
+
var DialogContainerContext = React17.createContext(null);
|
|
2097
|
+
var useDialogContainer = () => React17.useContext(DialogContainerContext);
|
|
2098
|
+
var DialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1988
2099
|
DialogPrimitive2.Overlay,
|
|
1989
2100
|
{
|
|
1990
2101
|
ref,
|
|
@@ -2000,9 +2111,9 @@ var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
2000
2111
|
}
|
|
2001
2112
|
));
|
|
2002
2113
|
DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
|
|
2003
|
-
var DialogContentPrimitive =
|
|
2114
|
+
var DialogContentPrimitive = React17.forwardRef((props, ref) => {
|
|
2004
2115
|
const isModal = useRadixDialogModal();
|
|
2005
|
-
return /* @__PURE__ */ (0,
|
|
2116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2006
2117
|
DialogPrimitive2.Content,
|
|
2007
2118
|
{
|
|
2008
2119
|
...props,
|
|
@@ -2015,7 +2126,7 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
|
|
|
2015
2126
|
var DIALOG_DESKTOP_CLASSES2 = `fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg ${CENTERED_DIALOG} 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
2127
|
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
2128
|
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 =
|
|
2129
|
+
var DialogContent = React17.forwardRef(
|
|
2019
2130
|
({
|
|
2020
2131
|
className,
|
|
2021
2132
|
children,
|
|
@@ -2029,10 +2140,10 @@ var DialogContent = React16.forwardRef(
|
|
|
2029
2140
|
const isModal = useRadixDialogModal();
|
|
2030
2141
|
const injectedContainer = usePortalContainer(container);
|
|
2031
2142
|
const asSheet = mobileSheet && isMobile;
|
|
2032
|
-
const [containerEl, setContainerEl] =
|
|
2143
|
+
const [containerEl, setContainerEl] = React17.useState(
|
|
2033
2144
|
null
|
|
2034
2145
|
);
|
|
2035
|
-
const mergedRef =
|
|
2146
|
+
const mergedRef = React17.useCallback(
|
|
2036
2147
|
(node) => {
|
|
2037
2148
|
setContainerEl(node);
|
|
2038
2149
|
if (typeof ref === "function") ref(node);
|
|
@@ -2043,9 +2154,9 @@ var DialogContent = React16.forwardRef(
|
|
|
2043
2154
|
);
|
|
2044
2155
|
const hasTitle = (0, import_react_tree3.treeContainsComponent)(children, DialogTitle) || (0, import_react_tree3.treeContainsComponent)(children, DialogPrimitive2.Title);
|
|
2045
2156
|
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,
|
|
2157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPortal, { container, children: [
|
|
2158
|
+
isModal ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogOverlay, {}) : null,
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
2049
2160
|
DialogContentPrimitive,
|
|
2050
2161
|
{
|
|
2051
2162
|
ref: mergedRef,
|
|
@@ -2064,23 +2175,23 @@ var DialogContent = React16.forwardRef(
|
|
|
2064
2175
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
2065
2176
|
...props,
|
|
2066
2177
|
children: [
|
|
2067
|
-
hasTitle ? null : /* @__PURE__ */ (0,
|
|
2068
|
-
/* @__PURE__ */ (0,
|
|
2178
|
+
hasTitle ? null : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden2.Root, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive2.Title, { children: "Dialog" }) }),
|
|
2179
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2069
2180
|
PortalContainerProvider,
|
|
2070
2181
|
{
|
|
2071
2182
|
container: containerEl ?? injectedContainer ?? null,
|
|
2072
2183
|
children
|
|
2073
2184
|
}
|
|
2074
2185
|
) }),
|
|
2075
|
-
showCloseButton ? /* @__PURE__ */ (0,
|
|
2186
|
+
showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
2076
2187
|
DialogPrimitive2.Close,
|
|
2077
2188
|
{
|
|
2078
2189
|
"data-slot": "dialog-close",
|
|
2079
2190
|
"aria-label": "Close",
|
|
2080
2191
|
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
2192
|
children: [
|
|
2082
|
-
/* @__PURE__ */ (0,
|
|
2083
|
-
/* @__PURE__ */ (0,
|
|
2193
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(XIcon, { className: "h-4 w-4" }),
|
|
2194
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2084
2195
|
]
|
|
2085
2196
|
}
|
|
2086
2197
|
) : null
|
|
@@ -2094,7 +2205,7 @@ DialogContent.displayName = DialogPrimitive2.Content.displayName;
|
|
|
2094
2205
|
var DialogHeader = ({
|
|
2095
2206
|
className,
|
|
2096
2207
|
...props
|
|
2097
|
-
}) => /* @__PURE__ */ (0,
|
|
2208
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2098
2209
|
"div",
|
|
2099
2210
|
{
|
|
2100
2211
|
"data-slot": "dialog-header",
|
|
@@ -2111,7 +2222,7 @@ DialogHeader.displayName = "DialogHeader";
|
|
|
2111
2222
|
var DialogFooter = ({
|
|
2112
2223
|
className,
|
|
2113
2224
|
...props
|
|
2114
|
-
}) => /* @__PURE__ */ (0,
|
|
2225
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2115
2226
|
"div",
|
|
2116
2227
|
{
|
|
2117
2228
|
"data-slot": "dialog-footer",
|
|
@@ -2125,7 +2236,7 @@ var DialogFooter = ({
|
|
|
2125
2236
|
}
|
|
2126
2237
|
);
|
|
2127
2238
|
DialogFooter.displayName = "DialogFooter";
|
|
2128
|
-
var DialogTitle =
|
|
2239
|
+
var DialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2129
2240
|
DialogPrimitive2.Title,
|
|
2130
2241
|
{
|
|
2131
2242
|
ref,
|
|
@@ -2135,7 +2246,7 @@ var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2135
2246
|
}
|
|
2136
2247
|
));
|
|
2137
2248
|
DialogTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
2138
|
-
var DialogDescription =
|
|
2249
|
+
var DialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2139
2250
|
DialogPrimitive2.Description,
|
|
2140
2251
|
{
|
|
2141
2252
|
ref,
|
|
@@ -2148,8 +2259,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
|
2148
2259
|
|
|
2149
2260
|
// src/dropdown-menu.tsx
|
|
2150
2261
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
2151
|
-
var
|
|
2152
|
-
var
|
|
2262
|
+
var React18 = __toESM(require("react"), 1);
|
|
2263
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2153
2264
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2154
2265
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2155
2266
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -2159,7 +2270,7 @@ var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
|
2159
2270
|
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
2271
|
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
2272
|
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 =
|
|
2273
|
+
var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2163
2274
|
DropdownMenuPrimitive.SubTrigger,
|
|
2164
2275
|
{
|
|
2165
2276
|
ref,
|
|
@@ -2172,12 +2283,12 @@ var DropdownMenuSubTrigger = React17.forwardRef(({ className, inset, children, .
|
|
|
2172
2283
|
...props,
|
|
2173
2284
|
children: [
|
|
2174
2285
|
children,
|
|
2175
|
-
/* @__PURE__ */ (0,
|
|
2286
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
2176
2287
|
]
|
|
2177
2288
|
}
|
|
2178
2289
|
));
|
|
2179
2290
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
2180
|
-
var DropdownMenuSubContent =
|
|
2291
|
+
var DropdownMenuSubContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2181
2292
|
DropdownMenuPrimitive.SubContent,
|
|
2182
2293
|
{
|
|
2183
2294
|
ref,
|
|
@@ -2187,9 +2298,9 @@ var DropdownMenuSubContent = React17.forwardRef(({ className, ...props }, ref) =
|
|
|
2187
2298
|
}
|
|
2188
2299
|
));
|
|
2189
2300
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
2190
|
-
var DropdownMenuContent =
|
|
2301
|
+
var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
|
|
2191
2302
|
const portalContainer = usePortalContainer(container);
|
|
2192
|
-
return /* @__PURE__ */ (0,
|
|
2303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2193
2304
|
DropdownMenuPrimitive.Content,
|
|
2194
2305
|
{
|
|
2195
2306
|
ref,
|
|
@@ -2206,7 +2317,7 @@ var DropdownMenuContent = React17.forwardRef(({ className, sideOffset = 4, conta
|
|
|
2206
2317
|
) });
|
|
2207
2318
|
});
|
|
2208
2319
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2209
|
-
var DropdownMenuItem =
|
|
2320
|
+
var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2210
2321
|
DropdownMenuPrimitive.Item,
|
|
2211
2322
|
{
|
|
2212
2323
|
ref,
|
|
@@ -2216,7 +2327,7 @@ var DropdownMenuItem = React17.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2216
2327
|
}
|
|
2217
2328
|
));
|
|
2218
2329
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2219
|
-
var DropdownMenuCheckboxItem =
|
|
2330
|
+
var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2220
2331
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2221
2332
|
{
|
|
2222
2333
|
ref,
|
|
@@ -2224,13 +2335,13 @@ var DropdownMenuCheckboxItem = React17.forwardRef(({ className, children, ...pro
|
|
|
2224
2335
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
2225
2336
|
...props,
|
|
2226
2337
|
children: [
|
|
2227
|
-
/* @__PURE__ */ (0,
|
|
2338
|
+
/* @__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
2339
|
children
|
|
2229
2340
|
]
|
|
2230
2341
|
}
|
|
2231
2342
|
));
|
|
2232
2343
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2233
|
-
var DropdownMenuRadioItem =
|
|
2344
|
+
var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2234
2345
|
DropdownMenuPrimitive.RadioItem,
|
|
2235
2346
|
{
|
|
2236
2347
|
ref,
|
|
@@ -2238,13 +2349,13 @@ var DropdownMenuRadioItem = React17.forwardRef(({ className, children, ...props
|
|
|
2238
2349
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
2239
2350
|
...props,
|
|
2240
2351
|
children: [
|
|
2241
|
-
/* @__PURE__ */ (0,
|
|
2352
|
+
/* @__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
2353
|
children
|
|
2243
2354
|
]
|
|
2244
2355
|
}
|
|
2245
2356
|
));
|
|
2246
2357
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2247
|
-
var DropdownMenuLabel =
|
|
2358
|
+
var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2248
2359
|
DropdownMenuPrimitive.Label,
|
|
2249
2360
|
{
|
|
2250
2361
|
ref,
|
|
@@ -2254,7 +2365,7 @@ var DropdownMenuLabel = React17.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2254
2365
|
}
|
|
2255
2366
|
));
|
|
2256
2367
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2257
|
-
var DropdownMenuSeparator =
|
|
2368
|
+
var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2258
2369
|
DropdownMenuPrimitive.Separator,
|
|
2259
2370
|
{
|
|
2260
2371
|
ref,
|
|
@@ -2267,7 +2378,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
|
2267
2378
|
var DropdownMenuShortcut = ({
|
|
2268
2379
|
className,
|
|
2269
2380
|
...props
|
|
2270
|
-
}) => /* @__PURE__ */ (0,
|
|
2381
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2271
2382
|
"span",
|
|
2272
2383
|
{
|
|
2273
2384
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2279,7 +2390,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
2279
2390
|
|
|
2280
2391
|
// src/editable-label.tsx
|
|
2281
2392
|
var import_react2 = require("react");
|
|
2282
|
-
var
|
|
2393
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2283
2394
|
function EditableLabel({
|
|
2284
2395
|
value,
|
|
2285
2396
|
onCommit,
|
|
@@ -2386,8 +2497,8 @@ function EditableLabel({
|
|
|
2386
2497
|
setEditing
|
|
2387
2498
|
]);
|
|
2388
2499
|
if (editing) {
|
|
2389
|
-
return /* @__PURE__ */ (0,
|
|
2390
|
-
/* @__PURE__ */ (0,
|
|
2500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
|
|
2501
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2391
2502
|
"input",
|
|
2392
2503
|
{
|
|
2393
2504
|
ref: inputRef,
|
|
@@ -2427,12 +2538,12 @@ function EditableLabel({
|
|
|
2427
2538
|
)
|
|
2428
2539
|
}
|
|
2429
2540
|
),
|
|
2430
|
-
busy && /* @__PURE__ */ (0,
|
|
2431
|
-
error && /* @__PURE__ */ (0,
|
|
2541
|
+
busy && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 matrx-spin text-muted-foreground" }),
|
|
2542
|
+
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
2543
|
] });
|
|
2433
2544
|
}
|
|
2434
2545
|
if (controlled) return null;
|
|
2435
|
-
return /* @__PURE__ */ (0,
|
|
2546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2436
2547
|
"button",
|
|
2437
2548
|
{
|
|
2438
2549
|
type: "button",
|
|
@@ -2466,8 +2577,8 @@ function EditableLabel({
|
|
|
2466
2577
|
}
|
|
2467
2578
|
|
|
2468
2579
|
// src/input.tsx
|
|
2469
|
-
var
|
|
2470
|
-
var
|
|
2580
|
+
var React19 = __toESM(require("react"), 1);
|
|
2581
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2471
2582
|
var getVariantStyles = (variant = "default") => {
|
|
2472
2583
|
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
2584
|
file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
|
|
@@ -2495,9 +2606,9 @@ var getVariantStyles = (variant = "default") => {
|
|
|
2495
2606
|
return baseStyles;
|
|
2496
2607
|
}
|
|
2497
2608
|
};
|
|
2498
|
-
var Input =
|
|
2609
|
+
var Input = React19.forwardRef(
|
|
2499
2610
|
({ className, type, variant = "default", ...props }, ref) => {
|
|
2500
|
-
return /* @__PURE__ */ (0,
|
|
2611
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2501
2612
|
"input",
|
|
2502
2613
|
{
|
|
2503
2614
|
type,
|
|
@@ -2509,7 +2620,7 @@ var Input = React18.forwardRef(
|
|
|
2509
2620
|
}
|
|
2510
2621
|
);
|
|
2511
2622
|
Input.displayName = "Input";
|
|
2512
|
-
var EnterInput =
|
|
2623
|
+
var EnterInput = React19.forwardRef(
|
|
2513
2624
|
({ onEnter, ...props }, ref) => {
|
|
2514
2625
|
const handleKeyDown = (e) => {
|
|
2515
2626
|
if (e.key === "Enter" && onEnter) {
|
|
@@ -2517,7 +2628,7 @@ var EnterInput = React18.forwardRef(
|
|
|
2517
2628
|
onEnter();
|
|
2518
2629
|
}
|
|
2519
2630
|
};
|
|
2520
|
-
return /* @__PURE__ */ (0,
|
|
2631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2521
2632
|
Input,
|
|
2522
2633
|
{
|
|
2523
2634
|
...props,
|
|
@@ -2533,11 +2644,11 @@ var EnterInput = React18.forwardRef(
|
|
|
2533
2644
|
}
|
|
2534
2645
|
);
|
|
2535
2646
|
EnterInput.displayName = "EnterInput";
|
|
2536
|
-
var BasicInput =
|
|
2647
|
+
var BasicInput = React19.forwardRef(
|
|
2537
2648
|
// `variant` is accepted (prop-compatible with Input) but intentionally
|
|
2538
2649
|
// unused — and destructured so it never leaks onto the DOM element.
|
|
2539
2650
|
({ className, type, variant: _variant = "default", ...props }, ref) => {
|
|
2540
|
-
return /* @__PURE__ */ (0,
|
|
2651
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2541
2652
|
"input",
|
|
2542
2653
|
{
|
|
2543
2654
|
type,
|
|
@@ -2552,10 +2663,10 @@ var BasicInput = React18.forwardRef(
|
|
|
2552
2663
|
}
|
|
2553
2664
|
);
|
|
2554
2665
|
BasicInput.displayName = "BasicInput";
|
|
2555
|
-
var InputWithPrefix =
|
|
2556
|
-
return /* @__PURE__ */ (0,
|
|
2557
|
-
prefix && /* @__PURE__ */ (0,
|
|
2558
|
-
/* @__PURE__ */ (0,
|
|
2666
|
+
var InputWithPrefix = React19.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
|
|
2667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("relative", wrapperClassName), children: [
|
|
2668
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
|
|
2669
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2559
2670
|
Input,
|
|
2560
2671
|
{
|
|
2561
2672
|
ref,
|
|
@@ -2569,9 +2680,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
|
|
|
2569
2680
|
|
|
2570
2681
|
// src/label.tsx
|
|
2571
2682
|
var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
|
|
2572
|
-
var
|
|
2573
|
-
var
|
|
2574
|
-
var Label3 =
|
|
2683
|
+
var React20 = __toESM(require("react"), 1);
|
|
2684
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2685
|
+
var Label3 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2575
2686
|
LabelPrimitive.Root,
|
|
2576
2687
|
{
|
|
2577
2688
|
ref,
|
|
@@ -2586,7 +2697,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
|
|
|
2586
2697
|
|
|
2587
2698
|
// src/overflow-toolbar.tsx
|
|
2588
2699
|
var import_react3 = require("react");
|
|
2589
|
-
var
|
|
2700
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2590
2701
|
var GAP_PX = 6;
|
|
2591
2702
|
var TONE = {
|
|
2592
2703
|
default: "border border-border bg-background hover:bg-accent text-foreground",
|
|
@@ -2608,16 +2719,16 @@ function ToolbarButton({
|
|
|
2608
2719
|
action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
|
|
2609
2720
|
TONE[tone]
|
|
2610
2721
|
);
|
|
2611
|
-
const inner = /* @__PURE__ */ (0,
|
|
2612
|
-
/* @__PURE__ */ (0,
|
|
2722
|
+
const inner = /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
2723
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2613
2724
|
Icon2,
|
|
2614
2725
|
{
|
|
2615
2726
|
className: cn("w-3.5 h-3.5 shrink-0", action.running && "matrx-spin")
|
|
2616
2727
|
}
|
|
2617
2728
|
),
|
|
2618
|
-
showLabel && /* @__PURE__ */ (0,
|
|
2729
|
+
showLabel && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { children: text })
|
|
2619
2730
|
] });
|
|
2620
|
-
const control = action.href && !action.disabled ? /* @__PURE__ */ (0,
|
|
2731
|
+
const control = action.href && !action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2621
2732
|
"a",
|
|
2622
2733
|
{
|
|
2623
2734
|
href: action.href,
|
|
@@ -2627,7 +2738,7 @@ function ToolbarButton({
|
|
|
2627
2738
|
"aria-label": action.label,
|
|
2628
2739
|
children: inner
|
|
2629
2740
|
}
|
|
2630
|
-
) : /* @__PURE__ */ (0,
|
|
2741
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2631
2742
|
"button",
|
|
2632
2743
|
{
|
|
2633
2744
|
type: "button",
|
|
@@ -2639,12 +2750,12 @@ function ToolbarButton({
|
|
|
2639
2750
|
}
|
|
2640
2751
|
);
|
|
2641
2752
|
if (enableTooltip && action.hideLabel && renderTooltip) {
|
|
2642
|
-
return /* @__PURE__ */ (0,
|
|
2753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: renderTooltip(control, action.label) });
|
|
2643
2754
|
}
|
|
2644
2755
|
return control;
|
|
2645
2756
|
}
|
|
2646
2757
|
function OverflowTrigger({ ariaLabel }) {
|
|
2647
|
-
return /* @__PURE__ */ (0,
|
|
2758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2648
2759
|
"button",
|
|
2649
2760
|
{
|
|
2650
2761
|
type: "button",
|
|
@@ -2655,7 +2766,7 @@ function OverflowTrigger({ ariaLabel }) {
|
|
|
2655
2766
|
"inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
|
|
2656
2767
|
"border border-border bg-background hover:bg-accent text-foreground"
|
|
2657
2768
|
),
|
|
2658
|
-
children: /* @__PURE__ */ (0,
|
|
2769
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
|
|
2659
2770
|
}
|
|
2660
2771
|
);
|
|
2661
2772
|
}
|
|
@@ -2715,22 +2826,22 @@ function OverflowToolbar({
|
|
|
2715
2826
|
}, [signature, leading != null]);
|
|
2716
2827
|
const shown = visibleActions.slice(0, visibleCount);
|
|
2717
2828
|
const hidden = visibleActions.slice(visibleCount);
|
|
2718
|
-
return /* @__PURE__ */ (0,
|
|
2719
|
-
/* @__PURE__ */ (0,
|
|
2829
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
|
|
2830
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2720
2831
|
"div",
|
|
2721
2832
|
{
|
|
2722
2833
|
ref: ghostRef,
|
|
2723
2834
|
"aria-hidden": true,
|
|
2724
2835
|
className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
|
|
2725
2836
|
children: [
|
|
2726
|
-
visibleActions.map((a) => /* @__PURE__ */ (0,
|
|
2727
|
-
/* @__PURE__ */ (0,
|
|
2837
|
+
visibleActions.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ToolbarButton, { action: a }, a.id)),
|
|
2838
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
2728
2839
|
]
|
|
2729
2840
|
}
|
|
2730
2841
|
),
|
|
2731
|
-
/* @__PURE__ */ (0,
|
|
2732
|
-
leading != null && /* @__PURE__ */ (0,
|
|
2733
|
-
shown.map((a) => /* @__PURE__ */ (0,
|
|
2842
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center justify-end gap-1.5", children: [
|
|
2843
|
+
leading != null && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { ref: leadingRef, className: "shrink-0", children: leading }),
|
|
2844
|
+
shown.map((a) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2734
2845
|
ToolbarButton,
|
|
2735
2846
|
{
|
|
2736
2847
|
action: a,
|
|
@@ -2741,7 +2852,7 @@ function OverflowToolbar({
|
|
|
2741
2852
|
)),
|
|
2742
2853
|
hidden.length > 0 && renderOverflowMenu({
|
|
2743
2854
|
actions: hidden,
|
|
2744
|
-
trigger: /* @__PURE__ */ (0,
|
|
2855
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
2745
2856
|
})
|
|
2746
2857
|
] })
|
|
2747
2858
|
] });
|
|
@@ -2749,20 +2860,20 @@ function OverflowToolbar({
|
|
|
2749
2860
|
|
|
2750
2861
|
// src/progress.tsx
|
|
2751
2862
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
|
|
2752
|
-
var
|
|
2753
|
-
var
|
|
2863
|
+
var React22 = __toESM(require("react"), 1);
|
|
2864
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2754
2865
|
var PROGRESS_TONES = {
|
|
2755
2866
|
default: "bg-primary",
|
|
2756
2867
|
success: "bg-success",
|
|
2757
2868
|
warning: "bg-warning",
|
|
2758
2869
|
destructive: "bg-destructive"
|
|
2759
2870
|
};
|
|
2760
|
-
var Progress =
|
|
2871
|
+
var Progress = React22.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
|
|
2761
2872
|
const { value, max } = props;
|
|
2762
2873
|
const ceiling = max ?? 100;
|
|
2763
2874
|
const isIndeterminate = value === null || value === void 0;
|
|
2764
2875
|
const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
|
|
2765
|
-
return /* @__PURE__ */ (0,
|
|
2876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2766
2877
|
ProgressPrimitive.Root,
|
|
2767
2878
|
{
|
|
2768
2879
|
ref,
|
|
@@ -2772,7 +2883,7 @@ var Progress = React21.forwardRef(({ className, tone = "default", indicatorClass
|
|
|
2772
2883
|
className
|
|
2773
2884
|
),
|
|
2774
2885
|
...props,
|
|
2775
|
-
children: /* @__PURE__ */ (0,
|
|
2886
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2776
2887
|
ProgressPrimitive.Indicator,
|
|
2777
2888
|
{
|
|
2778
2889
|
"data-slot": "progress-indicator",
|
|
@@ -2792,9 +2903,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
|
2792
2903
|
|
|
2793
2904
|
// src/scroll-area.tsx
|
|
2794
2905
|
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
2795
|
-
var
|
|
2796
|
-
var
|
|
2797
|
-
var ScrollArea =
|
|
2906
|
+
var React23 = __toESM(require("react"), 1);
|
|
2907
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2908
|
+
var ScrollArea = React23.forwardRef(
|
|
2798
2909
|
({
|
|
2799
2910
|
className,
|
|
2800
2911
|
children,
|
|
@@ -2803,7 +2914,7 @@ var ScrollArea = React22.forwardRef(
|
|
|
2803
2914
|
scrollBarClassName,
|
|
2804
2915
|
orientation = "vertical",
|
|
2805
2916
|
...props
|
|
2806
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
2917
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2807
2918
|
ScrollAreaPrimitive.Root,
|
|
2808
2919
|
{
|
|
2809
2920
|
ref,
|
|
@@ -2811,7 +2922,7 @@ var ScrollArea = React22.forwardRef(
|
|
|
2811
2922
|
className: cn("relative overflow-hidden", className),
|
|
2812
2923
|
...props,
|
|
2813
2924
|
children: [
|
|
2814
|
-
/* @__PURE__ */ (0,
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2815
2926
|
ScrollAreaPrimitive.Viewport,
|
|
2816
2927
|
{
|
|
2817
2928
|
ref: viewportRef,
|
|
@@ -2820,14 +2931,14 @@ var ScrollArea = React22.forwardRef(
|
|
|
2820
2931
|
children
|
|
2821
2932
|
}
|
|
2822
2933
|
),
|
|
2823
|
-
/* @__PURE__ */ (0,
|
|
2824
|
-
/* @__PURE__ */ (0,
|
|
2934
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollBar, { orientation, className: scrollBarClassName }),
|
|
2935
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ScrollAreaPrimitive.Corner, {})
|
|
2825
2936
|
]
|
|
2826
2937
|
}
|
|
2827
2938
|
)
|
|
2828
2939
|
);
|
|
2829
2940
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2830
|
-
var ScrollBar =
|
|
2941
|
+
var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2831
2942
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2832
2943
|
{
|
|
2833
2944
|
ref,
|
|
@@ -2840,7 +2951,7 @@ var ScrollBar = React22.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2840
2951
|
className
|
|
2841
2952
|
),
|
|
2842
2953
|
...props,
|
|
2843
|
-
children: /* @__PURE__ */ (0,
|
|
2954
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2844
2955
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
2845
2956
|
{
|
|
2846
2957
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2852,7 +2963,7 @@ var ScrollBar = React22.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2852
2963
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2853
2964
|
|
|
2854
2965
|
// src/score-ring.tsx
|
|
2855
|
-
var
|
|
2966
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2856
2967
|
var DEFAULT_SCORE_THRESHOLDS = {
|
|
2857
2968
|
good: 75,
|
|
2858
2969
|
warning: 50
|
|
@@ -2883,7 +2994,7 @@ function ScoreRing({
|
|
|
2883
2994
|
const circumference = 2 * Math.PI * radius;
|
|
2884
2995
|
const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
|
|
2885
2996
|
const dashOffset = circumference * (1 - boundedPct / 100);
|
|
2886
|
-
return /* @__PURE__ */ (0,
|
|
2997
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2887
2998
|
"div",
|
|
2888
2999
|
{
|
|
2889
3000
|
className: cn(
|
|
@@ -2894,8 +3005,8 @@ function ScoreRing({
|
|
|
2894
3005
|
role: "img",
|
|
2895
3006
|
"aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
|
|
2896
3007
|
children: [
|
|
2897
|
-
/* @__PURE__ */ (0,
|
|
2898
|
-
/* @__PURE__ */ (0,
|
|
3008
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
|
|
3009
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2899
3010
|
"circle",
|
|
2900
3011
|
{
|
|
2901
3012
|
cx: "50",
|
|
@@ -2906,7 +3017,7 @@ function ScoreRing({
|
|
|
2906
3017
|
fill: "none"
|
|
2907
3018
|
}
|
|
2908
3019
|
),
|
|
2909
|
-
pct !== null ? /* @__PURE__ */ (0,
|
|
3020
|
+
pct !== null ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2910
3021
|
"circle",
|
|
2911
3022
|
{
|
|
2912
3023
|
cx: "50",
|
|
@@ -2925,8 +3036,8 @@ function ScoreRing({
|
|
|
2925
3036
|
}
|
|
2926
3037
|
) : null
|
|
2927
3038
|
] }),
|
|
2928
|
-
/* @__PURE__ */ (0,
|
|
2929
|
-
/* @__PURE__ */ (0,
|
|
3039
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "absolute flex flex-col items-center justify-center", children: [
|
|
3040
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2930
3041
|
"span",
|
|
2931
3042
|
{
|
|
2932
3043
|
className: cn(
|
|
@@ -2936,7 +3047,7 @@ function ScoreRing({
|
|
|
2936
3047
|
children: pct === null ? "\u2014" : `${pct}${suffix}`
|
|
2937
3048
|
}
|
|
2938
3049
|
),
|
|
2939
|
-
label ? /* @__PURE__ */ (0,
|
|
3050
|
+
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
3051
|
] })
|
|
2941
3052
|
]
|
|
2942
3053
|
}
|
|
@@ -2944,7 +3055,7 @@ function ScoreRing({
|
|
|
2944
3055
|
}
|
|
2945
3056
|
|
|
2946
3057
|
// src/segmented-control.tsx
|
|
2947
|
-
var
|
|
3058
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2948
3059
|
function SegmentedControl({
|
|
2949
3060
|
value,
|
|
2950
3061
|
onValueChange,
|
|
@@ -2959,7 +3070,7 @@ function SegmentedControl({
|
|
|
2959
3070
|
md: "h-9 text-sm",
|
|
2960
3071
|
lg: "h-10 text-base"
|
|
2961
3072
|
};
|
|
2962
|
-
return /* @__PURE__ */ (0,
|
|
3073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2963
3074
|
"div",
|
|
2964
3075
|
{
|
|
2965
3076
|
className: cn(
|
|
@@ -2970,7 +3081,7 @@ function SegmentedControl({
|
|
|
2970
3081
|
role: "tablist",
|
|
2971
3082
|
children: data.map((option) => {
|
|
2972
3083
|
const isActive = value === option.value;
|
|
2973
|
-
return /* @__PURE__ */ (0,
|
|
3084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2974
3085
|
"button",
|
|
2975
3086
|
{
|
|
2976
3087
|
type: "button",
|
|
@@ -2997,8 +3108,8 @@ function SegmentedControl({
|
|
|
2997
3108
|
// src/select.tsx
|
|
2998
3109
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2999
3110
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
3000
|
-
var
|
|
3001
|
-
var
|
|
3111
|
+
var React24 = __toESM(require("react"), 1);
|
|
3112
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
3002
3113
|
var Select = SelectPrimitive.Root;
|
|
3003
3114
|
var SelectGroup = SelectPrimitive.Group;
|
|
3004
3115
|
var SelectValue = SelectPrimitive.Value;
|
|
@@ -3017,7 +3128,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
|
|
|
3017
3128
|
}
|
|
3018
3129
|
}
|
|
3019
3130
|
);
|
|
3020
|
-
var SelectTrigger =
|
|
3131
|
+
var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3021
3132
|
SelectPrimitive.Trigger,
|
|
3022
3133
|
{
|
|
3023
3134
|
ref,
|
|
@@ -3025,12 +3136,12 @@ var SelectTrigger = React23.forwardRef(({ className, children, hideArrow = false
|
|
|
3025
3136
|
...props,
|
|
3026
3137
|
children: [
|
|
3027
3138
|
children,
|
|
3028
|
-
!hideArrow && /* @__PURE__ */ (0,
|
|
3139
|
+
!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
3140
|
]
|
|
3030
3141
|
}
|
|
3031
3142
|
));
|
|
3032
3143
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
3033
|
-
var SelectScrollUpButton =
|
|
3144
|
+
var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3034
3145
|
SelectPrimitive.ScrollUpButton,
|
|
3035
3146
|
{
|
|
3036
3147
|
ref,
|
|
@@ -3039,11 +3150,11 @@ var SelectScrollUpButton = React23.forwardRef(({ className, ...props }, ref) =>
|
|
|
3039
3150
|
className
|
|
3040
3151
|
),
|
|
3041
3152
|
...props,
|
|
3042
|
-
children: /* @__PURE__ */ (0,
|
|
3153
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronUpIcon, {})
|
|
3043
3154
|
}
|
|
3044
3155
|
));
|
|
3045
3156
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
3046
|
-
var SelectScrollDownButton =
|
|
3157
|
+
var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3047
3158
|
SelectPrimitive.ScrollDownButton,
|
|
3048
3159
|
{
|
|
3049
3160
|
ref,
|
|
@@ -3052,11 +3163,11 @@ var SelectScrollDownButton = React23.forwardRef(({ className, ...props }, ref) =
|
|
|
3052
3163
|
className
|
|
3053
3164
|
),
|
|
3054
3165
|
...props,
|
|
3055
|
-
children: /* @__PURE__ */ (0,
|
|
3166
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, {})
|
|
3056
3167
|
}
|
|
3057
3168
|
));
|
|
3058
3169
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
3059
|
-
var SelectContent =
|
|
3170
|
+
var SelectContent = React24.forwardRef(
|
|
3060
3171
|
({
|
|
3061
3172
|
className,
|
|
3062
3173
|
children,
|
|
@@ -3066,7 +3177,7 @@ var SelectContent = React23.forwardRef(
|
|
|
3066
3177
|
...props
|
|
3067
3178
|
}, ref) => {
|
|
3068
3179
|
const portalContainer = usePortalContainer(container);
|
|
3069
|
-
return /* @__PURE__ */ (0,
|
|
3180
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3070
3181
|
SelectPrimitive.Content,
|
|
3071
3182
|
{
|
|
3072
3183
|
ref,
|
|
@@ -3084,8 +3195,8 @@ var SelectContent = React23.forwardRef(
|
|
|
3084
3195
|
position,
|
|
3085
3196
|
...props,
|
|
3086
3197
|
children: [
|
|
3087
|
-
/* @__PURE__ */ (0,
|
|
3088
|
-
/* @__PURE__ */ (0,
|
|
3198
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollUpButton, {}),
|
|
3199
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3089
3200
|
SelectPrimitive.Viewport,
|
|
3090
3201
|
{
|
|
3091
3202
|
className: cn(
|
|
@@ -3095,14 +3206,14 @@ var SelectContent = React23.forwardRef(
|
|
|
3095
3206
|
children
|
|
3096
3207
|
}
|
|
3097
3208
|
),
|
|
3098
|
-
/* @__PURE__ */ (0,
|
|
3209
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollDownButton, {})
|
|
3099
3210
|
]
|
|
3100
3211
|
}
|
|
3101
3212
|
) });
|
|
3102
3213
|
}
|
|
3103
3214
|
);
|
|
3104
3215
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
3105
|
-
var SelectLabel =
|
|
3216
|
+
var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3106
3217
|
SelectPrimitive.Label,
|
|
3107
3218
|
{
|
|
3108
3219
|
ref,
|
|
@@ -3111,7 +3222,7 @@ var SelectLabel = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3111
3222
|
}
|
|
3112
3223
|
));
|
|
3113
3224
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
3114
|
-
var SelectItem =
|
|
3225
|
+
var SelectItem = React24.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
3115
3226
|
SelectPrimitive.Item,
|
|
3116
3227
|
{
|
|
3117
3228
|
ref,
|
|
@@ -3122,14 +3233,14 @@ var SelectItem = React23.forwardRef(({ className, children, description, ...prop
|
|
|
3122
3233
|
),
|
|
3123
3234
|
...props,
|
|
3124
3235
|
children: [
|
|
3125
|
-
/* @__PURE__ */ (0,
|
|
3126
|
-
/* @__PURE__ */ (0,
|
|
3127
|
-
description ? /* @__PURE__ */ (0,
|
|
3236
|
+
/* @__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" }) }) }),
|
|
3237
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemText, { children }),
|
|
3238
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
|
|
3128
3239
|
]
|
|
3129
3240
|
}
|
|
3130
3241
|
));
|
|
3131
3242
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
3132
|
-
var SelectSeparator =
|
|
3243
|
+
var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3133
3244
|
SelectPrimitive.Separator,
|
|
3134
3245
|
{
|
|
3135
3246
|
ref,
|
|
@@ -3141,9 +3252,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
3141
3252
|
|
|
3142
3253
|
// src/separator.tsx
|
|
3143
3254
|
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
|
|
3144
|
-
var
|
|
3145
|
-
var
|
|
3146
|
-
var Separator4 =
|
|
3255
|
+
var React25 = __toESM(require("react"), 1);
|
|
3256
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3257
|
+
var Separator4 = React25.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3147
3258
|
SeparatorPrimitive.Root,
|
|
3148
3259
|
{
|
|
3149
3260
|
ref,
|
|
@@ -3163,11 +3274,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
3163
3274
|
var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
3164
3275
|
var import_react_tree4 = require("@ai-matrx/kit/react-tree");
|
|
3165
3276
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
3166
|
-
var
|
|
3167
|
-
var
|
|
3168
|
-
var SheetContentBase =
|
|
3277
|
+
var React26 = __toESM(require("react"), 1);
|
|
3278
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3279
|
+
var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
|
|
3169
3280
|
const isModal = useRadixDialogModal();
|
|
3170
|
-
return /* @__PURE__ */ (0,
|
|
3281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3171
3282
|
SheetPrimitive.Content,
|
|
3172
3283
|
{
|
|
3173
3284
|
...props,
|
|
@@ -3177,15 +3288,15 @@ var SheetContentBase = React25.forwardRef(({ ...props }, ref) => {
|
|
|
3177
3288
|
);
|
|
3178
3289
|
});
|
|
3179
3290
|
SheetContentBase.displayName = "SheetContentBase";
|
|
3180
|
-
var Sheet =
|
|
3291
|
+
var Sheet = React26.forwardRef(({ children, ...props }, _ref) => {
|
|
3181
3292
|
const modal = props.modal ?? true;
|
|
3182
|
-
return /* @__PURE__ */ (0,
|
|
3293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
|
|
3183
3294
|
});
|
|
3184
3295
|
Sheet.displayName = "Sheet";
|
|
3185
3296
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
3186
3297
|
var SheetClose = SheetPrimitive.Close;
|
|
3187
3298
|
var SheetPortal = SheetPrimitive.Portal;
|
|
3188
|
-
var SheetOverlay =
|
|
3299
|
+
var SheetOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3189
3300
|
SheetPrimitive.Overlay,
|
|
3190
3301
|
{
|
|
3191
3302
|
className: cn(
|
|
@@ -3222,7 +3333,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
|
|
|
3222
3333
|
}
|
|
3223
3334
|
}
|
|
3224
3335
|
);
|
|
3225
|
-
var SheetDescription =
|
|
3336
|
+
var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3226
3337
|
SheetPrimitive.Description,
|
|
3227
3338
|
{
|
|
3228
3339
|
ref,
|
|
@@ -3231,7 +3342,7 @@ var SheetDescription = React25.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
3231
3342
|
}
|
|
3232
3343
|
));
|
|
3233
3344
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
3234
|
-
var SheetContent =
|
|
3345
|
+
var SheetContent = React26.forwardRef(
|
|
3235
3346
|
({
|
|
3236
3347
|
side = "right",
|
|
3237
3348
|
className,
|
|
@@ -3243,9 +3354,9 @@ var SheetContent = React25.forwardRef(
|
|
|
3243
3354
|
...props
|
|
3244
3355
|
}, ref) => {
|
|
3245
3356
|
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,
|
|
3357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPortal, { children: [
|
|
3358
|
+
!hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetOverlay, { className: overlayClassName }),
|
|
3359
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
3249
3360
|
SheetContentBase,
|
|
3250
3361
|
{
|
|
3251
3362
|
ref,
|
|
@@ -3257,9 +3368,9 @@ var SheetContent = React25.forwardRef(
|
|
|
3257
3368
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
3258
3369
|
...props,
|
|
3259
3370
|
children: [
|
|
3260
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
3261
|
-
/* @__PURE__ */ (0,
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3371
|
+
!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: [
|
|
3372
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Cross2Icon, { className: "h-4 w-4" }),
|
|
3373
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "Close" })
|
|
3263
3374
|
] }),
|
|
3264
3375
|
children
|
|
3265
3376
|
]
|
|
@@ -3272,7 +3383,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
3272
3383
|
var SheetHeader = ({
|
|
3273
3384
|
className,
|
|
3274
3385
|
...props
|
|
3275
|
-
}) => /* @__PURE__ */ (0,
|
|
3386
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3276
3387
|
"div",
|
|
3277
3388
|
{
|
|
3278
3389
|
className: cn(
|
|
@@ -3286,7 +3397,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
3286
3397
|
var SheetFooter = ({
|
|
3287
3398
|
className,
|
|
3288
3399
|
...props
|
|
3289
|
-
}) => /* @__PURE__ */ (0,
|
|
3400
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3290
3401
|
"div",
|
|
3291
3402
|
{
|
|
3292
3403
|
className: cn(
|
|
@@ -3297,7 +3408,7 @@ var SheetFooter = ({
|
|
|
3297
3408
|
}
|
|
3298
3409
|
);
|
|
3299
3410
|
SheetFooter.displayName = "SheetFooter";
|
|
3300
|
-
var SheetTitle =
|
|
3411
|
+
var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
3301
3412
|
SheetPrimitive.Title,
|
|
3302
3413
|
{
|
|
3303
3414
|
ref,
|
|
@@ -3308,9 +3419,9 @@ var SheetTitle = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
3308
3419
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
3309
3420
|
|
|
3310
3421
|
// src/skeleton.tsx
|
|
3311
|
-
var
|
|
3422
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
3312
3423
|
function Skeleton({ className, animated = true, ...props }) {
|
|
3313
|
-
return /* @__PURE__ */ (0,
|
|
3424
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3314
3425
|
"div",
|
|
3315
3426
|
{
|
|
3316
3427
|
"data-slot": "skeleton",
|
|
@@ -3326,8 +3437,8 @@ function Skeleton({ className, animated = true, ...props }) {
|
|
|
3326
3437
|
|
|
3327
3438
|
// src/switch.tsx
|
|
3328
3439
|
var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
|
|
3329
|
-
var
|
|
3330
|
-
var
|
|
3440
|
+
var React27 = __toESM(require("react"), 1);
|
|
3441
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3331
3442
|
var SWITCH_SIZES = {
|
|
3332
3443
|
sm: {
|
|
3333
3444
|
root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
|
|
@@ -3338,7 +3449,7 @@ var SWITCH_SIZES = {
|
|
|
3338
3449
|
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
3339
3450
|
}
|
|
3340
3451
|
};
|
|
3341
|
-
var Switch =
|
|
3452
|
+
var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3342
3453
|
SwitchPrimitives.Root,
|
|
3343
3454
|
{
|
|
3344
3455
|
ref,
|
|
@@ -3349,7 +3460,7 @@ var Switch = React26.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
3349
3460
|
className
|
|
3350
3461
|
),
|
|
3351
3462
|
...props,
|
|
3352
|
-
children: /* @__PURE__ */ (0,
|
|
3463
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3353
3464
|
SwitchPrimitives.Thumb,
|
|
3354
3465
|
{
|
|
3355
3466
|
"data-slot": "switch-thumb",
|
|
@@ -3365,7 +3476,7 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
|
3365
3476
|
|
|
3366
3477
|
// src/tabbed-bottom-sheet.tsx
|
|
3367
3478
|
var import_react4 = require("react");
|
|
3368
|
-
var
|
|
3479
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3369
3480
|
function TabbedBottomSheet({
|
|
3370
3481
|
open,
|
|
3371
3482
|
onOpenChange,
|
|
@@ -3379,15 +3490,15 @@ function TabbedBottomSheet({
|
|
|
3379
3490
|
if (open) setSelectedTabId(null);
|
|
3380
3491
|
}
|
|
3381
3492
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
3382
|
-
return /* @__PURE__ */ (0,
|
|
3493
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3383
3494
|
BottomSheet,
|
|
3384
3495
|
{
|
|
3385
3496
|
open,
|
|
3386
3497
|
onOpenChange,
|
|
3387
3498
|
title,
|
|
3388
3499
|
size: "full",
|
|
3389
|
-
children: /* @__PURE__ */ (0,
|
|
3390
|
-
/* @__PURE__ */ (0,
|
|
3500
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
3501
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3391
3502
|
BottomSheetHeader,
|
|
3392
3503
|
{
|
|
3393
3504
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -3395,19 +3506,19 @@ function TabbedBottomSheet({
|
|
|
3395
3506
|
onBack: () => setSelectedTabId(null)
|
|
3396
3507
|
}
|
|
3397
3508
|
),
|
|
3398
|
-
selectedTab ? /* @__PURE__ */ (0,
|
|
3509
|
+
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
3510
|
const Icon2 = tab.icon;
|
|
3400
|
-
return /* @__PURE__ */ (0,
|
|
3511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3401
3512
|
"button",
|
|
3402
3513
|
{
|
|
3403
3514
|
type: "button",
|
|
3404
3515
|
onClick: () => setSelectedTabId(tab.id),
|
|
3405
3516
|
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
3517
|
children: [
|
|
3407
|
-
Icon2 ? /* @__PURE__ */ (0,
|
|
3408
|
-
/* @__PURE__ */ (0,
|
|
3518
|
+
Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
3519
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
3409
3520
|
tab.trailing,
|
|
3410
|
-
/* @__PURE__ */ (0,
|
|
3521
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
3411
3522
|
]
|
|
3412
3523
|
}
|
|
3413
3524
|
) }, tab.id);
|
|
@@ -3418,19 +3529,19 @@ function TabbedBottomSheet({
|
|
|
3418
3529
|
}
|
|
3419
3530
|
|
|
3420
3531
|
// src/table.tsx
|
|
3421
|
-
var
|
|
3422
|
-
var
|
|
3532
|
+
var React28 = __toESM(require("react"), 1);
|
|
3533
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3423
3534
|
var TABLE_SIZES = {
|
|
3424
3535
|
sm: { head: "px-2", cell: "p-2" },
|
|
3425
3536
|
md: { head: "px-3", cell: "p-3" }
|
|
3426
3537
|
};
|
|
3427
|
-
var TableSizeContext =
|
|
3538
|
+
var TableSizeContext = React28.createContext("md");
|
|
3428
3539
|
function useTableSize() {
|
|
3429
|
-
return
|
|
3540
|
+
return React28.useContext(TableSizeContext);
|
|
3430
3541
|
}
|
|
3431
|
-
var Table =
|
|
3542
|
+
var Table = React28.forwardRef(
|
|
3432
3543
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
3433
|
-
const table = /* @__PURE__ */ (0,
|
|
3544
|
+
const table = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3434
3545
|
"table",
|
|
3435
3546
|
{
|
|
3436
3547
|
ref,
|
|
@@ -3440,7 +3551,7 @@ var Table = React27.forwardRef(
|
|
|
3440
3551
|
...props
|
|
3441
3552
|
}
|
|
3442
3553
|
);
|
|
3443
|
-
return /* @__PURE__ */ (0,
|
|
3554
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3444
3555
|
"div",
|
|
3445
3556
|
{
|
|
3446
3557
|
"data-slot": "table-wrapper",
|
|
@@ -3451,7 +3562,7 @@ var Table = React27.forwardRef(
|
|
|
3451
3562
|
}
|
|
3452
3563
|
);
|
|
3453
3564
|
Table.displayName = "Table";
|
|
3454
|
-
var TableHeader =
|
|
3565
|
+
var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3455
3566
|
"thead",
|
|
3456
3567
|
{
|
|
3457
3568
|
ref,
|
|
@@ -3465,7 +3576,7 @@ var TableHeader = React27.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
3465
3576
|
}
|
|
3466
3577
|
));
|
|
3467
3578
|
TableHeader.displayName = "TableHeader";
|
|
3468
|
-
var TableBody =
|
|
3579
|
+
var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3469
3580
|
"tbody",
|
|
3470
3581
|
{
|
|
3471
3582
|
ref,
|
|
@@ -3475,7 +3586,7 @@ var TableBody = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
3475
3586
|
}
|
|
3476
3587
|
));
|
|
3477
3588
|
TableBody.displayName = "TableBody";
|
|
3478
|
-
var TableFooter =
|
|
3589
|
+
var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3479
3590
|
"tfoot",
|
|
3480
3591
|
{
|
|
3481
3592
|
ref,
|
|
@@ -3488,7 +3599,7 @@ var TableFooter = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3488
3599
|
}
|
|
3489
3600
|
));
|
|
3490
3601
|
TableFooter.displayName = "TableFooter";
|
|
3491
|
-
var TableRow =
|
|
3602
|
+
var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3492
3603
|
"tr",
|
|
3493
3604
|
{
|
|
3494
3605
|
ref,
|
|
@@ -3501,9 +3612,9 @@ var TableRow = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3501
3612
|
}
|
|
3502
3613
|
));
|
|
3503
3614
|
TableRow.displayName = "TableRow";
|
|
3504
|
-
var TableHead =
|
|
3615
|
+
var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3505
3616
|
const size = useTableSize();
|
|
3506
|
-
return /* @__PURE__ */ (0,
|
|
3617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3507
3618
|
"th",
|
|
3508
3619
|
{
|
|
3509
3620
|
ref,
|
|
@@ -3518,9 +3629,9 @@ var TableHead = React27.forwardRef(({ className, ...props }, ref) => {
|
|
|
3518
3629
|
);
|
|
3519
3630
|
});
|
|
3520
3631
|
TableHead.displayName = "TableHead";
|
|
3521
|
-
var TableCell =
|
|
3632
|
+
var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
|
|
3522
3633
|
const size = useTableSize();
|
|
3523
|
-
return /* @__PURE__ */ (0,
|
|
3634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3524
3635
|
"td",
|
|
3525
3636
|
{
|
|
3526
3637
|
ref,
|
|
@@ -3535,7 +3646,7 @@ var TableCell = React27.forwardRef(({ className, ...props }, ref) => {
|
|
|
3535
3646
|
);
|
|
3536
3647
|
});
|
|
3537
3648
|
TableCell.displayName = "TableCell";
|
|
3538
|
-
var TableCaption =
|
|
3649
|
+
var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3539
3650
|
"caption",
|
|
3540
3651
|
{
|
|
3541
3652
|
ref,
|
|
@@ -3548,11 +3659,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
3548
3659
|
|
|
3549
3660
|
// src/tabs.tsx
|
|
3550
3661
|
var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3551
|
-
var
|
|
3552
|
-
var
|
|
3662
|
+
var React29 = __toESM(require("react"), 1);
|
|
3663
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3553
3664
|
var Tabs = TabsPrimitive.Root;
|
|
3554
3665
|
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 =
|
|
3666
|
+
var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3556
3667
|
TabsPrimitive.List,
|
|
3557
3668
|
{
|
|
3558
3669
|
ref,
|
|
@@ -3565,7 +3676,7 @@ var TabsList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
3565
3676
|
}
|
|
3566
3677
|
));
|
|
3567
3678
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
3568
|
-
var TabsTrigger =
|
|
3679
|
+
var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3569
3680
|
TabsPrimitive.Trigger,
|
|
3570
3681
|
{
|
|
3571
3682
|
ref,
|
|
@@ -3579,7 +3690,7 @@ var TabsTrigger = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3579
3690
|
}
|
|
3580
3691
|
));
|
|
3581
3692
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
3582
|
-
var TabsTriggerCore =
|
|
3693
|
+
var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3583
3694
|
TabsPrimitive.Trigger,
|
|
3584
3695
|
{
|
|
3585
3696
|
ref,
|
|
@@ -3589,7 +3700,7 @@ var TabsTriggerCore = React28.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
3589
3700
|
}
|
|
3590
3701
|
));
|
|
3591
3702
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
3592
|
-
var TabsContent =
|
|
3703
|
+
var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3593
3704
|
TabsPrimitive.Content,
|
|
3594
3705
|
{
|
|
3595
3706
|
ref,
|
|
@@ -3605,8 +3716,8 @@ var TabsContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
3605
3716
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
3606
3717
|
|
|
3607
3718
|
// src/textarea.tsx
|
|
3608
|
-
var
|
|
3609
|
-
var
|
|
3719
|
+
var React30 = __toESM(require("react"), 1);
|
|
3720
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3610
3721
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
3611
3722
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
3612
3723
|
function getStretchClasses(className) {
|
|
@@ -3619,7 +3730,7 @@ function getStretchClasses(className) {
|
|
|
3619
3730
|
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
3731
|
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
3732
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
3622
|
-
|
|
3733
|
+
React30.useEffect(() => {
|
|
3623
3734
|
if (!autoGrow || !ref.current) return;
|
|
3624
3735
|
const textarea = ref.current;
|
|
3625
3736
|
textarea.style.height = "auto";
|
|
@@ -3635,8 +3746,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
3635
3746
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
3636
3747
|
}
|
|
3637
3748
|
function useMergedTextareaRef(forwarded) {
|
|
3638
|
-
const internal =
|
|
3639
|
-
const callback =
|
|
3749
|
+
const internal = React30.useRef(null);
|
|
3750
|
+
const callback = React30.useCallback(
|
|
3640
3751
|
(node) => {
|
|
3641
3752
|
internal.current = node;
|
|
3642
3753
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -3653,13 +3764,13 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
3653
3764
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
3654
3765
|
};
|
|
3655
3766
|
}
|
|
3656
|
-
var Textarea =
|
|
3767
|
+
var Textarea = React30.forwardRef(
|
|
3657
3768
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
3658
3769
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3659
3770
|
const stretchClasses = getStretchClasses(className);
|
|
3660
3771
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
3661
3772
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3662
|
-
const textarea = /* @__PURE__ */ (0,
|
|
3773
|
+
const textarea = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3663
3774
|
"textarea",
|
|
3664
3775
|
{
|
|
3665
3776
|
ref: callback,
|
|
@@ -3675,15 +3786,15 @@ var Textarea = React29.forwardRef(
|
|
|
3675
3786
|
}
|
|
3676
3787
|
);
|
|
3677
3788
|
if (!needsWrapper) return textarea;
|
|
3678
|
-
return /* @__PURE__ */ (0,
|
|
3789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
3679
3790
|
}
|
|
3680
3791
|
);
|
|
3681
3792
|
Textarea.displayName = "Textarea";
|
|
3682
|
-
var BasicTextarea =
|
|
3793
|
+
var BasicTextarea = React30.forwardRef(
|
|
3683
3794
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
3684
3795
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3685
3796
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3686
|
-
return /* @__PURE__ */ (0,
|
|
3797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3687
3798
|
"textarea",
|
|
3688
3799
|
{
|
|
3689
3800
|
ref: callback,
|
|
@@ -3701,7 +3812,7 @@ var BasicTextarea = React29.forwardRef(
|
|
|
3701
3812
|
}
|
|
3702
3813
|
);
|
|
3703
3814
|
BasicTextarea.displayName = "BasicTextarea";
|
|
3704
|
-
var TextareaWithPrefix =
|
|
3815
|
+
var TextareaWithPrefix = React30.forwardRef(
|
|
3705
3816
|
({
|
|
3706
3817
|
prefix,
|
|
3707
3818
|
className,
|
|
@@ -3713,13 +3824,13 @@ var TextareaWithPrefix = React29.forwardRef(
|
|
|
3713
3824
|
}, forwarded) => {
|
|
3714
3825
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
3715
3826
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
3716
|
-
return /* @__PURE__ */ (0,
|
|
3827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3717
3828
|
"div",
|
|
3718
3829
|
{
|
|
3719
3830
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
3720
3831
|
children: [
|
|
3721
|
-
prefix ? /* @__PURE__ */ (0,
|
|
3722
|
-
/* @__PURE__ */ (0,
|
|
3832
|
+
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,
|
|
3833
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3723
3834
|
"textarea",
|
|
3724
3835
|
{
|
|
3725
3836
|
ref: callback,
|
|
@@ -3798,14 +3909,14 @@ function useScrollFade() {
|
|
|
3798
3909
|
|
|
3799
3910
|
// src/hover-card.tsx
|
|
3800
3911
|
var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
|
|
3801
|
-
var
|
|
3802
|
-
var
|
|
3912
|
+
var React31 = __toESM(require("react"), 1);
|
|
3913
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3803
3914
|
var HoverCard = HoverCardPrimitive.Root;
|
|
3804
3915
|
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
3805
|
-
var HoverCardContent =
|
|
3916
|
+
var HoverCardContent = React31.forwardRef(
|
|
3806
3917
|
({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
3807
3918
|
const resolved = usePortalContainer(container);
|
|
3808
|
-
return /* @__PURE__ */ (0,
|
|
3919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3809
3920
|
HoverCardPrimitive.Content,
|
|
3810
3921
|
{
|
|
3811
3922
|
ref,
|
|
@@ -3826,9 +3937,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
3826
3937
|
|
|
3827
3938
|
// src/radio-group.tsx
|
|
3828
3939
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
3829
|
-
var
|
|
3830
|
-
var
|
|
3831
|
-
var RadioGroupSizeContext =
|
|
3940
|
+
var React32 = __toESM(require("react"), 1);
|
|
3941
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3942
|
+
var RadioGroupSizeContext = React32.createContext("md");
|
|
3832
3943
|
var CONTROL_CLASSES = {
|
|
3833
3944
|
sm: "h-3.5 w-3.5",
|
|
3834
3945
|
md: "h-4 w-4",
|
|
@@ -3839,7 +3950,7 @@ var DOT_CLASSES = {
|
|
|
3839
3950
|
md: "h-1.5 w-1.5",
|
|
3840
3951
|
lg: "h-2 w-2"
|
|
3841
3952
|
};
|
|
3842
|
-
var RadioGroup3 =
|
|
3953
|
+
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
3954
|
RadioGroupPrimitive.Root,
|
|
3844
3955
|
{
|
|
3845
3956
|
ref,
|
|
@@ -3849,10 +3960,10 @@ var RadioGroup3 = React31.forwardRef(({ className, size = "md", ...props }, ref)
|
|
|
3849
3960
|
}
|
|
3850
3961
|
) }));
|
|
3851
3962
|
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
3852
|
-
var RadioGroupItem =
|
|
3853
|
-
const groupSize =
|
|
3963
|
+
var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) => {
|
|
3964
|
+
const groupSize = React32.useContext(RadioGroupSizeContext);
|
|
3854
3965
|
const resolved = size ?? groupSize;
|
|
3855
|
-
return /* @__PURE__ */ (0,
|
|
3966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3856
3967
|
RadioGroupPrimitive.Item,
|
|
3857
3968
|
{
|
|
3858
3969
|
ref,
|
|
@@ -3869,7 +3980,7 @@ var RadioGroupItem = React31.forwardRef(({ className, size, ...props }, ref) =>
|
|
|
3869
3980
|
className
|
|
3870
3981
|
),
|
|
3871
3982
|
...props,
|
|
3872
|
-
children: /* @__PURE__ */ (0,
|
|
3983
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3873
3984
|
"div",
|
|
3874
3985
|
{
|
|
3875
3986
|
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
@@ -3882,7 +3993,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
|
3882
3993
|
|
|
3883
3994
|
// src/resizable.tsx
|
|
3884
3995
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
3885
|
-
var
|
|
3996
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3886
3997
|
var HANDLE_SIZES = {
|
|
3887
3998
|
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3888
3999
|
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
@@ -3896,7 +4007,7 @@ var HANDLE_SIZES = {
|
|
|
3896
4007
|
var ResizablePanelGroup = ({
|
|
3897
4008
|
className,
|
|
3898
4009
|
...props
|
|
3899
|
-
}) => /* @__PURE__ */ (0,
|
|
4010
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3900
4011
|
import_react_resizable_panels.Group,
|
|
3901
4012
|
{
|
|
3902
4013
|
"data-slot": "resizable-group",
|
|
@@ -3911,7 +4022,7 @@ var ResizableHandle = ({
|
|
|
3911
4022
|
size = "xs",
|
|
3912
4023
|
className,
|
|
3913
4024
|
...props
|
|
3914
|
-
}) => /* @__PURE__ */ (0,
|
|
4025
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3915
4026
|
import_react_resizable_panels.Separator,
|
|
3916
4027
|
{
|
|
3917
4028
|
"data-slot": "resizable-handle",
|
|
@@ -3931,15 +4042,15 @@ var ResizableHandle = ({
|
|
|
3931
4042
|
className
|
|
3932
4043
|
),
|
|
3933
4044
|
...props,
|
|
3934
|
-
children: withHandle ? /* @__PURE__ */ (0,
|
|
4045
|
+
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
4046
|
}
|
|
3936
4047
|
);
|
|
3937
4048
|
ResizableHandle.displayName = "ResizableHandle";
|
|
3938
4049
|
|
|
3939
4050
|
// src/slider.tsx
|
|
3940
4051
|
var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
|
|
3941
|
-
var
|
|
3942
|
-
var
|
|
4052
|
+
var React33 = __toESM(require("react"), 1);
|
|
4053
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3943
4054
|
var TRACK_CLASSES = {
|
|
3944
4055
|
sm: "h-1",
|
|
3945
4056
|
md: "h-1.5",
|
|
@@ -3950,12 +4061,12 @@ var THUMB_CLASSES = {
|
|
|
3950
4061
|
md: "h-4 w-4",
|
|
3951
4062
|
lg: "h-5 w-5"
|
|
3952
4063
|
};
|
|
3953
|
-
var Slider =
|
|
4064
|
+
var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
3954
4065
|
const thumbCount = Math.max(
|
|
3955
4066
|
1,
|
|
3956
4067
|
(props.value ?? props.defaultValue ?? [0]).length
|
|
3957
4068
|
);
|
|
3958
|
-
return /* @__PURE__ */ (0,
|
|
4069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
3959
4070
|
SliderPrimitive.Root,
|
|
3960
4071
|
{
|
|
3961
4072
|
ref,
|
|
@@ -3967,7 +4078,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3967
4078
|
),
|
|
3968
4079
|
...props,
|
|
3969
4080
|
children: [
|
|
3970
|
-
/* @__PURE__ */ (0,
|
|
4081
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3971
4082
|
SliderPrimitive.Track,
|
|
3972
4083
|
{
|
|
3973
4084
|
"data-slot": "slider-track",
|
|
@@ -3976,7 +4087,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3976
4087
|
TRACK_CLASSES[size],
|
|
3977
4088
|
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
3978
4089
|
),
|
|
3979
|
-
children: /* @__PURE__ */ (0,
|
|
4090
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3980
4091
|
SliderPrimitive.Range,
|
|
3981
4092
|
{
|
|
3982
4093
|
"data-slot": "slider-range",
|
|
@@ -3985,7 +4096,7 @@ var Slider = React32.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
|
3985
4096
|
)
|
|
3986
4097
|
}
|
|
3987
4098
|
),
|
|
3988
|
-
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0,
|
|
4099
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3989
4100
|
SliderPrimitive.Thumb,
|
|
3990
4101
|
{
|
|
3991
4102
|
"data-slot": "slider-thumb",
|
|
@@ -4012,8 +4123,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
|
|
|
4012
4123
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
4013
4124
|
var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
|
|
4014
4125
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
4015
|
-
var
|
|
4016
|
-
var
|
|
4126
|
+
var React34 = __toESM(require("react"), 1);
|
|
4127
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
4017
4128
|
var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
4018
4129
|
"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
4130
|
{
|
|
@@ -4034,7 +4145,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
|
|
|
4034
4145
|
}
|
|
4035
4146
|
}
|
|
4036
4147
|
);
|
|
4037
|
-
var Toggle =
|
|
4148
|
+
var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4038
4149
|
TogglePrimitive.Root,
|
|
4039
4150
|
{
|
|
4040
4151
|
ref,
|
|
@@ -4044,21 +4155,21 @@ var Toggle = React33.forwardRef(({ className, variant, size, ...props }, ref) =>
|
|
|
4044
4155
|
}
|
|
4045
4156
|
));
|
|
4046
4157
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
4047
|
-
var ToggleGroupContext =
|
|
4048
|
-
var ToggleGroup =
|
|
4158
|
+
var ToggleGroupContext = React34.createContext({ size: "default", variant: "default" });
|
|
4159
|
+
var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4049
4160
|
ToggleGroupPrimitive.Root,
|
|
4050
4161
|
{
|
|
4051
4162
|
ref,
|
|
4052
4163
|
"data-slot": "toggle-group",
|
|
4053
4164
|
className: cn("flex items-center justify-center gap-1", className),
|
|
4054
4165
|
...props,
|
|
4055
|
-
children: /* @__PURE__ */ (0,
|
|
4166
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
4056
4167
|
}
|
|
4057
4168
|
));
|
|
4058
4169
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
4059
|
-
var ToggleGroupItem =
|
|
4060
|
-
const context =
|
|
4061
|
-
return /* @__PURE__ */ (0,
|
|
4170
|
+
var ToggleGroupItem = React34.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
4171
|
+
const context = React34.useContext(ToggleGroupContext);
|
|
4172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
4062
4173
|
ToggleGroupPrimitive.Item,
|
|
4063
4174
|
{
|
|
4064
4175
|
ref,
|
|
@@ -4079,14 +4190,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
|
4079
4190
|
|
|
4080
4191
|
// src/tooltip.tsx
|
|
4081
4192
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
4082
|
-
var
|
|
4083
|
-
var
|
|
4193
|
+
var React35 = __toESM(require("react"), 1);
|
|
4194
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
4084
4195
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4085
4196
|
var Tooltip = TooltipPrimitive.Root;
|
|
4086
4197
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4087
|
-
var TooltipContent =
|
|
4198
|
+
var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
|
|
4088
4199
|
const resolved = usePortalContainer(container);
|
|
4089
|
-
return /* @__PURE__ */ (0,
|
|
4200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
4090
4201
|
TooltipPrimitive.Content,
|
|
4091
4202
|
{
|
|
4092
4203
|
ref,
|