@bergetai/ui 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +267 -496
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -59
- package/dist/index.d.ts +32 -59
- package/dist/index.js +238 -475
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1629,7 +1629,7 @@ function Input({ className, type, ...props }) {
|
|
|
1629
1629
|
type,
|
|
1630
1630
|
"data-slot": "input",
|
|
1631
1631
|
className: cn6(
|
|
1632
|
-
"h-8 w-full min-w-0 rounded-lg border border-input bg-
|
|
1632
|
+
"h-8 w-full min-w-0 rounded-lg border border-input bg-berget-brand-granite-900 px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-berget-brand-moss-400 focus-visible:ring-3 focus-visible:ring-berget-brand-moss-300/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
1633
1633
|
className
|
|
1634
1634
|
),
|
|
1635
1635
|
...props
|
|
@@ -2506,7 +2506,7 @@ function SidebarHeader2({
|
|
|
2506
2506
|
);
|
|
2507
2507
|
}
|
|
2508
2508
|
function SidebarLogo() {
|
|
2509
|
-
return /* @__PURE__ */ jsx25(SidebarHeader, { className: "px-0", children: /* @__PURE__ */ jsxs14("div", { className: "relative flex h-15 items-center overflow-hidden px-
|
|
2509
|
+
return /* @__PURE__ */ jsx25(SidebarHeader, { className: "px-0", children: /* @__PURE__ */ jsxs14("div", { className: "relative flex h-15 items-center overflow-hidden px-5", children: [
|
|
2510
2510
|
/* @__PURE__ */ jsx25(
|
|
2511
2511
|
BergetLogo,
|
|
2512
2512
|
{
|
|
@@ -2515,7 +2515,7 @@ function SidebarLogo() {
|
|
|
2515
2515
|
className: "shrink-0 transition-[opacity,visibility] duration-150 group-data-[collapsible=icon]:pointer-events-none group-data-[collapsible=icon]:invisible group-data-[collapsible=icon]:opacity-0"
|
|
2516
2516
|
}
|
|
2517
2517
|
),
|
|
2518
|
-
/* @__PURE__ */ jsx25("span", { className: "pointer-events-none invisible absolute inset-y-0 left-0 w-15
|
|
2518
|
+
/* @__PURE__ */ jsx25("span", { className: "pointer-events-none invisible absolute inset-y-0 left-0 flex w-15 items-center pl-5 opacity-0 transition-[padding-left,opacity,visibility] duration-200 ease-linear group-data-[collapsible=icon]:visible group-data-[collapsible=icon]:pl-3 group-data-[collapsible=icon]:opacity-100", children: /* @__PURE__ */ jsx25(BergetLogo, { variant: "symbol", size: 32 }) })
|
|
2519
2519
|
] }) });
|
|
2520
2520
|
}
|
|
2521
2521
|
function SidebarPageHeader({ className, ...props }) {
|
|
@@ -2993,92 +2993,38 @@ var ItemSeparator2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
|
2993
2993
|
});
|
|
2994
2994
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
2995
2995
|
|
|
2996
|
-
// src/components/input/
|
|
2997
|
-
import
|
|
2996
|
+
// src/components/search-input/SearchInput.tsx
|
|
2997
|
+
import { Search } from "lucide-react";
|
|
2998
2998
|
import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2999
|
-
var
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
"aria-invalid": !!error,
|
|
3012
|
-
"aria-describedby": cn(error && errorId, description && descriptionId),
|
|
3013
|
-
className: cn(
|
|
3014
|
-
"isolate rounded-berget-xs bg-card focus-visible:border-berget-form-focus-border focus-visible:ring-0 focus-visible:ring-offset-0 hover:bg-berget-surface-hover transition-colors duration-200 px-3 sm:px-4 py-2 sm:py-2.5 text-sm",
|
|
3015
|
-
icon && "pl-10",
|
|
3016
|
-
actionButton && "pr-12",
|
|
3017
|
-
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
3018
|
-
disabled && "cursor-not-allowed",
|
|
3019
|
-
className
|
|
3020
|
-
),
|
|
3021
|
-
...props
|
|
3022
|
-
}
|
|
3023
|
-
);
|
|
3024
|
-
if (!icon && !actionButton) {
|
|
3025
|
-
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-2", children: [
|
|
3026
|
-
label && /* @__PURE__ */ jsx30(
|
|
3027
|
-
"label",
|
|
3028
|
-
{
|
|
3029
|
-
htmlFor: inputId,
|
|
3030
|
-
className: cn(
|
|
3031
|
-
"text-sm font-sans leading-none",
|
|
3032
|
-
disabled ? "text-muted-foreground cursor-not-allowed" : "text-foreground",
|
|
3033
|
-
error && "text-berget-destructive-foreground"
|
|
3034
|
-
),
|
|
3035
|
-
children: label
|
|
3036
|
-
}
|
|
3037
|
-
),
|
|
3038
|
-
inputElement,
|
|
3039
|
-
(description || error) && /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1", children: [
|
|
3040
|
-
description && /* @__PURE__ */ jsx30(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3041
|
-
error && /* @__PURE__ */ jsx30(
|
|
3042
|
-
Typography,
|
|
3043
|
-
{
|
|
3044
|
-
variant: "xs",
|
|
3045
|
-
id: errorId,
|
|
3046
|
-
className: "text-berget-destructive-foreground",
|
|
3047
|
-
children: error
|
|
3048
|
-
}
|
|
3049
|
-
)
|
|
3050
|
-
] })
|
|
3051
|
-
] });
|
|
2999
|
+
var SearchInput = ({
|
|
3000
|
+
type = "search",
|
|
3001
|
+
placeholder = "Search...",
|
|
3002
|
+
className,
|
|
3003
|
+
ref,
|
|
3004
|
+
...props
|
|
3005
|
+
}) => /* @__PURE__ */ jsxs15("div", { className: "relative flex w-full items-center", "data-slot": "search-input", children: [
|
|
3006
|
+
/* @__PURE__ */ jsx30(
|
|
3007
|
+
Search,
|
|
3008
|
+
{
|
|
3009
|
+
"aria-hidden": "true",
|
|
3010
|
+
className: "pointer-events-none absolute left-2.5 size-4 text-berget-muted-foreground"
|
|
3052
3011
|
}
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
/* @__PURE__ */ jsxs15("div", { className: "relative w-full", children: [
|
|
3067
|
-
icon && /* @__PURE__ */ jsx30("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
|
|
3068
|
-
inputElement,
|
|
3069
|
-
actionButton && /* @__PURE__ */ jsx30("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
3070
|
-
] }),
|
|
3071
|
-
(description || error) && /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1", children: [
|
|
3072
|
-
description && /* @__PURE__ */ jsx30(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3073
|
-
error && /* @__PURE__ */ jsx30(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
3074
|
-
] })
|
|
3075
|
-
] });
|
|
3076
|
-
}
|
|
3077
|
-
);
|
|
3078
|
-
Input2.displayName = "Input";
|
|
3012
|
+
),
|
|
3013
|
+
/* @__PURE__ */ jsx30(
|
|
3014
|
+
Input,
|
|
3015
|
+
{
|
|
3016
|
+
ref,
|
|
3017
|
+
type,
|
|
3018
|
+
placeholder,
|
|
3019
|
+
className: cn("rounded-full pl-8", className),
|
|
3020
|
+
...props
|
|
3021
|
+
}
|
|
3022
|
+
)
|
|
3023
|
+
] });
|
|
3024
|
+
SearchInput.displayName = "SearchInput";
|
|
3079
3025
|
|
|
3080
3026
|
// src/components/checkbox/Checkbox.tsx
|
|
3081
|
-
import * as
|
|
3027
|
+
import * as React18 from "react";
|
|
3082
3028
|
import { Checkbox as CheckboxPrimitive2 } from "@base-ui/react/checkbox";
|
|
3083
3029
|
import { Check as Check2 } from "lucide-react";
|
|
3084
3030
|
import { cva as cva11 } from "class-variance-authority";
|
|
@@ -3136,7 +3082,7 @@ var checkboxVariants = cva11(
|
|
|
3136
3082
|
}
|
|
3137
3083
|
}
|
|
3138
3084
|
);
|
|
3139
|
-
var Checkbox2 =
|
|
3085
|
+
var Checkbox2 = React18.forwardRef(
|
|
3140
3086
|
({
|
|
3141
3087
|
"aria-label": ariaLabel,
|
|
3142
3088
|
className,
|
|
@@ -3149,7 +3095,7 @@ var Checkbox2 = React19.forwardRef(
|
|
|
3149
3095
|
disabled,
|
|
3150
3096
|
...props
|
|
3151
3097
|
}, ref) => {
|
|
3152
|
-
const generatedId =
|
|
3098
|
+
const generatedId = React18.useId();
|
|
3153
3099
|
const checkboxId = id || generatedId;
|
|
3154
3100
|
const errorId = `${checkboxId}-error`;
|
|
3155
3101
|
return /* @__PURE__ */ jsxs16("div", { className: "flex items-start gap-3", children: [
|
|
@@ -3201,7 +3147,7 @@ var Checkbox2 = React19.forwardRef(
|
|
|
3201
3147
|
Checkbox2.displayName = "Checkbox";
|
|
3202
3148
|
|
|
3203
3149
|
// src/components/switch/Switch.tsx
|
|
3204
|
-
import * as
|
|
3150
|
+
import * as React19 from "react";
|
|
3205
3151
|
import { Switch as SwitchPrimitives } from "@base-ui/react/switch";
|
|
3206
3152
|
import { cva as cva12 } from "class-variance-authority";
|
|
3207
3153
|
import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
@@ -3241,7 +3187,7 @@ var switchThumbVariants = cva12(
|
|
|
3241
3187
|
}
|
|
3242
3188
|
}
|
|
3243
3189
|
);
|
|
3244
|
-
var Switch =
|
|
3190
|
+
var Switch = React19.forwardRef(
|
|
3245
3191
|
({
|
|
3246
3192
|
"aria-label": ariaLabel,
|
|
3247
3193
|
className,
|
|
@@ -3254,7 +3200,7 @@ var Switch = React20.forwardRef(
|
|
|
3254
3200
|
disabled,
|
|
3255
3201
|
...props
|
|
3256
3202
|
}, ref) => {
|
|
3257
|
-
const generatedId =
|
|
3203
|
+
const generatedId = React19.useId();
|
|
3258
3204
|
const switchId = id || generatedId;
|
|
3259
3205
|
const errorId = `${switchId}-error`;
|
|
3260
3206
|
return /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-3", children: [
|
|
@@ -3297,16 +3243,22 @@ var Switch = React20.forwardRef(
|
|
|
3297
3243
|
);
|
|
3298
3244
|
Switch.displayName = "Switch";
|
|
3299
3245
|
|
|
3300
|
-
// src/components/select/Select.tsx
|
|
3301
|
-
import * as React21 from "react";
|
|
3302
|
-
import { cva as cva13 } from "class-variance-authority";
|
|
3303
|
-
|
|
3304
3246
|
// src/primitives/select.tsx
|
|
3305
3247
|
import { Select as SelectPrimitive } from "@base-ui/react/select";
|
|
3306
3248
|
import { cn as cn15 } from "cn";
|
|
3307
3249
|
import { ChevronDownIcon as ChevronDownIcon2, CheckIcon as CheckIcon2, ChevronUpIcon } from "lucide-react";
|
|
3308
3250
|
import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3309
3251
|
var Select = SelectPrimitive.Root;
|
|
3252
|
+
function SelectGroup({ className, ...props }) {
|
|
3253
|
+
return /* @__PURE__ */ jsx34(
|
|
3254
|
+
SelectPrimitive.Group,
|
|
3255
|
+
{
|
|
3256
|
+
"data-slot": "select-group",
|
|
3257
|
+
className: cn15("scroll-my-1 p-1", className),
|
|
3258
|
+
...props
|
|
3259
|
+
}
|
|
3260
|
+
);
|
|
3261
|
+
}
|
|
3310
3262
|
function SelectValue({ className, ...props }) {
|
|
3311
3263
|
return /* @__PURE__ */ jsx34(
|
|
3312
3264
|
SelectPrimitive.Value,
|
|
@@ -3329,7 +3281,7 @@ function SelectTrigger({
|
|
|
3329
3281
|
"data-slot": "select-trigger",
|
|
3330
3282
|
"data-size": size,
|
|
3331
3283
|
className: cn15(
|
|
3332
|
-
"flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-input bg-
|
|
3284
|
+
"flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-input bg-berget-brand-granite-900 py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3333
3285
|
className
|
|
3334
3286
|
),
|
|
3335
3287
|
...props,
|
|
@@ -3381,6 +3333,19 @@ function SelectContent({
|
|
|
3381
3333
|
}
|
|
3382
3334
|
) });
|
|
3383
3335
|
}
|
|
3336
|
+
function SelectLabel({
|
|
3337
|
+
className,
|
|
3338
|
+
...props
|
|
3339
|
+
}) {
|
|
3340
|
+
return /* @__PURE__ */ jsx34(
|
|
3341
|
+
SelectPrimitive.GroupLabel,
|
|
3342
|
+
{
|
|
3343
|
+
"data-slot": "select-label",
|
|
3344
|
+
className: cn15("px-1.5 py-1 text-xs text-muted-foreground", className),
|
|
3345
|
+
...props
|
|
3346
|
+
}
|
|
3347
|
+
);
|
|
3348
|
+
}
|
|
3384
3349
|
function SelectItem({
|
|
3385
3350
|
className,
|
|
3386
3351
|
children,
|
|
@@ -3408,6 +3373,19 @@ function SelectItem({
|
|
|
3408
3373
|
}
|
|
3409
3374
|
);
|
|
3410
3375
|
}
|
|
3376
|
+
function SelectSeparator({
|
|
3377
|
+
className,
|
|
3378
|
+
...props
|
|
3379
|
+
}) {
|
|
3380
|
+
return /* @__PURE__ */ jsx34(
|
|
3381
|
+
SelectPrimitive.Separator,
|
|
3382
|
+
{
|
|
3383
|
+
"data-slot": "select-separator",
|
|
3384
|
+
className: cn15("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
3385
|
+
...props
|
|
3386
|
+
}
|
|
3387
|
+
);
|
|
3388
|
+
}
|
|
3411
3389
|
function SelectScrollUpButton({
|
|
3412
3390
|
className,
|
|
3413
3391
|
...props
|
|
@@ -3449,115 +3427,19 @@ function SelectScrollDownButton({
|
|
|
3449
3427
|
);
|
|
3450
3428
|
}
|
|
3451
3429
|
|
|
3452
|
-
// src/components/select/Select.tsx
|
|
3453
|
-
import { jsx as jsx35, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3454
|
-
var selectVariants = cva13(
|
|
3455
|
-
"flex w-full items-center justify-between rounded-berget-xs border bg-card px-4 py-3 text-sm transition-colors duration-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:border-berget-form-focus-border disabled:cursor-not-allowed disabled:opacity-50",
|
|
3456
|
-
{
|
|
3457
|
-
variants: {
|
|
3458
|
-
variant: {
|
|
3459
|
-
default: "border-berget-border-interactive hover:bg-berget-surface-hover",
|
|
3460
|
-
primary: "border-berget-primary-border bg-berget-primary-tint hover:bg-berget-surface-hover",
|
|
3461
|
-
subtle: "border-berget-border-subtle hover:bg-berget-surface-hover",
|
|
3462
|
-
muted: "border-berget-border-subtle/50 hover:bg-berget-surface-hover"
|
|
3463
|
-
},
|
|
3464
|
-
size: {
|
|
3465
|
-
sm: "px-3 py-2 text-xs",
|
|
3466
|
-
default: "px-4 py-3 text-sm",
|
|
3467
|
-
lg: "px-5 py-4 text-base"
|
|
3468
|
-
}
|
|
3469
|
-
},
|
|
3470
|
-
defaultVariants: {
|
|
3471
|
-
variant: "default",
|
|
3472
|
-
size: "default"
|
|
3473
|
-
}
|
|
3474
|
-
}
|
|
3475
|
-
);
|
|
3476
|
-
var Select2 = React21.forwardRef(
|
|
3477
|
-
({
|
|
3478
|
-
className,
|
|
3479
|
-
variant,
|
|
3480
|
-
size,
|
|
3481
|
-
label,
|
|
3482
|
-
description,
|
|
3483
|
-
error,
|
|
3484
|
-
placeholder,
|
|
3485
|
-
options,
|
|
3486
|
-
id,
|
|
3487
|
-
disabled,
|
|
3488
|
-
value,
|
|
3489
|
-
defaultValue,
|
|
3490
|
-
onValueChange,
|
|
3491
|
-
name,
|
|
3492
|
-
required
|
|
3493
|
-
}, ref) => {
|
|
3494
|
-
const generatedId = React21.useId();
|
|
3495
|
-
const selectId = id || generatedId;
|
|
3496
|
-
const errorId = `${selectId}-error`;
|
|
3497
|
-
const descriptionId = `${selectId}-description`;
|
|
3498
|
-
return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", children: [
|
|
3499
|
-
label && /* @__PURE__ */ jsx35(
|
|
3500
|
-
"label",
|
|
3501
|
-
{
|
|
3502
|
-
htmlFor: selectId,
|
|
3503
|
-
className: cn(
|
|
3504
|
-
"text-sm font-sans leading-none",
|
|
3505
|
-
disabled ? "text-muted-foreground cursor-not-allowed" : "text-foreground",
|
|
3506
|
-
error && "text-berget-destructive-foreground"
|
|
3507
|
-
),
|
|
3508
|
-
children: label
|
|
3509
|
-
}
|
|
3510
|
-
),
|
|
3511
|
-
/* @__PURE__ */ jsxs19(
|
|
3512
|
-
Select,
|
|
3513
|
-
{
|
|
3514
|
-
value,
|
|
3515
|
-
defaultValue,
|
|
3516
|
-
onValueChange: onValueChange ? (value2) => onValueChange(value2 ?? "") : void 0,
|
|
3517
|
-
disabled,
|
|
3518
|
-
name,
|
|
3519
|
-
required,
|
|
3520
|
-
items: options,
|
|
3521
|
-
children: [
|
|
3522
|
-
/* @__PURE__ */ jsx35(
|
|
3523
|
-
SelectTrigger,
|
|
3524
|
-
{
|
|
3525
|
-
ref,
|
|
3526
|
-
id: selectId,
|
|
3527
|
-
"aria-invalid": !!error,
|
|
3528
|
-
"aria-describedby": cn(error && errorId, description && descriptionId),
|
|
3529
|
-
className: cn(
|
|
3530
|
-
selectVariants({ variant, size }),
|
|
3531
|
-
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
3532
|
-
className
|
|
3533
|
-
),
|
|
3534
|
-
children: /* @__PURE__ */ jsx35(SelectValue, { placeholder })
|
|
3535
|
-
}
|
|
3536
|
-
),
|
|
3537
|
-
/* @__PURE__ */ jsx35(SelectContent, { children: options.map((option) => /* @__PURE__ */ jsx35(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
|
|
3538
|
-
]
|
|
3539
|
-
}
|
|
3540
|
-
),
|
|
3541
|
-
description && /* @__PURE__ */ jsx35(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
3542
|
-
error && /* @__PURE__ */ jsx35(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
3543
|
-
] });
|
|
3544
|
-
}
|
|
3545
|
-
);
|
|
3546
|
-
Select2.displayName = "Select";
|
|
3547
|
-
|
|
3548
3430
|
// src/components/country-select/CountrySelect.tsx
|
|
3549
|
-
import * as
|
|
3431
|
+
import * as React21 from "react";
|
|
3550
3432
|
import { ChevronDown as ChevronDown2, Globe } from "lucide-react";
|
|
3551
3433
|
|
|
3552
3434
|
// src/components/icon/Icon.tsx
|
|
3553
|
-
import * as
|
|
3554
|
-
import { jsx as
|
|
3435
|
+
import * as React20 from "react";
|
|
3436
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3555
3437
|
var iconStrokeMap = {
|
|
3556
3438
|
16: 1.4,
|
|
3557
3439
|
24: 1.6,
|
|
3558
3440
|
32: 1.8
|
|
3559
3441
|
};
|
|
3560
|
-
var Icon =
|
|
3442
|
+
var Icon = React20.forwardRef(
|
|
3561
3443
|
({
|
|
3562
3444
|
icon: IconComponent,
|
|
3563
3445
|
size,
|
|
@@ -3569,7 +3451,7 @@ var Icon = React22.forwardRef(
|
|
|
3569
3451
|
const strokeWidth = iconStrokeMap[size];
|
|
3570
3452
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
3571
3453
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
3572
|
-
return /* @__PURE__ */
|
|
3454
|
+
return /* @__PURE__ */ jsx35(
|
|
3573
3455
|
IconComponent,
|
|
3574
3456
|
{
|
|
3575
3457
|
ref,
|
|
@@ -3586,12 +3468,12 @@ Icon.displayName = "Icon";
|
|
|
3586
3468
|
// src/primitives/popover.tsx
|
|
3587
3469
|
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
3588
3470
|
import { cn as cn16 } from "cn";
|
|
3589
|
-
import { jsx as
|
|
3471
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3590
3472
|
function Popover({ ...props }) {
|
|
3591
|
-
return /* @__PURE__ */
|
|
3473
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
3592
3474
|
}
|
|
3593
3475
|
function PopoverTrigger({ ...props }) {
|
|
3594
|
-
return /* @__PURE__ */
|
|
3476
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
3595
3477
|
}
|
|
3596
3478
|
function PopoverContent({
|
|
3597
3479
|
className,
|
|
@@ -3601,7 +3483,7 @@ function PopoverContent({
|
|
|
3601
3483
|
sideOffset = 4,
|
|
3602
3484
|
...props
|
|
3603
3485
|
}) {
|
|
3604
|
-
return /* @__PURE__ */
|
|
3486
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx36(
|
|
3605
3487
|
PopoverPrimitive.Positioner,
|
|
3606
3488
|
{
|
|
3607
3489
|
align,
|
|
@@ -3609,7 +3491,7 @@ function PopoverContent({
|
|
|
3609
3491
|
side,
|
|
3610
3492
|
sideOffset,
|
|
3611
3493
|
className: "isolate z-50",
|
|
3612
|
-
children: /* @__PURE__ */
|
|
3494
|
+
children: /* @__PURE__ */ jsx36(
|
|
3613
3495
|
PopoverPrimitive.Popup,
|
|
3614
3496
|
{
|
|
3615
3497
|
"data-slot": "popover-content",
|
|
@@ -3632,22 +3514,22 @@ import { cn as cn20 } from "cn";
|
|
|
3632
3514
|
import { Dialog as DialogPrimitive2 } from "@base-ui/react/dialog";
|
|
3633
3515
|
import { cn as cn17 } from "cn";
|
|
3634
3516
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
3635
|
-
import { jsx as
|
|
3517
|
+
import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3636
3518
|
|
|
3637
3519
|
// src/primitives/input-group.tsx
|
|
3638
|
-
import { cva as
|
|
3520
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
3639
3521
|
import { cn as cn19 } from "cn";
|
|
3640
3522
|
|
|
3641
3523
|
// src/primitives/textarea.tsx
|
|
3642
3524
|
import { cn as cn18 } from "cn";
|
|
3643
|
-
import { jsx as
|
|
3525
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3644
3526
|
function Textarea({ className, ...props }) {
|
|
3645
|
-
return /* @__PURE__ */
|
|
3527
|
+
return /* @__PURE__ */ jsx38(
|
|
3646
3528
|
"textarea",
|
|
3647
3529
|
{
|
|
3648
3530
|
"data-slot": "textarea",
|
|
3649
3531
|
className: cn18(
|
|
3650
|
-
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-
|
|
3532
|
+
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-berget-brand-granite-900 px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-berget-brand-moss-400 focus-visible:ring-3 focus-visible:ring-berget-brand-moss-300/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
3651
3533
|
className
|
|
3652
3534
|
),
|
|
3653
3535
|
...props
|
|
@@ -3656,9 +3538,9 @@ function Textarea({ className, ...props }) {
|
|
|
3656
3538
|
}
|
|
3657
3539
|
|
|
3658
3540
|
// src/primitives/input-group.tsx
|
|
3659
|
-
import { jsx as
|
|
3541
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3660
3542
|
function InputGroup({ className, ...props }) {
|
|
3661
|
-
return /* @__PURE__ */
|
|
3543
|
+
return /* @__PURE__ */ jsx39(
|
|
3662
3544
|
"div",
|
|
3663
3545
|
{
|
|
3664
3546
|
"data-slot": "input-group",
|
|
@@ -3671,7 +3553,7 @@ function InputGroup({ className, ...props }) {
|
|
|
3671
3553
|
}
|
|
3672
3554
|
);
|
|
3673
3555
|
}
|
|
3674
|
-
var inputGroupAddonVariants =
|
|
3556
|
+
var inputGroupAddonVariants = cva13(
|
|
3675
3557
|
"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",
|
|
3676
3558
|
{
|
|
3677
3559
|
variants: {
|
|
@@ -3692,7 +3574,7 @@ function InputGroupAddon({
|
|
|
3692
3574
|
align = "inline-start",
|
|
3693
3575
|
...props
|
|
3694
3576
|
}) {
|
|
3695
|
-
return /* @__PURE__ */
|
|
3577
|
+
return /* @__PURE__ */ jsx39(
|
|
3696
3578
|
"div",
|
|
3697
3579
|
{
|
|
3698
3580
|
role: "group",
|
|
@@ -3709,7 +3591,7 @@ function InputGroupAddon({
|
|
|
3709
3591
|
}
|
|
3710
3592
|
);
|
|
3711
3593
|
}
|
|
3712
|
-
var inputGroupButtonVariants =
|
|
3594
|
+
var inputGroupButtonVariants = cva13(
|
|
3713
3595
|
"flex items-center gap-2 text-sm shadow-none",
|
|
3714
3596
|
{
|
|
3715
3597
|
variants: {
|
|
@@ -3728,12 +3610,12 @@ var inputGroupButtonVariants = cva14(
|
|
|
3728
3610
|
|
|
3729
3611
|
// src/primitives/command.tsx
|
|
3730
3612
|
import { SearchIcon, CheckIcon as CheckIcon3 } from "lucide-react";
|
|
3731
|
-
import { jsx as
|
|
3613
|
+
import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3732
3614
|
function Command({
|
|
3733
3615
|
className,
|
|
3734
3616
|
...props
|
|
3735
3617
|
}) {
|
|
3736
|
-
return /* @__PURE__ */
|
|
3618
|
+
return /* @__PURE__ */ jsx40(
|
|
3737
3619
|
CommandPrimitive,
|
|
3738
3620
|
{
|
|
3739
3621
|
"data-slot": "command",
|
|
@@ -3749,8 +3631,8 @@ function CommandInput({
|
|
|
3749
3631
|
className,
|
|
3750
3632
|
...props
|
|
3751
3633
|
}) {
|
|
3752
|
-
return /* @__PURE__ */
|
|
3753
|
-
/* @__PURE__ */
|
|
3634
|
+
return /* @__PURE__ */ jsx40("div", { "data-slot": "command-input-wrapper", className: "p-1 pb-0", children: /* @__PURE__ */ jsxs20(InputGroup, { className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [
|
|
3635
|
+
/* @__PURE__ */ jsx40(
|
|
3754
3636
|
CommandPrimitive.Input,
|
|
3755
3637
|
{
|
|
3756
3638
|
"data-slot": "command-input",
|
|
@@ -3761,14 +3643,14 @@ function CommandInput({
|
|
|
3761
3643
|
...props
|
|
3762
3644
|
}
|
|
3763
3645
|
),
|
|
3764
|
-
/* @__PURE__ */
|
|
3646
|
+
/* @__PURE__ */ jsx40(InputGroupAddon, { children: /* @__PURE__ */ jsx40(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
3765
3647
|
] }) });
|
|
3766
3648
|
}
|
|
3767
3649
|
function CommandList({
|
|
3768
3650
|
className,
|
|
3769
3651
|
...props
|
|
3770
3652
|
}) {
|
|
3771
|
-
return /* @__PURE__ */
|
|
3653
|
+
return /* @__PURE__ */ jsx40(
|
|
3772
3654
|
CommandPrimitive.List,
|
|
3773
3655
|
{
|
|
3774
3656
|
"data-slot": "command-list",
|
|
@@ -3784,7 +3666,7 @@ function CommandEmpty({
|
|
|
3784
3666
|
className,
|
|
3785
3667
|
...props
|
|
3786
3668
|
}) {
|
|
3787
|
-
return /* @__PURE__ */
|
|
3669
|
+
return /* @__PURE__ */ jsx40(
|
|
3788
3670
|
CommandPrimitive.Empty,
|
|
3789
3671
|
{
|
|
3790
3672
|
"data-slot": "command-empty",
|
|
@@ -3797,7 +3679,7 @@ function CommandGroup({
|
|
|
3797
3679
|
className,
|
|
3798
3680
|
...props
|
|
3799
3681
|
}) {
|
|
3800
|
-
return /* @__PURE__ */
|
|
3682
|
+
return /* @__PURE__ */ jsx40(
|
|
3801
3683
|
CommandPrimitive.Group,
|
|
3802
3684
|
{
|
|
3803
3685
|
"data-slot": "command-group",
|
|
@@ -3814,7 +3696,7 @@ function CommandItem({
|
|
|
3814
3696
|
children,
|
|
3815
3697
|
...props
|
|
3816
3698
|
}) {
|
|
3817
|
-
return /* @__PURE__ */
|
|
3699
|
+
return /* @__PURE__ */ jsxs20(
|
|
3818
3700
|
CommandPrimitive.Item,
|
|
3819
3701
|
{
|
|
3820
3702
|
"data-slot": "command-item",
|
|
@@ -3825,7 +3707,7 @@ function CommandItem({
|
|
|
3825
3707
|
...props,
|
|
3826
3708
|
children: [
|
|
3827
3709
|
children,
|
|
3828
|
-
/* @__PURE__ */
|
|
3710
|
+
/* @__PURE__ */ jsx40(CheckIcon3, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
3829
3711
|
]
|
|
3830
3712
|
}
|
|
3831
3713
|
);
|
|
@@ -3973,8 +3855,8 @@ var isEUCountry = (countryCode) => {
|
|
|
3973
3855
|
};
|
|
3974
3856
|
|
|
3975
3857
|
// src/components/country-select/CountrySelect.tsx
|
|
3976
|
-
import { Fragment as Fragment3, jsx as
|
|
3977
|
-
var CountrySelect =
|
|
3858
|
+
import { Fragment as Fragment3, jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3859
|
+
var CountrySelect = React21.forwardRef(
|
|
3978
3860
|
({
|
|
3979
3861
|
value,
|
|
3980
3862
|
onValueChange,
|
|
@@ -3984,14 +3866,14 @@ var CountrySelect = React23.forwardRef(
|
|
|
3984
3866
|
align = "center",
|
|
3985
3867
|
sideOffset = 4
|
|
3986
3868
|
}, ref) => {
|
|
3987
|
-
const [open, setOpen] =
|
|
3988
|
-
const selectedCountry =
|
|
3989
|
-
return /* @__PURE__ */
|
|
3990
|
-
/* @__PURE__ */
|
|
3869
|
+
const [open, setOpen] = React21.useState(false);
|
|
3870
|
+
const selectedCountry = React21.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
|
|
3871
|
+
return /* @__PURE__ */ jsxs21(Popover, { open, onOpenChange: setOpen, children: [
|
|
3872
|
+
/* @__PURE__ */ jsxs21(
|
|
3991
3873
|
PopoverTrigger,
|
|
3992
3874
|
{
|
|
3993
3875
|
ref,
|
|
3994
|
-
render: /* @__PURE__ */
|
|
3876
|
+
render: /* @__PURE__ */ jsx41(
|
|
3995
3877
|
"button",
|
|
3996
3878
|
{
|
|
3997
3879
|
type: "button",
|
|
@@ -4013,16 +3895,16 @@ var CountrySelect = React23.forwardRef(
|
|
|
4013
3895
|
}
|
|
4014
3896
|
),
|
|
4015
3897
|
children: [
|
|
4016
|
-
/* @__PURE__ */
|
|
4017
|
-
/* @__PURE__ */
|
|
4018
|
-
/* @__PURE__ */
|
|
4019
|
-
/* @__PURE__ */
|
|
3898
|
+
/* @__PURE__ */ jsx41("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ jsxs21(Fragment3, { children: [
|
|
3899
|
+
/* @__PURE__ */ jsx41("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
|
|
3900
|
+
/* @__PURE__ */ jsx41("span", { className: "truncate", children: selectedCountry.name }),
|
|
3901
|
+
/* @__PURE__ */ jsxs21("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
|
|
4020
3902
|
"(",
|
|
4021
3903
|
selectedCountry.code,
|
|
4022
3904
|
")"
|
|
4023
3905
|
] })
|
|
4024
|
-
] }) : /* @__PURE__ */
|
|
4025
|
-
/* @__PURE__ */
|
|
3906
|
+
] }) : /* @__PURE__ */ jsxs21(Fragment3, { children: [
|
|
3907
|
+
/* @__PURE__ */ jsx41(
|
|
4026
3908
|
Icon,
|
|
4027
3909
|
{
|
|
4028
3910
|
icon: Globe,
|
|
@@ -4030,9 +3912,9 @@ var CountrySelect = React23.forwardRef(
|
|
|
4030
3912
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
4031
3913
|
}
|
|
4032
3914
|
),
|
|
4033
|
-
/* @__PURE__ */
|
|
3915
|
+
/* @__PURE__ */ jsx41("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
4034
3916
|
] }) }),
|
|
4035
|
-
/* @__PURE__ */
|
|
3917
|
+
/* @__PURE__ */ jsx41(
|
|
4036
3918
|
Icon,
|
|
4037
3919
|
{
|
|
4038
3920
|
icon: ChevronDown2,
|
|
@@ -4047,17 +3929,17 @@ var CountrySelect = React23.forwardRef(
|
|
|
4047
3929
|
]
|
|
4048
3930
|
}
|
|
4049
3931
|
),
|
|
4050
|
-
/* @__PURE__ */
|
|
3932
|
+
/* @__PURE__ */ jsx41(
|
|
4051
3933
|
PopoverContent,
|
|
4052
3934
|
{
|
|
4053
3935
|
align,
|
|
4054
3936
|
sideOffset,
|
|
4055
3937
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
4056
|
-
children: /* @__PURE__ */
|
|
4057
|
-
/* @__PURE__ */
|
|
4058
|
-
/* @__PURE__ */
|
|
4059
|
-
/* @__PURE__ */
|
|
4060
|
-
/* @__PURE__ */
|
|
3938
|
+
children: /* @__PURE__ */ jsxs21(Command, { children: [
|
|
3939
|
+
/* @__PURE__ */ jsx41(CommandInput, { placeholder: "Search country..." }),
|
|
3940
|
+
/* @__PURE__ */ jsxs21(CommandList, { children: [
|
|
3941
|
+
/* @__PURE__ */ jsx41(CommandEmpty, { children: "No countries found." }),
|
|
3942
|
+
/* @__PURE__ */ jsx41(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ jsxs21(
|
|
4061
3943
|
CommandItem,
|
|
4062
3944
|
{
|
|
4063
3945
|
value: `${country.name} ${country.code}`,
|
|
@@ -4071,12 +3953,12 @@ var CountrySelect = React23.forwardRef(
|
|
|
4071
3953
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
4072
3954
|
),
|
|
4073
3955
|
children: [
|
|
4074
|
-
/* @__PURE__ */
|
|
4075
|
-
/* @__PURE__ */
|
|
4076
|
-
/* @__PURE__ */
|
|
4077
|
-
/* @__PURE__ */
|
|
3956
|
+
/* @__PURE__ */ jsx41("span", { className: "text-xl flex-shrink-0", children: country.flag }),
|
|
3957
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex-1 min-w-0", children: [
|
|
3958
|
+
/* @__PURE__ */ jsx41("div", { className: "text-sm truncate", children: country.name }),
|
|
3959
|
+
/* @__PURE__ */ jsx41("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
|
|
4078
3960
|
] }),
|
|
4079
|
-
value === country.code && /* @__PURE__ */
|
|
3961
|
+
value === country.code && /* @__PURE__ */ jsx41("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-0" })
|
|
4080
3962
|
]
|
|
4081
3963
|
},
|
|
4082
3964
|
country.code
|
|
@@ -4090,138 +3972,11 @@ var CountrySelect = React23.forwardRef(
|
|
|
4090
3972
|
);
|
|
4091
3973
|
CountrySelect.displayName = "CountrySelect";
|
|
4092
3974
|
|
|
4093
|
-
// src/components/text-area/TextArea.tsx
|
|
4094
|
-
import * as React24 from "react";
|
|
4095
|
-
import { cva as cva15 } from "class-variance-authority";
|
|
4096
|
-
import { jsx as jsx43, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4097
|
-
var textAreaVariants = cva15(
|
|
4098
|
-
"rounded-berget-xs bg-card px-4 py-3 transition-colors duration-200 focus-visible:border-berget-form-focus-border focus-visible:ring-0 focus-visible:ring-offset-0 resize-y",
|
|
4099
|
-
{
|
|
4100
|
-
variants: {
|
|
4101
|
-
variant: {
|
|
4102
|
-
default: "border-berget-border-interactive hover:bg-berget-surface-hover",
|
|
4103
|
-
primary: "border-berget-primary-border bg-berget-primary-tint hover:bg-berget-surface-hover",
|
|
4104
|
-
subtle: "border-berget-border-subtle hover:bg-berget-surface-hover",
|
|
4105
|
-
muted: "border-berget-border-subtle/50 hover:bg-berget-surface-hover"
|
|
4106
|
-
},
|
|
4107
|
-
size: {
|
|
4108
|
-
sm: "px-3 py-2 sm:px-4 sm:py-2.5 text-xs sm:text-sm",
|
|
4109
|
-
default: "px-4 py-3 sm:py-3.5 text-sm",
|
|
4110
|
-
lg: "px-5 py-4 sm:py-5 text-base sm:text-lg"
|
|
4111
|
-
}
|
|
4112
|
-
},
|
|
4113
|
-
defaultVariants: {
|
|
4114
|
-
variant: "default",
|
|
4115
|
-
size: "default"
|
|
4116
|
-
}
|
|
4117
|
-
}
|
|
4118
|
-
);
|
|
4119
|
-
var TextArea = React24.forwardRef(
|
|
4120
|
-
({
|
|
4121
|
-
className,
|
|
4122
|
-
variant,
|
|
4123
|
-
size,
|
|
4124
|
-
label,
|
|
4125
|
-
description,
|
|
4126
|
-
error,
|
|
4127
|
-
placeholder,
|
|
4128
|
-
maxLength,
|
|
4129
|
-
showCount,
|
|
4130
|
-
rows,
|
|
4131
|
-
id,
|
|
4132
|
-
disabled,
|
|
4133
|
-
value,
|
|
4134
|
-
icon,
|
|
4135
|
-
secondaryIcon,
|
|
4136
|
-
actionButton,
|
|
4137
|
-
...props
|
|
4138
|
-
}, ref) => {
|
|
4139
|
-
const generatedId = React24.useId();
|
|
4140
|
-
const textareaId = id || generatedId;
|
|
4141
|
-
const errorId = `${textareaId}-error`;
|
|
4142
|
-
const descriptionId = `${textareaId}-description`;
|
|
4143
|
-
const characterCount = typeof value === "string" ? value.length : 0;
|
|
4144
|
-
return /* @__PURE__ */ jsxs23("div", { className: "flex flex-col gap-2", children: [
|
|
4145
|
-
label && /* @__PURE__ */ jsx43(
|
|
4146
|
-
"label",
|
|
4147
|
-
{
|
|
4148
|
-
htmlFor: textareaId,
|
|
4149
|
-
className: cn(
|
|
4150
|
-
"text-sm font-sans leading-none",
|
|
4151
|
-
disabled ? "text-muted-foreground cursor-not-allowed" : "text-foreground",
|
|
4152
|
-
error && "text-berget-destructive-foreground"
|
|
4153
|
-
),
|
|
4154
|
-
children: label
|
|
4155
|
-
}
|
|
4156
|
-
),
|
|
4157
|
-
/* @__PURE__ */ jsxs23("div", { className: "relative", children: [
|
|
4158
|
-
icon && /* @__PURE__ */ jsx43("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
|
|
4159
|
-
/* @__PURE__ */ jsx43(
|
|
4160
|
-
Textarea,
|
|
4161
|
-
{
|
|
4162
|
-
ref,
|
|
4163
|
-
id: textareaId,
|
|
4164
|
-
disabled,
|
|
4165
|
-
"aria-invalid": !!error,
|
|
4166
|
-
"aria-describedby": cn(error && errorId, description && descriptionId),
|
|
4167
|
-
className: cn(
|
|
4168
|
-
textAreaVariants({ variant, size }),
|
|
4169
|
-
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
4170
|
-
disabled && "cursor-not-allowed",
|
|
4171
|
-
icon && "pl-11",
|
|
4172
|
-
secondaryIcon && "pr-20",
|
|
4173
|
-
actionButton && !secondaryIcon && "pr-12",
|
|
4174
|
-
secondaryIcon && actionButton && "pr-20",
|
|
4175
|
-
className
|
|
4176
|
-
),
|
|
4177
|
-
placeholder,
|
|
4178
|
-
maxLength,
|
|
4179
|
-
rows,
|
|
4180
|
-
value,
|
|
4181
|
-
...props
|
|
4182
|
-
}
|
|
4183
|
-
),
|
|
4184
|
-
secondaryIcon && /* @__PURE__ */ jsx43("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
|
|
4185
|
-
actionButton && /* @__PURE__ */ jsx43("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
4186
|
-
] }),
|
|
4187
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between gap-2", children: [
|
|
4188
|
-
description && /* @__PURE__ */ jsx43(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
4189
|
-
(error || showCount && maxLength) && /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
4190
|
-
showCount && maxLength && /* @__PURE__ */ jsxs23(
|
|
4191
|
-
Typography,
|
|
4192
|
-
{
|
|
4193
|
-
variant: "xs",
|
|
4194
|
-
className: cn(
|
|
4195
|
-
characterCount >= maxLength ? "text-berget-destructive-foreground" : "text-muted-foreground"
|
|
4196
|
-
),
|
|
4197
|
-
children: [
|
|
4198
|
-
characterCount,
|
|
4199
|
-
"/",
|
|
4200
|
-
maxLength
|
|
4201
|
-
]
|
|
4202
|
-
}
|
|
4203
|
-
),
|
|
4204
|
-
error && /* @__PURE__ */ jsx43(
|
|
4205
|
-
Typography,
|
|
4206
|
-
{
|
|
4207
|
-
variant: "xs",
|
|
4208
|
-
id: errorId,
|
|
4209
|
-
className: "text-berget-destructive-foreground",
|
|
4210
|
-
children: error
|
|
4211
|
-
}
|
|
4212
|
-
)
|
|
4213
|
-
] })
|
|
4214
|
-
] })
|
|
4215
|
-
] });
|
|
4216
|
-
}
|
|
4217
|
-
);
|
|
4218
|
-
TextArea.displayName = "TextArea";
|
|
4219
|
-
|
|
4220
3975
|
// src/primitives/label.tsx
|
|
4221
3976
|
import { cn as cn21 } from "cn";
|
|
4222
|
-
import { jsx as
|
|
3977
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4223
3978
|
function Label({ className, ...props }) {
|
|
4224
|
-
return /* @__PURE__ */
|
|
3979
|
+
return /* @__PURE__ */ jsx42(
|
|
4225
3980
|
"label",
|
|
4226
3981
|
{
|
|
4227
3982
|
"data-slot": "label",
|
|
@@ -4236,11 +3991,11 @@ function Label({ className, ...props }) {
|
|
|
4236
3991
|
|
|
4237
3992
|
// src/primitives/field.tsx
|
|
4238
3993
|
import { useMemo as useMemo4 } from "react";
|
|
4239
|
-
import { cva as
|
|
3994
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
4240
3995
|
import { cn as cn22 } from "cn";
|
|
4241
|
-
import { jsx as
|
|
3996
|
+
import { jsx as jsx43, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4242
3997
|
function FieldSet({ className, ...props }) {
|
|
4243
|
-
return /* @__PURE__ */
|
|
3998
|
+
return /* @__PURE__ */ jsx43(
|
|
4244
3999
|
"fieldset",
|
|
4245
4000
|
{
|
|
4246
4001
|
"data-slot": "field-set",
|
|
@@ -4257,7 +4012,7 @@ function FieldLegend({
|
|
|
4257
4012
|
variant = "legend",
|
|
4258
4013
|
...props
|
|
4259
4014
|
}) {
|
|
4260
|
-
return /* @__PURE__ */
|
|
4015
|
+
return /* @__PURE__ */ jsx43(
|
|
4261
4016
|
"legend",
|
|
4262
4017
|
{
|
|
4263
4018
|
"data-slot": "field-legend",
|
|
@@ -4271,7 +4026,7 @@ function FieldLegend({
|
|
|
4271
4026
|
);
|
|
4272
4027
|
}
|
|
4273
4028
|
function FieldGroup({ className, ...props }) {
|
|
4274
|
-
return /* @__PURE__ */
|
|
4029
|
+
return /* @__PURE__ */ jsx43(
|
|
4275
4030
|
"div",
|
|
4276
4031
|
{
|
|
4277
4032
|
"data-slot": "field-group",
|
|
@@ -4283,7 +4038,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
4283
4038
|
}
|
|
4284
4039
|
);
|
|
4285
4040
|
}
|
|
4286
|
-
var fieldVariants =
|
|
4041
|
+
var fieldVariants = cva14(
|
|
4287
4042
|
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
4288
4043
|
{
|
|
4289
4044
|
variants: {
|
|
@@ -4303,7 +4058,7 @@ function Field({
|
|
|
4303
4058
|
orientation = "vertical",
|
|
4304
4059
|
...props
|
|
4305
4060
|
}) {
|
|
4306
|
-
return /* @__PURE__ */
|
|
4061
|
+
return /* @__PURE__ */ jsx43(
|
|
4307
4062
|
"div",
|
|
4308
4063
|
{
|
|
4309
4064
|
role: "group",
|
|
@@ -4315,7 +4070,7 @@ function Field({
|
|
|
4315
4070
|
);
|
|
4316
4071
|
}
|
|
4317
4072
|
function FieldContent({ className, ...props }) {
|
|
4318
|
-
return /* @__PURE__ */
|
|
4073
|
+
return /* @__PURE__ */ jsx43(
|
|
4319
4074
|
"div",
|
|
4320
4075
|
{
|
|
4321
4076
|
"data-slot": "field-content",
|
|
@@ -4331,7 +4086,7 @@ function FieldLabel({
|
|
|
4331
4086
|
className,
|
|
4332
4087
|
...props
|
|
4333
4088
|
}) {
|
|
4334
|
-
return /* @__PURE__ */
|
|
4089
|
+
return /* @__PURE__ */ jsx43(
|
|
4335
4090
|
Label,
|
|
4336
4091
|
{
|
|
4337
4092
|
"data-slot": "field-label",
|
|
@@ -4345,7 +4100,7 @@ function FieldLabel({
|
|
|
4345
4100
|
);
|
|
4346
4101
|
}
|
|
4347
4102
|
function FieldTitle({ className, ...props }) {
|
|
4348
|
-
return /* @__PURE__ */
|
|
4103
|
+
return /* @__PURE__ */ jsx43(
|
|
4349
4104
|
"div",
|
|
4350
4105
|
{
|
|
4351
4106
|
"data-slot": "field-label",
|
|
@@ -4358,7 +4113,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
4358
4113
|
);
|
|
4359
4114
|
}
|
|
4360
4115
|
function FieldDescription({ className, ...props }) {
|
|
4361
|
-
return /* @__PURE__ */
|
|
4116
|
+
return /* @__PURE__ */ jsx43(
|
|
4362
4117
|
"p",
|
|
4363
4118
|
{
|
|
4364
4119
|
"data-slot": "field-description",
|
|
@@ -4377,7 +4132,7 @@ function FieldSeparator({
|
|
|
4377
4132
|
className,
|
|
4378
4133
|
...props
|
|
4379
4134
|
}) {
|
|
4380
|
-
return /* @__PURE__ */
|
|
4135
|
+
return /* @__PURE__ */ jsxs22(
|
|
4381
4136
|
"div",
|
|
4382
4137
|
{
|
|
4383
4138
|
"data-slot": "field-separator",
|
|
@@ -4388,8 +4143,8 @@ function FieldSeparator({
|
|
|
4388
4143
|
),
|
|
4389
4144
|
...props,
|
|
4390
4145
|
children: [
|
|
4391
|
-
/* @__PURE__ */
|
|
4392
|
-
children && /* @__PURE__ */
|
|
4146
|
+
/* @__PURE__ */ jsx43(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
4147
|
+
children && /* @__PURE__ */ jsx43(
|
|
4393
4148
|
"span",
|
|
4394
4149
|
{
|
|
4395
4150
|
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
@@ -4420,14 +4175,14 @@ function FieldError({
|
|
|
4420
4175
|
if (uniqueErrors?.length == 1) {
|
|
4421
4176
|
return uniqueErrors[0]?.message;
|
|
4422
4177
|
}
|
|
4423
|
-
return /* @__PURE__ */
|
|
4424
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
4178
|
+
return /* @__PURE__ */ jsx43("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
4179
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx43("li", { children: error.message }, index)
|
|
4425
4180
|
) });
|
|
4426
4181
|
}, [children, errors]);
|
|
4427
4182
|
if (!content) {
|
|
4428
4183
|
return null;
|
|
4429
4184
|
}
|
|
4430
|
-
return /* @__PURE__ */
|
|
4185
|
+
return /* @__PURE__ */ jsx43(
|
|
4431
4186
|
"div",
|
|
4432
4187
|
{
|
|
4433
4188
|
role: "alert",
|
|
@@ -4440,11 +4195,11 @@ function FieldError({
|
|
|
4440
4195
|
}
|
|
4441
4196
|
|
|
4442
4197
|
// src/components/link/Link.tsx
|
|
4443
|
-
import * as
|
|
4444
|
-
import { cva as
|
|
4198
|
+
import * as React22 from "react";
|
|
4199
|
+
import { cva as cva15 } from "class-variance-authority";
|
|
4445
4200
|
import { ExternalLink } from "lucide-react";
|
|
4446
|
-
import { jsx as
|
|
4447
|
-
var linkVariants =
|
|
4201
|
+
import { jsx as jsx44, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4202
|
+
var linkVariants = cva15(
|
|
4448
4203
|
"inline-flex cursor-pointer items-center gap-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",
|
|
4449
4204
|
{
|
|
4450
4205
|
variants: {
|
|
@@ -4468,7 +4223,7 @@ var linkVariants = cva17(
|
|
|
4468
4223
|
}
|
|
4469
4224
|
}
|
|
4470
4225
|
);
|
|
4471
|
-
var Link =
|
|
4226
|
+
var Link = React22.forwardRef(
|
|
4472
4227
|
({
|
|
4473
4228
|
className,
|
|
4474
4229
|
variant,
|
|
@@ -4481,7 +4236,7 @@ var Link = React25.forwardRef(
|
|
|
4481
4236
|
...props
|
|
4482
4237
|
}, ref) => {
|
|
4483
4238
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
4484
|
-
return /* @__PURE__ */
|
|
4239
|
+
return /* @__PURE__ */ jsxs23(
|
|
4485
4240
|
"a",
|
|
4486
4241
|
{
|
|
4487
4242
|
ref,
|
|
@@ -4497,8 +4252,8 @@ var Link = React25.forwardRef(
|
|
|
4497
4252
|
},
|
|
4498
4253
|
children: [
|
|
4499
4254
|
children,
|
|
4500
|
-
icon && /* @__PURE__ */
|
|
4501
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */
|
|
4255
|
+
icon && /* @__PURE__ */ jsx44("span", { className: "inline-flex items-center", children: icon }),
|
|
4256
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ jsx44("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ jsx44(Icon, { icon: ExternalLink, size: 16 }) })
|
|
4502
4257
|
]
|
|
4503
4258
|
}
|
|
4504
4259
|
);
|
|
@@ -4507,11 +4262,11 @@ var Link = React25.forwardRef(
|
|
|
4507
4262
|
Link.displayName = "Link";
|
|
4508
4263
|
|
|
4509
4264
|
// src/components/container/Container.tsx
|
|
4510
|
-
import * as
|
|
4265
|
+
import * as React23 from "react";
|
|
4511
4266
|
import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
|
|
4512
4267
|
import { useRender as useRender3 } from "@base-ui/react/use-render";
|
|
4513
|
-
import { cva as
|
|
4514
|
-
var containerVariants =
|
|
4268
|
+
import { cva as cva16 } from "class-variance-authority";
|
|
4269
|
+
var containerVariants = cva16("w-full mx-auto", {
|
|
4515
4270
|
variants: {
|
|
4516
4271
|
size: {
|
|
4517
4272
|
sm: "max-w-3xl",
|
|
@@ -4532,7 +4287,7 @@ var containerVariants = cva18("w-full mx-auto", {
|
|
|
4532
4287
|
padding: "md"
|
|
4533
4288
|
}
|
|
4534
4289
|
});
|
|
4535
|
-
var Container =
|
|
4290
|
+
var Container = React23.forwardRef(
|
|
4536
4291
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
4537
4292
|
return useRender3({
|
|
4538
4293
|
ref,
|
|
@@ -4551,11 +4306,11 @@ var Container = React26.forwardRef(
|
|
|
4551
4306
|
Container.displayName = "Container";
|
|
4552
4307
|
|
|
4553
4308
|
// src/components/grid/Grid.tsx
|
|
4554
|
-
import * as
|
|
4555
|
-
import { cva as
|
|
4309
|
+
import * as React24 from "react";
|
|
4310
|
+
import { cva as cva17 } from "class-variance-authority";
|
|
4556
4311
|
import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
|
|
4557
4312
|
import { useRender as useRender4 } from "@base-ui/react/use-render";
|
|
4558
|
-
var gridVariants =
|
|
4313
|
+
var gridVariants = cva17("grid", {
|
|
4559
4314
|
variants: {
|
|
4560
4315
|
align: {
|
|
4561
4316
|
start: "items-start",
|
|
@@ -4577,7 +4332,7 @@ var gridVariants = cva19("grid", {
|
|
|
4577
4332
|
justify: "start"
|
|
4578
4333
|
}
|
|
4579
4334
|
});
|
|
4580
|
-
var Grid =
|
|
4335
|
+
var Grid = React24.forwardRef(
|
|
4581
4336
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
4582
4337
|
return useRender4({
|
|
4583
4338
|
ref,
|
|
@@ -4604,11 +4359,11 @@ var Grid = React27.forwardRef(
|
|
|
4604
4359
|
Grid.displayName = "Grid";
|
|
4605
4360
|
|
|
4606
4361
|
// src/components/box/Box.tsx
|
|
4607
|
-
import * as
|
|
4608
|
-
import { cva as
|
|
4362
|
+
import * as React25 from "react";
|
|
4363
|
+
import { cva as cva18 } from "class-variance-authority";
|
|
4609
4364
|
import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
|
|
4610
4365
|
import { useRender as useRender5 } from "@base-ui/react/use-render";
|
|
4611
|
-
var boxVariants =
|
|
4366
|
+
var boxVariants = cva18("flex", {
|
|
4612
4367
|
variants: {
|
|
4613
4368
|
direction: {
|
|
4614
4369
|
row: "flex-row",
|
|
@@ -4644,7 +4399,7 @@ var boxVariants = cva20("flex", {
|
|
|
4644
4399
|
wrap: "nowrap"
|
|
4645
4400
|
}
|
|
4646
4401
|
});
|
|
4647
|
-
var Box =
|
|
4402
|
+
var Box = React25.forwardRef(
|
|
4648
4403
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
4649
4404
|
return useRender5({
|
|
4650
4405
|
ref,
|
|
@@ -4667,22 +4422,22 @@ var Box = React28.forwardRef(
|
|
|
4667
4422
|
Box.displayName = "Box";
|
|
4668
4423
|
|
|
4669
4424
|
// src/components/language-select/LanguageSelect.tsx
|
|
4670
|
-
import * as
|
|
4425
|
+
import * as React26 from "react";
|
|
4671
4426
|
import { Globe as Globe2 } from "lucide-react";
|
|
4672
|
-
import { jsx as
|
|
4673
|
-
var LanguageSelect =
|
|
4427
|
+
import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4428
|
+
var LanguageSelect = React26.forwardRef(
|
|
4674
4429
|
({ className, options, value, onValueChange }, ref) => {
|
|
4675
|
-
return /* @__PURE__ */
|
|
4676
|
-
/* @__PURE__ */
|
|
4677
|
-
/* @__PURE__ */
|
|
4678
|
-
/* @__PURE__ */
|
|
4430
|
+
return /* @__PURE__ */ jsxs24(DropdownMenu, { children: [
|
|
4431
|
+
/* @__PURE__ */ jsx45(DropdownMenuTrigger, { ref, asChild: true, children: /* @__PURE__ */ jsxs24(Button2, { variant: "outline", size: "icon", className, "aria-label": "Select language", children: [
|
|
4432
|
+
/* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Select language" }),
|
|
4433
|
+
/* @__PURE__ */ jsx45(Icon, { icon: Globe2, size: 16, "aria-hidden": true })
|
|
4679
4434
|
] }) }),
|
|
4680
|
-
/* @__PURE__ */
|
|
4435
|
+
/* @__PURE__ */ jsx45(DropdownMenuContent, { align: "start", children: /* @__PURE__ */ jsx45(
|
|
4681
4436
|
DropdownMenuRadioGroup,
|
|
4682
4437
|
{
|
|
4683
4438
|
value,
|
|
4684
4439
|
onValueChange: onValueChange ? (v) => onValueChange(v) : void 0,
|
|
4685
|
-
children: options.map((option) => /* @__PURE__ */
|
|
4440
|
+
children: options.map((option) => /* @__PURE__ */ jsx45(
|
|
4686
4441
|
DropdownMenuRadioItem,
|
|
4687
4442
|
{
|
|
4688
4443
|
value: option.value,
|
|
@@ -4700,13 +4455,13 @@ var LanguageSelect = React29.forwardRef(
|
|
|
4700
4455
|
LanguageSelect.displayName = "LanguageSelect";
|
|
4701
4456
|
|
|
4702
4457
|
// src/components/list/List.tsx
|
|
4703
|
-
import * as
|
|
4458
|
+
import * as React28 from "react";
|
|
4704
4459
|
|
|
4705
4460
|
// src/components/divider/Divider.tsx
|
|
4706
|
-
import * as
|
|
4707
|
-
import { cva as
|
|
4708
|
-
import { jsx as
|
|
4709
|
-
var dividerVariants =
|
|
4461
|
+
import * as React27 from "react";
|
|
4462
|
+
import { cva as cva19 } from "class-variance-authority";
|
|
4463
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
4464
|
+
var dividerVariants = cva19("", {
|
|
4710
4465
|
variants: {
|
|
4711
4466
|
variant: {
|
|
4712
4467
|
default: "bg-berget-separator",
|
|
@@ -4726,7 +4481,7 @@ var dividerVariants = cva21("", {
|
|
|
4726
4481
|
size: "thin"
|
|
4727
4482
|
}
|
|
4728
4483
|
});
|
|
4729
|
-
var Divider =
|
|
4484
|
+
var Divider = React27.forwardRef(
|
|
4730
4485
|
({
|
|
4731
4486
|
className,
|
|
4732
4487
|
orientation = "horizontal",
|
|
@@ -4737,16 +4492,16 @@ var Divider = React30.forwardRef(
|
|
|
4737
4492
|
...props
|
|
4738
4493
|
}, ref) => {
|
|
4739
4494
|
if (label) {
|
|
4740
|
-
return /* @__PURE__ */
|
|
4741
|
-
labelPosition !== "right" && /* @__PURE__ */
|
|
4495
|
+
return /* @__PURE__ */ jsxs25("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
4496
|
+
labelPosition !== "right" && /* @__PURE__ */ jsx46(
|
|
4742
4497
|
Separator,
|
|
4743
4498
|
{
|
|
4744
4499
|
orientation: "horizontal",
|
|
4745
4500
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
4746
4501
|
}
|
|
4747
4502
|
),
|
|
4748
|
-
/* @__PURE__ */
|
|
4749
|
-
labelPosition !== "left" && /* @__PURE__ */
|
|
4503
|
+
/* @__PURE__ */ jsx46(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
4504
|
+
labelPosition !== "left" && /* @__PURE__ */ jsx46(
|
|
4750
4505
|
Separator,
|
|
4751
4506
|
{
|
|
4752
4507
|
orientation: "horizontal",
|
|
@@ -4755,7 +4510,7 @@ var Divider = React30.forwardRef(
|
|
|
4755
4510
|
)
|
|
4756
4511
|
] });
|
|
4757
4512
|
}
|
|
4758
|
-
return /* @__PURE__ */
|
|
4513
|
+
return /* @__PURE__ */ jsx46(
|
|
4759
4514
|
Separator,
|
|
4760
4515
|
{
|
|
4761
4516
|
ref,
|
|
@@ -4773,19 +4528,19 @@ Divider.displayName = "Divider";
|
|
|
4773
4528
|
|
|
4774
4529
|
// src/components/list/List.tsx
|
|
4775
4530
|
import { Check as Check3 } from "lucide-react";
|
|
4776
|
-
import { jsx as
|
|
4777
|
-
var List =
|
|
4531
|
+
import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
4532
|
+
var List = React28.forwardRef(
|
|
4778
4533
|
({ className, children, ...props }, ref) => {
|
|
4779
|
-
const childrenArray =
|
|
4780
|
-
return /* @__PURE__ */
|
|
4534
|
+
const childrenArray = React28.Children.toArray(children);
|
|
4535
|
+
return /* @__PURE__ */ jsx47("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs26(React28.Fragment, { children: [
|
|
4781
4536
|
child,
|
|
4782
|
-
index < childrenArray.length - 1 && /* @__PURE__ */
|
|
4537
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ jsx47(Divider, { variant: "subtle" })
|
|
4783
4538
|
] }, index)) });
|
|
4784
4539
|
}
|
|
4785
4540
|
);
|
|
4786
4541
|
List.displayName = "List";
|
|
4787
|
-
var ListItem =
|
|
4788
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */
|
|
4542
|
+
var ListItem = React28.forwardRef(
|
|
4543
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ jsxs26(
|
|
4789
4544
|
"div",
|
|
4790
4545
|
{
|
|
4791
4546
|
ref,
|
|
@@ -4796,15 +4551,15 @@ var ListItem = React31.forwardRef(
|
|
|
4796
4551
|
),
|
|
4797
4552
|
...props,
|
|
4798
4553
|
children: [
|
|
4799
|
-
icon && /* @__PURE__ */
|
|
4800
|
-
/* @__PURE__ */
|
|
4554
|
+
icon && /* @__PURE__ */ jsx47("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
4555
|
+
/* @__PURE__ */ jsx47("div", { className: "flex-1 min-w-0", children })
|
|
4801
4556
|
]
|
|
4802
4557
|
}
|
|
4803
4558
|
)
|
|
4804
4559
|
);
|
|
4805
4560
|
ListItem.displayName = "ListItem";
|
|
4806
|
-
var ListHeader =
|
|
4807
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
4561
|
+
var ListHeader = React28.forwardRef(
|
|
4562
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx47(
|
|
4808
4563
|
"div",
|
|
4809
4564
|
{
|
|
4810
4565
|
ref,
|
|
@@ -4815,11 +4570,11 @@ var ListHeader = React31.forwardRef(
|
|
|
4815
4570
|
)
|
|
4816
4571
|
);
|
|
4817
4572
|
ListHeader.displayName = "ListHeader";
|
|
4818
|
-
var FeatureList =
|
|
4573
|
+
var FeatureList = React28.forwardRef(
|
|
4819
4574
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
4820
|
-
return /* @__PURE__ */
|
|
4821
|
-
variant === "bullet" ? /* @__PURE__ */
|
|
4822
|
-
/* @__PURE__ */
|
|
4575
|
+
return /* @__PURE__ */ jsx47("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ jsxs26("li", { className: "flex items-start gap-fluid-md", children: [
|
|
4576
|
+
variant === "bullet" ? /* @__PURE__ */ jsx47("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ jsx47("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ jsx47(Icon, { icon: Check3, size: 24, className: "text-berget-logo-light" }) }),
|
|
4577
|
+
/* @__PURE__ */ jsx47(Typography, { variant: "body", color: "muted", children: item })
|
|
4823
4578
|
] }, index)) });
|
|
4824
4579
|
}
|
|
4825
4580
|
);
|
|
@@ -4828,7 +4583,7 @@ FeatureList.displayName = "FeatureList";
|
|
|
4828
4583
|
// src/components/code-block/CodeBlock.tsx
|
|
4829
4584
|
import { useState as useState5, useEffect as useEffect4, useCallback as useCallback4 } from "react";
|
|
4830
4585
|
import { Copy, Check as Check4 } from "lucide-react";
|
|
4831
|
-
import { jsx as
|
|
4586
|
+
import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4832
4587
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
4833
4588
|
const [html, setHtml] = useState5(null);
|
|
4834
4589
|
const [copied, setCopied] = useState5(false);
|
|
@@ -4844,16 +4599,16 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4844
4599
|
setCopied(true);
|
|
4845
4600
|
setTimeout(() => setCopied(false), 2e3);
|
|
4846
4601
|
}, [code]);
|
|
4847
|
-
const copyButton = /* @__PURE__ */
|
|
4602
|
+
const copyButton = /* @__PURE__ */ jsx48(
|
|
4848
4603
|
"button",
|
|
4849
4604
|
{
|
|
4850
4605
|
onClick: handleCopy,
|
|
4851
4606
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
4852
4607
|
"aria-label": "Copy code",
|
|
4853
|
-
children: copied ? /* @__PURE__ */
|
|
4608
|
+
children: copied ? /* @__PURE__ */ jsx48(Check4, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx48(Copy, { className: "w-3.5 h-3.5" })
|
|
4854
4609
|
}
|
|
4855
4610
|
);
|
|
4856
|
-
return /* @__PURE__ */
|
|
4611
|
+
return /* @__PURE__ */ jsxs27(
|
|
4857
4612
|
"div",
|
|
4858
4613
|
{
|
|
4859
4614
|
className: cn(
|
|
@@ -4861,25 +4616,25 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4861
4616
|
className
|
|
4862
4617
|
),
|
|
4863
4618
|
children: [
|
|
4864
|
-
title && /* @__PURE__ */
|
|
4865
|
-
/* @__PURE__ */
|
|
4866
|
-
html ? /* @__PURE__ */
|
|
4619
|
+
title && /* @__PURE__ */ jsx48("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__ */ jsx48("span", { className: "text-berget-muted-foreground", children: title }) }),
|
|
4620
|
+
/* @__PURE__ */ jsx48("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
4621
|
+
html ? /* @__PURE__ */ jsx48(
|
|
4867
4622
|
"div",
|
|
4868
4623
|
{
|
|
4869
4624
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
4870
4625
|
dangerouslySetInnerHTML: { __html: html }
|
|
4871
4626
|
}
|
|
4872
|
-
) : /* @__PURE__ */
|
|
4627
|
+
) : /* @__PURE__ */ jsx48("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ jsx48("code", { children: code }) })
|
|
4873
4628
|
]
|
|
4874
4629
|
}
|
|
4875
4630
|
);
|
|
4876
4631
|
}
|
|
4877
4632
|
|
|
4878
4633
|
// src/components/window-frame/WindowFrame.tsx
|
|
4879
|
-
import * as
|
|
4634
|
+
import * as React29 from "react";
|
|
4880
4635
|
import { useState as useState6 } from "react";
|
|
4881
|
-
import { jsx as
|
|
4882
|
-
var WindowFrame =
|
|
4636
|
+
import { jsx as jsx49, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4637
|
+
var WindowFrame = React29.forwardRef(
|
|
4883
4638
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
4884
4639
|
const [internalActive, setInternalActive] = useState6(tabs?.[0]?.id ?? "");
|
|
4885
4640
|
const currentTab = activeTab ?? internalActive;
|
|
@@ -4890,7 +4645,7 @@ var WindowFrame = React32.forwardRef(
|
|
|
4890
4645
|
setInternalActive(id);
|
|
4891
4646
|
}
|
|
4892
4647
|
};
|
|
4893
|
-
return /* @__PURE__ */
|
|
4648
|
+
return /* @__PURE__ */ jsxs28(
|
|
4894
4649
|
"div",
|
|
4895
4650
|
{
|
|
4896
4651
|
ref,
|
|
@@ -4900,13 +4655,13 @@ var WindowFrame = React32.forwardRef(
|
|
|
4900
4655
|
),
|
|
4901
4656
|
...props,
|
|
4902
4657
|
children: [
|
|
4903
|
-
/* @__PURE__ */
|
|
4904
|
-
/* @__PURE__ */
|
|
4905
|
-
/* @__PURE__ */
|
|
4906
|
-
/* @__PURE__ */
|
|
4907
|
-
/* @__PURE__ */
|
|
4658
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
|
|
4659
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
4660
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
|
|
4661
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
|
|
4662
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
|
|
4908
4663
|
] }),
|
|
4909
|
-
tabs && tabs.length > 0 ? /* @__PURE__ */
|
|
4664
|
+
tabs && tabs.length > 0 ? /* @__PURE__ */ jsx49("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ jsx49(
|
|
4910
4665
|
"button",
|
|
4911
4666
|
{
|
|
4912
4667
|
type: "button",
|
|
@@ -4918,9 +4673,9 @@ var WindowFrame = React32.forwardRef(
|
|
|
4918
4673
|
children: tab.label
|
|
4919
4674
|
},
|
|
4920
4675
|
tab.id
|
|
4921
|
-
)) }) : /* @__PURE__ */
|
|
4676
|
+
)) }) : /* @__PURE__ */ jsx49("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
4922
4677
|
] }),
|
|
4923
|
-
/* @__PURE__ */
|
|
4678
|
+
/* @__PURE__ */ jsx49("div", { children })
|
|
4924
4679
|
]
|
|
4925
4680
|
}
|
|
4926
4681
|
);
|
|
@@ -4930,7 +4685,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
4930
4685
|
|
|
4931
4686
|
// src/components/fog-illustration/FogIllustration.tsx
|
|
4932
4687
|
import { useEffect as useEffect5, useRef } from "react";
|
|
4933
|
-
import { jsx as
|
|
4688
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
4934
4689
|
var FOG_BRAND_PALETTE = {
|
|
4935
4690
|
ink: "#171a1a",
|
|
4936
4691
|
milk: "#f7f5ed",
|
|
@@ -5243,7 +4998,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
5243
4998
|
gl.deleteFramebuffer(fbo);
|
|
5244
4999
|
};
|
|
5245
5000
|
}, []);
|
|
5246
|
-
return /* @__PURE__ */
|
|
5001
|
+
return /* @__PURE__ */ jsx50("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
5247
5002
|
};
|
|
5248
5003
|
export {
|
|
5249
5004
|
Alert2 as Alert,
|
|
@@ -5317,7 +5072,7 @@ export {
|
|
|
5317
5072
|
FogIllustration,
|
|
5318
5073
|
Grid,
|
|
5319
5074
|
Icon,
|
|
5320
|
-
|
|
5075
|
+
Input,
|
|
5321
5076
|
Item2 as Item,
|
|
5322
5077
|
ItemActions,
|
|
5323
5078
|
ItemContent,
|
|
@@ -5344,7 +5099,17 @@ export {
|
|
|
5344
5099
|
NavigationMenuList,
|
|
5345
5100
|
NavigationMenuPositioner,
|
|
5346
5101
|
NavigationMenuTrigger,
|
|
5347
|
-
|
|
5102
|
+
SearchInput,
|
|
5103
|
+
Select,
|
|
5104
|
+
SelectContent,
|
|
5105
|
+
SelectGroup,
|
|
5106
|
+
SelectItem,
|
|
5107
|
+
SelectLabel,
|
|
5108
|
+
SelectScrollDownButton,
|
|
5109
|
+
SelectScrollUpButton,
|
|
5110
|
+
SelectSeparator,
|
|
5111
|
+
SelectTrigger,
|
|
5112
|
+
SelectValue,
|
|
5348
5113
|
Sidebar,
|
|
5349
5114
|
SidebarContent,
|
|
5350
5115
|
SidebarFooter2 as SidebarFooter,
|
|
@@ -5379,7 +5144,7 @@ export {
|
|
|
5379
5144
|
TableHead2 as TableHead,
|
|
5380
5145
|
TableHeader2 as TableHeader,
|
|
5381
5146
|
TableRow2 as TableRow,
|
|
5382
|
-
|
|
5147
|
+
Textarea,
|
|
5383
5148
|
ThemeProvider,
|
|
5384
5149
|
ThemeToggle,
|
|
5385
5150
|
Typography,
|
|
@@ -5398,10 +5163,8 @@ export {
|
|
|
5398
5163
|
isEUCountry,
|
|
5399
5164
|
linkVariants,
|
|
5400
5165
|
navigationMenuTriggerStyle2 as navigationMenuTriggerStyle,
|
|
5401
|
-
selectVariants,
|
|
5402
5166
|
switchRootVariants,
|
|
5403
5167
|
switchThumbVariants,
|
|
5404
|
-
textAreaVariants,
|
|
5405
5168
|
typographyVariants,
|
|
5406
5169
|
useSidebar,
|
|
5407
5170
|
useTheme
|