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
|
@@ -0,0 +1,6 @@
|
|
|
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{o as t,t as n}from"./utils-8lzafE49.mjs";import{n as r}from"./pages-external-BBw8ObVK.mjs";import{FileCache as i}from"./node/cache.mjs";import{t as a}from"./cache-OY4HzIXl.mjs";import o from"node:path";import s from"node:fs";import c from"node:crypto";import{warn as l}from"@bdocs/dui";import u from"node:fs/promises";import{fdir as d}from"fdir";function f(e){return o.resolve(e)}function p(e,t){return c.createHash(`sha1`).update(`${f(e)}:${t}`).digest(`hex`).slice(0,16)}function m(e,n,r){let s=p(e,r),c=t();return{fingerprint:r,docCache:new i({name:`routes-${s}`,root:n}),parserCache:new a(n,s),cachedFileList:null,localizedPathCache:new Map,cachedNativeDocs:null,frontmatterHashes:new Map,directoryMeta:null,cachedDirectoryMetaFiles:null,directoryMetaEntries:new Map,discoverySnapshot:null,discoverySnapshotLoaded:!1,discoverySnapshotPath:o.resolve(n,c.dir,`route-discovery-${s}.json`)}}function h(e,t=o.dirname(o.resolve(e))){let n=f(e),r=o.resolve(t),i=m(n,r,`legacy`);return{docsDir:n,cacheRoot:r,docCache:i.docCache,parserCache:i.parserCache,cachedFileList:i.cachedFileList,localizedPathCache:i.localizedPathCache,cachedNativeDocs:i.cachedNativeDocs,frontmatterHashes:i.frontmatterHashes,directoryMeta:i.directoryMeta,cachedDirectoryMetaFiles:i.cachedDirectoryMetaFiles,variants:new Map([[`legacy`,i]]),activeVariant:i,activeGenerations:new Map,generationEpoch:0,disposed:!1}}const g=new Map;function _(e,t,n=!1){if(e.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let r=e.variants.get(t);if(!r&&(r=m(e.docsDir,e.cacheRoot,t),e.variants.set(t,r),e.variants.size>8)){for(let[n,r]of e.variants)if(!(n===t||r===e.activeVariant)&&!e.activeGenerations.has(n)){e.variants.delete(n);break}}return n&&(e.activeVariant=r,e.docCache=r.docCache,e.parserCache=r.parserCache,e.cachedFileList=r.cachedFileList,e.localizedPathCache=r.localizedPathCache,e.cachedNativeDocs=r.cachedNativeDocs,e.frontmatterHashes=r.frontmatterHashes,e.directoryMeta=r.directoryMeta,e.cachedDirectoryMetaFiles=r.cachedDirectoryMetaFiles),r}function v(e,t){e.activeVariant===t&&(e.cachedFileList=t.cachedFileList,e.cachedNativeDocs=t.cachedNativeDocs,e.frontmatterHashes=t.frontmatterHashes,e.directoryMeta=t.directoryMeta,e.cachedDirectoryMetaFiles=t.cachedDirectoryMetaFiles)}function y(e,t){return c.createHash(`sha1`).update(JSON.stringify({basePath:t||e?.base||`/docs`,i18n:e?.i18n,versions:e?.versions,drafts:e?.drafts,featureFlags:e?.featureFlags,sidebarGroups:e?.theme?.sidebarGroups})).digest(`hex`)}function b(e,t){let n=f(e),r=g.get(n),i=t??r;(!i||r===i)&&g.delete(n),i&&(i.disposed=!0,i.generationEpoch++,i.activeGenerations.clear(),i.variants.clear(),i.activeVariant=null,i.cachedFileList=null,i.localizedPathCache.clear(),i.cachedNativeDocs=null,i.frontmatterHashes.clear(),i.directoryMeta=null,i.cachedDirectoryMetaFiles=null)}function x(e){let t=f(e),n=g.get(t);return n||(n=h(t),g.set(t,n)),n}const S=h(o.resolve(process.cwd(),`docs`)),C=S.docCache;function w(e){try{s.rmSync(e.discoverySnapshotPath,{force:!0})}catch{}}function T(e){let t=typeof e==`string`?x(e):e??S;for(let e of t.variants.values())e.cachedFileList=null,e.localizedPathCache.clear(),e.cachedNativeDocs=null,e.frontmatterHashes.clear(),e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,w(e),e.docCache.invalidateAll(),e.parserCache.clear();t.cachedFileList=null,t.localizedPathCache.clear(),t.cachedNativeDocs=null,t.frontmatterHashes.clear(),t.directoryMeta=null,t.cachedDirectoryMetaFiles=null,t.generationEpoch++}function E(e,t){let n=typeof t==`string`?x(t):t??S,r=o.resolve(e);for(let e of n.variants.values()){for(let t of e.directoryMetaEntries.keys())o.resolve(t)===r&&e.directoryMetaEntries.delete(t);e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,w(e)}n.directoryMeta=null,n.cachedDirectoryMetaFiles=null,n.generationEpoch++}function D(e,t){let n=typeof t==`string`?x(t):t??S;for(let t of n.variants.values())t.docCache.invalidate(e),t.parserCache.invalidate(e),t.cachedNativeDocs?.[e.replace(/\\/g,`/`)]&&delete t.cachedNativeDocs[e.replace(/\\/g,`/`)],t.frontmatterHashes.delete(e);n.cachedNativeDocs=n.activeVariant?.cachedNativeDocs??null,n.frontmatterHashes.delete(e),n.generationEpoch++}function O(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):k(e,t):n-r})}function k(e,t){if(e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0){let n=e.sidebarPosition-t.sidebarPosition;if(n!==0)return n}else if(e.sidebarPosition!==void 0)return-1;else if(t.sidebarPosition!==void 0)return 1;let n=e.title.localeCompare(t.title);return n===0?e.path.localeCompare(t.path):n}var A=e({generateRoutes:()=>B,getExternalRoutePaths:()=>r,invalidateDirectoryMetaFile:()=>L,invalidateFile:()=>R,invalidateRouteCache:()=>z});const j=Symbol(`route-generation-invalidated`);async function M(e,t,n){let r=[...t].sort((e,t)=>{if(o.dirname(e)===o.dirname(t)){let n=o.basename(e),r=o.basename(t);if(n===`_meta.json`&&r===`meta.json`)return-1;if(n===`meta.json`&&r===`_meta.json`)return 1}return e.localeCompare(t)}),i=new Set(r),a=n.directoryMetaEntries;for(let e of a.keys())i.has(e)||a.delete(e);await Promise.all(r.map(async e=>{let t;try{t=await u.stat(e)}catch(t){a.delete(e),l(`Failed to stat meta.json: ${t instanceof Error?t.message:String(t)}`);return}let n=a.get(e);if(!(n&&n.mtimeMs===t.mtimeMs&&n.size===t.size))try{let n=await u.readFile(e,`utf8`);a.set(e,{mtimeMs:t.mtimeMs,size:t.size,content:JSON.parse(n)})}catch(t){a.delete(e),l(`Failed to read meta.json: ${t instanceof Error?t.message:String(t)}`)}}));let s={};for(let t of r){let n=a.get(t);if(!n)continue;let r=o.relative(e,o.dirname(t)).replace(/\\/g,`/`);s[r||`.`]=n.content}return s}async function N(e,n){if(!n.discoverySnapshotPath||t().noCache)return null;if(n.discoverySnapshotLoaded)return n.discoverySnapshot;n.discoverySnapshotLoaded=!0;try{let t=await u.readFile(n.discoverySnapshotPath,`utf8`),r=JSON.parse(t),i=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`),a=r.files,s=r.directoryMetaFiles,c=r.directories&&typeof r.directories==`object`?Object.entries(r.directories):[],l=o.resolve(e),d=await u.realpath(l),f=e=>{let t=o.resolve(e);return t===l||t.startsWith(`${l}${o.sep}`)},p=e=>/\.(?:md|mdx)$/i.test(e),m=e=>{let t=o.basename(e);return t===`meta.json`||t===`_meta.json`};if(r.version!==1||!i(a)||!i(s)||!r.directories||typeof r.directories!=`object`||Array.isArray(r.directories)||a.some(e=>!f(e)||!p(e))||s.some(e=>!f(e)||!m(e))||c.some(([e,t])=>!f(e)||typeof t!=`number`||!Number.isFinite(t)))return null;let h=e=>{let t=o.resolve(e);return t===d||t.startsWith(`${d}${o.sep}`)},g=await Promise.all([...a,...s].map(async e=>{try{return(await u.lstat(e)).isFile()?h(await u.realpath(e)):!1}catch{return!1}})),_=await Promise.all(c.map(async([e,t])=>{try{let n=await u.stat(e);return n.isDirectory()&&n.mtimeMs===t&&h(await u.realpath(e))}catch{return!1}}));if(g.every(Boolean)&&_.every(Boolean)){let e={version:1,files:a,directoryMetaFiles:s,directories:Object.fromEntries(c)};return n.discoverySnapshot=e,e}}catch{}return null}async function P(e,n){if(t().noCache){e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1;return}e.discoverySnapshot=n,e.discoverySnapshotLoaded=!0;try{await u.mkdir(o.dirname(e.discoverySnapshotPath),{recursive:!0}),await u.writeFile(e.discoverySnapshotPath,JSON.stringify(n))}catch{}}async function F(e,t,n){if(!n){let n=await N(e,t);if(n)return n}let r=await new d({excludeSymlinks:!0}).withFullPaths().filter(t=>{let n=o.basename(t),r=n===`meta.json`||n===`_meta.json`;return!(t.endsWith(`.md`)||t.endsWith(`.mdx`))&&!r?!1:!o.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`&&e!==`_meta.json`)}).crawl(e).withPromise(),i=r.filter(e=>{let t=o.basename(e);return t===`meta.json`||t===`_meta.json`}).sort((e,t)=>e.localeCompare(t)),a=r.filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)),s=[/index\./i,/intro/i,/getting-started/i,/readme/i],c=a.map(e=>{let t=s.findIndex(t=>t.test(o.basename(e)));return{file:e,score:t===-1?2**53-1:t}});c.sort((e,t)=>e.score-t.score||e.file.localeCompare(t.file));let l=c.map(({file:e})=>e),f=[...l,...i],p=new Set([o.resolve(e)]);for(let t of f){let n=o.dirname(t);for(;n.startsWith(o.resolve(e))&&(p.add(n),n!==o.resolve(e));)n=o.dirname(n)}let m=await Promise.all([...p].sort().map(async e=>{try{return[e,(await u.stat(e)).mtimeMs]}catch{return null}})),h={version:1,files:l,directoryMetaFiles:i,directories:Object.fromEntries(m.filter(e=>e!==null))};return await P(t,h),h}async function I(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}function L(e,t){E(e,t)}function R(e,t){let n=typeof t==`string`?x(t):t;if(n){let t=e.replace(/\\/g,`/`);(o.basename(t)===`meta.json`||o.basename(t)===`_meta.json`)&&E(e,n),n.cachedNativeDocs?.[t]&&delete n.cachedNativeDocs[t],D(e,n);return}D(e)}function z(e){if(e){T(e);return}T()}async function B(e,r,i,a=!1,s,c){let l=s??x(e);if(l.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let u=y(r,i);if(c&&c.fingerprint!==u)throw Error(`[boltdocs] Route cache variant does not match the requested route configuration fingerprint.`);if(c&&l.variants.get(u)!==c)throw Error(`[boltdocs] Route cache variant does not belong to the requested route cache context.`);let d=l.activeGenerations.get(u);if(d)return d;let f=c??_(l,u),p=l.generationEpoch,m=(async()=>{let s=i||r?.base||`/docs`;await f.docCache.load();let c,u,d=await F(e,f,a||t().noCache);c=d.files.filter(t=>r?.experimental?.fileRouting?!o.relative(e,t).replace(/\\\\/g,`/`).split(`/`).includes(`pages-external`):!0),u=d.directoryMetaFiles,f.cachedFileList=c,f.cachedDirectoryMetaFiles=u,f.directoryMeta=await M(e,u,f),v(l,f),f.docCache.pruneStale(new Set(c));let m=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,h,g=!0;for(let e of c)if(!f.docCache.get(e)){g=!1;break}if(g)h=c.map(e=>{let t=f.docCache.get(e);if(!t)throw Error(`[boltdocs] Route cache entry disappeared for ${e}`);return t});else{if(!m&&!f.cachedNativeDocs)try{let{runParser:t}=await import(`@bdocs/parser`);f.cachedNativeDocs=await t(e,!0)}catch{}if(!m&&f.cachedNativeDocs!==null&&f.cachedNativeDocs){let{parseDocFileWithNative:t}=await import(`./native-Di9Fnfrv.mjs`).then(e=>e.t),n=c.filter(e=>!f.cachedNativeDocs?.[e.replace(/\\/g,`/`)]);if(n.length>0)try{let{runParserFiles:t}=await import(`@bdocs/parser`),r=await t(e,n,!0);f.cachedNativeDocs={...f.cachedNativeDocs,...r}}catch{}let i=c.some(e=>!f.cachedNativeDocs?.[e.replace(/\\/g,`/`)])?(await import(`./parser-CGMY2lJ7.mjs`)).parseDocFile:void 0;h=await I(c,32,async n=>{let a=f.docCache.get(n);if(a)return a;let o=n.replace(/\\/g,`/`),c=f.cachedNativeDocs[o];if(c){let i=await t(n,c,e,s,r,f.parserCache);return f.docCache.set(n,i),i}else{if(!i)throw Error(`[boltdocs] Native parser did not return a document for ${n}`);let t=await i(n,e,s,r,f.parserCache);return f.docCache.set(n,t),t}})}else{let{parseDocFile:t}=await import(`./parser-CGMY2lJ7.mjs`);h=await I(c,32,async n=>{let i=f.docCache.get(n);if(i)return i;let a=await t(n,e,s,r,f.parserCache);return f.docCache.set(n,a),a})}}if(l.generationEpoch!==p)throw j;f.docCache.save();let _=[],y=new Map,b=process.env.NODE_ENV||`development`,x=r?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(r?.drafts?.environments?.includes(b)??!1);for(let e of h)if(!(e.route.draft&&!x)){if(e.route.featureFlags&&r?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=r.featureFlags?.[e];return t===!0||t===b}))continue}else if(e.route.featureFlags&&!r?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;y.has(t)||y.set(t,[]),y.get(t).push(e)}else _.push(e)}let S=new Map,C=[],w=r?.i18n?.defaultLocale||``;for(let e of _)if(e.isGroupIndex&&e.relativeDir&&C.push(e),e.relativeDir){let t=`${e.route.locale||w}:${e.relativeDir}`,r=S.get(t);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:n(e.relativeDir),position:e.inferredGroupPosition},S.set(t,r))}for(let e of C){let t=`${e.route.locale||w}:${e.relativeDir}`,n=S.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(r?.theme?.sidebarGroups){let e=r.i18n?Object.keys(r.i18n.locales):[w];for(let[t,i]of Object.entries(r.theme.sidebarGroups))for(let r of e){let e=`${r}:${t}`,a=S.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[r]||i.title[w]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):S.set(e,{title:o||n(t),icon:i.icon})}}let T=Array(_.length);for(let e=0;e<_.length;e++){let t=_[e],r=t.relativeDir,i=t.route.locale||w,a=r?`${i}:${r}`:void 0,o=a?S.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[w]),T[e]={...t.route,group:r,groupTitle:s||(r?n(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let E=[];for(let[,e]of y)for(let t of e)E.push({...t.route,collection:t.inferredCollection});E.sort((e,t)=>{let n=e=>{if(!e)return-1/0;let t=new Date(e).getTime();return Number.isFinite(t)?t:-1/0},r=n(e.date),i=n(t.date)-r;return i===0?e.path.localeCompare(t.path):i});let D=T;if(r?.i18n){let e=V(T,r,s,f.localizedPathCache);D=[...T,...e]}let k=[...O(D),...E];if(l.generationEpoch!==p)throw j;return k})();l.activeGenerations.set(u,m);try{return await m}catch(t){if(t!==j)throw t;if(l.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);f.docCache.invalidateAll(),f.parserCache.clear(),l.activeGenerations.get(u)===m&&l.activeGenerations.delete(u);let n=0;for(;n<10;)try{return await B(e,r,i,a,l)}catch(e){if(e!==j)throw e;if(l.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);n++}throw Error(`[boltdocs] Route generation was repeatedly invalidated by concurrent file changes.`)}finally{l.activeGenerations.get(u)===m&&l.activeGenerations.delete(u)}}function V(e,t,n,r){let i=t.i18n.defaultLocale,a=Object.keys(t.i18n.locales),o=[],s=new Map,c=[];for(let t of e){let e=t.locale||i;s.has(e)||s.set(e,new Set),s.get(e).add(t.path),e===i&&c.push(t)}for(let e of a){if(e===i)continue;let a=s.get(e)||new Set;for(let s of c){let c=H(s.path,i,e,n,t,r);c!==s.path&&(a.has(c)||o.push({...s,path:c,locale:e}))}}return o}function H(e,t,n,r,i,a){let o=`${e}:${n}`,s=a.get(o);if(s)return s;let c=r.startsWith(`/`)?r:`/`+r,l=c;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${c}/${t+n.path}`;if(e.startsWith(r)){l=r;break}let i=`${c}/${n.path}`;if(e.startsWith(i)){l=i;break}}}let u=e.substring(l.length),d=`/${t}`;if(u.startsWith(d+`/`))u=`/`+n+`/`+u.substring(d.length+1);else if(u===d)u=`/`+n;else if(u===`/`||u===``)u=`/`+n;else{let e=u.startsWith(`/`)?``:`/`;u=`/`+n+e+u}let f=l+u;return a.size>2e3&&a.clear(),a.set(o,f),f}export{b as a,_ as c,A as i,y as l,R as n,C as o,z as r,x as s,B as t,E as u};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
+
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
const e=require(`./pages-external-DPiPFxxP.cjs`),t=require(`./routes-U9L8psZ9.cjs`);exports.generateRoutes=t.t,exports.getExternalRoutePaths=e.n,exports.invalidateDirectoryMetaFile=t.n,exports.invalidateFile=t.r,exports.invalidateRouteCache=t.i;
|
|
@@ -0,0 +1,6 @@
|
|
|
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-ej6_SjIZ.cjs`),n=require(`./node/cache.cjs`),r=require(`./cache-CJE9nWLE.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`node:crypto`);o=e.r(o);let s=require(`@bdocs/dui`),c=require(`node:fs/promises`);c=e.r(c);let l=require(`fdir`);function u(e){return i.default.resolve(e)}function d(e,t){return o.default.createHash(`sha1`).update(`${u(e)}:${t}`).digest(`hex`).slice(0,16)}function f(e,a,o){let s=d(e,o),c=t.o();return{fingerprint:o,docCache:new n.FileCache({name:`routes-${s}`,root:a}),parserCache:new r.t(a,s),cachedFileList:null,localizedPathCache:new Map,cachedNativeDocs:null,frontmatterHashes:new Map,directoryMeta:null,cachedDirectoryMetaFiles:null,directoryMetaEntries:new Map,discoverySnapshot:null,discoverySnapshotLoaded:!1,discoverySnapshotPath:i.default.resolve(a,c.dir,`route-discovery-${s}.json`)}}function p(e,t=i.default.dirname(i.default.resolve(e))){let n=u(e),r=i.default.resolve(t),a=f(n,r,`legacy`);return{docsDir:n,cacheRoot:r,docCache:a.docCache,parserCache:a.parserCache,cachedFileList:a.cachedFileList,localizedPathCache:a.localizedPathCache,cachedNativeDocs:a.cachedNativeDocs,frontmatterHashes:a.frontmatterHashes,directoryMeta:a.directoryMeta,cachedDirectoryMetaFiles:a.cachedDirectoryMetaFiles,variants:new Map([[`legacy`,a]]),activeVariant:a,activeGenerations:new Map,generationEpoch:0,disposed:!1}}const m=new Map;function h(e,t,n=!1){if(e.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let r=e.variants.get(t);if(!r&&(r=f(e.docsDir,e.cacheRoot,t),e.variants.set(t,r),e.variants.size>8)){for(let[n,r]of e.variants)if(!(n===t||r===e.activeVariant)&&!e.activeGenerations.has(n)){e.variants.delete(n);break}}return n&&(e.activeVariant=r,e.docCache=r.docCache,e.parserCache=r.parserCache,e.cachedFileList=r.cachedFileList,e.localizedPathCache=r.localizedPathCache,e.cachedNativeDocs=r.cachedNativeDocs,e.frontmatterHashes=r.frontmatterHashes,e.directoryMeta=r.directoryMeta,e.cachedDirectoryMetaFiles=r.cachedDirectoryMetaFiles),r}function g(e,t){e.activeVariant===t&&(e.cachedFileList=t.cachedFileList,e.cachedNativeDocs=t.cachedNativeDocs,e.frontmatterHashes=t.frontmatterHashes,e.directoryMeta=t.directoryMeta,e.cachedDirectoryMetaFiles=t.cachedDirectoryMetaFiles)}function _(e,t){return o.default.createHash(`sha1`).update(JSON.stringify({basePath:t||e?.base||`/docs`,i18n:e?.i18n,versions:e?.versions,drafts:e?.drafts,featureFlags:e?.featureFlags,sidebarGroups:e?.theme?.sidebarGroups})).digest(`hex`)}function v(e,t){let n=u(e),r=m.get(n),i=t??r;(!i||r===i)&&m.delete(n),i&&(i.disposed=!0,i.generationEpoch++,i.activeGenerations.clear(),i.variants.clear(),i.activeVariant=null,i.cachedFileList=null,i.localizedPathCache.clear(),i.cachedNativeDocs=null,i.frontmatterHashes.clear(),i.directoryMeta=null,i.cachedDirectoryMetaFiles=null)}function y(e){let t=u(e),n=m.get(t);return n||(n=p(t),m.set(t,n)),n}const b=p(i.default.resolve(process.cwd(),`docs`)),x=b.docCache;function S(e){try{a.default.rmSync(e.discoverySnapshotPath,{force:!0})}catch{}}function C(e){let t=typeof e==`string`?y(e):e??b;for(let e of t.variants.values())e.cachedFileList=null,e.localizedPathCache.clear(),e.cachedNativeDocs=null,e.frontmatterHashes.clear(),e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,S(e),e.docCache.invalidateAll(),e.parserCache.clear();t.cachedFileList=null,t.localizedPathCache.clear(),t.cachedNativeDocs=null,t.frontmatterHashes.clear(),t.directoryMeta=null,t.cachedDirectoryMetaFiles=null,t.generationEpoch++}function w(e,t){let n=typeof t==`string`?y(t):t??b,r=i.default.resolve(e);for(let e of n.variants.values()){for(let t of e.directoryMetaEntries.keys())i.default.resolve(t)===r&&e.directoryMetaEntries.delete(t);e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,S(e)}n.directoryMeta=null,n.cachedDirectoryMetaFiles=null,n.generationEpoch++}function T(e,t){let n=typeof t==`string`?y(t):t??b;for(let t of n.variants.values())t.docCache.invalidate(e),t.parserCache.invalidate(e),t.cachedNativeDocs?.[e.replace(/\\/g,`/`)]&&delete t.cachedNativeDocs[e.replace(/\\/g,`/`)],t.frontmatterHashes.delete(e);n.cachedNativeDocs=n.activeVariant?.cachedNativeDocs??null,n.frontmatterHashes.delete(e),n.generationEpoch++}function E(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){if(e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0){let n=e.sidebarPosition-t.sidebarPosition;if(n!==0)return n}else if(e.sidebarPosition!==void 0)return-1;else if(t.sidebarPosition!==void 0)return 1;let n=e.title.localeCompare(t.title);return n===0?e.path.localeCompare(t.path):n}const O=Symbol(`route-generation-invalidated`);async function k(e,t,n){let r=[...t].sort((e,t)=>{if(i.default.dirname(e)===i.default.dirname(t)){let n=i.default.basename(e),r=i.default.basename(t);if(n===`_meta.json`&&r===`meta.json`)return-1;if(n===`meta.json`&&r===`_meta.json`)return 1}return e.localeCompare(t)}),a=new Set(r),o=n.directoryMetaEntries;for(let e of o.keys())a.has(e)||o.delete(e);await Promise.all(r.map(async e=>{let t;try{t=await c.default.stat(e)}catch(t){o.delete(e),(0,s.warn)(`Failed to stat meta.json: ${t instanceof Error?t.message:String(t)}`);return}let n=o.get(e);if(!(n&&n.mtimeMs===t.mtimeMs&&n.size===t.size))try{let n=await c.default.readFile(e,`utf8`);o.set(e,{mtimeMs:t.mtimeMs,size:t.size,content:JSON.parse(n)})}catch(t){o.delete(e),(0,s.warn)(`Failed to read meta.json: ${t instanceof Error?t.message:String(t)}`)}}));let l={};for(let t of r){let n=o.get(t);if(!n)continue;let r=i.default.relative(e,i.default.dirname(t)).replace(/\\/g,`/`);l[r||`.`]=n.content}return l}async function A(e,n){if(!n.discoverySnapshotPath||t.o().noCache)return null;if(n.discoverySnapshotLoaded)return n.discoverySnapshot;n.discoverySnapshotLoaded=!0;try{let t=await c.default.readFile(n.discoverySnapshotPath,`utf8`),r=JSON.parse(t),a=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`),o=r.files,s=r.directoryMetaFiles,l=r.directories&&typeof r.directories==`object`?Object.entries(r.directories):[],u=i.default.resolve(e),d=await c.default.realpath(u),f=e=>{let t=i.default.resolve(e);return t===u||t.startsWith(`${u}${i.default.sep}`)},p=e=>/\.(?:md|mdx)$/i.test(e),m=e=>{let t=i.default.basename(e);return t===`meta.json`||t===`_meta.json`};if(r.version!==1||!a(o)||!a(s)||!r.directories||typeof r.directories!=`object`||Array.isArray(r.directories)||o.some(e=>!f(e)||!p(e))||s.some(e=>!f(e)||!m(e))||l.some(([e,t])=>!f(e)||typeof t!=`number`||!Number.isFinite(t)))return null;let h=e=>{let t=i.default.resolve(e);return t===d||t.startsWith(`${d}${i.default.sep}`)},g=await Promise.all([...o,...s].map(async e=>{try{return(await c.default.lstat(e)).isFile()?h(await c.default.realpath(e)):!1}catch{return!1}})),_=await Promise.all(l.map(async([e,t])=>{try{let n=await c.default.stat(e);return n.isDirectory()&&n.mtimeMs===t&&h(await c.default.realpath(e))}catch{return!1}}));if(g.every(Boolean)&&_.every(Boolean)){let e={version:1,files:o,directoryMetaFiles:s,directories:Object.fromEntries(l)};return n.discoverySnapshot=e,e}}catch{}return null}async function j(e,n){if(t.o().noCache){e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1;return}e.discoverySnapshot=n,e.discoverySnapshotLoaded=!0;try{await c.default.mkdir(i.default.dirname(e.discoverySnapshotPath),{recursive:!0}),await c.default.writeFile(e.discoverySnapshotPath,JSON.stringify(n))}catch{}}async function M(e,t,n){if(!n){let n=await A(e,t);if(n)return n}let r=await new l.fdir({excludeSymlinks:!0}).withFullPaths().filter(t=>{let n=i.default.basename(t),r=n===`meta.json`||n===`_meta.json`;return!(t.endsWith(`.md`)||t.endsWith(`.mdx`))&&!r?!1:!i.default.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`&&e!==`_meta.json`)}).crawl(e).withPromise(),a=r.filter(e=>{let t=i.default.basename(e);return t===`meta.json`||t===`_meta.json`}).sort((e,t)=>e.localeCompare(t)),o=r.filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)),s=[/index\./i,/intro/i,/getting-started/i,/readme/i],u=o.map(e=>{let t=s.findIndex(t=>t.test(i.default.basename(e)));return{file:e,score:t===-1?2**53-1:t}});u.sort((e,t)=>e.score-t.score||e.file.localeCompare(t.file));let d=u.map(({file:e})=>e),f=[...d,...a],p=new Set([i.default.resolve(e)]);for(let t of f){let n=i.default.dirname(t);for(;n.startsWith(i.default.resolve(e))&&(p.add(n),n!==i.default.resolve(e));)n=i.default.dirname(n)}let m=await Promise.all([...p].sort().map(async e=>{try{return[e,(await c.default.stat(e)).mtimeMs]}catch{return null}})),h={version:1,files:d,directoryMetaFiles:a,directories:Object.fromEntries(m.filter(e=>e!==null))};return await j(t,h),h}async function N(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}function P(e,t){w(e,t)}function F(e,t){let n=typeof t==`string`?y(t):t;if(n){let t=e.replace(/\\/g,`/`);(i.default.basename(t)===`meta.json`||i.default.basename(t)===`_meta.json`)&&w(e,n),n.cachedNativeDocs?.[t]&&delete n.cachedNativeDocs[t],T(e,n);return}T(e)}function I(e){if(e){C(e);return}C()}async function L(e,n,r,a=!1,o,s){let c=o??y(e);if(c.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let l=_(n,r);if(s&&s.fingerprint!==l)throw Error(`[boltdocs] Route cache variant does not match the requested route configuration fingerprint.`);if(s&&c.variants.get(l)!==s)throw Error(`[boltdocs] Route cache variant does not belong to the requested route cache context.`);let u=c.activeGenerations.get(l);if(u)return u;let d=s??h(c,l),f=c.generationEpoch,p=(async()=>{let o=r||n?.base||`/docs`;await d.docCache.load();let s,l,u=await M(e,d,a||t.o().noCache);s=u.files.filter(t=>n?.experimental?.fileRouting?!i.default.relative(e,t).replace(/\\\\/g,`/`).split(`/`).includes(`pages-external`):!0),l=u.directoryMetaFiles,d.cachedFileList=s,d.cachedDirectoryMetaFiles=l,d.directoryMeta=await k(e,l,d),g(c,d),d.docCache.pruneStale(new Set(s));let p=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,m,h=!0;for(let e of s)if(!d.docCache.get(e)){h=!1;break}if(h)m=s.map(e=>{let t=d.docCache.get(e);if(!t)throw Error(`[boltdocs] Route cache entry disappeared for ${e}`);return t});else{if(!p&&!d.cachedNativeDocs)try{let{runParser:t}=await import(`@bdocs/parser`);d.cachedNativeDocs=await t(e,!0)}catch{}if(!p&&d.cachedNativeDocs!==null&&d.cachedNativeDocs){let{parseDocFileWithNative:t}=await Promise.resolve().then(()=>require(`./native-Kre2T5eS.cjs`)),r=s.filter(e=>!d.cachedNativeDocs?.[e.replace(/\\/g,`/`)]);if(r.length>0)try{let{runParserFiles:t}=await import(`@bdocs/parser`),n=await t(e,r,!0);d.cachedNativeDocs={...d.cachedNativeDocs,...n}}catch{}let i=s.some(e=>!d.cachedNativeDocs?.[e.replace(/\\/g,`/`)])?(await Promise.resolve().then(()=>require(`./parser-BqTOsEUa.cjs`))).parseDocFile:void 0;m=await N(s,32,async r=>{let a=d.docCache.get(r);if(a)return a;let s=r.replace(/\\/g,`/`),c=d.cachedNativeDocs[s];if(c){let i=await t(r,c,e,o,n,d.parserCache);return d.docCache.set(r,i),i}else{if(!i)throw Error(`[boltdocs] Native parser did not return a document for ${r}`);let t=await i(r,e,o,n,d.parserCache);return d.docCache.set(r,t),t}})}else{let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-BqTOsEUa.cjs`));m=await N(s,32,async r=>{let i=d.docCache.get(r);if(i)return i;let a=await t(r,e,o,n,d.parserCache);return d.docCache.set(r,a),a})}}if(c.generationEpoch!==f)throw O;d.docCache.save();let _=[],v=new Map,y=process.env.NODE_ENV||`development`,b=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(y)??!1);for(let e of m)if(!(e.route.draft&&!b)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===y}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;v.has(t)||v.set(t,[]),v.get(t).push(e)}else _.push(e)}let x=new Map,S=[],C=n?.i18n?.defaultLocale||``;for(let e of _)if(e.isGroupIndex&&e.relativeDir&&S.push(e),e.relativeDir){let n=`${e.route.locale||C}:${e.relativeDir}`,r=x.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},x.set(n,r))}for(let e of S){let t=`${e.route.locale||C}:${e.relativeDir}`,n=x.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):[C];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=x.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[C]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):x.set(e,{title:o||t.t(r),icon:i.icon})}}let w=Array(_.length);for(let e=0;e<_.length;e++){let n=_[e],r=n.relativeDir,i=n.route.locale||C,a=r?`${i}:${r}`:void 0,o=a?x.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[C]),w[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let T=[];for(let[,e]of v)for(let t of e)T.push({...t.route,collection:t.inferredCollection});T.sort((e,t)=>{let n=e=>{if(!e)return-1/0;let t=new Date(e).getTime();return Number.isFinite(t)?t:-1/0},r=n(e.date),i=n(t.date)-r;return i===0?e.path.localeCompare(t.path):i});let D=w;if(n?.i18n){let e=R(w,n,o,d.localizedPathCache);D=[...w,...e]}let A=[...E(D),...T];if(c.generationEpoch!==f)throw O;return A})();c.activeGenerations.set(l,p);try{return await p}catch(t){if(t!==O)throw t;if(c.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);d.docCache.invalidateAll(),d.parserCache.clear(),c.activeGenerations.get(l)===p&&c.activeGenerations.delete(l);let i=0;for(;i<10;)try{return await L(e,n,r,a,c)}catch(e){if(e!==O)throw e;if(c.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);i++}throw Error(`[boltdocs] Route generation was repeatedly invalidated by concurrent file changes.`)}finally{c.activeGenerations.get(l)===p&&c.activeGenerations.delete(l)}}function R(e,t,n,r){let i=t.i18n.defaultLocale,a=Object.keys(t.i18n.locales),o=[],s=new Map,c=[];for(let t of e){let e=t.locale||i;s.has(e)||s.set(e,new Set),s.get(e).add(t.path),e===i&&c.push(t)}for(let e of a){if(e===i)continue;let a=s.get(e)||new Set;for(let s of c){let c=z(s.path,i,e,n,t,r);c!==s.path&&(a.has(c)||o.push({...s,path:c,locale:e}))}}return o}function z(e,t,n,r,i,a){let o=`${e}:${n}`,s=a.get(o);if(s)return s;let c=r.startsWith(`/`)?r:`/`+r,l=c;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${c}/${t+n.path}`;if(e.startsWith(r)){l=r;break}let i=`${c}/${n.path}`;if(e.startsWith(i)){l=i;break}}}let u=e.substring(l.length),d=`/${t}`;if(u.startsWith(d+`/`))u=`/`+n+`/`+u.substring(d.length+1);else if(u===d)u=`/`+n;else if(u===`/`||u===``)u=`/`+n;else{let e=u.startsWith(`/`)?``:`/`;u=`/`+n+e+u}let f=l+u;return a.size>2e3&&a.clear(),a.set(o,f),f}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return w}});
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { D as Hash, E as FileText, F as Moon, I as MoreVertical, S as ExternalLink, V as X, W as useConfig, d as resolvePublicAssetUrl, o as cn, s as useLocalizedTo, t as Link, x as CornerDownLeft, z as Sun } from "./link-CgdI6O2o.js";
|
|
7
|
+
import { E as useLocation } from "./router-CZBxMRAH.js";
|
|
7
8
|
import { Component, useEffect, useState } from "react";
|
|
8
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
9
10
|
import * as RAC from "react-aria-components";
|
|
10
11
|
import { Button, Dialog, Modal, ModalOverlay, Separator, ToggleButton } from "react-aria-components";
|
|
11
12
|
|
|
@@ -55,20 +56,20 @@ var ErrorBoundary = class extends Component {
|
|
|
55
56
|
return children;
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
|
-
function ErrorBoundaryFallback({ error, resetErrorBoundary }) {
|
|
59
|
+
function ErrorBoundaryFallback({ error, resetErrorBoundary, className, titleClassName, messageClassName, buttonClassName }) {
|
|
59
60
|
return /* @__PURE__ */ jsxs("div", {
|
|
60
|
-
className: "flex flex-col items-center justify-center min-h-[40vh] text-center gap-4 px-6 py-8 border border-subtle bg-surface rounded-2xl max-w-lg mx-auto shadow-xs",
|
|
61
|
+
className: cn("flex flex-col items-center justify-center min-h-[40vh] text-center gap-4 px-6 py-8 border border-subtle bg-surface rounded-2xl max-w-lg mx-auto shadow-xs", className),
|
|
61
62
|
children: [
|
|
62
63
|
/* @__PURE__ */ jsx("div", {
|
|
63
|
-
className: "text-lg font-bold text-
|
|
64
|
+
className: cn("text-lg font-bold text-danger-500", titleClassName),
|
|
64
65
|
children: "Something went wrong"
|
|
65
66
|
}),
|
|
66
67
|
/* @__PURE__ */ jsx("p", {
|
|
67
|
-
className: "text-sm text-muted max-w-sm leading-relaxed",
|
|
68
|
+
className: cn("text-sm text-muted max-w-sm leading-relaxed", messageClassName),
|
|
68
69
|
children: error?.message || "An unexpected error occurred while rendering this page."
|
|
69
70
|
}),
|
|
70
71
|
/* @__PURE__ */ jsx(Button$1, {
|
|
71
|
-
className: "rounded-xl border border-subtle bg-main px-6 py-2.5 text-xs font-semibold text-body hover:bg-primary-50/50 hover:border-primary-500/50 transition-all duration-300 cursor-pointer outline-none select-none",
|
|
72
|
+
className: cn("rounded-xl border border-subtle bg-main px-6 py-2.5 text-xs font-semibold text-body hover:bg-primary-50/50 hover:border-primary-500/50 transition-all duration-300 cursor-pointer outline-none select-none", buttonClassName),
|
|
72
73
|
onPress: resetErrorBoundary,
|
|
73
74
|
children: "Try again"
|
|
74
75
|
})
|
|
@@ -119,20 +120,20 @@ const Bluesky = (props) => /* @__PURE__ */ jsxs("svg", {
|
|
|
119
120
|
//#region src/client/components/primitives/navbar.tsx
|
|
120
121
|
function Navbar({ children, className, ...props }) {
|
|
121
122
|
return /* @__PURE__ */ jsx("header", {
|
|
122
|
-
className: cn("boltdocs-navbar sticky top-0 z-50
|
|
123
|
+
className: cn("boltdocs-navbar sticky top-0 z-50", className),
|
|
123
124
|
...props,
|
|
124
125
|
children
|
|
125
126
|
});
|
|
126
127
|
}
|
|
127
128
|
function NavbarContent({ children, className }) {
|
|
128
129
|
return /* @__PURE__ */ jsx("div", {
|
|
129
|
-
className: cn("mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center
|
|
130
|
+
className: cn("mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center px-4 md:px-6", className),
|
|
130
131
|
children
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
134
|
function NavbarLeft({ children, className }) {
|
|
134
135
|
return /* @__PURE__ */ jsx("div", {
|
|
135
|
-
className: cn("flex flex-1 items-center
|
|
136
|
+
className: cn("flex flex-1 items-center gap-4 min-w-0", className),
|
|
136
137
|
children
|
|
137
138
|
});
|
|
138
139
|
}
|
|
@@ -144,27 +145,29 @@ function NavbarRight({ children, className }) {
|
|
|
144
145
|
}
|
|
145
146
|
function NavbarCenter({ children, className }) {
|
|
146
147
|
return /* @__PURE__ */ jsx("div", {
|
|
147
|
-
className: cn("hidden lg:flex flex-1 justify-center items-center gap-4 px-4 min-w-0
|
|
148
|
+
className: cn("hidden lg:flex flex-1 justify-center items-center gap-4 px-4 min-w-0", className),
|
|
148
149
|
children
|
|
149
150
|
});
|
|
150
151
|
}
|
|
151
|
-
function NavbarLogo({ src, alt, width = 24, height = 24, className, href = "/" }) {
|
|
152
|
+
function NavbarLogo({ src, alt, width = 24, height = 24, className, logoClassName, href = "/" }) {
|
|
153
|
+
const config = useConfig();
|
|
152
154
|
return /* @__PURE__ */ jsx(Link, {
|
|
153
155
|
href,
|
|
154
156
|
className: cn("flex items-center gap-2 shrink-0 outline-none", className),
|
|
155
157
|
children: src ? /* @__PURE__ */ jsx("img", {
|
|
156
|
-
src,
|
|
158
|
+
src: resolvePublicAssetUrl(src, config.base),
|
|
157
159
|
alt,
|
|
158
160
|
width,
|
|
159
161
|
height,
|
|
160
162
|
fetchPriority: "high",
|
|
161
|
-
className: "h-6 w-6 object-contain"
|
|
163
|
+
className: cn("h-6 w-6 object-contain", logoClassName)
|
|
162
164
|
}) : null
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
|
-
function NavbarTitle({ children, className, href = "/" }) {
|
|
167
|
+
function NavbarTitle({ children, className, linkClassName, href = "/" }) {
|
|
166
168
|
return /* @__PURE__ */ jsx(Link, {
|
|
167
169
|
href,
|
|
170
|
+
className: cn(linkClassName),
|
|
168
171
|
children: /* @__PURE__ */ jsx("span", {
|
|
169
172
|
className: cn("text-lg font-bold tracking-tight hidden sm:inline-block", className),
|
|
170
173
|
children
|
|
@@ -177,45 +180,50 @@ function NavbarLinks({ children, className }) {
|
|
|
177
180
|
children
|
|
178
181
|
});
|
|
179
182
|
}
|
|
180
|
-
function NavbarLink({ label, href, to, className }) {
|
|
183
|
+
function NavbarLink({ label, href, to, className, iconClassName }) {
|
|
181
184
|
return /* @__PURE__ */ jsxs(Link, {
|
|
182
185
|
href,
|
|
183
186
|
target: to === "external" ? "_blank" : void 0,
|
|
184
187
|
className: cn("transition-all outline-none", className),
|
|
185
188
|
children: [label, to === "external" && /* @__PURE__ */ jsx("span", {
|
|
186
|
-
className: "ml-1 inline-block",
|
|
189
|
+
className: cn("ml-1 inline-block", iconClassName),
|
|
187
190
|
children: /* @__PURE__ */ jsx(ExternalLink, { size: 12 })
|
|
188
191
|
})]
|
|
189
192
|
});
|
|
190
193
|
}
|
|
191
|
-
function NavbarDropdown({ label, className, children }) {
|
|
192
|
-
const [
|
|
194
|
+
function NavbarDropdown({ label, className, triggerClassName, iconClassName, panelClassName, menuClassName, icon, open, onOpenChange, children }) {
|
|
195
|
+
const [internalOpen, setInternalOpen] = useState(false);
|
|
196
|
+
const isOpen = open ?? internalOpen;
|
|
197
|
+
const setOpen = (next) => {
|
|
198
|
+
setInternalOpen(next);
|
|
199
|
+
onOpenChange?.(next);
|
|
200
|
+
};
|
|
193
201
|
return /* @__PURE__ */ jsxs("div", {
|
|
194
202
|
className: cn("relative", className),
|
|
195
|
-
onMouseEnter: () =>
|
|
196
|
-
|
|
197
|
-
},
|
|
198
|
-
onMouseLeave: () => {
|
|
199
|
-
setIsOpen(false);
|
|
200
|
-
},
|
|
203
|
+
onMouseEnter: () => setOpen(true),
|
|
204
|
+
onMouseLeave: () => setOpen(false),
|
|
201
205
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
202
|
-
className: cn("flex items-center gap-1 outline-none
|
|
203
|
-
children: [label, /* @__PURE__ */ jsx("
|
|
204
|
-
className: cn("
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
206
|
+
className: cn("flex items-center gap-1 outline-none select-none cursor-pointer", triggerClassName),
|
|
207
|
+
children: [label, /* @__PURE__ */ jsx("span", {
|
|
208
|
+
className: cn("shrink-0", iconClassName),
|
|
209
|
+
children: icon ?? /* @__PURE__ */ jsx("svg", {
|
|
210
|
+
className: cn("size-6 transition-transform", isOpen && "rotate-180"),
|
|
211
|
+
fill: "none",
|
|
212
|
+
viewBox: "0 0 24 24",
|
|
213
|
+
stroke: "currentColor",
|
|
214
|
+
"aria-hidden": "true",
|
|
215
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
216
|
+
strokeLinecap: "round",
|
|
217
|
+
strokeLinejoin: "round",
|
|
218
|
+
strokeWidth: 2,
|
|
219
|
+
d: "M19 9l-7 7-7-7"
|
|
220
|
+
})
|
|
213
221
|
})
|
|
214
222
|
})]
|
|
215
223
|
}), isOpen && /* @__PURE__ */ jsx("div", {
|
|
216
|
-
className: "absolute top-full left-0 pt-1 z-
|
|
224
|
+
className: cn("absolute top-full left-0 pt-1 z-9999", panelClassName),
|
|
217
225
|
children: /* @__PURE__ */ jsx("div", {
|
|
218
|
-
className: "min-w-[180px] p-1 bg-surface border border-subtle rounded-md shadow-lg",
|
|
226
|
+
className: cn("min-w-[180px] p-1 bg-surface border border-subtle rounded-md shadow-lg", menuClassName),
|
|
219
227
|
children
|
|
220
228
|
})
|
|
221
229
|
})]
|
|
@@ -243,7 +251,7 @@ function NavbarSearchTriggerMobile({ className, onPress, children }) {
|
|
|
243
251
|
children
|
|
244
252
|
});
|
|
245
253
|
}
|
|
246
|
-
function NavbarSearchTriggerKbd({ className }) {
|
|
254
|
+
function NavbarSearchTriggerKbd({ className, kbdClassName }) {
|
|
247
255
|
const [mounted, setMounted] = useState(false);
|
|
248
256
|
const isMac = mounted && /Mac|iPod|iPhone|iPad/.test(navigator.platform);
|
|
249
257
|
useEffect(() => {
|
|
@@ -252,10 +260,10 @@ function NavbarSearchTriggerKbd({ className }) {
|
|
|
252
260
|
return /* @__PURE__ */ jsxs("div", {
|
|
253
261
|
className: cn("hidden sm:flex items-center gap-1 pointer-events-none select-none", className),
|
|
254
262
|
children: [/* @__PURE__ */ jsx("kbd", {
|
|
255
|
-
className: "flex items-center justify-center font-mono text-[10px]",
|
|
263
|
+
className: cn("flex items-center justify-center font-mono text-[10px]", kbdClassName),
|
|
256
264
|
children: isMac ? "⌘" : "Ctrl"
|
|
257
265
|
}), /* @__PURE__ */ jsx("kbd", {
|
|
258
|
-
className: "flex items-center justify-center font-mono text-[10px]",
|
|
266
|
+
className: cn("flex items-center justify-center font-mono text-[10px]", kbdClassName),
|
|
259
267
|
children: "K"
|
|
260
268
|
})]
|
|
261
269
|
});
|
|
@@ -303,26 +311,26 @@ function NavbarMore({ onPress, className }) {
|
|
|
303
311
|
children: /* @__PURE__ */ jsx(MoreVertical, { size: 20 })
|
|
304
312
|
});
|
|
305
313
|
}
|
|
306
|
-
function NavbarMobileMenu({ isOpen, onClose, children, className }) {
|
|
314
|
+
function NavbarMobileMenu({ isOpen, onClose, children, className, overlayClassName, modalClassName, dialogClassName, closeRowClassName, closeButtonClassName, navClassName }) {
|
|
307
315
|
return /* @__PURE__ */ jsx(ModalOverlay, {
|
|
308
316
|
isOpen,
|
|
309
317
|
onOpenChange: (open) => !open && onClose(),
|
|
310
318
|
isDismissable: true,
|
|
311
|
-
className: cn("fixed inset-0 z-60 md:hidden transition-all duration-100", className),
|
|
319
|
+
className: cn("fixed inset-0 z-60 md:hidden transition-all duration-100", className, overlayClassName),
|
|
312
320
|
children: /* @__PURE__ */ jsx(Modal, {
|
|
313
|
-
className: "fixed inset-0 outline-none",
|
|
321
|
+
className: cn("fixed inset-0 outline-none", modalClassName),
|
|
314
322
|
children: /* @__PURE__ */ jsxs(Dialog, {
|
|
315
|
-
className: "relative h-full outline-none flex flex-col p-6 pt-[calc(1.5rem+env(safe-area-inset-top,0px))] pb-[calc(1.5rem+env(safe-area-inset-bottom,0px))] px-[calc(1.5rem+env(safe-area-inset-left,0px))]",
|
|
323
|
+
className: cn("relative h-full outline-none flex flex-col p-6 pt-[calc(1.5rem+env(safe-area-inset-top,0px))] pb-[calc(1.5rem+env(safe-area-inset-bottom,0px))] px-[calc(1.5rem+env(safe-area-inset-left,0px))]", dialogClassName),
|
|
316
324
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
317
|
-
className: "flex items-center justify-between mb-6",
|
|
325
|
+
className: cn("flex items-center justify-between mb-6", closeRowClassName),
|
|
318
326
|
children: [/* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx(Button, {
|
|
319
327
|
onPress: onClose,
|
|
320
|
-
className: "flex items-center justify-center outline-none cursor-pointer text-muted hover:text-body transition-colors",
|
|
328
|
+
className: cn("flex items-center justify-center outline-none cursor-pointer text-muted hover:text-body transition-colors", closeButtonClassName),
|
|
321
329
|
"aria-label": "Close menu",
|
|
322
330
|
children: /* @__PURE__ */ jsx(X, { size: 24 })
|
|
323
331
|
})]
|
|
324
332
|
}), /* @__PURE__ */ jsx("nav", {
|
|
325
|
-
className: "flex-1 overflow-y-auto flex flex-col gap-4",
|
|
333
|
+
className: cn("flex-1 overflow-y-auto flex flex-col gap-4", navClassName),
|
|
326
334
|
children
|
|
327
335
|
})]
|
|
328
336
|
})
|
|
@@ -338,6 +346,45 @@ function NavbarMobileLink({ label, href, to, onPress, className }) {
|
|
|
338
346
|
children: label
|
|
339
347
|
});
|
|
340
348
|
}
|
|
349
|
+
function NavbarMobileLinkItem({ link, onClose, depth = 0, className, groupClassName, labelClassName, listClassName, renderItem }) {
|
|
350
|
+
const localizedHref = useLocalizedTo(link.href || "");
|
|
351
|
+
const { pathname } = useLocation();
|
|
352
|
+
const active = pathname === localizedHref;
|
|
353
|
+
const hasItems = link.items && link.items.length > 0;
|
|
354
|
+
const custom = renderItem?.({
|
|
355
|
+
link,
|
|
356
|
+
active,
|
|
357
|
+
depth,
|
|
358
|
+
localizedHref,
|
|
359
|
+
onClose
|
|
360
|
+
});
|
|
361
|
+
if (custom !== void 0 && custom !== null) return /* @__PURE__ */ jsx(Fragment$1, { children: custom });
|
|
362
|
+
if (hasItems) return /* @__PURE__ */ jsxs("div", {
|
|
363
|
+
className: cn("flex flex-col gap-1", groupClassName, className),
|
|
364
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
365
|
+
className: cn("px-3 py-2 text-sm transition-all", active ? "text-body" : "text-muted/80 hover:text-body", labelClassName),
|
|
366
|
+
children: link.label
|
|
367
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
368
|
+
className: cn("flex flex-col gap-1 pl-4", listClassName),
|
|
369
|
+
children: link.items?.map((item) => /* @__PURE__ */ jsx(NavbarMobileLinkItem, {
|
|
370
|
+
link: item,
|
|
371
|
+
onClose,
|
|
372
|
+
depth: depth + 1,
|
|
373
|
+
className,
|
|
374
|
+
groupClassName,
|
|
375
|
+
labelClassName,
|
|
376
|
+
listClassName,
|
|
377
|
+
renderItem
|
|
378
|
+
}, item.href))
|
|
379
|
+
})]
|
|
380
|
+
});
|
|
381
|
+
return /* @__PURE__ */ jsx(NavbarMobileLink, {
|
|
382
|
+
label: link.label,
|
|
383
|
+
href: localizedHref,
|
|
384
|
+
onPress: onClose,
|
|
385
|
+
className: cn("transition-all", active ? "text-body" : "text-muted/80 hover:text-body", className)
|
|
386
|
+
});
|
|
387
|
+
}
|
|
341
388
|
Navbar.Root = Navbar;
|
|
342
389
|
Navbar.Left = NavbarLeft;
|
|
343
390
|
Navbar.Right = NavbarRight;
|
|
@@ -356,6 +403,7 @@ Navbar.Content = NavbarContent;
|
|
|
356
403
|
Navbar.More = NavbarMore;
|
|
357
404
|
Navbar.MobileMenu = NavbarMobileMenu;
|
|
358
405
|
Navbar.MobileLink = NavbarMobileLink;
|
|
406
|
+
Navbar.MobileLinkItem = NavbarMobileLinkItem;
|
|
359
407
|
|
|
360
408
|
//#endregion
|
|
361
409
|
//#region src/client/components/primitives/search-dialog.tsx
|
|
@@ -418,14 +466,13 @@ function SearchDialogClearButton({ className, ...props }) {
|
|
|
418
466
|
/**
|
|
419
467
|
* Pure, unstyled Autocomplete container (maps to RAC.Autocomplete)
|
|
420
468
|
*/
|
|
421
|
-
function SearchDialogAutocomplete({ children, className,
|
|
469
|
+
function SearchDialogAutocomplete({ children, className, innerClassName, ...props }) {
|
|
422
470
|
const Autocomplete = RAC.Autocomplete;
|
|
423
471
|
return /* @__PURE__ */ jsx("div", {
|
|
424
472
|
className: cn("flex-1 min-h-0", className),
|
|
425
473
|
children: /* @__PURE__ */ jsx(Autocomplete, {
|
|
426
474
|
...props,
|
|
427
|
-
|
|
428
|
-
className: "flex flex-col min-h-0",
|
|
475
|
+
className: cn("flex flex-col min-h-0", innerClassName),
|
|
429
476
|
children
|
|
430
477
|
})
|
|
431
478
|
});
|
|
@@ -443,23 +490,26 @@ function SearchDialogList({ children, className, ...props }) {
|
|
|
443
490
|
/**
|
|
444
491
|
* Pure, unstyled List Box Item (maps to RAC.ListBoxItem)
|
|
445
492
|
*/
|
|
446
|
-
function SearchDialogItemRoot({ children, className, ...props }) {
|
|
493
|
+
function SearchDialogItemRoot({ children, className, hintClassName, renderHint, ...props }) {
|
|
447
494
|
return /* @__PURE__ */ jsx(RAC.ListBoxItem, {
|
|
448
495
|
...props,
|
|
449
496
|
className: cn("group flex items-center outline-none cursor-pointer", className),
|
|
450
|
-
children: (itemProps) => /* @__PURE__ */ jsxs(Fragment, { children: [children,
|
|
451
|
-
|
|
497
|
+
children: (itemProps) => /* @__PURE__ */ jsxs(Fragment$1, { children: [children, renderHint ? renderHint({
|
|
498
|
+
focused: itemProps.isFocused,
|
|
499
|
+
selected: itemProps.isSelected
|
|
500
|
+
}) : itemProps.isFocused || itemProps.isSelected ? /* @__PURE__ */ jsxs("div", {
|
|
501
|
+
className: cn("ml-auto opacity-50 flex items-center gap-1", hintClassName),
|
|
452
502
|
children: [/* @__PURE__ */ jsx("span", {
|
|
453
503
|
className: "text-[10px]",
|
|
454
504
|
children: "Select"
|
|
455
505
|
}), /* @__PURE__ */ jsx(CornerDownLeft, { size: 10 })]
|
|
456
|
-
})] })
|
|
506
|
+
}) : null] })
|
|
457
507
|
});
|
|
458
508
|
}
|
|
459
|
-
function SearchDialogItemIcon({ isHeading, className }) {
|
|
509
|
+
function SearchDialogItemIcon({ isHeading, className, icon }) {
|
|
460
510
|
return /* @__PURE__ */ jsx("div", {
|
|
461
511
|
className: cn("shrink-0", className),
|
|
462
|
-
children: isHeading ? /* @__PURE__ */ jsx(Hash, { size: 18 }) : /* @__PURE__ */ jsx(FileText, { size: 18 })
|
|
512
|
+
children: icon ?? (isHeading ? /* @__PURE__ */ jsx(Hash, { size: 18 }) : /* @__PURE__ */ jsx(FileText, { size: 18 }))
|
|
463
513
|
});
|
|
464
514
|
}
|
|
465
515
|
function SearchDialogItemTitle({ children, className }) {
|