@shopito/design-system-fe 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
- import { forwardRef as e, useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
2
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
3
- import { createPortal as c } from "react-dom";
1
+ import { forwardRef as e, useCallback as t, useEffect as n, useId as r, useRef as i, useState as a } from "react";
2
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
3
+ import { createPortal as l } from "react-dom";
4
4
  //#region \0rolldown/runtime.js
5
- var l = Object.create, u = Object.defineProperty, d = Object.getOwnPropertyDescriptor, f = Object.getOwnPropertyNames, p = Object.getPrototypeOf, m = Object.prototype.hasOwnProperty, h = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), g = (e, t, n, r) => {
6
- if (t && typeof t == "object" || typeof t == "function") for (var i = f(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !m.call(e, s) && s !== n && u(e, s, {
5
+ var u = Object.create, d = Object.defineProperty, f = Object.getOwnPropertyDescriptor, p = Object.getOwnPropertyNames, m = Object.getPrototypeOf, h = Object.prototype.hasOwnProperty, g = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), _ = (e, t, n, r) => {
6
+ if (t && typeof t == "object" || typeof t == "function") for (var i = p(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !h.call(e, s) && s !== n && d(e, s, {
7
7
  get: ((e) => t[e]).bind(null, s),
8
- enumerable: !(r = d(t, s)) || r.enumerable
8
+ enumerable: !(r = f(t, s)) || r.enumerable
9
9
  });
10
10
  return e;
11
- }, _ = (e, t, n) => (n = e == null ? {} : l(p(e)), g(t || !e || !e.__esModule ? u(n, "default", {
11
+ }, v = (e, t, n) => (n = e == null ? {} : u(m(e)), _(t || !e || !e.__esModule ? d(n, "default", {
12
12
  value: e,
13
13
  enumerable: !0
14
- }) : n, e)), v = ({ children: e }) => /* @__PURE__ */ o("div", {
14
+ }) : n, e)), y = ({ children: e }) => /* @__PURE__ */ s("div", {
15
15
  className: "container",
16
16
  children: e
17
- }), y = ({ children: e }) => /* @__PURE__ */ o("main", {
17
+ }), b = ({ children: e }) => /* @__PURE__ */ s("main", {
18
18
  className: "main",
19
19
  children: e
20
- }), b = /* @__PURE__ */ _((/* @__PURE__ */ h(((e, t) => {
20
+ }), x = /* @__PURE__ */ v((/* @__PURE__ */ g(((e, t) => {
21
21
  (function() {
22
22
  var e = {}.hasOwnProperty;
23
23
  function n() {
@@ -43,137 +43,137 @@ var l = Object.create, u = Object.defineProperty, d = Object.getOwnPropertyDescr
43
43
  return n;
44
44
  }) : window.classNames = n;
45
45
  })();
46
- })))(), 1), x = e(({ variant: e = "primary", size: t = "md", loading: n = !1, fullWidth: r = !1, disabled: i, children: a, className: c = "", ...l }, u) => /* @__PURE__ */ s("button", {
46
+ })))(), 1), S = e(({ variant: e = "primary", size: t = "md", loading: n = !1, fullWidth: r = !1, disabled: i, children: a, className: o = "", ...l }, u) => /* @__PURE__ */ c("button", {
47
47
  ref: u,
48
48
  disabled: i || n,
49
- className: (0, b.default)("btn", e && `btn-${e}`, t && `btn-${t}`, r && "w-full", c),
49
+ className: (0, x.default)("btn", e && `btn-${e}`, t && `btn-${t}`, r && "w-full", o),
50
50
  ...l,
51
- children: [n && /* @__PURE__ */ s("svg", {
51
+ children: [n && /* @__PURE__ */ c("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__ */ o("circle", {
56
+ children: [/* @__PURE__ */ s("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__ */ o("path", {
63
+ }), /* @__PURE__ */ s("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
- x.displayName = "Button";
70
+ S.displayName = "Button";
71
71
  //#endregion
72
72
  //#region src/components/common/LoadingSpin/LoadingSpin.tsx
73
- var S = ({ size: e = "md" }) => /* @__PURE__ */ s("svg", {
74
- className: (0, b.default)("loading-spin", `loading-spin-${e}`),
73
+ var C = ({ size: e = "md" }) => /* @__PURE__ */ c("svg", {
74
+ className: (0, x.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__ */ o("circle", {
78
+ children: [/* @__PURE__ */ s("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__ */ o("path", {
85
+ }), /* @__PURE__ */ s("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
- }), C = e(({ icon: e, label: t, variant: n = "ghost", size: r = "md", loading: i = !1, disabled: a, className: s = "", ...c }, l) => /* @__PURE__ */ o("button", {
90
+ }), w = e(({ icon: e, label: t, variant: n = "ghost", size: r = "md", loading: i = !1, disabled: a, className: o = "", ...c }, l) => /* @__PURE__ */ s("button", {
91
91
  ref: l,
92
92
  disabled: a || i,
93
93
  "aria-label": t,
94
94
  title: t,
95
- className: (0, b.default)("icon-button", `icon-button-${n}`, `icon-button-${r}`, s),
95
+ className: (0, x.default)("icon-button", `icon-button-${n}`, `icon-button-${r}`, o),
96
96
  ...c,
97
- children: i ? /* @__PURE__ */ o(S, { size: r }) : e
97
+ children: i ? /* @__PURE__ */ s(C, { size: r }) : e
98
98
  }));
99
- C.displayName = "IconButton";
99
+ w.displayName = "IconButton";
100
100
  //#endregion
101
101
  //#region src/components/common/Input/Input.tsx
102
- var w = e(({ label: e, error: t, hint: n, leftIcon: r, rightIcon: i, fullWidth: a = !1, className: c = "", id: l, ...u }, d) => {
102
+ var T = e(({ label: e, error: t, hint: n, leftIcon: r, rightIcon: i, fullWidth: a = !1, className: o = "", id: l, ...u }, d) => {
103
103
  let f = l ?? e?.toLowerCase().replace(/\s+/g, "-");
104
- return /* @__PURE__ */ s("div", {
104
+ return /* @__PURE__ */ c("div", {
105
105
  className: a ? "w-full" : "inline-block",
106
106
  children: [
107
- e && /* @__PURE__ */ o("label", {
107
+ e && /* @__PURE__ */ s("label", {
108
108
  htmlFor: f,
109
109
  className: "input-label",
110
110
  children: e
111
111
  }),
112
- /* @__PURE__ */ s("div", {
112
+ /* @__PURE__ */ c("div", {
113
113
  className: "relative",
114
114
  children: [
115
- r && /* @__PURE__ */ o("span", {
115
+ r && /* @__PURE__ */ s("span", {
116
116
  className: "left-icon",
117
117
  children: r
118
118
  }),
119
- /* @__PURE__ */ o("input", {
119
+ /* @__PURE__ */ s("input", {
120
120
  ref: d,
121
121
  id: f,
122
- className: (0, b.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", a && "w-full", c),
122
+ className: (0, x.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", a && "w-full", o),
123
123
  ...u
124
124
  }),
125
- i && /* @__PURE__ */ o("span", {
125
+ i && /* @__PURE__ */ s("span", {
126
126
  className: "right-icon",
127
127
  children: i
128
128
  })
129
129
  ]
130
130
  }),
131
- (t || n) && /* @__PURE__ */ o("p", {
132
- className: (0, b.default)("helper-text", t && "has-error"),
131
+ (t || n) && /* @__PURE__ */ s("p", {
132
+ className: (0, x.default)("helper-text", t && "has-error"),
133
133
  children: t ?? n
134
134
  })
135
135
  ]
136
136
  });
137
137
  });
138
- w.displayName = "Input";
138
+ T.displayName = "Input";
139
139
  //#endregion
140
140
  //#region src/components/common/Select/Select.tsx
141
- var T = e(({ label: e, error: t, hint: n, options: r, placeholder: i, fullWidth: a = !1, className: c = "", id: l, ...u }, d) => {
141
+ var E = e(({ label: e, error: t, hint: n, options: r, placeholder: i, fullWidth: a = !0, className: o = "", id: l, ...u }, d) => {
142
142
  let f = l ?? e?.toLowerCase().replace(/\s+/g, "-");
143
- return /* @__PURE__ */ s("div", {
144
- className: (0, b.default)("select-wrapper", a && "w-full"),
143
+ return /* @__PURE__ */ c("div", {
144
+ className: (0, x.default)("select-wrapper", a && "w-full"),
145
145
  children: [
146
- e && /* @__PURE__ */ o("label", {
146
+ e && /* @__PURE__ */ s("label", {
147
147
  htmlFor: f,
148
148
  className: "select-label",
149
149
  children: e
150
150
  }),
151
- /* @__PURE__ */ s("div", {
151
+ /* @__PURE__ */ c("div", {
152
152
  className: "relative",
153
- children: [/* @__PURE__ */ s("select", {
153
+ children: [/* @__PURE__ */ c("select", {
154
154
  ref: d,
155
155
  id: f,
156
- className: (0, b.default)("select", t && "has-error", a && "w-full", c),
156
+ className: (0, x.default)("select", t && "has-error", a && "w-full", o),
157
157
  ...u,
158
- children: [i && /* @__PURE__ */ o("option", {
158
+ children: [i && /* @__PURE__ */ s("option", {
159
159
  value: "",
160
160
  disabled: !0,
161
161
  children: i
162
- }), r.map((e) => /* @__PURE__ */ o("option", {
162
+ }), r.map((e) => /* @__PURE__ */ s("option", {
163
163
  value: e.value,
164
164
  disabled: e.disabled,
165
165
  children: e.label
166
166
  }, e.value))]
167
- }), /* @__PURE__ */ o("span", {
167
+ }), /* @__PURE__ */ s("span", {
168
168
  className: "select-chevron-icon",
169
- children: /* @__PURE__ */ o("svg", {
169
+ children: /* @__PURE__ */ s("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__ */ o("path", {
176
+ children: /* @__PURE__ */ s("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 T = e(({ label: e, error: t, hint: n, options: r, placeholder: i, fullWidth:
181
181
  })
182
182
  })]
183
183
  }),
184
- (t || n) && /* @__PURE__ */ o("p", {
185
- className: (0, b.default)("select-helper", t && "has-error"),
184
+ (t || n) && /* @__PURE__ */ s("p", {
185
+ className: (0, x.default)("select-helper", t && "has-error"),
186
186
  children: t ?? n
187
187
  })
188
188
  ]
189
189
  });
190
190
  });
191
- T.displayName = "Select";
191
+ E.displayName = "Select";
192
192
  //#endregion
193
193
  //#region src/components/common/Typography/Heading.tsx
194
- var E = ({ as: e, level: t = 1, color: n = "default", className: r = "", children: i, ...a }) => /* @__PURE__ */ o(e ?? `h${t}`, {
195
- className: (0, b.default)(`text-color-${n}`, `heading-size-${t}`, r),
194
+ var D = ({ as: e, level: t = 1, color: n = "default", className: r = "", children: i, ...a }) => /* @__PURE__ */ s(e ?? `h${t}`, {
195
+ className: (0, x.default)(`text-color-${n}`, `heading-size-${t}`, r),
196
196
  ...a,
197
197
  children: i
198
- }), D = ({ variant: e = "body", color: t = "default", as: n = "p", className: r = "", children: i, ...a }) => /* @__PURE__ */ o(n, {
199
- className: (0, b.default)(`text-color-${t}`, `text-variant-${e}`, r),
198
+ }), O = ({ variant: e = "body", color: t = "default", as: n = "p", className: r = "", children: i, ...a }) => /* @__PURE__ */ s(n, {
199
+ className: (0, x.default)(`text-color-${t}`, `text-variant-${e}`, r),
200
200
  ...a,
201
201
  children: i
202
202
  });
203
203
  //#endregion
204
204
  //#region src/components/common/Badge/Badge.tsx
205
- function O({ variant: e = "default", size: t = "md", dot: n = !1, className: r, children: i, ...a }) {
206
- return /* @__PURE__ */ s("span", {
207
- className: (0, b.default)("badge", `badge-${e}`, `badge-${t}`, r),
205
+ function k({ variant: e = "default", size: t = "md", dot: n = !1, className: r, children: i, ...a }) {
206
+ return /* @__PURE__ */ c("span", {
207
+ className: (0, x.default)("badge", `badge-${e}`, `badge-${t}`, r),
208
208
  ...a,
209
- children: [n && /* @__PURE__ */ o("span", { className: (0, b.default)("badge-dot", `badge-dot-${e}`) }), i]
209
+ children: [n && /* @__PURE__ */ s("span", { className: (0, x.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 ee = {
214
+ var A = {
215
215
  none: "",
216
216
  sm: "p-4",
217
217
  md: "p-6",
218
218
  lg: "p-8"
219
219
  };
220
- function te({ children: e, padding: t = "md", shadow: n = !0, border: r = !0, className: i = "", ...a }) {
221
- return /* @__PURE__ */ o("div", {
220
+ function j({ children: e, padding: t = "md", shadow: n = !0, border: r = !0, className: i = "", ...a }) {
221
+ return /* @__PURE__ */ s("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
- ee[t],
226
+ A[t],
227
227
  i
228
228
  ].filter(Boolean).join(" "),
229
229
  ...a,
230
230
  children: e
231
231
  });
232
232
  }
233
- function ne({ children: e, className: t = "", ...n }) {
234
- return /* @__PURE__ */ o("div", {
233
+ function M({ children: e, className: t = "", ...n }) {
234
+ return /* @__PURE__ */ s("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 re({ children: e, className: t = "", ...n }) {
241
- return /* @__PURE__ */ o("div", {
240
+ function ee({ children: e, className: t = "", ...n }) {
241
+ return /* @__PURE__ */ s("div", {
242
242
  className: ["p-6", t].filter(Boolean).join(" "),
243
243
  ...n,
244
244
  children: e
245
245
  });
246
246
  }
247
- function k({ children: e, className: t = "", ...n }) {
248
- return /* @__PURE__ */ o("div", {
247
+ function te({ children: e, className: t = "", ...n }) {
248
+ return /* @__PURE__ */ s("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 k({ children: e, className: t = "", ...n }) {
253
253
  }
254
254
  //#endregion
255
255
  //#region src/components/common/Spinner/Spinner.tsx
256
- function A({ size: e = "md", color: t = "primary", label: n = "Loading…", className: r = "", ...i }) {
257
- return /* @__PURE__ */ s("span", {
256
+ function N({ size: e = "md", color: t = "primary", label: n = "Loading…", className: r = "", ...i }) {
257
+ return /* @__PURE__ */ c("span", {
258
258
  role: "status",
259
259
  "aria-label": n,
260
- className: (0, b.default)("spinner-wrapper", r),
260
+ className: (0, x.default)("spinner-wrapper", r),
261
261
  ...i,
262
- children: [/* @__PURE__ */ o("span", { className: (0, b.default)("spinner", `spinner-${e}`, `spinner-${t}`) }), /* @__PURE__ */ o("span", {
262
+ children: [/* @__PURE__ */ s("span", { className: (0, x.default)("spinner", `spinner-${e}`, `spinner-${t}`) }), /* @__PURE__ */ s("span", {
263
263
  className: "sr-only",
264
264
  children: n
265
265
  })]
@@ -267,65 +267,65 @@ function A({ 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 j = {
271
- info: /* @__PURE__ */ o("path", {
270
+ var P = {
271
+ info: /* @__PURE__ */ s("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__ */ o("path", {
276
+ success: /* @__PURE__ */ s("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__ */ o("path", {
281
+ warning: /* @__PURE__ */ s("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__ */ o("path", {
286
+ danger: /* @__PURE__ */ s("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 M({ variant: e = "info", title: t, children: n, onClose: r, className: i = "", ...a }) {
293
- return /* @__PURE__ */ s("div", {
292
+ function ne({ variant: e = "info", title: t, children: n, onClose: r, className: i = "", ...a }) {
293
+ return /* @__PURE__ */ c("div", {
294
294
  role: "alert",
295
- className: (0, b.default)("alert", `alert-${e}`, i),
295
+ className: (0, x.default)("alert", `alert-${e}`, "w-full", i),
296
296
  ...a,
297
297
  children: [
298
- /* @__PURE__ */ o("svg", {
298
+ /* @__PURE__ */ s("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, b.default)("alert-icon", `alert-icon-${e}`),
305
- children: j[e]
304
+ className: (0, x.default)("alert-icon", `alert-icon-${e}`),
305
+ children: P[e]
306
306
  }),
307
- /* @__PURE__ */ s("div", {
307
+ /* @__PURE__ */ c("div", {
308
308
  className: "flex-1 min-w-0",
309
- children: [t && /* @__PURE__ */ o("p", {
309
+ children: [t && /* @__PURE__ */ s("p", {
310
310
  className: "alert-title",
311
311
  children: t
312
- }), /* @__PURE__ */ o("div", {
312
+ }), /* @__PURE__ */ s("div", {
313
313
  className: "alert-text",
314
314
  children: n
315
315
  })]
316
316
  }),
317
- r && /* @__PURE__ */ o("button", {
317
+ r && /* @__PURE__ */ s("button", {
318
318
  onClick: r,
319
319
  className: "alert-close-btn",
320
320
  "aria-label": "Close",
321
- children: /* @__PURE__ */ o("svg", {
321
+ children: /* @__PURE__ */ s("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__ */ o("path", {
328
+ children: /* @__PURE__ */ s("path", {
329
329
  strokeLinecap: "round",
330
330
  strokeLinejoin: "round",
331
331
  d: "M6 18L18 6M6 6l12 12"
@@ -337,15 +337,15 @@ function M({ 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 N = {
340
+ var re = {
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 P({ open: e, onClose: t, title: i, children: a, footer: l, size: u = "md", closeOnBackdrop: d = !0 }) {
348
- let f = r(null);
347
+ function F({ open: e, onClose: t, title: r, children: a, footer: o, size: u = "md", closeOnBackdrop: d = !0 }) {
348
+ let f = i(null);
349
349
  return n(() => {
350
350
  if (!e) return;
351
351
  let t = document.body.style.overflow;
@@ -358,36 +358,36 @@ function P({ open: e, onClose: t, title: i, children: a, footer: l, size: u = "m
358
358
  e.key === "Escape" && t();
359
359
  };
360
360
  return document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
361
- }, [e, t]), e ? c(/* @__PURE__ */ o("div", {
361
+ }, [e, t]), e ? l(/* @__PURE__ */ s("div", {
362
362
  ref: f,
363
363
  className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",
364
364
  onClick: (e) => {
365
365
  d && e.target === f.current && t();
366
366
  },
367
- children: /* @__PURE__ */ s("div", {
367
+ children: /* @__PURE__ */ c("div", {
368
368
  role: "dialog",
369
369
  "aria-modal": "true",
370
- "aria-labelledby": i ? "modal-title" : void 0,
371
- className: ["relative w-full bg-white rounded-xl shadow-xl flex flex-col max-h-[90vh]", N[u]].join(" "),
370
+ "aria-labelledby": r ? "modal-title" : void 0,
371
+ className: ["relative w-full bg-white rounded-xl shadow-xl flex flex-col max-h-[90vh]", re[u]].join(" "),
372
372
  children: [
373
- i && /* @__PURE__ */ s("div", {
373
+ r && /* @__PURE__ */ c("div", {
374
374
  className: "flex items-center justify-between px-6 py-4 border-b border-gray-100 shrink-0",
375
- children: [/* @__PURE__ */ o("h2", {
375
+ children: [/* @__PURE__ */ s("h2", {
376
376
  id: "modal-title",
377
377
  className: "text-lg font-semibold text-gray-900",
378
- children: i
379
- }), /* @__PURE__ */ o("button", {
378
+ children: r
379
+ }), /* @__PURE__ */ s("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__ */ o("svg", {
383
+ children: /* @__PURE__ */ s("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__ */ o("path", {
390
+ children: /* @__PURE__ */ s("path", {
391
391
  strokeLinecap: "round",
392
392
  strokeLinejoin: "round",
393
393
  d: "M6 18L18 6M6 6l12 12"
@@ -395,13 +395,13 @@ function P({ open: e, onClose: t, title: i, children: a, footer: l, size: u = "m
395
395
  })
396
396
  })]
397
397
  }),
398
- /* @__PURE__ */ o("div", {
398
+ /* @__PURE__ */ s("div", {
399
399
  className: "flex-1 overflow-y-auto px-6 py-4",
400
400
  children: a
401
401
  }),
402
- l && /* @__PURE__ */ o("div", {
402
+ o && /* @__PURE__ */ s("div", {
403
403
  className: "px-6 py-4 border-t border-gray-100 shrink-0 bg-gray-50 rounded-b-xl",
404
- children: l
404
+ children: o
405
405
  })
406
406
  ]
407
407
  })
@@ -409,73 +409,73 @@ function P({ open: e, onClose: t, title: i, children: a, footer: l, size: u = "m
409
409
  }
410
410
  //#endregion
411
411
  //#region src/components/common/Checkbox/Checkbox.tsx
412
- var F = e(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...c }, l) => {
412
+ var I = e(({ label: e, description: t, error: n, indeterminate: r, className: i = "", id: a, ...o }, l) => {
413
413
  let u = a ?? e?.toLowerCase().replace(/\s+/g, "-");
414
- return /* @__PURE__ */ s("div", {
415
- className: (0, b.default)("checkbox-wrapper", i),
416
- children: [/* @__PURE__ */ o("div", {
414
+ return /* @__PURE__ */ c("div", {
415
+ className: (0, x.default)("checkbox-wrapper", i),
416
+ children: [/* @__PURE__ */ s("div", {
417
417
  className: "checkbox-wrapper-inner",
418
- children: /* @__PURE__ */ o("input", {
418
+ children: /* @__PURE__ */ s("input", {
419
419
  ref: (e) => {
420
420
  e && (e.indeterminate = r ?? !1), typeof l == "function" ? l(e) : l && (l.current = e);
421
421
  },
422
422
  id: u,
423
423
  type: "checkbox",
424
- className: (0, b.default)("checkbox", n && "has-error"),
425
- ...c
424
+ className: (0, x.default)("checkbox", n && "has-error"),
425
+ ...o
426
426
  })
427
- }), (e || t) && /* @__PURE__ */ s("div", { children: [
428
- e && /* @__PURE__ */ o("label", {
427
+ }), (e || t) && /* @__PURE__ */ c("div", { children: [
428
+ e && /* @__PURE__ */ s("label", {
429
429
  htmlFor: u,
430
430
  className: "checkbox-label",
431
431
  children: e
432
432
  }),
433
- t && /* @__PURE__ */ o("p", {
433
+ t && /* @__PURE__ */ s("p", {
434
434
  className: "checkbox-description",
435
435
  children: t
436
436
  }),
437
- n && /* @__PURE__ */ o("p", {
437
+ n && /* @__PURE__ */ s("p", {
438
438
  className: "checkbox-error",
439
439
  children: n
440
440
  })
441
441
  ] })]
442
442
  });
443
443
  });
444
- F.displayName = "Checkbox";
444
+ I.displayName = "Checkbox";
445
445
  //#endregion
446
446
  //#region src/components/common/Toggle/Toggle.tsx
447
- var I = e(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, c) => {
447
+ var L = e(({ label: e, description: t, size: n = "md", className: r = "", id: i, ...a }, o) => {
448
448
  let l = i ?? e?.toLowerCase().replace(/\s+/g, "-");
449
- return /* @__PURE__ */ s("label", {
449
+ return /* @__PURE__ */ c("label", {
450
450
  htmlFor: l,
451
- className: (0, b.default)("toggle", a.disabled && "toggle-disabled", r),
452
- children: [/* @__PURE__ */ s("div", {
453
- className: (0, b.default)("toggle-wrapper", `toggle-wrapper-${n}`),
451
+ className: (0, x.default)("toggle", a.disabled && "toggle-disabled", r),
452
+ children: [/* @__PURE__ */ c("div", {
453
+ className: (0, x.default)("toggle-wrapper", `toggle-wrapper-${n}`),
454
454
  children: [
455
- /* @__PURE__ */ o("input", {
456
- ref: c,
455
+ /* @__PURE__ */ s("input", {
456
+ ref: o,
457
457
  id: l,
458
458
  type: "checkbox",
459
459
  role: "switch",
460
460
  className: "sr-only peer",
461
461
  ...a
462
462
  }),
463
- /* @__PURE__ */ o("div", { className: "toggle-track" }),
464
- /* @__PURE__ */ o("div", { className: (0, b.default)("toggle-thumb", `toggle-thumb-${n}`) })
463
+ /* @__PURE__ */ s("div", { className: "toggle-track" }),
464
+ /* @__PURE__ */ s("div", { className: (0, x.default)("toggle-thumb", `toggle-thumb-${n}`) })
465
465
  ]
466
- }), (e || t) && /* @__PURE__ */ s("div", { children: [e && /* @__PURE__ */ o("span", {
466
+ }), (e || t) && /* @__PURE__ */ c("div", { children: [e && /* @__PURE__ */ s("span", {
467
467
  className: "toggle-label",
468
468
  children: e
469
- }), t && /* @__PURE__ */ o("span", {
469
+ }), t && /* @__PURE__ */ s("span", {
470
470
  className: "toggle-description",
471
471
  children: t
472
472
  })] })]
473
473
  });
474
474
  });
475
- I.displayName = "Toggle";
475
+ L.displayName = "Toggle";
476
476
  //#endregion
477
477
  //#region src/components/common/Avatar/Avatar.tsx
478
- var L = [
478
+ var R = [
479
479
  "bg-red-500",
480
480
  "bg-orange-500",
481
481
  "bg-amber-500",
@@ -487,37 +487,37 @@ var L = [
487
487
  "bg-pink-500"
488
488
  ];
489
489
  function ie({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
490
- let s = [
490
+ let o = [
491
491
  "avatar",
492
492
  `avatar-${r}`,
493
493
  i
494
494
  ], c = (e) => {
495
495
  let t = 0;
496
496
  for (let n = 0; n < e.length; n++) t += e.charCodeAt(n);
497
- return L[t % L.length];
497
+ return R[t % R.length];
498
498
  }, l = (e) => e.split(" ").slice(0, 2).map((e) => e[0]).join("").toUpperCase();
499
- return e ? /* @__PURE__ */ o("span", {
500
- className: (0, b.default)(s),
499
+ return e ? /* @__PURE__ */ s("span", {
500
+ className: (0, x.default)(o),
501
501
  ...a,
502
- children: /* @__PURE__ */ o("img", {
502
+ children: /* @__PURE__ */ s("img", {
503
503
  src: e,
504
504
  alt: t ?? n ?? "",
505
505
  className: "w-full h-full object-cover"
506
506
  })
507
- }) : n ? /* @__PURE__ */ o("span", {
508
- className: (0, b.default)(s, c(n)),
507
+ }) : n ? /* @__PURE__ */ s("span", {
508
+ className: (0, x.default)(o, c(n)),
509
509
  "aria-label": n,
510
510
  ...a,
511
511
  children: l(n)
512
- }) : /* @__PURE__ */ o("span", {
513
- className: (0, b.default)(s, "avatar-fallback"),
512
+ }) : /* @__PURE__ */ s("span", {
513
+ className: (0, x.default)(o, "avatar-fallback"),
514
514
  ...a,
515
- children: /* @__PURE__ */ o("svg", {
515
+ children: /* @__PURE__ */ s("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__ */ o("path", {
520
+ children: /* @__PURE__ */ s("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"
@@ -526,76 +526,198 @@ function ie({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
526
526
  });
527
527
  }
528
528
  //#endregion
529
- //#region src/components/common/Pagination/Pagination.tsx
530
- var R = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), z = (e, t, n) => {
531
- if (t <= n * 2 + 5) return R(1, t);
529
+ //#region src/components/common/Stack/Stack.tsx
530
+ var ae = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", children: i }) => /* @__PURE__ */ s("div", {
531
+ className: (0, x.default)("stack", `stack-${e}`, t && `gap-${t}`, {
532
+ start: "items-start",
533
+ end: "items-end",
534
+ center: "items-center",
535
+ baseline: "items-baseline",
536
+ stretch: "items-stretch"
537
+ }[n], {
538
+ start: "justify-items-start",
539
+ end: "justify-items-end",
540
+ center: "justify-items-center",
541
+ stretch: "justify-items-stretch"
542
+ }[r]),
543
+ children: i
544
+ }), z = ({ value: e, onChange: t, min: o = 1, max: l = 999, step: u = 1, disabled: d = !1, label: f, error: p, hint: m, id: h, className: g }) => {
545
+ let _ = r(), v = h ?? _, y = i(null), [b, S] = a(String(e));
546
+ n(() => {
547
+ document.activeElement !== y.current && S(String(e));
548
+ }, [e]);
549
+ let C = (e) => Math.min(l, Math.max(o, e)), w = (n) => {
550
+ let r = parseInt(n, 10), i = isNaN(r) ? e : C(r);
551
+ S(String(i)), i !== e && t(i);
552
+ }, T = (e) => {
553
+ let n = e.target.value.replace(/[^0-9]/g, "");
554
+ S(n);
555
+ let r = parseInt(n, 10);
556
+ isNaN(r) || t(C(r));
557
+ }, E = () => w(b), D = (e) => {
558
+ if (e.key === "Enter") {
559
+ w(b), y.current?.blur();
560
+ return;
561
+ }
562
+ ![
563
+ "Backspace",
564
+ "Delete",
565
+ "Tab",
566
+ "Escape",
567
+ "ArrowLeft",
568
+ "ArrowRight",
569
+ "Home",
570
+ "End"
571
+ ].includes(e.key) && !/^[0-9]$/.test(e.key) && !e.metaKey && !e.ctrlKey && e.preventDefault();
572
+ }, O = () => t(C(e - u)), k = () => t(C(e + u)), A = e - u >= o, j = e + u <= l;
573
+ return /* @__PURE__ */ c("div", {
574
+ className: (0, x.default)("quantity-input-wrapper", g),
575
+ children: [
576
+ f && /* @__PURE__ */ s("label", {
577
+ htmlFor: v,
578
+ className: "input-label",
579
+ children: f
580
+ }),
581
+ /* @__PURE__ */ c("div", {
582
+ className: (0, x.default)("quantity-input", p && "has-error", d && "is-disabled"),
583
+ children: [
584
+ /* @__PURE__ */ s("button", {
585
+ type: "button",
586
+ className: "quantity-btn",
587
+ onClick: O,
588
+ disabled: d || !A,
589
+ "aria-label": "Snížit množství",
590
+ tabIndex: -1,
591
+ children: /* @__PURE__ */ s(oe, {})
592
+ }),
593
+ /* @__PURE__ */ s("input", {
594
+ ref: y,
595
+ id: v,
596
+ type: "text",
597
+ inputMode: "numeric",
598
+ className: "quantity-field",
599
+ value: b,
600
+ onChange: T,
601
+ onBlur: E,
602
+ onKeyDown: D,
603
+ disabled: d,
604
+ "aria-label": f ?? "Množství",
605
+ "aria-valuemin": o,
606
+ "aria-valuemax": l,
607
+ "aria-valuenow": e
608
+ }),
609
+ /* @__PURE__ */ s("button", {
610
+ type: "button",
611
+ className: "quantity-btn",
612
+ onClick: k,
613
+ disabled: d || !j,
614
+ "aria-label": "Zvýšit množství",
615
+ tabIndex: -1,
616
+ children: /* @__PURE__ */ s(se, {})
617
+ })
618
+ ]
619
+ }),
620
+ (p || m) && /* @__PURE__ */ s("p", {
621
+ className: (0, x.default)("helper-text", p && "has-error"),
622
+ children: p ?? m
623
+ })
624
+ ]
625
+ });
626
+ };
627
+ z.displayName = "QuantityInput";
628
+ var oe = () => /* @__PURE__ */ s("svg", {
629
+ width: "12",
630
+ height: "2",
631
+ viewBox: "0 0 12 2",
632
+ fill: "none",
633
+ "aria-hidden": "true",
634
+ children: /* @__PURE__ */ s("path", {
635
+ d: "M1 1H11",
636
+ stroke: "currentColor",
637
+ strokeWidth: "1.5",
638
+ strokeLinecap: "round"
639
+ })
640
+ }), se = () => /* @__PURE__ */ s("svg", {
641
+ width: "12",
642
+ height: "12",
643
+ viewBox: "0 0 12 12",
644
+ fill: "none",
645
+ "aria-hidden": "true",
646
+ children: /* @__PURE__ */ s("path", {
647
+ d: "M6 1V11M1 6H11",
648
+ stroke: "currentColor",
649
+ strokeWidth: "1.5",
650
+ strokeLinecap: "round"
651
+ })
652
+ }), B = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), V = (e, t, n) => {
653
+ if (t <= n * 2 + 5) return B(1, t);
532
654
  let r = Math.max(e - n, 1), i = Math.min(e + n, t), a = r > 2, o = i < t - 1;
533
655
  return !a && o ? [
534
- ...R(1, 3 + n * 2),
656
+ ...B(1, 3 + n * 2),
535
657
  "…",
536
658
  t
537
659
  ] : a && !o ? [
538
660
  1,
539
661
  "…",
540
- ...R(t - (2 + n * 2), t)
662
+ ...B(t - (2 + n * 2), t)
541
663
  ] : [
542
664
  1,
543
665
  "…",
544
- ...R(r, i),
666
+ ...B(r, i),
545
667
  "…",
546
668
  t
547
669
  ];
548
- }, B = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ o("button", {
670
+ }, H = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ s("button", {
549
671
  disabled: t,
550
- className: (0, b.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
672
+ className: (0, x.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
551
673
  ...r,
552
674
  children: n
553
- }), V = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
554
- let i = z(e, t, r);
555
- return /* @__PURE__ */ s("nav", {
675
+ }), U = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
676
+ let i = V(e, t, r);
677
+ return /* @__PURE__ */ c("nav", {
556
678
  "aria-label": "Pagination",
557
679
  className: "pagination",
558
680
  children: [
559
- /* @__PURE__ */ o(B, {
681
+ /* @__PURE__ */ s(H, {
560
682
  disabled: e <= 1,
561
683
  onClick: () => n(e - 1),
562
684
  "aria-label": "Previous page",
563
- children: /* @__PURE__ */ o("svg", {
685
+ children: /* @__PURE__ */ s("svg", {
564
686
  xmlns: "http://www.w3.org/2000/svg",
565
687
  fill: "none",
566
688
  viewBox: "0 0 24 24",
567
689
  strokeWidth: 2,
568
690
  stroke: "currentColor",
569
691
  className: "w-4 h-4",
570
- children: /* @__PURE__ */ o("path", {
692
+ children: /* @__PURE__ */ s("path", {
571
693
  strokeLinecap: "round",
572
694
  strokeLinejoin: "round",
573
695
  d: "M15.75 19.5L8.25 12l7.5-7.5"
574
696
  })
575
697
  })
576
698
  }),
577
- i.map((t, r) => t === "…" ? /* @__PURE__ */ o("span", {
699
+ i.map((t, r) => t === "…" ? /* @__PURE__ */ s("span", {
578
700
  className: "pagination-dots",
579
701
  children: "…"
580
- }, `dots-${r}`) : /* @__PURE__ */ o(B, {
702
+ }, `dots-${r}`) : /* @__PURE__ */ s(H, {
581
703
  active: t === e,
582
704
  onClick: () => n(t),
583
705
  "aria-label": `Page ${t}`,
584
706
  "aria-current": t === e ? "page" : void 0,
585
707
  children: t
586
708
  }, t)),
587
- /* @__PURE__ */ o(B, {
709
+ /* @__PURE__ */ s(H, {
588
710
  disabled: e >= t,
589
711
  onClick: () => n(e + 1),
590
712
  "aria-label": "Next page",
591
- children: /* @__PURE__ */ o("svg", {
713
+ children: /* @__PURE__ */ s("svg", {
592
714
  xmlns: "http://www.w3.org/2000/svg",
593
715
  fill: "none",
594
716
  viewBox: "0 0 24 24",
595
717
  strokeWidth: 2,
596
718
  stroke: "currentColor",
597
719
  className: "w-4 h-4",
598
- children: /* @__PURE__ */ o("path", {
720
+ children: /* @__PURE__ */ s("path", {
599
721
  strokeLinecap: "round",
600
722
  strokeLinejoin: "round",
601
723
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -607,9 +729,9 @@ var R = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), z = (e, t,
607
729
  };
608
730
  //#endregion
609
731
  //#region src/components/Header/Header.tsx
610
- function H({ trigger: e, items: t, onSelect: n, getKey: a, renderItem: c }) {
611
- let [l, u] = i(!1), d = r(null), f = () => u(!1);
612
- return /* @__PURE__ */ s("div", {
732
+ function W({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: o }) {
733
+ let [l, u] = a(!1), d = i(null), f = () => u(!1);
734
+ return /* @__PURE__ */ c("div", {
613
735
  ref: d,
614
736
  className: "relative",
615
737
  onBlur: (e) => {
@@ -618,62 +740,62 @@ function H({ trigger: e, items: t, onSelect: n, getKey: a, renderItem: c }) {
618
740
  onKeyDown: (e) => {
619
741
  e.key === "Escape" && f();
620
742
  },
621
- children: [/* @__PURE__ */ o("div", {
743
+ children: [/* @__PURE__ */ s("div", {
622
744
  role: "button",
623
745
  tabIndex: 0,
624
746
  onClick: () => u((e) => !e),
625
747
  onKeyDown: (e) => e.key === "Enter" && u((e) => !e),
626
748
  className: "cursor-pointer",
627
749
  children: e
628
- }), l && /* @__PURE__ */ o("ul", {
750
+ }), l && /* @__PURE__ */ s("ul", {
629
751
  role: "menu",
630
752
  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",
631
- children: t.map((e) => /* @__PURE__ */ o("li", {
753
+ children: t.map((e) => /* @__PURE__ */ s("li", {
632
754
  role: "none",
633
- children: /* @__PURE__ */ o("button", {
755
+ children: /* @__PURE__ */ s("button", {
634
756
  role: "menuitem",
635
757
  className: "w-full px-3 py-1.5 text-left hover:bg-gray-50 text-gray-700 whitespace-nowrap",
636
758
  onClick: () => {
637
759
  n(e), f();
638
760
  },
639
- children: c ? c(e) : e.label
761
+ children: o ? o(e) : e.label
640
762
  })
641
- }, a(e)))
763
+ }, r(e)))
642
764
  })]
643
765
  });
644
766
  }
645
- function U() {
646
- return /* @__PURE__ */ o("svg", {
767
+ function G() {
768
+ return /* @__PURE__ */ s("svg", {
647
769
  xmlns: "http://www.w3.org/2000/svg",
648
770
  fill: "none",
649
771
  viewBox: "0 0 24 24",
650
772
  strokeWidth: 1.5,
651
773
  stroke: "currentColor",
652
774
  className: "w-4 h-4",
653
- children: /* @__PURE__ */ o("path", {
775
+ children: /* @__PURE__ */ s("path", {
654
776
  strokeLinecap: "round",
655
777
  strokeLinejoin: "round",
656
778
  d: "M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 15.803a7.5 7.5 0 0010.607 10.607z"
657
779
  })
658
780
  });
659
781
  }
660
- function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: c, isLoggedIn: l = !1, customerName: u, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
661
- let [y, b] = i(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
662
- return /* @__PURE__ */ o("header", {
782
+ function K({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n, cartItemCount: r = 0, onCartClick: i, isLoggedIn: l = !1, customerName: u, onCustomerClick: d, currencies: f = [], selectedCurrency: p, onCurrencyChange: m, locales: h = [], selectedLocale: g, onLocaleChange: _, rightSlot: v }) {
783
+ let [y, b] = a(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
784
+ return /* @__PURE__ */ s("header", {
663
785
  className: "bg-white border-b border-gray-200 sticky top-0 z-40",
664
- children: /* @__PURE__ */ s("div", {
786
+ children: /* @__PURE__ */ c("div", {
665
787
  className: "max-w-7xl mx-auto px-4 h-16 flex items-center gap-4",
666
788
  children: [
667
- /* @__PURE__ */ o("div", {
789
+ /* @__PURE__ */ s("div", {
668
790
  className: "shrink-0",
669
- children: e ?? /* @__PURE__ */ o("span", {
791
+ children: e ?? /* @__PURE__ */ s("span", {
670
792
  className: "text-xl font-bold text-primary-600 tracking-tight",
671
793
  children: "shopito"
672
794
  })
673
795
  }),
674
- /* @__PURE__ */ o("div", {
796
+ /* @__PURE__ */ s("div", {
675
797
  className: "flex-1 max-w-xl",
676
- children: /* @__PURE__ */ o(w, {
798
+ children: /* @__PURE__ */ s(T, {
677
799
  fullWidth: !0,
678
800
  placeholder: t,
679
801
  value: y,
@@ -681,21 +803,21 @@ function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
681
803
  onKeyDown: (e) => {
682
804
  e.key === "Enter" && n?.(y);
683
805
  },
684
- leftIcon: /* @__PURE__ */ o(U, {}),
685
- rightIcon: y ? /* @__PURE__ */ o("button", {
806
+ leftIcon: /* @__PURE__ */ s(G, {}),
807
+ rightIcon: y ? /* @__PURE__ */ s("button", {
686
808
  onClick: () => {
687
809
  b(""), n?.("");
688
810
  },
689
811
  className: "hover:text-gray-600 transition-colors",
690
812
  "aria-label": "Clear search",
691
- children: /* @__PURE__ */ o("svg", {
813
+ children: /* @__PURE__ */ s("svg", {
692
814
  xmlns: "http://www.w3.org/2000/svg",
693
815
  fill: "none",
694
816
  viewBox: "0 0 24 24",
695
817
  strokeWidth: 2,
696
818
  stroke: "currentColor",
697
819
  className: "w-3.5 h-3.5",
698
- children: /* @__PURE__ */ o("path", {
820
+ children: /* @__PURE__ */ s("path", {
699
821
  strokeLinecap: "round",
700
822
  strokeLinejoin: "round",
701
823
  d: "M6 18L18 6M6 6l12 12"
@@ -704,85 +826,85 @@ function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
704
826
  }) : void 0
705
827
  })
706
828
  }),
707
- /* @__PURE__ */ s("div", {
829
+ /* @__PURE__ */ c("div", {
708
830
  className: "flex items-center gap-1 shrink-0 ml-auto",
709
831
  children: [
710
- f.length > 0 && /* @__PURE__ */ o(H, {
711
- trigger: /* @__PURE__ */ s("button", {
832
+ f.length > 0 && /* @__PURE__ */ s(W, {
833
+ trigger: /* @__PURE__ */ c("button", {
712
834
  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",
713
835
  children: [
714
- /* @__PURE__ */ o("span", { children: x?.symbol ?? p }),
715
- /* @__PURE__ */ o("span", {
836
+ /* @__PURE__ */ s("span", { children: x?.symbol ?? p }),
837
+ /* @__PURE__ */ s("span", {
716
838
  className: "text-xs text-gray-400",
717
839
  children: x?.code ?? p
718
840
  }),
719
- /* @__PURE__ */ o(G, { className: "w-3 h-3 text-gray-400" })
841
+ /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
720
842
  ]
721
843
  }),
722
844
  items: f,
723
845
  getKey: (e) => e.code,
724
846
  onSelect: (e) => m?.(e.code),
725
- renderItem: (e) => /* @__PURE__ */ s("span", {
847
+ renderItem: (e) => /* @__PURE__ */ c("span", {
726
848
  className: "flex items-center gap-2",
727
- children: [/* @__PURE__ */ o("span", {
849
+ children: [/* @__PURE__ */ s("span", {
728
850
  className: "w-6 text-center font-medium text-gray-500",
729
851
  children: e.symbol
730
- }), /* @__PURE__ */ o("span", { children: e.label })]
852
+ }), /* @__PURE__ */ s("span", { children: e.label })]
731
853
  })
732
854
  }),
733
- h.length > 0 && /* @__PURE__ */ o(H, {
734
- trigger: /* @__PURE__ */ s("button", {
855
+ h.length > 0 && /* @__PURE__ */ s(W, {
856
+ trigger: /* @__PURE__ */ c("button", {
735
857
  className: "flex items-center gap-1 px-2 py-1.5 rounded-md text-sm text-gray-600 hover:bg-gray-50 transition-colors",
736
858
  children: [
737
- S?.flag && /* @__PURE__ */ o("span", {
859
+ S?.flag && /* @__PURE__ */ s("span", {
738
860
  className: "text-base leading-none",
739
861
  children: S.flag
740
862
  }),
741
- /* @__PURE__ */ o("span", {
863
+ /* @__PURE__ */ s("span", {
742
864
  className: "font-medium uppercase",
743
865
  children: S?.code ?? g
744
866
  }),
745
- /* @__PURE__ */ o(G, { className: "w-3 h-3 text-gray-400" })
867
+ /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
746
868
  ]
747
869
  }),
748
870
  items: h,
749
871
  getKey: (e) => e.code,
750
872
  onSelect: (e) => _?.(e.code),
751
- renderItem: (e) => /* @__PURE__ */ s("span", {
873
+ renderItem: (e) => /* @__PURE__ */ c("span", {
752
874
  className: "flex items-center gap-2",
753
- children: [e.flag && /* @__PURE__ */ o("span", {
875
+ children: [e.flag && /* @__PURE__ */ s("span", {
754
876
  className: "text-base",
755
877
  children: e.flag
756
- }), /* @__PURE__ */ o("span", { children: e.label })]
878
+ }), /* @__PURE__ */ s("span", { children: e.label })]
757
879
  })
758
880
  }),
759
- (f.length > 0 || h.length > 0) && /* @__PURE__ */ o("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
760
- /* @__PURE__ */ o("button", {
881
+ (f.length > 0 || h.length > 0) && /* @__PURE__ */ s("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
882
+ /* @__PURE__ */ s("button", {
761
883
  onClick: d,
762
884
  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",
763
885
  "aria-label": l ? "My account" : "Sign in",
764
- children: l ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("div", {
886
+ children: l ? /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
765
887
  className: "w-6 h-6 rounded-full bg-primary-600 text-white flex items-center justify-center text-xs font-bold",
766
888
  children: (u ?? "U")[0].toUpperCase()
767
- }), u && /* @__PURE__ */ o("span", {
889
+ }), u && /* @__PURE__ */ s("span", {
768
890
  className: "hidden sm:block font-medium max-w-32 truncate",
769
891
  children: u
770
- })] }) : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(K, { className: "w-5 h-5" }), /* @__PURE__ */ o("span", {
892
+ })] }) : /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(ce, { className: "w-5 h-5" }), /* @__PURE__ */ s("span", {
771
893
  className: "hidden sm:block font-medium",
772
894
  children: "Přihlásit se"
773
895
  })] })
774
896
  }),
775
- /* @__PURE__ */ s("button", {
776
- onClick: c,
897
+ /* @__PURE__ */ c("button", {
898
+ onClick: i,
777
899
  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",
778
900
  "aria-label": `Cart, ${r} items`,
779
901
  children: [
780
- /* @__PURE__ */ o(q, { className: "w-5 h-5" }),
781
- /* @__PURE__ */ o("span", {
902
+ /* @__PURE__ */ s(le, { className: "w-5 h-5" }),
903
+ /* @__PURE__ */ s("span", {
782
904
  className: "hidden sm:block font-medium",
783
905
  children: "Košík"
784
906
  }),
785
- r > 0 && /* @__PURE__ */ o("span", {
907
+ r > 0 && /* @__PURE__ */ s("span", {
786
908
  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",
787
909
  children: r > 99 ? "99+" : r
788
910
  })
@@ -795,45 +917,45 @@ function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
795
917
  })
796
918
  });
797
919
  }
798
- function G({ className: e }) {
799
- return /* @__PURE__ */ o("svg", {
920
+ function q({ className: e }) {
921
+ return /* @__PURE__ */ s("svg", {
800
922
  xmlns: "http://www.w3.org/2000/svg",
801
923
  fill: "none",
802
924
  viewBox: "0 0 24 24",
803
925
  strokeWidth: 2,
804
926
  stroke: "currentColor",
805
927
  className: e,
806
- children: /* @__PURE__ */ o("path", {
928
+ children: /* @__PURE__ */ s("path", {
807
929
  strokeLinecap: "round",
808
930
  strokeLinejoin: "round",
809
931
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
810
932
  })
811
933
  });
812
934
  }
813
- function K({ className: e }) {
814
- return /* @__PURE__ */ o("svg", {
935
+ function ce({ className: e }) {
936
+ return /* @__PURE__ */ s("svg", {
815
937
  xmlns: "http://www.w3.org/2000/svg",
816
938
  fill: "none",
817
939
  viewBox: "0 0 24 24",
818
940
  strokeWidth: 1.5,
819
941
  stroke: "currentColor",
820
942
  className: e,
821
- children: /* @__PURE__ */ o("path", {
943
+ children: /* @__PURE__ */ s("path", {
822
944
  strokeLinecap: "round",
823
945
  strokeLinejoin: "round",
824
946
  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"
825
947
  })
826
948
  });
827
949
  }
828
- function q({ className: e }) {
829
- return /* @__PURE__ */ o("svg", {
950
+ function le({ className: e }) {
951
+ return /* @__PURE__ */ s("svg", {
830
952
  xmlns: "http://www.w3.org/2000/svg",
831
953
  fill: "none",
832
954
  viewBox: "0 0 24 24",
833
955
  strokeWidth: 1.5,
834
956
  stroke: "currentColor",
835
957
  className: e,
836
- children: /* @__PURE__ */ o("path", {
958
+ children: /* @__PURE__ */ s("path", {
837
959
  strokeLinecap: "round",
838
960
  strokeLinejoin: "round",
839
961
  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"
@@ -842,16 +964,16 @@ function q({ className: e }) {
842
964
  }
843
965
  //#endregion
844
966
  //#region src/components/CategoryTree/CategoryTree.tsx
845
- function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: a, defaultExpandAll: c }) {
846
- let l = e.children && e.children.length > 0, [u, d] = i(c || Y(e, t)), f = e.id === t;
847
- return /* @__PURE__ */ s("li", { children: [/* @__PURE__ */ s("div", {
967
+ function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: o }) {
968
+ let l = e.children && e.children.length > 0, [u, d] = a(o || Y(e, t)), f = e.id === t;
969
+ return /* @__PURE__ */ c("li", { children: [/* @__PURE__ */ c("div", {
848
970
  className: [
849
971
  "group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
850
972
  "transition-colors text-sm",
851
973
  f ? "bg-primary-50 text-primary-700 font-medium" : "text-gray-700 hover:bg-gray-50 hover:text-gray-900",
852
- a > 0 ? `ml-${Math.min(a * 4, 8)}` : ""
974
+ i > 0 ? `ml-${Math.min(i * 4, 8)}` : ""
853
975
  ].filter(Boolean).join(" "),
854
- style: a > 0 ? { marginLeft: a * 16 } : void 0,
976
+ style: i > 0 ? { marginLeft: i * 16 } : void 0,
855
977
  onClick: () => {
856
978
  n(e), l && d((e) => !e);
857
979
  },
@@ -862,60 +984,60 @@ function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: a, default
862
984
  },
863
985
  "aria-expanded": l ? u : void 0,
864
986
  children: [
865
- l ? /* @__PURE__ */ o("span", {
987
+ l ? /* @__PURE__ */ s("span", {
866
988
  className: `shrink-0 text-gray-400 transition-transform duration-150 ${u ? "rotate-90" : ""}`,
867
- children: /* @__PURE__ */ o("svg", {
989
+ children: /* @__PURE__ */ s("svg", {
868
990
  xmlns: "http://www.w3.org/2000/svg",
869
991
  fill: "none",
870
992
  viewBox: "0 0 24 24",
871
993
  strokeWidth: 2,
872
994
  stroke: "currentColor",
873
995
  className: "w-3.5 h-3.5",
874
- children: /* @__PURE__ */ o("path", {
996
+ children: /* @__PURE__ */ s("path", {
875
997
  strokeLinecap: "round",
876
998
  strokeLinejoin: "round",
877
999
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
878
1000
  })
879
1001
  })
880
- }) : /* @__PURE__ */ o("span", { className: "w-3.5 shrink-0" }),
881
- e.icon && /* @__PURE__ */ o("span", {
1002
+ }) : /* @__PURE__ */ s("span", { className: "w-3.5 shrink-0" }),
1003
+ e.icon && /* @__PURE__ */ s("span", {
882
1004
  className: "text-base leading-none",
883
1005
  children: e.icon
884
1006
  }),
885
- /* @__PURE__ */ o("span", {
1007
+ /* @__PURE__ */ s("span", {
886
1008
  className: "flex-1 truncate",
887
1009
  children: e.label
888
1010
  }),
889
- r && e.count !== void 0 && /* @__PURE__ */ o("span", {
1011
+ r && e.count !== void 0 && /* @__PURE__ */ s("span", {
890
1012
  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"}`,
891
1013
  children: e.count
892
1014
  })
893
1015
  ]
894
- }), l && u && /* @__PURE__ */ o("ul", {
1016
+ }), l && u && /* @__PURE__ */ s("ul", {
895
1017
  role: "group",
896
- children: e.children.map((e) => /* @__PURE__ */ o(J, {
1018
+ children: e.children.map((e) => /* @__PURE__ */ s(J, {
897
1019
  node: e,
898
1020
  activeId: t,
899
1021
  onSelect: n,
900
1022
  showCounts: r,
901
- depth: a + 1,
902
- defaultExpandAll: c
1023
+ depth: i + 1,
1024
+ defaultExpandAll: o
903
1025
  }, e.id))
904
1026
  })] });
905
1027
  }
906
1028
  function Y(e, t) {
907
1029
  return !t || !e.children ? !1 : e.children.some((e) => e.id === t || Y(e, t));
908
1030
  }
909
- function ae({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...s }) {
1031
+ function ue({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
910
1032
  let c = (e) => n?.(e);
911
- return /* @__PURE__ */ o("nav", {
1033
+ return /* @__PURE__ */ s("nav", {
912
1034
  "aria-label": "Category navigation",
913
1035
  className: ["w-full", a].filter(Boolean).join(" "),
914
- ...s,
915
- children: /* @__PURE__ */ o("ul", {
1036
+ ...o,
1037
+ children: /* @__PURE__ */ s("ul", {
916
1038
  role: "tree",
917
1039
  className: "space-y-0.5",
918
- children: e.map((e) => /* @__PURE__ */ o(J, {
1040
+ children: e.map((e) => /* @__PURE__ */ s(J, {
919
1041
  node: e,
920
1042
  activeId: t,
921
1043
  onSelect: c,
@@ -928,59 +1050,59 @@ function ae({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
928
1050
  }
929
1051
  //#endregion
930
1052
  //#region src/components/MegaMenu/MegaMenu.tsx
931
- function oe({ item: e, onNavigate: t, onClose: n }) {
932
- return e.columns?.length ? /* @__PURE__ */ o("div", {
1053
+ function X({ item: e, onNavigate: t, onClose: n }) {
1054
+ return e.columns?.length ? /* @__PURE__ */ s("div", {
933
1055
  className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
934
- children: /* @__PURE__ */ s("div", {
1056
+ children: /* @__PURE__ */ c("div", {
935
1057
  className: "max-w-7xl mx-auto px-4 py-6 flex gap-8",
936
- children: [/* @__PURE__ */ o("div", {
1058
+ children: [/* @__PURE__ */ s("div", {
937
1059
  className: "flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6",
938
- children: e.columns.map((e, r) => /* @__PURE__ */ s("div", { children: [e.heading && /* @__PURE__ */ o("p", {
1060
+ children: e.columns.map((e, r) => /* @__PURE__ */ c("div", { children: [e.heading && /* @__PURE__ */ s("p", {
939
1061
  className: "text-xs font-semibold uppercase tracking-wider text-gray-400 mb-2",
940
1062
  children: e.heading
941
- }), /* @__PURE__ */ o("ul", {
1063
+ }), /* @__PURE__ */ s("ul", {
942
1064
  className: "space-y-1",
943
- children: e.items.map((e) => /* @__PURE__ */ o("li", { children: /* @__PURE__ */ s("button", {
1065
+ children: e.items.map((e) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ c("button", {
944
1066
  className: "flex items-center gap-1.5 text-sm text-gray-700 hover:text-primary-600 transition-colors py-0.5",
945
1067
  onClick: () => {
946
1068
  t(e), n();
947
1069
  },
948
- children: [e.label, e.badge && /* @__PURE__ */ o("span", {
1070
+ children: [e.label, e.badge && /* @__PURE__ */ s("span", {
949
1071
  className: "text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-danger-50 text-danger-600 leading-none",
950
1072
  children: e.badge
951
1073
  })]
952
1074
  }) }, e.id))
953
1075
  })] }, r))
954
- }), e.featured && /* @__PURE__ */ o("div", {
1076
+ }), e.featured && /* @__PURE__ */ s("div", {
955
1077
  className: "w-52 shrink-0",
956
- children: /* @__PURE__ */ s("button", {
1078
+ children: /* @__PURE__ */ c("button", {
957
1079
  className: "group block w-full rounded-xl overflow-hidden border border-gray-100 text-left hover:shadow-md transition-shadow",
958
1080
  onClick: () => {
959
1081
  t(e), n();
960
1082
  },
961
- children: [e.featured.image ? /* @__PURE__ */ o("img", {
1083
+ children: [e.featured.image ? /* @__PURE__ */ s("img", {
962
1084
  src: e.featured.image,
963
1085
  alt: e.featured.title,
964
1086
  className: "w-full h-28 object-cover"
965
- }) : /* @__PURE__ */ o("div", {
1087
+ }) : /* @__PURE__ */ s("div", {
966
1088
  className: "w-full h-28 bg-linear-to-br from-primary-100 to-primary-200 flex items-center justify-center text-4xl",
967
1089
  children: e.icon ?? "🛍️"
968
- }), /* @__PURE__ */ s("div", {
1090
+ }), /* @__PURE__ */ c("div", {
969
1091
  className: "p-3",
970
1092
  children: [
971
- e.featured.eyebrow && /* @__PURE__ */ o("p", {
1093
+ e.featured.eyebrow && /* @__PURE__ */ s("p", {
972
1094
  className: "text-[10px] font-semibold uppercase tracking-wider text-primary-500 mb-0.5",
973
1095
  children: e.featured.eyebrow
974
1096
  }),
975
- /* @__PURE__ */ o("p", {
1097
+ /* @__PURE__ */ s("p", {
976
1098
  className: "text-sm font-semibold text-gray-900 group-hover:text-primary-600 transition-colors",
977
1099
  children: e.featured.title
978
1100
  }),
979
- e.featured.description && /* @__PURE__ */ o("p", {
1101
+ e.featured.description && /* @__PURE__ */ s("p", {
980
1102
  className: "text-xs text-gray-500 mt-0.5 line-clamp-2",
981
1103
  children: e.featured.description
982
1104
  }),
983
- e.featured.cta && /* @__PURE__ */ s("span", {
1105
+ e.featured.cta && /* @__PURE__ */ c("span", {
984
1106
  className: "inline-block mt-2 text-xs font-medium text-primary-600",
985
1107
  children: [e.featured.cta, " →"]
986
1108
  })
@@ -991,56 +1113,56 @@ function oe({ item: e, onNavigate: t, onClose: n }) {
991
1113
  })
992
1114
  }) : null;
993
1115
  }
994
- function se({ items: e, activeId: t, onNavigate: n }) {
995
- let [a, c] = i(null), l = r(null), u = (e) => {
996
- l.current && clearTimeout(l.current), c(e);
1116
+ function de({ items: e, activeId: t, onNavigate: n }) {
1117
+ let [r, o] = a(null), l = i(null), u = (e) => {
1118
+ l.current && clearTimeout(l.current), o(e);
997
1119
  }, d = () => {
998
- l.current = setTimeout(() => c(null), 120);
1120
+ l.current = setTimeout(() => o(null), 120);
999
1121
  }, f = () => {
1000
1122
  l.current && clearTimeout(l.current);
1001
- }, p = e.find((e) => e.id === a);
1002
- return /* @__PURE__ */ s("nav", {
1123
+ }, p = e.find((e) => e.id === r);
1124
+ return /* @__PURE__ */ c("nav", {
1003
1125
  "aria-label": "Main navigation",
1004
1126
  className: "relative bg-white border-b border-gray-100",
1005
1127
  onMouseLeave: d,
1006
- children: [/* @__PURE__ */ o("div", {
1128
+ children: [/* @__PURE__ */ s("div", {
1007
1129
  className: "max-w-7xl mx-auto px-4",
1008
- children: /* @__PURE__ */ o("ul", {
1130
+ children: /* @__PURE__ */ s("ul", {
1009
1131
  className: "flex items-center gap-0",
1010
1132
  role: "menubar",
1011
1133
  children: e.map((e) => {
1012
- let r = !!e.columns?.length, i = a === e.id, l = t === e.id;
1013
- return /* @__PURE__ */ o("li", {
1134
+ let i = !!e.columns?.length, a = r === e.id, l = t === e.id;
1135
+ return /* @__PURE__ */ s("li", {
1014
1136
  role: "none",
1015
- children: /* @__PURE__ */ s("button", {
1137
+ children: /* @__PURE__ */ c("button", {
1016
1138
  role: "menuitem",
1017
- "aria-haspopup": r ? "true" : void 0,
1018
- "aria-expanded": r ? i : void 0,
1139
+ "aria-haspopup": i ? "true" : void 0,
1140
+ "aria-expanded": i ? a : void 0,
1019
1141
  className: [
1020
1142
  "flex items-center gap-1.5 px-4 py-3.5 text-sm font-medium transition-colors relative",
1021
1143
  "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500",
1022
- l || i ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1023
- i ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1144
+ l || a ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1145
+ a ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1024
1146
  ].filter(Boolean).join(" "),
1025
- onMouseEnter: () => r ? u(e.id) : c(null),
1026
- onFocus: () => r && u(e.id),
1147
+ onMouseEnter: () => i ? u(e.id) : o(null),
1148
+ onFocus: () => i && u(e.id),
1027
1149
  onClick: () => {
1028
- r || (n?.(e), c(null));
1150
+ i || (n?.(e), o(null));
1029
1151
  },
1030
1152
  children: [
1031
- e.icon && /* @__PURE__ */ o("span", {
1153
+ e.icon && /* @__PURE__ */ s("span", {
1032
1154
  className: "text-base leading-none",
1033
1155
  children: e.icon
1034
1156
  }),
1035
1157
  e.label,
1036
- r && /* @__PURE__ */ o("svg", {
1158
+ i && /* @__PURE__ */ s("svg", {
1037
1159
  xmlns: "http://www.w3.org/2000/svg",
1038
1160
  fill: "none",
1039
1161
  viewBox: "0 0 24 24",
1040
1162
  strokeWidth: 2,
1041
1163
  stroke: "currentColor",
1042
- className: `w-3.5 h-3.5 transition-transform duration-150 ${i ? "rotate-180" : ""}`,
1043
- children: /* @__PURE__ */ o("path", {
1164
+ className: `w-3.5 h-3.5 transition-transform duration-150 ${a ? "rotate-180" : ""}`,
1165
+ children: /* @__PURE__ */ s("path", {
1044
1166
  strokeLinecap: "round",
1045
1167
  strokeLinejoin: "round",
1046
1168
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
@@ -1051,35 +1173,35 @@ function se({ items: e, activeId: t, onNavigate: n }) {
1051
1173
  }, e.id);
1052
1174
  })
1053
1175
  })
1054
- }), p?.columns?.length && /* @__PURE__ */ o("div", {
1176
+ }), p?.columns?.length && /* @__PURE__ */ s("div", {
1055
1177
  onMouseEnter: f,
1056
1178
  onMouseLeave: d,
1057
- children: /* @__PURE__ */ o(oe, {
1179
+ children: /* @__PURE__ */ s(X, {
1058
1180
  item: p,
1059
1181
  onNavigate: (e) => n?.(e),
1060
- onClose: () => c(null)
1182
+ onClose: () => o(null)
1061
1183
  })
1062
1184
  })]
1063
1185
  });
1064
1186
  }
1065
1187
  //#endregion
1066
1188
  //#region src/components/BannerCarousel/BannerCarousel.tsx
1067
- function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1068
- let [m, h] = i(0), [g, _] = i(!1), v = r(null), y = r(null), b = e.length, x = t((e) => {
1189
+ function fe({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1190
+ let [m, h] = a(0), [g, _] = a(!1), v = i(null), y = i(null), b = e.length, x = t((e) => {
1069
1191
  h((e % b + b) % b);
1070
1192
  }, [b]), S = () => x(m - 1), C = t(() => x(m + 1), [m, x]);
1071
1193
  n(() => {
1072
- if (!(!c || g || b <= 1)) return v.current = setInterval(C, l), () => {
1194
+ if (!(!r || g || b <= 1)) return v.current = setInterval(C, l), () => {
1073
1195
  v.current && clearInterval(v.current);
1074
1196
  };
1075
1197
  }, [
1076
- c,
1198
+ r,
1077
1199
  g,
1078
1200
  l,
1079
1201
  C,
1080
1202
  b
1081
1203
  ]);
1082
- let w = r(null), T = (e) => {
1204
+ let w = i(null), T = (e) => {
1083
1205
  w.current = e.touches[0].clientX;
1084
1206
  }, E = (e) => {
1085
1207
  if (w.current === null) return;
@@ -1088,7 +1210,7 @@ function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1088
1210
  };
1089
1211
  if (b === 0) return null;
1090
1212
  let D = e[m], O = D.textColor === "light" || !D.textColor;
1091
- return /* @__PURE__ */ s("div", {
1213
+ return /* @__PURE__ */ c("div", {
1092
1214
  className: ["relative overflow-hidden rounded-xl", f].filter(Boolean).join(" "),
1093
1215
  style: { aspectRatio: p },
1094
1216
  onMouseEnter: () => _(!0),
@@ -1096,41 +1218,41 @@ function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1096
1218
  onTouchStart: T,
1097
1219
  onTouchEnd: E,
1098
1220
  children: [
1099
- /* @__PURE__ */ o("div", {
1221
+ /* @__PURE__ */ s("div", {
1100
1222
  ref: y,
1101
1223
  className: "relative w-full h-full",
1102
- children: e.map((e, t) => /* @__PURE__ */ s("div", {
1224
+ children: e.map((e, t) => /* @__PURE__ */ c("div", {
1103
1225
  "aria-hidden": t !== m,
1104
1226
  className: ["absolute inset-0 transition-opacity duration-700", t === m ? "opacity-100 z-10" : "opacity-0 z-0"].join(" "),
1105
1227
  style: { background: e.backgroundImage ? `url(${e.backgroundImage}) center/cover no-repeat` : e.backgroundColor ?? "linear-gradient(135deg, #1d4ed8 0%, #7c3aed 100%)" },
1106
- children: [e.backgroundImage && /* @__PURE__ */ o("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" }), /* @__PURE__ */ s("div", {
1228
+ children: [e.backgroundImage && /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-gradient-to-r from-black/50 via-black/20 to-transparent" }), /* @__PURE__ */ c("div", {
1107
1229
  className: "relative z-10 h-full flex items-center px-8 md:px-12 gap-8",
1108
- children: [/* @__PURE__ */ s("div", {
1230
+ children: [/* @__PURE__ */ c("div", {
1109
1231
  className: "flex-1 max-w-lg",
1110
1232
  children: [
1111
- e.eyebrow && /* @__PURE__ */ o("p", {
1233
+ e.eyebrow && /* @__PURE__ */ s("p", {
1112
1234
  className: `text-xs font-semibold uppercase tracking-widest mb-2 ${O ? "text-white/70" : "text-gray-500"}`,
1113
1235
  children: e.eyebrow
1114
1236
  }),
1115
- /* @__PURE__ */ o("h2", {
1237
+ /* @__PURE__ */ s("h2", {
1116
1238
  className: `text-2xl md:text-3xl lg:text-4xl font-bold leading-tight ${O ? "text-white" : "text-gray-900"}`,
1117
1239
  children: e.title
1118
1240
  }),
1119
- e.subtitle && /* @__PURE__ */ o("p", {
1241
+ e.subtitle && /* @__PURE__ */ s("p", {
1120
1242
  className: `mt-2 text-sm md:text-base ${O ? "text-white/80" : "text-gray-600"}`,
1121
1243
  children: e.subtitle
1122
1244
  }),
1123
- e.ctaLabel && /* @__PURE__ */ s("button", {
1245
+ e.ctaLabel && /* @__PURE__ */ c("button", {
1124
1246
  onClick: e.onCtaClick,
1125
1247
  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(" "),
1126
- children: [e.ctaLabel, /* @__PURE__ */ o("svg", {
1248
+ children: [e.ctaLabel, /* @__PURE__ */ s("svg", {
1127
1249
  xmlns: "http://www.w3.org/2000/svg",
1128
1250
  fill: "none",
1129
1251
  viewBox: "0 0 24 24",
1130
1252
  strokeWidth: 2,
1131
1253
  stroke: "currentColor",
1132
1254
  className: "w-4 h-4",
1133
- children: /* @__PURE__ */ o("path", {
1255
+ children: /* @__PURE__ */ s("path", {
1134
1256
  strokeLinecap: "round",
1135
1257
  strokeLinejoin: "round",
1136
1258
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -1138,9 +1260,9 @@ function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1138
1260
  })]
1139
1261
  })
1140
1262
  ]
1141
- }), e.sideImage && /* @__PURE__ */ o("div", {
1263
+ }), e.sideImage && /* @__PURE__ */ s("div", {
1142
1264
  className: "hidden md:block flex-1 h-full flex items-end justify-end overflow-hidden",
1143
- children: /* @__PURE__ */ o("img", {
1265
+ children: /* @__PURE__ */ s("img", {
1144
1266
  src: e.sideImage,
1145
1267
  alt: "",
1146
1268
  className: "h-full w-auto object-contain object-bottom drop-shadow-2xl"
@@ -1149,52 +1271,52 @@ function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1149
1271
  })]
1150
1272
  }, e.id))
1151
1273
  }),
1152
- u && b > 1 && /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("button", {
1274
+ u && b > 1 && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("button", {
1153
1275
  onClick: S,
1154
1276
  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",
1155
1277
  "aria-label": "Previous banner",
1156
- children: /* @__PURE__ */ o("svg", {
1278
+ children: /* @__PURE__ */ s("svg", {
1157
1279
  xmlns: "http://www.w3.org/2000/svg",
1158
1280
  fill: "none",
1159
1281
  viewBox: "0 0 24 24",
1160
1282
  strokeWidth: 2,
1161
1283
  stroke: "currentColor",
1162
1284
  className: "w-5 h-5",
1163
- children: /* @__PURE__ */ o("path", {
1285
+ children: /* @__PURE__ */ s("path", {
1164
1286
  strokeLinecap: "round",
1165
1287
  strokeLinejoin: "round",
1166
1288
  d: "M15.75 19.5L8.25 12l7.5-7.5"
1167
1289
  })
1168
1290
  })
1169
- }), /* @__PURE__ */ o("button", {
1291
+ }), /* @__PURE__ */ s("button", {
1170
1292
  onClick: C,
1171
1293
  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",
1172
1294
  "aria-label": "Next banner",
1173
- children: /* @__PURE__ */ o("svg", {
1295
+ children: /* @__PURE__ */ s("svg", {
1174
1296
  xmlns: "http://www.w3.org/2000/svg",
1175
1297
  fill: "none",
1176
1298
  viewBox: "0 0 24 24",
1177
1299
  strokeWidth: 2,
1178
1300
  stroke: "currentColor",
1179
1301
  className: "w-5 h-5",
1180
- children: /* @__PURE__ */ o("path", {
1302
+ children: /* @__PURE__ */ s("path", {
1181
1303
  strokeLinecap: "round",
1182
1304
  strokeLinejoin: "round",
1183
1305
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1184
1306
  })
1185
1307
  })
1186
1308
  })] }),
1187
- d && b > 1 && /* @__PURE__ */ o("div", {
1309
+ d && b > 1 && /* @__PURE__ */ s("div", {
1188
1310
  className: "absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex gap-1.5",
1189
- children: e.map((e, t) => /* @__PURE__ */ o("button", {
1311
+ children: e.map((e, t) => /* @__PURE__ */ s("button", {
1190
1312
  onClick: () => x(t),
1191
1313
  "aria-label": `Go to slide ${t + 1}`,
1192
1314
  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(" ")
1193
1315
  }, t))
1194
1316
  }),
1195
- c && b > 1 && /* @__PURE__ */ o("div", {
1317
+ r && b > 1 && /* @__PURE__ */ s("div", {
1196
1318
  className: "absolute bottom-0 left-0 right-0 h-0.5 bg-white/20 z-20",
1197
- children: /* @__PURE__ */ o("div", {
1319
+ children: /* @__PURE__ */ s("div", {
1198
1320
  className: `h-full bg-white/60 ${g ? "" : "animate-progress"}`,
1199
1321
  style: { animation: g ? "none" : `progress ${l}ms linear` }
1200
1322
  }, `${m}-${g}`)
@@ -1204,23 +1326,23 @@ function ce({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1204
1326
  }
1205
1327
  //#endregion
1206
1328
  //#region src/components/ProductCard/ProductCard.tsx
1207
- function le({ filled: e }) {
1208
- return /* @__PURE__ */ o("svg", {
1329
+ function pe({ filled: e }) {
1330
+ return /* @__PURE__ */ s("svg", {
1209
1331
  xmlns: "http://www.w3.org/2000/svg",
1210
1332
  viewBox: "0 0 24 24",
1211
1333
  className: `w-3.5 h-3.5 ${e ? "fill-amber-400 stroke-amber-400" : "fill-gray-200 stroke-gray-300"}`,
1212
1334
  strokeWidth: 1,
1213
- children: /* @__PURE__ */ o("path", {
1335
+ children: /* @__PURE__ */ s("path", {
1214
1336
  strokeLinecap: "round",
1215
1337
  strokeLinejoin: "round",
1216
1338
  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"
1217
1339
  })
1218
1340
  });
1219
1341
  }
1220
- function ue({ value: e, count: t }) {
1221
- return /* @__PURE__ */ s("div", {
1342
+ function me({ value: e, count: t }) {
1343
+ return /* @__PURE__ */ c("div", {
1222
1344
  className: "flex items-center gap-1",
1223
- children: [/* @__PURE__ */ o("div", {
1345
+ children: [/* @__PURE__ */ s("div", {
1224
1346
  className: "flex gap-0.5",
1225
1347
  children: [
1226
1348
  1,
@@ -1228,8 +1350,8 @@ function ue({ value: e, count: t }) {
1228
1350
  3,
1229
1351
  4,
1230
1352
  5
1231
- ].map((t) => /* @__PURE__ */ o(le, { filled: t <= Math.round(e) }, t))
1232
- }), t !== void 0 && /* @__PURE__ */ s("span", {
1353
+ ].map((t) => /* @__PURE__ */ s(pe, { filled: t <= Math.round(e) }, t))
1354
+ }), t !== void 0 && /* @__PURE__ */ c("span", {
1233
1355
  className: "text-xs text-gray-400",
1234
1356
  children: [
1235
1357
  "(",
@@ -1239,54 +1361,54 @@ function ue({ value: e, count: t }) {
1239
1361
  })]
1240
1362
  });
1241
1363
  }
1242
- function de(e) {
1364
+ function he(e) {
1243
1365
  let t = e.toLowerCase();
1244
1366
  return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
1245
1367
  }
1246
- function X(e, t = "Kč") {
1368
+ function Z(e, t = "Kč") {
1247
1369
  return `${e.toLocaleString("cs-CZ")} ${t}`;
1248
1370
  }
1249
- function fe(e, t) {
1371
+ function ge(e, t) {
1250
1372
  return Math.round((1 - t / e) * 100);
1251
1373
  }
1252
- function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: a, size: c = "default", className: l = "" }) {
1253
- let [u, d] = i(!1), [f, p] = i(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1254
- return /* @__PURE__ */ s("article", {
1374
+ function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: i, size: o = "default", className: l = "" }) {
1375
+ let [u, d] = a(!1), [f, p] = a(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1376
+ return /* @__PURE__ */ c("article", {
1255
1377
  className: [
1256
1378
  "group relative flex flex-col bg-white rounded-xl border border-gray-200",
1257
1379
  "hover:shadow-md transition-shadow duration-200 overflow-hidden cursor-pointer",
1258
1380
  l
1259
1381
  ].filter(Boolean).join(" "),
1260
- onClick: () => a?.(e),
1382
+ onClick: () => i?.(e),
1261
1383
  onMouseEnter: () => d(!0),
1262
1384
  onMouseLeave: () => d(!1),
1263
- children: [/* @__PURE__ */ s("div", {
1264
- className: `relative overflow-hidden bg-gray-50 ${c === "compact" ? "aspect-square" : "aspect-4/3"}`,
1385
+ children: [/* @__PURE__ */ c("div", {
1386
+ className: `relative overflow-hidden bg-gray-50 ${o === "compact" ? "aspect-square" : "aspect-4/3"}`,
1265
1387
  children: [
1266
- e.image ? /* @__PURE__ */ o("img", {
1388
+ e.image ? /* @__PURE__ */ s("img", {
1267
1389
  src: u && e.imageHover ? e.imageHover : e.image,
1268
1390
  alt: e.name,
1269
1391
  className: "w-full h-full object-contain p-4 transition-transform duration-300 group-hover:scale-105"
1270
- }) : /* @__PURE__ */ o("div", {
1392
+ }) : /* @__PURE__ */ s("div", {
1271
1393
  className: "w-full h-full flex items-center justify-center text-5xl bg-linear-to-br from-gray-100 to-gray-200",
1272
1394
  children: "🛍️"
1273
1395
  }),
1274
- e.badge && /* @__PURE__ */ o("div", {
1396
+ e.badge && /* @__PURE__ */ s("div", {
1275
1397
  className: "absolute top-2 left-2",
1276
- children: /* @__PURE__ */ o(O, {
1277
- variant: de(e.badge),
1398
+ children: /* @__PURE__ */ s(k, {
1399
+ variant: he(e.badge),
1278
1400
  size: "sm",
1279
- children: e.badge === "sale" && m ? `-${fe(e.originalPrice, e.price)}%` : e.badge
1401
+ children: e.badge === "sale" && m ? `-${ge(e.originalPrice, e.price)}%` : e.badge
1280
1402
  })
1281
1403
  }),
1282
- e.inStock === !1 && /* @__PURE__ */ o("div", {
1404
+ e.inStock === !1 && /* @__PURE__ */ s("div", {
1283
1405
  className: "absolute inset-0 bg-white/70 flex items-center justify-center",
1284
- children: /* @__PURE__ */ o("span", {
1406
+ children: /* @__PURE__ */ s("span", {
1285
1407
  className: "text-sm font-semibold text-gray-500 bg-white/90 px-3 py-1 rounded-full border border-gray-200",
1286
1408
  children: "Vyprodáno"
1287
1409
  })
1288
1410
  }),
1289
- /* @__PURE__ */ o("button", {
1411
+ /* @__PURE__ */ s("button", {
1290
1412
  onClick: (t) => {
1291
1413
  t.stopPropagation(), n?.(e);
1292
1414
  },
@@ -1297,22 +1419,22 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1297
1419
  "opacity-0 group-hover:opacity-100 focus:opacity-100",
1298
1420
  r ? "text-danger-500" : "text-gray-400 hover:text-danger-400"
1299
1421
  ].join(" "),
1300
- children: /* @__PURE__ */ o("svg", {
1422
+ children: /* @__PURE__ */ s("svg", {
1301
1423
  xmlns: "http://www.w3.org/2000/svg",
1302
1424
  viewBox: "0 0 24 24",
1303
1425
  strokeWidth: 1.5,
1304
1426
  stroke: "currentColor",
1305
1427
  className: `w-4 h-4 ${r ? "fill-current" : "fill-none"}`,
1306
- children: /* @__PURE__ */ o("path", {
1428
+ children: /* @__PURE__ */ s("path", {
1307
1429
  strokeLinecap: "round",
1308
1430
  strokeLinejoin: "round",
1309
1431
  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"
1310
1432
  })
1311
1433
  })
1312
1434
  }),
1313
- /* @__PURE__ */ o("div", {
1435
+ /* @__PURE__ */ s("div", {
1314
1436
  className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200", u ? "translate-y-0" : "translate-y-full"].join(" "),
1315
- children: /* @__PURE__ */ o(x, {
1437
+ children: /* @__PURE__ */ s(S, {
1316
1438
  variant: "primary",
1317
1439
  size: "sm",
1318
1440
  fullWidth: !0,
@@ -1322,16 +1444,16 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1322
1444
  n.stopPropagation(), t?.(e), p(!0), setTimeout(() => p(!1), 1500);
1323
1445
  },
1324
1446
  className: "shadow-lg",
1325
- children: f ? /* @__PURE__ */ s("span", {
1447
+ children: f ? /* @__PURE__ */ c("span", {
1326
1448
  className: "flex items-center gap-1.5",
1327
- children: [/* @__PURE__ */ o("svg", {
1449
+ children: [/* @__PURE__ */ s("svg", {
1328
1450
  xmlns: "http://www.w3.org/2000/svg",
1329
1451
  fill: "none",
1330
1452
  viewBox: "0 0 24 24",
1331
1453
  strokeWidth: 2,
1332
1454
  stroke: "currentColor",
1333
1455
  className: "w-4 h-4",
1334
- children: /* @__PURE__ */ o("path", {
1456
+ children: /* @__PURE__ */ s("path", {
1335
1457
  strokeLinecap: "round",
1336
1458
  strokeLinejoin: "round",
1337
1459
  d: "M4.5 12.75l6 6 9-13.5"
@@ -1341,36 +1463,36 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1341
1463
  })
1342
1464
  })
1343
1465
  ]
1344
- }), /* @__PURE__ */ s("div", {
1345
- className: `flex flex-col gap-1.5 ${c === "compact" ? "p-3" : "p-4"}`,
1466
+ }), /* @__PURE__ */ c("div", {
1467
+ className: `flex flex-col gap-1.5 ${o === "compact" ? "p-3" : "p-4"}`,
1346
1468
  children: [
1347
- e.variants && e.variants.length > 0 && /* @__PURE__ */ s("div", {
1469
+ e.variants && e.variants.length > 0 && /* @__PURE__ */ c("div", {
1348
1470
  className: "flex gap-1",
1349
- children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ o("span", {
1471
+ children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ s("span", {
1350
1472
  title: e.label,
1351
1473
  className: "w-4 h-4 rounded-full border border-gray-300 shrink-0",
1352
1474
  style: { backgroundColor: e.color ?? "#ccc" }
1353
- }, e.id)), e.variants.length > 5 && /* @__PURE__ */ s("span", {
1475
+ }, e.id)), e.variants.length > 5 && /* @__PURE__ */ c("span", {
1354
1476
  className: "text-xs text-gray-400",
1355
1477
  children: ["+", e.variants.length - 5]
1356
1478
  })]
1357
1479
  }),
1358
- /* @__PURE__ */ o("h3", {
1359
- className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${c === "compact" ? "text-xs" : "text-sm"}`,
1480
+ /* @__PURE__ */ s("h3", {
1481
+ className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${o === "compact" ? "text-xs" : "text-sm"}`,
1360
1482
  children: e.name
1361
1483
  }),
1362
- e.rating !== void 0 && /* @__PURE__ */ o(ue, {
1484
+ e.rating !== void 0 && /* @__PURE__ */ s(me, {
1363
1485
  value: e.rating,
1364
1486
  count: e.reviewCount
1365
1487
  }),
1366
- /* @__PURE__ */ s("div", {
1488
+ /* @__PURE__ */ c("div", {
1367
1489
  className: "flex items-baseline gap-2 mt-auto pt-1",
1368
- children: [/* @__PURE__ */ o("span", {
1369
- className: `font-bold text-gray-900 ${c === "compact" ? "text-base" : "text-lg"}`,
1370
- children: X(e.price, e.currency)
1371
- }), m && /* @__PURE__ */ o("span", {
1490
+ children: [/* @__PURE__ */ s("span", {
1491
+ className: `font-bold text-gray-900 ${o === "compact" ? "text-base" : "text-lg"}`,
1492
+ children: Z(e.price, e.currency)
1493
+ }), m && /* @__PURE__ */ s("span", {
1372
1494
  className: "text-sm text-gray-400 line-through",
1373
- children: X(e.originalPrice, e.currency)
1495
+ children: Z(e.originalPrice, e.currency)
1374
1496
  })]
1375
1497
  })
1376
1498
  ]
@@ -1379,12 +1501,12 @@ function Z({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1379
1501
  }
1380
1502
  //#endregion
1381
1503
  //#region src/components/ProductGrid/ProductGrid.tsx
1382
- var Q = {
1504
+ var $ = {
1383
1505
  2: "grid-cols-2",
1384
1506
  3: "grid-cols-2 md:grid-cols-3",
1385
1507
  4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
1386
1508
  5: "grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"
1387
- }, pe = [
1509
+ }, _e = [
1388
1510
  {
1389
1511
  value: "newest",
1390
1512
  label: "Nejnovější"
@@ -1406,50 +1528,50 @@ var Q = {
1406
1528
  label: "Bestsellery"
1407
1529
  }
1408
1530
  ];
1409
- function me() {
1410
- return /* @__PURE__ */ s("div", {
1531
+ function ve() {
1532
+ return /* @__PURE__ */ c("div", {
1411
1533
  className: "rounded-xl border border-gray-100 overflow-hidden animate-pulse",
1412
- children: [/* @__PURE__ */ o("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ s("div", {
1534
+ children: [/* @__PURE__ */ s("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ c("div", {
1413
1535
  className: "p-4 space-y-2",
1414
1536
  children: [
1415
- /* @__PURE__ */ o("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1416
- /* @__PURE__ */ o("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1417
- /* @__PURE__ */ o("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1537
+ /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1538
+ /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1539
+ /* @__PURE__ */ s("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1418
1540
  ]
1419
1541
  })]
1420
1542
  });
1421
1543
  }
1422
- function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage: i = 20, columns: a = 4, sortOptions: c = pe, selectedSort: l, onSortChange: u, activeFilters: d = [], onRemoveFilter: f, onClearFilters: p, loading: m = !1, emptyState: h, onAddToCart: g, onWishlistToggle: _, onProductClick: v, wishlisted: y = [], className: b = "" }) {
1544
+ function ye({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage: i = 20, columns: a = 4, sortOptions: o = _e, selectedSort: l, onSortChange: u, activeFilters: d = [], onRemoveFilter: f, onClearFilters: p, loading: m = !1, emptyState: h, onAddToCart: g, onWishlistToggle: _, onProductClick: v, wishlisted: y = [], className: b = "" }) {
1423
1545
  let x = t ? Math.ceil(t / i) : void 0, S = a >= 5 ? "compact" : "default";
1424
- return /* @__PURE__ */ s("div", {
1546
+ return /* @__PURE__ */ c("div", {
1425
1547
  className: ["w-full", b].filter(Boolean).join(" "),
1426
1548
  children: [
1427
- /* @__PURE__ */ s("div", {
1549
+ /* @__PURE__ */ c("div", {
1428
1550
  className: "flex flex-wrap items-center justify-between gap-3 mb-4",
1429
- children: [/* @__PURE__ */ s("div", {
1551
+ children: [/* @__PURE__ */ c("div", {
1430
1552
  className: "flex flex-wrap items-center gap-2",
1431
1553
  children: [
1432
- t !== void 0 && /* @__PURE__ */ s("span", {
1554
+ t !== void 0 && /* @__PURE__ */ c("span", {
1433
1555
  className: "text-sm text-gray-500",
1434
- children: [/* @__PURE__ */ o("span", {
1556
+ children: [/* @__PURE__ */ s("span", {
1435
1557
  className: "font-semibold text-gray-900",
1436
1558
  children: t
1437
1559
  }), " produktů"]
1438
1560
  }),
1439
- d.map((e) => /* @__PURE__ */ s("span", {
1561
+ d.map((e) => /* @__PURE__ */ c("span", {
1440
1562
  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",
1441
- children: [e, /* @__PURE__ */ o("button", {
1563
+ children: [e, /* @__PURE__ */ s("button", {
1442
1564
  onClick: () => f?.(e),
1443
1565
  "aria-label": `Remove filter ${e}`,
1444
1566
  className: "hover:text-primary-900 transition-colors",
1445
- children: /* @__PURE__ */ o("svg", {
1567
+ children: /* @__PURE__ */ s("svg", {
1446
1568
  xmlns: "http://www.w3.org/2000/svg",
1447
1569
  fill: "none",
1448
1570
  viewBox: "0 0 24 24",
1449
1571
  strokeWidth: 2,
1450
1572
  stroke: "currentColor",
1451
1573
  className: "w-3 h-3",
1452
- children: /* @__PURE__ */ o("path", {
1574
+ children: /* @__PURE__ */ s("path", {
1453
1575
  strokeLinecap: "round",
1454
1576
  strokeLinejoin: "round",
1455
1577
  d: "M6 18L18 6M6 6l12 12"
@@ -1457,50 +1579,50 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1457
1579
  })
1458
1580
  })]
1459
1581
  }, e)),
1460
- d.length > 1 && /* @__PURE__ */ o("button", {
1582
+ d.length > 1 && /* @__PURE__ */ s("button", {
1461
1583
  onClick: p,
1462
1584
  className: "text-xs text-gray-400 hover:text-gray-600 underline underline-offset-2 transition-colors",
1463
1585
  children: "Zrušit vše"
1464
1586
  })
1465
1587
  ]
1466
- }), /* @__PURE__ */ o(T, {
1467
- options: c,
1588
+ }), /* @__PURE__ */ s(E, {
1589
+ options: o,
1468
1590
  value: l ?? "",
1469
1591
  onChange: (e) => u?.(e.target.value),
1470
1592
  "aria-label": "Sort products",
1471
1593
  className: "text-sm"
1472
1594
  })]
1473
1595
  }),
1474
- m ? /* @__PURE__ */ o("div", {
1475
- className: `grid gap-4 ${Q[a]}`,
1476
- children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ o(me, {}, t))
1477
- }) : e.length === 0 ? /* @__PURE__ */ o("div", {
1596
+ m ? /* @__PURE__ */ s("div", {
1597
+ className: `grid gap-4 ${$[a]}`,
1598
+ children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ s(ve, {}, t))
1599
+ }) : e.length === 0 ? /* @__PURE__ */ s("div", {
1478
1600
  className: "py-16 text-center",
1479
- children: h ?? /* @__PURE__ */ s("div", {
1601
+ children: h ?? /* @__PURE__ */ c("div", {
1480
1602
  className: "space-y-2",
1481
1603
  children: [
1482
- /* @__PURE__ */ o("p", {
1604
+ /* @__PURE__ */ s("p", {
1483
1605
  className: "text-4xl",
1484
1606
  children: "🔍"
1485
1607
  }),
1486
- /* @__PURE__ */ o("p", {
1608
+ /* @__PURE__ */ s("p", {
1487
1609
  className: "font-semibold text-gray-900",
1488
1610
  children: "Žádné produkty nenalezeny"
1489
1611
  }),
1490
- /* @__PURE__ */ o("p", {
1612
+ /* @__PURE__ */ s("p", {
1491
1613
  className: "text-sm text-gray-500",
1492
1614
  children: "Zkuste upravit filtry nebo hledat jinak."
1493
1615
  }),
1494
- d.length > 0 && /* @__PURE__ */ o("button", {
1616
+ d.length > 0 && /* @__PURE__ */ s("button", {
1495
1617
  onClick: p,
1496
1618
  className: "mt-3 text-sm text-primary-600 hover:underline",
1497
1619
  children: "Zrušit všechny filtry"
1498
1620
  })
1499
1621
  ]
1500
1622
  })
1501
- }) : /* @__PURE__ */ o("div", {
1502
- className: `grid gap-4 ${Q[a]}`,
1503
- children: e.map((e) => /* @__PURE__ */ o(Z, {
1623
+ }) : /* @__PURE__ */ s("div", {
1624
+ className: `grid gap-4 ${$[a]}`,
1625
+ children: e.map((e) => /* @__PURE__ */ s(Q, {
1504
1626
  product: e,
1505
1627
  size: S,
1506
1628
  onAddToCart: g,
@@ -1509,9 +1631,9 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1509
1631
  isWishlisted: y.includes(e.id)
1510
1632
  }, e.id))
1511
1633
  }),
1512
- x && x > 1 && r && /* @__PURE__ */ o("div", {
1634
+ x && x > 1 && r && /* @__PURE__ */ s("div", {
1513
1635
  className: "flex justify-center mt-8",
1514
- children: /* @__PURE__ */ o(V, {
1636
+ children: /* @__PURE__ */ s(U, {
1515
1637
  page: n,
1516
1638
  totalPages: x,
1517
1639
  onPageChange: r
@@ -1522,14 +1644,14 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1522
1644
  }
1523
1645
  //#endregion
1524
1646
  //#region src/components/CallToAction/CallToAction.tsx
1525
- var ge = {
1647
+ var be = {
1526
1648
  default: "bg-gray-50 border border-gray-200",
1527
1649
  primary: "bg-primary-600",
1528
1650
  dark: "bg-gray-900",
1529
1651
  gradient: "bg-linear-to-br from-primary-600 via-primary-700 to-violet-700",
1530
1652
  outline: "bg-white border-2 border-primary-600",
1531
1653
  image: "relative overflow-hidden"
1532
- }, _e = {
1654
+ }, xe = {
1533
1655
  default: {
1534
1656
  eyebrow: "text-primary-600",
1535
1657
  title: "text-gray-900",
@@ -1560,7 +1682,7 @@ var ge = {
1560
1682
  title: "text-white",
1561
1683
  description: "text-white/80"
1562
1684
  }
1563
- }, ve = {
1685
+ }, Se = {
1564
1686
  sm: {
1565
1687
  wrapper: "px-6 py-6 rounded-xl",
1566
1688
  title: "text-xl font-bold",
@@ -1585,7 +1707,7 @@ var ge = {
1585
1707
  description: "text-xl",
1586
1708
  eyebrow: "text-sm"
1587
1709
  }
1588
- }, ye = {
1710
+ }, Ce = {
1589
1711
  left: {
1590
1712
  wrapper: "items-start text-left",
1591
1713
  actions: "justify-start"
@@ -1599,8 +1721,8 @@ var ge = {
1599
1721
  actions: "justify-end"
1600
1722
  }
1601
1723
  };
1602
- function be({ eyebrow: e, title: t, description: n, actions: r = [], align: i = "center", layout: a = "stacked", size: c = "md", variant: l = "default", background: u, backgroundImage: d, media: f, className: p = "", style: m }) {
1603
- let h = _e[l], g = ve[c], _ = ye[i], v = a === "inline", y = {
1724
+ function we({ eyebrow: e, title: t, description: n, actions: r = [], align: i = "center", layout: a = "stacked", size: o = "md", variant: l = "default", background: u, backgroundImage: d, media: f, className: p = "", style: m }) {
1725
+ let h = xe[l], g = Se[o], _ = Ce[i], v = a === "inline", y = {
1604
1726
  ...u ? { background: u } : {},
1605
1727
  ...d ? {
1606
1728
  backgroundImage: `url(${d})`,
@@ -1609,48 +1731,48 @@ function be({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1609
1731
  } : {},
1610
1732
  ...m
1611
1733
  };
1612
- return /* @__PURE__ */ s("div", {
1734
+ return /* @__PURE__ */ c("div", {
1613
1735
  className: [
1614
1736
  "w-full",
1615
- ge[l],
1737
+ be[l],
1616
1738
  g.wrapper,
1617
1739
  p
1618
1740
  ].filter(Boolean).join(" "),
1619
1741
  style: Object.keys(y).length ? y : void 0,
1620
- children: [(l === "image" || d) && /* @__PURE__ */ o("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ s("div", {
1742
+ children: [(l === "image" || d) && /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ c("div", {
1621
1743
  className: `relative ${v ? "flex flex-wrap items-center justify-between gap-6" : `flex flex-col gap-4 ${_.wrapper}`}`,
1622
1744
  children: [
1623
- /* @__PURE__ */ s("div", {
1745
+ /* @__PURE__ */ c("div", {
1624
1746
  className: `flex flex-col gap-2 ${v ? "flex-1 min-w-0" : _.wrapper}`,
1625
1747
  children: [
1626
- e && /* @__PURE__ */ o("p", {
1748
+ e && /* @__PURE__ */ s("p", {
1627
1749
  className: `font-semibold uppercase tracking-widest ${g.eyebrow} ${h.eyebrow}`,
1628
1750
  children: e
1629
1751
  }),
1630
- /* @__PURE__ */ o("h2", {
1752
+ /* @__PURE__ */ s("h2", {
1631
1753
  className: `${g.title} ${h.title}`,
1632
1754
  children: t
1633
1755
  }),
1634
- n && /* @__PURE__ */ o("p", {
1756
+ n && /* @__PURE__ */ s("p", {
1635
1757
  className: `max-w-2xl ${g.description} ${h.description}`,
1636
1758
  children: n
1637
1759
  })
1638
1760
  ]
1639
1761
  }),
1640
- f && !v && /* @__PURE__ */ o("div", {
1762
+ f && !v && /* @__PURE__ */ s("div", {
1641
1763
  className: "mt-2",
1642
1764
  children: f
1643
1765
  }),
1644
- r.length > 0 && /* @__PURE__ */ o("div", {
1766
+ r.length > 0 && /* @__PURE__ */ s("div", {
1645
1767
  className: `flex flex-wrap gap-3 ${v ? "shrink-0" : _.actions}`,
1646
1768
  children: r.map((e, t) => {
1647
- let n = /* @__PURE__ */ o(x, {
1648
- variant: e.variant ?? (t === 0 ? xe(l) : "outline"),
1649
- size: e.size ?? (c === "sm" ? "sm" : c === "xl" ? "lg" : "md"),
1769
+ let n = /* @__PURE__ */ s(S, {
1770
+ variant: e.variant ?? (t === 0 ? Te(l) : "outline"),
1771
+ size: e.size ?? (o === "sm" ? "sm" : o === "xl" ? "lg" : "md"),
1650
1772
  onClick: e.onClick,
1651
1773
  children: e.label
1652
1774
  }, t);
1653
- return e.href ? /* @__PURE__ */ o("a", {
1775
+ return e.href ? /* @__PURE__ */ s("a", {
1654
1776
  href: e.href,
1655
1777
  className: "contents",
1656
1778
  children: n
@@ -1661,233 +1783,233 @@ function be({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1661
1783
  })]
1662
1784
  });
1663
1785
  }
1664
- function xe(e) {
1786
+ function Te(e) {
1665
1787
  return e === "default" || e === "outline" ? "primary" : "secondary";
1666
1788
  }
1667
1789
  //#endregion
1668
1790
  //#region src/components/Footer/Footer.tsx
1669
- function Se() {
1670
- return /* @__PURE__ */ o("svg", {
1791
+ function Ee() {
1792
+ return /* @__PURE__ */ s("svg", {
1671
1793
  xmlns: "http://www.w3.org/2000/svg",
1672
1794
  fill: "none",
1673
1795
  viewBox: "0 0 24 24",
1674
1796
  strokeWidth: 1.5,
1675
1797
  stroke: "currentColor",
1676
1798
  className: "w-4 h-4 shrink-0",
1677
- children: /* @__PURE__ */ o("path", {
1799
+ children: /* @__PURE__ */ s("path", {
1678
1800
  strokeLinecap: "round",
1679
1801
  strokeLinejoin: "round",
1680
1802
  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"
1681
1803
  })
1682
1804
  });
1683
1805
  }
1684
- function Ce() {
1685
- return /* @__PURE__ */ o("svg", {
1806
+ function De() {
1807
+ return /* @__PURE__ */ s("svg", {
1686
1808
  xmlns: "http://www.w3.org/2000/svg",
1687
1809
  fill: "none",
1688
1810
  viewBox: "0 0 24 24",
1689
1811
  strokeWidth: 1.5,
1690
1812
  stroke: "currentColor",
1691
1813
  className: "w-4 h-4 shrink-0",
1692
- children: /* @__PURE__ */ o("path", {
1814
+ children: /* @__PURE__ */ s("path", {
1693
1815
  strokeLinecap: "round",
1694
1816
  strokeLinejoin: "round",
1695
1817
  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"
1696
1818
  })
1697
1819
  });
1698
1820
  }
1699
- function we() {
1700
- return /* @__PURE__ */ s("svg", {
1821
+ function Oe() {
1822
+ return /* @__PURE__ */ c("svg", {
1701
1823
  xmlns: "http://www.w3.org/2000/svg",
1702
1824
  fill: "none",
1703
1825
  viewBox: "0 0 24 24",
1704
1826
  strokeWidth: 1.5,
1705
1827
  stroke: "currentColor",
1706
1828
  className: "w-4 h-4 shrink-0",
1707
- children: [/* @__PURE__ */ o("path", {
1829
+ children: [/* @__PURE__ */ s("path", {
1708
1830
  strokeLinecap: "round",
1709
1831
  strokeLinejoin: "round",
1710
1832
  d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
1711
- }), /* @__PURE__ */ o("path", {
1833
+ }), /* @__PURE__ */ s("path", {
1712
1834
  strokeLinecap: "round",
1713
1835
  strokeLinejoin: "round",
1714
1836
  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"
1715
1837
  })]
1716
1838
  });
1717
1839
  }
1718
- function Te() {
1719
- return /* @__PURE__ */ o("svg", {
1840
+ function ke() {
1841
+ return /* @__PURE__ */ s("svg", {
1720
1842
  xmlns: "http://www.w3.org/2000/svg",
1721
1843
  fill: "none",
1722
1844
  viewBox: "0 0 24 24",
1723
1845
  strokeWidth: 1.5,
1724
1846
  stroke: "currentColor",
1725
1847
  className: "w-4 h-4 shrink-0",
1726
- children: /* @__PURE__ */ o("path", {
1848
+ children: /* @__PURE__ */ s("path", {
1727
1849
  strokeLinecap: "round",
1728
1850
  strokeLinejoin: "round",
1729
1851
  d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
1730
1852
  })
1731
1853
  });
1732
1854
  }
1733
- function Ee() {
1734
- return /* @__PURE__ */ o("svg", {
1855
+ function Ae() {
1856
+ return /* @__PURE__ */ s("svg", {
1735
1857
  xmlns: "http://www.w3.org/2000/svg",
1736
1858
  viewBox: "0 0 24 24",
1737
1859
  fill: "currentColor",
1738
1860
  className: "w-4 h-4",
1739
- children: /* @__PURE__ */ o("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" })
1861
+ children: /* @__PURE__ */ s("path", { d: "M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97h-1.513c-1.491 0-1.956.93-1.956 1.886v2.267h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z" })
1740
1862
  });
1741
1863
  }
1742
- function De() {
1743
- return /* @__PURE__ */ o("svg", {
1864
+ function je() {
1865
+ return /* @__PURE__ */ s("svg", {
1744
1866
  xmlns: "http://www.w3.org/2000/svg",
1745
1867
  viewBox: "0 0 24 24",
1746
1868
  fill: "currentColor",
1747
1869
  className: "w-4 h-4",
1748
- children: /* @__PURE__ */ o("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" })
1870
+ children: /* @__PURE__ */ s("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
1749
1871
  });
1750
1872
  }
1751
- function $() {
1752
- return /* @__PURE__ */ o("svg", {
1873
+ function Me() {
1874
+ return /* @__PURE__ */ s("svg", {
1753
1875
  xmlns: "http://www.w3.org/2000/svg",
1754
1876
  viewBox: "0 0 24 24",
1755
1877
  fill: "currentColor",
1756
1878
  className: "w-4 h-4",
1757
- children: /* @__PURE__ */ o("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" })
1879
+ children: /* @__PURE__ */ s("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" })
1758
1880
  });
1759
1881
  }
1760
- function Oe() {
1761
- return /* @__PURE__ */ o("svg", {
1882
+ function Ne() {
1883
+ return /* @__PURE__ */ s("svg", {
1762
1884
  xmlns: "http://www.w3.org/2000/svg",
1763
1885
  viewBox: "0 0 24 24",
1764
1886
  fill: "currentColor",
1765
1887
  className: "w-4 h-4",
1766
- children: /* @__PURE__ */ o("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" })
1888
+ children: /* @__PURE__ */ s("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
1767
1889
  });
1768
1890
  }
1769
- function ke() {
1770
- return /* @__PURE__ */ o("svg", {
1891
+ function Pe() {
1892
+ return /* @__PURE__ */ s("svg", {
1771
1893
  xmlns: "http://www.w3.org/2000/svg",
1772
1894
  viewBox: "0 0 24 24",
1773
1895
  fill: "currentColor",
1774
1896
  className: "w-4 h-4",
1775
- children: /* @__PURE__ */ o("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" })
1897
+ children: /* @__PURE__ */ s("path", { d: "M19.59 6.69a4.83 4.83 0 01-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 01-2.88 2.5 2.89 2.89 0 01-2.89-2.89 2.89 2.89 0 012.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 00-.79-.05 6.34 6.34 0 00-6.34 6.34 6.34 6.34 0 006.34 6.34 6.34 6.34 0 006.33-6.34V8.69a8.18 8.18 0 004.78 1.52V6.76a4.85 4.85 0 01-1.01-.07z" })
1776
1898
  });
1777
1899
  }
1778
- var Ae = {
1779
- facebook: Ee,
1780
- instagram: De,
1781
- twitter: $,
1782
- youtube: Oe,
1783
- tiktok: ke
1784
- }, je = {
1785
- phone: Se,
1786
- email: Ce,
1787
- address: we,
1788
- hours: Te
1900
+ var Fe = {
1901
+ facebook: Ae,
1902
+ instagram: je,
1903
+ twitter: Me,
1904
+ youtube: Ne,
1905
+ tiktok: Pe
1906
+ }, Ie = {
1907
+ phone: Ee,
1908
+ email: De,
1909
+ address: Oe,
1910
+ hours: ke
1789
1911
  };
1790
- function Me(e) {
1912
+ function Le(e) {
1791
1913
  if (!e) return null;
1792
1914
  if (typeof e == "string") {
1793
- let t = je[e];
1794
- return t ? /* @__PURE__ */ o(t, {}) : null;
1915
+ let t = Ie[e];
1916
+ return t ? /* @__PURE__ */ s(t, {}) : null;
1795
1917
  }
1796
1918
  return e;
1797
1919
  }
1798
- function Ne(e) {
1920
+ function Re(e) {
1799
1921
  if (typeof e == "string") {
1800
- let t = Ae[e];
1801
- return t ? /* @__PURE__ */ o(t, {}) : null;
1922
+ let t = Fe[e];
1923
+ return t ? /* @__PURE__ */ s(t, {}) : null;
1802
1924
  }
1803
1925
  return e;
1804
1926
  }
1805
- function Pe({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: c, bottomLinks: l = [], className: u = "" }) {
1927
+ function ze({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: o, bottomLinks: l = [], className: u = "" }) {
1806
1928
  let d = (/* @__PURE__ */ new Date()).getFullYear();
1807
- return /* @__PURE__ */ s("footer", {
1929
+ return /* @__PURE__ */ c("footer", {
1808
1930
  className: ["bg-gray-900 text-gray-300", u].filter(Boolean).join(" "),
1809
- children: [/* @__PURE__ */ s("div", {
1931
+ children: [/* @__PURE__ */ c("div", {
1810
1932
  className: "max-w-7xl mx-auto px-4 py-12 grid grid-cols-1 md:grid-cols-2 gap-10 lg:gap-16",
1811
- children: [/* @__PURE__ */ s("div", {
1933
+ children: [/* @__PURE__ */ c("div", {
1812
1934
  className: "flex flex-col gap-6",
1813
1935
  children: [
1814
- /* @__PURE__ */ s("div", { children: [e ? /* @__PURE__ */ o("div", {
1936
+ /* @__PURE__ */ c("div", { children: [e ? /* @__PURE__ */ s("div", {
1815
1937
  className: "mb-3",
1816
1938
  children: e
1817
- }) : /* @__PURE__ */ o("span", {
1939
+ }) : /* @__PURE__ */ s("span", {
1818
1940
  className: "text-xl font-bold text-white tracking-tight mb-3 block",
1819
1941
  children: "shopito"
1820
- }), t && /* @__PURE__ */ o("p", {
1942
+ }), t && /* @__PURE__ */ s("p", {
1821
1943
  className: "text-sm text-gray-400 max-w-xs",
1822
1944
  children: t
1823
1945
  })] }),
1824
- r.length > 0 && /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h3", {
1946
+ r.length > 0 && /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
1825
1947
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
1826
1948
  children: n
1827
- }), /* @__PURE__ */ o("ul", {
1949
+ }), /* @__PURE__ */ s("ul", {
1828
1950
  className: "space-y-3",
1829
1951
  children: r.map((e, t) => {
1830
- let n = Me(e.icon), r = /* @__PURE__ */ s("div", {
1952
+ let n = Le(e.icon), r = /* @__PURE__ */ c("div", {
1831
1953
  className: "flex items-start gap-2.5",
1832
- children: [n && /* @__PURE__ */ o("span", {
1954
+ children: [n && /* @__PURE__ */ s("span", {
1833
1955
  className: "mt-0.5 text-primary-400",
1834
1956
  children: n
1835
- }), /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
1957
+ }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
1836
1958
  className: "text-xs text-gray-500 leading-none mb-0.5",
1837
1959
  children: e.label
1838
- }), /* @__PURE__ */ o("p", {
1960
+ }), /* @__PURE__ */ s("p", {
1839
1961
  className: `text-sm text-gray-200 ${e.href ? "hover:text-white transition-colors" : ""}`,
1840
1962
  children: e.value
1841
1963
  })] })]
1842
1964
  });
1843
- return /* @__PURE__ */ o("li", { children: e.href ? /* @__PURE__ */ o("a", {
1965
+ return /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
1844
1966
  href: e.href,
1845
1967
  children: r
1846
1968
  }) : r }, t);
1847
1969
  })
1848
1970
  })] }),
1849
- a.length > 0 && /* @__PURE__ */ o("div", {
1971
+ a.length > 0 && /* @__PURE__ */ s("div", {
1850
1972
  className: "flex gap-2 flex-wrap",
1851
- children: a.map((e, t) => /* @__PURE__ */ o("a", {
1973
+ children: a.map((e, t) => /* @__PURE__ */ s("a", {
1852
1974
  href: e.href,
1853
1975
  "aria-label": e.label,
1854
1976
  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",
1855
- children: Ne(e.icon)
1977
+ children: Re(e.icon)
1856
1978
  }, t))
1857
1979
  })
1858
1980
  ]
1859
- }), i.length > 0 && /* @__PURE__ */ o("div", {
1981
+ }), i.length > 0 && /* @__PURE__ */ s("div", {
1860
1982
  className: `grid gap-8 ${i.length === 1 ? "grid-cols-1" : i.length === 2 ? "grid-cols-2" : "grid-cols-2 sm:grid-cols-3"}`,
1861
- children: i.map((e, t) => /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h3", {
1983
+ children: i.map((e, t) => /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
1862
1984
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
1863
1985
  children: e.heading
1864
- }), /* @__PURE__ */ o("ul", {
1986
+ }), /* @__PURE__ */ s("ul", {
1865
1987
  className: "space-y-2",
1866
- children: e.links.map((e, t) => /* @__PURE__ */ o("li", { children: e.href ? /* @__PURE__ */ o("a", {
1988
+ children: e.links.map((e, t) => /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
1867
1989
  href: e.href,
1868
1990
  className: "text-sm text-gray-400 hover:text-white transition-colors",
1869
1991
  children: e.label
1870
- }) : /* @__PURE__ */ o("button", {
1992
+ }) : /* @__PURE__ */ s("button", {
1871
1993
  onClick: e.onClick,
1872
1994
  className: "text-sm text-gray-400 hover:text-white transition-colors text-left",
1873
1995
  children: e.label
1874
1996
  }) }, t))
1875
1997
  })] }, t))
1876
1998
  })]
1877
- }), /* @__PURE__ */ o("div", {
1999
+ }), /* @__PURE__ */ s("div", {
1878
2000
  className: "border-t border-gray-800",
1879
- children: /* @__PURE__ */ s("div", {
2001
+ children: /* @__PURE__ */ c("div", {
1880
2002
  className: "max-w-7xl mx-auto px-4 py-4 flex flex-wrap items-center justify-between gap-3",
1881
- children: [/* @__PURE__ */ o("p", {
2003
+ children: [/* @__PURE__ */ s("p", {
1882
2004
  className: "text-xs text-gray-500",
1883
- children: c ?? `© ${d} Shopito. Všechna práva vyhrazena.`
1884
- }), l.length > 0 && /* @__PURE__ */ o("nav", {
2005
+ children: o ?? `© ${d} Shopito. Všechna práva vyhrazena.`
2006
+ }), l.length > 0 && /* @__PURE__ */ s("nav", {
1885
2007
  className: "flex flex-wrap gap-4",
1886
- children: l.map((e, t) => e.href ? /* @__PURE__ */ o("a", {
2008
+ children: l.map((e, t) => e.href ? /* @__PURE__ */ s("a", {
1887
2009
  href: e.href,
1888
2010
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
1889
2011
  children: e.label
1890
- }, t) : /* @__PURE__ */ o("button", {
2012
+ }, t) : /* @__PURE__ */ s("button", {
1891
2013
  onClick: e.onClick,
1892
2014
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
1893
2015
  children: e.label
@@ -1898,6 +2020,6 @@ function Pe({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
1898
2020
  });
1899
2021
  }
1900
2022
  //#endregion
1901
- export { M as Alert, ie as Avatar, O as Badge, ce as BannerCarousel, x as Button, be as CallToAction, te as Card, re as CardBody, k as CardFooter, ne as CardHeader, ae as CategoryTree, F as Checkbox, v as Container, Pe as Footer, W as Header, E as Heading, C as IconButton, w as Input, S as LoadingSpin, y as Main, se as MegaMenu, P as Modal, V as Pagination, Z as ProductCard, he as ProductGrid, T as Select, A as Spinner, D as Text, I as Toggle };
2023
+ export { ne as Alert, ie as Avatar, k as Badge, fe as BannerCarousel, S as Button, we as CallToAction, j as Card, ee as CardBody, te as CardFooter, M as CardHeader, ue as CategoryTree, I as Checkbox, y as Container, ze as Footer, K as Header, D as Heading, w as IconButton, T as Input, C as LoadingSpin, b as Main, de as MegaMenu, F as Modal, U as Pagination, Q as ProductCard, ye as ProductGrid, z as QuantityInput, E as Select, N as Spinner, ae as Stack, O as Text, L as Toggle };
1902
2024
 
1903
2025
  //# sourceMappingURL=index.js.map