@shopito/design-system-fe 0.1.1 → 0.1.2

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