@shopito/design-system-fe 0.1.6 → 0.1.8

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) => {
103
- let f = l ?? e?.toLowerCase().replace(/\s+/g, "-");
104
- return /* @__PURE__ */ s("div", {
105
- className: a ? "w-full" : "inline-block",
102
+ var T = e(({ label: e, error: t, hint: n, leftIcon: r, rightIcon: i, className: a = "", id: o, ...l }, u) => {
103
+ let d = o ?? e?.toLowerCase().replace(/\s+/g, "-");
104
+ return /* @__PURE__ */ c("div", {
105
+ className: "w-full",
106
106
  children: [
107
- e && /* @__PURE__ */ o("label", {
108
- htmlFor: f,
107
+ e && /* @__PURE__ */ s("label", {
108
+ htmlFor: d,
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", {
120
- ref: d,
121
- id: f,
122
- className: (0, b.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", a && "w-full", c),
123
- ...u
119
+ /* @__PURE__ */ s("input", {
120
+ ref: u,
121
+ id: d,
122
+ className: (0, x.default)("input", t && "has-error", !!r && "with-left-icon", !!i && "with-right-icon", "w-full", a),
123
+ ...l
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) => {
142
- let f = l ?? e?.toLowerCase().replace(/\s+/g, "-");
143
- return /* @__PURE__ */ s("div", {
144
- className: (0, b.default)("select-wrapper", a && "w-full"),
141
+ var E = e(({ label: e, error: t, hint: n, options: r, placeholder: i, className: a = "", id: o, ...l }, u) => {
142
+ let d = o ?? e?.toLowerCase().replace(/\s+/g, "-");
143
+ return /* @__PURE__ */ c("div", {
144
+ className: (0, x.default)("select-wrapper", "w-full"),
145
145
  children: [
146
- e && /* @__PURE__ */ o("label", {
147
- htmlFor: f,
146
+ e && /* @__PURE__ */ s("label", {
147
+ htmlFor: d,
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", {
154
- ref: d,
155
- id: f,
156
- className: (0, b.default)("select", t && "has-error", a && "w-full", c),
157
- ...u,
158
- children: [i && /* @__PURE__ */ o("option", {
153
+ children: [/* @__PURE__ */ c("select", {
154
+ ref: u,
155
+ id: d,
156
+ className: (0, x.default)("select", "w-full", t && "has-error", a),
157
+ ...l,
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 k = {
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 A({ 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
- k[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 ee({ 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 te({ 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 j({ 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 j({ children: e, className: t = "", ...n }) {
253
253
  }
254
254
  //#endregion
255
255
  //#region src/components/common/Spinner/Spinner.tsx
256
- function ne({ 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 ne({ size: e = "md", color: t = "primary", label: n = "Loading…", cla
267
267
  }
268
268
  //#endregion
269
269
  //#region src/components/common/Alert/Alert.tsx
270
- var re = {
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: re[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"
@@ -527,8 +527,8 @@ function ie({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
527
527
  }
528
528
  //#endregion
529
529
  //#region src/components/common/Stack/Stack.tsx
530
- var ae = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems: r = "start", children: i }) => /* @__PURE__ */ o("div", {
531
- className: (0, b.default)("stack", `stack-${e}`, t && `gap-${t}`, {
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
532
  start: "items-start",
533
533
  end: "items-end",
534
534
  center: "items-center",
@@ -541,75 +541,183 @@ var ae = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
541
541
  stretch: "justify-items-stretch"
542
542
  }[r]),
543
543
  children: i
544
- }), R = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), z = (e, t, n) => {
545
- if (t <= n * 2 + 5) return R(1, t);
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);
546
654
  let r = Math.max(e - n, 1), i = Math.min(e + n, t), a = r > 2, o = i < t - 1;
547
655
  return !a && o ? [
548
- ...R(1, 3 + n * 2),
656
+ ...B(1, 3 + n * 2),
549
657
  "…",
550
658
  t
551
659
  ] : a && !o ? [
552
660
  1,
553
661
  "…",
554
- ...R(t - (2 + n * 2), t)
662
+ ...B(t - (2 + n * 2), t)
555
663
  ] : [
556
664
  1,
557
665
  "…",
558
- ...R(r, i),
666
+ ...B(r, i),
559
667
  "…",
560
668
  t
561
669
  ];
562
- }, B = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ o("button", {
670
+ }, H = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */ s("button", {
563
671
  disabled: t,
564
- className: (0, b.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
672
+ className: (0, x.default)("pagination-button", `pagination-button-${e ? "active" : "inactive"}`),
565
673
  ...r,
566
674
  children: n
567
- }), V = ({ page: e, totalPages: t, onPageChange: n, siblingsCount: r = 1 }) => {
568
- let i = z(e, t, r);
569
- 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", {
570
678
  "aria-label": "Pagination",
571
679
  className: "pagination",
572
680
  children: [
573
- /* @__PURE__ */ o(B, {
681
+ /* @__PURE__ */ s(H, {
574
682
  disabled: e <= 1,
575
683
  onClick: () => n(e - 1),
576
684
  "aria-label": "Previous page",
577
- children: /* @__PURE__ */ o("svg", {
685
+ children: /* @__PURE__ */ s("svg", {
578
686
  xmlns: "http://www.w3.org/2000/svg",
579
687
  fill: "none",
580
688
  viewBox: "0 0 24 24",
581
689
  strokeWidth: 2,
582
690
  stroke: "currentColor",
583
691
  className: "w-4 h-4",
584
- children: /* @__PURE__ */ o("path", {
692
+ children: /* @__PURE__ */ s("path", {
585
693
  strokeLinecap: "round",
586
694
  strokeLinejoin: "round",
587
695
  d: "M15.75 19.5L8.25 12l7.5-7.5"
588
696
  })
589
697
  })
590
698
  }),
591
- i.map((t, r) => t === "…" ? /* @__PURE__ */ o("span", {
699
+ i.map((t, r) => t === "…" ? /* @__PURE__ */ s("span", {
592
700
  className: "pagination-dots",
593
701
  children: "…"
594
- }, `dots-${r}`) : /* @__PURE__ */ o(B, {
702
+ }, `dots-${r}`) : /* @__PURE__ */ s(H, {
595
703
  active: t === e,
596
704
  onClick: () => n(t),
597
705
  "aria-label": `Page ${t}`,
598
706
  "aria-current": t === e ? "page" : void 0,
599
707
  children: t
600
708
  }, t)),
601
- /* @__PURE__ */ o(B, {
709
+ /* @__PURE__ */ s(H, {
602
710
  disabled: e >= t,
603
711
  onClick: () => n(e + 1),
604
712
  "aria-label": "Next page",
605
- children: /* @__PURE__ */ o("svg", {
713
+ children: /* @__PURE__ */ s("svg", {
606
714
  xmlns: "http://www.w3.org/2000/svg",
607
715
  fill: "none",
608
716
  viewBox: "0 0 24 24",
609
717
  strokeWidth: 2,
610
718
  stroke: "currentColor",
611
719
  className: "w-4 h-4",
612
- children: /* @__PURE__ */ o("path", {
720
+ children: /* @__PURE__ */ s("path", {
613
721
  strokeLinecap: "round",
614
722
  strokeLinejoin: "round",
615
723
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -621,9 +729,9 @@ var ae = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
621
729
  };
622
730
  //#endregion
623
731
  //#region src/components/Header/Header.tsx
624
- function H({ trigger: e, items: t, onSelect: n, getKey: a, renderItem: c }) {
625
- let [l, u] = i(!1), d = r(null), f = () => u(!1);
626
- 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", {
627
735
  ref: d,
628
736
  className: "relative",
629
737
  onBlur: (e) => {
@@ -632,84 +740,83 @@ function H({ trigger: e, items: t, onSelect: n, getKey: a, renderItem: c }) {
632
740
  onKeyDown: (e) => {
633
741
  e.key === "Escape" && f();
634
742
  },
635
- children: [/* @__PURE__ */ o("div", {
743
+ children: [/* @__PURE__ */ s("div", {
636
744
  role: "button",
637
745
  tabIndex: 0,
638
746
  onClick: () => u((e) => !e),
639
747
  onKeyDown: (e) => e.key === "Enter" && u((e) => !e),
640
748
  className: "cursor-pointer",
641
749
  children: e
642
- }), l && /* @__PURE__ */ o("ul", {
750
+ }), l && /* @__PURE__ */ s("ul", {
643
751
  role: "menu",
644
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",
645
- children: t.map((e) => /* @__PURE__ */ o("li", {
753
+ children: t.map((e) => /* @__PURE__ */ s("li", {
646
754
  role: "none",
647
- children: /* @__PURE__ */ o("button", {
755
+ children: /* @__PURE__ */ s("button", {
648
756
  role: "menuitem",
649
757
  className: "w-full px-3 py-1.5 text-left hover:bg-gray-50 text-gray-700 whitespace-nowrap",
650
758
  onClick: () => {
651
759
  n(e), f();
652
760
  },
653
- children: c ? c(e) : e.label
761
+ children: o ? o(e) : e.label
654
762
  })
655
- }, a(e)))
763
+ }, r(e)))
656
764
  })]
657
765
  });
658
766
  }
659
- function U() {
660
- return /* @__PURE__ */ o("svg", {
767
+ function G() {
768
+ return /* @__PURE__ */ s("svg", {
661
769
  xmlns: "http://www.w3.org/2000/svg",
662
770
  fill: "none",
663
771
  viewBox: "0 0 24 24",
664
772
  strokeWidth: 1.5,
665
773
  stroke: "currentColor",
666
774
  className: "w-4 h-4",
667
- children: /* @__PURE__ */ o("path", {
775
+ children: /* @__PURE__ */ s("path", {
668
776
  strokeLinecap: "round",
669
777
  strokeLinejoin: "round",
670
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"
671
779
  })
672
780
  });
673
781
  }
674
- 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 }) {
675
- let [y, b] = i(""), x = f.find((e) => e.code === p), S = h.find((e) => e.code === g);
676
- 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", {
677
785
  className: "bg-white border-b border-gray-200 sticky top-0 z-40",
678
- children: /* @__PURE__ */ s("div", {
786
+ children: /* @__PURE__ */ c("div", {
679
787
  className: "max-w-7xl mx-auto px-4 h-16 flex items-center gap-4",
680
788
  children: [
681
- /* @__PURE__ */ o("div", {
789
+ /* @__PURE__ */ s("div", {
682
790
  className: "shrink-0",
683
- children: e ?? /* @__PURE__ */ o("span", {
791
+ children: e ?? /* @__PURE__ */ s("span", {
684
792
  className: "text-xl font-bold text-primary-600 tracking-tight",
685
793
  children: "shopito"
686
794
  })
687
795
  }),
688
- /* @__PURE__ */ o("div", {
796
+ /* @__PURE__ */ s("div", {
689
797
  className: "flex-1 max-w-xl",
690
- children: /* @__PURE__ */ o(w, {
691
- fullWidth: !0,
798
+ children: /* @__PURE__ */ s(T, {
692
799
  placeholder: t,
693
800
  value: y,
694
801
  onChange: (e) => b(e.target.value),
695
802
  onKeyDown: (e) => {
696
803
  e.key === "Enter" && n?.(y);
697
804
  },
698
- leftIcon: /* @__PURE__ */ o(U, {}),
699
- rightIcon: y ? /* @__PURE__ */ o("button", {
805
+ leftIcon: /* @__PURE__ */ s(G, {}),
806
+ rightIcon: y ? /* @__PURE__ */ s("button", {
700
807
  onClick: () => {
701
808
  b(""), n?.("");
702
809
  },
703
810
  className: "hover:text-gray-600 transition-colors",
704
811
  "aria-label": "Clear search",
705
- children: /* @__PURE__ */ o("svg", {
812
+ children: /* @__PURE__ */ s("svg", {
706
813
  xmlns: "http://www.w3.org/2000/svg",
707
814
  fill: "none",
708
815
  viewBox: "0 0 24 24",
709
816
  strokeWidth: 2,
710
817
  stroke: "currentColor",
711
818
  className: "w-3.5 h-3.5",
712
- children: /* @__PURE__ */ o("path", {
819
+ children: /* @__PURE__ */ s("path", {
713
820
  strokeLinecap: "round",
714
821
  strokeLinejoin: "round",
715
822
  d: "M6 18L18 6M6 6l12 12"
@@ -718,85 +825,85 @@ function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
718
825
  }) : void 0
719
826
  })
720
827
  }),
721
- /* @__PURE__ */ s("div", {
828
+ /* @__PURE__ */ c("div", {
722
829
  className: "flex items-center gap-1 shrink-0 ml-auto",
723
830
  children: [
724
- f.length > 0 && /* @__PURE__ */ o(H, {
725
- trigger: /* @__PURE__ */ s("button", {
831
+ f.length > 0 && /* @__PURE__ */ s(W, {
832
+ trigger: /* @__PURE__ */ c("button", {
726
833
  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",
727
834
  children: [
728
- /* @__PURE__ */ o("span", { children: x?.symbol ?? p }),
729
- /* @__PURE__ */ o("span", {
835
+ /* @__PURE__ */ s("span", { children: x?.symbol ?? p }),
836
+ /* @__PURE__ */ s("span", {
730
837
  className: "text-xs text-gray-400",
731
838
  children: x?.code ?? p
732
839
  }),
733
- /* @__PURE__ */ o(G, { className: "w-3 h-3 text-gray-400" })
840
+ /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
734
841
  ]
735
842
  }),
736
843
  items: f,
737
844
  getKey: (e) => e.code,
738
845
  onSelect: (e) => m?.(e.code),
739
- renderItem: (e) => /* @__PURE__ */ s("span", {
846
+ renderItem: (e) => /* @__PURE__ */ c("span", {
740
847
  className: "flex items-center gap-2",
741
- children: [/* @__PURE__ */ o("span", {
848
+ children: [/* @__PURE__ */ s("span", {
742
849
  className: "w-6 text-center font-medium text-gray-500",
743
850
  children: e.symbol
744
- }), /* @__PURE__ */ o("span", { children: e.label })]
851
+ }), /* @__PURE__ */ s("span", { children: e.label })]
745
852
  })
746
853
  }),
747
- h.length > 0 && /* @__PURE__ */ o(H, {
748
- trigger: /* @__PURE__ */ s("button", {
854
+ h.length > 0 && /* @__PURE__ */ s(W, {
855
+ trigger: /* @__PURE__ */ c("button", {
749
856
  className: "flex items-center gap-1 px-2 py-1.5 rounded-md text-sm text-gray-600 hover:bg-gray-50 transition-colors",
750
857
  children: [
751
- S?.flag && /* @__PURE__ */ o("span", {
858
+ S?.flag && /* @__PURE__ */ s("span", {
752
859
  className: "text-base leading-none",
753
860
  children: S.flag
754
861
  }),
755
- /* @__PURE__ */ o("span", {
862
+ /* @__PURE__ */ s("span", {
756
863
  className: "font-medium uppercase",
757
864
  children: S?.code ?? g
758
865
  }),
759
- /* @__PURE__ */ o(G, { className: "w-3 h-3 text-gray-400" })
866
+ /* @__PURE__ */ s(q, { className: "w-3 h-3 text-gray-400" })
760
867
  ]
761
868
  }),
762
869
  items: h,
763
870
  getKey: (e) => e.code,
764
871
  onSelect: (e) => _?.(e.code),
765
- renderItem: (e) => /* @__PURE__ */ s("span", {
872
+ renderItem: (e) => /* @__PURE__ */ c("span", {
766
873
  className: "flex items-center gap-2",
767
- children: [e.flag && /* @__PURE__ */ o("span", {
874
+ children: [e.flag && /* @__PURE__ */ s("span", {
768
875
  className: "text-base",
769
876
  children: e.flag
770
- }), /* @__PURE__ */ o("span", { children: e.label })]
877
+ }), /* @__PURE__ */ s("span", { children: e.label })]
771
878
  })
772
879
  }),
773
- (f.length > 0 || h.length > 0) && /* @__PURE__ */ o("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
774
- /* @__PURE__ */ o("button", {
880
+ (f.length > 0 || h.length > 0) && /* @__PURE__ */ s("div", { className: "w-px h-5 bg-gray-200 mx-1" }),
881
+ /* @__PURE__ */ s("button", {
775
882
  onClick: d,
776
883
  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",
777
884
  "aria-label": l ? "My account" : "Sign in",
778
- children: l ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("div", {
885
+ children: l ? /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
779
886
  className: "w-6 h-6 rounded-full bg-primary-600 text-white flex items-center justify-center text-xs font-bold",
780
887
  children: (u ?? "U")[0].toUpperCase()
781
- }), u && /* @__PURE__ */ o("span", {
888
+ }), u && /* @__PURE__ */ s("span", {
782
889
  className: "hidden sm:block font-medium max-w-32 truncate",
783
890
  children: u
784
- })] }) : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(K, { className: "w-5 h-5" }), /* @__PURE__ */ o("span", {
891
+ })] }) : /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(ce, { className: "w-5 h-5" }), /* @__PURE__ */ s("span", {
785
892
  className: "hidden sm:block font-medium",
786
893
  children: "Přihlásit se"
787
894
  })] })
788
895
  }),
789
- /* @__PURE__ */ s("button", {
790
- onClick: c,
896
+ /* @__PURE__ */ c("button", {
897
+ onClick: i,
791
898
  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",
792
899
  "aria-label": `Cart, ${r} items`,
793
900
  children: [
794
- /* @__PURE__ */ o(q, { className: "w-5 h-5" }),
795
- /* @__PURE__ */ o("span", {
901
+ /* @__PURE__ */ s(le, { className: "w-5 h-5" }),
902
+ /* @__PURE__ */ s("span", {
796
903
  className: "hidden sm:block font-medium",
797
904
  children: "Košík"
798
905
  }),
799
- r > 0 && /* @__PURE__ */ o("span", {
906
+ r > 0 && /* @__PURE__ */ s("span", {
800
907
  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",
801
908
  children: r > 99 ? "99+" : r
802
909
  })
@@ -809,45 +916,45 @@ function W({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
809
916
  })
810
917
  });
811
918
  }
812
- function G({ className: e }) {
813
- return /* @__PURE__ */ o("svg", {
919
+ function q({ className: e }) {
920
+ return /* @__PURE__ */ s("svg", {
814
921
  xmlns: "http://www.w3.org/2000/svg",
815
922
  fill: "none",
816
923
  viewBox: "0 0 24 24",
817
924
  strokeWidth: 2,
818
925
  stroke: "currentColor",
819
926
  className: e,
820
- children: /* @__PURE__ */ o("path", {
927
+ children: /* @__PURE__ */ s("path", {
821
928
  strokeLinecap: "round",
822
929
  strokeLinejoin: "round",
823
930
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
824
931
  })
825
932
  });
826
933
  }
827
- function K({ className: e }) {
828
- return /* @__PURE__ */ o("svg", {
934
+ function ce({ className: e }) {
935
+ return /* @__PURE__ */ s("svg", {
829
936
  xmlns: "http://www.w3.org/2000/svg",
830
937
  fill: "none",
831
938
  viewBox: "0 0 24 24",
832
939
  strokeWidth: 1.5,
833
940
  stroke: "currentColor",
834
941
  className: e,
835
- children: /* @__PURE__ */ o("path", {
942
+ children: /* @__PURE__ */ s("path", {
836
943
  strokeLinecap: "round",
837
944
  strokeLinejoin: "round",
838
945
  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"
839
946
  })
840
947
  });
841
948
  }
842
- function q({ className: e }) {
843
- return /* @__PURE__ */ o("svg", {
949
+ function le({ className: e }) {
950
+ return /* @__PURE__ */ s("svg", {
844
951
  xmlns: "http://www.w3.org/2000/svg",
845
952
  fill: "none",
846
953
  viewBox: "0 0 24 24",
847
954
  strokeWidth: 1.5,
848
955
  stroke: "currentColor",
849
956
  className: e,
850
- children: /* @__PURE__ */ o("path", {
957
+ children: /* @__PURE__ */ s("path", {
851
958
  strokeLinecap: "round",
852
959
  strokeLinejoin: "round",
853
960
  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"
@@ -856,16 +963,16 @@ function q({ className: e }) {
856
963
  }
857
964
  //#endregion
858
965
  //#region src/components/CategoryTree/CategoryTree.tsx
859
- function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: a, defaultExpandAll: c }) {
860
- let l = e.children && e.children.length > 0, [u, d] = i(c || Y(e, t)), f = e.id === t;
861
- return /* @__PURE__ */ s("li", { children: [/* @__PURE__ */ s("div", {
966
+ function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, defaultExpandAll: o }) {
967
+ let l = e.children && e.children.length > 0, [u, d] = a(o || Y(e, t)), f = e.id === t;
968
+ return /* @__PURE__ */ c("li", { children: [/* @__PURE__ */ c("div", {
862
969
  className: [
863
970
  "group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
864
971
  "transition-colors text-sm",
865
972
  f ? "bg-primary-50 text-primary-700 font-medium" : "text-gray-700 hover:bg-gray-50 hover:text-gray-900",
866
- a > 0 ? `ml-${Math.min(a * 4, 8)}` : ""
973
+ i > 0 ? `ml-${Math.min(i * 4, 8)}` : ""
867
974
  ].filter(Boolean).join(" "),
868
- style: a > 0 ? { marginLeft: a * 16 } : void 0,
975
+ style: i > 0 ? { marginLeft: i * 16 } : void 0,
869
976
  onClick: () => {
870
977
  n(e), l && d((e) => !e);
871
978
  },
@@ -876,60 +983,60 @@ function J({ node: e, activeId: t, onSelect: n, showCounts: r, depth: a, default
876
983
  },
877
984
  "aria-expanded": l ? u : void 0,
878
985
  children: [
879
- l ? /* @__PURE__ */ o("span", {
986
+ l ? /* @__PURE__ */ s("span", {
880
987
  className: `shrink-0 text-gray-400 transition-transform duration-150 ${u ? "rotate-90" : ""}`,
881
- children: /* @__PURE__ */ o("svg", {
988
+ children: /* @__PURE__ */ s("svg", {
882
989
  xmlns: "http://www.w3.org/2000/svg",
883
990
  fill: "none",
884
991
  viewBox: "0 0 24 24",
885
992
  strokeWidth: 2,
886
993
  stroke: "currentColor",
887
994
  className: "w-3.5 h-3.5",
888
- children: /* @__PURE__ */ o("path", {
995
+ children: /* @__PURE__ */ s("path", {
889
996
  strokeLinecap: "round",
890
997
  strokeLinejoin: "round",
891
998
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
892
999
  })
893
1000
  })
894
- }) : /* @__PURE__ */ o("span", { className: "w-3.5 shrink-0" }),
895
- e.icon && /* @__PURE__ */ o("span", {
1001
+ }) : /* @__PURE__ */ s("span", { className: "w-3.5 shrink-0" }),
1002
+ e.icon && /* @__PURE__ */ s("span", {
896
1003
  className: "text-base leading-none",
897
1004
  children: e.icon
898
1005
  }),
899
- /* @__PURE__ */ o("span", {
1006
+ /* @__PURE__ */ s("span", {
900
1007
  className: "flex-1 truncate",
901
1008
  children: e.label
902
1009
  }),
903
- r && e.count !== void 0 && /* @__PURE__ */ o("span", {
1010
+ r && e.count !== void 0 && /* @__PURE__ */ s("span", {
904
1011
  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"}`,
905
1012
  children: e.count
906
1013
  })
907
1014
  ]
908
- }), l && u && /* @__PURE__ */ o("ul", {
1015
+ }), l && u && /* @__PURE__ */ s("ul", {
909
1016
  role: "group",
910
- children: e.children.map((e) => /* @__PURE__ */ o(J, {
1017
+ children: e.children.map((e) => /* @__PURE__ */ s(J, {
911
1018
  node: e,
912
1019
  activeId: t,
913
1020
  onSelect: n,
914
1021
  showCounts: r,
915
- depth: a + 1,
916
- defaultExpandAll: c
1022
+ depth: i + 1,
1023
+ defaultExpandAll: o
917
1024
  }, e.id))
918
1025
  })] });
919
1026
  }
920
1027
  function Y(e, t) {
921
1028
  return !t || !e.children ? !1 : e.children.some((e) => e.id === t || Y(e, t));
922
1029
  }
923
- function oe({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...s }) {
1030
+ function ue({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
924
1031
  let c = (e) => n?.(e);
925
- return /* @__PURE__ */ o("nav", {
1032
+ return /* @__PURE__ */ s("nav", {
926
1033
  "aria-label": "Category navigation",
927
1034
  className: ["w-full", a].filter(Boolean).join(" "),
928
- ...s,
929
- children: /* @__PURE__ */ o("ul", {
1035
+ ...o,
1036
+ children: /* @__PURE__ */ s("ul", {
930
1037
  role: "tree",
931
1038
  className: "space-y-0.5",
932
- children: e.map((e) => /* @__PURE__ */ o(J, {
1039
+ children: e.map((e) => /* @__PURE__ */ s(J, {
933
1040
  node: e,
934
1041
  activeId: t,
935
1042
  onSelect: c,
@@ -942,59 +1049,59 @@ function oe({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
942
1049
  }
943
1050
  //#endregion
944
1051
  //#region src/components/MegaMenu/MegaMenu.tsx
945
- function se({ item: e, onNavigate: t, onClose: n }) {
946
- return e.columns?.length ? /* @__PURE__ */ o("div", {
1052
+ function X({ item: e, onNavigate: t, onClose: n }) {
1053
+ return e.columns?.length ? /* @__PURE__ */ s("div", {
947
1054
  className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
948
- children: /* @__PURE__ */ s("div", {
1055
+ children: /* @__PURE__ */ c("div", {
949
1056
  className: "max-w-7xl mx-auto px-4 py-6 flex gap-8",
950
- children: [/* @__PURE__ */ o("div", {
1057
+ children: [/* @__PURE__ */ s("div", {
951
1058
  className: "flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6",
952
- children: e.columns.map((e, r) => /* @__PURE__ */ s("div", { children: [e.heading && /* @__PURE__ */ o("p", {
1059
+ children: e.columns.map((e, r) => /* @__PURE__ */ c("div", { children: [e.heading && /* @__PURE__ */ s("p", {
953
1060
  className: "text-xs font-semibold uppercase tracking-wider text-gray-400 mb-2",
954
1061
  children: e.heading
955
- }), /* @__PURE__ */ o("ul", {
1062
+ }), /* @__PURE__ */ s("ul", {
956
1063
  className: "space-y-1",
957
- children: e.items.map((e) => /* @__PURE__ */ o("li", { children: /* @__PURE__ */ s("button", {
1064
+ children: e.items.map((e) => /* @__PURE__ */ s("li", { children: /* @__PURE__ */ c("button", {
958
1065
  className: "flex items-center gap-1.5 text-sm text-gray-700 hover:text-primary-600 transition-colors py-0.5",
959
1066
  onClick: () => {
960
1067
  t(e), n();
961
1068
  },
962
- children: [e.label, e.badge && /* @__PURE__ */ o("span", {
1069
+ children: [e.label, e.badge && /* @__PURE__ */ s("span", {
963
1070
  className: "text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-danger-50 text-danger-600 leading-none",
964
1071
  children: e.badge
965
1072
  })]
966
1073
  }) }, e.id))
967
1074
  })] }, r))
968
- }), e.featured && /* @__PURE__ */ o("div", {
1075
+ }), e.featured && /* @__PURE__ */ s("div", {
969
1076
  className: "w-52 shrink-0",
970
- children: /* @__PURE__ */ s("button", {
1077
+ children: /* @__PURE__ */ c("button", {
971
1078
  className: "group block w-full rounded-xl overflow-hidden border border-gray-100 text-left hover:shadow-md transition-shadow",
972
1079
  onClick: () => {
973
1080
  t(e), n();
974
1081
  },
975
- children: [e.featured.image ? /* @__PURE__ */ o("img", {
1082
+ children: [e.featured.image ? /* @__PURE__ */ s("img", {
976
1083
  src: e.featured.image,
977
1084
  alt: e.featured.title,
978
1085
  className: "w-full h-28 object-cover"
979
- }) : /* @__PURE__ */ o("div", {
1086
+ }) : /* @__PURE__ */ s("div", {
980
1087
  className: "w-full h-28 bg-linear-to-br from-primary-100 to-primary-200 flex items-center justify-center text-4xl",
981
1088
  children: e.icon ?? "🛍️"
982
- }), /* @__PURE__ */ s("div", {
1089
+ }), /* @__PURE__ */ c("div", {
983
1090
  className: "p-3",
984
1091
  children: [
985
- e.featured.eyebrow && /* @__PURE__ */ o("p", {
1092
+ e.featured.eyebrow && /* @__PURE__ */ s("p", {
986
1093
  className: "text-[10px] font-semibold uppercase tracking-wider text-primary-500 mb-0.5",
987
1094
  children: e.featured.eyebrow
988
1095
  }),
989
- /* @__PURE__ */ o("p", {
1096
+ /* @__PURE__ */ s("p", {
990
1097
  className: "text-sm font-semibold text-gray-900 group-hover:text-primary-600 transition-colors",
991
1098
  children: e.featured.title
992
1099
  }),
993
- e.featured.description && /* @__PURE__ */ o("p", {
1100
+ e.featured.description && /* @__PURE__ */ s("p", {
994
1101
  className: "text-xs text-gray-500 mt-0.5 line-clamp-2",
995
1102
  children: e.featured.description
996
1103
  }),
997
- e.featured.cta && /* @__PURE__ */ s("span", {
1104
+ e.featured.cta && /* @__PURE__ */ c("span", {
998
1105
  className: "inline-block mt-2 text-xs font-medium text-primary-600",
999
1106
  children: [e.featured.cta, " →"]
1000
1107
  })
@@ -1005,56 +1112,56 @@ function se({ item: e, onNavigate: t, onClose: n }) {
1005
1112
  })
1006
1113
  }) : null;
1007
1114
  }
1008
- function ce({ items: e, activeId: t, onNavigate: n }) {
1009
- let [a, c] = i(null), l = r(null), u = (e) => {
1010
- l.current && clearTimeout(l.current), c(e);
1115
+ function de({ items: e, activeId: t, onNavigate: n }) {
1116
+ let [r, o] = a(null), l = i(null), u = (e) => {
1117
+ l.current && clearTimeout(l.current), o(e);
1011
1118
  }, d = () => {
1012
- l.current = setTimeout(() => c(null), 120);
1119
+ l.current = setTimeout(() => o(null), 120);
1013
1120
  }, f = () => {
1014
1121
  l.current && clearTimeout(l.current);
1015
- }, p = e.find((e) => e.id === a);
1016
- return /* @__PURE__ */ s("nav", {
1122
+ }, p = e.find((e) => e.id === r);
1123
+ return /* @__PURE__ */ c("nav", {
1017
1124
  "aria-label": "Main navigation",
1018
1125
  className: "relative bg-white border-b border-gray-100",
1019
1126
  onMouseLeave: d,
1020
- children: [/* @__PURE__ */ o("div", {
1127
+ children: [/* @__PURE__ */ s("div", {
1021
1128
  className: "max-w-7xl mx-auto px-4",
1022
- children: /* @__PURE__ */ o("ul", {
1129
+ children: /* @__PURE__ */ s("ul", {
1023
1130
  className: "flex items-center gap-0",
1024
1131
  role: "menubar",
1025
1132
  children: e.map((e) => {
1026
- let r = !!e.columns?.length, i = a === e.id, l = t === e.id;
1027
- return /* @__PURE__ */ o("li", {
1133
+ let i = !!e.columns?.length, a = r === e.id, l = t === e.id;
1134
+ return /* @__PURE__ */ s("li", {
1028
1135
  role: "none",
1029
- children: /* @__PURE__ */ s("button", {
1136
+ children: /* @__PURE__ */ c("button", {
1030
1137
  role: "menuitem",
1031
- "aria-haspopup": r ? "true" : void 0,
1032
- "aria-expanded": r ? i : void 0,
1138
+ "aria-haspopup": i ? "true" : void 0,
1139
+ "aria-expanded": i ? a : void 0,
1033
1140
  className: [
1034
1141
  "flex items-center gap-1.5 px-4 py-3.5 text-sm font-medium transition-colors relative",
1035
1142
  "outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500",
1036
- l || i ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1037
- i ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1143
+ l || a ? "text-primary-600" : "text-gray-700 hover:text-gray-900",
1144
+ a ? "after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary-600" : ""
1038
1145
  ].filter(Boolean).join(" "),
1039
- onMouseEnter: () => r ? u(e.id) : c(null),
1040
- onFocus: () => r && u(e.id),
1146
+ onMouseEnter: () => i ? u(e.id) : o(null),
1147
+ onFocus: () => i && u(e.id),
1041
1148
  onClick: () => {
1042
- r || (n?.(e), c(null));
1149
+ i || (n?.(e), o(null));
1043
1150
  },
1044
1151
  children: [
1045
- e.icon && /* @__PURE__ */ o("span", {
1152
+ e.icon && /* @__PURE__ */ s("span", {
1046
1153
  className: "text-base leading-none",
1047
1154
  children: e.icon
1048
1155
  }),
1049
1156
  e.label,
1050
- r && /* @__PURE__ */ o("svg", {
1157
+ i && /* @__PURE__ */ s("svg", {
1051
1158
  xmlns: "http://www.w3.org/2000/svg",
1052
1159
  fill: "none",
1053
1160
  viewBox: "0 0 24 24",
1054
1161
  strokeWidth: 2,
1055
1162
  stroke: "currentColor",
1056
- className: `w-3.5 h-3.5 transition-transform duration-150 ${i ? "rotate-180" : ""}`,
1057
- children: /* @__PURE__ */ o("path", {
1163
+ className: `w-3.5 h-3.5 transition-transform duration-150 ${a ? "rotate-180" : ""}`,
1164
+ children: /* @__PURE__ */ s("path", {
1058
1165
  strokeLinecap: "round",
1059
1166
  strokeLinejoin: "round",
1060
1167
  d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
@@ -1065,35 +1172,35 @@ function ce({ items: e, activeId: t, onNavigate: n }) {
1065
1172
  }, e.id);
1066
1173
  })
1067
1174
  })
1068
- }), p?.columns?.length && /* @__PURE__ */ o("div", {
1175
+ }), p?.columns?.length && /* @__PURE__ */ s("div", {
1069
1176
  onMouseEnter: f,
1070
1177
  onMouseLeave: d,
1071
- children: /* @__PURE__ */ o(se, {
1178
+ children: /* @__PURE__ */ s(X, {
1072
1179
  item: p,
1073
1180
  onNavigate: (e) => n?.(e),
1074
- onClose: () => c(null)
1181
+ onClose: () => o(null)
1075
1182
  })
1076
1183
  })]
1077
1184
  });
1078
1185
  }
1079
1186
  //#endregion
1080
1187
  //#region src/components/BannerCarousel/BannerCarousel.tsx
1081
- function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1082
- let [m, h] = i(0), [g, _] = i(!1), v = r(null), y = r(null), b = e.length, x = t((e) => {
1188
+ function fe({ banners: e, autoPlay: r = !0, autoPlayInterval: l = 5e3, arrows: u = !0, dots: d = !0, className: f = "", aspectRatio: p = "3 / 1" }) {
1189
+ let [m, h] = a(0), [g, _] = a(!1), v = i(null), y = i(null), b = e.length, x = t((e) => {
1083
1190
  h((e % b + b) % b);
1084
1191
  }, [b]), S = () => x(m - 1), C = t(() => x(m + 1), [m, x]);
1085
1192
  n(() => {
1086
- if (!(!c || g || b <= 1)) return v.current = setInterval(C, l), () => {
1193
+ if (!(!r || g || b <= 1)) return v.current = setInterval(C, l), () => {
1087
1194
  v.current && clearInterval(v.current);
1088
1195
  };
1089
1196
  }, [
1090
- c,
1197
+ r,
1091
1198
  g,
1092
1199
  l,
1093
1200
  C,
1094
1201
  b
1095
1202
  ]);
1096
- let w = r(null), T = (e) => {
1203
+ let w = i(null), T = (e) => {
1097
1204
  w.current = e.touches[0].clientX;
1098
1205
  }, E = (e) => {
1099
1206
  if (w.current === null) return;
@@ -1102,7 +1209,7 @@ function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1102
1209
  };
1103
1210
  if (b === 0) return null;
1104
1211
  let D = e[m], O = D.textColor === "light" || !D.textColor;
1105
- return /* @__PURE__ */ s("div", {
1212
+ return /* @__PURE__ */ c("div", {
1106
1213
  className: ["relative overflow-hidden rounded-xl", f].filter(Boolean).join(" "),
1107
1214
  style: { aspectRatio: p },
1108
1215
  onMouseEnter: () => _(!0),
@@ -1110,41 +1217,41 @@ function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1110
1217
  onTouchStart: T,
1111
1218
  onTouchEnd: E,
1112
1219
  children: [
1113
- /* @__PURE__ */ o("div", {
1220
+ /* @__PURE__ */ s("div", {
1114
1221
  ref: y,
1115
1222
  className: "relative w-full h-full",
1116
- children: e.map((e, t) => /* @__PURE__ */ s("div", {
1223
+ children: e.map((e, t) => /* @__PURE__ */ c("div", {
1117
1224
  "aria-hidden": t !== m,
1118
1225
  className: ["absolute inset-0 transition-opacity duration-700", t === m ? "opacity-100 z-10" : "opacity-0 z-0"].join(" "),
1119
1226
  style: { background: e.backgroundImage ? `url(${e.backgroundImage}) center/cover no-repeat` : e.backgroundColor ?? "linear-gradient(135deg, #1d4ed8 0%, #7c3aed 100%)" },
1120
- 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", {
1227
+ 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", {
1121
1228
  className: "relative z-10 h-full flex items-center px-8 md:px-12 gap-8",
1122
- children: [/* @__PURE__ */ s("div", {
1229
+ children: [/* @__PURE__ */ c("div", {
1123
1230
  className: "flex-1 max-w-lg",
1124
1231
  children: [
1125
- e.eyebrow && /* @__PURE__ */ o("p", {
1232
+ e.eyebrow && /* @__PURE__ */ s("p", {
1126
1233
  className: `text-xs font-semibold uppercase tracking-widest mb-2 ${O ? "text-white/70" : "text-gray-500"}`,
1127
1234
  children: e.eyebrow
1128
1235
  }),
1129
- /* @__PURE__ */ o("h2", {
1236
+ /* @__PURE__ */ s("h2", {
1130
1237
  className: `text-2xl md:text-3xl lg:text-4xl font-bold leading-tight ${O ? "text-white" : "text-gray-900"}`,
1131
1238
  children: e.title
1132
1239
  }),
1133
- e.subtitle && /* @__PURE__ */ o("p", {
1240
+ e.subtitle && /* @__PURE__ */ s("p", {
1134
1241
  className: `mt-2 text-sm md:text-base ${O ? "text-white/80" : "text-gray-600"}`,
1135
1242
  children: e.subtitle
1136
1243
  }),
1137
- e.ctaLabel && /* @__PURE__ */ s("button", {
1244
+ e.ctaLabel && /* @__PURE__ */ c("button", {
1138
1245
  onClick: e.onCtaClick,
1139
1246
  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(" "),
1140
- children: [e.ctaLabel, /* @__PURE__ */ o("svg", {
1247
+ children: [e.ctaLabel, /* @__PURE__ */ s("svg", {
1141
1248
  xmlns: "http://www.w3.org/2000/svg",
1142
1249
  fill: "none",
1143
1250
  viewBox: "0 0 24 24",
1144
1251
  strokeWidth: 2,
1145
1252
  stroke: "currentColor",
1146
1253
  className: "w-4 h-4",
1147
- children: /* @__PURE__ */ o("path", {
1254
+ children: /* @__PURE__ */ s("path", {
1148
1255
  strokeLinecap: "round",
1149
1256
  strokeLinejoin: "round",
1150
1257
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
@@ -1152,9 +1259,9 @@ function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1152
1259
  })]
1153
1260
  })
1154
1261
  ]
1155
- }), e.sideImage && /* @__PURE__ */ o("div", {
1262
+ }), e.sideImage && /* @__PURE__ */ s("div", {
1156
1263
  className: "hidden md:block flex-1 h-full flex items-end justify-end overflow-hidden",
1157
- children: /* @__PURE__ */ o("img", {
1264
+ children: /* @__PURE__ */ s("img", {
1158
1265
  src: e.sideImage,
1159
1266
  alt: "",
1160
1267
  className: "h-full w-auto object-contain object-bottom drop-shadow-2xl"
@@ -1163,52 +1270,52 @@ function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1163
1270
  })]
1164
1271
  }, e.id))
1165
1272
  }),
1166
- u && b > 1 && /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("button", {
1273
+ u && b > 1 && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("button", {
1167
1274
  onClick: S,
1168
1275
  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",
1169
1276
  "aria-label": "Previous banner",
1170
- children: /* @__PURE__ */ o("svg", {
1277
+ children: /* @__PURE__ */ s("svg", {
1171
1278
  xmlns: "http://www.w3.org/2000/svg",
1172
1279
  fill: "none",
1173
1280
  viewBox: "0 0 24 24",
1174
1281
  strokeWidth: 2,
1175
1282
  stroke: "currentColor",
1176
1283
  className: "w-5 h-5",
1177
- children: /* @__PURE__ */ o("path", {
1284
+ children: /* @__PURE__ */ s("path", {
1178
1285
  strokeLinecap: "round",
1179
1286
  strokeLinejoin: "round",
1180
1287
  d: "M15.75 19.5L8.25 12l7.5-7.5"
1181
1288
  })
1182
1289
  })
1183
- }), /* @__PURE__ */ o("button", {
1290
+ }), /* @__PURE__ */ s("button", {
1184
1291
  onClick: C,
1185
1292
  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",
1186
1293
  "aria-label": "Next banner",
1187
- children: /* @__PURE__ */ o("svg", {
1294
+ children: /* @__PURE__ */ s("svg", {
1188
1295
  xmlns: "http://www.w3.org/2000/svg",
1189
1296
  fill: "none",
1190
1297
  viewBox: "0 0 24 24",
1191
1298
  strokeWidth: 2,
1192
1299
  stroke: "currentColor",
1193
1300
  className: "w-5 h-5",
1194
- children: /* @__PURE__ */ o("path", {
1301
+ children: /* @__PURE__ */ s("path", {
1195
1302
  strokeLinecap: "round",
1196
1303
  strokeLinejoin: "round",
1197
1304
  d: "M8.25 4.5l7.5 7.5-7.5 7.5"
1198
1305
  })
1199
1306
  })
1200
1307
  })] }),
1201
- d && b > 1 && /* @__PURE__ */ o("div", {
1308
+ d && b > 1 && /* @__PURE__ */ s("div", {
1202
1309
  className: "absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex gap-1.5",
1203
- children: e.map((e, t) => /* @__PURE__ */ o("button", {
1310
+ children: e.map((e, t) => /* @__PURE__ */ s("button", {
1204
1311
  onClick: () => x(t),
1205
1312
  "aria-label": `Go to slide ${t + 1}`,
1206
1313
  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(" ")
1207
1314
  }, t))
1208
1315
  }),
1209
- c && b > 1 && /* @__PURE__ */ o("div", {
1316
+ r && b > 1 && /* @__PURE__ */ s("div", {
1210
1317
  className: "absolute bottom-0 left-0 right-0 h-0.5 bg-white/20 z-20",
1211
- children: /* @__PURE__ */ o("div", {
1318
+ children: /* @__PURE__ */ s("div", {
1212
1319
  className: `h-full bg-white/60 ${g ? "" : "animate-progress"}`,
1213
1320
  style: { animation: g ? "none" : `progress ${l}ms linear` }
1214
1321
  }, `${m}-${g}`)
@@ -1218,23 +1325,23 @@ function X({ banners: e, autoPlay: c = !0, autoPlayInterval: l = 5e3, arrows: u
1218
1325
  }
1219
1326
  //#endregion
1220
1327
  //#region src/components/ProductCard/ProductCard.tsx
1221
- function le({ filled: e }) {
1222
- return /* @__PURE__ */ o("svg", {
1328
+ function pe({ filled: e }) {
1329
+ return /* @__PURE__ */ s("svg", {
1223
1330
  xmlns: "http://www.w3.org/2000/svg",
1224
1331
  viewBox: "0 0 24 24",
1225
1332
  className: `w-3.5 h-3.5 ${e ? "fill-amber-400 stroke-amber-400" : "fill-gray-200 stroke-gray-300"}`,
1226
1333
  strokeWidth: 1,
1227
- children: /* @__PURE__ */ o("path", {
1334
+ children: /* @__PURE__ */ s("path", {
1228
1335
  strokeLinecap: "round",
1229
1336
  strokeLinejoin: "round",
1230
1337
  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"
1231
1338
  })
1232
1339
  });
1233
1340
  }
1234
- function ue({ value: e, count: t }) {
1235
- return /* @__PURE__ */ s("div", {
1341
+ function me({ value: e, count: t }) {
1342
+ return /* @__PURE__ */ c("div", {
1236
1343
  className: "flex items-center gap-1",
1237
- children: [/* @__PURE__ */ o("div", {
1344
+ children: [/* @__PURE__ */ s("div", {
1238
1345
  className: "flex gap-0.5",
1239
1346
  children: [
1240
1347
  1,
@@ -1242,8 +1349,8 @@ function ue({ value: e, count: t }) {
1242
1349
  3,
1243
1350
  4,
1244
1351
  5
1245
- ].map((t) => /* @__PURE__ */ o(le, { filled: t <= Math.round(e) }, t))
1246
- }), t !== void 0 && /* @__PURE__ */ s("span", {
1352
+ ].map((t) => /* @__PURE__ */ s(pe, { filled: t <= Math.round(e) }, t))
1353
+ }), t !== void 0 && /* @__PURE__ */ c("span", {
1247
1354
  className: "text-xs text-gray-400",
1248
1355
  children: [
1249
1356
  "(",
@@ -1253,54 +1360,54 @@ function ue({ value: e, count: t }) {
1253
1360
  })]
1254
1361
  });
1255
1362
  }
1256
- function de(e) {
1363
+ function he(e) {
1257
1364
  let t = e.toLowerCase();
1258
1365
  return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
1259
1366
  }
1260
1367
  function Z(e, t = "Kč") {
1261
1368
  return `${e.toLocaleString("cs-CZ")} ${t}`;
1262
1369
  }
1263
- function fe(e, t) {
1370
+ function ge(e, t) {
1264
1371
  return Math.round((1 - t / e) * 100);
1265
1372
  }
1266
- function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: a, size: c = "default", className: l = "" }) {
1267
- let [u, d] = i(!1), [f, p] = i(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1268
- return /* @__PURE__ */ s("article", {
1373
+ function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r = !1, onProductClick: i, size: o = "default", className: l = "" }) {
1374
+ let [u, d] = a(!1), [f, p] = a(!1), m = e.originalPrice !== void 0 && e.originalPrice > e.price;
1375
+ return /* @__PURE__ */ c("article", {
1269
1376
  className: [
1270
1377
  "group relative flex flex-col bg-white rounded-xl border border-gray-200",
1271
1378
  "hover:shadow-md transition-shadow duration-200 overflow-hidden cursor-pointer",
1272
1379
  l
1273
1380
  ].filter(Boolean).join(" "),
1274
- onClick: () => a?.(e),
1381
+ onClick: () => i?.(e),
1275
1382
  onMouseEnter: () => d(!0),
1276
1383
  onMouseLeave: () => d(!1),
1277
- children: [/* @__PURE__ */ s("div", {
1278
- className: `relative overflow-hidden bg-gray-50 ${c === "compact" ? "aspect-square" : "aspect-4/3"}`,
1384
+ children: [/* @__PURE__ */ c("div", {
1385
+ className: `relative overflow-hidden bg-gray-50 ${o === "compact" ? "aspect-square" : "aspect-4/3"}`,
1279
1386
  children: [
1280
- e.image ? /* @__PURE__ */ o("img", {
1387
+ e.image ? /* @__PURE__ */ s("img", {
1281
1388
  src: u && e.imageHover ? e.imageHover : e.image,
1282
1389
  alt: e.name,
1283
1390
  className: "w-full h-full object-contain p-4 transition-transform duration-300 group-hover:scale-105"
1284
- }) : /* @__PURE__ */ o("div", {
1391
+ }) : /* @__PURE__ */ s("div", {
1285
1392
  className: "w-full h-full flex items-center justify-center text-5xl bg-linear-to-br from-gray-100 to-gray-200",
1286
1393
  children: "🛍️"
1287
1394
  }),
1288
- e.badge && /* @__PURE__ */ o("div", {
1395
+ e.badge && /* @__PURE__ */ s("div", {
1289
1396
  className: "absolute top-2 left-2",
1290
- children: /* @__PURE__ */ o(O, {
1291
- variant: de(e.badge),
1397
+ children: /* @__PURE__ */ s(k, {
1398
+ variant: he(e.badge),
1292
1399
  size: "sm",
1293
- children: e.badge === "sale" && m ? `-${fe(e.originalPrice, e.price)}%` : e.badge
1400
+ children: e.badge === "sale" && m ? `-${ge(e.originalPrice, e.price)}%` : e.badge
1294
1401
  })
1295
1402
  }),
1296
- e.inStock === !1 && /* @__PURE__ */ o("div", {
1403
+ e.inStock === !1 && /* @__PURE__ */ s("div", {
1297
1404
  className: "absolute inset-0 bg-white/70 flex items-center justify-center",
1298
- children: /* @__PURE__ */ o("span", {
1405
+ children: /* @__PURE__ */ s("span", {
1299
1406
  className: "text-sm font-semibold text-gray-500 bg-white/90 px-3 py-1 rounded-full border border-gray-200",
1300
1407
  children: "Vyprodáno"
1301
1408
  })
1302
1409
  }),
1303
- /* @__PURE__ */ o("button", {
1410
+ /* @__PURE__ */ s("button", {
1304
1411
  onClick: (t) => {
1305
1412
  t.stopPropagation(), n?.(e);
1306
1413
  },
@@ -1311,22 +1418,22 @@ function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1311
1418
  "opacity-0 group-hover:opacity-100 focus:opacity-100",
1312
1419
  r ? "text-danger-500" : "text-gray-400 hover:text-danger-400"
1313
1420
  ].join(" "),
1314
- children: /* @__PURE__ */ o("svg", {
1421
+ children: /* @__PURE__ */ s("svg", {
1315
1422
  xmlns: "http://www.w3.org/2000/svg",
1316
1423
  viewBox: "0 0 24 24",
1317
1424
  strokeWidth: 1.5,
1318
1425
  stroke: "currentColor",
1319
1426
  className: `w-4 h-4 ${r ? "fill-current" : "fill-none"}`,
1320
- children: /* @__PURE__ */ o("path", {
1427
+ children: /* @__PURE__ */ s("path", {
1321
1428
  strokeLinecap: "round",
1322
1429
  strokeLinejoin: "round",
1323
1430
  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"
1324
1431
  })
1325
1432
  })
1326
1433
  }),
1327
- /* @__PURE__ */ o("div", {
1434
+ /* @__PURE__ */ s("div", {
1328
1435
  className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200", u ? "translate-y-0" : "translate-y-full"].join(" "),
1329
- children: /* @__PURE__ */ o(x, {
1436
+ children: /* @__PURE__ */ s(S, {
1330
1437
  variant: "primary",
1331
1438
  size: "sm",
1332
1439
  fullWidth: !0,
@@ -1336,16 +1443,16 @@ function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1336
1443
  n.stopPropagation(), t?.(e), p(!0), setTimeout(() => p(!1), 1500);
1337
1444
  },
1338
1445
  className: "shadow-lg",
1339
- children: f ? /* @__PURE__ */ s("span", {
1446
+ children: f ? /* @__PURE__ */ c("span", {
1340
1447
  className: "flex items-center gap-1.5",
1341
- children: [/* @__PURE__ */ o("svg", {
1448
+ children: [/* @__PURE__ */ s("svg", {
1342
1449
  xmlns: "http://www.w3.org/2000/svg",
1343
1450
  fill: "none",
1344
1451
  viewBox: "0 0 24 24",
1345
1452
  strokeWidth: 2,
1346
1453
  stroke: "currentColor",
1347
1454
  className: "w-4 h-4",
1348
- children: /* @__PURE__ */ o("path", {
1455
+ children: /* @__PURE__ */ s("path", {
1349
1456
  strokeLinecap: "round",
1350
1457
  strokeLinejoin: "round",
1351
1458
  d: "M4.5 12.75l6 6 9-13.5"
@@ -1355,34 +1462,34 @@ function Q({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
1355
1462
  })
1356
1463
  })
1357
1464
  ]
1358
- }), /* @__PURE__ */ s("div", {
1359
- className: `flex flex-col gap-1.5 ${c === "compact" ? "p-3" : "p-4"}`,
1465
+ }), /* @__PURE__ */ c("div", {
1466
+ className: `flex flex-col gap-1.5 ${o === "compact" ? "p-3" : "p-4"}`,
1360
1467
  children: [
1361
- e.variants && e.variants.length > 0 && /* @__PURE__ */ s("div", {
1468
+ e.variants && e.variants.length > 0 && /* @__PURE__ */ c("div", {
1362
1469
  className: "flex gap-1",
1363
- children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ o("span", {
1470
+ children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ s("span", {
1364
1471
  title: e.label,
1365
1472
  className: "w-4 h-4 rounded-full border border-gray-300 shrink-0",
1366
1473
  style: { backgroundColor: e.color ?? "#ccc" }
1367
- }, e.id)), e.variants.length > 5 && /* @__PURE__ */ s("span", {
1474
+ }, e.id)), e.variants.length > 5 && /* @__PURE__ */ c("span", {
1368
1475
  className: "text-xs text-gray-400",
1369
1476
  children: ["+", e.variants.length - 5]
1370
1477
  })]
1371
1478
  }),
1372
- /* @__PURE__ */ o("h3", {
1373
- className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${c === "compact" ? "text-xs" : "text-sm"}`,
1479
+ /* @__PURE__ */ s("h3", {
1480
+ className: `font-medium text-gray-900 leading-snug line-clamp-2 group-hover:text-primary-600 transition-colors ${o === "compact" ? "text-xs" : "text-sm"}`,
1374
1481
  children: e.name
1375
1482
  }),
1376
- e.rating !== void 0 && /* @__PURE__ */ o(ue, {
1483
+ e.rating !== void 0 && /* @__PURE__ */ s(me, {
1377
1484
  value: e.rating,
1378
1485
  count: e.reviewCount
1379
1486
  }),
1380
- /* @__PURE__ */ s("div", {
1487
+ /* @__PURE__ */ c("div", {
1381
1488
  className: "flex items-baseline gap-2 mt-auto pt-1",
1382
- children: [/* @__PURE__ */ o("span", {
1383
- className: `font-bold text-gray-900 ${c === "compact" ? "text-base" : "text-lg"}`,
1489
+ children: [/* @__PURE__ */ s("span", {
1490
+ className: `font-bold text-gray-900 ${o === "compact" ? "text-base" : "text-lg"}`,
1384
1491
  children: Z(e.price, e.currency)
1385
- }), m && /* @__PURE__ */ o("span", {
1492
+ }), m && /* @__PURE__ */ s("span", {
1386
1493
  className: "text-sm text-gray-400 line-through",
1387
1494
  children: Z(e.originalPrice, e.currency)
1388
1495
  })]
@@ -1398,7 +1505,7 @@ var $ = {
1398
1505
  3: "grid-cols-2 md:grid-cols-3",
1399
1506
  4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
1400
1507
  5: "grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"
1401
- }, pe = [
1508
+ }, _e = [
1402
1509
  {
1403
1510
  value: "newest",
1404
1511
  label: "Nejnovější"
@@ -1420,50 +1527,50 @@ var $ = {
1420
1527
  label: "Bestsellery"
1421
1528
  }
1422
1529
  ];
1423
- function me() {
1424
- return /* @__PURE__ */ s("div", {
1530
+ function ve() {
1531
+ return /* @__PURE__ */ c("div", {
1425
1532
  className: "rounded-xl border border-gray-100 overflow-hidden animate-pulse",
1426
- children: [/* @__PURE__ */ o("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ s("div", {
1533
+ children: [/* @__PURE__ */ s("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ c("div", {
1427
1534
  className: "p-4 space-y-2",
1428
1535
  children: [
1429
- /* @__PURE__ */ o("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1430
- /* @__PURE__ */ o("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1431
- /* @__PURE__ */ o("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1536
+ /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-3/4" }),
1537
+ /* @__PURE__ */ s("div", { className: "h-3 bg-gray-200 rounded w-1/2" }),
1538
+ /* @__PURE__ */ s("div", { className: "h-5 bg-gray-200 rounded w-1/3 mt-2" })
1432
1539
  ]
1433
1540
  })]
1434
1541
  });
1435
1542
  }
1436
- 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 = "" }) {
1543
+ 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 = "" }) {
1437
1544
  let x = t ? Math.ceil(t / i) : void 0, S = a >= 5 ? "compact" : "default";
1438
- return /* @__PURE__ */ s("div", {
1545
+ return /* @__PURE__ */ c("div", {
1439
1546
  className: ["w-full", b].filter(Boolean).join(" "),
1440
1547
  children: [
1441
- /* @__PURE__ */ s("div", {
1548
+ /* @__PURE__ */ c("div", {
1442
1549
  className: "flex flex-wrap items-center justify-between gap-3 mb-4",
1443
- children: [/* @__PURE__ */ s("div", {
1550
+ children: [/* @__PURE__ */ c("div", {
1444
1551
  className: "flex flex-wrap items-center gap-2",
1445
1552
  children: [
1446
- t !== void 0 && /* @__PURE__ */ s("span", {
1553
+ t !== void 0 && /* @__PURE__ */ c("span", {
1447
1554
  className: "text-sm text-gray-500",
1448
- children: [/* @__PURE__ */ o("span", {
1555
+ children: [/* @__PURE__ */ s("span", {
1449
1556
  className: "font-semibold text-gray-900",
1450
1557
  children: t
1451
1558
  }), " produktů"]
1452
1559
  }),
1453
- d.map((e) => /* @__PURE__ */ s("span", {
1560
+ d.map((e) => /* @__PURE__ */ c("span", {
1454
1561
  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",
1455
- children: [e, /* @__PURE__ */ o("button", {
1562
+ children: [e, /* @__PURE__ */ s("button", {
1456
1563
  onClick: () => f?.(e),
1457
1564
  "aria-label": `Remove filter ${e}`,
1458
1565
  className: "hover:text-primary-900 transition-colors",
1459
- children: /* @__PURE__ */ o("svg", {
1566
+ children: /* @__PURE__ */ s("svg", {
1460
1567
  xmlns: "http://www.w3.org/2000/svg",
1461
1568
  fill: "none",
1462
1569
  viewBox: "0 0 24 24",
1463
1570
  strokeWidth: 2,
1464
1571
  stroke: "currentColor",
1465
1572
  className: "w-3 h-3",
1466
- children: /* @__PURE__ */ o("path", {
1573
+ children: /* @__PURE__ */ s("path", {
1467
1574
  strokeLinecap: "round",
1468
1575
  strokeLinejoin: "round",
1469
1576
  d: "M6 18L18 6M6 6l12 12"
@@ -1471,50 +1578,50 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1471
1578
  })
1472
1579
  })]
1473
1580
  }, e)),
1474
- d.length > 1 && /* @__PURE__ */ o("button", {
1581
+ d.length > 1 && /* @__PURE__ */ s("button", {
1475
1582
  onClick: p,
1476
1583
  className: "text-xs text-gray-400 hover:text-gray-600 underline underline-offset-2 transition-colors",
1477
1584
  children: "Zrušit vše"
1478
1585
  })
1479
1586
  ]
1480
- }), /* @__PURE__ */ o(T, {
1481
- options: c,
1587
+ }), /* @__PURE__ */ s(E, {
1588
+ options: o,
1482
1589
  value: l ?? "",
1483
1590
  onChange: (e) => u?.(e.target.value),
1484
1591
  "aria-label": "Sort products",
1485
1592
  className: "text-sm"
1486
1593
  })]
1487
1594
  }),
1488
- m ? /* @__PURE__ */ o("div", {
1595
+ m ? /* @__PURE__ */ s("div", {
1489
1596
  className: `grid gap-4 ${$[a]}`,
1490
- children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ o(me, {}, t))
1491
- }) : e.length === 0 ? /* @__PURE__ */ o("div", {
1597
+ children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */ s(ve, {}, t))
1598
+ }) : e.length === 0 ? /* @__PURE__ */ s("div", {
1492
1599
  className: "py-16 text-center",
1493
- children: h ?? /* @__PURE__ */ s("div", {
1600
+ children: h ?? /* @__PURE__ */ c("div", {
1494
1601
  className: "space-y-2",
1495
1602
  children: [
1496
- /* @__PURE__ */ o("p", {
1603
+ /* @__PURE__ */ s("p", {
1497
1604
  className: "text-4xl",
1498
1605
  children: "🔍"
1499
1606
  }),
1500
- /* @__PURE__ */ o("p", {
1607
+ /* @__PURE__ */ s("p", {
1501
1608
  className: "font-semibold text-gray-900",
1502
1609
  children: "Žádné produkty nenalezeny"
1503
1610
  }),
1504
- /* @__PURE__ */ o("p", {
1611
+ /* @__PURE__ */ s("p", {
1505
1612
  className: "text-sm text-gray-500",
1506
1613
  children: "Zkuste upravit filtry nebo hledat jinak."
1507
1614
  }),
1508
- d.length > 0 && /* @__PURE__ */ o("button", {
1615
+ d.length > 0 && /* @__PURE__ */ s("button", {
1509
1616
  onClick: p,
1510
1617
  className: "mt-3 text-sm text-primary-600 hover:underline",
1511
1618
  children: "Zrušit všechny filtry"
1512
1619
  })
1513
1620
  ]
1514
1621
  })
1515
- }) : /* @__PURE__ */ o("div", {
1622
+ }) : /* @__PURE__ */ s("div", {
1516
1623
  className: `grid gap-4 ${$[a]}`,
1517
- children: e.map((e) => /* @__PURE__ */ o(Q, {
1624
+ children: e.map((e) => /* @__PURE__ */ s(Q, {
1518
1625
  product: e,
1519
1626
  size: S,
1520
1627
  onAddToCart: g,
@@ -1523,9 +1630,9 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1523
1630
  isWishlisted: y.includes(e.id)
1524
1631
  }, e.id))
1525
1632
  }),
1526
- x && x > 1 && r && /* @__PURE__ */ o("div", {
1633
+ x && x > 1 && r && /* @__PURE__ */ s("div", {
1527
1634
  className: "flex justify-center mt-8",
1528
- children: /* @__PURE__ */ o(V, {
1635
+ children: /* @__PURE__ */ s(U, {
1529
1636
  page: n,
1530
1637
  totalPages: x,
1531
1638
  onPageChange: r
@@ -1536,14 +1643,14 @@ function he({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
1536
1643
  }
1537
1644
  //#endregion
1538
1645
  //#region src/components/CallToAction/CallToAction.tsx
1539
- var ge = {
1646
+ var be = {
1540
1647
  default: "bg-gray-50 border border-gray-200",
1541
1648
  primary: "bg-primary-600",
1542
1649
  dark: "bg-gray-900",
1543
1650
  gradient: "bg-linear-to-br from-primary-600 via-primary-700 to-violet-700",
1544
1651
  outline: "bg-white border-2 border-primary-600",
1545
1652
  image: "relative overflow-hidden"
1546
- }, _e = {
1653
+ }, xe = {
1547
1654
  default: {
1548
1655
  eyebrow: "text-primary-600",
1549
1656
  title: "text-gray-900",
@@ -1574,7 +1681,7 @@ var ge = {
1574
1681
  title: "text-white",
1575
1682
  description: "text-white/80"
1576
1683
  }
1577
- }, ve = {
1684
+ }, Se = {
1578
1685
  sm: {
1579
1686
  wrapper: "px-6 py-6 rounded-xl",
1580
1687
  title: "text-xl font-bold",
@@ -1599,7 +1706,7 @@ var ge = {
1599
1706
  description: "text-xl",
1600
1707
  eyebrow: "text-sm"
1601
1708
  }
1602
- }, ye = {
1709
+ }, Ce = {
1603
1710
  left: {
1604
1711
  wrapper: "items-start text-left",
1605
1712
  actions: "justify-start"
@@ -1613,8 +1720,8 @@ var ge = {
1613
1720
  actions: "justify-end"
1614
1721
  }
1615
1722
  };
1616
- 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 }) {
1617
- let h = _e[l], g = ve[c], _ = ye[i], v = a === "inline", y = {
1723
+ 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 }) {
1724
+ let h = xe[l], g = Se[o], _ = Ce[i], v = a === "inline", y = {
1618
1725
  ...u ? { background: u } : {},
1619
1726
  ...d ? {
1620
1727
  backgroundImage: `url(${d})`,
@@ -1623,48 +1730,48 @@ function be({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1623
1730
  } : {},
1624
1731
  ...m
1625
1732
  };
1626
- return /* @__PURE__ */ s("div", {
1733
+ return /* @__PURE__ */ c("div", {
1627
1734
  className: [
1628
1735
  "w-full",
1629
- ge[l],
1736
+ be[l],
1630
1737
  g.wrapper,
1631
1738
  p
1632
1739
  ].filter(Boolean).join(" "),
1633
1740
  style: Object.keys(y).length ? y : void 0,
1634
- children: [(l === "image" || d) && /* @__PURE__ */ o("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ s("div", {
1741
+ children: [(l === "image" || d) && /* @__PURE__ */ s("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ c("div", {
1635
1742
  className: `relative ${v ? "flex flex-wrap items-center justify-between gap-6" : `flex flex-col gap-4 ${_.wrapper}`}`,
1636
1743
  children: [
1637
- /* @__PURE__ */ s("div", {
1744
+ /* @__PURE__ */ c("div", {
1638
1745
  className: `flex flex-col gap-2 ${v ? "flex-1 min-w-0" : _.wrapper}`,
1639
1746
  children: [
1640
- e && /* @__PURE__ */ o("p", {
1747
+ e && /* @__PURE__ */ s("p", {
1641
1748
  className: `font-semibold uppercase tracking-widest ${g.eyebrow} ${h.eyebrow}`,
1642
1749
  children: e
1643
1750
  }),
1644
- /* @__PURE__ */ o("h2", {
1751
+ /* @__PURE__ */ s("h2", {
1645
1752
  className: `${g.title} ${h.title}`,
1646
1753
  children: t
1647
1754
  }),
1648
- n && /* @__PURE__ */ o("p", {
1755
+ n && /* @__PURE__ */ s("p", {
1649
1756
  className: `max-w-2xl ${g.description} ${h.description}`,
1650
1757
  children: n
1651
1758
  })
1652
1759
  ]
1653
1760
  }),
1654
- f && !v && /* @__PURE__ */ o("div", {
1761
+ f && !v && /* @__PURE__ */ s("div", {
1655
1762
  className: "mt-2",
1656
1763
  children: f
1657
1764
  }),
1658
- r.length > 0 && /* @__PURE__ */ o("div", {
1765
+ r.length > 0 && /* @__PURE__ */ s("div", {
1659
1766
  className: `flex flex-wrap gap-3 ${v ? "shrink-0" : _.actions}`,
1660
1767
  children: r.map((e, t) => {
1661
- let n = /* @__PURE__ */ o(x, {
1662
- variant: e.variant ?? (t === 0 ? xe(l) : "outline"),
1663
- size: e.size ?? (c === "sm" ? "sm" : c === "xl" ? "lg" : "md"),
1768
+ let n = /* @__PURE__ */ s(S, {
1769
+ variant: e.variant ?? (t === 0 ? Te(l) : "outline"),
1770
+ size: e.size ?? (o === "sm" ? "sm" : o === "xl" ? "lg" : "md"),
1664
1771
  onClick: e.onClick,
1665
1772
  children: e.label
1666
1773
  }, t);
1667
- return e.href ? /* @__PURE__ */ o("a", {
1774
+ return e.href ? /* @__PURE__ */ s("a", {
1668
1775
  href: e.href,
1669
1776
  className: "contents",
1670
1777
  children: n
@@ -1675,233 +1782,233 @@ function be({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
1675
1782
  })]
1676
1783
  });
1677
1784
  }
1678
- function xe(e) {
1785
+ function Te(e) {
1679
1786
  return e === "default" || e === "outline" ? "primary" : "secondary";
1680
1787
  }
1681
1788
  //#endregion
1682
1789
  //#region src/components/Footer/Footer.tsx
1683
- function Se() {
1684
- return /* @__PURE__ */ o("svg", {
1790
+ function Ee() {
1791
+ return /* @__PURE__ */ s("svg", {
1685
1792
  xmlns: "http://www.w3.org/2000/svg",
1686
1793
  fill: "none",
1687
1794
  viewBox: "0 0 24 24",
1688
1795
  strokeWidth: 1.5,
1689
1796
  stroke: "currentColor",
1690
1797
  className: "w-4 h-4 shrink-0",
1691
- children: /* @__PURE__ */ o("path", {
1798
+ children: /* @__PURE__ */ s("path", {
1692
1799
  strokeLinecap: "round",
1693
1800
  strokeLinejoin: "round",
1694
1801
  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"
1695
1802
  })
1696
1803
  });
1697
1804
  }
1698
- function Ce() {
1699
- return /* @__PURE__ */ o("svg", {
1805
+ function De() {
1806
+ return /* @__PURE__ */ s("svg", {
1700
1807
  xmlns: "http://www.w3.org/2000/svg",
1701
1808
  fill: "none",
1702
1809
  viewBox: "0 0 24 24",
1703
1810
  strokeWidth: 1.5,
1704
1811
  stroke: "currentColor",
1705
1812
  className: "w-4 h-4 shrink-0",
1706
- children: /* @__PURE__ */ o("path", {
1813
+ children: /* @__PURE__ */ s("path", {
1707
1814
  strokeLinecap: "round",
1708
1815
  strokeLinejoin: "round",
1709
1816
  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"
1710
1817
  })
1711
1818
  });
1712
1819
  }
1713
- function we() {
1714
- return /* @__PURE__ */ s("svg", {
1820
+ function Oe() {
1821
+ return /* @__PURE__ */ c("svg", {
1715
1822
  xmlns: "http://www.w3.org/2000/svg",
1716
1823
  fill: "none",
1717
1824
  viewBox: "0 0 24 24",
1718
1825
  strokeWidth: 1.5,
1719
1826
  stroke: "currentColor",
1720
1827
  className: "w-4 h-4 shrink-0",
1721
- children: [/* @__PURE__ */ o("path", {
1828
+ children: [/* @__PURE__ */ s("path", {
1722
1829
  strokeLinecap: "round",
1723
1830
  strokeLinejoin: "round",
1724
1831
  d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
1725
- }), /* @__PURE__ */ o("path", {
1832
+ }), /* @__PURE__ */ s("path", {
1726
1833
  strokeLinecap: "round",
1727
1834
  strokeLinejoin: "round",
1728
1835
  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"
1729
1836
  })]
1730
1837
  });
1731
1838
  }
1732
- function Te() {
1733
- return /* @__PURE__ */ o("svg", {
1839
+ function ke() {
1840
+ return /* @__PURE__ */ s("svg", {
1734
1841
  xmlns: "http://www.w3.org/2000/svg",
1735
1842
  fill: "none",
1736
1843
  viewBox: "0 0 24 24",
1737
1844
  strokeWidth: 1.5,
1738
1845
  stroke: "currentColor",
1739
1846
  className: "w-4 h-4 shrink-0",
1740
- children: /* @__PURE__ */ o("path", {
1847
+ children: /* @__PURE__ */ s("path", {
1741
1848
  strokeLinecap: "round",
1742
1849
  strokeLinejoin: "round",
1743
1850
  d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
1744
1851
  })
1745
1852
  });
1746
1853
  }
1747
- function Ee() {
1748
- return /* @__PURE__ */ o("svg", {
1854
+ function Ae() {
1855
+ return /* @__PURE__ */ s("svg", {
1749
1856
  xmlns: "http://www.w3.org/2000/svg",
1750
1857
  viewBox: "0 0 24 24",
1751
1858
  fill: "currentColor",
1752
1859
  className: "w-4 h-4",
1753
- 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" })
1860
+ 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" })
1754
1861
  });
1755
1862
  }
1756
- function De() {
1757
- return /* @__PURE__ */ o("svg", {
1863
+ function je() {
1864
+ return /* @__PURE__ */ s("svg", {
1758
1865
  xmlns: "http://www.w3.org/2000/svg",
1759
1866
  viewBox: "0 0 24 24",
1760
1867
  fill: "currentColor",
1761
1868
  className: "w-4 h-4",
1762
- 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" })
1869
+ 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" })
1763
1870
  });
1764
1871
  }
1765
- function Oe() {
1766
- return /* @__PURE__ */ o("svg", {
1872
+ function Me() {
1873
+ return /* @__PURE__ */ s("svg", {
1767
1874
  xmlns: "http://www.w3.org/2000/svg",
1768
1875
  viewBox: "0 0 24 24",
1769
1876
  fill: "currentColor",
1770
1877
  className: "w-4 h-4",
1771
- 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" })
1878
+ 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" })
1772
1879
  });
1773
1880
  }
1774
- function ke() {
1775
- return /* @__PURE__ */ o("svg", {
1881
+ function Ne() {
1882
+ return /* @__PURE__ */ s("svg", {
1776
1883
  xmlns: "http://www.w3.org/2000/svg",
1777
1884
  viewBox: "0 0 24 24",
1778
1885
  fill: "currentColor",
1779
1886
  className: "w-4 h-4",
1780
- 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" })
1887
+ 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" })
1781
1888
  });
1782
1889
  }
1783
- function Ae() {
1784
- return /* @__PURE__ */ o("svg", {
1890
+ function Pe() {
1891
+ return /* @__PURE__ */ s("svg", {
1785
1892
  xmlns: "http://www.w3.org/2000/svg",
1786
1893
  viewBox: "0 0 24 24",
1787
1894
  fill: "currentColor",
1788
1895
  className: "w-4 h-4",
1789
- 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" })
1896
+ 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" })
1790
1897
  });
1791
1898
  }
1792
- var je = {
1793
- facebook: Ee,
1794
- instagram: De,
1795
- twitter: Oe,
1796
- youtube: ke,
1797
- tiktok: Ae
1798
- }, Me = {
1799
- phone: Se,
1800
- email: Ce,
1801
- address: we,
1802
- hours: Te
1899
+ var Fe = {
1900
+ facebook: Ae,
1901
+ instagram: je,
1902
+ twitter: Me,
1903
+ youtube: Ne,
1904
+ tiktok: Pe
1905
+ }, Ie = {
1906
+ phone: Ee,
1907
+ email: De,
1908
+ address: Oe,
1909
+ hours: ke
1803
1910
  };
1804
- function Ne(e) {
1911
+ function Le(e) {
1805
1912
  if (!e) return null;
1806
1913
  if (typeof e == "string") {
1807
- let t = Me[e];
1808
- return t ? /* @__PURE__ */ o(t, {}) : null;
1914
+ let t = Ie[e];
1915
+ return t ? /* @__PURE__ */ s(t, {}) : null;
1809
1916
  }
1810
1917
  return e;
1811
1918
  }
1812
- function Pe(e) {
1919
+ function Re(e) {
1813
1920
  if (typeof e == "string") {
1814
- let t = je[e];
1815
- return t ? /* @__PURE__ */ o(t, {}) : null;
1921
+ let t = Fe[e];
1922
+ return t ? /* @__PURE__ */ s(t, {}) : null;
1816
1923
  }
1817
1924
  return e;
1818
1925
  }
1819
- function Fe({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: c, bottomLinks: l = [], className: u = "" }) {
1926
+ function ze({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r = [], linkGroups: i = [], socialLinks: a = [], copyright: o, bottomLinks: l = [], className: u = "" }) {
1820
1927
  let d = (/* @__PURE__ */ new Date()).getFullYear();
1821
- return /* @__PURE__ */ s("footer", {
1928
+ return /* @__PURE__ */ c("footer", {
1822
1929
  className: ["bg-gray-900 text-gray-300", u].filter(Boolean).join(" "),
1823
- children: [/* @__PURE__ */ s("div", {
1930
+ children: [/* @__PURE__ */ c("div", {
1824
1931
  className: "max-w-7xl mx-auto px-4 py-12 grid grid-cols-1 md:grid-cols-2 gap-10 lg:gap-16",
1825
- children: [/* @__PURE__ */ s("div", {
1932
+ children: [/* @__PURE__ */ c("div", {
1826
1933
  className: "flex flex-col gap-6",
1827
1934
  children: [
1828
- /* @__PURE__ */ s("div", { children: [e ? /* @__PURE__ */ o("div", {
1935
+ /* @__PURE__ */ c("div", { children: [e ? /* @__PURE__ */ s("div", {
1829
1936
  className: "mb-3",
1830
1937
  children: e
1831
- }) : /* @__PURE__ */ o("span", {
1938
+ }) : /* @__PURE__ */ s("span", {
1832
1939
  className: "text-xl font-bold text-white tracking-tight mb-3 block",
1833
1940
  children: "shopito"
1834
- }), t && /* @__PURE__ */ o("p", {
1941
+ }), t && /* @__PURE__ */ s("p", {
1835
1942
  className: "text-sm text-gray-400 max-w-xs",
1836
1943
  children: t
1837
1944
  })] }),
1838
- r.length > 0 && /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h3", {
1945
+ r.length > 0 && /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
1839
1946
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
1840
1947
  children: n
1841
- }), /* @__PURE__ */ o("ul", {
1948
+ }), /* @__PURE__ */ s("ul", {
1842
1949
  className: "space-y-3",
1843
1950
  children: r.map((e, t) => {
1844
- let n = Ne(e.icon), r = /* @__PURE__ */ s("div", {
1951
+ let n = Le(e.icon), r = /* @__PURE__ */ c("div", {
1845
1952
  className: "flex items-start gap-2.5",
1846
- children: [n && /* @__PURE__ */ o("span", {
1953
+ children: [n && /* @__PURE__ */ s("span", {
1847
1954
  className: "mt-0.5 text-primary-400",
1848
1955
  children: n
1849
- }), /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("p", {
1956
+ }), /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
1850
1957
  className: "text-xs text-gray-500 leading-none mb-0.5",
1851
1958
  children: e.label
1852
- }), /* @__PURE__ */ o("p", {
1959
+ }), /* @__PURE__ */ s("p", {
1853
1960
  className: `text-sm text-gray-200 ${e.href ? "hover:text-white transition-colors" : ""}`,
1854
1961
  children: e.value
1855
1962
  })] })]
1856
1963
  });
1857
- return /* @__PURE__ */ o("li", { children: e.href ? /* @__PURE__ */ o("a", {
1964
+ return /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
1858
1965
  href: e.href,
1859
1966
  children: r
1860
1967
  }) : r }, t);
1861
1968
  })
1862
1969
  })] }),
1863
- a.length > 0 && /* @__PURE__ */ o("div", {
1970
+ a.length > 0 && /* @__PURE__ */ s("div", {
1864
1971
  className: "flex gap-2 flex-wrap",
1865
- children: a.map((e, t) => /* @__PURE__ */ o("a", {
1972
+ children: a.map((e, t) => /* @__PURE__ */ s("a", {
1866
1973
  href: e.href,
1867
1974
  "aria-label": e.label,
1868
1975
  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",
1869
- children: Pe(e.icon)
1976
+ children: Re(e.icon)
1870
1977
  }, t))
1871
1978
  })
1872
1979
  ]
1873
- }), i.length > 0 && /* @__PURE__ */ o("div", {
1980
+ }), i.length > 0 && /* @__PURE__ */ s("div", {
1874
1981
  className: `grid gap-8 ${i.length === 1 ? "grid-cols-1" : i.length === 2 ? "grid-cols-2" : "grid-cols-2 sm:grid-cols-3"}`,
1875
- children: i.map((e, t) => /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("h3", {
1982
+ children: i.map((e, t) => /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
1876
1983
  className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
1877
1984
  children: e.heading
1878
- }), /* @__PURE__ */ o("ul", {
1985
+ }), /* @__PURE__ */ s("ul", {
1879
1986
  className: "space-y-2",
1880
- children: e.links.map((e, t) => /* @__PURE__ */ o("li", { children: e.href ? /* @__PURE__ */ o("a", {
1987
+ children: e.links.map((e, t) => /* @__PURE__ */ s("li", { children: e.href ? /* @__PURE__ */ s("a", {
1881
1988
  href: e.href,
1882
1989
  className: "text-sm text-gray-400 hover:text-white transition-colors",
1883
1990
  children: e.label
1884
- }) : /* @__PURE__ */ o("button", {
1991
+ }) : /* @__PURE__ */ s("button", {
1885
1992
  onClick: e.onClick,
1886
1993
  className: "text-sm text-gray-400 hover:text-white transition-colors text-left",
1887
1994
  children: e.label
1888
1995
  }) }, t))
1889
1996
  })] }, t))
1890
1997
  })]
1891
- }), /* @__PURE__ */ o("div", {
1998
+ }), /* @__PURE__ */ s("div", {
1892
1999
  className: "border-t border-gray-800",
1893
- children: /* @__PURE__ */ s("div", {
2000
+ children: /* @__PURE__ */ c("div", {
1894
2001
  className: "max-w-7xl mx-auto px-4 py-4 flex flex-wrap items-center justify-between gap-3",
1895
- children: [/* @__PURE__ */ o("p", {
2002
+ children: [/* @__PURE__ */ s("p", {
1896
2003
  className: "text-xs text-gray-500",
1897
- children: c ?? `© ${d} Shopito. Všechna práva vyhrazena.`
1898
- }), l.length > 0 && /* @__PURE__ */ o("nav", {
2004
+ children: o ?? `© ${d} Shopito. Všechna práva vyhrazena.`
2005
+ }), l.length > 0 && /* @__PURE__ */ s("nav", {
1899
2006
  className: "flex flex-wrap gap-4",
1900
- children: l.map((e, t) => e.href ? /* @__PURE__ */ o("a", {
2007
+ children: l.map((e, t) => e.href ? /* @__PURE__ */ s("a", {
1901
2008
  href: e.href,
1902
2009
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
1903
2010
  children: e.label
1904
- }, t) : /* @__PURE__ */ o("button", {
2011
+ }, t) : /* @__PURE__ */ s("button", {
1905
2012
  onClick: e.onClick,
1906
2013
  className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
1907
2014
  children: e.label
@@ -1912,6 +2019,6 @@ function Fe({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
1912
2019
  });
1913
2020
  }
1914
2021
  //#endregion
1915
- export { M as Alert, ie as Avatar, O as Badge, X as BannerCarousel, x as Button, be as CallToAction, A as Card, te as CardBody, j as CardFooter, ee as CardHeader, oe as CategoryTree, F as Checkbox, v as Container, Fe as Footer, W as Header, E as Heading, C as IconButton, w as Input, S as LoadingSpin, y as Main, ce as MegaMenu, P as Modal, V as Pagination, Q as ProductCard, he as ProductGrid, T as Select, ne as Spinner, ae as Stack, D as Text, I as Toggle };
2022
+ 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 };
1916
2023
 
1917
2024
  //# sourceMappingURL=index.js.map