boltdocs 3.3.6 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapters-BKzKe2mO.mjs → adapters-BXiBWAKs.mjs} +1 -1
- package/dist/{adapters-DwDTQoCG.cjs → adapters-Czl3WtQt.cjs} +1 -1
- package/dist/{build-CxT38vPv.cjs → build-CNkXRdk8.cjs} +1 -1
- package/dist/{build-BJnL-FHG.mjs → build-CqUBsXVC.mjs} +1 -1
- package/dist/client/index.cjs +223 -51
- package/dist/client/index.d.cts +3 -3
- package/dist/client/index.d.ts +3 -3
- package/dist/client/index.js +226 -56
- package/dist/client/mdx.cjs +1 -1
- package/dist/client/mdx.js +1 -1
- package/dist/client/primitives.cjs +5 -5
- package/dist/client/primitives.d.cts +53 -34
- package/dist/client/primitives.d.ts +62 -43
- package/dist/client/primitives.js +4 -4
- package/dist/client/router.cjs +1 -1
- package/dist/client/router.d.cts +1 -1
- package/dist/client/router.d.ts +1 -1
- package/dist/client/router.js +1 -1
- package/dist/client/theme/reset.css +41 -0
- package/dist/{config-BJp3lGzE.cjs → config-B3SEoVjG.cjs} +2 -2
- package/dist/{config-BC_qhXws.cjs → config-Bfakeadu.cjs} +1 -1
- package/dist/{config-B3_iVsbi.mjs → config-CTcfF-0c.mjs} +2 -2
- package/dist/dev-D1DmOSjn.mjs +6 -0
- package/dist/dev-DH6cSge8.cjs +6 -0
- package/dist/{docs-layout-D3Fmb0Wd.js → docs-layout-CmntYM6p.js} +33 -33
- package/dist/{docs-layout-SgphExoE.cjs → docs-layout-DIgxJ5c7.cjs} +9 -9
- package/dist/{doctor-BqxOFRt3.cjs → doctor-BLxm2alc.cjs} +1 -1
- package/dist/{doctor-TS3JGNEU.cjs → doctor-Dd-JMTRo.cjs} +1 -1
- package/dist/{doctor-Cv5lXnay.mjs → doctor-DogHujrP.mjs} +1 -1
- package/dist/{image-Bkx85rsq.cjs → image-Bke2ojW1.cjs} +3 -3
- package/dist/{image-BAiDReNd.js → image-CaY2w0ua.js} +2 -1
- package/dist/index--xbYbT8N.d.ts +343 -0
- package/dist/{index-B1Mx0dHl.d.ts → index-B_o5y34l.d.cts} +89 -10
- package/dist/{index-DLaHgD-i.d.cts → index-Bx0CUd7Q.d.ts} +89 -10
- package/dist/index-RK7W_Fxy.d.cts +343 -0
- package/dist/{link-q1qHNGK_.js → link-CSe_oD8Y.js} +86 -113
- package/dist/{link-hLWOsx0x.cjs → link-Xb69Oy2F.cjs} +87 -143
- package/dist/{mdx-Qi0DmaY8.cjs → mdx-BCOrMd-P.cjs} +68 -16
- package/dist/{mdx-CJGWzBGy.js → mdx-BijiEbkp.js} +62 -15
- package/dist/{native-nLA4Jr0T.cjs → native-BbtRkce5.cjs} +1 -1
- package/dist/node/cli-entry.cjs +1 -1
- package/dist/node/cli-entry.mjs +1 -1
- package/dist/node/highlight.d.cts +2 -2
- package/dist/node/highlight.d.mts +2 -2
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +18 -39
- package/dist/node/index.d.mts +19 -40
- package/dist/node/index.mjs +1 -1
- package/dist/node/mdx/shiki-adapter.d.cts +1 -1
- package/dist/node/mdx/shiki-adapter.d.mts +1 -1
- package/dist/node-BgiLCa0I.cjs +39 -0
- package/dist/node-Da3tYBHo.mjs +39 -0
- package/dist/{package-Bah2tHjK.cjs → package-D1gVs5gQ.cjs} +1 -1
- package/dist/{package-D6bf68FR.mjs → package-YgQJn3Yh.mjs} +1 -1
- package/dist/pages-external-B_r6gvqP.cjs +6 -0
- package/dist/pages-external-jmK7AHaO.mjs +6 -0
- package/dist/{parser-CD8Oo8qh.mjs → parser-CvNZc5s3.mjs} +1 -1
- package/dist/{parser-vPaKvzLp.cjs → parser-DJLWTiO-.cjs} +1 -1
- package/dist/plugin-DW9K2fW5.mjs +69 -0
- package/dist/plugin-NwGKyTJX.cjs +69 -0
- package/dist/{plugin-context-b5qVVQSU.mjs → plugin-context-COh-cbsW.mjs} +1 -1
- package/dist/{plugin-context-BZs5lvDu.cjs → plugin-context-FIHaWn6r.cjs} +1 -1
- package/dist/{plugin-lifecycle-s89gzTlh.cjs → plugin-lifecycle-D9fTRaWY.cjs} +1 -1
- package/dist/{registry-B8pt41zj.d.cts → registry-BFmzj1yg.d.mts} +1 -1
- package/dist/{registry-BrrH2X9c.d.mts → registry-BoswPzYV.d.cts} +1 -1
- package/dist/{resolve-C5rT6B21.mjs → resolve-5puUe7eS.mjs} +1 -1
- package/dist/{resolve-BelytNYR.cjs → resolve-CF4ZLfqx.cjs} +1 -1
- package/dist/route-paths-B6ocUfNY.cjs +6 -0
- package/dist/route-paths-DyDji4bX.mjs +6 -0
- package/dist/{router-CZBxMRAH.js → router-B5e8k4qK.js} +175 -10
- package/dist/{router-C3kygdRK.cjs → router-DKC0Lu0n.cjs} +204 -9
- package/dist/{routes-Dq_2EUIB.cjs → routes-D55M8UrH.cjs} +1 -1
- package/dist/{routes-CzhKOw67.cjs → routes-DdE6Lfcl.cjs} +1 -1
- package/dist/{routes-Dw6g0bfF.mjs → routes-_I_8PQYF.mjs} +1 -1
- package/dist/{search-dialog-CguKVtUu.cjs → search-dialog-BOQRHKTb.cjs} +53 -20
- package/dist/{search-dialog-mYnqU4v7.js → search-dialog-BXil4_7P.js} +57 -24
- package/dist/{search-dialog-BYZS9aeO.cjs → search-dialog-CwlBd-Mu.cjs} +5 -5
- package/dist/{search-dialog-DQwod5Xc.js → search-dialog-D3Obh3eA.js} +1 -1
- package/dist/{search-dialog-DzObE-Ar.js → search-dialog-DeplpVEB.js} +3 -3
- package/dist/{search-dialog-QgKRRbsI.cjs → search-dialog-cHXR5zhL.cjs} +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/ssg-static-options-Br1_u9qp.mjs +6 -0
- package/dist/ssg-static-options-CVvGKM8i.cjs +6 -0
- package/dist/types-58Ac3UGI.d.cts +114 -0
- package/dist/types-BwnGf-1E.d.mts +114 -0
- package/dist/{virtual-modules-C3S3Nz8r.cjs → virtual-modules-C4-qxFlL.cjs} +1 -1
- package/dist/{virtual-modules-CaxqrFd6.mjs → virtual-modules-DiWUKJGP.mjs} +1 -1
- package/package.json +5 -3
- package/src/shared/types.ts +133 -987
- package/dist/dev-46NiL0MC.cjs +0 -6
- package/dist/dev-C4kjO5xs.mjs +0 -6
- package/dist/index-CgWkOCCn.d.cts +0 -1193
- package/dist/index-CuNSD3E2.d.ts +0 -1193
- package/dist/node-7Cfw6nMr.cjs +0 -23
- package/dist/node-CT2E84nY.mjs +0 -23
- package/dist/pages-external-BBw8ObVK.mjs +0 -6
- package/dist/pages-external-DPiPFxxP.cjs +0 -6
- package/dist/plugin-AgNI3ktz.cjs +0 -69
- package/dist/plugin-BAv_pYLt.mjs +0 -69
- package/dist/types-74i_xUe2.d.mts +0 -975
- package/dist/types-X_Pwk8Cg.d.cts +0 -975
- /package/dist/{audit-CMc_ydRr.mjs → audit-CYAkXXvP.mjs} +0 -0
- /package/dist/{audit-CHkGiV3c.cjs → audit-DxCZZTuX.cjs} +0 -0
- /package/dist/{csp-BiGAG8aF.cjs → csp-B-gc2Iha.cjs} +0 -0
- /package/dist/{csp-D0BOH8ae.mjs → csp-f8DOcI_7.mjs} +0 -0
- /package/dist/{generator-BCrZL53x.cjs → generator-CBAPKY6r.cjs} +0 -0
- /package/dist/{generator-CFukoGa0.mjs → generator-MRpn-yp6.mjs} +0 -0
- /package/dist/{handler-Lex5DbvG.mjs → handler-DBZqoWt2.mjs} +0 -0
- /package/dist/{handler-Ch-Q9NAB.cjs → handler-ryZR9Q41.cjs} +0 -0
- /package/dist/{index-HAwIo4nZ.d.mts → index-CPr34I2C.d.mts} +0 -0
- /package/dist/{native-BYKMke79.mjs → native-DZ6WMwjG.mjs} +0 -0
- /package/dist/{native-BOet8hpE.cjs → native-DeKxny_T.cjs} +0 -0
- /package/dist/{update-check-BXD1atVv.mjs → update-check-BXx8te9F.mjs} +0 -0
- /package/dist/{update-check-DFQZyoSU.cjs → update-check-CiIeC7CX.cjs} +0 -0
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import{t as e}from"./handler-
|
|
6
|
+
import{t as e}from"./handler-DBZqoWt2.mjs";const t={"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS`,"Access-Control-Allow-Headers":`Content-Type`,"Content-Type":`application/json`};async function n(n,r){if(Object.entries(t).forEach(([e,t])=>{r.setHeader(e,t)}),n.method===`OPTIONS`){r.status(200).end();return}if(n.method!==`POST`){r.status(405).json({error:`Method Not Allowed`});return}try{let t=await e(n.body,process.env);r.status(200).json(t)}catch(e){let t=e instanceof Error?e.message:`Failed to submit feedback`;return r.status(500).json({error:t})}}async function r(n,r=process.env){let i=(e,n=200)=>({statusCode:n,headers:t,body:e?JSON.stringify(e):``});if(n.httpMethod===`OPTIONS`)return i(null,200);if(n.httpMethod!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e(n.body?JSON.parse(n.body):{},r))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function i(n,r={}){let i=(e,n=200)=>new Response(e?JSON.stringify(e):null,{status:n,headers:t});if(n.method===`OPTIONS`)return i(null);if(n.method!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e(await n.json(),{...process.env,...r}))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function a(n,r=process.env){let i=(e,n=200)=>({statusCode:n,headers:t,body:e?JSON.stringify(e):``});if(n.httpMethod===`OPTIONS`)return i(null,200);if(n.httpMethod!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e(n.body?JSON.parse(n.body):{},r))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}export{n as i,i as n,r,a as t};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
const e=require(`./handler-
|
|
6
|
+
const e=require(`./handler-ryZR9Q41.cjs`),t={"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS`,"Access-Control-Allow-Headers":`Content-Type`,"Content-Type":`application/json`};async function n(n,r){if(Object.entries(t).forEach(([e,t])=>{r.setHeader(e,t)}),n.method===`OPTIONS`){r.status(200).end();return}if(n.method!==`POST`){r.status(405).json({error:`Method Not Allowed`});return}try{let t=await e.t(n.body,process.env);r.status(200).json(t)}catch(e){let t=e instanceof Error?e.message:`Failed to submit feedback`;return r.status(500).json({error:t})}}async function r(n,r=process.env){let i=(e,n=200)=>({statusCode:n,headers:t,body:e?JSON.stringify(e):``});if(n.httpMethod===`OPTIONS`)return i(null,200);if(n.httpMethod!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e.t(n.body?JSON.parse(n.body):{},r))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function i(n,r={}){let i=(e,n=200)=>new Response(e?JSON.stringify(e):null,{status:n,headers:t});if(n.method===`OPTIONS`)return i(null);if(n.method!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e.t(await n.json(),{...process.env,...r}))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function a(n,r=process.env){let i=(e,n=200)=>({statusCode:n,headers:t,body:e?JSON.stringify(e):``});if(n.httpMethod===`OPTIONS`)return i(null,200);if(n.httpMethod!==`POST`)return i({error:`Method Not Allowed`},405);try{return i(await e.t(n.body?JSON.parse(n.body):{},r))}catch(e){return i({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-
|
|
6
|
+
const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-BgiLCa0I.cjs`),n=require(`./node/cache.cjs`),r=require(`./update-check-CiIeC7CX.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`@bdocs/dui`),s=require(`vite`);const c=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function l(e,t){let n=i.default.join(e,`.boltdocs`,`benchmarks`);a.default.existsSync(n)||a.default.mkdirSync(n,{recursive:!0});let r=i.default.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),o={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return a.default.writeFileSync(r,JSON.stringify(o,null,2)),r}async function u(e=process.cwd(),i={}){process.env.NODE_ENV=`production`,r.t();let a=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await t.u().run({root:e,timing:{}});if(a&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if((0,o.error)(`Build failed at step "${i.failedStep}":`,i.error),a){let t=l(e,i);console.log(`[benchmark] failure report written to ${t}`)}await n.flushCache(),process.exit(1)}if(a){let t=l(e,i);console.log(`[benchmark] phase report written to ${t}`),await n.flushCache(),process.exit(0)}let s=i.stepResults.filter(e=>!c.has(e.name)),u=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,d=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${d(e)} kB`;console.log(r.a({totalMs:i.timing.total,steps:s.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:u?.totalPages,jsSize:typeof u?.jsSize==`number`?p(u.jsSize):void 0,cssSize:typeof u?.cssSize==`number`?p(u.cssSize):void 0,outDir:`dist/`})),await n.flushCache(),process.exit(0)}catch(e){(0,o.error)(`Build failed:`,e),await n.flushCache(),process.exit(1)}}async function d(e=process.cwd(),n={}){try{let i=await t.n(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});i.logLevel=`warn`,i.clearScreen=!1,n.port!==void 0&&(i.preview=i.preview||{},i.preview.port=Number(n.port)),n.host!==void 0&&(i.preview=i.preview||{},i.preview.host=n.host);let a=performance.now(),o=(await(0,s.preview)(i)).resolvedUrls;console.log(r.c(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){(0,o.error)(`Failed to start preview server:`,e),process.exit(1)}}exports.buildAction=u,exports.previewAction=d;
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import{d as e,n as t}from"./node-
|
|
6
|
+
import{d as e,n as t}from"./node-Da3tYBHo.mjs";import{flushCache as n}from"./node/cache.mjs";import{a as r,c as i,t as a}from"./update-check-BXx8te9F.mjs";import o from"node:path";import s from"node:fs";import{error as c}from"@bdocs/dui";import{preview as l}from"vite";const u=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function d(e,t){let n=o.join(e,`.boltdocs`,`benchmarks`);s.existsSync(n)||s.mkdirSync(n,{recursive:!0});let r=o.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),i={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return s.writeFileSync(r,JSON.stringify(i,null,2)),r}async function f(t=process.cwd(),i={}){process.env.NODE_ENV=`production`,a();let o=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await e().run({root:t,timing:{}});if(o&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if(c(`Build failed at step "${i.failedStep}":`,i.error),o){let e=d(t,i);console.log(`[benchmark] failure report written to ${e}`)}await n(),process.exit(1)}if(o){let e=d(t,i);console.log(`[benchmark] phase report written to ${e}`),await n(),process.exit(0)}let a=i.stepResults.filter(e=>!u.has(e.name)),s=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,l=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${l(e)} kB`;console.log(r({totalMs:i.timing.total,steps:a.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:s?.totalPages,jsSize:typeof s?.jsSize==`number`?p(s.jsSize):void 0,cssSize:typeof s?.cssSize==`number`?p(s.cssSize):void 0,outDir:`dist/`})),await n(),process.exit(0)}catch(e){c(`Build failed:`,e),await n(),process.exit(1)}}async function p(e=process.cwd(),n={}){try{let r=await t(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});r.logLevel=`warn`,r.clearScreen=!1,n.port!==void 0&&(r.preview=r.preview||{},r.preview.port=Number(n.port)),n.host!==void 0&&(r.preview=r.preview||{},r.preview.host=n.host);let a=performance.now(),o=(await l(r)).resolvedUrls;console.log(i(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){c(`Failed to start preview server:`,e),process.exit(1)}}export{f as buildAction,p as previewAction};
|
package/dist/client/index.cjs
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
7
|
-
const require_router = require('../router-
|
|
8
|
-
const require_link = require('../link-
|
|
9
|
-
const require_image = require('../image-
|
|
10
|
-
const require_mdx = require('../mdx-
|
|
11
|
-
const require_docs_layout = require('../docs-layout-
|
|
12
|
-
const require_search_dialog = require('../search-dialog-
|
|
13
|
-
const require_search_dialog$1 = require('../search-dialog-
|
|
7
|
+
const require_router = require('../router-DKC0Lu0n.cjs');
|
|
8
|
+
const require_link = require('../link-Xb69Oy2F.cjs');
|
|
9
|
+
const require_image = require('../image-Bke2ojW1.cjs');
|
|
10
|
+
const require_mdx = require('../mdx-BCOrMd-P.cjs');
|
|
11
|
+
const require_docs_layout = require('../docs-layout-DIgxJ5c7.cjs');
|
|
12
|
+
const require_search_dialog = require('../search-dialog-CwlBd-Mu.cjs');
|
|
13
|
+
const require_search_dialog$1 = require('../search-dialog-BOQRHKTb.cjs');
|
|
14
14
|
let react = require("react");
|
|
15
15
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
16
16
|
let react_aria_components = require("react-aria-components");
|
|
@@ -311,7 +311,7 @@ function stringifyMetaValue(value) {
|
|
|
311
311
|
}
|
|
312
312
|
function Head({ siteTitle, siteDescription, routes }) {
|
|
313
313
|
const location = require_router.useLocation();
|
|
314
|
-
const config =
|
|
314
|
+
const config = require_router.useConfig();
|
|
315
315
|
const { currentLocale, currentRoute } = require_search_dialog.useRoutes();
|
|
316
316
|
const route = (0, react.useMemo)(() => {
|
|
317
317
|
if (currentRoute) return currentRoute;
|
|
@@ -581,7 +581,7 @@ function BoltdocsShell({ config, routes, components = {}, collectionsData, conte
|
|
|
581
581
|
routes,
|
|
582
582
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_image.ThemeProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_docs_layout.UIProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MdxComponentsProvider, {
|
|
583
583
|
components: allComponents,
|
|
584
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
584
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_router.ConfigContext.Provider, {
|
|
585
585
|
value: config,
|
|
586
586
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(CollectionsProvider, {
|
|
587
587
|
collectionsData: collectionsData || {},
|
|
@@ -657,12 +657,12 @@ function DocPage({ route, content: Content, mdxComponents: propComponents }) {
|
|
|
657
657
|
/**
|
|
658
658
|
* Renders an MDX page by consuming pre-loaded route data.
|
|
659
659
|
*
|
|
660
|
-
* - If the route belongs to a collection
|
|
661
|
-
*
|
|
662
|
-
*
|
|
660
|
+
* - If the route belongs to a collection, wraps the content with
|
|
661
|
+
* `CurrentPostProvider` so that `usePost()` (called without a slug) can read
|
|
662
|
+
* the current post's data from context.
|
|
663
663
|
* - Otherwise, renders the standard `DocPage` layout.
|
|
664
664
|
*/
|
|
665
|
-
function MdxPage({ MDXComponent, mdxComponents: propComponents, collectionPostComponent: CollectionPost }) {
|
|
665
|
+
function MdxPage({ MDXComponent, mdxComponents: propComponents, collectionPostComponent: CollectionPost, collection, route: routeProp }) {
|
|
666
666
|
const data = require_router.useLoaderData();
|
|
667
667
|
const mdxComponents = {
|
|
668
668
|
...useMdxComponents(),
|
|
@@ -670,30 +670,37 @@ function MdxPage({ MDXComponent, mdxComponents: propComponents, collectionPostCo
|
|
|
670
670
|
};
|
|
671
671
|
if (!MDXComponent) return null;
|
|
672
672
|
const collectionData = data || {};
|
|
673
|
-
|
|
673
|
+
const isCollection = collection ? true : !!collectionData?.collection && !!collectionData?.route;
|
|
674
|
+
/**
|
|
675
|
+
* The loader's own copy of the route, falling back to the route table so the
|
|
676
|
+
* first client render has the same metadata the server used.
|
|
677
|
+
*/
|
|
678
|
+
const postRoute = collectionData.route ?? routeProp;
|
|
679
|
+
const postHeadings = collectionData.headings ?? routeProp?.headings ?? [];
|
|
680
|
+
if (isCollection) {
|
|
674
681
|
const postElement = CollectionPost ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CollectionPost, {
|
|
675
682
|
MDXComponent,
|
|
676
683
|
mdxComponents
|
|
677
684
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DocPage, {
|
|
678
685
|
route: {
|
|
679
|
-
path:
|
|
680
|
-
filePath:
|
|
681
|
-
title:
|
|
682
|
-
description:
|
|
683
|
-
headings:
|
|
684
|
-
locale:
|
|
685
|
-
version:
|
|
686
|
-
lastUpdated:
|
|
687
|
-
frontmatter:
|
|
686
|
+
path: postRoute?.path || "",
|
|
687
|
+
filePath: postRoute?.filePath || "",
|
|
688
|
+
title: postRoute?.title,
|
|
689
|
+
description: postRoute?.description,
|
|
690
|
+
headings: postHeadings,
|
|
691
|
+
locale: postRoute?.locale,
|
|
692
|
+
version: postRoute?.version,
|
|
693
|
+
lastUpdated: postRoute?.lastUpdated,
|
|
694
|
+
frontmatter: postRoute?.frontmatter
|
|
688
695
|
},
|
|
689
696
|
content: MDXComponent,
|
|
690
697
|
mdxComponents
|
|
691
698
|
});
|
|
692
699
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(CurrentPostProvider, {
|
|
693
700
|
value: {
|
|
694
|
-
route:
|
|
695
|
-
headings:
|
|
696
|
-
collection: collectionData.collection
|
|
701
|
+
route: postRoute,
|
|
702
|
+
headings: postHeadings,
|
|
703
|
+
collection: collection ?? collectionData.collection
|
|
697
704
|
},
|
|
698
705
|
children: postElement
|
|
699
706
|
});
|
|
@@ -943,7 +950,7 @@ function GithubStars({ repo, className }) {
|
|
|
943
950
|
//#endregion
|
|
944
951
|
//#region src/client/hooks/use-navbar.ts
|
|
945
952
|
function useNavbar() {
|
|
946
|
-
const config =
|
|
953
|
+
const config = require_router.useConfig();
|
|
947
954
|
const { theme, resolvedTheme } = require_image.useTheme();
|
|
948
955
|
const location = require_router.useLocation();
|
|
949
956
|
const { currentLocale } = require_search_dialog.useRoutes();
|
|
@@ -1005,7 +1012,13 @@ function useNavbar() {
|
|
|
1005
1012
|
return {
|
|
1006
1013
|
links,
|
|
1007
1014
|
title,
|
|
1008
|
-
logo: !logo ? null : typeof logo === "string" ?
|
|
1015
|
+
logo: !logo ? null : typeof logo === "string" ? {
|
|
1016
|
+
light: logo,
|
|
1017
|
+
dark: null
|
|
1018
|
+
} : {
|
|
1019
|
+
light: logo.light,
|
|
1020
|
+
dark: logo.dark
|
|
1021
|
+
},
|
|
1009
1022
|
logoProps: {
|
|
1010
1023
|
alt: (logo && typeof logo === "object" ? logo.alt : void 0) || title,
|
|
1011
1024
|
width: logo && typeof logo === "object" ? logo.width : void 0,
|
|
@@ -1212,7 +1225,7 @@ function getBaseFilePath(filePath, version, locale) {
|
|
|
1212
1225
|
*/
|
|
1213
1226
|
function useVersion() {
|
|
1214
1227
|
const navigate = require_router.useNavigate();
|
|
1215
|
-
const config =
|
|
1228
|
+
const config = require_router.useConfig();
|
|
1216
1229
|
const { allRoutes, currentRoute, currentVersion, currentLocale } = require_search_dialog.useRoutes();
|
|
1217
1230
|
const versions = config.versions;
|
|
1218
1231
|
const { setVersion } = require_link.useBoltdocsContext();
|
|
@@ -1281,7 +1294,7 @@ function VersionSelector({ className }) {
|
|
|
1281
1294
|
function useI18n() {
|
|
1282
1295
|
const navigate = require_router.useNavigate();
|
|
1283
1296
|
const location = require_router.useLocation();
|
|
1284
|
-
const config =
|
|
1297
|
+
const config = require_router.useConfig();
|
|
1285
1298
|
const { allRoutes, currentRoute, currentLocale, isCollectionPage } = require_search_dialog.useRoutes();
|
|
1286
1299
|
const i18n = config.i18n;
|
|
1287
1300
|
const { setLocale } = require_link.useBoltdocsContext();
|
|
@@ -1644,7 +1657,7 @@ function useHeadings() {
|
|
|
1644
1657
|
* Resets automatically when navigating to a new page.
|
|
1645
1658
|
*/
|
|
1646
1659
|
function useFeedback(options = {}) {
|
|
1647
|
-
const config =
|
|
1660
|
+
const config = require_router.useConfig();
|
|
1648
1661
|
const { currentRoute } = require_search_dialog.useRoutes();
|
|
1649
1662
|
const [rating, setRating] = (0, react.useState)(null);
|
|
1650
1663
|
const [comment, setComment] = (0, react.useState)("");
|
|
@@ -1736,7 +1749,7 @@ function I18nSelector({ className }) {
|
|
|
1736
1749
|
|
|
1737
1750
|
//#endregion
|
|
1738
1751
|
//#region src/client/components/ui-base/navbar.tsx
|
|
1739
|
-
const SearchDialog$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("../search-dialog-
|
|
1752
|
+
const SearchDialog$1 = (0, react.lazy)(() => Promise.resolve().then(() => require("../search-dialog-cHXR5zhL.cjs")).then((m) => ({ default: m.SearchDialog })));
|
|
1740
1753
|
function Navbar({ className }) {
|
|
1741
1754
|
const { links, title, logo, logoProps, github, social, config } = useNavbar();
|
|
1742
1755
|
const { routes, allRoutes, currentRoute, isCollectionPage, currentVersion, currentLocale } = require_search_dialog.useRoutes();
|
|
@@ -1757,7 +1770,9 @@ function Navbar({ className }) {
|
|
|
1757
1770
|
children: isSidebarOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_link.X, { className: "w-5 h-5 text-body" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_link.Menu, { className: "w-5 h-5 text-body" })
|
|
1758
1771
|
}),
|
|
1759
1772
|
logo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_search_dialog$1.Navbar.Logo, {
|
|
1760
|
-
src: logo,
|
|
1773
|
+
src: logo.light,
|
|
1774
|
+
srcLight: logo.light,
|
|
1775
|
+
srcDark: logo.dark,
|
|
1761
1776
|
alt: logoProps?.alt || title,
|
|
1762
1777
|
width: logoProps?.width ?? 24,
|
|
1763
1778
|
height: logoProps?.height ?? 24,
|
|
@@ -2008,8 +2023,30 @@ const mergeSlots = (defaults, overrides) => {
|
|
|
2008
2023
|
function SidebarMain({ routes, config, className }) {
|
|
2009
2024
|
const { logo, title, logoProps } = useNavbar();
|
|
2010
2025
|
const { closeSidebar } = require_docs_layout.useUI();
|
|
2011
|
-
|
|
2012
|
-
|
|
2026
|
+
/**
|
|
2027
|
+
* Both logo variants are rendered and CSS selects the visible one.
|
|
2028
|
+
*
|
|
2029
|
+
* Resolving the source from the theme would make the server and the browser
|
|
2030
|
+
* emit different `src` values, which is a hydration mismatch. The `dark`
|
|
2031
|
+
* class on `<html>` is set before first paint, so there is no flash.
|
|
2032
|
+
*/
|
|
2033
|
+
const SidebarLogo = logo ? logo.dark && logo.dark !== logo.light ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
2034
|
+
src: require_link.resolvePublicAssetUrl(logo.light, config.base),
|
|
2035
|
+
alt: logoProps?.alt || title,
|
|
2036
|
+
width: 24,
|
|
2037
|
+
height: 24,
|
|
2038
|
+
"data-logo-theme": "light",
|
|
2039
|
+
className: "rounded-xl dark:hidden"
|
|
2040
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
2041
|
+
src: require_link.resolvePublicAssetUrl(logo.dark, config.base),
|
|
2042
|
+
alt: logoProps?.alt || title,
|
|
2043
|
+
width: 24,
|
|
2044
|
+
height: 24,
|
|
2045
|
+
"data-logo-theme": "dark",
|
|
2046
|
+
"aria-hidden": "true",
|
|
2047
|
+
className: "hidden rounded-xl dark:block"
|
|
2048
|
+
})] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
2049
|
+
src: require_link.resolvePublicAssetUrl(logo.light, config.base),
|
|
2013
2050
|
alt: logoProps?.alt || title,
|
|
2014
2051
|
width: 24,
|
|
2015
2052
|
height: 24,
|
|
@@ -2116,7 +2153,7 @@ function Banner({ children, className = "", dismissible = false, id = "boltdocs-
|
|
|
2116
2153
|
//#endregion
|
|
2117
2154
|
//#region src/client/components/ui-base/feedback.tsx
|
|
2118
2155
|
function Feedback({ className }) {
|
|
2119
|
-
if (!(
|
|
2156
|
+
if (!(require_router.useConfig().integrations?.feedback?.custom)?.enabled) return null;
|
|
2120
2157
|
const { rating, setRating, comment, setComment, loading, submitted, error, submit } = useFeedback();
|
|
2121
2158
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
2122
2159
|
className: require_link.cn("w-full max-w-2xl mt-12 mb-6 p-6 rounded-2xl border border-subtle bg-surface/50 backdrop-blur-xs select-none", className),
|
|
@@ -2200,7 +2237,7 @@ function Feedback({ className }) {
|
|
|
2200
2237
|
//#endregion
|
|
2201
2238
|
//#region src/client/components/ui-base/giscus.tsx
|
|
2202
2239
|
function Giscus({ className }) {
|
|
2203
|
-
const config =
|
|
2240
|
+
const config = require_router.useConfig();
|
|
2204
2241
|
const { resolvedTheme } = require_image.useTheme();
|
|
2205
2242
|
const ref = (0, react.useRef)(null);
|
|
2206
2243
|
const initializedRef = (0, react.useRef)(false);
|
|
@@ -2326,7 +2363,9 @@ const EagerMdxElement = ({ moduleLoader, moduleKey, route, components, collectio
|
|
|
2326
2363
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MdxPage, {
|
|
2327
2364
|
MDXComponent,
|
|
2328
2365
|
mdxComponents: components ?? {},
|
|
2329
|
-
collectionPostComponent
|
|
2366
|
+
collectionPostComponent,
|
|
2367
|
+
collection: route.collection,
|
|
2368
|
+
route
|
|
2330
2369
|
});
|
|
2331
2370
|
};
|
|
2332
2371
|
const NotFoundWrapper = () => {
|
|
@@ -2373,7 +2412,7 @@ function DocsLayout({ collectionsData }) {
|
|
|
2373
2412
|
|
|
2374
2413
|
//#endregion
|
|
2375
2414
|
//#region src/client/ssg/create-routes.utils.ts
|
|
2376
|
-
function withBase(path, config) {
|
|
2415
|
+
function withBase$1(path, config) {
|
|
2377
2416
|
const base = config.base || "/";
|
|
2378
2417
|
if (path.startsWith(base)) return path;
|
|
2379
2418
|
return `${base === "/" ? "" : base.replace(/\/$/, "")}${path.startsWith("/") ? path : `/${path}`}` || "/";
|
|
@@ -2469,7 +2508,7 @@ function buildDocRoutes(options) {
|
|
|
2469
2508
|
const docRoutes = docMetadata.map((route) => {
|
|
2470
2509
|
const moduleKey = resolveModuleKey(route.filePath, moduleMap);
|
|
2471
2510
|
const moduleLoader = moduleKey ? mdxModules[moduleKey] : null;
|
|
2472
|
-
const fullPath = withBase(route.path === "" ? "/" : route.path, config);
|
|
2511
|
+
const fullPath = withBase$1(route.path === "" ? "/" : route.path, config);
|
|
2473
2512
|
const path = fullPath === baseDocsPath ? "." : fullPath.startsWith(baseDocsPath + "/") ? fullPath.slice(baseDocsPath.length + 1) : fullPath;
|
|
2474
2513
|
const routeRecord = {
|
|
2475
2514
|
path,
|
|
@@ -2596,7 +2635,7 @@ function buildDocRoutes(options) {
|
|
|
2596
2635
|
fallback: true,
|
|
2597
2636
|
seo: {
|
|
2598
2637
|
...matchedMetaObj.seo,
|
|
2599
|
-
canonical: config.siteUrl ? `${config.siteUrl.replace(/\/$/, "")}${withBase(bPath, config)}` : withBase(bPath, config)
|
|
2638
|
+
canonical: config.siteUrl ? `${config.siteUrl.replace(/\/$/, "")}${withBase$1(bPath, config)}` : withBase$1(bPath, config)
|
|
2600
2639
|
}
|
|
2601
2640
|
} : {
|
|
2602
2641
|
path: bPath,
|
|
@@ -2671,16 +2710,33 @@ function ExternalPageWrapper({ children }) {
|
|
|
2671
2710
|
|
|
2672
2711
|
//#endregion
|
|
2673
2712
|
//#region src/client/ssg/create-routes.external.tsx
|
|
2674
|
-
function getLocales(config) {
|
|
2713
|
+
function getLocales$1(config) {
|
|
2675
2714
|
if (!config.i18n) return [];
|
|
2676
2715
|
return Array.isArray(config.i18n.locales) ? config.i18n.locales : Object.keys(config.i18n.locales);
|
|
2677
2716
|
}
|
|
2717
|
+
/**
|
|
2718
|
+
* Lists the locale-prefixed variants of a path.
|
|
2719
|
+
*
|
|
2720
|
+
* The default locale is skipped on purpose. It is already the unprefixed path,
|
|
2721
|
+
* so prefixing it would mint a second URL for the same page: a site with
|
|
2722
|
+
* `defaultLocale: 'en'` would serve both `/about` and `/en/about`. That is not
|
|
2723
|
+
* a harmless duplicate. The docs site is served under a base, and the SSG path
|
|
2724
|
+
* collector prepends the base to the prefixed variant, so it emitted
|
|
2725
|
+
* `/docs/en/about` — a URL the client router never learns about, because the
|
|
2726
|
+
* base is not part of the route. Visitors landing there got a 404 on a page
|
|
2727
|
+
* the build had itself written.
|
|
2728
|
+
*
|
|
2729
|
+
* A developer configuring a second locale should not have to know this, so the
|
|
2730
|
+
* redundant variant is never generated in the first place.
|
|
2731
|
+
*/
|
|
2678
2732
|
function getLocalizedPaths(pathname, config) {
|
|
2679
2733
|
const paths = [{
|
|
2680
2734
|
path: pathname,
|
|
2681
2735
|
locale: config.i18n?.defaultLocale
|
|
2682
2736
|
}];
|
|
2683
|
-
|
|
2737
|
+
const defaultLocale = config.i18n?.defaultLocale;
|
|
2738
|
+
for (const locale of getLocales$1(config)) {
|
|
2739
|
+
if (locale === defaultLocale) continue;
|
|
2684
2740
|
const localizedPath = pathname === "/" ? `/${locale}` : `/${locale}${pathname}`;
|
|
2685
2741
|
if (!paths.some((entry) => entry.path === localizedPath)) paths.push({
|
|
2686
2742
|
path: localizedPath,
|
|
@@ -2804,7 +2860,7 @@ function buildExternalFileRoutes(options) {
|
|
|
2804
2860
|
metadata
|
|
2805
2861
|
};
|
|
2806
2862
|
const EffectiveExternalLayout = externalLayout || (({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children }));
|
|
2807
|
-
const locales = getLocales(config);
|
|
2863
|
+
const locales = getLocales$1(config);
|
|
2808
2864
|
const isLocalizedPath = (pathname) => locales.some((locale) => pathname === `/${locale}` || pathname.startsWith(`/${locale}/`));
|
|
2809
2865
|
const localeOfPath = (pathname) => {
|
|
2810
2866
|
const first = pathname.split("/").filter(Boolean)[0];
|
|
@@ -2859,7 +2915,7 @@ function getPostTimestamp(date) {
|
|
|
2859
2915
|
function usePosts(collection = DEFAULT_COLLECTION, options) {
|
|
2860
2916
|
const data = useCollectionsData();
|
|
2861
2917
|
const { currentLocale, currentVersion } = require_search_dialog.useRoutes();
|
|
2862
|
-
const config =
|
|
2918
|
+
const config = require_router.useConfig();
|
|
2863
2919
|
const posts = data[collection] || [];
|
|
2864
2920
|
const defaultLocale = config.i18n?.defaultLocale;
|
|
2865
2921
|
const defaultVersion = config.versions?.defaultVersion;
|
|
@@ -2962,7 +3018,7 @@ function getCollectionModule(route, moduleMap, mdxModules) {
|
|
|
2962
3018
|
}
|
|
2963
3019
|
function DefaultCollectionList() {
|
|
2964
3020
|
const location = require_router.useLocation();
|
|
2965
|
-
const config =
|
|
3021
|
+
const config = require_router.useConfig();
|
|
2966
3022
|
const loaderData = require_router.useLoaderData();
|
|
2967
3023
|
const postsPerPage = config.collections?.postsPerPage ?? 10;
|
|
2968
3024
|
const basePath = location.pathname.replace(/\/page\/\d+\/?$/, "").replace(/\/$/, "");
|
|
@@ -2999,7 +3055,7 @@ function DefaultCollectionList() {
|
|
|
2999
3055
|
}),
|
|
3000
3056
|
post.date && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("time", {
|
|
3001
3057
|
className: "text-xs text-muted block mb-2",
|
|
3002
|
-
children:
|
|
3058
|
+
children: require_mdx.formatDeterministicDate(post.date, { month: "short" })
|
|
3003
3059
|
}),
|
|
3004
3060
|
post.excerpt && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
3005
3061
|
className: "text-sm text-body",
|
|
@@ -3241,6 +3297,106 @@ function buildCollectionRoutes(options) {
|
|
|
3241
3297
|
};
|
|
3242
3298
|
}
|
|
3243
3299
|
|
|
3300
|
+
//#endregion
|
|
3301
|
+
//#region src/client/ssg/create-routes.redirect.tsx
|
|
3302
|
+
function normalize(value) {
|
|
3303
|
+
const [withoutHash] = value.split("#");
|
|
3304
|
+
const queryIndex = withoutHash.indexOf("?");
|
|
3305
|
+
const rawPath = queryIndex === -1 ? withoutHash : withoutHash.slice(0, queryIndex);
|
|
3306
|
+
const query = queryIndex === -1 ? "" : withoutHash.slice(queryIndex);
|
|
3307
|
+
const collapsed = `/${rawPath}`.replace(/\/{2,}/g, "/");
|
|
3308
|
+
return `${collapsed === "/" ? "/" : collapsed.replace(/\/+$/, "")}${query}`;
|
|
3309
|
+
}
|
|
3310
|
+
function isExternalTarget(to) {
|
|
3311
|
+
return /^[a-z][a-z0-9+.-]*:/i.test(to) || to.startsWith("//");
|
|
3312
|
+
}
|
|
3313
|
+
function getLocales(config) {
|
|
3314
|
+
const locales = config.i18n?.locales;
|
|
3315
|
+
if (!locales) return [];
|
|
3316
|
+
return Array.isArray(locales) ? locales : Object.keys(locales);
|
|
3317
|
+
}
|
|
3318
|
+
function withBase(pathname, base) {
|
|
3319
|
+
if (base === "/" || !base) return pathname;
|
|
3320
|
+
const normalizedBase = `/${base.replace(/^\/+|\/+$/g, "")}`;
|
|
3321
|
+
if (pathname === "/") return normalizedBase;
|
|
3322
|
+
return `${normalizedBase}${pathname}`;
|
|
3323
|
+
}
|
|
3324
|
+
/**
|
|
3325
|
+
* Collapses redirect chains and rejects cycles in the browser as well, so a
|
|
3326
|
+
* misconfigured site fails visibly instead of trapping the visitor.
|
|
3327
|
+
*/
|
|
3328
|
+
function buildRedirectMap(config) {
|
|
3329
|
+
const map = /* @__PURE__ */ new Map();
|
|
3330
|
+
const entries = config.redirects ?? [];
|
|
3331
|
+
for (const entry of entries) {
|
|
3332
|
+
const from = normalize(entry.from);
|
|
3333
|
+
const sources = entry.locale ? getLocales(config).map((locale) => from === `/${locale}` || from.startsWith(`/${locale}/`) ? from : from === "/" ? `/${locale}` : `/${locale}${from}`) : [from];
|
|
3334
|
+
for (const source of sources) {
|
|
3335
|
+
const to = isExternalTarget(entry.to) ? entry.to : withBase(normalize(entry.to), config.base ?? "/");
|
|
3336
|
+
map.set(source, to);
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3339
|
+
for (const [source, direct] of map) {
|
|
3340
|
+
let current = direct;
|
|
3341
|
+
const seen = new Set([source]);
|
|
3342
|
+
for (let depth = 0; depth < 10; depth++) {
|
|
3343
|
+
const nextPath = current.split("?")[0];
|
|
3344
|
+
const next = map.get(nextPath);
|
|
3345
|
+
if (!next || seen.has(nextPath)) break;
|
|
3346
|
+
seen.add(nextPath);
|
|
3347
|
+
current = next;
|
|
3348
|
+
}
|
|
3349
|
+
map.set(source, current);
|
|
3350
|
+
}
|
|
3351
|
+
return map;
|
|
3352
|
+
}
|
|
3353
|
+
/**
|
|
3354
|
+
* Performs the redirect during render effects. A short delay lets the static
|
|
3355
|
+
* host serve the prerendered redirect document first on a cold load, while a
|
|
3356
|
+
* client-side navigation never flashes the destination page.
|
|
3357
|
+
*/
|
|
3358
|
+
function RedirectBoundary({ to }) {
|
|
3359
|
+
const navigate = require_router.useNavigate();
|
|
3360
|
+
(0, react.useEffect)(() => {
|
|
3361
|
+
if (isExternalTarget(to)) {
|
|
3362
|
+
window.location.replace(to);
|
|
3363
|
+
return;
|
|
3364
|
+
}
|
|
3365
|
+
navigate(to, { replace: true });
|
|
3366
|
+
}, [navigate, to]);
|
|
3367
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("main", {
|
|
3368
|
+
className: "boltdocs-page w-full pt-4 pb-20 px-4 sm:px-8",
|
|
3369
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
3370
|
+
className: "mx-auto w-full max-w-3xl sm:max-w-4xl",
|
|
3371
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
3372
|
+
className: "text-paragraph",
|
|
3373
|
+
children: [
|
|
3374
|
+
"Redirecting to ",
|
|
3375
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
3376
|
+
href: to,
|
|
3377
|
+
children: to
|
|
3378
|
+
}),
|
|
3379
|
+
"…"
|
|
3380
|
+
]
|
|
3381
|
+
})
|
|
3382
|
+
})
|
|
3383
|
+
});
|
|
3384
|
+
}
|
|
3385
|
+
/**
|
|
3386
|
+
* Builds client-side redirect routes from `config.redirects`.
|
|
3387
|
+
*
|
|
3388
|
+
* Redirect sources are appended after the real routes so an existing page always
|
|
3389
|
+
* wins, and before the catch-all so a redirect is never shadowed by the 404.
|
|
3390
|
+
*/
|
|
3391
|
+
function buildRedirectRoutes({ config }) {
|
|
3392
|
+
const map = buildRedirectMap(config);
|
|
3393
|
+
if (map.size === 0) return [];
|
|
3394
|
+
return [...map.entries()].sort(([a], [b]) => a.localeCompare(b)).map(([from, to]) => ({
|
|
3395
|
+
path: from,
|
|
3396
|
+
element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RedirectBoundary, { to })
|
|
3397
|
+
}));
|
|
3398
|
+
}
|
|
3399
|
+
|
|
3244
3400
|
//#endregion
|
|
3245
3401
|
//#region src/client/ssg/create-routes.tsx
|
|
3246
3402
|
function createRoutes(options) {
|
|
@@ -3266,6 +3422,7 @@ function createRoutes(options) {
|
|
|
3266
3422
|
};
|
|
3267
3423
|
filteredExternalFileRoutes.children = externalFileRoutes.children.filter((route) => !route.path || acceptedExternalFilePaths.has(route.path));
|
|
3268
3424
|
const collectionRoutes = buildCollectionRoutes(options);
|
|
3425
|
+
const redirectRoutes = buildRedirectRoutes({ config });
|
|
3269
3426
|
const children = [
|
|
3270
3427
|
{
|
|
3271
3428
|
path: baseDocsPath,
|
|
@@ -3275,6 +3432,7 @@ function createRoutes(options) {
|
|
|
3275
3432
|
...externalRoutes.children,
|
|
3276
3433
|
...filteredExternalFileRoutes.children,
|
|
3277
3434
|
...collectionRoutes.children,
|
|
3435
|
+
...redirectRoutes,
|
|
3278
3436
|
{
|
|
3279
3437
|
path: "*",
|
|
3280
3438
|
element: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExternalPageWrapper, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EffectiveExternalLayout, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NotFoundWrapper, {}) }) })
|
|
@@ -3309,6 +3467,18 @@ function createRoutes(options) {
|
|
|
3309
3467
|
};
|
|
3310
3468
|
}
|
|
3311
3469
|
|
|
3470
|
+
//#endregion
|
|
3471
|
+
//#region src/client/collections/utils.ts
|
|
3472
|
+
/**
|
|
3473
|
+
* Formats a date to a human-readable string.
|
|
3474
|
+
*
|
|
3475
|
+
* Locale and time zone are pinned so the server and the browser produce
|
|
3476
|
+
* identical text during hydration. See `formatDeterministicDate`.
|
|
3477
|
+
*/
|
|
3478
|
+
function formatDate(date, options = {}) {
|
|
3479
|
+
return require_mdx.formatDeterministicDate(date, options);
|
|
3480
|
+
}
|
|
3481
|
+
|
|
3312
3482
|
//#endregion
|
|
3313
3483
|
//#region src/client/components/docs-layout-default.tsx
|
|
3314
3484
|
/**
|
|
@@ -3321,7 +3491,7 @@ function createRoutes(options) {
|
|
|
3321
3491
|
*/
|
|
3322
3492
|
function DocsLayoutComponent({ children }) {
|
|
3323
3493
|
const { routes: filteredRoutes, currentRoute, isCollectionPage } = require_search_dialog.useRoutes();
|
|
3324
|
-
const config =
|
|
3494
|
+
const config = require_router.useConfig();
|
|
3325
3495
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_docs_layout.DocsLayout, {
|
|
3326
3496
|
className: "selection:bg-primary-500/10 selection:text-primary-500",
|
|
3327
3497
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Navbar, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_docs_layout.DocsLayout.Body, {
|
|
@@ -3479,6 +3649,8 @@ exports.createStructuredData = createStructuredData;
|
|
|
3479
3649
|
exports.createWebSiteStructuredData = createWebSiteStructuredData;
|
|
3480
3650
|
exports.defaultNavigate = require_router.defaultNavigate;
|
|
3481
3651
|
exports.defineStructuredData = defineStructuredData;
|
|
3652
|
+
exports.formatDate = formatDate;
|
|
3653
|
+
exports.formatDeterministicDate = require_mdx.formatDeterministicDate;
|
|
3482
3654
|
exports.getConfiguredLocales = require_router.getConfiguredLocales;
|
|
3483
3655
|
exports.getConfiguredVersions = require_router.getConfiguredVersions;
|
|
3484
3656
|
exports.getStarsRepo = getStarsRepo;
|
|
@@ -3501,7 +3673,7 @@ exports.resolvePublicAssetUrl = require_link.resolvePublicAssetUrl;
|
|
|
3501
3673
|
exports.resolveRouteBranch = require_router.resolveRouteBranch;
|
|
3502
3674
|
exports.resolveUrlReference = require_router.resolveUrlReference;
|
|
3503
3675
|
exports.splitUrlReference = require_router.splitUrlReference;
|
|
3504
|
-
exports.startViewTransition =
|
|
3676
|
+
exports.startViewTransition = require_router.startViewTransition;
|
|
3505
3677
|
exports.stripBasename = require_router.stripBasename;
|
|
3506
3678
|
exports.stripSiteProtocol = require_router.stripSiteProtocol;
|
|
3507
3679
|
exports.stripUrlBase = require_router.stripUrlBase;
|
|
@@ -3509,7 +3681,7 @@ exports.useAnalytics = useAnalytics;
|
|
|
3509
3681
|
exports.useBreadcrumbs = useBreadcrumbs;
|
|
3510
3682
|
exports.useCodeBlock = useCodeBlock;
|
|
3511
3683
|
exports.useCodeBlockFeedback = require_mdx.useCodeBlockFeedback;
|
|
3512
|
-
exports.useConfig =
|
|
3684
|
+
exports.useConfig = require_router.useConfig;
|
|
3513
3685
|
exports.useCopyButton = require_mdx.useCopyButton;
|
|
3514
3686
|
exports.useExpandable = require_mdx.useExpandable;
|
|
3515
3687
|
exports.useFeedback = useFeedback;
|
|
@@ -3539,4 +3711,4 @@ exports.useTrackEvent = useTrackEvent;
|
|
|
3539
3711
|
exports.useTrackPageView = useTrackPageView;
|
|
3540
3712
|
exports.useUI = require_docs_layout.useUI;
|
|
3541
3713
|
exports.useVersion = useVersion;
|
|
3542
|
-
exports.useViewTransition =
|
|
3714
|
+
exports.useViewTransition = require_router.useViewTransition;
|
package/dist/client/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import { $ as LazyRouteResult, A as matchRouteBranch, B as useRouteData, C as stripSiteProtocol, D as normalizeBasename, E as hasBasename, F as useLoaderData, G as MatchesContext, H as LocationProvider, I as useLocation, J as PrefetchContext, K as NavigateContext, L as useMatches, M as resolveRouteBranch, N as Outlet, O as stripBasename, P as OutletContext, Q as CreateRoutesResult, R as useNavigate, S as splitUrlReference, T as addBasename, U as LocationProviderProps, V as LocationContext, W as LocationState, X as RouteDataContext, Y as PrefetchFunction, Z as defaultNavigate, _ as isConfiguredVersion, a as UrlRouteHint, at as RouterOptions, b as parseUrlReference, c as buildUrl, d as getConfiguredVersions, dt as BoltdocsRoutePath, et as LoaderFunction, f as getVersionPrefixSegments, ft as BoltdocsRoutePathWithFallback, g as isConfiguredLocale, h as hasUrlBase, ht as BoltdocsVersion, i as UrlContractConfig, it as RouteRendererProps, j as matchRouteBranchWithParams, k as RouteRenderer, l as classifyUrlPath, lt as BoltdocsLocale, m as hasUriScheme, mt as BoltdocsTypes, n as ParsedUrl, nt as RouteMatch, o as UrlRouteKind, p as getVersionSegments, q as NavigateFunction, r as ResolveUrlOptions, rt as RouteRecord, s as addUrlBase, st as BoltdocsConfig, t as BuildUrlOptions, tt as LoaderFunctionArgs, u as getConfiguredLocales, v as normalizeUrlBase, w as stripUrlBase, x as resolveUrlReference, y as normalizeUrlPath, z as usePrefetch } from "../index-
|
|
3
|
-
import { A as cn, At as useUI, B as NotFound, Bt as
|
|
4
|
-
export { ArticleStructuredDataOptions, Banner, BoltdocsConfig, BoltdocsLocale, BoltdocsRoutePath, BoltdocsRoutePathWithFallback, BoltdocsShell, BoltdocsTab, BoltdocsTypes, BoltdocsVersion, BreadcrumbStructuredDataItem, Breadcrumbs, BuildUrlOptions, CodeBlockFeedbackPayload, CollectionListLoaderData, CollectionPost, CollectionPostLoaderData, CollectionsContext, CollectionsData, ComponentRoute, CopyMarkdown, CreateRoutesResult, CurrentPostProvider, DocsLayoutComponent as DocsLayout, ErrorBoundary, LayoutProps, LazyRouteResult, LoaderFunction, LoaderFunctionArgs, LocationContext, LocationProvider, LocationProviderProps, LocationState, MatchesContext, MdxPage, Navbar, NavbarLink, NavigateContext, NavigateFunction, NotFound, OnThisPage, OnThisPageProps, Outlet, OutletContext, PageNav, ParsedUrl, PrefetchContext, PrefetchFunction, ResolveUrlOptions, RouteDataContext, RouteMatch, RouteRecord, RouteRenderer, RouteRendererProps, RouterOptions, SearchDialog, Sidebar, SidebarProps, SiteConfig, StructuredData, StructuredDataFactoryOptions, StructuredDataProps, TabsProps, Timeline, TimelineBadgeConfig, TimelineItemProps, TimelineProps, TimelineVariant, UrlContractConfig, UrlRouteHint, UrlRouteKind, UseCodeBlockFeedbackOptions, UseExpandableOptions, ViewTransitionHandle, ViewTransitionOptions, ViewTransitionRunner, ViewTransitionUpdate, ViteReactSSG, WebSiteStructuredDataOptions, addBasename, addUrlBase, buildUrl, classifyUrlPath, cn, copyToClipboard, createArticleStructuredData, createBreadcrumbStructuredData, createRoutes, createStructuredData, createWebSiteStructuredData, defaultNavigate, defineStructuredData, getConfiguredLocales, getConfiguredVersions, getStarsRepo, getTranslated, getVersionPrefixSegments, getVersionSegments, hasBasename, hasUriScheme, hasUrlBase, isConfiguredLocale, isConfiguredVersion, matchRouteBranch, matchRouteBranchWithParams, normalizeBasename, normalizeUrlBase, normalizeUrlPath, parseUrlReference, reactToText, resolvePublicAssetUrl, resolveRouteBranch, resolveUrlReference, splitUrlReference, startViewTransition, stripBasename, stripSiteProtocol, stripUrlBase, useAnalytics, useBreadcrumbs, useCodeBlock, useCodeBlockFeedback, useConfig, useCopyButton, useExpandable, useFeedback, useHeadings, useI18n, useLoaderData, useLocalizedTo, useLocation, useMatches, useMdxComponents, useMergedComponents, useNavbar, useNavigate, usePageNav, usePost, usePosts, usePrefetch, useRecentPosts, useRouteData, useRoutes, useSearch, useSearchHighlight, useSidebar, useTabs, useTheme, useTrackEvent, useTrackPageView, useUI, useVersion, useViewTransition };
|
|
2
|
+
import { $ as LazyRouteResult, A as matchRouteBranch, B as useRouteData, C as stripSiteProtocol, D as normalizeBasename, E as hasBasename, F as useLoaderData, G as MatchesContext, H as LocationProvider, I as useLocation, J as PrefetchContext, K as NavigateContext, L as useMatches, M as resolveRouteBranch, N as Outlet, O as stripBasename, P as OutletContext, Q as CreateRoutesResult, R as useNavigate, S as splitUrlReference, T as addBasename, U as LocationProviderProps, V as LocationContext, W as LocationState, X as RouteDataContext, Y as PrefetchFunction, Z as defaultNavigate, _ as isConfiguredVersion, _t as RedirectConfig, a as UrlRouteHint, at as RouterOptions, b as parseUrlReference, c as buildUrl, d as getConfiguredVersions, dt as BoltdocsRoutePath, et as LoaderFunction, f as getVersionPrefixSegments, ft as BoltdocsRoutePathWithFallback, g as isConfiguredLocale, h as hasUrlBase, ht as BoltdocsVersion, i as UrlContractConfig, it as RouteRendererProps, j as matchRouteBranchWithParams, k as RouteRenderer, l as classifyUrlPath, lt as BoltdocsLocale, m as hasUriScheme, mt as BoltdocsTypes, n as ParsedUrl, nt as RouteMatch, o as UrlRouteKind, p as getVersionSegments, q as NavigateFunction, r as ResolveUrlOptions, rt as RouteRecord, s as addUrlBase, st as BoltdocsConfig, t as BuildUrlOptions, tt as LoaderFunctionArgs, u as getConfiguredLocales, v as normalizeUrlBase, vt as RedirectStatus, w as stripUrlBase, x as resolveUrlReference, y as normalizeUrlPath, z as usePrefetch } from "../index-RK7W_Fxy.cjs";
|
|
3
|
+
import { $t as TabsProps, A as cn, At as useUI, B as NotFound, Bt as CollectionPost, C as createArticleStructuredData, Ct as usePageNav, D as defineStructuredData, Dt as useSearch, E as createWebSiteStructuredData, Et as useTabs, F as TimelineVariant, Ft as formatDate, G as Breadcrumbs, Gt as CollectionListLoaderData, H as CopyMarkdown, Ht as CollectionsData, I as usePost, It as ViteReactSSG, Jt as LayoutProps, K as OnThisPage, Kt as CollectionPostLoaderData, L as usePosts, Lt as BoltdocsShell, M as TimelineBadgeConfig, Mt as useTheme, N as TimelineItemProps, Nt as useConfig, O as getTranslated, Ot as useSidebar, P as TimelineProps, Pt as formatDeterministicDate, Qt as SiteConfig, R as useRecentPosts, Rt as MdxPage, S as WebSiteStructuredDataOptions, St as useBreadcrumbs, T as createStructuredData, Tt as useVersion, U as ErrorBoundary, Ut as CurrentPostProvider, V as SearchDialog, Vt as CollectionsContext, W as PageNav, Wt as BoltdocsTab, Xt as OnThisPageProps, Yt as NavbarLink, Zt as SidebarProps, _ as StructuredData, _t as useTrackEvent, a as useExpandable, b as BreadcrumbStructuredDataItem, bt as useLocalizedTo, c as getStarsRepo, d as ViewTransitionHandle, dt as Navbar, f as ViewTransitionOptions, ft as DocsLayoutComponent, g as useViewTransition, gt as useAnalytics, h as startViewTransition, ht as useHeadings, i as UseExpandableOptions, j as Timeline, jt as useMdxComponents, k as resolvePublicAssetUrl, kt as useNavbar, l as copyToClipboard, m as ViewTransitionUpdate, mt as useMergedComponents, n as UseCodeBlockFeedbackOptions, o as useCopyButton, p as ViewTransitionRunner, pt as useFeedback, q as Sidebar, qt as ComponentRoute, r as useCodeBlockFeedback, s as useCodeBlock, t as CodeBlockFeedbackPayload, u as reactToText, v as StructuredDataProps, vt as useTrackPageView, w as createBreadcrumbStructuredData, wt as useI18n, x as StructuredDataFactoryOptions, xt as useRoutes, y as ArticleStructuredDataOptions, yt as useSearchHighlight, z as Banner, zt as createRoutes } from "../index-B_o5y34l.cjs";
|
|
4
|
+
export { ArticleStructuredDataOptions, Banner, BoltdocsConfig, BoltdocsLocale, BoltdocsRoutePath, BoltdocsRoutePathWithFallback, BoltdocsShell, BoltdocsTab, BoltdocsTypes, BoltdocsVersion, BreadcrumbStructuredDataItem, Breadcrumbs, BuildUrlOptions, CodeBlockFeedbackPayload, CollectionListLoaderData, CollectionPost, CollectionPostLoaderData, CollectionsContext, CollectionsData, ComponentRoute, CopyMarkdown, CreateRoutesResult, CurrentPostProvider, DocsLayoutComponent as DocsLayout, ErrorBoundary, LayoutProps, LazyRouteResult, LoaderFunction, LoaderFunctionArgs, LocationContext, LocationProvider, LocationProviderProps, LocationState, MatchesContext, MdxPage, Navbar, NavbarLink, NavigateContext, NavigateFunction, NotFound, OnThisPage, OnThisPageProps, Outlet, OutletContext, PageNav, ParsedUrl, PrefetchContext, PrefetchFunction, RedirectConfig, RedirectStatus, ResolveUrlOptions, RouteDataContext, RouteMatch, RouteRecord, RouteRenderer, RouteRendererProps, RouterOptions, SearchDialog, Sidebar, SidebarProps, SiteConfig, StructuredData, StructuredDataFactoryOptions, StructuredDataProps, TabsProps, Timeline, TimelineBadgeConfig, TimelineItemProps, TimelineProps, TimelineVariant, UrlContractConfig, UrlRouteHint, UrlRouteKind, UseCodeBlockFeedbackOptions, UseExpandableOptions, ViewTransitionHandle, ViewTransitionOptions, ViewTransitionRunner, ViewTransitionUpdate, ViteReactSSG, WebSiteStructuredDataOptions, addBasename, addUrlBase, buildUrl, classifyUrlPath, cn, copyToClipboard, createArticleStructuredData, createBreadcrumbStructuredData, createRoutes, createStructuredData, createWebSiteStructuredData, defaultNavigate, defineStructuredData, formatDate, formatDeterministicDate, getConfiguredLocales, getConfiguredVersions, getStarsRepo, getTranslated, getVersionPrefixSegments, getVersionSegments, hasBasename, hasUriScheme, hasUrlBase, isConfiguredLocale, isConfiguredVersion, matchRouteBranch, matchRouteBranchWithParams, normalizeBasename, normalizeUrlBase, normalizeUrlPath, parseUrlReference, reactToText, resolvePublicAssetUrl, resolveRouteBranch, resolveUrlReference, splitUrlReference, startViewTransition, stripBasename, stripSiteProtocol, stripUrlBase, useAnalytics, useBreadcrumbs, useCodeBlock, useCodeBlockFeedback, useConfig, useCopyButton, useExpandable, useFeedback, useHeadings, useI18n, useLoaderData, useLocalizedTo, useLocation, useMatches, useMdxComponents, useMergedComponents, useNavbar, useNavigate, usePageNav, usePost, usePosts, usePrefetch, useRecentPosts, useRouteData, useRoutes, useSearch, useSearchHighlight, useSidebar, useTabs, useTheme, useTrackEvent, useTrackPageView, useUI, useVersion, useViewTransition };
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import { $ as LazyRouteResult, A as matchRouteBranch, B as useRouteData, C as stripSiteProtocol, D as normalizeBasename, E as hasBasename, F as useLoaderData, G as MatchesContext, H as LocationProvider, I as useLocation, J as PrefetchContext, K as NavigateContext, L as useMatches, M as resolveRouteBranch, N as Outlet, O as stripBasename, P as OutletContext, Q as CreateRoutesResult, R as useNavigate, S as splitUrlReference, T as addBasename, U as LocationProviderProps, V as LocationContext, W as LocationState, X as RouteDataContext, Y as PrefetchFunction, Z as defaultNavigate, _ as isConfiguredVersion, a as UrlRouteHint, at as RouterOptions, b as parseUrlReference, c as buildUrl, d as getConfiguredVersions, dt as BoltdocsRoutePath, et as LoaderFunction, f as getVersionPrefixSegments, ft as BoltdocsRoutePathWithFallback, g as isConfiguredLocale, h as hasUrlBase, ht as BoltdocsVersion, i as UrlContractConfig, it as RouteRendererProps, j as matchRouteBranchWithParams, k as RouteRenderer, l as classifyUrlPath, lt as BoltdocsLocale, m as hasUriScheme, mt as BoltdocsTypes, n as ParsedUrl, nt as RouteMatch, o as UrlRouteKind, p as getVersionSegments, q as NavigateFunction, r as ResolveUrlOptions, rt as RouteRecord, s as addUrlBase, st as BoltdocsConfig, t as BuildUrlOptions, tt as LoaderFunctionArgs, u as getConfiguredLocales, v as normalizeUrlBase, w as stripUrlBase, x as resolveUrlReference, y as normalizeUrlPath, z as usePrefetch } from "../index
|
|
3
|
-
import { A as cn, At as useUI, B as NotFound, Bt as
|
|
4
|
-
export { ArticleStructuredDataOptions, Banner, BoltdocsConfig, BoltdocsLocale, BoltdocsRoutePath, BoltdocsRoutePathWithFallback, BoltdocsShell, BoltdocsTab, BoltdocsTypes, BoltdocsVersion, BreadcrumbStructuredDataItem, Breadcrumbs, BuildUrlOptions, CodeBlockFeedbackPayload, CollectionListLoaderData, CollectionPost, CollectionPostLoaderData, CollectionsContext, CollectionsData, ComponentRoute, CopyMarkdown, CreateRoutesResult, CurrentPostProvider, DocsLayoutComponent as DocsLayout, ErrorBoundary, LayoutProps, LazyRouteResult, LoaderFunction, LoaderFunctionArgs, LocationContext, LocationProvider, LocationProviderProps, LocationState, MatchesContext, MdxPage, Navbar, NavbarLink, NavigateContext, NavigateFunction, NotFound, OnThisPage, OnThisPageProps, Outlet, OutletContext, PageNav, ParsedUrl, PrefetchContext, PrefetchFunction, ResolveUrlOptions, RouteDataContext, RouteMatch, RouteRecord, RouteRenderer, RouteRendererProps, RouterOptions, SearchDialog, Sidebar, SidebarProps, SiteConfig, StructuredData, StructuredDataFactoryOptions, StructuredDataProps, TabsProps, Timeline, TimelineBadgeConfig, TimelineItemProps, TimelineProps, TimelineVariant, UrlContractConfig, UrlRouteHint, UrlRouteKind, UseCodeBlockFeedbackOptions, UseExpandableOptions, ViewTransitionHandle, ViewTransitionOptions, ViewTransitionRunner, ViewTransitionUpdate, ViteReactSSG, WebSiteStructuredDataOptions, addBasename, addUrlBase, buildUrl, classifyUrlPath, cn, copyToClipboard, createArticleStructuredData, createBreadcrumbStructuredData, createRoutes, createStructuredData, createWebSiteStructuredData, defaultNavigate, defineStructuredData, getConfiguredLocales, getConfiguredVersions, getStarsRepo, getTranslated, getVersionPrefixSegments, getVersionSegments, hasBasename, hasUriScheme, hasUrlBase, isConfiguredLocale, isConfiguredVersion, matchRouteBranch, matchRouteBranchWithParams, normalizeBasename, normalizeUrlBase, normalizeUrlPath, parseUrlReference, reactToText, resolvePublicAssetUrl, resolveRouteBranch, resolveUrlReference, splitUrlReference, startViewTransition, stripBasename, stripSiteProtocol, stripUrlBase, useAnalytics, useBreadcrumbs, useCodeBlock, useCodeBlockFeedback, useConfig, useCopyButton, useExpandable, useFeedback, useHeadings, useI18n, useLoaderData, useLocalizedTo, useLocation, useMatches, useMdxComponents, useMergedComponents, useNavbar, useNavigate, usePageNav, usePost, usePosts, usePrefetch, useRecentPosts, useRouteData, useRoutes, useSearch, useSearchHighlight, useSidebar, useTabs, useTheme, useTrackEvent, useTrackPageView, useUI, useVersion, useViewTransition };
|
|
2
|
+
import { $ as LazyRouteResult, A as matchRouteBranch, B as useRouteData, C as stripSiteProtocol, D as normalizeBasename, E as hasBasename, F as useLoaderData, G as MatchesContext, H as LocationProvider, I as useLocation, J as PrefetchContext, K as NavigateContext, L as useMatches, M as resolveRouteBranch, N as Outlet, O as stripBasename, P as OutletContext, Q as CreateRoutesResult, R as useNavigate, S as splitUrlReference, T as addBasename, U as LocationProviderProps, V as LocationContext, W as LocationState, X as RouteDataContext, Y as PrefetchFunction, Z as defaultNavigate, _ as isConfiguredVersion, _t as RedirectConfig, a as UrlRouteHint, at as RouterOptions, b as parseUrlReference, c as buildUrl, d as getConfiguredVersions, dt as BoltdocsRoutePath, et as LoaderFunction, f as getVersionPrefixSegments, ft as BoltdocsRoutePathWithFallback, g as isConfiguredLocale, h as hasUrlBase, ht as BoltdocsVersion, i as UrlContractConfig, it as RouteRendererProps, j as matchRouteBranchWithParams, k as RouteRenderer, l as classifyUrlPath, lt as BoltdocsLocale, m as hasUriScheme, mt as BoltdocsTypes, n as ParsedUrl, nt as RouteMatch, o as UrlRouteKind, p as getVersionSegments, q as NavigateFunction, r as ResolveUrlOptions, rt as RouteRecord, s as addUrlBase, st as BoltdocsConfig, t as BuildUrlOptions, tt as LoaderFunctionArgs, u as getConfiguredLocales, v as normalizeUrlBase, vt as RedirectStatus, w as stripUrlBase, x as resolveUrlReference, y as normalizeUrlPath, z as usePrefetch } from "../index--xbYbT8N.js";
|
|
3
|
+
import { $t as TabsProps, A as cn, At as useUI, B as NotFound, Bt as CollectionPost, C as createArticleStructuredData, Ct as usePageNav, D as defineStructuredData, Dt as useSearch, E as createWebSiteStructuredData, Et as useTabs, F as TimelineVariant, Ft as formatDate, G as Breadcrumbs, Gt as CollectionListLoaderData, H as CopyMarkdown, Ht as CollectionsData, I as usePost, It as ViteReactSSG, Jt as LayoutProps, K as OnThisPage, Kt as CollectionPostLoaderData, L as usePosts, Lt as BoltdocsShell, M as TimelineBadgeConfig, Mt as useTheme, N as TimelineItemProps, Nt as useConfig, O as getTranslated, Ot as useSidebar, P as TimelineProps, Pt as formatDeterministicDate, Qt as SiteConfig, R as useRecentPosts, Rt as MdxPage, S as WebSiteStructuredDataOptions, St as useBreadcrumbs, T as createStructuredData, Tt as useVersion, U as ErrorBoundary, Ut as CurrentPostProvider, V as SearchDialog, Vt as CollectionsContext, W as PageNav, Wt as BoltdocsTab, Xt as OnThisPageProps, Yt as NavbarLink, Zt as SidebarProps, _ as StructuredData, _t as useTrackEvent, a as useExpandable, b as BreadcrumbStructuredDataItem, bt as useLocalizedTo, c as getStarsRepo, d as ViewTransitionHandle, dt as Navbar, f as ViewTransitionOptions, ft as DocsLayoutComponent, g as useViewTransition, gt as useAnalytics, h as startViewTransition, ht as useHeadings, i as UseExpandableOptions, j as Timeline, jt as useMdxComponents, k as resolvePublicAssetUrl, kt as useNavbar, l as copyToClipboard, m as ViewTransitionUpdate, mt as useMergedComponents, n as UseCodeBlockFeedbackOptions, o as useCopyButton, p as ViewTransitionRunner, pt as useFeedback, q as Sidebar, qt as ComponentRoute, r as useCodeBlockFeedback, s as useCodeBlock, t as CodeBlockFeedbackPayload, u as reactToText, v as StructuredDataProps, vt as useTrackPageView, w as createBreadcrumbStructuredData, wt as useI18n, x as StructuredDataFactoryOptions, xt as useRoutes, y as ArticleStructuredDataOptions, yt as useSearchHighlight, z as Banner, zt as createRoutes } from "../index-Bx0CUd7Q.js";
|
|
4
|
+
export { ArticleStructuredDataOptions, Banner, BoltdocsConfig, BoltdocsLocale, BoltdocsRoutePath, BoltdocsRoutePathWithFallback, BoltdocsShell, BoltdocsTab, BoltdocsTypes, BoltdocsVersion, BreadcrumbStructuredDataItem, Breadcrumbs, BuildUrlOptions, CodeBlockFeedbackPayload, CollectionListLoaderData, CollectionPost, CollectionPostLoaderData, CollectionsContext, CollectionsData, ComponentRoute, CopyMarkdown, CreateRoutesResult, CurrentPostProvider, DocsLayoutComponent as DocsLayout, ErrorBoundary, LayoutProps, LazyRouteResult, LoaderFunction, LoaderFunctionArgs, LocationContext, LocationProvider, LocationProviderProps, LocationState, MatchesContext, MdxPage, Navbar, NavbarLink, NavigateContext, NavigateFunction, NotFound, OnThisPage, OnThisPageProps, Outlet, OutletContext, PageNav, ParsedUrl, PrefetchContext, PrefetchFunction, RedirectConfig, RedirectStatus, ResolveUrlOptions, RouteDataContext, RouteMatch, RouteRecord, RouteRenderer, RouteRendererProps, RouterOptions, SearchDialog, Sidebar, SidebarProps, SiteConfig, StructuredData, StructuredDataFactoryOptions, StructuredDataProps, TabsProps, Timeline, TimelineBadgeConfig, TimelineItemProps, TimelineProps, TimelineVariant, UrlContractConfig, UrlRouteHint, UrlRouteKind, UseCodeBlockFeedbackOptions, UseExpandableOptions, ViewTransitionHandle, ViewTransitionOptions, ViewTransitionRunner, ViewTransitionUpdate, ViteReactSSG, WebSiteStructuredDataOptions, addBasename, addUrlBase, buildUrl, classifyUrlPath, cn, copyToClipboard, createArticleStructuredData, createBreadcrumbStructuredData, createRoutes, createStructuredData, createWebSiteStructuredData, defaultNavigate, defineStructuredData, formatDate, formatDeterministicDate, getConfiguredLocales, getConfiguredVersions, getStarsRepo, getTranslated, getVersionPrefixSegments, getVersionSegments, hasBasename, hasUriScheme, hasUrlBase, isConfiguredLocale, isConfiguredVersion, matchRouteBranch, matchRouteBranchWithParams, normalizeBasename, normalizeUrlBase, normalizeUrlPath, parseUrlReference, reactToText, resolvePublicAssetUrl, resolveRouteBranch, resolveUrlReference, splitUrlReference, startViewTransition, stripBasename, stripSiteProtocol, stripUrlBase, useAnalytics, useBreadcrumbs, useCodeBlock, useCodeBlockFeedback, useConfig, useCopyButton, useExpandable, useFeedback, useHeadings, useI18n, useLoaderData, useLocalizedTo, useLocation, useMatches, useMdxComponents, useMergedComponents, useNavbar, useNavigate, usePageNav, usePost, usePosts, usePrefetch, useRecentPosts, useRouteData, useRoutes, useSearch, useSearchHighlight, useSidebar, useTabs, useTheme, useTrackEvent, useTrackPageView, useUI, useVersion, useViewTransition };
|