boltdocs 3.2.2 → 3.3.1

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.
Files changed (156) hide show
  1. package/bin/boltdocs.js +20 -1
  2. package/bin/preloader.mjs +28 -0
  3. package/dist/{adapters-ByYY44Zy.mjs → adapters-BmB4TKCc.mjs} +1 -1
  4. package/dist/{adapters-DvmtpdSF.cjs → adapters-Cp1Maurn.cjs} +1 -1
  5. package/dist/audit-CLXjMzwQ.mjs +11 -0
  6. package/dist/audit-COgjnQ5n.cjs +11 -0
  7. package/dist/build-D6FfNA8m.cjs +6 -0
  8. package/dist/build-D_7SvwTh.mjs +6 -0
  9. package/dist/cache-CJE9nWLE.cjs +6 -0
  10. package/dist/cache-OY4HzIXl.mjs +6 -0
  11. package/dist/callout-oI_LCbxS.d.ts +71 -0
  12. package/dist/callout-plqx9Dw-.d.cts +71 -0
  13. package/dist/client/index.cjs +1265 -569
  14. package/dist/client/index.d.cts +3 -542
  15. package/dist/client/index.d.ts +3 -542
  16. package/dist/client/index.js +1167 -521
  17. package/dist/client/mdx.cjs +1 -1
  18. package/dist/client/mdx.d.cts +24 -2
  19. package/dist/client/mdx.d.ts +24 -2
  20. package/dist/client/mdx.js +1 -1
  21. package/dist/client/primitives.cjs +14 -4
  22. package/dist/client/primitives.d.cts +281 -38
  23. package/dist/client/primitives.d.ts +281 -38
  24. package/dist/client/primitives.js +5 -5
  25. package/dist/client/router.cjs +49 -0
  26. package/dist/client/router.d.cts +3 -0
  27. package/dist/client/router.d.ts +3 -0
  28. package/dist/client/router.js +8 -0
  29. package/dist/client/theme/reset.css +40 -4
  30. package/dist/{config-BpzaPsJj.d.cts → config-BoRlz0Ca.d.mts} +157 -14
  31. package/dist/{config-xtS0ZkMm.d.mts → config-CTsX_tGM.d.cts} +157 -14
  32. package/dist/config-Ceib-AOH.cjs +7 -0
  33. package/dist/config-DGLQsy7y.mjs +7 -0
  34. package/dist/{package-CH2ChQqw.cjs → config-files-BYHDOrKn.mjs} +1 -1
  35. package/dist/config-files-D9cdBMl2.cjs +6 -0
  36. package/dist/config-jJh8WYJI.cjs +6 -0
  37. package/dist/csp-C4LmN1ko.cjs +6 -0
  38. package/dist/csp-D6JEOqKh.mjs +6 -0
  39. package/dist/dev-B9l7fVoQ.cjs +6 -0
  40. package/dist/dev-CwOyh-wP.mjs +6 -0
  41. package/dist/{docs-layout-BdtZ9z6s.js → docs-layout-CbZ7LDRe.js} +504 -249
  42. package/dist/{docs-layout-CFWI15Id.cjs → docs-layout-vzfXed1Q.cjs} +516 -254
  43. package/dist/{doctor-BBtmNJE0.cjs → doctor-B1_YL0Wt.cjs} +1 -1
  44. package/dist/doctor-C7whl4ED.cjs +6 -0
  45. package/dist/doctor-DmQnml2k.mjs +6 -0
  46. package/dist/{generator-COepVWGi.cjs → generator-BlW45ST7.cjs} +5 -3
  47. package/dist/{generator-CcOBN5vI.mjs → generator-BwknNejd.mjs} +5 -3
  48. package/dist/{handler-XX7cLTqe.cjs → handler-CDEoKARD.cjs} +2 -2
  49. package/dist/{handler-DzQae4eA.mjs → handler-D7UyZlPm.mjs} +2 -2
  50. package/dist/{image-Bz87fCla.js → image-B-NDSDuY.js} +129 -11
  51. package/dist/{image-C4TlpMHn.cjs → image-Hnaa2bJd.cjs} +175 -9
  52. package/dist/index-C56bL-A-.d.cts +1344 -0
  53. package/dist/{sidebar-COTaMHR-.d.ts → index-CPUUKzxD.d.cts} +344 -327
  54. package/dist/{sidebar-CrEdJuHX.d.cts → index-Ci4kfOHF.d.ts} +344 -327
  55. package/dist/index-Cu9H6CRa.d.ts +1344 -0
  56. package/dist/link-CgdI6O2o.js +872 -0
  57. package/dist/{link-D1Gjkb-2.cjs → link-vZjmD-es.cjs} +406 -223
  58. package/dist/{mdx-BuO6a1f7.js → mdx-BRT71V5Q.js} +211 -168
  59. package/dist/{mdx-CD-tSjRG.cjs → mdx-D0Absdq5.cjs} +225 -169
  60. package/dist/native-BNCY7PRF.cjs +6 -0
  61. package/dist/native-Di9Fnfrv.mjs +6 -0
  62. package/dist/native-Kre2T5eS.cjs +6 -0
  63. package/dist/node/cache.cjs +1 -1
  64. package/dist/node/cache.d.cts +19 -3
  65. package/dist/node/cache.d.mts +19 -3
  66. package/dist/node/cache.mjs +1 -1
  67. package/dist/node/cli-entry.cjs +1 -9
  68. package/dist/node/cli-entry.mjs +1 -9
  69. package/dist/node/index.cjs +1 -1
  70. package/dist/node/index.d.cts +245 -17
  71. package/dist/node/index.d.mts +246 -18
  72. package/dist/node/index.mjs +1 -1
  73. package/dist/node/mdx/shiki-adapter.cjs +1 -1
  74. package/dist/node/mdx/shiki-adapter.d.cts +24 -3
  75. package/dist/node/mdx/shiki-adapter.d.mts +24 -2
  76. package/dist/node/mdx/shiki-adapter.mjs +1 -1
  77. package/dist/node-BFNCsPs3.mjs +23 -0
  78. package/dist/node-TpmWEqXM.cjs +23 -0
  79. package/dist/{package-DSSB8B5L.mjs → package-5EsGUTVl.mjs} +1 -1
  80. package/dist/package-Ca2WSiy2.cjs +6 -0
  81. package/dist/pages-external-BBw8ObVK.mjs +6 -0
  82. package/dist/pages-external-DPiPFxxP.cjs +6 -0
  83. package/dist/parser-BqTOsEUa.cjs +6 -0
  84. package/dist/parser-CGMY2lJ7.mjs +6 -0
  85. package/dist/plugin-CUmUZOLD.mjs +69 -0
  86. package/dist/plugin-Ds3RLYpy.cjs +69 -0
  87. package/dist/plugin-context-C-l90hFt.cjs +15 -0
  88. package/dist/plugin-context-wqHNSZum.mjs +15 -0
  89. package/dist/plugin-lifecycle-BAKNKOxd.cjs +6 -0
  90. package/dist/resolve-B7vWOd8R.cjs +6 -0
  91. package/dist/resolve-C2kKnk_5.mjs +6 -0
  92. package/dist/resolve-It1Iug83.cjs +6 -0
  93. package/dist/resolve-YdTrt_FG.mjs +6 -0
  94. package/dist/router-C3kygdRK.cjs +1285 -0
  95. package/dist/router-CZBxMRAH.js +987 -0
  96. package/dist/routes-BL4y79tb.mjs +6 -0
  97. package/dist/routes-C2nPecwu.cjs +6 -0
  98. package/dist/routes-U9L8psZ9.cjs +6 -0
  99. package/dist/{search-dialog-DFnlx8LO.js → search-dialog-BqkzDTq2.js} +107 -57
  100. package/dist/search-dialog-D3jtaw6w.cjs +525 -0
  101. package/dist/search-dialog-DRiXejws.js +501 -0
  102. package/dist/{search-dialog-DHqwjJuG.cjs → search-dialog-DmirOMPg.cjs} +1 -1
  103. package/dist/{search-dialog-D6TvjcuV.js → search-dialog-MmwxFMmE.js} +1 -1
  104. package/dist/{search-dialog-B1NERUNx.cjs → search-dialog-x_qHU8ty.cjs} +107 -58
  105. package/dist/server/index.cjs +1 -1
  106. package/dist/server/index.d.mts +1 -1
  107. package/dist/server/index.mjs +1 -1
  108. package/dist/update-check-BKqmYfwT.cjs +11 -0
  109. package/dist/update-check-QnrVR3q1.mjs +11 -0
  110. package/dist/utils-8lzafE49.mjs +7 -0
  111. package/dist/utils-ej6_SjIZ.cjs +7 -0
  112. package/dist/virtual-modules-Ca5tHk1X.cjs +30 -0
  113. package/dist/virtual-modules-Dlgt1fP0.mjs +30 -0
  114. package/package.json +18 -16
  115. package/src/shared/mdx-path.ts +12 -0
  116. package/src/shared/structured-data.ts +145 -0
  117. package/src/shared/types.ts +220 -16
  118. package/dist/banner-BMop1KLF.d.ts +0 -100
  119. package/dist/banner-CVD0GugR.d.cts +0 -100
  120. package/dist/cache-CO4Dy2uQ.cjs +0 -6
  121. package/dist/cache-Dk53iOo6.mjs +0 -6
  122. package/dist/config-CCXp3aXO.mjs +0 -7
  123. package/dist/config-CMd4XoFq.cjs +0 -6
  124. package/dist/config-DlGoEM9D.cjs +0 -7
  125. package/dist/csp-CRp_3U7a.cjs +0 -6
  126. package/dist/csp-oTC2ygvF.mjs +0 -6
  127. package/dist/doctor-Bv16QSrI.cjs +0 -7
  128. package/dist/doctor-DOAbSaiL.mjs +0 -7
  129. package/dist/headers-Ddwek8K7.mjs +0 -6
  130. package/dist/headers-dg4SDrjY.cjs +0 -6
  131. package/dist/link-2PzgTnaP.js +0 -673
  132. package/dist/meta-loader-C4Hu9RN9.mjs +0 -6
  133. package/dist/meta-loader-Dq1zcFnh.cjs +0 -6
  134. package/dist/node-B5hu_6qj.cjs +0 -104
  135. package/dist/node-BXtqM1uH.mjs +0 -6
  136. package/dist/node-C8725aw7.mjs +0 -104
  137. package/dist/node-aD1eisrR.cjs +0 -6
  138. package/dist/pages-external-BYa4JSda.mjs +0 -6
  139. package/dist/pages-external-XkYIs-d5.cjs +0 -6
  140. package/dist/parser-DCiEWkSk.cjs +0 -8
  141. package/dist/parser-qk9FIHJ7.mjs +0 -8
  142. package/dist/plugin-CX1OZ6jB.cjs +0 -73
  143. package/dist/plugin-CgfiWaFZ.mjs +0 -73
  144. package/dist/routes-BW6zsk7Z.mjs +0 -6
  145. package/dist/routes-BgoIB5wb.cjs +0 -6
  146. package/dist/routes-CORVxc02.cjs +0 -6
  147. package/dist/search-dialog-BRFno7HD.cjs +0 -330
  148. package/dist/search-dialog-BmxHiKwt.js +0 -312
  149. package/dist/shiki-adapter-CoQ6jyJ4.cjs +0 -6
  150. package/dist/shiki-adapter-D-aKw7PP.mjs +0 -6
  151. package/dist/utils-Crm9oPcV.mjs +0 -7
  152. package/dist/utils-D6Xtj0FZ.cjs +0 -7
  153. /package/dist/{errors-0zGHRLue.mjs → errors-N-b6Sn2G.mjs} +0 -0
  154. /package/dist/{index-1KsTDq4o.d.mts → index-lFoyzCXy.d.mts} +0 -0
  155. /package/dist/{types-generator-BXhv7Ill.cjs → types-generator-DDSA93P3.cjs} +0 -0
  156. /package/dist/{types-generator-bDPvUztF.mjs → types-generator-DG1GX1EZ.mjs} +0 -0
@@ -1,312 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import { B as useConfig, L as X, P as Search, a as useRoutes } from "./link-2PzgTnaP.js";
7
- import { i as ErrorBoundary, n as Navbar, t as SearchDialog$1 } from "./search-dialog-DFnlx8LO.js";
8
- import { useCallback, useEffect, useMemo, useState } from "react";
9
- import { useNavigate } from "react-router-dom";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- import { Index } from "flexsearch";
12
- import searchData from "virtual:boltdocs-search";
13
-
14
- //#region src/client/components/internal/error-boundary.tsx
15
- function InternalFallback({ error, resetErrorBoundary }) {
16
- return /* @__PURE__ */ jsxs("div", {
17
- className: "p-2 font-mono flex flex-col items-center justify-between min-h-[30vh]",
18
- children: [
19
- /* @__PURE__ */ jsx("p", {
20
- className: "text-lg font-semibold text-red-500",
21
- children: "Something went wrong"
22
- }),
23
- error?.message && /* @__PURE__ */ jsx("pre", {
24
- className: "text-sm mt-2 max-w-md overflow-auto whitespace-pre-wrap break-word",
25
- children: error.message
26
- }),
27
- /* @__PURE__ */ jsx("button", {
28
- type: "button",
29
- onClick: resetErrorBoundary,
30
- className: "px-2 py-3 mt-2 bg-slate-100 rounded border-slate-200 border font-mono font-semibold text-slate-700 hover:scale-105 transition-transform active:scale-95 cursor-pointer",
31
- children: "Try again"
32
- })
33
- ]
34
- });
35
- }
36
- function InternalErrorBoundary({ children, fallback }) {
37
- return /* @__PURE__ */ jsx(ErrorBoundary, {
38
- fallback,
39
- FallbackComponent: !fallback ? InternalFallback : void 0,
40
- children
41
- });
42
- }
43
-
44
- //#endregion
45
- //#region src/client/hooks/use-search.ts
46
- function useSearch(routes) {
47
- const { currentLocale, currentVersion } = useRoutes();
48
- const config = useConfig();
49
- const algoliaConfig = config.integrations?.search?.algolia;
50
- const [isOpen, setIsOpen] = useState(false);
51
- const [query, setQuery] = useState("");
52
- const [index, setIndex] = useState(null);
53
- const [algoliaResults, setAlgoliaResults] = useState([]);
54
- const navigate = useNavigate();
55
- useEffect(() => {
56
- const handleKeyDown = (e) => {
57
- if ((/Mac/.test(navigator.userAgent) ? e.metaKey : e.ctrlKey) && (e.key === "k" || e.key === "j")) {
58
- e.preventDefault();
59
- setIsOpen((prev) => !prev);
60
- }
61
- };
62
- window.addEventListener("keydown", handleKeyDown);
63
- return () => window.removeEventListener("keydown", handleKeyDown);
64
- }, []);
65
- const handleSelect = useCallback((key) => {
66
- const path = String(key);
67
- setIsOpen(false);
68
- const [baseUrl, hash] = path.split("#");
69
- navigate(`${baseUrl}${query ? `?hl=${encodeURIComponent(query)}` : ""}${hash ? `#${hash}` : ""}`);
70
- if (hash) setTimeout(() => {
71
- const el = document.getElementById(hash);
72
- if (el) el.scrollIntoView({ behavior: "smooth" });
73
- }, 100);
74
- }, [navigate, query]);
75
- useEffect(() => {
76
- if (algoliaConfig) return;
77
- if (!isOpen || index) return;
78
- const newIndex = new Index({
79
- preset: "match",
80
- tokenize: "full",
81
- resolution: 9,
82
- cache: true
83
- });
84
- for (const doc of searchData) newIndex.add(doc.id, `${doc.title} ${doc.content}`);
85
- setIndex(newIndex);
86
- }, [
87
- isOpen,
88
- index,
89
- algoliaConfig
90
- ]);
91
- useEffect(() => {
92
- if (!algoliaConfig) return;
93
- if (!query) {
94
- setAlgoliaResults([]);
95
- return;
96
- }
97
- const delayDebounceFn = setTimeout(async () => {
98
- try {
99
- const url = `https://${algoliaConfig.appId}-dsn.algolia.net/1/indexes/${algoliaConfig.indexName}/query`;
100
- const facetFilters = [];
101
- if (currentLocale) facetFilters.push(`lang:${currentLocale}`);
102
- if (currentVersion) facetFilters.push(`version:${currentVersion}`);
103
- let params = `query=${encodeURIComponent(query)}&hitsPerPage=20`;
104
- if (facetFilters.length > 0) params += `&facetFilters=${encodeURIComponent(JSON.stringify(facetFilters))}`;
105
- const response = await fetch(url, {
106
- method: "POST",
107
- headers: {
108
- "Content-Type": "application/json",
109
- "X-Algolia-API-Key": algoliaConfig.apiKey,
110
- "X-Algolia-Application-Id": algoliaConfig.appId
111
- },
112
- body: JSON.stringify({ params })
113
- });
114
- if (!response.ok) throw new Error(`Algolia search request failed: ${response.statusText}`);
115
- setAlgoliaResults(((await response.json()).hits || []).map((hit) => {
116
- let path = hit.url || "";
117
- try {
118
- if (path.startsWith("http://") || path.startsWith("https://")) {
119
- const urlObj = new URL(path);
120
- path = urlObj.pathname + urlObj.search + urlObj.hash;
121
- }
122
- } catch (e) {}
123
- const hierarchy = hit.hierarchy || {};
124
- const levels = [
125
- hierarchy.lvl0,
126
- hierarchy.lvl1,
127
- hierarchy.lvl2,
128
- hierarchy.lvl3,
129
- hierarchy.lvl4,
130
- hierarchy.lvl5,
131
- hierarchy.lvl6
132
- ].filter(Boolean);
133
- const title = levels[levels.length - 1] || "Documentation";
134
- const bio = levels.join(" > ");
135
- return {
136
- id: hit.objectID || path,
137
- title,
138
- path,
139
- bio,
140
- groupTitle: hierarchy.lvl0 || "Docs",
141
- isHeading: !!hit.anchor || path.includes("#")
142
- };
143
- }));
144
- } catch (err) {
145
- console.error("Error fetching search results from Algolia:", err);
146
- }
147
- }, 250);
148
- return () => clearTimeout(delayDebounceFn);
149
- }, [
150
- query,
151
- algoliaConfig,
152
- currentLocale,
153
- currentVersion
154
- ]);
155
- const searchDataMap = useMemo(() => {
156
- const map = /* @__PURE__ */ new Map();
157
- for (const doc of searchData) map.set(doc.id, doc);
158
- return map;
159
- }, []);
160
- return {
161
- isOpen,
162
- setIsOpen,
163
- query,
164
- setQuery,
165
- list: useMemo(() => {
166
- if (!query) return routes.filter((r) => {
167
- const routeLocale = r.locale || config.i18n?.defaultLocale;
168
- const routeVersion = r.version || config.versions?.defaultVersion;
169
- return (!currentLocale || routeLocale === currentLocale) && (!currentVersion || routeVersion === currentVersion);
170
- }).slice(0, 10).map((r) => ({
171
- id: r.path,
172
- title: r.title,
173
- path: r.path,
174
- bio: r.description || "",
175
- groupTitle: r.groupTitle
176
- }));
177
- if (algoliaConfig) return algoliaResults;
178
- if (!index) return [];
179
- const searchResults = index.search(query, {
180
- limit: 20,
181
- suggest: true
182
- });
183
- const results = [];
184
- const seen = /* @__PURE__ */ new Set();
185
- for (const id of searchResults) {
186
- const doc = searchDataMap.get(id);
187
- if (!doc) continue;
188
- const docLocale = doc.locale || config.i18n?.defaultLocale;
189
- const docVersion = doc.version || config.versions?.defaultVersion;
190
- if (!(!currentLocale || docLocale === currentLocale) || !(!currentVersion || docVersion === currentVersion)) continue;
191
- if (seen.has(doc.url)) continue;
192
- seen.add(doc.url);
193
- results.push({
194
- id: doc.url,
195
- title: doc.title,
196
- path: doc.url,
197
- bio: doc.display,
198
- groupTitle: doc.display.split(" > ")[0],
199
- isHeading: doc.url.includes("#")
200
- });
201
- }
202
- return results.slice(0, 10);
203
- }, [
204
- query,
205
- index,
206
- currentLocale,
207
- currentVersion,
208
- routes,
209
- searchDataMap,
210
- algoliaConfig,
211
- algoliaResults,
212
- config
213
- ]),
214
- handleSelect,
215
- input: {
216
- value: query,
217
- onChange: (e) => setQuery(e.target.value)
218
- }
219
- };
220
- }
221
-
222
- //#endregion
223
- //#region src/client/components/ui-base/search-dialog.tsx
224
- function Highlight({ text, query }) {
225
- if (!query || !text) return /* @__PURE__ */ jsx(Fragment, { children: text });
226
- const escapedQuery = query.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
227
- const regex = new RegExp(`(${escapedQuery})`, "gi");
228
- return /* @__PURE__ */ jsx(Fragment, { children: text.split(regex).map((part, i) => regex.test(part) ? /* @__PURE__ */ jsx("mark", {
229
- className: "bg-primary-500/20 text-primary-600 dark:text-primary-400 font-bold px-0.5 rounded-sm",
230
- children: part
231
- }, i) : part) });
232
- }
233
- function SearchDialog({ routes }) {
234
- const { isOpen, setIsOpen, query, setQuery, list, handleSelect } = useSearch(routes);
235
- return /* @__PURE__ */ jsxs(Fragment, { children: [
236
- /* @__PURE__ */ jsxs(Navbar.SearchTrigger.Desktop, {
237
- onPress: () => setIsOpen(true),
238
- className: "rounded-xl border border-subtle bg-surface text-muted transition-all duration-200 hover:border-primary-500/50 hover:text-body hover:bg-soft/50 hover:shadow-sm active:scale-[0.98] focus-visible:ring-2 focus-visible:ring-primary-500/30",
239
- children: [/* @__PURE__ */ jsxs("div", {
240
- className: "flex items-center gap-2",
241
- children: [/* @__PURE__ */ jsx(Search, { size: 16 }), /* @__PURE__ */ jsx("span", {
242
- className: "hidden sm:inline-block",
243
- children: "Search docs..."
244
- })]
245
- }), /* @__PURE__ */ jsx(Navbar.SearchTrigger.Kbd, { className: "[&_kbd]:bg-main [&_kbd]:border [&_kbd]:border-subtle [&_kbd]:rounded [&_kbd]:px-1.5 [&_kbd]:h-5 [&_kbd]:w-5" })]
246
- }),
247
- /* @__PURE__ */ jsx(Navbar.SearchTrigger.Mobile, {
248
- onPress: () => setIsOpen(true),
249
- className: "rounded-xl text-muted transition-all duration-200 hover:text-body active:scale-95 focus-visible:ring-2 focus-visible:ring-primary-500/30",
250
- children: /* @__PURE__ */ jsx(Search, { size: 20 })
251
- }),
252
- /* @__PURE__ */ jsx(InternalErrorBoundary, { children: /* @__PURE__ */ jsx(SearchDialog$1.Overlay, {
253
- isOpen,
254
- isDismissable: true,
255
- onOpenChange: () => setIsOpen(false),
256
- className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40 backdrop-blur-xs animate-fade-in",
257
- children: /* @__PURE__ */ jsx(SearchDialog$1.Content, {
258
- className: "w-full max-w-lg bg-main border border-subtle shadow-md rounded-2xl overflow-hidden p-6",
259
- children: /* @__PURE__ */ jsx(SearchDialog$1.Dialog, {
260
- "aria-label": "Search documentation",
261
- className: "flex flex-col min-h-0 h-[450px]",
262
- children: /* @__PURE__ */ jsxs(SearchDialog$1.Autocomplete, {
263
- onSelectionChange: handleSelect,
264
- className: "flex flex-col min-h-0",
265
- children: [/* @__PURE__ */ jsxs(SearchDialog$1.Input, {
266
- value: query,
267
- onChange: setQuery,
268
- className: "flex items-center gap-2 border border-subtle bg-surface px-4 py-2.5 rounded-xl focus-within:border-primary-500 mb-4",
269
- children: [/* @__PURE__ */ jsx(SearchDialog$1.Input.SearchInput, {
270
- placeholder: "Search documentation...",
271
- className: "w-full bg-transparent outline-none text-body text-sm"
272
- }), query && /* @__PURE__ */ jsx(SearchDialog$1.Input.Button, {
273
- onPress: () => setQuery(""),
274
- className: "text-muted hover:text-body hover:bg-surface rounded-md p-1 cursor-pointer select-none transition-colors",
275
- children: /* @__PURE__ */ jsx(X, { size: 16 })
276
- })]
277
- }), /* @__PURE__ */ jsx(SearchDialog$1.List, {
278
- items: list,
279
- children: (item) => /* @__PURE__ */ jsxs(SearchDialog$1.Item, {
280
- onPress: () => handleSelect(item.id),
281
- textValue: item.title,
282
- className: "flex items-center gap-3 px-4 py-2 rounded-xl group dark:hover:bg-primary-300/40 hover:bg-primary-200/50 transition-colors duration-100",
283
- children: [/* @__PURE__ */ jsx(SearchDialog$1.Item.Icon, {
284
- isHeading: item.isHeading,
285
- className: "text-muted group-hover:text-primary-500 group-focus:text-primary-500"
286
- }), /* @__PURE__ */ jsxs("div", {
287
- className: "flex flex-col justify-center min-w-0",
288
- children: [/* @__PURE__ */ jsx(SearchDialog$1.Item.Title, {
289
- className: "text-sm font-medium text-body truncate dark:group-hover:text-primary-100",
290
- children: /* @__PURE__ */ jsx(Highlight, {
291
- text: item.title,
292
- query
293
- })
294
- }), /* @__PURE__ */ jsx(SearchDialog$1.Item.Bio, {
295
- className: "text-xs text-muted truncate",
296
- children: /* @__PURE__ */ jsx(Highlight, {
297
- text: item.bio,
298
- query
299
- })
300
- })]
301
- })]
302
- }, item.id)
303
- })]
304
- })
305
- })
306
- })
307
- }) })
308
- ] });
309
- }
310
-
311
- //#endregion
312
- export { useSearch as n, InternalErrorBoundary as r, SearchDialog as t };
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./utils-D6Xtj0FZ.cjs`);let n=require(`@bdocs/dui`),r=require(`@shikijs/engine-oniguruma`),i=require(`shiki/core`),a=require(`@shikijs/themes/github-light`);a=e.r(a);let o=require(`@shikijs/themes/github-dark`);o=e.r(o);let s=require(`@shikijs/themes/tokyo-night`);s=e.r(s);let c=require(`@shikijs/themes/dracula`);c=e.r(c);let l=require(`@shikijs/themes/nord`);l=e.r(l);let u=require(`@shikijs/themes/one-dark-pro`);u=e.r(u);let d=require(`@shikijs/themes/one-light`);d=e.r(d);let f=require(`@shikijs/langs/html`);f=e.r(f);let p=require(`@shikijs/langs/js`);p=e.r(p);let m=require(`@shikijs/langs/ts`);m=e.r(m);let h=require(`@shikijs/langs/tsx`);h=e.r(h);let g=require(`@shikijs/langs/css`);g=e.r(g);let _=require(`@shikijs/langs/json`);_=e.r(_);let v=require(`@shikijs/langs/jsonc`);v=e.r(v);let y=require(`@shikijs/langs/bash`);y=e.r(y);let b=require(`@shikijs/langs/ini`);b=e.r(b);let x=require(`@shikijs/langs/markdown`);x=e.r(x);let S=require(`@shikijs/langs/mdx`);S=e.r(S);let C=require(`@shikijs/langs/yaml`);C=e.r(C);let w=require(`@shikijs/langs/rust`);w=e.r(w);let T=require(`@shikijs/langs/toml`);T=e.r(T);let E=require(`@shikijs/langs/csv`);E=e.r(E);const D=[a.default.default||a.default,o.default.default||o.default,s.default.default||s.default,c.default.default||c.default,l.default.default||l.default,u.default.default||u.default,d.default.default||d.default],O=[f.default,p.default,m.default,h.default,g.default,_.default,v.default,y.default,b.default,x.default,S.default,C.default,w.default,T.default,E.default];let k=null;async function A(){return(0,r.createOnigurumaEngine)(await import(`shiki/wasm`))}const j=async e=>k||(k=(async()=>(0,i.createHighlighterCore)({themes:D,langs:O,engine:await A()}))(),k),M={ROOT:`root`,ELEMENT:`element`,TEXT:`text`,COMMENT:`comment`,CODE:`code`,INLINE_CODE:`inlineCode`,HEADING:`heading`,PARAGRAPH:`paragraph`,LINK:`link`,IMAGE:`image`,LIST:`list`,LIST_ITEM:`listItem`,JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,FLOW_EXPRESSION:`mdxFlowExpression`,TEXT_EXPRESSION:`mdxTextExpression`,ESM:`mdxjsEsm`},N={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},P={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},F={LIGHT:`github-light`,DARK:`github-dark`},I={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},L=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,P.LINE_NUMBERS)}}},R=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,P.WORD_WRAP)}}},z=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[N.TITLE]=t)}}),B=()=>({name:`AddLanguageProperty`,pre(e){e.properties[N.LANG]=this.options.lang||I.LANG}});function V(e){let t={};if(!e)return t;/lineNumbers|showLineNumbers/.test(e)&&(t.lineNumbers=!0),/wordWrap|word-wrap/.test(e)&&(t.wordWrap=!0);let n=e.match(/title=(["'])(.*?)\1/);return n&&(t.title=n[2]),t}var H=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:F.LIGHT,dark:F.DARK}}async getHighlighter(){return await j(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=V(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||I.LANG,meta:{__raw:i,...r},transformers:[L(),R(),z(),B()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(e,r,i){try{let t=await this.getHighlighter(),n=this.getOptions(r,i);return t.codeToHtml(e,n)}catch(r){return(0,n.error)(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${P.FALLBACK}"><code>${t.n(e)}</code></pre>`}}};let U=null,W;function G(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(U===null||W!==t)&&(U=new H(e),W=t),U}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}});
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{n as e}from"./utils-Crm9oPcV.mjs";import{error as t}from"@bdocs/dui";import{createOnigurumaEngine as n}from"@shikijs/engine-oniguruma";import{createHighlighterCore as r}from"shiki/core";import i from"@shikijs/themes/github-light";import a from"@shikijs/themes/github-dark";import o from"@shikijs/themes/tokyo-night";import s from"@shikijs/themes/dracula";import c from"@shikijs/themes/nord";import l from"@shikijs/themes/one-dark-pro";import u from"@shikijs/themes/one-light";import d from"@shikijs/langs/html";import f from"@shikijs/langs/js";import p from"@shikijs/langs/ts";import m from"@shikijs/langs/tsx";import h from"@shikijs/langs/css";import g from"@shikijs/langs/json";import _ from"@shikijs/langs/jsonc";import v from"@shikijs/langs/bash";import y from"@shikijs/langs/ini";import b from"@shikijs/langs/markdown";import x from"@shikijs/langs/mdx";import S from"@shikijs/langs/yaml";import C from"@shikijs/langs/rust";import w from"@shikijs/langs/toml";import T from"@shikijs/langs/csv";const E=[i.default||i,a.default||a,o.default||o,s.default||s,c.default||c,l.default||l,u.default||u],D=[d,f,p,m,h,g,_,v,y,b,x,S,C,w,T];let O=null;async function k(){return n(await import(`shiki/wasm`))}const A=async e=>O||(O=(async()=>r({themes:E,langs:D,engine:await k()}))(),O),j={ROOT:`root`,ELEMENT:`element`,TEXT:`text`,COMMENT:`comment`,CODE:`code`,INLINE_CODE:`inlineCode`,HEADING:`heading`,PARAGRAPH:`paragraph`,LINK:`link`,IMAGE:`image`,LIST:`list`,LIST_ITEM:`listItem`,JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,FLOW_EXPRESSION:`mdxFlowExpression`,TEXT_EXPRESSION:`mdxTextExpression`,ESM:`mdxjsEsm`},M={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},N={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},P={LIGHT:`github-light`,DARK:`github-dark`},F={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},I=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,N.LINE_NUMBERS)}}},L=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,N.WORD_WRAP)}}},R=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[M.TITLE]=t)}}),z=()=>({name:`AddLanguageProperty`,pre(e){e.properties[M.LANG]=this.options.lang||F.LANG}});function B(e){let t={};if(!e)return t;/lineNumbers|showLineNumbers/.test(e)&&(t.lineNumbers=!0),/wordWrap|word-wrap/.test(e)&&(t.wordWrap=!0);let n=e.match(/title=(["'])(.*?)\1/);return n&&(t.title=n[2]),t}var V=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:P.LIGHT,dark:P.DARK}}async getHighlighter(){return await A(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=B(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||F.LANG,meta:{__raw:i,...r},transformers:[I(),L(),R(),z()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(n,r,i){try{let e=await this.getHighlighter(),t=this.getOptions(r,i);return e.codeToHtml(n,t)}catch(r){return t(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${N.FALLBACK}"><code>${e(n)}</code></pre>`}}};let H=null,U;function W(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(H===null||U!==t)&&(H=new V(e),U=t),H}export{F as a,M as i,W as n,j as o,B as r,N as s,V as t};
@@ -1,7 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{r as e}from"./errors-0zGHRLue.mjs";import t from"node:fs";import n from"isomorphic-dompurify";import{z as r}from"zod";import{error as i}from"@bdocs/dui";const a=/^[a-zA-Z0-9\-_/.()[\]]+$/,o=r.looseObject({title:r.string().max(200).optional(),description:r.string().max(500).optional(),permalink:r.string().optional(),sidebarPosition:r.number().optional(),sidebarLabel:r.string().max(100).optional(),sidebarHidden:r.boolean().optional(),hidden:r.boolean().optional(),category:r.string().max(50).optional(),order:r.number().optional(),badge:r.union([r.string().max(50),r.object({text:r.string().max(50),expires:r.string().optional()})]).optional(),icon:r.string().max(50).optional(),date:r.union([r.string(),r.date()]).optional(),lastUpdated:r.union([r.string(),r.date()]).optional(),groupTitle:r.string().max(100).optional(),groupPosition:r.number().optional(),seo:r.record(r.string(),r.any()).optional(),tags:r.array(r.string().max(50)).optional(),author:r.union([r.string().max(100),r.object({name:r.string().max(100),avatar:r.string().optional(),url:r.string().optional(),image:r.string().optional()})]).optional(),draft:r.boolean().optional(),excerpt:r.string().max(500).optional(),coverImage:r.string().nullable().optional()});function s(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return c(r)?{data:{},content:i,rawMatter:r}:{data:l(r),content:i,rawMatter:r}}function c(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function l(e){let t=e.split(`
7
- `),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=u(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=d(s),r++}else r++}return n}function u(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=d(e.slice(n+1).trim())}}n.push(t)}else{let t={value:e};n.push(t)}}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=d(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=d(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function d(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>d(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=d(e.slice(t+1).trim())}}return n}return t}function f(e){return e.replace(/\\/g,`/`)}function p(e){return e.replace(/^\d+\./,``)}function m(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function h(e){return/\.mdx?$/.test(e)}const g=new Map;function _(e){let n=Date.now(),r=g.get(e);if(r&&n-r.ts<2e3)return r.mtime;try{let r=t.statSync(e).mtimeMs;return g.set(e,{mtime:r,ts:n}),r}catch{return 0}}function v(t,n,r){let{data:i,content:a,rawMatter:c}=s(n);if(c&&c.length>10240)throw D(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:c.length,file:t}),new e(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!r)return{data:i,content:a};let l=o.safeParse(i),u={...l.success?l.data:{}};return u.title&&=w(u.title).trim(),u.description&&=w(u.description).trim(),{data:u,content:a}}async function y(n,r=!0){let i=``;try{i=await t.promises.readFile(n,`utf-8`);let{data:e,content:a}=v(n,i,r);if(r&&!e.lastUpdated)try{e.lastUpdated=(await t.promises.stat(n)).mtimeMs}catch{e.lastUpdated=0}return{data:e,content:a,raw:i}}catch(t){if(t instanceof e)throw t;return{data:{},content:i,raw:i}}}function b(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function x(e){return b(e)}function S(e){let t=f(e).split(`/`).map(e=>E(p(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function C(e){return n.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}n.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function w(e){return e?n.sanitize(e,{ALLOWED_TAGS:[]}).replace(/\s+/g,` `).trim():``}function T(e){return e.charAt(0).toUpperCase()+e.slice(1)}function E(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function D(e,t,n={}){let r=new Date().toISOString(),a={...n};for(let e in a)typeof a[e]==`string`&&a[e].includes(`:`)&&(a[e]=a[e].split(/[\\/]/).pop()||a[e]);i(`[SECURITY][${r}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(a)}`)}function O(){let e=process.env.NODE_ENV!==`production`,t=process.env.BOLTDOCS_CACHE_COMPRESS===void 0?!e:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`;return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:t}}export{o as _,S as a,h as c,y as d,E as f,s as g,p as h,m as i,D as l,w as m,b as n,O as o,C as p,x as r,_ as s,T as t,f as u,a as v};
@@ -1,7 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./errors-vKw8CkiX.cjs`);let n=require(`node:fs`);n=e.r(n);let r=require(`isomorphic-dompurify`);r=e.r(r);let i=require(`zod`),a=require(`@bdocs/dui`);const o=/^[a-zA-Z0-9\-_/.()[\]]+$/,s=i.z.looseObject({title:i.z.string().max(200).optional(),description:i.z.string().max(500).optional(),permalink:i.z.string().optional(),sidebarPosition:i.z.number().optional(),sidebarLabel:i.z.string().max(100).optional(),sidebarHidden:i.z.boolean().optional(),hidden:i.z.boolean().optional(),category:i.z.string().max(50).optional(),order:i.z.number().optional(),badge:i.z.union([i.z.string().max(50),i.z.object({text:i.z.string().max(50),expires:i.z.string().optional()})]).optional(),icon:i.z.string().max(50).optional(),date:i.z.union([i.z.string(),i.z.date()]).optional(),lastUpdated:i.z.union([i.z.string(),i.z.date()]).optional(),groupTitle:i.z.string().max(100).optional(),groupPosition:i.z.number().optional(),seo:i.z.record(i.z.string(),i.z.any()).optional(),tags:i.z.array(i.z.string().max(50)).optional(),author:i.z.union([i.z.string().max(100),i.z.object({name:i.z.string().max(100),avatar:i.z.string().optional(),url:i.z.string().optional(),image:i.z.string().optional()})]).optional(),draft:i.z.boolean().optional(),excerpt:i.z.string().max(500).optional(),coverImage:i.z.string().nullable().optional()});function c(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return l(r)?{data:{},content:i,rawMatter:r}:{data:u(r),content:i,rawMatter:r}}function l(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function u(e){let t=e.split(`
7
- `),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=d(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=f(s),r++}else r++}return n}function d(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=f(e.slice(n+1).trim())}}n.push(t)}else{let t={value:e};n.push(t)}}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=f(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=f(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function f(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>f(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=f(e.slice(t+1).trim())}}return n}return t}function p(e){return e.replace(/\\/g,`/`)}function m(e){return e.replace(/^\d+\./,``)}function h(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function g(e){return/\.mdx?$/.test(e)}const _=new Map;function v(e){let t=Date.now(),r=_.get(e);if(r&&t-r.ts<2e3)return r.mtime;try{let r=n.default.statSync(e).mtimeMs;return _.set(e,{mtime:r,ts:t}),r}catch{return 0}}function y(e,n,r){let{data:i,content:a,rawMatter:o}=c(n);if(o&&o.length>10240)throw O(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:o.length,file:e}),new t.r(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!r)return{data:i,content:a};let l=s.safeParse(i),u={...l.success?l.data:{}};return u.title&&=T(u.title).trim(),u.description&&=T(u.description).trim(),{data:u,content:a}}async function b(e,r=!0){let i=``;try{i=await n.default.promises.readFile(e,`utf-8`);let{data:t,content:a}=y(e,i,r);if(r&&!t.lastUpdated)try{t.lastUpdated=(await n.default.promises.stat(e)).mtimeMs}catch{t.lastUpdated=0}return{data:t,content:a,raw:i}}catch(e){if(e instanceof t.r)throw e;return{data:{},content:i,raw:i}}}function x(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function S(e){return x(e)}function C(e){let t=p(e).split(`/`).map(e=>D(m(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function w(e){return r.default.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}r.default.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function T(e){return e?r.default.sanitize(e,{ALLOWED_TAGS:[]}).replace(/\s+/g,` `).trim():``}function E(e){return e.charAt(0).toUpperCase()+e.slice(1)}function D(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function O(e,t,n={}){let r=new Date().toISOString(),i={...n};for(let e in i)typeof i[e]==`string`&&i[e].includes(`:`)&&(i[e]=i[e].split(/[\\/]/).pop()||i[e]);(0,a.error)(`[SECURITY][${r}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(i)}`)}function k(){let e=process.env.NODE_ENV!==`production`,t=process.env.BOLTDOCS_CACHE_COMPRESS===void 0?!e:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`;return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:t}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return o}});