@x-wave/blog 2.2.0 → 2.2.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/index.js +518 -525
- package/package.json +1 -1
- package/styles/index.css +1 -1
package/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsxs as i, jsx as e, Fragment as U } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as j } from "react-i18next";
|
|
3
|
-
import { useLocation as Y, useNavigate as Q, Link as de, useParams as
|
|
4
|
-
import { CaretLeft as Ye, CaretRight as
|
|
3
|
+
import { useLocation as Y, useNavigate as Q, Link as de, useParams as pe, Navigate as qe, Routes as Xe, Route as xe } from "react-router-dom";
|
|
4
|
+
import { CaretLeft as Ye, CaretRight as Oe, ArrowSquareOut as Ve, User as Je, CalendarBlank as Ze, X as ve, Tag as et, MagnifyingGlass as Se, List as tt, Sun as Pe, Moon as Me, Monitor as Be, CaretDown as _e, Globe as nt } from "@phosphor-icons/react";
|
|
5
5
|
import { useState as T, useEffect as S, createContext as at, useContext as ot, useRef as G } from "react";
|
|
6
6
|
import st from "i18next";
|
|
7
7
|
import ct from "react-markdown";
|
|
8
8
|
import rt from "remark-gfm";
|
|
9
|
-
import { createPortal as
|
|
10
|
-
const lt = "_tabContainer_zk6h4_1", it = "_tab_zk6h4_1", dt = "_active_zk6h4_45",
|
|
9
|
+
import { createPortal as We } from "react-dom";
|
|
10
|
+
const lt = "_tabContainer_zk6h4_1", it = "_tab_zk6h4_1", dt = "_active_zk6h4_45", ae = {
|
|
11
11
|
tabContainer: lt,
|
|
12
12
|
tab: it,
|
|
13
13
|
active: dt
|
|
@@ -19,8 +19,8 @@ function ut({ hasAdvanced: t }) {
|
|
|
19
19
|
if (r) {
|
|
20
20
|
const u = new URLSearchParams(s.search);
|
|
21
21
|
u.delete("advanced");
|
|
22
|
-
const a = u.toString(),
|
|
23
|
-
c(`${s.pathname}${
|
|
22
|
+
const a = u.toString(), m = a ? `?${a}` : "";
|
|
23
|
+
c(`${s.pathname}${m}${s.hash}`);
|
|
24
24
|
}
|
|
25
25
|
}, d = () => {
|
|
26
26
|
if (!r) {
|
|
@@ -28,12 +28,12 @@ function ut({ hasAdvanced: t }) {
|
|
|
28
28
|
u.set("advanced", ""), c(`${s.pathname}?${u.toString()}${s.hash}`);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
return /* @__PURE__ */ i("div", { className:
|
|
31
|
+
return /* @__PURE__ */ i("div", { className: ae.tabContainer, children: [
|
|
32
32
|
/* @__PURE__ */ e(
|
|
33
33
|
"button",
|
|
34
34
|
{
|
|
35
35
|
type: "button",
|
|
36
|
-
className: `${
|
|
36
|
+
className: `${ae.tab} ${r ? "" : ae.active}`,
|
|
37
37
|
onClick: _,
|
|
38
38
|
children: n("ui.simple")
|
|
39
39
|
}
|
|
@@ -42,7 +42,7 @@ function ut({ hasAdvanced: t }) {
|
|
|
42
42
|
"button",
|
|
43
43
|
{
|
|
44
44
|
type: "button",
|
|
45
|
-
className: `${
|
|
45
|
+
className: `${ae.tab} ${r ? ae.active : ""}`,
|
|
46
46
|
onClick: d,
|
|
47
47
|
children: n("ui.advanced")
|
|
48
48
|
}
|
|
@@ -52,34 +52,34 @@ function ut({ hasAdvanced: t }) {
|
|
|
52
52
|
function ht({ children: t }) {
|
|
53
53
|
return /* @__PURE__ */ e("div", { className: "xw-blog-root", children: t });
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function He(t) {
|
|
56
56
|
const n = /* @__PURE__ */ new Map();
|
|
57
57
|
function s(d) {
|
|
58
58
|
const u = d.match(/^---\s*\n([\s\S]*?)\n---\s*\n/);
|
|
59
59
|
if (!u) return { frontmatter: {}, content: d };
|
|
60
|
-
const a = {},
|
|
61
|
-
let o = "",
|
|
62
|
-
const
|
|
63
|
-
for (const
|
|
60
|
+
const a = {}, m = u[1];
|
|
61
|
+
let o = "", l = !1;
|
|
62
|
+
const v = [];
|
|
63
|
+
for (const g of m.split(`
|
|
64
64
|
`)) {
|
|
65
|
-
const k =
|
|
65
|
+
const k = g.trim();
|
|
66
66
|
if (k.startsWith("-")) {
|
|
67
|
-
if (
|
|
68
|
-
const
|
|
69
|
-
|
|
67
|
+
if (l) {
|
|
68
|
+
const f = k.substring(1).trim();
|
|
69
|
+
v.push(f);
|
|
70
70
|
}
|
|
71
71
|
continue;
|
|
72
72
|
}
|
|
73
|
-
if (
|
|
74
|
-
const [
|
|
75
|
-
if (o =
|
|
76
|
-
|
|
73
|
+
if (l && !k.startsWith("-") && (a[o] = v.slice(), v.length = 0, l = !1), k != null && k.includes(":")) {
|
|
74
|
+
const [f, ...b] = k.split(":"), y = b.join(":").trim();
|
|
75
|
+
if (o = f.trim(), !y) {
|
|
76
|
+
l = !0;
|
|
77
77
|
continue;
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
y === "true" ? a[o] = !0 : y === "false" ? a[o] = !1 : a[o] = y;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
l && v.length > 0 && (a[o] = v);
|
|
83
83
|
const w = d.replace(
|
|
84
84
|
/^---\s*\n[\s\S]*?\n---\s*\n/,
|
|
85
85
|
""
|
|
@@ -89,40 +89,40 @@ function ze(t) {
|
|
|
89
89
|
function c(d) {
|
|
90
90
|
return (d.split("/").pop() || "").replace(/(-advanced)?\.mdx$/, "");
|
|
91
91
|
}
|
|
92
|
-
function
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
92
|
+
function h(d, u, a) {
|
|
93
|
+
const m = typeof d.title == "string" ? d.title : void 0;
|
|
94
|
+
if (m) return m;
|
|
95
95
|
const o = u.match(/^#\s+(.+)$/m);
|
|
96
96
|
return o ? o[1].trim() : a;
|
|
97
97
|
}
|
|
98
98
|
async function* r(d) {
|
|
99
99
|
const u = `./docs/${d}/`, a = Object.keys(t).filter(
|
|
100
|
-
(
|
|
100
|
+
(m) => m.startsWith(u)
|
|
101
101
|
);
|
|
102
|
-
for (const
|
|
103
|
-
if (!(
|
|
102
|
+
for (const m of a)
|
|
103
|
+
if (!(m.split("/").pop() || "").endsWith("-advanced.mdx"))
|
|
104
104
|
try {
|
|
105
|
-
const
|
|
106
|
-
yield { slug: k, title:
|
|
107
|
-
} catch (
|
|
108
|
-
console.warn(`Failed to process ${
|
|
105
|
+
const l = t[m], v = await l(), { frontmatter: w, content: g } = s(v), k = c(m), f = h(w, g, k);
|
|
106
|
+
yield { slug: k, title: f, frontmatter: w, content: g, filePath: m };
|
|
107
|
+
} catch (l) {
|
|
108
|
+
console.warn(`Failed to process ${m}:`, l);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
async function _(d) {
|
|
112
112
|
const u = n.get(d);
|
|
113
113
|
if (u) return u;
|
|
114
114
|
const a = (async () => {
|
|
115
|
-
const
|
|
115
|
+
const m = [];
|
|
116
116
|
for await (const o of r(d))
|
|
117
|
-
|
|
117
|
+
m.push({
|
|
118
118
|
slug: o.slug,
|
|
119
119
|
title: o.title,
|
|
120
120
|
frontmatter: o.frontmatter
|
|
121
121
|
});
|
|
122
|
-
return
|
|
123
|
-
const
|
|
124
|
-
return
|
|
125
|
-
}),
|
|
122
|
+
return m.sort((o, l) => {
|
|
123
|
+
const v = o.frontmatter.date, w = l.frontmatter.date, g = v ? new Date(v).getTime() : null, k = w ? new Date(w).getTime() : null, f = g !== null && !Number.isNaN(g) ? g : null, b = k !== null && !Number.isNaN(k) ? k : null;
|
|
124
|
+
return f !== null && b !== null ? f !== b ? b - f : o.title.localeCompare(l.title) : f !== null ? -1 : b !== null ? 1 : o.title.localeCompare(l.title);
|
|
125
|
+
}), m;
|
|
126
126
|
})();
|
|
127
127
|
return n.set(d, a), a.catch(() => {
|
|
128
128
|
n.delete(d);
|
|
@@ -134,20 +134,20 @@ function ze(t) {
|
|
|
134
134
|
* Automatically loads the advanced variant if `advanced` is true.
|
|
135
135
|
*/
|
|
136
136
|
async loadMDXContent(d, u, a = !1) {
|
|
137
|
-
const
|
|
138
|
-
if (!
|
|
139
|
-
const
|
|
140
|
-
return { content:
|
|
137
|
+
const m = a ? `${u}-advanced.mdx` : `${u}.mdx`, o = `./docs/${d}/${m}`, l = t[o];
|
|
138
|
+
if (!l) throw new Error(`File not found: ${o}`);
|
|
139
|
+
const v = await l(), { frontmatter: w, content: g } = s(v);
|
|
140
|
+
return { content: g, frontmatter: w };
|
|
141
141
|
},
|
|
142
142
|
/**
|
|
143
143
|
* Load English content for generating consistent heading IDs.
|
|
144
144
|
* All heading anchors are derived from English content for stability across translations.
|
|
145
145
|
*/
|
|
146
146
|
async loadEnglishContent(d, u = !1) {
|
|
147
|
-
const
|
|
148
|
-
if (!o) throw new Error(`File not found: ${
|
|
149
|
-
const
|
|
150
|
-
return
|
|
147
|
+
const m = `./docs/en/${u ? `${d}-advanced.mdx` : `${d}.mdx`}`, o = t[m];
|
|
148
|
+
if (!o) throw new Error(`File not found: ${m}`);
|
|
149
|
+
const l = await o(), { content: v } = s(l);
|
|
150
|
+
return v;
|
|
151
151
|
},
|
|
152
152
|
/**
|
|
153
153
|
* Build a tag index from all MDX files.
|
|
@@ -158,11 +158,11 @@ function ze(t) {
|
|
|
158
158
|
*/
|
|
159
159
|
async buildTagIndex(d = "en") {
|
|
160
160
|
const u = await _(d), a = {};
|
|
161
|
-
for (const
|
|
162
|
-
const o =
|
|
161
|
+
for (const m of u) {
|
|
162
|
+
const o = m.frontmatter.tags;
|
|
163
163
|
if (o && Array.isArray(o))
|
|
164
|
-
for (const
|
|
165
|
-
a[
|
|
164
|
+
for (const l of o)
|
|
165
|
+
a[l] || (a[l] = []), a[l].some((v) => v.slug === m.slug) || a[l].push({ slug: m.slug, title: m.title });
|
|
166
166
|
}
|
|
167
167
|
return a;
|
|
168
168
|
},
|
|
@@ -185,7 +185,7 @@ function ze(t) {
|
|
|
185
185
|
};
|
|
186
186
|
}
|
|
187
187
|
function Vo(t) {
|
|
188
|
-
const n =
|
|
188
|
+
const n = He(t);
|
|
189
189
|
return {
|
|
190
190
|
mdxFiles: t,
|
|
191
191
|
loadContent: n.loadMDXContent,
|
|
@@ -193,30 +193,30 @@ function Vo(t) {
|
|
|
193
193
|
discoverArticles: n.discoverArticles
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
|
-
const
|
|
197
|
-
const n = () => t || (typeof window > "u" ? "system" : localStorage.getItem(
|
|
196
|
+
const Ee = "app-theme", Fe = () => typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", Ae = (t) => t === "system" ? Fe() : t, ze = (t) => {
|
|
197
|
+
const n = () => t || (typeof window > "u" ? "system" : localStorage.getItem(Ee) || "system"), [s, c] = T(n);
|
|
198
198
|
return S(() => {
|
|
199
199
|
const r = Ae(s), _ = document.querySelector(".xw-blog-root");
|
|
200
200
|
if (_ && (_.classList.remove("light", "dark"), _.classList.add(r)), s === "system") {
|
|
201
201
|
const d = window.matchMedia("(prefers-color-scheme: dark)"), u = () => {
|
|
202
|
-
const a = Fe(),
|
|
203
|
-
|
|
202
|
+
const a = Fe(), m = document.querySelector(".xw-blog-root");
|
|
203
|
+
m && (m.classList.remove("light", "dark"), m.classList.add(a));
|
|
204
204
|
};
|
|
205
205
|
return d.addEventListener("change", u), () => d.removeEventListener("change", u);
|
|
206
206
|
}
|
|
207
207
|
}, [s]), {
|
|
208
208
|
theme: s,
|
|
209
209
|
setTheme: (r) => {
|
|
210
|
-
localStorage.setItem(
|
|
210
|
+
localStorage.setItem(Ee, r), c(r);
|
|
211
211
|
},
|
|
212
212
|
effectiveTheme: Ae(s)
|
|
213
213
|
};
|
|
214
|
-
}, mt = (t) => "items" in t,
|
|
214
|
+
}, mt = (t) => "items" in t, De = (t) => "items" in t, _t = async (t, n, s) => {
|
|
215
215
|
const c = [];
|
|
216
|
-
for (const
|
|
217
|
-
if (mt(
|
|
216
|
+
for (const h of t)
|
|
217
|
+
if (mt(h)) {
|
|
218
218
|
const r = [];
|
|
219
|
-
for (const d of
|
|
219
|
+
for (const d of h.items)
|
|
220
220
|
try {
|
|
221
221
|
const u = await s(n, d.slug, !1), a = typeof u.frontmatter.title == "string" ? u.frontmatter.title : d.slug;
|
|
222
222
|
r.push({
|
|
@@ -229,25 +229,25 @@ const De = "app-theme", Fe = () => typeof window > "u" ? "light" : window.matchM
|
|
|
229
229
|
title: d.slug
|
|
230
230
|
});
|
|
231
231
|
}
|
|
232
|
-
const _ = st.getFixedT(n)(
|
|
232
|
+
const _ = st.getFixedT(n)(h.title);
|
|
233
233
|
c.push({
|
|
234
234
|
title: _,
|
|
235
235
|
items: r,
|
|
236
|
-
...
|
|
237
|
-
defaultOpen:
|
|
236
|
+
...h.defaultOpen !== void 0 && {
|
|
237
|
+
defaultOpen: h.defaultOpen
|
|
238
238
|
}
|
|
239
239
|
});
|
|
240
240
|
} else
|
|
241
241
|
try {
|
|
242
|
-
const r = await s(n,
|
|
242
|
+
const r = await s(n, h.slug, !1), _ = typeof r.frontmatter.title == "string" ? r.frontmatter.title : h.slug;
|
|
243
243
|
c.push({
|
|
244
|
-
...
|
|
244
|
+
...h,
|
|
245
245
|
title: _
|
|
246
246
|
});
|
|
247
247
|
} catch {
|
|
248
248
|
c.push({
|
|
249
|
-
...
|
|
250
|
-
title:
|
|
249
|
+
...h,
|
|
250
|
+
title: h.slug
|
|
251
251
|
});
|
|
252
252
|
}
|
|
253
253
|
return c;
|
|
@@ -259,36 +259,36 @@ const De = "app-theme", Fe = () => typeof window > "u" ? "light" : window.matchM
|
|
|
259
259
|
prev: s > 0 ? n[s - 1] : void 0,
|
|
260
260
|
next: s < n.length - 1 ? n[s + 1] : void 0
|
|
261
261
|
};
|
|
262
|
-
},
|
|
262
|
+
}, Ke = at(null);
|
|
263
263
|
function Jo({
|
|
264
264
|
children: t,
|
|
265
265
|
config: n,
|
|
266
266
|
blog: s,
|
|
267
267
|
navigationData: c = []
|
|
268
268
|
}) {
|
|
269
|
-
|
|
270
|
-
const [
|
|
269
|
+
ze(n.defaultTheme);
|
|
270
|
+
const [h, r] = T({});
|
|
271
271
|
S(() => {
|
|
272
|
-
const { buildTagIndex: d } =
|
|
272
|
+
const { buildTagIndex: d } = He(s.mdxFiles), u = n.supportedLanguages.map(async (a) => {
|
|
273
273
|
try {
|
|
274
|
-
const
|
|
275
|
-
return { language: a, index:
|
|
276
|
-
} catch (
|
|
277
|
-
return console.error(`Failed to build tag index for ${a}:`,
|
|
274
|
+
const m = await d(a);
|
|
275
|
+
return { language: a, index: m };
|
|
276
|
+
} catch (m) {
|
|
277
|
+
return console.error(`Failed to build tag index for ${a}:`, m), { language: a, index: {} };
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
Promise.all(u).then((a) => {
|
|
281
|
-
const
|
|
281
|
+
const m = {};
|
|
282
282
|
for (const o of a)
|
|
283
|
-
|
|
284
|
-
r(
|
|
283
|
+
m[o.language] = o.index;
|
|
284
|
+
r(m);
|
|
285
285
|
}).catch((a) => {
|
|
286
286
|
console.error("Failed to build tag indices:", a);
|
|
287
287
|
});
|
|
288
288
|
}, [s.mdxFiles, n.supportedLanguages]);
|
|
289
|
-
const _ = { ...n, navigationData: c, tagIndex:
|
|
289
|
+
const _ = { ...n, navigationData: c, tagIndex: h };
|
|
290
290
|
return /* @__PURE__ */ e(
|
|
291
|
-
|
|
291
|
+
Ke.Provider,
|
|
292
292
|
{
|
|
293
293
|
value: {
|
|
294
294
|
config: _,
|
|
@@ -301,7 +301,7 @@ function Jo({
|
|
|
301
301
|
);
|
|
302
302
|
}
|
|
303
303
|
function R() {
|
|
304
|
-
const t = ot(
|
|
304
|
+
const t = ot(Ke);
|
|
305
305
|
if (!t)
|
|
306
306
|
throw new Error("useBlogConfig must be used within a BlogProvider");
|
|
307
307
|
return t;
|
|
@@ -309,76 +309,76 @@ function R() {
|
|
|
309
309
|
function pt(t, n, s) {
|
|
310
310
|
return `/${s ? `${s}/` : ""}${n}/${t}`;
|
|
311
311
|
}
|
|
312
|
-
function
|
|
312
|
+
function Ue(t) {
|
|
313
313
|
const n = {
|
|
314
314
|
advanced: !1,
|
|
315
315
|
anchor: ""
|
|
316
316
|
};
|
|
317
317
|
if (!t) return n;
|
|
318
318
|
const c = (t.startsWith("?") ? t.substring(1) : t).split("&");
|
|
319
|
-
for (const
|
|
320
|
-
|
|
319
|
+
for (const h of c)
|
|
320
|
+
h === "advanced" ? n.advanced = !0 : h.startsWith("a=") && (n.anchor = h.substring(2));
|
|
321
321
|
return n;
|
|
322
322
|
}
|
|
323
|
-
function
|
|
323
|
+
function je(t, n = 80) {
|
|
324
324
|
const s = document.getElementById(t);
|
|
325
325
|
if (s) {
|
|
326
|
-
const
|
|
326
|
+
const h = s.getBoundingClientRect().top + window.pageYOffset - n;
|
|
327
327
|
window.scrollTo({
|
|
328
|
-
top:
|
|
328
|
+
top: h,
|
|
329
329
|
behavior: "smooth"
|
|
330
330
|
});
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
|
-
function
|
|
333
|
+
function vt(t, n = !1) {
|
|
334
334
|
const s = new URL(window.location.href), c = new URLSearchParams(s.search);
|
|
335
335
|
c.set("a", t), n && c.set("advanced", ""), s.search = `?${c.toString()}`, window.history.pushState(null, "", s.toString());
|
|
336
336
|
}
|
|
337
|
-
function
|
|
337
|
+
function ft(t = "smooth") {
|
|
338
338
|
window.scrollTo({
|
|
339
339
|
top: 0,
|
|
340
340
|
left: 0,
|
|
341
341
|
behavior: t
|
|
342
342
|
});
|
|
343
343
|
}
|
|
344
|
-
const bt = "_articleNavigation_kz84g_1", kt = "_navContainer_kz84g_7", Nt = "_navLink_kz84g_24", wt = "_navLinkContent_kz84g_61", It = "_navIcon_kz84g_76",
|
|
344
|
+
const bt = "_articleNavigation_kz84g_1", kt = "_navContainer_kz84g_7", Nt = "_navLink_kz84g_24", wt = "_navLinkContent_kz84g_61", It = "_navIcon_kz84g_76", yt = "_navText_kz84g_83", $t = "_navLabel_kz84g_90", Ct = "_navTitle_kz84g_98", q = {
|
|
345
345
|
articleNavigation: bt,
|
|
346
346
|
navContainer: kt,
|
|
347
347
|
navLink: Nt,
|
|
348
348
|
navLinkContent: wt,
|
|
349
349
|
navIcon: It,
|
|
350
|
-
navText:
|
|
351
|
-
navLabel:
|
|
352
|
-
navTitle:
|
|
350
|
+
navText: yt,
|
|
351
|
+
navLabel: $t,
|
|
352
|
+
navTitle: Ct
|
|
353
353
|
};
|
|
354
354
|
function Tt({
|
|
355
355
|
prevSlug: t,
|
|
356
356
|
prevTitle: n,
|
|
357
357
|
nextSlug: s,
|
|
358
358
|
nextTitle: c,
|
|
359
|
-
language:
|
|
359
|
+
language: h
|
|
360
360
|
}) {
|
|
361
|
-
const { t: r } = j(), { config: _ } = R(), d = Y(), a =
|
|
362
|
-
const w = `${
|
|
361
|
+
const { t: r } = j(), { config: _ } = R(), d = Y(), a = Ue(d.search).advanced, m = _.basePath || "", o = (v) => {
|
|
362
|
+
const w = `${m}/${h}/${v}`;
|
|
363
363
|
return a ? `${w}?advanced=true` : w;
|
|
364
364
|
};
|
|
365
365
|
if (!t && !s)
|
|
366
366
|
return null;
|
|
367
|
-
const
|
|
368
|
-
|
|
367
|
+
const l = () => {
|
|
368
|
+
ft("auto");
|
|
369
369
|
};
|
|
370
|
-
return /* @__PURE__ */ e("nav", { className:
|
|
370
|
+
return /* @__PURE__ */ e("nav", { className: q.articleNavigation, "aria-label": "Article navigation", children: /* @__PURE__ */ i("div", { className: q.navContainer, children: [
|
|
371
371
|
t ? /* @__PURE__ */ e(
|
|
372
372
|
de,
|
|
373
373
|
{
|
|
374
374
|
to: o(t),
|
|
375
|
-
className:
|
|
376
|
-
onClick:
|
|
377
|
-
children: /* @__PURE__ */ i("div", { className:
|
|
378
|
-
/* @__PURE__ */ e("div", { className:
|
|
379
|
-
/* @__PURE__ */ i("div", { className:
|
|
380
|
-
/* @__PURE__ */ e("span", { className:
|
|
381
|
-
/* @__PURE__ */ e("span", { className:
|
|
375
|
+
className: q.navLink,
|
|
376
|
+
onClick: l,
|
|
377
|
+
children: /* @__PURE__ */ i("div", { className: q.navLinkContent, children: [
|
|
378
|
+
/* @__PURE__ */ e("div", { className: q.navIcon, children: /* @__PURE__ */ e(Ye, { size: 20, weight: "bold" }) }),
|
|
379
|
+
/* @__PURE__ */ i("div", { className: q.navText, children: [
|
|
380
|
+
/* @__PURE__ */ e("span", { className: q.navLabel, children: r("nav.previous") }),
|
|
381
|
+
/* @__PURE__ */ e("span", { className: q.navTitle, children: n || t })
|
|
382
382
|
] })
|
|
383
383
|
] })
|
|
384
384
|
}
|
|
@@ -387,20 +387,20 @@ function Tt({
|
|
|
387
387
|
de,
|
|
388
388
|
{
|
|
389
389
|
to: o(s),
|
|
390
|
-
className:
|
|
391
|
-
onClick:
|
|
392
|
-
children: /* @__PURE__ */ i("div", { className:
|
|
393
|
-
/* @__PURE__ */ i("div", { className:
|
|
394
|
-
/* @__PURE__ */ e("span", { className:
|
|
395
|
-
/* @__PURE__ */ e("span", { className:
|
|
390
|
+
className: q.navLink,
|
|
391
|
+
onClick: l,
|
|
392
|
+
children: /* @__PURE__ */ i("div", { className: q.navLinkContent, children: [
|
|
393
|
+
/* @__PURE__ */ i("div", { className: q.navText, children: [
|
|
394
|
+
/* @__PURE__ */ e("span", { className: q.navLabel, children: r("nav.next") }),
|
|
395
|
+
/* @__PURE__ */ e("span", { className: q.navTitle, children: c || s })
|
|
396
396
|
] }),
|
|
397
|
-
/* @__PURE__ */ e("div", { className:
|
|
397
|
+
/* @__PURE__ */ e("div", { className: q.navIcon, children: /* @__PURE__ */ e(Oe, { size: 20, weight: "bold" }) })
|
|
398
398
|
] })
|
|
399
399
|
}
|
|
400
400
|
) : /* @__PURE__ */ e("div", {})
|
|
401
401
|
] }) });
|
|
402
402
|
}
|
|
403
|
-
const Lt = "
|
|
403
|
+
const Lt = "_blogSidebar_n1up9_1", xt = "_section_n1up9_21", St = "_sectionTitle_n1up9_28", Pt = "_linksList_n1up9_35", Mt = "_link_n1up9_35", oe = {
|
|
404
404
|
blogSidebar: Lt,
|
|
405
405
|
section: xt,
|
|
406
406
|
sectionTitle: St,
|
|
@@ -409,15 +409,15 @@ const Lt = "_blogSidebar_1ik3q_1", xt = "_section_1ik3q_21", St = "_sectionTitle
|
|
|
409
409
|
};
|
|
410
410
|
function Bt() {
|
|
411
411
|
const { t } = j(), { config: n } = R(), s = n.socialLinks || [];
|
|
412
|
-
return s.length === 0 ? null : /* @__PURE__ */ e("aside", { className:
|
|
413
|
-
/* @__PURE__ */ e("h3", { className:
|
|
414
|
-
/* @__PURE__ */ e("div", { className:
|
|
412
|
+
return s.length === 0 ? null : /* @__PURE__ */ e("aside", { className: oe.blogSidebar, children: /* @__PURE__ */ i("div", { className: oe.section, children: [
|
|
413
|
+
/* @__PURE__ */ e("h3", { className: oe.sectionTitle, children: t("ui.connect") }),
|
|
414
|
+
/* @__PURE__ */ e("div", { className: oe.linksList, children: s.map((c, h) => {
|
|
415
415
|
const r = c.icon || Ve, _ = c.target === "_blank";
|
|
416
416
|
return /* @__PURE__ */ i(
|
|
417
417
|
"a",
|
|
418
418
|
{
|
|
419
419
|
href: c.url,
|
|
420
|
-
className:
|
|
420
|
+
className: oe.link,
|
|
421
421
|
target: c.target || "_blank",
|
|
422
422
|
rel: _ ? "noopener noreferrer" : void 0,
|
|
423
423
|
children: [
|
|
@@ -425,23 +425,23 @@ function Bt() {
|
|
|
425
425
|
/* @__PURE__ */ e("span", { children: c.label })
|
|
426
426
|
]
|
|
427
427
|
},
|
|
428
|
-
|
|
428
|
+
h
|
|
429
429
|
);
|
|
430
430
|
}) })
|
|
431
431
|
] }) });
|
|
432
432
|
}
|
|
433
|
-
const Et = "_breadcrumb_rarc4_1",
|
|
433
|
+
const Et = "_breadcrumb_rarc4_1", At = "_breadcrumbList_rarc4_5", Dt = "_breadcrumbItem_rarc4_15", jt = "_breadcrumbLink_rarc4_21", Rt = "_breadcrumbSeparator_rarc4_41", qt = "_breadcrumbCurrent_rarc4_46", X = {
|
|
434
434
|
breadcrumb: Et,
|
|
435
|
-
breadcrumbList:
|
|
436
|
-
breadcrumbItem:
|
|
435
|
+
breadcrumbList: At,
|
|
436
|
+
breadcrumbItem: Dt,
|
|
437
437
|
breadcrumbLink: jt,
|
|
438
438
|
breadcrumbSeparator: Rt,
|
|
439
|
-
breadcrumbCurrent:
|
|
439
|
+
breadcrumbCurrent: qt
|
|
440
440
|
};
|
|
441
|
-
function
|
|
442
|
-
const { t: s } = j(), { config: c } = R(),
|
|
443
|
-
a.preventDefault(), window.scrollTo({ top: 0, left: 0, behavior: "auto" }),
|
|
444
|
-
}, u = (a,
|
|
441
|
+
function Ot({ articleTitle: t, language: n }) {
|
|
442
|
+
const { t: s } = j(), { config: c } = R(), h = Q(), _ = `${c.basePath || ""}/${n}`, d = (a) => {
|
|
443
|
+
a.preventDefault(), window.scrollTo({ top: 0, left: 0, behavior: "auto" }), h(_);
|
|
444
|
+
}, u = (a, m = 60) => a.length <= m ? a : `${a.substring(0, m)}…`;
|
|
445
445
|
return /* @__PURE__ */ e("nav", { className: X.breadcrumb, "aria-label": "Breadcrumb", children: /* @__PURE__ */ i("ol", { className: X.breadcrumbList, children: [
|
|
446
446
|
/* @__PURE__ */ e("li", { className: X.breadcrumbItem, children: /* @__PURE__ */ e(
|
|
447
447
|
"button",
|
|
@@ -458,19 +458,19 @@ function qt({ articleTitle: t, language: n }) {
|
|
|
458
458
|
] })
|
|
459
459
|
] }) });
|
|
460
460
|
}
|
|
461
|
-
const Wt = "_metadata_bsge0_1", Ht = "_author_bsge0_9",
|
|
461
|
+
const Wt = "_metadata_bsge0_1", Ht = "_author_bsge0_9", Ft = "_date_bsge0_10", me = {
|
|
462
462
|
metadata: Wt,
|
|
463
463
|
author: Ht,
|
|
464
|
-
date:
|
|
464
|
+
date: Ft
|
|
465
465
|
};
|
|
466
|
-
function
|
|
466
|
+
function ge({ date: t, author: n }) {
|
|
467
467
|
const { t: s } = j();
|
|
468
|
-
return !t && !n ? null : /* @__PURE__ */ i("div", { className:
|
|
469
|
-
n && /* @__PURE__ */ i("span", { className:
|
|
468
|
+
return !t && !n ? null : /* @__PURE__ */ i("div", { className: me.metadata, children: [
|
|
469
|
+
n && /* @__PURE__ */ i("span", { className: me.author, children: [
|
|
470
470
|
/* @__PURE__ */ e(Je, { size: 16, weight: "regular" }),
|
|
471
471
|
n
|
|
472
472
|
] }),
|
|
473
|
-
t && /* @__PURE__ */ i("span", { className:
|
|
473
|
+
t && /* @__PURE__ */ i("span", { className: me.date, children: [
|
|
474
474
|
/* @__PURE__ */ e(Ze, { size: 16, weight: "regular" }),
|
|
475
475
|
s("ui.lastEdited"),
|
|
476
476
|
": ",
|
|
@@ -478,8 +478,8 @@ function pe({ date: t, author: n }) {
|
|
|
478
478
|
] })
|
|
479
479
|
] });
|
|
480
480
|
}
|
|
481
|
-
const
|
|
482
|
-
tableOfContents:
|
|
481
|
+
const zt = "_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 = {
|
|
482
|
+
tableOfContents: zt,
|
|
483
483
|
header: Kt,
|
|
484
484
|
title: Ut,
|
|
485
485
|
nav: Gt,
|
|
@@ -497,57 +497,57 @@ function an({
|
|
|
497
497
|
content: t,
|
|
498
498
|
englishContent: n
|
|
499
499
|
}) {
|
|
500
|
-
const { t: s } = j(), c = Y(),
|
|
500
|
+
const { t: s } = j(), c = Y(), h = Q(), [r, _] = T([]), [d, u] = T(""), a = G(null);
|
|
501
501
|
S(() => {
|
|
502
502
|
u(""), (() => {
|
|
503
|
-
const
|
|
504
|
-
let w =
|
|
505
|
-
const
|
|
503
|
+
const l = /^(#{1,6})\s+(.+)$/gm, v = [];
|
|
504
|
+
let w = l.exec(t);
|
|
505
|
+
const g = [];
|
|
506
506
|
for (; w !== null; ) {
|
|
507
|
-
const
|
|
508
|
-
|
|
507
|
+
const y = w[1].length, P = w[2].trim();
|
|
508
|
+
g.push({ level: y, text: P }), w = l.exec(t);
|
|
509
509
|
}
|
|
510
510
|
const k = /^(#{1,6})\s+(.+)$/gm;
|
|
511
|
-
let
|
|
512
|
-
for (;
|
|
513
|
-
const
|
|
514
|
-
|
|
511
|
+
let f = k.exec(n), b = 0;
|
|
512
|
+
for (; f !== null && b < g.length; ) {
|
|
513
|
+
const y = f[2].trim(), P = ee(y);
|
|
514
|
+
v.push({
|
|
515
515
|
id: P,
|
|
516
|
-
text:
|
|
516
|
+
text: g[b].text,
|
|
517
517
|
// Use localized text for display
|
|
518
|
-
level:
|
|
519
|
-
}), b++,
|
|
518
|
+
level: g[b].level
|
|
519
|
+
}), b++, f = k.exec(n);
|
|
520
520
|
}
|
|
521
|
-
_(
|
|
521
|
+
_(v);
|
|
522
522
|
})();
|
|
523
523
|
}, [t, n]), S(() => {
|
|
524
524
|
if (r.length === 0) return;
|
|
525
525
|
const o = setTimeout(() => {
|
|
526
|
-
const
|
|
527
|
-
(
|
|
526
|
+
const l = r.filter(
|
|
527
|
+
(v) => !document.getElementById(v.id)
|
|
528
528
|
);
|
|
529
|
-
|
|
529
|
+
l.length > 0 && console.warn("Some heading elements not found:", l);
|
|
530
530
|
}, 100);
|
|
531
531
|
return () => clearTimeout(o);
|
|
532
532
|
}, [r]), S(() => {
|
|
533
533
|
if (r.length === 0) return;
|
|
534
534
|
a.current && a.current.disconnect();
|
|
535
535
|
const o = setTimeout(() => {
|
|
536
|
-
const
|
|
537
|
-
|
|
538
|
-
(
|
|
539
|
-
const w =
|
|
536
|
+
const l = r.map((v) => document.getElementById(v.id)).filter(Boolean);
|
|
537
|
+
l.length !== 0 && (a.current = new IntersectionObserver(
|
|
538
|
+
(v) => {
|
|
539
|
+
const w = v.filter((g) => g.isIntersecting);
|
|
540
540
|
if (w.length > 0) {
|
|
541
|
-
const
|
|
542
|
-
u(
|
|
541
|
+
const g = w.reduce((k, f) => k.boundingClientRect.top < f.boundingClientRect.top ? k : f);
|
|
542
|
+
u(g.target.id);
|
|
543
543
|
}
|
|
544
544
|
},
|
|
545
545
|
{
|
|
546
546
|
rootMargin: "-80px 0% -80% 0%",
|
|
547
547
|
threshold: 0
|
|
548
548
|
}
|
|
549
|
-
),
|
|
550
|
-
a.current && a.current.observe(
|
|
549
|
+
), l.forEach((v) => {
|
|
550
|
+
a.current && a.current.observe(v);
|
|
551
551
|
}));
|
|
552
552
|
}, 150);
|
|
553
553
|
return () => {
|
|
@@ -556,30 +556,30 @@ function an({
|
|
|
556
556
|
}, [r]), S(() => () => {
|
|
557
557
|
a.current && a.current.disconnect();
|
|
558
558
|
}, []);
|
|
559
|
-
const
|
|
560
|
-
const
|
|
561
|
-
if (
|
|
562
|
-
const
|
|
563
|
-
|
|
564
|
-
`${c.pathname}?${
|
|
559
|
+
const m = (o) => {
|
|
560
|
+
const l = document.getElementById(o);
|
|
561
|
+
if (l) {
|
|
562
|
+
const v = new URLSearchParams(c.search);
|
|
563
|
+
v.set("a", o), h(
|
|
564
|
+
`${c.pathname}?${v.toString()}${c.hash}`,
|
|
565
565
|
{
|
|
566
566
|
replace: !0
|
|
567
567
|
}
|
|
568
568
|
);
|
|
569
|
-
const k =
|
|
569
|
+
const k = l.getBoundingClientRect().top + window.pageYOffset - 80;
|
|
570
570
|
window.scrollTo({
|
|
571
571
|
top: k,
|
|
572
572
|
behavior: "smooth"
|
|
573
573
|
});
|
|
574
574
|
}
|
|
575
575
|
};
|
|
576
|
-
return r.length === 0 ? null : /* @__PURE__ */ i("aside", { className:
|
|
577
|
-
/* @__PURE__ */ e("div", { className:
|
|
578
|
-
/* @__PURE__ */ e("nav", { className:
|
|
576
|
+
return r.length === 0 ? null : /* @__PURE__ */ i("aside", { className: F.tableOfContents, children: [
|
|
577
|
+
/* @__PURE__ */ e("div", { className: F.header, children: /* @__PURE__ */ e("span", { className: F.title, children: s("ui.onThisPage", "On this page") }) }),
|
|
578
|
+
/* @__PURE__ */ e("nav", { className: F.nav, children: /* @__PURE__ */ e("ul", { className: F.list, children: r.map((o) => /* @__PURE__ */ e("li", { className: F.item, children: /* @__PURE__ */ e(
|
|
579
579
|
"button",
|
|
580
580
|
{
|
|
581
|
-
className: `${
|
|
582
|
-
onClick: () =>
|
|
581
|
+
className: `${F.link} ${F[`level${o.level}`]} ${d === o.id ? F.active : ""}`,
|
|
582
|
+
onClick: () => m(o.id),
|
|
583
583
|
type: "button",
|
|
584
584
|
children: o.text
|
|
585
585
|
}
|
|
@@ -605,15 +605,15 @@ function pn({
|
|
|
605
605
|
language: s,
|
|
606
606
|
onClose: c
|
|
607
607
|
}) {
|
|
608
|
-
const { t:
|
|
608
|
+
const { t: h } = j(), { config: r } = R(), _ = Q(), d = (u) => {
|
|
609
609
|
const a = r.basePath || "";
|
|
610
610
|
_(`${a}/${s}/${u}`), c();
|
|
611
611
|
};
|
|
612
|
-
return
|
|
612
|
+
return We(
|
|
613
613
|
/* @__PURE__ */ e("div", { className: H.overlay, onClick: c, children: /* @__PURE__ */ i("div", { className: H.modal, onClick: (u) => u.stopPropagation(), children: [
|
|
614
614
|
/* @__PURE__ */ i("div", { className: H.header, children: [
|
|
615
615
|
/* @__PURE__ */ i("h2", { className: H.title, children: [
|
|
616
|
-
|
|
616
|
+
h("ui.tagResults"),
|
|
617
617
|
": ",
|
|
618
618
|
t
|
|
619
619
|
] }),
|
|
@@ -628,7 +628,7 @@ function pn({
|
|
|
628
628
|
}
|
|
629
629
|
)
|
|
630
630
|
] }),
|
|
631
|
-
/* @__PURE__ */ e("div", { className: H.results, children: n.length === 0 ? /* @__PURE__ */ e("div", { className: H.noResults, children:
|
|
631
|
+
/* @__PURE__ */ e("div", { className: H.results, children: n.length === 0 ? /* @__PURE__ */ e("div", { className: H.noResults, children: h("ui.noTagResults") }) : /* @__PURE__ */ e("ul", { className: H.resultsList, children: n.map((u) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ i(
|
|
632
632
|
"button",
|
|
633
633
|
{
|
|
634
634
|
type: "button",
|
|
@@ -647,9 +647,9 @@ function pn({
|
|
|
647
647
|
document.body
|
|
648
648
|
);
|
|
649
649
|
}
|
|
650
|
-
const
|
|
651
|
-
tags:
|
|
652
|
-
compact:
|
|
650
|
+
const vn = "_tags_11t8a_1", fn = "_compact_11t8a_9", bn = "_tagLabel_11t8a_15", kn = "_tagIcon_11t8a_25", Nn = "_tagList_11t8a_30", wn = "_tag_11t8a_1", Z = {
|
|
651
|
+
tags: vn,
|
|
652
|
+
compact: fn,
|
|
653
653
|
tagLabel: bn,
|
|
654
654
|
tagIcon: kn,
|
|
655
655
|
tagList: Nn,
|
|
@@ -658,7 +658,7 @@ const fn = "_tags_11t8a_1", vn = "_compact_11t8a_9", bn = "_tagLabel_11t8a_15",
|
|
|
658
658
|
function In({ tags: t, variant: n = "default", onTagClick: s }) {
|
|
659
659
|
const { t: c } = j();
|
|
660
660
|
if (!t || t.length === 0) return null;
|
|
661
|
-
const
|
|
661
|
+
const h = (r) => {
|
|
662
662
|
s && s(r);
|
|
663
663
|
};
|
|
664
664
|
return /* @__PURE__ */ i(
|
|
@@ -678,7 +678,7 @@ function In({ tags: t, variant: n = "default", onTagClick: s }) {
|
|
|
678
678
|
{
|
|
679
679
|
type: "button",
|
|
680
680
|
className: Z.tag,
|
|
681
|
-
onClick: () =>
|
|
681
|
+
onClick: () => h(r),
|
|
682
682
|
"aria-label": `${c("ui.filterByTag")}: ${r}`,
|
|
683
683
|
children: r
|
|
684
684
|
},
|
|
@@ -688,39 +688,39 @@ function In({ tags: t, variant: n = "default", onTagClick: s }) {
|
|
|
688
688
|
}
|
|
689
689
|
);
|
|
690
690
|
}
|
|
691
|
-
const
|
|
692
|
-
contentPage:
|
|
691
|
+
const yn = "_contentPage_mc666_1", $n = "_withMetadata_mc666_30", Cn = "_loadingContainer_mc666_64", Tn = "_errorContainer_mc666_65", Ln = "_skeletonTitle_mc666_87", xn = "_skeletonParagraph_mc666_96", Sn = "_skeletonParagraphShort_mc666_109", Pn = "_errorText_mc666_123", Mn = "_mdxContent_mc666_128", Bn = "_codeBlock_mc666_316", En = "_codeLanguage_mc666_320", D = {
|
|
692
|
+
contentPage: yn,
|
|
693
|
+
withMetadata: $n,
|
|
693
694
|
loadingContainer: Cn,
|
|
694
|
-
errorContainer:
|
|
695
|
-
skeletonTitle:
|
|
696
|
-
skeletonParagraph:
|
|
697
|
-
skeletonParagraphShort:
|
|
698
|
-
errorText:
|
|
699
|
-
mdxContent:
|
|
700
|
-
withMetadata: Mn,
|
|
695
|
+
errorContainer: Tn,
|
|
696
|
+
skeletonTitle: Ln,
|
|
697
|
+
skeletonParagraph: xn,
|
|
698
|
+
skeletonParagraphShort: Sn,
|
|
699
|
+
errorText: Pn,
|
|
700
|
+
mdxContent: Mn,
|
|
701
701
|
codeBlock: Bn,
|
|
702
702
|
codeLanguage: En
|
|
703
|
-
},
|
|
703
|
+
}, Re = (t) => {
|
|
704
704
|
const n = t.match(/^\s*#\s+(.+)\s*(?:\n+|$)/);
|
|
705
705
|
return n ? {
|
|
706
706
|
title: n[1].trim(),
|
|
707
707
|
content: t.replace(/^\s*#\s+.+\s*(?:\n+|$)/, "")
|
|
708
708
|
} : { title: void 0, content: t };
|
|
709
709
|
};
|
|
710
|
-
function
|
|
711
|
-
var Ie, $e, Ce
|
|
712
|
-
const { slug: n } =
|
|
710
|
+
function An({ language: t }) {
|
|
711
|
+
var we, Ie, ye, $e, Ce;
|
|
712
|
+
const { slug: n } = pe(), s = Y(), { config: c, loadContent: h, loadEnglishContent: r, discoverArticles: _ } = R(), [d, u] = T(""), [a, m] = T(""), [o, l] = T({}), [v, w] = T(!0), [g, k] = T(null), [f, b] = T(!0), [y, P] = T(null), [N, C] = T(""), [M, W] = T({}), z = G(0), te = G([]), ce = Ue(s.search), V = ce.advanced;
|
|
713
713
|
if (S(() => {
|
|
714
714
|
(async () => {
|
|
715
715
|
if (n) {
|
|
716
|
-
w(!0), k(null),
|
|
716
|
+
w(!0), k(null), z.current = 0;
|
|
717
717
|
try {
|
|
718
718
|
let I;
|
|
719
719
|
try {
|
|
720
|
-
I = await
|
|
720
|
+
I = await h(t, n, V);
|
|
721
721
|
} catch {
|
|
722
722
|
if (V)
|
|
723
|
-
I = await
|
|
723
|
+
I = await h(t, n, !1);
|
|
724
724
|
else
|
|
725
725
|
throw new Error("Content not found");
|
|
726
726
|
}
|
|
@@ -732,22 +732,22 @@ function Dn({ language: t }) {
|
|
|
732
732
|
} catch {
|
|
733
733
|
V && (L = await r(n, !1));
|
|
734
734
|
}
|
|
735
|
-
const
|
|
736
|
-
let
|
|
737
|
-
if (
|
|
738
|
-
const ie =
|
|
739
|
-
|
|
735
|
+
const A = typeof I.frontmatter.title == "string" ? I.frontmatter.title : void 0;
|
|
736
|
+
let ne = I.content, J = L, ue = "";
|
|
737
|
+
if (A) {
|
|
738
|
+
const ie = Re(L), Qe = Re(I.content);
|
|
739
|
+
ue = ie.title || "", J = ie.content, ne = Qe.content;
|
|
740
740
|
} else
|
|
741
|
-
|
|
742
|
-
const
|
|
743
|
-
let
|
|
741
|
+
ue = "";
|
|
742
|
+
const Te = /^(#{1,6})\s+(.+)$/gm, Le = [];
|
|
743
|
+
let he = Te.exec(
|
|
744
744
|
J
|
|
745
745
|
);
|
|
746
|
-
for (;
|
|
747
|
-
const ie =
|
|
748
|
-
|
|
746
|
+
for (; he !== null; ) {
|
|
747
|
+
const ie = he[2].trim();
|
|
748
|
+
Le.push(ie), he = Te.exec(J);
|
|
749
749
|
}
|
|
750
|
-
te.current =
|
|
750
|
+
te.current = Le, C(ue), m(J), u(ne), l(I.frontmatter);
|
|
751
751
|
} catch (I) {
|
|
752
752
|
k(I instanceof Error ? I.message : "Failed to load content");
|
|
753
753
|
} finally {
|
|
@@ -755,14 +755,14 @@ function Dn({ language: t }) {
|
|
|
755
755
|
}
|
|
756
756
|
}
|
|
757
757
|
})();
|
|
758
|
-
}, [n, t, V,
|
|
759
|
-
if (!
|
|
760
|
-
const
|
|
761
|
-
|
|
758
|
+
}, [n, t, V, h, r]), S(() => {
|
|
759
|
+
if (!v && ce.anchor) {
|
|
760
|
+
const p = setTimeout(() => {
|
|
761
|
+
je(ce.anchor);
|
|
762
762
|
}, 150);
|
|
763
|
-
return () => clearTimeout(
|
|
763
|
+
return () => clearTimeout(p);
|
|
764
764
|
}
|
|
765
|
-
}, [
|
|
765
|
+
}, [v, ce.anchor]), S(() => {
|
|
766
766
|
(async () => {
|
|
767
767
|
if (!n || !c.showArticleNavigation) {
|
|
768
768
|
W({});
|
|
@@ -775,75 +775,68 @@ function Dn({ language: t }) {
|
|
|
775
775
|
console.error("Failed to calculate adjacent articles:", I), W({});
|
|
776
776
|
}
|
|
777
777
|
})();
|
|
778
|
-
}, [n, t, c.showArticleNavigation, _]),
|
|
779
|
-
return /* @__PURE__ */ e("div", { className:
|
|
780
|
-
/* @__PURE__ */ e("div", { className:
|
|
781
|
-
/* @__PURE__ */ e("div", { className:
|
|
782
|
-
/* @__PURE__ */ e("div", { className:
|
|
783
|
-
/* @__PURE__ */ e("div", { className:
|
|
778
|
+
}, [n, t, c.showArticleNavigation, _]), v)
|
|
779
|
+
return /* @__PURE__ */ e("div", { className: D.contentPage, children: /* @__PURE__ */ i("div", { className: D.loadingContainer, children: [
|
|
780
|
+
/* @__PURE__ */ e("div", { className: D.skeletonTitle }),
|
|
781
|
+
/* @__PURE__ */ e("div", { className: D.skeletonParagraph }),
|
|
782
|
+
/* @__PURE__ */ e("div", { className: D.skeletonParagraph }),
|
|
783
|
+
/* @__PURE__ */ e("div", { className: D.skeletonParagraphShort })
|
|
784
784
|
] }) });
|
|
785
|
-
if (
|
|
786
|
-
return /* @__PURE__ */ e("div", { className:
|
|
785
|
+
if (g)
|
|
786
|
+
return /* @__PURE__ */ e("div", { className: D.contentPage, children: /* @__PURE__ */ e("div", { className: D.errorContainer, children: /* @__PURE__ */ i("div", { className: D.errorText, children: [
|
|
787
787
|
"Error: ",
|
|
788
|
-
|
|
788
|
+
g
|
|
789
789
|
] }) }) });
|
|
790
|
-
const
|
|
791
|
-
|
|
792
|
-
let
|
|
793
|
-
const
|
|
794
|
-
|
|
790
|
+
const re = typeof o.title == "string" && o.title.trim().length > 0, Ge = re ? ee(N || o.title) : "", ke = !!(o.date || o.author);
|
|
791
|
+
z.current = 0;
|
|
792
|
+
let Ne = !1;
|
|
793
|
+
const le = (p, I) => {
|
|
794
|
+
p.preventDefault(), je(I), vt(I, V);
|
|
795
795
|
};
|
|
796
796
|
return /* @__PURE__ */ i(U, { children: [
|
|
797
|
-
/* @__PURE__ */ i("div", { className:
|
|
797
|
+
/* @__PURE__ */ i("div", { className: D.contentPage, children: [
|
|
798
798
|
/* @__PURE__ */ e(ut, { hasAdvanced: o.hasAdvanced || !1 }),
|
|
799
|
-
|
|
800
|
-
/* @__PURE__ */ e(
|
|
799
|
+
re && /* @__PURE__ */ i(U, { children: [
|
|
800
|
+
/* @__PURE__ */ e(Ot, { articleTitle: o.title, language: t }),
|
|
801
801
|
/* @__PURE__ */ e(
|
|
802
802
|
"h1",
|
|
803
803
|
{
|
|
804
|
-
id:
|
|
805
|
-
className:
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
{
|
|
809
|
-
href: `#${ue}`,
|
|
810
|
-
onClick: (g) => ne(g, ue),
|
|
811
|
-
style: { color: "inherit", textDecoration: "none" },
|
|
812
|
-
children: o.title
|
|
813
|
-
}
|
|
814
|
-
)
|
|
804
|
+
id: Ge,
|
|
805
|
+
className: ke ? D.withMetadata : void 0,
|
|
806
|
+
style: c.articleTitleFont ? { fontFamily: c.articleTitleFont } : void 0,
|
|
807
|
+
children: o.title
|
|
815
808
|
}
|
|
816
809
|
),
|
|
817
|
-
|
|
810
|
+
ke && /* @__PURE__ */ e(ge, { date: o.date, author: o.author })
|
|
818
811
|
] }),
|
|
819
|
-
/* @__PURE__ */ e("div", { className:
|
|
812
|
+
/* @__PURE__ */ e("div", { className: D.mdxContent, children: /* @__PURE__ */ e(
|
|
820
813
|
ct,
|
|
821
814
|
{
|
|
822
815
|
remarkPlugins: [rt],
|
|
823
816
|
components: {
|
|
824
|
-
h1: ({ children:
|
|
825
|
-
const I =
|
|
826
|
-
|
|
827
|
-
const
|
|
817
|
+
h1: ({ children: p }) => {
|
|
818
|
+
const I = z.current++, B = te.current[I] || "", L = ee(B), A = !Ne;
|
|
819
|
+
Ne = !0;
|
|
820
|
+
const ne = o.date || o.author;
|
|
828
821
|
return /* @__PURE__ */ i(U, { children: [
|
|
829
822
|
/* @__PURE__ */ e(
|
|
830
823
|
"h1",
|
|
831
824
|
{
|
|
832
825
|
id: L,
|
|
833
|
-
className:
|
|
826
|
+
className: A && ne && !re ? D.withMetadata : void 0,
|
|
834
827
|
children: /* @__PURE__ */ e(
|
|
835
828
|
"a",
|
|
836
829
|
{
|
|
837
830
|
href: `#${L}`,
|
|
838
|
-
onClick: (J) =>
|
|
831
|
+
onClick: (J) => le(J, L),
|
|
839
832
|
style: { color: "inherit", textDecoration: "none" },
|
|
840
|
-
children:
|
|
833
|
+
children: p
|
|
841
834
|
}
|
|
842
835
|
)
|
|
843
836
|
}
|
|
844
837
|
),
|
|
845
|
-
|
|
846
|
-
|
|
838
|
+
A && ne && !re && /* @__PURE__ */ e(
|
|
839
|
+
ge,
|
|
847
840
|
{
|
|
848
841
|
date: o.date,
|
|
849
842
|
author: o.author
|
|
@@ -851,88 +844,88 @@ function Dn({ language: t }) {
|
|
|
851
844
|
)
|
|
852
845
|
] });
|
|
853
846
|
},
|
|
854
|
-
h2: ({ children:
|
|
855
|
-
const I =
|
|
847
|
+
h2: ({ children: p }) => {
|
|
848
|
+
const I = z.current++, B = te.current[I] || "", L = ee(B);
|
|
856
849
|
return /* @__PURE__ */ e("h2", { id: L, children: /* @__PURE__ */ e(
|
|
857
850
|
"a",
|
|
858
851
|
{
|
|
859
852
|
href: `#${L}`,
|
|
860
|
-
onClick: (
|
|
853
|
+
onClick: (A) => le(A, L),
|
|
861
854
|
style: { color: "inherit", textDecoration: "none" },
|
|
862
|
-
children:
|
|
855
|
+
children: p
|
|
863
856
|
}
|
|
864
857
|
) });
|
|
865
858
|
},
|
|
866
|
-
h3: ({ children:
|
|
867
|
-
const I =
|
|
859
|
+
h3: ({ children: p }) => {
|
|
860
|
+
const I = z.current++, B = te.current[I] || "", L = ee(B);
|
|
868
861
|
return /* @__PURE__ */ e("h3", { id: L, children: /* @__PURE__ */ e(
|
|
869
862
|
"a",
|
|
870
863
|
{
|
|
871
864
|
href: `#${L}`,
|
|
872
|
-
onClick: (
|
|
865
|
+
onClick: (A) => le(A, L),
|
|
873
866
|
style: { color: "inherit", textDecoration: "none" },
|
|
874
|
-
children:
|
|
867
|
+
children: p
|
|
875
868
|
}
|
|
876
869
|
) });
|
|
877
870
|
},
|
|
878
|
-
h4: ({ children:
|
|
879
|
-
const I =
|
|
871
|
+
h4: ({ children: p }) => {
|
|
872
|
+
const I = z.current++, B = te.current[I] || "", L = ee(B);
|
|
880
873
|
return /* @__PURE__ */ e("h4", { id: L, children: /* @__PURE__ */ e(
|
|
881
874
|
"a",
|
|
882
875
|
{
|
|
883
876
|
href: `#${L}`,
|
|
884
|
-
onClick: (
|
|
877
|
+
onClick: (A) => le(A, L),
|
|
885
878
|
style: { color: "inherit", textDecoration: "none" },
|
|
886
|
-
children:
|
|
879
|
+
children: p
|
|
887
880
|
}
|
|
888
881
|
) });
|
|
889
882
|
},
|
|
890
|
-
h5: ({ children:
|
|
891
|
-
const I = `h5-${
|
|
892
|
-
return /* @__PURE__ */ e("h5", { id: I, children:
|
|
883
|
+
h5: ({ children: p }) => {
|
|
884
|
+
const I = `h5-${z.current++}`;
|
|
885
|
+
return /* @__PURE__ */ e("h5", { id: I, children: p });
|
|
893
886
|
},
|
|
894
|
-
h6: ({ children:
|
|
895
|
-
const I = `h6-${
|
|
896
|
-
return /* @__PURE__ */ e("h6", { id: I, children:
|
|
887
|
+
h6: ({ children: p }) => {
|
|
888
|
+
const I = `h6-${z.current++}`;
|
|
889
|
+
return /* @__PURE__ */ e("h6", { id: I, children: p });
|
|
897
890
|
},
|
|
898
|
-
p: ({ children:
|
|
899
|
-
ul: ({ children:
|
|
900
|
-
ol: ({ children:
|
|
901
|
-
li: ({ children:
|
|
902
|
-
code: ({ className:
|
|
903
|
-
if (!
|
|
891
|
+
p: ({ children: p }) => /* @__PURE__ */ e("p", { children: p }),
|
|
892
|
+
ul: ({ children: p }) => /* @__PURE__ */ e("ul", { children: p }),
|
|
893
|
+
ol: ({ children: p }) => /* @__PURE__ */ e("ol", { children: p }),
|
|
894
|
+
li: ({ children: p }) => /* @__PURE__ */ e("li", { children: p }),
|
|
895
|
+
code: ({ className: p, children: I, ...B }) => {
|
|
896
|
+
if (!p)
|
|
904
897
|
return /* @__PURE__ */ e("code", { ...B, children: I });
|
|
905
|
-
const
|
|
906
|
-
return /* @__PURE__ */ i("div", { className:
|
|
907
|
-
|
|
908
|
-
/* @__PURE__ */ e("pre", { children: /* @__PURE__ */ e("code", { className:
|
|
898
|
+
const A = (p == null ? void 0 : p.replace("language-", "")) || "";
|
|
899
|
+
return /* @__PURE__ */ i("div", { className: D.codeBlock, children: [
|
|
900
|
+
A && /* @__PURE__ */ e("div", { className: D.codeLanguage, children: A }),
|
|
901
|
+
/* @__PURE__ */ e("pre", { children: /* @__PURE__ */ e("code", { className: p, ...B, children: I }) })
|
|
909
902
|
] });
|
|
910
903
|
},
|
|
911
|
-
pre: ({ children:
|
|
904
|
+
pre: ({ children: p }) => /* @__PURE__ */ e(U, { children: p }),
|
|
912
905
|
// Let code component handle pre styling
|
|
913
|
-
blockquote: ({ children:
|
|
914
|
-
a: ({ href:
|
|
915
|
-
if (
|
|
916
|
-
const L =
|
|
906
|
+
blockquote: ({ children: p }) => /* @__PURE__ */ e("blockquote", { children: p }),
|
|
907
|
+
a: ({ href: p, children: I, ...B }) => {
|
|
908
|
+
if (p != null && p.startsWith("./")) {
|
|
909
|
+
const L = p.slice(2), A = pt(
|
|
917
910
|
L,
|
|
918
911
|
t,
|
|
919
912
|
c.basePath
|
|
920
913
|
);
|
|
921
|
-
return /* @__PURE__ */ e("a", { href:
|
|
914
|
+
return /* @__PURE__ */ e("a", { href: A, ...B, children: I });
|
|
922
915
|
}
|
|
923
|
-
return
|
|
916
|
+
return p != null && p.startsWith("http://") || p != null && p.startsWith("https://") ? /* @__PURE__ */ e(
|
|
924
917
|
"a",
|
|
925
918
|
{
|
|
926
|
-
href:
|
|
919
|
+
href: p,
|
|
927
920
|
target: "_blank",
|
|
928
921
|
rel: "noopener noreferrer",
|
|
929
922
|
...B,
|
|
930
923
|
children: I
|
|
931
924
|
}
|
|
932
|
-
) : /* @__PURE__ */ e("a", { href:
|
|
925
|
+
) : /* @__PURE__ */ e("a", { href: p, ...B, children: I });
|
|
933
926
|
},
|
|
934
|
-
strong: ({ children:
|
|
935
|
-
em: ({ children:
|
|
927
|
+
strong: ({ children: p }) => /* @__PURE__ */ e("strong", { children: p }),
|
|
928
|
+
em: ({ children: p }) => /* @__PURE__ */ e("em", { children: p })
|
|
936
929
|
},
|
|
937
930
|
children: d
|
|
938
931
|
}
|
|
@@ -943,42 +936,42 @@ function Dn({ language: t }) {
|
|
|
943
936
|
{
|
|
944
937
|
tags: o.tags,
|
|
945
938
|
variant: "compact",
|
|
946
|
-
onTagClick: (
|
|
939
|
+
onTagClick: (p) => P(p)
|
|
947
940
|
}
|
|
948
941
|
),
|
|
949
942
|
c.showArticleNavigation && /* @__PURE__ */ e(
|
|
950
943
|
Tt,
|
|
951
944
|
{
|
|
952
|
-
prevSlug: (
|
|
953
|
-
prevTitle: (
|
|
954
|
-
nextSlug: (
|
|
955
|
-
nextTitle: (
|
|
945
|
+
prevSlug: (we = M.prev) == null ? void 0 : we.slug,
|
|
946
|
+
prevTitle: (Ie = M.prev) == null ? void 0 : Ie.title,
|
|
947
|
+
nextSlug: (ye = M.next) == null ? void 0 : ye.slug,
|
|
948
|
+
nextTitle: ($e = M.next) == null ? void 0 : $e.title,
|
|
956
949
|
language: t
|
|
957
950
|
}
|
|
958
951
|
)
|
|
959
952
|
] }),
|
|
960
|
-
|
|
961
|
-
|
|
953
|
+
f && /* @__PURE__ */ e(an, { content: d, englishContent: a }),
|
|
954
|
+
y && ((Ce = c.tagIndex) == null ? void 0 : Ce[t]) && /* @__PURE__ */ e(
|
|
962
955
|
pn,
|
|
963
956
|
{
|
|
964
|
-
tag:
|
|
965
|
-
results: c.tagIndex[t][
|
|
957
|
+
tag: y,
|
|
958
|
+
results: c.tagIndex[t][y] || [],
|
|
966
959
|
language: t,
|
|
967
960
|
onClose: () => P(null)
|
|
968
961
|
}
|
|
969
962
|
)
|
|
970
963
|
] });
|
|
971
964
|
}
|
|
972
|
-
const
|
|
973
|
-
searchButton:
|
|
965
|
+
const Dn = "_searchButton_1k9sl_1", jn = "_searchIcon_1k9sl_17", Rn = "_searchHint_1k9sl_23", qn = "_kbd_1k9sl_27", On = "_searchOverlay_1k9sl_42", Wn = "_searchModal_1k9sl_67", Hn = "_searchHeader_1k9sl_91", Fn = "_searchInput_1k9sl_105", zn = "_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", x = {
|
|
966
|
+
searchButton: Dn,
|
|
974
967
|
searchIcon: jn,
|
|
975
968
|
searchHint: Rn,
|
|
976
|
-
kbd:
|
|
977
|
-
searchOverlay:
|
|
969
|
+
kbd: qn,
|
|
970
|
+
searchOverlay: On,
|
|
978
971
|
searchModal: Wn,
|
|
979
972
|
searchHeader: Hn,
|
|
980
|
-
searchInput:
|
|
981
|
-
closeButton:
|
|
973
|
+
searchInput: Fn,
|
|
974
|
+
closeButton: zn,
|
|
982
975
|
searchResults: Kn,
|
|
983
976
|
resultsList: Un,
|
|
984
977
|
resultItem: Gn,
|
|
@@ -990,65 +983,65 @@ const An = "_searchButton_1k9sl_1", jn = "_searchIcon_1k9sl_17", Rn = "_searchHi
|
|
|
990
983
|
hint: Zn
|
|
991
984
|
};
|
|
992
985
|
function ea({ language: t }) {
|
|
993
|
-
const { t: n } = j(), s = Q(), { config: c, discoverArticles:
|
|
986
|
+
const { t: n } = j(), s = Q(), { config: c, discoverArticles: h } = R(), [r, _] = T(!1), [d, u] = T(""), [a, m] = T([]), [o, l] = T(0), [v, w] = T([]), g = G(null), k = G(null), b = typeof navigator < "u" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) ? "⌘K" : "Ctrl+K";
|
|
994
987
|
S(() => {
|
|
995
988
|
(async () => {
|
|
996
989
|
try {
|
|
997
|
-
const M = (await
|
|
990
|
+
const M = (await h(t)).map((W) => ({
|
|
998
991
|
title: W.title,
|
|
999
992
|
slug: W.slug,
|
|
1000
993
|
description: W.description
|
|
1001
994
|
}));
|
|
1002
995
|
w(M);
|
|
1003
|
-
} catch (
|
|
1004
|
-
console.error("Failed to build search index:",
|
|
996
|
+
} catch (C) {
|
|
997
|
+
console.error("Failed to build search index:", C);
|
|
1005
998
|
}
|
|
1006
999
|
})();
|
|
1007
|
-
}, [t,
|
|
1000
|
+
}, [t, h]), S(() => {
|
|
1008
1001
|
if (!d.trim()) {
|
|
1009
|
-
|
|
1002
|
+
m([]), l(0);
|
|
1010
1003
|
return;
|
|
1011
1004
|
}
|
|
1012
|
-
const N = d.toLowerCase(),
|
|
1005
|
+
const N = d.toLowerCase(), C = v.filter(
|
|
1013
1006
|
(M) => {
|
|
1014
1007
|
var W;
|
|
1015
1008
|
return M.title.toLowerCase().includes(N) || M.slug.toLowerCase().includes(N) || ((W = M.description) == null ? void 0 : W.toLowerCase().includes(N));
|
|
1016
1009
|
}
|
|
1017
1010
|
);
|
|
1018
|
-
|
|
1019
|
-
}, [d,
|
|
1020
|
-
const N = (
|
|
1021
|
-
(
|
|
1011
|
+
m(C), l(0);
|
|
1012
|
+
}, [d, v]), S(() => {
|
|
1013
|
+
const N = (C) => {
|
|
1014
|
+
(C.metaKey || C.ctrlKey) && C.key === "k" && (C.preventDefault(), _(!0), setTimeout(() => {
|
|
1022
1015
|
var M;
|
|
1023
|
-
return (M =
|
|
1024
|
-
}, 100)),
|
|
1016
|
+
return (M = g.current) == null ? void 0 : M.focus();
|
|
1017
|
+
}, 100)), C.key === "Escape" && r && (_(!1), u(""));
|
|
1025
1018
|
};
|
|
1026
1019
|
return document.addEventListener("keydown", N), () => document.removeEventListener("keydown", N);
|
|
1027
1020
|
}, [r]), S(() => {
|
|
1028
1021
|
const N = () => {
|
|
1029
1022
|
_(!0), setTimeout(() => {
|
|
1030
1023
|
var M;
|
|
1031
|
-
return (M =
|
|
1024
|
+
return (M = g.current) == null ? void 0 : M.focus();
|
|
1032
1025
|
}, 100);
|
|
1033
|
-
},
|
|
1026
|
+
}, C = () => {
|
|
1034
1027
|
_(!1), u("");
|
|
1035
1028
|
};
|
|
1036
|
-
return window.addEventListener("blog:open-search", N), window.addEventListener("blog:close-search",
|
|
1037
|
-
window.removeEventListener("blog:open-search", N), window.removeEventListener("blog:close-search",
|
|
1029
|
+
return window.addEventListener("blog:open-search", N), window.addEventListener("blog:close-search", C), () => {
|
|
1030
|
+
window.removeEventListener("blog:open-search", N), window.removeEventListener("blog:close-search", C);
|
|
1038
1031
|
};
|
|
1039
1032
|
}, []);
|
|
1040
|
-
const
|
|
1041
|
-
N.key === "ArrowDown" ? (N.preventDefault(),
|
|
1033
|
+
const y = (N) => {
|
|
1034
|
+
N.key === "ArrowDown" ? (N.preventDefault(), l((C) => Math.min(C + 1, a.length - 1))) : N.key === "ArrowUp" ? (N.preventDefault(), l((C) => Math.max(C - 1, 0))) : N.key === "Enter" && a[o] && (N.preventDefault(), P(a[o].slug));
|
|
1042
1035
|
};
|
|
1043
1036
|
S(() => {
|
|
1044
|
-
const N = (
|
|
1045
|
-
k.current && !k.current.contains(
|
|
1037
|
+
const N = (C) => {
|
|
1038
|
+
k.current && !k.current.contains(C.target) && (_(!1), u(""));
|
|
1046
1039
|
};
|
|
1047
1040
|
return r && document.addEventListener("mousedown", N), () => document.removeEventListener("mousedown", N);
|
|
1048
1041
|
}, [r]);
|
|
1049
1042
|
const P = (N) => {
|
|
1050
|
-
const
|
|
1051
|
-
s(`${
|
|
1043
|
+
const C = c.basePath || "";
|
|
1044
|
+
s(`${C}/${t}/${N}`), _(!1), u("");
|
|
1052
1045
|
};
|
|
1053
1046
|
return /* @__PURE__ */ i(U, { children: [
|
|
1054
1047
|
/* @__PURE__ */ i(
|
|
@@ -1059,18 +1052,18 @@ function ea({ language: t }) {
|
|
|
1059
1052
|
onClick: () => {
|
|
1060
1053
|
_(!0), setTimeout(() => {
|
|
1061
1054
|
var N;
|
|
1062
|
-
return (N =
|
|
1055
|
+
return (N = g.current) == null ? void 0 : N.focus();
|
|
1063
1056
|
}, 100);
|
|
1064
1057
|
},
|
|
1065
1058
|
"aria-label": n("ui.search"),
|
|
1066
1059
|
children: [
|
|
1067
|
-
/* @__PURE__ */ e(
|
|
1060
|
+
/* @__PURE__ */ e(Se, { className: x.searchIcon }),
|
|
1068
1061
|
/* @__PURE__ */ e("span", { className: x.searchHint, children: n("ui.search") }),
|
|
1069
1062
|
/* @__PURE__ */ e("kbd", { className: x.kbd, children: b })
|
|
1070
1063
|
]
|
|
1071
1064
|
}
|
|
1072
1065
|
),
|
|
1073
|
-
r &&
|
|
1066
|
+
r && We(
|
|
1074
1067
|
/* @__PURE__ */ e(
|
|
1075
1068
|
"div",
|
|
1076
1069
|
{
|
|
@@ -1086,17 +1079,17 @@ function ea({ language: t }) {
|
|
|
1086
1079
|
onClick: (N) => N.stopPropagation(),
|
|
1087
1080
|
children: [
|
|
1088
1081
|
/* @__PURE__ */ i("div", { className: x.searchHeader, children: [
|
|
1089
|
-
/* @__PURE__ */ e(
|
|
1082
|
+
/* @__PURE__ */ e(Se, { className: x.searchIcon }),
|
|
1090
1083
|
/* @__PURE__ */ e(
|
|
1091
1084
|
"input",
|
|
1092
1085
|
{
|
|
1093
|
-
ref:
|
|
1086
|
+
ref: g,
|
|
1094
1087
|
type: "text",
|
|
1095
1088
|
className: x.searchInput,
|
|
1096
1089
|
placeholder: n("ui.searchPlaceholder"),
|
|
1097
1090
|
value: d,
|
|
1098
1091
|
onChange: (N) => u(N.target.value),
|
|
1099
|
-
onKeyDown:
|
|
1092
|
+
onKeyDown: y
|
|
1100
1093
|
}
|
|
1101
1094
|
),
|
|
1102
1095
|
/* @__PURE__ */ e(
|
|
@@ -1112,13 +1105,13 @@ function ea({ language: t }) {
|
|
|
1112
1105
|
}
|
|
1113
1106
|
)
|
|
1114
1107
|
] }),
|
|
1115
|
-
d && /* @__PURE__ */ e("div", { className: x.searchResults, children: a.length === 0 ? /* @__PURE__ */ e("div", { className: x.noResults, children: n("ui.noSearchResults") }) : /* @__PURE__ */ e("ul", { className: x.resultsList, children: a.map((N,
|
|
1108
|
+
d && /* @__PURE__ */ e("div", { className: x.searchResults, children: a.length === 0 ? /* @__PURE__ */ e("div", { className: x.noResults, children: n("ui.noSearchResults") }) : /* @__PURE__ */ e("ul", { className: x.resultsList, children: a.map((N, C) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ i(
|
|
1116
1109
|
"button",
|
|
1117
1110
|
{
|
|
1118
1111
|
type: "button",
|
|
1119
|
-
className: `${x.resultItem} ${
|
|
1112
|
+
className: `${x.resultItem} ${C === o ? x.selected : ""}`,
|
|
1120
1113
|
onClick: () => P(N.slug),
|
|
1121
|
-
onMouseEnter: () =>
|
|
1114
|
+
onMouseEnter: () => l(C),
|
|
1122
1115
|
children: [
|
|
1123
1116
|
/* @__PURE__ */ e("div", { className: x.resultTitle, children: N.title }),
|
|
1124
1117
|
/* @__PURE__ */ i("div", { className: x.resultSlug, children: [
|
|
@@ -1152,7 +1145,7 @@ function ea({ language: t }) {
|
|
|
1152
1145
|
)
|
|
1153
1146
|
] });
|
|
1154
1147
|
}
|
|
1155
|
-
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",
|
|
1148
|
+
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", va = "_dropdownMenu_jrobc_208", fa = "_dropdownItem_jrobc_221", ba = "_dropdownIcon_jrobc_244", $ = {
|
|
1156
1149
|
header: ta,
|
|
1157
1150
|
container: na,
|
|
1158
1151
|
content: aa,
|
|
@@ -1169,62 +1162,62 @@ const ta = "_header_jrobc_1", na = "_container_jrobc_24", aa = "_content_jrobc_3
|
|
|
1169
1162
|
themeIcon: _a,
|
|
1170
1163
|
supportButton: ga,
|
|
1171
1164
|
caretIcon: pa,
|
|
1172
|
-
dropdownMenu:
|
|
1173
|
-
dropdownItem:
|
|
1165
|
+
dropdownMenu: va,
|
|
1166
|
+
dropdownItem: fa,
|
|
1174
1167
|
dropdownIcon: ba
|
|
1175
1168
|
};
|
|
1176
1169
|
function ka({ onMobileMenuToggle: t }) {
|
|
1177
|
-
const { t: n, i18n: s } = j(), { config: c } = R(),
|
|
1170
|
+
const { t: n, i18n: s } = j(), { config: c } = R(), h = c.header ?? {}, r = h.navLinks ?? [], _ = h.dropdownItems ?? [], [d, u] = T(!1), [a, m] = T(!1), { theme: o, setTheme: l } = ze(), v = G(null), w = G(null);
|
|
1178
1171
|
return S(() => {
|
|
1179
|
-
const
|
|
1180
|
-
|
|
1172
|
+
const g = (k) => {
|
|
1173
|
+
v.current && !v.current.contains(k.target) && u(!1), w.current && !w.current.contains(k.target) && m(!1);
|
|
1181
1174
|
};
|
|
1182
|
-
return document.addEventListener("mousedown",
|
|
1183
|
-
}, []), /* @__PURE__ */ e("header", { className:
|
|
1184
|
-
/* @__PURE__ */ i("div", { className:
|
|
1175
|
+
return document.addEventListener("mousedown", g), () => document.removeEventListener("mousedown", g);
|
|
1176
|
+
}, []), /* @__PURE__ */ e("header", { className: $.header, children: /* @__PURE__ */ e("div", { className: $.container, children: /* @__PURE__ */ i("div", { className: $.content, children: [
|
|
1177
|
+
/* @__PURE__ */ i("div", { className: $.leftSection, children: [
|
|
1185
1178
|
/* @__PURE__ */ e(
|
|
1186
1179
|
"button",
|
|
1187
1180
|
{
|
|
1188
1181
|
type: "button",
|
|
1189
|
-
className:
|
|
1182
|
+
className: $.mobileMenuButton,
|
|
1190
1183
|
onClick: t,
|
|
1191
1184
|
"aria-label": "Open menu",
|
|
1192
|
-
children: /* @__PURE__ */ e(tt, { className:
|
|
1185
|
+
children: /* @__PURE__ */ e(tt, { className: $.burgerIcon })
|
|
1193
1186
|
}
|
|
1194
1187
|
),
|
|
1195
|
-
/* @__PURE__ */ e("div", { className:
|
|
1188
|
+
/* @__PURE__ */ e("div", { className: $.logo })
|
|
1196
1189
|
] }),
|
|
1197
|
-
/* @__PURE__ */ i("nav", { className:
|
|
1190
|
+
/* @__PURE__ */ i("nav", { className: $.nav, children: [
|
|
1198
1191
|
/* @__PURE__ */ e(ea, { language: s.language }),
|
|
1199
|
-
/* @__PURE__ */ i("div", { className:
|
|
1192
|
+
/* @__PURE__ */ i("div", { className: $.themeDropdown, ref: w, children: [
|
|
1200
1193
|
/* @__PURE__ */ i(
|
|
1201
1194
|
"button",
|
|
1202
1195
|
{
|
|
1203
1196
|
type: "button",
|
|
1204
|
-
className:
|
|
1205
|
-
onClick: () =>
|
|
1197
|
+
className: $.themeButton,
|
|
1198
|
+
onClick: () => m(!a),
|
|
1206
1199
|
"aria-expanded": a,
|
|
1207
1200
|
"aria-haspopup": "true",
|
|
1208
1201
|
"aria-label": n("ui.theme"),
|
|
1209
1202
|
children: [
|
|
1210
|
-
o === "light" && /* @__PURE__ */ e(
|
|
1211
|
-
o === "dark" && /* @__PURE__ */ e(
|
|
1212
|
-
o === "system" && /* @__PURE__ */ e(
|
|
1213
|
-
/* @__PURE__ */ e(
|
|
1203
|
+
o === "light" && /* @__PURE__ */ e(Pe, { className: $.themeIcon }),
|
|
1204
|
+
o === "dark" && /* @__PURE__ */ e(Me, { className: $.themeIcon }),
|
|
1205
|
+
o === "system" && /* @__PURE__ */ e(Be, { className: $.themeIcon }),
|
|
1206
|
+
/* @__PURE__ */ e(_e, { className: $.caretIcon })
|
|
1214
1207
|
]
|
|
1215
1208
|
}
|
|
1216
1209
|
),
|
|
1217
|
-
a && /* @__PURE__ */ i("div", { className:
|
|
1210
|
+
a && /* @__PURE__ */ i("div", { className: $.dropdownMenu, children: [
|
|
1218
1211
|
/* @__PURE__ */ i(
|
|
1219
1212
|
"button",
|
|
1220
1213
|
{
|
|
1221
1214
|
type: "button",
|
|
1222
1215
|
onClick: () => {
|
|
1223
|
-
|
|
1216
|
+
l("light"), m(!1);
|
|
1224
1217
|
},
|
|
1225
|
-
className:
|
|
1218
|
+
className: $.dropdownItem,
|
|
1226
1219
|
children: [
|
|
1227
|
-
/* @__PURE__ */ e(
|
|
1220
|
+
/* @__PURE__ */ e(Pe, { className: $.dropdownIcon }),
|
|
1228
1221
|
n("ui.light")
|
|
1229
1222
|
]
|
|
1230
1223
|
}
|
|
@@ -1234,11 +1227,11 @@ function ka({ onMobileMenuToggle: t }) {
|
|
|
1234
1227
|
{
|
|
1235
1228
|
type: "button",
|
|
1236
1229
|
onClick: () => {
|
|
1237
|
-
|
|
1230
|
+
l("dark"), m(!1);
|
|
1238
1231
|
},
|
|
1239
|
-
className:
|
|
1232
|
+
className: $.dropdownItem,
|
|
1240
1233
|
children: [
|
|
1241
|
-
/* @__PURE__ */ e(
|
|
1234
|
+
/* @__PURE__ */ e(Me, { className: $.dropdownIcon }),
|
|
1242
1235
|
n("ui.dark")
|
|
1243
1236
|
]
|
|
1244
1237
|
}
|
|
@@ -1248,62 +1241,62 @@ function ka({ onMobileMenuToggle: t }) {
|
|
|
1248
1241
|
{
|
|
1249
1242
|
type: "button",
|
|
1250
1243
|
onClick: () => {
|
|
1251
|
-
|
|
1244
|
+
l("system"), m(!1);
|
|
1252
1245
|
},
|
|
1253
|
-
className:
|
|
1246
|
+
className: $.dropdownItem,
|
|
1254
1247
|
children: [
|
|
1255
|
-
/* @__PURE__ */ e(
|
|
1248
|
+
/* @__PURE__ */ e(Be, { className: $.dropdownIcon }),
|
|
1256
1249
|
n("ui.system")
|
|
1257
1250
|
]
|
|
1258
1251
|
}
|
|
1259
1252
|
)
|
|
1260
1253
|
] })
|
|
1261
1254
|
] }),
|
|
1262
|
-
_.length > 0 && /* @__PURE__ */ i("div", { className:
|
|
1255
|
+
_.length > 0 && /* @__PURE__ */ i("div", { className: $.supportDropdown, ref: v, children: [
|
|
1263
1256
|
/* @__PURE__ */ i(
|
|
1264
1257
|
"button",
|
|
1265
1258
|
{
|
|
1266
1259
|
type: "button",
|
|
1267
|
-
className:
|
|
1260
|
+
className: $.supportButton,
|
|
1268
1261
|
onClick: () => u(!d),
|
|
1269
1262
|
"aria-expanded": d,
|
|
1270
1263
|
"aria-haspopup": "true",
|
|
1271
1264
|
children: [
|
|
1272
1265
|
n("ui.support"),
|
|
1273
|
-
/* @__PURE__ */ e(
|
|
1266
|
+
/* @__PURE__ */ e(_e, { className: $.caretIcon })
|
|
1274
1267
|
]
|
|
1275
1268
|
}
|
|
1276
1269
|
),
|
|
1277
|
-
d && /* @__PURE__ */ e("div", { className:
|
|
1278
|
-
const
|
|
1270
|
+
d && /* @__PURE__ */ e("div", { className: $.dropdownMenu, children: _.map((g, k) => {
|
|
1271
|
+
const f = g.target ?? (g.url.startsWith("http") ? "_blank" : "_self"), b = g.rel ?? (f === "_blank" ? "noopener noreferrer" : void 0), y = g.icon;
|
|
1279
1272
|
return /* @__PURE__ */ i(
|
|
1280
1273
|
"a",
|
|
1281
1274
|
{
|
|
1282
|
-
href:
|
|
1283
|
-
target:
|
|
1275
|
+
href: g.url,
|
|
1276
|
+
target: f,
|
|
1284
1277
|
rel: b,
|
|
1285
|
-
className:
|
|
1278
|
+
className: $.dropdownItem,
|
|
1286
1279
|
children: [
|
|
1287
|
-
|
|
1288
|
-
|
|
1280
|
+
y && /* @__PURE__ */ e(y, { className: $.dropdownIcon }),
|
|
1281
|
+
g.label
|
|
1289
1282
|
]
|
|
1290
1283
|
},
|
|
1291
1284
|
k
|
|
1292
1285
|
);
|
|
1293
1286
|
}) })
|
|
1294
1287
|
] }),
|
|
1295
|
-
r.map((
|
|
1296
|
-
const
|
|
1288
|
+
r.map((g, k) => {
|
|
1289
|
+
const f = g.target ?? (typeof g.url == "string" && g.url.startsWith("http") ? "_blank" : "_self"), b = g.rel ?? (f === "_blank" ? "noopener noreferrer" : void 0), y = g.icon;
|
|
1297
1290
|
return /* @__PURE__ */ i(
|
|
1298
1291
|
"a",
|
|
1299
1292
|
{
|
|
1300
|
-
href:
|
|
1301
|
-
target:
|
|
1293
|
+
href: g.url,
|
|
1294
|
+
target: f,
|
|
1302
1295
|
rel: b,
|
|
1303
|
-
className:
|
|
1296
|
+
className: g.className ?? $.navLink,
|
|
1304
1297
|
children: [
|
|
1305
|
-
|
|
1306
|
-
|
|
1298
|
+
g.label,
|
|
1299
|
+
y && /* @__PURE__ */ e(y, { className: $.externalIcon })
|
|
1307
1300
|
]
|
|
1308
1301
|
},
|
|
1309
1302
|
k
|
|
@@ -1312,27 +1305,27 @@ function ka({ onMobileMenuToggle: t }) {
|
|
|
1312
1305
|
] })
|
|
1313
1306
|
] }) }) });
|
|
1314
1307
|
}
|
|
1315
|
-
function
|
|
1308
|
+
function fe({
|
|
1316
1309
|
styles: t,
|
|
1317
1310
|
onLanguageChange: n
|
|
1318
1311
|
}) {
|
|
1319
|
-
const { i18n: s } = j(), c = Y(),
|
|
1320
|
-
const
|
|
1312
|
+
const { i18n: s } = j(), c = Y(), h = Q(), { config: r } = R(), [_, d] = T(!1), u = G(null), a = s.language, m = (l) => {
|
|
1313
|
+
const v = r.basePath || "";
|
|
1321
1314
|
let w = c.pathname;
|
|
1322
|
-
|
|
1323
|
-
const
|
|
1324
|
-
let
|
|
1325
|
-
r.supportedLanguages.includes(k) ? (
|
|
1326
|
-
const b =
|
|
1327
|
-
s.changeLanguage(
|
|
1315
|
+
v && w.startsWith(v) && (w = w.slice(v.length));
|
|
1316
|
+
const g = w.split("/").filter(Boolean), k = g[0];
|
|
1317
|
+
let f = "";
|
|
1318
|
+
r.supportedLanguages.includes(k) ? (g[0] = l, f = `${v}/${g.join("/")}`) : f = `${v}/${l}${w}`;
|
|
1319
|
+
const b = f + c.search + c.hash;
|
|
1320
|
+
s.changeLanguage(l), h(b), d(!1), n == null || n();
|
|
1328
1321
|
};
|
|
1329
1322
|
S(() => {
|
|
1330
|
-
const
|
|
1331
|
-
u.current && !u.current.contains(
|
|
1323
|
+
const l = (v) => {
|
|
1324
|
+
u.current && !u.current.contains(v.target) && d(!1);
|
|
1332
1325
|
};
|
|
1333
|
-
return document.addEventListener("mousedown",
|
|
1326
|
+
return document.addEventListener("mousedown", l), () => document.removeEventListener("mousedown", l);
|
|
1334
1327
|
}, []);
|
|
1335
|
-
const o = (
|
|
1328
|
+
const o = (l) => s.getFixedT(l)("language") || l;
|
|
1336
1329
|
return /* @__PURE__ */ i("div", { className: t.languageSelect, ref: u, children: [
|
|
1337
1330
|
/* @__PURE__ */ i(
|
|
1338
1331
|
"button",
|
|
@@ -1345,74 +1338,74 @@ function be({
|
|
|
1345
1338
|
children: [
|
|
1346
1339
|
/* @__PURE__ */ e(nt, { className: t.icon }),
|
|
1347
1340
|
o(a),
|
|
1348
|
-
/* @__PURE__ */ e(
|
|
1341
|
+
/* @__PURE__ */ e(_e, { className: t.chevron })
|
|
1349
1342
|
]
|
|
1350
1343
|
}
|
|
1351
1344
|
),
|
|
1352
|
-
_ && /* @__PURE__ */ e("div", { className: t.languageDropdown, role: "listbox", children: r.supportedLanguages.map((
|
|
1345
|
+
_ && /* @__PURE__ */ e("div", { className: t.languageDropdown, role: "listbox", children: r.supportedLanguages.map((l) => /* @__PURE__ */ e(
|
|
1353
1346
|
"button",
|
|
1354
1347
|
{
|
|
1355
1348
|
type: "button",
|
|
1356
|
-
className: `${t.languageOption} ${
|
|
1357
|
-
onClick: () => l
|
|
1349
|
+
className: `${t.languageOption} ${l === a ? t.selected : ""}`,
|
|
1350
|
+
onClick: () => m(l),
|
|
1358
1351
|
role: "option",
|
|
1359
|
-
"aria-selected":
|
|
1360
|
-
children: o(
|
|
1352
|
+
"aria-selected": l === a,
|
|
1353
|
+
children: o(l)
|
|
1361
1354
|
},
|
|
1362
|
-
|
|
1355
|
+
l
|
|
1363
1356
|
)) })
|
|
1364
1357
|
] });
|
|
1365
1358
|
}
|
|
1366
|
-
function
|
|
1367
|
-
const { i18n: s } = j(), c = Y(), { config:
|
|
1359
|
+
function be({ styles: t, onLinkClick: n }) {
|
|
1360
|
+
const { i18n: s } = j(), c = Y(), { config: h, loadContent: r } = R(), [_, d] = T([]), [u, a] = T({}), [m, o] = T(!0), l = s.language;
|
|
1368
1361
|
S(() => {
|
|
1369
1362
|
(async () => {
|
|
1370
|
-
if (!
|
|
1363
|
+
if (!h.navigationData) {
|
|
1371
1364
|
o(!1);
|
|
1372
1365
|
return;
|
|
1373
1366
|
}
|
|
1374
1367
|
try {
|
|
1375
1368
|
const b = await _t(
|
|
1376
|
-
|
|
1377
|
-
|
|
1369
|
+
h.navigationData,
|
|
1370
|
+
l,
|
|
1378
1371
|
r
|
|
1379
|
-
),
|
|
1380
|
-
(P, N,
|
|
1381
|
-
if (
|
|
1382
|
-
const M =
|
|
1372
|
+
), y = b.reduce(
|
|
1373
|
+
(P, N, C) => {
|
|
1374
|
+
if (De(N)) {
|
|
1375
|
+
const M = h.navigationData[C], W = "items" in M && M.defaultOpen === !0;
|
|
1383
1376
|
P[N.title] = W;
|
|
1384
1377
|
}
|
|
1385
1378
|
return P;
|
|
1386
1379
|
},
|
|
1387
1380
|
{}
|
|
1388
1381
|
);
|
|
1389
|
-
a(
|
|
1382
|
+
a(y), d(b), o(!1);
|
|
1390
1383
|
} catch (b) {
|
|
1391
1384
|
console.error("Failed to load navigation data:", b), o(!1);
|
|
1392
1385
|
}
|
|
1393
1386
|
})();
|
|
1394
|
-
}, [
|
|
1395
|
-
const
|
|
1387
|
+
}, [l, h.navigationData, r]);
|
|
1388
|
+
const v = (f) => {
|
|
1396
1389
|
a((b) => ({
|
|
1397
1390
|
...b,
|
|
1398
|
-
[
|
|
1391
|
+
[f]: !b[f]
|
|
1399
1392
|
}));
|
|
1400
|
-
}, w = (
|
|
1401
|
-
const b =
|
|
1402
|
-
let
|
|
1403
|
-
b &&
|
|
1404
|
-
const P =
|
|
1405
|
-
return P[P.length - 1] ===
|
|
1406
|
-
},
|
|
1407
|
-
const b =
|
|
1408
|
-
let
|
|
1409
|
-
b &&
|
|
1410
|
-
const P =
|
|
1411
|
-
return P[0] &&
|
|
1393
|
+
}, w = (f) => {
|
|
1394
|
+
const b = h.basePath || "";
|
|
1395
|
+
let y = c.pathname;
|
|
1396
|
+
b && y.startsWith(b) && (y = y.slice(b.length));
|
|
1397
|
+
const P = y.split("/").filter(Boolean);
|
|
1398
|
+
return P[P.length - 1] === f;
|
|
1399
|
+
}, g = (f) => {
|
|
1400
|
+
const b = h.basePath || "";
|
|
1401
|
+
let y = c.pathname;
|
|
1402
|
+
b && y.startsWith(b) && (y = y.slice(b.length));
|
|
1403
|
+
const P = y.split("/").filter(Boolean);
|
|
1404
|
+
return P[0] && h.supportedLanguages.includes(P[0]) ? `${b}/${P[0]}/${f}` : `${b}/${l}/${f}`;
|
|
1412
1405
|
}, k = () => {
|
|
1413
1406
|
n == null || n();
|
|
1414
1407
|
};
|
|
1415
|
-
return
|
|
1408
|
+
return m ? /* @__PURE__ */ i("div", { className: t.navigation, children: [
|
|
1416
1409
|
/* @__PURE__ */ i("div", { className: t.skeletonSection, children: [
|
|
1417
1410
|
/* @__PURE__ */ e("div", { className: t.skeletonSectionTitle }),
|
|
1418
1411
|
/* @__PURE__ */ i("div", { className: t.skeletonSectionItems, children: [
|
|
@@ -1427,38 +1420,38 @@ function ke({ styles: t, onLinkClick: n }) {
|
|
|
1427
1420
|
/* @__PURE__ */ e("div", { className: t.skeletonItem })
|
|
1428
1421
|
] })
|
|
1429
1422
|
] })
|
|
1430
|
-
] }) : /* @__PURE__ */ e("div", { className: t.navigation, children: _.map((
|
|
1423
|
+
] }) : /* @__PURE__ */ e("div", { className: t.navigation, children: _.map((f) => De(f) ? /* @__PURE__ */ i("div", { className: t.section, children: [
|
|
1431
1424
|
/* @__PURE__ */ i(
|
|
1432
1425
|
"button",
|
|
1433
1426
|
{
|
|
1434
1427
|
type: "button",
|
|
1435
|
-
className: `${t.sectionButton} ${u[
|
|
1436
|
-
onClick: () => f
|
|
1428
|
+
className: `${t.sectionButton} ${u[f.title] ? t.expanded : ""}`,
|
|
1429
|
+
onClick: () => v(f.title),
|
|
1437
1430
|
children: [
|
|
1438
|
-
|
|
1439
|
-
/* @__PURE__ */ e(
|
|
1431
|
+
f.title,
|
|
1432
|
+
/* @__PURE__ */ e(Oe, { className: t.icon })
|
|
1440
1433
|
]
|
|
1441
1434
|
}
|
|
1442
1435
|
),
|
|
1443
|
-
u[
|
|
1436
|
+
u[f.title] && /* @__PURE__ */ e("div", { className: t.sectionItems, children: f.items.map((b) => /* @__PURE__ */ e(
|
|
1444
1437
|
de,
|
|
1445
1438
|
{
|
|
1446
|
-
to:
|
|
1439
|
+
to: g(b.slug),
|
|
1447
1440
|
className: `${t.navItem} ${w(b.slug) ? t.active : ""}`,
|
|
1448
1441
|
onClick: k,
|
|
1449
1442
|
children: /* @__PURE__ */ e("div", { className: t.navItemContent, children: /* @__PURE__ */ e("span", { className: t.navItemTitle, children: b.title }) })
|
|
1450
1443
|
},
|
|
1451
1444
|
b.slug
|
|
1452
1445
|
)) })
|
|
1453
|
-
] },
|
|
1446
|
+
] }, f.title) : /* @__PURE__ */ e(
|
|
1454
1447
|
de,
|
|
1455
1448
|
{
|
|
1456
|
-
to:
|
|
1457
|
-
className: `${t.navItem} ${w(
|
|
1449
|
+
to: g(f.slug),
|
|
1450
|
+
className: `${t.navItem} ${w(f.slug) ? t.active : ""}`,
|
|
1458
1451
|
onClick: k,
|
|
1459
|
-
children: /* @__PURE__ */ e("div", { className: t.navItemContent, children: /* @__PURE__ */ e("span", { className: t.navItemTitle, children:
|
|
1452
|
+
children: /* @__PURE__ */ e("div", { className: t.navItemContent, children: /* @__PURE__ */ e("span", { className: t.navItemTitle, children: f.title }) })
|
|
1460
1453
|
},
|
|
1461
|
-
|
|
1454
|
+
f.slug
|
|
1462
1455
|
)) });
|
|
1463
1456
|
}
|
|
1464
1457
|
function Zo({
|
|
@@ -1467,17 +1460,17 @@ function Zo({
|
|
|
1467
1460
|
onLanguageChange: s
|
|
1468
1461
|
}) {
|
|
1469
1462
|
return /* @__PURE__ */ i(U, { children: [
|
|
1470
|
-
/* @__PURE__ */ e(
|
|
1471
|
-
/* @__PURE__ */ e(
|
|
1463
|
+
/* @__PURE__ */ e(fe, { styles: t, onLanguageChange: s }),
|
|
1464
|
+
/* @__PURE__ */ e(be, { styles: t, onLinkClick: n })
|
|
1472
1465
|
] });
|
|
1473
1466
|
}
|
|
1474
|
-
const Na = "_backdrop_1a7pu_1", wa = "_open_1a7pu_13", Ia = "_mobileMenu_1a7pu_18",
|
|
1467
|
+
const Na = "_backdrop_1a7pu_1", wa = "_open_1a7pu_13", Ia = "_mobileMenu_1a7pu_18", ya = "_header_1a7pu_37", $a = "_brand_1a7pu_46", Ca = "_cloudIcon_1a7pu_53", Ta = "_title_1a7pu_62", La = "_closeButton_1a7pu_69", xa = "_closeIcon_1a7pu_101", Sa = "_languageSection_1a7pu_106", Pa = "_languageSelect_1a7pu_112", Ma = "_languageButton_1a7pu_117", Ba = "_icon_1a7pu_156", Ea = "_chevron_1a7pu_162", Aa = "_languageDropdown_1a7pu_172", Da = "_languageOption_1a7pu_185", ja = "_selected_1a7pu_226", Ra = "_scrollArea_1a7pu_231", qa = "_navigation_1a7pu_237", Oa = "_section_1a7pu_241", Wa = "_sectionButton_1a7pu_245", Ha = "_expanded_1a7pu_285", Fa = "_sectionItems_1a7pu_289", za = "_navItem_1a7pu_297", Ka = "_active_1a7pu_310", Ua = "_navItemContent_1a7pu_316", Ga = "_navItemTitle_1a7pu_322", O = {
|
|
1475
1468
|
backdrop: Na,
|
|
1476
1469
|
open: wa,
|
|
1477
1470
|
mobileMenu: Ia,
|
|
1478
|
-
header:
|
|
1479
|
-
brand:
|
|
1480
|
-
cloudIcon:
|
|
1471
|
+
header: ya,
|
|
1472
|
+
brand: $a,
|
|
1473
|
+
cloudIcon: Ca,
|
|
1481
1474
|
title: Ta,
|
|
1482
1475
|
closeButton: La,
|
|
1483
1476
|
closeIcon: xa,
|
|
@@ -1486,16 +1479,16 @@ const Na = "_backdrop_1a7pu_1", wa = "_open_1a7pu_13", Ia = "_mobileMenu_1a7pu_1
|
|
|
1486
1479
|
languageButton: Ma,
|
|
1487
1480
|
icon: Ba,
|
|
1488
1481
|
chevron: Ea,
|
|
1489
|
-
languageDropdown:
|
|
1490
|
-
languageOption:
|
|
1482
|
+
languageDropdown: Aa,
|
|
1483
|
+
languageOption: Da,
|
|
1491
1484
|
selected: ja,
|
|
1492
1485
|
scrollArea: Ra,
|
|
1493
|
-
navigation:
|
|
1494
|
-
section:
|
|
1486
|
+
navigation: qa,
|
|
1487
|
+
section: Oa,
|
|
1495
1488
|
sectionButton: Wa,
|
|
1496
1489
|
expanded: Ha,
|
|
1497
|
-
sectionItems:
|
|
1498
|
-
navItem:
|
|
1490
|
+
sectionItems: Fa,
|
|
1491
|
+
navItem: za,
|
|
1499
1492
|
active: Ka,
|
|
1500
1493
|
navItemContent: Ua,
|
|
1501
1494
|
navItemTitle: Ga
|
|
@@ -1505,41 +1498,41 @@ function Qa({ isOpen: t, onClose: n }) {
|
|
|
1505
1498
|
return S(() => (t ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
|
|
1506
1499
|
document.body.style.overflow = "unset";
|
|
1507
1500
|
}), [t]), S(() => {
|
|
1508
|
-
const
|
|
1501
|
+
const h = (r) => {
|
|
1509
1502
|
r.key === "Escape" && t && n();
|
|
1510
1503
|
};
|
|
1511
|
-
return document.addEventListener("keydown",
|
|
1504
|
+
return document.addEventListener("keydown", h), () => document.removeEventListener("keydown", h);
|
|
1512
1505
|
}, [t, n]), /* @__PURE__ */ i(U, { children: [
|
|
1513
1506
|
/* @__PURE__ */ e(
|
|
1514
1507
|
"div",
|
|
1515
1508
|
{
|
|
1516
|
-
className: `${
|
|
1509
|
+
className: `${O.backdrop} ${t ? O.open : ""}`,
|
|
1517
1510
|
onClick: n
|
|
1518
1511
|
}
|
|
1519
1512
|
),
|
|
1520
|
-
/* @__PURE__ */ i("div", { className: `${
|
|
1521
|
-
/* @__PURE__ */ i("div", { className:
|
|
1522
|
-
/* @__PURE__ */ i("div", { className:
|
|
1523
|
-
c && /* @__PURE__ */ e(c, { className:
|
|
1524
|
-
/* @__PURE__ */ e("h1", { className:
|
|
1513
|
+
/* @__PURE__ */ i("div", { className: `${O.mobileMenu} ${t ? O.open : ""}`, children: [
|
|
1514
|
+
/* @__PURE__ */ i("div", { className: O.header, children: [
|
|
1515
|
+
/* @__PURE__ */ i("div", { className: O.brand, children: [
|
|
1516
|
+
c && /* @__PURE__ */ e(c, { className: O.cloudIcon }),
|
|
1517
|
+
/* @__PURE__ */ e("h1", { className: O.title, children: s.title })
|
|
1525
1518
|
] }),
|
|
1526
1519
|
/* @__PURE__ */ e(
|
|
1527
1520
|
"button",
|
|
1528
1521
|
{
|
|
1529
1522
|
type: "button",
|
|
1530
|
-
className:
|
|
1523
|
+
className: O.closeButton,
|
|
1531
1524
|
onClick: n,
|
|
1532
1525
|
"aria-label": "Close menu",
|
|
1533
|
-
children: /* @__PURE__ */ e(ve, { className:
|
|
1526
|
+
children: /* @__PURE__ */ e(ve, { className: O.closeIcon })
|
|
1534
1527
|
}
|
|
1535
1528
|
)
|
|
1536
1529
|
] }),
|
|
1537
|
-
/* @__PURE__ */ e("div", { className:
|
|
1538
|
-
/* @__PURE__ */ e("div", { className:
|
|
1530
|
+
/* @__PURE__ */ e("div", { className: O.languageSection, children: /* @__PURE__ */ e(fe, { styles: O, onLanguageChange: n }) }),
|
|
1531
|
+
/* @__PURE__ */ e("div", { className: O.scrollArea, children: /* @__PURE__ */ e(be, { styles: O, onLinkClick: n }) })
|
|
1539
1532
|
] })
|
|
1540
1533
|
] });
|
|
1541
1534
|
}
|
|
1542
|
-
const Xa = "_sidebar_1qgjy_1", Ya = "_header_1qgjy_17", Va = "_brand_1qgjy_29", Ja = "_cloudIcon_1qgjy_35", Za = "_title_1qgjy_44", eo = "_languageSelect_1qgjy_55", to = "_languageButton_1qgjy_61", no = "_icon_1qgjy_99", ao = "_chevron_1qgjy_104", oo = "_languageDropdown_1qgjy_114", so = "_languageOption_1qgjy_128", co = "_selected_1qgjy_147", ro = "_scrollArea_1qgjy_152", lo = "_navigation_1qgjy_158", io = "_section_1qgjy_164", uo = "_sectionButton_1qgjy_170", ho = "_expanded_1qgjy_213", mo = "_sectionItems_1qgjy_217", _o = "_navItem_1qgjy_225", go = "_active_1qgjy_238", po = "_navItemContent_1qgjy_243",
|
|
1535
|
+
const Xa = "_sidebar_1qgjy_1", Ya = "_header_1qgjy_17", Va = "_brand_1qgjy_29", Ja = "_cloudIcon_1qgjy_35", Za = "_title_1qgjy_44", eo = "_languageSelect_1qgjy_55", to = "_languageButton_1qgjy_61", no = "_icon_1qgjy_99", ao = "_chevron_1qgjy_104", oo = "_languageDropdown_1qgjy_114", so = "_languageOption_1qgjy_128", co = "_selected_1qgjy_147", ro = "_scrollArea_1qgjy_152", lo = "_navigation_1qgjy_158", io = "_section_1qgjy_164", uo = "_sectionButton_1qgjy_170", ho = "_expanded_1qgjy_213", mo = "_sectionItems_1qgjy_217", _o = "_navItem_1qgjy_225", go = "_active_1qgjy_238", po = "_navItemContent_1qgjy_243", vo = "_skeletonSection_1qgjy_267", fo = "_skeletonSectionTitle_1qgjy_274", bo = "_skeleton-loading_1qgjy_1", ko = "_skeletonSectionItems_1qgjy_294", No = "_skeletonItem_1qgjy_302", K = {
|
|
1543
1536
|
sidebar: Xa,
|
|
1544
1537
|
header: Ya,
|
|
1545
1538
|
brand: Va,
|
|
@@ -1561,8 +1554,8 @@ const Xa = "_sidebar_1qgjy_1", Ya = "_header_1qgjy_17", Va = "_brand_1qgjy_29",
|
|
|
1561
1554
|
navItem: _o,
|
|
1562
1555
|
active: go,
|
|
1563
1556
|
navItemContent: po,
|
|
1564
|
-
skeletonSection:
|
|
1565
|
-
skeletonSectionTitle:
|
|
1557
|
+
skeletonSection: vo,
|
|
1558
|
+
skeletonSectionTitle: fo,
|
|
1566
1559
|
"skeleton-loading": "_skeleton-loading_1qgjy_1",
|
|
1567
1560
|
skeletonLoading: bo,
|
|
1568
1561
|
skeletonSectionItems: ko,
|
|
@@ -1576,113 +1569,113 @@ function wo() {
|
|
|
1576
1569
|
n && /* @__PURE__ */ e(n, { className: K.cloudIcon }),
|
|
1577
1570
|
/* @__PURE__ */ e("div", { className: K.title, children: t.title })
|
|
1578
1571
|
] }),
|
|
1579
|
-
s && /* @__PURE__ */ e(
|
|
1572
|
+
s && /* @__PURE__ */ e(fe, { styles: K })
|
|
1580
1573
|
] }),
|
|
1581
|
-
/* @__PURE__ */ e("div", { className: K.scrollArea, children: /* @__PURE__ */ e(
|
|
1574
|
+
/* @__PURE__ */ e("div", { className: K.scrollArea, children: /* @__PURE__ */ e(be, { styles: K }) })
|
|
1582
1575
|
] });
|
|
1583
1576
|
}
|
|
1584
|
-
const Io = "_app_wf6ni_1",
|
|
1577
|
+
const Io = "_app_wf6ni_1", yo = "_layout_wf6ni_9", $o = "_main_wf6ni_15", Co = "_fullWidth_wf6ni_21", To = "_contentWrapper_wf6ni_30", se = {
|
|
1585
1578
|
app: Io,
|
|
1586
|
-
layout:
|
|
1587
|
-
main:
|
|
1588
|
-
fullWidth:
|
|
1579
|
+
layout: yo,
|
|
1580
|
+
main: $o,
|
|
1581
|
+
fullWidth: Co,
|
|
1589
1582
|
contentWrapper: To
|
|
1590
1583
|
};
|
|
1591
1584
|
function Lo({ children: t }) {
|
|
1592
|
-
const { language: n } =
|
|
1585
|
+
const { language: n } = pe(), { i18n: s } = j(), { config: c } = R(), [h, r] = T(!1);
|
|
1593
1586
|
S(() => {
|
|
1594
1587
|
n && c.supportedLanguages.includes(n) && s.changeLanguage(n);
|
|
1595
1588
|
}, [n, s, c.supportedLanguages]);
|
|
1596
1589
|
const _ = () => {
|
|
1597
|
-
r(!
|
|
1590
|
+
r(!h);
|
|
1598
1591
|
}, d = () => {
|
|
1599
1592
|
r(!1);
|
|
1600
1593
|
};
|
|
1601
1594
|
if (!n || !c.supportedLanguages.includes(n))
|
|
1602
1595
|
return /* @__PURE__ */ e(qe, { to: "/en/welcome", replace: !0 });
|
|
1603
|
-
const u = !!c.header, a = c.showSideMenu !== !1,
|
|
1604
|
-
return /* @__PURE__ */ i("div", { className:
|
|
1596
|
+
const u = !!c.header, a = c.showSideMenu !== !1, m = c.contentMaxWidth ? { width: "100%", maxWidth: c.contentMaxWidth } : void 0;
|
|
1597
|
+
return /* @__PURE__ */ i("div", { className: se.app, children: [
|
|
1605
1598
|
u && /* @__PURE__ */ e(ka, { onMobileMenuToggle: _ }),
|
|
1606
|
-
/* @__PURE__ */ e(Qa, { isOpen:
|
|
1607
|
-
/* @__PURE__ */ i("div", { className:
|
|
1599
|
+
/* @__PURE__ */ e(Qa, { isOpen: h, onClose: d }),
|
|
1600
|
+
/* @__PURE__ */ i("div", { className: se.layout, children: [
|
|
1608
1601
|
a && /* @__PURE__ */ e(wo, {}),
|
|
1609
1602
|
/* @__PURE__ */ e(
|
|
1610
1603
|
"main",
|
|
1611
1604
|
{
|
|
1612
|
-
className: `${
|
|
1613
|
-
children: /* @__PURE__ */ e("div", { className:
|
|
1605
|
+
className: `${se.main} ${a ? "" : se.fullWidth}`,
|
|
1606
|
+
children: /* @__PURE__ */ e("div", { className: se.contentWrapper, style: m, children: t })
|
|
1614
1607
|
}
|
|
1615
1608
|
)
|
|
1616
1609
|
] })
|
|
1617
1610
|
] });
|
|
1618
1611
|
}
|
|
1619
|
-
const xo = "
|
|
1612
|
+
const xo = "_homePage_1otqy_1", So = "_header_1otqy_20", Po = "_title_1otqy_24", Mo = "_articlesList_1otqy_31", Bo = "_articleCard_1otqy_37", Eo = "_articleTitle_1otqy_56", Ao = "_articleDescription_1otqy_63", Do = "_empty_1otqy_71", jo = "_skeletonCard_1otqy_85", Ro = "_skeletonTitle_1otqy_95", qo = "_skeletonText_1otqy_104", Oo = "_skeletonMetadata_1otqy_113", E = {
|
|
1620
1613
|
homePage: xo,
|
|
1621
1614
|
header: So,
|
|
1622
1615
|
title: Po,
|
|
1623
1616
|
articlesList: Mo,
|
|
1624
1617
|
articleCard: Bo,
|
|
1625
1618
|
articleTitle: Eo,
|
|
1626
|
-
articleDescription:
|
|
1627
|
-
empty:
|
|
1619
|
+
articleDescription: Ao,
|
|
1620
|
+
empty: Do,
|
|
1628
1621
|
skeletonCard: jo,
|
|
1629
1622
|
skeletonTitle: Ro,
|
|
1630
|
-
skeletonText:
|
|
1631
|
-
skeletonMetadata:
|
|
1623
|
+
skeletonText: qo,
|
|
1624
|
+
skeletonMetadata: Oo
|
|
1632
1625
|
};
|
|
1633
1626
|
function Wo() {
|
|
1634
|
-
const { i18n: t, t: n } = j(), { config: s, discoverArticles: c } = R(),
|
|
1627
|
+
const { i18n: t, t: n } = j(), { config: s, discoverArticles: c } = R(), h = Q(), [r, _] = T([]), [d, u] = T(!0), a = s.articleTitleFont ? { fontFamily: s.articleTitleFont } : void 0;
|
|
1635
1628
|
S(() => {
|
|
1636
1629
|
(async () => {
|
|
1637
1630
|
try {
|
|
1638
|
-
const
|
|
1639
|
-
_(
|
|
1640
|
-
} catch (
|
|
1641
|
-
console.error("Failed to load articles:",
|
|
1631
|
+
const l = await c(t.language);
|
|
1632
|
+
_(l.slice(0, 50));
|
|
1633
|
+
} catch (l) {
|
|
1634
|
+
console.error("Failed to load articles:", l);
|
|
1642
1635
|
} finally {
|
|
1643
1636
|
u(!1);
|
|
1644
1637
|
}
|
|
1645
1638
|
})();
|
|
1646
1639
|
}, [t.language, c]);
|
|
1647
|
-
const
|
|
1648
|
-
const
|
|
1649
|
-
window.scrollTo({ top: 0, left: 0, behavior: "auto" }),
|
|
1640
|
+
const m = (o) => {
|
|
1641
|
+
const l = s.basePath || "";
|
|
1642
|
+
window.scrollTo({ top: 0, left: 0, behavior: "auto" }), h(`${l}/${t.language}/${o}`);
|
|
1650
1643
|
};
|
|
1651
1644
|
return d ? /* @__PURE__ */ i("div", { className: E.homePage, children: [
|
|
1652
|
-
/* @__PURE__ */ e("div", { className: E.header, children: /* @__PURE__ */ e("
|
|
1653
|
-
/* @__PURE__ */ e("div", { className: E.articlesList, children: [...Array(5)].map((
|
|
1645
|
+
/* @__PURE__ */ e("div", { className: E.header, children: /* @__PURE__ */ e("h2", { className: E.title, children: n("ui.latestPosts") }) }),
|
|
1646
|
+
/* @__PURE__ */ e("div", { className: E.articlesList, children: [...Array(5)].map((o, l) => /* @__PURE__ */ i("div", { className: E.skeletonCard, children: [
|
|
1654
1647
|
/* @__PURE__ */ e("div", { className: E.skeletonTitle }),
|
|
1655
1648
|
/* @__PURE__ */ e("div", { className: E.skeletonText }),
|
|
1656
1649
|
/* @__PURE__ */ e("div", { className: E.skeletonText }),
|
|
1657
1650
|
/* @__PURE__ */ e("div", { className: E.skeletonMetadata })
|
|
1658
|
-
] },
|
|
1651
|
+
] }, l)) })
|
|
1659
1652
|
] }) : r.length === 0 ? /* @__PURE__ */ e("div", { className: E.empty, children: n("ui.noArticlesFound") }) : /* @__PURE__ */ i(U, { children: [
|
|
1660
1653
|
/* @__PURE__ */ i("div", { className: E.homePage, children: [
|
|
1661
|
-
/* @__PURE__ */ e("div", { className: E.header, children: /* @__PURE__ */ e("
|
|
1662
|
-
/* @__PURE__ */ e("div", { className: E.articlesList, children: r.map((
|
|
1654
|
+
/* @__PURE__ */ e("div", { className: E.header, children: /* @__PURE__ */ e("h3", { className: E.title, children: n("ui.latestPosts") }) }),
|
|
1655
|
+
/* @__PURE__ */ e("div", { className: E.articlesList, children: r.map((o) => /* @__PURE__ */ i(
|
|
1663
1656
|
"button",
|
|
1664
1657
|
{
|
|
1665
1658
|
className: E.articleCard,
|
|
1666
|
-
onClick: () =>
|
|
1659
|
+
onClick: () => m(o.slug),
|
|
1667
1660
|
type: "button",
|
|
1668
1661
|
children: [
|
|
1669
|
-
/* @__PURE__ */ e("h2", { className: E.articleTitle, children:
|
|
1670
|
-
|
|
1671
|
-
/* @__PURE__ */ e(
|
|
1662
|
+
/* @__PURE__ */ e("h2", { className: E.articleTitle, style: a, children: o.title }),
|
|
1663
|
+
o.description && /* @__PURE__ */ e("p", { className: E.articleDescription, children: o.description }),
|
|
1664
|
+
/* @__PURE__ */ e(ge, { date: o.date, author: o.author })
|
|
1672
1665
|
]
|
|
1673
1666
|
},
|
|
1674
|
-
|
|
1667
|
+
o.slug
|
|
1675
1668
|
)) })
|
|
1676
1669
|
] }),
|
|
1677
1670
|
/* @__PURE__ */ e(Bt, {})
|
|
1678
1671
|
] });
|
|
1679
1672
|
}
|
|
1680
1673
|
function es() {
|
|
1681
|
-
const { language: t } =
|
|
1674
|
+
const { language: t } = pe(), { config: n } = R();
|
|
1682
1675
|
return /* @__PURE__ */ e(Lo, { children: /* @__PURE__ */ i(Xe, { children: [
|
|
1683
|
-
/* @__PURE__ */ e(
|
|
1676
|
+
/* @__PURE__ */ e(xe, { path: "/:slug", element: /* @__PURE__ */ e(An, { language: t }) }),
|
|
1684
1677
|
/* @__PURE__ */ e(
|
|
1685
|
-
|
|
1678
|
+
xe,
|
|
1686
1679
|
{
|
|
1687
1680
|
index: !0,
|
|
1688
1681
|
element: (n.defaultRoute || "latest") === "latest" ? /* @__PURE__ */ e(Wo, {}) : /* @__PURE__ */ e(qe, { to: `./${n.defaultRoute}`, replace: !0 })
|
|
@@ -1702,15 +1695,15 @@ function ts() {
|
|
|
1702
1695
|
}
|
|
1703
1696
|
function ns() {
|
|
1704
1697
|
const { i18n: t } = j(), n = Y(), s = Q(), { config: c } = R();
|
|
1705
|
-
return (
|
|
1698
|
+
return (h) => {
|
|
1706
1699
|
const r = c.basePath || "";
|
|
1707
1700
|
let _ = n.pathname;
|
|
1708
1701
|
r && _.startsWith(r) && (_ = _.slice(r.length));
|
|
1709
1702
|
const d = _.split("/").filter(Boolean), u = d[0];
|
|
1710
1703
|
let a = "";
|
|
1711
|
-
c.supportedLanguages.includes(u) ? (d[0] =
|
|
1712
|
-
const
|
|
1713
|
-
t.changeLanguage(
|
|
1704
|
+
c.supportedLanguages.includes(u) ? (d[0] = h, a = `${r}/${d.join("/")}`) : a = `${r}/${h}${_}`;
|
|
1705
|
+
const m = a + n.search + n.hash;
|
|
1706
|
+
t.changeLanguage(h), s(m);
|
|
1714
1707
|
};
|
|
1715
1708
|
}
|
|
1716
1709
|
export {
|
|
@@ -1719,29 +1712,29 @@ export {
|
|
|
1719
1712
|
Jo as BlogProvider,
|
|
1720
1713
|
ht as BlogRoot,
|
|
1721
1714
|
Bt as BlogSidebar,
|
|
1722
|
-
|
|
1723
|
-
|
|
1715
|
+
Ot as Breadcrumb,
|
|
1716
|
+
An as ContentPage,
|
|
1724
1717
|
Lo as DocumentationLayout,
|
|
1725
1718
|
es as DocumentationRoutes,
|
|
1726
1719
|
ka as Header,
|
|
1727
1720
|
Wo as HomePage,
|
|
1728
|
-
|
|
1729
|
-
|
|
1721
|
+
fe as LanguageSelector,
|
|
1722
|
+
ge as Metadata,
|
|
1730
1723
|
Qa as MobileMenu,
|
|
1731
1724
|
Zo as NavigationContent,
|
|
1732
|
-
|
|
1725
|
+
be as NavigationMenu,
|
|
1733
1726
|
ea as SearchBar,
|
|
1734
1727
|
wo as Sidebar,
|
|
1735
1728
|
an as TableOfContents,
|
|
1736
1729
|
pn as TagResultsModal,
|
|
1737
1730
|
In as Tags,
|
|
1738
1731
|
Vo as createBlogUtils,
|
|
1739
|
-
|
|
1732
|
+
He as createContentLoaders,
|
|
1740
1733
|
ee as generateHeadingId,
|
|
1741
1734
|
gt as getAdjacentArticles,
|
|
1742
1735
|
_t as getNavigationData,
|
|
1743
1736
|
R as useBlogConfig,
|
|
1744
1737
|
ns as useLanguageChange,
|
|
1745
1738
|
ts as useSearchModal,
|
|
1746
|
-
|
|
1739
|
+
ze as useTheme
|
|
1747
1740
|
};
|