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