@bergetai/ui 0.11.3 → 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 +1517 -540
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +118 -3
- package/dist/index.d.ts +118 -3
- package/dist/index.js +1382 -431
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +60 -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);
|
|
@@ -484,6 +510,21 @@ function brandVariantClasses(variant) {
|
|
|
484
510
|
disabledClasses,
|
|
485
511
|
"disabled:bg-transparent disabled:border-berget-button-disabled-border"
|
|
486
512
|
);
|
|
513
|
+
case "ghost":
|
|
514
|
+
return cn(
|
|
515
|
+
"bg-transparent text-berget-button-ghost-fg",
|
|
516
|
+
// Pin the foreground on hover — the underlying primitive ghost adds
|
|
517
|
+
// hover:text-foreground, which is the same value here but pinned
|
|
518
|
+
// explicitly for parity with the other fg-token variants.
|
|
519
|
+
"hover:bg-berget-button-ghost-hover hover:text-berget-button-ghost-fg",
|
|
520
|
+
// The dark:hover twin neutralises the primitive ghost's
|
|
521
|
+
// dark:hover:bg-muted/50 so only the token fill applies.
|
|
522
|
+
"dark:hover:bg-berget-button-ghost-hover",
|
|
523
|
+
"active:bg-berget-button-ghost-active dark:active:bg-berget-button-ghost-active",
|
|
524
|
+
"focus-visible:border-transparent",
|
|
525
|
+
disabledClasses,
|
|
526
|
+
"disabled:bg-transparent"
|
|
527
|
+
);
|
|
487
528
|
case "link":
|
|
488
529
|
return cn(
|
|
489
530
|
"h-auto bg-transparent p-0 text-berget-button-link-fg font-medium underline-offset-4 shadow-none",
|
|
@@ -518,6 +559,7 @@ function primitiveVariant(variant) {
|
|
|
518
559
|
case "primary":
|
|
519
560
|
case "destructive":
|
|
520
561
|
case "outline":
|
|
562
|
+
case "ghost":
|
|
521
563
|
return "ghost";
|
|
522
564
|
default:
|
|
523
565
|
return variant;
|
|
@@ -838,7 +880,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
838
880
|
({ variant = "logotype", color = "auto", size = 48, className, ...props }, ref) => {
|
|
839
881
|
const fillColor = color === "auto" ? "var(--berget-logo-light)" : color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
840
882
|
if (variant === "symbol") {
|
|
841
|
-
const aspectRatio2 =
|
|
883
|
+
const aspectRatio2 = 428 / 386;
|
|
842
884
|
const width2 = size * aspectRatio2;
|
|
843
885
|
const height2 = size;
|
|
844
886
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
@@ -847,7 +889,7 @@ var BergetLogo = React7.forwardRef(
|
|
|
847
889
|
ref,
|
|
848
890
|
width: width2,
|
|
849
891
|
height: height2,
|
|
850
|
-
viewBox: "
|
|
892
|
+
viewBox: "18 17 428 386",
|
|
851
893
|
fill: "none",
|
|
852
894
|
xmlns: "http://www.w3.org/2000/svg",
|
|
853
895
|
role: "img",
|
|
@@ -1742,237 +1784,1167 @@ function NavigationMenuPositioner({
|
|
|
1742
1784
|
) });
|
|
1743
1785
|
}
|
|
1744
1786
|
|
|
1745
|
-
// src/
|
|
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
|
|
1746
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
|
+
}
|
|
1747
1810
|
|
|
1748
|
-
// src/primitives/
|
|
1811
|
+
// src/primitives/input.tsx
|
|
1812
|
+
var import_input = require("@base-ui/react/input");
|
|
1749
1813
|
var import_cn5 = require("cn");
|
|
1750
1814
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1751
|
-
function
|
|
1752
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1753
|
-
"div",
|
|
1754
|
-
{
|
|
1755
|
-
"data-slot": "table-container",
|
|
1756
|
-
className: "relative w-full overflow-x-auto",
|
|
1757
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1758
|
-
"table",
|
|
1759
|
-
{
|
|
1760
|
-
"data-slot": "table",
|
|
1761
|
-
className: (0, import_cn5.cn)("w-full caption-bottom text-sm", className),
|
|
1762
|
-
...props
|
|
1763
|
-
}
|
|
1764
|
-
)
|
|
1765
|
-
}
|
|
1766
|
-
);
|
|
1767
|
-
}
|
|
1768
|
-
function TableHeader({ className, ...props }) {
|
|
1769
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1770
|
-
"thead",
|
|
1771
|
-
{
|
|
1772
|
-
"data-slot": "table-header",
|
|
1773
|
-
className: (0, import_cn5.cn)("[&_tr]:border-b", className),
|
|
1774
|
-
...props
|
|
1775
|
-
}
|
|
1776
|
-
);
|
|
1777
|
-
}
|
|
1778
|
-
function TableBody({ className, ...props }) {
|
|
1815
|
+
function Input({ className, type, ...props }) {
|
|
1779
1816
|
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1780
|
-
|
|
1817
|
+
import_input.Input,
|
|
1781
1818
|
{
|
|
1782
|
-
|
|
1783
|
-
|
|
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
|
+
),
|
|
1784
1825
|
...props
|
|
1785
1826
|
}
|
|
1786
1827
|
);
|
|
1787
1828
|
}
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
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,
|
|
1791
1841
|
{
|
|
1792
|
-
"data-slot": "
|
|
1793
|
-
|
|
1794
|
-
|
|
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",
|
|
1795
1846
|
className
|
|
1796
1847
|
),
|
|
1797
1848
|
...props
|
|
1798
1849
|
}
|
|
1799
1850
|
);
|
|
1800
1851
|
}
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
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,
|
|
1804
1867
|
{
|
|
1805
|
-
"data-slot": "
|
|
1806
|
-
className: (0,
|
|
1807
|
-
"
|
|
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",
|
|
1808
1871
|
className
|
|
1809
1872
|
),
|
|
1810
1873
|
...props
|
|
1811
1874
|
}
|
|
1812
1875
|
);
|
|
1813
1876
|
}
|
|
1814
|
-
function
|
|
1815
|
-
|
|
1816
|
-
|
|
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",
|
|
1817
1927
|
{
|
|
1818
|
-
"data-slot": "
|
|
1819
|
-
className: (0,
|
|
1820
|
-
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
|
|
1821
|
-
className
|
|
1822
|
-
),
|
|
1928
|
+
"data-slot": "sheet-header",
|
|
1929
|
+
className: (0, import_cn7.cn)("flex flex-col gap-0.5 p-4", className),
|
|
1823
1930
|
...props
|
|
1824
1931
|
}
|
|
1825
1932
|
);
|
|
1826
1933
|
}
|
|
1827
|
-
function
|
|
1828
|
-
return /* @__PURE__ */ (0,
|
|
1829
|
-
|
|
1934
|
+
function SheetTitle({ className, ...props }) {
|
|
1935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1936
|
+
import_dialog2.Dialog.Title,
|
|
1830
1937
|
{
|
|
1831
|
-
"data-slot": "
|
|
1832
|
-
className: (0,
|
|
1833
|
-
"
|
|
1938
|
+
"data-slot": "sheet-title",
|
|
1939
|
+
className: (0, import_cn7.cn)(
|
|
1940
|
+
"text-base font-medium text-foreground",
|
|
1834
1941
|
className
|
|
1835
1942
|
),
|
|
1836
1943
|
...props
|
|
1837
1944
|
}
|
|
1838
1945
|
);
|
|
1839
1946
|
}
|
|
1840
|
-
function
|
|
1947
|
+
function SheetDescription({
|
|
1841
1948
|
className,
|
|
1842
1949
|
...props
|
|
1843
1950
|
}) {
|
|
1844
|
-
return /* @__PURE__ */ (0,
|
|
1845
|
-
|
|
1951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1952
|
+
import_dialog2.Dialog.Description,
|
|
1846
1953
|
{
|
|
1847
|
-
"data-slot": "
|
|
1848
|
-
className: (0,
|
|
1954
|
+
"data-slot": "sheet-description",
|
|
1955
|
+
className: (0, import_cn7.cn)("text-sm text-muted-foreground", className),
|
|
1849
1956
|
...props
|
|
1850
1957
|
}
|
|
1851
1958
|
);
|
|
1852
1959
|
}
|
|
1853
1960
|
|
|
1854
|
-
// src/
|
|
1855
|
-
var
|
|
1856
|
-
var
|
|
1857
|
-
|
|
1858
|
-
)
|
|
1859
|
-
|
|
1860
|
-
var TableHeader2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1861
|
-
TableHeader,
|
|
1862
|
-
{
|
|
1863
|
-
ref,
|
|
1864
|
-
className: cn("[&_tr]:border-b border-berget-table-border", className),
|
|
1865
|
-
...props
|
|
1866
|
-
}
|
|
1867
|
-
));
|
|
1868
|
-
TableHeader2.displayName = "TableHeader";
|
|
1869
|
-
var TableBody2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1870
|
-
TableBody,
|
|
1871
|
-
{
|
|
1872
|
-
ref,
|
|
1873
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
1874
|
-
...props
|
|
1875
|
-
}
|
|
1876
|
-
));
|
|
1877
|
-
TableBody2.displayName = "TableBody";
|
|
1878
|
-
var TableFooter2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1879
|
-
TableFooter,
|
|
1880
|
-
{
|
|
1881
|
-
ref,
|
|
1882
|
-
className: cn(
|
|
1883
|
-
"border-t border-berget-table-border bg-berget-table-footer-bg font-medium [&>tr]:last:border-0",
|
|
1884
|
-
className
|
|
1885
|
-
),
|
|
1886
|
-
...props
|
|
1887
|
-
}
|
|
1888
|
-
));
|
|
1889
|
-
TableFooter2.displayName = "TableFooter";
|
|
1890
|
-
var TableRow2 = React14.forwardRef(
|
|
1891
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1892
|
-
TableRow,
|
|
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",
|
|
1893
1967
|
{
|
|
1894
|
-
|
|
1895
|
-
className: cn(
|
|
1896
|
-
"border-b border-berget-table-border transition-colors hover:bg-berget-table-row-hover data-[state=selected]:bg-berget-table-row-selected",
|
|
1897
|
-
className
|
|
1898
|
-
),
|
|
1968
|
+
"data-slot": "skeleton",
|
|
1969
|
+
className: (0, import_cn8.cn)("animate-pulse rounded-md bg-muted", className),
|
|
1899
1970
|
...props
|
|
1900
1971
|
}
|
|
1901
|
-
)
|
|
1902
|
-
|
|
1903
|
-
TableRow2.displayName = "TableRow";
|
|
1904
|
-
var TableHead2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1905
|
-
TableHead,
|
|
1906
|
-
{
|
|
1907
|
-
ref,
|
|
1908
|
-
className: cn(
|
|
1909
|
-
"h-12 px-4 text-left align-middle font-medium text-berget-table-head-text [&:has([role=checkbox])]:pr-0",
|
|
1910
|
-
className
|
|
1911
|
-
),
|
|
1912
|
-
...props
|
|
1913
|
-
}
|
|
1914
|
-
));
|
|
1915
|
-
TableHead2.displayName = "TableHead";
|
|
1916
|
-
var TableCell2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1917
|
-
TableCell,
|
|
1918
|
-
{
|
|
1919
|
-
ref,
|
|
1920
|
-
className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
|
|
1921
|
-
...props
|
|
1922
|
-
}
|
|
1923
|
-
));
|
|
1924
|
-
TableCell2.displayName = "TableCell";
|
|
1925
|
-
var TableCaption2 = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1926
|
-
TableCaption,
|
|
1927
|
-
{
|
|
1928
|
-
ref,
|
|
1929
|
-
className: cn("mt-4 text-sm text-berget-table-caption-text", className),
|
|
1930
|
-
...props
|
|
1931
|
-
}
|
|
1932
|
-
));
|
|
1933
|
-
TableCaption2.displayName = "TableCaption";
|
|
1934
|
-
|
|
1935
|
-
// src/components/item/Item.tsx
|
|
1936
|
-
var React15 = __toESM(require("react"), 1);
|
|
1937
|
-
|
|
1938
|
-
// src/primitives/item.tsx
|
|
1939
|
-
var import_merge_props = require("@base-ui/react/merge-props");
|
|
1940
|
-
var import_use_render = require("@base-ui/react/use-render");
|
|
1941
|
-
var import_class_variance_authority9 = require("class-variance-authority");
|
|
1942
|
-
var import_cn7 = require("cn");
|
|
1972
|
+
);
|
|
1973
|
+
}
|
|
1943
1974
|
|
|
1944
|
-
// src/primitives/
|
|
1945
|
-
var
|
|
1946
|
-
var
|
|
1947
|
-
var
|
|
1948
|
-
function
|
|
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({
|
|
1949
1986
|
className,
|
|
1950
|
-
|
|
1987
|
+
side = "top",
|
|
1988
|
+
sideOffset = 4,
|
|
1989
|
+
align = "center",
|
|
1990
|
+
alignOffset = 0,
|
|
1991
|
+
children,
|
|
1951
1992
|
...props
|
|
1952
1993
|
}) {
|
|
1953
|
-
return /* @__PURE__ */ (0,
|
|
1954
|
-
|
|
1994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1995
|
+
import_tooltip.Tooltip.Positioner,
|
|
1955
1996
|
{
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
)
|
|
1962
|
-
|
|
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
|
+
)
|
|
1963
2017
|
}
|
|
1964
|
-
);
|
|
2018
|
+
) });
|
|
1965
2019
|
}
|
|
1966
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
|
+
|
|
2742
|
+
// src/components/table/Table.tsx
|
|
2743
|
+
var React16 = __toESM(require("react"), 1);
|
|
2744
|
+
|
|
2745
|
+
// src/primitives/table.tsx
|
|
2746
|
+
var import_cn11 = require("cn");
|
|
2747
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2748
|
+
function Table({ className, ...props }) {
|
|
2749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2750
|
+
"div",
|
|
2751
|
+
{
|
|
2752
|
+
"data-slot": "table-container",
|
|
2753
|
+
className: "relative w-full overflow-x-auto",
|
|
2754
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2755
|
+
"table",
|
|
2756
|
+
{
|
|
2757
|
+
"data-slot": "table",
|
|
2758
|
+
className: (0, import_cn11.cn)("w-full caption-bottom text-sm", className),
|
|
2759
|
+
...props
|
|
2760
|
+
}
|
|
2761
|
+
)
|
|
2762
|
+
}
|
|
2763
|
+
);
|
|
2764
|
+
}
|
|
2765
|
+
function TableHeader({ className, ...props }) {
|
|
2766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2767
|
+
"thead",
|
|
2768
|
+
{
|
|
2769
|
+
"data-slot": "table-header",
|
|
2770
|
+
className: (0, import_cn11.cn)("[&_tr]:border-b", className),
|
|
2771
|
+
...props
|
|
2772
|
+
}
|
|
2773
|
+
);
|
|
2774
|
+
}
|
|
2775
|
+
function TableBody({ className, ...props }) {
|
|
2776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2777
|
+
"tbody",
|
|
2778
|
+
{
|
|
2779
|
+
"data-slot": "table-body",
|
|
2780
|
+
className: (0, import_cn11.cn)("[&_tr:last-child]:border-0", className),
|
|
2781
|
+
...props
|
|
2782
|
+
}
|
|
2783
|
+
);
|
|
2784
|
+
}
|
|
2785
|
+
function TableFooter({ className, ...props }) {
|
|
2786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2787
|
+
"tfoot",
|
|
2788
|
+
{
|
|
2789
|
+
"data-slot": "table-footer",
|
|
2790
|
+
className: (0, import_cn11.cn)(
|
|
2791
|
+
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
2792
|
+
className
|
|
2793
|
+
),
|
|
2794
|
+
...props
|
|
2795
|
+
}
|
|
2796
|
+
);
|
|
2797
|
+
}
|
|
2798
|
+
function TableRow({ className, ...props }) {
|
|
2799
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2800
|
+
"tr",
|
|
2801
|
+
{
|
|
2802
|
+
"data-slot": "table-row",
|
|
2803
|
+
className: (0, import_cn11.cn)(
|
|
2804
|
+
"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",
|
|
2805
|
+
className
|
|
2806
|
+
),
|
|
2807
|
+
...props
|
|
2808
|
+
}
|
|
2809
|
+
);
|
|
2810
|
+
}
|
|
2811
|
+
function TableHead({ className, ...props }) {
|
|
2812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2813
|
+
"th",
|
|
2814
|
+
{
|
|
2815
|
+
"data-slot": "table-head",
|
|
2816
|
+
className: (0, import_cn11.cn)(
|
|
2817
|
+
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
|
|
2818
|
+
className
|
|
2819
|
+
),
|
|
2820
|
+
...props
|
|
2821
|
+
}
|
|
2822
|
+
);
|
|
2823
|
+
}
|
|
2824
|
+
function TableCell({ className, ...props }) {
|
|
2825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2826
|
+
"td",
|
|
2827
|
+
{
|
|
2828
|
+
"data-slot": "table-cell",
|
|
2829
|
+
className: (0, import_cn11.cn)(
|
|
2830
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
2831
|
+
className
|
|
2832
|
+
),
|
|
2833
|
+
...props
|
|
2834
|
+
}
|
|
2835
|
+
);
|
|
2836
|
+
}
|
|
2837
|
+
function TableCaption({
|
|
2838
|
+
className,
|
|
2839
|
+
...props
|
|
2840
|
+
}) {
|
|
2841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2842
|
+
"caption",
|
|
2843
|
+
{
|
|
2844
|
+
"data-slot": "table-caption",
|
|
2845
|
+
className: (0, import_cn11.cn)("mt-4 text-sm text-muted-foreground", className),
|
|
2846
|
+
...props
|
|
2847
|
+
}
|
|
2848
|
+
);
|
|
2849
|
+
}
|
|
2850
|
+
|
|
2851
|
+
// src/components/table/Table.tsx
|
|
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 })
|
|
2855
|
+
);
|
|
2856
|
+
Table2.displayName = "Table";
|
|
2857
|
+
var TableHeader2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2858
|
+
TableHeader,
|
|
2859
|
+
{
|
|
2860
|
+
ref,
|
|
2861
|
+
className: cn("[&_tr]:border-b border-berget-table-border", className),
|
|
2862
|
+
...props
|
|
2863
|
+
}
|
|
2864
|
+
));
|
|
2865
|
+
TableHeader2.displayName = "TableHeader";
|
|
2866
|
+
var TableBody2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2867
|
+
TableBody,
|
|
2868
|
+
{
|
|
2869
|
+
ref,
|
|
2870
|
+
className: cn("[&_tr:last-child]:border-0", className),
|
|
2871
|
+
...props
|
|
2872
|
+
}
|
|
2873
|
+
));
|
|
2874
|
+
TableBody2.displayName = "TableBody";
|
|
2875
|
+
var TableFooter2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2876
|
+
TableFooter,
|
|
2877
|
+
{
|
|
2878
|
+
ref,
|
|
2879
|
+
className: cn(
|
|
2880
|
+
"border-t border-berget-table-border bg-berget-table-footer-bg font-medium [&>tr]:last:border-0",
|
|
2881
|
+
className
|
|
2882
|
+
),
|
|
2883
|
+
...props
|
|
2884
|
+
}
|
|
2885
|
+
));
|
|
2886
|
+
TableFooter2.displayName = "TableFooter";
|
|
2887
|
+
var TableRow2 = React16.forwardRef(
|
|
2888
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2889
|
+
TableRow,
|
|
2890
|
+
{
|
|
2891
|
+
ref,
|
|
2892
|
+
className: cn(
|
|
2893
|
+
"border-b border-berget-table-border transition-colors hover:bg-berget-table-row-hover data-[state=selected]:bg-berget-table-row-selected",
|
|
2894
|
+
className
|
|
2895
|
+
),
|
|
2896
|
+
...props
|
|
2897
|
+
}
|
|
2898
|
+
)
|
|
2899
|
+
);
|
|
2900
|
+
TableRow2.displayName = "TableRow";
|
|
2901
|
+
var TableHead2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2902
|
+
TableHead,
|
|
2903
|
+
{
|
|
2904
|
+
ref,
|
|
2905
|
+
className: cn(
|
|
2906
|
+
"h-12 px-4 text-left align-middle font-medium text-berget-table-head-text [&:has([role=checkbox])]:pr-0",
|
|
2907
|
+
className
|
|
2908
|
+
),
|
|
2909
|
+
...props
|
|
2910
|
+
}
|
|
2911
|
+
));
|
|
2912
|
+
TableHead2.displayName = "TableHead";
|
|
2913
|
+
var TableCell2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2914
|
+
TableCell,
|
|
2915
|
+
{
|
|
2916
|
+
ref,
|
|
2917
|
+
className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
|
|
2918
|
+
...props
|
|
2919
|
+
}
|
|
2920
|
+
));
|
|
2921
|
+
TableCell2.displayName = "TableCell";
|
|
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);
|
|
2934
|
+
|
|
1967
2935
|
// src/primitives/item.tsx
|
|
1968
|
-
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");
|
|
1969
2941
|
function ItemGroup({ className, ...props }) {
|
|
1970
|
-
return /* @__PURE__ */ (0,
|
|
2942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1971
2943
|
"div",
|
|
1972
2944
|
{
|
|
1973
2945
|
role: "list",
|
|
1974
2946
|
"data-slot": "item-group",
|
|
1975
|
-
className: (0,
|
|
2947
|
+
className: (0, import_cn12.cn)(
|
|
1976
2948
|
"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
|
|
1977
2949
|
className
|
|
1978
2950
|
),
|
|
@@ -1984,17 +2956,17 @@ function ItemSeparator({
|
|
|
1984
2956
|
className,
|
|
1985
2957
|
...props
|
|
1986
2958
|
}) {
|
|
1987
|
-
return /* @__PURE__ */ (0,
|
|
2959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1988
2960
|
Separator,
|
|
1989
2961
|
{
|
|
1990
2962
|
"data-slot": "item-separator",
|
|
1991
2963
|
orientation: "horizontal",
|
|
1992
|
-
className: (0,
|
|
2964
|
+
className: (0, import_cn12.cn)("my-2", className),
|
|
1993
2965
|
...props
|
|
1994
2966
|
}
|
|
1995
2967
|
);
|
|
1996
2968
|
}
|
|
1997
|
-
var itemVariants = (0,
|
|
2969
|
+
var itemVariants = (0, import_class_variance_authority10.cva)(
|
|
1998
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",
|
|
1999
2971
|
{
|
|
2000
2972
|
variants: {
|
|
@@ -2022,11 +2994,11 @@ function Item({
|
|
|
2022
2994
|
render,
|
|
2023
2995
|
...props
|
|
2024
2996
|
}) {
|
|
2025
|
-
return (0,
|
|
2997
|
+
return (0, import_use_render2.useRender)({
|
|
2026
2998
|
defaultTagName: "div",
|
|
2027
|
-
props: (0,
|
|
2999
|
+
props: (0, import_merge_props2.mergeProps)(
|
|
2028
3000
|
{
|
|
2029
|
-
className: (0,
|
|
3001
|
+
className: (0, import_cn12.cn)(itemVariants({ variant, size, className }))
|
|
2030
3002
|
},
|
|
2031
3003
|
props
|
|
2032
3004
|
),
|
|
@@ -2038,7 +3010,7 @@ function Item({
|
|
|
2038
3010
|
}
|
|
2039
3011
|
});
|
|
2040
3012
|
}
|
|
2041
|
-
var itemMediaVariants = (0,
|
|
3013
|
+
var itemMediaVariants = (0, import_class_variance_authority10.cva)(
|
|
2042
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",
|
|
2043
3015
|
{
|
|
2044
3016
|
variants: {
|
|
@@ -2058,22 +3030,22 @@ function ItemMedia({
|
|
|
2058
3030
|
variant = "default",
|
|
2059
3031
|
...props
|
|
2060
3032
|
}) {
|
|
2061
|
-
return /* @__PURE__ */ (0,
|
|
3033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2062
3034
|
"div",
|
|
2063
3035
|
{
|
|
2064
3036
|
"data-slot": "item-media",
|
|
2065
3037
|
"data-variant": variant,
|
|
2066
|
-
className: (0,
|
|
3038
|
+
className: (0, import_cn12.cn)(itemMediaVariants({ variant, className })),
|
|
2067
3039
|
...props
|
|
2068
3040
|
}
|
|
2069
3041
|
);
|
|
2070
3042
|
}
|
|
2071
3043
|
function ItemContent({ className, ...props }) {
|
|
2072
|
-
return /* @__PURE__ */ (0,
|
|
3044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2073
3045
|
"div",
|
|
2074
3046
|
{
|
|
2075
3047
|
"data-slot": "item-content",
|
|
2076
|
-
className: (0,
|
|
3048
|
+
className: (0, import_cn12.cn)(
|
|
2077
3049
|
"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
|
|
2078
3050
|
className
|
|
2079
3051
|
),
|
|
@@ -2082,11 +3054,11 @@ function ItemContent({ className, ...props }) {
|
|
|
2082
3054
|
);
|
|
2083
3055
|
}
|
|
2084
3056
|
function ItemTitle({ className, ...props }) {
|
|
2085
|
-
return /* @__PURE__ */ (0,
|
|
3057
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2086
3058
|
"div",
|
|
2087
3059
|
{
|
|
2088
3060
|
"data-slot": "item-title",
|
|
2089
|
-
className: (0,
|
|
3061
|
+
className: (0, import_cn12.cn)(
|
|
2090
3062
|
"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
|
|
2091
3063
|
className
|
|
2092
3064
|
),
|
|
@@ -2095,11 +3067,11 @@ function ItemTitle({ className, ...props }) {
|
|
|
2095
3067
|
);
|
|
2096
3068
|
}
|
|
2097
3069
|
function ItemDescription({ className, ...props }) {
|
|
2098
|
-
return /* @__PURE__ */ (0,
|
|
3070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2099
3071
|
"p",
|
|
2100
3072
|
{
|
|
2101
3073
|
"data-slot": "item-description",
|
|
2102
|
-
className: (0,
|
|
3074
|
+
className: (0, import_cn12.cn)(
|
|
2103
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",
|
|
2104
3076
|
className
|
|
2105
3077
|
),
|
|
@@ -2108,21 +3080,21 @@ function ItemDescription({ className, ...props }) {
|
|
|
2108
3080
|
);
|
|
2109
3081
|
}
|
|
2110
3082
|
function ItemActions({ className, ...props }) {
|
|
2111
|
-
return /* @__PURE__ */ (0,
|
|
3083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2112
3084
|
"div",
|
|
2113
3085
|
{
|
|
2114
3086
|
"data-slot": "item-actions",
|
|
2115
|
-
className: (0,
|
|
3087
|
+
className: (0, import_cn12.cn)("flex items-center gap-2", className),
|
|
2116
3088
|
...props
|
|
2117
3089
|
}
|
|
2118
3090
|
);
|
|
2119
3091
|
}
|
|
2120
3092
|
function ItemHeader({ className, ...props }) {
|
|
2121
|
-
return /* @__PURE__ */ (0,
|
|
3093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2122
3094
|
"div",
|
|
2123
3095
|
{
|
|
2124
3096
|
"data-slot": "item-header",
|
|
2125
|
-
className: (0,
|
|
3097
|
+
className: (0, import_cn12.cn)(
|
|
2126
3098
|
"flex basis-full items-center justify-between gap-2",
|
|
2127
3099
|
className
|
|
2128
3100
|
),
|
|
@@ -2131,11 +3103,11 @@ function ItemHeader({ className, ...props }) {
|
|
|
2131
3103
|
);
|
|
2132
3104
|
}
|
|
2133
3105
|
function ItemFooter({ className, ...props }) {
|
|
2134
|
-
return /* @__PURE__ */ (0,
|
|
3106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2135
3107
|
"div",
|
|
2136
3108
|
{
|
|
2137
3109
|
"data-slot": "item-footer",
|
|
2138
|
-
className: (0,
|
|
3110
|
+
className: (0, import_cn12.cn)(
|
|
2139
3111
|
"flex basis-full items-center justify-between gap-2",
|
|
2140
3112
|
className
|
|
2141
3113
|
),
|
|
@@ -2145,9 +3117,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
2145
3117
|
}
|
|
2146
3118
|
|
|
2147
3119
|
// src/components/item/Item.tsx
|
|
2148
|
-
var
|
|
3120
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2149
3121
|
function Item2({ className, asChild, children, ...props }) {
|
|
2150
|
-
return /* @__PURE__ */ (0,
|
|
3122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2151
3123
|
Item,
|
|
2152
3124
|
{
|
|
2153
3125
|
render: asChild ? children : void 0,
|
|
@@ -2166,8 +3138,8 @@ function Item2({ className, asChild, children, ...props }) {
|
|
|
2166
3138
|
}
|
|
2167
3139
|
);
|
|
2168
3140
|
}
|
|
2169
|
-
var ItemMedia2 =
|
|
2170
|
-
return /* @__PURE__ */ (0,
|
|
3141
|
+
var ItemMedia2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2171
3143
|
ItemMedia,
|
|
2172
3144
|
{
|
|
2173
3145
|
ref,
|
|
@@ -2177,8 +3149,8 @@ var ItemMedia2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2177
3149
|
);
|
|
2178
3150
|
});
|
|
2179
3151
|
ItemMedia2.displayName = "ItemMedia";
|
|
2180
|
-
var ItemTitle2 =
|
|
2181
|
-
return /* @__PURE__ */ (0,
|
|
3152
|
+
var ItemTitle2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2182
3154
|
ItemTitle,
|
|
2183
3155
|
{
|
|
2184
3156
|
ref,
|
|
@@ -2188,8 +3160,8 @@ var ItemTitle2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2188
3160
|
);
|
|
2189
3161
|
});
|
|
2190
3162
|
ItemTitle2.displayName = "ItemTitle";
|
|
2191
|
-
var ItemDescription2 =
|
|
2192
|
-
return /* @__PURE__ */ (0,
|
|
3163
|
+
var ItemDescription2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2193
3165
|
ItemDescription,
|
|
2194
3166
|
{
|
|
2195
3167
|
ref,
|
|
@@ -2199,8 +3171,8 @@ var ItemDescription2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2199
3171
|
);
|
|
2200
3172
|
});
|
|
2201
3173
|
ItemDescription2.displayName = "ItemDescription";
|
|
2202
|
-
var ItemSeparator2 =
|
|
2203
|
-
return /* @__PURE__ */ (0,
|
|
3174
|
+
var ItemSeparator2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
3175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2204
3176
|
ItemSeparator,
|
|
2205
3177
|
{
|
|
2206
3178
|
ref,
|
|
@@ -2212,36 +3184,15 @@ var ItemSeparator2 = React15.forwardRef(({ className, ...props }, ref) => {
|
|
|
2212
3184
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
2213
3185
|
|
|
2214
3186
|
// src/components/input/Input.tsx
|
|
2215
|
-
var
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
var import_input = require("@base-ui/react/input");
|
|
2219
|
-
var import_cn8 = require("cn");
|
|
2220
|
-
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2221
|
-
function Input({ className, type, ...props }) {
|
|
2222
|
-
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2223
|
-
import_input.Input,
|
|
2224
|
-
{
|
|
2225
|
-
type,
|
|
2226
|
-
"data-slot": "input",
|
|
2227
|
-
className: (0, import_cn8.cn)(
|
|
2228
|
-
"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",
|
|
2229
|
-
className
|
|
2230
|
-
),
|
|
2231
|
-
...props
|
|
2232
|
-
}
|
|
2233
|
-
);
|
|
2234
|
-
}
|
|
2235
|
-
|
|
2236
|
-
// src/components/input/Input.tsx
|
|
2237
|
-
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2238
|
-
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(
|
|
2239
3190
|
({ className, icon, actionButton, label, description, error, id, disabled, ...props }, ref) => {
|
|
2240
|
-
const generatedId =
|
|
3191
|
+
const generatedId = React18.useId();
|
|
2241
3192
|
const inputId = id || generatedId;
|
|
2242
3193
|
const errorId = `${inputId}-error`;
|
|
2243
3194
|
const descriptionId = `${inputId}-description`;
|
|
2244
|
-
const inputElement = /* @__PURE__ */ (0,
|
|
3195
|
+
const inputElement = /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2245
3196
|
Input,
|
|
2246
3197
|
{
|
|
2247
3198
|
ref,
|
|
@@ -2261,8 +3212,8 @@ var Input2 = React16.forwardRef(
|
|
|
2261
3212
|
}
|
|
2262
3213
|
);
|
|
2263
3214
|
if (!icon && !actionButton) {
|
|
2264
|
-
return /* @__PURE__ */ (0,
|
|
2265
|
-
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)(
|
|
2266
3217
|
"label",
|
|
2267
3218
|
{
|
|
2268
3219
|
htmlFor: inputId,
|
|
@@ -2275,9 +3226,9 @@ var Input2 = React16.forwardRef(
|
|
|
2275
3226
|
}
|
|
2276
3227
|
),
|
|
2277
3228
|
inputElement,
|
|
2278
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
2279
|
-
description && /* @__PURE__ */ (0,
|
|
2280
|
-
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)(
|
|
2281
3232
|
Typography,
|
|
2282
3233
|
{
|
|
2283
3234
|
variant: "xs",
|
|
@@ -2289,8 +3240,8 @@ var Input2 = React16.forwardRef(
|
|
|
2289
3240
|
] })
|
|
2290
3241
|
] });
|
|
2291
3242
|
}
|
|
2292
|
-
return /* @__PURE__ */ (0,
|
|
2293
|
-
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)(
|
|
2294
3245
|
"label",
|
|
2295
3246
|
{
|
|
2296
3247
|
htmlFor: inputId,
|
|
@@ -2302,14 +3253,14 @@ var Input2 = React16.forwardRef(
|
|
|
2302
3253
|
children: label
|
|
2303
3254
|
}
|
|
2304
3255
|
),
|
|
2305
|
-
/* @__PURE__ */ (0,
|
|
2306
|
-
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 }),
|
|
2307
3258
|
inputElement,
|
|
2308
|
-
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 })
|
|
2309
3260
|
] }),
|
|
2310
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
2311
|
-
description && /* @__PURE__ */ (0,
|
|
2312
|
-
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 })
|
|
2313
3264
|
] })
|
|
2314
3265
|
] });
|
|
2315
3266
|
}
|
|
@@ -2317,33 +3268,33 @@ var Input2 = React16.forwardRef(
|
|
|
2317
3268
|
Input2.displayName = "Input";
|
|
2318
3269
|
|
|
2319
3270
|
// src/components/checkbox/Checkbox.tsx
|
|
2320
|
-
var
|
|
3271
|
+
var React19 = __toESM(require("react"), 1);
|
|
2321
3272
|
var import_checkbox2 = require("@base-ui/react/checkbox");
|
|
2322
|
-
var
|
|
2323
|
-
var
|
|
3273
|
+
var import_lucide_react9 = require("lucide-react");
|
|
3274
|
+
var import_class_variance_authority11 = require("class-variance-authority");
|
|
2324
3275
|
|
|
2325
3276
|
// src/primitives/checkbox.tsx
|
|
2326
3277
|
var import_checkbox = require("@base-ui/react/checkbox");
|
|
2327
|
-
var
|
|
2328
|
-
var
|
|
2329
|
-
var
|
|
3278
|
+
var import_cn13 = require("cn");
|
|
3279
|
+
var import_lucide_react8 = require("lucide-react");
|
|
3280
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2330
3281
|
function Checkbox({ className, ...props }) {
|
|
2331
|
-
return /* @__PURE__ */ (0,
|
|
3282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2332
3283
|
import_checkbox.Checkbox.Root,
|
|
2333
3284
|
{
|
|
2334
3285
|
"data-slot": "checkbox",
|
|
2335
|
-
className: (0,
|
|
3286
|
+
className: (0, import_cn13.cn)(
|
|
2336
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",
|
|
2337
3288
|
className
|
|
2338
3289
|
),
|
|
2339
3290
|
...props,
|
|
2340
|
-
children: /* @__PURE__ */ (0,
|
|
3291
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2341
3292
|
import_checkbox.Checkbox.Indicator,
|
|
2342
3293
|
{
|
|
2343
3294
|
"data-slot": "checkbox-indicator",
|
|
2344
3295
|
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
2345
|
-
children: /* @__PURE__ */ (0,
|
|
2346
|
-
|
|
3296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
3297
|
+
import_lucide_react8.CheckIcon,
|
|
2347
3298
|
{}
|
|
2348
3299
|
)
|
|
2349
3300
|
}
|
|
@@ -2353,8 +3304,8 @@ function Checkbox({ className, ...props }) {
|
|
|
2353
3304
|
}
|
|
2354
3305
|
|
|
2355
3306
|
// src/components/checkbox/Checkbox.tsx
|
|
2356
|
-
var
|
|
2357
|
-
var checkboxVariants = (0,
|
|
3307
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3308
|
+
var checkboxVariants = (0, import_class_variance_authority11.cva)(
|
|
2358
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",
|
|
2359
3310
|
{
|
|
2360
3311
|
variants: {
|
|
@@ -2375,7 +3326,7 @@ var checkboxVariants = (0, import_class_variance_authority10.cva)(
|
|
|
2375
3326
|
}
|
|
2376
3327
|
}
|
|
2377
3328
|
);
|
|
2378
|
-
var Checkbox2 =
|
|
3329
|
+
var Checkbox2 = React19.forwardRef(
|
|
2379
3330
|
({
|
|
2380
3331
|
"aria-label": ariaLabel,
|
|
2381
3332
|
className,
|
|
@@ -2388,11 +3339,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2388
3339
|
disabled,
|
|
2389
3340
|
...props
|
|
2390
3341
|
}, ref) => {
|
|
2391
|
-
const generatedId =
|
|
3342
|
+
const generatedId = React19.useId();
|
|
2392
3343
|
const checkboxId = id || generatedId;
|
|
2393
3344
|
const errorId = `${checkboxId}-error`;
|
|
2394
|
-
return /* @__PURE__ */ (0,
|
|
2395
|
-
/* @__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)(
|
|
2396
3347
|
Checkbox,
|
|
2397
3348
|
{
|
|
2398
3349
|
ref,
|
|
@@ -2409,8 +3360,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2409
3360
|
className
|
|
2410
3361
|
),
|
|
2411
3362
|
...props,
|
|
2412
|
-
children: /* @__PURE__ */ (0,
|
|
2413
|
-
|
|
3363
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_checkbox2.Checkbox.Indicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
3364
|
+
import_lucide_react9.Check,
|
|
2414
3365
|
{
|
|
2415
3366
|
className: "h-4 w-4 text-current stroke-current",
|
|
2416
3367
|
style: { color: "currentColor", stroke: "currentColor" }
|
|
@@ -2418,8 +3369,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2418
3369
|
) })
|
|
2419
3370
|
}
|
|
2420
3371
|
) }),
|
|
2421
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
2422
|
-
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)(
|
|
2423
3374
|
"label",
|
|
2424
3375
|
{
|
|
2425
3376
|
htmlFor: checkboxId,
|
|
@@ -2431,8 +3382,8 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2431
3382
|
children: label
|
|
2432
3383
|
}
|
|
2433
3384
|
),
|
|
2434
|
-
description && /* @__PURE__ */ (0,
|
|
2435
|
-
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 })
|
|
2436
3387
|
] })
|
|
2437
3388
|
] });
|
|
2438
3389
|
}
|
|
@@ -2440,11 +3391,11 @@ var Checkbox2 = React17.forwardRef(
|
|
|
2440
3391
|
Checkbox2.displayName = "Checkbox";
|
|
2441
3392
|
|
|
2442
3393
|
// src/components/switch/Switch.tsx
|
|
2443
|
-
var
|
|
3394
|
+
var React20 = __toESM(require("react"), 1);
|
|
2444
3395
|
var import_switch = require("@base-ui/react/switch");
|
|
2445
|
-
var
|
|
2446
|
-
var
|
|
2447
|
-
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)(
|
|
2448
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",
|
|
2449
3400
|
{
|
|
2450
3401
|
variants: {
|
|
@@ -2465,7 +3416,7 @@ var switchRootVariants = (0, import_class_variance_authority11.cva)(
|
|
|
2465
3416
|
}
|
|
2466
3417
|
}
|
|
2467
3418
|
);
|
|
2468
|
-
var switchThumbVariants = (0,
|
|
3419
|
+
var switchThumbVariants = (0, import_class_variance_authority12.cva)(
|
|
2469
3420
|
"pointer-events-none block rounded-full ring-0 transition-transform shadow-berget-sm bg-berget-foreground",
|
|
2470
3421
|
{
|
|
2471
3422
|
variants: {
|
|
@@ -2480,7 +3431,7 @@ var switchThumbVariants = (0, import_class_variance_authority11.cva)(
|
|
|
2480
3431
|
}
|
|
2481
3432
|
}
|
|
2482
3433
|
);
|
|
2483
|
-
var Switch =
|
|
3434
|
+
var Switch = React20.forwardRef(
|
|
2484
3435
|
({
|
|
2485
3436
|
"aria-label": ariaLabel,
|
|
2486
3437
|
className,
|
|
@@ -2493,11 +3444,11 @@ var Switch = React18.forwardRef(
|
|
|
2493
3444
|
disabled,
|
|
2494
3445
|
...props
|
|
2495
3446
|
}, ref) => {
|
|
2496
|
-
const generatedId =
|
|
3447
|
+
const generatedId = React20.useId();
|
|
2497
3448
|
const switchId = id || generatedId;
|
|
2498
3449
|
const errorId = `${switchId}-error`;
|
|
2499
|
-
return /* @__PURE__ */ (0,
|
|
2500
|
-
/* @__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)(
|
|
2501
3452
|
import_switch.Switch.Root,
|
|
2502
3453
|
{
|
|
2503
3454
|
ref,
|
|
@@ -2513,11 +3464,11 @@ var Switch = React18.forwardRef(
|
|
|
2513
3464
|
className
|
|
2514
3465
|
),
|
|
2515
3466
|
...props,
|
|
2516
|
-
children: /* @__PURE__ */ (0,
|
|
3467
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_switch.Switch.Thumb, { className: cn(switchThumbVariants({ size })) })
|
|
2517
3468
|
}
|
|
2518
3469
|
),
|
|
2519
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
2520
|
-
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)(
|
|
2521
3472
|
"label",
|
|
2522
3473
|
{
|
|
2523
3474
|
htmlFor: switchId,
|
|
@@ -2528,8 +3479,8 @@ var Switch = React18.forwardRef(
|
|
|
2528
3479
|
children: label
|
|
2529
3480
|
}
|
|
2530
3481
|
),
|
|
2531
|
-
description && /* @__PURE__ */ (0,
|
|
2532
|
-
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 })
|
|
2533
3484
|
] })
|
|
2534
3485
|
] });
|
|
2535
3486
|
}
|
|
@@ -2537,21 +3488,21 @@ var Switch = React18.forwardRef(
|
|
|
2537
3488
|
Switch.displayName = "Switch";
|
|
2538
3489
|
|
|
2539
3490
|
// src/components/select/Select.tsx
|
|
2540
|
-
var
|
|
2541
|
-
var
|
|
3491
|
+
var React21 = __toESM(require("react"), 1);
|
|
3492
|
+
var import_class_variance_authority13 = require("class-variance-authority");
|
|
2542
3493
|
|
|
2543
3494
|
// src/primitives/select.tsx
|
|
2544
3495
|
var import_select = require("@base-ui/react/select");
|
|
2545
|
-
var
|
|
2546
|
-
var
|
|
2547
|
-
var
|
|
3496
|
+
var import_cn14 = require("cn");
|
|
3497
|
+
var import_lucide_react10 = require("lucide-react");
|
|
3498
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2548
3499
|
var Select = import_select.Select.Root;
|
|
2549
3500
|
function SelectValue({ className, ...props }) {
|
|
2550
|
-
return /* @__PURE__ */ (0,
|
|
3501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2551
3502
|
import_select.Select.Value,
|
|
2552
3503
|
{
|
|
2553
3504
|
"data-slot": "select-value",
|
|
2554
|
-
className: (0,
|
|
3505
|
+
className: (0, import_cn14.cn)("flex flex-1 text-left", className),
|
|
2555
3506
|
...props
|
|
2556
3507
|
}
|
|
2557
3508
|
);
|
|
@@ -2562,22 +3513,22 @@ function SelectTrigger({
|
|
|
2562
3513
|
children,
|
|
2563
3514
|
...props
|
|
2564
3515
|
}) {
|
|
2565
|
-
return /* @__PURE__ */ (0,
|
|
3516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2566
3517
|
import_select.Select.Trigger,
|
|
2567
3518
|
{
|
|
2568
3519
|
"data-slot": "select-trigger",
|
|
2569
3520
|
"data-size": size,
|
|
2570
|
-
className: (0,
|
|
3521
|
+
className: (0, import_cn14.cn)(
|
|
2571
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",
|
|
2572
3523
|
className
|
|
2573
3524
|
),
|
|
2574
3525
|
...props,
|
|
2575
3526
|
children: [
|
|
2576
3527
|
children,
|
|
2577
|
-
/* @__PURE__ */ (0,
|
|
3528
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2578
3529
|
import_select.Select.Icon,
|
|
2579
3530
|
{
|
|
2580
|
-
render: /* @__PURE__ */ (0,
|
|
3531
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react10.ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
2581
3532
|
}
|
|
2582
3533
|
)
|
|
2583
3534
|
]
|
|
@@ -2594,7 +3545,7 @@ function SelectContent({
|
|
|
2594
3545
|
alignItemWithTrigger = true,
|
|
2595
3546
|
...props
|
|
2596
3547
|
}) {
|
|
2597
|
-
return /* @__PURE__ */ (0,
|
|
3548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2598
3549
|
import_select.Select.Positioner,
|
|
2599
3550
|
{
|
|
2600
3551
|
side,
|
|
@@ -2603,17 +3554,17 @@ function SelectContent({
|
|
|
2603
3554
|
alignOffset,
|
|
2604
3555
|
alignItemWithTrigger,
|
|
2605
3556
|
className: "isolate z-50",
|
|
2606
|
-
children: /* @__PURE__ */ (0,
|
|
3557
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2607
3558
|
import_select.Select.Popup,
|
|
2608
3559
|
{
|
|
2609
3560
|
"data-slot": "select-content",
|
|
2610
3561
|
"data-align-trigger": alignItemWithTrigger,
|
|
2611
|
-
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),
|
|
2612
3563
|
...props,
|
|
2613
3564
|
children: [
|
|
2614
|
-
/* @__PURE__ */ (0,
|
|
2615
|
-
/* @__PURE__ */ (0,
|
|
2616
|
-
/* @__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, {})
|
|
2617
3568
|
]
|
|
2618
3569
|
}
|
|
2619
3570
|
)
|
|
@@ -2625,22 +3576,22 @@ function SelectItem({
|
|
|
2625
3576
|
children,
|
|
2626
3577
|
...props
|
|
2627
3578
|
}) {
|
|
2628
|
-
return /* @__PURE__ */ (0,
|
|
3579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2629
3580
|
import_select.Select.Item,
|
|
2630
3581
|
{
|
|
2631
3582
|
"data-slot": "select-item",
|
|
2632
|
-
className: (0,
|
|
3583
|
+
className: (0, import_cn14.cn)(
|
|
2633
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",
|
|
2634
3585
|
className
|
|
2635
3586
|
),
|
|
2636
3587
|
...props,
|
|
2637
3588
|
children: [
|
|
2638
|
-
/* @__PURE__ */ (0,
|
|
2639
|
-
/* @__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)(
|
|
2640
3591
|
import_select.Select.ItemIndicator,
|
|
2641
3592
|
{
|
|
2642
|
-
render: /* @__PURE__ */ (0,
|
|
2643
|
-
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" })
|
|
2644
3595
|
}
|
|
2645
3596
|
)
|
|
2646
3597
|
]
|
|
@@ -2651,17 +3602,17 @@ function SelectScrollUpButton({
|
|
|
2651
3602
|
className,
|
|
2652
3603
|
...props
|
|
2653
3604
|
}) {
|
|
2654
|
-
return /* @__PURE__ */ (0,
|
|
3605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2655
3606
|
import_select.Select.ScrollUpArrow,
|
|
2656
3607
|
{
|
|
2657
3608
|
"data-slot": "select-scroll-up-button",
|
|
2658
|
-
className: (0,
|
|
3609
|
+
className: (0, import_cn14.cn)(
|
|
2659
3610
|
"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2660
3611
|
className
|
|
2661
3612
|
),
|
|
2662
3613
|
...props,
|
|
2663
|
-
children: /* @__PURE__ */ (0,
|
|
2664
|
-
|
|
3614
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3615
|
+
import_lucide_react10.ChevronUpIcon,
|
|
2665
3616
|
{}
|
|
2666
3617
|
)
|
|
2667
3618
|
}
|
|
@@ -2671,17 +3622,17 @@ function SelectScrollDownButton({
|
|
|
2671
3622
|
className,
|
|
2672
3623
|
...props
|
|
2673
3624
|
}) {
|
|
2674
|
-
return /* @__PURE__ */ (0,
|
|
3625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2675
3626
|
import_select.Select.ScrollDownArrow,
|
|
2676
3627
|
{
|
|
2677
3628
|
"data-slot": "select-scroll-down-button",
|
|
2678
|
-
className: (0,
|
|
3629
|
+
className: (0, import_cn14.cn)(
|
|
2679
3630
|
"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2680
3631
|
className
|
|
2681
3632
|
),
|
|
2682
3633
|
...props,
|
|
2683
|
-
children: /* @__PURE__ */ (0,
|
|
2684
|
-
|
|
3634
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3635
|
+
import_lucide_react10.ChevronDownIcon,
|
|
2685
3636
|
{}
|
|
2686
3637
|
)
|
|
2687
3638
|
}
|
|
@@ -2689,8 +3640,8 @@ function SelectScrollDownButton({
|
|
|
2689
3640
|
}
|
|
2690
3641
|
|
|
2691
3642
|
// src/components/select/Select.tsx
|
|
2692
|
-
var
|
|
2693
|
-
var selectVariants = (0,
|
|
3643
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3644
|
+
var selectVariants = (0, import_class_variance_authority13.cva)(
|
|
2694
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",
|
|
2695
3646
|
{
|
|
2696
3647
|
variants: {
|
|
@@ -2712,7 +3663,7 @@ var selectVariants = (0, import_class_variance_authority12.cva)(
|
|
|
2712
3663
|
}
|
|
2713
3664
|
}
|
|
2714
3665
|
);
|
|
2715
|
-
var Select2 =
|
|
3666
|
+
var Select2 = React21.forwardRef(
|
|
2716
3667
|
({
|
|
2717
3668
|
className,
|
|
2718
3669
|
variant,
|
|
@@ -2730,12 +3681,12 @@ var Select2 = React19.forwardRef(
|
|
|
2730
3681
|
name,
|
|
2731
3682
|
required
|
|
2732
3683
|
}, ref) => {
|
|
2733
|
-
const generatedId =
|
|
3684
|
+
const generatedId = React21.useId();
|
|
2734
3685
|
const selectId = id || generatedId;
|
|
2735
3686
|
const errorId = `${selectId}-error`;
|
|
2736
3687
|
const descriptionId = `${selectId}-description`;
|
|
2737
|
-
return /* @__PURE__ */ (0,
|
|
2738
|
-
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)(
|
|
2739
3690
|
"label",
|
|
2740
3691
|
{
|
|
2741
3692
|
htmlFor: selectId,
|
|
@@ -2747,7 +3698,7 @@ var Select2 = React19.forwardRef(
|
|
|
2747
3698
|
children: label
|
|
2748
3699
|
}
|
|
2749
3700
|
),
|
|
2750
|
-
/* @__PURE__ */ (0,
|
|
3701
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2751
3702
|
Select,
|
|
2752
3703
|
{
|
|
2753
3704
|
value,
|
|
@@ -2758,7 +3709,7 @@ var Select2 = React19.forwardRef(
|
|
|
2758
3709
|
required,
|
|
2759
3710
|
items: options,
|
|
2760
3711
|
children: [
|
|
2761
|
-
/* @__PURE__ */ (0,
|
|
3712
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2762
3713
|
SelectTrigger,
|
|
2763
3714
|
{
|
|
2764
3715
|
ref,
|
|
@@ -2770,33 +3721,33 @@ var Select2 = React19.forwardRef(
|
|
|
2770
3721
|
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
2771
3722
|
className
|
|
2772
3723
|
),
|
|
2773
|
-
children: /* @__PURE__ */ (0,
|
|
3724
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectValue, { placeholder })
|
|
2774
3725
|
}
|
|
2775
3726
|
),
|
|
2776
|
-
/* @__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)) })
|
|
2777
3728
|
]
|
|
2778
3729
|
}
|
|
2779
3730
|
),
|
|
2780
|
-
description && /* @__PURE__ */ (0,
|
|
2781
|
-
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 })
|
|
2782
3733
|
] });
|
|
2783
3734
|
}
|
|
2784
3735
|
);
|
|
2785
3736
|
Select2.displayName = "Select";
|
|
2786
3737
|
|
|
2787
3738
|
// src/components/country-select/CountrySelect.tsx
|
|
2788
|
-
var
|
|
2789
|
-
var
|
|
3739
|
+
var React23 = __toESM(require("react"), 1);
|
|
3740
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2790
3741
|
|
|
2791
3742
|
// src/components/icon/Icon.tsx
|
|
2792
|
-
var
|
|
2793
|
-
var
|
|
3743
|
+
var React22 = __toESM(require("react"), 1);
|
|
3744
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2794
3745
|
var iconStrokeMap = {
|
|
2795
3746
|
16: 1.4,
|
|
2796
3747
|
24: 1.6,
|
|
2797
3748
|
32: 1.8
|
|
2798
3749
|
};
|
|
2799
|
-
var Icon =
|
|
3750
|
+
var Icon = React22.forwardRef(
|
|
2800
3751
|
({
|
|
2801
3752
|
icon: IconComponent,
|
|
2802
3753
|
size,
|
|
@@ -2808,7 +3759,7 @@ var Icon = React20.forwardRef(
|
|
|
2808
3759
|
const strokeWidth = iconStrokeMap[size];
|
|
2809
3760
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
2810
3761
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
2811
|
-
return /* @__PURE__ */ (0,
|
|
3762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2812
3763
|
IconComponent,
|
|
2813
3764
|
{
|
|
2814
3765
|
ref,
|
|
@@ -2824,13 +3775,13 @@ Icon.displayName = "Icon";
|
|
|
2824
3775
|
|
|
2825
3776
|
// src/primitives/popover.tsx
|
|
2826
3777
|
var import_popover = require("@base-ui/react/popover");
|
|
2827
|
-
var
|
|
2828
|
-
var
|
|
3778
|
+
var import_cn15 = require("cn");
|
|
3779
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2829
3780
|
function Popover({ ...props }) {
|
|
2830
|
-
return /* @__PURE__ */ (0,
|
|
3781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
2831
3782
|
}
|
|
2832
3783
|
function PopoverTrigger({ ...props }) {
|
|
2833
|
-
return /* @__PURE__ */ (0,
|
|
3784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2834
3785
|
}
|
|
2835
3786
|
function PopoverContent({
|
|
2836
3787
|
className,
|
|
@@ -2840,7 +3791,7 @@ function PopoverContent({
|
|
|
2840
3791
|
sideOffset = 4,
|
|
2841
3792
|
...props
|
|
2842
3793
|
}) {
|
|
2843
|
-
return /* @__PURE__ */ (0,
|
|
3794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2844
3795
|
import_popover.Popover.Positioner,
|
|
2845
3796
|
{
|
|
2846
3797
|
align,
|
|
@@ -2848,11 +3799,11 @@ function PopoverContent({
|
|
|
2848
3799
|
side,
|
|
2849
3800
|
sideOffset,
|
|
2850
3801
|
className: "isolate z-50",
|
|
2851
|
-
children: /* @__PURE__ */ (0,
|
|
3802
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2852
3803
|
import_popover.Popover.Popup,
|
|
2853
3804
|
{
|
|
2854
3805
|
"data-slot": "popover-content",
|
|
2855
|
-
className: (0,
|
|
3806
|
+
className: (0, import_cn15.cn)(
|
|
2856
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",
|
|
2857
3808
|
className
|
|
2858
3809
|
),
|
|
@@ -2865,27 +3816,27 @@ function PopoverContent({
|
|
|
2865
3816
|
|
|
2866
3817
|
// src/primitives/command.tsx
|
|
2867
3818
|
var import_cmdk = require("cmdk");
|
|
2868
|
-
var
|
|
3819
|
+
var import_cn19 = require("cn");
|
|
2869
3820
|
|
|
2870
3821
|
// src/primitives/dialog.tsx
|
|
2871
|
-
var
|
|
2872
|
-
var
|
|
2873
|
-
var
|
|
2874
|
-
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");
|
|
2875
3826
|
|
|
2876
3827
|
// src/primitives/input-group.tsx
|
|
2877
|
-
var
|
|
2878
|
-
var
|
|
3828
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
3829
|
+
var import_cn18 = require("cn");
|
|
2879
3830
|
|
|
2880
3831
|
// src/primitives/textarea.tsx
|
|
2881
|
-
var
|
|
2882
|
-
var
|
|
3832
|
+
var import_cn17 = require("cn");
|
|
3833
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2883
3834
|
function Textarea({ className, ...props }) {
|
|
2884
|
-
return /* @__PURE__ */ (0,
|
|
3835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2885
3836
|
"textarea",
|
|
2886
3837
|
{
|
|
2887
3838
|
"data-slot": "textarea",
|
|
2888
|
-
className: (0,
|
|
3839
|
+
className: (0, import_cn17.cn)(
|
|
2889
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",
|
|
2890
3841
|
className
|
|
2891
3842
|
),
|
|
@@ -2895,14 +3846,14 @@ function Textarea({ className, ...props }) {
|
|
|
2895
3846
|
}
|
|
2896
3847
|
|
|
2897
3848
|
// src/primitives/input-group.tsx
|
|
2898
|
-
var
|
|
3849
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2899
3850
|
function InputGroup({ className, ...props }) {
|
|
2900
|
-
return /* @__PURE__ */ (0,
|
|
3851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2901
3852
|
"div",
|
|
2902
3853
|
{
|
|
2903
3854
|
"data-slot": "input-group",
|
|
2904
3855
|
role: "group",
|
|
2905
|
-
className: (0,
|
|
3856
|
+
className: (0, import_cn18.cn)(
|
|
2906
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",
|
|
2907
3858
|
className
|
|
2908
3859
|
),
|
|
@@ -2910,7 +3861,7 @@ function InputGroup({ className, ...props }) {
|
|
|
2910
3861
|
}
|
|
2911
3862
|
);
|
|
2912
3863
|
}
|
|
2913
|
-
var inputGroupAddonVariants = (0,
|
|
3864
|
+
var inputGroupAddonVariants = (0, import_class_variance_authority14.cva)(
|
|
2914
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",
|
|
2915
3866
|
{
|
|
2916
3867
|
variants: {
|
|
@@ -2931,13 +3882,13 @@ function InputGroupAddon({
|
|
|
2931
3882
|
align = "inline-start",
|
|
2932
3883
|
...props
|
|
2933
3884
|
}) {
|
|
2934
|
-
return /* @__PURE__ */ (0,
|
|
3885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2935
3886
|
"div",
|
|
2936
3887
|
{
|
|
2937
3888
|
role: "group",
|
|
2938
3889
|
"data-slot": "input-group-addon",
|
|
2939
3890
|
"data-align": align,
|
|
2940
|
-
className: (0,
|
|
3891
|
+
className: (0, import_cn18.cn)(inputGroupAddonVariants({ align }), className),
|
|
2941
3892
|
onClick: (e) => {
|
|
2942
3893
|
if (e.target.closest("button")) {
|
|
2943
3894
|
return;
|
|
@@ -2948,7 +3899,7 @@ function InputGroupAddon({
|
|
|
2948
3899
|
}
|
|
2949
3900
|
);
|
|
2950
3901
|
}
|
|
2951
|
-
var inputGroupButtonVariants = (0,
|
|
3902
|
+
var inputGroupButtonVariants = (0, import_class_variance_authority14.cva)(
|
|
2952
3903
|
"flex items-center gap-2 text-sm shadow-none",
|
|
2953
3904
|
{
|
|
2954
3905
|
variants: {
|
|
@@ -2966,17 +3917,17 @@ var inputGroupButtonVariants = (0, import_class_variance_authority13.cva)(
|
|
|
2966
3917
|
);
|
|
2967
3918
|
|
|
2968
3919
|
// src/primitives/command.tsx
|
|
2969
|
-
var
|
|
2970
|
-
var
|
|
3920
|
+
var import_lucide_react12 = require("lucide-react");
|
|
3921
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2971
3922
|
function Command({
|
|
2972
3923
|
className,
|
|
2973
3924
|
...props
|
|
2974
3925
|
}) {
|
|
2975
|
-
return /* @__PURE__ */ (0,
|
|
3926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2976
3927
|
import_cmdk.Command,
|
|
2977
3928
|
{
|
|
2978
3929
|
"data-slot": "command",
|
|
2979
|
-
className: (0,
|
|
3930
|
+
className: (0, import_cn19.cn)(
|
|
2980
3931
|
"flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
|
|
2981
3932
|
className
|
|
2982
3933
|
),
|
|
@@ -2988,30 +3939,30 @@ function CommandInput({
|
|
|
2988
3939
|
className,
|
|
2989
3940
|
...props
|
|
2990
3941
|
}) {
|
|
2991
|
-
return /* @__PURE__ */ (0,
|
|
2992
|
-
/* @__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)(
|
|
2993
3944
|
import_cmdk.Command.Input,
|
|
2994
3945
|
{
|
|
2995
3946
|
"data-slot": "command-input",
|
|
2996
|
-
className: (0,
|
|
3947
|
+
className: (0, import_cn19.cn)(
|
|
2997
3948
|
"w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
2998
3949
|
className
|
|
2999
3950
|
),
|
|
3000
3951
|
...props
|
|
3001
3952
|
}
|
|
3002
3953
|
),
|
|
3003
|
-
/* @__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" }) })
|
|
3004
3955
|
] }) });
|
|
3005
3956
|
}
|
|
3006
3957
|
function CommandList({
|
|
3007
3958
|
className,
|
|
3008
3959
|
...props
|
|
3009
3960
|
}) {
|
|
3010
|
-
return /* @__PURE__ */ (0,
|
|
3961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3011
3962
|
import_cmdk.Command.List,
|
|
3012
3963
|
{
|
|
3013
3964
|
"data-slot": "command-list",
|
|
3014
|
-
className: (0,
|
|
3965
|
+
className: (0, import_cn19.cn)(
|
|
3015
3966
|
"no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",
|
|
3016
3967
|
className
|
|
3017
3968
|
),
|
|
@@ -3023,11 +3974,11 @@ function CommandEmpty({
|
|
|
3023
3974
|
className,
|
|
3024
3975
|
...props
|
|
3025
3976
|
}) {
|
|
3026
|
-
return /* @__PURE__ */ (0,
|
|
3977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3027
3978
|
import_cmdk.Command.Empty,
|
|
3028
3979
|
{
|
|
3029
3980
|
"data-slot": "command-empty",
|
|
3030
|
-
className: (0,
|
|
3981
|
+
className: (0, import_cn19.cn)("py-6 text-center text-sm", className),
|
|
3031
3982
|
...props
|
|
3032
3983
|
}
|
|
3033
3984
|
);
|
|
@@ -3036,11 +3987,11 @@ function CommandGroup({
|
|
|
3036
3987
|
className,
|
|
3037
3988
|
...props
|
|
3038
3989
|
}) {
|
|
3039
|
-
return /* @__PURE__ */ (0,
|
|
3990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3040
3991
|
import_cmdk.Command.Group,
|
|
3041
3992
|
{
|
|
3042
3993
|
"data-slot": "command-group",
|
|
3043
|
-
className: (0,
|
|
3994
|
+
className: (0, import_cn19.cn)(
|
|
3044
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",
|
|
3045
3996
|
className
|
|
3046
3997
|
),
|
|
@@ -3053,18 +4004,18 @@ function CommandItem({
|
|
|
3053
4004
|
children,
|
|
3054
4005
|
...props
|
|
3055
4006
|
}) {
|
|
3056
|
-
return /* @__PURE__ */ (0,
|
|
4007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
3057
4008
|
import_cmdk.Command.Item,
|
|
3058
4009
|
{
|
|
3059
4010
|
"data-slot": "command-item",
|
|
3060
|
-
className: (0,
|
|
4011
|
+
className: (0, import_cn19.cn)(
|
|
3061
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",
|
|
3062
4013
|
className
|
|
3063
4014
|
),
|
|
3064
4015
|
...props,
|
|
3065
4016
|
children: [
|
|
3066
4017
|
children,
|
|
3067
|
-
/* @__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" })
|
|
3068
4019
|
]
|
|
3069
4020
|
}
|
|
3070
4021
|
);
|
|
@@ -3212,8 +4163,8 @@ var isEUCountry = (countryCode) => {
|
|
|
3212
4163
|
};
|
|
3213
4164
|
|
|
3214
4165
|
// src/components/country-select/CountrySelect.tsx
|
|
3215
|
-
var
|
|
3216
|
-
var CountrySelect =
|
|
4166
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
4167
|
+
var CountrySelect = React23.forwardRef(
|
|
3217
4168
|
({
|
|
3218
4169
|
value,
|
|
3219
4170
|
onValueChange,
|
|
@@ -3223,14 +4174,14 @@ var CountrySelect = React21.forwardRef(
|
|
|
3223
4174
|
align = "center",
|
|
3224
4175
|
sideOffset = 4
|
|
3225
4176
|
}, ref) => {
|
|
3226
|
-
const [open, setOpen] =
|
|
3227
|
-
const selectedCountry =
|
|
3228
|
-
return /* @__PURE__ */ (0,
|
|
3229
|
-
/* @__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)(
|
|
3230
4181
|
PopoverTrigger,
|
|
3231
4182
|
{
|
|
3232
4183
|
ref,
|
|
3233
|
-
render: /* @__PURE__ */ (0,
|
|
4184
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3234
4185
|
"button",
|
|
3235
4186
|
{
|
|
3236
4187
|
type: "button",
|
|
@@ -3252,29 +4203,29 @@ var CountrySelect = React21.forwardRef(
|
|
|
3252
4203
|
}
|
|
3253
4204
|
),
|
|
3254
4205
|
children: [
|
|
3255
|
-
/* @__PURE__ */ (0,
|
|
3256
|
-
/* @__PURE__ */ (0,
|
|
3257
|
-
/* @__PURE__ */ (0,
|
|
3258
|
-
/* @__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: [
|
|
3259
4210
|
"(",
|
|
3260
4211
|
selectedCountry.code,
|
|
3261
4212
|
")"
|
|
3262
4213
|
] })
|
|
3263
|
-
] }) : /* @__PURE__ */ (0,
|
|
3264
|
-
/* @__PURE__ */ (0,
|
|
4214
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
4215
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3265
4216
|
Icon,
|
|
3266
4217
|
{
|
|
3267
|
-
icon:
|
|
4218
|
+
icon: import_lucide_react13.Globe,
|
|
3268
4219
|
size: 16,
|
|
3269
4220
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
3270
4221
|
}
|
|
3271
4222
|
),
|
|
3272
|
-
/* @__PURE__ */ (0,
|
|
4223
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
3273
4224
|
] }) }),
|
|
3274
|
-
/* @__PURE__ */ (0,
|
|
4225
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3275
4226
|
Icon,
|
|
3276
4227
|
{
|
|
3277
|
-
icon:
|
|
4228
|
+
icon: import_lucide_react13.ChevronDown,
|
|
3278
4229
|
size: 16,
|
|
3279
4230
|
className: cn(
|
|
3280
4231
|
"flex-shrink-0 text-berget-muted-foreground",
|
|
@@ -3286,17 +4237,17 @@ var CountrySelect = React21.forwardRef(
|
|
|
3286
4237
|
]
|
|
3287
4238
|
}
|
|
3288
4239
|
),
|
|
3289
|
-
/* @__PURE__ */ (0,
|
|
4240
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3290
4241
|
PopoverContent,
|
|
3291
4242
|
{
|
|
3292
4243
|
align,
|
|
3293
4244
|
sideOffset,
|
|
3294
4245
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
3295
|
-
children: /* @__PURE__ */ (0,
|
|
3296
|
-
/* @__PURE__ */ (0,
|
|
3297
|
-
/* @__PURE__ */ (0,
|
|
3298
|
-
/* @__PURE__ */ (0,
|
|
3299
|
-
/* @__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)(
|
|
3300
4251
|
CommandItem,
|
|
3301
4252
|
{
|
|
3302
4253
|
value: `${country.name} ${country.code}`,
|
|
@@ -3310,12 +4261,12 @@ var CountrySelect = React21.forwardRef(
|
|
|
3310
4261
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
3311
4262
|
),
|
|
3312
4263
|
children: [
|
|
3313
|
-
/* @__PURE__ */ (0,
|
|
3314
|
-
/* @__PURE__ */ (0,
|
|
3315
|
-
/* @__PURE__ */ (0,
|
|
3316
|
-
/* @__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 })
|
|
3317
4268
|
] }),
|
|
3318
|
-
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" })
|
|
3319
4270
|
]
|
|
3320
4271
|
},
|
|
3321
4272
|
country.code
|
|
@@ -3330,10 +4281,10 @@ var CountrySelect = React21.forwardRef(
|
|
|
3330
4281
|
CountrySelect.displayName = "CountrySelect";
|
|
3331
4282
|
|
|
3332
4283
|
// src/components/text-area/TextArea.tsx
|
|
3333
|
-
var
|
|
3334
|
-
var
|
|
3335
|
-
var
|
|
3336
|
-
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)(
|
|
3337
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",
|
|
3338
4289
|
{
|
|
3339
4290
|
variants: {
|
|
@@ -3355,7 +4306,7 @@ var textAreaVariants = (0, import_class_variance_authority14.cva)(
|
|
|
3355
4306
|
}
|
|
3356
4307
|
}
|
|
3357
4308
|
);
|
|
3358
|
-
var TextArea =
|
|
4309
|
+
var TextArea = React24.forwardRef(
|
|
3359
4310
|
({
|
|
3360
4311
|
className,
|
|
3361
4312
|
variant,
|
|
@@ -3375,13 +4326,13 @@ var TextArea = React22.forwardRef(
|
|
|
3375
4326
|
actionButton,
|
|
3376
4327
|
...props
|
|
3377
4328
|
}, ref) => {
|
|
3378
|
-
const generatedId =
|
|
4329
|
+
const generatedId = React24.useId();
|
|
3379
4330
|
const textareaId = id || generatedId;
|
|
3380
4331
|
const errorId = `${textareaId}-error`;
|
|
3381
4332
|
const descriptionId = `${textareaId}-description`;
|
|
3382
4333
|
const characterCount = typeof value === "string" ? value.length : 0;
|
|
3383
|
-
return /* @__PURE__ */ (0,
|
|
3384
|
-
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)(
|
|
3385
4336
|
"label",
|
|
3386
4337
|
{
|
|
3387
4338
|
htmlFor: textareaId,
|
|
@@ -3393,9 +4344,9 @@ var TextArea = React22.forwardRef(
|
|
|
3393
4344
|
children: label
|
|
3394
4345
|
}
|
|
3395
4346
|
),
|
|
3396
|
-
/* @__PURE__ */ (0,
|
|
3397
|
-
icon && /* @__PURE__ */ (0,
|
|
3398
|
-
/* @__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)(
|
|
3399
4350
|
Textarea,
|
|
3400
4351
|
{
|
|
3401
4352
|
ref,
|
|
@@ -3420,13 +4371,13 @@ var TextArea = React22.forwardRef(
|
|
|
3420
4371
|
...props
|
|
3421
4372
|
}
|
|
3422
4373
|
),
|
|
3423
|
-
secondaryIcon && /* @__PURE__ */ (0,
|
|
3424
|
-
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 })
|
|
3425
4376
|
] }),
|
|
3426
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
3427
|
-
description && /* @__PURE__ */ (0,
|
|
3428
|
-
(error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
3429
|
-
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)(
|
|
3430
4381
|
Typography,
|
|
3431
4382
|
{
|
|
3432
4383
|
variant: "xs",
|
|
@@ -3440,7 +4391,7 @@ var TextArea = React22.forwardRef(
|
|
|
3440
4391
|
]
|
|
3441
4392
|
}
|
|
3442
4393
|
),
|
|
3443
|
-
error && /* @__PURE__ */ (0,
|
|
4394
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3444
4395
|
Typography,
|
|
3445
4396
|
{
|
|
3446
4397
|
variant: "xs",
|
|
@@ -3457,14 +4408,14 @@ var TextArea = React22.forwardRef(
|
|
|
3457
4408
|
TextArea.displayName = "TextArea";
|
|
3458
4409
|
|
|
3459
4410
|
// src/primitives/label.tsx
|
|
3460
|
-
var
|
|
3461
|
-
var
|
|
4411
|
+
var import_cn20 = require("cn");
|
|
4412
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3462
4413
|
function Label({ className, ...props }) {
|
|
3463
|
-
return /* @__PURE__ */ (0,
|
|
4414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3464
4415
|
"label",
|
|
3465
4416
|
{
|
|
3466
4417
|
"data-slot": "label",
|
|
3467
|
-
className: (0,
|
|
4418
|
+
className: (0, import_cn20.cn)(
|
|
3468
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",
|
|
3469
4420
|
className
|
|
3470
4421
|
),
|
|
@@ -3475,15 +4426,15 @@ function Label({ className, ...props }) {
|
|
|
3475
4426
|
|
|
3476
4427
|
// src/primitives/field.tsx
|
|
3477
4428
|
var import_react = require("react");
|
|
3478
|
-
var
|
|
3479
|
-
var
|
|
3480
|
-
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");
|
|
3481
4432
|
function FieldSet({ className, ...props }) {
|
|
3482
|
-
return /* @__PURE__ */ (0,
|
|
4433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3483
4434
|
"fieldset",
|
|
3484
4435
|
{
|
|
3485
4436
|
"data-slot": "field-set",
|
|
3486
|
-
className: (0,
|
|
4437
|
+
className: (0, import_cn21.cn)(
|
|
3487
4438
|
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
3488
4439
|
className
|
|
3489
4440
|
),
|
|
@@ -3496,12 +4447,12 @@ function FieldLegend({
|
|
|
3496
4447
|
variant = "legend",
|
|
3497
4448
|
...props
|
|
3498
4449
|
}) {
|
|
3499
|
-
return /* @__PURE__ */ (0,
|
|
4450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3500
4451
|
"legend",
|
|
3501
4452
|
{
|
|
3502
4453
|
"data-slot": "field-legend",
|
|
3503
4454
|
"data-variant": variant,
|
|
3504
|
-
className: (0,
|
|
4455
|
+
className: (0, import_cn21.cn)(
|
|
3505
4456
|
"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
|
|
3506
4457
|
className
|
|
3507
4458
|
),
|
|
@@ -3510,11 +4461,11 @@ function FieldLegend({
|
|
|
3510
4461
|
);
|
|
3511
4462
|
}
|
|
3512
4463
|
function FieldGroup({ className, ...props }) {
|
|
3513
|
-
return /* @__PURE__ */ (0,
|
|
4464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3514
4465
|
"div",
|
|
3515
4466
|
{
|
|
3516
4467
|
"data-slot": "field-group",
|
|
3517
|
-
className: (0,
|
|
4468
|
+
className: (0, import_cn21.cn)(
|
|
3518
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",
|
|
3519
4470
|
className
|
|
3520
4471
|
),
|
|
@@ -3522,7 +4473,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
3522
4473
|
}
|
|
3523
4474
|
);
|
|
3524
4475
|
}
|
|
3525
|
-
var fieldVariants = (0,
|
|
4476
|
+
var fieldVariants = (0, import_class_variance_authority16.cva)(
|
|
3526
4477
|
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
3527
4478
|
{
|
|
3528
4479
|
variants: {
|
|
@@ -3542,23 +4493,23 @@ function Field({
|
|
|
3542
4493
|
orientation = "vertical",
|
|
3543
4494
|
...props
|
|
3544
4495
|
}) {
|
|
3545
|
-
return /* @__PURE__ */ (0,
|
|
4496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3546
4497
|
"div",
|
|
3547
4498
|
{
|
|
3548
4499
|
role: "group",
|
|
3549
4500
|
"data-slot": "field",
|
|
3550
4501
|
"data-orientation": orientation,
|
|
3551
|
-
className: (0,
|
|
4502
|
+
className: (0, import_cn21.cn)(fieldVariants({ orientation }), className),
|
|
3552
4503
|
...props
|
|
3553
4504
|
}
|
|
3554
4505
|
);
|
|
3555
4506
|
}
|
|
3556
4507
|
function FieldContent({ className, ...props }) {
|
|
3557
|
-
return /* @__PURE__ */ (0,
|
|
4508
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3558
4509
|
"div",
|
|
3559
4510
|
{
|
|
3560
4511
|
"data-slot": "field-content",
|
|
3561
|
-
className: (0,
|
|
4512
|
+
className: (0, import_cn21.cn)(
|
|
3562
4513
|
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
3563
4514
|
className
|
|
3564
4515
|
),
|
|
@@ -3570,11 +4521,11 @@ function FieldLabel({
|
|
|
3570
4521
|
className,
|
|
3571
4522
|
...props
|
|
3572
4523
|
}) {
|
|
3573
|
-
return /* @__PURE__ */ (0,
|
|
4524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3574
4525
|
Label,
|
|
3575
4526
|
{
|
|
3576
4527
|
"data-slot": "field-label",
|
|
3577
|
-
className: (0,
|
|
4528
|
+
className: (0, import_cn21.cn)(
|
|
3578
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",
|
|
3579
4530
|
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
3580
4531
|
className
|
|
@@ -3584,11 +4535,11 @@ function FieldLabel({
|
|
|
3584
4535
|
);
|
|
3585
4536
|
}
|
|
3586
4537
|
function FieldTitle({ className, ...props }) {
|
|
3587
|
-
return /* @__PURE__ */ (0,
|
|
4538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3588
4539
|
"div",
|
|
3589
4540
|
{
|
|
3590
4541
|
"data-slot": "field-label",
|
|
3591
|
-
className: (0,
|
|
4542
|
+
className: (0, import_cn21.cn)(
|
|
3592
4543
|
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
3593
4544
|
className
|
|
3594
4545
|
),
|
|
@@ -3597,11 +4548,11 @@ function FieldTitle({ className, ...props }) {
|
|
|
3597
4548
|
);
|
|
3598
4549
|
}
|
|
3599
4550
|
function FieldDescription({ className, ...props }) {
|
|
3600
|
-
return /* @__PURE__ */ (0,
|
|
4551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3601
4552
|
"p",
|
|
3602
4553
|
{
|
|
3603
4554
|
"data-slot": "field-description",
|
|
3604
|
-
className: (0,
|
|
4555
|
+
className: (0, import_cn21.cn)(
|
|
3605
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",
|
|
3606
4557
|
"last:mt-0 nth-last-2:-mt-1",
|
|
3607
4558
|
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
@@ -3616,19 +4567,19 @@ function FieldSeparator({
|
|
|
3616
4567
|
className,
|
|
3617
4568
|
...props
|
|
3618
4569
|
}) {
|
|
3619
|
-
return /* @__PURE__ */ (0,
|
|
4570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3620
4571
|
"div",
|
|
3621
4572
|
{
|
|
3622
4573
|
"data-slot": "field-separator",
|
|
3623
4574
|
"data-content": !!children,
|
|
3624
|
-
className: (0,
|
|
4575
|
+
className: (0, import_cn21.cn)(
|
|
3625
4576
|
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
3626
4577
|
className
|
|
3627
4578
|
),
|
|
3628
4579
|
...props,
|
|
3629
4580
|
children: [
|
|
3630
|
-
/* @__PURE__ */ (0,
|
|
3631
|
-
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)(
|
|
3632
4583
|
"span",
|
|
3633
4584
|
{
|
|
3634
4585
|
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
@@ -3659,19 +4610,19 @@ function FieldError({
|
|
|
3659
4610
|
if (uniqueErrors?.length == 1) {
|
|
3660
4611
|
return uniqueErrors[0]?.message;
|
|
3661
4612
|
}
|
|
3662
|
-
return /* @__PURE__ */ (0,
|
|
3663
|
-
(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)
|
|
3664
4615
|
) });
|
|
3665
4616
|
}, [children, errors]);
|
|
3666
4617
|
if (!content) {
|
|
3667
4618
|
return null;
|
|
3668
4619
|
}
|
|
3669
|
-
return /* @__PURE__ */ (0,
|
|
4620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3670
4621
|
"div",
|
|
3671
4622
|
{
|
|
3672
4623
|
role: "alert",
|
|
3673
4624
|
"data-slot": "field-error",
|
|
3674
|
-
className: (0,
|
|
4625
|
+
className: (0, import_cn21.cn)("text-sm font-normal text-destructive", className),
|
|
3675
4626
|
...props,
|
|
3676
4627
|
children: content
|
|
3677
4628
|
}
|
|
@@ -3679,11 +4630,11 @@ function FieldError({
|
|
|
3679
4630
|
}
|
|
3680
4631
|
|
|
3681
4632
|
// src/components/link/Link.tsx
|
|
3682
|
-
var
|
|
3683
|
-
var
|
|
3684
|
-
var
|
|
3685
|
-
var
|
|
3686
|
-
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)(
|
|
3687
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",
|
|
3688
4639
|
{
|
|
3689
4640
|
variants: {
|
|
@@ -3707,7 +4658,7 @@ var linkVariants = (0, import_class_variance_authority16.cva)(
|
|
|
3707
4658
|
}
|
|
3708
4659
|
}
|
|
3709
4660
|
);
|
|
3710
|
-
var Link =
|
|
4661
|
+
var Link = React25.forwardRef(
|
|
3711
4662
|
({
|
|
3712
4663
|
className,
|
|
3713
4664
|
variant,
|
|
@@ -3720,7 +4671,7 @@ var Link = React23.forwardRef(
|
|
|
3720
4671
|
...props
|
|
3721
4672
|
}, ref) => {
|
|
3722
4673
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
3723
|
-
return /* @__PURE__ */ (0,
|
|
4674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3724
4675
|
"a",
|
|
3725
4676
|
{
|
|
3726
4677
|
ref,
|
|
@@ -3736,8 +4687,8 @@ var Link = React23.forwardRef(
|
|
|
3736
4687
|
},
|
|
3737
4688
|
children: [
|
|
3738
4689
|
children,
|
|
3739
|
-
icon && /* @__PURE__ */ (0,
|
|
3740
|
-
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 }) })
|
|
3741
4692
|
]
|
|
3742
4693
|
}
|
|
3743
4694
|
);
|
|
@@ -3746,11 +4697,11 @@ var Link = React23.forwardRef(
|
|
|
3746
4697
|
Link.displayName = "Link";
|
|
3747
4698
|
|
|
3748
4699
|
// src/components/container/Container.tsx
|
|
3749
|
-
var
|
|
3750
|
-
var
|
|
3751
|
-
var
|
|
3752
|
-
var
|
|
3753
|
-
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", {
|
|
3754
4705
|
variants: {
|
|
3755
4706
|
size: {
|
|
3756
4707
|
sm: "max-w-3xl",
|
|
@@ -3771,13 +4722,13 @@ var containerVariants = (0, import_class_variance_authority17.cva)("w-full mx-au
|
|
|
3771
4722
|
padding: "md"
|
|
3772
4723
|
}
|
|
3773
4724
|
});
|
|
3774
|
-
var Container =
|
|
4725
|
+
var Container = React26.forwardRef(
|
|
3775
4726
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
3776
|
-
return (0,
|
|
4727
|
+
return (0, import_use_render3.useRender)({
|
|
3777
4728
|
ref,
|
|
3778
4729
|
defaultTagName: "div",
|
|
3779
4730
|
render: asChild ? children : void 0,
|
|
3780
|
-
props: (0,
|
|
4731
|
+
props: (0, import_merge_props3.mergeProps)(
|
|
3781
4732
|
{
|
|
3782
4733
|
className: cn(containerVariants({ size, padding }), className),
|
|
3783
4734
|
children: asChild ? void 0 : children
|
|
@@ -3790,11 +4741,11 @@ var Container = React24.forwardRef(
|
|
|
3790
4741
|
Container.displayName = "Container";
|
|
3791
4742
|
|
|
3792
4743
|
// src/components/grid/Grid.tsx
|
|
3793
|
-
var
|
|
3794
|
-
var
|
|
3795
|
-
var
|
|
3796
|
-
var
|
|
3797
|
-
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", {
|
|
3798
4749
|
variants: {
|
|
3799
4750
|
align: {
|
|
3800
4751
|
start: "items-start",
|
|
@@ -3816,13 +4767,13 @@ var gridVariants = (0, import_class_variance_authority18.cva)("grid", {
|
|
|
3816
4767
|
justify: "start"
|
|
3817
4768
|
}
|
|
3818
4769
|
});
|
|
3819
|
-
var Grid =
|
|
4770
|
+
var Grid = React27.forwardRef(
|
|
3820
4771
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
3821
|
-
return (0,
|
|
4772
|
+
return (0, import_use_render4.useRender)({
|
|
3822
4773
|
ref,
|
|
3823
4774
|
defaultTagName: "div",
|
|
3824
4775
|
render: asChild ? children : void 0,
|
|
3825
|
-
props: (0,
|
|
4776
|
+
props: (0, import_merge_props4.mergeProps)(
|
|
3826
4777
|
{
|
|
3827
4778
|
className: cn(
|
|
3828
4779
|
gridVariants({ align, justify }),
|
|
@@ -3843,11 +4794,11 @@ var Grid = React25.forwardRef(
|
|
|
3843
4794
|
Grid.displayName = "Grid";
|
|
3844
4795
|
|
|
3845
4796
|
// src/components/box/Box.tsx
|
|
3846
|
-
var
|
|
3847
|
-
var
|
|
3848
|
-
var
|
|
3849
|
-
var
|
|
3850
|
-
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", {
|
|
3851
4802
|
variants: {
|
|
3852
4803
|
direction: {
|
|
3853
4804
|
row: "flex-row",
|
|
@@ -3883,13 +4834,13 @@ var boxVariants = (0, import_class_variance_authority19.cva)("flex", {
|
|
|
3883
4834
|
wrap: "nowrap"
|
|
3884
4835
|
}
|
|
3885
4836
|
});
|
|
3886
|
-
var Box =
|
|
4837
|
+
var Box = React28.forwardRef(
|
|
3887
4838
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
3888
|
-
return (0,
|
|
4839
|
+
return (0, import_use_render5.useRender)({
|
|
3889
4840
|
ref,
|
|
3890
4841
|
defaultTagName: "div",
|
|
3891
4842
|
render: asChild ? children : void 0,
|
|
3892
|
-
props: (0,
|
|
4843
|
+
props: (0, import_merge_props5.mergeProps)(
|
|
3893
4844
|
{
|
|
3894
4845
|
className: cn(
|
|
3895
4846
|
boxVariants({ direction, align, justify, wrap }),
|
|
@@ -3906,22 +4857,22 @@ var Box = React26.forwardRef(
|
|
|
3906
4857
|
Box.displayName = "Box";
|
|
3907
4858
|
|
|
3908
4859
|
// src/components/language-select/LanguageSelect.tsx
|
|
3909
|
-
var
|
|
3910
|
-
var
|
|
3911
|
-
var
|
|
3912
|
-
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(
|
|
3913
4864
|
({ className, options, value, onValueChange }, ref) => {
|
|
3914
|
-
return /* @__PURE__ */ (0,
|
|
3915
|
-
/* @__PURE__ */ (0,
|
|
3916
|
-
/* @__PURE__ */ (0,
|
|
3917
|
-
/* @__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 })
|
|
3918
4869
|
] }) }),
|
|
3919
|
-
/* @__PURE__ */ (0,
|
|
4870
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DropdownMenuContent, { align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3920
4871
|
DropdownMenuRadioGroup,
|
|
3921
4872
|
{
|
|
3922
4873
|
value,
|
|
3923
4874
|
onValueChange: onValueChange ? (v) => onValueChange(v) : void 0,
|
|
3924
|
-
children: options.map((option) => /* @__PURE__ */ (0,
|
|
4875
|
+
children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3925
4876
|
DropdownMenuRadioItem,
|
|
3926
4877
|
{
|
|
3927
4878
|
value: option.value,
|
|
@@ -3939,13 +4890,13 @@ var LanguageSelect = React27.forwardRef(
|
|
|
3939
4890
|
LanguageSelect.displayName = "LanguageSelect";
|
|
3940
4891
|
|
|
3941
4892
|
// src/components/list/List.tsx
|
|
3942
|
-
var
|
|
4893
|
+
var React31 = __toESM(require("react"), 1);
|
|
3943
4894
|
|
|
3944
4895
|
// src/components/divider/Divider.tsx
|
|
3945
|
-
var
|
|
3946
|
-
var
|
|
3947
|
-
var
|
|
3948
|
-
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)("", {
|
|
3949
4900
|
variants: {
|
|
3950
4901
|
variant: {
|
|
3951
4902
|
default: "bg-berget-separator",
|
|
@@ -3965,7 +4916,7 @@ var dividerVariants = (0, import_class_variance_authority20.cva)("", {
|
|
|
3965
4916
|
size: "thin"
|
|
3966
4917
|
}
|
|
3967
4918
|
});
|
|
3968
|
-
var Divider =
|
|
4919
|
+
var Divider = React30.forwardRef(
|
|
3969
4920
|
({
|
|
3970
4921
|
className,
|
|
3971
4922
|
orientation = "horizontal",
|
|
@@ -3976,16 +4927,16 @@ var Divider = React28.forwardRef(
|
|
|
3976
4927
|
...props
|
|
3977
4928
|
}, ref) => {
|
|
3978
4929
|
if (label) {
|
|
3979
|
-
return /* @__PURE__ */ (0,
|
|
3980
|
-
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)(
|
|
3981
4932
|
Separator,
|
|
3982
4933
|
{
|
|
3983
4934
|
orientation: "horizontal",
|
|
3984
4935
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
3985
4936
|
}
|
|
3986
4937
|
),
|
|
3987
|
-
/* @__PURE__ */ (0,
|
|
3988
|
-
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)(
|
|
3989
4940
|
Separator,
|
|
3990
4941
|
{
|
|
3991
4942
|
orientation: "horizontal",
|
|
@@ -3994,7 +4945,7 @@ var Divider = React28.forwardRef(
|
|
|
3994
4945
|
)
|
|
3995
4946
|
] });
|
|
3996
4947
|
}
|
|
3997
|
-
return /* @__PURE__ */ (0,
|
|
4948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3998
4949
|
Separator,
|
|
3999
4950
|
{
|
|
4000
4951
|
ref,
|
|
@@ -4011,20 +4962,20 @@ var Divider = React28.forwardRef(
|
|
|
4011
4962
|
Divider.displayName = "Divider";
|
|
4012
4963
|
|
|
4013
4964
|
// src/components/list/List.tsx
|
|
4014
|
-
var
|
|
4015
|
-
var
|
|
4016
|
-
var List =
|
|
4965
|
+
var import_lucide_react16 = require("lucide-react");
|
|
4966
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
4967
|
+
var List = React31.forwardRef(
|
|
4017
4968
|
({ className, children, ...props }, ref) => {
|
|
4018
|
-
const childrenArray =
|
|
4019
|
-
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: [
|
|
4020
4971
|
child,
|
|
4021
|
-
index < childrenArray.length - 1 && /* @__PURE__ */ (0,
|
|
4972
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Divider, { variant: "subtle" })
|
|
4022
4973
|
] }, index)) });
|
|
4023
4974
|
}
|
|
4024
4975
|
);
|
|
4025
4976
|
List.displayName = "List";
|
|
4026
|
-
var ListItem =
|
|
4027
|
-
({ 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)(
|
|
4028
4979
|
"div",
|
|
4029
4980
|
{
|
|
4030
4981
|
ref,
|
|
@@ -4035,15 +4986,15 @@ var ListItem = React29.forwardRef(
|
|
|
4035
4986
|
),
|
|
4036
4987
|
...props,
|
|
4037
4988
|
children: [
|
|
4038
|
-
icon && /* @__PURE__ */ (0,
|
|
4039
|
-
/* @__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 })
|
|
4040
4991
|
]
|
|
4041
4992
|
}
|
|
4042
4993
|
)
|
|
4043
4994
|
);
|
|
4044
4995
|
ListItem.displayName = "ListItem";
|
|
4045
|
-
var ListHeader =
|
|
4046
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
4996
|
+
var ListHeader = React31.forwardRef(
|
|
4997
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
4047
4998
|
"div",
|
|
4048
4999
|
{
|
|
4049
5000
|
ref,
|
|
@@ -4054,11 +5005,11 @@ var ListHeader = React29.forwardRef(
|
|
|
4054
5005
|
)
|
|
4055
5006
|
);
|
|
4056
5007
|
ListHeader.displayName = "ListHeader";
|
|
4057
|
-
var FeatureList =
|
|
5008
|
+
var FeatureList = React31.forwardRef(
|
|
4058
5009
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
4059
|
-
return /* @__PURE__ */ (0,
|
|
4060
|
-
variant === "bullet" ? /* @__PURE__ */ (0,
|
|
4061
|
-
/* @__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 })
|
|
4062
5013
|
] }, index)) });
|
|
4063
5014
|
}
|
|
4064
5015
|
);
|
|
@@ -4066,7 +5017,7 @@ FeatureList.displayName = "FeatureList";
|
|
|
4066
5017
|
|
|
4067
5018
|
// src/components/code-block/CodeBlock.tsx
|
|
4068
5019
|
var import_react2 = require("react");
|
|
4069
|
-
var
|
|
5020
|
+
var import_lucide_react17 = require("lucide-react");
|
|
4070
5021
|
|
|
4071
5022
|
// src/lib/shiki.ts
|
|
4072
5023
|
var import_core2 = require("shiki/core");
|
|
@@ -4107,7 +5058,7 @@ function getHighlighter() {
|
|
|
4107
5058
|
}
|
|
4108
5059
|
|
|
4109
5060
|
// src/components/code-block/CodeBlock.tsx
|
|
4110
|
-
var
|
|
5061
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4111
5062
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
4112
5063
|
const [html, setHtml] = (0, import_react2.useState)(null);
|
|
4113
5064
|
const [copied, setCopied] = (0, import_react2.useState)(false);
|
|
@@ -4123,16 +5074,16 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4123
5074
|
setCopied(true);
|
|
4124
5075
|
setTimeout(() => setCopied(false), 2e3);
|
|
4125
5076
|
}, [code]);
|
|
4126
|
-
const copyButton = /* @__PURE__ */ (0,
|
|
5077
|
+
const copyButton = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4127
5078
|
"button",
|
|
4128
5079
|
{
|
|
4129
5080
|
onClick: handleCopy,
|
|
4130
5081
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
4131
5082
|
"aria-label": "Copy code",
|
|
4132
|
-
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" })
|
|
4133
5084
|
}
|
|
4134
5085
|
);
|
|
4135
|
-
return /* @__PURE__ */ (0,
|
|
5086
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4136
5087
|
"div",
|
|
4137
5088
|
{
|
|
4138
5089
|
className: cn(
|
|
@@ -4140,25 +5091,25 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4140
5091
|
className
|
|
4141
5092
|
),
|
|
4142
5093
|
children: [
|
|
4143
|
-
title && /* @__PURE__ */ (0,
|
|
4144
|
-
/* @__PURE__ */ (0,
|
|
4145
|
-
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)(
|
|
4146
5097
|
"div",
|
|
4147
5098
|
{
|
|
4148
5099
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
4149
5100
|
dangerouslySetInnerHTML: { __html: html }
|
|
4150
5101
|
}
|
|
4151
|
-
) : /* @__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 }) })
|
|
4152
5103
|
]
|
|
4153
5104
|
}
|
|
4154
5105
|
);
|
|
4155
5106
|
}
|
|
4156
5107
|
|
|
4157
5108
|
// src/components/window-frame/WindowFrame.tsx
|
|
4158
|
-
var
|
|
5109
|
+
var React32 = __toESM(require("react"), 1);
|
|
4159
5110
|
var import_react3 = require("react");
|
|
4160
|
-
var
|
|
4161
|
-
var WindowFrame =
|
|
5111
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
5112
|
+
var WindowFrame = React32.forwardRef(
|
|
4162
5113
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
4163
5114
|
const [internalActive, setInternalActive] = (0, import_react3.useState)(tabs?.[0]?.id ?? "");
|
|
4164
5115
|
const currentTab = activeTab ?? internalActive;
|
|
@@ -4169,7 +5120,7 @@ var WindowFrame = React30.forwardRef(
|
|
|
4169
5120
|
setInternalActive(id);
|
|
4170
5121
|
}
|
|
4171
5122
|
};
|
|
4172
|
-
return /* @__PURE__ */ (0,
|
|
5123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
4173
5124
|
"div",
|
|
4174
5125
|
{
|
|
4175
5126
|
ref,
|
|
@@ -4179,13 +5130,13 @@ var WindowFrame = React30.forwardRef(
|
|
|
4179
5130
|
),
|
|
4180
5131
|
...props,
|
|
4181
5132
|
children: [
|
|
4182
|
-
/* @__PURE__ */ (0,
|
|
4183
|
-
/* @__PURE__ */ (0,
|
|
4184
|
-
/* @__PURE__ */ (0,
|
|
4185
|
-
/* @__PURE__ */ (0,
|
|
4186
|
-
/* @__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" })
|
|
4187
5138
|
] }),
|
|
4188
|
-
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)(
|
|
4189
5140
|
"button",
|
|
4190
5141
|
{
|
|
4191
5142
|
type: "button",
|
|
@@ -4197,9 +5148,9 @@ var WindowFrame = React30.forwardRef(
|
|
|
4197
5148
|
children: tab.label
|
|
4198
5149
|
},
|
|
4199
5150
|
tab.id
|
|
4200
|
-
)) }) : /* @__PURE__ */ (0,
|
|
5151
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
4201
5152
|
] }),
|
|
4202
|
-
/* @__PURE__ */ (0,
|
|
5153
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children })
|
|
4203
5154
|
]
|
|
4204
5155
|
}
|
|
4205
5156
|
);
|
|
@@ -4209,7 +5160,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
4209
5160
|
|
|
4210
5161
|
// src/components/fog-illustration/FogIllustration.tsx
|
|
4211
5162
|
var import_react4 = require("react");
|
|
4212
|
-
var
|
|
5163
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4213
5164
|
var FOG_BRAND_PALETTE = {
|
|
4214
5165
|
ink: "#171a1a",
|
|
4215
5166
|
milk: "#f7f5ed",
|
|
@@ -4522,7 +5473,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4522
5473
|
gl.deleteFramebuffer(fbo);
|
|
4523
5474
|
};
|
|
4524
5475
|
}, []);
|
|
4525
|
-
return /* @__PURE__ */ (0,
|
|
5476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
4526
5477
|
};
|
|
4527
5478
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4528
5479
|
0 && (module.exports = {
|
|
@@ -4625,6 +5576,31 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4625
5576
|
NavigationMenuPositioner,
|
|
4626
5577
|
NavigationMenuTrigger,
|
|
4627
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,
|
|
4628
5604
|
Switch,
|
|
4629
5605
|
Table,
|
|
4630
5606
|
TableBody,
|
|
@@ -4658,6 +5634,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
4658
5634
|
switchThumbVariants,
|
|
4659
5635
|
textAreaVariants,
|
|
4660
5636
|
typographyVariants,
|
|
5637
|
+
useSidebar,
|
|
4661
5638
|
useTheme
|
|
4662
5639
|
});
|
|
4663
5640
|
//# sourceMappingURL=index.cjs.map
|