@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 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: () => 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 cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
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/90",
374
- destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
375
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
376
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
377
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
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-9 px-4 py-2 has-[>svg]:px-3",
382
- xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
383
- sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
384
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
385
- icon: "size-9",
386
- "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
387
- "icon-sm": "size-8",
388
- "icon-lg": "size-10"
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
- var Button = React4.forwardRef(
398
- ({ className, variant, size, asChild = false, children, ...props }, ref) => {
399
- const Comp = import_button.Button;
400
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
401
- Comp,
402
- {
403
- ref,
404
- className: cn(buttonVariants({ variant, size }), className),
405
- render: asChild ? children : void 0,
406
- ...props,
407
- children: asChild ? void 0 : children
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)(Button, { className: baseClass, ref, asChild, type, ...props, children: asChild ? children : content });
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 React5 = __toESM(require("react"), 1);
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 = React5.forwardRef(
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 React7 = __toESM(require("react"), 1);
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 React6 = __toESM(require("react"), 1);
548
+ var import_cn2 = require("cn");
538
549
  var import_jsx_runtime6 = require("react/jsx-runtime");
539
- var Card = React6.forwardRef(
540
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
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
- ref,
544
- className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className),
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
- Card.displayName = "Card";
550
- var CardHeader = React6.forwardRef(
551
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
552
- );
553
- CardHeader.displayName = "CardHeader";
554
- var CardTitle = React6.forwardRef(
555
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h2", { ref, className: cn("text-2xl leading-none tracking-tight", className), ...props })
556
- );
557
- CardTitle.displayName = "CardTitle";
558
- var CardDescription = React6.forwardRef(
559
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
560
- );
561
- CardDescription.displayName = "CardDescription";
562
- var CardContent = React6.forwardRef(
563
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props })
564
- );
565
- CardContent.displayName = "CardContent";
566
- var CardFooter = React6.forwardRef(
567
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: cn("flex items-center p-6 pt-0", className), ...props })
568
- );
569
- CardFooter.displayName = "CardFooter";
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 = React7.forwardRef(
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 React8 = __toESM(require("react"), 1);
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 = React8.forwardRef(
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 React10 = __toESM(require("react"), 1);
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 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",
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
- var Alert = React9.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
675
- Alert.displayName = "Alert";
676
- var AlertTitle = React9.forwardRef(
677
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("h5", { ref, className: cn("mb-1 leading-none tracking-tight", className), ...props })
678
- );
679
- AlertTitle.displayName = "AlertTitle";
680
- var AlertDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props }));
681
- AlertDescription.displayName = "AlertDescription";
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 = React10.forwardRef(
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 React11 = __toESM(require("react"), 1);
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 = React11.forwardRef(
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 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
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 = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DialogPortal, { children: [
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 = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
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 = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
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 React12 = __toESM(require("react"), 1);
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 = React12.forwardRef(
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 = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
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 = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(AlertDialogPortal, { children: [
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 = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
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 = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
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 = React12.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
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 = React12.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
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 React13 = __toESM(require("react"), 1);
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 = React13.forwardRef(
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 = React13.forwardRef(({ className, inset, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
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 = React13.forwardRef(
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 = React13.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)(
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 = React13.forwardRef(({ className, inset, asChild, children, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
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 = React13.forwardRef(({ className, children, asChild, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
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 = React13.forwardRef(({ className, children, asChild, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
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 = React13.forwardRef(({ className, inset, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
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 = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
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 React14 = __toESM(require("react"), 1);
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
- var NavigationMenu = React14.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1043
- import_navigation_menu.NavigationMenu.Root,
1044
- {
1045
- ref,
1046
- className: cn("relative z-10 flex max-w-max flex-1 items-center justify-center", className),
1047
- ...props,
1048
- children: [
1049
- children,
1050
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(NavigationMenuViewport, {})
1051
- ]
1052
- }
1053
- ));
1054
- NavigationMenu.displayName = "NavigationMenu";
1055
- var NavigationMenuList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1056
- import_navigation_menu.NavigationMenu.List,
1057
- {
1058
- ref,
1059
- className: cn("group flex flex-1 list-none items-center justify-center gap-1", className),
1060
- ...props
1061
- }
1062
- ));
1063
- NavigationMenuList.displayName = "NavigationMenuList";
1064
- var NavigationMenuItem = import_navigation_menu.NavigationMenu.Item;
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-10 w-max items-center justify-center rounded-berget-xs px-4 py-2 text-sm font-medium transition-colors hover:bg-berget-surface-02 hover:text-berget-foreground focus:bg-berget-surface-02 focus:text-berget-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-popup-open:text-berget-foreground data-popup-open:bg-berget-border data-popup-open:hover:bg-berget-border data-popup-open:focus:bg-berget-border"
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
- var NavigationMenuTrigger = React14.forwardRef(({ className, children, asChild, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1069
- import_navigation_menu.NavigationMenu.Trigger,
1070
- {
1071
- ref,
1072
- className: cn(navigationMenuTriggerStyle(), "group", className),
1073
- render: asChildRender(asChild, children),
1074
- ...props,
1075
- children: asChild ? void 0 : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
1076
- children,
1077
- " ",
1078
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1079
- import_lucide_react3.ChevronDown,
1080
- {
1081
- className: "relative top-[1px] ml-1 size-3 transition duration-200 group-data-[data-popup-open]:rotate-180",
1082
- "aria-hidden": "true"
1083
- }
1084
- )
1085
- ] })
1086
- }
1087
- ));
1088
- NavigationMenuTrigger.displayName = "NavigationMenuTrigger";
1089
- var NavigationMenuContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1090
- import_navigation_menu.NavigationMenu.Content,
1091
- {
1092
- ref,
1093
- className: cn(
1094
- "left-0 top-0 w-full data-[activation-direction=left]:fade-in data-[activation-direction=right]:fade-out md:absolute md:w-auto",
1095
- className
1096
- ),
1097
- ...props
1098
- }
1099
- ));
1100
- NavigationMenuContent.displayName = "NavigationMenuContent";
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/primitives/table.tsx
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
- var Table = React15.forwardRef(
1150
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
1151
- );
1152
- Table.displayName = "Table";
1153
- var TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1154
- TableHeader.displayName = "TableHeader";
1155
- var TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
1156
- TableBody.displayName = "TableBody";
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
- ref,
1217
+ "data-slot": "navigation-menu",
1171
1218
  className: cn(
1172
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
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
- TableRow.displayName = "TableRow";
1180
- var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1181
- "th",
1182
- {
1183
- ref,
1184
- className: cn(
1185
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
1186
- className
1187
- ),
1188
- ...props
1189
- }
1190
- ));
1191
- TableHead.displayName = "TableHead";
1192
- var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1193
- "td",
1194
- {
1195
- ref,
1196
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
1197
- ...props
1198
- }
1199
- ));
1200
- TableCell.displayName = "TableCell";
1201
- var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props }));
1202
- TableCaption.displayName = "TableCaption";
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
- var Table2 = React16.forwardRef(
1207
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Table, { ref, className, ...props })
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(
1241
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
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 React18 = __toESM(require("react"), 1);
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 import_jsx_runtime17 = require("react/jsx-runtime");
1297
- var Separator = React17.forwardRef(({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1298
- import_separator.Separator,
1299
- {
1300
- ref,
1301
- orientation,
1302
- className: cn(
1303
- "shrink-0 bg-border",
1304
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
1305
- className
1306
- ),
1307
- ...props
1308
- }
1309
- ));
1310
- Separator.displayName = "Separator";
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 import_jsx_runtime18 = require("react/jsx-runtime");
1519
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1314
1520
  function ItemGroup({ className, ...props }) {
1315
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
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: cn("group/item-group flex flex-col", 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({ className, ...props }) {
1326
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
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-0", className),
1543
+ className: (0, import_cn7.cn)("my-2", className),
1332
1544
  ...props
1333
1545
  }
1334
1546
  );
1335
1547
  }
1336
- var itemVariants = (0, import_class_variance_authority8.cva)(
1337
- "group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 [a]:transition-colors flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-colors duration-100 focus-visible:ring-[3px]",
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: "bg-transparent",
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-4 p-4 ",
1347
- sm: "gap-2.5 px-4 py-3"
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
- "data-slot": "item",
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, import_class_variance_authority8.cva)(
1378
- "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",
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: "bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
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, import_jsx_runtime18.jsx)(
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, import_jsx_runtime18.jsx)(
1623
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1409
1624
  "div",
1410
1625
  {
1411
1626
  "data-slot": "item-content",
1412
- className: cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", 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, import_jsx_runtime18.jsx)(
1636
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1419
1637
  "div",
1420
1638
  {
1421
1639
  "data-slot": "item-title",
1422
- className: cn("flex w-fit items-center gap-2 text-sm font-medium leading-snug", 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, import_jsx_runtime18.jsx)(
1649
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1429
1650
  "p",
1430
1651
  {
1431
1652
  "data-slot": "item-description",
1432
- className: cn(
1433
- "text-muted-foreground line-clamp-2 text-balance text-sm font-normal leading-normal",
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, import_jsx_runtime18.jsx)("div", { "data-slot": "item-actions", className: cn("flex items-center gap-2", className), ...props });
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, import_jsx_runtime18.jsx)(
1672
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1446
1673
  "div",
1447
1674
  {
1448
1675
  "data-slot": "item-header",
1449
- className: cn("flex basis-full items-center justify-between gap-2", 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, import_jsx_runtime18.jsx)(
1685
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1456
1686
  "div",
1457
1687
  {
1458
1688
  "data-slot": "item-footer",
1459
- className: cn("flex basis-full items-center justify-between gap-2", 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 import_jsx_runtime19 = require("react/jsx-runtime");
1699
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1467
1700
  function Item2({ className, asChild, children, ...props }) {
1468
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
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 = React18.forwardRef(({ className, ...props }, ref) => {
1488
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
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 = React18.forwardRef(({ className, ...props }, ref) => {
1499
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
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 = React18.forwardRef(({ className, ...props }, ref) => {
1510
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
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 = React18.forwardRef(({ className, ...props }, ref) => {
1521
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
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 React20 = __toESM(require("react"), 1);
1766
+ var React13 = __toESM(require("react"), 1);
1534
1767
 
1535
1768
  // src/primitives/input.tsx
1536
- var React19 = __toESM(require("react"), 1);
1537
- var import_jsx_runtime20 = require("react/jsx-runtime");
1538
- var Input = React19.forwardRef(
1539
- ({ className, type, ...props }, ref) => {
1540
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1541
- "input",
1542
- {
1543
- type,
1544
- className: cn(
1545
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file: file:text-foreground 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",
1546
- className
1547
- ),
1548
- ref,
1549
- ...props
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 import_jsx_runtime21 = require("react/jsx-runtime");
1558
- var Input2 = React20.forwardRef(
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 = React20.useId();
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, import_jsx_runtime21.jsx)(
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, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-2", children: [
1585
- label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
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, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-1", children: [
1599
- description && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
1600
- error && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
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, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-2", children: [
1613
- label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
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, import_jsx_runtime21.jsxs)("div", { className: "relative w-full", children: [
1626
- icon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2", children: icon }),
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, import_jsx_runtime21.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
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, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col gap-1", children: [
1631
- description && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
1632
- error && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
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 React22 = __toESM(require("react"), 1);
1871
+ var React14 = __toESM(require("react"), 1);
1641
1872
  var import_checkbox2 = require("@base-ui/react/checkbox");
1642
- var import_lucide_react5 = require("lucide-react");
1643
- var import_class_variance_authority9 = require("class-variance-authority");
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 import_lucide_react4 = require("lucide-react");
1649
- var import_jsx_runtime22 = require("react/jsx-runtime");
1650
- var Checkbox = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1651
- import_checkbox.Checkbox.Root,
1652
- {
1653
- ref,
1654
- className: cn(
1655
- "peer cursor-pointer ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50",
1656
- className
1657
- ),
1658
- ...props,
1659
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_checkbox.Checkbox.Indicator, { className: cn("grid place-content-center"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react4.Check, { className: "h-4 w-4" }) })
1660
- }
1661
- ));
1662
- Checkbox.displayName = "Checkbox";
1663
- var CheckboxIndicator = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1664
- import_checkbox.Checkbox.Indicator,
1665
- {
1666
- ref,
1667
- className: cn("grid place-content-center", className),
1668
- ...props,
1669
- children: children ?? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react4.Check, { className: "h-4 w-4" })
1670
- }
1671
- ));
1672
- CheckboxIndicator.displayName = "CheckboxIndicator";
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 import_jsx_runtime23 = require("react/jsx-runtime");
1676
- var checkboxVariants = (0, import_class_variance_authority9.cva)(
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 = React22.forwardRef(
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 = React22.useId();
1942
+ const generatedId = React14.useId();
1711
1943
  const checkboxId = id || generatedId;
1712
1944
  const errorId = `${checkboxId}-error`;
1713
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-start gap-3", children: [
1714
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "relative flex items-start pt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
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, import_jsx_runtime23.jsx)(import_checkbox2.Checkbox.Indicator, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1732
- import_lucide_react5.Check,
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, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col gap-1", children: [
1741
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
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, import_jsx_runtime23.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
1754
- error && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
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 React23 = __toESM(require("react"), 1);
1994
+ var React15 = __toESM(require("react"), 1);
1763
1995
  var import_switch = require("@base-ui/react/switch");
1764
- var import_class_variance_authority10 = require("class-variance-authority");
1765
- var import_jsx_runtime24 = require("react/jsx-runtime");
1766
- var switchRootVariants = (0, import_class_variance_authority10.cva)(
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, import_class_variance_authority10.cva)(
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 = React23.forwardRef(
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 = React23.useId();
2047
+ const generatedId = React15.useId();
1816
2048
  const switchId = id || generatedId;
1817
2049
  const errorId = `${switchId}-error`;
1818
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-3", children: [
1819
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
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, import_jsx_runtime24.jsx)(import_switch.Switch.Thumb, { className: cn(switchThumbVariants({ size })) })
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, import_jsx_runtime24.jsxs)("div", { className: "flex flex-col gap-1", children: [
1839
- label && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
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, import_jsx_runtime24.jsx)(Typography, { variant: "xs", color: "muted", children: description }),
1851
- error && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
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 React25 = __toESM(require("react"), 1);
1860
- var import_class_variance_authority11 = require("class-variance-authority");
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 import_lucide_react6 = require("lucide-react");
1866
- var import_jsx_runtime25 = require("react/jsx-runtime");
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
- var SelectGroup = import_select.Select.Group;
1869
- var SelectValue = import_select.Select.Value;
1870
- var SelectTrigger = React24.forwardRef(({ className, children, asChild, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1871
- import_select.Select.Trigger,
1872
- {
1873
- ref,
1874
- className: cn(
1875
- "flex h-10 w-full cursor-pointer items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
1876
- className
1877
- ),
1878
- render: asChildRender(asChild, children),
1879
- ...props,
1880
- children: [
1881
- asChild ? void 0 : children,
1882
- asChild ? null : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_select.Select.Icon, { render: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
1883
- ]
1884
- }
1885
- ));
1886
- SelectTrigger.displayName = "SelectTrigger";
1887
- var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1888
- import_select.Select.ScrollUpArrow,
1889
- {
1890
- ref,
1891
- className: cn("flex cursor-default items-center justify-center py-1", className),
1892
- ...props,
1893
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronUp, { className: "h-4 w-4" })
1894
- }
1895
- ));
1896
- SelectScrollUpButton.displayName = "SelectScrollUpButton";
1897
- var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1898
- import_select.Select.ScrollDownArrow,
1899
- {
1900
- ref,
1901
- className: cn("flex cursor-default items-center justify-center py-1", className),
1902
- ...props,
1903
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.ChevronDown, { className: "h-4 w-4" })
1904
- }
1905
- ));
1906
- SelectScrollDownButton.displayName = "SelectScrollDownButton";
1907
- var SelectContent = React24.forwardRef(
1908
- ({
1909
- className,
1910
- children,
1911
- alignItemWithTrigger = true,
1912
- sideOffset = 4,
1913
- align,
1914
- side,
1915
- alignOffset,
1916
- ...props
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
- sideOffset,
2155
+ alignItemWithTrigger,
1925
2156
  className: "isolate z-50",
1926
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2157
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1927
2158
  import_select.Select.Popup,
1928
2159
  {
1929
- ref,
1930
- className: cn(
1931
- "z-50 max-h-[var(--available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md transition-[opacity,transform] data-starting-style:opacity-0 data-starting-style:scale-95 data-ending-style:opacity-0 data-ending-style:scale-95 data-[side=bottom]:slide-in-from-top-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 origin-[--transform-origin]",
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, import_jsx_runtime25.jsx)(SelectScrollUpButton, {}),
1937
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_select.Select.List, { className: cn("p-1"), children }),
1938
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SelectScrollDownButton, {})
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
- SelectContent.displayName = "SelectContent";
1946
- var SelectLabel = React24.forwardRef(({ className, asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1947
- import_select.Select.GroupLabel,
1948
- {
1949
- ref,
1950
- className: cn("py-1.5 pl-8 pr-2 text-sm ", className),
1951
- render: asChildRender(asChild, children),
1952
- ...props,
1953
- children: asChild ? void 0 : children
1954
- }
1955
- ));
1956
- SelectLabel.displayName = "SelectLabel";
1957
- var SelectItem = React24.forwardRef(({ className, children, asChild, textValue, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1958
- import_select.Select.Item,
1959
- {
1960
- ref,
1961
- label: textValue,
1962
- className: cn(
1963
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
1964
- className
1965
- ),
1966
- render: asChildRender(asChild, children),
1967
- ...props,
1968
- children: asChild ? void 0 : /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
1969
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_select.Select.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react6.Check, { className: "h-4 w-4" }) }) }),
1970
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_select.Select.ItemText, { children })
1971
- ] })
1972
- }
1973
- ));
1974
- SelectItem.displayName = "SelectItem";
1975
- var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1976
- import_select.Select.Separator,
1977
- {
1978
- ref,
1979
- className: cn("-mx-1 my-1 h-px bg-muted", className),
1980
- ...props
1981
- }
1982
- ));
1983
- SelectSeparator.displayName = "SelectSeparator";
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 import_jsx_runtime26 = require("react/jsx-runtime");
1987
- var selectVariants = (0, import_class_variance_authority11.cva)(
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 = React25.forwardRef(
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 = React25.useId();
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, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-2", children: [
2032
- label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
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, import_jsx_runtime26.jsxs)(
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, import_jsx_runtime26.jsx)(
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, import_jsx_runtime26.jsx)(SelectValue, { placeholder })
2324
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(SelectValue, { placeholder })
2068
2325
  }
2069
2326
  ),
2070
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectContent, { children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectItem, { value: option.value, disabled: option.disabled, children: option.label }, option.value)) })
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, import_jsx_runtime26.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
2075
- error && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Typography, { variant: "xs", id: errorId, className: "text-berget-destructive-foreground", children: error })
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 React30 = __toESM(require("react"), 1);
2083
- var import_lucide_react9 = require("lucide-react");
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 React26 = __toESM(require("react"), 1);
2087
- var import_jsx_runtime27 = require("react/jsx-runtime");
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 = React26.forwardRef(
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, import_jsx_runtime27.jsx)(
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 import_jsx_runtime28 = require("react/jsx-runtime");
2123
- var Popover = import_popover.Popover.Root;
2124
- var PopoverTrigger = React27.forwardRef(
2125
- ({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_popover.Popover.Trigger, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
2126
- );
2127
- PopoverTrigger.displayName = "PopoverTrigger";
2128
- var PopoverContent = React27.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_popover.Popover.Positioner, { align, sideOffset, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2129
- import_popover.Popover.Popup,
2130
- {
2131
- ref,
2132
- className: cn(
2133
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none transition-[opacity,transform] data-starting-style:opacity-0 data-starting-style:scale-95 data-ending-style:opacity-0 data-ending-style:scale-95 data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1 origin-[--transform-origin]",
2134
- className
2135
- ),
2136
- ...props
2137
- }
2138
- ) }) }));
2139
- PopoverContent.displayName = "PopoverContent";
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 import_lucide_react8 = require("lucide-react");
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 import_lucide_react7 = require("lucide-react");
2150
- var import_jsx_runtime29 = require("react/jsx-runtime");
2151
- var Dialog2 = import_dialog2.Dialog.Root;
2152
- var DialogTrigger2 = React28.forwardRef(
2153
- ({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dialog2.Dialog.Trigger, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
2154
- );
2155
- DialogTrigger2.displayName = "DialogTrigger";
2156
- var DialogPortal2 = import_dialog2.Dialog.Portal;
2157
- var DialogClose2 = React28.forwardRef(
2158
- ({ asChild, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_dialog2.Dialog.Close, { ref, render: asChildRender(asChild, children), ...props, children: asChild ? void 0 : children })
2159
- );
2160
- DialogClose2.displayName = "DialogClose";
2161
- var DialogOverlay2 = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2162
- import_dialog2.Dialog.Backdrop,
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
- ref,
2179
- className: cn(
2180
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg transition-[opacity,transform] duration-200 data-starting-style:opacity-0 data-starting-style:scale-95 data-ending-style:opacity-0 data-ending-style:scale-95 sm:rounded-lg",
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
- DialogContent2.displayName = "DialogContent";
2195
- var DialogHeader2 = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2196
- DialogHeader2.displayName = "DialogHeader";
2197
- var DialogFooter2 = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2198
- "div",
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
- className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
2201
- ...props
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
- DialogFooter2.displayName = "DialogFooter";
2205
- var DialogTitle2 = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2206
- import_dialog2.Dialog.Title,
2207
- {
2208
- ref,
2209
- className: cn("text-lg font-semibold leading-none tracking-tight", className),
2210
- ...props
2211
- }
2212
- ));
2213
- DialogTitle2.displayName = "DialogTitle";
2214
- var DialogDescription2 = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2215
- import_dialog2.Dialog.Description,
2216
- {
2217
- ref,
2218
- className: cn("text-sm text-muted-foreground", className),
2219
- ...props
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 import_jsx_runtime30 = require("react/jsx-runtime");
2226
- var Command = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2227
- import_cmdk.Command,
2228
- {
2229
- ref,
2230
- className: cn(
2231
- "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
2232
- className
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
- ref,
2244
- className: cn(
2245
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
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.displayName = import_cmdk.Command.Input.displayName;
2253
- var CommandList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2254
- import_cmdk.Command.List,
2255
- {
2256
- ref,
2257
- className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
2258
- ...props
2259
- }
2260
- ));
2261
- CommandList.displayName = import_cmdk.Command.List.displayName;
2262
- var CommandEmpty = React29.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_cmdk.Command.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
2263
- CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
2264
- var CommandGroup = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2265
- import_cmdk.Command.Group,
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
- ...props
2294
- }
2295
- ));
2296
- CommandItem.displayName = import_cmdk.Command.Item.displayName;
2297
- var CommandShortcut = ({ className, ...props }) => {
2298
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2299
- "span",
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
- className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
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
- CommandShortcut.displayName = "CommandShortcut";
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 import_jsx_runtime31 = require("react/jsx-runtime");
2451
- var CountrySelect = React30.forwardRef(
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] = React30.useState(false);
2462
- const selectedCountry = React30.useMemo(() => COUNTRIES.find((c) => c.code === value), [value]);
2463
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
2464
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2465
- "button",
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
- type: "button",
2469
- disabled,
2470
- "aria-expanded": open,
2471
- className: cn(
2472
- // Base layout — consistent with Select trigger
2473
- "flex w-full items-center justify-between",
2474
- "rounded-berget-xs border bg-card",
2475
- "px-4 py-3 text-sm",
2476
- "transition-colors duration-200",
2477
- "focus-visible:outline-none focus-visible:ring-0",
2478
- "focus-visible:ring-offset-0 focus-visible:border-berget-form-focus-border",
2479
- "disabled:cursor-not-allowed disabled:opacity-50",
2480
- // Default border & hover matching Select variant "default"
2481
- "border-berget-border-interactive hover:bg-berget-surface-hover",
2482
- className
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, import_jsx_runtime31.jsx)("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: selectedCountry ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
2486
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-xl flex-shrink-0", children: selectedCountry.flag }),
2487
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "truncate", children: selectedCountry.name }),
2488
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "text-berget-muted-foreground text-xs flex-shrink-0", children: [
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, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
2494
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
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: import_lucide_react9.Globe,
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, import_jsx_runtime31.jsx)("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
2823
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-berget-muted-foreground truncate", children: placeholder })
2503
2824
  ] }) }),
2504
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2825
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2505
2826
  Icon,
2506
2827
  {
2507
- icon: import_lucide_react9.ChevronDown,
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, import_jsx_runtime31.jsx)(
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, import_jsx_runtime31.jsxs)(Command, { children: [
2526
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CommandInput, { placeholder: "Search country..." }),
2527
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(CommandList, { children: [
2528
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CommandEmpty, { children: "No countries found." }),
2529
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CommandGroup, { children: COUNTRIES.map((country) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
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, import_jsx_runtime31.jsx)("span", { className: "text-xl flex-shrink-0", children: country.flag }),
2544
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex-1 min-w-0", children: [
2545
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "text-sm truncate", children: country.name }),
2546
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "text-xs text-berget-muted-foreground", children: country.code })
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, import_jsx_runtime31.jsx)("div", { className: "w-2 h-2 rounded-full bg-berget-brand-granite-400 flex-shrink-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 React32 = __toESM(require("react"), 1);
2564
- var import_class_variance_authority12 = require("class-variance-authority");
2565
-
2566
- // src/primitives/textarea.tsx
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 = React32.forwardRef(
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 = React32.useId();
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, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
2636
- label && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
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, import_jsx_runtime33.jsxs)("div", { className: "relative", children: [
2649
- icon && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: icon }),
2650
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
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, import_jsx_runtime33.jsx)("div", { className: "absolute right-12 top-1/2 -translate-y-1/2", children: secondaryIcon }),
2676
- actionButton && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "absolute right-2 top-1/2 -translate-y-1/2", children: actionButton })
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, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
2679
- description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typography, { variant: "xs", color: "muted", id: descriptionId, children: description }),
2680
- (error || showCount && maxLength) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2 ml-auto", children: [
2681
- showCount && maxLength && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
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, import_jsx_runtime33.jsx)(
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 React33 = __toESM(require("react"), 1);
2713
- var import_class_variance_authority13 = require("class-variance-authority");
2714
- var import_jsx_runtime34 = require("react/jsx-runtime");
2715
- var labelVariants = (0, import_class_variance_authority13.cva)(
2716
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
2717
- );
2718
- var Label = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("label", { ref, className: cn(labelVariants(), className), ...props }));
2719
- Label.displayName = "Label";
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 import_class_variance_authority14 = require("class-variance-authority");
2724
- var import_jsx_runtime35 = require("react/jsx-runtime");
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, import_jsx_runtime35.jsx)(
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-6",
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, import_jsx_runtime35.jsx)(
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-3 font-medium",
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, import_jsx_runtime35.jsx)(
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-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",
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, import_class_variance_authority14.cva)(
2773
- "group/field data-[invalid=true]:text-berget-destructive-foreground flex w-full gap-3",
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: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
2778
- horizontal: [
2779
- "flex-row items-center",
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, import_jsx_runtime35.jsx)(
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, import_jsx_runtime35.jsx)(
3108
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2813
3109
  "div",
2814
3110
  {
2815
3111
  "data-slot": "field-content",
2816
- className: cn("group/field-content flex flex-1 flex-col gap-1.5 leading-snug", 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({ className, ...props }) {
2822
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
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 text-berget-foreground group-data-[disabled=true]/field:text-berget-muted-foreground",
2828
- "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>[data-slot=field]]:p-4",
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, import_jsx_runtime35.jsx)(
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 leading-snug group-data-[disabled=true]/field:opacity-50",
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, import_jsx_runtime35.jsx)(
3151
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2851
3152
  "p",
2852
3153
  {
2853
3154
  "data-slot": "field-description",
2854
- className: cn(
2855
- "text-berget-muted-foreground text-sm font-normal leading-normal group-has-[[data-orientation=horizontal]]/field:text-balance",
2856
- "nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1.5",
2857
- "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
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, import_jsx_runtime35.jsxs)(
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, import_jsx_runtime35.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
2881
- children && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
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: "bg-berget-background text-berget-muted-foreground relative mx-auto block w-fit px-2",
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
- if (errors?.length === 1 && errors[0]?.message) {
2907
- return errors[0].message;
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, import_jsx_runtime35.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map((error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("li", { children: error.message }, index)) });
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, import_jsx_runtime35.jsx)(
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-berget-destructive-foreground text-sm font-normal", className),
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 React34 = __toESM(require("react"), 1);
2928
- var import_class_variance_authority15 = require("class-variance-authority");
2929
- var import_lucide_react10 = require("lucide-react");
2930
- var import_jsx_runtime36 = require("react/jsx-runtime");
2931
- var linkVariants = (0, import_class_variance_authority15.cva)(
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 = React34.forwardRef(
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, import_jsx_runtime36.jsxs)(
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, import_jsx_runtime36.jsx)("span", { className: "inline-flex items-center", children: icon }),
2985
- showExternalIcon && isExternal && !disabled && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "inline-flex items-center ml-1 opacity-60", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { icon: import_lucide_react10.ExternalLink, size: 16 }) })
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 React35 = __toESM(require("react"), 1);
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 import_class_variance_authority16 = require("class-variance-authority");
2998
- var containerVariants = (0, import_class_variance_authority16.cva)("w-full mx-auto", {
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 = React35.forwardRef(
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 React36 = __toESM(require("react"), 1);
3039
- var import_class_variance_authority17 = require("class-variance-authority");
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, import_class_variance_authority17.cva)("grid", {
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 = React36.forwardRef(
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 React37 = __toESM(require("react"), 1);
3092
- var import_class_variance_authority18 = require("class-variance-authority");
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, import_class_variance_authority18.cva)("flex", {
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 = React37.forwardRef(
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 React38 = __toESM(require("react"), 1);
3155
- var import_jsx_runtime37 = require("react/jsx-runtime");
3156
- var BergetLogo = React38.forwardRef(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsxs)(
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, import_jsx_runtime37.jsxs)("g", { style: { fill: fillColor }, children: [
3204
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)(
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, import_jsx_runtime37.jsx)("path", { className: "berget-logotype-fill", d: "M778.48,172.54v-96.04h15.15v96.04h-15.15Z" })
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, import_jsx_runtime37.jsx)(
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 React39 = __toESM(require("react"), 1);
3576
+ var React25 = __toESM(require("react"), 1);
3271
3577
  var import_select3 = require("@base-ui/react/select");
3272
- var import_lucide_react11 = require("lucide-react");
3273
- var import_jsx_runtime38 = require("react/jsx-runtime");
3274
- var LanguageSelect = React39.forwardRef(
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, import_jsx_runtime38.jsxs)(
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, import_jsx_runtime38.jsxs)(
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, import_jsx_runtime38.jsx)("span", { className: "sr-only", children: "Select language" }),
3306
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { icon: import_lucide_react11.Globe, size: 16, "aria-hidden": true })
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, import_jsx_runtime38.jsx)(import_select3.Select.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_select3.Select.Positioner, { alignItemWithTrigger: false, className: "isolate z-50", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
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, import_jsx_runtime38.jsx)(import_select3.Select.List, { className: "p-1", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
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, import_jsx_runtime38.jsx)(import_select3.Select.ItemText, { children: option.label })
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 React41 = __toESM(require("react"), 1);
3673
+ var React27 = __toESM(require("react"), 1);
3368
3674
 
3369
3675
  // src/components/divider/Divider.tsx
3370
- var React40 = __toESM(require("react"), 1);
3371
- var import_class_variance_authority19 = require("class-variance-authority");
3372
- var import_jsx_runtime39 = require("react/jsx-runtime");
3373
- var dividerVariants = (0, import_class_variance_authority19.cva)("", {
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 = React40.forwardRef(
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, import_jsx_runtime39.jsxs)("div", { ref, className: cn("flex items-center w-full", className), ...props, children: [
3405
- labelPosition !== "right" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
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, import_jsx_runtime39.jsx)(Typography, { variant: "small", color: "muted", className: "px-4 whitespace-nowrap", children: label }),
3413
- labelPosition !== "left" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
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, import_jsx_runtime39.jsx)(
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 import_lucide_react12 = require("lucide-react");
3440
- var import_jsx_runtime40 = require("react/jsx-runtime");
3441
- var List = React41.forwardRef(
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 = React41.Children.toArray(children);
3444
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { ref, className: cn("flex flex-col", className), ...props, children: childrenArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(React41.Fragment, { children: [
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, import_jsx_runtime40.jsx)(Divider, { variant: "subtle" })
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 = React41.forwardRef(
3452
- ({ className, icon, children, interactive = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
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, import_jsx_runtime40.jsx)("div", { className: "flex-shrink-0 flex items-center justify-center", children: icon }),
3464
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex-1 min-w-0", children })
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 = React41.forwardRef(
3471
- ({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
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 = React41.forwardRef(
3788
+ var FeatureList = React27.forwardRef(
3483
3789
  ({ items, variant = "bullet", className, ...props }, ref) => {
3484
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("ul", { ref, className: cn("flex flex-col gap-fluid-md", className), ...props, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("li", { className: "flex items-start gap-fluid-md", children: [
3485
- variant === "bullet" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-berget-icon-muted flex-shrink-0 mt-2" }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex-shrink-0 mt-0.5", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { icon: import_lucide_react12.Check, size: 24, className: "text-berget-logo-light" }) }),
3486
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Typography, { variant: "body", color: "muted", children: item })
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 React42 = __toESM(require("react"), 1);
3494
- var import_class_variance_authority20 = require("class-variance-authority");
3495
- var import_jsx_runtime41 = require("react/jsx-runtime");
3496
- var heroBlockVariants = (0, import_class_variance_authority20.cva)(
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 = React42.forwardRef(
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, import_jsx_runtime41.jsx)(
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, import_jsx_runtime41.jsx)("div", { className: "mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "mx-auto text-center max-w-4xl", children: [
3535
- tagline && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
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, import_jsx_runtime41.jsx)(Icon, { icon: TaglineIcon, size: 16 }) : void 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, import_jsx_runtime41.jsx)(Typography, { variant: "h1", className: "mb-fluid-md", children: title }),
3546
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Typography, { variant: "h3", color: "muted", className: "mb-fluid-lg", children: description }),
3547
- actions && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "flex flex-wrap gap-fluid-md justify-center", children: actions })
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 import_lucide_react13 = require("lucide-react");
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 import_jsx_runtime42 = require("react/jsx-runtime");
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, import_jsx_runtime42.jsx)(
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, import_jsx_runtime42.jsx)(import_lucide_react13.Check, { className: "w-3.5 h-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react13.Copy, { className: "w-3.5 h-3.5" })
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, import_jsx_runtime42.jsxs)(
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, import_jsx_runtime42.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_runtime42.jsx)("span", { className: "text-berget-muted-foreground", children: title }) }),
3632
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "absolute right-2 top-2 z-10", children: copyButton }),
3633
- html ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
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, import_jsx_runtime42.jsx)("pre", { className: "!p-4 !m-0 overflow-x-auto !text-sm !leading-relaxed text-berget-muted-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("code", { children: code }) })
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 React43 = __toESM(require("react"), 1);
3952
+ var React29 = __toESM(require("react"), 1);
3647
3953
  var import_react3 = require("react");
3648
- var import_jsx_runtime43 = require("react/jsx-runtime");
3649
- var WindowFrame = React43.forwardRef(
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, import_jsx_runtime43.jsxs)(
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, import_jsx_runtime43.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: [
3671
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
3672
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FF5F56]" }),
3673
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FFBD2E]" }),
3674
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#27C93F]" })
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, import_jsx_runtime43.jsx)("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
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, import_jsx_runtime43.jsx)("span", { className: "ml-4 text-sm font-mono text-berget-brand-moss-400", children: title })
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, import_jsx_runtime43.jsx)("div", { children })
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,