boltdocs 3.0.1 → 3.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 (113) hide show
  1. package/README.md +2 -18
  2. package/dist/{adapters-C5AWWGfb.cjs → adapters-uGz-UKQa.cjs} +1 -1
  3. package/dist/{banner-DNSkgUsO.d.cts → banner-DdSgCs4G.d.cts} +1 -1
  4. package/dist/{banner-CfdalYLL.d.ts → banner-DjujkctF.d.ts} +1 -1
  5. package/dist/cache-B0C2i0yP.mjs +6 -0
  6. package/dist/cache-CfRTUzWC.cjs +6 -0
  7. package/dist/chunk-hT5z_Zn9-DsJawvsz.mjs +6 -0
  8. package/dist/chunk-hT5z_Zn9-SKz6VFXu.cjs +6 -0
  9. package/dist/client/index.cjs +227 -101
  10. package/dist/client/index.d.cts +57 -16
  11. package/dist/client/index.d.ts +57 -16
  12. package/dist/client/index.js +227 -102
  13. package/dist/client/mdx.cjs +1 -1
  14. package/dist/client/mdx.js +1 -1
  15. package/dist/client/primitives.cjs +4 -4
  16. package/dist/client/primitives.d.cts +1 -1
  17. package/dist/client/primitives.d.ts +1 -1
  18. package/dist/client/primitives.js +4 -4
  19. package/dist/client/theme/neutral.css +1 -3
  20. package/dist/{config-JGkMJoJQ.cjs → config-BxsogK5A.cjs} +1 -1
  21. package/dist/config-DAgpZyh6.mjs +7 -0
  22. package/dist/config-DrRQYDCI.cjs +7 -0
  23. package/dist/{docs-layout-3TpAt6MB.cjs → docs-layout-D1buSdua.cjs} +1 -1
  24. package/dist/{docs-layout-6FQ8__ok.js → docs-layout-DyLDBwS6.js} +1 -1
  25. package/dist/{doctor-DQxLM202.cjs → doctor-BadGEhXv.cjs} +1 -1
  26. package/dist/{doctor-BR1B2Mkz.cjs → doctor-DPDcRKM1.cjs} +1 -1
  27. package/dist/{doctor-3MheVMwd.mjs → doctor-vDsUDgqp.mjs} +1 -1
  28. package/dist/escape-string-regexp-AG8q1e25-9Un9V90q.mjs +6 -0
  29. package/dist/escape-string-regexp-AG8q1e25-bJ9Ixe7c.cjs +6 -0
  30. package/dist/esm-shims-DSep1HcR.mjs +6 -0
  31. package/dist/{icons-dev-kJyGWNeg.js → icons-dev-CHZOwhQA.js} +8 -3
  32. package/dist/{icons-dev-BryEFkJu.cjs → icons-dev-YtDoLUsb.cjs} +8 -3
  33. package/dist/{image-C9md50h2.js → image-5WsgWYTh.js} +2 -2
  34. package/dist/{image-CR6UlaI5.cjs → image-Hb105Gu6.cjs} +2 -2
  35. package/dist/lib-BR0SoanK-CLswltLI.cjs +6 -0
  36. package/dist/lib-BR0SoanK-DcYeDrE6.mjs +6 -0
  37. package/dist/lib-DPoCz1YB-CLYXwKST.cjs +6 -0
  38. package/dist/lib-DPoCz1YB-CyGOqgSO.mjs +6 -0
  39. package/dist/{mdx-DhyMkc35.js → mdx-Bv-pS6-O.js} +6 -2
  40. package/dist/{mdx-DJBg5DuL.cjs → mdx-CDUcJmye.cjs} +6 -2
  41. package/dist/micromark-util-character-5KqJafVT-C6gnc770.cjs +6 -0
  42. package/dist/micromark-util-character-5KqJafVT-DkPKsbgn.mjs +6 -0
  43. package/dist/node/cache.cjs +6 -0
  44. package/dist/node/cache.d.cts +83 -0
  45. package/dist/node/cache.d.mts +83 -0
  46. package/dist/node/cache.mjs +6 -0
  47. package/dist/node/cli-entry.cjs +3 -3
  48. package/dist/node/cli-entry.mjs +3 -3
  49. package/dist/node/index.cjs +1 -1
  50. package/dist/node/index.d.cts +10 -467
  51. package/dist/node/index.d.mts +12 -468
  52. package/dist/node/index.mjs +1 -1
  53. package/dist/node/mdx/shiki-adapter.cjs +6 -0
  54. package/dist/node/mdx/shiki-adapter.d.cts +3 -0
  55. package/dist/node/mdx/shiki-adapter.d.mts +3 -0
  56. package/dist/node/mdx/shiki-adapter.mjs +6 -0
  57. package/dist/node-BDBv8CT6.mjs +104 -0
  58. package/dist/node-DFV_FV0y.mjs +6 -0
  59. package/dist/node-DqsP7kXz.cjs +6 -0
  60. package/dist/node-yFmAavND.cjs +104 -0
  61. package/dist/{package-BovY3RQH.mjs → package-CoHWTf0N.mjs} +1 -1
  62. package/dist/{package-DnyxhwD-.cjs → package-_-Oa8-qN.cjs} +1 -1
  63. package/dist/{parser-D0QHIQsi.mjs → parser-BZJgAa9E.mjs} +1 -1
  64. package/dist/{parser-CNIPHx4s.cjs → parser-DlanzESE.cjs} +1 -1
  65. package/dist/plugin-BVuwx5D9.cjs +73 -0
  66. package/dist/plugin-BoxD91Yh.mjs +73 -0
  67. package/dist/rehype-slug--ZOxZ-_K-BNeYC4aT.cjs +6 -0
  68. package/dist/rehype-slug--ZOxZ-_K-CjIQEJCs.mjs +6 -0
  69. package/dist/remark-frontmatter-wFYRLcCt-CutW0gA3.mjs +8 -0
  70. package/dist/remark-frontmatter-wFYRLcCt-ENB5qG3y.cjs +8 -0
  71. package/dist/remark-gfm-B8TMkQbX-CjUJo8Rd.cjs +21 -0
  72. package/dist/remark-gfm-B8TMkQbX-Ctu0VV1_.mjs +21 -0
  73. package/dist/rollup-DMqoG11U-CKcJ37u_.mjs +59 -0
  74. package/dist/rollup-DMqoG11U-DKdxvZIj.cjs +59 -0
  75. package/dist/routes-BN2XbGcT.mjs +6 -0
  76. package/dist/routes-Cnq8xTCv.cjs +6 -0
  77. package/dist/{routes-BajCwrvX.cjs → routes-D_S9kjkS.cjs} +1 -1
  78. package/dist/{search-dialog-cHJoKjts.cjs → search-dialog-BIuxGQsg.cjs} +1 -1
  79. package/dist/{search-dialog-CwNh8lIN.cjs → search-dialog-BbtxA1uT.cjs} +12 -10
  80. package/dist/{search-dialog-D4rplZMv.cjs → search-dialog-BpNULmrl.cjs} +1 -1
  81. package/dist/{search-dialog-DoGobmuG.js → search-dialog-DC7oXU-5.js} +12 -10
  82. package/dist/{search-dialog-DaeSPvEo.js → search-dialog-PJrFRU5G.js} +1 -1
  83. package/dist/{search-dialog-CQneRo8T.js → search-dialog-gp9lrJXm.js} +1 -1
  84. package/dist/server/index.cjs +1 -1
  85. package/dist/server/index.d.mts +1 -1
  86. package/dist/shiki-adapter-CK3llqw2.mjs +6 -0
  87. package/dist/shiki-adapter-fS94vy-z.d.mts +534 -0
  88. package/dist/shiki-adapter-l2kEP5rn.d.cts +534 -0
  89. package/dist/{sidebar-BAKgJ-Er.d.ts → sidebar-DH2iPKXM.d.cts} +187 -10
  90. package/dist/{sidebar-7gIifpBX.d.cts → sidebar-DknLUI1R.d.ts} +187 -10
  91. package/package.json +15 -4
  92. package/src/shared/types.ts +177 -10
  93. package/dist/cache-DETwlACe.cjs +0 -6
  94. package/dist/cache-SF59enb3.mjs +0 -6
  95. package/dist/config-B5uVv5q4.cjs +0 -7
  96. package/dist/config-D3_zDkHh.mjs +0 -7
  97. package/dist/node-Ct4PB0S_.mjs +0 -105
  98. package/dist/node-joF9IMNr.cjs +0 -105
  99. package/dist/plugin-DeOYQvry.cjs +0 -68
  100. package/dist/plugin-IBKz7CRF.mjs +0 -68
  101. package/dist/routes-CyrnmVuG.mjs +0 -6
  102. package/dist/routes-D6Tuu7Fs.cjs +0 -6
  103. package/dist/shiki-adapter-CXEGRnjr.mjs +0 -6
  104. package/dist/shiki-adapter-Mr8_oT_9.cjs +0 -6
  105. /package/dist/{csp-CBysWlAf.cjs → csp-BX06rvdg.cjs} +0 -0
  106. /package/dist/{csp-gaZ51xzq.mjs → csp-z2D0FuRW.mjs} +0 -0
  107. /package/dist/{generator-DtUU3Cfk.cjs → generator-BN75lJOv.cjs} +0 -0
  108. /package/dist/{handler-Dzf4dSnV.cjs → handler-1LRMYeI4.cjs} +0 -0
  109. /package/dist/{headers-CXyf0auY.mjs → headers-CL0pMcwm.mjs} +0 -0
  110. /package/dist/{headers-BXKxiPUv.cjs → headers-YpD10rDb.cjs} +0 -0
  111. /package/dist/{index-CdJv4ocW.d.mts → index-DJYJzs-Z.d.mts} +0 -0
  112. /package/dist/{meta-loader-C4Hu9RN9.mjs → meta-loader-Bq-MjTXB.mjs} +0 -0
  113. /package/dist/{meta-loader-C9MKjAs0.cjs → meta-loader-CTB62-Mo.cjs} +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"./rolldown-runtime-fkIsjY3S.mjs";import{t}from"./utils-B3xYMrpK.mjs";import{FileCache as n}from"./node/cache.mjs";import{t as r}from"./cache-B0C2i0yP.mjs";import{t as i}from"./pages-external-BYa4JSda.mjs";import a from"node:path";import{fdir as o}from"fdir";const s=new n({name:`routes`});function c(){s.invalidateAll(),r.clear()}function l(e){s.invalidate(e),r.invalidate(e)}function u(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):d(e,t):n-r})}function d(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}var f=e({generateRoutes:()=>y,getExternalRoutePaths:()=>i,invalidateFile:()=>g,invalidateRouteCache:()=>v});let p=null;const m=new Map;let h=null;function g(e){let t=e.replace(/\\/g,`/`);h&&h[t]&&delete h[t],l(e)}let _=null;function v(){p=null,m.clear(),c(),h=null}async function y(e,n,r,i=!1,c=!1){if(_)return _;let l=(async()=>{let l=r||n?.base||`/docs`;await s.load(),m.clear();let d;if(!i&&p)d=p;else{let t=await new o().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!a.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],r=t.map(e=>{let t=a.basename(e),r=n.findIndex(e=>e.test(t));return{f:e,score:r===-1?2**53-1:r}});r.sort((e,t)=>e.score-t.score),d=r.map(e=>e.f),p=d}s.pruneStale(new Set(d));let f=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,g,_=!0;for(let e of d)if(!s.get(e)){_=!1;break}if(_)g=d.map(e=>s.get(e));else{if(!f&&!h)try{let{runParser:t}=await import(`@bdocs/parser`);h=await t(e,c)}catch{}if(!f&&h!==null&&h){let{parseDocFileWithNative:t,parseDocFile:r}=await import(`./parser-BZJgAa9E.mjs`);g=await Promise.all(d.map(async i=>{let a=s.get(i);if(a)return a;let o=i.replace(/\\/g,`/`),c=h[o];if(c){let r=await t(i,c,e,l,n);return s.set(i,r),r}else{let t=await r(i,e,l,n);return s.set(i,t),t}}))}else{let{parseDocFile:t}=await import(`./parser-BZJgAa9E.mjs`);g=await Promise.all(d.map(async r=>{let i=s.get(r);if(i)return i;let a=await t(r,e,l,n);return s.set(r,a),a}))}}s.save();let v=[],y=new Map,x=process.env.NODE_ENV||`development`,S=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(x)??!1);for(let e of g)if(!(e.route.draft&&!S)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===x}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;y.has(t)||y.set(t,[]),y.get(t).push(e)}else v.push(e)}let C=new Map,w=[],T=n?.i18n?.defaultLocale||``;for(let e of v)if(e.isGroupIndex&&e.relativeDir&&w.push(e),e.relativeDir){let n=`${e.route.locale||T}:${e.relativeDir}`,r=C.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t(e.relativeDir),position:e.inferredGroupPosition},C.set(n,r))}for(let e of w){let t=`${e.route.locale||T}:${e.relativeDir}`,n=C.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):[T];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=C.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[T]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):C.set(e,{title:o||t(r),icon:i.icon})}}let E=Array(v.length);for(let e=0;e<v.length;e++){let n=v[e],r=n.relativeDir,i=n.route.locale||T,a=r?`${i}:${r}`:void 0,o=a?C.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[T]),E[e]={...n.route,group:r,groupTitle:s||(r?t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let D=[];for(let[,e]of y)for(let t of e)D.push({...t.route,collection:t.inferredCollection});D.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let O=E;if(n?.i18n){let e=b(E,n,l);O=[...E,...e]}return[...u(O),...D]})();_=l;try{return await l}finally{_=null}}function b(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){if(e===r)continue;let i=o.get(e)||new Set;for(let o of s){let s=x(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function x(e,t,n,r,i){let a=`${e}:${n}`,o=m.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let d=c+l;return m.size>2e3&&m.clear(),m.set(a,d),d}export{s as a,f as i,g as n,v as r,y as t};
@@ -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-Ds5LZdWN.cjs`),t=require(`./utils-Bz1tG9Dg.cjs`),n=require(`./node/cache.cjs`),r=require(`./cache-CfRTUzWC.cjs`);let i=require(`node:path`);i=e.n(i);let a=require(`fdir`);const o=new n.FileCache({name:`routes`});function s(){o.invalidateAll(),r.t.clear()}function c(e){o.invalidate(e),r.t.invalidate(e)}function l(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):u(e,t):n-r})}function u(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}let d=null;const f=new Map;let p=null;function m(e){let t=e.replace(/\\/g,`/`);p&&p[t]&&delete p[t],c(e)}let h=null;function g(){d=null,f.clear(),s(),p=null}async function _(e,n,r,s=!1,c=!1){if(h)return h;let u=(async()=>{let u=r||n?.base||`/docs`;await o.load(),f.clear();let m;if(!s&&d)m=d;else{let t=await new a.fdir().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!i.default.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],r=t.map(e=>{let t=i.default.basename(e),r=n.findIndex(e=>e.test(t));return{f:e,score:r===-1?2**53-1:r}});r.sort((e,t)=>e.score-t.score),m=r.map(e=>e.f),d=m}o.pruneStale(new Set(m));let h=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,g,_=!0;for(let e of m)if(!o.get(e)){_=!1;break}if(_)g=m.map(e=>o.get(e));else{if(!h&&!p)try{let{runParser:t}=await import(`@bdocs/parser`);p=await t(e,c)}catch{}if(!h&&p!==null&&p){let{parseDocFileWithNative:t,parseDocFile:r}=await Promise.resolve().then(()=>require(`./parser-DlanzESE.cjs`));g=await Promise.all(m.map(async i=>{let a=o.get(i);if(a)return a;let s=i.replace(/\\/g,`/`),c=p[s];if(c){let r=await t(i,c,e,u,n);return o.set(i,r),r}else{let t=await r(i,e,u,n);return o.set(i,t),t}}))}else{let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-DlanzESE.cjs`));g=await Promise.all(m.map(async r=>{let i=o.get(r);if(i)return i;let a=await t(r,e,u,n);return o.set(r,a),a}))}}o.save();let y=[],b=new Map,x=process.env.NODE_ENV||`development`,S=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(x)??!1);for(let e of g)if(!(e.route.draft&&!S)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===x}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;b.has(t)||b.set(t,[]),b.get(t).push(e)}else y.push(e)}let C=new Map,w=[],T=n?.i18n?.defaultLocale||``;for(let e of y)if(e.isGroupIndex&&e.relativeDir&&w.push(e),e.relativeDir){let n=`${e.route.locale||T}:${e.relativeDir}`,r=C.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},C.set(n,r))}for(let e of w){let t=`${e.route.locale||T}:${e.relativeDir}`,n=C.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):[T];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=C.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[T]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):C.set(e,{title:o||t.t(r),icon:i.icon})}}let E=Array(y.length);for(let e=0;e<y.length;e++){let n=y[e],r=n.relativeDir,i=n.route.locale||T,a=r?`${i}:${r}`:void 0,o=a?C.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[T]),E[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let D=[];for(let[,e]of b)for(let t of e)D.push({...t.route,collection:t.inferredCollection});D.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let O=E;if(n?.i18n){let e=v(E,n,u);O=[...E,...e]}return[...l(O),...D]})();h=u;try{return await u}finally{h=null}}function v(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){if(e===r)continue;let i=o.get(e)||new Set;for(let o of s){let s=y(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function y(e,t,n,r,i){let a=`${e}:${n}`,o=f.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let d=c+l;return f.size>2e3&&f.clear(),f.set(a,d),d}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return _}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./routes-D6Tuu7Fs.cjs`),t=require(`./pages-external-CX2uyW95.cjs`);exports.generateRoutes=e.t,exports.getExternalRoutePaths=t.t,exports.invalidateFile=e.n,exports.invalidateRouteCache=e.r;
6
+ const e=require(`./routes-Cnq8xTCv.cjs`),t=require(`./pages-external-CX2uyW95.cjs`);exports.generateRoutes=e.t,exports.getExternalRoutePaths=t.t,exports.invalidateFile=e.n,exports.invalidateRouteCache=e.r;
@@ -3,6 +3,6 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const require_search_dialog = require('./search-dialog-CwNh8lIN.cjs');
6
+ const require_search_dialog = require('./search-dialog-BbtxA1uT.cjs');
7
7
 
8
8
  exports.SearchDialog = require_search_dialog.SearchDialog;
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const require_icons_dev = require('./icons-dev-BryEFkJu.cjs');
7
- const require_search_dialog = require('./search-dialog-D4rplZMv.cjs');
6
+ const require_icons_dev = require('./icons-dev-YtDoLUsb.cjs');
7
+ const require_search_dialog = require('./search-dialog-BpNULmrl.cjs');
8
8
  let react = require("react");
9
9
  let react_router_dom = require("react-router-dom");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -46,7 +46,8 @@ function InternalErrorBoundary({ children, fallback }) {
46
46
  //#region src/client/hooks/use-search.ts
47
47
  function useSearch(routes) {
48
48
  const { currentLocale, currentVersion } = require_icons_dev.useRoutes();
49
- const algoliaConfig = require_icons_dev.useConfig().integrations?.search?.algolia;
49
+ const config = require_icons_dev.useConfig();
50
+ const algoliaConfig = config.integrations?.search?.algolia;
50
51
  const [isOpen, setIsOpen] = (0, react.useState)(false);
51
52
  const [query, setQuery] = (0, react.useState)("");
52
53
  const [index, setIndex] = (0, react.useState)(null);
@@ -164,9 +165,9 @@ function useSearch(routes) {
164
165
  setQuery,
165
166
  list: (0, react.useMemo)(() => {
166
167
  if (!query) return routes.filter((r) => {
167
- const localeMatch = !currentLocale || r.locale === currentLocale;
168
- const versionMatch = !currentVersion || r.version === currentVersion;
169
- return localeMatch && versionMatch;
168
+ const routeLocale = r.locale || config.i18n?.defaultLocale;
169
+ const routeVersion = r.version || config.versions?.defaultVersion;
170
+ return (!currentLocale || routeLocale === currentLocale) && (!currentVersion || routeVersion === currentVersion);
170
171
  }).slice(0, 10).map((r) => ({
171
172
  id: r.path,
172
173
  title: r.title,
@@ -185,9 +186,9 @@ function useSearch(routes) {
185
186
  for (const id of searchResults) {
186
187
  const doc = searchDataMap.get(id);
187
188
  if (!doc) continue;
188
- const localeMatch = !currentLocale || doc.locale === currentLocale;
189
- const versionMatch = !currentVersion || doc.version === currentVersion;
190
- if (!localeMatch || !versionMatch) continue;
189
+ const docLocale = doc.locale || config.i18n?.defaultLocale;
190
+ const docVersion = doc.version || config.versions?.defaultVersion;
191
+ if (!(!currentLocale || docLocale === currentLocale) || !(!currentVersion || docVersion === currentVersion)) continue;
191
192
  if (seen.has(doc.url)) continue;
192
193
  seen.add(doc.url);
193
194
  results.push({
@@ -208,7 +209,8 @@ function useSearch(routes) {
208
209
  routes,
209
210
  searchDataMap,
210
211
  algoliaConfig,
211
- algoliaResults
212
+ algoliaResults,
213
+ config
212
214
  ]),
213
215
  handleSelect,
214
216
  input: {
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const require_icons_dev = require('./icons-dev-BryEFkJu.cjs');
6
+ const require_icons_dev = require('./icons-dev-YtDoLUsb.cjs');
7
7
  let react = require("react");
8
8
  react = require_icons_dev.__toESM(react);
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import { Z as Search, et as X, rt as useConfig, x as useRoutes } from "./icons-dev-kJyGWNeg.js";
7
- import { n as Navbar, r as ErrorBoundary, t as SearchDialog$1 } from "./search-dialog-DaeSPvEo.js";
6
+ import { Z as Search, et as X, rt as useConfig, x as useRoutes } from "./icons-dev-CHZOwhQA.js";
7
+ import { n as Navbar, r as ErrorBoundary, t as SearchDialog$1 } from "./search-dialog-PJrFRU5G.js";
8
8
  import { useCallback, useEffect, useMemo, useState } from "react";
9
9
  import { useNavigate } from "react-router-dom";
10
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -45,7 +45,8 @@ function InternalErrorBoundary({ children, fallback }) {
45
45
  //#region src/client/hooks/use-search.ts
46
46
  function useSearch(routes) {
47
47
  const { currentLocale, currentVersion } = useRoutes();
48
- const algoliaConfig = useConfig().integrations?.search?.algolia;
48
+ const config = useConfig();
49
+ const algoliaConfig = config.integrations?.search?.algolia;
49
50
  const [isOpen, setIsOpen] = useState(false);
50
51
  const [query, setQuery] = useState("");
51
52
  const [index, setIndex] = useState(null);
@@ -163,9 +164,9 @@ function useSearch(routes) {
163
164
  setQuery,
164
165
  list: useMemo(() => {
165
166
  if (!query) return routes.filter((r) => {
166
- const localeMatch = !currentLocale || r.locale === currentLocale;
167
- const versionMatch = !currentVersion || r.version === currentVersion;
168
- return localeMatch && versionMatch;
167
+ const routeLocale = r.locale || config.i18n?.defaultLocale;
168
+ const routeVersion = r.version || config.versions?.defaultVersion;
169
+ return (!currentLocale || routeLocale === currentLocale) && (!currentVersion || routeVersion === currentVersion);
169
170
  }).slice(0, 10).map((r) => ({
170
171
  id: r.path,
171
172
  title: r.title,
@@ -184,9 +185,9 @@ function useSearch(routes) {
184
185
  for (const id of searchResults) {
185
186
  const doc = searchDataMap.get(id);
186
187
  if (!doc) continue;
187
- const localeMatch = !currentLocale || doc.locale === currentLocale;
188
- const versionMatch = !currentVersion || doc.version === currentVersion;
189
- if (!localeMatch || !versionMatch) continue;
188
+ const docLocale = doc.locale || config.i18n?.defaultLocale;
189
+ const docVersion = doc.version || config.versions?.defaultVersion;
190
+ if (!(!currentLocale || docLocale === currentLocale) || !(!currentVersion || docVersion === currentVersion)) continue;
190
191
  if (seen.has(doc.url)) continue;
191
192
  seen.add(doc.url);
192
193
  results.push({
@@ -207,7 +208,8 @@ function useSearch(routes) {
207
208
  routes,
208
209
  searchDataMap,
209
210
  algoliaConfig,
210
- algoliaResults
211
+ algoliaResults,
212
+ config
211
213
  ]),
212
214
  handleSelect,
213
215
  input: {
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import { B as Hash, J as Moon, N as CornerDownLeft, P as ExternalLink, Q as Sun, Y as MoreVertical, _ as Link, et as X, h as XSocial, o as Discord, s as Github, t as Bluesky, y as cn, z as FileText } from "./icons-dev-kJyGWNeg.js";
6
+ import { B as Hash, J as Moon, N as CornerDownLeft, P as ExternalLink, Q as Sun, Y as MoreVertical, _ as Link, et as X, h as XSocial, o as Discord, s as Github, t as Bluesky, y as cn, z as FileText } from "./icons-dev-CHZOwhQA.js";
7
7
  import { Component, useEffect, useState } from "react";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  import * as RAC from "react-aria-components";
@@ -3,6 +3,6 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import { t as SearchDialog } from "./search-dialog-DoGobmuG.js";
6
+ import { t as SearchDialog } from "./search-dialog-DC7oXU-5.js";
7
7
 
8
8
  export { SearchDialog };
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters-C5AWWGfb.cjs`);exports.handleAwsFeedback=e.t,exports.handleNetlifyFeedback=e.r,exports.handleVercelFeedback=e.i,exports.handleWebFeedback=e.n;
6
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../adapters-uGz-UKQa.cjs`);exports.handleAwsFeedback=e.t,exports.handleNetlifyFeedback=e.r,exports.handleVercelFeedback=e.i,exports.handleWebFeedback=e.n;
@@ -1,3 +1,3 @@
1
1
 
2
- import { i as handleVercelFeedback, n as handleWebFeedback, r as handleNetlifyFeedback, t as handleAwsFeedback } from "../index-CdJv4ocW.mjs";
2
+ import { i as handleVercelFeedback, n as handleWebFeedback, r as handleNetlifyFeedback, t as handleAwsFeedback } from "../index-DJYJzs-Z.mjs";
3
3
  export { handleAwsFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback };
@@ -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{n as e}from"./utils-B3xYMrpK.mjs";import{error as t}from"@bdocs/dui";import{createJavaScriptRegexEngine as n}from"shiki/engine/javascript";import{createHighlighterCore as r}from"shiki/core";import i from"@shikijs/themes/github-light";import a from"@shikijs/themes/github-dark";import o from"@shikijs/themes/tokyo-night";import s from"@shikijs/themes/dracula";import c from"@shikijs/themes/nord";import l from"@shikijs/themes/one-dark-pro";import u from"@shikijs/themes/one-light";import d from"@shikijs/langs/html";import f from"@shikijs/langs/js";import p from"@shikijs/langs/ts";import m from"@shikijs/langs/tsx";import h from"@shikijs/langs/css";import g from"@shikijs/langs/json";import _ from"@shikijs/langs/bash";import v from"@shikijs/langs/markdown";import y from"@shikijs/langs/mdx";import b from"@shikijs/langs/yaml";import x from"@shikijs/langs/rust";import S from"@shikijs/langs/toml";import C from"@shikijs/langs/csv";const w={ROOT:`root`,ELEMENT:`element`,TEXT:`text`,COMMENT:`comment`,CODE:`code`,INLINE_CODE:`inlineCode`,HEADING:`heading`,PARAGRAPH:`paragraph`,LINK:`link`,IMAGE:`image`,LIST:`list`,LIST_ITEM:`listItem`,JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,FLOW_EXPRESSION:`mdxFlowExpression`,TEXT_EXPRESSION:`mdxTextExpression`,ESM:`mdxjsEsm`},T={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},E={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},D={LIGHT:`github-light`,DARK:`github-dark`},O={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},k=[i.default||i,a.default||a,o.default||o,s.default||s,c.default||c,l.default||l,u.default||u],A=[d,f,p,m,h,g,_,v,y,b,x,S,C];let j=null,M=null;const N=()=>(j??=n(),j),P=async e=>M||(M=r({themes:k,langs:A,engine:N()}),M),F=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,E.LINE_NUMBERS)}}},I=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,E.WORD_WRAP)}}},L=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[T.TITLE]=t)}}),R=()=>({name:`AddLanguageProperty`,pre(e){e.properties[T.LANG]=this.options.lang||O.LANG}});function z(e){let t={};if(!e)return t;/lineNumbers|showLineNumbers/.test(e)&&(t.lineNumbers=!0),/wordWrap|word-wrap/.test(e)&&(t.wordWrap=!0);let n=e.match(/title=(["'])(.*?)\1/);return n&&(t.title=n[2]),t}var B=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:D.LIGHT,dark:D.DARK}}async getHighlighter(){return await P(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=z(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||O.LANG,meta:{__raw:i,...r},transformers:[F(),I(),L(),R()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(n,r,i){try{let e=await this.getHighlighter(),t=this.getOptions(r,i);return e.codeToHtml(n,t)}catch(r){return t(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${E.FALLBACK}"><code>${e(n)}</code></pre>`}}};let V=null,H;function U(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(V===null||H!==t)&&(V=new B(e),H=t),V}export{O as a,T as i,U as n,w as o,z as r,E as s,B as t};