@bergetai/ui 0.1.80 → 0.1.82
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 +515 -337
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -15
- package/dist/index.d.ts +40 -15
- package/dist/index.js +518 -343
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +231 -38
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,9 +2,90 @@ import {
|
|
|
2
2
|
getHighlighter
|
|
3
3
|
} from "./chunk-YEGBDRHW.js";
|
|
4
4
|
|
|
5
|
-
// src/components/
|
|
6
|
-
import * as
|
|
7
|
-
import {
|
|
5
|
+
// src/components/theme-provider/ThemeProvider.tsx
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
var ThemeProviderContext = React.createContext(void 0);
|
|
9
|
+
var STORAGE_KEY = "berget-theme";
|
|
10
|
+
function getSystemTheme() {
|
|
11
|
+
return window.matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
12
|
+
}
|
|
13
|
+
function resolveTheme(theme) {
|
|
14
|
+
return {
|
|
15
|
+
theme,
|
|
16
|
+
resolvedTheme: theme === "system" ? getSystemTheme() : theme
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var ThemeProvider = React.memo(function ThemeProvider2({
|
|
20
|
+
children,
|
|
21
|
+
theme: controlledTheme
|
|
22
|
+
}) {
|
|
23
|
+
const isControlled = controlledTheme !== void 0;
|
|
24
|
+
const [state, setState] = React.useState(() => {
|
|
25
|
+
if (isControlled) {
|
|
26
|
+
return resolveTheme(controlledTheme);
|
|
27
|
+
}
|
|
28
|
+
let theme = "system";
|
|
29
|
+
try {
|
|
30
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
31
|
+
if (stored && ["dark", "light", "system"].includes(stored)) {
|
|
32
|
+
theme = stored;
|
|
33
|
+
}
|
|
34
|
+
} catch {
|
|
35
|
+
}
|
|
36
|
+
return resolveTheme(theme);
|
|
37
|
+
});
|
|
38
|
+
React.useEffect(() => {
|
|
39
|
+
document.documentElement.setAttribute("data-theme", state.resolvedTheme);
|
|
40
|
+
}, [state.resolvedTheme]);
|
|
41
|
+
React.useEffect(() => {
|
|
42
|
+
if (isControlled && state.theme !== controlledTheme) {
|
|
43
|
+
setState(resolveTheme(controlledTheme));
|
|
44
|
+
}
|
|
45
|
+
}, [isControlled, controlledTheme, state.theme]);
|
|
46
|
+
const setTheme = React.useCallback(
|
|
47
|
+
(theme) => {
|
|
48
|
+
if (isControlled) return;
|
|
49
|
+
const next = resolveTheme(theme);
|
|
50
|
+
setState(next);
|
|
51
|
+
try {
|
|
52
|
+
localStorage.setItem(STORAGE_KEY, theme);
|
|
53
|
+
} catch {
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
[isControlled]
|
|
57
|
+
);
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
if (isControlled || state.theme !== "system") return;
|
|
60
|
+
const media = window.matchMedia("(prefers-color-scheme: light)");
|
|
61
|
+
const handler = () => {
|
|
62
|
+
setState((prev) => ({
|
|
63
|
+
...prev,
|
|
64
|
+
resolvedTheme: getSystemTheme()
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
media.addEventListener("change", handler);
|
|
68
|
+
return () => media.removeEventListener("change", handler);
|
|
69
|
+
}, [isControlled, state.theme]);
|
|
70
|
+
const value = React.useMemo(
|
|
71
|
+
() => ({
|
|
72
|
+
...state,
|
|
73
|
+
setTheme
|
|
74
|
+
}),
|
|
75
|
+
[state, setTheme]
|
|
76
|
+
);
|
|
77
|
+
return /* @__PURE__ */ jsx(ThemeProviderContext.Provider, { value, children });
|
|
78
|
+
});
|
|
79
|
+
function useTheme() {
|
|
80
|
+
const context = React.useContext(ThemeProviderContext);
|
|
81
|
+
if (!context) {
|
|
82
|
+
throw new Error("useTheme must be used within a ThemeProvider.");
|
|
83
|
+
}
|
|
84
|
+
return context;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// src/components/theme-provider/ThemeToggle.tsx
|
|
88
|
+
import * as React2 from "react";
|
|
8
89
|
|
|
9
90
|
// src/lib/utils.ts
|
|
10
91
|
import { clsx } from "clsx";
|
|
@@ -28,11 +109,102 @@ function cn(...inputs) {
|
|
|
28
109
|
return twMerge(clsx(inputs));
|
|
29
110
|
}
|
|
30
111
|
|
|
112
|
+
// src/components/theme-provider/ThemeToggle.tsx
|
|
113
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
114
|
+
var ThemeToggle = React2.forwardRef(
|
|
115
|
+
({ className, label = "Toggle theme", size = "md", ...props }, ref) => {
|
|
116
|
+
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
117
|
+
const toggle = React2.useCallback(() => {
|
|
118
|
+
setTheme(theme === "dark" ? "light" : "dark");
|
|
119
|
+
}, [theme, setTheme]);
|
|
120
|
+
return /* @__PURE__ */ jsxs(
|
|
121
|
+
"button",
|
|
122
|
+
{
|
|
123
|
+
ref,
|
|
124
|
+
type: "button",
|
|
125
|
+
onClick: toggle,
|
|
126
|
+
"aria-label": label,
|
|
127
|
+
title: `Toggle ${resolvedTheme === "dark" ? "light" : "dark"} mode`,
|
|
128
|
+
className: cn(
|
|
129
|
+
"relative inline-flex items-center justify-center rounded-full cursor-pointer",
|
|
130
|
+
"transition-colors duration-200",
|
|
131
|
+
"hover:bg-berget-surface-hover",
|
|
132
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring",
|
|
133
|
+
size === "sm" && "w-7 h-7",
|
|
134
|
+
size === "md" && "w-9 h-9",
|
|
135
|
+
size === "lg" && "w-11 h-11",
|
|
136
|
+
className
|
|
137
|
+
),
|
|
138
|
+
...props,
|
|
139
|
+
children: [
|
|
140
|
+
/* @__PURE__ */ jsxs(
|
|
141
|
+
"svg",
|
|
142
|
+
{
|
|
143
|
+
className: cn(
|
|
144
|
+
"absolute transition-all duration-200",
|
|
145
|
+
resolvedTheme === "dark" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 -rotate-90",
|
|
146
|
+
size === "sm" && "w-3.5 h-3.5",
|
|
147
|
+
size === "md" && "w-4 h-4",
|
|
148
|
+
size === "lg" && "w-5 h-5"
|
|
149
|
+
),
|
|
150
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
151
|
+
fill: "none",
|
|
152
|
+
viewBox: "0 0 24 24",
|
|
153
|
+
stroke: "currentColor",
|
|
154
|
+
strokeWidth: 2,
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ jsx2("circle", { cx: "12", cy: "12", r: "4" }),
|
|
157
|
+
/* @__PURE__ */ jsx2(
|
|
158
|
+
"path",
|
|
159
|
+
{
|
|
160
|
+
strokeLinecap: "round",
|
|
161
|
+
d: "M12 2v2m0 16v2m9-10h-2M5 12H3m15.36 6.36-1.41-1.41M6.05 6.05 4.64 4.64m12.72 0-1.41 1.41M6.05 17.95l-1.41 1.41"
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
/* @__PURE__ */ jsx2(
|
|
168
|
+
"svg",
|
|
169
|
+
{
|
|
170
|
+
className: cn(
|
|
171
|
+
"absolute transition-all duration-200",
|
|
172
|
+
resolvedTheme === "light" ? "opacity-100 scale-100 rotate-0" : "opacity-0 scale-0 rotate-90",
|
|
173
|
+
size === "sm" && "w-3.5 h-3.5",
|
|
174
|
+
size === "md" && "w-4 h-4",
|
|
175
|
+
size === "lg" && "w-5 h-5"
|
|
176
|
+
),
|
|
177
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
178
|
+
fill: "none",
|
|
179
|
+
viewBox: "0 0 24 24",
|
|
180
|
+
stroke: "currentColor",
|
|
181
|
+
strokeWidth: 2,
|
|
182
|
+
children: /* @__PURE__ */ jsx2(
|
|
183
|
+
"path",
|
|
184
|
+
{
|
|
185
|
+
strokeLinecap: "round",
|
|
186
|
+
strokeLinejoin: "round",
|
|
187
|
+
d: "M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
}
|
|
191
|
+
)
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
);
|
|
197
|
+
ThemeToggle.displayName = "ThemeToggle";
|
|
198
|
+
|
|
199
|
+
// src/components/button/Button.tsx
|
|
200
|
+
import * as React5 from "react";
|
|
201
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
202
|
+
|
|
31
203
|
// src/primitives/button.tsx
|
|
32
|
-
import * as
|
|
204
|
+
import * as React3 from "react";
|
|
33
205
|
import { Slot } from "@radix-ui/react-slot";
|
|
34
206
|
import { cva } from "class-variance-authority";
|
|
35
|
-
import { jsx } from "react/jsx-runtime";
|
|
207
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
36
208
|
var buttonVariants = cva(
|
|
37
209
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
38
210
|
{
|
|
@@ -58,23 +230,23 @@ var buttonVariants = cva(
|
|
|
58
230
|
}
|
|
59
231
|
}
|
|
60
232
|
);
|
|
61
|
-
var Button =
|
|
233
|
+
var Button = React3.forwardRef(
|
|
62
234
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
63
235
|
const Comp = asChild ? Slot : "button";
|
|
64
|
-
return /* @__PURE__ */
|
|
236
|
+
return /* @__PURE__ */ jsx3(Comp, { className: cn(buttonVariants({ variant, size }), className), ref, ...props });
|
|
65
237
|
}
|
|
66
238
|
);
|
|
67
239
|
Button.displayName = "Button";
|
|
68
240
|
|
|
69
241
|
// src/components/icon/Icon.tsx
|
|
70
|
-
import * as
|
|
71
|
-
import { jsx as
|
|
242
|
+
import * as React4 from "react";
|
|
243
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
72
244
|
var iconStrokeMap = {
|
|
73
245
|
16: 1.4,
|
|
74
246
|
24: 1.6,
|
|
75
247
|
32: 1.8
|
|
76
248
|
};
|
|
77
|
-
var Icon =
|
|
249
|
+
var Icon = React4.forwardRef(
|
|
78
250
|
({
|
|
79
251
|
icon: IconComponent,
|
|
80
252
|
size,
|
|
@@ -86,7 +258,7 @@ var Icon = React2.forwardRef(
|
|
|
86
258
|
const strokeWidth = iconStrokeMap[size];
|
|
87
259
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
88
260
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
89
|
-
return /* @__PURE__ */
|
|
261
|
+
return /* @__PURE__ */ jsx4(
|
|
90
262
|
IconComponent,
|
|
91
263
|
{
|
|
92
264
|
ref,
|
|
@@ -102,7 +274,7 @@ Icon.displayName = "Icon";
|
|
|
102
274
|
|
|
103
275
|
// src/components/button/Button.tsx
|
|
104
276
|
import { Loader2 } from "lucide-react";
|
|
105
|
-
import { Fragment, jsx as
|
|
277
|
+
import { Fragment, jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
106
278
|
var buttonVariants2 = cva2(
|
|
107
279
|
"inline-flex items-center justify-center whitespace-nowrap rounded-full text-sm font-medium cursor-pointer transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-berget-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
108
280
|
{
|
|
@@ -133,7 +305,7 @@ var buttonVariants2 = cva2(
|
|
|
133
305
|
}
|
|
134
306
|
}
|
|
135
307
|
);
|
|
136
|
-
var Button2 =
|
|
308
|
+
var Button2 = React5.forwardRef(
|
|
137
309
|
({
|
|
138
310
|
className,
|
|
139
311
|
variant,
|
|
@@ -148,7 +320,7 @@ var Button2 = React3.forwardRef(
|
|
|
148
320
|
const isHighlight = variant === "highlight";
|
|
149
321
|
const isIcon = variant === "icon";
|
|
150
322
|
if (asChild) {
|
|
151
|
-
return /* @__PURE__ */
|
|
323
|
+
return /* @__PURE__ */ jsx5(
|
|
152
324
|
Button,
|
|
153
325
|
{
|
|
154
326
|
className: cn(buttonVariants2({ variant, size, width }), className),
|
|
@@ -162,7 +334,7 @@ var Button2 = React3.forwardRef(
|
|
|
162
334
|
}
|
|
163
335
|
);
|
|
164
336
|
}
|
|
165
|
-
return /* @__PURE__ */
|
|
337
|
+
return /* @__PURE__ */ jsxs2(
|
|
166
338
|
Button,
|
|
167
339
|
{
|
|
168
340
|
className: cn(buttonVariants2({ variant, size, width }), className),
|
|
@@ -172,11 +344,11 @@ var Button2 = React3.forwardRef(
|
|
|
172
344
|
"aria-busy": isLoading || void 0,
|
|
173
345
|
...props,
|
|
174
346
|
children: [
|
|
175
|
-
isHighlight && /* @__PURE__ */
|
|
176
|
-
/* @__PURE__ */
|
|
177
|
-
/* @__PURE__ */
|
|
347
|
+
isHighlight && /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
348
|
+
/* @__PURE__ */ jsx5("div", { className: "absolute inset-0 top-[1px] h-[calc(100%-1px)] w-full bg-[radial-gradient(100%_100%_at_49.87%_0%,color-mix(in_oklch,var(--berget-foreground)_4%,transparent)_0%,transparent_100%)] pointer-events-none" }),
|
|
349
|
+
/* @__PURE__ */ jsx5("div", { className: "absolute top-0 left-0 right-0 h-[1px] bg-[radial-gradient(55.66%_112.5%_at_50%_0%,var(--berget-foreground)_0%,transparent_92.4%)] opacity-[0.3] pointer-events-none" })
|
|
178
350
|
] }),
|
|
179
|
-
/* @__PURE__ */
|
|
351
|
+
/* @__PURE__ */ jsx5(
|
|
180
352
|
"span",
|
|
181
353
|
{
|
|
182
354
|
className: cn(
|
|
@@ -184,8 +356,8 @@ var Button2 = React3.forwardRef(
|
|
|
184
356
|
!isIcon && "gap-2",
|
|
185
357
|
isHighlight && "relative z-10"
|
|
186
358
|
),
|
|
187
|
-
children: isLoading ? /* @__PURE__ */
|
|
188
|
-
/* @__PURE__ */
|
|
359
|
+
children: isLoading ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
360
|
+
/* @__PURE__ */ jsx5(Icon, { icon: Loader2, size: 16, className: "animate-spin", "aria-hidden": true }),
|
|
189
361
|
!isIcon && children
|
|
190
362
|
] }) : children
|
|
191
363
|
}
|
|
@@ -198,9 +370,9 @@ var Button2 = React3.forwardRef(
|
|
|
198
370
|
Button2.displayName = "Button";
|
|
199
371
|
|
|
200
372
|
// src/components/typography/Typography.tsx
|
|
201
|
-
import * as
|
|
373
|
+
import * as React6 from "react";
|
|
202
374
|
import { cva as cva3 } from "class-variance-authority";
|
|
203
|
-
import { jsx as
|
|
375
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
204
376
|
var typographyVariants = cva3("", {
|
|
205
377
|
variants: {
|
|
206
378
|
variant: {
|
|
@@ -245,10 +417,10 @@ var defaultElementMap = {
|
|
|
245
417
|
mono: "p",
|
|
246
418
|
code: "span"
|
|
247
419
|
};
|
|
248
|
-
var Typography =
|
|
420
|
+
var Typography = React6.forwardRef(
|
|
249
421
|
({ className, variant = "body", color = "default", as, children, ...props }, ref) => {
|
|
250
422
|
const Component = as ?? defaultElementMap[variant ?? "body"] ?? "p";
|
|
251
|
-
return /* @__PURE__ */
|
|
423
|
+
return /* @__PURE__ */ jsx6(
|
|
252
424
|
Component,
|
|
253
425
|
{
|
|
254
426
|
className: cn(typographyVariants({ variant, color }), className),
|
|
@@ -262,14 +434,14 @@ var Typography = React4.forwardRef(
|
|
|
262
434
|
Typography.displayName = "Typography";
|
|
263
435
|
|
|
264
436
|
// src/components/card/Card.tsx
|
|
265
|
-
import * as
|
|
437
|
+
import * as React8 from "react";
|
|
266
438
|
import { cva as cva4 } from "class-variance-authority";
|
|
267
439
|
|
|
268
440
|
// src/primitives/card.tsx
|
|
269
|
-
import * as
|
|
270
|
-
import { jsx as
|
|
271
|
-
var Card =
|
|
272
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
441
|
+
import * as React7 from "react";
|
|
442
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
443
|
+
var Card = React7.forwardRef(
|
|
444
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
|
|
273
445
|
"div",
|
|
274
446
|
{
|
|
275
447
|
ref,
|
|
@@ -279,29 +451,29 @@ var Card = React5.forwardRef(
|
|
|
279
451
|
)
|
|
280
452
|
);
|
|
281
453
|
Card.displayName = "Card";
|
|
282
|
-
var CardHeader =
|
|
283
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
454
|
+
var CardHeader = React7.forwardRef(
|
|
455
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
284
456
|
);
|
|
285
457
|
CardHeader.displayName = "CardHeader";
|
|
286
|
-
var CardTitle =
|
|
287
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
458
|
+
var CardTitle = React7.forwardRef(
|
|
459
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7("h2", { ref, className: cn("text-2xl leading-none tracking-tight", className), ...props })
|
|
288
460
|
);
|
|
289
461
|
CardTitle.displayName = "CardTitle";
|
|
290
|
-
var CardDescription =
|
|
291
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
462
|
+
var CardDescription = React7.forwardRef(
|
|
463
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
292
464
|
);
|
|
293
465
|
CardDescription.displayName = "CardDescription";
|
|
294
|
-
var CardContent =
|
|
295
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
466
|
+
var CardContent = React7.forwardRef(
|
|
467
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
296
468
|
);
|
|
297
469
|
CardContent.displayName = "CardContent";
|
|
298
|
-
var CardFooter =
|
|
299
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
470
|
+
var CardFooter = React7.forwardRef(
|
|
471
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx7("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
|
|
300
472
|
);
|
|
301
473
|
CardFooter.displayName = "CardFooter";
|
|
302
474
|
|
|
303
475
|
// src/components/card/Card.tsx
|
|
304
|
-
import { jsx as
|
|
476
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
305
477
|
var cardVariants = cva4("rounded-berget-sm", {
|
|
306
478
|
variants: {
|
|
307
479
|
variant: {
|
|
@@ -320,9 +492,9 @@ var cardVariants = cva4("rounded-berget-sm", {
|
|
|
320
492
|
padding: "md"
|
|
321
493
|
}
|
|
322
494
|
});
|
|
323
|
-
var Card2 =
|
|
495
|
+
var Card2 = React8.forwardRef(
|
|
324
496
|
({ className, variant, padding, children, ...props }, ref) => {
|
|
325
|
-
return /* @__PURE__ */
|
|
497
|
+
return /* @__PURE__ */ jsx8(
|
|
326
498
|
Card,
|
|
327
499
|
{
|
|
328
500
|
ref,
|
|
@@ -336,9 +508,9 @@ var Card2 = React6.forwardRef(
|
|
|
336
508
|
Card2.displayName = "Card";
|
|
337
509
|
|
|
338
510
|
// src/components/badge/Badge.tsx
|
|
339
|
-
import * as
|
|
511
|
+
import * as React9 from "react";
|
|
340
512
|
import { cva as cva5 } from "class-variance-authority";
|
|
341
|
-
import { jsx as
|
|
513
|
+
import { jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
342
514
|
var badgeVariants = cva5(
|
|
343
515
|
"inline-flex items-center whitespace-nowrap rounded-full transition-colors focus:outline-none focus:ring-1 focus:ring-ring focus:ring-offset-2",
|
|
344
516
|
{
|
|
@@ -371,10 +543,10 @@ var badgeVariants = cva5(
|
|
|
371
543
|
}
|
|
372
544
|
}
|
|
373
545
|
);
|
|
374
|
-
var Badge =
|
|
546
|
+
var Badge = React9.forwardRef(
|
|
375
547
|
({ className, variant, status, size, icon, iconGap = 2, children, ...props }, ref) => {
|
|
376
|
-
return /* @__PURE__ */
|
|
377
|
-
icon && /* @__PURE__ */
|
|
548
|
+
return /* @__PURE__ */ jsxs3("div", { className: cn(badgeVariants({ variant, status, size }), className), ref, ...props, children: [
|
|
549
|
+
icon && /* @__PURE__ */ jsx9("div", { style: { marginRight: children ? `${iconGap * 0.25}rem` : "0" }, children: icon }),
|
|
378
550
|
children
|
|
379
551
|
] });
|
|
380
552
|
}
|
|
@@ -382,13 +554,13 @@ var Badge = React7.forwardRef(
|
|
|
382
554
|
Badge.displayName = "Badge";
|
|
383
555
|
|
|
384
556
|
// src/components/alert/Alert.tsx
|
|
385
|
-
import * as
|
|
557
|
+
import * as React11 from "react";
|
|
386
558
|
import { cva as cva7 } from "class-variance-authority";
|
|
387
559
|
|
|
388
560
|
// src/primitives/alert.tsx
|
|
389
|
-
import * as
|
|
561
|
+
import * as React10 from "react";
|
|
390
562
|
import { cva as cva6 } from "class-variance-authority";
|
|
391
|
-
import { jsx as
|
|
563
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
392
564
|
var alertVariants = cva6(
|
|
393
565
|
"relative w-full rounded-lg p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",
|
|
394
566
|
{
|
|
@@ -403,17 +575,17 @@ var alertVariants = cva6(
|
|
|
403
575
|
}
|
|
404
576
|
}
|
|
405
577
|
);
|
|
406
|
-
var Alert =
|
|
578
|
+
var Alert = React10.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
|
|
407
579
|
Alert.displayName = "Alert";
|
|
408
|
-
var AlertTitle =
|
|
409
|
-
({ className, ...props }, ref) => /* @__PURE__ */
|
|
580
|
+
var AlertTitle = React10.forwardRef(
|
|
581
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx10("h5", { ref, className: cn("mb-1 leading-none tracking-tight", className), ...props })
|
|
410
582
|
);
|
|
411
583
|
AlertTitle.displayName = "AlertTitle";
|
|
412
|
-
var AlertDescription =
|
|
584
|
+
var AlertDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props }));
|
|
413
585
|
AlertDescription.displayName = "AlertDescription";
|
|
414
586
|
|
|
415
587
|
// src/components/alert/Alert.tsx
|
|
416
|
-
import { jsx as
|
|
588
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
417
589
|
var alertVariants2 = cva7("", {
|
|
418
590
|
variants: {
|
|
419
591
|
variant: {
|
|
@@ -428,20 +600,20 @@ var alertVariants2 = cva7("", {
|
|
|
428
600
|
variant: "default"
|
|
429
601
|
}
|
|
430
602
|
});
|
|
431
|
-
var Alert2 =
|
|
432
|
-
({ className, variant, ...props }, ref) => /* @__PURE__ */
|
|
603
|
+
var Alert2 = React11.forwardRef(
|
|
604
|
+
({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx11(Alert, { ref, className: cn(alertVariants2({ variant }), className), ...props })
|
|
433
605
|
);
|
|
434
606
|
Alert2.displayName = "Alert";
|
|
435
607
|
|
|
436
608
|
// src/components/input/Input.tsx
|
|
437
|
-
import * as
|
|
609
|
+
import * as React13 from "react";
|
|
438
610
|
|
|
439
611
|
// src/primitives/input.tsx
|
|
440
|
-
import * as
|
|
441
|
-
import { jsx as
|
|
442
|
-
var Input =
|
|
612
|
+
import * as React12 from "react";
|
|
613
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
614
|
+
var Input = React12.forwardRef(
|
|
443
615
|
({ className, type, ...props }, ref) => {
|
|
444
|
-
return /* @__PURE__ */
|
|
616
|
+
return /* @__PURE__ */ jsx12(
|
|
445
617
|
"input",
|
|
446
618
|
{
|
|
447
619
|
type,
|
|
@@ -458,14 +630,14 @@ var Input = React10.forwardRef(
|
|
|
458
630
|
Input.displayName = "Input";
|
|
459
631
|
|
|
460
632
|
// src/components/input/Input.tsx
|
|
461
|
-
import { jsx as
|
|
462
|
-
var Input2 =
|
|
633
|
+
import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
634
|
+
var Input2 = React13.forwardRef(
|
|
463
635
|
({ className, icon, actionButton, label, description, error, id, disabled, ...props }, ref) => {
|
|
464
|
-
const generatedId =
|
|
636
|
+
const generatedId = React13.useId();
|
|
465
637
|
const inputId = id || generatedId;
|
|
466
638
|
const errorId = `${inputId}-error`;
|
|
467
639
|
const descriptionId = `${inputId}-description`;
|
|
468
|
-
const inputElement = /* @__PURE__ */
|
|
640
|
+
const inputElement = /* @__PURE__ */ jsx13(
|
|
469
641
|
Input,
|
|
470
642
|
{
|
|
471
643
|
ref,
|
|
@@ -485,8 +657,8 @@ var Input2 = React11.forwardRef(
|
|
|
485
657
|
}
|
|
486
658
|
);
|
|
487
659
|
if (!icon && !actionButton) {
|
|
488
|
-
return /* @__PURE__ */
|
|
489
|
-
label && /* @__PURE__ */
|
|
660
|
+
return /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
|
|
661
|
+
label && /* @__PURE__ */ jsx13(
|
|
490
662
|
"label",
|
|
491
663
|
{
|
|
492
664
|
htmlFor: inputId,
|
|
@@ -499,9 +671,9 @@ var Input2 = React11.forwardRef(
|
|
|
499
671
|
}
|
|
500
672
|
),
|
|
501
673
|
inputElement,
|
|
502
|
-
(description || error) && /* @__PURE__ */
|
|
503
|
-
description && /* @__PURE__ */
|
|
504
|
-
error && /* @__PURE__ */
|
|
674
|
+
(description || error) && /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-1", children: [
|
|
675
|
+
description && /* @__PURE__ */ jsx13(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
676
|
+
error && /* @__PURE__ */ jsx13(
|
|
505
677
|
Typography,
|
|
506
678
|
{
|
|
507
679
|
variant: "xs",
|
|
@@ -513,8 +685,8 @@ var Input2 = React11.forwardRef(
|
|
|
513
685
|
] })
|
|
514
686
|
] });
|
|
515
687
|
}
|
|
516
|
-
return /* @__PURE__ */
|
|
517
|
-
label && /* @__PURE__ */
|
|
688
|
+
return /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
|
|
689
|
+
label && /* @__PURE__ */ jsx13(
|
|
518
690
|
"label",
|
|
519
691
|
{
|
|
520
692
|
htmlFor: inputId,
|
|
@@ -526,14 +698,14 @@ var Input2 = React11.forwardRef(
|
|
|
526
698
|
children: label
|
|
527
699
|
}
|
|
528
700
|
),
|
|
529
|
-
/* @__PURE__ */
|
|
530
|
-
icon && /* @__PURE__ */
|
|
701
|
+
/* @__PURE__ */ jsxs4("div", { className: "relative w-full", children: [
|
|
702
|
+
icon && /* @__PURE__ */ jsx13("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
|
|
531
703
|
inputElement,
|
|
532
|
-
actionButton && /* @__PURE__ */
|
|
704
|
+
actionButton && /* @__PURE__ */ jsx13("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
533
705
|
] }),
|
|
534
|
-
(description || error) && /* @__PURE__ */
|
|
535
|
-
description && /* @__PURE__ */
|
|
536
|
-
error && /* @__PURE__ */
|
|
706
|
+
(description || error) && /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-1", children: [
|
|
707
|
+
description && /* @__PURE__ */ jsx13(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
708
|
+
error && /* @__PURE__ */ jsx13(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
537
709
|
] })
|
|
538
710
|
] });
|
|
539
711
|
}
|
|
@@ -541,17 +713,17 @@ var Input2 = React11.forwardRef(
|
|
|
541
713
|
Input2.displayName = "Input";
|
|
542
714
|
|
|
543
715
|
// src/components/checkbox/Checkbox.tsx
|
|
544
|
-
import * as
|
|
716
|
+
import * as React15 from "react";
|
|
545
717
|
import * as CheckboxPrimitive2 from "@radix-ui/react-checkbox";
|
|
546
718
|
import { Check as Check2 } from "lucide-react";
|
|
547
719
|
import { cva as cva8 } from "class-variance-authority";
|
|
548
720
|
|
|
549
721
|
// src/primitives/checkbox.tsx
|
|
550
|
-
import * as
|
|
722
|
+
import * as React14 from "react";
|
|
551
723
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
552
724
|
import { Check } from "lucide-react";
|
|
553
|
-
import { jsx as
|
|
554
|
-
var Checkbox =
|
|
725
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
726
|
+
var Checkbox = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
555
727
|
CheckboxPrimitive.Root,
|
|
556
728
|
{
|
|
557
729
|
ref,
|
|
@@ -560,23 +732,23 @@ var Checkbox = React12.forwardRef(({ className, children, ...props }, ref) => /*
|
|
|
560
732
|
className
|
|
561
733
|
),
|
|
562
734
|
...props,
|
|
563
|
-
children: children ?? /* @__PURE__ */
|
|
735
|
+
children: children ?? /* @__PURE__ */ jsx14(CheckboxPrimitive.Indicator, { className: cn("grid place-content-center"), children: /* @__PURE__ */ jsx14(Check, { className: "h-4 w-4" }) })
|
|
564
736
|
}
|
|
565
737
|
));
|
|
566
738
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
567
|
-
var CheckboxIndicator =
|
|
739
|
+
var CheckboxIndicator = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
568
740
|
CheckboxPrimitive.Indicator,
|
|
569
741
|
{
|
|
570
742
|
ref,
|
|
571
743
|
className: cn("grid place-content-center", className),
|
|
572
744
|
...props,
|
|
573
|
-
children: children ?? /* @__PURE__ */
|
|
745
|
+
children: children ?? /* @__PURE__ */ jsx14(Check, { className: "h-4 w-4" })
|
|
574
746
|
}
|
|
575
747
|
));
|
|
576
748
|
CheckboxIndicator.displayName = CheckboxPrimitive.Indicator.displayName;
|
|
577
749
|
|
|
578
750
|
// src/components/checkbox/Checkbox.tsx
|
|
579
|
-
import { jsx as
|
|
751
|
+
import { jsx as jsx15, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
580
752
|
var checkboxVariants = cva8(
|
|
581
753
|
"inline-flex items-center justify-center rounded-md transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
582
754
|
{
|
|
@@ -598,13 +770,13 @@ var checkboxVariants = cva8(
|
|
|
598
770
|
}
|
|
599
771
|
}
|
|
600
772
|
);
|
|
601
|
-
var Checkbox2 =
|
|
773
|
+
var Checkbox2 = React15.forwardRef(
|
|
602
774
|
({ className, variant, size, label, description, error, id, disabled, ...props }, ref) => {
|
|
603
|
-
const generatedId =
|
|
775
|
+
const generatedId = React15.useId();
|
|
604
776
|
const checkboxId = id || generatedId;
|
|
605
777
|
const errorId = `${checkboxId}-error`;
|
|
606
|
-
return /* @__PURE__ */
|
|
607
|
-
/* @__PURE__ */
|
|
778
|
+
return /* @__PURE__ */ jsxs5("div", { className: "flex items-start gap-3", children: [
|
|
779
|
+
/* @__PURE__ */ jsx15("div", { className: "relative flex items-start pt-0.5", children: /* @__PURE__ */ jsx15(
|
|
608
780
|
Checkbox,
|
|
609
781
|
{
|
|
610
782
|
ref,
|
|
@@ -619,7 +791,7 @@ var Checkbox2 = React13.forwardRef(
|
|
|
619
791
|
className
|
|
620
792
|
),
|
|
621
793
|
...props,
|
|
622
|
-
children: /* @__PURE__ */
|
|
794
|
+
children: /* @__PURE__ */ jsx15(CheckboxPrimitive2.Indicator, { children: /* @__PURE__ */ jsx15(
|
|
623
795
|
Check2,
|
|
624
796
|
{
|
|
625
797
|
className: "h-4 w-4 text-current stroke-current",
|
|
@@ -628,8 +800,8 @@ var Checkbox2 = React13.forwardRef(
|
|
|
628
800
|
) })
|
|
629
801
|
}
|
|
630
802
|
) }),
|
|
631
|
-
(label || description || error) && /* @__PURE__ */
|
|
632
|
-
label && /* @__PURE__ */
|
|
803
|
+
(label || description || error) && /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-1", children: [
|
|
804
|
+
label && /* @__PURE__ */ jsx15(
|
|
633
805
|
"label",
|
|
634
806
|
{
|
|
635
807
|
htmlFor: checkboxId,
|
|
@@ -641,8 +813,8 @@ var Checkbox2 = React13.forwardRef(
|
|
|
641
813
|
children: label
|
|
642
814
|
}
|
|
643
815
|
),
|
|
644
|
-
description && /* @__PURE__ */
|
|
645
|
-
error && /* @__PURE__ */
|
|
816
|
+
description && /* @__PURE__ */ jsx15(Typography, { variant: "xs", color: "muted", children: description }),
|
|
817
|
+
error && /* @__PURE__ */ jsx15(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
646
818
|
] })
|
|
647
819
|
] });
|
|
648
820
|
}
|
|
@@ -650,10 +822,10 @@ var Checkbox2 = React13.forwardRef(
|
|
|
650
822
|
Checkbox2.displayName = "Checkbox";
|
|
651
823
|
|
|
652
824
|
// src/components/switch/Switch.tsx
|
|
653
|
-
import * as
|
|
825
|
+
import * as React16 from "react";
|
|
654
826
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
655
827
|
import { cva as cva9 } from "class-variance-authority";
|
|
656
|
-
import { jsx as
|
|
828
|
+
import { jsx as jsx16, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
657
829
|
var switchRootVariants = cva9(
|
|
658
830
|
"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",
|
|
659
831
|
{
|
|
@@ -690,13 +862,13 @@ var switchThumbVariants = cva9(
|
|
|
690
862
|
}
|
|
691
863
|
}
|
|
692
864
|
);
|
|
693
|
-
var Switch =
|
|
865
|
+
var Switch = React16.forwardRef(
|
|
694
866
|
({ className, variant, size, label, description, error, id, disabled, ...props }, ref) => {
|
|
695
|
-
const generatedId =
|
|
867
|
+
const generatedId = React16.useId();
|
|
696
868
|
const switchId = id || generatedId;
|
|
697
869
|
const errorId = `${switchId}-error`;
|
|
698
|
-
return /* @__PURE__ */
|
|
699
|
-
/* @__PURE__ */
|
|
870
|
+
return /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3", children: [
|
|
871
|
+
/* @__PURE__ */ jsx16(
|
|
700
872
|
SwitchPrimitives.Root,
|
|
701
873
|
{
|
|
702
874
|
ref,
|
|
@@ -710,11 +882,11 @@ var Switch = React14.forwardRef(
|
|
|
710
882
|
className
|
|
711
883
|
),
|
|
712
884
|
...props,
|
|
713
|
-
children: /* @__PURE__ */
|
|
885
|
+
children: /* @__PURE__ */ jsx16(SwitchPrimitives.Thumb, { className: cn(switchThumbVariants({ size })) })
|
|
714
886
|
}
|
|
715
887
|
),
|
|
716
|
-
(label || description || error) && /* @__PURE__ */
|
|
717
|
-
label && /* @__PURE__ */
|
|
888
|
+
(label || description || error) && /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-1", children: [
|
|
889
|
+
label && /* @__PURE__ */ jsx16(
|
|
718
890
|
"label",
|
|
719
891
|
{
|
|
720
892
|
htmlFor: switchId,
|
|
@@ -725,8 +897,8 @@ var Switch = React14.forwardRef(
|
|
|
725
897
|
children: label
|
|
726
898
|
}
|
|
727
899
|
),
|
|
728
|
-
description && /* @__PURE__ */
|
|
729
|
-
error && /* @__PURE__ */
|
|
900
|
+
description && /* @__PURE__ */ jsx16(Typography, { variant: "xs", color: "muted", children: description }),
|
|
901
|
+
error && /* @__PURE__ */ jsx16(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
730
902
|
] })
|
|
731
903
|
] });
|
|
732
904
|
}
|
|
@@ -734,17 +906,17 @@ var Switch = React14.forwardRef(
|
|
|
734
906
|
Switch.displayName = "Switch";
|
|
735
907
|
|
|
736
908
|
// src/components/select/Select.tsx
|
|
737
|
-
import * as
|
|
909
|
+
import * as React18 from "react";
|
|
738
910
|
import { cva as cva10 } from "class-variance-authority";
|
|
739
911
|
|
|
740
912
|
// src/primitives/select.tsx
|
|
741
|
-
import * as
|
|
913
|
+
import * as React17 from "react";
|
|
742
914
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
743
915
|
import { Check as Check3, ChevronDown, ChevronUp } from "lucide-react";
|
|
744
|
-
import { jsx as
|
|
916
|
+
import { jsx as jsx17, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
745
917
|
var Select = SelectPrimitive.Root;
|
|
746
918
|
var SelectValue = SelectPrimitive.Value;
|
|
747
|
-
var SelectTrigger =
|
|
919
|
+
var SelectTrigger = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
|
|
748
920
|
SelectPrimitive.Trigger,
|
|
749
921
|
{
|
|
750
922
|
ref,
|
|
@@ -755,32 +927,32 @@ var SelectTrigger = React15.forwardRef(({ className, children, ...props }, ref)
|
|
|
755
927
|
...props,
|
|
756
928
|
children: [
|
|
757
929
|
children,
|
|
758
|
-
/* @__PURE__ */
|
|
930
|
+
/* @__PURE__ */ jsx17(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx17(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
|
|
759
931
|
]
|
|
760
932
|
}
|
|
761
933
|
));
|
|
762
934
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
763
|
-
var SelectScrollUpButton =
|
|
935
|
+
var SelectScrollUpButton = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
764
936
|
SelectPrimitive.ScrollUpButton,
|
|
765
937
|
{
|
|
766
938
|
ref,
|
|
767
939
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
768
940
|
...props,
|
|
769
|
-
children: /* @__PURE__ */
|
|
941
|
+
children: /* @__PURE__ */ jsx17(ChevronUp, { className: "h-4 w-4" })
|
|
770
942
|
}
|
|
771
943
|
));
|
|
772
944
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
773
|
-
var SelectScrollDownButton =
|
|
945
|
+
var SelectScrollDownButton = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
774
946
|
SelectPrimitive.ScrollDownButton,
|
|
775
947
|
{
|
|
776
948
|
ref,
|
|
777
949
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
778
950
|
...props,
|
|
779
|
-
children: /* @__PURE__ */
|
|
951
|
+
children: /* @__PURE__ */ jsx17(ChevronDown, { className: "h-4 w-4" })
|
|
780
952
|
}
|
|
781
953
|
));
|
|
782
954
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
783
|
-
var SelectContent =
|
|
955
|
+
var SelectContent = React17.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx17(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs7(
|
|
784
956
|
SelectPrimitive.Content,
|
|
785
957
|
{
|
|
786
958
|
ref,
|
|
@@ -792,8 +964,8 @@ var SelectContent = React15.forwardRef(({ className, children, position = "poppe
|
|
|
792
964
|
position,
|
|
793
965
|
...props,
|
|
794
966
|
children: [
|
|
795
|
-
/* @__PURE__ */
|
|
796
|
-
/* @__PURE__ */
|
|
967
|
+
/* @__PURE__ */ jsx17(SelectScrollUpButton, {}),
|
|
968
|
+
/* @__PURE__ */ jsx17(
|
|
797
969
|
SelectPrimitive.Viewport,
|
|
798
970
|
{
|
|
799
971
|
className: cn(
|
|
@@ -803,12 +975,12 @@ var SelectContent = React15.forwardRef(({ className, children, position = "poppe
|
|
|
803
975
|
children
|
|
804
976
|
}
|
|
805
977
|
),
|
|
806
|
-
/* @__PURE__ */
|
|
978
|
+
/* @__PURE__ */ jsx17(SelectScrollDownButton, {})
|
|
807
979
|
]
|
|
808
980
|
}
|
|
809
981
|
) }));
|
|
810
982
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
811
|
-
var SelectLabel =
|
|
983
|
+
var SelectLabel = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
812
984
|
SelectPrimitive.Label,
|
|
813
985
|
{
|
|
814
986
|
ref,
|
|
@@ -817,7 +989,7 @@ var SelectLabel = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
817
989
|
}
|
|
818
990
|
));
|
|
819
991
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
820
|
-
var SelectItem =
|
|
992
|
+
var SelectItem = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(
|
|
821
993
|
SelectPrimitive.Item,
|
|
822
994
|
{
|
|
823
995
|
ref,
|
|
@@ -827,13 +999,13 @@ var SelectItem = React15.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
827
999
|
),
|
|
828
1000
|
...props,
|
|
829
1001
|
children: [
|
|
830
|
-
/* @__PURE__ */
|
|
831
|
-
/* @__PURE__ */
|
|
1002
|
+
/* @__PURE__ */ jsx17("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx17(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(Check3, { className: "h-4 w-4" }) }) }),
|
|
1003
|
+
/* @__PURE__ */ jsx17(SelectPrimitive.ItemText, { children })
|
|
832
1004
|
]
|
|
833
1005
|
}
|
|
834
1006
|
));
|
|
835
1007
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
836
|
-
var SelectSeparator =
|
|
1008
|
+
var SelectSeparator = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
837
1009
|
SelectPrimitive.Separator,
|
|
838
1010
|
{
|
|
839
1011
|
ref,
|
|
@@ -844,7 +1016,7 @@ var SelectSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
844
1016
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
845
1017
|
|
|
846
1018
|
// src/components/select/Select.tsx
|
|
847
|
-
import { jsx as
|
|
1019
|
+
import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
848
1020
|
var selectVariants = cva10(
|
|
849
1021
|
"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",
|
|
850
1022
|
{
|
|
@@ -867,7 +1039,7 @@ var selectVariants = cva10(
|
|
|
867
1039
|
}
|
|
868
1040
|
}
|
|
869
1041
|
);
|
|
870
|
-
var Select2 =
|
|
1042
|
+
var Select2 = React18.forwardRef(
|
|
871
1043
|
({
|
|
872
1044
|
className,
|
|
873
1045
|
variant,
|
|
@@ -885,12 +1057,12 @@ var Select2 = React16.forwardRef(
|
|
|
885
1057
|
name,
|
|
886
1058
|
required
|
|
887
1059
|
}, ref) => {
|
|
888
|
-
const generatedId =
|
|
1060
|
+
const generatedId = React18.useId();
|
|
889
1061
|
const selectId = id || generatedId;
|
|
890
1062
|
const errorId = `${selectId}-error`;
|
|
891
1063
|
const descriptionId = `${selectId}-description`;
|
|
892
|
-
return /* @__PURE__ */
|
|
893
|
-
label && /* @__PURE__ */
|
|
1064
|
+
return /* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-2", children: [
|
|
1065
|
+
label && /* @__PURE__ */ jsx18(
|
|
894
1066
|
"label",
|
|
895
1067
|
{
|
|
896
1068
|
htmlFor: selectId,
|
|
@@ -902,7 +1074,7 @@ var Select2 = React16.forwardRef(
|
|
|
902
1074
|
children: label
|
|
903
1075
|
}
|
|
904
1076
|
),
|
|
905
|
-
/* @__PURE__ */
|
|
1077
|
+
/* @__PURE__ */ jsxs8(
|
|
906
1078
|
Select,
|
|
907
1079
|
{
|
|
908
1080
|
value,
|
|
@@ -912,7 +1084,7 @@ var Select2 = React16.forwardRef(
|
|
|
912
1084
|
name,
|
|
913
1085
|
required,
|
|
914
1086
|
children: [
|
|
915
|
-
/* @__PURE__ */
|
|
1087
|
+
/* @__PURE__ */ jsx18(
|
|
916
1088
|
SelectTrigger,
|
|
917
1089
|
{
|
|
918
1090
|
ref,
|
|
@@ -924,30 +1096,30 @@ var Select2 = React16.forwardRef(
|
|
|
924
1096
|
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
925
1097
|
className
|
|
926
1098
|
),
|
|
927
|
-
children: /* @__PURE__ */
|
|
1099
|
+
children: /* @__PURE__ */ jsx18(SelectValue, { placeholder })
|
|
928
1100
|
}
|
|
929
1101
|
),
|
|
930
|
-
/* @__PURE__ */
|
|
1102
|
+
/* @__PURE__ */ jsx18(SelectContent, { children: options.map((option) => /* @__PURE__ */ jsx18(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
|
|
931
1103
|
]
|
|
932
1104
|
}
|
|
933
1105
|
),
|
|
934
|
-
description && /* @__PURE__ */
|
|
935
|
-
error && /* @__PURE__ */
|
|
1106
|
+
description && /* @__PURE__ */ jsx18(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
1107
|
+
error && /* @__PURE__ */ jsx18(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
936
1108
|
] });
|
|
937
1109
|
}
|
|
938
1110
|
);
|
|
939
1111
|
Select2.displayName = "Select";
|
|
940
1112
|
|
|
941
1113
|
// src/components/text-area/TextArea.tsx
|
|
942
|
-
import * as
|
|
1114
|
+
import * as React20 from "react";
|
|
943
1115
|
import { cva as cva11 } from "class-variance-authority";
|
|
944
1116
|
|
|
945
1117
|
// src/primitives/textarea.tsx
|
|
946
|
-
import * as
|
|
947
|
-
import { jsx as
|
|
948
|
-
var Textarea =
|
|
1118
|
+
import * as React19 from "react";
|
|
1119
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
1120
|
+
var Textarea = React19.forwardRef(
|
|
949
1121
|
({ className, ...props }, ref) => {
|
|
950
|
-
return /* @__PURE__ */
|
|
1122
|
+
return /* @__PURE__ */ jsx19(
|
|
951
1123
|
"textarea",
|
|
952
1124
|
{
|
|
953
1125
|
className: cn(
|
|
@@ -963,7 +1135,7 @@ var Textarea = React17.forwardRef(
|
|
|
963
1135
|
Textarea.displayName = "Textarea";
|
|
964
1136
|
|
|
965
1137
|
// src/components/text-area/TextArea.tsx
|
|
966
|
-
import { jsx as
|
|
1138
|
+
import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
967
1139
|
var textAreaVariants = cva11(
|
|
968
1140
|
"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",
|
|
969
1141
|
{
|
|
@@ -986,7 +1158,7 @@ var textAreaVariants = cva11(
|
|
|
986
1158
|
}
|
|
987
1159
|
}
|
|
988
1160
|
);
|
|
989
|
-
var TextArea =
|
|
1161
|
+
var TextArea = React20.forwardRef(
|
|
990
1162
|
({
|
|
991
1163
|
className,
|
|
992
1164
|
variant,
|
|
@@ -1006,13 +1178,13 @@ var TextArea = React18.forwardRef(
|
|
|
1006
1178
|
actionButton,
|
|
1007
1179
|
...props
|
|
1008
1180
|
}, ref) => {
|
|
1009
|
-
const generatedId =
|
|
1181
|
+
const generatedId = React20.useId();
|
|
1010
1182
|
const textareaId = id || generatedId;
|
|
1011
1183
|
const errorId = `${textareaId}-error`;
|
|
1012
1184
|
const descriptionId = `${textareaId}-description`;
|
|
1013
1185
|
const characterCount = typeof value === "string" ? value.length : 0;
|
|
1014
|
-
return /* @__PURE__ */
|
|
1015
|
-
label && /* @__PURE__ */
|
|
1186
|
+
return /* @__PURE__ */ jsxs9("div", { className: "flex flex-col gap-2", children: [
|
|
1187
|
+
label && /* @__PURE__ */ jsx20(
|
|
1016
1188
|
"label",
|
|
1017
1189
|
{
|
|
1018
1190
|
htmlFor: textareaId,
|
|
@@ -1024,9 +1196,9 @@ var TextArea = React18.forwardRef(
|
|
|
1024
1196
|
children: label
|
|
1025
1197
|
}
|
|
1026
1198
|
),
|
|
1027
|
-
/* @__PURE__ */
|
|
1028
|
-
icon && /* @__PURE__ */
|
|
1029
|
-
/* @__PURE__ */
|
|
1199
|
+
/* @__PURE__ */ jsxs9("div", { className: "relative", children: [
|
|
1200
|
+
icon && /* @__PURE__ */ jsx20("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
|
|
1201
|
+
/* @__PURE__ */ jsx20(
|
|
1030
1202
|
Textarea,
|
|
1031
1203
|
{
|
|
1032
1204
|
ref,
|
|
@@ -1051,13 +1223,13 @@ var TextArea = React18.forwardRef(
|
|
|
1051
1223
|
...props
|
|
1052
1224
|
}
|
|
1053
1225
|
),
|
|
1054
|
-
secondaryIcon && /* @__PURE__ */
|
|
1055
|
-
actionButton && /* @__PURE__ */
|
|
1226
|
+
secondaryIcon && /* @__PURE__ */ jsx20("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
|
|
1227
|
+
actionButton && /* @__PURE__ */ jsx20("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
1056
1228
|
] }),
|
|
1057
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */
|
|
1058
|
-
description && /* @__PURE__ */
|
|
1059
|
-
(error || showCount && maxLength) && /* @__PURE__ */
|
|
1060
|
-
showCount && maxLength && /* @__PURE__ */
|
|
1229
|
+
(description || error || showCount && maxLength) && /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between gap-2", children: [
|
|
1230
|
+
description && /* @__PURE__ */ jsx20(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
1231
|
+
(error || showCount && maxLength) && /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
1232
|
+
showCount && maxLength && /* @__PURE__ */ jsxs9(
|
|
1061
1233
|
Typography,
|
|
1062
1234
|
{
|
|
1063
1235
|
variant: "xs",
|
|
@@ -1071,7 +1243,7 @@ var TextArea = React18.forwardRef(
|
|
|
1071
1243
|
]
|
|
1072
1244
|
}
|
|
1073
1245
|
),
|
|
1074
|
-
error && /* @__PURE__ */
|
|
1246
|
+
error && /* @__PURE__ */ jsx20(
|
|
1075
1247
|
Typography,
|
|
1076
1248
|
{
|
|
1077
1249
|
variant: "xs",
|
|
@@ -1088,25 +1260,25 @@ var TextArea = React18.forwardRef(
|
|
|
1088
1260
|
TextArea.displayName = "TextArea";
|
|
1089
1261
|
|
|
1090
1262
|
// src/primitives/label.tsx
|
|
1091
|
-
import * as
|
|
1263
|
+
import * as React21 from "react";
|
|
1092
1264
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1093
1265
|
import { cva as cva12 } from "class-variance-authority";
|
|
1094
|
-
import { jsx as
|
|
1266
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1095
1267
|
var labelVariants = cva12(
|
|
1096
1268
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
1097
1269
|
);
|
|
1098
|
-
var Label2 =
|
|
1270
|
+
var Label2 = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
|
|
1099
1271
|
Label2.displayName = LabelPrimitive.Root.displayName;
|
|
1100
1272
|
|
|
1101
1273
|
// src/primitives/field.tsx
|
|
1102
|
-
import { useMemo } from "react";
|
|
1274
|
+
import { useMemo as useMemo2 } from "react";
|
|
1103
1275
|
import { cva as cva13 } from "class-variance-authority";
|
|
1104
1276
|
|
|
1105
1277
|
// src/primitives/separator.tsx
|
|
1106
|
-
import * as
|
|
1278
|
+
import * as React22 from "react";
|
|
1107
1279
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
1108
|
-
import { jsx as
|
|
1109
|
-
var Separator2 =
|
|
1280
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
1281
|
+
var Separator2 = React22.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx22(
|
|
1110
1282
|
SeparatorPrimitive.Root,
|
|
1111
1283
|
{
|
|
1112
1284
|
ref,
|
|
@@ -1123,9 +1295,9 @@ var Separator2 = React20.forwardRef(({ className, orientation = "horizontal", de
|
|
|
1123
1295
|
Separator2.displayName = SeparatorPrimitive.Root.displayName;
|
|
1124
1296
|
|
|
1125
1297
|
// src/primitives/field.tsx
|
|
1126
|
-
import { jsx as
|
|
1298
|
+
import { jsx as jsx23, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1127
1299
|
function FieldSet({ className, ...props }) {
|
|
1128
|
-
return /* @__PURE__ */
|
|
1300
|
+
return /* @__PURE__ */ jsx23(
|
|
1129
1301
|
"fieldset",
|
|
1130
1302
|
{
|
|
1131
1303
|
"data-slot": "field-set",
|
|
@@ -1143,7 +1315,7 @@ function FieldLegend({
|
|
|
1143
1315
|
variant = "legend",
|
|
1144
1316
|
...props
|
|
1145
1317
|
}) {
|
|
1146
|
-
return /* @__PURE__ */
|
|
1318
|
+
return /* @__PURE__ */ jsx23(
|
|
1147
1319
|
"legend",
|
|
1148
1320
|
{
|
|
1149
1321
|
"data-slot": "field-legend",
|
|
@@ -1159,7 +1331,7 @@ function FieldLegend({
|
|
|
1159
1331
|
);
|
|
1160
1332
|
}
|
|
1161
1333
|
function FieldGroup({ className, ...props }) {
|
|
1162
|
-
return /* @__PURE__ */
|
|
1334
|
+
return /* @__PURE__ */ jsx23(
|
|
1163
1335
|
"div",
|
|
1164
1336
|
{
|
|
1165
1337
|
"data-slot": "field-group",
|
|
@@ -1196,7 +1368,7 @@ function Field({
|
|
|
1196
1368
|
orientation = "vertical",
|
|
1197
1369
|
...props
|
|
1198
1370
|
}) {
|
|
1199
|
-
return /* @__PURE__ */
|
|
1371
|
+
return /* @__PURE__ */ jsx23(
|
|
1200
1372
|
"div",
|
|
1201
1373
|
{
|
|
1202
1374
|
role: "group",
|
|
@@ -1208,7 +1380,7 @@ function Field({
|
|
|
1208
1380
|
);
|
|
1209
1381
|
}
|
|
1210
1382
|
function FieldContent({ className, ...props }) {
|
|
1211
|
-
return /* @__PURE__ */
|
|
1383
|
+
return /* @__PURE__ */ jsx23(
|
|
1212
1384
|
"div",
|
|
1213
1385
|
{
|
|
1214
1386
|
"data-slot": "field-content",
|
|
@@ -1218,12 +1390,12 @@ function FieldContent({ className, ...props }) {
|
|
|
1218
1390
|
);
|
|
1219
1391
|
}
|
|
1220
1392
|
function FieldLabel({ className, ...props }) {
|
|
1221
|
-
return /* @__PURE__ */
|
|
1393
|
+
return /* @__PURE__ */ jsx23(
|
|
1222
1394
|
Label2,
|
|
1223
1395
|
{
|
|
1224
1396
|
"data-slot": "field-label",
|
|
1225
1397
|
className: cn(
|
|
1226
|
-
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:
|
|
1398
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug text-berget-foreground group-data-[disabled=true]/field:text-berget-muted-foreground",
|
|
1227
1399
|
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4",
|
|
1228
1400
|
"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
|
|
1229
1401
|
className
|
|
@@ -1233,7 +1405,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
1233
1405
|
);
|
|
1234
1406
|
}
|
|
1235
1407
|
function FieldTitle({ className, ...props }) {
|
|
1236
|
-
return /* @__PURE__ */
|
|
1408
|
+
return /* @__PURE__ */ jsx23(
|
|
1237
1409
|
"div",
|
|
1238
1410
|
{
|
|
1239
1411
|
"data-slot": "field-label",
|
|
@@ -1246,12 +1418,12 @@ function FieldTitle({ className, ...props }) {
|
|
|
1246
1418
|
);
|
|
1247
1419
|
}
|
|
1248
1420
|
function FieldDescription({ className, ...props }) {
|
|
1249
|
-
return /* @__PURE__ */
|
|
1421
|
+
return /* @__PURE__ */ jsx23(
|
|
1250
1422
|
"p",
|
|
1251
1423
|
{
|
|
1252
1424
|
"data-slot": "field-description",
|
|
1253
1425
|
className: cn(
|
|
1254
|
-
"text-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
1426
|
+
"text-berget-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
|
|
1255
1427
|
"nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5",
|
|
1256
1428
|
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
1257
1429
|
className
|
|
@@ -1265,7 +1437,7 @@ function FieldSeparator({
|
|
|
1265
1437
|
className,
|
|
1266
1438
|
...props
|
|
1267
1439
|
}) {
|
|
1268
|
-
return /* @__PURE__ */
|
|
1440
|
+
return /* @__PURE__ */ jsxs10(
|
|
1269
1441
|
"div",
|
|
1270
1442
|
{
|
|
1271
1443
|
"data-slot": "field-separator",
|
|
@@ -1276,11 +1448,11 @@ function FieldSeparator({
|
|
|
1276
1448
|
),
|
|
1277
1449
|
...props,
|
|
1278
1450
|
children: [
|
|
1279
|
-
/* @__PURE__ */
|
|
1280
|
-
children && /* @__PURE__ */
|
|
1451
|
+
/* @__PURE__ */ jsx23(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
1452
|
+
children && /* @__PURE__ */ jsx23(
|
|
1281
1453
|
"span",
|
|
1282
1454
|
{
|
|
1283
|
-
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
1455
|
+
className: "bg-berget-background text-berget-muted-foreground relative mx-auto block w-fit px-2",
|
|
1284
1456
|
"data-slot": "field-separator-content",
|
|
1285
1457
|
children
|
|
1286
1458
|
}
|
|
@@ -1295,7 +1467,7 @@ function FieldError({
|
|
|
1295
1467
|
errors,
|
|
1296
1468
|
...props
|
|
1297
1469
|
}) {
|
|
1298
|
-
const content =
|
|
1470
|
+
const content = useMemo2(() => {
|
|
1299
1471
|
if (children) {
|
|
1300
1472
|
return children;
|
|
1301
1473
|
}
|
|
@@ -1305,12 +1477,12 @@ function FieldError({
|
|
|
1305
1477
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
1306
1478
|
return errors[0].message;
|
|
1307
1479
|
}
|
|
1308
|
-
return /* @__PURE__ */
|
|
1480
|
+
return /* @__PURE__ */ jsx23("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map((error, index) => error?.message && /* @__PURE__ */ jsx23("li", { children: error.message }, index)) });
|
|
1309
1481
|
}, [children, errors]);
|
|
1310
1482
|
if (!content) {
|
|
1311
1483
|
return null;
|
|
1312
1484
|
}
|
|
1313
|
-
return /* @__PURE__ */
|
|
1485
|
+
return /* @__PURE__ */ jsx23(
|
|
1314
1486
|
"div",
|
|
1315
1487
|
{
|
|
1316
1488
|
role: "alert",
|
|
@@ -1323,10 +1495,10 @@ function FieldError({
|
|
|
1323
1495
|
}
|
|
1324
1496
|
|
|
1325
1497
|
// src/components/link/Link.tsx
|
|
1326
|
-
import * as
|
|
1498
|
+
import * as React23 from "react";
|
|
1327
1499
|
import { cva as cva14 } from "class-variance-authority";
|
|
1328
1500
|
import { ExternalLink } from "lucide-react";
|
|
1329
|
-
import { jsx as
|
|
1501
|
+
import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1330
1502
|
var linkVariants = cva14(
|
|
1331
1503
|
"inline-flex 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",
|
|
1332
1504
|
{
|
|
@@ -1351,7 +1523,7 @@ var linkVariants = cva14(
|
|
|
1351
1523
|
}
|
|
1352
1524
|
}
|
|
1353
1525
|
);
|
|
1354
|
-
var Link =
|
|
1526
|
+
var Link = React23.forwardRef(
|
|
1355
1527
|
({
|
|
1356
1528
|
className,
|
|
1357
1529
|
variant,
|
|
@@ -1364,7 +1536,7 @@ var Link = React21.forwardRef(
|
|
|
1364
1536
|
...props
|
|
1365
1537
|
}, ref) => {
|
|
1366
1538
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
1367
|
-
return /* @__PURE__ */
|
|
1539
|
+
return /* @__PURE__ */ jsxs11(
|
|
1368
1540
|
"a",
|
|
1369
1541
|
{
|
|
1370
1542
|
ref,
|
|
@@ -1380,8 +1552,8 @@ var Link = React21.forwardRef(
|
|
|
1380
1552
|
},
|
|
1381
1553
|
children: [
|
|
1382
1554
|
children,
|
|
1383
|
-
icon && /* @__PURE__ */
|
|
1384
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */
|
|
1555
|
+
icon && /* @__PURE__ */ jsx24("span", { className: "inline-flex items-center", children: icon }),
|
|
1556
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ jsx24("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ jsx24(Icon, { icon: ExternalLink, size: 16 }) })
|
|
1385
1557
|
]
|
|
1386
1558
|
}
|
|
1387
1559
|
);
|
|
@@ -1390,14 +1562,14 @@ var Link = React21.forwardRef(
|
|
|
1390
1562
|
Link.displayName = "Link";
|
|
1391
1563
|
|
|
1392
1564
|
// src/components/section/Section.tsx
|
|
1393
|
-
import * as
|
|
1565
|
+
import * as React25 from "react";
|
|
1394
1566
|
import { cva as cva16 } from "class-variance-authority";
|
|
1395
1567
|
|
|
1396
1568
|
// src/components/container/Container.tsx
|
|
1397
|
-
import * as
|
|
1569
|
+
import * as React24 from "react";
|
|
1398
1570
|
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
|
1399
1571
|
import { cva as cva15 } from "class-variance-authority";
|
|
1400
|
-
import { jsx as
|
|
1572
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1401
1573
|
var containerVariants = cva15("w-full mx-auto", {
|
|
1402
1574
|
variants: {
|
|
1403
1575
|
size: {
|
|
@@ -1419,10 +1591,10 @@ var containerVariants = cva15("w-full mx-auto", {
|
|
|
1419
1591
|
padding: "md"
|
|
1420
1592
|
}
|
|
1421
1593
|
});
|
|
1422
|
-
var Container =
|
|
1594
|
+
var Container = React24.forwardRef(
|
|
1423
1595
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
1424
1596
|
const Component = asChild ? Slot2 : "div";
|
|
1425
|
-
return /* @__PURE__ */
|
|
1597
|
+
return /* @__PURE__ */ jsx25(
|
|
1426
1598
|
Component,
|
|
1427
1599
|
{
|
|
1428
1600
|
ref,
|
|
@@ -1436,7 +1608,7 @@ var Container = React22.forwardRef(
|
|
|
1436
1608
|
Container.displayName = "Container";
|
|
1437
1609
|
|
|
1438
1610
|
// src/components/section/Section.tsx
|
|
1439
|
-
import { jsx as
|
|
1611
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1440
1612
|
var sectionVariants = cva16("relative", {
|
|
1441
1613
|
variants: {
|
|
1442
1614
|
padding: {
|
|
@@ -1456,15 +1628,15 @@ var sectionVariants = cva16("relative", {
|
|
|
1456
1628
|
background: "transparent"
|
|
1457
1629
|
}
|
|
1458
1630
|
});
|
|
1459
|
-
var Section =
|
|
1631
|
+
var Section = React25.forwardRef(
|
|
1460
1632
|
({ className, padding, background, children, ...props }, ref) => {
|
|
1461
|
-
return /* @__PURE__ */
|
|
1633
|
+
return /* @__PURE__ */ jsx26(
|
|
1462
1634
|
"section",
|
|
1463
1635
|
{
|
|
1464
1636
|
ref,
|
|
1465
1637
|
className: cn(sectionVariants({ padding, background }), className),
|
|
1466
1638
|
...props,
|
|
1467
|
-
children: /* @__PURE__ */
|
|
1639
|
+
children: /* @__PURE__ */ jsx26(Container, { children })
|
|
1468
1640
|
}
|
|
1469
1641
|
);
|
|
1470
1642
|
}
|
|
@@ -1472,9 +1644,9 @@ var Section = React23.forwardRef(
|
|
|
1472
1644
|
Section.displayName = "Section";
|
|
1473
1645
|
|
|
1474
1646
|
// src/components/section-header/SectionHeader.tsx
|
|
1475
|
-
import * as
|
|
1476
|
-
import { jsx as
|
|
1477
|
-
var SectionHeader =
|
|
1647
|
+
import * as React26 from "react";
|
|
1648
|
+
import { jsx as jsx27, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1649
|
+
var SectionHeader = React26.forwardRef(
|
|
1478
1650
|
({
|
|
1479
1651
|
className,
|
|
1480
1652
|
title,
|
|
@@ -1486,22 +1658,22 @@ var SectionHeader = React24.forwardRef(
|
|
|
1486
1658
|
id,
|
|
1487
1659
|
...props
|
|
1488
1660
|
}, ref) => {
|
|
1489
|
-
return /* @__PURE__ */
|
|
1661
|
+
return /* @__PURE__ */ jsx27(
|
|
1490
1662
|
"div",
|
|
1491
1663
|
{
|
|
1492
1664
|
id,
|
|
1493
1665
|
ref,
|
|
1494
1666
|
className: cn("w-full px-fluid-md py-fluid-xl text-center", className),
|
|
1495
1667
|
...props,
|
|
1496
|
-
children: /* @__PURE__ */
|
|
1497
|
-
/* @__PURE__ */
|
|
1498
|
-
tagline && /* @__PURE__ */
|
|
1499
|
-
/* @__PURE__ */
|
|
1500
|
-
/* @__PURE__ */
|
|
1501
|
-
description && /* @__PURE__ */
|
|
1668
|
+
children: /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center gap-fluid-lg", children: [
|
|
1669
|
+
/* @__PURE__ */ jsxs12("div", { className: "max-w-3xl mx-auto flex flex-col items-center gap-fluid-lg", children: [
|
|
1670
|
+
tagline && /* @__PURE__ */ jsx27(Badge, { variant: "default", className: "text-sm", children: tagline }),
|
|
1671
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center gap-fluid-sm", children: [
|
|
1672
|
+
/* @__PURE__ */ jsx27(Typography, { variant: headingLevel, children: title }),
|
|
1673
|
+
description && /* @__PURE__ */ jsx27(Typography, { variant: descriptionVariant, color: "muted", children: description })
|
|
1502
1674
|
] })
|
|
1503
1675
|
] }),
|
|
1504
|
-
action && /* @__PURE__ */
|
|
1676
|
+
action && /* @__PURE__ */ jsx27("div", { className: "mt-4", children: action })
|
|
1505
1677
|
] })
|
|
1506
1678
|
}
|
|
1507
1679
|
);
|
|
@@ -1510,10 +1682,10 @@ var SectionHeader = React24.forwardRef(
|
|
|
1510
1682
|
SectionHeader.displayName = "SectionHeader";
|
|
1511
1683
|
|
|
1512
1684
|
// src/components/grid/Grid.tsx
|
|
1513
|
-
import * as
|
|
1685
|
+
import * as React27 from "react";
|
|
1514
1686
|
import { cva as cva17 } from "class-variance-authority";
|
|
1515
1687
|
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
|
1516
|
-
import { jsx as
|
|
1688
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1517
1689
|
var gridVariants = cva17("grid", {
|
|
1518
1690
|
variants: {
|
|
1519
1691
|
align: {
|
|
@@ -1536,10 +1708,10 @@ var gridVariants = cva17("grid", {
|
|
|
1536
1708
|
justify: "start"
|
|
1537
1709
|
}
|
|
1538
1710
|
});
|
|
1539
|
-
var Grid =
|
|
1711
|
+
var Grid = React27.forwardRef(
|
|
1540
1712
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
1541
1713
|
const Component = asChild ? Slot3 : "div";
|
|
1542
|
-
return /* @__PURE__ */
|
|
1714
|
+
return /* @__PURE__ */ jsx28(
|
|
1543
1715
|
Component,
|
|
1544
1716
|
{
|
|
1545
1717
|
ref,
|
|
@@ -1561,10 +1733,10 @@ var Grid = React25.forwardRef(
|
|
|
1561
1733
|
Grid.displayName = "Grid";
|
|
1562
1734
|
|
|
1563
1735
|
// src/components/box/Box.tsx
|
|
1564
|
-
import * as
|
|
1736
|
+
import * as React28 from "react";
|
|
1565
1737
|
import { cva as cva18 } from "class-variance-authority";
|
|
1566
1738
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
1567
|
-
import { jsx as
|
|
1739
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1568
1740
|
var boxVariants = cva18("flex", {
|
|
1569
1741
|
variants: {
|
|
1570
1742
|
direction: {
|
|
@@ -1601,10 +1773,10 @@ var boxVariants = cva18("flex", {
|
|
|
1601
1773
|
wrap: "nowrap"
|
|
1602
1774
|
}
|
|
1603
1775
|
});
|
|
1604
|
-
var Box =
|
|
1776
|
+
var Box = React28.forwardRef(
|
|
1605
1777
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
1606
1778
|
const Component = asChild ? Slot4 : "div";
|
|
1607
|
-
return /* @__PURE__ */
|
|
1779
|
+
return /* @__PURE__ */ jsx29(
|
|
1608
1780
|
Component,
|
|
1609
1781
|
{
|
|
1610
1782
|
ref,
|
|
@@ -1622,16 +1794,16 @@ var Box = React26.forwardRef(
|
|
|
1622
1794
|
Box.displayName = "Box";
|
|
1623
1795
|
|
|
1624
1796
|
// src/components/berget-logo/BergetLogo.tsx
|
|
1625
|
-
import * as
|
|
1626
|
-
import { jsx as
|
|
1627
|
-
var BergetLogo =
|
|
1628
|
-
({ variant = "logotype", color = "
|
|
1629
|
-
const fillColor = color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
1797
|
+
import * as React29 from "react";
|
|
1798
|
+
import { jsx as jsx30, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1799
|
+
var BergetLogo = React29.forwardRef(
|
|
1800
|
+
({ variant = "logotype", color = "auto", size = 48, className, ...props }, ref) => {
|
|
1801
|
+
const fillColor = color === "auto" ? "var(--berget-logo-light)" : color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
1630
1802
|
if (variant === "symbol") {
|
|
1631
1803
|
const aspectRatio2 = 463 / 419;
|
|
1632
1804
|
const width2 = size * aspectRatio2;
|
|
1633
1805
|
const height2 = size;
|
|
1634
|
-
return /* @__PURE__ */
|
|
1806
|
+
return /* @__PURE__ */ jsx30(
|
|
1635
1807
|
"svg",
|
|
1636
1808
|
{
|
|
1637
1809
|
ref,
|
|
@@ -1644,7 +1816,7 @@ var BergetLogo = React27.forwardRef(
|
|
|
1644
1816
|
"aria-label": "Berget symbol",
|
|
1645
1817
|
className: cn("inline-block", className),
|
|
1646
1818
|
...props,
|
|
1647
|
-
children: /* @__PURE__ */
|
|
1819
|
+
children: /* @__PURE__ */ jsx30(
|
|
1648
1820
|
"path",
|
|
1649
1821
|
{
|
|
1650
1822
|
d: "M208.739 17L255.261 17L446 403L398 403L313.5 255L261.5 176L233.163 96.1677L237.815 98.6522H226.185L230.837 96.1677L113 331L64.5 403L18 403L208.739 17Z",
|
|
@@ -1657,7 +1829,7 @@ var BergetLogo = React27.forwardRef(
|
|
|
1657
1829
|
const aspectRatio = 793.63 / 204.37;
|
|
1658
1830
|
const width = size * aspectRatio;
|
|
1659
1831
|
const height = size;
|
|
1660
|
-
return /* @__PURE__ */
|
|
1832
|
+
return /* @__PURE__ */ jsxs13(
|
|
1661
1833
|
"svg",
|
|
1662
1834
|
{
|
|
1663
1835
|
ref,
|
|
@@ -1671,59 +1843,59 @@ var BergetLogo = React27.forwardRef(
|
|
|
1671
1843
|
className: cn("inline-block", className),
|
|
1672
1844
|
...props,
|
|
1673
1845
|
children: [
|
|
1674
|
-
/* @__PURE__ */
|
|
1675
|
-
/* @__PURE__ */
|
|
1846
|
+
/* @__PURE__ */ jsxs13("g", { style: { fill: fillColor }, children: [
|
|
1847
|
+
/* @__PURE__ */ jsx30(
|
|
1676
1848
|
"path",
|
|
1677
1849
|
{
|
|
1678
1850
|
className: "berget-logotype-fill",
|
|
1679
1851
|
d: "M268.78,172.54v-96.04h37.74c10.39,0,18.26,2.33,23.6,7,5.33,4.67,8.01,10.52,8.01,17.56,0,6.13-1.72,11-5.15,14.61-3.43,3.61-7.58,6.06-12.44,7.34,3.81.73,7.22,2.2,10.22,4.39,3.01,2.2,5.36,4.94,7.08,8.23,1.72,3.29,2.58,6.86,2.58,10.7,0,4.94-1.27,9.4-3.79,13.38-2.53,3.98-6.22,7.11-11.08,9.4-4.86,2.29-10.82,3.43-17.87,3.43h-38.89ZM283.93,117.66h20.74c5.81,0,10.24-1.3,13.29-3.91,3.05-2.61,4.58-6.19,4.58-10.77s-1.51-8.05-4.51-10.7c-3-2.65-7.55-3.98-13.65-3.98h-20.45v29.36ZM283.93,160.61h21.74c6.1,0,10.84-1.37,14.22-4.11,3.38-2.75,5.08-6.59,5.08-11.53s-1.76-8.85-5.29-11.73-8.29-4.32-14.3-4.32h-21.45v31.69Z"
|
|
1680
1852
|
}
|
|
1681
1853
|
),
|
|
1682
|
-
/* @__PURE__ */
|
|
1854
|
+
/* @__PURE__ */ jsx30(
|
|
1683
1855
|
"path",
|
|
1684
1856
|
{
|
|
1685
1857
|
className: "berget-logotype-fill",
|
|
1686
1858
|
d: "M382.45,174.19c-6.96,0-13.13-1.49-18.52-4.46-5.39-2.97-9.6-7.11-12.65-12.42-3.05-5.3-4.57-11.48-4.57-18.52s1.5-13.4,4.5-18.79,7.19-9.61,12.58-12.62c5.39-3.02,11.65-4.53,18.81-4.53s13,1.48,18.15,4.46c5.15,2.97,9.16,6.93,12.01,11.87,2.86,4.94,4.29,10.38,4.29,16.33,0,.92-.02,1.9-.07,2.95-.05,1.05-.12,2.22-.22,3.5h-55.19c.48,6.59,2.75,11.59,6.79,15.02,4.05,3.43,8.75,5.14,14.09,5.14,4.29,0,7.89-.93,10.79-2.81,2.91-1.88,5.08-4.41,6.51-7.61h15.16c-1.91,6.4-5.7,11.75-11.37,16.05-5.68,4.3-12.71,6.45-21.09,6.45ZM382.45,114.78c-5.05,0-9.54,1.44-13.44,4.32-3.91,2.88-6.29,7.2-7.15,12.97h40.04c-.29-5.3-2.24-9.51-5.87-12.62-3.62-3.11-8.15-4.67-13.58-4.67Z"
|
|
1687
1859
|
}
|
|
1688
1860
|
),
|
|
1689
|
-
/* @__PURE__ */
|
|
1861
|
+
/* @__PURE__ */ jsx30(
|
|
1690
1862
|
"path",
|
|
1691
1863
|
{
|
|
1692
1864
|
className: "berget-logotype-fill",
|
|
1693
1865
|
d: "M425.62,172.54v-68.05h13.59l1.29,12.9c2.47-4.48,5.93-8.03,10.37-10.63,4.43-2.61,9.79-3.91,16.08-3.91v15.23h-4.15c-4.19,0-7.93.67-11.22,1.99-3.29,1.33-5.91,3.57-7.86,6.72-1.96,3.16-2.93,7.53-2.93,13.1v32.65h-15.16Z"
|
|
1694
1866
|
}
|
|
1695
1867
|
),
|
|
1696
|
-
/* @__PURE__ */
|
|
1868
|
+
/* @__PURE__ */ jsx30(
|
|
1697
1869
|
"path",
|
|
1698
1870
|
{
|
|
1699
1871
|
className: "berget-logotype-fill",
|
|
1700
1872
|
d: "M500.25,151.69c-3.72,0-7.14-.41-10.29-1.24l-6.15,5.76c1.05.64,2.34,1.19,3.86,1.65,1.52.46,3.66.87,6.43,1.23,2.76.37,6.53.73,11.29,1.1,9.43.82,16.25,3,20.44,6.52,4.2,3.52,6.29,8.21,6.29,14.06,0,4.02-1.12,7.84-3.35,11.45-2.24,3.61-5.72,6.54-10.44,8.78s-10.74,3.36-18.09,3.36c-9.91,0-17.94-1.8-24.09-5.42-6.15-3.62-9.22-9.08-9.22-16.4,0-2.84.78-5.65,2.35-8.44,1.57-2.79,4.08-5.42,7.51-7.89-2-.83-3.74-1.72-5.22-2.68-1.48-.96-2.79-1.94-3.94-2.95v-3.29l12.3-12.07c-5.53-4.57-8.29-10.56-8.29-17.97,0-4.48,1.12-8.58,3.36-12.28,2.24-3.7,5.5-6.65,9.79-8.85,4.29-2.2,9.43-3.29,15.44-3.29,4.01,0,7.72.55,11.15,1.64h26.45v9.6l-12.58.69c2.28,3.75,3.43,7.91,3.43,12.49s-1.13,8.69-3.36,12.35c-2.24,3.66-5.48,6.59-9.72,8.78-4.25,2.2-9.37,3.29-15.37,3.29ZM481.24,181.19c0,3.93,1.81,6.88,5.44,8.85,3.62,1.97,8.15,2.95,13.58,2.95s9.48-1.07,12.72-3.22c3.24-2.15,4.86-5,4.86-8.57,0-2.65-1.09-4.92-3.29-6.79-2.19-1.87-6.34-3.04-12.44-3.5-4.57-.27-8.63-.68-12.15-1.23-3.34,1.74-5.63,3.61-6.86,5.63-1.25,2.01-1.86,3.98-1.86,5.9ZM500.25,140.3c4.38,0,7.93-1.12,10.66-3.36,2.71-2.24,4.07-5.42,4.07-9.53s-1.36-7.41-4.07-9.6c-2.72-2.2-6.27-3.29-10.66-3.29s-8.08,1.1-10.79,3.29c-2.71,2.2-4.08,5.4-4.08,9.6s1.36,7.3,4.08,9.53c2.71,2.24,6.31,3.36,10.79,3.36Z"
|
|
1701
1873
|
}
|
|
1702
1874
|
),
|
|
1703
|
-
/* @__PURE__ */
|
|
1875
|
+
/* @__PURE__ */ jsx30(
|
|
1704
1876
|
"path",
|
|
1705
1877
|
{
|
|
1706
1878
|
className: "berget-logotype-fill",
|
|
1707
1879
|
d: "M574.61,174.19c-6.96,0-13.13-1.49-18.52-4.46-5.39-2.97-9.6-7.11-12.65-12.42-3.05-5.3-4.57-11.48-4.57-18.52s1.5-13.4,4.5-18.79c3-5.4,7.19-9.61,12.58-12.62c5.39-3.02,11.65-4.53,18.81-4.53s13,1.48,18.15,4.46c5.15,2.97,9.16,6.93,12.01,11.87,2.86,4.94,4.29,10.38,4.29,16.33,0,.92-.02,1.9-.07,2.95-.05,1.05-.12,2.22-.22,3.5h-55.19c.48,6.59,2.75,11.59,6.79,15.02,4.05,3.43,8.75,5.14,14.09,5.14,4.29,0,7.89-.93,10.79-2.81s5.08-4.41,6.51-7.61h15.16c-1.91,6.4-5.7,11.75-11.37,16.05-5.68,4.3-12.71,6.45-21.09,6.45ZM574.61,114.78c-5.05,0-9.54,1.44-13.44,4.32-3.91,2.88-6.29,7.2-7.15,12.97h40.04c-.29-5.3-2.24-9.51-5.87-12.62-3.62-3.11-8.15-4.67-13.58-4.67Z"
|
|
1708
1880
|
}
|
|
1709
1881
|
),
|
|
1710
|
-
/* @__PURE__ */
|
|
1882
|
+
/* @__PURE__ */ jsx30(
|
|
1711
1883
|
"path",
|
|
1712
1884
|
{
|
|
1713
1885
|
className: "berget-logotype-fill",
|
|
1714
1886
|
d: "M646.23,172.54c-6.96,0-12.49-1.62-16.59-4.87-4.1-3.25-6.15-9.03-6.15-17.36v-33.61h-12.16v-12.21h12.16l1.86-17.29h13.29v17.29h20.02v12.21h-20.02v33.61c0,3.75.84,6.33,2.51,7.75,1.67,1.42,4.55,2.13,8.65,2.13h8.14v12.35h-11.72Z"
|
|
1715
1887
|
}
|
|
1716
1888
|
),
|
|
1717
|
-
/* @__PURE__ */
|
|
1889
|
+
/* @__PURE__ */ jsx30(
|
|
1718
1890
|
"path",
|
|
1719
1891
|
{
|
|
1720
1892
|
className: "berget-logotype-fill",
|
|
1721
1893
|
d: "M684.4,172.54l36.89-96.04h16.59l36.6,96.04h-16.01l-8.58-23.46h-40.88l-8.58,23.46h-16.01ZM713.28,137.56h32.31l-16.16-43.77-16.16,43.77Z"
|
|
1722
1894
|
}
|
|
1723
1895
|
),
|
|
1724
|
-
/* @__PURE__ */
|
|
1896
|
+
/* @__PURE__ */ jsx30("path", { className: "berget-logotype-fill", d: "M778.48,172.54v-96.04h15.15v96.04h-15.15Z" })
|
|
1725
1897
|
] }),
|
|
1726
|
-
/* @__PURE__ */
|
|
1898
|
+
/* @__PURE__ */ jsx30(
|
|
1727
1899
|
"path",
|
|
1728
1900
|
{
|
|
1729
1901
|
style: { fill: fillColor },
|
|
@@ -1738,18 +1910,18 @@ var BergetLogo = React27.forwardRef(
|
|
|
1738
1910
|
BergetLogo.displayName = "BergetLogo";
|
|
1739
1911
|
|
|
1740
1912
|
// src/components/header/Header.tsx
|
|
1741
|
-
import * as
|
|
1913
|
+
import * as React31 from "react";
|
|
1742
1914
|
import { cva as cva19 } from "class-variance-authority";
|
|
1743
1915
|
import { Menu, X } from "lucide-react";
|
|
1744
1916
|
|
|
1745
1917
|
// src/components/language-select/LanguageSelect.tsx
|
|
1746
|
-
import * as
|
|
1918
|
+
import * as React30 from "react";
|
|
1747
1919
|
import * as SelectPrimitive2 from "@radix-ui/react-select";
|
|
1748
1920
|
import { Globe } from "lucide-react";
|
|
1749
|
-
import { jsx as
|
|
1750
|
-
var LanguageSelect =
|
|
1751
|
-
return /* @__PURE__ */
|
|
1752
|
-
/* @__PURE__ */
|
|
1921
|
+
import { jsx as jsx31, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1922
|
+
var LanguageSelect = React30.forwardRef(({ className, options, value, onValueChange }, ref) => {
|
|
1923
|
+
return /* @__PURE__ */ jsxs14(SelectPrimitive2.Root, { value, onValueChange, children: [
|
|
1924
|
+
/* @__PURE__ */ jsx31(
|
|
1753
1925
|
SelectPrimitive2.Trigger,
|
|
1754
1926
|
{
|
|
1755
1927
|
ref,
|
|
@@ -1770,10 +1942,10 @@ var LanguageSelect = React28.forwardRef(({ className, options, value, onValueCha
|
|
|
1770
1942
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1771
1943
|
className
|
|
1772
1944
|
),
|
|
1773
|
-
children: /* @__PURE__ */
|
|
1945
|
+
children: /* @__PURE__ */ jsx31(Icon, { icon: Globe, size: 16 })
|
|
1774
1946
|
}
|
|
1775
1947
|
),
|
|
1776
|
-
/* @__PURE__ */
|
|
1948
|
+
/* @__PURE__ */ jsx31(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx31(
|
|
1777
1949
|
SelectPrimitive2.Content,
|
|
1778
1950
|
{
|
|
1779
1951
|
className: cn(
|
|
@@ -1801,7 +1973,7 @@ var LanguageSelect = React28.forwardRef(({ className, options, value, onValueCha
|
|
|
1801
1973
|
"origin-[--radix-select-content-transform-origin]"
|
|
1802
1974
|
),
|
|
1803
1975
|
position: "popper",
|
|
1804
|
-
children: /* @__PURE__ */
|
|
1976
|
+
children: /* @__PURE__ */ jsx31(SelectPrimitive2.Viewport, { className: "p-1", children: options.map((option) => /* @__PURE__ */ jsx31(
|
|
1805
1977
|
SelectPrimitive2.Item,
|
|
1806
1978
|
{
|
|
1807
1979
|
value: option.value,
|
|
@@ -1818,7 +1990,7 @@ var LanguageSelect = React28.forwardRef(({ className, options, value, onValueCha
|
|
|
1818
1990
|
// Disabled state
|
|
1819
1991
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
1820
1992
|
),
|
|
1821
|
-
children: /* @__PURE__ */
|
|
1993
|
+
children: /* @__PURE__ */ jsx31(SelectPrimitive2.ItemText, { children: option.label })
|
|
1822
1994
|
},
|
|
1823
1995
|
option.value
|
|
1824
1996
|
)) })
|
|
@@ -1829,7 +2001,7 @@ var LanguageSelect = React28.forwardRef(({ className, options, value, onValueCha
|
|
|
1829
2001
|
LanguageSelect.displayName = "LanguageSelect";
|
|
1830
2002
|
|
|
1831
2003
|
// src/components/header/Header.tsx
|
|
1832
|
-
import { jsx as
|
|
2004
|
+
import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1833
2005
|
var headerVariants = cva19(
|
|
1834
2006
|
"sticky top-0 z-50 header-backdrop backdrop-blur-xl border-b border-berget-border transition-all duration-200",
|
|
1835
2007
|
{
|
|
@@ -1844,18 +2016,18 @@ var headerVariants = cva19(
|
|
|
1844
2016
|
}
|
|
1845
2017
|
}
|
|
1846
2018
|
);
|
|
1847
|
-
var HeaderContext =
|
|
2019
|
+
var HeaderContext = React31.createContext({
|
|
1848
2020
|
isMobileMenuOpen: false,
|
|
1849
2021
|
setIsMobileMenuOpen: () => {
|
|
1850
2022
|
}
|
|
1851
2023
|
});
|
|
1852
|
-
var useHeaderContext = () =>
|
|
1853
|
-
var HeaderLogo =
|
|
1854
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
2024
|
+
var useHeaderContext = () => React31.useContext(HeaderContext);
|
|
2025
|
+
var HeaderLogo = React31.forwardRef(
|
|
2026
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx32("div", { ref, className: cn("flex items-center", className), ...props, children })
|
|
1855
2027
|
);
|
|
1856
2028
|
HeaderLogo.displayName = "HeaderLogo";
|
|
1857
|
-
var HeaderNav =
|
|
1858
|
-
return /* @__PURE__ */
|
|
2029
|
+
var HeaderNav = React31.forwardRef(({ className, links, ...props }, ref) => {
|
|
2030
|
+
return /* @__PURE__ */ jsx32("nav", { ref, className: cn("hidden md:flex items-center gap-fluid-lg", className), ...props, children: /* @__PURE__ */ jsx32("ul", { className: "flex items-center gap-fluid-lg", children: links.map((link) => /* @__PURE__ */ jsx32("li", { children: /* @__PURE__ */ jsxs15(
|
|
1859
2031
|
Link,
|
|
1860
2032
|
{
|
|
1861
2033
|
href: link.href,
|
|
@@ -1863,14 +2035,14 @@ var HeaderNav = React29.forwardRef(({ className, links, ...props }, ref) => {
|
|
|
1863
2035
|
size: "sm",
|
|
1864
2036
|
className: cn("relative transition-all duration-200", link.active && "font-medium"),
|
|
1865
2037
|
children: [
|
|
1866
|
-
link.icon && /* @__PURE__ */
|
|
2038
|
+
link.icon && /* @__PURE__ */ jsx32("span", { className: "inline-flex items-center mr-2", children: /* @__PURE__ */ jsx32(Icon, { icon: link.icon, size: 16 }) }),
|
|
1867
2039
|
link.label
|
|
1868
2040
|
]
|
|
1869
2041
|
}
|
|
1870
2042
|
) }, link.href)) }) });
|
|
1871
2043
|
});
|
|
1872
2044
|
HeaderNav.displayName = "HeaderNav";
|
|
1873
|
-
var HeaderActions =
|
|
2045
|
+
var HeaderActions = React31.forwardRef(
|
|
1874
2046
|
({
|
|
1875
2047
|
className,
|
|
1876
2048
|
languageOptions,
|
|
@@ -1880,8 +2052,8 @@ var HeaderActions = React29.forwardRef(
|
|
|
1880
2052
|
ctaButton,
|
|
1881
2053
|
...props
|
|
1882
2054
|
}, ref) => {
|
|
1883
|
-
return /* @__PURE__ */
|
|
1884
|
-
languageOptions.length > 0 && /* @__PURE__ */
|
|
2055
|
+
return /* @__PURE__ */ jsxs15("div", { ref, className: cn("hidden md:flex items-center gap-2", className), ...props, children: [
|
|
2056
|
+
languageOptions.length > 0 && /* @__PURE__ */ jsx32(
|
|
1885
2057
|
LanguageSelect,
|
|
1886
2058
|
{
|
|
1887
2059
|
options: languageOptions,
|
|
@@ -1895,16 +2067,16 @@ var HeaderActions = React29.forwardRef(
|
|
|
1895
2067
|
}
|
|
1896
2068
|
);
|
|
1897
2069
|
HeaderActions.displayName = "HeaderActions";
|
|
1898
|
-
var MobileMenuButton =
|
|
2070
|
+
var MobileMenuButton = React31.forwardRef(({ className, ...props }, ref) => {
|
|
1899
2071
|
const { isMobileMenuOpen, setIsMobileMenuOpen } = useHeaderContext();
|
|
1900
|
-
return /* @__PURE__ */
|
|
2072
|
+
return /* @__PURE__ */ jsx32(
|
|
1901
2073
|
"button",
|
|
1902
2074
|
{
|
|
1903
2075
|
ref,
|
|
1904
2076
|
className: cn(
|
|
1905
2077
|
"md:hidden flex items-center justify-center w-8 h-8 rounded-full",
|
|
1906
2078
|
"cursor-pointer transition-all duration-200",
|
|
1907
|
-
"hover:bg-berget-surface-hover
|
|
2079
|
+
"hover:bg-berget-surface-hover",
|
|
1908
2080
|
className
|
|
1909
2081
|
),
|
|
1910
2082
|
onClick: () => setIsMobileMenuOpen(!isMobileMenuOpen),
|
|
@@ -1912,12 +2084,12 @@ var MobileMenuButton = React29.forwardRef(({ className, ...props }, ref) => {
|
|
|
1912
2084
|
"aria-expanded": isMobileMenuOpen,
|
|
1913
2085
|
"aria-controls": "mobile-menu",
|
|
1914
2086
|
...props,
|
|
1915
|
-
children: isMobileMenuOpen ? /* @__PURE__ */
|
|
2087
|
+
children: isMobileMenuOpen ? /* @__PURE__ */ jsx32(Icon, { icon: X, size: 16 }) : /* @__PURE__ */ jsx32(Icon, { icon: Menu, size: 16 })
|
|
1916
2088
|
}
|
|
1917
2089
|
);
|
|
1918
2090
|
});
|
|
1919
2091
|
MobileMenuButton.displayName = "MobileMenuButton";
|
|
1920
|
-
var MobileMenu =
|
|
2092
|
+
var MobileMenu = React31.forwardRef(
|
|
1921
2093
|
({
|
|
1922
2094
|
className,
|
|
1923
2095
|
links,
|
|
@@ -1930,7 +2102,7 @@ var MobileMenu = React29.forwardRef(
|
|
|
1930
2102
|
}, ref) => {
|
|
1931
2103
|
const { isMobileMenuOpen, setIsMobileMenuOpen } = useHeaderContext();
|
|
1932
2104
|
if (!isMobileMenuOpen) return null;
|
|
1933
|
-
return /* @__PURE__ */
|
|
2105
|
+
return /* @__PURE__ */ jsx32(
|
|
1934
2106
|
"nav",
|
|
1935
2107
|
{
|
|
1936
2108
|
ref,
|
|
@@ -1941,8 +2113,8 @@ var MobileMenu = React29.forwardRef(
|
|
|
1941
2113
|
className
|
|
1942
2114
|
),
|
|
1943
2115
|
...props,
|
|
1944
|
-
children: /* @__PURE__ */
|
|
1945
|
-
/* @__PURE__ */
|
|
2116
|
+
children: /* @__PURE__ */ jsxs15(Box, { direction: "column", gap: 0, className: "py-fluid-md", children: [
|
|
2117
|
+
/* @__PURE__ */ jsx32("ul", { className: "px-fluid-md pb-fluid-md border-b border-berget-border/50", children: links.map((link) => /* @__PURE__ */ jsx32("li", { children: /* @__PURE__ */ jsxs15(
|
|
1946
2118
|
Link,
|
|
1947
2119
|
{
|
|
1948
2120
|
href: link.href,
|
|
@@ -1953,13 +2125,13 @@ var MobileMenu = React29.forwardRef(
|
|
|
1953
2125
|
),
|
|
1954
2126
|
onClick: () => setIsMobileMenuOpen(false),
|
|
1955
2127
|
children: [
|
|
1956
|
-
link.icon && /* @__PURE__ */
|
|
2128
|
+
link.icon && /* @__PURE__ */ jsx32("span", { className: "inline-flex items-center mr-2", children: /* @__PURE__ */ jsx32(Icon, { icon: link.icon, size: 16 }) }),
|
|
1957
2129
|
link.label
|
|
1958
2130
|
]
|
|
1959
2131
|
}
|
|
1960
2132
|
) }, link.href)) }),
|
|
1961
|
-
/* @__PURE__ */
|
|
1962
|
-
languageOptions.length > 0 && /* @__PURE__ */
|
|
2133
|
+
/* @__PURE__ */ jsxs15("div", { className: "px-fluid-md py-fluid-md", children: [
|
|
2134
|
+
languageOptions.length > 0 && /* @__PURE__ */ jsx32("div", { className: "mb-fluid-md", children: /* @__PURE__ */ jsx32(
|
|
1963
2135
|
LanguageSelect,
|
|
1964
2136
|
{
|
|
1965
2137
|
options: languageOptions,
|
|
@@ -1967,8 +2139,8 @@ var MobileMenu = React29.forwardRef(
|
|
|
1967
2139
|
onValueChange: onLanguageChange
|
|
1968
2140
|
}
|
|
1969
2141
|
) }),
|
|
1970
|
-
loginButton && /* @__PURE__ */
|
|
1971
|
-
ctaButton && /* @__PURE__ */
|
|
2142
|
+
loginButton && /* @__PURE__ */ jsx32("div", { className: "mb-fluid-md w-full", children: loginButton }),
|
|
2143
|
+
ctaButton && /* @__PURE__ */ jsx32("div", { className: "w-full", children: ctaButton })
|
|
1972
2144
|
] })
|
|
1973
2145
|
] })
|
|
1974
2146
|
}
|
|
@@ -1976,7 +2148,7 @@ var MobileMenu = React29.forwardRef(
|
|
|
1976
2148
|
}
|
|
1977
2149
|
);
|
|
1978
2150
|
MobileMenu.displayName = "MobileMenu";
|
|
1979
|
-
var Header =
|
|
2151
|
+
var Header = React31.forwardRef(
|
|
1980
2152
|
({
|
|
1981
2153
|
className,
|
|
1982
2154
|
variant,
|
|
@@ -1989,8 +2161,8 @@ var Header = React29.forwardRef(
|
|
|
1989
2161
|
onLanguageChange,
|
|
1990
2162
|
...props
|
|
1991
2163
|
}, ref) => {
|
|
1992
|
-
const [isMobileMenuOpen, setIsMobileMenuOpen] =
|
|
1993
|
-
|
|
2164
|
+
const [isMobileMenuOpen, setIsMobileMenuOpen] = React31.useState(false);
|
|
2165
|
+
React31.useEffect(() => {
|
|
1994
2166
|
if (isMobileMenuOpen) {
|
|
1995
2167
|
document.body.style.overflow = "hidden";
|
|
1996
2168
|
} else {
|
|
@@ -2000,12 +2172,12 @@ var Header = React29.forwardRef(
|
|
|
2000
2172
|
document.body.style.overflow = "unset";
|
|
2001
2173
|
};
|
|
2002
2174
|
}, [isMobileMenuOpen]);
|
|
2003
|
-
return /* @__PURE__ */
|
|
2004
|
-
/* @__PURE__ */
|
|
2005
|
-
/* @__PURE__ */
|
|
2006
|
-
/* @__PURE__ */
|
|
2007
|
-
/* @__PURE__ */
|
|
2008
|
-
/* @__PURE__ */
|
|
2175
|
+
return /* @__PURE__ */ jsx32(HeaderContext.Provider, { value: { isMobileMenuOpen, setIsMobileMenuOpen }, children: /* @__PURE__ */ jsxs15("header", { ref, className: cn(headerVariants({ variant }), className), ...props, children: [
|
|
2176
|
+
/* @__PURE__ */ jsx32(Container, { size: "xl", children: /* @__PURE__ */ jsxs15(Box, { direction: "row", align: "center", justify: "between", className: "h-16", children: [
|
|
2177
|
+
/* @__PURE__ */ jsx32(HeaderLogo, { children: logo || /* @__PURE__ */ jsx32(BergetLogo, { variant: "logotype", color: "auto", size: 32 }) }),
|
|
2178
|
+
/* @__PURE__ */ jsx32(HeaderNav, { links }),
|
|
2179
|
+
/* @__PURE__ */ jsxs15(Box, { direction: "row", align: "center", gap: 3, children: [
|
|
2180
|
+
/* @__PURE__ */ jsx32(
|
|
2009
2181
|
HeaderActions,
|
|
2010
2182
|
{
|
|
2011
2183
|
languageOptions,
|
|
@@ -2015,11 +2187,11 @@ var Header = React29.forwardRef(
|
|
|
2015
2187
|
ctaButton
|
|
2016
2188
|
}
|
|
2017
2189
|
),
|
|
2018
|
-
ctaButton && /* @__PURE__ */
|
|
2019
|
-
/* @__PURE__ */
|
|
2190
|
+
ctaButton && /* @__PURE__ */ jsx32("div", { className: "md:hidden", children: ctaButton }),
|
|
2191
|
+
/* @__PURE__ */ jsx32(MobileMenuButton, {})
|
|
2020
2192
|
] })
|
|
2021
2193
|
] }) }),
|
|
2022
|
-
/* @__PURE__ */
|
|
2194
|
+
/* @__PURE__ */ jsx32(
|
|
2023
2195
|
MobileMenu,
|
|
2024
2196
|
{
|
|
2025
2197
|
links,
|
|
@@ -2036,16 +2208,16 @@ var Header = React29.forwardRef(
|
|
|
2036
2208
|
Header.displayName = "Header";
|
|
2037
2209
|
|
|
2038
2210
|
// src/components/feature-cards/FeatureCards.tsx
|
|
2039
|
-
import * as
|
|
2211
|
+
import * as React34 from "react";
|
|
2040
2212
|
import { cva as cva21 } from "class-variance-authority";
|
|
2041
2213
|
|
|
2042
2214
|
// src/components/list/List.tsx
|
|
2043
|
-
import * as
|
|
2215
|
+
import * as React33 from "react";
|
|
2044
2216
|
|
|
2045
2217
|
// src/components/divider/Divider.tsx
|
|
2046
|
-
import * as
|
|
2218
|
+
import * as React32 from "react";
|
|
2047
2219
|
import { cva as cva20 } from "class-variance-authority";
|
|
2048
|
-
import { jsx as
|
|
2220
|
+
import { jsx as jsx33, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2049
2221
|
var dividerVariants = cva20("", {
|
|
2050
2222
|
variants: {
|
|
2051
2223
|
variant: {
|
|
@@ -2066,7 +2238,7 @@ var dividerVariants = cva20("", {
|
|
|
2066
2238
|
size: "thin"
|
|
2067
2239
|
}
|
|
2068
2240
|
});
|
|
2069
|
-
var Divider =
|
|
2241
|
+
var Divider = React32.forwardRef(
|
|
2070
2242
|
({
|
|
2071
2243
|
className,
|
|
2072
2244
|
orientation = "horizontal",
|
|
@@ -2077,16 +2249,16 @@ var Divider = React30.forwardRef(
|
|
|
2077
2249
|
...props
|
|
2078
2250
|
}, ref) => {
|
|
2079
2251
|
if (label) {
|
|
2080
|
-
return /* @__PURE__ */
|
|
2081
|
-
labelPosition !== "right" && /* @__PURE__ */
|
|
2252
|
+
return /* @__PURE__ */ jsxs16("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
2253
|
+
labelPosition !== "right" && /* @__PURE__ */ jsx33(
|
|
2082
2254
|
Separator2,
|
|
2083
2255
|
{
|
|
2084
2256
|
orientation: "horizontal",
|
|
2085
2257
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
2086
2258
|
}
|
|
2087
2259
|
),
|
|
2088
|
-
/* @__PURE__ */
|
|
2089
|
-
labelPosition !== "left" && /* @__PURE__ */
|
|
2260
|
+
/* @__PURE__ */ jsx33(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
2261
|
+
labelPosition !== "left" && /* @__PURE__ */ jsx33(
|
|
2090
2262
|
Separator2,
|
|
2091
2263
|
{
|
|
2092
2264
|
orientation: "horizontal",
|
|
@@ -2095,7 +2267,7 @@ var Divider = React30.forwardRef(
|
|
|
2095
2267
|
)
|
|
2096
2268
|
] });
|
|
2097
2269
|
}
|
|
2098
|
-
return /* @__PURE__ */
|
|
2270
|
+
return /* @__PURE__ */ jsx33(
|
|
2099
2271
|
Separator2,
|
|
2100
2272
|
{
|
|
2101
2273
|
ref,
|
|
@@ -2113,19 +2285,19 @@ Divider.displayName = "Divider";
|
|
|
2113
2285
|
|
|
2114
2286
|
// src/components/list/List.tsx
|
|
2115
2287
|
import { Check as Check4 } from "lucide-react";
|
|
2116
|
-
import { jsx as
|
|
2117
|
-
var List =
|
|
2288
|
+
import { jsx as jsx34, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2289
|
+
var List = React33.forwardRef(
|
|
2118
2290
|
({ className, children, ...props }, ref) => {
|
|
2119
|
-
const childrenArray =
|
|
2120
|
-
return /* @__PURE__ */
|
|
2291
|
+
const childrenArray = React33.Children.toArray(children);
|
|
2292
|
+
return /* @__PURE__ */ jsx34("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs17(React33.Fragment, { children: [
|
|
2121
2293
|
child,
|
|
2122
|
-
index < childrenArray.length - 1 && /* @__PURE__ */
|
|
2294
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ jsx34(Divider, { variant: "subtle" })
|
|
2123
2295
|
] }, index)) });
|
|
2124
2296
|
}
|
|
2125
2297
|
);
|
|
2126
2298
|
List.displayName = "List";
|
|
2127
|
-
var ListItem =
|
|
2128
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */
|
|
2299
|
+
var ListItem = React33.forwardRef(
|
|
2300
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ jsxs17(
|
|
2129
2301
|
"div",
|
|
2130
2302
|
{
|
|
2131
2303
|
ref,
|
|
@@ -2136,15 +2308,15 @@ var ListItem = React31.forwardRef(
|
|
|
2136
2308
|
),
|
|
2137
2309
|
...props,
|
|
2138
2310
|
children: [
|
|
2139
|
-
icon && /* @__PURE__ */
|
|
2140
|
-
/* @__PURE__ */
|
|
2311
|
+
icon && /* @__PURE__ */ jsx34("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
2312
|
+
/* @__PURE__ */ jsx34("div", { className: "flex-1 min-w-0", children })
|
|
2141
2313
|
]
|
|
2142
2314
|
}
|
|
2143
2315
|
)
|
|
2144
2316
|
);
|
|
2145
2317
|
ListItem.displayName = "ListItem";
|
|
2146
|
-
var ListHeader =
|
|
2147
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
2318
|
+
var ListHeader = React33.forwardRef(
|
|
2319
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2148
2320
|
"div",
|
|
2149
2321
|
{
|
|
2150
2322
|
ref,
|
|
@@ -2155,18 +2327,18 @@ var ListHeader = React31.forwardRef(
|
|
|
2155
2327
|
)
|
|
2156
2328
|
);
|
|
2157
2329
|
ListHeader.displayName = "ListHeader";
|
|
2158
|
-
var FeatureList =
|
|
2330
|
+
var FeatureList = React33.forwardRef(
|
|
2159
2331
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
2160
|
-
return /* @__PURE__ */
|
|
2161
|
-
variant === "bullet" ? /* @__PURE__ */
|
|
2162
|
-
/* @__PURE__ */
|
|
2332
|
+
return /* @__PURE__ */ jsx34("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ jsxs17("li", { className: "flex items-start gap-fluid-md", children: [
|
|
2333
|
+
variant === "bullet" ? /* @__PURE__ */ jsx34("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ jsx34("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx34(Icon, { icon: Check4, size: 24, className: "text-berget-logo-light" }) }),
|
|
2334
|
+
/* @__PURE__ */ jsx34(Typography, { variant: "body", color: "muted", children: item })
|
|
2163
2335
|
] }, index)) });
|
|
2164
2336
|
}
|
|
2165
2337
|
);
|
|
2166
2338
|
FeatureList.displayName = "FeatureList";
|
|
2167
2339
|
|
|
2168
2340
|
// src/components/feature-cards/FeatureCards.tsx
|
|
2169
|
-
import { jsx as
|
|
2341
|
+
import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2170
2342
|
var featureCardVariants = cva21("", {
|
|
2171
2343
|
variants: {
|
|
2172
2344
|
variant: {
|
|
@@ -2179,7 +2351,7 @@ var featureCardVariants = cva21("", {
|
|
|
2179
2351
|
variant: "highlight"
|
|
2180
2352
|
}
|
|
2181
2353
|
});
|
|
2182
|
-
var FeatureCard =
|
|
2354
|
+
var FeatureCard = React34.forwardRef(
|
|
2183
2355
|
({
|
|
2184
2356
|
className,
|
|
2185
2357
|
variant = "highlight",
|
|
@@ -2194,23 +2366,23 @@ var FeatureCard = React32.forwardRef(
|
|
|
2194
2366
|
columns: _columns,
|
|
2195
2367
|
...props
|
|
2196
2368
|
}, ref) => {
|
|
2197
|
-
return /* @__PURE__ */
|
|
2369
|
+
return /* @__PURE__ */ jsx35(
|
|
2198
2370
|
Card2,
|
|
2199
2371
|
{
|
|
2200
2372
|
ref,
|
|
2201
2373
|
variant,
|
|
2202
2374
|
className: cn("w-full py-fluid-lg px-fluid-md", className),
|
|
2203
2375
|
...props,
|
|
2204
|
-
children: /* @__PURE__ */
|
|
2205
|
-
(Icon3 || badge) && /* @__PURE__ */
|
|
2206
|
-
Icon3 && /* @__PURE__ */
|
|
2376
|
+
children: /* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-start gap-fluid-md", children: [
|
|
2377
|
+
(Icon3 || badge) && /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between w-full", children: [
|
|
2378
|
+
Icon3 && /* @__PURE__ */ jsx35("div", { className: "flex h-7 w-7 items-center justify-center", children: /* @__PURE__ */ jsx35(
|
|
2207
2379
|
Icon3,
|
|
2208
2380
|
{
|
|
2209
2381
|
className: cn("h-7 w-7", iconColor || "text-foreground"),
|
|
2210
2382
|
strokeWidth: 1.5
|
|
2211
2383
|
}
|
|
2212
2384
|
) }),
|
|
2213
|
-
badge && /* @__PURE__ */
|
|
2385
|
+
badge && /* @__PURE__ */ jsx35("div", { className: "flex h-6 items-center justify-start px-6 bg-berget-feature-card-badge-bg rounded-full", children: /* @__PURE__ */ jsx35(
|
|
2214
2386
|
Typography,
|
|
2215
2387
|
{
|
|
2216
2388
|
variant: "body",
|
|
@@ -2220,10 +2392,10 @@ var FeatureCard = React32.forwardRef(
|
|
|
2220
2392
|
}
|
|
2221
2393
|
) })
|
|
2222
2394
|
] }),
|
|
2223
|
-
/* @__PURE__ */
|
|
2224
|
-
/* @__PURE__ */
|
|
2225
|
-
items && items.length > 0 && /* @__PURE__ */
|
|
2226
|
-
linkText && linkHref && /* @__PURE__ */
|
|
2395
|
+
/* @__PURE__ */ jsx35(Typography, { variant: "h3", className: "text-foreground", children: title }),
|
|
2396
|
+
/* @__PURE__ */ jsx35(Typography, { variant: "body", className: "text-foreground/80", children: description }),
|
|
2397
|
+
items && items.length > 0 && /* @__PURE__ */ jsx35(FeatureList, { items, variant: "bullet" }),
|
|
2398
|
+
linkText && linkHref && /* @__PURE__ */ jsxs18("a", { href: linkHref, className: "text-p font-p leading-p text-berget-accent", children: [
|
|
2227
2399
|
linkText,
|
|
2228
2400
|
" \u2192"
|
|
2229
2401
|
] })
|
|
@@ -2233,9 +2405,9 @@ var FeatureCard = React32.forwardRef(
|
|
|
2233
2405
|
}
|
|
2234
2406
|
);
|
|
2235
2407
|
FeatureCard.displayName = "FeatureCard";
|
|
2236
|
-
var FeatureCards =
|
|
2408
|
+
var FeatureCards = React34.forwardRef(
|
|
2237
2409
|
({ features, columns = 3, className }, ref) => {
|
|
2238
|
-
return /* @__PURE__ */
|
|
2410
|
+
return /* @__PURE__ */ jsx35(
|
|
2239
2411
|
"div",
|
|
2240
2412
|
{
|
|
2241
2413
|
ref,
|
|
@@ -2248,7 +2420,7 @@ var FeatureCards = React32.forwardRef(
|
|
|
2248
2420
|
columns === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
2249
2421
|
className
|
|
2250
2422
|
),
|
|
2251
|
-
children: features.map((feature, index) => /* @__PURE__ */
|
|
2423
|
+
children: features.map((feature, index) => /* @__PURE__ */ jsx35(FeatureCard, { ...feature }, index))
|
|
2252
2424
|
}
|
|
2253
2425
|
);
|
|
2254
2426
|
}
|
|
@@ -2256,9 +2428,9 @@ var FeatureCards = React32.forwardRef(
|
|
|
2256
2428
|
FeatureCards.displayName = "FeatureCards";
|
|
2257
2429
|
|
|
2258
2430
|
// src/components/hero-block/HeroBlock.tsx
|
|
2259
|
-
import * as
|
|
2431
|
+
import * as React35 from "react";
|
|
2260
2432
|
import { cva as cva22 } from "class-variance-authority";
|
|
2261
|
-
import { jsx as
|
|
2433
|
+
import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2262
2434
|
var heroBlockVariants = cva22(
|
|
2263
2435
|
"relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
|
|
2264
2436
|
{
|
|
@@ -2279,7 +2451,7 @@ var heroBlockVariants = cva22(
|
|
|
2279
2451
|
}
|
|
2280
2452
|
}
|
|
2281
2453
|
);
|
|
2282
|
-
var HeroBlock =
|
|
2454
|
+
var HeroBlock = React35.forwardRef(
|
|
2283
2455
|
({
|
|
2284
2456
|
className,
|
|
2285
2457
|
variant,
|
|
@@ -2291,26 +2463,26 @@ var HeroBlock = React33.forwardRef(
|
|
|
2291
2463
|
actions,
|
|
2292
2464
|
...props
|
|
2293
2465
|
}, ref) => {
|
|
2294
|
-
return /* @__PURE__ */
|
|
2466
|
+
return /* @__PURE__ */ jsx36(
|
|
2295
2467
|
"div",
|
|
2296
2468
|
{
|
|
2297
2469
|
ref,
|
|
2298
2470
|
className: cn(heroBlockVariants({ variant, withPattern }), className),
|
|
2299
2471
|
...props,
|
|
2300
|
-
children: /* @__PURE__ */
|
|
2301
|
-
tagline && /* @__PURE__ */
|
|
2472
|
+
children: /* @__PURE__ */ jsx36("div", { className: "mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs19("div", { className: "mx-auto text-center max-w-4xl", children: [
|
|
2473
|
+
tagline && /* @__PURE__ */ jsx36(
|
|
2302
2474
|
Badge,
|
|
2303
2475
|
{
|
|
2304
2476
|
variant: "default",
|
|
2305
|
-
icon: TaglineIcon ? /* @__PURE__ */
|
|
2477
|
+
icon: TaglineIcon ? /* @__PURE__ */ jsx36(Icon, { icon: TaglineIcon, size: 16 }) : void 0,
|
|
2306
2478
|
iconGap: 2,
|
|
2307
2479
|
className: "mb-fluid-md",
|
|
2308
2480
|
children: tagline
|
|
2309
2481
|
}
|
|
2310
2482
|
),
|
|
2311
|
-
/* @__PURE__ */
|
|
2312
|
-
/* @__PURE__ */
|
|
2313
|
-
actions && /* @__PURE__ */
|
|
2483
|
+
/* @__PURE__ */ jsx36(Typography, { variant: "h1", className: "mb-fluid-md", children: title }),
|
|
2484
|
+
/* @__PURE__ */ jsx36(Typography, { variant: "h3", color: "muted", className: "mb-fluid-lg", children: description }),
|
|
2485
|
+
actions && /* @__PURE__ */ jsx36("div", { className: "flex flex-wrap gap-fluid-md justify-center", children: actions })
|
|
2314
2486
|
] }) })
|
|
2315
2487
|
}
|
|
2316
2488
|
);
|
|
@@ -2319,34 +2491,34 @@ var HeroBlock = React33.forwardRef(
|
|
|
2319
2491
|
HeroBlock.displayName = "HeroBlock";
|
|
2320
2492
|
|
|
2321
2493
|
// src/components/code-block/CodeBlock.tsx
|
|
2322
|
-
import { useState as
|
|
2494
|
+
import { useState as useState3, useEffect as useEffect3, useCallback as useCallback3 } from "react";
|
|
2323
2495
|
import { Copy, Check as Check5 } from "lucide-react";
|
|
2324
|
-
import { jsx as
|
|
2496
|
+
import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
2325
2497
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
2326
|
-
const [html, setHtml] =
|
|
2327
|
-
const [copied, setCopied] =
|
|
2328
|
-
|
|
2498
|
+
const [html, setHtml] = useState3(null);
|
|
2499
|
+
const [copied, setCopied] = useState3(false);
|
|
2500
|
+
useEffect3(() => {
|
|
2329
2501
|
getHighlighter().then((highlighter) => {
|
|
2330
2502
|
const loadedLangs = highlighter.getLoadedLanguages();
|
|
2331
2503
|
const lang = loadedLangs.includes(language) ? language : "text";
|
|
2332
2504
|
setHtml(highlighter.codeToHtml(code, { lang, theme: "berget" }));
|
|
2333
2505
|
});
|
|
2334
2506
|
}, [code, language]);
|
|
2335
|
-
const handleCopy =
|
|
2507
|
+
const handleCopy = useCallback3(async () => {
|
|
2336
2508
|
await navigator.clipboard.writeText(code);
|
|
2337
2509
|
setCopied(true);
|
|
2338
2510
|
setTimeout(() => setCopied(false), 2e3);
|
|
2339
2511
|
}, [code]);
|
|
2340
|
-
const copyButton = /* @__PURE__ */
|
|
2512
|
+
const copyButton = /* @__PURE__ */ jsx37(
|
|
2341
2513
|
"button",
|
|
2342
2514
|
{
|
|
2343
2515
|
onClick: handleCopy,
|
|
2344
2516
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
2345
2517
|
"aria-label": "Copy code",
|
|
2346
|
-
children: copied ? /* @__PURE__ */
|
|
2518
|
+
children: copied ? /* @__PURE__ */ jsx37(Check5, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx37(Copy, { className: "w-3.5 h-3.5" })
|
|
2347
2519
|
}
|
|
2348
2520
|
);
|
|
2349
|
-
return /* @__PURE__ */
|
|
2521
|
+
return /* @__PURE__ */ jsxs20(
|
|
2350
2522
|
"div",
|
|
2351
2523
|
{
|
|
2352
2524
|
className: cn(
|
|
@@ -2354,15 +2526,15 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
2354
2526
|
className
|
|
2355
2527
|
),
|
|
2356
2528
|
children: [
|
|
2357
|
-
title && /* @__PURE__ */
|
|
2358
|
-
/* @__PURE__ */
|
|
2359
|
-
html ? /* @__PURE__ */
|
|
2529
|
+
title && /* @__PURE__ */ jsx37("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__ */ jsx37("span", { className: "text-berget-muted-foreground", children: title }) }),
|
|
2530
|
+
/* @__PURE__ */ jsx37("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
2531
|
+
html ? /* @__PURE__ */ jsx37(
|
|
2360
2532
|
"div",
|
|
2361
2533
|
{
|
|
2362
2534
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
2363
2535
|
dangerouslySetInnerHTML: { __html: html }
|
|
2364
2536
|
}
|
|
2365
|
-
) : /* @__PURE__ */
|
|
2537
|
+
) : /* @__PURE__ */ jsx37("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ jsx37("code", { children: code }) })
|
|
2366
2538
|
]
|
|
2367
2539
|
}
|
|
2368
2540
|
);
|
|
@@ -2415,6 +2587,8 @@ export {
|
|
|
2415
2587
|
Select2 as Select,
|
|
2416
2588
|
Switch,
|
|
2417
2589
|
TextArea,
|
|
2590
|
+
ThemeProvider,
|
|
2591
|
+
ThemeToggle,
|
|
2418
2592
|
Typography,
|
|
2419
2593
|
alertVariants2 as alertVariants,
|
|
2420
2594
|
badgeVariants,
|
|
@@ -2430,6 +2604,7 @@ export {
|
|
|
2430
2604
|
switchRootVariants,
|
|
2431
2605
|
switchThumbVariants,
|
|
2432
2606
|
textAreaVariants,
|
|
2433
|
-
typographyVariants
|
|
2607
|
+
typographyVariants,
|
|
2608
|
+
useTheme
|
|
2434
2609
|
};
|
|
2435
2610
|
//# sourceMappingURL=index.js.map
|