@shopito/design-system-fe 0.1.22 → 0.1.25

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