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.
- package/bin/boltdocs.js +20 -1
- package/bin/preloader.mjs +28 -0
- package/dist/{adapters-ByYY44Zy.mjs → adapters-BmB4TKCc.mjs} +1 -1
- package/dist/{adapters-DvmtpdSF.cjs → adapters-Cp1Maurn.cjs} +1 -1
- package/dist/audit-CLXjMzwQ.mjs +11 -0
- package/dist/audit-COgjnQ5n.cjs +11 -0
- package/dist/build-D6FfNA8m.cjs +6 -0
- package/dist/build-D_7SvwTh.mjs +6 -0
- package/dist/cache-CJE9nWLE.cjs +6 -0
- package/dist/cache-OY4HzIXl.mjs +6 -0
- package/dist/callout-oI_LCbxS.d.ts +71 -0
- package/dist/callout-plqx9Dw-.d.cts +71 -0
- package/dist/client/index.cjs +1265 -569
- package/dist/client/index.d.cts +3 -542
- package/dist/client/index.d.ts +3 -542
- package/dist/client/index.js +1167 -521
- package/dist/client/mdx.cjs +1 -1
- package/dist/client/mdx.d.cts +24 -2
- package/dist/client/mdx.d.ts +24 -2
- package/dist/client/mdx.js +1 -1
- package/dist/client/primitives.cjs +14 -4
- package/dist/client/primitives.d.cts +281 -38
- package/dist/client/primitives.d.ts +281 -38
- package/dist/client/primitives.js +5 -5
- package/dist/client/router.cjs +49 -0
- package/dist/client/router.d.cts +3 -0
- package/dist/client/router.d.ts +3 -0
- package/dist/client/router.js +8 -0
- package/dist/client/theme/reset.css +40 -4
- package/dist/{config-BpzaPsJj.d.cts → config-BoRlz0Ca.d.mts} +157 -14
- package/dist/{config-xtS0ZkMm.d.mts → config-CTsX_tGM.d.cts} +157 -14
- package/dist/config-Ceib-AOH.cjs +7 -0
- package/dist/config-DGLQsy7y.mjs +7 -0
- package/dist/{package-CH2ChQqw.cjs → config-files-BYHDOrKn.mjs} +1 -1
- package/dist/config-files-D9cdBMl2.cjs +6 -0
- package/dist/config-jJh8WYJI.cjs +6 -0
- package/dist/csp-C4LmN1ko.cjs +6 -0
- package/dist/csp-D6JEOqKh.mjs +6 -0
- package/dist/dev-B9l7fVoQ.cjs +6 -0
- package/dist/dev-CwOyh-wP.mjs +6 -0
- package/dist/{docs-layout-BdtZ9z6s.js → docs-layout-CbZ7LDRe.js} +504 -249
- package/dist/{docs-layout-CFWI15Id.cjs → docs-layout-vzfXed1Q.cjs} +516 -254
- package/dist/{doctor-BBtmNJE0.cjs → doctor-B1_YL0Wt.cjs} +1 -1
- package/dist/doctor-C7whl4ED.cjs +6 -0
- package/dist/doctor-DmQnml2k.mjs +6 -0
- package/dist/{generator-COepVWGi.cjs → generator-BlW45ST7.cjs} +5 -3
- package/dist/{generator-CcOBN5vI.mjs → generator-BwknNejd.mjs} +5 -3
- package/dist/{handler-XX7cLTqe.cjs → handler-CDEoKARD.cjs} +2 -2
- package/dist/{handler-DzQae4eA.mjs → handler-D7UyZlPm.mjs} +2 -2
- package/dist/{image-Bz87fCla.js → image-B-NDSDuY.js} +129 -11
- package/dist/{image-C4TlpMHn.cjs → image-Hnaa2bJd.cjs} +175 -9
- package/dist/index-C56bL-A-.d.cts +1344 -0
- package/dist/{sidebar-COTaMHR-.d.ts → index-CPUUKzxD.d.cts} +344 -327
- package/dist/{sidebar-CrEdJuHX.d.cts → index-Ci4kfOHF.d.ts} +344 -327
- package/dist/index-Cu9H6CRa.d.ts +1344 -0
- package/dist/link-CgdI6O2o.js +872 -0
- package/dist/{link-D1Gjkb-2.cjs → link-vZjmD-es.cjs} +406 -223
- package/dist/{mdx-BuO6a1f7.js → mdx-BRT71V5Q.js} +211 -168
- package/dist/{mdx-CD-tSjRG.cjs → mdx-D0Absdq5.cjs} +225 -169
- package/dist/native-BNCY7PRF.cjs +6 -0
- package/dist/native-Di9Fnfrv.mjs +6 -0
- package/dist/native-Kre2T5eS.cjs +6 -0
- package/dist/node/cache.cjs +1 -1
- package/dist/node/cache.d.cts +19 -3
- package/dist/node/cache.d.mts +19 -3
- package/dist/node/cache.mjs +1 -1
- package/dist/node/cli-entry.cjs +1 -9
- package/dist/node/cli-entry.mjs +1 -9
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +245 -17
- package/dist/node/index.d.mts +246 -18
- package/dist/node/index.mjs +1 -1
- package/dist/node/mdx/shiki-adapter.cjs +1 -1
- package/dist/node/mdx/shiki-adapter.d.cts +24 -3
- package/dist/node/mdx/shiki-adapter.d.mts +24 -2
- package/dist/node/mdx/shiki-adapter.mjs +1 -1
- package/dist/node-BFNCsPs3.mjs +23 -0
- package/dist/node-TpmWEqXM.cjs +23 -0
- package/dist/{package-DSSB8B5L.mjs → package-5EsGUTVl.mjs} +1 -1
- package/dist/package-Ca2WSiy2.cjs +6 -0
- package/dist/pages-external-BBw8ObVK.mjs +6 -0
- package/dist/pages-external-DPiPFxxP.cjs +6 -0
- package/dist/parser-BqTOsEUa.cjs +6 -0
- package/dist/parser-CGMY2lJ7.mjs +6 -0
- package/dist/plugin-CUmUZOLD.mjs +69 -0
- package/dist/plugin-Ds3RLYpy.cjs +69 -0
- package/dist/plugin-context-C-l90hFt.cjs +15 -0
- package/dist/plugin-context-wqHNSZum.mjs +15 -0
- package/dist/plugin-lifecycle-BAKNKOxd.cjs +6 -0
- package/dist/resolve-B7vWOd8R.cjs +6 -0
- package/dist/resolve-C2kKnk_5.mjs +6 -0
- package/dist/resolve-It1Iug83.cjs +6 -0
- package/dist/resolve-YdTrt_FG.mjs +6 -0
- package/dist/router-C3kygdRK.cjs +1285 -0
- package/dist/router-CZBxMRAH.js +987 -0
- package/dist/routes-BL4y79tb.mjs +6 -0
- package/dist/routes-C2nPecwu.cjs +6 -0
- package/dist/routes-U9L8psZ9.cjs +6 -0
- package/dist/{search-dialog-DFnlx8LO.js → search-dialog-BqkzDTq2.js} +107 -57
- package/dist/search-dialog-D3jtaw6w.cjs +525 -0
- package/dist/search-dialog-DRiXejws.js +501 -0
- package/dist/{search-dialog-DHqwjJuG.cjs → search-dialog-DmirOMPg.cjs} +1 -1
- package/dist/{search-dialog-D6TvjcuV.js → search-dialog-MmwxFMmE.js} +1 -1
- package/dist/{search-dialog-B1NERUNx.cjs → search-dialog-x_qHU8ty.cjs} +107 -58
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/update-check-BKqmYfwT.cjs +11 -0
- package/dist/update-check-QnrVR3q1.mjs +11 -0
- package/dist/utils-8lzafE49.mjs +7 -0
- package/dist/utils-ej6_SjIZ.cjs +7 -0
- package/dist/virtual-modules-Ca5tHk1X.cjs +30 -0
- package/dist/virtual-modules-Dlgt1fP0.mjs +30 -0
- package/package.json +18 -16
- package/src/shared/mdx-path.ts +12 -0
- package/src/shared/structured-data.ts +145 -0
- package/src/shared/types.ts +220 -16
- package/dist/banner-BMop1KLF.d.ts +0 -100
- package/dist/banner-CVD0GugR.d.cts +0 -100
- package/dist/cache-CO4Dy2uQ.cjs +0 -6
- package/dist/cache-Dk53iOo6.mjs +0 -6
- package/dist/config-CCXp3aXO.mjs +0 -7
- package/dist/config-CMd4XoFq.cjs +0 -6
- package/dist/config-DlGoEM9D.cjs +0 -7
- package/dist/csp-CRp_3U7a.cjs +0 -6
- package/dist/csp-oTC2ygvF.mjs +0 -6
- package/dist/doctor-Bv16QSrI.cjs +0 -7
- package/dist/doctor-DOAbSaiL.mjs +0 -7
- package/dist/headers-Ddwek8K7.mjs +0 -6
- package/dist/headers-dg4SDrjY.cjs +0 -6
- package/dist/link-2PzgTnaP.js +0 -673
- package/dist/meta-loader-C4Hu9RN9.mjs +0 -6
- package/dist/meta-loader-Dq1zcFnh.cjs +0 -6
- package/dist/node-B5hu_6qj.cjs +0 -104
- package/dist/node-BXtqM1uH.mjs +0 -6
- package/dist/node-C8725aw7.mjs +0 -104
- package/dist/node-aD1eisrR.cjs +0 -6
- package/dist/pages-external-BYa4JSda.mjs +0 -6
- package/dist/pages-external-XkYIs-d5.cjs +0 -6
- package/dist/parser-DCiEWkSk.cjs +0 -8
- package/dist/parser-qk9FIHJ7.mjs +0 -8
- package/dist/plugin-CX1OZ6jB.cjs +0 -73
- package/dist/plugin-CgfiWaFZ.mjs +0 -73
- package/dist/routes-BW6zsk7Z.mjs +0 -6
- package/dist/routes-BgoIB5wb.cjs +0 -6
- package/dist/routes-CORVxc02.cjs +0 -6
- package/dist/search-dialog-BRFno7HD.cjs +0 -330
- package/dist/search-dialog-BmxHiKwt.js +0 -312
- package/dist/shiki-adapter-CoQ6jyJ4.cjs +0 -6
- package/dist/shiki-adapter-D-aKw7PP.mjs +0 -6
- package/dist/utils-Crm9oPcV.mjs +0 -7
- package/dist/utils-D6Xtj0FZ.cjs +0 -7
- /package/dist/{errors-0zGHRLue.mjs → errors-N-b6Sn2G.mjs} +0 -0
- /package/dist/{index-1KsTDq4o.d.mts → index-lFoyzCXy.d.mts} +0 -0
- /package/dist/{types-generator-BXhv7Ill.cjs → types-generator-DDSA93P3.cjs} +0 -0
- /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};
|
package/dist/utils-Crm9oPcV.mjs
DELETED
|
@@ -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,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`)}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};
|
package/dist/utils-D6Xtj0FZ.cjs
DELETED
|
@@ -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,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`)}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}});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|