@shopito/design-system-fe 0.1.19 → 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
@@ -1,23 +1,23 @@
1
- import { forwardRef as e, useCallback as t, useEffect as n, useId as r, useRef as i, useState as a } from "react";
2
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
3
- import { createPortal as l } from "react-dom";
1
+ import { Children as e, forwardRef as t, useCallback as n, useEffect as r, useId as i, useLayoutEffect as a, useRef as o, useState as s } from "react";
2
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
3
+ import { createPortal as d } from "react-dom";
4
4
  //#region \0rolldown/runtime.js
5
- var u = Object.create, d = Object.defineProperty, f = Object.getOwnPropertyDescriptor, p = Object.getOwnPropertyNames, m = Object.getPrototypeOf, h = Object.prototype.hasOwnProperty, g = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), _ = (e, t, n, r) => {
6
- if (t && typeof t == "object" || typeof t == "function") for (var i = p(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !h.call(e, s) && s !== n && d(e, s, {
5
+ var f = Object.create, p = Object.defineProperty, m = Object.getOwnPropertyDescriptor, h = Object.getOwnPropertyNames, g = Object.getPrototypeOf, _ = Object.prototype.hasOwnProperty, v = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), y = (e, t, n, r) => {
6
+ if (t && typeof t == "object" || typeof t == "function") for (var i = h(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !_.call(e, s) && s !== n && p(e, s, {
7
7
  get: ((e) => t[e]).bind(null, s),
8
- enumerable: !(r = f(t, s)) || r.enumerable
8
+ enumerable: !(r = m(t, s)) || r.enumerable
9
9
  });
10
10
  return e;
11
- }, v = (e, t, n) => (n = e == null ? {} : u(m(e)), _(t || !e || !e.__esModule ? d(n, "default", {
11
+ }, b = (e, t, n) => (n = e == null ? {} : f(g(e)), y(t || !e || !e.__esModule ? p(n, "default", {
12
12
  value: e,
13
13
  enumerable: !0
14
- }) : n, e)), y = ({ children: e }) => /* @__PURE__ */ s("div", {
14
+ }) : n, e)), x = ({ children: e }) => /* @__PURE__ */ l("div", {
15
15
  className: "container",
16
16
  children: e
17
- }), b = ({ children: e }) => /* @__PURE__ */ s("main", {
17
+ }), S = ({ children: e }) => /* @__PURE__ */ l("main", {
18
18
  className: "main",
19
- children: /* @__PURE__ */ s(y, { children: e })
20
- }), x = /* @__PURE__ */ v((/* @__PURE__ */ g(((e, t) => {
19
+ children: /* @__PURE__ */ l(x, { children: e })
20
+ }), C = /* @__PURE__ */ b((/* @__PURE__ */ v(((e, t) => {
21
21
  (function() {
22
22
  var e = {}.hasOwnProperty;
23
23
  function n() {
@@ -43,137 +43,137 @@ var u = Object.create, d = Object.defineProperty, f = Object.getOwnPropertyDescr
43
43
  return n;
44
44
  }) : window.classNames = n;
45
45
  })();
46
- })))(), 1), S = e(({ variant: e = "primary", size: t = "md", loading: n = !1, fullWidth: r = !1, disabled: i, children: a, className: o = "", ...l }, u) => /* @__PURE__ */ c("button", {
47
- ref: u,
46
+ })))(), 1), w = t(({ variant: e = "primary", size: t = "md", loading: n = !1, fullWidth: r = !1, disabled: i, children: a, className: o = "", ...s }, c) => /* @__PURE__ */ u("button", {
47
+ ref: c,
48
48
  disabled: i || n,
49
- className: (0, x.default)("btn", e && `btn-${e}`, t && `btn-${t}`, r && "w-full", o),
50
- ...l,
51
- children: [n && /* @__PURE__ */ c("svg", {
49
+ className: (0, C.default)("btn", e && `btn-${e}`, t && `btn-${t}`, r && "w-full", o),
50
+ ...s,
51
+ children: [n && /* @__PURE__ */ u("svg", {
52
52
  className: "animate-spin h-4 w-4 shrink-0",
53
53
  xmlns: "http://www.w3.org/2000/svg",
54
54
  fill: "none",
55
55
  viewBox: "0 0 24 24",
56
- children: [/* @__PURE__ */ s("circle", {
56
+ children: [/* @__PURE__ */ l("circle", {
57
57
  className: "opacity-25",
58
58
  cx: "12",
59
59
  cy: "12",
60
60
  r: "10",
61
61
  stroke: "currentColor",
62
62
  strokeWidth: "4"
63
- }), /* @__PURE__ */ s("path", {
63
+ }), /* @__PURE__ */ l("path", {
64
64
  className: "opacity-75",
65
65
  fill: "currentColor",
66
66
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
67
67
  })]
68
68
  }), a]
69
69
  }));
70
- S.displayName = "Button";
70
+ w.displayName = "Button";
71
71
  //#endregion
72
72
  //#region src/components/common/LoadingSpin/LoadingSpin.tsx
73
- var C = ({ size: e = "md" }) => /* @__PURE__ */ c("svg", {
74
- className: (0, x.default)("loading-spin", `loading-spin-${e}`),
73
+ var T = ({ size: e = "md" }) => /* @__PURE__ */ u("svg", {
74
+ className: (0, C.default)("loading-spin", `loading-spin-${e}`),
75
75
  xmlns: "http://www.w3.org/2000/svg",
76
76
  fill: "none",
77
77
  viewBox: "0 0 24 24",
78
- children: [/* @__PURE__ */ s("circle", {
78
+ children: [/* @__PURE__ */ l("circle", {
79
79
  className: "opacity-25",
80
80
  cx: "12",
81
81
  cy: "12",
82
82
  r: "10",
83
83
  stroke: "currentColor",
84
84
  strokeWidth: "4"
85
- }), /* @__PURE__ */ s("path", {
85
+ }), /* @__PURE__ */ l("path", {
86
86
  className: "opacity-75",
87
87
  fill: "currentColor",
88
88
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
89
89
  })]
90
- }), w = e(({ icon: e, label: t, variant: n = "ghost", size: r = "md", loading: i = !1, disabled: a, className: o = "", ...c }, l) => /* @__PURE__ */ s("button", {
91
- ref: l,
90
+ }), E = t(({ icon: e, label: t, variant: n = "ghost", size: r = "md", loading: i = !1, disabled: a, className: o = "", ...s }, c) => /* @__PURE__ */ l("button", {
91
+ ref: c,
92
92
  disabled: a || i,
93
93
  "aria-label": t,
94
94
  title: t,
95
- className: (0, x.default)("icon-button", `icon-button-${n}`, `icon-button-${r}`, o),
96
- ...c,
97
- children: i ? /* @__PURE__ */ s(C, { size: r }) : e
95
+ className: (0, C.default)("icon-button", `icon-button-${n}`, `icon-button-${r}`, o),
96
+ ...s,
97
+ children: i ? /* @__PURE__ */ l(T, { size: r }) : e
98
98
  }));
99
- w.displayName = "IconButton";
99
+ E.displayName = "IconButton";
100
100
  //#endregion
101
101
  //#region src/components/common/Input/Input.tsx
102
- var T = e(({ label: e, error: t, hint: n, leftIcon: r, rightIcon: i, className: a = "", id: o, ...l }, u) => {
102
+ var D = t(({ label: e, error: t, hint: n, leftIcon: r, rightIcon: i, className: a = "", id: o, ...s }, c) => {
103
103
  let d = o ?? e?.toLowerCase().replace(/\s+/g, "-");
104
- return /* @__PURE__ */ c("div", {
104
+ return /* @__PURE__ */ u("div", {
105
105
  className: "w-full",
106
106
  children: [
107
- e && /* @__PURE__ */ s("label", {
107
+ e && /* @__PURE__ */ l("label", {
108
108
  htmlFor: d,
109
109
  className: "input-label",
110
110
  children: e
111
111
  }),
112
- /* @__PURE__ */ c("div", {
112
+ /* @__PURE__ */ u("div", {
113
113
  className: "relative",
114
114
  children: [
115
- r && /* @__PURE__ */ s("span", {
115
+ r && /* @__PURE__ */ l("span", {
116
116
  className: "left-icon",
117
117
  children: r
118
118
  }),
119
- /* @__PURE__ */ s("input", {
120
- ref: u,
119
+ /* @__PURE__ */ l("input", {
120
+ ref: c,
121
121
  id: d,
122
- className: (0, x.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", "w-full", a),
123
- ...l
122
+ className: (0, C.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", "w-full", a),
123
+ ...s
124
124
  }),
125
- i && /* @__PURE__ */ s("span", {
125
+ i && /* @__PURE__ */ l("span", {
126
126
  className: "right-icon",
127
127
  children: i
128
128
  })
129
129
  ]
130
130
  }),
131
- (t || n) && /* @__PURE__ */ s("p", {
132
- className: (0, x.default)("helper-text", t && "has-error"),
131
+ (t || n) && /* @__PURE__ */ l("p", {
132
+ className: (0, C.default)("helper-text", t && "has-error"),
133
133
  children: t ?? n
134
134
  })
135
135
  ]
136
136
  });
137
137
  });
138
- T.displayName = "Input";
138
+ D.displayName = "Input";
139
139
  //#endregion
140
140
  //#region src/components/common/Select/Select.tsx
141
- var E = e(({ label: e, error: t, hint: n, options: r, placeholder: i, className: a = "", id: o, ...l }, u) => {
141
+ var O = t(({ label: e, error: t, hint: n, options: r, placeholder: i, className: a = "", id: o, ...s }, c) => {
142
142
  let d = o ?? e?.toLowerCase().replace(/\s+/g, "-");
143
- return /* @__PURE__ */ c("div", {
144
- className: (0, x.default)("select-wrapper", "w-full"),
143
+ return /* @__PURE__ */ u("div", {
144
+ className: (0, C.default)("select-wrapper", "w-full"),
145
145
  children: [
146
- e && /* @__PURE__ */ s("label", {
146
+ e && /* @__PURE__ */ l("label", {
147
147
  htmlFor: d,
148
148
  className: "select-label",
149
149
  children: e
150
150
  }),
151
- /* @__PURE__ */ c("div", {
151
+ /* @__PURE__ */ u("div", {
152
152
  className: "relative",
153
- children: [/* @__PURE__ */ c("select", {
154
- ref: u,
153
+ children: [/* @__PURE__ */ u("select", {
154
+ ref: c,
155
155
  id: d,
156
- className: (0, x.default)("select", "w-full", t && "has-error", a),
157
- ...l,
158
- children: [i && /* @__PURE__ */ s("option", {
156
+ className: (0, C.default)("select", "w-full", t && "has-error", a),
157
+ ...s,
158
+ children: [i && /* @__PURE__ */ l("option", {
159
159
  value: "",
160
160
  disabled: !0,
161
161
  children: i
162
- }), r.map((e) => /* @__PURE__ */ s("option", {
162
+ }), r.map((e) => /* @__PURE__ */ l("option", {
163
163
  value: e.value,
164
164
  disabled: e.disabled,
165
165
  children: e.label
166
166
  }, e.value))]
167
- }), /* @__PURE__ */ s("span", {
167
+ }), /* @__PURE__ */ l("span", {
168
168
  className: "select-chevron-icon",
169
- children: /* @__PURE__ */ s("svg", {
169
+ children: /* @__PURE__ */ l("svg", {
170
170
  xmlns: "http://www.w3.org/2000/svg",
171
171
  fill: "none",
172
172
  viewBox: "0 0 24 24",
173
173
  strokeWidth: 2,
174
174
  stroke: "currentColor",
175
175
  className: "w-4 h-4",
176
- children: /* @__PURE__ */ s("path", {
176
+ children: /* @__PURE__ */ l("path", {
177
177
  strokeLinecap: "round",
178
178
  strokeLinejoin: "round",
179
179
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
@@ -181,71 +181,71 @@ var E = e(({ label: e, error: t, hint: n, options: r, placeholder: i, className:
181
181
  })
182
182
  })]
183
183
  }),
184
- (t || n) && /* @__PURE__ */ s("p", {
185
- className: (0, x.default)("select-helper", t && "has-error"),
184
+ (t || n) && /* @__PURE__ */ l("p", {
185
+ className: (0, C.default)("select-helper", t && "has-error"),
186
186
  children: t ?? n
187
187
  })
188
188
  ]
189
189
  });
190
190
  });
191
- E.displayName = "Select";
191
+ O.displayName = "Select";
192
192
  //#endregion
193
193
  //#region src/components/common/Typography/Heading.tsx
194
- var D = ({ as: e, level: t = 1, color: n = "default", className: r = "", children: i, ...a }) => /* @__PURE__ */ s(e ?? `h${t}`, {
195
- className: (0, x.default)(`text-color-${n}`, `heading-size-${t}`, r),
194
+ var k = ({ as: e, level: t = 1, color: n = "default", className: r = "", children: i, ...a }) => /* @__PURE__ */ l(e ?? `h${t}`, {
195
+ className: (0, C.default)(`text-color-${n}`, `heading-size-${t}`, r),
196
196
  ...a,
197
197
  children: i
198
- }), O = ({ variant: e = "body", color: t = "default", as: n = "p", className: r = "", children: i, ...a }) => /* @__PURE__ */ s(n, {
199
- className: (0, x.default)(`text-color-${t}`, `text-variant-${e}`, r),
198
+ }), A = ({ variant: e = "body", color: t = "default", as: n = "p", className: r = "", children: i, ...a }) => /* @__PURE__ */ l(n, {
199
+ className: (0, C.default)(`text-color-${t}`, `text-variant-${e}`, r),
200
200
  ...a,
201
201
  children: i
202
202
  });
203
203
  //#endregion
204
204
  //#region src/components/common/Badge/Badge.tsx
205
- function k({ variant: e = "default", size: t = "md", dot: n = !1, className: r, children: i, ...a }) {
206
- return /* @__PURE__ */ c("span", {
207
- className: (0, x.default)("badge", `badge-${e}`, `badge-${t}`, r),
205
+ function j({ variant: e = "default", size: t = "md", dot: n = !1, className: r, children: i, ...a }) {
206
+ return /* @__PURE__ */ u("span", {
207
+ className: (0, C.default)("badge", `badge-${e}`, `badge-${t}`, r),
208
208
  ...a,
209
- children: [n && /* @__PURE__ */ s("span", { className: (0, x.default)("badge-dot", `badge-dot-${e}`) }), i]
209
+ children: [n && /* @__PURE__ */ l("span", { className: (0, C.default)("badge-dot", `badge-dot-${e}`) }), i]
210
210
  });
211
211
  }
212
212
  //#endregion
213
213
  //#region src/components/common/Card/Card.tsx
214
- var A = {
214
+ var M = {
215
215
  none: "",
216
216
  sm: "p-4",
217
217
  md: "p-6",
218
218
  lg: "p-8"
219
219
  };
220
- function j({ children: e, padding: t = "md", shadow: n = !0, border: r = !0, className: i = "", ...a }) {
221
- return /* @__PURE__ */ s("div", {
220
+ function N({ children: e, padding: t = "md", shadow: n = !0, border: r = !0, className: i = "", ...a }) {
221
+ return /* @__PURE__ */ l("div", {
222
222
  className: [
223
223
  "bg-white rounded-xl overflow-hidden",
224
224
  r ? "border border-gray-200" : "",
225
225
  n ? "shadow-sm" : "",
226
- A[t],
226
+ M[t],
227
227
  i
228
228
  ].filter(Boolean).join(" "),
229
229
  ...a,
230
230
  children: e
231
231
  });
232
232
  }
233
- function ee({ children: e, className: t = "", ...n }) {
234
- return /* @__PURE__ */ s("div", {
233
+ function P({ children: e, className: t = "", ...n }) {
234
+ return /* @__PURE__ */ l("div", {
235
235
  className: ["px-6 py-4 border-b border-gray-100", t].filter(Boolean).join(" "),
236
236
  ...n,
237
237
  children: e
238
238
  });
239
239
  }
240
- function te({ children: e, className: t = "", ...n }) {
241
- return /* @__PURE__ */ s("div", {
240
+ function F({ children: e, className: t = "", ...n }) {
241
+ return /* @__PURE__ */ l("div", {
242
242
  className: ["p-6", t].filter(Boolean).join(" "),
243
243
  ...n,
244
244
  children: e
245
245
  });
246
246
  }
247
- function ne({ children: e, className: t = "", ...n }) {
248
- return /* @__PURE__ */ s("div", {
247
+ function I({ children: e, className: t = "", ...n }) {
248
+ return /* @__PURE__ */ l("div", {
249
249
  className: ["px-6 py-4 border-t border-gray-100 bg-gray-50", t].filter(Boolean).join(" "),
250
250
  ...n,
251
251
  children: e
@@ -253,13 +253,13 @@ function ne({ children: e, className: t = "", ...n }) {
253
253
  }
254
254
  //#endregion
255
255
  //#region src/components/common/Spinner/Spinner.tsx
256
- function re({ size: e = "md", color: t = "primary", label: n = "Loading…", className: r = "", ...i }) {
257
- return /* @__PURE__ */ c("span", {
256
+ function L({ size: e = "md", color: t = "primary", label: n = "Loading…", className: r = "", ...i }) {
257
+ return /* @__PURE__ */ u("span", {
258
258
  role: "status",
259
259
  "aria-label": n,
260
- className: (0, x.default)("spinner-wrapper", r),
260
+ className: (0, C.default)("spinner-wrapper", r),
261
261
  ...i,
262
- children: [/* @__PURE__ */ s("span", { className: (0, x.default)("spinner", `spinner-${e}`, `spinner-${t}`) }), /* @__PURE__ */ s("span", {
262
+ children: [/* @__PURE__ */ l("span", { className: (0, C.default)("spinner", `spinner-${e}`, `spinner-${t}`) }), /* @__PURE__ */ l("span", {
263
263
  className: "sr-only",
264
264
  children: n
265
265
  })]
@@ -267,65 +267,65 @@ function re({ size: e = "md", color: t = "primary", label: n = "Loading…", cla
267
267
  }
268
268
  //#endregion
269
269
  //#region src/components/common/Alert/Alert.tsx
270
- var ie = {
271
- info: /* @__PURE__ */ s("path", {
270
+ var R = {
271
+ info: /* @__PURE__ */ l("path", {
272
272
  strokeLinecap: "round",
273
273
  strokeLinejoin: "round",
274
274
  d: "M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
275
275
  }),
276
- success: /* @__PURE__ */ s("path", {
276
+ success: /* @__PURE__ */ l("path", {
277
277
  strokeLinecap: "round",
278
278
  strokeLinejoin: "round",
279
279
  d: "M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
280
280
  }),
281
- warning: /* @__PURE__ */ s("path", {
281
+ warning: /* @__PURE__ */ l("path", {
282
282
  strokeLinecap: "round",
283
283
  strokeLinejoin: "round",
284
284
  d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
285
285
  }),
286
- danger: /* @__PURE__ */ s("path", {
286
+ danger: /* @__PURE__ */ l("path", {
287
287
  strokeLinecap: "round",
288
288
  strokeLinejoin: "round",
289
289
  d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"
290
290
  })
291
291
  };
292
- function ae({ variant: e = "info", title: t, children: n, onClose: r, className: i = "", ...a }) {
293
- return /* @__PURE__ */ c("div", {
292
+ function z({ variant: e = "info", title: t, children: n, onClose: r, className: i = "", ...a }) {
293
+ return /* @__PURE__ */ u("div", {
294
294
  role: "alert",
295
- className: (0, x.default)("alert", `alert-${e}`, "w-full", i),
295
+ className: (0, C.default)("alert", `alert-${e}`, "w-full", i),
296
296
  ...a,
297
297
  children: [
298
- /* @__PURE__ */ s("svg", {
298
+ /* @__PURE__ */ l("svg", {
299
299
  xmlns: "http://www.w3.org/2000/svg",
300
300
  fill: "none",
301
301
  viewBox: "0 0 24 24",
302
302
  strokeWidth: 1.5,
303
303
  stroke: "currentColor",
304
- className: (0, x.default)("alert-icon", `alert-icon-${e}`),
305
- children: ie[e]
304
+ className: (0, C.default)("alert-icon", `alert-icon-${e}`),
305
+ children: R[e]
306
306
  }),
307
- /* @__PURE__ */ c("div", {
307
+ /* @__PURE__ */ u("div", {
308
308
  className: "flex-1 min-w-0",
309
- children: [t && /* @__PURE__ */ s("p", {
309
+ children: [t && /* @__PURE__ */ l("p", {
310
310
  className: "alert-title",
311
311
  children: t
312
- }), /* @__PURE__ */ s("div", {
312
+ }), /* @__PURE__ */ l("div", {
313
313
  className: "alert-text",
314
314
  children: n
315
315
  })]
316
316
  }),
317
- r && /* @__PURE__ */ s("button", {
317
+ r && /* @__PURE__ */ l("button", {
318
318
  onClick: r,
319
319
  className: "alert-close-btn",
320
320
  "aria-label": "Close",
321
- children: /* @__PURE__ */ s("svg", {
321
+ children: /* @__PURE__ */ l("svg", {
322
322
  xmlns: "http://www.w3.org/2000/svg",
323
323
  fill: "none",
324
324
  viewBox: "0 0 24 24",
325
325
  strokeWidth: 1.5,
326
326
  stroke: "currentColor",
327
327
  className: "w-4 h-4",
328
- children: /* @__PURE__ */ s("path", {
328
+ children: /* @__PURE__ */ l("path", {
329
329
  strokeLinecap: "round",
330
330
  strokeLinejoin: "round",
331
331
  d: "M6 18L18 6M6 6l12 12"
@@ -337,57 +337,57 @@ function ae({ 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 oe = {
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 se({ open: e, onClose: t, title: r, children: a, footer: o, size: u = "md", closeOnBackdrop: d = !0 }) {
348
- let f = i(null);
349
- return n(() => {
347
+ function ee({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "md", closeOnBackdrop: c = !0 }) {
348
+ let f = o(null);
349
+ return r(() => {
350
350
  if (!e) return;
351
351
  let t = document.body.style.overflow;
352
352
  return document.body.style.overflow = "hidden", () => {
353
353
  document.body.style.overflow = t;
354
354
  };
355
- }, [e]), n(() => {
355
+ }, [e]), r(() => {
356
356
  if (!e) return;
357
357
  let n = (e) => {
358
358
  e.key === "Escape" && t();
359
359
  };
360
360
  return document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
361
- }, [e, t]), e ? l(/* @__PURE__ */ s("div", {
361
+ }, [e, t]), e ? d(/* @__PURE__ */ l("div", {
362
362
  ref: f,
363
363
  className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",
364
364
  onClick: (e) => {
365
- d && e.target === f.current && t();
365
+ c && e.target === f.current && t();
366
366
  },
367
- children: /* @__PURE__ */ c("div", {
367
+ children: /* @__PURE__ */ u("div", {
368
368
  role: "dialog",
369
369
  "aria-modal": "true",
370
- "aria-labelledby": r ? "modal-title" : void 0,
371
- className: ["relative w-full bg-white rounded-xl shadow-xl flex flex-col max-h-[90vh]", oe[u]].join(" "),
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]", B[s]].join(" "),
372
372
  children: [
373
- r && /* @__PURE__ */ c("div", {
373
+ n && /* @__PURE__ */ u("div", {
374
374
  className: "flex items-center justify-between px-6 py-4 border-b border-gray-100 shrink-0",
375
- children: [/* @__PURE__ */ s("h2", {
375
+ children: [/* @__PURE__ */ l("h2", {
376
376
  id: "modal-title",
377
377
  className: "text-lg font-semibold text-gray-900",
378
- children: r
379
- }), /* @__PURE__ */ s("button", {
378
+ children: n
379
+ }), /* @__PURE__ */ l("button", {
380
380
  onClick: t,
381
381
  className: "text-gray-400 hover:text-gray-600 transition-colors",
382
382
  "aria-label": "Close modal",
383
- children: /* @__PURE__ */ s("svg", {
383
+ children: /* @__PURE__ */ l("svg", {
384
384
  xmlns: "http://www.w3.org/2000/svg",
385
385
  fill: "none",
386
386
  viewBox: "0 0 24 24",
387
387
  strokeWidth: 1.5,
388
388
  stroke: "currentColor",
389
389
  className: "w-5 h-5",
390
- children: /* @__PURE__ */ s("path", {
390
+ children: /* @__PURE__ */ l("path", {
391
391
  strokeLinecap: "round",
392
392
  strokeLinejoin: "round",
393
393
  d: "M6 18L18 6M6 6l12 12"
@@ -395,13 +395,13 @@ function se({ open: e, onClose: t, title: r, children: a, footer: o, size: u = "
395
395
  })
396
396
  })]
397
397
  }),
398
- /* @__PURE__ */ s("div", {
398
+ /* @__PURE__ */ l("div", {
399
399
  className: "flex-1 overflow-y-auto px-6 py-4",
400
- children: a
400
+ children: i
401
401
  }),
402
- o && /* @__PURE__ */ s("div", {
402
+ a && /* @__PURE__ */ l("div", {
403
403
  className: "px-6 py-4 border-t border-gray-100 shrink-0 bg-gray-50 rounded-b-xl",
404
- children: o
404
+ children: a
405
405
  })
406
406
  ]
407
407
  })
@@ -409,73 +409,73 @@ function se({ open: e, onClose: t, title: r, children: a, footer: o, size: u = "
409
409
  }
410
410
  //#endregion
411
411
  //#region src/components/common/Checkbox/Checkbox.tsx
412
- var M = e(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...o }, l) => {
413
- let u = a ?? e?.toLowerCase().replace(/\s+/g, "-");
414
- return /* @__PURE__ */ c("div", {
415
- className: (0, x.default)("checkbox-wrapper", i),
416
- children: [/* @__PURE__ */ s("div", {
412
+ var V = t(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...o }, s) => {
413
+ let c = a ?? e?.toLowerCase().replace(/\s+/g, "-");
414
+ return /* @__PURE__ */ u("div", {
415
+ className: (0, C.default)("checkbox-wrapper", i),
416
+ children: [/* @__PURE__ */ l("div", {
417
417
  className: "checkbox-wrapper-inner",
418
- children: /* @__PURE__ */ s("input", {
418
+ children: /* @__PURE__ */ l("input", {
419
419
  ref: (e) => {
420
- e && (e.indeterminate = r ?? !1), typeof l == "function" ? l(e) : l && (l.current = e);
420
+ e && (e.indeterminate = r ?? !1), typeof s == "function" ? s(e) : s && (s.current = e);
421
421
  },
422
- id: u,
422
+ id: c,
423
423
  type: "checkbox",
424
- className: (0, x.default)("checkbox", n && "has-error"),
424
+ className: (0, C.default)("checkbox", n && "has-error"),
425
425
  ...o
426
426
  })
427
- }), (e || t) && /* @__PURE__ */ c("div", { children: [
428
- e && /* @__PURE__ */ s("label", {
429
- htmlFor: u,
427
+ }), (e || t) && /* @__PURE__ */ u("div", { children: [
428
+ e && /* @__PURE__ */ l("label", {
429
+ htmlFor: c,
430
430
  className: "checkbox-label",
431
431
  children: e
432
432
  }),
433
- t && /* @__PURE__ */ s("p", {
433
+ t && /* @__PURE__ */ l("p", {
434
434
  className: "checkbox-description",
435
435
  children: t
436
436
  }),
437
- n && /* @__PURE__ */ s("p", {
437
+ n && /* @__PURE__ */ l("p", {
438
438
  className: "checkbox-error",
439
439
  children: n
440
440
  })
441
441
  ] })]
442
442
  });
443
443
  });
444
- M.displayName = "Checkbox";
444
+ V.displayName = "Checkbox";
445
445
  //#endregion
446
446
  //#region src/components/common/Toggle/Toggle.tsx
447
- var N = e(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, o) => {
448
- let l = i ?? e?.toLowerCase().replace(/\s+/g, "-");
449
- return /* @__PURE__ */ c("label", {
450
- htmlFor: l,
451
- className: (0, x.default)("toggle", a.disabled && "toggle-disabled", r),
452
- children: [/* @__PURE__ */ c("div", {
453
- className: (0, x.default)("toggle-wrapper", `toggle-wrapper-${n}`),
447
+ var H = t(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, o) => {
448
+ let s = i ?? e?.toLowerCase().replace(/\s+/g, "-");
449
+ return /* @__PURE__ */ u("label", {
450
+ htmlFor: s,
451
+ className: (0, C.default)("toggle", a.disabled && "toggle-disabled", r),
452
+ children: [/* @__PURE__ */ u("div", {
453
+ className: (0, C.default)("toggle-wrapper", `toggle-wrapper-${n}`),
454
454
  children: [
455
- /* @__PURE__ */ s("input", {
455
+ /* @__PURE__ */ l("input", {
456
456
  ref: o,
457
- id: l,
457
+ id: s,
458
458
  type: "checkbox",
459
459
  role: "switch",
460
460
  className: "sr-only peer",
461
461
  ...a
462
462
  }),
463
- /* @__PURE__ */ s("div", { className: "toggle-track" }),
464
- /* @__PURE__ */ s("div", { className: (0, x.default)("toggle-thumb", `toggle-thumb-${n}`) })
463
+ /* @__PURE__ */ l("div", { className: "toggle-track" }),
464
+ /* @__PURE__ */ l("div", { className: (0, C.default)("toggle-thumb", `toggle-thumb-${n}`) })
465
465
  ]
466
- }), (e || t) && /* @__PURE__ */ c("div", { children: [e && /* @__PURE__ */ s("span", {
466
+ }), (e || t) && /* @__PURE__ */ u("div", { children: [e && /* @__PURE__ */ l("span", {
467
467
  className: "toggle-label",
468
468
  children: e
469
- }), t && /* @__PURE__ */ s("span", {
469
+ }), t && /* @__PURE__ */ l("span", {
470
470
  className: "toggle-description",
471
471
  children: t
472
472
  })] })]
473
473
  });
474
474
  });
475
- N.displayName = "Toggle";
475
+ H.displayName = "Toggle";
476
476
  //#endregion
477
477
  //#region src/components/common/Avatar/Avatar.tsx
478
- var P = [
478
+ var U = [
479
479
  "bg-red-500",
480
480
  "bg-orange-500",
481
481
  "bg-amber-500",
@@ -486,38 +486,38 @@ var P = [
486
486
  "bg-violet-500",
487
487
  "bg-pink-500"
488
488
  ];
489
- function ce({ 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}`,
493
493
  i
494
- ], c = (e) => {
494
+ ], s = (e) => {
495
495
  let t = 0;
496
496
  for (let n = 0; n < e.length; n++) t += e.charCodeAt(n);
497
- return P[t % P.length];
498
- }, l = (e) => e.split(" ").slice(0, 2).map((e) => e[0]).join("").toUpperCase();
499
- return e ? /* @__PURE__ */ s("span", {
500
- className: (0, x.default)(o),
497
+ return U[t % U.length];
498
+ }, c = (e) => e.split(" ").slice(0, 2).map((e) => e[0]).join("").toUpperCase();
499
+ return e ? /* @__PURE__ */ l("span", {
500
+ className: (0, C.default)(o),
501
501
  ...a,
502
- children: /* @__PURE__ */ s("img", {
502
+ children: /* @__PURE__ */ l("img", {
503
503
  src: e,
504
504
  alt: t ?? n ?? "",
505
505
  className: "w-full h-full object-cover"
506
506
  })
507
- }) : n ? /* @__PURE__ */ s("span", {
508
- className: (0, x.default)(o, c(n)),
507
+ }) : n ? /* @__PURE__ */ l("span", {
508
+ className: (0, C.default)(o, s(n)),
509
509
  "aria-label": n,
510
510
  ...a,
511
- children: l(n)
512
- }) : /* @__PURE__ */ s("span", {
513
- className: (0, x.default)(o, "avatar-fallback"),
511
+ children: c(n)
512
+ }) : /* @__PURE__ */ l("span", {
513
+ className: (0, C.default)(o, "avatar-fallback"),
514
514
  ...a,
515
- children: /* @__PURE__ */ s("svg", {
515
+ children: /* @__PURE__ */ l("svg", {
516
516
  xmlns: "http://www.w3.org/2000/svg",
517
517
  fill: "currentColor",
518
518
  viewBox: "0 0 24 24",
519
519
  className: "w-3/5 h-3/5",
520
- children: /* @__PURE__ */ s("path", {
520
+ children: /* @__PURE__ */ l("path", {
521
521
  fillRule: "evenodd",
522
522
  d: "M7.5 6a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM3.751 20.105a8.25 8.25 0 0116.498 0 .75.75 0 01-.437.695A18.683 18.683 0 0112 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 01-.437-.695z",
523
523
  clipRule: "evenodd"
@@ -527,8 +527,8 @@ function ce({ 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 le = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", justifyContent: i = "normal", className: a, children: o }) => /* @__PURE__ */ s("div", {
531
- className: (0, x.default)("stack", `stack-${e}`, t && `gap-${t}`, {
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
+ className: (0, C.default)("stack", `stack-${e}`, t && `gap-${t}`, {
532
532
  start: "items-start",
533
533
  end: "items-end",
534
534
  center: "items-center",
@@ -550,14 +550,14 @@ var le = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
550
550
  stretch: "justify-stretch"
551
551
  }[i], a),
552
552
  children: o
553
- }), ue = {
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
- }, de = {
560
+ }, ie = {
561
561
  0: "gap-0",
562
562
  1: "gap-1",
563
563
  2: "gap-2",
@@ -569,7 +569,7 @@ var le = ({ 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
- }, fe = {
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 le = ({ 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
- }, pe = {
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 le = ({ 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
- }, me = {
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 le = ({ 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
- }, F = {
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 le = ({ 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
- }, I = {
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 le = ({ 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
- }, L = {
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 le = ({ 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
- }, R = {
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 le = ({ 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
- }, z = {
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 le = ({ 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
- }, he = {
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 le = ({ 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
- }, ge = {
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 le = ({ 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
- }, _e = {
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 le = ({ 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
- }, ve = {
709
+ }, ge = {
710
710
  1: "xl:col-start-2",
711
711
  2: "xl:col-start-3",
712
712
  3: "xl:col-start-4",
@@ -718,32 +718,32 @@ var le = ({ 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
- }, B = ({ children: e, cols: t = 12, gap: n, rowGap: r, colGap: i, as: a = "div", className: o }) => /* @__PURE__ */ s(a, {
722
- className: (0, x.default)("grid", "w-full", ue[t], n !== void 0 && de[n], r !== void 0 && fe[r], i !== void 0 && pe[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
- B.displayName = "Grid";
726
- var V = ({ children: e, span: t, sm: n, md: r, lg: i, xl: a, offset: o, smOffset: c, mdOffset: l, lgOffset: u, xlOffset: d, className: f, ...p }) => /* @__PURE__ */ s("div", {
727
- className: (0, x.default)(t && me[t], n && F[n], r && I[r], i && L[i], a && R[a], o && z[o], c && he[c], l && ge[l], u && _e[u], d && ve[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
- V.displayName = "Col";
731
+ G.displayName = "Col";
732
732
  //#endregion
733
733
  //#region src/components/common/QuantityInput/QuantityInput.tsx
734
- var H = ({ value: e, onChange: t, min: o = 1, max: l = 999, step: u = 1, disabled: d = !1, label: f, error: p, hint: m, id: h, className: g }) => {
735
- let _ = r(), v = h ?? _, y = i(null), [b, S] = a(String(e));
736
- n(() => {
737
- document.activeElement !== y.current && S(String(e));
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
+ let _ = i(), v = h ?? _, y = o(null), [b, x] = s(String(e));
736
+ r(() => {
737
+ document.activeElement !== y.current && x(String(e));
738
738
  }, [e]);
739
- let C = (e) => Math.min(l, Math.max(o, e)), w = (n) => {
740
- let r = parseInt(n, 10), i = isNaN(r) ? e : C(r);
741
- S(String(i)), i !== e && t(i);
739
+ let S = (e) => Math.min(a, Math.max(n, e)), w = (n) => {
740
+ let r = parseInt(n, 10), i = isNaN(r) ? e : S(r);
741
+ x(String(i)), i !== e && t(i);
742
742
  }, T = (e) => {
743
743
  let n = e.target.value.replace(/[^0-9]/g, "");
744
- S(n);
744
+ x(n);
745
745
  let r = parseInt(n, 10);
746
- isNaN(r) || t(C(r));
746
+ isNaN(r) || t(S(r));
747
747
  }, E = () => w(b), D = (e) => {
748
748
  if (e.key === "Enter") {
749
749
  w(b), y.current?.blur();
@@ -759,28 +759,28 @@ var H = ({ value: e, onChange: t, min: o = 1, max: l = 999, step: u = 1, disable
759
759
  "Home",
760
760
  "End"
761
761
  ].includes(e.key) && !/^[0-9]$/.test(e.key) && !e.metaKey && !e.ctrlKey && e.preventDefault();
762
- }, O = () => t(C(e - u)), k = () => t(C(e + u)), A = e - u >= o, j = e + u <= l;
763
- return /* @__PURE__ */ c("div", {
764
- className: (0, x.default)("quantity-input-wrapper", g),
762
+ }, O = () => t(S(e - c)), k = () => t(S(e + c)), A = e - c >= n, j = e + c <= a;
763
+ return /* @__PURE__ */ u("div", {
764
+ className: (0, C.default)("quantity-input-wrapper", g),
765
765
  children: [
766
- f && /* @__PURE__ */ s("label", {
766
+ f && /* @__PURE__ */ l("label", {
767
767
  htmlFor: v,
768
768
  className: "input-label",
769
769
  children: f
770
770
  }),
771
- /* @__PURE__ */ c("div", {
772
- className: (0, x.default)("quantity-input", p && "has-error", d && "is-disabled"),
771
+ /* @__PURE__ */ u("div", {
772
+ className: (0, C.default)("quantity-input", p && "has-error", d && "is-disabled"),
773
773
  children: [
774
- /* @__PURE__ */ s("button", {
774
+ /* @__PURE__ */ l("button", {
775
775
  type: "button",
776
776
  className: "quantity-btn",
777
777
  onClick: O,
778
778
  disabled: d || !A,
779
779
  "aria-label": "Snížit množství",
780
780
  tabIndex: -1,
781
- children: /* @__PURE__ */ s(ye, {})
781
+ children: /* @__PURE__ */ l(_e, {})
782
782
  }),
783
- /* @__PURE__ */ s("input", {
783
+ /* @__PURE__ */ l("input", {
784
784
  ref: y,
785
785
  id: v,
786
786
  type: "text",
@@ -792,122 +792,122 @@ var H = ({ value: e, onChange: t, min: o = 1, max: l = 999, step: u = 1, disable
792
792
  onKeyDown: D,
793
793
  disabled: d,
794
794
  "aria-label": f ?? "Množství",
795
- "aria-valuemin": o,
796
- "aria-valuemax": l,
795
+ "aria-valuemin": n,
796
+ "aria-valuemax": a,
797
797
  "aria-valuenow": e
798
798
  }),
799
- /* @__PURE__ */ s("button", {
799
+ /* @__PURE__ */ l("button", {
800
800
  type: "button",
801
801
  className: "quantity-btn",
802
802
  onClick: k,
803
803
  disabled: d || !j,
804
804
  "aria-label": "Zvýšit množství",
805
805
  tabIndex: -1,
806
- children: /* @__PURE__ */ s(be, {})
806
+ children: /* @__PURE__ */ l(ve, {})
807
807
  })
808
808
  ]
809
809
  }),
810
- (p || m) && /* @__PURE__ */ s("p", {
811
- className: (0, x.default)("helper-text", p && "has-error"),
810
+ (p || m) && /* @__PURE__ */ l("p", {
811
+ className: (0, C.default)("helper-text", p && "has-error"),
812
812
  children: p ?? m
813
813
  })
814
814
  ]
815
815
  });
816
816
  };
817
- H.displayName = "QuantityInput";
818
- var ye = () => /* @__PURE__ */ s("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",
822
822
  fill: "none",
823
823
  "aria-hidden": "true",
824
- children: /* @__PURE__ */ s("path", {
824
+ children: /* @__PURE__ */ l("path", {
825
825
  d: "M1 1H11",
826
826
  stroke: "currentColor",
827
827
  strokeWidth: "1.5",
828
828
  strokeLinecap: "round"
829
829
  })
830
- }), be = () => /* @__PURE__ */ s("svg", {
830
+ }), ve = () => /* @__PURE__ */ l("svg", {
831
831
  width: "12",
832
832
  height: "12",
833
833
  viewBox: "0 0 12 12",
834
834
  fill: "none",
835
835
  "aria-hidden": "true",
836
- children: /* @__PURE__ */ s("path", {
836
+ children: /* @__PURE__ */ l("path", {
837
837
  d: "M6 1V11M1 6H11",
838
838
  stroke: "currentColor",
839
839
  strokeWidth: "1.5",
840
840
  strokeLinecap: "round"
841
841
  })
842
- }), U = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), xe = (e, t, n) => {
843
- if (t <= n * 2 + 5) return U(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
- ...U(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
- ...U(t - (2 + n * 2), t)
852
+ ...q(t - (2 + n * 2), t)
853
853
  ] : [
854
854
  1,
855
855
  "…",
856
- ...U(r, i),
856
+ ...q(r, i),
857
857
  "…",
858
858
  t
859
859
  ];
860
- }, W = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ s("button", {
860
+ }, J = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ l("button", {
861
861
  disabled: t,
862
- className: (0, x.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
862
+ className: (0, C.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
863
863
  ...r,
864
864
  children: n
865
- }), G = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
866
- let i = xe(e, t, r);
867
- return /* @__PURE__ */ c("nav", {
865
+ }), Y = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
866
+ let i = ye(e, t, r);
867
+ return /* @__PURE__ */ u("nav", {
868
868
  "aria-label": "Pagination",
869
869
  className: "pagination",
870
870
  children: [
871
- /* @__PURE__ */ s(W, {
871
+ /* @__PURE__ */ l(J, {
872
872
  disabled: e <= 1,
873
873
  onClick: () => n(e - 1),
874
874
  "aria-label": "Previous page",
875
- children: /* @__PURE__ */ s("svg", {
875
+ children: /* @__PURE__ */ l("svg", {
876
876
  xmlns: "http://www.w3.org/2000/svg",
877
877
  fill: "none",
878
878
  viewBox: "0 0 24 24",
879
879
  strokeWidth: 2,
880
880
  stroke: "currentColor",
881
881
  className: "w-4 h-4",
882
- children: /* @__PURE__ */ s("path", {
882
+ children: /* @__PURE__ */ l("path", {
883
883
  strokeLinecap: "round",
884
884
  strokeLinejoin: "round",
885
885
  d: "M15.75 19.5L8.25 12l7.5-7.5"
886
886
  })
887
887
  })
888
888
  }),
889
- i.map((t, r) => t === "…" ? /* @__PURE__ */ s("span", {
889
+ i.map((t, r) => t === "…" ? /* @__PURE__ */ l("span", {
890
890
  className: "pagination-dots",
891
891
  children: "…"
892
- }, `dots-${r}`) : /* @__PURE__ */ s(W, {
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__ */ s(W, {
899
+ /* @__PURE__ */ l(J, {
900
900
  disabled: e >= t,
901
901
  onClick: () => n(e + 1),
902
902
  "aria-label": "Next page",
903
- children: /* @__PURE__ */ s("svg", {
903
+ children: /* @__PURE__ */ l("svg", {
904
904
  xmlns: "http://www.w3.org/2000/svg",
905
905
  fill: "none",
906
906
  viewBox: "0 0 24 24",
907
907
  strokeWidth: 2,
908
908
  stroke: "currentColor",
909
909
  className: "w-4 h-4",
910
- children: /* @__PURE__ */ s("path", {
910
+ children: /* @__PURE__ */ l("path", {
911
911
  strokeLinecap: "round",
912
912
  strokeLinejoin: "round",
913
913
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -918,10 +918,150 @@ var ye = () => /* @__PURE__ */ s("svg", {
918
918
  });
919
919
  };
920
920
  //#endregion
921
+ //#region src/components/common/Carousel/Carousel.tsx
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
+ 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
+ let n = O.current;
925
+ if (!n) return;
926
+ let r = n.children[e];
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 = !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) => {
935
+ T(g ? (e % b + b) % b : Math.max(0, Math.min(e, x)));
936
+ }, [
937
+ b,
938
+ g,
939
+ x
940
+ ]), F = n(() => P(w - 1), [w, P]), I = n(() => P(w + 1), [w, P]);
941
+ a(() => {
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(() => {
955
+ let e = k.current;
956
+ if (!e) return;
957
+ let t = new ResizeObserver(() => {
958
+ N(!1), M(w, !1);
959
+ });
960
+ return t.observe(e), () => t.disconnect();
961
+ }, [
962
+ w,
963
+ M,
964
+ N
965
+ ]), r(() => {
966
+ if (!(!m || E || !S)) return A.current = setInterval(I, h), () => {
967
+ A.current && clearInterval(A.current);
968
+ };
969
+ }, [
970
+ m,
971
+ E,
972
+ h,
973
+ I,
974
+ S
975
+ ]);
976
+ let L = (e) => {
977
+ j.current = e.touches[0].clientX;
978
+ }, R = (e) => {
979
+ if (j.current === null) return;
980
+ let t = e.changedTouches[0].clientX - j.current;
981
+ Math.abs(t) > 50 && (t < 0 ? I() : F()), j.current = null;
982
+ };
983
+ if (b === 0) return null;
984
+ let z = g || w > 0, B = g || w < x;
985
+ return /* @__PURE__ */ u("div", {
986
+ className: (0, C.default)("carousel", _),
987
+ onMouseEnter: () => D(!0),
988
+ onMouseLeave: () => D(!1),
989
+ onTouchStart: L,
990
+ onTouchEnd: R,
991
+ ...v,
992
+ children: [
993
+ /* @__PURE__ */ l("div", {
994
+ ref: k,
995
+ className: "carousel-viewport",
996
+ children: /* @__PURE__ */ l("div", {
997
+ ref: O,
998
+ className: "carousel-track",
999
+ style: { gap: `${d}px` },
1000
+ children: y.map((e, t) => /* @__PURE__ */ l("div", {
1001
+ className: "carousel-slide",
1002
+ style: {
1003
+ minWidth: `calc((100% - ${d}px * ${i - 1}) / ${i})`,
1004
+ maxWidth: `calc((100% - ${d}px * ${i - 1}) / ${i})`
1005
+ },
1006
+ "aria-hidden": t < w || t >= w + i,
1007
+ children: e
1008
+ }, t))
1009
+ })
1010
+ }),
1011
+ f && S && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("button", {
1012
+ onClick: F,
1013
+ disabled: !z,
1014
+ className: "carousel-btn carousel-btn-prev",
1015
+ "aria-label": "Previous slide",
1016
+ children: /* @__PURE__ */ l("svg", {
1017
+ xmlns: "http://www.w3.org/2000/svg",
1018
+ fill: "none",
1019
+ viewBox: "0 0 24 24",
1020
+ strokeWidth: 2,
1021
+ stroke: "currentColor",
1022
+ className: "w-5 h-5",
1023
+ children: /* @__PURE__ */ l("path", {
1024
+ strokeLinecap: "round",
1025
+ strokeLinejoin: "round",
1026
+ d: "M15.75 19.5L8.25 12l7.5-7.5"
1027
+ })
1028
+ })
1029
+ }), /* @__PURE__ */ l("button", {
1030
+ onClick: I,
1031
+ disabled: !B,
1032
+ className: "carousel-btn carousel-btn-next",
1033
+ "aria-label": "Next slide",
1034
+ children: /* @__PURE__ */ l("svg", {
1035
+ xmlns: "http://www.w3.org/2000/svg",
1036
+ fill: "none",
1037
+ viewBox: "0 0 24 24",
1038
+ strokeWidth: 2,
1039
+ stroke: "currentColor",
1040
+ className: "w-5 h-5",
1041
+ children: /* @__PURE__ */ l("path", {
1042
+ strokeLinecap: "round",
1043
+ strokeLinejoin: "round",
1044
+ d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1045
+ })
1046
+ })
1047
+ })] }),
1048
+ p && S && /* @__PURE__ */ l("div", {
1049
+ className: "carousel-dots",
1050
+ children: Array.from({ length: x + 1 }).map((e, t) => /* @__PURE__ */ l("button", {
1051
+ onClick: () => P(t),
1052
+ className: (0, C.default)("carousel-dot", t === w && "carousel-dot-active"),
1053
+ "aria-label": `Go to slide ${t + 1}`,
1054
+ "aria-current": t === w ? "true" : void 0
1055
+ }, t))
1056
+ })
1057
+ ]
1058
+ });
1059
+ }
1060
+ //#endregion
921
1061
  //#region src/components/Header/Header.tsx
922
- function K({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: o }) {
923
- let [l, u] = a(!1), d = i(null), f = () => u(!1);
924
- return /* @__PURE__ */ c("div", {
1062
+ function X({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1063
+ let [a, c] = s(!1), d = o(null), f = () => c(!1);
1064
+ return /* @__PURE__ */ u("div", {
925
1065
  ref: d,
926
1066
  className: "relative",
927
1067
  onBlur: (e) => {
@@ -930,83 +1070,83 @@ function K({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: o }) {
930
1070
  onKeyDown: (e) => {
931
1071
  e.key === "Escape" && f();
932
1072
  },
933
- children: [/* @__PURE__ */ s("div", {
1073
+ children: [/* @__PURE__ */ l("div", {
934
1074
  role: "button",
935
1075
  tabIndex: 0,
936
- onClick: () => u((e) => !e),
937
- onKeyDown: (e) => e.key === "Enter" && u((e) => !e),
1076
+ onClick: () => c((e) => !e),
1077
+ onKeyDown: (e) => e.key === "Enter" && c((e) => !e),
938
1078
  className: "cursor-pointer",
939
1079
  children: e
940
- }), l && /* @__PURE__ */ s("ul", {
1080
+ }), a && /* @__PURE__ */ l("ul", {
941
1081
  role: "menu",
942
1082
  className: "absolute right-0 top-full mt-1 z-50 min-w-28 bg-white rounded-lg shadow-lg border border-gray-100 py-1 text-sm",
943
- children: t.map((e) => /* @__PURE__ */ s("li", {
1083
+ children: t.map((e) => /* @__PURE__ */ l("li", {
944
1084
  role: "none",
945
- children: /* @__PURE__ */ s("button", {
1085
+ children: /* @__PURE__ */ l("button", {
946
1086
  role: "menuitem",
947
1087
  className: "w-full px-3 py-1.5 text-left hover:bg-gray-50 text-gray-700 whitespace-nowrap",
948
1088
  onClick: () => {
949
1089
  n(e), f();
950
1090
  },
951
- children: o ? o(e) : e.label
1091
+ children: i ? i(e) : e.label
952
1092
  })
953
1093
  }, r(e)))
954
1094
  })]
955
1095
  });
956
1096
  }
957
- function Se() {
958
- return /* @__PURE__ */ s("svg", {
1097
+ function xe() {
1098
+ return /* @__PURE__ */ l("svg", {
959
1099
  xmlns: "http://www.w3.org/2000/svg",
960
1100
  fill: "none",
961
1101
  viewBox: "0 0 24 24",
962
1102
  strokeWidth: 1.5,
963
1103
  stroke: "currentColor",
964
1104
  className: "w-4 h-4",
965
- children: /* @__PURE__ */ s("path", {
1105
+ children: /* @__PURE__ */ l("path", {
966
1106
  strokeLinecap: "round",
967
1107
  strokeLinejoin: "round",
968
1108
  d: "M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 15.803a7.5 7.5 0 0010.607 10.607z"
969
1109
  })
970
1110
  });
971
1111
  }
972
- function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: i, isLoggedIn: l = !1, customerName: u, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
973
- let [y, b] = a(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
974
- return /* @__PURE__ */ s("header", {
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 }) {
1113
+ let [y, b] = s(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
1114
+ return /* @__PURE__ */ l("header", {
975
1115
  className: "bg-white border-b border-gray-200 sticky top-0 z-40",
976
- children: /* @__PURE__ */ c("div", {
1116
+ children: /* @__PURE__ */ u("div", {
977
1117
  className: "max-w-7xl mx-auto px-4 h-16 flex items-center gap-4",
978
1118
  children: [
979
- /* @__PURE__ */ s("div", {
1119
+ /* @__PURE__ */ l("div", {
980
1120
  className: "shrink-0",
981
- children: e ?? /* @__PURE__ */ s("span", {
1121
+ children: e ?? /* @__PURE__ */ l("span", {
982
1122
  className: "text-xl font-bold text-primary-600 tracking-tight",
983
1123
  children: "shopito"
984
1124
  })
985
1125
  }),
986
- /* @__PURE__ */ s("div", {
1126
+ /* @__PURE__ */ l("div", {
987
1127
  className: "flex-1 max-w-xl",
988
- children: /* @__PURE__ */ s(T, {
1128
+ children: /* @__PURE__ */ l(D, {
989
1129
  placeholder: t,
990
1130
  value: y,
991
1131
  onChange: (e) => b(e.target.value),
992
1132
  onKeyDown: (e) => {
993
1133
  e.key === "Enter" && n?.(y);
994
1134
  },
995
- leftIcon: /* @__PURE__ */ s(Se, {}),
996
- rightIcon: y ? /* @__PURE__ */ s("button", {
1135
+ leftIcon: /* @__PURE__ */ l(xe, {}),
1136
+ rightIcon: y ? /* @__PURE__ */ l("button", {
997
1137
  onClick: () => {
998
1138
  b(""), n?.("");
999
1139
  },
1000
1140
  className: "hover:text-gray-600 transition-colors",
1001
1141
  "aria-label": "Clear search",
1002
- children: /* @__PURE__ */ s("svg", {
1142
+ children: /* @__PURE__ */ l("svg", {
1003
1143
  xmlns: "http://www.w3.org/2000/svg",
1004
1144
  fill: "none",
1005
1145
  viewBox: "0 0 24 24",
1006
1146
  strokeWidth: 2,
1007
1147
  stroke: "currentColor",
1008
1148
  className: "w-3.5 h-3.5",
1009
- children: /* @__PURE__ */ s("path", {
1149
+ children: /* @__PURE__ */ l("path", {
1010
1150
  strokeLinecap: "round",
1011
1151
  strokeLinejoin: "round",
1012
1152
  d: "M6 18L18 6M6 6l12 12"
@@ -1015,85 +1155,85 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1015
1155
  }) : void 0
1016
1156
  })
1017
1157
  }),
1018
- /* @__PURE__ */ c("div", {
1158
+ /* @__PURE__ */ u("div", {
1019
1159
  className: "flex items-center gap-1 shrink-0 ml-auto",
1020
1160
  children: [
1021
- f.length > 0 && /* @__PURE__ */ s(K, {
1022
- trigger: /* @__PURE__ */ c("button", {
1161
+ f.length > 0 && /* @__PURE__ */ l(X, {
1162
+ trigger: /* @__PURE__ */ u("button", {
1023
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",
1024
1164
  children: [
1025
- /* @__PURE__ */ s("span", { children: x?.symbol ?? p }),
1026
- /* @__PURE__ */ s("span", {
1165
+ /* @__PURE__ */ l("span", { children: x?.symbol ?? p }),
1166
+ /* @__PURE__ */ l("span", {
1027
1167
  className: "text-xs text-gray-400",
1028
1168
  children: x?.code ?? p
1029
1169
  }),
1030
- /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
1170
+ /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1031
1171
  ]
1032
1172
  }),
1033
1173
  items: f,
1034
1174
  getKey: (e) => e.code,
1035
1175
  onSelect: (e) => m?.(e.code),
1036
- renderItem: (e) => /* @__PURE__ */ c("span", {
1176
+ renderItem: (e) => /* @__PURE__ */ u("span", {
1037
1177
  className: "flex items-center gap-2",
1038
- children: [/* @__PURE__ */ s("span", {
1178
+ children: [/* @__PURE__ */ l("span", {
1039
1179
  className: "w-6 text-center font-medium text-gray-500",
1040
1180
  children: e.symbol
1041
- }), /* @__PURE__ */ s("span", { children: e.label })]
1181
+ }), /* @__PURE__ */ l("span", { children: e.label })]
1042
1182
  })
1043
1183
  }),
1044
- h.length > 0 && /* @__PURE__ */ s(K, {
1045
- trigger: /* @__PURE__ */ c("button", {
1184
+ h.length > 0 && /* @__PURE__ */ l(X, {
1185
+ trigger: /* @__PURE__ */ u("button", {
1046
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",
1047
1187
  children: [
1048
- S?.flag && /* @__PURE__ */ s("span", {
1188
+ S?.flag && /* @__PURE__ */ l("span", {
1049
1189
  className: "text-base leading-none",
1050
1190
  children: S.flag
1051
1191
  }),
1052
- /* @__PURE__ */ s("span", {
1192
+ /* @__PURE__ */ l("span", {
1053
1193
  className: "font-medium uppercase",
1054
1194
  children: S?.code ?? g
1055
1195
  }),
1056
- /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
1196
+ /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1057
1197
  ]
1058
1198
  }),
1059
1199
  items: h,
1060
1200
  getKey: (e) => e.code,
1061
1201
  onSelect: (e) => _?.(e.code),
1062
- renderItem: (e) => /* @__PURE__ */ c("span", {
1202
+ renderItem: (e) => /* @__PURE__ */ u("span", {
1063
1203
  className: "flex items-center gap-2",
1064
- children: [e.flag && /* @__PURE__ */ s("span", {
1204
+ children: [e.flag && /* @__PURE__ */ l("span", {
1065
1205
  className: "text-base",
1066
1206
  children: e.flag
1067
- }), /* @__PURE__ */ s("span", { children: e.label })]
1207
+ }), /* @__PURE__ */ l("span", { children: e.label })]
1068
1208
  })
1069
1209
  }),
1070
- (f.length > 0 || h.length > 0) && /* @__PURE__ */ s("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
1071
- /* @__PURE__ */ s("button", {
1210
+ (f.length > 0 || h.length > 0) && /* @__PURE__ */ l("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
1211
+ /* @__PURE__ */ l("button", {
1072
1212
  onClick: d,
1073
1213
  className: "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",
1074
- "aria-label": l ? "My account" : "Sign in",
1075
- children: l ? /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
1214
+ "aria-label": a ? "My account" : "Sign in",
1215
+ children: a ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("div", {
1076
1216
  className: "w-6 h-6 rounded-full bg-primary-600 text-white flex items-center justify-center text-xs font-bold",
1077
- children: (u ?? "U")[0].toUpperCase()
1078
- }), u && /* @__PURE__ */ s("span", {
1217
+ children: (o ?? "U")[0].toUpperCase()
1218
+ }), o && /* @__PURE__ */ l("span", {
1079
1219
  className: "hidden sm:block font-medium max-w-32 truncate",
1080
- children: u
1081
- })] }) : /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(we, { className: "w-5 h-5" }), /* @__PURE__ */ s("span", {
1220
+ children: o
1221
+ })] }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(Ce, { className: "w-5 h-5" }), /* @__PURE__ */ l("span", {
1082
1222
  className: "hidden sm:block font-medium",
1083
1223
  children: "Přihlásit se"
1084
1224
  })] })
1085
1225
  }),
1086
- /* @__PURE__ */ c("button", {
1226
+ /* @__PURE__ */ u("button", {
1087
1227
  onClick: i,
1088
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",
1089
1229
  "aria-label": `Cart, ${r} items`,
1090
1230
  children: [
1091
- /* @__PURE__ */ s(Te, { className: "w-5 h-5" }),
1092
- /* @__PURE__ */ s("span", {
1231
+ /* @__PURE__ */ l(we, { className: "w-5 h-5" }),
1232
+ /* @__PURE__ */ l("span", {
1093
1233
  className: "hidden sm:block font-medium",
1094
1234
  children: "Košík"
1095
1235
  }),
1096
- r > 0 && /* @__PURE__ */ s("span", {
1236
+ r > 0 && /* @__PURE__ */ l("span", {
1097
1237
  className: "absolute -top-0.5 -right-0.5 min-w-4.5 h-4.5 flex items-center justify-center rounded-full bg-primary-600 text-white text-[10px] font-bold leading-none px-1",
1098
1238
  children: r > 99 ? "99+" : r
1099
1239
  })
@@ -1106,45 +1246,45 @@ function Ce({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1106
1246
  })
1107
1247
  });
1108
1248
  }
1109
- function q({ className: e }) {
1110
- return /* @__PURE__ */ s("svg", {
1249
+ function Z({ className: e }) {
1250
+ return /* @__PURE__ */ l("svg", {
1111
1251
  xmlns: "http://www.w3.org/2000/svg",
1112
1252
  fill: "none",
1113
1253
  viewBox: "0 0 24 24",
1114
1254
  strokeWidth: 2,
1115
1255
  stroke: "currentColor",
1116
1256
  className: e,
1117
- children: /* @__PURE__ */ s("path", {
1257
+ children: /* @__PURE__ */ l("path", {
1118
1258
  strokeLinecap: "round",
1119
1259
  strokeLinejoin: "round",
1120
1260
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
1121
1261
  })
1122
1262
  });
1123
1263
  }
1124
- function we({ className: e }) {
1125
- return /* @__PURE__ */ s("svg", {
1264
+ function Ce({ className: e }) {
1265
+ return /* @__PURE__ */ l("svg", {
1126
1266
  xmlns: "http://www.w3.org/2000/svg",
1127
1267
  fill: "none",
1128
1268
  viewBox: "0 0 24 24",
1129
1269
  strokeWidth: 1.5,
1130
1270
  stroke: "currentColor",
1131
1271
  className: e,
1132
- children: /* @__PURE__ */ s("path", {
1272
+ children: /* @__PURE__ */ l("path", {
1133
1273
  strokeLinecap: "round",
1134
1274
  strokeLinejoin: "round",
1135
1275
  d: "M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
1136
1276
  })
1137
1277
  });
1138
1278
  }
1139
- function Te({ className: e }) {
1140
- return /* @__PURE__ */ s("svg", {
1279
+ function we({ className: e }) {
1280
+ return /* @__PURE__ */ l("svg", {
1141
1281
  xmlns: "http://www.w3.org/2000/svg",
1142
1282
  fill: "none",
1143
1283
  viewBox: "0 0 24 24",
1144
1284
  strokeWidth: 1.5,
1145
1285
  stroke: "currentColor",
1146
1286
  className: e,
1147
- children: /* @__PURE__ */ s("path", {
1287
+ children: /* @__PURE__ */ l("path", {
1148
1288
  strokeLinecap: "round",
1149
1289
  strokeLinejoin: "round",
1150
1290
  d: "M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.272M6 20.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm12.75 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z"
@@ -1153,9 +1293,9 @@ function Te({ className: e }) {
1153
1293
  }
1154
1294
  //#endregion
1155
1295
  //#region src/components/CategoryTree/CategoryTree.tsx
1156
- function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: o }) {
1157
- let l = e.children && e.children.length > 0, [u, d] = a(o || Y(e, t)), f = e.id === t;
1158
- return /* @__PURE__ */ c("li", { children: [/* @__PURE__ */ c("div", {
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;
1298
+ return /* @__PURE__ */ u("li", { children: [/* @__PURE__ */ u("div", {
1159
1299
  className: [
1160
1300
  "group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
1161
1301
  "transition-colors text-sm",
@@ -1164,72 +1304,72 @@ function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
1164
1304
  ].filter(Boolean).join(" "),
1165
1305
  style: i > 0 ? { marginLeft: i * 16 } : void 0,
1166
1306
  onClick: () => {
1167
- n(e), l && d((e) => !e);
1307
+ n(e), o && d((e) => !e);
1168
1308
  },
1169
1309
  role: "button",
1170
1310
  tabIndex: 0,
1171
1311
  onKeyDown: (t) => {
1172
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), n(e), l && d((e) => !e));
1312
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), n(e), o && d((e) => !e));
1173
1313
  },
1174
- "aria-expanded": l ? u : void 0,
1314
+ "aria-expanded": o ? c : void 0,
1175
1315
  children: [
1176
- l ? /* @__PURE__ */ s("span", {
1177
- className: `shrink-0 text-gray-400 transition-transform duration-150 ${u ? "rotate-90" : ""}`,
1178
- children: /* @__PURE__ */ s("svg", {
1316
+ o ? /* @__PURE__ */ l("span", {
1317
+ className: `shrink-0 text-gray-400 transition-transform duration-150 ${c ? "rotate-90" : ""}`,
1318
+ children: /* @__PURE__ */ l("svg", {
1179
1319
  xmlns: "http://www.w3.org/2000/svg",
1180
1320
  fill: "none",
1181
1321
  viewBox: "0 0 24 24",
1182
1322
  strokeWidth: 2,
1183
1323
  stroke: "currentColor",
1184
1324
  className: "w-3.5 h-3.5",
1185
- children: /* @__PURE__ */ s("path", {
1325
+ children: /* @__PURE__ */ l("path", {
1186
1326
  strokeLinecap: "round",
1187
1327
  strokeLinejoin: "round",
1188
1328
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1189
1329
  })
1190
1330
  })
1191
- }) : /* @__PURE__ */ s("span", { className: "w-3.5 shrink-0" }),
1192
- e.icon && /* @__PURE__ */ s("span", {
1331
+ }) : /* @__PURE__ */ l("span", { className: "w-3.5 shrink-0" }),
1332
+ e.icon && /* @__PURE__ */ l("span", {
1193
1333
  className: "text-base leading-none",
1194
1334
  children: e.icon
1195
1335
  }),
1196
- /* @__PURE__ */ s("span", {
1336
+ /* @__PURE__ */ l("span", {
1197
1337
  className: "flex-1 truncate",
1198
1338
  children: e.label
1199
1339
  }),
1200
- r && e.count !== void 0 && /* @__PURE__ */ s("span", {
1340
+ r && e.count !== void 0 && /* @__PURE__ */ l("span", {
1201
1341
  className: `text-xs rounded-full px-1.5 py-0.5 font-medium ${f ? "bg-primary-100 text-primary-600" : "bg-gray-100 text-gray-500"}`,
1202
1342
  children: e.count
1203
1343
  })
1204
1344
  ]
1205
- }), l && u && /* @__PURE__ */ s("ul", {
1345
+ }), o && c && /* @__PURE__ */ l("ul", {
1206
1346
  role: "group",
1207
- children: e.children.map((e) => /* @__PURE__ */ s(J, {
1347
+ children: e.children.map((e) => /* @__PURE__ */ l(Q, {
1208
1348
  node: e,
1209
1349
  activeId: t,
1210
1350
  onSelect: n,
1211
1351
  showCounts: r,
1212
1352
  depth: i + 1,
1213
- defaultExpandAll: o
1353
+ defaultExpandAll: a
1214
1354
  }, e.id))
1215
1355
  })] });
1216
1356
  }
1217
- function Y(e, t) {
1218
- return !t || !e.children ? !1 : e.children.some((e) => e.id === t || Y(e, t));
1357
+ function $(e, t) {
1358
+ return !t || !e.children ? !1 : e.children.some((e) => e.id === t || $(e, t));
1219
1359
  }
1220
- function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
1221
- let c = (e) => n?.(e);
1222
- return /* @__PURE__ */ s("nav", {
1360
+ function Te({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
1361
+ let s = (e) => n?.(e);
1362
+ return /* @__PURE__ */ l("nav", {
1223
1363
  "aria-label": "Category navigation",
1224
1364
  className: ["w-full", a].filter(Boolean).join(" "),
1225
1365
  ...o,
1226
- children: /* @__PURE__ */ s("ul", {
1366
+ children: /* @__PURE__ */ l("ul", {
1227
1367
  role: "tree",
1228
1368
  className: "space-y-0.5",
1229
- children: e.map((e) => /* @__PURE__ */ s(J, {
1369
+ children: e.map((e) => /* @__PURE__ */ l(Q, {
1230
1370
  node: e,
1231
1371
  activeId: t,
1232
- onSelect: c,
1372
+ onSelect: s,
1233
1373
  showCounts: r,
1234
1374
  depth: 0,
1235
1375
  defaultExpandAll: i
@@ -1239,59 +1379,59 @@ function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
1239
1379
  }
1240
1380
  //#endregion
1241
1381
  //#region src/components/MegaMenu/MegaMenu.tsx
1242
- function De({ item: e, onNavigate: t, onClose: n }) {
1243
- return e.columns?.length ? /* @__PURE__ */ s("div", {
1382
+ function Ee({ item: e, onNavigate: t, onClose: n }) {
1383
+ return e.columns?.length ? /* @__PURE__ */ l("div", {
1244
1384
  className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
1245
- children: /* @__PURE__ */ c("div", {
1385
+ children: /* @__PURE__ */ u("div", {
1246
1386
  className: "max-w-7xl mx-auto px-4 py-6 flex gap-8",
1247
- children: [/* @__PURE__ */ s("div", {
1387
+ children: [/* @__PURE__ */ l("div", {
1248
1388
  className: "flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6",
1249
- children: e.columns.map((e, r) => /* @__PURE__ */ c("div", { children: [e.heading && /* @__PURE__ */ s("p", {
1389
+ children: e.columns.map((e, r) => /* @__PURE__ */ u("div", { children: [e.heading && /* @__PURE__ */ l("p", {
1250
1390
  className: "text-xs font-semibold uppercase tracking-wider text-gray-400 mb-2",
1251
1391
  children: e.heading
1252
- }), /* @__PURE__ */ s("ul", {
1392
+ }), /* @__PURE__ */ l("ul", {
1253
1393
  className: "space-y-1",
1254
- children: e.items.map((e) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ c("button", {
1394
+ children: e.items.map((e) => /* @__PURE__ */ l("li", { children: /* @__PURE__ */ u("button", {
1255
1395
  className: "flex items-center gap-1.5 text-sm text-gray-700 hover:text-primary-600 transition-colors py-0.5",
1256
1396
  onClick: () => {
1257
1397
  t(e), n();
1258
1398
  },
1259
- children: [e.label, e.badge && /* @__PURE__ */ s("span", {
1399
+ children: [e.label, e.badge && /* @__PURE__ */ l("span", {
1260
1400
  className: "text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-danger-50 text-danger-600 leading-none",
1261
1401
  children: e.badge
1262
1402
  })]
1263
1403
  }) }, e.id))
1264
1404
  })] }, r))
1265
- }), e.featured && /* @__PURE__ */ s("div", {
1405
+ }), e.featured && /* @__PURE__ */ l("div", {
1266
1406
  className: "w-52 shrink-0",
1267
- children: /* @__PURE__ */ c("button", {
1407
+ children: /* @__PURE__ */ u("button", {
1268
1408
  className: "group block w-full rounded-xl overflow-hidden border border-gray-100 text-left hover:shadow-md transition-shadow",
1269
1409
  onClick: () => {
1270
1410
  t(e), n();
1271
1411
  },
1272
- children: [e.featured.image ? /* @__PURE__ */ s("img", {
1412
+ children: [e.featured.image ? /* @__PURE__ */ l("img", {
1273
1413
  src: e.featured.image,
1274
1414
  alt: e.featured.title,
1275
1415
  className: "w-full h-28 object-cover"
1276
- }) : /* @__PURE__ */ s("div", {
1416
+ }) : /* @__PURE__ */ l("div", {
1277
1417
  className: "w-full h-28 bg-linear-to-br from-primary-100 to-primary-200 flex items-center justify-center text-4xl",
1278
1418
  children: e.icon ?? "🛍️"
1279
- }), /* @__PURE__ */ c("div", {
1419
+ }), /* @__PURE__ */ u("div", {
1280
1420
  className: "p-3",
1281
1421
  children: [
1282
- e.featured.eyebrow && /* @__PURE__ */ s("p", {
1422
+ e.featured.eyebrow && /* @__PURE__ */ l("p", {
1283
1423
  className: "text-[10px] font-semibold uppercase tracking-wider text-primary-500 mb-0.5",
1284
1424
  children: e.featured.eyebrow
1285
1425
  }),
1286
- /* @__PURE__ */ s("p", {
1426
+ /* @__PURE__ */ l("p", {
1287
1427
  className: "text-sm font-semibold text-gray-900 group-hover:text-primary-600 transition-colors",
1288
1428
  children: e.featured.title
1289
1429
  }),
1290
- e.featured.description && /* @__PURE__ */ s("p", {
1430
+ e.featured.description && /* @__PURE__ */ l("p", {
1291
1431
  className: "text-xs text-gray-500 mt-0.5 line-clamp-2",
1292
1432
  children: e.featured.description
1293
1433
  }),
1294
- e.featured.cta && /* @__PURE__ */ c("span", {
1434
+ e.featured.cta && /* @__PURE__ */ u("span", {
1295
1435
  className: "inline-block mt-2 text-xs font-medium text-primary-600",
1296
1436
  children: [e.featured.cta, " →"]
1297
1437
  })
@@ -1302,56 +1442,56 @@ function De({ item: e, onNavigate: t, onClose: n }) {
1302
1442
  })
1303
1443
  }) : null;
1304
1444
  }
1305
- function Oe({ items: e, activeId: t, onNavigate: n }) {
1306
- let [r, o] = a(null), l = i(null), u = (e) => {
1307
- l.current && clearTimeout(l.current), o(e);
1445
+ function De({ items: e, activeId: t, onNavigate: n }) {
1446
+ let [r, i] = s(null), a = o(null), c = (e) => {
1447
+ a.current && clearTimeout(a.current), i(e);
1308
1448
  }, d = () => {
1309
- l.current = setTimeout(() => o(null), 120);
1449
+ a.current = setTimeout(() => i(null), 120);
1310
1450
  }, f = () => {
1311
- l.current && clearTimeout(l.current);
1451
+ a.current && clearTimeout(a.current);
1312
1452
  }, p = e.find((e) => e.id === r);
1313
- return /* @__PURE__ */ c("nav", {
1453
+ return /* @__PURE__ */ u("nav", {
1314
1454
  "aria-label": "Main navigation",
1315
1455
  className: "relative bg-white border-b border-gray-100",
1316
1456
  onMouseLeave: d,
1317
- children: [/* @__PURE__ */ s("div", {
1457
+ children: [/* @__PURE__ */ l("div", {
1318
1458
  className: "max-w-7xl mx-auto px-4",
1319
- children: /* @__PURE__ */ s("ul", {
1459
+ children: /* @__PURE__ */ l("ul", {
1320
1460
  className: "flex items-center gap-0",
1321
1461
  role: "menubar",
1322
1462
  children: e.map((e) => {
1323
- let i = !!e.columns?.length, a = r === e.id, l = t === e.id;
1324
- return /* @__PURE__ */ s("li", {
1463
+ let a = !!e.columns?.length, o = r === e.id, s = t === e.id;
1464
+ return /* @__PURE__ */ l("li", {
1325
1465
  role: "none",
1326
- children: /* @__PURE__ */ c("button", {
1466
+ children: /* @__PURE__ */ u("button", {
1327
1467
  role: "menuitem",
1328
- "aria-haspopup": i ? "true" : void 0,
1329
- "aria-expanded": i ? a : void 0,
1468
+ "aria-haspopup": a ? "true" : void 0,
1469
+ "aria-expanded": a ? o : void 0,
1330
1470
  className: [
1331
1471
  "flex items-center gap-1.5 px-4 py-3.5 text-sm font-medium transition-colors relative",
1332
1472
  "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500",
1333
- l || a ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1334
- a ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1473
+ s || o ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1474
+ o ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1335
1475
  ].filter(Boolean).join(" "),
1336
- onMouseEnter: () => i ? u(e.id) : o(null),
1337
- onFocus: () => i && u(e.id),
1476
+ onMouseEnter: () => a ? c(e.id) : i(null),
1477
+ onFocus: () => a && c(e.id),
1338
1478
  onClick: () => {
1339
- i || (n?.(e), o(null));
1479
+ a || (n?.(e), i(null));
1340
1480
  },
1341
1481
  children: [
1342
- e.icon && /* @__PURE__ */ s("span", {
1482
+ e.icon && /* @__PURE__ */ l("span", {
1343
1483
  className: "text-base leading-none",
1344
1484
  children: e.icon
1345
1485
  }),
1346
1486
  e.label,
1347
- i && /* @__PURE__ */ s("svg", {
1487
+ a && /* @__PURE__ */ l("svg", {
1348
1488
  xmlns: "http://www.w3.org/2000/svg",
1349
1489
  fill: "none",
1350
1490
  viewBox: "0 0 24 24",
1351
1491
  strokeWidth: 2,
1352
1492
  stroke: "currentColor",
1353
- className: `w-3.5 h-3.5 transition-transform duration-150 ${a ? "rotate-180" : ""}`,
1354
- children: /* @__PURE__ */ s("path", {
1493
+ className: `w-3.5 h-3.5 transition-transform duration-150 ${o ? "rotate-180" : ""}`,
1494
+ children: /* @__PURE__ */ l("path", {
1355
1495
  strokeLinecap: "round",
1356
1496
  strokeLinejoin: "round",
1357
1497
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
@@ -1362,35 +1502,35 @@ function Oe({ items: e, activeId: t, onNavigate: n }) {
1362
1502
  }, e.id);
1363
1503
  })
1364
1504
  })
1365
- }), p?.columns?.length && /* @__PURE__ */ s("div", {
1505
+ }), p?.columns?.length && /* @__PURE__ */ l("div", {
1366
1506
  onMouseEnter: f,
1367
1507
  onMouseLeave: d,
1368
- children: /* @__PURE__ */ s(De, {
1508
+ children: /* @__PURE__ */ l(Ee, {
1369
1509
  item: p,
1370
1510
  onNavigate: (e) => n?.(e),
1371
- onClose: () => o(null)
1511
+ onClose: () => i(null)
1372
1512
  })
1373
1513
  })]
1374
1514
  });
1375
1515
  }
1376
1516
  //#endregion
1377
1517
  //#region src/components/BannerCarousel/BannerCarousel.tsx
1378
- function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1379
- let [m, h] = a(0), [g, _] = a(!1), v = i(null), y = i(null), b = e.length, x = t((e) => {
1518
+ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1519
+ let [m, h] = s(0), [g, _] = s(!1), v = o(null), y = o(null), b = e.length, x = n((e) => {
1380
1520
  h((e % b + b) % b);
1381
- }, [b]), S = () => x(m - 1), C = t(() => x(m + 1), [m, x]);
1382
- n(() => {
1383
- if (!(!r || g || b <= 1)) return v.current = setInterval(C, l), () => {
1521
+ }, [b]), S = () => x(m - 1), C = n(() => x(m + 1), [m, x]);
1522
+ r(() => {
1523
+ if (!(!t || g || b <= 1)) return v.current = setInterval(C, i), () => {
1384
1524
  v.current && clearInterval(v.current);
1385
1525
  };
1386
1526
  }, [
1387
- r,
1527
+ t,
1388
1528
  g,
1389
- l,
1529
+ i,
1390
1530
  C,
1391
1531
  b
1392
1532
  ]);
1393
- let w = i(null), T = (e) => {
1533
+ let w = o(null), T = (e) => {
1394
1534
  w.current = e.touches[0].clientX;
1395
1535
  }, E = (e) => {
1396
1536
  if (w.current === null) return;
@@ -1399,7 +1539,7 @@ function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u
1399
1539
  };
1400
1540
  if (b === 0) return null;
1401
1541
  let D = e[m], O = D.textColor === "light" || !D.textColor;
1402
- return /* @__PURE__ */ c("div", {
1542
+ return /* @__PURE__ */ u("div", {
1403
1543
  className: ["relative overflow-hidden rounded-xl", f].filter(Boolean).join(" "),
1404
1544
  style: { aspectRatio: p },
1405
1545
  onMouseEnter: () => _(!0),
@@ -1407,41 +1547,41 @@ function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u
1407
1547
  onTouchStart: T,
1408
1548
  onTouchEnd: E,
1409
1549
  children: [
1410
- /* @__PURE__ */ s("div", {
1550
+ /* @__PURE__ */ l("div", {
1411
1551
  ref: y,
1412
1552
  className: "relative w-full h-full",
1413
- children: e.map((e, t) => /* @__PURE__ */ c("div", {
1553
+ children: e.map((e, t) => /* @__PURE__ */ u("div", {
1414
1554
  "aria-hidden": t !== m,
1415
1555
  className: ["absolute inset-0 transition-opacity duration-700", t === m ? "opacity-100 z-10" : "opacity-0 z-0"].join(" "),
1416
1556
  style: { background: e.backgroundImage ? `url(${e.backgroundImage}) center/cover no-repeat` : e.backgroundColor ?? "linear-gradient(135deg, #1d4ed8 0%, #7c3aed 100%)" },
1417
- children: [e.backgroundImage && /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" }), /* @__PURE__ */ c("div", {
1557
+ children: [e.backgroundImage && /* @__PURE__ */ l("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" }), /* @__PURE__ */ u("div", {
1418
1558
  className: "relative z-10 h-full flex items-center px-8 md:px-12 gap-8",
1419
- children: [/* @__PURE__ */ c("div", {
1559
+ children: [/* @__PURE__ */ u("div", {
1420
1560
  className: "flex-1 max-w-lg",
1421
1561
  children: [
1422
- e.eyebrow && /* @__PURE__ */ s("p", {
1562
+ e.eyebrow && /* @__PURE__ */ l("p", {
1423
1563
  className: `text-xs font-semibold uppercase tracking-widest mb-2 ${O ? "text-white/70" : "text-gray-500"}`,
1424
1564
  children: e.eyebrow
1425
1565
  }),
1426
- /* @__PURE__ */ s("h2", {
1566
+ /* @__PURE__ */ l("h2", {
1427
1567
  className: `text-2xl md:text-3xl lg:text-4xl font-bold leading-tight ${O ? "text-white" : "text-gray-900"}`,
1428
1568
  children: e.title
1429
1569
  }),
1430
- e.subtitle && /* @__PURE__ */ s("p", {
1570
+ e.subtitle && /* @__PURE__ */ l("p", {
1431
1571
  className: `mt-2 text-sm md:text-base ${O ? "text-white/80" : "text-gray-600"}`,
1432
1572
  children: e.subtitle
1433
1573
  }),
1434
- e.ctaLabel && /* @__PURE__ */ c("button", {
1574
+ e.ctaLabel && /* @__PURE__ */ u("button", {
1435
1575
  onClick: e.onCtaClick,
1436
1576
  className: ["mt-5 inline-flex items-center gap-2 px-5 py-2.5 rounded-lg text-sm font-semibold transition-all", O ? "bg-white text-gray-900 hover:bg-gray-100" : "bg-primary-600 text-white hover:bg-primary-700"].join(" "),
1437
- children: [e.ctaLabel, /* @__PURE__ */ s("svg", {
1577
+ children: [e.ctaLabel, /* @__PURE__ */ l("svg", {
1438
1578
  xmlns: "http://www.w3.org/2000/svg",
1439
1579
  fill: "none",
1440
1580
  viewBox: "0 0 24 24",
1441
1581
  strokeWidth: 2,
1442
1582
  stroke: "currentColor",
1443
1583
  className: "w-4 h-4",
1444
- children: /* @__PURE__ */ s("path", {
1584
+ children: /* @__PURE__ */ l("path", {
1445
1585
  strokeLinecap: "round",
1446
1586
  strokeLinejoin: "round",
1447
1587
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -1449,9 +1589,9 @@ function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u
1449
1589
  })]
1450
1590
  })
1451
1591
  ]
1452
- }), e.sideImage && /* @__PURE__ */ s("div", {
1592
+ }), e.sideImage && /* @__PURE__ */ l("div", {
1453
1593
  className: "hidden md:block flex-1 h-full flex items-end justify-end overflow-hidden",
1454
- children: /* @__PURE__ */ s("img", {
1594
+ children: /* @__PURE__ */ l("img", {
1455
1595
  src: e.sideImage,
1456
1596
  alt: "",
1457
1597
  className: "h-full w-auto object-contain object-bottom drop-shadow-2xl"
@@ -1460,54 +1600,54 @@ function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u
1460
1600
  })]
1461
1601
  }, e.id))
1462
1602
  }),
1463
- u && b > 1 && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("button", {
1603
+ a && b > 1 && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("button", {
1464
1604
  onClick: S,
1465
1605
  className: "absolute left-3 top-1/2 -translate-y-1/2 z-20 w-9 h-9 flex items-center justify-center rounded-full bg-black/30 text-white hover:bg-black/50 transition-colors backdrop-blur-sm",
1466
1606
  "aria-label": "Previous banner",
1467
- children: /* @__PURE__ */ s("svg", {
1607
+ children: /* @__PURE__ */ l("svg", {
1468
1608
  xmlns: "http://www.w3.org/2000/svg",
1469
1609
  fill: "none",
1470
1610
  viewBox: "0 0 24 24",
1471
1611
  strokeWidth: 2,
1472
1612
  stroke: "currentColor",
1473
1613
  className: "w-5 h-5",
1474
- children: /* @__PURE__ */ s("path", {
1614
+ children: /* @__PURE__ */ l("path", {
1475
1615
  strokeLinecap: "round",
1476
1616
  strokeLinejoin: "round",
1477
1617
  d: "M15.75 19.5L8.25 12l7.5-7.5"
1478
1618
  })
1479
1619
  })
1480
- }), /* @__PURE__ */ s("button", {
1620
+ }), /* @__PURE__ */ l("button", {
1481
1621
  onClick: C,
1482
1622
  className: "absolute right-3 top-1/2 -translate-y-1/2 z-20 w-9 h-9 flex items-center justify-center rounded-full bg-black/30 text-white hover:bg-black/50 transition-colors backdrop-blur-sm",
1483
1623
  "aria-label": "Next banner",
1484
- children: /* @__PURE__ */ s("svg", {
1624
+ children: /* @__PURE__ */ l("svg", {
1485
1625
  xmlns: "http://www.w3.org/2000/svg",
1486
1626
  fill: "none",
1487
1627
  viewBox: "0 0 24 24",
1488
1628
  strokeWidth: 2,
1489
1629
  stroke: "currentColor",
1490
1630
  className: "w-5 h-5",
1491
- children: /* @__PURE__ */ s("path", {
1631
+ children: /* @__PURE__ */ l("path", {
1492
1632
  strokeLinecap: "round",
1493
1633
  strokeLinejoin: "round",
1494
1634
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1495
1635
  })
1496
1636
  })
1497
1637
  })] }),
1498
- d && b > 1 && /* @__PURE__ */ s("div", {
1638
+ d && b > 1 && /* @__PURE__ */ l("div", {
1499
1639
  className: "absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex gap-1.5",
1500
- children: e.map((e, t) => /* @__PURE__ */ s("button", {
1640
+ children: e.map((e, t) => /* @__PURE__ */ l("button", {
1501
1641
  onClick: () => x(t),
1502
1642
  "aria-label": `Go to slide ${t + 1}`,
1503
1643
  className: ["rounded-full transition-all duration-300", t === m ? "w-5 h-2 bg-white" : "w-2 h-2 bg-white/50 hover:bg-white/80"].join(" ")
1504
1644
  }, t))
1505
1645
  }),
1506
- r && b > 1 && /* @__PURE__ */ s("div", {
1646
+ t && b > 1 && /* @__PURE__ */ l("div", {
1507
1647
  className: "absolute bottom-0 left-0 right-0 h-0.5 bg-white/20 z-20",
1508
- children: /* @__PURE__ */ s("div", {
1648
+ children: /* @__PURE__ */ l("div", {
1509
1649
  className: `h-full bg-white/60 ${g ? "" : "animate-progress"}`,
1510
- style: { animation: g ? "none" : `progress ${l}ms linear` }
1650
+ style: { animation: g ? "none" : `progress ${i}ms linear` }
1511
1651
  }, `${m}-${g}`)
1512
1652
  })
1513
1653
  ]
@@ -1515,23 +1655,23 @@ function ke({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u
1515
1655
  }
1516
1656
  //#endregion
1517
1657
  //#region src/components/ProductCard/ProductCard.tsx
1518
- function Ae({ filled: e }) {
1519
- return /* @__PURE__ */ s("svg", {
1658
+ function ke({ filled: e }) {
1659
+ return /* @__PURE__ */ l("svg", {
1520
1660
  xmlns: "http://www.w3.org/2000/svg",
1521
1661
  viewBox: "0 0 24 24",
1522
1662
  className: `w-3.5 h-3.5 ${e ? "fill-amber-400 stroke-amber-400" : "fill-gray-200 stroke-gray-300"}`,
1523
1663
  strokeWidth: 1,
1524
- children: /* @__PURE__ */ s("path", {
1664
+ children: /* @__PURE__ */ l("path", {
1525
1665
  strokeLinecap: "round",
1526
1666
  strokeLinejoin: "round",
1527
1667
  d: "M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z"
1528
1668
  })
1529
1669
  });
1530
1670
  }
1531
- function je({ value: e, count: t }) {
1532
- return /* @__PURE__ */ c("div", {
1671
+ function Ae({ value: e, count: t }) {
1672
+ return /* @__PURE__ */ u("div", {
1533
1673
  className: "flex items-center gap-1",
1534
- children: [/* @__PURE__ */ s("div", {
1674
+ children: [/* @__PURE__ */ l("div", {
1535
1675
  className: "flex gap-0.5",
1536
1676
  children: [
1537
1677
  1,
@@ -1539,8 +1679,8 @@ function je({ value: e, count: t }) {
1539
1679
  3,
1540
1680
  4,
1541
1681
  5
1542
- ].map((t) => /* @__PURE__ */ s(Ae, { filled: t <= Math.round(e) }, t))
1543
- }), t !== void 0 && /* @__PURE__ */ c("span", {
1682
+ ].map((t) => /* @__PURE__ */ l(ke, { filled: t <= Math.round(e) }, t))
1683
+ }), t !== void 0 && /* @__PURE__ */ u("span", {
1544
1684
  className: "text-xs text-gray-400",
1545
1685
  children: [
1546
1686
  "(",
@@ -1550,54 +1690,54 @@ function je({ value: e, count: t }) {
1550
1690
  })]
1551
1691
  });
1552
1692
  }
1553
- function Me(e) {
1693
+ function je(e) {
1554
1694
  let t = e.toLowerCase();
1555
1695
  return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
1556
1696
  }
1557
- function X(e, t = "Kč") {
1697
+ function Me(e, t = "Kč") {
1558
1698
  return `${e.toLocaleString("cs-CZ")} ${t}`;
1559
1699
  }
1560
1700
  function Ne(e, t) {
1561
1701
  return Math.round((1 - t / e) * 100);
1562
1702
  }
1563
- function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: i, size: o = "default", className: l = "" }) {
1564
- let [u, d] = a(!1), [f, p] = a(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1565
- return /* @__PURE__ */ c("article", {
1703
+ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: i, size: a = "default", className: o = "" }) {
1704
+ let [c, d] = s(!1), [f, p] = s(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1705
+ return /* @__PURE__ */ u("article", {
1566
1706
  className: [
1567
1707
  "group relative flex flex-col bg-white rounded-xl border border-gray-200",
1568
1708
  "hover:shadow-md transition-shadow duration-200 overflow-hidden cursor-pointer",
1569
- l
1709
+ o
1570
1710
  ].filter(Boolean).join(" "),
1571
1711
  onClick: () => i?.(e),
1572
1712
  onMouseEnter: () => d(!0),
1573
1713
  onMouseLeave: () => d(!1),
1574
- children: [/* @__PURE__ */ c("div", {
1575
- className: `relative overflow-hidden bg-gray-50 ${o === "compact" ? "aspect-square" : "aspect-4/3"}`,
1714
+ children: [/* @__PURE__ */ u("div", {
1715
+ className: `relative overflow-hidden bg-gray-50 ${a === "compact" ? "aspect-square" : "aspect-4/3"}`,
1576
1716
  children: [
1577
- e.image ? /* @__PURE__ */ s("img", {
1578
- src: u && e.imageHover ? e.imageHover : e.image,
1717
+ e.image ? /* @__PURE__ */ l("img", {
1718
+ src: c && e.imageHover ? e.imageHover : e.image,
1579
1719
  alt: e.name,
1580
1720
  className: "w-full h-full object-contain p-4 transition-transform duration-300 group-hover:scale-105"
1581
- }) : /* @__PURE__ */ s("div", {
1721
+ }) : /* @__PURE__ */ l("div", {
1582
1722
  className: "w-full h-full flex items-center justify-center text-5xl bg-linear-to-br from-gray-100 to-gray-200",
1583
1723
  children: "🛍️"
1584
1724
  }),
1585
- e.badge && /* @__PURE__ */ s("div", {
1725
+ e.badge && /* @__PURE__ */ l("div", {
1586
1726
  className: "absolute top-2 left-2",
1587
- children: /* @__PURE__ */ s(k, {
1588
- variant: Me(e.badge),
1727
+ children: /* @__PURE__ */ l(j, {
1728
+ variant: je(e.badge),
1589
1729
  size: "sm",
1590
1730
  children: e.badge === "sale" && m ? `-${Ne(e.originalPrice, e.price)}%` : e.badge
1591
1731
  })
1592
1732
  }),
1593
- e.inStock === !1 && /* @__PURE__ */ s("div", {
1733
+ e.inStock === !1 && /* @__PURE__ */ l("div", {
1594
1734
  className: "absolute inset-0 bg-white/70 flex items-center justify-center",
1595
- children: /* @__PURE__ */ s("span", {
1735
+ children: /* @__PURE__ */ l("span", {
1596
1736
  className: "text-sm font-semibold text-gray-500 bg-white/90 px-3 py-1 rounded-full border border-gray-200",
1597
1737
  children: "Vyprodáno"
1598
1738
  })
1599
1739
  }),
1600
- /* @__PURE__ */ s("button", {
1740
+ /* @__PURE__ */ l("button", {
1601
1741
  onClick: (t) => {
1602
1742
  t.stopPropagation(), n?.(e);
1603
1743
  },
@@ -1608,22 +1748,22 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1608
1748
  "opacity-0 group-hover:opacity-100 focus:opacity-100",
1609
1749
  r ? "text-danger-500" : "text-gray-400 hover:text-danger-400"
1610
1750
  ].join(" "),
1611
- children: /* @__PURE__ */ s("svg", {
1751
+ children: /* @__PURE__ */ l("svg", {
1612
1752
  xmlns: "http://www.w3.org/2000/svg",
1613
1753
  viewBox: "0 0 24 24",
1614
1754
  strokeWidth: 1.5,
1615
1755
  stroke: "currentColor",
1616
1756
  className: `w-4 h-4 ${r ? "fill-current" : "fill-none"}`,
1617
- children: /* @__PURE__ */ s("path", {
1757
+ children: /* @__PURE__ */ l("path", {
1618
1758
  strokeLinecap: "round",
1619
1759
  strokeLinejoin: "round",
1620
1760
  d: "M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"
1621
1761
  })
1622
1762
  })
1623
1763
  }),
1624
- /* @__PURE__ */ s("div", {
1625
- className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200", u ? "translate-y-0" : "translate-y-full"].join(" "),
1626
- children: /* @__PURE__ */ s(S, {
1764
+ /* @__PURE__ */ l("div", {
1765
+ className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200", c ? "translate-y-0" : "translate-y-full"].join(" "),
1766
+ children: /* @__PURE__ */ l(w, {
1627
1767
  variant: "primary",
1628
1768
  size: "sm",
1629
1769
  fullWidth: !0,
@@ -1633,16 +1773,16 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1633
1773
  n.stopPropagation(), t?.(e), p(!0), setTimeout(() => p(!1), 1500);
1634
1774
  },
1635
1775
  className: "shadow-lg",
1636
- children: f ? /* @__PURE__ */ c("span", {
1776
+ children: f ? /* @__PURE__ */ u("span", {
1637
1777
  className: "flex items-center gap-1.5",
1638
- children: [/* @__PURE__ */ s("svg", {
1778
+ children: [/* @__PURE__ */ l("svg", {
1639
1779
  xmlns: "http://www.w3.org/2000/svg",
1640
1780
  fill: "none",
1641
1781
  viewBox: "0 0 24 24",
1642
1782
  strokeWidth: 2,
1643
1783
  stroke: "currentColor",
1644
1784
  className: "w-4 h-4",
1645
- children: /* @__PURE__ */ s("path", {
1785
+ children: /* @__PURE__ */ l("path", {
1646
1786
  strokeLinecap: "round",
1647
1787
  strokeLinejoin: "round",
1648
1788
  d: "M4.5 12.75l6 6 9-13.5"
@@ -1652,36 +1792,36 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1652
1792
  })
1653
1793
  })
1654
1794
  ]
1655
- }), /* @__PURE__ */ c("div", {
1656
- className: `flex flex-col gap-1.5 ${o === "compact" ? "p-3" : "p-4"}`,
1795
+ }), /* @__PURE__ */ u("div", {
1796
+ className: `flex flex-col gap-1.5 ${a === "compact" ? "p-3" : "p-4"}`,
1657
1797
  children: [
1658
- e.variants && e.variants.length > 0 && /* @__PURE__ */ c("div", {
1798
+ e.variants && e.variants.length > 0 && /* @__PURE__ */ u("div", {
1659
1799
  className: "flex gap-1",
1660
- children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ s("span", {
1800
+ children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ l("span", {
1661
1801
  title: e.label,
1662
1802
  className: "w-4 h-4 rounded-full border border-gray-300 shrink-0",
1663
1803
  style: { backgroundColor: e.color ?? "#ccc" }
1664
- }, e.id)), e.variants.length > 5 && /* @__PURE__ */ c("span", {
1804
+ }, e.id)), e.variants.length > 5 && /* @__PURE__ */ u("span", {
1665
1805
  className: "text-xs text-gray-400",
1666
1806
  children: ["+", e.variants.length - 5]
1667
1807
  })]
1668
1808
  }),
1669
- /* @__PURE__ */ s("h3", {
1670
- className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${o === "compact" ? "text-xs" : "text-sm"}`,
1809
+ /* @__PURE__ */ l("h3", {
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"}`,
1671
1811
  children: e.name
1672
1812
  }),
1673
- e.rating !== void 0 && /* @__PURE__ */ s(je, {
1813
+ e.rating !== void 0 && /* @__PURE__ */ l(Ae, {
1674
1814
  value: e.rating,
1675
1815
  count: e.reviewCount
1676
1816
  }),
1677
- /* @__PURE__ */ c("div", {
1817
+ /* @__PURE__ */ u("div", {
1678
1818
  className: "flex items-baseline gap-2 mt-auto pt-1",
1679
- children: [/* @__PURE__ */ s("span", {
1680
- className: `font-bold text-gray-900 ${o === "compact" ? "text-base" : "text-lg"}`,
1681
- children: X(e.price, e.currency)
1682
- }), m && /* @__PURE__ */ s("span", {
1819
+ children: [/* @__PURE__ */ l("span", {
1820
+ className: `font-bold text-gray-900 ${a === "compact" ? "text-base" : "text-lg"}`,
1821
+ children: Me(e.price, e.currency)
1822
+ }), m && /* @__PURE__ */ l("span", {
1683
1823
  className: "text-sm text-gray-400 line-through",
1684
- children: X(e.originalPrice, e.currency)
1824
+ children: Me(e.originalPrice, e.currency)
1685
1825
  })]
1686
1826
  })
1687
1827
  ]
@@ -1690,12 +1830,12 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1690
1830
  }
1691
1831
  //#endregion
1692
1832
  //#region src/components/ProductGrid/ProductGrid.tsx
1693
- var Q = {
1833
+ var Fe = {
1694
1834
  2: "grid-cols-2",
1695
1835
  3: "grid-cols-2 md:grid-cols-3",
1696
1836
  4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
1697
1837
  5: "grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"
1698
- }, Pe = [
1838
+ }, Ie = [
1699
1839
  {
1700
1840
  value: "newest",
1701
1841
  label: "Nejnovější"
@@ -1717,50 +1857,50 @@ var Q = {
1717
1857
  label: "Bestsellery"
1718
1858
  }
1719
1859
  ];
1720
- function Fe() {
1721
- return /* @__PURE__ */ c("div", {
1860
+ function Le() {
1861
+ return /* @__PURE__ */ u("div", {
1722
1862
  className: "rounded-xl border border-gray-100 overflow-hidden animate-pulse",
1723
- children: [/* @__PURE__ */ s("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ c("div", {
1863
+ children: [/* @__PURE__ */ l("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ u("div", {
1724
1864
  className: "p-4 space-y-2",
1725
1865
  children: [
1726
- /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1727
- /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1728
- /* @__PURE__ */ s("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1866
+ /* @__PURE__ */ l("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1867
+ /* @__PURE__ */ l("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1868
+ /* @__PURE__ */ l("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1729
1869
  ]
1730
1870
  })]
1731
1871
  });
1732
1872
  }
1733
- function Ie({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage: i = 20, columns: a = 4, sortOptions: o = Pe, selectedSort: l, onSortChange: u, activeFilters: d = [], onRemoveFilter: f, onClearFilters: p, loading: m = !1, emptyState: h, onAddToCart: g, onWishlistToggle: _, onProductClick: v, wishlisted: y = [], className: b = "" }) {
1873
+ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage: i = 20, columns: a = 4, sortOptions: o = Ie, selectedSort: s, onSortChange: c, activeFilters: d = [], onRemoveFilter: f, onClearFilters: p, loading: m = !1, emptyState: h, onAddToCart: g, onWishlistToggle: _, onProductClick: v, wishlisted: y = [], className: b = "" }) {
1734
1874
  let x = t ? Math.ceil(t / i) : void 0, S = a >= 5 ? "compact" : "default";
1735
- return /* @__PURE__ */ c("div", {
1875
+ return /* @__PURE__ */ u("div", {
1736
1876
  className: ["w-full", b].filter(Boolean).join(" "),
1737
1877
  children: [
1738
- /* @__PURE__ */ c("div", {
1878
+ /* @__PURE__ */ u("div", {
1739
1879
  className: "flex flex-wrap items-center justify-between gap-3 mb-4",
1740
- children: [/* @__PURE__ */ c("div", {
1880
+ children: [/* @__PURE__ */ u("div", {
1741
1881
  className: "flex flex-wrap items-center gap-2",
1742
1882
  children: [
1743
- t !== void 0 && /* @__PURE__ */ c("span", {
1883
+ t !== void 0 && /* @__PURE__ */ u("span", {
1744
1884
  className: "text-sm text-gray-500",
1745
- children: [/* @__PURE__ */ s("span", {
1885
+ children: [/* @__PURE__ */ l("span", {
1746
1886
  className: "font-semibold text-gray-900",
1747
1887
  children: t
1748
1888
  }), " produktů"]
1749
1889
  }),
1750
- d.map((e) => /* @__PURE__ */ c("span", {
1890
+ d.map((e) => /* @__PURE__ */ u("span", {
1751
1891
  className: "inline-flex items-center gap-1 text-xs bg-primary-50 text-primary-700 border border-primary-200 rounded-full px-2.5 py-1",
1752
- children: [e, /* @__PURE__ */ s("button", {
1892
+ children: [e, /* @__PURE__ */ l("button", {
1753
1893
  onClick: () => f?.(e),
1754
1894
  "aria-label": `Remove filter ${e}`,
1755
1895
  className: "hover:text-primary-900 transition-colors",
1756
- children: /* @__PURE__ */ s("svg", {
1896
+ children: /* @__PURE__ */ l("svg", {
1757
1897
  xmlns: "http://www.w3.org/2000/svg",
1758
1898
  fill: "none",
1759
1899
  viewBox: "0 0 24 24",
1760
1900
  strokeWidth: 2,
1761
1901
  stroke: "currentColor",
1762
1902
  className: "w-3 h-3",
1763
- children: /* @__PURE__ */ s("path", {
1903
+ children: /* @__PURE__ */ l("path", {
1764
1904
  strokeLinecap: "round",
1765
1905
  strokeLinejoin: "round",
1766
1906
  d: "M6 18L18 6M6 6l12 12"
@@ -1768,50 +1908,50 @@ function Ie({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1768
1908
  })
1769
1909
  })]
1770
1910
  }, e)),
1771
- d.length > 1 && /* @__PURE__ */ s("button", {
1911
+ d.length > 1 && /* @__PURE__ */ l("button", {
1772
1912
  onClick: p,
1773
1913
  className: "text-xs text-gray-400 hover:text-gray-600 underline underline-offset-2 transition-colors",
1774
1914
  children: "Zrušit vše"
1775
1915
  })
1776
1916
  ]
1777
- }), /* @__PURE__ */ s(E, {
1917
+ }), /* @__PURE__ */ l(O, {
1778
1918
  options: o,
1779
- value: l ?? "",
1780
- onChange: (e) => u?.(e.target.value),
1919
+ value: s ?? "",
1920
+ onChange: (e) => c?.(e.target.value),
1781
1921
  "aria-label": "Sort products",
1782
1922
  className: "text-sm"
1783
1923
  })]
1784
1924
  }),
1785
- m ? /* @__PURE__ */ s("div", {
1786
- className: `grid gap-4 ${Q[a]}`,
1787
- children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ s(Fe, {}, t))
1788
- }) : e.length === 0 ? /* @__PURE__ */ s("div", {
1925
+ m ? /* @__PURE__ */ l("div", {
1926
+ className: `grid gap-4 ${Fe[a]}`,
1927
+ children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ l(Le, {}, t))
1928
+ }) : e.length === 0 ? /* @__PURE__ */ l("div", {
1789
1929
  className: "py-16 text-center",
1790
- children: h ?? /* @__PURE__ */ c("div", {
1930
+ children: h ?? /* @__PURE__ */ u("div", {
1791
1931
  className: "space-y-2",
1792
1932
  children: [
1793
- /* @__PURE__ */ s("p", {
1933
+ /* @__PURE__ */ l("p", {
1794
1934
  className: "text-4xl",
1795
1935
  children: "🔍"
1796
1936
  }),
1797
- /* @__PURE__ */ s("p", {
1937
+ /* @__PURE__ */ l("p", {
1798
1938
  className: "font-semibold text-gray-900",
1799
1939
  children: "Žádné produkty nenalezeny"
1800
1940
  }),
1801
- /* @__PURE__ */ s("p", {
1941
+ /* @__PURE__ */ l("p", {
1802
1942
  className: "text-sm text-gray-500",
1803
1943
  children: "Zkuste upravit filtry nebo hledat jinak."
1804
1944
  }),
1805
- d.length > 0 && /* @__PURE__ */ s("button", {
1945
+ d.length > 0 && /* @__PURE__ */ l("button", {
1806
1946
  onClick: p,
1807
1947
  className: "mt-3 text-sm text-primary-600 hover:underline",
1808
1948
  children: "Zrušit všechny filtry"
1809
1949
  })
1810
1950
  ]
1811
1951
  })
1812
- }) : /* @__PURE__ */ s("div", {
1813
- className: `grid gap-4 ${Q[a]}`,
1814
- children: e.map((e) => /* @__PURE__ */ s(Z, {
1952
+ }) : /* @__PURE__ */ l("div", {
1953
+ className: `grid gap-4 ${Fe[a]}`,
1954
+ children: e.map((e) => /* @__PURE__ */ l(Pe, {
1815
1955
  product: e,
1816
1956
  size: S,
1817
1957
  onAddToCart: g,
@@ -1820,9 +1960,9 @@ function Ie({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1820
1960
  isWishlisted: y.includes(e.id)
1821
1961
  }, e.id))
1822
1962
  }),
1823
- x && x > 1 && r && /* @__PURE__ */ s("div", {
1963
+ x && x > 1 && r && /* @__PURE__ */ l("div", {
1824
1964
  className: "flex justify-center mt-8",
1825
- children: /* @__PURE__ */ s(G, {
1965
+ children: /* @__PURE__ */ l(Y, {
1826
1966
  page: n,
1827
1967
  totalPages: x,
1828
1968
  onPageChange: r
@@ -1833,14 +1973,14 @@ function Ie({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1833
1973
  }
1834
1974
  //#endregion
1835
1975
  //#region src/components/CallToAction/CallToAction.tsx
1836
- var Le = {
1976
+ var ze = {
1837
1977
  default: "bg-gray-50 border border-gray-200",
1838
1978
  primary: "bg-primary-600",
1839
1979
  dark: "bg-gray-900",
1840
1980
  gradient: "bg-linear-to-br from-primary-600 via-primary-700 to-violet-700",
1841
1981
  outline: "bg-white border-2 border-primary-600",
1842
1982
  image: "relative overflow-hidden"
1843
- }, Re = {
1983
+ }, Be = {
1844
1984
  default: {
1845
1985
  eyebrow: "text-primary-600",
1846
1986
  title: "text-gray-900",
@@ -1871,7 +2011,7 @@ var Le = {
1871
2011
  title: "text-white",
1872
2012
  description: "text-white/80"
1873
2013
  }
1874
- }, ze = {
2014
+ }, Ve = {
1875
2015
  sm: {
1876
2016
  wrapper: "px-6 py-6 rounded-xl",
1877
2017
  title: "text-xl font-bold",
@@ -1896,7 +2036,7 @@ var Le = {
1896
2036
  description: "text-xl",
1897
2037
  eyebrow: "text-sm"
1898
2038
  }
1899
- }, Be = {
2039
+ }, He = {
1900
2040
  left: {
1901
2041
  wrapper: "items-start text-left",
1902
2042
  actions: "justify-start"
@@ -1910,9 +2050,9 @@ var Le = {
1910
2050
  actions: "justify-end"
1911
2051
  }
1912
2052
  };
1913
- function Ve({ eyebrow: e, title: t, description: n, actions: r = [], align: i = "center", layout: a = "stacked", size: o = "md", variant: l = "default", background: u, backgroundImage: d, media: f, className: p = "", style: m }) {
1914
- let h = Re[l], g = ze[o], _ = Be[i], v = a === "inline", y = {
1915
- ...u ? { background: u } : {},
2053
+ function Ue({ eyebrow: e, title: t, description: n, actions: r = [], align: i = "center", layout: a = "stacked", size: o = "md", variant: s = "default", background: c, backgroundImage: d, media: f, className: p = "", style: m }) {
2054
+ let h = Be[s], g = Ve[o], _ = He[i], v = a === "inline", y = {
2055
+ ...c ? { background: c } : {},
1916
2056
  ...d ? {
1917
2057
  backgroundImage: `url(${d})`,
1918
2058
  backgroundSize: "cover",
@@ -1920,48 +2060,48 @@ function Ve({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1920
2060
  } : {},
1921
2061
  ...m
1922
2062
  };
1923
- return /* @__PURE__ */ c("div", {
2063
+ return /* @__PURE__ */ u("div", {
1924
2064
  className: [
1925
2065
  "w-full",
1926
- Le[l],
2066
+ ze[s],
1927
2067
  g.wrapper,
1928
2068
  p
1929
2069
  ].filter(Boolean).join(" "),
1930
2070
  style: Object.keys(y).length ? y : void 0,
1931
- children: [(l === "image" || d) && /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ c("div", {
2071
+ children: [(s === "image" || d) && /* @__PURE__ */ l("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ u("div", {
1932
2072
  className: `relative ${v ? "flex flex-wrap items-center justify-between gap-6" : `flex flex-col gap-4 ${_.wrapper}`}`,
1933
2073
  children: [
1934
- /* @__PURE__ */ c("div", {
2074
+ /* @__PURE__ */ u("div", {
1935
2075
  className: `flex flex-col gap-2 ${v ? "flex-1 min-w-0" : _.wrapper}`,
1936
2076
  children: [
1937
- e && /* @__PURE__ */ s("p", {
2077
+ e && /* @__PURE__ */ l("p", {
1938
2078
  className: `font-semibold uppercase tracking-widest ${g.eyebrow} ${h.eyebrow}`,
1939
2079
  children: e
1940
2080
  }),
1941
- /* @__PURE__ */ s("h2", {
2081
+ /* @__PURE__ */ l("h2", {
1942
2082
  className: `${g.title} ${h.title}`,
1943
2083
  children: t
1944
2084
  }),
1945
- n && /* @__PURE__ */ s("p", {
2085
+ n && /* @__PURE__ */ l("p", {
1946
2086
  className: `max-w-2xl ${g.description} ${h.description}`,
1947
2087
  children: n
1948
2088
  })
1949
2089
  ]
1950
2090
  }),
1951
- f && !v && /* @__PURE__ */ s("div", {
2091
+ f && !v && /* @__PURE__ */ l("div", {
1952
2092
  className: "mt-2",
1953
2093
  children: f
1954
2094
  }),
1955
- r.length > 0 && /* @__PURE__ */ s("div", {
2095
+ r.length > 0 && /* @__PURE__ */ l("div", {
1956
2096
  className: `flex flex-wrap gap-3 ${v ? "shrink-0" : _.actions}`,
1957
2097
  children: r.map((e, t) => {
1958
- let n = /* @__PURE__ */ s(S, {
1959
- variant: e.variant ?? (t === 0 ? $(l) : "outline"),
2098
+ let n = /* @__PURE__ */ l(w, {
2099
+ variant: e.variant ?? (t === 0 ? We(s) : "outline"),
1960
2100
  size: e.size ?? (o === "sm" ? "sm" : o === "xl" ? "lg" : "md"),
1961
2101
  onClick: e.onClick,
1962
2102
  children: e.label
1963
2103
  }, t);
1964
- return e.href ? /* @__PURE__ */ s("a", {
2104
+ return e.href ? /* @__PURE__ */ l("a", {
1965
2105
  href: e.href,
1966
2106
  className: "contents",
1967
2107
  children: n
@@ -1972,233 +2112,233 @@ function Ve({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1972
2112
  })]
1973
2113
  });
1974
2114
  }
1975
- function $(e) {
2115
+ function We(e) {
1976
2116
  return e === "default" || e === "outline" ? "primary" : "secondary";
1977
2117
  }
1978
2118
  //#endregion
1979
2119
  //#region src/components/Footer/Footer.tsx
1980
- function He() {
1981
- return /* @__PURE__ */ s("svg", {
2120
+ function Ge() {
2121
+ return /* @__PURE__ */ l("svg", {
1982
2122
  xmlns: "http://www.w3.org/2000/svg",
1983
2123
  fill: "none",
1984
2124
  viewBox: "0 0 24 24",
1985
2125
  strokeWidth: 1.5,
1986
2126
  stroke: "currentColor",
1987
2127
  className: "w-4 h-4 shrink-0",
1988
- children: /* @__PURE__ */ s("path", {
2128
+ children: /* @__PURE__ */ l("path", {
1989
2129
  strokeLinecap: "round",
1990
2130
  strokeLinejoin: "round",
1991
2131
  d: "M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 002.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 01-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 00-1.091-.852H4.5A2.25 2.25 0 002.25 4.5v2.25z"
1992
2132
  })
1993
2133
  });
1994
2134
  }
1995
- function Ue() {
1996
- return /* @__PURE__ */ s("svg", {
2135
+ function Ke() {
2136
+ return /* @__PURE__ */ l("svg", {
1997
2137
  xmlns: "http://www.w3.org/2000/svg",
1998
2138
  fill: "none",
1999
2139
  viewBox: "0 0 24 24",
2000
2140
  strokeWidth: 1.5,
2001
2141
  stroke: "currentColor",
2002
2142
  className: "w-4 h-4 shrink-0",
2003
- children: /* @__PURE__ */ s("path", {
2143
+ children: /* @__PURE__ */ l("path", {
2004
2144
  strokeLinecap: "round",
2005
2145
  strokeLinejoin: "round",
2006
2146
  d: "M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"
2007
2147
  })
2008
2148
  });
2009
2149
  }
2010
- function We() {
2011
- return /* @__PURE__ */ c("svg", {
2150
+ function qe() {
2151
+ return /* @__PURE__ */ u("svg", {
2012
2152
  xmlns: "http://www.w3.org/2000/svg",
2013
2153
  fill: "none",
2014
2154
  viewBox: "0 0 24 24",
2015
2155
  strokeWidth: 1.5,
2016
2156
  stroke: "currentColor",
2017
2157
  className: "w-4 h-4 shrink-0",
2018
- children: [/* @__PURE__ */ s("path", {
2158
+ children: [/* @__PURE__ */ l("path", {
2019
2159
  strokeLinecap: "round",
2020
2160
  strokeLinejoin: "round",
2021
2161
  d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
2022
- }), /* @__PURE__ */ s("path", {
2162
+ }), /* @__PURE__ */ l("path", {
2023
2163
  strokeLinecap: "round",
2024
2164
  strokeLinejoin: "round",
2025
2165
  d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z"
2026
2166
  })]
2027
2167
  });
2028
2168
  }
2029
- function Ge() {
2030
- return /* @__PURE__ */ s("svg", {
2169
+ function Je() {
2170
+ return /* @__PURE__ */ l("svg", {
2031
2171
  xmlns: "http://www.w3.org/2000/svg",
2032
2172
  fill: "none",
2033
2173
  viewBox: "0 0 24 24",
2034
2174
  strokeWidth: 1.5,
2035
2175
  stroke: "currentColor",
2036
2176
  className: "w-4 h-4 shrink-0",
2037
- children: /* @__PURE__ */ s("path", {
2177
+ children: /* @__PURE__ */ l("path", {
2038
2178
  strokeLinecap: "round",
2039
2179
  strokeLinejoin: "round",
2040
2180
  d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
2041
2181
  })
2042
2182
  });
2043
2183
  }
2044
- function Ke() {
2045
- return /* @__PURE__ */ s("svg", {
2184
+ function Ye() {
2185
+ return /* @__PURE__ */ l("svg", {
2046
2186
  xmlns: "http://www.w3.org/2000/svg",
2047
2187
  viewBox: "0 0 24 24",
2048
2188
  fill: "currentColor",
2049
2189
  className: "w-4 h-4",
2050
- children: /* @__PURE__ */ s("path", { d: "M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.267h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z" })
2190
+ children: /* @__PURE__ */ l("path", { d: "M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.267h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z" })
2051
2191
  });
2052
2192
  }
2053
- function qe() {
2054
- return /* @__PURE__ */ s("svg", {
2193
+ function Xe() {
2194
+ return /* @__PURE__ */ l("svg", {
2055
2195
  xmlns: "http://www.w3.org/2000/svg",
2056
2196
  viewBox: "0 0 24 24",
2057
2197
  fill: "currentColor",
2058
2198
  className: "w-4 h-4",
2059
- children: /* @__PURE__ */ s("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
2199
+ children: /* @__PURE__ */ l("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
2060
2200
  });
2061
2201
  }
2062
- function Je() {
2063
- return /* @__PURE__ */ s("svg", {
2202
+ function Ze() {
2203
+ return /* @__PURE__ */ l("svg", {
2064
2204
  xmlns: "http://www.w3.org/2000/svg",
2065
2205
  viewBox: "0 0 24 24",
2066
2206
  fill: "currentColor",
2067
2207
  className: "w-4 h-4",
2068
- children: /* @__PURE__ */ s("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" })
2208
+ children: /* @__PURE__ */ l("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" })
2069
2209
  });
2070
2210
  }
2071
- function Ye() {
2072
- return /* @__PURE__ */ s("svg", {
2211
+ function Qe() {
2212
+ return /* @__PURE__ */ l("svg", {
2073
2213
  xmlns: "http://www.w3.org/2000/svg",
2074
2214
  viewBox: "0 0 24 24",
2075
2215
  fill: "currentColor",
2076
2216
  className: "w-4 h-4",
2077
- children: /* @__PURE__ */ s("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
2217
+ children: /* @__PURE__ */ l("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
2078
2218
  });
2079
2219
  }
2080
- function Xe() {
2081
- return /* @__PURE__ */ s("svg", {
2220
+ function $e() {
2221
+ return /* @__PURE__ */ l("svg", {
2082
2222
  xmlns: "http://www.w3.org/2000/svg",
2083
2223
  viewBox: "0 0 24 24",
2084
2224
  fill: "currentColor",
2085
2225
  className: "w-4 h-4",
2086
- children: /* @__PURE__ */ s("path", { d: "M19.59 6.69a4.83 4.83 0 01-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 01-2.88 2.5 2.89 2.89 0 01-2.89-2.89 2.89 2.89 0 012.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 00-.79-.05 6.34 6.34 0 00-6.34 6.34 6.34 6.34 0 006.34 6.34 6.34 6.34 0 006.33-6.34V8.69a8.18 8.18 0 004.78 1.52V6.76a4.85 4.85 0 01-1.01-.07z" })
2226
+ children: /* @__PURE__ */ l("path", { d: "M19.59 6.69a4.83 4.83 0 01-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 01-2.88 2.5 2.89 2.89 0 01-2.89-2.89 2.89 2.89 0 012.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 00-.79-.05 6.34 6.34 0 00-6.34 6.34 6.34 6.34 0 006.34 6.34 6.34 6.34 0 006.33-6.34V8.69a8.18 8.18 0 004.78 1.52V6.76a4.85 4.85 0 01-1.01-.07z" })
2087
2227
  });
2088
2228
  }
2089
- var Ze = {
2090
- facebook: Ke,
2091
- instagram: qe,
2092
- twitter: Je,
2093
- youtube: Ye,
2094
- tiktok: Xe
2095
- }, Qe = {
2096
- phone: He,
2097
- email: Ue,
2098
- address: We,
2099
- hours: Ge
2229
+ var et = {
2230
+ facebook: Ye,
2231
+ instagram: Xe,
2232
+ twitter: Ze,
2233
+ youtube: Qe,
2234
+ tiktok: $e
2235
+ }, tt = {
2236
+ phone: Ge,
2237
+ email: Ke,
2238
+ address: qe,
2239
+ hours: Je
2100
2240
  };
2101
- function $e(e) {
2241
+ function nt(e) {
2102
2242
  if (!e) return null;
2103
2243
  if (typeof e == "string") {
2104
- let t = Qe[e];
2105
- return t ? /* @__PURE__ */ s(t, {}) : null;
2244
+ let t = tt[e];
2245
+ return t ? /* @__PURE__ */ l(t, {}) : null;
2106
2246
  }
2107
2247
  return e;
2108
2248
  }
2109
- function et(e) {
2249
+ function rt(e) {
2110
2250
  if (typeof e == "string") {
2111
- let t = Ze[e];
2112
- return t ? /* @__PURE__ */ s(t, {}) : null;
2251
+ let t = et[e];
2252
+ return t ? /* @__PURE__ */ l(t, {}) : null;
2113
2253
  }
2114
2254
  return e;
2115
2255
  }
2116
- function tt({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: o, bottomLinks: l = [], className: u = "" }) {
2256
+ function it({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: o, bottomLinks: s = [], className: c = "" }) {
2117
2257
  let d = (/* @__PURE__ */ new Date()).getFullYear();
2118
- return /* @__PURE__ */ s("footer", {
2119
- className: ["bg-gray-900 text-gray-300", u].filter(Boolean).join(" "),
2120
- children: /* @__PURE__ */ c(y, { children: [/* @__PURE__ */ c("div", {
2258
+ return /* @__PURE__ */ l("footer", {
2259
+ className: ["bg-gray-900 text-gray-300", c].filter(Boolean).join(" "),
2260
+ children: /* @__PURE__ */ u(x, { children: [/* @__PURE__ */ u("div", {
2121
2261
  className: "max-w-7xl mx-auto px-4 py-12 grid grid-cols-1 md:grid-cols-2 gap-10 lg:gap-16",
2122
- children: [/* @__PURE__ */ c("div", {
2262
+ children: [/* @__PURE__ */ u("div", {
2123
2263
  className: "flex flex-col gap-6",
2124
2264
  children: [
2125
- /* @__PURE__ */ c("div", { children: [e ? /* @__PURE__ */ s("div", {
2265
+ /* @__PURE__ */ u("div", { children: [e ? /* @__PURE__ */ l("div", {
2126
2266
  className: "mb-3",
2127
2267
  children: e
2128
- }) : /* @__PURE__ */ s("span", {
2268
+ }) : /* @__PURE__ */ l("span", {
2129
2269
  className: "text-xl font-bold text-white tracking-tight mb-3 block",
2130
2270
  children: "shopito"
2131
- }), t && /* @__PURE__ */ s("p", {
2271
+ }), t && /* @__PURE__ */ l("p", {
2132
2272
  className: "text-sm text-gray-400 max-w-xs",
2133
2273
  children: t
2134
2274
  })] }),
2135
- r.length > 0 && /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
2275
+ r.length > 0 && /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h3", {
2136
2276
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
2137
2277
  children: n
2138
- }), /* @__PURE__ */ s("ul", {
2278
+ }), /* @__PURE__ */ l("ul", {
2139
2279
  className: "space-y-3",
2140
2280
  children: r.map((e, t) => {
2141
- let n = $e(e.icon), r = /* @__PURE__ */ c("div", {
2281
+ let n = nt(e.icon), r = /* @__PURE__ */ u("div", {
2142
2282
  className: "flex items-start gap-2.5",
2143
- children: [n && /* @__PURE__ */ s("span", {
2283
+ children: [n && /* @__PURE__ */ l("span", {
2144
2284
  className: "mt-0.5 text-primary-400",
2145
2285
  children: n
2146
- }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
2286
+ }), /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
2147
2287
  className: "text-xs text-gray-500 leading-none mb-0.5",
2148
2288
  children: e.label
2149
- }), /* @__PURE__ */ s("p", {
2289
+ }), /* @__PURE__ */ l("p", {
2150
2290
  className: `text-sm text-gray-200 ${e.href ? "hover:text-white transition-colors" : ""}`,
2151
2291
  children: e.value
2152
2292
  })] })]
2153
2293
  });
2154
- return /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
2294
+ return /* @__PURE__ */ l("li", { children: e.href ? /* @__PURE__ */ l("a", {
2155
2295
  href: e.href,
2156
2296
  children: r
2157
2297
  }) : r }, t);
2158
2298
  })
2159
2299
  })] }),
2160
- a.length > 0 && /* @__PURE__ */ s("div", {
2300
+ a.length > 0 && /* @__PURE__ */ l("div", {
2161
2301
  className: "flex gap-2 flex-wrap",
2162
- children: a.map((e, t) => /* @__PURE__ */ s("a", {
2302
+ children: a.map((e, t) => /* @__PURE__ */ l("a", {
2163
2303
  href: e.href,
2164
2304
  "aria-label": e.label,
2165
2305
  className: "w-8 h-8 flex items-center justify-center rounded-lg bg-gray-800 text-gray-400 hover:bg-primary-600 hover:text-white transition-colors",
2166
- children: et(e.icon)
2306
+ children: rt(e.icon)
2167
2307
  }, t))
2168
2308
  })
2169
2309
  ]
2170
- }), i.length > 0 && /* @__PURE__ */ s("div", {
2310
+ }), i.length > 0 && /* @__PURE__ */ l("div", {
2171
2311
  className: `grid gap-8 ${i.length === 1 ? "grid-cols-1" : i.length === 2 ? "grid-cols-2" : "grid-cols-2 sm:grid-cols-3"}`,
2172
- children: i.map((e, t) => /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
2312
+ children: i.map((e, t) => /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h3", {
2173
2313
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
2174
2314
  children: e.heading
2175
- }), /* @__PURE__ */ s("ul", {
2315
+ }), /* @__PURE__ */ l("ul", {
2176
2316
  className: "space-y-2",
2177
- children: e.links.map((e, t) => /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
2317
+ children: e.links.map((e, t) => /* @__PURE__ */ l("li", { children: e.href ? /* @__PURE__ */ l("a", {
2178
2318
  href: e.href,
2179
2319
  className: "text-sm text-gray-400 hover:text-white transition-colors",
2180
2320
  children: e.label
2181
- }) : /* @__PURE__ */ s("button", {
2321
+ }) : /* @__PURE__ */ l("button", {
2182
2322
  onClick: e.onClick,
2183
2323
  className: "text-sm text-gray-400 hover:text-white transition-colors text-left",
2184
2324
  children: e.label
2185
2325
  }) }, t))
2186
2326
  })] }, t))
2187
2327
  })]
2188
- }), /* @__PURE__ */ s("div", {
2328
+ }), /* @__PURE__ */ l("div", {
2189
2329
  className: "border-t border-gray-800",
2190
- children: /* @__PURE__ */ c("div", {
2330
+ children: /* @__PURE__ */ u("div", {
2191
2331
  className: "max-w-7xl mx-auto px-4 py-4 flex flex-wrap items-center justify-between gap-3",
2192
- children: [/* @__PURE__ */ s("p", {
2332
+ children: [/* @__PURE__ */ l("p", {
2193
2333
  className: "text-xs text-gray-500",
2194
2334
  children: o ?? `© ${d} Shopito. Všechna práva vyhrazena.`
2195
- }), l.length > 0 && /* @__PURE__ */ s("nav", {
2335
+ }), s.length > 0 && /* @__PURE__ */ l("nav", {
2196
2336
  className: "flex flex-wrap gap-4",
2197
- children: l.map((e, t) => e.href ? /* @__PURE__ */ s("a", {
2337
+ children: s.map((e, t) => e.href ? /* @__PURE__ */ l("a", {
2198
2338
  href: e.href,
2199
2339
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
2200
2340
  children: e.label
2201
- }, t) : /* @__PURE__ */ s("button", {
2341
+ }, t) : /* @__PURE__ */ l("button", {
2202
2342
  onClick: e.onClick,
2203
2343
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
2204
2344
  children: e.label
@@ -2209,6 +2349,6 @@ function tt({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
2209
2349
  });
2210
2350
  }
2211
2351
  //#endregion
2212
- export { ae as Alert, ce as Avatar, k as Badge, ke as BannerCarousel, S as Button, Ve as CallToAction, j as Card, te as CardBody, ne as CardFooter, ee as CardHeader, Ee as CategoryTree, M as Checkbox, V as Col, y as Container, tt as Footer, B as Grid, Ce as Header, D as Heading, w as IconButton, T as Input, C as LoadingSpin, b as Main, Oe as MegaMenu, se as Modal, G as Pagination, Z as ProductCard, Ie as ProductGrid, H as QuantityInput, E as Select, re as Spinner, le as Stack, O as Text, N 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 };
2213
2353
 
2214
2354
  //# sourceMappingURL=index.js.map