@bergetai/ui 0.11.4 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1406 -445
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +117 -2
- package/dist/index.d.ts +117 -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.cjs
CHANGED
|
@@ -129,6 +129,31 @@ __export(src_exports, {
|
|
|
129
129
|
NavigationMenuPositioner: () => NavigationMenuPositioner,
|
|
130
130
|
NavigationMenuTrigger: () => NavigationMenuTrigger,
|
|
131
131
|
Select: () => Select2,
|
|
132
|
+
Sidebar: () => Sidebar,
|
|
133
|
+
SidebarContent: () => SidebarContent,
|
|
134
|
+
SidebarFooter: () => SidebarFooter2,
|
|
135
|
+
SidebarGroup: () => SidebarGroup2,
|
|
136
|
+
SidebarGroupAction: () => SidebarGroupAction,
|
|
137
|
+
SidebarGroupContent: () => SidebarGroupContent,
|
|
138
|
+
SidebarGroupLabel: () => SidebarGroupLabel2,
|
|
139
|
+
SidebarHeader: () => SidebarHeader2,
|
|
140
|
+
SidebarInput: () => SidebarInput,
|
|
141
|
+
SidebarInset: () => SidebarInset,
|
|
142
|
+
SidebarLogo: () => SidebarLogo,
|
|
143
|
+
SidebarMenu: () => SidebarMenu,
|
|
144
|
+
SidebarMenuAction: () => SidebarMenuAction,
|
|
145
|
+
SidebarMenuBadge: () => SidebarMenuBadge,
|
|
146
|
+
SidebarMenuButton: () => SidebarMenuButton2,
|
|
147
|
+
SidebarMenuItem: () => SidebarMenuItem,
|
|
148
|
+
SidebarMenuSkeleton: () => SidebarMenuSkeleton,
|
|
149
|
+
SidebarMenuSub: () => SidebarMenuSub,
|
|
150
|
+
SidebarMenuSubButton: () => SidebarMenuSubButton2,
|
|
151
|
+
SidebarMenuSubItem: () => SidebarMenuSubItem,
|
|
152
|
+
SidebarPageHeader: () => SidebarPageHeader,
|
|
153
|
+
SidebarProvider: () => SidebarProvider2,
|
|
154
|
+
SidebarRail: () => SidebarRail,
|
|
155
|
+
SidebarSeparator: () => SidebarSeparator,
|
|
156
|
+
SidebarTrigger: () => SidebarTrigger,
|
|
132
157
|
Switch: () => Switch,
|
|
133
158
|
Table: () => Table2,
|
|
134
159
|
TableBody: () => TableBody2,
|
|
@@ -162,6 +187,7 @@ __export(src_exports, {
|
|
|
162
187
|
switchThumbVariants: () => switchThumbVariants,
|
|
163
188
|
textAreaVariants: () => textAreaVariants,
|
|
164
189
|
typographyVariants: () => typographyVariants,
|
|
190
|
+
useSidebar: () => useSidebar,
|
|
165
191
|
useTheme: () => useTheme
|
|
166
192
|
});
|
|
167
193
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -854,7 +880,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
854
880
|
({ variant = "logotype", color = "auto", size = 48, className, ...props }, ref) => {
|
|
855
881
|
const fillColor = color === "auto" ? "var(--berget-logo-light)" : color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
856
882
|
if (variant === "symbol") {
|
|
857
|
-
const aspectRatio2 =
|
|
883
|
+
const aspectRatio2 = 428 / 386;
|
|
858
884
|
const width2 = size * aspectRatio2;
|
|
859
885
|
const height2 = size;
|
|
860
886
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
@@ -863,7 +889,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
863
889
|
ref,
|
|
864
890
|
width: width2,
|
|
865
891
|
height: height2,
|
|
866
|
-
viewBox: "
|
|
892
|
+
viewBox: "18 17 428 386",
|
|
867
893
|
fill: "none",
|
|
868
894
|
xmlns: "http://www.w3.org/2000/svg",
|
|
869
895
|
role: "img",
|
|
@@ -1758,23 +1784,978 @@ function NavigationMenuPositioner({
|
|
|
1758
1784
|
) });
|
|
1759
1785
|
}
|
|
1760
1786
|
|
|
1787
|
+
// src/primitives/sidebar.tsx
|
|
1788
|
+
var React15 = __toESM(require("react"), 1);
|
|
1789
|
+
var import_merge_props = require("@base-ui/react/merge-props");
|
|
1790
|
+
var import_use_render = require("@base-ui/react/use-render");
|
|
1791
|
+
var import_class_variance_authority9 = require("class-variance-authority");
|
|
1792
|
+
var import_cn10 = require("cn");
|
|
1793
|
+
|
|
1794
|
+
// src/hooks/use-mobile.tsx
|
|
1795
|
+
var React14 = __toESM(require("react"), 1);
|
|
1796
|
+
var MOBILE_BREAKPOINT = 768;
|
|
1797
|
+
function useIsMobile() {
|
|
1798
|
+
const [isMobile, setIsMobile] = React14.useState(void 0);
|
|
1799
|
+
React14.useEffect(() => {
|
|
1800
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
1801
|
+
const onChange = () => {
|
|
1802
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1803
|
+
};
|
|
1804
|
+
mql.addEventListener("change", onChange);
|
|
1805
|
+
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
1806
|
+
return () => mql.removeEventListener("change", onChange);
|
|
1807
|
+
}, []);
|
|
1808
|
+
return !!isMobile;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
// src/primitives/input.tsx
|
|
1812
|
+
var import_input = require("@base-ui/react/input");
|
|
1813
|
+
var import_cn5 = require("cn");
|
|
1814
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1815
|
+
function Input({ className, type, ...props }) {
|
|
1816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1817
|
+
import_input.Input,
|
|
1818
|
+
{
|
|
1819
|
+
type,
|
|
1820
|
+
"data-slot": "input",
|
|
1821
|
+
className: (0, import_cn5.cn)(
|
|
1822
|
+
"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",
|
|
1823
|
+
className
|
|
1824
|
+
),
|
|
1825
|
+
...props
|
|
1826
|
+
}
|
|
1827
|
+
);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
// src/primitives/separator.tsx
|
|
1831
|
+
var import_separator = require("@base-ui/react/separator");
|
|
1832
|
+
var import_cn6 = require("cn");
|
|
1833
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1834
|
+
function Separator({
|
|
1835
|
+
className,
|
|
1836
|
+
orientation = "horizontal",
|
|
1837
|
+
...props
|
|
1838
|
+
}) {
|
|
1839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1840
|
+
import_separator.Separator,
|
|
1841
|
+
{
|
|
1842
|
+
"data-slot": "separator",
|
|
1843
|
+
orientation,
|
|
1844
|
+
className: (0, import_cn6.cn)(
|
|
1845
|
+
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
1846
|
+
className
|
|
1847
|
+
),
|
|
1848
|
+
...props
|
|
1849
|
+
}
|
|
1850
|
+
);
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1853
|
+
// src/primitives/sheet.tsx
|
|
1854
|
+
var import_dialog2 = require("@base-ui/react/dialog");
|
|
1855
|
+
var import_cn7 = require("cn");
|
|
1856
|
+
var import_lucide_react6 = require("lucide-react");
|
|
1857
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1858
|
+
function Sheet({ ...props }) {
|
|
1859
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_dialog2.Dialog.Root, { "data-slot": "sheet", ...props });
|
|
1860
|
+
}
|
|
1861
|
+
function SheetPortal({ ...props }) {
|
|
1862
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_dialog2.Dialog.Portal, { "data-slot": "sheet-portal", ...props });
|
|
1863
|
+
}
|
|
1864
|
+
function SheetOverlay({ className, ...props }) {
|
|
1865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1866
|
+
import_dialog2.Dialog.Backdrop,
|
|
1867
|
+
{
|
|
1868
|
+
"data-slot": "sheet-overlay",
|
|
1869
|
+
className: (0, import_cn7.cn)(
|
|
1870
|
+
"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",
|
|
1871
|
+
className
|
|
1872
|
+
),
|
|
1873
|
+
...props
|
|
1874
|
+
}
|
|
1875
|
+
);
|
|
1876
|
+
}
|
|
1877
|
+
function SheetContent({
|
|
1878
|
+
className,
|
|
1879
|
+
children,
|
|
1880
|
+
side = "right",
|
|
1881
|
+
showCloseButton = true,
|
|
1882
|
+
...props
|
|
1883
|
+
}) {
|
|
1884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SheetPortal, { children: [
|
|
1885
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SheetOverlay, {}),
|
|
1886
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1887
|
+
import_dialog2.Dialog.Popup,
|
|
1888
|
+
{
|
|
1889
|
+
"data-slot": "sheet-content",
|
|
1890
|
+
"data-side": side,
|
|
1891
|
+
className: (0, import_cn7.cn)(
|
|
1892
|
+
"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",
|
|
1893
|
+
className
|
|
1894
|
+
),
|
|
1895
|
+
...props,
|
|
1896
|
+
children: [
|
|
1897
|
+
children,
|
|
1898
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1899
|
+
import_dialog2.Dialog.Close,
|
|
1900
|
+
{
|
|
1901
|
+
"data-slot": "sheet-close",
|
|
1902
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1903
|
+
Button,
|
|
1904
|
+
{
|
|
1905
|
+
variant: "ghost",
|
|
1906
|
+
className: "absolute top-3 right-3",
|
|
1907
|
+
size: "icon-sm"
|
|
1908
|
+
}
|
|
1909
|
+
),
|
|
1910
|
+
children: [
|
|
1911
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1912
|
+
import_lucide_react6.XIcon,
|
|
1913
|
+
{}
|
|
1914
|
+
),
|
|
1915
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sr-only", children: "Close" })
|
|
1916
|
+
]
|
|
1917
|
+
}
|
|
1918
|
+
)
|
|
1919
|
+
]
|
|
1920
|
+
}
|
|
1921
|
+
)
|
|
1922
|
+
] });
|
|
1923
|
+
}
|
|
1924
|
+
function SheetHeader({ className, ...props }) {
|
|
1925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1926
|
+
"div",
|
|
1927
|
+
{
|
|
1928
|
+
"data-slot": "sheet-header",
|
|
1929
|
+
className: (0, import_cn7.cn)("flex flex-col gap-0.5 p-4", className),
|
|
1930
|
+
...props
|
|
1931
|
+
}
|
|
1932
|
+
);
|
|
1933
|
+
}
|
|
1934
|
+
function SheetTitle({ className, ...props }) {
|
|
1935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1936
|
+
import_dialog2.Dialog.Title,
|
|
1937
|
+
{
|
|
1938
|
+
"data-slot": "sheet-title",
|
|
1939
|
+
className: (0, import_cn7.cn)(
|
|
1940
|
+
"text-base font-medium text-foreground",
|
|
1941
|
+
className
|
|
1942
|
+
),
|
|
1943
|
+
...props
|
|
1944
|
+
}
|
|
1945
|
+
);
|
|
1946
|
+
}
|
|
1947
|
+
function SheetDescription({
|
|
1948
|
+
className,
|
|
1949
|
+
...props
|
|
1950
|
+
}) {
|
|
1951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1952
|
+
import_dialog2.Dialog.Description,
|
|
1953
|
+
{
|
|
1954
|
+
"data-slot": "sheet-description",
|
|
1955
|
+
className: (0, import_cn7.cn)("text-sm text-muted-foreground", className),
|
|
1956
|
+
...props
|
|
1957
|
+
}
|
|
1958
|
+
);
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
// src/primitives/skeleton.tsx
|
|
1962
|
+
var import_cn8 = require("cn");
|
|
1963
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1964
|
+
function Skeleton({ className, ...props }) {
|
|
1965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1966
|
+
"div",
|
|
1967
|
+
{
|
|
1968
|
+
"data-slot": "skeleton",
|
|
1969
|
+
className: (0, import_cn8.cn)("animate-pulse rounded-md bg-muted", className),
|
|
1970
|
+
...props
|
|
1971
|
+
}
|
|
1972
|
+
);
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
// src/primitives/tooltip.tsx
|
|
1976
|
+
var import_tooltip = require("@base-ui/react/tooltip");
|
|
1977
|
+
var import_cn9 = require("cn");
|
|
1978
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1979
|
+
function Tooltip({ ...props }) {
|
|
1980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_tooltip.Tooltip.Root, { "data-slot": "tooltip", ...props });
|
|
1981
|
+
}
|
|
1982
|
+
function TooltipTrigger({ ...props }) {
|
|
1983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_tooltip.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
1984
|
+
}
|
|
1985
|
+
function TooltipContent({
|
|
1986
|
+
className,
|
|
1987
|
+
side = "top",
|
|
1988
|
+
sideOffset = 4,
|
|
1989
|
+
align = "center",
|
|
1990
|
+
alignOffset = 0,
|
|
1991
|
+
children,
|
|
1992
|
+
...props
|
|
1993
|
+
}) {
|
|
1994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1995
|
+
import_tooltip.Tooltip.Positioner,
|
|
1996
|
+
{
|
|
1997
|
+
align,
|
|
1998
|
+
alignOffset,
|
|
1999
|
+
side,
|
|
2000
|
+
sideOffset,
|
|
2001
|
+
className: "isolate z-50",
|
|
2002
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
2003
|
+
import_tooltip.Tooltip.Popup,
|
|
2004
|
+
{
|
|
2005
|
+
"data-slot": "tooltip-content",
|
|
2006
|
+
className: (0, import_cn9.cn)(
|
|
2007
|
+
"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",
|
|
2008
|
+
className
|
|
2009
|
+
),
|
|
2010
|
+
...props,
|
|
2011
|
+
children: [
|
|
2012
|
+
children,
|
|
2013
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_tooltip.Tooltip.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" })
|
|
2014
|
+
]
|
|
2015
|
+
}
|
|
2016
|
+
)
|
|
2017
|
+
}
|
|
2018
|
+
) });
|
|
2019
|
+
}
|
|
2020
|
+
|
|
2021
|
+
// src/primitives/sidebar.tsx
|
|
2022
|
+
var import_lucide_react7 = require("lucide-react");
|
|
2023
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2024
|
+
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
2025
|
+
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
2026
|
+
var SIDEBAR_WIDTH = "16rem";
|
|
2027
|
+
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
2028
|
+
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
2029
|
+
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
2030
|
+
var SidebarContext = React15.createContext(null);
|
|
2031
|
+
function useSidebar() {
|
|
2032
|
+
const context = React15.useContext(SidebarContext);
|
|
2033
|
+
if (!context) {
|
|
2034
|
+
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
2035
|
+
}
|
|
2036
|
+
return context;
|
|
2037
|
+
}
|
|
2038
|
+
function SidebarProvider({
|
|
2039
|
+
defaultOpen = true,
|
|
2040
|
+
open: openProp,
|
|
2041
|
+
onOpenChange: setOpenProp,
|
|
2042
|
+
className,
|
|
2043
|
+
style,
|
|
2044
|
+
children,
|
|
2045
|
+
...props
|
|
2046
|
+
}) {
|
|
2047
|
+
const isMobile = useIsMobile();
|
|
2048
|
+
const [openMobile, setOpenMobile] = React15.useState(false);
|
|
2049
|
+
const [_open, _setOpen] = React15.useState(defaultOpen);
|
|
2050
|
+
const open = openProp ?? _open;
|
|
2051
|
+
const setOpen = React15.useCallback(
|
|
2052
|
+
(value) => {
|
|
2053
|
+
const openState = typeof value === "function" ? value(open) : value;
|
|
2054
|
+
if (setOpenProp) {
|
|
2055
|
+
setOpenProp(openState);
|
|
2056
|
+
} else {
|
|
2057
|
+
_setOpen(openState);
|
|
2058
|
+
}
|
|
2059
|
+
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
|
2060
|
+
},
|
|
2061
|
+
[setOpenProp, open]
|
|
2062
|
+
);
|
|
2063
|
+
const toggleSidebar = React15.useCallback(() => {
|
|
2064
|
+
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
2065
|
+
}, [isMobile, setOpen, setOpenMobile]);
|
|
2066
|
+
React15.useEffect(() => {
|
|
2067
|
+
const handleKeyDown = (event) => {
|
|
2068
|
+
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
2069
|
+
event.preventDefault();
|
|
2070
|
+
toggleSidebar();
|
|
2071
|
+
}
|
|
2072
|
+
};
|
|
2073
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
2074
|
+
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
2075
|
+
}, [toggleSidebar]);
|
|
2076
|
+
const state = open ? "expanded" : "collapsed";
|
|
2077
|
+
const contextValue = React15.useMemo(
|
|
2078
|
+
() => ({
|
|
2079
|
+
state,
|
|
2080
|
+
open,
|
|
2081
|
+
setOpen,
|
|
2082
|
+
isMobile,
|
|
2083
|
+
openMobile,
|
|
2084
|
+
setOpenMobile,
|
|
2085
|
+
toggleSidebar
|
|
2086
|
+
}),
|
|
2087
|
+
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
2088
|
+
);
|
|
2089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2090
|
+
"div",
|
|
2091
|
+
{
|
|
2092
|
+
"data-slot": "sidebar-wrapper",
|
|
2093
|
+
style: {
|
|
2094
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
2095
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
2096
|
+
...style
|
|
2097
|
+
},
|
|
2098
|
+
className: (0, import_cn10.cn)(
|
|
2099
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
|
2100
|
+
className
|
|
2101
|
+
),
|
|
2102
|
+
...props,
|
|
2103
|
+
children
|
|
2104
|
+
}
|
|
2105
|
+
) });
|
|
2106
|
+
}
|
|
2107
|
+
function Sidebar({
|
|
2108
|
+
side = "left",
|
|
2109
|
+
variant = "sidebar",
|
|
2110
|
+
collapsible = "offcanvas",
|
|
2111
|
+
className,
|
|
2112
|
+
children,
|
|
2113
|
+
dir,
|
|
2114
|
+
...props
|
|
2115
|
+
}) {
|
|
2116
|
+
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
2117
|
+
if (collapsible === "none") {
|
|
2118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2119
|
+
"div",
|
|
2120
|
+
{
|
|
2121
|
+
"data-slot": "sidebar",
|
|
2122
|
+
className: (0, import_cn10.cn)(
|
|
2123
|
+
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
|
2124
|
+
className
|
|
2125
|
+
),
|
|
2126
|
+
...props,
|
|
2127
|
+
children
|
|
2128
|
+
}
|
|
2129
|
+
);
|
|
2130
|
+
}
|
|
2131
|
+
if (isMobile) {
|
|
2132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
2133
|
+
SheetContent,
|
|
2134
|
+
{
|
|
2135
|
+
dir,
|
|
2136
|
+
"data-sidebar": "sidebar",
|
|
2137
|
+
"data-slot": "sidebar",
|
|
2138
|
+
"data-mobile": "true",
|
|
2139
|
+
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
|
2140
|
+
style: {
|
|
2141
|
+
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
|
2142
|
+
},
|
|
2143
|
+
side,
|
|
2144
|
+
children: [
|
|
2145
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
2146
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
2147
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
2148
|
+
] }),
|
|
2149
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
2150
|
+
]
|
|
2151
|
+
}
|
|
2152
|
+
) });
|
|
2153
|
+
}
|
|
2154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
2155
|
+
"div",
|
|
2156
|
+
{
|
|
2157
|
+
className: "group peer hidden text-sidebar-foreground md:block",
|
|
2158
|
+
"data-state": state,
|
|
2159
|
+
"data-collapsible": state === "collapsed" ? collapsible : "",
|
|
2160
|
+
"data-variant": variant,
|
|
2161
|
+
"data-side": side,
|
|
2162
|
+
"data-slot": "sidebar",
|
|
2163
|
+
children: [
|
|
2164
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2165
|
+
"div",
|
|
2166
|
+
{
|
|
2167
|
+
"data-slot": "sidebar-gap",
|
|
2168
|
+
className: (0, import_cn10.cn)(
|
|
2169
|
+
"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
|
|
2170
|
+
"group-data-[collapsible=offcanvas]:w-0",
|
|
2171
|
+
"group-data-[side=right]:rotate-180",
|
|
2172
|
+
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
|
2173
|
+
)
|
|
2174
|
+
}
|
|
2175
|
+
),
|
|
2176
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2177
|
+
"div",
|
|
2178
|
+
{
|
|
2179
|
+
"data-slot": "sidebar-container",
|
|
2180
|
+
"data-side": side,
|
|
2181
|
+
className: (0, import_cn10.cn)(
|
|
2182
|
+
"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",
|
|
2183
|
+
// Adjust the padding for floating and inset variants.
|
|
2184
|
+
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",
|
|
2185
|
+
className
|
|
2186
|
+
),
|
|
2187
|
+
...props,
|
|
2188
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2189
|
+
"div",
|
|
2190
|
+
{
|
|
2191
|
+
"data-sidebar": "sidebar",
|
|
2192
|
+
"data-slot": "sidebar-inner",
|
|
2193
|
+
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",
|
|
2194
|
+
children
|
|
2195
|
+
}
|
|
2196
|
+
)
|
|
2197
|
+
}
|
|
2198
|
+
)
|
|
2199
|
+
]
|
|
2200
|
+
}
|
|
2201
|
+
);
|
|
2202
|
+
}
|
|
2203
|
+
function SidebarTrigger({
|
|
2204
|
+
className,
|
|
2205
|
+
onClick,
|
|
2206
|
+
...props
|
|
2207
|
+
}) {
|
|
2208
|
+
const { toggleSidebar } = useSidebar();
|
|
2209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
2210
|
+
Button,
|
|
2211
|
+
{
|
|
2212
|
+
"data-sidebar": "trigger",
|
|
2213
|
+
"data-slot": "sidebar-trigger",
|
|
2214
|
+
variant: "ghost",
|
|
2215
|
+
size: "icon-sm",
|
|
2216
|
+
className: (0, import_cn10.cn)(className),
|
|
2217
|
+
onClick: (event) => {
|
|
2218
|
+
onClick?.(event);
|
|
2219
|
+
toggleSidebar();
|
|
2220
|
+
},
|
|
2221
|
+
...props,
|
|
2222
|
+
children: [
|
|
2223
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react7.PanelLeftIcon, {}),
|
|
2224
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
2225
|
+
]
|
|
2226
|
+
}
|
|
2227
|
+
);
|
|
2228
|
+
}
|
|
2229
|
+
function SidebarRail({ className, ...props }) {
|
|
2230
|
+
const { toggleSidebar } = useSidebar();
|
|
2231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2232
|
+
"button",
|
|
2233
|
+
{
|
|
2234
|
+
"data-sidebar": "rail",
|
|
2235
|
+
"data-slot": "sidebar-rail",
|
|
2236
|
+
"aria-label": "Toggle Sidebar",
|
|
2237
|
+
tabIndex: -1,
|
|
2238
|
+
onClick: toggleSidebar,
|
|
2239
|
+
title: "Toggle Sidebar",
|
|
2240
|
+
className: (0, import_cn10.cn)(
|
|
2241
|
+
"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",
|
|
2242
|
+
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
|
2243
|
+
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
|
2244
|
+
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
|
|
2245
|
+
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
|
2246
|
+
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
|
2247
|
+
className
|
|
2248
|
+
),
|
|
2249
|
+
...props
|
|
2250
|
+
}
|
|
2251
|
+
);
|
|
2252
|
+
}
|
|
2253
|
+
function SidebarInset({ className, ...props }) {
|
|
2254
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2255
|
+
"main",
|
|
2256
|
+
{
|
|
2257
|
+
"data-slot": "sidebar-inset",
|
|
2258
|
+
className: (0, import_cn10.cn)(
|
|
2259
|
+
"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",
|
|
2260
|
+
className
|
|
2261
|
+
),
|
|
2262
|
+
...props
|
|
2263
|
+
}
|
|
2264
|
+
);
|
|
2265
|
+
}
|
|
2266
|
+
function SidebarInput({
|
|
2267
|
+
className,
|
|
2268
|
+
...props
|
|
2269
|
+
}) {
|
|
2270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2271
|
+
Input,
|
|
2272
|
+
{
|
|
2273
|
+
"data-slot": "sidebar-input",
|
|
2274
|
+
"data-sidebar": "input",
|
|
2275
|
+
className: (0, import_cn10.cn)("h-8 w-full bg-background shadow-none", className),
|
|
2276
|
+
...props
|
|
2277
|
+
}
|
|
2278
|
+
);
|
|
2279
|
+
}
|
|
2280
|
+
function SidebarHeader({ className, ...props }) {
|
|
2281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2282
|
+
"div",
|
|
2283
|
+
{
|
|
2284
|
+
"data-slot": "sidebar-header",
|
|
2285
|
+
"data-sidebar": "header",
|
|
2286
|
+
className: (0, import_cn10.cn)("flex flex-col gap-2 p-2", className),
|
|
2287
|
+
...props
|
|
2288
|
+
}
|
|
2289
|
+
);
|
|
2290
|
+
}
|
|
2291
|
+
function SidebarFooter({ className, ...props }) {
|
|
2292
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2293
|
+
"div",
|
|
2294
|
+
{
|
|
2295
|
+
"data-slot": "sidebar-footer",
|
|
2296
|
+
"data-sidebar": "footer",
|
|
2297
|
+
className: (0, import_cn10.cn)("flex flex-col gap-2 p-2", className),
|
|
2298
|
+
...props
|
|
2299
|
+
}
|
|
2300
|
+
);
|
|
2301
|
+
}
|
|
2302
|
+
function SidebarSeparator({
|
|
2303
|
+
className,
|
|
2304
|
+
...props
|
|
2305
|
+
}) {
|
|
2306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2307
|
+
Separator,
|
|
2308
|
+
{
|
|
2309
|
+
"data-slot": "sidebar-separator",
|
|
2310
|
+
"data-sidebar": "separator",
|
|
2311
|
+
className: (0, import_cn10.cn)("mx-2 w-auto bg-sidebar-border", className),
|
|
2312
|
+
...props
|
|
2313
|
+
}
|
|
2314
|
+
);
|
|
2315
|
+
}
|
|
2316
|
+
function SidebarContent({ className, ...props }) {
|
|
2317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2318
|
+
"div",
|
|
2319
|
+
{
|
|
2320
|
+
"data-slot": "sidebar-content",
|
|
2321
|
+
"data-sidebar": "content",
|
|
2322
|
+
className: (0, import_cn10.cn)(
|
|
2323
|
+
"no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
2324
|
+
className
|
|
2325
|
+
),
|
|
2326
|
+
...props
|
|
2327
|
+
}
|
|
2328
|
+
);
|
|
2329
|
+
}
|
|
2330
|
+
function SidebarGroup({ className, ...props }) {
|
|
2331
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2332
|
+
"div",
|
|
2333
|
+
{
|
|
2334
|
+
"data-slot": "sidebar-group",
|
|
2335
|
+
"data-sidebar": "group",
|
|
2336
|
+
className: (0, import_cn10.cn)("relative flex w-full min-w-0 flex-col p-2", className),
|
|
2337
|
+
...props
|
|
2338
|
+
}
|
|
2339
|
+
);
|
|
2340
|
+
}
|
|
2341
|
+
function SidebarGroupLabel({
|
|
2342
|
+
className,
|
|
2343
|
+
render,
|
|
2344
|
+
...props
|
|
2345
|
+
}) {
|
|
2346
|
+
return (0, import_use_render.useRender)({
|
|
2347
|
+
defaultTagName: "div",
|
|
2348
|
+
props: (0, import_merge_props.mergeProps)(
|
|
2349
|
+
{
|
|
2350
|
+
className: (0, import_cn10.cn)(
|
|
2351
|
+
"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",
|
|
2352
|
+
className
|
|
2353
|
+
)
|
|
2354
|
+
},
|
|
2355
|
+
props
|
|
2356
|
+
),
|
|
2357
|
+
render,
|
|
2358
|
+
state: {
|
|
2359
|
+
slot: "sidebar-group-label",
|
|
2360
|
+
sidebar: "group-label"
|
|
2361
|
+
}
|
|
2362
|
+
});
|
|
2363
|
+
}
|
|
2364
|
+
function SidebarGroupAction({
|
|
2365
|
+
className,
|
|
2366
|
+
render,
|
|
2367
|
+
...props
|
|
2368
|
+
}) {
|
|
2369
|
+
return (0, import_use_render.useRender)({
|
|
2370
|
+
defaultTagName: "button",
|
|
2371
|
+
props: (0, import_merge_props.mergeProps)(
|
|
2372
|
+
{
|
|
2373
|
+
className: (0, import_cn10.cn)(
|
|
2374
|
+
"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",
|
|
2375
|
+
className
|
|
2376
|
+
)
|
|
2377
|
+
},
|
|
2378
|
+
props
|
|
2379
|
+
),
|
|
2380
|
+
render,
|
|
2381
|
+
state: {
|
|
2382
|
+
slot: "sidebar-group-action",
|
|
2383
|
+
sidebar: "group-action"
|
|
2384
|
+
}
|
|
2385
|
+
});
|
|
2386
|
+
}
|
|
2387
|
+
function SidebarGroupContent({
|
|
2388
|
+
className,
|
|
2389
|
+
...props
|
|
2390
|
+
}) {
|
|
2391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2392
|
+
"div",
|
|
2393
|
+
{
|
|
2394
|
+
"data-slot": "sidebar-group-content",
|
|
2395
|
+
"data-sidebar": "group-content",
|
|
2396
|
+
className: (0, import_cn10.cn)("w-full text-sm", className),
|
|
2397
|
+
...props
|
|
2398
|
+
}
|
|
2399
|
+
);
|
|
2400
|
+
}
|
|
2401
|
+
function SidebarMenu({ className, ...props }) {
|
|
2402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2403
|
+
"ul",
|
|
2404
|
+
{
|
|
2405
|
+
"data-slot": "sidebar-menu",
|
|
2406
|
+
"data-sidebar": "menu",
|
|
2407
|
+
className: (0, import_cn10.cn)("flex w-full min-w-0 flex-col gap-0", className),
|
|
2408
|
+
...props
|
|
2409
|
+
}
|
|
2410
|
+
);
|
|
2411
|
+
}
|
|
2412
|
+
function SidebarMenuItem({ className, ...props }) {
|
|
2413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2414
|
+
"li",
|
|
2415
|
+
{
|
|
2416
|
+
"data-slot": "sidebar-menu-item",
|
|
2417
|
+
"data-sidebar": "menu-item",
|
|
2418
|
+
className: (0, import_cn10.cn)("group/menu-item relative", className),
|
|
2419
|
+
...props
|
|
2420
|
+
}
|
|
2421
|
+
);
|
|
2422
|
+
}
|
|
2423
|
+
var sidebarMenuButtonVariants = (0, import_class_variance_authority9.cva)(
|
|
2424
|
+
"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",
|
|
2425
|
+
{
|
|
2426
|
+
variants: {
|
|
2427
|
+
variant: {
|
|
2428
|
+
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
|
2429
|
+
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)]"
|
|
2430
|
+
},
|
|
2431
|
+
size: {
|
|
2432
|
+
default: "h-8 text-sm",
|
|
2433
|
+
sm: "h-7 text-xs",
|
|
2434
|
+
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
|
2435
|
+
}
|
|
2436
|
+
},
|
|
2437
|
+
defaultVariants: {
|
|
2438
|
+
variant: "default",
|
|
2439
|
+
size: "default"
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
);
|
|
2443
|
+
function SidebarMenuButton({
|
|
2444
|
+
render,
|
|
2445
|
+
isActive = false,
|
|
2446
|
+
variant = "default",
|
|
2447
|
+
size = "default",
|
|
2448
|
+
tooltip,
|
|
2449
|
+
className,
|
|
2450
|
+
...props
|
|
2451
|
+
}) {
|
|
2452
|
+
const { isMobile, state } = useSidebar();
|
|
2453
|
+
const comp = (0, import_use_render.useRender)({
|
|
2454
|
+
defaultTagName: "button",
|
|
2455
|
+
props: (0, import_merge_props.mergeProps)(
|
|
2456
|
+
{
|
|
2457
|
+
className: (0, import_cn10.cn)(sidebarMenuButtonVariants({ variant, size }), className)
|
|
2458
|
+
},
|
|
2459
|
+
props
|
|
2460
|
+
),
|
|
2461
|
+
render: !tooltip ? render : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(TooltipTrigger, { render }),
|
|
2462
|
+
state: {
|
|
2463
|
+
slot: "sidebar-menu-button",
|
|
2464
|
+
sidebar: "menu-button",
|
|
2465
|
+
size,
|
|
2466
|
+
active: isActive
|
|
2467
|
+
}
|
|
2468
|
+
});
|
|
2469
|
+
if (!tooltip) {
|
|
2470
|
+
return comp;
|
|
2471
|
+
}
|
|
2472
|
+
if (typeof tooltip === "string") {
|
|
2473
|
+
tooltip = {
|
|
2474
|
+
children: tooltip
|
|
2475
|
+
};
|
|
2476
|
+
}
|
|
2477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Tooltip, { children: [
|
|
2478
|
+
comp,
|
|
2479
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2480
|
+
TooltipContent,
|
|
2481
|
+
{
|
|
2482
|
+
side: "right",
|
|
2483
|
+
align: "center",
|
|
2484
|
+
hidden: state !== "collapsed" || isMobile,
|
|
2485
|
+
...tooltip
|
|
2486
|
+
}
|
|
2487
|
+
)
|
|
2488
|
+
] });
|
|
2489
|
+
}
|
|
2490
|
+
function SidebarMenuAction({
|
|
2491
|
+
className,
|
|
2492
|
+
render,
|
|
2493
|
+
showOnHover = false,
|
|
2494
|
+
...props
|
|
2495
|
+
}) {
|
|
2496
|
+
return (0, import_use_render.useRender)({
|
|
2497
|
+
defaultTagName: "button",
|
|
2498
|
+
props: (0, import_merge_props.mergeProps)(
|
|
2499
|
+
{
|
|
2500
|
+
className: (0, import_cn10.cn)(
|
|
2501
|
+
"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",
|
|
2502
|
+
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",
|
|
2503
|
+
className
|
|
2504
|
+
)
|
|
2505
|
+
},
|
|
2506
|
+
props
|
|
2507
|
+
),
|
|
2508
|
+
render,
|
|
2509
|
+
state: {
|
|
2510
|
+
slot: "sidebar-menu-action",
|
|
2511
|
+
sidebar: "menu-action"
|
|
2512
|
+
}
|
|
2513
|
+
});
|
|
2514
|
+
}
|
|
2515
|
+
function SidebarMenuBadge({
|
|
2516
|
+
className,
|
|
2517
|
+
...props
|
|
2518
|
+
}) {
|
|
2519
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2520
|
+
"div",
|
|
2521
|
+
{
|
|
2522
|
+
"data-slot": "sidebar-menu-badge",
|
|
2523
|
+
"data-sidebar": "menu-badge",
|
|
2524
|
+
className: (0, import_cn10.cn)(
|
|
2525
|
+
"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",
|
|
2526
|
+
className
|
|
2527
|
+
),
|
|
2528
|
+
...props
|
|
2529
|
+
}
|
|
2530
|
+
);
|
|
2531
|
+
}
|
|
2532
|
+
function SidebarMenuSkeleton({
|
|
2533
|
+
className,
|
|
2534
|
+
showIcon = false,
|
|
2535
|
+
...props
|
|
2536
|
+
}) {
|
|
2537
|
+
const [width] = React15.useState(() => {
|
|
2538
|
+
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
2539
|
+
});
|
|
2540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
2541
|
+
"div",
|
|
2542
|
+
{
|
|
2543
|
+
"data-slot": "sidebar-menu-skeleton",
|
|
2544
|
+
"data-sidebar": "menu-skeleton",
|
|
2545
|
+
className: (0, import_cn10.cn)("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
2546
|
+
...props,
|
|
2547
|
+
children: [
|
|
2548
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2549
|
+
Skeleton,
|
|
2550
|
+
{
|
|
2551
|
+
className: "size-4 rounded-md",
|
|
2552
|
+
"data-sidebar": "menu-skeleton-icon"
|
|
2553
|
+
}
|
|
2554
|
+
),
|
|
2555
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2556
|
+
Skeleton,
|
|
2557
|
+
{
|
|
2558
|
+
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
2559
|
+
"data-sidebar": "menu-skeleton-text",
|
|
2560
|
+
style: {
|
|
2561
|
+
"--skeleton-width": width
|
|
2562
|
+
}
|
|
2563
|
+
}
|
|
2564
|
+
)
|
|
2565
|
+
]
|
|
2566
|
+
}
|
|
2567
|
+
);
|
|
2568
|
+
}
|
|
2569
|
+
function SidebarMenuSub({ className, ...props }) {
|
|
2570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2571
|
+
"ul",
|
|
2572
|
+
{
|
|
2573
|
+
"data-slot": "sidebar-menu-sub",
|
|
2574
|
+
"data-sidebar": "menu-sub",
|
|
2575
|
+
className: (0, import_cn10.cn)(
|
|
2576
|
+
"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",
|
|
2577
|
+
className
|
|
2578
|
+
),
|
|
2579
|
+
...props
|
|
2580
|
+
}
|
|
2581
|
+
);
|
|
2582
|
+
}
|
|
2583
|
+
function SidebarMenuSubItem({
|
|
2584
|
+
className,
|
|
2585
|
+
...props
|
|
2586
|
+
}) {
|
|
2587
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2588
|
+
"li",
|
|
2589
|
+
{
|
|
2590
|
+
"data-slot": "sidebar-menu-sub-item",
|
|
2591
|
+
"data-sidebar": "menu-sub-item",
|
|
2592
|
+
className: (0, import_cn10.cn)("group/menu-sub-item relative", className),
|
|
2593
|
+
...props
|
|
2594
|
+
}
|
|
2595
|
+
);
|
|
2596
|
+
}
|
|
2597
|
+
function SidebarMenuSubButton({
|
|
2598
|
+
render,
|
|
2599
|
+
size = "md",
|
|
2600
|
+
isActive = false,
|
|
2601
|
+
className,
|
|
2602
|
+
...props
|
|
2603
|
+
}) {
|
|
2604
|
+
return (0, import_use_render.useRender)({
|
|
2605
|
+
defaultTagName: "a",
|
|
2606
|
+
props: (0, import_merge_props.mergeProps)(
|
|
2607
|
+
{
|
|
2608
|
+
className: (0, import_cn10.cn)(
|
|
2609
|
+
"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",
|
|
2610
|
+
className
|
|
2611
|
+
)
|
|
2612
|
+
},
|
|
2613
|
+
props
|
|
2614
|
+
),
|
|
2615
|
+
render,
|
|
2616
|
+
state: {
|
|
2617
|
+
slot: "sidebar-menu-sub-button",
|
|
2618
|
+
sidebar: "menu-sub-button",
|
|
2619
|
+
size,
|
|
2620
|
+
active: isActive
|
|
2621
|
+
}
|
|
2622
|
+
});
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2625
|
+
// src/components/sidebar/Sidebar.tsx
|
|
2626
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2627
|
+
var iconModeButtonClasses = "group-data-[collapsible=icon]:w-10! group-data-[collapsible=icon]:h-10! group-data-[collapsible=icon]:px-3!";
|
|
2628
|
+
var sizingMenuButtonClasses = "text-base px-3 py-2 h-auto";
|
|
2629
|
+
var sizingSubButtonClasses = "data-[size=md]:text-base data-[size=sm]:text-base px-3 py-2 h-auto";
|
|
2630
|
+
function SidebarGroupLabel2({
|
|
2631
|
+
className,
|
|
2632
|
+
...props
|
|
2633
|
+
}) {
|
|
2634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2635
|
+
SidebarGroupLabel,
|
|
2636
|
+
{
|
|
2637
|
+
className: cn("px-3 uppercase tracking-caption", className),
|
|
2638
|
+
...props
|
|
2639
|
+
}
|
|
2640
|
+
);
|
|
2641
|
+
}
|
|
2642
|
+
function SidebarProvider2({
|
|
2643
|
+
className,
|
|
2644
|
+
style,
|
|
2645
|
+
...props
|
|
2646
|
+
}) {
|
|
2647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2648
|
+
SidebarProvider,
|
|
2649
|
+
{
|
|
2650
|
+
className,
|
|
2651
|
+
style: {
|
|
2652
|
+
"--sidebar-width-icon": "3.75rem",
|
|
2653
|
+
...style
|
|
2654
|
+
},
|
|
2655
|
+
...props
|
|
2656
|
+
}
|
|
2657
|
+
);
|
|
2658
|
+
}
|
|
2659
|
+
function SidebarGroup2({ className, ...props }) {
|
|
2660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2661
|
+
SidebarGroup,
|
|
2662
|
+
{
|
|
2663
|
+
className: cn("group-data-[collapsible=icon]:px-2.5", className),
|
|
2664
|
+
...props
|
|
2665
|
+
}
|
|
2666
|
+
);
|
|
2667
|
+
}
|
|
2668
|
+
function SidebarFooter2({
|
|
2669
|
+
className,
|
|
2670
|
+
...props
|
|
2671
|
+
}) {
|
|
2672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2673
|
+
SidebarFooter,
|
|
2674
|
+
{
|
|
2675
|
+
className: cn(
|
|
2676
|
+
"group-data-[collapsible=icon]:px-2.5 border-t border-berget-border",
|
|
2677
|
+
className
|
|
2678
|
+
),
|
|
2679
|
+
...props
|
|
2680
|
+
}
|
|
2681
|
+
);
|
|
2682
|
+
}
|
|
2683
|
+
function SidebarHeader2({
|
|
2684
|
+
className,
|
|
2685
|
+
...props
|
|
2686
|
+
}) {
|
|
2687
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2688
|
+
SidebarHeader,
|
|
2689
|
+
{
|
|
2690
|
+
className: cn(
|
|
2691
|
+
"py-0 group-data-[collapsible=icon]:px-0 border-b border-berget-border",
|
|
2692
|
+
className
|
|
2693
|
+
),
|
|
2694
|
+
...props
|
|
2695
|
+
}
|
|
2696
|
+
);
|
|
2697
|
+
}
|
|
2698
|
+
function SidebarLogo() {
|
|
2699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SidebarHeader, { className: "px-0", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "relative flex h-15 items-center overflow-hidden px-3", children: [
|
|
2700
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2701
|
+
BergetLogo,
|
|
2702
|
+
{
|
|
2703
|
+
variant: "logotype",
|
|
2704
|
+
size: 32,
|
|
2705
|
+
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"
|
|
2706
|
+
}
|
|
2707
|
+
),
|
|
2708
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "pointer-events-none invisible absolute inset-y-0 left-0 w-15 flex items-center justify-center px-3 opacity-0 transition-[opacity,visibility] duration-150 group-data-[collapsible=icon]:visible group-data-[collapsible=icon]:opacity-100", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(BergetLogo, { variant: "symbol", size: 32 }) })
|
|
2709
|
+
] }) });
|
|
2710
|
+
}
|
|
2711
|
+
function SidebarPageHeader({ className, ...props }) {
|
|
2712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2713
|
+
"header",
|
|
2714
|
+
{
|
|
2715
|
+
className: cn(
|
|
2716
|
+
"flex h-[calc(3.75rem+1px)] items-center gap-2 border-b border-berget-border px-4",
|
|
2717
|
+
className
|
|
2718
|
+
),
|
|
2719
|
+
...props
|
|
2720
|
+
}
|
|
2721
|
+
);
|
|
2722
|
+
}
|
|
2723
|
+
function SidebarMenuButton2({ className, ...props }) {
|
|
2724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2725
|
+
SidebarMenuButton,
|
|
2726
|
+
{
|
|
2727
|
+
className: cn(sizingMenuButtonClasses, iconModeButtonClasses, className),
|
|
2728
|
+
...props
|
|
2729
|
+
}
|
|
2730
|
+
);
|
|
2731
|
+
}
|
|
2732
|
+
function SidebarMenuSubButton2({ className, ...props }) {
|
|
2733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2734
|
+
SidebarMenuSubButton,
|
|
2735
|
+
{
|
|
2736
|
+
className: cn(sizingSubButtonClasses, "[&>svg]:text-inherit", className),
|
|
2737
|
+
...props
|
|
2738
|
+
}
|
|
2739
|
+
);
|
|
2740
|
+
}
|
|
2741
|
+
|
|
1761
2742
|
// src/components/table/Table.tsx
|
|
1762
|
-
var
|
|
2743
|
+
var React16 = __toESM(require("react"), 1);
|
|
1763
2744
|
|
|
1764
2745
|
// src/primitives/table.tsx
|
|
1765
|
-
var
|
|
1766
|
-
var
|
|
2746
|
+
var import_cn11 = require("cn");
|
|
2747
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1767
2748
|
function Table({ className, ...props }) {
|
|
1768
|
-
return /* @__PURE__ */ (0,
|
|
2749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1769
2750
|
"div",
|
|
1770
2751
|
{
|
|
1771
2752
|
"data-slot": "table-container",
|
|
1772
2753
|
className: "relative w-full overflow-x-auto",
|
|
1773
|
-
children: /* @__PURE__ */ (0,
|
|
2754
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1774
2755
|
"table",
|
|
1775
2756
|
{
|
|
1776
2757
|
"data-slot": "table",
|
|
1777
|
-
className: (0,
|
|
2758
|
+
className: (0, import_cn11.cn)("w-full caption-bottom text-sm", className),
|
|
1778
2759
|
...props
|
|
1779
2760
|
}
|
|
1780
2761
|
)
|
|
@@ -1782,31 +2763,31 @@ function Table({ className, ...props }) {
|
|
|
1782
2763
|
);
|
|
1783
2764
|
}
|
|
1784
2765
|
function TableHeader({ className, ...props }) {
|
|
1785
|
-
return /* @__PURE__ */ (0,
|
|
2766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1786
2767
|
"thead",
|
|
1787
2768
|
{
|
|
1788
2769
|
"data-slot": "table-header",
|
|
1789
|
-
className: (0,
|
|
2770
|
+
className: (0, import_cn11.cn)("[&_tr]:border-b", className),
|
|
1790
2771
|
...props
|
|
1791
2772
|
}
|
|
1792
2773
|
);
|
|
1793
2774
|
}
|
|
1794
2775
|
function TableBody({ className, ...props }) {
|
|
1795
|
-
return /* @__PURE__ */ (0,
|
|
2776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1796
2777
|
"tbody",
|
|
1797
2778
|
{
|
|
1798
2779
|
"data-slot": "table-body",
|
|
1799
|
-
className: (0,
|
|
2780
|
+
className: (0, import_cn11.cn)("[&_tr:last-child]:border-0", className),
|
|
1800
2781
|
...props
|
|
1801
2782
|
}
|
|
1802
2783
|
);
|
|
1803
2784
|
}
|
|
1804
2785
|
function TableFooter({ className, ...props }) {
|
|
1805
|
-
return /* @__PURE__ */ (0,
|
|
2786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1806
2787
|
"tfoot",
|
|
1807
2788
|
{
|
|
1808
2789
|
"data-slot": "table-footer",
|
|
1809
|
-
className: (0,
|
|
2790
|
+
className: (0, import_cn11.cn)(
|
|
1810
2791
|
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
1811
2792
|
className
|
|
1812
2793
|
),
|
|
@@ -1815,11 +2796,11 @@ function TableFooter({ className, ...props }) {
|
|
|
1815
2796
|
);
|
|
1816
2797
|
}
|
|
1817
2798
|
function TableRow({ className, ...props }) {
|
|
1818
|
-
return /* @__PURE__ */ (0,
|
|
2799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1819
2800
|
"tr",
|
|
1820
2801
|
{
|
|
1821
2802
|
"data-slot": "table-row",
|
|
1822
|
-
className: (0,
|
|
2803
|
+
className: (0, import_cn11.cn)(
|
|
1823
2804
|
"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",
|
|
1824
2805
|
className
|
|
1825
2806
|
),
|
|
@@ -1828,11 +2809,11 @@ function TableRow({ className, ...props }) {
|
|
|
1828
2809
|
);
|
|
1829
2810
|
}
|
|
1830
2811
|
function TableHead({ className, ...props }) {
|
|
1831
|
-
return /* @__PURE__ */ (0,
|
|
2812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1832
2813
|
"th",
|
|
1833
2814
|
{
|
|
1834
2815
|
"data-slot": "table-head",
|
|
1835
|
-
className: (0,
|
|
2816
|
+
className: (0, import_cn11.cn)(
|
|
1836
2817
|
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
|
|
1837
2818
|
className
|
|
1838
2819
|
),
|
|
@@ -1841,11 +2822,11 @@ function TableHead({ className, ...props }) {
|
|
|
1841
2822
|
);
|
|
1842
2823
|
}
|
|
1843
2824
|
function TableCell({ className, ...props }) {
|
|
1844
|
-
return /* @__PURE__ */ (0,
|
|
2825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1845
2826
|
"td",
|
|
1846
2827
|
{
|
|
1847
2828
|
"data-slot": "table-cell",
|
|
1848
|
-
className: (0,
|
|
2829
|
+
className: (0, import_cn11.cn)(
|
|
1849
2830
|
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
1850
2831
|
className
|
|
1851
2832
|
),
|
|
@@ -1857,23 +2838,23 @@ function TableCaption({
|
|
|
1857
2838
|
className,
|
|
1858
2839
|
...props
|
|
1859
2840
|
}) {
|
|
1860
|
-
return /* @__PURE__ */ (0,
|
|
2841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1861
2842
|
"caption",
|
|
1862
2843
|
{
|
|
1863
2844
|
"data-slot": "table-caption",
|
|
1864
|
-
className: (0,
|
|
2845
|
+
className: (0, import_cn11.cn)("mt-4 text-sm text-muted-foreground", className),
|
|
1865
2846
|
...props
|
|
1866
2847
|
}
|
|
1867
2848
|
);
|
|
1868
2849
|
}
|
|
1869
2850
|
|
|
1870
2851
|
// src/components/table/Table.tsx
|
|
1871
|
-
var
|
|
1872
|
-
var Table2 =
|
|
1873
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2852
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2853
|
+
var Table2 = React16.forwardRef(
|
|
2854
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Table, { ref, className, ...props })
|
|
1874
2855
|
);
|
|
1875
2856
|
Table2.displayName = "Table";
|
|
1876
|
-
var TableHeader2 =
|
|
2857
|
+
var TableHeader2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1877
2858
|
TableHeader,
|
|
1878
2859
|
{
|
|
1879
2860
|
ref,
|
|
@@ -1882,7 +2863,7 @@ var TableHeader2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1882
2863
|
}
|
|
1883
2864
|
));
|
|
1884
2865
|
TableHeader2.displayName = "TableHeader";
|
|
1885
|
-
var TableBody2 =
|
|
2866
|
+
var TableBody2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1886
2867
|
TableBody,
|
|
1887
2868
|
{
|
|
1888
2869
|
ref,
|
|
@@ -1891,7 +2872,7 @@ var TableBody2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1891
2872
|
}
|
|
1892
2873
|
));
|
|
1893
2874
|
TableBody2.displayName = "TableBody";
|
|
1894
|
-
var TableFooter2 =
|
|
2875
|
+
var TableFooter2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1895
2876
|
TableFooter,
|
|
1896
2877
|
{
|
|
1897
2878
|
ref,
|
|
@@ -1903,8 +2884,8 @@ var TableFooter2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1903
2884
|
}
|
|
1904
2885
|
));
|
|
1905
2886
|
TableFooter2.displayName = "TableFooter";
|
|
1906
|
-
var TableRow2 =
|
|
1907
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2887
|
+
var TableRow2 = React16.forwardRef(
|
|
2888
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1908
2889
|
TableRow,
|
|
1909
2890
|
{
|
|
1910
2891
|
ref,
|
|
@@ -1917,7 +2898,7 @@ var TableRow2 = React14.forwardRef(
|
|
|
1917
2898
|
)
|
|
1918
2899
|
);
|
|
1919
2900
|
TableRow2.displayName = "TableRow";
|
|
1920
|
-
var TableHead2 =
|
|
2901
|
+
var TableHead2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1921
2902
|
TableHead,
|
|
1922
2903
|
{
|
|
1923
2904
|
ref,
|
|
@@ -1929,7 +2910,7 @@ var TableHead2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1929
2910
|
}
|
|
1930
2911
|
));
|
|
1931
2912
|
TableHead2.displayName = "TableHead";
|
|
1932
|
-
var TableCell2 =
|
|
2913
|
+
var TableCell2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1933
2914
|
TableCell,
|
|
1934
2915
|
{
|
|
1935
2916
|
ref,
|
|
@@ -1938,57 +2919,32 @@ var TableCell2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1938
2919
|
}
|
|
1939
2920
|
));
|
|
1940
2921
|
TableCell2.displayName = "TableCell";
|
|
1941
|
-
var TableCaption2 =
|
|
1942
|
-
TableCaption,
|
|
1943
|
-
{
|
|
1944
|
-
ref,
|
|
1945
|
-
className: cn("mt-4 text-sm text-berget-table-caption-text", className),
|
|
1946
|
-
...props
|
|
1947
|
-
}
|
|
1948
|
-
));
|
|
1949
|
-
TableCaption2.displayName = "TableCaption";
|
|
1950
|
-
|
|
1951
|
-
// src/components/item/Item.tsx
|
|
1952
|
-
var
|
|
1953
|
-
|
|
1954
|
-
// src/primitives/item.tsx
|
|
1955
|
-
var import_merge_props = require("@base-ui/react/merge-props");
|
|
1956
|
-
var import_use_render = require("@base-ui/react/use-render");
|
|
1957
|
-
var import_class_variance_authority9 = require("class-variance-authority");
|
|
1958
|
-
var import_cn7 = require("cn");
|
|
1959
|
-
|
|
1960
|
-
// src/primitives/separator.tsx
|
|
1961
|
-
var import_separator = require("@base-ui/react/separator");
|
|
1962
|
-
var import_cn6 = require("cn");
|
|
1963
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1964
|
-
function Separator({
|
|
1965
|
-
className,
|
|
1966
|
-
orientation = "horizontal",
|
|
1967
|
-
...props
|
|
1968
|
-
}) {
|
|
1969
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1970
|
-
import_separator.Separator,
|
|
1971
|
-
{
|
|
1972
|
-
"data-slot": "separator",
|
|
1973
|
-
orientation,
|
|
1974
|
-
className: (0, import_cn6.cn)(
|
|
1975
|
-
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
1976
|
-
className
|
|
1977
|
-
),
|
|
1978
|
-
...props
|
|
1979
|
-
}
|
|
1980
|
-
);
|
|
1981
|
-
}
|
|
2922
|
+
var TableCaption2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2923
|
+
TableCaption,
|
|
2924
|
+
{
|
|
2925
|
+
ref,
|
|
2926
|
+
className: cn("mt-4 text-sm text-berget-table-caption-text", className),
|
|
2927
|
+
...props
|
|
2928
|
+
}
|
|
2929
|
+
));
|
|
2930
|
+
TableCaption2.displayName = "TableCaption";
|
|
2931
|
+
|
|
2932
|
+
// src/components/item/Item.tsx
|
|
2933
|
+
var React17 = __toESM(require("react"), 1);
|
|
1982
2934
|
|
|
1983
2935
|
// src/primitives/item.tsx
|
|
1984
|
-
var
|
|
2936
|
+
var import_merge_props2 = require("@base-ui/react/merge-props");
|
|
2937
|
+
var import_use_render2 = require("@base-ui/react/use-render");
|
|
2938
|
+
var import_class_variance_authority10 = require("class-variance-authority");
|
|
2939
|
+
var import_cn12 = require("cn");
|
|
2940
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1985
2941
|
function ItemGroup({ className, ...props }) {
|
|
1986
|
-
return /* @__PURE__ */ (0,
|
|
2942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1987
2943
|
"div",
|
|
1988
2944
|
{
|
|
1989
2945
|
role: "list",
|
|
1990
2946
|
"data-slot": "item-group",
|
|
1991
|
-
className: (0,
|
|
2947
|
+
className: (0, import_cn12.cn)(
|
|
1992
2948
|
"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
|
|
1993
2949
|
className
|
|
1994
2950
|
),
|
|
@@ -2000,17 +2956,17 @@ function ItemSeparator({
|
|
|
2000
2956
|
className,
|
|
2001
2957
|
...props
|
|
2002
2958
|
}) {
|
|
2003
|
-
return /* @__PURE__ */ (0,
|
|
2959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2004
2960
|
Separator,
|
|
2005
2961
|
{
|
|
2006
2962
|
"data-slot": "item-separator",
|
|
2007
2963
|
orientation: "horizontal",
|
|
2008
|
-
className: (0,
|
|
2964
|
+
className: (0, import_cn12.cn)("my-2", className),
|
|
2009
2965
|
...props
|
|
2010
2966
|
}
|
|
2011
2967
|
);
|
|
2012
2968
|
}
|
|
2013
|
-
var itemVariants = (0,
|
|
2969
|
+
var itemVariants = (0, import_class_variance_authority10.cva)(
|
|
2014
2970
|
"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",
|
|
2015
2971
|
{
|
|
2016
2972
|
variants: {
|
|
@@ -2038,11 +2994,11 @@ function Item({
|
|
|
2038
2994
|
render,
|
|
2039
2995
|
...props
|
|
2040
2996
|
}) {
|
|
2041
|
-
return (0,
|
|
2997
|
+
return (0, import_use_render2.useRender)({
|
|
2042
2998
|
defaultTagName: "div",
|
|
2043
|
-
props: (0,
|
|
2999
|
+
props: (0, import_merge_props2.mergeProps)(
|
|
2044
3000
|
{
|
|
2045
|
-
className: (0,
|
|
3001
|
+
className: (0, import_cn12.cn)(itemVariants({ variant, size, className }))
|
|
2046
3002
|
},
|
|
2047
3003
|
props
|
|
2048
3004
|
),
|
|
@@ -2054,7 +3010,7 @@ function Item({
|
|
|
2054
3010
|
}
|
|
2055
3011
|
});
|
|
2056
3012
|
}
|
|
2057
|
-
var itemMediaVariants = (0,
|
|
3013
|
+
var itemMediaVariants = (0, import_class_variance_authority10.cva)(
|
|
2058
3014
|
"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",
|
|
2059
3015
|
{
|
|
2060
3016
|
variants: {
|
|
@@ -2074,22 +3030,22 @@ function ItemMedia({
|
|
|
2074
3030
|
variant = "default",
|
|
2075
3031
|
...props
|
|
2076
3032
|
}) {
|
|
2077
|
-
return /* @__PURE__ */ (0,
|
|
3033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2078
3034
|
"div",
|
|
2079
3035
|
{
|
|
2080
3036
|
"data-slot": "item-media",
|
|
2081
3037
|
"data-variant": variant,
|
|
2082
|
-
className: (0,
|
|
3038
|
+
className: (0, import_cn12.cn)(itemMediaVariants({ variant, className })),
|
|
2083
3039
|
...props
|
|
2084
3040
|
}
|
|
2085
3041
|
);
|
|
2086
3042
|
}
|
|
2087
3043
|
function ItemContent({ className, ...props }) {
|
|
2088
|
-
return /* @__PURE__ */ (0,
|
|
3044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2089
3045
|
"div",
|
|
2090
3046
|
{
|
|
2091
3047
|
"data-slot": "item-content",
|
|
2092
|
-
className: (0,
|
|
3048
|
+
className: (0, import_cn12.cn)(
|
|
2093
3049
|
"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
|
|
2094
3050
|
className
|
|
2095
3051
|
),
|
|
@@ -2098,11 +3054,11 @@ function ItemContent({ className, ...props }) {
|
|
|
2098
3054
|
);
|
|
2099
3055
|
}
|
|
2100
3056
|
function ItemTitle({ className, ...props }) {
|
|
2101
|
-
return /* @__PURE__ */ (0,
|
|
3057
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2102
3058
|
"div",
|
|
2103
3059
|
{
|
|
2104
3060
|
"data-slot": "item-title",
|
|
2105
|
-
className: (0,
|
|
3061
|
+
className: (0, import_cn12.cn)(
|
|
2106
3062
|
"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
|
|
2107
3063
|
className
|
|
2108
3064
|
),
|
|
@@ -2111,11 +3067,11 @@ function ItemTitle({ className, ...props }) {
|
|
|
2111
3067
|
);
|
|
2112
3068
|
}
|
|
2113
3069
|
function ItemDescription({ className, ...props }) {
|
|
2114
|
-
return /* @__PURE__ */ (0,
|
|
3070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2115
3071
|
"p",
|
|
2116
3072
|
{
|
|
2117
3073
|
"data-slot": "item-description",
|
|
2118
|
-
className: (0,
|
|
3074
|
+
className: (0, import_cn12.cn)(
|
|
2119
3075
|
"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",
|
|
2120
3076
|
className
|
|
2121
3077
|
),
|
|
@@ -2124,21 +3080,21 @@ function ItemDescription({ className, ...props }) {
|
|
|
2124
3080
|
);
|
|
2125
3081
|
}
|
|
2126
3082
|
function ItemActions({ className, ...props }) {
|
|
2127
|
-
return /* @__PURE__ */ (0,
|
|
3083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2128
3084
|
"div",
|
|
2129
3085
|
{
|
|
2130
3086
|
"data-slot": "item-actions",
|
|
2131
|
-
className: (0,
|
|
3087
|
+
className: (0, import_cn12.cn)("flex items-center gap-2", className),
|
|
2132
3088
|
...props
|
|
2133
3089
|
}
|
|
2134
3090
|
);
|
|
2135
3091
|
}
|
|
2136
3092
|
function ItemHeader({ className, ...props }) {
|
|
2137
|
-
return /* @__PURE__ */ (0,
|
|
3093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2138
3094
|
"div",
|
|
2139
3095
|
{
|
|
2140
3096
|
"data-slot": "item-header",
|
|
2141
|
-
className: (0,
|
|
3097
|
+
className: (0, import_cn12.cn)(
|
|
2142
3098
|
"flex basis-full items-center justify-between gap-2",
|
|
2143
3099
|
className
|
|
2144
3100
|
),
|
|
@@ -2147,11 +3103,11 @@ function ItemHeader({ className, ...props }) {
|
|
|
2147
3103
|
);
|
|
2148
3104
|
}
|
|
2149
3105
|
function ItemFooter({ className, ...props }) {
|
|
2150
|
-
return /* @__PURE__ */ (0,
|
|
3106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2151
3107
|
"div",
|
|
2152
3108
|
{
|
|
2153
3109
|
"data-slot": "item-footer",
|
|
2154
|
-
className: (0,
|
|
3110
|
+
className: (0, import_cn12.cn)(
|
|
2155
3111
|
"flex basis-full items-center justify-between gap-2",
|
|
2156
3112
|
className
|
|
2157
3113
|
),
|
|
@@ -2161,9 +3117,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
2161
3117
|
}
|
|
2162
3118
|
|
|
2163
3119
|
// src/components/item/Item.tsx
|
|
2164
|
-
var
|
|
3120
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2165
3121
|
function Item2({ className, asChild, children, ...props }) {
|
|
2166
|
-
return /* @__PURE__ */ (0,
|
|
3122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2167
3123
|
Item,
|
|
2168
3124
|
{
|
|
2169
3125
|
render: asChild ? children : void 0,
|
|
@@ -2182,8 +3138,8 @@ function Item2({ className, asChild, children, ...props }) {
|
|
|
2182
3138
|
}
|
|
2183
3139
|
);
|
|
2184
3140
|
}
|
|
2185
|
-
var ItemMedia2 =
|
|
2186
|
-
return /* @__PURE__ */ (0,
|
|
3141
|
+
var ItemMedia2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2187
3143
|
ItemMedia,
|
|
2188
3144
|
{
|
|
2189
3145
|
ref,
|
|
@@ -2193,8 +3149,8 @@ var ItemMedia2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2193
3149
|
);
|
|
2194
3150
|
});
|
|
2195
3151
|
ItemMedia2.displayName = "ItemMedia";
|
|
2196
|
-
var ItemTitle2 =
|
|
2197
|
-
return /* @__PURE__ */ (0,
|
|
3152
|
+
var ItemTitle2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2198
3154
|
ItemTitle,
|
|
2199
3155
|
{
|
|
2200
3156
|
ref,
|
|
@@ -2204,8 +3160,8 @@ var ItemTitle2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2204
3160
|
);
|
|
2205
3161
|
});
|
|
2206
3162
|
ItemTitle2.displayName = "ItemTitle";
|
|
2207
|
-
var ItemDescription2 =
|
|
2208
|
-
return /* @__PURE__ */ (0,
|
|
3163
|
+
var ItemDescription2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2209
3165
|
ItemDescription,
|
|
2210
3166
|
{
|
|
2211
3167
|
ref,
|
|
@@ -2215,8 +3171,8 @@ var ItemDescription2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2215
3171
|
);
|
|
2216
3172
|
});
|
|
2217
3173
|
ItemDescription2.displayName = "ItemDescription";
|
|
2218
|
-
var ItemSeparator2 =
|
|
2219
|
-
return /* @__PURE__ */ (0,
|
|
3174
|
+
var ItemSeparator2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2220
3176
|
ItemSeparator,
|
|
2221
3177
|
{
|
|
2222
3178
|
ref,
|
|
@@ -2228,36 +3184,15 @@ var ItemSeparator2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2228
3184
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
2229
3185
|
|
|
2230
3186
|
// src/components/input/Input.tsx
|
|
2231
|
-
var
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
var import_input = require("@base-ui/react/input");
|
|
2235
|
-
var import_cn8 = require("cn");
|
|
2236
|
-
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2237
|
-
function Input({ className, type, ...props }) {
|
|
2238
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2239
|
-
import_input.Input,
|
|
2240
|
-
{
|
|
2241
|
-
type,
|
|
2242
|
-
"data-slot": "input",
|
|
2243
|
-
className: (0, import_cn8.cn)(
|
|
2244
|
-
"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",
|
|
2245
|
-
className
|
|
2246
|
-
),
|
|
2247
|
-
...props
|
|
2248
|
-
}
|
|
2249
|
-
);
|
|
2250
|
-
}
|
|
2251
|
-
|
|
2252
|
-
// src/components/input/Input.tsx
|
|
2253
|
-
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2254
|
-
var Input2 = React16.forwardRef(
|
|
3187
|
+
var React18 = __toESM(require("react"), 1);
|
|
3188
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
3189
|
+
var Input2 = React18.forwardRef(
|
|
2255
3190
|
({ className, icon, actionButton, label, description, error, id, disabled, ...props }, ref) => {
|
|
2256
|
-
const generatedId =
|
|
3191
|
+
const generatedId = React18.useId();
|
|
2257
3192
|
const inputId = id || generatedId;
|
|
2258
3193
|
const errorId = `${inputId}-error`;
|
|
2259
3194
|
const descriptionId = `${inputId}-description`;
|
|
2260
|
-
const inputElement = /* @__PURE__ */ (0,
|
|
3195
|
+
const inputElement = /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2261
3196
|
Input,
|
|
2262
3197
|
{
|
|
2263
3198
|
ref,
|
|
@@ -2277,8 +3212,8 @@ var Input2 = React16.forwardRef(
|
|
|
2277
3212
|
}
|
|
2278
3213
|
);
|
|
2279
3214
|
if (!icon && !actionButton) {
|
|
2280
|
-
return /* @__PURE__ */ (0,
|
|
2281
|
-
label && /* @__PURE__ */ (0,
|
|
3215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
3216
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2282
3217
|
"label",
|
|
2283
3218
|
{
|
|
2284
3219
|
htmlFor: inputId,
|
|
@@ -2291,9 +3226,9 @@ var Input2 = React16.forwardRef(
|
|
|
2291
3226
|
}
|
|
2292
3227
|
),
|
|
2293
3228
|
inputElement,
|
|
2294
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
2295
|
-
description && /* @__PURE__ */ (0,
|
|
2296
|
-
error && /* @__PURE__ */ (0,
|
|
3229
|
+
(description || error) && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
3230
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3231
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2297
3232
|
Typography,
|
|
2298
3233
|
{
|
|
2299
3234
|
variant: "xs",
|
|
@@ -2305,8 +3240,8 @@ var Input2 = React16.forwardRef(
|
|
|
2305
3240
|
] })
|
|
2306
3241
|
] });
|
|
2307
3242
|
}
|
|
2308
|
-
return /* @__PURE__ */ (0,
|
|
2309
|
-
label && /* @__PURE__ */ (0,
|
|
3243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
3244
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2310
3245
|
"label",
|
|
2311
3246
|
{
|
|
2312
3247
|
htmlFor: inputId,
|
|
@@ -2318,14 +3253,14 @@ var Input2 = React16.forwardRef(
|
|
|
2318
3253
|
children: label
|
|
2319
3254
|
}
|
|
2320
3255
|
),
|
|
2321
|
-
/* @__PURE__ */ (0,
|
|
2322
|
-
icon && /* @__PURE__ */ (0,
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "relative w-full", children: [
|
|
3257
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
|
|
2323
3258
|
inputElement,
|
|
2324
|
-
actionButton && /* @__PURE__ */ (0,
|
|
3259
|
+
actionButton && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
2325
3260
|
] }),
|
|
2326
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
2327
|
-
description && /* @__PURE__ */ (0,
|
|
2328
|
-
error && /* @__PURE__ */ (0,
|
|
3261
|
+
(description || error) && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
3262
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3263
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2329
3264
|
] })
|
|
2330
3265
|
] });
|
|
2331
3266
|
}
|
|
@@ -2333,33 +3268,33 @@ var Input2 = React16.forwardRef(
|
|
|
2333
3268
|
Input2.displayName = "Input";
|
|
2334
3269
|
|
|
2335
3270
|
// src/components/checkbox/Checkbox.tsx
|
|
2336
|
-
var
|
|
3271
|
+
var React19 = __toESM(require("react"), 1);
|
|
2337
3272
|
var import_checkbox2 = require("@base-ui/react/checkbox");
|
|
2338
|
-
var
|
|
2339
|
-
var
|
|
3273
|
+
var import_lucide_react9 = require("lucide-react");
|
|
3274
|
+
var import_class_variance_authority11 = require("class-variance-authority");
|
|
2340
3275
|
|
|
2341
3276
|
// src/primitives/checkbox.tsx
|
|
2342
3277
|
var import_checkbox = require("@base-ui/react/checkbox");
|
|
2343
|
-
var
|
|
2344
|
-
var
|
|
2345
|
-
var
|
|
3278
|
+
var import_cn13 = require("cn");
|
|
3279
|
+
var import_lucide_react8 = require("lucide-react");
|
|
3280
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2346
3281
|
function Checkbox({ className, ...props }) {
|
|
2347
|
-
return /* @__PURE__ */ (0,
|
|
3282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2348
3283
|
import_checkbox.Checkbox.Root,
|
|
2349
3284
|
{
|
|
2350
3285
|
"data-slot": "checkbox",
|
|
2351
|
-
className: (0,
|
|
3286
|
+
className: (0, import_cn13.cn)(
|
|
2352
3287
|
"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",
|
|
2353
3288
|
className
|
|
2354
3289
|
),
|
|
2355
3290
|
...props,
|
|
2356
|
-
children: /* @__PURE__ */ (0,
|
|
3291
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2357
3292
|
import_checkbox.Checkbox.Indicator,
|
|
2358
3293
|
{
|
|
2359
3294
|
"data-slot": "checkbox-indicator",
|
|
2360
3295
|
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
2361
|
-
children: /* @__PURE__ */ (0,
|
|
2362
|
-
|
|
3296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3297
|
+
import_lucide_react8.CheckIcon,
|
|
2363
3298
|
{}
|
|
2364
3299
|
)
|
|
2365
3300
|
}
|
|
@@ -2369,8 +3304,8 @@ function Checkbox({ className, ...props }) {
|
|
|
2369
3304
|
}
|
|
2370
3305
|
|
|
2371
3306
|
// src/components/checkbox/Checkbox.tsx
|
|
2372
|
-
var
|
|
2373
|
-
var checkboxVariants = (0,
|
|
3307
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3308
|
+
var checkboxVariants = (0, import_class_variance_authority11.cva)(
|
|
2374
3309
|
"inline-flex items-center justify-center rounded-berget-xs transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2375
3310
|
{
|
|
2376
3311
|
variants: {
|
|
@@ -2391,7 +3326,7 @@ var checkboxVariants = (0, import_class_variance_authority10.cva)(
|
|
|
2391
3326
|
}
|
|
2392
3327
|
}
|
|
2393
3328
|
);
|
|
2394
|
-
var Checkbox2 =
|
|
3329
|
+
var Checkbox2 = React19.forwardRef(
|
|
2395
3330
|
({
|
|
2396
3331
|
"aria-label": ariaLabel,
|
|
2397
3332
|
className,
|
|
@@ -2404,11 +3339,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2404
3339
|
disabled,
|
|
2405
3340
|
...props
|
|
2406
3341
|
}, ref) => {
|
|
2407
|
-
const generatedId =
|
|
3342
|
+
const generatedId = React19.useId();
|
|
2408
3343
|
const checkboxId = id || generatedId;
|
|
2409
3344
|
const errorId = `${checkboxId}-error`;
|
|
2410
|
-
return /* @__PURE__ */ (0,
|
|
2411
|
-
/* @__PURE__ */ (0,
|
|
3345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
3346
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "relative flex items-start pt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2412
3347
|
Checkbox,
|
|
2413
3348
|
{
|
|
2414
3349
|
ref,
|
|
@@ -2425,8 +3360,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2425
3360
|
className
|
|
2426
3361
|
),
|
|
2427
3362
|
...props,
|
|
2428
|
-
children: /* @__PURE__ */ (0,
|
|
2429
|
-
|
|
3363
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_checkbox2.Checkbox.Indicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3364
|
+
import_lucide_react9.Check,
|
|
2430
3365
|
{
|
|
2431
3366
|
className: "h-4 w-4 text-current stroke-current",
|
|
2432
3367
|
style: { color: "currentColor", stroke: "currentColor" }
|
|
@@ -2434,8 +3369,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2434
3369
|
) })
|
|
2435
3370
|
}
|
|
2436
3371
|
) }),
|
|
2437
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
2438
|
-
label && /* @__PURE__ */ (0,
|
|
3372
|
+
(label || description || error) && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
3373
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2439
3374
|
"label",
|
|
2440
3375
|
{
|
|
2441
3376
|
htmlFor: checkboxId,
|
|
@@ -2447,8 +3382,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2447
3382
|
children: label
|
|
2448
3383
|
}
|
|
2449
3384
|
),
|
|
2450
|
-
description && /* @__PURE__ */ (0,
|
|
2451
|
-
error && /* @__PURE__ */ (0,
|
|
3385
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
|
|
3386
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2452
3387
|
] })
|
|
2453
3388
|
] });
|
|
2454
3389
|
}
|
|
@@ -2456,11 +3391,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2456
3391
|
Checkbox2.displayName = "Checkbox";
|
|
2457
3392
|
|
|
2458
3393
|
// src/components/switch/Switch.tsx
|
|
2459
|
-
var
|
|
3394
|
+
var React20 = __toESM(require("react"), 1);
|
|
2460
3395
|
var import_switch = require("@base-ui/react/switch");
|
|
2461
|
-
var
|
|
2462
|
-
var
|
|
2463
|
-
var switchRootVariants = (0,
|
|
3396
|
+
var import_class_variance_authority12 = require("class-variance-authority");
|
|
3397
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3398
|
+
var switchRootVariants = (0, import_class_variance_authority12.cva)(
|
|
2464
3399
|
"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",
|
|
2465
3400
|
{
|
|
2466
3401
|
variants: {
|
|
@@ -2481,7 +3416,7 @@ var switchRootVariants = (0, import_class_variance_authority11.cva)(
|
|
|
2481
3416
|
}
|
|
2482
3417
|
}
|
|
2483
3418
|
);
|
|
2484
|
-
var switchThumbVariants = (0,
|
|
3419
|
+
var switchThumbVariants = (0, import_class_variance_authority12.cva)(
|
|
2485
3420
|
"pointer-events-none block rounded-full ring-0 transition-transform shadow-berget-sm bg-berget-foreground",
|
|
2486
3421
|
{
|
|
2487
3422
|
variants: {
|
|
@@ -2496,7 +3431,7 @@ var switchThumbVariants = (0, import_class_variance_authority11.cva)(
|
|
|
2496
3431
|
}
|
|
2497
3432
|
}
|
|
2498
3433
|
);
|
|
2499
|
-
var Switch =
|
|
3434
|
+
var Switch = React20.forwardRef(
|
|
2500
3435
|
({
|
|
2501
3436
|
"aria-label": ariaLabel,
|
|
2502
3437
|
className,
|
|
@@ -2509,11 +3444,11 @@ var Switch = React18.forwardRef(
|
|
|
2509
3444
|
disabled,
|
|
2510
3445
|
...props
|
|
2511
3446
|
}, ref) => {
|
|
2512
|
-
const generatedId =
|
|
3447
|
+
const generatedId = React20.useId();
|
|
2513
3448
|
const switchId = id || generatedId;
|
|
2514
3449
|
const errorId = `${switchId}-error`;
|
|
2515
|
-
return /* @__PURE__ */ (0,
|
|
2516
|
-
/* @__PURE__ */ (0,
|
|
3450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
3451
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2517
3452
|
import_switch.Switch.Root,
|
|
2518
3453
|
{
|
|
2519
3454
|
ref,
|
|
@@ -2529,11 +3464,11 @@ var Switch = React18.forwardRef(
|
|
|
2529
3464
|
className
|
|
2530
3465
|
),
|
|
2531
3466
|
...props,
|
|
2532
|
-
children: /* @__PURE__ */ (0,
|
|
3467
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_switch.Switch.Thumb, { className: cn(switchThumbVariants({ size })) })
|
|
2533
3468
|
}
|
|
2534
3469
|
),
|
|
2535
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
2536
|
-
label && /* @__PURE__ */ (0,
|
|
3470
|
+
(label || description || error) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
3471
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2537
3472
|
"label",
|
|
2538
3473
|
{
|
|
2539
3474
|
htmlFor: switchId,
|
|
@@ -2544,8 +3479,8 @@ var Switch = React18.forwardRef(
|
|
|
2544
3479
|
children: label
|
|
2545
3480
|
}
|
|
2546
3481
|
),
|
|
2547
|
-
description && /* @__PURE__ */ (0,
|
|
2548
|
-
error && /* @__PURE__ */ (0,
|
|
3482
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
|
|
3483
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2549
3484
|
] })
|
|
2550
3485
|
] });
|
|
2551
3486
|
}
|
|
@@ -2553,21 +3488,21 @@ var Switch = React18.forwardRef(
|
|
|
2553
3488
|
Switch.displayName = "Switch";
|
|
2554
3489
|
|
|
2555
3490
|
// src/components/select/Select.tsx
|
|
2556
|
-
var
|
|
2557
|
-
var
|
|
3491
|
+
var React21 = __toESM(require("react"), 1);
|
|
3492
|
+
var import_class_variance_authority13 = require("class-variance-authority");
|
|
2558
3493
|
|
|
2559
3494
|
// src/primitives/select.tsx
|
|
2560
3495
|
var import_select = require("@base-ui/react/select");
|
|
2561
|
-
var
|
|
2562
|
-
var
|
|
2563
|
-
var
|
|
3496
|
+
var import_cn14 = require("cn");
|
|
3497
|
+
var import_lucide_react10 = require("lucide-react");
|
|
3498
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2564
3499
|
var Select = import_select.Select.Root;
|
|
2565
3500
|
function SelectValue({ className, ...props }) {
|
|
2566
|
-
return /* @__PURE__ */ (0,
|
|
3501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2567
3502
|
import_select.Select.Value,
|
|
2568
3503
|
{
|
|
2569
3504
|
"data-slot": "select-value",
|
|
2570
|
-
className: (0,
|
|
3505
|
+
className: (0, import_cn14.cn)("flex flex-1 text-left", className),
|
|
2571
3506
|
...props
|
|
2572
3507
|
}
|
|
2573
3508
|
);
|
|
@@ -2578,22 +3513,22 @@ function SelectTrigger({
|
|
|
2578
3513
|
children,
|
|
2579
3514
|
...props
|
|
2580
3515
|
}) {
|
|
2581
|
-
return /* @__PURE__ */ (0,
|
|
3516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2582
3517
|
import_select.Select.Trigger,
|
|
2583
3518
|
{
|
|
2584
3519
|
"data-slot": "select-trigger",
|
|
2585
3520
|
"data-size": size,
|
|
2586
|
-
className: (0,
|
|
3521
|
+
className: (0, import_cn14.cn)(
|
|
2587
3522
|
"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",
|
|
2588
3523
|
className
|
|
2589
3524
|
),
|
|
2590
3525
|
...props,
|
|
2591
3526
|
children: [
|
|
2592
3527
|
children,
|
|
2593
|
-
/* @__PURE__ */ (0,
|
|
3528
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2594
3529
|
import_select.Select.Icon,
|
|
2595
3530
|
{
|
|
2596
|
-
render: /* @__PURE__ */ (0,
|
|
3531
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
2597
3532
|
}
|
|
2598
3533
|
)
|
|
2599
3534
|
]
|
|
@@ -2610,7 +3545,7 @@ function SelectContent({
|
|
|
2610
3545
|
alignItemWithTrigger = true,
|
|
2611
3546
|
...props
|
|
2612
3547
|
}) {
|
|
2613
|
-
return /* @__PURE__ */ (0,
|
|
3548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2614
3549
|
import_select.Select.Positioner,
|
|
2615
3550
|
{
|
|
2616
3551
|
side,
|
|
@@ -2619,17 +3554,17 @@ function SelectContent({
|
|
|
2619
3554
|
alignOffset,
|
|
2620
3555
|
alignItemWithTrigger,
|
|
2621
3556
|
className: "isolate z-50",
|
|
2622
|
-
children: /* @__PURE__ */ (0,
|
|
3557
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2623
3558
|
import_select.Select.Popup,
|
|
2624
3559
|
{
|
|
2625
3560
|
"data-slot": "select-content",
|
|
2626
3561
|
"data-align-trigger": alignItemWithTrigger,
|
|
2627
|
-
className: (0,
|
|
3562
|
+
className: (0, import_cn14.cn)("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),
|
|
2628
3563
|
...props,
|
|
2629
3564
|
children: [
|
|
2630
|
-
/* @__PURE__ */ (0,
|
|
2631
|
-
/* @__PURE__ */ (0,
|
|
2632
|
-
/* @__PURE__ */ (0,
|
|
3565
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectScrollUpButton, {}),
|
|
3566
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_select.Select.List, { children }),
|
|
3567
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectScrollDownButton, {})
|
|
2633
3568
|
]
|
|
2634
3569
|
}
|
|
2635
3570
|
)
|
|
@@ -2641,22 +3576,22 @@ function SelectItem({
|
|
|
2641
3576
|
children,
|
|
2642
3577
|
...props
|
|
2643
3578
|
}) {
|
|
2644
|
-
return /* @__PURE__ */ (0,
|
|
3579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2645
3580
|
import_select.Select.Item,
|
|
2646
3581
|
{
|
|
2647
3582
|
"data-slot": "select-item",
|
|
2648
|
-
className: (0,
|
|
3583
|
+
className: (0, import_cn14.cn)(
|
|
2649
3584
|
"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",
|
|
2650
3585
|
className
|
|
2651
3586
|
),
|
|
2652
3587
|
...props,
|
|
2653
3588
|
children: [
|
|
2654
|
-
/* @__PURE__ */ (0,
|
|
2655
|
-
/* @__PURE__ */ (0,
|
|
3589
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_select.Select.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
|
|
3590
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2656
3591
|
import_select.Select.ItemIndicator,
|
|
2657
3592
|
{
|
|
2658
|
-
render: /* @__PURE__ */ (0,
|
|
2659
|
-
children: /* @__PURE__ */ (0,
|
|
3593
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
|
|
3594
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.CheckIcon, { className: "pointer-events-none" })
|
|
2660
3595
|
}
|
|
2661
3596
|
)
|
|
2662
3597
|
]
|
|
@@ -2667,17 +3602,17 @@ function SelectScrollUpButton({
|
|
|
2667
3602
|
className,
|
|
2668
3603
|
...props
|
|
2669
3604
|
}) {
|
|
2670
|
-
return /* @__PURE__ */ (0,
|
|
3605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2671
3606
|
import_select.Select.ScrollUpArrow,
|
|
2672
3607
|
{
|
|
2673
3608
|
"data-slot": "select-scroll-up-button",
|
|
2674
|
-
className: (0,
|
|
3609
|
+
className: (0, import_cn14.cn)(
|
|
2675
3610
|
"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2676
3611
|
className
|
|
2677
3612
|
),
|
|
2678
3613
|
...props,
|
|
2679
|
-
children: /* @__PURE__ */ (0,
|
|
2680
|
-
|
|
3614
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3615
|
+
import_lucide_react10.ChevronUpIcon,
|
|
2681
3616
|
{}
|
|
2682
3617
|
)
|
|
2683
3618
|
}
|
|
@@ -2687,17 +3622,17 @@ function SelectScrollDownButton({
|
|
|
2687
3622
|
className,
|
|
2688
3623
|
...props
|
|
2689
3624
|
}) {
|
|
2690
|
-
return /* @__PURE__ */ (0,
|
|
3625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2691
3626
|
import_select.Select.ScrollDownArrow,
|
|
2692
3627
|
{
|
|
2693
3628
|
"data-slot": "select-scroll-down-button",
|
|
2694
|
-
className: (0,
|
|
3629
|
+
className: (0, import_cn14.cn)(
|
|
2695
3630
|
"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2696
3631
|
className
|
|
2697
3632
|
),
|
|
2698
3633
|
...props,
|
|
2699
|
-
children: /* @__PURE__ */ (0,
|
|
2700
|
-
|
|
3634
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3635
|
+
import_lucide_react10.ChevronDownIcon,
|
|
2701
3636
|
{}
|
|
2702
3637
|
)
|
|
2703
3638
|
}
|
|
@@ -2705,8 +3640,8 @@ function SelectScrollDownButton({
|
|
|
2705
3640
|
}
|
|
2706
3641
|
|
|
2707
3642
|
// src/components/select/Select.tsx
|
|
2708
|
-
var
|
|
2709
|
-
var selectVariants = (0,
|
|
3643
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3644
|
+
var selectVariants = (0, import_class_variance_authority13.cva)(
|
|
2710
3645
|
"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",
|
|
2711
3646
|
{
|
|
2712
3647
|
variants: {
|
|
@@ -2728,7 +3663,7 @@ var selectVariants = (0, import_class_variance_authority12.cva)(
|
|
|
2728
3663
|
}
|
|
2729
3664
|
}
|
|
2730
3665
|
);
|
|
2731
|
-
var Select2 =
|
|
3666
|
+
var Select2 = React21.forwardRef(
|
|
2732
3667
|
({
|
|
2733
3668
|
className,
|
|
2734
3669
|
variant,
|
|
@@ -2746,12 +3681,12 @@ var Select2 = React19.forwardRef(
|
|
|
2746
3681
|
name,
|
|
2747
3682
|
required
|
|
2748
3683
|
}, ref) => {
|
|
2749
|
-
const generatedId =
|
|
3684
|
+
const generatedId = React21.useId();
|
|
2750
3685
|
const selectId = id || generatedId;
|
|
2751
3686
|
const errorId = `${selectId}-error`;
|
|
2752
3687
|
const descriptionId = `${selectId}-description`;
|
|
2753
|
-
return /* @__PURE__ */ (0,
|
|
2754
|
-
label && /* @__PURE__ */ (0,
|
|
3688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
3689
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2755
3690
|
"label",
|
|
2756
3691
|
{
|
|
2757
3692
|
htmlFor: selectId,
|
|
@@ -2763,7 +3698,7 @@ var Select2 = React19.forwardRef(
|
|
|
2763
3698
|
children: label
|
|
2764
3699
|
}
|
|
2765
3700
|
),
|
|
2766
|
-
/* @__PURE__ */ (0,
|
|
3701
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2767
3702
|
Select,
|
|
2768
3703
|
{
|
|
2769
3704
|
value,
|
|
@@ -2774,7 +3709,7 @@ var Select2 = React19.forwardRef(
|
|
|
2774
3709
|
required,
|
|
2775
3710
|
items: options,
|
|
2776
3711
|
children: [
|
|
2777
|
-
/* @__PURE__ */ (0,
|
|
3712
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2778
3713
|
SelectTrigger,
|
|
2779
3714
|
{
|
|
2780
3715
|
ref,
|
|
@@ -2786,33 +3721,33 @@ var Select2 = React19.forwardRef(
|
|
|
2786
3721
|
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
2787
3722
|
className
|
|
2788
3723
|
),
|
|
2789
|
-
children: /* @__PURE__ */ (0,
|
|
3724
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectValue, { placeholder })
|
|
2790
3725
|
}
|
|
2791
3726
|
),
|
|
2792
|
-
/* @__PURE__ */ (0,
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
|
|
2793
3728
|
]
|
|
2794
3729
|
}
|
|
2795
3730
|
),
|
|
2796
|
-
description && /* @__PURE__ */ (0,
|
|
2797
|
-
error && /* @__PURE__ */ (0,
|
|
3731
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3732
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2798
3733
|
] });
|
|
2799
3734
|
}
|
|
2800
3735
|
);
|
|
2801
3736
|
Select2.displayName = "Select";
|
|
2802
3737
|
|
|
2803
3738
|
// src/components/country-select/CountrySelect.tsx
|
|
2804
|
-
var
|
|
2805
|
-
var
|
|
3739
|
+
var React23 = __toESM(require("react"), 1);
|
|
3740
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2806
3741
|
|
|
2807
3742
|
// src/components/icon/Icon.tsx
|
|
2808
|
-
var
|
|
2809
|
-
var
|
|
3743
|
+
var React22 = __toESM(require("react"), 1);
|
|
3744
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2810
3745
|
var iconStrokeMap = {
|
|
2811
3746
|
16: 1.4,
|
|
2812
3747
|
24: 1.6,
|
|
2813
3748
|
32: 1.8
|
|
2814
3749
|
};
|
|
2815
|
-
var Icon =
|
|
3750
|
+
var Icon = React22.forwardRef(
|
|
2816
3751
|
({
|
|
2817
3752
|
icon: IconComponent,
|
|
2818
3753
|
size,
|
|
@@ -2824,7 +3759,7 @@ var Icon = React20.forwardRef(
|
|
|
2824
3759
|
const strokeWidth = iconStrokeMap[size];
|
|
2825
3760
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
2826
3761
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
2827
|
-
return /* @__PURE__ */ (0,
|
|
3762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2828
3763
|
IconComponent,
|
|
2829
3764
|
{
|
|
2830
3765
|
ref,
|
|
@@ -2840,13 +3775,13 @@ Icon.displayName = "Icon";
|
|
|
2840
3775
|
|
|
2841
3776
|
// src/primitives/popover.tsx
|
|
2842
3777
|
var import_popover = require("@base-ui/react/popover");
|
|
2843
|
-
var
|
|
2844
|
-
var
|
|
3778
|
+
var import_cn15 = require("cn");
|
|
3779
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2845
3780
|
function Popover({ ...props }) {
|
|
2846
|
-
return /* @__PURE__ */ (0,
|
|
3781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
2847
3782
|
}
|
|
2848
3783
|
function PopoverTrigger({ ...props }) {
|
|
2849
|
-
return /* @__PURE__ */ (0,
|
|
3784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2850
3785
|
}
|
|
2851
3786
|
function PopoverContent({
|
|
2852
3787
|
className,
|
|
@@ -2856,7 +3791,7 @@ function PopoverContent({
|
|
|
2856
3791
|
sideOffset = 4,
|
|
2857
3792
|
...props
|
|
2858
3793
|
}) {
|
|
2859
|
-
return /* @__PURE__ */ (0,
|
|
3794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2860
3795
|
import_popover.Popover.Positioner,
|
|
2861
3796
|
{
|
|
2862
3797
|
align,
|
|
@@ -2864,11 +3799,11 @@ function PopoverContent({
|
|
|
2864
3799
|
side,
|
|
2865
3800
|
sideOffset,
|
|
2866
3801
|
className: "isolate z-50",
|
|
2867
|
-
children: /* @__PURE__ */ (0,
|
|
3802
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2868
3803
|
import_popover.Popover.Popup,
|
|
2869
3804
|
{
|
|
2870
3805
|
"data-slot": "popover-content",
|
|
2871
|
-
className: (0,
|
|
3806
|
+
className: (0, import_cn15.cn)(
|
|
2872
3807
|
"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",
|
|
2873
3808
|
className
|
|
2874
3809
|
),
|
|
@@ -2881,27 +3816,27 @@ function PopoverContent({
|
|
|
2881
3816
|
|
|
2882
3817
|
// src/primitives/command.tsx
|
|
2883
3818
|
var import_cmdk = require("cmdk");
|
|
2884
|
-
var
|
|
3819
|
+
var import_cn19 = require("cn");
|
|
2885
3820
|
|
|
2886
3821
|
// src/primitives/dialog.tsx
|
|
2887
|
-
var
|
|
2888
|
-
var
|
|
2889
|
-
var
|
|
2890
|
-
var
|
|
3822
|
+
var import_dialog3 = require("@base-ui/react/dialog");
|
|
3823
|
+
var import_cn16 = require("cn");
|
|
3824
|
+
var import_lucide_react11 = require("lucide-react");
|
|
3825
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2891
3826
|
|
|
2892
3827
|
// src/primitives/input-group.tsx
|
|
2893
|
-
var
|
|
2894
|
-
var
|
|
3828
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
3829
|
+
var import_cn18 = require("cn");
|
|
2895
3830
|
|
|
2896
3831
|
// src/primitives/textarea.tsx
|
|
2897
|
-
var
|
|
2898
|
-
var
|
|
3832
|
+
var import_cn17 = require("cn");
|
|
3833
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2899
3834
|
function Textarea({ className, ...props }) {
|
|
2900
|
-
return /* @__PURE__ */ (0,
|
|
3835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2901
3836
|
"textarea",
|
|
2902
3837
|
{
|
|
2903
3838
|
"data-slot": "textarea",
|
|
2904
|
-
className: (0,
|
|
3839
|
+
className: (0, import_cn17.cn)(
|
|
2905
3840
|
"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",
|
|
2906
3841
|
className
|
|
2907
3842
|
),
|
|
@@ -2911,14 +3846,14 @@ function Textarea({ className, ...props }) {
|
|
|
2911
3846
|
}
|
|
2912
3847
|
|
|
2913
3848
|
// src/primitives/input-group.tsx
|
|
2914
|
-
var
|
|
3849
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2915
3850
|
function InputGroup({ className, ...props }) {
|
|
2916
|
-
return /* @__PURE__ */ (0,
|
|
3851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2917
3852
|
"div",
|
|
2918
3853
|
{
|
|
2919
3854
|
"data-slot": "input-group",
|
|
2920
3855
|
role: "group",
|
|
2921
|
-
className: (0,
|
|
3856
|
+
className: (0, import_cn18.cn)(
|
|
2922
3857
|
"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",
|
|
2923
3858
|
className
|
|
2924
3859
|
),
|
|
@@ -2926,7 +3861,7 @@ function InputGroup({ className, ...props }) {
|
|
|
2926
3861
|
}
|
|
2927
3862
|
);
|
|
2928
3863
|
}
|
|
2929
|
-
var inputGroupAddonVariants = (0,
|
|
3864
|
+
var inputGroupAddonVariants = (0, import_class_variance_authority14.cva)(
|
|
2930
3865
|
"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",
|
|
2931
3866
|
{
|
|
2932
3867
|
variants: {
|
|
@@ -2947,13 +3882,13 @@ function InputGroupAddon({
|
|
|
2947
3882
|
align = "inline-start",
|
|
2948
3883
|
...props
|
|
2949
3884
|
}) {
|
|
2950
|
-
return /* @__PURE__ */ (0,
|
|
3885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2951
3886
|
"div",
|
|
2952
3887
|
{
|
|
2953
3888
|
role: "group",
|
|
2954
3889
|
"data-slot": "input-group-addon",
|
|
2955
3890
|
"data-align": align,
|
|
2956
|
-
className: (0,
|
|
3891
|
+
className: (0, import_cn18.cn)(inputGroupAddonVariants({ align }), className),
|
|
2957
3892
|
onClick: (e) => {
|
|
2958
3893
|
if (e.target.closest("button")) {
|
|
2959
3894
|
return;
|
|
@@ -2964,7 +3899,7 @@ function InputGroupAddon({
|
|
|
2964
3899
|
}
|
|
2965
3900
|
);
|
|
2966
3901
|
}
|
|
2967
|
-
var inputGroupButtonVariants = (0,
|
|
3902
|
+
var inputGroupButtonVariants = (0, import_class_variance_authority14.cva)(
|
|
2968
3903
|
"flex items-center gap-2 text-sm shadow-none",
|
|
2969
3904
|
{
|
|
2970
3905
|
variants: {
|
|
@@ -2982,17 +3917,17 @@ var inputGroupButtonVariants = (0, import_class_variance_authority13.cva)(
|
|
|
2982
3917
|
);
|
|
2983
3918
|
|
|
2984
3919
|
// src/primitives/command.tsx
|
|
2985
|
-
var
|
|
2986
|
-
var
|
|
3920
|
+
var import_lucide_react12 = require("lucide-react");
|
|
3921
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2987
3922
|
function Command({
|
|
2988
3923
|
className,
|
|
2989
3924
|
...props
|
|
2990
3925
|
}) {
|
|
2991
|
-
return /* @__PURE__ */ (0,
|
|
3926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2992
3927
|
import_cmdk.Command,
|
|
2993
3928
|
{
|
|
2994
3929
|
"data-slot": "command",
|
|
2995
|
-
className: (0,
|
|
3930
|
+
className: (0, import_cn19.cn)(
|
|
2996
3931
|
"flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
|
|
2997
3932
|
className
|
|
2998
3933
|
),
|
|
@@ -3004,30 +3939,30 @@ function CommandInput({
|
|
|
3004
3939
|
className,
|
|
3005
3940
|
...props
|
|
3006
3941
|
}) {
|
|
3007
|
-
return /* @__PURE__ */ (0,
|
|
3008
|
-
/* @__PURE__ */ (0,
|
|
3942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { "data-slot": "command-input-wrapper", className: "p-1 pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(InputGroup, { className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [
|
|
3943
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3009
3944
|
import_cmdk.Command.Input,
|
|
3010
3945
|
{
|
|
3011
3946
|
"data-slot": "command-input",
|
|
3012
|
-
className: (0,
|
|
3947
|
+
className: (0, import_cn19.cn)(
|
|
3013
3948
|
"w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
3014
3949
|
className
|
|
3015
3950
|
),
|
|
3016
3951
|
...props
|
|
3017
3952
|
}
|
|
3018
3953
|
),
|
|
3019
|
-
/* @__PURE__ */ (0,
|
|
3954
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(InputGroupAddon, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react12.SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
3020
3955
|
] }) });
|
|
3021
3956
|
}
|
|
3022
3957
|
function CommandList({
|
|
3023
3958
|
className,
|
|
3024
3959
|
...props
|
|
3025
3960
|
}) {
|
|
3026
|
-
return /* @__PURE__ */ (0,
|
|
3961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3027
3962
|
import_cmdk.Command.List,
|
|
3028
3963
|
{
|
|
3029
3964
|
"data-slot": "command-list",
|
|
3030
|
-
className: (0,
|
|
3965
|
+
className: (0, import_cn19.cn)(
|
|
3031
3966
|
"no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",
|
|
3032
3967
|
className
|
|
3033
3968
|
),
|
|
@@ -3039,11 +3974,11 @@ function CommandEmpty({
|
|
|
3039
3974
|
className,
|
|
3040
3975
|
...props
|
|
3041
3976
|
}) {
|
|
3042
|
-
return /* @__PURE__ */ (0,
|
|
3977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3043
3978
|
import_cmdk.Command.Empty,
|
|
3044
3979
|
{
|
|
3045
3980
|
"data-slot": "command-empty",
|
|
3046
|
-
className: (0,
|
|
3981
|
+
className: (0, import_cn19.cn)("py-6 text-center text-sm", className),
|
|
3047
3982
|
...props
|
|
3048
3983
|
}
|
|
3049
3984
|
);
|
|
@@ -3052,11 +3987,11 @@ function CommandGroup({
|
|
|
3052
3987
|
className,
|
|
3053
3988
|
...props
|
|
3054
3989
|
}) {
|
|
3055
|
-
return /* @__PURE__ */ (0,
|
|
3990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3056
3991
|
import_cmdk.Command.Group,
|
|
3057
3992
|
{
|
|
3058
3993
|
"data-slot": "command-group",
|
|
3059
|
-
className: (0,
|
|
3994
|
+
className: (0, import_cn19.cn)(
|
|
3060
3995
|
"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",
|
|
3061
3996
|
className
|
|
3062
3997
|
),
|
|
@@ -3069,18 +4004,18 @@ function CommandItem({
|
|
|
3069
4004
|
children,
|
|
3070
4005
|
...props
|
|
3071
4006
|
}) {
|
|
3072
|
-
return /* @__PURE__ */ (0,
|
|
4007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
3073
4008
|
import_cmdk.Command.Item,
|
|
3074
4009
|
{
|
|
3075
4010
|
"data-slot": "command-item",
|
|
3076
|
-
className: (0,
|
|
4011
|
+
className: (0, import_cn19.cn)(
|
|
3077
4012
|
"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",
|
|
3078
4013
|
className
|
|
3079
4014
|
),
|
|
3080
4015
|
...props,
|
|
3081
4016
|
children: [
|
|
3082
4017
|
children,
|
|
3083
|
-
/* @__PURE__ */ (0,
|
|
4018
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react12.CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
3084
4019
|
]
|
|
3085
4020
|
}
|
|
3086
4021
|
);
|
|
@@ -3228,8 +4163,8 @@ var isEUCountry = (countryCode) => {
|
|
|
3228
4163
|
};
|
|
3229
4164
|
|
|
3230
4165
|
// src/components/country-select/CountrySelect.tsx
|
|
3231
|
-
var
|
|
3232
|
-
var CountrySelect =
|
|
4166
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
4167
|
+
var CountrySelect = React23.forwardRef(
|
|
3233
4168
|
({
|
|
3234
4169
|
value,
|
|
3235
4170
|
onValueChange,
|
|
@@ -3239,14 +4174,14 @@ var CountrySelect = React21.forwardRef(
|
|
|
3239
4174
|
align = "center",
|
|
3240
4175
|
sideOffset = 4
|
|
3241
4176
|
}, ref) => {
|
|
3242
|
-
const [open, setOpen] =
|
|
3243
|
-
const selectedCountry =
|
|
3244
|
-
return /* @__PURE__ */ (0,
|
|
3245
|
-
/* @__PURE__ */ (0,
|
|
4177
|
+
const [open, setOpen] = React23.useState(false);
|
|
4178
|
+
const selectedCountry = React23.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
|
|
4179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
4180
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3246
4181
|
PopoverTrigger,
|
|
3247
4182
|
{
|
|
3248
4183
|
ref,
|
|
3249
|
-
render: /* @__PURE__ */ (0,
|
|
4184
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3250
4185
|
"button",
|
|
3251
4186
|
{
|
|
3252
4187
|
type: "button",
|
|
@@ -3268,29 +4203,29 @@ var CountrySelect = React21.forwardRef(
|
|
|
3268
4203
|
}
|
|
3269
4204
|
),
|
|
3270
4205
|
children: [
|
|
3271
|
-
/* @__PURE__ */ (0,
|
|
3272
|
-
/* @__PURE__ */ (0,
|
|
3273
|
-
/* @__PURE__ */ (0,
|
|
3274
|
-
/* @__PURE__ */ (0,
|
|
4206
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
4207
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
|
|
4208
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "truncate", children: selectedCountry.name }),
|
|
4209
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
|
|
3275
4210
|
"(",
|
|
3276
4211
|
selectedCountry.code,
|
|
3277
4212
|
")"
|
|
3278
4213
|
] })
|
|
3279
|
-
] }) : /* @__PURE__ */ (0,
|
|
3280
|
-
/* @__PURE__ */ (0,
|
|
4214
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
4215
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3281
4216
|
Icon,
|
|
3282
4217
|
{
|
|
3283
|
-
icon:
|
|
4218
|
+
icon: import_lucide_react13.Globe,
|
|
3284
4219
|
size: 16,
|
|
3285
4220
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
3286
4221
|
}
|
|
3287
4222
|
),
|
|
3288
|
-
/* @__PURE__ */ (0,
|
|
4223
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
3289
4224
|
] }) }),
|
|
3290
|
-
/* @__PURE__ */ (0,
|
|
4225
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3291
4226
|
Icon,
|
|
3292
4227
|
{
|
|
3293
|
-
icon:
|
|
4228
|
+
icon: import_lucide_react13.ChevronDown,
|
|
3294
4229
|
size: 16,
|
|
3295
4230
|
className: cn(
|
|
3296
4231
|
"flex-shrink-0 text-berget-muted-foreground",
|
|
@@ -3302,17 +4237,17 @@ var CountrySelect = React21.forwardRef(
|
|
|
3302
4237
|
]
|
|
3303
4238
|
}
|
|
3304
4239
|
),
|
|
3305
|
-
/* @__PURE__ */ (0,
|
|
4240
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3306
4241
|
PopoverContent,
|
|
3307
4242
|
{
|
|
3308
4243
|
align,
|
|
3309
4244
|
sideOffset,
|
|
3310
4245
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
3311
|
-
children: /* @__PURE__ */ (0,
|
|
3312
|
-
/* @__PURE__ */ (0,
|
|
3313
|
-
/* @__PURE__ */ (0,
|
|
3314
|
-
/* @__PURE__ */ (0,
|
|
3315
|
-
/* @__PURE__ */ (0,
|
|
4246
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Command, { children: [
|
|
4247
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CommandInput, { placeholder: "Search country..." }),
|
|
4248
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(CommandList, { children: [
|
|
4249
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CommandEmpty, { children: "No countries found." }),
|
|
4250
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3316
4251
|
CommandItem,
|
|
3317
4252
|
{
|
|
3318
4253
|
value: `${country.name} ${country.code}`,
|
|
@@ -3326,12 +4261,12 @@ var CountrySelect = React21.forwardRef(
|
|
|
3326
4261
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
3327
4262
|
),
|
|
3328
4263
|
children: [
|
|
3329
|
-
/* @__PURE__ */ (0,
|
|
3330
|
-
/* @__PURE__ */ (0,
|
|
3331
|
-
/* @__PURE__ */ (0,
|
|
3332
|
-
/* @__PURE__ */ (0,
|
|
4264
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xl flex-shrink-0", children: country.flag }),
|
|
4265
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
4266
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "text-sm truncate", children: country.name }),
|
|
4267
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
|
|
3333
4268
|
] }),
|
|
3334
|
-
value === country.code && /* @__PURE__ */ (0,
|
|
4269
|
+
value === country.code && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-0" })
|
|
3335
4270
|
]
|
|
3336
4271
|
},
|
|
3337
4272
|
country.code
|
|
@@ -3346,10 +4281,10 @@ var CountrySelect = React21.forwardRef(
|
|
|
3346
4281
|
CountrySelect.displayName = "CountrySelect";
|
|
3347
4282
|
|
|
3348
4283
|
// src/components/text-area/TextArea.tsx
|
|
3349
|
-
var
|
|
3350
|
-
var
|
|
3351
|
-
var
|
|
3352
|
-
var textAreaVariants = (0,
|
|
4284
|
+
var React24 = __toESM(require("react"), 1);
|
|
4285
|
+
var import_class_variance_authority15 = require("class-variance-authority");
|
|
4286
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
4287
|
+
var textAreaVariants = (0, import_class_variance_authority15.cva)(
|
|
3353
4288
|
"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",
|
|
3354
4289
|
{
|
|
3355
4290
|
variants: {
|
|
@@ -3371,7 +4306,7 @@ var textAreaVariants = (0, import_class_variance_authority14.cva)(
|
|
|
3371
4306
|
}
|
|
3372
4307
|
}
|
|
3373
4308
|
);
|
|
3374
|
-
var TextArea =
|
|
4309
|
+
var TextArea = React24.forwardRef(
|
|
3375
4310
|
({
|
|
3376
4311
|
className,
|
|
3377
4312
|
variant,
|
|
@@ -3391,13 +4326,13 @@ var TextArea = React22.forwardRef(
|
|
|
3391
4326
|
actionButton,
|
|
3392
4327
|
...props
|
|
3393
4328
|
}, ref) => {
|
|
3394
|
-
const generatedId =
|
|
4329
|
+
const generatedId = React24.useId();
|
|
3395
4330
|
const textareaId = id || generatedId;
|
|
3396
4331
|
const errorId = `${textareaId}-error`;
|
|
3397
4332
|
const descriptionId = `${textareaId}-description`;
|
|
3398
4333
|
const characterCount = typeof value === "string" ? value.length : 0;
|
|
3399
|
-
return /* @__PURE__ */ (0,
|
|
3400
|
-
label && /* @__PURE__ */ (0,
|
|
4334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
4335
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3401
4336
|
"label",
|
|
3402
4337
|
{
|
|
3403
4338
|
htmlFor: textareaId,
|
|
@@ -3409,9 +4344,9 @@ var TextArea = React22.forwardRef(
|
|
|
3409
4344
|
children: label
|
|
3410
4345
|
}
|
|
3411
4346
|
),
|
|
3412
|
-
/* @__PURE__ */ (0,
|
|
3413
|
-
icon && /* @__PURE__ */ (0,
|
|
3414
|
-
/* @__PURE__ */ (0,
|
|
4347
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "relative", children: [
|
|
4348
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
|
|
4349
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3415
4350
|
Textarea,
|
|
3416
4351
|
{
|
|
3417
4352
|
ref,
|
|
@@ -3436,13 +4371,13 @@ var TextArea = React22.forwardRef(
|
|
|
3436
4371
|
...props
|
|
3437
4372
|
}
|
|
3438
4373
|
),
|
|
3439
|
-
secondaryIcon && /* @__PURE__ */ (0,
|
|
3440
|
-
actionButton && /* @__PURE__ */ (0,
|
|
4374
|
+
secondaryIcon && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
|
|
4375
|
+
actionButton && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
3441
4376
|
] }),
|
|
3442
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
3443
|
-
description && /* @__PURE__ */ (0,
|
|
3444
|
-
(error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
3445
|
-
showCount && maxLength && /* @__PURE__ */ (0,
|
|
4377
|
+
(description || error || showCount && maxLength) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
|
|
4378
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
4379
|
+
(error || showCount && maxLength) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
4380
|
+
showCount && maxLength && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
3446
4381
|
Typography,
|
|
3447
4382
|
{
|
|
3448
4383
|
variant: "xs",
|
|
@@ -3456,7 +4391,7 @@ var TextArea = React22.forwardRef(
|
|
|
3456
4391
|
]
|
|
3457
4392
|
}
|
|
3458
4393
|
),
|
|
3459
|
-
error && /* @__PURE__ */ (0,
|
|
4394
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3460
4395
|
Typography,
|
|
3461
4396
|
{
|
|
3462
4397
|
variant: "xs",
|
|
@@ -3473,14 +4408,14 @@ var TextArea = React22.forwardRef(
|
|
|
3473
4408
|
TextArea.displayName = "TextArea";
|
|
3474
4409
|
|
|
3475
4410
|
// src/primitives/label.tsx
|
|
3476
|
-
var
|
|
3477
|
-
var
|
|
4411
|
+
var import_cn20 = require("cn");
|
|
4412
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3478
4413
|
function Label({ className, ...props }) {
|
|
3479
|
-
return /* @__PURE__ */ (0,
|
|
4414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3480
4415
|
"label",
|
|
3481
4416
|
{
|
|
3482
4417
|
"data-slot": "label",
|
|
3483
|
-
className: (0,
|
|
4418
|
+
className: (0, import_cn20.cn)(
|
|
3484
4419
|
"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",
|
|
3485
4420
|
className
|
|
3486
4421
|
),
|
|
@@ -3491,15 +4426,15 @@ function Label({ className, ...props }) {
|
|
|
3491
4426
|
|
|
3492
4427
|
// src/primitives/field.tsx
|
|
3493
4428
|
var import_react = require("react");
|
|
3494
|
-
var
|
|
3495
|
-
var
|
|
3496
|
-
var
|
|
4429
|
+
var import_class_variance_authority16 = require("class-variance-authority");
|
|
4430
|
+
var import_cn21 = require("cn");
|
|
4431
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3497
4432
|
function FieldSet({ className, ...props }) {
|
|
3498
|
-
return /* @__PURE__ */ (0,
|
|
4433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3499
4434
|
"fieldset",
|
|
3500
4435
|
{
|
|
3501
4436
|
"data-slot": "field-set",
|
|
3502
|
-
className: (0,
|
|
4437
|
+
className: (0, import_cn21.cn)(
|
|
3503
4438
|
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
3504
4439
|
className
|
|
3505
4440
|
),
|
|
@@ -3512,12 +4447,12 @@ function FieldLegend({
|
|
|
3512
4447
|
variant = "legend",
|
|
3513
4448
|
...props
|
|
3514
4449
|
}) {
|
|
3515
|
-
return /* @__PURE__ */ (0,
|
|
4450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3516
4451
|
"legend",
|
|
3517
4452
|
{
|
|
3518
4453
|
"data-slot": "field-legend",
|
|
3519
4454
|
"data-variant": variant,
|
|
3520
|
-
className: (0,
|
|
4455
|
+
className: (0, import_cn21.cn)(
|
|
3521
4456
|
"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
|
|
3522
4457
|
className
|
|
3523
4458
|
),
|
|
@@ -3526,11 +4461,11 @@ function FieldLegend({
|
|
|
3526
4461
|
);
|
|
3527
4462
|
}
|
|
3528
4463
|
function FieldGroup({ className, ...props }) {
|
|
3529
|
-
return /* @__PURE__ */ (0,
|
|
4464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3530
4465
|
"div",
|
|
3531
4466
|
{
|
|
3532
4467
|
"data-slot": "field-group",
|
|
3533
|
-
className: (0,
|
|
4468
|
+
className: (0, import_cn21.cn)(
|
|
3534
4469
|
"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",
|
|
3535
4470
|
className
|
|
3536
4471
|
),
|
|
@@ -3538,7 +4473,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
3538
4473
|
}
|
|
3539
4474
|
);
|
|
3540
4475
|
}
|
|
3541
|
-
var fieldVariants = (0,
|
|
4476
|
+
var fieldVariants = (0, import_class_variance_authority16.cva)(
|
|
3542
4477
|
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
3543
4478
|
{
|
|
3544
4479
|
variants: {
|
|
@@ -3558,23 +4493,23 @@ function Field({
|
|
|
3558
4493
|
orientation = "vertical",
|
|
3559
4494
|
...props
|
|
3560
4495
|
}) {
|
|
3561
|
-
return /* @__PURE__ */ (0,
|
|
4496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3562
4497
|
"div",
|
|
3563
4498
|
{
|
|
3564
4499
|
role: "group",
|
|
3565
4500
|
"data-slot": "field",
|
|
3566
4501
|
"data-orientation": orientation,
|
|
3567
|
-
className: (0,
|
|
4502
|
+
className: (0, import_cn21.cn)(fieldVariants({ orientation }), className),
|
|
3568
4503
|
...props
|
|
3569
4504
|
}
|
|
3570
4505
|
);
|
|
3571
4506
|
}
|
|
3572
4507
|
function FieldContent({ className, ...props }) {
|
|
3573
|
-
return /* @__PURE__ */ (0,
|
|
4508
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3574
4509
|
"div",
|
|
3575
4510
|
{
|
|
3576
4511
|
"data-slot": "field-content",
|
|
3577
|
-
className: (0,
|
|
4512
|
+
className: (0, import_cn21.cn)(
|
|
3578
4513
|
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
3579
4514
|
className
|
|
3580
4515
|
),
|
|
@@ -3586,11 +4521,11 @@ function FieldLabel({
|
|
|
3586
4521
|
className,
|
|
3587
4522
|
...props
|
|
3588
4523
|
}) {
|
|
3589
|
-
return /* @__PURE__ */ (0,
|
|
4524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3590
4525
|
Label,
|
|
3591
4526
|
{
|
|
3592
4527
|
"data-slot": "field-label",
|
|
3593
|
-
className: (0,
|
|
4528
|
+
className: (0, import_cn21.cn)(
|
|
3594
4529
|
"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",
|
|
3595
4530
|
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
3596
4531
|
className
|
|
@@ -3600,11 +4535,11 @@ function FieldLabel({
|
|
|
3600
4535
|
);
|
|
3601
4536
|
}
|
|
3602
4537
|
function FieldTitle({ className, ...props }) {
|
|
3603
|
-
return /* @__PURE__ */ (0,
|
|
4538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3604
4539
|
"div",
|
|
3605
4540
|
{
|
|
3606
4541
|
"data-slot": "field-label",
|
|
3607
|
-
className: (0,
|
|
4542
|
+
className: (0, import_cn21.cn)(
|
|
3608
4543
|
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
3609
4544
|
className
|
|
3610
4545
|
),
|
|
@@ -3613,11 +4548,11 @@ function FieldTitle({ className, ...props }) {
|
|
|
3613
4548
|
);
|
|
3614
4549
|
}
|
|
3615
4550
|
function FieldDescription({ className, ...props }) {
|
|
3616
|
-
return /* @__PURE__ */ (0,
|
|
4551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3617
4552
|
"p",
|
|
3618
4553
|
{
|
|
3619
4554
|
"data-slot": "field-description",
|
|
3620
|
-
className: (0,
|
|
4555
|
+
className: (0, import_cn21.cn)(
|
|
3621
4556
|
"text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
|
|
3622
4557
|
"last:mt-0 nth-last-2:-mt-1",
|
|
3623
4558
|
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
@@ -3632,19 +4567,19 @@ function FieldSeparator({
|
|
|
3632
4567
|
className,
|
|
3633
4568
|
...props
|
|
3634
4569
|
}) {
|
|
3635
|
-
return /* @__PURE__ */ (0,
|
|
4570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3636
4571
|
"div",
|
|
3637
4572
|
{
|
|
3638
4573
|
"data-slot": "field-separator",
|
|
3639
4574
|
"data-content": !!children,
|
|
3640
|
-
className: (0,
|
|
4575
|
+
className: (0, import_cn21.cn)(
|
|
3641
4576
|
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
3642
4577
|
className
|
|
3643
4578
|
),
|
|
3644
4579
|
...props,
|
|
3645
4580
|
children: [
|
|
3646
|
-
/* @__PURE__ */ (0,
|
|
3647
|
-
children && /* @__PURE__ */ (0,
|
|
4581
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
4582
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3648
4583
|
"span",
|
|
3649
4584
|
{
|
|
3650
4585
|
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
@@ -3675,19 +4610,19 @@ function FieldError({
|
|
|
3675
4610
|
if (uniqueErrors?.length == 1) {
|
|
3676
4611
|
return uniqueErrors[0]?.message;
|
|
3677
4612
|
}
|
|
3678
|
-
return /* @__PURE__ */ (0,
|
|
3679
|
-
(error, index) => error?.message && /* @__PURE__ */ (0,
|
|
4613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
4614
|
+
(error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("li", { children: error.message }, index)
|
|
3680
4615
|
) });
|
|
3681
4616
|
}, [children, errors]);
|
|
3682
4617
|
if (!content) {
|
|
3683
4618
|
return null;
|
|
3684
4619
|
}
|
|
3685
|
-
return /* @__PURE__ */ (0,
|
|
4620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3686
4621
|
"div",
|
|
3687
4622
|
{
|
|
3688
4623
|
role: "alert",
|
|
3689
4624
|
"data-slot": "field-error",
|
|
3690
|
-
className: (0,
|
|
4625
|
+
className: (0, import_cn21.cn)("text-sm font-normal text-destructive", className),
|
|
3691
4626
|
...props,
|
|
3692
4627
|
children: content
|
|
3693
4628
|
}
|
|
@@ -3695,11 +4630,11 @@ function FieldError({
|
|
|
3695
4630
|
}
|
|
3696
4631
|
|
|
3697
4632
|
// src/components/link/Link.tsx
|
|
3698
|
-
var
|
|
3699
|
-
var
|
|
3700
|
-
var
|
|
3701
|
-
var
|
|
3702
|
-
var linkVariants = (0,
|
|
4633
|
+
var React25 = __toESM(require("react"), 1);
|
|
4634
|
+
var import_class_variance_authority17 = require("class-variance-authority");
|
|
4635
|
+
var import_lucide_react14 = require("lucide-react");
|
|
4636
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
4637
|
+
var linkVariants = (0, import_class_variance_authority17.cva)(
|
|
3703
4638
|
"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",
|
|
3704
4639
|
{
|
|
3705
4640
|
variants: {
|
|
@@ -3723,7 +4658,7 @@ var linkVariants = (0, import_class_variance_authority16.cva)(
|
|
|
3723
4658
|
}
|
|
3724
4659
|
}
|
|
3725
4660
|
);
|
|
3726
|
-
var Link =
|
|
4661
|
+
var Link = React25.forwardRef(
|
|
3727
4662
|
({
|
|
3728
4663
|
className,
|
|
3729
4664
|
variant,
|
|
@@ -3736,7 +4671,7 @@ var Link = React23.forwardRef(
|
|
|
3736
4671
|
...props
|
|
3737
4672
|
}, ref) => {
|
|
3738
4673
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
3739
|
-
return /* @__PURE__ */ (0,
|
|
4674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3740
4675
|
"a",
|
|
3741
4676
|
{
|
|
3742
4677
|
ref,
|
|
@@ -3752,8 +4687,8 @@ var Link = React23.forwardRef(
|
|
|
3752
4687
|
},
|
|
3753
4688
|
children: [
|
|
3754
4689
|
children,
|
|
3755
|
-
icon && /* @__PURE__ */ (0,
|
|
3756
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0,
|
|
4690
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "inline-flex items-center", children: icon }),
|
|
4691
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Icon, { icon: import_lucide_react14.ExternalLink, size: 16 }) })
|
|
3757
4692
|
]
|
|
3758
4693
|
}
|
|
3759
4694
|
);
|
|
@@ -3762,11 +4697,11 @@ var Link = React23.forwardRef(
|
|
|
3762
4697
|
Link.displayName = "Link";
|
|
3763
4698
|
|
|
3764
4699
|
// src/components/container/Container.tsx
|
|
3765
|
-
var
|
|
3766
|
-
var
|
|
3767
|
-
var
|
|
3768
|
-
var
|
|
3769
|
-
var containerVariants = (0,
|
|
4700
|
+
var React26 = __toESM(require("react"), 1);
|
|
4701
|
+
var import_merge_props3 = require("@base-ui/react/merge-props");
|
|
4702
|
+
var import_use_render3 = require("@base-ui/react/use-render");
|
|
4703
|
+
var import_class_variance_authority18 = require("class-variance-authority");
|
|
4704
|
+
var containerVariants = (0, import_class_variance_authority18.cva)("w-full mx-auto", {
|
|
3770
4705
|
variants: {
|
|
3771
4706
|
size: {
|
|
3772
4707
|
sm: "max-w-3xl",
|
|
@@ -3787,13 +4722,13 @@ var containerVariants = (0, import_class_variance_authority17.cva)("w-full mx-au
|
|
|
3787
4722
|
padding: "md"
|
|
3788
4723
|
}
|
|
3789
4724
|
});
|
|
3790
|
-
var Container =
|
|
4725
|
+
var Container = React26.forwardRef(
|
|
3791
4726
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
3792
|
-
return (0,
|
|
4727
|
+
return (0, import_use_render3.useRender)({
|
|
3793
4728
|
ref,
|
|
3794
4729
|
defaultTagName: "div",
|
|
3795
4730
|
render: asChild ? children : void 0,
|
|
3796
|
-
props: (0,
|
|
4731
|
+
props: (0, import_merge_props3.mergeProps)(
|
|
3797
4732
|
{
|
|
3798
4733
|
className: cn(containerVariants({ size, padding }), className),
|
|
3799
4734
|
children: asChild ? void 0 : children
|
|
@@ -3806,11 +4741,11 @@ var Container = React24.forwardRef(
|
|
|
3806
4741
|
Container.displayName = "Container";
|
|
3807
4742
|
|
|
3808
4743
|
// src/components/grid/Grid.tsx
|
|
3809
|
-
var
|
|
3810
|
-
var
|
|
3811
|
-
var
|
|
3812
|
-
var
|
|
3813
|
-
var gridVariants = (0,
|
|
4744
|
+
var React27 = __toESM(require("react"), 1);
|
|
4745
|
+
var import_class_variance_authority19 = require("class-variance-authority");
|
|
4746
|
+
var import_merge_props4 = require("@base-ui/react/merge-props");
|
|
4747
|
+
var import_use_render4 = require("@base-ui/react/use-render");
|
|
4748
|
+
var gridVariants = (0, import_class_variance_authority19.cva)("grid", {
|
|
3814
4749
|
variants: {
|
|
3815
4750
|
align: {
|
|
3816
4751
|
start: "items-start",
|
|
@@ -3832,13 +4767,13 @@ var gridVariants = (0, import_class_variance_authority18.cva)("grid", {
|
|
|
3832
4767
|
justify: "start"
|
|
3833
4768
|
}
|
|
3834
4769
|
});
|
|
3835
|
-
var Grid =
|
|
4770
|
+
var Grid = React27.forwardRef(
|
|
3836
4771
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
3837
|
-
return (0,
|
|
4772
|
+
return (0, import_use_render4.useRender)({
|
|
3838
4773
|
ref,
|
|
3839
4774
|
defaultTagName: "div",
|
|
3840
4775
|
render: asChild ? children : void 0,
|
|
3841
|
-
props: (0,
|
|
4776
|
+
props: (0, import_merge_props4.mergeProps)(
|
|
3842
4777
|
{
|
|
3843
4778
|
className: cn(
|
|
3844
4779
|
gridVariants({ align, justify }),
|
|
@@ -3859,11 +4794,11 @@ var Grid = React25.forwardRef(
|
|
|
3859
4794
|
Grid.displayName = "Grid";
|
|
3860
4795
|
|
|
3861
4796
|
// src/components/box/Box.tsx
|
|
3862
|
-
var
|
|
3863
|
-
var
|
|
3864
|
-
var
|
|
3865
|
-
var
|
|
3866
|
-
var boxVariants = (0,
|
|
4797
|
+
var React28 = __toESM(require("react"), 1);
|
|
4798
|
+
var import_class_variance_authority20 = require("class-variance-authority");
|
|
4799
|
+
var import_merge_props5 = require("@base-ui/react/merge-props");
|
|
4800
|
+
var import_use_render5 = require("@base-ui/react/use-render");
|
|
4801
|
+
var boxVariants = (0, import_class_variance_authority20.cva)("flex", {
|
|
3867
4802
|
variants: {
|
|
3868
4803
|
direction: {
|
|
3869
4804
|
row: "flex-row",
|
|
@@ -3899,13 +4834,13 @@ var boxVariants = (0, import_class_variance_authority19.cva)("flex", {
|
|
|
3899
4834
|
wrap: "nowrap"
|
|
3900
4835
|
}
|
|
3901
4836
|
});
|
|
3902
|
-
var Box =
|
|
4837
|
+
var Box = React28.forwardRef(
|
|
3903
4838
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
3904
|
-
return (0,
|
|
4839
|
+
return (0, import_use_render5.useRender)({
|
|
3905
4840
|
ref,
|
|
3906
4841
|
defaultTagName: "div",
|
|
3907
4842
|
render: asChild ? children : void 0,
|
|
3908
|
-
props: (0,
|
|
4843
|
+
props: (0, import_merge_props5.mergeProps)(
|
|
3909
4844
|
{
|
|
3910
4845
|
className: cn(
|
|
3911
4846
|
boxVariants({ direction, align, justify, wrap }),
|
|
@@ -3922,22 +4857,22 @@ var Box = React26.forwardRef(
|
|
|
3922
4857
|
Box.displayName = "Box";
|
|
3923
4858
|
|
|
3924
4859
|
// src/components/language-select/LanguageSelect.tsx
|
|
3925
|
-
var
|
|
3926
|
-
var
|
|
3927
|
-
var
|
|
3928
|
-
var LanguageSelect =
|
|
4860
|
+
var React29 = __toESM(require("react"), 1);
|
|
4861
|
+
var import_lucide_react15 = require("lucide-react");
|
|
4862
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4863
|
+
var LanguageSelect = React29.forwardRef(
|
|
3929
4864
|
({ className, options, value, onValueChange }, ref) => {
|
|
3930
|
-
return /* @__PURE__ */ (0,
|
|
3931
|
-
/* @__PURE__ */ (0,
|
|
3932
|
-
/* @__PURE__ */ (0,
|
|
3933
|
-
/* @__PURE__ */ (0,
|
|
4865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(DropdownMenu, { children: [
|
|
4866
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DropdownMenuTrigger, { ref, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Button2, { variant: "outline", size: "icon", className, "aria-label": "Select language", children: [
|
|
4867
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "sr-only", children: "Select language" }),
|
|
4868
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Icon, { icon: import_lucide_react15.Globe, size: 16, "aria-hidden": true })
|
|
3934
4869
|
] }) }),
|
|
3935
|
-
/* @__PURE__ */ (0,
|
|
4870
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DropdownMenuContent, { align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3936
4871
|
DropdownMenuRadioGroup,
|
|
3937
4872
|
{
|
|
3938
4873
|
value,
|
|
3939
4874
|
onValueChange: onValueChange ? (v) => onValueChange(v) : void 0,
|
|
3940
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
4875
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3941
4876
|
DropdownMenuRadioItem,
|
|
3942
4877
|
{
|
|
3943
4878
|
value: option.value,
|
|
@@ -3955,13 +4890,13 @@ var LanguageSelect = React27.forwardRef(
|
|
|
3955
4890
|
LanguageSelect.displayName = "LanguageSelect";
|
|
3956
4891
|
|
|
3957
4892
|
// src/components/list/List.tsx
|
|
3958
|
-
var
|
|
4893
|
+
var React31 = __toESM(require("react"), 1);
|
|
3959
4894
|
|
|
3960
4895
|
// src/components/divider/Divider.tsx
|
|
3961
|
-
var
|
|
3962
|
-
var
|
|
3963
|
-
var
|
|
3964
|
-
var dividerVariants = (0,
|
|
4896
|
+
var React30 = __toESM(require("react"), 1);
|
|
4897
|
+
var import_class_variance_authority21 = require("class-variance-authority");
|
|
4898
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
4899
|
+
var dividerVariants = (0, import_class_variance_authority21.cva)("", {
|
|
3965
4900
|
variants: {
|
|
3966
4901
|
variant: {
|
|
3967
4902
|
default: "bg-berget-separator",
|
|
@@ -3981,7 +4916,7 @@ var dividerVariants = (0, import_class_variance_authority20.cva)("", {
|
|
|
3981
4916
|
size: "thin"
|
|
3982
4917
|
}
|
|
3983
4918
|
});
|
|
3984
|
-
var Divider =
|
|
4919
|
+
var Divider = React30.forwardRef(
|
|
3985
4920
|
({
|
|
3986
4921
|
className,
|
|
3987
4922
|
orientation = "horizontal",
|
|
@@ -3992,16 +4927,16 @@ var Divider = React28.forwardRef(
|
|
|
3992
4927
|
...props
|
|
3993
4928
|
}, ref) => {
|
|
3994
4929
|
if (label) {
|
|
3995
|
-
return /* @__PURE__ */ (0,
|
|
3996
|
-
labelPosition !== "right" && /* @__PURE__ */ (0,
|
|
4930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
4931
|
+
labelPosition !== "right" && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3997
4932
|
Separator,
|
|
3998
4933
|
{
|
|
3999
4934
|
orientation: "horizontal",
|
|
4000
4935
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
4001
4936
|
}
|
|
4002
4937
|
),
|
|
4003
|
-
/* @__PURE__ */ (0,
|
|
4004
|
-
labelPosition !== "left" && /* @__PURE__ */ (0,
|
|
4938
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
4939
|
+
labelPosition !== "left" && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4005
4940
|
Separator,
|
|
4006
4941
|
{
|
|
4007
4942
|
orientation: "horizontal",
|
|
@@ -4010,7 +4945,7 @@ var Divider = React28.forwardRef(
|
|
|
4010
4945
|
)
|
|
4011
4946
|
] });
|
|
4012
4947
|
}
|
|
4013
|
-
return /* @__PURE__ */ (0,
|
|
4948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4014
4949
|
Separator,
|
|
4015
4950
|
{
|
|
4016
4951
|
ref,
|
|
@@ -4027,20 +4962,20 @@ var Divider = React28.forwardRef(
|
|
|
4027
4962
|
Divider.displayName = "Divider";
|
|
4028
4963
|
|
|
4029
4964
|
// src/components/list/List.tsx
|
|
4030
|
-
var
|
|
4031
|
-
var
|
|
4032
|
-
var List =
|
|
4965
|
+
var import_lucide_react16 = require("lucide-react");
|
|
4966
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
4967
|
+
var List = React31.forwardRef(
|
|
4033
4968
|
({ className, children, ...props }, ref) => {
|
|
4034
|
-
const childrenArray =
|
|
4035
|
-
return /* @__PURE__ */ (0,
|
|
4969
|
+
const childrenArray = React31.Children.toArray(children);
|
|
4970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(React31.Fragment, { children: [
|
|
4036
4971
|
child,
|
|
4037
|
-
index < childrenArray.length - 1 && /* @__PURE__ */ (0,
|
|
4972
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Divider, { variant: "subtle" })
|
|
4038
4973
|
] }, index)) });
|
|
4039
4974
|
}
|
|
4040
4975
|
);
|
|
4041
4976
|
List.displayName = "List";
|
|
4042
|
-
var ListItem =
|
|
4043
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0,
|
|
4977
|
+
var ListItem = React31.forwardRef(
|
|
4978
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
4044
4979
|
"div",
|
|
4045
4980
|
{
|
|
4046
4981
|
ref,
|
|
@@ -4051,15 +4986,15 @@ var ListItem = React29.forwardRef(
|
|
|
4051
4986
|
),
|
|
4052
4987
|
...props,
|
|
4053
4988
|
children: [
|
|
4054
|
-
icon && /* @__PURE__ */ (0,
|
|
4055
|
-
/* @__PURE__ */ (0,
|
|
4989
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
4990
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 min-w-0", children })
|
|
4056
4991
|
]
|
|
4057
4992
|
}
|
|
4058
4993
|
)
|
|
4059
4994
|
);
|
|
4060
4995
|
ListItem.displayName = "ListItem";
|
|
4061
|
-
var ListHeader =
|
|
4062
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
4996
|
+
var ListHeader = React31.forwardRef(
|
|
4997
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
4063
4998
|
"div",
|
|
4064
4999
|
{
|
|
4065
5000
|
ref,
|
|
@@ -4070,11 +5005,11 @@ var ListHeader = React29.forwardRef(
|
|
|
4070
5005
|
)
|
|
4071
5006
|
);
|
|
4072
5007
|
ListHeader.displayName = "ListHeader";
|
|
4073
|
-
var FeatureList =
|
|
5008
|
+
var FeatureList = React31.forwardRef(
|
|
4074
5009
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
4075
|
-
return /* @__PURE__ */ (0,
|
|
4076
|
-
variant === "bullet" ? /* @__PURE__ */ (0,
|
|
4077
|
-
/* @__PURE__ */ (0,
|
|
5010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("li", { className: "flex items-start gap-fluid-md", children: [
|
|
5011
|
+
variant === "bullet" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon: import_lucide_react16.Check, size: 24, className: "text-berget-logo-light" }) }),
|
|
5012
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Typography, { variant: "body", color: "muted", children: item })
|
|
4078
5013
|
] }, index)) });
|
|
4079
5014
|
}
|
|
4080
5015
|
);
|
|
@@ -4082,7 +5017,7 @@ FeatureList.displayName = "FeatureList";
|
|
|
4082
5017
|
|
|
4083
5018
|
// src/components/code-block/CodeBlock.tsx
|
|
4084
5019
|
var import_react2 = require("react");
|
|
4085
|
-
var
|
|
5020
|
+
var import_lucide_react17 = require("lucide-react");
|
|
4086
5021
|
|
|
4087
5022
|
// src/lib/shiki.ts
|
|
4088
5023
|
var import_core2 = require("shiki/core");
|
|
@@ -4123,7 +5058,7 @@ function getHighlighter() {
|
|
|
4123
5058
|
}
|
|
4124
5059
|
|
|
4125
5060
|
// src/components/code-block/CodeBlock.tsx
|
|
4126
|
-
var
|
|
5061
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4127
5062
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
4128
5063
|
const [html, setHtml] = (0, import_react2.useState)(null);
|
|
4129
5064
|
const [copied, setCopied] = (0, import_react2.useState)(false);
|
|
@@ -4139,16 +5074,16 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4139
5074
|
setCopied(true);
|
|
4140
5075
|
setTimeout(() => setCopied(false), 2e3);
|
|
4141
5076
|
}, [code]);
|
|
4142
|
-
const copyButton = /* @__PURE__ */ (0,
|
|
5077
|
+
const copyButton = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4143
5078
|
"button",
|
|
4144
5079
|
{
|
|
4145
5080
|
onClick: handleCopy,
|
|
4146
5081
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
4147
5082
|
"aria-label": "Copy code",
|
|
4148
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
5083
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react17.Check, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react17.Copy, { className: "w-3.5 h-3.5" })
|
|
4149
5084
|
}
|
|
4150
5085
|
);
|
|
4151
|
-
return /* @__PURE__ */ (0,
|
|
5086
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4152
5087
|
"div",
|
|
4153
5088
|
{
|
|
4154
5089
|
className: cn(
|
|
@@ -4156,25 +5091,25 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4156
5091
|
className
|
|
4157
5092
|
),
|
|
4158
5093
|
children: [
|
|
4159
|
-
title && /* @__PURE__ */ (0,
|
|
4160
|
-
/* @__PURE__ */ (0,
|
|
4161
|
-
html ? /* @__PURE__ */ (0,
|
|
5094
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("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__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-berget-muted-foreground", children: title }) }),
|
|
5095
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
5096
|
+
html ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4162
5097
|
"div",
|
|
4163
5098
|
{
|
|
4164
5099
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
4165
5100
|
dangerouslySetInnerHTML: { __html: html }
|
|
4166
5101
|
}
|
|
4167
|
-
) : /* @__PURE__ */ (0,
|
|
5102
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("code", { children: code }) })
|
|
4168
5103
|
]
|
|
4169
5104
|
}
|
|
4170
5105
|
);
|
|
4171
5106
|
}
|
|
4172
5107
|
|
|
4173
5108
|
// src/components/window-frame/WindowFrame.tsx
|
|
4174
|
-
var
|
|
5109
|
+
var React32 = __toESM(require("react"), 1);
|
|
4175
5110
|
var import_react3 = require("react");
|
|
4176
|
-
var
|
|
4177
|
-
var WindowFrame =
|
|
5111
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
5112
|
+
var WindowFrame = React32.forwardRef(
|
|
4178
5113
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
4179
5114
|
const [internalActive, setInternalActive] = (0, import_react3.useState)(tabs?.[0]?.id ?? "");
|
|
4180
5115
|
const currentTab = activeTab ?? internalActive;
|
|
@@ -4185,7 +5120,7 @@ var WindowFrame = React30.forwardRef(
|
|
|
4185
5120
|
setInternalActive(id);
|
|
4186
5121
|
}
|
|
4187
5122
|
};
|
|
4188
|
-
return /* @__PURE__ */ (0,
|
|
5123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
4189
5124
|
"div",
|
|
4190
5125
|
{
|
|
4191
5126
|
ref,
|
|
@@ -4195,13 +5130,13 @@ var WindowFrame = React30.forwardRef(
|
|
|
4195
5130
|
),
|
|
4196
5131
|
...props,
|
|
4197
5132
|
children: [
|
|
4198
|
-
/* @__PURE__ */ (0,
|
|
4199
|
-
/* @__PURE__ */ (0,
|
|
4200
|
-
/* @__PURE__ */ (0,
|
|
4201
|
-
/* @__PURE__ */ (0,
|
|
4202
|
-
/* @__PURE__ */ (0,
|
|
5133
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
|
|
5134
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
5135
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
|
|
5136
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
|
|
5137
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
|
|
4203
5138
|
] }),
|
|
4204
|
-
tabs && tabs.length > 0 ? /* @__PURE__ */ (0,
|
|
5139
|
+
tabs && tabs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
4205
5140
|
"button",
|
|
4206
5141
|
{
|
|
4207
5142
|
type: "button",
|
|
@@ -4213,9 +5148,9 @@ var WindowFrame = React30.forwardRef(
|
|
|
4213
5148
|
children: tab.label
|
|
4214
5149
|
},
|
|
4215
5150
|
tab.id
|
|
4216
|
-
)) }) : /* @__PURE__ */ (0,
|
|
5151
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
4217
5152
|
] }),
|
|
4218
|
-
/* @__PURE__ */ (0,
|
|
5153
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children })
|
|
4219
5154
|
]
|
|
4220
5155
|
}
|
|
4221
5156
|
);
|
|
@@ -4225,7 +5160,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
4225
5160
|
|
|
4226
5161
|
// src/components/fog-illustration/FogIllustration.tsx
|
|
4227
5162
|
var import_react4 = require("react");
|
|
4228
|
-
var
|
|
5163
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4229
5164
|
var FOG_BRAND_PALETTE = {
|
|
4230
5165
|
ink: "#171a1a",
|
|
4231
5166
|
milk: "#f7f5ed",
|
|
@@ -4538,7 +5473,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4538
5473
|
gl.deleteFramebuffer(fbo);
|
|
4539
5474
|
};
|
|
4540
5475
|
}, []);
|
|
4541
|
-
return /* @__PURE__ */ (0,
|
|
5476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
4542
5477
|
};
|
|
4543
5478
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4544
5479
|
0 && (module.exports = {
|
|
@@ -4641,6 +5576,31 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4641
5576
|
NavigationMenuPositioner,
|
|
4642
5577
|
NavigationMenuTrigger,
|
|
4643
5578
|
Select,
|
|
5579
|
+
Sidebar,
|
|
5580
|
+
SidebarContent,
|
|
5581
|
+
SidebarFooter,
|
|
5582
|
+
SidebarGroup,
|
|
5583
|
+
SidebarGroupAction,
|
|
5584
|
+
SidebarGroupContent,
|
|
5585
|
+
SidebarGroupLabel,
|
|
5586
|
+
SidebarHeader,
|
|
5587
|
+
SidebarInput,
|
|
5588
|
+
SidebarInset,
|
|
5589
|
+
SidebarLogo,
|
|
5590
|
+
SidebarMenu,
|
|
5591
|
+
SidebarMenuAction,
|
|
5592
|
+
SidebarMenuBadge,
|
|
5593
|
+
SidebarMenuButton,
|
|
5594
|
+
SidebarMenuItem,
|
|
5595
|
+
SidebarMenuSkeleton,
|
|
5596
|
+
SidebarMenuSub,
|
|
5597
|
+
SidebarMenuSubButton,
|
|
5598
|
+
SidebarMenuSubItem,
|
|
5599
|
+
SidebarPageHeader,
|
|
5600
|
+
SidebarProvider,
|
|
5601
|
+
SidebarRail,
|
|
5602
|
+
SidebarSeparator,
|
|
5603
|
+
SidebarTrigger,
|
|
4644
5604
|
Switch,
|
|
4645
5605
|
Table,
|
|
4646
5606
|
TableBody,
|
|
@@ -4674,6 +5634,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4674
5634
|
switchThumbVariants,
|
|
4675
5635
|
textAreaVariants,
|
|
4676
5636
|
typographyVariants,
|
|
5637
|
+
useSidebar,
|
|
4677
5638
|
useTheme
|
|
4678
5639
|
});
|
|
4679
5640
|
//# sourceMappingURL=index.cjs.map
|