@elmethis/qwik 0.0.22 → 0.0.23

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.
@@ -10,7 +10,7 @@ const marked = require("marked");
10
10
  const caption$1 = "_caption_1j0ec_27";
11
11
  const divider = "_divider_1j0ec_50";
12
12
  const code$2 = "_code_1j0ec_1";
13
- const styles$u = {
13
+ const styles$z = {
14
14
  "code-block": "_code-block_1j0ec_1",
15
15
  "language-icon": "_language-icon_1j0ec_22",
16
16
  caption: caption$1,
@@ -70,7 +70,7 @@ const Typescript = qwik.component$(({ size = 24, ...props }) => {
70
70
  });
71
71
  });
72
72
  const path = "_path_1ccs2_1";
73
- const styles$t = {
73
+ const styles$y = {
74
74
  path
75
75
  };
76
76
  const Bash = qwik.component$(({ size = 24, ...props }) => {
@@ -86,7 +86,7 @@ const Bash = qwik.component$(({ size = 24, ...props }) => {
86
86
  d: "M4.24 4.24h119.53v119.53H4.24z"
87
87
  }),
88
88
  /* @__PURE__ */ jsxRuntime.jsx("path", {
89
- class: styles$t.path,
89
+ class: styles$y.path,
90
90
  d: "M109.01 28.64L71.28 6.24c-2.25-1.33-4.77-2-7.28-2s-5.03.67-7.28 2.01l-37.74 22.4c-4.5 2.67-7.28 7.61-7.28 12.96v44.8c0 5.35 2.77 10.29 7.28 12.96l37.73 22.4c2.25 1.34 4.76 2 7.28 2c2.51 0 5.03-.67 7.28-2l37.74-22.4c4.5-2.67 7.28-7.62 7.28-12.96V41.6c0-5.34-2.77-10.29-7.28-12.96M79.79 98.59l.06 3.22c0 .39-.25.83-.55.99l-1.91 1.1c-.3.15-.56-.03-.56-.42l-.03-3.17c-1.63.68-3.29.84-4.34.42c-.2-.08-.29-.37-.21-.71l.69-2.91c.06-.23.18-.46.34-.6c.06-.06.12-.1.18-.13c.11-.06.22-.07.31-.03c1.14.38 2.59.2 3.99-.5c1.78-.9 2.97-2.72 2.95-4.52c-.02-1.64-.9-2.31-3.05-2.33c-2.74.01-5.3-.53-5.34-4.57c-.03-3.32 1.69-6.78 4.43-8.96l-.03-3.25c0-.4.24-.84.55-1l1.85-1.18c.3-.15.56.04.56.43l.03 3.25c1.36-.54 2.54-.69 3.61-.44c.23.06.34.38.24.75l-.72 2.88c-.06.22-.18.44-.33.58a.8.8 0 0 1-.19.14c-.1.05-.19.06-.28.05c-.49-.11-1.65-.36-3.48.56c-1.92.97-2.59 2.64-2.58 3.88c.02 1.48.77 1.93 3.39 1.97c3.49.06 4.99 1.58 5.03 5.09c.05 3.44-1.79 7.15-4.61 9.41m26.34-60.5l-35.7 22.05c-4.45 2.6-7.73 5.52-7.74 10.89v43.99c0 3.21 1.3 5.29 3.29 5.9c-.65.11-1.32.19-1.98.19c-2.09 0-4.15-.57-5.96-1.64l-37.73-22.4c-3.69-2.19-5.98-6.28-5.98-10.67V41.6c0-4.39 2.29-8.48 5.98-10.67l37.74-22.4c1.81-1.07 3.87-1.64 5.96-1.64s4.15.57 5.96 1.64l37.74 22.4c3.11 1.85 5.21 5.04 5.8 8.63c-1.27-2.67-4.09-3.39-7.38-1.47"
91
91
  }),
92
92
  /* @__PURE__ */ jsxRuntime.jsx("path", {
@@ -527,12 +527,12 @@ const C = qwik.component$(({ size = 24, ...props }) => {
527
527
  });
528
528
  });
529
529
  const icon$4 = "_icon_1gvln_1";
530
- const styles$s = {
530
+ const styles$x = {
531
531
  icon: icon$4
532
532
  };
533
533
  const ElmMdiIcon = qwik.component$(({ d, size = "1em", color, lightColor, darkColor }) => {
534
534
  return /* @__PURE__ */ jsxRuntime.jsx("svg", {
535
- class: styles$s.icon,
535
+ class: styles$x.icon,
536
536
  style: {
537
537
  "--color": lightColor ?? color,
538
538
  "--dark-color": darkColor ?? color
@@ -641,7 +641,7 @@ const text$3 = "_text_1gswr_1";
641
641
  const code$1 = "_code_1gswr_12";
642
642
  const kbd = "_kbd_1gswr_21";
643
643
  const link$1 = "_link_1gswr_47";
644
- const styles$r = {
644
+ const styles$w = {
645
645
  text: text$3,
646
646
  code: code$1,
647
647
  kbd,
@@ -652,16 +652,16 @@ const textStyles = {
652
652
  text: text$2
653
653
  };
654
654
  const icon$3 = "_icon_19g82_1";
655
- const styles$q = {
655
+ const styles$v = {
656
656
  icon: icon$3
657
657
  };
658
658
  const ElmInlineIcon = qwik.component$(({ src, alt }) => {
659
659
  return /* @__PURE__ */ jsxRuntime.jsx("span", {
660
- class: styles$q.icon,
660
+ class: styles$v.icon,
661
661
  children: /* @__PURE__ */ jsxRuntime.jsx("img", {
662
662
  src,
663
663
  alt,
664
- class: styles$q.icon
664
+ class: styles$v.icon
665
665
  })
666
666
  });
667
667
  });
@@ -672,7 +672,7 @@ const ElmInlineText = qwik.component$((props) => {
672
672
  }) : /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {});
673
673
  if (props.kbd) {
674
674
  vnode = /* @__PURE__ */ jsxRuntime.jsx("kbd", {
675
- class: styles$r.kbd,
675
+ class: styles$w.kbd,
676
676
  children: vnode
677
677
  });
678
678
  }
@@ -698,13 +698,13 @@ const ElmInlineText = qwik.component$((props) => {
698
698
  }
699
699
  if (code2) {
700
700
  vnode = /* @__PURE__ */ jsxRuntime.jsx("code", {
701
- class: styles$r.code,
701
+ class: styles$w.code,
702
702
  children: vnode
703
703
  });
704
704
  }
705
705
  if (props.ruby) {
706
706
  vnode = /* @__PURE__ */ jsxRuntime.jsxs("ruby", {
707
- class: styles$r.text,
707
+ class: styles$w.text,
708
708
  children: [
709
709
  /* @__PURE__ */ jsxRuntime.jsx("span", {
710
710
  children: vnode
@@ -717,7 +717,7 @@ const ElmInlineText = qwik.component$((props) => {
717
717
  }
718
718
  const wrappedVnode = /* @__PURE__ */ jsxRuntime.jsx("span", {
719
719
  class: [
720
- styles$r.text,
720
+ styles$w.text,
721
721
  textStyles.text
722
722
  ],
723
723
  style: {
@@ -729,7 +729,7 @@ const ElmInlineText = qwik.component$((props) => {
729
729
  });
730
730
  if (props.href) {
731
731
  return /* @__PURE__ */ jsxRuntime.jsxs("a", {
732
- class: styles$r.link,
732
+ class: styles$w.link,
733
733
  href: props.href,
734
734
  style: {
735
735
  "--font-size": size
@@ -747,7 +747,7 @@ const ElmInlineText = qwik.component$((props) => {
747
747
  return wrappedVnode;
748
748
  });
749
749
  const code = "_code_1sw1e_1";
750
- const styles$p = {
750
+ const styles$u = {
751
751
  code
752
752
  };
753
753
  const ElmShikiHighlighter = qwik.component$(({ code: code2, language = "txt" }) => {
@@ -772,7 +772,7 @@ const ElmShikiHighlighter = qwik.component$(({ code: code2, language = "txt" })
772
772
  }
773
773
  });
774
774
  return /* @__PURE__ */ jsxRuntime.jsx("pre", {
775
- class: styles$p.code,
775
+ class: styles$u.code,
776
776
  dangerouslySetInnerHTML: rawHtml.value
777
777
  });
778
778
  });
@@ -791,19 +791,19 @@ const ElmCodeBlock = qwik.component$(({ code: code2, language = "txt", caption:
791
791
  }
792
792
  });
793
793
  return /* @__PURE__ */ jsxRuntime.jsxs("figure", {
794
- class: styles$u["code-block"],
794
+ class: styles$z["code-block"],
795
795
  style: {
796
796
  margin
797
797
  },
798
798
  children: [
799
799
  /* @__PURE__ */ jsxRuntime.jsx("span", {
800
- class: styles$u["language-icon"],
800
+ class: styles$z["language-icon"],
801
801
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmLanguageIcon, {
802
802
  language
803
803
  })
804
804
  }),
805
805
  /* @__PURE__ */ jsxRuntime.jsx("span", {
806
- class: styles$u.caption,
806
+ class: styles$z.caption,
807
807
  children: /* @__PURE__ */ jsxRuntime.jsxs(ElmInlineText, {
808
808
  children: [
809
809
  caption2 || language,
@@ -812,7 +812,7 @@ const ElmCodeBlock = qwik.component$(({ code: code2, language = "txt", caption:
812
812
  })
813
813
  }),
814
814
  /* @__PURE__ */ jsxRuntime.jsx("div", {
815
- class: styles$u["copy-icon"],
815
+ class: styles$z["copy-icon"],
816
816
  onClick$: copyToClipboard,
817
817
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
818
818
  size: "1.25rem",
@@ -821,10 +821,10 @@ const ElmCodeBlock = qwik.component$(({ code: code2, language = "txt", caption:
821
821
  })
822
822
  }),
823
823
  /* @__PURE__ */ jsxRuntime.jsx("hr", {
824
- class: styles$u.divider
824
+ class: styles$z.divider
825
825
  }),
826
826
  /* @__PURE__ */ jsxRuntime.jsx("div", {
827
- class: styles$u.code,
827
+ class: styles$z.code,
828
828
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmShikiHighlighter, {
829
829
  code: code2,
830
830
  language
@@ -844,7 +844,7 @@ const ElmKatex = qwik.component$(({ expression, block = false }) => {
844
844
  });
845
845
  });
846
846
  const parallax = "_parallax_1kb0k_1";
847
- const styles$o = {
847
+ const styles$t = {
848
848
  "parallax-watcher": "_parallax-watcher_1kb0k_1",
849
849
  parallax
850
850
  };
@@ -853,13 +853,13 @@ const ElmParallax = qwik.component$(({ images }) => {
853
853
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
854
854
  children: [
855
855
  /* @__PURE__ */ jsxRuntime.jsx("div", {
856
- class: styles$o["parallax-watcher"],
856
+ class: styles$t["parallax-watcher"],
857
857
  "window:onScroll$": () => {
858
858
  y.value = window.scrollY;
859
859
  }
860
860
  }),
861
861
  images.map((image2, index) => /* @__PURE__ */ jsxRuntime.jsx("div", {
862
- class: styles$o.parallax,
862
+ class: styles$t.parallax,
863
863
  style: {
864
864
  backgroundImage: `url(${image2})`,
865
865
  transform: `scale(1.2) translateY(${y.value / (1e3 * (index + 1))}%)`,
@@ -873,7 +873,7 @@ const toggle = "_toggle_1nxqa_1";
873
873
  const summary = "_summary_1nxqa_14";
874
874
  const content$2 = "_content_1nxqa_60";
875
875
  const footer = "_footer_1nxqa_80";
876
- const styles$n = {
876
+ const styles$s = {
877
877
  toggle,
878
878
  "toggle-closed": "_toggle-closed_1nxqa_7",
879
879
  "toggle-open": "_toggle-open_1nxqa_10",
@@ -901,29 +901,29 @@ const ElmToggle = qwik.component$(({ summary: summary2 }) => {
901
901
  });
902
902
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
903
903
  class: [
904
- styles$n.toggle,
904
+ styles$s.toggle,
905
905
  {
906
- [styles$n["toggle-open"]]: isOpen.value,
907
- [styles$n["toggle-closed"]]: !isOpen.value
906
+ [styles$s["toggle-open"]]: isOpen.value,
907
+ [styles$s["toggle-closed"]]: !isOpen.value
908
908
  }
909
909
  ],
910
910
  children: [
911
911
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
912
912
  class: [
913
- styles$n.summary,
913
+ styles$s.summary,
914
914
  {
915
- [styles$n["summary-open"]]: isOpen.value,
916
- [styles$n["summary-closed"]]: !isOpen.value
915
+ [styles$s["summary-open"]]: isOpen.value,
916
+ [styles$s["summary-closed"]]: !isOpen.value
917
917
  }
918
918
  ],
919
919
  onClick$: toggle2,
920
920
  children: [
921
921
  /* @__PURE__ */ jsxRuntime.jsx("span", {
922
922
  class: [
923
- styles$n["chevron-icon"],
923
+ styles$s["chevron-icon"],
924
924
  {
925
- [styles$n["chevron-icon-open"]]: isOpen.value,
926
- [styles$n["chevron-icon-closed"]]: !isOpen.value
925
+ [styles$s["chevron-icon-open"]]: isOpen.value,
926
+ [styles$s["chevron-icon-closed"]]: !isOpen.value
927
927
  }
928
928
  ],
929
929
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
@@ -931,17 +931,17 @@ const ElmToggle = qwik.component$(({ summary: summary2 }) => {
931
931
  })
932
932
  }),
933
933
  /* @__PURE__ */ jsxRuntime.jsx("span", {
934
- class: styles$n["summary-text"],
934
+ class: styles$s["summary-text"],
935
935
  children: summary2 ? summary2 : /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {
936
936
  name: "summary"
937
937
  })
938
938
  }),
939
939
  /* @__PURE__ */ jsxRuntime.jsx("span", {
940
940
  class: [
941
- styles$n["plus-icon"],
941
+ styles$s["plus-icon"],
942
942
  {
943
- [styles$n["plus-icon-open"]]: isOpen.value,
944
- [styles$n["plus-icon-closed"]]: !isOpen.value
943
+ [styles$s["plus-icon-open"]]: isOpen.value,
944
+ [styles$s["plus-icon-closed"]]: !isOpen.value
945
945
  }
946
946
  ],
947
947
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
@@ -954,30 +954,30 @@ const ElmToggle = qwik.component$(({ summary: summary2 }) => {
954
954
  }),
955
955
  /* @__PURE__ */ jsxRuntime.jsx("div", {
956
956
  class: [
957
- styles$n.content,
957
+ styles$s.content,
958
958
  {
959
- [styles$n["content-open"]]: isOpen.value,
960
- [styles$n["content-closed"]]: !isOpen.value
959
+ [styles$s["content-open"]]: isOpen.value,
960
+ [styles$s["content-closed"]]: !isOpen.value
961
961
  }
962
962
  ],
963
963
  children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
964
964
  }),
965
965
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
966
- class: styles$n.footer,
966
+ class: styles$s.footer,
967
967
  onClick$: toggle2,
968
968
  children: [
969
969
  /* @__PURE__ */ jsxRuntime.jsx("span", {
970
- class: styles$n["footer-chevron-icon"],
970
+ class: styles$s["footer-chevron-icon"],
971
971
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
972
972
  d: js.mdiChevronRight,
973
973
  color: "gray"
974
974
  })
975
975
  }),
976
976
  /* @__PURE__ */ jsxRuntime.jsx("hr", {
977
- class: styles$n["footer-line"]
977
+ class: styles$s["footer-line"]
978
978
  }),
979
979
  /* @__PURE__ */ jsxRuntime.jsx("span", {
980
- class: styles$n["footer-cross-icon"],
980
+ class: styles$s["footer-cross-icon"],
981
981
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
982
982
  d: js.mdiPlus,
983
983
  color: "#c56565"
@@ -987,17 +987,17 @@ const ElmToggle = qwik.component$(({ summary: summary2 }) => {
987
987
  children: "CLOSE"
988
988
  }),
989
989
  /* @__PURE__ */ jsxRuntime.jsx("span", {
990
- class: styles$n["footer-cross-icon"],
990
+ class: styles$s["footer-cross-icon"],
991
991
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
992
992
  d: js.mdiPlus,
993
993
  color: "#c56565"
994
994
  })
995
995
  }),
996
996
  /* @__PURE__ */ jsxRuntime.jsx("hr", {
997
- class: styles$n["footer-line"]
997
+ class: styles$s["footer-line"]
998
998
  }),
999
999
  /* @__PURE__ */ jsxRuntime.jsx("span", {
1000
- class: styles$n["footer-chevron-icon"],
1000
+ class: styles$s["footer-chevron-icon"],
1001
1001
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1002
1002
  d: js.mdiChevronRight,
1003
1003
  color: "gray"
@@ -1008,50 +1008,50 @@ const ElmToggle = qwik.component$(({ summary: summary2 }) => {
1008
1008
  ]
1009
1009
  });
1010
1010
  });
1011
- const styles$m = {
1011
+ const styles$r = {
1012
1012
  "block-fallback": "_block-fallback_rt986_1"
1013
1013
  };
1014
- const wrapper$2 = "_wrapper_1yktj_12";
1014
+ const wrapper$3 = "_wrapper_1yktj_12";
1015
1015
  const dot = "_dot_1yktj_22";
1016
- const styles$l = {
1017
- wrapper: wrapper$2,
1016
+ const styles$q = {
1017
+ wrapper: wrapper$3,
1018
1018
  dot
1019
1019
  };
1020
1020
  const ElmDotLoadingIcon = qwik.component$(({ size = "4em", color = "#606875" }) => {
1021
1021
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1022
- class: styles$l.wrapper,
1022
+ class: styles$q.wrapper,
1023
1023
  style: {
1024
1024
  "--size": size,
1025
1025
  "--color": color
1026
1026
  },
1027
1027
  children: [
1028
1028
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1029
- class: styles$l.dot,
1029
+ class: styles$q.dot,
1030
1030
  "aria-hidden": "true"
1031
1031
  }),
1032
1032
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1033
- class: styles$l.dot,
1033
+ class: styles$q.dot,
1034
1034
  "aria-hidden": "true"
1035
1035
  }),
1036
1036
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1037
- class: styles$l.dot,
1037
+ class: styles$q.dot,
1038
1038
  "aria-hidden": "true"
1039
1039
  })
1040
1040
  ]
1041
1041
  });
1042
1042
  });
1043
- const styles$k = {
1043
+ const styles$p = {
1044
1044
  "rectangle-wave": "_rectangle-wave_hej9g_17"
1045
1045
  };
1046
1046
  const ElmRectangleWave = qwik.component$(() => {
1047
1047
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
1048
1048
  "aria-hidden": "true",
1049
- class: styles$k["rectangle-wave"]
1049
+ class: styles$p["rectangle-wave"]
1050
1050
  });
1051
1051
  });
1052
1052
  const ElmBlockFallback = qwik.component$(({ height = "16rem" }) => {
1053
1053
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1054
- class: styles$m["block-fallback"],
1054
+ class: styles$r["block-fallback"],
1055
1055
  style: {
1056
1056
  "--height": height
1057
1057
  },
@@ -1061,6 +1061,440 @@ const ElmBlockFallback = qwik.component$(({ height = "16rem" }) => {
1061
1061
  ]
1062
1062
  });
1063
1063
  });
1064
+ const button = "_button_1ykfy_1";
1065
+ const normal = "_normal_1ykfy_32";
1066
+ const primary = "_primary_1ykfy_41";
1067
+ const colored = "_colored_1ykfy_50";
1068
+ const enable = "_enable_1ykfy_54";
1069
+ const flex = "_flex_1ykfy_76";
1070
+ const ripple = "_ripple_1ykfy_97";
1071
+ const styles$o = {
1072
+ button,
1073
+ "button-ornament": "_button-ornament_1ykfy_21",
1074
+ normal,
1075
+ primary,
1076
+ colored,
1077
+ enable,
1078
+ flex,
1079
+ ripple
1080
+ };
1081
+ const ElmButton = qwik.component$((props) => {
1082
+ const clicked = qwik.useSignal(false);
1083
+ const handleClick = qwik.$(async () => {
1084
+ if (!props.loading && !props.disabled) {
1085
+ if (props.onClick$) {
1086
+ clicked.value = true;
1087
+ setTimeout(() => clicked.value = false, 300);
1088
+ await props.onClick$();
1089
+ }
1090
+ }
1091
+ });
1092
+ return /* @__PURE__ */ jsxRuntime.jsxs("button", {
1093
+ onClick$: handleClick,
1094
+ class: [
1095
+ styles$o.button,
1096
+ !props.loading && !props.disabled && styles$o.enable,
1097
+ props.color && styles$o.colored,
1098
+ !props.color && !props.primary && styles$o.normal,
1099
+ !props.color && props.primary && styles$o.primary
1100
+ ],
1101
+ style: {
1102
+ display: props.block ? "flex" : "inline-flex",
1103
+ width: props.block ? "100%" : "auto",
1104
+ cursor: props.disabled ? "not-allowed" : props.loading ? "progress" : "pointer",
1105
+ "--opacity": props.disabled || props.loading ? 0.6 : void 0,
1106
+ "--color": props.color
1107
+ },
1108
+ children: [
1109
+ clicked.value && /* @__PURE__ */ jsxRuntime.jsx("div", {
1110
+ class: styles$o.ripple
1111
+ }),
1112
+ props.loading ? /* @__PURE__ */ jsxRuntime.jsx(ElmDotLoadingIcon, {
1113
+ size: "1.5rem"
1114
+ }) : /* @__PURE__ */ jsxRuntime.jsx("span", {
1115
+ class: styles$o.flex,
1116
+ children: /* @__PURE__ */ jsxRuntime.jsx(qwik.Slot, {})
1117
+ }),
1118
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
1119
+ class: styles$o["button-ornament"]
1120
+ })
1121
+ ]
1122
+ });
1123
+ });
1124
+ const container$2 = "_container_101ok_1";
1125
+ const checkbox = "_checkbox_101ok_19";
1126
+ const rect = "_rect_101ok_27";
1127
+ const loading$1 = "_loading_101ok_40";
1128
+ const styles$n = {
1129
+ container: container$2,
1130
+ "container--disable": "_container--disable_101ok_11",
1131
+ checkbox,
1132
+ rect,
1133
+ "rect--loading": "_rect--loading_101ok_30",
1134
+ "rect--checked": "_rect--checked_101ok_33",
1135
+ loading: loading$1,
1136
+ "check-line": "_check-line_101ok_56"
1137
+ };
1138
+ const ElmCheckbox = qwik.component$((props) => {
1139
+ const internalChecked = qwik.useSignal(false);
1140
+ const isChecked = props.checked ?? internalChecked;
1141
+ const toggleCheck = qwik.$(() => {
1142
+ if (!props.loading && !props.disable) {
1143
+ isChecked.value = !isChecked.value;
1144
+ }
1145
+ });
1146
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
1147
+ class: [
1148
+ styles$n.container,
1149
+ props.disable && styles$n["container--disable"]
1150
+ ],
1151
+ onClick$: toggleCheck,
1152
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
1153
+ style: {
1154
+ display: "flex",
1155
+ alignItems: "center",
1156
+ gap: "0.5rem"
1157
+ },
1158
+ children: [
1159
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", {
1160
+ width: "24",
1161
+ height: "24",
1162
+ class: styles$n.checkbox,
1163
+ children: [
1164
+ /* @__PURE__ */ jsxRuntime.jsxs("circle", {
1165
+ cx: "0",
1166
+ cy: "0",
1167
+ r: "2",
1168
+ class: styles$n.loading,
1169
+ style: {
1170
+ opacity: props.loading ? 1 : 0
1171
+ },
1172
+ children: [
1173
+ /* @__PURE__ */ jsxRuntime.jsx("animate", {
1174
+ attributeName: "cx",
1175
+ values: "4; 20; 20; 4; 4",
1176
+ dur: "1.2s",
1177
+ repeatCount: "indefinite",
1178
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
1179
+ calcMode: "spline"
1180
+ }),
1181
+ /* @__PURE__ */ jsxRuntime.jsx("animate", {
1182
+ attributeName: "cy",
1183
+ values: "4; 4; 20; 20; 4",
1184
+ dur: "1.2s",
1185
+ repeatCount: "indefinite",
1186
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
1187
+ calcMode: "spline"
1188
+ })
1189
+ ]
1190
+ }),
1191
+ /* @__PURE__ */ jsxRuntime.jsxs("circle", {
1192
+ cx: "20",
1193
+ cy: "20",
1194
+ r: "2",
1195
+ class: styles$n.loading,
1196
+ style: {
1197
+ opacity: props.loading ? 1 : 0
1198
+ },
1199
+ children: [
1200
+ /* @__PURE__ */ jsxRuntime.jsx("animate", {
1201
+ attributeName: "cx",
1202
+ values: "20; 4; 4; 20; 20",
1203
+ dur: "1.2s",
1204
+ repeatCount: "indefinite",
1205
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
1206
+ calcMode: "spline"
1207
+ }),
1208
+ /* @__PURE__ */ jsxRuntime.jsx("animate", {
1209
+ attributeName: "cy",
1210
+ values: "20; 20; 4; 4; 20",
1211
+ dur: "1.2s",
1212
+ repeatCount: "indefinite",
1213
+ keySplines: "0.25 0.1 0.25 1; 0.42 0 0.58 1; 0.25 0.1 0.25 1; 0.42 0 0.58 1",
1214
+ calcMode: "spline"
1215
+ })
1216
+ ]
1217
+ }),
1218
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
1219
+ x: "4",
1220
+ y: "4",
1221
+ width: "16",
1222
+ height: "16",
1223
+ class: [
1224
+ styles$n.rect,
1225
+ isChecked.value && styles$n["rect--checked"],
1226
+ props.loading && styles$n["rect--loading"]
1227
+ ],
1228
+ "stroke-width": "0.8"
1229
+ }),
1230
+ isChecked.value && /* @__PURE__ */ jsxRuntime.jsx("polyline", {
1231
+ class: styles$n["check-line"],
1232
+ points: "5,12 10,17 19,8",
1233
+ "stroke-width": "1.5",
1234
+ fill: "transparent"
1235
+ }),
1236
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1237
+ x1: "0",
1238
+ y1: "1",
1239
+ x2: "4",
1240
+ y2: "1",
1241
+ "stroke-width": "2",
1242
+ fill: "transparent"
1243
+ }),
1244
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1245
+ x1: "4",
1246
+ y1: "0",
1247
+ x2: "24",
1248
+ y2: "0",
1249
+ "stroke-width": "1",
1250
+ fill: "transparent"
1251
+ }),
1252
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1253
+ x1: "0",
1254
+ y1: "4",
1255
+ x2: "0",
1256
+ y2: "16",
1257
+ "stroke-width": "1",
1258
+ fill: "transparent"
1259
+ }),
1260
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1261
+ x1: "0",
1262
+ y1: "18",
1263
+ x2: "0",
1264
+ y2: "20",
1265
+ "stroke-width": "1",
1266
+ fill: "transparent"
1267
+ }),
1268
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1269
+ x1: "0",
1270
+ y1: "24",
1271
+ x2: "20",
1272
+ y2: "24",
1273
+ "stroke-width": "1",
1274
+ fill: "transparent"
1275
+ }),
1276
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1277
+ x1: "20",
1278
+ y1: "23",
1279
+ x2: "24",
1280
+ y2: "23",
1281
+ "stroke-width": "1.5",
1282
+ fill: "transparent"
1283
+ }),
1284
+ /* @__PURE__ */ jsxRuntime.jsx("line", {
1285
+ x1: "24",
1286
+ y1: "4",
1287
+ x2: "24",
1288
+ y2: "20",
1289
+ style: {
1290
+ strokeWidth: "1px"
1291
+ },
1292
+ fill: "transparent"
1293
+ })
1294
+ ]
1295
+ }),
1296
+ /* @__PURE__ */ jsxRuntime.jsx(ElmInlineText, {
1297
+ text: props.label
1298
+ })
1299
+ ]
1300
+ })
1301
+ });
1302
+ });
1303
+ const wrapper$2 = "_wrapper_1o5x2_1";
1304
+ const active$1 = "_active_1o5x2_23";
1305
+ const header$2 = "_header_1o5x2_27";
1306
+ const label$1 = "_label_1o5x2_35";
1307
+ const body$2 = "_body_1o5x2_48";
1308
+ const select = "_select_1o5x2_57";
1309
+ const selected = "_selected_1o5x2_66";
1310
+ const fallback$1 = "_fallback_1o5x2_71";
1311
+ const pulldown = "_pulldown_1o5x2_79";
1312
+ const option = "_option_1o5x2_96";
1313
+ const description$1 = "_description_1o5x2_116";
1314
+ const styles$m = {
1315
+ wrapper: wrapper$2,
1316
+ active: active$1,
1317
+ header: header$2,
1318
+ label: label$1,
1319
+ body: body$2,
1320
+ select,
1321
+ selected,
1322
+ fallback: fallback$1,
1323
+ pulldown,
1324
+ option,
1325
+ description: description$1
1326
+ };
1327
+ const ElmSelect = qwik.component$((props) => {
1328
+ const internalSelected = qwik.useSignal(null);
1329
+ const selectedOption = props.selectedOption ?? internalSelected;
1330
+ const isActive = qwik.useSignal(false);
1331
+ const containerRef = qwik.useSignal();
1332
+ const handleToggle = qwik.$(() => {
1333
+ if (!props.disabled && !props.loading) {
1334
+ isActive.value = !isActive.value;
1335
+ }
1336
+ });
1337
+ const handleSelect = qwik.$((id) => {
1338
+ if (props.options) {
1339
+ const selected2 = props.options.find((option2) => option2.id === id);
1340
+ if (selected2) {
1341
+ selectedOption.value = selected2;
1342
+ }
1343
+ }
1344
+ });
1345
+ qwik.useOnDocument("click", qwik.$((event) => {
1346
+ if (isActive.value && containerRef.value) {
1347
+ const target = event.target;
1348
+ if (!containerRef.value.contains(target)) {
1349
+ isActive.value = false;
1350
+ }
1351
+ }
1352
+ }));
1353
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1354
+ ref: containerRef,
1355
+ class: [
1356
+ styles$m.wrapper,
1357
+ isActive.value && styles$m.active
1358
+ ],
1359
+ style: {
1360
+ backgroundColor: props.disabled || props.loading ? "rgba(0,0,0,0.15)" : void 0,
1361
+ "--highlight-color": isActive.value ? "#bfa056" : void 0
1362
+ },
1363
+ onClick$: handleToggle,
1364
+ children: [
1365
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
1366
+ class: styles$m.header,
1367
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", {
1368
+ class: [
1369
+ styles$m.label,
1370
+ textStyles.text
1371
+ ],
1372
+ children: props.label
1373
+ })
1374
+ }),
1375
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
1376
+ class: styles$m.body,
1377
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
1378
+ class: styles$m.select,
1379
+ children: [
1380
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
1381
+ class: [
1382
+ styles$m.selected,
1383
+ textStyles.text
1384
+ ],
1385
+ children: selectedOption.value ? /* @__PURE__ */ jsxRuntime.jsxs("div", {
1386
+ children: [
1387
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
1388
+ children: selectedOption.value.label
1389
+ }),
1390
+ selectedOption.value.description && /* @__PURE__ */ jsxRuntime.jsx("span", {
1391
+ class: styles$m.description,
1392
+ children: selectedOption.value.description
1393
+ })
1394
+ ]
1395
+ }, selectedOption.value.id) : /* @__PURE__ */ jsxRuntime.jsxs("div", {
1396
+ class: styles$m.fallback,
1397
+ children: [
1398
+ /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1399
+ d: js.mdiArrowDownDropCircleOutline
1400
+ }),
1401
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
1402
+ children: props.placeholder ?? "Select an option"
1403
+ })
1404
+ ]
1405
+ })
1406
+ }),
1407
+ /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1408
+ d: js.mdiMenuDown,
1409
+ size: "1.5rem"
1410
+ }),
1411
+ isActive.value && /* @__PURE__ */ jsxRuntime.jsx("div", {
1412
+ class: styles$m.pulldown,
1413
+ children: props.options.map((option2) => /* @__PURE__ */ jsxRuntime.jsxs("div", {
1414
+ class: [
1415
+ styles$m.option,
1416
+ textStyles.text
1417
+ ],
1418
+ onClick$: (e) => {
1419
+ e.stopPropagation();
1420
+ handleSelect(option2.id);
1421
+ isActive.value = false;
1422
+ },
1423
+ children: [
1424
+ /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1425
+ d: js.mdiChevronRight,
1426
+ color: "#868e9c",
1427
+ size: "0.75em"
1428
+ }),
1429
+ /* @__PURE__ */ jsxRuntime.jsx("span", {
1430
+ children: option2.label
1431
+ }),
1432
+ option2.description && /* @__PURE__ */ jsxRuntime.jsx("span", {
1433
+ class: styles$m.description,
1434
+ children: option2.description
1435
+ })
1436
+ ]
1437
+ }, option2.id))
1438
+ })
1439
+ ]
1440
+ })
1441
+ })
1442
+ ]
1443
+ });
1444
+ });
1445
+ const bar = "_bar_gpty5_5";
1446
+ const circle = "_circle_gpty5_25";
1447
+ const styles$l = {
1448
+ "switch": "_switch_gpty5_1",
1449
+ bar,
1450
+ "bar--checked": "_bar--checked_gpty5_17",
1451
+ "bar--disabled": "_bar--disabled_gpty5_21",
1452
+ circle,
1453
+ "circle--checked": "_circle--checked_gpty5_36",
1454
+ "circle--disabled": "_circle--disabled_gpty5_39"
1455
+ };
1456
+ const ElmSwitch = qwik.component$((props) => {
1457
+ const color = props.color ?? "#bfa056";
1458
+ const size = props.size ?? "18px";
1459
+ const internalChecked = qwik.useSignal(false);
1460
+ const checked = props.checked ?? internalChecked;
1461
+ const handleClick = qwik.$(() => {
1462
+ if (!props.disabled) {
1463
+ checked.value = !checked.value;
1464
+ }
1465
+ });
1466
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1467
+ onClick$: handleClick,
1468
+ style: {
1469
+ "--color": color,
1470
+ "--padding": "2px",
1471
+ "--size": size,
1472
+ "--width": "calc(var(--size) * 2 + var(--padding) * 2)"
1473
+ },
1474
+ children: [
1475
+ /* @__PURE__ */ jsxRuntime.jsx("input", {
1476
+ class: styles$l.switch,
1477
+ type: "checkbox",
1478
+ checked: checked.value,
1479
+ disabled: props.disabled
1480
+ }),
1481
+ /* @__PURE__ */ jsxRuntime.jsx("div", {
1482
+ class: [
1483
+ styles$l.bar,
1484
+ checked.value && styles$l["bar--checked"],
1485
+ props.disabled && styles$l["bar--disabled"]
1486
+ ],
1487
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
1488
+ class: [
1489
+ styles$l.circle,
1490
+ checked.value && styles$l["circle--checked"],
1491
+ props.disabled && styles$l["circle--disabled"]
1492
+ ]
1493
+ })
1494
+ })
1495
+ ]
1496
+ });
1497
+ });
1064
1498
  const loading = "_loading_1yj0v_19";
1065
1499
  const wrapper$1 = "_wrapper_1yj0v_33";
1066
1500
  const active = "_active_1yj0v_55";
@@ -1071,7 +1505,7 @@ const body$1 = "_body_1yj0v_88";
1071
1505
  const input = "_input_1yj0v_109";
1072
1506
  const icon$2 = "_icon_1yj0v_136";
1073
1507
  const suffix = "_suffix_1yj0v_153";
1074
- const styles$j = {
1508
+ const styles$k = {
1075
1509
  loading,
1076
1510
  wrapper: wrapper$1,
1077
1511
  active,
@@ -1115,8 +1549,8 @@ const ElmTextField = qwik.component$((props) => {
1115
1549
  };
1116
1550
  return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1117
1551
  class: [
1118
- styles$j.wrapper,
1119
- isFocused.value && styles$j.active
1552
+ styles$k.wrapper,
1553
+ isFocused.value && styles$k.active
1120
1554
  ],
1121
1555
  style: {
1122
1556
  backgroundColor: props.disabled || props.loading ? "rgba(0,0,0,0.15)" : void 0,
@@ -1124,17 +1558,17 @@ const ElmTextField = qwik.component$((props) => {
1124
1558
  },
1125
1559
  children: [
1126
1560
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
1127
- class: styles$j.header,
1561
+ class: styles$k.header,
1128
1562
  children: [
1129
1563
  /* @__PURE__ */ jsxRuntime.jsxs("label", {
1130
1564
  for: id,
1131
- class: styles$j.label,
1565
+ class: styles$k.label,
1132
1566
  children: [
1133
1567
  /* @__PURE__ */ jsxRuntime.jsx("span", {
1134
1568
  children: props.label
1135
1569
  }),
1136
1570
  props.required && /* @__PURE__ */ jsxRuntime.jsx("span", {
1137
- class: styles$j.requierd,
1571
+ class: styles$k.requierd,
1138
1572
  children: "*"
1139
1573
  })
1140
1574
  ]
@@ -1147,7 +1581,7 @@ const ElmTextField = qwik.component$((props) => {
1147
1581
  ]
1148
1582
  }),
1149
1583
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
1150
- class: styles$j.body,
1584
+ class: styles$k.body,
1151
1585
  children: [
1152
1586
  props.icon && /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1153
1587
  d: iconMap[props.icon],
@@ -1158,7 +1592,7 @@ const ElmTextField = qwik.component$((props) => {
1158
1592
  id,
1159
1593
  "bind:value": input2,
1160
1594
  type: inputType.value,
1161
- class: styles$j.input,
1595
+ class: styles$k.input,
1162
1596
  placeholder: props.placeholder,
1163
1597
  onFocus$: () => isFocused.value = true,
1164
1598
  onBlur$: () => isFocused.value = false,
@@ -1169,16 +1603,16 @@ const ElmTextField = qwik.component$((props) => {
1169
1603
  "aria-required": props.required
1170
1604
  }),
1171
1605
  /* @__PURE__ */ jsxRuntime.jsxs("div", {
1172
- class: styles$j["icon-box"],
1606
+ class: styles$k["icon-box"],
1173
1607
  children: [
1174
1608
  /* @__PURE__ */ jsxRuntime.jsx("span", {
1175
- class: styles$j.suffix,
1609
+ class: styles$k.suffix,
1176
1610
  children: props.suffix != null && /* @__PURE__ */ jsxRuntime.jsx(ElmInlineText, {
1177
1611
  text: props.suffix
1178
1612
  })
1179
1613
  }),
1180
1614
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1181
- class: styles$j.icon,
1615
+ class: styles$k.icon,
1182
1616
  onClick$: handleVisibleSwitch,
1183
1617
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1184
1618
  d: inputType.value === "text" ? js.mdiEyeOutline : js.mdiEyeOffOutline,
@@ -1187,7 +1621,7 @@ const ElmTextField = qwik.component$((props) => {
1187
1621
  })
1188
1622
  }),
1189
1623
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1190
- class: styles$j.icon,
1624
+ class: styles$k.icon,
1191
1625
  onClick$: handleDelete,
1192
1626
  children: /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1193
1627
  d: js.mdiBackspaceOutline,
@@ -1200,7 +1634,7 @@ const ElmTextField = qwik.component$((props) => {
1200
1634
  ]
1201
1635
  }),
1202
1636
  /* @__PURE__ */ jsxRuntime.jsx("div", {
1203
- class: styles$j.loading,
1637
+ class: styles$k.loading,
1204
1638
  style: {
1205
1639
  opacity: props.loading ? 0.2 : 0
1206
1640
  }
@@ -1208,6 +1642,28 @@ const ElmTextField = qwik.component$((props) => {
1208
1642
  ]
1209
1643
  });
1210
1644
  });
1645
+ const validation = "_validation_r3xix_1";
1646
+ const styles$j = {
1647
+ validation
1648
+ };
1649
+ const ElmValidation = qwik.component$(({ text: text2, validColor = "#449763", isValid }) => {
1650
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", {
1651
+ class: styles$j.validation,
1652
+ style: {
1653
+ "--opacity": isValid ? 1 : 0.5
1654
+ },
1655
+ children: [
1656
+ /* @__PURE__ */ jsxRuntime.jsx(ElmMdiIcon, {
1657
+ d: isValid ? js.mdiCheckCircle : js.mdiCheckCircleOutline,
1658
+ color: isValid ? validColor : void 0
1659
+ }),
1660
+ /* @__PURE__ */ jsxRuntime.jsx(ElmInlineText, {
1661
+ text: text2,
1662
+ color: isValid ? validColor : void 0
1663
+ })
1664
+ ]
1665
+ });
1666
+ });
1211
1667
  const LOCAL_STORAGE_KEY = "elmethis-theme";
1212
1668
  function useElmethisTheme() {
1213
1669
  const isDarkTheme = qwik.useSignal(false);
@@ -2761,7 +3217,9 @@ exports.ElmBlockImage = ElmBlockImage;
2761
3217
  exports.ElmBlockQuote = ElmBlockQuote;
2762
3218
  exports.ElmBookmark = ElmBookmark;
2763
3219
  exports.ElmBreadcrumb = ElmBreadcrumb;
3220
+ exports.ElmButton = ElmButton;
2764
3221
  exports.ElmCallout = ElmCallout;
3222
+ exports.ElmCheckbox = ElmCheckbox;
2765
3223
  exports.ElmCodeBlock = ElmCodeBlock;
2766
3224
  exports.ElmDivider = ElmDivider;
2767
3225
  exports.ElmDotLoadingIcon = ElmDotLoadingIcon;
@@ -2780,7 +3238,9 @@ exports.ElmPageTop = ElmPageTop;
2780
3238
  exports.ElmParagraph = ElmParagraph;
2781
3239
  exports.ElmParallax = ElmParallax;
2782
3240
  exports.ElmRectangleWave = ElmRectangleWave;
3241
+ exports.ElmSelect = ElmSelect;
2783
3242
  exports.ElmShikiHighlighter = ElmShikiHighlighter;
3243
+ exports.ElmSwitch = ElmSwitch;
2784
3244
  exports.ElmTable = ElmTable;
2785
3245
  exports.ElmTableBody = ElmTableBody;
2786
3246
  exports.ElmTableCell = ElmTableCell;
@@ -2789,3 +3249,4 @@ exports.ElmTableRow = ElmTableRow;
2789
3249
  exports.ElmTextField = ElmTextField;
2790
3250
  exports.ElmToggle = ElmToggle;
2791
3251
  exports.ElmToggleTheme = ElmToggleTheme;
3252
+ exports.ElmValidation = ElmValidation;