@shopito/design-system-fe 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 ee({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "md", closeOnBackdrop: c = !0 }) {
348
- let f = o(null);
349
- return r(() => {
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 ee({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "
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,50 +409,50 @@ function ee({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "
409
409
  }
410
410
  //#endregion
411
411
  //#region src/components/common/Checkbox/Checkbox.tsx
412
- var V = 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
  })
441
441
  ] })]
442
442
  });
443
443
  });
444
- V.displayName = "Checkbox";
444
+ H.displayName = "Checkbox";
445
445
  //#endregion
446
446
  //#region src/components/common/Toggle/Toggle.tsx
447
- var H = 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,22 +460,22 @@ var H = 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
  })] })]
473
473
  });
474
474
  });
475
- H.displayName = "Toggle";
475
+ U.displayName = "Toggle";
476
476
  //#endregion
477
477
  //#region src/components/common/Avatar/Avatar.tsx
478
- var U = [
478
+ var W = [
479
479
  "bg-red-500",
480
480
  "bg-orange-500",
481
481
  "bg-amber-500",
@@ -494,30 +494,30 @@ function te({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
494
494
  ], s = (e) => {
495
495
  let t = 0;
496
496
  for (let n = 0; n < e.length; n++) t += e.charCodeAt(n);
497
- return U[t % U.length];
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 te({ 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 ne = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", justifyContent: i = "normal", className: a, children: o }) => /* @__PURE__ */ l("div", {
531
- className: (0, C.default)("stack", `stack-${e}`, t && `gap-${t}`, {
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",
@@ -718,25 +718,25 @@ var ne = ({ 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
- }, W = ({ children: e, cols: t = 12, gap: n, rowGap: r, colGap: i, as: a = "div", className: o }) => /* @__PURE__ */ l(a, {
722
- className: (0, C.default)("grid", "w-full", re[t], n !== void 0 && ie[n], r !== void 0 && ae[r], i !== void 0 && oe[i], o),
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
- W.displayName = "Grid";
726
- var G = ({ children: e, span: t, sm: n, md: r, lg: i, xl: a, offset: o, smOffset: s, mdOffset: c, lgOffset: u, xlOffset: d, className: f, ...p }) => /* @__PURE__ */ l("div", {
727
- className: (0, C.default)(t && se[t], n && ce[n], r && le[r], i && ue[i], a && de[a], o && fe[o], s && pe[s], c && me[c], u && he[u], d && ge[d], f),
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: 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
- G.displayName = "Col";
731
+ K.displayName = "Col";
732
732
  //#endregion
733
733
  //#region src/components/common/QuantityInput/QuantityInput.tsx
734
- var K = ({ value: e, onChange: t, min: n = 1, max: a = 999, step: c = 1, disabled: d = !1, label: f, error: p, hint: m, id: h, className: g }) => {
735
- let _ = i(), v = h ?? _, y = o(null), [b, x] = s(String(e));
736
- r(() => {
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 K = ({ 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 K = ({ 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(_e, {})
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,124 +790,124 @@ var K = ({ 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(ve, {})
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
- K.displayName = "QuantityInput";
818
- var _e = () => /* @__PURE__ */ l("svg", {
817
+ q.displayName = "QuantityInput";
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
- }), ve = () => /* @__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
- }), q = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), ye = (e, t, n) => {
843
- if (t <= n * 2 + 5) return q(1, t);
842
+ }), J = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), ye = (e, t, n) => {
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 ? [
846
- ...q(1, 3 + n * 2),
846
+ ...J(1, 3 + n * 2),
847
847
  "…",
848
848
  t
849
849
  ] : a && !o ? [
850
850
  1,
851
851
  "…",
852
- ...q(t - (2 + n * 2), t)
852
+ ...J(t - (2 + n * 2), t)
853
853
  ] : [
854
854
  1,
855
855
  "…",
856
- ...q(r, i),
856
+ ...J(r, i),
857
857
  "…",
858
858
  t
859
859
  ];
860
- }, J = ({ 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
- }), Y = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
865
+ }), X = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
866
866
  let i = ye(e, t, r);
867
- return /* @__PURE__ */ u("nav", {
867
+ return /* @__PURE__ */ d("nav", {
868
868
  "aria-label": "Pagination",
869
869
  className: "pagination",
870
870
  children: [
871
- /* @__PURE__ */ l(J, {
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(J, {
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(J, {
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,142 +916,127 @@ var _e = () => /* @__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 be({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, dots: p = !0, autoPlay: m = !1, autoPlayInterval: h = 4e3, loop: g = !1, className: _, ...v }) {
923
- let y = e.toArray(t), b = y.length, x = g ? b - 1 : Math.max(0, b - i), S = b > i, [w, T] = s(0), [E, D] = s(!1), O = o(null), k = o(null), A = o(null), j = o(null), M = n((e, t = !0) => {
924
- let n = O.current;
944
+ function be({ src: e, alt: t, children: n, className: r, style: i }) {
945
+ return /* @__PURE__ */ u("div", {
946
+ role: t ? "img" : void 0,
947
+ "aria-label": t,
948
+ className: (0, w.default)("carousel-cover", r),
949
+ style: {
950
+ backgroundImage: `url(${e})`,
951
+ ...i
952
+ },
953
+ children: n
954
+ });
955
+ }
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) => {
958
+ let n = k.current;
925
959
  if (!n) return;
926
960
  let r = n.children[e];
927
961
  r && (t || (n.style.transition = "none", n.getBoundingClientRect()), n.style.transform = `translateX(${-r.offsetLeft}px)`, t || (n.getBoundingClientRect(), n.style.transition = ""));
928
- }, []), N = n((e = !0) => {
929
- let t = O.current, n = k.current;
930
- if (!t || !n) return;
931
- e || (n.style.transition = "none", n.getBoundingClientRect()), t.style.alignItems = "flex-start";
932
- let r = Math.max(0, ...Array.from(t.children).map((e) => e.offsetHeight));
933
- t.style.alignItems = "", r > 0 && (n.style.height = `${r}px`), e || (n.getBoundingClientRect(), n.style.transition = "");
934
- }, []), P = n((e) => {
935
- T(g ? (e % b + b) % b : Math.max(0, Math.min(e, x)));
936
- }, [
937
- b,
938
- g,
939
- x
940
- ]), F = n(() => P(w - 1), [w, P]), I = n(() => P(w + 1), [w, P]);
941
- a(() => {
942
- N(), M(w);
962
+ }, []), P = r((e) => {
963
+ E(_ ? (e % x + x) % x : Math.max(0, Math.min(e, S)));
943
964
  }, [
944
- w,
945
- M,
946
- N
947
- ]), r(() => {
948
- let e = O.current;
949
- if (!e) return;
950
- let t = () => N(), n = Array.from(e.querySelectorAll("img"));
951
- return n.forEach((e) => {
952
- e.complete || e.addEventListener("load", t, { once: !0 });
953
- }), () => n.forEach((e) => e.removeEventListener("load", t));
954
- }, [N]), r(() => {
955
- let e = k.current;
965
+ x,
966
+ _,
967
+ S
968
+ ]), F = r(() => P(T - 1), [T, P]), I = r(() => P(T + 1), [T, P]);
969
+ o(() => {
970
+ N(T);
971
+ }, [T, N]), i(() => {
972
+ let e = A.current;
956
973
  if (!e) return;
957
- let t = new ResizeObserver(() => {
958
- N(!1), M(w, !1);
959
- });
974
+ let t = new ResizeObserver(() => N(T, !1));
960
975
  return t.observe(e), () => t.disconnect();
961
- }, [
962
- w,
963
- M,
964
- N
965
- ]), r(() => {
966
- if (!(!m || E || !S)) return A.current = setInterval(I, h), () => {
967
- A.current && clearInterval(A.current);
976
+ }, [T, N]), i(() => {
977
+ if (!(!h || D || !C)) return j.current = setInterval(I, g), () => {
978
+ j.current && clearInterval(j.current);
968
979
  };
969
980
  }, [
970
- m,
971
- E,
972
981
  h,
982
+ D,
983
+ g,
973
984
  I,
974
- S
985
+ C
975
986
  ]);
976
987
  let L = (e) => {
977
- j.current = e.touches[0].clientX;
988
+ M.current = e.touches[0].clientX;
978
989
  }, R = (e) => {
979
- if (j.current === null) return;
980
- let t = e.changedTouches[0].clientX - j.current;
981
- Math.abs(t) > 50 && (t < 0 ? I() : F()), j.current = null;
990
+ if (M.current === null) return;
991
+ let t = e.changedTouches[0].clientX - M.current;
992
+ Math.abs(t) > 50 && (t < 0 ? I() : F()), M.current = null;
982
993
  };
983
- if (b === 0) return null;
984
- let z = g || w > 0, B = g || w < x;
985
- return /* @__PURE__ */ u("div", {
986
- className: (0, C.default)("carousel", _),
987
- onMouseEnter: () => D(!0),
988
- onMouseLeave: () => D(!1),
994
+ if (x === 0) return null;
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),
998
+ onMouseEnter: () => O(!0),
999
+ onMouseLeave: () => O(!1),
989
1000
  onTouchStart: L,
990
1001
  onTouchEnd: R,
991
- ...v,
1002
+ ...y,
992
1003
  children: [
993
- /* @__PURE__ */ l("div", {
994
- ref: k,
1004
+ /* @__PURE__ */ u("div", {
1005
+ ref: A,
995
1006
  className: "carousel-viewport",
996
- children: /* @__PURE__ */ l("div", {
997
- ref: O,
1007
+ style: f ? { height: f } : void 0,
1008
+ children: /* @__PURE__ */ u("div", {
1009
+ ref: k,
998
1010
  className: "carousel-track",
999
- style: { gap: `${d}px` },
1000
- children: y.map((e, t) => /* @__PURE__ */ l("div", {
1011
+ style: { gap: `${l}px` },
1012
+ children: b.map((e, t) => /* @__PURE__ */ u("div", {
1001
1013
  className: "carousel-slide",
1002
1014
  style: {
1003
- minWidth: `calc((100% - ${d}px * ${i - 1}) / ${i})`,
1004
- maxWidth: `calc((100% - ${d}px * ${i - 1}) / ${i})`
1015
+ minWidth: V,
1016
+ maxWidth: V,
1017
+ ...f && { height: f }
1005
1018
  },
1006
- "aria-hidden": t < w || t >= w + i,
1019
+ "aria-hidden": t < T || t >= T + a,
1007
1020
  children: e
1008
1021
  }, t))
1009
1022
  })
1010
1023
  }),
1011
- f && S && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("button", {
1012
- onClick: F,
1024
+ p && C && /* @__PURE__ */ d(t, { children: [/* @__PURE__ */ u(Z, {
1025
+ direction: "prev",
1013
1026
  disabled: !z,
1014
- className: "carousel-btn carousel-btn-prev",
1015
- "aria-label": "Previous slide",
1016
- children: /* @__PURE__ */ l("svg", {
1017
- xmlns: "http://www.w3.org/2000/svg",
1018
- fill: "none",
1019
- viewBox: "0 0 24 24",
1020
- strokeWidth: 2,
1021
- stroke: "currentColor",
1022
- className: "w-5 h-5",
1023
- children: /* @__PURE__ */ l("path", {
1024
- strokeLinecap: "round",
1025
- strokeLinejoin: "round",
1026
- d: "M15.75 19.5L8.25 12l7.5-7.5"
1027
- })
1028
- })
1029
- }), /* @__PURE__ */ l("button", {
1030
- onClick: I,
1027
+ onClick: F
1028
+ }), /* @__PURE__ */ u(Z, {
1029
+ direction: "next",
1031
1030
  disabled: !B,
1032
- className: "carousel-btn carousel-btn-next",
1033
- "aria-label": "Next slide",
1034
- children: /* @__PURE__ */ l("svg", {
1035
- xmlns: "http://www.w3.org/2000/svg",
1036
- fill: "none",
1037
- viewBox: "0 0 24 24",
1038
- strokeWidth: 2,
1039
- stroke: "currentColor",
1040
- className: "w-5 h-5",
1041
- children: /* @__PURE__ */ l("path", {
1042
- strokeLinecap: "round",
1043
- strokeLinejoin: "round",
1044
- d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1045
- })
1046
- })
1031
+ onClick: I
1047
1032
  })] }),
1048
- p && S && /* @__PURE__ */ l("div", {
1033
+ m && C && /* @__PURE__ */ u("div", {
1049
1034
  className: "carousel-dots",
1050
- children: Array.from({ length: x + 1 }).map((e, t) => /* @__PURE__ */ l("button", {
1035
+ children: Array.from({ length: S + 1 }).map((e, t) => /* @__PURE__ */ u("button", {
1051
1036
  onClick: () => P(t),
1052
- className: (0, C.default)("carousel-dot", t === w && "carousel-dot-active"),
1037
+ className: (0, w.default)("carousel-dot", t === T && "carousel-dot-active"),
1053
1038
  "aria-label": `Go to slide ${t + 1}`,
1054
- "aria-current": t === w ? "true" : void 0
1039
+ "aria-current": t === T ? "true" : void 0
1055
1040
  }, t))
1056
1041
  })
1057
1042
  ]
@@ -1059,30 +1044,30 @@ function be({ children: t, slidesPerView: i = 1, gap: d = 16, arrows: f = !0, do
1059
1044
  }
1060
1045
  //#endregion
1061
1046
  //#region src/components/Header/Header.tsx
1062
- function X({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1063
- let [a, c] = s(!1), d = o(null), f = () => c(!1);
1064
- return /* @__PURE__ */ u("div", {
1065
- 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,
1066
1051
  className: "relative",
1067
1052
  onBlur: (e) => {
1068
- d.current?.contains(e.relatedTarget) || f();
1053
+ l.current?.contains(e.relatedTarget) || f();
1069
1054
  },
1070
1055
  onKeyDown: (e) => {
1071
1056
  e.key === "Escape" && f();
1072
1057
  },
1073
- children: [/* @__PURE__ */ l("div", {
1058
+ children: [/* @__PURE__ */ u("div", {
1074
1059
  role: "button",
1075
1060
  tabIndex: 0,
1076
- onClick: () => c((e) => !e),
1077
- onKeyDown: (e) => e.key === "Enter" && c((e) => !e),
1061
+ onClick: () => o((e) => !e),
1062
+ onKeyDown: (e) => e.key === "Enter" && o((e) => !e),
1078
1063
  className: "cursor-pointer",
1079
1064
  children: e
1080
- }), a && /* @__PURE__ */ l("ul", {
1065
+ }), a && /* @__PURE__ */ u("ul", {
1081
1066
  role: "menu",
1082
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",
1083
- children: t.map((e) => /* @__PURE__ */ l("li", {
1068
+ children: t.map((e) => /* @__PURE__ */ u("li", {
1084
1069
  role: "none",
1085
- children: /* @__PURE__ */ l("button", {
1070
+ children: /* @__PURE__ */ u("button", {
1086
1071
  role: "menuitem",
1087
1072
  className: "w-full px-3 py-1.5 text-left hover:bg-gray-50 text-gray-700 whitespace-nowrap",
1088
1073
  onClick: () => {
@@ -1094,59 +1079,59 @@ function X({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
1094
1079
  })]
1095
1080
  });
1096
1081
  }
1097
- function xe() {
1098
- return /* @__PURE__ */ l("svg", {
1082
+ function Se() {
1083
+ return /* @__PURE__ */ u("svg", {
1099
1084
  xmlns: "http://www.w3.org/2000/svg",
1100
1085
  fill: "none",
1101
1086
  viewBox: "0 0 24 24",
1102
1087
  strokeWidth: 1.5,
1103
1088
  stroke: "currentColor",
1104
1089
  className: "w-4 h-4",
1105
- children: /* @__PURE__ */ l("path", {
1090
+ children: /* @__PURE__ */ u("path", {
1106
1091
  strokeLinecap: "round",
1107
1092
  strokeLinejoin: "round",
1108
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"
1109
1094
  })
1110
1095
  });
1111
1096
  }
1112
- function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: i, isLoggedIn: a = !1, customerName: o, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
1113
- let [y, b] = s(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
1114
- return /* @__PURE__ */ l("header", {
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", {
1115
1100
  className: "bg-white border-b border-gray-200 sticky top-0 z-40",
1116
- children: /* @__PURE__ */ u("div", {
1101
+ children: /* @__PURE__ */ d("div", {
1117
1102
  className: "max-w-7xl mx-auto px-4 h-16 flex items-center gap-4",
1118
1103
  children: [
1119
- /* @__PURE__ */ l("div", {
1104
+ /* @__PURE__ */ u("div", {
1120
1105
  className: "shrink-0",
1121
- children: e ?? /* @__PURE__ */ l("span", {
1106
+ children: e ?? /* @__PURE__ */ u("span", {
1122
1107
  className: "text-xl font-bold text-primary-600 tracking-tight",
1123
1108
  children: "shopito"
1124
1109
  })
1125
1110
  }),
1126
- /* @__PURE__ */ l("div", {
1111
+ /* @__PURE__ */ u("div", {
1127
1112
  className: "flex-1 max-w-xl",
1128
- children: /* @__PURE__ */ l(D, {
1113
+ children: /* @__PURE__ */ u(O, {
1129
1114
  placeholder: t,
1130
1115
  value: y,
1131
1116
  onChange: (e) => b(e.target.value),
1132
1117
  onKeyDown: (e) => {
1133
1118
  e.key === "Enter" && n?.(y);
1134
1119
  },
1135
- leftIcon: /* @__PURE__ */ l(xe, {}),
1136
- rightIcon: y ? /* @__PURE__ */ l("button", {
1120
+ leftIcon: /* @__PURE__ */ u(Se, {}),
1121
+ rightIcon: y ? /* @__PURE__ */ u("button", {
1137
1122
  onClick: () => {
1138
1123
  b(""), n?.("");
1139
1124
  },
1140
1125
  className: "hover:text-gray-600 transition-colors",
1141
1126
  "aria-label": "Clear search",
1142
- children: /* @__PURE__ */ l("svg", {
1127
+ children: /* @__PURE__ */ u("svg", {
1143
1128
  xmlns: "http://www.w3.org/2000/svg",
1144
1129
  fill: "none",
1145
1130
  viewBox: "0 0 24 24",
1146
1131
  strokeWidth: 2,
1147
1132
  stroke: "currentColor",
1148
1133
  className: "w-3.5 h-3.5",
1149
- children: /* @__PURE__ */ l("path", {
1134
+ children: /* @__PURE__ */ u("path", {
1150
1135
  strokeLinecap: "round",
1151
1136
  strokeLinejoin: "round",
1152
1137
  d: "M6 18L18 6M6 6l12 12"
@@ -1155,85 +1140,85 @@ function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1155
1140
  }) : void 0
1156
1141
  })
1157
1142
  }),
1158
- /* @__PURE__ */ u("div", {
1143
+ /* @__PURE__ */ d("div", {
1159
1144
  className: "flex items-center gap-1 shrink-0 ml-auto",
1160
1145
  children: [
1161
- f.length > 0 && /* @__PURE__ */ l(X, {
1162
- trigger: /* @__PURE__ */ u("button", {
1146
+ f.length > 0 && /* @__PURE__ */ u(Q, {
1147
+ trigger: /* @__PURE__ */ d("button", {
1163
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",
1164
1149
  children: [
1165
- /* @__PURE__ */ l("span", { children: x?.symbol ?? p }),
1166
- /* @__PURE__ */ l("span", {
1150
+ /* @__PURE__ */ u("span", { children: x?.symbol ?? p }),
1151
+ /* @__PURE__ */ u("span", {
1167
1152
  className: "text-xs text-gray-400",
1168
1153
  children: x?.code ?? p
1169
1154
  }),
1170
- /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1155
+ /* @__PURE__ */ u($, { className: "w-3 h-3 text-gray-400" })
1171
1156
  ]
1172
1157
  }),
1173
1158
  items: f,
1174
1159
  getKey: (e) => e.code,
1175
1160
  onSelect: (e) => m?.(e.code),
1176
- renderItem: (e) => /* @__PURE__ */ u("span", {
1161
+ renderItem: (e) => /* @__PURE__ */ d("span", {
1177
1162
  className: "flex items-center gap-2",
1178
- children: [/* @__PURE__ */ l("span", {
1163
+ children: [/* @__PURE__ */ u("span", {
1179
1164
  className: "w-6 text-center font-medium text-gray-500",
1180
1165
  children: e.symbol
1181
- }), /* @__PURE__ */ l("span", { children: e.label })]
1166
+ }), /* @__PURE__ */ u("span", { children: e.label })]
1182
1167
  })
1183
1168
  }),
1184
- h.length > 0 && /* @__PURE__ */ l(X, {
1185
- trigger: /* @__PURE__ */ u("button", {
1169
+ h.length > 0 && /* @__PURE__ */ u(Q, {
1170
+ trigger: /* @__PURE__ */ d("button", {
1186
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",
1187
1172
  children: [
1188
- S?.flag && /* @__PURE__ */ l("span", {
1173
+ S?.flag && /* @__PURE__ */ u("span", {
1189
1174
  className: "text-base leading-none",
1190
1175
  children: S.flag
1191
1176
  }),
1192
- /* @__PURE__ */ l("span", {
1177
+ /* @__PURE__ */ u("span", {
1193
1178
  className: "font-medium uppercase",
1194
1179
  children: S?.code ?? g
1195
1180
  }),
1196
- /* @__PURE__ */ l(Z, { className: "w-3 h-3 text-gray-400" })
1181
+ /* @__PURE__ */ u($, { className: "w-3 h-3 text-gray-400" })
1197
1182
  ]
1198
1183
  }),
1199
1184
  items: h,
1200
1185
  getKey: (e) => e.code,
1201
1186
  onSelect: (e) => _?.(e.code),
1202
- renderItem: (e) => /* @__PURE__ */ u("span", {
1187
+ renderItem: (e) => /* @__PURE__ */ d("span", {
1203
1188
  className: "flex items-center gap-2",
1204
- children: [e.flag && /* @__PURE__ */ l("span", {
1189
+ children: [e.flag && /* @__PURE__ */ u("span", {
1205
1190
  className: "text-base",
1206
1191
  children: e.flag
1207
- }), /* @__PURE__ */ l("span", { children: e.label })]
1192
+ }), /* @__PURE__ */ u("span", { children: e.label })]
1208
1193
  })
1209
1194
  }),
1210
- (f.length > 0 || h.length > 0) && /* @__PURE__ */ l("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
1211
- /* @__PURE__ */ l("button", {
1212
- 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,
1213
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",
1214
1199
  "aria-label": a ? "My account" : "Sign in",
1215
- children: a ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("div", {
1200
+ children: a ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("div", {
1216
1201
  className: "w-6 h-6 rounded-full bg-primary-600 text-white flex items-center justify-center text-xs font-bold",
1217
1202
  children: (o ?? "U")[0].toUpperCase()
1218
- }), o && /* @__PURE__ */ l("span", {
1203
+ }), o && /* @__PURE__ */ u("span", {
1219
1204
  className: "hidden sm:block font-medium max-w-32 truncate",
1220
1205
  children: o
1221
- })] }) : /* @__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", {
1222
1207
  className: "hidden sm:block font-medium",
1223
1208
  children: "Přihlásit se"
1224
1209
  })] })
1225
1210
  }),
1226
- /* @__PURE__ */ u("button", {
1211
+ /* @__PURE__ */ d("button", {
1227
1212
  onClick: i,
1228
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",
1229
1214
  "aria-label": `Cart, ${r} items`,
1230
1215
  children: [
1231
- /* @__PURE__ */ l(we, { className: "w-5 h-5" }),
1232
- /* @__PURE__ */ l("span", {
1216
+ /* @__PURE__ */ u(Te, { className: "w-5 h-5" }),
1217
+ /* @__PURE__ */ u("span", {
1233
1218
  className: "hidden sm:block font-medium",
1234
1219
  children: "Košík"
1235
1220
  }),
1236
- r > 0 && /* @__PURE__ */ l("span", {
1221
+ r > 0 && /* @__PURE__ */ u("span", {
1237
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",
1238
1223
  children: r > 99 ? "99+" : r
1239
1224
  })
@@ -1246,45 +1231,45 @@ function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
1246
1231
  })
1247
1232
  });
1248
1233
  }
1249
- function Z({ className: e }) {
1250
- return /* @__PURE__ */ l("svg", {
1234
+ function $({ className: e }) {
1235
+ return /* @__PURE__ */ u("svg", {
1251
1236
  xmlns: "http://www.w3.org/2000/svg",
1252
1237
  fill: "none",
1253
1238
  viewBox: "0 0 24 24",
1254
1239
  strokeWidth: 2,
1255
1240
  stroke: "currentColor",
1256
1241
  className: e,
1257
- children: /* @__PURE__ */ l("path", {
1242
+ children: /* @__PURE__ */ u("path", {
1258
1243
  strokeLinecap: "round",
1259
1244
  strokeLinejoin: "round",
1260
1245
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
1261
1246
  })
1262
1247
  });
1263
1248
  }
1264
- function Ce({ className: e }) {
1265
- return /* @__PURE__ */ l("svg", {
1249
+ function we({ className: e }) {
1250
+ return /* @__PURE__ */ u("svg", {
1266
1251
  xmlns: "http://www.w3.org/2000/svg",
1267
1252
  fill: "none",
1268
1253
  viewBox: "0 0 24 24",
1269
1254
  strokeWidth: 1.5,
1270
1255
  stroke: "currentColor",
1271
1256
  className: e,
1272
- children: /* @__PURE__ */ l("path", {
1257
+ children: /* @__PURE__ */ u("path", {
1273
1258
  strokeLinecap: "round",
1274
1259
  strokeLinejoin: "round",
1275
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"
1276
1261
  })
1277
1262
  });
1278
1263
  }
1279
- function we({ className: e }) {
1280
- return /* @__PURE__ */ l("svg", {
1264
+ function Te({ className: e }) {
1265
+ return /* @__PURE__ */ u("svg", {
1281
1266
  xmlns: "http://www.w3.org/2000/svg",
1282
1267
  fill: "none",
1283
1268
  viewBox: "0 0 24 24",
1284
1269
  strokeWidth: 1.5,
1285
1270
  stroke: "currentColor",
1286
1271
  className: e,
1287
- children: /* @__PURE__ */ l("path", {
1272
+ children: /* @__PURE__ */ u("path", {
1288
1273
  strokeLinecap: "round",
1289
1274
  strokeLinejoin: "round",
1290
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"
@@ -1293,9 +1278,9 @@ function we({ className: e }) {
1293
1278
  }
1294
1279
  //#endregion
1295
1280
  //#region src/components/CategoryTree/CategoryTree.tsx
1296
- function Q({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: a }) {
1297
- let o = e.children && e.children.length > 0, [c, d] = s(a || $(e, t)), f = e.id === t;
1298
- return /* @__PURE__ */ u("li", { children: [/* @__PURE__ */ u("div", {
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", {
1299
1284
  className: [
1300
1285
  "group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
1301
1286
  "transition-colors text-sm",
@@ -1304,47 +1289,47 @@ function Q({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
1304
1289
  ].filter(Boolean).join(" "),
1305
1290
  style: i > 0 ? { marginLeft: i * 16 } : void 0,
1306
1291
  onClick: () => {
1307
- n(e), o && d((e) => !e);
1292
+ n(e), o && l((e) => !e);
1308
1293
  },
1309
1294
  role: "button",
1310
1295
  tabIndex: 0,
1311
1296
  onKeyDown: (t) => {
1312
- (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));
1313
1298
  },
1314
- "aria-expanded": o ? c : void 0,
1299
+ "aria-expanded": o ? s : void 0,
1315
1300
  children: [
1316
- o ? /* @__PURE__ */ l("span", {
1317
- className: `shrink-0 text-gray-400 transition-transform duration-150 ${c ? "rotate-90" : ""}`,
1318
- 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", {
1319
1304
  xmlns: "http://www.w3.org/2000/svg",
1320
1305
  fill: "none",
1321
1306
  viewBox: "0 0 24 24",
1322
1307
  strokeWidth: 2,
1323
1308
  stroke: "currentColor",
1324
1309
  className: "w-3.5 h-3.5",
1325
- children: /* @__PURE__ */ l("path", {
1310
+ children: /* @__PURE__ */ u("path", {
1326
1311
  strokeLinecap: "round",
1327
1312
  strokeLinejoin: "round",
1328
1313
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1329
1314
  })
1330
1315
  })
1331
- }) : /* @__PURE__ */ l("span", { className: "w-3.5 shrink-0" }),
1332
- e.icon && /* @__PURE__ */ l("span", {
1316
+ }) : /* @__PURE__ */ u("span", { className: "w-3.5 shrink-0" }),
1317
+ e.icon && /* @__PURE__ */ u("span", {
1333
1318
  className: "text-base leading-none",
1334
1319
  children: e.icon
1335
1320
  }),
1336
- /* @__PURE__ */ l("span", {
1321
+ /* @__PURE__ */ u("span", {
1337
1322
  className: "flex-1 truncate",
1338
1323
  children: e.label
1339
1324
  }),
1340
- r && e.count !== void 0 && /* @__PURE__ */ l("span", {
1325
+ r && e.count !== void 0 && /* @__PURE__ */ u("span", {
1341
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"}`,
1342
1327
  children: e.count
1343
1328
  })
1344
1329
  ]
1345
- }), o && c && /* @__PURE__ */ l("ul", {
1330
+ }), o && s && /* @__PURE__ */ u("ul", {
1346
1331
  role: "group",
1347
- children: e.children.map((e) => /* @__PURE__ */ l(Q, {
1332
+ children: e.children.map((e) => /* @__PURE__ */ u(Ee, {
1348
1333
  node: e,
1349
1334
  activeId: t,
1350
1335
  onSelect: n,
@@ -1354,19 +1339,19 @@ function Q({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
1354
1339
  }, e.id))
1355
1340
  })] });
1356
1341
  }
1357
- function $(e, t) {
1358
- return !t || !e.children ? !1 : e.children.some((e) => e.id === t || $(e, t));
1342
+ function De(e, t) {
1343
+ return !t || !e.children ? !1 : e.children.some((e) => e.id === t || De(e, t));
1359
1344
  }
1360
- function Te({ 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 }) {
1361
1346
  let s = (e) => n?.(e);
1362
- return /* @__PURE__ */ l("nav", {
1347
+ return /* @__PURE__ */ u("nav", {
1363
1348
  "aria-label": "Category navigation",
1364
1349
  className: ["w-full", a].filter(Boolean).join(" "),
1365
1350
  ...o,
1366
- children: /* @__PURE__ */ l("ul", {
1351
+ children: /* @__PURE__ */ u("ul", {
1367
1352
  role: "tree",
1368
1353
  className: "space-y-0.5",
1369
- children: e.map((e) => /* @__PURE__ */ l(Q, {
1354
+ children: e.map((e) => /* @__PURE__ */ u(Ee, {
1370
1355
  node: e,
1371
1356
  activeId: t,
1372
1357
  onSelect: s,
@@ -1379,59 +1364,59 @@ function Te({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
1379
1364
  }
1380
1365
  //#endregion
1381
1366
  //#region src/components/MegaMenu/MegaMenu.tsx
1382
- function Ee({ item: e, onNavigate: t, onClose: n }) {
1383
- return e.columns?.length ? /* @__PURE__ */ l("div", {
1367
+ function ke({ item: e, onNavigate: t, onClose: n }) {
1368
+ return e.columns?.length ? /* @__PURE__ */ u("div", {
1384
1369
  className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
1385
- children: /* @__PURE__ */ u("div", {
1370
+ children: /* @__PURE__ */ d("div", {
1386
1371
  className: "max-w-7xl mx-auto px-4 py-6 flex gap-8",
1387
- children: [/* @__PURE__ */ l("div", {
1372
+ children: [/* @__PURE__ */ u("div", {
1388
1373
  className: "flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6",
1389
- 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", {
1390
1375
  className: "text-xs font-semibold uppercase tracking-wider text-gray-400 mb-2",
1391
1376
  children: e.heading
1392
- }), /* @__PURE__ */ l("ul", {
1377
+ }), /* @__PURE__ */ u("ul", {
1393
1378
  className: "space-y-1",
1394
- 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", {
1395
1380
  className: "flex items-center gap-1.5 text-sm text-gray-700 hover:text-primary-600 transition-colors py-0.5",
1396
1381
  onClick: () => {
1397
1382
  t(e), n();
1398
1383
  },
1399
- children: [e.label, e.badge && /* @__PURE__ */ l("span", {
1384
+ children: [e.label, e.badge && /* @__PURE__ */ u("span", {
1400
1385
  className: "text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-danger-50 text-danger-600 leading-none",
1401
1386
  children: e.badge
1402
1387
  })]
1403
1388
  }) }, e.id))
1404
1389
  })] }, r))
1405
- }), e.featured && /* @__PURE__ */ l("div", {
1390
+ }), e.featured && /* @__PURE__ */ u("div", {
1406
1391
  className: "w-52 shrink-0",
1407
- children: /* @__PURE__ */ u("button", {
1392
+ children: /* @__PURE__ */ d("button", {
1408
1393
  className: "group block w-full rounded-xl overflow-hidden border border-gray-100 text-left hover:shadow-md transition-shadow",
1409
1394
  onClick: () => {
1410
1395
  t(e), n();
1411
1396
  },
1412
- children: [e.featured.image ? /* @__PURE__ */ l("img", {
1397
+ children: [e.featured.image ? /* @__PURE__ */ u("img", {
1413
1398
  src: e.featured.image,
1414
1399
  alt: e.featured.title,
1415
1400
  className: "w-full h-28 object-cover"
1416
- }) : /* @__PURE__ */ l("div", {
1401
+ }) : /* @__PURE__ */ u("div", {
1417
1402
  className: "w-full h-28 bg-linear-to-br from-primary-100 to-primary-200 flex items-center justify-center text-4xl",
1418
1403
  children: e.icon ?? "🛍️"
1419
- }), /* @__PURE__ */ u("div", {
1404
+ }), /* @__PURE__ */ d("div", {
1420
1405
  className: "p-3",
1421
1406
  children: [
1422
- e.featured.eyebrow && /* @__PURE__ */ l("p", {
1407
+ e.featured.eyebrow && /* @__PURE__ */ u("p", {
1423
1408
  className: "text-[10px] font-semibold uppercase tracking-wider text-primary-500 mb-0.5",
1424
1409
  children: e.featured.eyebrow
1425
1410
  }),
1426
- /* @__PURE__ */ l("p", {
1411
+ /* @__PURE__ */ u("p", {
1427
1412
  className: "text-sm font-semibold text-gray-900 group-hover:text-primary-600 transition-colors",
1428
1413
  children: e.featured.title
1429
1414
  }),
1430
- e.featured.description && /* @__PURE__ */ l("p", {
1415
+ e.featured.description && /* @__PURE__ */ u("p", {
1431
1416
  className: "text-xs text-gray-500 mt-0.5 line-clamp-2",
1432
1417
  children: e.featured.description
1433
1418
  }),
1434
- e.featured.cta && /* @__PURE__ */ u("span", {
1419
+ e.featured.cta && /* @__PURE__ */ d("span", {
1435
1420
  className: "inline-block mt-2 text-xs font-medium text-primary-600",
1436
1421
  children: [e.featured.cta, " →"]
1437
1422
  })
@@ -1442,56 +1427,56 @@ function Ee({ item: e, onNavigate: t, onClose: n }) {
1442
1427
  })
1443
1428
  }) : null;
1444
1429
  }
1445
- function De({ items: e, activeId: t, onNavigate: n }) {
1446
- 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) => {
1447
1432
  a.current && clearTimeout(a.current), i(e);
1448
- }, d = () => {
1433
+ }, l = () => {
1449
1434
  a.current = setTimeout(() => i(null), 120);
1450
1435
  }, f = () => {
1451
1436
  a.current && clearTimeout(a.current);
1452
1437
  }, p = e.find((e) => e.id === r);
1453
- return /* @__PURE__ */ u("nav", {
1438
+ return /* @__PURE__ */ d("nav", {
1454
1439
  "aria-label": "Main navigation",
1455
1440
  className: "relative bg-white border-b border-gray-100",
1456
- onMouseLeave: d,
1457
- children: [/* @__PURE__ */ l("div", {
1441
+ onMouseLeave: l,
1442
+ children: [/* @__PURE__ */ u("div", {
1458
1443
  className: "max-w-7xl mx-auto px-4",
1459
- children: /* @__PURE__ */ l("ul", {
1444
+ children: /* @__PURE__ */ u("ul", {
1460
1445
  className: "flex items-center gap-0",
1461
1446
  role: "menubar",
1462
1447
  children: e.map((e) => {
1463
- let a = !!e.columns?.length, o = r === e.id, s = t === e.id;
1464
- return /* @__PURE__ */ l("li", {
1448
+ let a = !!e.columns?.length, s = r === e.id, c = t === e.id;
1449
+ return /* @__PURE__ */ u("li", {
1465
1450
  role: "none",
1466
- children: /* @__PURE__ */ u("button", {
1451
+ children: /* @__PURE__ */ d("button", {
1467
1452
  role: "menuitem",
1468
1453
  "aria-haspopup": a ? "true" : void 0,
1469
- "aria-expanded": a ? o : void 0,
1454
+ "aria-expanded": a ? s : void 0,
1470
1455
  className: [
1471
1456
  "flex items-center gap-1.5 px-4 py-3.5 text-sm font-medium transition-colors relative",
1472
1457
  "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500",
1473
- s || o ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1474
- o ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
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" : ""
1475
1460
  ].filter(Boolean).join(" "),
1476
- onMouseEnter: () => a ? c(e.id) : i(null),
1477
- onFocus: () => a && c(e.id),
1461
+ onMouseEnter: () => a ? o(e.id) : i(null),
1462
+ onFocus: () => a && o(e.id),
1478
1463
  onClick: () => {
1479
1464
  a || (n?.(e), i(null));
1480
1465
  },
1481
1466
  children: [
1482
- e.icon && /* @__PURE__ */ l("span", {
1467
+ e.icon && /* @__PURE__ */ u("span", {
1483
1468
  className: "text-base leading-none",
1484
1469
  children: e.icon
1485
1470
  }),
1486
1471
  e.label,
1487
- a && /* @__PURE__ */ l("svg", {
1472
+ a && /* @__PURE__ */ u("svg", {
1488
1473
  xmlns: "http://www.w3.org/2000/svg",
1489
1474
  fill: "none",
1490
1475
  viewBox: "0 0 24 24",
1491
1476
  strokeWidth: 2,
1492
1477
  stroke: "currentColor",
1493
- className: `w-3.5 h-3.5 transition-transform duration-150 ${o ? "rotate-180" : ""}`,
1494
- children: /* @__PURE__ */ l("path", {
1478
+ className: `w-3.5 h-3.5 transition-transform duration-150 ${s ? "rotate-180" : ""}`,
1479
+ children: /* @__PURE__ */ u("path", {
1495
1480
  strokeLinecap: "round",
1496
1481
  strokeLinejoin: "round",
1497
1482
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
@@ -1502,10 +1487,10 @@ function De({ items: e, activeId: t, onNavigate: n }) {
1502
1487
  }, e.id);
1503
1488
  })
1504
1489
  })
1505
- }), p?.columns?.length && /* @__PURE__ */ l("div", {
1490
+ }), p?.columns?.length && /* @__PURE__ */ u("div", {
1506
1491
  onMouseEnter: f,
1507
- onMouseLeave: d,
1508
- children: /* @__PURE__ */ l(Ee, {
1492
+ onMouseLeave: l,
1493
+ children: /* @__PURE__ */ u(ke, {
1509
1494
  item: p,
1510
1495
  onNavigate: (e) => n?.(e),
1511
1496
  onClose: () => i(null)
@@ -1515,22 +1500,22 @@ function De({ items: e, activeId: t, onNavigate: n }) {
1515
1500
  }
1516
1501
  //#endregion
1517
1502
  //#region src/components/BannerCarousel/BannerCarousel.tsx
1518
- function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1519
- let [m, h] = s(0), [g, _] = s(!1), v = o(null), y = o(null), b = e.length, x = n((e) => {
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) => {
1520
1505
  h((e % b + b) % b);
1521
- }, [b]), S = () => x(m - 1), C = n(() => x(m + 1), [m, x]);
1522
- r(() => {
1523
- if (!(!t || g || b <= 1)) return v.current = setInterval(C, i), () => {
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), () => {
1524
1509
  v.current && clearInterval(v.current);
1525
1510
  };
1526
1511
  }, [
1527
1512
  t,
1528
1513
  g,
1529
- i,
1514
+ n,
1530
1515
  C,
1531
1516
  b
1532
1517
  ]);
1533
- let w = o(null), T = (e) => {
1518
+ let w = s(null), T = (e) => {
1534
1519
  w.current = e.touches[0].clientX;
1535
1520
  }, E = (e) => {
1536
1521
  if (w.current === null) return;
@@ -1539,7 +1524,7 @@ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1539
1524
  };
1540
1525
  if (b === 0) return null;
1541
1526
  let D = e[m], O = D.textColor === "light" || !D.textColor;
1542
- return /* @__PURE__ */ u("div", {
1527
+ return /* @__PURE__ */ d("div", {
1543
1528
  className: ["relative overflow-hidden rounded-xl", f].filter(Boolean).join(" "),
1544
1529
  style: { aspectRatio: p },
1545
1530
  onMouseEnter: () => _(!0),
@@ -1547,41 +1532,41 @@ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1547
1532
  onTouchStart: T,
1548
1533
  onTouchEnd: E,
1549
1534
  children: [
1550
- /* @__PURE__ */ l("div", {
1535
+ /* @__PURE__ */ u("div", {
1551
1536
  ref: y,
1552
1537
  className: "relative w-full h-full",
1553
- children: e.map((e, t) => /* @__PURE__ */ u("div", {
1538
+ children: e.map((e, t) => /* @__PURE__ */ d("div", {
1554
1539
  "aria-hidden": t !== m,
1555
1540
  className: ["absolute inset-0 transition-opacity duration-700", t === m ? "opacity-100 z-10" : "opacity-0 z-0"].join(" "),
1556
1541
  style: { background: e.backgroundImage ? `url(${e.backgroundImage}) center/cover no-repeat` : e.backgroundColor ?? "linear-gradient(135deg, #1d4ed8 0%, #7c3aed 100%)" },
1557
- children: [e.backgroundImage && /* @__PURE__ */ l("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" }), /* @__PURE__ */ u("div", {
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", {
1558
1543
  className: "relative z-10 h-full flex items-center px-8 md:px-12 gap-8",
1559
- children: [/* @__PURE__ */ u("div", {
1544
+ children: [/* @__PURE__ */ d("div", {
1560
1545
  className: "flex-1 max-w-lg",
1561
1546
  children: [
1562
- e.eyebrow && /* @__PURE__ */ l("p", {
1547
+ e.eyebrow && /* @__PURE__ */ u("p", {
1563
1548
  className: `text-xs font-semibold uppercase tracking-widest mb-2 ${O ? "text-white/70" : "text-gray-500"}`,
1564
1549
  children: e.eyebrow
1565
1550
  }),
1566
- /* @__PURE__ */ l("h2", {
1551
+ /* @__PURE__ */ u("h2", {
1567
1552
  className: `text-2xl md:text-3xl lg:text-4xl font-bold leading-tight ${O ? "text-white" : "text-gray-900"}`,
1568
1553
  children: e.title
1569
1554
  }),
1570
- e.subtitle && /* @__PURE__ */ l("p", {
1555
+ e.subtitle && /* @__PURE__ */ u("p", {
1571
1556
  className: `mt-2 text-sm md:text-base ${O ? "text-white/80" : "text-gray-600"}`,
1572
1557
  children: e.subtitle
1573
1558
  }),
1574
- e.ctaLabel && /* @__PURE__ */ u("button", {
1559
+ e.ctaLabel && /* @__PURE__ */ d("button", {
1575
1560
  onClick: e.onCtaClick,
1576
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(" "),
1577
- children: [e.ctaLabel, /* @__PURE__ */ l("svg", {
1562
+ children: [e.ctaLabel, /* @__PURE__ */ u("svg", {
1578
1563
  xmlns: "http://www.w3.org/2000/svg",
1579
1564
  fill: "none",
1580
1565
  viewBox: "0 0 24 24",
1581
1566
  strokeWidth: 2,
1582
1567
  stroke: "currentColor",
1583
1568
  className: "w-4 h-4",
1584
- children: /* @__PURE__ */ l("path", {
1569
+ children: /* @__PURE__ */ u("path", {
1585
1570
  strokeLinecap: "round",
1586
1571
  strokeLinejoin: "round",
1587
1572
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -1589,9 +1574,9 @@ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1589
1574
  })]
1590
1575
  })
1591
1576
  ]
1592
- }), e.sideImage && /* @__PURE__ */ l("div", {
1577
+ }), e.sideImage && /* @__PURE__ */ u("div", {
1593
1578
  className: "hidden md:block flex-1 h-full flex items-end justify-end overflow-hidden",
1594
- children: /* @__PURE__ */ l("img", {
1579
+ children: /* @__PURE__ */ u("img", {
1595
1580
  src: e.sideImage,
1596
1581
  alt: "",
1597
1582
  className: "h-full w-auto object-contain object-bottom drop-shadow-2xl"
@@ -1600,54 +1585,54 @@ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1600
1585
  })]
1601
1586
  }, e.id))
1602
1587
  }),
1603
- a && b > 1 && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("button", {
1588
+ a && b > 1 && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("button", {
1604
1589
  onClick: S,
1605
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",
1606
1591
  "aria-label": "Previous banner",
1607
- children: /* @__PURE__ */ l("svg", {
1592
+ children: /* @__PURE__ */ u("svg", {
1608
1593
  xmlns: "http://www.w3.org/2000/svg",
1609
1594
  fill: "none",
1610
1595
  viewBox: "0 0 24 24",
1611
1596
  strokeWidth: 2,
1612
1597
  stroke: "currentColor",
1613
1598
  className: "w-5 h-5",
1614
- children: /* @__PURE__ */ l("path", {
1599
+ children: /* @__PURE__ */ u("path", {
1615
1600
  strokeLinecap: "round",
1616
1601
  strokeLinejoin: "round",
1617
1602
  d: "M15.75 19.5L8.25 12l7.5-7.5"
1618
1603
  })
1619
1604
  })
1620
- }), /* @__PURE__ */ l("button", {
1605
+ }), /* @__PURE__ */ u("button", {
1621
1606
  onClick: C,
1622
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",
1623
1608
  "aria-label": "Next banner",
1624
- children: /* @__PURE__ */ l("svg", {
1609
+ children: /* @__PURE__ */ u("svg", {
1625
1610
  xmlns: "http://www.w3.org/2000/svg",
1626
1611
  fill: "none",
1627
1612
  viewBox: "0 0 24 24",
1628
1613
  strokeWidth: 2,
1629
1614
  stroke: "currentColor",
1630
1615
  className: "w-5 h-5",
1631
- children: /* @__PURE__ */ l("path", {
1616
+ children: /* @__PURE__ */ u("path", {
1632
1617
  strokeLinecap: "round",
1633
1618
  strokeLinejoin: "round",
1634
1619
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1635
1620
  })
1636
1621
  })
1637
1622
  })] }),
1638
- d && b > 1 && /* @__PURE__ */ l("div", {
1623
+ o && b > 1 && /* @__PURE__ */ u("div", {
1639
1624
  className: "absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex gap-1.5",
1640
- children: e.map((e, t) => /* @__PURE__ */ l("button", {
1625
+ children: e.map((e, t) => /* @__PURE__ */ u("button", {
1641
1626
  onClick: () => x(t),
1642
1627
  "aria-label": `Go to slide ${t + 1}`,
1643
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(" ")
1644
1629
  }, t))
1645
1630
  }),
1646
- t && b > 1 && /* @__PURE__ */ l("div", {
1631
+ t && b > 1 && /* @__PURE__ */ u("div", {
1647
1632
  className: "absolute bottom-0 left-0 right-0 h-0.5 bg-white/20 z-20",
1648
- children: /* @__PURE__ */ l("div", {
1633
+ children: /* @__PURE__ */ u("div", {
1649
1634
  className: `h-full bg-white/60 ${g ? "" : "animate-progress"}`,
1650
- style: { animation: g ? "none" : `progress ${i}ms linear` }
1635
+ style: { animation: g ? "none" : `progress ${n}ms linear` }
1651
1636
  }, `${m}-${g}`)
1652
1637
  })
1653
1638
  ]
@@ -1655,23 +1640,23 @@ function Oe({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
1655
1640
  }
1656
1641
  //#endregion
1657
1642
  //#region src/components/ProductCard/ProductCard.tsx
1658
- function ke({ filled: e }) {
1659
- return /* @__PURE__ */ l("svg", {
1643
+ function Me({ filled: e }) {
1644
+ return /* @__PURE__ */ u("svg", {
1660
1645
  xmlns: "http://www.w3.org/2000/svg",
1661
1646
  viewBox: "0 0 24 24",
1662
1647
  className: `w-3.5 h-3.5 ${e ? "fill-amber-400 stroke-amber-400" : "fill-gray-200 stroke-gray-300"}`,
1663
1648
  strokeWidth: 1,
1664
- children: /* @__PURE__ */ l("path", {
1649
+ children: /* @__PURE__ */ u("path", {
1665
1650
  strokeLinecap: "round",
1666
1651
  strokeLinejoin: "round",
1667
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"
1668
1653
  })
1669
1654
  });
1670
1655
  }
1671
- function Ae({ value: e, count: t }) {
1672
- return /* @__PURE__ */ u("div", {
1656
+ function Ne({ value: e, count: t }) {
1657
+ return /* @__PURE__ */ d("div", {
1673
1658
  className: "flex items-center gap-1",
1674
- children: [/* @__PURE__ */ l("div", {
1659
+ children: [/* @__PURE__ */ u("div", {
1675
1660
  className: "flex gap-0.5",
1676
1661
  children: [
1677
1662
  1,
@@ -1679,8 +1664,8 @@ function Ae({ value: e, count: t }) {
1679
1664
  3,
1680
1665
  4,
1681
1666
  5
1682
- ].map((t) => /* @__PURE__ */ l(ke, { filled: t <= Math.round(e) }, t))
1683
- }), 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", {
1684
1669
  className: "text-xs text-gray-400",
1685
1670
  children: [
1686
1671
  "(",
@@ -1690,54 +1675,54 @@ function Ae({ value: e, count: t }) {
1690
1675
  })]
1691
1676
  });
1692
1677
  }
1693
- function je(e) {
1678
+ function Pe(e) {
1694
1679
  let t = e.toLowerCase();
1695
1680
  return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
1696
1681
  }
1697
- function Me(e, t = "Kč") {
1682
+ function Fe(e, t = "Kč") {
1698
1683
  return `${e.toLocaleString("cs-CZ")} ${t}`;
1699
1684
  }
1700
- function Ne(e, t) {
1685
+ function Ie(e, t) {
1701
1686
  return Math.round((1 - t / e) * 100);
1702
1687
  }
1703
- function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: i, size: a = "default", className: o = "" }) {
1704
- let [c, d] = s(!1), [f, p] = s(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1705
- return /* @__PURE__ */ u("article", {
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", {
1706
1691
  className: [
1707
1692
  "group relative flex flex-col bg-white rounded-xl border border-gray-200",
1708
1693
  "hover:shadow-md transition-shadow duration-200 overflow-hidden cursor-pointer",
1709
1694
  o
1710
1695
  ].filter(Boolean).join(" "),
1711
1696
  onClick: () => i?.(e),
1712
- onMouseEnter: () => d(!0),
1713
- onMouseLeave: () => d(!1),
1714
- children: [/* @__PURE__ */ u("div", {
1697
+ onMouseEnter: () => l(!0),
1698
+ onMouseLeave: () => l(!1),
1699
+ children: [/* @__PURE__ */ d("div", {
1715
1700
  className: `relative overflow-hidden bg-gray-50 ${a === "compact" ? "aspect-square" : "aspect-4/3"}`,
1716
1701
  children: [
1717
- e.image ? /* @__PURE__ */ l("img", {
1718
- src: c && e.imageHover ? e.imageHover : e.image,
1702
+ e.image ? /* @__PURE__ */ u("img", {
1703
+ src: s && e.imageHover ? e.imageHover : e.image,
1719
1704
  alt: e.name,
1720
1705
  className: "w-full h-full object-contain p-4 transition-transform duration-300 group-hover:scale-105"
1721
- }) : /* @__PURE__ */ l("div", {
1706
+ }) : /* @__PURE__ */ u("div", {
1722
1707
  className: "w-full h-full flex items-center justify-center text-5xl bg-linear-to-br from-gray-100 to-gray-200",
1723
1708
  children: "🛍️"
1724
1709
  }),
1725
- e.badge && /* @__PURE__ */ l("div", {
1710
+ e.badge && /* @__PURE__ */ u("div", {
1726
1711
  className: "absolute top-2 left-2",
1727
- children: /* @__PURE__ */ l(j, {
1728
- variant: je(e.badge),
1712
+ children: /* @__PURE__ */ u(M, {
1713
+ variant: Pe(e.badge),
1729
1714
  size: "sm",
1730
- children: e.badge === "sale" && m ? `-${Ne(e.originalPrice, e.price)}%` : e.badge
1715
+ children: e.badge === "sale" && m ? `-${Ie(e.originalPrice, e.price)}%` : e.badge
1731
1716
  })
1732
1717
  }),
1733
- e.inStock === !1 && /* @__PURE__ */ l("div", {
1718
+ e.inStock === !1 && /* @__PURE__ */ u("div", {
1734
1719
  className: "absolute inset-0 bg-white/70 flex items-center justify-center",
1735
- children: /* @__PURE__ */ l("span", {
1720
+ children: /* @__PURE__ */ u("span", {
1736
1721
  className: "text-sm font-semibold text-gray-500 bg-white/90 px-3 py-1 rounded-full border border-gray-200",
1737
1722
  children: "Vyprodáno"
1738
1723
  })
1739
1724
  }),
1740
- /* @__PURE__ */ l("button", {
1725
+ /* @__PURE__ */ u("button", {
1741
1726
  onClick: (t) => {
1742
1727
  t.stopPropagation(), n?.(e);
1743
1728
  },
@@ -1748,22 +1733,22 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1748
1733
  "opacity-0 group-hover:opacity-100 focus:opacity-100",
1749
1734
  r ? "text-danger-500" : "text-gray-400 hover:text-danger-400"
1750
1735
  ].join(" "),
1751
- children: /* @__PURE__ */ l("svg", {
1736
+ children: /* @__PURE__ */ u("svg", {
1752
1737
  xmlns: "http://www.w3.org/2000/svg",
1753
1738
  viewBox: "0 0 24 24",
1754
1739
  strokeWidth: 1.5,
1755
1740
  stroke: "currentColor",
1756
1741
  className: `w-4 h-4 ${r ? "fill-current" : "fill-none"}`,
1757
- children: /* @__PURE__ */ l("path", {
1742
+ children: /* @__PURE__ */ u("path", {
1758
1743
  strokeLinecap: "round",
1759
1744
  strokeLinejoin: "round",
1760
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"
1761
1746
  })
1762
1747
  })
1763
1748
  }),
1764
- /* @__PURE__ */ l("div", {
1765
- className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200", c ? "translate-y-0" : "translate-y-full"].join(" "),
1766
- children: /* @__PURE__ */ l(w, {
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, {
1767
1752
  variant: "primary",
1768
1753
  size: "sm",
1769
1754
  fullWidth: !0,
@@ -1773,16 +1758,16 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1773
1758
  n.stopPropagation(), t?.(e), p(!0), setTimeout(() => p(!1), 1500);
1774
1759
  },
1775
1760
  className: "shadow-lg",
1776
- children: f ? /* @__PURE__ */ u("span", {
1761
+ children: f ? /* @__PURE__ */ d("span", {
1777
1762
  className: "flex items-center gap-1.5",
1778
- children: [/* @__PURE__ */ l("svg", {
1763
+ children: [/* @__PURE__ */ u("svg", {
1779
1764
  xmlns: "http://www.w3.org/2000/svg",
1780
1765
  fill: "none",
1781
1766
  viewBox: "0 0 24 24",
1782
1767
  strokeWidth: 2,
1783
1768
  stroke: "currentColor",
1784
1769
  className: "w-4 h-4",
1785
- children: /* @__PURE__ */ l("path", {
1770
+ children: /* @__PURE__ */ u("path", {
1786
1771
  strokeLinecap: "round",
1787
1772
  strokeLinejoin: "round",
1788
1773
  d: "M4.5 12.75l6 6 9-13.5"
@@ -1792,36 +1777,36 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1792
1777
  })
1793
1778
  })
1794
1779
  ]
1795
- }), /* @__PURE__ */ u("div", {
1780
+ }), /* @__PURE__ */ d("div", {
1796
1781
  className: `flex flex-col gap-1.5 ${a === "compact" ? "p-3" : "p-4"}`,
1797
1782
  children: [
1798
- e.variants && e.variants.length > 0 && /* @__PURE__ */ u("div", {
1783
+ e.variants && e.variants.length > 0 && /* @__PURE__ */ d("div", {
1799
1784
  className: "flex gap-1",
1800
- children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ l("span", {
1785
+ children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ u("span", {
1801
1786
  title: e.label,
1802
1787
  className: "w-4 h-4 rounded-full border border-gray-300 shrink-0",
1803
1788
  style: { backgroundColor: e.color ?? "#ccc" }
1804
- }, e.id)), e.variants.length > 5 && /* @__PURE__ */ u("span", {
1789
+ }, e.id)), e.variants.length > 5 && /* @__PURE__ */ d("span", {
1805
1790
  className: "text-xs text-gray-400",
1806
1791
  children: ["+", e.variants.length - 5]
1807
1792
  })]
1808
1793
  }),
1809
- /* @__PURE__ */ l("h3", {
1794
+ /* @__PURE__ */ u("h3", {
1810
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"}`,
1811
1796
  children: e.name
1812
1797
  }),
1813
- e.rating !== void 0 && /* @__PURE__ */ l(Ae, {
1798
+ e.rating !== void 0 && /* @__PURE__ */ u(Ne, {
1814
1799
  value: e.rating,
1815
1800
  count: e.reviewCount
1816
1801
  }),
1817
- /* @__PURE__ */ u("div", {
1802
+ /* @__PURE__ */ d("div", {
1818
1803
  className: "flex items-baseline gap-2 mt-auto pt-1",
1819
- children: [/* @__PURE__ */ l("span", {
1804
+ children: [/* @__PURE__ */ u("span", {
1820
1805
  className: `font-bold text-gray-900 ${a === "compact" ? "text-base" : "text-lg"}`,
1821
- children: Me(e.price, e.currency)
1822
- }), m && /* @__PURE__ */ l("span", {
1806
+ children: Fe(e.price, e.currency)
1807
+ }), m && /* @__PURE__ */ u("span", {
1823
1808
  className: "text-sm text-gray-400 line-through",
1824
- children: Me(e.originalPrice, e.currency)
1809
+ children: Fe(e.originalPrice, e.currency)
1825
1810
  })]
1826
1811
  })
1827
1812
  ]
@@ -1830,12 +1815,12 @@ function Pe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1830
1815
  }
1831
1816
  //#endregion
1832
1817
  //#region src/components/ProductGrid/ProductGrid.tsx
1833
- var Fe = {
1818
+ var Re = {
1834
1819
  2: "grid-cols-2",
1835
1820
  3: "grid-cols-2 md:grid-cols-3",
1836
1821
  4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
1837
1822
  5: "grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"
1838
- }, Ie = [
1823
+ }, ze = [
1839
1824
  {
1840
1825
  value: "newest",
1841
1826
  label: "Nejnovější"
@@ -1857,50 +1842,50 @@ var Fe = {
1857
1842
  label: "Bestsellery"
1858
1843
  }
1859
1844
  ];
1860
- function Le() {
1861
- return /* @__PURE__ */ u("div", {
1845
+ function Be() {
1846
+ return /* @__PURE__ */ d("div", {
1862
1847
  className: "rounded-xl border border-gray-100 overflow-hidden animate-pulse",
1863
- 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", {
1864
1849
  className: "p-4 space-y-2",
1865
1850
  children: [
1866
- /* @__PURE__ */ l("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1867
- /* @__PURE__ */ l("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1868
- /* @__PURE__ */ l("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
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" })
1869
1854
  ]
1870
1855
  })]
1871
1856
  });
1872
1857
  }
1873
- function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage: i = 20, columns: a = 4, sortOptions: o = Ie, selectedSort: s, onSortChange: c, activeFilters: d = [], onRemoveFilter: f, onClearFilters: p, loading: m = !1, emptyState: h, onAddToCart: g, onWishlistToggle: _, onProductClick: v, wishlisted: y = [], className: b = "" }) {
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 = "" }) {
1874
1859
  let x = t ? Math.ceil(t / i) : void 0, S = a >= 5 ? "compact" : "default";
1875
- return /* @__PURE__ */ u("div", {
1860
+ return /* @__PURE__ */ d("div", {
1876
1861
  className: ["w-full", b].filter(Boolean).join(" "),
1877
1862
  children: [
1878
- /* @__PURE__ */ u("div", {
1863
+ /* @__PURE__ */ d("div", {
1879
1864
  className: "flex flex-wrap items-center justify-between gap-3 mb-4",
1880
- children: [/* @__PURE__ */ u("div", {
1865
+ children: [/* @__PURE__ */ d("div", {
1881
1866
  className: "flex flex-wrap items-center gap-2",
1882
1867
  children: [
1883
- t !== void 0 && /* @__PURE__ */ u("span", {
1868
+ t !== void 0 && /* @__PURE__ */ d("span", {
1884
1869
  className: "text-sm text-gray-500",
1885
- children: [/* @__PURE__ */ l("span", {
1870
+ children: [/* @__PURE__ */ u("span", {
1886
1871
  className: "font-semibold text-gray-900",
1887
1872
  children: t
1888
1873
  }), " produktů"]
1889
1874
  }),
1890
- d.map((e) => /* @__PURE__ */ u("span", {
1875
+ l.map((e) => /* @__PURE__ */ d("span", {
1891
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",
1892
- children: [e, /* @__PURE__ */ l("button", {
1877
+ children: [e, /* @__PURE__ */ u("button", {
1893
1878
  onClick: () => f?.(e),
1894
1879
  "aria-label": `Remove filter ${e}`,
1895
1880
  className: "hover:text-primary-900 transition-colors",
1896
- children: /* @__PURE__ */ l("svg", {
1881
+ children: /* @__PURE__ */ u("svg", {
1897
1882
  xmlns: "http://www.w3.org/2000/svg",
1898
1883
  fill: "none",
1899
1884
  viewBox: "0 0 24 24",
1900
1885
  strokeWidth: 2,
1901
1886
  stroke: "currentColor",
1902
1887
  className: "w-3 h-3",
1903
- children: /* @__PURE__ */ l("path", {
1888
+ children: /* @__PURE__ */ u("path", {
1904
1889
  strokeLinecap: "round",
1905
1890
  strokeLinejoin: "round",
1906
1891
  d: "M6 18L18 6M6 6l12 12"
@@ -1908,13 +1893,13 @@ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1908
1893
  })
1909
1894
  })]
1910
1895
  }, e)),
1911
- d.length > 1 && /* @__PURE__ */ l("button", {
1896
+ l.length > 1 && /* @__PURE__ */ u("button", {
1912
1897
  onClick: p,
1913
1898
  className: "text-xs text-gray-400 hover:text-gray-600 underline underline-offset-2 transition-colors",
1914
1899
  children: "Zrušit vše"
1915
1900
  })
1916
1901
  ]
1917
- }), /* @__PURE__ */ l(O, {
1902
+ }), /* @__PURE__ */ u(k, {
1918
1903
  options: o,
1919
1904
  value: s ?? "",
1920
1905
  onChange: (e) => c?.(e.target.value),
@@ -1922,36 +1907,36 @@ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1922
1907
  className: "text-sm"
1923
1908
  })]
1924
1909
  }),
1925
- m ? /* @__PURE__ */ l("div", {
1926
- className: `grid gap-4 ${Fe[a]}`,
1927
- children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ l(Le, {}, t))
1928
- }) : e.length === 0 ? /* @__PURE__ */ l("div", {
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", {
1929
1914
  className: "py-16 text-center",
1930
- children: h ?? /* @__PURE__ */ u("div", {
1915
+ children: h ?? /* @__PURE__ */ d("div", {
1931
1916
  className: "space-y-2",
1932
1917
  children: [
1933
- /* @__PURE__ */ l("p", {
1918
+ /* @__PURE__ */ u("p", {
1934
1919
  className: "text-4xl",
1935
1920
  children: "🔍"
1936
1921
  }),
1937
- /* @__PURE__ */ l("p", {
1922
+ /* @__PURE__ */ u("p", {
1938
1923
  className: "font-semibold text-gray-900",
1939
1924
  children: "Žádné produkty nenalezeny"
1940
1925
  }),
1941
- /* @__PURE__ */ l("p", {
1926
+ /* @__PURE__ */ u("p", {
1942
1927
  className: "text-sm text-gray-500",
1943
1928
  children: "Zkuste upravit filtry nebo hledat jinak."
1944
1929
  }),
1945
- d.length > 0 && /* @__PURE__ */ l("button", {
1930
+ l.length > 0 && /* @__PURE__ */ u("button", {
1946
1931
  onClick: p,
1947
1932
  className: "mt-3 text-sm text-primary-600 hover:underline",
1948
1933
  children: "Zrušit všechny filtry"
1949
1934
  })
1950
1935
  ]
1951
1936
  })
1952
- }) : /* @__PURE__ */ l("div", {
1953
- className: `grid gap-4 ${Fe[a]}`,
1954
- children: e.map((e) => /* @__PURE__ */ l(Pe, {
1937
+ }) : /* @__PURE__ */ u("div", {
1938
+ className: `grid gap-4 ${Re[a]}`,
1939
+ children: e.map((e) => /* @__PURE__ */ u(Le, {
1955
1940
  product: e,
1956
1941
  size: S,
1957
1942
  onAddToCart: g,
@@ -1960,9 +1945,9 @@ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1960
1945
  isWishlisted: y.includes(e.id)
1961
1946
  }, e.id))
1962
1947
  }),
1963
- x && x > 1 && r && /* @__PURE__ */ l("div", {
1948
+ x && x > 1 && r && /* @__PURE__ */ u("div", {
1964
1949
  className: "flex justify-center mt-8",
1965
- children: /* @__PURE__ */ l(Y, {
1950
+ children: /* @__PURE__ */ u(X, {
1966
1951
  page: n,
1967
1952
  totalPages: x,
1968
1953
  onPageChange: r
@@ -1972,15 +1957,63 @@ function Re({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1972
1957
  });
1973
1958
  }
1974
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
1975
2008
  //#region src/components/CallToAction/CallToAction.tsx
1976
- var ze = {
2009
+ var Ue = {
1977
2010
  default: "bg-gray-50 border border-gray-200",
1978
2011
  primary: "bg-primary-600",
1979
2012
  dark: "bg-gray-900",
1980
2013
  gradient: "bg-linear-to-br from-primary-600 via-primary-700 to-violet-700",
1981
2014
  outline: "bg-white border-2 border-primary-600",
1982
2015
  image: "relative overflow-hidden"
1983
- }, Be = {
2016
+ }, We = {
1984
2017
  default: {
1985
2018
  eyebrow: "text-primary-600",
1986
2019
  title: "text-gray-900",
@@ -2011,7 +2044,7 @@ var ze = {
2011
2044
  title: "text-white",
2012
2045
  description: "text-white/80"
2013
2046
  }
2014
- }, Ve = {
2047
+ }, Ge = {
2015
2048
  sm: {
2016
2049
  wrapper: "px-6 py-6 rounded-xl",
2017
2050
  title: "text-xl font-bold",
@@ -2036,7 +2069,7 @@ var ze = {
2036
2069
  description: "text-xl",
2037
2070
  eyebrow: "text-sm"
2038
2071
  }
2039
- }, He = {
2072
+ }, Ke = {
2040
2073
  left: {
2041
2074
  wrapper: "items-start text-left",
2042
2075
  actions: "justify-start"
@@ -2050,58 +2083,58 @@ var ze = {
2050
2083
  actions: "justify-end"
2051
2084
  }
2052
2085
  };
2053
- function Ue({ eyebrow: e, title: t, description: n, actions: r = [], align: i = "center", layout: a = "stacked", size: o = "md", variant: s = "default", background: c, backgroundImage: d, media: f, className: p = "", style: m }) {
2054
- let h = Be[s], g = Ve[o], _ = He[i], v = a === "inline", y = {
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 = {
2055
2088
  ...c ? { background: c } : {},
2056
- ...d ? {
2057
- backgroundImage: `url(${d})`,
2089
+ ...l ? {
2090
+ backgroundImage: `url(${l})`,
2058
2091
  backgroundSize: "cover",
2059
2092
  backgroundPosition: "center"
2060
2093
  } : {},
2061
2094
  ...m
2062
2095
  };
2063
- return /* @__PURE__ */ u("div", {
2096
+ return /* @__PURE__ */ d("div", {
2064
2097
  className: [
2065
2098
  "w-full",
2066
- ze[s],
2099
+ Ue[s],
2067
2100
  g.wrapper,
2068
2101
  p
2069
2102
  ].filter(Boolean).join(" "),
2070
2103
  style: Object.keys(y).length ? y : void 0,
2071
- 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", {
2072
2105
  className: `relative ${v ? "flex flex-wrap items-center justify-between gap-6" : `flex flex-col gap-4 ${_.wrapper}`}`,
2073
2106
  children: [
2074
- /* @__PURE__ */ u("div", {
2107
+ /* @__PURE__ */ d("div", {
2075
2108
  className: `flex flex-col gap-2 ${v ? "flex-1 min-w-0" : _.wrapper}`,
2076
2109
  children: [
2077
- e && /* @__PURE__ */ l("p", {
2110
+ e && /* @__PURE__ */ u("p", {
2078
2111
  className: `font-semibold uppercase tracking-widest ${g.eyebrow} ${h.eyebrow}`,
2079
2112
  children: e
2080
2113
  }),
2081
- /* @__PURE__ */ l("h2", {
2114
+ /* @__PURE__ */ u("h2", {
2082
2115
  className: `${g.title} ${h.title}`,
2083
2116
  children: t
2084
2117
  }),
2085
- n && /* @__PURE__ */ l("p", {
2118
+ n && /* @__PURE__ */ u("p", {
2086
2119
  className: `max-w-2xl ${g.description} ${h.description}`,
2087
2120
  children: n
2088
2121
  })
2089
2122
  ]
2090
2123
  }),
2091
- f && !v && /* @__PURE__ */ l("div", {
2124
+ f && !v && /* @__PURE__ */ u("div", {
2092
2125
  className: "mt-2",
2093
2126
  children: f
2094
2127
  }),
2095
- r.length > 0 && /* @__PURE__ */ l("div", {
2128
+ r.length > 0 && /* @__PURE__ */ u("div", {
2096
2129
  className: `flex flex-wrap gap-3 ${v ? "shrink-0" : _.actions}`,
2097
2130
  children: r.map((e, t) => {
2098
- let n = /* @__PURE__ */ l(w, {
2099
- variant: e.variant ?? (t === 0 ? We(s) : "outline"),
2131
+ let n = /* @__PURE__ */ u(T, {
2132
+ variant: e.variant ?? (t === 0 ? Je(s) : "outline"),
2100
2133
  size: e.size ?? (o === "sm" ? "sm" : o === "xl" ? "lg" : "md"),
2101
2134
  onClick: e.onClick,
2102
2135
  children: e.label
2103
2136
  }, t);
2104
- return e.href ? /* @__PURE__ */ l("a", {
2137
+ return e.href ? /* @__PURE__ */ u("a", {
2105
2138
  href: e.href,
2106
2139
  className: "contents",
2107
2140
  children: n
@@ -2112,233 +2145,233 @@ function Ue({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
2112
2145
  })]
2113
2146
  });
2114
2147
  }
2115
- function We(e) {
2148
+ function Je(e) {
2116
2149
  return e === "default" || e === "outline" ? "primary" : "secondary";
2117
2150
  }
2118
2151
  //#endregion
2119
2152
  //#region src/components/Footer/Footer.tsx
2120
- function Ge() {
2121
- return /* @__PURE__ */ l("svg", {
2153
+ function Ye() {
2154
+ return /* @__PURE__ */ u("svg", {
2122
2155
  xmlns: "http://www.w3.org/2000/svg",
2123
2156
  fill: "none",
2124
2157
  viewBox: "0 0 24 24",
2125
2158
  strokeWidth: 1.5,
2126
2159
  stroke: "currentColor",
2127
2160
  className: "w-4 h-4 shrink-0",
2128
- children: /* @__PURE__ */ l("path", {
2161
+ children: /* @__PURE__ */ u("path", {
2129
2162
  strokeLinecap: "round",
2130
2163
  strokeLinejoin: "round",
2131
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"
2132
2165
  })
2133
2166
  });
2134
2167
  }
2135
- function Ke() {
2136
- return /* @__PURE__ */ l("svg", {
2168
+ function Xe() {
2169
+ return /* @__PURE__ */ u("svg", {
2137
2170
  xmlns: "http://www.w3.org/2000/svg",
2138
2171
  fill: "none",
2139
2172
  viewBox: "0 0 24 24",
2140
2173
  strokeWidth: 1.5,
2141
2174
  stroke: "currentColor",
2142
2175
  className: "w-4 h-4 shrink-0",
2143
- children: /* @__PURE__ */ l("path", {
2176
+ children: /* @__PURE__ */ u("path", {
2144
2177
  strokeLinecap: "round",
2145
2178
  strokeLinejoin: "round",
2146
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"
2147
2180
  })
2148
2181
  });
2149
2182
  }
2150
- function qe() {
2151
- return /* @__PURE__ */ u("svg", {
2183
+ function Ze() {
2184
+ return /* @__PURE__ */ d("svg", {
2152
2185
  xmlns: "http://www.w3.org/2000/svg",
2153
2186
  fill: "none",
2154
2187
  viewBox: "0 0 24 24",
2155
2188
  strokeWidth: 1.5,
2156
2189
  stroke: "currentColor",
2157
2190
  className: "w-4 h-4 shrink-0",
2158
- children: [/* @__PURE__ */ l("path", {
2191
+ children: [/* @__PURE__ */ u("path", {
2159
2192
  strokeLinecap: "round",
2160
2193
  strokeLinejoin: "round",
2161
2194
  d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
2162
- }), /* @__PURE__ */ l("path", {
2195
+ }), /* @__PURE__ */ u("path", {
2163
2196
  strokeLinecap: "round",
2164
2197
  strokeLinejoin: "round",
2165
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"
2166
2199
  })]
2167
2200
  });
2168
2201
  }
2169
- function Je() {
2170
- return /* @__PURE__ */ l("svg", {
2202
+ function Qe() {
2203
+ return /* @__PURE__ */ u("svg", {
2171
2204
  xmlns: "http://www.w3.org/2000/svg",
2172
2205
  fill: "none",
2173
2206
  viewBox: "0 0 24 24",
2174
2207
  strokeWidth: 1.5,
2175
2208
  stroke: "currentColor",
2176
2209
  className: "w-4 h-4 shrink-0",
2177
- children: /* @__PURE__ */ l("path", {
2210
+ children: /* @__PURE__ */ u("path", {
2178
2211
  strokeLinecap: "round",
2179
2212
  strokeLinejoin: "round",
2180
2213
  d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
2181
2214
  })
2182
2215
  });
2183
2216
  }
2184
- function Ye() {
2185
- return /* @__PURE__ */ l("svg", {
2217
+ function $e() {
2218
+ return /* @__PURE__ */ u("svg", {
2186
2219
  xmlns: "http://www.w3.org/2000/svg",
2187
2220
  viewBox: "0 0 24 24",
2188
2221
  fill: "currentColor",
2189
2222
  className: "w-4 h-4",
2190
- children: /* @__PURE__ */ l("path", { d: "M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.267h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z" })
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" })
2191
2224
  });
2192
2225
  }
2193
- function Xe() {
2194
- return /* @__PURE__ */ l("svg", {
2226
+ function et() {
2227
+ return /* @__PURE__ */ u("svg", {
2195
2228
  xmlns: "http://www.w3.org/2000/svg",
2196
2229
  viewBox: "0 0 24 24",
2197
2230
  fill: "currentColor",
2198
2231
  className: "w-4 h-4",
2199
- children: /* @__PURE__ */ l("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
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" })
2200
2233
  });
2201
2234
  }
2202
- function Ze() {
2203
- return /* @__PURE__ */ l("svg", {
2235
+ function tt() {
2236
+ return /* @__PURE__ */ u("svg", {
2204
2237
  xmlns: "http://www.w3.org/2000/svg",
2205
2238
  viewBox: "0 0 24 24",
2206
2239
  fill: "currentColor",
2207
2240
  className: "w-4 h-4",
2208
- children: /* @__PURE__ */ l("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" })
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" })
2209
2242
  });
2210
2243
  }
2211
- function Qe() {
2212
- return /* @__PURE__ */ l("svg", {
2244
+ function nt() {
2245
+ return /* @__PURE__ */ u("svg", {
2213
2246
  xmlns: "http://www.w3.org/2000/svg",
2214
2247
  viewBox: "0 0 24 24",
2215
2248
  fill: "currentColor",
2216
2249
  className: "w-4 h-4",
2217
- children: /* @__PURE__ */ l("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
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" })
2218
2251
  });
2219
2252
  }
2220
- function $e() {
2221
- return /* @__PURE__ */ l("svg", {
2253
+ function rt() {
2254
+ return /* @__PURE__ */ u("svg", {
2222
2255
  xmlns: "http://www.w3.org/2000/svg",
2223
2256
  viewBox: "0 0 24 24",
2224
2257
  fill: "currentColor",
2225
2258
  className: "w-4 h-4",
2226
- children: /* @__PURE__ */ l("path", { d: "M19.59 6.69a4.83 4.83 0 01-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 01-2.88 2.5 2.89 2.89 0 01-2.89-2.89 2.89 2.89 0 012.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 00-.79-.05 6.34 6.34 0 00-6.34 6.34 6.34 6.34 0 006.34 6.34 6.34 6.34 0 006.33-6.34V8.69a8.18 8.18 0 004.78 1.52V6.76a4.85 4.85 0 01-1.01-.07z" })
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" })
2227
2260
  });
2228
2261
  }
2229
- var et = {
2230
- facebook: Ye,
2231
- instagram: Xe,
2232
- twitter: Ze,
2233
- youtube: Qe,
2234
- tiktok: $e
2235
- }, tt = {
2236
- phone: Ge,
2237
- email: Ke,
2238
- address: qe,
2239
- hours: Je
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
2240
2273
  };
2241
- function nt(e) {
2274
+ function ot(e) {
2242
2275
  if (!e) return null;
2243
2276
  if (typeof e == "string") {
2244
- let t = tt[e];
2245
- return t ? /* @__PURE__ */ l(t, {}) : null;
2277
+ let t = at[e];
2278
+ return t ? /* @__PURE__ */ u(t, {}) : null;
2246
2279
  }
2247
2280
  return e;
2248
2281
  }
2249
- function rt(e) {
2282
+ function st(e) {
2250
2283
  if (typeof e == "string") {
2251
- let t = et[e];
2252
- return t ? /* @__PURE__ */ l(t, {}) : null;
2284
+ let t = it[e];
2285
+ return t ? /* @__PURE__ */ u(t, {}) : null;
2253
2286
  }
2254
2287
  return e;
2255
2288
  }
2256
- function it({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: o, bottomLinks: s = [], className: c = "" }) {
2257
- let d = (/* @__PURE__ */ new Date()).getFullYear();
2258
- 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", {
2259
2292
  className: ["bg-gray-900 text-gray-300", c].filter(Boolean).join(" "),
2260
- children: /* @__PURE__ */ u(x, { children: [/* @__PURE__ */ u("div", {
2293
+ children: /* @__PURE__ */ d(S, { children: [/* @__PURE__ */ d("div", {
2261
2294
  className: "max-w-7xl mx-auto px-4 py-12 grid grid-cols-1 md:grid-cols-2 gap-10 lg:gap-16",
2262
- children: [/* @__PURE__ */ u("div", {
2295
+ children: [/* @__PURE__ */ d("div", {
2263
2296
  className: "flex flex-col gap-6",
2264
2297
  children: [
2265
- /* @__PURE__ */ u("div", { children: [e ? /* @__PURE__ */ l("div", {
2298
+ /* @__PURE__ */ d("div", { children: [e ? /* @__PURE__ */ u("div", {
2266
2299
  className: "mb-3",
2267
2300
  children: e
2268
- }) : /* @__PURE__ */ l("span", {
2301
+ }) : /* @__PURE__ */ u("span", {
2269
2302
  className: "text-xl font-bold text-white tracking-tight mb-3 block",
2270
2303
  children: "shopito"
2271
- }), t && /* @__PURE__ */ l("p", {
2304
+ }), t && /* @__PURE__ */ u("p", {
2272
2305
  className: "text-sm text-gray-400 max-w-xs",
2273
2306
  children: t
2274
2307
  })] }),
2275
- r.length > 0 && /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("h3", {
2308
+ r.length > 0 && /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h3", {
2276
2309
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
2277
2310
  children: n
2278
- }), /* @__PURE__ */ l("ul", {
2311
+ }), /* @__PURE__ */ u("ul", {
2279
2312
  className: "space-y-3",
2280
2313
  children: r.map((e, t) => {
2281
- let n = nt(e.icon), r = /* @__PURE__ */ u("div", {
2314
+ let n = ot(e.icon), r = /* @__PURE__ */ d("div", {
2282
2315
  className: "flex items-start gap-2.5",
2283
- children: [n && /* @__PURE__ */ l("span", {
2316
+ children: [n && /* @__PURE__ */ u("span", {
2284
2317
  className: "mt-0.5 text-primary-400",
2285
2318
  children: n
2286
- }), /* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("p", {
2319
+ }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
2287
2320
  className: "text-xs text-gray-500 leading-none mb-0.5",
2288
2321
  children: e.label
2289
- }), /* @__PURE__ */ l("p", {
2322
+ }), /* @__PURE__ */ u("p", {
2290
2323
  className: `text-sm text-gray-200 ${e.href ? "hover:text-white transition-colors" : ""}`,
2291
2324
  children: e.value
2292
2325
  })] })]
2293
2326
  });
2294
- return /* @__PURE__ */ l("li", { children: e.href ? /* @__PURE__ */ l("a", {
2327
+ return /* @__PURE__ */ u("li", { children: e.href ? /* @__PURE__ */ u("a", {
2295
2328
  href: e.href,
2296
2329
  children: r
2297
2330
  }) : r }, t);
2298
2331
  })
2299
2332
  })] }),
2300
- a.length > 0 && /* @__PURE__ */ l("div", {
2333
+ a.length > 0 && /* @__PURE__ */ u("div", {
2301
2334
  className: "flex gap-2 flex-wrap",
2302
- children: a.map((e, t) => /* @__PURE__ */ l("a", {
2335
+ children: a.map((e, t) => /* @__PURE__ */ u("a", {
2303
2336
  href: e.href,
2304
2337
  "aria-label": e.label,
2305
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",
2306
- children: rt(e.icon)
2339
+ children: st(e.icon)
2307
2340
  }, t))
2308
2341
  })
2309
2342
  ]
2310
- }), i.length > 0 && /* @__PURE__ */ l("div", {
2343
+ }), i.length > 0 && /* @__PURE__ */ u("div", {
2311
2344
  className: `grid gap-8 ${i.length === 1 ? "grid-cols-1" : i.length === 2 ? "grid-cols-2" : "grid-cols-2 sm:grid-cols-3"}`,
2312
- 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", {
2313
2346
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
2314
2347
  children: e.heading
2315
- }), /* @__PURE__ */ l("ul", {
2348
+ }), /* @__PURE__ */ u("ul", {
2316
2349
  className: "space-y-2",
2317
- 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", {
2318
2351
  href: e.href,
2319
2352
  className: "text-sm text-gray-400 hover:text-white transition-colors",
2320
2353
  children: e.label
2321
- }) : /* @__PURE__ */ l("button", {
2354
+ }) : /* @__PURE__ */ u("button", {
2322
2355
  onClick: e.onClick,
2323
2356
  className: "text-sm text-gray-400 hover:text-white transition-colors text-left",
2324
2357
  children: e.label
2325
2358
  }) }, t))
2326
2359
  })] }, t))
2327
2360
  })]
2328
- }), /* @__PURE__ */ l("div", {
2361
+ }), /* @__PURE__ */ u("div", {
2329
2362
  className: "border-t border-gray-800",
2330
- children: /* @__PURE__ */ u("div", {
2363
+ children: /* @__PURE__ */ d("div", {
2331
2364
  className: "max-w-7xl mx-auto px-4 py-4 flex flex-wrap items-center justify-between gap-3",
2332
- children: [/* @__PURE__ */ l("p", {
2365
+ children: [/* @__PURE__ */ u("p", {
2333
2366
  className: "text-xs text-gray-500",
2334
- children: o ?? `© ${d} Shopito. Všechna práva vyhrazena.`
2335
- }), s.length > 0 && /* @__PURE__ */ l("nav", {
2367
+ children: o ?? `© ${l} Shopito. Všechna práva vyhrazena.`
2368
+ }), s.length > 0 && /* @__PURE__ */ u("nav", {
2336
2369
  className: "flex flex-wrap gap-4",
2337
- children: s.map((e, t) => e.href ? /* @__PURE__ */ l("a", {
2370
+ children: s.map((e, t) => e.href ? /* @__PURE__ */ u("a", {
2338
2371
  href: e.href,
2339
2372
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
2340
2373
  children: e.label
2341
- }, t) : /* @__PURE__ */ l("button", {
2374
+ }, t) : /* @__PURE__ */ u("button", {
2342
2375
  onClick: e.onClick,
2343
2376
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
2344
2377
  children: e.label
@@ -2349,6 +2382,6 @@ function it({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
2349
2382
  });
2350
2383
  }
2351
2384
  //#endregion
2352
- export { z as Alert, te as Avatar, j as Badge, Oe as BannerCarousel, w as Button, Ue as CallToAction, N as Card, F as CardBody, I as CardFooter, P as CardHeader, be as Carousel, Te as CategoryTree, V as Checkbox, G as Col, x as Container, it as Footer, W as Grid, Se as Header, k as Heading, E as IconButton, D as Input, T as LoadingSpin, S as Main, De as MegaMenu, ee as Modal, Y as Pagination, Pe as ProductCard, Re as ProductGrid, K as QuantityInput, O as Select, L as Spinner, ne as Stack, A as Text, H as Toggle };
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 };
2353
2386
 
2354
2387
  //# sourceMappingURL=index.js.map