@sreedev/my3dui 0.1.9 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -295,6 +295,7 @@ __export(index_exports, {
295
295
  TableRow: () => TableRow,
296
296
  Tabs3D: () => Tabs3D,
297
297
  Textarea: () => Textarea,
298
+ ThemeProvider: () => ThemeProvider,
298
299
  Timeline3D: () => Timeline3D,
299
300
  Toast: () => Toast,
300
301
  ToastAction: () => ToastAction,
@@ -323,12 +324,67 @@ __export(index_exports, {
323
324
  sonnerToast: () => import_sonner.toast,
324
325
  toggleVariants: () => toggleVariants,
325
326
  useFormField: () => useFormField,
326
- useSidebar: () => useSidebar
327
+ useSidebar: () => useSidebar,
328
+ useTheme: () => useTheme,
329
+ useThemeOptional: () => useThemeOptional
327
330
  });
328
331
  module.exports = __toCommonJS(index_exports);
329
332
 
333
+ // src/components/theme/ThemeProvider.tsx
334
+ var import_react = require("react");
335
+ var import_jsx_runtime = require("react/jsx-runtime");
336
+ var THEME_CLASSES = ["light", "dark", "neon", "glass", "corporate", "vibrant"];
337
+ var STORAGE_KEY = "my3dui-theme";
338
+ var ThemeContext = (0, import_react.createContext)(null);
339
+ function ThemeProvider({
340
+ children,
341
+ defaultTheme = "light",
342
+ storageKey = STORAGE_KEY
343
+ }) {
344
+ const [theme, setThemeState] = (0, import_react.useState)(() => {
345
+ if (typeof window === "undefined") return defaultTheme;
346
+ try {
347
+ const stored = storageKey && localStorage.getItem(storageKey);
348
+ if (stored && THEME_CLASSES.includes(stored)) return stored;
349
+ } catch {
350
+ }
351
+ return defaultTheme;
352
+ });
353
+ const setTheme = (0, import_react.useCallback)(
354
+ (next) => {
355
+ setThemeState(next);
356
+ if (typeof document === "undefined") return;
357
+ const root = document.documentElement;
358
+ THEME_CLASSES.forEach((c) => root.classList.remove(c));
359
+ root.classList.add(next);
360
+ try {
361
+ if (storageKey) localStorage.setItem(storageKey, next);
362
+ } catch {
363
+ }
364
+ },
365
+ [storageKey]
366
+ );
367
+ (0, import_react.useEffect)(() => {
368
+ const root = document.documentElement;
369
+ THEME_CLASSES.forEach((c) => root.classList.remove(c));
370
+ root.classList.add(theme);
371
+ }, [theme]);
372
+ const value = (0, import_react.useMemo)(() => ({ theme, setTheme }), [theme, setTheme]);
373
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeContext.Provider, { value, children });
374
+ }
375
+ function useTheme() {
376
+ const ctx = (0, import_react.useContext)(ThemeContext);
377
+ if (!ctx) {
378
+ throw new Error("useTheme must be used within ThemeProvider");
379
+ }
380
+ return ctx;
381
+ }
382
+ function useThemeOptional() {
383
+ return (0, import_react.useContext)(ThemeContext);
384
+ }
385
+
330
386
  // src/components/layouts/container.tsx
331
- var import_react = __toESM(require("react"), 1);
387
+ var import_react2 = __toESM(require("react"), 1);
332
388
 
333
389
  // src/lib/utils.ts
334
390
  var import_clsx = require("clsx");
@@ -373,7 +429,7 @@ var zIndex = {
373
429
  };
374
430
 
375
431
  // src/components/layouts/container.tsx
376
- var import_jsx_runtime = require("react/jsx-runtime");
432
+ var import_jsx_runtime2 = require("react/jsx-runtime");
377
433
  var sizeToMaxWidth = {
378
434
  sm: "max-w-3xl",
379
435
  md: "max-w-5xl",
@@ -382,7 +438,7 @@ var sizeToMaxWidth = {
382
438
  full: "max-w-full"
383
439
  };
384
440
  var responsivePadding = "px-4 sm:px-6 lg:px-8";
385
- var Container = import_react.default.forwardRef(
441
+ var Container = import_react2.default.forwardRef(
386
442
  ({
387
443
  className,
388
444
  size = "lg",
@@ -396,7 +452,7 @@ var Container = import_react.default.forwardRef(
396
452
  paddingLeft: typeof padding === "number" ? getSpacing(padding) : padding,
397
453
  paddingRight: typeof padding === "number" ? getSpacing(padding) : padding
398
454
  } : void 0;
399
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
455
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
400
456
  "div",
401
457
  {
402
458
  ref,
@@ -415,8 +471,8 @@ var Container = import_react.default.forwardRef(
415
471
  Container.displayName = "Container";
416
472
 
417
473
  // src/components/layouts/grid.tsx
418
- var import_react2 = __toESM(require("react"), 1);
419
- var import_jsx_runtime2 = require("react/jsx-runtime");
474
+ var import_react3 = __toESM(require("react"), 1);
475
+ var import_jsx_runtime3 = require("react/jsx-runtime");
420
476
  var gridColsClasses = {
421
477
  1: "grid-cols-1",
422
478
  2: "grid-cols-2",
@@ -438,13 +494,13 @@ var responsiveGridCols = {
438
494
  xl: { 1: "xl:grid-cols-1", 2: "xl:grid-cols-2", 3: "xl:grid-cols-3", 4: "xl:grid-cols-4", 5: "xl:grid-cols-5", 6: "xl:grid-cols-6", 7: "xl:grid-cols-7", 8: "xl:grid-cols-8", 9: "xl:grid-cols-9", 10: "xl:grid-cols-10", 11: "xl:grid-cols-11", 12: "xl:grid-cols-12" },
439
495
  "2xl": { 1: "2xl:grid-cols-1", 2: "2xl:grid-cols-2", 3: "2xl:grid-cols-3", 4: "2xl:grid-cols-4", 5: "2xl:grid-cols-5", 6: "2xl:grid-cols-6", 7: "2xl:grid-cols-7", 8: "2xl:grid-cols-8", 9: "2xl:grid-cols-9", 10: "2xl:grid-cols-10", 11: "2xl:grid-cols-11", 12: "2xl:grid-cols-12" }
440
496
  };
441
- var Grid = import_react2.default.forwardRef(
497
+ var Grid = import_react3.default.forwardRef(
442
498
  ({ className, cols = 1, gap = 4, minColWidth, style, ...props }, ref) => {
443
499
  const gapValue = typeof gap === "number" ? getSpacing(gap) : gap;
444
500
  if (typeof cols === "number") {
445
501
  const gridTemplateColumns = cols > 12 || minColWidth ? { gridTemplateColumns: minColWidth ?? `repeat(${cols}, minmax(0, 1fr))` } : {};
446
502
  const gridClass = cols >= 1 && cols <= 12 ? gridColsClasses[cols] : "";
447
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
503
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
448
504
  "div",
449
505
  {
450
506
  ref,
@@ -466,7 +522,7 @@ var Grid = import_react2.default.forwardRef(
466
522
  responsiveStyle.gridTemplateColumns = `repeat(${val}, minmax(0, 1fr))`;
467
523
  }
468
524
  });
469
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
525
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
470
526
  "div",
471
527
  {
472
528
  ref,
@@ -480,8 +536,8 @@ var Grid = import_react2.default.forwardRef(
480
536
  Grid.displayName = "Grid";
481
537
 
482
538
  // src/components/layouts/stack.tsx
483
- var import_react3 = __toESM(require("react"), 1);
484
- var import_jsx_runtime3 = require("react/jsx-runtime");
539
+ var import_react4 = __toESM(require("react"), 1);
540
+ var import_jsx_runtime4 = require("react/jsx-runtime");
485
541
  var alignMap = {
486
542
  start: "items-start",
487
543
  center: "items-center",
@@ -497,7 +553,7 @@ var justifyMap = {
497
553
  around: "justify-around",
498
554
  evenly: "justify-evenly"
499
555
  };
500
- var Stack = import_react3.default.forwardRef(
556
+ var Stack = import_react4.default.forwardRef(
501
557
  ({
502
558
  className,
503
559
  direction = "col",
@@ -511,7 +567,7 @@ var Stack = import_react3.default.forwardRef(
511
567
  }, ref) => {
512
568
  const directionClass = direction === "col" ? "flex-col" : direction === "row" ? "flex-row" : direction === "col-reverse" ? "flex-col-reverse" : "flex-row-reverse";
513
569
  const gapValue = typeof gap === "number" ? getSpacing(gap) : gap;
514
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
570
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
515
571
  "div",
516
572
  {
517
573
  ref,
@@ -533,15 +589,15 @@ var Stack = import_react3.default.forwardRef(
533
589
  Stack.displayName = "Stack";
534
590
 
535
591
  // src/components/layouts/section.tsx
536
- var import_react4 = __toESM(require("react"), 1);
537
- var import_jsx_runtime4 = require("react/jsx-runtime");
592
+ var import_react5 = __toESM(require("react"), 1);
593
+ var import_jsx_runtime5 = require("react/jsx-runtime");
538
594
  var backgroundClasses = {
539
595
  default: "bg-background text-foreground",
540
596
  muted: "bg-muted text-muted-foreground",
541
597
  brand: "bg-primary text-primary-foreground",
542
598
  glass: "bg-background/80 backdrop-blur-sm border-y border-border/50"
543
599
  };
544
- var Section = import_react4.default.forwardRef(
600
+ var Section = import_react5.default.forwardRef(
545
601
  ({
546
602
  className,
547
603
  children,
@@ -558,8 +614,8 @@ var Section = import_react4.default.forwardRef(
558
614
  paddingTop: typeof paddingY === "number" ? getSpacing(paddingY) : paddingY,
559
615
  paddingBottom: typeof paddingY === "number" ? getSpacing(paddingY) : paddingY
560
616
  };
561
- const content = fullWidth ? children : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Container, { size: containerSize, children });
562
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
617
+ const content = fullWidth ? children : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Container, { size: containerSize, children });
618
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
563
619
  Component,
564
620
  {
565
621
  ref,
@@ -579,14 +635,14 @@ var Section = import_react4.default.forwardRef(
579
635
  Section.displayName = "Section";
580
636
 
581
637
  // src/components/layouts/page-layout.tsx
582
- var import_react5 = __toESM(require("react"), 1);
583
- var import_jsx_runtime5 = require("react/jsx-runtime");
638
+ var import_react6 = __toESM(require("react"), 1);
639
+ var import_jsx_runtime6 = require("react/jsx-runtime");
584
640
  function getSidebarWidth(w) {
585
641
  if (w === void 0) return "16rem";
586
642
  if (typeof w === "number") return `${w * 0.25}rem`;
587
643
  return w;
588
644
  }
589
- var PageLayout = import_react5.default.forwardRef(
645
+ var PageLayout = import_react6.default.forwardRef(
590
646
  ({
591
647
  className,
592
648
  header,
@@ -600,14 +656,14 @@ var PageLayout = import_react5.default.forwardRef(
600
656
  }, ref) => {
601
657
  const width = getSidebarWidth(sidebarWidth);
602
658
  const minHeightClass = minHeight === "screen" ? "min-h-screen" : minHeight === "full" ? "min-h-full" : "";
603
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
659
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
604
660
  "div",
605
661
  {
606
662
  ref,
607
663
  className: cn("flex flex-col", minHeightClass, className),
608
664
  ...props,
609
665
  children: [
610
- header && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
666
+ header && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
611
667
  "header",
612
668
  {
613
669
  className: "sticky top-0 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",
@@ -615,8 +671,8 @@ var PageLayout = import_react5.default.forwardRef(
615
671
  children: header
616
672
  }
617
673
  ),
618
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex-1 flex min-h-0", children: [
619
- sidebar && sidebarPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
674
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex-1 flex min-h-0", children: [
675
+ sidebar && sidebarPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
620
676
  "aside",
621
677
  {
622
678
  className: "shrink-0 border-r bg-muted/40 p-4",
@@ -624,8 +680,8 @@ var PageLayout = import_react5.default.forwardRef(
624
680
  children: sidebar
625
681
  }
626
682
  ),
627
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("main", { className: "flex-1 min-w-0", children }),
628
- sidebar && sidebarPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
683
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("main", { className: "flex-1 min-w-0", children }),
684
+ sidebar && sidebarPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
629
685
  "aside",
630
686
  {
631
687
  className: "shrink-0 border-l bg-muted/40 p-4",
@@ -634,7 +690,7 @@ var PageLayout = import_react5.default.forwardRef(
634
690
  }
635
691
  )
636
692
  ] }),
637
- footer && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("footer", { className: "border-t bg-muted/40 shrink-0", children: footer })
693
+ footer && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("footer", { className: "border-t bg-muted/40 shrink-0", children: footer })
638
694
  ]
639
695
  }
640
696
  );
@@ -643,9 +699,9 @@ var PageLayout = import_react5.default.forwardRef(
643
699
  PageLayout.displayName = "PageLayout";
644
700
 
645
701
  // src/components/layouts/stage.tsx
646
- var import_react6 = require("react");
702
+ var import_react7 = require("react");
647
703
  var import_drei = require("@react-three/drei");
648
- var import_jsx_runtime6 = require("react/jsx-runtime");
704
+ var import_jsx_runtime7 = require("react/jsx-runtime");
649
705
  function getPresetLights(preset) {
650
706
  switch (preset) {
651
707
  case "portrait":
@@ -678,13 +734,13 @@ function Stage({
678
734
  environment = "city",
679
735
  shadows = true
680
736
  }) {
681
- const lights = (0, import_react6.useMemo)(
737
+ const lights = (0, import_react7.useMemo)(
682
738
  () => getPresetLights(preset),
683
739
  [preset]
684
740
  );
685
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("group", { children: [
686
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ambientLight", { intensity: intensity * 0.5 }),
687
- lights.map((light, i) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
741
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("group", { children: [
742
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ambientLight", { intensity: intensity * 0.5 }),
743
+ lights.map((light, i) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
688
744
  "directionalLight",
689
745
  {
690
746
  position: light.pos,
@@ -695,15 +751,15 @@ function Stage({
695
751
  },
696
752
  i
697
753
  )),
698
- environment && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_drei.Environment, { preset: environment }),
699
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("group", { children })
754
+ environment && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_drei.Environment, { preset: environment }),
755
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("group", { children })
700
756
  ] });
701
757
  }
702
758
 
703
759
  // src/components/layouts/viewport.tsx
704
- var import_react7 = require("react");
760
+ var import_react8 = require("react");
705
761
  var import_fiber = require("@react-three/fiber");
706
- var import_jsx_runtime7 = require("react/jsx-runtime");
762
+ var import_jsx_runtime8 = require("react/jsx-runtime");
707
763
  function Viewport({
708
764
  children,
709
765
  className,
@@ -711,12 +767,12 @@ function Viewport({
711
767
  fallback = null,
712
768
  dpr = [1, 2]
713
769
  }) {
714
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
770
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
715
771
  "div",
716
772
  {
717
773
  className: cn("relative w-full overflow-hidden rounded-xl bg-muted/20", className),
718
774
  style: { aspectRatio: aspect },
719
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react7.Suspense, { fallback, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
775
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react8.Suspense, { fallback, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
720
776
  import_fiber.Canvas,
721
777
  {
722
778
  dpr,
@@ -736,18 +792,18 @@ function Viewport({
736
792
  }
737
793
 
738
794
  // src/components/layouts/container3d.tsx
739
- var import_react8 = require("react");
740
- var import_jsx_runtime8 = require("react/jsx-runtime");
795
+ var import_react9 = require("react");
796
+ var import_jsx_runtime9 = require("react/jsx-runtime");
741
797
  function Container3D({
742
798
  children,
743
799
  direction = "row",
744
800
  gap = 1,
745
801
  align = "center"
746
802
  }) {
747
- const groupRef = (0, import_react8.useRef)(null);
748
- const childArray = import_react8.Children.toArray(children);
803
+ const groupRef = (0, import_react9.useRef)(null);
804
+ const childArray = import_react9.Children.toArray(children);
749
805
  const count2 = childArray.length;
750
- const positions = (0, import_react8.useMemo)(() => {
806
+ const positions = (0, import_react9.useMemo)(() => {
751
807
  const pos = [];
752
808
  const cols = Math.ceil(Math.sqrt(count2));
753
809
  let totalWidth = 0;
@@ -780,20 +836,20 @@ function Container3D({
780
836
  }
781
837
  return pos;
782
838
  }, [count2, direction, gap, align]);
783
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("group", { ref: groupRef, children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("group", { position: positions[index], children: child }, index)) });
839
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("group", { ref: groupRef, children: childArray.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("group", { position: positions[index], children: child }, index)) });
784
840
  }
785
841
 
786
842
  // src/components/layouts/grid3d.tsx
787
- var import_react9 = require("react");
843
+ var import_react10 = require("react");
788
844
  var import_drei2 = require("@react-three/drei");
789
- var import_jsx_runtime9 = require("react/jsx-runtime");
845
+ var import_jsx_runtime10 = require("react/jsx-runtime");
790
846
  function Grid3D({
791
847
  cellSize = 1,
792
848
  cellColor = "#6f6f6f",
793
849
  fadeDistance = 50,
794
850
  infiniteGrid = true
795
851
  }) {
796
- const config = (0, import_react9.useMemo)(() => ({
852
+ const config = (0, import_react10.useMemo)(() => ({
797
853
  cellSize,
798
854
  cellThickness: 0.5,
799
855
  cellColor,
@@ -805,7 +861,7 @@ function Grid3D({
805
861
  followCamera: infiniteGrid,
806
862
  infiniteGrid
807
863
  }), [cellSize, cellColor, fadeDistance, infiniteGrid]);
808
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
864
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
809
865
  import_drei2.Grid,
810
866
  {
811
867
  position: [0, -0.01, 0],
@@ -816,9 +872,9 @@ function Grid3D({
816
872
  }
817
873
 
818
874
  // src/components/layouts/camera-controller.tsx
819
- var import_react10 = require("react");
875
+ var import_react11 = require("react");
820
876
  var import_drei3 = require("@react-three/drei");
821
- var import_jsx_runtime10 = require("react/jsx-runtime");
877
+ var import_jsx_runtime11 = require("react/jsx-runtime");
822
878
  function CameraController({
823
879
  mode = "orbit",
824
880
  damping = 0.05,
@@ -826,10 +882,10 @@ function CameraController({
826
882
  maxDistance = 100,
827
883
  autoRotate = false
828
884
  }) {
829
- const controlsRef = (0, import_react10.useRef)(null);
885
+ const controlsRef = (0, import_react11.useRef)(null);
830
886
  switch (mode) {
831
887
  case "fly":
832
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
888
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
833
889
  import_drei3.FlyControls,
834
890
  {
835
891
  ref: controlsRef,
@@ -838,7 +894,7 @@ function CameraController({
838
894
  }
839
895
  );
840
896
  case "first-person":
841
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
897
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
842
898
  import_drei3.FirstPersonControls,
843
899
  {
844
900
  ref: controlsRef,
@@ -848,7 +904,7 @@ function CameraController({
848
904
  );
849
905
  case "orbit":
850
906
  default:
851
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
907
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
852
908
  import_drei3.OrbitControls,
853
909
  {
854
910
  ref: controlsRef,
@@ -864,7 +920,7 @@ function CameraController({
864
920
  }
865
921
 
866
922
  // src/components/layouts/scene3d.tsx
867
- var import_jsx_runtime11 = require("react/jsx-runtime");
923
+ var import_jsx_runtime12 = require("react/jsx-runtime");
868
924
  function Scene3D({
869
925
  children,
870
926
  className,
@@ -872,21 +928,21 @@ function Scene3D({
872
928
  background = "transparent",
873
929
  fog = false
874
930
  }) {
875
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("group", { children: [
876
- background && background !== "transparent" && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("color", { attach: "background", args: [background] }),
877
- fog && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("fog", { attach: "fog", args: ["#000", 5, 30] }),
878
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ambientLight", { intensity: 0.5 }),
879
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("pointLight", { position: [10, 10, 10], intensity: 1, castShadow: true }),
931
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("group", { children: [
932
+ background && background !== "transparent" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("color", { attach: "background", args: [background] }),
933
+ fog && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("fog", { attach: "fog", args: ["#000", 5, 30] }),
934
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("ambientLight", { intensity: 0.5 }),
935
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("pointLight", { position: [10, 10, 10], intensity: 1, castShadow: true }),
880
936
  children
881
937
  ] });
882
938
  }
883
939
 
884
940
  // src/components/ui/button3d.tsx
885
- var React10 = __toESM(require("react"), 1);
941
+ var React11 = __toESM(require("react"), 1);
886
942
  var import_framer_motion = require("framer-motion");
887
943
  var import_react_slot = require("@radix-ui/react-slot");
888
944
  var import_class_variance_authority = require("class-variance-authority");
889
- var import_jsx_runtime12 = require("react/jsx-runtime");
945
+ var import_jsx_runtime13 = require("react/jsx-runtime");
890
946
  var buttonVariants = (0, import_class_variance_authority.cva)(
891
947
  [
892
948
  "relative inline-flex items-center justify-center gap-2",
@@ -897,29 +953,18 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
897
953
  {
898
954
  variants: {
899
955
  variant: {
900
- /* ===============================
901
- Core System
902
- =============================== */
903
- primary: "bg-indigo-600 text-white border-b-4 border-indigo-800 hover:bg-indigo-500 active:border-b-0 active:translate-y-1 focus-visible:ring-indigo-400",
904
- secondary: "bg-slate-100 text-slate-900 border-b-4 border-slate-300 hover:bg-slate-200 active:border-b-0 active:translate-y-1 dark:bg-slate-800 dark:text-white dark:border-slate-950 focus-visible:ring-slate-400",
905
- accent: "bg-teal-500 text-white border-b-4 border-teal-700 hover:bg-teal-400 active:border-b-0 active:translate-y-1 focus-visible:ring-teal-400",
906
- destructive: "bg-rose-600 text-white border-b-4 border-rose-800 hover:bg-rose-500 active:border-b-0 active:translate-y-1 focus-visible:ring-rose-400",
907
- /* ===============================
908
- Outline / Minimal
909
- =============================== */
910
- outline: "border-2 border-slate-300 text-slate-800 hover:bg-slate-100/70 dark:border-slate-700 dark:text-slate-200 dark:hover:bg-slate-800/60 focus-visible:ring-slate-400",
911
- ghost: "bg-transparent text-slate-700 hover:bg-slate-100/80 dark:text-slate-300 dark:hover:bg-slate-800/70 focus-visible:ring-slate-400",
912
- soft: "bg-indigo-100 text-indigo-800 hover:bg-indigo-200/80 dark:bg-indigo-900/40 dark:text-indigo-200 dark:hover:bg-indigo-900/60 focus-visible:ring-indigo-400",
913
- /* ===============================
914
- Glass / Effects
915
- =============================== */
916
- glass: "bg-white/15 backdrop-blur-xl border border-white/25 text-white shadow-lg hover:bg-white/25 focus-visible:ring-white/50",
917
- gradient: "bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white shadow-md hover:brightness-110 focus-visible:ring-purple-400",
918
- neon: "bg-black text-cyan-300 border border-cyan-400 shadow-[0_0_25px_rgba(34,211,238,0.6)] hover:shadow-[0_0_35px_rgba(34,211,238,0.8)] focus-visible:ring-cyan-400",
919
- /* ===============================
920
- Link
921
- =============================== */
922
- link: "bg-transparent text-indigo-600 p-0 h-auto underline-offset-4 hover:underline dark:text-indigo-400 focus-visible:ring-indigo-400"
956
+ /* Token-based; works across light, dark, neon, glass, corporate, vibrant */
957
+ primary: "bg-primary text-primary-foreground border-b-4 border-primary/80 hover:bg-primary/90 active:border-b-0 active:translate-y-1 focus-visible:ring-ring",
958
+ secondary: "bg-secondary text-secondary-foreground border-b-4 border-border hover:bg-secondary/80 active:border-b-0 active:translate-y-1 focus-visible:ring-ring",
959
+ accent: "bg-accent text-accent-foreground border-b-4 border-accent/80 hover:bg-accent/90 active:border-b-0 active:translate-y-1 focus-visible:ring-ring",
960
+ destructive: "bg-destructive text-destructive-foreground border-b-4 border-destructive/80 hover:bg-destructive/90 active:border-b-0 active:translate-y-1 focus-visible:ring-destructive",
961
+ outline: "border-2 border-border bg-transparent text-foreground hover:bg-muted/70 active:border-b-0 active:translate-y-0 focus-visible:ring-ring",
962
+ ghost: "bg-transparent text-foreground hover:bg-muted/80 active:border-b-0 active:translate-y-0 focus-visible:ring-ring",
963
+ soft: "bg-primary/20 text-foreground border border-border hover:bg-primary/30 active:border-b-0 active:translate-y-1 focus-visible:ring-ring",
964
+ glass: "bg-background/15 backdrop-blur-xl border border-border text-foreground shadow-soft hover:bg-background/25 focus-visible:ring-ring/50",
965
+ gradient: "bg-gradient-to-r from-primary via-accent to-destructive text-primary-foreground border-0 shadow-soft hover:brightness-110 focus-visible:ring-ring",
966
+ neon: "bg-background text-accent border border-accent shadow-glow hover:shadow-glow hover:brightness-110 focus-visible:ring-ring",
967
+ link: "bg-transparent text-primary p-0 h-auto underline-offset-4 hover:underline focus-visible:ring-ring"
923
968
  },
924
969
  /* ===============================
925
970
  Size
@@ -948,7 +993,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
948
993
  }
949
994
  }
950
995
  );
951
- var Button3D = React10.forwardRef(
996
+ var Button3D = React11.forwardRef(
952
997
  ({
953
998
  className,
954
999
  variant,
@@ -971,18 +1016,16 @@ var Button3D = React10.forwardRef(
971
1016
  ...textColor && { color: textColor },
972
1017
  ...borderColor && { borderColor }
973
1018
  };
974
- const glowStyle = glow ? {
975
- boxShadow: `0 0 25px ${bgColor || "rgba(59,130,246,0.6)"}`
976
- } : {};
977
- const content = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
978
- loading && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1019
+ const glowStyle = glow ? { boxShadow: "var(--shadow-glow, 0 0 25px rgb(var(--color-primary) / 0.4))" } : {};
1020
+ const content = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1021
+ loading && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
979
1022
  "svg",
980
1023
  {
981
1024
  className: "h-4 w-4 animate-spin",
982
1025
  viewBox: "0 0 24 24",
983
1026
  fill: "none",
984
1027
  children: [
985
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1028
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
986
1029
  "circle",
987
1030
  {
988
1031
  cx: "12",
@@ -993,7 +1036,7 @@ var Button3D = React10.forwardRef(
993
1036
  className: "opacity-25"
994
1037
  }
995
1038
  ),
996
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1039
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
997
1040
  "path",
998
1041
  {
999
1042
  fill: "currentColor",
@@ -1004,7 +1047,7 @@ var Button3D = React10.forwardRef(
1004
1047
  ]
1005
1048
  }
1006
1049
  ),
1007
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children })
1050
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children })
1008
1051
  ] });
1009
1052
  const classes = cn(
1010
1053
  buttonVariants({ variant, size, rounded }),
@@ -1012,7 +1055,7 @@ var Button3D = React10.forwardRef(
1012
1055
  className
1013
1056
  );
1014
1057
  if (asChild) {
1015
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1058
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1016
1059
  import_react_slot.Slot,
1017
1060
  {
1018
1061
  ref,
@@ -1034,7 +1077,7 @@ var Button3D = React10.forwardRef(
1034
1077
  onAnimationEnd,
1035
1078
  ...safeProps
1036
1079
  } = props;
1037
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1080
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1038
1081
  import_framer_motion.motion.button,
1039
1082
  {
1040
1083
  ref,
@@ -1059,9 +1102,9 @@ var Button3D = React10.forwardRef(
1059
1102
  Button3D.displayName = "Button3D";
1060
1103
 
1061
1104
  // src/components/ui/card3d.tsx
1062
- var import_react11 = require("react");
1105
+ var import_react12 = require("react");
1063
1106
  var import_framer_motion2 = require("framer-motion");
1064
- var import_jsx_runtime13 = require("react/jsx-runtime");
1107
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1065
1108
  function Card3D({
1066
1109
  children,
1067
1110
  className,
@@ -1070,7 +1113,7 @@ function Card3D({
1070
1113
  disableTilt = false,
1071
1114
  ...props
1072
1115
  }) {
1073
- const ref = (0, import_react11.useRef)(null);
1116
+ const ref = (0, import_react12.useRef)(null);
1074
1117
  const x = (0, import_framer_motion2.useMotionValue)(0);
1075
1118
  const y = (0, import_framer_motion2.useMotionValue)(0);
1076
1119
  const mouseX = (0, import_framer_motion2.useSpring)(x, { stiffness: 150, damping: 15 });
@@ -1118,7 +1161,7 @@ function Card3D({
1118
1161
  return 40;
1119
1162
  }
1120
1163
  };
1121
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1122
1165
  import_framer_motion2.motion.div,
1123
1166
  {
1124
1167
  ref,
@@ -1130,7 +1173,7 @@ function Card3D({
1130
1173
  },
1131
1174
  className: cn("relative group cursor-pointer", className),
1132
1175
  ...props,
1133
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1176
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1134
1177
  import_framer_motion2.motion.div,
1135
1178
  {
1136
1179
  style: {
@@ -1143,7 +1186,7 @@ function Card3D({
1143
1186
  getVariantStyles()
1144
1187
  ),
1145
1188
  children: [
1146
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1189
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1147
1190
  "div",
1148
1191
  {
1149
1192
  className: "absolute inset-0 rounded-xl bg-black/10 dark:bg-black/40 blur-xl transition-all duration-300 -z-20",
@@ -1153,8 +1196,8 @@ function Card3D({
1153
1196
  }
1154
1197
  }
1155
1198
  ),
1156
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { style: { transform: "translateZ(20px)" }, children }),
1157
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1199
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { style: { transform: "translateZ(20px)" }, children }),
1200
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1158
1201
  "div",
1159
1202
  {
1160
1203
  className: "absolute inset-0 rounded-xl pointer-events-none bg-gradient-to-tr from-white/0 via-white/10 to-white/0 opacity-0 group-hover:opacity-100 transition-opacity duration-500 will-change-transform",
@@ -1169,10 +1212,10 @@ function Card3D({
1169
1212
  }
1170
1213
 
1171
1214
  // src/components/ui/accordion3d.tsx
1172
- var import_react12 = require("react");
1215
+ var import_react13 = require("react");
1173
1216
  var import_framer_motion3 = require("framer-motion");
1174
1217
  var import_lucide_react = require("lucide-react");
1175
- var import_jsx_runtime14 = require("react/jsx-runtime");
1218
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1176
1219
  var Accordion3D = ({
1177
1220
  items,
1178
1221
  className,
@@ -1180,7 +1223,7 @@ var Accordion3D = ({
1180
1223
  defaultOpenIndex = null,
1181
1224
  allowMultiple = false
1182
1225
  }) => {
1183
- const [openIndexes, setOpenIndexes] = (0, import_react12.useState)(
1226
+ const [openIndexes, setOpenIndexes] = (0, import_react13.useState)(
1184
1227
  defaultOpenIndex !== null ? [defaultOpenIndex] : []
1185
1228
  );
1186
1229
  const toggleItem = (index) => {
@@ -1220,16 +1263,16 @@ var Accordion3D = ({
1220
1263
  return "bg-slate-900/10 dark:bg-black/40";
1221
1264
  }
1222
1265
  };
1223
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("flex flex-col gap-4 w-full max-w-2xl mx-auto", className), children: items.map((item, index) => {
1266
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: cn("flex flex-col gap-4 w-full max-w-2xl mx-auto", className), children: items.map((item, index) => {
1224
1267
  const isOpen = openIndexes.includes(index);
1225
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1268
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1226
1269
  import_framer_motion3.motion.div,
1227
1270
  {
1228
1271
  initial: false,
1229
1272
  animate: isOpen ? "open" : "closed",
1230
1273
  className: "relative group perspective-[1000px] z-0",
1231
1274
  children: [
1232
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1275
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1233
1276
  import_framer_motion3.motion.div,
1234
1277
  {
1235
1278
  className: cn(
@@ -1249,7 +1292,7 @@ var Accordion3D = ({
1249
1292
  transition: { duration: 0.2 }
1250
1293
  }
1251
1294
  ),
1252
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1295
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1253
1296
  import_framer_motion3.motion.div,
1254
1297
  {
1255
1298
  className: cn(
@@ -1267,38 +1310,38 @@ var Accordion3D = ({
1267
1310
  closed: { y: 0 }
1268
1311
  },
1269
1312
  children: [
1270
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1313
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1271
1314
  "button",
1272
1315
  {
1273
1316
  onClick: () => toggleItem(index),
1274
1317
  className: "w-full flex items-center justify-between p-5 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 rounded-xl",
1275
1318
  "aria-expanded": isOpen,
1276
1319
  children: [
1277
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex items-center gap-4", children: [
1278
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1320
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-4", children: [
1321
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1279
1322
  "div",
1280
1323
  {
1281
1324
  className: cn(
1282
1325
  "flex items-center justify-center w-10 h-10 rounded-lg bg-gradient-to-br transition-all duration-500 shadow-inner",
1283
1326
  variant === "neon" ? "from-cyan-500/20 to-blue-600/20 text-cyan-400" : variant === "solid" ? "from-slate-100 to-slate-200 dark:from-slate-800 dark:to-slate-900 text-slate-600 dark:text-slate-300" : "from-white/50 to-white/10 dark:from-white/10 dark:to-white/5 text-slate-700 dark:text-slate-200"
1284
1327
  ),
1285
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: cn("transition-transform duration-300", isOpen ? "scale-110" : "scale-100"), children: item.icon })
1328
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: cn("transition-transform duration-300", isOpen ? "scale-110" : "scale-100"), children: item.icon })
1286
1329
  }
1287
1330
  ),
1288
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col", children: [
1289
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: cn(
1331
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col", children: [
1332
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: cn(
1290
1333
  "text-lg font-semibold tracking-tight transition-colors",
1291
1334
  isOpen ? "opacity-100" : "opacity-80 group-hover:opacity-100"
1292
1335
  ), children: item.title }),
1293
- isOpen && item.value && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "text-xs opacity-60 font-mono", children: item.value })
1336
+ isOpen && item.value && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-xs opacity-60 font-mono", children: item.value })
1294
1337
  ] })
1295
1338
  ] }),
1296
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex items-center gap-3", children: [
1297
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn(
1339
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-3", children: [
1340
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: cn(
1298
1341
  "w-2 h-2 rounded-full transition-all duration-500",
1299
1342
  isOpen ? variant === "neon" ? "bg-cyan-400 shadow-[0_0_10px_#22d3ee]" : "bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.4)]" : "bg-slate-400/30"
1300
1343
  ) }),
1301
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1344
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1302
1345
  import_framer_motion3.motion.div,
1303
1346
  {
1304
1347
  variants: {
@@ -1310,14 +1353,14 @@ var Accordion3D = ({
1310
1353
  "p-1 rounded-full",
1311
1354
  variant === "neon" ? "text-cyan-400" : "text-slate-500 dark:text-slate-400"
1312
1355
  ),
1313
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react.ChevronDown, { className: "w-5 h-5" })
1356
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react.ChevronDown, { className: "w-5 h-5" })
1314
1357
  }
1315
1358
  )
1316
1359
  ] })
1317
1360
  ]
1318
1361
  }
1319
1362
  ),
1320
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_framer_motion3.AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1363
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_framer_motion3.AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1321
1364
  import_framer_motion3.motion.div,
1322
1365
  {
1323
1366
  initial: "collapsed",
@@ -1331,7 +1374,7 @@ var Accordion3D = ({
1331
1374
  duration: 0.4,
1332
1375
  ease: [0.04, 0.62, 0.23, 0.98]
1333
1376
  },
1334
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "px-5 pb-6 pt-0", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1377
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "px-5 pb-6 pt-0", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1335
1378
  import_framer_motion3.motion.div,
1336
1379
  {
1337
1380
  initial: { opacity: 0 },
@@ -1339,15 +1382,15 @@ var Accordion3D = ({
1339
1382
  transition: { delay: 0.1, duration: 0.3 },
1340
1383
  className: "relative",
1341
1384
  children: [
1342
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "h-px w-full bg-gradient-to-r from-transparent via-current to-transparent opacity-10 mb-5" }),
1343
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "text-base sm:text-[15px] opacity-80 leading-relaxed font-normal pl-14", children: item.content })
1385
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "h-px w-full bg-gradient-to-r from-transparent via-current to-transparent opacity-10 mb-5" }),
1386
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "text-base sm:text-[15px] opacity-80 leading-relaxed font-normal pl-14", children: item.content })
1344
1387
  ]
1345
1388
  }
1346
1389
  ) })
1347
1390
  },
1348
1391
  "content"
1349
1392
  ) }),
1350
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1393
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1351
1394
  "div",
1352
1395
  {
1353
1396
  className: "absolute inset-0 pointer-events-none bg-gradient-to-tr from-white/0 via-white/5 to-white/0 opacity-0 group-hover:opacity-100 transition-opacity duration-700",
@@ -1365,10 +1408,10 @@ var Accordion3D = ({
1365
1408
  };
1366
1409
 
1367
1410
  // src/components/ui/badge3d.tsx
1368
- var import_react13 = __toESM(require("react"), 1);
1411
+ var import_react14 = __toESM(require("react"), 1);
1369
1412
  var import_framer_motion4 = require("framer-motion");
1370
- var import_jsx_runtime15 = require("react/jsx-runtime");
1371
- var Badge3D = import_react13.default.forwardRef(
1413
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1414
+ var Badge3D = import_react14.default.forwardRef(
1372
1415
  ({ className, variant = "default", size = "md", pulse = false, children, ...props }, ref) => {
1373
1416
  const variants = {
1374
1417
  default: "bg-primary text-primary-foreground border-b-2 border-primary/80 shadow-sm",
@@ -1383,7 +1426,7 @@ var Badge3D = import_react13.default.forwardRef(
1383
1426
  md: "px-2.5 py-1 text-sm",
1384
1427
  lg: "px-3 py-1.5 text-base"
1385
1428
  };
1386
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1429
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1387
1430
  import_framer_motion4.motion.div,
1388
1431
  {
1389
1432
  ref,
@@ -1405,15 +1448,15 @@ var Badge3D = import_react13.default.forwardRef(
1405
1448
  Badge3D.displayName = "Badge3D";
1406
1449
 
1407
1450
  // src/components/ui/input3d.tsx
1408
- var import_react14 = __toESM(require("react"), 1);
1451
+ var import_react15 = __toESM(require("react"), 1);
1409
1452
  var import_framer_motion5 = require("framer-motion");
1410
- var import_jsx_runtime16 = require("react/jsx-runtime");
1411
- var Input3D = import_react14.default.forwardRef(
1453
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1454
+ var Input3D = import_react15.default.forwardRef(
1412
1455
  ({ className, label, error, icon, type = "text", ...props }, ref) => {
1413
- const [isFocused, setIsFocused] = (0, import_react14.useState)(false);
1414
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "w-full space-y-2", children: [
1415
- label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { className: "text-sm font-medium text-foreground", children: label }),
1416
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1456
+ const [isFocused, setIsFocused] = (0, import_react15.useState)(false);
1457
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "w-full space-y-2", children: [
1458
+ label && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { className: "text-sm font-medium text-foreground", children: label }),
1459
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1417
1460
  import_framer_motion5.motion.div,
1418
1461
  {
1419
1462
  animate: {
@@ -1422,8 +1465,8 @@ var Input3D = import_react14.default.forwardRef(
1422
1465
  transition: { type: "spring", stiffness: 300, damping: 20 },
1423
1466
  className: "relative",
1424
1467
  children: [
1425
- icon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: icon }),
1426
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1468
+ icon && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: icon }),
1469
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1427
1470
  "input",
1428
1471
  {
1429
1472
  ref,
@@ -1448,16 +1491,16 @@ var Input3D = import_react14.default.forwardRef(
1448
1491
  ]
1449
1492
  }
1450
1493
  ),
1451
- error && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-sm text-red-500", children: error })
1494
+ error && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-sm text-red-500", children: error })
1452
1495
  ] });
1453
1496
  }
1454
1497
  );
1455
1498
  Input3D.displayName = "Input3D";
1456
1499
 
1457
1500
  // src/components/ui/slider3d.tsx
1458
- var import_react15 = require("react");
1501
+ var import_react16 = require("react");
1459
1502
  var import_framer_motion6 = require("framer-motion");
1460
- var import_jsx_runtime17 = require("react/jsx-runtime");
1503
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1461
1504
  function Slider3D({
1462
1505
  value: controlledValue,
1463
1506
  defaultValue = 50,
@@ -1470,7 +1513,7 @@ function Slider3D({
1470
1513
  className,
1471
1514
  disabled = false
1472
1515
  }) {
1473
- const [internalValue, setInternalValue] = (0, import_react15.useState)(defaultValue);
1516
+ const [internalValue, setInternalValue] = (0, import_react16.useState)(defaultValue);
1474
1517
  const isControlled = controlledValue !== void 0;
1475
1518
  const value = isControlled ? controlledValue : internalValue;
1476
1519
  const handleChange = (e) => {
@@ -1479,14 +1522,14 @@ function Slider3D({
1479
1522
  onChange?.(newValue);
1480
1523
  };
1481
1524
  const percentage = (value - min) / (max - min) * 100;
1482
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: cn("w-full space-y-2", className), children: [
1483
- (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
1484
- label && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { className: "text-sm font-medium", children: label }),
1485
- showValue && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text-sm font-mono text-muted-foreground", children: value })
1525
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: cn("w-full space-y-2", className), children: [
1526
+ (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center justify-between", children: [
1527
+ label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("label", { className: "text-sm font-medium", children: label }),
1528
+ showValue && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-sm font-mono text-muted-foreground", children: value })
1486
1529
  ] }),
1487
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
1488
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "h-3 w-full rounded-full bg-slate-200 dark:bg-slate-800 border-b-2 border-slate-300 dark:border-slate-900 shadow-inner" }),
1489
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1530
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative", children: [
1531
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-3 w-full rounded-full bg-slate-200 dark:bg-slate-800 border-b-2 border-slate-300 dark:border-slate-900 shadow-inner" }),
1532
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1490
1533
  import_framer_motion6.motion.div,
1491
1534
  {
1492
1535
  className: "absolute top-0 left-0 h-3 rounded-full bg-primary border-b-2 border-primary/80",
@@ -1496,7 +1539,7 @@ function Slider3D({
1496
1539
  transition: { type: "spring", stiffness: 300, damping: 30 }
1497
1540
  }
1498
1541
  ),
1499
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1542
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1500
1543
  "input",
1501
1544
  {
1502
1545
  type: "range",
@@ -1509,7 +1552,7 @@ function Slider3D({
1509
1552
  className: "absolute top-0 left-0 w-full h-3 opacity-0 cursor-pointer disabled:cursor-not-allowed"
1510
1553
  }
1511
1554
  ),
1512
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1555
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1513
1556
  import_framer_motion6.motion.div,
1514
1557
  {
1515
1558
  className: cn(
@@ -1526,9 +1569,9 @@ function Slider3D({
1526
1569
  }
1527
1570
 
1528
1571
  // src/components/ui/tabs3d.tsx
1529
- var import_react16 = require("react");
1572
+ var import_react17 = require("react");
1530
1573
  var import_framer_motion7 = require("framer-motion");
1531
- var import_jsx_runtime18 = require("react/jsx-runtime");
1574
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1532
1575
  function Tabs3D({
1533
1576
  tabs,
1534
1577
  defaultValue,
@@ -1537,7 +1580,7 @@ function Tabs3D({
1537
1580
  className,
1538
1581
  variant = "default"
1539
1582
  }) {
1540
- const [internalValue, setInternalValue] = (0, import_react16.useState)(defaultValue || tabs[0]?.value);
1583
+ const [internalValue, setInternalValue] = (0, import_react17.useState)(defaultValue || tabs[0]?.value);
1541
1584
  const isControlled = controlledValue !== void 0;
1542
1585
  const activeValue = isControlled ? controlledValue : internalValue;
1543
1586
  const handleTabChange = (value) => {
@@ -1546,8 +1589,8 @@ function Tabs3D({
1546
1589
  };
1547
1590
  const activeTab = tabs.find((tab) => tab.value === activeValue);
1548
1591
  const activeIndex = tabs.findIndex((tab) => tab.value === activeValue);
1549
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: cn("w-full", className), children: [
1550
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1592
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cn("w-full", className), children: [
1593
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1551
1594
  "div",
1552
1595
  {
1553
1596
  className: cn(
@@ -1558,7 +1601,7 @@ function Tabs3D({
1558
1601
  ),
1559
1602
  children: tabs.map((tab, index) => {
1560
1603
  const isActive = tab.value === activeValue;
1561
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1604
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1562
1605
  "button",
1563
1606
  {
1564
1607
  onClick: () => handleTabChange(tab.value),
@@ -1577,11 +1620,11 @@ function Tabs3D({
1577
1620
  ]
1578
1621
  ),
1579
1622
  children: [
1580
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: "flex items-center gap-2", children: [
1623
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "flex items-center gap-2", children: [
1581
1624
  tab.icon,
1582
1625
  tab.label
1583
1626
  ] }),
1584
- isActive && variant === "default" && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1627
+ isActive && variant === "default" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1585
1628
  import_framer_motion7.motion.div,
1586
1629
  {
1587
1630
  layoutId: "activeTab",
@@ -1596,7 +1639,7 @@ function Tabs3D({
1596
1639
  })
1597
1640
  }
1598
1641
  ),
1599
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_framer_motion7.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1642
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_framer_motion7.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1600
1643
  import_framer_motion7.motion.div,
1601
1644
  {
1602
1645
  initial: { opacity: 0, y: 10 },
@@ -1611,59 +1654,76 @@ function Tabs3D({
1611
1654
  }
1612
1655
 
1613
1656
  // src/components/ui/toggle3d.tsx
1614
- var import_react17 = require("react");
1657
+ var import_react18 = require("react");
1615
1658
  var import_framer_motion8 = require("framer-motion");
1616
- var import_jsx_runtime19 = require("react/jsx-runtime");
1617
- function Toggle3D({
1618
- checked: controlledChecked,
1619
- defaultChecked = false,
1620
- onChange,
1621
- disabled = false,
1622
- variant = "pill",
1623
- label
1624
- }) {
1625
- const [internalChecked, setInternalChecked] = (0, import_react17.useState)(defaultChecked);
1626
- const isControlled = controlledChecked !== void 0;
1627
- const isChecked = isControlled ? controlledChecked : internalChecked;
1628
- const handleToggle = () => {
1629
- if (disabled) return;
1630
- const newChecked = !isChecked;
1631
- if (!isControlled) setInternalChecked(newChecked);
1632
- onChange?.(newChecked);
1633
- };
1634
- const getVariantStyles = () => {
1635
- switch (variant) {
1636
- case "neon":
1637
- return isChecked ? "bg-slate-900 border border-cyan-500/50 shadow-[0_0_15px_rgba(6,182,212,0.4)]" : "bg-slate-900 border border-slate-700";
1638
- case "glass":
1639
- return "bg-white/20 backdrop-blur-md border border-white/30 shadow-inner";
1640
- case "pill":
1641
- default:
1642
- return isChecked ? "bg-primary shadow-inner" : "bg-slate-200 dark:bg-slate-700 shadow-inner";
1643
- }
1644
- };
1645
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-3", children: [
1646
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1647
- "button",
1648
- {
1649
- onClick: handleToggle,
1650
- className: cn(
1651
- "relative h-8 w-14 rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1652
- disabled && "opacity-50 cursor-not-allowed",
1653
- getVariantStyles()
1654
- ),
1655
- role: "switch",
1656
- "aria-checked": isChecked,
1657
- children: [
1658
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1659
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1660
+ var Toggle3D = (0, import_react18.forwardRef)(
1661
+ ({
1662
+ checked: controlledChecked,
1663
+ defaultChecked = false,
1664
+ onChange,
1665
+ disabled = false,
1666
+ variant = "pill",
1667
+ label
1668
+ }, ref) => {
1669
+ const [internalChecked, setInternalChecked] = (0, import_react18.useState)(defaultChecked);
1670
+ const isControlled = controlledChecked !== void 0;
1671
+ const isChecked = isControlled ? controlledChecked : internalChecked;
1672
+ const handleToggle = () => {
1673
+ if (disabled) return;
1674
+ const newChecked = !isChecked;
1675
+ if (!isControlled) {
1676
+ setInternalChecked(newChecked);
1677
+ }
1678
+ onChange?.(newChecked);
1679
+ };
1680
+ const getVariantStyles = () => {
1681
+ switch (variant) {
1682
+ case "neon":
1683
+ return isChecked ? "bg-black border border-cyan-400 shadow-[0_0_15px_rgba(34,211,238,0.4)]" : "bg-black border border-slate-700";
1684
+ case "glass":
1685
+ return "bg-white/20 backdrop-blur-md border border-white/30";
1686
+ case "pill":
1687
+ default:
1688
+ return isChecked ? "bg-primary" : "bg-muted";
1689
+ }
1690
+ };
1691
+ const toggleWidth = 56;
1692
+ const knobSize = 24;
1693
+ const padding = 4;
1694
+ const travel = toggleWidth - knobSize - padding * 2;
1695
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-3", children: [
1696
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1697
+ "button",
1698
+ {
1699
+ ref,
1700
+ type: "button",
1701
+ role: "switch",
1702
+ "aria-checked": isChecked,
1703
+ "aria-disabled": disabled,
1704
+ disabled,
1705
+ onClick: handleToggle,
1706
+ onKeyDown: (e) => {
1707
+ if (e.key === "Enter" || e.key === " ") {
1708
+ e.preventDefault();
1709
+ handleToggle();
1710
+ }
1711
+ },
1712
+ className: cn(
1713
+ "relative h-8 w-14 rounded-full transition-colors",
1714
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
1715
+ disabled && "opacity-50 cursor-not-allowed",
1716
+ getVariantStyles()
1717
+ ),
1718
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1659
1719
  import_framer_motion8.motion.div,
1660
1720
  {
1661
1721
  className: cn(
1662
- "absolute top-1 left-1 h-6 w-6 rounded-full shadow-md z-10",
1722
+ "absolute top-1 left-1 h-6 w-6 rounded-full shadow-md",
1663
1723
  variant === "neon" && isChecked ? "bg-cyan-400 shadow-[0_0_10px_#22d3ee]" : "bg-white"
1664
1724
  ),
1665
1725
  animate: {
1666
- x: isChecked ? 24 : 0,
1726
+ x: isChecked ? travel : 0,
1667
1727
  scale: disabled ? 0.9 : 1
1668
1728
  },
1669
1729
  transition: {
@@ -1672,28 +1732,20 @@ function Toggle3D({
1672
1732
  damping: 30
1673
1733
  }
1674
1734
  }
1675
- ),
1676
- variant !== "neon" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1677
- "div",
1678
- {
1679
- className: cn(
1680
- "absolute inset-0 rounded-full border-b-[3px] border-black/5 pointer-events-none",
1681
- isChecked ? "border-black/10" : "border-black/5"
1682
- )
1683
- }
1684
1735
  )
1685
- ]
1686
- }
1687
- ),
1688
- label && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-sm font-medium", children: label })
1689
- ] });
1690
- }
1736
+ }
1737
+ ),
1738
+ label && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm font-medium", children: label })
1739
+ ] });
1740
+ }
1741
+ );
1742
+ Toggle3D.displayName = "Toggle3D";
1691
1743
 
1692
1744
  // src/components/ui/modal3d.tsx
1693
1745
  var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
1694
1746
  var import_lucide_react2 = require("lucide-react");
1695
1747
  var import_framer_motion9 = require("framer-motion");
1696
- var import_jsx_runtime20 = require("react/jsx-runtime");
1748
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1697
1749
  function Modal3D({
1698
1750
  open,
1699
1751
  onOpenChange,
@@ -1703,10 +1755,10 @@ function Modal3D({
1703
1755
  description,
1704
1756
  className
1705
1757
  }) {
1706
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DialogPrimitive.Root, { open, onOpenChange, children: [
1707
- trigger && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPrimitive.Trigger, { asChild: true, children: trigger }),
1708
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_framer_motion9.AnimatePresence, { children: open ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DialogPrimitive.Portal, { forceMount: true, children: [
1709
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPrimitive.Overlay, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1758
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPrimitive.Root, { open, onOpenChange, children: [
1759
+ trigger && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive.Trigger, { asChild: true, children: trigger }),
1760
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_framer_motion9.AnimatePresence, { children: open ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPrimitive.Portal, { forceMount: true, children: [
1761
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive.Overlay, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1710
1762
  import_framer_motion9.motion.div,
1711
1763
  {
1712
1764
  initial: { opacity: 0 },
@@ -1715,7 +1767,7 @@ function Modal3D({
1715
1767
  className: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm"
1716
1768
  }
1717
1769
  ) }),
1718
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPrimitive.Content, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1770
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive.Content, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1719
1771
  import_framer_motion9.motion.div,
1720
1772
  {
1721
1773
  initial: { opacity: 0, scale: 0.95, y: 10 },
@@ -1728,14 +1780,14 @@ function Modal3D({
1728
1780
  className
1729
1781
  ),
1730
1782
  children: [
1731
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col space-y-1.5 text-center sm:text-left", children: [
1732
- title && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPrimitive.Title, { className: "text-lg font-semibold leading-none tracking-tight", children: title }),
1733
- description && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogPrimitive.Description, { className: "text-sm text-muted-foreground", children: description })
1783
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-col space-y-1.5 text-center sm:text-left", children: [
1784
+ title && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive.Title, { className: "text-lg font-semibold leading-none tracking-tight", children: title }),
1785
+ description && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogPrimitive.Description, { className: "text-sm text-muted-foreground", children: description })
1734
1786
  ] }),
1735
1787
  children,
1736
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1737
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react2.X, { className: "h-4 w-4" }),
1738
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "sr-only", children: "Close" })
1788
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1789
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react2.X, { className: "h-4 w-4" }),
1790
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sr-only", children: "Close" })
1739
1791
  ] })
1740
1792
  ]
1741
1793
  }
@@ -1745,9 +1797,9 @@ function Modal3D({
1745
1797
  }
1746
1798
 
1747
1799
  // src/components/ui/menu3d.tsx
1748
- var React18 = __toESM(require("react"), 1);
1800
+ var React19 = __toESM(require("react"), 1);
1749
1801
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
1750
- var import_jsx_runtime21 = require("react/jsx-runtime");
1802
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1751
1803
  function Menu3D({
1752
1804
  trigger,
1753
1805
  align = "end",
@@ -1761,9 +1813,9 @@ function Menu3D({
1761
1813
  );
1762
1814
  }
1763
1815
  }
1764
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DropdownMenuPrimitive.Root, { children: [
1765
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Trigger, { asChild: true, children: trigger }),
1766
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1816
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DropdownMenuPrimitive.Root, { children: [
1817
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.Trigger, { asChild: true, children: trigger }),
1818
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1767
1819
  DropdownMenuPrimitive.Content,
1768
1820
  {
1769
1821
  align,
@@ -1778,7 +1830,7 @@ function Menu3D({
1778
1830
  "data-[side=left]:slide-in-from-right-2",
1779
1831
  "data-[side=right]:slide-in-from-left-2"
1780
1832
  ),
1781
- children: items?.length ? items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1833
+ children: items?.length ? items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1782
1834
  DropdownMenuPrimitive.Item,
1783
1835
  {
1784
1836
  disabled: item.disabled,
@@ -1792,8 +1844,8 @@ function Menu3D({
1792
1844
  item.danger && "text-red-500"
1793
1845
  ),
1794
1846
  children: [
1795
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-muted-foreground", children: item.icon }),
1796
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: item.label })
1847
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "text-muted-foreground", children: item.icon }),
1848
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: item.label })
1797
1849
  ]
1798
1850
  },
1799
1851
  i
@@ -1802,7 +1854,7 @@ function Menu3D({
1802
1854
  ) })
1803
1855
  ] });
1804
1856
  }
1805
- var Menu3DItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1857
+ var Menu3DItem = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1806
1858
  DropdownMenuPrimitive.Item,
1807
1859
  {
1808
1860
  ref,
@@ -1818,7 +1870,7 @@ var Menu3DItem = React18.forwardRef(({ className, inset, ...props }, ref) => /*
1818
1870
  }
1819
1871
  ));
1820
1872
  Menu3DItem.displayName = DropdownMenuPrimitive.Item.displayName;
1821
- var Menu3DLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1873
+ var Menu3DLabel = React19.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1822
1874
  DropdownMenuPrimitive.Label,
1823
1875
  {
1824
1876
  ref,
@@ -1831,7 +1883,7 @@ var Menu3DLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /*
1831
1883
  }
1832
1884
  ));
1833
1885
  Menu3DLabel.displayName = DropdownMenuPrimitive.Label.displayName;
1834
- var Menu3DSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1886
+ var Menu3DSeparator = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1835
1887
  DropdownMenuPrimitive.Separator,
1836
1888
  {
1837
1889
  ref,
@@ -1846,7 +1898,7 @@ Menu3DSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
1846
1898
 
1847
1899
  // src/components/ui/tooltip3d.tsx
1848
1900
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
1849
- var import_jsx_runtime22 = require("react/jsx-runtime");
1901
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1850
1902
  function Tooltip3D({
1851
1903
  content,
1852
1904
  children,
@@ -1854,9 +1906,9 @@ function Tooltip3D({
1854
1906
  align = "center",
1855
1907
  delayDuration = 200
1856
1908
  }) {
1857
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(TooltipPrimitive.Provider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(TooltipPrimitive.Root, { children: [
1858
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(TooltipPrimitive.Trigger, { asChild: true, children }),
1859
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1909
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TooltipPrimitive.Provider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(TooltipPrimitive.Root, { children: [
1910
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TooltipPrimitive.Trigger, { asChild: true, children }),
1911
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1860
1912
  TooltipPrimitive.Content,
1861
1913
  {
1862
1914
  side,
@@ -1867,7 +1919,7 @@ function Tooltip3D({
1867
1919
  ),
1868
1920
  children: [
1869
1921
  content,
1870
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(TooltipPrimitive.Arrow, { className: "fill-slate-900 dark:fill-slate-100" })
1922
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TooltipPrimitive.Arrow, { className: "fill-slate-900 dark:fill-slate-100" })
1871
1923
  ]
1872
1924
  }
1873
1925
  )
@@ -1876,7 +1928,7 @@ function Tooltip3D({
1876
1928
 
1877
1929
  // src/components/ui/progress3d.tsx
1878
1930
  var import_framer_motion10 = require("framer-motion");
1879
- var import_jsx_runtime23 = require("react/jsx-runtime");
1931
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1880
1932
  function Progress3D({
1881
1933
  value,
1882
1934
  max = 100,
@@ -1899,22 +1951,22 @@ function Progress3D({
1899
1951
  md: "h-3",
1900
1952
  lg: "h-4"
1901
1953
  };
1902
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: cn("w-full space-y-2", className), children: [
1903
- (label || showLabel) && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
1904
- label && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "font-medium", children: label }),
1905
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: "text-muted-foreground font-mono", children: [
1954
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cn("w-full space-y-2", className), children: [
1955
+ (label || showLabel) && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
1956
+ label && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "font-medium", children: label }),
1957
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "text-muted-foreground font-mono", children: [
1906
1958
  Math.round(percentage),
1907
1959
  "%"
1908
1960
  ] })
1909
1961
  ] }),
1910
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1962
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1911
1963
  "div",
1912
1964
  {
1913
1965
  className: cn(
1914
1966
  "w-full rounded-full bg-slate-200 dark:bg-slate-800 overflow-hidden shadow-inner border-b-2 border-slate-300 dark:border-slate-900",
1915
1967
  sizes[size]
1916
1968
  ),
1917
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1969
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1918
1970
  import_framer_motion10.motion.div,
1919
1971
  {
1920
1972
  className: cn(
@@ -1938,8 +1990,8 @@ function Progress3D({
1938
1990
  // src/components/ui/resizable.tsx
1939
1991
  var import_lucide_react3 = require("lucide-react");
1940
1992
  var ResizablePrimitive = __toESM(require("react-resizable-panels"), 1);
1941
- var import_jsx_runtime24 = require("react/jsx-runtime");
1942
- var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1993
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1994
+ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1943
1995
  ResizablePrimitive.PanelGroup,
1944
1996
  {
1945
1997
  className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
@@ -1951,7 +2003,7 @@ var ResizableHandle = ({
1951
2003
  withHandle,
1952
2004
  className,
1953
2005
  ...props
1954
- }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
2006
+ }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1955
2007
  ResizablePrimitive.PanelResizeHandle,
1956
2008
  {
1957
2009
  className: cn(
@@ -1959,20 +2011,20 @@ var ResizableHandle = ({
1959
2011
  className
1960
2012
  ),
1961
2013
  ...props,
1962
- children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react3.GripVertical, { className: "h-2.5 w-2.5" }) })
2014
+ children: withHandle && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react3.GripVertical, { className: "h-2.5 w-2.5" }) })
1963
2015
  }
1964
2016
  );
1965
2017
 
1966
2018
  // src/components/ui/select3d.tsx
1967
2019
  var import_drei4 = require("@react-three/drei");
1968
- var import_jsx_runtime25 = require("react/jsx-runtime");
2020
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1969
2021
  function Select3D({
1970
2022
  options,
1971
2023
  value,
1972
2024
  onChange,
1973
2025
  width = 200
1974
2026
  }) {
1975
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_drei4.Html, { transform: true, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2027
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_drei4.Html, { transform: true, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1976
2028
  "select",
1977
2029
  {
1978
2030
  className: cn(
@@ -1981,21 +2033,21 @@ function Select3D({
1981
2033
  style: { width },
1982
2034
  value,
1983
2035
  onChange: (e) => onChange?.(e.target.value),
1984
- children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("option", { value: opt.value, children: opt.label }, opt.value))
2036
+ children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("option", { value: opt.value, children: opt.label }, opt.value))
1985
2037
  }
1986
2038
  ) });
1987
2039
  }
1988
2040
 
1989
2041
  // src/components/ui/spinner3d.tsx
1990
- var import_react18 = require("react");
2042
+ var import_react19 = require("react");
1991
2043
  var import_fiber2 = require("@react-three/fiber");
1992
- var import_jsx_runtime26 = require("react/jsx-runtime");
2044
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1993
2045
  function Spinner3D({
1994
2046
  size = "md",
1995
2047
  color = "#22d3ee",
1996
2048
  speed = 1
1997
2049
  }) {
1998
- const ref = (0, import_react18.useRef)(null);
2050
+ const ref = (0, import_react19.useRef)(null);
1999
2051
  const scale = size === "sm" ? 0.5 : size === "lg" ? 1.5 : 1;
2000
2052
  (0, import_fiber2.useFrame)((state, delta) => {
2001
2053
  if (ref.current) {
@@ -2003,14 +2055,14 @@ function Spinner3D({
2003
2055
  ref.current.rotation.x -= delta * speed * 1;
2004
2056
  }
2005
2057
  });
2006
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("group", { ref, scale: [scale, scale, scale], children: [
2007
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("mesh", { rotation: [Math.PI / 4, 0, 0], children: [
2008
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("torusGeometry", { args: [0.5, 0.05, 16, 32] }),
2009
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("meshStandardMaterial", { color, emissive: color })
2058
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("group", { ref, scale: [scale, scale, scale], children: [
2059
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("mesh", { rotation: [Math.PI / 4, 0, 0], children: [
2060
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("torusGeometry", { args: [0.5, 0.05, 16, 32] }),
2061
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("meshStandardMaterial", { color, emissive: color })
2010
2062
  ] }),
2011
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("mesh", { rotation: [-Math.PI / 4, 0, 0], children: [
2012
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("torusGeometry", { args: [0.4, 0.05, 16, 32] }),
2013
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("meshStandardMaterial", { color })
2063
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("mesh", { rotation: [-Math.PI / 4, 0, 0], children: [
2064
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("torusGeometry", { args: [0.4, 0.05, 16, 32] }),
2065
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("meshStandardMaterial", { color })
2014
2066
  ] })
2015
2067
  ] });
2016
2068
  }
@@ -2018,15 +2070,15 @@ function Spinner3D({
2018
2070
  // src/components/ui/stepper3d.tsx
2019
2071
  var import_drei5 = require("@react-three/drei");
2020
2072
  var import_three = require("three");
2021
- var import_jsx_runtime27 = require("react/jsx-runtime");
2073
+ var import_jsx_runtime28 = require("react/jsx-runtime");
2022
2074
  function Stepper3D({
2023
2075
  steps,
2024
2076
  activeStep = 0,
2025
2077
  gap = 2
2026
2078
  }) {
2027
2079
  const points = steps.map((_, i) => new import_three.Vector3((i - (steps.length - 1) / 2) * gap, 0, 0));
2028
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("group", { children: [
2029
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2080
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("group", { children: [
2081
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2030
2082
  import_drei5.Line,
2031
2083
  {
2032
2084
  points,
@@ -2034,7 +2086,7 @@ function Stepper3D({
2034
2086
  lineWidth: 2
2035
2087
  }
2036
2088
  ),
2037
- activeStep > 0 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2089
+ activeStep > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2038
2090
  import_drei5.Line,
2039
2091
  {
2040
2092
  points: points.slice(0, activeStep + 1),
@@ -2042,12 +2094,12 @@ function Stepper3D({
2042
2094
  lineWidth: 4
2043
2095
  }
2044
2096
  ),
2045
- steps.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("group", { position: points[i], children: [
2046
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("mesh", { children: [
2047
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("sphereGeometry", { args: [0.3, 32, 32] }),
2048
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("meshStandardMaterial", { color: i <= activeStep ? "#22d3ee" : "#333" })
2097
+ steps.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("group", { position: points[i], children: [
2098
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("mesh", { children: [
2099
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("sphereGeometry", { args: [0.3, 32, 32] }),
2100
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("meshStandardMaterial", { color: i <= activeStep ? "#22d3ee" : "#333" })
2049
2101
  ] }),
2050
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2102
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2051
2103
  import_drei5.Text,
2052
2104
  {
2053
2105
  position: [0, -0.6, 0],
@@ -2063,38 +2115,38 @@ function Stepper3D({
2063
2115
  }
2064
2116
 
2065
2117
  // src/components/ui/navbar3d.tsx
2066
- var import_react19 = require("react");
2118
+ var import_react20 = require("react");
2067
2119
  var import_drei6 = require("@react-three/drei");
2068
- var import_jsx_runtime28 = require("react/jsx-runtime");
2120
+ var import_jsx_runtime29 = require("react/jsx-runtime");
2069
2121
  function NavBar3D({ items, activeHref = "/" }) {
2070
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("group", { position: [0, -2, 0], children: [
2071
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("mesh", { position: [0, 0, -0.1], children: [
2072
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("boxGeometry", { args: [items.length * 2, 1, 0.2] }),
2073
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("meshStandardMaterial", { color: "#1a1a1a", transparent: true, opacity: 0.8 })
2122
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("group", { position: [0, -2, 0], children: [
2123
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("mesh", { position: [0, 0, -0.1], children: [
2124
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("boxGeometry", { args: [items.length * 2, 1, 0.2] }),
2125
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("meshStandardMaterial", { color: "#1a1a1a", transparent: true, opacity: 0.8 })
2074
2126
  ] }),
2075
2127
  items.map((item, i) => {
2076
2128
  const x = (i - (items.length - 1) / 2) * 2;
2077
2129
  const isActive = activeHref === item.href;
2078
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(NavBarItemMesh, { item, x, isActive }, i);
2130
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(NavBarItemMesh, { item, x, isActive }, i);
2079
2131
  })
2080
2132
  ] });
2081
2133
  }
2082
2134
  function NavBarItemMesh({ item, x, isActive }) {
2083
- const [hovered, setHover] = (0, import_react19.useState)(false);
2084
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("group", { position: [x, 0, 0], children: [
2085
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
2135
+ const [hovered, setHover] = (0, import_react20.useState)(false);
2136
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("group", { position: [x, 0, 0], children: [
2137
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
2086
2138
  "mesh",
2087
2139
  {
2088
2140
  onPointerOver: () => setHover(true),
2089
2141
  onPointerOut: () => setHover(false),
2090
2142
  onClick: () => window.location.href = item.href,
2091
2143
  children: [
2092
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("planeGeometry", { args: [1.8, 0.8] }),
2093
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("meshStandardMaterial", { color: isActive ? "#22d3ee" : hovered ? "#333" : "transparent", transparent: true, opacity: isActive ? 0.3 : hovered ? 0.5 : 0 })
2144
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("planeGeometry", { args: [1.8, 0.8] }),
2145
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("meshStandardMaterial", { color: isActive ? "#22d3ee" : hovered ? "#333" : "transparent", transparent: true, opacity: isActive ? 0.3 : hovered ? 0.5 : 0 })
2094
2146
  ]
2095
2147
  }
2096
2148
  ),
2097
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2149
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2098
2150
  import_drei6.Text,
2099
2151
  {
2100
2152
  fontSize: 0.2,
@@ -2110,7 +2162,7 @@ function NavBarItemMesh({ item, x, isActive }) {
2110
2162
  // src/components/ui/timeline3d.tsx
2111
2163
  var import_drei7 = require("@react-three/drei");
2112
2164
  var import_three2 = require("three");
2113
- var import_jsx_runtime29 = require("react/jsx-runtime");
2165
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2114
2166
  function Timeline3D({
2115
2167
  events,
2116
2168
  orientation = "horizontal",
@@ -2119,15 +2171,15 @@ function Timeline3D({
2119
2171
  const points = events.map((_, i) => {
2120
2172
  return orientation === "horizontal" ? new import_three2.Vector3((i - (events.length - 1) / 2) * gap, 0, 0) : new import_three2.Vector3(0, (i - (events.length - 1) / 2) * -gap, 0);
2121
2173
  });
2122
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("group", { children: [
2123
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_drei7.Line, { points, color: "#555", lineWidth: 1 }),
2124
- events.map((ev, i) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("group", { position: points[i], children: [
2125
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("mesh", { children: [
2126
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("sphereGeometry", { args: [0.2, 16, 16] }),
2127
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("meshStandardMaterial", { color: "#22d3ee" })
2174
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("group", { children: [
2175
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_drei7.Line, { points, color: "#555", lineWidth: 1 }),
2176
+ events.map((ev, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("group", { position: points[i], children: [
2177
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("mesh", { children: [
2178
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("sphereGeometry", { args: [0.2, 16, 16] }),
2179
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("meshStandardMaterial", { color: "#22d3ee" })
2128
2180
  ] }),
2129
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("group", { position: [0, 0.5, 0], children: [
2130
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2181
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("group", { position: [0, 0.5, 0], children: [
2182
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2131
2183
  import_drei7.Text,
2132
2184
  {
2133
2185
  fontSize: 0.3,
@@ -2136,7 +2188,7 @@ function Timeline3D({
2136
2188
  children: ev.date
2137
2189
  }
2138
2190
  ),
2139
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2191
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2140
2192
  import_drei7.Text,
2141
2193
  {
2142
2194
  position: [0, -0.3, 0],
@@ -2152,13 +2204,13 @@ function Timeline3D({
2152
2204
  }
2153
2205
 
2154
2206
  // src/components/ui/tooltip.tsx
2155
- var React21 = __toESM(require("react"), 1);
2207
+ var React22 = __toESM(require("react"), 1);
2156
2208
  var TooltipPrimitive2 = __toESM(require("@radix-ui/react-tooltip"), 1);
2157
- var import_jsx_runtime30 = require("react/jsx-runtime");
2209
+ var import_jsx_runtime31 = require("react/jsx-runtime");
2158
2210
  var TooltipProvider = TooltipPrimitive2.Provider;
2159
2211
  var Tooltip = TooltipPrimitive2.Root;
2160
2212
  var TooltipTrigger = TooltipPrimitive2.Trigger;
2161
- var TooltipContent = React21.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2213
+ var TooltipContent = React22.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2162
2214
  TooltipPrimitive2.Content,
2163
2215
  {
2164
2216
  ref,
@@ -2173,28 +2225,28 @@ var TooltipContent = React21.forwardRef(({ className, sideOffset = 4, ...props }
2173
2225
  TooltipContent.displayName = TooltipPrimitive2.Content.displayName;
2174
2226
 
2175
2227
  // src/components/ui/slider.tsx
2176
- var React22 = __toESM(require("react"), 1);
2228
+ var React23 = __toESM(require("react"), 1);
2177
2229
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
2178
- var import_jsx_runtime31 = require("react/jsx-runtime");
2179
- var Slider = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2230
+ var import_jsx_runtime32 = require("react/jsx-runtime");
2231
+ var Slider = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2180
2232
  SliderPrimitive.Root,
2181
2233
  {
2182
2234
  ref,
2183
2235
  className: cn("relative flex w-full touch-none select-none items-center", className),
2184
2236
  ...props,
2185
2237
  children: [
2186
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
2187
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
2238
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
2239
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
2188
2240
  ]
2189
2241
  }
2190
2242
  ));
2191
2243
  Slider.displayName = SliderPrimitive.Root.displayName;
2192
2244
 
2193
2245
  // src/components/ui/toggle.tsx
2194
- var React23 = __toESM(require("react"), 1);
2246
+ var React24 = __toESM(require("react"), 1);
2195
2247
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
2196
2248
  var import_class_variance_authority2 = require("class-variance-authority");
2197
- var import_jsx_runtime32 = require("react/jsx-runtime");
2249
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2198
2250
  var toggleVariants = (0, import_class_variance_authority2.cva)(
2199
2251
  "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
2200
2252
  {
@@ -2215,13 +2267,13 @@ var toggleVariants = (0, import_class_variance_authority2.cva)(
2215
2267
  }
2216
2268
  }
2217
2269
  );
2218
- var Toggle = React23.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
2270
+ var Toggle = React24.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TogglePrimitive.Root, { ref, className: cn(toggleVariants({ variant, size, className })), ...props }));
2219
2271
  Toggle.displayName = TogglePrimitive.Root.displayName;
2220
2272
 
2221
2273
  // src/components/ui/badge.tsx
2222
- var React24 = __toESM(require("react"), 1);
2274
+ var React25 = __toESM(require("react"), 1);
2223
2275
  var import_class_variance_authority3 = require("class-variance-authority");
2224
- var import_jsx_runtime33 = require("react/jsx-runtime");
2276
+ var import_jsx_runtime34 = require("react/jsx-runtime");
2225
2277
  var badgeVariants = (0, import_class_variance_authority3.cva)(
2226
2278
  "inline-flex items-center font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border",
2227
2279
  {
@@ -2232,9 +2284,9 @@ var badgeVariants = (0, import_class_variance_authority3.cva)(
2232
2284
  destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
2233
2285
  accent: "border-transparent bg-accent text-accent-foreground hover:bg-accent/80",
2234
2286
  outline: "text-foreground border-border bg-transparent",
2235
- success: "border-transparent bg-green-600 text-white hover:bg-green-700",
2236
- warning: "border-transparent bg-amber-500 text-white hover:bg-amber-600",
2237
- info: "border-transparent bg-blue-600 text-white hover:bg-blue-700"
2287
+ success: "border-transparent bg-success text-success-foreground hover:bg-success/90",
2288
+ warning: "border-transparent bg-warning text-warning-foreground hover:bg-warning/90",
2289
+ info: "border-transparent bg-primary text-primary-foreground hover:bg-primary/90"
2238
2290
  },
2239
2291
  size: {
2240
2292
  xs: "rounded px-1.5 py-0 text-[10px]",
@@ -2256,9 +2308,9 @@ var badgeVariants = (0, import_class_variance_authority3.cva)(
2256
2308
  }
2257
2309
  }
2258
2310
  );
2259
- var Badge = React24.forwardRef(
2311
+ var Badge = React25.forwardRef(
2260
2312
  ({ className, variant, size, shape, ...props }, ref) => {
2261
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2313
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2262
2314
  "div",
2263
2315
  {
2264
2316
  ref,
@@ -2271,9 +2323,9 @@ var Badge = React24.forwardRef(
2271
2323
  Badge.displayName = "Badge";
2272
2324
 
2273
2325
  // src/components/ui/input.tsx
2274
- var React25 = __toESM(require("react"), 1);
2326
+ var React26 = __toESM(require("react"), 1);
2275
2327
  var import_class_variance_authority4 = require("class-variance-authority");
2276
- var import_jsx_runtime34 = require("react/jsx-runtime");
2328
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2277
2329
  var inputVariants = (0, import_class_variance_authority4.cva)(
2278
2330
  "flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-colors",
2279
2331
  {
@@ -2294,9 +2346,9 @@ var inputVariants = (0, import_class_variance_authority4.cva)(
2294
2346
  }
2295
2347
  }
2296
2348
  );
2297
- var Input = React25.forwardRef(
2349
+ var Input = React26.forwardRef(
2298
2350
  ({ className, type, size = "md", error, ...props }, ref) => {
2299
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2351
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2300
2352
  "input",
2301
2353
  {
2302
2354
  type,
@@ -2311,16 +2363,16 @@ var Input = React25.forwardRef(
2311
2363
  Input.displayName = "Input";
2312
2364
 
2313
2365
  // src/components/ui/progress.tsx
2314
- var React26 = __toESM(require("react"), 1);
2366
+ var React27 = __toESM(require("react"), 1);
2315
2367
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
2316
- var import_jsx_runtime35 = require("react/jsx-runtime");
2317
- var Progress = React26.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2368
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2369
+ var Progress = React27.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2318
2370
  ProgressPrimitive.Root,
2319
2371
  {
2320
2372
  ref,
2321
2373
  className: cn("relative h-4 w-full overflow-hidden rounded-full bg-secondary", className),
2322
2374
  ...props,
2323
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2375
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2324
2376
  ProgressPrimitive.Indicator,
2325
2377
  {
2326
2378
  className: "h-full w-full flex-1 bg-primary transition-all",
@@ -2332,19 +2384,19 @@ var Progress = React26.forwardRef(({ className, value, ...props }, ref) => /* @_
2332
2384
  Progress.displayName = ProgressPrimitive.Root.displayName;
2333
2385
 
2334
2386
  // src/components/ui/skeleton.tsx
2335
- var import_jsx_runtime36 = require("react/jsx-runtime");
2387
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2336
2388
  function Skeleton({ className, ...props }) {
2337
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cn("animate-pulse rounded-md bg-muted", className), ...props });
2389
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: cn("animate-pulse rounded-md bg-muted", className), ...props });
2338
2390
  }
2339
2391
 
2340
2392
  // src/components/ui/toast.tsx
2341
- var React27 = __toESM(require("react"), 1);
2393
+ var React28 = __toESM(require("react"), 1);
2342
2394
  var ToastPrimitives = __toESM(require("@radix-ui/react-toast"), 1);
2343
2395
  var import_class_variance_authority5 = require("class-variance-authority");
2344
2396
  var import_lucide_react4 = require("lucide-react");
2345
- var import_jsx_runtime37 = require("react/jsx-runtime");
2397
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2346
2398
  var ToastProvider = ToastPrimitives.Provider;
2347
- var ToastViewport = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2399
+ var ToastViewport = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2348
2400
  ToastPrimitives.Viewport,
2349
2401
  {
2350
2402
  ref,
@@ -2370,11 +2422,11 @@ var toastVariants = (0, import_class_variance_authority5.cva)(
2370
2422
  }
2371
2423
  }
2372
2424
  );
2373
- var Toast = React27.forwardRef(({ className, variant, ...props }, ref) => {
2374
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
2425
+ var Toast = React28.forwardRef(({ className, variant, ...props }, ref) => {
2426
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastPrimitives.Root, { ref, className: cn(toastVariants({ variant }), className), ...props });
2375
2427
  });
2376
2428
  Toast.displayName = ToastPrimitives.Root.displayName;
2377
- var ToastAction = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2429
+ var ToastAction = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2378
2430
  ToastPrimitives.Action,
2379
2431
  {
2380
2432
  ref,
@@ -2386,7 +2438,7 @@ var ToastAction = React27.forwardRef(({ className, ...props }, ref) => /* @__PUR
2386
2438
  }
2387
2439
  ));
2388
2440
  ToastAction.displayName = ToastPrimitives.Action.displayName;
2389
- var ToastClose = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2441
+ var ToastClose = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2390
2442
  ToastPrimitives.Close,
2391
2443
  {
2392
2444
  ref,
@@ -2396,17 +2448,17 @@ var ToastClose = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE
2396
2448
  ),
2397
2449
  "toast-close": "",
2398
2450
  ...props,
2399
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react4.X, { className: "h-4 w-4" })
2451
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react4.X, { className: "h-4 w-4" })
2400
2452
  }
2401
2453
  ));
2402
2454
  ToastClose.displayName = ToastPrimitives.Close.displayName;
2403
- var ToastTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
2455
+ var ToastTitle = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastPrimitives.Title, { ref, className: cn("text-sm font-semibold", className), ...props }));
2404
2456
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
2405
- var ToastDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
2457
+ var ToastDescription = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastPrimitives.Description, { ref, className: cn("text-sm opacity-90", className), ...props }));
2406
2458
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
2407
2459
 
2408
2460
  // src/hooks/use-toast.ts
2409
- var React28 = __toESM(require("react"), 1);
2461
+ var React29 = __toESM(require("react"), 1);
2410
2462
  var TOAST_LIMIT = 1;
2411
2463
  var TOAST_REMOVE_DELAY = 1e6;
2412
2464
  var count = 0;
@@ -2505,8 +2557,8 @@ function toast({ ...props }) {
2505
2557
  };
2506
2558
  }
2507
2559
  function useToast() {
2508
- const [state, setState] = React28.useState(memoryState);
2509
- React28.useEffect(() => {
2560
+ const [state, setState] = React29.useState(memoryState);
2561
+ React29.useEffect(() => {
2510
2562
  listeners.push(setState);
2511
2563
  return () => {
2512
2564
  const index = listeners.indexOf(setState);
@@ -2523,31 +2575,31 @@ function useToast() {
2523
2575
  }
2524
2576
 
2525
2577
  // src/components/ui/toaster.tsx
2526
- var import_jsx_runtime38 = require("react/jsx-runtime");
2578
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2527
2579
  function Toaster() {
2528
2580
  const { toasts } = useToast();
2529
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(ToastProvider, { children: [
2581
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(ToastProvider, { children: [
2530
2582
  toasts.map(function({ id, title, description, action, ...props }) {
2531
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Toast, { ...props, children: [
2532
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "grid gap-1", children: [
2533
- title && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastTitle, { children: title }),
2534
- description && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastDescription, { children: description })
2583
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Toast, { ...props, children: [
2584
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "grid gap-1", children: [
2585
+ title && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ToastTitle, { children: title }),
2586
+ description && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ToastDescription, { children: description })
2535
2587
  ] }),
2536
2588
  action,
2537
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastClose, {})
2589
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ToastClose, {})
2538
2590
  ] }, id);
2539
2591
  }),
2540
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ToastViewport, {})
2592
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ToastViewport, {})
2541
2593
  ] });
2542
2594
  }
2543
2595
 
2544
2596
  // src/components/ui/sonner.tsx
2545
2597
  var import_next_themes = require("next-themes");
2546
2598
  var import_sonner = require("sonner");
2547
- var import_jsx_runtime39 = require("react/jsx-runtime");
2599
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2548
2600
  var Toaster2 = ({ ...props }) => {
2549
2601
  const { theme = "system" } = (0, import_next_themes.useTheme)();
2550
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2602
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2551
2603
  import_sonner.Toaster,
2552
2604
  {
2553
2605
  theme,
@@ -2566,12 +2618,12 @@ var Toaster2 = ({ ...props }) => {
2566
2618
  };
2567
2619
 
2568
2620
  // src/components/ui/popover.tsx
2569
- var React29 = __toESM(require("react"), 1);
2621
+ var React30 = __toESM(require("react"), 1);
2570
2622
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
2571
- var import_jsx_runtime40 = require("react/jsx-runtime");
2623
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2572
2624
  var Popover = PopoverPrimitive.Root;
2573
2625
  var PopoverTrigger = PopoverPrimitive.Trigger;
2574
- var PopoverContent = React29.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2626
+ var PopoverContent = React30.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2575
2627
  PopoverPrimitive.Content,
2576
2628
  {
2577
2629
  ref,
@@ -2590,13 +2642,13 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
2590
2642
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
2591
2643
  var import_class_variance_authority6 = require("class-variance-authority");
2592
2644
  var import_lucide_react5 = require("lucide-react");
2593
- var React30 = __toESM(require("react"), 1);
2594
- var import_jsx_runtime41 = require("react/jsx-runtime");
2645
+ var React31 = __toESM(require("react"), 1);
2646
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2595
2647
  var Sheet = SheetPrimitive.Root;
2596
2648
  var SheetTrigger = SheetPrimitive.Trigger;
2597
2649
  var SheetClose = SheetPrimitive.Close;
2598
2650
  var SheetPortal = SheetPrimitive.Portal;
2599
- var SheetOverlay = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2651
+ var SheetOverlay = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2600
2652
  SheetPrimitive.Overlay,
2601
2653
  {
2602
2654
  className: cn(
@@ -2624,38 +2676,38 @@ var sheetVariants = (0, import_class_variance_authority6.cva)(
2624
2676
  }
2625
2677
  }
2626
2678
  );
2627
- var SheetContent = React30.forwardRef(
2628
- ({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(SheetPortal, { children: [
2629
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SheetOverlay, {}),
2630
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
2679
+ var SheetContent = React31.forwardRef(
2680
+ ({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(SheetPortal, { children: [
2681
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetOverlay, {}),
2682
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(SheetPrimitive.Content, { ref, className: cn(sheetVariants({ side }), className), ...props, children: [
2631
2683
  children,
2632
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
2633
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
2634
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "sr-only", children: "Close" })
2684
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
2685
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
2686
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "sr-only", children: "Close" })
2635
2687
  ] })
2636
2688
  ] })
2637
2689
  ] })
2638
2690
  );
2639
2691
  SheetContent.displayName = SheetPrimitive.Content.displayName;
2640
- var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
2692
+ var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
2641
2693
  SheetHeader.displayName = "SheetHeader";
2642
- var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2694
+ var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2643
2695
  SheetFooter.displayName = "SheetFooter";
2644
- var SheetTitle = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
2696
+ var SheetTitle = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetPrimitive.Title, { ref, className: cn("text-lg font-semibold text-foreground", className), ...props }));
2645
2697
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
2646
- var SheetDescription = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2698
+ var SheetDescription = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2647
2699
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
2648
2700
 
2649
2701
  // src/components/ui/dialog.tsx
2650
- var React31 = __toESM(require("react"), 1);
2702
+ var React32 = __toESM(require("react"), 1);
2651
2703
  var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"), 1);
2652
2704
  var import_lucide_react6 = require("lucide-react");
2653
- var import_jsx_runtime42 = require("react/jsx-runtime");
2705
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2654
2706
  var Dialog = DialogPrimitive2.Root;
2655
2707
  var DialogTrigger = DialogPrimitive2.Trigger;
2656
2708
  var DialogPortal = DialogPrimitive2.Portal;
2657
2709
  var DialogClose = DialogPrimitive2.Close;
2658
- var DialogOverlay = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2710
+ var DialogOverlay = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2659
2711
  DialogPrimitive2.Overlay,
2660
2712
  {
2661
2713
  ref,
@@ -2667,9 +2719,9 @@ var DialogOverlay = React31.forwardRef(({ className, ...props }, ref) => /* @__P
2667
2719
  }
2668
2720
  ));
2669
2721
  DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
2670
- var DialogContent = React31.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DialogPortal, { children: [
2671
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DialogOverlay, {}),
2672
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2722
+ var DialogContent = React32.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(DialogPortal, { children: [
2723
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DialogOverlay, {}),
2724
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2673
2725
  DialogPrimitive2.Content,
2674
2726
  {
2675
2727
  ref,
@@ -2680,20 +2732,20 @@ var DialogContent = React31.forwardRef(({ className, children, ...props }, ref)
2680
2732
  ...props,
2681
2733
  children: [
2682
2734
  children,
2683
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DialogPrimitive2.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
2684
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react6.X, { className: "h-4 w-4" }),
2685
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "sr-only", children: "Close" })
2735
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(DialogPrimitive2.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none", children: [
2736
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react6.X, { className: "h-4 w-4" }),
2737
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "sr-only", children: "Close" })
2686
2738
  ] })
2687
2739
  ]
2688
2740
  }
2689
2741
  )
2690
2742
  ] }));
2691
2743
  DialogContent.displayName = DialogPrimitive2.Content.displayName;
2692
- var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2744
+ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2693
2745
  DialogHeader.displayName = "DialogHeader";
2694
- var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2746
+ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
2695
2747
  DialogFooter.displayName = "DialogFooter";
2696
- var DialogTitle = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2748
+ var DialogTitle = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2697
2749
  DialogPrimitive2.Title,
2698
2750
  {
2699
2751
  ref,
@@ -2702,18 +2754,18 @@ var DialogTitle = React31.forwardRef(({ className, ...props }, ref) => /* @__PUR
2702
2754
  }
2703
2755
  ));
2704
2756
  DialogTitle.displayName = DialogPrimitive2.Title.displayName;
2705
- var DialogDescription = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DialogPrimitive2.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2757
+ var DialogDescription = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DialogPrimitive2.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
2706
2758
  DialogDescription.displayName = DialogPrimitive2.Description.displayName;
2707
2759
 
2708
2760
  // src/components/ui/breadcrumb.tsx
2709
- var React32 = __toESM(require("react"), 1);
2761
+ var React33 = __toESM(require("react"), 1);
2710
2762
  var import_react_slot2 = require("@radix-ui/react-slot");
2711
2763
  var import_lucide_react7 = require("lucide-react");
2712
- var import_jsx_runtime43 = require("react/jsx-runtime");
2713
- var Breadcrumb = React32.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props }));
2764
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2765
+ var Breadcrumb = React33.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("nav", { ref, "aria-label": "breadcrumb", ...props }));
2714
2766
  Breadcrumb.displayName = "Breadcrumb";
2715
- var BreadcrumbList = React32.forwardRef(
2716
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2767
+ var BreadcrumbList = React33.forwardRef(
2768
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2717
2769
  "ol",
2718
2770
  {
2719
2771
  ref,
@@ -2726,17 +2778,17 @@ var BreadcrumbList = React32.forwardRef(
2726
2778
  )
2727
2779
  );
2728
2780
  BreadcrumbList.displayName = "BreadcrumbList";
2729
- var BreadcrumbItem = React32.forwardRef(
2730
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
2781
+ var BreadcrumbItem = React33.forwardRef(
2782
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("li", { ref, className: cn("inline-flex items-center gap-1.5", className), ...props })
2731
2783
  );
2732
2784
  BreadcrumbItem.displayName = "BreadcrumbItem";
2733
- var BreadcrumbLink = React32.forwardRef(({ asChild, className, ...props }, ref) => {
2785
+ var BreadcrumbLink = React33.forwardRef(({ asChild, className, ...props }, ref) => {
2734
2786
  const Comp = asChild ? import_react_slot2.Slot : "a";
2735
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
2787
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Comp, { ref, className: cn("transition-colors hover:text-foreground", className), ...props });
2736
2788
  });
2737
2789
  BreadcrumbLink.displayName = "BreadcrumbLink";
2738
- var BreadcrumbPage = React32.forwardRef(
2739
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2790
+ var BreadcrumbPage = React33.forwardRef(
2791
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2740
2792
  "span",
2741
2793
  {
2742
2794
  ref,
@@ -2749,9 +2801,9 @@ var BreadcrumbPage = React32.forwardRef(
2749
2801
  )
2750
2802
  );
2751
2803
  BreadcrumbPage.displayName = "BreadcrumbPage";
2752
- var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children ?? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react7.ChevronRight, {}) });
2804
+ var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("li", { role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children ?? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react7.ChevronRight, {}) });
2753
2805
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
2754
- var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2806
+ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
2755
2807
  "span",
2756
2808
  {
2757
2809
  role: "presentation",
@@ -2759,28 +2811,28 @@ var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import
2759
2811
  className: cn("flex h-9 w-9 items-center justify-center", className),
2760
2812
  ...props,
2761
2813
  children: [
2762
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react7.MoreHorizontal, { className: "h-4 w-4" }),
2763
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "sr-only", children: "More" })
2814
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react7.MoreHorizontal, { className: "h-4 w-4" }),
2815
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "sr-only", children: "More" })
2764
2816
  ]
2765
2817
  }
2766
2818
  );
2767
2819
  BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
2768
2820
 
2769
2821
  // src/components/ui/label.tsx
2770
- var React33 = __toESM(require("react"), 1);
2822
+ var React34 = __toESM(require("react"), 1);
2771
2823
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
2772
2824
  var import_class_variance_authority7 = require("class-variance-authority");
2773
- var import_jsx_runtime44 = require("react/jsx-runtime");
2825
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2774
2826
  var labelVariants = (0, import_class_variance_authority7.cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
2775
- var Label2 = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
2827
+ var Label2 = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LabelPrimitive.Root, { ref, className: cn(labelVariants(), className), ...props }));
2776
2828
  Label2.displayName = LabelPrimitive.Root.displayName;
2777
2829
 
2778
2830
  // src/components/ui/checkbox.tsx
2779
- var React34 = __toESM(require("react"), 1);
2831
+ var React35 = __toESM(require("react"), 1);
2780
2832
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"), 1);
2781
2833
  var import_lucide_react8 = require("lucide-react");
2782
- var import_jsx_runtime45 = require("react/jsx-runtime");
2783
- var Checkbox = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2834
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2835
+ var Checkbox = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2784
2836
  CheckboxPrimitive.Root,
2785
2837
  {
2786
2838
  ref,
@@ -2789,16 +2841,16 @@ var Checkbox = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__
2789
2841
  className
2790
2842
  ),
2791
2843
  ...props,
2792
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react8.Check, { className: "h-4 w-4" }) })
2844
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react8.Check, { className: "h-4 w-4" }) })
2793
2845
  }
2794
2846
  ));
2795
2847
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
2796
2848
 
2797
2849
  // src/components/ui/switch.tsx
2798
- var React35 = __toESM(require("react"), 1);
2850
+ var React36 = __toESM(require("react"), 1);
2799
2851
  var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
2800
- var import_jsx_runtime46 = require("react/jsx-runtime");
2801
- var Switch = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2852
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2853
+ var Switch = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2802
2854
  SwitchPrimitives.Root,
2803
2855
  {
2804
2856
  className: cn(
@@ -2807,7 +2859,7 @@ var Switch = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2807
2859
  ),
2808
2860
  ...props,
2809
2861
  ref,
2810
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2862
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2811
2863
  SwitchPrimitives.Thumb,
2812
2864
  {
2813
2865
  className: cn(
@@ -2820,10 +2872,10 @@ var Switch = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2820
2872
  Switch.displayName = SwitchPrimitives.Root.displayName;
2821
2873
 
2822
2874
  // src/components/ui/textarea.tsx
2823
- var React36 = __toESM(require("react"), 1);
2824
- var import_jsx_runtime47 = require("react/jsx-runtime");
2825
- var Textarea = React36.forwardRef(({ className, ...props }, ref) => {
2826
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2875
+ var React37 = __toESM(require("react"), 1);
2876
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2877
+ var Textarea = React37.forwardRef(({ className, ...props }, ref) => {
2878
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2827
2879
  "textarea",
2828
2880
  {
2829
2881
  className: cn(
@@ -2838,10 +2890,10 @@ var Textarea = React36.forwardRef(({ className, ...props }, ref) => {
2838
2890
  Textarea.displayName = "Textarea";
2839
2891
 
2840
2892
  // src/components/ui/separator.tsx
2841
- var React37 = __toESM(require("react"), 1);
2893
+ var React38 = __toESM(require("react"), 1);
2842
2894
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
2843
- var import_jsx_runtime48 = require("react/jsx-runtime");
2844
- var Separator2 = React37.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2895
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2896
+ var Separator2 = React38.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2845
2897
  SeparatorPrimitive.Root,
2846
2898
  {
2847
2899
  ref,
@@ -2854,16 +2906,16 @@ var Separator2 = React37.forwardRef(({ className, orientation = "horizontal", de
2854
2906
  Separator2.displayName = SeparatorPrimitive.Root.displayName;
2855
2907
 
2856
2908
  // src/components/ui/scroll-area.tsx
2857
- var React38 = __toESM(require("react"), 1);
2909
+ var React39 = __toESM(require("react"), 1);
2858
2910
  var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
2859
- var import_jsx_runtime49 = require("react/jsx-runtime");
2860
- var ScrollArea = React38.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(ScrollAreaPrimitive.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
2861
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
2862
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ScrollBar, {}),
2863
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ScrollAreaPrimitive.Corner, {})
2911
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2912
+ var ScrollArea = React39.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(ScrollAreaPrimitive.Root, { ref, className: cn("relative overflow-hidden", className), ...props, children: [
2913
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
2914
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ScrollBar, {}),
2915
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ScrollAreaPrimitive.Corner, {})
2864
2916
  ] }));
2865
2917
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
2866
- var ScrollBar = React38.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2918
+ var ScrollBar = React39.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2867
2919
  ScrollAreaPrimitive.ScrollAreaScrollbar,
2868
2920
  {
2869
2921
  ref,
@@ -2875,22 +2927,22 @@ var ScrollBar = React38.forwardRef(({ className, orientation = "vertical", ...pr
2875
2927
  className
2876
2928
  ),
2877
2929
  ...props,
2878
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
2930
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
2879
2931
  }
2880
2932
  ));
2881
2933
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
2882
2934
 
2883
2935
  // src/components/ui/radio-group.tsx
2884
- var React39 = __toESM(require("react"), 1);
2936
+ var React40 = __toESM(require("react"), 1);
2885
2937
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
2886
2938
  var import_lucide_react9 = require("lucide-react");
2887
- var import_jsx_runtime50 = require("react/jsx-runtime");
2888
- var RadioGroup = React39.forwardRef(({ className, ...props }, ref) => {
2889
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
2939
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2940
+ var RadioGroup = React40.forwardRef(({ className, ...props }, ref) => {
2941
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref });
2890
2942
  });
2891
2943
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
2892
- var RadioGroupItem = React39.forwardRef(({ className, ...props }, ref) => {
2893
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2944
+ var RadioGroupItem = React40.forwardRef(({ className, ...props }, ref) => {
2945
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2894
2946
  RadioGroupPrimitive.Item,
2895
2947
  {
2896
2948
  ref,
@@ -2899,25 +2951,25 @@ var RadioGroupItem = React39.forwardRef(({ className, ...props }, ref) => {
2899
2951
  className
2900
2952
  ),
2901
2953
  ...props,
2902
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react9.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
2954
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react9.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
2903
2955
  }
2904
2956
  );
2905
2957
  });
2906
2958
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
2907
2959
 
2908
2960
  // src/components/ui/toggle-group.tsx
2909
- var React40 = __toESM(require("react"), 1);
2961
+ var React41 = __toESM(require("react"), 1);
2910
2962
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
2911
- var import_jsx_runtime51 = require("react/jsx-runtime");
2912
- var ToggleGroupContext = React40.createContext({
2963
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2964
+ var ToggleGroupContext = React41.createContext({
2913
2965
  size: "default",
2914
2966
  variant: "default"
2915
2967
  });
2916
- var ToggleGroup = React40.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
2968
+ var ToggleGroup = React41.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ToggleGroupPrimitive.Root, { ref, className: cn("flex items-center justify-center gap-1", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children }) }));
2917
2969
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
2918
- var ToggleGroupItem = React40.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2919
- const context = React40.useContext(ToggleGroupContext);
2920
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2970
+ var ToggleGroupItem = React41.forwardRef(({ className, children, variant, size, ...props }, ref) => {
2971
+ const context = React41.useContext(ToggleGroupContext);
2972
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2921
2973
  ToggleGroupPrimitive.Item,
2922
2974
  {
2923
2975
  ref,
@@ -2936,9 +2988,9 @@ var ToggleGroupItem = React40.forwardRef(({ className, children, variant, size,
2936
2988
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
2937
2989
 
2938
2990
  // src/components/ui/alert.tsx
2939
- var React41 = __toESM(require("react"), 1);
2991
+ var React42 = __toESM(require("react"), 1);
2940
2992
  var import_class_variance_authority8 = require("class-variance-authority");
2941
- var import_jsx_runtime52 = require("react/jsx-runtime");
2993
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2942
2994
  var alertVariants = (0, import_class_variance_authority8.cva)(
2943
2995
  "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
2944
2996
  {
@@ -2953,22 +3005,22 @@ var alertVariants = (0, import_class_variance_authority8.cva)(
2953
3005
  }
2954
3006
  }
2955
3007
  );
2956
- var Alert = React41.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
3008
+ var Alert = React42.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props }));
2957
3009
  Alert.displayName = "Alert";
2958
- var AlertTitle = React41.forwardRef(
2959
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
3010
+ var AlertTitle = React42.forwardRef(
3011
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h5", { ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })
2960
3012
  );
2961
3013
  AlertTitle.displayName = "AlertTitle";
2962
- var AlertDescription = React41.forwardRef(
2963
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
3014
+ var AlertDescription = React42.forwardRef(
3015
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { ref, className: cn("text-sm [&_p]:leading-relaxed", className), ...props })
2964
3016
  );
2965
3017
  AlertDescription.displayName = "AlertDescription";
2966
3018
 
2967
3019
  // src/components/ui/avatar.tsx
2968
- var React42 = __toESM(require("react"), 1);
3020
+ var React43 = __toESM(require("react"), 1);
2969
3021
  var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"), 1);
2970
- var import_jsx_runtime53 = require("react/jsx-runtime");
2971
- var Avatar = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3022
+ var import_jsx_runtime54 = require("react/jsx-runtime");
3023
+ var Avatar = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2972
3024
  AvatarPrimitive.Root,
2973
3025
  {
2974
3026
  ref,
@@ -2977,9 +3029,9 @@ var Avatar = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2977
3029
  }
2978
3030
  ));
2979
3031
  Avatar.displayName = AvatarPrimitive.Root.displayName;
2980
- var AvatarImage = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AvatarPrimitive.Image, { ref, className: cn("aspect-square h-full w-full", className), ...props }));
3032
+ var AvatarImage = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(AvatarPrimitive.Image, { ref, className: cn("aspect-square h-full w-full", className), ...props }));
2981
3033
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
2982
- var AvatarFallback = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3034
+ var AvatarFallback = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2983
3035
  AvatarPrimitive.Fallback,
2984
3036
  {
2985
3037
  ref,
@@ -2990,9 +3042,9 @@ var AvatarFallback = React42.forwardRef(({ className, ...props }, ref) => /* @__
2990
3042
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
2991
3043
 
2992
3044
  // src/components/ui/card.tsx
2993
- var React43 = __toESM(require("react"), 1);
3045
+ var React44 = __toESM(require("react"), 1);
2994
3046
  var import_class_variance_authority9 = require("class-variance-authority");
2995
- var import_jsx_runtime54 = require("react/jsx-runtime");
3047
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2996
3048
  var cardVariants = (0, import_class_variance_authority9.cva)(
2997
3049
  "rounded-lg border bg-card text-card-foreground transition-shadow",
2998
3050
  {
@@ -3010,8 +3062,8 @@ var cardVariants = (0, import_class_variance_authority9.cva)(
3010
3062
  }
3011
3063
  }
3012
3064
  );
3013
- var Card = React43.forwardRef(
3014
- ({ className, elevation, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3065
+ var Card = React44.forwardRef(
3066
+ ({ className, elevation, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3015
3067
  "div",
3016
3068
  {
3017
3069
  ref,
@@ -3021,7 +3073,7 @@ var Card = React43.forwardRef(
3021
3073
  )
3022
3074
  );
3023
3075
  Card.displayName = "Card";
3024
- var CardHeader = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3076
+ var CardHeader = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3025
3077
  "div",
3026
3078
  {
3027
3079
  ref,
@@ -3030,7 +3082,7 @@ var CardHeader = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE
3030
3082
  }
3031
3083
  ));
3032
3084
  CardHeader.displayName = "CardHeader";
3033
- var CardTitle = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3085
+ var CardTitle = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3034
3086
  "h3",
3035
3087
  {
3036
3088
  ref,
@@ -3042,7 +3094,7 @@ var CardTitle = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3042
3094
  }
3043
3095
  ));
3044
3096
  CardTitle.displayName = "CardTitle";
3045
- var CardDescription = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3097
+ var CardDescription = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3046
3098
  "p",
3047
3099
  {
3048
3100
  ref,
@@ -3051,9 +3103,9 @@ var CardDescription = React43.forwardRef(({ className, ...props }, ref) => /* @_
3051
3103
  }
3052
3104
  ));
3053
3105
  CardDescription.displayName = "CardDescription";
3054
- var CardContent = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props }));
3106
+ var CardContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props }));
3055
3107
  CardContent.displayName = "CardContent";
3056
- var CardFooter = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3108
+ var CardFooter = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3057
3109
  "div",
3058
3110
  {
3059
3111
  ref,
@@ -3074,12 +3126,12 @@ var AspectRatioPrimitive = __toESM(require("@radix-ui/react-aspect-ratio"), 1);
3074
3126
  var AspectRatio = AspectRatioPrimitive.Root;
3075
3127
 
3076
3128
  // src/components/ui/hover-card.tsx
3077
- var React44 = __toESM(require("react"), 1);
3129
+ var React45 = __toESM(require("react"), 1);
3078
3130
  var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
3079
- var import_jsx_runtime55 = require("react/jsx-runtime");
3131
+ var import_jsx_runtime56 = require("react/jsx-runtime");
3080
3132
  var HoverCard = HoverCardPrimitive.Root;
3081
3133
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
3082
- var HoverCardContent = React44.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3134
+ var HoverCardContent = React45.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3083
3135
  HoverCardPrimitive.Content,
3084
3136
  {
3085
3137
  ref,
@@ -3095,13 +3147,13 @@ var HoverCardContent = React44.forwardRef(({ className, align = "center", sideOf
3095
3147
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
3096
3148
 
3097
3149
  // src/components/ui/alert-dialog.tsx
3098
- var React45 = __toESM(require("react"), 1);
3150
+ var React46 = __toESM(require("react"), 1);
3099
3151
  var AlertDialogPrimitive = __toESM(require("@radix-ui/react-alert-dialog"), 1);
3100
- var import_jsx_runtime56 = require("react/jsx-runtime");
3152
+ var import_jsx_runtime57 = require("react/jsx-runtime");
3101
3153
  var AlertDialog = AlertDialogPrimitive.Root;
3102
3154
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
3103
3155
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
3104
- var AlertDialogOverlay = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3156
+ var AlertDialogOverlay = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3105
3157
  AlertDialogPrimitive.Overlay,
3106
3158
  {
3107
3159
  className: cn(
@@ -3113,9 +3165,9 @@ var AlertDialogOverlay = React45.forwardRef(({ className, ...props }, ref) => /*
3113
3165
  }
3114
3166
  ));
3115
3167
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
3116
- var AlertDialogContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(AlertDialogPortal, { children: [
3117
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogOverlay, {}),
3118
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3168
+ var AlertDialogContent = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(AlertDialogPortal, { children: [
3169
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertDialogOverlay, {}),
3170
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3119
3171
  AlertDialogPrimitive.Content,
3120
3172
  {
3121
3173
  ref,
@@ -3128,17 +3180,17 @@ var AlertDialogContent = React45.forwardRef(({ className, ...props }, ref) => /*
3128
3180
  )
3129
3181
  ] }));
3130
3182
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
3131
- var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
3183
+ var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
3132
3184
  AlertDialogHeader.displayName = "AlertDialogHeader";
3133
- var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
3185
+ var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
3134
3186
  AlertDialogFooter.displayName = "AlertDialogFooter";
3135
- var AlertDialogTitle = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
3187
+ var AlertDialogTitle = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertDialogPrimitive.Title, { ref, className: cn("text-lg font-semibold", className), ...props }));
3136
3188
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
3137
- var AlertDialogDescription = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
3189
+ var AlertDialogDescription = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertDialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
3138
3190
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
3139
- var AlertDialogAction = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
3191
+ var AlertDialogAction = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlertDialogPrimitive.Action, { ref, className: cn(buttonVariants(), className), ...props }));
3140
3192
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
3141
- var AlertDialogCancel = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
3193
+ var AlertDialogCancel = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3142
3194
  AlertDialogPrimitive.Cancel,
3143
3195
  {
3144
3196
  ref,
@@ -3149,11 +3201,11 @@ var AlertDialogCancel = React45.forwardRef(({ className, ...props }, ref) => /*
3149
3201
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
3150
3202
 
3151
3203
  // src/components/ui/command.tsx
3152
- var React46 = __toESM(require("react"), 1);
3204
+ var React47 = __toESM(require("react"), 1);
3153
3205
  var import_cmdk = require("cmdk");
3154
3206
  var import_lucide_react10 = require("lucide-react");
3155
- var import_jsx_runtime57 = require("react/jsx-runtime");
3156
- var Command = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3207
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3208
+ var Command = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3157
3209
  import_cmdk.Command,
3158
3210
  {
3159
3211
  ref,
@@ -3166,11 +3218,11 @@ var Command = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3166
3218
  ));
3167
3219
  Command.displayName = import_cmdk.Command.displayName;
3168
3220
  var CommandDialog = ({ children, ...props }) => {
3169
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
3221
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Dialog, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
3170
3222
  };
3171
- var CommandInput = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
3172
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react10.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3173
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3223
+ var CommandInput = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
3224
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react10.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3225
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3174
3226
  import_cmdk.Command.Input,
3175
3227
  {
3176
3228
  ref,
@@ -3183,7 +3235,7 @@ var CommandInput = React46.forwardRef(({ className, ...props }, ref) => /* @__PU
3183
3235
  )
3184
3236
  ] }));
3185
3237
  CommandInput.displayName = import_cmdk.Command.Input.displayName;
3186
- var CommandList = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3238
+ var CommandList = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3187
3239
  import_cmdk.Command.List,
3188
3240
  {
3189
3241
  ref,
@@ -3192,9 +3244,9 @@ var CommandList = React46.forwardRef(({ className, ...props }, ref) => /* @__PUR
3192
3244
  }
3193
3245
  ));
3194
3246
  CommandList.displayName = import_cmdk.Command.List.displayName;
3195
- var CommandEmpty = React46.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_cmdk.Command.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
3247
+ var CommandEmpty = React47.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_cmdk.Command.Empty, { ref, className: "py-6 text-center text-sm", ...props }));
3196
3248
  CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;
3197
- var CommandGroup = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3249
+ var CommandGroup = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3198
3250
  import_cmdk.Command.Group,
3199
3251
  {
3200
3252
  ref,
@@ -3206,9 +3258,9 @@ var CommandGroup = React46.forwardRef(({ className, ...props }, ref) => /* @__PU
3206
3258
  }
3207
3259
  ));
3208
3260
  CommandGroup.displayName = import_cmdk.Command.Group.displayName;
3209
- var CommandSeparator = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_cmdk.Command.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
3261
+ var CommandSeparator = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_cmdk.Command.Separator, { ref, className: cn("-mx-1 h-px bg-border", className), ...props }));
3210
3262
  CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;
3211
- var CommandItem = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
3263
+ var CommandItem = React47.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3212
3264
  import_cmdk.Command.Item,
3213
3265
  {
3214
3266
  ref,
@@ -3221,25 +3273,25 @@ var CommandItem = React46.forwardRef(({ className, ...props }, ref) => /* @__PUR
3221
3273
  ));
3222
3274
  CommandItem.displayName = import_cmdk.Command.Item.displayName;
3223
3275
  var CommandShortcut = ({ className, ...props }) => {
3224
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3276
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3225
3277
  };
3226
3278
  CommandShortcut.displayName = "CommandShortcut";
3227
3279
 
3228
3280
  // src/components/ui/form.tsx
3229
- var React47 = __toESM(require("react"), 1);
3281
+ var React48 = __toESM(require("react"), 1);
3230
3282
  var import_react_slot3 = require("@radix-ui/react-slot");
3231
3283
  var import_react_hook_form = require("react-hook-form");
3232
- var import_jsx_runtime58 = require("react/jsx-runtime");
3284
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3233
3285
  var Form = import_react_hook_form.FormProvider;
3234
- var FormFieldContext = React47.createContext({});
3286
+ var FormFieldContext = React48.createContext({});
3235
3287
  var FormField = ({
3236
3288
  ...props
3237
3289
  }) => {
3238
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_hook_form.Controller, { ...props }) });
3290
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_hook_form.Controller, { ...props }) });
3239
3291
  };
3240
3292
  var useFormField = () => {
3241
- const fieldContext = React47.useContext(FormFieldContext);
3242
- const itemContext = React47.useContext(FormItemContext);
3293
+ const fieldContext = React48.useContext(FormFieldContext);
3294
+ const itemContext = React48.useContext(FormItemContext);
3243
3295
  const { getFieldState, formState } = (0, import_react_hook_form.useFormContext)();
3244
3296
  const fieldState = getFieldState(fieldContext.name, formState);
3245
3297
  if (!fieldContext) {
@@ -3255,23 +3307,23 @@ var useFormField = () => {
3255
3307
  ...fieldState
3256
3308
  };
3257
3309
  };
3258
- var FormItemContext = React47.createContext({});
3259
- var FormItem = React47.forwardRef(
3310
+ var FormItemContext = React48.createContext({});
3311
+ var FormItem = React48.forwardRef(
3260
3312
  ({ className, ...props }, ref) => {
3261
- const id = React47.useId();
3262
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { ref, className: cn("space-y-2", className), ...props }) });
3313
+ const id = React48.useId();
3314
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { ref, className: cn("space-y-2", className), ...props }) });
3263
3315
  }
3264
3316
  );
3265
3317
  FormItem.displayName = "FormItem";
3266
- var FormLabel = React47.forwardRef(({ className, ...props }, ref) => {
3318
+ var FormLabel = React48.forwardRef(({ className, ...props }, ref) => {
3267
3319
  const { error, formItemId } = useFormField();
3268
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Label2, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
3320
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Label2, { ref, className: cn(error && "text-destructive", className), htmlFor: formItemId, ...props });
3269
3321
  });
3270
3322
  FormLabel.displayName = "FormLabel";
3271
- var FormControl = React47.forwardRef(
3323
+ var FormControl = React48.forwardRef(
3272
3324
  ({ ...props }, ref) => {
3273
3325
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
3274
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3326
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3275
3327
  import_react_slot3.Slot,
3276
3328
  {
3277
3329
  ref,
@@ -3284,30 +3336,30 @@ var FormControl = React47.forwardRef(
3284
3336
  }
3285
3337
  );
3286
3338
  FormControl.displayName = "FormControl";
3287
- var FormDescription = React47.forwardRef(
3339
+ var FormDescription = React48.forwardRef(
3288
3340
  ({ className, ...props }, ref) => {
3289
3341
  const { formDescriptionId } = useFormField();
3290
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
3342
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { ref, id: formDescriptionId, className: cn("text-sm text-muted-foreground", className), ...props });
3291
3343
  }
3292
3344
  );
3293
3345
  FormDescription.displayName = "FormDescription";
3294
- var FormMessage = React47.forwardRef(
3346
+ var FormMessage = React48.forwardRef(
3295
3347
  ({ className, children, ...props }, ref) => {
3296
3348
  const { error, formMessageId } = useFormField();
3297
3349
  const body = error ? String(error?.message) : children;
3298
3350
  if (!body) {
3299
3351
  return null;
3300
3352
  }
3301
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
3353
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { ref, id: formMessageId, className: cn("text-sm font-medium text-destructive", className), ...props, children: body });
3302
3354
  }
3303
3355
  );
3304
3356
  FormMessage.displayName = "FormMessage";
3305
3357
 
3306
3358
  // src/components/ui/pagination.tsx
3307
- var React48 = __toESM(require("react"), 1);
3359
+ var React49 = __toESM(require("react"), 1);
3308
3360
  var import_lucide_react11 = require("lucide-react");
3309
- var import_jsx_runtime59 = require("react/jsx-runtime");
3310
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3361
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3362
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3311
3363
  "nav",
3312
3364
  {
3313
3365
  role: "navigation",
@@ -3317,13 +3369,13 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_run
3317
3369
  }
3318
3370
  );
3319
3371
  Pagination.displayName = "Pagination";
3320
- var PaginationContent = React48.forwardRef(
3321
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
3372
+ var PaginationContent = React49.forwardRef(
3373
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("ul", { ref, className: cn("flex flex-row items-center gap-1", className), ...props })
3322
3374
  );
3323
3375
  PaginationContent.displayName = "PaginationContent";
3324
- var PaginationItem = React48.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("li", { ref, className: cn("", className), ...props }));
3376
+ var PaginationItem = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("li", { ref, className: cn("", className), ...props }));
3325
3377
  PaginationItem.displayName = "PaginationItem";
3326
- var PaginationLink = ({ className, isActive, size = "md", ...props }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3378
+ var PaginationLink = ({ className, isActive, size = "md", ...props }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3327
3379
  "a",
3328
3380
  {
3329
3381
  "aria-current": isActive ? "page" : void 0,
@@ -3338,34 +3390,34 @@ var PaginationLink = ({ className, isActive, size = "md", ...props }) => /* @__P
3338
3390
  }
3339
3391
  );
3340
3392
  PaginationLink.displayName = "PaginationLink";
3341
- var PaginationPrevious = ({ className, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(PaginationLink, { "aria-label": "Go to previous page", size: size ?? "md", className: cn("gap-1 pl-2.5", className), ...props, children: [
3342
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react11.ChevronLeft, { className: "h-4 w-4" }),
3343
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Previous" })
3393
+ var PaginationPrevious = ({ className, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(PaginationLink, { "aria-label": "Go to previous page", size: size ?? "md", className: cn("gap-1 pl-2.5", className), ...props, children: [
3394
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react11.ChevronLeft, { className: "h-4 w-4" }),
3395
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { children: "Previous" })
3344
3396
  ] });
3345
3397
  PaginationPrevious.displayName = "PaginationPrevious";
3346
- var PaginationNext = ({ className, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(PaginationLink, { "aria-label": "Go to next page", size: size ?? "md", className: cn("gap-1 pr-2.5", className), ...props, children: [
3347
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Next" }),
3348
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react11.ChevronRight, { className: "h-4 w-4" })
3398
+ var PaginationNext = ({ className, size, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(PaginationLink, { "aria-label": "Go to next page", size: size ?? "md", className: cn("gap-1 pr-2.5", className), ...props, children: [
3399
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { children: "Next" }),
3400
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react11.ChevronRight, { className: "h-4 w-4" })
3349
3401
  ] });
3350
3402
  PaginationNext.displayName = "PaginationNext";
3351
- var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
3352
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react11.MoreHorizontal, { className: "h-4 w-4" }),
3353
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "sr-only", children: "More pages" })
3403
+ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("span", { "aria-hidden": true, className: cn("flex h-9 w-9 items-center justify-center", className), ...props, children: [
3404
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react11.MoreHorizontal, { className: "h-4 w-4" }),
3405
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "sr-only", children: "More pages" })
3354
3406
  ] });
3355
3407
  PaginationEllipsis.displayName = "PaginationEllipsis";
3356
3408
 
3357
3409
  // src/components/ui/dropdown-menu.tsx
3358
- var React49 = __toESM(require("react"), 1);
3410
+ var React50 = __toESM(require("react"), 1);
3359
3411
  var DropdownMenuPrimitive2 = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
3360
3412
  var import_lucide_react12 = require("lucide-react");
3361
- var import_jsx_runtime60 = require("react/jsx-runtime");
3413
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3362
3414
  var DropdownMenu = DropdownMenuPrimitive2.Root;
3363
3415
  var DropdownMenuTrigger = DropdownMenuPrimitive2.Trigger;
3364
3416
  var DropdownMenuGroup = DropdownMenuPrimitive2.Group;
3365
3417
  var DropdownMenuPortal = DropdownMenuPrimitive2.Portal;
3366
3418
  var DropdownMenuSub = DropdownMenuPrimitive2.Sub;
3367
3419
  var DropdownMenuRadioGroup = DropdownMenuPrimitive2.RadioGroup;
3368
- var DropdownMenuSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3420
+ var DropdownMenuSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3369
3421
  DropdownMenuPrimitive2.SubTrigger,
3370
3422
  {
3371
3423
  ref,
@@ -3377,12 +3429,12 @@ var DropdownMenuSubTrigger = React49.forwardRef(({ className, inset, children, .
3377
3429
  ...props,
3378
3430
  children: [
3379
3431
  children,
3380
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react12.ChevronRight, { className: "ml-auto h-4 w-4" })
3432
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react12.ChevronRight, { className: "ml-auto h-4 w-4" })
3381
3433
  ]
3382
3434
  }
3383
3435
  ));
3384
3436
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive2.SubTrigger.displayName;
3385
- var DropdownMenuSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3437
+ var DropdownMenuSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3386
3438
  DropdownMenuPrimitive2.SubContent,
3387
3439
  {
3388
3440
  ref,
@@ -3394,7 +3446,7 @@ var DropdownMenuSubContent = React49.forwardRef(({ className, ...props }, ref) =
3394
3446
  }
3395
3447
  ));
3396
3448
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive2.SubContent.displayName;
3397
- var DropdownMenuContent = React49.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DropdownMenuPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3449
+ var DropdownMenuContent = React50.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuPrimitive2.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3398
3450
  DropdownMenuPrimitive2.Content,
3399
3451
  {
3400
3452
  ref,
@@ -3407,7 +3459,7 @@ var DropdownMenuContent = React49.forwardRef(({ className, sideOffset = 4, ...pr
3407
3459
  }
3408
3460
  ) }));
3409
3461
  DropdownMenuContent.displayName = DropdownMenuPrimitive2.Content.displayName;
3410
- var DropdownMenuItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3462
+ var DropdownMenuItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3411
3463
  DropdownMenuPrimitive2.Item,
3412
3464
  {
3413
3465
  ref,
@@ -3420,7 +3472,7 @@ var DropdownMenuItem = React49.forwardRef(({ className, inset, ...props }, ref)
3420
3472
  }
3421
3473
  ));
3422
3474
  DropdownMenuItem.displayName = DropdownMenuPrimitive2.Item.displayName;
3423
- var DropdownMenuCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3475
+ var DropdownMenuCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3424
3476
  DropdownMenuPrimitive2.CheckboxItem,
3425
3477
  {
3426
3478
  ref,
@@ -3431,13 +3483,13 @@ var DropdownMenuCheckboxItem = React49.forwardRef(({ className, children, checke
3431
3483
  checked,
3432
3484
  ...props,
3433
3485
  children: [
3434
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DropdownMenuPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react12.Check, { className: "h-4 w-4" }) }) }),
3486
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react12.Check, { className: "h-4 w-4" }) }) }),
3435
3487
  children
3436
3488
  ]
3437
3489
  }
3438
3490
  ));
3439
3491
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive2.CheckboxItem.displayName;
3440
- var DropdownMenuRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3492
+ var DropdownMenuRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3441
3493
  DropdownMenuPrimitive2.RadioItem,
3442
3494
  {
3443
3495
  ref,
@@ -3447,13 +3499,13 @@ var DropdownMenuRadioItem = React49.forwardRef(({ className, children, ...props
3447
3499
  ),
3448
3500
  ...props,
3449
3501
  children: [
3450
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DropdownMenuPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react12.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3502
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuPrimitive2.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react12.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3451
3503
  children
3452
3504
  ]
3453
3505
  }
3454
3506
  ));
3455
3507
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive2.RadioItem.displayName;
3456
- var DropdownMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3508
+ var DropdownMenuLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3457
3509
  DropdownMenuPrimitive2.Label,
3458
3510
  {
3459
3511
  ref,
@@ -3462,25 +3514,25 @@ var DropdownMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref)
3462
3514
  }
3463
3515
  ));
3464
3516
  DropdownMenuLabel.displayName = DropdownMenuPrimitive2.Label.displayName;
3465
- var DropdownMenuSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DropdownMenuPrimitive2.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
3517
+ var DropdownMenuSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DropdownMenuPrimitive2.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
3466
3518
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive2.Separator.displayName;
3467
3519
  var DropdownMenuShortcut = ({ className, ...props }) => {
3468
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
3520
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
3469
3521
  };
3470
3522
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
3471
3523
 
3472
3524
  // src/components/ui/context-menu.tsx
3473
- var React50 = __toESM(require("react"), 1);
3525
+ var React51 = __toESM(require("react"), 1);
3474
3526
  var ContextMenuPrimitive = __toESM(require("@radix-ui/react-context-menu"), 1);
3475
3527
  var import_lucide_react13 = require("lucide-react");
3476
- var import_jsx_runtime61 = require("react/jsx-runtime");
3528
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3477
3529
  var ContextMenu = ContextMenuPrimitive.Root;
3478
3530
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
3479
3531
  var ContextMenuGroup = ContextMenuPrimitive.Group;
3480
3532
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
3481
3533
  var ContextMenuSub = ContextMenuPrimitive.Sub;
3482
3534
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
3483
- var ContextMenuSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3535
+ var ContextMenuSubTrigger = React51.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3484
3536
  ContextMenuPrimitive.SubTrigger,
3485
3537
  {
3486
3538
  ref,
@@ -3492,12 +3544,12 @@ var ContextMenuSubTrigger = React50.forwardRef(({ className, inset, children, ..
3492
3544
  ...props,
3493
3545
  children: [
3494
3546
  children,
3495
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react13.ChevronRight, { className: "ml-auto h-4 w-4" })
3547
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react13.ChevronRight, { className: "ml-auto h-4 w-4" })
3496
3548
  ]
3497
3549
  }
3498
3550
  ));
3499
3551
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
3500
- var ContextMenuSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3552
+ var ContextMenuSubContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3501
3553
  ContextMenuPrimitive.SubContent,
3502
3554
  {
3503
3555
  ref,
@@ -3509,7 +3561,7 @@ var ContextMenuSubContent = React50.forwardRef(({ className, ...props }, ref) =>
3509
3561
  }
3510
3562
  ));
3511
3563
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
3512
- var ContextMenuContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3564
+ var ContextMenuContent = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3513
3565
  ContextMenuPrimitive.Content,
3514
3566
  {
3515
3567
  ref,
@@ -3521,7 +3573,7 @@ var ContextMenuContent = React50.forwardRef(({ className, ...props }, ref) => /*
3521
3573
  }
3522
3574
  ) }));
3523
3575
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
3524
- var ContextMenuItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3576
+ var ContextMenuItem = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3525
3577
  ContextMenuPrimitive.Item,
3526
3578
  {
3527
3579
  ref,
@@ -3534,7 +3586,7 @@ var ContextMenuItem = React50.forwardRef(({ className, inset, ...props }, ref) =
3534
3586
  }
3535
3587
  ));
3536
3588
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
3537
- var ContextMenuCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3589
+ var ContextMenuCheckboxItem = React51.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3538
3590
  ContextMenuPrimitive.CheckboxItem,
3539
3591
  {
3540
3592
  ref,
@@ -3545,13 +3597,13 @@ var ContextMenuCheckboxItem = React50.forwardRef(({ className, children, checked
3545
3597
  checked,
3546
3598
  ...props,
3547
3599
  children: [
3548
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react13.Check, { className: "h-4 w-4" }) }) }),
3600
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react13.Check, { className: "h-4 w-4" }) }) }),
3549
3601
  children
3550
3602
  ]
3551
3603
  }
3552
3604
  ));
3553
3605
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
3554
- var ContextMenuRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
3606
+ var ContextMenuRadioItem = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3555
3607
  ContextMenuPrimitive.RadioItem,
3556
3608
  {
3557
3609
  ref,
@@ -3561,13 +3613,13 @@ var ContextMenuRadioItem = React50.forwardRef(({ className, children, ...props }
3561
3613
  ),
3562
3614
  ...props,
3563
3615
  children: [
3564
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react13.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3616
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react13.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3565
3617
  children
3566
3618
  ]
3567
3619
  }
3568
3620
  ));
3569
3621
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
3570
- var ContextMenuLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3622
+ var ContextMenuLabel = React51.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3571
3623
  ContextMenuPrimitive.Label,
3572
3624
  {
3573
3625
  ref,
@@ -3576,27 +3628,27 @@ var ContextMenuLabel = React50.forwardRef(({ className, inset, ...props }, ref)
3576
3628
  }
3577
3629
  ));
3578
3630
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
3579
- var ContextMenuSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
3631
+ var ContextMenuSeparator = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ContextMenuPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
3580
3632
  ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
3581
3633
  var ContextMenuShortcut = ({ className, ...props }) => {
3582
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3634
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3583
3635
  };
3584
3636
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
3585
3637
 
3586
3638
  // src/components/ui/drawer.tsx
3587
- var React51 = __toESM(require("react"), 1);
3639
+ var React52 = __toESM(require("react"), 1);
3588
3640
  var import_vaul = require("vaul");
3589
- var import_jsx_runtime62 = require("react/jsx-runtime");
3590
- var Drawer = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_vaul.Drawer.Root, { shouldScaleBackground, ...props });
3641
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3642
+ var Drawer = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_vaul.Drawer.Root, { shouldScaleBackground, ...props });
3591
3643
  Drawer.displayName = "Drawer";
3592
3644
  var DrawerTrigger = import_vaul.Drawer.Trigger;
3593
3645
  var DrawerPortal = import_vaul.Drawer.Portal;
3594
3646
  var DrawerClose = import_vaul.Drawer.Close;
3595
- var DrawerOverlay = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_vaul.Drawer.Overlay, { ref, className: cn("fixed inset-0 z-50 bg-black/80", className), ...props }));
3647
+ var DrawerOverlay = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_vaul.Drawer.Overlay, { ref, className: cn("fixed inset-0 z-50 bg-black/80", className), ...props }));
3596
3648
  DrawerOverlay.displayName = import_vaul.Drawer.Overlay.displayName;
3597
- var DrawerContent = React51.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DrawerPortal, { children: [
3598
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DrawerOverlay, {}),
3599
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
3649
+ var DrawerContent = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(DrawerPortal, { children: [
3650
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(DrawerOverlay, {}),
3651
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
3600
3652
  import_vaul.Drawer.Content,
3601
3653
  {
3602
3654
  ref,
@@ -3606,18 +3658,18 @@ var DrawerContent = React51.forwardRef(({ className, children, ...props }, ref)
3606
3658
  ),
3607
3659
  ...props,
3608
3660
  children: [
3609
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
3661
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
3610
3662
  children
3611
3663
  ]
3612
3664
  }
3613
3665
  )
3614
3666
  ] }));
3615
3667
  DrawerContent.displayName = "DrawerContent";
3616
- var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-left", className), ...props });
3668
+ var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-left", className), ...props });
3617
3669
  DrawerHeader.displayName = "DrawerHeader";
3618
- var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
3670
+ var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
3619
3671
  DrawerFooter.displayName = "DrawerFooter";
3620
- var DrawerTitle = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3672
+ var DrawerTitle = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3621
3673
  import_vaul.Drawer.Title,
3622
3674
  {
3623
3675
  ref,
@@ -3626,20 +3678,20 @@ var DrawerTitle = React51.forwardRef(({ className, ...props }, ref) => /* @__PUR
3626
3678
  }
3627
3679
  ));
3628
3680
  DrawerTitle.displayName = import_vaul.Drawer.Title.displayName;
3629
- var DrawerDescription = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_vaul.Drawer.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
3681
+ var DrawerDescription = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_vaul.Drawer.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
3630
3682
  DrawerDescription.displayName = import_vaul.Drawer.Description.displayName;
3631
3683
 
3632
3684
  // src/components/ui/menubar.tsx
3633
- var React52 = __toESM(require("react"), 1);
3685
+ var React53 = __toESM(require("react"), 1);
3634
3686
  var MenubarPrimitive = __toESM(require("@radix-ui/react-menubar"), 1);
3635
3687
  var import_lucide_react14 = require("lucide-react");
3636
- var import_jsx_runtime63 = require("react/jsx-runtime");
3688
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3637
3689
  var MenubarMenu = MenubarPrimitive.Menu;
3638
3690
  var MenubarGroup = MenubarPrimitive.Group;
3639
3691
  var MenubarPortal = MenubarPrimitive.Portal;
3640
3692
  var MenubarSub = MenubarPrimitive.Sub;
3641
3693
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
3642
- var Menubar = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3694
+ var Menubar = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3643
3695
  MenubarPrimitive.Root,
3644
3696
  {
3645
3697
  ref,
@@ -3648,7 +3700,7 @@ var Menubar = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3648
3700
  }
3649
3701
  ));
3650
3702
  Menubar.displayName = MenubarPrimitive.Root.displayName;
3651
- var MenubarTrigger = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3703
+ var MenubarTrigger = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3652
3704
  MenubarPrimitive.Trigger,
3653
3705
  {
3654
3706
  ref,
@@ -3660,7 +3712,7 @@ var MenubarTrigger = React52.forwardRef(({ className, ...props }, ref) => /* @__
3660
3712
  }
3661
3713
  ));
3662
3714
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
3663
- var MenubarSubTrigger = React52.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
3715
+ var MenubarSubTrigger = React53.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3664
3716
  MenubarPrimitive.SubTrigger,
3665
3717
  {
3666
3718
  ref,
@@ -3672,12 +3724,12 @@ var MenubarSubTrigger = React52.forwardRef(({ className, inset, children, ...pro
3672
3724
  ...props,
3673
3725
  children: [
3674
3726
  children,
3675
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react14.ChevronRight, { className: "ml-auto h-4 w-4" })
3727
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react14.ChevronRight, { className: "ml-auto h-4 w-4" })
3676
3728
  ]
3677
3729
  }
3678
3730
  ));
3679
3731
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
3680
- var MenubarSubContent = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3732
+ var MenubarSubContent = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3681
3733
  MenubarPrimitive.SubContent,
3682
3734
  {
3683
3735
  ref,
@@ -3689,7 +3741,7 @@ var MenubarSubContent = React52.forwardRef(({ className, ...props }, ref) => /*
3689
3741
  }
3690
3742
  ));
3691
3743
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
3692
- var MenubarContent = React52.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3744
+ var MenubarContent = React53.forwardRef(({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MenubarPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3693
3745
  MenubarPrimitive.Content,
3694
3746
  {
3695
3747
  ref,
@@ -3704,7 +3756,7 @@ var MenubarContent = React52.forwardRef(({ className, align = "start", alignOffs
3704
3756
  }
3705
3757
  ) }));
3706
3758
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
3707
- var MenubarItem = React52.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3759
+ var MenubarItem = React53.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3708
3760
  MenubarPrimitive.Item,
3709
3761
  {
3710
3762
  ref,
@@ -3717,7 +3769,7 @@ var MenubarItem = React52.forwardRef(({ className, inset, ...props }, ref) => /*
3717
3769
  }
3718
3770
  ));
3719
3771
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
3720
- var MenubarCheckboxItem = React52.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
3772
+ var MenubarCheckboxItem = React53.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3721
3773
  MenubarPrimitive.CheckboxItem,
3722
3774
  {
3723
3775
  ref,
@@ -3728,13 +3780,13 @@ var MenubarCheckboxItem = React52.forwardRef(({ className, children, checked, ..
3728
3780
  checked,
3729
3781
  ...props,
3730
3782
  children: [
3731
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react14.Check, { className: "h-4 w-4" }) }) }),
3783
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react14.Check, { className: "h-4 w-4" }) }) }),
3732
3784
  children
3733
3785
  ]
3734
3786
  }
3735
3787
  ));
3736
3788
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
3737
- var MenubarRadioItem = React52.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
3789
+ var MenubarRadioItem = React53.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3738
3790
  MenubarPrimitive.RadioItem,
3739
3791
  {
3740
3792
  ref,
@@ -3744,13 +3796,13 @@ var MenubarRadioItem = React52.forwardRef(({ className, children, ...props }, re
3744
3796
  ),
3745
3797
  ...props,
3746
3798
  children: [
3747
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react14.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3799
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react14.Circle, { className: "h-2 w-2 fill-current" }) }) }),
3748
3800
  children
3749
3801
  ]
3750
3802
  }
3751
3803
  ));
3752
3804
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
3753
- var MenubarLabel = React52.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3805
+ var MenubarLabel = React53.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3754
3806
  MenubarPrimitive.Label,
3755
3807
  {
3756
3808
  ref,
@@ -3759,20 +3811,20 @@ var MenubarLabel = React52.forwardRef(({ className, inset, ...props }, ref) => /
3759
3811
  }
3760
3812
  ));
3761
3813
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
3762
- var MenubarSeparator = React52.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
3814
+ var MenubarSeparator = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(MenubarPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
3763
3815
  MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
3764
3816
  var MenubarShortcut = ({ className, ...props }) => {
3765
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3817
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
3766
3818
  };
3767
3819
  MenubarShortcut.displayname = "MenubarShortcut";
3768
3820
 
3769
3821
  // src/components/ui/navigation-menu.tsx
3770
- var React53 = __toESM(require("react"), 1);
3822
+ var React54 = __toESM(require("react"), 1);
3771
3823
  var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"), 1);
3772
3824
  var import_class_variance_authority10 = require("class-variance-authority");
3773
3825
  var import_lucide_react15 = require("lucide-react");
3774
- var import_jsx_runtime64 = require("react/jsx-runtime");
3775
- var NavigationMenu = React53.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3826
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3827
+ var NavigationMenu = React54.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3776
3828
  NavigationMenuPrimitive.Root,
3777
3829
  {
3778
3830
  ref,
@@ -3780,12 +3832,12 @@ var NavigationMenu = React53.forwardRef(({ className, children, ...props }, ref)
3780
3832
  ...props,
3781
3833
  children: [
3782
3834
  children,
3783
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(NavigationMenuViewport, {})
3835
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NavigationMenuViewport, {})
3784
3836
  ]
3785
3837
  }
3786
3838
  ));
3787
3839
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
3788
- var NavigationMenuList = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3840
+ var NavigationMenuList = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3789
3841
  NavigationMenuPrimitive.List,
3790
3842
  {
3791
3843
  ref,
@@ -3798,7 +3850,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
3798
3850
  var navigationMenuTriggerStyle = (0, import_class_variance_authority10.cva)(
3799
3851
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
3800
3852
  );
3801
- var NavigationMenuTrigger = React53.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3853
+ var NavigationMenuTrigger = React54.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3802
3854
  NavigationMenuPrimitive.Trigger,
3803
3855
  {
3804
3856
  ref,
@@ -3807,7 +3859,7 @@ var NavigationMenuTrigger = React53.forwardRef(({ className, children, ...props
3807
3859
  children: [
3808
3860
  children,
3809
3861
  " ",
3810
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3862
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3811
3863
  import_lucide_react15.ChevronDown,
3812
3864
  {
3813
3865
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
@@ -3818,7 +3870,7 @@ var NavigationMenuTrigger = React53.forwardRef(({ className, children, ...props
3818
3870
  }
3819
3871
  ));
3820
3872
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
3821
- var NavigationMenuContent = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3873
+ var NavigationMenuContent = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3822
3874
  NavigationMenuPrimitive.Content,
3823
3875
  {
3824
3876
  ref,
@@ -3831,7 +3883,7 @@ var NavigationMenuContent = React53.forwardRef(({ className, ...props }, ref) =>
3831
3883
  ));
3832
3884
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
3833
3885
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
3834
- var NavigationMenuViewport = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3886
+ var NavigationMenuViewport = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3835
3887
  NavigationMenuPrimitive.Viewport,
3836
3888
  {
3837
3889
  className: cn(
@@ -3843,7 +3895,7 @@ var NavigationMenuViewport = React53.forwardRef(({ className, ...props }, ref) =
3843
3895
  }
3844
3896
  ) }));
3845
3897
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
3846
- var NavigationMenuIndicator = React53.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3898
+ var NavigationMenuIndicator = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3847
3899
  NavigationMenuPrimitive.Indicator,
3848
3900
  {
3849
3901
  ref,
@@ -3852,20 +3904,20 @@ var NavigationMenuIndicator = React53.forwardRef(({ className, ...props }, ref)
3852
3904
  className
3853
3905
  ),
3854
3906
  ...props,
3855
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
3907
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
3856
3908
  }
3857
3909
  ));
3858
3910
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
3859
3911
 
3860
3912
  // src/components/ui/select.tsx
3861
- var React54 = __toESM(require("react"), 1);
3913
+ var React55 = __toESM(require("react"), 1);
3862
3914
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
3863
3915
  var import_lucide_react16 = require("lucide-react");
3864
- var import_jsx_runtime65 = require("react/jsx-runtime");
3916
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3865
3917
  var Select = SelectPrimitive.Root;
3866
3918
  var SelectGroup = SelectPrimitive.Group;
3867
3919
  var SelectValue = SelectPrimitive.Value;
3868
- var SelectTrigger = React54.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3920
+ var SelectTrigger = React55.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3869
3921
  SelectPrimitive.Trigger,
3870
3922
  {
3871
3923
  ref,
@@ -3876,32 +3928,32 @@ var SelectTrigger = React54.forwardRef(({ className, children, ...props }, ref)
3876
3928
  ...props,
3877
3929
  children: [
3878
3930
  children,
3879
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
3931
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
3880
3932
  ]
3881
3933
  }
3882
3934
  ));
3883
3935
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3884
- var SelectScrollUpButton = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3936
+ var SelectScrollUpButton = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3885
3937
  SelectPrimitive.ScrollUpButton,
3886
3938
  {
3887
3939
  ref,
3888
3940
  className: cn("flex cursor-default items-center justify-center py-1", className),
3889
3941
  ...props,
3890
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react16.ChevronUp, { className: "h-4 w-4" })
3942
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react16.ChevronUp, { className: "h-4 w-4" })
3891
3943
  }
3892
3944
  ));
3893
3945
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3894
- var SelectScrollDownButton = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3946
+ var SelectScrollDownButton = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3895
3947
  SelectPrimitive.ScrollDownButton,
3896
3948
  {
3897
3949
  ref,
3898
3950
  className: cn("flex cursor-default items-center justify-center py-1", className),
3899
3951
  ...props,
3900
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4" })
3952
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react16.ChevronDown, { className: "h-4 w-4" })
3901
3953
  }
3902
3954
  ));
3903
3955
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3904
- var SelectContent = React54.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3956
+ var SelectContent = React55.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3905
3957
  SelectPrimitive.Content,
3906
3958
  {
3907
3959
  ref,
@@ -3913,8 +3965,8 @@ var SelectContent = React54.forwardRef(({ className, children, position = "poppe
3913
3965
  position,
3914
3966
  ...props,
3915
3967
  children: [
3916
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectScrollUpButton, {}),
3917
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3968
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectScrollUpButton, {}),
3969
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3918
3970
  SelectPrimitive.Viewport,
3919
3971
  {
3920
3972
  className: cn(
@@ -3924,14 +3976,14 @@ var SelectContent = React54.forwardRef(({ className, children, position = "poppe
3924
3976
  children
3925
3977
  }
3926
3978
  ),
3927
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectScrollDownButton, {})
3979
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectScrollDownButton, {})
3928
3980
  ]
3929
3981
  }
3930
3982
  ) }));
3931
3983
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3932
- var SelectLabel = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.Label, { ref, className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className), ...props }));
3984
+ var SelectLabel = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.Label, { ref, className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className), ...props }));
3933
3985
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3934
- var SelectItem = React54.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3986
+ var SelectItem = React55.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3935
3987
  SelectPrimitive.Item,
3936
3988
  {
3937
3989
  ref,
@@ -3941,36 +3993,36 @@ var SelectItem = React54.forwardRef(({ className, children, ...props }, ref) =>
3941
3993
  ),
3942
3994
  ...props,
3943
3995
  children: [
3944
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react16.Check, { className: "h-4 w-4" }) }) }),
3945
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.ItemText, { children })
3996
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react16.Check, { className: "h-4 w-4" }) }) }),
3997
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.ItemText, { children })
3946
3998
  ]
3947
3999
  }
3948
4000
  ));
3949
4001
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3950
- var SelectSeparator = React54.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
4002
+ var SelectSeparator = React55.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(SelectPrimitive.Separator, { ref, className: cn("-mx-1 my-1 h-px bg-muted", className), ...props }));
3951
4003
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3952
4004
 
3953
4005
  // src/components/ui/table.tsx
3954
- var React55 = __toESM(require("react"), 1);
3955
- var import_jsx_runtime66 = require("react/jsx-runtime");
3956
- var Table = React55.forwardRef(
3957
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
4006
+ var React56 = __toESM(require("react"), 1);
4007
+ var import_jsx_runtime67 = require("react/jsx-runtime");
4008
+ var Table = React56.forwardRef(
4009
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props }) })
3958
4010
  );
3959
4011
  Table.displayName = "Table";
3960
- var TableHeader = React55.forwardRef(
3961
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
4012
+ var TableHeader = React56.forwardRef(
4013
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
3962
4014
  );
3963
4015
  TableHeader.displayName = "TableHeader";
3964
- var TableBody = React55.forwardRef(
3965
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
4016
+ var TableBody = React56.forwardRef(
4017
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("tbody", { ref, className: cn("[&_tr:last-child]:border-0", className), ...props })
3966
4018
  );
3967
4019
  TableBody.displayName = "TableBody";
3968
- var TableFooter = React55.forwardRef(
3969
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
4020
+ var TableFooter = React56.forwardRef(
4021
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("tfoot", { ref, className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props })
3970
4022
  );
3971
4023
  TableFooter.displayName = "TableFooter";
3972
- var TableRow = React55.forwardRef(
3973
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4024
+ var TableRow = React56.forwardRef(
4025
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3974
4026
  "tr",
3975
4027
  {
3976
4028
  ref,
@@ -3980,8 +4032,8 @@ var TableRow = React55.forwardRef(
3980
4032
  )
3981
4033
  );
3982
4034
  TableRow.displayName = "TableRow";
3983
- var TableHead = React55.forwardRef(
3984
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4035
+ var TableHead = React56.forwardRef(
4036
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3985
4037
  "th",
3986
4038
  {
3987
4039
  ref,
@@ -3994,32 +4046,32 @@ var TableHead = React55.forwardRef(
3994
4046
  )
3995
4047
  );
3996
4048
  TableHead.displayName = "TableHead";
3997
- var TableCell = React55.forwardRef(
3998
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
4049
+ var TableCell = React56.forwardRef(
4050
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("td", { ref, className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className), ...props })
3999
4051
  );
4000
4052
  TableCell.displayName = "TableCell";
4001
- var TableCaption = React55.forwardRef(
4002
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
4053
+ var TableCaption = React56.forwardRef(
4054
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("caption", { ref, className: cn("mt-4 text-sm text-muted-foreground", className), ...props })
4003
4055
  );
4004
4056
  TableCaption.displayName = "TableCaption";
4005
4057
 
4006
4058
  // src/components/ui/chart.tsx
4007
- var React56 = __toESM(require("react"), 1);
4059
+ var React57 = __toESM(require("react"), 1);
4008
4060
  var RechartsPrimitive = __toESM(require("recharts"), 1);
4009
- var import_jsx_runtime67 = require("react/jsx-runtime");
4061
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4010
4062
  var THEMES = { light: "", dark: ".dark" };
4011
- var ChartContext = React56.createContext(null);
4063
+ var ChartContext = React57.createContext(null);
4012
4064
  function useChart() {
4013
- const context = React56.useContext(ChartContext);
4065
+ const context = React57.useContext(ChartContext);
4014
4066
  if (!context) {
4015
4067
  throw new Error("useChart must be used within a <ChartContainer />");
4016
4068
  }
4017
4069
  return context;
4018
4070
  }
4019
- var ChartContainer = React56.forwardRef(({ id, className, children, config, ...props }, ref) => {
4020
- const uniqueId = React56.useId();
4071
+ var ChartContainer = React57.forwardRef(({ id, className, children, config, ...props }, ref) => {
4072
+ const uniqueId = React57.useId();
4021
4073
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
4022
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4074
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4023
4075
  "div",
4024
4076
  {
4025
4077
  "data-chart": chartId,
@@ -4030,8 +4082,8 @@ var ChartContainer = React56.forwardRef(({ id, className, children, config, ...p
4030
4082
  ),
4031
4083
  ...props,
4032
4084
  children: [
4033
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ChartStyle, { id: chartId, config }),
4034
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
4085
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ChartStyle, { id: chartId, config }),
4086
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(RechartsPrimitive.ResponsiveContainer, { children })
4035
4087
  ]
4036
4088
  }
4037
4089
  ) });
@@ -4042,7 +4094,7 @@ var ChartStyle = ({ id, config }) => {
4042
4094
  if (!colorConfig.length) {
4043
4095
  return null;
4044
4096
  }
4045
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4097
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4046
4098
  "style",
4047
4099
  {
4048
4100
  dangerouslySetInnerHTML: {
@@ -4061,7 +4113,7 @@ ${colorConfig.map(([key, itemConfig]) => {
4061
4113
  );
4062
4114
  };
4063
4115
  var ChartTooltip = RechartsPrimitive.Tooltip;
4064
- var ChartTooltipContent = React56.forwardRef(
4116
+ var ChartTooltipContent = React57.forwardRef(
4065
4117
  ({
4066
4118
  active,
4067
4119
  payload,
@@ -4078,7 +4130,7 @@ var ChartTooltipContent = React56.forwardRef(
4078
4130
  labelKey
4079
4131
  }, ref) => {
4080
4132
  const { config } = useChart();
4081
- const tooltipLabel = React56.useMemo(() => {
4133
+ const tooltipLabel = React57.useMemo(() => {
4082
4134
  if (hideLabel || !payload?.length) {
4083
4135
  return null;
4084
4136
  }
@@ -4087,18 +4139,18 @@ var ChartTooltipContent = React56.forwardRef(
4087
4139
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
4088
4140
  const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
4089
4141
  if (labelFormatter) {
4090
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
4142
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
4091
4143
  }
4092
4144
  if (!value) {
4093
4145
  return null;
4094
4146
  }
4095
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
4147
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("font-medium", labelClassName), children: value });
4096
4148
  }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
4097
4149
  if (!active || !payload?.length) {
4098
4150
  return null;
4099
4151
  }
4100
4152
  const nestLabel = payload.length === 1 && indicator !== "dot";
4101
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4153
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4102
4154
  "div",
4103
4155
  {
4104
4156
  ref,
@@ -4108,19 +4160,19 @@ var ChartTooltipContent = React56.forwardRef(
4108
4160
  ),
4109
4161
  children: [
4110
4162
  !nestLabel ? tooltipLabel : null,
4111
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
4163
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
4112
4164
  const key = `${nameKey || item.name || item.dataKey || "value"}`;
4113
4165
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
4114
4166
  const indicatorColor = color || item.payload.fill || item.color;
4115
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4167
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4116
4168
  "div",
4117
4169
  {
4118
4170
  className: cn(
4119
4171
  "flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
4120
4172
  indicator === "dot" && "items-center"
4121
4173
  ),
4122
- children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
4123
- itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4174
+ children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
4175
+ itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4124
4176
  "div",
4125
4177
  {
4126
4178
  className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
@@ -4135,7 +4187,7 @@ var ChartTooltipContent = React56.forwardRef(
4135
4187
  }
4136
4188
  }
4137
4189
  ),
4138
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4190
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4139
4191
  "div",
4140
4192
  {
4141
4193
  className: cn(
@@ -4143,11 +4195,11 @@ var ChartTooltipContent = React56.forwardRef(
4143
4195
  nestLabel ? "items-end" : "items-center"
4144
4196
  ),
4145
4197
  children: [
4146
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "grid gap-1.5", children: [
4198
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "grid gap-1.5", children: [
4147
4199
  nestLabel ? tooltipLabel : null,
4148
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
4200
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
4149
4201
  ] }),
4150
- item.value && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
4202
+ item.value && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
4151
4203
  ]
4152
4204
  }
4153
4205
  )
@@ -4163,12 +4215,12 @@ var ChartTooltipContent = React56.forwardRef(
4163
4215
  );
4164
4216
  ChartTooltipContent.displayName = "ChartTooltip";
4165
4217
  var ChartLegend = RechartsPrimitive.Legend;
4166
- var ChartLegendContent = React56.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
4218
+ var ChartLegendContent = React57.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
4167
4219
  const { config } = useChart();
4168
4220
  if (!payload?.length) {
4169
4221
  return null;
4170
4222
  }
4171
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4223
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4172
4224
  "div",
4173
4225
  {
4174
4226
  ref,
@@ -4176,12 +4228,12 @@ var ChartLegendContent = React56.forwardRef(({ className, hideIcon = false, payl
4176
4228
  children: payload.map((item) => {
4177
4229
  const key = `${nameKey || item.dataKey || "value"}`;
4178
4230
  const itemConfig = getPayloadConfigFromPayload(config, item, key);
4179
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
4231
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
4180
4232
  "div",
4181
4233
  {
4182
4234
  className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
4183
4235
  children: [
4184
- itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4236
+ itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4185
4237
  "div",
4186
4238
  {
4187
4239
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -4217,9 +4269,9 @@ function getPayloadConfigFromPayload(config, payload, key) {
4217
4269
  // src/components/ui/calendar.tsx
4218
4270
  var import_lucide_react17 = require("lucide-react");
4219
4271
  var import_react_day_picker = require("react-day-picker");
4220
- var import_jsx_runtime68 = require("react/jsx-runtime");
4272
+ var import_jsx_runtime69 = require("react/jsx-runtime");
4221
4273
  function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
4222
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4274
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4223
4275
  import_react_day_picker.DayPicker,
4224
4276
  {
4225
4277
  showOutsideDays,
@@ -4252,8 +4304,8 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
4252
4304
  ...classNames
4253
4305
  },
4254
4306
  components: {
4255
- IconLeft: ({ ..._props }) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_lucide_react17.ChevronLeft, { className: "h-4 w-4" }),
4256
- IconRight: ({ ..._props }) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_lucide_react17.ChevronRight, { className: "h-4 w-4" })
4307
+ IconLeft: ({ ..._props }) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react17.ChevronLeft, { className: "h-4 w-4" }),
4308
+ IconRight: ({ ..._props }) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react17.ChevronRight, { className: "h-4 w-4" })
4257
4309
  },
4258
4310
  ...props
4259
4311
  }
@@ -4262,15 +4314,15 @@ function Calendar({ className, classNames, showOutsideDays = true, ...props }) {
4262
4314
  Calendar.displayName = "Calendar";
4263
4315
 
4264
4316
  // src/components/ui/sidebar.tsx
4265
- var React57 = __toESM(require("react"), 1);
4317
+ var React58 = __toESM(require("react"), 1);
4266
4318
  var import_react_slot4 = require("@radix-ui/react-slot");
4267
4319
  var import_class_variance_authority11 = require("class-variance-authority");
4268
4320
  var import_lucide_react18 = require("lucide-react");
4269
- var import_jsx_runtime69 = require("react/jsx-runtime");
4321
+ var import_jsx_runtime70 = require("react/jsx-runtime");
4270
4322
  var MOBILE_BREAKPOINT = 768;
4271
4323
  function useIsMobile() {
4272
- const [isMobile, setIsMobile] = React57.useState(void 0);
4273
- React57.useEffect(() => {
4324
+ const [isMobile, setIsMobile] = React58.useState(void 0);
4325
+ React58.useEffect(() => {
4274
4326
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
4275
4327
  const onChange = () => {
4276
4328
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -4287,20 +4339,20 @@ var SIDEBAR_WIDTH = "16rem";
4287
4339
  var SIDEBAR_WIDTH_MOBILE = "18rem";
4288
4340
  var SIDEBAR_WIDTH_ICON = "3rem";
4289
4341
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
4290
- var SidebarContext = React57.createContext(null);
4342
+ var SidebarContext = React58.createContext(null);
4291
4343
  function useSidebar() {
4292
- const context = React57.useContext(SidebarContext);
4344
+ const context = React58.useContext(SidebarContext);
4293
4345
  if (!context) {
4294
4346
  throw new Error("useSidebar must be used within a SidebarProvider.");
4295
4347
  }
4296
4348
  return context;
4297
4349
  }
4298
- var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
4350
+ var SidebarProvider = React58.forwardRef(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {
4299
4351
  const isMobile = useIsMobile();
4300
- const [openMobile, setOpenMobile] = React57.useState(false);
4301
- const [_open, _setOpen] = React57.useState(defaultOpen);
4352
+ const [openMobile, setOpenMobile] = React58.useState(false);
4353
+ const [_open, _setOpen] = React58.useState(defaultOpen);
4302
4354
  const open = openProp ?? _open;
4303
- const setOpen = React57.useCallback(
4355
+ const setOpen = React58.useCallback(
4304
4356
  (value) => {
4305
4357
  const openState = typeof value === "function" ? value(open) : value;
4306
4358
  if (setOpenProp) {
@@ -4312,10 +4364,10 @@ var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp,
4312
4364
  },
4313
4365
  [setOpenProp, open]
4314
4366
  );
4315
- const toggleSidebar = React57.useCallback(() => {
4367
+ const toggleSidebar = React58.useCallback(() => {
4316
4368
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
4317
4369
  }, [isMobile, setOpen, setOpenMobile]);
4318
- React57.useEffect(() => {
4370
+ React58.useEffect(() => {
4319
4371
  const handleKeyDown = (event) => {
4320
4372
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
4321
4373
  event.preventDefault();
@@ -4326,7 +4378,7 @@ var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp,
4326
4378
  return () => window.removeEventListener("keydown", handleKeyDown);
4327
4379
  }, [toggleSidebar]);
4328
4380
  const state = open ? "expanded" : "collapsed";
4329
- const contextValue = React57.useMemo(
4381
+ const contextValue = React58.useMemo(
4330
4382
  () => ({
4331
4383
  state,
4332
4384
  open,
@@ -4338,7 +4390,7 @@ var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp,
4338
4390
  }),
4339
4391
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
4340
4392
  );
4341
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4393
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4342
4394
  "div",
4343
4395
  {
4344
4396
  style: {
@@ -4354,10 +4406,10 @@ var SidebarProvider = React57.forwardRef(({ defaultOpen = true, open: openProp,
4354
4406
  ) }) });
4355
4407
  });
4356
4408
  SidebarProvider.displayName = "SidebarProvider";
4357
- var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
4409
+ var Sidebar = React58.forwardRef(({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }, ref) => {
4358
4410
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
4359
4411
  if (collapsible === "none") {
4360
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4412
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4361
4413
  "div",
4362
4414
  {
4363
4415
  className: cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground", className),
@@ -4368,7 +4420,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4368
4420
  );
4369
4421
  }
4370
4422
  if (isMobile) {
4371
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4423
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4372
4424
  SheetContent,
4373
4425
  {
4374
4426
  "data-sidebar": "sidebar",
@@ -4378,11 +4430,11 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4378
4430
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
4379
4431
  },
4380
4432
  side,
4381
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "flex h-full w-full flex-col", children })
4433
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex h-full w-full flex-col", children })
4382
4434
  }
4383
4435
  ) });
4384
4436
  }
4385
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4437
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4386
4438
  "div",
4387
4439
  {
4388
4440
  ref,
@@ -4392,7 +4444,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4392
4444
  "data-variant": variant,
4393
4445
  "data-side": side,
4394
4446
  children: [
4395
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4447
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4396
4448
  "div",
4397
4449
  {
4398
4450
  className: cn(
@@ -4403,7 +4455,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4403
4455
  )
4404
4456
  }
4405
4457
  ),
4406
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4458
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4407
4459
  "div",
4408
4460
  {
4409
4461
  className: cn(
@@ -4414,7 +4466,7 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4414
4466
  className
4415
4467
  ),
4416
4468
  ...props,
4417
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4469
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4418
4470
  "div",
4419
4471
  {
4420
4472
  "data-sidebar": "sidebar",
@@ -4429,10 +4481,10 @@ var Sidebar = React57.forwardRef(({ side = "left", variant = "sidebar", collapsi
4429
4481
  );
4430
4482
  });
4431
4483
  Sidebar.displayName = "Sidebar";
4432
- var SidebarTrigger = React57.forwardRef(
4484
+ var SidebarTrigger = React58.forwardRef(
4433
4485
  ({ className, onClick, ...props }, ref) => {
4434
4486
  const { toggleSidebar } = useSidebar();
4435
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4487
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4436
4488
  Button3D,
4437
4489
  {
4438
4490
  ref,
@@ -4446,18 +4498,18 @@ var SidebarTrigger = React57.forwardRef(
4446
4498
  },
4447
4499
  ...props,
4448
4500
  children: [
4449
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react18.PanelLeft, {}),
4450
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
4501
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react18.PanelLeft, {}),
4502
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
4451
4503
  ]
4452
4504
  }
4453
4505
  );
4454
4506
  }
4455
4507
  );
4456
4508
  SidebarTrigger.displayName = "SidebarTrigger";
4457
- var SidebarRail = React57.forwardRef(
4509
+ var SidebarRail = React58.forwardRef(
4458
4510
  ({ className, ...props }, ref) => {
4459
4511
  const { toggleSidebar } = useSidebar();
4460
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4512
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4461
4513
  "button",
4462
4514
  {
4463
4515
  ref,
@@ -4481,8 +4533,8 @@ var SidebarRail = React57.forwardRef(
4481
4533
  }
4482
4534
  );
4483
4535
  SidebarRail.displayName = "SidebarRail";
4484
- var SidebarInset = React57.forwardRef(({ className, ...props }, ref) => {
4485
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4536
+ var SidebarInset = React58.forwardRef(({ className, ...props }, ref) => {
4537
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4486
4538
  "main",
4487
4539
  {
4488
4540
  ref,
@@ -4496,9 +4548,9 @@ var SidebarInset = React57.forwardRef(({ className, ...props }, ref) => {
4496
4548
  );
4497
4549
  });
4498
4550
  SidebarInset.displayName = "SidebarInset";
4499
- var SidebarInput = React57.forwardRef(
4551
+ var SidebarInput = React58.forwardRef(
4500
4552
  ({ className, ...props }, ref) => {
4501
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4553
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4502
4554
  Input,
4503
4555
  {
4504
4556
  ref,
@@ -4513,17 +4565,17 @@ var SidebarInput = React57.forwardRef(
4513
4565
  }
4514
4566
  );
4515
4567
  SidebarInput.displayName = "SidebarInput";
4516
- var SidebarHeader = React57.forwardRef(({ className, ...props }, ref) => {
4517
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
4568
+ var SidebarHeader = React58.forwardRef(({ className, ...props }, ref) => {
4569
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ref, "data-sidebar": "header", className: cn("flex flex-col gap-2 p-2", className), ...props });
4518
4570
  });
4519
4571
  SidebarHeader.displayName = "SidebarHeader";
4520
- var SidebarFooter = React57.forwardRef(({ className, ...props }, ref) => {
4521
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
4572
+ var SidebarFooter = React58.forwardRef(({ className, ...props }, ref) => {
4573
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ref, "data-sidebar": "footer", className: cn("flex flex-col gap-2 p-2", className), ...props });
4522
4574
  });
4523
4575
  SidebarFooter.displayName = "SidebarFooter";
4524
- var SidebarSeparator = React57.forwardRef(
4576
+ var SidebarSeparator = React58.forwardRef(
4525
4577
  ({ className, ...props }, ref) => {
4526
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4578
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4527
4579
  Separator2,
4528
4580
  {
4529
4581
  ref,
@@ -4535,8 +4587,8 @@ var SidebarSeparator = React57.forwardRef(
4535
4587
  }
4536
4588
  );
4537
4589
  SidebarSeparator.displayName = "SidebarSeparator";
4538
- var SidebarContent = React57.forwardRef(({ className, ...props }, ref) => {
4539
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4590
+ var SidebarContent = React58.forwardRef(({ className, ...props }, ref) => {
4591
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4540
4592
  "div",
4541
4593
  {
4542
4594
  ref,
@@ -4550,8 +4602,8 @@ var SidebarContent = React57.forwardRef(({ className, ...props }, ref) => {
4550
4602
  );
4551
4603
  });
4552
4604
  SidebarContent.displayName = "SidebarContent";
4553
- var SidebarGroup = React57.forwardRef(({ className, ...props }, ref) => {
4554
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4605
+ var SidebarGroup = React58.forwardRef(({ className, ...props }, ref) => {
4606
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4555
4607
  "div",
4556
4608
  {
4557
4609
  ref,
@@ -4562,10 +4614,10 @@ var SidebarGroup = React57.forwardRef(({ className, ...props }, ref) => {
4562
4614
  );
4563
4615
  });
4564
4616
  SidebarGroup.displayName = "SidebarGroup";
4565
- var SidebarGroupLabel = React57.forwardRef(
4617
+ var SidebarGroupLabel = React58.forwardRef(
4566
4618
  ({ className, asChild = false, ...props }, ref) => {
4567
4619
  const Comp = asChild ? import_react_slot4.Slot : "div";
4568
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4620
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4569
4621
  Comp,
4570
4622
  {
4571
4623
  ref,
@@ -4581,10 +4633,10 @@ var SidebarGroupLabel = React57.forwardRef(
4581
4633
  }
4582
4634
  );
4583
4635
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
4584
- var SidebarGroupAction = React57.forwardRef(
4636
+ var SidebarGroupAction = React58.forwardRef(
4585
4637
  ({ className, asChild = false, ...props }, ref) => {
4586
4638
  const Comp = asChild ? import_react_slot4.Slot : "button";
4587
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4639
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4588
4640
  Comp,
4589
4641
  {
4590
4642
  ref,
@@ -4602,13 +4654,13 @@ var SidebarGroupAction = React57.forwardRef(
4602
4654
  }
4603
4655
  );
4604
4656
  SidebarGroupAction.displayName = "SidebarGroupAction";
4605
- var SidebarGroupContent = React57.forwardRef(
4606
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
4657
+ var SidebarGroupContent = React58.forwardRef(
4658
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ref, "data-sidebar": "group-content", className: cn("w-full text-sm", className), ...props })
4607
4659
  );
4608
4660
  SidebarGroupContent.displayName = "SidebarGroupContent";
4609
- var SidebarMenu = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
4661
+ var SidebarMenu = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("ul", { ref, "data-sidebar": "menu", className: cn("flex w-full min-w-0 flex-col gap-1", className), ...props }));
4610
4662
  SidebarMenu.displayName = "SidebarMenu";
4611
- var SidebarMenuItem = React57.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
4663
+ var SidebarMenuItem = React58.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("li", { ref, "data-sidebar": "menu-item", className: cn("group/menu-item relative", className), ...props }));
4612
4664
  SidebarMenuItem.displayName = "SidebarMenuItem";
4613
4665
  var sidebarMenuButtonVariants = (0, import_class_variance_authority11.cva)(
4614
4666
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
@@ -4630,10 +4682,10 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority11.cva)(
4630
4682
  }
4631
4683
  }
4632
4684
  );
4633
- var SidebarMenuButton = React57.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
4685
+ var SidebarMenuButton = React58.forwardRef(({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }, ref) => {
4634
4686
  const Comp = asChild ? import_react_slot4.Slot : "button";
4635
4687
  const { isMobile, state } = useSidebar();
4636
- const button = /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4688
+ const button = /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4637
4689
  Comp,
4638
4690
  {
4639
4691
  ref,
@@ -4652,15 +4704,15 @@ var SidebarMenuButton = React57.forwardRef(({ asChild = false, isActive = false,
4652
4704
  children: tooltip
4653
4705
  };
4654
4706
  }
4655
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Tooltip, { children: [
4656
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TooltipTrigger, { asChild: true, children: button }),
4657
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
4707
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Tooltip, { children: [
4708
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TooltipTrigger, { asChild: true, children: button }),
4709
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TooltipContent, { side: "right", align: "center", hidden: state !== "collapsed" || isMobile, ...tooltip })
4658
4710
  ] });
4659
4711
  });
4660
4712
  SidebarMenuButton.displayName = "SidebarMenuButton";
4661
- var SidebarMenuAction = React57.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
4713
+ var SidebarMenuAction = React58.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
4662
4714
  const Comp = asChild ? import_react_slot4.Slot : "button";
4663
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4715
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4664
4716
  Comp,
4665
4717
  {
4666
4718
  ref,
@@ -4681,8 +4733,8 @@ var SidebarMenuAction = React57.forwardRef(({ className, asChild = false, showOn
4681
4733
  );
4682
4734
  });
4683
4735
  SidebarMenuAction.displayName = "SidebarMenuAction";
4684
- var SidebarMenuBadge = React57.forwardRef(
4685
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4736
+ var SidebarMenuBadge = React58.forwardRef(
4737
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4686
4738
  "div",
4687
4739
  {
4688
4740
  ref,
@@ -4701,11 +4753,11 @@ var SidebarMenuBadge = React57.forwardRef(
4701
4753
  )
4702
4754
  );
4703
4755
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
4704
- var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...props }, ref) => {
4705
- const width = React57.useMemo(() => {
4756
+ var SidebarMenuSkeleton = React58.forwardRef(({ className, showIcon = false, ...props }, ref) => {
4757
+ const width = React58.useMemo(() => {
4706
4758
  return `${Math.floor(Math.random() * 40) + 50}%`;
4707
4759
  }, []);
4708
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
4760
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4709
4761
  "div",
4710
4762
  {
4711
4763
  ref,
@@ -4713,8 +4765,8 @@ var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...
4713
4765
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
4714
4766
  ...props,
4715
4767
  children: [
4716
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
4717
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4768
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "size-4 rounded-md", "data-sidebar": "menu-skeleton-icon" }),
4769
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4718
4770
  Skeleton,
4719
4771
  {
4720
4772
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -4729,8 +4781,8 @@ var SidebarMenuSkeleton = React57.forwardRef(({ className, showIcon = false, ...
4729
4781
  );
4730
4782
  });
4731
4783
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
4732
- var SidebarMenuSub = React57.forwardRef(
4733
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4784
+ var SidebarMenuSub = React58.forwardRef(
4785
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4734
4786
  "ul",
4735
4787
  {
4736
4788
  ref,
@@ -4745,11 +4797,11 @@ var SidebarMenuSub = React57.forwardRef(
4745
4797
  )
4746
4798
  );
4747
4799
  SidebarMenuSub.displayName = "SidebarMenuSub";
4748
- var SidebarMenuSubItem = React57.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("li", { ref, ...props }));
4800
+ var SidebarMenuSubItem = React58.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("li", { ref, ...props }));
4749
4801
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
4750
- var SidebarMenuSubButton = React57.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
4802
+ var SidebarMenuSubButton = React58.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
4751
4803
  const Comp = asChild ? import_react_slot4.Slot : "a";
4752
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4804
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4753
4805
  Comp,
4754
4806
  {
4755
4807
  ref,
@@ -4771,19 +4823,19 @@ var SidebarMenuSubButton = React57.forwardRef(({ asChild = false, size = "md", i
4771
4823
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
4772
4824
 
4773
4825
  // src/components/ui/carousel.tsx
4774
- var React58 = __toESM(require("react"), 1);
4826
+ var React59 = __toESM(require("react"), 1);
4775
4827
  var import_embla_carousel_react = __toESM(require("embla-carousel-react"), 1);
4776
4828
  var import_lucide_react19 = require("lucide-react");
4777
- var import_jsx_runtime70 = require("react/jsx-runtime");
4778
- var CarouselContext = React58.createContext(null);
4829
+ var import_jsx_runtime71 = require("react/jsx-runtime");
4830
+ var CarouselContext = React59.createContext(null);
4779
4831
  function useCarousel() {
4780
- const context = React58.useContext(CarouselContext);
4832
+ const context = React59.useContext(CarouselContext);
4781
4833
  if (!context) {
4782
4834
  throw new Error("useCarousel must be used within a <Carousel />");
4783
4835
  }
4784
4836
  return context;
4785
4837
  }
4786
- var Carousel = React58.forwardRef(
4838
+ var Carousel = React59.forwardRef(
4787
4839
  ({ orientation = "horizontal", opts, setApi, plugins, className, children, ...props }, ref) => {
4788
4840
  const [carouselRef, api] = (0, import_embla_carousel_react.default)(
4789
4841
  {
@@ -4792,22 +4844,22 @@ var Carousel = React58.forwardRef(
4792
4844
  },
4793
4845
  plugins
4794
4846
  );
4795
- const [canScrollPrev, setCanScrollPrev] = React58.useState(false);
4796
- const [canScrollNext, setCanScrollNext] = React58.useState(false);
4797
- const onSelect = React58.useCallback((api2) => {
4847
+ const [canScrollPrev, setCanScrollPrev] = React59.useState(false);
4848
+ const [canScrollNext, setCanScrollNext] = React59.useState(false);
4849
+ const onSelect = React59.useCallback((api2) => {
4798
4850
  if (!api2) {
4799
4851
  return;
4800
4852
  }
4801
4853
  setCanScrollPrev(api2.canScrollPrev());
4802
4854
  setCanScrollNext(api2.canScrollNext());
4803
4855
  }, []);
4804
- const scrollPrev = React58.useCallback(() => {
4856
+ const scrollPrev = React59.useCallback(() => {
4805
4857
  api?.scrollPrev();
4806
4858
  }, [api]);
4807
- const scrollNext = React58.useCallback(() => {
4859
+ const scrollNext = React59.useCallback(() => {
4808
4860
  api?.scrollNext();
4809
4861
  }, [api]);
4810
- const handleKeyDown = React58.useCallback(
4862
+ const handleKeyDown = React59.useCallback(
4811
4863
  (event) => {
4812
4864
  if (event.key === "ArrowLeft") {
4813
4865
  event.preventDefault();
@@ -4819,13 +4871,13 @@ var Carousel = React58.forwardRef(
4819
4871
  },
4820
4872
  [scrollPrev, scrollNext]
4821
4873
  );
4822
- React58.useEffect(() => {
4874
+ React59.useEffect(() => {
4823
4875
  if (!api || !setApi) {
4824
4876
  return;
4825
4877
  }
4826
4878
  setApi(api);
4827
4879
  }, [api, setApi]);
4828
- React58.useEffect(() => {
4880
+ React59.useEffect(() => {
4829
4881
  if (!api) {
4830
4882
  return;
4831
4883
  }
@@ -4836,7 +4888,7 @@ var Carousel = React58.forwardRef(
4836
4888
  api?.off("select", onSelect);
4837
4889
  };
4838
4890
  }, [api, onSelect]);
4839
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4891
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4840
4892
  CarouselContext.Provider,
4841
4893
  {
4842
4894
  value: {
@@ -4849,7 +4901,7 @@ var Carousel = React58.forwardRef(
4849
4901
  canScrollPrev,
4850
4902
  canScrollNext
4851
4903
  },
4852
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4904
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4853
4905
  "div",
4854
4906
  {
4855
4907
  ref,
@@ -4866,10 +4918,10 @@ var Carousel = React58.forwardRef(
4866
4918
  }
4867
4919
  );
4868
4920
  Carousel.displayName = "Carousel";
4869
- var CarouselContent = React58.forwardRef(
4921
+ var CarouselContent = React59.forwardRef(
4870
4922
  ({ className, ...props }, ref) => {
4871
4923
  const { carouselRef, orientation } = useCarousel();
4872
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4924
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4873
4925
  "div",
4874
4926
  {
4875
4927
  ref,
@@ -4880,10 +4932,10 @@ var CarouselContent = React58.forwardRef(
4880
4932
  }
4881
4933
  );
4882
4934
  CarouselContent.displayName = "CarouselContent";
4883
- var CarouselItem = React58.forwardRef(
4935
+ var CarouselItem = React59.forwardRef(
4884
4936
  ({ className, ...props }, ref) => {
4885
4937
  const { orientation } = useCarousel();
4886
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4938
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4887
4939
  "div",
4888
4940
  {
4889
4941
  ref,
@@ -4896,10 +4948,10 @@ var CarouselItem = React58.forwardRef(
4896
4948
  }
4897
4949
  );
4898
4950
  CarouselItem.displayName = "CarouselItem";
4899
- var CarouselPrevious = React58.forwardRef(
4951
+ var CarouselPrevious = React59.forwardRef(
4900
4952
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
4901
4953
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
4902
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4954
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
4903
4955
  Button3D,
4904
4956
  {
4905
4957
  ref,
@@ -4914,18 +4966,18 @@ var CarouselPrevious = React58.forwardRef(
4914
4966
  onClick: scrollPrev,
4915
4967
  ...props,
4916
4968
  children: [
4917
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react19.ArrowLeft, { className: "h-4 w-4" }),
4918
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "sr-only", children: "Previous slide" })
4969
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react19.ArrowLeft, { className: "h-4 w-4" }),
4970
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "sr-only", children: "Previous slide" })
4919
4971
  ]
4920
4972
  }
4921
4973
  );
4922
4974
  }
4923
4975
  );
4924
4976
  CarouselPrevious.displayName = "CarouselPrevious";
4925
- var CarouselNext = React58.forwardRef(
4977
+ var CarouselNext = React59.forwardRef(
4926
4978
  ({ className, variant = "outline", size = "icon", ...props }, ref) => {
4927
4979
  const { orientation, scrollNext, canScrollNext } = useCarousel();
4928
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
4980
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
4929
4981
  Button3D,
4930
4982
  {
4931
4983
  ref,
@@ -4940,8 +4992,8 @@ var CarouselNext = React58.forwardRef(
4940
4992
  onClick: scrollNext,
4941
4993
  ...props,
4942
4994
  children: [
4943
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react19.ArrowRight, { className: "h-4 w-4" }),
4944
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "sr-only", children: "Next slide" })
4995
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react19.ArrowRight, { className: "h-4 w-4" }),
4996
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "sr-only", children: "Next slide" })
4945
4997
  ]
4946
4998
  }
4947
4999
  );
@@ -4950,12 +5002,12 @@ var CarouselNext = React58.forwardRef(
4950
5002
  CarouselNext.displayName = "CarouselNext";
4951
5003
 
4952
5004
  // src/components/ui/input-otp.tsx
4953
- var React59 = __toESM(require("react"), 1);
5005
+ var React60 = __toESM(require("react"), 1);
4954
5006
  var import_input_otp = require("input-otp");
4955
5007
  var import_lucide_react20 = require("lucide-react");
4956
- var import_jsx_runtime71 = require("react/jsx-runtime");
4957
- var InputOTP = React59.forwardRef(
4958
- ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
5008
+ var import_jsx_runtime72 = require("react/jsx-runtime");
5009
+ var InputOTP = React60.forwardRef(
5010
+ ({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
4959
5011
  import_input_otp.OTPInput,
4960
5012
  {
4961
5013
  ref,
@@ -4966,14 +5018,14 @@ var InputOTP = React59.forwardRef(
4966
5018
  )
4967
5019
  );
4968
5020
  InputOTP.displayName = "InputOTP";
4969
- var InputOTPGroup = React59.forwardRef(
4970
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { ref, className: cn("flex items-center", className), ...props })
5021
+ var InputOTPGroup = React60.forwardRef(
5022
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { ref, className: cn("flex items-center", className), ...props })
4971
5023
  );
4972
5024
  InputOTPGroup.displayName = "InputOTPGroup";
4973
- var InputOTPSlot = React59.forwardRef(({ index, className, ...props }, ref) => {
4974
- const inputOTPContext = React59.useContext(import_input_otp.OTPInputContext);
5025
+ var InputOTPSlot = React60.forwardRef(({ index, className, ...props }, ref) => {
5026
+ const inputOTPContext = React60.useContext(import_input_otp.OTPInputContext);
4975
5027
  const { char, hasFakeCaret, isActive } = inputOTPContext?.slots?.[index] || {};
4976
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
5028
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
4977
5029
  "div",
4978
5030
  {
4979
5031
  ref,
@@ -4985,22 +5037,22 @@ var InputOTPSlot = React59.forwardRef(({ index, className, ...props }, ref) => {
4985
5037
  ...props,
4986
5038
  children: [
4987
5039
  char,
4988
- hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
5040
+ hasFakeCaret && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
4989
5041
  ]
4990
5042
  }
4991
5043
  );
4992
5044
  });
4993
5045
  InputOTPSlot.displayName = "InputOTPSlot";
4994
- var InputOTPSeparator = React59.forwardRef(
4995
- ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react20.Dot, {}) })
5046
+ var InputOTPSeparator = React60.forwardRef(
5047
+ ({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react20.Dot, {}) })
4996
5048
  );
4997
5049
  InputOTPSeparator.displayName = "InputOTPSeparator";
4998
5050
 
4999
5051
  // src/components/ui/barchart3d.tsx
5000
- var import_react20 = require("react");
5052
+ var import_react21 = require("react");
5001
5053
  var import_fiber3 = require("@react-three/fiber");
5002
5054
  var import_drei8 = require("@react-three/drei");
5003
- var import_jsx_runtime72 = require("react/jsx-runtime");
5055
+ var import_jsx_runtime73 = require("react/jsx-runtime");
5004
5056
  function BarChart3D({
5005
5057
  data,
5006
5058
  orientation = "vertical",
@@ -5008,17 +5060,17 @@ function BarChart3D({
5008
5060
  gap = 0.2,
5009
5061
  animated = true
5010
5062
  }) {
5011
- const maxValue = (0, import_react20.useMemo)(() => Math.max(...data.map((d) => d.value)), [data]);
5012
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("group", { children: [
5013
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("gridHelper", { args: [data.length * (barSize + gap) + 2, 10], position: [0, 0, 0] }),
5014
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_drei8.Instances, { range: data.length, children: [
5015
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("boxGeometry", { args: [barSize, 1, barSize] }),
5016
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("meshStandardMaterial", { roughness: 0.3, metalness: 0.6 }),
5063
+ const maxValue = (0, import_react21.useMemo)(() => Math.max(...data.map((d) => d.value)), [data]);
5064
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("group", { children: [
5065
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("gridHelper", { args: [data.length * (barSize + gap) + 2, 10], position: [0, 0, 0] }),
5066
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_drei8.Instances, { range: data.length, children: [
5067
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("boxGeometry", { args: [barSize, 1, barSize] }),
5068
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("meshStandardMaterial", { roughness: 0.3, metalness: 0.6 }),
5017
5069
  data.map((item, index) => {
5018
5070
  const height = item.value / maxValue * 5;
5019
5071
  const x = (index - data.length / 2) * (barSize + gap);
5020
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("group", { position: [x, 0, 0], children: [
5021
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5072
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("group", { position: [x, 0, 0], children: [
5073
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5022
5074
  BarInstance,
5023
5075
  {
5024
5076
  height,
@@ -5026,7 +5078,7 @@ function BarChart3D({
5026
5078
  animated
5027
5079
  }
5028
5080
  ),
5029
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5081
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5030
5082
  import_drei8.Text,
5031
5083
  {
5032
5084
  position: [0, -0.5, 0],
@@ -5043,8 +5095,8 @@ function BarChart3D({
5043
5095
  ] });
5044
5096
  }
5045
5097
  function BarInstance({ height, color, animated }) {
5046
- const ref = (0, import_react20.useRef)(null);
5047
- const [hovered, setHover] = (0, import_react20.useState)(false);
5098
+ const ref = (0, import_react21.useRef)(null);
5099
+ const [hovered, setHover] = (0, import_react21.useState)(false);
5048
5100
  (0, import_fiber3.useFrame)((state, delta) => {
5049
5101
  if (ref.current) {
5050
5102
  const targetHeight = height;
@@ -5060,7 +5112,7 @@ function BarInstance({ height, color, animated }) {
5060
5112
  }
5061
5113
  }
5062
5114
  });
5063
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
5115
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5064
5116
  import_drei8.Instance,
5065
5117
  {
5066
5118
  ref,
@@ -5072,10 +5124,10 @@ function BarInstance({ height, color, animated }) {
5072
5124
  }
5073
5125
 
5074
5126
  // src/components/ui/linechart3d.tsx
5075
- var import_react21 = require("react");
5127
+ var import_react22 = require("react");
5076
5128
  var import_drei9 = require("@react-three/drei");
5077
5129
  var import_three3 = require("three");
5078
- var import_jsx_runtime73 = (
5130
+ var import_jsx_runtime74 = (
5079
5131
  // Render curve
5080
5132
  require("react/jsx-runtime")
5081
5133
  );
@@ -5086,7 +5138,7 @@ function LineChart3D({
5086
5138
  lineWidth = 3,
5087
5139
  showPoints = true
5088
5140
  }) {
5089
- const points = (0, import_react21.useMemo)(() => {
5141
+ const points = (0, import_react22.useMemo)(() => {
5090
5142
  if (data.length === 0) return [];
5091
5143
  const maxX = Math.max(...data.map((d) => d.x));
5092
5144
  const maxY = Math.max(...data.map((d) => d.y));
@@ -5098,15 +5150,15 @@ function LineChart3D({
5098
5150
  0
5099
5151
  ));
5100
5152
  }, [data]);
5101
- const curve = (0, import_react21.useMemo)(() => {
5153
+ const curve = (0, import_react22.useMemo)(() => {
5102
5154
  if (points.length < 2 || !smooth) return null;
5103
5155
  return new import_three3.CatmullRomCurve3(points);
5104
5156
  }, [points, smooth]);
5105
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("group", { children: [
5106
- smooth && curve ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("mesh", { children: [
5107
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("tubeGeometry", { args: [curve, 64, 0.05, 8, false] }),
5108
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("meshStandardMaterial", { color, emissive: color, emissiveIntensity: 0.5 })
5109
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5157
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("group", { children: [
5158
+ smooth && curve ? /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("mesh", { children: [
5159
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("tubeGeometry", { args: [curve, 64, 0.05, 8, false] }),
5160
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("meshStandardMaterial", { color, emissive: color, emissiveIntensity: 0.5 })
5161
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5110
5162
  import_drei9.Line,
5111
5163
  {
5112
5164
  points,
@@ -5115,20 +5167,20 @@ function LineChart3D({
5115
5167
  segments: true
5116
5168
  }
5117
5169
  ),
5118
- showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("mesh", { position: p, children: [
5119
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("sphereGeometry", { args: [0.1, 16, 16] }),
5120
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("meshStandardMaterial", { color: "white" })
5170
+ showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("mesh", { position: p, children: [
5171
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("sphereGeometry", { args: [0.1, 16, 16] }),
5172
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("meshStandardMaterial", { color: "white" })
5121
5173
  ] }, i)),
5122
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("gridHelper", { args: [12, 12], rotation: [Math.PI / 2, 0, 0], position: [0, 2.5, -0.1] })
5174
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("gridHelper", { args: [12, 12], rotation: [Math.PI / 2, 0, 0], position: [0, 2.5, -0.1] })
5123
5175
  ] });
5124
5176
  }
5125
5177
 
5126
5178
  // src/components/ui/piechart3d.tsx
5127
- var import_react22 = __toESM(require("react"), 1);
5179
+ var import_react23 = __toESM(require("react"), 1);
5128
5180
  var import_three4 = require("three");
5129
5181
  var import_fiber4 = require("@react-three/fiber");
5130
5182
  var import_drei10 = require("@react-three/drei");
5131
- var import_jsx_runtime74 = require("react/jsx-runtime");
5183
+ var import_jsx_runtime75 = require("react/jsx-runtime");
5132
5184
  function PieChart3D({
5133
5185
  data,
5134
5186
  radius = 5,
@@ -5136,9 +5188,9 @@ function PieChart3D({
5136
5188
  explode = true,
5137
5189
  donut = false
5138
5190
  }) {
5139
- const total = (0, import_react22.useMemo)(() => data.reduce((acc, cur) => acc + cur.value, 0), [data]);
5191
+ const total = (0, import_react23.useMemo)(() => data.reduce((acc, cur) => acc + cur.value, 0), [data]);
5140
5192
  let startAngle = 0;
5141
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("group", { rotation: [-Math.PI / 2, 0, 0], children: [
5193
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("group", { rotation: [-Math.PI / 2, 0, 0], children: [
5142
5194
  " ",
5143
5195
  data.map((item, index) => {
5144
5196
  const percent = item.value / total;
@@ -5154,12 +5206,12 @@ function PieChart3D({
5154
5206
  innerRadius: donut ? radius * 0.5 : 0
5155
5207
  };
5156
5208
  startAngle = endAngle;
5157
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(PieSegment, { ...props, label: item.label }, index);
5209
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(PieSegment, { ...props, label: item.label }, index);
5158
5210
  })
5159
5211
  ] });
5160
5212
  }
5161
5213
  function PieSegment({ startAngle, endAngle, radius, color, depth, explode, innerRadius, label }) {
5162
- const shape = (0, import_react22.useMemo)(() => {
5214
+ const shape = (0, import_react23.useMemo)(() => {
5163
5215
  const s = new import_three4.Shape();
5164
5216
  if (innerRadius > 0) {
5165
5217
  s.moveTo(Math.cos(startAngle) * radius, Math.sin(startAngle) * radius);
@@ -5174,8 +5226,8 @@ function PieSegment({ startAngle, endAngle, radius, color, depth, explode, inner
5174
5226
  }
5175
5227
  return s;
5176
5228
  }, [startAngle, endAngle, radius, innerRadius]);
5177
- const [hovered, setHover] = (0, import_react22.useState)(false);
5178
- const ref = import_react22.default.useRef(null);
5229
+ const [hovered, setHover] = (0, import_react23.useState)(false);
5230
+ const ref = import_react23.default.useRef(null);
5179
5231
  const midAngle = (startAngle + endAngle) / 2;
5180
5232
  const explodeDir = [Math.cos(midAngle), Math.sin(midAngle), 0];
5181
5233
  (0, import_fiber4.useFrame)((state, delta) => {
@@ -5185,19 +5237,19 @@ function PieSegment({ startAngle, endAngle, radius, color, depth, explode, inner
5185
5237
  ref.current.position.y += (explodeDir[1] * targetDist - ref.current.position.y) * delta * 5;
5186
5238
  }
5187
5239
  });
5188
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("group", { ref, children: [
5189
- /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
5240
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("group", { ref, children: [
5241
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
5190
5242
  "mesh",
5191
5243
  {
5192
5244
  onPointerOver: () => setHover(true),
5193
5245
  onPointerOut: () => setHover(false),
5194
5246
  children: [
5195
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("extrudeGeometry", { args: [shape, { depth, bevelEnabled: false }] }),
5196
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("meshStandardMaterial", { color: hovered ? "white" : color })
5247
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("extrudeGeometry", { args: [shape, { depth, bevelEnabled: false }] }),
5248
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("meshStandardMaterial", { color: hovered ? "white" : color })
5197
5249
  ]
5198
5250
  }
5199
5251
  ),
5200
- hovered && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5252
+ hovered && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5201
5253
  import_drei10.Text,
5202
5254
  {
5203
5255
  position: [explodeDir[0] * radius * 0.8, explodeDir[1] * radius * 0.8, depth + 0.1],
@@ -5210,21 +5262,21 @@ function PieSegment({ startAngle, endAngle, radius, color, depth, explode, inner
5210
5262
  }
5211
5263
 
5212
5264
  // src/components/ui/scatterplot3d.tsx
5213
- var import_react23 = require("react");
5265
+ var import_react24 = require("react");
5214
5266
  var import_drei11 = require("@react-three/drei");
5215
5267
  var import_three5 = require("three");
5216
5268
  var import_fiber5 = require("@react-three/fiber");
5217
- var import_jsx_runtime75 = require("react/jsx-runtime");
5269
+ var import_jsx_runtime76 = require("react/jsx-runtime");
5218
5270
  function ScatterPlot3D({
5219
5271
  data,
5220
5272
  pointSize = 0.1,
5221
5273
  colorScale = ["#22d3ee", "#a78bfa"]
5222
5274
  }) {
5223
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("group", { children: [
5224
- /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_drei11.Instances, { range: data.length, children: [
5225
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("sphereGeometry", { args: [1, 16, 16] }),
5226
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("meshStandardMaterial", {}),
5227
- data.map((point, i) => /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5275
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("group", { children: [
5276
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_drei11.Instances, { range: data.length, children: [
5277
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("sphereGeometry", { args: [1, 16, 16] }),
5278
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("meshStandardMaterial", {}),
5279
+ data.map((point, i) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5228
5280
  ScatterPointInstance,
5229
5281
  {
5230
5282
  position: [point.x, point.y, point.z],
@@ -5234,13 +5286,13 @@ function ScatterPlot3D({
5234
5286
  i
5235
5287
  ))
5236
5288
  ] }),
5237
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("axesHelper", { args: [10] }),
5238
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("gridHelper", { args: [20, 20], position: [0, -5, 0] })
5289
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("axesHelper", { args: [10] }),
5290
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("gridHelper", { args: [20, 20], position: [0, -5, 0] })
5239
5291
  ] });
5240
5292
  }
5241
5293
  function ScatterPointInstance({ position, scale, color }) {
5242
- const ref = (0, import_react23.useRef)(null);
5243
- const [hovered, setHover] = (0, import_react23.useState)(false);
5294
+ const ref = (0, import_react24.useRef)(null);
5295
+ const [hovered, setHover] = (0, import_react24.useState)(false);
5244
5296
  (0, import_fiber5.useFrame)((state) => {
5245
5297
  if (ref.current) {
5246
5298
  const s = hovered ? scale * 1.5 : scale;
@@ -5248,7 +5300,7 @@ function ScatterPointInstance({ position, scale, color }) {
5248
5300
  ref.current.scale.lerp(target, 0.1);
5249
5301
  }
5250
5302
  });
5251
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5303
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5252
5304
  import_drei11.Instance,
5253
5305
  {
5254
5306
  ref,
@@ -5262,12 +5314,12 @@ function ScatterPointInstance({ position, scale, color }) {
5262
5314
  }
5263
5315
 
5264
5316
  // src/components/ui/graph3d.tsx
5265
- var import_react24 = require("react");
5317
+ var import_react25 = require("react");
5266
5318
  var import_drei12 = require("@react-three/drei");
5267
5319
  var import_three6 = require("three");
5268
- var import_jsx_runtime76 = require("react/jsx-runtime");
5320
+ var import_jsx_runtime77 = require("react/jsx-runtime");
5269
5321
  function Graph3D({ nodes, edges, physics = false }) {
5270
- const positionedNodes = (0, import_react24.useMemo)(() => {
5322
+ const positionedNodes = (0, import_react25.useMemo)(() => {
5271
5323
  return nodes.map((node, i) => ({
5272
5324
  ...node,
5273
5325
  vec: new import_three6.Vector3(
@@ -5277,17 +5329,17 @@ function Graph3D({ nodes, edges, physics = false }) {
5277
5329
  )
5278
5330
  }));
5279
5331
  }, [nodes]);
5280
- const nodeMap = (0, import_react24.useMemo)(() => {
5332
+ const nodeMap = (0, import_react25.useMemo)(() => {
5281
5333
  const map = /* @__PURE__ */ new Map();
5282
5334
  positionedNodes.forEach((n) => map.set(n.id, n.vec));
5283
5335
  return map;
5284
5336
  }, [positionedNodes]);
5285
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("group", { children: [
5337
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("group", { children: [
5286
5338
  edges.map((edge, i) => {
5287
5339
  const start = nodeMap.get(edge.source);
5288
5340
  const end = nodeMap.get(edge.target);
5289
5341
  if (!start || !end) return null;
5290
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5342
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5291
5343
  import_drei12.Line,
5292
5344
  {
5293
5345
  points: [start, end],
@@ -5299,12 +5351,12 @@ function Graph3D({ nodes, edges, physics = false }) {
5299
5351
  i
5300
5352
  );
5301
5353
  }),
5302
- positionedNodes.map((node, i) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("group", { position: node.vec, children: [
5303
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("mesh", { children: [
5304
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("sphereGeometry", { args: [0.2, 16, 16] }),
5305
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("meshStandardMaterial", { color: node.color || "#22d3ee" })
5354
+ positionedNodes.map((node, i) => /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("group", { position: node.vec, children: [
5355
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("mesh", { children: [
5356
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("sphereGeometry", { args: [0.2, 16, 16] }),
5357
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("meshStandardMaterial", { color: node.color || "#22d3ee" })
5306
5358
  ] }),
5307
- node.label && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
5359
+ node.label && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5308
5360
  import_drei12.Text,
5309
5361
  {
5310
5362
  position: [0, 0.3, 0],
@@ -5319,17 +5371,17 @@ function Graph3D({ nodes, edges, physics = false }) {
5319
5371
 
5320
5372
  // src/components/ui/map3d.tsx
5321
5373
  var import_drei13 = require("@react-three/drei");
5322
- var import_jsx_runtime77 = require("react/jsx-runtime");
5374
+ var import_jsx_runtime78 = require("react/jsx-runtime");
5323
5375
  function Map3D({
5324
5376
  markers = [],
5325
5377
  radius = 5,
5326
5378
  textureSrc = "https://raw.githubusercontent.com/mrdoob/three.js/master/examples/textures/planets/earth_atmos_2048.jpg"
5327
5379
  }) {
5328
5380
  const texture = (0, import_drei13.useTexture)(textureSrc);
5329
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("group", { children: [
5330
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("mesh", { children: [
5331
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("sphereGeometry", { args: [radius, 64, 64] }),
5332
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("meshStandardMaterial", { map: texture, metalness: 0.1, roughness: 0.7 })
5381
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("group", { children: [
5382
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("mesh", { children: [
5383
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("sphereGeometry", { args: [radius, 64, 64] }),
5384
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("meshStandardMaterial", { map: texture, metalness: 0.1, roughness: 0.7 })
5333
5385
  ] }),
5334
5386
  markers.map((marker, i) => {
5335
5387
  const phi = (90 - marker.lat) * (Math.PI / 180);
@@ -5337,23 +5389,23 @@ function Map3D({
5337
5389
  const x = -(radius * Math.sin(phi) * Math.cos(theta));
5338
5390
  const z = radius * Math.sin(phi) * Math.sin(theta);
5339
5391
  const y = radius * Math.cos(phi);
5340
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("mesh", { position: [x, y, z], children: [
5341
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("sphereGeometry", { args: [0.1, 16, 16] }),
5342
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("meshBasicMaterial", { color: marker.color || "red" })
5392
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("mesh", { position: [x, y, z], children: [
5393
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("sphereGeometry", { args: [0.1, 16, 16] }),
5394
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("meshBasicMaterial", { color: marker.color || "red" })
5343
5395
  ] }, i);
5344
5396
  })
5345
5397
  ] });
5346
5398
  }
5347
5399
 
5348
5400
  // src/components/ui/gallery3d.tsx
5349
- var import_react26 = require("react");
5401
+ var import_react27 = require("react");
5350
5402
  var import_fiber6 = require("@react-three/fiber");
5351
5403
 
5352
5404
  // src/components/ui/imageplane.tsx
5353
- var import_react25 = require("react");
5405
+ var import_react26 = require("react");
5354
5406
  var import_drei14 = require("@react-three/drei");
5355
5407
  var import_three7 = require("three");
5356
- var import_jsx_runtime78 = require("react/jsx-runtime");
5408
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5357
5409
  function ImagePlane({
5358
5410
  src,
5359
5411
  width = 3,
@@ -5363,10 +5415,10 @@ function ImagePlane({
5363
5415
  transparent = true,
5364
5416
  parallax = false
5365
5417
  }) {
5366
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_react25.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("mesh", { children: [
5367
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("planeGeometry", { args: [width, width] }),
5368
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("meshBasicMaterial", { wireframe: true, color: "gray" })
5369
- ] }), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5418
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_react26.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("mesh", { children: [
5419
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("planeGeometry", { args: [width, width] }),
5420
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("meshBasicMaterial", { wireframe: true, color: "gray" })
5421
+ ] }), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5370
5422
  ImageMesh,
5371
5423
  {
5372
5424
  src,
@@ -5382,9 +5434,9 @@ function ImageMesh({ src, width = 1, height, opacity, transparent }) {
5382
5434
  const texture = (0, import_drei14.useTexture)(src);
5383
5435
  const aspect = texture.image ? texture.image.width / texture.image.height : 1;
5384
5436
  const h = height || width / aspect;
5385
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("mesh", { children: [
5386
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("planeGeometry", { args: [width, h] }),
5387
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
5437
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("mesh", { children: [
5438
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("planeGeometry", { args: [width, h] }),
5439
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5388
5440
  "meshBasicMaterial",
5389
5441
  {
5390
5442
  map: texture,
@@ -5398,20 +5450,20 @@ function ImageMesh({ src, width = 1, height, opacity, transparent }) {
5398
5450
  }
5399
5451
 
5400
5452
  // src/components/ui/gallery3d.tsx
5401
- var import_jsx_runtime79 = require("react/jsx-runtime");
5453
+ var import_jsx_runtime80 = require("react/jsx-runtime");
5402
5454
  function Gallery3D({
5403
5455
  images,
5404
5456
  layout = "carousel",
5405
5457
  radius = 5,
5406
5458
  gap = 1.5
5407
5459
  }) {
5408
- const ref = (0, import_react26.useRef)(null);
5460
+ const ref = (0, import_react27.useRef)(null);
5409
5461
  (0, import_fiber6.useFrame)((state, delta) => {
5410
5462
  if (ref.current && layout === "carousel") {
5411
5463
  ref.current.rotation.y += delta * 0.1;
5412
5464
  }
5413
5465
  });
5414
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("group", { ref, children: images.map((img, i) => {
5466
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("group", { ref, children: images.map((img, i) => {
5415
5467
  let position = [0, 0, 0];
5416
5468
  let rotation = [0, 0, 0];
5417
5469
  if (layout === "carousel") {
@@ -5429,15 +5481,15 @@ function Gallery3D({
5429
5481
  const y = -Math.floor(i / cols) * (2 + gap);
5430
5482
  position = [x, y, 0];
5431
5483
  }
5432
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("group", { position, rotation, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(ImagePlane, { src: img.src, width: 3, opacity: 0.9 }) }, i);
5484
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("group", { position, rotation, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(ImagePlane, { src: img.src, width: 3, opacity: 0.9 }) }, i);
5433
5485
  }) });
5434
5486
  }
5435
5487
 
5436
5488
  // src/components/ui/modelviewer.tsx
5437
- var import_react27 = require("react");
5489
+ var import_react28 = require("react");
5438
5490
  var import_drei15 = require("@react-three/drei");
5439
5491
  var import_fiber7 = require("@react-three/fiber");
5440
- var import_jsx_runtime80 = require("react/jsx-runtime");
5492
+ var import_jsx_runtime81 = require("react/jsx-runtime");
5441
5493
  function ModelViewer({
5442
5494
  src,
5443
5495
  autoRotate = true,
@@ -5445,27 +5497,27 @@ function ModelViewer({
5445
5497
  environment = "studio",
5446
5498
  position = [0, 0, 0]
5447
5499
  }) {
5448
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("group", { position, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_react27.Suspense, { fallback: null, children: [
5449
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Model, { src, scale, autoRotate }),
5450
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_drei15.Environment, { preset: environment })
5500
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("group", { position, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_react28.Suspense, { fallback: null, children: [
5501
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Model, { src, scale, autoRotate }),
5502
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_drei15.Environment, { preset: environment })
5451
5503
  ] }) });
5452
5504
  }
5453
5505
  function Model({ src, scale, autoRotate }) {
5454
5506
  const { scene } = (0, import_drei15.useGLTF)(src);
5455
- const ref = (0, import_react27.useRef)(null);
5507
+ const ref = (0, import_react28.useRef)(null);
5456
5508
  (0, import_fiber7.useFrame)((state, delta) => {
5457
5509
  if (ref.current && autoRotate) {
5458
5510
  ref.current.rotation.y += delta * 0.5;
5459
5511
  }
5460
5512
  });
5461
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("primitive", { object: scene, scale, ref });
5513
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("primitive", { object: scene, scale, ref });
5462
5514
  }
5463
5515
 
5464
5516
  // src/components/ui/videoplane.tsx
5465
- var import_react28 = require("react");
5517
+ var import_react29 = require("react");
5466
5518
  var import_drei16 = require("@react-three/drei");
5467
5519
  var THREE = __toESM(require("three"), 1);
5468
- var import_jsx_runtime81 = require("react/jsx-runtime");
5520
+ var import_jsx_runtime82 = require("react/jsx-runtime");
5469
5521
  function VideoPlane({
5470
5522
  src,
5471
5523
  width = 4,
@@ -5476,14 +5528,14 @@ function VideoPlane({
5476
5528
  opacity = 1,
5477
5529
  side = "double"
5478
5530
  }) {
5479
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5480
- import_react28.Suspense,
5531
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5532
+ import_react29.Suspense,
5481
5533
  {
5482
- fallback: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("mesh", { children: [
5483
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("planeGeometry", { args: [width, width * 0.56] }),
5484
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("meshBasicMaterial", { color: "gray", wireframe: true })
5534
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("mesh", { children: [
5535
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("planeGeometry", { args: [width, width * 0.56] }),
5536
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("meshBasicMaterial", { color: "gray", wireframe: true })
5485
5537
  ] }),
5486
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5538
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5487
5539
  VideoPlaneContent,
5488
5540
  {
5489
5541
  src,
@@ -5520,9 +5572,9 @@ function VideoPlaneContent({
5520
5572
  const aspect = video && video.videoWidth > 0 && video.videoHeight > 0 ? video.videoWidth / video.videoHeight : 16 / 9;
5521
5573
  const planeHeight = height ?? width / aspect;
5522
5574
  const materialSide = side === "double" ? THREE.DoubleSide : side === "back" ? THREE.BackSide : THREE.FrontSide;
5523
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("mesh", { children: [
5524
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("planeGeometry", { args: [width, planeHeight] }),
5525
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5575
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("mesh", { children: [
5576
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("planeGeometry", { args: [width, planeHeight] }),
5577
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5526
5578
  "meshBasicMaterial",
5527
5579
  {
5528
5580
  map: texture,
@@ -5536,20 +5588,20 @@ function VideoPlaneContent({
5536
5588
  }
5537
5589
 
5538
5590
  // src/components/ui/audiovisualizer.tsx
5539
- var import_react29 = require("react");
5591
+ var import_react30 = require("react");
5540
5592
  var import_fiber8 = require("@react-three/fiber");
5541
5593
  var THREE2 = __toESM(require("three"), 1);
5542
- var import_jsx_runtime82 = require("react/jsx-runtime");
5594
+ var import_jsx_runtime83 = require("react/jsx-runtime");
5543
5595
  function AudioVisualizer({
5544
5596
  audioSrc,
5545
5597
  fftSize = 64,
5546
5598
  barColor = "#22d3ee",
5547
5599
  width = 10
5548
5600
  }) {
5549
- const analyserRef = (0, import_react29.useRef)(null);
5550
- const meshRef = (0, import_react29.useRef)(null);
5551
- const [ready, setReady] = (0, import_react29.useState)(false);
5552
- (0, import_react29.useEffect)(() => {
5601
+ const analyserRef = (0, import_react30.useRef)(null);
5602
+ const meshRef = (0, import_react30.useRef)(null);
5603
+ const [ready, setReady] = (0, import_react30.useState)(false);
5604
+ (0, import_react30.useEffect)(() => {
5553
5605
  const listener = new THREE2.AudioListener();
5554
5606
  const sound = new THREE2.Audio(listener);
5555
5607
  const audioLoader = new THREE2.AudioLoader();
@@ -5584,25 +5636,25 @@ function AudioVisualizer({
5584
5636
  meshRef.current.instanceMatrix.needsUpdate = true;
5585
5637
  }
5586
5638
  });
5587
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("instancedMesh", { ref: meshRef, args: [void 0, void 0, fftSize / 2], children: [
5588
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("boxGeometry", { args: [1, 1, 1] }),
5589
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("meshStandardMaterial", { color: barColor })
5639
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("instancedMesh", { ref: meshRef, args: [void 0, void 0, fftSize / 2], children: [
5640
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("boxGeometry", { args: [1, 1, 1] }),
5641
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("meshStandardMaterial", { color: barColor })
5590
5642
  ] });
5591
5643
  }
5592
5644
 
5593
5645
  // src/components/ui/particles.tsx
5594
- var import_react30 = require("react");
5646
+ var import_react31 = require("react");
5595
5647
  var import_fiber9 = require("@react-three/fiber");
5596
5648
  var import_three8 = require("three");
5597
- var import_jsx_runtime83 = require("react/jsx-runtime");
5649
+ var import_jsx_runtime84 = require("react/jsx-runtime");
5598
5650
  function Particles({
5599
5651
  count: count2 = 1e3,
5600
5652
  size = 0.03,
5601
5653
  color = "#a78bfa",
5602
5654
  speed = 0.1
5603
5655
  }) {
5604
- const points = (0, import_react30.useRef)(null);
5605
- const particlesPosition = (0, import_react30.useMemo)(() => {
5656
+ const points = (0, import_react31.useRef)(null);
5657
+ const particlesPosition = (0, import_react31.useMemo)(() => {
5606
5658
  const positions = new Float32Array(count2 * 3);
5607
5659
  for (let i = 0; i < count2; i++) {
5608
5660
  positions[i * 3] = (Math.random() - 0.5) * 10;
@@ -5616,8 +5668,8 @@ function Particles({
5616
5668
  points.current.rotation.y += delta * speed;
5617
5669
  }
5618
5670
  });
5619
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("points", { ref: points, children: [
5620
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("bufferGeometry", { children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5671
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("points", { ref: points, children: [
5672
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("bufferGeometry", { children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5621
5673
  "bufferAttribute",
5622
5674
  {
5623
5675
  attach: "attributes-position",
@@ -5626,7 +5678,7 @@ function Particles({
5626
5678
  itemSize: 3
5627
5679
  }
5628
5680
  ) }),
5629
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5681
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5630
5682
  "pointsMaterial",
5631
5683
  {
5632
5684
  size,
@@ -5641,7 +5693,7 @@ function Particles({
5641
5693
  }
5642
5694
 
5643
5695
  // src/components/ui/bloom.tsx
5644
- var import_react31 = require("react");
5696
+ var import_react32 = require("react");
5645
5697
  var import_fiber10 = require("@react-three/fiber");
5646
5698
 
5647
5699
  // node_modules/three-stdlib/postprocessing/ShaderPass.js
@@ -6395,12 +6447,12 @@ var RenderPass = class extends Pass {
6395
6447
 
6396
6448
  // src/components/ui/bloom.tsx
6397
6449
  var import_three15 = require("three");
6398
- var import_jsx_runtime84 = require("react/jsx-runtime");
6450
+ var import_jsx_runtime85 = require("react/jsx-runtime");
6399
6451
  (0, import_fiber10.extend)({ EffectComposer, RenderPass, UnrealBloomPass });
6400
6452
  function Bloom({ intensity = 1, radius = 0.4, threshold = 0 }) {
6401
6453
  const { gl, scene, camera, size } = (0, import_fiber10.useThree)();
6402
- const composer = (0, import_react31.useRef)(null);
6403
- (0, import_react31.useEffect)(() => {
6454
+ const composer = (0, import_react32.useRef)(null);
6455
+ (0, import_react32.useEffect)(() => {
6404
6456
  if (composer.current) {
6405
6457
  composer.current.setSize(size.width, size.height);
6406
6458
  }
@@ -6410,24 +6462,24 @@ function Bloom({ intensity = 1, radius = 0.4, threshold = 0 }) {
6410
6462
  composer.current.render();
6411
6463
  }
6412
6464
  }, 1);
6413
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("effectComposer", { ref: composer, args: [gl], children: [
6414
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("renderPass", { attach: "passes", args: [scene, camera] }),
6415
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("unrealBloomPass", { attach: "passes", args: [new import_three15.Vector2(size.width, size.height), intensity, radius, threshold] })
6465
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("effectComposer", { ref: composer, args: [gl], children: [
6466
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("renderPass", { attach: "passes", args: [scene, camera] }),
6467
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("unrealBloomPass", { attach: "passes", args: [new import_three15.Vector2(size.width, size.height), intensity, radius, threshold] })
6416
6468
  ] });
6417
6469
  }
6418
6470
 
6419
6471
  // src/components/ui/reflection.tsx
6420
6472
  var import_drei17 = require("@react-three/drei");
6421
- var import_jsx_runtime85 = require("react/jsx-runtime");
6473
+ var import_jsx_runtime86 = require("react/jsx-runtime");
6422
6474
  function Reflection({
6423
6475
  blur = [300, 100],
6424
6476
  opacity = 0.5,
6425
6477
  resolution = 512,
6426
6478
  color = "#101010"
6427
6479
  }) {
6428
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("mesh", { rotation: [-Math.PI / 2, 0, 0], position: [0, -0.01, 0], children: [
6429
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("planeGeometry", { args: [50, 50] }),
6430
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
6480
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("mesh", { rotation: [-Math.PI / 2, 0, 0], position: [0, -0.01, 0], children: [
6481
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("planeGeometry", { args: [50, 50] }),
6482
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
6431
6483
  import_drei17.MeshReflectorMaterial,
6432
6484
  {
6433
6485
  blur,
@@ -6447,7 +6499,7 @@ function Reflection({
6447
6499
  }
6448
6500
 
6449
6501
  // src/components/ui/fog.tsx
6450
- var import_jsx_runtime86 = require("react/jsx-runtime");
6502
+ var import_jsx_runtime87 = require("react/jsx-runtime");
6451
6503
  function Fog({
6452
6504
  color = "#000",
6453
6505
  near = 5,
@@ -6456,17 +6508,17 @@ function Fog({
6456
6508
  density = 0.02
6457
6509
  }) {
6458
6510
  if (type === "exponential") {
6459
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("fogExp2", { attach: "fog", args: [color, density] });
6511
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("fogExp2", { attach: "fog", args: [color, density] });
6460
6512
  }
6461
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("fog", { attach: "fog", args: [color, near, far] });
6513
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("fog", { attach: "fog", args: [color, near, far] });
6462
6514
  }
6463
6515
 
6464
6516
  // src/components/ui/shadowsystem.tsx
6465
6517
  var import_drei18 = require("@react-three/drei");
6466
- var import_jsx_runtime87 = require("react/jsx-runtime");
6518
+ var import_jsx_runtime88 = require("react/jsx-runtime");
6467
6519
  function ShadowSystem({ type = "soft", bias = -1e-4, mapSize = 1024 }) {
6468
6520
  if (type === "soft") {
6469
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_drei18.SoftShadows, {});
6521
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_drei18.SoftShadows, {});
6470
6522
  }
6471
6523
  if (type === "contact") {
6472
6524
  return null;
@@ -6475,16 +6527,16 @@ function ShadowSystem({ type = "soft", bias = -1e-4, mapSize = 1024 }) {
6475
6527
  }
6476
6528
 
6477
6529
  // src/components/ui/gloweffect.tsx
6478
- var import_react32 = __toESM(require("react"), 1);
6530
+ var import_react33 = __toESM(require("react"), 1);
6479
6531
  var THREE3 = __toESM(require("three"), 1);
6480
- var import_jsx_runtime88 = require("react/jsx-runtime");
6532
+ var import_jsx_runtime89 = require("react/jsx-runtime");
6481
6533
  function GlowEffect({
6482
6534
  children,
6483
6535
  color = "#22d3ee",
6484
6536
  intensity = 1,
6485
6537
  scale = 1.2
6486
6538
  }) {
6487
- const glowMaterial = import_react32.default.useMemo(() => {
6539
+ const glowMaterial = import_react33.default.useMemo(() => {
6488
6540
  return new THREE3.MeshBasicMaterial({
6489
6541
  color,
6490
6542
  transparent: true,
@@ -6494,11 +6546,11 @@ function GlowEffect({
6494
6546
  // Outline effect often uses BackSide with scaled mesh
6495
6547
  });
6496
6548
  }, [color, intensity]);
6497
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("group", { children: [
6549
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("group", { children: [
6498
6550
  children,
6499
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("group", { scale: [scale, scale, scale], children: import_react32.Children.map(children, (child) => {
6500
- if (import_react32.default.isValidElement(child)) {
6501
- return (0, import_react32.cloneElement)(child, {
6551
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("group", { scale: [scale, scale, scale], children: import_react33.Children.map(children, (child) => {
6552
+ if (import_react33.default.isValidElement(child)) {
6553
+ return (0, import_react33.cloneElement)(child, {
6502
6554
  material: glowMaterial
6503
6555
  });
6504
6556
  }
@@ -6508,11 +6560,11 @@ function GlowEffect({
6508
6560
  }
6509
6561
 
6510
6562
  // src/components/ui/waveeffect.tsx
6511
- var import_react33 = __toESM(require("react"), 1);
6563
+ var import_react34 = __toESM(require("react"), 1);
6512
6564
  var import_drei19 = require("@react-three/drei");
6513
6565
  var import_fiber11 = require("@react-three/fiber");
6514
6566
  var THREE4 = __toESM(require("three"), 1);
6515
- var import_jsx_runtime89 = require("react/jsx-runtime");
6567
+ var import_jsx_runtime90 = require("react/jsx-runtime");
6516
6568
  var WaveMaterial = (0, import_drei19.shaderMaterial)(
6517
6569
  { time: 0, color: new THREE4.Color(0.2, 0.5, 1) },
6518
6570
  // vertex shader
@@ -6537,14 +6589,14 @@ var WaveMaterial = (0, import_drei19.shaderMaterial)(
6537
6589
  );
6538
6590
  (0, import_fiber11.extend)({ WaveMaterial });
6539
6591
  function WaveEffect({ children, amplitude = 0.3, frequency = 2, speed = 1 }) {
6540
- const group = import_react33.default.useRef(null);
6541
- const material = (0, import_react33.useMemo)(() => new WaveMaterial(), []);
6592
+ const group = import_react34.default.useRef(null);
6593
+ const material = (0, import_react34.useMemo)(() => new WaveMaterial(), []);
6542
6594
  (0, import_fiber11.useFrame)((state, delta) => {
6543
6595
  if (material) {
6544
6596
  material.time += delta * speed;
6545
6597
  }
6546
6598
  });
6547
- import_react33.default.useEffect(() => {
6599
+ import_react34.default.useEffect(() => {
6548
6600
  if (group.current) {
6549
6601
  group.current.traverse((obj) => {
6550
6602
  if (obj.isMesh) {
@@ -6553,15 +6605,15 @@ function WaveEffect({ children, amplitude = 0.3, frequency = 2, speed = 1 }) {
6553
6605
  });
6554
6606
  }
6555
6607
  }, [children, material]);
6556
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("group", { ref: group, children });
6608
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("group", { ref: group, children });
6557
6609
  }
6558
6610
 
6559
6611
  // src/components/ui/noisefield.tsx
6560
- var import_react34 = require("react");
6612
+ var import_react35 = require("react");
6561
6613
  var import_drei20 = require("@react-three/drei");
6562
6614
  var import_fiber12 = require("@react-three/fiber");
6563
6615
  var THREE5 = __toESM(require("three"), 1);
6564
- var import_jsx_runtime90 = require("react/jsx-runtime");
6616
+ var import_jsx_runtime91 = require("react/jsx-runtime");
6565
6617
  var NoiseMaterial = (0, import_drei20.shaderMaterial)(
6566
6618
  { time: 0, scale: 1, color: new THREE5.Color(0.2, 0.5, 1) },
6567
6619
  // Vertex
@@ -6592,16 +6644,16 @@ var NoiseMaterial = (0, import_drei20.shaderMaterial)(
6592
6644
  );
6593
6645
  (0, import_fiber12.extend)({ NoiseMaterial });
6594
6646
  function NoiseField({ scale = 1, speed = 0.5, mode = "color" }) {
6595
- const material = (0, import_react34.useMemo)(() => new NoiseMaterial(), []);
6647
+ const material = (0, import_react35.useMemo)(() => new NoiseMaterial(), []);
6596
6648
  (0, import_fiber12.useFrame)((state, delta) => {
6597
6649
  if (material) {
6598
6650
  material.time += delta * speed;
6599
6651
  material.scale = scale;
6600
6652
  }
6601
6653
  });
6602
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("mesh", { rotation: [-Math.PI / 2, 0, 0], children: [
6603
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("planeGeometry", { args: [10, 10, 64, 64] }),
6604
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("primitive", { object: material, attach: "material" })
6654
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)("mesh", { rotation: [-Math.PI / 2, 0, 0], children: [
6655
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("planeGeometry", { args: [10, 10, 64, 64] }),
6656
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("primitive", { object: material, attach: "material" })
6605
6657
  ] });
6606
6658
  }
6607
6659
  // Annotate the CommonJS export names for ESM import in node:
@@ -6871,6 +6923,7 @@ function NoiseField({ scale = 1, speed = 0.5, mode = "color" }) {
6871
6923
  TableRow,
6872
6924
  Tabs3D,
6873
6925
  Textarea,
6926
+ ThemeProvider,
6874
6927
  Timeline3D,
6875
6928
  Toast,
6876
6929
  ToastAction,
@@ -6899,6 +6952,8 @@ function NoiseField({ scale = 1, speed = 0.5, mode = "color" }) {
6899
6952
  sonnerToast,
6900
6953
  toggleVariants,
6901
6954
  useFormField,
6902
- useSidebar
6955
+ useSidebar,
6956
+ useTheme,
6957
+ useThemeOptional
6903
6958
  });
6904
6959
  //# sourceMappingURL=index.cjs.map