@bergetai/ui 0.11.4 → 0.12.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/dist/index.cjs +1406 -445
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +121 -2
- package/dist/index.d.ts +121 -2
- package/dist/index.js +1365 -430
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +49 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -690,7 +690,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
690
690
|
({ variant = "logotype", color = "auto", size = 48, className, ...props }, ref) => {
|
|
691
691
|
const fillColor = color === "auto" ? "var(--berget-logo-light)" : color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
692
692
|
if (variant === "symbol") {
|
|
693
|
-
const aspectRatio2 =
|
|
693
|
+
const aspectRatio2 = 428 / 386;
|
|
694
694
|
const width2 = size * aspectRatio2;
|
|
695
695
|
const height2 = size;
|
|
696
696
|
return /* @__PURE__ */ jsx9(
|
|
@@ -699,7 +699,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
699
699
|
ref,
|
|
700
700
|
width: width2,
|
|
701
701
|
height: height2,
|
|
702
|
-
viewBox: "
|
|
702
|
+
viewBox: "18 17 428 386",
|
|
703
703
|
fill: "none",
|
|
704
704
|
xmlns: "http://www.w3.org/2000/svg",
|
|
705
705
|
role: "img",
|
|
@@ -1594,23 +1594,978 @@ function NavigationMenuPositioner({
|
|
|
1594
1594
|
) });
|
|
1595
1595
|
}
|
|
1596
1596
|
|
|
1597
|
+
// src/primitives/sidebar.tsx
|
|
1598
|
+
import * as React15 from "react";
|
|
1599
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
1600
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
1601
|
+
import { cva as cva9 } from "class-variance-authority";
|
|
1602
|
+
import { cn as cn11 } from "cn";
|
|
1603
|
+
|
|
1604
|
+
// src/hooks/use-mobile.tsx
|
|
1605
|
+
import * as React14 from "react";
|
|
1606
|
+
var MOBILE_BREAKPOINT = 768;
|
|
1607
|
+
function useIsMobile() {
|
|
1608
|
+
const [isMobile, setIsMobile] = React14.useState(void 0);
|
|
1609
|
+
React14.useEffect(() => {
|
|
1610
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
1611
|
+
const onChange = () => {
|
|
1612
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1613
|
+
};
|
|
1614
|
+
mql.addEventListener("change", onChange);
|
|
1615
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1616
|
+
return () => mql.removeEventListener("change", onChange);
|
|
1617
|
+
}, []);
|
|
1618
|
+
return !!isMobile;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
// src/primitives/input.tsx
|
|
1622
|
+
import { Input as InputPrimitive } from "@base-ui/react/input";
|
|
1623
|
+
import { cn as cn6 } from "cn";
|
|
1624
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1625
|
+
function Input({ className, type, ...props }) {
|
|
1626
|
+
return /* @__PURE__ */ jsx19(
|
|
1627
|
+
InputPrimitive,
|
|
1628
|
+
{
|
|
1629
|
+
type,
|
|
1630
|
+
"data-slot": "input",
|
|
1631
|
+
className: cn6(
|
|
1632
|
+
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
1633
|
+
className
|
|
1634
|
+
),
|
|
1635
|
+
...props
|
|
1636
|
+
}
|
|
1637
|
+
);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
// src/primitives/separator.tsx
|
|
1641
|
+
import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
|
|
1642
|
+
import { cn as cn7 } from "cn";
|
|
1643
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1644
|
+
function Separator({
|
|
1645
|
+
className,
|
|
1646
|
+
orientation = "horizontal",
|
|
1647
|
+
...props
|
|
1648
|
+
}) {
|
|
1649
|
+
return /* @__PURE__ */ jsx20(
|
|
1650
|
+
SeparatorPrimitive,
|
|
1651
|
+
{
|
|
1652
|
+
"data-slot": "separator",
|
|
1653
|
+
orientation,
|
|
1654
|
+
className: cn7(
|
|
1655
|
+
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
1656
|
+
className
|
|
1657
|
+
),
|
|
1658
|
+
...props
|
|
1659
|
+
}
|
|
1660
|
+
);
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
// src/primitives/sheet.tsx
|
|
1664
|
+
import { Dialog as SheetPrimitive } from "@base-ui/react/dialog";
|
|
1665
|
+
import { cn as cn8 } from "cn";
|
|
1666
|
+
import { XIcon } from "lucide-react";
|
|
1667
|
+
import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1668
|
+
function Sheet({ ...props }) {
|
|
1669
|
+
return /* @__PURE__ */ jsx21(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
1670
|
+
}
|
|
1671
|
+
function SheetPortal({ ...props }) {
|
|
1672
|
+
return /* @__PURE__ */ jsx21(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
1673
|
+
}
|
|
1674
|
+
function SheetOverlay({ className, ...props }) {
|
|
1675
|
+
return /* @__PURE__ */ jsx21(
|
|
1676
|
+
SheetPrimitive.Backdrop,
|
|
1677
|
+
{
|
|
1678
|
+
"data-slot": "sheet-overlay",
|
|
1679
|
+
className: cn8(
|
|
1680
|
+
"fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",
|
|
1681
|
+
className
|
|
1682
|
+
),
|
|
1683
|
+
...props
|
|
1684
|
+
}
|
|
1685
|
+
);
|
|
1686
|
+
}
|
|
1687
|
+
function SheetContent({
|
|
1688
|
+
className,
|
|
1689
|
+
children,
|
|
1690
|
+
side = "right",
|
|
1691
|
+
showCloseButton = true,
|
|
1692
|
+
...props
|
|
1693
|
+
}) {
|
|
1694
|
+
return /* @__PURE__ */ jsxs11(SheetPortal, { children: [
|
|
1695
|
+
/* @__PURE__ */ jsx21(SheetOverlay, {}),
|
|
1696
|
+
/* @__PURE__ */ jsxs11(
|
|
1697
|
+
SheetPrimitive.Popup,
|
|
1698
|
+
{
|
|
1699
|
+
"data-slot": "sheet-content",
|
|
1700
|
+
"data-side": side,
|
|
1701
|
+
className: cn8(
|
|
1702
|
+
"fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
|
|
1703
|
+
className
|
|
1704
|
+
),
|
|
1705
|
+
...props,
|
|
1706
|
+
children: [
|
|
1707
|
+
children,
|
|
1708
|
+
showCloseButton && /* @__PURE__ */ jsxs11(
|
|
1709
|
+
SheetPrimitive.Close,
|
|
1710
|
+
{
|
|
1711
|
+
"data-slot": "sheet-close",
|
|
1712
|
+
render: /* @__PURE__ */ jsx21(
|
|
1713
|
+
Button,
|
|
1714
|
+
{
|
|
1715
|
+
variant: "ghost",
|
|
1716
|
+
className: "absolute top-3 right-3",
|
|
1717
|
+
size: "icon-sm"
|
|
1718
|
+
}
|
|
1719
|
+
),
|
|
1720
|
+
children: [
|
|
1721
|
+
/* @__PURE__ */ jsx21(
|
|
1722
|
+
XIcon,
|
|
1723
|
+
{}
|
|
1724
|
+
),
|
|
1725
|
+
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: "Close" })
|
|
1726
|
+
]
|
|
1727
|
+
}
|
|
1728
|
+
)
|
|
1729
|
+
]
|
|
1730
|
+
}
|
|
1731
|
+
)
|
|
1732
|
+
] });
|
|
1733
|
+
}
|
|
1734
|
+
function SheetHeader({ className, ...props }) {
|
|
1735
|
+
return /* @__PURE__ */ jsx21(
|
|
1736
|
+
"div",
|
|
1737
|
+
{
|
|
1738
|
+
"data-slot": "sheet-header",
|
|
1739
|
+
className: cn8("flex flex-col gap-0.5 p-4", className),
|
|
1740
|
+
...props
|
|
1741
|
+
}
|
|
1742
|
+
);
|
|
1743
|
+
}
|
|
1744
|
+
function SheetTitle({ className, ...props }) {
|
|
1745
|
+
return /* @__PURE__ */ jsx21(
|
|
1746
|
+
SheetPrimitive.Title,
|
|
1747
|
+
{
|
|
1748
|
+
"data-slot": "sheet-title",
|
|
1749
|
+
className: cn8(
|
|
1750
|
+
"text-base font-medium text-foreground",
|
|
1751
|
+
className
|
|
1752
|
+
),
|
|
1753
|
+
...props
|
|
1754
|
+
}
|
|
1755
|
+
);
|
|
1756
|
+
}
|
|
1757
|
+
function SheetDescription({
|
|
1758
|
+
className,
|
|
1759
|
+
...props
|
|
1760
|
+
}) {
|
|
1761
|
+
return /* @__PURE__ */ jsx21(
|
|
1762
|
+
SheetPrimitive.Description,
|
|
1763
|
+
{
|
|
1764
|
+
"data-slot": "sheet-description",
|
|
1765
|
+
className: cn8("text-sm text-muted-foreground", className),
|
|
1766
|
+
...props
|
|
1767
|
+
}
|
|
1768
|
+
);
|
|
1769
|
+
}
|
|
1770
|
+
|
|
1771
|
+
// src/primitives/skeleton.tsx
|
|
1772
|
+
import { cn as cn9 } from "cn";
|
|
1773
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1774
|
+
function Skeleton({ className, ...props }) {
|
|
1775
|
+
return /* @__PURE__ */ jsx22(
|
|
1776
|
+
"div",
|
|
1777
|
+
{
|
|
1778
|
+
"data-slot": "skeleton",
|
|
1779
|
+
className: cn9("animate-pulse rounded-md bg-muted", className),
|
|
1780
|
+
...props
|
|
1781
|
+
}
|
|
1782
|
+
);
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
// src/primitives/tooltip.tsx
|
|
1786
|
+
import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
|
|
1787
|
+
import { cn as cn10 } from "cn";
|
|
1788
|
+
import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1789
|
+
function Tooltip({ ...props }) {
|
|
1790
|
+
return /* @__PURE__ */ jsx23(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
1791
|
+
}
|
|
1792
|
+
function TooltipTrigger({ ...props }) {
|
|
1793
|
+
return /* @__PURE__ */ jsx23(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
1794
|
+
}
|
|
1795
|
+
function TooltipContent({
|
|
1796
|
+
className,
|
|
1797
|
+
side = "top",
|
|
1798
|
+
sideOffset = 4,
|
|
1799
|
+
align = "center",
|
|
1800
|
+
alignOffset = 0,
|
|
1801
|
+
children,
|
|
1802
|
+
...props
|
|
1803
|
+
}) {
|
|
1804
|
+
return /* @__PURE__ */ jsx23(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
|
|
1805
|
+
TooltipPrimitive.Positioner,
|
|
1806
|
+
{
|
|
1807
|
+
align,
|
|
1808
|
+
alignOffset,
|
|
1809
|
+
side,
|
|
1810
|
+
sideOffset,
|
|
1811
|
+
className: "isolate z-50",
|
|
1812
|
+
children: /* @__PURE__ */ jsxs12(
|
|
1813
|
+
TooltipPrimitive.Popup,
|
|
1814
|
+
{
|
|
1815
|
+
"data-slot": "tooltip-content",
|
|
1816
|
+
className: cn10(
|
|
1817
|
+
"z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm 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",
|
|
1818
|
+
className
|
|
1819
|
+
),
|
|
1820
|
+
...props,
|
|
1821
|
+
children: [
|
|
1822
|
+
children,
|
|
1823
|
+
/* @__PURE__ */ jsx23(TooltipPrimitive.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" })
|
|
1824
|
+
]
|
|
1825
|
+
}
|
|
1826
|
+
)
|
|
1827
|
+
}
|
|
1828
|
+
) });
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
// src/primitives/sidebar.tsx
|
|
1832
|
+
import { PanelLeftIcon } from "lucide-react";
|
|
1833
|
+
import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1834
|
+
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
1835
|
+
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
1836
|
+
var SIDEBAR_WIDTH = "16rem";
|
|
1837
|
+
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
1838
|
+
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
1839
|
+
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
1840
|
+
var SidebarContext = React15.createContext(null);
|
|
1841
|
+
function useSidebar() {
|
|
1842
|
+
const context = React15.useContext(SidebarContext);
|
|
1843
|
+
if (!context) {
|
|
1844
|
+
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
1845
|
+
}
|
|
1846
|
+
return context;
|
|
1847
|
+
}
|
|
1848
|
+
function SidebarProvider({
|
|
1849
|
+
defaultOpen = true,
|
|
1850
|
+
open: openProp,
|
|
1851
|
+
onOpenChange: setOpenProp,
|
|
1852
|
+
className,
|
|
1853
|
+
style,
|
|
1854
|
+
children,
|
|
1855
|
+
...props
|
|
1856
|
+
}) {
|
|
1857
|
+
const isMobile = useIsMobile();
|
|
1858
|
+
const [openMobile, setOpenMobile] = React15.useState(false);
|
|
1859
|
+
const [_open, _setOpen] = React15.useState(defaultOpen);
|
|
1860
|
+
const open = openProp ?? _open;
|
|
1861
|
+
const setOpen = React15.useCallback(
|
|
1862
|
+
(value) => {
|
|
1863
|
+
const openState = typeof value === "function" ? value(open) : value;
|
|
1864
|
+
if (setOpenProp) {
|
|
1865
|
+
setOpenProp(openState);
|
|
1866
|
+
} else {
|
|
1867
|
+
_setOpen(openState);
|
|
1868
|
+
}
|
|
1869
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
1870
|
+
},
|
|
1871
|
+
[setOpenProp, open]
|
|
1872
|
+
);
|
|
1873
|
+
const toggleSidebar = React15.useCallback(() => {
|
|
1874
|
+
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
1875
|
+
}, [isMobile, setOpen, setOpenMobile]);
|
|
1876
|
+
React15.useEffect(() => {
|
|
1877
|
+
const handleKeyDown = (event) => {
|
|
1878
|
+
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
1879
|
+
event.preventDefault();
|
|
1880
|
+
toggleSidebar();
|
|
1881
|
+
}
|
|
1882
|
+
};
|
|
1883
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
1884
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1885
|
+
}, [toggleSidebar]);
|
|
1886
|
+
const state = open ? "expanded" : "collapsed";
|
|
1887
|
+
const contextValue = React15.useMemo(
|
|
1888
|
+
() => ({
|
|
1889
|
+
state,
|
|
1890
|
+
open,
|
|
1891
|
+
setOpen,
|
|
1892
|
+
isMobile,
|
|
1893
|
+
openMobile,
|
|
1894
|
+
setOpenMobile,
|
|
1895
|
+
toggleSidebar
|
|
1896
|
+
}),
|
|
1897
|
+
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
1898
|
+
);
|
|
1899
|
+
return /* @__PURE__ */ jsx24(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx24(
|
|
1900
|
+
"div",
|
|
1901
|
+
{
|
|
1902
|
+
"data-slot": "sidebar-wrapper",
|
|
1903
|
+
style: {
|
|
1904
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
1905
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
1906
|
+
...style
|
|
1907
|
+
},
|
|
1908
|
+
className: cn11(
|
|
1909
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
|
1910
|
+
className
|
|
1911
|
+
),
|
|
1912
|
+
...props,
|
|
1913
|
+
children
|
|
1914
|
+
}
|
|
1915
|
+
) });
|
|
1916
|
+
}
|
|
1917
|
+
function Sidebar({
|
|
1918
|
+
side = "left",
|
|
1919
|
+
variant = "sidebar",
|
|
1920
|
+
collapsible = "offcanvas",
|
|
1921
|
+
className,
|
|
1922
|
+
children,
|
|
1923
|
+
dir,
|
|
1924
|
+
...props
|
|
1925
|
+
}) {
|
|
1926
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
1927
|
+
if (collapsible === "none") {
|
|
1928
|
+
return /* @__PURE__ */ jsx24(
|
|
1929
|
+
"div",
|
|
1930
|
+
{
|
|
1931
|
+
"data-slot": "sidebar",
|
|
1932
|
+
className: cn11(
|
|
1933
|
+
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
|
1934
|
+
className
|
|
1935
|
+
),
|
|
1936
|
+
...props,
|
|
1937
|
+
children
|
|
1938
|
+
}
|
|
1939
|
+
);
|
|
1940
|
+
}
|
|
1941
|
+
if (isMobile) {
|
|
1942
|
+
return /* @__PURE__ */ jsx24(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs13(
|
|
1943
|
+
SheetContent,
|
|
1944
|
+
{
|
|
1945
|
+
dir,
|
|
1946
|
+
"data-sidebar": "sidebar",
|
|
1947
|
+
"data-slot": "sidebar",
|
|
1948
|
+
"data-mobile": "true",
|
|
1949
|
+
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
1950
|
+
style: {
|
|
1951
|
+
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
1952
|
+
},
|
|
1953
|
+
side,
|
|
1954
|
+
children: [
|
|
1955
|
+
/* @__PURE__ */ jsxs13(SheetHeader, { className: "sr-only", children: [
|
|
1956
|
+
/* @__PURE__ */ jsx24(SheetTitle, { children: "Sidebar" }),
|
|
1957
|
+
/* @__PURE__ */ jsx24(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
1958
|
+
] }),
|
|
1959
|
+
/* @__PURE__ */ jsx24("div", { className: "flex h-full w-full flex-col", children })
|
|
1960
|
+
]
|
|
1961
|
+
}
|
|
1962
|
+
) });
|
|
1963
|
+
}
|
|
1964
|
+
return /* @__PURE__ */ jsxs13(
|
|
1965
|
+
"div",
|
|
1966
|
+
{
|
|
1967
|
+
className: "group peer hidden text-sidebar-foreground md:block",
|
|
1968
|
+
"data-state": state,
|
|
1969
|
+
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
1970
|
+
"data-variant": variant,
|
|
1971
|
+
"data-side": side,
|
|
1972
|
+
"data-slot": "sidebar",
|
|
1973
|
+
children: [
|
|
1974
|
+
/* @__PURE__ */ jsx24(
|
|
1975
|
+
"div",
|
|
1976
|
+
{
|
|
1977
|
+
"data-slot": "sidebar-gap",
|
|
1978
|
+
className: cn11(
|
|
1979
|
+
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
1980
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
1981
|
+
"group-data-[side=right]:rotate-180",
|
|
1982
|
+
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
1983
|
+
)
|
|
1984
|
+
}
|
|
1985
|
+
),
|
|
1986
|
+
/* @__PURE__ */ jsx24(
|
|
1987
|
+
"div",
|
|
1988
|
+
{
|
|
1989
|
+
"data-slot": "sidebar-container",
|
|
1990
|
+
"data-side": side,
|
|
1991
|
+
className: cn11(
|
|
1992
|
+
"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",
|
|
1993
|
+
// Adjust the padding for floating and inset variants.
|
|
1994
|
+
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
|
1995
|
+
className
|
|
1996
|
+
),
|
|
1997
|
+
...props,
|
|
1998
|
+
children: /* @__PURE__ */ jsx24(
|
|
1999
|
+
"div",
|
|
2000
|
+
{
|
|
2001
|
+
"data-sidebar": "sidebar",
|
|
2002
|
+
"data-slot": "sidebar-inner",
|
|
2003
|
+
className: "flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",
|
|
2004
|
+
children
|
|
2005
|
+
}
|
|
2006
|
+
)
|
|
2007
|
+
}
|
|
2008
|
+
)
|
|
2009
|
+
]
|
|
2010
|
+
}
|
|
2011
|
+
);
|
|
2012
|
+
}
|
|
2013
|
+
function SidebarTrigger({
|
|
2014
|
+
className,
|
|
2015
|
+
onClick,
|
|
2016
|
+
...props
|
|
2017
|
+
}) {
|
|
2018
|
+
const { toggleSidebar } = useSidebar();
|
|
2019
|
+
return /* @__PURE__ */ jsxs13(
|
|
2020
|
+
Button,
|
|
2021
|
+
{
|
|
2022
|
+
"data-sidebar": "trigger",
|
|
2023
|
+
"data-slot": "sidebar-trigger",
|
|
2024
|
+
variant: "ghost",
|
|
2025
|
+
size: "icon-sm",
|
|
2026
|
+
className: cn11(className),
|
|
2027
|
+
onClick: (event) => {
|
|
2028
|
+
onClick?.(event);
|
|
2029
|
+
toggleSidebar();
|
|
2030
|
+
},
|
|
2031
|
+
...props,
|
|
2032
|
+
children: [
|
|
2033
|
+
/* @__PURE__ */ jsx24(PanelLeftIcon, {}),
|
|
2034
|
+
/* @__PURE__ */ jsx24("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
2035
|
+
]
|
|
2036
|
+
}
|
|
2037
|
+
);
|
|
2038
|
+
}
|
|
2039
|
+
function SidebarRail({ className, ...props }) {
|
|
2040
|
+
const { toggleSidebar } = useSidebar();
|
|
2041
|
+
return /* @__PURE__ */ jsx24(
|
|
2042
|
+
"button",
|
|
2043
|
+
{
|
|
2044
|
+
"data-sidebar": "rail",
|
|
2045
|
+
"data-slot": "sidebar-rail",
|
|
2046
|
+
"aria-label": "Toggle Sidebar",
|
|
2047
|
+
tabIndex: -1,
|
|
2048
|
+
onClick: toggleSidebar,
|
|
2049
|
+
title: "Toggle Sidebar",
|
|
2050
|
+
className: cn11(
|
|
2051
|
+
"absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
|
|
2052
|
+
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
2053
|
+
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
2054
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
|
|
2055
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
2056
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
2057
|
+
className
|
|
2058
|
+
),
|
|
2059
|
+
...props
|
|
2060
|
+
}
|
|
2061
|
+
);
|
|
2062
|
+
}
|
|
2063
|
+
function SidebarInset({ className, ...props }) {
|
|
2064
|
+
return /* @__PURE__ */ jsx24(
|
|
2065
|
+
"main",
|
|
2066
|
+
{
|
|
2067
|
+
"data-slot": "sidebar-inset",
|
|
2068
|
+
className: cn11(
|
|
2069
|
+
"relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
|
|
2070
|
+
className
|
|
2071
|
+
),
|
|
2072
|
+
...props
|
|
2073
|
+
}
|
|
2074
|
+
);
|
|
2075
|
+
}
|
|
2076
|
+
function SidebarInput({
|
|
2077
|
+
className,
|
|
2078
|
+
...props
|
|
2079
|
+
}) {
|
|
2080
|
+
return /* @__PURE__ */ jsx24(
|
|
2081
|
+
Input,
|
|
2082
|
+
{
|
|
2083
|
+
"data-slot": "sidebar-input",
|
|
2084
|
+
"data-sidebar": "input",
|
|
2085
|
+
className: cn11("h-8 w-full bg-background shadow-none", className),
|
|
2086
|
+
...props
|
|
2087
|
+
}
|
|
2088
|
+
);
|
|
2089
|
+
}
|
|
2090
|
+
function SidebarHeader({ className, ...props }) {
|
|
2091
|
+
return /* @__PURE__ */ jsx24(
|
|
2092
|
+
"div",
|
|
2093
|
+
{
|
|
2094
|
+
"data-slot": "sidebar-header",
|
|
2095
|
+
"data-sidebar": "header",
|
|
2096
|
+
className: cn11("flex flex-col gap-2 p-2", className),
|
|
2097
|
+
...props
|
|
2098
|
+
}
|
|
2099
|
+
);
|
|
2100
|
+
}
|
|
2101
|
+
function SidebarFooter({ className, ...props }) {
|
|
2102
|
+
return /* @__PURE__ */ jsx24(
|
|
2103
|
+
"div",
|
|
2104
|
+
{
|
|
2105
|
+
"data-slot": "sidebar-footer",
|
|
2106
|
+
"data-sidebar": "footer",
|
|
2107
|
+
className: cn11("flex flex-col gap-2 p-2", className),
|
|
2108
|
+
...props
|
|
2109
|
+
}
|
|
2110
|
+
);
|
|
2111
|
+
}
|
|
2112
|
+
function SidebarSeparator({
|
|
2113
|
+
className,
|
|
2114
|
+
...props
|
|
2115
|
+
}) {
|
|
2116
|
+
return /* @__PURE__ */ jsx24(
|
|
2117
|
+
Separator,
|
|
2118
|
+
{
|
|
2119
|
+
"data-slot": "sidebar-separator",
|
|
2120
|
+
"data-sidebar": "separator",
|
|
2121
|
+
className: cn11("mx-2 w-auto bg-sidebar-border", className),
|
|
2122
|
+
...props
|
|
2123
|
+
}
|
|
2124
|
+
);
|
|
2125
|
+
}
|
|
2126
|
+
function SidebarContent({ className, ...props }) {
|
|
2127
|
+
return /* @__PURE__ */ jsx24(
|
|
2128
|
+
"div",
|
|
2129
|
+
{
|
|
2130
|
+
"data-slot": "sidebar-content",
|
|
2131
|
+
"data-sidebar": "content",
|
|
2132
|
+
className: cn11(
|
|
2133
|
+
"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
2134
|
+
className
|
|
2135
|
+
),
|
|
2136
|
+
...props
|
|
2137
|
+
}
|
|
2138
|
+
);
|
|
2139
|
+
}
|
|
2140
|
+
function SidebarGroup({ className, ...props }) {
|
|
2141
|
+
return /* @__PURE__ */ jsx24(
|
|
2142
|
+
"div",
|
|
2143
|
+
{
|
|
2144
|
+
"data-slot": "sidebar-group",
|
|
2145
|
+
"data-sidebar": "group",
|
|
2146
|
+
className: cn11("relative flex w-full min-w-0 flex-col p-2", className),
|
|
2147
|
+
...props
|
|
2148
|
+
}
|
|
2149
|
+
);
|
|
2150
|
+
}
|
|
2151
|
+
function SidebarGroupLabel({
|
|
2152
|
+
className,
|
|
2153
|
+
render,
|
|
2154
|
+
...props
|
|
2155
|
+
}) {
|
|
2156
|
+
return useRender({
|
|
2157
|
+
defaultTagName: "div",
|
|
2158
|
+
props: mergeProps(
|
|
2159
|
+
{
|
|
2160
|
+
className: cn11(
|
|
2161
|
+
"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
2162
|
+
className
|
|
2163
|
+
)
|
|
2164
|
+
},
|
|
2165
|
+
props
|
|
2166
|
+
),
|
|
2167
|
+
render,
|
|
2168
|
+
state: {
|
|
2169
|
+
slot: "sidebar-group-label",
|
|
2170
|
+
sidebar: "group-label"
|
|
2171
|
+
}
|
|
2172
|
+
});
|
|
2173
|
+
}
|
|
2174
|
+
function SidebarGroupAction({
|
|
2175
|
+
className,
|
|
2176
|
+
render,
|
|
2177
|
+
...props
|
|
2178
|
+
}) {
|
|
2179
|
+
return useRender({
|
|
2180
|
+
defaultTagName: "button",
|
|
2181
|
+
props: mergeProps(
|
|
2182
|
+
{
|
|
2183
|
+
className: cn11(
|
|
2184
|
+
"absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
2185
|
+
className
|
|
2186
|
+
)
|
|
2187
|
+
},
|
|
2188
|
+
props
|
|
2189
|
+
),
|
|
2190
|
+
render,
|
|
2191
|
+
state: {
|
|
2192
|
+
slot: "sidebar-group-action",
|
|
2193
|
+
sidebar: "group-action"
|
|
2194
|
+
}
|
|
2195
|
+
});
|
|
2196
|
+
}
|
|
2197
|
+
function SidebarGroupContent({
|
|
2198
|
+
className,
|
|
2199
|
+
...props
|
|
2200
|
+
}) {
|
|
2201
|
+
return /* @__PURE__ */ jsx24(
|
|
2202
|
+
"div",
|
|
2203
|
+
{
|
|
2204
|
+
"data-slot": "sidebar-group-content",
|
|
2205
|
+
"data-sidebar": "group-content",
|
|
2206
|
+
className: cn11("w-full text-sm", className),
|
|
2207
|
+
...props
|
|
2208
|
+
}
|
|
2209
|
+
);
|
|
2210
|
+
}
|
|
2211
|
+
function SidebarMenu({ className, ...props }) {
|
|
2212
|
+
return /* @__PURE__ */ jsx24(
|
|
2213
|
+
"ul",
|
|
2214
|
+
{
|
|
2215
|
+
"data-slot": "sidebar-menu",
|
|
2216
|
+
"data-sidebar": "menu",
|
|
2217
|
+
className: cn11("flex w-full min-w-0 flex-col gap-0", className),
|
|
2218
|
+
...props
|
|
2219
|
+
}
|
|
2220
|
+
);
|
|
2221
|
+
}
|
|
2222
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
2223
|
+
return /* @__PURE__ */ jsx24(
|
|
2224
|
+
"li",
|
|
2225
|
+
{
|
|
2226
|
+
"data-slot": "sidebar-menu-item",
|
|
2227
|
+
"data-sidebar": "menu-item",
|
|
2228
|
+
className: cn11("group/menu-item relative", className),
|
|
2229
|
+
...props
|
|
2230
|
+
}
|
|
2231
|
+
);
|
|
2232
|
+
}
|
|
2233
|
+
var sidebarMenuButtonVariants = cva9(
|
|
2234
|
+
"peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",
|
|
2235
|
+
{
|
|
2236
|
+
variants: {
|
|
2237
|
+
variant: {
|
|
2238
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
2239
|
+
outline: "bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"
|
|
2240
|
+
},
|
|
2241
|
+
size: {
|
|
2242
|
+
default: "h-8 text-sm",
|
|
2243
|
+
sm: "h-7 text-xs",
|
|
2244
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
defaultVariants: {
|
|
2248
|
+
variant: "default",
|
|
2249
|
+
size: "default"
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
);
|
|
2253
|
+
function SidebarMenuButton({
|
|
2254
|
+
render,
|
|
2255
|
+
isActive = false,
|
|
2256
|
+
variant = "default",
|
|
2257
|
+
size = "default",
|
|
2258
|
+
tooltip,
|
|
2259
|
+
className,
|
|
2260
|
+
...props
|
|
2261
|
+
}) {
|
|
2262
|
+
const { isMobile, state } = useSidebar();
|
|
2263
|
+
const comp = useRender({
|
|
2264
|
+
defaultTagName: "button",
|
|
2265
|
+
props: mergeProps(
|
|
2266
|
+
{
|
|
2267
|
+
className: cn11(sidebarMenuButtonVariants({ variant, size }), className)
|
|
2268
|
+
},
|
|
2269
|
+
props
|
|
2270
|
+
),
|
|
2271
|
+
render: !tooltip ? render : /* @__PURE__ */ jsx24(TooltipTrigger, { render }),
|
|
2272
|
+
state: {
|
|
2273
|
+
slot: "sidebar-menu-button",
|
|
2274
|
+
sidebar: "menu-button",
|
|
2275
|
+
size,
|
|
2276
|
+
active: isActive
|
|
2277
|
+
}
|
|
2278
|
+
});
|
|
2279
|
+
if (!tooltip) {
|
|
2280
|
+
return comp;
|
|
2281
|
+
}
|
|
2282
|
+
if (typeof tooltip === "string") {
|
|
2283
|
+
tooltip = {
|
|
2284
|
+
children: tooltip
|
|
2285
|
+
};
|
|
2286
|
+
}
|
|
2287
|
+
return /* @__PURE__ */ jsxs13(Tooltip, { children: [
|
|
2288
|
+
comp,
|
|
2289
|
+
/* @__PURE__ */ jsx24(
|
|
2290
|
+
TooltipContent,
|
|
2291
|
+
{
|
|
2292
|
+
side: "right",
|
|
2293
|
+
align: "center",
|
|
2294
|
+
hidden: state !== "collapsed" || isMobile,
|
|
2295
|
+
...tooltip
|
|
2296
|
+
}
|
|
2297
|
+
)
|
|
2298
|
+
] });
|
|
2299
|
+
}
|
|
2300
|
+
function SidebarMenuAction({
|
|
2301
|
+
className,
|
|
2302
|
+
render,
|
|
2303
|
+
showOnHover = false,
|
|
2304
|
+
...props
|
|
2305
|
+
}) {
|
|
2306
|
+
return useRender({
|
|
2307
|
+
defaultTagName: "button",
|
|
2308
|
+
props: mergeProps(
|
|
2309
|
+
{
|
|
2310
|
+
className: cn11(
|
|
2311
|
+
"absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground ring-sidebar-ring outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
|
2312
|
+
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-active/menu-button:text-sidebar-accent-foreground aria-expanded:opacity-100 md:opacity-0",
|
|
2313
|
+
className
|
|
2314
|
+
)
|
|
2315
|
+
},
|
|
2316
|
+
props
|
|
2317
|
+
),
|
|
2318
|
+
render,
|
|
2319
|
+
state: {
|
|
2320
|
+
slot: "sidebar-menu-action",
|
|
2321
|
+
sidebar: "menu-action"
|
|
2322
|
+
}
|
|
2323
|
+
});
|
|
2324
|
+
}
|
|
2325
|
+
function SidebarMenuBadge({
|
|
2326
|
+
className,
|
|
2327
|
+
...props
|
|
2328
|
+
}) {
|
|
2329
|
+
return /* @__PURE__ */ jsx24(
|
|
2330
|
+
"div",
|
|
2331
|
+
{
|
|
2332
|
+
"data-slot": "sidebar-menu-badge",
|
|
2333
|
+
"data-sidebar": "menu-badge",
|
|
2334
|
+
className: cn11(
|
|
2335
|
+
"pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-sidebar-foreground tabular-nums select-none group-data-[collapsible=icon]:hidden peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-sidebar-accent-foreground",
|
|
2336
|
+
className
|
|
2337
|
+
),
|
|
2338
|
+
...props
|
|
2339
|
+
}
|
|
2340
|
+
);
|
|
2341
|
+
}
|
|
2342
|
+
function SidebarMenuSkeleton({
|
|
2343
|
+
className,
|
|
2344
|
+
showIcon = false,
|
|
2345
|
+
...props
|
|
2346
|
+
}) {
|
|
2347
|
+
const [width] = React15.useState(() => {
|
|
2348
|
+
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
2349
|
+
});
|
|
2350
|
+
return /* @__PURE__ */ jsxs13(
|
|
2351
|
+
"div",
|
|
2352
|
+
{
|
|
2353
|
+
"data-slot": "sidebar-menu-skeleton",
|
|
2354
|
+
"data-sidebar": "menu-skeleton",
|
|
2355
|
+
className: cn11("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
2356
|
+
...props,
|
|
2357
|
+
children: [
|
|
2358
|
+
showIcon && /* @__PURE__ */ jsx24(
|
|
2359
|
+
Skeleton,
|
|
2360
|
+
{
|
|
2361
|
+
className: "size-4 rounded-md",
|
|
2362
|
+
"data-sidebar": "menu-skeleton-icon"
|
|
2363
|
+
}
|
|
2364
|
+
),
|
|
2365
|
+
/* @__PURE__ */ jsx24(
|
|
2366
|
+
Skeleton,
|
|
2367
|
+
{
|
|
2368
|
+
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
2369
|
+
"data-sidebar": "menu-skeleton-text",
|
|
2370
|
+
style: {
|
|
2371
|
+
"--skeleton-width": width
|
|
2372
|
+
}
|
|
2373
|
+
}
|
|
2374
|
+
)
|
|
2375
|
+
]
|
|
2376
|
+
}
|
|
2377
|
+
);
|
|
2378
|
+
}
|
|
2379
|
+
function SidebarMenuSub({ className, ...props }) {
|
|
2380
|
+
return /* @__PURE__ */ jsx24(
|
|
2381
|
+
"ul",
|
|
2382
|
+
{
|
|
2383
|
+
"data-slot": "sidebar-menu-sub",
|
|
2384
|
+
"data-sidebar": "menu-sub",
|
|
2385
|
+
className: cn11(
|
|
2386
|
+
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",
|
|
2387
|
+
className
|
|
2388
|
+
),
|
|
2389
|
+
...props
|
|
2390
|
+
}
|
|
2391
|
+
);
|
|
2392
|
+
}
|
|
2393
|
+
function SidebarMenuSubItem({
|
|
2394
|
+
className,
|
|
2395
|
+
...props
|
|
2396
|
+
}) {
|
|
2397
|
+
return /* @__PURE__ */ jsx24(
|
|
2398
|
+
"li",
|
|
2399
|
+
{
|
|
2400
|
+
"data-slot": "sidebar-menu-sub-item",
|
|
2401
|
+
"data-sidebar": "menu-sub-item",
|
|
2402
|
+
className: cn11("group/menu-sub-item relative", className),
|
|
2403
|
+
...props
|
|
2404
|
+
}
|
|
2405
|
+
);
|
|
2406
|
+
}
|
|
2407
|
+
function SidebarMenuSubButton({
|
|
2408
|
+
render,
|
|
2409
|
+
size = "md",
|
|
2410
|
+
isActive = false,
|
|
2411
|
+
className,
|
|
2412
|
+
...props
|
|
2413
|
+
}) {
|
|
2414
|
+
return useRender({
|
|
2415
|
+
defaultTagName: "a",
|
|
2416
|
+
props: mergeProps(
|
|
2417
|
+
{
|
|
2418
|
+
className: cn11(
|
|
2419
|
+
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
|
2420
|
+
className
|
|
2421
|
+
)
|
|
2422
|
+
},
|
|
2423
|
+
props
|
|
2424
|
+
),
|
|
2425
|
+
render,
|
|
2426
|
+
state: {
|
|
2427
|
+
slot: "sidebar-menu-sub-button",
|
|
2428
|
+
sidebar: "menu-sub-button",
|
|
2429
|
+
size,
|
|
2430
|
+
active: isActive
|
|
2431
|
+
}
|
|
2432
|
+
});
|
|
2433
|
+
}
|
|
2434
|
+
|
|
2435
|
+
// src/components/sidebar/Sidebar.tsx
|
|
2436
|
+
import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2437
|
+
var iconModeButtonClasses = "group-data-[collapsible=icon]:w-10! group-data-[collapsible=icon]:h-10! group-data-[collapsible=icon]:px-3!";
|
|
2438
|
+
var sizingMenuButtonClasses = "text-base px-3 py-2 h-auto";
|
|
2439
|
+
var sizingSubButtonClasses = "data-[size=md]:text-base data-[size=sm]:text-base px-3 py-2 h-auto";
|
|
2440
|
+
function SidebarGroupLabel2({
|
|
2441
|
+
className,
|
|
2442
|
+
...props
|
|
2443
|
+
}) {
|
|
2444
|
+
return /* @__PURE__ */ jsx25(
|
|
2445
|
+
SidebarGroupLabel,
|
|
2446
|
+
{
|
|
2447
|
+
className: cn("px-3 uppercase tracking-caption", className),
|
|
2448
|
+
...props
|
|
2449
|
+
}
|
|
2450
|
+
);
|
|
2451
|
+
}
|
|
2452
|
+
function SidebarProvider2({
|
|
2453
|
+
className,
|
|
2454
|
+
style,
|
|
2455
|
+
...props
|
|
2456
|
+
}) {
|
|
2457
|
+
return /* @__PURE__ */ jsx25(
|
|
2458
|
+
SidebarProvider,
|
|
2459
|
+
{
|
|
2460
|
+
className,
|
|
2461
|
+
style: {
|
|
2462
|
+
"--sidebar-width-icon": "3.75rem",
|
|
2463
|
+
...style
|
|
2464
|
+
},
|
|
2465
|
+
...props
|
|
2466
|
+
}
|
|
2467
|
+
);
|
|
2468
|
+
}
|
|
2469
|
+
function SidebarGroup2({ className, ...props }) {
|
|
2470
|
+
return /* @__PURE__ */ jsx25(
|
|
2471
|
+
SidebarGroup,
|
|
2472
|
+
{
|
|
2473
|
+
className: cn("group-data-[collapsible=icon]:px-2.5", className),
|
|
2474
|
+
...props
|
|
2475
|
+
}
|
|
2476
|
+
);
|
|
2477
|
+
}
|
|
2478
|
+
function SidebarFooter2({
|
|
2479
|
+
className,
|
|
2480
|
+
...props
|
|
2481
|
+
}) {
|
|
2482
|
+
return /* @__PURE__ */ jsx25(
|
|
2483
|
+
SidebarFooter,
|
|
2484
|
+
{
|
|
2485
|
+
className: cn(
|
|
2486
|
+
"group-data-[collapsible=icon]:px-2.5 border-t border-berget-border",
|
|
2487
|
+
className
|
|
2488
|
+
),
|
|
2489
|
+
...props
|
|
2490
|
+
}
|
|
2491
|
+
);
|
|
2492
|
+
}
|
|
2493
|
+
function SidebarHeader2({
|
|
2494
|
+
className,
|
|
2495
|
+
...props
|
|
2496
|
+
}) {
|
|
2497
|
+
return /* @__PURE__ */ jsx25(
|
|
2498
|
+
SidebarHeader,
|
|
2499
|
+
{
|
|
2500
|
+
className: cn(
|
|
2501
|
+
"py-0 group-data-[collapsible=icon]:px-0 border-b border-berget-border",
|
|
2502
|
+
className
|
|
2503
|
+
),
|
|
2504
|
+
...props
|
|
2505
|
+
}
|
|
2506
|
+
);
|
|
2507
|
+
}
|
|
2508
|
+
function SidebarLogo() {
|
|
2509
|
+
return /* @__PURE__ */ jsx25(SidebarHeader, { className: "px-0", children: /* @__PURE__ */ jsxs14("div", { className: "relative flex h-15 items-center overflow-hidden px-5", children: [
|
|
2510
|
+
/* @__PURE__ */ jsx25(
|
|
2511
|
+
BergetLogo,
|
|
2512
|
+
{
|
|
2513
|
+
variant: "logotype",
|
|
2514
|
+
size: 32,
|
|
2515
|
+
className: "shrink-0 transition-[opacity,visibility] duration-150 group-data-[collapsible=icon]:pointer-events-none group-data-[collapsible=icon]:invisible group-data-[collapsible=icon]:opacity-0"
|
|
2516
|
+
}
|
|
2517
|
+
),
|
|
2518
|
+
/* @__PURE__ */ jsx25("span", { className: "pointer-events-none invisible absolute inset-y-0 left-0 flex w-15 items-center pl-5 opacity-0 transition-[padding-left,opacity,visibility] duration-200 ease-linear group-data-[collapsible=icon]:visible group-data-[collapsible=icon]:pl-3 group-data-[collapsible=icon]:opacity-100", children: /* @__PURE__ */ jsx25(BergetLogo, { variant: "symbol", size: 32 }) })
|
|
2519
|
+
] }) });
|
|
2520
|
+
}
|
|
2521
|
+
function SidebarPageHeader({ className, ...props }) {
|
|
2522
|
+
return /* @__PURE__ */ jsx25(
|
|
2523
|
+
"header",
|
|
2524
|
+
{
|
|
2525
|
+
className: cn(
|
|
2526
|
+
"flex h-[calc(3.75rem+1px)] items-center gap-2 border-b border-berget-border px-4",
|
|
2527
|
+
className
|
|
2528
|
+
),
|
|
2529
|
+
...props
|
|
2530
|
+
}
|
|
2531
|
+
);
|
|
2532
|
+
}
|
|
2533
|
+
function SidebarMenuButton2({ className, ...props }) {
|
|
2534
|
+
return /* @__PURE__ */ jsx25(
|
|
2535
|
+
SidebarMenuButton,
|
|
2536
|
+
{
|
|
2537
|
+
className: cn(sizingMenuButtonClasses, iconModeButtonClasses, className),
|
|
2538
|
+
...props
|
|
2539
|
+
}
|
|
2540
|
+
);
|
|
2541
|
+
}
|
|
2542
|
+
function SidebarMenuSubButton2({ className, ...props }) {
|
|
2543
|
+
return /* @__PURE__ */ jsx25(
|
|
2544
|
+
SidebarMenuSubButton,
|
|
2545
|
+
{
|
|
2546
|
+
className: cn(sizingSubButtonClasses, "[&>svg]:text-inherit", className),
|
|
2547
|
+
...props
|
|
2548
|
+
}
|
|
2549
|
+
);
|
|
2550
|
+
}
|
|
2551
|
+
|
|
1597
2552
|
// src/components/table/Table.tsx
|
|
1598
|
-
import * as
|
|
2553
|
+
import * as React16 from "react";
|
|
1599
2554
|
|
|
1600
2555
|
// src/primitives/table.tsx
|
|
1601
|
-
import { cn as
|
|
1602
|
-
import { jsx as
|
|
2556
|
+
import { cn as cn12 } from "cn";
|
|
2557
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1603
2558
|
function Table({ className, ...props }) {
|
|
1604
|
-
return /* @__PURE__ */
|
|
2559
|
+
return /* @__PURE__ */ jsx26(
|
|
1605
2560
|
"div",
|
|
1606
2561
|
{
|
|
1607
2562
|
"data-slot": "table-container",
|
|
1608
2563
|
className: "relative w-full overflow-x-auto",
|
|
1609
|
-
children: /* @__PURE__ */
|
|
2564
|
+
children: /* @__PURE__ */ jsx26(
|
|
1610
2565
|
"table",
|
|
1611
2566
|
{
|
|
1612
2567
|
"data-slot": "table",
|
|
1613
|
-
className:
|
|
2568
|
+
className: cn12("w-full caption-bottom text-sm", className),
|
|
1614
2569
|
...props
|
|
1615
2570
|
}
|
|
1616
2571
|
)
|
|
@@ -1618,31 +2573,31 @@ function Table({ className, ...props }) {
|
|
|
1618
2573
|
);
|
|
1619
2574
|
}
|
|
1620
2575
|
function TableHeader({ className, ...props }) {
|
|
1621
|
-
return /* @__PURE__ */
|
|
2576
|
+
return /* @__PURE__ */ jsx26(
|
|
1622
2577
|
"thead",
|
|
1623
2578
|
{
|
|
1624
2579
|
"data-slot": "table-header",
|
|
1625
|
-
className:
|
|
2580
|
+
className: cn12("[&_tr]:border-b", className),
|
|
1626
2581
|
...props
|
|
1627
2582
|
}
|
|
1628
2583
|
);
|
|
1629
2584
|
}
|
|
1630
2585
|
function TableBody({ className, ...props }) {
|
|
1631
|
-
return /* @__PURE__ */
|
|
2586
|
+
return /* @__PURE__ */ jsx26(
|
|
1632
2587
|
"tbody",
|
|
1633
2588
|
{
|
|
1634
2589
|
"data-slot": "table-body",
|
|
1635
|
-
className:
|
|
2590
|
+
className: cn12("[&_tr:last-child]:border-0", className),
|
|
1636
2591
|
...props
|
|
1637
2592
|
}
|
|
1638
2593
|
);
|
|
1639
2594
|
}
|
|
1640
2595
|
function TableFooter({ className, ...props }) {
|
|
1641
|
-
return /* @__PURE__ */
|
|
2596
|
+
return /* @__PURE__ */ jsx26(
|
|
1642
2597
|
"tfoot",
|
|
1643
2598
|
{
|
|
1644
2599
|
"data-slot": "table-footer",
|
|
1645
|
-
className:
|
|
2600
|
+
className: cn12(
|
|
1646
2601
|
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
1647
2602
|
className
|
|
1648
2603
|
),
|
|
@@ -1651,11 +2606,11 @@ function TableFooter({ className, ...props }) {
|
|
|
1651
2606
|
);
|
|
1652
2607
|
}
|
|
1653
2608
|
function TableRow({ className, ...props }) {
|
|
1654
|
-
return /* @__PURE__ */
|
|
2609
|
+
return /* @__PURE__ */ jsx26(
|
|
1655
2610
|
"tr",
|
|
1656
2611
|
{
|
|
1657
2612
|
"data-slot": "table-row",
|
|
1658
|
-
className:
|
|
2613
|
+
className: cn12(
|
|
1659
2614
|
"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",
|
|
1660
2615
|
className
|
|
1661
2616
|
),
|
|
@@ -1664,11 +2619,11 @@ function TableRow({ className, ...props }) {
|
|
|
1664
2619
|
);
|
|
1665
2620
|
}
|
|
1666
2621
|
function TableHead({ className, ...props }) {
|
|
1667
|
-
return /* @__PURE__ */
|
|
2622
|
+
return /* @__PURE__ */ jsx26(
|
|
1668
2623
|
"th",
|
|
1669
2624
|
{
|
|
1670
2625
|
"data-slot": "table-head",
|
|
1671
|
-
className:
|
|
2626
|
+
className: cn12(
|
|
1672
2627
|
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
|
|
1673
2628
|
className
|
|
1674
2629
|
),
|
|
@@ -1677,11 +2632,11 @@ function TableHead({ className, ...props }) {
|
|
|
1677
2632
|
);
|
|
1678
2633
|
}
|
|
1679
2634
|
function TableCell({ className, ...props }) {
|
|
1680
|
-
return /* @__PURE__ */
|
|
2635
|
+
return /* @__PURE__ */ jsx26(
|
|
1681
2636
|
"td",
|
|
1682
2637
|
{
|
|
1683
2638
|
"data-slot": "table-cell",
|
|
1684
|
-
className:
|
|
2639
|
+
className: cn12(
|
|
1685
2640
|
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
1686
2641
|
className
|
|
1687
2642
|
),
|
|
@@ -1693,23 +2648,23 @@ function TableCaption({
|
|
|
1693
2648
|
className,
|
|
1694
2649
|
...props
|
|
1695
2650
|
}) {
|
|
1696
|
-
return /* @__PURE__ */
|
|
2651
|
+
return /* @__PURE__ */ jsx26(
|
|
1697
2652
|
"caption",
|
|
1698
2653
|
{
|
|
1699
2654
|
"data-slot": "table-caption",
|
|
1700
|
-
className:
|
|
2655
|
+
className: cn12("mt-4 text-sm text-muted-foreground", className),
|
|
1701
2656
|
...props
|
|
1702
2657
|
}
|
|
1703
2658
|
);
|
|
1704
2659
|
}
|
|
1705
2660
|
|
|
1706
2661
|
// src/components/table/Table.tsx
|
|
1707
|
-
import { jsx as
|
|
1708
|
-
var Table2 =
|
|
1709
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
2662
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2663
|
+
var Table2 = React16.forwardRef(
|
|
2664
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx27(Table, { ref, className, ...props })
|
|
1710
2665
|
);
|
|
1711
2666
|
Table2.displayName = "Table";
|
|
1712
|
-
var TableHeader2 =
|
|
2667
|
+
var TableHeader2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1713
2668
|
TableHeader,
|
|
1714
2669
|
{
|
|
1715
2670
|
ref,
|
|
@@ -1718,7 +2673,7 @@ var TableHeader2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1718
2673
|
}
|
|
1719
2674
|
));
|
|
1720
2675
|
TableHeader2.displayName = "TableHeader";
|
|
1721
|
-
var TableBody2 =
|
|
2676
|
+
var TableBody2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1722
2677
|
TableBody,
|
|
1723
2678
|
{
|
|
1724
2679
|
ref,
|
|
@@ -1727,7 +2682,7 @@ var TableBody2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1727
2682
|
}
|
|
1728
2683
|
));
|
|
1729
2684
|
TableBody2.displayName = "TableBody";
|
|
1730
|
-
var TableFooter2 =
|
|
2685
|
+
var TableFooter2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1731
2686
|
TableFooter,
|
|
1732
2687
|
{
|
|
1733
2688
|
ref,
|
|
@@ -1739,8 +2694,8 @@ var TableFooter2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1739
2694
|
}
|
|
1740
2695
|
));
|
|
1741
2696
|
TableFooter2.displayName = "TableFooter";
|
|
1742
|
-
var TableRow2 =
|
|
1743
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
2697
|
+
var TableRow2 = React16.forwardRef(
|
|
2698
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1744
2699
|
TableRow,
|
|
1745
2700
|
{
|
|
1746
2701
|
ref,
|
|
@@ -1753,7 +2708,7 @@ var TableRow2 = React14.forwardRef(
|
|
|
1753
2708
|
)
|
|
1754
2709
|
);
|
|
1755
2710
|
TableRow2.displayName = "TableRow";
|
|
1756
|
-
var TableHead2 =
|
|
2711
|
+
var TableHead2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1757
2712
|
TableHead,
|
|
1758
2713
|
{
|
|
1759
2714
|
ref,
|
|
@@ -1765,7 +2720,7 @@ var TableHead2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1765
2720
|
}
|
|
1766
2721
|
));
|
|
1767
2722
|
TableHead2.displayName = "TableHead";
|
|
1768
|
-
var TableCell2 =
|
|
2723
|
+
var TableCell2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1769
2724
|
TableCell,
|
|
1770
2725
|
{
|
|
1771
2726
|
ref,
|
|
@@ -1774,7 +2729,7 @@ var TableCell2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1774
2729
|
}
|
|
1775
2730
|
));
|
|
1776
2731
|
TableCell2.displayName = "TableCell";
|
|
1777
|
-
var TableCaption2 =
|
|
2732
|
+
var TableCaption2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
1778
2733
|
TableCaption,
|
|
1779
2734
|
{
|
|
1780
2735
|
ref,
|
|
@@ -1785,46 +2740,21 @@ var TableCaption2 = React14.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1785
2740
|
TableCaption2.displayName = "TableCaption";
|
|
1786
2741
|
|
|
1787
2742
|
// src/components/item/Item.tsx
|
|
1788
|
-
import * as
|
|
1789
|
-
|
|
1790
|
-
// src/primitives/item.tsx
|
|
1791
|
-
import { mergeProps } from "@base-ui/react/merge-props";
|
|
1792
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
1793
|
-
import { cva as cva9 } from "class-variance-authority";
|
|
1794
|
-
import { cn as cn8 } from "cn";
|
|
1795
|
-
|
|
1796
|
-
// src/primitives/separator.tsx
|
|
1797
|
-
import { Separator as SeparatorPrimitive } from "@base-ui/react/separator";
|
|
1798
|
-
import { cn as cn7 } from "cn";
|
|
1799
|
-
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1800
|
-
function Separator({
|
|
1801
|
-
className,
|
|
1802
|
-
orientation = "horizontal",
|
|
1803
|
-
...props
|
|
1804
|
-
}) {
|
|
1805
|
-
return /* @__PURE__ */ jsx21(
|
|
1806
|
-
SeparatorPrimitive,
|
|
1807
|
-
{
|
|
1808
|
-
"data-slot": "separator",
|
|
1809
|
-
orientation,
|
|
1810
|
-
className: cn7(
|
|
1811
|
-
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
1812
|
-
className
|
|
1813
|
-
),
|
|
1814
|
-
...props
|
|
1815
|
-
}
|
|
1816
|
-
);
|
|
1817
|
-
}
|
|
2743
|
+
import * as React17 from "react";
|
|
1818
2744
|
|
|
1819
2745
|
// src/primitives/item.tsx
|
|
1820
|
-
import {
|
|
2746
|
+
import { mergeProps as mergeProps2 } from "@base-ui/react/merge-props";
|
|
2747
|
+
import { useRender as useRender2 } from "@base-ui/react/use-render";
|
|
2748
|
+
import { cva as cva10 } from "class-variance-authority";
|
|
2749
|
+
import { cn as cn13 } from "cn";
|
|
2750
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1821
2751
|
function ItemGroup({ className, ...props }) {
|
|
1822
|
-
return /* @__PURE__ */
|
|
2752
|
+
return /* @__PURE__ */ jsx28(
|
|
1823
2753
|
"div",
|
|
1824
2754
|
{
|
|
1825
2755
|
role: "list",
|
|
1826
2756
|
"data-slot": "item-group",
|
|
1827
|
-
className:
|
|
2757
|
+
className: cn13(
|
|
1828
2758
|
"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
|
|
1829
2759
|
className
|
|
1830
2760
|
),
|
|
@@ -1836,17 +2766,17 @@ function ItemSeparator({
|
|
|
1836
2766
|
className,
|
|
1837
2767
|
...props
|
|
1838
2768
|
}) {
|
|
1839
|
-
return /* @__PURE__ */
|
|
2769
|
+
return /* @__PURE__ */ jsx28(
|
|
1840
2770
|
Separator,
|
|
1841
2771
|
{
|
|
1842
2772
|
"data-slot": "item-separator",
|
|
1843
2773
|
orientation: "horizontal",
|
|
1844
|
-
className:
|
|
2774
|
+
className: cn13("my-2", className),
|
|
1845
2775
|
...props
|
|
1846
2776
|
}
|
|
1847
2777
|
);
|
|
1848
2778
|
}
|
|
1849
|
-
var itemVariants =
|
|
2779
|
+
var itemVariants = cva10(
|
|
1850
2780
|
"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
|
|
1851
2781
|
{
|
|
1852
2782
|
variants: {
|
|
@@ -1874,11 +2804,11 @@ function Item({
|
|
|
1874
2804
|
render,
|
|
1875
2805
|
...props
|
|
1876
2806
|
}) {
|
|
1877
|
-
return
|
|
2807
|
+
return useRender2({
|
|
1878
2808
|
defaultTagName: "div",
|
|
1879
|
-
props:
|
|
2809
|
+
props: mergeProps2(
|
|
1880
2810
|
{
|
|
1881
|
-
className:
|
|
2811
|
+
className: cn13(itemVariants({ variant, size, className }))
|
|
1882
2812
|
},
|
|
1883
2813
|
props
|
|
1884
2814
|
),
|
|
@@ -1890,7 +2820,7 @@ function Item({
|
|
|
1890
2820
|
}
|
|
1891
2821
|
});
|
|
1892
2822
|
}
|
|
1893
|
-
var itemMediaVariants =
|
|
2823
|
+
var itemMediaVariants = cva10(
|
|
1894
2824
|
"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
|
|
1895
2825
|
{
|
|
1896
2826
|
variants: {
|
|
@@ -1910,22 +2840,22 @@ function ItemMedia({
|
|
|
1910
2840
|
variant = "default",
|
|
1911
2841
|
...props
|
|
1912
2842
|
}) {
|
|
1913
|
-
return /* @__PURE__ */
|
|
2843
|
+
return /* @__PURE__ */ jsx28(
|
|
1914
2844
|
"div",
|
|
1915
2845
|
{
|
|
1916
2846
|
"data-slot": "item-media",
|
|
1917
2847
|
"data-variant": variant,
|
|
1918
|
-
className:
|
|
2848
|
+
className: cn13(itemMediaVariants({ variant, className })),
|
|
1919
2849
|
...props
|
|
1920
2850
|
}
|
|
1921
2851
|
);
|
|
1922
2852
|
}
|
|
1923
2853
|
function ItemContent({ className, ...props }) {
|
|
1924
|
-
return /* @__PURE__ */
|
|
2854
|
+
return /* @__PURE__ */ jsx28(
|
|
1925
2855
|
"div",
|
|
1926
2856
|
{
|
|
1927
2857
|
"data-slot": "item-content",
|
|
1928
|
-
className:
|
|
2858
|
+
className: cn13(
|
|
1929
2859
|
"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
|
|
1930
2860
|
className
|
|
1931
2861
|
),
|
|
@@ -1934,11 +2864,11 @@ function ItemContent({ className, ...props }) {
|
|
|
1934
2864
|
);
|
|
1935
2865
|
}
|
|
1936
2866
|
function ItemTitle({ className, ...props }) {
|
|
1937
|
-
return /* @__PURE__ */
|
|
2867
|
+
return /* @__PURE__ */ jsx28(
|
|
1938
2868
|
"div",
|
|
1939
2869
|
{
|
|
1940
2870
|
"data-slot": "item-title",
|
|
1941
|
-
className:
|
|
2871
|
+
className: cn13(
|
|
1942
2872
|
"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
|
|
1943
2873
|
className
|
|
1944
2874
|
),
|
|
@@ -1947,11 +2877,11 @@ function ItemTitle({ className, ...props }) {
|
|
|
1947
2877
|
);
|
|
1948
2878
|
}
|
|
1949
2879
|
function ItemDescription({ className, ...props }) {
|
|
1950
|
-
return /* @__PURE__ */
|
|
2880
|
+
return /* @__PURE__ */ jsx28(
|
|
1951
2881
|
"p",
|
|
1952
2882
|
{
|
|
1953
2883
|
"data-slot": "item-description",
|
|
1954
|
-
className:
|
|
2884
|
+
className: cn13(
|
|
1955
2885
|
"line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
1956
2886
|
className
|
|
1957
2887
|
),
|
|
@@ -1960,21 +2890,21 @@ function ItemDescription({ className, ...props }) {
|
|
|
1960
2890
|
);
|
|
1961
2891
|
}
|
|
1962
2892
|
function ItemActions({ className, ...props }) {
|
|
1963
|
-
return /* @__PURE__ */
|
|
2893
|
+
return /* @__PURE__ */ jsx28(
|
|
1964
2894
|
"div",
|
|
1965
2895
|
{
|
|
1966
2896
|
"data-slot": "item-actions",
|
|
1967
|
-
className:
|
|
2897
|
+
className: cn13("flex items-center gap-2", className),
|
|
1968
2898
|
...props
|
|
1969
2899
|
}
|
|
1970
2900
|
);
|
|
1971
2901
|
}
|
|
1972
2902
|
function ItemHeader({ className, ...props }) {
|
|
1973
|
-
return /* @__PURE__ */
|
|
2903
|
+
return /* @__PURE__ */ jsx28(
|
|
1974
2904
|
"div",
|
|
1975
2905
|
{
|
|
1976
2906
|
"data-slot": "item-header",
|
|
1977
|
-
className:
|
|
2907
|
+
className: cn13(
|
|
1978
2908
|
"flex basis-full items-center justify-between gap-2",
|
|
1979
2909
|
className
|
|
1980
2910
|
),
|
|
@@ -1983,11 +2913,11 @@ function ItemHeader({ className, ...props }) {
|
|
|
1983
2913
|
);
|
|
1984
2914
|
}
|
|
1985
2915
|
function ItemFooter({ className, ...props }) {
|
|
1986
|
-
return /* @__PURE__ */
|
|
2916
|
+
return /* @__PURE__ */ jsx28(
|
|
1987
2917
|
"div",
|
|
1988
2918
|
{
|
|
1989
2919
|
"data-slot": "item-footer",
|
|
1990
|
-
className:
|
|
2920
|
+
className: cn13(
|
|
1991
2921
|
"flex basis-full items-center justify-between gap-2",
|
|
1992
2922
|
className
|
|
1993
2923
|
),
|
|
@@ -1997,9 +2927,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
1997
2927
|
}
|
|
1998
2928
|
|
|
1999
2929
|
// src/components/item/Item.tsx
|
|
2000
|
-
import { jsx as
|
|
2930
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
2001
2931
|
function Item2({ className, asChild, children, ...props }) {
|
|
2002
|
-
return /* @__PURE__ */
|
|
2932
|
+
return /* @__PURE__ */ jsx29(
|
|
2003
2933
|
Item,
|
|
2004
2934
|
{
|
|
2005
2935
|
render: asChild ? children : void 0,
|
|
@@ -2018,8 +2948,8 @@ function Item2({ className, asChild, children, ...props }) {
|
|
|
2018
2948
|
}
|
|
2019
2949
|
);
|
|
2020
2950
|
}
|
|
2021
|
-
var ItemMedia2 =
|
|
2022
|
-
return /* @__PURE__ */
|
|
2951
|
+
var ItemMedia2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
2952
|
+
return /* @__PURE__ */ jsx29(
|
|
2023
2953
|
ItemMedia,
|
|
2024
2954
|
{
|
|
2025
2955
|
ref,
|
|
@@ -2029,8 +2959,8 @@ var ItemMedia2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2029
2959
|
);
|
|
2030
2960
|
});
|
|
2031
2961
|
ItemMedia2.displayName = "ItemMedia";
|
|
2032
|
-
var ItemTitle2 =
|
|
2033
|
-
return /* @__PURE__ */
|
|
2962
|
+
var ItemTitle2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
2963
|
+
return /* @__PURE__ */ jsx29(
|
|
2034
2964
|
ItemTitle,
|
|
2035
2965
|
{
|
|
2036
2966
|
ref,
|
|
@@ -2040,8 +2970,8 @@ var ItemTitle2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2040
2970
|
);
|
|
2041
2971
|
});
|
|
2042
2972
|
ItemTitle2.displayName = "ItemTitle";
|
|
2043
|
-
var ItemDescription2 =
|
|
2044
|
-
return /* @__PURE__ */
|
|
2973
|
+
var ItemDescription2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
2974
|
+
return /* @__PURE__ */ jsx29(
|
|
2045
2975
|
ItemDescription,
|
|
2046
2976
|
{
|
|
2047
2977
|
ref,
|
|
@@ -2051,8 +2981,8 @@ var ItemDescription2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2051
2981
|
);
|
|
2052
2982
|
});
|
|
2053
2983
|
ItemDescription2.displayName = "ItemDescription";
|
|
2054
|
-
var ItemSeparator2 =
|
|
2055
|
-
return /* @__PURE__ */
|
|
2984
|
+
var ItemSeparator2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
2985
|
+
return /* @__PURE__ */ jsx29(
|
|
2056
2986
|
ItemSeparator,
|
|
2057
2987
|
{
|
|
2058
2988
|
ref,
|
|
@@ -2064,36 +2994,15 @@ var ItemSeparator2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2064
2994
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
2065
2995
|
|
|
2066
2996
|
// src/components/input/Input.tsx
|
|
2067
|
-
import * as
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
import { Input as InputPrimitive } from "@base-ui/react/input";
|
|
2071
|
-
import { cn as cn9 } from "cn";
|
|
2072
|
-
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
2073
|
-
function Input({ className, type, ...props }) {
|
|
2074
|
-
return /* @__PURE__ */ jsx24(
|
|
2075
|
-
InputPrimitive,
|
|
2076
|
-
{
|
|
2077
|
-
type,
|
|
2078
|
-
"data-slot": "input",
|
|
2079
|
-
className: cn9(
|
|
2080
|
-
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
2081
|
-
className
|
|
2082
|
-
),
|
|
2083
|
-
...props
|
|
2084
|
-
}
|
|
2085
|
-
);
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
|
-
// src/components/input/Input.tsx
|
|
2089
|
-
import { jsx as jsx25, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2090
|
-
var Input2 = React16.forwardRef(
|
|
2997
|
+
import * as React18 from "react";
|
|
2998
|
+
import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2999
|
+
var Input2 = React18.forwardRef(
|
|
2091
3000
|
({ className, icon, actionButton, label, description, error, id, disabled, ...props }, ref) => {
|
|
2092
|
-
const generatedId =
|
|
3001
|
+
const generatedId = React18.useId();
|
|
2093
3002
|
const inputId = id || generatedId;
|
|
2094
3003
|
const errorId = `${inputId}-error`;
|
|
2095
3004
|
const descriptionId = `${inputId}-description`;
|
|
2096
|
-
const inputElement = /* @__PURE__ */
|
|
3005
|
+
const inputElement = /* @__PURE__ */ jsx30(
|
|
2097
3006
|
Input,
|
|
2098
3007
|
{
|
|
2099
3008
|
ref,
|
|
@@ -2113,8 +3022,8 @@ var Input2 = React16.forwardRef(
|
|
|
2113
3022
|
}
|
|
2114
3023
|
);
|
|
2115
3024
|
if (!icon && !actionButton) {
|
|
2116
|
-
return /* @__PURE__ */
|
|
2117
|
-
label && /* @__PURE__ */
|
|
3025
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-2", children: [
|
|
3026
|
+
label && /* @__PURE__ */ jsx30(
|
|
2118
3027
|
"label",
|
|
2119
3028
|
{
|
|
2120
3029
|
htmlFor: inputId,
|
|
@@ -2127,9 +3036,9 @@ var Input2 = React16.forwardRef(
|
|
|
2127
3036
|
}
|
|
2128
3037
|
),
|
|
2129
3038
|
inputElement,
|
|
2130
|
-
(description || error) && /* @__PURE__ */
|
|
2131
|
-
description && /* @__PURE__ */
|
|
2132
|
-
error && /* @__PURE__ */
|
|
3039
|
+
(description || error) && /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1", children: [
|
|
3040
|
+
description && /* @__PURE__ */ jsx30(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3041
|
+
error && /* @__PURE__ */ jsx30(
|
|
2133
3042
|
Typography,
|
|
2134
3043
|
{
|
|
2135
3044
|
variant: "xs",
|
|
@@ -2141,8 +3050,8 @@ var Input2 = React16.forwardRef(
|
|
|
2141
3050
|
] })
|
|
2142
3051
|
] });
|
|
2143
3052
|
}
|
|
2144
|
-
return /* @__PURE__ */
|
|
2145
|
-
label && /* @__PURE__ */
|
|
3053
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-2", children: [
|
|
3054
|
+
label && /* @__PURE__ */ jsx30(
|
|
2146
3055
|
"label",
|
|
2147
3056
|
{
|
|
2148
3057
|
htmlFor: inputId,
|
|
@@ -2154,14 +3063,14 @@ var Input2 = React16.forwardRef(
|
|
|
2154
3063
|
children: label
|
|
2155
3064
|
}
|
|
2156
3065
|
),
|
|
2157
|
-
/* @__PURE__ */
|
|
2158
|
-
icon && /* @__PURE__ */
|
|
3066
|
+
/* @__PURE__ */ jsxs15("div", { className: "relative w-full", children: [
|
|
3067
|
+
icon && /* @__PURE__ */ jsx30("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
|
|
2159
3068
|
inputElement,
|
|
2160
|
-
actionButton && /* @__PURE__ */
|
|
3069
|
+
actionButton && /* @__PURE__ */ jsx30("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
2161
3070
|
] }),
|
|
2162
|
-
(description || error) && /* @__PURE__ */
|
|
2163
|
-
description && /* @__PURE__ */
|
|
2164
|
-
error && /* @__PURE__ */
|
|
3071
|
+
(description || error) && /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1", children: [
|
|
3072
|
+
description && /* @__PURE__ */ jsx30(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3073
|
+
error && /* @__PURE__ */ jsx30(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2165
3074
|
] })
|
|
2166
3075
|
] });
|
|
2167
3076
|
}
|
|
@@ -2169,32 +3078,32 @@ var Input2 = React16.forwardRef(
|
|
|
2169
3078
|
Input2.displayName = "Input";
|
|
2170
3079
|
|
|
2171
3080
|
// src/components/checkbox/Checkbox.tsx
|
|
2172
|
-
import * as
|
|
3081
|
+
import * as React19 from "react";
|
|
2173
3082
|
import { Checkbox as CheckboxPrimitive2 } from "@base-ui/react/checkbox";
|
|
2174
3083
|
import { Check as Check2 } from "lucide-react";
|
|
2175
|
-
import { cva as
|
|
3084
|
+
import { cva as cva11 } from "class-variance-authority";
|
|
2176
3085
|
|
|
2177
3086
|
// src/primitives/checkbox.tsx
|
|
2178
3087
|
import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
|
|
2179
|
-
import { cn as
|
|
3088
|
+
import { cn as cn14 } from "cn";
|
|
2180
3089
|
import { CheckIcon } from "lucide-react";
|
|
2181
|
-
import { jsx as
|
|
3090
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
2182
3091
|
function Checkbox({ className, ...props }) {
|
|
2183
|
-
return /* @__PURE__ */
|
|
3092
|
+
return /* @__PURE__ */ jsx31(
|
|
2184
3093
|
CheckboxPrimitive.Root,
|
|
2185
3094
|
{
|
|
2186
3095
|
"data-slot": "checkbox",
|
|
2187
|
-
className:
|
|
3096
|
+
className: cn14(
|
|
2188
3097
|
"peer relative flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",
|
|
2189
3098
|
className
|
|
2190
3099
|
),
|
|
2191
3100
|
...props,
|
|
2192
|
-
children: /* @__PURE__ */
|
|
3101
|
+
children: /* @__PURE__ */ jsx31(
|
|
2193
3102
|
CheckboxPrimitive.Indicator,
|
|
2194
3103
|
{
|
|
2195
3104
|
"data-slot": "checkbox-indicator",
|
|
2196
3105
|
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
2197
|
-
children: /* @__PURE__ */
|
|
3106
|
+
children: /* @__PURE__ */ jsx31(
|
|
2198
3107
|
CheckIcon,
|
|
2199
3108
|
{}
|
|
2200
3109
|
)
|
|
@@ -2205,8 +3114,8 @@ function Checkbox({ className, ...props }) {
|
|
|
2205
3114
|
}
|
|
2206
3115
|
|
|
2207
3116
|
// src/components/checkbox/Checkbox.tsx
|
|
2208
|
-
import { jsx as
|
|
2209
|
-
var checkboxVariants =
|
|
3117
|
+
import { jsx as jsx32, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3118
|
+
var checkboxVariants = cva11(
|
|
2210
3119
|
"inline-flex items-center justify-center rounded-berget-xs transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2211
3120
|
{
|
|
2212
3121
|
variants: {
|
|
@@ -2227,7 +3136,7 @@ var checkboxVariants = cva10(
|
|
|
2227
3136
|
}
|
|
2228
3137
|
}
|
|
2229
3138
|
);
|
|
2230
|
-
var Checkbox2 =
|
|
3139
|
+
var Checkbox2 = React19.forwardRef(
|
|
2231
3140
|
({
|
|
2232
3141
|
"aria-label": ariaLabel,
|
|
2233
3142
|
className,
|
|
@@ -2240,11 +3149,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2240
3149
|
disabled,
|
|
2241
3150
|
...props
|
|
2242
3151
|
}, ref) => {
|
|
2243
|
-
const generatedId =
|
|
3152
|
+
const generatedId = React19.useId();
|
|
2244
3153
|
const checkboxId = id || generatedId;
|
|
2245
3154
|
const errorId = `${checkboxId}-error`;
|
|
2246
|
-
return /* @__PURE__ */
|
|
2247
|
-
/* @__PURE__ */
|
|
3155
|
+
return /* @__PURE__ */ jsxs16("div", { className: "flex items-start gap-3", children: [
|
|
3156
|
+
/* @__PURE__ */ jsx32("div", { className: "relative flex items-start pt-0.5", children: /* @__PURE__ */ jsx32(
|
|
2248
3157
|
Checkbox,
|
|
2249
3158
|
{
|
|
2250
3159
|
ref,
|
|
@@ -2261,7 +3170,7 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2261
3170
|
className
|
|
2262
3171
|
),
|
|
2263
3172
|
...props,
|
|
2264
|
-
children: /* @__PURE__ */
|
|
3173
|
+
children: /* @__PURE__ */ jsx32(CheckboxPrimitive2.Indicator, { children: /* @__PURE__ */ jsx32(
|
|
2265
3174
|
Check2,
|
|
2266
3175
|
{
|
|
2267
3176
|
className: "h-4 w-4 text-current stroke-current",
|
|
@@ -2270,8 +3179,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2270
3179
|
) })
|
|
2271
3180
|
}
|
|
2272
3181
|
) }),
|
|
2273
|
-
(label || description || error) && /* @__PURE__ */
|
|
2274
|
-
label && /* @__PURE__ */
|
|
3182
|
+
(label || description || error) && /* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-1", children: [
|
|
3183
|
+
label && /* @__PURE__ */ jsx32(
|
|
2275
3184
|
"label",
|
|
2276
3185
|
{
|
|
2277
3186
|
htmlFor: checkboxId,
|
|
@@ -2283,8 +3192,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2283
3192
|
children: label
|
|
2284
3193
|
}
|
|
2285
3194
|
),
|
|
2286
|
-
description && /* @__PURE__ */
|
|
2287
|
-
error && /* @__PURE__ */
|
|
3195
|
+
description && /* @__PURE__ */ jsx32(Typography, { variant: "xs", color: "muted", children: description }),
|
|
3196
|
+
error && /* @__PURE__ */ jsx32(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2288
3197
|
] })
|
|
2289
3198
|
] });
|
|
2290
3199
|
}
|
|
@@ -2292,11 +3201,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2292
3201
|
Checkbox2.displayName = "Checkbox";
|
|
2293
3202
|
|
|
2294
3203
|
// src/components/switch/Switch.tsx
|
|
2295
|
-
import * as
|
|
3204
|
+
import * as React20 from "react";
|
|
2296
3205
|
import { Switch as SwitchPrimitives } from "@base-ui/react/switch";
|
|
2297
|
-
import { cva as
|
|
2298
|
-
import { jsx as
|
|
2299
|
-
var switchRootVariants =
|
|
3206
|
+
import { cva as cva12 } from "class-variance-authority";
|
|
3207
|
+
import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3208
|
+
var switchRootVariants = cva12(
|
|
2300
3209
|
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",
|
|
2301
3210
|
{
|
|
2302
3211
|
variants: {
|
|
@@ -2317,7 +3226,7 @@ var switchRootVariants = cva11(
|
|
|
2317
3226
|
}
|
|
2318
3227
|
}
|
|
2319
3228
|
);
|
|
2320
|
-
var switchThumbVariants =
|
|
3229
|
+
var switchThumbVariants = cva12(
|
|
2321
3230
|
"pointer-events-none block rounded-full ring-0 transition-transform shadow-berget-sm bg-berget-foreground",
|
|
2322
3231
|
{
|
|
2323
3232
|
variants: {
|
|
@@ -2332,7 +3241,7 @@ var switchThumbVariants = cva11(
|
|
|
2332
3241
|
}
|
|
2333
3242
|
}
|
|
2334
3243
|
);
|
|
2335
|
-
var Switch =
|
|
3244
|
+
var Switch = React20.forwardRef(
|
|
2336
3245
|
({
|
|
2337
3246
|
"aria-label": ariaLabel,
|
|
2338
3247
|
className,
|
|
@@ -2345,11 +3254,11 @@ var Switch = React18.forwardRef(
|
|
|
2345
3254
|
disabled,
|
|
2346
3255
|
...props
|
|
2347
3256
|
}, ref) => {
|
|
2348
|
-
const generatedId =
|
|
3257
|
+
const generatedId = React20.useId();
|
|
2349
3258
|
const switchId = id || generatedId;
|
|
2350
3259
|
const errorId = `${switchId}-error`;
|
|
2351
|
-
return /* @__PURE__ */
|
|
2352
|
-
/* @__PURE__ */
|
|
3260
|
+
return /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-3", children: [
|
|
3261
|
+
/* @__PURE__ */ jsx33(
|
|
2353
3262
|
SwitchPrimitives.Root,
|
|
2354
3263
|
{
|
|
2355
3264
|
ref,
|
|
@@ -2365,11 +3274,11 @@ var Switch = React18.forwardRef(
|
|
|
2365
3274
|
className
|
|
2366
3275
|
),
|
|
2367
3276
|
...props,
|
|
2368
|
-
children: /* @__PURE__ */
|
|
3277
|
+
children: /* @__PURE__ */ jsx33(SwitchPrimitives.Thumb, { className: cn(switchThumbVariants({ size })) })
|
|
2369
3278
|
}
|
|
2370
3279
|
),
|
|
2371
|
-
(label || description || error) && /* @__PURE__ */
|
|
2372
|
-
label && /* @__PURE__ */
|
|
3280
|
+
(label || description || error) && /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-1", children: [
|
|
3281
|
+
label && /* @__PURE__ */ jsx33(
|
|
2373
3282
|
"label",
|
|
2374
3283
|
{
|
|
2375
3284
|
htmlFor: switchId,
|
|
@@ -2380,8 +3289,8 @@ var Switch = React18.forwardRef(
|
|
|
2380
3289
|
children: label
|
|
2381
3290
|
}
|
|
2382
3291
|
),
|
|
2383
|
-
description && /* @__PURE__ */
|
|
2384
|
-
error && /* @__PURE__ */
|
|
3292
|
+
description && /* @__PURE__ */ jsx33(Typography, { variant: "xs", color: "muted", children: description }),
|
|
3293
|
+
error && /* @__PURE__ */ jsx33(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2385
3294
|
] })
|
|
2386
3295
|
] });
|
|
2387
3296
|
}
|
|
@@ -2389,21 +3298,21 @@ var Switch = React18.forwardRef(
|
|
|
2389
3298
|
Switch.displayName = "Switch";
|
|
2390
3299
|
|
|
2391
3300
|
// src/components/select/Select.tsx
|
|
2392
|
-
import * as
|
|
2393
|
-
import { cva as
|
|
3301
|
+
import * as React21 from "react";
|
|
3302
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
2394
3303
|
|
|
2395
3304
|
// src/primitives/select.tsx
|
|
2396
3305
|
import { Select as SelectPrimitive } from "@base-ui/react/select";
|
|
2397
|
-
import { cn as
|
|
3306
|
+
import { cn as cn15 } from "cn";
|
|
2398
3307
|
import { ChevronDownIcon as ChevronDownIcon2, CheckIcon as CheckIcon2, ChevronUpIcon } from "lucide-react";
|
|
2399
|
-
import { jsx as
|
|
3308
|
+
import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2400
3309
|
var Select = SelectPrimitive.Root;
|
|
2401
3310
|
function SelectValue({ className, ...props }) {
|
|
2402
|
-
return /* @__PURE__ */
|
|
3311
|
+
return /* @__PURE__ */ jsx34(
|
|
2403
3312
|
SelectPrimitive.Value,
|
|
2404
3313
|
{
|
|
2405
3314
|
"data-slot": "select-value",
|
|
2406
|
-
className:
|
|
3315
|
+
className: cn15("flex flex-1 text-left", className),
|
|
2407
3316
|
...props
|
|
2408
3317
|
}
|
|
2409
3318
|
);
|
|
@@ -2414,22 +3323,22 @@ function SelectTrigger({
|
|
|
2414
3323
|
children,
|
|
2415
3324
|
...props
|
|
2416
3325
|
}) {
|
|
2417
|
-
return /* @__PURE__ */
|
|
3326
|
+
return /* @__PURE__ */ jsxs18(
|
|
2418
3327
|
SelectPrimitive.Trigger,
|
|
2419
3328
|
{
|
|
2420
3329
|
"data-slot": "select-trigger",
|
|
2421
3330
|
"data-size": size,
|
|
2422
|
-
className:
|
|
3331
|
+
className: cn15(
|
|
2423
3332
|
"flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2424
3333
|
className
|
|
2425
3334
|
),
|
|
2426
3335
|
...props,
|
|
2427
3336
|
children: [
|
|
2428
3337
|
children,
|
|
2429
|
-
/* @__PURE__ */
|
|
3338
|
+
/* @__PURE__ */ jsx34(
|
|
2430
3339
|
SelectPrimitive.Icon,
|
|
2431
3340
|
{
|
|
2432
|
-
render: /* @__PURE__ */
|
|
3341
|
+
render: /* @__PURE__ */ jsx34(ChevronDownIcon2, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
2433
3342
|
}
|
|
2434
3343
|
)
|
|
2435
3344
|
]
|
|
@@ -2446,7 +3355,7 @@ function SelectContent({
|
|
|
2446
3355
|
alignItemWithTrigger = true,
|
|
2447
3356
|
...props
|
|
2448
3357
|
}) {
|
|
2449
|
-
return /* @__PURE__ */
|
|
3358
|
+
return /* @__PURE__ */ jsx34(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
|
|
2450
3359
|
SelectPrimitive.Positioner,
|
|
2451
3360
|
{
|
|
2452
3361
|
side,
|
|
@@ -2455,17 +3364,17 @@ function SelectContent({
|
|
|
2455
3364
|
alignOffset,
|
|
2456
3365
|
alignItemWithTrigger,
|
|
2457
3366
|
className: "isolate z-50",
|
|
2458
|
-
children: /* @__PURE__ */
|
|
3367
|
+
children: /* @__PURE__ */ jsxs18(
|
|
2459
3368
|
SelectPrimitive.Popup,
|
|
2460
3369
|
{
|
|
2461
3370
|
"data-slot": "select-content",
|
|
2462
3371
|
"data-align-trigger": alignItemWithTrigger,
|
|
2463
|
-
className:
|
|
3372
|
+
className: cn15("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
2464
3373
|
...props,
|
|
2465
3374
|
children: [
|
|
2466
|
-
/* @__PURE__ */
|
|
2467
|
-
/* @__PURE__ */
|
|
2468
|
-
/* @__PURE__ */
|
|
3375
|
+
/* @__PURE__ */ jsx34(SelectScrollUpButton, {}),
|
|
3376
|
+
/* @__PURE__ */ jsx34(SelectPrimitive.List, { children }),
|
|
3377
|
+
/* @__PURE__ */ jsx34(SelectScrollDownButton, {})
|
|
2469
3378
|
]
|
|
2470
3379
|
}
|
|
2471
3380
|
)
|
|
@@ -2477,22 +3386,22 @@ function SelectItem({
|
|
|
2477
3386
|
children,
|
|
2478
3387
|
...props
|
|
2479
3388
|
}) {
|
|
2480
|
-
return /* @__PURE__ */
|
|
3389
|
+
return /* @__PURE__ */ jsxs18(
|
|
2481
3390
|
SelectPrimitive.Item,
|
|
2482
3391
|
{
|
|
2483
3392
|
"data-slot": "select-item",
|
|
2484
|
-
className:
|
|
3393
|
+
className: cn15(
|
|
2485
3394
|
"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
2486
3395
|
className
|
|
2487
3396
|
),
|
|
2488
3397
|
...props,
|
|
2489
3398
|
children: [
|
|
2490
|
-
/* @__PURE__ */
|
|
2491
|
-
/* @__PURE__ */
|
|
3399
|
+
/* @__PURE__ */ jsx34(SelectPrimitive.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
|
|
3400
|
+
/* @__PURE__ */ jsx34(
|
|
2492
3401
|
SelectPrimitive.ItemIndicator,
|
|
2493
3402
|
{
|
|
2494
|
-
render: /* @__PURE__ */
|
|
2495
|
-
children: /* @__PURE__ */
|
|
3403
|
+
render: /* @__PURE__ */ jsx34("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
|
|
3404
|
+
children: /* @__PURE__ */ jsx34(CheckIcon2, { className: "pointer-events-none" })
|
|
2496
3405
|
}
|
|
2497
3406
|
)
|
|
2498
3407
|
]
|
|
@@ -2503,16 +3412,16 @@ function SelectScrollUpButton({
|
|
|
2503
3412
|
className,
|
|
2504
3413
|
...props
|
|
2505
3414
|
}) {
|
|
2506
|
-
return /* @__PURE__ */
|
|
3415
|
+
return /* @__PURE__ */ jsx34(
|
|
2507
3416
|
SelectPrimitive.ScrollUpArrow,
|
|
2508
3417
|
{
|
|
2509
3418
|
"data-slot": "select-scroll-up-button",
|
|
2510
|
-
className:
|
|
3419
|
+
className: cn15(
|
|
2511
3420
|
"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2512
3421
|
className
|
|
2513
3422
|
),
|
|
2514
3423
|
...props,
|
|
2515
|
-
children: /* @__PURE__ */
|
|
3424
|
+
children: /* @__PURE__ */ jsx34(
|
|
2516
3425
|
ChevronUpIcon,
|
|
2517
3426
|
{}
|
|
2518
3427
|
)
|
|
@@ -2523,16 +3432,16 @@ function SelectScrollDownButton({
|
|
|
2523
3432
|
className,
|
|
2524
3433
|
...props
|
|
2525
3434
|
}) {
|
|
2526
|
-
return /* @__PURE__ */
|
|
3435
|
+
return /* @__PURE__ */ jsx34(
|
|
2527
3436
|
SelectPrimitive.ScrollDownArrow,
|
|
2528
3437
|
{
|
|
2529
3438
|
"data-slot": "select-scroll-down-button",
|
|
2530
|
-
className:
|
|
3439
|
+
className: cn15(
|
|
2531
3440
|
"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2532
3441
|
className
|
|
2533
3442
|
),
|
|
2534
3443
|
...props,
|
|
2535
|
-
children: /* @__PURE__ */
|
|
3444
|
+
children: /* @__PURE__ */ jsx34(
|
|
2536
3445
|
ChevronDownIcon2,
|
|
2537
3446
|
{}
|
|
2538
3447
|
)
|
|
@@ -2541,8 +3450,8 @@ function SelectScrollDownButton({
|
|
|
2541
3450
|
}
|
|
2542
3451
|
|
|
2543
3452
|
// src/components/select/Select.tsx
|
|
2544
|
-
import { jsx as
|
|
2545
|
-
var selectVariants =
|
|
3453
|
+
import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3454
|
+
var selectVariants = cva13(
|
|
2546
3455
|
"flex w-full items-center justify-between rounded-berget-xs border bg-card px-4 py-3 text-sm transition-colors duration-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:border-berget-form-focus-border disabled:cursor-not-allowed disabled:opacity-50",
|
|
2547
3456
|
{
|
|
2548
3457
|
variants: {
|
|
@@ -2564,7 +3473,7 @@ var selectVariants = cva12(
|
|
|
2564
3473
|
}
|
|
2565
3474
|
}
|
|
2566
3475
|
);
|
|
2567
|
-
var Select2 =
|
|
3476
|
+
var Select2 = React21.forwardRef(
|
|
2568
3477
|
({
|
|
2569
3478
|
className,
|
|
2570
3479
|
variant,
|
|
@@ -2582,12 +3491,12 @@ var Select2 = React19.forwardRef(
|
|
|
2582
3491
|
name,
|
|
2583
3492
|
required
|
|
2584
3493
|
}, ref) => {
|
|
2585
|
-
const generatedId =
|
|
3494
|
+
const generatedId = React21.useId();
|
|
2586
3495
|
const selectId = id || generatedId;
|
|
2587
3496
|
const errorId = `${selectId}-error`;
|
|
2588
3497
|
const descriptionId = `${selectId}-description`;
|
|
2589
|
-
return /* @__PURE__ */
|
|
2590
|
-
label && /* @__PURE__ */
|
|
3498
|
+
return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", children: [
|
|
3499
|
+
label && /* @__PURE__ */ jsx35(
|
|
2591
3500
|
"label",
|
|
2592
3501
|
{
|
|
2593
3502
|
htmlFor: selectId,
|
|
@@ -2599,7 +3508,7 @@ var Select2 = React19.forwardRef(
|
|
|
2599
3508
|
children: label
|
|
2600
3509
|
}
|
|
2601
3510
|
),
|
|
2602
|
-
/* @__PURE__ */
|
|
3511
|
+
/* @__PURE__ */ jsxs19(
|
|
2603
3512
|
Select,
|
|
2604
3513
|
{
|
|
2605
3514
|
value,
|
|
@@ -2610,7 +3519,7 @@ var Select2 = React19.forwardRef(
|
|
|
2610
3519
|
required,
|
|
2611
3520
|
items: options,
|
|
2612
3521
|
children: [
|
|
2613
|
-
/* @__PURE__ */
|
|
3522
|
+
/* @__PURE__ */ jsx35(
|
|
2614
3523
|
SelectTrigger,
|
|
2615
3524
|
{
|
|
2616
3525
|
ref,
|
|
@@ -2622,33 +3531,33 @@ var Select2 = React19.forwardRef(
|
|
|
2622
3531
|
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
2623
3532
|
className
|
|
2624
3533
|
),
|
|
2625
|
-
children: /* @__PURE__ */
|
|
3534
|
+
children: /* @__PURE__ */ jsx35(SelectValue, { placeholder })
|
|
2626
3535
|
}
|
|
2627
3536
|
),
|
|
2628
|
-
/* @__PURE__ */
|
|
3537
|
+
/* @__PURE__ */ jsx35(SelectContent, { children: options.map((option) => /* @__PURE__ */ jsx35(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
|
|
2629
3538
|
]
|
|
2630
3539
|
}
|
|
2631
3540
|
),
|
|
2632
|
-
description && /* @__PURE__ */
|
|
2633
|
-
error && /* @__PURE__ */
|
|
3541
|
+
description && /* @__PURE__ */ jsx35(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3542
|
+
error && /* @__PURE__ */ jsx35(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2634
3543
|
] });
|
|
2635
3544
|
}
|
|
2636
3545
|
);
|
|
2637
3546
|
Select2.displayName = "Select";
|
|
2638
3547
|
|
|
2639
3548
|
// src/components/country-select/CountrySelect.tsx
|
|
2640
|
-
import * as
|
|
3549
|
+
import * as React23 from "react";
|
|
2641
3550
|
import { ChevronDown as ChevronDown2, Globe } from "lucide-react";
|
|
2642
3551
|
|
|
2643
3552
|
// src/components/icon/Icon.tsx
|
|
2644
|
-
import * as
|
|
2645
|
-
import { jsx as
|
|
3553
|
+
import * as React22 from "react";
|
|
3554
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
2646
3555
|
var iconStrokeMap = {
|
|
2647
3556
|
16: 1.4,
|
|
2648
3557
|
24: 1.6,
|
|
2649
3558
|
32: 1.8
|
|
2650
3559
|
};
|
|
2651
|
-
var Icon =
|
|
3560
|
+
var Icon = React22.forwardRef(
|
|
2652
3561
|
({
|
|
2653
3562
|
icon: IconComponent,
|
|
2654
3563
|
size,
|
|
@@ -2660,7 +3569,7 @@ var Icon = React20.forwardRef(
|
|
|
2660
3569
|
const strokeWidth = iconStrokeMap[size];
|
|
2661
3570
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
2662
3571
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
2663
|
-
return /* @__PURE__ */
|
|
3572
|
+
return /* @__PURE__ */ jsx36(
|
|
2664
3573
|
IconComponent,
|
|
2665
3574
|
{
|
|
2666
3575
|
ref,
|
|
@@ -2676,13 +3585,13 @@ Icon.displayName = "Icon";
|
|
|
2676
3585
|
|
|
2677
3586
|
// src/primitives/popover.tsx
|
|
2678
3587
|
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
2679
|
-
import { cn as
|
|
2680
|
-
import { jsx as
|
|
3588
|
+
import { cn as cn16 } from "cn";
|
|
3589
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2681
3590
|
function Popover({ ...props }) {
|
|
2682
|
-
return /* @__PURE__ */
|
|
3591
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
2683
3592
|
}
|
|
2684
3593
|
function PopoverTrigger({ ...props }) {
|
|
2685
|
-
return /* @__PURE__ */
|
|
3594
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2686
3595
|
}
|
|
2687
3596
|
function PopoverContent({
|
|
2688
3597
|
className,
|
|
@@ -2692,7 +3601,7 @@ function PopoverContent({
|
|
|
2692
3601
|
sideOffset = 4,
|
|
2693
3602
|
...props
|
|
2694
3603
|
}) {
|
|
2695
|
-
return /* @__PURE__ */
|
|
3604
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx37(
|
|
2696
3605
|
PopoverPrimitive.Positioner,
|
|
2697
3606
|
{
|
|
2698
3607
|
align,
|
|
@@ -2700,11 +3609,11 @@ function PopoverContent({
|
|
|
2700
3609
|
side,
|
|
2701
3610
|
sideOffset,
|
|
2702
3611
|
className: "isolate z-50",
|
|
2703
|
-
children: /* @__PURE__ */
|
|
3612
|
+
children: /* @__PURE__ */ jsx37(
|
|
2704
3613
|
PopoverPrimitive.Popup,
|
|
2705
3614
|
{
|
|
2706
3615
|
"data-slot": "popover-content",
|
|
2707
|
-
className:
|
|
3616
|
+
className: cn16(
|
|
2708
3617
|
"z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2709
3618
|
className
|
|
2710
3619
|
),
|
|
@@ -2717,27 +3626,27 @@ function PopoverContent({
|
|
|
2717
3626
|
|
|
2718
3627
|
// src/primitives/command.tsx
|
|
2719
3628
|
import { Command as CommandPrimitive } from "cmdk";
|
|
2720
|
-
import { cn as
|
|
3629
|
+
import { cn as cn20 } from "cn";
|
|
2721
3630
|
|
|
2722
3631
|
// src/primitives/dialog.tsx
|
|
2723
3632
|
import { Dialog as DialogPrimitive2 } from "@base-ui/react/dialog";
|
|
2724
|
-
import { cn as
|
|
2725
|
-
import { XIcon } from "lucide-react";
|
|
2726
|
-
import { jsx as
|
|
3633
|
+
import { cn as cn17 } from "cn";
|
|
3634
|
+
import { XIcon as XIcon2 } from "lucide-react";
|
|
3635
|
+
import { jsx as jsx38, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2727
3636
|
|
|
2728
3637
|
// src/primitives/input-group.tsx
|
|
2729
|
-
import { cva as
|
|
2730
|
-
import { cn as
|
|
3638
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
3639
|
+
import { cn as cn19 } from "cn";
|
|
2731
3640
|
|
|
2732
3641
|
// src/primitives/textarea.tsx
|
|
2733
|
-
import { cn as
|
|
2734
|
-
import { jsx as
|
|
3642
|
+
import { cn as cn18 } from "cn";
|
|
3643
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
2735
3644
|
function Textarea({ className, ...props }) {
|
|
2736
|
-
return /* @__PURE__ */
|
|
3645
|
+
return /* @__PURE__ */ jsx39(
|
|
2737
3646
|
"textarea",
|
|
2738
3647
|
{
|
|
2739
3648
|
"data-slot": "textarea",
|
|
2740
|
-
className:
|
|
3649
|
+
className: cn18(
|
|
2741
3650
|
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
2742
3651
|
className
|
|
2743
3652
|
),
|
|
@@ -2747,14 +3656,14 @@ function Textarea({ className, ...props }) {
|
|
|
2747
3656
|
}
|
|
2748
3657
|
|
|
2749
3658
|
// src/primitives/input-group.tsx
|
|
2750
|
-
import { jsx as
|
|
3659
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
2751
3660
|
function InputGroup({ className, ...props }) {
|
|
2752
|
-
return /* @__PURE__ */
|
|
3661
|
+
return /* @__PURE__ */ jsx40(
|
|
2753
3662
|
"div",
|
|
2754
3663
|
{
|
|
2755
3664
|
"data-slot": "input-group",
|
|
2756
3665
|
role: "group",
|
|
2757
|
-
className:
|
|
3666
|
+
className: cn19(
|
|
2758
3667
|
"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
|
|
2759
3668
|
className
|
|
2760
3669
|
),
|
|
@@ -2762,7 +3671,7 @@ function InputGroup({ className, ...props }) {
|
|
|
2762
3671
|
}
|
|
2763
3672
|
);
|
|
2764
3673
|
}
|
|
2765
|
-
var inputGroupAddonVariants =
|
|
3674
|
+
var inputGroupAddonVariants = cva14(
|
|
2766
3675
|
"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",
|
|
2767
3676
|
{
|
|
2768
3677
|
variants: {
|
|
@@ -2783,13 +3692,13 @@ function InputGroupAddon({
|
|
|
2783
3692
|
align = "inline-start",
|
|
2784
3693
|
...props
|
|
2785
3694
|
}) {
|
|
2786
|
-
return /* @__PURE__ */
|
|
3695
|
+
return /* @__PURE__ */ jsx40(
|
|
2787
3696
|
"div",
|
|
2788
3697
|
{
|
|
2789
3698
|
role: "group",
|
|
2790
3699
|
"data-slot": "input-group-addon",
|
|
2791
3700
|
"data-align": align,
|
|
2792
|
-
className:
|
|
3701
|
+
className: cn19(inputGroupAddonVariants({ align }), className),
|
|
2793
3702
|
onClick: (e) => {
|
|
2794
3703
|
if (e.target.closest("button")) {
|
|
2795
3704
|
return;
|
|
@@ -2800,7 +3709,7 @@ function InputGroupAddon({
|
|
|
2800
3709
|
}
|
|
2801
3710
|
);
|
|
2802
3711
|
}
|
|
2803
|
-
var inputGroupButtonVariants =
|
|
3712
|
+
var inputGroupButtonVariants = cva14(
|
|
2804
3713
|
"flex items-center gap-2 text-sm shadow-none",
|
|
2805
3714
|
{
|
|
2806
3715
|
variants: {
|
|
@@ -2819,16 +3728,16 @@ var inputGroupButtonVariants = cva13(
|
|
|
2819
3728
|
|
|
2820
3729
|
// src/primitives/command.tsx
|
|
2821
3730
|
import { SearchIcon, CheckIcon as CheckIcon3 } from "lucide-react";
|
|
2822
|
-
import { jsx as
|
|
3731
|
+
import { jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
2823
3732
|
function Command({
|
|
2824
3733
|
className,
|
|
2825
3734
|
...props
|
|
2826
3735
|
}) {
|
|
2827
|
-
return /* @__PURE__ */
|
|
3736
|
+
return /* @__PURE__ */ jsx41(
|
|
2828
3737
|
CommandPrimitive,
|
|
2829
3738
|
{
|
|
2830
3739
|
"data-slot": "command",
|
|
2831
|
-
className:
|
|
3740
|
+
className: cn20(
|
|
2832
3741
|
"flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
|
|
2833
3742
|
className
|
|
2834
3743
|
),
|
|
@@ -2840,30 +3749,30 @@ function CommandInput({
|
|
|
2840
3749
|
className,
|
|
2841
3750
|
...props
|
|
2842
3751
|
}) {
|
|
2843
|
-
return /* @__PURE__ */
|
|
2844
|
-
/* @__PURE__ */
|
|
3752
|
+
return /* @__PURE__ */ jsx41("div", { "data-slot": "command-input-wrapper", className: "p-1 pb-0", children: /* @__PURE__ */ jsxs21(InputGroup, { className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [
|
|
3753
|
+
/* @__PURE__ */ jsx41(
|
|
2845
3754
|
CommandPrimitive.Input,
|
|
2846
3755
|
{
|
|
2847
3756
|
"data-slot": "command-input",
|
|
2848
|
-
className:
|
|
3757
|
+
className: cn20(
|
|
2849
3758
|
"w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
2850
3759
|
className
|
|
2851
3760
|
),
|
|
2852
3761
|
...props
|
|
2853
3762
|
}
|
|
2854
3763
|
),
|
|
2855
|
-
/* @__PURE__ */
|
|
3764
|
+
/* @__PURE__ */ jsx41(InputGroupAddon, { children: /* @__PURE__ */ jsx41(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
2856
3765
|
] }) });
|
|
2857
3766
|
}
|
|
2858
3767
|
function CommandList({
|
|
2859
3768
|
className,
|
|
2860
3769
|
...props
|
|
2861
3770
|
}) {
|
|
2862
|
-
return /* @__PURE__ */
|
|
3771
|
+
return /* @__PURE__ */ jsx41(
|
|
2863
3772
|
CommandPrimitive.List,
|
|
2864
3773
|
{
|
|
2865
3774
|
"data-slot": "command-list",
|
|
2866
|
-
className:
|
|
3775
|
+
className: cn20(
|
|
2867
3776
|
"no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",
|
|
2868
3777
|
className
|
|
2869
3778
|
),
|
|
@@ -2875,11 +3784,11 @@ function CommandEmpty({
|
|
|
2875
3784
|
className,
|
|
2876
3785
|
...props
|
|
2877
3786
|
}) {
|
|
2878
|
-
return /* @__PURE__ */
|
|
3787
|
+
return /* @__PURE__ */ jsx41(
|
|
2879
3788
|
CommandPrimitive.Empty,
|
|
2880
3789
|
{
|
|
2881
3790
|
"data-slot": "command-empty",
|
|
2882
|
-
className:
|
|
3791
|
+
className: cn20("py-6 text-center text-sm", className),
|
|
2883
3792
|
...props
|
|
2884
3793
|
}
|
|
2885
3794
|
);
|
|
@@ -2888,11 +3797,11 @@ function CommandGroup({
|
|
|
2888
3797
|
className,
|
|
2889
3798
|
...props
|
|
2890
3799
|
}) {
|
|
2891
|
-
return /* @__PURE__ */
|
|
3800
|
+
return /* @__PURE__ */ jsx41(
|
|
2892
3801
|
CommandPrimitive.Group,
|
|
2893
3802
|
{
|
|
2894
3803
|
"data-slot": "command-group",
|
|
2895
|
-
className:
|
|
3804
|
+
className: cn20(
|
|
2896
3805
|
"overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
2897
3806
|
className
|
|
2898
3807
|
),
|
|
@@ -2905,18 +3814,18 @@ function CommandItem({
|
|
|
2905
3814
|
children,
|
|
2906
3815
|
...props
|
|
2907
3816
|
}) {
|
|
2908
|
-
return /* @__PURE__ */
|
|
3817
|
+
return /* @__PURE__ */ jsxs21(
|
|
2909
3818
|
CommandPrimitive.Item,
|
|
2910
3819
|
{
|
|
2911
3820
|
"data-slot": "command-item",
|
|
2912
|
-
className:
|
|
3821
|
+
className: cn20(
|
|
2913
3822
|
"group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",
|
|
2914
3823
|
className
|
|
2915
3824
|
),
|
|
2916
3825
|
...props,
|
|
2917
3826
|
children: [
|
|
2918
3827
|
children,
|
|
2919
|
-
/* @__PURE__ */
|
|
3828
|
+
/* @__PURE__ */ jsx41(CheckIcon3, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
2920
3829
|
]
|
|
2921
3830
|
}
|
|
2922
3831
|
);
|
|
@@ -3064,8 +3973,8 @@ var isEUCountry = (countryCode) => {
|
|
|
3064
3973
|
};
|
|
3065
3974
|
|
|
3066
3975
|
// src/components/country-select/CountrySelect.tsx
|
|
3067
|
-
import { Fragment as Fragment3, jsx as
|
|
3068
|
-
var CountrySelect =
|
|
3976
|
+
import { Fragment as Fragment3, jsx as jsx42, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3977
|
+
var CountrySelect = React23.forwardRef(
|
|
3069
3978
|
({
|
|
3070
3979
|
value,
|
|
3071
3980
|
onValueChange,
|
|
@@ -3075,14 +3984,14 @@ var CountrySelect = React21.forwardRef(
|
|
|
3075
3984
|
align = "center",
|
|
3076
3985
|
sideOffset = 4
|
|
3077
3986
|
}, ref) => {
|
|
3078
|
-
const [open, setOpen] =
|
|
3079
|
-
const selectedCountry =
|
|
3080
|
-
return /* @__PURE__ */
|
|
3081
|
-
/* @__PURE__ */
|
|
3987
|
+
const [open, setOpen] = React23.useState(false);
|
|
3988
|
+
const selectedCountry = React23.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
|
|
3989
|
+
return /* @__PURE__ */ jsxs22(Popover, { open, onOpenChange: setOpen, children: [
|
|
3990
|
+
/* @__PURE__ */ jsxs22(
|
|
3082
3991
|
PopoverTrigger,
|
|
3083
3992
|
{
|
|
3084
3993
|
ref,
|
|
3085
|
-
render: /* @__PURE__ */
|
|
3994
|
+
render: /* @__PURE__ */ jsx42(
|
|
3086
3995
|
"button",
|
|
3087
3996
|
{
|
|
3088
3997
|
type: "button",
|
|
@@ -3104,16 +4013,16 @@ var CountrySelect = React21.forwardRef(
|
|
|
3104
4013
|
}
|
|
3105
4014
|
),
|
|
3106
4015
|
children: [
|
|
3107
|
-
/* @__PURE__ */
|
|
3108
|
-
/* @__PURE__ */
|
|
3109
|
-
/* @__PURE__ */
|
|
3110
|
-
/* @__PURE__ */
|
|
4016
|
+
/* @__PURE__ */ jsx42("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ jsxs22(Fragment3, { children: [
|
|
4017
|
+
/* @__PURE__ */ jsx42("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
|
|
4018
|
+
/* @__PURE__ */ jsx42("span", { className: "truncate", children: selectedCountry.name }),
|
|
4019
|
+
/* @__PURE__ */ jsxs22("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
|
|
3111
4020
|
"(",
|
|
3112
4021
|
selectedCountry.code,
|
|
3113
4022
|
")"
|
|
3114
4023
|
] })
|
|
3115
|
-
] }) : /* @__PURE__ */
|
|
3116
|
-
/* @__PURE__ */
|
|
4024
|
+
] }) : /* @__PURE__ */ jsxs22(Fragment3, { children: [
|
|
4025
|
+
/* @__PURE__ */ jsx42(
|
|
3117
4026
|
Icon,
|
|
3118
4027
|
{
|
|
3119
4028
|
icon: Globe,
|
|
@@ -3121,9 +4030,9 @@ var CountrySelect = React21.forwardRef(
|
|
|
3121
4030
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
3122
4031
|
}
|
|
3123
4032
|
),
|
|
3124
|
-
/* @__PURE__ */
|
|
4033
|
+
/* @__PURE__ */ jsx42("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
3125
4034
|
] }) }),
|
|
3126
|
-
/* @__PURE__ */
|
|
4035
|
+
/* @__PURE__ */ jsx42(
|
|
3127
4036
|
Icon,
|
|
3128
4037
|
{
|
|
3129
4038
|
icon: ChevronDown2,
|
|
@@ -3138,17 +4047,17 @@ var CountrySelect = React21.forwardRef(
|
|
|
3138
4047
|
]
|
|
3139
4048
|
}
|
|
3140
4049
|
),
|
|
3141
|
-
/* @__PURE__ */
|
|
4050
|
+
/* @__PURE__ */ jsx42(
|
|
3142
4051
|
PopoverContent,
|
|
3143
4052
|
{
|
|
3144
4053
|
align,
|
|
3145
4054
|
sideOffset,
|
|
3146
4055
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
3147
|
-
children: /* @__PURE__ */
|
|
3148
|
-
/* @__PURE__ */
|
|
3149
|
-
/* @__PURE__ */
|
|
3150
|
-
/* @__PURE__ */
|
|
3151
|
-
/* @__PURE__ */
|
|
4056
|
+
children: /* @__PURE__ */ jsxs22(Command, { children: [
|
|
4057
|
+
/* @__PURE__ */ jsx42(CommandInput, { placeholder: "Search country..." }),
|
|
4058
|
+
/* @__PURE__ */ jsxs22(CommandList, { children: [
|
|
4059
|
+
/* @__PURE__ */ jsx42(CommandEmpty, { children: "No countries found." }),
|
|
4060
|
+
/* @__PURE__ */ jsx42(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ jsxs22(
|
|
3152
4061
|
CommandItem,
|
|
3153
4062
|
{
|
|
3154
4063
|
value: `${country.name} ${country.code}`,
|
|
@@ -3162,12 +4071,12 @@ var CountrySelect = React21.forwardRef(
|
|
|
3162
4071
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
3163
4072
|
),
|
|
3164
4073
|
children: [
|
|
3165
|
-
/* @__PURE__ */
|
|
3166
|
-
/* @__PURE__ */
|
|
3167
|
-
/* @__PURE__ */
|
|
3168
|
-
/* @__PURE__ */
|
|
4074
|
+
/* @__PURE__ */ jsx42("span", { className: "text-xl flex-shrink-0", children: country.flag }),
|
|
4075
|
+
/* @__PURE__ */ jsxs22("div", { className: "flex-1 min-w-0", children: [
|
|
4076
|
+
/* @__PURE__ */ jsx42("div", { className: "text-sm truncate", children: country.name }),
|
|
4077
|
+
/* @__PURE__ */ jsx42("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
|
|
3169
4078
|
] }),
|
|
3170
|
-
value === country.code && /* @__PURE__ */
|
|
4079
|
+
value === country.code && /* @__PURE__ */ jsx42("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-0" })
|
|
3171
4080
|
]
|
|
3172
4081
|
},
|
|
3173
4082
|
country.code
|
|
@@ -3182,10 +4091,10 @@ var CountrySelect = React21.forwardRef(
|
|
|
3182
4091
|
CountrySelect.displayName = "CountrySelect";
|
|
3183
4092
|
|
|
3184
4093
|
// src/components/text-area/TextArea.tsx
|
|
3185
|
-
import * as
|
|
3186
|
-
import { cva as
|
|
3187
|
-
import { jsx as
|
|
3188
|
-
var textAreaVariants =
|
|
4094
|
+
import * as React24 from "react";
|
|
4095
|
+
import { cva as cva15 } from "class-variance-authority";
|
|
4096
|
+
import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4097
|
+
var textAreaVariants = cva15(
|
|
3189
4098
|
"rounded-berget-xs bg-card px-4 py-3 transition-colors duration-200 focus-visible:border-berget-form-focus-border focus-visible:ring-0 focus-visible:ring-offset-0 resize-y",
|
|
3190
4099
|
{
|
|
3191
4100
|
variants: {
|
|
@@ -3207,7 +4116,7 @@ var textAreaVariants = cva14(
|
|
|
3207
4116
|
}
|
|
3208
4117
|
}
|
|
3209
4118
|
);
|
|
3210
|
-
var TextArea =
|
|
4119
|
+
var TextArea = React24.forwardRef(
|
|
3211
4120
|
({
|
|
3212
4121
|
className,
|
|
3213
4122
|
variant,
|
|
@@ -3227,13 +4136,13 @@ var TextArea = React22.forwardRef(
|
|
|
3227
4136
|
actionButton,
|
|
3228
4137
|
...props
|
|
3229
4138
|
}, ref) => {
|
|
3230
|
-
const generatedId =
|
|
4139
|
+
const generatedId = React24.useId();
|
|
3231
4140
|
const textareaId = id || generatedId;
|
|
3232
4141
|
const errorId = `${textareaId}-error`;
|
|
3233
4142
|
const descriptionId = `${textareaId}-description`;
|
|
3234
4143
|
const characterCount = typeof value === "string" ? value.length : 0;
|
|
3235
|
-
return /* @__PURE__ */
|
|
3236
|
-
label && /* @__PURE__ */
|
|
4144
|
+
return /* @__PURE__ */ jsxs23("div", { className: "flex flex-col gap-2", children: [
|
|
4145
|
+
label && /* @__PURE__ */ jsx43(
|
|
3237
4146
|
"label",
|
|
3238
4147
|
{
|
|
3239
4148
|
htmlFor: textareaId,
|
|
@@ -3245,9 +4154,9 @@ var TextArea = React22.forwardRef(
|
|
|
3245
4154
|
children: label
|
|
3246
4155
|
}
|
|
3247
4156
|
),
|
|
3248
|
-
/* @__PURE__ */
|
|
3249
|
-
icon && /* @__PURE__ */
|
|
3250
|
-
/* @__PURE__ */
|
|
4157
|
+
/* @__PURE__ */ jsxs23("div", { className: "relative", children: [
|
|
4158
|
+
icon && /* @__PURE__ */ jsx43("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
|
|
4159
|
+
/* @__PURE__ */ jsx43(
|
|
3251
4160
|
Textarea,
|
|
3252
4161
|
{
|
|
3253
4162
|
ref,
|
|
@@ -3272,13 +4181,13 @@ var TextArea = React22.forwardRef(
|
|
|
3272
4181
|
...props
|
|
3273
4182
|
}
|
|
3274
4183
|
),
|
|
3275
|
-
secondaryIcon && /* @__PURE__ */
|
|
3276
|
-
actionButton && /* @__PURE__ */
|
|
4184
|
+
secondaryIcon && /* @__PURE__ */ jsx43("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
|
|
4185
|
+
actionButton && /* @__PURE__ */ jsx43("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
3277
4186
|
] }),
|
|
3278
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */
|
|
3279
|
-
description && /* @__PURE__ */
|
|
3280
|
-
(error || showCount && maxLength) && /* @__PURE__ */
|
|
3281
|
-
showCount && maxLength && /* @__PURE__ */
|
|
4187
|
+
(description || error || showCount && maxLength) && /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between gap-2", children: [
|
|
4188
|
+
description && /* @__PURE__ */ jsx43(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
4189
|
+
(error || showCount && maxLength) && /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
4190
|
+
showCount && maxLength && /* @__PURE__ */ jsxs23(
|
|
3282
4191
|
Typography,
|
|
3283
4192
|
{
|
|
3284
4193
|
variant: "xs",
|
|
@@ -3292,7 +4201,7 @@ var TextArea = React22.forwardRef(
|
|
|
3292
4201
|
]
|
|
3293
4202
|
}
|
|
3294
4203
|
),
|
|
3295
|
-
error && /* @__PURE__ */
|
|
4204
|
+
error && /* @__PURE__ */ jsx43(
|
|
3296
4205
|
Typography,
|
|
3297
4206
|
{
|
|
3298
4207
|
variant: "xs",
|
|
@@ -3309,14 +4218,14 @@ var TextArea = React22.forwardRef(
|
|
|
3309
4218
|
TextArea.displayName = "TextArea";
|
|
3310
4219
|
|
|
3311
4220
|
// src/primitives/label.tsx
|
|
3312
|
-
import { cn as
|
|
3313
|
-
import { jsx as
|
|
4221
|
+
import { cn as cn21 } from "cn";
|
|
4222
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3314
4223
|
function Label({ className, ...props }) {
|
|
3315
|
-
return /* @__PURE__ */
|
|
4224
|
+
return /* @__PURE__ */ jsx44(
|
|
3316
4225
|
"label",
|
|
3317
4226
|
{
|
|
3318
4227
|
"data-slot": "label",
|
|
3319
|
-
className:
|
|
4228
|
+
className: cn21(
|
|
3320
4229
|
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
3321
4230
|
className
|
|
3322
4231
|
),
|
|
@@ -3326,16 +4235,16 @@ function Label({ className, ...props }) {
|
|
|
3326
4235
|
}
|
|
3327
4236
|
|
|
3328
4237
|
// src/primitives/field.tsx
|
|
3329
|
-
import { useMemo as
|
|
3330
|
-
import { cva as
|
|
3331
|
-
import { cn as
|
|
3332
|
-
import { jsx as
|
|
4238
|
+
import { useMemo as useMemo4 } from "react";
|
|
4239
|
+
import { cva as cva16 } from "class-variance-authority";
|
|
4240
|
+
import { cn as cn22 } from "cn";
|
|
4241
|
+
import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3333
4242
|
function FieldSet({ className, ...props }) {
|
|
3334
|
-
return /* @__PURE__ */
|
|
4243
|
+
return /* @__PURE__ */ jsx45(
|
|
3335
4244
|
"fieldset",
|
|
3336
4245
|
{
|
|
3337
4246
|
"data-slot": "field-set",
|
|
3338
|
-
className:
|
|
4247
|
+
className: cn22(
|
|
3339
4248
|
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
3340
4249
|
className
|
|
3341
4250
|
),
|
|
@@ -3348,12 +4257,12 @@ function FieldLegend({
|
|
|
3348
4257
|
variant = "legend",
|
|
3349
4258
|
...props
|
|
3350
4259
|
}) {
|
|
3351
|
-
return /* @__PURE__ */
|
|
4260
|
+
return /* @__PURE__ */ jsx45(
|
|
3352
4261
|
"legend",
|
|
3353
4262
|
{
|
|
3354
4263
|
"data-slot": "field-legend",
|
|
3355
4264
|
"data-variant": variant,
|
|
3356
|
-
className:
|
|
4265
|
+
className: cn22(
|
|
3357
4266
|
"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
|
|
3358
4267
|
className
|
|
3359
4268
|
),
|
|
@@ -3362,11 +4271,11 @@ function FieldLegend({
|
|
|
3362
4271
|
);
|
|
3363
4272
|
}
|
|
3364
4273
|
function FieldGroup({ className, ...props }) {
|
|
3365
|
-
return /* @__PURE__ */
|
|
4274
|
+
return /* @__PURE__ */ jsx45(
|
|
3366
4275
|
"div",
|
|
3367
4276
|
{
|
|
3368
4277
|
"data-slot": "field-group",
|
|
3369
|
-
className:
|
|
4278
|
+
className: cn22(
|
|
3370
4279
|
"group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
|
|
3371
4280
|
className
|
|
3372
4281
|
),
|
|
@@ -3374,7 +4283,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
3374
4283
|
}
|
|
3375
4284
|
);
|
|
3376
4285
|
}
|
|
3377
|
-
var fieldVariants =
|
|
4286
|
+
var fieldVariants = cva16(
|
|
3378
4287
|
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
3379
4288
|
{
|
|
3380
4289
|
variants: {
|
|
@@ -3394,23 +4303,23 @@ function Field({
|
|
|
3394
4303
|
orientation = "vertical",
|
|
3395
4304
|
...props
|
|
3396
4305
|
}) {
|
|
3397
|
-
return /* @__PURE__ */
|
|
4306
|
+
return /* @__PURE__ */ jsx45(
|
|
3398
4307
|
"div",
|
|
3399
4308
|
{
|
|
3400
4309
|
role: "group",
|
|
3401
4310
|
"data-slot": "field",
|
|
3402
4311
|
"data-orientation": orientation,
|
|
3403
|
-
className:
|
|
4312
|
+
className: cn22(fieldVariants({ orientation }), className),
|
|
3404
4313
|
...props
|
|
3405
4314
|
}
|
|
3406
4315
|
);
|
|
3407
4316
|
}
|
|
3408
4317
|
function FieldContent({ className, ...props }) {
|
|
3409
|
-
return /* @__PURE__ */
|
|
4318
|
+
return /* @__PURE__ */ jsx45(
|
|
3410
4319
|
"div",
|
|
3411
4320
|
{
|
|
3412
4321
|
"data-slot": "field-content",
|
|
3413
|
-
className:
|
|
4322
|
+
className: cn22(
|
|
3414
4323
|
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
3415
4324
|
className
|
|
3416
4325
|
),
|
|
@@ -3422,11 +4331,11 @@ function FieldLabel({
|
|
|
3422
4331
|
className,
|
|
3423
4332
|
...props
|
|
3424
4333
|
}) {
|
|
3425
|
-
return /* @__PURE__ */
|
|
4334
|
+
return /* @__PURE__ */ jsx45(
|
|
3426
4335
|
Label,
|
|
3427
4336
|
{
|
|
3428
4337
|
"data-slot": "field-label",
|
|
3429
|
-
className:
|
|
4338
|
+
className: cn22(
|
|
3430
4339
|
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10",
|
|
3431
4340
|
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
3432
4341
|
className
|
|
@@ -3436,11 +4345,11 @@ function FieldLabel({
|
|
|
3436
4345
|
);
|
|
3437
4346
|
}
|
|
3438
4347
|
function FieldTitle({ className, ...props }) {
|
|
3439
|
-
return /* @__PURE__ */
|
|
4348
|
+
return /* @__PURE__ */ jsx45(
|
|
3440
4349
|
"div",
|
|
3441
4350
|
{
|
|
3442
4351
|
"data-slot": "field-label",
|
|
3443
|
-
className:
|
|
4352
|
+
className: cn22(
|
|
3444
4353
|
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
3445
4354
|
className
|
|
3446
4355
|
),
|
|
@@ -3449,11 +4358,11 @@ function FieldTitle({ className, ...props }) {
|
|
|
3449
4358
|
);
|
|
3450
4359
|
}
|
|
3451
4360
|
function FieldDescription({ className, ...props }) {
|
|
3452
|
-
return /* @__PURE__ */
|
|
4361
|
+
return /* @__PURE__ */ jsx45(
|
|
3453
4362
|
"p",
|
|
3454
4363
|
{
|
|
3455
4364
|
"data-slot": "field-description",
|
|
3456
|
-
className:
|
|
4365
|
+
className: cn22(
|
|
3457
4366
|
"text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
|
|
3458
4367
|
"last:mt-0 nth-last-2:-mt-1",
|
|
3459
4368
|
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
@@ -3468,19 +4377,19 @@ function FieldSeparator({
|
|
|
3468
4377
|
className,
|
|
3469
4378
|
...props
|
|
3470
4379
|
}) {
|
|
3471
|
-
return /* @__PURE__ */
|
|
4380
|
+
return /* @__PURE__ */ jsxs24(
|
|
3472
4381
|
"div",
|
|
3473
4382
|
{
|
|
3474
4383
|
"data-slot": "field-separator",
|
|
3475
4384
|
"data-content": !!children,
|
|
3476
|
-
className:
|
|
4385
|
+
className: cn22(
|
|
3477
4386
|
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
3478
4387
|
className
|
|
3479
4388
|
),
|
|
3480
4389
|
...props,
|
|
3481
4390
|
children: [
|
|
3482
|
-
/* @__PURE__ */
|
|
3483
|
-
children && /* @__PURE__ */
|
|
4391
|
+
/* @__PURE__ */ jsx45(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
4392
|
+
children && /* @__PURE__ */ jsx45(
|
|
3484
4393
|
"span",
|
|
3485
4394
|
{
|
|
3486
4395
|
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
@@ -3498,7 +4407,7 @@ function FieldError({
|
|
|
3498
4407
|
errors,
|
|
3499
4408
|
...props
|
|
3500
4409
|
}) {
|
|
3501
|
-
const content =
|
|
4410
|
+
const content = useMemo4(() => {
|
|
3502
4411
|
if (children) {
|
|
3503
4412
|
return children;
|
|
3504
4413
|
}
|
|
@@ -3511,19 +4420,19 @@ function FieldError({
|
|
|
3511
4420
|
if (uniqueErrors?.length == 1) {
|
|
3512
4421
|
return uniqueErrors[0]?.message;
|
|
3513
4422
|
}
|
|
3514
|
-
return /* @__PURE__ */
|
|
3515
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
4423
|
+
return /* @__PURE__ */ jsx45("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
4424
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx45("li", { children: error.message }, index)
|
|
3516
4425
|
) });
|
|
3517
4426
|
}, [children, errors]);
|
|
3518
4427
|
if (!content) {
|
|
3519
4428
|
return null;
|
|
3520
4429
|
}
|
|
3521
|
-
return /* @__PURE__ */
|
|
4430
|
+
return /* @__PURE__ */ jsx45(
|
|
3522
4431
|
"div",
|
|
3523
4432
|
{
|
|
3524
4433
|
role: "alert",
|
|
3525
4434
|
"data-slot": "field-error",
|
|
3526
|
-
className:
|
|
4435
|
+
className: cn22("text-sm font-normal text-destructive", className),
|
|
3527
4436
|
...props,
|
|
3528
4437
|
children: content
|
|
3529
4438
|
}
|
|
@@ -3531,11 +4440,11 @@ function FieldError({
|
|
|
3531
4440
|
}
|
|
3532
4441
|
|
|
3533
4442
|
// src/components/link/Link.tsx
|
|
3534
|
-
import * as
|
|
3535
|
-
import { cva as
|
|
4443
|
+
import * as React25 from "react";
|
|
4444
|
+
import { cva as cva17 } from "class-variance-authority";
|
|
3536
4445
|
import { ExternalLink } from "lucide-react";
|
|
3537
|
-
import { jsx as
|
|
3538
|
-
var linkVariants =
|
|
4446
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
4447
|
+
var linkVariants = cva17(
|
|
3539
4448
|
"inline-flex cursor-pointer items-center gap-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",
|
|
3540
4449
|
{
|
|
3541
4450
|
variants: {
|
|
@@ -3559,7 +4468,7 @@ var linkVariants = cva16(
|
|
|
3559
4468
|
}
|
|
3560
4469
|
}
|
|
3561
4470
|
);
|
|
3562
|
-
var Link =
|
|
4471
|
+
var Link = React25.forwardRef(
|
|
3563
4472
|
({
|
|
3564
4473
|
className,
|
|
3565
4474
|
variant,
|
|
@@ -3572,7 +4481,7 @@ var Link = React23.forwardRef(
|
|
|
3572
4481
|
...props
|
|
3573
4482
|
}, ref) => {
|
|
3574
4483
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
3575
|
-
return /* @__PURE__ */
|
|
4484
|
+
return /* @__PURE__ */ jsxs25(
|
|
3576
4485
|
"a",
|
|
3577
4486
|
{
|
|
3578
4487
|
ref,
|
|
@@ -3588,8 +4497,8 @@ var Link = React23.forwardRef(
|
|
|
3588
4497
|
},
|
|
3589
4498
|
children: [
|
|
3590
4499
|
children,
|
|
3591
|
-
icon && /* @__PURE__ */
|
|
3592
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */
|
|
4500
|
+
icon && /* @__PURE__ */ jsx46("span", { className: "inline-flex items-center", children: icon }),
|
|
4501
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ jsx46("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ jsx46(Icon, { icon: ExternalLink, size: 16 }) })
|
|
3593
4502
|
]
|
|
3594
4503
|
}
|
|
3595
4504
|
);
|
|
@@ -3598,11 +4507,11 @@ var Link = React23.forwardRef(
|
|
|
3598
4507
|
Link.displayName = "Link";
|
|
3599
4508
|
|
|
3600
4509
|
// src/components/container/Container.tsx
|
|
3601
|
-
import * as
|
|
3602
|
-
import { mergeProps as
|
|
3603
|
-
import { useRender as
|
|
3604
|
-
import { cva as
|
|
3605
|
-
var containerVariants =
|
|
4510
|
+
import * as React26 from "react";
|
|
4511
|
+
import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
|
|
4512
|
+
import { useRender as useRender3 } from "@base-ui/react/use-render";
|
|
4513
|
+
import { cva as cva18 } from "class-variance-authority";
|
|
4514
|
+
var containerVariants = cva18("w-full mx-auto", {
|
|
3606
4515
|
variants: {
|
|
3607
4516
|
size: {
|
|
3608
4517
|
sm: "max-w-3xl",
|
|
@@ -3623,13 +4532,13 @@ var containerVariants = cva17("w-full mx-auto", {
|
|
|
3623
4532
|
padding: "md"
|
|
3624
4533
|
}
|
|
3625
4534
|
});
|
|
3626
|
-
var Container =
|
|
4535
|
+
var Container = React26.forwardRef(
|
|
3627
4536
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
3628
|
-
return
|
|
4537
|
+
return useRender3({
|
|
3629
4538
|
ref,
|
|
3630
4539
|
defaultTagName: "div",
|
|
3631
4540
|
render: asChild ? children : void 0,
|
|
3632
|
-
props:
|
|
4541
|
+
props: mergeProps3(
|
|
3633
4542
|
{
|
|
3634
4543
|
className: cn(containerVariants({ size, padding }), className),
|
|
3635
4544
|
children: asChild ? void 0 : children
|
|
@@ -3642,11 +4551,11 @@ var Container = React24.forwardRef(
|
|
|
3642
4551
|
Container.displayName = "Container";
|
|
3643
4552
|
|
|
3644
4553
|
// src/components/grid/Grid.tsx
|
|
3645
|
-
import * as
|
|
3646
|
-
import { cva as
|
|
3647
|
-
import { mergeProps as
|
|
3648
|
-
import { useRender as
|
|
3649
|
-
var gridVariants =
|
|
4554
|
+
import * as React27 from "react";
|
|
4555
|
+
import { cva as cva19 } from "class-variance-authority";
|
|
4556
|
+
import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
|
|
4557
|
+
import { useRender as useRender4 } from "@base-ui/react/use-render";
|
|
4558
|
+
var gridVariants = cva19("grid", {
|
|
3650
4559
|
variants: {
|
|
3651
4560
|
align: {
|
|
3652
4561
|
start: "items-start",
|
|
@@ -3668,13 +4577,13 @@ var gridVariants = cva18("grid", {
|
|
|
3668
4577
|
justify: "start"
|
|
3669
4578
|
}
|
|
3670
4579
|
});
|
|
3671
|
-
var Grid =
|
|
4580
|
+
var Grid = React27.forwardRef(
|
|
3672
4581
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
3673
|
-
return
|
|
4582
|
+
return useRender4({
|
|
3674
4583
|
ref,
|
|
3675
4584
|
defaultTagName: "div",
|
|
3676
4585
|
render: asChild ? children : void 0,
|
|
3677
|
-
props:
|
|
4586
|
+
props: mergeProps4(
|
|
3678
4587
|
{
|
|
3679
4588
|
className: cn(
|
|
3680
4589
|
gridVariants({ align, justify }),
|
|
@@ -3695,11 +4604,11 @@ var Grid = React25.forwardRef(
|
|
|
3695
4604
|
Grid.displayName = "Grid";
|
|
3696
4605
|
|
|
3697
4606
|
// src/components/box/Box.tsx
|
|
3698
|
-
import * as
|
|
3699
|
-
import { cva as
|
|
3700
|
-
import { mergeProps as
|
|
3701
|
-
import { useRender as
|
|
3702
|
-
var boxVariants =
|
|
4607
|
+
import * as React28 from "react";
|
|
4608
|
+
import { cva as cva20 } from "class-variance-authority";
|
|
4609
|
+
import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
|
|
4610
|
+
import { useRender as useRender5 } from "@base-ui/react/use-render";
|
|
4611
|
+
var boxVariants = cva20("flex", {
|
|
3703
4612
|
variants: {
|
|
3704
4613
|
direction: {
|
|
3705
4614
|
row: "flex-row",
|
|
@@ -3735,13 +4644,13 @@ var boxVariants = cva19("flex", {
|
|
|
3735
4644
|
wrap: "nowrap"
|
|
3736
4645
|
}
|
|
3737
4646
|
});
|
|
3738
|
-
var Box =
|
|
4647
|
+
var Box = React28.forwardRef(
|
|
3739
4648
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
3740
|
-
return
|
|
4649
|
+
return useRender5({
|
|
3741
4650
|
ref,
|
|
3742
4651
|
defaultTagName: "div",
|
|
3743
4652
|
render: asChild ? children : void 0,
|
|
3744
|
-
props:
|
|
4653
|
+
props: mergeProps5(
|
|
3745
4654
|
{
|
|
3746
4655
|
className: cn(
|
|
3747
4656
|
boxVariants({ direction, align, justify, wrap }),
|
|
@@ -3758,22 +4667,22 @@ var Box = React26.forwardRef(
|
|
|
3758
4667
|
Box.displayName = "Box";
|
|
3759
4668
|
|
|
3760
4669
|
// src/components/language-select/LanguageSelect.tsx
|
|
3761
|
-
import * as
|
|
4670
|
+
import * as React29 from "react";
|
|
3762
4671
|
import { Globe as Globe2 } from "lucide-react";
|
|
3763
|
-
import { jsx as
|
|
3764
|
-
var LanguageSelect =
|
|
4672
|
+
import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
4673
|
+
var LanguageSelect = React29.forwardRef(
|
|
3765
4674
|
({ className, options, value, onValueChange }, ref) => {
|
|
3766
|
-
return /* @__PURE__ */
|
|
3767
|
-
/* @__PURE__ */
|
|
3768
|
-
/* @__PURE__ */
|
|
3769
|
-
/* @__PURE__ */
|
|
4675
|
+
return /* @__PURE__ */ jsxs26(DropdownMenu, { children: [
|
|
4676
|
+
/* @__PURE__ */ jsx47(DropdownMenuTrigger, { ref, asChild: true, children: /* @__PURE__ */ jsxs26(Button2, { variant: "outline", size: "icon", className, "aria-label": "Select language", children: [
|
|
4677
|
+
/* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Select language" }),
|
|
4678
|
+
/* @__PURE__ */ jsx47(Icon, { icon: Globe2, size: 16, "aria-hidden": true })
|
|
3770
4679
|
] }) }),
|
|
3771
|
-
/* @__PURE__ */
|
|
4680
|
+
/* @__PURE__ */ jsx47(DropdownMenuContent, { align: "start", children: /* @__PURE__ */ jsx47(
|
|
3772
4681
|
DropdownMenuRadioGroup,
|
|
3773
4682
|
{
|
|
3774
4683
|
value,
|
|
3775
4684
|
onValueChange: onValueChange ? (v) => onValueChange(v) : void 0,
|
|
3776
|
-
children: options.map((option) => /* @__PURE__ */
|
|
4685
|
+
children: options.map((option) => /* @__PURE__ */ jsx47(
|
|
3777
4686
|
DropdownMenuRadioItem,
|
|
3778
4687
|
{
|
|
3779
4688
|
value: option.value,
|
|
@@ -3791,13 +4700,13 @@ var LanguageSelect = React27.forwardRef(
|
|
|
3791
4700
|
LanguageSelect.displayName = "LanguageSelect";
|
|
3792
4701
|
|
|
3793
4702
|
// src/components/list/List.tsx
|
|
3794
|
-
import * as
|
|
4703
|
+
import * as React31 from "react";
|
|
3795
4704
|
|
|
3796
4705
|
// src/components/divider/Divider.tsx
|
|
3797
|
-
import * as
|
|
3798
|
-
import { cva as
|
|
3799
|
-
import { jsx as
|
|
3800
|
-
var dividerVariants =
|
|
4706
|
+
import * as React30 from "react";
|
|
4707
|
+
import { cva as cva21 } from "class-variance-authority";
|
|
4708
|
+
import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4709
|
+
var dividerVariants = cva21("", {
|
|
3801
4710
|
variants: {
|
|
3802
4711
|
variant: {
|
|
3803
4712
|
default: "bg-berget-separator",
|
|
@@ -3817,7 +4726,7 @@ var dividerVariants = cva20("", {
|
|
|
3817
4726
|
size: "thin"
|
|
3818
4727
|
}
|
|
3819
4728
|
});
|
|
3820
|
-
var Divider =
|
|
4729
|
+
var Divider = React30.forwardRef(
|
|
3821
4730
|
({
|
|
3822
4731
|
className,
|
|
3823
4732
|
orientation = "horizontal",
|
|
@@ -3828,16 +4737,16 @@ var Divider = React28.forwardRef(
|
|
|
3828
4737
|
...props
|
|
3829
4738
|
}, ref) => {
|
|
3830
4739
|
if (label) {
|
|
3831
|
-
return /* @__PURE__ */
|
|
3832
|
-
labelPosition !== "right" && /* @__PURE__ */
|
|
4740
|
+
return /* @__PURE__ */ jsxs27("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
4741
|
+
labelPosition !== "right" && /* @__PURE__ */ jsx48(
|
|
3833
4742
|
Separator,
|
|
3834
4743
|
{
|
|
3835
4744
|
orientation: "horizontal",
|
|
3836
4745
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
3837
4746
|
}
|
|
3838
4747
|
),
|
|
3839
|
-
/* @__PURE__ */
|
|
3840
|
-
labelPosition !== "left" && /* @__PURE__ */
|
|
4748
|
+
/* @__PURE__ */ jsx48(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
4749
|
+
labelPosition !== "left" && /* @__PURE__ */ jsx48(
|
|
3841
4750
|
Separator,
|
|
3842
4751
|
{
|
|
3843
4752
|
orientation: "horizontal",
|
|
@@ -3846,7 +4755,7 @@ var Divider = React28.forwardRef(
|
|
|
3846
4755
|
)
|
|
3847
4756
|
] });
|
|
3848
4757
|
}
|
|
3849
|
-
return /* @__PURE__ */
|
|
4758
|
+
return /* @__PURE__ */ jsx48(
|
|
3850
4759
|
Separator,
|
|
3851
4760
|
{
|
|
3852
4761
|
ref,
|
|
@@ -3864,19 +4773,19 @@ Divider.displayName = "Divider";
|
|
|
3864
4773
|
|
|
3865
4774
|
// src/components/list/List.tsx
|
|
3866
4775
|
import { Check as Check3 } from "lucide-react";
|
|
3867
|
-
import { jsx as
|
|
3868
|
-
var List =
|
|
4776
|
+
import { jsx as jsx49, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4777
|
+
var List = React31.forwardRef(
|
|
3869
4778
|
({ className, children, ...props }, ref) => {
|
|
3870
|
-
const childrenArray =
|
|
3871
|
-
return /* @__PURE__ */
|
|
4779
|
+
const childrenArray = React31.Children.toArray(children);
|
|
4780
|
+
return /* @__PURE__ */ jsx49("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs28(React31.Fragment, { children: [
|
|
3872
4781
|
child,
|
|
3873
|
-
index < childrenArray.length - 1 && /* @__PURE__ */
|
|
4782
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ jsx49(Divider, { variant: "subtle" })
|
|
3874
4783
|
] }, index)) });
|
|
3875
4784
|
}
|
|
3876
4785
|
);
|
|
3877
4786
|
List.displayName = "List";
|
|
3878
|
-
var ListItem =
|
|
3879
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */
|
|
4787
|
+
var ListItem = React31.forwardRef(
|
|
4788
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ jsxs28(
|
|
3880
4789
|
"div",
|
|
3881
4790
|
{
|
|
3882
4791
|
ref,
|
|
@@ -3887,15 +4796,15 @@ var ListItem = React29.forwardRef(
|
|
|
3887
4796
|
),
|
|
3888
4797
|
...props,
|
|
3889
4798
|
children: [
|
|
3890
|
-
icon && /* @__PURE__ */
|
|
3891
|
-
/* @__PURE__ */
|
|
4799
|
+
icon && /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
4800
|
+
/* @__PURE__ */ jsx49("div", { className: "flex-1 min-w-0", children })
|
|
3892
4801
|
]
|
|
3893
4802
|
}
|
|
3894
4803
|
)
|
|
3895
4804
|
);
|
|
3896
4805
|
ListItem.displayName = "ListItem";
|
|
3897
|
-
var ListHeader =
|
|
3898
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
4806
|
+
var ListHeader = React31.forwardRef(
|
|
4807
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx49(
|
|
3899
4808
|
"div",
|
|
3900
4809
|
{
|
|
3901
4810
|
ref,
|
|
@@ -3906,45 +4815,45 @@ var ListHeader = React29.forwardRef(
|
|
|
3906
4815
|
)
|
|
3907
4816
|
);
|
|
3908
4817
|
ListHeader.displayName = "ListHeader";
|
|
3909
|
-
var FeatureList =
|
|
4818
|
+
var FeatureList = React31.forwardRef(
|
|
3910
4819
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
3911
|
-
return /* @__PURE__ */
|
|
3912
|
-
variant === "bullet" ? /* @__PURE__ */
|
|
3913
|
-
/* @__PURE__ */
|
|
4820
|
+
return /* @__PURE__ */ jsx49("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ jsxs28("li", { className: "flex items-start gap-fluid-md", children: [
|
|
4821
|
+
variant === "bullet" ? /* @__PURE__ */ jsx49("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ jsx49("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx49(Icon, { icon: Check3, size: 24, className: "text-berget-logo-light" }) }),
|
|
4822
|
+
/* @__PURE__ */ jsx49(Typography, { variant: "body", color: "muted", children: item })
|
|
3914
4823
|
] }, index)) });
|
|
3915
4824
|
}
|
|
3916
4825
|
);
|
|
3917
4826
|
FeatureList.displayName = "FeatureList";
|
|
3918
4827
|
|
|
3919
4828
|
// src/components/code-block/CodeBlock.tsx
|
|
3920
|
-
import { useState as
|
|
4829
|
+
import { useState as useState5, useEffect as useEffect4, useCallback as useCallback4 } from "react";
|
|
3921
4830
|
import { Copy, Check as Check4 } from "lucide-react";
|
|
3922
|
-
import { jsx as
|
|
4831
|
+
import { jsx as jsx50, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3923
4832
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
3924
|
-
const [html, setHtml] =
|
|
3925
|
-
const [copied, setCopied] =
|
|
3926
|
-
|
|
4833
|
+
const [html, setHtml] = useState5(null);
|
|
4834
|
+
const [copied, setCopied] = useState5(false);
|
|
4835
|
+
useEffect4(() => {
|
|
3927
4836
|
getHighlighter().then((highlighter) => {
|
|
3928
4837
|
const loadedLangs = highlighter.getLoadedLanguages();
|
|
3929
4838
|
const lang = loadedLangs.includes(language) ? language : "text";
|
|
3930
4839
|
setHtml(highlighter.codeToHtml(code, { lang, theme: "berget" }));
|
|
3931
4840
|
});
|
|
3932
4841
|
}, [code, language]);
|
|
3933
|
-
const handleCopy =
|
|
4842
|
+
const handleCopy = useCallback4(async () => {
|
|
3934
4843
|
await navigator.clipboard.writeText(code);
|
|
3935
4844
|
setCopied(true);
|
|
3936
4845
|
setTimeout(() => setCopied(false), 2e3);
|
|
3937
4846
|
}, [code]);
|
|
3938
|
-
const copyButton = /* @__PURE__ */
|
|
4847
|
+
const copyButton = /* @__PURE__ */ jsx50(
|
|
3939
4848
|
"button",
|
|
3940
4849
|
{
|
|
3941
4850
|
onClick: handleCopy,
|
|
3942
4851
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
3943
4852
|
"aria-label": "Copy code",
|
|
3944
|
-
children: copied ? /* @__PURE__ */
|
|
4853
|
+
children: copied ? /* @__PURE__ */ jsx50(Check4, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx50(Copy, { className: "w-3.5 h-3.5" })
|
|
3945
4854
|
}
|
|
3946
4855
|
);
|
|
3947
|
-
return /* @__PURE__ */
|
|
4856
|
+
return /* @__PURE__ */ jsxs29(
|
|
3948
4857
|
"div",
|
|
3949
4858
|
{
|
|
3950
4859
|
className: cn(
|
|
@@ -3952,27 +4861,27 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
3952
4861
|
className
|
|
3953
4862
|
),
|
|
3954
4863
|
children: [
|
|
3955
|
-
title && /* @__PURE__ */
|
|
3956
|
-
/* @__PURE__ */
|
|
3957
|
-
html ? /* @__PURE__ */
|
|
4864
|
+
title && /* @__PURE__ */ jsx50("div", { className: "!h-10 flex items-center !px-4 !text-xs !leading-normal border-b border-berget-border bg-berget-codeblock-header-bg", children: /* @__PURE__ */ jsx50("span", { className: "text-berget-muted-foreground", children: title }) }),
|
|
4865
|
+
/* @__PURE__ */ jsx50("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
4866
|
+
html ? /* @__PURE__ */ jsx50(
|
|
3958
4867
|
"div",
|
|
3959
4868
|
{
|
|
3960
4869
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
3961
4870
|
dangerouslySetInnerHTML: { __html: html }
|
|
3962
4871
|
}
|
|
3963
|
-
) : /* @__PURE__ */
|
|
4872
|
+
) : /* @__PURE__ */ jsx50("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ jsx50("code", { children: code }) })
|
|
3964
4873
|
]
|
|
3965
4874
|
}
|
|
3966
4875
|
);
|
|
3967
4876
|
}
|
|
3968
4877
|
|
|
3969
4878
|
// src/components/window-frame/WindowFrame.tsx
|
|
3970
|
-
import * as
|
|
3971
|
-
import { useState as
|
|
3972
|
-
import { jsx as
|
|
3973
|
-
var WindowFrame =
|
|
4879
|
+
import * as React32 from "react";
|
|
4880
|
+
import { useState as useState6 } from "react";
|
|
4881
|
+
import { jsx as jsx51, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
4882
|
+
var WindowFrame = React32.forwardRef(
|
|
3974
4883
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
3975
|
-
const [internalActive, setInternalActive] =
|
|
4884
|
+
const [internalActive, setInternalActive] = useState6(tabs?.[0]?.id ?? "");
|
|
3976
4885
|
const currentTab = activeTab ?? internalActive;
|
|
3977
4886
|
const handleTabChange = (id) => {
|
|
3978
4887
|
if (onTabChange) {
|
|
@@ -3981,7 +4890,7 @@ var WindowFrame = React30.forwardRef(
|
|
|
3981
4890
|
setInternalActive(id);
|
|
3982
4891
|
}
|
|
3983
4892
|
};
|
|
3984
|
-
return /* @__PURE__ */
|
|
4893
|
+
return /* @__PURE__ */ jsxs30(
|
|
3985
4894
|
"div",
|
|
3986
4895
|
{
|
|
3987
4896
|
ref,
|
|
@@ -3991,13 +4900,13 @@ var WindowFrame = React30.forwardRef(
|
|
|
3991
4900
|
),
|
|
3992
4901
|
...props,
|
|
3993
4902
|
children: [
|
|
3994
|
-
/* @__PURE__ */
|
|
3995
|
-
/* @__PURE__ */
|
|
3996
|
-
/* @__PURE__ */
|
|
3997
|
-
/* @__PURE__ */
|
|
3998
|
-
/* @__PURE__ */
|
|
4903
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
|
|
4904
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
4905
|
+
/* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
|
|
4906
|
+
/* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
|
|
4907
|
+
/* @__PURE__ */ jsx51("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
|
|
3999
4908
|
] }),
|
|
4000
|
-
tabs && tabs.length > 0 ? /* @__PURE__ */
|
|
4909
|
+
tabs && tabs.length > 0 ? /* @__PURE__ */ jsx51("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ jsx51(
|
|
4001
4910
|
"button",
|
|
4002
4911
|
{
|
|
4003
4912
|
type: "button",
|
|
@@ -4009,9 +4918,9 @@ var WindowFrame = React30.forwardRef(
|
|
|
4009
4918
|
children: tab.label
|
|
4010
4919
|
},
|
|
4011
4920
|
tab.id
|
|
4012
|
-
)) }) : /* @__PURE__ */
|
|
4921
|
+
)) }) : /* @__PURE__ */ jsx51("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
4013
4922
|
] }),
|
|
4014
|
-
/* @__PURE__ */
|
|
4923
|
+
/* @__PURE__ */ jsx51("div", { children })
|
|
4015
4924
|
]
|
|
4016
4925
|
}
|
|
4017
4926
|
);
|
|
@@ -4020,8 +4929,8 @@ var WindowFrame = React30.forwardRef(
|
|
|
4020
4929
|
WindowFrame.displayName = "WindowFrame";
|
|
4021
4930
|
|
|
4022
4931
|
// src/components/fog-illustration/FogIllustration.tsx
|
|
4023
|
-
import { useEffect as
|
|
4024
|
-
import { jsx as
|
|
4932
|
+
import { useEffect as useEffect5, useRef } from "react";
|
|
4933
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
4025
4934
|
var FOG_BRAND_PALETTE = {
|
|
4026
4935
|
ink: "#171a1a",
|
|
4027
4936
|
milk: "#f7f5ed",
|
|
@@ -4227,7 +5136,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4227
5136
|
const ref = useRef(null);
|
|
4228
5137
|
const live = useRef({ palette: { ...FOG_BRAND_PALETTE, ...palette }, speed });
|
|
4229
5138
|
live.current = { palette: { ...FOG_BRAND_PALETTE, ...palette }, speed };
|
|
4230
|
-
|
|
5139
|
+
useEffect5(() => {
|
|
4231
5140
|
const canvas = ref.current;
|
|
4232
5141
|
const parent = canvas?.parentElement;
|
|
4233
5142
|
if (!canvas || !parent) return;
|
|
@@ -4334,7 +5243,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4334
5243
|
gl.deleteFramebuffer(fbo);
|
|
4335
5244
|
};
|
|
4336
5245
|
}, []);
|
|
4337
|
-
return /* @__PURE__ */
|
|
5246
|
+
return /* @__PURE__ */ jsx52("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
4338
5247
|
};
|
|
4339
5248
|
export {
|
|
4340
5249
|
Alert2 as Alert,
|
|
@@ -4436,6 +5345,31 @@ export {
|
|
|
4436
5345
|
NavigationMenuPositioner,
|
|
4437
5346
|
NavigationMenuTrigger,
|
|
4438
5347
|
Select2 as Select,
|
|
5348
|
+
Sidebar,
|
|
5349
|
+
SidebarContent,
|
|
5350
|
+
SidebarFooter2 as SidebarFooter,
|
|
5351
|
+
SidebarGroup2 as SidebarGroup,
|
|
5352
|
+
SidebarGroupAction,
|
|
5353
|
+
SidebarGroupContent,
|
|
5354
|
+
SidebarGroupLabel2 as SidebarGroupLabel,
|
|
5355
|
+
SidebarHeader2 as SidebarHeader,
|
|
5356
|
+
SidebarInput,
|
|
5357
|
+
SidebarInset,
|
|
5358
|
+
SidebarLogo,
|
|
5359
|
+
SidebarMenu,
|
|
5360
|
+
SidebarMenuAction,
|
|
5361
|
+
SidebarMenuBadge,
|
|
5362
|
+
SidebarMenuButton2 as SidebarMenuButton,
|
|
5363
|
+
SidebarMenuItem,
|
|
5364
|
+
SidebarMenuSkeleton,
|
|
5365
|
+
SidebarMenuSub,
|
|
5366
|
+
SidebarMenuSubButton2 as SidebarMenuSubButton,
|
|
5367
|
+
SidebarMenuSubItem,
|
|
5368
|
+
SidebarPageHeader,
|
|
5369
|
+
SidebarProvider2 as SidebarProvider,
|
|
5370
|
+
SidebarRail,
|
|
5371
|
+
SidebarSeparator,
|
|
5372
|
+
SidebarTrigger,
|
|
4439
5373
|
Switch,
|
|
4440
5374
|
Table2 as Table,
|
|
4441
5375
|
TableBody2 as TableBody,
|
|
@@ -4469,6 +5403,7 @@ export {
|
|
|
4469
5403
|
switchThumbVariants,
|
|
4470
5404
|
textAreaVariants,
|
|
4471
5405
|
typographyVariants,
|
|
5406
|
+
useSidebar,
|
|
4472
5407
|
useTheme
|
|
4473
5408
|
};
|
|
4474
5409
|
//# sourceMappingURL=index.js.map
|