@shopito/design-system-fe 0.1.22 → 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.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 +2 -0
- 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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +635 -593
- 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
|
|
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 V({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "m
|
|
|
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,32 +409,32 @@ function V({ open: e, onClose: t, title: n, children: i, footer: a, size: s = "m
|
|
|
409
409
|
}
|
|
410
410
|
//#endregion
|
|
411
411
|
//#region src/components/common/Checkbox/Checkbox.tsx
|
|
412
|
-
var H =
|
|
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
|
})
|
|
@@ -444,15 +444,15 @@ var H = t(({ label: e, description: t, error: n, indeterminate: r, className: i
|
|
|
444
444
|
H.displayName = "Checkbox";
|
|
445
445
|
//#endregion
|
|
446
446
|
//#region src/components/common/Toggle/Toggle.tsx
|
|
447
|
-
var U =
|
|
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,13 +460,13 @@ var U = 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
|
})] })]
|
|
@@ -486,7 +486,7 @@ var W = [
|
|
|
486
486
|
"bg-violet-500",
|
|
487
487
|
"bg-pink-500"
|
|
488
488
|
];
|
|
489
|
-
function
|
|
489
|
+
function te({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
|
|
490
490
|
let o = [
|
|
491
491
|
"avatar",
|
|
492
492
|
`avatar-${r}`,
|
|
@@ -496,28 +496,28 @@ function ee({ src: e, alt: t, name: n, size: r = "md", className: i, ...a }) {
|
|
|
496
496
|
for (let n = 0; n < e.length; n++) t += e.charCodeAt(n);
|
|
497
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 ee({ 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
|
|
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",
|
|
@@ -550,14 +550,14 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
550
550
|
stretch: "justify-stretch"
|
|
551
551
|
}[i], a),
|
|
552
552
|
children: o
|
|
553
|
-
}),
|
|
553
|
+
}), re = {
|
|
554
554
|
1: "grid-cols-1",
|
|
555
555
|
2: "grid-cols-2",
|
|
556
556
|
3: "grid-cols-3",
|
|
557
557
|
4: "grid-cols-4",
|
|
558
558
|
6: "grid-cols-6",
|
|
559
559
|
12: "grid-cols-12"
|
|
560
|
-
},
|
|
560
|
+
}, ie = {
|
|
561
561
|
0: "gap-0",
|
|
562
562
|
1: "gap-1",
|
|
563
563
|
2: "gap-2",
|
|
@@ -569,7 +569,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
569
569
|
10: "gap-10",
|
|
570
570
|
12: "gap-12",
|
|
571
571
|
16: "gap-16"
|
|
572
|
-
},
|
|
572
|
+
}, ae = {
|
|
573
573
|
0: "gap-y-0",
|
|
574
574
|
1: "gap-y-1",
|
|
575
575
|
2: "gap-y-2",
|
|
@@ -581,7 +581,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
581
581
|
10: "gap-y-10",
|
|
582
582
|
12: "gap-y-12",
|
|
583
583
|
16: "gap-y-16"
|
|
584
|
-
},
|
|
584
|
+
}, oe = {
|
|
585
585
|
0: "gap-x-0",
|
|
586
586
|
1: "gap-x-1",
|
|
587
587
|
2: "gap-x-2",
|
|
@@ -593,7 +593,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
593
593
|
10: "gap-x-10",
|
|
594
594
|
12: "gap-x-12",
|
|
595
595
|
16: "gap-x-16"
|
|
596
|
-
},
|
|
596
|
+
}, se = {
|
|
597
597
|
1: "col-span-1",
|
|
598
598
|
2: "col-span-2",
|
|
599
599
|
3: "col-span-3",
|
|
@@ -606,7 +606,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
606
606
|
10: "col-span-10",
|
|
607
607
|
11: "col-span-11",
|
|
608
608
|
12: "col-span-12"
|
|
609
|
-
},
|
|
609
|
+
}, ce = {
|
|
610
610
|
1: "sm:col-span-1",
|
|
611
611
|
2: "sm:col-span-2",
|
|
612
612
|
3: "sm:col-span-3",
|
|
@@ -619,7 +619,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
619
619
|
10: "sm:col-span-10",
|
|
620
620
|
11: "sm:col-span-11",
|
|
621
621
|
12: "sm:col-span-12"
|
|
622
|
-
},
|
|
622
|
+
}, le = {
|
|
623
623
|
1: "md:col-span-1",
|
|
624
624
|
2: "md:col-span-2",
|
|
625
625
|
3: "md:col-span-3",
|
|
@@ -632,7 +632,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
632
632
|
10: "md:col-span-10",
|
|
633
633
|
11: "md:col-span-11",
|
|
634
634
|
12: "md:col-span-12"
|
|
635
|
-
},
|
|
635
|
+
}, ue = {
|
|
636
636
|
1: "lg:col-span-1",
|
|
637
637
|
2: "lg:col-span-2",
|
|
638
638
|
3: "lg:col-span-3",
|
|
@@ -645,7 +645,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
645
645
|
10: "lg:col-span-10",
|
|
646
646
|
11: "lg:col-span-11",
|
|
647
647
|
12: "lg:col-span-12"
|
|
648
|
-
},
|
|
648
|
+
}, de = {
|
|
649
649
|
1: "xl:col-span-1",
|
|
650
650
|
2: "xl:col-span-2",
|
|
651
651
|
3: "xl:col-span-3",
|
|
@@ -658,7 +658,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
658
658
|
10: "xl:col-span-10",
|
|
659
659
|
11: "xl:col-span-11",
|
|
660
660
|
12: "xl:col-span-12"
|
|
661
|
-
},
|
|
661
|
+
}, fe = {
|
|
662
662
|
1: "col-start-2",
|
|
663
663
|
2: "col-start-3",
|
|
664
664
|
3: "col-start-4",
|
|
@@ -670,7 +670,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
670
670
|
9: "col-start-10",
|
|
671
671
|
10: "col-start-11",
|
|
672
672
|
11: "col-start-12"
|
|
673
|
-
},
|
|
673
|
+
}, pe = {
|
|
674
674
|
1: "sm:col-start-2",
|
|
675
675
|
2: "sm:col-start-3",
|
|
676
676
|
3: "sm:col-start-4",
|
|
@@ -682,7 +682,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
682
682
|
9: "sm:col-start-10",
|
|
683
683
|
10: "sm:col-start-11",
|
|
684
684
|
11: "sm:col-start-12"
|
|
685
|
-
},
|
|
685
|
+
}, me = {
|
|
686
686
|
1: "md:col-start-2",
|
|
687
687
|
2: "md:col-start-3",
|
|
688
688
|
3: "md:col-start-4",
|
|
@@ -694,7 +694,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
694
694
|
9: "md:col-start-10",
|
|
695
695
|
10: "md:col-start-11",
|
|
696
696
|
11: "md:col-start-12"
|
|
697
|
-
},
|
|
697
|
+
}, he = {
|
|
698
698
|
1: "lg:col-start-2",
|
|
699
699
|
2: "lg:col-start-3",
|
|
700
700
|
3: "lg:col-start-4",
|
|
@@ -706,7 +706,7 @@ var te = ({ direction: e = "row", gap: t, alignItems: n = "start", justifyItems:
|
|
|
706
706
|
9: "lg:col-start-10",
|
|
707
707
|
10: "lg:col-start-11",
|
|
708
708
|
11: "lg:col-start-12"
|
|
709
|
-
},
|
|
709
|
+
}, ge = {
|
|
710
710
|
1: "xl:col-start-2",
|
|
711
711
|
2: "xl:col-start-3",
|
|
712
712
|
3: "xl:col-start-4",
|
|
@@ -718,25 +718,25 @@ var te = ({ 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
|
-
}, G = ({ children: e, cols: t = 12, gap: n, rowGap: r, colGap: i, as: a = "div", className: o }) => /* @__PURE__ */
|
|
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
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:
|
|
727
|
-
className: (0,
|
|
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 q = ({ value: e, onChange: t, min: n = 1, max:
|
|
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 q = ({ 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 q = ({ 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,56 +790,56 @@ var q = ({ 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
817
|
q.displayName = "QuantityInput";
|
|
818
|
-
var
|
|
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
|
-
}),
|
|
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
|
-
}), J = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n),
|
|
842
|
+
}), J = (e, t) => Array.from({ length: t - e + 1 }, (t, n) => e + n), ye = (e, t, n) => {
|
|
843
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 ? [
|
|
@@ -857,57 +857,57 @@ var ge = () => /* @__PURE__ */ l("svg", {
|
|
|
857
857
|
"…",
|
|
858
858
|
t
|
|
859
859
|
];
|
|
860
|
-
}, Y = ({ active: e, disabled: t, children: n, ...r }) => /* @__PURE__ */
|
|
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
|
-
let i =
|
|
867
|
-
return /* @__PURE__ */
|
|
866
|
+
let i = ye(e, t, r);
|
|
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,14 +916,36 @@ var ge = () => /* @__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
|
|
923
|
-
return /* @__PURE__ */
|
|
944
|
+
function be({ src: e, alt: t, children: n, className: r, style: i }) {
|
|
945
|
+
return /* @__PURE__ */ u("div", {
|
|
924
946
|
role: t ? "img" : void 0,
|
|
925
947
|
"aria-label": t,
|
|
926
|
-
className: (0,
|
|
948
|
+
className: (0, w.default)("carousel-cover", r),
|
|
927
949
|
style: {
|
|
928
950
|
backgroundImage: `url(${e})`,
|
|
929
951
|
...i
|
|
@@ -931,28 +953,28 @@ function ye({ src: e, alt: t, children: n, className: r, style: i }) {
|
|
|
931
953
|
children: n
|
|
932
954
|
});
|
|
933
955
|
}
|
|
934
|
-
function
|
|
935
|
-
let b = e.toArray(
|
|
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) => {
|
|
936
958
|
let n = k.current;
|
|
937
959
|
if (!n) return;
|
|
938
960
|
let r = n.children[e];
|
|
939
961
|
r && (t || (n.style.transition = "none", n.getBoundingClientRect()), n.style.transform = `translateX(${-r.offsetLeft}px)`, t || (n.getBoundingClientRect(), n.style.transition = ""));
|
|
940
|
-
}, []), P =
|
|
962
|
+
}, []), P = r((e) => {
|
|
941
963
|
E(_ ? (e % x + x) % x : Math.max(0, Math.min(e, S)));
|
|
942
964
|
}, [
|
|
943
965
|
x,
|
|
944
966
|
_,
|
|
945
967
|
S
|
|
946
|
-
]), F =
|
|
947
|
-
|
|
968
|
+
]), F = r(() => P(T - 1), [T, P]), I = r(() => P(T + 1), [T, P]);
|
|
969
|
+
o(() => {
|
|
948
970
|
N(T);
|
|
949
|
-
}, [T, N]),
|
|
971
|
+
}, [T, N]), i(() => {
|
|
950
972
|
let e = A.current;
|
|
951
973
|
if (!e) return;
|
|
952
974
|
let t = new ResizeObserver(() => N(T, !1));
|
|
953
975
|
return t.observe(e), () => t.disconnect();
|
|
954
|
-
}, [T, N]),
|
|
955
|
-
if (!(!h || D || !
|
|
976
|
+
}, [T, N]), i(() => {
|
|
977
|
+
if (!(!h || D || !C)) return j.current = setInterval(I, g), () => {
|
|
956
978
|
j.current && clearInterval(j.current);
|
|
957
979
|
};
|
|
958
980
|
}, [
|
|
@@ -960,7 +982,7 @@ function be({ children: t, slidesPerView: i = 1, gap: d = 16, height: f, arrows:
|
|
|
960
982
|
D,
|
|
961
983
|
g,
|
|
962
984
|
I,
|
|
963
|
-
|
|
985
|
+
C
|
|
964
986
|
]);
|
|
965
987
|
let L = (e) => {
|
|
966
988
|
M.current = e.touches[0].clientX;
|
|
@@ -970,77 +992,49 @@ function be({ children: t, slidesPerView: i = 1, gap: d = 16, height: f, arrows:
|
|
|
970
992
|
Math.abs(t) > 50 && (t < 0 ? I() : F()), M.current = null;
|
|
971
993
|
};
|
|
972
994
|
if (x === 0) return null;
|
|
973
|
-
let z = _ || T > 0, B = _ || T < S, V = `calc((100% - ${
|
|
974
|
-
return /* @__PURE__ */
|
|
975
|
-
className: (0,
|
|
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),
|
|
976
998
|
onMouseEnter: () => O(!0),
|
|
977
999
|
onMouseLeave: () => O(!1),
|
|
978
1000
|
onTouchStart: L,
|
|
979
1001
|
onTouchEnd: R,
|
|
980
1002
|
...y,
|
|
981
1003
|
children: [
|
|
982
|
-
/* @__PURE__ */
|
|
1004
|
+
/* @__PURE__ */ u("div", {
|
|
983
1005
|
ref: A,
|
|
984
1006
|
className: "carousel-viewport",
|
|
985
1007
|
style: f ? { height: f } : void 0,
|
|
986
|
-
children: /* @__PURE__ */
|
|
1008
|
+
children: /* @__PURE__ */ u("div", {
|
|
987
1009
|
ref: k,
|
|
988
1010
|
className: "carousel-track",
|
|
989
|
-
style: { gap: `${
|
|
990
|
-
children: b.map((e, t) => /* @__PURE__ */
|
|
1011
|
+
style: { gap: `${l}px` },
|
|
1012
|
+
children: b.map((e, t) => /* @__PURE__ */ u("div", {
|
|
991
1013
|
className: "carousel-slide",
|
|
992
1014
|
style: {
|
|
993
1015
|
minWidth: V,
|
|
994
1016
|
maxWidth: V,
|
|
995
1017
|
...f && { height: f }
|
|
996
1018
|
},
|
|
997
|
-
"aria-hidden": t < T || t >= T +
|
|
1019
|
+
"aria-hidden": t < T || t >= T + a,
|
|
998
1020
|
children: e
|
|
999
1021
|
}, t))
|
|
1000
1022
|
})
|
|
1001
1023
|
}),
|
|
1002
|
-
p &&
|
|
1003
|
-
|
|
1024
|
+
p && C && /* @__PURE__ */ d(t, { children: [/* @__PURE__ */ u(Z, {
|
|
1025
|
+
direction: "prev",
|
|
1004
1026
|
disabled: !z,
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1009
|
-
fill: "none",
|
|
1010
|
-
viewBox: "0 0 24 24",
|
|
1011
|
-
strokeWidth: 2,
|
|
1012
|
-
stroke: "currentColor",
|
|
1013
|
-
className: "w-5 h-5",
|
|
1014
|
-
children: /* @__PURE__ */ l("path", {
|
|
1015
|
-
strokeLinecap: "round",
|
|
1016
|
-
strokeLinejoin: "round",
|
|
1017
|
-
d: "M15.75 19.5L8.25 12l7.5-7.5"
|
|
1018
|
-
})
|
|
1019
|
-
})
|
|
1020
|
-
}), /* @__PURE__ */ l("button", {
|
|
1021
|
-
onClick: I,
|
|
1027
|
+
onClick: F
|
|
1028
|
+
}), /* @__PURE__ */ u(Z, {
|
|
1029
|
+
direction: "next",
|
|
1022
1030
|
disabled: !B,
|
|
1023
|
-
|
|
1024
|
-
"aria-label": "Next slide",
|
|
1025
|
-
children: /* @__PURE__ */ l("svg", {
|
|
1026
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1027
|
-
fill: "none",
|
|
1028
|
-
viewBox: "0 0 24 24",
|
|
1029
|
-
strokeWidth: 2,
|
|
1030
|
-
stroke: "currentColor",
|
|
1031
|
-
className: "w-5 h-5",
|
|
1032
|
-
children: /* @__PURE__ */ l("path", {
|
|
1033
|
-
strokeLinecap: "round",
|
|
1034
|
-
strokeLinejoin: "round",
|
|
1035
|
-
d: "M8.25 4.5l7.5 7.5-7.5 7.5"
|
|
1036
|
-
})
|
|
1037
|
-
})
|
|
1031
|
+
onClick: I
|
|
1038
1032
|
})] }),
|
|
1039
|
-
m &&
|
|
1033
|
+
m && C && /* @__PURE__ */ u("div", {
|
|
1040
1034
|
className: "carousel-dots",
|
|
1041
|
-
children: Array.from({ length: S + 1 }).map((e, t) => /* @__PURE__ */
|
|
1035
|
+
children: Array.from({ length: S + 1 }).map((e, t) => /* @__PURE__ */ u("button", {
|
|
1042
1036
|
onClick: () => P(t),
|
|
1043
|
-
className: (0,
|
|
1037
|
+
className: (0, w.default)("carousel-dot", t === T && "carousel-dot-active"),
|
|
1044
1038
|
"aria-label": `Go to slide ${t + 1}`,
|
|
1045
1039
|
"aria-current": t === T ? "true" : void 0
|
|
1046
1040
|
}, t))
|
|
@@ -1050,30 +1044,30 @@ function be({ children: t, slidesPerView: i = 1, gap: d = 16, height: f, arrows:
|
|
|
1050
1044
|
}
|
|
1051
1045
|
//#endregion
|
|
1052
1046
|
//#region src/components/Header/Header.tsx
|
|
1053
|
-
function
|
|
1054
|
-
let [a,
|
|
1055
|
-
return /* @__PURE__ */
|
|
1056
|
-
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,
|
|
1057
1051
|
className: "relative",
|
|
1058
1052
|
onBlur: (e) => {
|
|
1059
|
-
|
|
1053
|
+
l.current?.contains(e.relatedTarget) || f();
|
|
1060
1054
|
},
|
|
1061
1055
|
onKeyDown: (e) => {
|
|
1062
1056
|
e.key === "Escape" && f();
|
|
1063
1057
|
},
|
|
1064
|
-
children: [/* @__PURE__ */
|
|
1058
|
+
children: [/* @__PURE__ */ u("div", {
|
|
1065
1059
|
role: "button",
|
|
1066
1060
|
tabIndex: 0,
|
|
1067
|
-
onClick: () =>
|
|
1068
|
-
onKeyDown: (e) => e.key === "Enter" &&
|
|
1061
|
+
onClick: () => o((e) => !e),
|
|
1062
|
+
onKeyDown: (e) => e.key === "Enter" && o((e) => !e),
|
|
1069
1063
|
className: "cursor-pointer",
|
|
1070
1064
|
children: e
|
|
1071
|
-
}), a && /* @__PURE__ */
|
|
1065
|
+
}), a && /* @__PURE__ */ u("ul", {
|
|
1072
1066
|
role: "menu",
|
|
1073
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",
|
|
1074
|
-
children: t.map((e) => /* @__PURE__ */
|
|
1068
|
+
children: t.map((e) => /* @__PURE__ */ u("li", {
|
|
1075
1069
|
role: "none",
|
|
1076
|
-
children: /* @__PURE__ */
|
|
1070
|
+
children: /* @__PURE__ */ u("button", {
|
|
1077
1071
|
role: "menuitem",
|
|
1078
1072
|
className: "w-full px-3 py-1.5 text-left hover:bg-gray-50 text-gray-700 whitespace-nowrap",
|
|
1079
1073
|
onClick: () => {
|
|
@@ -1085,59 +1079,59 @@ function Z({ trigger: e, items: t, onSelect: n, getKey: r, renderItem: i }) {
|
|
|
1085
1079
|
})]
|
|
1086
1080
|
});
|
|
1087
1081
|
}
|
|
1088
|
-
function
|
|
1089
|
-
return /* @__PURE__ */
|
|
1082
|
+
function Se() {
|
|
1083
|
+
return /* @__PURE__ */ u("svg", {
|
|
1090
1084
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1091
1085
|
fill: "none",
|
|
1092
1086
|
viewBox: "0 0 24 24",
|
|
1093
1087
|
strokeWidth: 1.5,
|
|
1094
1088
|
stroke: "currentColor",
|
|
1095
1089
|
className: "w-4 h-4",
|
|
1096
|
-
children: /* @__PURE__ */
|
|
1090
|
+
children: /* @__PURE__ */ u("path", {
|
|
1097
1091
|
strokeLinecap: "round",
|
|
1098
1092
|
strokeLinejoin: "round",
|
|
1099
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"
|
|
1100
1094
|
})
|
|
1101
1095
|
});
|
|
1102
1096
|
}
|
|
1103
|
-
function
|
|
1104
|
-
let [y, b] =
|
|
1105
|
-
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", {
|
|
1106
1100
|
className: "bg-white border-b border-gray-200 sticky top-0 z-40",
|
|
1107
|
-
children: /* @__PURE__ */
|
|
1101
|
+
children: /* @__PURE__ */ d("div", {
|
|
1108
1102
|
className: "max-w-7xl mx-auto px-4 h-16 flex items-center gap-4",
|
|
1109
1103
|
children: [
|
|
1110
|
-
/* @__PURE__ */
|
|
1104
|
+
/* @__PURE__ */ u("div", {
|
|
1111
1105
|
className: "shrink-0",
|
|
1112
|
-
children: e ?? /* @__PURE__ */
|
|
1106
|
+
children: e ?? /* @__PURE__ */ u("span", {
|
|
1113
1107
|
className: "text-xl font-bold text-primary-600 tracking-tight",
|
|
1114
1108
|
children: "shopito"
|
|
1115
1109
|
})
|
|
1116
1110
|
}),
|
|
1117
|
-
/* @__PURE__ */
|
|
1111
|
+
/* @__PURE__ */ u("div", {
|
|
1118
1112
|
className: "flex-1 max-w-xl",
|
|
1119
|
-
children: /* @__PURE__ */
|
|
1113
|
+
children: /* @__PURE__ */ u(O, {
|
|
1120
1114
|
placeholder: t,
|
|
1121
1115
|
value: y,
|
|
1122
1116
|
onChange: (e) => b(e.target.value),
|
|
1123
1117
|
onKeyDown: (e) => {
|
|
1124
1118
|
e.key === "Enter" && n?.(y);
|
|
1125
1119
|
},
|
|
1126
|
-
leftIcon: /* @__PURE__ */
|
|
1127
|
-
rightIcon: y ? /* @__PURE__ */
|
|
1120
|
+
leftIcon: /* @__PURE__ */ u(Se, {}),
|
|
1121
|
+
rightIcon: y ? /* @__PURE__ */ u("button", {
|
|
1128
1122
|
onClick: () => {
|
|
1129
1123
|
b(""), n?.("");
|
|
1130
1124
|
},
|
|
1131
1125
|
className: "hover:text-gray-600 transition-colors",
|
|
1132
1126
|
"aria-label": "Clear search",
|
|
1133
|
-
children: /* @__PURE__ */
|
|
1127
|
+
children: /* @__PURE__ */ u("svg", {
|
|
1134
1128
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1135
1129
|
fill: "none",
|
|
1136
1130
|
viewBox: "0 0 24 24",
|
|
1137
1131
|
strokeWidth: 2,
|
|
1138
1132
|
stroke: "currentColor",
|
|
1139
1133
|
className: "w-3.5 h-3.5",
|
|
1140
|
-
children: /* @__PURE__ */
|
|
1134
|
+
children: /* @__PURE__ */ u("path", {
|
|
1141
1135
|
strokeLinecap: "round",
|
|
1142
1136
|
strokeLinejoin: "round",
|
|
1143
1137
|
d: "M6 18L18 6M6 6l12 12"
|
|
@@ -1146,85 +1140,85 @@ function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
|
|
|
1146
1140
|
}) : void 0
|
|
1147
1141
|
})
|
|
1148
1142
|
}),
|
|
1149
|
-
/* @__PURE__ */
|
|
1143
|
+
/* @__PURE__ */ d("div", {
|
|
1150
1144
|
className: "flex items-center gap-1 shrink-0 ml-auto",
|
|
1151
1145
|
children: [
|
|
1152
|
-
f.length > 0 && /* @__PURE__ */
|
|
1153
|
-
trigger: /* @__PURE__ */
|
|
1146
|
+
f.length > 0 && /* @__PURE__ */ u(Q, {
|
|
1147
|
+
trigger: /* @__PURE__ */ d("button", {
|
|
1154
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",
|
|
1155
1149
|
children: [
|
|
1156
|
-
/* @__PURE__ */
|
|
1157
|
-
/* @__PURE__ */
|
|
1150
|
+
/* @__PURE__ */ u("span", { children: x?.symbol ?? p }),
|
|
1151
|
+
/* @__PURE__ */ u("span", {
|
|
1158
1152
|
className: "text-xs text-gray-400",
|
|
1159
1153
|
children: x?.code ?? p
|
|
1160
1154
|
}),
|
|
1161
|
-
/* @__PURE__ */
|
|
1155
|
+
/* @__PURE__ */ u($, { className: "w-3 h-3 text-gray-400" })
|
|
1162
1156
|
]
|
|
1163
1157
|
}),
|
|
1164
1158
|
items: f,
|
|
1165
1159
|
getKey: (e) => e.code,
|
|
1166
1160
|
onSelect: (e) => m?.(e.code),
|
|
1167
|
-
renderItem: (e) => /* @__PURE__ */
|
|
1161
|
+
renderItem: (e) => /* @__PURE__ */ d("span", {
|
|
1168
1162
|
className: "flex items-center gap-2",
|
|
1169
|
-
children: [/* @__PURE__ */
|
|
1163
|
+
children: [/* @__PURE__ */ u("span", {
|
|
1170
1164
|
className: "w-6 text-center font-medium text-gray-500",
|
|
1171
1165
|
children: e.symbol
|
|
1172
|
-
}), /* @__PURE__ */
|
|
1166
|
+
}), /* @__PURE__ */ u("span", { children: e.label })]
|
|
1173
1167
|
})
|
|
1174
1168
|
}),
|
|
1175
|
-
h.length > 0 && /* @__PURE__ */
|
|
1176
|
-
trigger: /* @__PURE__ */
|
|
1169
|
+
h.length > 0 && /* @__PURE__ */ u(Q, {
|
|
1170
|
+
trigger: /* @__PURE__ */ d("button", {
|
|
1177
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",
|
|
1178
1172
|
children: [
|
|
1179
|
-
S?.flag && /* @__PURE__ */
|
|
1173
|
+
S?.flag && /* @__PURE__ */ u("span", {
|
|
1180
1174
|
className: "text-base leading-none",
|
|
1181
1175
|
children: S.flag
|
|
1182
1176
|
}),
|
|
1183
|
-
/* @__PURE__ */
|
|
1177
|
+
/* @__PURE__ */ u("span", {
|
|
1184
1178
|
className: "font-medium uppercase",
|
|
1185
1179
|
children: S?.code ?? g
|
|
1186
1180
|
}),
|
|
1187
|
-
/* @__PURE__ */
|
|
1181
|
+
/* @__PURE__ */ u($, { className: "w-3 h-3 text-gray-400" })
|
|
1188
1182
|
]
|
|
1189
1183
|
}),
|
|
1190
1184
|
items: h,
|
|
1191
1185
|
getKey: (e) => e.code,
|
|
1192
1186
|
onSelect: (e) => _?.(e.code),
|
|
1193
|
-
renderItem: (e) => /* @__PURE__ */
|
|
1187
|
+
renderItem: (e) => /* @__PURE__ */ d("span", {
|
|
1194
1188
|
className: "flex items-center gap-2",
|
|
1195
|
-
children: [e.flag && /* @__PURE__ */
|
|
1189
|
+
children: [e.flag && /* @__PURE__ */ u("span", {
|
|
1196
1190
|
className: "text-base",
|
|
1197
1191
|
children: e.flag
|
|
1198
|
-
}), /* @__PURE__ */
|
|
1192
|
+
}), /* @__PURE__ */ u("span", { children: e.label })]
|
|
1199
1193
|
})
|
|
1200
1194
|
}),
|
|
1201
|
-
(f.length > 0 || h.length > 0) && /* @__PURE__ */
|
|
1202
|
-
/* @__PURE__ */
|
|
1203
|
-
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,
|
|
1204
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",
|
|
1205
1199
|
"aria-label": a ? "My account" : "Sign in",
|
|
1206
|
-
children: a ? /* @__PURE__ */
|
|
1200
|
+
children: a ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("div", {
|
|
1207
1201
|
className: "w-6 h-6 rounded-full bg-primary-600 text-white flex items-center justify-center text-xs font-bold",
|
|
1208
1202
|
children: (o ?? "U")[0].toUpperCase()
|
|
1209
|
-
}), o && /* @__PURE__ */
|
|
1203
|
+
}), o && /* @__PURE__ */ u("span", {
|
|
1210
1204
|
className: "hidden sm:block font-medium max-w-32 truncate",
|
|
1211
1205
|
children: o
|
|
1212
|
-
})] }) : /* @__PURE__ */
|
|
1206
|
+
})] }) : /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(we, { className: "w-5 h-5" }), /* @__PURE__ */ u("span", {
|
|
1213
1207
|
className: "hidden sm:block font-medium",
|
|
1214
1208
|
children: "Přihlásit se"
|
|
1215
1209
|
})] })
|
|
1216
1210
|
}),
|
|
1217
|
-
/* @__PURE__ */
|
|
1211
|
+
/* @__PURE__ */ d("button", {
|
|
1218
1212
|
onClick: i,
|
|
1219
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",
|
|
1220
1214
|
"aria-label": `Cart, ${r} items`,
|
|
1221
1215
|
children: [
|
|
1222
|
-
/* @__PURE__ */
|
|
1223
|
-
/* @__PURE__ */
|
|
1216
|
+
/* @__PURE__ */ u(Te, { className: "w-5 h-5" }),
|
|
1217
|
+
/* @__PURE__ */ u("span", {
|
|
1224
1218
|
className: "hidden sm:block font-medium",
|
|
1225
1219
|
children: "Košík"
|
|
1226
1220
|
}),
|
|
1227
|
-
r > 0 && /* @__PURE__ */
|
|
1221
|
+
r > 0 && /* @__PURE__ */ u("span", {
|
|
1228
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",
|
|
1229
1223
|
children: r > 99 ? "99+" : r
|
|
1230
1224
|
})
|
|
@@ -1237,45 +1231,45 @@ function Se({ logo: e, searchPlaceholder: t = "Hledat produkty…", onSearch: n,
|
|
|
1237
1231
|
})
|
|
1238
1232
|
});
|
|
1239
1233
|
}
|
|
1240
|
-
function
|
|
1241
|
-
return /* @__PURE__ */
|
|
1234
|
+
function $({ className: e }) {
|
|
1235
|
+
return /* @__PURE__ */ u("svg", {
|
|
1242
1236
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1243
1237
|
fill: "none",
|
|
1244
1238
|
viewBox: "0 0 24 24",
|
|
1245
1239
|
strokeWidth: 2,
|
|
1246
1240
|
stroke: "currentColor",
|
|
1247
1241
|
className: e,
|
|
1248
|
-
children: /* @__PURE__ */
|
|
1242
|
+
children: /* @__PURE__ */ u("path", {
|
|
1249
1243
|
strokeLinecap: "round",
|
|
1250
1244
|
strokeLinejoin: "round",
|
|
1251
1245
|
d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
|
|
1252
1246
|
})
|
|
1253
1247
|
});
|
|
1254
1248
|
}
|
|
1255
|
-
function
|
|
1256
|
-
return /* @__PURE__ */
|
|
1249
|
+
function we({ className: e }) {
|
|
1250
|
+
return /* @__PURE__ */ u("svg", {
|
|
1257
1251
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1258
1252
|
fill: "none",
|
|
1259
1253
|
viewBox: "0 0 24 24",
|
|
1260
1254
|
strokeWidth: 1.5,
|
|
1261
1255
|
stroke: "currentColor",
|
|
1262
1256
|
className: e,
|
|
1263
|
-
children: /* @__PURE__ */
|
|
1257
|
+
children: /* @__PURE__ */ u("path", {
|
|
1264
1258
|
strokeLinecap: "round",
|
|
1265
1259
|
strokeLinejoin: "round",
|
|
1266
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"
|
|
1267
1261
|
})
|
|
1268
1262
|
});
|
|
1269
1263
|
}
|
|
1270
|
-
function
|
|
1271
|
-
return /* @__PURE__ */
|
|
1264
|
+
function Te({ className: e }) {
|
|
1265
|
+
return /* @__PURE__ */ u("svg", {
|
|
1272
1266
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1273
1267
|
fill: "none",
|
|
1274
1268
|
viewBox: "0 0 24 24",
|
|
1275
1269
|
strokeWidth: 1.5,
|
|
1276
1270
|
stroke: "currentColor",
|
|
1277
1271
|
className: e,
|
|
1278
|
-
children: /* @__PURE__ */
|
|
1272
|
+
children: /* @__PURE__ */ u("path", {
|
|
1279
1273
|
strokeLinecap: "round",
|
|
1280
1274
|
strokeLinejoin: "round",
|
|
1281
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"
|
|
@@ -1284,9 +1278,9 @@ function we({ className: e }) {
|
|
|
1284
1278
|
}
|
|
1285
1279
|
//#endregion
|
|
1286
1280
|
//#region src/components/CategoryTree/CategoryTree.tsx
|
|
1287
|
-
function
|
|
1288
|
-
let o = e.children && e.children.length > 0, [
|
|
1289
|
-
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", {
|
|
1290
1284
|
className: [
|
|
1291
1285
|
"group flex items-center gap-1.5 rounded-lg px-2 py-1.5 cursor-pointer select-none",
|
|
1292
1286
|
"transition-colors text-sm",
|
|
@@ -1295,47 +1289,47 @@ function $({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
|
|
|
1295
1289
|
].filter(Boolean).join(" "),
|
|
1296
1290
|
style: i > 0 ? { marginLeft: i * 16 } : void 0,
|
|
1297
1291
|
onClick: () => {
|
|
1298
|
-
n(e), o &&
|
|
1292
|
+
n(e), o && l((e) => !e);
|
|
1299
1293
|
},
|
|
1300
1294
|
role: "button",
|
|
1301
1295
|
tabIndex: 0,
|
|
1302
1296
|
onKeyDown: (t) => {
|
|
1303
|
-
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), n(e), o &&
|
|
1297
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), n(e), o && l((e) => !e));
|
|
1304
1298
|
},
|
|
1305
|
-
"aria-expanded": o ?
|
|
1299
|
+
"aria-expanded": o ? s : void 0,
|
|
1306
1300
|
children: [
|
|
1307
|
-
o ? /* @__PURE__ */
|
|
1308
|
-
className: `shrink-0 text-gray-400 transition-transform duration-150 ${
|
|
1309
|
-
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", {
|
|
1310
1304
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1311
1305
|
fill: "none",
|
|
1312
1306
|
viewBox: "0 0 24 24",
|
|
1313
1307
|
strokeWidth: 2,
|
|
1314
1308
|
stroke: "currentColor",
|
|
1315
1309
|
className: "w-3.5 h-3.5",
|
|
1316
|
-
children: /* @__PURE__ */
|
|
1310
|
+
children: /* @__PURE__ */ u("path", {
|
|
1317
1311
|
strokeLinecap: "round",
|
|
1318
1312
|
strokeLinejoin: "round",
|
|
1319
1313
|
d: "M8.25 4.5l7.5 7.5-7.5 7.5"
|
|
1320
1314
|
})
|
|
1321
1315
|
})
|
|
1322
|
-
}) : /* @__PURE__ */
|
|
1323
|
-
e.icon && /* @__PURE__ */
|
|
1316
|
+
}) : /* @__PURE__ */ u("span", { className: "w-3.5 shrink-0" }),
|
|
1317
|
+
e.icon && /* @__PURE__ */ u("span", {
|
|
1324
1318
|
className: "text-base leading-none",
|
|
1325
1319
|
children: e.icon
|
|
1326
1320
|
}),
|
|
1327
|
-
/* @__PURE__ */
|
|
1321
|
+
/* @__PURE__ */ u("span", {
|
|
1328
1322
|
className: "flex-1 truncate",
|
|
1329
1323
|
children: e.label
|
|
1330
1324
|
}),
|
|
1331
|
-
r && e.count !== void 0 && /* @__PURE__ */
|
|
1325
|
+
r && e.count !== void 0 && /* @__PURE__ */ u("span", {
|
|
1332
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"}`,
|
|
1333
1327
|
children: e.count
|
|
1334
1328
|
})
|
|
1335
1329
|
]
|
|
1336
|
-
}), o &&
|
|
1330
|
+
}), o && s && /* @__PURE__ */ u("ul", {
|
|
1337
1331
|
role: "group",
|
|
1338
|
-
children: e.children.map((e) => /* @__PURE__ */
|
|
1332
|
+
children: e.children.map((e) => /* @__PURE__ */ u(Ee, {
|
|
1339
1333
|
node: e,
|
|
1340
1334
|
activeId: t,
|
|
1341
1335
|
onSelect: n,
|
|
@@ -1345,19 +1339,19 @@ function $({ node: e, activeId: t, onSelect: n, showCounts: r, depth: i, default
|
|
|
1345
1339
|
}, e.id))
|
|
1346
1340
|
})] });
|
|
1347
1341
|
}
|
|
1348
|
-
function
|
|
1349
|
-
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));
|
|
1350
1344
|
}
|
|
1351
|
-
function
|
|
1345
|
+
function Oe({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defaultExpandAll: i = !1, className: a = "", ...o }) {
|
|
1352
1346
|
let s = (e) => n?.(e);
|
|
1353
|
-
return /* @__PURE__ */
|
|
1347
|
+
return /* @__PURE__ */ u("nav", {
|
|
1354
1348
|
"aria-label": "Category navigation",
|
|
1355
1349
|
className: ["w-full", a].filter(Boolean).join(" "),
|
|
1356
1350
|
...o,
|
|
1357
|
-
children: /* @__PURE__ */
|
|
1351
|
+
children: /* @__PURE__ */ u("ul", {
|
|
1358
1352
|
role: "tree",
|
|
1359
1353
|
className: "space-y-0.5",
|
|
1360
|
-
children: e.map((e) => /* @__PURE__ */
|
|
1354
|
+
children: e.map((e) => /* @__PURE__ */ u(Ee, {
|
|
1361
1355
|
node: e,
|
|
1362
1356
|
activeId: t,
|
|
1363
1357
|
onSelect: s,
|
|
@@ -1370,59 +1364,59 @@ function Ee({ categories: e, activeId: t, onSelect: n, showCounts: r = !0, defau
|
|
|
1370
1364
|
}
|
|
1371
1365
|
//#endregion
|
|
1372
1366
|
//#region src/components/MegaMenu/MegaMenu.tsx
|
|
1373
|
-
function
|
|
1374
|
-
return e.columns?.length ? /* @__PURE__ */
|
|
1367
|
+
function ke({ item: e, onNavigate: t, onClose: n }) {
|
|
1368
|
+
return e.columns?.length ? /* @__PURE__ */ u("div", {
|
|
1375
1369
|
className: "absolute left-0 right-0 top-full z-50 bg-white border-b border-gray-200 shadow-lg",
|
|
1376
|
-
children: /* @__PURE__ */
|
|
1370
|
+
children: /* @__PURE__ */ d("div", {
|
|
1377
1371
|
className: "max-w-7xl mx-auto px-4 py-6 flex gap-8",
|
|
1378
|
-
children: [/* @__PURE__ */
|
|
1372
|
+
children: [/* @__PURE__ */ u("div", {
|
|
1379
1373
|
className: "flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6",
|
|
1380
|
-
children: e.columns.map((e, r) => /* @__PURE__ */
|
|
1374
|
+
children: e.columns.map((e, r) => /* @__PURE__ */ d("div", { children: [e.heading && /* @__PURE__ */ u("p", {
|
|
1381
1375
|
className: "text-xs font-semibold uppercase tracking-wider text-gray-400 mb-2",
|
|
1382
1376
|
children: e.heading
|
|
1383
|
-
}), /* @__PURE__ */
|
|
1377
|
+
}), /* @__PURE__ */ u("ul", {
|
|
1384
1378
|
className: "space-y-1",
|
|
1385
|
-
children: e.items.map((e) => /* @__PURE__ */
|
|
1379
|
+
children: e.items.map((e) => /* @__PURE__ */ u("li", { children: /* @__PURE__ */ d("button", {
|
|
1386
1380
|
className: "flex items-center gap-1.5 text-sm text-gray-700 hover:text-primary-600 transition-colors py-0.5",
|
|
1387
1381
|
onClick: () => {
|
|
1388
1382
|
t(e), n();
|
|
1389
1383
|
},
|
|
1390
|
-
children: [e.label, e.badge && /* @__PURE__ */
|
|
1384
|
+
children: [e.label, e.badge && /* @__PURE__ */ u("span", {
|
|
1391
1385
|
className: "text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-danger-50 text-danger-600 leading-none",
|
|
1392
1386
|
children: e.badge
|
|
1393
1387
|
})]
|
|
1394
1388
|
}) }, e.id))
|
|
1395
1389
|
})] }, r))
|
|
1396
|
-
}), e.featured && /* @__PURE__ */
|
|
1390
|
+
}), e.featured && /* @__PURE__ */ u("div", {
|
|
1397
1391
|
className: "w-52 shrink-0",
|
|
1398
|
-
children: /* @__PURE__ */
|
|
1392
|
+
children: /* @__PURE__ */ d("button", {
|
|
1399
1393
|
className: "group block w-full rounded-xl overflow-hidden border border-gray-100 text-left hover:shadow-md transition-shadow",
|
|
1400
1394
|
onClick: () => {
|
|
1401
1395
|
t(e), n();
|
|
1402
1396
|
},
|
|
1403
|
-
children: [e.featured.image ? /* @__PURE__ */
|
|
1397
|
+
children: [e.featured.image ? /* @__PURE__ */ u("img", {
|
|
1404
1398
|
src: e.featured.image,
|
|
1405
1399
|
alt: e.featured.title,
|
|
1406
1400
|
className: "w-full h-28 object-cover"
|
|
1407
|
-
}) : /* @__PURE__ */
|
|
1401
|
+
}) : /* @__PURE__ */ u("div", {
|
|
1408
1402
|
className: "w-full h-28 bg-linear-to-br from-primary-100 to-primary-200 flex items-center justify-center text-4xl",
|
|
1409
1403
|
children: e.icon ?? "🛍️"
|
|
1410
|
-
}), /* @__PURE__ */
|
|
1404
|
+
}), /* @__PURE__ */ d("div", {
|
|
1411
1405
|
className: "p-3",
|
|
1412
1406
|
children: [
|
|
1413
|
-
e.featured.eyebrow && /* @__PURE__ */
|
|
1407
|
+
e.featured.eyebrow && /* @__PURE__ */ u("p", {
|
|
1414
1408
|
className: "text-[10px] font-semibold uppercase tracking-wider text-primary-500 mb-0.5",
|
|
1415
1409
|
children: e.featured.eyebrow
|
|
1416
1410
|
}),
|
|
1417
|
-
/* @__PURE__ */
|
|
1411
|
+
/* @__PURE__ */ u("p", {
|
|
1418
1412
|
className: "text-sm font-semibold text-gray-900 group-hover:text-primary-600 transition-colors",
|
|
1419
1413
|
children: e.featured.title
|
|
1420
1414
|
}),
|
|
1421
|
-
e.featured.description && /* @__PURE__ */
|
|
1415
|
+
e.featured.description && /* @__PURE__ */ u("p", {
|
|
1422
1416
|
className: "text-xs text-gray-500 mt-0.5 line-clamp-2",
|
|
1423
1417
|
children: e.featured.description
|
|
1424
1418
|
}),
|
|
1425
|
-
e.featured.cta && /* @__PURE__ */
|
|
1419
|
+
e.featured.cta && /* @__PURE__ */ d("span", {
|
|
1426
1420
|
className: "inline-block mt-2 text-xs font-medium text-primary-600",
|
|
1427
1421
|
children: [e.featured.cta, " →"]
|
|
1428
1422
|
})
|
|
@@ -1433,56 +1427,56 @@ function De({ item: e, onNavigate: t, onClose: n }) {
|
|
|
1433
1427
|
})
|
|
1434
1428
|
}) : null;
|
|
1435
1429
|
}
|
|
1436
|
-
function
|
|
1437
|
-
let [r, i] =
|
|
1430
|
+
function Ae({ items: e, activeId: t, onNavigate: n }) {
|
|
1431
|
+
let [r, i] = c(null), a = s(null), o = (e) => {
|
|
1438
1432
|
a.current && clearTimeout(a.current), i(e);
|
|
1439
|
-
},
|
|
1433
|
+
}, l = () => {
|
|
1440
1434
|
a.current = setTimeout(() => i(null), 120);
|
|
1441
1435
|
}, f = () => {
|
|
1442
1436
|
a.current && clearTimeout(a.current);
|
|
1443
1437
|
}, p = e.find((e) => e.id === r);
|
|
1444
|
-
return /* @__PURE__ */
|
|
1438
|
+
return /* @__PURE__ */ d("nav", {
|
|
1445
1439
|
"aria-label": "Main navigation",
|
|
1446
1440
|
className: "relative bg-white border-b border-gray-100",
|
|
1447
|
-
onMouseLeave:
|
|
1448
|
-
children: [/* @__PURE__ */
|
|
1441
|
+
onMouseLeave: l,
|
|
1442
|
+
children: [/* @__PURE__ */ u("div", {
|
|
1449
1443
|
className: "max-w-7xl mx-auto px-4",
|
|
1450
|
-
children: /* @__PURE__ */
|
|
1444
|
+
children: /* @__PURE__ */ u("ul", {
|
|
1451
1445
|
className: "flex items-center gap-0",
|
|
1452
1446
|
role: "menubar",
|
|
1453
1447
|
children: e.map((e) => {
|
|
1454
|
-
let a = !!e.columns?.length,
|
|
1455
|
-
return /* @__PURE__ */
|
|
1448
|
+
let a = !!e.columns?.length, s = r === e.id, c = t === e.id;
|
|
1449
|
+
return /* @__PURE__ */ u("li", {
|
|
1456
1450
|
role: "none",
|
|
1457
|
-
children: /* @__PURE__ */
|
|
1451
|
+
children: /* @__PURE__ */ d("button", {
|
|
1458
1452
|
role: "menuitem",
|
|
1459
1453
|
"aria-haspopup": a ? "true" : void 0,
|
|
1460
|
-
"aria-expanded": a ?
|
|
1454
|
+
"aria-expanded": a ? s : void 0,
|
|
1461
1455
|
className: [
|
|
1462
1456
|
"flex items-center gap-1.5 px-4 py-3.5 text-sm font-medium transition-colors relative",
|
|
1463
1457
|
"outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary-500",
|
|
1464
|
-
|
|
1465
|
-
|
|
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" : ""
|
|
1466
1460
|
].filter(Boolean).join(" "),
|
|
1467
|
-
onMouseEnter: () => a ?
|
|
1468
|
-
onFocus: () => a &&
|
|
1461
|
+
onMouseEnter: () => a ? o(e.id) : i(null),
|
|
1462
|
+
onFocus: () => a && o(e.id),
|
|
1469
1463
|
onClick: () => {
|
|
1470
1464
|
a || (n?.(e), i(null));
|
|
1471
1465
|
},
|
|
1472
1466
|
children: [
|
|
1473
|
-
e.icon && /* @__PURE__ */
|
|
1467
|
+
e.icon && /* @__PURE__ */ u("span", {
|
|
1474
1468
|
className: "text-base leading-none",
|
|
1475
1469
|
children: e.icon
|
|
1476
1470
|
}),
|
|
1477
1471
|
e.label,
|
|
1478
|
-
a && /* @__PURE__ */
|
|
1472
|
+
a && /* @__PURE__ */ u("svg", {
|
|
1479
1473
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1480
1474
|
fill: "none",
|
|
1481
1475
|
viewBox: "0 0 24 24",
|
|
1482
1476
|
strokeWidth: 2,
|
|
1483
1477
|
stroke: "currentColor",
|
|
1484
|
-
className: `w-3.5 h-3.5 transition-transform duration-150 ${
|
|
1485
|
-
children: /* @__PURE__ */
|
|
1478
|
+
className: `w-3.5 h-3.5 transition-transform duration-150 ${s ? "rotate-180" : ""}`,
|
|
1479
|
+
children: /* @__PURE__ */ u("path", {
|
|
1486
1480
|
strokeLinecap: "round",
|
|
1487
1481
|
strokeLinejoin: "round",
|
|
1488
1482
|
d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
|
|
@@ -1493,10 +1487,10 @@ function Oe({ items: e, activeId: t, onNavigate: n }) {
|
|
|
1493
1487
|
}, e.id);
|
|
1494
1488
|
})
|
|
1495
1489
|
})
|
|
1496
|
-
}), p?.columns?.length && /* @__PURE__ */
|
|
1490
|
+
}), p?.columns?.length && /* @__PURE__ */ u("div", {
|
|
1497
1491
|
onMouseEnter: f,
|
|
1498
|
-
onMouseLeave:
|
|
1499
|
-
children: /* @__PURE__ */
|
|
1492
|
+
onMouseLeave: l,
|
|
1493
|
+
children: /* @__PURE__ */ u(ke, {
|
|
1500
1494
|
item: p,
|
|
1501
1495
|
onNavigate: (e) => n?.(e),
|
|
1502
1496
|
onClose: () => i(null)
|
|
@@ -1506,22 +1500,22 @@ function Oe({ items: e, activeId: t, onNavigate: n }) {
|
|
|
1506
1500
|
}
|
|
1507
1501
|
//#endregion
|
|
1508
1502
|
//#region src/components/BannerCarousel/BannerCarousel.tsx
|
|
1509
|
-
function
|
|
1510
|
-
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) => {
|
|
1511
1505
|
h((e % b + b) % b);
|
|
1512
|
-
}, [b]), S = () => x(m - 1), C =
|
|
1513
|
-
|
|
1514
|
-
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), () => {
|
|
1515
1509
|
v.current && clearInterval(v.current);
|
|
1516
1510
|
};
|
|
1517
1511
|
}, [
|
|
1518
1512
|
t,
|
|
1519
1513
|
g,
|
|
1520
|
-
|
|
1514
|
+
n,
|
|
1521
1515
|
C,
|
|
1522
1516
|
b
|
|
1523
1517
|
]);
|
|
1524
|
-
let w =
|
|
1518
|
+
let w = s(null), T = (e) => {
|
|
1525
1519
|
w.current = e.touches[0].clientX;
|
|
1526
1520
|
}, E = (e) => {
|
|
1527
1521
|
if (w.current === null) return;
|
|
@@ -1530,7 +1524,7 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
|
|
|
1530
1524
|
};
|
|
1531
1525
|
if (b === 0) return null;
|
|
1532
1526
|
let D = e[m], O = D.textColor === "light" || !D.textColor;
|
|
1533
|
-
return /* @__PURE__ */
|
|
1527
|
+
return /* @__PURE__ */ d("div", {
|
|
1534
1528
|
className: ["relative overflow-hidden rounded-xl", f].filter(Boolean).join(" "),
|
|
1535
1529
|
style: { aspectRatio: p },
|
|
1536
1530
|
onMouseEnter: () => _(!0),
|
|
@@ -1538,41 +1532,41 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
|
|
|
1538
1532
|
onTouchStart: T,
|
|
1539
1533
|
onTouchEnd: E,
|
|
1540
1534
|
children: [
|
|
1541
|
-
/* @__PURE__ */
|
|
1535
|
+
/* @__PURE__ */ u("div", {
|
|
1542
1536
|
ref: y,
|
|
1543
1537
|
className: "relative w-full h-full",
|
|
1544
|
-
children: e.map((e, t) => /* @__PURE__ */
|
|
1538
|
+
children: e.map((e, t) => /* @__PURE__ */ d("div", {
|
|
1545
1539
|
"aria-hidden": t !== m,
|
|
1546
1540
|
className: ["absolute inset-0 transition-opacity duration-700", t === m ? "opacity-100 z-10" : "opacity-0 z-0"].join(" "),
|
|
1547
1541
|
style: { background: e.backgroundImage ? `url(${e.backgroundImage}) center/cover no-repeat` : e.backgroundColor ?? "linear-gradient(135deg, #1d4ed8 0%, #7c3aed 100%)" },
|
|
1548
|
-
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", {
|
|
1549
1543
|
className: "relative z-10 h-full flex items-center px-8 md:px-12 gap-8",
|
|
1550
|
-
children: [/* @__PURE__ */
|
|
1544
|
+
children: [/* @__PURE__ */ d("div", {
|
|
1551
1545
|
className: "flex-1 max-w-lg",
|
|
1552
1546
|
children: [
|
|
1553
|
-
e.eyebrow && /* @__PURE__ */
|
|
1547
|
+
e.eyebrow && /* @__PURE__ */ u("p", {
|
|
1554
1548
|
className: `text-xs font-semibold uppercase tracking-widest mb-2 ${O ? "text-white/70" : "text-gray-500"}`,
|
|
1555
1549
|
children: e.eyebrow
|
|
1556
1550
|
}),
|
|
1557
|
-
/* @__PURE__ */
|
|
1551
|
+
/* @__PURE__ */ u("h2", {
|
|
1558
1552
|
className: `text-2xl md:text-3xl lg:text-4xl font-bold leading-tight ${O ? "text-white" : "text-gray-900"}`,
|
|
1559
1553
|
children: e.title
|
|
1560
1554
|
}),
|
|
1561
|
-
e.subtitle && /* @__PURE__ */
|
|
1555
|
+
e.subtitle && /* @__PURE__ */ u("p", {
|
|
1562
1556
|
className: `mt-2 text-sm md:text-base ${O ? "text-white/80" : "text-gray-600"}`,
|
|
1563
1557
|
children: e.subtitle
|
|
1564
1558
|
}),
|
|
1565
|
-
e.ctaLabel && /* @__PURE__ */
|
|
1559
|
+
e.ctaLabel && /* @__PURE__ */ d("button", {
|
|
1566
1560
|
onClick: e.onCtaClick,
|
|
1567
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(" "),
|
|
1568
|
-
children: [e.ctaLabel, /* @__PURE__ */
|
|
1562
|
+
children: [e.ctaLabel, /* @__PURE__ */ u("svg", {
|
|
1569
1563
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1570
1564
|
fill: "none",
|
|
1571
1565
|
viewBox: "0 0 24 24",
|
|
1572
1566
|
strokeWidth: 2,
|
|
1573
1567
|
stroke: "currentColor",
|
|
1574
1568
|
className: "w-4 h-4",
|
|
1575
|
-
children: /* @__PURE__ */
|
|
1569
|
+
children: /* @__PURE__ */ u("path", {
|
|
1576
1570
|
strokeLinecap: "round",
|
|
1577
1571
|
strokeLinejoin: "round",
|
|
1578
1572
|
d: "M8.25 4.5l7.5 7.5-7.5 7.5"
|
|
@@ -1580,9 +1574,9 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
|
|
|
1580
1574
|
})]
|
|
1581
1575
|
})
|
|
1582
1576
|
]
|
|
1583
|
-
}), e.sideImage && /* @__PURE__ */
|
|
1577
|
+
}), e.sideImage && /* @__PURE__ */ u("div", {
|
|
1584
1578
|
className: "hidden md:block flex-1 h-full flex items-end justify-end overflow-hidden",
|
|
1585
|
-
children: /* @__PURE__ */
|
|
1579
|
+
children: /* @__PURE__ */ u("img", {
|
|
1586
1580
|
src: e.sideImage,
|
|
1587
1581
|
alt: "",
|
|
1588
1582
|
className: "h-full w-auto object-contain object-bottom drop-shadow-2xl"
|
|
@@ -1591,54 +1585,54 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
|
|
|
1591
1585
|
})]
|
|
1592
1586
|
}, e.id))
|
|
1593
1587
|
}),
|
|
1594
|
-
a && b > 1 && /* @__PURE__ */
|
|
1588
|
+
a && b > 1 && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("button", {
|
|
1595
1589
|
onClick: S,
|
|
1596
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",
|
|
1597
1591
|
"aria-label": "Previous banner",
|
|
1598
|
-
children: /* @__PURE__ */
|
|
1592
|
+
children: /* @__PURE__ */ u("svg", {
|
|
1599
1593
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1600
1594
|
fill: "none",
|
|
1601
1595
|
viewBox: "0 0 24 24",
|
|
1602
1596
|
strokeWidth: 2,
|
|
1603
1597
|
stroke: "currentColor",
|
|
1604
1598
|
className: "w-5 h-5",
|
|
1605
|
-
children: /* @__PURE__ */
|
|
1599
|
+
children: /* @__PURE__ */ u("path", {
|
|
1606
1600
|
strokeLinecap: "round",
|
|
1607
1601
|
strokeLinejoin: "round",
|
|
1608
1602
|
d: "M15.75 19.5L8.25 12l7.5-7.5"
|
|
1609
1603
|
})
|
|
1610
1604
|
})
|
|
1611
|
-
}), /* @__PURE__ */
|
|
1605
|
+
}), /* @__PURE__ */ u("button", {
|
|
1612
1606
|
onClick: C,
|
|
1613
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",
|
|
1614
1608
|
"aria-label": "Next banner",
|
|
1615
|
-
children: /* @__PURE__ */
|
|
1609
|
+
children: /* @__PURE__ */ u("svg", {
|
|
1616
1610
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1617
1611
|
fill: "none",
|
|
1618
1612
|
viewBox: "0 0 24 24",
|
|
1619
1613
|
strokeWidth: 2,
|
|
1620
1614
|
stroke: "currentColor",
|
|
1621
1615
|
className: "w-5 h-5",
|
|
1622
|
-
children: /* @__PURE__ */
|
|
1616
|
+
children: /* @__PURE__ */ u("path", {
|
|
1623
1617
|
strokeLinecap: "round",
|
|
1624
1618
|
strokeLinejoin: "round",
|
|
1625
1619
|
d: "M8.25 4.5l7.5 7.5-7.5 7.5"
|
|
1626
1620
|
})
|
|
1627
1621
|
})
|
|
1628
1622
|
})] }),
|
|
1629
|
-
|
|
1623
|
+
o && b > 1 && /* @__PURE__ */ u("div", {
|
|
1630
1624
|
className: "absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex gap-1.5",
|
|
1631
|
-
children: e.map((e, t) => /* @__PURE__ */
|
|
1625
|
+
children: e.map((e, t) => /* @__PURE__ */ u("button", {
|
|
1632
1626
|
onClick: () => x(t),
|
|
1633
1627
|
"aria-label": `Go to slide ${t + 1}`,
|
|
1634
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(" ")
|
|
1635
1629
|
}, t))
|
|
1636
1630
|
}),
|
|
1637
|
-
t && b > 1 && /* @__PURE__ */
|
|
1631
|
+
t && b > 1 && /* @__PURE__ */ u("div", {
|
|
1638
1632
|
className: "absolute bottom-0 left-0 right-0 h-0.5 bg-white/20 z-20",
|
|
1639
|
-
children: /* @__PURE__ */
|
|
1633
|
+
children: /* @__PURE__ */ u("div", {
|
|
1640
1634
|
className: `h-full bg-white/60 ${g ? "" : "animate-progress"}`,
|
|
1641
|
-
style: { animation: g ? "none" : `progress ${
|
|
1635
|
+
style: { animation: g ? "none" : `progress ${n}ms linear` }
|
|
1642
1636
|
}, `${m}-${g}`)
|
|
1643
1637
|
})
|
|
1644
1638
|
]
|
|
@@ -1646,23 +1640,23 @@ function ke({ banners: e, autoPlay: t = !0, autoPlayInterval: i = 5e3, arrows: a
|
|
|
1646
1640
|
}
|
|
1647
1641
|
//#endregion
|
|
1648
1642
|
//#region src/components/ProductCard/ProductCard.tsx
|
|
1649
|
-
function
|
|
1650
|
-
return /* @__PURE__ */
|
|
1643
|
+
function Me({ filled: e }) {
|
|
1644
|
+
return /* @__PURE__ */ u("svg", {
|
|
1651
1645
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1652
1646
|
viewBox: "0 0 24 24",
|
|
1653
1647
|
className: `w-3.5 h-3.5 ${e ? "fill-amber-400 stroke-amber-400" : "fill-gray-200 stroke-gray-300"}`,
|
|
1654
1648
|
strokeWidth: 1,
|
|
1655
|
-
children: /* @__PURE__ */
|
|
1649
|
+
children: /* @__PURE__ */ u("path", {
|
|
1656
1650
|
strokeLinecap: "round",
|
|
1657
1651
|
strokeLinejoin: "round",
|
|
1658
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"
|
|
1659
1653
|
})
|
|
1660
1654
|
});
|
|
1661
1655
|
}
|
|
1662
|
-
function
|
|
1663
|
-
return /* @__PURE__ */
|
|
1656
|
+
function Ne({ value: e, count: t }) {
|
|
1657
|
+
return /* @__PURE__ */ d("div", {
|
|
1664
1658
|
className: "flex items-center gap-1",
|
|
1665
|
-
children: [/* @__PURE__ */
|
|
1659
|
+
children: [/* @__PURE__ */ u("div", {
|
|
1666
1660
|
className: "flex gap-0.5",
|
|
1667
1661
|
children: [
|
|
1668
1662
|
1,
|
|
@@ -1670,8 +1664,8 @@ function je({ value: e, count: t }) {
|
|
|
1670
1664
|
3,
|
|
1671
1665
|
4,
|
|
1672
1666
|
5
|
|
1673
|
-
].map((t) => /* @__PURE__ */
|
|
1674
|
-
}), t !== void 0 && /* @__PURE__ */
|
|
1667
|
+
].map((t) => /* @__PURE__ */ u(Me, { filled: t <= Math.round(e) }, t))
|
|
1668
|
+
}), t !== void 0 && /* @__PURE__ */ d("span", {
|
|
1675
1669
|
className: "text-xs text-gray-400",
|
|
1676
1670
|
children: [
|
|
1677
1671
|
"(",
|
|
@@ -1681,54 +1675,54 @@ function je({ value: e, count: t }) {
|
|
|
1681
1675
|
})]
|
|
1682
1676
|
});
|
|
1683
1677
|
}
|
|
1684
|
-
function
|
|
1678
|
+
function Pe(e) {
|
|
1685
1679
|
let t = e.toLowerCase();
|
|
1686
1680
|
return t === "sale" || t === "akce" ? "danger" : t === "new" || t === "nové" ? "primary" : t === "hot" ? "warning" : "default";
|
|
1687
1681
|
}
|
|
1688
|
-
function
|
|
1682
|
+
function Fe(e, t = "Kč") {
|
|
1689
1683
|
return `${e.toLocaleString("cs-CZ")} ${t}`;
|
|
1690
1684
|
}
|
|
1691
|
-
function
|
|
1685
|
+
function Ie(e, t) {
|
|
1692
1686
|
return Math.round((1 - t / e) * 100);
|
|
1693
1687
|
}
|
|
1694
|
-
function
|
|
1695
|
-
let [
|
|
1696
|
-
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", {
|
|
1697
1691
|
className: [
|
|
1698
1692
|
"group relative flex flex-col bg-white rounded-xl border border-gray-200",
|
|
1699
1693
|
"hover:shadow-md transition-shadow duration-200 overflow-hidden cursor-pointer",
|
|
1700
1694
|
o
|
|
1701
1695
|
].filter(Boolean).join(" "),
|
|
1702
1696
|
onClick: () => i?.(e),
|
|
1703
|
-
onMouseEnter: () =>
|
|
1704
|
-
onMouseLeave: () =>
|
|
1705
|
-
children: [/* @__PURE__ */
|
|
1697
|
+
onMouseEnter: () => l(!0),
|
|
1698
|
+
onMouseLeave: () => l(!1),
|
|
1699
|
+
children: [/* @__PURE__ */ d("div", {
|
|
1706
1700
|
className: `relative overflow-hidden bg-gray-50 ${a === "compact" ? "aspect-square" : "aspect-4/3"}`,
|
|
1707
1701
|
children: [
|
|
1708
|
-
e.image ? /* @__PURE__ */
|
|
1709
|
-
src:
|
|
1702
|
+
e.image ? /* @__PURE__ */ u("img", {
|
|
1703
|
+
src: s && e.imageHover ? e.imageHover : e.image,
|
|
1710
1704
|
alt: e.name,
|
|
1711
1705
|
className: "w-full h-full object-contain p-4 transition-transform duration-300 group-hover:scale-105"
|
|
1712
|
-
}) : /* @__PURE__ */
|
|
1706
|
+
}) : /* @__PURE__ */ u("div", {
|
|
1713
1707
|
className: "w-full h-full flex items-center justify-center text-5xl bg-linear-to-br from-gray-100 to-gray-200",
|
|
1714
1708
|
children: "🛍️"
|
|
1715
1709
|
}),
|
|
1716
|
-
e.badge && /* @__PURE__ */
|
|
1710
|
+
e.badge && /* @__PURE__ */ u("div", {
|
|
1717
1711
|
className: "absolute top-2 left-2",
|
|
1718
|
-
children: /* @__PURE__ */
|
|
1719
|
-
variant:
|
|
1712
|
+
children: /* @__PURE__ */ u(M, {
|
|
1713
|
+
variant: Pe(e.badge),
|
|
1720
1714
|
size: "sm",
|
|
1721
|
-
children: e.badge === "sale" && m ? `-${
|
|
1715
|
+
children: e.badge === "sale" && m ? `-${Ie(e.originalPrice, e.price)}%` : e.badge
|
|
1722
1716
|
})
|
|
1723
1717
|
}),
|
|
1724
|
-
e.inStock === !1 && /* @__PURE__ */
|
|
1718
|
+
e.inStock === !1 && /* @__PURE__ */ u("div", {
|
|
1725
1719
|
className: "absolute inset-0 bg-white/70 flex items-center justify-center",
|
|
1726
|
-
children: /* @__PURE__ */
|
|
1720
|
+
children: /* @__PURE__ */ u("span", {
|
|
1727
1721
|
className: "text-sm font-semibold text-gray-500 bg-white/90 px-3 py-1 rounded-full border border-gray-200",
|
|
1728
1722
|
children: "Vyprodáno"
|
|
1729
1723
|
})
|
|
1730
1724
|
}),
|
|
1731
|
-
/* @__PURE__ */
|
|
1725
|
+
/* @__PURE__ */ u("button", {
|
|
1732
1726
|
onClick: (t) => {
|
|
1733
1727
|
t.stopPropagation(), n?.(e);
|
|
1734
1728
|
},
|
|
@@ -1739,22 +1733,22 @@ function Fe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
|
|
|
1739
1733
|
"opacity-0 group-hover:opacity-100 focus:opacity-100",
|
|
1740
1734
|
r ? "text-danger-500" : "text-gray-400 hover:text-danger-400"
|
|
1741
1735
|
].join(" "),
|
|
1742
|
-
children: /* @__PURE__ */
|
|
1736
|
+
children: /* @__PURE__ */ u("svg", {
|
|
1743
1737
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1744
1738
|
viewBox: "0 0 24 24",
|
|
1745
1739
|
strokeWidth: 1.5,
|
|
1746
1740
|
stroke: "currentColor",
|
|
1747
1741
|
className: `w-4 h-4 ${r ? "fill-current" : "fill-none"}`,
|
|
1748
|
-
children: /* @__PURE__ */
|
|
1742
|
+
children: /* @__PURE__ */ u("path", {
|
|
1749
1743
|
strokeLinecap: "round",
|
|
1750
1744
|
strokeLinejoin: "round",
|
|
1751
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"
|
|
1752
1746
|
})
|
|
1753
1747
|
})
|
|
1754
1748
|
}),
|
|
1755
|
-
/* @__PURE__ */
|
|
1756
|
-
className: ["absolute bottom-0 left-0 right-0 p-2 transition-transform duration-200",
|
|
1757
|
-
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, {
|
|
1758
1752
|
variant: "primary",
|
|
1759
1753
|
size: "sm",
|
|
1760
1754
|
fullWidth: !0,
|
|
@@ -1764,16 +1758,16 @@ function Fe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
|
|
|
1764
1758
|
n.stopPropagation(), t?.(e), p(!0), setTimeout(() => p(!1), 1500);
|
|
1765
1759
|
},
|
|
1766
1760
|
className: "shadow-lg",
|
|
1767
|
-
children: f ? /* @__PURE__ */
|
|
1761
|
+
children: f ? /* @__PURE__ */ d("span", {
|
|
1768
1762
|
className: "flex items-center gap-1.5",
|
|
1769
|
-
children: [/* @__PURE__ */
|
|
1763
|
+
children: [/* @__PURE__ */ u("svg", {
|
|
1770
1764
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1771
1765
|
fill: "none",
|
|
1772
1766
|
viewBox: "0 0 24 24",
|
|
1773
1767
|
strokeWidth: 2,
|
|
1774
1768
|
stroke: "currentColor",
|
|
1775
1769
|
className: "w-4 h-4",
|
|
1776
|
-
children: /* @__PURE__ */
|
|
1770
|
+
children: /* @__PURE__ */ u("path", {
|
|
1777
1771
|
strokeLinecap: "round",
|
|
1778
1772
|
strokeLinejoin: "round",
|
|
1779
1773
|
d: "M4.5 12.75l6 6 9-13.5"
|
|
@@ -1783,36 +1777,36 @@ function Fe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
|
|
|
1783
1777
|
})
|
|
1784
1778
|
})
|
|
1785
1779
|
]
|
|
1786
|
-
}), /* @__PURE__ */
|
|
1780
|
+
}), /* @__PURE__ */ d("div", {
|
|
1787
1781
|
className: `flex flex-col gap-1.5 ${a === "compact" ? "p-3" : "p-4"}`,
|
|
1788
1782
|
children: [
|
|
1789
|
-
e.variants && e.variants.length > 0 && /* @__PURE__ */
|
|
1783
|
+
e.variants && e.variants.length > 0 && /* @__PURE__ */ d("div", {
|
|
1790
1784
|
className: "flex gap-1",
|
|
1791
|
-
children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */
|
|
1785
|
+
children: [e.variants.slice(0, 5).map((e) => /* @__PURE__ */ u("span", {
|
|
1792
1786
|
title: e.label,
|
|
1793
1787
|
className: "w-4 h-4 rounded-full border border-gray-300 shrink-0",
|
|
1794
1788
|
style: { backgroundColor: e.color ?? "#ccc" }
|
|
1795
|
-
}, e.id)), e.variants.length > 5 && /* @__PURE__ */
|
|
1789
|
+
}, e.id)), e.variants.length > 5 && /* @__PURE__ */ d("span", {
|
|
1796
1790
|
className: "text-xs text-gray-400",
|
|
1797
1791
|
children: ["+", e.variants.length - 5]
|
|
1798
1792
|
})]
|
|
1799
1793
|
}),
|
|
1800
|
-
/* @__PURE__ */
|
|
1794
|
+
/* @__PURE__ */ u("h3", {
|
|
1801
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"}`,
|
|
1802
1796
|
children: e.name
|
|
1803
1797
|
}),
|
|
1804
|
-
e.rating !== void 0 && /* @__PURE__ */
|
|
1798
|
+
e.rating !== void 0 && /* @__PURE__ */ u(Ne, {
|
|
1805
1799
|
value: e.rating,
|
|
1806
1800
|
count: e.reviewCount
|
|
1807
1801
|
}),
|
|
1808
|
-
/* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ d("div", {
|
|
1809
1803
|
className: "flex items-baseline gap-2 mt-auto pt-1",
|
|
1810
|
-
children: [/* @__PURE__ */
|
|
1804
|
+
children: [/* @__PURE__ */ u("span", {
|
|
1811
1805
|
className: `font-bold text-gray-900 ${a === "compact" ? "text-base" : "text-lg"}`,
|
|
1812
|
-
children:
|
|
1813
|
-
}), m && /* @__PURE__ */
|
|
1806
|
+
children: Fe(e.price, e.currency)
|
|
1807
|
+
}), m && /* @__PURE__ */ u("span", {
|
|
1814
1808
|
className: "text-sm text-gray-400 line-through",
|
|
1815
|
-
children:
|
|
1809
|
+
children: Fe(e.originalPrice, e.currency)
|
|
1816
1810
|
})]
|
|
1817
1811
|
})
|
|
1818
1812
|
]
|
|
@@ -1821,12 +1815,12 @@ function Fe({ product: e, onAddToCart: t, onWishlistToggle: n, isWishlisted: r =
|
|
|
1821
1815
|
}
|
|
1822
1816
|
//#endregion
|
|
1823
1817
|
//#region src/components/ProductGrid/ProductGrid.tsx
|
|
1824
|
-
var
|
|
1818
|
+
var Re = {
|
|
1825
1819
|
2: "grid-cols-2",
|
|
1826
1820
|
3: "grid-cols-2 md:grid-cols-3",
|
|
1827
1821
|
4: "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",
|
|
1828
1822
|
5: "grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"
|
|
1829
|
-
},
|
|
1823
|
+
}, ze = [
|
|
1830
1824
|
{
|
|
1831
1825
|
value: "newest",
|
|
1832
1826
|
label: "Nejnovější"
|
|
@@ -1848,50 +1842,50 @@ var Ie = {
|
|
|
1848
1842
|
label: "Bestsellery"
|
|
1849
1843
|
}
|
|
1850
1844
|
];
|
|
1851
|
-
function
|
|
1852
|
-
return /* @__PURE__ */
|
|
1845
|
+
function Be() {
|
|
1846
|
+
return /* @__PURE__ */ d("div", {
|
|
1853
1847
|
className: "rounded-xl border border-gray-100 overflow-hidden animate-pulse",
|
|
1854
|
-
children: [/* @__PURE__ */
|
|
1848
|
+
children: [/* @__PURE__ */ u("div", { className: "aspect-4/3 bg-gray-200" }), /* @__PURE__ */ d("div", {
|
|
1855
1849
|
className: "p-4 space-y-2",
|
|
1856
1850
|
children: [
|
|
1857
|
-
/* @__PURE__ */
|
|
1858
|
-
/* @__PURE__ */
|
|
1859
|
-
/* @__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" })
|
|
1860
1854
|
]
|
|
1861
1855
|
})]
|
|
1862
1856
|
});
|
|
1863
1857
|
}
|
|
1864
|
-
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 = "" }) {
|
|
1865
1859
|
let x = t ? Math.ceil(t / i) : void 0, S = a >= 5 ? "compact" : "default";
|
|
1866
|
-
return /* @__PURE__ */
|
|
1860
|
+
return /* @__PURE__ */ d("div", {
|
|
1867
1861
|
className: ["w-full", b].filter(Boolean).join(" "),
|
|
1868
1862
|
children: [
|
|
1869
|
-
/* @__PURE__ */
|
|
1863
|
+
/* @__PURE__ */ d("div", {
|
|
1870
1864
|
className: "flex flex-wrap items-center justify-between gap-3 mb-4",
|
|
1871
|
-
children: [/* @__PURE__ */
|
|
1865
|
+
children: [/* @__PURE__ */ d("div", {
|
|
1872
1866
|
className: "flex flex-wrap items-center gap-2",
|
|
1873
1867
|
children: [
|
|
1874
|
-
t !== void 0 && /* @__PURE__ */
|
|
1868
|
+
t !== void 0 && /* @__PURE__ */ d("span", {
|
|
1875
1869
|
className: "text-sm text-gray-500",
|
|
1876
|
-
children: [/* @__PURE__ */
|
|
1870
|
+
children: [/* @__PURE__ */ u("span", {
|
|
1877
1871
|
className: "font-semibold text-gray-900",
|
|
1878
1872
|
children: t
|
|
1879
1873
|
}), " produktů"]
|
|
1880
1874
|
}),
|
|
1881
|
-
|
|
1875
|
+
l.map((e) => /* @__PURE__ */ d("span", {
|
|
1882
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",
|
|
1883
|
-
children: [e, /* @__PURE__ */
|
|
1877
|
+
children: [e, /* @__PURE__ */ u("button", {
|
|
1884
1878
|
onClick: () => f?.(e),
|
|
1885
1879
|
"aria-label": `Remove filter ${e}`,
|
|
1886
1880
|
className: "hover:text-primary-900 transition-colors",
|
|
1887
|
-
children: /* @__PURE__ */
|
|
1881
|
+
children: /* @__PURE__ */ u("svg", {
|
|
1888
1882
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1889
1883
|
fill: "none",
|
|
1890
1884
|
viewBox: "0 0 24 24",
|
|
1891
1885
|
strokeWidth: 2,
|
|
1892
1886
|
stroke: "currentColor",
|
|
1893
1887
|
className: "w-3 h-3",
|
|
1894
|
-
children: /* @__PURE__ */
|
|
1888
|
+
children: /* @__PURE__ */ u("path", {
|
|
1895
1889
|
strokeLinecap: "round",
|
|
1896
1890
|
strokeLinejoin: "round",
|
|
1897
1891
|
d: "M6 18L18 6M6 6l12 12"
|
|
@@ -1899,13 +1893,13 @@ function ze({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
|
|
|
1899
1893
|
})
|
|
1900
1894
|
})]
|
|
1901
1895
|
}, e)),
|
|
1902
|
-
|
|
1896
|
+
l.length > 1 && /* @__PURE__ */ u("button", {
|
|
1903
1897
|
onClick: p,
|
|
1904
1898
|
className: "text-xs text-gray-400 hover:text-gray-600 underline underline-offset-2 transition-colors",
|
|
1905
1899
|
children: "Zrušit vše"
|
|
1906
1900
|
})
|
|
1907
1901
|
]
|
|
1908
|
-
}), /* @__PURE__ */
|
|
1902
|
+
}), /* @__PURE__ */ u(k, {
|
|
1909
1903
|
options: o,
|
|
1910
1904
|
value: s ?? "",
|
|
1911
1905
|
onChange: (e) => c?.(e.target.value),
|
|
@@ -1913,36 +1907,36 @@ function ze({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
|
|
|
1913
1907
|
className: "text-sm"
|
|
1914
1908
|
})]
|
|
1915
1909
|
}),
|
|
1916
|
-
m ? /* @__PURE__ */
|
|
1917
|
-
className: `grid gap-4 ${
|
|
1918
|
-
children: Array.from({ length: i > 12 ? 12 : i }).map((e, t) => /* @__PURE__ */
|
|
1919
|
-
}) : 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", {
|
|
1920
1914
|
className: "py-16 text-center",
|
|
1921
|
-
children: h ?? /* @__PURE__ */
|
|
1915
|
+
children: h ?? /* @__PURE__ */ d("div", {
|
|
1922
1916
|
className: "space-y-2",
|
|
1923
1917
|
children: [
|
|
1924
|
-
/* @__PURE__ */
|
|
1918
|
+
/* @__PURE__ */ u("p", {
|
|
1925
1919
|
className: "text-4xl",
|
|
1926
1920
|
children: "🔍"
|
|
1927
1921
|
}),
|
|
1928
|
-
/* @__PURE__ */
|
|
1922
|
+
/* @__PURE__ */ u("p", {
|
|
1929
1923
|
className: "font-semibold text-gray-900",
|
|
1930
1924
|
children: "Žádné produkty nenalezeny"
|
|
1931
1925
|
}),
|
|
1932
|
-
/* @__PURE__ */
|
|
1926
|
+
/* @__PURE__ */ u("p", {
|
|
1933
1927
|
className: "text-sm text-gray-500",
|
|
1934
1928
|
children: "Zkuste upravit filtry nebo hledat jinak."
|
|
1935
1929
|
}),
|
|
1936
|
-
|
|
1930
|
+
l.length > 0 && /* @__PURE__ */ u("button", {
|
|
1937
1931
|
onClick: p,
|
|
1938
1932
|
className: "mt-3 text-sm text-primary-600 hover:underline",
|
|
1939
1933
|
children: "Zrušit všechny filtry"
|
|
1940
1934
|
})
|
|
1941
1935
|
]
|
|
1942
1936
|
})
|
|
1943
|
-
}) : /* @__PURE__ */
|
|
1944
|
-
className: `grid gap-4 ${
|
|
1945
|
-
children: e.map((e) => /* @__PURE__ */
|
|
1937
|
+
}) : /* @__PURE__ */ u("div", {
|
|
1938
|
+
className: `grid gap-4 ${Re[a]}`,
|
|
1939
|
+
children: e.map((e) => /* @__PURE__ */ u(Le, {
|
|
1946
1940
|
product: e,
|
|
1947
1941
|
size: S,
|
|
1948
1942
|
onAddToCart: g,
|
|
@@ -1951,9 +1945,9 @@ function ze({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
|
|
|
1951
1945
|
isWishlisted: y.includes(e.id)
|
|
1952
1946
|
}, e.id))
|
|
1953
1947
|
}),
|
|
1954
|
-
x && x > 1 && r && /* @__PURE__ */
|
|
1948
|
+
x && x > 1 && r && /* @__PURE__ */ u("div", {
|
|
1955
1949
|
className: "flex justify-center mt-8",
|
|
1956
|
-
children: /* @__PURE__ */
|
|
1950
|
+
children: /* @__PURE__ */ u(X, {
|
|
1957
1951
|
page: n,
|
|
1958
1952
|
totalPages: x,
|
|
1959
1953
|
onPageChange: r
|
|
@@ -1963,15 +1957,63 @@ function ze({ products: e, totalCount: t, page: n = 1, onPageChange: r, perPage:
|
|
|
1963
1957
|
});
|
|
1964
1958
|
}
|
|
1965
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
|
|
1966
2008
|
//#region src/components/CallToAction/CallToAction.tsx
|
|
1967
|
-
var
|
|
2009
|
+
var Ue = {
|
|
1968
2010
|
default: "bg-gray-50 border border-gray-200",
|
|
1969
2011
|
primary: "bg-primary-600",
|
|
1970
2012
|
dark: "bg-gray-900",
|
|
1971
2013
|
gradient: "bg-linear-to-br from-primary-600 via-primary-700 to-violet-700",
|
|
1972
2014
|
outline: "bg-white border-2 border-primary-600",
|
|
1973
2015
|
image: "relative overflow-hidden"
|
|
1974
|
-
},
|
|
2016
|
+
}, We = {
|
|
1975
2017
|
default: {
|
|
1976
2018
|
eyebrow: "text-primary-600",
|
|
1977
2019
|
title: "text-gray-900",
|
|
@@ -2002,7 +2044,7 @@ var Be = {
|
|
|
2002
2044
|
title: "text-white",
|
|
2003
2045
|
description: "text-white/80"
|
|
2004
2046
|
}
|
|
2005
|
-
},
|
|
2047
|
+
}, Ge = {
|
|
2006
2048
|
sm: {
|
|
2007
2049
|
wrapper: "px-6 py-6 rounded-xl",
|
|
2008
2050
|
title: "text-xl font-bold",
|
|
@@ -2027,7 +2069,7 @@ var Be = {
|
|
|
2027
2069
|
description: "text-xl",
|
|
2028
2070
|
eyebrow: "text-sm"
|
|
2029
2071
|
}
|
|
2030
|
-
},
|
|
2072
|
+
}, Ke = {
|
|
2031
2073
|
left: {
|
|
2032
2074
|
wrapper: "items-start text-left",
|
|
2033
2075
|
actions: "justify-start"
|
|
@@ -2041,58 +2083,58 @@ var Be = {
|
|
|
2041
2083
|
actions: "justify-end"
|
|
2042
2084
|
}
|
|
2043
2085
|
};
|
|
2044
|
-
function
|
|
2045
|
-
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 = {
|
|
2046
2088
|
...c ? { background: c } : {},
|
|
2047
|
-
...
|
|
2048
|
-
backgroundImage: `url(${
|
|
2089
|
+
...l ? {
|
|
2090
|
+
backgroundImage: `url(${l})`,
|
|
2049
2091
|
backgroundSize: "cover",
|
|
2050
2092
|
backgroundPosition: "center"
|
|
2051
2093
|
} : {},
|
|
2052
2094
|
...m
|
|
2053
2095
|
};
|
|
2054
|
-
return /* @__PURE__ */
|
|
2096
|
+
return /* @__PURE__ */ d("div", {
|
|
2055
2097
|
className: [
|
|
2056
2098
|
"w-full",
|
|
2057
|
-
|
|
2099
|
+
Ue[s],
|
|
2058
2100
|
g.wrapper,
|
|
2059
2101
|
p
|
|
2060
2102
|
].filter(Boolean).join(" "),
|
|
2061
2103
|
style: Object.keys(y).length ? y : void 0,
|
|
2062
|
-
children: [(s === "image" ||
|
|
2104
|
+
children: [(s === "image" || l) && /* @__PURE__ */ u("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ d("div", {
|
|
2063
2105
|
className: `relative ${v ? "flex flex-wrap items-center justify-between gap-6" : `flex flex-col gap-4 ${_.wrapper}`}`,
|
|
2064
2106
|
children: [
|
|
2065
|
-
/* @__PURE__ */
|
|
2107
|
+
/* @__PURE__ */ d("div", {
|
|
2066
2108
|
className: `flex flex-col gap-2 ${v ? "flex-1 min-w-0" : _.wrapper}`,
|
|
2067
2109
|
children: [
|
|
2068
|
-
e && /* @__PURE__ */
|
|
2110
|
+
e && /* @__PURE__ */ u("p", {
|
|
2069
2111
|
className: `font-semibold uppercase tracking-widest ${g.eyebrow} ${h.eyebrow}`,
|
|
2070
2112
|
children: e
|
|
2071
2113
|
}),
|
|
2072
|
-
/* @__PURE__ */
|
|
2114
|
+
/* @__PURE__ */ u("h2", {
|
|
2073
2115
|
className: `${g.title} ${h.title}`,
|
|
2074
2116
|
children: t
|
|
2075
2117
|
}),
|
|
2076
|
-
n && /* @__PURE__ */
|
|
2118
|
+
n && /* @__PURE__ */ u("p", {
|
|
2077
2119
|
className: `max-w-2xl ${g.description} ${h.description}`,
|
|
2078
2120
|
children: n
|
|
2079
2121
|
})
|
|
2080
2122
|
]
|
|
2081
2123
|
}),
|
|
2082
|
-
f && !v && /* @__PURE__ */
|
|
2124
|
+
f && !v && /* @__PURE__ */ u("div", {
|
|
2083
2125
|
className: "mt-2",
|
|
2084
2126
|
children: f
|
|
2085
2127
|
}),
|
|
2086
|
-
r.length > 0 && /* @__PURE__ */
|
|
2128
|
+
r.length > 0 && /* @__PURE__ */ u("div", {
|
|
2087
2129
|
className: `flex flex-wrap gap-3 ${v ? "shrink-0" : _.actions}`,
|
|
2088
2130
|
children: r.map((e, t) => {
|
|
2089
|
-
let n = /* @__PURE__ */
|
|
2090
|
-
variant: e.variant ?? (t === 0 ?
|
|
2131
|
+
let n = /* @__PURE__ */ u(T, {
|
|
2132
|
+
variant: e.variant ?? (t === 0 ? Je(s) : "outline"),
|
|
2091
2133
|
size: e.size ?? (o === "sm" ? "sm" : o === "xl" ? "lg" : "md"),
|
|
2092
2134
|
onClick: e.onClick,
|
|
2093
2135
|
children: e.label
|
|
2094
2136
|
}, t);
|
|
2095
|
-
return e.href ? /* @__PURE__ */
|
|
2137
|
+
return e.href ? /* @__PURE__ */ u("a", {
|
|
2096
2138
|
href: e.href,
|
|
2097
2139
|
className: "contents",
|
|
2098
2140
|
children: n
|
|
@@ -2103,233 +2145,233 @@ function We({ eyebrow: e, title: t, description: n, actions: r = [], align: i =
|
|
|
2103
2145
|
})]
|
|
2104
2146
|
});
|
|
2105
2147
|
}
|
|
2106
|
-
function
|
|
2148
|
+
function Je(e) {
|
|
2107
2149
|
return e === "default" || e === "outline" ? "primary" : "secondary";
|
|
2108
2150
|
}
|
|
2109
2151
|
//#endregion
|
|
2110
2152
|
//#region src/components/Footer/Footer.tsx
|
|
2111
|
-
function
|
|
2112
|
-
return /* @__PURE__ */
|
|
2153
|
+
function Ye() {
|
|
2154
|
+
return /* @__PURE__ */ u("svg", {
|
|
2113
2155
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2114
2156
|
fill: "none",
|
|
2115
2157
|
viewBox: "0 0 24 24",
|
|
2116
2158
|
strokeWidth: 1.5,
|
|
2117
2159
|
stroke: "currentColor",
|
|
2118
2160
|
className: "w-4 h-4 shrink-0",
|
|
2119
|
-
children: /* @__PURE__ */
|
|
2161
|
+
children: /* @__PURE__ */ u("path", {
|
|
2120
2162
|
strokeLinecap: "round",
|
|
2121
2163
|
strokeLinejoin: "round",
|
|
2122
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"
|
|
2123
2165
|
})
|
|
2124
2166
|
});
|
|
2125
2167
|
}
|
|
2126
|
-
function
|
|
2127
|
-
return /* @__PURE__ */
|
|
2168
|
+
function Xe() {
|
|
2169
|
+
return /* @__PURE__ */ u("svg", {
|
|
2128
2170
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2129
2171
|
fill: "none",
|
|
2130
2172
|
viewBox: "0 0 24 24",
|
|
2131
2173
|
strokeWidth: 1.5,
|
|
2132
2174
|
stroke: "currentColor",
|
|
2133
2175
|
className: "w-4 h-4 shrink-0",
|
|
2134
|
-
children: /* @__PURE__ */
|
|
2176
|
+
children: /* @__PURE__ */ u("path", {
|
|
2135
2177
|
strokeLinecap: "round",
|
|
2136
2178
|
strokeLinejoin: "round",
|
|
2137
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"
|
|
2138
2180
|
})
|
|
2139
2181
|
});
|
|
2140
2182
|
}
|
|
2141
|
-
function
|
|
2142
|
-
return /* @__PURE__ */
|
|
2183
|
+
function Ze() {
|
|
2184
|
+
return /* @__PURE__ */ d("svg", {
|
|
2143
2185
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2144
2186
|
fill: "none",
|
|
2145
2187
|
viewBox: "0 0 24 24",
|
|
2146
2188
|
strokeWidth: 1.5,
|
|
2147
2189
|
stroke: "currentColor",
|
|
2148
2190
|
className: "w-4 h-4 shrink-0",
|
|
2149
|
-
children: [/* @__PURE__ */
|
|
2191
|
+
children: [/* @__PURE__ */ u("path", {
|
|
2150
2192
|
strokeLinecap: "round",
|
|
2151
2193
|
strokeLinejoin: "round",
|
|
2152
2194
|
d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
|
|
2153
|
-
}), /* @__PURE__ */
|
|
2195
|
+
}), /* @__PURE__ */ u("path", {
|
|
2154
2196
|
strokeLinecap: "round",
|
|
2155
2197
|
strokeLinejoin: "round",
|
|
2156
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"
|
|
2157
2199
|
})]
|
|
2158
2200
|
});
|
|
2159
2201
|
}
|
|
2160
|
-
function
|
|
2161
|
-
return /* @__PURE__ */
|
|
2202
|
+
function Qe() {
|
|
2203
|
+
return /* @__PURE__ */ u("svg", {
|
|
2162
2204
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2163
2205
|
fill: "none",
|
|
2164
2206
|
viewBox: "0 0 24 24",
|
|
2165
2207
|
strokeWidth: 1.5,
|
|
2166
2208
|
stroke: "currentColor",
|
|
2167
2209
|
className: "w-4 h-4 shrink-0",
|
|
2168
|
-
children: /* @__PURE__ */
|
|
2210
|
+
children: /* @__PURE__ */ u("path", {
|
|
2169
2211
|
strokeLinecap: "round",
|
|
2170
2212
|
strokeLinejoin: "round",
|
|
2171
2213
|
d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
2172
2214
|
})
|
|
2173
2215
|
});
|
|
2174
2216
|
}
|
|
2175
|
-
function
|
|
2176
|
-
return /* @__PURE__ */
|
|
2217
|
+
function $e() {
|
|
2218
|
+
return /* @__PURE__ */ u("svg", {
|
|
2177
2219
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2178
2220
|
viewBox: "0 0 24 24",
|
|
2179
2221
|
fill: "currentColor",
|
|
2180
2222
|
className: "w-4 h-4",
|
|
2181
|
-
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" })
|
|
2182
2224
|
});
|
|
2183
2225
|
}
|
|
2184
|
-
function
|
|
2185
|
-
return /* @__PURE__ */
|
|
2226
|
+
function et() {
|
|
2227
|
+
return /* @__PURE__ */ u("svg", {
|
|
2186
2228
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2187
2229
|
viewBox: "0 0 24 24",
|
|
2188
2230
|
fill: "currentColor",
|
|
2189
2231
|
className: "w-4 h-4",
|
|
2190
|
-
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" })
|
|
2191
2233
|
});
|
|
2192
2234
|
}
|
|
2193
|
-
function
|
|
2194
|
-
return /* @__PURE__ */
|
|
2235
|
+
function tt() {
|
|
2236
|
+
return /* @__PURE__ */ u("svg", {
|
|
2195
2237
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2196
2238
|
viewBox: "0 0 24 24",
|
|
2197
2239
|
fill: "currentColor",
|
|
2198
2240
|
className: "w-4 h-4",
|
|
2199
|
-
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" })
|
|
2200
2242
|
});
|
|
2201
2243
|
}
|
|
2202
|
-
function
|
|
2203
|
-
return /* @__PURE__ */
|
|
2244
|
+
function nt() {
|
|
2245
|
+
return /* @__PURE__ */ u("svg", {
|
|
2204
2246
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2205
2247
|
viewBox: "0 0 24 24",
|
|
2206
2248
|
fill: "currentColor",
|
|
2207
2249
|
className: "w-4 h-4",
|
|
2208
|
-
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" })
|
|
2209
2251
|
});
|
|
2210
2252
|
}
|
|
2211
|
-
function
|
|
2212
|
-
return /* @__PURE__ */
|
|
2253
|
+
function rt() {
|
|
2254
|
+
return /* @__PURE__ */ u("svg", {
|
|
2213
2255
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2214
2256
|
viewBox: "0 0 24 24",
|
|
2215
2257
|
fill: "currentColor",
|
|
2216
2258
|
className: "w-4 h-4",
|
|
2217
|
-
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" })
|
|
2218
2260
|
});
|
|
2219
2261
|
}
|
|
2220
|
-
var
|
|
2221
|
-
facebook:
|
|
2222
|
-
instagram:
|
|
2223
|
-
twitter:
|
|
2224
|
-
youtube:
|
|
2225
|
-
tiktok:
|
|
2226
|
-
},
|
|
2227
|
-
phone:
|
|
2228
|
-
email:
|
|
2229
|
-
address:
|
|
2230
|
-
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
|
|
2231
2273
|
};
|
|
2232
|
-
function
|
|
2274
|
+
function ot(e) {
|
|
2233
2275
|
if (!e) return null;
|
|
2234
2276
|
if (typeof e == "string") {
|
|
2235
|
-
let t =
|
|
2236
|
-
return t ? /* @__PURE__ */
|
|
2277
|
+
let t = at[e];
|
|
2278
|
+
return t ? /* @__PURE__ */ u(t, {}) : null;
|
|
2237
2279
|
}
|
|
2238
2280
|
return e;
|
|
2239
2281
|
}
|
|
2240
|
-
function
|
|
2282
|
+
function st(e) {
|
|
2241
2283
|
if (typeof e == "string") {
|
|
2242
|
-
let t =
|
|
2243
|
-
return t ? /* @__PURE__ */
|
|
2284
|
+
let t = it[e];
|
|
2285
|
+
return t ? /* @__PURE__ */ u(t, {}) : null;
|
|
2244
2286
|
}
|
|
2245
2287
|
return e;
|
|
2246
2288
|
}
|
|
2247
|
-
function
|
|
2248
|
-
let
|
|
2249
|
-
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", {
|
|
2250
2292
|
className: ["bg-gray-900 text-gray-300", c].filter(Boolean).join(" "),
|
|
2251
|
-
children: /* @__PURE__ */
|
|
2293
|
+
children: /* @__PURE__ */ d(S, { children: [/* @__PURE__ */ d("div", {
|
|
2252
2294
|
className: "max-w-7xl mx-auto px-4 py-12 grid grid-cols-1 md:grid-cols-2 gap-10 lg:gap-16",
|
|
2253
|
-
children: [/* @__PURE__ */
|
|
2295
|
+
children: [/* @__PURE__ */ d("div", {
|
|
2254
2296
|
className: "flex flex-col gap-6",
|
|
2255
2297
|
children: [
|
|
2256
|
-
/* @__PURE__ */
|
|
2298
|
+
/* @__PURE__ */ d("div", { children: [e ? /* @__PURE__ */ u("div", {
|
|
2257
2299
|
className: "mb-3",
|
|
2258
2300
|
children: e
|
|
2259
|
-
}) : /* @__PURE__ */
|
|
2301
|
+
}) : /* @__PURE__ */ u("span", {
|
|
2260
2302
|
className: "text-xl font-bold text-white tracking-tight mb-3 block",
|
|
2261
2303
|
children: "shopito"
|
|
2262
|
-
}), t && /* @__PURE__ */
|
|
2304
|
+
}), t && /* @__PURE__ */ u("p", {
|
|
2263
2305
|
className: "text-sm text-gray-400 max-w-xs",
|
|
2264
2306
|
children: t
|
|
2265
2307
|
})] }),
|
|
2266
|
-
r.length > 0 && /* @__PURE__ */
|
|
2308
|
+
r.length > 0 && /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h3", {
|
|
2267
2309
|
className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
|
|
2268
2310
|
children: n
|
|
2269
|
-
}), /* @__PURE__ */
|
|
2311
|
+
}), /* @__PURE__ */ u("ul", {
|
|
2270
2312
|
className: "space-y-3",
|
|
2271
2313
|
children: r.map((e, t) => {
|
|
2272
|
-
let n =
|
|
2314
|
+
let n = ot(e.icon), r = /* @__PURE__ */ d("div", {
|
|
2273
2315
|
className: "flex items-start gap-2.5",
|
|
2274
|
-
children: [n && /* @__PURE__ */
|
|
2316
|
+
children: [n && /* @__PURE__ */ u("span", {
|
|
2275
2317
|
className: "mt-0.5 text-primary-400",
|
|
2276
2318
|
children: n
|
|
2277
|
-
}), /* @__PURE__ */
|
|
2319
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
2278
2320
|
className: "text-xs text-gray-500 leading-none mb-0.5",
|
|
2279
2321
|
children: e.label
|
|
2280
|
-
}), /* @__PURE__ */
|
|
2322
|
+
}), /* @__PURE__ */ u("p", {
|
|
2281
2323
|
className: `text-sm text-gray-200 ${e.href ? "hover:text-white transition-colors" : ""}`,
|
|
2282
2324
|
children: e.value
|
|
2283
2325
|
})] })]
|
|
2284
2326
|
});
|
|
2285
|
-
return /* @__PURE__ */
|
|
2327
|
+
return /* @__PURE__ */ u("li", { children: e.href ? /* @__PURE__ */ u("a", {
|
|
2286
2328
|
href: e.href,
|
|
2287
2329
|
children: r
|
|
2288
2330
|
}) : r }, t);
|
|
2289
2331
|
})
|
|
2290
2332
|
})] }),
|
|
2291
|
-
a.length > 0 && /* @__PURE__ */
|
|
2333
|
+
a.length > 0 && /* @__PURE__ */ u("div", {
|
|
2292
2334
|
className: "flex gap-2 flex-wrap",
|
|
2293
|
-
children: a.map((e, t) => /* @__PURE__ */
|
|
2335
|
+
children: a.map((e, t) => /* @__PURE__ */ u("a", {
|
|
2294
2336
|
href: e.href,
|
|
2295
2337
|
"aria-label": e.label,
|
|
2296
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",
|
|
2297
|
-
children:
|
|
2339
|
+
children: st(e.icon)
|
|
2298
2340
|
}, t))
|
|
2299
2341
|
})
|
|
2300
2342
|
]
|
|
2301
|
-
}), i.length > 0 && /* @__PURE__ */
|
|
2343
|
+
}), i.length > 0 && /* @__PURE__ */ u("div", {
|
|
2302
2344
|
className: `grid gap-8 ${i.length === 1 ? "grid-cols-1" : i.length === 2 ? "grid-cols-2" : "grid-cols-2 sm:grid-cols-3"}`,
|
|
2303
|
-
children: i.map((e, t) => /* @__PURE__ */
|
|
2345
|
+
children: i.map((e, t) => /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h3", {
|
|
2304
2346
|
className: "text-xs font-semibold uppercase tracking-widest text-gray-500 mb-3",
|
|
2305
2347
|
children: e.heading
|
|
2306
|
-
}), /* @__PURE__ */
|
|
2348
|
+
}), /* @__PURE__ */ u("ul", {
|
|
2307
2349
|
className: "space-y-2",
|
|
2308
|
-
children: e.links.map((e, t) => /* @__PURE__ */
|
|
2350
|
+
children: e.links.map((e, t) => /* @__PURE__ */ u("li", { children: e.href ? /* @__PURE__ */ u("a", {
|
|
2309
2351
|
href: e.href,
|
|
2310
2352
|
className: "text-sm text-gray-400 hover:text-white transition-colors",
|
|
2311
2353
|
children: e.label
|
|
2312
|
-
}) : /* @__PURE__ */
|
|
2354
|
+
}) : /* @__PURE__ */ u("button", {
|
|
2313
2355
|
onClick: e.onClick,
|
|
2314
2356
|
className: "text-sm text-gray-400 hover:text-white transition-colors text-left",
|
|
2315
2357
|
children: e.label
|
|
2316
2358
|
}) }, t))
|
|
2317
2359
|
})] }, t))
|
|
2318
2360
|
})]
|
|
2319
|
-
}), /* @__PURE__ */
|
|
2361
|
+
}), /* @__PURE__ */ u("div", {
|
|
2320
2362
|
className: "border-t border-gray-800",
|
|
2321
|
-
children: /* @__PURE__ */
|
|
2363
|
+
children: /* @__PURE__ */ d("div", {
|
|
2322
2364
|
className: "max-w-7xl mx-auto px-4 py-4 flex flex-wrap items-center justify-between gap-3",
|
|
2323
|
-
children: [/* @__PURE__ */
|
|
2365
|
+
children: [/* @__PURE__ */ u("p", {
|
|
2324
2366
|
className: "text-xs text-gray-500",
|
|
2325
|
-
children: o ?? `© ${
|
|
2326
|
-
}), s.length > 0 && /* @__PURE__ */
|
|
2367
|
+
children: o ?? `© ${l} Shopito. Všechna práva vyhrazena.`
|
|
2368
|
+
}), s.length > 0 && /* @__PURE__ */ u("nav", {
|
|
2327
2369
|
className: "flex flex-wrap gap-4",
|
|
2328
|
-
children: s.map((e, t) => e.href ? /* @__PURE__ */
|
|
2370
|
+
children: s.map((e, t) => e.href ? /* @__PURE__ */ u("a", {
|
|
2329
2371
|
href: e.href,
|
|
2330
2372
|
className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
|
|
2331
2373
|
children: e.label
|
|
2332
|
-
}, t) : /* @__PURE__ */
|
|
2374
|
+
}, t) : /* @__PURE__ */ u("button", {
|
|
2333
2375
|
onClick: e.onClick,
|
|
2334
2376
|
className: "text-xs text-gray-500 hover:text-gray-300 transition-colors",
|
|
2335
2377
|
children: e.label
|
|
@@ -2340,6 +2382,6 @@ function at({ logo: e, tagline: t, contactHeading: n = "Kontakty", contacts: r =
|
|
|
2340
2382
|
});
|
|
2341
2383
|
}
|
|
2342
2384
|
//#endregion
|
|
2343
|
-
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 };
|
|
2344
2386
|
|
|
2345
2387
|
//# sourceMappingURL=index.js.map
|