@bergetai/ui 0.12.1 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +270 -508
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -54
- package/dist/index.d.ts +24 -54
- package/dist/index.js +241 -487
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -597,31 +597,25 @@ function CardFooter({ className, ...props }) {
|
|
|
597
597
|
|
|
598
598
|
// src/components/card/Card.tsx
|
|
599
599
|
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
600
|
-
var cardVariants = cva3("
|
|
600
|
+
var cardVariants = cva3("ring-0", {
|
|
601
601
|
variants: {
|
|
602
602
|
variant: {
|
|
603
603
|
outlined: "bg-transparent border border-berget-border-subtle",
|
|
604
604
|
filled: "bg-berget-card-filled-bg border border-berget-border-subtle"
|
|
605
|
-
},
|
|
606
|
-
padding: {
|
|
607
|
-
none: "p-0",
|
|
608
|
-
sm: "p-3 sm:p-4",
|
|
609
|
-
md: "p-4 sm:p-6",
|
|
610
|
-
lg: "p-6 sm:p-8"
|
|
611
605
|
}
|
|
612
606
|
},
|
|
613
607
|
defaultVariants: {
|
|
614
|
-
variant: "outlined"
|
|
615
|
-
padding: "md"
|
|
608
|
+
variant: "outlined"
|
|
616
609
|
}
|
|
617
610
|
});
|
|
618
611
|
var Card2 = React5.forwardRef(
|
|
619
|
-
({ className, variant,
|
|
612
|
+
({ className, variant, size, children, ...props }, ref) => {
|
|
620
613
|
return /* @__PURE__ */ jsx7(
|
|
621
614
|
Card,
|
|
622
615
|
{
|
|
623
616
|
ref,
|
|
624
|
-
|
|
617
|
+
size,
|
|
618
|
+
className: cn(cardVariants({ variant }), className),
|
|
625
619
|
...props,
|
|
626
620
|
children
|
|
627
621
|
}
|
|
@@ -936,7 +930,6 @@ var ModelCard = React9.forwardRef(
|
|
|
936
930
|
Card2,
|
|
937
931
|
{
|
|
938
932
|
variant: "filled",
|
|
939
|
-
padding: "none",
|
|
940
933
|
className: "relative flex h-full flex-col bg-berget-card-filled-bg p-5 transition-all hover:bg-[color-mix(in_oklab,var(--berget-brand-granite-100)_5%,var(--berget-card-filled-bg))] sm:p-6",
|
|
941
934
|
children: [
|
|
942
935
|
lifecycle && /* @__PURE__ */ jsx11("div", { className: "absolute top-0 right-0 z-10 overflow-hidden rounded-bl-berget-sm", children: /* @__PURE__ */ jsx11(
|
|
@@ -1629,7 +1622,7 @@ function Input({ className, type, ...props }) {
|
|
|
1629
1622
|
type,
|
|
1630
1623
|
"data-slot": "input",
|
|
1631
1624
|
className: cn6(
|
|
1632
|
-
"h-8 w-full min-w-0 rounded-lg border border-input bg-
|
|
1625
|
+
"h-8 w-full min-w-0 rounded-lg border border-input bg-input/30 px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
1633
1626
|
className
|
|
1634
1627
|
),
|
|
1635
1628
|
...props
|
|
@@ -2993,92 +2986,38 @@ var ItemSeparator2 = React17.forwardRef(({ className, ...props }, ref) => {
|
|
|
2993
2986
|
});
|
|
2994
2987
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
2995
2988
|
|
|
2996
|
-
// src/components/input/
|
|
2997
|
-
import
|
|
2989
|
+
// src/components/search-input/SearchInput.tsx
|
|
2990
|
+
import { Search } from "lucide-react";
|
|
2998
2991
|
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
|
-
] });
|
|
2992
|
+
var SearchInput = ({
|
|
2993
|
+
type = "search",
|
|
2994
|
+
placeholder = "Search...",
|
|
2995
|
+
className,
|
|
2996
|
+
ref,
|
|
2997
|
+
...props
|
|
2998
|
+
}) => /* @__PURE__ */ jsxs15("div", { className: "relative flex w-full items-center", "data-slot": "search-input", children: [
|
|
2999
|
+
/* @__PURE__ */ jsx30(
|
|
3000
|
+
Search,
|
|
3001
|
+
{
|
|
3002
|
+
"aria-hidden": "true",
|
|
3003
|
+
className: "pointer-events-none absolute left-2.5 size-4 text-berget-muted-foreground"
|
|
3052
3004
|
}
|
|
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";
|
|
3005
|
+
),
|
|
3006
|
+
/* @__PURE__ */ jsx30(
|
|
3007
|
+
Input,
|
|
3008
|
+
{
|
|
3009
|
+
ref,
|
|
3010
|
+
type,
|
|
3011
|
+
placeholder,
|
|
3012
|
+
className: cn("rounded-full pl-8", className),
|
|
3013
|
+
...props
|
|
3014
|
+
}
|
|
3015
|
+
)
|
|
3016
|
+
] });
|
|
3017
|
+
SearchInput.displayName = "SearchInput";
|
|
3079
3018
|
|
|
3080
3019
|
// src/components/checkbox/Checkbox.tsx
|
|
3081
|
-
import * as
|
|
3020
|
+
import * as React18 from "react";
|
|
3082
3021
|
import { Checkbox as CheckboxPrimitive2 } from "@base-ui/react/checkbox";
|
|
3083
3022
|
import { Check as Check2 } from "lucide-react";
|
|
3084
3023
|
import { cva as cva11 } from "class-variance-authority";
|
|
@@ -3136,7 +3075,7 @@ var checkboxVariants = cva11(
|
|
|
3136
3075
|
}
|
|
3137
3076
|
}
|
|
3138
3077
|
);
|
|
3139
|
-
var Checkbox2 =
|
|
3078
|
+
var Checkbox2 = React18.forwardRef(
|
|
3140
3079
|
({
|
|
3141
3080
|
"aria-label": ariaLabel,
|
|
3142
3081
|
className,
|
|
@@ -3149,7 +3088,7 @@ var Checkbox2 = React19.forwardRef(
|
|
|
3149
3088
|
disabled,
|
|
3150
3089
|
...props
|
|
3151
3090
|
}, ref) => {
|
|
3152
|
-
const generatedId =
|
|
3091
|
+
const generatedId = React18.useId();
|
|
3153
3092
|
const checkboxId = id || generatedId;
|
|
3154
3093
|
const errorId = `${checkboxId}-error`;
|
|
3155
3094
|
return /* @__PURE__ */ jsxs16("div", { className: "flex items-start gap-3", children: [
|
|
@@ -3159,7 +3098,6 @@ var Checkbox2 = React19.forwardRef(
|
|
|
3159
3098
|
ref,
|
|
3160
3099
|
id: checkboxId,
|
|
3161
3100
|
disabled,
|
|
3162
|
-
nativeButton: true,
|
|
3163
3101
|
"aria-invalid": !!error,
|
|
3164
3102
|
"aria-describedby": error ? errorId : void 0,
|
|
3165
3103
|
"aria-label": ariaLabel || label || void 0,
|
|
@@ -3201,7 +3139,7 @@ var Checkbox2 = React19.forwardRef(
|
|
|
3201
3139
|
Checkbox2.displayName = "Checkbox";
|
|
3202
3140
|
|
|
3203
3141
|
// src/components/switch/Switch.tsx
|
|
3204
|
-
import * as
|
|
3142
|
+
import * as React19 from "react";
|
|
3205
3143
|
import { Switch as SwitchPrimitives } from "@base-ui/react/switch";
|
|
3206
3144
|
import { cva as cva12 } from "class-variance-authority";
|
|
3207
3145
|
import { jsx as jsx33, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
@@ -3241,7 +3179,7 @@ var switchThumbVariants = cva12(
|
|
|
3241
3179
|
}
|
|
3242
3180
|
}
|
|
3243
3181
|
);
|
|
3244
|
-
var Switch =
|
|
3182
|
+
var Switch = React19.forwardRef(
|
|
3245
3183
|
({
|
|
3246
3184
|
"aria-label": ariaLabel,
|
|
3247
3185
|
className,
|
|
@@ -3254,7 +3192,7 @@ var Switch = React20.forwardRef(
|
|
|
3254
3192
|
disabled,
|
|
3255
3193
|
...props
|
|
3256
3194
|
}, ref) => {
|
|
3257
|
-
const generatedId =
|
|
3195
|
+
const generatedId = React19.useId();
|
|
3258
3196
|
const switchId = id || generatedId;
|
|
3259
3197
|
const errorId = `${switchId}-error`;
|
|
3260
3198
|
return /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-3", children: [
|
|
@@ -3264,7 +3202,6 @@ var Switch = React20.forwardRef(
|
|
|
3264
3202
|
ref,
|
|
3265
3203
|
id: switchId,
|
|
3266
3204
|
disabled,
|
|
3267
|
-
nativeButton: true,
|
|
3268
3205
|
"aria-invalid": !!error,
|
|
3269
3206
|
"aria-describedby": error ? errorId : void 0,
|
|
3270
3207
|
"aria-label": ariaLabel || label || void 0,
|
|
@@ -3297,16 +3234,22 @@ var Switch = React20.forwardRef(
|
|
|
3297
3234
|
);
|
|
3298
3235
|
Switch.displayName = "Switch";
|
|
3299
3236
|
|
|
3300
|
-
// src/components/select/Select.tsx
|
|
3301
|
-
import * as React21 from "react";
|
|
3302
|
-
import { cva as cva13 } from "class-variance-authority";
|
|
3303
|
-
|
|
3304
3237
|
// src/primitives/select.tsx
|
|
3305
3238
|
import { Select as SelectPrimitive } from "@base-ui/react/select";
|
|
3306
3239
|
import { cn as cn15 } from "cn";
|
|
3307
3240
|
import { ChevronDownIcon as ChevronDownIcon2, CheckIcon as CheckIcon2, ChevronUpIcon } from "lucide-react";
|
|
3308
3241
|
import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3309
3242
|
var Select = SelectPrimitive.Root;
|
|
3243
|
+
function SelectGroup({ className, ...props }) {
|
|
3244
|
+
return /* @__PURE__ */ jsx34(
|
|
3245
|
+
SelectPrimitive.Group,
|
|
3246
|
+
{
|
|
3247
|
+
"data-slot": "select-group",
|
|
3248
|
+
className: cn15("scroll-my-1 p-1", className),
|
|
3249
|
+
...props
|
|
3250
|
+
}
|
|
3251
|
+
);
|
|
3252
|
+
}
|
|
3310
3253
|
function SelectValue({ className, ...props }) {
|
|
3311
3254
|
return /* @__PURE__ */ jsx34(
|
|
3312
3255
|
SelectPrimitive.Value,
|
|
@@ -3329,7 +3272,7 @@ function SelectTrigger({
|
|
|
3329
3272
|
"data-slot": "select-trigger",
|
|
3330
3273
|
"data-size": size,
|
|
3331
3274
|
className: cn15(
|
|
3332
|
-
"flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-input bg-
|
|
3275
|
+
"flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-input bg-input/30 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
3276
|
className
|
|
3334
3277
|
),
|
|
3335
3278
|
...props,
|
|
@@ -3381,6 +3324,19 @@ function SelectContent({
|
|
|
3381
3324
|
}
|
|
3382
3325
|
) });
|
|
3383
3326
|
}
|
|
3327
|
+
function SelectLabel({
|
|
3328
|
+
className,
|
|
3329
|
+
...props
|
|
3330
|
+
}) {
|
|
3331
|
+
return /* @__PURE__ */ jsx34(
|
|
3332
|
+
SelectPrimitive.GroupLabel,
|
|
3333
|
+
{
|
|
3334
|
+
"data-slot": "select-label",
|
|
3335
|
+
className: cn15("px-1.5 py-1 text-xs text-muted-foreground", className),
|
|
3336
|
+
...props
|
|
3337
|
+
}
|
|
3338
|
+
);
|
|
3339
|
+
}
|
|
3384
3340
|
function SelectItem({
|
|
3385
3341
|
className,
|
|
3386
3342
|
children,
|
|
@@ -3408,6 +3364,19 @@ function SelectItem({
|
|
|
3408
3364
|
}
|
|
3409
3365
|
);
|
|
3410
3366
|
}
|
|
3367
|
+
function SelectSeparator({
|
|
3368
|
+
className,
|
|
3369
|
+
...props
|
|
3370
|
+
}) {
|
|
3371
|
+
return /* @__PURE__ */ jsx34(
|
|
3372
|
+
SelectPrimitive.Separator,
|
|
3373
|
+
{
|
|
3374
|
+
"data-slot": "select-separator",
|
|
3375
|
+
className: cn15("pointer-events-none -mx-1 my-1 h-px bg-border", className),
|
|
3376
|
+
...props
|
|
3377
|
+
}
|
|
3378
|
+
);
|
|
3379
|
+
}
|
|
3411
3380
|
function SelectScrollUpButton({
|
|
3412
3381
|
className,
|
|
3413
3382
|
...props
|
|
@@ -3449,115 +3418,19 @@ function SelectScrollDownButton({
|
|
|
3449
3418
|
);
|
|
3450
3419
|
}
|
|
3451
3420
|
|
|
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
3421
|
// src/components/country-select/CountrySelect.tsx
|
|
3549
|
-
import * as
|
|
3422
|
+
import * as React21 from "react";
|
|
3550
3423
|
import { ChevronDown as ChevronDown2, Globe } from "lucide-react";
|
|
3551
3424
|
|
|
3552
3425
|
// src/components/icon/Icon.tsx
|
|
3553
|
-
import * as
|
|
3554
|
-
import { jsx as
|
|
3426
|
+
import * as React20 from "react";
|
|
3427
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
3555
3428
|
var iconStrokeMap = {
|
|
3556
3429
|
16: 1.4,
|
|
3557
3430
|
24: 1.6,
|
|
3558
3431
|
32: 1.8
|
|
3559
3432
|
};
|
|
3560
|
-
var Icon =
|
|
3433
|
+
var Icon = React20.forwardRef(
|
|
3561
3434
|
({
|
|
3562
3435
|
icon: IconComponent,
|
|
3563
3436
|
size,
|
|
@@ -3569,7 +3442,7 @@ var Icon = React22.forwardRef(
|
|
|
3569
3442
|
const strokeWidth = iconStrokeMap[size];
|
|
3570
3443
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
3571
3444
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
3572
|
-
return /* @__PURE__ */
|
|
3445
|
+
return /* @__PURE__ */ jsx35(
|
|
3573
3446
|
IconComponent,
|
|
3574
3447
|
{
|
|
3575
3448
|
ref,
|
|
@@ -3586,12 +3459,12 @@ Icon.displayName = "Icon";
|
|
|
3586
3459
|
// src/primitives/popover.tsx
|
|
3587
3460
|
import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
|
|
3588
3461
|
import { cn as cn16 } from "cn";
|
|
3589
|
-
import { jsx as
|
|
3462
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3590
3463
|
function Popover({ ...props }) {
|
|
3591
|
-
return /* @__PURE__ */
|
|
3464
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
3592
3465
|
}
|
|
3593
3466
|
function PopoverTrigger({ ...props }) {
|
|
3594
|
-
return /* @__PURE__ */
|
|
3467
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
3595
3468
|
}
|
|
3596
3469
|
function PopoverContent({
|
|
3597
3470
|
className,
|
|
@@ -3601,7 +3474,7 @@ function PopoverContent({
|
|
|
3601
3474
|
sideOffset = 4,
|
|
3602
3475
|
...props
|
|
3603
3476
|
}) {
|
|
3604
|
-
return /* @__PURE__ */
|
|
3477
|
+
return /* @__PURE__ */ jsx36(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx36(
|
|
3605
3478
|
PopoverPrimitive.Positioner,
|
|
3606
3479
|
{
|
|
3607
3480
|
align,
|
|
@@ -3609,7 +3482,7 @@ function PopoverContent({
|
|
|
3609
3482
|
side,
|
|
3610
3483
|
sideOffset,
|
|
3611
3484
|
className: "isolate z-50",
|
|
3612
|
-
children: /* @__PURE__ */
|
|
3485
|
+
children: /* @__PURE__ */ jsx36(
|
|
3613
3486
|
PopoverPrimitive.Popup,
|
|
3614
3487
|
{
|
|
3615
3488
|
"data-slot": "popover-content",
|
|
@@ -3632,22 +3505,22 @@ import { cn as cn20 } from "cn";
|
|
|
3632
3505
|
import { Dialog as DialogPrimitive2 } from "@base-ui/react/dialog";
|
|
3633
3506
|
import { cn as cn17 } from "cn";
|
|
3634
3507
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
3635
|
-
import { jsx as
|
|
3508
|
+
import { jsx as jsx37, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3636
3509
|
|
|
3637
3510
|
// src/primitives/input-group.tsx
|
|
3638
|
-
import { cva as
|
|
3511
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
3639
3512
|
import { cn as cn19 } from "cn";
|
|
3640
3513
|
|
|
3641
3514
|
// src/primitives/textarea.tsx
|
|
3642
3515
|
import { cn as cn18 } from "cn";
|
|
3643
|
-
import { jsx as
|
|
3516
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3644
3517
|
function Textarea({ className, ...props }) {
|
|
3645
|
-
return /* @__PURE__ */
|
|
3518
|
+
return /* @__PURE__ */ jsx38(
|
|
3646
3519
|
"textarea",
|
|
3647
3520
|
{
|
|
3648
3521
|
"data-slot": "textarea",
|
|
3649
3522
|
className: cn18(
|
|
3650
|
-
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-
|
|
3523
|
+
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-input/30 px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
3651
3524
|
className
|
|
3652
3525
|
),
|
|
3653
3526
|
...props
|
|
@@ -3656,9 +3529,9 @@ function Textarea({ className, ...props }) {
|
|
|
3656
3529
|
}
|
|
3657
3530
|
|
|
3658
3531
|
// src/primitives/input-group.tsx
|
|
3659
|
-
import { jsx as
|
|
3532
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3660
3533
|
function InputGroup({ className, ...props }) {
|
|
3661
|
-
return /* @__PURE__ */
|
|
3534
|
+
return /* @__PURE__ */ jsx39(
|
|
3662
3535
|
"div",
|
|
3663
3536
|
{
|
|
3664
3537
|
"data-slot": "input-group",
|
|
@@ -3671,7 +3544,7 @@ function InputGroup({ className, ...props }) {
|
|
|
3671
3544
|
}
|
|
3672
3545
|
);
|
|
3673
3546
|
}
|
|
3674
|
-
var inputGroupAddonVariants =
|
|
3547
|
+
var inputGroupAddonVariants = cva13(
|
|
3675
3548
|
"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
3549
|
{
|
|
3677
3550
|
variants: {
|
|
@@ -3692,7 +3565,7 @@ function InputGroupAddon({
|
|
|
3692
3565
|
align = "inline-start",
|
|
3693
3566
|
...props
|
|
3694
3567
|
}) {
|
|
3695
|
-
return /* @__PURE__ */
|
|
3568
|
+
return /* @__PURE__ */ jsx39(
|
|
3696
3569
|
"div",
|
|
3697
3570
|
{
|
|
3698
3571
|
role: "group",
|
|
@@ -3709,7 +3582,7 @@ function InputGroupAddon({
|
|
|
3709
3582
|
}
|
|
3710
3583
|
);
|
|
3711
3584
|
}
|
|
3712
|
-
var inputGroupButtonVariants =
|
|
3585
|
+
var inputGroupButtonVariants = cva13(
|
|
3713
3586
|
"flex items-center gap-2 text-sm shadow-none",
|
|
3714
3587
|
{
|
|
3715
3588
|
variants: {
|
|
@@ -3728,12 +3601,12 @@ var inputGroupButtonVariants = cva14(
|
|
|
3728
3601
|
|
|
3729
3602
|
// src/primitives/command.tsx
|
|
3730
3603
|
import { SearchIcon, CheckIcon as CheckIcon3 } from "lucide-react";
|
|
3731
|
-
import { jsx as
|
|
3604
|
+
import { jsx as jsx40, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3732
3605
|
function Command({
|
|
3733
3606
|
className,
|
|
3734
3607
|
...props
|
|
3735
3608
|
}) {
|
|
3736
|
-
return /* @__PURE__ */
|
|
3609
|
+
return /* @__PURE__ */ jsx40(
|
|
3737
3610
|
CommandPrimitive,
|
|
3738
3611
|
{
|
|
3739
3612
|
"data-slot": "command",
|
|
@@ -3749,8 +3622,8 @@ function CommandInput({
|
|
|
3749
3622
|
className,
|
|
3750
3623
|
...props
|
|
3751
3624
|
}) {
|
|
3752
|
-
return /* @__PURE__ */
|
|
3753
|
-
/* @__PURE__ */
|
|
3625
|
+
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: [
|
|
3626
|
+
/* @__PURE__ */ jsx40(
|
|
3754
3627
|
CommandPrimitive.Input,
|
|
3755
3628
|
{
|
|
3756
3629
|
"data-slot": "command-input",
|
|
@@ -3761,14 +3634,14 @@ function CommandInput({
|
|
|
3761
3634
|
...props
|
|
3762
3635
|
}
|
|
3763
3636
|
),
|
|
3764
|
-
/* @__PURE__ */
|
|
3637
|
+
/* @__PURE__ */ jsx40(InputGroupAddon, { children: /* @__PURE__ */ jsx40(SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
3765
3638
|
] }) });
|
|
3766
3639
|
}
|
|
3767
3640
|
function CommandList({
|
|
3768
3641
|
className,
|
|
3769
3642
|
...props
|
|
3770
3643
|
}) {
|
|
3771
|
-
return /* @__PURE__ */
|
|
3644
|
+
return /* @__PURE__ */ jsx40(
|
|
3772
3645
|
CommandPrimitive.List,
|
|
3773
3646
|
{
|
|
3774
3647
|
"data-slot": "command-list",
|
|
@@ -3784,7 +3657,7 @@ function CommandEmpty({
|
|
|
3784
3657
|
className,
|
|
3785
3658
|
...props
|
|
3786
3659
|
}) {
|
|
3787
|
-
return /* @__PURE__ */
|
|
3660
|
+
return /* @__PURE__ */ jsx40(
|
|
3788
3661
|
CommandPrimitive.Empty,
|
|
3789
3662
|
{
|
|
3790
3663
|
"data-slot": "command-empty",
|
|
@@ -3797,7 +3670,7 @@ function CommandGroup({
|
|
|
3797
3670
|
className,
|
|
3798
3671
|
...props
|
|
3799
3672
|
}) {
|
|
3800
|
-
return /* @__PURE__ */
|
|
3673
|
+
return /* @__PURE__ */ jsx40(
|
|
3801
3674
|
CommandPrimitive.Group,
|
|
3802
3675
|
{
|
|
3803
3676
|
"data-slot": "command-group",
|
|
@@ -3814,7 +3687,7 @@ function CommandItem({
|
|
|
3814
3687
|
children,
|
|
3815
3688
|
...props
|
|
3816
3689
|
}) {
|
|
3817
|
-
return /* @__PURE__ */
|
|
3690
|
+
return /* @__PURE__ */ jsxs20(
|
|
3818
3691
|
CommandPrimitive.Item,
|
|
3819
3692
|
{
|
|
3820
3693
|
"data-slot": "command-item",
|
|
@@ -3825,7 +3698,7 @@ function CommandItem({
|
|
|
3825
3698
|
...props,
|
|
3826
3699
|
children: [
|
|
3827
3700
|
children,
|
|
3828
|
-
/* @__PURE__ */
|
|
3701
|
+
/* @__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
3702
|
]
|
|
3830
3703
|
}
|
|
3831
3704
|
);
|
|
@@ -3973,8 +3846,8 @@ var isEUCountry = (countryCode) => {
|
|
|
3973
3846
|
};
|
|
3974
3847
|
|
|
3975
3848
|
// src/components/country-select/CountrySelect.tsx
|
|
3976
|
-
import { Fragment as Fragment3, jsx as
|
|
3977
|
-
var CountrySelect =
|
|
3849
|
+
import { Fragment as Fragment3, jsx as jsx41, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3850
|
+
var CountrySelect = React21.forwardRef(
|
|
3978
3851
|
({
|
|
3979
3852
|
value,
|
|
3980
3853
|
onValueChange,
|
|
@@ -3984,14 +3857,14 @@ var CountrySelect = React23.forwardRef(
|
|
|
3984
3857
|
align = "center",
|
|
3985
3858
|
sideOffset = 4
|
|
3986
3859
|
}, ref) => {
|
|
3987
|
-
const [open, setOpen] =
|
|
3988
|
-
const selectedCountry =
|
|
3989
|
-
return /* @__PURE__ */
|
|
3990
|
-
/* @__PURE__ */
|
|
3860
|
+
const [open, setOpen] = React21.useState(false);
|
|
3861
|
+
const selectedCountry = React21.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
|
|
3862
|
+
return /* @__PURE__ */ jsxs21(Popover, { open, onOpenChange: setOpen, children: [
|
|
3863
|
+
/* @__PURE__ */ jsxs21(
|
|
3991
3864
|
PopoverTrigger,
|
|
3992
3865
|
{
|
|
3993
3866
|
ref,
|
|
3994
|
-
render: /* @__PURE__ */
|
|
3867
|
+
render: /* @__PURE__ */ jsx41(
|
|
3995
3868
|
"button",
|
|
3996
3869
|
{
|
|
3997
3870
|
type: "button",
|
|
@@ -4013,16 +3886,16 @@ var CountrySelect = React23.forwardRef(
|
|
|
4013
3886
|
}
|
|
4014
3887
|
),
|
|
4015
3888
|
children: [
|
|
4016
|
-
/* @__PURE__ */
|
|
4017
|
-
/* @__PURE__ */
|
|
4018
|
-
/* @__PURE__ */
|
|
4019
|
-
/* @__PURE__ */
|
|
3889
|
+
/* @__PURE__ */ jsx41("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ jsxs21(Fragment3, { children: [
|
|
3890
|
+
/* @__PURE__ */ jsx41("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
|
|
3891
|
+
/* @__PURE__ */ jsx41("span", { className: "truncate", children: selectedCountry.name }),
|
|
3892
|
+
/* @__PURE__ */ jsxs21("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
|
|
4020
3893
|
"(",
|
|
4021
3894
|
selectedCountry.code,
|
|
4022
3895
|
")"
|
|
4023
3896
|
] })
|
|
4024
|
-
] }) : /* @__PURE__ */
|
|
4025
|
-
/* @__PURE__ */
|
|
3897
|
+
] }) : /* @__PURE__ */ jsxs21(Fragment3, { children: [
|
|
3898
|
+
/* @__PURE__ */ jsx41(
|
|
4026
3899
|
Icon,
|
|
4027
3900
|
{
|
|
4028
3901
|
icon: Globe,
|
|
@@ -4030,9 +3903,9 @@ var CountrySelect = React23.forwardRef(
|
|
|
4030
3903
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
4031
3904
|
}
|
|
4032
3905
|
),
|
|
4033
|
-
/* @__PURE__ */
|
|
3906
|
+
/* @__PURE__ */ jsx41("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
4034
3907
|
] }) }),
|
|
4035
|
-
/* @__PURE__ */
|
|
3908
|
+
/* @__PURE__ */ jsx41(
|
|
4036
3909
|
Icon,
|
|
4037
3910
|
{
|
|
4038
3911
|
icon: ChevronDown2,
|
|
@@ -4047,17 +3920,17 @@ var CountrySelect = React23.forwardRef(
|
|
|
4047
3920
|
]
|
|
4048
3921
|
}
|
|
4049
3922
|
),
|
|
4050
|
-
/* @__PURE__ */
|
|
3923
|
+
/* @__PURE__ */ jsx41(
|
|
4051
3924
|
PopoverContent,
|
|
4052
3925
|
{
|
|
4053
3926
|
align,
|
|
4054
3927
|
sideOffset,
|
|
4055
3928
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
4056
|
-
children: /* @__PURE__ */
|
|
4057
|
-
/* @__PURE__ */
|
|
4058
|
-
/* @__PURE__ */
|
|
4059
|
-
/* @__PURE__ */
|
|
4060
|
-
/* @__PURE__ */
|
|
3929
|
+
children: /* @__PURE__ */ jsxs21(Command, { children: [
|
|
3930
|
+
/* @__PURE__ */ jsx41(CommandInput, { placeholder: "Search country..." }),
|
|
3931
|
+
/* @__PURE__ */ jsxs21(CommandList, { children: [
|
|
3932
|
+
/* @__PURE__ */ jsx41(CommandEmpty, { children: "No countries found." }),
|
|
3933
|
+
/* @__PURE__ */ jsx41(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ jsxs21(
|
|
4061
3934
|
CommandItem,
|
|
4062
3935
|
{
|
|
4063
3936
|
value: `${country.name} ${country.code}`,
|
|
@@ -4071,12 +3944,12 @@ var CountrySelect = React23.forwardRef(
|
|
|
4071
3944
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
4072
3945
|
),
|
|
4073
3946
|
children: [
|
|
4074
|
-
/* @__PURE__ */
|
|
4075
|
-
/* @__PURE__ */
|
|
4076
|
-
/* @__PURE__ */
|
|
4077
|
-
/* @__PURE__ */
|
|
3947
|
+
/* @__PURE__ */ jsx41("span", { className: "text-xl flex-shrink-0", children: country.flag }),
|
|
3948
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex-1 min-w-0", children: [
|
|
3949
|
+
/* @__PURE__ */ jsx41("div", { className: "text-sm truncate", children: country.name }),
|
|
3950
|
+
/* @__PURE__ */ jsx41("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
|
|
4078
3951
|
] }),
|
|
4079
|
-
value === country.code && /* @__PURE__ */
|
|
3952
|
+
value === country.code && /* @__PURE__ */ jsx41("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-0" })
|
|
4080
3953
|
]
|
|
4081
3954
|
},
|
|
4082
3955
|
country.code
|
|
@@ -4090,138 +3963,11 @@ var CountrySelect = React23.forwardRef(
|
|
|
4090
3963
|
);
|
|
4091
3964
|
CountrySelect.displayName = "CountrySelect";
|
|
4092
3965
|
|
|
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
3966
|
// src/primitives/label.tsx
|
|
4221
3967
|
import { cn as cn21 } from "cn";
|
|
4222
|
-
import { jsx as
|
|
3968
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4223
3969
|
function Label({ className, ...props }) {
|
|
4224
|
-
return /* @__PURE__ */
|
|
3970
|
+
return /* @__PURE__ */ jsx42(
|
|
4225
3971
|
"label",
|
|
4226
3972
|
{
|
|
4227
3973
|
"data-slot": "label",
|
|
@@ -4236,11 +3982,11 @@ function Label({ className, ...props }) {
|
|
|
4236
3982
|
|
|
4237
3983
|
// src/primitives/field.tsx
|
|
4238
3984
|
import { useMemo as useMemo4 } from "react";
|
|
4239
|
-
import { cva as
|
|
3985
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
4240
3986
|
import { cn as cn22 } from "cn";
|
|
4241
|
-
import { jsx as
|
|
3987
|
+
import { jsx as jsx43, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4242
3988
|
function FieldSet({ className, ...props }) {
|
|
4243
|
-
return /* @__PURE__ */
|
|
3989
|
+
return /* @__PURE__ */ jsx43(
|
|
4244
3990
|
"fieldset",
|
|
4245
3991
|
{
|
|
4246
3992
|
"data-slot": "field-set",
|
|
@@ -4257,7 +4003,7 @@ function FieldLegend({
|
|
|
4257
4003
|
variant = "legend",
|
|
4258
4004
|
...props
|
|
4259
4005
|
}) {
|
|
4260
|
-
return /* @__PURE__ */
|
|
4006
|
+
return /* @__PURE__ */ jsx43(
|
|
4261
4007
|
"legend",
|
|
4262
4008
|
{
|
|
4263
4009
|
"data-slot": "field-legend",
|
|
@@ -4271,7 +4017,7 @@ function FieldLegend({
|
|
|
4271
4017
|
);
|
|
4272
4018
|
}
|
|
4273
4019
|
function FieldGroup({ className, ...props }) {
|
|
4274
|
-
return /* @__PURE__ */
|
|
4020
|
+
return /* @__PURE__ */ jsx43(
|
|
4275
4021
|
"div",
|
|
4276
4022
|
{
|
|
4277
4023
|
"data-slot": "field-group",
|
|
@@ -4283,7 +4029,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
4283
4029
|
}
|
|
4284
4030
|
);
|
|
4285
4031
|
}
|
|
4286
|
-
var fieldVariants =
|
|
4032
|
+
var fieldVariants = cva14(
|
|
4287
4033
|
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
4288
4034
|
{
|
|
4289
4035
|
variants: {
|
|
@@ -4303,7 +4049,7 @@ function Field({
|
|
|
4303
4049
|
orientation = "vertical",
|
|
4304
4050
|
...props
|
|
4305
4051
|
}) {
|
|
4306
|
-
return /* @__PURE__ */
|
|
4052
|
+
return /* @__PURE__ */ jsx43(
|
|
4307
4053
|
"div",
|
|
4308
4054
|
{
|
|
4309
4055
|
role: "group",
|
|
@@ -4315,7 +4061,7 @@ function Field({
|
|
|
4315
4061
|
);
|
|
4316
4062
|
}
|
|
4317
4063
|
function FieldContent({ className, ...props }) {
|
|
4318
|
-
return /* @__PURE__ */
|
|
4064
|
+
return /* @__PURE__ */ jsx43(
|
|
4319
4065
|
"div",
|
|
4320
4066
|
{
|
|
4321
4067
|
"data-slot": "field-content",
|
|
@@ -4331,7 +4077,7 @@ function FieldLabel({
|
|
|
4331
4077
|
className,
|
|
4332
4078
|
...props
|
|
4333
4079
|
}) {
|
|
4334
|
-
return /* @__PURE__ */
|
|
4080
|
+
return /* @__PURE__ */ jsx43(
|
|
4335
4081
|
Label,
|
|
4336
4082
|
{
|
|
4337
4083
|
"data-slot": "field-label",
|
|
@@ -4345,7 +4091,7 @@ function FieldLabel({
|
|
|
4345
4091
|
);
|
|
4346
4092
|
}
|
|
4347
4093
|
function FieldTitle({ className, ...props }) {
|
|
4348
|
-
return /* @__PURE__ */
|
|
4094
|
+
return /* @__PURE__ */ jsx43(
|
|
4349
4095
|
"div",
|
|
4350
4096
|
{
|
|
4351
4097
|
"data-slot": "field-label",
|
|
@@ -4358,7 +4104,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
4358
4104
|
);
|
|
4359
4105
|
}
|
|
4360
4106
|
function FieldDescription({ className, ...props }) {
|
|
4361
|
-
return /* @__PURE__ */
|
|
4107
|
+
return /* @__PURE__ */ jsx43(
|
|
4362
4108
|
"p",
|
|
4363
4109
|
{
|
|
4364
4110
|
"data-slot": "field-description",
|
|
@@ -4377,7 +4123,7 @@ function FieldSeparator({
|
|
|
4377
4123
|
className,
|
|
4378
4124
|
...props
|
|
4379
4125
|
}) {
|
|
4380
|
-
return /* @__PURE__ */
|
|
4126
|
+
return /* @__PURE__ */ jsxs22(
|
|
4381
4127
|
"div",
|
|
4382
4128
|
{
|
|
4383
4129
|
"data-slot": "field-separator",
|
|
@@ -4388,8 +4134,8 @@ function FieldSeparator({
|
|
|
4388
4134
|
),
|
|
4389
4135
|
...props,
|
|
4390
4136
|
children: [
|
|
4391
|
-
/* @__PURE__ */
|
|
4392
|
-
children && /* @__PURE__ */
|
|
4137
|
+
/* @__PURE__ */ jsx43(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
4138
|
+
children && /* @__PURE__ */ jsx43(
|
|
4393
4139
|
"span",
|
|
4394
4140
|
{
|
|
4395
4141
|
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
@@ -4420,14 +4166,14 @@ function FieldError({
|
|
|
4420
4166
|
if (uniqueErrors?.length == 1) {
|
|
4421
4167
|
return uniqueErrors[0]?.message;
|
|
4422
4168
|
}
|
|
4423
|
-
return /* @__PURE__ */
|
|
4424
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
4169
|
+
return /* @__PURE__ */ jsx43("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
4170
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx43("li", { children: error.message }, index)
|
|
4425
4171
|
) });
|
|
4426
4172
|
}, [children, errors]);
|
|
4427
4173
|
if (!content) {
|
|
4428
4174
|
return null;
|
|
4429
4175
|
}
|
|
4430
|
-
return /* @__PURE__ */
|
|
4176
|
+
return /* @__PURE__ */ jsx43(
|
|
4431
4177
|
"div",
|
|
4432
4178
|
{
|
|
4433
4179
|
role: "alert",
|
|
@@ -4440,11 +4186,11 @@ function FieldError({
|
|
|
4440
4186
|
}
|
|
4441
4187
|
|
|
4442
4188
|
// src/components/link/Link.tsx
|
|
4443
|
-
import * as
|
|
4444
|
-
import { cva as
|
|
4189
|
+
import * as React22 from "react";
|
|
4190
|
+
import { cva as cva15 } from "class-variance-authority";
|
|
4445
4191
|
import { ExternalLink } from "lucide-react";
|
|
4446
|
-
import { jsx as
|
|
4447
|
-
var linkVariants =
|
|
4192
|
+
import { jsx as jsx44, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4193
|
+
var linkVariants = cva15(
|
|
4448
4194
|
"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
4195
|
{
|
|
4450
4196
|
variants: {
|
|
@@ -4468,7 +4214,7 @@ var linkVariants = cva17(
|
|
|
4468
4214
|
}
|
|
4469
4215
|
}
|
|
4470
4216
|
);
|
|
4471
|
-
var Link =
|
|
4217
|
+
var Link = React22.forwardRef(
|
|
4472
4218
|
({
|
|
4473
4219
|
className,
|
|
4474
4220
|
variant,
|
|
@@ -4481,7 +4227,7 @@ var Link = React25.forwardRef(
|
|
|
4481
4227
|
...props
|
|
4482
4228
|
}, ref) => {
|
|
4483
4229
|
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__ */
|
|
4230
|
+
return /* @__PURE__ */ jsxs23(
|
|
4485
4231
|
"a",
|
|
4486
4232
|
{
|
|
4487
4233
|
ref,
|
|
@@ -4497,8 +4243,8 @@ var Link = React25.forwardRef(
|
|
|
4497
4243
|
},
|
|
4498
4244
|
children: [
|
|
4499
4245
|
children,
|
|
4500
|
-
icon && /* @__PURE__ */
|
|
4501
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */
|
|
4246
|
+
icon && /* @__PURE__ */ jsx44("span", { className: "inline-flex items-center", children: icon }),
|
|
4247
|
+
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
4248
|
]
|
|
4503
4249
|
}
|
|
4504
4250
|
);
|
|
@@ -4507,11 +4253,11 @@ var Link = React25.forwardRef(
|
|
|
4507
4253
|
Link.displayName = "Link";
|
|
4508
4254
|
|
|
4509
4255
|
// src/components/container/Container.tsx
|
|
4510
|
-
import * as
|
|
4256
|
+
import * as React23 from "react";
|
|
4511
4257
|
import { mergeProps as mergeProps3 } from "@base-ui/react/merge-props";
|
|
4512
4258
|
import { useRender as useRender3 } from "@base-ui/react/use-render";
|
|
4513
|
-
import { cva as
|
|
4514
|
-
var containerVariants =
|
|
4259
|
+
import { cva as cva16 } from "class-variance-authority";
|
|
4260
|
+
var containerVariants = cva16("w-full mx-auto", {
|
|
4515
4261
|
variants: {
|
|
4516
4262
|
size: {
|
|
4517
4263
|
sm: "max-w-3xl",
|
|
@@ -4532,7 +4278,7 @@ var containerVariants = cva18("w-full mx-auto", {
|
|
|
4532
4278
|
padding: "md"
|
|
4533
4279
|
}
|
|
4534
4280
|
});
|
|
4535
|
-
var Container =
|
|
4281
|
+
var Container = React23.forwardRef(
|
|
4536
4282
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
4537
4283
|
return useRender3({
|
|
4538
4284
|
ref,
|
|
@@ -4551,11 +4297,11 @@ var Container = React26.forwardRef(
|
|
|
4551
4297
|
Container.displayName = "Container";
|
|
4552
4298
|
|
|
4553
4299
|
// src/components/grid/Grid.tsx
|
|
4554
|
-
import * as
|
|
4555
|
-
import { cva as
|
|
4300
|
+
import * as React24 from "react";
|
|
4301
|
+
import { cva as cva17 } from "class-variance-authority";
|
|
4556
4302
|
import { mergeProps as mergeProps4 } from "@base-ui/react/merge-props";
|
|
4557
4303
|
import { useRender as useRender4 } from "@base-ui/react/use-render";
|
|
4558
|
-
var gridVariants =
|
|
4304
|
+
var gridVariants = cva17("grid", {
|
|
4559
4305
|
variants: {
|
|
4560
4306
|
align: {
|
|
4561
4307
|
start: "items-start",
|
|
@@ -4577,7 +4323,7 @@ var gridVariants = cva19("grid", {
|
|
|
4577
4323
|
justify: "start"
|
|
4578
4324
|
}
|
|
4579
4325
|
});
|
|
4580
|
-
var Grid =
|
|
4326
|
+
var Grid = React24.forwardRef(
|
|
4581
4327
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
4582
4328
|
return useRender4({
|
|
4583
4329
|
ref,
|
|
@@ -4604,11 +4350,11 @@ var Grid = React27.forwardRef(
|
|
|
4604
4350
|
Grid.displayName = "Grid";
|
|
4605
4351
|
|
|
4606
4352
|
// src/components/box/Box.tsx
|
|
4607
|
-
import * as
|
|
4608
|
-
import { cva as
|
|
4353
|
+
import * as React25 from "react";
|
|
4354
|
+
import { cva as cva18 } from "class-variance-authority";
|
|
4609
4355
|
import { mergeProps as mergeProps5 } from "@base-ui/react/merge-props";
|
|
4610
4356
|
import { useRender as useRender5 } from "@base-ui/react/use-render";
|
|
4611
|
-
var boxVariants =
|
|
4357
|
+
var boxVariants = cva18("flex", {
|
|
4612
4358
|
variants: {
|
|
4613
4359
|
direction: {
|
|
4614
4360
|
row: "flex-row",
|
|
@@ -4644,7 +4390,7 @@ var boxVariants = cva20("flex", {
|
|
|
4644
4390
|
wrap: "nowrap"
|
|
4645
4391
|
}
|
|
4646
4392
|
});
|
|
4647
|
-
var Box =
|
|
4393
|
+
var Box = React25.forwardRef(
|
|
4648
4394
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
4649
4395
|
return useRender5({
|
|
4650
4396
|
ref,
|
|
@@ -4667,22 +4413,22 @@ var Box = React28.forwardRef(
|
|
|
4667
4413
|
Box.displayName = "Box";
|
|
4668
4414
|
|
|
4669
4415
|
// src/components/language-select/LanguageSelect.tsx
|
|
4670
|
-
import * as
|
|
4416
|
+
import * as React26 from "react";
|
|
4671
4417
|
import { Globe as Globe2 } from "lucide-react";
|
|
4672
|
-
import { jsx as
|
|
4673
|
-
var LanguageSelect =
|
|
4418
|
+
import { jsx as jsx45, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4419
|
+
var LanguageSelect = React26.forwardRef(
|
|
4674
4420
|
({ className, options, value, onValueChange }, ref) => {
|
|
4675
|
-
return /* @__PURE__ */
|
|
4676
|
-
/* @__PURE__ */
|
|
4677
|
-
/* @__PURE__ */
|
|
4678
|
-
/* @__PURE__ */
|
|
4421
|
+
return /* @__PURE__ */ jsxs24(DropdownMenu, { children: [
|
|
4422
|
+
/* @__PURE__ */ jsx45(DropdownMenuTrigger, { ref, asChild: true, children: /* @__PURE__ */ jsxs24(Button2, { variant: "outline", size: "icon", className, "aria-label": "Select language", children: [
|
|
4423
|
+
/* @__PURE__ */ jsx45("span", { className: "sr-only", children: "Select language" }),
|
|
4424
|
+
/* @__PURE__ */ jsx45(Icon, { icon: Globe2, size: 16, "aria-hidden": true })
|
|
4679
4425
|
] }) }),
|
|
4680
|
-
/* @__PURE__ */
|
|
4426
|
+
/* @__PURE__ */ jsx45(DropdownMenuContent, { align: "start", children: /* @__PURE__ */ jsx45(
|
|
4681
4427
|
DropdownMenuRadioGroup,
|
|
4682
4428
|
{
|
|
4683
4429
|
value,
|
|
4684
4430
|
onValueChange: onValueChange ? (v) => onValueChange(v) : void 0,
|
|
4685
|
-
children: options.map((option) => /* @__PURE__ */
|
|
4431
|
+
children: options.map((option) => /* @__PURE__ */ jsx45(
|
|
4686
4432
|
DropdownMenuRadioItem,
|
|
4687
4433
|
{
|
|
4688
4434
|
value: option.value,
|
|
@@ -4700,13 +4446,13 @@ var LanguageSelect = React29.forwardRef(
|
|
|
4700
4446
|
LanguageSelect.displayName = "LanguageSelect";
|
|
4701
4447
|
|
|
4702
4448
|
// src/components/list/List.tsx
|
|
4703
|
-
import * as
|
|
4449
|
+
import * as React28 from "react";
|
|
4704
4450
|
|
|
4705
4451
|
// src/components/divider/Divider.tsx
|
|
4706
|
-
import * as
|
|
4707
|
-
import { cva as
|
|
4708
|
-
import { jsx as
|
|
4709
|
-
var dividerVariants =
|
|
4452
|
+
import * as React27 from "react";
|
|
4453
|
+
import { cva as cva19 } from "class-variance-authority";
|
|
4454
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
4455
|
+
var dividerVariants = cva19("", {
|
|
4710
4456
|
variants: {
|
|
4711
4457
|
variant: {
|
|
4712
4458
|
default: "bg-berget-separator",
|
|
@@ -4726,7 +4472,7 @@ var dividerVariants = cva21("", {
|
|
|
4726
4472
|
size: "thin"
|
|
4727
4473
|
}
|
|
4728
4474
|
});
|
|
4729
|
-
var Divider =
|
|
4475
|
+
var Divider = React27.forwardRef(
|
|
4730
4476
|
({
|
|
4731
4477
|
className,
|
|
4732
4478
|
orientation = "horizontal",
|
|
@@ -4737,16 +4483,16 @@ var Divider = React30.forwardRef(
|
|
|
4737
4483
|
...props
|
|
4738
4484
|
}, ref) => {
|
|
4739
4485
|
if (label) {
|
|
4740
|
-
return /* @__PURE__ */
|
|
4741
|
-
labelPosition !== "right" && /* @__PURE__ */
|
|
4486
|
+
return /* @__PURE__ */ jsxs25("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
4487
|
+
labelPosition !== "right" && /* @__PURE__ */ jsx46(
|
|
4742
4488
|
Separator,
|
|
4743
4489
|
{
|
|
4744
4490
|
orientation: "horizontal",
|
|
4745
4491
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
4746
4492
|
}
|
|
4747
4493
|
),
|
|
4748
|
-
/* @__PURE__ */
|
|
4749
|
-
labelPosition !== "left" && /* @__PURE__ */
|
|
4494
|
+
/* @__PURE__ */ jsx46(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
4495
|
+
labelPosition !== "left" && /* @__PURE__ */ jsx46(
|
|
4750
4496
|
Separator,
|
|
4751
4497
|
{
|
|
4752
4498
|
orientation: "horizontal",
|
|
@@ -4755,7 +4501,7 @@ var Divider = React30.forwardRef(
|
|
|
4755
4501
|
)
|
|
4756
4502
|
] });
|
|
4757
4503
|
}
|
|
4758
|
-
return /* @__PURE__ */
|
|
4504
|
+
return /* @__PURE__ */ jsx46(
|
|
4759
4505
|
Separator,
|
|
4760
4506
|
{
|
|
4761
4507
|
ref,
|
|
@@ -4773,19 +4519,19 @@ Divider.displayName = "Divider";
|
|
|
4773
4519
|
|
|
4774
4520
|
// src/components/list/List.tsx
|
|
4775
4521
|
import { Check as Check3 } from "lucide-react";
|
|
4776
|
-
import { jsx as
|
|
4777
|
-
var List =
|
|
4522
|
+
import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
4523
|
+
var List = React28.forwardRef(
|
|
4778
4524
|
({ className, children, ...props }, ref) => {
|
|
4779
|
-
const childrenArray =
|
|
4780
|
-
return /* @__PURE__ */
|
|
4525
|
+
const childrenArray = React28.Children.toArray(children);
|
|
4526
|
+
return /* @__PURE__ */ jsx47("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs26(React28.Fragment, { children: [
|
|
4781
4527
|
child,
|
|
4782
|
-
index < childrenArray.length - 1 && /* @__PURE__ */
|
|
4528
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ jsx47(Divider, { variant: "subtle" })
|
|
4783
4529
|
] }, index)) });
|
|
4784
4530
|
}
|
|
4785
4531
|
);
|
|
4786
4532
|
List.displayName = "List";
|
|
4787
|
-
var ListItem =
|
|
4788
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */
|
|
4533
|
+
var ListItem = React28.forwardRef(
|
|
4534
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ jsxs26(
|
|
4789
4535
|
"div",
|
|
4790
4536
|
{
|
|
4791
4537
|
ref,
|
|
@@ -4796,15 +4542,15 @@ var ListItem = React31.forwardRef(
|
|
|
4796
4542
|
),
|
|
4797
4543
|
...props,
|
|
4798
4544
|
children: [
|
|
4799
|
-
icon && /* @__PURE__ */
|
|
4800
|
-
/* @__PURE__ */
|
|
4545
|
+
icon && /* @__PURE__ */ jsx47("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
4546
|
+
/* @__PURE__ */ jsx47("div", { className: "flex-1 min-w-0", children })
|
|
4801
4547
|
]
|
|
4802
4548
|
}
|
|
4803
4549
|
)
|
|
4804
4550
|
);
|
|
4805
4551
|
ListItem.displayName = "ListItem";
|
|
4806
|
-
var ListHeader =
|
|
4807
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */
|
|
4552
|
+
var ListHeader = React28.forwardRef(
|
|
4553
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx47(
|
|
4808
4554
|
"div",
|
|
4809
4555
|
{
|
|
4810
4556
|
ref,
|
|
@@ -4815,11 +4561,11 @@ var ListHeader = React31.forwardRef(
|
|
|
4815
4561
|
)
|
|
4816
4562
|
);
|
|
4817
4563
|
ListHeader.displayName = "ListHeader";
|
|
4818
|
-
var FeatureList =
|
|
4564
|
+
var FeatureList = React28.forwardRef(
|
|
4819
4565
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
4820
|
-
return /* @__PURE__ */
|
|
4821
|
-
variant === "bullet" ? /* @__PURE__ */
|
|
4822
|
-
/* @__PURE__ */
|
|
4566
|
+
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: [
|
|
4567
|
+
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" }) }),
|
|
4568
|
+
/* @__PURE__ */ jsx47(Typography, { variant: "body", color: "muted", children: item })
|
|
4823
4569
|
] }, index)) });
|
|
4824
4570
|
}
|
|
4825
4571
|
);
|
|
@@ -4828,7 +4574,7 @@ FeatureList.displayName = "FeatureList";
|
|
|
4828
4574
|
// src/components/code-block/CodeBlock.tsx
|
|
4829
4575
|
import { useState as useState5, useEffect as useEffect4, useCallback as useCallback4 } from "react";
|
|
4830
4576
|
import { Copy, Check as Check4 } from "lucide-react";
|
|
4831
|
-
import { jsx as
|
|
4577
|
+
import { jsx as jsx48, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4832
4578
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
4833
4579
|
const [html, setHtml] = useState5(null);
|
|
4834
4580
|
const [copied, setCopied] = useState5(false);
|
|
@@ -4844,16 +4590,16 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4844
4590
|
setCopied(true);
|
|
4845
4591
|
setTimeout(() => setCopied(false), 2e3);
|
|
4846
4592
|
}, [code]);
|
|
4847
|
-
const copyButton = /* @__PURE__ */
|
|
4593
|
+
const copyButton = /* @__PURE__ */ jsx48(
|
|
4848
4594
|
"button",
|
|
4849
4595
|
{
|
|
4850
4596
|
onClick: handleCopy,
|
|
4851
4597
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
4852
4598
|
"aria-label": "Copy code",
|
|
4853
|
-
children: copied ? /* @__PURE__ */
|
|
4599
|
+
children: copied ? /* @__PURE__ */ jsx48(Check4, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ jsx48(Copy, { className: "w-3.5 h-3.5" })
|
|
4854
4600
|
}
|
|
4855
4601
|
);
|
|
4856
|
-
return /* @__PURE__ */
|
|
4602
|
+
return /* @__PURE__ */ jsxs27(
|
|
4857
4603
|
"div",
|
|
4858
4604
|
{
|
|
4859
4605
|
className: cn(
|
|
@@ -4861,25 +4607,25 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
4861
4607
|
className
|
|
4862
4608
|
),
|
|
4863
4609
|
children: [
|
|
4864
|
-
title && /* @__PURE__ */
|
|
4865
|
-
/* @__PURE__ */
|
|
4866
|
-
html ? /* @__PURE__ */
|
|
4610
|
+
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 }) }),
|
|
4611
|
+
/* @__PURE__ */ jsx48("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
4612
|
+
html ? /* @__PURE__ */ jsx48(
|
|
4867
4613
|
"div",
|
|
4868
4614
|
{
|
|
4869
4615
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
4870
4616
|
dangerouslySetInnerHTML: { __html: html }
|
|
4871
4617
|
}
|
|
4872
|
-
) : /* @__PURE__ */
|
|
4618
|
+
) : /* @__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
4619
|
]
|
|
4874
4620
|
}
|
|
4875
4621
|
);
|
|
4876
4622
|
}
|
|
4877
4623
|
|
|
4878
4624
|
// src/components/window-frame/WindowFrame.tsx
|
|
4879
|
-
import * as
|
|
4625
|
+
import * as React29 from "react";
|
|
4880
4626
|
import { useState as useState6 } from "react";
|
|
4881
|
-
import { jsx as
|
|
4882
|
-
var WindowFrame =
|
|
4627
|
+
import { jsx as jsx49, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4628
|
+
var WindowFrame = React29.forwardRef(
|
|
4883
4629
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
4884
4630
|
const [internalActive, setInternalActive] = useState6(tabs?.[0]?.id ?? "");
|
|
4885
4631
|
const currentTab = activeTab ?? internalActive;
|
|
@@ -4890,7 +4636,7 @@ var WindowFrame = React32.forwardRef(
|
|
|
4890
4636
|
setInternalActive(id);
|
|
4891
4637
|
}
|
|
4892
4638
|
};
|
|
4893
|
-
return /* @__PURE__ */
|
|
4639
|
+
return /* @__PURE__ */ jsxs28(
|
|
4894
4640
|
"div",
|
|
4895
4641
|
{
|
|
4896
4642
|
ref,
|
|
@@ -4900,13 +4646,13 @@ var WindowFrame = React32.forwardRef(
|
|
|
4900
4646
|
),
|
|
4901
4647
|
...props,
|
|
4902
4648
|
children: [
|
|
4903
|
-
/* @__PURE__ */
|
|
4904
|
-
/* @__PURE__ */
|
|
4905
|
-
/* @__PURE__ */
|
|
4906
|
-
/* @__PURE__ */
|
|
4907
|
-
/* @__PURE__ */
|
|
4649
|
+
/* @__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: [
|
|
4650
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
4651
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
|
|
4652
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
|
|
4653
|
+
/* @__PURE__ */ jsx49("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
|
|
4908
4654
|
] }),
|
|
4909
|
-
tabs && tabs.length > 0 ? /* @__PURE__ */
|
|
4655
|
+
tabs && tabs.length > 0 ? /* @__PURE__ */ jsx49("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ jsx49(
|
|
4910
4656
|
"button",
|
|
4911
4657
|
{
|
|
4912
4658
|
type: "button",
|
|
@@ -4918,9 +4664,9 @@ var WindowFrame = React32.forwardRef(
|
|
|
4918
4664
|
children: tab.label
|
|
4919
4665
|
},
|
|
4920
4666
|
tab.id
|
|
4921
|
-
)) }) : /* @__PURE__ */
|
|
4667
|
+
)) }) : /* @__PURE__ */ jsx49("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
4922
4668
|
] }),
|
|
4923
|
-
/* @__PURE__ */
|
|
4669
|
+
/* @__PURE__ */ jsx49("div", { children })
|
|
4924
4670
|
]
|
|
4925
4671
|
}
|
|
4926
4672
|
);
|
|
@@ -4930,7 +4676,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
4930
4676
|
|
|
4931
4677
|
// src/components/fog-illustration/FogIllustration.tsx
|
|
4932
4678
|
import { useEffect as useEffect5, useRef } from "react";
|
|
4933
|
-
import { jsx as
|
|
4679
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
4934
4680
|
var FOG_BRAND_PALETTE = {
|
|
4935
4681
|
ink: "#171a1a",
|
|
4936
4682
|
milk: "#f7f5ed",
|
|
@@ -5243,7 +4989,7 @@ var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
|
5243
4989
|
gl.deleteFramebuffer(fbo);
|
|
5244
4990
|
};
|
|
5245
4991
|
}, []);
|
|
5246
|
-
return /* @__PURE__ */
|
|
4992
|
+
return /* @__PURE__ */ jsx50("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
5247
4993
|
};
|
|
5248
4994
|
export {
|
|
5249
4995
|
Alert2 as Alert,
|
|
@@ -5317,7 +5063,7 @@ export {
|
|
|
5317
5063
|
FogIllustration,
|
|
5318
5064
|
Grid,
|
|
5319
5065
|
Icon,
|
|
5320
|
-
|
|
5066
|
+
Input,
|
|
5321
5067
|
Item2 as Item,
|
|
5322
5068
|
ItemActions,
|
|
5323
5069
|
ItemContent,
|
|
@@ -5344,7 +5090,17 @@ export {
|
|
|
5344
5090
|
NavigationMenuList,
|
|
5345
5091
|
NavigationMenuPositioner,
|
|
5346
5092
|
NavigationMenuTrigger,
|
|
5347
|
-
|
|
5093
|
+
SearchInput,
|
|
5094
|
+
Select,
|
|
5095
|
+
SelectContent,
|
|
5096
|
+
SelectGroup,
|
|
5097
|
+
SelectItem,
|
|
5098
|
+
SelectLabel,
|
|
5099
|
+
SelectScrollDownButton,
|
|
5100
|
+
SelectScrollUpButton,
|
|
5101
|
+
SelectSeparator,
|
|
5102
|
+
SelectTrigger,
|
|
5103
|
+
SelectValue,
|
|
5348
5104
|
Sidebar,
|
|
5349
5105
|
SidebarContent,
|
|
5350
5106
|
SidebarFooter2 as SidebarFooter,
|
|
@@ -5379,7 +5135,7 @@ export {
|
|
|
5379
5135
|
TableHead2 as TableHead,
|
|
5380
5136
|
TableHeader2 as TableHeader,
|
|
5381
5137
|
TableRow2 as TableRow,
|
|
5382
|
-
|
|
5138
|
+
Textarea,
|
|
5383
5139
|
ThemeProvider,
|
|
5384
5140
|
ThemeToggle,
|
|
5385
5141
|
Typography,
|
|
@@ -5398,10 +5154,8 @@ export {
|
|
|
5398
5154
|
isEUCountry,
|
|
5399
5155
|
linkVariants,
|
|
5400
5156
|
navigationMenuTriggerStyle2 as navigationMenuTriggerStyle,
|
|
5401
|
-
selectVariants,
|
|
5402
5157
|
switchRootVariants,
|
|
5403
5158
|
switchThumbVariants,
|
|
5404
|
-
textAreaVariants,
|
|
5405
5159
|
typographyVariants,
|
|
5406
5160
|
useSidebar,
|
|
5407
5161
|
useTheme
|