@x-wave/blog 1.0.8 → 1.0.9
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 +164 -164
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as d, jsx as e, Fragment as z } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as R } from "react-i18next";
|
|
3
|
-
import { useLocation as U, useNavigate as G, useParams as
|
|
4
|
-
import { X as se, Tag as Te, User as Se, CalendarBlank as ye, MagnifyingGlass as he, List as Le, Sun as me, Moon as ge, Monitor as _e, CaretDown as
|
|
3
|
+
import { useLocation as U, useNavigate as G, useParams as oe, Link as de, Navigate as ve, Routes as Ce, Route as ue } from "react-router-dom";
|
|
4
|
+
import { X as se, Tag as Te, User as Se, CalendarBlank as ye, MagnifyingGlass as he, List as Le, Sun as me, Moon as ge, Monitor as _e, CaretDown as ae, Globe as Pe, CaretRight as Be } from "@phosphor-icons/react";
|
|
5
5
|
import { useState as L, useEffect as P, createContext as De, useContext as Me, useRef as W } from "react";
|
|
6
6
|
import Ee from "react-markdown";
|
|
7
7
|
import Oe from "remark-gfm";
|
|
@@ -13,19 +13,19 @@ const Re = "_tabContainer_zk6h4_1", je = "_tab_zk6h4_1", Ae = "_active_zk6h4_45"
|
|
|
13
13
|
active: Ae
|
|
14
14
|
};
|
|
15
15
|
function He({ hasAdvanced: t }) {
|
|
16
|
-
const { t: n } = R(), s = U(),
|
|
16
|
+
const { t: n } = R(), s = U(), o = G();
|
|
17
17
|
if (!t) return null;
|
|
18
|
-
const
|
|
19
|
-
if (
|
|
18
|
+
const a = new URLSearchParams(s.search).has("advanced"), l = () => {
|
|
19
|
+
if (a) {
|
|
20
20
|
const u = new URLSearchParams(s.search);
|
|
21
21
|
u.delete("advanced");
|
|
22
22
|
const p = u.toString(), w = p ? `?${p}` : "";
|
|
23
|
-
|
|
23
|
+
o(`${s.pathname}${w}${s.hash}`);
|
|
24
24
|
}
|
|
25
25
|
}, g = () => {
|
|
26
|
-
if (!
|
|
26
|
+
if (!a) {
|
|
27
27
|
const u = new URLSearchParams(s.search);
|
|
28
|
-
u.set("advanced", ""),
|
|
28
|
+
u.set("advanced", ""), o(`${s.pathname}?${u.toString()}${s.hash}`);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
return /* @__PURE__ */ d("div", { className: Y.tabContainer, children: [
|
|
@@ -33,7 +33,7 @@ function He({ hasAdvanced: t }) {
|
|
|
33
33
|
"button",
|
|
34
34
|
{
|
|
35
35
|
type: "button",
|
|
36
|
-
className: `${Y.tab} ${
|
|
36
|
+
className: `${Y.tab} ${a ? "" : Y.active}`,
|
|
37
37
|
onClick: l,
|
|
38
38
|
children: n("ui.simple")
|
|
39
39
|
}
|
|
@@ -42,7 +42,7 @@ function He({ hasAdvanced: t }) {
|
|
|
42
42
|
"button",
|
|
43
43
|
{
|
|
44
44
|
type: "button",
|
|
45
|
-
className: `${Y.tab} ${
|
|
45
|
+
className: `${Y.tab} ${a ? Y.active : ""}`,
|
|
46
46
|
onClick: g,
|
|
47
47
|
children: n("ui.advanced")
|
|
48
48
|
}
|
|
@@ -54,12 +54,12 @@ function qe({ children: t }) {
|
|
|
54
54
|
}
|
|
55
55
|
function be(t) {
|
|
56
56
|
function n(s) {
|
|
57
|
-
const
|
|
58
|
-
if (!
|
|
59
|
-
const c = {},
|
|
57
|
+
const o = s.match(/^---\s*\n([\s\S]*?)\n---\s*\n/);
|
|
58
|
+
if (!o) return { frontmatter: {}, content: s };
|
|
59
|
+
const c = {}, a = o[1];
|
|
60
60
|
let l = "", g = !1;
|
|
61
61
|
const u = [];
|
|
62
|
-
for (const w of
|
|
62
|
+
for (const w of a.split(`
|
|
63
63
|
`)) {
|
|
64
64
|
const _ = w.trim();
|
|
65
65
|
if (_.startsWith("-")) {
|
|
@@ -90,8 +90,8 @@ function be(t) {
|
|
|
90
90
|
* Load MDX content for a given language and slug.
|
|
91
91
|
* Automatically loads the advanced variant if `advanced` is true.
|
|
92
92
|
*/
|
|
93
|
-
async loadMDXContent(s,
|
|
94
|
-
const
|
|
93
|
+
async loadMDXContent(s, o, c = !1) {
|
|
94
|
+
const a = c ? `${o}-advanced.mdx` : `${o}.mdx`, l = `./docs/${s}/${a}`, g = t[l];
|
|
95
95
|
if (!g) throw new Error(`File not found: ${l}`);
|
|
96
96
|
const u = await g(), { frontmatter: p, content: w } = n(u);
|
|
97
97
|
return { content: w, frontmatter: p };
|
|
@@ -100,9 +100,9 @@ function be(t) {
|
|
|
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
|
-
async loadEnglishContent(s,
|
|
104
|
-
const
|
|
105
|
-
if (!l) throw new Error(`File not found: ${
|
|
103
|
+
async loadEnglishContent(s, o = !1) {
|
|
104
|
+
const a = `./docs/en/${o ? `${s}-advanced.mdx` : `${s}.mdx`}`, l = t[a];
|
|
105
|
+
if (!l) throw new Error(`File not found: ${a}`);
|
|
106
106
|
const g = await l(), { content: u } = n(g);
|
|
107
107
|
return u;
|
|
108
108
|
},
|
|
@@ -114,25 +114,25 @@ function be(t) {
|
|
|
114
114
|
* @returns Promise resolving to tag index mapping tag names to document info
|
|
115
115
|
*/
|
|
116
116
|
async buildTagIndex(s = "en") {
|
|
117
|
-
const
|
|
117
|
+
const o = {}, c = `./docs/${s}/`, a = Object.keys(t).filter(
|
|
118
118
|
(l) => l.startsWith(c)
|
|
119
119
|
);
|
|
120
|
-
for (const l of
|
|
120
|
+
for (const l of a)
|
|
121
121
|
try {
|
|
122
122
|
const g = t[l], u = await g(), { frontmatter: p, content: w } = n(u), _ = l.split("/").pop() || "", f = _.replace(".mdx", "").replace("-advanced", ""), r = w.match(/^#\s+(.+)$/m), v = r ? r[1].trim() : f;
|
|
123
123
|
if (_.includes("-advanced")) continue;
|
|
124
124
|
const i = p.tags;
|
|
125
125
|
if (i && Array.isArray(i))
|
|
126
126
|
for (const b of i)
|
|
127
|
-
|
|
127
|
+
o[b] || (o[b] = []), o[b].some((x) => x.slug === f) || o[b].push({ slug: f, title: v });
|
|
128
128
|
} catch (g) {
|
|
129
129
|
console.warn(`Failed to process ${l}:`, g);
|
|
130
130
|
}
|
|
131
|
-
return
|
|
131
|
+
return o;
|
|
132
132
|
}
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function Ea(t) {
|
|
136
136
|
const n = be(t);
|
|
137
137
|
return {
|
|
138
138
|
mdxFiles: t,
|
|
@@ -143,29 +143,29 @@ function Oo(t) {
|
|
|
143
143
|
const we = "app-theme", $e = () => typeof window > "u" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", pe = (t) => t === "system" ? $e() : t, We = () => typeof window > "u" ? "system" : localStorage.getItem(we) || "system", Ne = () => {
|
|
144
144
|
const [t, n] = L(We);
|
|
145
145
|
return P(() => {
|
|
146
|
-
const
|
|
147
|
-
if (c && (c.classList.remove("light", "dark"), c.classList.add(
|
|
148
|
-
const
|
|
146
|
+
const o = pe(t), c = document.querySelector(".xw-blog-root");
|
|
147
|
+
if (c && (c.classList.remove("light", "dark"), c.classList.add(o)), t === "system") {
|
|
148
|
+
const a = window.matchMedia("(prefers-color-scheme: dark)"), l = () => {
|
|
149
149
|
const g = $e(), u = document.querySelector(".xw-blog-root");
|
|
150
150
|
u && (u.classList.remove("light", "dark"), u.classList.add(g));
|
|
151
151
|
};
|
|
152
|
-
return
|
|
152
|
+
return a.addEventListener("change", l), () => a.removeEventListener("change", l);
|
|
153
153
|
}
|
|
154
154
|
}, [t]), {
|
|
155
155
|
theme: t,
|
|
156
|
-
setTheme: (
|
|
157
|
-
localStorage.setItem(we,
|
|
156
|
+
setTheme: (o) => {
|
|
157
|
+
localStorage.setItem(we, o), n(o);
|
|
158
158
|
},
|
|
159
159
|
effectiveTheme: pe(t)
|
|
160
160
|
};
|
|
161
161
|
}, Fe = (t) => "items" in t, te = (t, n) => t.map((s) => Fe(s) ? {
|
|
162
162
|
title: ne.getFixedT(n)(s.title),
|
|
163
|
-
items: s.items.map((
|
|
164
|
-
title: ne.getFixedT(n)(
|
|
165
|
-
slug:
|
|
166
|
-
...
|
|
167
|
-
...
|
|
168
|
-
showTableOfContents:
|
|
163
|
+
items: s.items.map((o) => ({
|
|
164
|
+
title: ne.getFixedT(n)(o.title),
|
|
165
|
+
slug: o.slug,
|
|
166
|
+
...o.hasAdvanced && { hasAdvanced: o.hasAdvanced },
|
|
167
|
+
...o.showTableOfContents !== void 0 && {
|
|
168
|
+
showTableOfContents: o.showTableOfContents
|
|
169
169
|
}
|
|
170
170
|
}))
|
|
171
171
|
} : {
|
|
@@ -176,14 +176,14 @@ const we = "app-theme", $e = () => typeof window > "u" ? "light" : window.matchM
|
|
|
176
176
|
showTableOfContents: s.showTableOfContents
|
|
177
177
|
}
|
|
178
178
|
}), J = (t) => t.toString().toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, ""), Ie = De(null);
|
|
179
|
-
function
|
|
179
|
+
function Oa({
|
|
180
180
|
children: t,
|
|
181
181
|
config: n,
|
|
182
182
|
blog: s,
|
|
183
|
-
navigationData:
|
|
183
|
+
navigationData: o = []
|
|
184
184
|
}) {
|
|
185
185
|
Ne();
|
|
186
|
-
const [c,
|
|
186
|
+
const [c, a] = L({});
|
|
187
187
|
P(() => {
|
|
188
188
|
const { buildTagIndex: g } = be(s.mdxFiles), u = n.supportedLanguages.map(async (p) => {
|
|
189
189
|
try {
|
|
@@ -197,12 +197,12 @@ function Ro({
|
|
|
197
197
|
const w = {};
|
|
198
198
|
for (const _ of p)
|
|
199
199
|
w[_.language] = _.index;
|
|
200
|
-
|
|
200
|
+
a(w);
|
|
201
201
|
}).catch((p) => {
|
|
202
202
|
console.error("Failed to build tag indices:", p);
|
|
203
203
|
});
|
|
204
204
|
}, [s.mdxFiles, n.supportedLanguages]);
|
|
205
|
-
const l = { ...n, navigationData:
|
|
205
|
+
const l = { ...n, navigationData: o, tagIndex: c };
|
|
206
206
|
return /* @__PURE__ */ e(
|
|
207
207
|
Ie.Provider,
|
|
208
208
|
{
|
|
@@ -236,11 +236,11 @@ const Ke = "_tableOfContents_11q9u_1", ze = "_header_11q9u_20", Ue = "_title_11q
|
|
|
236
236
|
level5: tt,
|
|
237
237
|
level6: nt
|
|
238
238
|
};
|
|
239
|
-
function
|
|
239
|
+
function at({
|
|
240
240
|
content: t,
|
|
241
241
|
englishContent: n
|
|
242
242
|
}) {
|
|
243
|
-
const { t: s } = R(),
|
|
243
|
+
const { t: s } = R(), o = U(), c = G(), [a, l] = L([]), [g, u] = L(""), p = W(null);
|
|
244
244
|
P(() => {
|
|
245
245
|
u(""), (() => {
|
|
246
246
|
const f = /^(#{1,6})\s+(.+)$/gm, r = [];
|
|
@@ -264,19 +264,19 @@ function ot({
|
|
|
264
264
|
l(r);
|
|
265
265
|
})();
|
|
266
266
|
}, [t, n]), P(() => {
|
|
267
|
-
if (
|
|
267
|
+
if (a.length === 0) return;
|
|
268
268
|
const _ = setTimeout(() => {
|
|
269
|
-
const f =
|
|
269
|
+
const f = a.filter(
|
|
270
270
|
(r) => !document.getElementById(r.id)
|
|
271
271
|
);
|
|
272
272
|
f.length > 0 && console.warn("Some heading elements not found:", f);
|
|
273
273
|
}, 100);
|
|
274
274
|
return () => clearTimeout(_);
|
|
275
|
-
}, [
|
|
276
|
-
if (
|
|
275
|
+
}, [a]), P(() => {
|
|
276
|
+
if (a.length === 0) return;
|
|
277
277
|
p.current && p.current.disconnect();
|
|
278
278
|
const _ = setTimeout(() => {
|
|
279
|
-
const f =
|
|
279
|
+
const f = a.map((r) => document.getElementById(r.id)).filter(Boolean);
|
|
280
280
|
f.length !== 0 && (p.current = new IntersectionObserver(
|
|
281
281
|
(r) => {
|
|
282
282
|
const v = r.filter((i) => i.isIntersecting);
|
|
@@ -296,15 +296,15 @@ function ot({
|
|
|
296
296
|
return () => {
|
|
297
297
|
clearTimeout(_), p.current && p.current.disconnect();
|
|
298
298
|
};
|
|
299
|
-
}, [
|
|
299
|
+
}, [a]), P(() => () => {
|
|
300
300
|
p.current && p.current.disconnect();
|
|
301
301
|
}, []);
|
|
302
302
|
const w = (_) => {
|
|
303
303
|
const f = document.getElementById(_);
|
|
304
304
|
if (f) {
|
|
305
|
-
const r = new URLSearchParams(
|
|
305
|
+
const r = new URLSearchParams(o.search);
|
|
306
306
|
r.set("a", _), c(
|
|
307
|
-
`${
|
|
307
|
+
`${o.pathname}?${r.toString()}${o.hash}`,
|
|
308
308
|
{
|
|
309
309
|
replace: !0
|
|
310
310
|
}
|
|
@@ -316,9 +316,9 @@ function ot({
|
|
|
316
316
|
});
|
|
317
317
|
}
|
|
318
318
|
};
|
|
319
|
-
return
|
|
319
|
+
return a.length === 0 ? null : /* @__PURE__ */ d("aside", { className: H.tableOfContents, children: [
|
|
320
320
|
/* @__PURE__ */ e("div", { className: H.header, children: /* @__PURE__ */ e("span", { className: H.title, children: s("ui.onThisPage", "On this page") }) }),
|
|
321
|
-
/* @__PURE__ */ e("nav", { className: H.nav, children: /* @__PURE__ */ e("ul", { className: H.list, children:
|
|
321
|
+
/* @__PURE__ */ e("nav", { className: H.nav, children: /* @__PURE__ */ e("ul", { className: H.list, children: a.map((_) => /* @__PURE__ */ e("li", { className: H.item, children: /* @__PURE__ */ e(
|
|
322
322
|
"button",
|
|
323
323
|
{
|
|
324
324
|
className: `${H.link} ${H[`level${_.level}`]} ${g === _.id ? H.active : ""}`,
|
|
@@ -329,8 +329,8 @@ function ot({
|
|
|
329
329
|
) }, _.id)) }) })
|
|
330
330
|
] });
|
|
331
331
|
}
|
|
332
|
-
const
|
|
333
|
-
overlay:
|
|
332
|
+
const ot = "_overlay_1e1d4_1", st = "_modal_1e1d4_26", ct = "_header_1e1d4_50", rt = "_title_1e1d4_58", lt = "_closeButton_1e1d4_65", it = "_results_1e1d4_86", dt = "_resultsList_1e1d4_94", ut = "_resultItem_1e1d4_100", ht = "_resultTitle_1e1d4_119", mt = "_resultSlug_1e1d4_124", gt = "_noResults_1e1d4_130", O = {
|
|
333
|
+
overlay: ot,
|
|
334
334
|
modal: st,
|
|
335
335
|
header: ct,
|
|
336
336
|
title: rt,
|
|
@@ -346,14 +346,14 @@ function _t({
|
|
|
346
346
|
tag: t,
|
|
347
347
|
results: n,
|
|
348
348
|
language: s,
|
|
349
|
-
onClose:
|
|
349
|
+
onClose: o
|
|
350
350
|
}) {
|
|
351
|
-
const { t: c } = R(), { config:
|
|
352
|
-
const p =
|
|
353
|
-
l(`${p}/${s}/${u}`),
|
|
351
|
+
const { t: c } = R(), { config: a } = j(), l = G(), g = (u) => {
|
|
352
|
+
const p = a.basePath || "";
|
|
353
|
+
l(`${p}/${s}/${u}`), o();
|
|
354
354
|
};
|
|
355
355
|
return fe(
|
|
356
|
-
/* @__PURE__ */ e("div", { className: O.overlay, onClick:
|
|
356
|
+
/* @__PURE__ */ e("div", { className: O.overlay, onClick: o, children: /* @__PURE__ */ d("div", { className: O.modal, onClick: (u) => u.stopPropagation(), children: [
|
|
357
357
|
/* @__PURE__ */ d("div", { className: O.header, children: [
|
|
358
358
|
/* @__PURE__ */ d("h2", { className: O.title, children: [
|
|
359
359
|
c("ui.tagResults"),
|
|
@@ -365,7 +365,7 @@ function _t({
|
|
|
365
365
|
{
|
|
366
366
|
type: "button",
|
|
367
367
|
className: O.closeButton,
|
|
368
|
-
onClick:
|
|
368
|
+
onClick: o,
|
|
369
369
|
"aria-label": "Close",
|
|
370
370
|
children: /* @__PURE__ */ e(se, {})
|
|
371
371
|
}
|
|
@@ -399,10 +399,10 @@ const pt = "_tags_11t8a_1", vt = "_compact_11t8a_9", ft = "_tagLabel_11t8a_15",
|
|
|
399
399
|
tag: $t
|
|
400
400
|
};
|
|
401
401
|
function Nt({ tags: t, variant: n = "default", onTagClick: s }) {
|
|
402
|
-
const { t:
|
|
402
|
+
const { t: o } = R();
|
|
403
403
|
if (!t || t.length === 0) return null;
|
|
404
|
-
const c = (
|
|
405
|
-
s && s(
|
|
404
|
+
const c = (a) => {
|
|
405
|
+
s && s(a);
|
|
406
406
|
};
|
|
407
407
|
return /* @__PURE__ */ d(
|
|
408
408
|
"div",
|
|
@@ -412,20 +412,20 @@ function Nt({ tags: t, variant: n = "default", onTagClick: s }) {
|
|
|
412
412
|
n === "default" && /* @__PURE__ */ d("div", { className: K.tagLabel, children: [
|
|
413
413
|
/* @__PURE__ */ e(Te, { className: K.tagIcon, weight: "duotone" }),
|
|
414
414
|
/* @__PURE__ */ d("span", { children: [
|
|
415
|
-
|
|
415
|
+
o("ui.tags"),
|
|
416
416
|
":"
|
|
417
417
|
] })
|
|
418
418
|
] }),
|
|
419
|
-
/* @__PURE__ */ e("div", { className: K.tagList, children: t.map((
|
|
419
|
+
/* @__PURE__ */ e("div", { className: K.tagList, children: t.map((a) => /* @__PURE__ */ e(
|
|
420
420
|
"button",
|
|
421
421
|
{
|
|
422
422
|
type: "button",
|
|
423
423
|
className: K.tag,
|
|
424
|
-
onClick: () => c(
|
|
425
|
-
"aria-label": `${
|
|
426
|
-
children:
|
|
424
|
+
onClick: () => c(a),
|
|
425
|
+
"aria-label": `${o("ui.filterByTag")}: ${a}`,
|
|
426
|
+
children: a
|
|
427
427
|
},
|
|
428
|
-
|
|
428
|
+
a
|
|
429
429
|
)) })
|
|
430
430
|
]
|
|
431
431
|
}
|
|
@@ -449,7 +449,7 @@ const It = "_contentPage_1nxj5_1", xt = "_metadata_1nxj5_20", kt = "_author_1nxj
|
|
|
449
449
|
};
|
|
450
450
|
function Rt({ language: t }) {
|
|
451
451
|
var ie;
|
|
452
|
-
const { slug: n } =
|
|
452
|
+
const { slug: n } = oe(), s = U(), { t: o } = R(), { config: c, loadContent: a, loadEnglishContent: l } = j(), [g, u] = L(""), [p, w] = L(""), [_, f] = L({}), [r, v] = L(!0), [i, b] = L(null), [x, T] = L(!0), [m, N] = L(null), B = W(0), Q = W([]), Z = ((h) => {
|
|
453
453
|
const k = {
|
|
454
454
|
advanced: !1,
|
|
455
455
|
anchor: ""
|
|
@@ -481,10 +481,10 @@ function Rt({ language: t }) {
|
|
|
481
481
|
try {
|
|
482
482
|
let $;
|
|
483
483
|
try {
|
|
484
|
-
$ = await
|
|
484
|
+
$ = await a(t, n, A);
|
|
485
485
|
} catch {
|
|
486
486
|
if (A)
|
|
487
|
-
$ = await
|
|
487
|
+
$ = await a(t, n, !1);
|
|
488
488
|
else
|
|
489
489
|
throw new Error("Content not found");
|
|
490
490
|
}
|
|
@@ -512,7 +512,7 @@ function Rt({ language: t }) {
|
|
|
512
512
|
t,
|
|
513
513
|
A,
|
|
514
514
|
c.navigationData,
|
|
515
|
-
|
|
515
|
+
a,
|
|
516
516
|
l
|
|
517
517
|
]), P(() => {
|
|
518
518
|
if (!r && Z.anchor) {
|
|
@@ -549,7 +549,7 @@ function Rt({ language: t }) {
|
|
|
549
549
|
] }),
|
|
550
550
|
_.date && /* @__PURE__ */ d("span", { className: D.date, children: [
|
|
551
551
|
/* @__PURE__ */ e(ye, { size: 16, weight: "regular" }),
|
|
552
|
-
|
|
552
|
+
o("ui.lastEdited"),
|
|
553
553
|
": ",
|
|
554
554
|
_.date
|
|
555
555
|
] })
|
|
@@ -673,7 +673,7 @@ function Rt({ language: t }) {
|
|
|
673
673
|
}
|
|
674
674
|
)
|
|
675
675
|
] }),
|
|
676
|
-
x && /* @__PURE__ */ e(
|
|
676
|
+
x && /* @__PURE__ */ e(at, { content: g, englishContent: p }),
|
|
677
677
|
m && ((ie = c.tagIndex) == null ? void 0 : ie[t]) && /* @__PURE__ */ e(
|
|
678
678
|
_t,
|
|
679
679
|
{
|
|
@@ -706,7 +706,7 @@ const jt = "_searchButton_1k9sl_1", At = "_searchIcon_1k9sl_17", Ht = "_searchHi
|
|
|
706
706
|
hint: tn
|
|
707
707
|
};
|
|
708
708
|
function nn({ language: t }) {
|
|
709
|
-
const { t: n } = R(), s = G(), { config:
|
|
709
|
+
const { t: n } = R(), s = G(), { config: o } = j(), [c, a] = L(!1), [l, g] = L(""), [u, p] = L([]), [w, _] = L(0), f = W(null), r = W(null), i = typeof navigator < "u" && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) ? "⌘K" : "Ctrl+K", b = (o.navigationData ? te(o.navigationData, t) : []).flatMap((m) => "items" in m ? m.items.map((N) => ({
|
|
710
710
|
title: N.title,
|
|
711
711
|
slug: N.slug
|
|
712
712
|
})) : [{ title: m.title, slug: m.slug }]);
|
|
@@ -721,20 +721,20 @@ function nn({ language: t }) {
|
|
|
721
721
|
p(N), _(0);
|
|
722
722
|
}, [l]), P(() => {
|
|
723
723
|
const m = (N) => {
|
|
724
|
-
(N.metaKey || N.ctrlKey) && N.key === "k" && (N.preventDefault(),
|
|
724
|
+
(N.metaKey || N.ctrlKey) && N.key === "k" && (N.preventDefault(), a(!0), setTimeout(() => {
|
|
725
725
|
var B;
|
|
726
726
|
return (B = f.current) == null ? void 0 : B.focus();
|
|
727
|
-
}, 100)), N.key === "Escape" && c && (
|
|
727
|
+
}, 100)), N.key === "Escape" && c && (a(!1), g(""));
|
|
728
728
|
};
|
|
729
729
|
return document.addEventListener("keydown", m), () => document.removeEventListener("keydown", m);
|
|
730
730
|
}, [c]), P(() => {
|
|
731
731
|
const m = () => {
|
|
732
|
-
|
|
732
|
+
a(!0), setTimeout(() => {
|
|
733
733
|
var B;
|
|
734
734
|
return (B = f.current) == null ? void 0 : B.focus();
|
|
735
735
|
}, 100);
|
|
736
736
|
}, N = () => {
|
|
737
|
-
|
|
737
|
+
a(!1), g("");
|
|
738
738
|
};
|
|
739
739
|
return window.addEventListener("blog:open-search", m), window.addEventListener("blog:close-search", N), () => {
|
|
740
740
|
window.removeEventListener("blog:open-search", m), window.removeEventListener("blog:close-search", N);
|
|
@@ -745,13 +745,13 @@ function nn({ language: t }) {
|
|
|
745
745
|
};
|
|
746
746
|
P(() => {
|
|
747
747
|
const m = (N) => {
|
|
748
|
-
r.current && !r.current.contains(N.target) && (
|
|
748
|
+
r.current && !r.current.contains(N.target) && (a(!1), g(""));
|
|
749
749
|
};
|
|
750
750
|
return c && document.addEventListener("mousedown", m), () => document.removeEventListener("mousedown", m);
|
|
751
751
|
}, [c]);
|
|
752
752
|
const T = (m) => {
|
|
753
|
-
const N =
|
|
754
|
-
s(`${N}/${t}/${m}`),
|
|
753
|
+
const N = o.basePath || "";
|
|
754
|
+
s(`${N}/${t}/${m}`), a(!1), g("");
|
|
755
755
|
};
|
|
756
756
|
return /* @__PURE__ */ d(z, { children: [
|
|
757
757
|
/* @__PURE__ */ d(
|
|
@@ -760,7 +760,7 @@ function nn({ language: t }) {
|
|
|
760
760
|
type: "button",
|
|
761
761
|
className: S.searchButton,
|
|
762
762
|
onClick: () => {
|
|
763
|
-
|
|
763
|
+
a(!0), setTimeout(() => {
|
|
764
764
|
var m;
|
|
765
765
|
return (m = f.current) == null ? void 0 : m.focus();
|
|
766
766
|
}, 100);
|
|
@@ -779,7 +779,7 @@ function nn({ language: t }) {
|
|
|
779
779
|
{
|
|
780
780
|
className: S.searchOverlay,
|
|
781
781
|
onClick: () => {
|
|
782
|
-
|
|
782
|
+
a(!1), g("");
|
|
783
783
|
},
|
|
784
784
|
children: /* @__PURE__ */ d(
|
|
785
785
|
"div",
|
|
@@ -808,7 +808,7 @@ function nn({ language: t }) {
|
|
|
808
808
|
type: "button",
|
|
809
809
|
className: S.closeButton,
|
|
810
810
|
onClick: () => {
|
|
811
|
-
|
|
811
|
+
a(!1), g("");
|
|
812
812
|
},
|
|
813
813
|
"aria-label": "Close search",
|
|
814
814
|
children: /* @__PURE__ */ e(se, {})
|
|
@@ -855,9 +855,9 @@ function nn({ language: t }) {
|
|
|
855
855
|
)
|
|
856
856
|
] });
|
|
857
857
|
}
|
|
858
|
-
const
|
|
859
|
-
header:
|
|
860
|
-
container:
|
|
858
|
+
const an = "_header_jrobc_1", on = "_container_jrobc_24", sn = "_content_jrobc_36", cn = "_leftSection_jrobc_43", rn = "_mobileMenuButton_jrobc_49", ln = "_burgerIcon_jrobc_87", dn = "_logo_jrobc_92", un = "_nav_jrobc_98", hn = "_navLink_jrobc_109", mn = "_externalIcon_jrobc_135", gn = "_supportDropdown_jrobc_141", _n = "_themeDropdown_jrobc_145", pn = "_themeButton_jrobc_149", vn = "_themeIcon_jrobc_171", fn = "_supportButton_jrobc_177", bn = "_caretIcon_jrobc_198", wn = "_dropdownMenu_jrobc_208", $n = "_dropdownItem_jrobc_221", Nn = "_dropdownIcon_jrobc_244", I = {
|
|
859
|
+
header: an,
|
|
860
|
+
container: on,
|
|
861
861
|
content: sn,
|
|
862
862
|
leftSection: cn,
|
|
863
863
|
mobileMenuButton: rn,
|
|
@@ -877,7 +877,7 @@ const on = "_header_jrobc_1", an = "_container_jrobc_24", sn = "_content_jrobc_3
|
|
|
877
877
|
dropdownIcon: Nn
|
|
878
878
|
};
|
|
879
879
|
function In({ onMobileMenuToggle: t }) {
|
|
880
|
-
const { t: n, i18n: s } = R(), { config:
|
|
880
|
+
const { t: n, i18n: s } = R(), { config: o } = j(), c = o.header ?? {}, a = c.navLinks ?? [], l = c.dropdownItems ?? [], [g, u] = L(!1), [p, w] = L(!1), { theme: _, setTheme: f } = Ne(), r = W(null), v = W(null);
|
|
881
881
|
return P(() => {
|
|
882
882
|
const i = (b) => {
|
|
883
883
|
r.current && !r.current.contains(b.target) && u(!1), v.current && !v.current.contains(b.target) && w(!1);
|
|
@@ -913,7 +913,7 @@ function In({ onMobileMenuToggle: t }) {
|
|
|
913
913
|
_ === "light" && /* @__PURE__ */ e(me, { className: I.themeIcon }),
|
|
914
914
|
_ === "dark" && /* @__PURE__ */ e(ge, { className: I.themeIcon }),
|
|
915
915
|
_ === "system" && /* @__PURE__ */ e(_e, { className: I.themeIcon }),
|
|
916
|
-
/* @__PURE__ */ e(
|
|
916
|
+
/* @__PURE__ */ e(ae, { className: I.caretIcon })
|
|
917
917
|
]
|
|
918
918
|
}
|
|
919
919
|
),
|
|
@@ -973,7 +973,7 @@ function In({ onMobileMenuToggle: t }) {
|
|
|
973
973
|
"aria-haspopup": "true",
|
|
974
974
|
children: [
|
|
975
975
|
n("ui.support"),
|
|
976
|
-
/* @__PURE__ */ e(
|
|
976
|
+
/* @__PURE__ */ e(ae, { className: I.caretIcon })
|
|
977
977
|
]
|
|
978
978
|
}
|
|
979
979
|
),
|
|
@@ -995,7 +995,7 @@ function In({ onMobileMenuToggle: t }) {
|
|
|
995
995
|
);
|
|
996
996
|
}) })
|
|
997
997
|
] }),
|
|
998
|
-
|
|
998
|
+
a.map((i, b) => {
|
|
999
999
|
const x = i.target ?? (typeof i.url == "string" && i.url.startsWith("http") ? "_blank" : "_self"), T = i.rel ?? (x === "_blank" ? "noopener noreferrer" : void 0), m = i.icon;
|
|
1000
1000
|
return /* @__PURE__ */ d(
|
|
1001
1001
|
"a",
|
|
@@ -1020,14 +1020,14 @@ function ce({
|
|
|
1020
1020
|
styles: t,
|
|
1021
1021
|
onLanguageChange: n
|
|
1022
1022
|
}) {
|
|
1023
|
-
const { i18n: s } = R(),
|
|
1024
|
-
const r =
|
|
1025
|
-
let v =
|
|
1023
|
+
const { i18n: s } = R(), o = U(), c = G(), { config: a } = j(), [l, g] = L(!1), u = W(null), p = s.language, w = (f) => {
|
|
1024
|
+
const r = a.basePath || "";
|
|
1025
|
+
let v = o.pathname;
|
|
1026
1026
|
r && v.startsWith(r) && (v = v.slice(r.length));
|
|
1027
1027
|
const i = v.split("/").filter(Boolean), b = i[0];
|
|
1028
1028
|
let x = "";
|
|
1029
|
-
|
|
1030
|
-
const T = x +
|
|
1029
|
+
a.supportedLanguages.includes(b) ? (i[0] = f, x = `${r}/${i.join("/")}`) : x = `${r}/${f}${v}`;
|
|
1030
|
+
const T = x + o.search + o.hash;
|
|
1031
1031
|
s.changeLanguage(f), c(T), g(!1), n == null || n();
|
|
1032
1032
|
};
|
|
1033
1033
|
P(() => {
|
|
@@ -1049,11 +1049,11 @@ function ce({
|
|
|
1049
1049
|
children: [
|
|
1050
1050
|
/* @__PURE__ */ e(Pe, { className: t.icon }),
|
|
1051
1051
|
_(p),
|
|
1052
|
-
/* @__PURE__ */ e(
|
|
1052
|
+
/* @__PURE__ */ e(ae, { className: t.chevron })
|
|
1053
1053
|
]
|
|
1054
1054
|
}
|
|
1055
1055
|
),
|
|
1056
|
-
l && /* @__PURE__ */ e("div", { className: t.languageDropdown, role: "listbox", children:
|
|
1056
|
+
l && /* @__PURE__ */ e("div", { className: t.languageDropdown, role: "listbox", children: a.supportedLanguages.map((f) => /* @__PURE__ */ e(
|
|
1057
1057
|
"button",
|
|
1058
1058
|
{
|
|
1059
1059
|
type: "button",
|
|
@@ -1068,7 +1068,7 @@ function ce({
|
|
|
1068
1068
|
] });
|
|
1069
1069
|
}
|
|
1070
1070
|
function re({ styles: t, onLinkClick: n }) {
|
|
1071
|
-
const { i18n: s } = R(),
|
|
1071
|
+
const { i18n: s } = R(), o = U(), { config: c } = j(), [a, l] = L(() => {
|
|
1072
1072
|
if (!c.navigationData) return {};
|
|
1073
1073
|
const r = s.language;
|
|
1074
1074
|
return te(c.navigationData, r).reduce(
|
|
@@ -1106,13 +1106,13 @@ function re({ styles: t, onLinkClick: n }) {
|
|
|
1106
1106
|
}));
|
|
1107
1107
|
}, w = (r) => {
|
|
1108
1108
|
const v = c.basePath || "";
|
|
1109
|
-
let i =
|
|
1109
|
+
let i = o.pathname;
|
|
1110
1110
|
v && i.startsWith(v) && (i = i.slice(v.length));
|
|
1111
1111
|
const b = i.split("/").filter(Boolean);
|
|
1112
1112
|
return b[b.length - 1] === r;
|
|
1113
1113
|
}, _ = (r) => {
|
|
1114
1114
|
const v = c.basePath || "";
|
|
1115
|
-
let i =
|
|
1115
|
+
let i = o.pathname;
|
|
1116
1116
|
v && i.startsWith(v) && (i = i.slice(v.length));
|
|
1117
1117
|
const b = i.split("/").filter(Boolean);
|
|
1118
1118
|
return b[0] && c.supportedLanguages.includes(b[0]) ? `${v}/${b[0]}/${r}` : `${v}/${g}/${r}`;
|
|
@@ -1124,7 +1124,7 @@ function re({ styles: t, onLinkClick: n }) {
|
|
|
1124
1124
|
"button",
|
|
1125
1125
|
{
|
|
1126
1126
|
type: "button",
|
|
1127
|
-
className: `${t.sectionButton} ${
|
|
1127
|
+
className: `${t.sectionButton} ${a[r.title] ? t.expanded : ""}`,
|
|
1128
1128
|
onClick: () => p(r.title),
|
|
1129
1129
|
children: [
|
|
1130
1130
|
r.title,
|
|
@@ -1132,7 +1132,7 @@ function re({ styles: t, onLinkClick: n }) {
|
|
|
1132
1132
|
]
|
|
1133
1133
|
}
|
|
1134
1134
|
),
|
|
1135
|
-
|
|
1135
|
+
a[r.title] && /* @__PURE__ */ e("div", { className: t.sectionItems, children: r.items.map((v) => /* @__PURE__ */ e(
|
|
1136
1136
|
de,
|
|
1137
1137
|
{
|
|
1138
1138
|
to: _(v.slug),
|
|
@@ -1153,7 +1153,7 @@ function re({ styles: t, onLinkClick: n }) {
|
|
|
1153
1153
|
r.slug
|
|
1154
1154
|
)) });
|
|
1155
1155
|
}
|
|
1156
|
-
function
|
|
1156
|
+
function Ra({
|
|
1157
1157
|
styles: t,
|
|
1158
1158
|
onLinkClick: n,
|
|
1159
1159
|
onLanguageChange: s
|
|
@@ -1193,12 +1193,12 @@ const xn = "_backdrop_1a7pu_1", kn = "_open_1a7pu_13", Cn = "_mobileMenu_1a7pu_1
|
|
|
1193
1193
|
navItemTitle: Yn
|
|
1194
1194
|
};
|
|
1195
1195
|
function Vn({ isOpen: t, onClose: n }) {
|
|
1196
|
-
const { config: s } = j(),
|
|
1196
|
+
const { config: s } = j(), o = s.logo;
|
|
1197
1197
|
return P(() => (t ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
|
|
1198
1198
|
document.body.style.overflow = "unset";
|
|
1199
1199
|
}), [t]), P(() => {
|
|
1200
|
-
const c = (
|
|
1201
|
-
|
|
1200
|
+
const c = (a) => {
|
|
1201
|
+
a.key === "Escape" && t && n();
|
|
1202
1202
|
};
|
|
1203
1203
|
return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
|
|
1204
1204
|
}, [t, n]), /* @__PURE__ */ d(z, { children: [
|
|
@@ -1212,7 +1212,7 @@ function Vn({ isOpen: t, onClose: n }) {
|
|
|
1212
1212
|
/* @__PURE__ */ d("div", { className: `${M.mobileMenu} ${t ? M.open : ""}`, children: [
|
|
1213
1213
|
/* @__PURE__ */ d("div", { className: M.header, children: [
|
|
1214
1214
|
/* @__PURE__ */ d("div", { className: M.brand, children: [
|
|
1215
|
-
|
|
1215
|
+
o && /* @__PURE__ */ e(o, { className: M.cloudIcon }),
|
|
1216
1216
|
/* @__PURE__ */ e("h1", { className: M.title, children: s.title })
|
|
1217
1217
|
] }),
|
|
1218
1218
|
/* @__PURE__ */ e(
|
|
@@ -1231,30 +1231,30 @@ function Vn({ isOpen: t, onClose: n }) {
|
|
|
1231
1231
|
] })
|
|
1232
1232
|
] });
|
|
1233
1233
|
}
|
|
1234
|
-
const Jn = "_sidebar_1tdxt_1", Zn = "_header_1tdxt_17",
|
|
1234
|
+
const Jn = "_sidebar_1tdxt_1", Zn = "_header_1tdxt_17", ea = "_brand_1tdxt_29", ta = "_cloudIcon_1tdxt_35", na = "_title_1tdxt_44", aa = "_languageSelect_1tdxt_55", oa = "_languageButton_1tdxt_61", sa = "_icon_1tdxt_99", ca = "_chevron_1tdxt_104", ra = "_languageDropdown_1tdxt_114", la = "_languageOption_1tdxt_128", ia = "_selected_1tdxt_147", da = "_scrollArea_1tdxt_152", ua = "_navigation_1tdxt_158", ha = "_section_1tdxt_164", ma = "_sectionButton_1tdxt_170", ga = "_expanded_1tdxt_213", _a = "_sectionItems_1tdxt_217", pa = "_navItem_1tdxt_225", va = "_active_1tdxt_238", fa = "_navItemContent_1tdxt_243", q = {
|
|
1235
1235
|
sidebar: Jn,
|
|
1236
1236
|
header: Zn,
|
|
1237
|
-
brand:
|
|
1238
|
-
cloudIcon:
|
|
1239
|
-
title:
|
|
1240
|
-
languageSelect:
|
|
1241
|
-
languageButton:
|
|
1242
|
-
icon:
|
|
1243
|
-
chevron:
|
|
1244
|
-
languageDropdown:
|
|
1245
|
-
languageOption:
|
|
1246
|
-
selected:
|
|
1247
|
-
scrollArea:
|
|
1248
|
-
navigation:
|
|
1249
|
-
section:
|
|
1250
|
-
sectionButton:
|
|
1251
|
-
expanded:
|
|
1252
|
-
sectionItems:
|
|
1253
|
-
navItem:
|
|
1254
|
-
active:
|
|
1255
|
-
navItemContent:
|
|
1237
|
+
brand: ea,
|
|
1238
|
+
cloudIcon: ta,
|
|
1239
|
+
title: na,
|
|
1240
|
+
languageSelect: aa,
|
|
1241
|
+
languageButton: oa,
|
|
1242
|
+
icon: sa,
|
|
1243
|
+
chevron: ca,
|
|
1244
|
+
languageDropdown: ra,
|
|
1245
|
+
languageOption: la,
|
|
1246
|
+
selected: ia,
|
|
1247
|
+
scrollArea: da,
|
|
1248
|
+
navigation: ua,
|
|
1249
|
+
section: ha,
|
|
1250
|
+
sectionButton: ma,
|
|
1251
|
+
expanded: ga,
|
|
1252
|
+
sectionItems: _a,
|
|
1253
|
+
navItem: pa,
|
|
1254
|
+
active: va,
|
|
1255
|
+
navItemContent: fa
|
|
1256
1256
|
};
|
|
1257
|
-
function
|
|
1257
|
+
function ba() {
|
|
1258
1258
|
const { config: t } = j(), n = t.logo, s = t.supportedLanguages.length > 1;
|
|
1259
1259
|
return /* @__PURE__ */ d("div", { className: q.sidebar, children: [
|
|
1260
1260
|
/* @__PURE__ */ d("div", { className: q.header, children: [
|
|
@@ -1267,42 +1267,42 @@ function wo() {
|
|
|
1267
1267
|
/* @__PURE__ */ e("div", { className: q.scrollArea, children: /* @__PURE__ */ e(re, { styles: q }) })
|
|
1268
1268
|
] });
|
|
1269
1269
|
}
|
|
1270
|
-
const
|
|
1271
|
-
app:
|
|
1272
|
-
layout:
|
|
1273
|
-
main:
|
|
1274
|
-
contentWrapper:
|
|
1270
|
+
const wa = "_app_1v4z4_1", $a = "_layout_1v4z4_9", Na = "_main_1v4z4_15", Ia = "_contentWrapper_1v4z4_27", ee = {
|
|
1271
|
+
app: wa,
|
|
1272
|
+
layout: $a,
|
|
1273
|
+
main: Na,
|
|
1274
|
+
contentWrapper: Ia
|
|
1275
1275
|
};
|
|
1276
|
-
function
|
|
1277
|
-
const { language: n } =
|
|
1276
|
+
function xa({ children: t }) {
|
|
1277
|
+
const { language: n } = oe(), { i18n: s } = R(), { config: o } = j(), [c, a] = L(!1);
|
|
1278
1278
|
P(() => {
|
|
1279
|
-
n &&
|
|
1280
|
-
}, [n, s,
|
|
1279
|
+
n && o.supportedLanguages.includes(n) && s.changeLanguage(n);
|
|
1280
|
+
}, [n, s, o.supportedLanguages]);
|
|
1281
1281
|
const l = () => {
|
|
1282
|
-
|
|
1282
|
+
a(!c);
|
|
1283
1283
|
}, g = () => {
|
|
1284
|
-
|
|
1284
|
+
a(!1);
|
|
1285
1285
|
};
|
|
1286
|
-
if (!n || !
|
|
1286
|
+
if (!n || !o.supportedLanguages.includes(n))
|
|
1287
1287
|
return /* @__PURE__ */ e(ve, { to: "/en/welcome", replace: !0 });
|
|
1288
|
-
const u = !!
|
|
1288
|
+
const u = !!o.header, p = !!o.navigationData && o.navigationData.length > 0;
|
|
1289
1289
|
return /* @__PURE__ */ d("div", { className: ee.app, children: [
|
|
1290
1290
|
u && /* @__PURE__ */ e(In, { onMobileMenuToggle: l }),
|
|
1291
1291
|
/* @__PURE__ */ e(Vn, { isOpen: c, onClose: g }),
|
|
1292
1292
|
/* @__PURE__ */ d("div", { className: ee.layout, children: [
|
|
1293
|
-
p && /* @__PURE__ */ e(
|
|
1293
|
+
p && /* @__PURE__ */ e(ba, {}),
|
|
1294
1294
|
/* @__PURE__ */ e("main", { className: ee.main, children: /* @__PURE__ */ e("div", { className: ee.contentWrapper, children: t }) })
|
|
1295
1295
|
] })
|
|
1296
1296
|
] });
|
|
1297
1297
|
}
|
|
1298
|
-
function
|
|
1299
|
-
const { language: t } =
|
|
1300
|
-
return /* @__PURE__ */ e(
|
|
1298
|
+
function ja() {
|
|
1299
|
+
const { language: t } = oe();
|
|
1300
|
+
return /* @__PURE__ */ e(xa, { children: /* @__PURE__ */ d(Ce, { children: [
|
|
1301
1301
|
/* @__PURE__ */ e(ue, { path: "/:slug", element: /* @__PURE__ */ e(Rt, { language: t }) }),
|
|
1302
1302
|
/* @__PURE__ */ e(ue, { path: "/", element: /* @__PURE__ */ e(ve, { to: "welcome", replace: !0 }) })
|
|
1303
1303
|
] }) });
|
|
1304
1304
|
}
|
|
1305
|
-
function
|
|
1305
|
+
function Aa() {
|
|
1306
1306
|
return {
|
|
1307
1307
|
openSearchModal: () => {
|
|
1308
1308
|
window.dispatchEvent(new CustomEvent("blog:open-search"));
|
|
@@ -1312,42 +1312,42 @@ function Ho() {
|
|
|
1312
1312
|
}
|
|
1313
1313
|
};
|
|
1314
1314
|
}
|
|
1315
|
-
function
|
|
1316
|
-
const { i18n: t } = R(), n = U(), s = G(), { config:
|
|
1315
|
+
function Ha() {
|
|
1316
|
+
const { i18n: t } = R(), n = U(), s = G(), { config: o } = j();
|
|
1317
1317
|
return (c) => {
|
|
1318
|
-
const
|
|
1318
|
+
const a = o.basePath || "";
|
|
1319
1319
|
let l = n.pathname;
|
|
1320
|
-
|
|
1320
|
+
a && l.startsWith(a) && (l = l.slice(a.length));
|
|
1321
1321
|
const g = l.split("/").filter(Boolean), u = g[0];
|
|
1322
1322
|
let p = "";
|
|
1323
|
-
|
|
1323
|
+
o.supportedLanguages.includes(u) ? (g[0] = c, p = `${a}/${g.join("/")}`) : p = `${a}/${c}${l}`;
|
|
1324
1324
|
const w = p + n.search + n.hash;
|
|
1325
1325
|
t.changeLanguage(c), s(w);
|
|
1326
1326
|
};
|
|
1327
1327
|
}
|
|
1328
1328
|
export {
|
|
1329
1329
|
He as AdvancedModeToggle,
|
|
1330
|
-
|
|
1330
|
+
Oa as BlogProvider,
|
|
1331
1331
|
qe as BlogRoot,
|
|
1332
1332
|
Rt as ContentPage,
|
|
1333
|
-
|
|
1334
|
-
|
|
1333
|
+
xa as DocumentationLayout,
|
|
1334
|
+
ja as DocumentationRoutes,
|
|
1335
1335
|
In as Header,
|
|
1336
1336
|
ce as LanguageSelector,
|
|
1337
1337
|
Vn as MobileMenu,
|
|
1338
|
-
|
|
1338
|
+
Ra as NavigationContent,
|
|
1339
1339
|
re as NavigationMenu,
|
|
1340
1340
|
nn as SearchBar,
|
|
1341
|
-
|
|
1342
|
-
|
|
1341
|
+
ba as Sidebar,
|
|
1342
|
+
at as TableOfContents,
|
|
1343
1343
|
_t as TagResultsModal,
|
|
1344
1344
|
Nt as Tags,
|
|
1345
|
-
|
|
1345
|
+
Ea as createBlogUtils,
|
|
1346
1346
|
be as createContentLoaders,
|
|
1347
1347
|
J as generateHeadingId,
|
|
1348
1348
|
te as getNavigationData,
|
|
1349
1349
|
j as useBlogConfig,
|
|
1350
|
-
|
|
1351
|
-
|
|
1350
|
+
Ha as useLanguageChange,
|
|
1351
|
+
Aa as useSearchModal,
|
|
1352
1352
|
Ne as useTheme
|
|
1353
1353
|
};
|