@x-wave/blog 1.1.4 → 2.1.0
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/index.js +488 -501
- package/package.json +5 -1
- package/vite-config/blog-discovery.ts +160 -0
- package/vite-config/index.ts +17 -0
- package/vite-config/meta-tags.ts +184 -0
- package/vite-config/setup-ssg.ts +105 -0
- package/vite-config/static-gen-plugin.ts +98 -0
- package/vite-config/types.ts +32 -0
package/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { jsxs as d, jsx as e, Fragment as
|
|
1
|
+
import { jsxs as d, jsx as e, Fragment as U } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as E } from "react-i18next";
|
|
3
|
-
import { useLocation as Y, useNavigate as Q, Link as ue, useParams as be, Navigate as He, Routes as
|
|
4
|
-
import { CaretLeft as
|
|
5
|
-
import { useState as y, useEffect as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
3
|
+
import { useLocation as Y, useNavigate as Q, Link as ue, useParams as be, Navigate as He, Routes as Ye, Route as De } from "react-router-dom";
|
|
4
|
+
import { CaretLeft as Ve, CaretRight as ze, ArrowSquareOut as Je, User as Ze, CalendarBlank as et, X as ke, Tag as tt, MagnifyingGlass as Me, List as nt, Sun as Be, Moon as Ee, Monitor as Re, CaretDown as fe, Globe as at } from "@phosphor-icons/react";
|
|
5
|
+
import { useState as y, useEffect as P, createContext as ot, useContext as st, useRef as G } from "react";
|
|
6
|
+
import ct from "i18next";
|
|
7
|
+
import rt from "react-markdown";
|
|
8
|
+
import lt from "remark-gfm";
|
|
9
9
|
import { createPortal as Fe } from "react-dom";
|
|
10
|
-
const
|
|
11
|
-
tabContainer:
|
|
12
|
-
tab:
|
|
13
|
-
active:
|
|
10
|
+
const it = "_tabContainer_zk6h4_1", dt = "_tab_zk6h4_1", ut = "_active_zk6h4_45", ne = {
|
|
11
|
+
tabContainer: it,
|
|
12
|
+
tab: dt,
|
|
13
|
+
active: ut
|
|
14
14
|
};
|
|
15
|
-
function
|
|
15
|
+
function ht({ hasAdvanced: t }) {
|
|
16
16
|
const { t: n } = E(), o = Y(), a = Q();
|
|
17
17
|
if (!t) return null;
|
|
18
|
-
const c = new URLSearchParams(o.search).has("advanced"),
|
|
18
|
+
const c = new URLSearchParams(o.search).has("advanced"), i = () => {
|
|
19
19
|
if (c) {
|
|
20
20
|
const h = new URLSearchParams(o.search);
|
|
21
21
|
h.delete("advanced");
|
|
22
|
-
const u = h.toString(),
|
|
23
|
-
a(`${o.pathname}${
|
|
22
|
+
const u = h.toString(), l = u ? `?${u}` : "";
|
|
23
|
+
a(`${o.pathname}${l}${o.hash}`);
|
|
24
24
|
}
|
|
25
25
|
}, m = () => {
|
|
26
26
|
if (!c) {
|
|
@@ -34,7 +34,7 @@ function mt({ hasAdvanced: t }) {
|
|
|
34
34
|
{
|
|
35
35
|
type: "button",
|
|
36
36
|
className: `${ne.tab} ${c ? "" : ne.active}`,
|
|
37
|
-
onClick:
|
|
37
|
+
onClick: i,
|
|
38
38
|
children: n("ui.simple")
|
|
39
39
|
}
|
|
40
40
|
),
|
|
@@ -49,7 +49,7 @@ function mt({ hasAdvanced: t }) {
|
|
|
49
49
|
)
|
|
50
50
|
] });
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function mt({ children: t }) {
|
|
53
53
|
return /* @__PURE__ */ e("div", { className: "xw-blog-root", children: t });
|
|
54
54
|
}
|
|
55
55
|
function qe(t) {
|
|
@@ -57,11 +57,11 @@ function qe(t) {
|
|
|
57
57
|
const a = o.match(/^---\s*\n([\s\S]*?)\n---\s*\n/);
|
|
58
58
|
if (!a) return { frontmatter: {}, content: o };
|
|
59
59
|
const s = {}, c = a[1];
|
|
60
|
-
let
|
|
60
|
+
let i = "", m = !1;
|
|
61
61
|
const h = [];
|
|
62
|
-
for (const
|
|
62
|
+
for (const l of c.split(`
|
|
63
63
|
`)) {
|
|
64
|
-
const f =
|
|
64
|
+
const f = l.trim();
|
|
65
65
|
if (f.startsWith("-")) {
|
|
66
66
|
if (m) {
|
|
67
67
|
const g = f.substring(1).trim();
|
|
@@ -69,16 +69,16 @@ function qe(t) {
|
|
|
69
69
|
}
|
|
70
70
|
continue;
|
|
71
71
|
}
|
|
72
|
-
if (m && !f.startsWith("-") && (s[
|
|
72
|
+
if (m && !f.startsWith("-") && (s[i] = h.slice(), h.length = 0, m = !1), f != null && f.includes(":")) {
|
|
73
73
|
const [g, ...v] = f.split(":"), b = v.join(":").trim();
|
|
74
|
-
if (
|
|
74
|
+
if (i = g.trim(), !b) {
|
|
75
75
|
m = !0;
|
|
76
76
|
continue;
|
|
77
77
|
}
|
|
78
|
-
b === "true" ? s[
|
|
78
|
+
b === "true" ? s[i] = !0 : b === "false" ? s[i] = !1 : s[i] = b;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
m && h.length > 0 && (s[
|
|
81
|
+
m && h.length > 0 && (s[i] = h);
|
|
82
82
|
const u = o.replace(
|
|
83
83
|
/^---\s*\n[\s\S]*?\n---\s*\n/,
|
|
84
84
|
""
|
|
@@ -91,19 +91,19 @@ function qe(t) {
|
|
|
91
91
|
* Automatically loads the advanced variant if `advanced` is true.
|
|
92
92
|
*/
|
|
93
93
|
async loadMDXContent(o, a, s = !1) {
|
|
94
|
-
const c = s ? `${a}-advanced.mdx` : `${a}.mdx`,
|
|
95
|
-
if (!m) throw new Error(`File not found: ${
|
|
96
|
-
const h = await m(), { frontmatter: u, content:
|
|
97
|
-
return { content:
|
|
94
|
+
const c = s ? `${a}-advanced.mdx` : `${a}.mdx`, i = `./docs/${o}/${c}`, m = t[i];
|
|
95
|
+
if (!m) throw new Error(`File not found: ${i}`);
|
|
96
|
+
const h = await m(), { frontmatter: u, content: l } = n(h);
|
|
97
|
+
return { content: l, frontmatter: u };
|
|
98
98
|
},
|
|
99
99
|
/**
|
|
100
100
|
* Load English content for generating consistent heading IDs.
|
|
101
101
|
* All heading anchors are derived from English content for stability across translations.
|
|
102
102
|
*/
|
|
103
103
|
async loadEnglishContent(o, a = !1) {
|
|
104
|
-
const c = `./docs/en/${a ? `${o}-advanced.mdx` : `${o}.mdx`}`,
|
|
105
|
-
if (!
|
|
106
|
-
const m = await
|
|
104
|
+
const c = `./docs/en/${a ? `${o}-advanced.mdx` : `${o}.mdx`}`, i = t[c];
|
|
105
|
+
if (!i) throw new Error(`File not found: ${c}`);
|
|
106
|
+
const m = await i(), { content: h } = n(m);
|
|
107
107
|
return h;
|
|
108
108
|
},
|
|
109
109
|
/**
|
|
@@ -115,24 +115,24 @@ function qe(t) {
|
|
|
115
115
|
*/
|
|
116
116
|
async buildTagIndex(o = "en") {
|
|
117
117
|
const a = {}, s = `./docs/${o}/`, c = Object.keys(t).filter(
|
|
118
|
-
(
|
|
118
|
+
(i) => i.startsWith(s)
|
|
119
119
|
);
|
|
120
|
-
for (const
|
|
120
|
+
for (const i of c)
|
|
121
121
|
try {
|
|
122
|
-
const m = t[
|
|
122
|
+
const m = t[i], h = await m(), { frontmatter: u, content: l } = n(h), f = i.split("/").pop() || "", g = f.replace(".mdx", "").replace("-advanced", ""), v = typeof u.title == "string" ? u.title : void 0, b = l.match(/^#\s+(.+)$/m), r = v || (b ? b[1].trim() : g);
|
|
123
123
|
if (f.includes("-advanced")) continue;
|
|
124
124
|
const _ = u.tags;
|
|
125
125
|
if (_ && Array.isArray(_))
|
|
126
|
-
for (const
|
|
127
|
-
a[
|
|
126
|
+
for (const N of _)
|
|
127
|
+
a[N] || (a[N] = []), a[N].some((I) => I.slug === g) || a[N].push({ slug: g, title: r });
|
|
128
128
|
} catch (m) {
|
|
129
|
-
console.warn(`Failed to process ${
|
|
129
|
+
console.warn(`Failed to process ${i}:`, m);
|
|
130
130
|
}
|
|
131
131
|
return a;
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function Uo(t) {
|
|
136
136
|
const n = qe(t);
|
|
137
137
|
return {
|
|
138
138
|
mdxFiles: t,
|
|
@@ -140,14 +140,14 @@ function Go(t) {
|
|
|
140
140
|
loadEnglishContent: n.loadEnglishContent
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
const Ae = "app-theme",
|
|
143
|
+
const Ae = "app-theme", Ke = () => typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", Oe = (t) => t === "system" ? Ke() : t, Ue = (t) => {
|
|
144
144
|
const n = () => t || (typeof window > "u" ? "system" : localStorage.getItem(Ae) || "system"), [o, a] = y(n);
|
|
145
|
-
return
|
|
146
|
-
const c = Oe(o),
|
|
147
|
-
if (
|
|
145
|
+
return P(() => {
|
|
146
|
+
const c = Oe(o), i = document.querySelector(".xw-blog-root");
|
|
147
|
+
if (i && (i.classList.remove("light", "dark"), i.classList.add(c)), o === "system") {
|
|
148
148
|
const m = window.matchMedia("(prefers-color-scheme: dark)"), h = () => {
|
|
149
|
-
const u =
|
|
150
|
-
|
|
149
|
+
const u = Ke(), l = document.querySelector(".xw-blog-root");
|
|
150
|
+
l && (l.classList.remove("light", "dark"), l.classList.add(u));
|
|
151
151
|
};
|
|
152
152
|
return m.addEventListener("change", h), () => m.removeEventListener("change", h);
|
|
153
153
|
}
|
|
@@ -158,10 +158,10 @@ const Ae = "app-theme", Ue = () => typeof window > "u" ? "light" : window.matchM
|
|
|
158
158
|
},
|
|
159
159
|
effectiveTheme: Oe(o)
|
|
160
160
|
};
|
|
161
|
-
},
|
|
161
|
+
}, _t = (t) => "items" in t, se = (t) => "items" in t, he = async (t, n, o) => {
|
|
162
162
|
const a = [];
|
|
163
163
|
for (const s of t)
|
|
164
|
-
if (
|
|
164
|
+
if (_t(s)) {
|
|
165
165
|
const c = [];
|
|
166
166
|
for (const m of s.items)
|
|
167
167
|
try {
|
|
@@ -176,9 +176,9 @@ const Ae = "app-theme", Ue = () => typeof window > "u" ? "light" : window.matchM
|
|
|
176
176
|
title: m.slug
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
-
const
|
|
179
|
+
const i = ct.getFixedT(n)(s.title);
|
|
180
180
|
a.push({
|
|
181
|
-
title:
|
|
181
|
+
title: i,
|
|
182
182
|
items: c,
|
|
183
183
|
...s.defaultOpen !== void 0 && {
|
|
184
184
|
defaultOpen: s.defaultOpen
|
|
@@ -186,10 +186,10 @@ const Ae = "app-theme", Ue = () => typeof window > "u" ? "light" : window.matchM
|
|
|
186
186
|
});
|
|
187
187
|
} else
|
|
188
188
|
try {
|
|
189
|
-
const c = await o(n, s.slug, !1),
|
|
189
|
+
const c = await o(n, s.slug, !1), i = typeof c.frontmatter.title == "string" ? c.frontmatter.title : s.slug;
|
|
190
190
|
a.push({
|
|
191
191
|
...s,
|
|
192
|
-
title:
|
|
192
|
+
title: i
|
|
193
193
|
});
|
|
194
194
|
} catch {
|
|
195
195
|
a.push({
|
|
@@ -198,7 +198,7 @@ const Ae = "app-theme", Ue = () => typeof window > "u" ? "light" : window.matchM
|
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
return a;
|
|
201
|
-
}, ee = (t) => t.toString().toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, ""),
|
|
201
|
+
}, ee = (t) => t.toString().toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, ""), gt = (t, n) => {
|
|
202
202
|
const o = [];
|
|
203
203
|
for (const s of n)
|
|
204
204
|
se(s) ? o.push(...s.items) : o.push({ slug: s.slug, title: s.title });
|
|
@@ -209,60 +209,56 @@ const Ae = "app-theme", Ue = () => typeof window > "u" ? "light" : window.matchM
|
|
|
209
209
|
prev: a > 0 ? o[a - 1] : void 0,
|
|
210
210
|
next: a < o.length - 1 ? o[a + 1] : void 0
|
|
211
211
|
};
|
|
212
|
-
}, Ge =
|
|
213
|
-
function
|
|
212
|
+
}, Ge = ot(null);
|
|
213
|
+
function Go({
|
|
214
214
|
children: t,
|
|
215
215
|
config: n,
|
|
216
216
|
blog: o,
|
|
217
217
|
navigationData: a = []
|
|
218
218
|
}) {
|
|
219
|
-
|
|
219
|
+
Ue(n.defaultTheme);
|
|
220
220
|
const [s, c] = y({});
|
|
221
|
-
|
|
221
|
+
P(() => {
|
|
222
222
|
const { buildTagIndex: m } = qe(o.mdxFiles), h = n.supportedLanguages.map(async (u) => {
|
|
223
223
|
try {
|
|
224
|
-
const
|
|
225
|
-
return { language: u, index:
|
|
226
|
-
} catch (
|
|
227
|
-
return console.error(`Failed to build tag index for ${u}:`,
|
|
224
|
+
const l = await m(u);
|
|
225
|
+
return { language: u, index: l };
|
|
226
|
+
} catch (l) {
|
|
227
|
+
return console.error(`Failed to build tag index for ${u}:`, l), { language: u, index: {} };
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
Promise.all(h).then((u) => {
|
|
231
|
-
const
|
|
231
|
+
const l = {};
|
|
232
232
|
for (const f of u)
|
|
233
|
-
|
|
234
|
-
c(
|
|
233
|
+
l[f.language] = f.index;
|
|
234
|
+
c(l);
|
|
235
235
|
}).catch((u) => {
|
|
236
236
|
console.error("Failed to build tag indices:", u);
|
|
237
237
|
});
|
|
238
238
|
}, [o.mdxFiles, n.supportedLanguages]);
|
|
239
|
-
const
|
|
239
|
+
const i = { ...n, navigationData: a, tagIndex: s };
|
|
240
240
|
return /* @__PURE__ */ e(
|
|
241
241
|
Ge.Provider,
|
|
242
242
|
{
|
|
243
243
|
value: {
|
|
244
|
-
config:
|
|
244
|
+
config: i,
|
|
245
245
|
loadContent: o.loadContent,
|
|
246
246
|
loadEnglishContent: o.loadEnglishContent
|
|
247
247
|
},
|
|
248
|
-
children: /* @__PURE__ */ e(
|
|
248
|
+
children: /* @__PURE__ */ e(mt, { children: t })
|
|
249
249
|
}
|
|
250
250
|
);
|
|
251
251
|
}
|
|
252
252
|
function R() {
|
|
253
|
-
const t =
|
|
253
|
+
const t = st(Ge);
|
|
254
254
|
if (!t)
|
|
255
255
|
throw new Error("useBlogConfig must be used within a BlogProvider");
|
|
256
256
|
return t;
|
|
257
257
|
}
|
|
258
|
-
function
|
|
259
|
-
return
|
|
260
|
-
}
|
|
261
|
-
function ft(t, n, o) {
|
|
262
|
-
const a = o ? `${o}/` : "";
|
|
263
|
-
return Qe() ? `#${a}${n}/${t}` : `/${a}${n}/${t}`;
|
|
258
|
+
function pt(t, n, o) {
|
|
259
|
+
return `/${o ? `${o}/` : ""}${n}/${t}`;
|
|
264
260
|
}
|
|
265
|
-
function
|
|
261
|
+
function Qe(t) {
|
|
266
262
|
const n = {
|
|
267
263
|
advanced: !1,
|
|
268
264
|
anchor: ""
|
|
@@ -283,51 +279,42 @@ function je(t, n = 80) {
|
|
|
283
279
|
});
|
|
284
280
|
}
|
|
285
281
|
}
|
|
286
|
-
function
|
|
287
|
-
const o = new URL(window.location.href);
|
|
288
|
-
|
|
289
|
-
const a = o.hash.split("?"), s = a[0], c = new URLSearchParams(a[1] || "");
|
|
290
|
-
c.set("a", t), n && c.set("advanced", "");
|
|
291
|
-
const l = c.toString();
|
|
292
|
-
o.hash = l ? `${s}?${l}` : s;
|
|
293
|
-
} else {
|
|
294
|
-
const a = new URLSearchParams(o.search);
|
|
295
|
-
a.set("a", t), n && a.set("advanced", ""), o.search = `?${a.toString()}`;
|
|
296
|
-
}
|
|
297
|
-
window.history.pushState(null, "", o.toString());
|
|
282
|
+
function ft(t, n = !1) {
|
|
283
|
+
const o = new URL(window.location.href), a = new URLSearchParams(o.search);
|
|
284
|
+
a.set("a", t), n && a.set("advanced", ""), o.search = `?${a.toString()}`, window.history.pushState(null, "", o.toString());
|
|
298
285
|
}
|
|
299
|
-
function
|
|
286
|
+
function vt(t = "smooth") {
|
|
300
287
|
window.scrollTo({
|
|
301
288
|
top: 0,
|
|
302
289
|
left: 0,
|
|
303
290
|
behavior: t
|
|
304
291
|
});
|
|
305
292
|
}
|
|
306
|
-
const
|
|
307
|
-
articleNavigation:
|
|
308
|
-
navContainer:
|
|
293
|
+
const bt = "_articleNavigation_kz84g_1", kt = "_navContainer_kz84g_7", Nt = "_navLink_kz84g_24", wt = "_navLinkContent_kz84g_61", $t = "_navIcon_kz84g_76", Ct = "_navText_kz84g_83", It = "_navLabel_kz84g_90", xt = "_navTitle_kz84g_98", O = {
|
|
294
|
+
articleNavigation: bt,
|
|
295
|
+
navContainer: kt,
|
|
309
296
|
navLink: Nt,
|
|
310
|
-
navLinkContent:
|
|
311
|
-
navIcon:
|
|
312
|
-
navText:
|
|
313
|
-
navLabel:
|
|
314
|
-
navTitle:
|
|
297
|
+
navLinkContent: wt,
|
|
298
|
+
navIcon: $t,
|
|
299
|
+
navText: Ct,
|
|
300
|
+
navLabel: It,
|
|
301
|
+
navTitle: xt
|
|
315
302
|
};
|
|
316
|
-
function
|
|
303
|
+
function yt({
|
|
317
304
|
prevSlug: t,
|
|
318
305
|
prevTitle: n,
|
|
319
306
|
nextSlug: o,
|
|
320
307
|
nextTitle: a,
|
|
321
308
|
language: s
|
|
322
309
|
}) {
|
|
323
|
-
const { t: c } = E(), { config:
|
|
324
|
-
const b = `${
|
|
310
|
+
const { t: c } = E(), { config: i } = R(), m = Y(), u = Qe(m.search).advanced, l = i.basePath || "", f = (v) => {
|
|
311
|
+
const b = `${l}/${s}/${v}`;
|
|
325
312
|
return u ? `${b}?advanced=true` : b;
|
|
326
313
|
};
|
|
327
314
|
if (!t && !o)
|
|
328
315
|
return null;
|
|
329
316
|
const g = () => {
|
|
330
|
-
|
|
317
|
+
vt("auto");
|
|
331
318
|
};
|
|
332
319
|
return /* @__PURE__ */ e("nav", { className: O.articleNavigation, "aria-label": "Article navigation", children: /* @__PURE__ */ d("div", { className: O.navContainer, children: [
|
|
333
320
|
t ? /* @__PURE__ */ e(
|
|
@@ -337,7 +324,7 @@ function Tt({
|
|
|
337
324
|
className: O.navLink,
|
|
338
325
|
onClick: g,
|
|
339
326
|
children: /* @__PURE__ */ d("div", { className: O.navLinkContent, children: [
|
|
340
|
-
/* @__PURE__ */ e("div", { className: O.navIcon, children: /* @__PURE__ */ e(
|
|
327
|
+
/* @__PURE__ */ e("div", { className: O.navIcon, children: /* @__PURE__ */ e(Ve, { size: 20, weight: "bold" }) }),
|
|
341
328
|
/* @__PURE__ */ d("div", { className: O.navText, children: [
|
|
342
329
|
/* @__PURE__ */ e("span", { className: O.navLabel, children: c("nav.previous") }),
|
|
343
330
|
/* @__PURE__ */ e("span", { className: O.navTitle, children: n || t })
|
|
@@ -362,26 +349,26 @@ function Tt({
|
|
|
362
349
|
) : /* @__PURE__ */ e("div", {})
|
|
363
350
|
] }) });
|
|
364
351
|
}
|
|
365
|
-
const
|
|
366
|
-
blogSidebar:
|
|
367
|
-
section:
|
|
352
|
+
const Tt = "_blogSidebar_1ik3q_1", Lt = "_section_1ik3q_21", Pt = "_sectionTitle_1ik3q_28", St = "_linksList_1ik3q_36", Dt = "_link_1ik3q_36", ae = {
|
|
353
|
+
blogSidebar: Tt,
|
|
354
|
+
section: Lt,
|
|
368
355
|
sectionTitle: Pt,
|
|
369
|
-
linksList:
|
|
370
|
-
link:
|
|
356
|
+
linksList: St,
|
|
357
|
+
link: Dt
|
|
371
358
|
};
|
|
372
|
-
function
|
|
359
|
+
function Mt() {
|
|
373
360
|
const { t } = E(), { config: n } = R(), o = n.socialLinks || [];
|
|
374
361
|
return o.length === 0 ? null : /* @__PURE__ */ e("aside", { className: ae.blogSidebar, children: /* @__PURE__ */ d("div", { className: ae.section, children: [
|
|
375
362
|
/* @__PURE__ */ e("h3", { className: ae.sectionTitle, children: t("ui.connect") }),
|
|
376
363
|
/* @__PURE__ */ e("div", { className: ae.linksList, children: o.map((a, s) => {
|
|
377
|
-
const c = a.icon ||
|
|
364
|
+
const c = a.icon || Je, i = a.target === "_blank";
|
|
378
365
|
return /* @__PURE__ */ d(
|
|
379
366
|
"a",
|
|
380
367
|
{
|
|
381
368
|
href: a.url,
|
|
382
369
|
className: ae.link,
|
|
383
370
|
target: a.target || "_blank",
|
|
384
|
-
rel:
|
|
371
|
+
rel: i ? "noopener noreferrer" : void 0,
|
|
385
372
|
children: [
|
|
386
373
|
/* @__PURE__ */ e(c, { size: 18, weight: "duotone" }),
|
|
387
374
|
/* @__PURE__ */ e("span", { children: a.label })
|
|
@@ -392,18 +379,18 @@ function Bt() {
|
|
|
392
379
|
}) })
|
|
393
380
|
] }) });
|
|
394
381
|
}
|
|
395
|
-
const
|
|
396
|
-
breadcrumb:
|
|
397
|
-
breadcrumbList:
|
|
398
|
-
breadcrumbItem:
|
|
399
|
-
breadcrumbLink:
|
|
400
|
-
breadcrumbSeparator:
|
|
401
|
-
breadcrumbCurrent:
|
|
382
|
+
const Bt = "_breadcrumb_rarc4_1", Et = "_breadcrumbList_rarc4_5", Rt = "_breadcrumbItem_rarc4_15", At = "_breadcrumbLink_rarc4_21", Ot = "_breadcrumbSeparator_rarc4_41", jt = "_breadcrumbCurrent_rarc4_46", X = {
|
|
383
|
+
breadcrumb: Bt,
|
|
384
|
+
breadcrumbList: Et,
|
|
385
|
+
breadcrumbItem: Rt,
|
|
386
|
+
breadcrumbLink: At,
|
|
387
|
+
breadcrumbSeparator: Ot,
|
|
388
|
+
breadcrumbCurrent: jt
|
|
402
389
|
};
|
|
403
|
-
function
|
|
404
|
-
const { t: o } = E(), { config: a } = R(), s = Q(),
|
|
405
|
-
u.preventDefault(), window.scrollTo({ top: 0, left: 0, behavior: "auto" }), s(
|
|
406
|
-
}, h = (u,
|
|
390
|
+
function Wt({ articleTitle: t, language: n }) {
|
|
391
|
+
const { t: o } = E(), { config: a } = R(), s = Q(), i = `${a.basePath || ""}/${n}`, m = (u) => {
|
|
392
|
+
u.preventDefault(), window.scrollTo({ top: 0, left: 0, behavior: "auto" }), s(i);
|
|
393
|
+
}, h = (u, l = 60) => u.length <= l ? u : `${u.substring(0, l)}…`;
|
|
407
394
|
return /* @__PURE__ */ e("nav", { className: X.breadcrumb, "aria-label": "Breadcrumb", children: /* @__PURE__ */ d("ol", { className: X.breadcrumbList, children: [
|
|
408
395
|
/* @__PURE__ */ e("li", { className: X.breadcrumbItem, children: /* @__PURE__ */ e(
|
|
409
396
|
"button",
|
|
@@ -420,47 +407,47 @@ function Ht({ articleTitle: t, language: n }) {
|
|
|
420
407
|
] })
|
|
421
408
|
] }) });
|
|
422
409
|
}
|
|
423
|
-
const
|
|
424
|
-
metadata:
|
|
425
|
-
author:
|
|
426
|
-
date:
|
|
410
|
+
const Ht = "_metadata_bsge0_1", zt = "_author_bsge0_9", Ft = "_date_bsge0_10", pe = {
|
|
411
|
+
metadata: Ht,
|
|
412
|
+
author: zt,
|
|
413
|
+
date: Ft
|
|
427
414
|
};
|
|
428
415
|
function ve({ date: t, author: n }) {
|
|
429
416
|
const { t: o } = E();
|
|
430
417
|
return !t && !n ? null : /* @__PURE__ */ d("div", { className: pe.metadata, children: [
|
|
431
418
|
n && /* @__PURE__ */ d("span", { className: pe.author, children: [
|
|
432
|
-
/* @__PURE__ */ e(
|
|
419
|
+
/* @__PURE__ */ e(Ze, { size: 16, weight: "regular" }),
|
|
433
420
|
n
|
|
434
421
|
] }),
|
|
435
422
|
t && /* @__PURE__ */ d("span", { className: pe.date, children: [
|
|
436
|
-
/* @__PURE__ */ e(
|
|
423
|
+
/* @__PURE__ */ e(et, { size: 16, weight: "regular" }),
|
|
437
424
|
o("ui.lastEdited"),
|
|
438
425
|
": ",
|
|
439
426
|
t
|
|
440
427
|
] })
|
|
441
428
|
] });
|
|
442
429
|
}
|
|
443
|
-
const
|
|
444
|
-
tableOfContents:
|
|
430
|
+
const qt = "_tableOfContents_9ofak_1", Kt = "_header_9ofak_21", Ut = "_title_9ofak_25", Gt = "_nav_9ofak_34", Qt = "_list_9ofak_40", Xt = "_link_9ofak_47", Yt = "_active_9ofak_71", Vt = "_level1_9ofak_87", Jt = "_level2_9ofak_93", Zt = "_level3_9ofak_98", en = "_level4_9ofak_104", tn = "_level5_9ofak_110", nn = "_level6_9ofak_116", F = {
|
|
431
|
+
tableOfContents: qt,
|
|
445
432
|
header: Kt,
|
|
446
|
-
title:
|
|
447
|
-
nav:
|
|
448
|
-
list:
|
|
449
|
-
link:
|
|
450
|
-
active:
|
|
451
|
-
level1:
|
|
452
|
-
level2:
|
|
453
|
-
level3:
|
|
454
|
-
level4:
|
|
455
|
-
level5:
|
|
456
|
-
level6:
|
|
433
|
+
title: Ut,
|
|
434
|
+
nav: Gt,
|
|
435
|
+
list: Qt,
|
|
436
|
+
link: Xt,
|
|
437
|
+
active: Yt,
|
|
438
|
+
level1: Vt,
|
|
439
|
+
level2: Jt,
|
|
440
|
+
level3: Zt,
|
|
441
|
+
level4: en,
|
|
442
|
+
level5: tn,
|
|
443
|
+
level6: nn
|
|
457
444
|
};
|
|
458
|
-
function
|
|
445
|
+
function an({
|
|
459
446
|
content: t,
|
|
460
447
|
englishContent: n
|
|
461
448
|
}) {
|
|
462
|
-
const { t: o } = E(), a = Y(), s = Q(), [c,
|
|
463
|
-
|
|
449
|
+
const { t: o } = E(), a = Y(), s = Q(), [c, i] = y([]), [m, h] = y(""), u = G(null);
|
|
450
|
+
P(() => {
|
|
464
451
|
h(""), (() => {
|
|
465
452
|
const g = /^(#{1,6})\s+(.+)$/gm, v = [];
|
|
466
453
|
let b = g.exec(t);
|
|
@@ -470,19 +457,19 @@ function on({
|
|
|
470
457
|
r.push({ level: D, text: z }), b = g.exec(t);
|
|
471
458
|
}
|
|
472
459
|
const _ = /^(#{1,6})\s+(.+)$/gm;
|
|
473
|
-
let
|
|
474
|
-
for (;
|
|
475
|
-
const D =
|
|
460
|
+
let N = _.exec(n), I = 0;
|
|
461
|
+
for (; N !== null && I < r.length; ) {
|
|
462
|
+
const D = N[2].trim(), z = ee(D);
|
|
476
463
|
v.push({
|
|
477
464
|
id: z,
|
|
478
465
|
text: r[I].text,
|
|
479
466
|
// Use localized text for display
|
|
480
467
|
level: r[I].level
|
|
481
|
-
}), I++,
|
|
468
|
+
}), I++, N = _.exec(n);
|
|
482
469
|
}
|
|
483
|
-
|
|
470
|
+
i(v);
|
|
484
471
|
})();
|
|
485
|
-
}, [t, n]),
|
|
472
|
+
}, [t, n]), P(() => {
|
|
486
473
|
if (c.length === 0) return;
|
|
487
474
|
const f = setTimeout(() => {
|
|
488
475
|
const g = c.filter(
|
|
@@ -491,7 +478,7 @@ function on({
|
|
|
491
478
|
g.length > 0 && console.warn("Some heading elements not found:", g);
|
|
492
479
|
}, 100);
|
|
493
480
|
return () => clearTimeout(f);
|
|
494
|
-
}, [c]),
|
|
481
|
+
}, [c]), P(() => {
|
|
495
482
|
if (c.length === 0) return;
|
|
496
483
|
u.current && u.current.disconnect();
|
|
497
484
|
const f = setTimeout(() => {
|
|
@@ -500,7 +487,7 @@ function on({
|
|
|
500
487
|
(v) => {
|
|
501
488
|
const b = v.filter((r) => r.isIntersecting);
|
|
502
489
|
if (b.length > 0) {
|
|
503
|
-
const r = b.reduce((_,
|
|
490
|
+
const r = b.reduce((_, N) => _.boundingClientRect.top < N.boundingClientRect.top ? _ : N);
|
|
504
491
|
h(r.target.id);
|
|
505
492
|
}
|
|
506
493
|
},
|
|
@@ -515,10 +502,10 @@ function on({
|
|
|
515
502
|
return () => {
|
|
516
503
|
clearTimeout(f), u.current && u.current.disconnect();
|
|
517
504
|
};
|
|
518
|
-
}, [c]),
|
|
505
|
+
}, [c]), P(() => () => {
|
|
519
506
|
u.current && u.current.disconnect();
|
|
520
507
|
}, []);
|
|
521
|
-
const
|
|
508
|
+
const l = (f) => {
|
|
522
509
|
const g = document.getElementById(f);
|
|
523
510
|
if (g) {
|
|
524
511
|
const v = new URLSearchParams(a.search);
|
|
@@ -541,35 +528,35 @@ function on({
|
|
|
541
528
|
"button",
|
|
542
529
|
{
|
|
543
530
|
className: `${F.link} ${F[`level${f.level}`]} ${m === f.id ? F.active : ""}`,
|
|
544
|
-
onClick: () =>
|
|
531
|
+
onClick: () => l(f.id),
|
|
545
532
|
type: "button",
|
|
546
533
|
children: f.text
|
|
547
534
|
}
|
|
548
535
|
) }, f.id)) }) })
|
|
549
536
|
] });
|
|
550
537
|
}
|
|
551
|
-
const
|
|
552
|
-
overlay:
|
|
553
|
-
modal:
|
|
554
|
-
header:
|
|
555
|
-
title:
|
|
556
|
-
closeButton:
|
|
557
|
-
results:
|
|
558
|
-
resultsList:
|
|
559
|
-
resultItem:
|
|
560
|
-
resultTitle:
|
|
561
|
-
resultSlug:
|
|
562
|
-
noResults:
|
|
538
|
+
const on = "_overlay_1e1d4_1", sn = "_modal_1e1d4_26", cn = "_header_1e1d4_50", rn = "_title_1e1d4_58", ln = "_closeButton_1e1d4_65", dn = "_results_1e1d4_86", un = "_resultsList_1e1d4_94", hn = "_resultItem_1e1d4_100", mn = "_resultTitle_1e1d4_119", _n = "_resultSlug_1e1d4_124", gn = "_noResults_1e1d4_130", H = {
|
|
539
|
+
overlay: on,
|
|
540
|
+
modal: sn,
|
|
541
|
+
header: cn,
|
|
542
|
+
title: rn,
|
|
543
|
+
closeButton: ln,
|
|
544
|
+
results: dn,
|
|
545
|
+
resultsList: un,
|
|
546
|
+
resultItem: hn,
|
|
547
|
+
resultTitle: mn,
|
|
548
|
+
resultSlug: _n,
|
|
549
|
+
noResults: gn
|
|
563
550
|
};
|
|
564
|
-
function
|
|
551
|
+
function pn({
|
|
565
552
|
tag: t,
|
|
566
553
|
results: n,
|
|
567
554
|
language: o,
|
|
568
555
|
onClose: a
|
|
569
556
|
}) {
|
|
570
|
-
const { t: s } = E(), { config: c } = R(),
|
|
557
|
+
const { t: s } = E(), { config: c } = R(), i = Q(), m = (h) => {
|
|
571
558
|
const u = c.basePath || "";
|
|
572
|
-
|
|
559
|
+
i(`${u}/${o}/${h}`), a();
|
|
573
560
|
};
|
|
574
561
|
return Fe(
|
|
575
562
|
/* @__PURE__ */ e("div", { className: H.overlay, onClick: a, children: /* @__PURE__ */ d("div", { className: H.modal, onClick: (h) => h.stopPropagation(), children: [
|
|
@@ -609,15 +596,15 @@ function fn({
|
|
|
609
596
|
document.body
|
|
610
597
|
);
|
|
611
598
|
}
|
|
612
|
-
const
|
|
613
|
-
tags:
|
|
614
|
-
compact:
|
|
615
|
-
tagLabel:
|
|
616
|
-
tagIcon:
|
|
599
|
+
const fn = "_tags_11t8a_1", vn = "_compact_11t8a_9", bn = "_tagLabel_11t8a_15", kn = "_tagIcon_11t8a_25", Nn = "_tagList_11t8a_30", wn = "_tag_11t8a_1", Z = {
|
|
600
|
+
tags: fn,
|
|
601
|
+
compact: vn,
|
|
602
|
+
tagLabel: bn,
|
|
603
|
+
tagIcon: kn,
|
|
617
604
|
tagList: Nn,
|
|
618
|
-
tag:
|
|
605
|
+
tag: wn
|
|
619
606
|
};
|
|
620
|
-
function
|
|
607
|
+
function $n({ tags: t, variant: n = "default", onTagClick: o }) {
|
|
621
608
|
const { t: a } = E();
|
|
622
609
|
if (!t || t.length === 0) return null;
|
|
623
610
|
const s = (c) => {
|
|
@@ -629,7 +616,7 @@ function Cn({ tags: t, variant: n = "default", onTagClick: o }) {
|
|
|
629
616
|
className: `${Z.tags} ${n === "compact" ? Z.compact : ""}`,
|
|
630
617
|
children: [
|
|
631
618
|
n === "default" && /* @__PURE__ */ d("div", { className: Z.tagLabel, children: [
|
|
632
|
-
/* @__PURE__ */ e(
|
|
619
|
+
/* @__PURE__ */ e(tt, { className: Z.tagIcon, weight: "duotone" }),
|
|
633
620
|
/* @__PURE__ */ d("span", { children: [
|
|
634
621
|
a("ui.tags"),
|
|
635
622
|
":"
|
|
@@ -650,18 +637,18 @@ function Cn({ tags: t, variant: n = "default", onTagClick: o }) {
|
|
|
650
637
|
}
|
|
651
638
|
);
|
|
652
639
|
}
|
|
653
|
-
const
|
|
654
|
-
contentPage:
|
|
655
|
-
loadingContainer:
|
|
656
|
-
errorContainer:
|
|
657
|
-
skeletonTitle:
|
|
658
|
-
skeletonParagraph:
|
|
659
|
-
skeletonParagraphShort:
|
|
640
|
+
const Cn = "_contentPage_818m0_1", In = "_loadingContainer_818m0_48", xn = "_errorContainer_818m0_49", yn = "_skeletonTitle_818m0_71", Tn = "_skeletonParagraph_818m0_80", Ln = "_skeletonParagraphShort_818m0_93", Pn = "_errorText_818m0_107", Sn = "_mdxContent_818m0_112", Dn = "_withMetadata_818m0_125", Mn = "_codeBlock_818m0_300", Bn = "_codeLanguage_818m0_304", B = {
|
|
641
|
+
contentPage: Cn,
|
|
642
|
+
loadingContainer: In,
|
|
643
|
+
errorContainer: xn,
|
|
644
|
+
skeletonTitle: yn,
|
|
645
|
+
skeletonParagraph: Tn,
|
|
646
|
+
skeletonParagraphShort: Ln,
|
|
660
647
|
errorText: Pn,
|
|
661
|
-
mdxContent:
|
|
662
|
-
withMetadata:
|
|
663
|
-
codeBlock:
|
|
664
|
-
codeLanguage:
|
|
648
|
+
mdxContent: Sn,
|
|
649
|
+
withMetadata: Dn,
|
|
650
|
+
codeBlock: Mn,
|
|
651
|
+
codeLanguage: Bn
|
|
665
652
|
}, We = (t) => {
|
|
666
653
|
const n = t.match(/^\s*#\s+(.+)\s*(?:\n+|$)/);
|
|
667
654
|
return n ? {
|
|
@@ -669,34 +656,34 @@ const In = "_contentPage_818m0_1", xn = "_loadingContainer_818m0_48", yn = "_err
|
|
|
669
656
|
content: t.replace(/^\s*#\s+.+\s*(?:\n+|$)/, "")
|
|
670
657
|
} : { title: void 0, content: t };
|
|
671
658
|
};
|
|
672
|
-
function
|
|
659
|
+
function En({ language: t }) {
|
|
673
660
|
var Ie, xe, ye, Te, Le;
|
|
674
|
-
const { slug: n } = be(), o = Y(), { config: a, loadContent: s, loadEnglishContent: c } = R(), [
|
|
675
|
-
if (
|
|
661
|
+
const { slug: n } = be(), o = Y(), { config: a, loadContent: s, loadEnglishContent: c } = R(), [i, m] = y(""), [h, u] = y(""), [l, f] = y({}), [g, v] = y(!0), [b, r] = y(null), [_, N] = y(!0), [I, D] = y(null), [z, k] = y(""), [$, A] = y({}), W = G(0), q = G([]), ce = Qe(o.search), V = ce.advanced;
|
|
662
|
+
if (P(() => {
|
|
676
663
|
(async () => {
|
|
677
664
|
if (!n) return;
|
|
678
665
|
v(!0), r(null), W.current = 0;
|
|
679
666
|
const x = (a == null ? void 0 : a.navigationData) || [];
|
|
680
|
-
let
|
|
681
|
-
for (const
|
|
682
|
-
if ("items" in
|
|
683
|
-
const T =
|
|
667
|
+
let S = !0;
|
|
668
|
+
for (const w of x)
|
|
669
|
+
if ("items" in w) {
|
|
670
|
+
const T = w.items.find((J) => J.slug === n);
|
|
684
671
|
if (T) {
|
|
685
|
-
|
|
672
|
+
S = T.showTableOfContents !== !1;
|
|
686
673
|
break;
|
|
687
674
|
}
|
|
688
|
-
} else if (
|
|
689
|
-
|
|
675
|
+
} else if (w.slug === n) {
|
|
676
|
+
S = w.showTableOfContents !== !1;
|
|
690
677
|
break;
|
|
691
678
|
}
|
|
692
|
-
|
|
679
|
+
N(S);
|
|
693
680
|
try {
|
|
694
|
-
let
|
|
681
|
+
let w;
|
|
695
682
|
try {
|
|
696
|
-
|
|
683
|
+
w = await s(t, n, V);
|
|
697
684
|
} catch {
|
|
698
685
|
if (V)
|
|
699
|
-
|
|
686
|
+
w = await s(t, n, !1);
|
|
700
687
|
else
|
|
701
688
|
throw new Error("Content not found");
|
|
702
689
|
}
|
|
@@ -706,24 +693,24 @@ function Rn({ language: t }) {
|
|
|
706
693
|
} catch {
|
|
707
694
|
V && (T = await c(n, !1));
|
|
708
695
|
}
|
|
709
|
-
const J = typeof
|
|
710
|
-
let le =
|
|
696
|
+
const J = typeof w.frontmatter.title == "string" ? w.frontmatter.title : void 0;
|
|
697
|
+
let le = w.content, ie = T, _e = "";
|
|
711
698
|
if (J) {
|
|
712
|
-
const de = We(T),
|
|
713
|
-
_e = de.title || "", ie = de.content, le =
|
|
699
|
+
const de = We(T), Xe = We(w.content);
|
|
700
|
+
_e = de.title || "", ie = de.content, le = Xe.content;
|
|
714
701
|
} else
|
|
715
702
|
_e = "";
|
|
716
|
-
const
|
|
717
|
-
let ge =
|
|
703
|
+
const Pe = /^(#{1,6})\s+(.+)$/gm, Se = [];
|
|
704
|
+
let ge = Pe.exec(
|
|
718
705
|
ie
|
|
719
706
|
);
|
|
720
707
|
for (; ge !== null; ) {
|
|
721
708
|
const de = ge[2].trim();
|
|
722
|
-
|
|
709
|
+
Se.push(de), ge = Pe.exec(ie);
|
|
723
710
|
}
|
|
724
|
-
q.current =
|
|
725
|
-
} catch (
|
|
726
|
-
r(
|
|
711
|
+
q.current = Se, k(_e), u(ie), m(le), f(w.frontmatter);
|
|
712
|
+
} catch (w) {
|
|
713
|
+
r(w instanceof Error ? w.message : "Failed to load content");
|
|
727
714
|
} finally {
|
|
728
715
|
v(!1);
|
|
729
716
|
}
|
|
@@ -735,14 +722,14 @@ function Rn({ language: t }) {
|
|
|
735
722
|
a.navigationData,
|
|
736
723
|
s,
|
|
737
724
|
c
|
|
738
|
-
]),
|
|
725
|
+
]), P(() => {
|
|
739
726
|
if (!g && ce.anchor) {
|
|
740
727
|
const p = setTimeout(() => {
|
|
741
728
|
je(ce.anchor);
|
|
742
729
|
}, 150);
|
|
743
730
|
return () => clearTimeout(p);
|
|
744
731
|
}
|
|
745
|
-
}, [g, ce.anchor]),
|
|
732
|
+
}, [g, ce.anchor]), P(() => {
|
|
746
733
|
(async () => {
|
|
747
734
|
if (!n || !a.showArticleNavigation || !a.navigationData) {
|
|
748
735
|
A({});
|
|
@@ -753,8 +740,8 @@ function Rn({ language: t }) {
|
|
|
753
740
|
a.navigationData,
|
|
754
741
|
t,
|
|
755
742
|
s
|
|
756
|
-
),
|
|
757
|
-
A(
|
|
743
|
+
), S = gt(n, x);
|
|
744
|
+
A(S);
|
|
758
745
|
} catch (x) {
|
|
759
746
|
console.error("Failed to calculate adjacent articles:", x), A({});
|
|
760
747
|
}
|
|
@@ -777,17 +764,17 @@ function Rn({ language: t }) {
|
|
|
777
764
|
"Error: ",
|
|
778
765
|
b
|
|
779
766
|
] }) }) });
|
|
780
|
-
const re = typeof
|
|
767
|
+
const re = typeof l.title == "string" && l.title.trim().length > 0, me = re ? ee(z || l.title) : "", $e = !!(l.date || l.author);
|
|
781
768
|
W.current = 0;
|
|
782
769
|
let Ce = !1;
|
|
783
770
|
const te = (p, x) => {
|
|
784
|
-
p.preventDefault(), je(x),
|
|
771
|
+
p.preventDefault(), je(x), ft(x, V);
|
|
785
772
|
};
|
|
786
|
-
return /* @__PURE__ */ d(
|
|
773
|
+
return /* @__PURE__ */ d(U, { children: [
|
|
787
774
|
/* @__PURE__ */ d("div", { className: B.contentPage, children: [
|
|
788
|
-
/* @__PURE__ */ e(
|
|
789
|
-
re && /* @__PURE__ */ d(
|
|
790
|
-
/* @__PURE__ */ e(
|
|
775
|
+
/* @__PURE__ */ e(ht, { hasAdvanced: l.hasAdvanced || !1 }),
|
|
776
|
+
re && /* @__PURE__ */ d(U, { children: [
|
|
777
|
+
/* @__PURE__ */ e(Wt, { articleTitle: l.title, language: t }),
|
|
791
778
|
/* @__PURE__ */ e(
|
|
792
779
|
"h1",
|
|
793
780
|
{
|
|
@@ -799,33 +786,33 @@ function Rn({ language: t }) {
|
|
|
799
786
|
href: `#${me}`,
|
|
800
787
|
onClick: (p) => te(p, me),
|
|
801
788
|
style: { color: "inherit", textDecoration: "none" },
|
|
802
|
-
children:
|
|
789
|
+
children: l.title
|
|
803
790
|
}
|
|
804
791
|
)
|
|
805
792
|
}
|
|
806
793
|
),
|
|
807
|
-
$e && /* @__PURE__ */ e(ve, { date:
|
|
794
|
+
$e && /* @__PURE__ */ e(ve, { date: l.date, author: l.author })
|
|
808
795
|
] }),
|
|
809
796
|
/* @__PURE__ */ e("div", { className: B.mdxContent, children: /* @__PURE__ */ e(
|
|
810
|
-
|
|
797
|
+
rt,
|
|
811
798
|
{
|
|
812
|
-
remarkPlugins: [
|
|
799
|
+
remarkPlugins: [lt],
|
|
813
800
|
components: {
|
|
814
801
|
h1: ({ children: p }) => {
|
|
815
|
-
const x = W.current++,
|
|
802
|
+
const x = W.current++, S = q.current[x] || "", w = ee(S), T = !Ce;
|
|
816
803
|
Ce = !0;
|
|
817
|
-
const J =
|
|
818
|
-
return /* @__PURE__ */ d(
|
|
804
|
+
const J = l.date || l.author;
|
|
805
|
+
return /* @__PURE__ */ d(U, { children: [
|
|
819
806
|
/* @__PURE__ */ e(
|
|
820
807
|
"h1",
|
|
821
808
|
{
|
|
822
|
-
id:
|
|
809
|
+
id: w,
|
|
823
810
|
className: T && J && !re ? B.withMetadata : void 0,
|
|
824
811
|
children: /* @__PURE__ */ e(
|
|
825
812
|
"a",
|
|
826
813
|
{
|
|
827
|
-
href: `#${
|
|
828
|
-
onClick: (le) => te(le,
|
|
814
|
+
href: `#${w}`,
|
|
815
|
+
onClick: (le) => te(le, w),
|
|
829
816
|
style: { color: "inherit", textDecoration: "none" },
|
|
830
817
|
children: p
|
|
831
818
|
}
|
|
@@ -835,43 +822,43 @@ function Rn({ language: t }) {
|
|
|
835
822
|
T && J && !re && /* @__PURE__ */ e(
|
|
836
823
|
ve,
|
|
837
824
|
{
|
|
838
|
-
date:
|
|
839
|
-
author:
|
|
825
|
+
date: l.date,
|
|
826
|
+
author: l.author
|
|
840
827
|
}
|
|
841
828
|
)
|
|
842
829
|
] });
|
|
843
830
|
},
|
|
844
831
|
h2: ({ children: p }) => {
|
|
845
|
-
const x = W.current++,
|
|
846
|
-
return /* @__PURE__ */ e("h2", { id:
|
|
832
|
+
const x = W.current++, S = q.current[x] || "", w = ee(S);
|
|
833
|
+
return /* @__PURE__ */ e("h2", { id: w, children: /* @__PURE__ */ e(
|
|
847
834
|
"a",
|
|
848
835
|
{
|
|
849
|
-
href: `#${
|
|
850
|
-
onClick: (T) => te(T,
|
|
836
|
+
href: `#${w}`,
|
|
837
|
+
onClick: (T) => te(T, w),
|
|
851
838
|
style: { color: "inherit", textDecoration: "none" },
|
|
852
839
|
children: p
|
|
853
840
|
}
|
|
854
841
|
) });
|
|
855
842
|
},
|
|
856
843
|
h3: ({ children: p }) => {
|
|
857
|
-
const x = W.current++,
|
|
858
|
-
return /* @__PURE__ */ e("h3", { id:
|
|
844
|
+
const x = W.current++, S = q.current[x] || "", w = ee(S);
|
|
845
|
+
return /* @__PURE__ */ e("h3", { id: w, children: /* @__PURE__ */ e(
|
|
859
846
|
"a",
|
|
860
847
|
{
|
|
861
|
-
href: `#${
|
|
862
|
-
onClick: (T) => te(T,
|
|
848
|
+
href: `#${w}`,
|
|
849
|
+
onClick: (T) => te(T, w),
|
|
863
850
|
style: { color: "inherit", textDecoration: "none" },
|
|
864
851
|
children: p
|
|
865
852
|
}
|
|
866
853
|
) });
|
|
867
854
|
},
|
|
868
855
|
h4: ({ children: p }) => {
|
|
869
|
-
const x = W.current++,
|
|
870
|
-
return /* @__PURE__ */ e("h4", { id:
|
|
856
|
+
const x = W.current++, S = q.current[x] || "", w = ee(S);
|
|
857
|
+
return /* @__PURE__ */ e("h4", { id: w, children: /* @__PURE__ */ e(
|
|
871
858
|
"a",
|
|
872
859
|
{
|
|
873
|
-
href: `#${
|
|
874
|
-
onClick: (T) => te(T,
|
|
860
|
+
href: `#${w}`,
|
|
861
|
+
onClick: (T) => te(T, w),
|
|
875
862
|
style: { color: "inherit", textDecoration: "none" },
|
|
876
863
|
children: p
|
|
877
864
|
}
|
|
@@ -889,26 +876,26 @@ function Rn({ language: t }) {
|
|
|
889
876
|
ul: ({ children: p }) => /* @__PURE__ */ e("ul", { children: p }),
|
|
890
877
|
ol: ({ children: p }) => /* @__PURE__ */ e("ol", { children: p }),
|
|
891
878
|
li: ({ children: p }) => /* @__PURE__ */ e("li", { children: p }),
|
|
892
|
-
code: ({ className: p, children: x, ...
|
|
879
|
+
code: ({ className: p, children: x, ...S }) => {
|
|
893
880
|
if (!p)
|
|
894
|
-
return /* @__PURE__ */ e("code", { ...
|
|
881
|
+
return /* @__PURE__ */ e("code", { ...S, children: x });
|
|
895
882
|
const T = (p == null ? void 0 : p.replace("language-", "")) || "";
|
|
896
883
|
return /* @__PURE__ */ d("div", { className: B.codeBlock, children: [
|
|
897
884
|
T && /* @__PURE__ */ e("div", { className: B.codeLanguage, children: T }),
|
|
898
|
-
/* @__PURE__ */ e("pre", { children: /* @__PURE__ */ e("code", { className: p, ...
|
|
885
|
+
/* @__PURE__ */ e("pre", { children: /* @__PURE__ */ e("code", { className: p, ...S, children: x }) })
|
|
899
886
|
] });
|
|
900
887
|
},
|
|
901
|
-
pre: ({ children: p }) => /* @__PURE__ */ e(
|
|
888
|
+
pre: ({ children: p }) => /* @__PURE__ */ e(U, { children: p }),
|
|
902
889
|
// Let code component handle pre styling
|
|
903
890
|
blockquote: ({ children: p }) => /* @__PURE__ */ e("blockquote", { children: p }),
|
|
904
|
-
a: ({ href: p, children: x, ...
|
|
891
|
+
a: ({ href: p, children: x, ...S }) => {
|
|
905
892
|
if (p != null && p.startsWith("./")) {
|
|
906
|
-
const
|
|
907
|
-
|
|
893
|
+
const w = p.slice(2), T = pt(
|
|
894
|
+
w,
|
|
908
895
|
t,
|
|
909
896
|
a.basePath
|
|
910
897
|
);
|
|
911
|
-
return /* @__PURE__ */ e("a", { href: T, ...
|
|
898
|
+
return /* @__PURE__ */ e("a", { href: T, ...S, children: x });
|
|
912
899
|
}
|
|
913
900
|
return p != null && p.startsWith("http://") || p != null && p.startsWith("https://") ? /* @__PURE__ */ e(
|
|
914
901
|
"a",
|
|
@@ -916,28 +903,28 @@ function Rn({ language: t }) {
|
|
|
916
903
|
href: p,
|
|
917
904
|
target: "_blank",
|
|
918
905
|
rel: "noopener noreferrer",
|
|
919
|
-
...
|
|
906
|
+
...S,
|
|
920
907
|
children: x
|
|
921
908
|
}
|
|
922
|
-
) : /* @__PURE__ */ e("a", { href: p, ...
|
|
909
|
+
) : /* @__PURE__ */ e("a", { href: p, ...S, children: x });
|
|
923
910
|
},
|
|
924
911
|
strong: ({ children: p }) => /* @__PURE__ */ e("strong", { children: p }),
|
|
925
912
|
em: ({ children: p }) => /* @__PURE__ */ e("em", { children: p })
|
|
926
913
|
},
|
|
927
|
-
children:
|
|
914
|
+
children: i
|
|
928
915
|
}
|
|
929
916
|
) }),
|
|
930
917
|
a.articleCTA && /* @__PURE__ */ e("div", { children: a.articleCTA }),
|
|
931
|
-
|
|
932
|
-
|
|
918
|
+
l.tags && l.tags.length > 0 && /* @__PURE__ */ e(
|
|
919
|
+
$n,
|
|
933
920
|
{
|
|
934
|
-
tags:
|
|
921
|
+
tags: l.tags,
|
|
935
922
|
variant: "compact",
|
|
936
923
|
onTagClick: (p) => D(p)
|
|
937
924
|
}
|
|
938
925
|
),
|
|
939
926
|
a.showArticleNavigation && /* @__PURE__ */ e(
|
|
940
|
-
|
|
927
|
+
yt,
|
|
941
928
|
{
|
|
942
929
|
prevSlug: (Ie = $.prev) == null ? void 0 : Ie.slug,
|
|
943
930
|
prevTitle: (xe = $.prev) == null ? void 0 : xe.title,
|
|
@@ -947,9 +934,9 @@ function Rn({ language: t }) {
|
|
|
947
934
|
}
|
|
948
935
|
)
|
|
949
936
|
] }),
|
|
950
|
-
_ && /* @__PURE__ */ e(
|
|
937
|
+
_ && /* @__PURE__ */ e(an, { content: i, englishContent: h }),
|
|
951
938
|
I && ((Le = a.tagIndex) == null ? void 0 : Le[t]) && /* @__PURE__ */ e(
|
|
952
|
-
|
|
939
|
+
pn,
|
|
953
940
|
{
|
|
954
941
|
tag: I,
|
|
955
942
|
results: a.tagIndex[t][I] || [],
|
|
@@ -959,29 +946,29 @@ function Rn({ language: t }) {
|
|
|
959
946
|
)
|
|
960
947
|
] });
|
|
961
948
|
}
|
|
962
|
-
const
|
|
963
|
-
searchButton:
|
|
964
|
-
searchIcon:
|
|
965
|
-
searchHint:
|
|
966
|
-
kbd:
|
|
967
|
-
searchOverlay:
|
|
968
|
-
searchModal:
|
|
969
|
-
searchHeader:
|
|
970
|
-
searchInput:
|
|
971
|
-
closeButton:
|
|
949
|
+
const Rn = "_searchButton_1k9sl_1", An = "_searchIcon_1k9sl_17", On = "_searchHint_1k9sl_23", jn = "_kbd_1k9sl_27", Wn = "_searchOverlay_1k9sl_42", Hn = "_searchModal_1k9sl_67", zn = "_searchHeader_1k9sl_91", Fn = "_searchInput_1k9sl_105", qn = "_closeButton_1k9sl_123", Kn = "_searchResults_1k9sl_144", Un = "_resultsList_1k9sl_152", Gn = "_resultItem_1k9sl_158", Qn = "_selected_1k9sl_173", Xn = "_resultTitle_1k9sl_176", Yn = "_resultSlug_1k9sl_180", Vn = "_noResults_1k9sl_186", Jn = "_searchHints_1k9sl_193", Zn = "_hint_1k9sl_210", L = {
|
|
950
|
+
searchButton: Rn,
|
|
951
|
+
searchIcon: An,
|
|
952
|
+
searchHint: On,
|
|
953
|
+
kbd: jn,
|
|
954
|
+
searchOverlay: Wn,
|
|
955
|
+
searchModal: Hn,
|
|
956
|
+
searchHeader: zn,
|
|
957
|
+
searchInput: Fn,
|
|
958
|
+
closeButton: qn,
|
|
972
959
|
searchResults: Kn,
|
|
973
|
-
resultsList:
|
|
974
|
-
resultItem:
|
|
975
|
-
selected:
|
|
976
|
-
resultTitle:
|
|
977
|
-
resultSlug:
|
|
978
|
-
noResults:
|
|
979
|
-
searchHints:
|
|
980
|
-
hint:
|
|
960
|
+
resultsList: Un,
|
|
961
|
+
resultItem: Gn,
|
|
962
|
+
selected: Qn,
|
|
963
|
+
resultTitle: Xn,
|
|
964
|
+
resultSlug: Yn,
|
|
965
|
+
noResults: Vn,
|
|
966
|
+
searchHints: Jn,
|
|
967
|
+
hint: Zn
|
|
981
968
|
};
|
|
982
|
-
function
|
|
983
|
-
const { t: n } = E(), o = Q(), { config: a, loadContent: s } = R(), [c,
|
|
984
|
-
|
|
969
|
+
function ea({ language: t }) {
|
|
970
|
+
const { t: n } = E(), o = Q(), { config: a, loadContent: s } = R(), [c, i] = y(!1), [m, h] = y(""), [u, l] = y([]), [f, g] = y(0), [v, b] = y([]), r = G(null), _ = G(null), I = typeof navigator < "u" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) ? "⌘K" : "Ctrl+K";
|
|
971
|
+
P(() => {
|
|
985
972
|
(async () => {
|
|
986
973
|
if (a.navigationData)
|
|
987
974
|
try {
|
|
@@ -998,31 +985,31 @@ function ta({ language: t }) {
|
|
|
998
985
|
console.error("Failed to build search index:", $);
|
|
999
986
|
}
|
|
1000
987
|
})();
|
|
1001
|
-
}, [a.navigationData, t, s]),
|
|
988
|
+
}, [a.navigationData, t, s]), P(() => {
|
|
1002
989
|
if (!m.trim()) {
|
|
1003
|
-
|
|
990
|
+
l([]), g(0);
|
|
1004
991
|
return;
|
|
1005
992
|
}
|
|
1006
993
|
const k = m.toLowerCase(), $ = v.filter(
|
|
1007
994
|
(A) => A.title.toLowerCase().includes(k) || A.slug.toLowerCase().includes(k)
|
|
1008
995
|
);
|
|
1009
|
-
|
|
1010
|
-
}, [m]),
|
|
996
|
+
l($), g(0);
|
|
997
|
+
}, [m]), P(() => {
|
|
1011
998
|
const k = ($) => {
|
|
1012
|
-
($.metaKey || $.ctrlKey) && $.key === "k" && ($.preventDefault(),
|
|
999
|
+
($.metaKey || $.ctrlKey) && $.key === "k" && ($.preventDefault(), i(!0), setTimeout(() => {
|
|
1013
1000
|
var A;
|
|
1014
1001
|
return (A = r.current) == null ? void 0 : A.focus();
|
|
1015
|
-
}, 100)), $.key === "Escape" && c && (
|
|
1002
|
+
}, 100)), $.key === "Escape" && c && (i(!1), h(""));
|
|
1016
1003
|
};
|
|
1017
1004
|
return document.addEventListener("keydown", k), () => document.removeEventListener("keydown", k);
|
|
1018
|
-
}, [c]),
|
|
1005
|
+
}, [c]), P(() => {
|
|
1019
1006
|
const k = () => {
|
|
1020
|
-
|
|
1007
|
+
i(!0), setTimeout(() => {
|
|
1021
1008
|
var A;
|
|
1022
1009
|
return (A = r.current) == null ? void 0 : A.focus();
|
|
1023
1010
|
}, 100);
|
|
1024
1011
|
}, $ = () => {
|
|
1025
|
-
|
|
1012
|
+
i(!1), h("");
|
|
1026
1013
|
};
|
|
1027
1014
|
return window.addEventListener("blog:open-search", k), window.addEventListener("blog:close-search", $), () => {
|
|
1028
1015
|
window.removeEventListener("blog:open-search", k), window.removeEventListener("blog:close-search", $);
|
|
@@ -1031,24 +1018,24 @@ function ta({ language: t }) {
|
|
|
1031
1018
|
const D = (k) => {
|
|
1032
1019
|
k.key === "ArrowDown" ? (k.preventDefault(), g(($) => Math.min($ + 1, u.length - 1))) : k.key === "ArrowUp" ? (k.preventDefault(), g(($) => Math.max($ - 1, 0))) : k.key === "Enter" && u[f] && (k.preventDefault(), z(u[f].slug));
|
|
1033
1020
|
};
|
|
1034
|
-
|
|
1021
|
+
P(() => {
|
|
1035
1022
|
const k = ($) => {
|
|
1036
|
-
_.current && !_.current.contains($.target) && (
|
|
1023
|
+
_.current && !_.current.contains($.target) && (i(!1), h(""));
|
|
1037
1024
|
};
|
|
1038
1025
|
return c && document.addEventListener("mousedown", k), () => document.removeEventListener("mousedown", k);
|
|
1039
1026
|
}, [c]);
|
|
1040
1027
|
const z = (k) => {
|
|
1041
1028
|
const $ = a.basePath || "";
|
|
1042
|
-
o(`${$}/${t}/${k}`),
|
|
1029
|
+
o(`${$}/${t}/${k}`), i(!1), h("");
|
|
1043
1030
|
};
|
|
1044
|
-
return /* @__PURE__ */ d(
|
|
1031
|
+
return /* @__PURE__ */ d(U, { children: [
|
|
1045
1032
|
/* @__PURE__ */ d(
|
|
1046
1033
|
"button",
|
|
1047
1034
|
{
|
|
1048
1035
|
type: "button",
|
|
1049
1036
|
className: L.searchButton,
|
|
1050
1037
|
onClick: () => {
|
|
1051
|
-
|
|
1038
|
+
i(!0), setTimeout(() => {
|
|
1052
1039
|
var k;
|
|
1053
1040
|
return (k = r.current) == null ? void 0 : k.focus();
|
|
1054
1041
|
}, 100);
|
|
@@ -1067,7 +1054,7 @@ function ta({ language: t }) {
|
|
|
1067
1054
|
{
|
|
1068
1055
|
className: L.searchOverlay,
|
|
1069
1056
|
onClick: () => {
|
|
1070
|
-
|
|
1057
|
+
i(!1), h("");
|
|
1071
1058
|
},
|
|
1072
1059
|
children: /* @__PURE__ */ d(
|
|
1073
1060
|
"div",
|
|
@@ -1096,7 +1083,7 @@ function ta({ language: t }) {
|
|
|
1096
1083
|
type: "button",
|
|
1097
1084
|
className: L.closeButton,
|
|
1098
1085
|
onClick: () => {
|
|
1099
|
-
|
|
1086
|
+
i(!1), h("");
|
|
1100
1087
|
},
|
|
1101
1088
|
"aria-label": "Close search",
|
|
1102
1089
|
children: /* @__PURE__ */ e(ke, {})
|
|
@@ -1143,32 +1130,32 @@ function ta({ language: t }) {
|
|
|
1143
1130
|
)
|
|
1144
1131
|
] });
|
|
1145
1132
|
}
|
|
1146
|
-
const
|
|
1147
|
-
header:
|
|
1148
|
-
container:
|
|
1149
|
-
content:
|
|
1150
|
-
leftSection:
|
|
1151
|
-
mobileMenuButton:
|
|
1152
|
-
burgerIcon:
|
|
1153
|
-
logo:
|
|
1154
|
-
nav:
|
|
1155
|
-
navLink:
|
|
1156
|
-
externalIcon:
|
|
1157
|
-
supportDropdown:
|
|
1158
|
-
themeDropdown:
|
|
1159
|
-
themeButton:
|
|
1160
|
-
themeIcon:
|
|
1161
|
-
supportButton:
|
|
1162
|
-
caretIcon:
|
|
1163
|
-
dropdownMenu:
|
|
1164
|
-
dropdownItem:
|
|
1165
|
-
dropdownIcon:
|
|
1133
|
+
const ta = "_header_jrobc_1", na = "_container_jrobc_24", aa = "_content_jrobc_36", oa = "_leftSection_jrobc_43", sa = "_mobileMenuButton_jrobc_49", ca = "_burgerIcon_jrobc_87", ra = "_logo_jrobc_92", la = "_nav_jrobc_98", ia = "_navLink_jrobc_109", da = "_externalIcon_jrobc_135", ua = "_supportDropdown_jrobc_141", ha = "_themeDropdown_jrobc_145", ma = "_themeButton_jrobc_149", _a = "_themeIcon_jrobc_171", ga = "_supportButton_jrobc_177", pa = "_caretIcon_jrobc_198", fa = "_dropdownMenu_jrobc_208", va = "_dropdownItem_jrobc_221", ba = "_dropdownIcon_jrobc_244", C = {
|
|
1134
|
+
header: ta,
|
|
1135
|
+
container: na,
|
|
1136
|
+
content: aa,
|
|
1137
|
+
leftSection: oa,
|
|
1138
|
+
mobileMenuButton: sa,
|
|
1139
|
+
burgerIcon: ca,
|
|
1140
|
+
logo: ra,
|
|
1141
|
+
nav: la,
|
|
1142
|
+
navLink: ia,
|
|
1143
|
+
externalIcon: da,
|
|
1144
|
+
supportDropdown: ua,
|
|
1145
|
+
themeDropdown: ha,
|
|
1146
|
+
themeButton: ma,
|
|
1147
|
+
themeIcon: _a,
|
|
1148
|
+
supportButton: ga,
|
|
1149
|
+
caretIcon: pa,
|
|
1150
|
+
dropdownMenu: fa,
|
|
1151
|
+
dropdownItem: va,
|
|
1152
|
+
dropdownIcon: ba
|
|
1166
1153
|
};
|
|
1167
|
-
function
|
|
1168
|
-
const { t: n, i18n: o } = E(), { config: a } = R(), s = a.header ?? {}, c = s.navLinks ?? [],
|
|
1169
|
-
return
|
|
1154
|
+
function ka({ onMobileMenuToggle: t }) {
|
|
1155
|
+
const { t: n, i18n: o } = E(), { config: a } = R(), s = a.header ?? {}, c = s.navLinks ?? [], i = s.dropdownItems ?? [], [m, h] = y(!1), [u, l] = y(!1), { theme: f, setTheme: g } = Ue(), v = G(null), b = G(null);
|
|
1156
|
+
return P(() => {
|
|
1170
1157
|
const r = (_) => {
|
|
1171
|
-
v.current && !v.current.contains(_.target) && h(!1), b.current && !b.current.contains(_.target) &&
|
|
1158
|
+
v.current && !v.current.contains(_.target) && h(!1), b.current && !b.current.contains(_.target) && l(!1);
|
|
1172
1159
|
};
|
|
1173
1160
|
return document.addEventListener("mousedown", r), () => document.removeEventListener("mousedown", r);
|
|
1174
1161
|
}, []), /* @__PURE__ */ e("header", { className: C.header, children: /* @__PURE__ */ e("div", { className: C.container, children: /* @__PURE__ */ d("div", { className: C.content, children: [
|
|
@@ -1180,20 +1167,20 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1180
1167
|
className: C.mobileMenuButton,
|
|
1181
1168
|
onClick: t,
|
|
1182
1169
|
"aria-label": "Open menu",
|
|
1183
|
-
children: /* @__PURE__ */ e(
|
|
1170
|
+
children: /* @__PURE__ */ e(nt, { className: C.burgerIcon })
|
|
1184
1171
|
}
|
|
1185
1172
|
),
|
|
1186
1173
|
/* @__PURE__ */ e("div", { className: C.logo })
|
|
1187
1174
|
] }),
|
|
1188
1175
|
/* @__PURE__ */ d("nav", { className: C.nav, children: [
|
|
1189
|
-
/* @__PURE__ */ e(
|
|
1176
|
+
/* @__PURE__ */ e(ea, { language: o.language }),
|
|
1190
1177
|
/* @__PURE__ */ d("div", { className: C.themeDropdown, ref: b, children: [
|
|
1191
1178
|
/* @__PURE__ */ d(
|
|
1192
1179
|
"button",
|
|
1193
1180
|
{
|
|
1194
1181
|
type: "button",
|
|
1195
1182
|
className: C.themeButton,
|
|
1196
|
-
onClick: () =>
|
|
1183
|
+
onClick: () => l(!u),
|
|
1197
1184
|
"aria-expanded": u,
|
|
1198
1185
|
"aria-haspopup": "true",
|
|
1199
1186
|
"aria-label": n("ui.theme"),
|
|
@@ -1211,7 +1198,7 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1211
1198
|
{
|
|
1212
1199
|
type: "button",
|
|
1213
1200
|
onClick: () => {
|
|
1214
|
-
g("light"),
|
|
1201
|
+
g("light"), l(!1);
|
|
1215
1202
|
},
|
|
1216
1203
|
className: C.dropdownItem,
|
|
1217
1204
|
children: [
|
|
@@ -1225,7 +1212,7 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1225
1212
|
{
|
|
1226
1213
|
type: "button",
|
|
1227
1214
|
onClick: () => {
|
|
1228
|
-
g("dark"),
|
|
1215
|
+
g("dark"), l(!1);
|
|
1229
1216
|
},
|
|
1230
1217
|
className: C.dropdownItem,
|
|
1231
1218
|
children: [
|
|
@@ -1239,7 +1226,7 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1239
1226
|
{
|
|
1240
1227
|
type: "button",
|
|
1241
1228
|
onClick: () => {
|
|
1242
|
-
g("system"),
|
|
1229
|
+
g("system"), l(!1);
|
|
1243
1230
|
},
|
|
1244
1231
|
className: C.dropdownItem,
|
|
1245
1232
|
children: [
|
|
@@ -1250,7 +1237,7 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1250
1237
|
)
|
|
1251
1238
|
] })
|
|
1252
1239
|
] }),
|
|
1253
|
-
|
|
1240
|
+
i.length > 0 && /* @__PURE__ */ d("div", { className: C.supportDropdown, ref: v, children: [
|
|
1254
1241
|
/* @__PURE__ */ d(
|
|
1255
1242
|
"button",
|
|
1256
1243
|
{
|
|
@@ -1265,13 +1252,13 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1265
1252
|
]
|
|
1266
1253
|
}
|
|
1267
1254
|
),
|
|
1268
|
-
m && /* @__PURE__ */ e("div", { className: C.dropdownMenu, children:
|
|
1269
|
-
const
|
|
1255
|
+
m && /* @__PURE__ */ e("div", { className: C.dropdownMenu, children: i.map((r, _) => {
|
|
1256
|
+
const N = r.target ?? (r.url.startsWith("http") ? "_blank" : "_self"), I = r.rel ?? (N === "_blank" ? "noopener noreferrer" : void 0), D = r.icon;
|
|
1270
1257
|
return /* @__PURE__ */ d(
|
|
1271
1258
|
"a",
|
|
1272
1259
|
{
|
|
1273
1260
|
href: r.url,
|
|
1274
|
-
target:
|
|
1261
|
+
target: N,
|
|
1275
1262
|
rel: I,
|
|
1276
1263
|
className: C.dropdownItem,
|
|
1277
1264
|
children: [
|
|
@@ -1284,12 +1271,12 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1284
1271
|
}) })
|
|
1285
1272
|
] }),
|
|
1286
1273
|
c.map((r, _) => {
|
|
1287
|
-
const
|
|
1274
|
+
const N = r.target ?? (typeof r.url == "string" && r.url.startsWith("http") ? "_blank" : "_self"), I = r.rel ?? (N === "_blank" ? "noopener noreferrer" : void 0), D = r.icon;
|
|
1288
1275
|
return /* @__PURE__ */ d(
|
|
1289
1276
|
"a",
|
|
1290
1277
|
{
|
|
1291
1278
|
href: r.url,
|
|
1292
|
-
target:
|
|
1279
|
+
target: N,
|
|
1293
1280
|
rel: I,
|
|
1294
1281
|
className: r.className ?? C.navLink,
|
|
1295
1282
|
children: [
|
|
@@ -1303,21 +1290,21 @@ function wa({ onMobileMenuToggle: t }) {
|
|
|
1303
1290
|
] })
|
|
1304
1291
|
] }) }) });
|
|
1305
1292
|
}
|
|
1306
|
-
function
|
|
1293
|
+
function Ne({
|
|
1307
1294
|
styles: t,
|
|
1308
1295
|
onLanguageChange: n
|
|
1309
1296
|
}) {
|
|
1310
|
-
const { i18n: o } = E(), a = Y(), s = Q(), { config: c } = R(), [
|
|
1297
|
+
const { i18n: o } = E(), a = Y(), s = Q(), { config: c } = R(), [i, m] = y(!1), h = G(null), u = o.language, l = (g) => {
|
|
1311
1298
|
const v = c.basePath || "";
|
|
1312
1299
|
let b = a.pathname;
|
|
1313
1300
|
v && b.startsWith(v) && (b = b.slice(v.length));
|
|
1314
1301
|
const r = b.split("/").filter(Boolean), _ = r[0];
|
|
1315
|
-
let
|
|
1316
|
-
c.supportedLanguages.includes(_) ? (r[0] = g,
|
|
1317
|
-
const I =
|
|
1302
|
+
let N = "";
|
|
1303
|
+
c.supportedLanguages.includes(_) ? (r[0] = g, N = `${v}/${r.join("/")}`) : N = `${v}/${g}${b}`;
|
|
1304
|
+
const I = N + a.search + a.hash;
|
|
1318
1305
|
o.changeLanguage(g), s(I), m(!1), n == null || n();
|
|
1319
1306
|
};
|
|
1320
|
-
|
|
1307
|
+
P(() => {
|
|
1321
1308
|
const g = (v) => {
|
|
1322
1309
|
h.current && !h.current.contains(v.target) && m(!1);
|
|
1323
1310
|
};
|
|
@@ -1330,22 +1317,22 @@ function we({
|
|
|
1330
1317
|
{
|
|
1331
1318
|
type: "button",
|
|
1332
1319
|
className: t.languageButton,
|
|
1333
|
-
onClick: () => m(!
|
|
1334
|
-
"aria-expanded":
|
|
1320
|
+
onClick: () => m(!i),
|
|
1321
|
+
"aria-expanded": i,
|
|
1335
1322
|
"aria-haspopup": "listbox",
|
|
1336
1323
|
children: [
|
|
1337
|
-
/* @__PURE__ */ e(
|
|
1324
|
+
/* @__PURE__ */ e(at, { className: t.icon }),
|
|
1338
1325
|
f(u),
|
|
1339
1326
|
/* @__PURE__ */ e(fe, { className: t.chevron })
|
|
1340
1327
|
]
|
|
1341
1328
|
}
|
|
1342
1329
|
),
|
|
1343
|
-
|
|
1330
|
+
i && /* @__PURE__ */ e("div", { className: t.languageDropdown, role: "listbox", children: c.supportedLanguages.map((g) => /* @__PURE__ */ e(
|
|
1344
1331
|
"button",
|
|
1345
1332
|
{
|
|
1346
1333
|
type: "button",
|
|
1347
1334
|
className: `${t.languageOption} ${g === u ? t.selected : ""}`,
|
|
1348
|
-
onClick: () =>
|
|
1335
|
+
onClick: () => l(g),
|
|
1349
1336
|
role: "option",
|
|
1350
1337
|
"aria-selected": g === u,
|
|
1351
1338
|
children: f(g)
|
|
@@ -1354,19 +1341,19 @@ function we({
|
|
|
1354
1341
|
)) })
|
|
1355
1342
|
] });
|
|
1356
1343
|
}
|
|
1357
|
-
function
|
|
1358
|
-
const { i18n: o } = E(), a = Y(), { config: s, loadContent: c } = R(), [
|
|
1359
|
-
|
|
1344
|
+
function we({ styles: t, onLinkClick: n }) {
|
|
1345
|
+
const { i18n: o } = E(), a = Y(), { config: s, loadContent: c } = R(), [i, m] = y([]), [h, u] = y({}), l = o.language;
|
|
1346
|
+
P(() => {
|
|
1360
1347
|
(async () => {
|
|
1361
1348
|
if (s.navigationData)
|
|
1362
1349
|
try {
|
|
1363
1350
|
const _ = await he(
|
|
1364
1351
|
s.navigationData,
|
|
1365
|
-
|
|
1352
|
+
l,
|
|
1366
1353
|
c
|
|
1367
1354
|
);
|
|
1368
1355
|
m(_);
|
|
1369
|
-
const
|
|
1356
|
+
const N = _.reduce(
|
|
1370
1357
|
(I, D, z) => {
|
|
1371
1358
|
if (se(D)) {
|
|
1372
1359
|
const k = s.navigationData[z], $ = "items" in k && k.defaultOpen === !0;
|
|
@@ -1376,12 +1363,12 @@ function Ne({ styles: t, onLinkClick: n }) {
|
|
|
1376
1363
|
},
|
|
1377
1364
|
{}
|
|
1378
1365
|
);
|
|
1379
|
-
u(
|
|
1366
|
+
u(N);
|
|
1380
1367
|
} catch (_) {
|
|
1381
1368
|
console.error("Failed to load navigation data:", _);
|
|
1382
1369
|
}
|
|
1383
1370
|
})();
|
|
1384
|
-
}, [
|
|
1371
|
+
}, [l, s.navigationData, c]);
|
|
1385
1372
|
const f = (r) => {
|
|
1386
1373
|
u((_) => ({
|
|
1387
1374
|
..._,
|
|
@@ -1389,20 +1376,20 @@ function Ne({ styles: t, onLinkClick: n }) {
|
|
|
1389
1376
|
}));
|
|
1390
1377
|
}, g = (r) => {
|
|
1391
1378
|
const _ = s.basePath || "";
|
|
1392
|
-
let
|
|
1393
|
-
_ &&
|
|
1394
|
-
const I =
|
|
1379
|
+
let N = a.pathname;
|
|
1380
|
+
_ && N.startsWith(_) && (N = N.slice(_.length));
|
|
1381
|
+
const I = N.split("/").filter(Boolean);
|
|
1395
1382
|
return I[I.length - 1] === r;
|
|
1396
1383
|
}, v = (r) => {
|
|
1397
1384
|
const _ = s.basePath || "";
|
|
1398
|
-
let
|
|
1399
|
-
_ &&
|
|
1400
|
-
const I =
|
|
1401
|
-
return I[0] && s.supportedLanguages.includes(I[0]) ? `${_}/${I[0]}/${r}` : `${_}/${
|
|
1385
|
+
let N = a.pathname;
|
|
1386
|
+
_ && N.startsWith(_) && (N = N.slice(_.length));
|
|
1387
|
+
const I = N.split("/").filter(Boolean);
|
|
1388
|
+
return I[0] && s.supportedLanguages.includes(I[0]) ? `${_}/${I[0]}/${r}` : `${_}/${l}/${r}`;
|
|
1402
1389
|
}, b = () => {
|
|
1403
1390
|
n == null || n();
|
|
1404
1391
|
};
|
|
1405
|
-
return /* @__PURE__ */ e("div", { className: t.navigation, children:
|
|
1392
|
+
return /* @__PURE__ */ e("div", { className: t.navigation, children: i.map((r) => se(r) ? /* @__PURE__ */ d("div", { className: t.section, children: [
|
|
1406
1393
|
/* @__PURE__ */ d(
|
|
1407
1394
|
"button",
|
|
1408
1395
|
{
|
|
@@ -1436,55 +1423,55 @@ function Ne({ styles: t, onLinkClick: n }) {
|
|
|
1436
1423
|
r.slug
|
|
1437
1424
|
)) });
|
|
1438
1425
|
}
|
|
1439
|
-
function
|
|
1426
|
+
function Qo({
|
|
1440
1427
|
styles: t,
|
|
1441
1428
|
onLinkClick: n,
|
|
1442
1429
|
onLanguageChange: o
|
|
1443
1430
|
}) {
|
|
1444
|
-
return /* @__PURE__ */ d(
|
|
1445
|
-
/* @__PURE__ */ e(
|
|
1446
|
-
/* @__PURE__ */ e(
|
|
1431
|
+
return /* @__PURE__ */ d(U, { children: [
|
|
1432
|
+
/* @__PURE__ */ e(Ne, { styles: t, onLanguageChange: o }),
|
|
1433
|
+
/* @__PURE__ */ e(we, { styles: t, onLinkClick: n })
|
|
1447
1434
|
] });
|
|
1448
1435
|
}
|
|
1449
|
-
const Na = "_backdrop_1a7pu_1",
|
|
1436
|
+
const Na = "_backdrop_1a7pu_1", wa = "_open_1a7pu_13", $a = "_mobileMenu_1a7pu_18", Ca = "_header_1a7pu_37", Ia = "_brand_1a7pu_46", xa = "_cloudIcon_1a7pu_53", ya = "_title_1a7pu_62", Ta = "_closeButton_1a7pu_69", La = "_closeIcon_1a7pu_101", Pa = "_languageSection_1a7pu_106", Sa = "_languageSelect_1a7pu_112", Da = "_languageButton_1a7pu_117", Ma = "_icon_1a7pu_156", Ba = "_chevron_1a7pu_162", Ea = "_languageDropdown_1a7pu_172", Ra = "_languageOption_1a7pu_185", Aa = "_selected_1a7pu_226", Oa = "_scrollArea_1a7pu_231", ja = "_navigation_1a7pu_237", Wa = "_section_1a7pu_241", Ha = "_sectionButton_1a7pu_245", za = "_expanded_1a7pu_285", Fa = "_sectionItems_1a7pu_289", qa = "_navItem_1a7pu_297", Ka = "_active_1a7pu_310", Ua = "_navItemContent_1a7pu_316", Ga = "_navItemTitle_1a7pu_322", j = {
|
|
1450
1437
|
backdrop: Na,
|
|
1451
|
-
open:
|
|
1452
|
-
mobileMenu:
|
|
1453
|
-
header:
|
|
1454
|
-
brand:
|
|
1455
|
-
cloudIcon:
|
|
1456
|
-
title:
|
|
1457
|
-
closeButton:
|
|
1458
|
-
closeIcon:
|
|
1438
|
+
open: wa,
|
|
1439
|
+
mobileMenu: $a,
|
|
1440
|
+
header: Ca,
|
|
1441
|
+
brand: Ia,
|
|
1442
|
+
cloudIcon: xa,
|
|
1443
|
+
title: ya,
|
|
1444
|
+
closeButton: Ta,
|
|
1445
|
+
closeIcon: La,
|
|
1459
1446
|
languageSection: Pa,
|
|
1460
|
-
languageSelect:
|
|
1461
|
-
languageButton:
|
|
1462
|
-
icon:
|
|
1463
|
-
chevron:
|
|
1464
|
-
languageDropdown:
|
|
1465
|
-
languageOption:
|
|
1466
|
-
selected:
|
|
1467
|
-
scrollArea:
|
|
1468
|
-
navigation:
|
|
1469
|
-
section:
|
|
1470
|
-
sectionButton:
|
|
1471
|
-
expanded:
|
|
1472
|
-
sectionItems:
|
|
1473
|
-
navItem:
|
|
1447
|
+
languageSelect: Sa,
|
|
1448
|
+
languageButton: Da,
|
|
1449
|
+
icon: Ma,
|
|
1450
|
+
chevron: Ba,
|
|
1451
|
+
languageDropdown: Ea,
|
|
1452
|
+
languageOption: Ra,
|
|
1453
|
+
selected: Aa,
|
|
1454
|
+
scrollArea: Oa,
|
|
1455
|
+
navigation: ja,
|
|
1456
|
+
section: Wa,
|
|
1457
|
+
sectionButton: Ha,
|
|
1458
|
+
expanded: za,
|
|
1459
|
+
sectionItems: Fa,
|
|
1460
|
+
navItem: qa,
|
|
1474
1461
|
active: Ka,
|
|
1475
|
-
navItemContent:
|
|
1476
|
-
navItemTitle:
|
|
1462
|
+
navItemContent: Ua,
|
|
1463
|
+
navItemTitle: Ga
|
|
1477
1464
|
};
|
|
1478
|
-
function
|
|
1465
|
+
function Qa({ isOpen: t, onClose: n }) {
|
|
1479
1466
|
const { config: o } = R(), a = o.logo;
|
|
1480
|
-
return
|
|
1467
|
+
return P(() => (t ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
|
|
1481
1468
|
document.body.style.overflow = "unset";
|
|
1482
|
-
}), [t]),
|
|
1469
|
+
}), [t]), P(() => {
|
|
1483
1470
|
const s = (c) => {
|
|
1484
1471
|
c.key === "Escape" && t && n();
|
|
1485
1472
|
};
|
|
1486
1473
|
return document.addEventListener("keydown", s), () => document.removeEventListener("keydown", s);
|
|
1487
|
-
}, [t, n]), /* @__PURE__ */ d(
|
|
1474
|
+
}, [t, n]), /* @__PURE__ */ d(U, { children: [
|
|
1488
1475
|
/* @__PURE__ */ e(
|
|
1489
1476
|
"div",
|
|
1490
1477
|
{
|
|
@@ -1509,99 +1496,99 @@ function Xa({ isOpen: t, onClose: n }) {
|
|
|
1509
1496
|
}
|
|
1510
1497
|
)
|
|
1511
1498
|
] }),
|
|
1512
|
-
/* @__PURE__ */ e("div", { className: j.languageSection, children: /* @__PURE__ */ e(
|
|
1513
|
-
/* @__PURE__ */ e("div", { className: j.scrollArea, children: /* @__PURE__ */ e(
|
|
1499
|
+
/* @__PURE__ */ e("div", { className: j.languageSection, children: /* @__PURE__ */ e(Ne, { styles: j, onLanguageChange: n }) }),
|
|
1500
|
+
/* @__PURE__ */ e("div", { className: j.scrollArea, children: /* @__PURE__ */ e(we, { styles: j, onLinkClick: n }) })
|
|
1514
1501
|
] })
|
|
1515
1502
|
] });
|
|
1516
1503
|
}
|
|
1517
|
-
const
|
|
1518
|
-
sidebar:
|
|
1519
|
-
header:
|
|
1520
|
-
brand:
|
|
1521
|
-
cloudIcon:
|
|
1522
|
-
title:
|
|
1523
|
-
languageSelect:
|
|
1524
|
-
languageButton:
|
|
1525
|
-
icon:
|
|
1526
|
-
chevron:
|
|
1527
|
-
languageDropdown:
|
|
1528
|
-
languageOption:
|
|
1529
|
-
selected:
|
|
1530
|
-
scrollArea:
|
|
1531
|
-
navigation:
|
|
1532
|
-
section:
|
|
1533
|
-
sectionButton:
|
|
1534
|
-
expanded:
|
|
1535
|
-
sectionItems:
|
|
1536
|
-
navItem:
|
|
1537
|
-
active:
|
|
1538
|
-
navItemContent:
|
|
1504
|
+
const Xa = "_sidebar_1tdxt_1", Ya = "_header_1tdxt_17", Va = "_brand_1tdxt_29", Ja = "_cloudIcon_1tdxt_35", Za = "_title_1tdxt_44", eo = "_languageSelect_1tdxt_55", to = "_languageButton_1tdxt_61", no = "_icon_1tdxt_99", ao = "_chevron_1tdxt_104", oo = "_languageDropdown_1tdxt_114", so = "_languageOption_1tdxt_128", co = "_selected_1tdxt_147", ro = "_scrollArea_1tdxt_152", lo = "_navigation_1tdxt_158", io = "_section_1tdxt_164", uo = "_sectionButton_1tdxt_170", ho = "_expanded_1tdxt_213", mo = "_sectionItems_1tdxt_217", _o = "_navItem_1tdxt_225", go = "_active_1tdxt_238", po = "_navItemContent_1tdxt_243", K = {
|
|
1505
|
+
sidebar: Xa,
|
|
1506
|
+
header: Ya,
|
|
1507
|
+
brand: Va,
|
|
1508
|
+
cloudIcon: Ja,
|
|
1509
|
+
title: Za,
|
|
1510
|
+
languageSelect: eo,
|
|
1511
|
+
languageButton: to,
|
|
1512
|
+
icon: no,
|
|
1513
|
+
chevron: ao,
|
|
1514
|
+
languageDropdown: oo,
|
|
1515
|
+
languageOption: so,
|
|
1516
|
+
selected: co,
|
|
1517
|
+
scrollArea: ro,
|
|
1518
|
+
navigation: lo,
|
|
1519
|
+
section: io,
|
|
1520
|
+
sectionButton: uo,
|
|
1521
|
+
expanded: ho,
|
|
1522
|
+
sectionItems: mo,
|
|
1523
|
+
navItem: _o,
|
|
1524
|
+
active: go,
|
|
1525
|
+
navItemContent: po
|
|
1539
1526
|
};
|
|
1540
|
-
function
|
|
1527
|
+
function fo() {
|
|
1541
1528
|
const { config: t } = R(), n = t.logo, o = t.supportedLanguages.length > 1;
|
|
1542
|
-
return /* @__PURE__ */ d("div", { className:
|
|
1543
|
-
/* @__PURE__ */ d("div", { className:
|
|
1544
|
-
/* @__PURE__ */ d("div", { className:
|
|
1545
|
-
n && /* @__PURE__ */ e(n, { className:
|
|
1546
|
-
/* @__PURE__ */ e("div", { className:
|
|
1529
|
+
return /* @__PURE__ */ d("div", { className: K.sidebar, children: [
|
|
1530
|
+
/* @__PURE__ */ d("div", { className: K.header, children: [
|
|
1531
|
+
/* @__PURE__ */ d("div", { className: K.brand, children: [
|
|
1532
|
+
n && /* @__PURE__ */ e(n, { className: K.cloudIcon }),
|
|
1533
|
+
/* @__PURE__ */ e("div", { className: K.title, children: t.title })
|
|
1547
1534
|
] }),
|
|
1548
|
-
o && /* @__PURE__ */ e(
|
|
1535
|
+
o && /* @__PURE__ */ e(Ne, { styles: K })
|
|
1549
1536
|
] }),
|
|
1550
|
-
/* @__PURE__ */ e("div", { className:
|
|
1537
|
+
/* @__PURE__ */ e("div", { className: K.scrollArea, children: /* @__PURE__ */ e(we, { styles: K }) })
|
|
1551
1538
|
] });
|
|
1552
1539
|
}
|
|
1553
|
-
const
|
|
1554
|
-
app:
|
|
1555
|
-
layout:
|
|
1556
|
-
main:
|
|
1540
|
+
const vo = "_app_wf6ni_1", bo = "_layout_wf6ni_9", ko = "_main_wf6ni_15", No = "_fullWidth_wf6ni_21", wo = "_contentWrapper_wf6ni_30", oe = {
|
|
1541
|
+
app: vo,
|
|
1542
|
+
layout: bo,
|
|
1543
|
+
main: ko,
|
|
1557
1544
|
fullWidth: No,
|
|
1558
|
-
contentWrapper:
|
|
1545
|
+
contentWrapper: wo
|
|
1559
1546
|
};
|
|
1560
|
-
function
|
|
1547
|
+
function $o({ children: t }) {
|
|
1561
1548
|
const { language: n } = be(), { i18n: o } = E(), { config: a } = R(), [s, c] = y(!1);
|
|
1562
|
-
|
|
1549
|
+
P(() => {
|
|
1563
1550
|
n && a.supportedLanguages.includes(n) && o.changeLanguage(n);
|
|
1564
1551
|
}, [n, o, a.supportedLanguages]);
|
|
1565
|
-
const
|
|
1552
|
+
const i = () => {
|
|
1566
1553
|
c(!s);
|
|
1567
1554
|
}, m = () => {
|
|
1568
1555
|
c(!1);
|
|
1569
1556
|
};
|
|
1570
1557
|
if (!n || !a.supportedLanguages.includes(n))
|
|
1571
1558
|
return /* @__PURE__ */ e(He, { to: "/en/welcome", replace: !0 });
|
|
1572
|
-
const h = !!a.header, u = a.showSideMenu !== !1,
|
|
1559
|
+
const h = !!a.header, u = a.showSideMenu !== !1, l = a.contentMaxWidth ? { width: "100%", maxWidth: a.contentMaxWidth } : void 0;
|
|
1573
1560
|
return /* @__PURE__ */ d("div", { className: oe.app, children: [
|
|
1574
|
-
h && /* @__PURE__ */ e(
|
|
1575
|
-
/* @__PURE__ */ e(
|
|
1561
|
+
h && /* @__PURE__ */ e(ka, { onMobileMenuToggle: i }),
|
|
1562
|
+
/* @__PURE__ */ e(Qa, { isOpen: s, onClose: m }),
|
|
1576
1563
|
/* @__PURE__ */ d("div", { className: oe.layout, children: [
|
|
1577
|
-
u && /* @__PURE__ */ e(
|
|
1564
|
+
u && /* @__PURE__ */ e(fo, {}),
|
|
1578
1565
|
/* @__PURE__ */ e(
|
|
1579
1566
|
"main",
|
|
1580
1567
|
{
|
|
1581
1568
|
className: `${oe.main} ${u ? "" : oe.fullWidth}`,
|
|
1582
|
-
children: /* @__PURE__ */ e("div", { className: oe.contentWrapper, style:
|
|
1569
|
+
children: /* @__PURE__ */ e("div", { className: oe.contentWrapper, style: l, children: t })
|
|
1583
1570
|
}
|
|
1584
1571
|
)
|
|
1585
1572
|
] })
|
|
1586
1573
|
] });
|
|
1587
1574
|
}
|
|
1588
|
-
const
|
|
1589
|
-
homePage:
|
|
1590
|
-
header:
|
|
1591
|
-
title:
|
|
1592
|
-
articlesList:
|
|
1593
|
-
articleCard:
|
|
1594
|
-
articleTitle:
|
|
1575
|
+
const Co = "_homePage_10e4f_1", Io = "_header_10e4f_20", xo = "_title_10e4f_24", yo = "_articlesList_10e4f_31", To = "_articleCard_10e4f_37", Lo = "_articleTitle_10e4f_56", Po = "_articleDescription_10e4f_63", So = "_empty_10e4f_71", Do = "_skeletonCard_10e4f_85", Mo = "_skeletonTitle_10e4f_95", Bo = "_skeletonText_10e4f_104", Eo = "_skeletonMetadata_10e4f_113", M = {
|
|
1576
|
+
homePage: Co,
|
|
1577
|
+
header: Io,
|
|
1578
|
+
title: xo,
|
|
1579
|
+
articlesList: yo,
|
|
1580
|
+
articleCard: To,
|
|
1581
|
+
articleTitle: Lo,
|
|
1595
1582
|
articleDescription: Po,
|
|
1596
|
-
empty:
|
|
1597
|
-
skeletonCard:
|
|
1598
|
-
skeletonTitle:
|
|
1599
|
-
skeletonText:
|
|
1600
|
-
skeletonMetadata:
|
|
1583
|
+
empty: So,
|
|
1584
|
+
skeletonCard: Do,
|
|
1585
|
+
skeletonTitle: Mo,
|
|
1586
|
+
skeletonText: Bo,
|
|
1587
|
+
skeletonMetadata: Eo
|
|
1601
1588
|
};
|
|
1602
|
-
function
|
|
1603
|
-
const { i18n: t, t: n } = E(), { config: o, loadContent: a } = R(), s = Q(), [c,
|
|
1604
|
-
|
|
1589
|
+
function Ro() {
|
|
1590
|
+
const { i18n: t, t: n } = E(), { config: o, loadContent: a } = R(), s = Q(), [c, i] = y([]), [m, h] = y(!0);
|
|
1591
|
+
P(() => {
|
|
1605
1592
|
(async () => {
|
|
1606
1593
|
try {
|
|
1607
1594
|
const f = o.navigationData || [];
|
|
@@ -1639,7 +1626,7 @@ function Ao() {
|
|
|
1639
1626
|
}
|
|
1640
1627
|
})
|
|
1641
1628
|
);
|
|
1642
|
-
b.sort((r, _) => r.date && _.date ? new Date(_.date).getTime() - new Date(r.date).getTime() : r.date ? -1 : _.date ? 1 : r.title.localeCompare(_.title)),
|
|
1629
|
+
b.sort((r, _) => r.date && _.date ? new Date(_.date).getTime() - new Date(r.date).getTime() : r.date ? -1 : _.date ? 1 : r.title.localeCompare(_.title)), i(b.slice(0, 50));
|
|
1643
1630
|
} catch (f) {
|
|
1644
1631
|
console.error("Failed to load articles:", f);
|
|
1645
1632
|
} finally {
|
|
@@ -1647,53 +1634,53 @@ function Ao() {
|
|
|
1647
1634
|
}
|
|
1648
1635
|
})();
|
|
1649
1636
|
}, [t.language, o.navigationData, a]);
|
|
1650
|
-
const u = (
|
|
1637
|
+
const u = (l) => {
|
|
1651
1638
|
const f = o.basePath || "";
|
|
1652
|
-
window.scrollTo({ top: 0, left: 0, behavior: "auto" }), s(`${f}/${t.language}/${
|
|
1639
|
+
window.scrollTo({ top: 0, left: 0, behavior: "auto" }), s(`${f}/${t.language}/${l}`);
|
|
1653
1640
|
};
|
|
1654
1641
|
return m ? /* @__PURE__ */ d("div", { className: M.homePage, children: [
|
|
1655
1642
|
/* @__PURE__ */ e("div", { className: M.header, children: /* @__PURE__ */ e("h1", { className: M.title, children: n("ui.latestPosts") }) }),
|
|
1656
|
-
/* @__PURE__ */ e("div", { className: M.articlesList, children: [...Array(5)].map((
|
|
1643
|
+
/* @__PURE__ */ e("div", { className: M.articlesList, children: [...Array(5)].map((l, f) => /* @__PURE__ */ d("div", { className: M.skeletonCard, children: [
|
|
1657
1644
|
/* @__PURE__ */ e("div", { className: M.skeletonTitle }),
|
|
1658
1645
|
/* @__PURE__ */ e("div", { className: M.skeletonText }),
|
|
1659
1646
|
/* @__PURE__ */ e("div", { className: M.skeletonText }),
|
|
1660
1647
|
/* @__PURE__ */ e("div", { className: M.skeletonMetadata })
|
|
1661
1648
|
] }, f)) })
|
|
1662
|
-
] }) : c.length === 0 ? /* @__PURE__ */ e("div", { className: M.empty, children: n("ui.noArticlesFound") }) : /* @__PURE__ */ d(
|
|
1649
|
+
] }) : c.length === 0 ? /* @__PURE__ */ e("div", { className: M.empty, children: n("ui.noArticlesFound") }) : /* @__PURE__ */ d(U, { children: [
|
|
1663
1650
|
/* @__PURE__ */ d("div", { className: M.homePage, children: [
|
|
1664
1651
|
/* @__PURE__ */ e("div", { className: M.header, children: /* @__PURE__ */ e("h1", { className: M.title, children: n("ui.latestPosts") }) }),
|
|
1665
|
-
/* @__PURE__ */ e("div", { className: M.articlesList, children: c.map((
|
|
1652
|
+
/* @__PURE__ */ e("div", { className: M.articlesList, children: c.map((l) => /* @__PURE__ */ d(
|
|
1666
1653
|
"button",
|
|
1667
1654
|
{
|
|
1668
1655
|
className: M.articleCard,
|
|
1669
|
-
onClick: () => u(
|
|
1656
|
+
onClick: () => u(l.slug),
|
|
1670
1657
|
type: "button",
|
|
1671
1658
|
children: [
|
|
1672
|
-
/* @__PURE__ */ e("h2", { className: M.articleTitle, children:
|
|
1673
|
-
|
|
1674
|
-
/* @__PURE__ */ e(ve, { date:
|
|
1659
|
+
/* @__PURE__ */ e("h2", { className: M.articleTitle, children: l.title }),
|
|
1660
|
+
l.description && /* @__PURE__ */ e("p", { className: M.articleDescription, children: l.description }),
|
|
1661
|
+
/* @__PURE__ */ e(ve, { date: l.date, author: l.author })
|
|
1675
1662
|
]
|
|
1676
1663
|
},
|
|
1677
|
-
|
|
1664
|
+
l.slug
|
|
1678
1665
|
)) })
|
|
1679
1666
|
] }),
|
|
1680
|
-
/* @__PURE__ */ e(
|
|
1667
|
+
/* @__PURE__ */ e(Mt, {})
|
|
1681
1668
|
] });
|
|
1682
1669
|
}
|
|
1683
|
-
function
|
|
1670
|
+
function Xo() {
|
|
1684
1671
|
const { language: t } = be(), { config: n } = R();
|
|
1685
|
-
return /* @__PURE__ */ e(
|
|
1686
|
-
/* @__PURE__ */ e(De, { path: "/:slug", element: /* @__PURE__ */ e(
|
|
1672
|
+
return /* @__PURE__ */ e($o, { children: /* @__PURE__ */ d(Ye, { children: [
|
|
1673
|
+
/* @__PURE__ */ e(De, { path: "/:slug", element: /* @__PURE__ */ e(En, { language: t }) }),
|
|
1687
1674
|
/* @__PURE__ */ e(
|
|
1688
1675
|
De,
|
|
1689
1676
|
{
|
|
1690
1677
|
index: !0,
|
|
1691
|
-
element: (n.defaultRoute || "latest") === "latest" ? /* @__PURE__ */ e(
|
|
1678
|
+
element: (n.defaultRoute || "latest") === "latest" ? /* @__PURE__ */ e(Ro, {}) : /* @__PURE__ */ e(He, { to: `./${n.defaultRoute}`, replace: !0 })
|
|
1692
1679
|
}
|
|
1693
1680
|
)
|
|
1694
1681
|
] }) });
|
|
1695
1682
|
}
|
|
1696
|
-
function
|
|
1683
|
+
function Yo() {
|
|
1697
1684
|
return {
|
|
1698
1685
|
openSearchModal: () => {
|
|
1699
1686
|
window.dispatchEvent(new CustomEvent("blog:open-search"));
|
|
@@ -1703,48 +1690,48 @@ function Vo() {
|
|
|
1703
1690
|
}
|
|
1704
1691
|
};
|
|
1705
1692
|
}
|
|
1706
|
-
function
|
|
1693
|
+
function Vo() {
|
|
1707
1694
|
const { i18n: t } = E(), n = Y(), o = Q(), { config: a } = R();
|
|
1708
1695
|
return (s) => {
|
|
1709
1696
|
const c = a.basePath || "";
|
|
1710
|
-
let
|
|
1711
|
-
c &&
|
|
1712
|
-
const m =
|
|
1697
|
+
let i = n.pathname;
|
|
1698
|
+
c && i.startsWith(c) && (i = i.slice(c.length));
|
|
1699
|
+
const m = i.split("/").filter(Boolean), h = m[0];
|
|
1713
1700
|
let u = "";
|
|
1714
|
-
a.supportedLanguages.includes(h) ? (m[0] = s, u = `${c}/${m.join("/")}`) : u = `${c}/${s}${
|
|
1715
|
-
const
|
|
1716
|
-
t.changeLanguage(s), o(
|
|
1701
|
+
a.supportedLanguages.includes(h) ? (m[0] = s, u = `${c}/${m.join("/")}`) : u = `${c}/${s}${i}`;
|
|
1702
|
+
const l = u + n.search + n.hash;
|
|
1703
|
+
t.changeLanguage(s), o(l);
|
|
1717
1704
|
};
|
|
1718
1705
|
}
|
|
1719
1706
|
export {
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1707
|
+
ht as AdvancedModeToggle,
|
|
1708
|
+
yt as ArticleNavigation,
|
|
1709
|
+
Go as BlogProvider,
|
|
1710
|
+
mt as BlogRoot,
|
|
1711
|
+
Mt as BlogSidebar,
|
|
1712
|
+
Wt as Breadcrumb,
|
|
1713
|
+
En as ContentPage,
|
|
1714
|
+
$o as DocumentationLayout,
|
|
1715
|
+
Xo as DocumentationRoutes,
|
|
1716
|
+
ka as Header,
|
|
1717
|
+
Ro as HomePage,
|
|
1718
|
+
Ne as LanguageSelector,
|
|
1732
1719
|
ve as Metadata,
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1720
|
+
Qa as MobileMenu,
|
|
1721
|
+
Qo as NavigationContent,
|
|
1722
|
+
we as NavigationMenu,
|
|
1723
|
+
ea as SearchBar,
|
|
1724
|
+
fo as Sidebar,
|
|
1725
|
+
an as TableOfContents,
|
|
1726
|
+
pn as TagResultsModal,
|
|
1727
|
+
$n as Tags,
|
|
1728
|
+
Uo as createBlogUtils,
|
|
1742
1729
|
qe as createContentLoaders,
|
|
1743
1730
|
ee as generateHeadingId,
|
|
1744
|
-
|
|
1731
|
+
gt as getAdjacentArticles,
|
|
1745
1732
|
he as getNavigationData,
|
|
1746
1733
|
R as useBlogConfig,
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1734
|
+
Vo as useLanguageChange,
|
|
1735
|
+
Yo as useSearchModal,
|
|
1736
|
+
Ue as useTheme
|
|
1750
1737
|
};
|