@shopito/design-system-fe 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -337,14 +337,14 @@ function z({ variant: e = "info", title: t, children: n, onClose: r, className:
337
337
  }
338
338
  //#endregion
339
339
  //#region src/components/common/Modal/Modal.tsx
340
- var ee = {
340
+ var B = {
341
341
  sm: "max-w-sm",
342
342
  md: "max-w-md",
343
343
  lg: "max-w-lg",
344
344
  xl: "max-w-xl",
345
345
  full: "max-w-full mx-4"
346
346
  };
347
- function te({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "md", closeOnBackdrop: c = !0 }) {
347
+ function ee({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "md", closeOnBackdrop: c = !0 }) {
348
348
  let f = o(null);
349
349
  return r(() => {
350
350
  if (!e) return;
@@ -368,7 +368,7 @@ function te({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "
368
368
  role: "dialog",
369
369
  "aria-modal": "true",
370
370
  "aria-labelledby": n ? "modal-title" : void 0,
371
- className: ["relative w-full bg-white rounded-xl shadow-xl flex flex-col max-h-[90vh]", ee[s]].join(" "),
371
+ className: ["relative w-full bg-white rounded-xl shadow-xl flex flex-col max-h-[90vh]", B[s]].join(" "),
372
372
  children: [
373
373
  n && /* @__PURE__ */ u("div", {
374
374
  className: "flex items-center justify-between px-6 py-4 border-b border-gray-100 shrink-0",
@@ -409,7 +409,7 @@ function te({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "
409
409
  }
410
410
  //#endregion
411
411
  //#region src/components/common/Checkbox/Checkbox.tsx
412
- var B = t(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...o }, s) => {
412
+ var V = t(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...o }, s) => {
413
413
  let c = a ?? e?.toLowerCase().replace(/\s+/g, "-");
414
414
  return /* @__PURE__ */ u("div", {
415
415
  className: (0, C.default)("checkbox-wrapper", i),
@@ -441,10 +441,10 @@ var B = t(({ label: e, description: t, error: n, indeterminate: r, className: i
441
441
  ] })]
442
442
  });
443
443
  });
444
- B.displayName = "Checkbox";
444
+ V.displayName = "Checkbox";
445
445
  //#endregion
446
446
  //#region src/components/common/Toggle/Toggle.tsx
447
- var V = t(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, o) => {
447
+ var H = t(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, o) => {
448
448
  let s = i ?? e?.toLowerCase().replace(/\s+/g, "-");
449
449
  return /* @__PURE__ */ u("label", {
450
450
  htmlFor: s,
@@ -472,10 +472,10 @@ var V = t(({ label: e, description: t, size: n = "md", className: r = "", id: i,
472
472
  })] })]
473
473
  });
474
474
  });
475
- V.displayName = "Toggle";
475
+ H.displayName = "Toggle";
476
476
  //#endregion
477
477
  //#region src/components/common/Avatar/Avatar.tsx
478
- var H = [
478
+ var U = [
479
479
  "bg-red-500",
480
480
  "bg-orange-500",
481
481
  "bg-amber-500",
@@ -486,7 +486,7 @@ var H = [
486
486
  "bg-violet-500",
487
487
  "bg-pink-500"
488
488
  ];
489
- function ne({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
489
+ function te({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
490
490
  let o = [
491
491
  "avatar",
492
492
  `avatar-${r}`,
@@ -494,7 +494,7 @@ function ne({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
494
494
  ], s = (e) => {
495
495
  let t = 0;
496
496
  for (let n = 0; n < e.length; n++) t += e.charCodeAt(n);
497
- return H[t % H.length];
497
+ return U[t % U.length];
498
498
  }, c = (e) => e.split(" ").slice(0, 2).map((e) => e[0]).join("").toUpperCase();
499
499
  return e ? /* @__PURE__ */ l("span", {
500
500
  className: (0, C.default)(o),
@@ -527,7 +527,7 @@ function ne({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
527
527
  }
528
528
  //#endregion
529
529
  //#region src/components/common/Stack/Stack.tsx
530
- var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", justifyContent: i = "normal", className: a, children: o }) => /* @__PURE__ */ l("div", {
530
+ var ne = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", justifyContent: i = "normal", className: a, children: o }) => /* @__PURE__ */ l("div", {
531
531
  className: (0, C.default)("stack", `stack-${e}`, t && `gap-${t}`, {
532
532
  start: "items-start",
533
533
  end: "items-end",
@@ -550,14 +550,14 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
550
550
  stretch: "justify-stretch"
551
551
  }[i], a),
552
552
  children: o
553
- }), ie = {
553
+ }), re = {
554
554
  1: "grid-cols-1",
555
555
  2: "grid-cols-2",
556
556
  3: "grid-cols-3",
557
557
  4: "grid-cols-4",
558
558
  6: "grid-cols-6",
559
559
  12: "grid-cols-12"
560
- }, ae = {
560
+ }, ie = {
561
561
  0: "gap-0",
562
562
  1: "gap-1",
563
563
  2: "gap-2",
@@ -569,7 +569,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
569
569
  10: "gap-10",
570
570
  12: "gap-12",
571
571
  16: "gap-16"
572
- }, oe = {
572
+ }, ae = {
573
573
  0: "gap-y-0",
574
574
  1: "gap-y-1",
575
575
  2: "gap-y-2",
@@ -581,7 +581,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
581
581
  10: "gap-y-10",
582
582
  12: "gap-y-12",
583
583
  16: "gap-y-16"
584
- }, se = {
584
+ }, oe = {
585
585
  0: "gap-x-0",
586
586
  1: "gap-x-1",
587
587
  2: "gap-x-2",
@@ -593,7 +593,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
593
593
  10: "gap-x-10",
594
594
  12: "gap-x-12",
595
595
  16: "gap-x-16"
596
- }, ce = {
596
+ }, se = {
597
597
  1: "col-span-1",
598
598
  2: "col-span-2",
599
599
  3: "col-span-3",
@@ -606,7 +606,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
606
606
  10: "col-span-10",
607
607
  11: "col-span-11",
608
608
  12: "col-span-12"
609
- }, le = {
609
+ }, ce = {
610
610
  1: "sm:col-span-1",
611
611
  2: "sm:col-span-2",
612
612
  3: "sm:col-span-3",
@@ -619,7 +619,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
619
619
  10: "sm:col-span-10",
620
620
  11: "sm:col-span-11",
621
621
  12: "sm:col-span-12"
622
- }, ue = {
622
+ }, le = {
623
623
  1: "md:col-span-1",
624
624
  2: "md:col-span-2",
625
625
  3: "md:col-span-3",
@@ -632,7 +632,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
632
632
  10: "md:col-span-10",
633
633
  11: "md:col-span-11",
634
634
  12: "md:col-span-12"
635
- }, de = {
635
+ }, ue = {
636
636
  1: "lg:col-span-1",
637
637
  2: "lg:col-span-2",
638
638
  3: "lg:col-span-3",
@@ -645,7 +645,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
645
645
  10: "lg:col-span-10",
646
646
  11: "lg:col-span-11",
647
647
  12: "lg:col-span-12"
648
- }, fe = {
648
+ }, de = {
649
649
  1: "xl:col-span-1",
650
650
  2: "xl:col-span-2",
651
651
  3: "xl:col-span-3",
@@ -658,7 +658,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
658
658
  10: "xl:col-span-10",
659
659
  11: "xl:col-span-11",
660
660
  12: "xl:col-span-12"
661
- }, pe = {
661
+ }, fe = {
662
662
  1: "col-start-2",
663
663
  2: "col-start-3",
664
664
  3: "col-start-4",
@@ -670,7 +670,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
670
670
  9: "col-start-10",
671
671
  10: "col-start-11",
672
672
  11: "col-start-12"
673
- }, me = {
673
+ }, pe = {
674
674
  1: "sm:col-start-2",
675
675
  2: "sm:col-start-3",
676
676
  3: "sm:col-start-4",
@@ -682,7 +682,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
682
682
  9: "sm:col-start-10",
683
683
  10: "sm:col-start-11",
684
684
  11: "sm:col-start-12"
685
- }, he = {
685
+ }, me = {
686
686
  1: "md:col-start-2",
687
687
  2: "md:col-start-3",
688
688
  3: "md:col-start-4",
@@ -694,7 +694,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
694
694
  9: "md:col-start-10",
695
695
  10: "md:col-start-11",
696
696
  11: "md:col-start-12"
697
- }, ge = {
697
+ }, he = {
698
698
  1: "lg:col-start-2",
699
699
  2: "lg:col-start-3",
700
700
  3: "lg:col-start-4",
@@ -706,7 +706,7 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
706
706
  9: "lg:col-start-10",
707
707
  10: "lg:col-start-11",
708
708
  11: "lg:col-start-12"
709
- }, _e = {
709
+ }, ge = {
710
710
  1: "xl:col-start-2",
711
711
  2: "xl:col-start-3",
712
712
  3: "xl:col-start-4",
@@ -718,20 +718,20 @@ var re = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
718
718
  9: "xl:col-start-10",
719
719
  10: "xl:col-start-11",
720
720
  11: "xl:col-start-12"
721
- }, U = ({ children: e, cols: t = 12, gap: n, rowGap: r, colGap: i, as: a = "div", className: o }) => /* @__PURE__ */ l(a, {
722
- className: (0, C.default)("grid", "w-full", ie[t], n !== void 0 && ae[n], r !== void 0 && oe[r], i !== void 0 && se[i], o),
721
+ }, W = ({ children: e, cols: t = 12, gap: n, rowGap: r, colGap: i, as: a = "div", className: o }) => /* @__PURE__ */ l(a, {
722
+ className: (0, C.default)("grid", "w-full", re[t], n !== void 0 && ie[n], r !== void 0 && ae[r], i !== void 0 && oe[i], o),
723
723
  children: e
724
724
  });
725
- U.displayName = "Grid";
726
- var W = ({ children: e, span: t, sm: n, md: r, lg: i, xl: a, offset: o, smOffset: s, mdOffset: c, lgOffset: u, xlOffset: d, className: f, ...p }) => /* @__PURE__ */ l("div", {
727
- className: (0, C.default)(t && ce[t], n && le[n], r && ue[r], i && de[i], a && fe[a], o && pe[o], s && me[s], c && he[c], u && ge[u], d && _e[d], f),
725
+ W.displayName = "Grid";
726
+ var G = ({ children: e, span: t, sm: n, md: r, lg: i, xl: a, offset: o, smOffset: s, mdOffset: c, lgOffset: u, xlOffset: d, className: f, ...p }) => /* @__PURE__ */ l("div", {
727
+ className: (0, C.default)(t && se[t], n && ce[n], r && le[r], i && ue[i], a && de[a], o && fe[o], s && pe[s], c && me[c], u && he[u], d && ge[d], f),
728
728
  ...p,
729
729
  children: e
730
730
  });
731
- W.displayName = "Col";
731
+ G.displayName = "Col";
732
732
  //#endregion
733
733
  //#region src/components/common/QuantityInput/QuantityInput.tsx
734
- var G = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disabled: d = !1, label: f, error: p, hint: m, id: h, className: g }) => {
734
+ var K = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disabled: d = !1, label: f, error: p, hint: m, id: h, className: g }) => {
735
735
  let _ = i(), v = h ?? _, y = o(null), [b, x] = s(String(e));
736
736
  r(() => {
737
737
  document.activeElement !== y.current && x(String(e));
@@ -778,7 +778,7 @@ var G = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disable
778
778
  disabled: d || !A,
779
779
  "aria-label": "Snížit množství",
780
780
  tabIndex: -1,
781
- children: /* @__PURE__ */ l(ve, {})
781
+ children: /* @__PURE__ */ l(_e, {})
782
782
  }),
783
783
  /* @__PURE__ */ l("input", {
784
784
  ref: y,
@@ -803,7 +803,7 @@ var G = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disable
803
803
  disabled: d || !j,
804
804
  "aria-label": "Zvýšit množství",
805
805
  tabIndex: -1,
806
- children: /* @__PURE__ */ l(ye, {})
806
+ children: /* @__PURE__ */ l(ve, {})
807
807
  })
808
808
  ]
809
809
  }),
@@ -814,8 +814,8 @@ var G = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disable
814
814
  ]
815
815
  });
816
816
  };
817
- G.displayName = "QuantityInput";
818
- var ve = () => /* @__PURE__ */ l("svg", {
817
+ K.displayName = "QuantityInput";
818
+ var _e = () => /* @__PURE__ */ l("svg", {
819
819
  width: "12",
820
820
  height: "2",
821
821
  viewBox: "0 0 12 2",
@@ -827,7 +827,7 @@ var ve = () => /* @__PURE__ */ l("svg", {
827
827
  strokeWidth: "1.5",
828
828
  strokeLinecap: "round"
829
829
  })
830
- }), ye = () => /* @__PURE__ */ l("svg", {
830
+ }), ve = () => /* @__PURE__ */ l("svg", {
831
831
  width: "12",
832
832
  height: "12",
833
833
  viewBox: "0 0 12 12",
@@ -839,36 +839,36 @@ var ve = () => /* @__PURE__ */ l("svg", {
839
839
  strokeWidth: "1.5",
840
840
  strokeLinecap: "round"
841
841
  })
842
- }), K = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), be = (e, t, n) => {
843
- if (t <= n * 2 + 5) return K(1, t);
842
+ }), q = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), ye = (e, t, n) => {
843
+ if (t <= n * 2 + 5) return q(1, t);
844
844
  let r = Math.max(e - n, 1), i = Math.min(e + n, t), a = r > 2, o = i < t - 1;
845
845
  return !a && o ? [
846
- ...K(1, 3 + n * 2),
846
+ ...q(1, 3 + n * 2),
847
847
  "…",
848
848
  t
849
849
  ] : a && !o ? [
850
850
  1,
851
851
  "…",
852
- ...K(t - (2 + n * 2), t)
852
+ ...q(t - (2 + n * 2), t)
853
853
  ] : [
854
854
  1,
855
855
  "…",
856
- ...K(r, i),
856
+ ...q(r, i),
857
857
  "…",
858
858
  t
859
859
  ];
860
- }, q = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ l("button", {
860
+ }, J = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ l("button", {
861
861
  disabled: t,
862
862
  className: (0, C.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
863
863
  ...r,
864
864
  children: n
865
- }), J = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
866
- let i = be(e, t, r);
865
+ }), Y = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
866
+ let i = ye(e, t, r);
867
867
  return /* @__PURE__ */ u("nav", {
868
868
  "aria-label": "Pagination",
869
869
  className: "pagination",
870
870
  children: [
871
- /* @__PURE__ */ l(q, {
871
+ /* @__PURE__ */ l(J, {
872
872
  disabled: e <= 1,
873
873
  onClick: () => n(e - 1),
874
874
  "aria-label": "Previous page",
@@ -889,14 +889,14 @@ var ve = () => /* @__PURE__ */ l("svg", {
889
889
  i.map((t, r) => t === "…" ? /* @__PURE__ */ l("span", {
890
890
  className: "pagination-dots",
891
891
  children: "…"
892
- }, `dots-${r}`) : /* @__PURE__ */ l(q, {
892
+ }, `dots-${r}`) : /* @__PURE__ */ l(J, {
893
893
  active: t === e,
894
894
  onClick: () => n(t),
895
895
  "aria-label": `Page ${t}`,
896
896
  "aria-current": t === e ? "page" : void 0,
897
897
  children: t
898
898
  }, t)),
899
- /* @__PURE__ */ l(q, {
899
+ /* @__PURE__ */ l(J, {
900
900
  disabled: e >= t,
901
901
  onClick: () => n(e + 1),
902
902
  "aria-label": "Next page",
@@ -919,52 +919,75 @@ var ve = () => /* @__PURE__ */ l("svg", {
919
919
  };
920
920
  //#endregion
921
921
  //#region src/components/common/Carousel/Carousel.tsx
922
- function xe({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, dots: p = !0, autoPlay: m = !1, autoPlayInterval: h = 4e3, loop: g = !1, className: _, ...v }) {
922
+ function be({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, dots: p = !0, autoPlay: m = !1, autoPlayInterval: h = 4e3, loop: g = !1, className: _, ...v }) {
923
923
  let y = e.toArray(t), b = y.length, x = g ? b - 1 : Math.max(0, b - i), S = b > i, [w, T] = s(0), [E, D] = s(!1), O = o(null), k = o(null), A = o(null), j = o(null), M = n((e, t = !0) => {
924
924
  let n = O.current;
925
925
  if (!n) return;
926
926
  let r = n.children[e];
927
927
  r && (t || (n.style.transition = "none", n.getBoundingClientRect()), n.style.transform = `translateX(${-r.offsetLeft}px)`, t || (n.getBoundingClientRect(), n.style.transition = ""));
928
- }, []), N = n((e) => {
928
+ }, []), N = n((e = !0) => {
929
+ let t = O.current, n = k.current;
930
+ if (!t || !n) return;
931
+ e || (n.style.transition = "none", n.getBoundingClientRect()), t.style.alignItems = "flex-start";
932
+ let r = Math.max(0, ...Array.from(t.children).map((e) => e.offsetHeight));
933
+ t.style.alignItems = "", r > 0 && (n.style.height = `${r}px`), e || (n.getBoundingClientRect(), n.style.transition = "");
934
+ }, []), P = n((e) => {
929
935
  T(g ? (e % b + b) % b : Math.max(0, Math.min(e, x)));
930
936
  }, [
931
937
  b,
932
938
  g,
933
939
  x
934
- ]), P = n(() => N(w - 1), [w, N]), F = n(() => N(w + 1), [w, N]);
940
+ ]), F = n(() => P(w - 1), [w, P]), I = n(() => P(w + 1), [w, P]);
935
941
  a(() => {
936
- M(w);
937
- }, [w, M]), r(() => {
942
+ N(), M(w);
943
+ }, [
944
+ w,
945
+ M,
946
+ N
947
+ ]), r(() => {
948
+ let e = O.current;
949
+ if (!e) return;
950
+ let t = () => N(), n = Array.from(e.querySelectorAll("img"));
951
+ return n.forEach((e) => {
952
+ e.complete || e.addEventListener("load", t, { once: !0 });
953
+ }), () => n.forEach((e) => e.removeEventListener("load", t));
954
+ }, [N]), r(() => {
938
955
  let e = k.current;
939
956
  if (!e) return;
940
- let t = new ResizeObserver(() => M(w, !1));
957
+ let t = new ResizeObserver(() => {
958
+ N(!1), M(w, !1);
959
+ });
941
960
  return t.observe(e), () => t.disconnect();
942
- }, [w, M]), r(() => {
943
- if (!(!m || E || !S)) return A.current = setInterval(F, h), () => {
961
+ }, [
962
+ w,
963
+ M,
964
+ N
965
+ ]), r(() => {
966
+ if (!(!m || E || !S)) return A.current = setInterval(I, h), () => {
944
967
  A.current && clearInterval(A.current);
945
968
  };
946
969
  }, [
947
970
  m,
948
971
  E,
949
972
  h,
950
- F,
973
+ I,
951
974
  S
952
975
  ]);
953
- let I = (e) => {
976
+ let L = (e) => {
954
977
  j.current = e.touches[0].clientX;
955
- }, L = (e) => {
978
+ }, R = (e) => {
956
979
  if (j.current === null) return;
957
980
  let t = e.changedTouches[0].clientX - j.current;
958
- Math.abs(t) > 50 && (t < 0 ? F() : P()), j.current = null;
981
+ Math.abs(t) > 50 && (t < 0 ? I() : F()), j.current = null;
959
982
  };
960
983
  if (b === 0) return null;
961
- let R = g || w > 0, z = g || w < x;
984
+ let z = g || w > 0, B = g || w < x;
962
985
  return /* @__PURE__ */ u("div", {
963
986
  className: (0, C.default)("carousel", _),
964
987
  onMouseEnter: () => D(!0),
965
988
  onMouseLeave: () => D(!1),
966
- onTouchStart: I,
967
- onTouchEnd: L,
989
+ onTouchStart: L,
990
+ onTouchEnd: R,
968
991
  ...v,
969
992
  children: [
970
993
  /* @__PURE__ */ l("div", {
@@ -986,8 +1009,8 @@ function xe({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, do
986
1009
  })
987
1010
  }),
988
1011
  f && S && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("button", {
989
- onClick: P,
990
- disabled: !R,
1012
+ onClick: F,
1013
+ disabled: !z,
991
1014
  className: "carousel-btn carousel-btn-prev",
992
1015
  "aria-label": "Previous slide",
993
1016
  children: /* @__PURE__ */ l("svg", {
@@ -1004,8 +1027,8 @@ function xe({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, do
1004
1027
  })
1005
1028
  })
1006
1029
  }), /* @__PURE__ */ l("button", {
1007
- onClick: F,
1008
- disabled: !z,
1030
+ onClick: I,
1031
+ disabled: !B,
1009
1032
  className: "carousel-btn carousel-btn-next",
1010
1033
  "aria-label": "Next slide",
1011
1034
  children: /* @__PURE__ */ l("svg", {
@@ -1025,7 +1048,7 @@ function xe({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, do
1025
1048
  p && S && /* @__PURE__ */ l("div", {
1026
1049
  className: "carousel-dots",
1027
1050
  children: Array.from({ length: x + 1 }).map((e, t) => /* @__PURE__ */ l("button", {
1028
- onClick: () => N(t),
1051
+ onClick: () => P(t),
1029
1052
  className: (0, C.default)("carousel-dot", t === w && "carousel-dot-active"),
1030
1053
  "aria-label": `Go to slide ${t + 1}`,
1031
1054
  "aria-current": t === w ? "true" : void 0
@@ -1036,7 +1059,7 @@ function xe({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, do
1036
1059
  }
1037
1060
  //#endregion
1038
1061
  //#region src/components/Header/Header.tsx
1039
- function Y({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1062
+ function X({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1040
1063
  let [a, c] = s(!1), d = o(null), f = () => c(!1);
1041
1064
  return /* @__PURE__ */ u("div", {
1042
1065
  ref: d,
@@ -1071,7 +1094,7 @@ function Y({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1071
1094
  })]
1072
1095
  });
1073
1096
  }
1074
- function Se() {
1097
+ function xe() {
1075
1098
  return /* @__PURE__ */ l("svg", {
1076
1099
  xmlns: "http://www.w3.org/2000/svg",
1077
1100
  fill: "none",
@@ -1086,7 +1109,7 @@ function Se() {
1086
1109
  })
1087
1110
  });
1088
1111
  }
1089
- function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: i, isLoggedIn: a = !1, customerName: o, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
1112
+ function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: i, isLoggedIn: a = !1, customerName: o, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
1090
1113
  let [y, b] = s(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
1091
1114
  return /* @__PURE__ */ l("header", {
1092
1115
  className: "bg-white border-b border-gray-200 sticky top-0 z-40",
@@ -1109,7 +1132,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1109
1132
  onKeyDown: (e) => {
1110
1133
  e.key === "Enter" && n?.(y);
1111
1134
  },
1112
- leftIcon: /* @__PURE__ */ l(Se, {}),
1135
+ leftIcon: /* @__PURE__ */ l(xe, {}),
1113
1136
  rightIcon: y ? /* @__PURE__ */ l("button", {
1114
1137
  onClick: () => {
1115
1138
  b(""), n?.("");
@@ -1135,7 +1158,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1135
1158
  /* @__PURE__ */ u("div", {
1136
1159
  className: "flex items-center gap-1 shrink-0 ml-auto",
1137
1160
  children: [
1138
- f.length > 0 && /* @__PURE__ */ l(Y, {
1161
+ f.length > 0 && /* @__PURE__ */ l(X, {
1139
1162
  trigger: /* @__PURE__ */ u("button", {
1140
1163
  className: "flex items-center gap-1 px-2 py-1.5 rounded-md text-sm text-gray-600 hover:bg-gray-50 transition-colors font-medium",
1141
1164
  children: [
@@ -1144,7 +1167,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1144
1167
  className: "text-xs text-gray-400",
1145
1168
  children: x?.code ?? p
1146
1169
  }),
1147
- /* @__PURE__ */ l(X, { className: "w-3 h-3 text-gray-400" })
1170
+ /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1148
1171
  ]
1149
1172
  }),
1150
1173
  items: f,
@@ -1158,7 +1181,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1158
1181
  }), /* @__PURE__ */ l("span", { children: e.label })]
1159
1182
  })
1160
1183
  }),
1161
- h.length > 0 && /* @__PURE__ */ l(Y, {
1184
+ h.length > 0 && /* @__PURE__ */ l(X, {
1162
1185
  trigger: /* @__PURE__ */ u("button", {
1163
1186
  className: "flex items-center gap-1 px-2 py-1.5 rounded-md text-sm text-gray-600 hover:bg-gray-50 transition-colors",
1164
1187
  children: [
@@ -1170,7 +1193,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1170
1193
  className: "font-medium uppercase",
1171
1194
  children: S?.code ?? g
1172
1195
  }),
1173
- /* @__PURE__ */ l(X, { className: "w-3 h-3 text-gray-400" })
1196
+ /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1174
1197
  ]
1175
1198
  }),
1176
1199
  items: h,
@@ -1195,7 +1218,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1195
1218
  }), o && /* @__PURE__ */ l("span", {
1196
1219
  className: "hidden sm:block font-medium max-w-32 truncate",
1197
1220
  children: o
1198
- })] }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(we, { className: "w-5 h-5" }), /* @__PURE__ */ l("span", {
1221
+ })] }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(Ce, { className: "w-5 h-5" }), /* @__PURE__ */ l("span", {
1199
1222
  className: "hidden sm:block font-medium",
1200
1223
  children: "Přihlásit se"
1201
1224
  })] })
@@ -1205,7 +1228,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1205
1228
  className: "relative flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-sm text-gray-600 hover:bg-gray-50 transition-colors",
1206
1229
  "aria-label": `Cart, ${r} items`,
1207
1230
  children: [
1208
- /* @__PURE__ */ l(Te, { className: "w-5 h-5" }),
1231
+ /* @__PURE__ */ l(we, { className: "w-5 h-5" }),
1209
1232
  /* @__PURE__ */ l("span", {
1210
1233
  className: "hidden sm:block font-medium",
1211
1234
  children: "Košík"
@@ -1223,7 +1246,7 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1223
1246
  })
1224
1247
  });
1225
1248
  }
1226
- function X({ className: e }) {
1249
+ function Z({ className: e }) {
1227
1250
  return /* @__PURE__ */ l("svg", {
1228
1251
  xmlns: "http://www.w3.org/2000/svg",
1229
1252
  fill: "none",
@@ -1238,7 +1261,7 @@ function X({ className: e }) {
1238
1261
  })
1239
1262
  });
1240
1263
  }
1241
- function we({ className: e }) {
1264
+ function Ce({ className: e }) {
1242
1265
  return /* @__PURE__ */ l("svg", {
1243
1266
  xmlns: "http://www.w3.org/2000/svg",
1244
1267
  fill: "none",
@@ -1253,7 +1276,7 @@ function we({ className: e }) {
1253
1276
  })
1254
1277
  });
1255
1278
  }
1256
- function Te({ className: e }) {
1279
+ function we({ className: e }) {
1257
1280
  return /* @__PURE__ */ l("svg", {
1258
1281
  xmlns: "http://www.w3.org/2000/svg",
1259
1282
  fill: "none",
@@ -1270,8 +1293,8 @@ function Te({ className: e }) {
1270
1293
  }
1271
1294
  //#endregion
1272
1295
  //#region src/components/CategoryTree/CategoryTree.tsx
1273
- function Z({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: a }) {
1274
- let o = e.children && e.children.length > 0, [c, d] = s(a || Q(e, t)), f = e.id === t;
1296
+ function Q({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: a }) {
1297
+ let o = e.children && e.children.length > 0, [c, d] = s(a || $(e, t)), f = e.id === t;
1275
1298
  return /* @__PURE__ */ u("li", { children: [/* @__PURE__ */ u("div", {
1276
1299
  className: [
1277
1300
  "group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
@@ -1321,7 +1344,7 @@ function Z({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
1321
1344
  ]
1322
1345
  }), o && c && /* @__PURE__ */ l("ul", {
1323
1346
  role: "group",
1324
- children: e.children.map((e) => /* @__PURE__ */ l(Z, {
1347
+ children: e.children.map((e) => /* @__PURE__ */ l(Q, {
1325
1348
  node: e,
1326
1349
  activeId: t,
1327
1350
  onSelect: n,
@@ -1331,10 +1354,10 @@ function Z({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
1331
1354
  }, e.id))
1332
1355
  })] });
1333
1356
  }
1334
- function Q(e, t) {
1335
- return !t || !e.children ? !1 : e.children.some((e) => e.id === t || Q(e, t));
1357
+ function $(e, t) {
1358
+ return !t || !e.children ? !1 : e.children.some((e) => e.id === t || $(e, t));
1336
1359
  }
1337
- function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
1360
+ function Te({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
1338
1361
  let s = (e) => n?.(e);
1339
1362
  return /* @__PURE__ */ l("nav", {
1340
1363
  "aria-label": "Category navigation",
@@ -1343,7 +1366,7 @@ function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
1343
1366
  children: /* @__PURE__ */ l("ul", {
1344
1367
  role: "tree",
1345
1368
  className: "space-y-0.5",
1346
- children: e.map((e) => /* @__PURE__ */ l(Z, {
1369
+ children: e.map((e) => /* @__PURE__ */ l(Q, {
1347
1370
  node: e,
1348
1371
  activeId: t,
1349
1372
  onSelect: s,
@@ -1356,7 +1379,7 @@ function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
1356
1379
  }
1357
1380
  //#endregion
1358
1381
  //#region src/components/MegaMenu/MegaMenu.tsx
1359
- function De({ item: e, onNavigate: t, onClose: n }) {
1382
+ function Ee({ item: e, onNavigate: t, onClose: n }) {
1360
1383
  return e.columns?.length ? /* @__PURE__ */ l("div", {
1361
1384
  className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
1362
1385
  children: /* @__PURE__ */ u("div", {
@@ -1419,7 +1442,7 @@ function De({ item: e, onNavigate: t, onClose: n }) {
1419
1442
  })
1420
1443
  }) : null;
1421
1444
  }
1422
- function Oe({ items: e, activeId: t, onNavigate: n }) {
1445
+ function De({ items: e, activeId: t, onNavigate: n }) {
1423
1446
  let [r, i] = s(null), a = o(null), c = (e) => {
1424
1447
  a.current && clearTimeout(a.current), i(e);
1425
1448
  }, d = () => {
@@ -1482,7 +1505,7 @@ function Oe({ items: e, activeId: t, onNavigate: n }) {
1482
1505
  }), p?.columns?.length && /* @__PURE__ */ l("div", {
1483
1506
  onMouseEnter: f,
1484
1507
  onMouseLeave: d,
1485
- children: /* @__PURE__ */ l(De, {
1508
+ children: /* @__PURE__ */ l(Ee, {
1486
1509
  item: p,
1487
1510
  onNavigate: (e) => n?.(e),
1488
1511
  onClose: () => i(null)
@@ -1492,7 +1515,7 @@ function Oe({ items: e, activeId: t, onNavigate: n }) {
1492
1515
  }
1493
1516
  //#endregion
1494
1517
  //#region src/components/BannerCarousel/BannerCarousel.tsx
1495
- function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1518
+ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1496
1519
  let [m, h] = s(0), [g, _] = s(!1), v = o(null), y = o(null), b = e.length, x = n((e) => {
1497
1520
  h((e % b + b) % b);
1498
1521
  }, [b]), S = () => x(m - 1), C = n(() => x(m + 1), [m, x]);
@@ -1632,7 +1655,7 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1632
1655
  }
1633
1656
  //#endregion
1634
1657
  //#region src/components/ProductCard/ProductCard.tsx
1635
- function Ae({ filled: e }) {
1658
+ function ke({ filled: e }) {
1636
1659
  return /* @__PURE__ */ l("svg", {
1637
1660
  xmlns: "http://www.w3.org/2000/svg",
1638
1661
  viewBox: "0 0 24 24",
@@ -1645,7 +1668,7 @@ function Ae({ filled: e }) {
1645
1668
  })
1646
1669
  });
1647
1670
  }
1648
- function je({ value: e, count: t }) {
1671
+ function Ae({ value: e, count: t }) {
1649
1672
  return /* @__PURE__ */ u("div", {
1650
1673
  className: "flex items-center gap-1",
1651
1674
  children: [/* @__PURE__ */ l("div", {
@@ -1656,7 +1679,7 @@ function je({ value: e, count: t }) {
1656
1679
  3,
1657
1680
  4,
1658
1681
  5
1659
- ].map((t) => /* @__PURE__ */ l(Ae, { filled: t <= Math.round(e) }, t))
1682
+ ].map((t) => /* @__PURE__ */ l(ke, { filled: t <= Math.round(e) }, t))
1660
1683
  }), t !== void 0 && /* @__PURE__ */ u("span", {
1661
1684
  className: "text-xs text-gray-400",
1662
1685
  children: [
@@ -1667,11 +1690,11 @@ function je({ value: e, count: t }) {
1667
1690
  })]
1668
1691
  });
1669
1692
  }
1670
- function Me(e) {
1693
+ function je(e) {
1671
1694
  let t = e.toLowerCase();
1672
1695
  return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
1673
1696
  }
1674
- function $(e, t = "Kč") {
1697
+ function Me(e, t = "Kč") {
1675
1698
  return `${e.toLocaleString("cs-CZ")} ${t}`;
1676
1699
  }
1677
1700
  function Ne(e, t) {
@@ -1702,7 +1725,7 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1702
1725
  e.badge && /* @__PURE__ */ l("div", {
1703
1726
  className: "absolute top-2 left-2",
1704
1727
  children: /* @__PURE__ */ l(j, {
1705
- variant: Me(e.badge),
1728
+ variant: je(e.badge),
1706
1729
  size: "sm",
1707
1730
  children: e.badge === "sale" && m ? `-${Ne(e.originalPrice, e.price)}%` : e.badge
1708
1731
  })
@@ -1787,7 +1810,7 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1787
1810
  className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${a === "compact" ? "text-xs" : "text-sm"}`,
1788
1811
  children: e.name
1789
1812
  }),
1790
- e.rating !== void 0 && /* @__PURE__ */ l(je, {
1813
+ e.rating !== void 0 && /* @__PURE__ */ l(Ae, {
1791
1814
  value: e.rating,
1792
1815
  count: e.reviewCount
1793
1816
  }),
@@ -1795,10 +1818,10 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1795
1818
  className: "flex items-baseline gap-2 mt-auto pt-1",
1796
1819
  children: [/* @__PURE__ */ l("span", {
1797
1820
  className: `font-bold text-gray-900 ${a === "compact" ? "text-base" : "text-lg"}`,
1798
- children: $(e.price, e.currency)
1821
+ children: Me(e.price, e.currency)
1799
1822
  }), m && /* @__PURE__ */ l("span", {
1800
1823
  className: "text-sm text-gray-400 line-through",
1801
- children: $(e.originalPrice, e.currency)
1824
+ children: Me(e.originalPrice, e.currency)
1802
1825
  })]
1803
1826
  })
1804
1827
  ]
@@ -1939,7 +1962,7 @@ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1939
1962
  }),
1940
1963
  x && x > 1 && r && /* @__PURE__ */ l("div", {
1941
1964
  className: "flex justify-center mt-8",
1942
- children: /* @__PURE__ */ l(J, {
1965
+ children: /* @__PURE__ */ l(Y, {
1943
1966
  page: n,
1944
1967
  totalPages: x,
1945
1968
  onPageChange: r
@@ -2326,6 +2349,6 @@ function it({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
2326
2349
  });
2327
2350
  }
2328
2351
  //#endregion
2329
- export { z as Alert, ne as Avatar, j as Badge, ke as BannerCarousel, w as Button, Ue as CallToAction, N as Card, F as CardBody, I as CardFooter, P as CardHeader, xe as Carousel, Ee as CategoryTree, B as Checkbox, W as Col, x as Container, it as Footer, U as Grid, Ce as Header, k as Heading, E as IconButton, D as Input, T as LoadingSpin, S as Main, Oe as MegaMenu, te as Modal, J as Pagination, Pe as ProductCard, Re as ProductGrid, G as QuantityInput, O as Select, L as Spinner, re as Stack, A as Text, V as Toggle };
2352
+ export { z as Alert, te as Avatar, j as Badge, Oe as BannerCarousel, w as Button, Ue as CallToAction, N as Card, F as CardBody, I as CardFooter, P as CardHeader, be as Carousel, Te as CategoryTree, V as Checkbox, G as Col, x as Container, it as Footer, W as Grid, Se as Header, k as Heading, E as IconButton, D as Input, T as LoadingSpin, S as Main, De as MegaMenu, ee as Modal, Y as Pagination, Pe as ProductCard, Re as ProductGrid, K as QuantityInput, O as Select, L as Spinner, ne as Stack, A as Text, H as Toggle };
2330
2353
 
2331
2354
  //# sourceMappingURL=index.js.map