@tutti-os/ui-system 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-746EJAIH.js → chunk-53IMBHOL.js} +267 -213
- package/dist/chunk-53IMBHOL.js.map +1 -0
- package/dist/{chunk-HSIAUUW7.js → chunk-UUXDRVOD.js} +21 -1
- package/dist/chunk-UUXDRVOD.js.map +1 -0
- package/dist/components/index.d.ts +23 -1
- package/dist/components/index.js +8 -4
- package/dist/icons/index.d.ts +3 -1
- package/dist/icons/index.js +5 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -4
- package/dist/metadata/components.json +28 -0
- package/dist/metadata/index.js +28 -0
- package/dist/metadata/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-746EJAIH.js.map +0 -1
- package/dist/chunk-HSIAUUW7.js.map +0 -1
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
SuccessFilledIcon,
|
|
16
16
|
WarningFilledIcon,
|
|
17
17
|
WarningLinedIcon
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-UUXDRVOD.js";
|
|
19
19
|
import {
|
|
20
20
|
cn
|
|
21
21
|
} from "./chunk-DGPY4WP3.js";
|
|
@@ -1401,8 +1401,111 @@ function Input({
|
|
|
1401
1401
|
);
|
|
1402
1402
|
}
|
|
1403
1403
|
|
|
1404
|
+
// src/components/mention-pill/truncating-pill-label.tsx
|
|
1405
|
+
import * as React6 from "react";
|
|
1406
|
+
|
|
1407
|
+
// src/components/tooltip/tooltip.tsx
|
|
1408
|
+
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
1409
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
1410
|
+
function TooltipProvider({
|
|
1411
|
+
delayDuration = 0,
|
|
1412
|
+
...props
|
|
1413
|
+
}) {
|
|
1414
|
+
return /* @__PURE__ */ jsx13(
|
|
1415
|
+
TooltipPrimitive.Provider,
|
|
1416
|
+
{
|
|
1417
|
+
"data-slot": "tooltip-provider",
|
|
1418
|
+
delayDuration,
|
|
1419
|
+
...props
|
|
1420
|
+
}
|
|
1421
|
+
);
|
|
1422
|
+
}
|
|
1423
|
+
function Tooltip({
|
|
1424
|
+
...props
|
|
1425
|
+
}) {
|
|
1426
|
+
return /* @__PURE__ */ jsx13(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
1427
|
+
}
|
|
1428
|
+
function TooltipTrigger({
|
|
1429
|
+
...props
|
|
1430
|
+
}) {
|
|
1431
|
+
return /* @__PURE__ */ jsx13(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
1432
|
+
}
|
|
1433
|
+
function TooltipPortal({
|
|
1434
|
+
...props
|
|
1435
|
+
}) {
|
|
1436
|
+
return /* @__PURE__ */ jsx13(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
|
|
1437
|
+
}
|
|
1438
|
+
function TooltipContent({
|
|
1439
|
+
className,
|
|
1440
|
+
sideOffset = 8,
|
|
1441
|
+
children,
|
|
1442
|
+
style,
|
|
1443
|
+
...props
|
|
1444
|
+
}) {
|
|
1445
|
+
return /* @__PURE__ */ jsx13(TooltipPortal, { children: /* @__PURE__ */ jsx13(
|
|
1446
|
+
TooltipPrimitive.Content,
|
|
1447
|
+
{
|
|
1448
|
+
"data-slot": "tooltip-content",
|
|
1449
|
+
sideOffset,
|
|
1450
|
+
className: cn(
|
|
1451
|
+
"inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-2 rounded-md border border-[var(--border-1)] bg-[var(--background-fronted)] px-2 py-1 text-[13px] leading-[1.3] text-popover-foreground shadow-soft outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
1452
|
+
className
|
|
1453
|
+
),
|
|
1454
|
+
style: { zIndex: "var(--z-tooltip, 100700)", ...style },
|
|
1455
|
+
...props,
|
|
1456
|
+
children
|
|
1457
|
+
}
|
|
1458
|
+
) });
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
// src/components/mention-pill/truncating-pill-label.tsx
|
|
1462
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1463
|
+
function useTextOverflow(watch) {
|
|
1464
|
+
const ref = React6.useRef(null);
|
|
1465
|
+
const [overflowing, setOverflowing] = React6.useState(false);
|
|
1466
|
+
React6.useEffect(() => {
|
|
1467
|
+
const element = ref.current;
|
|
1468
|
+
if (!element || typeof ResizeObserver === "undefined") {
|
|
1469
|
+
return;
|
|
1470
|
+
}
|
|
1471
|
+
const measure = () => {
|
|
1472
|
+
setOverflowing(element.scrollWidth - element.clientWidth > 1);
|
|
1473
|
+
};
|
|
1474
|
+
measure();
|
|
1475
|
+
const observer = new ResizeObserver(measure);
|
|
1476
|
+
observer.observe(element);
|
|
1477
|
+
return () => observer.disconnect();
|
|
1478
|
+
}, [watch]);
|
|
1479
|
+
return { ref, overflowing };
|
|
1480
|
+
}
|
|
1481
|
+
function TruncatingPillLabel({
|
|
1482
|
+
tooltip,
|
|
1483
|
+
className,
|
|
1484
|
+
children
|
|
1485
|
+
}) {
|
|
1486
|
+
const { ref: labelRef, overflowing } = useTextOverflow(tooltip);
|
|
1487
|
+
const label = /* @__PURE__ */ jsx14(
|
|
1488
|
+
"span",
|
|
1489
|
+
{
|
|
1490
|
+
ref: labelRef,
|
|
1491
|
+
className: cn(
|
|
1492
|
+
"min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1493
|
+
className
|
|
1494
|
+
),
|
|
1495
|
+
children
|
|
1496
|
+
}
|
|
1497
|
+
);
|
|
1498
|
+
if (!tooltip) {
|
|
1499
|
+
return label;
|
|
1500
|
+
}
|
|
1501
|
+
return /* @__PURE__ */ jsx14(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ jsxs6(Tooltip, { children: [
|
|
1502
|
+
/* @__PURE__ */ jsx14(TooltipTrigger, { asChild: true, children: label }),
|
|
1503
|
+
overflowing ? /* @__PURE__ */ jsx14(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltip }) : null
|
|
1504
|
+
] }) });
|
|
1505
|
+
}
|
|
1506
|
+
|
|
1404
1507
|
// src/components/mention-pill/mention-pill.tsx
|
|
1405
|
-
import { jsx as
|
|
1508
|
+
import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1406
1509
|
var mentionPillTokenByKind = {
|
|
1407
1510
|
app: "var(--rich-text-folder)",
|
|
1408
1511
|
issue: "var(--rich-text-mention-issue)",
|
|
@@ -1434,11 +1537,14 @@ function MentionPill({
|
|
|
1434
1537
|
const normalizedIconUrl = iconUrl?.trim() ?? "";
|
|
1435
1538
|
const iconSizeClassName = "size-4";
|
|
1436
1539
|
const iconShellClassName = isFile ? "size-4" : "size-[18px]";
|
|
1437
|
-
|
|
1540
|
+
const tooltipText = [label, summary].filter(
|
|
1541
|
+
(part) => typeof part === "string" && part.trim() !== ""
|
|
1542
|
+
).join(" ");
|
|
1543
|
+
return /* @__PURE__ */ jsxs7(
|
|
1438
1544
|
"span",
|
|
1439
1545
|
{
|
|
1440
1546
|
className: cn(
|
|
1441
|
-
"group relative top-[3px] inline-flex max-w-
|
|
1547
|
+
"group relative top-[3px] inline-flex max-w-[min(100%,var(--agent-mention-max-width,16rem))] cursor-default items-center overflow-hidden rounded-[4px] border border-transparent bg-transparent py-0.5 align-baseline text-[13px] font-medium leading-5 no-underline transition-colors hover:border-transparent hover:bg-[color-mix(in_srgb,currentColor_12%,transparent)]",
|
|
1442
1548
|
isFile ? "gap-1.5 px-1.5" : "gap-1 px-1",
|
|
1443
1549
|
className
|
|
1444
1550
|
),
|
|
@@ -1451,7 +1557,7 @@ function MentionPill({
|
|
|
1451
1557
|
},
|
|
1452
1558
|
...props,
|
|
1453
1559
|
children: [
|
|
1454
|
-
/* @__PURE__ */
|
|
1560
|
+
/* @__PURE__ */ jsxs7(
|
|
1455
1561
|
"span",
|
|
1456
1562
|
{
|
|
1457
1563
|
"aria-hidden": removable ? void 0 : true,
|
|
@@ -1460,7 +1566,7 @@ function MentionPill({
|
|
|
1460
1566
|
iconShellClassName
|
|
1461
1567
|
),
|
|
1462
1568
|
children: [
|
|
1463
|
-
normalizedIconUrl ? /* @__PURE__ */
|
|
1569
|
+
normalizedIconUrl ? /* @__PURE__ */ jsx15(
|
|
1464
1570
|
"img",
|
|
1465
1571
|
{
|
|
1466
1572
|
src: normalizedIconUrl,
|
|
@@ -1473,7 +1579,7 @@ function MentionPill({
|
|
|
1473
1579
|
loading: "lazy",
|
|
1474
1580
|
draggable: false
|
|
1475
1581
|
}
|
|
1476
|
-
) : /* @__PURE__ */
|
|
1582
|
+
) : /* @__PURE__ */ jsx15(
|
|
1477
1583
|
Icon,
|
|
1478
1584
|
{
|
|
1479
1585
|
className: cn(
|
|
@@ -1483,7 +1589,7 @@ function MentionPill({
|
|
|
1483
1589
|
)
|
|
1484
1590
|
}
|
|
1485
1591
|
),
|
|
1486
|
-
removable ? /* @__PURE__ */
|
|
1592
|
+
removable ? /* @__PURE__ */ jsx15(
|
|
1487
1593
|
"button",
|
|
1488
1594
|
{
|
|
1489
1595
|
"aria-label": removeButtonProps?.["aria-label"],
|
|
@@ -1493,15 +1599,15 @@ function MentionPill({
|
|
|
1493
1599
|
"absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-sm text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:bg-transparency-block hover:text-[var(--text-primary)] focus-visible:opacity-100",
|
|
1494
1600
|
removeButtonProps?.className
|
|
1495
1601
|
),
|
|
1496
|
-
children: /* @__PURE__ */
|
|
1602
|
+
children: /* @__PURE__ */ jsx15(CloseIcon, { className: "size-3.5" })
|
|
1497
1603
|
}
|
|
1498
1604
|
) : null
|
|
1499
1605
|
]
|
|
1500
1606
|
}
|
|
1501
1607
|
),
|
|
1502
|
-
/* @__PURE__ */
|
|
1503
|
-
/* @__PURE__ */
|
|
1504
|
-
summary ? /* @__PURE__ */
|
|
1608
|
+
/* @__PURE__ */ jsxs7(TruncatingPillLabel, { tooltip: tooltipText, children: [
|
|
1609
|
+
/* @__PURE__ */ jsx15("span", { children: label }),
|
|
1610
|
+
summary ? /* @__PURE__ */ jsxs7("span", { className: "text-current", children: [
|
|
1505
1611
|
" ",
|
|
1506
1612
|
summary
|
|
1507
1613
|
] }) : null
|
|
@@ -1513,26 +1619,26 @@ function MentionPill({
|
|
|
1513
1619
|
|
|
1514
1620
|
// src/components/popover/popover.tsx
|
|
1515
1621
|
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
1516
|
-
import { jsx as
|
|
1622
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1517
1623
|
function Popover({
|
|
1518
1624
|
...props
|
|
1519
1625
|
}) {
|
|
1520
|
-
return /* @__PURE__ */
|
|
1626
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1521
1627
|
}
|
|
1522
1628
|
function PopoverTrigger({
|
|
1523
1629
|
...props
|
|
1524
1630
|
}) {
|
|
1525
|
-
return /* @__PURE__ */
|
|
1631
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1526
1632
|
}
|
|
1527
1633
|
function PopoverPortal({
|
|
1528
1634
|
...props
|
|
1529
1635
|
}) {
|
|
1530
|
-
return /* @__PURE__ */
|
|
1636
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
|
|
1531
1637
|
}
|
|
1532
1638
|
function PopoverClose({
|
|
1533
1639
|
...props
|
|
1534
1640
|
}) {
|
|
1535
|
-
return /* @__PURE__ */
|
|
1641
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
|
|
1536
1642
|
}
|
|
1537
1643
|
function PopoverContent({
|
|
1538
1644
|
className,
|
|
@@ -1540,7 +1646,7 @@ function PopoverContent({
|
|
|
1540
1646
|
sideOffset = 4,
|
|
1541
1647
|
...props
|
|
1542
1648
|
}) {
|
|
1543
|
-
return /* @__PURE__ */
|
|
1649
|
+
return /* @__PURE__ */ jsx16(PopoverPortal, { children: /* @__PURE__ */ jsx16(
|
|
1544
1650
|
PopoverPrimitive.Content,
|
|
1545
1651
|
{
|
|
1546
1652
|
"data-slot": "popover-content",
|
|
@@ -1558,18 +1664,18 @@ function PopoverContent({
|
|
|
1558
1664
|
function PopoverAnchor({
|
|
1559
1665
|
...props
|
|
1560
1666
|
}) {
|
|
1561
|
-
return /* @__PURE__ */
|
|
1667
|
+
return /* @__PURE__ */ jsx16(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
1562
1668
|
}
|
|
1563
1669
|
|
|
1564
1670
|
// src/components/resizable/resizable.tsx
|
|
1565
1671
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
1566
|
-
import { jsx as
|
|
1672
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1567
1673
|
function ResizablePanelGroup({
|
|
1568
1674
|
className,
|
|
1569
1675
|
orientation = "horizontal",
|
|
1570
1676
|
...props
|
|
1571
1677
|
}) {
|
|
1572
|
-
return /* @__PURE__ */
|
|
1678
|
+
return /* @__PURE__ */ jsx17(
|
|
1573
1679
|
ResizablePrimitive.Group,
|
|
1574
1680
|
{
|
|
1575
1681
|
"data-orientation": orientation,
|
|
@@ -1584,14 +1690,14 @@ function ResizablePanelGroup({
|
|
|
1584
1690
|
);
|
|
1585
1691
|
}
|
|
1586
1692
|
function ResizablePanel(props) {
|
|
1587
|
-
return /* @__PURE__ */
|
|
1693
|
+
return /* @__PURE__ */ jsx17(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
1588
1694
|
}
|
|
1589
1695
|
function ResizableHandle({
|
|
1590
1696
|
className,
|
|
1591
1697
|
withHandle,
|
|
1592
1698
|
...props
|
|
1593
1699
|
}) {
|
|
1594
|
-
return /* @__PURE__ */
|
|
1700
|
+
return /* @__PURE__ */ jsx17(
|
|
1595
1701
|
ResizablePrimitive.Separator,
|
|
1596
1702
|
{
|
|
1597
1703
|
"data-slot": "resizable-handle",
|
|
@@ -1600,14 +1706,14 @@ function ResizableHandle({
|
|
|
1600
1706
|
className
|
|
1601
1707
|
),
|
|
1602
1708
|
...props,
|
|
1603
|
-
children: withHandle ? /* @__PURE__ */
|
|
1709
|
+
children: withHandle ? /* @__PURE__ */ jsx17("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
|
|
1604
1710
|
}
|
|
1605
1711
|
);
|
|
1606
1712
|
}
|
|
1607
1713
|
|
|
1608
1714
|
// src/components/scroll-area/scroll-area.tsx
|
|
1609
|
-
import * as
|
|
1610
|
-
import { jsx as
|
|
1715
|
+
import * as React7 from "react";
|
|
1716
|
+
import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1611
1717
|
var MIN_THUMB_SIZE_PX = 24;
|
|
1612
1718
|
function ScrollArea({
|
|
1613
1719
|
className,
|
|
@@ -1642,9 +1748,9 @@ function ScrollArea({
|
|
|
1642
1748
|
...props
|
|
1643
1749
|
};
|
|
1644
1750
|
if (scrollbarMode === "native") {
|
|
1645
|
-
return /* @__PURE__ */
|
|
1751
|
+
return /* @__PURE__ */ jsx18(NativeScrollArea, { ...implementationProps, children });
|
|
1646
1752
|
}
|
|
1647
|
-
return /* @__PURE__ */
|
|
1753
|
+
return /* @__PURE__ */ jsx18(CustomScrollArea, { ...implementationProps, children });
|
|
1648
1754
|
}
|
|
1649
1755
|
function NativeScrollArea({
|
|
1650
1756
|
className,
|
|
@@ -1663,7 +1769,7 @@ function NativeScrollArea({
|
|
|
1663
1769
|
...props
|
|
1664
1770
|
}) {
|
|
1665
1771
|
const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
|
|
1666
|
-
return /* @__PURE__ */
|
|
1772
|
+
return /* @__PURE__ */ jsx18(
|
|
1667
1773
|
ScrollAreaFrame,
|
|
1668
1774
|
{
|
|
1669
1775
|
...props,
|
|
@@ -1702,11 +1808,11 @@ function CustomScrollArea({
|
|
|
1702
1808
|
viewportTestId,
|
|
1703
1809
|
...props
|
|
1704
1810
|
}) {
|
|
1705
|
-
const localViewportRef =
|
|
1706
|
-
const contentRef =
|
|
1707
|
-
const [active, setActive] =
|
|
1811
|
+
const localViewportRef = React7.useRef(null);
|
|
1812
|
+
const contentRef = React7.useRef(null);
|
|
1813
|
+
const [active, setActive] = React7.useState(false);
|
|
1708
1814
|
const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
|
|
1709
|
-
return /* @__PURE__ */
|
|
1815
|
+
return /* @__PURE__ */ jsxs8(
|
|
1710
1816
|
ScrollAreaFrame,
|
|
1711
1817
|
{
|
|
1712
1818
|
...props,
|
|
@@ -1742,7 +1848,7 @@ function CustomScrollArea({
|
|
|
1742
1848
|
viewportTestId,
|
|
1743
1849
|
children: [
|
|
1744
1850
|
children,
|
|
1745
|
-
/* @__PURE__ */
|
|
1851
|
+
/* @__PURE__ */ jsx18(
|
|
1746
1852
|
ScrollAreaScrollbar,
|
|
1747
1853
|
{
|
|
1748
1854
|
active: active || alwaysVisible,
|
|
@@ -1767,7 +1873,7 @@ function ScrollAreaFrame({
|
|
|
1767
1873
|
viewportTestId,
|
|
1768
1874
|
...props
|
|
1769
1875
|
}) {
|
|
1770
|
-
return /* @__PURE__ */
|
|
1876
|
+
return /* @__PURE__ */ jsx18(
|
|
1771
1877
|
"div",
|
|
1772
1878
|
{
|
|
1773
1879
|
"data-slot": "scroll-area",
|
|
@@ -1777,7 +1883,7 @@ function ScrollAreaFrame({
|
|
|
1777
1883
|
className
|
|
1778
1884
|
),
|
|
1779
1885
|
...props,
|
|
1780
|
-
children: /* @__PURE__ */
|
|
1886
|
+
children: /* @__PURE__ */ jsx18(
|
|
1781
1887
|
"div",
|
|
1782
1888
|
{
|
|
1783
1889
|
...viewportProps,
|
|
@@ -1788,7 +1894,7 @@ function ScrollAreaFrame({
|
|
|
1788
1894
|
"size-full overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
|
|
1789
1895
|
viewportClassName
|
|
1790
1896
|
),
|
|
1791
|
-
children: /* @__PURE__ */
|
|
1897
|
+
children: /* @__PURE__ */ jsx18(
|
|
1792
1898
|
"div",
|
|
1793
1899
|
{
|
|
1794
1900
|
ref: contentRef,
|
|
@@ -1812,15 +1918,15 @@ function ScrollAreaScrollbar({
|
|
|
1812
1918
|
orientation,
|
|
1813
1919
|
viewportRef
|
|
1814
1920
|
}) {
|
|
1815
|
-
const trackRef =
|
|
1816
|
-
const thumbRef =
|
|
1817
|
-
const dragStateRef =
|
|
1818
|
-
const frameRef =
|
|
1819
|
-
const scrollableRef =
|
|
1820
|
-
const [dragging, setDragging] =
|
|
1821
|
-
const [scrollable, setScrollable] =
|
|
1822
|
-
const [trackActive, setTrackActive] =
|
|
1823
|
-
const syncScrollbarState =
|
|
1921
|
+
const trackRef = React7.useRef(null);
|
|
1922
|
+
const thumbRef = React7.useRef(null);
|
|
1923
|
+
const dragStateRef = React7.useRef(null);
|
|
1924
|
+
const frameRef = React7.useRef(null);
|
|
1925
|
+
const scrollableRef = React7.useRef(false);
|
|
1926
|
+
const [dragging, setDragging] = React7.useState(false);
|
|
1927
|
+
const [scrollable, setScrollable] = React7.useState(false);
|
|
1928
|
+
const [trackActive, setTrackActive] = React7.useState(false);
|
|
1929
|
+
const syncScrollbarState = React7.useCallback(() => {
|
|
1824
1930
|
const viewport = viewportRef.current;
|
|
1825
1931
|
const track = trackRef.current;
|
|
1826
1932
|
const thumb = thumbRef.current;
|
|
@@ -1859,7 +1965,7 @@ function ScrollAreaScrollbar({
|
|
|
1859
1965
|
}
|
|
1860
1966
|
updateScrollable(true, scrollableRef, setScrollable);
|
|
1861
1967
|
}, [orientation, viewportRef]);
|
|
1862
|
-
const scheduleSync =
|
|
1968
|
+
const scheduleSync = React7.useCallback(() => {
|
|
1863
1969
|
if (frameRef.current !== null) {
|
|
1864
1970
|
return;
|
|
1865
1971
|
}
|
|
@@ -1868,7 +1974,7 @@ function ScrollAreaScrollbar({
|
|
|
1868
1974
|
syncScrollbarState();
|
|
1869
1975
|
});
|
|
1870
1976
|
}, [syncScrollbarState]);
|
|
1871
|
-
const scrollViewportToThumbOffset =
|
|
1977
|
+
const scrollViewportToThumbOffset = React7.useCallback(
|
|
1872
1978
|
(thumbOffset) => {
|
|
1873
1979
|
const viewport = viewportRef.current;
|
|
1874
1980
|
const track = trackRef.current;
|
|
@@ -1895,7 +2001,7 @@ function ScrollAreaScrollbar({
|
|
|
1895
2001
|
},
|
|
1896
2002
|
[orientation, syncScrollbarState, viewportRef]
|
|
1897
2003
|
);
|
|
1898
|
-
const handleTrackPointerDown =
|
|
2004
|
+
const handleTrackPointerDown = React7.useCallback(
|
|
1899
2005
|
(event) => {
|
|
1900
2006
|
if (event.button !== 0 || !scrollableRef.current) {
|
|
1901
2007
|
return;
|
|
@@ -1915,7 +2021,7 @@ function ScrollAreaScrollbar({
|
|
|
1915
2021
|
},
|
|
1916
2022
|
[orientation, scrollViewportToThumbOffset]
|
|
1917
2023
|
);
|
|
1918
|
-
const handleThumbPointerDown =
|
|
2024
|
+
const handleThumbPointerDown = React7.useCallback(
|
|
1919
2025
|
(event) => {
|
|
1920
2026
|
if (event.button !== 0 || !scrollableRef.current) {
|
|
1921
2027
|
return;
|
|
@@ -1947,7 +2053,7 @@ function ScrollAreaScrollbar({
|
|
|
1947
2053
|
},
|
|
1948
2054
|
[orientation, viewportRef]
|
|
1949
2055
|
);
|
|
1950
|
-
|
|
2056
|
+
React7.useEffect(() => {
|
|
1951
2057
|
if (!dragging) {
|
|
1952
2058
|
return;
|
|
1953
2059
|
}
|
|
@@ -1978,7 +2084,7 @@ function ScrollAreaScrollbar({
|
|
|
1978
2084
|
window.removeEventListener("pointerup", handlePointerUp);
|
|
1979
2085
|
};
|
|
1980
2086
|
}, [dragging, orientation, syncScrollbarState, viewportRef]);
|
|
1981
|
-
|
|
2087
|
+
React7.useEffect(() => {
|
|
1982
2088
|
const viewport = viewportRef.current;
|
|
1983
2089
|
if (!viewport) {
|
|
1984
2090
|
updateScrollable(false, scrollableRef, setScrollable);
|
|
@@ -2000,10 +2106,10 @@ function ScrollAreaScrollbar({
|
|
|
2000
2106
|
resizeObserver?.disconnect();
|
|
2001
2107
|
};
|
|
2002
2108
|
}, [contentRef, scheduleSync, syncScrollbarState, viewportRef]);
|
|
2003
|
-
|
|
2109
|
+
React7.useEffect(() => {
|
|
2004
2110
|
scheduleSync();
|
|
2005
2111
|
});
|
|
2006
|
-
return /* @__PURE__ */
|
|
2112
|
+
return /* @__PURE__ */ jsx18(
|
|
2007
2113
|
"div",
|
|
2008
2114
|
{
|
|
2009
2115
|
ref: trackRef,
|
|
@@ -2021,7 +2127,7 @@ function ScrollAreaScrollbar({
|
|
|
2021
2127
|
onPointerEnter: () => setTrackActive(true),
|
|
2022
2128
|
onPointerLeave: () => setTrackActive(false),
|
|
2023
2129
|
onPointerDown: handleTrackPointerDown,
|
|
2024
|
-
children: /* @__PURE__ */
|
|
2130
|
+
children: /* @__PURE__ */ jsx18(
|
|
2025
2131
|
"div",
|
|
2026
2132
|
{
|
|
2027
2133
|
ref: thumbRef,
|
|
@@ -2040,7 +2146,7 @@ function ScrollBar({
|
|
|
2040
2146
|
orientation = "vertical",
|
|
2041
2147
|
...props
|
|
2042
2148
|
}) {
|
|
2043
|
-
return /* @__PURE__ */
|
|
2149
|
+
return /* @__PURE__ */ jsx18(
|
|
2044
2150
|
"div",
|
|
2045
2151
|
{
|
|
2046
2152
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -2048,7 +2154,7 @@ function ScrollBar({
|
|
|
2048
2154
|
className: cn(scrollbarClassName(orientation), className),
|
|
2049
2155
|
style: scrollbarStyle({ active: false, orientation, scrollable: true }),
|
|
2050
2156
|
...props,
|
|
2051
|
-
children: /* @__PURE__ */
|
|
2157
|
+
children: /* @__PURE__ */ jsx18(
|
|
2052
2158
|
"div",
|
|
2053
2159
|
{
|
|
2054
2160
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2169,17 +2275,17 @@ function clamp(value, min, max) {
|
|
|
2169
2275
|
|
|
2170
2276
|
// src/components/select/select.tsx
|
|
2171
2277
|
import { Select as SelectPrimitive } from "radix-ui";
|
|
2172
|
-
import { jsx as
|
|
2278
|
+
import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2173
2279
|
function Select({
|
|
2174
2280
|
...props
|
|
2175
2281
|
}) {
|
|
2176
|
-
return /* @__PURE__ */
|
|
2282
|
+
return /* @__PURE__ */ jsx19(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
2177
2283
|
}
|
|
2178
2284
|
function SelectGroup({
|
|
2179
2285
|
className,
|
|
2180
2286
|
...props
|
|
2181
2287
|
}) {
|
|
2182
|
-
return /* @__PURE__ */
|
|
2288
|
+
return /* @__PURE__ */ jsx19(
|
|
2183
2289
|
SelectPrimitive.Group,
|
|
2184
2290
|
{
|
|
2185
2291
|
"data-slot": "select-group",
|
|
@@ -2191,7 +2297,7 @@ function SelectGroup({
|
|
|
2191
2297
|
function SelectValue({
|
|
2192
2298
|
...props
|
|
2193
2299
|
}) {
|
|
2194
|
-
return /* @__PURE__ */
|
|
2300
|
+
return /* @__PURE__ */ jsx19(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
2195
2301
|
}
|
|
2196
2302
|
function SelectTrigger({
|
|
2197
2303
|
className,
|
|
@@ -2200,7 +2306,7 @@ function SelectTrigger({
|
|
|
2200
2306
|
children,
|
|
2201
2307
|
...props
|
|
2202
2308
|
}) {
|
|
2203
|
-
return /* @__PURE__ */
|
|
2309
|
+
return /* @__PURE__ */ jsxs9(
|
|
2204
2310
|
SelectPrimitive.Trigger,
|
|
2205
2311
|
{
|
|
2206
2312
|
"data-slot": "select-trigger",
|
|
@@ -2214,7 +2320,7 @@ function SelectTrigger({
|
|
|
2214
2320
|
...props,
|
|
2215
2321
|
children: [
|
|
2216
2322
|
children,
|
|
2217
|
-
/* @__PURE__ */
|
|
2323
|
+
/* @__PURE__ */ jsx19(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx19(
|
|
2218
2324
|
ChevronDownIcon,
|
|
2219
2325
|
{
|
|
2220
2326
|
className: cn("pointer-events-none size-4", "text-current")
|
|
@@ -2232,7 +2338,7 @@ function SelectContent({
|
|
|
2232
2338
|
style,
|
|
2233
2339
|
...props
|
|
2234
2340
|
}) {
|
|
2235
|
-
return /* @__PURE__ */
|
|
2341
|
+
return /* @__PURE__ */ jsx19(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
|
|
2236
2342
|
SelectPrimitive.Content,
|
|
2237
2343
|
{
|
|
2238
2344
|
asChild: true,
|
|
@@ -2241,7 +2347,7 @@ function SelectContent({
|
|
|
2241
2347
|
position,
|
|
2242
2348
|
align,
|
|
2243
2349
|
...props,
|
|
2244
|
-
children: /* @__PURE__ */
|
|
2350
|
+
children: /* @__PURE__ */ jsxs9(
|
|
2245
2351
|
MenuSurface,
|
|
2246
2352
|
{
|
|
2247
2353
|
"data-slot": "select-content",
|
|
@@ -2252,8 +2358,8 @@ function SelectContent({
|
|
|
2252
2358
|
),
|
|
2253
2359
|
style: { zIndex: "var(--z-popover)", ...style },
|
|
2254
2360
|
children: [
|
|
2255
|
-
/* @__PURE__ */
|
|
2256
|
-
/* @__PURE__ */
|
|
2361
|
+
/* @__PURE__ */ jsx19(SelectScrollUpButton, {}),
|
|
2362
|
+
/* @__PURE__ */ jsx19(
|
|
2257
2363
|
SelectPrimitive.Viewport,
|
|
2258
2364
|
{
|
|
2259
2365
|
"data-position": position,
|
|
@@ -2263,7 +2369,7 @@ function SelectContent({
|
|
|
2263
2369
|
children
|
|
2264
2370
|
}
|
|
2265
2371
|
),
|
|
2266
|
-
/* @__PURE__ */
|
|
2372
|
+
/* @__PURE__ */ jsx19(SelectScrollDownButton, {})
|
|
2267
2373
|
]
|
|
2268
2374
|
}
|
|
2269
2375
|
)
|
|
@@ -2274,7 +2380,7 @@ function SelectLabel({
|
|
|
2274
2380
|
className,
|
|
2275
2381
|
...props
|
|
2276
2382
|
}) {
|
|
2277
|
-
return /* @__PURE__ */
|
|
2383
|
+
return /* @__PURE__ */ jsx19(
|
|
2278
2384
|
SelectPrimitive.Label,
|
|
2279
2385
|
{
|
|
2280
2386
|
"data-slot": "select-label",
|
|
@@ -2290,7 +2396,7 @@ function SelectSplitLayout({
|
|
|
2290
2396
|
className,
|
|
2291
2397
|
...props
|
|
2292
2398
|
}) {
|
|
2293
|
-
return /* @__PURE__ */
|
|
2399
|
+
return /* @__PURE__ */ jsx19(
|
|
2294
2400
|
"div",
|
|
2295
2401
|
{
|
|
2296
2402
|
"data-slot": "select-split-layout",
|
|
@@ -2306,7 +2412,7 @@ function SelectSplitColumn({
|
|
|
2306
2412
|
className,
|
|
2307
2413
|
...props
|
|
2308
2414
|
}) {
|
|
2309
|
-
return /* @__PURE__ */
|
|
2415
|
+
return /* @__PURE__ */ jsx19(
|
|
2310
2416
|
"div",
|
|
2311
2417
|
{
|
|
2312
2418
|
"data-slot": "select-split-column",
|
|
@@ -2319,7 +2425,7 @@ function SelectSplitColumnLabel({
|
|
|
2319
2425
|
className,
|
|
2320
2426
|
...props
|
|
2321
2427
|
}) {
|
|
2322
|
-
return /* @__PURE__ */
|
|
2428
|
+
return /* @__PURE__ */ jsx19(
|
|
2323
2429
|
"div",
|
|
2324
2430
|
{
|
|
2325
2431
|
"data-slot": "select-split-column-label",
|
|
@@ -2335,7 +2441,7 @@ function SelectSplitColumnItems({
|
|
|
2335
2441
|
className,
|
|
2336
2442
|
...props
|
|
2337
2443
|
}) {
|
|
2338
|
-
return /* @__PURE__ */
|
|
2444
|
+
return /* @__PURE__ */ jsx19(
|
|
2339
2445
|
"div",
|
|
2340
2446
|
{
|
|
2341
2447
|
"data-slot": "select-split-column-items",
|
|
@@ -2351,7 +2457,7 @@ function SelectSplitDivider({
|
|
|
2351
2457
|
className,
|
|
2352
2458
|
...props
|
|
2353
2459
|
}) {
|
|
2354
|
-
return /* @__PURE__ */
|
|
2460
|
+
return /* @__PURE__ */ jsx19(
|
|
2355
2461
|
"div",
|
|
2356
2462
|
{
|
|
2357
2463
|
"aria-hidden": "true",
|
|
@@ -2370,21 +2476,21 @@ function SelectItem({
|
|
|
2370
2476
|
forceSelectedIndicator = false,
|
|
2371
2477
|
...props
|
|
2372
2478
|
}) {
|
|
2373
|
-
return /* @__PURE__ */
|
|
2479
|
+
return /* @__PURE__ */ jsxs9(
|
|
2374
2480
|
SelectPrimitive.Item,
|
|
2375
2481
|
{
|
|
2376
2482
|
"data-slot": "select-item",
|
|
2377
2483
|
className: cn("w-full", menuItemWithIndicatorClassName, className),
|
|
2378
2484
|
...props,
|
|
2379
2485
|
children: [
|
|
2380
|
-
/* @__PURE__ */
|
|
2486
|
+
/* @__PURE__ */ jsx19("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx19(
|
|
2381
2487
|
CheckIcon,
|
|
2382
2488
|
{
|
|
2383
2489
|
className: "pointer-events-none text-[var(--tutti-purple)]",
|
|
2384
2490
|
"data-slot": "select-item-forced-indicator"
|
|
2385
2491
|
}
|
|
2386
|
-
) : /* @__PURE__ */
|
|
2387
|
-
/* @__PURE__ */
|
|
2492
|
+
) : /* @__PURE__ */ jsx19(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
|
|
2493
|
+
/* @__PURE__ */ jsx19(SelectPrimitive.ItemText, { children })
|
|
2388
2494
|
]
|
|
2389
2495
|
}
|
|
2390
2496
|
);
|
|
@@ -2393,7 +2499,7 @@ function SelectSeparator({
|
|
|
2393
2499
|
className,
|
|
2394
2500
|
...props
|
|
2395
2501
|
}) {
|
|
2396
|
-
return /* @__PURE__ */
|
|
2502
|
+
return /* @__PURE__ */ jsx19(
|
|
2397
2503
|
SelectPrimitive.Separator,
|
|
2398
2504
|
{
|
|
2399
2505
|
"data-slot": "select-separator",
|
|
@@ -2409,7 +2515,7 @@ function SelectScrollUpButton({
|
|
|
2409
2515
|
className,
|
|
2410
2516
|
...props
|
|
2411
2517
|
}) {
|
|
2412
|
-
return /* @__PURE__ */
|
|
2518
|
+
return /* @__PURE__ */ jsx19(
|
|
2413
2519
|
SelectPrimitive.ScrollUpButton,
|
|
2414
2520
|
{
|
|
2415
2521
|
"data-slot": "select-scroll-up-button",
|
|
@@ -2418,7 +2524,7 @@ function SelectScrollUpButton({
|
|
|
2418
2524
|
className
|
|
2419
2525
|
),
|
|
2420
2526
|
...props,
|
|
2421
|
-
children: /* @__PURE__ */
|
|
2527
|
+
children: /* @__PURE__ */ jsx19(ChevronUpIcon, {})
|
|
2422
2528
|
}
|
|
2423
2529
|
);
|
|
2424
2530
|
}
|
|
@@ -2426,7 +2532,7 @@ function SelectScrollDownButton({
|
|
|
2426
2532
|
className,
|
|
2427
2533
|
...props
|
|
2428
2534
|
}) {
|
|
2429
|
-
return /* @__PURE__ */
|
|
2535
|
+
return /* @__PURE__ */ jsx19(
|
|
2430
2536
|
SelectPrimitive.ScrollDownButton,
|
|
2431
2537
|
{
|
|
2432
2538
|
"data-slot": "select-scroll-down-button",
|
|
@@ -2435,21 +2541,21 @@ function SelectScrollDownButton({
|
|
|
2435
2541
|
className
|
|
2436
2542
|
),
|
|
2437
2543
|
...props,
|
|
2438
|
-
children: /* @__PURE__ */
|
|
2544
|
+
children: /* @__PURE__ */ jsx19(ChevronDownIcon, {})
|
|
2439
2545
|
}
|
|
2440
2546
|
);
|
|
2441
2547
|
}
|
|
2442
2548
|
|
|
2443
2549
|
// src/components/separator/separator.tsx
|
|
2444
2550
|
import { Separator as SeparatorPrimitive } from "radix-ui";
|
|
2445
|
-
import { jsx as
|
|
2551
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
2446
2552
|
function Separator2({
|
|
2447
2553
|
className,
|
|
2448
2554
|
orientation = "horizontal",
|
|
2449
2555
|
decorative = true,
|
|
2450
2556
|
...props
|
|
2451
2557
|
}) {
|
|
2452
|
-
return /* @__PURE__ */
|
|
2558
|
+
return /* @__PURE__ */ jsx20(
|
|
2453
2559
|
SeparatorPrimitive.Root,
|
|
2454
2560
|
{
|
|
2455
2561
|
"data-slot": "separator",
|
|
@@ -2465,7 +2571,7 @@ function Separator2({
|
|
|
2465
2571
|
}
|
|
2466
2572
|
|
|
2467
2573
|
// src/components/section-tabs/section-tabs.tsx
|
|
2468
|
-
import { jsx as
|
|
2574
|
+
import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2469
2575
|
function SectionTabs({
|
|
2470
2576
|
tabs,
|
|
2471
2577
|
value,
|
|
@@ -2474,7 +2580,7 @@ function SectionTabs({
|
|
|
2474
2580
|
className,
|
|
2475
2581
|
testId
|
|
2476
2582
|
}) {
|
|
2477
|
-
return /* @__PURE__ */
|
|
2583
|
+
return /* @__PURE__ */ jsx21(
|
|
2478
2584
|
"div",
|
|
2479
2585
|
{
|
|
2480
2586
|
"aria-label": ariaLabel,
|
|
@@ -2484,7 +2590,7 @@ function SectionTabs({
|
|
|
2484
2590
|
role: "tablist",
|
|
2485
2591
|
children: tabs.map((tab) => {
|
|
2486
2592
|
const isActive = value === tab.value;
|
|
2487
|
-
return /* @__PURE__ */
|
|
2593
|
+
return /* @__PURE__ */ jsxs10(
|
|
2488
2594
|
"button",
|
|
2489
2595
|
{
|
|
2490
2596
|
"aria-selected": isActive,
|
|
@@ -2499,8 +2605,8 @@ function SectionTabs({
|
|
|
2499
2605
|
type: "button",
|
|
2500
2606
|
onClick: () => onValueChange(tab.value),
|
|
2501
2607
|
children: [
|
|
2502
|
-
/* @__PURE__ */
|
|
2503
|
-
tab.count !== void 0 ? /* @__PURE__ */
|
|
2608
|
+
/* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate", children: tab.label }),
|
|
2609
|
+
tab.count !== void 0 ? /* @__PURE__ */ jsx21("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
|
|
2504
2610
|
]
|
|
2505
2611
|
},
|
|
2506
2612
|
tab.value
|
|
@@ -2511,9 +2617,9 @@ function SectionTabs({
|
|
|
2511
2617
|
}
|
|
2512
2618
|
|
|
2513
2619
|
// src/components/shortcut-badge/shortcut-badge.tsx
|
|
2514
|
-
import { jsx as
|
|
2620
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2515
2621
|
function ShortcutBadge({ className, ...props }) {
|
|
2516
|
-
return /* @__PURE__ */
|
|
2622
|
+
return /* @__PURE__ */ jsx22(
|
|
2517
2623
|
"kbd",
|
|
2518
2624
|
{
|
|
2519
2625
|
"data-slot": "shortcut-badge",
|
|
@@ -2531,9 +2637,9 @@ import {
|
|
|
2531
2637
|
Toaster as SonnerToaster,
|
|
2532
2638
|
toast
|
|
2533
2639
|
} from "sonner";
|
|
2534
|
-
import { jsx as
|
|
2640
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2535
2641
|
function Toaster({ toastOptions, style, ...props }) {
|
|
2536
|
-
return /* @__PURE__ */
|
|
2642
|
+
return /* @__PURE__ */ jsx23(
|
|
2537
2643
|
SonnerToaster,
|
|
2538
2644
|
{
|
|
2539
2645
|
closeButton: true,
|
|
@@ -2542,11 +2648,11 @@ function Toaster({ toastOptions, style, ...props }) {
|
|
|
2542
2648
|
position: "top-right",
|
|
2543
2649
|
visibleToasts: 4,
|
|
2544
2650
|
icons: {
|
|
2545
|
-
error: /* @__PURE__ */
|
|
2546
|
-
info: /* @__PURE__ */
|
|
2547
|
-
loading: /* @__PURE__ */
|
|
2548
|
-
success: /* @__PURE__ */
|
|
2549
|
-
warning: /* @__PURE__ */
|
|
2651
|
+
error: /* @__PURE__ */ jsx23(FailedFilledIcon, { className: "size-4" }),
|
|
2652
|
+
info: /* @__PURE__ */ jsx23(WarningLinedIcon, { className: "size-4" }),
|
|
2653
|
+
loading: /* @__PURE__ */ jsx23(LoadingIcon, { className: "size-4 animate-spin" }),
|
|
2654
|
+
success: /* @__PURE__ */ jsx23(SuccessFilledIcon, { className: "size-4" }),
|
|
2655
|
+
warning: /* @__PURE__ */ jsx23(WarningFilledIcon, { className: "size-4" })
|
|
2550
2656
|
},
|
|
2551
2657
|
style: {
|
|
2552
2658
|
"--normal-bg": "var(--background-fronted)",
|
|
@@ -2575,7 +2681,7 @@ function Toaster({ toastOptions, style, ...props }) {
|
|
|
2575
2681
|
}
|
|
2576
2682
|
|
|
2577
2683
|
// src/components/spinner/spinner.tsx
|
|
2578
|
-
import { jsx as
|
|
2684
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2579
2685
|
function Spinner({
|
|
2580
2686
|
className,
|
|
2581
2687
|
size = 16,
|
|
@@ -2584,7 +2690,7 @@ function Spinner({
|
|
|
2584
2690
|
testId,
|
|
2585
2691
|
trackColor
|
|
2586
2692
|
}) {
|
|
2587
|
-
return /* @__PURE__ */
|
|
2693
|
+
return /* @__PURE__ */ jsx24(
|
|
2588
2694
|
LoadingIcon,
|
|
2589
2695
|
{
|
|
2590
2696
|
"data-slot": "spinner",
|
|
@@ -2604,7 +2710,7 @@ function Spinner({
|
|
|
2604
2710
|
|
|
2605
2711
|
// src/components/status-dot/status-dot.tsx
|
|
2606
2712
|
import { cva as cva4 } from "class-variance-authority";
|
|
2607
|
-
import { jsx as
|
|
2713
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
2608
2714
|
var statusDotVariants = cva4("inline-flex shrink-0 rounded-full", {
|
|
2609
2715
|
variants: {
|
|
2610
2716
|
tone: {
|
|
@@ -2638,7 +2744,7 @@ function StatusDot({
|
|
|
2638
2744
|
title,
|
|
2639
2745
|
className
|
|
2640
2746
|
}) {
|
|
2641
|
-
return /* @__PURE__ */
|
|
2747
|
+
return /* @__PURE__ */ jsx25(
|
|
2642
2748
|
"span",
|
|
2643
2749
|
{
|
|
2644
2750
|
"aria-hidden": ariaLabel ? void 0 : true,
|
|
@@ -2656,13 +2762,13 @@ function StatusDot({
|
|
|
2656
2762
|
|
|
2657
2763
|
// src/components/switch/switch.tsx
|
|
2658
2764
|
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
2659
|
-
import { jsx as
|
|
2765
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2660
2766
|
function Switch({
|
|
2661
2767
|
className,
|
|
2662
2768
|
size = "default",
|
|
2663
2769
|
...props
|
|
2664
2770
|
}) {
|
|
2665
|
-
return /* @__PURE__ */
|
|
2771
|
+
return /* @__PURE__ */ jsx26(
|
|
2666
2772
|
SwitchPrimitive.Root,
|
|
2667
2773
|
{
|
|
2668
2774
|
"data-slot": "switch",
|
|
@@ -2672,7 +2778,7 @@ function Switch({
|
|
|
2672
2778
|
className
|
|
2673
2779
|
),
|
|
2674
2780
|
...props,
|
|
2675
|
-
children: /* @__PURE__ */
|
|
2781
|
+
children: /* @__PURE__ */ jsx26(
|
|
2676
2782
|
SwitchPrimitive.Thumb,
|
|
2677
2783
|
{
|
|
2678
2784
|
"data-slot": "switch-thumb",
|
|
@@ -2684,9 +2790,9 @@ function Switch({
|
|
|
2684
2790
|
}
|
|
2685
2791
|
|
|
2686
2792
|
// src/components/textarea/textarea.tsx
|
|
2687
|
-
import { jsx as
|
|
2793
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2688
2794
|
function Textarea({ className, ...props }) {
|
|
2689
|
-
return /* @__PURE__ */
|
|
2795
|
+
return /* @__PURE__ */ jsx27(
|
|
2690
2796
|
"textarea",
|
|
2691
2797
|
{
|
|
2692
2798
|
"data-slot": "textarea",
|
|
@@ -2700,18 +2806,18 @@ function Textarea({ className, ...props }) {
|
|
|
2700
2806
|
}
|
|
2701
2807
|
|
|
2702
2808
|
// src/components/toast/toast.tsx
|
|
2703
|
-
import * as
|
|
2809
|
+
import * as React8 from "react";
|
|
2704
2810
|
import { Toast as ToastPrimitive } from "radix-ui";
|
|
2705
2811
|
import { cva as cva5 } from "class-variance-authority";
|
|
2706
|
-
import { jsx as
|
|
2812
|
+
import { jsx as jsx28, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2707
2813
|
var toastDefaultDurationMs = 3e3;
|
|
2708
2814
|
function ToastProvider({
|
|
2709
2815
|
duration = toastDefaultDurationMs,
|
|
2710
2816
|
...props
|
|
2711
2817
|
}) {
|
|
2712
|
-
return /* @__PURE__ */
|
|
2818
|
+
return /* @__PURE__ */ jsx28(ToastPrimitive.Provider, { duration, ...props });
|
|
2713
2819
|
}
|
|
2714
|
-
var ToastVisualContext =
|
|
2820
|
+
var ToastVisualContext = React8.createContext(null);
|
|
2715
2821
|
var toastStatusIconByVariant = {
|
|
2716
2822
|
destructive: FailedFilledIcon,
|
|
2717
2823
|
success: SuccessFilledIcon
|
|
@@ -2735,7 +2841,7 @@ function formatToastText(children) {
|
|
|
2735
2841
|
if (typeof children === "string") {
|
|
2736
2842
|
return stripToastTrailingSentencePunctuation(children);
|
|
2737
2843
|
}
|
|
2738
|
-
const flatChildren =
|
|
2844
|
+
const flatChildren = React8.Children.toArray(children);
|
|
2739
2845
|
if (flatChildren.length === 1 && typeof flatChildren[0] === "string") {
|
|
2740
2846
|
return stripToastTrailingSentencePunctuation(flatChildren[0]);
|
|
2741
2847
|
}
|
|
@@ -2767,7 +2873,7 @@ function ToastRoot({
|
|
|
2767
2873
|
...props
|
|
2768
2874
|
}) {
|
|
2769
2875
|
const isDestructive = variant === "destructive";
|
|
2770
|
-
return /* @__PURE__ */
|
|
2876
|
+
return /* @__PURE__ */ jsx28(
|
|
2771
2877
|
ToastPrimitive.Root,
|
|
2772
2878
|
{
|
|
2773
2879
|
"aria-busy": busy,
|
|
@@ -2784,7 +2890,7 @@ function ToastRoot({
|
|
|
2784
2890
|
...style
|
|
2785
2891
|
},
|
|
2786
2892
|
...props,
|
|
2787
|
-
children: /* @__PURE__ */
|
|
2893
|
+
children: /* @__PURE__ */ jsx28(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx28("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
|
|
2788
2894
|
}
|
|
2789
2895
|
);
|
|
2790
2896
|
}
|
|
@@ -2793,9 +2899,9 @@ function ToastTitle({
|
|
|
2793
2899
|
children,
|
|
2794
2900
|
...props
|
|
2795
2901
|
}) {
|
|
2796
|
-
const toastVisual =
|
|
2902
|
+
const toastVisual = React8.useContext(ToastVisualContext);
|
|
2797
2903
|
const StatusIcon = toastVisual?.variant && hasToastStatusIcon(toastVisual.variant) ? toastStatusIconByVariant[toastVisual.variant] : null;
|
|
2798
|
-
return /* @__PURE__ */
|
|
2904
|
+
return /* @__PURE__ */ jsxs11(
|
|
2799
2905
|
ToastPrimitive.Title,
|
|
2800
2906
|
{
|
|
2801
2907
|
"data-slot": "toast-title",
|
|
@@ -2805,7 +2911,7 @@ function ToastTitle({
|
|
|
2805
2911
|
),
|
|
2806
2912
|
...props,
|
|
2807
2913
|
children: [
|
|
2808
|
-
toastVisual?.busy ? /* @__PURE__ */
|
|
2914
|
+
toastVisual?.busy ? /* @__PURE__ */ jsx28(
|
|
2809
2915
|
Spinner,
|
|
2810
2916
|
{
|
|
2811
2917
|
className: "shrink-0 text-current",
|
|
@@ -2813,8 +2919,8 @@ function ToastTitle({
|
|
|
2813
2919
|
strokeWidth: 2,
|
|
2814
2920
|
trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
|
|
2815
2921
|
}
|
|
2816
|
-
) : StatusIcon ? /* @__PURE__ */
|
|
2817
|
-
/* @__PURE__ */
|
|
2922
|
+
) : StatusIcon ? /* @__PURE__ */ jsx28(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
|
|
2923
|
+
/* @__PURE__ */ jsx28("span", { className: "min-w-0 break-words", children: formatToastText(children) })
|
|
2818
2924
|
]
|
|
2819
2925
|
}
|
|
2820
2926
|
);
|
|
@@ -2823,7 +2929,7 @@ function ToastDescription({
|
|
|
2823
2929
|
className,
|
|
2824
2930
|
...props
|
|
2825
2931
|
}) {
|
|
2826
|
-
return /* @__PURE__ */
|
|
2932
|
+
return /* @__PURE__ */ jsx28(
|
|
2827
2933
|
ToastPrimitive.Description,
|
|
2828
2934
|
{
|
|
2829
2935
|
"data-slot": "toast-description",
|
|
@@ -2839,7 +2945,7 @@ function ToastClose({
|
|
|
2839
2945
|
className,
|
|
2840
2946
|
...props
|
|
2841
2947
|
}) {
|
|
2842
|
-
return /* @__PURE__ */
|
|
2948
|
+
return /* @__PURE__ */ jsx28(
|
|
2843
2949
|
ToastPrimitive.Close,
|
|
2844
2950
|
{
|
|
2845
2951
|
"data-slot": "toast-close",
|
|
@@ -2848,7 +2954,7 @@ function ToastClose({
|
|
|
2848
2954
|
className
|
|
2849
2955
|
),
|
|
2850
2956
|
...props,
|
|
2851
|
-
children: /* @__PURE__ */
|
|
2957
|
+
children: /* @__PURE__ */ jsx28(CloseIcon, { className: "size-4" })
|
|
2852
2958
|
}
|
|
2853
2959
|
);
|
|
2854
2960
|
}
|
|
@@ -2857,7 +2963,7 @@ function ToastViewport({
|
|
|
2857
2963
|
style,
|
|
2858
2964
|
...props
|
|
2859
2965
|
}) {
|
|
2860
|
-
return /* @__PURE__ */
|
|
2966
|
+
return /* @__PURE__ */ jsx28(
|
|
2861
2967
|
ToastPrimitive.Viewport,
|
|
2862
2968
|
{
|
|
2863
2969
|
"data-slot": "toast-viewport",
|
|
@@ -2871,63 +2977,9 @@ function ToastViewport({
|
|
|
2871
2977
|
);
|
|
2872
2978
|
}
|
|
2873
2979
|
|
|
2874
|
-
// src/components/tooltip/tooltip.tsx
|
|
2875
|
-
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
2876
|
-
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2877
|
-
function TooltipProvider({
|
|
2878
|
-
delayDuration = 0,
|
|
2879
|
-
...props
|
|
2880
|
-
}) {
|
|
2881
|
-
return /* @__PURE__ */ jsx27(
|
|
2882
|
-
TooltipPrimitive.Provider,
|
|
2883
|
-
{
|
|
2884
|
-
"data-slot": "tooltip-provider",
|
|
2885
|
-
delayDuration,
|
|
2886
|
-
...props
|
|
2887
|
-
}
|
|
2888
|
-
);
|
|
2889
|
-
}
|
|
2890
|
-
function Tooltip({
|
|
2891
|
-
...props
|
|
2892
|
-
}) {
|
|
2893
|
-
return /* @__PURE__ */ jsx27(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
2894
|
-
}
|
|
2895
|
-
function TooltipTrigger({
|
|
2896
|
-
...props
|
|
2897
|
-
}) {
|
|
2898
|
-
return /* @__PURE__ */ jsx27(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
2899
|
-
}
|
|
2900
|
-
function TooltipPortal({
|
|
2901
|
-
...props
|
|
2902
|
-
}) {
|
|
2903
|
-
return /* @__PURE__ */ jsx27(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
|
|
2904
|
-
}
|
|
2905
|
-
function TooltipContent({
|
|
2906
|
-
className,
|
|
2907
|
-
sideOffset = 8,
|
|
2908
|
-
children,
|
|
2909
|
-
style,
|
|
2910
|
-
...props
|
|
2911
|
-
}) {
|
|
2912
|
-
return /* @__PURE__ */ jsx27(TooltipPortal, { children: /* @__PURE__ */ jsx27(
|
|
2913
|
-
TooltipPrimitive.Content,
|
|
2914
|
-
{
|
|
2915
|
-
"data-slot": "tooltip-content",
|
|
2916
|
-
sideOffset,
|
|
2917
|
-
className: cn(
|
|
2918
|
-
"inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-2 rounded-md border border-[var(--border-1)] bg-[var(--background-fronted)] px-2 py-1 text-[13px] leading-[1.3] text-popover-foreground shadow-soft outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2919
|
-
className
|
|
2920
|
-
),
|
|
2921
|
-
style: { zIndex: "var(--z-tooltip, 100700)", ...style },
|
|
2922
|
-
...props,
|
|
2923
|
-
children
|
|
2924
|
-
}
|
|
2925
|
-
) });
|
|
2926
|
-
}
|
|
2927
|
-
|
|
2928
2980
|
// src/components/underline-tabs/underline-tabs.tsx
|
|
2929
|
-
import { useEffect as
|
|
2930
|
-
import { jsx as
|
|
2981
|
+
import { useEffect as useEffect5, useLayoutEffect as useLayoutEffect2, useRef as useRef4, useState as useState5 } from "react";
|
|
2982
|
+
import { jsx as jsx29, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2931
2983
|
function UnderlineTabs({
|
|
2932
2984
|
tabs,
|
|
2933
2985
|
value,
|
|
@@ -2942,11 +2994,11 @@ function UnderlineTabs({
|
|
|
2942
2994
|
scrollRightTestId,
|
|
2943
2995
|
preventMouseDownDefault = false
|
|
2944
2996
|
}) {
|
|
2945
|
-
const viewportRef =
|
|
2946
|
-
const rowRef =
|
|
2947
|
-
const buttonRefs =
|
|
2948
|
-
const [indicatorStyle, setIndicatorStyle] =
|
|
2949
|
-
const [overflow, setOverflow] =
|
|
2997
|
+
const viewportRef = useRef4(null);
|
|
2998
|
+
const rowRef = useRef4(null);
|
|
2999
|
+
const buttonRefs = useRef4({});
|
|
3000
|
+
const [indicatorStyle, setIndicatorStyle] = useState5({ left: 0, width: 0 });
|
|
3001
|
+
const [overflow, setOverflow] = useState5({
|
|
2950
3002
|
canScrollLeft: false,
|
|
2951
3003
|
canScrollRight: false
|
|
2952
3004
|
});
|
|
@@ -2967,7 +3019,7 @@ function UnderlineTabs({
|
|
|
2967
3019
|
(current) => current.left === nextStyle.left && current.width === nextStyle.width ? current : nextStyle
|
|
2968
3020
|
);
|
|
2969
3021
|
}, [tabs, value]);
|
|
2970
|
-
|
|
3022
|
+
useEffect5(() => {
|
|
2971
3023
|
const viewport = viewportRef.current;
|
|
2972
3024
|
if (!viewport) {
|
|
2973
3025
|
return;
|
|
@@ -3010,7 +3062,7 @@ function UnderlineTabs({
|
|
|
3010
3062
|
behavior: "smooth"
|
|
3011
3063
|
});
|
|
3012
3064
|
};
|
|
3013
|
-
return /* @__PURE__ */
|
|
3065
|
+
return /* @__PURE__ */ jsxs12(
|
|
3014
3066
|
"div",
|
|
3015
3067
|
{
|
|
3016
3068
|
"aria-label": ariaLabel,
|
|
@@ -3022,7 +3074,7 @@ function UnderlineTabs({
|
|
|
3022
3074
|
"data-testid": testId,
|
|
3023
3075
|
role: "tablist",
|
|
3024
3076
|
children: [
|
|
3025
|
-
/* @__PURE__ */
|
|
3077
|
+
/* @__PURE__ */ jsx29(
|
|
3026
3078
|
"div",
|
|
3027
3079
|
{
|
|
3028
3080
|
ref: viewportRef,
|
|
@@ -3036,7 +3088,7 @@ function UnderlineTabs({
|
|
|
3036
3088
|
"data-can-scroll-right": overflow.canScrollRight ? "true" : "false",
|
|
3037
3089
|
"data-slot": "underline-tabs-viewport",
|
|
3038
3090
|
"data-testid": viewportTestId,
|
|
3039
|
-
children: /* @__PURE__ */
|
|
3091
|
+
children: /* @__PURE__ */ jsxs12(
|
|
3040
3092
|
"div",
|
|
3041
3093
|
{
|
|
3042
3094
|
ref: rowRef,
|
|
@@ -3044,7 +3096,7 @@ function UnderlineTabs({
|
|
|
3044
3096
|
children: [
|
|
3045
3097
|
tabs.map((tab) => {
|
|
3046
3098
|
const isActive = value === tab.value;
|
|
3047
|
-
return /* @__PURE__ */
|
|
3099
|
+
return /* @__PURE__ */ jsxs12(
|
|
3048
3100
|
"button",
|
|
3049
3101
|
{
|
|
3050
3102
|
ref: (element) => {
|
|
@@ -3067,14 +3119,14 @@ function UnderlineTabs({
|
|
|
3067
3119
|
onClick: () => onValueChange(tab.value),
|
|
3068
3120
|
onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
|
|
3069
3121
|
children: [
|
|
3070
|
-
/* @__PURE__ */
|
|
3071
|
-
tab.count !== void 0 ? /* @__PURE__ */
|
|
3122
|
+
/* @__PURE__ */ jsx29("span", { children: tab.label }),
|
|
3123
|
+
tab.count !== void 0 ? /* @__PURE__ */ jsx29("span", { className: "text-[11px] font-semibold leading-6 text-[inherit]", children: tab.count }) : null
|
|
3072
3124
|
]
|
|
3073
3125
|
},
|
|
3074
3126
|
tab.value
|
|
3075
3127
|
);
|
|
3076
3128
|
}),
|
|
3077
|
-
/* @__PURE__ */
|
|
3129
|
+
/* @__PURE__ */ jsx29(
|
|
3078
3130
|
"div",
|
|
3079
3131
|
{
|
|
3080
3132
|
"aria-hidden": true,
|
|
@@ -3091,7 +3143,7 @@ function UnderlineTabs({
|
|
|
3091
3143
|
)
|
|
3092
3144
|
}
|
|
3093
3145
|
),
|
|
3094
|
-
/* @__PURE__ */
|
|
3146
|
+
/* @__PURE__ */ jsx29(
|
|
3095
3147
|
"button",
|
|
3096
3148
|
{
|
|
3097
3149
|
"aria-label": scrollLeftLabel,
|
|
@@ -3102,10 +3154,10 @@ function UnderlineTabs({
|
|
|
3102
3154
|
disabled: !overflow.canScrollLeft,
|
|
3103
3155
|
type: "button",
|
|
3104
3156
|
onClick: () => scrollTabs("left"),
|
|
3105
|
-
children: /* @__PURE__ */
|
|
3157
|
+
children: /* @__PURE__ */ jsx29(ArrowLeftIcon, { size: 16 })
|
|
3106
3158
|
}
|
|
3107
3159
|
),
|
|
3108
|
-
/* @__PURE__ */
|
|
3160
|
+
/* @__PURE__ */ jsx29(
|
|
3109
3161
|
"button",
|
|
3110
3162
|
{
|
|
3111
3163
|
"aria-label": scrollRightLabel,
|
|
@@ -3116,7 +3168,7 @@ function UnderlineTabs({
|
|
|
3116
3168
|
disabled: !overflow.canScrollRight,
|
|
3117
3169
|
type: "button",
|
|
3118
3170
|
onClick: () => scrollTabs("right"),
|
|
3119
|
-
children: /* @__PURE__ */
|
|
3171
|
+
children: /* @__PURE__ */ jsx29(ArrowRightIcon, { size: 16 })
|
|
3120
3172
|
}
|
|
3121
3173
|
)
|
|
3122
3174
|
]
|
|
@@ -3125,9 +3177,9 @@ function UnderlineTabs({
|
|
|
3125
3177
|
}
|
|
3126
3178
|
|
|
3127
3179
|
// src/components/viewport-menu-surface/viewport-menu-surface.tsx
|
|
3128
|
-
import * as
|
|
3180
|
+
import * as React9 from "react";
|
|
3129
3181
|
import { createPortal as createPortal2 } from "react-dom";
|
|
3130
|
-
import { jsx as
|
|
3182
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
3131
3183
|
var VIEWPORT_MENU_PADDING = 12;
|
|
3132
3184
|
var MENU_BOUNDARY_PADDING = 8;
|
|
3133
3185
|
function clampMenuCoordinate(origin, size, viewportExtent, padding) {
|
|
@@ -3239,7 +3291,7 @@ function assignRef(ref, value) {
|
|
|
3239
3291
|
function callHandler(handler, event) {
|
|
3240
3292
|
handler?.(event);
|
|
3241
3293
|
}
|
|
3242
|
-
var ViewportMenuSurface =
|
|
3294
|
+
var ViewportMenuSurface = React9.forwardRef(function ViewportMenuSurface2({
|
|
3243
3295
|
open,
|
|
3244
3296
|
placement,
|
|
3245
3297
|
children,
|
|
@@ -3255,16 +3307,16 @@ var ViewportMenuSurface = React8.forwardRef(function ViewportMenuSurface2({
|
|
|
3255
3307
|
className,
|
|
3256
3308
|
...rest
|
|
3257
3309
|
}, forwardedRef) {
|
|
3258
|
-
const surfaceRef =
|
|
3259
|
-
const [measuredSize, setMeasuredSize] =
|
|
3260
|
-
const setRefs2 =
|
|
3310
|
+
const surfaceRef = React9.useRef(null);
|
|
3311
|
+
const [measuredSize, setMeasuredSize] = React9.useState(null);
|
|
3312
|
+
const setRefs2 = React9.useCallback(
|
|
3261
3313
|
(node) => {
|
|
3262
3314
|
surfaceRef.current = node;
|
|
3263
3315
|
assignRef(forwardedRef, node);
|
|
3264
3316
|
},
|
|
3265
3317
|
[forwardedRef]
|
|
3266
3318
|
);
|
|
3267
|
-
|
|
3319
|
+
React9.useLayoutEffect(() => {
|
|
3268
3320
|
if (!open) {
|
|
3269
3321
|
setMeasuredSize(null);
|
|
3270
3322
|
return;
|
|
@@ -3288,7 +3340,7 @@ var ViewportMenuSurface = React8.forwardRef(function ViewportMenuSurface2({
|
|
|
3288
3340
|
observer.observe(element);
|
|
3289
3341
|
return () => observer.disconnect();
|
|
3290
3342
|
}, [open, placement]);
|
|
3291
|
-
|
|
3343
|
+
React9.useEffect(() => {
|
|
3292
3344
|
if (!open) {
|
|
3293
3345
|
return;
|
|
3294
3346
|
}
|
|
@@ -3345,7 +3397,7 @@ var ViewportMenuSurface = React8.forwardRef(function ViewportMenuSurface2({
|
|
|
3345
3397
|
onDismiss,
|
|
3346
3398
|
open
|
|
3347
3399
|
]);
|
|
3348
|
-
const resolvedPlacement =
|
|
3400
|
+
const resolvedPlacement = React9.useMemo(() => {
|
|
3349
3401
|
if (placement.type === "absolute") {
|
|
3350
3402
|
const boundary2 = resolveMenuBoundaryFromPoint({
|
|
3351
3403
|
x: placement.left,
|
|
@@ -3390,7 +3442,7 @@ var ViewportMenuSurface = React8.forwardRef(function ViewportMenuSurface2({
|
|
|
3390
3442
|
}
|
|
3391
3443
|
const portalTarget = resolvedPlacement.portalTarget ?? document.body;
|
|
3392
3444
|
return createPortal2(
|
|
3393
|
-
/* @__PURE__ */
|
|
3445
|
+
/* @__PURE__ */ jsx30(
|
|
3394
3446
|
MenuSurface,
|
|
3395
3447
|
{
|
|
3396
3448
|
...rest,
|
|
@@ -3480,6 +3532,13 @@ export {
|
|
|
3480
3532
|
DropdownMenuSubTrigger,
|
|
3481
3533
|
DropdownMenuSubContent,
|
|
3482
3534
|
Input,
|
|
3535
|
+
TooltipProvider,
|
|
3536
|
+
Tooltip,
|
|
3537
|
+
TooltipTrigger,
|
|
3538
|
+
TooltipPortal,
|
|
3539
|
+
TooltipContent,
|
|
3540
|
+
useTextOverflow,
|
|
3541
|
+
TruncatingPillLabel,
|
|
3483
3542
|
MentionPill,
|
|
3484
3543
|
Popover,
|
|
3485
3544
|
PopoverTrigger,
|
|
@@ -3524,12 +3583,7 @@ export {
|
|
|
3524
3583
|
ToastDescription,
|
|
3525
3584
|
ToastClose,
|
|
3526
3585
|
ToastViewport,
|
|
3527
|
-
TooltipProvider,
|
|
3528
|
-
Tooltip,
|
|
3529
|
-
TooltipTrigger,
|
|
3530
|
-
TooltipPortal,
|
|
3531
|
-
TooltipContent,
|
|
3532
3586
|
UnderlineTabs,
|
|
3533
3587
|
ViewportMenuSurface
|
|
3534
3588
|
};
|
|
3535
|
-
//# sourceMappingURL=chunk-
|
|
3589
|
+
//# sourceMappingURL=chunk-53IMBHOL.js.map
|