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
package/dist/plugin-CgfiWaFZ.mjs
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
-
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
import{a as e,b as t,c as n,f as r,i,l as a,m as o,o as s,s as c,u as l}from"./node-C8725aw7.mjs";import{c as u,d,n as f,s as p,u as m}from"./utils-Crm9oPcV.mjs";import{TransformCache as h}from"./node/cache.mjs";import{a as g,n as _,r as v,t as y}from"./routes-BW6zsk7Z.mjs";import{t as ee}from"./pages-external-BYa4JSda.mjs";import{r as te,t as b}from"./config-CCXp3aXO.mjs";import{r as ne,t as x}from"./types-generator-bDPvUztF.mjs";import{n as S}from"./doctor-DOAbSaiL.mjs";import{a as re,i as C,n as ie,o as w,s as ae}from"./shiki-adapter-D-aKw7PP.mjs";import{t as oe}from"./headers-Ddwek8K7.mjs";import{n as se}from"./csp-oTC2ygvF.mjs";import{createRequire as T}from"node:module";import E from"node:path";import D from"node:fs";import{error as O}from"@bdocs/dui";import k from"node:crypto";import{SKIP as ce,parseMetaString as le,setNodeProperty as ue,visitNodes as A}from"@bdocs/unist-utils";import{fileURLToPath as de}from"node:url";import{loadEnv as fe}from"vite";import{ViteImageOptimizer as pe}from"@bdocs/plugin-image-optimizer";import me from"@mdx-js/rollup";import he from"remark-gfm";import ge from"remark-frontmatter";import _e from"rehype-slug";const j=E.dirname(de(import.meta.url));function M(e){return`<!doctype html>
|
|
7
|
-
<html lang="en">
|
|
8
|
-
<head>
|
|
9
|
-
<meta charset="UTF-8" />
|
|
10
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
11
|
-
</head>
|
|
12
|
-
<body>
|
|
13
|
-
<div id="root"></div>
|
|
14
|
-
</body>
|
|
15
|
-
</html>`}function ve(e,t,n){return e?typeof e==`string`?e:e[n||``]||Object.values(e)[0]||t:t}function ye(e){let t=e.i18n?.defaultLocale,n=ve(e.theme?.title,`Boltdocs`,t),r=e.theme?.favicon;!r&&e.theme?.logo&&(r=typeof e.theme.logo==`string`?e.theme.logo:e.theme.logo.light||e.theme.logo.dark);let i=e.seo?.indexing,a=i===`none`?`noindex, nofollow`:i===`all`?void 0:i,o=e.seo?.metatags||{},s=Object.entries(o).map(([e,t])=>{let n=f(e),r=f(t);return e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${n}" content="${r}">`:`<meta name="${n}" content="${r}">`});return{title:n,favicon:r,robotsContent:a,customMetaTags:s}}function be(e){return[e.favicon?`<link rel="icon" href="${f(e.favicon)}">`:``,e.robotsContent?`<meta name="robots" content="${f(e.robotsContent)}">`:``,`<meta name="generator" content="Boltdocs">`,...e.customMetaTags].filter(Boolean).join(`
|
|
16
|
-
`)}function xe(e){if(!e)return``;let t=[];return e.google&&t.push(`<meta name="google-site-verification" content="${f(e.google)}">`),e.bing&&t.push(`<meta name="msvalidate.01" content="${f(e.bing)}">`),e.yandex&&t.push(`<meta name="yandex-verification" content="${f(e.yandex)}">`),e.pinterest&&t.push(`<meta name="p:domain_verify" content="${f(e.pinterest)}">`),e.facebook&&t.push(`<meta name="facebook-domain-verification" content="${f(e.facebook)}">`),t.join(`
|
|
17
|
-
`)}function Se(e){let t=[],n=e.theme?.logo,r;if(typeof n==`string`?r=n:n&&typeof n==`object`&&(r=n.light||n.dark),r){let e={webp:`image/webp`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,svg:`image/svg+xml`,avif:`image/avif`}[r.split(`.`).pop()?.toLowerCase()||``]||`image/png`;t.push(`<link rel="preload" as="image" href="${r}" type="${e}" fetchpriority="high">`)}return t.join(`
|
|
18
|
-
`)}function Ce(){return`
|
|
19
|
-
<script>
|
|
20
|
-
(function() {
|
|
21
|
-
try {
|
|
22
|
-
var stored = localStorage.getItem("boltdocs-theme");
|
|
23
|
-
var isDark =
|
|
24
|
-
stored === "dark" ||
|
|
25
|
-
(stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
26
|
-
document.documentElement.classList.toggle("dark", isDark);
|
|
27
|
-
document.documentElement.dataset.theme = isDark ? "dark" : "light";
|
|
28
|
-
} catch (e) {
|
|
29
|
-
}
|
|
30
|
-
})();
|
|
31
|
-
<\/script>
|
|
32
|
-
`}function we(e,t){if(!e||!t&&!e.debug)return``;let n=e.anonymizeIp?`gtag('set', 'ip', true);`:``,r=e.sendPageView===!1?`{send_page_view: false}`:`{}`,i=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``,a=f(e.measurementId);return`
|
|
33
|
-
<!-- Google tag (gtag.js) -->
|
|
34
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id=${a}"><\/script>
|
|
35
|
-
<script>
|
|
36
|
-
window.dataLayer = window.dataLayer || [];
|
|
37
|
-
function gtag(){dataLayer.push(arguments);}
|
|
38
|
-
gtag('js', new Date());
|
|
39
|
-
${n}
|
|
40
|
-
gtag('config', '${a}', ${r}${i});
|
|
41
|
-
<\/script>
|
|
42
|
-
`}function Te(e,t){if(!e||!t)return{script:``,noScript:``};let n=f(e.dataLayerName||`dataLayer`),r=e.preview?`>m_preview=${f(e.preview)}`:``,i=f(e.tagId);return{script:`
|
|
43
|
-
<!-- Google Tag Manager -->
|
|
44
|
-
<script defer>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
45
|
-
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
46
|
-
j=d.createElement(s),dl=l!='${n}'?'&l='+l:'';j.src=
|
|
47
|
-
'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${r}';f.parentNode.insertBefore(j,f);
|
|
48
|
-
})(window,document,'script','${n}','${i}');<\/script>
|
|
49
|
-
<!-- End Google Tag Manager -->
|
|
50
|
-
`,noScript:`
|
|
51
|
-
<!-- Google Tag Manager (noscript) -->
|
|
52
|
-
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${i}"
|
|
53
|
-
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
54
|
-
<!-- End Google Tag Manager (noscript) -->
|
|
55
|
-
`}}function Ee(e,t){if(!e||!t)return``;let{analytics:n,speedInsights:r}=e,i=``;return n&&(i+=`
|
|
56
|
-
<script>window.va=window.va||function(){(window.vaq=window.vaq||[]).push(arguments)};<\/script>
|
|
57
|
-
<script defer src="/_vercel/insights/script.js"><\/script>
|
|
58
|
-
`),r&&(i+=`
|
|
59
|
-
<script>window.si=window.si||function(){(window.siq=window.siq||[]).push(arguments)};<\/script>
|
|
60
|
-
<script defer src="/_vercel/speed-insights/script.js"><\/script>
|
|
61
|
-
`),i}function De(e,t){if(!e||!t)return``;let n=f(e.apiKey),r=[`api_host: "${f(e.host||`https://us.i.posthog.com`)}"`];return e.capturePageview===!1&&r.push(`capture_pageview: false`),e.capturePageleave===!1&&r.push(`capture_pageleave: false`),e.sessionRecording===!0&&r.push(`session_recording: { recordCrossOriginPages: true }`),e.autocapture===!0&&r.push(`autocapture: true`),`
|
|
62
|
-
<!-- PostHog -->
|
|
63
|
-
<script>
|
|
64
|
-
!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?(u=e[a]=[]):(a="posthog"),u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
|
|
65
|
-
posthog.init("${n}", { ${r.join(`, `)} });
|
|
66
|
-
<\/script>
|
|
67
|
-
`}function Oe(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function ke(e,t){return e.replace(`</head>`,` ${t}</head>`)}function Ae(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function je(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
|
|
68
|
-
</body>`)}function N(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=M(t));let n=process.env.NODE_ENV===`production`,r=be(ye(t)),i=xe(t.seo?.verification),a=Se(t),o=Ce(),s=we(t.integrations?.analytics?.ga4,n),c=Te(t.integrations?.analytics?.gtm,n),l=[i,a,r,s,Ee(t.integrations?.analytics?.vercel,n),De(t.integrations?.analytics?.posthog,n),c.script].filter(Boolean).join(`
|
|
69
|
-
`);return e=Oe(e,o),e=ke(e,l),e=Ae(e,c.noScript),e=je(e),e}function P(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(P):e&&typeof e==`object`?Object.values(e).flatMap(P):[]}const Me=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function Ne(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=P(Object.entries(n.frontmatter).filter(([e])=>!Me.has(e)).map(([e,t])=>t)).join(` `));let r=e?`${n._content||``} ${e}`:n._content||``;if(t.push({id:n.path,title:n.title,content:r,url:n.path,display:n.groupTitle?`${n.groupTitle} > ${n.title}`:n.title,locale:n.locale,version:n.version}),n.headings)for(let e of n.headings)t.push({id:`${n.path}#${e.id}`,title:e.text,content:`${e.text} in ${n.title}`,url:`${n.path}#${e.id}`,display:`${n.title} > ${e.text}`,locale:n.locale,version:n.version})}return t}let F=null,I=null,L=null,R=null;function z(){F=null,I=null,L=null,R=null}function Pe(e,n,i,a){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let t=i()?.root||process.cwd();if(e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`)return m(E.resolve(t,`boltdocs-entry.tsx`));if(e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`)return m(E.resolve(t,`boltdocs-client.mjs`));if(e.startsWith(`\0`)){let t=e.slice(1);if(!t.startsWith(`virtual:boltdocs-`)&&l.has(t))return e}else if(!e.startsWith(`virtual:boltdocs-`)&&l.has(e))return`\0`+e;return e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(i){let o=n(),s=i.startsWith(`\0`)?i.slice(1):i;if(!s.includes(`boltdocs-entry.tsx`)&&!s.includes(`boltdocs-client.mjs`)&&!s.startsWith(`virtual:boltdocs-`)&&l.has(s)){let e=l.get(s);if(!e)return null;try{let t=await e.loader();if(typeof t!=`string`)throw Error(`[boltdocs] Plugin virtual module '${s}' loader must return a string source code, got ${typeof t}.`);return t}catch(e){throw Error(`[boltdocs] Plugin virtual module '${s}' failed to load: ${e instanceof Error?e.message:String(e)}`)}}if(i.includes(`boltdocs-entry.tsx`)||i===`\0virtual:boltdocs-entry`)return t(e,o);if(i.includes(`boltdocs-client.mjs`)||i===`\0virtual:boltdocs-client.ts`||i===`virtual:boltdocs-client`){let e=j,t=e;for(;e!==E.parse(e).root;){if(D.existsSync(E.join(e,`package.json`))&&JSON.parse(D.readFileSync(E.join(e,`package.json`),`utf-8`)).name===`boltdocs`){t=e;break}e=E.dirname(e)}let n=E.join(t,`src/client/index.ts`),r=E.join(t,`dist/client/index.js`);return`export * from '${m(D.existsSync(n)?n:r)}';`}if(!i.startsWith(`\0virtual:boltdocs-`))return;let c=i.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(c===`routes`){if(!L){let e=r(await y(a,o));L=`export default ${JSON.stringify(e,null,2)};`}return L}if(c===`collections`){if(!R){let e=r(await y(a,o)),t={};for(let n of e)n.collection&&(t[n.collection]||(t[n.collection]=[]),t[n.collection].push({path:n.path,title:n.title,date:n.date,excerpt:n.excerpt,tags:n.tags,author:n.author,coverImage:n.coverImage,filePath:n.filePath,locale:n.locale,version:n.version,frontmatter:n.frontmatter,draft:n.frontmatter?.draft}));R=`export default ${JSON.stringify(t,null,2)};`}return R}if(c===`config`){if(F===null){let{loadDirectoryMeta:e}=await import(`./meta-loader-C4Hu9RN9.mjs`);F=await e(a)}let e=F,t={base:o?.base,theme:o?.theme,i18n:o?.i18n,versions:o?.versions,siteUrl:o?.siteUrl,integrations:o?.integrations,plugins:o?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(c===`entry`)return t(e,o);if(c===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],t=null;for(let n of e){let e=E.resolve(a,`mdx-components.${n}`);if(D.existsSync(e)){t=e;break}}if(t){let e=m(t);return`import * as components from '${e}';
|
|
70
|
-
const mdxComponents = components.default || components;
|
|
71
|
-
export default mdxComponents;
|
|
72
|
-
export * from '${e}';`}return`export default {};`}if(c===`layout`){let e=[`tsx`,`jsx`],t=null;for(let n of e){let e=E.resolve(a,`layout.${n}`);if(D.existsSync(e)){t=e;break}}if(t)return`import UserLayout from '${m(t)}';
|
|
73
|
-
export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(c===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],t=null;for(let n of e){let e=E.resolve(a,`icons.${n}`);if(D.existsSync(e)){t=e;break}}return t?`import * as icons from '${m(t)}';\nexport default icons;`:`export default {};`}if(c===`search`){if(!I){let e=Ne(await y(a,o));I=`export default ${JSON.stringify(e,null,2)};`}return I}if(c===`client`){let e=j,t=``;for(;e&&e!==E.parse(e).root;){let n=E.join(e,`src/client/index.ts`),r=E.join(e,`dist/client/index.mjs`),i=E.join(e,`client/index.ts`);if(D.existsSync(n)){t=m(n);break}if(D.existsSync(r)){t=m(r);break}if(D.existsSync(i)){t=m(i);break}e=E.dirname(e)}if(!t)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${j}`);return`export * from '${t}';`}}}}function B(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-DzQae4eA.mjs`).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function Fe(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(E.extname(a))return r();let o=e(),s=E.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=E.join(s,c,`index.html`);c!==`/`&&D.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const Ie=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i;function Le(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(B(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(oe).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,se(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!Ie.test(a)){let n=M(s);n=N(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const V=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i];function H(e){for(let t=0;t<V.length;t++)if(V[t].test(e))return t;return V.length}function Re(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await import(`./routes-BW6zsk7Z.mjs`).then(e=>e.i),i=(await r(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>H(e)-H(t));for(let t=0;t<i.length;t+=32){let n=i.slice(t,t+32);await Promise.allSettled(n.map(t=>{let n=E.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},150)}const ze=[`tsx`,`jsx`],U=[`tsx`,`ts`,`jsx`,`js`];function Be(e,t){let n=b.map(e=>E.resolve(process.cwd(),e)),r=ze.map(e=>E.resolve(t,`layout.${e}`)),i=U.map(e=>E.resolve(t,`mdx-components.${e}`)),a=U.map(e=>E.resolve(t,`pages-external/index.${e}`)),o=U.map(e=>E.resolve(t,`icons.${e}`));e.watcher.add([...n,...i,...r,...a,...o])}const W=new Map;function G(e){let{lastUpdated:t,...n}=e;return k.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function Ve(e){try{let{data:t}=await d(e);return G(t)}catch{return``}}function He(e){let t=W.get(e);if(t===void 0){let n=g.getStale(e);n?.route?.frontmatter&&(t=G(n.route.frontmatter),W.set(e,t))}return t}function Ue(e,t){W.set(e,t)}function We(e){W.delete(e)}const K=[`tsx`,`ts`,`jsx`,`js`];function q(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function Ge(e,t,n,r){let i=new Map,a=n.toLowerCase(),o=null;function l(){if(o)return o;o=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{o.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return o}e.watcher.on(`all`,()=>{o=null});let d=async(n,o)=>{try{let d=m(n);if(b.some(e=>d.endsWith(e))){e.restart();return}if(K.some(e=>d.endsWith(`mdx-components.${e}`))){x(r(),t),q(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(K.some(e=>d.endsWith(`icons.${e}`))){q(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(d.endsWith(`layout.tsx`)||d.endsWith(`layout.jsx`)){q(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(d.endsWith(`/post.tsx`)||d.endsWith(`/post.jsx`)||d.endsWith(`/list.tsx`)||d.endsWith(`/list.jsx`)){q(e,`entry`),e.ws.send({type:`full-reload`});return}if(d.includes(`/pages-external/`)||d.includes(`\\pages-external\\`)){q(e,`entry`),e.ws.send({type:`full-reload`});return}if(!d.toLowerCase().startsWith(a))return;let f=d.endsWith(`meta.json`)||d.endsWith(`_meta.json`);if(!f&&!u(d))return;if(o===`add`||o===`unlink`||f){o===`unlink`&&We(n),v(),z(),s(),c(o,d).catch(e=>{O(`Plugin HMR handler error:`,e)});let i=r();x(i,t),q(e,`config`),q(e,`routes`),q(e,`search`),q(e,`collections`),S(t,process.cwd(),i).catch(e=>{O(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:i?.theme,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl}}),e.ws.send({type:`full-reload`});return}i.has(d)&&clearTimeout(i.get(d)),i.set(d,setTimeout(async()=>{i.delete(d);try{let r=He(n),i=await Ve(n);if(Ue(n,i),_(n),r!==void 0&&r!==i){z(),q(e,`routes`),q(e,`search`),q(e,`collections`),e.ws.send({type:`full-reload`});return}let a=m(E.relative(t,n)),o=e.moduleGraph.getModulesByFile(d);if((!o||o.size===0)&&(o=l().get(d.toLowerCase())||null),o&&o.size>0)for(let t of o)e.moduleGraph.invalidateModule(t);else{e.ws.send({type:`full-reload`});return}e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:d,relPath:a}})}catch(e){O(`HMR error processing content change:`,e)}},150))}catch(e){O(`HMR error during ${o} event:`,e)}};e.watcher.on(`add`,e=>d(e,`add`)),e.watcher.on(`unlink`,e=>d(e,`unlink`)),e.watcher.on(`change`,e=>d(e,`change`))}function Ke(e){let t=e.toLowerCase();return({file:e})=>{let n=e.toLowerCase();if(n.startsWith(t)&&(u(e)||n.endsWith(`meta.json`)))return[]}}function qe(t,r,i,o,s){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(o){let c=s();await c?.runHook(`beforeDev`),S(t,process.cwd(),i()).catch(e=>{O(`Failed to generate initial link tree:`,e)}),Re(o,t,i),Le(o,t,i),Be(o,t),Ge(o,t,r,i),a((e,t)=>{o.ws.send(e,t)}),e(o),await n(),await c?.runHook(`afterDev`)},hotUpdate:Ke(r)}}const J=new h(`mdx`);function Je(e){let t=ie(e);return async e=>{let n=await t.getHighlighter();A(e,w.ELEMENT,e=>{if(e.tagName!==`pre`)return;let r=e.children?.[0];if(!r||r.type!==w.ELEMENT||r.tagName!==`code`)return;let i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):re.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=le(r.properties?.metastring||r.data?.meta||``),s=t.getOptions(a,o),c=r.children?.[0]?.value??``;try{let t=n.codeToHast(c,s),r=t.type===`root`&&t.children?t.children[0]:t;r&&r.type===`element`&&(e.children=r.children,e.properties={...e.properties||{},...r.properties||{},[C.HIGHLIGHTED]:`true`,[C.LANG]:a})}catch(t){O(`[rehypeShiki] Failed to highlight code block:`,t);let n=e.properties??={};n.className=[...Array.isArray(n.className)?n.className:[],ae.FALLBACK],n[C.HIGHLIGHTED]=`false`,n[C.LANG]=a}return o.title&&((e.properties??={})[C.TITLE]=o.title),ce})}}function Ye(){return e=>{A(e,w.CODE,e=>{e.meta&&ue(e,`metastring`,e.meta)})}}let Xe=!1;function Ze(e,t,n=me){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[he,ge,Ye,...r],rehypePlugins:[_e,[Je,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Xe||=(await J.load(),!0),a.buildStart&&await a.buildStart.call(this)},async load(e,n){if(e.endsWith(`.md`)||e.endsWith(`.mdx`))try{let n=D.readFileSync(e,`utf-8`),r=t?.();return r&&(n=(await r.runChain(`transformSource`,{code:n,filePath:e})).code),n}catch{return null}return a.load?a.load.call(this,e,n):null},async transform(e,n,r){let[i]=n.split(`?`);if(!i.endsWith(`.md`)&&!i.endsWith(`.mdx`))return a.transform?.call(this,e,n,r);let o=process.env.NODE_ENV===`production`?`prod`:`dev`,s=o===`dev`?`${i}:${p(i)}:${o}:v4`:`${i}:${k.createHash(`md5`).update(e).digest(`hex`)}:${o}:v4`,c=await J.getAsync(s);if(c)return{code:c,map:null};let l=await a.transform.call(this,e,i,r);if(l&&typeof l==`object`&&l.code){let e=l.code,n=t?.();return n&&(e=(await n.runChain(`transformMdx`,{code:e,filePath:i})).code),J.set(s,e),{code:e,map:null}}return l},async buildEnd(){J.save(),await J.flush(),a.buildEnd&&await a.buildEnd.call(this)}}}const Y=T(import.meta.url),Qe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`],$e=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=E.join(process.cwd(),`node_modules/boltdocs/package.json`);return D.existsSync(e)?T(D.realpathSync(e)):T(E.join(process.cwd(),`package.json`))}catch{return e}}function Z(e,t=Y){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=E.dirname(e);for(;n&&n!==E.dirname(n);){let e=E.join(n,`package.json`);if(D.existsSync(e)){a=e;break}n=E.dirname(n)}}if(!a)throw Error();let o=E.dirname(a),s=JSON.parse(D.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=E.resolve(o,l);if(D.existsSync(u))return u}catch{}return t.resolve(e)}function Q(e=Y){let t=[],n=X(e),r=new Set([n,e]);for(let e of r){for(let n of Qe)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?Z(n,e):e.resolve(n);r&&t.push(D.realpathSync(r))}catch{}for(let n of $e)try{t.push(D.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>m(e))}const $=T(import.meta.url),et=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function tt(t={},r){let a=E.resolve(process.cwd(),t.docsDir||`docs`),s=m(a),c=r,l,u=!1,d,f=[],p=[];if(c?.plugins?.length)try{let{version:e}=JSON.parse(D.readFileSync(E.resolve(j,`../../../package.json`),`utf-8`)),t=o(c.plugins,e);c.plugins=t,d=new i(t,c),p=t.flatMap(e=>e.vitePlugins||[])}catch{}let h=()=>c,g=e=>{c=e},_=()=>l,v=()=>d;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){u=t.command===`build`;let n=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,fe(t.mode,e.envDir||process.cwd(),``)),c||=await te(a),f.length===0){f=await y(a,c);let e=f.map(e=>e.path),t=(c.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=ee(a,c);for(let t of n)e.includes(t)||e.push(t);x(c,a,void 0,e),ne(e)}import(`./node/mdx/shiki-adapter.mjs`).then(({getShikiAdapter:e})=>{e(c).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:r}=await import(`./package-DSSB8B5L.mjs`),s=o(c.plugins||[],r);return c.plugins=s,d=new i(s,c,a,void 0,f,l?.build?.outDir||`dist`),p=s.flatMap(e=>e.vitePlugins||[]),u&&await d.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,onPageRendered:async(e,t)=>{if(!d)return t;try{let n=(await d.runChain(`transformHtml`,{html:t,path:e})).html;return n=(await d.runMiddlewareChain(`transformHtml`,{html:n,path:e})).html,n}catch{return t}}},build:{ssrManifest:u},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:n?[]:[{find:`react-router-dom`,replacement:Z(`react-router-dom`)},{find:`react-helmet-async`,replacement:Z(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:Z(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...n?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...Q($)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){l=e},resolveId(e,t,n){let r=et.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,E.sep)}/`));if(r&&n?.ssr&&!E.isAbsolute(e)&&r!==`react`&&r!==`react-dom`){let t=X($),n=e;try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,t):t.resolve(e)}catch{try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,$):$.resolve(e)}catch{}}try{n=D.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>N(e,c)},async closeBundle(){!u||l?.build?.ssr||(await d?.runHook(`afterBuild`),await d?.runHook(`buildEnd`))},configurePreviewServer(t){t.middlewares.use(B(h)),t.middlewares.use(Fe(_)),e(t),n().catch(()=>{})}},Pe(t,h,_,a),qe(a,s,h,g,v),...t.turbo?[]:[Ze(c,v)],...t.turbo?[(()=>{let e=null;async function t(){if(!e)try{let{createSatteriMdxPlugin:t}=await import(`./node-BXtqM1uH.mjs`);e=t(c,v)}catch{}return e}return{name:`vite-plugin-boltdocs-satteri-mdx`,enforce:`pre`,async load(e){let n=await t();return n&&n.load?n.load(e):null},async transform(e,n){let r=await t();return r&&r.transform?r.transform(e,n):null},async buildEnd(){let e=await t();e&&e.buildEnd&&await e.buildEnd()}}})()]:[],pe({includePublic:!0}),...p]}export{tt as boltdocsPlugin,X as getBaseRequire,Q as getExternalAbsolutePaths,Z as resolveEsm};
|
package/dist/routes-BW6zsk7Z.mjs
DELETED
|
@@ -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{t as e}from"./chunk-BFSpntXv.mjs";import{t}from"./utils-Crm9oPcV.mjs";import{FileCache as n}from"./node/cache.mjs";import{t as r}from"./cache-Dk53iOo6.mjs";import{t as i}from"./pages-external-BYa4JSda.mjs";import a from"node:path";import{fdir as o}from"fdir";const s=new n({name:`routes`});function c(){s.invalidateAll(),r.clear()}function l(e){s.invalidate(e),r.invalidate(e)}function u(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):d(e,t):n-r})}function d(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}var f=e({generateRoutes:()=>b,getExternalRoutePaths:()=>i,invalidateFile:()=>_,invalidateRouteCache:()=>y});let p=null;const m=new Map;async function h(e,t,n){let r=Array(e.length),i=0;async function a(){for(;i<e.length;){let t=i++;r[t]=await n(e[t])}}return await Promise.all(Array.from({length:Math.min(t,e.length)},()=>a())),r}let g=null;function _(e){let t=e.replace(/\\/g,`/`);g&&g[t]&&delete g[t],l(e)}let v=null;function y(){p=null,m.clear(),c(),g=null}async function b(e,n,r,i=!1,c=!1){if(v)return v;let l=(async()=>{let l=r||n?.base||`/docs`;await s.load(),m.clear();let d;if(!i&&p)d=p;else{let t=await new o().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!a.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],r=t.map(e=>{let t=a.basename(e),r=n.findIndex(e=>e.test(t));return{f:e,score:r===-1?2**53-1:r}});r.sort((e,t)=>e.score-t.score),d=r.map(e=>e.f),p=d}s.pruneStale(new Set(d));let f=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,_,v=!0;for(let e of d)if(!s.get(e)){v=!1;break}if(v)_=d.map(e=>s.get(e));else{if(!f&&!g)try{let{runParser:t}=await import(`@bdocs/parser`);g=await t(e,c)}catch{}if(!f&&g!==null&&g){let{parseDocFileWithNative:t,parseDocFile:r}=await import(`./parser-qk9FIHJ7.mjs`);_=await h(d,32,async i=>{let a=s.get(i);if(a)return a;let o=i.replace(/\\/g,`/`),c=g[o];if(c){let r=await t(i,c,e,l,n);return s.set(i,r),r}else{let t=await r(i,e,l,n);return s.set(i,t),t}})}else{let{parseDocFile:t}=await import(`./parser-qk9FIHJ7.mjs`);_=await h(d,32,async r=>{let i=s.get(r);if(i)return i;let a=await t(r,e,l,n);return s.set(r,a),a})}}s.save();let y=[],b=new Map,S=process.env.NODE_ENV||`development`,C=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(S)??!1);for(let e of _)if(!(e.route.draft&&!C)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===S}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;b.has(t)||b.set(t,[]),b.get(t).push(e)}else y.push(e)}let w=new Map,T=[],E=n?.i18n?.defaultLocale||``;for(let e of y)if(e.isGroupIndex&&e.relativeDir&&T.push(e),e.relativeDir){let n=`${e.route.locale||E}:${e.relativeDir}`,r=w.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t(e.relativeDir),position:e.inferredGroupPosition},w.set(n,r))}for(let e of T){let t=`${e.route.locale||E}:${e.relativeDir}`,n=w.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(n?.theme?.sidebarGroups){let e=n.i18n?Object.keys(n.i18n.locales):[E];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=w.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[E]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):w.set(e,{title:o||t(r),icon:i.icon})}}let D=Array(y.length);for(let e=0;e<y.length;e++){let n=y[e],r=n.relativeDir,i=n.route.locale||E,a=r?`${i}:${r}`:void 0,o=a?w.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[E]),D[e]={...n.route,group:r,groupTitle:s||(r?t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let O=[];for(let[,e]of b)for(let t of e)O.push({...t.route,collection:t.inferredCollection});O.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let k=D;if(n?.i18n){let e=x(D,n,l);k=[...D,...e]}return[...u(k),...O]})();v=l;try{return await l}finally{v=null}}function x(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){if(e===r)continue;let i=o.get(e)||new Set;for(let o of s){let s=S(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function S(e,t,n,r,i){let a=`${e}:${n}`,o=m.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let d=c+l;return m.size>2e3&&m.clear(),m.set(a,d),d}export{s as a,f as i,_ as n,y as r,b as t};
|
package/dist/routes-BgoIB5wb.cjs
DELETED
|
@@ -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`),n=require(`./node/cache.cjs`),r=require(`./cache-CO4Dy2uQ.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`fdir`);const o=new n.FileCache({name:`routes`});function s(){o.invalidateAll(),r.t.clear()}function c(e){o.invalidate(e),r.t.invalidate(e)}function l(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):u(e,t):n-r})}function u(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}let d=null;const f=new Map;async function p(e,t,n){let r=Array(e.length),i=0;async function a(){for(;i<e.length;){let t=i++;r[t]=await n(e[t])}}return await Promise.all(Array.from({length:Math.min(t,e.length)},()=>a())),r}let m=null;function h(e){let t=e.replace(/\\/g,`/`);m&&m[t]&&delete m[t],c(e)}let g=null;function _(){d=null,f.clear(),s(),m=null}async function v(e,n,r,s=!1,c=!1){if(g)return g;let u=(async()=>{let u=r||n?.base||`/docs`;await o.load(),f.clear();let h;if(!s&&d)h=d;else{let t=await new a.fdir().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!i.default.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],r=t.map(e=>{let t=i.default.basename(e),r=n.findIndex(e=>e.test(t));return{f:e,score:r===-1?2**53-1:r}});r.sort((e,t)=>e.score-t.score),h=r.map(e=>e.f),d=h}o.pruneStale(new Set(h));let g=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,_,v=!0;for(let e of h)if(!o.get(e)){v=!1;break}if(v)_=h.map(e=>o.get(e));else{if(!g&&!m)try{let{runParser:t}=await import(`@bdocs/parser`);m=await t(e,c)}catch{}if(!g&&m!==null&&m){let{parseDocFileWithNative:t,parseDocFile:r}=await Promise.resolve().then(()=>require(`./parser-DCiEWkSk.cjs`));_=await p(h,32,async i=>{let a=o.get(i);if(a)return a;let s=i.replace(/\\/g,`/`),c=m[s];if(c){let r=await t(i,c,e,u,n);return o.set(i,r),r}else{let t=await r(i,e,u,n);return o.set(i,t),t}})}else{let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-DCiEWkSk.cjs`));_=await p(h,32,async r=>{let i=o.get(r);if(i)return i;let a=await t(r,e,u,n);return o.set(r,a),a})}}o.save();let b=[],x=new Map,S=process.env.NODE_ENV||`development`,C=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(S)??!1);for(let e of _)if(!(e.route.draft&&!C)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===S}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;x.has(t)||x.set(t,[]),x.get(t).push(e)}else b.push(e)}let w=new Map,T=[],E=n?.i18n?.defaultLocale||``;for(let e of b)if(e.isGroupIndex&&e.relativeDir&&T.push(e),e.relativeDir){let n=`${e.route.locale||E}:${e.relativeDir}`,r=w.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},w.set(n,r))}for(let e of T){let t=`${e.route.locale||E}:${e.relativeDir}`,n=w.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(n?.theme?.sidebarGroups){let e=n.i18n?Object.keys(n.i18n.locales):[E];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=w.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[E]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):w.set(e,{title:o||t.t(r),icon:i.icon})}}let D=Array(b.length);for(let e=0;e<b.length;e++){let n=b[e],r=n.relativeDir,i=n.route.locale||E,a=r?`${i}:${r}`:void 0,o=a?w.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[E]),D[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let O=[];for(let[,e]of x)for(let t of e)O.push({...t.route,collection:t.inferredCollection});O.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let k=D;if(n?.i18n){let e=y(D,n,u);k=[...D,...e]}return[...l(k),...O]})();g=u;try{return await u}finally{g=null}}function y(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){if(e===r)continue;let i=o.get(e)||new Set;for(let o of s){let s=b(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function b(e,t,n,r,i){let a=`${e}:${n}`,o=f.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let d=c+l;return f.size>2e3&&f.clear(),f.set(a,d),d}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return v}});
|
package/dist/routes-CORVxc02.cjs
DELETED
|
@@ -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(`./routes-BgoIB5wb.cjs`),t=require(`./pages-external-XkYIs-d5.cjs`);exports.generateRoutes=e.t,exports.getExternalRoutePaths=t.t,exports.invalidateFile=e.n,exports.invalidateRouteCache=e.r;
|
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
-
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
const require_link = require('./link-D1Gjkb-2.cjs');
|
|
7
|
-
const require_search_dialog = require('./search-dialog-B1NERUNx.cjs');
|
|
8
|
-
let react = require("react");
|
|
9
|
-
let react_router_dom = require("react-router-dom");
|
|
10
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
|
-
let flexsearch = require("flexsearch");
|
|
12
|
-
let virtual_boltdocs_search = require("virtual:boltdocs-search");
|
|
13
|
-
virtual_boltdocs_search = require_link.__toESM(virtual_boltdocs_search);
|
|
14
|
-
|
|
15
|
-
//#region src/client/components/internal/error-boundary.tsx
|
|
16
|
-
function InternalFallback({ error, resetErrorBoundary }) {
|
|
17
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18
|
-
className: "p-2 font-mono flex flex-col items-center justify-between min-h-[30vh]",
|
|
19
|
-
children: [
|
|
20
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21
|
-
className: "text-lg font-semibold text-red-500",
|
|
22
|
-
children: "Something went wrong"
|
|
23
|
-
}),
|
|
24
|
-
error?.message && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
|
|
25
|
-
className: "text-sm mt-2 max-w-md overflow-auto whitespace-pre-wrap break-word",
|
|
26
|
-
children: error.message
|
|
27
|
-
}),
|
|
28
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
29
|
-
type: "button",
|
|
30
|
-
onClick: resetErrorBoundary,
|
|
31
|
-
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",
|
|
32
|
-
children: "Try again"
|
|
33
|
-
})
|
|
34
|
-
]
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
function InternalErrorBoundary({ children, fallback }) {
|
|
38
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.ErrorBoundary, {
|
|
39
|
-
fallback,
|
|
40
|
-
FallbackComponent: !fallback ? InternalFallback : void 0,
|
|
41
|
-
children
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
//#endregion
|
|
46
|
-
//#region src/client/hooks/use-search.ts
|
|
47
|
-
function useSearch(routes) {
|
|
48
|
-
const { currentLocale, currentVersion } = require_link.useRoutes();
|
|
49
|
-
const config = require_link.useConfig();
|
|
50
|
-
const algoliaConfig = config.integrations?.search?.algolia;
|
|
51
|
-
const [isOpen, setIsOpen] = (0, react.useState)(false);
|
|
52
|
-
const [query, setQuery] = (0, react.useState)("");
|
|
53
|
-
const [index, setIndex] = (0, react.useState)(null);
|
|
54
|
-
const [algoliaResults, setAlgoliaResults] = (0, react.useState)([]);
|
|
55
|
-
const navigate = (0, react_router_dom.useNavigate)();
|
|
56
|
-
(0, react.useEffect)(() => {
|
|
57
|
-
const handleKeyDown = (e) => {
|
|
58
|
-
if ((/Mac/.test(navigator.userAgent) ? e.metaKey : e.ctrlKey) && (e.key === "k" || e.key === "j")) {
|
|
59
|
-
e.preventDefault();
|
|
60
|
-
setIsOpen((prev) => !prev);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
window.addEventListener("keydown", handleKeyDown);
|
|
64
|
-
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
65
|
-
}, []);
|
|
66
|
-
const handleSelect = (0, react.useCallback)((key) => {
|
|
67
|
-
const path = String(key);
|
|
68
|
-
setIsOpen(false);
|
|
69
|
-
const [baseUrl, hash] = path.split("#");
|
|
70
|
-
navigate(`${baseUrl}${query ? `?hl=${encodeURIComponent(query)}` : ""}${hash ? `#${hash}` : ""}`);
|
|
71
|
-
if (hash) setTimeout(() => {
|
|
72
|
-
const el = document.getElementById(hash);
|
|
73
|
-
if (el) el.scrollIntoView({ behavior: "smooth" });
|
|
74
|
-
}, 100);
|
|
75
|
-
}, [navigate, query]);
|
|
76
|
-
(0, react.useEffect)(() => {
|
|
77
|
-
if (algoliaConfig) return;
|
|
78
|
-
if (!isOpen || index) return;
|
|
79
|
-
const newIndex = new flexsearch.Index({
|
|
80
|
-
preset: "match",
|
|
81
|
-
tokenize: "full",
|
|
82
|
-
resolution: 9,
|
|
83
|
-
cache: true
|
|
84
|
-
});
|
|
85
|
-
for (const doc of virtual_boltdocs_search.default) newIndex.add(doc.id, `${doc.title} ${doc.content}`);
|
|
86
|
-
setIndex(newIndex);
|
|
87
|
-
}, [
|
|
88
|
-
isOpen,
|
|
89
|
-
index,
|
|
90
|
-
algoliaConfig
|
|
91
|
-
]);
|
|
92
|
-
(0, react.useEffect)(() => {
|
|
93
|
-
if (!algoliaConfig) return;
|
|
94
|
-
if (!query) {
|
|
95
|
-
setAlgoliaResults([]);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
const delayDebounceFn = setTimeout(async () => {
|
|
99
|
-
try {
|
|
100
|
-
const url = `https://${algoliaConfig.appId}-dsn.algolia.net/1/indexes/${algoliaConfig.indexName}/query`;
|
|
101
|
-
const facetFilters = [];
|
|
102
|
-
if (currentLocale) facetFilters.push(`lang:${currentLocale}`);
|
|
103
|
-
if (currentVersion) facetFilters.push(`version:${currentVersion}`);
|
|
104
|
-
let params = `query=${encodeURIComponent(query)}&hitsPerPage=20`;
|
|
105
|
-
if (facetFilters.length > 0) params += `&facetFilters=${encodeURIComponent(JSON.stringify(facetFilters))}`;
|
|
106
|
-
const response = await fetch(url, {
|
|
107
|
-
method: "POST",
|
|
108
|
-
headers: {
|
|
109
|
-
"Content-Type": "application/json",
|
|
110
|
-
"X-Algolia-API-Key": algoliaConfig.apiKey,
|
|
111
|
-
"X-Algolia-Application-Id": algoliaConfig.appId
|
|
112
|
-
},
|
|
113
|
-
body: JSON.stringify({ params })
|
|
114
|
-
});
|
|
115
|
-
if (!response.ok) throw new Error(`Algolia search request failed: ${response.statusText}`);
|
|
116
|
-
setAlgoliaResults(((await response.json()).hits || []).map((hit) => {
|
|
117
|
-
let path = hit.url || "";
|
|
118
|
-
try {
|
|
119
|
-
if (path.startsWith("http://") || path.startsWith("https://")) {
|
|
120
|
-
const urlObj = new URL(path);
|
|
121
|
-
path = urlObj.pathname + urlObj.search + urlObj.hash;
|
|
122
|
-
}
|
|
123
|
-
} catch (e) {}
|
|
124
|
-
const hierarchy = hit.hierarchy || {};
|
|
125
|
-
const levels = [
|
|
126
|
-
hierarchy.lvl0,
|
|
127
|
-
hierarchy.lvl1,
|
|
128
|
-
hierarchy.lvl2,
|
|
129
|
-
hierarchy.lvl3,
|
|
130
|
-
hierarchy.lvl4,
|
|
131
|
-
hierarchy.lvl5,
|
|
132
|
-
hierarchy.lvl6
|
|
133
|
-
].filter(Boolean);
|
|
134
|
-
const title = levels[levels.length - 1] || "Documentation";
|
|
135
|
-
const bio = levels.join(" > ");
|
|
136
|
-
return {
|
|
137
|
-
id: hit.objectID || path,
|
|
138
|
-
title,
|
|
139
|
-
path,
|
|
140
|
-
bio,
|
|
141
|
-
groupTitle: hierarchy.lvl0 || "Docs",
|
|
142
|
-
isHeading: !!hit.anchor || path.includes("#")
|
|
143
|
-
};
|
|
144
|
-
}));
|
|
145
|
-
} catch (err) {
|
|
146
|
-
console.error("Error fetching search results from Algolia:", err);
|
|
147
|
-
}
|
|
148
|
-
}, 250);
|
|
149
|
-
return () => clearTimeout(delayDebounceFn);
|
|
150
|
-
}, [
|
|
151
|
-
query,
|
|
152
|
-
algoliaConfig,
|
|
153
|
-
currentLocale,
|
|
154
|
-
currentVersion
|
|
155
|
-
]);
|
|
156
|
-
const searchDataMap = (0, react.useMemo)(() => {
|
|
157
|
-
const map = /* @__PURE__ */ new Map();
|
|
158
|
-
for (const doc of virtual_boltdocs_search.default) map.set(doc.id, doc);
|
|
159
|
-
return map;
|
|
160
|
-
}, []);
|
|
161
|
-
return {
|
|
162
|
-
isOpen,
|
|
163
|
-
setIsOpen,
|
|
164
|
-
query,
|
|
165
|
-
setQuery,
|
|
166
|
-
list: (0, react.useMemo)(() => {
|
|
167
|
-
if (!query) return routes.filter((r) => {
|
|
168
|
-
const routeLocale = r.locale || config.i18n?.defaultLocale;
|
|
169
|
-
const routeVersion = r.version || config.versions?.defaultVersion;
|
|
170
|
-
return (!currentLocale || routeLocale === currentLocale) && (!currentVersion || routeVersion === currentVersion);
|
|
171
|
-
}).slice(0, 10).map((r) => ({
|
|
172
|
-
id: r.path,
|
|
173
|
-
title: r.title,
|
|
174
|
-
path: r.path,
|
|
175
|
-
bio: r.description || "",
|
|
176
|
-
groupTitle: r.groupTitle
|
|
177
|
-
}));
|
|
178
|
-
if (algoliaConfig) return algoliaResults;
|
|
179
|
-
if (!index) return [];
|
|
180
|
-
const searchResults = index.search(query, {
|
|
181
|
-
limit: 20,
|
|
182
|
-
suggest: true
|
|
183
|
-
});
|
|
184
|
-
const results = [];
|
|
185
|
-
const seen = /* @__PURE__ */ new Set();
|
|
186
|
-
for (const id of searchResults) {
|
|
187
|
-
const doc = searchDataMap.get(id);
|
|
188
|
-
if (!doc) continue;
|
|
189
|
-
const docLocale = doc.locale || config.i18n?.defaultLocale;
|
|
190
|
-
const docVersion = doc.version || config.versions?.defaultVersion;
|
|
191
|
-
if (!(!currentLocale || docLocale === currentLocale) || !(!currentVersion || docVersion === currentVersion)) continue;
|
|
192
|
-
if (seen.has(doc.url)) continue;
|
|
193
|
-
seen.add(doc.url);
|
|
194
|
-
results.push({
|
|
195
|
-
id: doc.url,
|
|
196
|
-
title: doc.title,
|
|
197
|
-
path: doc.url,
|
|
198
|
-
bio: doc.display,
|
|
199
|
-
groupTitle: doc.display.split(" > ")[0],
|
|
200
|
-
isHeading: doc.url.includes("#")
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return results.slice(0, 10);
|
|
204
|
-
}, [
|
|
205
|
-
query,
|
|
206
|
-
index,
|
|
207
|
-
currentLocale,
|
|
208
|
-
currentVersion,
|
|
209
|
-
routes,
|
|
210
|
-
searchDataMap,
|
|
211
|
-
algoliaConfig,
|
|
212
|
-
algoliaResults,
|
|
213
|
-
config
|
|
214
|
-
]),
|
|
215
|
-
handleSelect,
|
|
216
|
-
input: {
|
|
217
|
-
value: query,
|
|
218
|
-
onChange: (e) => setQuery(e.target.value)
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
//#endregion
|
|
224
|
-
//#region src/client/components/ui-base/search-dialog.tsx
|
|
225
|
-
function Highlight({ text, query }) {
|
|
226
|
-
if (!query || !text) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: text });
|
|
227
|
-
const escapedQuery = query.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
228
|
-
const regex = new RegExp(`(${escapedQuery})`, "gi");
|
|
229
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: text.split(regex).map((part, i) => regex.test(part) ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("mark", {
|
|
230
|
-
className: "bg-primary-500/20 text-primary-600 dark:text-primary-400 font-bold px-0.5 rounded-sm",
|
|
231
|
-
children: part
|
|
232
|
-
}, i) : part) });
|
|
233
|
-
}
|
|
234
|
-
function SearchDialog({ routes }) {
|
|
235
|
-
const { isOpen, setIsOpen, query, setQuery, list, handleSelect } = useSearch(routes);
|
|
236
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
237
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_search_dialog.Navbar.SearchTrigger.Desktop, {
|
|
238
|
-
onPress: () => setIsOpen(true),
|
|
239
|
-
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",
|
|
240
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
241
|
-
className: "flex items-center gap-2",
|
|
242
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_link.Search, { size: 16 }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
243
|
-
className: "hidden sm:inline-block",
|
|
244
|
-
children: "Search docs..."
|
|
245
|
-
})]
|
|
246
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.Navbar.SearchTrigger.Kbd, { className: "[&_kbd]:bg-main [&_kbd]:border [&_kbd]:border-subtle [&_kbd]:rounded [&_kbd]:px-1.5 [&_kbd]:h-5 [&_kbd]:w-5" })]
|
|
247
|
-
}),
|
|
248
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.Navbar.SearchTrigger.Mobile, {
|
|
249
|
-
onPress: () => setIsOpen(true),
|
|
250
|
-
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",
|
|
251
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_link.Search, { size: 20 })
|
|
252
|
-
}),
|
|
253
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(InternalErrorBoundary, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Overlay, {
|
|
254
|
-
isOpen,
|
|
255
|
-
isDismissable: true,
|
|
256
|
-
onOpenChange: () => setIsOpen(false),
|
|
257
|
-
className: "fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40 backdrop-blur-xs animate-fade-in",
|
|
258
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Content, {
|
|
259
|
-
className: "w-full max-w-lg bg-main border border-subtle shadow-md rounded-2xl overflow-hidden p-6",
|
|
260
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Dialog, {
|
|
261
|
-
"aria-label": "Search documentation",
|
|
262
|
-
className: "flex flex-col min-h-0 h-[450px]",
|
|
263
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_search_dialog.SearchDialog.Autocomplete, {
|
|
264
|
-
onSelectionChange: handleSelect,
|
|
265
|
-
className: "flex flex-col min-h-0",
|
|
266
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_search_dialog.SearchDialog.Input, {
|
|
267
|
-
value: query,
|
|
268
|
-
onChange: setQuery,
|
|
269
|
-
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",
|
|
270
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Input.SearchInput, {
|
|
271
|
-
placeholder: "Search documentation...",
|
|
272
|
-
className: "w-full bg-transparent outline-none text-body text-sm"
|
|
273
|
-
}), query && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Input.Button, {
|
|
274
|
-
onPress: () => setQuery(""),
|
|
275
|
-
className: "text-muted hover:text-body hover:bg-surface rounded-md p-1 cursor-pointer select-none transition-colors",
|
|
276
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_link.X, { size: 16 })
|
|
277
|
-
})]
|
|
278
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.List, {
|
|
279
|
-
items: list,
|
|
280
|
-
children: (item) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_search_dialog.SearchDialog.Item, {
|
|
281
|
-
onPress: () => handleSelect(item.id),
|
|
282
|
-
textValue: item.title,
|
|
283
|
-
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",
|
|
284
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Item.Icon, {
|
|
285
|
-
isHeading: item.isHeading,
|
|
286
|
-
className: "text-muted group-hover:text-primary-500 group-focus:text-primary-500"
|
|
287
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
288
|
-
className: "flex flex-col justify-center min-w-0",
|
|
289
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Item.Title, {
|
|
290
|
-
className: "text-sm font-medium text-body truncate dark:group-hover:text-primary-100",
|
|
291
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Highlight, {
|
|
292
|
-
text: item.title,
|
|
293
|
-
query
|
|
294
|
-
})
|
|
295
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog.SearchDialog.Item.Bio, {
|
|
296
|
-
className: "text-xs text-muted truncate",
|
|
297
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Highlight, {
|
|
298
|
-
text: item.bio,
|
|
299
|
-
query
|
|
300
|
-
})
|
|
301
|
-
})]
|
|
302
|
-
})]
|
|
303
|
-
}, item.id)
|
|
304
|
-
})]
|
|
305
|
-
})
|
|
306
|
-
})
|
|
307
|
-
})
|
|
308
|
-
}) })
|
|
309
|
-
] });
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
//#endregion
|
|
313
|
-
Object.defineProperty(exports, 'InternalErrorBoundary', {
|
|
314
|
-
enumerable: true,
|
|
315
|
-
get: function () {
|
|
316
|
-
return InternalErrorBoundary;
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
Object.defineProperty(exports, 'SearchDialog', {
|
|
320
|
-
enumerable: true,
|
|
321
|
-
get: function () {
|
|
322
|
-
return SearchDialog;
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
Object.defineProperty(exports, 'useSearch', {
|
|
326
|
-
enumerable: true,
|
|
327
|
-
get: function () {
|
|
328
|
-
return useSearch;
|
|
329
|
-
}
|
|
330
|
-
});
|