@x-wave/blog 2.1.8 → 2.2.0

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