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