@marcoschwartz/lite-ui 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -608,173 +608,437 @@ var CloseIcon = createIcon(
608
608
  /* @__PURE__ */ jsx15("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" })
609
609
  );
610
610
 
611
- // src/icons/ChevronDownIcon.tsx
611
+ // src/icons/PlusIcon.tsx
612
612
  import { jsx as jsx16 } from "react/jsx-runtime";
613
+ var PlusIcon = createIcon(
614
+ "PlusIcon",
615
+ /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" })
616
+ );
617
+
618
+ // src/icons/ArrowLeftIcon.tsx
619
+ import { jsx as jsx17 } from "react/jsx-runtime";
620
+ var ArrowLeftIcon = createIcon(
621
+ "ArrowLeftIcon",
622
+ /* @__PURE__ */ jsx17("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 19l-7-7m0 0l7-7m-7 7h18" })
623
+ );
624
+
625
+ // src/icons/ArrowRightIcon.tsx
626
+ import { jsx as jsx18 } from "react/jsx-runtime";
627
+ var ArrowRightIcon = createIcon(
628
+ "ArrowRightIcon",
629
+ /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M14 5l7 7m0 0l-7 7m7-7H3" })
630
+ );
631
+
632
+ // src/icons/ChevronDownIcon.tsx
633
+ import { jsx as jsx19 } from "react/jsx-runtime";
613
634
  var ChevronDownIcon = createIcon(
614
635
  "ChevronDownIcon",
615
- /* @__PURE__ */ jsx16("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
636
+ /* @__PURE__ */ jsx19("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
637
+ );
638
+
639
+ // src/icons/ChevronUpIcon.tsx
640
+ import { jsx as jsx20 } from "react/jsx-runtime";
641
+ var ChevronUpIcon = createIcon(
642
+ "ChevronUpIcon",
643
+ /* @__PURE__ */ jsx20("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" })
644
+ );
645
+
646
+ // src/icons/ChevronLeftIcon.tsx
647
+ import { jsx as jsx21 } from "react/jsx-runtime";
648
+ var ChevronLeftIcon = createIcon(
649
+ "ChevronLeftIcon",
650
+ /* @__PURE__ */ jsx21("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" })
616
651
  );
617
652
 
618
653
  // src/icons/ChevronRightIcon.tsx
619
- import { jsx as jsx17 } from "react/jsx-runtime";
654
+ import { jsx as jsx22 } from "react/jsx-runtime";
620
655
  var ChevronRightIcon = createIcon(
621
656
  "ChevronRightIcon",
622
- /* @__PURE__ */ jsx17("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
657
+ /* @__PURE__ */ jsx22("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
658
+ );
659
+
660
+ // src/icons/ExternalLinkIcon.tsx
661
+ import { jsx as jsx23 } from "react/jsx-runtime";
662
+ var ExternalLinkIcon = createIcon(
663
+ "ExternalLinkIcon",
664
+ /* @__PURE__ */ jsx23("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" })
623
665
  );
624
666
 
625
667
  // src/icons/CheckIcon.tsx
626
- import { jsx as jsx18 } from "react/jsx-runtime";
668
+ import { jsx as jsx24 } from "react/jsx-runtime";
627
669
  var CheckIcon = createIcon(
628
670
  "CheckIcon",
629
- /* @__PURE__ */ jsx18("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" })
671
+ /* @__PURE__ */ jsx24("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" })
630
672
  );
631
673
 
632
- // src/icons/PlusIcon.tsx
633
- import { jsx as jsx19 } from "react/jsx-runtime";
634
- var PlusIcon = createIcon(
635
- "PlusIcon",
636
- /* @__PURE__ */ jsx19("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" })
674
+ // src/icons/CheckCircleIcon.tsx
675
+ import { jsx as jsx25 } from "react/jsx-runtime";
676
+ var CheckCircleIcon = createIcon(
677
+ "CheckCircleIcon",
678
+ /* @__PURE__ */ jsx25("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" })
679
+ );
680
+
681
+ // src/icons/AlertCircleIcon.tsx
682
+ import { jsx as jsx26 } from "react/jsx-runtime";
683
+ var AlertCircleIcon = createIcon(
684
+ "AlertCircleIcon",
685
+ /* @__PURE__ */ jsx26("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })
686
+ );
687
+
688
+ // src/icons/InfoCircleIcon.tsx
689
+ import { jsx as jsx27 } from "react/jsx-runtime";
690
+ var InfoCircleIcon = createIcon(
691
+ "InfoCircleIcon",
692
+ /* @__PURE__ */ jsx27("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })
637
693
  );
638
694
 
639
695
  // src/icons/TrashIcon.tsx
640
- import { jsx as jsx20 } from "react/jsx-runtime";
696
+ import { jsx as jsx28 } from "react/jsx-runtime";
641
697
  var TrashIcon = createIcon(
642
698
  "TrashIcon",
643
- /* @__PURE__ */ jsx20("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" })
699
+ /* @__PURE__ */ jsx28("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" })
644
700
  );
645
701
 
646
702
  // src/icons/EditIcon.tsx
647
- import { jsx as jsx21 } from "react/jsx-runtime";
703
+ import { jsx as jsx29 } from "react/jsx-runtime";
648
704
  var EditIcon = createIcon(
649
705
  "EditIcon",
650
- /* @__PURE__ */ jsx21("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" })
706
+ /* @__PURE__ */ jsx29("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" })
707
+ );
708
+
709
+ // src/icons/CopyIcon.tsx
710
+ import { jsx as jsx30 } from "react/jsx-runtime";
711
+ var CopyIcon = createIcon(
712
+ "CopyIcon",
713
+ /* @__PURE__ */ jsx30("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" })
714
+ );
715
+
716
+ // src/icons/SaveIcon.tsx
717
+ import { jsx as jsx31 } from "react/jsx-runtime";
718
+ var SaveIcon = createIcon(
719
+ "SaveIcon",
720
+ /* @__PURE__ */ jsx31("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7H5a2 2 0 00-2 2v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4" })
721
+ );
722
+
723
+ // src/icons/DownloadIcon.tsx
724
+ import { jsx as jsx32 } from "react/jsx-runtime";
725
+ var DownloadIcon = createIcon(
726
+ "DownloadIcon",
727
+ /* @__PURE__ */ jsx32("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" })
728
+ );
729
+
730
+ // src/icons/UploadIcon.tsx
731
+ import { jsx as jsx33 } from "react/jsx-runtime";
732
+ var UploadIcon = createIcon(
733
+ "UploadIcon",
734
+ /* @__PURE__ */ jsx33("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12" })
735
+ );
736
+
737
+ // src/icons/RefreshIcon.tsx
738
+ import { jsx as jsx34 } from "react/jsx-runtime";
739
+ var RefreshIcon = createIcon(
740
+ "RefreshIcon",
741
+ /* @__PURE__ */ jsx34("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" })
742
+ );
743
+
744
+ // src/icons/EyeIcon.tsx
745
+ import { jsx as jsx35 } from "react/jsx-runtime";
746
+ var EyeIcon = createIcon(
747
+ "EyeIcon",
748
+ /* @__PURE__ */ jsx35("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" })
749
+ );
750
+
751
+ // src/icons/EyeOffIcon.tsx
752
+ import { jsx as jsx36 } from "react/jsx-runtime";
753
+ var EyeOffIcon = createIcon(
754
+ "EyeOffIcon",
755
+ /* @__PURE__ */ jsx36("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" })
756
+ );
757
+
758
+ // src/icons/PlayIcon.tsx
759
+ import { jsx as jsx37 } from "react/jsx-runtime";
760
+ var PlayIcon = createIcon(
761
+ "PlayIcon",
762
+ /* @__PURE__ */ jsx37("path", { d: "M8 5v14l11-7z" }),
763
+ true
764
+ );
765
+
766
+ // src/icons/PauseIcon.tsx
767
+ import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs6 } from "react/jsx-runtime";
768
+ var PauseIcon = createIcon(
769
+ "PauseIcon",
770
+ /* @__PURE__ */ jsxs6(Fragment3, { children: [
771
+ /* @__PURE__ */ jsx38("rect", { x: "6", y: "4", width: "4", height: "16", rx: "1" }),
772
+ /* @__PURE__ */ jsx38("rect", { x: "14", y: "4", width: "4", height: "16", rx: "1" })
773
+ ] }),
774
+ true
775
+ );
776
+
777
+ // src/icons/StopIcon.tsx
778
+ import { jsx as jsx39 } from "react/jsx-runtime";
779
+ var StopIcon = createIcon(
780
+ "StopIcon",
781
+ /* @__PURE__ */ jsx39("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })
782
+ );
783
+
784
+ // src/icons/SkipBackIcon.tsx
785
+ import { Fragment as Fragment4, jsx as jsx40 } from "react/jsx-runtime";
786
+ var SkipBackIcon = createIcon(
787
+ "SkipBackIcon",
788
+ /* @__PURE__ */ jsx40(Fragment4, { children: /* @__PURE__ */ jsx40("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0019 16V8a1 1 0 00-1.6-.8l-5.333 4zM4.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0011 16V8a1 1 0 00-1.6-.8l-5.334 4z" }) }),
789
+ false
790
+ );
791
+
792
+ // src/icons/SkipForwardIcon.tsx
793
+ import { Fragment as Fragment5, jsx as jsx41 } from "react/jsx-runtime";
794
+ var SkipForwardIcon = createIcon(
795
+ "SkipForwardIcon",
796
+ /* @__PURE__ */ jsx41(Fragment5, { children: /* @__PURE__ */ jsx41("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11.933 12.8a1 1 0 000-1.6L6.6 7.2A1 1 0 005 8v8a1 1 0 001.6.8l5.333-4zM19.933 12.8a1 1 0 000-1.6l-5.333-4A1 1 0 0013 8v8a1 1 0 001.6.8l5.333-4z" }) }),
797
+ false
798
+ );
799
+
800
+ // src/icons/VolumeUpIcon.tsx
801
+ import { Fragment as Fragment6, jsx as jsx42 } from "react/jsx-runtime";
802
+ var VolumeUpIcon = createIcon(
803
+ "VolumeUpIcon",
804
+ /* @__PURE__ */ jsx42(Fragment6, { children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z" }) }),
805
+ false
806
+ );
807
+
808
+ // src/icons/VolumeOffIcon.tsx
809
+ import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs7 } from "react/jsx-runtime";
810
+ var VolumeOffIcon = createIcon(
811
+ "VolumeOffIcon",
812
+ /* @__PURE__ */ jsxs7(Fragment7, { children: [
813
+ /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z", clipRule: "evenodd" }),
814
+ /* @__PURE__ */ jsx43("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2" })
815
+ ] }),
816
+ false
651
817
  );
652
818
 
653
819
  // src/icons/MailIcon.tsx
654
- import { jsx as jsx22 } from "react/jsx-runtime";
820
+ import { jsx as jsx44 } from "react/jsx-runtime";
655
821
  var MailIcon = createIcon(
656
822
  "MailIcon",
657
- /* @__PURE__ */ jsx22("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" })
823
+ /* @__PURE__ */ jsx44("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" })
824
+ );
825
+
826
+ // src/icons/ChatIcon.tsx
827
+ import { jsx as jsx45 } from "react/jsx-runtime";
828
+ var ChatIcon = createIcon(
829
+ "ChatIcon",
830
+ /* @__PURE__ */ jsx45("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" })
658
831
  );
659
832
 
660
833
  // src/icons/StarIcon.tsx
661
- import { jsx as jsx23 } from "react/jsx-runtime";
834
+ import { jsx as jsx46 } from "react/jsx-runtime";
662
835
  var StarIcon = createIcon(
663
836
  "StarIcon",
664
- /* @__PURE__ */ jsx23("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z" })
837
+ /* @__PURE__ */ jsx46("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z" })
665
838
  );
666
839
 
667
840
  // src/icons/HeartIcon.tsx
668
- import { jsx as jsx24 } from "react/jsx-runtime";
841
+ import { jsx as jsx47 } from "react/jsx-runtime";
669
842
  var HeartIcon = createIcon(
670
843
  "HeartIcon",
671
- /* @__PURE__ */ jsx24("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z" })
672
- );
673
-
674
- // src/icons/DownloadIcon.tsx
675
- import { jsx as jsx25 } from "react/jsx-runtime";
676
- var DownloadIcon = createIcon(
677
- "DownloadIcon",
678
- /* @__PURE__ */ jsx25("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" })
679
- );
680
-
681
- // src/icons/UploadIcon.tsx
682
- import { jsx as jsx26 } from "react/jsx-runtime";
683
- var UploadIcon = createIcon(
684
- "UploadIcon",
685
- /* @__PURE__ */ jsx26("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12" })
844
+ /* @__PURE__ */ jsx47("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z" })
686
845
  );
687
846
 
688
847
  // src/icons/CameraIcon.tsx
689
- import { Fragment as Fragment3, jsx as jsx27, jsxs as jsxs6 } from "react/jsx-runtime";
848
+ import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs8 } from "react/jsx-runtime";
690
849
  var CameraIcon = createIcon(
691
850
  "CameraIcon",
692
- /* @__PURE__ */ jsxs6(Fragment3, { children: [
693
- /* @__PURE__ */ jsx27("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z" }),
694
- /* @__PURE__ */ jsx27("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 13a3 3 0 11-6 0 3 3 0 016 0z" })
851
+ /* @__PURE__ */ jsxs8(Fragment8, { children: [
852
+ /* @__PURE__ */ jsx48("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z" }),
853
+ /* @__PURE__ */ jsx48("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 13a3 3 0 11-6 0 3 3 0 016 0z" })
695
854
  ] })
696
855
  );
697
856
 
857
+ // src/icons/CalendarIcon.tsx
858
+ import { jsx as jsx49 } from "react/jsx-runtime";
859
+ var CalendarIcon = createIcon(
860
+ "CalendarIcon",
861
+ /* @__PURE__ */ jsx49("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })
862
+ );
863
+
864
+ // src/icons/BookIcon.tsx
865
+ import { jsx as jsx50 } from "react/jsx-runtime";
866
+ var BookIcon = createIcon(
867
+ "BookIcon",
868
+ /* @__PURE__ */ jsx50("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" })
869
+ );
870
+
871
+ // src/icons/FileIcon.tsx
872
+ import { jsx as jsx51 } from "react/jsx-runtime";
873
+ var FileIcon = createIcon(
874
+ "FileIcon",
875
+ /* @__PURE__ */ jsx51("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z" })
876
+ );
877
+
878
+ // src/icons/FolderIcon.tsx
879
+ import { jsx as jsx52 } from "react/jsx-runtime";
880
+ var FolderIcon = createIcon(
881
+ "FolderIcon",
882
+ /* @__PURE__ */ jsx52("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z" })
883
+ );
884
+
885
+ // src/icons/ImageIcon.tsx
886
+ import { jsx as jsx53 } from "react/jsx-runtime";
887
+ var ImageIcon = createIcon(
888
+ "ImageIcon",
889
+ /* @__PURE__ */ jsx53("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" })
890
+ );
891
+
892
+ // src/icons/CodeIcon.tsx
893
+ import { jsx as jsx54 } from "react/jsx-runtime";
894
+ var CodeIcon = createIcon(
895
+ "CodeIcon",
896
+ /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" })
897
+ );
898
+
899
+ // src/icons/TerminalIcon.tsx
900
+ import { jsx as jsx55 } from "react/jsx-runtime";
901
+ var TerminalIcon = createIcon(
902
+ "TerminalIcon",
903
+ /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })
904
+ );
905
+
906
+ // src/icons/DatabaseIcon.tsx
907
+ import { jsx as jsx56 } from "react/jsx-runtime";
908
+ var DatabaseIcon = createIcon(
909
+ "DatabaseIcon",
910
+ /* @__PURE__ */ jsx56("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4" })
911
+ );
912
+
913
+ // src/icons/CloudIcon.tsx
914
+ import { jsx as jsx57 } from "react/jsx-runtime";
915
+ var CloudIcon = createIcon(
916
+ "CloudIcon",
917
+ /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" })
918
+ );
919
+
920
+ // src/icons/PlugIcon.tsx
921
+ import { jsx as jsx58 } from "react/jsx-runtime";
922
+ var PlugIcon = createIcon(
923
+ "PlugIcon",
924
+ /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13 10V3L4 14h7v7l9-11h-7z" })
925
+ );
926
+
927
+ // src/icons/KeyIcon.tsx
928
+ import { jsx as jsx59 } from "react/jsx-runtime";
929
+ var KeyIcon = createIcon(
930
+ "KeyIcon",
931
+ /* @__PURE__ */ jsx59("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z" })
932
+ );
933
+
698
934
  // src/icons/LockIcon.tsx
699
- import { jsx as jsx28 } from "react/jsx-runtime";
935
+ import { jsx as jsx60 } from "react/jsx-runtime";
700
936
  var LockIcon = createIcon(
701
937
  "LockIcon",
702
- /* @__PURE__ */ jsx28("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" })
938
+ /* @__PURE__ */ jsx60("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" })
703
939
  );
704
940
 
705
- // src/icons/CalendarIcon.tsx
706
- import { jsx as jsx29 } from "react/jsx-runtime";
707
- var CalendarIcon = createIcon(
708
- "CalendarIcon",
709
- /* @__PURE__ */ jsx29("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" })
941
+ // src/icons/ShieldIcon.tsx
942
+ import { jsx as jsx61 } from "react/jsx-runtime";
943
+ var ShieldIcon = createIcon(
944
+ "ShieldIcon",
945
+ /* @__PURE__ */ jsx61("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" })
946
+ );
947
+
948
+ // src/icons/SparklesIcon.tsx
949
+ import { jsx as jsx62 } from "react/jsx-runtime";
950
+ var SparklesIcon = createIcon(
951
+ "SparklesIcon",
952
+ /* @__PURE__ */ jsx62("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z" })
953
+ );
954
+
955
+ // src/icons/BrainIcon.tsx
956
+ import { jsx as jsx63 } from "react/jsx-runtime";
957
+ var BrainIcon = createIcon(
958
+ "BrainIcon",
959
+ /* @__PURE__ */ jsx63("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" })
960
+ );
961
+
962
+ // src/icons/GlobeIcon.tsx
963
+ import { jsx as jsx64 } from "react/jsx-runtime";
964
+ var GlobeIcon = createIcon(
965
+ "GlobeIcon",
966
+ /* @__PURE__ */ jsx64("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })
967
+ );
968
+
969
+ // src/icons/BeakerIcon.tsx
970
+ import { jsx as jsx65 } from "react/jsx-runtime";
971
+ var BeakerIcon = createIcon(
972
+ "BeakerIcon",
973
+ /* @__PURE__ */ jsx65("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z" })
710
974
  );
711
975
 
712
976
  // src/icons/GoogleIcon.tsx
713
- import { jsx as jsx30 } from "react/jsx-runtime";
977
+ import { jsx as jsx66 } from "react/jsx-runtime";
714
978
  var GoogleIcon = createIcon(
715
979
  "GoogleIcon",
716
- /* @__PURE__ */ jsx30("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" }),
980
+ /* @__PURE__ */ jsx66("path", { d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" }),
717
981
  true
718
982
  );
719
983
 
720
984
  // src/icons/GitHubIcon.tsx
721
- import { jsx as jsx31 } from "react/jsx-runtime";
985
+ import { jsx as jsx67 } from "react/jsx-runtime";
722
986
  var GitHubIcon = createIcon(
723
987
  "GitHubIcon",
724
- /* @__PURE__ */ jsx31("path", { d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" }),
988
+ /* @__PURE__ */ jsx67("path", { d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" }),
725
989
  true
726
990
  );
727
991
 
728
992
  // src/icons/TwitterIcon.tsx
729
- import { jsx as jsx32 } from "react/jsx-runtime";
993
+ import { jsx as jsx68 } from "react/jsx-runtime";
730
994
  var TwitterIcon = createIcon(
731
995
  "TwitterIcon",
732
- /* @__PURE__ */ jsx32("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" }),
996
+ /* @__PURE__ */ jsx68("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" }),
733
997
  true
734
998
  );
735
999
 
736
1000
  // src/icons/FacebookIcon.tsx
737
- import { jsx as jsx33 } from "react/jsx-runtime";
1001
+ import { jsx as jsx69 } from "react/jsx-runtime";
738
1002
  var FacebookIcon = createIcon(
739
1003
  "FacebookIcon",
740
- /* @__PURE__ */ jsx33("path", { d: "M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z" }),
1004
+ /* @__PURE__ */ jsx69("path", { d: "M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z" }),
741
1005
  true
742
1006
  );
743
1007
 
744
1008
  // src/icons/AppleIcon.tsx
745
- import { jsx as jsx34 } from "react/jsx-runtime";
1009
+ import { jsx as jsx70 } from "react/jsx-runtime";
746
1010
  var AppleIcon = createIcon(
747
1011
  "AppleIcon",
748
- /* @__PURE__ */ jsx34("path", { d: "M17.05 20.28c-.98.95-2.05.88-3.08.4-1.09-.5-2.08-.48-3.24 0-1.44.62-2.2.44-3.06-.4C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }),
1012
+ /* @__PURE__ */ jsx70("path", { d: "M17.05 20.28c-.98.95-2.05.88-3.08.4-1.09-.5-2.08-.48-3.24 0-1.44.62-2.2.44-3.06-.4C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }),
749
1013
  true
750
1014
  );
751
1015
 
752
1016
  // src/icons/LinkedInIcon.tsx
753
- import { jsx as jsx35 } from "react/jsx-runtime";
1017
+ import { jsx as jsx71 } from "react/jsx-runtime";
754
1018
  var LinkedInIcon = createIcon(
755
1019
  "LinkedInIcon",
756
- /* @__PURE__ */ jsx35("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" }),
1020
+ /* @__PURE__ */ jsx71("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" }),
757
1021
  true
758
1022
  );
759
1023
 
760
1024
  // src/icons/YouTubeIcon.tsx
761
- import { jsx as jsx36 } from "react/jsx-runtime";
1025
+ import { jsx as jsx72 } from "react/jsx-runtime";
762
1026
  var YouTubeIcon = createIcon(
763
1027
  "YouTubeIcon",
764
- /* @__PURE__ */ jsx36("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" }),
1028
+ /* @__PURE__ */ jsx72("path", { d: "M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" }),
765
1029
  true
766
1030
  );
767
1031
 
768
1032
  // src/icons/SlackIcon.tsx
769
- import { jsx as jsx37 } from "react/jsx-runtime";
1033
+ import { jsx as jsx73 } from "react/jsx-runtime";
770
1034
  var SlackIcon = createIcon(
771
1035
  "SlackIcon",
772
- /* @__PURE__ */ jsx37("path", { d: "M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z" }),
1036
+ /* @__PURE__ */ jsx73("path", { d: "M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z" }),
773
1037
  true
774
1038
  );
775
1039
 
776
1040
  // src/components/AppShell.tsx
777
- import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs7 } from "react/jsx-runtime";
1041
+ import { Fragment as Fragment9, jsx as jsx74, jsxs as jsxs9 } from "react/jsx-runtime";
778
1042
  var widthClasses2 = {
779
1043
  sm: "w-48",
780
1044
  md: "w-64",
@@ -804,60 +1068,60 @@ var AppShell = ({
804
1068
  const widthClass = widthClasses2[navbarWidth];
805
1069
  const breakpoint = breakpointClasses[navbarBreakpoint];
806
1070
  if (!responsive && navbar) {
807
- return /* @__PURE__ */ jsxs7("div", { className: `min-h-screen flex flex-col ${className}`, children: [
808
- header && /* @__PURE__ */ jsx38("div", { className: "w-full", children: header }),
809
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-1", children: [
810
- /* @__PURE__ */ jsx38("aside", { className: `${widthClass} bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 h-full overflow-y-auto`, children: navbar.content }),
811
- /* @__PURE__ */ jsx38("main", { className: "flex-1 overflow-y-auto", children })
1071
+ return /* @__PURE__ */ jsxs9("div", { className: `min-h-screen flex flex-col ${className}`, children: [
1072
+ header && /* @__PURE__ */ jsx74("div", { className: "w-full", children: header }),
1073
+ /* @__PURE__ */ jsxs9("div", { className: "flex flex-1", children: [
1074
+ /* @__PURE__ */ jsx74("aside", { className: `${widthClass} bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 h-full overflow-y-auto`, children: navbar.content }),
1075
+ /* @__PURE__ */ jsx74("main", { className: "flex-1 overflow-y-auto", children })
812
1076
  ] })
813
1077
  ] });
814
1078
  }
815
1079
  if (!responsive) {
816
- return /* @__PURE__ */ jsxs7("div", { className: `min-h-screen flex flex-col ${className}`, children: [
817
- header && /* @__PURE__ */ jsx38("div", { className: "w-full", children: header }),
818
- /* @__PURE__ */ jsx38("main", { className: "flex-1 overflow-y-auto", children })
1080
+ return /* @__PURE__ */ jsxs9("div", { className: `min-h-screen flex flex-col ${className}`, children: [
1081
+ header && /* @__PURE__ */ jsx74("div", { className: "w-full", children: header }),
1082
+ /* @__PURE__ */ jsx74("main", { className: "flex-1 overflow-y-auto", children })
819
1083
  ] });
820
1084
  }
821
1085
  if (navbar && navbarPosition === "top") {
822
1086
  const mobileMenuClass = navbarBreakpoint === "sm" ? "sm:hidden" : navbarBreakpoint === "md" ? "md:hidden" : navbarBreakpoint === "lg" ? "lg:hidden" : "xl:hidden";
823
1087
  const desktopNavClass = navbarBreakpoint === "sm" ? "sm:flex" : navbarBreakpoint === "md" ? "md:flex" : navbarBreakpoint === "lg" ? "lg:flex" : "xl:flex";
824
- return /* @__PURE__ */ jsxs7("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
825
- /* @__PURE__ */ jsx38("nav", { className: "sticky top-0 z-30 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx38("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs7("div", { className: "flex justify-between items-center h-16", children: [
826
- /* @__PURE__ */ jsx38("div", { className: "flex items-center", children: navbarLogo ? /* @__PURE__ */ jsx38("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx38("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null }),
827
- /* @__PURE__ */ jsx38("div", { className: `hidden ${desktopNavClass} items-center gap-6`, children: navbar.content }),
828
- /* @__PURE__ */ jsx38(
1088
+ return /* @__PURE__ */ jsxs9("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
1089
+ /* @__PURE__ */ jsx74("nav", { className: "sticky top-0 z-30 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx74("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs9("div", { className: "flex justify-between items-center h-16", children: [
1090
+ /* @__PURE__ */ jsx74("div", { className: "flex items-center", children: navbarLogo ? /* @__PURE__ */ jsx74("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx74("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null }),
1091
+ /* @__PURE__ */ jsx74("div", { className: `hidden ${desktopNavClass} items-center gap-6`, children: navbar.content }),
1092
+ /* @__PURE__ */ jsx74(
829
1093
  "button",
830
1094
  {
831
1095
  className: `${mobileMenuClass} p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors`,
832
1096
  onClick: () => setIsMobileNavbarOpen(!isMobileNavbarOpen),
833
1097
  "aria-label": "Toggle menu",
834
- children: /* @__PURE__ */ jsx38(MenuIcon, { size: "md" })
1098
+ children: /* @__PURE__ */ jsx74(MenuIcon, { size: "md" })
835
1099
  }
836
1100
  )
837
1101
  ] }) }) }),
838
- header && /* @__PURE__ */ jsx38("div", { className: "w-full", children: header }),
839
- isMobileNavbarOpen && /* @__PURE__ */ jsxs7(Fragment4, { children: [
840
- /* @__PURE__ */ jsx38(
1102
+ header && /* @__PURE__ */ jsx74("div", { className: "w-full", children: header }),
1103
+ isMobileNavbarOpen && /* @__PURE__ */ jsxs9(Fragment9, { children: [
1104
+ /* @__PURE__ */ jsx74(
841
1105
  "div",
842
1106
  {
843
1107
  className: `${mobileMenuClass} fixed inset-0 z-40 bg-black/60 backdrop-blur-sm animate-in fade-in duration-200`,
844
1108
  onClick: () => setIsMobileNavbarOpen(false)
845
1109
  }
846
1110
  ),
847
- /* @__PURE__ */ jsxs7("div", { className: `${mobileMenuClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
848
- /* @__PURE__ */ jsxs7("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
849
- navbarLogo ? /* @__PURE__ */ jsx38("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx38("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
850
- /* @__PURE__ */ jsx38(
1111
+ /* @__PURE__ */ jsxs9("div", { className: `${mobileMenuClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1112
+ /* @__PURE__ */ jsxs9("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
1113
+ navbarLogo ? /* @__PURE__ */ jsx74("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx74("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1114
+ /* @__PURE__ */ jsx74(
851
1115
  "button",
852
1116
  {
853
1117
  className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
854
1118
  onClick: () => setIsMobileNavbarOpen(false),
855
1119
  "aria-label": "Close menu",
856
- children: /* @__PURE__ */ jsx38("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx38("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1120
+ children: /* @__PURE__ */ jsx74("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx74("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
857
1121
  }
858
1122
  )
859
1123
  ] }),
860
- /* @__PURE__ */ jsx38(
1124
+ /* @__PURE__ */ jsx74(
861
1125
  "div",
862
1126
  {
863
1127
  className: "p-4 flex flex-col gap-4",
@@ -867,7 +1131,7 @@ var AppShell = ({
867
1131
  )
868
1132
  ] })
869
1133
  ] }),
870
- /* @__PURE__ */ jsx38("main", { className: "flex-1 overflow-y-auto", children })
1134
+ /* @__PURE__ */ jsx74("main", { className: "flex-1 overflow-y-auto", children })
871
1135
  ] });
872
1136
  }
873
1137
  if (navbar) {
@@ -875,44 +1139,44 @@ var AppShell = ({
875
1139
  const desktopNavbarClass = navbarBreakpoint === "sm" ? "sm:block" : navbarBreakpoint === "md" ? "md:block" : navbarBreakpoint === "lg" ? "lg:block" : "xl:block";
876
1140
  const mobileDrawerClass = navbarBreakpoint === "sm" ? "sm:hidden" : navbarBreakpoint === "md" ? "md:hidden" : navbarBreakpoint === "lg" ? "lg:hidden" : "xl:hidden";
877
1141
  const sidebarWidthClass = navbarWidth === "sm" ? "w-48" : navbarWidth === "lg" ? "w-80" : "w-64";
878
- return /* @__PURE__ */ jsxs7("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
879
- /* @__PURE__ */ jsxs7("div", { className: `${mobileHeaderClass} sticky top-0 z-30 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-3 flex items-center justify-between`, children: [
880
- navbarLogo ? /* @__PURE__ */ jsx38("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx38("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
881
- /* @__PURE__ */ jsx38(
1142
+ return /* @__PURE__ */ jsxs9("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
1143
+ /* @__PURE__ */ jsxs9("div", { className: `${mobileHeaderClass} sticky top-0 z-30 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-3 flex items-center justify-between`, children: [
1144
+ navbarLogo ? /* @__PURE__ */ jsx74("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx74("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1145
+ /* @__PURE__ */ jsx74(
882
1146
  "button",
883
1147
  {
884
1148
  className: "p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
885
1149
  onClick: () => setIsMobileNavbarOpen(!isMobileNavbarOpen),
886
1150
  "aria-label": "Toggle menu",
887
- children: /* @__PURE__ */ jsx38(MenuIcon, { size: "md" })
1151
+ children: /* @__PURE__ */ jsx74(MenuIcon, { size: "md" })
888
1152
  }
889
1153
  )
890
1154
  ] }),
891
- header && /* @__PURE__ */ jsx38("div", { className: "w-full", children: header }),
892
- /* @__PURE__ */ jsxs7("div", { className: "flex flex-1 min-h-0", children: [
893
- /* @__PURE__ */ jsx38("aside", { className: `hidden ${desktopNavbarClass} ${sidebarWidthClass} bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 overflow-y-auto shrink-0`, children: navbar.content }),
894
- isMobileNavbarOpen && /* @__PURE__ */ jsxs7(Fragment4, { children: [
895
- /* @__PURE__ */ jsx38(
1155
+ header && /* @__PURE__ */ jsx74("div", { className: "w-full", children: header }),
1156
+ /* @__PURE__ */ jsxs9("div", { className: "flex flex-1 min-h-0", children: [
1157
+ /* @__PURE__ */ jsx74("aside", { className: `hidden ${desktopNavbarClass} ${sidebarWidthClass} bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 overflow-y-auto shrink-0`, children: navbar.content }),
1158
+ isMobileNavbarOpen && /* @__PURE__ */ jsxs9(Fragment9, { children: [
1159
+ /* @__PURE__ */ jsx74(
896
1160
  "div",
897
1161
  {
898
1162
  className: `${mobileDrawerClass} fixed inset-0 z-40 bg-black/60 backdrop-blur-sm animate-in fade-in duration-200`,
899
1163
  onClick: () => setIsMobileNavbarOpen(false)
900
1164
  }
901
1165
  ),
902
- /* @__PURE__ */ jsxs7("div", { className: `${mobileDrawerClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
903
- /* @__PURE__ */ jsxs7("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
904
- navbarLogo ? /* @__PURE__ */ jsx38("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx38("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
905
- /* @__PURE__ */ jsx38(
1166
+ /* @__PURE__ */ jsxs9("div", { className: `${mobileDrawerClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1167
+ /* @__PURE__ */ jsxs9("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
1168
+ navbarLogo ? /* @__PURE__ */ jsx74("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ jsx74("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1169
+ /* @__PURE__ */ jsx74(
906
1170
  "button",
907
1171
  {
908
1172
  className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
909
1173
  onClick: () => setIsMobileNavbarOpen(false),
910
1174
  "aria-label": "Close menu",
911
- children: /* @__PURE__ */ jsx38("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx38("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1175
+ children: /* @__PURE__ */ jsx74("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx74("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
912
1176
  }
913
1177
  )
914
1178
  ] }),
915
- /* @__PURE__ */ jsx38(
1179
+ /* @__PURE__ */ jsx74(
916
1180
  "div",
917
1181
  {
918
1182
  className: "overflow-y-auto h-[calc(100vh-73px)]",
@@ -922,19 +1186,19 @@ var AppShell = ({
922
1186
  )
923
1187
  ] })
924
1188
  ] }),
925
- /* @__PURE__ */ jsx38("main", { className: "flex-1 overflow-y-auto min-h-screen", children })
1189
+ /* @__PURE__ */ jsx74("main", { className: "flex-1 overflow-y-auto min-h-screen", children })
926
1190
  ] })
927
1191
  ] });
928
1192
  }
929
- return /* @__PURE__ */ jsxs7("div", { className: `min-h-screen flex flex-col ${className}`, children: [
930
- header && /* @__PURE__ */ jsx38("div", { className: "w-full", children: header }),
931
- /* @__PURE__ */ jsx38("main", { className: "flex-1 overflow-y-auto", children })
1193
+ return /* @__PURE__ */ jsxs9("div", { className: `min-h-screen flex flex-col ${className}`, children: [
1194
+ header && /* @__PURE__ */ jsx74("div", { className: "w-full", children: header }),
1195
+ /* @__PURE__ */ jsx74("main", { className: "flex-1 overflow-y-auto", children })
932
1196
  ] });
933
1197
  };
934
1198
 
935
1199
  // src/components/Drawer.tsx
936
1200
  import { useEffect as useEffect4 } from "react";
937
- import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs8 } from "react/jsx-runtime";
1201
+ import { Fragment as Fragment10, jsx as jsx75, jsxs as jsxs10 } from "react/jsx-runtime";
938
1202
  var sizeClasses3 = {
939
1203
  left: {
940
1204
  sm: "w-64",
@@ -997,32 +1261,32 @@ var Drawer = ({
997
1261
  if (!isOpen) return null;
998
1262
  const sizeClass = sizeClasses3[position][size];
999
1263
  const positionClass = positionClasses[position];
1000
- return /* @__PURE__ */ jsxs8(Fragment5, { children: [
1001
- /* @__PURE__ */ jsx39(
1264
+ return /* @__PURE__ */ jsxs10(Fragment10, { children: [
1265
+ /* @__PURE__ */ jsx75(
1002
1266
  "div",
1003
1267
  {
1004
1268
  className: "fixed inset-0 z-40 bg-black/60 backdrop-blur-sm transition-all duration-200",
1005
1269
  onClick: onClose
1006
1270
  }
1007
1271
  ),
1008
- /* @__PURE__ */ jsxs8(
1272
+ /* @__PURE__ */ jsxs10(
1009
1273
  "div",
1010
1274
  {
1011
1275
  className: `fixed z-50 ${positionClass} ${sizeClass} bg-white dark:bg-gray-800 shadow-2xl overflow-hidden flex flex-col ${slideClasses[position]}`,
1012
1276
  children: [
1013
- (title || showCloseButton) && /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700", children: [
1014
- title && /* @__PURE__ */ jsx39("h3", { className: "text-xl font-semibold text-gray-900 dark:text-gray-100", children: title }),
1015
- showCloseButton && /* @__PURE__ */ jsx39(
1277
+ (title || showCloseButton) && /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700", children: [
1278
+ title && /* @__PURE__ */ jsx75("h3", { className: "text-xl font-semibold text-gray-900 dark:text-gray-100", children: title }),
1279
+ showCloseButton && /* @__PURE__ */ jsx75(
1016
1280
  "button",
1017
1281
  {
1018
1282
  onClick: onClose,
1019
1283
  className: "ml-auto text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",
1020
1284
  "aria-label": "Close drawer",
1021
- children: /* @__PURE__ */ jsx39("svg", { className: "w-6 h-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx39("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1285
+ children: /* @__PURE__ */ jsx75("svg", { className: "w-6 h-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx75("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1022
1286
  }
1023
1287
  )
1024
1288
  ] }),
1025
- /* @__PURE__ */ jsx39("div", { className: "flex-1 p-6 overflow-y-auto", children })
1289
+ /* @__PURE__ */ jsx75("div", { className: "flex-1 p-6 overflow-y-auto", children })
1026
1290
  ]
1027
1291
  }
1028
1292
  )
@@ -1031,7 +1295,7 @@ var Drawer = ({
1031
1295
 
1032
1296
  // src/components/TextInput.tsx
1033
1297
  import { forwardRef } from "react";
1034
- import { jsx as jsx40, jsxs as jsxs9 } from "react/jsx-runtime";
1298
+ import { jsx as jsx76, jsxs as jsxs11 } from "react/jsx-runtime";
1035
1299
  var sizeClasses4 = {
1036
1300
  sm: "px-3 py-1.5 text-sm",
1037
1301
  md: "px-4 py-2.5 text-base",
@@ -1057,11 +1321,11 @@ var TextInput = forwardRef(
1057
1321
  const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
1058
1322
  const widthStyle = fullWidth ? "w-full" : "";
1059
1323
  const paddingWithIcon = leftIcon ? "pl-10" : rightIcon ? "pr-10" : "";
1060
- return /* @__PURE__ */ jsxs9("div", { className: `${widthStyle} ${className}`, children: [
1061
- label && /* @__PURE__ */ jsx40("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1062
- /* @__PURE__ */ jsxs9("div", { className: "relative", children: [
1063
- leftIcon && /* @__PURE__ */ jsx40("div", { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: leftIcon }),
1064
- /* @__PURE__ */ jsx40(
1324
+ return /* @__PURE__ */ jsxs11("div", { className: `${widthStyle} ${className}`, children: [
1325
+ label && /* @__PURE__ */ jsx76("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1326
+ /* @__PURE__ */ jsxs11("div", { className: "relative", children: [
1327
+ leftIcon && /* @__PURE__ */ jsx76("div", { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: leftIcon }),
1328
+ /* @__PURE__ */ jsx76(
1065
1329
  "input",
1066
1330
  {
1067
1331
  ref,
@@ -1070,10 +1334,10 @@ var TextInput = forwardRef(
1070
1334
  ...props
1071
1335
  }
1072
1336
  ),
1073
- rightIcon && /* @__PURE__ */ jsx40("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: rightIcon })
1337
+ rightIcon && /* @__PURE__ */ jsx76("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: rightIcon })
1074
1338
  ] }),
1075
- error && /* @__PURE__ */ jsx40("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1076
- helperText && !error && /* @__PURE__ */ jsx40("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1339
+ error && /* @__PURE__ */ jsx76("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1340
+ helperText && !error && /* @__PURE__ */ jsx76("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1077
1341
  ] });
1078
1342
  }
1079
1343
  );
@@ -1081,7 +1345,7 @@ TextInput.displayName = "TextInput";
1081
1345
 
1082
1346
  // src/components/NumberInput.tsx
1083
1347
  import { useState as useState5, useRef as useRef2 } from "react";
1084
- import { jsx as jsx41, jsxs as jsxs10 } from "react/jsx-runtime";
1348
+ import { jsx as jsx77, jsxs as jsxs12 } from "react/jsx-runtime";
1085
1349
  var sizeClasses5 = {
1086
1350
  sm: "px-3 py-1.5 text-sm",
1087
1351
  md: "px-4 py-2.5 text-base",
@@ -1156,10 +1420,10 @@ var NumberInput = ({
1156
1420
  const widthStyle = fullWidth ? "w-full" : "";
1157
1421
  const paddingWithControls = !hideControls ? "pr-8" : "";
1158
1422
  const displayValue = value !== void 0 ? value.toString() : "";
1159
- return /* @__PURE__ */ jsxs10("div", { className: `${widthStyle} ${className}`, children: [
1160
- label && /* @__PURE__ */ jsx41("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1161
- /* @__PURE__ */ jsxs10("div", { className: "relative", children: [
1162
- /* @__PURE__ */ jsx41(
1423
+ return /* @__PURE__ */ jsxs12("div", { className: `${widthStyle} ${className}`, children: [
1424
+ label && /* @__PURE__ */ jsx77("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1425
+ /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
1426
+ /* @__PURE__ */ jsx77(
1163
1427
  "input",
1164
1428
  {
1165
1429
  ref: inputRef,
@@ -1177,8 +1441,8 @@ var NumberInput = ({
1177
1441
  className: `${baseStyles} ${sizeStyle} ${errorStyles} ${disabledStyles} ${paddingWithControls} [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none`.trim()
1178
1442
  }
1179
1443
  ),
1180
- !hideControls && /* @__PURE__ */ jsxs10("div", { className: "absolute right-1 top-1/2 -translate-y-1/2 flex flex-col", children: [
1181
- /* @__PURE__ */ jsx41(
1444
+ !hideControls && /* @__PURE__ */ jsxs12("div", { className: "absolute right-1 top-1/2 -translate-y-1/2 flex flex-col", children: [
1445
+ /* @__PURE__ */ jsx77(
1182
1446
  "button",
1183
1447
  {
1184
1448
  type: "button",
@@ -1186,10 +1450,10 @@ var NumberInput = ({
1186
1450
  disabled: disabled || max !== void 0 && value !== void 0 && value >= max,
1187
1451
  className: "px-2 py-0.5 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1188
1452
  tabIndex: -1,
1189
- children: /* @__PURE__ */ jsx41("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx41("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 15l7-7 7 7" }) })
1453
+ children: /* @__PURE__ */ jsx77("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx77("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 15l7-7 7 7" }) })
1190
1454
  }
1191
1455
  ),
1192
- /* @__PURE__ */ jsx41(
1456
+ /* @__PURE__ */ jsx77(
1193
1457
  "button",
1194
1458
  {
1195
1459
  type: "button",
@@ -1197,13 +1461,13 @@ var NumberInput = ({
1197
1461
  disabled: disabled || min !== void 0 && value !== void 0 && value <= min,
1198
1462
  className: "px-2 py-0.5 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1199
1463
  tabIndex: -1,
1200
- children: /* @__PURE__ */ jsx41("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx41("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M19 9l-7 7-7-7" }) })
1464
+ children: /* @__PURE__ */ jsx77("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx77("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M19 9l-7 7-7-7" }) })
1201
1465
  }
1202
1466
  )
1203
1467
  ] })
1204
1468
  ] }),
1205
- error && /* @__PURE__ */ jsx41("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1206
- helperText && !error && /* @__PURE__ */ jsx41("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1469
+ error && /* @__PURE__ */ jsx77("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1470
+ helperText && !error && /* @__PURE__ */ jsx77("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1207
1471
  ] });
1208
1472
  };
1209
1473
  NumberInput.displayName = "NumberInput";
@@ -1211,7 +1475,7 @@ NumberInput.displayName = "NumberInput";
1211
1475
  // src/components/ActionMenu.tsx
1212
1476
  import { useState as useState6, useRef as useRef3, useEffect as useEffect5 } from "react";
1213
1477
  import { createPortal } from "react-dom";
1214
- import { Fragment as Fragment6, jsx as jsx42, jsxs as jsxs11 } from "react/jsx-runtime";
1478
+ import { Fragment as Fragment11, jsx as jsx78, jsxs as jsxs13 } from "react/jsx-runtime";
1215
1479
  var ActionMenu = ({
1216
1480
  items,
1217
1481
  trigger,
@@ -1276,17 +1540,17 @@ var ActionMenu = ({
1276
1540
  setIsOpen(false);
1277
1541
  }
1278
1542
  };
1279
- const defaultTrigger = /* @__PURE__ */ jsx42(
1543
+ const defaultTrigger = /* @__PURE__ */ jsx78(
1280
1544
  "button",
1281
1545
  {
1282
1546
  className: "p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
1283
1547
  "aria-label": "Open menu",
1284
- children: /* @__PURE__ */ jsx42("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx42("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" }) })
1548
+ children: /* @__PURE__ */ jsx78("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx78("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" }) })
1285
1549
  }
1286
1550
  );
1287
1551
  const menuBaseStyles = themeName === "minimalistic" ? "bg-black border-2 border-white" : "bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-lg";
1288
1552
  const itemBaseStyles = themeName === "minimalistic" ? "text-white hover:bg-white hover:text-black transition-colors duration-200" : "text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors";
1289
- const menu = isOpen && mounted && menuPosition ? /* @__PURE__ */ jsx42(
1553
+ const menu = isOpen && mounted && menuPosition ? /* @__PURE__ */ jsx78(
1290
1554
  "div",
1291
1555
  {
1292
1556
  ref: menuRef,
@@ -1298,7 +1562,7 @@ var ActionMenu = ({
1298
1562
  },
1299
1563
  children: items.map((item, index) => {
1300
1564
  if (item.type === "divider") {
1301
- return /* @__PURE__ */ jsx42(
1565
+ return /* @__PURE__ */ jsx78(
1302
1566
  "div",
1303
1567
  {
1304
1568
  className: "my-1 border-t border-gray-200 dark:border-gray-700"
@@ -1306,15 +1570,15 @@ var ActionMenu = ({
1306
1570
  index
1307
1571
  );
1308
1572
  }
1309
- return /* @__PURE__ */ jsxs11(
1573
+ return /* @__PURE__ */ jsxs13(
1310
1574
  "button",
1311
1575
  {
1312
1576
  onClick: () => handleItemClick(item),
1313
1577
  disabled: item.disabled,
1314
1578
  className: `w-full text-left px-4 py-3 flex items-center gap-3 ${itemBaseStyles} ${item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${item.variant === "danger" ? "text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20" : ""}`,
1315
1579
  children: [
1316
- item.icon && /* @__PURE__ */ jsx42("span", { className: "flex-shrink-0", children: item.icon }),
1317
- /* @__PURE__ */ jsx42("span", { className: "flex-1", children: item.label })
1580
+ item.icon && /* @__PURE__ */ jsx78("span", { className: "flex-shrink-0", children: item.icon }),
1581
+ /* @__PURE__ */ jsx78("span", { className: "flex-1", children: item.label })
1318
1582
  ]
1319
1583
  },
1320
1584
  index
@@ -1322,14 +1586,14 @@ var ActionMenu = ({
1322
1586
  })
1323
1587
  }
1324
1588
  ) : null;
1325
- return /* @__PURE__ */ jsxs11(Fragment6, { children: [
1326
- /* @__PURE__ */ jsx42("div", { className: "relative inline-block", ref: triggerRef, children: /* @__PURE__ */ jsx42("div", { onClick: () => setIsOpen(!isOpen), children: trigger || defaultTrigger }) }),
1589
+ return /* @__PURE__ */ jsxs13(Fragment11, { children: [
1590
+ /* @__PURE__ */ jsx78("div", { className: "relative inline-block", ref: triggerRef, children: /* @__PURE__ */ jsx78("div", { onClick: () => setIsOpen(!isOpen), children: trigger || defaultTrigger }) }),
1327
1591
  mounted && createPortal(menu, document.body)
1328
1592
  ] });
1329
1593
  };
1330
1594
 
1331
1595
  // src/components/Card.tsx
1332
- import { jsx as jsx43 } from "react/jsx-runtime";
1596
+ import { jsx as jsx79 } from "react/jsx-runtime";
1333
1597
  var paddingClasses = {
1334
1598
  none: "",
1335
1599
  sm: "p-4",
@@ -1346,7 +1610,7 @@ var Card = ({
1346
1610
  const { theme } = useTheme();
1347
1611
  const paddingClass = paddingClasses[padding];
1348
1612
  const hoverClass = hover ? "hover:shadow-xl hover:scale-[1.02] hover:border-blue-400 dark:hover:border-blue-500 cursor-pointer transition-all duration-200 ease-in-out" : "";
1349
- return /* @__PURE__ */ jsx43(
1613
+ return /* @__PURE__ */ jsx79(
1350
1614
  "div",
1351
1615
  {
1352
1616
  className: `bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 ${paddingClass} ${hoverClass} ${className}`,
@@ -1357,7 +1621,7 @@ var Card = ({
1357
1621
  };
1358
1622
 
1359
1623
  // src/components/Alert.tsx
1360
- import { jsx as jsx44, jsxs as jsxs12 } from "react/jsx-runtime";
1624
+ import { jsx as jsx80, jsxs as jsxs14 } from "react/jsx-runtime";
1361
1625
  var variantStyles = {
1362
1626
  info: "bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800 text-blue-900 dark:text-blue-100",
1363
1627
  success: "bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800 text-green-900 dark:text-green-100",
@@ -1380,24 +1644,24 @@ var Alert = ({
1380
1644
  const { theme } = useTheme();
1381
1645
  const variantClass = variantStyles[variant];
1382
1646
  const iconClass = iconStyles[variant];
1383
- return /* @__PURE__ */ jsx44("div", { className: `rounded-lg border p-4 ${variantClass} ${className}`, role: "alert", children: /* @__PURE__ */ jsxs12("div", { className: "flex items-start gap-3", children: [
1384
- /* @__PURE__ */ jsxs12("div", { className: `flex-shrink-0 ${iconClass}`, children: [
1385
- variant === "info" && /* @__PURE__ */ jsx44("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx44("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) }),
1386
- variant === "success" && /* @__PURE__ */ jsx44("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx44("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" }) }),
1387
- variant === "warning" && /* @__PURE__ */ jsx44("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx44("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
1388
- variant === "error" && /* @__PURE__ */ jsx44("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx44("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }) })
1647
+ return /* @__PURE__ */ jsx80("div", { className: `rounded-lg border p-4 ${variantClass} ${className}`, role: "alert", children: /* @__PURE__ */ jsxs14("div", { className: "flex items-start gap-3", children: [
1648
+ /* @__PURE__ */ jsxs14("div", { className: `flex-shrink-0 ${iconClass}`, children: [
1649
+ variant === "info" && /* @__PURE__ */ jsx80("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx80("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) }),
1650
+ variant === "success" && /* @__PURE__ */ jsx80("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx80("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" }) }),
1651
+ variant === "warning" && /* @__PURE__ */ jsx80("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx80("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
1652
+ variant === "error" && /* @__PURE__ */ jsx80("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx80("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" }) })
1389
1653
  ] }),
1390
- /* @__PURE__ */ jsxs12("div", { className: "flex-1", children: [
1391
- title && /* @__PURE__ */ jsx44("h3", { className: "font-semibold mb-1", children: title }),
1392
- /* @__PURE__ */ jsx44("div", { className: "text-sm", children })
1654
+ /* @__PURE__ */ jsxs14("div", { className: "flex-1", children: [
1655
+ title && /* @__PURE__ */ jsx80("h3", { className: "font-semibold mb-1", children: title }),
1656
+ /* @__PURE__ */ jsx80("div", { className: "text-sm", children })
1393
1657
  ] }),
1394
- onClose && /* @__PURE__ */ jsx44(
1658
+ onClose && /* @__PURE__ */ jsx80(
1395
1659
  "button",
1396
1660
  {
1397
1661
  onClick: onClose,
1398
1662
  className: `flex-shrink-0 ${iconClass} hover:opacity-70 transition-opacity`,
1399
1663
  "aria-label": "Close alert",
1400
- children: /* @__PURE__ */ jsx44("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx44("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1664
+ children: /* @__PURE__ */ jsx80("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx80("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1401
1665
  }
1402
1666
  )
1403
1667
  ] }) });
@@ -1405,14 +1669,14 @@ var Alert = ({
1405
1669
 
1406
1670
  // src/components/Checkbox.tsx
1407
1671
  import { forwardRef as forwardRef2 } from "react";
1408
- import { jsx as jsx45, jsxs as jsxs13 } from "react/jsx-runtime";
1672
+ import { jsx as jsx81, jsxs as jsxs15 } from "react/jsx-runtime";
1409
1673
  var Checkbox = forwardRef2(
1410
1674
  ({ label, error, className = "", disabled, checked, ...props }, ref) => {
1411
1675
  const { theme } = useTheme();
1412
- return /* @__PURE__ */ jsxs13("div", { className, children: [
1413
- /* @__PURE__ */ jsxs13("label", { className: "flex items-center gap-2 cursor-pointer group", children: [
1414
- /* @__PURE__ */ jsxs13("div", { className: "relative inline-flex items-center", children: [
1415
- /* @__PURE__ */ jsx45(
1676
+ return /* @__PURE__ */ jsxs15("div", { className, children: [
1677
+ /* @__PURE__ */ jsxs15("label", { className: "flex items-center gap-2 cursor-pointer group", children: [
1678
+ /* @__PURE__ */ jsxs15("div", { className: "relative inline-flex items-center", children: [
1679
+ /* @__PURE__ */ jsx81(
1416
1680
  "input",
1417
1681
  {
1418
1682
  ref,
@@ -1423,19 +1687,19 @@ var Checkbox = forwardRef2(
1423
1687
  ...props
1424
1688
  }
1425
1689
  ),
1426
- /* @__PURE__ */ jsx45("div", { className: `w-4 h-4 border-2 rounded transition-all duration-200 flex items-center justify-center
1690
+ /* @__PURE__ */ jsx81("div", { className: `w-4 h-4 border-2 rounded transition-all duration-200 flex items-center justify-center
1427
1691
  ${error ? "border-red-500 dark:border-red-500" : "border-gray-300 dark:border-gray-600"}
1428
1692
  ${disabled ? "opacity-50 cursor-not-allowed bg-gray-100 dark:bg-gray-800" : "peer-hover:border-gray-400 dark:peer-hover:border-gray-500"}
1429
1693
  peer-checked:bg-blue-600 peer-checked:border-blue-600
1430
1694
  peer-focus:ring-2 peer-focus:ring-blue-500 peer-focus:ring-offset-2
1431
- `, children: /* @__PURE__ */ jsx45(
1695
+ `, children: /* @__PURE__ */ jsx81(
1432
1696
  "svg",
1433
1697
  {
1434
1698
  className: `w-3 h-3 text-white transition-opacity duration-200 ${checked ? "opacity-100" : "opacity-0"}`,
1435
1699
  viewBox: "0 0 12 12",
1436
1700
  fill: "none",
1437
1701
  xmlns: "http://www.w3.org/2000/svg",
1438
- children: /* @__PURE__ */ jsx45(
1702
+ children: /* @__PURE__ */ jsx81(
1439
1703
  "path",
1440
1704
  {
1441
1705
  d: "M10 3L4.5 8.5L2 6",
@@ -1448,9 +1712,9 @@ var Checkbox = forwardRef2(
1448
1712
  }
1449
1713
  ) })
1450
1714
  ] }),
1451
- label && /* @__PURE__ */ jsx45("span", { className: `text-sm text-gray-700 dark:text-gray-300 ${disabled ? "opacity-50 cursor-not-allowed" : "group-hover:text-gray-900 dark:group-hover:text-gray-100"}`, children: label })
1715
+ label && /* @__PURE__ */ jsx81("span", { className: `text-sm text-gray-700 dark:text-gray-300 ${disabled ? "opacity-50 cursor-not-allowed" : "group-hover:text-gray-900 dark:group-hover:text-gray-100"}`, children: label })
1452
1716
  ] }),
1453
- error && /* @__PURE__ */ jsx45("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error })
1717
+ error && /* @__PURE__ */ jsx81("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error })
1454
1718
  ] });
1455
1719
  }
1456
1720
  );
@@ -1458,7 +1722,7 @@ Checkbox.displayName = "Checkbox";
1458
1722
 
1459
1723
  // src/components/Toggle.tsx
1460
1724
  import { forwardRef as forwardRef3 } from "react";
1461
- import { jsx as jsx46, jsxs as jsxs14 } from "react/jsx-runtime";
1725
+ import { jsx as jsx82, jsxs as jsxs16 } from "react/jsx-runtime";
1462
1726
  var Toggle = forwardRef3(
1463
1727
  ({ label, size = "md", className = "", disabled, checked, ...props }, ref) => {
1464
1728
  const { theme } = useTheme();
@@ -1477,9 +1741,9 @@ var Toggle = forwardRef3(
1477
1741
  }
1478
1742
  };
1479
1743
  const currentSize = toggleClasses[size];
1480
- return /* @__PURE__ */ jsxs14("label", { className: `inline-flex items-center gap-3 cursor-pointer ${disabled ? "opacity-50 cursor-not-allowed" : ""} ${className}`, children: [
1481
- /* @__PURE__ */ jsxs14("div", { className: "relative", children: [
1482
- /* @__PURE__ */ jsx46(
1744
+ return /* @__PURE__ */ jsxs16("label", { className: `inline-flex items-center gap-3 cursor-pointer ${disabled ? "opacity-50 cursor-not-allowed" : ""} ${className}`, children: [
1745
+ /* @__PURE__ */ jsxs16("div", { className: "relative", children: [
1746
+ /* @__PURE__ */ jsx82(
1483
1747
  "input",
1484
1748
  {
1485
1749
  ref,
@@ -1490,27 +1754,27 @@ var Toggle = forwardRef3(
1490
1754
  ...props
1491
1755
  }
1492
1756
  ),
1493
- /* @__PURE__ */ jsx46(
1757
+ /* @__PURE__ */ jsx82(
1494
1758
  "div",
1495
1759
  {
1496
1760
  className: `${currentSize.switch} bg-gray-300 dark:bg-gray-700 peer-focus:ring-2 peer-focus:ring-blue-500 rounded-full peer peer-checked:bg-blue-600 dark:peer-checked:bg-blue-500 transition-colors`
1497
1761
  }
1498
1762
  ),
1499
- /* @__PURE__ */ jsx46(
1763
+ /* @__PURE__ */ jsx82(
1500
1764
  "div",
1501
1765
  {
1502
1766
  className: `${currentSize.thumb} bg-white rounded-full shadow-md absolute top-0.5 left-0.5 transition-transform`
1503
1767
  }
1504
1768
  )
1505
1769
  ] }),
1506
- label && /* @__PURE__ */ jsx46("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label })
1770
+ label && /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label })
1507
1771
  ] });
1508
1772
  }
1509
1773
  );
1510
1774
  Toggle.displayName = "Toggle";
1511
1775
 
1512
1776
  // src/components/Badge.tsx
1513
- import { jsx as jsx47 } from "react/jsx-runtime";
1777
+ import { jsx as jsx83 } from "react/jsx-runtime";
1514
1778
  var variantStyles2 = {
1515
1779
  default: "bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",
1516
1780
  primary: "bg-blue-100 dark:bg-blue-900/30 text-blue-800 dark:text-blue-200",
@@ -1533,11 +1797,11 @@ var Badge = ({
1533
1797
  const { theme } = useTheme();
1534
1798
  const variantClass = variantStyles2[variant];
1535
1799
  const sizeClass = sizeStyles[size];
1536
- return /* @__PURE__ */ jsx47("span", { className: `inline-flex items-center font-medium rounded-full ${variantClass} ${sizeClass} ${className}`, children });
1800
+ return /* @__PURE__ */ jsx83("span", { className: `inline-flex items-center font-medium rounded-full ${variantClass} ${sizeClass} ${className}`, children });
1537
1801
  };
1538
1802
 
1539
1803
  // src/components/Spinner.tsx
1540
- import { jsx as jsx48 } from "react/jsx-runtime";
1804
+ import { jsx as jsx84 } from "react/jsx-runtime";
1541
1805
  var sizeClasses6 = {
1542
1806
  sm: "w-4 h-4 border-2",
1543
1807
  md: "w-8 h-8 border-2",
@@ -1557,20 +1821,20 @@ var Spinner = ({
1557
1821
  const { theme } = useTheme();
1558
1822
  const sizeClass = sizeClasses6[size];
1559
1823
  const colorClass = colorClasses[color];
1560
- return /* @__PURE__ */ jsx48(
1824
+ return /* @__PURE__ */ jsx84(
1561
1825
  "div",
1562
1826
  {
1563
1827
  className: `inline-block rounded-full animate-spin ${sizeClass} ${colorClass} ${className}`,
1564
1828
  role: "status",
1565
1829
  "aria-label": "Loading",
1566
- children: /* @__PURE__ */ jsx48("span", { className: "sr-only", children: "Loading..." })
1830
+ children: /* @__PURE__ */ jsx84("span", { className: "sr-only", children: "Loading..." })
1567
1831
  }
1568
1832
  );
1569
1833
  };
1570
1834
 
1571
1835
  // src/components/Tabs.tsx
1572
1836
  import { useState as useState7 } from "react";
1573
- import { jsx as jsx49, jsxs as jsxs15 } from "react/jsx-runtime";
1837
+ import { jsx as jsx85, jsxs as jsxs17 } from "react/jsx-runtime";
1574
1838
  var Tabs = ({
1575
1839
  tabs,
1576
1840
  defaultIndex = 0,
@@ -1584,8 +1848,8 @@ var Tabs = ({
1584
1848
  setActiveIndex(index);
1585
1849
  onChange?.(index);
1586
1850
  };
1587
- return /* @__PURE__ */ jsxs15("div", { className, children: [
1588
- /* @__PURE__ */ jsx49("div", { className: "border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx49("nav", { className: "flex gap-8 px-6", "aria-label": "Tabs", children: tabs.map((tab, index) => /* @__PURE__ */ jsx49(
1851
+ return /* @__PURE__ */ jsxs17("div", { className, children: [
1852
+ /* @__PURE__ */ jsx85("div", { className: "border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx85("nav", { className: "flex gap-8 px-6", "aria-label": "Tabs", children: tabs.map((tab, index) => /* @__PURE__ */ jsx85(
1589
1853
  "button",
1590
1854
  {
1591
1855
  onClick: () => handleTabClick(index),
@@ -1596,12 +1860,12 @@ var Tabs = ({
1596
1860
  },
1597
1861
  index
1598
1862
  )) }) }),
1599
- /* @__PURE__ */ jsx49("div", { children: tabs[activeIndex]?.content })
1863
+ /* @__PURE__ */ jsx85("div", { children: tabs[activeIndex]?.content })
1600
1864
  ] });
1601
1865
  };
1602
1866
 
1603
1867
  // src/components/Table.tsx
1604
- import { jsx as jsx50, jsxs as jsxs16 } from "react/jsx-runtime";
1868
+ import { jsx as jsx86, jsxs as jsxs18 } from "react/jsx-runtime";
1605
1869
  function Table({
1606
1870
  columns,
1607
1871
  data,
@@ -1611,11 +1875,11 @@ function Table({
1611
1875
  className = ""
1612
1876
  }) {
1613
1877
  const { theme } = useTheme();
1614
- return /* @__PURE__ */ jsxs16("div", { className: `overflow-x-auto ${className}`, children: [
1615
- /* @__PURE__ */ jsxs16("table", { className: "w-full text-left", children: [
1616
- /* @__PURE__ */ jsx50("thead", { className: "bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx50("tr", { children: columns.map((column, colIndex) => {
1878
+ return /* @__PURE__ */ jsxs18("div", { className: `overflow-x-auto ${className}`, children: [
1879
+ /* @__PURE__ */ jsxs18("table", { className: "w-full text-left", children: [
1880
+ /* @__PURE__ */ jsx86("thead", { className: "bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx86("tr", { children: columns.map((column, colIndex) => {
1617
1881
  const isLast = colIndex === columns.length - 1;
1618
- return /* @__PURE__ */ jsx50(
1882
+ return /* @__PURE__ */ jsx86(
1619
1883
  "th",
1620
1884
  {
1621
1885
  className: isLast ? "px-6 py-3 text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider relative" : "px-6 py-3 text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider",
@@ -1625,18 +1889,18 @@ function Table({
1625
1889
  column.key
1626
1890
  );
1627
1891
  }) }) }),
1628
- /* @__PURE__ */ jsx50("tbody", { className: "bg-white dark:bg-gray-900 divide-y divide-gray-200 dark:divide-gray-700", children: data.map((row, rowIndex) => {
1892
+ /* @__PURE__ */ jsx86("tbody", { className: "bg-white dark:bg-gray-900 divide-y divide-gray-200 dark:divide-gray-700", children: data.map((row, rowIndex) => {
1629
1893
  const rowClasses = [
1630
1894
  striped && rowIndex % 2 === 1 ? "bg-gray-50 dark:bg-gray-800/50" : "",
1631
1895
  hoverable ? "hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors" : ""
1632
1896
  ].filter(Boolean).join(" ");
1633
- return /* @__PURE__ */ jsx50(
1897
+ return /* @__PURE__ */ jsx86(
1634
1898
  "tr",
1635
1899
  {
1636
1900
  className: rowClasses,
1637
1901
  children: columns.map((column, colIndex) => {
1638
1902
  const isLast = colIndex === columns.length - 1;
1639
- return /* @__PURE__ */ jsx50(
1903
+ return /* @__PURE__ */ jsx86(
1640
1904
  "td",
1641
1905
  {
1642
1906
  className: isLast ? "px-6 py-4 text-sm text-gray-900 dark:text-gray-100 overflow-visible" : "px-6 py-4 text-sm text-gray-900 dark:text-gray-100",
@@ -1650,12 +1914,12 @@ function Table({
1650
1914
  );
1651
1915
  }) })
1652
1916
  ] }),
1653
- data.length === 0 && /* @__PURE__ */ jsx50("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: "No data available" })
1917
+ data.length === 0 && /* @__PURE__ */ jsx86("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: "No data available" })
1654
1918
  ] });
1655
1919
  }
1656
1920
 
1657
1921
  // src/components/Pagination.tsx
1658
- import { jsx as jsx51, jsxs as jsxs17 } from "react/jsx-runtime";
1922
+ import { jsx as jsx87, jsxs as jsxs19 } from "react/jsx-runtime";
1659
1923
  var Pagination = ({
1660
1924
  currentPage,
1661
1925
  totalPages,
@@ -1696,8 +1960,8 @@ var Pagination = ({
1696
1960
  return range(1, totalPages);
1697
1961
  };
1698
1962
  const pages = paginationRange();
1699
- return /* @__PURE__ */ jsxs17("nav", { className: `flex items-center gap-1 ${className}`, "aria-label": "Pagination", children: [
1700
- /* @__PURE__ */ jsx51(
1963
+ return /* @__PURE__ */ jsxs19("nav", { className: `flex items-center gap-1 ${className}`, "aria-label": "Pagination", children: [
1964
+ /* @__PURE__ */ jsx87(
1701
1965
  "button",
1702
1966
  {
1703
1967
  onClick: () => onPageChange(currentPage - 1),
@@ -1709,7 +1973,7 @@ var Pagination = ({
1709
1973
  ),
1710
1974
  pages.map((page, index) => {
1711
1975
  if (page === "...") {
1712
- return /* @__PURE__ */ jsx51(
1976
+ return /* @__PURE__ */ jsx87(
1713
1977
  "span",
1714
1978
  {
1715
1979
  className: "px-3 py-2 text-gray-700 dark:text-gray-300",
@@ -1718,7 +1982,7 @@ var Pagination = ({
1718
1982
  `dots-${index}`
1719
1983
  );
1720
1984
  }
1721
- return /* @__PURE__ */ jsx51(
1985
+ return /* @__PURE__ */ jsx87(
1722
1986
  "button",
1723
1987
  {
1724
1988
  onClick: () => onPageChange(page),
@@ -1730,7 +1994,7 @@ var Pagination = ({
1730
1994
  page
1731
1995
  );
1732
1996
  }),
1733
- /* @__PURE__ */ jsx51(
1997
+ /* @__PURE__ */ jsx87(
1734
1998
  "button",
1735
1999
  {
1736
2000
  onClick: () => onPageChange(currentPage + 1),
@@ -1746,7 +2010,7 @@ var Pagination = ({
1746
2010
  // src/components/DatePicker.tsx
1747
2011
  import { useState as useState8, useRef as useRef4, useEffect as useEffect6 } from "react";
1748
2012
  import { createPortal as createPortal2 } from "react-dom";
1749
- import { jsx as jsx52, jsxs as jsxs18 } from "react/jsx-runtime";
2013
+ import { jsx as jsx88, jsxs as jsxs20 } from "react/jsx-runtime";
1750
2014
  var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
1751
2015
  var MONTHS = [
1752
2016
  "January",
@@ -1867,7 +2131,7 @@ var DatePicker = ({
1867
2131
  const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500 cursor-pointer";
1868
2132
  const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
1869
2133
  const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
1870
- const calendar = isOpen && mounted && calendarPosition ? /* @__PURE__ */ jsxs18(
2134
+ const calendar = isOpen && mounted && calendarPosition ? /* @__PURE__ */ jsxs20(
1871
2135
  "div",
1872
2136
  {
1873
2137
  ref: calendarRef,
@@ -1878,23 +2142,23 @@ var DatePicker = ({
1878
2142
  minWidth: "320px"
1879
2143
  },
1880
2144
  children: [
1881
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center justify-between mb-4", children: [
1882
- /* @__PURE__ */ jsx52(
2145
+ /* @__PURE__ */ jsxs20("div", { className: "flex items-center justify-between mb-4", children: [
2146
+ /* @__PURE__ */ jsx88(
1883
2147
  "button",
1884
2148
  {
1885
2149
  onClick: handlePrevMonth,
1886
2150
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
1887
2151
  "aria-label": "Previous month",
1888
- children: /* @__PURE__ */ jsx52("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx52("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2152
+ children: /* @__PURE__ */ jsx88("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx88("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
1889
2153
  }
1890
2154
  ),
1891
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2", children: [
1892
- /* @__PURE__ */ jsxs18("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
2155
+ /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
2156
+ /* @__PURE__ */ jsxs20("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
1893
2157
  MONTHS[month],
1894
2158
  " ",
1895
2159
  year
1896
2160
  ] }),
1897
- /* @__PURE__ */ jsx52(
2161
+ /* @__PURE__ */ jsx88(
1898
2162
  "button",
1899
2163
  {
1900
2164
  onClick: handleToday,
@@ -1903,23 +2167,23 @@ var DatePicker = ({
1903
2167
  }
1904
2168
  )
1905
2169
  ] }),
1906
- /* @__PURE__ */ jsx52(
2170
+ /* @__PURE__ */ jsx88(
1907
2171
  "button",
1908
2172
  {
1909
2173
  onClick: handleNextMonth,
1910
2174
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
1911
2175
  "aria-label": "Next month",
1912
- children: /* @__PURE__ */ jsx52("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx52("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2176
+ children: /* @__PURE__ */ jsx88("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx88("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
1913
2177
  }
1914
2178
  )
1915
2179
  ] }),
1916
- /* @__PURE__ */ jsx52("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS.map((day) => /* @__PURE__ */ jsx52("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
1917
- /* @__PURE__ */ jsx52("div", { className: "grid grid-cols-7 gap-1", children: calendarDays.map((date, index) => {
2180
+ /* @__PURE__ */ jsx88("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS.map((day) => /* @__PURE__ */ jsx88("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
2181
+ /* @__PURE__ */ jsx88("div", { className: "grid grid-cols-7 gap-1", children: calendarDays.map((date, index) => {
1918
2182
  const isCurrentMonthDay = isCurrentMonth(date);
1919
2183
  const isTodayDay = isToday(date);
1920
2184
  const isSelectedDay = isSelected(date);
1921
2185
  const isDisabledDay = isDisabled(date);
1922
- return /* @__PURE__ */ jsx52(
2186
+ return /* @__PURE__ */ jsx88(
1923
2187
  "button",
1924
2188
  {
1925
2189
  onClick: () => handleDateClick(date),
@@ -1940,22 +2204,22 @@ var DatePicker = ({
1940
2204
  ]
1941
2205
  }
1942
2206
  ) : null;
1943
- return /* @__PURE__ */ jsxs18("div", { className, children: [
1944
- label && /* @__PURE__ */ jsx52("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1945
- /* @__PURE__ */ jsxs18(
2207
+ return /* @__PURE__ */ jsxs20("div", { className, children: [
2208
+ label && /* @__PURE__ */ jsx88("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2209
+ /* @__PURE__ */ jsxs20(
1946
2210
  "div",
1947
2211
  {
1948
2212
  ref: inputRef,
1949
2213
  onClick: () => !disabled && setIsOpen(!isOpen),
1950
2214
  className: `${baseStyles} ${errorStyles} ${disabledStyles} flex items-center justify-between`.trim(),
1951
2215
  children: [
1952
- /* @__PURE__ */ jsx52("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDate(value) : placeholder }),
1953
- /* @__PURE__ */ jsx52("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx52("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2216
+ /* @__PURE__ */ jsx88("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDate(value) : placeholder }),
2217
+ /* @__PURE__ */ jsx88("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx88("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
1954
2218
  ]
1955
2219
  }
1956
2220
  ),
1957
- error && /* @__PURE__ */ jsx52("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1958
- helperText && !error && /* @__PURE__ */ jsx52("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
2221
+ error && /* @__PURE__ */ jsx88("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2222
+ helperText && !error && /* @__PURE__ */ jsx88("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
1959
2223
  mounted && createPortal2(calendar, document.body)
1960
2224
  ] });
1961
2225
  };
@@ -1963,16 +2227,16 @@ DatePicker.displayName = "DatePicker";
1963
2227
 
1964
2228
  // src/components/TimePicker.tsx
1965
2229
  import { forwardRef as forwardRef4 } from "react";
1966
- import { jsx as jsx53, jsxs as jsxs19 } from "react/jsx-runtime";
2230
+ import { jsx as jsx89, jsxs as jsxs21 } from "react/jsx-runtime";
1967
2231
  var TimePicker = forwardRef4(
1968
2232
  ({ label, error, helperText, className = "", disabled, ...props }, ref) => {
1969
2233
  const { theme } = useTheme();
1970
2234
  const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500";
1971
2235
  const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
1972
2236
  const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
1973
- return /* @__PURE__ */ jsxs19("div", { className, children: [
1974
- label && /* @__PURE__ */ jsx53("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1975
- /* @__PURE__ */ jsx53(
2237
+ return /* @__PURE__ */ jsxs21("div", { className, children: [
2238
+ label && /* @__PURE__ */ jsx89("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2239
+ /* @__PURE__ */ jsx89(
1976
2240
  "input",
1977
2241
  {
1978
2242
  ref,
@@ -1982,8 +2246,8 @@ var TimePicker = forwardRef4(
1982
2246
  ...props
1983
2247
  }
1984
2248
  ),
1985
- error && /* @__PURE__ */ jsx53("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1986
- helperText && !error && /* @__PURE__ */ jsx53("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
2249
+ error && /* @__PURE__ */ jsx89("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2250
+ helperText && !error && /* @__PURE__ */ jsx89("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1987
2251
  ] });
1988
2252
  }
1989
2253
  );
@@ -1992,7 +2256,7 @@ TimePicker.displayName = "TimePicker";
1992
2256
  // src/components/DateTimePicker.tsx
1993
2257
  import { useState as useState9, useRef as useRef5, useEffect as useEffect7 } from "react";
1994
2258
  import { createPortal as createPortal3 } from "react-dom";
1995
- import { jsx as jsx54, jsxs as jsxs20 } from "react/jsx-runtime";
2259
+ import { jsx as jsx90, jsxs as jsxs22 } from "react/jsx-runtime";
1996
2260
  var DAYS2 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
1997
2261
  var MONTHS2 = [
1998
2262
  "January",
@@ -2149,7 +2413,7 @@ var DateTimePicker = ({
2149
2413
  const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500 cursor-pointer";
2150
2414
  const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
2151
2415
  const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
2152
- const picker = isOpen && mounted && pickerPosition ? /* @__PURE__ */ jsxs20(
2416
+ const picker = isOpen && mounted && pickerPosition ? /* @__PURE__ */ jsxs22(
2153
2417
  "div",
2154
2418
  {
2155
2419
  ref: pickerRef,
@@ -2160,23 +2424,23 @@ var DateTimePicker = ({
2160
2424
  minWidth: "360px"
2161
2425
  },
2162
2426
  children: [
2163
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center justify-between mb-4", children: [
2164
- /* @__PURE__ */ jsx54(
2427
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between mb-4", children: [
2428
+ /* @__PURE__ */ jsx90(
2165
2429
  "button",
2166
2430
  {
2167
2431
  onClick: handlePrevMonth,
2168
2432
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2169
2433
  "aria-label": "Previous month",
2170
- children: /* @__PURE__ */ jsx54("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2434
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2171
2435
  }
2172
2436
  ),
2173
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
2174
- /* @__PURE__ */ jsxs20("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
2437
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-2", children: [
2438
+ /* @__PURE__ */ jsxs22("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
2175
2439
  MONTHS2[month],
2176
2440
  " ",
2177
2441
  year
2178
2442
  ] }),
2179
- /* @__PURE__ */ jsx54(
2443
+ /* @__PURE__ */ jsx90(
2180
2444
  "button",
2181
2445
  {
2182
2446
  onClick: handleToday,
@@ -2185,23 +2449,23 @@ var DateTimePicker = ({
2185
2449
  }
2186
2450
  )
2187
2451
  ] }),
2188
- /* @__PURE__ */ jsx54(
2452
+ /* @__PURE__ */ jsx90(
2189
2453
  "button",
2190
2454
  {
2191
2455
  onClick: handleNextMonth,
2192
2456
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2193
2457
  "aria-label": "Next month",
2194
- children: /* @__PURE__ */ jsx54("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2458
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2195
2459
  }
2196
2460
  )
2197
2461
  ] }),
2198
- /* @__PURE__ */ jsx54("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS2.map((day) => /* @__PURE__ */ jsx54("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
2199
- /* @__PURE__ */ jsx54("div", { className: "grid grid-cols-7 gap-1 mb-4", children: calendarDays.map((date, index) => {
2462
+ /* @__PURE__ */ jsx90("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS2.map((day) => /* @__PURE__ */ jsx90("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
2463
+ /* @__PURE__ */ jsx90("div", { className: "grid grid-cols-7 gap-1 mb-4", children: calendarDays.map((date, index) => {
2200
2464
  const isCurrentMonthDay = isCurrentMonth(date);
2201
2465
  const isTodayDay = isToday(date);
2202
2466
  const isSelectedDay = isSelected(date);
2203
2467
  const isDisabledDay = isDisabled(date);
2204
- return /* @__PURE__ */ jsx54(
2468
+ return /* @__PURE__ */ jsx90(
2205
2469
  "button",
2206
2470
  {
2207
2471
  onClick: () => handleDateClick(date),
@@ -2219,21 +2483,21 @@ var DateTimePicker = ({
2219
2483
  index
2220
2484
  );
2221
2485
  }) }),
2222
- /* @__PURE__ */ jsxs20("div", { className: "border-t border-gray-200 dark:border-gray-700 pt-4", children: [
2223
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center justify-center gap-4 mb-4", children: [
2224
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center", children: [
2225
- /* @__PURE__ */ jsx54("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Hour" }),
2226
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center gap-1", children: [
2227
- /* @__PURE__ */ jsx54(
2486
+ /* @__PURE__ */ jsxs22("div", { className: "border-t border-gray-200 dark:border-gray-700 pt-4", children: [
2487
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-center gap-4 mb-4", children: [
2488
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center", children: [
2489
+ /* @__PURE__ */ jsx90("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Hour" }),
2490
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-1", children: [
2491
+ /* @__PURE__ */ jsx90(
2228
2492
  "button",
2229
2493
  {
2230
2494
  type: "button",
2231
2495
  onClick: () => handleTimeChange((selectedTime.hours + 1) % 24, selectedTime.minutes),
2232
2496
  className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2233
- children: /* @__PURE__ */ jsx54("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2497
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2234
2498
  }
2235
2499
  ),
2236
- /* @__PURE__ */ jsx54(
2500
+ /* @__PURE__ */ jsx90(
2237
2501
  "input",
2238
2502
  {
2239
2503
  type: "number",
@@ -2249,31 +2513,31 @@ var DateTimePicker = ({
2249
2513
  className: "w-16 px-2 py-2 text-center border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2250
2514
  }
2251
2515
  ),
2252
- /* @__PURE__ */ jsx54(
2516
+ /* @__PURE__ */ jsx90(
2253
2517
  "button",
2254
2518
  {
2255
2519
  type: "button",
2256
2520
  onClick: () => handleTimeChange((selectedTime.hours - 1 + 24) % 24, selectedTime.minutes),
2257
2521
  className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2258
- children: /* @__PURE__ */ jsx54("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2522
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2259
2523
  }
2260
2524
  )
2261
2525
  ] })
2262
2526
  ] }),
2263
- /* @__PURE__ */ jsx54("span", { className: "text-2xl font-bold text-gray-600 dark:text-gray-400 mt-8", children: ":" }),
2264
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center", children: [
2265
- /* @__PURE__ */ jsx54("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Minute" }),
2266
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center gap-1", children: [
2267
- /* @__PURE__ */ jsx54(
2527
+ /* @__PURE__ */ jsx90("span", { className: "text-2xl font-bold text-gray-600 dark:text-gray-400 mt-8", children: ":" }),
2528
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center", children: [
2529
+ /* @__PURE__ */ jsx90("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Minute" }),
2530
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-1", children: [
2531
+ /* @__PURE__ */ jsx90(
2268
2532
  "button",
2269
2533
  {
2270
2534
  type: "button",
2271
2535
  onClick: () => handleTimeChange(selectedTime.hours, (selectedTime.minutes + 1) % 60),
2272
2536
  className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2273
- children: /* @__PURE__ */ jsx54("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2537
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2274
2538
  }
2275
2539
  ),
2276
- /* @__PURE__ */ jsx54(
2540
+ /* @__PURE__ */ jsx90(
2277
2541
  "input",
2278
2542
  {
2279
2543
  type: "number",
@@ -2289,20 +2553,20 @@ var DateTimePicker = ({
2289
2553
  className: "w-16 px-2 py-2 text-center border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2290
2554
  }
2291
2555
  ),
2292
- /* @__PURE__ */ jsx54(
2556
+ /* @__PURE__ */ jsx90(
2293
2557
  "button",
2294
2558
  {
2295
2559
  type: "button",
2296
2560
  onClick: () => handleTimeChange(selectedTime.hours, (selectedTime.minutes - 1 + 60) % 60),
2297
2561
  className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2298
- children: /* @__PURE__ */ jsx54("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2562
+ children: /* @__PURE__ */ jsx90("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2299
2563
  }
2300
2564
  )
2301
2565
  ] })
2302
2566
  ] })
2303
2567
  ] }),
2304
- /* @__PURE__ */ jsx54("div", { className: "text-center text-sm text-gray-600 dark:text-gray-400 mb-4", children: formatTime(selectedTime.hours, selectedTime.minutes) }),
2305
- /* @__PURE__ */ jsx54(
2568
+ /* @__PURE__ */ jsx90("div", { className: "text-center text-sm text-gray-600 dark:text-gray-400 mb-4", children: formatTime(selectedTime.hours, selectedTime.minutes) }),
2569
+ /* @__PURE__ */ jsx90(
2306
2570
  "button",
2307
2571
  {
2308
2572
  onClick: handleDone,
@@ -2314,22 +2578,22 @@ var DateTimePicker = ({
2314
2578
  ]
2315
2579
  }
2316
2580
  ) : null;
2317
- return /* @__PURE__ */ jsxs20("div", { className, children: [
2318
- label && /* @__PURE__ */ jsx54("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2319
- /* @__PURE__ */ jsxs20(
2581
+ return /* @__PURE__ */ jsxs22("div", { className, children: [
2582
+ label && /* @__PURE__ */ jsx90("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2583
+ /* @__PURE__ */ jsxs22(
2320
2584
  "div",
2321
2585
  {
2322
2586
  ref: inputRef,
2323
2587
  onClick: () => !disabled && setIsOpen(!isOpen),
2324
2588
  className: `${baseStyles} ${errorStyles} ${disabledStyles} flex items-center justify-between`.trim(),
2325
2589
  children: [
2326
- /* @__PURE__ */ jsx54("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDateTime(value) : placeholder }),
2327
- /* @__PURE__ */ jsx54("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx54("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2590
+ /* @__PURE__ */ jsx90("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDateTime(value) : placeholder }),
2591
+ /* @__PURE__ */ jsx90("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx90("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2328
2592
  ]
2329
2593
  }
2330
2594
  ),
2331
- error && /* @__PURE__ */ jsx54("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2332
- helperText && !error && /* @__PURE__ */ jsx54("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
2595
+ error && /* @__PURE__ */ jsx90("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2596
+ helperText && !error && /* @__PURE__ */ jsx90("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
2333
2597
  mounted && createPortal3(picker, document.body)
2334
2598
  ] });
2335
2599
  };
@@ -2337,7 +2601,7 @@ DateTimePicker.displayName = "DateTimePicker";
2337
2601
 
2338
2602
  // src/components/Calendar.tsx
2339
2603
  import { useState as useState10 } from "react";
2340
- import { jsx as jsx55, jsxs as jsxs21 } from "react/jsx-runtime";
2604
+ import { jsx as jsx91, jsxs as jsxs23 } from "react/jsx-runtime";
2341
2605
  var DAYS3 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
2342
2606
  var MONTHS3 = [
2343
2607
  "January",
@@ -2413,24 +2677,24 @@ var Calendar = ({
2413
2677
  setCurrentDate(today);
2414
2678
  onChange?.(today);
2415
2679
  };
2416
- return /* @__PURE__ */ jsxs21("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4 ${className}`, children: [
2417
- /* @__PURE__ */ jsxs21("div", { className: "flex items-center justify-between mb-4", children: [
2418
- /* @__PURE__ */ jsx55(
2680
+ return /* @__PURE__ */ jsxs23("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4 ${className}`, children: [
2681
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between mb-4", children: [
2682
+ /* @__PURE__ */ jsx91(
2419
2683
  "button",
2420
2684
  {
2421
2685
  onClick: handlePrevMonth,
2422
2686
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2423
2687
  "aria-label": "Previous month",
2424
- children: /* @__PURE__ */ jsx55("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2688
+ children: /* @__PURE__ */ jsx91("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx91("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2425
2689
  }
2426
2690
  ),
2427
- /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
2428
- /* @__PURE__ */ jsxs21("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: [
2691
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
2692
+ /* @__PURE__ */ jsxs23("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: [
2429
2693
  MONTHS3[month],
2430
2694
  " ",
2431
2695
  year
2432
2696
  ] }),
2433
- /* @__PURE__ */ jsx55(
2697
+ /* @__PURE__ */ jsx91(
2434
2698
  "button",
2435
2699
  {
2436
2700
  onClick: handleToday,
@@ -2439,17 +2703,17 @@ var Calendar = ({
2439
2703
  }
2440
2704
  )
2441
2705
  ] }),
2442
- /* @__PURE__ */ jsx55(
2706
+ /* @__PURE__ */ jsx91(
2443
2707
  "button",
2444
2708
  {
2445
2709
  onClick: handleNextMonth,
2446
2710
  className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2447
2711
  "aria-label": "Next month",
2448
- children: /* @__PURE__ */ jsx55("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2712
+ children: /* @__PURE__ */ jsx91("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx91("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2449
2713
  }
2450
2714
  )
2451
2715
  ] }),
2452
- /* @__PURE__ */ jsx55("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS3.map((day) => /* @__PURE__ */ jsx55(
2716
+ /* @__PURE__ */ jsx91("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS3.map((day) => /* @__PURE__ */ jsx91(
2453
2717
  "div",
2454
2718
  {
2455
2719
  className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-2",
@@ -2457,13 +2721,13 @@ var Calendar = ({
2457
2721
  },
2458
2722
  day
2459
2723
  )) }),
2460
- /* @__PURE__ */ jsx55("div", { className: "grid grid-cols-7 gap-1", children: calendarDays.map((date, index) => {
2461
- if (!date) return /* @__PURE__ */ jsx55("div", {}, index);
2724
+ /* @__PURE__ */ jsx91("div", { className: "grid grid-cols-7 gap-1", children: calendarDays.map((date, index) => {
2725
+ if (!date) return /* @__PURE__ */ jsx91("div", {}, index);
2462
2726
  const isCurrentMonthDay = isCurrentMonth(date);
2463
2727
  const isTodayDay = isToday(date);
2464
2728
  const isSelectedDay = isSelected(date);
2465
2729
  const isDisabledDay = isDisabled(date);
2466
- return /* @__PURE__ */ jsx55(
2730
+ return /* @__PURE__ */ jsx91(
2467
2731
  "button",
2468
2732
  {
2469
2733
  onClick: () => handleDateClick(date),
@@ -2486,7 +2750,7 @@ var Calendar = ({
2486
2750
 
2487
2751
  // src/components/Radio.tsx
2488
2752
  import React17 from "react";
2489
- import { jsx as jsx56, jsxs as jsxs22 } from "react/jsx-runtime";
2753
+ import { jsx as jsx92, jsxs as jsxs24 } from "react/jsx-runtime";
2490
2754
  var Radio = ({
2491
2755
  name,
2492
2756
  options,
@@ -2505,18 +2769,18 @@ var Radio = ({
2505
2769
  onChange?.(optionValue);
2506
2770
  };
2507
2771
  const containerClass = orientation === "horizontal" ? "flex flex-wrap gap-4" : "flex flex-col gap-2";
2508
- return /* @__PURE__ */ jsx56("div", { className: `${containerClass} ${className}`, role: "radiogroup", children: options.map((option) => {
2772
+ return /* @__PURE__ */ jsx92("div", { className: `${containerClass} ${className}`, role: "radiogroup", children: options.map((option) => {
2509
2773
  const isDisabled = disabled || option.disabled;
2510
2774
  const isChecked = value === option.value;
2511
2775
  const id = `${name}-${option.value}`;
2512
- return /* @__PURE__ */ jsxs22(
2776
+ return /* @__PURE__ */ jsxs24(
2513
2777
  "label",
2514
2778
  {
2515
2779
  htmlFor: id,
2516
2780
  className: `flex items-center gap-2 cursor-pointer group ${isDisabled ? "opacity-50 cursor-not-allowed" : ""}`,
2517
2781
  children: [
2518
- /* @__PURE__ */ jsxs22("div", { className: "relative inline-flex items-center", children: [
2519
- /* @__PURE__ */ jsx56(
2782
+ /* @__PURE__ */ jsxs24("div", { className: "relative inline-flex items-center", children: [
2783
+ /* @__PURE__ */ jsx92(
2520
2784
  "input",
2521
2785
  {
2522
2786
  type: "radio",
@@ -2529,14 +2793,14 @@ var Radio = ({
2529
2793
  className: "sr-only peer"
2530
2794
  }
2531
2795
  ),
2532
- /* @__PURE__ */ jsx56("div", { className: `w-4 h-4 rounded-full border-2 transition-all duration-200 flex items-center justify-center
2796
+ /* @__PURE__ */ jsx92("div", { className: `w-4 h-4 rounded-full border-2 transition-all duration-200 flex items-center justify-center
2533
2797
  border-gray-300 dark:border-gray-600
2534
2798
  ${isDisabled ? "bg-gray-100 dark:bg-gray-800" : "peer-hover:border-gray-400 dark:peer-hover:border-gray-500"}
2535
2799
  ${isChecked ? "border-blue-600 bg-white dark:bg-gray-900" : ""}
2536
2800
  peer-focus:ring-2 peer-focus:ring-blue-500 peer-focus:ring-offset-2
2537
- `, children: /* @__PURE__ */ jsx56("div", { className: `w-2 h-2 rounded-full bg-blue-600 transition-all duration-200 ${isChecked ? "scale-100" : "scale-0"}` }) })
2801
+ `, children: /* @__PURE__ */ jsx92("div", { className: `w-2 h-2 rounded-full bg-blue-600 transition-all duration-200 ${isChecked ? "scale-100" : "scale-0"}` }) })
2538
2802
  ] }),
2539
- /* @__PURE__ */ jsx56("span", { className: `text-sm font-medium text-gray-900 dark:text-gray-300 ${!isDisabled && "group-hover:text-gray-700 dark:group-hover:text-gray-100"}`, children: option.label })
2803
+ /* @__PURE__ */ jsx92("span", { className: `text-sm font-medium text-gray-900 dark:text-gray-300 ${!isDisabled && "group-hover:text-gray-700 dark:group-hover:text-gray-100"}`, children: option.label })
2540
2804
  ]
2541
2805
  },
2542
2806
  option.value
@@ -2545,7 +2809,7 @@ var Radio = ({
2545
2809
  };
2546
2810
 
2547
2811
  // src/components/ProgressBar.tsx
2548
- import { jsx as jsx57, jsxs as jsxs23 } from "react/jsx-runtime";
2812
+ import { jsx as jsx93, jsxs as jsxs25 } from "react/jsx-runtime";
2549
2813
  var ProgressBar = ({
2550
2814
  value,
2551
2815
  max = 100,
@@ -2567,15 +2831,15 @@ var ProgressBar = ({
2567
2831
  warning: "bg-yellow-500 dark:bg-yellow-400",
2568
2832
  danger: "bg-red-600 dark:bg-red-500"
2569
2833
  };
2570
- return /* @__PURE__ */ jsxs23("div", { className: `w-full ${className}`, children: [
2571
- (showLabel || label) && /* @__PURE__ */ jsxs23("div", { className: "flex justify-between items-center mb-1", children: [
2572
- label && /* @__PURE__ */ jsx57("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2573
- showLabel && /* @__PURE__ */ jsxs23("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
2834
+ return /* @__PURE__ */ jsxs25("div", { className: `w-full ${className}`, children: [
2835
+ (showLabel || label) && /* @__PURE__ */ jsxs25("div", { className: "flex justify-between items-center mb-1", children: [
2836
+ label && /* @__PURE__ */ jsx93("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2837
+ showLabel && /* @__PURE__ */ jsxs25("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
2574
2838
  Math.round(percentage),
2575
2839
  "%"
2576
2840
  ] })
2577
2841
  ] }),
2578
- /* @__PURE__ */ jsx57(
2842
+ /* @__PURE__ */ jsx93(
2579
2843
  "div",
2580
2844
  {
2581
2845
  className: `w-full bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden ${sizeClasses7[size]}`,
@@ -2583,7 +2847,7 @@ var ProgressBar = ({
2583
2847
  "aria-valuenow": value,
2584
2848
  "aria-valuemin": 0,
2585
2849
  "aria-valuemax": max,
2586
- children: /* @__PURE__ */ jsx57(
2850
+ children: /* @__PURE__ */ jsx93(
2587
2851
  "div",
2588
2852
  {
2589
2853
  className: `${sizeClasses7[size]} ${variantClasses[variant]} rounded-full transition-all duration-300 ease-out`,
@@ -2597,7 +2861,7 @@ var ProgressBar = ({
2597
2861
 
2598
2862
  // src/components/Slider.tsx
2599
2863
  import React18, { useRef as useRef6 } from "react";
2600
- import { jsx as jsx58, jsxs as jsxs24 } from "react/jsx-runtime";
2864
+ import { jsx as jsx94, jsxs as jsxs26 } from "react/jsx-runtime";
2601
2865
  var Slider = ({
2602
2866
  value: controlledValue,
2603
2867
  defaultValue = 50,
@@ -2664,18 +2928,18 @@ var Slider = ({
2664
2928
  const minPercentage = (rangeValue[0] - min) / (max - min) * 100;
2665
2929
  const maxPercentage = (rangeValue[1] - min) / (max - min) * 100;
2666
2930
  if (range) {
2667
- return /* @__PURE__ */ jsxs24("div", { className: `w-full ${className}`, children: [
2668
- (label || showValue) && /* @__PURE__ */ jsxs24("div", { className: "flex justify-between items-center mb-2", children: [
2669
- label && /* @__PURE__ */ jsx58("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2670
- showValue && /* @__PURE__ */ jsxs24("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
2931
+ return /* @__PURE__ */ jsxs26("div", { className: `w-full ${className}`, children: [
2932
+ (label || showValue) && /* @__PURE__ */ jsxs26("div", { className: "flex justify-between items-center mb-2", children: [
2933
+ label && /* @__PURE__ */ jsx94("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2934
+ showValue && /* @__PURE__ */ jsxs26("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
2671
2935
  rangeValue[0],
2672
2936
  " - ",
2673
2937
  rangeValue[1]
2674
2938
  ] })
2675
2939
  ] }),
2676
- /* @__PURE__ */ jsxs24("div", { className: "relative h-10 flex items-center", ref: trackRef, children: [
2677
- /* @__PURE__ */ jsx58("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
2678
- /* @__PURE__ */ jsx58(
2940
+ /* @__PURE__ */ jsxs26("div", { className: "relative h-10 flex items-center", ref: trackRef, children: [
2941
+ /* @__PURE__ */ jsx94("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
2942
+ /* @__PURE__ */ jsx94(
2679
2943
  "div",
2680
2944
  {
2681
2945
  className: "absolute h-2 bg-blue-600 dark:bg-blue-500 rounded-full pointer-events-none",
@@ -2685,7 +2949,7 @@ var Slider = ({
2685
2949
  }
2686
2950
  }
2687
2951
  ),
2688
- /* @__PURE__ */ jsx58(
2952
+ /* @__PURE__ */ jsx94(
2689
2953
  "div",
2690
2954
  {
2691
2955
  className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md cursor-pointer z-10
@@ -2701,7 +2965,7 @@ var Slider = ({
2701
2965
  tabIndex: disabled ? -1 : 0
2702
2966
  }
2703
2967
  ),
2704
- /* @__PURE__ */ jsx58(
2968
+ /* @__PURE__ */ jsx94(
2705
2969
  "div",
2706
2970
  {
2707
2971
  className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md cursor-pointer z-10
@@ -2720,21 +2984,21 @@ var Slider = ({
2720
2984
  ] })
2721
2985
  ] });
2722
2986
  }
2723
- return /* @__PURE__ */ jsxs24("div", { className: `w-full ${className}`, children: [
2724
- (label || showValue) && /* @__PURE__ */ jsxs24("div", { className: "flex justify-between items-center mb-2", children: [
2725
- label && /* @__PURE__ */ jsx58("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2726
- showValue && /* @__PURE__ */ jsx58("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: value })
2987
+ return /* @__PURE__ */ jsxs26("div", { className: `w-full ${className}`, children: [
2988
+ (label || showValue) && /* @__PURE__ */ jsxs26("div", { className: "flex justify-between items-center mb-2", children: [
2989
+ label && /* @__PURE__ */ jsx94("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
2990
+ showValue && /* @__PURE__ */ jsx94("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: value })
2727
2991
  ] }),
2728
- /* @__PURE__ */ jsxs24("div", { className: "relative h-10 flex items-center", children: [
2729
- /* @__PURE__ */ jsx58("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
2730
- /* @__PURE__ */ jsx58(
2992
+ /* @__PURE__ */ jsxs26("div", { className: "relative h-10 flex items-center", children: [
2993
+ /* @__PURE__ */ jsx94("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
2994
+ /* @__PURE__ */ jsx94(
2731
2995
  "div",
2732
2996
  {
2733
2997
  className: "absolute h-2 bg-blue-600 dark:bg-blue-500 rounded-full pointer-events-none",
2734
2998
  style: { width: `${percentage}%` }
2735
2999
  }
2736
3000
  ),
2737
- /* @__PURE__ */ jsx58(
3001
+ /* @__PURE__ */ jsx94(
2738
3002
  "div",
2739
3003
  {
2740
3004
  className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md pointer-events-none z-10
@@ -2743,7 +3007,7 @@ var Slider = ({
2743
3007
  style: { left: `${percentage}%` }
2744
3008
  }
2745
3009
  ),
2746
- /* @__PURE__ */ jsx58(
3010
+ /* @__PURE__ */ jsx94(
2747
3011
  "input",
2748
3012
  {
2749
3013
  type: "range",
@@ -2766,7 +3030,7 @@ var Slider = ({
2766
3030
 
2767
3031
  // src/components/Avatar.tsx
2768
3032
  import React19 from "react";
2769
- import { jsx as jsx59 } from "react/jsx-runtime";
3033
+ import { jsx as jsx95 } from "react/jsx-runtime";
2770
3034
  var Avatar = ({
2771
3035
  src,
2772
3036
  alt,
@@ -2794,11 +3058,11 @@ var Avatar = ({
2794
3058
  };
2795
3059
  const showImage = src && !imageError;
2796
3060
  const showInitials = !showImage && name;
2797
- return /* @__PURE__ */ jsx59(
3061
+ return /* @__PURE__ */ jsx95(
2798
3062
  "div",
2799
3063
  {
2800
3064
  className: `${sizeClasses7[size]} ${shapeClass} flex items-center justify-center overflow-hidden ${showImage ? "bg-gray-200 dark:bg-gray-700" : `${fallbackColor} text-white`} ${className}`,
2801
- children: showImage ? /* @__PURE__ */ jsx59(
3065
+ children: showImage ? /* @__PURE__ */ jsx95(
2802
3066
  "img",
2803
3067
  {
2804
3068
  src,
@@ -2806,13 +3070,13 @@ var Avatar = ({
2806
3070
  className: "w-full h-full object-cover",
2807
3071
  onError: () => setImageError(true)
2808
3072
  }
2809
- ) : showInitials ? /* @__PURE__ */ jsx59("span", { className: "font-semibold select-none", children: getInitials(name) }) : /* @__PURE__ */ jsx59(
3073
+ ) : showInitials ? /* @__PURE__ */ jsx95("span", { className: "font-semibold select-none", children: getInitials(name) }) : /* @__PURE__ */ jsx95(
2810
3074
  "svg",
2811
3075
  {
2812
3076
  className: "w-full h-full text-gray-400 dark:text-gray-600",
2813
3077
  fill: "currentColor",
2814
3078
  viewBox: "0 0 24 24",
2815
- children: /* @__PURE__ */ jsx59("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })
3079
+ children: /* @__PURE__ */ jsx95("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })
2816
3080
  }
2817
3081
  )
2818
3082
  }
@@ -2820,7 +3084,7 @@ var Avatar = ({
2820
3084
  };
2821
3085
 
2822
3086
  // src/components/Textarea.tsx
2823
- import { jsx as jsx60, jsxs as jsxs25 } from "react/jsx-runtime";
3087
+ import { jsx as jsx96, jsxs as jsxs27 } from "react/jsx-runtime";
2824
3088
  var Textarea = ({
2825
3089
  label,
2826
3090
  error,
@@ -2847,9 +3111,9 @@ var Textarea = ({
2847
3111
  bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100
2848
3112
  placeholder:text-gray-500 dark:placeholder:text-gray-400
2849
3113
  disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-900`;
2850
- return /* @__PURE__ */ jsxs25("div", { className: `w-full ${className}`, children: [
2851
- label && /* @__PURE__ */ jsx60("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2852
- /* @__PURE__ */ jsx60(
3114
+ return /* @__PURE__ */ jsxs27("div", { className: `w-full ${className}`, children: [
3115
+ label && /* @__PURE__ */ jsx96("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
3116
+ /* @__PURE__ */ jsx96(
2853
3117
  "textarea",
2854
3118
  {
2855
3119
  className: `${baseClasses} ${sizeClasses7[size]} ${resizeClasses[resize]}`,
@@ -2857,14 +3121,14 @@ var Textarea = ({
2857
3121
  ...props
2858
3122
  }
2859
3123
  ),
2860
- error && /* @__PURE__ */ jsx60("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2861
- helperText && !error && /* @__PURE__ */ jsx60("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
3124
+ error && /* @__PURE__ */ jsx96("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
3125
+ helperText && !error && /* @__PURE__ */ jsx96("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
2862
3126
  ] });
2863
3127
  };
2864
3128
 
2865
3129
  // src/components/RichTextEditor.tsx
2866
3130
  import { useRef as useRef7, useCallback, useState as useState12, useEffect as useEffect8, useLayoutEffect } from "react";
2867
- import { jsx as jsx61, jsxs as jsxs26 } from "react/jsx-runtime";
3131
+ import { jsx as jsx97, jsxs as jsxs28 } from "react/jsx-runtime";
2868
3132
  var RichTextEditor = ({
2869
3133
  value = "",
2870
3134
  onChange,
@@ -3058,11 +3322,11 @@ var RichTextEditor = ({
3058
3322
  const editorBaseClass = themeName === "minimalistic" ? "bg-transparent border-2 border-white text-white placeholder:text-gray-500" : "bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 text-gray-900 dark:text-gray-100";
3059
3323
  const focusClass = isFocused && !disabled ? themeName === "minimalistic" ? "border-white" : "border-blue-500 dark:border-blue-400 ring-2 ring-blue-500/20" : "";
3060
3324
  const errorClass = error ? "border-red-500 dark:border-red-400" : "";
3061
- return /* @__PURE__ */ jsxs26("div", { className: `w-full ${className}`, children: [
3062
- label && /* @__PURE__ */ jsx61("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
3063
- /* @__PURE__ */ jsxs26("div", { className: `rounded-t-lg border-b ${editorBaseClass} p-2 flex flex-wrap gap-1`, children: [
3064
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-1", children: [
3065
- /* @__PURE__ */ jsx61(
3325
+ return /* @__PURE__ */ jsxs28("div", { className: `w-full ${className}`, children: [
3326
+ label && /* @__PURE__ */ jsx97("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
3327
+ /* @__PURE__ */ jsxs28("div", { className: `rounded-t-lg border-b ${editorBaseClass} p-2 flex flex-wrap gap-1`, children: [
3328
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-1", children: [
3329
+ /* @__PURE__ */ jsx97(
3066
3330
  "button",
3067
3331
  {
3068
3332
  type: "button",
@@ -3070,10 +3334,10 @@ var RichTextEditor = ({
3070
3334
  className: getButtonClass(activeFormats.has("bold")),
3071
3335
  disabled,
3072
3336
  title: "Bold (Ctrl+B)",
3073
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M12.78 4c1.09 0 2.04.38 2.84 1.14.8.76 1.2 1.74 1.2 2.94 0 .9-.25 1.68-.76 2.36-.51.68-1.2 1.14-2.04 1.38v.08c1.06.22 1.89.7 2.48 1.44.59.74.88 1.64.88 2.7 0 1.34-.47 2.43-1.41 3.27C14.96 19.77 13.74 20 12.24 20H4V4h8.78zm-.66 7.14c.62 0 1.12-.18 1.5-.54.38-.36.57-.84.57-1.44 0-.6-.19-1.08-.57-1.44-.38-.36-.88-.54-1.5-.54H7.5v3.96h4.62zm.24 6.86c.68 0 1.24-.19 1.68-.57.44-.38.66-.9.66-1.56 0-.66-.22-1.18-.66-1.56-.44-.38-1-.57-1.68-.57H7.5v4.26h4.86z" }) })
3337
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M12.78 4c1.09 0 2.04.38 2.84 1.14.8.76 1.2 1.74 1.2 2.94 0 .9-.25 1.68-.76 2.36-.51.68-1.2 1.14-2.04 1.38v.08c1.06.22 1.89.7 2.48 1.44.59.74.88 1.64.88 2.7 0 1.34-.47 2.43-1.41 3.27C14.96 19.77 13.74 20 12.24 20H4V4h8.78zm-.66 7.14c.62 0 1.12-.18 1.5-.54.38-.36.57-.84.57-1.44 0-.6-.19-1.08-.57-1.44-.38-.36-.88-.54-1.5-.54H7.5v3.96h4.62zm.24 6.86c.68 0 1.24-.19 1.68-.57.44-.38.66-.9.66-1.56 0-.66-.22-1.18-.66-1.56-.44-.38-1-.57-1.68-.57H7.5v4.26h4.86z" }) })
3074
3338
  }
3075
3339
  ),
3076
- /* @__PURE__ */ jsx61(
3340
+ /* @__PURE__ */ jsx97(
3077
3341
  "button",
3078
3342
  {
3079
3343
  type: "button",
@@ -3081,10 +3345,10 @@ var RichTextEditor = ({
3081
3345
  className: getButtonClass(activeFormats.has("italic")),
3082
3346
  disabled,
3083
3347
  title: "Italic (Ctrl+I)",
3084
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M11.59 4H16v2h-1.71l-3.58 8H13v2H8v-2h1.71l3.58-8H11.59V4z" }) })
3348
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M11.59 4H16v2h-1.71l-3.58 8H13v2H8v-2h1.71l3.58-8H11.59V4z" }) })
3085
3349
  }
3086
3350
  ),
3087
- /* @__PURE__ */ jsx61(
3351
+ /* @__PURE__ */ jsx97(
3088
3352
  "button",
3089
3353
  {
3090
3354
  type: "button",
@@ -3092,10 +3356,10 @@ var RichTextEditor = ({
3092
3356
  className: getButtonClass(activeFormats.has("underline")),
3093
3357
  disabled,
3094
3358
  title: "Underline (Ctrl+U)",
3095
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M10 16c-2.21 0-4-1.79-4-4V4h2v8c0 1.1.9 2 2 2s2-.9 2-2V4h2v8c0 2.21-1.79 4-4 4zM4 18h12v2H4v-2z" }) })
3359
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M10 16c-2.21 0-4-1.79-4-4V4h2v8c0 1.1.9 2 2 2s2-.9 2-2V4h2v8c0 2.21-1.79 4-4 4zM4 18h12v2H4v-2z" }) })
3096
3360
  }
3097
3361
  ),
3098
- /* @__PURE__ */ jsx61(
3362
+ /* @__PURE__ */ jsx97(
3099
3363
  "button",
3100
3364
  {
3101
3365
  type: "button",
@@ -3103,13 +3367,13 @@ var RichTextEditor = ({
3103
3367
  className: getButtonClass(activeFormats.has("strikeThrough")),
3104
3368
  disabled,
3105
3369
  title: "Strikethrough",
3106
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M10 4c-2 0-3.5.5-4.5 1.5S4 7.5 4 9h2c0-.7.2-1.2.6-1.6.4-.4 1-.6 1.9-.6.8 0 1.4.2 1.8.5.4.3.7.8.7 1.4 0 .5-.2.9-.5 1.2-.3.3-.9.6-1.8.9l-.7.2c-1.2.3-2.1.7-2.7 1.2C4.2 12.7 4 13.5 4 14.5c0 1.1.4 2 1.1 2.6.7.6 1.7.9 3 .9 2.1 0 3.6-.5 4.6-1.5.9-1 1.3-2.3 1.3-3.8h-2c0 .9-.2 1.6-.7 2.1-.5.5-1.2.7-2.2.7-.8 0-1.4-.2-1.8-.5-.4-.3-.6-.8-.6-1.4 0-.5.2-.9.5-1.2.3-.3.9-.6 1.8-.9l.7-.2c1.2-.3 2.1-.7 2.7-1.2.6-.5.9-1.3.9-2.3 0-1.2-.4-2.1-1.2-2.8-.8-.7-1.9-1-3.3-1zM2 10h16v1H2v-1z" }) })
3370
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M10 4c-2 0-3.5.5-4.5 1.5S4 7.5 4 9h2c0-.7.2-1.2.6-1.6.4-.4 1-.6 1.9-.6.8 0 1.4.2 1.8.5.4.3.7.8.7 1.4 0 .5-.2.9-.5 1.2-.3.3-.9.6-1.8.9l-.7.2c-1.2.3-2.1.7-2.7 1.2C4.2 12.7 4 13.5 4 14.5c0 1.1.4 2 1.1 2.6.7.6 1.7.9 3 .9 2.1 0 3.6-.5 4.6-1.5.9-1 1.3-2.3 1.3-3.8h-2c0 .9-.2 1.6-.7 2.1-.5.5-1.2.7-2.2.7-.8 0-1.4-.2-1.8-.5-.4-.3-.6-.8-.6-1.4 0-.5.2-.9.5-1.2.3-.3.9-.6 1.8-.9l.7-.2c1.2-.3 2.1-.7 2.7-1.2.6-.5.9-1.3.9-2.3 0-1.2-.4-2.1-1.2-2.8-.8-.7-1.9-1-3.3-1zM2 10h16v1H2v-1z" }) })
3107
3371
  }
3108
3372
  )
3109
3373
  ] }),
3110
- /* @__PURE__ */ jsx61("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3111
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-1", children: [
3112
- /* @__PURE__ */ jsx61(
3374
+ /* @__PURE__ */ jsx97("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3375
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-1", children: [
3376
+ /* @__PURE__ */ jsx97(
3113
3377
  "button",
3114
3378
  {
3115
3379
  type: "button",
@@ -3117,10 +3381,10 @@ var RichTextEditor = ({
3117
3381
  className: getButtonClass(activeFormats.has("h1")),
3118
3382
  disabled,
3119
3383
  title: "Heading 1",
3120
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H1" }) })
3384
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H1" }) })
3121
3385
  }
3122
3386
  ),
3123
- /* @__PURE__ */ jsx61(
3387
+ /* @__PURE__ */ jsx97(
3124
3388
  "button",
3125
3389
  {
3126
3390
  type: "button",
@@ -3128,10 +3392,10 @@ var RichTextEditor = ({
3128
3392
  className: getButtonClass(activeFormats.has("h2")),
3129
3393
  disabled,
3130
3394
  title: "Heading 2",
3131
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H2" }) })
3395
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H2" }) })
3132
3396
  }
3133
3397
  ),
3134
- /* @__PURE__ */ jsx61(
3398
+ /* @__PURE__ */ jsx97(
3135
3399
  "button",
3136
3400
  {
3137
3401
  type: "button",
@@ -3139,13 +3403,13 @@ var RichTextEditor = ({
3139
3403
  className: getButtonClass(activeFormats.has("h3")),
3140
3404
  disabled,
3141
3405
  title: "Heading 3",
3142
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H3" }) })
3406
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("text", { x: "2", y: "16", fontSize: "14", fontWeight: "bold", children: "H3" }) })
3143
3407
  }
3144
3408
  )
3145
3409
  ] }),
3146
- /* @__PURE__ */ jsx61("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3147
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-1", children: [
3148
- /* @__PURE__ */ jsx61(
3410
+ /* @__PURE__ */ jsx97("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3411
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-1", children: [
3412
+ /* @__PURE__ */ jsx97(
3149
3413
  "button",
3150
3414
  {
3151
3415
  type: "button",
@@ -3153,10 +3417,10 @@ var RichTextEditor = ({
3153
3417
  className: getButtonClass(activeFormats.has("ul")),
3154
3418
  disabled,
3155
3419
  title: "Bullet List",
3156
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M4 4h2v2H4V4zm4 0h8v2H8V4zM4 8h2v2H4V8zm4 0h8v2H8V8zm-4 4h2v2H4v-2zm4 0h8v2H8v-2zm-4 4h2v2H4v-2zm4 0h8v2H8v-2z" }) })
3420
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M4 4h2v2H4V4zm4 0h8v2H8V4zM4 8h2v2H4V8zm4 0h8v2H8V8zm-4 4h2v2H4v-2zm4 0h8v2H8v-2zm-4 4h2v2H4v-2zm4 0h8v2H8v-2z" }) })
3157
3421
  }
3158
3422
  ),
3159
- /* @__PURE__ */ jsx61(
3423
+ /* @__PURE__ */ jsx97(
3160
3424
  "button",
3161
3425
  {
3162
3426
  type: "button",
@@ -3164,13 +3428,13 @@ var RichTextEditor = ({
3164
3428
  className: getButtonClass(activeFormats.has("ol")),
3165
3429
  disabled,
3166
3430
  title: "Numbered List",
3167
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx61("path", { d: "M4 4h1v3H4V4zm0 4h1v1H3V8h2v1H4zm1 2H3v1h2v1H3v1h2v-3zM8 4h8v2H8V4zm0 4h8v2H8V8zm0 4h8v2H8v-2zm0 4h8v2H8v-2z" }) })
3431
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx97("path", { d: "M4 4h1v3H4V4zm0 4h1v1H3V8h2v1H4zm1 2H3v1h2v1H3v1h2v-3zM8 4h8v2H8V4zm0 4h8v2H8V8zm0 4h8v2H8v-2zm0 4h8v2H8v-2z" }) })
3168
3432
  }
3169
3433
  )
3170
3434
  ] }),
3171
- /* @__PURE__ */ jsx61("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3172
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-1", children: [
3173
- /* @__PURE__ */ jsx61(
3435
+ /* @__PURE__ */ jsx97("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3436
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-1", children: [
3437
+ /* @__PURE__ */ jsx97(
3174
3438
  "button",
3175
3439
  {
3176
3440
  type: "button",
@@ -3178,10 +3442,10 @@ var RichTextEditor = ({
3178
3442
  className: getButtonClass(false),
3179
3443
  disabled,
3180
3444
  title: "Insert Link",
3181
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx61("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" }) })
3445
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx97("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" }) })
3182
3446
  }
3183
3447
  ),
3184
- /* @__PURE__ */ jsx61(
3448
+ /* @__PURE__ */ jsx97(
3185
3449
  "button",
3186
3450
  {
3187
3451
  type: "button",
@@ -3189,10 +3453,10 @@ var RichTextEditor = ({
3189
3453
  className: getButtonClass(false),
3190
3454
  disabled,
3191
3455
  title: "Insert Image/Video",
3192
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx61("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
3456
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx97("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
3193
3457
  }
3194
3458
  ),
3195
- /* @__PURE__ */ jsx61(
3459
+ /* @__PURE__ */ jsx97(
3196
3460
  "button",
3197
3461
  {
3198
3462
  type: "button",
@@ -3200,12 +3464,12 @@ var RichTextEditor = ({
3200
3464
  className: getButtonClass(false),
3201
3465
  disabled,
3202
3466
  title: "Code",
3203
- children: /* @__PURE__ */ jsx61("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx61("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" }) })
3467
+ children: /* @__PURE__ */ jsx97("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx97("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" }) })
3204
3468
  }
3205
3469
  )
3206
3470
  ] })
3207
3471
  ] }),
3208
- /* @__PURE__ */ jsx61(
3472
+ /* @__PURE__ */ jsx97(
3209
3473
  "div",
3210
3474
  {
3211
3475
  ref: editorRef,
@@ -3230,9 +3494,9 @@ var RichTextEditor = ({
3230
3494
  suppressContentEditableWarning: true
3231
3495
  }
3232
3496
  ),
3233
- error && /* @__PURE__ */ jsx61("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
3234
- helperText && !error && /* @__PURE__ */ jsx61("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
3235
- /* @__PURE__ */ jsx61(
3497
+ error && /* @__PURE__ */ jsx97("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
3498
+ helperText && !error && /* @__PURE__ */ jsx97("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
3499
+ /* @__PURE__ */ jsx97(
3236
3500
  Modal,
3237
3501
  {
3238
3502
  isOpen: showLinkModal,
@@ -3242,8 +3506,8 @@ var RichTextEditor = ({
3242
3506
  },
3243
3507
  title: "Insert Link",
3244
3508
  size: "sm",
3245
- children: /* @__PURE__ */ jsxs26("div", { className: "space-y-4", children: [
3246
- /* @__PURE__ */ jsx61(
3509
+ children: /* @__PURE__ */ jsxs28("div", { className: "space-y-4", children: [
3510
+ /* @__PURE__ */ jsx97(
3247
3511
  TextInput,
3248
3512
  {
3249
3513
  label: "URL",
@@ -3259,8 +3523,8 @@ var RichTextEditor = ({
3259
3523
  }
3260
3524
  }
3261
3525
  ),
3262
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-2 justify-end", children: [
3263
- /* @__PURE__ */ jsx61(
3526
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-2 justify-end", children: [
3527
+ /* @__PURE__ */ jsx97(
3264
3528
  Button,
3265
3529
  {
3266
3530
  variant: "secondary",
@@ -3271,7 +3535,7 @@ var RichTextEditor = ({
3271
3535
  children: "Cancel"
3272
3536
  }
3273
3537
  ),
3274
- /* @__PURE__ */ jsx61(
3538
+ /* @__PURE__ */ jsx97(
3275
3539
  Button,
3276
3540
  {
3277
3541
  variant: "primary",
@@ -3284,7 +3548,7 @@ var RichTextEditor = ({
3284
3548
  ] })
3285
3549
  }
3286
3550
  ),
3287
- /* @__PURE__ */ jsx61(
3551
+ /* @__PURE__ */ jsx97(
3288
3552
  Modal,
3289
3553
  {
3290
3554
  isOpen: showImageModal,
@@ -3295,8 +3559,8 @@ var RichTextEditor = ({
3295
3559
  },
3296
3560
  title: "Insert Image",
3297
3561
  size: "sm",
3298
- children: /* @__PURE__ */ jsxs26("div", { className: "space-y-4", children: [
3299
- /* @__PURE__ */ jsx61(
3562
+ children: /* @__PURE__ */ jsxs28("div", { className: "space-y-4", children: [
3563
+ /* @__PURE__ */ jsx97(
3300
3564
  TextInput,
3301
3565
  {
3302
3566
  label: "Image URL",
@@ -3312,7 +3576,7 @@ var RichTextEditor = ({
3312
3576
  }
3313
3577
  }
3314
3578
  ),
3315
- /* @__PURE__ */ jsx61(
3579
+ /* @__PURE__ */ jsx97(
3316
3580
  TextInput,
3317
3581
  {
3318
3582
  label: "Alt Text (optional)",
@@ -3321,8 +3585,8 @@ var RichTextEditor = ({
3321
3585
  placeholder: "Describe the image"
3322
3586
  }
3323
3587
  ),
3324
- /* @__PURE__ */ jsxs26("div", { className: "flex gap-2 justify-end", children: [
3325
- /* @__PURE__ */ jsx61(
3588
+ /* @__PURE__ */ jsxs28("div", { className: "flex gap-2 justify-end", children: [
3589
+ /* @__PURE__ */ jsx97(
3326
3590
  Button,
3327
3591
  {
3328
3592
  variant: "secondary",
@@ -3334,7 +3598,7 @@ var RichTextEditor = ({
3334
3598
  children: "Cancel"
3335
3599
  }
3336
3600
  ),
3337
- /* @__PURE__ */ jsx61(
3601
+ /* @__PURE__ */ jsx97(
3338
3602
  Button,
3339
3603
  {
3340
3604
  variant: "primary",
@@ -3352,7 +3616,7 @@ var RichTextEditor = ({
3352
3616
 
3353
3617
  // src/components/Toast.tsx
3354
3618
  import { createContext as createContext3, useContext as useContext3, useState as useState13, useCallback as useCallback2 } from "react";
3355
- import { jsx as jsx62, jsxs as jsxs27 } from "react/jsx-runtime";
3619
+ import { jsx as jsx98, jsxs as jsxs29 } from "react/jsx-runtime";
3356
3620
  var ToastContext = createContext3(void 0);
3357
3621
  var useToast = () => {
3358
3622
  const context = useContext3(ToastContext);
@@ -3383,9 +3647,9 @@ var ToastProvider = ({ children, position = "top-right" }) => {
3383
3647
  "top-center": "top-4 left-1/2 -translate-x-1/2",
3384
3648
  "bottom-center": "bottom-4 left-1/2 -translate-x-1/2"
3385
3649
  };
3386
- return /* @__PURE__ */ jsxs27(ToastContext.Provider, { value: { toasts, addToast, removeToast }, children: [
3650
+ return /* @__PURE__ */ jsxs29(ToastContext.Provider, { value: { toasts, addToast, removeToast }, children: [
3387
3651
  children,
3388
- /* @__PURE__ */ jsx62("div", { className: `fixed ${positionClasses2[position]} z-50 flex flex-col gap-2 max-w-md`, children: toasts.map((toast2) => /* @__PURE__ */ jsx62(ToastItem, { toast: toast2, onClose: () => removeToast(toast2.id) }, toast2.id)) })
3652
+ /* @__PURE__ */ jsx98("div", { className: `fixed ${positionClasses2[position]} z-50 flex flex-col gap-2 max-w-md`, children: toasts.map((toast2) => /* @__PURE__ */ jsx98(ToastItem, { toast: toast2, onClose: () => removeToast(toast2.id) }, toast2.id)) })
3389
3653
  ] });
3390
3654
  };
3391
3655
  var ToastItem = ({ toast: toast2, onClose }) => {
@@ -3396,27 +3660,27 @@ var ToastItem = ({ toast: toast2, onClose }) => {
3396
3660
  info: "bg-blue-50 dark:bg-blue-900/30 border-blue-500 text-blue-800 dark:text-blue-200"
3397
3661
  };
3398
3662
  const typeIcons = {
3399
- success: /* @__PURE__ */ jsx62(CheckIcon, { size: "sm", className: "text-green-600 dark:text-green-400" }),
3400
- error: /* @__PURE__ */ jsx62(CloseIcon, { size: "sm", className: "text-red-600 dark:text-red-400" }),
3401
- warning: /* @__PURE__ */ jsx62("svg", { className: "w-4 h-4 text-yellow-600 dark:text-yellow-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx62("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
3402
- info: /* @__PURE__ */ jsx62("svg", { className: "w-4 h-4 text-blue-600 dark:text-blue-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx62("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) })
3663
+ success: /* @__PURE__ */ jsx98(CheckIcon, { size: "sm", className: "text-green-600 dark:text-green-400" }),
3664
+ error: /* @__PURE__ */ jsx98(CloseIcon, { size: "sm", className: "text-red-600 dark:text-red-400" }),
3665
+ warning: /* @__PURE__ */ jsx98("svg", { className: "w-4 h-4 text-yellow-600 dark:text-yellow-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx98("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
3666
+ info: /* @__PURE__ */ jsx98("svg", { className: "w-4 h-4 text-blue-600 dark:text-blue-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx98("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) })
3403
3667
  };
3404
3668
  const type = toast2.type || "info";
3405
- return /* @__PURE__ */ jsxs27(
3669
+ return /* @__PURE__ */ jsxs29(
3406
3670
  "div",
3407
3671
  {
3408
3672
  className: `flex items-start gap-3 p-4 rounded-lg border-l-4 shadow-lg backdrop-blur-sm ${typeStyles[type]} animate-slide-in`,
3409
3673
  role: "alert",
3410
3674
  children: [
3411
- /* @__PURE__ */ jsx62("div", { className: "flex-shrink-0 mt-0.5", children: typeIcons[type] }),
3412
- /* @__PURE__ */ jsx62("p", { className: "flex-1 text-sm font-medium", children: toast2.message }),
3413
- /* @__PURE__ */ jsx62(
3675
+ /* @__PURE__ */ jsx98("div", { className: "flex-shrink-0 mt-0.5", children: typeIcons[type] }),
3676
+ /* @__PURE__ */ jsx98("p", { className: "flex-1 text-sm font-medium", children: toast2.message }),
3677
+ /* @__PURE__ */ jsx98(
3414
3678
  "button",
3415
3679
  {
3416
3680
  onClick: onClose,
3417
3681
  className: "flex-shrink-0 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors",
3418
3682
  "aria-label": "Close",
3419
- children: /* @__PURE__ */ jsx62(CloseIcon, { size: "sm" })
3683
+ children: /* @__PURE__ */ jsx98(CloseIcon, { size: "sm" })
3420
3684
  }
3421
3685
  )
3422
3686
  ]
@@ -3448,7 +3712,7 @@ var toast = {
3448
3712
 
3449
3713
  // src/components/Stepper.tsx
3450
3714
  import React22 from "react";
3451
- import { jsx as jsx63, jsxs as jsxs28 } from "react/jsx-runtime";
3715
+ import { jsx as jsx99, jsxs as jsxs30 } from "react/jsx-runtime";
3452
3716
  var Stepper = ({
3453
3717
  steps,
3454
3718
  currentStep,
@@ -3456,18 +3720,18 @@ var Stepper = ({
3456
3720
  className = ""
3457
3721
  }) => {
3458
3722
  const isHorizontal = orientation === "horizontal";
3459
- return /* @__PURE__ */ jsx63("div", { className: `${isHorizontal ? "flex items-center" : "flex flex-col"} ${className}`, children: steps.map((step, index) => {
3723
+ return /* @__PURE__ */ jsx99("div", { className: `${isHorizontal ? "flex items-center" : "flex flex-col"} ${className}`, children: steps.map((step, index) => {
3460
3724
  const stepNumber = index + 1;
3461
3725
  const isActive = stepNumber === currentStep;
3462
3726
  const isCompleted = stepNumber < currentStep;
3463
3727
  const isLast = index === steps.length - 1;
3464
- return /* @__PURE__ */ jsxs28(React22.Fragment, { children: [
3465
- /* @__PURE__ */ jsxs28("div", { className: `flex ${isHorizontal ? "flex-col items-center" : "flex-row items-start"} ${isHorizontal ? "" : "flex-1"}`, children: [
3466
- /* @__PURE__ */ jsx63("div", { className: "flex items-center", children: /* @__PURE__ */ jsx63(
3728
+ return /* @__PURE__ */ jsxs30(React22.Fragment, { children: [
3729
+ /* @__PURE__ */ jsxs30("div", { className: `flex ${isHorizontal ? "flex-col items-center" : "flex-row items-start"} ${isHorizontal ? "" : "flex-1"}`, children: [
3730
+ /* @__PURE__ */ jsx99("div", { className: "flex items-center", children: /* @__PURE__ */ jsx99(
3467
3731
  "div",
3468
3732
  {
3469
3733
  className: `flex items-center justify-center w-10 h-10 rounded-full border-2 transition-all ${isCompleted ? "bg-blue-600 border-blue-600 dark:bg-blue-500 dark:border-blue-500" : isActive ? "border-blue-600 bg-white dark:border-blue-500 dark:bg-gray-800" : "border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800"}`,
3470
- children: isCompleted ? /* @__PURE__ */ jsx63(CheckIcon, { size: "sm", className: "text-white" }) : /* @__PURE__ */ jsx63(
3734
+ children: isCompleted ? /* @__PURE__ */ jsx99(CheckIcon, { size: "sm", className: "text-white" }) : /* @__PURE__ */ jsx99(
3471
3735
  "span",
3472
3736
  {
3473
3737
  className: `text-sm font-semibold ${isActive ? "text-blue-600 dark:text-blue-400" : "text-gray-500 dark:text-gray-400"}`,
@@ -3476,18 +3740,18 @@ var Stepper = ({
3476
3740
  )
3477
3741
  }
3478
3742
  ) }),
3479
- /* @__PURE__ */ jsxs28("div", { className: `${isHorizontal ? "mt-2 text-center" : "ml-4 pb-8"} ${isLast && !isHorizontal ? "pb-0" : ""}`, children: [
3480
- /* @__PURE__ */ jsx63(
3743
+ /* @__PURE__ */ jsxs30("div", { className: `${isHorizontal ? "mt-2 text-center" : "ml-4 pb-8"} ${isLast && !isHorizontal ? "pb-0" : ""}`, children: [
3744
+ /* @__PURE__ */ jsx99(
3481
3745
  "p",
3482
3746
  {
3483
3747
  className: `text-sm font-medium ${isActive || isCompleted ? "text-gray-900 dark:text-gray-100" : "text-gray-500 dark:text-gray-400"}`,
3484
3748
  children: step.label
3485
3749
  }
3486
3750
  ),
3487
- step.description && /* @__PURE__ */ jsx63("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: step.description })
3751
+ step.description && /* @__PURE__ */ jsx99("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: step.description })
3488
3752
  ] })
3489
3753
  ] }),
3490
- !isLast && /* @__PURE__ */ jsx63(
3754
+ !isLast && /* @__PURE__ */ jsx99(
3491
3755
  "div",
3492
3756
  {
3493
3757
  className: `${isHorizontal ? "flex-1 h-0.5 mx-4" : "w-0.5 h-full ml-5 -mt-8"} ${isCompleted || isActive && stepNumber < currentStep ? "bg-blue-600 dark:bg-blue-500" : "bg-gray-300 dark:bg-gray-600"}`
@@ -3498,7 +3762,7 @@ var Stepper = ({
3498
3762
  };
3499
3763
 
3500
3764
  // src/components/Divider.tsx
3501
- import { jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
3765
+ import { jsx as jsx100, jsxs as jsxs31 } from "react/jsx-runtime";
3502
3766
  var Divider = ({
3503
3767
  orientation = "horizontal",
3504
3768
  variant = "solid",
@@ -3517,14 +3781,14 @@ var Divider = ({
3517
3781
  center: "justify-center",
3518
3782
  right: "justify-end"
3519
3783
  };
3520
- return /* @__PURE__ */ jsxs29("div", { className: `flex items-center ${alignmentClasses[labelPosition]} ${className}`, role: "separator", children: [
3521
- labelPosition !== "left" && /* @__PURE__ */ jsx64("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` }),
3522
- /* @__PURE__ */ jsx64("span", { className: "px-4 text-sm text-gray-500 dark:text-gray-400", children: label }),
3523
- labelPosition !== "right" && /* @__PURE__ */ jsx64("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` })
3784
+ return /* @__PURE__ */ jsxs31("div", { className: `flex items-center ${alignmentClasses[labelPosition]} ${className}`, role: "separator", children: [
3785
+ labelPosition !== "left" && /* @__PURE__ */ jsx100("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` }),
3786
+ /* @__PURE__ */ jsx100("span", { className: "px-4 text-sm text-gray-500 dark:text-gray-400", children: label }),
3787
+ labelPosition !== "right" && /* @__PURE__ */ jsx100("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` })
3524
3788
  ] });
3525
3789
  }
3526
3790
  if (orientation === "vertical") {
3527
- return /* @__PURE__ */ jsx64(
3791
+ return /* @__PURE__ */ jsx100(
3528
3792
  "div",
3529
3793
  {
3530
3794
  className: `inline-block h-full border-l ${variantClasses[variant]} border-gray-300 dark:border-gray-600 ${className}`,
@@ -3533,7 +3797,7 @@ var Divider = ({
3533
3797
  }
3534
3798
  );
3535
3799
  }
3536
- return /* @__PURE__ */ jsx64(
3800
+ return /* @__PURE__ */ jsx100(
3537
3801
  "hr",
3538
3802
  {
3539
3803
  className: `border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600 ${className}`,
@@ -3544,7 +3808,7 @@ var Divider = ({
3544
3808
 
3545
3809
  // src/components/FileUpload.tsx
3546
3810
  import { useRef as useRef8, useState as useState14 } from "react";
3547
- import { jsx as jsx65, jsxs as jsxs30 } from "react/jsx-runtime";
3811
+ import { jsx as jsx101, jsxs as jsxs32 } from "react/jsx-runtime";
3548
3812
  var FileUpload = ({
3549
3813
  accept,
3550
3814
  multiple = false,
@@ -3617,9 +3881,9 @@ var FileUpload = ({
3617
3881
  setFiles(newFiles);
3618
3882
  onChange?.(newFiles);
3619
3883
  };
3620
- return /* @__PURE__ */ jsxs30("div", { className: `w-full ${className}`, children: [
3621
- label && /* @__PURE__ */ jsx65("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
3622
- /* @__PURE__ */ jsxs30(
3884
+ return /* @__PURE__ */ jsxs32("div", { className: `w-full ${className}`, children: [
3885
+ label && /* @__PURE__ */ jsx101("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
3886
+ /* @__PURE__ */ jsxs32(
3623
3887
  "div",
3624
3888
  {
3625
3889
  onDrop: handleDrop,
@@ -3628,7 +3892,7 @@ var FileUpload = ({
3628
3892
  onClick: handleClick,
3629
3893
  className: `relative border-2 border-dashed rounded-lg p-8 text-center cursor-pointer transition-all ${isDragging ? "border-blue-500 bg-blue-50 dark:bg-blue-900/20" : "border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"} ${disabled ? "opacity-50 cursor-not-allowed" : ""}`,
3630
3894
  children: [
3631
- /* @__PURE__ */ jsx65(
3895
+ /* @__PURE__ */ jsx101(
3632
3896
  "input",
3633
3897
  {
3634
3898
  ref: fileInputRef,
@@ -3640,14 +3904,14 @@ var FileUpload = ({
3640
3904
  className: "hidden"
3641
3905
  }
3642
3906
  ),
3643
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-col items-center gap-2", children: [
3644
- /* @__PURE__ */ jsx65("div", { className: "w-12 h-12 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center", children: /* @__PURE__ */ jsx65(UploadIcon, { size: "lg", className: "text-gray-400 dark:text-gray-500" }) }),
3645
- /* @__PURE__ */ jsxs30("div", { children: [
3646
- /* @__PURE__ */ jsxs30("p", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
3647
- /* @__PURE__ */ jsx65("span", { className: "text-blue-600 dark:text-blue-400", children: "Click to upload" }),
3907
+ /* @__PURE__ */ jsxs32("div", { className: "flex flex-col items-center gap-2", children: [
3908
+ /* @__PURE__ */ jsx101("div", { className: "w-12 h-12 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center", children: /* @__PURE__ */ jsx101(UploadIcon, { size: "lg", className: "text-gray-400 dark:text-gray-500" }) }),
3909
+ /* @__PURE__ */ jsxs32("div", { children: [
3910
+ /* @__PURE__ */ jsxs32("p", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
3911
+ /* @__PURE__ */ jsx101("span", { className: "text-blue-600 dark:text-blue-400", children: "Click to upload" }),
3648
3912
  " or drag and drop"
3649
3913
  ] }),
3650
- /* @__PURE__ */ jsxs30("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: [
3914
+ /* @__PURE__ */ jsxs32("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: [
3651
3915
  accept ? `Accepted: ${accept}` : "Any file type",
3652
3916
  maxSize && ` \u2022 Max size: ${formatFileSize(maxSize)}`
3653
3917
  ] })
@@ -3656,17 +3920,17 @@ var FileUpload = ({
3656
3920
  ]
3657
3921
  }
3658
3922
  ),
3659
- helperText && /* @__PURE__ */ jsx65("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
3660
- files.length > 0 && /* @__PURE__ */ jsx65("div", { className: "mt-4 space-y-2", children: files.map((file, index) => /* @__PURE__ */ jsxs30(
3923
+ helperText && /* @__PURE__ */ jsx101("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
3924
+ files.length > 0 && /* @__PURE__ */ jsx101("div", { className: "mt-4 space-y-2", children: files.map((file, index) => /* @__PURE__ */ jsxs32(
3661
3925
  "div",
3662
3926
  {
3663
3927
  className: "flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",
3664
3928
  children: [
3665
- /* @__PURE__ */ jsxs30("div", { className: "flex-1 min-w-0", children: [
3666
- /* @__PURE__ */ jsx65("p", { className: "text-sm font-medium text-gray-900 dark:text-gray-100 truncate", children: file.name }),
3667
- /* @__PURE__ */ jsx65("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: formatFileSize(file.size) })
3929
+ /* @__PURE__ */ jsxs32("div", { className: "flex-1 min-w-0", children: [
3930
+ /* @__PURE__ */ jsx101("p", { className: "text-sm font-medium text-gray-900 dark:text-gray-100 truncate", children: file.name }),
3931
+ /* @__PURE__ */ jsx101("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: formatFileSize(file.size) })
3668
3932
  ] }),
3669
- /* @__PURE__ */ jsx65(
3933
+ /* @__PURE__ */ jsx101(
3670
3934
  "button",
3671
3935
  {
3672
3936
  onClick: (e) => {
@@ -3675,7 +3939,7 @@ var FileUpload = ({
3675
3939
  },
3676
3940
  className: "ml-4 text-gray-400 hover:text-red-600 dark:hover:text-red-400 transition-colors",
3677
3941
  "aria-label": "Remove file",
3678
- children: /* @__PURE__ */ jsx65(CloseIcon, { size: "sm" })
3942
+ children: /* @__PURE__ */ jsx101(CloseIcon, { size: "sm" })
3679
3943
  }
3680
3944
  )
3681
3945
  ]
@@ -3685,6 +3949,364 @@ var FileUpload = ({
3685
3949
  ] });
3686
3950
  };
3687
3951
 
3952
+ // src/components/AudioPlayer.tsx
3953
+ import { useRef as useRef9, useState as useState15, useEffect as useEffect9 } from "react";
3954
+ import { jsx as jsx102, jsxs as jsxs33 } from "react/jsx-runtime";
3955
+ var AudioPlayer = ({
3956
+ src,
3957
+ title,
3958
+ artist,
3959
+ album,
3960
+ coverArt,
3961
+ variant = "default",
3962
+ autoPlay = false,
3963
+ loop = false,
3964
+ preload = "metadata",
3965
+ onPlay,
3966
+ onPause,
3967
+ onEnded,
3968
+ onTimeUpdate,
3969
+ className = "",
3970
+ showSkipButtons = false,
3971
+ onSkipBack,
3972
+ onSkipForward
3973
+ }) => {
3974
+ const audioRef = useRef9(null);
3975
+ const [isPlaying, setIsPlaying] = useState15(false);
3976
+ const [currentTime, setCurrentTime] = useState15(0);
3977
+ const [duration, setDuration] = useState15(0);
3978
+ const [volume, setVolume] = useState15(1);
3979
+ const [isMuted, setIsMuted] = useState15(false);
3980
+ const [isLoading, setIsLoading] = useState15(true);
3981
+ useEffect9(() => {
3982
+ const audio = audioRef.current;
3983
+ if (!audio) return;
3984
+ const handleLoadedMetadata = () => {
3985
+ setDuration(audio.duration);
3986
+ setIsLoading(false);
3987
+ };
3988
+ const handleCanPlay = () => {
3989
+ setIsLoading(false);
3990
+ };
3991
+ const handleTimeUpdate = () => {
3992
+ setCurrentTime(audio.currentTime);
3993
+ onTimeUpdate?.(audio.currentTime);
3994
+ };
3995
+ const handleEnded = () => {
3996
+ setIsPlaying(false);
3997
+ onEnded?.();
3998
+ };
3999
+ const handlePlay = () => {
4000
+ setIsPlaying(true);
4001
+ onPlay?.();
4002
+ };
4003
+ const handlePause = () => {
4004
+ setIsPlaying(false);
4005
+ onPause?.();
4006
+ };
4007
+ const handleError = (e) => {
4008
+ console.error("Audio error:", e);
4009
+ setIsPlaying(false);
4010
+ setIsLoading(false);
4011
+ };
4012
+ const handleLoadStart = () => {
4013
+ setIsLoading(true);
4014
+ };
4015
+ audio.addEventListener("loadstart", handleLoadStart);
4016
+ audio.addEventListener("loadedmetadata", handleLoadedMetadata);
4017
+ audio.addEventListener("canplay", handleCanPlay);
4018
+ audio.addEventListener("timeupdate", handleTimeUpdate);
4019
+ audio.addEventListener("ended", handleEnded);
4020
+ audio.addEventListener("play", handlePlay);
4021
+ audio.addEventListener("pause", handlePause);
4022
+ audio.addEventListener("error", handleError);
4023
+ if (audio.readyState >= 2) {
4024
+ setIsLoading(false);
4025
+ setDuration(audio.duration);
4026
+ }
4027
+ return () => {
4028
+ audio.removeEventListener("loadstart", handleLoadStart);
4029
+ audio.removeEventListener("loadedmetadata", handleLoadedMetadata);
4030
+ audio.removeEventListener("canplay", handleCanPlay);
4031
+ audio.removeEventListener("timeupdate", handleTimeUpdate);
4032
+ audio.removeEventListener("ended", handleEnded);
4033
+ audio.removeEventListener("play", handlePlay);
4034
+ audio.removeEventListener("pause", handlePause);
4035
+ audio.removeEventListener("error", handleError);
4036
+ };
4037
+ }, [onPlay, onPause, onEnded, onTimeUpdate]);
4038
+ useEffect9(() => {
4039
+ const audio = audioRef.current;
4040
+ if (!audio) return;
4041
+ audio.load();
4042
+ }, [src]);
4043
+ const togglePlayPause = async () => {
4044
+ const audio = audioRef.current;
4045
+ if (!audio) return;
4046
+ try {
4047
+ if (isPlaying) {
4048
+ audio.pause();
4049
+ } else {
4050
+ await audio.play();
4051
+ }
4052
+ } catch (error) {
4053
+ console.error("Playback error:", error);
4054
+ setIsPlaying(false);
4055
+ }
4056
+ };
4057
+ const handleSeek = (e) => {
4058
+ const audio = audioRef.current;
4059
+ if (!audio) return;
4060
+ const time = parseFloat(e.target.value);
4061
+ audio.currentTime = time;
4062
+ setCurrentTime(time);
4063
+ };
4064
+ const handleVolumeChange = (e) => {
4065
+ const audio = audioRef.current;
4066
+ if (!audio) return;
4067
+ const vol = parseFloat(e.target.value);
4068
+ audio.volume = vol;
4069
+ setVolume(vol);
4070
+ setIsMuted(vol === 0);
4071
+ };
4072
+ const toggleMute = () => {
4073
+ const audio = audioRef.current;
4074
+ if (!audio) return;
4075
+ if (isMuted) {
4076
+ audio.volume = volume || 0.5;
4077
+ setIsMuted(false);
4078
+ } else {
4079
+ audio.volume = 0;
4080
+ setIsMuted(true);
4081
+ }
4082
+ };
4083
+ const formatTime = (time) => {
4084
+ if (!isFinite(time)) return "0:00";
4085
+ const minutes = Math.floor(time / 60);
4086
+ const seconds = Math.floor(time % 60);
4087
+ return `${minutes}:${seconds.toString().padStart(2, "0")}`;
4088
+ };
4089
+ const handleSkipBack = () => {
4090
+ const audio = audioRef.current;
4091
+ if (!audio) return;
4092
+ if (onSkipBack) {
4093
+ onSkipBack();
4094
+ } else {
4095
+ audio.currentTime = Math.max(0, audio.currentTime - 10);
4096
+ }
4097
+ };
4098
+ const handleSkipForward = () => {
4099
+ const audio = audioRef.current;
4100
+ if (!audio) return;
4101
+ if (onSkipForward) {
4102
+ onSkipForward();
4103
+ } else {
4104
+ audio.currentTime = Math.min(duration, audio.currentTime + 10);
4105
+ }
4106
+ };
4107
+ const progress = duration > 0 ? currentTime / duration * 100 : 0;
4108
+ if (variant === "mini") {
4109
+ return /* @__PURE__ */ jsxs33("div", { className: `flex items-center gap-2 p-2 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 ${className}`, children: [
4110
+ /* @__PURE__ */ jsx102("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4111
+ /* @__PURE__ */ jsx102(
4112
+ Button,
4113
+ {
4114
+ iconOnly: true,
4115
+ size: "sm",
4116
+ variant: "primary",
4117
+ onClick: togglePlayPause,
4118
+ disabled: isLoading,
4119
+ "aria-label": isPlaying ? "Pause" : "Play",
4120
+ children: isPlaying ? /* @__PURE__ */ jsx102(PauseIcon, { size: "sm" }) : /* @__PURE__ */ jsx102(PlayIcon, { size: "sm" })
4121
+ }
4122
+ ),
4123
+ title && /* @__PURE__ */ jsx102("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300 truncate", children: title })
4124
+ ] });
4125
+ }
4126
+ if (variant === "compact") {
4127
+ return /* @__PURE__ */ jsxs33("div", { className: `flex items-center gap-3 p-3 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm ${className}`, children: [
4128
+ /* @__PURE__ */ jsx102("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4129
+ /* @__PURE__ */ jsx102(
4130
+ Button,
4131
+ {
4132
+ iconOnly: true,
4133
+ size: "md",
4134
+ variant: "primary",
4135
+ onClick: togglePlayPause,
4136
+ disabled: isLoading,
4137
+ "aria-label": isPlaying ? "Pause" : "Play",
4138
+ children: isPlaying ? /* @__PURE__ */ jsx102(PauseIcon, { size: "md" }) : /* @__PURE__ */ jsx102(PlayIcon, { size: "md" })
4139
+ }
4140
+ ),
4141
+ /* @__PURE__ */ jsxs33("div", { className: "flex-1 min-w-0", children: [
4142
+ title && /* @__PURE__ */ jsx102("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100 truncate", children: title }),
4143
+ artist && /* @__PURE__ */ jsx102("div", { className: "text-xs text-gray-500 dark:text-gray-400 truncate", children: artist })
4144
+ ] }),
4145
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2 flex-1", children: [
4146
+ /* @__PURE__ */ jsx102("span", { className: "text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: formatTime(currentTime) }),
4147
+ /* @__PURE__ */ jsxs33("div", { className: "relative flex-1 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden", children: [
4148
+ /* @__PURE__ */ jsx102(
4149
+ "div",
4150
+ {
4151
+ className: "absolute h-full bg-blue-600 dark:bg-blue-500 rounded-full transition-all",
4152
+ style: { width: `${progress}%` }
4153
+ }
4154
+ ),
4155
+ /* @__PURE__ */ jsx102(
4156
+ "input",
4157
+ {
4158
+ type: "range",
4159
+ min: 0,
4160
+ max: duration || 0,
4161
+ value: currentTime,
4162
+ onChange: handleSeek,
4163
+ disabled: isLoading,
4164
+ className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer disabled:cursor-not-allowed",
4165
+ "aria-label": "Seek"
4166
+ }
4167
+ )
4168
+ ] }),
4169
+ /* @__PURE__ */ jsx102("span", { className: "text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: formatTime(duration) })
4170
+ ] }),
4171
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
4172
+ /* @__PURE__ */ jsx102(
4173
+ "button",
4174
+ {
4175
+ onClick: toggleMute,
4176
+ className: "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
4177
+ "aria-label": isMuted ? "Unmute" : "Mute",
4178
+ children: isMuted ? /* @__PURE__ */ jsx102(VolumeOffIcon, { size: "sm" }) : /* @__PURE__ */ jsx102(VolumeUpIcon, { size: "sm" })
4179
+ }
4180
+ ),
4181
+ /* @__PURE__ */ jsx102(
4182
+ "input",
4183
+ {
4184
+ type: "range",
4185
+ min: 0,
4186
+ max: 1,
4187
+ step: 0.01,
4188
+ value: isMuted ? 0 : volume,
4189
+ onChange: handleVolumeChange,
4190
+ className: "w-16 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4191
+ "aria-label": "Volume"
4192
+ }
4193
+ )
4194
+ ] })
4195
+ ] });
4196
+ }
4197
+ return /* @__PURE__ */ jsxs33("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-md overflow-hidden ${className}`, children: [
4198
+ /* @__PURE__ */ jsx102("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4199
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-4 p-4 border-b border-gray-200 dark:border-gray-700", children: [
4200
+ coverArt && /* @__PURE__ */ jsx102("div", { className: "w-16 h-16 flex-shrink-0 rounded-md overflow-hidden bg-gray-100 dark:bg-gray-700", children: /* @__PURE__ */ jsx102(
4201
+ "img",
4202
+ {
4203
+ src: coverArt,
4204
+ alt: `${title || "Track"} cover art`,
4205
+ className: "w-full h-full object-cover"
4206
+ }
4207
+ ) }),
4208
+ /* @__PURE__ */ jsxs33("div", { className: "flex-1 min-w-0", children: [
4209
+ title && /* @__PURE__ */ jsx102("h3", { className: "text-base font-semibold text-gray-900 dark:text-gray-100 truncate", children: title }),
4210
+ artist && /* @__PURE__ */ jsx102("p", { className: "text-sm text-gray-600 dark:text-gray-400 truncate", children: artist }),
4211
+ album && /* @__PURE__ */ jsx102("p", { className: "text-xs text-gray-500 dark:text-gray-500 truncate", children: album })
4212
+ ] })
4213
+ ] }),
4214
+ /* @__PURE__ */ jsxs33("div", { className: "px-4 pt-4", children: [
4215
+ /* @__PURE__ */ jsxs33("div", { className: "relative h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden", children: [
4216
+ /* @__PURE__ */ jsx102(
4217
+ "div",
4218
+ {
4219
+ className: "absolute h-full bg-blue-600 dark:bg-blue-500 rounded-full transition-all",
4220
+ style: { width: `${progress}%` }
4221
+ }
4222
+ ),
4223
+ /* @__PURE__ */ jsx102(
4224
+ "input",
4225
+ {
4226
+ type: "range",
4227
+ min: 0,
4228
+ max: duration || 0,
4229
+ value: currentTime,
4230
+ onChange: handleSeek,
4231
+ disabled: isLoading,
4232
+ className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer disabled:cursor-not-allowed",
4233
+ "aria-label": "Seek"
4234
+ }
4235
+ )
4236
+ ] }),
4237
+ /* @__PURE__ */ jsxs33("div", { className: "flex justify-between items-center mt-1 text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: [
4238
+ /* @__PURE__ */ jsx102("span", { children: formatTime(currentTime) }),
4239
+ /* @__PURE__ */ jsx102("span", { children: formatTime(duration) })
4240
+ ] })
4241
+ ] }),
4242
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between px-4 py-4", children: [
4243
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2 flex-1", children: [
4244
+ /* @__PURE__ */ jsx102(
4245
+ "button",
4246
+ {
4247
+ onClick: toggleMute,
4248
+ className: "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 transition-colors",
4249
+ "aria-label": isMuted ? "Unmute" : "Mute",
4250
+ children: isMuted ? /* @__PURE__ */ jsx102(VolumeOffIcon, { size: "md" }) : /* @__PURE__ */ jsx102(VolumeUpIcon, { size: "md" })
4251
+ }
4252
+ ),
4253
+ /* @__PURE__ */ jsx102(
4254
+ "input",
4255
+ {
4256
+ type: "range",
4257
+ min: 0,
4258
+ max: 1,
4259
+ step: 0.01,
4260
+ value: isMuted ? 0 : volume,
4261
+ onChange: handleVolumeChange,
4262
+ className: "w-20 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4263
+ "aria-label": "Volume"
4264
+ }
4265
+ )
4266
+ ] }),
4267
+ /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
4268
+ showSkipButtons && /* @__PURE__ */ jsx102(
4269
+ Button,
4270
+ {
4271
+ iconOnly: true,
4272
+ size: "md",
4273
+ variant: "secondary",
4274
+ onClick: handleSkipBack,
4275
+ disabled: isLoading,
4276
+ "aria-label": "Skip back 10 seconds",
4277
+ children: /* @__PURE__ */ jsx102(SkipBackIcon, { size: "md" })
4278
+ }
4279
+ ),
4280
+ /* @__PURE__ */ jsx102(
4281
+ Button,
4282
+ {
4283
+ iconOnly: true,
4284
+ size: "lg",
4285
+ variant: "primary",
4286
+ onClick: togglePlayPause,
4287
+ disabled: isLoading,
4288
+ "aria-label": isPlaying ? "Pause" : "Play",
4289
+ children: isPlaying ? /* @__PURE__ */ jsx102(PauseIcon, { size: "lg" }) : /* @__PURE__ */ jsx102(PlayIcon, { size: "lg" })
4290
+ }
4291
+ ),
4292
+ showSkipButtons && /* @__PURE__ */ jsx102(
4293
+ Button,
4294
+ {
4295
+ iconOnly: true,
4296
+ size: "md",
4297
+ variant: "secondary",
4298
+ onClick: handleSkipForward,
4299
+ disabled: isLoading,
4300
+ "aria-label": "Skip forward 10 seconds",
4301
+ children: /* @__PURE__ */ jsx102(SkipForwardIcon, { size: "md" })
4302
+ }
4303
+ )
4304
+ ] }),
4305
+ /* @__PURE__ */ jsx102("div", { className: "flex-1" })
4306
+ ] })
4307
+ ] });
4308
+ };
4309
+
3688
4310
  // src/utils/theme-script.ts
3689
4311
  var themeScript = `
3690
4312
  (function() {
@@ -3720,33 +4342,57 @@ function getThemeScript() {
3720
4342
  export {
3721
4343
  ActionMenu,
3722
4344
  Alert,
4345
+ AlertCircleIcon,
3723
4346
  AppShell,
3724
4347
  AppleIcon,
4348
+ ArrowLeftIcon,
4349
+ ArrowRightIcon,
4350
+ AudioPlayer,
3725
4351
  Avatar,
3726
4352
  Badge,
4353
+ BeakerIcon,
3727
4354
  BellIcon,
4355
+ BookIcon,
4356
+ BrainIcon,
3728
4357
  Button,
3729
4358
  Calendar,
3730
4359
  CalendarIcon,
3731
4360
  CameraIcon,
3732
4361
  Card,
4362
+ ChatIcon,
4363
+ CheckCircleIcon,
3733
4364
  CheckIcon,
3734
4365
  Checkbox,
3735
4366
  ChevronDownIcon,
4367
+ ChevronLeftIcon,
3736
4368
  ChevronRightIcon,
4369
+ ChevronUpIcon,
3737
4370
  CloseIcon,
4371
+ CloudIcon,
4372
+ CodeIcon,
4373
+ CopyIcon,
4374
+ DatabaseIcon,
3738
4375
  DatePicker,
3739
4376
  DateTimePicker,
3740
4377
  Divider,
3741
4378
  DownloadIcon,
3742
4379
  Drawer,
3743
4380
  EditIcon,
4381
+ ExternalLinkIcon,
4382
+ EyeIcon,
4383
+ EyeOffIcon,
3744
4384
  FacebookIcon,
4385
+ FileIcon,
3745
4386
  FileUpload,
4387
+ FolderIcon,
3746
4388
  GitHubIcon,
4389
+ GlobeIcon,
3747
4390
  GoogleIcon,
3748
4391
  HeartIcon,
3749
4392
  HomeIcon,
4393
+ ImageIcon,
4394
+ InfoCircleIcon,
4395
+ KeyIcon,
3750
4396
  LinkedInIcon,
3751
4397
  LockIcon,
3752
4398
  MailIcon,
@@ -3755,22 +4401,33 @@ export {
3755
4401
  Navbar,
3756
4402
  NumberInput,
3757
4403
  Pagination,
4404
+ PauseIcon,
4405
+ PlayIcon,
4406
+ PlugIcon,
3758
4407
  PlusIcon,
3759
4408
  ProgressBar,
3760
4409
  Radio,
4410
+ RefreshIcon,
3761
4411
  RichTextEditor,
4412
+ SaveIcon,
3762
4413
  SearchIcon,
3763
4414
  Select,
3764
4415
  SettingsIcon,
4416
+ ShieldIcon,
3765
4417
  Sidebar,
3766
4418
  SidebarProvider,
4419
+ SkipBackIcon,
4420
+ SkipForwardIcon,
3767
4421
  SlackIcon,
3768
4422
  Slider,
4423
+ SparklesIcon,
3769
4424
  Spinner,
3770
4425
  StarIcon,
3771
4426
  Stepper,
4427
+ StopIcon,
3772
4428
  Table,
3773
4429
  Tabs,
4430
+ TerminalIcon,
3774
4431
  TextInput,
3775
4432
  Textarea,
3776
4433
  ThemeProvider,
@@ -3781,6 +4438,8 @@ export {
3781
4438
  TwitterIcon,
3782
4439
  UploadIcon,
3783
4440
  UserIcon,
4441
+ VolumeOffIcon,
4442
+ VolumeUpIcon,
3784
4443
  YouTubeIcon,
3785
4444
  getThemeScript,
3786
4445
  themeScript,