@bergetai/ui 0.3.6 → 0.5.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 +1594 -968
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +78 -71
- package/dist/index.d.ts +78 -71
- package/dist/index.js +1590 -966
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -85,6 +85,7 @@ __export(index_exports, {
|
|
|
85
85
|
DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
|
|
86
86
|
DropdownMenuTrigger: () => DropdownMenuTrigger,
|
|
87
87
|
EU_COUNTRY_CODES: () => EU_COUNTRY_CODES,
|
|
88
|
+
FOG_BRAND_PALETTE: () => FOG_BRAND_PALETTE,
|
|
88
89
|
FeatureList: () => FeatureList,
|
|
89
90
|
Field: () => Field,
|
|
90
91
|
FieldContent: () => FieldContent,
|
|
@@ -96,6 +97,7 @@ __export(index_exports, {
|
|
|
96
97
|
FieldSeparator: () => FieldSeparator,
|
|
97
98
|
FieldSet: () => FieldSet,
|
|
98
99
|
FieldTitle: () => FieldTitle,
|
|
100
|
+
FogIllustration: () => FogIllustration,
|
|
99
101
|
Grid: () => Grid,
|
|
100
102
|
HeroBlock: () => HeroBlock,
|
|
101
103
|
Icon: () => Icon,
|
|
@@ -122,8 +124,8 @@ __export(index_exports, {
|
|
|
122
124
|
NavigationMenuItem: () => NavigationMenuItem,
|
|
123
125
|
NavigationMenuLink: () => NavigationMenuLink,
|
|
124
126
|
NavigationMenuList: () => NavigationMenuList,
|
|
127
|
+
NavigationMenuPositioner: () => NavigationMenuPositioner,
|
|
125
128
|
NavigationMenuTrigger: () => NavigationMenuTrigger,
|
|
126
|
-
NavigationMenuViewport: () => NavigationMenuViewport,
|
|
127
129
|
Select: () => Select2,
|
|
128
130
|
Switch: () => Switch,
|
|
129
131
|
Table: () => Table2,
|
|
@@ -151,7 +153,7 @@ __export(index_exports, {
|
|
|
151
153
|
gridVariants: () => gridVariants,
|
|
152
154
|
isEUCountry: () => isEUCountry,
|
|
153
155
|
linkVariants: () => linkVariants,
|
|
154
|
-
navigationMenuTriggerStyle: () =>
|
|
156
|
+
navigationMenuTriggerStyle: () => navigationMenuTriggerStyle2,
|
|
155
157
|
selectVariants: () => selectVariants,
|
|
156
158
|
switchRootVariants: () => switchRootVariants,
|
|
157
159
|
switchThumbVariants: () => switchThumbVariants,
|
|
@@ -361,31 +363,31 @@ var ThemeToggle = React3.forwardRef(
|
|
|
361
363
|
ThemeToggle.displayName = "ThemeToggle";
|
|
362
364
|
|
|
363
365
|
// src/primitives/button.tsx
|
|
364
|
-
var React4 = __toESM(require("react"), 1);
|
|
365
|
-
var import_class_variance_authority = require("class-variance-authority");
|
|
366
366
|
var import_button = require("@base-ui/react/button");
|
|
367
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
368
|
+
var import_cn = require("cn");
|
|
367
369
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
368
370
|
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
369
|
-
"inline-flex shrink-0
|
|
371
|
+
"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 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",
|
|
370
372
|
{
|
|
371
373
|
variants: {
|
|
372
374
|
variant: {
|
|
373
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
375
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
376
|
+
outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
377
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
378
|
+
ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
|
|
379
|
+
destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
|
|
378
380
|
link: "text-primary underline-offset-4 hover:underline"
|
|
379
381
|
},
|
|
380
382
|
size: {
|
|
381
|
-
default: "h-
|
|
382
|
-
xs: "h-6 gap-1 rounded-md px-2 text-xs has-[
|
|
383
|
-
sm: "h-
|
|
384
|
-
lg: "h-
|
|
385
|
-
icon: "size-
|
|
386
|
-
"icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
|
|
387
|
-
"icon-sm": "size-
|
|
388
|
-
"icon-lg": "size-
|
|
383
|
+
default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
384
|
+
xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
385
|
+
sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
386
|
+
lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
|
|
387
|
+
icon: "size-8",
|
|
388
|
+
"icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
|
|
389
|
+
"icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
|
|
390
|
+
"icon-lg": "size-9"
|
|
389
391
|
}
|
|
390
392
|
},
|
|
391
393
|
defaultVariants: {
|
|
@@ -394,22 +396,21 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
394
396
|
}
|
|
395
397
|
}
|
|
396
398
|
);
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
Button.displayName = "Button";
|
|
399
|
+
function Button({
|
|
400
|
+
className,
|
|
401
|
+
variant = "default",
|
|
402
|
+
size = "default",
|
|
403
|
+
...props
|
|
404
|
+
}) {
|
|
405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
406
|
+
import_button.Button,
|
|
407
|
+
{
|
|
408
|
+
"data-slot": "button",
|
|
409
|
+
className: (0, import_cn.cn)(buttonVariants({ variant, size, className })),
|
|
410
|
+
...props
|
|
411
|
+
}
|
|
412
|
+
);
|
|
413
|
+
}
|
|
413
414
|
|
|
414
415
|
// src/components/button/Button.tsx
|
|
415
416
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
@@ -462,11 +463,21 @@ function Button2({
|
|
|
462
463
|
className
|
|
463
464
|
);
|
|
464
465
|
const content = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: cn("inline-flex items-center", !isIcon && "gap-2"), children });
|
|
465
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
467
|
+
Button,
|
|
468
|
+
{
|
|
469
|
+
className: baseClass,
|
|
470
|
+
ref,
|
|
471
|
+
render: asChildRender(asChild, children),
|
|
472
|
+
type,
|
|
473
|
+
...props,
|
|
474
|
+
children: asChild ? void 0 : content
|
|
475
|
+
}
|
|
476
|
+
);
|
|
466
477
|
}
|
|
467
478
|
|
|
468
479
|
// src/components/typography/Typography.tsx
|
|
469
|
-
var
|
|
480
|
+
var React4 = __toESM(require("react"), 1);
|
|
470
481
|
var import_class_variance_authority2 = require("class-variance-authority");
|
|
471
482
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
472
483
|
var typographyVariants = (0, import_class_variance_authority2.cva)("", {
|
|
@@ -513,7 +524,7 @@ var defaultElementMap = {
|
|
|
513
524
|
mono: "p",
|
|
514
525
|
code: "span"
|
|
515
526
|
};
|
|
516
|
-
var Typography =
|
|
527
|
+
var Typography = React4.forwardRef(
|
|
517
528
|
({ className, variant = "body", color = "default", as, children, ...props }, ref) => {
|
|
518
529
|
const Component = as ?? defaultElementMap[variant ?? "body"] ?? "p";
|
|
519
530
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
@@ -530,43 +541,89 @@ var Typography = React5.forwardRef(
|
|
|
530
541
|
Typography.displayName = "Typography";
|
|
531
542
|
|
|
532
543
|
// src/components/card/Card.tsx
|
|
533
|
-
var
|
|
544
|
+
var React5 = __toESM(require("react"), 1);
|
|
534
545
|
var import_class_variance_authority3 = require("class-variance-authority");
|
|
535
546
|
|
|
536
547
|
// src/primitives/card.tsx
|
|
537
|
-
var
|
|
548
|
+
var import_cn2 = require("cn");
|
|
538
549
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
539
|
-
|
|
540
|
-
|
|
550
|
+
function Card({
|
|
551
|
+
className,
|
|
552
|
+
size = "default",
|
|
553
|
+
...props
|
|
554
|
+
}) {
|
|
555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
541
556
|
"div",
|
|
542
557
|
{
|
|
543
|
-
|
|
544
|
-
|
|
558
|
+
"data-slot": "card",
|
|
559
|
+
"data-size": size,
|
|
560
|
+
className: (0, import_cn2.cn)(
|
|
561
|
+
"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",
|
|
562
|
+
className
|
|
563
|
+
),
|
|
545
564
|
...props
|
|
546
565
|
}
|
|
547
|
-
)
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
);
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
566
|
+
);
|
|
567
|
+
}
|
|
568
|
+
function CardHeader({ className, ...props }) {
|
|
569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
570
|
+
"div",
|
|
571
|
+
{
|
|
572
|
+
"data-slot": "card-header",
|
|
573
|
+
className: (0, import_cn2.cn)(
|
|
574
|
+
"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",
|
|
575
|
+
className
|
|
576
|
+
),
|
|
577
|
+
...props
|
|
578
|
+
}
|
|
579
|
+
);
|
|
580
|
+
}
|
|
581
|
+
function CardTitle({ className, ...props }) {
|
|
582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
583
|
+
"div",
|
|
584
|
+
{
|
|
585
|
+
"data-slot": "card-title",
|
|
586
|
+
className: (0, import_cn2.cn)(
|
|
587
|
+
"text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",
|
|
588
|
+
className
|
|
589
|
+
),
|
|
590
|
+
...props
|
|
591
|
+
}
|
|
592
|
+
);
|
|
593
|
+
}
|
|
594
|
+
function CardDescription({ className, ...props }) {
|
|
595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
596
|
+
"div",
|
|
597
|
+
{
|
|
598
|
+
"data-slot": "card-description",
|
|
599
|
+
className: (0, import_cn2.cn)("text-sm text-muted-foreground", className),
|
|
600
|
+
...props
|
|
601
|
+
}
|
|
602
|
+
);
|
|
603
|
+
}
|
|
604
|
+
function CardContent({ className, ...props }) {
|
|
605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
606
|
+
"div",
|
|
607
|
+
{
|
|
608
|
+
"data-slot": "card-content",
|
|
609
|
+
className: (0, import_cn2.cn)("px-(--card-spacing)", className),
|
|
610
|
+
...props
|
|
611
|
+
}
|
|
612
|
+
);
|
|
613
|
+
}
|
|
614
|
+
function CardFooter({ className, ...props }) {
|
|
615
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
616
|
+
"div",
|
|
617
|
+
{
|
|
618
|
+
"data-slot": "card-footer",
|
|
619
|
+
className: (0, import_cn2.cn)(
|
|
620
|
+
"flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",
|
|
621
|
+
className
|
|
622
|
+
),
|
|
623
|
+
...props
|
|
624
|
+
}
|
|
625
|
+
);
|
|
626
|
+
}
|
|
570
627
|
|
|
571
628
|
// src/components/card/Card.tsx
|
|
572
629
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
@@ -588,7 +645,7 @@ var cardVariants = (0, import_class_variance_authority3.cva)("rounded-berget-sm"
|
|
|
588
645
|
padding: "md"
|
|
589
646
|
}
|
|
590
647
|
});
|
|
591
|
-
var Card2 =
|
|
648
|
+
var Card2 = React5.forwardRef(
|
|
592
649
|
({ className, variant, padding, children, ...props }, ref) => {
|
|
593
650
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
594
651
|
Card,
|
|
@@ -604,7 +661,7 @@ var Card2 = React7.forwardRef(
|
|
|
604
661
|
Card2.displayName = "Card";
|
|
605
662
|
|
|
606
663
|
// src/components/badge/Badge.tsx
|
|
607
|
-
var
|
|
664
|
+
var React6 = __toESM(require("react"), 1);
|
|
608
665
|
var import_class_variance_authority4 = require("class-variance-authority");
|
|
609
666
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
610
667
|
var badgeVariants = (0, import_class_variance_authority4.cva)(
|
|
@@ -639,7 +696,7 @@ var badgeVariants = (0, import_class_variance_authority4.cva)(
|
|
|
639
696
|
}
|
|
640
697
|
}
|
|
641
698
|
);
|
|
642
|
-
var Badge =
|
|
699
|
+
var Badge = React6.forwardRef(
|
|
643
700
|
({ className, variant, status, size, icon, iconGap = 2, children, ...props }, ref) => {
|
|
644
701
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: cn(badgeVariants({ variant, status, size }), className), ref, ...props, children: [
|
|
645
702
|
icon && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: { marginRight: children ? `${iconGap * 0.25}rem` : "0" }, children: icon }),
|
|
@@ -650,20 +707,20 @@ var Badge = React8.forwardRef(
|
|
|
650
707
|
Badge.displayName = "Badge";
|
|
651
708
|
|
|
652
709
|
// src/components/alert/Alert.tsx
|
|
653
|
-
var
|
|
710
|
+
var React7 = __toESM(require("react"), 1);
|
|
654
711
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
655
712
|
|
|
656
713
|
// src/primitives/alert.tsx
|
|
657
|
-
var React9 = __toESM(require("react"), 1);
|
|
658
714
|
var import_class_variance_authority5 = require("class-variance-authority");
|
|
715
|
+
var import_cn3 = require("cn");
|
|
659
716
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
660
717
|
var alertVariants = (0, import_class_variance_authority5.cva)(
|
|
661
|
-
"relative w-full rounded-lg
|
|
718
|
+
"group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",
|
|
662
719
|
{
|
|
663
720
|
variants: {
|
|
664
721
|
variant: {
|
|
665
|
-
default: "",
|
|
666
|
-
destructive: ""
|
|
722
|
+
default: "bg-card text-card-foreground",
|
|
723
|
+
destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
|
|
667
724
|
}
|
|
668
725
|
},
|
|
669
726
|
defaultVariants: {
|
|
@@ -671,14 +728,50 @@ var alertVariants = (0, import_class_variance_authority5.cva)(
|
|
|
671
728
|
}
|
|
672
729
|
}
|
|
673
730
|
);
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
)
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
731
|
+
function Alert({
|
|
732
|
+
className,
|
|
733
|
+
variant,
|
|
734
|
+
...props
|
|
735
|
+
}) {
|
|
736
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
737
|
+
"div",
|
|
738
|
+
{
|
|
739
|
+
"data-slot": "alert",
|
|
740
|
+
role: "alert",
|
|
741
|
+
className: (0, import_cn3.cn)(alertVariants({ variant }), className),
|
|
742
|
+
...props
|
|
743
|
+
}
|
|
744
|
+
);
|
|
745
|
+
}
|
|
746
|
+
function AlertTitle({ className, ...props }) {
|
|
747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
748
|
+
"div",
|
|
749
|
+
{
|
|
750
|
+
"data-slot": "alert-title",
|
|
751
|
+
className: (0, import_cn3.cn)(
|
|
752
|
+
"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",
|
|
753
|
+
className
|
|
754
|
+
),
|
|
755
|
+
...props
|
|
756
|
+
}
|
|
757
|
+
);
|
|
758
|
+
}
|
|
759
|
+
function AlertDescription({
|
|
760
|
+
className,
|
|
761
|
+
...props
|
|
762
|
+
}) {
|
|
763
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
764
|
+
"div",
|
|
765
|
+
{
|
|
766
|
+
"data-slot": "alert-description",
|
|
767
|
+
className: (0, import_cn3.cn)(
|
|
768
|
+
"text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
|
|
769
|
+
className
|
|
770
|
+
),
|
|
771
|
+
...props
|
|
772
|
+
}
|
|
773
|
+
);
|
|
774
|
+
}
|
|
682
775
|
|
|
683
776
|
// src/components/alert/Alert.tsx
|
|
684
777
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
@@ -696,24 +789,24 @@ var alertVariants2 = (0, import_class_variance_authority6.cva)("", {
|
|
|
696
789
|
variant: "default"
|
|
697
790
|
}
|
|
698
791
|
});
|
|
699
|
-
var Alert2 =
|
|
792
|
+
var Alert2 = React7.forwardRef(
|
|
700
793
|
({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Alert, { ref, className: cn(alertVariants2({ variant }), className), ...props })
|
|
701
794
|
);
|
|
702
795
|
Alert2.displayName = "Alert";
|
|
703
796
|
|
|
704
797
|
// src/components/dialog/Dialog.tsx
|
|
705
|
-
var
|
|
798
|
+
var React8 = __toESM(require("react"), 1);
|
|
706
799
|
var import_dialog = require("@base-ui/react/dialog");
|
|
707
800
|
var import_lucide_react = require("lucide-react");
|
|
708
801
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
709
802
|
var Dialog = import_dialog.Dialog.Root;
|
|
710
|
-
var DialogTrigger =
|
|
803
|
+
var DialogTrigger = React8.forwardRef(
|
|
711
804
|
({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_dialog.Dialog.Trigger, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
|
|
712
805
|
);
|
|
713
806
|
DialogTrigger.displayName = "DialogTrigger";
|
|
714
807
|
var DialogPortal = import_dialog.Dialog.Portal;
|
|
715
808
|
var DialogClose = import_dialog.Dialog.Close;
|
|
716
|
-
var DialogOverlay =
|
|
809
|
+
var DialogOverlay = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
717
810
|
import_dialog.Dialog.Backdrop,
|
|
718
811
|
{
|
|
719
812
|
ref,
|
|
@@ -725,7 +818,7 @@ var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
725
818
|
}
|
|
726
819
|
));
|
|
727
820
|
DialogOverlay.displayName = "DialogOverlay";
|
|
728
|
-
var DialogContent =
|
|
821
|
+
var DialogContent = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DialogPortal, { children: [
|
|
729
822
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DialogOverlay, {}),
|
|
730
823
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
731
824
|
import_dialog.Dialog.Popup,
|
|
@@ -757,7 +850,7 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_r
|
|
|
757
850
|
}
|
|
758
851
|
);
|
|
759
852
|
DialogFooter.displayName = "DialogFooter";
|
|
760
|
-
var DialogTitle =
|
|
853
|
+
var DialogTitle = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
761
854
|
import_dialog.Dialog.Title,
|
|
762
855
|
{
|
|
763
856
|
ref,
|
|
@@ -767,7 +860,7 @@ var DialogTitle = React11.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
767
860
|
}
|
|
768
861
|
));
|
|
769
862
|
DialogTitle.displayName = "DialogTitle";
|
|
770
|
-
var DialogDescription =
|
|
863
|
+
var DialogDescription = React8.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
771
864
|
import_dialog.Dialog.Description,
|
|
772
865
|
{
|
|
773
866
|
ref,
|
|
@@ -779,16 +872,16 @@ var DialogDescription = React11.forwardRef(({ className, children, ...props }, r
|
|
|
779
872
|
DialogDescription.displayName = "DialogDescription";
|
|
780
873
|
|
|
781
874
|
// src/components/alert-dialog/AlertDialog.tsx
|
|
782
|
-
var
|
|
875
|
+
var React9 = __toESM(require("react"), 1);
|
|
783
876
|
var import_alert_dialog = require("@base-ui/react/alert-dialog");
|
|
784
877
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
785
878
|
var AlertDialog = import_alert_dialog.AlertDialog.Root;
|
|
786
|
-
var AlertDialogTrigger =
|
|
879
|
+
var AlertDialogTrigger = React9.forwardRef(
|
|
787
880
|
({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_alert_dialog.AlertDialog.Trigger, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
|
|
788
881
|
);
|
|
789
882
|
AlertDialogTrigger.displayName = "AlertDialogTrigger";
|
|
790
883
|
var AlertDialogPortal = import_alert_dialog.AlertDialog.Portal;
|
|
791
|
-
var AlertDialogOverlay =
|
|
884
|
+
var AlertDialogOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
792
885
|
import_alert_dialog.AlertDialog.Backdrop,
|
|
793
886
|
{
|
|
794
887
|
ref,
|
|
@@ -800,7 +893,7 @@ var AlertDialogOverlay = React12.forwardRef(({ className, ...props }, ref) => /*
|
|
|
800
893
|
}
|
|
801
894
|
));
|
|
802
895
|
AlertDialogOverlay.displayName = "AlertDialogOverlay";
|
|
803
|
-
var AlertDialogContent =
|
|
896
|
+
var AlertDialogContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialogPortal, { children: [
|
|
804
897
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AlertDialogOverlay, {}),
|
|
805
898
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
806
899
|
import_alert_dialog.AlertDialog.Popup,
|
|
@@ -825,7 +918,7 @@ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_
|
|
|
825
918
|
}
|
|
826
919
|
);
|
|
827
920
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
828
|
-
var AlertDialogTitle =
|
|
921
|
+
var AlertDialogTitle = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
829
922
|
import_alert_dialog.AlertDialog.Title,
|
|
830
923
|
{
|
|
831
924
|
ref,
|
|
@@ -835,7 +928,7 @@ var AlertDialogTitle = React12.forwardRef(({ className, children, ...props }, re
|
|
|
835
928
|
}
|
|
836
929
|
));
|
|
837
930
|
AlertDialogTitle.displayName = "AlertDialogTitle";
|
|
838
|
-
var AlertDialogDescription =
|
|
931
|
+
var AlertDialogDescription = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
839
932
|
import_alert_dialog.AlertDialog.Description,
|
|
840
933
|
{
|
|
841
934
|
ref,
|
|
@@ -845,7 +938,7 @@ var AlertDialogDescription = React12.forwardRef(({ className, children, ...props
|
|
|
845
938
|
}
|
|
846
939
|
));
|
|
847
940
|
AlertDialogDescription.displayName = "AlertDialogDescription";
|
|
848
|
-
var AlertDialogAction =
|
|
941
|
+
var AlertDialogAction = React9.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
849
942
|
import_alert_dialog.AlertDialog.Close,
|
|
850
943
|
{
|
|
851
944
|
ref,
|
|
@@ -856,7 +949,7 @@ var AlertDialogAction = React12.forwardRef(({ className, asChild, children, ...p
|
|
|
856
949
|
}
|
|
857
950
|
));
|
|
858
951
|
AlertDialogAction.displayName = "AlertDialogAction";
|
|
859
|
-
var AlertDialogCancel =
|
|
952
|
+
var AlertDialogCancel = React9.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
860
953
|
import_alert_dialog.AlertDialog.Close,
|
|
861
954
|
{
|
|
862
955
|
ref,
|
|
@@ -869,12 +962,12 @@ var AlertDialogCancel = React12.forwardRef(({ className, asChild, children, ...p
|
|
|
869
962
|
AlertDialogCancel.displayName = "AlertDialogCancel";
|
|
870
963
|
|
|
871
964
|
// src/components/dropdown-menu/DropdownMenu.tsx
|
|
872
|
-
var
|
|
965
|
+
var React10 = __toESM(require("react"), 1);
|
|
873
966
|
var import_menu = require("@base-ui/react/menu");
|
|
874
967
|
var import_lucide_react2 = require("lucide-react");
|
|
875
968
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
876
969
|
var DropdownMenu = import_menu.Menu.Root;
|
|
877
|
-
var DropdownMenuTrigger =
|
|
970
|
+
var DropdownMenuTrigger = React10.forwardRef(
|
|
878
971
|
({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_menu.Menu.Trigger, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
|
|
879
972
|
);
|
|
880
973
|
DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
|
|
@@ -882,7 +975,7 @@ var DropdownMenuGroup = import_menu.Menu.Group;
|
|
|
882
975
|
var DropdownMenuPortal = import_menu.Menu.Portal;
|
|
883
976
|
var DropdownMenuSub = import_menu.Menu.SubmenuRoot;
|
|
884
977
|
var DropdownMenuRadioGroup = import_menu.Menu.RadioGroup;
|
|
885
|
-
var DropdownMenuSubTrigger =
|
|
978
|
+
var DropdownMenuSubTrigger = React10.forwardRef(({ className, inset, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
886
979
|
import_menu.Menu.SubmenuTrigger,
|
|
887
980
|
{
|
|
888
981
|
ref,
|
|
@@ -900,7 +993,7 @@ var DropdownMenuSubTrigger = React13.forwardRef(({ className, inset, asChild, ch
|
|
|
900
993
|
}
|
|
901
994
|
));
|
|
902
995
|
DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
|
|
903
|
-
var DropdownMenuSubContent =
|
|
996
|
+
var DropdownMenuSubContent = React10.forwardRef(
|
|
904
997
|
({ className, side = "right", align = "start", alignOffset = -3, sideOffset = 0, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
905
998
|
import_menu.Menu.Positioner,
|
|
906
999
|
{
|
|
@@ -924,7 +1017,7 @@ var DropdownMenuSubContent = React13.forwardRef(
|
|
|
924
1017
|
) })
|
|
925
1018
|
);
|
|
926
1019
|
DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
|
|
927
|
-
var DropdownMenuContent =
|
|
1020
|
+
var DropdownMenuContent = React10.forwardRef(({ className, sideOffset = 4, align = "center", side, alignOffset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_menu.Menu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
928
1021
|
import_menu.Menu.Positioner,
|
|
929
1022
|
{
|
|
930
1023
|
side,
|
|
@@ -946,7 +1039,7 @@ var DropdownMenuContent = React13.forwardRef(({ className, sideOffset = 4, align
|
|
|
946
1039
|
}
|
|
947
1040
|
) }));
|
|
948
1041
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
949
|
-
var DropdownMenuItem =
|
|
1042
|
+
var DropdownMenuItem = React10.forwardRef(({ className, inset, asChild, children, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
950
1043
|
import_menu.Menu.Item,
|
|
951
1044
|
{
|
|
952
1045
|
ref,
|
|
@@ -962,7 +1055,7 @@ var DropdownMenuItem = React13.forwardRef(({ className, inset, asChild, children
|
|
|
962
1055
|
}
|
|
963
1056
|
));
|
|
964
1057
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
965
|
-
var DropdownMenuCheckboxItem =
|
|
1058
|
+
var DropdownMenuCheckboxItem = React10.forwardRef(({ className, children, asChild, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
966
1059
|
import_menu.Menu.CheckboxItem,
|
|
967
1060
|
{
|
|
968
1061
|
ref,
|
|
@@ -980,7 +1073,7 @@ var DropdownMenuCheckboxItem = React13.forwardRef(({ className, children, asChil
|
|
|
980
1073
|
}
|
|
981
1074
|
));
|
|
982
1075
|
DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
|
|
983
|
-
var DropdownMenuRadioItem =
|
|
1076
|
+
var DropdownMenuRadioItem = React10.forwardRef(({ className, children, asChild, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
984
1077
|
import_menu.Menu.RadioItem,
|
|
985
1078
|
{
|
|
986
1079
|
ref,
|
|
@@ -998,7 +1091,7 @@ var DropdownMenuRadioItem = React13.forwardRef(({ className, children, asChild,
|
|
|
998
1091
|
}
|
|
999
1092
|
));
|
|
1000
1093
|
DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
|
|
1001
|
-
var DropdownMenuLabel =
|
|
1094
|
+
var DropdownMenuLabel = React10.forwardRef(({ className, inset, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1002
1095
|
import_menu.Menu.GroupLabel,
|
|
1003
1096
|
{
|
|
1004
1097
|
ref,
|
|
@@ -1013,7 +1106,7 @@ var DropdownMenuLabel = React13.forwardRef(({ className, inset, asChild, childre
|
|
|
1013
1106
|
}
|
|
1014
1107
|
));
|
|
1015
1108
|
DropdownMenuLabel.displayName = "DropdownMenuLabel";
|
|
1016
|
-
var DropdownMenuSeparator =
|
|
1109
|
+
var DropdownMenuSeparator = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1017
1110
|
import_menu.Menu.Separator,
|
|
1018
1111
|
{
|
|
1019
1112
|
ref,
|
|
@@ -1034,180 +1127,288 @@ var DropdownMenuShortcut = ({ className, ...props }) => {
|
|
|
1034
1127
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
1035
1128
|
|
|
1036
1129
|
// src/components/navigation-menu/NavigationMenu.tsx
|
|
1037
|
-
var
|
|
1130
|
+
var import_navigation_menu2 = require("@base-ui/react/navigation-menu");
|
|
1131
|
+
var import_class_variance_authority8 = require("class-variance-authority");
|
|
1132
|
+
var import_lucide_react4 = require("lucide-react");
|
|
1133
|
+
|
|
1134
|
+
// src/primitives/navigation-menu.tsx
|
|
1038
1135
|
var import_navigation_menu = require("@base-ui/react/navigation-menu");
|
|
1039
1136
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
1137
|
+
var import_cn4 = require("cn");
|
|
1040
1138
|
var import_lucide_react3 = require("lucide-react");
|
|
1041
1139
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
)
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
)
|
|
1063
|
-
|
|
1064
|
-
|
|
1140
|
+
function NavigationMenuList({
|
|
1141
|
+
className,
|
|
1142
|
+
...props
|
|
1143
|
+
}) {
|
|
1144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1145
|
+
import_navigation_menu.NavigationMenu.List,
|
|
1146
|
+
{
|
|
1147
|
+
"data-slot": "navigation-menu-list",
|
|
1148
|
+
className: (0, import_cn4.cn)(
|
|
1149
|
+
"group flex flex-1 list-none items-center justify-center gap-0",
|
|
1150
|
+
className
|
|
1151
|
+
),
|
|
1152
|
+
...props
|
|
1153
|
+
}
|
|
1154
|
+
);
|
|
1155
|
+
}
|
|
1156
|
+
function NavigationMenuItem({
|
|
1157
|
+
className,
|
|
1158
|
+
...props
|
|
1159
|
+
}) {
|
|
1160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1161
|
+
import_navigation_menu.NavigationMenu.Item,
|
|
1162
|
+
{
|
|
1163
|
+
"data-slot": "navigation-menu-item",
|
|
1164
|
+
className: (0, import_cn4.cn)("relative", className),
|
|
1165
|
+
...props
|
|
1166
|
+
}
|
|
1167
|
+
);
|
|
1168
|
+
}
|
|
1065
1169
|
var navigationMenuTriggerStyle = (0, import_class_variance_authority7.cva)(
|
|
1066
|
-
"group inline-flex h-
|
|
1170
|
+
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted"
|
|
1067
1171
|
);
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
)
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
)
|
|
1100
|
-
|
|
1101
|
-
var NavigationMenuLink = React14.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1102
|
-
import_navigation_menu.NavigationMenu.Link,
|
|
1103
|
-
{
|
|
1104
|
-
ref,
|
|
1105
|
-
className,
|
|
1106
|
-
render: asChildRender(asChild, children),
|
|
1107
|
-
...props,
|
|
1108
|
-
children: asChild ? void 0 : children
|
|
1109
|
-
}
|
|
1110
|
-
));
|
|
1111
|
-
NavigationMenuLink.displayName = "NavigationMenuLink";
|
|
1112
|
-
var NavigationMenuViewport = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_navigation_menu.NavigationMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_navigation_menu.NavigationMenu.Positioner, { className: "isolate z-50 outline-none", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1113
|
-
import_navigation_menu.NavigationMenu.Popup,
|
|
1114
|
-
{
|
|
1115
|
-
ref,
|
|
1116
|
-
className: cn(
|
|
1117
|
-
"origin-top-center relative mt-1.5 h-[var(--popup-height)] w-full overflow-hidden rounded-berget-xs border border-berget-border bg-berget-popover text-berget-popover-foreground shadow-berget-lg transition-[opacity,transform] data-starting-style:opacity-0 data-starting-style:scale-90 data-ending-style:opacity-0 data-ending-style:scale-90 md:w-[var(--popup-width)]",
|
|
1118
|
-
className
|
|
1119
|
-
),
|
|
1120
|
-
...props,
|
|
1121
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_navigation_menu.NavigationMenu.Viewport, {})
|
|
1122
|
-
}
|
|
1123
|
-
) }) }));
|
|
1124
|
-
NavigationMenuViewport.displayName = "NavigationMenuViewport";
|
|
1125
|
-
var NavigationMenuIndicator = React14.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1126
|
-
import_navigation_menu.NavigationMenu.Icon,
|
|
1127
|
-
{
|
|
1128
|
-
ref,
|
|
1129
|
-
className: cn(
|
|
1130
|
-
"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden transition-[opacity] data-starting-style:opacity-0 data-ending-style:opacity-0",
|
|
1131
|
-
className
|
|
1132
|
-
),
|
|
1133
|
-
render: asChildRender(asChild, children),
|
|
1134
|
-
...props,
|
|
1135
|
-
children: [
|
|
1136
|
-
asChild ? void 0 : children,
|
|
1137
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "relative top-[60%] size-2 rotate-45 rounded-tl-sm bg-berget-border shadow-md" })
|
|
1138
|
-
]
|
|
1139
|
-
}
|
|
1140
|
-
));
|
|
1141
|
-
NavigationMenuIndicator.displayName = "NavigationMenuIndicator";
|
|
1142
|
-
|
|
1143
|
-
// src/components/table/Table.tsx
|
|
1144
|
-
var React16 = __toESM(require("react"), 1);
|
|
1172
|
+
function NavigationMenuContent({
|
|
1173
|
+
className,
|
|
1174
|
+
...props
|
|
1175
|
+
}) {
|
|
1176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1177
|
+
import_navigation_menu.NavigationMenu.Content,
|
|
1178
|
+
{
|
|
1179
|
+
"data-slot": "navigation-menu-content",
|
|
1180
|
+
className: (0, import_cn4.cn)(
|
|
1181
|
+
"data-ending-style:data-activation-direction=left:translate-x-[50%] data-ending-style:data-activation-direction=right:translate-x-[-50%] data-starting-style:data-activation-direction=left:translate-x-[-50%] data-starting-style:data-activation-direction=right:translate-x-[50%] h-full w-auto p-1 transition-[opacity,transform,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300 data-ending-style:opacity-0 data-starting-style:opacity-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95",
|
|
1182
|
+
className
|
|
1183
|
+
),
|
|
1184
|
+
...props
|
|
1185
|
+
}
|
|
1186
|
+
);
|
|
1187
|
+
}
|
|
1188
|
+
function NavigationMenuIndicator({
|
|
1189
|
+
className,
|
|
1190
|
+
...props
|
|
1191
|
+
}) {
|
|
1192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1193
|
+
import_navigation_menu.NavigationMenu.Icon,
|
|
1194
|
+
{
|
|
1195
|
+
"data-slot": "navigation-menu-indicator",
|
|
1196
|
+
className: (0, import_cn4.cn)(
|
|
1197
|
+
"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in",
|
|
1198
|
+
className
|
|
1199
|
+
),
|
|
1200
|
+
...props,
|
|
1201
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
|
|
1202
|
+
}
|
|
1203
|
+
);
|
|
1204
|
+
}
|
|
1145
1205
|
|
|
1146
|
-
// src/
|
|
1147
|
-
var React15 = __toESM(require("react"), 1);
|
|
1206
|
+
// src/components/navigation-menu/NavigationMenu.tsx
|
|
1148
1207
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1158
|
-
"tfoot",
|
|
1159
|
-
{
|
|
1160
|
-
ref,
|
|
1161
|
-
className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className),
|
|
1162
|
-
...props
|
|
1163
|
-
}
|
|
1164
|
-
));
|
|
1165
|
-
TableFooter.displayName = "TableFooter";
|
|
1166
|
-
var TableRow = React15.forwardRef(
|
|
1167
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1168
|
-
"tr",
|
|
1208
|
+
function NavigationMenu({
|
|
1209
|
+
align = "start",
|
|
1210
|
+
className,
|
|
1211
|
+
children,
|
|
1212
|
+
...props
|
|
1213
|
+
}) {
|
|
1214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1215
|
+
import_navigation_menu2.NavigationMenu.Root,
|
|
1169
1216
|
{
|
|
1170
|
-
|
|
1217
|
+
"data-slot": "navigation-menu",
|
|
1171
1218
|
className: cn(
|
|
1172
|
-
"
|
|
1219
|
+
"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
|
|
1173
1220
|
className
|
|
1174
1221
|
),
|
|
1175
|
-
...props
|
|
1222
|
+
...props,
|
|
1223
|
+
children: [
|
|
1224
|
+
children,
|
|
1225
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(NavigationMenuPositioner, { align })
|
|
1226
|
+
]
|
|
1176
1227
|
}
|
|
1177
|
-
)
|
|
1228
|
+
);
|
|
1229
|
+
}
|
|
1230
|
+
var navigationMenuTriggerStyle2 = (0, import_class_variance_authority8.cva)(
|
|
1231
|
+
"group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-berget-xs px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-berget-surface-02 focus:bg-berget-surface-02 focus-visible:ring-3 focus-visible:ring-berget-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-berget-surface-02/50 data-popup-open:hover:bg-berget-surface-02 data-open:bg-berget-surface-02/50 data-open:hover:bg-berget-surface-02 data-open:focus:bg-berget-surface-02"
|
|
1178
1232
|
);
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
)
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1233
|
+
function NavigationMenuTrigger({
|
|
1234
|
+
className,
|
|
1235
|
+
children,
|
|
1236
|
+
...props
|
|
1237
|
+
}) {
|
|
1238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1239
|
+
import_navigation_menu2.NavigationMenu.Trigger,
|
|
1240
|
+
{
|
|
1241
|
+
"data-slot": "navigation-menu-trigger",
|
|
1242
|
+
className: cn(navigationMenuTriggerStyle2(), "group", className),
|
|
1243
|
+
...props,
|
|
1244
|
+
children: [
|
|
1245
|
+
children,
|
|
1246
|
+
" ",
|
|
1247
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1248
|
+
import_lucide_react4.ChevronDown,
|
|
1249
|
+
{
|
|
1250
|
+
className: "relative top-px ml-1 size-3 transition duration-300 group-data-popup-open/navigation-menu-trigger:rotate-180 group-data-open/navigation-menu-trigger:rotate-180",
|
|
1251
|
+
"aria-hidden": "true"
|
|
1252
|
+
}
|
|
1253
|
+
)
|
|
1254
|
+
]
|
|
1255
|
+
}
|
|
1256
|
+
);
|
|
1257
|
+
}
|
|
1258
|
+
function NavigationMenuLink({ className, ...props }) {
|
|
1259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1260
|
+
import_navigation_menu2.NavigationMenu.Link,
|
|
1261
|
+
{
|
|
1262
|
+
"data-slot": "navigation-menu-link",
|
|
1263
|
+
className: cn(
|
|
1264
|
+
"flex items-center gap-2 rounded-berget-xs p-2 text-sm transition-all outline-none hover:bg-berget-surface-02 focus:bg-berget-surface-02 focus-visible:ring-3 focus-visible:ring-berget-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-berget-xs data-active:bg-berget-surface-02/50 data-active:hover:bg-berget-surface-02 data-active:focus:bg-berget-surface-02 [&_svg:not([class*='size-'])]:size-4",
|
|
1265
|
+
className
|
|
1266
|
+
),
|
|
1267
|
+
...props
|
|
1268
|
+
}
|
|
1269
|
+
);
|
|
1270
|
+
}
|
|
1271
|
+
function NavigationMenuPositioner({
|
|
1272
|
+
className,
|
|
1273
|
+
side = "bottom",
|
|
1274
|
+
sideOffset = 8,
|
|
1275
|
+
align = "start",
|
|
1276
|
+
alignOffset = 0,
|
|
1277
|
+
...props
|
|
1278
|
+
}) {
|
|
1279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_navigation_menu2.NavigationMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1280
|
+
import_navigation_menu2.NavigationMenu.Positioner,
|
|
1281
|
+
{
|
|
1282
|
+
side,
|
|
1283
|
+
sideOffset,
|
|
1284
|
+
align,
|
|
1285
|
+
alignOffset,
|
|
1286
|
+
className: cn(
|
|
1287
|
+
"isolate z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] data-instant:transition-none data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0",
|
|
1288
|
+
className
|
|
1289
|
+
),
|
|
1290
|
+
...props,
|
|
1291
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_navigation_menu2.NavigationMenu.Popup, { className: "data-[ending-style]:easing-[ease] xs:w-(--popup-width) relative h-(--popup-height) w-(--popup-width) origin-(--transform-origin) rounded-berget-xs bg-berget-popover text-berget-popover-foreground shadow-berget-lg ring-1 ring-berget-border transition-[opacity,transform,width,height,scale,translate] duration-[0.35s] ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-ending-style:scale-90 data-ending-style:opacity-0 data-ending-style:duration-150 data-starting-style:scale-90 data-starting-style:opacity-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_navigation_menu2.NavigationMenu.Viewport, { className: "relative size-full overflow-hidden" }) })
|
|
1292
|
+
}
|
|
1293
|
+
) });
|
|
1294
|
+
}
|
|
1203
1295
|
|
|
1204
1296
|
// src/components/table/Table.tsx
|
|
1297
|
+
var React11 = __toESM(require("react"), 1);
|
|
1298
|
+
|
|
1299
|
+
// src/primitives/table.tsx
|
|
1300
|
+
var import_cn5 = require("cn");
|
|
1205
1301
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1206
|
-
|
|
1207
|
-
|
|
1302
|
+
function Table({ className, ...props }) {
|
|
1303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1304
|
+
"div",
|
|
1305
|
+
{
|
|
1306
|
+
"data-slot": "table-container",
|
|
1307
|
+
className: "relative w-full overflow-x-auto",
|
|
1308
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1309
|
+
"table",
|
|
1310
|
+
{
|
|
1311
|
+
"data-slot": "table",
|
|
1312
|
+
className: (0, import_cn5.cn)("w-full caption-bottom text-sm", className),
|
|
1313
|
+
...props
|
|
1314
|
+
}
|
|
1315
|
+
)
|
|
1316
|
+
}
|
|
1317
|
+
);
|
|
1318
|
+
}
|
|
1319
|
+
function TableHeader({ className, ...props }) {
|
|
1320
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1321
|
+
"thead",
|
|
1322
|
+
{
|
|
1323
|
+
"data-slot": "table-header",
|
|
1324
|
+
className: (0, import_cn5.cn)("[&_tr]:border-b", className),
|
|
1325
|
+
...props
|
|
1326
|
+
}
|
|
1327
|
+
);
|
|
1328
|
+
}
|
|
1329
|
+
function TableBody({ className, ...props }) {
|
|
1330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1331
|
+
"tbody",
|
|
1332
|
+
{
|
|
1333
|
+
"data-slot": "table-body",
|
|
1334
|
+
className: (0, import_cn5.cn)("[&_tr:last-child]:border-0", className),
|
|
1335
|
+
...props
|
|
1336
|
+
}
|
|
1337
|
+
);
|
|
1338
|
+
}
|
|
1339
|
+
function TableFooter({ className, ...props }) {
|
|
1340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1341
|
+
"tfoot",
|
|
1342
|
+
{
|
|
1343
|
+
"data-slot": "table-footer",
|
|
1344
|
+
className: (0, import_cn5.cn)(
|
|
1345
|
+
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
1346
|
+
className
|
|
1347
|
+
),
|
|
1348
|
+
...props
|
|
1349
|
+
}
|
|
1350
|
+
);
|
|
1351
|
+
}
|
|
1352
|
+
function TableRow({ className, ...props }) {
|
|
1353
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1354
|
+
"tr",
|
|
1355
|
+
{
|
|
1356
|
+
"data-slot": "table-row",
|
|
1357
|
+
className: (0, import_cn5.cn)(
|
|
1358
|
+
"border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",
|
|
1359
|
+
className
|
|
1360
|
+
),
|
|
1361
|
+
...props
|
|
1362
|
+
}
|
|
1363
|
+
);
|
|
1364
|
+
}
|
|
1365
|
+
function TableHead({ className, ...props }) {
|
|
1366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1367
|
+
"th",
|
|
1368
|
+
{
|
|
1369
|
+
"data-slot": "table-head",
|
|
1370
|
+
className: (0, import_cn5.cn)(
|
|
1371
|
+
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
|
|
1372
|
+
className
|
|
1373
|
+
),
|
|
1374
|
+
...props
|
|
1375
|
+
}
|
|
1376
|
+
);
|
|
1377
|
+
}
|
|
1378
|
+
function TableCell({ className, ...props }) {
|
|
1379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1380
|
+
"td",
|
|
1381
|
+
{
|
|
1382
|
+
"data-slot": "table-cell",
|
|
1383
|
+
className: (0, import_cn5.cn)(
|
|
1384
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",
|
|
1385
|
+
className
|
|
1386
|
+
),
|
|
1387
|
+
...props
|
|
1388
|
+
}
|
|
1389
|
+
);
|
|
1390
|
+
}
|
|
1391
|
+
function TableCaption({
|
|
1392
|
+
className,
|
|
1393
|
+
...props
|
|
1394
|
+
}) {
|
|
1395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1396
|
+
"caption",
|
|
1397
|
+
{
|
|
1398
|
+
"data-slot": "table-caption",
|
|
1399
|
+
className: (0, import_cn5.cn)("mt-4 text-sm text-muted-foreground", className),
|
|
1400
|
+
...props
|
|
1401
|
+
}
|
|
1402
|
+
);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
// src/components/table/Table.tsx
|
|
1406
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1407
|
+
var Table2 = React11.forwardRef(
|
|
1408
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Table, { ref, className, ...props })
|
|
1208
1409
|
);
|
|
1209
1410
|
Table2.displayName = "Table";
|
|
1210
|
-
var TableHeader2 =
|
|
1411
|
+
var TableHeader2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1211
1412
|
TableHeader,
|
|
1212
1413
|
{
|
|
1213
1414
|
ref,
|
|
@@ -1216,7 +1417,7 @@ var TableHeader2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1216
1417
|
}
|
|
1217
1418
|
));
|
|
1218
1419
|
TableHeader2.displayName = "TableHeader";
|
|
1219
|
-
var TableBody2 =
|
|
1420
|
+
var TableBody2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1220
1421
|
TableBody,
|
|
1221
1422
|
{
|
|
1222
1423
|
ref,
|
|
@@ -1225,7 +1426,7 @@ var TableBody2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1225
1426
|
}
|
|
1226
1427
|
));
|
|
1227
1428
|
TableBody2.displayName = "TableBody";
|
|
1228
|
-
var TableFooter2 =
|
|
1429
|
+
var TableFooter2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1229
1430
|
TableFooter,
|
|
1230
1431
|
{
|
|
1231
1432
|
ref,
|
|
@@ -1237,8 +1438,8 @@ var TableFooter2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
1237
1438
|
}
|
|
1238
1439
|
));
|
|
1239
1440
|
TableFooter2.displayName = "TableFooter";
|
|
1240
|
-
var TableRow2 =
|
|
1241
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
1441
|
+
var TableRow2 = React11.forwardRef(
|
|
1442
|
+
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1242
1443
|
TableRow,
|
|
1243
1444
|
{
|
|
1244
1445
|
ref,
|
|
@@ -1251,7 +1452,7 @@ var TableRow2 = React16.forwardRef(
|
|
|
1251
1452
|
)
|
|
1252
1453
|
);
|
|
1253
1454
|
TableRow2.displayName = "TableRow";
|
|
1254
|
-
var TableHead2 =
|
|
1455
|
+
var TableHead2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1255
1456
|
TableHead,
|
|
1256
1457
|
{
|
|
1257
1458
|
ref,
|
|
@@ -1263,7 +1464,7 @@ var TableHead2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1263
1464
|
}
|
|
1264
1465
|
));
|
|
1265
1466
|
TableHead2.displayName = "TableHead";
|
|
1266
|
-
var TableCell2 =
|
|
1467
|
+
var TableCell2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1267
1468
|
TableCell,
|
|
1268
1469
|
{
|
|
1269
1470
|
ref,
|
|
@@ -1272,7 +1473,7 @@ var TableCell2 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
1272
1473
|
}
|
|
1273
1474
|
));
|
|
1274
1475
|
TableCell2.displayName = "TableCell";
|
|
1275
|
-
var TableCaption2 =
|
|
1476
|
+
var TableCaption2 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1276
1477
|
TableCaption,
|
|
1277
1478
|
{
|
|
1278
1479
|
ref,
|
|
@@ -1283,68 +1484,80 @@ var TableCaption2 = React16.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1283
1484
|
TableCaption2.displayName = "TableCaption";
|
|
1284
1485
|
|
|
1285
1486
|
// src/components/item/Item.tsx
|
|
1286
|
-
var
|
|
1487
|
+
var React12 = __toESM(require("react"), 1);
|
|
1287
1488
|
|
|
1288
1489
|
// src/primitives/item.tsx
|
|
1289
|
-
var import_class_variance_authority8 = require("class-variance-authority");
|
|
1290
1490
|
var import_merge_props = require("@base-ui/react/merge-props");
|
|
1291
1491
|
var import_use_render = require("@base-ui/react/use-render");
|
|
1492
|
+
var import_class_variance_authority9 = require("class-variance-authority");
|
|
1493
|
+
var import_cn7 = require("cn");
|
|
1292
1494
|
|
|
1293
1495
|
// src/primitives/separator.tsx
|
|
1294
|
-
var React17 = __toESM(require("react"), 1);
|
|
1295
1496
|
var import_separator = require("@base-ui/react/separator");
|
|
1296
|
-
var
|
|
1297
|
-
var
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1497
|
+
var import_cn6 = require("cn");
|
|
1498
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1499
|
+
function Separator({
|
|
1500
|
+
className,
|
|
1501
|
+
orientation = "horizontal",
|
|
1502
|
+
...props
|
|
1503
|
+
}) {
|
|
1504
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1505
|
+
import_separator.Separator,
|
|
1506
|
+
{
|
|
1507
|
+
"data-slot": "separator",
|
|
1508
|
+
orientation,
|
|
1509
|
+
className: (0, import_cn6.cn)(
|
|
1510
|
+
"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",
|
|
1511
|
+
className
|
|
1512
|
+
),
|
|
1513
|
+
...props
|
|
1514
|
+
}
|
|
1515
|
+
);
|
|
1516
|
+
}
|
|
1311
1517
|
|
|
1312
1518
|
// src/primitives/item.tsx
|
|
1313
|
-
var
|
|
1519
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1314
1520
|
function ItemGroup({ className, ...props }) {
|
|
1315
|
-
return /* @__PURE__ */ (0,
|
|
1521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1316
1522
|
"div",
|
|
1317
1523
|
{
|
|
1318
1524
|
role: "list",
|
|
1319
1525
|
"data-slot": "item-group",
|
|
1320
|
-
className:
|
|
1526
|
+
className: (0, import_cn7.cn)(
|
|
1527
|
+
"group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2",
|
|
1528
|
+
className
|
|
1529
|
+
),
|
|
1321
1530
|
...props
|
|
1322
1531
|
}
|
|
1323
1532
|
);
|
|
1324
1533
|
}
|
|
1325
|
-
function ItemSeparator({
|
|
1326
|
-
|
|
1534
|
+
function ItemSeparator({
|
|
1535
|
+
className,
|
|
1536
|
+
...props
|
|
1537
|
+
}) {
|
|
1538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1327
1539
|
Separator,
|
|
1328
1540
|
{
|
|
1329
1541
|
"data-slot": "item-separator",
|
|
1330
1542
|
orientation: "horizontal",
|
|
1331
|
-
className: cn("my-
|
|
1543
|
+
className: (0, import_cn7.cn)("my-2", className),
|
|
1332
1544
|
...props
|
|
1333
1545
|
}
|
|
1334
1546
|
);
|
|
1335
1547
|
}
|
|
1336
|
-
var itemVariants = (0,
|
|
1337
|
-
"group/item
|
|
1548
|
+
var itemVariants = (0, import_class_variance_authority9.cva)(
|
|
1549
|
+
"group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted",
|
|
1338
1550
|
{
|
|
1339
1551
|
variants: {
|
|
1340
1552
|
variant: {
|
|
1341
|
-
default: "
|
|
1553
|
+
default: "border-transparent",
|
|
1342
1554
|
outline: "border-border",
|
|
1343
|
-
muted: "bg-muted/50"
|
|
1555
|
+
muted: "border-transparent bg-muted/50"
|
|
1344
1556
|
},
|
|
1345
1557
|
size: {
|
|
1346
|
-
default: "gap-
|
|
1347
|
-
sm: "gap-2.5 px-
|
|
1558
|
+
default: "gap-2.5 px-3 py-2.5",
|
|
1559
|
+
sm: "gap-2.5 px-3 py-2.5",
|
|
1560
|
+
xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"
|
|
1348
1561
|
}
|
|
1349
1562
|
},
|
|
1350
1563
|
defaultVariants: {
|
|
@@ -1362,26 +1575,28 @@ function Item({
|
|
|
1362
1575
|
}) {
|
|
1363
1576
|
return (0, import_use_render.useRender)({
|
|
1364
1577
|
defaultTagName: "div",
|
|
1365
|
-
render,
|
|
1366
1578
|
props: (0, import_merge_props.mergeProps)(
|
|
1367
1579
|
{
|
|
1368
|
-
|
|
1369
|
-
"data-variant": variant,
|
|
1370
|
-
"data-size": size,
|
|
1371
|
-
className: cn(itemVariants({ variant, size, className }))
|
|
1580
|
+
className: (0, import_cn7.cn)(itemVariants({ variant, size, className }))
|
|
1372
1581
|
},
|
|
1373
1582
|
props
|
|
1374
|
-
)
|
|
1583
|
+
),
|
|
1584
|
+
render,
|
|
1585
|
+
state: {
|
|
1586
|
+
slot: "item",
|
|
1587
|
+
variant,
|
|
1588
|
+
size
|
|
1589
|
+
}
|
|
1375
1590
|
});
|
|
1376
1591
|
}
|
|
1377
|
-
var itemMediaVariants = (0,
|
|
1378
|
-
"flex shrink-0 items-center justify-center gap-2 group-has-
|
|
1592
|
+
var itemMediaVariants = (0, import_class_variance_authority9.cva)(
|
|
1593
|
+
"flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none",
|
|
1379
1594
|
{
|
|
1380
1595
|
variants: {
|
|
1381
1596
|
variant: {
|
|
1382
1597
|
default: "bg-transparent",
|
|
1383
|
-
icon: "
|
|
1384
|
-
image: "size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover"
|
|
1598
|
+
icon: "[&_svg:not([class*='size-'])]:size-4",
|
|
1599
|
+
image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover"
|
|
1385
1600
|
}
|
|
1386
1601
|
},
|
|
1387
1602
|
defaultVariants: {
|
|
@@ -1394,44 +1609,49 @@ function ItemMedia({
|
|
|
1394
1609
|
variant = "default",
|
|
1395
1610
|
...props
|
|
1396
1611
|
}) {
|
|
1397
|
-
return /* @__PURE__ */ (0,
|
|
1612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1398
1613
|
"div",
|
|
1399
1614
|
{
|
|
1400
1615
|
"data-slot": "item-media",
|
|
1401
1616
|
"data-variant": variant,
|
|
1402
|
-
className: cn(itemMediaVariants({ variant, className })),
|
|
1617
|
+
className: (0, import_cn7.cn)(itemMediaVariants({ variant, className })),
|
|
1403
1618
|
...props
|
|
1404
1619
|
}
|
|
1405
1620
|
);
|
|
1406
1621
|
}
|
|
1407
1622
|
function ItemContent({ className, ...props }) {
|
|
1408
|
-
return /* @__PURE__ */ (0,
|
|
1623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1409
1624
|
"div",
|
|
1410
1625
|
{
|
|
1411
1626
|
"data-slot": "item-content",
|
|
1412
|
-
className:
|
|
1627
|
+
className: (0, import_cn7.cn)(
|
|
1628
|
+
"flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none",
|
|
1629
|
+
className
|
|
1630
|
+
),
|
|
1413
1631
|
...props
|
|
1414
1632
|
}
|
|
1415
1633
|
);
|
|
1416
1634
|
}
|
|
1417
1635
|
function ItemTitle({ className, ...props }) {
|
|
1418
|
-
return /* @__PURE__ */ (0,
|
|
1636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1419
1637
|
"div",
|
|
1420
1638
|
{
|
|
1421
1639
|
"data-slot": "item-title",
|
|
1422
|
-
className:
|
|
1640
|
+
className: (0, import_cn7.cn)(
|
|
1641
|
+
"line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4",
|
|
1642
|
+
className
|
|
1643
|
+
),
|
|
1423
1644
|
...props
|
|
1424
1645
|
}
|
|
1425
1646
|
);
|
|
1426
1647
|
}
|
|
1427
1648
|
function ItemDescription({ className, ...props }) {
|
|
1428
|
-
return /* @__PURE__ */ (0,
|
|
1649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1429
1650
|
"p",
|
|
1430
1651
|
{
|
|
1431
1652
|
"data-slot": "item-description",
|
|
1432
|
-
className: cn(
|
|
1433
|
-
"
|
|
1434
|
-
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
|
|
1653
|
+
className: (0, import_cn7.cn)(
|
|
1654
|
+
"line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
1435
1655
|
className
|
|
1436
1656
|
),
|
|
1437
1657
|
...props
|
|
@@ -1439,33 +1659,46 @@ function ItemDescription({ className, ...props }) {
|
|
|
1439
1659
|
);
|
|
1440
1660
|
}
|
|
1441
1661
|
function ItemActions({ className, ...props }) {
|
|
1442
|
-
return /* @__PURE__ */ (0,
|
|
1662
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1663
|
+
"div",
|
|
1664
|
+
{
|
|
1665
|
+
"data-slot": "item-actions",
|
|
1666
|
+
className: (0, import_cn7.cn)("flex items-center gap-2", className),
|
|
1667
|
+
...props
|
|
1668
|
+
}
|
|
1669
|
+
);
|
|
1443
1670
|
}
|
|
1444
1671
|
function ItemHeader({ className, ...props }) {
|
|
1445
|
-
return /* @__PURE__ */ (0,
|
|
1672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1446
1673
|
"div",
|
|
1447
1674
|
{
|
|
1448
1675
|
"data-slot": "item-header",
|
|
1449
|
-
className:
|
|
1676
|
+
className: (0, import_cn7.cn)(
|
|
1677
|
+
"flex basis-full items-center justify-between gap-2",
|
|
1678
|
+
className
|
|
1679
|
+
),
|
|
1450
1680
|
...props
|
|
1451
1681
|
}
|
|
1452
1682
|
);
|
|
1453
1683
|
}
|
|
1454
1684
|
function ItemFooter({ className, ...props }) {
|
|
1455
|
-
return /* @__PURE__ */ (0,
|
|
1685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1456
1686
|
"div",
|
|
1457
1687
|
{
|
|
1458
1688
|
"data-slot": "item-footer",
|
|
1459
|
-
className:
|
|
1689
|
+
className: (0, import_cn7.cn)(
|
|
1690
|
+
"flex basis-full items-center justify-between gap-2",
|
|
1691
|
+
className
|
|
1692
|
+
),
|
|
1460
1693
|
...props
|
|
1461
1694
|
}
|
|
1462
1695
|
);
|
|
1463
1696
|
}
|
|
1464
1697
|
|
|
1465
1698
|
// src/components/item/Item.tsx
|
|
1466
|
-
var
|
|
1699
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1467
1700
|
function Item2({ className, asChild, children, ...props }) {
|
|
1468
|
-
return /* @__PURE__ */ (0,
|
|
1701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1469
1702
|
Item,
|
|
1470
1703
|
{
|
|
1471
1704
|
render: asChild ? children : void 0,
|
|
@@ -1484,8 +1717,8 @@ function Item2({ className, asChild, children, ...props }) {
|
|
|
1484
1717
|
}
|
|
1485
1718
|
);
|
|
1486
1719
|
}
|
|
1487
|
-
var ItemMedia2 =
|
|
1488
|
-
return /* @__PURE__ */ (0,
|
|
1720
|
+
var ItemMedia2 = React12.forwardRef(({ className, ...props }, ref) => {
|
|
1721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1489
1722
|
ItemMedia,
|
|
1490
1723
|
{
|
|
1491
1724
|
ref,
|
|
@@ -1495,8 +1728,8 @@ var ItemMedia2 = React18.forwardRef(({ className, ...props }, ref) => {
|
|
|
1495
1728
|
);
|
|
1496
1729
|
});
|
|
1497
1730
|
ItemMedia2.displayName = "ItemMedia";
|
|
1498
|
-
var ItemTitle2 =
|
|
1499
|
-
return /* @__PURE__ */ (0,
|
|
1731
|
+
var ItemTitle2 = React12.forwardRef(({ className, ...props }, ref) => {
|
|
1732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1500
1733
|
ItemTitle,
|
|
1501
1734
|
{
|
|
1502
1735
|
ref,
|
|
@@ -1506,8 +1739,8 @@ var ItemTitle2 = React18.forwardRef(({ className, ...props }, ref) => {
|
|
|
1506
1739
|
);
|
|
1507
1740
|
});
|
|
1508
1741
|
ItemTitle2.displayName = "ItemTitle";
|
|
1509
|
-
var ItemDescription2 =
|
|
1510
|
-
return /* @__PURE__ */ (0,
|
|
1742
|
+
var ItemDescription2 = React12.forwardRef(({ className, ...props }, ref) => {
|
|
1743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1511
1744
|
ItemDescription,
|
|
1512
1745
|
{
|
|
1513
1746
|
ref,
|
|
@@ -1517,8 +1750,8 @@ var ItemDescription2 = React18.forwardRef(({ className, ...props }, ref) => {
|
|
|
1517
1750
|
);
|
|
1518
1751
|
});
|
|
1519
1752
|
ItemDescription2.displayName = "ItemDescription";
|
|
1520
|
-
var ItemSeparator2 =
|
|
1521
|
-
return /* @__PURE__ */ (0,
|
|
1753
|
+
var ItemSeparator2 = React12.forwardRef(({ className, ...props }, ref) => {
|
|
1754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1522
1755
|
ItemSeparator,
|
|
1523
1756
|
{
|
|
1524
1757
|
ref,
|
|
@@ -1530,38 +1763,36 @@ var ItemSeparator2 = React18.forwardRef(({ className, ...props }, ref) => {
|
|
|
1530
1763
|
ItemSeparator2.displayName = "ItemSeparator";
|
|
1531
1764
|
|
|
1532
1765
|
// src/components/input/Input.tsx
|
|
1533
|
-
var
|
|
1766
|
+
var React13 = __toESM(require("react"), 1);
|
|
1534
1767
|
|
|
1535
1768
|
// src/primitives/input.tsx
|
|
1536
|
-
var
|
|
1537
|
-
var
|
|
1538
|
-
var
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
);
|
|
1554
|
-
Input.displayName = "Input";
|
|
1769
|
+
var import_input = require("@base-ui/react/input");
|
|
1770
|
+
var import_cn8 = require("cn");
|
|
1771
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1772
|
+
function Input({ className, type, ...props }) {
|
|
1773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1774
|
+
import_input.Input,
|
|
1775
|
+
{
|
|
1776
|
+
type,
|
|
1777
|
+
"data-slot": "input",
|
|
1778
|
+
className: (0, import_cn8.cn)(
|
|
1779
|
+
"h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
1780
|
+
className
|
|
1781
|
+
),
|
|
1782
|
+
...props
|
|
1783
|
+
}
|
|
1784
|
+
);
|
|
1785
|
+
}
|
|
1555
1786
|
|
|
1556
1787
|
// src/components/input/Input.tsx
|
|
1557
|
-
var
|
|
1558
|
-
var Input2 =
|
|
1788
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1789
|
+
var Input2 = React13.forwardRef(
|
|
1559
1790
|
({ className, icon, actionButton, label, description, error, id, disabled, ...props }, ref) => {
|
|
1560
|
-
const generatedId =
|
|
1791
|
+
const generatedId = React13.useId();
|
|
1561
1792
|
const inputId = id || generatedId;
|
|
1562
1793
|
const errorId = `${inputId}-error`;
|
|
1563
1794
|
const descriptionId = `${inputId}-description`;
|
|
1564
|
-
const inputElement = /* @__PURE__ */ (0,
|
|
1795
|
+
const inputElement = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1565
1796
|
Input,
|
|
1566
1797
|
{
|
|
1567
1798
|
ref,
|
|
@@ -1581,8 +1812,8 @@ var Input2 = React20.forwardRef(
|
|
|
1581
1812
|
}
|
|
1582
1813
|
);
|
|
1583
1814
|
if (!icon && !actionButton) {
|
|
1584
|
-
return /* @__PURE__ */ (0,
|
|
1585
|
-
label && /* @__PURE__ */ (0,
|
|
1815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1816
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1586
1817
|
"label",
|
|
1587
1818
|
{
|
|
1588
1819
|
htmlFor: inputId,
|
|
@@ -1595,9 +1826,9 @@ var Input2 = React20.forwardRef(
|
|
|
1595
1826
|
}
|
|
1596
1827
|
),
|
|
1597
1828
|
inputElement,
|
|
1598
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
1599
|
-
description && /* @__PURE__ */ (0,
|
|
1600
|
-
error && /* @__PURE__ */ (0,
|
|
1829
|
+
(description || error) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
1830
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
1831
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1601
1832
|
Typography,
|
|
1602
1833
|
{
|
|
1603
1834
|
variant: "xs",
|
|
@@ -1609,8 +1840,8 @@ var Input2 = React20.forwardRef(
|
|
|
1609
1840
|
] })
|
|
1610
1841
|
] });
|
|
1611
1842
|
}
|
|
1612
|
-
return /* @__PURE__ */ (0,
|
|
1613
|
-
label && /* @__PURE__ */ (0,
|
|
1843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1844
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1614
1845
|
"label",
|
|
1615
1846
|
{
|
|
1616
1847
|
htmlFor: inputId,
|
|
@@ -1622,14 +1853,14 @@ var Input2 = React20.forwardRef(
|
|
|
1622
1853
|
children: label
|
|
1623
1854
|
}
|
|
1624
1855
|
),
|
|
1625
|
-
/* @__PURE__ */ (0,
|
|
1626
|
-
icon && /* @__PURE__ */ (0,
|
|
1856
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative w-full", children: [
|
|
1857
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
|
|
1627
1858
|
inputElement,
|
|
1628
|
-
actionButton && /* @__PURE__ */ (0,
|
|
1859
|
+
actionButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
1629
1860
|
] }),
|
|
1630
|
-
(description || error) && /* @__PURE__ */ (0,
|
|
1631
|
-
description && /* @__PURE__ */ (0,
|
|
1632
|
-
error && /* @__PURE__ */ (0,
|
|
1861
|
+
(description || error) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
1862
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
1863
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
1633
1864
|
] })
|
|
1634
1865
|
] });
|
|
1635
1866
|
}
|
|
@@ -1637,43 +1868,44 @@ var Input2 = React20.forwardRef(
|
|
|
1637
1868
|
Input2.displayName = "Input";
|
|
1638
1869
|
|
|
1639
1870
|
// src/components/checkbox/Checkbox.tsx
|
|
1640
|
-
var
|
|
1871
|
+
var React14 = __toESM(require("react"), 1);
|
|
1641
1872
|
var import_checkbox2 = require("@base-ui/react/checkbox");
|
|
1642
|
-
var
|
|
1643
|
-
var
|
|
1873
|
+
var import_lucide_react6 = require("lucide-react");
|
|
1874
|
+
var import_class_variance_authority10 = require("class-variance-authority");
|
|
1644
1875
|
|
|
1645
1876
|
// src/primitives/checkbox.tsx
|
|
1646
|
-
var React21 = __toESM(require("react"), 1);
|
|
1647
1877
|
var import_checkbox = require("@base-ui/react/checkbox");
|
|
1648
|
-
var
|
|
1649
|
-
var
|
|
1650
|
-
var
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
"
|
|
1656
|
-
className
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
)
|
|
1662
|
-
Checkbox.
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
)
|
|
1672
|
-
|
|
1878
|
+
var import_cn9 = require("cn");
|
|
1879
|
+
var import_lucide_react5 = require("lucide-react");
|
|
1880
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1881
|
+
function Checkbox({ className, ...props }) {
|
|
1882
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1883
|
+
import_checkbox.Checkbox.Root,
|
|
1884
|
+
{
|
|
1885
|
+
"data-slot": "checkbox",
|
|
1886
|
+
className: (0, import_cn9.cn)(
|
|
1887
|
+
"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",
|
|
1888
|
+
className
|
|
1889
|
+
),
|
|
1890
|
+
...props,
|
|
1891
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1892
|
+
import_checkbox.Checkbox.Indicator,
|
|
1893
|
+
{
|
|
1894
|
+
"data-slot": "checkbox-indicator",
|
|
1895
|
+
className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
|
|
1896
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1897
|
+
import_lucide_react5.CheckIcon,
|
|
1898
|
+
{}
|
|
1899
|
+
)
|
|
1900
|
+
}
|
|
1901
|
+
)
|
|
1902
|
+
}
|
|
1903
|
+
);
|
|
1904
|
+
}
|
|
1673
1905
|
|
|
1674
1906
|
// src/components/checkbox/Checkbox.tsx
|
|
1675
|
-
var
|
|
1676
|
-
var checkboxVariants = (0,
|
|
1907
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1908
|
+
var checkboxVariants = (0, import_class_variance_authority10.cva)(
|
|
1677
1909
|
"inline-flex items-center justify-center rounded-md transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
1678
1910
|
{
|
|
1679
1911
|
variants: {
|
|
@@ -1694,7 +1926,7 @@ var checkboxVariants = (0, import_class_variance_authority9.cva)(
|
|
|
1694
1926
|
}
|
|
1695
1927
|
}
|
|
1696
1928
|
);
|
|
1697
|
-
var Checkbox2 =
|
|
1929
|
+
var Checkbox2 = React14.forwardRef(
|
|
1698
1930
|
({
|
|
1699
1931
|
"aria-label": ariaLabel,
|
|
1700
1932
|
className,
|
|
@@ -1707,11 +1939,11 @@ var Checkbox2 = React22.forwardRef(
|
|
|
1707
1939
|
disabled,
|
|
1708
1940
|
...props
|
|
1709
1941
|
}, ref) => {
|
|
1710
|
-
const generatedId =
|
|
1942
|
+
const generatedId = React14.useId();
|
|
1711
1943
|
const checkboxId = id || generatedId;
|
|
1712
1944
|
const errorId = `${checkboxId}-error`;
|
|
1713
|
-
return /* @__PURE__ */ (0,
|
|
1714
|
-
/* @__PURE__ */ (0,
|
|
1945
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
1946
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "relative flex items-start pt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1715
1947
|
Checkbox,
|
|
1716
1948
|
{
|
|
1717
1949
|
ref,
|
|
@@ -1728,8 +1960,8 @@ var Checkbox2 = React22.forwardRef(
|
|
|
1728
1960
|
className
|
|
1729
1961
|
),
|
|
1730
1962
|
...props,
|
|
1731
|
-
children: /* @__PURE__ */ (0,
|
|
1732
|
-
|
|
1963
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_checkbox2.Checkbox.Indicator, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1964
|
+
import_lucide_react6.Check,
|
|
1733
1965
|
{
|
|
1734
1966
|
className: "h-4 w-4 text-current stroke-current",
|
|
1735
1967
|
style: { color: "currentColor", stroke: "currentColor" }
|
|
@@ -1737,8 +1969,8 @@ var Checkbox2 = React22.forwardRef(
|
|
|
1737
1969
|
) })
|
|
1738
1970
|
}
|
|
1739
1971
|
) }),
|
|
1740
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
1741
|
-
label && /* @__PURE__ */ (0,
|
|
1972
|
+
(label || description || error) && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
1973
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1742
1974
|
"label",
|
|
1743
1975
|
{
|
|
1744
1976
|
htmlFor: checkboxId,
|
|
@@ -1750,8 +1982,8 @@ var Checkbox2 = React22.forwardRef(
|
|
|
1750
1982
|
children: label
|
|
1751
1983
|
}
|
|
1752
1984
|
),
|
|
1753
|
-
description && /* @__PURE__ */ (0,
|
|
1754
|
-
error && /* @__PURE__ */ (0,
|
|
1985
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
|
|
1986
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
1755
1987
|
] })
|
|
1756
1988
|
] });
|
|
1757
1989
|
}
|
|
@@ -1759,11 +1991,11 @@ var Checkbox2 = React22.forwardRef(
|
|
|
1759
1991
|
Checkbox2.displayName = "Checkbox";
|
|
1760
1992
|
|
|
1761
1993
|
// src/components/switch/Switch.tsx
|
|
1762
|
-
var
|
|
1994
|
+
var React15 = __toESM(require("react"), 1);
|
|
1763
1995
|
var import_switch = require("@base-ui/react/switch");
|
|
1764
|
-
var
|
|
1765
|
-
var
|
|
1766
|
-
var switchRootVariants = (0,
|
|
1996
|
+
var import_class_variance_authority11 = require("class-variance-authority");
|
|
1997
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1998
|
+
var switchRootVariants = (0, import_class_variance_authority11.cva)(
|
|
1767
1999
|
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-berget-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",
|
|
1768
2000
|
{
|
|
1769
2001
|
variants: {
|
|
@@ -1784,7 +2016,7 @@ var switchRootVariants = (0, import_class_variance_authority10.cva)(
|
|
|
1784
2016
|
}
|
|
1785
2017
|
}
|
|
1786
2018
|
);
|
|
1787
|
-
var switchThumbVariants = (0,
|
|
2019
|
+
var switchThumbVariants = (0, import_class_variance_authority11.cva)(
|
|
1788
2020
|
"pointer-events-none block rounded-full ring-0 transition-transform shadow-berget-sm bg-berget-foreground",
|
|
1789
2021
|
{
|
|
1790
2022
|
variants: {
|
|
@@ -1799,7 +2031,7 @@ var switchThumbVariants = (0, import_class_variance_authority10.cva)(
|
|
|
1799
2031
|
}
|
|
1800
2032
|
}
|
|
1801
2033
|
);
|
|
1802
|
-
var Switch =
|
|
2034
|
+
var Switch = React15.forwardRef(
|
|
1803
2035
|
({
|
|
1804
2036
|
"aria-label": ariaLabel,
|
|
1805
2037
|
className,
|
|
@@ -1812,11 +2044,11 @@ var Switch = React23.forwardRef(
|
|
|
1812
2044
|
disabled,
|
|
1813
2045
|
...props
|
|
1814
2046
|
}, ref) => {
|
|
1815
|
-
const generatedId =
|
|
2047
|
+
const generatedId = React15.useId();
|
|
1816
2048
|
const switchId = id || generatedId;
|
|
1817
2049
|
const errorId = `${switchId}-error`;
|
|
1818
|
-
return /* @__PURE__ */ (0,
|
|
1819
|
-
/* @__PURE__ */ (0,
|
|
2050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
2051
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1820
2052
|
import_switch.Switch.Root,
|
|
1821
2053
|
{
|
|
1822
2054
|
ref,
|
|
@@ -1832,11 +2064,11 @@ var Switch = React23.forwardRef(
|
|
|
1832
2064
|
className
|
|
1833
2065
|
),
|
|
1834
2066
|
...props,
|
|
1835
|
-
children: /* @__PURE__ */ (0,
|
|
2067
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_switch.Switch.Thumb, { className: cn(switchThumbVariants({ size })) })
|
|
1836
2068
|
}
|
|
1837
2069
|
),
|
|
1838
|
-
(label || description || error) && /* @__PURE__ */ (0,
|
|
1839
|
-
label && /* @__PURE__ */ (0,
|
|
2070
|
+
(label || description || error) && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex flex-col gap-1", children: [
|
|
2071
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1840
2072
|
"label",
|
|
1841
2073
|
{
|
|
1842
2074
|
htmlFor: switchId,
|
|
@@ -1847,8 +2079,8 @@ var Switch = React23.forwardRef(
|
|
|
1847
2079
|
children: label
|
|
1848
2080
|
}
|
|
1849
2081
|
),
|
|
1850
|
-
description && /* @__PURE__ */ (0,
|
|
1851
|
-
error && /* @__PURE__ */ (0,
|
|
2082
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
|
|
2083
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
1852
2084
|
] })
|
|
1853
2085
|
] });
|
|
1854
2086
|
}
|
|
@@ -1856,135 +2088,160 @@ var Switch = React23.forwardRef(
|
|
|
1856
2088
|
Switch.displayName = "Switch";
|
|
1857
2089
|
|
|
1858
2090
|
// src/components/select/Select.tsx
|
|
1859
|
-
var
|
|
1860
|
-
var
|
|
2091
|
+
var React16 = __toESM(require("react"), 1);
|
|
2092
|
+
var import_class_variance_authority12 = require("class-variance-authority");
|
|
1861
2093
|
|
|
1862
2094
|
// src/primitives/select.tsx
|
|
1863
|
-
var React24 = __toESM(require("react"), 1);
|
|
1864
2095
|
var import_select = require("@base-ui/react/select");
|
|
1865
|
-
var
|
|
1866
|
-
var
|
|
2096
|
+
var import_cn10 = require("cn");
|
|
2097
|
+
var import_lucide_react7 = require("lucide-react");
|
|
2098
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1867
2099
|
var Select = import_select.Select.Root;
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2100
|
+
function SelectValue({ className, ...props }) {
|
|
2101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2102
|
+
import_select.Select.Value,
|
|
2103
|
+
{
|
|
2104
|
+
"data-slot": "select-value",
|
|
2105
|
+
className: (0, import_cn10.cn)("flex flex-1 text-left", className),
|
|
2106
|
+
...props
|
|
2107
|
+
}
|
|
2108
|
+
);
|
|
2109
|
+
}
|
|
2110
|
+
function SelectTrigger({
|
|
2111
|
+
className,
|
|
2112
|
+
size = "default",
|
|
2113
|
+
children,
|
|
2114
|
+
...props
|
|
2115
|
+
}) {
|
|
2116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2117
|
+
import_select.Select.Trigger,
|
|
2118
|
+
{
|
|
2119
|
+
"data-slot": "select-trigger",
|
|
2120
|
+
"data-size": size,
|
|
2121
|
+
className: (0, import_cn10.cn)(
|
|
2122
|
+
"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2123
|
+
className
|
|
2124
|
+
),
|
|
2125
|
+
...props,
|
|
2126
|
+
children: [
|
|
2127
|
+
children,
|
|
2128
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2129
|
+
import_select.Select.Icon,
|
|
2130
|
+
{
|
|
2131
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react7.ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" })
|
|
2132
|
+
}
|
|
2133
|
+
)
|
|
2134
|
+
]
|
|
2135
|
+
}
|
|
2136
|
+
);
|
|
2137
|
+
}
|
|
2138
|
+
function SelectContent({
|
|
2139
|
+
className,
|
|
2140
|
+
children,
|
|
2141
|
+
side = "bottom",
|
|
2142
|
+
sideOffset = 4,
|
|
2143
|
+
align = "center",
|
|
2144
|
+
alignOffset = 0,
|
|
2145
|
+
alignItemWithTrigger = true,
|
|
2146
|
+
...props
|
|
2147
|
+
}) {
|
|
2148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_select.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1918
2149
|
import_select.Select.Positioner,
|
|
1919
2150
|
{
|
|
1920
|
-
alignItemWithTrigger,
|
|
1921
2151
|
side,
|
|
2152
|
+
sideOffset,
|
|
1922
2153
|
align,
|
|
1923
2154
|
alignOffset,
|
|
1924
|
-
|
|
2155
|
+
alignItemWithTrigger,
|
|
1925
2156
|
className: "isolate z-50",
|
|
1926
|
-
children: /* @__PURE__ */ (0,
|
|
2157
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1927
2158
|
import_select.Select.Popup,
|
|
1928
2159
|
{
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
className
|
|
1933
|
-
),
|
|
2160
|
+
"data-slot": "select-content",
|
|
2161
|
+
"data-align-trigger": alignItemWithTrigger,
|
|
2162
|
+
className: (0, import_cn10.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
|
|
1934
2163
|
...props,
|
|
1935
2164
|
children: [
|
|
1936
|
-
/* @__PURE__ */ (0,
|
|
1937
|
-
/* @__PURE__ */ (0,
|
|
1938
|
-
/* @__PURE__ */ (0,
|
|
2165
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectScrollUpButton, {}),
|
|
2166
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_select.Select.List, { children }),
|
|
2167
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectScrollDownButton, {})
|
|
1939
2168
|
]
|
|
1940
2169
|
}
|
|
1941
2170
|
)
|
|
1942
2171
|
}
|
|
1943
|
-
) })
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
)
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
2172
|
+
) });
|
|
2173
|
+
}
|
|
2174
|
+
function SelectItem({
|
|
2175
|
+
className,
|
|
2176
|
+
children,
|
|
2177
|
+
...props
|
|
2178
|
+
}) {
|
|
2179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2180
|
+
import_select.Select.Item,
|
|
2181
|
+
{
|
|
2182
|
+
"data-slot": "select-item",
|
|
2183
|
+
className: (0, import_cn10.cn)(
|
|
2184
|
+
"relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
2185
|
+
className
|
|
2186
|
+
),
|
|
2187
|
+
...props,
|
|
2188
|
+
children: [
|
|
2189
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_select.Select.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children }),
|
|
2190
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2191
|
+
import_select.Select.ItemIndicator,
|
|
2192
|
+
{
|
|
2193
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }),
|
|
2194
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react7.CheckIcon, { className: "pointer-events-none" })
|
|
2195
|
+
}
|
|
2196
|
+
)
|
|
2197
|
+
]
|
|
2198
|
+
}
|
|
2199
|
+
);
|
|
2200
|
+
}
|
|
2201
|
+
function SelectScrollUpButton({
|
|
2202
|
+
className,
|
|
2203
|
+
...props
|
|
2204
|
+
}) {
|
|
2205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2206
|
+
import_select.Select.ScrollUpArrow,
|
|
2207
|
+
{
|
|
2208
|
+
"data-slot": "select-scroll-up-button",
|
|
2209
|
+
className: (0, import_cn10.cn)(
|
|
2210
|
+
"top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2211
|
+
className
|
|
2212
|
+
),
|
|
2213
|
+
...props,
|
|
2214
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2215
|
+
import_lucide_react7.ChevronUpIcon,
|
|
2216
|
+
{}
|
|
2217
|
+
)
|
|
2218
|
+
}
|
|
2219
|
+
);
|
|
2220
|
+
}
|
|
2221
|
+
function SelectScrollDownButton({
|
|
2222
|
+
className,
|
|
2223
|
+
...props
|
|
2224
|
+
}) {
|
|
2225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2226
|
+
import_select.Select.ScrollDownArrow,
|
|
2227
|
+
{
|
|
2228
|
+
"data-slot": "select-scroll-down-button",
|
|
2229
|
+
className: (0, import_cn10.cn)(
|
|
2230
|
+
"bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
|
|
2231
|
+
className
|
|
2232
|
+
),
|
|
2233
|
+
...props,
|
|
2234
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2235
|
+
import_lucide_react7.ChevronDownIcon,
|
|
2236
|
+
{}
|
|
2237
|
+
)
|
|
2238
|
+
}
|
|
2239
|
+
);
|
|
2240
|
+
}
|
|
1984
2241
|
|
|
1985
2242
|
// src/components/select/Select.tsx
|
|
1986
|
-
var
|
|
1987
|
-
var selectVariants = (0,
|
|
2243
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2244
|
+
var selectVariants = (0, import_class_variance_authority12.cva)(
|
|
1988
2245
|
"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",
|
|
1989
2246
|
{
|
|
1990
2247
|
variants: {
|
|
@@ -2006,7 +2263,7 @@ var selectVariants = (0, import_class_variance_authority11.cva)(
|
|
|
2006
2263
|
}
|
|
2007
2264
|
}
|
|
2008
2265
|
);
|
|
2009
|
-
var Select2 =
|
|
2266
|
+
var Select2 = React16.forwardRef(
|
|
2010
2267
|
({
|
|
2011
2268
|
className,
|
|
2012
2269
|
variant,
|
|
@@ -2024,12 +2281,12 @@ var Select2 = React25.forwardRef(
|
|
|
2024
2281
|
name,
|
|
2025
2282
|
required
|
|
2026
2283
|
}, ref) => {
|
|
2027
|
-
const generatedId =
|
|
2284
|
+
const generatedId = React16.useId();
|
|
2028
2285
|
const selectId = id || generatedId;
|
|
2029
2286
|
const errorId = `${selectId}-error`;
|
|
2030
2287
|
const descriptionId = `${selectId}-description`;
|
|
2031
|
-
return /* @__PURE__ */ (0,
|
|
2032
|
-
label && /* @__PURE__ */ (0,
|
|
2288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
2289
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2033
2290
|
"label",
|
|
2034
2291
|
{
|
|
2035
2292
|
htmlFor: selectId,
|
|
@@ -2041,7 +2298,7 @@ var Select2 = React25.forwardRef(
|
|
|
2041
2298
|
children: label
|
|
2042
2299
|
}
|
|
2043
2300
|
),
|
|
2044
|
-
/* @__PURE__ */ (0,
|
|
2301
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2045
2302
|
Select,
|
|
2046
2303
|
{
|
|
2047
2304
|
value,
|
|
@@ -2052,7 +2309,7 @@ var Select2 = React25.forwardRef(
|
|
|
2052
2309
|
required,
|
|
2053
2310
|
items: options,
|
|
2054
2311
|
children: [
|
|
2055
|
-
/* @__PURE__ */ (0,
|
|
2312
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2056
2313
|
SelectTrigger,
|
|
2057
2314
|
{
|
|
2058
2315
|
ref,
|
|
@@ -2064,33 +2321,33 @@ var Select2 = React25.forwardRef(
|
|
|
2064
2321
|
error && "border-berget-destructive-foreground/50 bg-berget-destructive",
|
|
2065
2322
|
className
|
|
2066
2323
|
),
|
|
2067
|
-
children: /* @__PURE__ */ (0,
|
|
2324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectValue, { placeholder })
|
|
2068
2325
|
}
|
|
2069
2326
|
),
|
|
2070
|
-
/* @__PURE__ */ (0,
|
|
2327
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
|
|
2071
2328
|
]
|
|
2072
2329
|
}
|
|
2073
2330
|
),
|
|
2074
|
-
description && /* @__PURE__ */ (0,
|
|
2075
|
-
error && /* @__PURE__ */ (0,
|
|
2331
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
2332
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
|
|
2076
2333
|
] });
|
|
2077
2334
|
}
|
|
2078
2335
|
);
|
|
2079
2336
|
Select2.displayName = "Select";
|
|
2080
2337
|
|
|
2081
2338
|
// src/components/country-select/CountrySelect.tsx
|
|
2082
|
-
var
|
|
2083
|
-
var
|
|
2339
|
+
var React18 = __toESM(require("react"), 1);
|
|
2340
|
+
var import_lucide_react10 = require("lucide-react");
|
|
2084
2341
|
|
|
2085
2342
|
// src/components/icon/Icon.tsx
|
|
2086
|
-
var
|
|
2087
|
-
var
|
|
2343
|
+
var React17 = __toESM(require("react"), 1);
|
|
2344
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2088
2345
|
var iconStrokeMap = {
|
|
2089
2346
|
16: 1.4,
|
|
2090
2347
|
24: 1.6,
|
|
2091
2348
|
32: 1.8
|
|
2092
2349
|
};
|
|
2093
|
-
var Icon =
|
|
2350
|
+
var Icon = React17.forwardRef(
|
|
2094
2351
|
({
|
|
2095
2352
|
icon: IconComponent,
|
|
2096
2353
|
size,
|
|
@@ -2102,7 +2359,7 @@ var Icon = React26.forwardRef(
|
|
|
2102
2359
|
const strokeWidth = iconStrokeMap[size];
|
|
2103
2360
|
const sizeClass = size === 16 ? "w-4 h-4" : size === 24 ? "w-6 h-6" : "w-8 h-8";
|
|
2104
2361
|
const ariaAttributes = ariaLabel ? { "aria-label": ariaLabel } : { "aria-hidden": ariaHidden };
|
|
2105
|
-
return /* @__PURE__ */ (0,
|
|
2362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2106
2363
|
IconComponent,
|
|
2107
2364
|
{
|
|
2108
2365
|
ref,
|
|
@@ -2117,193 +2374,252 @@ var Icon = React26.forwardRef(
|
|
|
2117
2374
|
Icon.displayName = "Icon";
|
|
2118
2375
|
|
|
2119
2376
|
// src/primitives/popover.tsx
|
|
2120
|
-
var React27 = __toESM(require("react"), 1);
|
|
2121
2377
|
var import_popover = require("@base-ui/react/popover");
|
|
2122
|
-
var
|
|
2123
|
-
var
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
PopoverTrigger
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2378
|
+
var import_cn11 = require("cn");
|
|
2379
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2380
|
+
function Popover({ ...props }) {
|
|
2381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_popover.Popover.Root, { "data-slot": "popover", ...props });
|
|
2382
|
+
}
|
|
2383
|
+
function PopoverTrigger({ ...props }) {
|
|
2384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_popover.Popover.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
2385
|
+
}
|
|
2386
|
+
function PopoverContent({
|
|
2387
|
+
className,
|
|
2388
|
+
align = "center",
|
|
2389
|
+
alignOffset = 0,
|
|
2390
|
+
side = "bottom",
|
|
2391
|
+
sideOffset = 4,
|
|
2392
|
+
...props
|
|
2393
|
+
}) {
|
|
2394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2395
|
+
import_popover.Popover.Positioner,
|
|
2396
|
+
{
|
|
2397
|
+
align,
|
|
2398
|
+
alignOffset,
|
|
2399
|
+
side,
|
|
2400
|
+
sideOffset,
|
|
2401
|
+
className: "isolate z-50",
|
|
2402
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2403
|
+
import_popover.Popover.Popup,
|
|
2404
|
+
{
|
|
2405
|
+
"data-slot": "popover-content",
|
|
2406
|
+
className: (0, import_cn11.cn)(
|
|
2407
|
+
"z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
2408
|
+
className
|
|
2409
|
+
),
|
|
2410
|
+
...props
|
|
2411
|
+
}
|
|
2412
|
+
)
|
|
2413
|
+
}
|
|
2414
|
+
) });
|
|
2415
|
+
}
|
|
2140
2416
|
|
|
2141
2417
|
// src/primitives/command.tsx
|
|
2142
|
-
var React29 = __toESM(require("react"), 1);
|
|
2143
2418
|
var import_cmdk = require("cmdk");
|
|
2144
|
-
var
|
|
2419
|
+
var import_cn15 = require("cn");
|
|
2145
2420
|
|
|
2146
2421
|
// src/primitives/dialog.tsx
|
|
2147
|
-
var React28 = __toESM(require("react"), 1);
|
|
2148
2422
|
var import_dialog2 = require("@base-ui/react/dialog");
|
|
2149
|
-
var
|
|
2150
|
-
var
|
|
2151
|
-
var
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
);
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
);
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
{
|
|
2164
|
-
ref,
|
|
2165
|
-
className: cn(
|
|
2166
|
-
"fixed inset-0 z-50 bg-black/80 transition-[opacity] duration-200 data-starting-style:opacity-0 data-ending-style:opacity-0",
|
|
2167
|
-
className
|
|
2168
|
-
),
|
|
2169
|
-
...props
|
|
2170
|
-
}
|
|
2171
|
-
));
|
|
2172
|
-
DialogOverlay2.displayName = "DialogOverlay";
|
|
2173
|
-
var DialogContent2 = React28.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(DialogPortal2, { children: [
|
|
2174
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogOverlay2, {}),
|
|
2175
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
2176
|
-
import_dialog2.Dialog.Popup,
|
|
2423
|
+
var import_cn12 = require("cn");
|
|
2424
|
+
var import_lucide_react8 = require("lucide-react");
|
|
2425
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2426
|
+
|
|
2427
|
+
// src/primitives/input-group.tsx
|
|
2428
|
+
var import_class_variance_authority13 = require("class-variance-authority");
|
|
2429
|
+
var import_cn14 = require("cn");
|
|
2430
|
+
|
|
2431
|
+
// src/primitives/textarea.tsx
|
|
2432
|
+
var import_cn13 = require("cn");
|
|
2433
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2434
|
+
function Textarea({ className, ...props }) {
|
|
2435
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2436
|
+
"textarea",
|
|
2177
2437
|
{
|
|
2178
|
-
|
|
2179
|
-
className: cn(
|
|
2180
|
-
"
|
|
2438
|
+
"data-slot": "textarea",
|
|
2439
|
+
className: (0, import_cn13.cn)(
|
|
2440
|
+
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
2181
2441
|
className
|
|
2182
2442
|
),
|
|
2183
|
-
...props
|
|
2184
|
-
children: [
|
|
2185
|
-
children,
|
|
2186
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_dialog2.Dialog.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-open:bg-accent data-open:text-muted-foreground", children: [
|
|
2187
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react7.X, { className: "h-4 w-4" }),
|
|
2188
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "sr-only", children: "Close" })
|
|
2189
|
-
] })
|
|
2190
|
-
]
|
|
2443
|
+
...props
|
|
2191
2444
|
}
|
|
2192
|
-
)
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2445
|
+
);
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
// src/primitives/input-group.tsx
|
|
2449
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2450
|
+
function InputGroup({ className, ...props }) {
|
|
2451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2452
|
+
"div",
|
|
2453
|
+
{
|
|
2454
|
+
"data-slot": "input-group",
|
|
2455
|
+
role: "group",
|
|
2456
|
+
className: (0, import_cn14.cn)(
|
|
2457
|
+
"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
|
|
2458
|
+
className
|
|
2459
|
+
),
|
|
2460
|
+
...props
|
|
2461
|
+
}
|
|
2462
|
+
);
|
|
2463
|
+
}
|
|
2464
|
+
var inputGroupAddonVariants = (0, import_class_variance_authority13.cva)(
|
|
2465
|
+
"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",
|
|
2199
2466
|
{
|
|
2200
|
-
|
|
2201
|
-
|
|
2467
|
+
variants: {
|
|
2468
|
+
align: {
|
|
2469
|
+
"inline-start": "order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]",
|
|
2470
|
+
"inline-end": "order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]",
|
|
2471
|
+
"block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
|
|
2472
|
+
"block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
|
|
2473
|
+
}
|
|
2474
|
+
},
|
|
2475
|
+
defaultVariants: {
|
|
2476
|
+
align: "inline-start"
|
|
2477
|
+
}
|
|
2202
2478
|
}
|
|
2203
2479
|
);
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2480
|
+
function InputGroupAddon({
|
|
2481
|
+
className,
|
|
2482
|
+
align = "inline-start",
|
|
2483
|
+
...props
|
|
2484
|
+
}) {
|
|
2485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2486
|
+
"div",
|
|
2487
|
+
{
|
|
2488
|
+
role: "group",
|
|
2489
|
+
"data-slot": "input-group-addon",
|
|
2490
|
+
"data-align": align,
|
|
2491
|
+
className: (0, import_cn14.cn)(inputGroupAddonVariants({ align }), className),
|
|
2492
|
+
onClick: (e) => {
|
|
2493
|
+
if (e.target.closest("button")) {
|
|
2494
|
+
return;
|
|
2495
|
+
}
|
|
2496
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
2497
|
+
},
|
|
2498
|
+
...props
|
|
2499
|
+
}
|
|
2500
|
+
);
|
|
2501
|
+
}
|
|
2502
|
+
var inputGroupButtonVariants = (0, import_class_variance_authority13.cva)(
|
|
2503
|
+
"flex items-center gap-2 text-sm shadow-none",
|
|
2504
|
+
{
|
|
2505
|
+
variants: {
|
|
2506
|
+
size: {
|
|
2507
|
+
xs: "h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
2508
|
+
sm: "",
|
|
2509
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0",
|
|
2510
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
2511
|
+
}
|
|
2512
|
+
},
|
|
2513
|
+
defaultVariants: {
|
|
2514
|
+
size: "xs"
|
|
2515
|
+
}
|
|
2220
2516
|
}
|
|
2221
|
-
)
|
|
2222
|
-
DialogDescription2.displayName = "DialogDescription";
|
|
2517
|
+
);
|
|
2223
2518
|
|
|
2224
2519
|
// src/primitives/command.tsx
|
|
2225
|
-
var
|
|
2226
|
-
var
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
),
|
|
2234
|
-
...props
|
|
2235
|
-
}
|
|
2236
|
-
));
|
|
2237
|
-
Command.displayName = import_cmdk.Command.displayName;
|
|
2238
|
-
var CommandInput = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
2239
|
-
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react8.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
2240
|
-
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2241
|
-
import_cmdk.Command.Input,
|
|
2520
|
+
var import_lucide_react9 = require("lucide-react");
|
|
2521
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2522
|
+
function Command({
|
|
2523
|
+
className,
|
|
2524
|
+
...props
|
|
2525
|
+
}) {
|
|
2526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2527
|
+
import_cmdk.Command,
|
|
2242
2528
|
{
|
|
2243
|
-
|
|
2244
|
-
className: cn(
|
|
2245
|
-
"flex
|
|
2529
|
+
"data-slot": "command",
|
|
2530
|
+
className: (0, import_cn15.cn)(
|
|
2531
|
+
"flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",
|
|
2246
2532
|
className
|
|
2247
2533
|
),
|
|
2248
2534
|
...props
|
|
2249
2535
|
}
|
|
2250
|
-
)
|
|
2251
|
-
|
|
2252
|
-
CommandInput
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
ref,
|
|
2268
|
-
className: cn(
|
|
2269
|
-
"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
|
|
2270
|
-
className
|
|
2271
|
-
),
|
|
2272
|
-
...props
|
|
2273
|
-
}
|
|
2274
|
-
));
|
|
2275
|
-
CommandGroup.displayName = import_cmdk.Command.Group.displayName;
|
|
2276
|
-
var CommandSeparator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2277
|
-
import_cmdk.Command.Separator,
|
|
2278
|
-
{
|
|
2279
|
-
ref,
|
|
2280
|
-
className: cn("-mx-1 h-px bg-border", className),
|
|
2281
|
-
...props
|
|
2282
|
-
}
|
|
2283
|
-
));
|
|
2284
|
-
CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
|
|
2285
|
-
var CommandItem = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2286
|
-
import_cmdk.Command.Item,
|
|
2287
|
-
{
|
|
2288
|
-
ref,
|
|
2289
|
-
className: cn(
|
|
2290
|
-
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
2291
|
-
className
|
|
2536
|
+
);
|
|
2537
|
+
}
|
|
2538
|
+
function CommandInput({
|
|
2539
|
+
className,
|
|
2540
|
+
...props
|
|
2541
|
+
}) {
|
|
2542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { "data-slot": "command-input-wrapper", className: "p-1 pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(InputGroup, { className: "h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!", children: [
|
|
2543
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2544
|
+
import_cmdk.Command.Input,
|
|
2545
|
+
{
|
|
2546
|
+
"data-slot": "command-input",
|
|
2547
|
+
className: (0, import_cn15.cn)(
|
|
2548
|
+
"w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
2549
|
+
className
|
|
2550
|
+
),
|
|
2551
|
+
...props
|
|
2552
|
+
}
|
|
2292
2553
|
),
|
|
2293
|
-
|
|
2294
|
-
}
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2554
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(InputGroupAddon, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react9.SearchIcon, { className: "size-4 shrink-0 opacity-50" }) })
|
|
2555
|
+
] }) });
|
|
2556
|
+
}
|
|
2557
|
+
function CommandList({
|
|
2558
|
+
className,
|
|
2559
|
+
...props
|
|
2560
|
+
}) {
|
|
2561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2562
|
+
import_cmdk.Command.List,
|
|
2300
2563
|
{
|
|
2301
|
-
|
|
2564
|
+
"data-slot": "command-list",
|
|
2565
|
+
className: (0, import_cn15.cn)(
|
|
2566
|
+
"no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",
|
|
2567
|
+
className
|
|
2568
|
+
),
|
|
2302
2569
|
...props
|
|
2303
2570
|
}
|
|
2304
2571
|
);
|
|
2305
|
-
}
|
|
2306
|
-
|
|
2572
|
+
}
|
|
2573
|
+
function CommandEmpty({
|
|
2574
|
+
className,
|
|
2575
|
+
...props
|
|
2576
|
+
}) {
|
|
2577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2578
|
+
import_cmdk.Command.Empty,
|
|
2579
|
+
{
|
|
2580
|
+
"data-slot": "command-empty",
|
|
2581
|
+
className: (0, import_cn15.cn)("py-6 text-center text-sm", className),
|
|
2582
|
+
...props
|
|
2583
|
+
}
|
|
2584
|
+
);
|
|
2585
|
+
}
|
|
2586
|
+
function CommandGroup({
|
|
2587
|
+
className,
|
|
2588
|
+
...props
|
|
2589
|
+
}) {
|
|
2590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2591
|
+
import_cmdk.Command.Group,
|
|
2592
|
+
{
|
|
2593
|
+
"data-slot": "command-group",
|
|
2594
|
+
className: (0, import_cn15.cn)(
|
|
2595
|
+
"overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
|
|
2596
|
+
className
|
|
2597
|
+
),
|
|
2598
|
+
...props
|
|
2599
|
+
}
|
|
2600
|
+
);
|
|
2601
|
+
}
|
|
2602
|
+
function CommandItem({
|
|
2603
|
+
className,
|
|
2604
|
+
children,
|
|
2605
|
+
...props
|
|
2606
|
+
}) {
|
|
2607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2608
|
+
import_cmdk.Command.Item,
|
|
2609
|
+
{
|
|
2610
|
+
"data-slot": "command-item",
|
|
2611
|
+
className: (0, import_cn15.cn)(
|
|
2612
|
+
"group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",
|
|
2613
|
+
className
|
|
2614
|
+
),
|
|
2615
|
+
...props,
|
|
2616
|
+
children: [
|
|
2617
|
+
children,
|
|
2618
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react9.CheckIcon, { className: "ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100" })
|
|
2619
|
+
]
|
|
2620
|
+
}
|
|
2621
|
+
);
|
|
2622
|
+
}
|
|
2307
2623
|
|
|
2308
2624
|
// src/components/country-select/countries.ts
|
|
2309
2625
|
var COUNTRIES = [
|
|
@@ -2447,8 +2763,8 @@ var isEUCountry = (countryCode) => {
|
|
|
2447
2763
|
};
|
|
2448
2764
|
|
|
2449
2765
|
// src/components/country-select/CountrySelect.tsx
|
|
2450
|
-
var
|
|
2451
|
-
var CountrySelect =
|
|
2766
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2767
|
+
var CountrySelect = React18.forwardRef(
|
|
2452
2768
|
({
|
|
2453
2769
|
value,
|
|
2454
2770
|
onValueChange,
|
|
@@ -2458,53 +2774,58 @@ var CountrySelect = React30.forwardRef(
|
|
|
2458
2774
|
align = "center",
|
|
2459
2775
|
sideOffset = 4
|
|
2460
2776
|
}, ref) => {
|
|
2461
|
-
const [open, setOpen] =
|
|
2462
|
-
const selectedCountry =
|
|
2463
|
-
return /* @__PURE__ */ (0,
|
|
2464
|
-
/* @__PURE__ */ (0,
|
|
2465
|
-
|
|
2777
|
+
const [open, setOpen] = React18.useState(false);
|
|
2778
|
+
const selectedCountry = React18.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
|
|
2779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
2780
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2781
|
+
PopoverTrigger,
|
|
2466
2782
|
{
|
|
2467
2783
|
ref,
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2784
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2785
|
+
"button",
|
|
2786
|
+
{
|
|
2787
|
+
type: "button",
|
|
2788
|
+
disabled,
|
|
2789
|
+
"aria-expanded": open,
|
|
2790
|
+
className: cn(
|
|
2791
|
+
// Base layout — consistent with Select trigger
|
|
2792
|
+
"flex w-full items-center justify-between",
|
|
2793
|
+
"rounded-berget-xs border bg-card",
|
|
2794
|
+
"px-4 py-3 text-sm",
|
|
2795
|
+
"transition-colors duration-200",
|
|
2796
|
+
"focus-visible:outline-none focus-visible:ring-0",
|
|
2797
|
+
"focus-visible:ring-offset-0 focus-visible:border-berget-form-focus-border",
|
|
2798
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
2799
|
+
// Default border & hover matching Select variant "default"
|
|
2800
|
+
"border-berget-border-interactive hover:bg-berget-surface-hover",
|
|
2801
|
+
className
|
|
2802
|
+
)
|
|
2803
|
+
}
|
|
2483
2804
|
),
|
|
2484
2805
|
children: [
|
|
2485
|
-
/* @__PURE__ */ (0,
|
|
2486
|
-
/* @__PURE__ */ (0,
|
|
2487
|
-
/* @__PURE__ */ (0,
|
|
2488
|
-
/* @__PURE__ */ (0,
|
|
2806
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
|
2807
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
|
|
2808
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "truncate", children: selectedCountry.name }),
|
|
2809
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
|
|
2489
2810
|
"(",
|
|
2490
2811
|
selectedCountry.code,
|
|
2491
2812
|
")"
|
|
2492
2813
|
] })
|
|
2493
|
-
] }) : /* @__PURE__ */ (0,
|
|
2494
|
-
/* @__PURE__ */ (0,
|
|
2814
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
|
2815
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2495
2816
|
Icon,
|
|
2496
2817
|
{
|
|
2497
|
-
icon:
|
|
2818
|
+
icon: import_lucide_react10.Globe,
|
|
2498
2819
|
size: 16,
|
|
2499
2820
|
className: "flex-shrink-0 text-berget-muted-foreground"
|
|
2500
2821
|
}
|
|
2501
2822
|
),
|
|
2502
|
-
/* @__PURE__ */ (0,
|
|
2823
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
|
|
2503
2824
|
] }) }),
|
|
2504
|
-
/* @__PURE__ */ (0,
|
|
2825
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2505
2826
|
Icon,
|
|
2506
2827
|
{
|
|
2507
|
-
icon:
|
|
2828
|
+
icon: import_lucide_react10.ChevronDown,
|
|
2508
2829
|
size: 16,
|
|
2509
2830
|
className: cn(
|
|
2510
2831
|
"flex-shrink-0 text-berget-muted-foreground",
|
|
@@ -2515,18 +2836,18 @@ var CountrySelect = React30.forwardRef(
|
|
|
2515
2836
|
)
|
|
2516
2837
|
]
|
|
2517
2838
|
}
|
|
2518
|
-
)
|
|
2519
|
-
/* @__PURE__ */ (0,
|
|
2839
|
+
),
|
|
2840
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2520
2841
|
PopoverContent,
|
|
2521
2842
|
{
|
|
2522
2843
|
align,
|
|
2523
2844
|
sideOffset,
|
|
2524
2845
|
className: "w-[var(--radix-popover-trigger-width)] p-0",
|
|
2525
|
-
children: /* @__PURE__ */ (0,
|
|
2526
|
-
/* @__PURE__ */ (0,
|
|
2527
|
-
/* @__PURE__ */ (0,
|
|
2528
|
-
/* @__PURE__ */ (0,
|
|
2529
|
-
/* @__PURE__ */ (0,
|
|
2846
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Command, { children: [
|
|
2847
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandInput, { placeholder: "Search country..." }),
|
|
2848
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(CommandList, { children: [
|
|
2849
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandEmpty, { children: "No countries found." }),
|
|
2850
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2530
2851
|
CommandItem,
|
|
2531
2852
|
{
|
|
2532
2853
|
value: `${country.name} ${country.code}`,
|
|
@@ -2540,12 +2861,12 @@ var CountrySelect = React30.forwardRef(
|
|
|
2540
2861
|
value === country.code && "bg-berget-brand-granite-800/40"
|
|
2541
2862
|
),
|
|
2542
2863
|
children: [
|
|
2543
|
-
/* @__PURE__ */ (0,
|
|
2544
|
-
/* @__PURE__ */ (0,
|
|
2545
|
-
/* @__PURE__ */ (0,
|
|
2546
|
-
/* @__PURE__ */ (0,
|
|
2864
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-xl flex-shrink-0", children: country.flag }),
|
|
2865
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
2866
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-sm truncate", children: country.name }),
|
|
2867
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
|
|
2547
2868
|
] }),
|
|
2548
|
-
value === country.code && /* @__PURE__ */ (0,
|
|
2869
|
+
value === country.code && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-0" })
|
|
2549
2870
|
]
|
|
2550
2871
|
},
|
|
2551
2872
|
country.code
|
|
@@ -2560,32 +2881,10 @@ var CountrySelect = React30.forwardRef(
|
|
|
2560
2881
|
CountrySelect.displayName = "CountrySelect";
|
|
2561
2882
|
|
|
2562
2883
|
// src/components/text-area/TextArea.tsx
|
|
2563
|
-
var
|
|
2564
|
-
var
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
var React31 = __toESM(require("react"), 1);
|
|
2568
|
-
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2569
|
-
var Textarea = React31.forwardRef(
|
|
2570
|
-
({ className, ...props }, ref) => {
|
|
2571
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2572
|
-
"textarea",
|
|
2573
|
-
{
|
|
2574
|
-
className: cn(
|
|
2575
|
-
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
2576
|
-
className
|
|
2577
|
-
),
|
|
2578
|
-
ref,
|
|
2579
|
-
...props
|
|
2580
|
-
}
|
|
2581
|
-
);
|
|
2582
|
-
}
|
|
2583
|
-
);
|
|
2584
|
-
Textarea.displayName = "Textarea";
|
|
2585
|
-
|
|
2586
|
-
// src/components/text-area/TextArea.tsx
|
|
2587
|
-
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2588
|
-
var textAreaVariants = (0, import_class_variance_authority12.cva)(
|
|
2884
|
+
var React19 = __toESM(require("react"), 1);
|
|
2885
|
+
var import_class_variance_authority14 = require("class-variance-authority");
|
|
2886
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2887
|
+
var textAreaVariants = (0, import_class_variance_authority14.cva)(
|
|
2589
2888
|
"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",
|
|
2590
2889
|
{
|
|
2591
2890
|
variants: {
|
|
@@ -2607,7 +2906,7 @@ var textAreaVariants = (0, import_class_variance_authority12.cva)(
|
|
|
2607
2906
|
}
|
|
2608
2907
|
}
|
|
2609
2908
|
);
|
|
2610
|
-
var TextArea =
|
|
2909
|
+
var TextArea = React19.forwardRef(
|
|
2611
2910
|
({
|
|
2612
2911
|
className,
|
|
2613
2912
|
variant,
|
|
@@ -2627,13 +2926,13 @@ var TextArea = React32.forwardRef(
|
|
|
2627
2926
|
actionButton,
|
|
2628
2927
|
...props
|
|
2629
2928
|
}, ref) => {
|
|
2630
|
-
const generatedId =
|
|
2929
|
+
const generatedId = React19.useId();
|
|
2631
2930
|
const textareaId = id || generatedId;
|
|
2632
2931
|
const errorId = `${textareaId}-error`;
|
|
2633
2932
|
const descriptionId = `${textareaId}-description`;
|
|
2634
2933
|
const characterCount = typeof value === "string" ? value.length : 0;
|
|
2635
|
-
return /* @__PURE__ */ (0,
|
|
2636
|
-
label && /* @__PURE__ */ (0,
|
|
2934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
2935
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2637
2936
|
"label",
|
|
2638
2937
|
{
|
|
2639
2938
|
htmlFor: textareaId,
|
|
@@ -2645,9 +2944,9 @@ var TextArea = React32.forwardRef(
|
|
|
2645
2944
|
children: label
|
|
2646
2945
|
}
|
|
2647
2946
|
),
|
|
2648
|
-
/* @__PURE__ */ (0,
|
|
2649
|
-
icon && /* @__PURE__ */ (0,
|
|
2650
|
-
/* @__PURE__ */ (0,
|
|
2947
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "relative", children: [
|
|
2948
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
|
|
2949
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2651
2950
|
Textarea,
|
|
2652
2951
|
{
|
|
2653
2952
|
ref,
|
|
@@ -2672,13 +2971,13 @@ var TextArea = React32.forwardRef(
|
|
|
2672
2971
|
...props
|
|
2673
2972
|
}
|
|
2674
2973
|
),
|
|
2675
|
-
secondaryIcon && /* @__PURE__ */ (0,
|
|
2676
|
-
actionButton && /* @__PURE__ */ (0,
|
|
2974
|
+
secondaryIcon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
|
|
2975
|
+
actionButton && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
|
|
2677
2976
|
] }),
|
|
2678
|
-
(description || error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
2679
|
-
description && /* @__PURE__ */ (0,
|
|
2680
|
-
(error || showCount && maxLength) && /* @__PURE__ */ (0,
|
|
2681
|
-
showCount && maxLength && /* @__PURE__ */ (0,
|
|
2977
|
+
(description || error || showCount && maxLength) && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
|
|
2978
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
|
|
2979
|
+
(error || showCount && maxLength) && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
2980
|
+
showCount && maxLength && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2682
2981
|
Typography,
|
|
2683
2982
|
{
|
|
2684
2983
|
variant: "xs",
|
|
@@ -2692,7 +2991,7 @@ var TextArea = React32.forwardRef(
|
|
|
2692
2991
|
]
|
|
2693
2992
|
}
|
|
2694
2993
|
),
|
|
2695
|
-
error && /* @__PURE__ */ (0,
|
|
2994
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2696
2995
|
Typography,
|
|
2697
2996
|
{
|
|
2698
2997
|
variant: "xs",
|
|
@@ -2709,27 +3008,34 @@ var TextArea = React32.forwardRef(
|
|
|
2709
3008
|
TextArea.displayName = "TextArea";
|
|
2710
3009
|
|
|
2711
3010
|
// src/primitives/label.tsx
|
|
2712
|
-
var
|
|
2713
|
-
var
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
3011
|
+
var import_cn16 = require("cn");
|
|
3012
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3013
|
+
function Label({ className, ...props }) {
|
|
3014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3015
|
+
"label",
|
|
3016
|
+
{
|
|
3017
|
+
"data-slot": "label",
|
|
3018
|
+
className: (0, import_cn16.cn)(
|
|
3019
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
3020
|
+
className
|
|
3021
|
+
),
|
|
3022
|
+
...props
|
|
3023
|
+
}
|
|
3024
|
+
);
|
|
3025
|
+
}
|
|
2720
3026
|
|
|
2721
3027
|
// src/primitives/field.tsx
|
|
2722
3028
|
var import_react = require("react");
|
|
2723
|
-
var
|
|
2724
|
-
var
|
|
3029
|
+
var import_class_variance_authority15 = require("class-variance-authority");
|
|
3030
|
+
var import_cn17 = require("cn");
|
|
3031
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2725
3032
|
function FieldSet({ className, ...props }) {
|
|
2726
|
-
return /* @__PURE__ */ (0,
|
|
3033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2727
3034
|
"fieldset",
|
|
2728
3035
|
{
|
|
2729
3036
|
"data-slot": "field-set",
|
|
2730
|
-
className: cn(
|
|
2731
|
-
"flex flex-col gap-
|
|
2732
|
-
"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
3037
|
+
className: (0, import_cn17.cn)(
|
|
3038
|
+
"flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
|
|
2733
3039
|
className
|
|
2734
3040
|
),
|
|
2735
3041
|
...props
|
|
@@ -2741,15 +3047,13 @@ function FieldLegend({
|
|
|
2741
3047
|
variant = "legend",
|
|
2742
3048
|
...props
|
|
2743
3049
|
}) {
|
|
2744
|
-
return /* @__PURE__ */ (0,
|
|
3050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2745
3051
|
"legend",
|
|
2746
3052
|
{
|
|
2747
3053
|
"data-slot": "field-legend",
|
|
2748
3054
|
"data-variant": variant,
|
|
2749
|
-
className: cn(
|
|
2750
|
-
"mb-
|
|
2751
|
-
"data-[variant=legend]:text-base",
|
|
2752
|
-
"data-[variant=label]:text-sm",
|
|
3055
|
+
className: (0, import_cn17.cn)(
|
|
3056
|
+
"mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
|
|
2753
3057
|
className
|
|
2754
3058
|
),
|
|
2755
3059
|
...props
|
|
@@ -2757,34 +3061,26 @@ function FieldLegend({
|
|
|
2757
3061
|
);
|
|
2758
3062
|
}
|
|
2759
3063
|
function FieldGroup({ className, ...props }) {
|
|
2760
|
-
return /* @__PURE__ */ (0,
|
|
3064
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2761
3065
|
"div",
|
|
2762
3066
|
{
|
|
2763
3067
|
"data-slot": "field-group",
|
|
2764
|
-
className: cn(
|
|
2765
|
-
"group/field-group @container/field-group flex w-full flex-col gap-
|
|
3068
|
+
className: (0, import_cn17.cn)(
|
|
3069
|
+
"group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
|
|
2766
3070
|
className
|
|
2767
3071
|
),
|
|
2768
3072
|
...props
|
|
2769
3073
|
}
|
|
2770
3074
|
);
|
|
2771
3075
|
}
|
|
2772
|
-
var fieldVariants = (0,
|
|
2773
|
-
"group/field data-[invalid=true]:text-
|
|
3076
|
+
var fieldVariants = (0, import_class_variance_authority15.cva)(
|
|
3077
|
+
"group/field flex w-full gap-2 data-[invalid=true]:text-destructive",
|
|
2774
3078
|
{
|
|
2775
3079
|
variants: {
|
|
2776
3080
|
orientation: {
|
|
2777
|
-
vertical:
|
|
2778
|
-
horizontal: [
|
|
2779
|
-
|
|
2780
|
-
"[&>[data-slot=field-label]]:flex-auto",
|
|
2781
|
-
"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px has-[>[data-slot=field-content]]:items-start"
|
|
2782
|
-
],
|
|
2783
|
-
responsive: [
|
|
2784
|
-
"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto flex-col [&>*]:w-full [&>.sr-only]:w-auto",
|
|
2785
|
-
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
2786
|
-
"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
2787
|
-
]
|
|
3081
|
+
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
3082
|
+
horizontal: "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
3083
|
+
responsive: "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
2788
3084
|
}
|
|
2789
3085
|
},
|
|
2790
3086
|
defaultVariants: {
|
|
@@ -2797,36 +3093,41 @@ function Field({
|
|
|
2797
3093
|
orientation = "vertical",
|
|
2798
3094
|
...props
|
|
2799
3095
|
}) {
|
|
2800
|
-
return /* @__PURE__ */ (0,
|
|
3096
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2801
3097
|
"div",
|
|
2802
3098
|
{
|
|
2803
3099
|
role: "group",
|
|
2804
3100
|
"data-slot": "field",
|
|
2805
3101
|
"data-orientation": orientation,
|
|
2806
|
-
className: cn(fieldVariants({ orientation }), className),
|
|
3102
|
+
className: (0, import_cn17.cn)(fieldVariants({ orientation }), className),
|
|
2807
3103
|
...props
|
|
2808
3104
|
}
|
|
2809
3105
|
);
|
|
2810
3106
|
}
|
|
2811
3107
|
function FieldContent({ className, ...props }) {
|
|
2812
|
-
return /* @__PURE__ */ (0,
|
|
3108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2813
3109
|
"div",
|
|
2814
3110
|
{
|
|
2815
3111
|
"data-slot": "field-content",
|
|
2816
|
-
className:
|
|
3112
|
+
className: (0, import_cn17.cn)(
|
|
3113
|
+
"group/field-content flex flex-1 flex-col gap-0.5 leading-snug",
|
|
3114
|
+
className
|
|
3115
|
+
),
|
|
2817
3116
|
...props
|
|
2818
3117
|
}
|
|
2819
3118
|
);
|
|
2820
3119
|
}
|
|
2821
|
-
function FieldLabel({
|
|
2822
|
-
|
|
3120
|
+
function FieldLabel({
|
|
3121
|
+
className,
|
|
3122
|
+
...props
|
|
3123
|
+
}) {
|
|
3124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2823
3125
|
Label,
|
|
2824
3126
|
{
|
|
2825
3127
|
"data-slot": "field-label",
|
|
2826
|
-
className: cn(
|
|
2827
|
-
"group/field-label peer/field-label flex w-fit gap-2 leading-snug
|
|
2828
|
-
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col
|
|
2829
|
-
"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
|
|
3128
|
+
className: (0, import_cn17.cn)(
|
|
3129
|
+
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10",
|
|
3130
|
+
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
|
|
2830
3131
|
className
|
|
2831
3132
|
),
|
|
2832
3133
|
...props
|
|
@@ -2834,12 +3135,12 @@ function FieldLabel({ className, ...props }) {
|
|
|
2834
3135
|
);
|
|
2835
3136
|
}
|
|
2836
3137
|
function FieldTitle({ className, ...props }) {
|
|
2837
|
-
return /* @__PURE__ */ (0,
|
|
3138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2838
3139
|
"div",
|
|
2839
3140
|
{
|
|
2840
3141
|
"data-slot": "field-label",
|
|
2841
|
-
className: cn(
|
|
2842
|
-
"flex w-fit items-center gap-2 text-sm font-medium
|
|
3142
|
+
className: (0, import_cn17.cn)(
|
|
3143
|
+
"flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",
|
|
2843
3144
|
className
|
|
2844
3145
|
),
|
|
2845
3146
|
...props
|
|
@@ -2847,14 +3148,14 @@ function FieldTitle({ className, ...props }) {
|
|
|
2847
3148
|
);
|
|
2848
3149
|
}
|
|
2849
3150
|
function FieldDescription({ className, ...props }) {
|
|
2850
|
-
return /* @__PURE__ */ (0,
|
|
3151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2851
3152
|
"p",
|
|
2852
3153
|
{
|
|
2853
3154
|
"data-slot": "field-description",
|
|
2854
|
-
className: cn(
|
|
2855
|
-
"text-
|
|
2856
|
-
"
|
|
2857
|
-
"[&>a
|
|
3155
|
+
className: (0, import_cn17.cn)(
|
|
3156
|
+
"text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
|
|
3157
|
+
"last:mt-0 nth-last-2:-mt-1",
|
|
3158
|
+
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
|
|
2858
3159
|
className
|
|
2859
3160
|
),
|
|
2860
3161
|
...props
|
|
@@ -2866,22 +3167,22 @@ function FieldSeparator({
|
|
|
2866
3167
|
className,
|
|
2867
3168
|
...props
|
|
2868
3169
|
}) {
|
|
2869
|
-
return /* @__PURE__ */ (0,
|
|
3170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2870
3171
|
"div",
|
|
2871
3172
|
{
|
|
2872
3173
|
"data-slot": "field-separator",
|
|
2873
3174
|
"data-content": !!children,
|
|
2874
|
-
className: cn(
|
|
3175
|
+
className: (0, import_cn17.cn)(
|
|
2875
3176
|
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
|
|
2876
3177
|
className
|
|
2877
3178
|
),
|
|
2878
3179
|
...props,
|
|
2879
3180
|
children: [
|
|
2880
|
-
/* @__PURE__ */ (0,
|
|
2881
|
-
children && /* @__PURE__ */ (0,
|
|
3181
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
3182
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2882
3183
|
"span",
|
|
2883
3184
|
{
|
|
2884
|
-
className: "
|
|
3185
|
+
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
2885
3186
|
"data-slot": "field-separator-content",
|
|
2886
3187
|
children
|
|
2887
3188
|
}
|
|
@@ -2900,23 +3201,28 @@ function FieldError({
|
|
|
2900
3201
|
if (children) {
|
|
2901
3202
|
return children;
|
|
2902
3203
|
}
|
|
2903
|
-
if (!errors) {
|
|
3204
|
+
if (!errors?.length) {
|
|
2904
3205
|
return null;
|
|
2905
3206
|
}
|
|
2906
|
-
|
|
2907
|
-
|
|
3207
|
+
const uniqueErrors = [
|
|
3208
|
+
...new Map(errors.map((error) => [error?.message, error])).values()
|
|
3209
|
+
];
|
|
3210
|
+
if (uniqueErrors?.length == 1) {
|
|
3211
|
+
return uniqueErrors[0]?.message;
|
|
2908
3212
|
}
|
|
2909
|
-
return /* @__PURE__ */ (0,
|
|
3213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
3214
|
+
(error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: error.message }, index)
|
|
3215
|
+
) });
|
|
2910
3216
|
}, [children, errors]);
|
|
2911
3217
|
if (!content) {
|
|
2912
3218
|
return null;
|
|
2913
3219
|
}
|
|
2914
|
-
return /* @__PURE__ */ (0,
|
|
3220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2915
3221
|
"div",
|
|
2916
3222
|
{
|
|
2917
3223
|
role: "alert",
|
|
2918
3224
|
"data-slot": "field-error",
|
|
2919
|
-
className: cn("text-
|
|
3225
|
+
className: (0, import_cn17.cn)("text-sm font-normal text-destructive", className),
|
|
2920
3226
|
...props,
|
|
2921
3227
|
children: content
|
|
2922
3228
|
}
|
|
@@ -2924,11 +3230,11 @@ function FieldError({
|
|
|
2924
3230
|
}
|
|
2925
3231
|
|
|
2926
3232
|
// src/components/link/Link.tsx
|
|
2927
|
-
var
|
|
2928
|
-
var
|
|
2929
|
-
var
|
|
2930
|
-
var
|
|
2931
|
-
var linkVariants = (0,
|
|
3233
|
+
var React20 = __toESM(require("react"), 1);
|
|
3234
|
+
var import_class_variance_authority16 = require("class-variance-authority");
|
|
3235
|
+
var import_lucide_react11 = require("lucide-react");
|
|
3236
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3237
|
+
var linkVariants = (0, import_class_variance_authority16.cva)(
|
|
2932
3238
|
"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",
|
|
2933
3239
|
{
|
|
2934
3240
|
variants: {
|
|
@@ -2952,7 +3258,7 @@ var linkVariants = (0, import_class_variance_authority15.cva)(
|
|
|
2952
3258
|
}
|
|
2953
3259
|
}
|
|
2954
3260
|
);
|
|
2955
|
-
var Link =
|
|
3261
|
+
var Link = React20.forwardRef(
|
|
2956
3262
|
({
|
|
2957
3263
|
className,
|
|
2958
3264
|
variant,
|
|
@@ -2965,7 +3271,7 @@ var Link = React34.forwardRef(
|
|
|
2965
3271
|
...props
|
|
2966
3272
|
}, ref) => {
|
|
2967
3273
|
const isExternal = external || typeof props.href === "string" && (props.href.startsWith("http://") || props.href.startsWith("https://") || props.href.startsWith("mailto:") || props.href.startsWith("tel:"));
|
|
2968
|
-
return /* @__PURE__ */ (0,
|
|
3274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2969
3275
|
"a",
|
|
2970
3276
|
{
|
|
2971
3277
|
ref,
|
|
@@ -2981,8 +3287,8 @@ var Link = React34.forwardRef(
|
|
|
2981
3287
|
},
|
|
2982
3288
|
children: [
|
|
2983
3289
|
children,
|
|
2984
|
-
icon && /* @__PURE__ */ (0,
|
|
2985
|
-
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0,
|
|
3290
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "inline-flex items-center", children: icon }),
|
|
3291
|
+
showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { icon: import_lucide_react11.ExternalLink, size: 16 }) })
|
|
2986
3292
|
]
|
|
2987
3293
|
}
|
|
2988
3294
|
);
|
|
@@ -2991,11 +3297,11 @@ var Link = React34.forwardRef(
|
|
|
2991
3297
|
Link.displayName = "Link";
|
|
2992
3298
|
|
|
2993
3299
|
// src/components/container/Container.tsx
|
|
2994
|
-
var
|
|
3300
|
+
var React21 = __toESM(require("react"), 1);
|
|
2995
3301
|
var import_merge_props2 = require("@base-ui/react/merge-props");
|
|
2996
3302
|
var import_use_render2 = require("@base-ui/react/use-render");
|
|
2997
|
-
var
|
|
2998
|
-
var containerVariants = (0,
|
|
3303
|
+
var import_class_variance_authority17 = require("class-variance-authority");
|
|
3304
|
+
var containerVariants = (0, import_class_variance_authority17.cva)("w-full mx-auto", {
|
|
2999
3305
|
variants: {
|
|
3000
3306
|
size: {
|
|
3001
3307
|
sm: "max-w-3xl",
|
|
@@ -3016,7 +3322,7 @@ var containerVariants = (0, import_class_variance_authority16.cva)("w-full mx-au
|
|
|
3016
3322
|
padding: "md"
|
|
3017
3323
|
}
|
|
3018
3324
|
});
|
|
3019
|
-
var Container =
|
|
3325
|
+
var Container = React21.forwardRef(
|
|
3020
3326
|
({ className, size, padding, asChild = false, children, ...props }, ref) => {
|
|
3021
3327
|
return (0, import_use_render2.useRender)({
|
|
3022
3328
|
ref,
|
|
@@ -3035,11 +3341,11 @@ var Container = React35.forwardRef(
|
|
|
3035
3341
|
Container.displayName = "Container";
|
|
3036
3342
|
|
|
3037
3343
|
// src/components/grid/Grid.tsx
|
|
3038
|
-
var
|
|
3039
|
-
var
|
|
3344
|
+
var React22 = __toESM(require("react"), 1);
|
|
3345
|
+
var import_class_variance_authority18 = require("class-variance-authority");
|
|
3040
3346
|
var import_merge_props3 = require("@base-ui/react/merge-props");
|
|
3041
3347
|
var import_use_render3 = require("@base-ui/react/use-render");
|
|
3042
|
-
var gridVariants = (0,
|
|
3348
|
+
var gridVariants = (0, import_class_variance_authority18.cva)("grid", {
|
|
3043
3349
|
variants: {
|
|
3044
3350
|
align: {
|
|
3045
3351
|
start: "items-start",
|
|
@@ -3061,7 +3367,7 @@ var gridVariants = (0, import_class_variance_authority17.cva)("grid", {
|
|
|
3061
3367
|
justify: "start"
|
|
3062
3368
|
}
|
|
3063
3369
|
});
|
|
3064
|
-
var Grid =
|
|
3370
|
+
var Grid = React22.forwardRef(
|
|
3065
3371
|
({ className, align, justify, cols, rows, gap, gapX, gapY, asChild = false, children, ...props }, ref) => {
|
|
3066
3372
|
return (0, import_use_render3.useRender)({
|
|
3067
3373
|
ref,
|
|
@@ -3088,11 +3394,11 @@ var Grid = React36.forwardRef(
|
|
|
3088
3394
|
Grid.displayName = "Grid";
|
|
3089
3395
|
|
|
3090
3396
|
// src/components/box/Box.tsx
|
|
3091
|
-
var
|
|
3092
|
-
var
|
|
3397
|
+
var React23 = __toESM(require("react"), 1);
|
|
3398
|
+
var import_class_variance_authority19 = require("class-variance-authority");
|
|
3093
3399
|
var import_merge_props4 = require("@base-ui/react/merge-props");
|
|
3094
3400
|
var import_use_render4 = require("@base-ui/react/use-render");
|
|
3095
|
-
var boxVariants = (0,
|
|
3401
|
+
var boxVariants = (0, import_class_variance_authority19.cva)("flex", {
|
|
3096
3402
|
variants: {
|
|
3097
3403
|
direction: {
|
|
3098
3404
|
row: "flex-row",
|
|
@@ -3128,7 +3434,7 @@ var boxVariants = (0, import_class_variance_authority18.cva)("flex", {
|
|
|
3128
3434
|
wrap: "nowrap"
|
|
3129
3435
|
}
|
|
3130
3436
|
});
|
|
3131
|
-
var Box =
|
|
3437
|
+
var Box = React23.forwardRef(
|
|
3132
3438
|
({ className, direction, align, justify, wrap, gap, asChild = false, children, ...props }, ref) => {
|
|
3133
3439
|
return (0, import_use_render4.useRender)({
|
|
3134
3440
|
ref,
|
|
@@ -3151,16 +3457,16 @@ var Box = React37.forwardRef(
|
|
|
3151
3457
|
Box.displayName = "Box";
|
|
3152
3458
|
|
|
3153
3459
|
// src/components/berget-logo/BergetLogo.tsx
|
|
3154
|
-
var
|
|
3155
|
-
var
|
|
3156
|
-
var BergetLogo =
|
|
3460
|
+
var React24 = __toESM(require("react"), 1);
|
|
3461
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3462
|
+
var BergetLogo = React24.forwardRef(
|
|
3157
3463
|
({ variant = "logotype", color = "auto", size = 48, className, ...props }, ref) => {
|
|
3158
3464
|
const fillColor = color === "auto" ? "var(--berget-logo-light)" : color === "white" ? "var(--berget-logo-light)" : "var(--berget-logo-dark)";
|
|
3159
3465
|
if (variant === "symbol") {
|
|
3160
3466
|
const aspectRatio2 = 463 / 419;
|
|
3161
3467
|
const width2 = size * aspectRatio2;
|
|
3162
3468
|
const height2 = size;
|
|
3163
|
-
return /* @__PURE__ */ (0,
|
|
3469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3164
3470
|
"svg",
|
|
3165
3471
|
{
|
|
3166
3472
|
ref,
|
|
@@ -3173,7 +3479,7 @@ var BergetLogo = React38.forwardRef(
|
|
|
3173
3479
|
"aria-label": "Berget symbol",
|
|
3174
3480
|
className: cn("inline-block", className),
|
|
3175
3481
|
...props,
|
|
3176
|
-
children: /* @__PURE__ */ (0,
|
|
3482
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3177
3483
|
"path",
|
|
3178
3484
|
{
|
|
3179
3485
|
d: "M208.739 17L255.261 17L446 403L398 403L313.5 255L261.5 176L233.163 96.1677L237.815 98.6522H226.185L230.837 96.1677L113 331L64.5 403L18 403L208.739 17Z",
|
|
@@ -3186,7 +3492,7 @@ var BergetLogo = React38.forwardRef(
|
|
|
3186
3492
|
const aspectRatio = 793.63 / 204.37;
|
|
3187
3493
|
const width = size * aspectRatio;
|
|
3188
3494
|
const height = size;
|
|
3189
|
-
return /* @__PURE__ */ (0,
|
|
3495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3190
3496
|
"svg",
|
|
3191
3497
|
{
|
|
3192
3498
|
ref,
|
|
@@ -3200,59 +3506,59 @@ var BergetLogo = React38.forwardRef(
|
|
|
3200
3506
|
className: cn("inline-block", className),
|
|
3201
3507
|
...props,
|
|
3202
3508
|
children: [
|
|
3203
|
-
/* @__PURE__ */ (0,
|
|
3204
|
-
/* @__PURE__ */ (0,
|
|
3509
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("g", { style: { fill: fillColor }, children: [
|
|
3510
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3205
3511
|
"path",
|
|
3206
3512
|
{
|
|
3207
3513
|
className: "berget-logotype-fill",
|
|
3208
3514
|
d: "M268.78,172.54v-96.04h37.74c10.39,0,18.26,2.33,23.6,7,5.33,4.67,8.01,10.52,8.01,17.56,0,6.13-1.72,11-5.15,14.61-3.43,3.61-7.58,6.06-12.44,7.34,3.81.73,7.22,2.2,10.22,4.39,3.01,2.2,5.36,4.94,7.08,8.23,1.72,3.29,2.58,6.86,2.58,10.7,0,4.94-1.27,9.4-3.79,13.38-2.53,3.98-6.22,7.11-11.08,9.4-4.86,2.29-10.82,3.43-17.87,3.43h-38.89ZM283.93,117.66h20.74c5.81,0,10.24-1.3,13.29-3.91,3.05-2.61,4.58-6.19,4.58-10.77s-1.51-8.05-4.51-10.7c-3-2.65-7.55-3.98-13.65-3.98h-20.45v29.36ZM283.93,160.61h21.74c6.1,0,10.84-1.37,14.22-4.11,3.38-2.75,5.08-6.59,5.08-11.53s-1.76-8.85-5.29-11.73-8.29-4.32-14.3-4.32h-21.45v31.69Z"
|
|
3209
3515
|
}
|
|
3210
3516
|
),
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
3517
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3212
3518
|
"path",
|
|
3213
3519
|
{
|
|
3214
3520
|
className: "berget-logotype-fill",
|
|
3215
3521
|
d: "M382.45,174.19c-6.96,0-13.13-1.49-18.52-4.46-5.39-2.97-9.6-7.11-12.65-12.42-3.05-5.3-4.57-11.48-4.57-18.52s1.5-13.4,4.5-18.79,7.19-9.61,12.58-12.62c5.39-3.02,11.65-4.53,18.81-4.53s13,1.48,18.15,4.46c5.15,2.97,9.16,6.93,12.01,11.87,2.86,4.94,4.29,10.38,4.29,16.33,0,.92-.02,1.9-.07,2.95-.05,1.05-.12,2.22-.22,3.5h-55.19c.48,6.59,2.75,11.59,6.79,15.02,4.05,3.43,8.75,5.14,14.09,5.14,4.29,0,7.89-.93,10.79-2.81,2.91-1.88,5.08-4.41,6.51-7.61h15.16c-1.91,6.4-5.7,11.75-11.37,16.05-5.68,4.3-12.71,6.45-21.09,6.45ZM382.45,114.78c-5.05,0-9.54,1.44-13.44,4.32-3.91,2.88-6.29,7.2-7.15,12.97h40.04c-.29-5.3-2.24-9.51-5.87-12.62-3.62-3.11-8.15-4.67-13.58-4.67Z"
|
|
3216
3522
|
}
|
|
3217
3523
|
),
|
|
3218
|
-
/* @__PURE__ */ (0,
|
|
3524
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3219
3525
|
"path",
|
|
3220
3526
|
{
|
|
3221
3527
|
className: "berget-logotype-fill",
|
|
3222
3528
|
d: "M425.62,172.54v-68.05h13.59l1.29,12.9c2.47-4.48,5.93-8.03,10.37-10.63,4.43-2.61,9.79-3.91,16.08-3.91v15.23h-4.15c-4.19,0-7.93.67-11.22,1.99-3.29,1.33-5.91,3.57-7.86,6.72-1.96,3.16-2.93,7.53-2.93,13.1v32.65h-15.16Z"
|
|
3223
3529
|
}
|
|
3224
3530
|
),
|
|
3225
|
-
/* @__PURE__ */ (0,
|
|
3531
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3226
3532
|
"path",
|
|
3227
3533
|
{
|
|
3228
3534
|
className: "berget-logotype-fill",
|
|
3229
3535
|
d: "M500.25,151.69c-3.72,0-7.14-.41-10.29-1.24l-6.15,5.76c1.05.64,2.34,1.19,3.86,1.65,1.52.46,3.66.87,6.43,1.23,2.76.37,6.53.73,11.29,1.1,9.43.82,16.25,3,20.44,6.52,4.2,3.52,6.29,8.21,6.29,14.06,0,4.02-1.12,7.84-3.35,11.45-2.24,3.61-5.72,6.54-10.44,8.78s-10.74,3.36-18.09,3.36c-9.91,0-17.94-1.8-24.09-5.42-6.15-3.62-9.22-9.08-9.22-16.4,0-2.84.78-5.65,2.35-8.44,1.57-2.79,4.08-5.42,7.51-7.89-2-.83-3.74-1.72-5.22-2.68-1.48-.96-2.79-1.94-3.94-2.95v-3.29l12.3-12.07c-5.53-4.57-8.29-10.56-8.29-17.97,0-4.48,1.12-8.58,3.36-12.28,2.24-3.7,5.5-6.65,9.79-8.85,4.29-2.2,9.43-3.29,15.44-3.29,4.01,0,7.72.55,11.15,1.64h26.45v9.6l-12.58.69c2.28,3.75,3.43,7.91,3.43,12.49s-1.13,8.69-3.36,12.35c-2.24,3.66-5.48,6.59-9.72,8.78-4.25,2.2-9.37,3.29-15.37,3.29ZM481.24,181.19c0,3.93,1.81,6.88,5.44,8.85,3.62,1.97,8.15,2.95,13.58,2.95s9.48-1.07,12.72-3.22c3.24-2.15,4.86-5,4.86-8.57,0-2.65-1.09-4.92-3.29-6.79-2.19-1.87-6.34-3.04-12.44-3.5-4.57-.27-8.63-.68-12.15-1.23-3.34,1.74-5.63,3.61-6.86,5.63-1.25,2.01-1.86,3.98-1.86,5.9ZM500.25,140.3c4.38,0,7.93-1.12,10.66-3.36,2.71-2.24,4.07-5.42,4.07-9.53s-1.36-7.41-4.07-9.6c-2.72-2.2-6.27-3.29-10.66-3.29s-8.08,1.1-10.79,3.29c-2.71,2.2-4.08,5.4-4.08,9.6s1.36,7.3,4.08,9.53c2.71,2.24,6.31,3.36,10.79,3.36Z"
|
|
3230
3536
|
}
|
|
3231
3537
|
),
|
|
3232
|
-
/* @__PURE__ */ (0,
|
|
3538
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3233
3539
|
"path",
|
|
3234
3540
|
{
|
|
3235
3541
|
className: "berget-logotype-fill",
|
|
3236
3542
|
d: "M574.61,174.19c-6.96,0-13.13-1.49-18.52-4.46-5.39-2.97-9.6-7.11-12.65-12.42-3.05-5.3-4.57-11.48-4.57-18.52s1.5-13.4,4.5-18.79c3-5.4,7.19-9.61,12.58-12.62c5.39-3.02,11.65-4.53,18.81-4.53s13,1.48,18.15,4.46c5.15,2.97,9.16,6.93,12.01,11.87,2.86,4.94,4.29,10.38,4.29,16.33,0,.92-.02,1.9-.07,2.95-.05,1.05-.12,2.22-.22,3.5h-55.19c.48,6.59,2.75,11.59,6.79,15.02,4.05,3.43,8.75,5.14,14.09,5.14,4.29,0,7.89-.93,10.79-2.81s5.08-4.41,6.51-7.61h15.16c-1.91,6.4-5.7,11.75-11.37,16.05-5.68,4.3-12.71,6.45-21.09,6.45ZM574.61,114.78c-5.05,0-9.54,1.44-13.44,4.32-3.91,2.88-6.29,7.2-7.15,12.97h40.04c-.29-5.3-2.24-9.51-5.87-12.62-3.62-3.11-8.15-4.67-13.58-4.67Z"
|
|
3237
3543
|
}
|
|
3238
3544
|
),
|
|
3239
|
-
/* @__PURE__ */ (0,
|
|
3545
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3240
3546
|
"path",
|
|
3241
3547
|
{
|
|
3242
3548
|
className: "berget-logotype-fill",
|
|
3243
3549
|
d: "M646.23,172.54c-6.96,0-12.49-1.62-16.59-4.87-4.1-3.25-6.15-9.03-6.15-17.36v-33.61h-12.16v-12.21h12.16l1.86-17.29h13.29v17.29h20.02v12.21h-20.02v33.61c0,3.75.84,6.33,2.51,7.75,1.67,1.42,4.55,2.13,8.65,2.13h8.14v12.35h-11.72Z"
|
|
3244
3550
|
}
|
|
3245
3551
|
),
|
|
3246
|
-
/* @__PURE__ */ (0,
|
|
3552
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3247
3553
|
"path",
|
|
3248
3554
|
{
|
|
3249
3555
|
className: "berget-logotype-fill",
|
|
3250
3556
|
d: "M684.4,172.54l36.89-96.04h16.59l36.6,96.04h-16.01l-8.58-23.46h-40.88l-8.58,23.46h-16.01ZM713.28,137.56h32.31l-16.16-43.77-16.16,43.77Z"
|
|
3251
3557
|
}
|
|
3252
3558
|
),
|
|
3253
|
-
/* @__PURE__ */ (0,
|
|
3559
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { className: "berget-logotype-fill", d: "M778.48,172.54v-96.04h15.15v96.04h-15.15Z" })
|
|
3254
3560
|
] }),
|
|
3255
|
-
/* @__PURE__ */ (0,
|
|
3561
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3256
3562
|
"path",
|
|
3257
3563
|
{
|
|
3258
3564
|
style: { fill: fillColor },
|
|
@@ -3267,19 +3573,19 @@ var BergetLogo = React38.forwardRef(
|
|
|
3267
3573
|
BergetLogo.displayName = "BergetLogo";
|
|
3268
3574
|
|
|
3269
3575
|
// src/components/language-select/LanguageSelect.tsx
|
|
3270
|
-
var
|
|
3576
|
+
var React25 = __toESM(require("react"), 1);
|
|
3271
3577
|
var import_select3 = require("@base-ui/react/select");
|
|
3272
|
-
var
|
|
3273
|
-
var
|
|
3274
|
-
var LanguageSelect =
|
|
3578
|
+
var import_lucide_react12 = require("lucide-react");
|
|
3579
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3580
|
+
var LanguageSelect = React25.forwardRef(
|
|
3275
3581
|
({ className, options, value, onValueChange }, ref) => {
|
|
3276
|
-
return /* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
3277
3583
|
import_select3.Select.Root,
|
|
3278
3584
|
{
|
|
3279
3585
|
value,
|
|
3280
3586
|
onValueChange: onValueChange ? (v) => onValueChange(v ?? "") : void 0,
|
|
3281
3587
|
children: [
|
|
3282
|
-
/* @__PURE__ */ (0,
|
|
3588
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
3283
3589
|
import_select3.Select.Trigger,
|
|
3284
3590
|
{
|
|
3285
3591
|
ref,
|
|
@@ -3302,12 +3608,12 @@ var LanguageSelect = React39.forwardRef(
|
|
|
3302
3608
|
className
|
|
3303
3609
|
),
|
|
3304
3610
|
children: [
|
|
3305
|
-
/* @__PURE__ */ (0,
|
|
3306
|
-
/* @__PURE__ */ (0,
|
|
3611
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "Select language" }),
|
|
3612
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { icon: import_lucide_react12.Globe, size: 16, "aria-hidden": true })
|
|
3307
3613
|
]
|
|
3308
3614
|
}
|
|
3309
3615
|
),
|
|
3310
|
-
/* @__PURE__ */ (0,
|
|
3616
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_select3.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_select3.Select.Positioner, { alignItemWithTrigger: false, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3311
3617
|
import_select3.Select.Popup,
|
|
3312
3618
|
{
|
|
3313
3619
|
className: cn(
|
|
@@ -3333,7 +3639,7 @@ var LanguageSelect = React39.forwardRef(
|
|
|
3333
3639
|
// Origin for transforms
|
|
3334
3640
|
"origin-[--transform-origin]"
|
|
3335
3641
|
),
|
|
3336
|
-
children: /* @__PURE__ */ (0,
|
|
3642
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_select3.Select.List, { className: "p-1", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3337
3643
|
import_select3.Select.Item,
|
|
3338
3644
|
{
|
|
3339
3645
|
value: option.value,
|
|
@@ -3350,7 +3656,7 @@ var LanguageSelect = React39.forwardRef(
|
|
|
3350
3656
|
// Disabled state
|
|
3351
3657
|
"data-disabled:pointer-events-none data-disabled:opacity-50"
|
|
3352
3658
|
),
|
|
3353
|
-
children: /* @__PURE__ */ (0,
|
|
3659
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_select3.Select.ItemText, { children: option.label })
|
|
3354
3660
|
},
|
|
3355
3661
|
option.value
|
|
3356
3662
|
)) })
|
|
@@ -3364,13 +3670,13 @@ var LanguageSelect = React39.forwardRef(
|
|
|
3364
3670
|
LanguageSelect.displayName = "LanguageSelect";
|
|
3365
3671
|
|
|
3366
3672
|
// src/components/list/List.tsx
|
|
3367
|
-
var
|
|
3673
|
+
var React27 = __toESM(require("react"), 1);
|
|
3368
3674
|
|
|
3369
3675
|
// src/components/divider/Divider.tsx
|
|
3370
|
-
var
|
|
3371
|
-
var
|
|
3372
|
-
var
|
|
3373
|
-
var dividerVariants = (0,
|
|
3676
|
+
var React26 = __toESM(require("react"), 1);
|
|
3677
|
+
var import_class_variance_authority20 = require("class-variance-authority");
|
|
3678
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3679
|
+
var dividerVariants = (0, import_class_variance_authority20.cva)("", {
|
|
3374
3680
|
variants: {
|
|
3375
3681
|
variant: {
|
|
3376
3682
|
default: "bg-berget-separator",
|
|
@@ -3390,7 +3696,7 @@ var dividerVariants = (0, import_class_variance_authority19.cva)("", {
|
|
|
3390
3696
|
size: "thin"
|
|
3391
3697
|
}
|
|
3392
3698
|
});
|
|
3393
|
-
var Divider =
|
|
3699
|
+
var Divider = React26.forwardRef(
|
|
3394
3700
|
({
|
|
3395
3701
|
className,
|
|
3396
3702
|
orientation = "horizontal",
|
|
@@ -3401,16 +3707,16 @@ var Divider = React40.forwardRef(
|
|
|
3401
3707
|
...props
|
|
3402
3708
|
}, ref) => {
|
|
3403
3709
|
if (label) {
|
|
3404
|
-
return /* @__PURE__ */ (0,
|
|
3405
|
-
labelPosition !== "right" && /* @__PURE__ */ (0,
|
|
3710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
|
|
3711
|
+
labelPosition !== "right" && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3406
3712
|
Separator,
|
|
3407
3713
|
{
|
|
3408
3714
|
orientation: "horizontal",
|
|
3409
3715
|
className: cn(dividerVariants({ variant, size }), "flex-1")
|
|
3410
3716
|
}
|
|
3411
3717
|
),
|
|
3412
|
-
/* @__PURE__ */ (0,
|
|
3413
|
-
labelPosition !== "left" && /* @__PURE__ */ (0,
|
|
3718
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
|
|
3719
|
+
labelPosition !== "left" && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3414
3720
|
Separator,
|
|
3415
3721
|
{
|
|
3416
3722
|
orientation: "horizontal",
|
|
@@ -3419,7 +3725,7 @@ var Divider = React40.forwardRef(
|
|
|
3419
3725
|
)
|
|
3420
3726
|
] });
|
|
3421
3727
|
}
|
|
3422
|
-
return /* @__PURE__ */ (0,
|
|
3728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3423
3729
|
Separator,
|
|
3424
3730
|
{
|
|
3425
3731
|
ref,
|
|
@@ -3436,20 +3742,20 @@ var Divider = React40.forwardRef(
|
|
|
3436
3742
|
Divider.displayName = "Divider";
|
|
3437
3743
|
|
|
3438
3744
|
// src/components/list/List.tsx
|
|
3439
|
-
var
|
|
3440
|
-
var
|
|
3441
|
-
var List =
|
|
3745
|
+
var import_lucide_react13 = require("lucide-react");
|
|
3746
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3747
|
+
var List = React27.forwardRef(
|
|
3442
3748
|
({ className, children, ...props }, ref) => {
|
|
3443
|
-
const childrenArray =
|
|
3444
|
-
return /* @__PURE__ */ (0,
|
|
3749
|
+
const childrenArray = React27.Children.toArray(children);
|
|
3750
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(React27.Fragment, { children: [
|
|
3445
3751
|
child,
|
|
3446
|
-
index < childrenArray.length - 1 && /* @__PURE__ */ (0,
|
|
3752
|
+
index < childrenArray.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Divider, { variant: "subtle" })
|
|
3447
3753
|
] }, index)) });
|
|
3448
3754
|
}
|
|
3449
3755
|
);
|
|
3450
3756
|
List.displayName = "List";
|
|
3451
|
-
var ListItem =
|
|
3452
|
-
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0,
|
|
3757
|
+
var ListItem = React27.forwardRef(
|
|
3758
|
+
({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3453
3759
|
"div",
|
|
3454
3760
|
{
|
|
3455
3761
|
ref,
|
|
@@ -3460,15 +3766,15 @@ var ListItem = React41.forwardRef(
|
|
|
3460
3766
|
),
|
|
3461
3767
|
...props,
|
|
3462
3768
|
children: [
|
|
3463
|
-
icon && /* @__PURE__ */ (0,
|
|
3464
|
-
/* @__PURE__ */ (0,
|
|
3769
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
|
|
3770
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-1 min-w-0", children })
|
|
3465
3771
|
]
|
|
3466
3772
|
}
|
|
3467
3773
|
)
|
|
3468
3774
|
);
|
|
3469
3775
|
ListItem.displayName = "ListItem";
|
|
3470
|
-
var ListHeader =
|
|
3471
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
3776
|
+
var ListHeader = React27.forwardRef(
|
|
3777
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3472
3778
|
"div",
|
|
3473
3779
|
{
|
|
3474
3780
|
ref,
|
|
@@ -3479,21 +3785,21 @@ var ListHeader = React41.forwardRef(
|
|
|
3479
3785
|
)
|
|
3480
3786
|
);
|
|
3481
3787
|
ListHeader.displayName = "ListHeader";
|
|
3482
|
-
var FeatureList =
|
|
3788
|
+
var FeatureList = React27.forwardRef(
|
|
3483
3789
|
({ items, variant = "bullet", className, ...props }, ref) => {
|
|
3484
|
-
return /* @__PURE__ */ (0,
|
|
3485
|
-
variant === "bullet" ? /* @__PURE__ */ (0,
|
|
3486
|
-
/* @__PURE__ */ (0,
|
|
3790
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("li", { className: "flex items-start gap-fluid-md", children: [
|
|
3791
|
+
variant === "bullet" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Icon, { icon: import_lucide_react13.Check, size: 24, className: "text-berget-logo-light" }) }),
|
|
3792
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Typography, { variant: "body", color: "muted", children: item })
|
|
3487
3793
|
] }, index)) });
|
|
3488
3794
|
}
|
|
3489
3795
|
);
|
|
3490
3796
|
FeatureList.displayName = "FeatureList";
|
|
3491
3797
|
|
|
3492
3798
|
// src/components/hero-block/HeroBlock.tsx
|
|
3493
|
-
var
|
|
3494
|
-
var
|
|
3495
|
-
var
|
|
3496
|
-
var heroBlockVariants = (0,
|
|
3799
|
+
var React28 = __toESM(require("react"), 1);
|
|
3800
|
+
var import_class_variance_authority21 = require("class-variance-authority");
|
|
3801
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3802
|
+
var heroBlockVariants = (0, import_class_variance_authority21.cva)(
|
|
3497
3803
|
"relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
|
|
3498
3804
|
{
|
|
3499
3805
|
variants: {
|
|
@@ -3513,7 +3819,7 @@ var heroBlockVariants = (0, import_class_variance_authority20.cva)(
|
|
|
3513
3819
|
}
|
|
3514
3820
|
}
|
|
3515
3821
|
);
|
|
3516
|
-
var HeroBlock =
|
|
3822
|
+
var HeroBlock = React28.forwardRef(
|
|
3517
3823
|
({
|
|
3518
3824
|
className,
|
|
3519
3825
|
variant,
|
|
@@ -3525,26 +3831,26 @@ var HeroBlock = React42.forwardRef(
|
|
|
3525
3831
|
actions,
|
|
3526
3832
|
...props
|
|
3527
3833
|
}, ref) => {
|
|
3528
|
-
return /* @__PURE__ */ (0,
|
|
3834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3529
3835
|
"div",
|
|
3530
3836
|
{
|
|
3531
3837
|
ref,
|
|
3532
3838
|
className: cn(heroBlockVariants({ variant, withPattern }), className),
|
|
3533
3839
|
...props,
|
|
3534
|
-
children: /* @__PURE__ */ (0,
|
|
3535
|
-
tagline && /* @__PURE__ */ (0,
|
|
3840
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "mx-auto text-center max-w-4xl", children: [
|
|
3841
|
+
tagline && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3536
3842
|
Badge,
|
|
3537
3843
|
{
|
|
3538
3844
|
variant: "default",
|
|
3539
|
-
icon: TaglineIcon ? /* @__PURE__ */ (0,
|
|
3845
|
+
icon: TaglineIcon ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Icon, { icon: TaglineIcon, size: 16 }) : void 0,
|
|
3540
3846
|
iconGap: 2,
|
|
3541
3847
|
className: "mb-fluid-md",
|
|
3542
3848
|
children: tagline
|
|
3543
3849
|
}
|
|
3544
3850
|
),
|
|
3545
|
-
/* @__PURE__ */ (0,
|
|
3546
|
-
/* @__PURE__ */ (0,
|
|
3547
|
-
actions && /* @__PURE__ */ (0,
|
|
3851
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Typography, { variant: "h1", className: "mb-fluid-md", children: title }),
|
|
3852
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Typography, { variant: "h3", color: "muted", className: "mb-fluid-lg", children: description }),
|
|
3853
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-wrap gap-fluid-md justify-center", children: actions })
|
|
3548
3854
|
] }) })
|
|
3549
3855
|
}
|
|
3550
3856
|
);
|
|
@@ -3554,7 +3860,7 @@ HeroBlock.displayName = "HeroBlock";
|
|
|
3554
3860
|
|
|
3555
3861
|
// src/components/code-block/CodeBlock.tsx
|
|
3556
3862
|
var import_react2 = require("react");
|
|
3557
|
-
var
|
|
3863
|
+
var import_lucide_react14 = require("lucide-react");
|
|
3558
3864
|
|
|
3559
3865
|
// src/lib/shiki.ts
|
|
3560
3866
|
var import_core2 = require("shiki/core");
|
|
@@ -3595,7 +3901,7 @@ function getHighlighter() {
|
|
|
3595
3901
|
}
|
|
3596
3902
|
|
|
3597
3903
|
// src/components/code-block/CodeBlock.tsx
|
|
3598
|
-
var
|
|
3904
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3599
3905
|
function CodeBlock({ code, language = "text", title, className }) {
|
|
3600
3906
|
const [html, setHtml] = (0, import_react2.useState)(null);
|
|
3601
3907
|
const [copied, setCopied] = (0, import_react2.useState)(false);
|
|
@@ -3611,16 +3917,16 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
3611
3917
|
setCopied(true);
|
|
3612
3918
|
setTimeout(() => setCopied(false), 2e3);
|
|
3613
3919
|
}, [code]);
|
|
3614
|
-
const copyButton = /* @__PURE__ */ (0,
|
|
3920
|
+
const copyButton = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3615
3921
|
"button",
|
|
3616
3922
|
{
|
|
3617
3923
|
onClick: handleCopy,
|
|
3618
3924
|
className: "flex items-center justify-center w-6 h-6 text-berget-muted-foreground hover:text-berget-foreground transition-colors",
|
|
3619
3925
|
"aria-label": "Copy code",
|
|
3620
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
3926
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react14.Check, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react14.Copy, { className: "w-3.5 h-3.5" })
|
|
3621
3927
|
}
|
|
3622
3928
|
);
|
|
3623
|
-
return /* @__PURE__ */ (0,
|
|
3929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
3624
3930
|
"div",
|
|
3625
3931
|
{
|
|
3626
3932
|
className: cn(
|
|
@@ -3628,25 +3934,25 @@ function CodeBlock({ code, language = "text", title, className }) {
|
|
|
3628
3934
|
className
|
|
3629
3935
|
),
|
|
3630
3936
|
children: [
|
|
3631
|
-
title && /* @__PURE__ */ (0,
|
|
3632
|
-
/* @__PURE__ */ (0,
|
|
3633
|
-
html ? /* @__PURE__ */ (0,
|
|
3937
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "!h-10 flex items-center !px-4 !text-xs !leading-normal border-b border-berget-border bg-berget-codeblock-header-bg", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-berget-muted-foreground", children: title }) }),
|
|
3938
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
|
|
3939
|
+
html ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3634
3940
|
"div",
|
|
3635
3941
|
{
|
|
3636
3942
|
className: "[&_.shiki]:!p-4 [&_.shiki]:!m-0 [&_.shiki]:overflow-x-auto [&_.shiki]:!text-sm [&_.shiki]:!leading-relaxed [&_.shiki]:bg-transparent",
|
|
3637
3943
|
dangerouslySetInnerHTML: { __html: html }
|
|
3638
3944
|
}
|
|
3639
|
-
) : /* @__PURE__ */ (0,
|
|
3945
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("code", { children: code }) })
|
|
3640
3946
|
]
|
|
3641
3947
|
}
|
|
3642
3948
|
);
|
|
3643
3949
|
}
|
|
3644
3950
|
|
|
3645
3951
|
// src/components/window-frame/WindowFrame.tsx
|
|
3646
|
-
var
|
|
3952
|
+
var React29 = __toESM(require("react"), 1);
|
|
3647
3953
|
var import_react3 = require("react");
|
|
3648
|
-
var
|
|
3649
|
-
var WindowFrame =
|
|
3954
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3955
|
+
var WindowFrame = React29.forwardRef(
|
|
3650
3956
|
({ title = "window", tabs, activeTab, onTabChange, children, className, ...props }, ref) => {
|
|
3651
3957
|
const [internalActive, setInternalActive] = (0, import_react3.useState)(tabs?.[0]?.id ?? "");
|
|
3652
3958
|
const currentTab = activeTab ?? internalActive;
|
|
@@ -3657,7 +3963,7 @@ var WindowFrame = React43.forwardRef(
|
|
|
3657
3963
|
setInternalActive(id);
|
|
3658
3964
|
}
|
|
3659
3965
|
};
|
|
3660
|
-
return /* @__PURE__ */ (0,
|
|
3966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3661
3967
|
"div",
|
|
3662
3968
|
{
|
|
3663
3969
|
ref,
|
|
@@ -3667,13 +3973,13 @@ var WindowFrame = React43.forwardRef(
|
|
|
3667
3973
|
),
|
|
3668
3974
|
...props,
|
|
3669
3975
|
children: [
|
|
3670
|
-
/* @__PURE__ */ (0,
|
|
3671
|
-
/* @__PURE__ */ (0,
|
|
3672
|
-
/* @__PURE__ */ (0,
|
|
3673
|
-
/* @__PURE__ */ (0,
|
|
3674
|
-
/* @__PURE__ */ (0,
|
|
3976
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
|
|
3977
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
|
|
3978
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FF5F56]" }),
|
|
3979
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FFBD2E]" }),
|
|
3980
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#27C93F]" })
|
|
3675
3981
|
] }),
|
|
3676
|
-
tabs && tabs.length > 0 ? /* @__PURE__ */ (0,
|
|
3982
|
+
tabs && tabs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3677
3983
|
"button",
|
|
3678
3984
|
{
|
|
3679
3985
|
type: "button",
|
|
@@ -3685,15 +3991,333 @@ var WindowFrame = React43.forwardRef(
|
|
|
3685
3991
|
children: tab.label
|
|
3686
3992
|
},
|
|
3687
3993
|
tab.id
|
|
3688
|
-
)) }) : /* @__PURE__ */ (0,
|
|
3994
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
|
|
3689
3995
|
] }),
|
|
3690
|
-
/* @__PURE__ */ (0,
|
|
3996
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { children })
|
|
3691
3997
|
]
|
|
3692
3998
|
}
|
|
3693
3999
|
);
|
|
3694
4000
|
}
|
|
3695
4001
|
);
|
|
3696
4002
|
WindowFrame.displayName = "WindowFrame";
|
|
4003
|
+
|
|
4004
|
+
// src/components/fog-illustration/FogIllustration.tsx
|
|
4005
|
+
var import_react4 = require("react");
|
|
4006
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
4007
|
+
var FOG_BRAND_PALETTE = {
|
|
4008
|
+
ink: "#171a1a",
|
|
4009
|
+
milk: "#f7f5ed",
|
|
4010
|
+
moss: "#598c6b"
|
|
4011
|
+
};
|
|
4012
|
+
var hexToRgb = (hex) => {
|
|
4013
|
+
let h = hex.replace("#", "");
|
|
4014
|
+
if (h.length === 3)
|
|
4015
|
+
h = h.split("").map((c) => c + c).join("");
|
|
4016
|
+
const n = Number.parseInt(h, 16);
|
|
4017
|
+
return [(n >> 16 & 255) / 255, (n >> 8 & 255) / 255, (n & 255) / 255];
|
|
4018
|
+
};
|
|
4019
|
+
var hexToRgbAll = (p) => ({
|
|
4020
|
+
ink: hexToRgb(p.ink),
|
|
4021
|
+
milk: hexToRgb(p.milk),
|
|
4022
|
+
moss: hexToRgb(p.moss)
|
|
4023
|
+
});
|
|
4024
|
+
var VERT = `#version 300 es
|
|
4025
|
+
void main() {
|
|
4026
|
+
vec2 p = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2));
|
|
4027
|
+
gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0);
|
|
4028
|
+
}`;
|
|
4029
|
+
var SCENE_FRAG = `#version 300 es
|
|
4030
|
+
precision highp float;
|
|
4031
|
+
out vec4 outColor;
|
|
4032
|
+
uniform vec2 uRes;
|
|
4033
|
+
uniform float uTime;
|
|
4034
|
+
uniform sampler2D uNoise;
|
|
4035
|
+
|
|
4036
|
+
float noise(vec3 x) {
|
|
4037
|
+
// 3D value noise from the 2D random texture \u2014 iq's two-slice trick:
|
|
4038
|
+
// z slices are tiled into the u axis, two neighbours mixed by fract(z).
|
|
4039
|
+
vec3 p = floor(x), f = fract(x);
|
|
4040
|
+
f = f * f * (3.0 - 2.0 * f);
|
|
4041
|
+
vec2 uv = (p.xy + vec2(37.0, 239.0) * p.z) + f.xy;
|
|
4042
|
+
vec2 rg = texture(uNoise, (uv + 0.5) / 256.0).xy;
|
|
4043
|
+
return mix(rg.x, rg.y, f.z) * 2.0 - 1.0;
|
|
4044
|
+
}
|
|
4045
|
+
|
|
4046
|
+
float ground(vec3 pos, int oct) {
|
|
4047
|
+
float f = 0.0;
|
|
4048
|
+
float s = 1.4;
|
|
4049
|
+
vec3 p = pos * s * 0.1;
|
|
4050
|
+
for (int i = 0; i < 6; i++) {
|
|
4051
|
+
if (i >= oct) break;
|
|
4052
|
+
f += abs(noise(p)) * s;
|
|
4053
|
+
p = vec3(p.z * 5.0, p.xy * 3.0 + p.yx * 4.0 * vec2(1, -1)) * 2.0 / 5.0;
|
|
4054
|
+
s /= 2.0;
|
|
4055
|
+
}
|
|
4056
|
+
return (pos.y + f) * 0.8;
|
|
4057
|
+
}
|
|
4058
|
+
|
|
4059
|
+
float fogD(vec3 pos, int oct) {
|
|
4060
|
+
float f = 0.0;
|
|
4061
|
+
float s = 1.0;
|
|
4062
|
+
vec3 p = pos * 0.7;
|
|
4063
|
+
p += uTime * vec3(0.0, -0.02, 0.02);
|
|
4064
|
+
for (int i = 0; i < 6; i++) {
|
|
4065
|
+
if (i >= oct) break;
|
|
4066
|
+
f += noise(p) * s;
|
|
4067
|
+
p = vec3(p.z * 5.0, p.xy * 3.0 + p.yx * 4.0 * vec2(1, -1)) * 2.0 / 5.0;
|
|
4068
|
+
s /= 1.7;
|
|
4069
|
+
}
|
|
4070
|
+
f += smoothstep(0.2, 0.0, abs(pos.y + 1.0)) * 0.4;
|
|
4071
|
+
f += smoothstep(0.35, 0.15, abs(pos.y - 0.02)) * 0.7;
|
|
4072
|
+
f *= 1.0 - smoothstep(-0.1, 0.55, pos.y);
|
|
4073
|
+
f = smoothstep(0.45, 1.7, f);
|
|
4074
|
+
float g = ground(pos, 2);
|
|
4075
|
+
f *= 1.0 - g / (abs(g) + 0.04);
|
|
4076
|
+
return f;
|
|
4077
|
+
}
|
|
4078
|
+
|
|
4079
|
+
float airD(vec3 pos) { return exp2(-pos.y / 5.0 - 3.0); }
|
|
4080
|
+
|
|
4081
|
+
void main() {
|
|
4082
|
+
float time = uTime * 0.2;
|
|
4083
|
+
vec3 velocity = vec3(1.0, 0.0, 0.0);
|
|
4084
|
+
vec3 camPos = vec3(sin(time * 0.618) * 0.4, 0.62 + 0.08 * sin(time), 0.0) + time * velocity;
|
|
4085
|
+
vec3 camLook = vec3(-1.0, -0.3, 4.0) + (time - sin(time)) * velocity;
|
|
4086
|
+
|
|
4087
|
+
vec2 fc = gl_FragCoord.xy;
|
|
4088
|
+
vec3 ray = vec3((fc - uRes * 0.5) / uRes.x, 1.0);
|
|
4089
|
+
vec3 camDir = normalize(camLook - camPos);
|
|
4090
|
+
vec3 camRight = normalize(cross(vec3(0.0, 1.0, 0.0), camDir));
|
|
4091
|
+
vec3 camUp = cross(camDir, camRight);
|
|
4092
|
+
ray = normalize(ray.x * camRight + ray.y * camUp + ray.z * camDir);
|
|
4093
|
+
|
|
4094
|
+
vec3 sunDir = normalize(vec3(-3.0, 2.0, 1.0));
|
|
4095
|
+
|
|
4096
|
+
vec3 pos = camPos;
|
|
4097
|
+
float absorption = 1.0;
|
|
4098
|
+
float emission = 0.0;
|
|
4099
|
+
float fogFactor = 0.0;
|
|
4100
|
+
float lastStride = 0.0;
|
|
4101
|
+
float lastFog = 0.0;
|
|
4102
|
+
float lastAir = 0.0;
|
|
4103
|
+
|
|
4104
|
+
for (int i = 0; i < 80; i++) {
|
|
4105
|
+
float h = ground(pos, 4);
|
|
4106
|
+
float fog = fogD(pos, 3);
|
|
4107
|
+
float fogIntegral = lastStride * mix(fog, lastFog, 0.5);
|
|
4108
|
+
float air = airD(pos);
|
|
4109
|
+
float airIntegral = lastStride * mix(air, lastAir, 0.5);
|
|
4110
|
+
|
|
4111
|
+
float fogAbsDelta = pow(0.1, fogIntegral);
|
|
4112
|
+
float fogEmiDelta = 1.0 - fogAbsDelta;
|
|
4113
|
+
float shadowStep = 0.07;
|
|
4114
|
+
float shadow = (fog - fogD(pos + sunDir * shadowStep, 2)) / shadowStep;
|
|
4115
|
+
fogEmiDelta *= mix(0.2, 0.85, smoothstep(-1.0, 1.0, shadow));
|
|
4116
|
+
|
|
4117
|
+
float airAbsDelta = pow(0.55, airIntegral);
|
|
4118
|
+
float airEmiDelta = (1.0 - pow(0.55, airIntegral)) * 0.5;
|
|
4119
|
+
|
|
4120
|
+
float absDelta = fogAbsDelta * airAbsDelta;
|
|
4121
|
+
emission += absorption * sqrt(absDelta) * (fogEmiDelta + airEmiDelta);
|
|
4122
|
+
absorption *= absDelta;
|
|
4123
|
+
|
|
4124
|
+
fogFactor = max(fogFactor, (1.0 - absorption) * step(0.05, fog));
|
|
4125
|
+
|
|
4126
|
+
lastFog = fog;
|
|
4127
|
+
lastAir = air;
|
|
4128
|
+
h = min(h, 0.1);
|
|
4129
|
+
lastStride = h;
|
|
4130
|
+
pos += h * ray;
|
|
4131
|
+
if (h < 0.001) break;
|
|
4132
|
+
}
|
|
4133
|
+
|
|
4134
|
+
float brightness;
|
|
4135
|
+
if (absorption > 0.02) {
|
|
4136
|
+
// terrain visible \u2014 light it
|
|
4137
|
+
vec2 d = vec2(-1.0, 1.0) * 0.02;
|
|
4138
|
+
vec3 normal = normalize(
|
|
4139
|
+
ground(pos + d.xxx, 5) * d.xxx +
|
|
4140
|
+
ground(pos + d.xyy, 5) * d.xyy +
|
|
4141
|
+
ground(pos + d.yxy, 5) * d.yxy +
|
|
4142
|
+
ground(pos + d.yyx, 5) * d.yyx
|
|
4143
|
+
);
|
|
4144
|
+
float ao = smoothstep(-0.2, 1.5, ground(pos + normal * 0.3, 5) / 0.3);
|
|
4145
|
+
float shade = (0.5 * ao + 0.5 * max(dot(normal, sunDir), 0.0)) * 0.65;
|
|
4146
|
+
brightness = shade * absorption + emission;
|
|
4147
|
+
} else {
|
|
4148
|
+
brightness = emission;
|
|
4149
|
+
}
|
|
4150
|
+
|
|
4151
|
+
// Clear sky \u2014 rays that escape upward land on milk, whatever the
|
|
4152
|
+
// haze did. The poster look: light sky, dark ridges, fog between.
|
|
4153
|
+
float sky = smoothstep(-0.15, 0.35, ray.y) * 0.92;
|
|
4154
|
+
brightness = max(brightness, sky * absorption);
|
|
4155
|
+
|
|
4156
|
+
outColor = vec4(clamp(brightness, 0.0, 1.0), clamp(fogFactor, 0.0, 1.0), 0.0, 1.0);
|
|
4157
|
+
}`;
|
|
4158
|
+
var DITHER_FRAG = `#version 300 es
|
|
4159
|
+
precision highp float;
|
|
4160
|
+
out vec4 outColor;
|
|
4161
|
+
uniform vec2 uRes;
|
|
4162
|
+
uniform float uDot;
|
|
4163
|
+
uniform sampler2D uScene;
|
|
4164
|
+
uniform vec3 uInk;
|
|
4165
|
+
uniform vec3 uMilk;
|
|
4166
|
+
uniform vec3 uMoss;
|
|
4167
|
+
|
|
4168
|
+
float bayer2(vec2 a) { a = floor(a); return fract(a.x / 2.0 + a.y * a.y * 0.75); }
|
|
4169
|
+
float bayer4(vec2 a) { return bayer2(0.5 * a) * 0.25 + bayer2(a); }
|
|
4170
|
+
float hash12(vec2 p) {
|
|
4171
|
+
vec3 p3 = fract(vec3(p.xyx) * 0.1031);
|
|
4172
|
+
p3 += dot(p3, p3.yzx + 33.33);
|
|
4173
|
+
return fract((p3.x + p3.y) * p3.z);
|
|
4174
|
+
}
|
|
4175
|
+
|
|
4176
|
+
void main() {
|
|
4177
|
+
// Chunky cells: one dot decision per uDot\xD7uDot block \u2014 the dither
|
|
4178
|
+
// reads as visible pixels, not 1px noise.
|
|
4179
|
+
vec2 cell = floor(gl_FragCoord.xy / uDot);
|
|
4180
|
+
vec4 scene = texture(uScene, (cell * uDot + uDot * 0.5) / uRes);
|
|
4181
|
+
float darkness = 1.0 - scene.r;
|
|
4182
|
+
float jitter = (hash12(cell) - 0.5) * 0.3;
|
|
4183
|
+
float on = step(darkness, bayer4(cell) + jitter);
|
|
4184
|
+
vec3 col = scene.g > 0.5 ? uMoss : uInk;
|
|
4185
|
+
outColor = vec4(mix(col, uMilk, on), 1.0);
|
|
4186
|
+
}`;
|
|
4187
|
+
var compile = (gl, type, src) => {
|
|
4188
|
+
const sh = gl.createShader(type);
|
|
4189
|
+
if (!sh) throw new Error("shader creation failed");
|
|
4190
|
+
gl.shaderSource(sh, src);
|
|
4191
|
+
gl.compileShader(sh);
|
|
4192
|
+
if (!gl.getShaderParameter(sh, gl.COMPILE_STATUS)) {
|
|
4193
|
+
throw new Error(gl.getShaderInfoLog(sh) || "shader compile failed");
|
|
4194
|
+
}
|
|
4195
|
+
return sh;
|
|
4196
|
+
};
|
|
4197
|
+
var program = (gl, frag) => {
|
|
4198
|
+
const p = gl.createProgram();
|
|
4199
|
+
if (!p) throw new Error("program creation failed");
|
|
4200
|
+
gl.attachShader(p, compile(gl, gl.VERTEX_SHADER, VERT));
|
|
4201
|
+
gl.attachShader(p, compile(gl, gl.FRAGMENT_SHADER, frag));
|
|
4202
|
+
gl.linkProgram(p);
|
|
4203
|
+
if (!gl.getProgramParameter(p, gl.LINK_STATUS)) {
|
|
4204
|
+
throw new Error(gl.getProgramInfoLog(p) || "program link failed");
|
|
4205
|
+
}
|
|
4206
|
+
return p;
|
|
4207
|
+
};
|
|
4208
|
+
var FogIllustration = ({ palette, speed = 1, className }) => {
|
|
4209
|
+
const ref = (0, import_react4.useRef)(null);
|
|
4210
|
+
const live = (0, import_react4.useRef)({ palette: { ...FOG_BRAND_PALETTE, ...palette }, speed });
|
|
4211
|
+
live.current = { palette: { ...FOG_BRAND_PALETTE, ...palette }, speed };
|
|
4212
|
+
(0, import_react4.useEffect)(() => {
|
|
4213
|
+
const canvas = ref.current;
|
|
4214
|
+
const parent = canvas?.parentElement;
|
|
4215
|
+
if (!canvas || !parent) return;
|
|
4216
|
+
const gl = canvas.getContext("webgl2", {
|
|
4217
|
+
antialias: false,
|
|
4218
|
+
alpha: false,
|
|
4219
|
+
preserveDrawingBuffer: true
|
|
4220
|
+
});
|
|
4221
|
+
if (!gl) return;
|
|
4222
|
+
let sceneProg;
|
|
4223
|
+
let ditherProg;
|
|
4224
|
+
try {
|
|
4225
|
+
sceneProg = program(gl, SCENE_FRAG);
|
|
4226
|
+
ditherProg = program(gl, DITHER_FRAG);
|
|
4227
|
+
} catch (err) {
|
|
4228
|
+
console.error("fog shader failed:", err);
|
|
4229
|
+
return;
|
|
4230
|
+
}
|
|
4231
|
+
const noiseTex = gl.createTexture();
|
|
4232
|
+
gl.bindTexture(gl.TEXTURE_2D, noiseTex);
|
|
4233
|
+
const N = 256;
|
|
4234
|
+
const data = new Uint8Array(N * N * 4);
|
|
4235
|
+
for (let i = 0; i < data.length; i += 4) {
|
|
4236
|
+
data[i] = Math.random() * 256;
|
|
4237
|
+
data[i + 1] = Math.random() * 256;
|
|
4238
|
+
data[i + 2] = Math.random() * 256;
|
|
4239
|
+
data[i + 3] = 255;
|
|
4240
|
+
}
|
|
4241
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, N, N, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);
|
|
4242
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT);
|
|
4243
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT);
|
|
4244
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
|
|
4245
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
|
|
4246
|
+
const sceneTex = gl.createTexture();
|
|
4247
|
+
gl.bindTexture(gl.TEXTURE_2D, sceneTex);
|
|
4248
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
|
4249
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
4250
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
4251
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
4252
|
+
const fbo = gl.createFramebuffer();
|
|
4253
|
+
const SCALE = 0.3;
|
|
4254
|
+
const reduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
4255
|
+
const start = performance.now();
|
|
4256
|
+
let raf = 0;
|
|
4257
|
+
let last = 0;
|
|
4258
|
+
const render = (elapsed) => {
|
|
4259
|
+
const w = parent.clientWidth;
|
|
4260
|
+
const h = parent.clientHeight;
|
|
4261
|
+
if (w === 0 || h === 0) return;
|
|
4262
|
+
const dpr = Math.min(window.devicePixelRatio || 1, 2);
|
|
4263
|
+
if (canvas.width !== Math.round(w * dpr) || canvas.height !== Math.round(h * dpr)) {
|
|
4264
|
+
canvas.width = Math.round(w * dpr);
|
|
4265
|
+
canvas.height = Math.round(h * dpr);
|
|
4266
|
+
}
|
|
4267
|
+
const sceneW = Math.max(64, Math.round(w * SCALE));
|
|
4268
|
+
const sceneH = Math.max(64, Math.round(h * SCALE));
|
|
4269
|
+
gl.bindTexture(gl.TEXTURE_2D, sceneTex);
|
|
4270
|
+
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, sceneW, sceneH, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
|
|
4271
|
+
const t = elapsed * live.current.speed;
|
|
4272
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
|
|
4273
|
+
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, sceneTex, 0);
|
|
4274
|
+
gl.viewport(0, 0, sceneW, sceneH);
|
|
4275
|
+
gl.useProgram(sceneProg);
|
|
4276
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
4277
|
+
gl.bindTexture(gl.TEXTURE_2D, noiseTex);
|
|
4278
|
+
gl.uniform1i(gl.getUniformLocation(sceneProg, "uNoise"), 0);
|
|
4279
|
+
gl.uniform2f(gl.getUniformLocation(sceneProg, "uRes"), sceneW, sceneH);
|
|
4280
|
+
gl.uniform1f(gl.getUniformLocation(sceneProg, "uTime"), t);
|
|
4281
|
+
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
|
4282
|
+
const { ink, milk, moss } = hexToRgbAll(live.current.palette);
|
|
4283
|
+
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
|
|
4284
|
+
gl.viewport(0, 0, canvas.width, canvas.height);
|
|
4285
|
+
gl.useProgram(ditherProg);
|
|
4286
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
4287
|
+
gl.bindTexture(gl.TEXTURE_2D, sceneTex);
|
|
4288
|
+
gl.uniform1i(gl.getUniformLocation(ditherProg, "uScene"), 0);
|
|
4289
|
+
gl.uniform2f(gl.getUniformLocation(ditherProg, "uRes"), canvas.width, canvas.height);
|
|
4290
|
+
gl.uniform1f(gl.getUniformLocation(ditherProg, "uDot"), Math.max(3, Math.round(dpr * 2)));
|
|
4291
|
+
gl.uniform3f(gl.getUniformLocation(ditherProg, "uInk"), ...ink);
|
|
4292
|
+
gl.uniform3f(gl.getUniformLocation(ditherProg, "uMilk"), ...milk);
|
|
4293
|
+
gl.uniform3f(gl.getUniformLocation(ditherProg, "uMoss"), ...moss);
|
|
4294
|
+
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
|
4295
|
+
};
|
|
4296
|
+
render(0);
|
|
4297
|
+
if (!reduced) {
|
|
4298
|
+
const frame = (now) => {
|
|
4299
|
+
if (now - last >= 1e3 / 30) {
|
|
4300
|
+
last = now;
|
|
4301
|
+
render((now - start) / 1e3);
|
|
4302
|
+
}
|
|
4303
|
+
raf = requestAnimationFrame(frame);
|
|
4304
|
+
};
|
|
4305
|
+
raf = requestAnimationFrame(frame);
|
|
4306
|
+
}
|
|
4307
|
+
const observer = new ResizeObserver(() => render((performance.now() - start) / 1e3));
|
|
4308
|
+
observer.observe(parent);
|
|
4309
|
+
return () => {
|
|
4310
|
+
cancelAnimationFrame(raf);
|
|
4311
|
+
observer.disconnect();
|
|
4312
|
+
gl.deleteProgram(sceneProg);
|
|
4313
|
+
gl.deleteProgram(ditherProg);
|
|
4314
|
+
gl.deleteTexture(noiseTex);
|
|
4315
|
+
gl.deleteTexture(sceneTex);
|
|
4316
|
+
gl.deleteFramebuffer(fbo);
|
|
4317
|
+
};
|
|
4318
|
+
}, []);
|
|
4319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("canvas", { ref, "aria-hidden": "true", className: cn("size-full", className) });
|
|
4320
|
+
};
|
|
3697
4321
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3698
4322
|
0 && (module.exports = {
|
|
3699
4323
|
Alert,
|
|
@@ -3751,6 +4375,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
3751
4375
|
DropdownMenuSubTrigger,
|
|
3752
4376
|
DropdownMenuTrigger,
|
|
3753
4377
|
EU_COUNTRY_CODES,
|
|
4378
|
+
FOG_BRAND_PALETTE,
|
|
3754
4379
|
FeatureList,
|
|
3755
4380
|
Field,
|
|
3756
4381
|
FieldContent,
|
|
@@ -3762,6 +4387,7 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
3762
4387
|
FieldSeparator,
|
|
3763
4388
|
FieldSet,
|
|
3764
4389
|
FieldTitle,
|
|
4390
|
+
FogIllustration,
|
|
3765
4391
|
Grid,
|
|
3766
4392
|
HeroBlock,
|
|
3767
4393
|
Icon,
|
|
@@ -3788,8 +4414,8 @@ WindowFrame.displayName = "WindowFrame";
|
|
|
3788
4414
|
NavigationMenuItem,
|
|
3789
4415
|
NavigationMenuLink,
|
|
3790
4416
|
NavigationMenuList,
|
|
4417
|
+
NavigationMenuPositioner,
|
|
3791
4418
|
NavigationMenuTrigger,
|
|
3792
|
-
NavigationMenuViewport,
|
|
3793
4419
|
Select,
|
|
3794
4420
|
Switch,
|
|
3795
4421
|
Table,
|