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