@polastack/design-system 0.1.2 → 0.1.4

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.js CHANGED
@@ -334,34 +334,63 @@ Badge.displayName = "Badge";
334
334
  // src/components/avatar/avatar.tsx
335
335
  import * as React5 from "react";
336
336
  import { cva as cva3 } from "class-variance-authority";
337
+
338
+ // src/lib/string-hash.ts
339
+ function stringToIndex(str, buckets) {
340
+ let hash = 5381;
341
+ for (let i = 0; i < str.length; i++) {
342
+ hash = (hash << 5) + hash + str.charCodeAt(i) | 0;
343
+ }
344
+ return Math.abs(hash) % buckets;
345
+ }
346
+
347
+ // src/components/avatar/avatar.tsx
337
348
  import { jsx as jsx4 } from "react/jsx-runtime";
338
349
  var [AvatarContextProvider, useAvatarContext] = createContext2("Avatar");
339
- var avatarVariants = cva3(
340
- "relative flex shrink-0 overflow-hidden rounded-full",
341
- {
342
- variants: {
343
- size: {
344
- sm: "h-8 w-8 text-xs",
345
- md: "h-10 w-10 text-sm",
346
- lg: "h-12 w-12 text-base"
347
- }
350
+ var FALLBACK_COLORS = [
351
+ "bg-primary-100 text-primary-700 dark:bg-primary-950 dark:text-primary-300",
352
+ "bg-success-100 text-success-700 dark:bg-success-950 dark:text-success-300",
353
+ "bg-warning-100 text-warning-700 dark:bg-warning-950 dark:text-warning-300",
354
+ "bg-error-100 text-error-700 dark:bg-error-950 dark:text-error-300",
355
+ "bg-info-100 text-info-700 dark:bg-info-950 dark:text-info-300",
356
+ "bg-primary-200 text-primary-800 dark:bg-primary-900 dark:text-primary-200",
357
+ "bg-info-200 text-info-800 dark:bg-info-900 dark:text-info-200",
358
+ "bg-success-200 text-success-800 dark:bg-success-900 dark:text-success-200"
359
+ ];
360
+ var avatarVariants = cva3("relative flex shrink-0 overflow-hidden", {
361
+ variants: {
362
+ size: {
363
+ sm: "h-8 w-8 text-xs",
364
+ md: "h-10 w-10 text-sm",
365
+ lg: "h-12 w-12 text-base"
348
366
  },
349
- defaultVariants: {
350
- size: "md"
367
+ shape: {
368
+ circle: "rounded-full",
369
+ square: "rounded-lg"
351
370
  }
371
+ },
372
+ defaultVariants: {
373
+ size: "md",
374
+ shape: "circle"
352
375
  }
353
- );
376
+ });
354
377
  var Avatar = React5.forwardRef(
355
- ({ className, size, ...props }, ref) => {
378
+ ({ className, size = "md", shape = "circle", ...props }, ref) => {
356
379
  const [imageLoaded, setImageLoaded] = React5.useState(false);
357
- return /* @__PURE__ */ jsx4(AvatarContextProvider, { value: { imageLoaded, setImageLoaded }, children: /* @__PURE__ */ jsx4(
358
- "span",
380
+ return /* @__PURE__ */ jsx4(
381
+ AvatarContextProvider,
359
382
  {
360
- ref,
361
- className: cn(avatarVariants({ size }), className),
362
- ...props
383
+ value: { imageLoaded, setImageLoaded, shape, size },
384
+ children: /* @__PURE__ */ jsx4(
385
+ "span",
386
+ {
387
+ ref,
388
+ className: cn(avatarVariants({ size, shape }), className),
389
+ ...props
390
+ }
391
+ )
363
392
  }
364
- ) });
393
+ );
365
394
  }
366
395
  );
367
396
  Avatar.displayName = "Avatar";
@@ -391,15 +420,20 @@ var AvatarImage = React5.forwardRef(
391
420
  }
392
421
  );
393
422
  AvatarImage.displayName = "AvatarImage";
394
- var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => {
395
- const { imageLoaded } = useAvatarContext();
423
+ var AvatarFallback = React5.forwardRef(({ className, colorSeed, ...props }, ref) => {
424
+ const { imageLoaded, shape } = useAvatarContext();
425
+ const autoSeed = React5.useId();
396
426
  if (imageLoaded) return null;
427
+ const seed = colorSeed ?? autoSeed;
428
+ const colorClasses = FALLBACK_COLORS[stringToIndex(seed, FALLBACK_COLORS.length)];
397
429
  return /* @__PURE__ */ jsx4(
398
430
  "span",
399
431
  {
400
432
  ref,
401
433
  className: cn(
402
- "flex h-full w-full items-center justify-center rounded-full bg-[var(--color-surface-muted)] font-medium text-[var(--color-on-surface-secondary)]",
434
+ "flex h-full w-full items-center justify-center font-medium",
435
+ shape === "circle" ? "rounded-full" : "rounded-lg",
436
+ colorClasses,
403
437
  className
404
438
  ),
405
439
  ...props
@@ -407,12 +441,101 @@ var AvatarFallback = React5.forwardRef(({ className, ...props }, ref) => {
407
441
  );
408
442
  });
409
443
  AvatarFallback.displayName = "AvatarFallback";
444
+ var STATUS_COLORS = {
445
+ online: "bg-success-500",
446
+ offline: "bg-neutral-400",
447
+ busy: "bg-error-500",
448
+ away: "bg-warning-500"
449
+ };
450
+ var STATUS_LABELS = {
451
+ online: "Online",
452
+ offline: "Offline",
453
+ busy: "Busy",
454
+ away: "Away"
455
+ };
456
+ var STATUS_SIZES = {
457
+ sm: "h-2.5 w-2.5",
458
+ md: "h-3 w-3",
459
+ lg: "h-3.5 w-3.5"
460
+ };
461
+ var AvatarStatus = React5.forwardRef(({ status, className, ...props }, ref) => {
462
+ const { size, shape } = useAvatarContext();
463
+ return /* @__PURE__ */ jsx4(
464
+ "span",
465
+ {
466
+ ref,
467
+ role: "status",
468
+ "aria-label": props["aria-label"] ?? STATUS_LABELS[status],
469
+ className: cn(
470
+ "absolute bottom-0 right-0 rounded-full ring-2 ring-[var(--color-surface)]",
471
+ STATUS_COLORS[status],
472
+ STATUS_SIZES[size],
473
+ shape === "circle" && "translate-x-[10%] translate-y-[10%]",
474
+ className
475
+ ),
476
+ ...props
477
+ }
478
+ );
479
+ });
480
+ AvatarStatus.displayName = "AvatarStatus";
410
481
 
411
- // src/components/separator/separator.tsx
482
+ // src/components/avatar-group/avatar-group.tsx
412
483
  import * as React6 from "react";
413
- import { jsx as jsx5 } from "react/jsx-runtime";
414
- var Separator = React6.forwardRef(
415
- ({ className, orientation = "horizontal", decorative = false, ...props }, ref) => /* @__PURE__ */ jsx5(
484
+ import { jsx as jsx5, jsxs } from "react/jsx-runtime";
485
+ var SPACING = {
486
+ sm: "-space-x-2",
487
+ md: "-space-x-3",
488
+ lg: "-space-x-3"
489
+ };
490
+ var AvatarGroup = React6.forwardRef(
491
+ ({ className, max = 3, size = "md", children, ...props }, ref) => {
492
+ const items = React6.Children.toArray(children);
493
+ const visible = items.slice(0, max);
494
+ const overflow = items.length - max;
495
+ return /* @__PURE__ */ jsxs(
496
+ "div",
497
+ {
498
+ ref,
499
+ role: "group",
500
+ className: cn(
501
+ "flex items-center",
502
+ SPACING[size],
503
+ className
504
+ ),
505
+ ...props,
506
+ children: [
507
+ visible.map((child, i) => /* @__PURE__ */ jsx5(
508
+ "span",
509
+ {
510
+ className: "relative ring-2 ring-[var(--color-surface)] rounded-full",
511
+ style: { zIndex: visible.length - i },
512
+ children: child
513
+ },
514
+ i
515
+ )),
516
+ overflow > 0 && /* @__PURE__ */ jsx5(
517
+ "span",
518
+ {
519
+ className: "relative ring-2 ring-[var(--color-surface)] rounded-full",
520
+ style: { zIndex: 0 },
521
+ children: /* @__PURE__ */ jsx5(Avatar, { size, children: /* @__PURE__ */ jsxs(AvatarFallback, { children: [
522
+ "+",
523
+ overflow
524
+ ] }) })
525
+ }
526
+ )
527
+ ]
528
+ }
529
+ );
530
+ }
531
+ );
532
+ AvatarGroup.displayName = "AvatarGroup";
533
+
534
+ // src/components/separator/separator.tsx
535
+ import * as React7 from "react";
536
+ import { jsx as jsx6 } from "react/jsx-runtime";
537
+ var Separator = React7.forwardRef(
538
+ ({ className, orientation = "horizontal", decorative = false, ...props }, ref) => /* @__PURE__ */ jsx6(
416
539
  "div",
417
540
  {
418
541
  ref,
@@ -430,10 +553,10 @@ var Separator = React6.forwardRef(
430
553
  Separator.displayName = "Separator";
431
554
 
432
555
  // src/components/skeleton/skeleton.tsx
433
- import * as React7 from "react";
434
- import { jsx as jsx6 } from "react/jsx-runtime";
435
- var Skeleton = React7.forwardRef(
436
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
556
+ import * as React8 from "react";
557
+ import { jsx as jsx7 } from "react/jsx-runtime";
558
+ var Skeleton = React8.forwardRef(
559
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx7(
437
560
  "div",
438
561
  {
439
562
  ref,
@@ -446,9 +569,9 @@ var Skeleton = React7.forwardRef(
446
569
  Skeleton.displayName = "Skeleton";
447
570
 
448
571
  // src/components/spinner/spinner.tsx
449
- import * as React8 from "react";
572
+ import * as React9 from "react";
450
573
  import { cva as cva4 } from "class-variance-authority";
451
- import { jsx as jsx7, jsxs } from "react/jsx-runtime";
574
+ import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
452
575
  var spinnerVariants = cva4("animate-spin", {
453
576
  variants: {
454
577
  size: {
@@ -461,9 +584,9 @@ var spinnerVariants = cva4("animate-spin", {
461
584
  size: "md"
462
585
  }
463
586
  });
464
- var Spinner = React8.forwardRef(
465
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, role: "status", "aria-label": "Loading", ...props, children: [
466
- /* @__PURE__ */ jsxs(
587
+ var Spinner = React9.forwardRef(
588
+ ({ className, size, ...props }, ref) => /* @__PURE__ */ jsxs2("div", { ref, role: "status", "aria-label": "Loading", ...props, children: [
589
+ /* @__PURE__ */ jsxs2(
467
590
  "svg",
468
591
  {
469
592
  className: cn(spinnerVariants({ size }), className),
@@ -471,7 +594,7 @@ var Spinner = React8.forwardRef(
471
594
  fill: "none",
472
595
  viewBox: "0 0 24 24",
473
596
  children: [
474
- /* @__PURE__ */ jsx7(
597
+ /* @__PURE__ */ jsx8(
475
598
  "circle",
476
599
  {
477
600
  className: "opacity-25",
@@ -482,7 +605,7 @@ var Spinner = React8.forwardRef(
482
605
  strokeWidth: "4"
483
606
  }
484
607
  ),
485
- /* @__PURE__ */ jsx7(
608
+ /* @__PURE__ */ jsx8(
486
609
  "path",
487
610
  {
488
611
  className: "opacity-75",
@@ -493,15 +616,15 @@ var Spinner = React8.forwardRef(
493
616
  ]
494
617
  }
495
618
  ),
496
- /* @__PURE__ */ jsx7("span", { className: "sr-only", children: "Loading..." })
619
+ /* @__PURE__ */ jsx8("span", { className: "sr-only", children: "Loading..." })
497
620
  ] })
498
621
  );
499
622
  Spinner.displayName = "Spinner";
500
623
 
501
624
  // src/components/card/card.tsx
502
- import * as React9 from "react";
503
- import { jsx as jsx8 } from "react/jsx-runtime";
504
- var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
625
+ import * as React10 from "react";
626
+ import { jsx as jsx9 } from "react/jsx-runtime";
627
+ var Card = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
505
628
  "div",
506
629
  {
507
630
  ref,
@@ -513,7 +636,7 @@ var Card = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
513
636
  }
514
637
  ));
515
638
  Card.displayName = "Card";
516
- var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
639
+ var CardHeader = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
517
640
  "div",
518
641
  {
519
642
  ref,
@@ -522,7 +645,7 @@ var CardHeader = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
522
645
  }
523
646
  ));
524
647
  CardHeader.displayName = "CardHeader";
525
- var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
648
+ var CardTitle = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
526
649
  "h3",
527
650
  {
528
651
  ref,
@@ -531,7 +654,7 @@ var CardTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__
531
654
  }
532
655
  ));
533
656
  CardTitle.displayName = "CardTitle";
534
- var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
657
+ var CardDescription = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
535
658
  "p",
536
659
  {
537
660
  ref,
@@ -540,9 +663,9 @@ var CardDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__
540
663
  }
541
664
  ));
542
665
  CardDescription.displayName = "CardDescription";
543
- var CardContent = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("p-6 pt-0", className), ...props }));
666
+ var CardContent = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9("div", { ref, className: cn("p-6 pt-0", className), ...props }));
544
667
  CardContent.displayName = "CardContent";
545
- var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8(
668
+ var CardFooter = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
546
669
  "div",
547
670
  {
548
671
  ref,
@@ -553,13 +676,13 @@ var CardFooter = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE_
553
676
  CardFooter.displayName = "CardFooter";
554
677
 
555
678
  // src/components/tooltip/tooltip.tsx
556
- import * as React10 from "react";
679
+ import * as React11 from "react";
557
680
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
558
- import { jsx as jsx9 } from "react/jsx-runtime";
681
+ import { jsx as jsx10 } from "react/jsx-runtime";
559
682
  var TooltipProvider = TooltipPrimitive.Provider;
560
683
  var Tooltip = TooltipPrimitive.Root;
561
684
  var TooltipTrigger = TooltipPrimitive.Trigger;
562
- var TooltipContent = React10.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx9(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx9(
685
+ var TooltipContent = React11.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx10(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
563
686
  TooltipPrimitive.Content,
564
687
  {
565
688
  ref,
@@ -577,12 +700,12 @@ var TooltipContent = React10.forwardRef(({ className, sideOffset = 4, ...props }
577
700
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
578
701
 
579
702
  // src/components/toast/toast.tsx
580
- import * as React11 from "react";
703
+ import * as React12 from "react";
581
704
  import * as ToastPrimitive from "@radix-ui/react-toast";
582
705
  import { cva as cva5 } from "class-variance-authority";
583
- import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
706
+ import { jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
584
707
  var ToastProvider = ToastPrimitive.Provider;
585
- var ToastViewport = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
708
+ var ToastViewport = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
586
709
  ToastPrimitive.Viewport,
587
710
  {
588
711
  ref,
@@ -609,7 +732,7 @@ var toastVariants = cva5(
609
732
  }
610
733
  }
611
734
  );
612
- var Toast = React11.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx10(
735
+ var Toast = React12.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx11(
613
736
  ToastPrimitive.Root,
614
737
  {
615
738
  ref,
@@ -618,7 +741,7 @@ var Toast = React11.forwardRef(({ className, variant, ...props }, ref) => /* @__
618
741
  }
619
742
  ));
620
743
  Toast.displayName = "Toast";
621
- var ToastAction = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
744
+ var ToastAction = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
622
745
  ToastPrimitive.Action,
623
746
  {
624
747
  ref,
@@ -630,7 +753,7 @@ var ToastAction = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
630
753
  }
631
754
  ));
632
755
  ToastAction.displayName = "ToastAction";
633
- var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
756
+ var ToastClose = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
634
757
  ToastPrimitive.Close,
635
758
  {
636
759
  ref,
@@ -641,7 +764,7 @@ var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
641
764
  "toast-close": "",
642
765
  "aria-label": "Close",
643
766
  ...props,
644
- children: /* @__PURE__ */ jsxs2(
767
+ children: /* @__PURE__ */ jsxs3(
645
768
  "svg",
646
769
  {
647
770
  xmlns: "http://www.w3.org/2000/svg",
@@ -654,15 +777,15 @@ var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
654
777
  strokeLinecap: "round",
655
778
  strokeLinejoin: "round",
656
779
  children: [
657
- /* @__PURE__ */ jsx10("path", { d: "M18 6 6 18" }),
658
- /* @__PURE__ */ jsx10("path", { d: "m6 6 12 12" })
780
+ /* @__PURE__ */ jsx11("path", { d: "M18 6 6 18" }),
781
+ /* @__PURE__ */ jsx11("path", { d: "m6 6 12 12" })
659
782
  ]
660
783
  }
661
784
  )
662
785
  }
663
786
  ));
664
787
  ToastClose.displayName = "ToastClose";
665
- var ToastTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
788
+ var ToastTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
666
789
  ToastPrimitive.Title,
667
790
  {
668
791
  ref,
@@ -671,7 +794,7 @@ var ToastTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
671
794
  }
672
795
  ));
673
796
  ToastTitle.displayName = "ToastTitle";
674
- var ToastDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
797
+ var ToastDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
675
798
  ToastPrimitive.Description,
676
799
  {
677
800
  ref,
@@ -682,7 +805,7 @@ var ToastDescription = React11.forwardRef(({ className, ...props }, ref) => /* @
682
805
  ToastDescription.displayName = "ToastDescription";
683
806
 
684
807
  // src/components/toast/use-toast.ts
685
- import * as React12 from "react";
808
+ import * as React13 from "react";
686
809
  var TOAST_LIMIT = 5;
687
810
  var TOAST_REMOVE_DELAY = 1e3;
688
811
  var count = 0;
@@ -753,8 +876,8 @@ function toast(props) {
753
876
  return { id, dismiss };
754
877
  }
755
878
  function useToast() {
756
- const [state, setState] = React12.useState(memoryState);
757
- React12.useEffect(() => {
879
+ const [state, setState] = React13.useState(memoryState);
880
+ React13.useEffect(() => {
758
881
  listeners.push(setState);
759
882
  return () => {
760
883
  const index = listeners.indexOf(setState);
@@ -769,27 +892,27 @@ function useToast() {
769
892
  }
770
893
 
771
894
  // src/components/toast/toaster.tsx
772
- import { jsx as jsx11, jsxs as jsxs3 } from "react/jsx-runtime";
895
+ import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
773
896
  function Toaster() {
774
897
  const { toasts } = useToast();
775
- return /* @__PURE__ */ jsxs3(ToastProvider, { children: [
776
- toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs3(Toast, { ...props, children: [
777
- /* @__PURE__ */ jsxs3("div", { className: "grid gap-1", children: [
778
- title && /* @__PURE__ */ jsx11(ToastTitle, { children: title }),
779
- description && /* @__PURE__ */ jsx11(ToastDescription, { children: description })
898
+ return /* @__PURE__ */ jsxs4(ToastProvider, { children: [
899
+ toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs4(Toast, { ...props, children: [
900
+ /* @__PURE__ */ jsxs4("div", { className: "grid gap-1", children: [
901
+ title && /* @__PURE__ */ jsx12(ToastTitle, { children: title }),
902
+ description && /* @__PURE__ */ jsx12(ToastDescription, { children: description })
780
903
  ] }),
781
904
  action,
782
- /* @__PURE__ */ jsx11(ToastClose, {})
905
+ /* @__PURE__ */ jsx12(ToastClose, {})
783
906
  ] }, id)),
784
- /* @__PURE__ */ jsx11(ToastViewport, {})
907
+ /* @__PURE__ */ jsx12(ToastViewport, {})
785
908
  ] });
786
909
  }
787
910
 
788
911
  // src/components/label/label.tsx
789
- import * as React13 from "react";
912
+ import * as React14 from "react";
790
913
  import * as LabelPrimitive from "@radix-ui/react-label";
791
- import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
792
- var Label = React13.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs4(
914
+ import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
915
+ var Label = React14.forwardRef(({ className, required, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
793
916
  LabelPrimitive.Root,
794
917
  {
795
918
  ref,
@@ -800,16 +923,16 @@ var Label = React13.forwardRef(({ className, required, children, ...props }, ref
800
923
  ...props,
801
924
  children: [
802
925
  children,
803
- required && /* @__PURE__ */ jsx12("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
926
+ required && /* @__PURE__ */ jsx13("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
804
927
  ]
805
928
  }
806
929
  ));
807
930
  Label.displayName = "Label";
808
931
 
809
932
  // src/components/input/input.tsx
810
- import * as React14 from "react";
933
+ import * as React15 from "react";
811
934
  import { cva as cva6 } from "class-variance-authority";
812
- import { jsx as jsx13 } from "react/jsx-runtime";
935
+ import { jsx as jsx14 } from "react/jsx-runtime";
813
936
  var inputVariants = cva6(
814
937
  "flex w-full rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 text-[var(--color-on-surface)] transition-colors duration-fast file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-[var(--color-on-surface-muted)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-visible:ring-error-500 touch:min-h-[--touch-target-min]",
815
938
  {
@@ -825,8 +948,8 @@ var inputVariants = cva6(
825
948
  }
826
949
  }
827
950
  );
828
- var Input = React14.forwardRef(
829
- ({ className, size, type, ...props }, ref) => /* @__PURE__ */ jsx13(
951
+ var Input = React15.forwardRef(
952
+ ({ className, size, type, ...props }, ref) => /* @__PURE__ */ jsx14(
830
953
  "input",
831
954
  {
832
955
  ref,
@@ -839,9 +962,9 @@ var Input = React14.forwardRef(
839
962
  Input.displayName = "Input";
840
963
 
841
964
  // src/components/textarea/textarea.tsx
842
- import * as React15 from "react";
965
+ import * as React16 from "react";
843
966
  import { cva as cva7 } from "class-variance-authority";
844
- import { jsx as jsx14 } from "react/jsx-runtime";
967
+ import { jsx as jsx15 } from "react/jsx-runtime";
845
968
  var textareaVariants = cva7(
846
969
  "flex w-full resize-y rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-2 text-[var(--color-on-surface)] transition-colors duration-fast placeholder:text-[var(--color-on-surface-muted)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-visible:ring-error-500",
847
970
  {
@@ -857,8 +980,8 @@ var textareaVariants = cva7(
857
980
  }
858
981
  }
859
982
  );
860
- var Textarea = React15.forwardRef(
861
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx14(
983
+ var Textarea = React16.forwardRef(
984
+ ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx15(
862
985
  "textarea",
863
986
  {
864
987
  ref,
@@ -870,10 +993,10 @@ var Textarea = React15.forwardRef(
870
993
  Textarea.displayName = "Textarea";
871
994
 
872
995
  // src/components/checkbox/checkbox.tsx
873
- import * as React16 from "react";
996
+ import * as React17 from "react";
874
997
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
875
- import { jsx as jsx15 } from "react/jsx-runtime";
876
- var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
998
+ import { jsx as jsx16 } from "react/jsx-runtime";
999
+ var Checkbox = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
877
1000
  CheckboxPrimitive.Root,
878
1001
  {
879
1002
  ref,
@@ -887,7 +1010,7 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
887
1010
  className
888
1011
  ),
889
1012
  ...props,
890
- children: /* @__PURE__ */ jsx15(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center", children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx15(
1013
+ children: /* @__PURE__ */ jsx16(CheckboxPrimitive.Indicator, { className: "flex items-center justify-center", children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx16(
891
1014
  "svg",
892
1015
  {
893
1016
  width: "12",
@@ -897,9 +1020,9 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
897
1020
  stroke: "currentColor",
898
1021
  strokeWidth: "3",
899
1022
  strokeLinecap: "round",
900
- children: /* @__PURE__ */ jsx15("path", { d: "M5 12h14" })
1023
+ children: /* @__PURE__ */ jsx16("path", { d: "M5 12h14" })
901
1024
  }
902
- ) : /* @__PURE__ */ jsx15(
1025
+ ) : /* @__PURE__ */ jsx16(
903
1026
  "svg",
904
1027
  {
905
1028
  width: "12",
@@ -910,7 +1033,7 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
910
1033
  strokeWidth: "3",
911
1034
  strokeLinecap: "round",
912
1035
  strokeLinejoin: "round",
913
- children: /* @__PURE__ */ jsx15("polyline", { points: "20 6 9 17 4 12" })
1036
+ children: /* @__PURE__ */ jsx16("polyline", { points: "20 6 9 17 4 12" })
914
1037
  }
915
1038
  ) })
916
1039
  }
@@ -918,10 +1041,10 @@ var Checkbox = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__
918
1041
  Checkbox.displayName = "Checkbox";
919
1042
 
920
1043
  // src/components/radio-group/radio-group.tsx
921
- import * as React17 from "react";
1044
+ import * as React18 from "react";
922
1045
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
923
- import { jsx as jsx16 } from "react/jsx-runtime";
924
- var RadioGroup = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1046
+ import { jsx as jsx17 } from "react/jsx-runtime";
1047
+ var RadioGroup = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
925
1048
  RadioGroupPrimitive.Root,
926
1049
  {
927
1050
  ref,
@@ -930,7 +1053,7 @@ var RadioGroup = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE
930
1053
  }
931
1054
  ));
932
1055
  RadioGroup.displayName = "RadioGroup";
933
- var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx16(
1056
+ var RadioGroupItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
934
1057
  RadioGroupPrimitive.Item,
935
1058
  {
936
1059
  ref,
@@ -943,7 +1066,7 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
943
1066
  className
944
1067
  ),
945
1068
  ...props,
946
- children: /* @__PURE__ */ jsx16(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx16(
1069
+ children: /* @__PURE__ */ jsx17(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx17(
947
1070
  "svg",
948
1071
  {
949
1072
  width: "8",
@@ -951,7 +1074,7 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
951
1074
  viewBox: "0 0 8 8",
952
1075
  fill: "currentColor",
953
1076
  className: "text-primary-500",
954
- children: /* @__PURE__ */ jsx16("circle", { cx: "4", cy: "4", r: "4" })
1077
+ children: /* @__PURE__ */ jsx17("circle", { cx: "4", cy: "4", r: "4" })
955
1078
  }
956
1079
  ) })
957
1080
  }
@@ -959,10 +1082,10 @@ var RadioGroupItem = React17.forwardRef(({ className, ...props }, ref) => /* @__
959
1082
  RadioGroupItem.displayName = "RadioGroupItem";
960
1083
 
961
1084
  // src/components/switch/switch.tsx
962
- import * as React18 from "react";
1085
+ import * as React19 from "react";
963
1086
  import * as SwitchPrimitive from "@radix-ui/react-switch";
964
1087
  import { cva as cva8 } from "class-variance-authority";
965
- import { jsx as jsx17 } from "react/jsx-runtime";
1088
+ import { jsx as jsx18 } from "react/jsx-runtime";
966
1089
  var switchVariants = cva8(
967
1090
  "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-fast focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-ring)] focus-visible:ring-offset-2 ring-offset-[var(--color-ring-offset)] disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary-500 data-[state=unchecked]:bg-neutral-300 dark:data-[state=unchecked]:bg-neutral-600 touch:min-h-[--touch-target-min]",
968
1091
  {
@@ -993,25 +1116,25 @@ var thumbVariants = cva8(
993
1116
  }
994
1117
  }
995
1118
  );
996
- var Switch = React18.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx17(
1119
+ var Switch = React19.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx18(
997
1120
  SwitchPrimitive.Root,
998
1121
  {
999
1122
  ref,
1000
1123
  className: cn(switchVariants({ size }), className),
1001
1124
  ...props,
1002
- children: /* @__PURE__ */ jsx17(SwitchPrimitive.Thumb, { className: thumbVariants({ size }) })
1125
+ children: /* @__PURE__ */ jsx18(SwitchPrimitive.Thumb, { className: thumbVariants({ size }) })
1003
1126
  }
1004
1127
  ));
1005
1128
  Switch.displayName = "Switch";
1006
1129
 
1007
1130
  // src/components/select/select.tsx
1008
- import * as React19 from "react";
1131
+ import * as React20 from "react";
1009
1132
  import * as SelectPrimitive from "@radix-ui/react-select";
1010
- import { jsx as jsx18, jsxs as jsxs5 } from "react/jsx-runtime";
1133
+ import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
1011
1134
  var Select = SelectPrimitive.Root;
1012
1135
  var SelectGroup = SelectPrimitive.Group;
1013
1136
  var SelectValue = SelectPrimitive.Value;
1014
- var SelectTrigger = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
1137
+ var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1015
1138
  SelectPrimitive.Trigger,
1016
1139
  {
1017
1140
  ref,
@@ -1027,7 +1150,7 @@ var SelectTrigger = React19.forwardRef(({ className, children, ...props }, ref)
1027
1150
  ...props,
1028
1151
  children: [
1029
1152
  children,
1030
- /* @__PURE__ */ jsx18(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx18(
1153
+ /* @__PURE__ */ jsx19(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx19(
1031
1154
  "svg",
1032
1155
  {
1033
1156
  width: "16",
@@ -1039,14 +1162,14 @@ var SelectTrigger = React19.forwardRef(({ className, children, ...props }, ref)
1039
1162
  strokeLinecap: "round",
1040
1163
  strokeLinejoin: "round",
1041
1164
  className: "shrink-0 opacity-50",
1042
- children: /* @__PURE__ */ jsx18("path", { d: "m6 9 6 6 6-6" })
1165
+ children: /* @__PURE__ */ jsx19("path", { d: "m6 9 6 6 6-6" })
1043
1166
  }
1044
1167
  ) })
1045
1168
  ]
1046
1169
  }
1047
1170
  ));
1048
1171
  SelectTrigger.displayName = "SelectTrigger";
1049
- var SelectContent = React19.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx18(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx18(
1172
+ var SelectContent = React20.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx19(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx19(
1050
1173
  SelectPrimitive.Content,
1051
1174
  {
1052
1175
  ref,
@@ -1060,7 +1183,7 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
1060
1183
  ),
1061
1184
  position,
1062
1185
  ...props,
1063
- children: /* @__PURE__ */ jsx18(
1186
+ children: /* @__PURE__ */ jsx19(
1064
1187
  SelectPrimitive.Viewport,
1065
1188
  {
1066
1189
  className: cn(
@@ -1073,7 +1196,7 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
1073
1196
  }
1074
1197
  ) }));
1075
1198
  SelectContent.displayName = "SelectContent";
1076
- var SelectItem = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(
1199
+ var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
1077
1200
  SelectPrimitive.Item,
1078
1201
  {
1079
1202
  ref,
@@ -1085,7 +1208,7 @@ var SelectItem = React19.forwardRef(({ className, children, ...props }, ref) =>
1085
1208
  ),
1086
1209
  ...props,
1087
1210
  children: [
1088
- /* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(
1211
+ /* @__PURE__ */ jsx19("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx19(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx19(
1089
1212
  "svg",
1090
1213
  {
1091
1214
  width: "14",
@@ -1096,15 +1219,15 @@ var SelectItem = React19.forwardRef(({ className, children, ...props }, ref) =>
1096
1219
  strokeWidth: "2",
1097
1220
  strokeLinecap: "round",
1098
1221
  strokeLinejoin: "round",
1099
- children: /* @__PURE__ */ jsx18("polyline", { points: "20 6 9 17 4 12" })
1222
+ children: /* @__PURE__ */ jsx19("polyline", { points: "20 6 9 17 4 12" })
1100
1223
  }
1101
1224
  ) }) }),
1102
- /* @__PURE__ */ jsx18(SelectPrimitive.ItemText, { children })
1225
+ /* @__PURE__ */ jsx19(SelectPrimitive.ItemText, { children })
1103
1226
  ]
1104
1227
  }
1105
1228
  ));
1106
1229
  SelectItem.displayName = "SelectItem";
1107
- var SelectLabel = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1230
+ var SelectLabel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1108
1231
  SelectPrimitive.Label,
1109
1232
  {
1110
1233
  ref,
@@ -1113,7 +1236,7 @@ var SelectLabel = React19.forwardRef(({ className, ...props }, ref) => /* @__PUR
1113
1236
  }
1114
1237
  ));
1115
1238
  SelectLabel.displayName = "SelectLabel";
1116
- var SelectSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
1239
+ var SelectSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
1117
1240
  SelectPrimitive.Separator,
1118
1241
  {
1119
1242
  ref,
@@ -1124,9 +1247,9 @@ var SelectSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @_
1124
1247
  SelectSeparator.displayName = "SelectSeparator";
1125
1248
 
1126
1249
  // src/components/number-input/number-input.tsx
1127
- import * as React20 from "react";
1250
+ import * as React21 from "react";
1128
1251
  import { cva as cva9 } from "class-variance-authority";
1129
- import { jsx as jsx19, jsxs as jsxs6 } from "react/jsx-runtime";
1252
+ import { jsx as jsx20, jsxs as jsxs7 } from "react/jsx-runtime";
1130
1253
  var numberInputVariants = cva9(
1131
1254
  "flex w-full rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] text-[var(--color-on-surface)] transition-colors duration-fast focus-within:ring-2 focus-within:ring-[var(--color-ring)] focus-within:ring-offset-2 ring-offset-[var(--color-ring-offset)] aria-[invalid=true]:border-error-500 aria-[invalid=true]:focus-within:ring-error-500",
1132
1255
  {
@@ -1142,7 +1265,7 @@ var numberInputVariants = cva9(
1142
1265
  }
1143
1266
  }
1144
1267
  );
1145
- var NumberInput = React20.forwardRef(
1268
+ var NumberInput = React21.forwardRef(
1146
1269
  ({
1147
1270
  className,
1148
1271
  size,
@@ -1157,7 +1280,7 @@ var NumberInput = React20.forwardRef(
1157
1280
  readOnly,
1158
1281
  ...props
1159
1282
  }, ref) => {
1160
- const [internalValue, setInternalValue] = React20.useState(
1283
+ const [internalValue, setInternalValue] = React21.useState(
1161
1284
  defaultValue != null ? formatValue(defaultValue, precision) : ""
1162
1285
  );
1163
1286
  const isControlled = controlledValue !== void 0;
@@ -1224,7 +1347,7 @@ var NumberInput = React20.forwardRef(
1224
1347
  decrement();
1225
1348
  }
1226
1349
  }
1227
- return /* @__PURE__ */ jsxs6(
1350
+ return /* @__PURE__ */ jsxs7(
1228
1351
  "div",
1229
1352
  {
1230
1353
  className: cn(
@@ -1234,7 +1357,7 @@ var NumberInput = React20.forwardRef(
1234
1357
  ),
1235
1358
  "aria-invalid": props["aria-invalid"],
1236
1359
  children: [
1237
- /* @__PURE__ */ jsx19(
1360
+ /* @__PURE__ */ jsx20(
1238
1361
  "input",
1239
1362
  {
1240
1363
  ref,
@@ -1250,8 +1373,8 @@ var NumberInput = React20.forwardRef(
1250
1373
  ...props
1251
1374
  }
1252
1375
  ),
1253
- !readOnly && !disabled && /* @__PURE__ */ jsxs6("div", { className: "flex flex-col border-l border-[var(--color-border-input)]", children: [
1254
- /* @__PURE__ */ jsx19(
1376
+ !readOnly && !disabled && /* @__PURE__ */ jsxs7("div", { className: "flex flex-col border-l border-[var(--color-border-input)]", children: [
1377
+ /* @__PURE__ */ jsx20(
1255
1378
  "button",
1256
1379
  {
1257
1380
  type: "button",
@@ -1260,7 +1383,7 @@ var NumberInput = React20.forwardRef(
1260
1383
  disabled: max != null && parseFloat(displayValue) >= max,
1261
1384
  className: "flex flex-1 items-center justify-center px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
1262
1385
  "aria-label": "Increment",
1263
- children: /* @__PURE__ */ jsx19(
1386
+ children: /* @__PURE__ */ jsx20(
1264
1387
  "svg",
1265
1388
  {
1266
1389
  width: "10",
@@ -1271,12 +1394,12 @@ var NumberInput = React20.forwardRef(
1271
1394
  strokeWidth: "2.5",
1272
1395
  strokeLinecap: "round",
1273
1396
  strokeLinejoin: "round",
1274
- children: /* @__PURE__ */ jsx19("path", { d: "m18 15-6-6-6 6" })
1397
+ children: /* @__PURE__ */ jsx20("path", { d: "m18 15-6-6-6 6" })
1275
1398
  }
1276
1399
  )
1277
1400
  }
1278
1401
  ),
1279
- /* @__PURE__ */ jsx19(
1402
+ /* @__PURE__ */ jsx20(
1280
1403
  "button",
1281
1404
  {
1282
1405
  type: "button",
@@ -1285,7 +1408,7 @@ var NumberInput = React20.forwardRef(
1285
1408
  disabled: min != null && parseFloat(displayValue) <= min,
1286
1409
  className: "flex flex-1 items-center justify-center border-t border-[var(--color-border-input)] px-1.5 text-[var(--color-on-surface-muted)] hover:bg-[var(--color-surface-muted)] disabled:opacity-30",
1287
1410
  "aria-label": "Decrement",
1288
- children: /* @__PURE__ */ jsx19(
1411
+ children: /* @__PURE__ */ jsx20(
1289
1412
  "svg",
1290
1413
  {
1291
1414
  width: "10",
@@ -1296,7 +1419,7 @@ var NumberInput = React20.forwardRef(
1296
1419
  strokeWidth: "2.5",
1297
1420
  strokeLinecap: "round",
1298
1421
  strokeLinejoin: "round",
1299
- children: /* @__PURE__ */ jsx19("path", { d: "m6 9 6 6 6-6" })
1422
+ children: /* @__PURE__ */ jsx20("path", { d: "m6 9 6 6 6-6" })
1300
1423
  }
1301
1424
  )
1302
1425
  }
@@ -1310,10 +1433,10 @@ var NumberInput = React20.forwardRef(
1310
1433
  NumberInput.displayName = "NumberInput";
1311
1434
 
1312
1435
  // src/components/date-picker/date-picker.tsx
1313
- import * as React21 from "react";
1314
- import { jsx as jsx20 } from "react/jsx-runtime";
1315
- var DatePicker = React21.forwardRef(
1316
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx20(
1436
+ import * as React22 from "react";
1437
+ import { jsx as jsx21 } from "react/jsx-runtime";
1438
+ var DatePicker = React22.forwardRef(
1439
+ ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx21(
1317
1440
  "input",
1318
1441
  {
1319
1442
  ref,
@@ -1330,11 +1453,11 @@ var DatePicker = React21.forwardRef(
1330
1453
  DatePicker.displayName = "DatePicker";
1331
1454
 
1332
1455
  // src/components/combobox/combobox.tsx
1333
- import * as React22 from "react";
1456
+ import * as React23 from "react";
1334
1457
  import * as PopoverPrimitive from "@radix-ui/react-popover";
1335
1458
  import { Command } from "cmdk";
1336
- import { jsx as jsx21, jsxs as jsxs7 } from "react/jsx-runtime";
1337
- var Combobox = React22.forwardRef(
1459
+ import { jsx as jsx22, jsxs as jsxs8 } from "react/jsx-runtime";
1460
+ var Combobox = React23.forwardRef(
1338
1461
  ({
1339
1462
  options,
1340
1463
  value,
@@ -1346,11 +1469,11 @@ var Combobox = React22.forwardRef(
1346
1469
  className,
1347
1470
  ...props
1348
1471
  }, ref) => {
1349
- const [open, setOpen] = React22.useState(false);
1350
- const [search, setSearch] = React22.useState("");
1472
+ const [open, setOpen] = React23.useState(false);
1473
+ const [search, setSearch] = React23.useState("");
1351
1474
  const selectedOption = options.find((o) => o.value === value);
1352
- return /* @__PURE__ */ jsxs7(PopoverPrimitive.Root, { open, onOpenChange: setOpen, children: [
1353
- /* @__PURE__ */ jsxs7(
1475
+ return /* @__PURE__ */ jsxs8(PopoverPrimitive.Root, { open, onOpenChange: setOpen, children: [
1476
+ /* @__PURE__ */ jsxs8(
1354
1477
  PopoverPrimitive.Trigger,
1355
1478
  {
1356
1479
  ref,
@@ -1367,8 +1490,8 @@ var Combobox = React22.forwardRef(
1367
1490
  ),
1368
1491
  ...props,
1369
1492
  children: [
1370
- /* @__PURE__ */ jsx21("span", { className: cn(!selectedOption && "text-[var(--color-on-surface-muted)]"), children: selectedOption?.label ?? placeholder }),
1371
- /* @__PURE__ */ jsxs7(
1493
+ /* @__PURE__ */ jsx22("span", { className: cn(!selectedOption && "text-[var(--color-on-surface-muted)]"), children: selectedOption?.label ?? placeholder }),
1494
+ /* @__PURE__ */ jsxs8(
1372
1495
  "svg",
1373
1496
  {
1374
1497
  width: "16",
@@ -1381,22 +1504,22 @@ var Combobox = React22.forwardRef(
1381
1504
  strokeLinejoin: "round",
1382
1505
  className: "shrink-0 opacity-50",
1383
1506
  children: [
1384
- /* @__PURE__ */ jsx21("path", { d: "m7 15 5 5 5-5" }),
1385
- /* @__PURE__ */ jsx21("path", { d: "m7 9 5-5 5 5" })
1507
+ /* @__PURE__ */ jsx22("path", { d: "m7 15 5 5 5-5" }),
1508
+ /* @__PURE__ */ jsx22("path", { d: "m7 9 5-5 5 5" })
1386
1509
  ]
1387
1510
  }
1388
1511
  )
1389
1512
  ]
1390
1513
  }
1391
1514
  ),
1392
- /* @__PURE__ */ jsx21(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
1515
+ /* @__PURE__ */ jsx22(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx22(
1393
1516
  PopoverPrimitive.Content,
1394
1517
  {
1395
1518
  className: "z-popover w-[var(--radix-popover-trigger-width)] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-0 shadow-md animate-in fade-in-0 zoom-in-95",
1396
1519
  sideOffset: 4,
1397
1520
  align: "start",
1398
- children: /* @__PURE__ */ jsxs7(Command, { shouldFilter: true, children: [
1399
- /* @__PURE__ */ jsx21(
1521
+ children: /* @__PURE__ */ jsxs8(Command, { shouldFilter: true, children: [
1522
+ /* @__PURE__ */ jsx22(
1400
1523
  Command.Input,
1401
1524
  {
1402
1525
  value: search,
@@ -1405,9 +1528,9 @@ var Combobox = React22.forwardRef(
1405
1528
  className: "flex h-9 w-full border-b border-[var(--color-border)] bg-transparent px-3 text-sm outline-none placeholder:text-[var(--color-on-surface-muted)]"
1406
1529
  }
1407
1530
  ),
1408
- /* @__PURE__ */ jsxs7(Command.List, { className: "max-h-60 overflow-auto p-1", children: [
1409
- /* @__PURE__ */ jsx21(Command.Empty, { className: "px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", children: emptyMessage }),
1410
- options.map((option) => /* @__PURE__ */ jsxs7(
1531
+ /* @__PURE__ */ jsxs8(Command.List, { className: "max-h-60 overflow-auto p-1", children: [
1532
+ /* @__PURE__ */ jsx22(Command.Empty, { className: "px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", children: emptyMessage }),
1533
+ options.map((option) => /* @__PURE__ */ jsxs8(
1411
1534
  Command.Item,
1412
1535
  {
1413
1536
  value: option.label,
@@ -1425,7 +1548,7 @@ var Combobox = React22.forwardRef(
1425
1548
  "data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50"
1426
1549
  ),
1427
1550
  children: [
1428
- /* @__PURE__ */ jsx21("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx21(
1551
+ /* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: option.value === value && /* @__PURE__ */ jsx22(
1429
1552
  "svg",
1430
1553
  {
1431
1554
  width: "14",
@@ -1436,7 +1559,7 @@ var Combobox = React22.forwardRef(
1436
1559
  strokeWidth: "2",
1437
1560
  strokeLinecap: "round",
1438
1561
  strokeLinejoin: "round",
1439
- children: /* @__PURE__ */ jsx21("polyline", { points: "20 6 9 17 4 12" })
1562
+ children: /* @__PURE__ */ jsx22("polyline", { points: "20 6 9 17 4 12" })
1440
1563
  }
1441
1564
  ) }),
1442
1565
  option.label
@@ -1454,28 +1577,28 @@ var Combobox = React22.forwardRef(
1454
1577
  Combobox.displayName = "Combobox";
1455
1578
 
1456
1579
  // src/components/form-field/form-field.tsx
1457
- import * as React23 from "react";
1458
- import { jsx as jsx22 } from "react/jsx-runtime";
1580
+ import * as React24 from "react";
1581
+ import { jsx as jsx23 } from "react/jsx-runtime";
1459
1582
  var [FormFieldProvider, useFormField] = createContext2("FormField");
1460
- var FormField = React23.forwardRef(
1583
+ var FormField = React24.forwardRef(
1461
1584
  ({ className, error, required, disabled, children, ...props }, ref) => {
1462
- const id = React23.useId();
1585
+ const id = React24.useId();
1463
1586
  const descriptionId = `${id}-description`;
1464
1587
  const messageId = `${id}-message`;
1465
- return /* @__PURE__ */ jsx22(
1588
+ return /* @__PURE__ */ jsx23(
1466
1589
  FormFieldProvider,
1467
1590
  {
1468
1591
  value: { id, error, required, disabled, descriptionId, messageId },
1469
- children: /* @__PURE__ */ jsx22("div", { ref, className: cn("space-y-1.5", className), ...props, children })
1592
+ children: /* @__PURE__ */ jsx23("div", { ref, className: cn("space-y-1.5", className), ...props, children })
1470
1593
  }
1471
1594
  );
1472
1595
  }
1473
1596
  );
1474
1597
  FormField.displayName = "FormField";
1475
- var FormLabel = React23.forwardRef(
1598
+ var FormLabel = React24.forwardRef(
1476
1599
  ({ className, children, ...props }, ref) => {
1477
1600
  const { id, error, required } = useFormField();
1478
- return /* @__PURE__ */ jsx22(
1601
+ return /* @__PURE__ */ jsx23(
1479
1602
  Label,
1480
1603
  {
1481
1604
  ref,
@@ -1495,7 +1618,7 @@ function FormControl({ children }) {
1495
1618
  !error ? descriptionId : void 0,
1496
1619
  error ? messageId : void 0
1497
1620
  ].filter(Boolean).join(" ") || void 0;
1498
- return React23.cloneElement(children, {
1621
+ return React24.cloneElement(children, {
1499
1622
  id,
1500
1623
  "aria-invalid": error ? true : void 0,
1501
1624
  "aria-describedby": describedBy,
@@ -1504,9 +1627,9 @@ function FormControl({ children }) {
1504
1627
  });
1505
1628
  }
1506
1629
  FormControl.displayName = "FormControl";
1507
- var FormDescription = React23.forwardRef(({ className, ...props }, ref) => {
1630
+ var FormDescription = React24.forwardRef(({ className, ...props }, ref) => {
1508
1631
  const { descriptionId } = useFormField();
1509
- return /* @__PURE__ */ jsx22(
1632
+ return /* @__PURE__ */ jsx23(
1510
1633
  "p",
1511
1634
  {
1512
1635
  ref,
@@ -1517,11 +1640,11 @@ var FormDescription = React23.forwardRef(({ className, ...props }, ref) => {
1517
1640
  );
1518
1641
  });
1519
1642
  FormDescription.displayName = "FormDescription";
1520
- var FormMessage = React23.forwardRef(({ className, children, ...props }, ref) => {
1643
+ var FormMessage = React24.forwardRef(({ className, children, ...props }, ref) => {
1521
1644
  const { error, messageId } = useFormField();
1522
1645
  const message = error || children;
1523
1646
  if (!message) return null;
1524
- return /* @__PURE__ */ jsx22(
1647
+ return /* @__PURE__ */ jsx23(
1525
1648
  "p",
1526
1649
  {
1527
1650
  ref,
@@ -1536,8 +1659,8 @@ var FormMessage = React23.forwardRef(({ className, children, ...props }, ref) =>
1536
1659
  FormMessage.displayName = "FormMessage";
1537
1660
 
1538
1661
  // src/components/dynamic-form-field/dynamic-form-field.tsx
1539
- import * as React24 from "react";
1540
- import { jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
1662
+ import * as React25 from "react";
1663
+ import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
1541
1664
  function getFieldComponent(type) {
1542
1665
  const map = {
1543
1666
  text: "Input",
@@ -1562,7 +1685,7 @@ function getFieldComponent(type) {
1562
1685
  function isInlineField(type) {
1563
1686
  return type === "checkbox" || type === "switch";
1564
1687
  }
1565
- var DynamicFormField = React24.forwardRef(
1688
+ var DynamicFormField = React25.forwardRef(
1566
1689
  ({
1567
1690
  type,
1568
1691
  name,
@@ -1582,16 +1705,16 @@ var DynamicFormField = React24.forwardRef(
1582
1705
  className
1583
1706
  }, ref) => {
1584
1707
  if (isInlineField(type)) {
1585
- return /* @__PURE__ */ jsxs8(FormField, { ref, error, disabled, className, children: [
1586
- /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2", children: [
1587
- /* @__PURE__ */ jsx23(FormControl, { children: type === "checkbox" ? /* @__PURE__ */ jsx23(
1708
+ return /* @__PURE__ */ jsxs9(FormField, { ref, error, disabled, className, children: [
1709
+ /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
1710
+ /* @__PURE__ */ jsx24(FormControl, { children: type === "checkbox" ? /* @__PURE__ */ jsx24(
1588
1711
  Checkbox,
1589
1712
  {
1590
1713
  name,
1591
1714
  checked: value,
1592
1715
  onCheckedChange: (checked) => onChange?.(checked)
1593
1716
  }
1594
- ) : /* @__PURE__ */ jsx23(
1717
+ ) : /* @__PURE__ */ jsx24(
1595
1718
  Switch,
1596
1719
  {
1597
1720
  name,
@@ -1599,19 +1722,19 @@ var DynamicFormField = React24.forwardRef(
1599
1722
  onCheckedChange: (checked) => onChange?.(checked)
1600
1723
  }
1601
1724
  ) }),
1602
- /* @__PURE__ */ jsxs8(Label, { className: "text-sm font-normal", children: [
1725
+ /* @__PURE__ */ jsxs9(Label, { className: "text-sm font-normal", children: [
1603
1726
  label,
1604
- required && /* @__PURE__ */ jsx23("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
1727
+ required && /* @__PURE__ */ jsx24("span", { "aria-hidden": "true", className: "ml-0.5 text-error-500", children: "*" })
1605
1728
  ] })
1606
1729
  ] }),
1607
- description && /* @__PURE__ */ jsx23(FormDescription, { children: description }),
1608
- /* @__PURE__ */ jsx23(FormMessage, {})
1730
+ description && /* @__PURE__ */ jsx24(FormDescription, { children: description }),
1731
+ /* @__PURE__ */ jsx24(FormMessage, {})
1609
1732
  ] });
1610
1733
  }
1611
1734
  function renderControl() {
1612
1735
  switch (type) {
1613
1736
  case "textarea":
1614
- return /* @__PURE__ */ jsx23(
1737
+ return /* @__PURE__ */ jsx24(
1615
1738
  Textarea,
1616
1739
  {
1617
1740
  name,
@@ -1622,7 +1745,7 @@ var DynamicFormField = React24.forwardRef(
1622
1745
  }
1623
1746
  );
1624
1747
  case "number":
1625
- return /* @__PURE__ */ jsx23(
1748
+ return /* @__PURE__ */ jsx24(
1626
1749
  NumberInput,
1627
1750
  {
1628
1751
  name,
@@ -1635,7 +1758,7 @@ var DynamicFormField = React24.forwardRef(
1635
1758
  }
1636
1759
  );
1637
1760
  case "date":
1638
- return /* @__PURE__ */ jsx23(
1761
+ return /* @__PURE__ */ jsx24(
1639
1762
  DatePicker,
1640
1763
  {
1641
1764
  name,
@@ -1646,7 +1769,7 @@ var DynamicFormField = React24.forwardRef(
1646
1769
  }
1647
1770
  );
1648
1771
  case "select":
1649
- return /* @__PURE__ */ jsxs8(
1772
+ return /* @__PURE__ */ jsxs9(
1650
1773
  Select,
1651
1774
  {
1652
1775
  value,
@@ -1654,13 +1777,13 @@ var DynamicFormField = React24.forwardRef(
1654
1777
  disabled,
1655
1778
  name,
1656
1779
  children: [
1657
- /* @__PURE__ */ jsx23(SelectTrigger, { children: /* @__PURE__ */ jsx23(SelectValue, { placeholder }) }),
1658
- /* @__PURE__ */ jsx23(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx23(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
1780
+ /* @__PURE__ */ jsx24(SelectTrigger, { children: /* @__PURE__ */ jsx24(SelectValue, { placeholder }) }),
1781
+ /* @__PURE__ */ jsx24(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx24(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
1659
1782
  ]
1660
1783
  }
1661
1784
  );
1662
1785
  case "combobox":
1663
- return /* @__PURE__ */ jsx23(
1786
+ return /* @__PURE__ */ jsx24(
1664
1787
  Combobox,
1665
1788
  {
1666
1789
  name,
@@ -1671,19 +1794,19 @@ var DynamicFormField = React24.forwardRef(
1671
1794
  }
1672
1795
  );
1673
1796
  case "radio":
1674
- return /* @__PURE__ */ jsx23(
1797
+ return /* @__PURE__ */ jsx24(
1675
1798
  RadioGroup,
1676
1799
  {
1677
1800
  value,
1678
1801
  onValueChange: (v) => onChange?.(v),
1679
- children: options.map((opt) => /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2", children: [
1680
- /* @__PURE__ */ jsx23(RadioGroupItem, { value: opt.value, id: `${name}-${opt.value}` }),
1681
- /* @__PURE__ */ jsx23(Label, { htmlFor: `${name}-${opt.value}`, className: "font-normal", children: opt.label })
1802
+ children: options.map((opt) => /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2", children: [
1803
+ /* @__PURE__ */ jsx24(RadioGroupItem, { value: opt.value, id: `${name}-${opt.value}` }),
1804
+ /* @__PURE__ */ jsx24(Label, { htmlFor: `${name}-${opt.value}`, className: "font-normal", children: opt.label })
1682
1805
  ] }, opt.value))
1683
1806
  }
1684
1807
  );
1685
1808
  default:
1686
- return /* @__PURE__ */ jsx23(
1809
+ return /* @__PURE__ */ jsx24(
1687
1810
  Input,
1688
1811
  {
1689
1812
  type: type === "datetime" ? "datetime-local" : type,
@@ -1695,20 +1818,20 @@ var DynamicFormField = React24.forwardRef(
1695
1818
  );
1696
1819
  }
1697
1820
  }
1698
- return /* @__PURE__ */ jsxs8(FormField, { ref, error, required, disabled, className, children: [
1699
- /* @__PURE__ */ jsx23(FormLabel, { children: label }),
1700
- /* @__PURE__ */ jsx23(FormControl, { children: renderControl() }),
1701
- description && /* @__PURE__ */ jsx23(FormDescription, { children: description }),
1702
- /* @__PURE__ */ jsx23(FormMessage, {})
1821
+ return /* @__PURE__ */ jsxs9(FormField, { ref, error, required, disabled, className, children: [
1822
+ /* @__PURE__ */ jsx24(FormLabel, { children: label }),
1823
+ /* @__PURE__ */ jsx24(FormControl, { children: renderControl() }),
1824
+ description && /* @__PURE__ */ jsx24(FormDescription, { children: description }),
1825
+ /* @__PURE__ */ jsx24(FormMessage, {})
1703
1826
  ] });
1704
1827
  }
1705
1828
  );
1706
1829
  DynamicFormField.displayName = "DynamicFormField";
1707
1830
 
1708
1831
  // src/components/form-layout/form-layout.tsx
1709
- import * as React25 from "react";
1832
+ import * as React26 from "react";
1710
1833
  import { cva as cva10 } from "class-variance-authority";
1711
- import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
1834
+ import { jsx as jsx25, jsxs as jsxs10 } from "react/jsx-runtime";
1712
1835
  var formLayoutVariants = cva10("", {
1713
1836
  variants: {
1714
1837
  layout: {
@@ -1744,8 +1867,8 @@ var formLayoutVariants = cva10("", {
1744
1867
  size: "md"
1745
1868
  }
1746
1869
  });
1747
- var FormLayout = React25.forwardRef(
1748
- ({ className, layout, size, columns = 2, style, ...props }, ref) => /* @__PURE__ */ jsx24(
1870
+ var FormLayout = React26.forwardRef(
1871
+ ({ className, layout, size, columns = 2, style, ...props }, ref) => /* @__PURE__ */ jsx25(
1749
1872
  "div",
1750
1873
  {
1751
1874
  ref,
@@ -1756,15 +1879,15 @@ var FormLayout = React25.forwardRef(
1756
1879
  )
1757
1880
  );
1758
1881
  FormLayout.displayName = "FormLayout";
1759
- var FormSection = React25.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
1882
+ var FormSection = React26.forwardRef(({ className, title, description, children, ...props }, ref) => /* @__PURE__ */ jsxs10(
1760
1883
  "fieldset",
1761
1884
  {
1762
1885
  ref,
1763
1886
  className: cn("space-y-4 border-0 p-0", className),
1764
1887
  ...props,
1765
1888
  children: [
1766
- /* @__PURE__ */ jsx24("legend", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
1767
- description && /* @__PURE__ */ jsx24("p", { className: "-mt-2 text-xs text-[var(--color-on-surface-muted)]", children: description }),
1889
+ /* @__PURE__ */ jsx25("legend", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
1890
+ description && /* @__PURE__ */ jsx25("p", { className: "-mt-2 text-xs text-[var(--color-on-surface-muted)]", children: description }),
1768
1891
  children
1769
1892
  ]
1770
1893
  }
@@ -1776,8 +1899,8 @@ var alignClasses = {
1776
1899
  center: "justify-center",
1777
1900
  between: "justify-between"
1778
1901
  };
1779
- var FormActions = React25.forwardRef(
1780
- ({ className, align = "right", ...props }, ref) => /* @__PURE__ */ jsx24(
1902
+ var FormActions = React26.forwardRef(
1903
+ ({ className, align = "right", ...props }, ref) => /* @__PURE__ */ jsx25(
1781
1904
  "div",
1782
1905
  {
1783
1906
  ref,
@@ -1793,10 +1916,10 @@ var FormActions = React25.forwardRef(
1793
1916
  FormActions.displayName = "FormActions";
1794
1917
 
1795
1918
  // src/components/tabs/tabs.tsx
1796
- import * as React26 from "react";
1919
+ import * as React27 from "react";
1797
1920
  import * as TabsPrimitive from "@radix-ui/react-tabs";
1798
1921
  import { cva as cva11 } from "class-variance-authority";
1799
- import { jsx as jsx25 } from "react/jsx-runtime";
1922
+ import { jsx as jsx26 } from "react/jsx-runtime";
1800
1923
  var [TabsVariantProvider, useTabsVariant] = createContext2("TabsVariant");
1801
1924
  var Tabs = TabsPrimitive.Root;
1802
1925
  var tabsListVariants = cva11(
@@ -1811,7 +1934,7 @@ var tabsListVariants = cva11(
1811
1934
  defaultVariants: { variant: "default" }
1812
1935
  }
1813
1936
  );
1814
- var TabsList = React26.forwardRef(({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx25(TabsVariantProvider, { value: { variant }, children: /* @__PURE__ */ jsx25(
1937
+ var TabsList = React27.forwardRef(({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsx26(TabsVariantProvider, { value: { variant }, children: /* @__PURE__ */ jsx26(
1815
1938
  TabsPrimitive.List,
1816
1939
  {
1817
1940
  ref,
@@ -1825,9 +1948,9 @@ var tabsTriggerVariantStyles = {
1825
1948
  default: "rounded-md data-[state=active]:bg-[var(--color-surface-raised)] data-[state=active]:shadow-sm data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]",
1826
1949
  underline: "border-b-2 border-transparent rounded-none data-[state=active]:border-primary-500 data-[state=active]:text-[var(--color-on-surface)] text-[var(--color-on-surface-secondary)]"
1827
1950
  };
1828
- var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => {
1951
+ var TabsTrigger = React27.forwardRef(({ className, ...props }, ref) => {
1829
1952
  const { variant } = useTabsVariant();
1830
- return /* @__PURE__ */ jsx25(
1953
+ return /* @__PURE__ */ jsx26(
1831
1954
  TabsPrimitive.Trigger,
1832
1955
  {
1833
1956
  ref,
@@ -1841,7 +1964,7 @@ var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => {
1841
1964
  );
1842
1965
  });
1843
1966
  TabsTrigger.displayName = "TabsTrigger";
1844
- var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1967
+ var TabsContent = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1845
1968
  TabsPrimitive.Content,
1846
1969
  {
1847
1970
  ref,
@@ -1855,9 +1978,9 @@ var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
1855
1978
  TabsContent.displayName = "TabsContent";
1856
1979
 
1857
1980
  // src/components/empty-state/empty-state.tsx
1858
- import * as React27 from "react";
1981
+ import * as React28 from "react";
1859
1982
  import { cva as cva12 } from "class-variance-authority";
1860
- import { jsx as jsx26 } from "react/jsx-runtime";
1983
+ import { jsx as jsx27 } from "react/jsx-runtime";
1861
1984
  var emptyStateVariants = cva12(
1862
1985
  "flex flex-col items-center justify-center text-center",
1863
1986
  {
@@ -1871,8 +1994,8 @@ var emptyStateVariants = cva12(
1871
1994
  defaultVariants: { size: "md" }
1872
1995
  }
1873
1996
  );
1874
- var EmptyState = React27.forwardRef(
1875
- ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx26(
1997
+ var EmptyState = React28.forwardRef(
1998
+ ({ className, size, ...props }, ref) => /* @__PURE__ */ jsx27(
1876
1999
  "div",
1877
2000
  {
1878
2001
  ref,
@@ -1882,7 +2005,7 @@ var EmptyState = React27.forwardRef(
1882
2005
  )
1883
2006
  );
1884
2007
  EmptyState.displayName = "EmptyState";
1885
- var EmptyStateIcon = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2008
+ var EmptyStateIcon = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1886
2009
  "div",
1887
2010
  {
1888
2011
  ref,
@@ -1891,7 +2014,7 @@ var EmptyStateIcon = React27.forwardRef(({ className, ...props }, ref) => /* @__
1891
2014
  }
1892
2015
  ));
1893
2016
  EmptyStateIcon.displayName = "EmptyStateIcon";
1894
- var EmptyStateTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2017
+ var EmptyStateTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1895
2018
  "h3",
1896
2019
  {
1897
2020
  ref,
@@ -1900,7 +2023,7 @@ var EmptyStateTitle = React27.forwardRef(({ className, ...props }, ref) => /* @_
1900
2023
  }
1901
2024
  ));
1902
2025
  EmptyStateTitle.displayName = "EmptyStateTitle";
1903
- var EmptyStateDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2026
+ var EmptyStateDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1904
2027
  "p",
1905
2028
  {
1906
2029
  ref,
@@ -1909,7 +2032,7 @@ var EmptyStateDescription = React27.forwardRef(({ className, ...props }, ref) =>
1909
2032
  }
1910
2033
  ));
1911
2034
  EmptyStateDescription.displayName = "EmptyStateDescription";
1912
- var EmptyStateActions = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
2035
+ var EmptyStateActions = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
1913
2036
  "div",
1914
2037
  {
1915
2038
  ref,
@@ -1920,9 +2043,9 @@ var EmptyStateActions = React27.forwardRef(({ className, ...props }, ref) => /*
1920
2043
  EmptyStateActions.displayName = "EmptyStateActions";
1921
2044
 
1922
2045
  // src/components/table/table.tsx
1923
- import * as React28 from "react";
1924
- import { jsx as jsx27 } from "react/jsx-runtime";
1925
- var Table = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx27(
2046
+ import * as React29 from "react";
2047
+ import { jsx as jsx28 } from "react/jsx-runtime";
2048
+ var Table = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx28(
1926
2049
  "table",
1927
2050
  {
1928
2051
  ref,
@@ -1931,9 +2054,9 @@ var Table = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
1931
2054
  }
1932
2055
  ) }));
1933
2056
  Table.displayName = "Table";
1934
- var TableHeader = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
2057
+ var TableHeader = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
1935
2058
  TableHeader.displayName = "TableHeader";
1936
- var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2059
+ var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1937
2060
  "tbody",
1938
2061
  {
1939
2062
  ref,
@@ -1942,7 +2065,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1942
2065
  }
1943
2066
  ));
1944
2067
  TableBody.displayName = "TableBody";
1945
- var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2068
+ var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1946
2069
  "tfoot",
1947
2070
  {
1948
2071
  ref,
@@ -1954,7 +2077,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
1954
2077
  }
1955
2078
  ));
1956
2079
  TableFooter.displayName = "TableFooter";
1957
- var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2080
+ var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1958
2081
  "tr",
1959
2082
  {
1960
2083
  ref,
@@ -1966,7 +2089,7 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
1966
2089
  }
1967
2090
  ));
1968
2091
  TableRow.displayName = "TableRow";
1969
- var TableHead = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2092
+ var TableHead = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1970
2093
  "th",
1971
2094
  {
1972
2095
  ref,
@@ -1978,7 +2101,7 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1978
2101
  }
1979
2102
  ));
1980
2103
  TableHead.displayName = "TableHead";
1981
- var TableCell = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2104
+ var TableCell = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1982
2105
  "td",
1983
2106
  {
1984
2107
  ref,
@@ -1990,7 +2113,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1990
2113
  }
1991
2114
  ));
1992
2115
  TableCell.displayName = "TableCell";
1993
- var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
2116
+ var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
1994
2117
  "caption",
1995
2118
  {
1996
2119
  ref,
@@ -2001,7 +2124,7 @@ var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PU
2001
2124
  TableCaption.displayName = "TableCaption";
2002
2125
 
2003
2126
  // src/components/data-table/data-table.tsx
2004
- import * as React30 from "react";
2127
+ import * as React31 from "react";
2005
2128
  import {
2006
2129
  useReactTable,
2007
2130
  getCoreRowModel,
@@ -2011,7 +2134,7 @@ import {
2011
2134
  } from "@tanstack/react-table";
2012
2135
 
2013
2136
  // src/components/data-table/data-table-pagination.tsx
2014
- import { jsx as jsx28, jsxs as jsxs10 } from "react/jsx-runtime";
2137
+ import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
2015
2138
  function DataTablePagination({
2016
2139
  table,
2017
2140
  pageSizeOptions = [10, 20, 30, 50],
@@ -2021,7 +2144,7 @@ function DataTablePagination({
2021
2144
  const totalRows = table.getFilteredRowModel().rows.length;
2022
2145
  const from = pageIndex * pageSize + 1;
2023
2146
  const to = Math.min((pageIndex + 1) * pageSize, totalRows);
2024
- return /* @__PURE__ */ jsxs10(
2147
+ return /* @__PURE__ */ jsxs11(
2025
2148
  "div",
2026
2149
  {
2027
2150
  className: cn(
@@ -2029,30 +2152,30 @@ function DataTablePagination({
2029
2152
  className
2030
2153
  ),
2031
2154
  children: [
2032
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2033
- /* @__PURE__ */ jsx28("span", { children: "Rows per page" }),
2034
- /* @__PURE__ */ jsx28(
2155
+ /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
2156
+ /* @__PURE__ */ jsx29("span", { children: "Rows per page" }),
2157
+ /* @__PURE__ */ jsx29(
2035
2158
  "select",
2036
2159
  {
2037
2160
  value: pageSize,
2038
2161
  onChange: (e) => table.setPageSize(Number(e.target.value)),
2039
2162
  className: "h-8 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-2 text-sm",
2040
2163
  "aria-label": "Rows per page",
2041
- children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx28("option", { value: size, children: size }, size))
2164
+ children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx29("option", { value: size, children: size }, size))
2042
2165
  }
2043
2166
  )
2044
2167
  ] }),
2045
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-4", children: [
2046
- /* @__PURE__ */ jsx28("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
2047
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
2048
- /* @__PURE__ */ jsx28(
2168
+ /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-4", children: [
2169
+ /* @__PURE__ */ jsx29("span", { children: totalRows > 0 ? `${from}-${to} of ${totalRows}` : "0 results" }),
2170
+ /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-1", children: [
2171
+ /* @__PURE__ */ jsx29(
2049
2172
  "button",
2050
2173
  {
2051
2174
  className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
2052
2175
  onClick: () => table.previousPage(),
2053
2176
  disabled: !table.getCanPreviousPage(),
2054
2177
  "aria-label": "Previous page",
2055
- children: /* @__PURE__ */ jsx28(
2178
+ children: /* @__PURE__ */ jsx29(
2056
2179
  "svg",
2057
2180
  {
2058
2181
  width: "16",
@@ -2063,19 +2186,19 @@ function DataTablePagination({
2063
2186
  strokeWidth: "2",
2064
2187
  strokeLinecap: "round",
2065
2188
  strokeLinejoin: "round",
2066
- children: /* @__PURE__ */ jsx28("path", { d: "m15 18-6-6 6-6" })
2189
+ children: /* @__PURE__ */ jsx29("path", { d: "m15 18-6-6 6-6" })
2067
2190
  }
2068
2191
  )
2069
2192
  }
2070
2193
  ),
2071
- /* @__PURE__ */ jsx28(
2194
+ /* @__PURE__ */ jsx29(
2072
2195
  "button",
2073
2196
  {
2074
2197
  className: "inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] transition-colors hover:bg-[var(--color-surface-sunken)] disabled:opacity-50 disabled:pointer-events-none",
2075
2198
  onClick: () => table.nextPage(),
2076
2199
  disabled: !table.getCanNextPage(),
2077
2200
  "aria-label": "Next page",
2078
- children: /* @__PURE__ */ jsx28(
2201
+ children: /* @__PURE__ */ jsx29(
2079
2202
  "svg",
2080
2203
  {
2081
2204
  width: "16",
@@ -2086,7 +2209,7 @@ function DataTablePagination({
2086
2209
  strokeWidth: "2",
2087
2210
  strokeLinecap: "round",
2088
2211
  strokeLinejoin: "round",
2089
- children: /* @__PURE__ */ jsx28("path", { d: "m9 18 6-6-6-6" })
2212
+ children: /* @__PURE__ */ jsx29("path", { d: "m9 18 6-6-6-6" })
2090
2213
  }
2091
2214
  )
2092
2215
  }
@@ -2100,18 +2223,18 @@ function DataTablePagination({
2100
2223
  DataTablePagination.displayName = "DataTablePagination";
2101
2224
 
2102
2225
  // src/components/data-table/data-table-toolbar.tsx
2103
- import * as React29 from "react";
2104
- import { jsx as jsx29, jsxs as jsxs11 } from "react/jsx-runtime";
2226
+ import * as React30 from "react";
2227
+ import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
2105
2228
  function DataTableToolbar({
2106
2229
  table,
2107
2230
  enableColumnVisibility = false,
2108
2231
  className,
2109
2232
  children
2110
2233
  }) {
2111
- const [showColumnMenu, setShowColumnMenu] = React29.useState(false);
2112
- const menuRef = React29.useRef(null);
2234
+ const [showColumnMenu, setShowColumnMenu] = React30.useState(false);
2235
+ const menuRef = React30.useRef(null);
2113
2236
  const selectedCount = table.getFilteredSelectedRowModel().rows.length;
2114
- React29.useEffect(() => {
2237
+ React30.useEffect(() => {
2115
2238
  function handleClickOutside(event) {
2116
2239
  if (menuRef.current && !menuRef.current.contains(event.target)) {
2117
2240
  setShowColumnMenu(false);
@@ -2122,7 +2245,7 @@ function DataTableToolbar({
2122
2245
  return () => document.removeEventListener("mousedown", handleClickOutside);
2123
2246
  }
2124
2247
  }, [showColumnMenu]);
2125
- return /* @__PURE__ */ jsxs11(
2248
+ return /* @__PURE__ */ jsxs12(
2126
2249
  "div",
2127
2250
  {
2128
2251
  className: cn(
@@ -2130,15 +2253,15 @@ function DataTableToolbar({
2130
2253
  className
2131
2254
  ),
2132
2255
  children: [
2133
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
2134
- selectedCount > 0 && /* @__PURE__ */ jsxs11("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
2256
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
2257
+ selectedCount > 0 && /* @__PURE__ */ jsxs12("span", { className: "text-sm text-[var(--color-on-surface-secondary)]", children: [
2135
2258
  selectedCount,
2136
2259
  " selected"
2137
2260
  ] }),
2138
2261
  children
2139
2262
  ] }),
2140
- enableColumnVisibility && /* @__PURE__ */ jsxs11("div", { className: "relative", ref: menuRef, children: [
2141
- /* @__PURE__ */ jsxs11(
2263
+ enableColumnVisibility && /* @__PURE__ */ jsxs12("div", { className: "relative", ref: menuRef, children: [
2264
+ /* @__PURE__ */ jsxs12(
2142
2265
  "button",
2143
2266
  {
2144
2267
  className: "inline-flex items-center gap-1 rounded-md border border-[var(--color-border-input)] bg-[var(--color-surface-raised)] px-3 py-1.5 text-sm transition-colors hover:bg-[var(--color-surface-sunken)]",
@@ -2146,7 +2269,7 @@ function DataTableToolbar({
2146
2269
  "aria-label": "Toggle columns",
2147
2270
  "aria-expanded": showColumnMenu,
2148
2271
  children: [
2149
- /* @__PURE__ */ jsx29(
2272
+ /* @__PURE__ */ jsx30(
2150
2273
  "svg",
2151
2274
  {
2152
2275
  width: "14",
@@ -2157,19 +2280,19 @@ function DataTableToolbar({
2157
2280
  strokeWidth: "2",
2158
2281
  strokeLinecap: "round",
2159
2282
  strokeLinejoin: "round",
2160
- children: /* @__PURE__ */ jsx29("path", { d: "M12 3v18M3 12h18" })
2283
+ children: /* @__PURE__ */ jsx30("path", { d: "M12 3v18M3 12h18" })
2161
2284
  }
2162
2285
  ),
2163
2286
  "Columns"
2164
2287
  ]
2165
2288
  }
2166
2289
  ),
2167
- showColumnMenu && /* @__PURE__ */ jsx29("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs11(
2290
+ showColumnMenu && /* @__PURE__ */ jsx30("div", { className: "absolute right-0 top-full z-popover mt-1 min-w-[10rem] rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] p-2 shadow-md", children: table.getAllColumns().filter((col) => col.getCanHide()).map((col) => /* @__PURE__ */ jsxs12(
2168
2291
  "label",
2169
2292
  {
2170
2293
  className: "flex items-center gap-2 rounded px-2 py-1 text-sm hover:bg-[var(--color-surface-sunken)] cursor-pointer capitalize",
2171
2294
  children: [
2172
- /* @__PURE__ */ jsx29(
2295
+ /* @__PURE__ */ jsx30(
2173
2296
  "input",
2174
2297
  {
2175
2298
  type: "checkbox",
@@ -2191,7 +2314,7 @@ function DataTableToolbar({
2191
2314
  DataTableToolbar.displayName = "DataTableToolbar";
2192
2315
 
2193
2316
  // src/components/data-table/data-table.tsx
2194
- import { jsx as jsx30, jsxs as jsxs12 } from "react/jsx-runtime";
2317
+ import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
2195
2318
  function DataTable({
2196
2319
  columns,
2197
2320
  data,
@@ -2206,14 +2329,14 @@ function DataTable({
2206
2329
  className,
2207
2330
  "aria-label": ariaLabel
2208
2331
  }) {
2209
- const [sorting, setSorting] = React30.useState([]);
2210
- const [rowSelection, setRowSelection] = React30.useState({});
2211
- const [columnVisibility, setColumnVisibility] = React30.useState({});
2212
- const allColumns = React30.useMemo(() => {
2332
+ const [sorting, setSorting] = React31.useState([]);
2333
+ const [rowSelection, setRowSelection] = React31.useState({});
2334
+ const [columnVisibility, setColumnVisibility] = React31.useState({});
2335
+ const allColumns = React31.useMemo(() => {
2213
2336
  if (!enableRowSelection) return columns;
2214
2337
  const selectColumn = {
2215
2338
  id: "select",
2216
- header: ({ table: table2 }) => /* @__PURE__ */ jsx30(
2339
+ header: ({ table: table2 }) => /* @__PURE__ */ jsx31(
2217
2340
  Checkbox,
2218
2341
  {
2219
2342
  checked: table2.getIsAllPageRowsSelected() ? true : table2.getIsSomePageRowsSelected() ? "indeterminate" : false,
@@ -2221,7 +2344,7 @@ function DataTable({
2221
2344
  "aria-label": "Select all"
2222
2345
  }
2223
2346
  ),
2224
- cell: ({ row }) => /* @__PURE__ */ jsx30(
2347
+ cell: ({ row }) => /* @__PURE__ */ jsx31(
2225
2348
  Checkbox,
2226
2349
  {
2227
2350
  checked: row.getIsSelected(),
@@ -2249,23 +2372,23 @@ function DataTable({
2249
2372
  enableRowSelection,
2250
2373
  initialState: { pagination: { pageSize } }
2251
2374
  });
2252
- React30.useEffect(() => {
2375
+ React31.useEffect(() => {
2253
2376
  if (onRowSelectionChange) {
2254
2377
  const selectedRows = table.getFilteredSelectedRowModel().rows.map((row) => row.original);
2255
2378
  onRowSelectionChange(selectedRows);
2256
2379
  }
2257
2380
  }, [rowSelection, table, onRowSelectionChange]);
2258
2381
  const showToolbar = enableRowSelection || enableColumnVisibility;
2259
- return /* @__PURE__ */ jsxs12("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
2260
- showToolbar && /* @__PURE__ */ jsx30(
2382
+ return /* @__PURE__ */ jsxs13("div", { className: cn("rounded-md border border-[var(--color-border)]", className), children: [
2383
+ showToolbar && /* @__PURE__ */ jsx31(
2261
2384
  DataTableToolbar,
2262
2385
  {
2263
2386
  table,
2264
2387
  enableColumnVisibility
2265
2388
  }
2266
2389
  ),
2267
- /* @__PURE__ */ jsxs12(Table, { "aria-label": ariaLabel, children: [
2268
- /* @__PURE__ */ jsx30(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx30(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx30(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs12(
2390
+ /* @__PURE__ */ jsxs13(Table, { "aria-label": ariaLabel, children: [
2391
+ /* @__PURE__ */ jsx31(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx31(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx31(TableHead, { children: header.isPlaceholder ? null : header.column.getCanSort() ? /* @__PURE__ */ jsxs13(
2269
2392
  "button",
2270
2393
  {
2271
2394
  className: "flex items-center gap-1 -ml-2 px-2 py-1 rounded-md hover:bg-[var(--color-surface-muted)] transition-colors duration-fast",
@@ -2276,7 +2399,7 @@ function DataTable({
2276
2399
  header.column.columnDef.header,
2277
2400
  header.getContext()
2278
2401
  ),
2279
- /* @__PURE__ */ jsx30(
2402
+ /* @__PURE__ */ jsx31(
2280
2403
  "svg",
2281
2404
  {
2282
2405
  width: "14",
@@ -2291,7 +2414,7 @@ function DataTable({
2291
2414
  "shrink-0",
2292
2415
  header.column.getIsSorted() ? "opacity-100" : "opacity-30"
2293
2416
  ),
2294
- children: /* @__PURE__ */ jsx30("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
2417
+ children: /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
2295
2418
  }
2296
2419
  )
2297
2420
  ]
@@ -2300,14 +2423,14 @@ function DataTable({
2300
2423
  header.column.columnDef.header,
2301
2424
  header.getContext()
2302
2425
  ) }, header.id)) }, headerGroup.id)) }),
2303
- /* @__PURE__ */ jsx30(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx30(
2426
+ /* @__PURE__ */ jsx31(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx31(
2304
2427
  TableRow,
2305
2428
  {
2306
2429
  "data-state": row.getIsSelected() ? "selected" : void 0,
2307
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx30(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2430
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx31(TableCell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2308
2431
  },
2309
2432
  row.id
2310
- )) : /* @__PURE__ */ jsx30(TableRow, { children: /* @__PURE__ */ jsx30(
2433
+ )) : /* @__PURE__ */ jsx31(TableRow, { children: /* @__PURE__ */ jsx31(
2311
2434
  TableCell,
2312
2435
  {
2313
2436
  colSpan: allColumns.length,
@@ -2316,7 +2439,7 @@ function DataTable({
2316
2439
  }
2317
2440
  ) }) })
2318
2441
  ] }),
2319
- enablePagination && /* @__PURE__ */ jsx30(
2442
+ enablePagination && /* @__PURE__ */ jsx31(
2320
2443
  DataTablePagination,
2321
2444
  {
2322
2445
  table,
@@ -2328,17 +2451,17 @@ function DataTable({
2328
2451
  DataTable.displayName = "DataTable";
2329
2452
 
2330
2453
  // src/components/data-table/data-table-column-header.tsx
2331
- import { jsx as jsx31, jsxs as jsxs13 } from "react/jsx-runtime";
2454
+ import { jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
2332
2455
  function DataTableColumnHeader({
2333
2456
  column,
2334
2457
  title,
2335
2458
  className
2336
2459
  }) {
2337
2460
  if (!column.getCanSort()) {
2338
- return /* @__PURE__ */ jsx31("div", { className: cn(className), children: title });
2461
+ return /* @__PURE__ */ jsx32("div", { className: cn(className), children: title });
2339
2462
  }
2340
2463
  const sorted = column.getIsSorted();
2341
- return /* @__PURE__ */ jsxs13(
2464
+ return /* @__PURE__ */ jsxs14(
2342
2465
  "button",
2343
2466
  {
2344
2467
  className: cn(
@@ -2349,7 +2472,7 @@ function DataTableColumnHeader({
2349
2472
  "aria-label": `Sort by ${title}`,
2350
2473
  children: [
2351
2474
  title,
2352
- /* @__PURE__ */ jsx31(
2475
+ /* @__PURE__ */ jsx32(
2353
2476
  "svg",
2354
2477
  {
2355
2478
  width: "14",
@@ -2364,11 +2487,11 @@ function DataTableColumnHeader({
2364
2487
  "shrink-0 transition-opacity",
2365
2488
  sorted ? "opacity-100" : "opacity-30"
2366
2489
  ),
2367
- children: sorted === "desc" ? /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : sorted === "asc" ? /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : /* @__PURE__ */ jsx31("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
2490
+ children: sorted === "desc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : sorted === "asc" ? /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" }) : /* @__PURE__ */ jsx32("path", { d: "m7 15 5 5 5-5M7 9l5-5 5 5" })
2368
2491
  }
2369
2492
  ),
2370
- sorted === "asc" && /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "sorted ascending" }),
2371
- sorted === "desc" && /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "sorted descending" })
2493
+ sorted === "asc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted ascending" }),
2494
+ sorted === "desc" && /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "sorted descending" })
2372
2495
  ]
2373
2496
  }
2374
2497
  );
@@ -2376,10 +2499,10 @@ function DataTableColumnHeader({
2376
2499
  DataTableColumnHeader.displayName = "DataTableColumnHeader";
2377
2500
 
2378
2501
  // src/components/filter-bar/filter-bar.tsx
2379
- import * as React31 from "react";
2502
+ import * as React32 from "react";
2380
2503
  import { cva as cva13 } from "class-variance-authority";
2381
- import { jsx as jsx32, jsxs as jsxs14 } from "react/jsx-runtime";
2382
- var FilterBar = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
2504
+ import { jsx as jsx33, jsxs as jsxs15 } from "react/jsx-runtime";
2505
+ var FilterBar = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2383
2506
  "div",
2384
2507
  {
2385
2508
  ref,
@@ -2393,7 +2516,7 @@ var FilterBar = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE_
2393
2516
  }
2394
2517
  ));
2395
2518
  FilterBar.displayName = "FilterBar";
2396
- var FilterBarGroup = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
2519
+ var FilterBarGroup = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2397
2520
  "div",
2398
2521
  {
2399
2522
  ref,
@@ -2415,27 +2538,27 @@ var filterChipVariants = cva13(
2415
2538
  defaultVariants: { variant: "default" }
2416
2539
  }
2417
2540
  );
2418
- var FilterChip = React31.forwardRef(
2419
- ({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs14(
2541
+ var FilterChip = React32.forwardRef(
2542
+ ({ className, variant, label, value, onRemove, ...props }, ref) => /* @__PURE__ */ jsxs15(
2420
2543
  "span",
2421
2544
  {
2422
2545
  ref,
2423
2546
  className: cn(filterChipVariants({ variant }), className),
2424
2547
  ...props,
2425
2548
  children: [
2426
- /* @__PURE__ */ jsxs14("span", { className: "text-xs opacity-70", children: [
2549
+ /* @__PURE__ */ jsxs15("span", { className: "text-xs opacity-70", children: [
2427
2550
  label,
2428
2551
  ":"
2429
2552
  ] }),
2430
- /* @__PURE__ */ jsx32("span", { children: value }),
2431
- onRemove && /* @__PURE__ */ jsx32(
2553
+ /* @__PURE__ */ jsx33("span", { children: value }),
2554
+ onRemove && /* @__PURE__ */ jsx33(
2432
2555
  "button",
2433
2556
  {
2434
2557
  type: "button",
2435
2558
  onClick: onRemove,
2436
2559
  className: "ml-0.5 rounded-full p-0.5 hover:bg-black/10 transition-colors",
2437
2560
  "aria-label": `Remove ${label} filter`,
2438
- children: /* @__PURE__ */ jsx32(
2561
+ children: /* @__PURE__ */ jsx33(
2439
2562
  "svg",
2440
2563
  {
2441
2564
  width: "12",
@@ -2446,7 +2569,7 @@ var FilterChip = React31.forwardRef(
2446
2569
  strokeWidth: "2",
2447
2570
  strokeLinecap: "round",
2448
2571
  strokeLinejoin: "round",
2449
- children: /* @__PURE__ */ jsx32("path", { d: "M18 6 6 18M6 6l12 12" })
2572
+ children: /* @__PURE__ */ jsx33("path", { d: "M18 6 6 18M6 6l12 12" })
2450
2573
  }
2451
2574
  )
2452
2575
  }
@@ -2456,7 +2579,7 @@ var FilterChip = React31.forwardRef(
2456
2579
  )
2457
2580
  );
2458
2581
  FilterChip.displayName = "FilterChip";
2459
- var ActiveFilters = React31.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs14(
2582
+ var ActiveFilters = React32.forwardRef(({ className, onClearAll, clearAllLabel = "Clear all", children, ...props }, ref) => /* @__PURE__ */ jsxs15(
2460
2583
  "div",
2461
2584
  {
2462
2585
  ref,
@@ -2464,7 +2587,7 @@ var ActiveFilters = React31.forwardRef(({ className, onClearAll, clearAllLabel =
2464
2587
  ...props,
2465
2588
  children: [
2466
2589
  children,
2467
- onClearAll && /* @__PURE__ */ jsx32(
2590
+ onClearAll && /* @__PURE__ */ jsx33(
2468
2591
  "button",
2469
2592
  {
2470
2593
  type: "button",
@@ -2477,7 +2600,7 @@ var ActiveFilters = React31.forwardRef(({ className, onClearAll, clearAllLabel =
2477
2600
  }
2478
2601
  ));
2479
2602
  ActiveFilters.displayName = "ActiveFilters";
2480
- var FilterBarActions = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(
2603
+ var FilterBarActions = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
2481
2604
  "div",
2482
2605
  {
2483
2606
  ref,
@@ -2488,13 +2611,13 @@ var FilterBarActions = React31.forwardRef(({ className, ...props }, ref) => /* @
2488
2611
  FilterBarActions.displayName = "FilterBarActions";
2489
2612
 
2490
2613
  // src/components/popover/popover.tsx
2491
- import * as React32 from "react";
2614
+ import * as React33 from "react";
2492
2615
  import * as PopoverPrimitive2 from "@radix-ui/react-popover";
2493
- import { jsx as jsx33 } from "react/jsx-runtime";
2616
+ import { jsx as jsx34 } from "react/jsx-runtime";
2494
2617
  var Popover = PopoverPrimitive2.Root;
2495
2618
  var PopoverTrigger = PopoverPrimitive2.Trigger;
2496
2619
  var PopoverAnchor = PopoverPrimitive2.Anchor;
2497
- var PopoverContent = React32.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx33(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx33(
2620
+ var PopoverContent = React33.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx34(
2498
2621
  PopoverPrimitive2.Content,
2499
2622
  {
2500
2623
  ref,
@@ -2514,16 +2637,16 @@ var PopoverContent = React32.forwardRef(({ className, align = "center", sideOffs
2514
2637
  PopoverContent.displayName = "PopoverContent";
2515
2638
 
2516
2639
  // src/components/dropdown-menu/dropdown-menu.tsx
2517
- import * as React33 from "react";
2640
+ import * as React34 from "react";
2518
2641
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2519
- import { jsx as jsx34, jsxs as jsxs15 } from "react/jsx-runtime";
2642
+ import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
2520
2643
  var DropdownMenu = DropdownMenuPrimitive.Root;
2521
2644
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2522
2645
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
2523
2646
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
2524
2647
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
2525
2648
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
2526
- var DropdownMenuContent = React33.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx34(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx34(
2649
+ var DropdownMenuContent = React34.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx35(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx35(
2527
2650
  DropdownMenuPrimitive.Content,
2528
2651
  {
2529
2652
  ref,
@@ -2540,7 +2663,7 @@ var DropdownMenuContent = React33.forwardRef(({ className, sideOffset = 4, ...pr
2540
2663
  }
2541
2664
  ) }));
2542
2665
  DropdownMenuContent.displayName = "DropdownMenuContent";
2543
- var DropdownMenuSubTrigger = React33.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
2666
+ var DropdownMenuSubTrigger = React34.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
2544
2667
  DropdownMenuPrimitive.SubTrigger,
2545
2668
  {
2546
2669
  ref,
@@ -2555,7 +2678,7 @@ var DropdownMenuSubTrigger = React33.forwardRef(({ className, inset, children, .
2555
2678
  ...props,
2556
2679
  children: [
2557
2680
  children,
2558
- /* @__PURE__ */ jsx34(
2681
+ /* @__PURE__ */ jsx35(
2559
2682
  "svg",
2560
2683
  {
2561
2684
  width: "14",
@@ -2567,14 +2690,14 @@ var DropdownMenuSubTrigger = React33.forwardRef(({ className, inset, children, .
2567
2690
  strokeLinecap: "round",
2568
2691
  strokeLinejoin: "round",
2569
2692
  className: "ml-auto",
2570
- children: /* @__PURE__ */ jsx34("path", { d: "m9 18 6-6-6-6" })
2693
+ children: /* @__PURE__ */ jsx35("path", { d: "m9 18 6-6-6-6" })
2571
2694
  }
2572
2695
  )
2573
2696
  ]
2574
2697
  }
2575
2698
  ));
2576
2699
  DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
2577
- var DropdownMenuSubContent = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2700
+ var DropdownMenuSubContent = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2578
2701
  DropdownMenuPrimitive.SubContent,
2579
2702
  {
2580
2703
  ref,
@@ -2589,7 +2712,7 @@ var DropdownMenuSubContent = React33.forwardRef(({ className, ...props }, ref) =
2589
2712
  }
2590
2713
  ));
2591
2714
  DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
2592
- var DropdownMenuItem = React33.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsx34(
2715
+ var DropdownMenuItem = React34.forwardRef(({ className, inset, destructive, ...props }, ref) => /* @__PURE__ */ jsx35(
2593
2716
  DropdownMenuPrimitive.Item,
2594
2717
  {
2595
2718
  ref,
@@ -2606,7 +2729,7 @@ var DropdownMenuItem = React33.forwardRef(({ className, inset, destructive, ...p
2606
2729
  }
2607
2730
  ));
2608
2731
  DropdownMenuItem.displayName = "DropdownMenuItem";
2609
- var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs15(
2732
+ var DropdownMenuCheckboxItem = React34.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs16(
2610
2733
  DropdownMenuPrimitive.CheckboxItem,
2611
2734
  {
2612
2735
  ref,
@@ -2620,7 +2743,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
2620
2743
  checked,
2621
2744
  ...props,
2622
2745
  children: [
2623
- /* @__PURE__ */ jsx34("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(
2746
+ /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35(
2624
2747
  "svg",
2625
2748
  {
2626
2749
  width: "14",
@@ -2631,7 +2754,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
2631
2754
  strokeWidth: "2",
2632
2755
  strokeLinecap: "round",
2633
2756
  strokeLinejoin: "round",
2634
- children: /* @__PURE__ */ jsx34("polyline", { points: "20 6 9 17 4 12" })
2757
+ children: /* @__PURE__ */ jsx35("polyline", { points: "20 6 9 17 4 12" })
2635
2758
  }
2636
2759
  ) }) }),
2637
2760
  children
@@ -2639,7 +2762,7 @@ var DropdownMenuCheckboxItem = React33.forwardRef(({ className, children, checke
2639
2762
  }
2640
2763
  ));
2641
2764
  DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
2642
- var DropdownMenuRadioItem = React33.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs15(
2765
+ var DropdownMenuRadioItem = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(
2643
2766
  DropdownMenuPrimitive.RadioItem,
2644
2767
  {
2645
2768
  ref,
@@ -2652,13 +2775,13 @@ var DropdownMenuRadioItem = React33.forwardRef(({ className, children, ...props
2652
2775
  ),
2653
2776
  ...props,
2654
2777
  children: [
2655
- /* @__PURE__ */ jsx34("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: /* @__PURE__ */ jsx34("circle", { cx: "4", cy: "4", r: "4" }) }) }) }),
2778
+ /* @__PURE__ */ jsx35("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx35(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx35("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: /* @__PURE__ */ jsx35("circle", { cx: "4", cy: "4", r: "4" }) }) }) }),
2656
2779
  children
2657
2780
  ]
2658
2781
  }
2659
2782
  ));
2660
2783
  DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
2661
- var DropdownMenuLabel = React33.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx34(
2784
+ var DropdownMenuLabel = React34.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx35(
2662
2785
  DropdownMenuPrimitive.Label,
2663
2786
  {
2664
2787
  ref,
@@ -2671,7 +2794,7 @@ var DropdownMenuLabel = React33.forwardRef(({ className, inset, ...props }, ref)
2671
2794
  }
2672
2795
  ));
2673
2796
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
2674
- var DropdownMenuSeparator = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
2797
+ var DropdownMenuSeparator = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2675
2798
  DropdownMenuPrimitive.Separator,
2676
2799
  {
2677
2800
  ref,
@@ -2683,7 +2806,7 @@ DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
2683
2806
  var DropdownMenuShortcut = ({
2684
2807
  className,
2685
2808
  ...props
2686
- }) => /* @__PURE__ */ jsx34(
2809
+ }) => /* @__PURE__ */ jsx35(
2687
2810
  "span",
2688
2811
  {
2689
2812
  className: cn(
@@ -2696,13 +2819,13 @@ var DropdownMenuShortcut = ({
2696
2819
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
2697
2820
 
2698
2821
  // src/components/dialog/dialog.tsx
2699
- import * as React34 from "react";
2822
+ import * as React35 from "react";
2700
2823
  import * as DialogPrimitive from "@radix-ui/react-dialog";
2701
- import { jsx as jsx35, jsxs as jsxs16 } from "react/jsx-runtime";
2824
+ import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
2702
2825
  var Dialog = DialogPrimitive.Root;
2703
2826
  var DialogTrigger = DialogPrimitive.Trigger;
2704
2827
  var DialogClose = DialogPrimitive.Close;
2705
- var DialogOverlay = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2828
+ var DialogOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2706
2829
  DialogPrimitive.Overlay,
2707
2830
  {
2708
2831
  ref,
@@ -2716,9 +2839,9 @@ var DialogOverlay = React34.forwardRef(({ className, ...props }, ref) => /* @__P
2716
2839
  }
2717
2840
  ));
2718
2841
  DialogOverlay.displayName = "DialogOverlay";
2719
- var DialogContent = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs16(DialogPrimitive.Portal, { children: [
2720
- /* @__PURE__ */ jsx35(DialogOverlay, {}),
2721
- /* @__PURE__ */ jsxs16(
2842
+ var DialogContent = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs17(DialogPrimitive.Portal, { children: [
2843
+ /* @__PURE__ */ jsx36(DialogOverlay, {}),
2844
+ /* @__PURE__ */ jsxs17(
2722
2845
  DialogPrimitive.Content,
2723
2846
  {
2724
2847
  ref,
@@ -2740,8 +2863,8 @@ var DialogContent = React34.forwardRef(({ className, children, ...props }, ref)
2740
2863
  ...props,
2741
2864
  children: [
2742
2865
  children,
2743
- /* @__PURE__ */ jsxs16(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
2744
- /* @__PURE__ */ jsx35(
2866
+ /* @__PURE__ */ jsxs17(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:pointer-events-none", children: [
2867
+ /* @__PURE__ */ jsx36(
2745
2868
  "svg",
2746
2869
  {
2747
2870
  width: "16",
@@ -2752,10 +2875,10 @@ var DialogContent = React34.forwardRef(({ className, children, ...props }, ref)
2752
2875
  strokeWidth: "2",
2753
2876
  strokeLinecap: "round",
2754
2877
  strokeLinejoin: "round",
2755
- children: /* @__PURE__ */ jsx35("path", { d: "M18 6 6 18M6 6l12 12" })
2878
+ children: /* @__PURE__ */ jsx36("path", { d: "M18 6 6 18M6 6l12 12" })
2756
2879
  }
2757
2880
  ),
2758
- /* @__PURE__ */ jsx35("span", { className: "sr-only", children: "Close" })
2881
+ /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Close" })
2759
2882
  ] })
2760
2883
  ]
2761
2884
  }
@@ -2765,7 +2888,7 @@ DialogContent.displayName = "DialogContent";
2765
2888
  var DialogHeader = ({
2766
2889
  className,
2767
2890
  ...props
2768
- }) => /* @__PURE__ */ jsx35(
2891
+ }) => /* @__PURE__ */ jsx36(
2769
2892
  "div",
2770
2893
  {
2771
2894
  className: cn("flex flex-col gap-1.5 text-center sm:text-left", className),
@@ -2776,7 +2899,7 @@ DialogHeader.displayName = "DialogHeader";
2776
2899
  var DialogFooter = ({
2777
2900
  className,
2778
2901
  ...props
2779
- }) => /* @__PURE__ */ jsx35(
2902
+ }) => /* @__PURE__ */ jsx36(
2780
2903
  "div",
2781
2904
  {
2782
2905
  className: cn(
@@ -2787,7 +2910,7 @@ var DialogFooter = ({
2787
2910
  }
2788
2911
  );
2789
2912
  DialogFooter.displayName = "DialogFooter";
2790
- var DialogTitle = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2913
+ var DialogTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2791
2914
  DialogPrimitive.Title,
2792
2915
  {
2793
2916
  ref,
@@ -2796,7 +2919,7 @@ var DialogTitle = React34.forwardRef(({ className, ...props }, ref) => /* @__PUR
2796
2919
  }
2797
2920
  ));
2798
2921
  DialogTitle.displayName = "DialogTitle";
2799
- var DialogDescription = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
2922
+ var DialogDescription = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
2800
2923
  DialogPrimitive.Description,
2801
2924
  {
2802
2925
  ref,
@@ -2809,7 +2932,7 @@ DialogDescription.displayName = "DialogDescription";
2809
2932
  // src/components/command-palette/command-palette.tsx
2810
2933
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
2811
2934
  import { Command as Command2 } from "cmdk";
2812
- import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
2935
+ import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
2813
2936
  function CommandPalette({
2814
2937
  open,
2815
2938
  onOpenChange,
@@ -2817,9 +2940,9 @@ function CommandPalette({
2817
2940
  className,
2818
2941
  children
2819
2942
  }) {
2820
- return /* @__PURE__ */ jsx36(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs17(DialogPrimitive2.Portal, { children: [
2821
- /* @__PURE__ */ jsx36(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
2822
- /* @__PURE__ */ jsx36(
2943
+ return /* @__PURE__ */ jsx37(DialogPrimitive2.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs18(DialogPrimitive2.Portal, { children: [
2944
+ /* @__PURE__ */ jsx37(DialogPrimitive2.Overlay, { className: "fixed inset-0 z-modal bg-[var(--color-surface-overlay)] animate-in fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0" }),
2945
+ /* @__PURE__ */ jsx37(
2823
2946
  DialogPrimitive2.Content,
2824
2947
  {
2825
2948
  className: cn(
@@ -2828,9 +2951,9 @@ function CommandPalette({
2828
2951
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
2829
2952
  className
2830
2953
  ),
2831
- children: /* @__PURE__ */ jsxs17(Command2, { shouldFilter: true, className: "flex flex-col", children: [
2832
- /* @__PURE__ */ jsxs17("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
2833
- /* @__PURE__ */ jsxs17(
2954
+ children: /* @__PURE__ */ jsxs18(Command2, { shouldFilter: true, className: "flex flex-col", children: [
2955
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center border-b border-[var(--color-border)] px-4", children: [
2956
+ /* @__PURE__ */ jsxs18(
2834
2957
  "svg",
2835
2958
  {
2836
2959
  width: "18",
@@ -2843,12 +2966,12 @@ function CommandPalette({
2843
2966
  strokeLinejoin: "round",
2844
2967
  className: "shrink-0 text-[var(--color-on-surface-muted)]",
2845
2968
  children: [
2846
- /* @__PURE__ */ jsx36("circle", { cx: "11", cy: "11", r: "8" }),
2847
- /* @__PURE__ */ jsx36("path", { d: "m21 21-4.3-4.3" })
2969
+ /* @__PURE__ */ jsx37("circle", { cx: "11", cy: "11", r: "8" }),
2970
+ /* @__PURE__ */ jsx37("path", { d: "m21 21-4.3-4.3" })
2848
2971
  ]
2849
2972
  }
2850
2973
  ),
2851
- /* @__PURE__ */ jsx36(
2974
+ /* @__PURE__ */ jsx37(
2852
2975
  Command2.Input,
2853
2976
  {
2854
2977
  placeholder,
@@ -2856,7 +2979,7 @@ function CommandPalette({
2856
2979
  }
2857
2980
  )
2858
2981
  ] }),
2859
- /* @__PURE__ */ jsx36(Command2.List, { className: "max-h-80 overflow-auto p-2", children })
2982
+ /* @__PURE__ */ jsx37(Command2.List, { className: "max-h-80 overflow-auto p-2", children })
2860
2983
  ] })
2861
2984
  }
2862
2985
  )
@@ -2867,7 +2990,7 @@ function CommandPaletteGroup({
2867
2990
  heading,
2868
2991
  children
2869
2992
  }) {
2870
- return /* @__PURE__ */ jsx36(
2993
+ return /* @__PURE__ */ jsx37(
2871
2994
  Command2.Group,
2872
2995
  {
2873
2996
  heading,
@@ -2885,7 +3008,7 @@ function CommandPaletteItem({
2885
3008
  className,
2886
3009
  children
2887
3010
  }) {
2888
- return /* @__PURE__ */ jsxs17(
3011
+ return /* @__PURE__ */ jsxs18(
2889
3012
  Command2.Item,
2890
3013
  {
2891
3014
  onSelect,
@@ -2897,9 +3020,9 @@ function CommandPaletteItem({
2897
3020
  className
2898
3021
  ),
2899
3022
  children: [
2900
- icon && /* @__PURE__ */ jsx36("span", { className: "mr-2 flex h-4 w-4 items-center justify-center text-[var(--color-on-surface-muted)]", children: icon }),
2901
- /* @__PURE__ */ jsx36("span", { className: "flex-1", children }),
2902
- shortcut && /* @__PURE__ */ jsx36(CommandPaletteShortcut, { children: shortcut })
3023
+ icon && /* @__PURE__ */ jsx37("span", { className: "mr-2 flex h-4 w-4 items-center justify-center text-[var(--color-on-surface-muted)]", children: icon }),
3024
+ /* @__PURE__ */ jsx37("span", { className: "flex-1", children }),
3025
+ shortcut && /* @__PURE__ */ jsx37(CommandPaletteShortcut, { children: shortcut })
2903
3026
  ]
2904
3027
  }
2905
3028
  );
@@ -2909,7 +3032,7 @@ function CommandPaletteSeparator({
2909
3032
  className,
2910
3033
  ...props
2911
3034
  }) {
2912
- return /* @__PURE__ */ jsx36(
3035
+ return /* @__PURE__ */ jsx37(
2913
3036
  Command2.Separator,
2914
3037
  {
2915
3038
  className: cn("-mx-1 my-1 h-px bg-[var(--color-border)]", className),
@@ -2923,7 +3046,7 @@ function CommandPaletteEmpty({
2923
3046
  children = "No results found.",
2924
3047
  ...props
2925
3048
  }) {
2926
- return /* @__PURE__ */ jsx36(
3049
+ return /* @__PURE__ */ jsx37(
2927
3050
  Command2.Empty,
2928
3051
  {
2929
3052
  className: cn("px-2 py-6 text-center text-sm text-[var(--color-on-surface-muted)]", className),
@@ -2937,7 +3060,7 @@ function CommandPaletteShortcut({
2937
3060
  className,
2938
3061
  ...props
2939
3062
  }) {
2940
- return /* @__PURE__ */ jsx36(
3063
+ return /* @__PURE__ */ jsx37(
2941
3064
  "span",
2942
3065
  {
2943
3066
  className: cn(
@@ -2951,32 +3074,32 @@ function CommandPaletteShortcut({
2951
3074
  CommandPaletteShortcut.displayName = "CommandPaletteShortcut";
2952
3075
 
2953
3076
  // src/components/drawer/drawer.tsx
2954
- import * as React35 from "react";
3077
+ import * as React36 from "react";
2955
3078
  import * as DialogPrimitive3 from "@radix-ui/react-dialog";
2956
3079
  import { cva as cva14 } from "class-variance-authority";
2957
- import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
3080
+ import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
2958
3081
  var [DrawerContextProvider, useDrawerContext] = createContext2("Drawer");
2959
- var DrawerStackContext = React35.createContext(
3082
+ var DrawerStackContext = React36.createContext(
2960
3083
  null
2961
3084
  );
2962
3085
  function DrawerProvider({ children }) {
2963
- const stackRef = React35.useRef([]);
2964
- const [, forceUpdate] = React35.useState(0);
2965
- const register = React35.useCallback((id) => {
3086
+ const stackRef = React36.useRef([]);
3087
+ const [, forceUpdate] = React36.useState(0);
3088
+ const register = React36.useCallback((id) => {
2966
3089
  const level = stackRef.current.length;
2967
3090
  stackRef.current = [...stackRef.current, { id, level }];
2968
3091
  forceUpdate((n) => n + 1);
2969
3092
  return level;
2970
3093
  }, []);
2971
- const unregister = React35.useCallback((id) => {
3094
+ const unregister = React36.useCallback((id) => {
2972
3095
  stackRef.current = stackRef.current.filter((e) => e.id !== id);
2973
3096
  forceUpdate((n) => n + 1);
2974
3097
  }, []);
2975
- const ctx = React35.useMemo(
3098
+ const ctx = React36.useMemo(
2976
3099
  () => ({ stack: stackRef.current, register, unregister }),
2977
3100
  [register, unregister]
2978
3101
  );
2979
- return /* @__PURE__ */ jsx37(DrawerStackContext.Provider, { value: ctx, children });
3102
+ return /* @__PURE__ */ jsx38(DrawerStackContext.Provider, { value: ctx, children });
2980
3103
  }
2981
3104
  DrawerProvider.displayName = "DrawerProvider";
2982
3105
  function Drawer({
@@ -2988,7 +3111,7 @@ function Drawer({
2988
3111
  onPinnedChange,
2989
3112
  children
2990
3113
  }) {
2991
- return /* @__PURE__ */ jsx37(DrawerContextProvider, { value: { side, pinnable, pinned, onPinnedChange }, children: /* @__PURE__ */ jsx37(DialogPrimitive3.Root, { open, onOpenChange, children }) });
3114
+ return /* @__PURE__ */ jsx38(DrawerContextProvider, { value: { side, pinnable, pinned, onPinnedChange }, children: /* @__PURE__ */ jsx38(DialogPrimitive3.Root, { open, onOpenChange, children }) });
2992
3115
  }
2993
3116
  Drawer.displayName = "Drawer";
2994
3117
  var DrawerTrigger = DialogPrimitive3.Trigger;
@@ -3005,12 +3128,12 @@ var drawerSizeVariants = cva14("", {
3005
3128
  },
3006
3129
  defaultVariants: { size: "md" }
3007
3130
  });
3008
- var DrawerContent = React35.forwardRef(({ className, size, children, ...props }, ref) => {
3131
+ var DrawerContent = React36.forwardRef(({ className, size, children, ...props }, ref) => {
3009
3132
  const { side, pinned } = useDrawerContext();
3010
- const stackCtx = React35.useContext(DrawerStackContext);
3011
- const drawerId = React35.useId();
3012
- const [level, setLevel] = React35.useState(0);
3013
- React35.useEffect(() => {
3133
+ const stackCtx = React36.useContext(DrawerStackContext);
3134
+ const drawerId = React36.useId();
3135
+ const [level, setLevel] = React36.useState(0);
3136
+ React36.useEffect(() => {
3014
3137
  if (stackCtx) {
3015
3138
  const l = stackCtx.register(drawerId);
3016
3139
  setLevel(l);
@@ -3019,7 +3142,7 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
3019
3142
  }, [stackCtx, drawerId]);
3020
3143
  const stackOffset = stackCtx ? level * 2 : 0;
3021
3144
  if (pinned) {
3022
- return /* @__PURE__ */ jsx37(
3145
+ return /* @__PURE__ */ jsx38(
3023
3146
  "div",
3024
3147
  {
3025
3148
  className: cn(
@@ -3032,8 +3155,8 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
3032
3155
  }
3033
3156
  );
3034
3157
  }
3035
- return /* @__PURE__ */ jsxs18(DialogPrimitive3.Portal, { children: [
3036
- /* @__PURE__ */ jsx37(
3158
+ return /* @__PURE__ */ jsxs19(DialogPrimitive3.Portal, { children: [
3159
+ /* @__PURE__ */ jsx38(
3037
3160
  DialogPrimitive3.Overlay,
3038
3161
  {
3039
3162
  className: cn(
@@ -3044,7 +3167,7 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
3044
3167
  style: { zIndex: 200 + stackOffset }
3045
3168
  }
3046
3169
  ),
3047
- /* @__PURE__ */ jsx37(
3170
+ /* @__PURE__ */ jsx38(
3048
3171
  DialogPrimitive3.Content,
3049
3172
  {
3050
3173
  ref,
@@ -3058,15 +3181,15 @@ var DrawerContent = React35.forwardRef(({ className, size, children, ...props },
3058
3181
  ),
3059
3182
  style: { zIndex: 201 + stackOffset },
3060
3183
  ...props,
3061
- children: /* @__PURE__ */ jsx37("div", { className: "flex h-full flex-col", children })
3184
+ children: /* @__PURE__ */ jsx38("div", { className: "flex h-full flex-col", children })
3062
3185
  }
3063
3186
  )
3064
3187
  ] });
3065
3188
  });
3066
3189
  DrawerContent.displayName = "DrawerContent";
3067
- var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3190
+ var DrawerHeader = React36.forwardRef(({ className, ...props }, ref) => {
3068
3191
  const { pinnable, pinned, onPinnedChange } = useDrawerContext();
3069
- return /* @__PURE__ */ jsxs18(
3192
+ return /* @__PURE__ */ jsxs19(
3070
3193
  "div",
3071
3194
  {
3072
3195
  ref,
@@ -3076,9 +3199,9 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3076
3199
  ),
3077
3200
  ...props,
3078
3201
  children: [
3079
- /* @__PURE__ */ jsx37("div", { className: "flex-1", children: props.children }),
3080
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1", children: [
3081
- pinnable && /* @__PURE__ */ jsx37(
3202
+ /* @__PURE__ */ jsx38("div", { className: "flex-1", children: props.children }),
3203
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-1", children: [
3204
+ pinnable && /* @__PURE__ */ jsx38(
3082
3205
  "button",
3083
3206
  {
3084
3207
  type: "button",
@@ -3088,7 +3211,7 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3088
3211
  pinned ? "opacity-100 text-primary-500" : "opacity-50"
3089
3212
  ),
3090
3213
  "aria-label": pinned ? "Unpin drawer" : "Pin drawer",
3091
- children: /* @__PURE__ */ jsx37(
3214
+ children: /* @__PURE__ */ jsx38(
3092
3215
  "svg",
3093
3216
  {
3094
3217
  width: "16",
@@ -3099,13 +3222,13 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3099
3222
  strokeWidth: "2",
3100
3223
  strokeLinecap: "round",
3101
3224
  strokeLinejoin: "round",
3102
- children: /* @__PURE__ */ jsx37("path", { d: "M12 17v5M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1 1 1 0 0 1 1 1z" })
3225
+ children: /* @__PURE__ */ jsx38("path", { d: "M12 17v5M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1 1 1 0 0 1 1 1z" })
3103
3226
  }
3104
3227
  )
3105
3228
  }
3106
3229
  ),
3107
- /* @__PURE__ */ jsxs18(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
3108
- /* @__PURE__ */ jsx37(
3230
+ /* @__PURE__ */ jsxs19(DialogPrimitive3.Close, { className: "rounded-sm p-1 opacity-50 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", children: [
3231
+ /* @__PURE__ */ jsx38(
3109
3232
  "svg",
3110
3233
  {
3111
3234
  width: "16",
@@ -3116,10 +3239,10 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3116
3239
  strokeWidth: "2",
3117
3240
  strokeLinecap: "round",
3118
3241
  strokeLinejoin: "round",
3119
- children: /* @__PURE__ */ jsx37("path", { d: "M18 6 6 18M6 6l12 12" })
3242
+ children: /* @__PURE__ */ jsx38("path", { d: "M18 6 6 18M6 6l12 12" })
3120
3243
  }
3121
3244
  ),
3122
- /* @__PURE__ */ jsx37("span", { className: "sr-only", children: "Close" })
3245
+ /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Close" })
3123
3246
  ] })
3124
3247
  ] })
3125
3248
  ]
@@ -3127,7 +3250,7 @@ var DrawerHeader = React35.forwardRef(({ className, ...props }, ref) => {
3127
3250
  );
3128
3251
  });
3129
3252
  DrawerHeader.displayName = "DrawerHeader";
3130
- var DrawerTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3253
+ var DrawerTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3131
3254
  DialogPrimitive3.Title,
3132
3255
  {
3133
3256
  ref,
@@ -3136,7 +3259,7 @@ var DrawerTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PUR
3136
3259
  }
3137
3260
  ));
3138
3261
  DrawerTitle.displayName = "DrawerTitle";
3139
- var DrawerDescription = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3262
+ var DrawerDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3140
3263
  DialogPrimitive3.Description,
3141
3264
  {
3142
3265
  ref,
@@ -3145,7 +3268,7 @@ var DrawerDescription = React35.forwardRef(({ className, ...props }, ref) => /*
3145
3268
  }
3146
3269
  ));
3147
3270
  DrawerDescription.displayName = "DrawerDescription";
3148
- var DrawerFooter = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx37(
3271
+ var DrawerFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3149
3272
  "div",
3150
3273
  {
3151
3274
  ref,
@@ -3159,10 +3282,10 @@ var DrawerFooter = React35.forwardRef(({ className, ...props }, ref) => /* @__PU
3159
3282
  DrawerFooter.displayName = "DrawerFooter";
3160
3283
 
3161
3284
  // src/components/app-shell/app-shell.tsx
3162
- import * as React36 from "react";
3163
- import { jsx as jsx38, jsxs as jsxs19 } from "react/jsx-runtime";
3285
+ import * as React37 from "react";
3286
+ import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
3164
3287
  var [AppShellProvider, useAppShell] = createContext2("AppShell");
3165
- var AppShell = React36.forwardRef(
3288
+ var AppShell = React37.forwardRef(
3166
3289
  ({
3167
3290
  className,
3168
3291
  sidebarCollapsed: controlledCollapsed,
@@ -3174,11 +3297,11 @@ var AppShell = React36.forwardRef(
3174
3297
  ...props
3175
3298
  }, ref) => {
3176
3299
  const { isMobile } = useBreakpoint();
3177
- const [internalCollapsed, setInternalCollapsed] = React36.useState(false);
3178
- const [mobileSidebarOpen, setMobileSidebarOpen] = React36.useState(false);
3300
+ const [internalCollapsed, setInternalCollapsed] = React37.useState(false);
3301
+ const [mobileSidebarOpen, setMobileSidebarOpen] = React37.useState(false);
3179
3302
  const collapsed = controlledCollapsed ?? internalCollapsed;
3180
3303
  const setCollapsed = onSidebarCollapsedChange ?? setInternalCollapsed;
3181
- return /* @__PURE__ */ jsx38(
3304
+ return /* @__PURE__ */ jsx39(
3182
3305
  AppShellProvider,
3183
3306
  {
3184
3307
  value: {
@@ -3189,7 +3312,7 @@ var AppShell = React36.forwardRef(
3189
3312
  mobileSidebarOpen,
3190
3313
  setMobileSidebarOpen
3191
3314
  },
3192
- children: /* @__PURE__ */ jsx38(
3315
+ children: /* @__PURE__ */ jsx39(
3193
3316
  "div",
3194
3317
  {
3195
3318
  ref,
@@ -3207,20 +3330,20 @@ var AppShell = React36.forwardRef(
3207
3330
  }
3208
3331
  );
3209
3332
  AppShell.displayName = "AppShell";
3210
- var AppShellSidebar = React36.forwardRef(({ className, children, ...props }, ref) => {
3333
+ var AppShellSidebar = React37.forwardRef(({ className, children, ...props }, ref) => {
3211
3334
  const { sidebarCollapsed, isMobile, mobileSidebarOpen, setMobileSidebarOpen } = useAppShell();
3212
3335
  if (isMobile) {
3213
- return /* @__PURE__ */ jsx38(
3336
+ return /* @__PURE__ */ jsx39(
3214
3337
  Drawer,
3215
3338
  {
3216
3339
  open: mobileSidebarOpen,
3217
3340
  onOpenChange: setMobileSidebarOpen,
3218
3341
  side: "left",
3219
- children: /* @__PURE__ */ jsx38(DrawerContent, { size: "sm", className, children })
3342
+ children: /* @__PURE__ */ jsx39(DrawerContent, { size: "sm", className, children })
3220
3343
  }
3221
3344
  );
3222
3345
  }
3223
- return /* @__PURE__ */ jsx38(
3346
+ return /* @__PURE__ */ jsx39(
3224
3347
  "aside",
3225
3348
  {
3226
3349
  ref,
@@ -3237,9 +3360,9 @@ var AppShellSidebar = React36.forwardRef(({ className, children, ...props }, ref
3237
3360
  );
3238
3361
  });
3239
3362
  AppShellSidebar.displayName = "AppShellSidebar";
3240
- var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref) => {
3363
+ var AppShellHeader = React37.forwardRef(({ className, children, ...props }, ref) => {
3241
3364
  const { isMobile, setMobileSidebarOpen } = useAppShell();
3242
- return /* @__PURE__ */ jsxs19(
3365
+ return /* @__PURE__ */ jsxs20(
3243
3366
  "header",
3244
3367
  {
3245
3368
  ref,
@@ -3249,14 +3372,14 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
3249
3372
  ),
3250
3373
  ...props,
3251
3374
  children: [
3252
- isMobile && /* @__PURE__ */ jsx38(
3375
+ isMobile && /* @__PURE__ */ jsx39(
3253
3376
  "button",
3254
3377
  {
3255
3378
  type: "button",
3256
3379
  onClick: () => setMobileSidebarOpen(true),
3257
3380
  className: "rounded-md p-1.5 hover:bg-[var(--color-surface-muted)] transition-colors touch:min-h-[--touch-target-min] touch:min-w-[--touch-target-min] flex items-center justify-center",
3258
3381
  "aria-label": "Open menu",
3259
- children: /* @__PURE__ */ jsx38(
3382
+ children: /* @__PURE__ */ jsx39(
3260
3383
  "svg",
3261
3384
  {
3262
3385
  width: "20",
@@ -3267,7 +3390,7 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
3267
3390
  strokeWidth: "2",
3268
3391
  strokeLinecap: "round",
3269
3392
  strokeLinejoin: "round",
3270
- children: /* @__PURE__ */ jsx38("path", { d: "M4 6h16M4 12h16M4 18h16" })
3393
+ children: /* @__PURE__ */ jsx39("path", { d: "M4 6h16M4 12h16M4 18h16" })
3271
3394
  }
3272
3395
  )
3273
3396
  }
@@ -3278,9 +3401,9 @@ var AppShellHeader = React36.forwardRef(({ className, children, ...props }, ref)
3278
3401
  );
3279
3402
  });
3280
3403
  AppShellHeader.displayName = "AppShellHeader";
3281
- var AppShellContent = React36.forwardRef(({ className, ...props }, ref) => {
3404
+ var AppShellContent = React37.forwardRef(({ className, ...props }, ref) => {
3282
3405
  const { withBottomNav } = useAppShell();
3283
- return /* @__PURE__ */ jsx38(
3406
+ return /* @__PURE__ */ jsx39(
3284
3407
  "main",
3285
3408
  {
3286
3409
  ref,
@@ -3294,7 +3417,7 @@ var AppShellContent = React36.forwardRef(({ className, ...props }, ref) => {
3294
3417
  );
3295
3418
  });
3296
3419
  AppShellContent.displayName = "AppShellContent";
3297
- var AppShellFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx38(
3420
+ var AppShellFooter = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
3298
3421
  "footer",
3299
3422
  {
3300
3423
  ref,
@@ -3308,9 +3431,9 @@ var AppShellFooter = React36.forwardRef(({ className, ...props }, ref) => /* @__
3308
3431
  AppShellFooter.displayName = "AppShellFooter";
3309
3432
 
3310
3433
  // src/components/bottom-navigation/bottom-navigation.tsx
3311
- import * as React37 from "react";
3312
- import { jsx as jsx39, jsxs as jsxs20 } from "react/jsx-runtime";
3313
- var BottomNavigation = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx39(
3434
+ import * as React38 from "react";
3435
+ import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
3436
+ var BottomNavigation = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3314
3437
  "nav",
3315
3438
  {
3316
3439
  ref,
@@ -3323,7 +3446,7 @@ var BottomNavigation = React37.forwardRef(({ className, ...props }, ref) => /* @
3323
3446
  }
3324
3447
  ));
3325
3448
  BottomNavigation.displayName = "BottomNavigation";
3326
- var BottomNavigationItem = React37.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs20(
3449
+ var BottomNavigationItem = React38.forwardRef(({ className, icon, label, active = false, ...props }, ref) => /* @__PURE__ */ jsxs21(
3327
3450
  "button",
3328
3451
  {
3329
3452
  ref,
@@ -3335,17 +3458,17 @@ var BottomNavigationItem = React37.forwardRef(({ className, icon, label, active
3335
3458
  "aria-current": active ? "page" : void 0,
3336
3459
  ...props,
3337
3460
  children: [
3338
- /* @__PURE__ */ jsx39("span", { className: "flex h-6 w-6 items-center justify-center", children: icon }),
3339
- /* @__PURE__ */ jsx39("span", { children: label })
3461
+ /* @__PURE__ */ jsx40("span", { className: "flex h-6 w-6 items-center justify-center", children: icon }),
3462
+ /* @__PURE__ */ jsx40("span", { children: label })
3340
3463
  ]
3341
3464
  }
3342
3465
  ));
3343
3466
  BottomNavigationItem.displayName = "BottomNavigationItem";
3344
3467
 
3345
3468
  // src/components/offline-indicator/offline-indicator.tsx
3346
- import * as React38 from "react";
3347
- import { jsx as jsx40, jsxs as jsxs21 } from "react/jsx-runtime";
3348
- var OfflineIndicator = React38.forwardRef(
3469
+ import * as React39 from "react";
3470
+ import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
3471
+ var OfflineIndicator = React39.forwardRef(
3349
3472
  ({
3350
3473
  className,
3351
3474
  isOffline,
@@ -3353,7 +3476,7 @@ var OfflineIndicator = React38.forwardRef(
3353
3476
  ...props
3354
3477
  }, ref) => {
3355
3478
  if (!isOffline) return null;
3356
- return /* @__PURE__ */ jsxs21(
3479
+ return /* @__PURE__ */ jsxs22(
3357
3480
  "div",
3358
3481
  {
3359
3482
  ref,
@@ -3364,7 +3487,7 @@ var OfflineIndicator = React38.forwardRef(
3364
3487
  ),
3365
3488
  ...props,
3366
3489
  children: [
3367
- /* @__PURE__ */ jsxs21(
3490
+ /* @__PURE__ */ jsxs22(
3368
3491
  "svg",
3369
3492
  {
3370
3493
  xmlns: "http://www.w3.org/2000/svg",
@@ -3379,13 +3502,13 @@ var OfflineIndicator = React38.forwardRef(
3379
3502
  className: "mr-2 shrink-0",
3380
3503
  "aria-hidden": "true",
3381
3504
  children: [
3382
- /* @__PURE__ */ jsx40("line", { x1: "2", x2: "22", y1: "2", y2: "22" }),
3383
- /* @__PURE__ */ jsx40("path", { d: "M8.5 16.5a5 5 0 0 1 7 0" }),
3384
- /* @__PURE__ */ jsx40("path", { d: "M2 8.82a15 15 0 0 1 4.17-2.65" }),
3385
- /* @__PURE__ */ jsx40("path", { d: "M10.66 5c4.01-.36 8.14.9 11.34 3.76" }),
3386
- /* @__PURE__ */ jsx40("path", { d: "M16.85 11.25a10 10 0 0 1 2.22 1.68" }),
3387
- /* @__PURE__ */ jsx40("path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69" }),
3388
- /* @__PURE__ */ jsx40("line", { x1: "12", x2: "12.01", y1: "20", y2: "20" })
3505
+ /* @__PURE__ */ jsx41("line", { x1: "2", x2: "22", y1: "2", y2: "22" }),
3506
+ /* @__PURE__ */ jsx41("path", { d: "M8.5 16.5a5 5 0 0 1 7 0" }),
3507
+ /* @__PURE__ */ jsx41("path", { d: "M2 8.82a15 15 0 0 1 4.17-2.65" }),
3508
+ /* @__PURE__ */ jsx41("path", { d: "M10.66 5c4.01-.36 8.14.9 11.34 3.76" }),
3509
+ /* @__PURE__ */ jsx41("path", { d: "M16.85 11.25a10 10 0 0 1 2.22 1.68" }),
3510
+ /* @__PURE__ */ jsx41("path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69" }),
3511
+ /* @__PURE__ */ jsx41("line", { x1: "12", x2: "12.01", y1: "20", y2: "20" })
3389
3512
  ]
3390
3513
  }
3391
3514
  ),
@@ -3398,9 +3521,9 @@ var OfflineIndicator = React38.forwardRef(
3398
3521
  OfflineIndicator.displayName = "OfflineIndicator";
3399
3522
 
3400
3523
  // src/components/install-prompt/install-prompt.tsx
3401
- import * as React39 from "react";
3402
- import { jsx as jsx41, jsxs as jsxs22 } from "react/jsx-runtime";
3403
- var InstallPrompt = React39.forwardRef(
3524
+ import * as React40 from "react";
3525
+ import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
3526
+ var InstallPrompt = React40.forwardRef(
3404
3527
  ({
3405
3528
  className,
3406
3529
  canInstall,
@@ -3413,7 +3536,7 @@ var InstallPrompt = React39.forwardRef(
3413
3536
  ...props
3414
3537
  }, ref) => {
3415
3538
  if (!canInstall) return null;
3416
- return /* @__PURE__ */ jsx41(
3539
+ return /* @__PURE__ */ jsx42(
3417
3540
  "div",
3418
3541
  {
3419
3542
  ref,
@@ -3424,12 +3547,12 @@ var InstallPrompt = React39.forwardRef(
3424
3547
  className
3425
3548
  ),
3426
3549
  ...props,
3427
- children: /* @__PURE__ */ jsxs22("div", { className: "mx-auto max-w-md", children: [
3428
- /* @__PURE__ */ jsx41("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
3429
- /* @__PURE__ */ jsx41("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
3430
- /* @__PURE__ */ jsxs22("div", { className: "mt-3 flex gap-2", children: [
3431
- /* @__PURE__ */ jsx41(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
3432
- /* @__PURE__ */ jsx41(
3550
+ children: /* @__PURE__ */ jsxs23("div", { className: "mx-auto max-w-md", children: [
3551
+ /* @__PURE__ */ jsx42("p", { className: "text-sm font-semibold text-[var(--color-on-surface)]", children: title }),
3552
+ /* @__PURE__ */ jsx42("p", { className: "mt-1 text-xs text-[var(--color-on-surface-muted)]", children: description }),
3553
+ /* @__PURE__ */ jsxs23("div", { className: "mt-3 flex gap-2", children: [
3554
+ /* @__PURE__ */ jsx42(Button, { size: "sm", onClick: onInstall, className: "flex-1", children: installLabel }),
3555
+ /* @__PURE__ */ jsx42(
3433
3556
  Button,
3434
3557
  {
3435
3558
  size: "sm",
@@ -3448,16 +3571,16 @@ var InstallPrompt = React39.forwardRef(
3448
3571
  InstallPrompt.displayName = "InstallPrompt";
3449
3572
 
3450
3573
  // src/components/pull-to-refresh/pull-to-refresh.tsx
3451
- import * as React40 from "react";
3452
- import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
3453
- var PullToRefresh = React40.forwardRef(
3574
+ import * as React41 from "react";
3575
+ import { jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
3576
+ var PullToRefresh = React41.forwardRef(
3454
3577
  ({ className, onRefresh, threshold = 80, disabled = false, children, ...props }, ref) => {
3455
- const [pullDistance, setPullDistance] = React40.useState(0);
3456
- const [isRefreshing, setIsRefreshing] = React40.useState(false);
3457
- const startYRef = React40.useRef(0);
3458
- const containerRef = React40.useRef(null);
3459
- React40.useImperativeHandle(ref, () => containerRef.current);
3460
- const handleTouchStart = React40.useCallback(
3578
+ const [pullDistance, setPullDistance] = React41.useState(0);
3579
+ const [isRefreshing, setIsRefreshing] = React41.useState(false);
3580
+ const startYRef = React41.useRef(0);
3581
+ const containerRef = React41.useRef(null);
3582
+ React41.useImperativeHandle(ref, () => containerRef.current);
3583
+ const handleTouchStart = React41.useCallback(
3461
3584
  (e) => {
3462
3585
  if (disabled || isRefreshing) return;
3463
3586
  const container = containerRef.current;
@@ -3467,7 +3590,7 @@ var PullToRefresh = React40.forwardRef(
3467
3590
  },
3468
3591
  [disabled, isRefreshing]
3469
3592
  );
3470
- const handleTouchMove = React40.useCallback(
3593
+ const handleTouchMove = React41.useCallback(
3471
3594
  (e) => {
3472
3595
  if (disabled || isRefreshing || startYRef.current === 0) return;
3473
3596
  const distance = Math.max(
@@ -3480,7 +3603,7 @@ var PullToRefresh = React40.forwardRef(
3480
3603
  },
3481
3604
  [disabled, isRefreshing, threshold]
3482
3605
  );
3483
- const handleTouchEnd = React40.useCallback(async () => {
3606
+ const handleTouchEnd = React41.useCallback(async () => {
3484
3607
  if (disabled || isRefreshing) return;
3485
3608
  if (pullDistance >= threshold) {
3486
3609
  setIsRefreshing(true);
@@ -3495,7 +3618,7 @@ var PullToRefresh = React40.forwardRef(
3495
3618
  }, [disabled, isRefreshing, pullDistance, threshold, onRefresh]);
3496
3619
  const indicatorOpacity = Math.min(pullDistance / threshold, 1);
3497
3620
  const shouldTrigger = pullDistance >= threshold;
3498
- return /* @__PURE__ */ jsxs23(
3621
+ return /* @__PURE__ */ jsxs24(
3499
3622
  "div",
3500
3623
  {
3501
3624
  ref: containerRef,
@@ -3505,18 +3628,18 @@ var PullToRefresh = React40.forwardRef(
3505
3628
  onTouchEnd: handleTouchEnd,
3506
3629
  ...props,
3507
3630
  children: [
3508
- /* @__PURE__ */ jsx42(
3631
+ /* @__PURE__ */ jsx43(
3509
3632
  "div",
3510
3633
  {
3511
3634
  className: "flex items-center justify-center overflow-hidden transition-[height] duration-normal",
3512
3635
  style: { height: isRefreshing ? threshold * 0.6 : pullDistance },
3513
3636
  "aria-hidden": "true",
3514
- children: /* @__PURE__ */ jsx42(
3637
+ children: /* @__PURE__ */ jsx43(
3515
3638
  "div",
3516
3639
  {
3517
3640
  className: "transition-opacity",
3518
3641
  style: { opacity: isRefreshing ? 1 : indicatorOpacity },
3519
- children: isRefreshing ? /* @__PURE__ */ jsx42(Spinner, { size: "sm" }) : /* @__PURE__ */ jsxs23(
3642
+ children: isRefreshing ? /* @__PURE__ */ jsx43(Spinner, { size: "sm" }) : /* @__PURE__ */ jsxs24(
3520
3643
  "svg",
3521
3644
  {
3522
3645
  xmlns: "http://www.w3.org/2000/svg",
@@ -3533,8 +3656,8 @@ var PullToRefresh = React40.forwardRef(
3533
3656
  shouldTrigger && "rotate-180 text-primary-500"
3534
3657
  ),
3535
3658
  children: [
3536
- /* @__PURE__ */ jsx42("path", { d: "M12 5v14" }),
3537
- /* @__PURE__ */ jsx42("path", { d: "m19 12-7 7-7-7" })
3659
+ /* @__PURE__ */ jsx43("path", { d: "M12 5v14" }),
3660
+ /* @__PURE__ */ jsx43("path", { d: "m19 12-7 7-7-7" })
3538
3661
  ]
3539
3662
  }
3540
3663
  )
@@ -3558,7 +3681,9 @@ export {
3558
3681
  AppShellSidebar,
3559
3682
  Avatar,
3560
3683
  AvatarFallback,
3684
+ AvatarGroup,
3561
3685
  AvatarImage,
3686
+ AvatarStatus,
3562
3687
  BREAKPOINTS,
3563
3688
  Badge,
3564
3689
  BottomNavigation,