boltdocs 2.0.0 → 2.1.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/bin/boltdocs.js +12 -0
  3. package/dist/cache-Q4T6VAUL.mjs +1 -0
  4. package/dist/chunk-52MVMZWS.mjs +1 -0
  5. package/dist/chunk-BVWWKXJH.mjs +1 -0
  6. package/dist/chunk-DVY3RDXD.mjs +1 -0
  7. package/dist/chunk-FUVYCYWC.mjs +1 -0
  8. package/dist/{chunk-BA5NH5HU.mjs → chunk-GBLMDJ2B.mjs} +1 -1
  9. package/dist/{chunk-H63UMKYF.mjs → chunk-ISPX45DF.mjs} +1 -1
  10. package/dist/chunk-PNXZMUCO.mjs +1 -0
  11. package/dist/chunk-V2ZHKQSP.mjs +74 -0
  12. package/dist/client/components/mdx/index.d.mts +2 -3
  13. package/dist/client/components/mdx/index.d.ts +2 -3
  14. package/dist/client/components/mdx/index.js +1 -1
  15. package/dist/client/components/mdx/index.mjs +1 -1
  16. package/dist/client/hooks/index.d.mts +2 -3
  17. package/dist/client/hooks/index.d.ts +2 -3
  18. package/dist/client/hooks/index.js +1 -1
  19. package/dist/client/hooks/index.mjs +1 -1
  20. package/dist/client/index.d.mts +3 -5
  21. package/dist/client/index.d.ts +3 -5
  22. package/dist/client/index.js +1 -1
  23. package/dist/client/index.mjs +1 -1
  24. package/dist/client/ssr.d.mts +53 -6
  25. package/dist/client/ssr.d.ts +53 -6
  26. package/dist/client/ssr.mjs +1 -1
  27. package/dist/node/cli-entry.d.mts +1 -0
  28. package/dist/node/cli-entry.d.ts +1 -0
  29. package/dist/node/cli-entry.js +75 -0
  30. package/dist/node/cli-entry.mjs +2 -0
  31. package/dist/node/index.d.mts +213 -4
  32. package/dist/node/index.d.ts +213 -4
  33. package/dist/node/index.js +40 -23
  34. package/dist/node/index.mjs +1 -57
  35. package/dist/search-dialog-TWGYKF2D.mjs +1 -0
  36. package/dist/types-Cp21DHI6.d.mts +355 -0
  37. package/dist/types-Cp21DHI6.d.ts +355 -0
  38. package/dist/{use-routes-BefRXY3v.d.ts → use-routes-8Iei6jTp.d.mts} +1 -2
  39. package/dist/{use-routes-5bAtAAYX.d.mts → use-routes-xLhumjbV.d.ts} +1 -2
  40. package/package.json +7 -1
  41. package/src/client/components/ui-base/breadcrumbs.tsx +2 -1
  42. package/src/client/components/ui-base/navbar.tsx +3 -3
  43. package/src/client/components/ui-base/sidebar.tsx +2 -1
  44. package/src/client/hooks/use-navbar.ts +1 -1
  45. package/src/node/cli-entry.ts +24 -0
  46. package/src/node/cli.ts +59 -0
  47. package/src/node/config.ts +63 -11
  48. package/src/node/index.ts +39 -3
  49. package/src/node/plugin/entry.ts +7 -0
  50. package/src/node/plugin/html.ts +49 -9
  51. package/src/node/plugin/index.ts +42 -3
  52. package/src/node/ssg/index.ts +6 -1
  53. package/src/node/ssg/robots.ts +50 -0
  54. package/tsup.config.ts +36 -10
  55. package/dist/cache-7G6D532T.mjs +0 -1
  56. package/dist/chunk-A4HQPEPU.mjs +0 -1
  57. package/dist/chunk-BQCD3DWG.mjs +0 -1
  58. package/dist/chunk-IWHRQHS7.mjs +0 -1
  59. package/dist/chunk-JZXLCA2E.mjs +0 -1
  60. package/dist/chunk-MFU7Q6WF.mjs +0 -1
  61. package/dist/chunk-QYPNX5UN.mjs +0 -1
  62. package/dist/chunk-XEAPSFMB.mjs +0 -1
  63. package/dist/config-CX4l-ZNp.d.mts +0 -166
  64. package/dist/config-CX4l-ZNp.d.ts +0 -166
  65. package/dist/search-dialog-EB3N4TYM.mjs +0 -1
  66. package/dist/types-BuZWFT7r.d.ts +0 -159
  67. package/dist/types-CvT-SGbK.d.mts +0 -159
@@ -1,37 +1,53 @@
1
- "use strict";var ye=Object.create;var Z=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty;var ut=(o,t)=>()=>(o&&(t=o(o=0)),t);var Mt=(o,t)=>{for(var e in t)Z(o,e,{get:t[e],enumerable:!0})},kt=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ve(t))!Pe.call(o,n)&&n!==e&&Z(o,n,{get:()=>t[n],enumerable:!(r=xe(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ye(be(o)):{},kt(t||!o||!o.__esModule?Z(e,"default",{value:o,enumerable:!0}):e,o)),Ce=o=>kt(Z({},"__esModule",{value:!0}),o);var we,b,g=ut(()=>{"use strict";we=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,b=we()});function D(o){return o.replace(/\\/g,"/")}function N(o){return o.replace(/^\d+\./,"")}function Q(o){let t=o.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function Tt(o){return/\.mdx?$/.test(o)}function Y(o){try{return pt.default.statSync(o).mtimeMs}catch{return 0}}function Ot(o){let t=pt.default.readFileSync(o,"utf-8"),{data:e,content:r}=(0,_t.default)(t);return{data:e,content:r}}function E(o){return o.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gt(o){return E(o)}function Ft(o){let e=o.split("/").map(N).join("/").replace(/\/$/,"");return e=e.replace(/\.mdx?$/,""),(e==="index"||e.endsWith("/index"))&&(e=e.replace(/index$/,"")),e.startsWith("/")||(e="/"+e),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function A(o){return mt.default.sanitize(o)}function ft(o){return mt.default.sanitize(o,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function G(o){return o.charAt(0).toUpperCase()+o.slice(1)}var pt,_t,mt,k=ut(()=>{"use strict";g();pt=v(require("fs")),_t=v(require("gray-matter")),mt=v(require("isomorphic-dompurify"))});var Pt={};Mt(Pt,{AssetCache:()=>xt,FileCache:()=>U,TransformCache:()=>q,flushCache:()=>Me});async function Me(){await T.flush()}var P,C,H,L,I,tt,$e,et,vt,Ue,bt,Se,De,Re,Be,ht,yt,T,U,q,xt,V=ut(()=>{"use strict";g();P=v(require("fs")),C=v(require("path")),H=v(require("crypto")),L=v(require("zlib")),I=require("util");k();tt=(0,I.promisify)(P.default.writeFile),$e=(0,I.promisify)(P.default.readFile),et=(0,I.promisify)(P.default.mkdir),vt=(0,I.promisify)(P.default.rename),Ue=(0,I.promisify)(P.default.unlink),bt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Se="assets",De="shards",Re=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Be=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",ht=class{constructor(t){this.limit=t}cache=new Map;get(t){let e=this.cache.get(t);return e!==void 0&&(this.cache.delete(t),this.cache.set(t,e)),e}set(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.limit){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,e)}get size(){return this.cache.size}clear(){this.cache.clear()}},yt=class{queue=Promise.resolve();pendingCount=0;add(t){this.pendingCount++,this.queue=this.queue.then(t).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},T=new yt,U=class{entries=new Map;cachePath=null;compress;constructor(t={}){if(this.compress=t.compress!==void 0?t.compress:Be,t.name){let e=t.root||process.cwd(),r=this.compress?"json.gz":"json";this.cachePath=C.default.resolve(e,bt,`${t.name}.${r}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!P.default.existsSync(this.cachePath)))try{let t=P.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(t=L.default.gunzipSync(t));let e=JSON.parse(t.toString("utf-8"));this.entries=new Map(Object.entries(e))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let t=Object.fromEntries(this.entries),e=JSON.stringify(t),r=this.cachePath,n=this.compress;T.add(async()=>{try{await et(C.default.dirname(r),{recursive:!0});let s=Buffer.from(e);n&&(s=L.default.gzipSync(s));let l=`${r}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,s),await vt(l,r)}catch{}})}get(t){let e=this.entries.get(t);return!e||Y(t)!==e.mtime?null:e.data}set(t,e){this.entries.set(t,{data:e,mtime:Y(t)})}isValid(t){let e=this.entries.get(t);return e?Y(t)===e.mtime:!1}invalidate(t){this.entries.delete(t)}invalidateAll(){this.entries.clear()}pruneStale(t){for(let e of this.entries.keys())t.has(e)||this.entries.delete(e)}get size(){return this.entries.size}async flush(){await T.flush()}},q=class{index=new Map;memoryCache=new ht(Re);baseDir;shardsDir;indexPath;constructor(t,e=process.cwd()){this.baseDir=C.default.resolve(e,bt,`transform-${t}`),this.shardsDir=C.default.resolve(this.baseDir,De),this.indexPath=C.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&P.default.existsSync(this.indexPath))try{let t=P.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(t)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let t=JSON.stringify(Object.fromEntries(this.index)),e=this.indexPath;T.add(async()=>{await et(C.default.dirname(e),{recursive:!0}),await tt(e,t)})}async getMany(t){let e=new Map,r=[];for(let n of t){let s=this.memoryCache.get(n);s?e.set(n,s):this.index.has(n)&&r.push(n)}if(r.length>0){let n=await Promise.all(r.map(async s=>{let l=this.index.get(s),p=C.default.resolve(this.shardsDir,`${l}.gz`);try{let i=await $e(p),a=L.default.gunzipSync(i).toString("utf-8");return this.memoryCache.set(s,a),{key:s,val:a}}catch{return null}}));for(let s of n)s&&e.set(s.key,s.val)}return e}get(t){let e=this.memoryCache.get(t);if(e)return e;let r=this.index.get(t);if(!r)return null;let n=C.default.resolve(this.shardsDir,`${r}.gz`);if(!P.default.existsSync(n))return null;try{let s=P.default.readFileSync(n),l=L.default.gunzipSync(s).toString("utf-8");return this.memoryCache.set(t,l),l}catch{return null}}set(t,e){let r=H.default.createHash("md5").update(e).digest("hex");this.index.set(t,r),this.memoryCache.set(t,e);let n=C.default.resolve(this.shardsDir,`${r}.gz`);T.add(async()=>{if(P.default.existsSync(n))return;await et(this.shardsDir,{recursive:!0});let s=L.default.gzipSync(Buffer.from(e)),l=`${n}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,s),await vt(l,n)})}get size(){return this.index.size}async flush(){await T.flush()}},xt=class{assetsDir;constructor(t=process.cwd()){this.assetsDir=C.default.resolve(t,bt,Se)}getFileHash(t){return H.default.createHash("md5").update(P.default.readFileSync(t)).digest("hex")}get(t,e){if(!P.default.existsSync(t))return null;let r=this.getFileHash(t),n=this.getCachedPath(t,`${e}-${r}`);return P.default.existsSync(n)?n:null}set(t,e,r){let n=this.getFileHash(t),s=this.getCachedPath(t,`${e}-${n}`);T.add(async()=>{await et(this.assetsDir,{recursive:!0});let l=`${s}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,r),await vt(l,s)})}getCachedPath(t,e){let r=C.default.extname(t),n=C.default.basename(t,r),s=e.replace(/[^a-z0-9]/gi,"-").toLowerCase();return C.default.join(this.assetsDir,`${n}.${s}${r}`)}clear(){P.default.existsSync(this.assetsDir)&&P.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await T.flush()}}});var He={};Mt(He,{default:()=>le,generateStaticPages:()=>rt});module.exports=Ce(He);g();g();var Zt=require("vite");g();var It=v(require("fast-glob"));k();g();V();var _=new U({name:"routes"});function Ct(){_.invalidateAll()}function wt(o){_.invalidate(o)}g();var z=v(require("path")),Et=v(require("github-slugger"));k();function jt(o,t,e,r){let n=decodeURIComponent(o),s=z.default.resolve(n),l=z.default.resolve(t),p=D(z.default.relative(l,s));if(p.startsWith("../")||p===".."||s.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:i,content:a}=Ot(o),c=p.split("/"),d,h;if(r?.versions&&c.length>0){let S=c[0];r.versions.versions[S]&&(h=S,c=c.slice(1))}if(r?.i18n&&c.length>0){let S=c[0];r.i18n.locales[S]&&(d=S,c=c.slice(1))}let $;if(c.length>0){let S=c[0].match(/^\((.+)\)$/);S&&($=S[1].toLowerCase(),c=c.slice(1))}let u=c.join("/"),m;i.permalink?m=i.permalink.startsWith("/")?i.permalink:`/${i.permalink}`:m=Ft(u||"index.md");let f=e;h&&(f+="/"+h),d&&(f+="/"+d),f+=m==="/"?"":m,(!f||f==="")&&(f="/");let x=c[c.length-1],M=N(x),w=N(z.default.basename(o,z.default.extname(o))),y=i.sidebarPosition??Q(x),R=c.length>=2?c[0]:void 0,F=R?N(R):void 0,X=c.length>=2&&/^index\.mdx?$/.test(M),de=new Et.default,Dt=[],ue=/^(#{2,4})\s+(.+)$/gm,lt;for(;(lt=ue.exec(a))!==null;){let S=lt[1].length,fe=lt[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),Bt=A(fe).trim(),he=de.slug(Bt);Dt.push({level:S,text:Bt,id:he})}let pe=i.title?A(String(i.title)):w,dt=i.description?A(String(i.description)):"";!dt&&a&&(dt=ft(a.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let me=i.badge?A(String(i.badge)):void 0,Rt=i.icon?String(i.icon):void 0,ge=ke(a);return{route:{path:f,componentPath:o,filePath:p,title:pe,description:dt,sidebarPosition:y,headings:Dt,locale:d,version:h,badge:me,icon:Rt,tab:$,_content:ge,_rawContent:a},relativeDir:F,isGroupIndex:X,inferredTab:$,groupMeta:X?{title:i.groupTitle||i.title||(F?G(F):""),position:i.groupPosition??i.sidebarPosition??(R?Q(R):void 0),icon:Rt}:void 0,inferredGroupPosition:R?Q(R):void 0}}function ke(o){let t=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return ft(t).trim()}g();function Ht(o){return o.sort((t,e)=>!t.group&&!e.group?Lt(t,e):t.group?e.group?t.group!==e.group?_e(t,e):Lt(t,e):1:-1)}function Lt(o,t){return o.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?o.sidebarPosition-t.sidebarPosition:o.sidebarPosition!==void 0?-1:t.sidebarPosition!==void 0?1:o.title.localeCompare(t.title)}function _e(o,t){return o.groupPosition!==void 0&&t.groupPosition!==void 0?o.groupPosition-t.groupPosition:o.groupPosition!==void 0?-1:t.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(t.groupTitle||t.group)}var W=new Map;async function K(o,t,e="/docs"){let r=performance.now();_.load(),W.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||t?.i18n)&&_.invalidateAll();let n=await(0,It.default)(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1});_.pruneStale(new Set(n));let s=50,l=[],p=0;for(let u=0;u<n.length;u+=s){let m=n.slice(u,u+s),f=await Promise.all(m.map(async x=>{let M=_.get(x);if(M)return p++,M;let w=jt(x,o,e,t);return _.set(x,w),w}));l.push(...f),u+s<n.length&&await new Promise(x=>setImmediate(x))}_.save();let i=new Map,a=[];for(let u of l)if(u.isGroupIndex&&u.relativeDir&&a.push(u),u.relativeDir){let m=i.get(u.relativeDir);m?(m.position===void 0&&u.inferredGroupPosition!==void 0&&(m.position=u.inferredGroupPosition),!m.icon&&u.route.icon&&(m.icon=u.route.icon)):(m={title:G(u.relativeDir),position:u.inferredGroupPosition,icon:u.route.icon},i.set(u.relativeDir,m))}for(let u of a){let m=i.get(u.relativeDir);u.groupMeta&&(m.title=u.groupMeta.title,u.groupMeta.position!==void 0&&(m.position=u.groupMeta.position),u.groupMeta.icon&&(m.icon=u.groupMeta.icon))}let c=new Array(l.length);for(let u=0;u<l.length;u++){let m=l[u],f=m.relativeDir,x=f?i.get(f):void 0;c[u]={...m.route,group:f,groupTitle:x?.title||(f?G(f):void 0),groupPosition:x?.position,groupIcon:x?.icon}}let d=c;if(t?.i18n){let u=Te(c,t,e);d=[...c,...u]}let h=Ht(d),$=performance.now()-r;return console.log(`[boltdocs] Route generation: ${$.toFixed(2)}ms (${n.length} files, ${p} cache hits)`),h}function Te(o,t,e){let r=t.i18n.defaultLocale,n=Object.keys(t.i18n.locales),s=[],l=new Map,p=[];for(let i of o){let a=i.locale||r;l.has(a)||l.set(a,new Set),l.get(a).add(i.path),a===r&&p.push(i)}for(let i of n){if(i===r)continue;let a=l.get(i)||new Set;for(let c of p){let d=Oe(c.path,r,i,e);a.has(d)||s.push({...c,path:d,locale:i})}}return s}function Oe(o,t,e,r){let n=`${o}:${e}`,s=W.get(n);if(s)return s;let l=r,p=o.match(new RegExp(`^${r}/(v[0-9]+)`));p&&(l+="/"+p[1]);let i=o.substring(l.length),a=`/${t}`;if(i.startsWith(a+"/"))i="/"+e+"/"+i.substring(a.length+1);else if(i===a)i="/"+e;else if(i==="/"||i==="")i="/"+e;else{let d=i.startsWith("/")?"":"/";i="/"+e+d+i}let c=l+i;return W.size>2e3&&W.clear(),W.set(n,c),c}var Qt=require("vite-plugin-image-optimizer");g();var ot=v(require("path")),zt=v(require("fs")),Nt=require("vite"),it=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function nt(o,t=process.cwd()){let e=t,r={docsDir:ot.default.resolve(o),themeConfig:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},n={};for(let i of it){let a=ot.default.resolve(e,i);if(zt.default.existsSync(a))try{let c=await(0,Nt.loadConfigFromFile)({command:"serve",mode:"development"},a,e);if(c){n=c.config;break}}catch(c){console.warn(`[boltdocs] Failed to load config from ${i}:`,c)}}let l={...{title:n.title,description:n.description,logo:n.logo,navbar:n.navbar,sidebar:n.sidebar,socialLinks:n.socialLinks,footer:n.footer,githubRepo:n.githubRepo,tabs:n.tabs},...n.themeConfig||{}},p=Object.fromEntries(Object.entries(l).filter(([i,a])=>a!==void 0));return p.navbar&&(p.navbar=p.navbar.map(i=>({label:i.label||i.text||"",href:i.href||i.link||i.to||"",items:i.items?.map(a=>({label:a.label||a.text||"",href:a.href||a.link||a.to||""}))}))),{docsDir:ot.default.resolve(o),themeConfig:{...r.themeConfig,...p,codeTheme:p.codeTheme||(n.themeConfig||n).codeTheme||r.themeConfig?.codeTheme},i18n:n.i18n,versions:n.versions,siteUrl:n.siteUrl,plugins:n.plugins||[],external:n.external,integrations:n.integrations}}g();var j=v(require("fs")),O=v(require("path"));k();var Vt=require("url"),Wt=require("module");g();k();function At(o,t){let e=E(t.title),r=E(t.description);return o.replace(/<title>.*?<\/title>/,`<title>${e}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${r}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${r}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${r}$2`)}g();k();function Gt(o,t){let e=t?.siteUrl?.replace(/\/$/,"")||"https://example.com",r=new Date().toISOString().split("T")[0],n=[{url:"/",priority:"1.0",changefreq:"daily"}];if(t?.i18n){let l=t.i18n.defaultLocale;for(let p of Object.keys(t.i18n.locales))p!==l&&n.push({url:`/${p}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
1
+ "use strict";var we=Object.create;var Q=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Se=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var gt=(o,t)=>()=>(o&&(t=o(o=0)),t);var Ft=(o,t)=>{for(var e in t)Q(o,e,{get:t[e],enumerable:!0})},It=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Se(t))!Be.call(o,i)&&i!==e&&Q(o,i,{get:()=>t[i],enumerable:!(s=$e(t,i))||s.enumerable});return o};var y=(o,t,e)=>(e=o!=null?we(De(o)):{},It(t||!o||!o.__esModule?Q(e,"default",{value:o,enumerable:!0}):e,o)),Re=o=>It(Q({},"__esModule",{value:!0}),o);var Me,C,g=gt(()=>{"use strict";Me=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,C=Me()});function R(o){return o.replace(/\\/g,"/")}function U(o){return o.replace(/^\d+\./,"")}function Y(o){let t=o.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function jt(o){return/\.mdx?$/.test(o)}function tt(o){try{return ft.default.statSync(o).mtimeMs}catch{return 0}}function Ht(o){let t=ft.default.readFileSync(o,"utf-8"),{data:e,content:s}=(0,Et.default)(t);return{data:e,content:s}}function E(o){return o.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yt(o){return E(o)}function Lt(o){let e=o.split("/").map(U).join("/").replace(/\/$/,"");return e=e.replace(/\.mdx?$/,""),(e==="index"||e.endsWith("/index"))&&(e=e.replace(/index$/,"")),e.startsWith("/")||(e="/"+e),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function G(o){return ht.default.sanitize(o)}function xt(o){return ht.default.sanitize(o,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function q(o){return o.charAt(0).toUpperCase()+o.slice(1)}var ft,Et,ht,k=gt(()=>{"use strict";g();ft=y(require("fs")),Et=y(require("gray-matter")),ht=y(require("isomorphic-dompurify"))});var $t={};Ft($t,{AssetCache:()=>Pt,FileCache:()=>V,TransformCache:()=>W,flushCache:()=>Ie});async function Ie(){await O.flush()}var w,S,z,L,A,et,ke,ot,Ct,Ze,wt,Te,_e,Oe,Fe,bt,vt,O,V,W,Pt,K=gt(()=>{"use strict";g();w=y(require("fs")),S=y(require("path")),z=y(require("crypto")),L=y(require("zlib")),A=require("util");k();et=(0,A.promisify)(w.default.writeFile),ke=(0,A.promisify)(w.default.readFile),ot=(0,A.promisify)(w.default.mkdir),Ct=(0,A.promisify)(w.default.rename),Ze=(0,A.promisify)(w.default.unlink),wt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Te="assets",_e="shards",Oe=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Fe=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",bt=class{constructor(t){this.limit=t}cache=new Map;get(t){let e=this.cache.get(t);return e!==void 0&&(this.cache.delete(t),this.cache.set(t,e)),e}set(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.limit){let s=this.cache.keys().next().value;s!==void 0&&this.cache.delete(s)}this.cache.set(t,e)}get size(){return this.cache.size}clear(){this.cache.clear()}},vt=class{queue=Promise.resolve();pendingCount=0;add(t){this.pendingCount++,this.queue=this.queue.then(t).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},O=new vt,V=class{entries=new Map;cachePath=null;compress;constructor(t={}){if(this.compress=t.compress!==void 0?t.compress:Fe,t.name){let e=t.root||process.cwd(),s=this.compress?"json.gz":"json";this.cachePath=S.default.resolve(e,wt,`${t.name}.${s}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!w.default.existsSync(this.cachePath)))try{let t=w.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(t=L.default.gunzipSync(t));let e=JSON.parse(t.toString("utf-8"));this.entries=new Map(Object.entries(e))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let t=Object.fromEntries(this.entries),e=JSON.stringify(t),s=this.cachePath,i=this.compress;O.add(async()=>{try{await ot(S.default.dirname(s),{recursive:!0});let r=Buffer.from(e);i&&(r=L.default.gzipSync(r));let a=`${s}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,r),await Ct(a,s)}catch{}})}get(t){let e=this.entries.get(t);return!e||tt(t)!==e.mtime?null:e.data}set(t,e){this.entries.set(t,{data:e,mtime:tt(t)})}isValid(t){let e=this.entries.get(t);return e?tt(t)===e.mtime:!1}invalidate(t){this.entries.delete(t)}invalidateAll(){this.entries.clear()}pruneStale(t){for(let e of this.entries.keys())t.has(e)||this.entries.delete(e)}get size(){return this.entries.size}async flush(){await O.flush()}},W=class{index=new Map;memoryCache=new bt(Oe);baseDir;shardsDir;indexPath;constructor(t,e=process.cwd()){this.baseDir=S.default.resolve(e,wt,`transform-${t}`),this.shardsDir=S.default.resolve(this.baseDir,_e),this.indexPath=S.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&w.default.existsSync(this.indexPath))try{let t=w.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(t)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let t=JSON.stringify(Object.fromEntries(this.index)),e=this.indexPath;O.add(async()=>{await ot(S.default.dirname(e),{recursive:!0}),await et(e,t)})}async getMany(t){let e=new Map,s=[];for(let i of t){let r=this.memoryCache.get(i);r?e.set(i,r):this.index.has(i)&&s.push(i)}if(s.length>0){let i=await Promise.all(s.map(async r=>{let a=this.index.get(r),p=S.default.resolve(this.shardsDir,`${a}.gz`);try{let n=await ke(p),c=L.default.gunzipSync(n).toString("utf-8");return this.memoryCache.set(r,c),{key:r,val:c}}catch{return null}}));for(let r of i)r&&e.set(r.key,r.val)}return e}get(t){let e=this.memoryCache.get(t);if(e)return e;let s=this.index.get(t);if(!s)return null;let i=S.default.resolve(this.shardsDir,`${s}.gz`);if(!w.default.existsSync(i))return null;try{let r=w.default.readFileSync(i),a=L.default.gunzipSync(r).toString("utf-8");return this.memoryCache.set(t,a),a}catch{return null}}set(t,e){let s=z.default.createHash("md5").update(e).digest("hex");this.index.set(t,s),this.memoryCache.set(t,e);let i=S.default.resolve(this.shardsDir,`${s}.gz`);O.add(async()=>{if(w.default.existsSync(i))return;await ot(this.shardsDir,{recursive:!0});let r=L.default.gzipSync(Buffer.from(e)),a=`${i}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,r),await Ct(a,i)})}get size(){return this.index.size}async flush(){await O.flush()}},Pt=class{assetsDir;constructor(t=process.cwd()){this.assetsDir=S.default.resolve(t,wt,Te)}getFileHash(t){return z.default.createHash("md5").update(w.default.readFileSync(t)).digest("hex")}get(t,e){if(!w.default.existsSync(t))return null;let s=this.getFileHash(t),i=this.getCachedPath(t,`${e}-${s}`);return w.default.existsSync(i)?i:null}set(t,e,s){let i=this.getFileHash(t),r=this.getCachedPath(t,`${e}-${i}`);O.add(async()=>{await ot(this.assetsDir,{recursive:!0});let a=`${r}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,s),await Ct(a,r)})}getCachedPath(t,e){let s=S.default.extname(t),i=S.default.basename(t,s),r=e.replace(/[^a-z0-9]/gi,"-").toLowerCase();return S.default.join(this.assetsDir,`${i}.${r}${s}`)}clear(){w.default.existsSync(this.assetsDir)&&w.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await O.flush()}}});var qe={};Ft(qe,{createViteConfig:()=>Ge,default:()=>kt,defineConfig:()=>Wt,generateStaticPages:()=>st,resolveConfig:()=>j});module.exports=Re(qe);g();var fe=y(require("@vitejs/plugin-react")),he=y(require("@tailwindcss/vite"));g();var ie=require("vite");g();var Gt=y(require("fast-glob"));k();g();K();var T=new V({name:"routes"});function St(){T.invalidateAll()}function Dt(o){T.invalidate(o)}g();var N=y(require("path")),zt=y(require("github-slugger"));k();function At(o,t,e,s){let i=decodeURIComponent(o),r=N.default.resolve(i),a=N.default.resolve(t),p=R(N.default.relative(a,r));if(p.startsWith("../")||p===".."||r.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:n,content:c}=Ht(o),l=p.split("/"),u,b;if(s?.versions&&l.length>0){let B=l[0];s.versions.versions[B]&&(b=B,l=l.slice(1))}if(s?.i18n&&l.length>0){let B=l[0];s.i18n.locales[B]&&(u=B,l=l.slice(1))}let x;if(l.length>0){let B=l[0].match(/^\((.+)\)$/);B&&(x=B[1].toLowerCase(),l=l.slice(1))}let d=l.join("/"),m;n.permalink?m=n.permalink.startsWith("/")?n.permalink:`/${n.permalink}`:m=Lt(d||"index.md");let h=e;b&&(h+="/"+b),u&&(h+="/"+u),h+=m==="/"?"":m,(!h||h==="")&&(h="/");let f=l[l.length-1],$=U(f),D=U(N.default.basename(o,N.default.extname(o))),P=n.sidebarPosition??Y(f),v=l.length>=2?l[0]:void 0,I=v?U(v):void 0,H=l.length>=2&&/^index\.mdx?$/.test($),mt=new zt.default,Tt=[],ye=/^(#{2,4})\s+(.+)$/gm,pt;for(;(pt=ye.exec(c))!==null;){let B=pt[1].length,Pe=pt[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),Ot=G(Pe).trim(),Ce=mt.slug(Ot);Tt.push({level:B,text:Ot,id:Ce})}let xe=n.title?G(String(n.title)):D,ut=n.description?G(String(n.description)):"";!ut&&c&&(ut=xt(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let be=n.badge?G(String(n.badge)):void 0,_t=n.icon?String(n.icon):void 0,ve=Ee(c);return{route:{path:h,componentPath:o,filePath:p,title:xe,description:ut,sidebarPosition:P,headings:Tt,locale:u,version:b,badge:be,icon:_t,tab:x,_content:ve,_rawContent:c},relativeDir:I,isGroupIndex:H,inferredTab:x,groupMeta:H?{title:n.groupTitle||n.title||(I?q(I):""),position:n.groupPosition??n.sidebarPosition??(v?Y(v):void 0),icon:_t}:void 0,inferredGroupPosition:v?Y(v):void 0}}function Ee(o){let t=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return xt(t).trim()}g();function Ut(o){return o.sort((t,e)=>!t.group&&!e.group?Nt(t,e):t.group?e.group?t.group!==e.group?je(t,e):Nt(t,e):1:-1)}function Nt(o,t){return o.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?o.sidebarPosition-t.sidebarPosition:o.sidebarPosition!==void 0?-1:t.sidebarPosition!==void 0?1:o.title.localeCompare(t.title)}function je(o,t){return o.groupPosition!==void 0&&t.groupPosition!==void 0?o.groupPosition-t.groupPosition:o.groupPosition!==void 0?-1:t.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(t.groupTitle||t.group)}var J=new Map;async function X(o,t,e="/docs"){let s=performance.now();T.load(),J.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||t?.i18n)&&T.invalidateAll();let i=await(0,Gt.default)(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1});T.pruneStale(new Set(i));let r=50,a=[],p=0;for(let d=0;d<i.length;d+=r){let m=i.slice(d,d+r),h=await Promise.all(m.map(async f=>{let $=T.get(f);if($)return p++,$;let D=At(f,o,e,t);return T.set(f,D),D}));a.push(...h),d+r<i.length&&await new Promise(f=>setImmediate(f))}T.save();let n=new Map,c=[];for(let d of a)if(d.isGroupIndex&&d.relativeDir&&c.push(d),d.relativeDir){let m=n.get(d.relativeDir);m?(m.position===void 0&&d.inferredGroupPosition!==void 0&&(m.position=d.inferredGroupPosition),!m.icon&&d.route.icon&&(m.icon=d.route.icon)):(m={title:q(d.relativeDir),position:d.inferredGroupPosition,icon:d.route.icon},n.set(d.relativeDir,m))}for(let d of c){let m=n.get(d.relativeDir);d.groupMeta&&(m.title=d.groupMeta.title,d.groupMeta.position!==void 0&&(m.position=d.groupMeta.position),d.groupMeta.icon&&(m.icon=d.groupMeta.icon))}let l=new Array(a.length);for(let d=0;d<a.length;d++){let m=a[d],h=m.relativeDir,f=h?n.get(h):void 0;l[d]={...m.route,group:h,groupTitle:f?.title||(h?q(h):void 0),groupPosition:f?.position,groupIcon:f?.icon}}let u=l;if(t?.i18n){let d=He(l,t,e);u=[...l,...d]}let b=Ut(u),x=performance.now()-s;return console.log(`[boltdocs] Route generation: ${x.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),b}function He(o,t,e){let s=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),r=[],a=new Map,p=[];for(let n of o){let c=n.locale||s;a.has(c)||a.set(c,new Set),a.get(c).add(n.path),c===s&&p.push(n)}for(let n of i){if(n===s)continue;let c=a.get(n)||new Set;for(let l of p){let u=Le(l.path,s,n,e);c.has(u)||r.push({...l,path:u,locale:n})}}return r}function Le(o,t,e,s){let i=`${o}:${e}`,r=J.get(i);if(r)return r;let a=s,p=o.match(new RegExp(`^${s}/(v[0-9]+)`));p&&(a+="/"+p[1]);let n=o.substring(a.length),c=`/${t}`;if(n.startsWith(c+"/"))n="/"+e+"/"+n.substring(c.length+1);else if(n===c)n="/"+e;else if(n==="/"||n==="")n="/"+e;else{let u=n.startsWith("/")?"":"/";n="/"+e+u+n}let l=a+n;return J.size>2e3&&J.clear(),J.set(i,l),l}var ne=require("vite-plugin-image-optimizer");g();var it=y(require("path")),qt=y(require("fs")),Vt=require("vite");function Wt(o){return o}var nt=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function j(o,t=process.cwd()){let e=t,s={docsDir:it.default.resolve(o),theme:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},i={};for(let n of nt){let c=it.default.resolve(e,n);if(qt.default.existsSync(c))try{let l=await(0,Vt.loadConfigFromFile)({command:"serve",mode:"development"},c,e);if(l){i=l.config;break}}catch(l){console.warn(`[boltdocs] Failed to load config from ${n}:`,l)}}let a={...{title:i.title,description:i.description,logo:i.logo,favicon:i.favicon,ogImage:i.ogImage,navbar:i.navbar,sidebar:i.sidebar,socialLinks:i.socialLinks,footer:i.footer,githubRepo:i.githubRepo,tabs:i.tabs,codeTheme:i.codeTheme,copyMarkdown:i.copyMarkdown,breadcrumbs:i.breadcrumbs,poweredBy:i.poweredBy,communityHelp:i.communityHelp,version:i.version,editLink:i.editLink},...i.themeConfig||{},...i.theme||{}},p=Object.fromEntries(Object.entries(a).filter(([n,c])=>c!==void 0));return p.navbar&&(p.navbar=p.navbar.map(n=>({label:n.label||n.text||"",href:n.href||n.link||n.to||"",items:n.items?.map(c=>({label:c.label||c.text||"",href:c.href||c.link||c.to||""}))}))),{docsDir:it.default.resolve(o),homePage:i.homePage,theme:{...s.theme,...p},i18n:i.i18n,versions:i.versions,siteUrl:i.siteUrl,plugins:i.plugins||[],external:i.external,integrations:i.integrations,robots:i.robots,vite:i.vite}}g();var F=y(require("fs")),_=y(require("path"));k();var Qt=require("url"),Yt=require("module");g();k();function Kt(o,t){let e=E(t.title),s=E(t.description);return o.replace(/<title>.*?<\/title>/,`<title>${e}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${s}$2`)}g();k();function Jt(o,t){let e=t?.siteUrl?.replace(/\/$/,"")||"https://example.com",s=new Date().toISOString().split("T")[0],i=[{url:"/",priority:"1.0",changefreq:"daily"}];if(t?.i18n){let a=t.i18n.defaultLocale;for(let p of Object.keys(t.i18n.locales))p!==a&&i.push({url:`/${p}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
2
2
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
- ${[...n,...o.map(l=>({url:l,priority:"0.8",changefreq:"weekly"}))].map(l=>` <url>
4
- <loc>${gt(e)}${gt(l.url)}</loc>
5
- <lastmod>${r}</lastmod>
6
- <changefreq>${l.changefreq}</changefreq>
7
- <priority>${l.priority}</priority>
3
+ ${[...i,...o.map(a=>({url:a,priority:"0.8",changefreq:"weekly"}))].map(a=>` <url>
4
+ <loc>${yt(e)}${yt(a.url)}</loc>
5
+ <lastmod>${s}</lastmod>
6
+ <changefreq>${a.changefreq}</changefreq>
7
+ <priority>${a.priority}</priority>
8
8
  </url>`).join(`
9
9
  `)}
10
- </urlset>`}var Fe=(0,Vt.fileURLToPath)(b),Ut=O.default.dirname(Fe),qt=(0,Wt.createRequire)(b);async function rt(o){let{docsDir:t,docsDirName:e,outDir:r,config:n}=o,s=await K(t,n),l=n?.themeConfig?.title||"Boltdocs",p=n?.themeConfig?.description||"",i=O.default.resolve(Ut,"../client/ssr.js");if(!j.default.existsSync(i)){console.error("[boltdocs] SSR module not found at",i,"- Did you build the core package?");return}let a=qt("module"),c=a.prototype.require;a.prototype.require=function(f,...x){return f==="virtual:boltdocs-layout"?{__esModule:!0,default:function(w){try{let R=c.apply(this,[O.default.resolve(Ut,"../client/index.js")]).DefaultLayout||(({children:X})=>X);return c.apply(this,["react"]).createElement(R,w)}catch{return w.children}}}:c.apply(this,[f,...x])};let{render:d}=qt(i);a.prototype.require=c;let h=O.default.join(r,"index.html");if(!j.default.existsSync(h)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let $=j.default.readFileSync(h,"utf-8");await Promise.all(s.map(async f=>{let x=`${f.title} | ${l}`,M=f.description||p,w={};w[`/${e}/${f.filePath}`]={default:()=>null};try{let y=await d({path:f.path,routes:s,config:n||{},docsDirName:e,modules:w,homePage:void 0}),R=At($,{title:E(x),description:E(M)}).replace("<!--app-html-->",y).replace('<div id="root"></div>',`<div id="root">${y}</div>`),F=O.default.join(r,f.path);await j.default.promises.mkdir(F,{recursive:!0}),await j.default.promises.writeFile(O.default.join(F,"index.html"),R,"utf-8")}catch(y){console.error(`[boltdocs] Error SSR rendering route ${f.path}:`,y&&(y.stack||y))}}));let u=Gt(s.map(f=>f.path),n);j.default.writeFileSync(O.default.join(r,"sitemap.xml"),u,"utf-8"),console.log(`[boltdocs] Generated ${s.length} static pages + sitemap.xml`);let{flushCache:m}=await Promise.resolve().then(()=>(V(),Pt));await m()}k();var B=v(require("path"));g();k();var Kt=v(require("path"));function Jt(o,t){let e=o.homePage?`import HomePage from '${D(o.homePage)}';`:"",r=o.homePage?"homePage: HomePage,":"",n=t?.plugins?.flatMap(d=>Object.entries(d.components||{}))||[],s=n.map(([d,h])=>`import * as _comp_${d} from '${D(h)}';
11
- const ${d} = _comp_${d}.default || _comp_${d}['${d}'] || _comp_${d};`).join(`
12
- `),l=n.map(([d])=>d).join(", "),p=Kt.default.basename(o.docsDir||"docs"),i=Object.entries(t?.external||{}),a=i.map(([d,h],$)=>`import _ext_${$} from '${D(h)}';`).join(`
13
- `),c=i.length>0?`externalPages: { ${i.map(([d],h)=>`"${d}": _ext_${h}`).join(", ")} },`:"";return`
10
+ </urlset>`}g();function rt(o){if(typeof o.robots=="string")return o.robots;let t=o.siteUrl?.replace(/\/$/,"")||"",e=o.robots||{},s=e.rules||[{userAgent:"*",allow:"/"}],i=e.sitemaps||(t?[`${t}/sitemap.xml`]:[]),r="";for(let a of s){if(r+=`User-agent: ${a.userAgent}
11
+ `,a.disallow){let p=Array.isArray(a.disallow)?a.disallow:[a.disallow];for(let n of p)r+=`Disallow: ${n}
12
+ `}if(a.allow){let p=Array.isArray(a.allow)?a.allow:[a.allow];for(let n of p)r+=`Allow: ${n}
13
+ `}r+=`
14
+ `}for(let a of i)r+=`Sitemap: ${a}
15
+ `;return r.trim()}var ze=(0,Qt.fileURLToPath)(C),Xt=_.default.dirname(ze),Zt=(0,Yt.createRequire)(C);async function st(o){let{docsDir:t,docsDirName:e,outDir:s,config:i}=o,r=await X(t,i),a=i?.themeConfig?.title||"Boltdocs",p=i?.themeConfig?.description||"",n=_.default.resolve(Xt,"../client/ssr.js");if(!F.default.existsSync(n)){console.error("[boltdocs] SSR module not found at",n,"- Did you build the core package?");return}let c=Zt("module"),l=c.prototype.require;c.prototype.require=function(f,...$){return f==="virtual:boltdocs-layout"?{__esModule:!0,default:function(P){try{let I=l.apply(this,[_.default.resolve(Xt,"../client/index.js")]).DefaultLayout||(({children:mt})=>mt);return l.apply(this,["react"]).createElement(I,P)}catch{return P.children}}}:l.apply(this,[f,...$])};let{render:u}=Zt(n);c.prototype.require=l;let b=_.default.join(s,"index.html");if(!F.default.existsSync(b)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let x=F.default.readFileSync(b,"utf-8");await Promise.all(r.map(async f=>{let $=`${f.title} | ${a}`,D=f.description||p,P={};P[`/${e}/${f.filePath}`]={default:()=>null};try{let v=await u({path:f.path,routes:r,config:i||{},docsDirName:e,modules:P,homePage:void 0}),I=Kt(x,{title:E($),description:E(D)}).replace("<!--app-html-->",v).replace('<div id="root"></div>',`<div id="root">${v}</div>`),H=_.default.join(s,f.path);await F.default.promises.mkdir(H,{recursive:!0}),await F.default.promises.writeFile(_.default.join(H,"index.html"),I,"utf-8")}catch(v){console.error(`[boltdocs] Error SSR rendering route ${f.path}:`,v&&(v.stack||v))}}));let d=Jt(r.map(f=>f.path),i);F.default.writeFileSync(_.default.join(s,"sitemap.xml"),d,"utf-8");let m=rt(i);F.default.writeFileSync(_.default.join(s,"robots.txt"),m,"utf-8"),console.log(`[boltdocs] Generated ${r.length} static pages + sitemap.xml + robots.txt`);let{flushCache:h}=await Promise.resolve().then(()=>(K(),$t));await h()}k();var M=y(require("path"));g();k();var Bt=y(require("path")),te=y(require("fs"));function ee(o,t){let e=o.homePage?`import HomePage from '${R(o.homePage)}';`:"",s=Bt.default.resolve(process.cwd(),"index.css"),i=te.default.existsSync(s)?"import './index.css';":"",r=o.homePage?"homePage: HomePage,":"",a=t?.plugins?.flatMap(x=>Object.entries(x.components||{}))||[],p=a.map(([x,d])=>`import * as _comp_${x} from '${R(d)}';
16
+ const ${x} = _comp_${x}.default || _comp_${x}['${x}'] || _comp_${x};`).join(`
17
+ `),n=a.map(([x])=>x).join(", "),c=Bt.default.basename(o.docsDir||"docs"),l=Object.entries(t?.external||{}),u=l.map(([x,d],m)=>`import _ext_${m} from '${R(d)}';`).join(`
18
+ `),b=l.length>0?`externalPages: { ${l.map(([x],d)=>`"${x}": _ext_${d}`).join(", ")} },`:"";return`
14
19
  import { createBoltdocsApp as _createApp } from 'boltdocs/client';
15
20
  import _routes from 'virtual:boltdocs-routes';
16
21
  import _config from 'virtual:boltdocs-config';
17
22
  import _user_mdx_components from 'virtual:boltdocs-mdx-components';
23
+ ${i}
18
24
  ${e}
19
- ${s}
20
- ${a}
25
+ ${p}
26
+ ${u}
21
27
 
22
28
  _createApp({
23
29
  target: '#root',
24
30
  routes: _routes,
25
- docsDirName: '${p}',
31
+ docsDirName: '${c}',
26
32
  config: _config,
27
- modules: import.meta.glob('/${p}/**/*.{md,mdx}'),
33
+ modules: import.meta.glob('/${c}/**/*.{md,mdx}'),
28
34
  hot: import.meta.hot,
29
35
  ${r}
30
- ${c}
31
- components: { ${l}${l?", ":""} ...(_user_mdx_components || {}) },
36
+ ${b}
37
+ components: { ${n}${n?", ":""} ...(_user_mdx_components || {}) },
32
38
  });
33
- `}g();function Xt(o,t){let e=t.themeConfig?.title||"Boltdocs",r=t.themeConfig?.description||"",n=[`<meta name="description" content="${r}">`,`<meta property="og:title" content="${e}">`,`<meta property="og:description" content="${r}">`,'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary">',`<meta name="twitter:title" content="${e}">`,`<meta name="twitter:description" content="${r}">`,'<meta name="generator" content="Boltdocs">'].join(`
34
- `),s=`
39
+ `}g();function oe(o){return`<!doctype html>
40
+ <html lang="en">
41
+ <head>
42
+ <meta charset="UTF-8" />
43
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
44
+ <title>${o.theme?.title||o.themeConfig?.title||"Boltdocs"}</title>
45
+ </head>
46
+ <body>
47
+ <div id="root"></div>
48
+ </body>
49
+ </html>`}function Rt(o,t){let e=t.theme||t.themeConfig,s=e?.title||"Boltdocs",i=e?.description||"",r=e?.favicon;!r&&e?.logo&&(typeof e.logo=="string"?r=e.logo:r=e.logo.light||e.logo.dark);let a=[r?`<link rel="icon" href="${r}">`:"",`<meta name="description" content="${i}">`,`<meta property="og:title" content="${s}">`,`<meta property="og:description" content="${i}">`,e?.ogImage?`<meta property="og:image" content="${e.ogImage}">`:"",'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary_large_image">',`<meta name="twitter:title" content="${s}">`,`<meta name="twitter:description" content="${i}">`,e?.ogImage?`<meta name="twitter:image" content="${e.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
50
+ `),p=`
35
51
  <script>
36
52
  (function() {
37
53
  try {
@@ -47,11 +63,12 @@ _createApp({
47
63
  } catch (e) {}
48
64
  })();
49
65
  </script>
50
- `;return o=o.replace(/<title>.*?<\/title>/,`<title>${e}</title>`),o=o.replace("</head>",` ${n}
51
- ${s} </head>`),o.includes("src/main")||(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
52
- </body>`)),o}var $t=v(require("fs"));g();function Yt(o={},t){let e=B.default.resolve(process.cwd(),o.docsDir||"docs"),r=D(e),n=t,s,l=!1,p=n?.plugins?.flatMap(i=>i.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(i,a){l=a.command==="build";let c=i.envDir||process.cwd(),d=(0,Zt.loadEnv)(a.mode,c,"");return Object.assign(process.env,d),n||(n=await nt(e)),{optimizeDeps:{include:["react","react-dom"]}}},configResolved(i){s=i},configureServer(i){let a=it.map(m=>B.default.resolve(process.cwd(),m)),c=["tsx","jsx"],d=c.map(m=>B.default.resolve(e,`layout.${m}`)),h=["tsx","ts","jsx","js"],$=h.map(m=>B.default.resolve(e,`mdx-components.${m}`));i.watcher.add([...a,...$,...d]);let u=async(m,f)=>{let x=D(m);if(it.some(y=>x.endsWith(y))){i.restart();return}if(h.some(y=>x.endsWith(`mdx-components.${y}`))){let y=i.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");y&&i.moduleGraph.invalidateModule(y),i.ws.send({type:"full-reload"});return}if(c.some(y=>x.endsWith(`layout.${y}`))){let y=i.moduleGraph.getModuleById("\0virtual:boltdocs-layout");y&&i.moduleGraph.invalidateModule(y),i.ws.send({type:"full-reload"});return}if(!x.startsWith(r)||!Tt(x))return;f==="add"||f==="unlink"?Ct():wt(m);let M=await K(e,n),w=i.moduleGraph.getModuleById("\0virtual:boltdocs-routes");w&&i.moduleGraph.invalidateModule(w),i.ws.send({type:"custom",event:"boltdocs:routes-update",data:M})};i.watcher.on("add",m=>u(m,"add")),i.watcher.on("unlink",m=>u(m,"unlink")),i.watcher.on("change",m=>u(m,"change"))},resolveId(i){if(i==="virtual:boltdocs-routes"||i==="virtual:boltdocs-config"||i==="virtual:boltdocs-entry"||i==="virtual:boltdocs-mdx-components"||i==="virtual:boltdocs-layout")return"\0"+i},async load(i){if(i==="\0virtual:boltdocs-routes"){let a=await K(e,n);return`export default ${JSON.stringify(a,null,2)};`}if(i==="\0virtual:boltdocs-config"){let a={themeConfig:n?.themeConfig,integrations:n?.integrations,i18n:n?.i18n,versions:n?.versions,siteUrl:n?.siteUrl};return`export default ${JSON.stringify(a,null,2)};`}if(i==="\0virtual:boltdocs-entry")return Jt(o,n);if(i==="\0virtual:boltdocs-mdx-components"){let a=["tsx","ts","jsx","js"],c=null;for(let d of a){let h=B.default.resolve(e,`mdx-components.${d}`);if($t.default.existsSync(h)){c=h;break}}if(c){let d=D(c);return`import * as components from '${d}';
66
+ `;return o.includes("<title>")?o=o.replace(/<title>.*?<\/title>/,`<title>${s}</title>`):o=o.replace("</head>",` <title>${s}</title>
67
+ </head>`),o=o.replace("</head>",` ${a}
68
+ ${p} </head>`),!o.includes("src/main")&&!o.includes("virtual:boltdocs-entry")&&(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
69
+ </body>`)),o}var at=y(require("fs"));g();function re(o={},t){let e=M.default.resolve(process.cwd(),o.docsDir||"docs"),s=R(e),i=t,r,a=!1,p=i?.plugins?.flatMap(n=>n.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(n,c){a=c.command==="build";let l=n.envDir||process.cwd(),u=(0,ie.loadEnv)(c.mode,l,"");return Object.assign(process.env,u),i||(i=await j(e)),{optimizeDeps:{include:["react","react-dom"]}}},configResolved(n){r=n},configureServer(n){n.middlewares.use((m,h,f)=>{if(m.url==="/robots.txt"){let $=rt(i);h.statusCode=200,h.setHeader("Content-Type","text/plain"),h.end($);return}f()}),n.middlewares.use(async(m,h,f)=>{let $=m.url?.split("?")[0]||"/";if((m.headers.accept||"").includes("text/html")&&!$.includes(".")){let P=M.default.resolve(process.cwd(),"index.html");if(!at.default.existsSync(P)){let v=oe(i);v=Rt(v,i),v=await n.transformIndexHtml(m.url||"/",v),h.statusCode=200,h.setHeader("Content-Type","text/html"),h.end(v);return}}f()});let c=nt.map(m=>M.default.resolve(process.cwd(),m)),l=["tsx","jsx"],u=l.map(m=>M.default.resolve(e,`layout.${m}`)),b=["tsx","ts","jsx","js"],x=b.map(m=>M.default.resolve(e,`mdx-components.${m}`));n.watcher.add([...c,...x,...u]);let d=async(m,h)=>{let f=R(m);if(nt.some(P=>f.endsWith(P))){n.restart();return}if(b.some(P=>f.endsWith(`mdx-components.${P}`))){let P=n.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");P&&n.moduleGraph.invalidateModule(P),n.ws.send({type:"full-reload"});return}if(l.some(P=>f.endsWith(`layout.${P}`))){let P=n.moduleGraph.getModuleById("\0virtual:boltdocs-layout");P&&n.moduleGraph.invalidateModule(P),n.ws.send({type:"full-reload"});return}if(!f.startsWith(s)||!jt(f))return;h==="add"||h==="unlink"?St():Dt(m);let $=await X(e,i),D=n.moduleGraph.getModuleById("\0virtual:boltdocs-routes");D&&n.moduleGraph.invalidateModule(D),n.ws.send({type:"custom",event:"boltdocs:routes-update",data:$})};n.watcher.on("add",m=>d(m,"add")),n.watcher.on("unlink",m=>d(m,"unlink")),n.watcher.on("change",m=>d(m,"change"))},resolveId(n){if(n==="virtual:boltdocs-routes"||n==="virtual:boltdocs-config"||n==="virtual:boltdocs-entry"||n==="virtual:boltdocs-mdx-components"||n==="virtual:boltdocs-layout")return"\0"+n},async load(n){if(n==="\0virtual:boltdocs-routes"){let c=await X(e,i);return`export default ${JSON.stringify(c,null,2)};`}if(n==="\0virtual:boltdocs-config"){let c={theme:i?.theme,themeConfig:i?.themeConfig,integrations:i?.integrations,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl};return`export default ${JSON.stringify(c,null,2)};`}if(n==="\0virtual:boltdocs-entry")return ee(o,i);if(n==="\0virtual:boltdocs-mdx-components"){let c=["tsx","ts","jsx","js"],l=null;for(let u of c){let b=M.default.resolve(e,`mdx-components.${u}`);if(at.default.existsSync(b)){l=b;break}}if(l){let u=R(l);return`import * as components from '${u}';
53
70
  const mdxComponents = components.default || components;
54
71
  export default mdxComponents;
55
- export * from '${d}';`}return"export default {};"}if(i==="\0virtual:boltdocs-layout"){let a=["tsx","jsx"],c=null;for(let d of a){let h=B.default.resolve(e,`layout.${d}`);if($t.default.existsSync(h)){c=h;break}}return c?`import UserLayout from '${D(c)}';
72
+ export * from '${u}';`}return"export default {};"}if(n==="\0virtual:boltdocs-layout"){let c=["tsx","jsx"],l=null;for(let u of c){let b=M.default.resolve(e,`layout.${u}`);if(at.default.existsSync(b)){l=b;break}}return l?`import UserLayout from '${R(l)}';
56
73
  export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
57
- export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(i){return Xt(i,n)}},async closeBundle(){if(!l)return;let i=s?.build?.outDir?B.default.resolve(s.root,s.build.outDir):B.default.resolve(process.cwd(),"dist"),a=B.default.basename(e||"docs");await rt({docsDir:e,docsDirName:a,outDir:i,config:n});let{flushCache:c}=await Promise.resolve().then(()=>(V(),Pt));await c()}},(0,Qt.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...p.filter(i=>!!i)]}g();var ee=v(require("@mdx-js/rollup")),oe=v(require("remark-gfm")),ie=v(require("remark-frontmatter")),ne=v(require("rehype-slug")),re=v(require("crypto")),St=require("unist-util-visit"),se=require("shiki");V();var st=null;async function ae(o){if(st)return st;let t=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(e=>{t.includes(e)||t.push(e)}),st=await(0,se.createHighlighter)({themes:t,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),st}function Ee(o){return async t=>{let e=o?.themeConfig?.codeTheme??{light:"github-light",dark:"github-dark"},r=await ae(e);(0,St.visit)(t,["mdxJsxFlowElement","mdxJsxTextElement"],n=>{if(n.name!=="ComponentPreview")return;let s=n.attributes?.find(a=>a.name==="code"),l="";if(s){if(typeof s.value=="string")l=s.value;else if(s.value?.type==="mdxJsxAttributeValueExpression"){let a=s.value.value??"";l=a.match(/^[`'"](.+)[`'"]$/)?.[1]??a}}if(!l)return;let p=typeof e=="object"?{themes:{light:e.light,dark:e.dark},lang:"tsx"}:{theme:e,lang:"tsx"},i=r.codeToHtml(l,p);n.attributes=(n.attributes??[]).filter(a=>a.name!=="highlightedHtml"),n.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:i})})}}function je(o){return async t=>{let e=o?.themeConfig?.codeTheme||{light:"github-light",dark:"github-dark"},r=await ae(e);(0,St.visit)(t,"element",n=>{if(n.tagName==="pre"&&n.children?.[0]?.tagName==="code"){let s=n.children[0],p=(s.properties?.className||[]).find(h=>h.startsWith("language-")),i=p?p.slice(9):"text",a=s.children[0]?.value||"",c={lang:i};typeof e=="object"?c.themes={light:e.light,dark:e.dark}:c.theme=e;let d=r.codeToHtml(a,c);n.properties.dataHighlighted="true",n.properties.highlightedHtml=d,n.children=[]}})}}var Le="v3",J=new q("mdx"),te=!1;function ce(o,t=ee.default){let e=o?.plugins?.flatMap(s=>s.remarkPlugins||[])||[],r=o?.plugins?.flatMap(s=>s.rehypePlugins||[])||[],n=t({remarkPlugins:[oe.default,ie.default,[Ee,o],...e],rehypePlugins:[ne.default,[je,o],...r],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return n.isMock&&console.log("MDX PLUGIN IS MOCKED"),{...n,name:"vite-plugin-boltdocs-mdx",async buildStart(){at=0,ct=0,te||(J.load(),te=!0),n.buildStart&&await n.buildStart.call(this)},async transform(s,l,p){if(!l.endsWith(".md")&&!l.endsWith(".mdx"))return n.transform?.call(this,s,l,p);console.log(`[boltdocs] Transforming MDX: ${l}`),ct++;let i=re.default.createHash("md5").update(s).digest("hex"),a=`${l}:${i}:${Le}`,c=J.get(a);if(c)return at++,{code:c,map:null};let d=await n.transform.call(this,s,l,p);return d&&typeof d=="object"&&d.code&&J.set(a,d.code),d},async buildEnd(){console.log(`[boltdocs] MDX Cache Performance: ${at}/${ct} hits (${Math.round(at/ct*100)||0}%)`),J.save(),await J.flush(),n.buildEnd&&await n.buildEnd.call(this)}}}var at=0,ct=0;async function le(o){let t=o?.docsDir||"docs",e=await nt(t);return[...Yt(o,e),ce(e)]}0&&(module.exports={generateStaticPages});
74
+ export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(n){return Rt(n,i)}},async closeBundle(){if(!a)return;let n=r?.build?.outDir?M.default.resolve(r.root,r.build.outDir):M.default.resolve(process.cwd(),"dist"),c=M.default.basename(e||"docs");await st({docsDir:e,docsDirName:c,outDir:n,config:i});let{flushCache:l}=await Promise.resolve().then(()=>(K(),$t));await l()}},(0,ne.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...p.filter(n=>!!n)]}g();var ae=y(require("@mdx-js/rollup")),ce=y(require("remark-gfm")),le=y(require("remark-frontmatter")),de=y(require("rehype-slug")),me=y(require("crypto")),Mt=require("unist-util-visit"),pe=require("shiki");K();var ct=null;async function ue(o){if(ct)return ct;let t=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(e=>{t.includes(e)||t.push(e)}),ct=await(0,pe.createHighlighter)({themes:t,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),ct}function Ae(o){return async t=>{let e=o?.themeConfig?.codeTheme??{light:"github-light",dark:"github-dark"},s=await ue(e);(0,Mt.visit)(t,["mdxJsxFlowElement","mdxJsxTextElement"],i=>{if(i.name!=="ComponentPreview")return;let r=i.attributes?.find(c=>c.name==="code"),a="";if(r){if(typeof r.value=="string")a=r.value;else if(r.value?.type==="mdxJsxAttributeValueExpression"){let c=r.value.value??"";a=c.match(/^[`'"](.+)[`'"]$/)?.[1]??c}}if(!a)return;let p=typeof e=="object"?{themes:{light:e.light,dark:e.dark},lang:"tsx"}:{theme:e,lang:"tsx"},n=s.codeToHtml(a,p);i.attributes=(i.attributes??[]).filter(c=>c.name!=="highlightedHtml"),i.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:n})})}}function Ne(o){return async t=>{let e=o?.themeConfig?.codeTheme||{light:"github-light",dark:"github-dark"},s=await ue(e);(0,Mt.visit)(t,"element",i=>{if(i.tagName==="pre"&&i.children?.[0]?.tagName==="code"){let r=i.children[0],p=(r.properties?.className||[]).find(b=>b.startsWith("language-")),n=p?p.slice(9):"text",c=r.children[0]?.value||"",l={lang:n};typeof e=="object"?l.themes={light:e.light,dark:e.dark}:l.theme=e;let u=s.codeToHtml(c,l);i.properties.dataHighlighted="true",i.properties.highlightedHtml=u,i.children=[]}})}}var Ue="v3",Z=new W("mdx"),se=!1;function ge(o,t=ae.default){let e=o?.plugins?.flatMap(r=>r.remarkPlugins||[])||[],s=o?.plugins?.flatMap(r=>r.rehypePlugins||[])||[],i=t({remarkPlugins:[ce.default,le.default,[Ae,o],...e],rehypePlugins:[de.default,[Ne,o],...s],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return i.isMock&&console.log("MDX PLUGIN IS MOCKED"),{...i,name:"vite-plugin-boltdocs-mdx",async buildStart(){lt=0,dt=0,se||(Z.load(),se=!0),i.buildStart&&await i.buildStart.call(this)},async transform(r,a,p){if(!a.endsWith(".md")&&!a.endsWith(".mdx"))return i.transform?.call(this,r,a,p);console.log(`[boltdocs] Transforming MDX: ${a}`),dt++;let n=me.default.createHash("md5").update(r).digest("hex"),c=`${a}:${n}:${Ue}`,l=Z.get(c);if(l)return lt++,{code:l,map:null};let u=await i.transform.call(this,r,a,p);return u&&typeof u=="object"&&u.code&&Z.set(c,u.code),u},async buildEnd(){console.log(`[boltdocs] MDX Cache Performance: ${lt}/${dt} hits (${Math.round(lt/dt*100)||0}%)`),Z.save(),await Z.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}var lt=0,dt=0;async function kt(o){let t=o?.docsDir||"docs",e=await j(t),s={...o,homePage:o?.homePage||e.homePage};return[...re(s,e),ge(e)]}async function Ge(o,t="development"){let e=await j("docs",o);return{root:o,mode:t,plugins:[(0,fe.default)(),(0,he.default)(),await kt({docsDir:e.docsDir,homePage:e.homePage})],...e.vite}}0&&(module.exports={createViteConfig,defineConfig,generateStaticPages,resolveConfig});
@@ -1,57 +1 @@
1
- import{a as $,b as G,c as H,d as it,e as nt,f as D,g as J,h as rt,i as _,j as X,k as j,l as st,m as at}from"../chunk-MFU7Q6WF.mjs";import"../chunk-JZXLCA2E.mjs";import{loadEnv as zt}from"vite";import jt from"fast-glob";var R=new st({name:"routes"});function K(){R.invalidateAll()}function Z(o){R.invalidate(o)}import F from"path";import Dt from"github-slugger";function lt(o,r,i,p){let e=decodeURIComponent(o),c=F.resolve(e),l=F.resolve(r),u=$(F.relative(l,c));if(u.startsWith("../")||u===".."||c.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:t,content:n}=nt(o),s=u.split("/"),a,f;if(p?.versions&&s.length>0){let C=s[0];p.versions.versions[C]&&(f=C,s=s.slice(1))}if(p?.i18n&&s.length>0){let C=s[0];p.i18n.locales[C]&&(a=C,s=s.slice(1))}let v;if(s.length>0){let C=s[0].match(/^\((.+)\)$/);C&&(v=C[1].toLowerCase(),s=s.slice(1))}let d=s.join("/"),m;t.permalink?m=t.permalink.startsWith("/")?t.permalink:`/${t.permalink}`:m=rt(d||"index.md");let g=i;f&&(g+="/"+f),a&&(g+="/"+a),g+=m==="/"?"":m,(!g||g==="")&&(g="/");let y=s[s.length-1],k=G(y),x=G(F.basename(o,F.extname(o))),h=t.sidebarPosition??H(y),w=s.length>=2?s[0]:void 0,S=w?G(w):void 0,L=s.length>=2&&/^index\.mdx?$/.test(k),$t=new Dt,tt=[],wt=/^(#{2,4})\s+(.+)$/gm,V;for(;(V=wt.exec(n))!==null;){let C=V[1].length,St=V[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),ot=_(St).trim(),Mt=$t.slug(ot);tt.push({level:C,text:ot,id:Mt})}let kt=t.title?_(String(t.title)):x,W=t.description?_(String(t.description)):"";!W&&n&&(W=X(n.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let Rt=t.badge?_(String(t.badge)):void 0,et=t.icon?String(t.icon):void 0,Bt=Tt(n);return{route:{path:g,componentPath:o,filePath:u,title:kt,description:W,sidebarPosition:h,headings:tt,locale:a,version:f,badge:Rt,icon:et,tab:v,_content:Bt,_rawContent:n},relativeDir:S,isGroupIndex:L,inferredTab:v,groupMeta:L?{title:t.groupTitle||t.title||(S?j(S):""),position:t.groupPosition??t.sidebarPosition??(w?H(w):void 0),icon:et}:void 0,inferredGroupPosition:w?H(w):void 0}}function Tt(o){let r=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return X(r).trim()}function dt(o){return o.sort((r,i)=>!r.group&&!i.group?ct(r,i):r.group?i.group?r.group!==i.group?_t(r,i):ct(r,i):1:-1)}function ct(o,r){return o.sidebarPosition!==void 0&&r.sidebarPosition!==void 0?o.sidebarPosition-r.sidebarPosition:o.sidebarPosition!==void 0?-1:r.sidebarPosition!==void 0?1:o.title.localeCompare(r.title)}function _t(o,r){return o.groupPosition!==void 0&&r.groupPosition!==void 0?o.groupPosition-r.groupPosition:o.groupPosition!==void 0?-1:r.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(r.groupTitle||r.group)}var E=new Map;async function I(o,r,i="/docs"){let p=performance.now();R.load(),E.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||r?.i18n)&&R.invalidateAll();let e=await jt(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1});R.pruneStale(new Set(e));let c=50,l=[],u=0;for(let d=0;d<e.length;d+=c){let m=e.slice(d,d+c),g=await Promise.all(m.map(async y=>{let k=R.get(y);if(k)return u++,k;let x=lt(y,o,i,r);return R.set(y,x),x}));l.push(...g),d+c<e.length&&await new Promise(y=>setImmediate(y))}R.save();let t=new Map,n=[];for(let d of l)if(d.isGroupIndex&&d.relativeDir&&n.push(d),d.relativeDir){let m=t.get(d.relativeDir);m?(m.position===void 0&&d.inferredGroupPosition!==void 0&&(m.position=d.inferredGroupPosition),!m.icon&&d.route.icon&&(m.icon=d.route.icon)):(m={title:j(d.relativeDir),position:d.inferredGroupPosition,icon:d.route.icon},t.set(d.relativeDir,m))}for(let d of n){let m=t.get(d.relativeDir);d.groupMeta&&(m.title=d.groupMeta.title,d.groupMeta.position!==void 0&&(m.position=d.groupMeta.position),d.groupMeta.icon&&(m.icon=d.groupMeta.icon))}let s=new Array(l.length);for(let d=0;d<l.length;d++){let m=l[d],g=m.relativeDir,y=g?t.get(g):void 0;s[d]={...m.route,group:g,groupTitle:y?.title||(g?j(g):void 0),groupPosition:y?.position,groupIcon:y?.icon}}let a=s;if(r?.i18n){let d=Ft(s,r,i);a=[...s,...d]}let f=dt(a),v=performance.now()-p;return console.log(`[boltdocs] Route generation: ${v.toFixed(2)}ms (${e.length} files, ${u} cache hits)`),f}function Ft(o,r,i){let p=r.i18n.defaultLocale,e=Object.keys(r.i18n.locales),c=[],l=new Map,u=[];for(let t of o){let n=t.locale||p;l.has(n)||l.set(n,new Set),l.get(n).add(t.path),n===p&&u.push(t)}for(let t of e){if(t===p)continue;let n=l.get(t)||new Set;for(let s of u){let a=Et(s.path,p,t,i);n.has(a)||c.push({...s,path:a,locale:t})}}return c}function Et(o,r,i,p){let e=`${o}:${i}`,c=E.get(e);if(c)return c;let l=p,u=o.match(new RegExp(`^${p}/(v[0-9]+)`));u&&(l+="/"+u[1]);let t=o.substring(l.length),n=`/${r}`;if(t.startsWith(n+"/"))t="/"+i+"/"+t.substring(n.length+1);else if(t===n)t="/"+i;else if(t==="/"||t==="")t="/"+i;else{let a=t.startsWith("/")?"":"/";t="/"+i+a+t}let s=l+t;return E.size>2e3&&E.clear(),E.set(e,s),s}import{ViteImageOptimizer as Ut}from"vite-plugin-image-optimizer";import Q from"path";import It from"fs";import{loadConfigFromFile as Ot}from"vite";var N=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function z(o,r=process.cwd()){let i=r,p={docsDir:Q.resolve(o),themeConfig:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},e={};for(let t of N){let n=Q.resolve(i,t);if(It.existsSync(n))try{let s=await Ot({command:"serve",mode:"development"},n,i);if(s){e=s.config;break}}catch(s){console.warn(`[boltdocs] Failed to load config from ${t}:`,s)}}let l={...{title:e.title,description:e.description,logo:e.logo,navbar:e.navbar,sidebar:e.sidebar,socialLinks:e.socialLinks,footer:e.footer,githubRepo:e.githubRepo,tabs:e.tabs},...e.themeConfig||{}},u=Object.fromEntries(Object.entries(l).filter(([t,n])=>n!==void 0));return u.navbar&&(u.navbar=u.navbar.map(t=>({label:t.label||t.text||"",href:t.href||t.link||t.to||"",items:t.items?.map(n=>({label:n.label||n.text||"",href:n.href||n.link||n.to||""}))}))),{docsDir:Q.resolve(o),themeConfig:{...p.themeConfig,...u,codeTheme:u.codeTheme||(e.themeConfig||e).codeTheme||p.themeConfig?.codeTheme},i18n:e.i18n,versions:e.versions,siteUrl:e.siteUrl,plugins:e.plugins||[],external:e.external,integrations:e.integrations}}import T from"fs";import M from"path";import{fileURLToPath as Lt}from"url";import{createRequire as Gt}from"module";function pt(o,r){let i=D(r.title),p=D(r.description);return o.replace(/<title>.*?<\/title>/,`<title>${i}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${p}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${i}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${p}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${i}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${p}$2`)}function mt(o,r){let i=r?.siteUrl?.replace(/\/$/,"")||"https://example.com",p=new Date().toISOString().split("T")[0],e=[{url:"/",priority:"1.0",changefreq:"daily"}];if(r?.i18n){let l=r.i18n.defaultLocale;for(let u of Object.keys(r.i18n.locales))u!==l&&e.push({url:`/${u}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
2
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
- ${[...e,...o.map(l=>({url:l,priority:"0.8",changefreq:"weekly"}))].map(l=>` <url>
4
- <loc>${J(i)}${J(l.url)}</loc>
5
- <lastmod>${p}</lastmod>
6
- <changefreq>${l.changefreq}</changefreq>
7
- <priority>${l.priority}</priority>
8
- </url>`).join(`
9
- `)}
10
- </urlset>`}var Ht=Lt(import.meta.url),ut=M.dirname(Ht),gt=Gt(import.meta.url);async function Y(o){let{docsDir:r,docsDirName:i,outDir:p,config:e}=o,c=await I(r,e),l=e?.themeConfig?.title||"Boltdocs",u=e?.themeConfig?.description||"",t=M.resolve(ut,"../client/ssr.js");if(!T.existsSync(t)){console.error("[boltdocs] SSR module not found at",t,"- Did you build the core package?");return}let n=gt("module"),s=n.prototype.require;n.prototype.require=function(g,...y){return g==="virtual:boltdocs-layout"?{__esModule:!0,default:function(x){try{let w=s.apply(this,[M.resolve(ut,"../client/index.js")]).DefaultLayout||(({children:L})=>L);return s.apply(this,["react"]).createElement(w,x)}catch{return x.children}}}:s.apply(this,[g,...y])};let{render:a}=gt(t);n.prototype.require=s;let f=M.join(p,"index.html");if(!T.existsSync(f)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let v=T.readFileSync(f,"utf-8");await Promise.all(c.map(async g=>{let y=`${g.title} | ${l}`,k=g.description||u,x={};x[`/${i}/${g.filePath}`]={default:()=>null};try{let h=await a({path:g.path,routes:c,config:e||{},docsDirName:i,modules:x,homePage:void 0}),w=pt(v,{title:D(y),description:D(k)}).replace("<!--app-html-->",h).replace('<div id="root"></div>',`<div id="root">${h}</div>`),S=M.join(p,g.path);await T.promises.mkdir(S,{recursive:!0}),await T.promises.writeFile(M.join(S,"index.html"),w,"utf-8")}catch(h){console.error(`[boltdocs] Error SSR rendering route ${g.path}:`,h&&(h.stack||h))}}));let d=mt(c.map(g=>g.path),e);T.writeFileSync(M.join(p,"sitemap.xml"),d,"utf-8"),console.log(`[boltdocs] Generated ${c.length} static pages + sitemap.xml`);let{flushCache:m}=await import("../cache-7G6D532T.mjs");await m()}import B from"path";import Nt from"path";function ft(o,r){let i=o.homePage?`import HomePage from '${$(o.homePage)}';`:"",p=o.homePage?"homePage: HomePage,":"",e=r?.plugins?.flatMap(a=>Object.entries(a.components||{}))||[],c=e.map(([a,f])=>`import * as _comp_${a} from '${$(f)}';
11
- const ${a} = _comp_${a}.default || _comp_${a}['${a}'] || _comp_${a};`).join(`
12
- `),l=e.map(([a])=>a).join(", "),u=Nt.basename(o.docsDir||"docs"),t=Object.entries(r?.external||{}),n=t.map(([a,f],v)=>`import _ext_${v} from '${$(f)}';`).join(`
13
- `),s=t.length>0?`externalPages: { ${t.map(([a],f)=>`"${a}": _ext_${f}`).join(", ")} },`:"";return`
14
- import { createBoltdocsApp as _createApp } from 'boltdocs/client';
15
- import _routes from 'virtual:boltdocs-routes';
16
- import _config from 'virtual:boltdocs-config';
17
- import _user_mdx_components from 'virtual:boltdocs-mdx-components';
18
- ${i}
19
- ${c}
20
- ${n}
21
-
22
- _createApp({
23
- target: '#root',
24
- routes: _routes,
25
- docsDirName: '${u}',
26
- config: _config,
27
- modules: import.meta.glob('/${u}/**/*.{md,mdx}'),
28
- hot: import.meta.hot,
29
- ${p}
30
- ${s}
31
- components: { ${l}${l?", ":""} ...(_user_mdx_components || {}) },
32
- });
33
- `}function ht(o,r){let i=r.themeConfig?.title||"Boltdocs",p=r.themeConfig?.description||"",e=[`<meta name="description" content="${p}">`,`<meta property="og:title" content="${i}">`,`<meta property="og:description" content="${p}">`,'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary">',`<meta name="twitter:title" content="${i}">`,`<meta name="twitter:description" content="${p}">`,'<meta name="generator" content="Boltdocs">'].join(`
34
- `),c=`
35
- <script>
36
- (function() {
37
- try {
38
- var stored = localStorage.getItem("boltdocs-theme");
39
- var theme = stored || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
40
- if (theme === "light") {
41
- document.documentElement.classList.add("theme-light");
42
- document.documentElement.dataset.theme = "light";
43
- } else {
44
- document.documentElement.classList.remove("theme-light");
45
- document.documentElement.dataset.theme = "dark";
46
- }
47
- } catch (e) {}
48
- })();
49
- </script>
50
- `;return o=o.replace(/<title>.*?<\/title>/,`<title>${i}</title>`),o=o.replace("</head>",` ${e}
51
- ${c} </head>`),o.includes("src/main")||(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
52
- </body>`)),o}import yt from"fs";function xt(o={},r){let i=B.resolve(process.cwd(),o.docsDir||"docs"),p=$(i),e=r,c,l=!1,u=e?.plugins?.flatMap(t=>t.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(t,n){l=n.command==="build";let s=t.envDir||process.cwd(),a=zt(n.mode,s,"");return Object.assign(process.env,a),e||(e=await z(i)),{optimizeDeps:{include:["react","react-dom"]}}},configResolved(t){c=t},configureServer(t){let n=N.map(m=>B.resolve(process.cwd(),m)),s=["tsx","jsx"],a=s.map(m=>B.resolve(i,`layout.${m}`)),f=["tsx","ts","jsx","js"],v=f.map(m=>B.resolve(i,`mdx-components.${m}`));t.watcher.add([...n,...v,...a]);let d=async(m,g)=>{let y=$(m);if(N.some(h=>y.endsWith(h))){t.restart();return}if(f.some(h=>y.endsWith(`mdx-components.${h}`))){let h=t.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");h&&t.moduleGraph.invalidateModule(h),t.ws.send({type:"full-reload"});return}if(s.some(h=>y.endsWith(`layout.${h}`))){let h=t.moduleGraph.getModuleById("\0virtual:boltdocs-layout");h&&t.moduleGraph.invalidateModule(h),t.ws.send({type:"full-reload"});return}if(!y.startsWith(p)||!it(y))return;g==="add"||g==="unlink"?K():Z(m);let k=await I(i,e),x=t.moduleGraph.getModuleById("\0virtual:boltdocs-routes");x&&t.moduleGraph.invalidateModule(x),t.ws.send({type:"custom",event:"boltdocs:routes-update",data:k})};t.watcher.on("add",m=>d(m,"add")),t.watcher.on("unlink",m=>d(m,"unlink")),t.watcher.on("change",m=>d(m,"change"))},resolveId(t){if(t==="virtual:boltdocs-routes"||t==="virtual:boltdocs-config"||t==="virtual:boltdocs-entry"||t==="virtual:boltdocs-mdx-components"||t==="virtual:boltdocs-layout")return"\0"+t},async load(t){if(t==="\0virtual:boltdocs-routes"){let n=await I(i,e);return`export default ${JSON.stringify(n,null,2)};`}if(t==="\0virtual:boltdocs-config"){let n={themeConfig:e?.themeConfig,integrations:e?.integrations,i18n:e?.i18n,versions:e?.versions,siteUrl:e?.siteUrl};return`export default ${JSON.stringify(n,null,2)};`}if(t==="\0virtual:boltdocs-entry")return ft(o,e);if(t==="\0virtual:boltdocs-mdx-components"){let n=["tsx","ts","jsx","js"],s=null;for(let a of n){let f=B.resolve(i,`mdx-components.${a}`);if(yt.existsSync(f)){s=f;break}}if(s){let a=$(s);return`import * as components from '${a}';
53
- const mdxComponents = components.default || components;
54
- export default mdxComponents;
55
- export * from '${a}';`}return"export default {};"}if(t==="\0virtual:boltdocs-layout"){let n=["tsx","jsx"],s=null;for(let a of n){let f=B.resolve(i,`layout.${a}`);if(yt.existsSync(f)){s=f;break}}return s?`import UserLayout from '${$(s)}';
56
- export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
57
- export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(t){return ht(t,e)}},async closeBundle(){if(!l)return;let t=c?.build?.outDir?B.resolve(c.root,c.build.outDir):B.resolve(process.cwd(),"dist"),n=B.basename(i||"docs");await Y({docsDir:i,docsDirName:n,outDir:t,config:e});let{flushCache:s}=await import("../cache-7G6D532T.mjs");await s()}},Ut({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...u.filter(t=>!!t)]}import qt from"@mdx-js/rollup";import At from"remark-gfm";import Vt from"remark-frontmatter";import Wt from"rehype-slug";import Jt from"crypto";import{visit as Pt}from"unist-util-visit";import{createHighlighter as Xt}from"shiki";var U=null;async function vt(o){if(U)return U;let r=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(i=>{r.includes(i)||r.push(i)}),U=await Xt({themes:r,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),U}function Kt(o){return async r=>{let i=o?.themeConfig?.codeTheme??{light:"github-light",dark:"github-dark"},p=await vt(i);Pt(r,["mdxJsxFlowElement","mdxJsxTextElement"],e=>{if(e.name!=="ComponentPreview")return;let c=e.attributes?.find(n=>n.name==="code"),l="";if(c){if(typeof c.value=="string")l=c.value;else if(c.value?.type==="mdxJsxAttributeValueExpression"){let n=c.value.value??"";l=n.match(/^[`'"](.+)[`'"]$/)?.[1]??n}}if(!l)return;let u=typeof i=="object"?{themes:{light:i.light,dark:i.dark},lang:"tsx"}:{theme:i,lang:"tsx"},t=p.codeToHtml(l,u);e.attributes=(e.attributes??[]).filter(n=>n.name!=="highlightedHtml"),e.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:t})})}}function Zt(o){return async r=>{let i=o?.themeConfig?.codeTheme||{light:"github-light",dark:"github-dark"},p=await vt(i);Pt(r,"element",e=>{if(e.tagName==="pre"&&e.children?.[0]?.tagName==="code"){let c=e.children[0],u=(c.properties?.className||[]).find(f=>f.startsWith("language-")),t=u?u.slice(9):"text",n=c.children[0]?.value||"",s={lang:t};typeof i=="object"?s.themes={light:i.light,dark:i.dark}:s.theme=i;let a=p.codeToHtml(n,s);e.properties.dataHighlighted="true",e.properties.highlightedHtml=a,e.children=[]}})}}var Qt="v3",O=new at("mdx"),bt=!1;function Ct(o,r=qt){let i=o?.plugins?.flatMap(c=>c.remarkPlugins||[])||[],p=o?.plugins?.flatMap(c=>c.rehypePlugins||[])||[],e=r({remarkPlugins:[At,Vt,[Kt,o],...i],rehypePlugins:[Wt,[Zt,o],...p],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return e.isMock&&console.log("MDX PLUGIN IS MOCKED"),{...e,name:"vite-plugin-boltdocs-mdx",async buildStart(){q=0,A=0,bt||(O.load(),bt=!0),e.buildStart&&await e.buildStart.call(this)},async transform(c,l,u){if(!l.endsWith(".md")&&!l.endsWith(".mdx"))return e.transform?.call(this,c,l,u);console.log(`[boltdocs] Transforming MDX: ${l}`),A++;let t=Jt.createHash("md5").update(c).digest("hex"),n=`${l}:${t}:${Qt}`,s=O.get(n);if(s)return q++,{code:s,map:null};let a=await e.transform.call(this,c,l,u);return a&&typeof a=="object"&&a.code&&O.set(n,a.code),a},async buildEnd(){console.log(`[boltdocs] MDX Cache Performance: ${q}/${A} hits (${Math.round(q/A*100)||0}%)`),O.save(),await O.flush(),e.buildEnd&&await e.buildEnd.call(this)}}}var q=0,A=0;async function Yt(o){let r=o?.docsDir||"docs",i=await z(r);return[...xt(o,i),Ct(i)]}export{Yt as default,Y as generateStaticPages};
1
+ import{a,b,c,f as d,g as e,h as f}from"../chunk-V2ZHKQSP.mjs";import"../chunk-PNXZMUCO.mjs";f();export{e as createViteConfig,d as default,a as defineConfig,c as generateStaticPages,b as resolveConfig};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunk-ISPX45DF.mjs";import{h as g,i as h,j as u,k as m,l as S,m as d,n as p,o as y,p as D}from"./chunk-BVWWKXJH.mjs";import"./chunk-52MVMZWS.mjs";import{useEffect as K,useCallback as M}from"react";import{useNavigate as R}from"react-router-dom";import{Fragment as T,jsx as o,jsxs as n}from"react/jsx-runtime";function A({routes:v}){let{isOpen:I,setIsOpen:a,query:w,setQuery:k,list:E}=f(v),r=R();K(()=>{let e=t=>{(/Mac/.test(navigator.userAgent)?t.metaKey:t.ctrlKey)&&(t.key==="k"||t.key==="j")&&(t.preventDefault(),a(i=>!i))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a]);let l=M(e=>{let t=String(e);if(a(!1),t.includes("#")){let[s,c]=t.split("#");r(s),setTimeout(()=>{let i=document.getElementById(c);i&&i.scrollIntoView({behavior:"smooth"})},100)}else r(t)},[r,a]);return n(T,{children:[o(g.SearchTrigger,{onPress:()=>a(!0)}),o(h,{isOpen:I,onOpenChange:a,children:n(u,{onSelectionChange:l,children:[o(m,{value:w,onChange:e=>k(e.target.value)}),o(S,{items:E,children:e=>n(d,{onPress:()=>l(e.id),textValue:e.title,children:[o(p,{isHeading:e.isHeading}),n("div",{className:"flex flex-col justify-center gap-0.5",children:[o(y,{children:e.title}),o(D,{children:e.groupTitle})]})]},e.id)})]})})]})}export{A as SearchDialog};