boltdocs 2.6.1 → 2.7.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 (177) hide show
  1. package/bin/boltdocs.js +0 -1
  2. package/dist/cache-CQKlT4fI.mjs +6 -0
  3. package/dist/cache-DorPMFgW.cjs +6 -0
  4. package/dist/cards-BLoSiRuL.d.ts +30 -0
  5. package/dist/cards-CQn9mXZS.d.cts +30 -0
  6. package/dist/chunk-Ds5LZdWN.cjs +6 -0
  7. package/dist/client/index.cjs +1 -1
  8. package/dist/client/index.d.cts +173 -1328
  9. package/dist/client/index.d.ts +172 -1327
  10. package/dist/client/index.js +1 -1
  11. package/dist/{package-c99Cs7mD.cjs → client/mdx.cjs} +1 -1
  12. package/dist/client/mdx.d.cts +128 -0
  13. package/dist/client/mdx.d.ts +129 -0
  14. package/dist/client/mdx.js +6 -0
  15. package/dist/client/primitives.cjs +6 -0
  16. package/dist/client/primitives.d.cts +818 -0
  17. package/dist/client/primitives.d.ts +818 -0
  18. package/dist/client/primitives.js +6 -0
  19. package/dist/client/theme/neutral.css +74 -361
  20. package/dist/client/theme/reset.css +189 -0
  21. package/dist/docs-layout-BlDhcQRv.cjs +6 -0
  22. package/dist/docs-layout-BvAOWEJw.js +6 -0
  23. package/dist/doctor-BQiQhCTl.cjs +6 -0
  24. package/dist/doctor-COpf35L2.cjs +20 -0
  25. package/dist/doctor-Dh1XP7Pz.mjs +20 -0
  26. package/dist/generator-DGW6pkCC.cjs +22 -0
  27. package/dist/generator-Dv3wEmhZ.mjs +22 -0
  28. package/dist/icons-dev-CrQLjoQp.js +6 -0
  29. package/dist/icons-dev-rzdz6Lf3.cjs +6 -0
  30. package/dist/image-BkIfa9oo.js +6 -0
  31. package/dist/image-DIGjCPe6.cjs +6 -0
  32. package/dist/mdx-K0WYBAJ3.js +7 -0
  33. package/dist/mdx-hpErbRUe.cjs +7 -0
  34. package/dist/meta-loader-0gJ4PtBC.cjs +6 -0
  35. package/dist/meta-loader-9IpAHWDS.mjs +6 -0
  36. package/dist/node/cli-entry.cjs +1 -2
  37. package/dist/node/cli-entry.mjs +1 -2
  38. package/dist/node/index.cjs +1 -1
  39. package/dist/node/index.d.cts +66 -13
  40. package/dist/node/index.d.mts +66 -14
  41. package/dist/node/index.mjs +1 -1
  42. package/dist/node/routes/worker.cjs +6 -0
  43. package/dist/node/routes/worker.d.cts +2 -0
  44. package/dist/node/routes/worker.d.mts +2 -0
  45. package/dist/node/routes/worker.mjs +6 -0
  46. package/dist/node-C2nWXElP.mjs +112 -0
  47. package/dist/node-CinkUtxV.cjs +112 -0
  48. package/dist/package-BMYLDBBP.cjs +6 -0
  49. package/dist/{package-DukYeKmD.mjs → package-HegMOTL_.mjs} +1 -1
  50. package/dist/parser-Bh11BsdA.cjs +6 -0
  51. package/dist/parser-D8eQvE7N.mjs +6 -0
  52. package/dist/parser-DYRzXWmA.cjs +6 -0
  53. package/dist/routes-CHf76Ye4.cjs +6 -0
  54. package/dist/routes-CMUZGI6T.mjs +6 -0
  55. package/dist/routes-Co1mRM58.cjs +6 -0
  56. package/dist/search-dialog-BACuzoVX.cjs +6 -0
  57. package/dist/search-dialog-BKagVT17.js +6 -0
  58. package/dist/search-dialog-C8w12eUx.js +6 -0
  59. package/dist/search-dialog-CGyrozZE.cjs +6 -0
  60. package/dist/search-dialog-D26rUnJ_.cjs +6 -0
  61. package/dist/sidebar-DKvg6KOc.d.cts +491 -0
  62. package/dist/sidebar-Dr1TiRIy.d.ts +491 -0
  63. package/dist/utils-BxNAXhZZ.mjs +7 -0
  64. package/dist/utils-Clzu7jvb.cjs +7 -0
  65. package/dist/worker-pool-Bd8Y9KDv.mjs +6 -0
  66. package/dist/worker-pool-BwU8ckrg.cjs +6 -0
  67. package/package.json +27 -8
  68. package/src/client/app/doc-page.tsx +9 -5
  69. package/src/client/app/docs-layout.tsx +17 -3
  70. package/src/client/app/head.tsx +122 -0
  71. package/src/client/app/helmet-compat.tsx +36 -0
  72. package/src/client/app/mdx-component.tsx +5 -52
  73. package/src/client/app/mdx-components-context.tsx +32 -8
  74. package/src/client/app/routes-context.tsx +2 -2
  75. package/src/client/app/scroll-handler.tsx +1 -1
  76. package/src/client/app/theme-context.tsx +5 -5
  77. package/src/client/app/ui-context.tsx +42 -0
  78. package/src/client/components/docs-layout-default.tsx +85 -0
  79. package/src/client/components/icons-dev.tsx +38 -15
  80. package/src/client/components/mdx/callout.tsx +97 -0
  81. package/src/client/components/mdx/card.tsx +73 -98
  82. package/src/client/components/mdx/cards.tsx +27 -0
  83. package/src/client/components/mdx/code-block.tsx +37 -17
  84. package/src/client/components/mdx/field.tsx +24 -56
  85. package/src/client/components/mdx/image.tsx +36 -15
  86. package/src/client/components/mdx/index.ts +19 -53
  87. package/src/client/components/mdx/table.tsx +46 -148
  88. package/src/client/components/mdx/typographics.tsx +120 -0
  89. package/src/client/components/mdx/{hooks/use-code-block.ts → use-code-block.ts} +5 -7
  90. package/src/client/components/primitives/breadcrumbs.tsx +5 -24
  91. package/src/client/components/primitives/button.tsx +3 -142
  92. package/src/client/components/primitives/code-block.tsx +104 -97
  93. package/src/client/components/{docs-layout.tsx → primitives/docs-layout.tsx} +15 -24
  94. package/src/client/components/primitives/error-boundary.tsx +107 -0
  95. package/src/client/components/primitives/heading.tsx +128 -0
  96. package/src/client/components/primitives/helpers/observer.ts +62 -32
  97. package/src/client/components/primitives/image.tsx +26 -0
  98. package/src/client/components/primitives/link.tsx +50 -52
  99. package/src/client/components/primitives/menu.tsx +25 -49
  100. package/src/client/components/primitives/navbar.tsx +234 -59
  101. package/src/client/components/primitives/on-this-page.tsx +169 -40
  102. package/src/client/components/primitives/page-nav.tsx +11 -39
  103. package/src/client/components/primitives/popover.tsx +12 -30
  104. package/src/client/components/primitives/search-dialog.tsx +77 -71
  105. package/src/client/components/primitives/sidebar.tsx +312 -119
  106. package/src/client/components/primitives/skeleton.tsx +1 -1
  107. package/src/client/components/primitives/tabs.tsx +5 -16
  108. package/src/client/components/primitives/tooltip.tsx +1 -1
  109. package/src/client/components/ui-base/banner.tsx +66 -0
  110. package/src/client/components/ui-base/breadcrumbs.tsx +26 -20
  111. package/src/client/components/ui-base/copy-markdown.tsx +43 -35
  112. package/src/client/components/ui-base/error-boundary.tsx +9 -46
  113. package/src/client/components/ui-base/github-stars.tsx +5 -3
  114. package/src/client/components/ui-base/index.ts +3 -3
  115. package/src/client/components/ui-base/last-updated.tsx +27 -0
  116. package/src/client/components/ui-base/navbar.tsx +183 -89
  117. package/src/client/components/ui-base/not-found.tsx +11 -9
  118. package/src/client/components/ui-base/on-this-page.tsx +8 -104
  119. package/src/client/components/ui-base/page-nav.tsx +23 -9
  120. package/src/client/components/ui-base/search-dialog.tsx +111 -36
  121. package/src/client/components/ui-base/search-highlight.tsx +10 -0
  122. package/src/client/components/ui-base/sidebar.tsx +77 -154
  123. package/src/client/components/ui-base/tabs.tsx +20 -7
  124. package/src/client/components/ui-base/theme-toggle.tsx +88 -10
  125. package/src/client/components/ui-base/version-i18n.tsx +80 -0
  126. package/src/client/hooks/index.ts +2 -1
  127. package/src/client/hooks/use-analytics.ts +272 -0
  128. package/src/client/hooks/use-i18n.ts +120 -53
  129. package/src/client/hooks/use-localized-to.ts +70 -30
  130. package/src/client/hooks/use-navbar.ts +69 -39
  131. package/src/client/hooks/use-page-nav.ts +28 -25
  132. package/src/client/hooks/use-routes.ts +64 -81
  133. package/src/client/hooks/use-search-highlight.ts +185 -0
  134. package/src/client/hooks/use-search.ts +12 -3
  135. package/src/client/hooks/use-sidebar.ts +183 -77
  136. package/src/client/hooks/use-tabs.ts +3 -4
  137. package/src/client/hooks/use-version.ts +46 -18
  138. package/src/client/index.ts +13 -86
  139. package/src/client/mdx.ts +2 -0
  140. package/src/client/primitives.ts +19 -0
  141. package/src/client/ssg/boltdocs-shell.tsx +78 -57
  142. package/src/client/ssg/create-routes.tsx +290 -50
  143. package/src/client/ssg/mdx-page.tsx +2 -1
  144. package/src/client/store/boltdocs-context.tsx +83 -12
  145. package/src/client/theme/neutral.css +74 -361
  146. package/src/client/theme/reset.css +189 -0
  147. package/src/client/types.ts +10 -2
  148. package/src/client/utils/path.ts +9 -0
  149. package/src/client/utils/react-to-text.ts +24 -24
  150. package/src/client/virtual.d.ts +1 -1
  151. package/src/shared/types.ts +97 -21
  152. package/dist/node-CWN8U_p8.mjs +0 -88
  153. package/dist/node-D5iosYXv.cjs +0 -88
  154. package/dist/search-dialog-3lvKsbVG.js +0 -6
  155. package/dist/search-dialog-DMK5OpgH.cjs +0 -6
  156. package/dist/use-search-C9bxCqfF.js +0 -6
  157. package/dist/use-search-DcfZSunO.cjs +0 -6
  158. package/src/client/components/mdx/admonition.tsx +0 -91
  159. package/src/client/components/mdx/badge.tsx +0 -41
  160. package/src/client/components/mdx/button.tsx +0 -35
  161. package/src/client/components/mdx/component-preview.tsx +0 -37
  162. package/src/client/components/mdx/component-props.tsx +0 -83
  163. package/src/client/components/mdx/file-tree.tsx +0 -325
  164. package/src/client/components/mdx/hooks/use-component-preview.ts +0 -16
  165. package/src/client/components/mdx/hooks/useTable.ts +0 -74
  166. package/src/client/components/mdx/hooks/useTabs.ts +0 -68
  167. package/src/client/components/mdx/link.tsx +0 -38
  168. package/src/client/components/mdx/list.tsx +0 -192
  169. package/src/client/components/mdx/tabs.tsx +0 -135
  170. package/src/client/components/mdx/video.tsx +0 -68
  171. package/src/client/components/primitives/index.ts +0 -19
  172. package/src/client/components/primitives/navigation-menu.tsx +0 -114
  173. package/src/client/components/ui-base/head.tsx +0 -76
  174. package/src/client/components/ui-base/loading.tsx +0 -57
  175. package/src/client/components/ui-base/powered-by.tsx +0 -25
  176. package/src/client/hooks/use-onthispage.ts +0 -23
  177. package/src/client/utils/use-on-change.ts +0 -15
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ import{a as e,l as t,n,s as r,u as i}from"./doctor-Dh1XP7Pz.mjs";import{l as a,n as o,s,u as c}from"./utils-BxNAXhZZ.mjs";import{r as l}from"./cache-CQKlT4fI.mjs";import{i as u,n as d,t as f}from"./routes-CMUZGI6T.mjs";import p from"@vitejs/plugin-react";import m from"@tailwindcss/vite";import{loadEnv as h,normalizePath as g}from"vite";import _ from"node:path";import v from"fs";import{z as y}from"zod";import b from"node:fs";import x from"node:crypto";import{ViteImageOptimizer as ee}from"vite-plugin-image-optimizer";import te from"semver";import S from"path";import{fileURLToPath as ne}from"node:url";import re from"@mdx-js/rollup";import ie from"remark-gfm";import ae from"remark-frontmatter";import oe from"rehype-slug";import{visit as C}from"unist-util-visit";import{createJavaScriptRegexEngine as se}from"shiki/engine/javascript";import{createHighlighterCore as ce}from"shiki/core";import le from"@shikijs/themes/github-light";import ue from"@shikijs/themes/github-dark";import de from"@shikijs/themes/tokyo-night";import fe from"@shikijs/themes/dracula";import pe from"@shikijs/themes/nord";import me from"@shikijs/themes/one-dark-pro";import he from"@shikijs/themes/one-light";import ge from"@shikijs/langs/html";import _e from"@shikijs/langs/js";import ve from"@shikijs/langs/ts";import ye from"@shikijs/langs/tsx";import be from"@shikijs/langs/css";import xe from"@shikijs/langs/json";import Se from"@shikijs/langs/bash";import Ce from"@shikijs/langs/markdown";import we from"@shikijs/langs/mdx";import Te from"@shikijs/langs/yaml";import Ee from"@shikijs/langs/rust";import De from"@shikijs/langs/toml";import Oe from"@shikijs/langs/csv";function w(e){return e.map(e=>({path:e.path,filePath:e.filePath,title:e.title,description:e.description||``,sidebarPosition:e.sidebarPosition,badge:e.badge,icon:e.icon,headings:e.headings||[],_content:e._content||``,_rawContent:e._rawContent||``,locale:e.locale,version:e.version,tab:e.tab,group:e.group,groupTitle:e.groupTitle,groupPosition:e.groupPosition,groupIcon:e.groupIcon,subRouteGroup:e.subRouteGroup,seo:e.seo,date:e.date,lastUpdated:e.lastUpdated,category:e.category,order:e.order,sidebarLabel:e.sidebarLabel,sidebarHidden:e.sidebarHidden,frontmatter:e.frontmatter,slugParts:e.slugParts}))}function ke(e,t){let n=(t.siteUrl||``).replace(/\/$/,``);if(!n)return``;let r=t.seo?.indexing!==`all`&&t.seo?.indexing!==`public`;return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
8
+ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(r&&e.seo?.index,!0)).map(e=>` <url>
9
+ <loc>${o(`${n}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`)}</loc>
10
+ <changefreq>weekly</changefreq>
11
+ <priority>0.7</priority>
12
+ </url>`).join(`
13
+ `)}
14
+ </urlset>`}function Ae(e){let t=e.siteUrl||``,n=t?`${t.replace(/\/$/,``)}/sitemap.xml`:``;if(e.seo?.indexing!==`all`&&e.seo?.indexing!==`public`&&e.seo?.indexing)return[`User-agent: *`,`Disallow: /`].filter(Boolean).join(`
15
+ `);if(typeof e.robots==`string`)return e.robots;if(e.robots&&typeof e.robots==`object`){let t=e.robots.rules||[],r=e.robots.sitemaps||[],i=t.map(e=>{let t=`User-agent: ${e.userAgent}\n`;return e.allow&&(Array.isArray(e.allow)?t+=e.allow.map(e=>`Allow: ${e}`).join(`
16
+ `)+`
17
+ `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
18
+ `)+`
19
+ `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
20
+
21
+ `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
+ `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
+ `)}function T(e){return`<!doctype html>
24
+ <html lang="en">
25
+ <head>
26
+ <meta charset="UTF-8" />
27
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
28
+ <title>${e.theme?.title||`Boltdocs`}</title>
29
+ </head>
30
+ <body>
31
+ <div id="root"></div>
32
+ </body>
33
+ </html>`}function E(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=T(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,`<meta name="generator" content="Boltdocs">`].filter(Boolean).join(`
34
+ `);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let s=``;if(t.integrations?.ga4){let e=t.integrations.ga4;if(process.env.NODE_ENV===`production`||e.debug){let t=e.anonymizeIp?`gtag('set', 'ip', true);`:``,n=e.sendPageView===!1?`{send_page_view: false}`:`{}`,r=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``;s=`
35
+ <!-- Google tag (gtag.js) - ${e.measurementId} -->
36
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
37
+ <script>
38
+ window.dataLayer = window.dataLayer || [];
39
+ function gtag(){dataLayer.push(arguments);}
40
+ gtag('js', new Date());
41
+ ${t}
42
+ gtag('config', '${e.measurementId}', ${n}${r});
43
+ <\/script>
44
+ `}}let c=``,l=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;c=`
45
+ <!-- Google Tag Manager -->
46
+ <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
47
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
48
+ j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
49
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`&gtm_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
50
+ })(window,document,'script','${t}','${e.tagId}');<\/script>
51
+ <!-- End Google Tag Manager -->
52
+ `,l=`
53
+ <!-- Google Tag Manager (noscript) -->
54
+ <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
55
+ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
56
+ <!-- End Google Tag Manager (noscript) -->
57
+ `}}return e=e.replace(`</head>`,` ${o}\n
58
+ <script>
59
+ (function() {
60
+ try {
61
+ var stored = localStorage.getItem("boltdocs-theme");
62
+ var isDark =
63
+ stored === "dark" ||
64
+ (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
65
+ document.documentElement.classList.toggle("dark", isDark);
66
+ document.documentElement.dataset.theme = isDark ? "dark" : "light";
67
+ } catch (e) {}
68
+ })();
69
+ <\/script>
70
+ \n${s}${c} </head>`),l&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${l}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
71
+ </body>`)),e}var D=class e extends Error{pluginName;constructor(t,n){super(`[plugin:${t}] ${n}`),this.name=`PluginError`,this.pluginName=t,Object.setPrototypeOf(this,e.prototype)}},O=class e extends D{constructor(t,n){super(t,`Validation failed: ${n}`),this.name=`PluginValidationError`,Object.setPrototypeOf(this,e.prototype)}},k=class e extends D{constructor(t,n){super(t,`Compatibility error: ${n}`),this.name=`PluginCompatibilityError`,Object.setPrototypeOf(this,e.prototype)}},A=class e extends D{constructor(t,n){super(t,`Missing required permission: '${n}'`),this.name=`PluginPermissionError`,Object.setPrototypeOf(this,e.prototype)}},j=class e extends D{hookName;constructor(t,n,r){super(t,`Error in hook '${n}': ${r.message}`),this.name=`PluginHookError`,this.hookName=n,this.stack=r.stack,Object.setPrototypeOf(this,e.prototype)}},M=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let n=this.getNamespaceKey(e,t),r=this.data.get(n);if(r!==void 0)return typeof r==`object`&&r?JSON.parse(JSON.stringify(r)):r}set(e,t,n){let r=this.getNamespaceKey(e,t),i=typeof n==`object`&&n?JSON.parse(JSON.stringify(n)):n;this.data.set(r,i)}has(e,t){let n=this.getNamespaceKey(e,t);return this.data.has(n)}};const N=i.extend({version:y.string().optional(),boltdocsVersion:y.string().optional(),permissions:y.array(y.string()).optional(),hooks:y.object({beforeBuild:y.function().optional(),afterBuild:y.function().optional(),beforeDev:y.function().optional(),afterDev:y.function().optional(),configResolved:y.function().optional(),buildEnd:y.function().optional()}).optional()});function P(e,t){let n=[],r=new Set;for(let i of e){let e=N.safeParse(i);if(!e.success)throw new O(i.name||`unknown`,e.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `));let a=e.data;if(r.has(a.name))throw new O(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!te.satisfies(t,a.boltdocsVersion))throw new k(a.name,`Plugin expects Boltdocs version ${a.boltdocsVersion}, but current is ${t}`);if(a.components){for(let[e,t]of Object.entries(a.components))if((t.includes(`..`)||S.isAbsolute(t))&&t.includes(`..`))throw new O(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`)}n.push(a)}return n}function F(e,t){return e.permissions?e.permissions.includes(t):!1}var I=class e{static checkPermission(e,t){if(!F(e,t))throw new A(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:F(e,`mdx:remark`)?e.remarkPlugins:[],rehypePlugins:F(e,`mdx:rehype`)?e.rehypePlugins:[],vitePlugins:F(e,`vite:config`)?e.vitePlugins:[],components:F(e,`components`)?e.components:{}}}static async executeWithIsolation(t,n,r,i){try{return e.checkPermission(t,n),await i()}catch(e){if(e instanceof A){console.warn(`[boltdocs] Skipping hook '${r}' for plugin '${t.name}': ${e.message}`);return}throw e}}},L=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new M}async runHook(e,...t){let n=this.getSortedPlugins();for(let r of n){if(!r.hooks?.[e])continue;let n=this.createContext(r),i=e.toLowerCase().includes(`build`),a=e.toLowerCase().includes(`dev`),o=i?`hooks:build`:a?`hooks:dev`:void 0;try{o?await I.executeWithIsolation(r,o,e,()=>r.hooks[e](n,...t)):await r.hooks[e](n,...t)}catch(t){let i=new j(r.name,e,t instanceof Error?t:Error(String(t)));n.logger.error(i)}}}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createContext(e){return{config:Object.freeze({...this.config}),meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>console.log(`${t} INFO: ${e}`),warn:e=>console.warn(`${t} WARN: ${e}`),error:e=>{let n=e instanceof Error?e.message:e;console.error(`${t} ERROR: ${n}`)},debug:e=>console.debug(`${t} DEBUG: ${e}`)}}};function je(e){return e}const R=_.dirname(ne(import.meta.url));function z(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(z):e&&typeof e==`object`?Object.values(e).flatMap(z):[]}const Me=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function Ne(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=z(Object.entries(n.frontmatter).filter(([e])=>!Me.has(e)).map(([e,t])=>t)).join(` `));let r=e?`${n._content||``} ${e}`:n._content||``;if(t.push({id:n.path,title:n.title,content:r,url:n.path,display:n.groupTitle?`${n.groupTitle} > ${n.title}`:n.title,locale:n.locale,version:n.version}),n.headings)for(let e of n.headings)t.push({id:`${n.path}#${e.id}`,title:e.text,content:`${e.text} in ${n.title}`,url:`${n.path}#${e.id}`,display:`${n.title} > ${e.text}`,locale:n.locale,version:n.version})}return t}function B(e,t,n=!1){let r=S.resolve(process.cwd(),`index.css`),i=v.existsSync(r)?`import './index.css';`:``,o=t?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],s=o.map(([e,t])=>`import * as _comp_${e} from '${a(t)}';
72
+ const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
73
+ `),c=o.map(([e])=>e).join(`, `),l=S.basename(e.docsDir||`docs`),u=S.resolve(process.cwd(),e.docsDir||`docs`),d=[`tsx`,`ts`,`jsx`,`js`].map(e=>S.resolve(u,`pages-external/index.${e}`)).find(e=>v.existsSync(e));return`
74
+ import { ViteReactSSG } from '@bdocs/ssg';
75
+ import { createRoutes } from 'boltdocs/client';
76
+ import _routes from 'virtual:boltdocs-routes.ts';
77
+ import _config from 'virtual:boltdocs-config.ts';
78
+ import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx';
79
+ import _Layout from 'virtual:boltdocs-layout.tsx';
80
+ ${i}
81
+ ${s}
82
+ ${d?`import * as _external_module from '${a(d)}';`:``}
83
+
84
+ const mdxModules = import.meta.glob('/${l}/**/*.{md,mdx}', { eager: true });
85
+
86
+ export const createRoot = ViteReactSSG(
87
+ {
88
+ routes: createRoutes({
89
+ routesData: _routes,
90
+ config: _config,
91
+ mdxModules,
92
+ Layout: _Layout,
93
+ ${d?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``}
94
+ components: { ${c}${c?`, `:``} ...(_user_mdx_components || {}) },
95
+ }),
96
+ },
97
+ ({ isClient }) => {
98
+ // Boltdocs initialization hook
99
+ if (isClient) {
100
+ // Client-side initialization
101
+ }
102
+ },
103
+ );
104
+ `}let V=null,H=null;function Pe(){V=null,H=null}function Fe(e,t,n,r){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let t=n()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?a(_.resolve(t,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?a(_.resolve(t,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(i){let o=n()?.command===`build`,s=t();if(i.includes(`boltdocs-entry.tsx`)||i===`\0virtual:boltdocs-entry`)return B(e,s,o);if(i.includes(`boltdocs-client.mjs`)||i===`\0virtual:boltdocs-client.ts`||i===`virtual:boltdocs-client`){let e=R,t=e;for(;e!==_.parse(e).root;){if(b.existsSync(_.join(e,`package.json`))&&JSON.parse(b.readFileSync(_.join(e,`package.json`),`utf-8`)).name===`boltdocs`){t=e;break}e=_.dirname(e)}let n=_.join(t,`src/client/index.ts`),r=_.join(t,`dist/client/index.js`);return`export * from '${a(b.existsSync(n)?n:r)}';`}if(!i.startsWith(`\0virtual:boltdocs-`))return;let c=i.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(c===`routes`){let e=w(await f(r,s));return`export default ${JSON.stringify(e,null,2)};`}if(c===`config`){if(V===null){let{loadDirectoryMeta:e}=await import(`./meta-loader-9IpAHWDS.mjs`);V=await e(r)}let e=V,t={base:s?.base,theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,integrations:s?.integrations,plugins:s?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(c===`entry`)return B(e,s,o);if(c===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],t=null;for(let n of e){let e=_.resolve(r,`mdx-components.${n}`);if(b.existsSync(e)){t=e;break}}if(t){let e=a(t);return`import * as components from '${e}';
105
+ const mdxComponents = components.default || components;
106
+ export default mdxComponents;
107
+ export * from '${e}';`}return`export default {};`}if(c===`layout`){let e=[`tsx`,`jsx`],t=null;for(let n of e){let e=_.resolve(r,`layout.${n}`);if(b.existsSync(e)){t=e;break}}if(t)return`import UserLayout from '${a(t)}';
108
+ export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(c===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],t=null;for(let n of e){let e=_.resolve(r,`icons.${n}`);if(b.existsSync(e)){t=e;break}}return t?`import * as icons from '${a(t)}';\nexport default icons;`:`export default {};`}if(c===`search`){if(!H){let e=Ne(await f(r,s));H=`export default ${JSON.stringify(e,null,2)};`}return H}if(c===`client`){let e=R,t=``;for(;e&&e!==_.parse(e).root;){let n=_.join(e,`src/client/index.ts`),r=_.join(e,`dist/client/index.mjs`),i=_.join(e,`client/index.ts`);if(b.existsSync(n)){t=a(n);break}if(b.existsSync(r)){t=a(r);break}if(b.existsSync(i)){t=a(i);break}e=_.dirname(e)}if(!t)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${R}`);return`export * from '${t}';`}}}}const U={"X-Content-Type-Options":`nosniff`,"X-Frame-Options":`DENY`,"X-XSS-Protection":`1; mode=block`,"Referrer-Policy":`strict-origin-when-cross-origin`,"Permissions-Policy":`camera=(), microphone=(), geolocation=()`,"Strict-Transport-Security":`max-age=31536000; includeSubDomains`};function Ie(e){let t=process.env.NODE_ENV===`development`,n={"default-src":[`'self'`],"script-src":[`'self'`,`'unsafe-inline'`],"style-src":[`'self'`,`'unsafe-inline'`],"img-src":[`'self'`,`data:`,`https:`],"font-src":[`'self'`],"connect-src":[`'self'`]};return t&&(n[`script-src`]=[`'self'`,`'unsafe-eval'`,`'unsafe-inline'`],n[`style-src`]=[`'self'`,`'unsafe-inline'`]),Object.entries(n).map(([e,t])=>`${e} ${t.join(` `)}`).join(`; `)}const W=new Map;async function Le(e){try{let{data:t}=await c(e),n=JSON.stringify(t);return x.createHash(`md5`).update(n).digest(`hex`)}catch{return``}}function Re(e){return W.get(e)}function ze(e,t){W.set(e,t)}function Be(e){W.delete(e)}function G(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function Ve(r,i,o,c,l){let f=new Map;return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(c){let p=l();await p?.runHook(`beforeDev`),n(r,process.cwd(),o()).catch(e=>{console.error(`[boltdocs] Failed to generate initial link tree:`,e)}),setTimeout(async()=>{try{let{generateRoutes:e}=await import(`./routes-CMUZGI6T.mjs`).then(e=>e.r),t=await e(r,o());for(let e of t)if(e.filePath){let t=_.relative(process.cwd(),e.filePath).replace(/\\/g,`/`),n=t.startsWith(`/`)?t:`/${t}`;await c.transformRequest(n).catch(()=>{}),await new Promise(e=>setTimeout(e,50))}}catch{}},1e3),c.middlewares.use((e,t,n)=>{process.env.NODE_ENV===`production`&&Object.entries(U).forEach(([e,n])=>{t.setHeader(e,n)});let r=o();r.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,Ie(r)),n()}),c.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),c.middlewares.use(async(e,t,n)=>{let r=e.url?.split(`?`)[0]||`/`,i=e.headers.accept||``,a=o(),s=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i.test(r);if(i.includes(`text/html`)&&!s){let n=T(a);n=E(n,a),n=await c.transformIndexHtml(e.url||`/`,n),t.statusCode=200,t.setHeader(`Content-Type`,`text/html`),t.end(n);return}n()});let m=e.map(e=>_.resolve(process.cwd(),e)),h=[`tsx`,`jsx`].map(e=>_.resolve(r,`layout.${e}`)),g=[`tsx`,`ts`,`jsx`,`js`],v=g.map(e=>_.resolve(r,`mdx-components.${e}`)),y=g.map(e=>_.resolve(r,`pages-external/index.${e}`)),b=g.map(e=>_.resolve(r,`icons.${e}`));c.watcher.add([...m,...v,...h,...y,...b]);let x=async(l,p)=>{try{let m=a(l);if(e.some(e=>m.endsWith(e))){c.restart();return}if(g.some(e=>m.endsWith(`mdx-components.${e}`))){t(o(),r),G(c,`mdx-components.tsx`),c.ws.send({type:`full-reload`});return}if(g.some(e=>m.endsWith(`icons.${e}`))){G(c,`icons.tsx`),c.ws.send({type:`full-reload`});return}if(m.endsWith(`layout.tsx`)||m.endsWith(`layout.jsx`)){G(c,`layout.tsx`),c.ws.send({type:`full-reload`});return}if(m.includes(`/pages-external/`)||m.includes(`\\pages-external\\`)){G(c,`entry`),c.ws.send({type:`full-reload`});return}if(!m.toLowerCase().startsWith(i.toLowerCase())||!s(m))return;if(p===`add`||p===`unlink`){p===`unlink`&&Be(l),d(),Pe();let e=o();t(e,r),G(c,`config`),G(c,`routes`),G(c,`search`),n(r,process.cwd(),e).catch(e=>{console.error(`[boltdocs] Failed to update link tree:`,e)}),c.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:e?.theme,i18n:e?.i18n,versions:e?.versions,siteUrl:e?.siteUrl}}),c.ws.send({type:`full-reload`});return}f.has(m)&&clearTimeout(f.get(m)),f.set(m,setTimeout(async()=>{f.delete(m);try{let e=Re(l),t=await Le(l);ze(l,t),u(l),e!==void 0&&e!==t&&(G(c,`routes`),G(c,`search`));let n=a(_.relative(r,l)),i=c.moduleGraph.getModulesByFile(m);if(i)for(let e of i)c.moduleGraph.invalidateModule(e);c.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:m,relPath:n}})}catch(e){console.error(`[boltdocs] HMR error processing content change:`,e)}},150))}catch(e){console.error(`[boltdocs] HMR error during ${p} event:`,e)}};c.watcher.on(`add`,e=>x(e,`add`)),c.watcher.on(`unlink`,e=>x(e,`unlink`)),c.watcher.on(`change`,e=>x(e,`change`)),await p?.runHook(`afterDev`)},handleHotUpdate({file:e,server:t}){let n=a(e);if(n.toLowerCase().startsWith(i.toLowerCase())&&s(n))return[]}}}function He(e={},t){let n=_.resolve(process.cwd(),e.docsDir||`docs`),i=a(n),o=t,s,c=!1,l,u=[],d=()=>o;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){c=t.command===`build`;let i=e.envDir||process.cwd(),a=h(t.mode,i,``);Object.assign(process.env,a),o||=await r(n);let s=(await import(`./package-HegMOTL_.mjs`)).version,d=P(o.plugins||[],s);return o.plugins=d,l=new L(d,o),u=d.flatMap(e=>I.getSanitizedCapabilities(e).vitePlugins||[]),c&&await l.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`nested`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`},onFinished:async e=>{let t=ke(w(await f(n,o)),o);t&&b.writeFileSync(_.join(e,`sitemap.xml`),t);let r=Ae(o);b.writeFileSync(_.join(e,`robots.txt`),r)}},build:{ssrManifest:c},async config(){return{optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{dedupe:[`react`,`react-dom`]}}}}},configResolved(e){s=e,l?.runHook(`configResolved`,o)},transformIndexHtml:{order:`pre`,handler(e){return E(e,o)}},async buildEnd(){let{pool:e}=await import(`./worker-pool-Bd8Y9KDv.mjs`);await e.terminate()},async closeBundle(){!c||s?.build?.ssr||(await l?.runHook(`afterBuild`),await l?.runHook(`buildEnd`))}},Fe(e,d,()=>s,n),Ve(n,i,d,e=>{o=e},()=>l),{...ee({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:`preset-default`}]}}),apply:`build`},...u]}const K=new l(`mdx`),Ue=[le.default||le,ue.default||ue,de.default||de,fe.default||fe,pe.default||pe,me.default||me,he.default||he],We=[ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe];let Ge=null,q=null;const Ke=()=>(Ge??=se(),Ge),qe=async e=>q||(q=ce({themes:Ue,langs:We,engine:Ke()}),q),J={JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,ELEMENT:`element`,TEXT:`text`,CODE:`code`},Je={PRE:`pre`,CODE:`code`},Y={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},X={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},Ye={LIGHT:`github-light`,DARK:`github-dark`},Z={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},Xe=(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,X.LINE_NUMBERS)}}},Ze=(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,X.WORD_WRAP)}}},Qe=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[Y.TITLE]=t)}}),$e=()=>({name:`AddLanguageProperty`,pre(e){e.properties[Y.LANG]=this.options.lang||Z.LANG}});function et(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 tt=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:Ye.LIGHT,dark:Ye.DARK}}async getHighlighter(){return await qe(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=et(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||Z.LANG,meta:{__raw:i,...r},transformers:[Xe(),Ze(),Qe(),$e()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(e,t,n){try{let r=await this.getHighlighter(),i=this.getOptions(t,n);return r.codeToHtml(e,i)}catch(t){return console.error(`[ShikiAdapter] Failed to render code:`,t),`<pre class="${X.FALLBACK}"><code>${nt(e)}</code></pre>`}}};function nt(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`)}let Q=null,rt;function it(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(Q===null||rt!==t)&&(Q=new tt(e),rt=t),Q}function at(e){let t=it(e);return async e=>{let n=await t.getHighlighter();C(e,J.ELEMENT,e=>{if(e.tagName===Je.PRE&&e.children?.[0]?.type===J.ELEMENT&&e.children[0].tagName===Je.CODE){let r=e.children[0],i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):Z.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=r.children?.[0]?.value||``,s=et(r.properties?.metastring||r.data?.meta||``),c=t.getOptions(a,s),l=``;try{l=n.codeToHtml(o,c)}catch(e){console.error(`[rehypeShiki] Failed to highlight code block:`,e),l=`<pre class="${X.FALLBACK}"><code>${nt(o)}</code></pre>`}e.properties=e.properties||{},s.title&&(e.properties[Y.TITLE]=s.title),e.properties[Y.HIGHLIGHTED]=`true`,e.properties[Y.HIGHLIGHTED_HTML]=l,e.properties[Y.LANG]=a,e.children=[]}})}}function ot(){return e=>{C(e,J.CODE,e=>{e.meta&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties.metastring=e.meta)})}}let st=!1;function $(e,t=re){let n=e?.plugins?.flatMap(e=>I.getSanitizedCapabilities(e).remarkPlugins||[])||[],r=e?.plugins?.flatMap(e=>I.getSanitizedCapabilities(e).rehypePlugins||[])||[],i=t({remarkPlugins:[ie,ae,ot,...n],rehypePlugins:[oe,[at,e],...r],jsxRuntime:`automatic`});return{...i,name:`vite-plugin-boltdocs-mdx`,async buildStart(){st||=(await K.load(),!0),i.buildStart&&await i.buildStart.call(this)},async transform(e,t,n){let[r]=t.split(`?`);if(!r.endsWith(`.md`)&&!r.endsWith(`.mdx`))return i.transform?.call(this,e,t,n);let a=`${r}:${x.createHash(`md5`).update(e).digest(`hex`)}:${process.env.NODE_ENV===`production`?`prod`:`dev`}:v3`,o=await K.getAsync(a);if(o)return{code:o,map:null};let s=await i.transform.call(this,e,r,n);return s&&typeof s==`object`&&s.code&&(process.env.NODE_ENV!==`production`&&(s.code+=`
109
+ if (import.meta.hot) {
110
+ import.meta.hot.accept();
111
+ }
112
+ `),K.set(a,s.code)),s},async buildEnd(){K.save(),await K.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}async function ct(e){let t=await r(e?.docsDir||`docs`);return[...He({...e},t),$(t)]}async function lt(e,t=`development`){let n=await r(`docs`,e),i=t===`production`,a=i?{...U}:{};return n.security?.enableCSP&&(a[`Content-Security-Policy`]=Ie(n)),{root:e,mode:t,oxc:{jsx:{development:!i,runtime:`automatic`,importSource:`react`}},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`use-sync-external-store/shim`],rolldownOptions:{}},build:{rolldownOptions:{}},plugins:[p(),m(),...He({docsDir:`docs`,root:e},n),$(n)],resolve:{alias:[{find:`boltdocs/entry`,replacement:g(_.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:g(_.resolve(e,`boltdocs-client.mjs`))},{find:`use-sync-external-store/shim/index.js`,replacement:`react`},{find:`use-sync-external-store/shim`,replacement:`react`},{find:`use-sync-external-store`,replacement:`react`}],dedupe:[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]},ssr:{optimizeDeps:{include:[`react`,`react-dom`,`react/jsx-runtime`,`react/jsx-dev-runtime`,...n.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-helmet-async`,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`]},server:{headers:{...a,...n.vite?.server?.headers},...n.vite?.server},preview:{headers:{...a,...n.vite?.preview?.headers},...n.vite?.preview},...n.vite}}export{L as a,F as c,k as d,D as f,O as h,je as i,P as l,A as m,lt as n,I as o,j as p,B as r,N as s,ct as t,M as u};
@@ -0,0 +1,112 @@
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-Clzu7jvb.cjs`),n=require(`./cache-DorPMFgW.cjs`),r=require(`./routes-Co1mRM58.cjs`),i=require(`./doctor-COpf35L2.cjs`);let a=require(`@vitejs/plugin-react`);a=e.n(a);let o=require(`@tailwindcss/vite`);o=e.n(o);let s=require(`vite`),c=require(`node:path`);c=e.n(c);let l=require(`fs`);l=e.n(l);let u=require(`zod`),d=require(`node:fs`);d=e.n(d);let f=require(`node:crypto`);f=e.n(f);let p=require(`vite-plugin-image-optimizer`),m=require(`semver`);m=e.n(m);let h=require(`path`);h=e.n(h);let g=require(`@mdx-js/rollup`);g=e.n(g);let _=require(`remark-gfm`);_=e.n(_);let v=require(`remark-frontmatter`);v=e.n(v);let y=require(`rehype-slug`);y=e.n(y);let ee=require(`unist-util-visit`),te=require(`shiki/engine/javascript`),ne=require(`shiki/core`),b=require(`@shikijs/themes/github-light`);b=e.n(b);let x=require(`@shikijs/themes/github-dark`);x=e.n(x);let S=require(`@shikijs/themes/tokyo-night`);S=e.n(S);let C=require(`@shikijs/themes/dracula`);C=e.n(C);let w=require(`@shikijs/themes/nord`);w=e.n(w);let T=require(`@shikijs/themes/one-dark-pro`);T=e.n(T);let E=require(`@shikijs/themes/one-light`);E=e.n(E);let D=require(`@shikijs/langs/html`);D=e.n(D);let O=require(`@shikijs/langs/js`);O=e.n(O);let k=require(`@shikijs/langs/ts`);k=e.n(k);let A=require(`@shikijs/langs/tsx`);A=e.n(A);let j=require(`@shikijs/langs/css`);j=e.n(j);let M=require(`@shikijs/langs/json`);M=e.n(M);let N=require(`@shikijs/langs/bash`);N=e.n(N);let P=require(`@shikijs/langs/markdown`);P=e.n(P);let F=require(`@shikijs/langs/mdx`);F=e.n(F);let re=require(`@shikijs/langs/yaml`);re=e.n(re);let ie=require(`@shikijs/langs/rust`);ie=e.n(ie);let I=require(`@shikijs/langs/toml`);I=e.n(I);let L=require(`@shikijs/langs/csv`);L=e.n(L);function ae(e){return e.map(e=>({path:e.path,filePath:e.filePath,title:e.title,description:e.description||``,sidebarPosition:e.sidebarPosition,badge:e.badge,icon:e.icon,headings:e.headings||[],_content:e._content||``,_rawContent:e._rawContent||``,locale:e.locale,version:e.version,tab:e.tab,group:e.group,groupTitle:e.groupTitle,groupPosition:e.groupPosition,groupIcon:e.groupIcon,subRouteGroup:e.subRouteGroup,seo:e.seo,date:e.date,lastUpdated:e.lastUpdated,category:e.category,order:e.order,sidebarLabel:e.sidebarLabel,sidebarHidden:e.sidebarHidden,frontmatter:e.frontmatter,slugParts:e.slugParts}))}function oe(e,n){let r=(n.siteUrl||``).replace(/\/$/,``);if(!r)return``;let i=n.seo?.indexing!==`all`&&n.seo?.indexing!==`public`;return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
8
+ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(i&&e.seo?.index,!0)).map(e=>` <url>
9
+ <loc>${t.n(`${r}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`)}</loc>
10
+ <changefreq>weekly</changefreq>
11
+ <priority>0.7</priority>
12
+ </url>`).join(`
13
+ `)}
14
+ </urlset>`}function se(e){let t=e.siteUrl||``,n=t?`${t.replace(/\/$/,``)}/sitemap.xml`:``;if(e.seo?.indexing!==`all`&&e.seo?.indexing!==`public`&&e.seo?.indexing)return[`User-agent: *`,`Disallow: /`].filter(Boolean).join(`
15
+ `);if(typeof e.robots==`string`)return e.robots;if(e.robots&&typeof e.robots==`object`){let t=e.robots.rules||[],r=e.robots.sitemaps||[],i=t.map(e=>{let t=`User-agent: ${e.userAgent}\n`;return e.allow&&(Array.isArray(e.allow)?t+=e.allow.map(e=>`Allow: ${e}`).join(`
16
+ `)+`
17
+ `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
18
+ `)+`
19
+ `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
20
+
21
+ `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
+ `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
+ `)}function ce(e){return`<!doctype html>
24
+ <html lang="en">
25
+ <head>
26
+ <meta charset="UTF-8" />
27
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
28
+ <title>${e.theme?.title||`Boltdocs`}</title>
29
+ </head>
30
+ <body>
31
+ <div id="root"></div>
32
+ </body>
33
+ </html>`}function le(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=ce(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,`<meta name="generator" content="Boltdocs">`].filter(Boolean).join(`
34
+ `);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let s=``;if(t.integrations?.ga4){let e=t.integrations.ga4;if(process.env.NODE_ENV===`production`||e.debug){let t=e.anonymizeIp?`gtag('set', 'ip', true);`:``,n=e.sendPageView===!1?`{send_page_view: false}`:`{}`,r=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``;s=`
35
+ <!-- Google tag (gtag.js) - ${e.measurementId} -->
36
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
37
+ <script>
38
+ window.dataLayer = window.dataLayer || [];
39
+ function gtag(){dataLayer.push(arguments);}
40
+ gtag('js', new Date());
41
+ ${t}
42
+ gtag('config', '${e.measurementId}', ${n}${r});
43
+ <\/script>
44
+ `}}let c=``,l=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;c=`
45
+ <!-- Google Tag Manager -->
46
+ <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
47
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
48
+ j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
49
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`&gtm_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
50
+ })(window,document,'script','${t}','${e.tagId}');<\/script>
51
+ <!-- End Google Tag Manager -->
52
+ `,l=`
53
+ <!-- Google Tag Manager (noscript) -->
54
+ <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
55
+ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
56
+ <!-- End Google Tag Manager (noscript) -->
57
+ `}}return e=e.replace(`</head>`,` ${o}\n
58
+ <script>
59
+ (function() {
60
+ try {
61
+ var stored = localStorage.getItem("boltdocs-theme");
62
+ var isDark =
63
+ stored === "dark" ||
64
+ (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
65
+ document.documentElement.classList.toggle("dark", isDark);
66
+ document.documentElement.dataset.theme = isDark ? "dark" : "light";
67
+ } catch (e) {}
68
+ })();
69
+ <\/script>
70
+ \n${s}${c} </head>`),l&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${l}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
71
+ </body>`)),e}var R=class e extends Error{pluginName;constructor(t,n){super(`[plugin:${t}] ${n}`),this.name=`PluginError`,this.pluginName=t,Object.setPrototypeOf(this,e.prototype)}},z=class e extends R{constructor(t,n){super(t,`Validation failed: ${n}`),this.name=`PluginValidationError`,Object.setPrototypeOf(this,e.prototype)}},ue=class e extends R{constructor(t,n){super(t,`Compatibility error: ${n}`),this.name=`PluginCompatibilityError`,Object.setPrototypeOf(this,e.prototype)}},B=class e extends R{constructor(t,n){super(t,`Missing required permission: '${n}'`),this.name=`PluginPermissionError`,Object.setPrototypeOf(this,e.prototype)}},de=class e extends R{hookName;constructor(t,n,r){super(t,`Error in hook '${n}': ${r.message}`),this.name=`PluginHookError`,this.hookName=n,this.stack=r.stack,Object.setPrototypeOf(this,e.prototype)}},fe=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let n=this.getNamespaceKey(e,t),r=this.data.get(n);if(r!==void 0)return typeof r==`object`&&r?JSON.parse(JSON.stringify(r)):r}set(e,t,n){let r=this.getNamespaceKey(e,t),i=typeof n==`object`&&n?JSON.parse(JSON.stringify(n)):n;this.data.set(r,i)}has(e,t){let n=this.getNamespaceKey(e,t);return this.data.has(n)}};const pe=i._.extend({version:u.z.string().optional(),boltdocsVersion:u.z.string().optional(),permissions:u.z.array(u.z.string()).optional(),hooks:u.z.object({beforeBuild:u.z.function().optional(),afterBuild:u.z.function().optional(),beforeDev:u.z.function().optional(),afterDev:u.z.function().optional(),configResolved:u.z.function().optional(),buildEnd:u.z.function().optional()}).optional()});function me(e,t){let n=[],r=new Set;for(let i of e){let e=pe.safeParse(i);if(!e.success)throw new z(i.name||`unknown`,e.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `));let a=e.data;if(r.has(a.name))throw new z(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!m.default.satisfies(t,a.boltdocsVersion))throw new ue(a.name,`Plugin expects Boltdocs version ${a.boltdocsVersion}, but current is ${t}`);if(a.components){for(let[e,t]of Object.entries(a.components))if((t.includes(`..`)||h.default.isAbsolute(t))&&t.includes(`..`))throw new z(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`)}n.push(a)}return n}function V(e,t){return e.permissions?e.permissions.includes(t):!1}var H=class e{static checkPermission(e,t){if(!V(e,t))throw new B(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:V(e,`mdx:remark`)?e.remarkPlugins:[],rehypePlugins:V(e,`mdx:rehype`)?e.rehypePlugins:[],vitePlugins:V(e,`vite:config`)?e.vitePlugins:[],components:V(e,`components`)?e.components:{}}}static async executeWithIsolation(t,n,r,i){try{return e.checkPermission(t,n),await i()}catch(e){if(e instanceof B){console.warn(`[boltdocs] Skipping hook '${r}' for plugin '${t.name}': ${e.message}`);return}throw e}}},he=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new fe}async runHook(e,...t){let n=this.getSortedPlugins();for(let r of n){if(!r.hooks?.[e])continue;let n=this.createContext(r),i=e.toLowerCase().includes(`build`),a=e.toLowerCase().includes(`dev`),o=i?`hooks:build`:a?`hooks:dev`:void 0;try{o?await H.executeWithIsolation(r,o,e,()=>r.hooks[e](n,...t)):await r.hooks[e](n,...t)}catch(t){let i=new de(r.name,e,t instanceof Error?t:Error(String(t)));n.logger.error(i)}}}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createContext(e){return{config:Object.freeze({...this.config}),meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>console.log(`${t} INFO: ${e}`),warn:e=>console.warn(`${t} WARN: ${e}`),error:e=>{let n=e instanceof Error?e.message:e;console.error(`${t} ERROR: ${n}`)},debug:e=>console.debug(`${t} DEBUG: ${e}`)}}};function ge(e){return e}function U(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(U):e&&typeof e==`object`?Object.values(e).flatMap(U):[]}const _e=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function ve(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=U(Object.entries(n.frontmatter).filter(([e])=>!_e.has(e)).map(([e,t])=>t)).join(` `));let r=e?`${n._content||``} ${e}`:n._content||``;if(t.push({id:n.path,title:n.title,content:r,url:n.path,display:n.groupTitle?`${n.groupTitle} > ${n.title}`:n.title,locale:n.locale,version:n.version}),n.headings)for(let e of n.headings)t.push({id:`${n.path}#${e.id}`,title:e.text,content:`${e.text} in ${n.title}`,url:`${n.path}#${e.id}`,display:`${n.title} > ${e.text}`,locale:n.locale,version:n.version})}return t}function W(e,n,r=!1){let i=h.default.resolve(process.cwd(),`index.css`),a=l.default.existsSync(i)?`import './index.css';`:``,o=n?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],s=o.map(([e,n])=>`import * as _comp_${e} from '${t.l(n)}';
72
+ const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
73
+ `),c=o.map(([e])=>e).join(`, `),u=h.default.basename(e.docsDir||`docs`),d=h.default.resolve(process.cwd(),e.docsDir||`docs`),f=[`tsx`,`ts`,`jsx`,`js`].map(e=>h.default.resolve(d,`pages-external/index.${e}`)).find(e=>l.default.existsSync(e));return`
74
+ import { ViteReactSSG } from '@bdocs/ssg';
75
+ import { createRoutes } from 'boltdocs/client';
76
+ import _routes from 'virtual:boltdocs-routes.ts';
77
+ import _config from 'virtual:boltdocs-config.ts';
78
+ import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx';
79
+ import _Layout from 'virtual:boltdocs-layout.tsx';
80
+ ${a}
81
+ ${s}
82
+ ${f?`import * as _external_module from '${t.l(f)}';`:``}
83
+
84
+ const mdxModules = import.meta.glob('/${u}/**/*.{md,mdx}', { eager: true });
85
+
86
+ export const createRoot = ViteReactSSG(
87
+ {
88
+ routes: createRoutes({
89
+ routesData: _routes,
90
+ config: _config,
91
+ mdxModules,
92
+ Layout: _Layout,
93
+ ${f?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``}
94
+ components: { ${c}${c?`, `:``} ...(_user_mdx_components || {}) },
95
+ }),
96
+ },
97
+ ({ isClient }) => {
98
+ // Boltdocs initialization hook
99
+ if (isClient) {
100
+ // Client-side initialization
101
+ }
102
+ },
103
+ );
104
+ `}let G=null,K=null;function ye(){G=null,K=null}function be(e,n,i,a){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let n=i()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?t.l(c.default.resolve(n,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?t.l(c.default.resolve(n,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(o){let s=i()?.command===`build`,l=n();if(o.includes(`boltdocs-entry.tsx`)||o===`\0virtual:boltdocs-entry`)return W(e,l,s);if(o.includes(`boltdocs-client.mjs`)||o===`\0virtual:boltdocs-client.ts`||o===`virtual:boltdocs-client`){let e=__dirname,n=e;for(;e!==c.default.parse(e).root;){if(d.default.existsSync(c.default.join(e,`package.json`))&&JSON.parse(d.default.readFileSync(c.default.join(e,`package.json`),`utf-8`)).name===`boltdocs`){n=e;break}e=c.default.dirname(e)}let r=c.default.join(n,`src/client/index.ts`),i=c.default.join(n,`dist/client/index.js`);return`export * from '${t.l(d.default.existsSync(r)?r:i)}';`}if(!o.startsWith(`\0virtual:boltdocs-`))return;let u=o.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(u===`routes`){let e=ae(await r.t(a,l));return`export default ${JSON.stringify(e,null,2)};`}if(u===`config`){if(G===null){let{loadDirectoryMeta:e}=await Promise.resolve().then(()=>require(`./meta-loader-0gJ4PtBC.cjs`));G=await e(a)}let e=G,t={base:l?.base,theme:l?.theme,i18n:l?.i18n,versions:l?.versions,siteUrl:l?.siteUrl,integrations:l?.integrations,plugins:l?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(u===`entry`)return W(e,l,s);if(u===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],n=null;for(let t of e){let e=c.default.resolve(a,`mdx-components.${t}`);if(d.default.existsSync(e)){n=e;break}}if(n){let e=t.l(n);return`import * as components from '${e}';
105
+ const mdxComponents = components.default || components;
106
+ export default mdxComponents;
107
+ export * from '${e}';`}return`export default {};`}if(u===`layout`){let e=[`tsx`,`jsx`],n=null;for(let t of e){let e=c.default.resolve(a,`layout.${t}`);if(d.default.existsSync(e)){n=e;break}}if(n)return`import UserLayout from '${t.l(n)}';
108
+ export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(u===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],n=null;for(let t of e){let e=c.default.resolve(a,`icons.${t}`);if(d.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.l(n)}';\nexport default icons;`:`export default {};`}if(u===`search`){if(!K){let e=ve(await r.t(a,l));K=`export default ${JSON.stringify(e,null,2)};`}return K}if(u===`client`){let e=__dirname,n=``;for(;e&&e!==c.default.parse(e).root;){let r=c.default.join(e,`src/client/index.ts`),i=c.default.join(e,`dist/client/index.mjs`),a=c.default.join(e,`client/index.ts`);if(d.default.existsSync(r)){n=t.l(r);break}if(d.default.existsSync(i)){n=t.l(i);break}if(d.default.existsSync(a)){n=t.l(a);break}e=c.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}const xe={"X-Content-Type-Options":`nosniff`,"X-Frame-Options":`DENY`,"X-XSS-Protection":`1; mode=block`,"Referrer-Policy":`strict-origin-when-cross-origin`,"Permissions-Policy":`camera=(), microphone=(), geolocation=()`,"Strict-Transport-Security":`max-age=31536000; includeSubDomains`};function Se(e){let t=process.env.NODE_ENV===`development`,n={"default-src":[`'self'`],"script-src":[`'self'`,`'unsafe-inline'`],"style-src":[`'self'`,`'unsafe-inline'`],"img-src":[`'self'`,`data:`,`https:`],"font-src":[`'self'`],"connect-src":[`'self'`]};return t&&(n[`script-src`]=[`'self'`,`'unsafe-eval'`,`'unsafe-inline'`],n[`style-src`]=[`'self'`,`'unsafe-inline'`]),Object.entries(n).map(([e,t])=>`${e} ${t.join(` `)}`).join(`; `)}const q=new Map;async function Ce(e){try{let{data:n}=await t.u(e),r=JSON.stringify(n);return f.default.createHash(`md5`).update(r).digest(`hex`)}catch{return``}}function we(e){return q.get(e)}function Te(e,t){q.set(e,t)}function Ee(e){q.delete(e)}function J(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function De(e,n,a,o,s){let l=new Map;return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(o){let u=s();await u?.runHook(`beforeDev`),i.s(e,process.cwd(),a()).catch(e=>{console.error(`[boltdocs] Failed to generate initial link tree:`,e)}),setTimeout(async()=>{try{let{generateRoutes:t}=await Promise.resolve().then(()=>require(`./routes-CHf76Ye4.cjs`)),n=await t(e,a());for(let e of n)if(e.filePath){let t=c.default.relative(process.cwd(),e.filePath).replace(/\\/g,`/`),n=t.startsWith(`/`)?t:`/${t}`;await o.transformRequest(n).catch(()=>{}),await new Promise(e=>setTimeout(e,50))}}catch{}},1e3),o.middlewares.use((e,t,n)=>{process.env.NODE_ENV===`production`&&Object.entries(xe).forEach(([e,n])=>{t.setHeader(e,n)});let r=a();r.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,Se(r)),n()}),o.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),o.middlewares.use(async(e,t,n)=>{let r=e.url?.split(`?`)[0]||`/`,i=e.headers.accept||``,s=a(),c=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i.test(r);if(i.includes(`text/html`)&&!c){let n=ce(s);n=le(n,s),n=await o.transformIndexHtml(e.url||`/`,n),t.statusCode=200,t.setHeader(`Content-Type`,`text/html`),t.end(n);return}n()});let d=i.f.map(e=>c.default.resolve(process.cwd(),e)),f=[`tsx`,`jsx`].map(t=>c.default.resolve(e,`layout.${t}`)),p=[`tsx`,`ts`,`jsx`,`js`],m=p.map(t=>c.default.resolve(e,`mdx-components.${t}`)),h=p.map(t=>c.default.resolve(e,`pages-external/index.${t}`)),g=p.map(t=>c.default.resolve(e,`icons.${t}`));o.watcher.add([...d,...m,...f,...h,...g]);let _=async(s,u)=>{try{let d=t.l(s);if(i.f.some(e=>d.endsWith(e))){o.restart();return}if(p.some(e=>d.endsWith(`mdx-components.${e}`))){i.g(a(),e),J(o,`mdx-components.tsx`),o.ws.send({type:`full-reload`});return}if(p.some(e=>d.endsWith(`icons.${e}`))){J(o,`icons.tsx`),o.ws.send({type:`full-reload`});return}if(d.endsWith(`layout.tsx`)||d.endsWith(`layout.jsx`)){J(o,`layout.tsx`),o.ws.send({type:`full-reload`});return}if(d.includes(`/pages-external/`)||d.includes(`\\pages-external\\`)){J(o,`entry`),o.ws.send({type:`full-reload`});return}if(!d.toLowerCase().startsWith(n.toLowerCase())||!t.s(d))return;if(u===`add`||u===`unlink`){u===`unlink`&&Ee(s),r.n(),ye();let t=a();i.g(t,e),J(o,`config`),J(o,`routes`),J(o,`search`),i.s(e,process.cwd(),t).catch(e=>{console.error(`[boltdocs] Failed to update link tree:`,e)}),o.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:t?.theme,i18n:t?.i18n,versions:t?.versions,siteUrl:t?.siteUrl}}),o.ws.send({type:`full-reload`});return}l.has(d)&&clearTimeout(l.get(d)),l.set(d,setTimeout(async()=>{l.delete(d);try{let n=we(s),i=await Ce(s);Te(s,i),r.r(s),n!==void 0&&n!==i&&(J(o,`routes`),J(o,`search`));let a=t.l(c.default.relative(e,s)),l=o.moduleGraph.getModulesByFile(d);if(l)for(let e of l)o.moduleGraph.invalidateModule(e);o.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:d,relPath:a}})}catch(e){console.error(`[boltdocs] HMR error processing content change:`,e)}},150))}catch(e){console.error(`[boltdocs] HMR error during ${u} event:`,e)}};o.watcher.on(`add`,e=>_(e,`add`)),o.watcher.on(`unlink`,e=>_(e,`unlink`)),o.watcher.on(`change`,e=>_(e,`change`)),await u?.runHook(`afterDev`)},handleHotUpdate({file:e,server:r}){let i=t.l(e);if(i.toLowerCase().startsWith(n.toLowerCase())&&t.s(i))return[]}}}function Oe(e={},n){let a=c.default.resolve(process.cwd(),e.docsDir||`docs`),o=t.l(a),l=n,u,f=!1,m,h=[],g=()=>l;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){f=t.command===`build`;let n=e.envDir||process.cwd(),o=(0,s.loadEnv)(t.mode,n,``);Object.assign(process.env,o),l||=await i.m(a);let u=(await Promise.resolve().then(()=>require(`./package-BMYLDBBP.cjs`))).version,p=me(l.plugins||[],u);return l.plugins=p,m=new he(p,l),h=p.flatMap(e=>H.getSanitizedCapabilities(e).vitePlugins||[]),f&&await m.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`nested`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`},onFinished:async e=>{let t=oe(ae(await r.t(a,l)),l);t&&d.default.writeFileSync(c.default.join(e,`sitemap.xml`),t);let n=se(l);d.default.writeFileSync(c.default.join(e,`robots.txt`),n)}},build:{ssrManifest:f},async config(){return{optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{dedupe:[`react`,`react-dom`]}}}}},configResolved(e){u=e,m?.runHook(`configResolved`,l)},transformIndexHtml:{order:`pre`,handler(e){return le(e,l)}},async buildEnd(){let{pool:e}=await Promise.resolve().then(()=>require(`./worker-pool-BwU8ckrg.cjs`));await e.terminate()},async closeBundle(){!f||u?.build?.ssr||(await m?.runHook(`afterBuild`),await m?.runHook(`buildEnd`))}},be(e,g,()=>u,a),De(a,o,g,e=>{l=e},()=>m),{...(0,p.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`}]}}),apply:`build`},...h]}const Y=new n.r(`mdx`),ke=[b.default.default||b.default,x.default.default||x.default,S.default.default||S.default,C.default.default||C.default,w.default.default||w.default,T.default.default||T.default,E.default.default||E.default],Ae=[D.default,O.default,k.default,A.default,j.default,M.default,N.default,P.default,F.default,re.default,ie.default,I.default,L.default];let je=null,X=null;const Me=()=>(je??=(0,te.createJavaScriptRegexEngine)(),je),Ne=async e=>X||(X=(0,ne.createHighlighterCore)({themes:ke,langs:Ae,engine:Me()}),X),Z={JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,ELEMENT:`element`,TEXT:`text`,CODE:`code`},Pe={PRE:`pre`,CODE:`code`},Q={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},$={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},Fe={LIGHT:`github-light`,DARK:`github-dark`},Ie={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},Le=(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,$.LINE_NUMBERS)}}},Re=(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,$.WORD_WRAP)}}},ze=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[Q.TITLE]=t)}}),Be=()=>({name:`AddLanguageProperty`,pre(e){e.properties[Q.LANG]=this.options.lang||Ie.LANG}});function Ve(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 He=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:Fe.LIGHT,dark:Fe.DARK}}async getHighlighter(){return await Ne(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=Ve(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||Ie.LANG,meta:{__raw:i,...r},transformers:[Le(),Re(),ze(),Be()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(e,t,n){try{let r=await this.getHighlighter(),i=this.getOptions(t,n);return r.codeToHtml(e,i)}catch(t){return console.error(`[ShikiAdapter] Failed to render code:`,t),`<pre class="${$.FALLBACK}"><code>${Ue(e)}</code></pre>`}}};function Ue(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`)}let We=null,Ge;function Ke(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(We===null||Ge!==t)&&(We=new He(e),Ge=t),We}function qe(e){let t=Ke(e);return async e=>{let n=await t.getHighlighter();(0,ee.visit)(e,Z.ELEMENT,e=>{if(e.tagName===Pe.PRE&&e.children?.[0]?.type===Z.ELEMENT&&e.children[0].tagName===Pe.CODE){let r=e.children[0],i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):Ie.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=r.children?.[0]?.value||``,s=Ve(r.properties?.metastring||r.data?.meta||``),c=t.getOptions(a,s),l=``;try{l=n.codeToHtml(o,c)}catch(e){console.error(`[rehypeShiki] Failed to highlight code block:`,e),l=`<pre class="${$.FALLBACK}"><code>${Ue(o)}</code></pre>`}e.properties=e.properties||{},s.title&&(e.properties[Q.TITLE]=s.title),e.properties[Q.HIGHLIGHTED]=`true`,e.properties[Q.HIGHLIGHTED_HTML]=l,e.properties[Q.LANG]=a,e.children=[]}})}}function Je(){return e=>{(0,ee.visit)(e,Z.CODE,e=>{e.meta&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties.metastring=e.meta)})}}let Ye=!1;function Xe(e,t=g.default){let n=e?.plugins?.flatMap(e=>H.getSanitizedCapabilities(e).remarkPlugins||[])||[],r=e?.plugins?.flatMap(e=>H.getSanitizedCapabilities(e).rehypePlugins||[])||[],i=t({remarkPlugins:[_.default,v.default,Je,...n],rehypePlugins:[y.default,[qe,e],...r],jsxRuntime:`automatic`});return{...i,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ye||=(await Y.load(),!0),i.buildStart&&await i.buildStart.call(this)},async transform(e,t,n){let[r]=t.split(`?`);if(!r.endsWith(`.md`)&&!r.endsWith(`.mdx`))return i.transform?.call(this,e,t,n);let a=`${r}:${f.default.createHash(`md5`).update(e).digest(`hex`)}:${process.env.NODE_ENV===`production`?`prod`:`dev`}:v3`,o=await Y.getAsync(a);if(o)return{code:o,map:null};let s=await i.transform.call(this,e,r,n);return s&&typeof s==`object`&&s.code&&(process.env.NODE_ENV!==`production`&&(s.code+=`
109
+ if (import.meta.hot) {
110
+ import.meta.hot.accept();
111
+ }
112
+ `),Y.set(a,s.code)),s},async buildEnd(){Y.save(),await Y.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}async function Ze(e){let t=await i.m(e?.docsDir||`docs`);return[...Oe({...e},t),Xe(t)]}async function Qe(e,t=`development`){let n=await i.m(`docs`,e),r=t===`production`,l=r?{...xe}:{};return n.security?.enableCSP&&(l[`Content-Security-Policy`]=Se(n)),{root:e,mode:t,oxc:{jsx:{development:!r,runtime:`automatic`,importSource:`react`}},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`use-sync-external-store/shim`],rolldownOptions:{}},build:{rolldownOptions:{}},plugins:[(0,a.default)(),(0,o.default)(),...Oe({docsDir:`docs`,root:e},n),Xe(n)],resolve:{alias:[{find:`boltdocs/entry`,replacement:(0,s.normalizePath)(c.default.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:(0,s.normalizePath)(c.default.resolve(e,`boltdocs-client.mjs`))},{find:`use-sync-external-store/shim/index.js`,replacement:`react`},{find:`use-sync-external-store/shim`,replacement:`react`},{find:`use-sync-external-store`,replacement:`react`}],dedupe:[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]},ssr:{optimizeDeps:{include:[`react`,`react-dom`,`react/jsx-runtime`,`react/jsx-dev-runtime`,...n.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-helmet-async`,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`]},server:{headers:{...l,...n.vite?.server?.headers},...n.vite?.server},preview:{headers:{...l,...n.vite?.preview?.headers},...n.vite?.preview},...n.vite}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return fe}});
@@ -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
+ var e=`2.7.0`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var e=`2.6.1`;export{e as version};
6
+ var e=`2.7.0`;export{e as version};
@@ -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(`./parser-DYRzXWmA.cjs`);exports.parseDocFile=e.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
+ import{d as e}from"./doctor-Dh1XP7Pz.mjs";import{c as t,f as n,g as r,h as i,i as a,m as o,p as s,r as c,t as l,u,y as d}from"./utils-BxNAXhZZ.mjs";import{t as f}from"./cache-CQKlT4fI.mjs";import p from"node:path";import m from"github-slugger";function h(e,t,n,r,i){let s=p.relative(t,e).replace(/\\/g,`/`),c=s.split(`/`),l,u,d;if(r?.versions&&c.length>0){let e=c[0],t=r.versions.prefix||``,n=r.versions.versions.find(n=>e===t+n.path||e===n.path);n&&(u=n.path,c=c.slice(1))}if(r?.i18n&&c.length>0){let e=c[0];(Array.isArray(r.i18n.locales)?r.i18n.locales.includes(e):r.i18n.locales[e])&&(l=e,c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\((.+)\)$/);e&&(d=e[1].toLowerCase(),c=c.slice(1))}let f=[...c],m=c.map(e=>o(e)).join(`/`),h=i?i.startsWith(`/`)?i:`/${i}`:a(m||`index.md`),g=[n,u,l,i?void 0:d,h].filter(Boolean).join(`/`).replace(/\/+/g,`/`).replace(/\/$/,``)||`/`;return{relativePath:s,finalPath:g.startsWith(`/`)?g:`/${g}`,remainingParts:f,locale:l,version:u,inferredTab:d,subRouteGroup:void 0}}const g=/^(#{2,4})\s+(.+)$/gm,_=/\[([^\]]+)\]\([^)]+\)/g,v=/[_*`]/g,y=/\s+/g,b=/[[\]_*`]|#+.*$|\{[^}]+\}/gm,x=/\((?:[^)]+)\)/g;function S(e,t){let r=new m,i=[];for(let t of e.matchAll(g)){let e=t[1].length,a=n(t[2].replace(_,`$1`).replace(v,``).trim()).trim(),o=r.slug(a);i.push({level:e,text:a,id:o})}let a=s(e.replace(b,``).replace(x,``).replace(y,` `)).trim(),o=t?n(t).trim():``;return!o&&e&&(o=a.substring(0,160)),{headings:i,description:o,plainText:a}}const C=[`og:`,`twitter:`,`article:`,`music:`,`video:`,`profile:`,`book:`],w=[`noindex`,`robots`,`canonical`,`keywords`,`author`];function T(e){let t={};e.seo&&typeof e.seo==`object`&&Object.assign(t,e.seo);for(let n of Object.keys(e))(w.includes(n)||C.some(e=>n.startsWith(e)))&&(t[n]=e[n]);return e.hidden===!0&&t.noindex===void 0&&(t.noindex=!0),Object.keys(t).length>0?t:void 0}function E(e){return{title:e.title?n(String(e.title)):void 0,badge:e.badge?n(String(e.badge)):void 0,description:e.description?n(String(e.description)):void 0}}async function D(e,t,n,i){let a=await f.get(e);if(a)return a;let s=e.replace(/\\/g,`/`),m=t.replace(/\\/g,`/`),g=O(s),_=p.resolve(g),v=p.resolve(m);if(p.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),p.resolve(t)};_=e(g),v=e(m)}let y=p.relative(v,_).replace(/\\/g,`/`);if(y.startsWith(`../`)||y!==`.`&&!d.test(y))throw new r(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${p.basename(g)}`);let{data:b,content:x}=await u(e),C=h(_,v,n,i,b.permalink),w=S(x,b.description),D=E(b),k=T(b),A=p.basename(C.relativePath),j=o(A),M=C.remainingParts.map(e=>o(e)).slice(0,-1),N=/^index\.mdx?$/.test(j),P=b.sidebarPosition??c(A),F=M.join(`/`),I={route:{path:C.finalPath,componentPath:e,filePath:C.relativePath,title:D.title||o(p.basename(s,p.extname(s))),description:w.description,sidebarPosition:P,headings:w.headings,locale:C.locale,version:C.version,badge:D.badge,icon:b.icon?String(b.icon):void 0,tab:C.inferredTab,subRouteGroup:C.subRouteGroup,slugParts:M,_content:w.plainText,_rawContent:x,date:b.date,lastUpdated:b.lastUpdated,category:b.category,order:b.order,sidebarLabel:b.sidebarLabel,sidebarHidden:b.sidebarHidden||b.hidden,seo:k,frontmatter:b},relativeDir:F||void 0,isGroupIndex:N,inferredTab:C.inferredTab,groupMeta:N?{title:b.groupTitle||D.title||(M.length>0?l(M[M.length-1]):``),position:b.groupPosition??b.sidebarPosition??(C.remainingParts.length>1?c(C.remainingParts[C.remainingParts.length-2]):void 0),icon:b.icon?String(b.icon):void 0}:void 0,inferredGroupPosition:C.remainingParts.length>1?c(C.remainingParts[C.remainingParts.length-2]):void 0};return await f.set(e,I),I}function O(e){let n;try{n=decodeURIComponent(e)}catch{throw t(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new i(`Security breach: Invalid characters or encoding in path`)}if(n.length>260)throw new r(`Path length exceeds limit`);return n}var k=e({parseDocFile:()=>D});export{D as n,k 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-Clzu7jvb.cjs`),n=require(`./cache-DorPMFgW.cjs`);let r=require(`node:path`);r=e.n(r);let i=require(`github-slugger`);i=e.n(i);function a(e,n,i,a,o){let s=r.default.relative(n,e).replace(/\\/g,`/`),c=s.split(`/`),l,u,d;if(a?.versions&&c.length>0){let e=c[0],t=a.versions.prefix||``,n=a.versions.versions.find(n=>e===t+n.path||e===n.path);n&&(u=n.path,c=c.slice(1))}if(a?.i18n&&c.length>0){let e=c[0];(Array.isArray(a.i18n.locales)?a.i18n.locales.includes(e):a.i18n.locales[e])&&(l=e,c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\((.+)\)$/);e&&(d=e[1].toLowerCase(),c=c.slice(1))}let f=[...c],p=c.map(e=>t.m(e)).join(`/`),m=o?o.startsWith(`/`)?o:`/${o}`:t.i(p||`index.md`),h=[i,u,l,o?void 0:d,m].filter(Boolean).join(`/`).replace(/\/+/g,`/`).replace(/\/$/,``)||`/`;return{relativePath:s,finalPath:h.startsWith(`/`)?h:`/${h}`,remainingParts:f,locale:l,version:u,inferredTab:d,subRouteGroup:void 0}}const o=/^(#{2,4})\s+(.+)$/gm,s=/\[([^\]]+)\]\([^)]+\)/g,c=/[_*`]/g,l=/\s+/g,u=/[[\]_*`]|#+.*$|\{[^}]+\}/gm,d=/\((?:[^)]+)\)/g;function f(e,n){let r=new i.default,a=[];for(let n of e.matchAll(o)){let e=n[1].length,i=t.f(n[2].replace(s,`$1`).replace(c,``).trim()).trim(),o=r.slug(i);a.push({level:e,text:i,id:o})}let f=t.p(e.replace(u,``).replace(d,``).replace(l,` `)).trim(),p=n?t.f(n).trim():``;return!p&&e&&(p=f.substring(0,160)),{headings:a,description:p,plainText:f}}const p=[`og:`,`twitter:`,`article:`,`music:`,`video:`,`profile:`,`book:`],m=[`noindex`,`robots`,`canonical`,`keywords`,`author`];function h(e){let t={};e.seo&&typeof e.seo==`object`&&Object.assign(t,e.seo);for(let n of Object.keys(e))(m.includes(n)||p.some(e=>n.startsWith(e)))&&(t[n]=e[n]);return e.hidden===!0&&t.noindex===void 0&&(t.noindex=!0),Object.keys(t).length>0?t:void 0}function g(e){return{title:e.title?t.f(String(e.title)):void 0,badge:e.badge?t.f(String(e.badge)):void 0,description:e.description?t.f(String(e.description)):void 0}}async function _(e,i,o,s){let c=await n.t.get(e);if(c)return c;let l=e.replace(/\\/g,`/`),u=i.replace(/\\/g,`/`),d=v(l),p=r.default.resolve(d),m=r.default.resolve(u);if(r.default.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),r.default.resolve(t)};p=e(d),m=e(u)}let _=r.default.relative(m,p).replace(/\\/g,`/`);if(_.startsWith(`../`)||_!==`.`&&!t.y.test(_))throw new t.g(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${r.default.basename(d)}`);let{data:y,content:b}=await t.u(e),x=a(p,m,o,s,y.permalink),S=f(b,y.description),C=g(y),w=h(y),T=r.default.basename(x.relativePath),E=t.m(T),D=x.remainingParts.map(e=>t.m(e)).slice(0,-1),O=/^index\.mdx?$/.test(E),k=y.sidebarPosition??t.r(T),A=D.join(`/`),j={route:{path:x.finalPath,componentPath:e,filePath:x.relativePath,title:C.title||t.m(r.default.basename(l,r.default.extname(l))),description:S.description,sidebarPosition:k,headings:S.headings,locale:x.locale,version:x.version,badge:C.badge,icon:y.icon?String(y.icon):void 0,tab:x.inferredTab,subRouteGroup:x.subRouteGroup,slugParts:D,_content:S.plainText,_rawContent:b,date:y.date,lastUpdated:y.lastUpdated,category:y.category,order:y.order,sidebarLabel:y.sidebarLabel,sidebarHidden:y.sidebarHidden||y.hidden,seo:w,frontmatter:y},relativeDir:A||void 0,isGroupIndex:O,inferredTab:x.inferredTab,groupMeta:O?{title:y.groupTitle||C.title||(D.length>0?t.t(D[D.length-1]):``),position:y.groupPosition??y.sidebarPosition??(x.remainingParts.length>1?t.r(x.remainingParts[x.remainingParts.length-2]):void 0),icon:y.icon?String(y.icon):void 0}:void 0,inferredGroupPosition:x.remainingParts.length>1?t.r(x.remainingParts[x.remainingParts.length-2]):void 0};return await n.t.set(e,j),j}function v(e){let n;try{n=decodeURIComponent(e)}catch{throw t.c(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new t.h(`Security breach: Invalid characters or encoding in path`)}if(n.length>260)throw new t.g(`Path length exceeds limit`);return n}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return _}});
@@ -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(`./routes-Co1mRM58.cjs`);exports.generateRoutes=e.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
+ import{d as e}from"./doctor-Dh1XP7Pz.mjs";import{t}from"./utils-BxNAXhZZ.mjs";import{n,t as r}from"./cache-CQKlT4fI.mjs";import i from"node:path";import{fdir as a}from"fdir";const o=new n({name:`routes`});function s(){o.invalidateAll(),r.clear()}function c(e){o.invalidate(e),r.invalidate(e)}function l(e){return e.sort((e,t)=>!e.group&&!t.group?u(e,t):e.group?t.group?e.group===t.group?u(e,t):d(e,t):1:-1)}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}function d(e,t){return e.groupPosition!==void 0&&t.groupPosition!==void 0?e.groupPosition-t.groupPosition:e.groupPosition===void 0?t.groupPosition===void 0?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):1:-1}var f=e({generateRoutes:()=>_,invalidateRouteCache:()=>g});let p=null;const m=new Map;let h=null;function g(){p=null,m.clear(),s()}async function _(e,n,r,s=!1){if(h)return h;let c=(async()=>{let c=r||n?.base||`/docs`;await o.load(),m.clear();let u;if(!s&&p)u=p;else{let t=await new a().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!i.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.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),u=r.map(e=>e.f),p=u}o.pruneStale(new Set(u));let d=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,f;if(d){let{parseDocFile:t}=await import(`./parser-D8eQvE7N.mjs`).then(e=>e.t);f=await Promise.all(u.map(async r=>{let i=o.get(r);if(i)return i;let a=await t(r,e,c,n);return o.set(r,a),a}))}else{let{pool:t}=await import(`./worker-pool-Bd8Y9KDv.mjs`),r=n?{i18n:n.i18n,versions:n.versions}:void 0;f=await Promise.all(u.map(async n=>{let i=o.get(n);if(i)return i;let a=await t.parseFile(n,e,c,r);return o.set(n,a),a}))}o.save();let h=new Map,g=[],_=n?.i18n?.defaultLocale||``;for(let e of f)if(e.isGroupIndex&&e.relativeDir&&g.push(e),e.relativeDir){let n=`${e.route.locale||_}:${e.relativeDir}`,r=h.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t(e.relativeDir),position:e.inferredGroupPosition},h.set(n,r))}for(let e of g){let t=`${e.route.locale||_}:${e.relativeDir}`,n=h.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):[_];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=h.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[_]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):h.set(e,{title:o||t(r),icon:i.icon})}}let y=Array(f.length);for(let e=0;e<f.length;e++){let n=f[e],r=n.relativeDir,i=n.route.locale||_,a=r?`${i}:${r}`:void 0,o=a?h.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[_]),y[e]={...n.route,group:r,groupTitle:s||(r?t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let b=y;if(n?.i18n){let e=v(y,n,c);b=[...y,...e]}return l(b)})();h=c;try{return await c}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){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=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{c as i,g as n,f as r,_ 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-Clzu7jvb.cjs`),n=require(`./cache-DorPMFgW.cjs`);let r=require(`node:path`);r=e.n(r);let i=require(`fdir`);const a=new n.n({name:`routes`});function o(){a.invalidateAll(),n.t.clear()}function s(e){a.invalidate(e),n.t.invalidate(e)}function c(e){return e.sort((e,t)=>!e.group&&!t.group?l(e,t):e.group?t.group?e.group===t.group?l(e,t):u(e,t):1:-1)}function l(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}function u(e,t){return e.groupPosition!==void 0&&t.groupPosition!==void 0?e.groupPosition-t.groupPosition:e.groupPosition===void 0?t.groupPosition===void 0?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):1:-1}let d=null;const f=new Map;let p=null;function m(){d=null,f.clear(),o()}async function h(e,n,o,s=!1){if(p)return p;let l=(async()=>{let l=o||n?.base||`/docs`;await a.load(),f.clear();let u;if(!s&&d)u=d;else{let t=await new i.fdir().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!r.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],a=t.map(e=>{let t=r.default.basename(e),i=n.findIndex(e=>e.test(t));return{f:e,score:i===-1?2**53-1:i}});a.sort((e,t)=>e.score-t.score),u=a.map(e=>e.f),d=u}a.pruneStale(new Set(u));let p=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,m;if(p){let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-Bh11BsdA.cjs`));m=await Promise.all(u.map(async r=>{let i=a.get(r);if(i)return i;let o=await t(r,e,l,n);return a.set(r,o),o}))}else{let{pool:t}=await Promise.resolve().then(()=>require(`./worker-pool-BwU8ckrg.cjs`)),r=n?{i18n:n.i18n,versions:n.versions}:void 0;m=await Promise.all(u.map(async n=>{let i=a.get(n);if(i)return i;let o=await t.parseFile(n,e,l,r);return a.set(n,o),o}))}a.save();let h=new Map,_=[],v=n?.i18n?.defaultLocale||``;for(let e of m)if(e.isGroupIndex&&e.relativeDir&&_.push(e),e.relativeDir){let n=`${e.route.locale||v}:${e.relativeDir}`,r=h.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},h.set(n,r))}for(let e of _){let t=`${e.route.locale||v}:${e.relativeDir}`,n=h.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):[v];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=h.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[v]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):h.set(e,{title:o||t.t(r),icon:i.icon})}}let y=Array(m.length);for(let e=0;e<m.length;e++){let n=m[e],r=n.relativeDir,i=n.route.locale||v,a=r?`${i}:${r}`:void 0,o=a?h.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[v]),y[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let b=y;if(n?.i18n){let e=g(y,n,l);b=[...y,...e]}return c(b)})();p=l;try{return await l}finally{p=null}}function g(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){let i=o.get(e)||new Set;for(let o of s){let s=_(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function _(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,`n`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
@@ -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(`./icons-dev-rzdz6Lf3.cjs`),t=require(`./search-dialog-D26rUnJ_.cjs`);let n=require(`react-router-dom`),r=require(`react`),i=require(`react/jsx-runtime`),a=require(`lucide-react`),o=require(`flexsearch`),s=require(`virtual:boltdocs-search`);s=e.O(s);function c(t){let{currentLocale:n,currentVersion:i}=e.x(),[a,c]=(0,r.useState)(!1),[l,u]=(0,r.useState)(``),[d,f]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(!a||d)return;let e=new o.Index({preset:`match`,tokenize:`full`,resolution:9,cache:!0});for(let t of s.default)e.add(t.id,`${t.title} ${t.content}`);f(e)},[a,d]);let p=(0,r.useMemo)(()=>{let e=new Map;for(let t of s.default)e.set(t.id,t);return e},[]);return{isOpen:a,setIsOpen:c,query:l,setQuery:u,list:(0,r.useMemo)(()=>{if(!l)return t.filter(e=>{let t=!n||e.locale===n,r=!i||e.version===i;return t&&r}).slice(0,10).map(e=>({id:e.path,title:e.title,path:e.path,bio:e.description||``,groupTitle:e.groupTitle}));if(!d)return[];let e=d.search(l,{limit:20,suggest:!0}),r=[],a=new Set;for(let t of e){let e=p.get(t);if(!e)continue;let o=!n||e.locale===n,s=!i||e.version===i;!o||!s||a.has(e.url)||(a.add(e.url),r.push({id:e.url,title:e.title,path:e.url,bio:e.display,groupTitle:e.display.split(` > `)[0],isHeading:e.url.includes(`#`)}))}return r.slice(0,10)},[l,d,n,i,t,p]),input:{value:l,onChange:e=>u(e.target.value)}}}function l({text:e,query:t}){if(!t||!e)return(0,i.jsx)(i.Fragment,{children:e});let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`(${n})`,`gi`);return(0,i.jsx)(i.Fragment,{children:e.split(r).map((e,t)=>r.test(e)?(0,i.jsx)(`mark`,{className:`bg-primary-500/20 text-primary-600 dark:text-primary-400 font-bold px-0.5 rounded-sm`,children:e},t):e)})}function u({routes:e}){let{isOpen:o,setIsOpen:s,query:u,setQuery:d,list:f}=c(e),p=(0,n.useNavigate)();(0,r.useEffect)(()=>{let e=e=>{(/Mac/.test(navigator.userAgent)?e.metaKey:e.ctrlKey)&&(e.key===`k`||e.key===`j`)&&(e.preventDefault(),s(e=>!e))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]);let m=(0,r.useCallback)(e=>{let t=String(e);s(!1);let[n,r]=t.split(`#`);p(`${n}${u?`?hl=${encodeURIComponent(u)}`:``}${r?`#${r}`:``}`),r&&setTimeout(()=>{let e=document.getElementById(r);e&&e.scrollIntoView({behavior:`smooth`})},100)},[p,s,u]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.n.SearchTrigger.Desktop,{onPress:()=>s(!0),className:`rounded-xl border border-subtle bg-surface text-muted transition-all duration-200 hover:border-primary-500/50 hover:text-body hover:bg-soft/50 hover:shadow-sm active:scale-[0.98] focus-visible:ring-2 focus-visible:ring-primary-500/30`,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,i.jsx)(a.Search,{size:16}),(0,i.jsx)(`span`,{className:`hidden sm:inline-block`,children:`Search docs...`})]}),(0,i.jsx)(t.n.SearchTrigger.Kbd,{className:`[&_kbd]:bg-main [&_kbd]:border [&_kbd]:border-subtle [&_kbd]:rounded [&_kbd]:px-1.5 [&_kbd]:h-5 [&_kbd]:w-5`})]}),(0,i.jsx)(t.n.SearchTrigger.Mobile,{onPress:()=>s(!0),className:`rounded-xl text-muted transition-all duration-200 hover:text-body active:scale-95 focus-visible:ring-2 focus-visible:ring-primary-500/30`,children:(0,i.jsx)(a.Search,{size:20})}),(0,i.jsx)(t.t.Overlay,{isOpen:o,isDismissable:!0,onOpenChange:()=>s(!1),className:`fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40 backdrop-blur-xs animate-fade-in`,children:(0,i.jsx)(t.t.Content,{className:`w-full max-w-lg bg-main border border-subtle shadow-md rounded-2xl overflow-hidden p-6`,children:(0,i.jsx)(t.t.Dialog,{"aria-label":`Search documentation`,className:`flex flex-col min-h-0 h-[450px]`,children:(0,i.jsxs)(t.t.Autocomplete,{onSelectionChange:m,className:`flex flex-col min-h-0`,children:[(0,i.jsxs)(t.t.Input,{value:u,onChange:d,className:`flex items-center gap-2 border border-subtle bg-surface px-4 py-2.5 rounded-xl focus-within:border-primary-500 mb-4`,children:[(0,i.jsx)(t.t.Input.SearchInput,{placeholder:`Search documentation...`,className:`w-full bg-transparent outline-none text-body text-sm`}),u&&(0,i.jsx)(t.t.Input.Button,{onPress:()=>d(``),className:`text-muted hover:text-body text-xs cursor-pointer select-none`,children:`✕`})]}),(0,i.jsx)(t.t.List,{items:f,children:e=>(0,i.jsxs)(t.t.Item,{onPress:()=>m(e.id),textValue:e.title,className:`flex items-center gap-3 px-4 py-2 rounded-xl group dark:hover:bg-primary-300/40 hover:bg-primary-200/50 transition-colors duration-100`,children:[(0,i.jsx)(t.t.Item.Icon,{isHeading:e.isHeading,className:`text-muted group-hover:text-primary-500 group-focus:text-primary-500`}),(0,i.jsxs)(`div`,{className:`flex flex-col justify-center min-w-0`,children:[(0,i.jsx)(t.t.Item.Title,{className:`text-sm font-medium text-body truncate dark:group-hover:text-primary-100`,children:(0,i.jsx)(l,{text:e.title,query:u})}),(0,i.jsx)(t.t.Item.Bio,{className:`text-xs text-muted truncate`,children:(0,i.jsx)(l,{text:e.bio,query:u})})]})]},e.id)})]})})})})]})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ import{x as e}from"./icons-dev-CrQLjoQp.js";import{n as t,t as n}from"./search-dialog-C8w12eUx.js";import{useNavigate as r}from"react-router-dom";import{useCallback as i,useEffect as a,useMemo as o,useState as s}from"react";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import{Search as d}from"lucide-react";import{Index as f}from"flexsearch";import p from"virtual:boltdocs-search";var m=Object.defineProperty,h=(e,t)=>{let n={};for(var r in e)m(n,r,{get:e[r],enumerable:!0});return t||m(n,Symbol.toStringTag,{value:`Module`}),n};function g(t){let{currentLocale:n,currentVersion:r}=e(),[i,c]=s(!1),[l,u]=s(``),[d,m]=s(null);a(()=>{if(!i||d)return;let e=new f({preset:`match`,tokenize:`full`,resolution:9,cache:!0});for(let t of p)e.add(t.id,`${t.title} ${t.content}`);m(e)},[i,d]);let h=o(()=>{let e=new Map;for(let t of p)e.set(t.id,t);return e},[]);return{isOpen:i,setIsOpen:c,query:l,setQuery:u,list:o(()=>{if(!l)return t.filter(e=>{let t=!n||e.locale===n,i=!r||e.version===r;return t&&i}).slice(0,10).map(e=>({id:e.path,title:e.title,path:e.path,bio:e.description||``,groupTitle:e.groupTitle}));if(!d)return[];let e=d.search(l,{limit:20,suggest:!0}),i=[],a=new Set;for(let t of e){let e=h.get(t);if(!e)continue;let o=!n||e.locale===n,s=!r||e.version===r;!o||!s||a.has(e.url)||(a.add(e.url),i.push({id:e.url,title:e.title,path:e.url,bio:e.display,groupTitle:e.display.split(` > `)[0],isHeading:e.url.includes(`#`)}))}return i.slice(0,10)},[l,d,n,r,t,h]),input:{value:l,onChange:e=>u(e.target.value)}}}var _=h({SearchDialog:()=>y});function v({text:e,query:t}){if(!t||!e)return l(c,{children:e});let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`(${n})`,`gi`);return l(c,{children:e.split(r).map((e,t)=>r.test(e)?l(`mark`,{className:`bg-primary-500/20 text-primary-600 dark:text-primary-400 font-bold px-0.5 rounded-sm`,children:e},t):e)})}function y({routes:e}){let{isOpen:o,setIsOpen:s,query:f,setQuery:p,list:m}=g(e),h=r();a(()=>{let e=e=>{(/Mac/.test(navigator.userAgent)?e.metaKey:e.ctrlKey)&&(e.key===`k`||e.key===`j`)&&(e.preventDefault(),s(e=>!e))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]);let _=i(e=>{let t=String(e);s(!1);let[n,r]=t.split(`#`);h(`${n}${f?`?hl=${encodeURIComponent(f)}`:``}${r?`#${r}`:``}`),r&&setTimeout(()=>{let e=document.getElementById(r);e&&e.scrollIntoView({behavior:`smooth`})},100)},[h,s,f]);return u(c,{children:[u(t.SearchTrigger.Desktop,{onPress:()=>s(!0),className:`rounded-xl border border-subtle bg-surface text-muted transition-all duration-200 hover:border-primary-500/50 hover:text-body hover:bg-soft/50 hover:shadow-sm active:scale-[0.98] focus-visible:ring-2 focus-visible:ring-primary-500/30`,children:[u(`div`,{className:`flex items-center gap-2`,children:[l(d,{size:16}),l(`span`,{className:`hidden sm:inline-block`,children:`Search docs...`})]}),l(t.SearchTrigger.Kbd,{className:`[&_kbd]:bg-main [&_kbd]:border [&_kbd]:border-subtle [&_kbd]:rounded [&_kbd]:px-1.5 [&_kbd]:h-5 [&_kbd]:w-5`})]}),l(t.SearchTrigger.Mobile,{onPress:()=>s(!0),className:`rounded-xl text-muted transition-all duration-200 hover:text-body active:scale-95 focus-visible:ring-2 focus-visible:ring-primary-500/30`,children:l(d,{size:20})}),l(n.Overlay,{isOpen:o,isDismissable:!0,onOpenChange:()=>s(!1),className:`fixed inset-0 z-100 flex items-center justify-center p-4 bg-black/40 backdrop-blur-xs animate-fade-in`,children:l(n.Content,{className:`w-full max-w-lg bg-main border border-subtle shadow-md rounded-2xl overflow-hidden p-6`,children:l(n.Dialog,{"aria-label":`Search documentation`,className:`flex flex-col min-h-0 h-[450px]`,children:u(n.Autocomplete,{onSelectionChange:_,className:`flex flex-col min-h-0`,children:[u(n.Input,{value:f,onChange:p,className:`flex items-center gap-2 border border-subtle bg-surface px-4 py-2.5 rounded-xl focus-within:border-primary-500 mb-4`,children:[l(n.Input.SearchInput,{placeholder:`Search documentation...`,className:`w-full bg-transparent outline-none text-body text-sm`}),f&&l(n.Input.Button,{onPress:()=>p(``),className:`text-muted hover:text-body text-xs cursor-pointer select-none`,children:`✕`})]}),l(n.List,{items:m,children:e=>u(n.Item,{onPress:()=>_(e.id),textValue:e.title,className:`flex items-center gap-3 px-4 py-2 rounded-xl group dark:hover:bg-primary-300/40 hover:bg-primary-200/50 transition-colors duration-100`,children:[l(n.Item.Icon,{isHeading:e.isHeading,className:`text-muted group-hover:text-primary-500 group-focus:text-primary-500`}),u(`div`,{className:`flex flex-col justify-center min-w-0`,children:[l(n.Item.Title,{className:`text-sm font-medium text-body truncate dark:group-hover:text-primary-100`,children:l(v,{text:e.title,query:f})}),l(n.Item.Bio,{className:`text-xs text-muted truncate`,children:l(v,{text:e.bio,query:f})})]})]},e.id)})]})})})})]})}export{_ as n,g 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
+ import{_ as e,h as t,o as n,s as r,t as i,y as a}from"./icons-dev-CrQLjoQp.js";import{useEffect as o,useState as s}from"react";import{Fragment as c,jsx as l,jsxs as u}from"react/jsx-runtime";import{CornerDownLeft as d,ExternalLink as f,FileText as p,Hash as m,Moon as h,MoreVertical as g,Sun as _,X as v}from"lucide-react";import*as y from"react-aria-components";import{Button as b,Dialog as x,Modal as S,ModalOverlay as C,Separator as w,ToggleButton as T}from"react-aria-components";const E=({children:e,className:t,...n})=>l(`header`,{className:a(`boltdocs-navbar sticky top-0 z-50 w-full`,t),...n,children:e}),D=({children:e,className:t})=>l(`div`,{className:a(`mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center justify-between px-4 md:px-6`,t),children:e}),O=({children:e,className:t})=>l(`div`,{className:a(`flex flex-1 items-center justify-start gap-4 min-w-0`,t),children:e}),k=({children:e,className:t})=>l(`div`,{className:a(`flex flex-1 items-center justify-end gap-2 md:gap-4 min-w-0`,t),children:e}),A=({children:e,className:t})=>l(`div`,{className:a(`hidden lg:flex flex-1 justify-center items-center gap-4 px-4 min-w-0 w-full`,t),children:e}),j=({src:t,alt:n,width:r=24,height:i=24,className:o,href:s=`/`})=>l(e,{href:s,className:a(`flex items-center gap-2 shrink-0 outline-none`,o),children:t?l(`img`,{src:t,alt:n,width:r,height:i,className:`h-6 w-6 object-contain`}):null}),M=({children:t,className:n,href:r=`/`})=>l(e,{href:r,children:l(`span`,{className:a(`text-lg font-bold tracking-tight hidden sm:inline-block`,n),children:t})}),N=({children:e,className:t})=>l(`nav`,{className:a(`hidden md:flex items-center gap-6 text-sm font-medium`,t),children:e}),P=({label:t,href:n,to:r,className:i})=>u(e,{href:n,target:r===`external`?`_blank`:void 0,className:a(`transition-all outline-none`,i),children:[t,r===`external`&&l(`span`,{className:`ml-1 inline-block`,children:l(f,{size:12})})]}),F=({label:e,className:t,children:n})=>{let[r,i]=s(!1);return u(`div`,{className:a(`relative`,t),onMouseEnter:()=>{i(!0)},onMouseLeave:()=>{i(!1)},children:[u(`div`,{className:a(`flex items-center gap-1 outline-none cursor-pointer select-none font-medium text-muted hover:text-body transition-colors`),children:[e,l(`svg`,{className:a(`w-4 h-4 transition-transform`,r&&`rotate-180`),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:l(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),r&&l(`div`,{className:`absolute top-full left-0 pt-1 z-[9999]`,children:l(`div`,{className:`min-w-[180px] p-1 bg-surface border border-subtle rounded-md shadow-lg`,children:n})})]})},I=({href:t,label:n,className:r})=>l(e,{href:t,className:a(`block px-2 py-1.5 rounded hover:bg-surface`,r),children:n}),L={Desktop:({className:e,onPress:t,children:n})=>l(b,{onPress:t,className:a(`hidden lg:flex items-center justify-between gap-2 px-3 py-2 text-sm outline-none cursor-pointer w-full max-w-[720px]`,e),children:n}),Mobile:({className:e,onPress:t,children:n})=>l(b,{onPress:t,className:a(`lg:hidden flex h-10 w-10 items-center justify-center outline-none cursor-pointer`,e),"aria-label":`Search`,children:n}),Kbd:({className:e})=>{let[t,n]=s(!1),r=t&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return o(()=>{n(!0)},[]),u(`div`,{className:a(`hidden sm:flex items-center gap-1 pointer-events-none select-none`,e),children:[l(`kbd`,{className:`flex items-center justify-center font-mono text-[10px]`,children:r?`⌘`:`Ctrl`}),l(`kbd`,{className:`flex items-center justify-center font-mono text-[10px]`,children:`K`})]})}},R=({className:e,theme:t,onThemeChange:n})=>l(T,{isSelected:t===`dark`,onChange:n,className:a(`outline-none cursor-pointer`,e),"aria-label":`Toggle theme`,children:l(t===`dark`?_:h,{size:20})}),z=({name:e})=>{if(e===`github`)return l(r,{});if(e===`discord`)return l(n,{});if(e===`x`)return l(t,{});if(e===`bluesky`)return l(i,{})};E.Root=E,E.Left=O,E.Right=k,E.Center=A,E.Logo=j,E.Title=M,E.Links=N,E.Link=P,E.Dropdown=F,E.DropdownItem=I,E.SearchTrigger=L,E.Theme=R,E.Socials=({icon:t,link:n,className:r})=>l(e,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:a(`outline-none`,r),children:l(z,{name:t})}),E.Split=({className:e})=>l(w,{orientation:`vertical`,className:a(`h-full w-px`,e)}),E.Content=D,E.More=({onPress:e,className:t})=>l(b,{onPress:e,className:a(`md:hidden flex items-center justify-center outline-none cursor-pointer`,t),"aria-label":`More navigation`,children:l(g,{size:20})}),E.MobileMenu=({isOpen:e,onClose:t,children:n,className:r})=>l(C,{isOpen:e,onOpenChange:e=>!e&&t(),isDismissable:!0,className:a(`fixed inset-0 z-60 md:hidden transition-all duration-100`,r),children:l(S,{className:`fixed inset-0 outline-none`,children:u(x,{className:`relative h-full outline-none flex flex-col p-6 pt-[calc(1.5rem+env(safe-area-inset-top,0px))] pb-[calc(1.5rem+env(safe-area-inset-bottom,0px))] px-[calc(1.5rem+env(safe-area-inset-left,0px))]`,children:[u(`div`,{className:`flex items-center justify-between mb-6`,children:[l(`span`,{}),l(b,{onPress:t,className:`flex items-center justify-center outline-none cursor-pointer text-muted hover:text-body transition-colors`,"aria-label":`Close menu`,children:l(v,{size:24})})]}),l(`nav`,{className:`flex-1 overflow-y-auto flex flex-col gap-4`,children:n})]})})}),E.MobileLink=({label:t,href:n,to:r,onPress:i,className:o})=>l(e,{href:n,target:r===`external`?`_blank`:void 0,onClick:i,className:a(`group flex items-center outline-none`,o),children:t});const B=({className:e,...t})=>l(y.ModalOverlay,{className:a(`fixed inset-0 z-100`,e),...t});B.Root=B,B.Overlay=B,B.Content=({className:e,...t})=>l(y.Modal,{className:a(e),...t}),B.Dialog=({className:e,...t})=>l(y.Dialog,{className:a(`flex flex-col focus:outline-none`,e),...t}),B.Autocomplete=({children:e,className:t,onSelectionChange:n,...r})=>{let i=y.Autocomplete;return l(`div`,{className:a(`flex-1 min-h-0`,t),children:l(i,{...r,onSelectionChange:n,className:`flex flex-col min-h-0`,children:e})})},B.List=({children:e,className:t,...n})=>l(y.ListBox,{...n,className:a(`flex-1 overflow-y-auto outline-none min-h-0`,t),children:e}),B.Input=Object.assign(({className:e,...t})=>l(y.SearchField,{className:a(`flex items-center`,e),...t}),{SearchInput:({className:e,...t})=>l(y.Input,{className:a(`w-full bg-transparent outline-none border-none`,e),...t}),Button:({className:e,...t})=>l(y.Button,{slot:`clear`,className:a(e),...t})}),B.Item=Object.assign(({children:e,className:t,...n})=>l(y.ListBoxItem,{...n,className:a(`group flex items-center outline-none cursor-pointer`,t),children:t=>u(c,{children:[e,(t.isFocused||t.isSelected)&&u(`div`,{className:`ml-auto opacity-50 flex items-center gap-1`,children:[l(`span`,{className:`text-[10px]`,children:`Select`}),l(d,{size:10})]})]})}),{Icon:({isHeading:e,className:t})=>l(`div`,{className:a(`shrink-0`,t),children:l(e?m:p,{size:18})}),Title:({children:e,className:t})=>l(`span`,{className:a(`block truncate flex-1`,t),children:e}),Bio:({children:e,className:t})=>l(`span`,{className:a(`ml-2 truncate hidden sm:inline`,t),children:e})});export{E as n,B 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(`./search-dialog-BACuzoVX.cjs`);exports.SearchDialog=e.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(`./icons-dev-rzdz6Lf3.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`),r=require(`lucide-react`),i=require(`react-aria-components`);i=e.O(i);const a=({children:t,className:r,...i})=>(0,n.jsx)(`header`,{className:e.y(`boltdocs-navbar sticky top-0 z-50 w-full`,r),...i,children:t}),o=({children:t,className:r})=>(0,n.jsx)(`div`,{className:e.y(`mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center justify-between px-4 md:px-6`,r),children:t}),s=({children:t,className:r})=>(0,n.jsx)(`div`,{className:e.y(`flex flex-1 items-center justify-start gap-4 min-w-0`,r),children:t}),c=({children:t,className:r})=>(0,n.jsx)(`div`,{className:e.y(`flex flex-1 items-center justify-end gap-2 md:gap-4 min-w-0`,r),children:t}),l=({children:t,className:r})=>(0,n.jsx)(`div`,{className:e.y(`hidden lg:flex flex-1 justify-center items-center gap-4 px-4 min-w-0 w-full`,r),children:t}),u=({src:t,alt:r,width:i=24,height:a=24,className:o,href:s=`/`})=>(0,n.jsx)(e._,{href:s,className:e.y(`flex items-center gap-2 shrink-0 outline-none`,o),children:t?(0,n.jsx)(`img`,{src:t,alt:r,width:i,height:a,className:`h-6 w-6 object-contain`}):null}),d=({children:t,className:r,href:i=`/`})=>(0,n.jsx)(e._,{href:i,children:(0,n.jsx)(`span`,{className:e.y(`text-lg font-bold tracking-tight hidden sm:inline-block`,r),children:t})}),f=({children:t,className:r})=>(0,n.jsx)(`nav`,{className:e.y(`hidden md:flex items-center gap-6 text-sm font-medium`,r),children:t}),p=({label:t,href:i,to:a,className:o})=>(0,n.jsxs)(e._,{href:i,target:a===`external`?`_blank`:void 0,className:e.y(`transition-all outline-none`,o),children:[t,a===`external`&&(0,n.jsx)(`span`,{className:`ml-1 inline-block`,children:(0,n.jsx)(r.ExternalLink,{size:12})})]}),m=({label:r,className:i,children:a})=>{let[o,s]=(0,t.useState)(!1);return(0,n.jsxs)(`div`,{className:e.y(`relative`,i),onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)},children:[(0,n.jsxs)(`div`,{className:e.y(`flex items-center gap-1 outline-none cursor-pointer select-none font-medium text-muted hover:text-body transition-colors`),children:[r,(0,n.jsx)(`svg`,{className:e.y(`w-4 h-4 transition-transform`,o&&`rotate-180`),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M19 9l-7 7-7-7`})})]}),o&&(0,n.jsx)(`div`,{className:`absolute top-full left-0 pt-1 z-[9999]`,children:(0,n.jsx)(`div`,{className:`min-w-[180px] p-1 bg-surface border border-subtle rounded-md shadow-lg`,children:a})})]})},h=({href:t,label:r,className:i})=>(0,n.jsx)(e._,{href:t,className:e.y(`block px-2 py-1.5 rounded hover:bg-surface`,i),children:r}),g={Desktop:({className:t,onPress:r,children:a})=>(0,n.jsx)(i.Button,{onPress:r,className:e.y(`hidden lg:flex items-center justify-between gap-2 px-3 py-2 text-sm outline-none cursor-pointer w-full max-w-[720px]`,t),children:a}),Mobile:({className:t,onPress:r,children:a})=>(0,n.jsx)(i.Button,{onPress:r,className:e.y(`lg:hidden flex h-10 w-10 items-center justify-center outline-none cursor-pointer`,t),"aria-label":`Search`,children:a}),Kbd:({className:r})=>{let[i,a]=(0,t.useState)(!1),o=i&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return(0,t.useEffect)(()=>{a(!0)},[]),(0,n.jsxs)(`div`,{className:e.y(`hidden sm:flex items-center gap-1 pointer-events-none select-none`,r),children:[(0,n.jsx)(`kbd`,{className:`flex items-center justify-center font-mono text-[10px]`,children:o?`⌘`:`Ctrl`}),(0,n.jsx)(`kbd`,{className:`flex items-center justify-center font-mono text-[10px]`,children:`K`})]})}},_=({className:t,theme:a,onThemeChange:o})=>(0,n.jsx)(i.ToggleButton,{isSelected:a===`dark`,onChange:o,className:e.y(`outline-none cursor-pointer`,t),"aria-label":`Toggle theme`,children:a===`dark`?(0,n.jsx)(r.Sun,{size:20}):(0,n.jsx)(r.Moon,{size:20})}),v=({name:t})=>{if(t===`github`)return(0,n.jsx)(e.s,{});if(t===`discord`)return(0,n.jsx)(e.o,{});if(t===`x`)return(0,n.jsx)(e.h,{});if(t===`bluesky`)return(0,n.jsx)(e.t,{})};a.Root=a,a.Left=s,a.Right=c,a.Center=l,a.Logo=u,a.Title=d,a.Links=f,a.Link=p,a.Dropdown=m,a.DropdownItem=h,a.SearchTrigger=g,a.Theme=_,a.Socials=({icon:t,link:r,className:i})=>(0,n.jsx)(e._,{href:r,target:`_blank`,rel:`noopener noreferrer`,className:e.y(`outline-none`,i),children:(0,n.jsx)(v,{name:t})}),a.Split=({className:t})=>(0,n.jsx)(i.Separator,{orientation:`vertical`,className:e.y(`h-full w-px`,t)}),a.Content=o,a.More=({onPress:t,className:a})=>(0,n.jsx)(i.Button,{onPress:t,className:e.y(`md:hidden flex items-center justify-center outline-none cursor-pointer`,a),"aria-label":`More navigation`,children:(0,n.jsx)(r.MoreVertical,{size:20})}),a.MobileMenu=({isOpen:t,onClose:a,children:o,className:s})=>(0,n.jsx)(i.ModalOverlay,{isOpen:t,onOpenChange:e=>!e&&a(),isDismissable:!0,className:e.y(`fixed inset-0 z-60 md:hidden transition-all duration-100`,s),children:(0,n.jsx)(i.Modal,{className:`fixed inset-0 outline-none`,children:(0,n.jsxs)(i.Dialog,{className:`relative h-full outline-none flex flex-col p-6 pt-[calc(1.5rem+env(safe-area-inset-top,0px))] pb-[calc(1.5rem+env(safe-area-inset-bottom,0px))] px-[calc(1.5rem+env(safe-area-inset-left,0px))]`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between mb-6`,children:[(0,n.jsx)(`span`,{}),(0,n.jsx)(i.Button,{onPress:a,className:`flex items-center justify-center outline-none cursor-pointer text-muted hover:text-body transition-colors`,"aria-label":`Close menu`,children:(0,n.jsx)(r.X,{size:24})})]}),(0,n.jsx)(`nav`,{className:`flex-1 overflow-y-auto flex flex-col gap-4`,children:o})]})})}),a.MobileLink=({label:t,href:r,to:i,onPress:a,className:o})=>(0,n.jsx)(e._,{href:r,target:i===`external`?`_blank`:void 0,onClick:a,className:e.y(`group flex items-center outline-none`,o),children:t});const y=({className:t,...r})=>(0,n.jsx)(i.ModalOverlay,{className:e.y(`fixed inset-0 z-100`,t),...r});y.Root=y,y.Overlay=y,y.Content=({className:t,...r})=>(0,n.jsx)(i.Modal,{className:e.y(t),...r}),y.Dialog=({className:t,...r})=>(0,n.jsx)(i.Dialog,{className:e.y(`flex flex-col focus:outline-none`,t),...r}),y.Autocomplete=({children:t,className:r,onSelectionChange:a,...o})=>{let s=i.Autocomplete;return(0,n.jsx)(`div`,{className:e.y(`flex-1 min-h-0`,r),children:(0,n.jsx)(s,{...o,onSelectionChange:a,className:`flex flex-col min-h-0`,children:t})})},y.List=({children:t,className:r,...a})=>(0,n.jsx)(i.ListBox,{...a,className:e.y(`flex-1 overflow-y-auto outline-none min-h-0`,r),children:t}),y.Input=Object.assign(({className:t,...r})=>(0,n.jsx)(i.SearchField,{className:e.y(`flex items-center`,t),...r}),{SearchInput:({className:t,...r})=>(0,n.jsx)(i.Input,{className:e.y(`w-full bg-transparent outline-none border-none`,t),...r}),Button:({className:t,...r})=>(0,n.jsx)(i.Button,{slot:`clear`,className:e.y(t),...r})}),y.Item=Object.assign(({children:t,className:a,...o})=>(0,n.jsx)(i.ListBoxItem,{...o,className:e.y(`group flex items-center outline-none cursor-pointer`,a),children:e=>(0,n.jsxs)(n.Fragment,{children:[t,(e.isFocused||e.isSelected)&&(0,n.jsxs)(`div`,{className:`ml-auto opacity-50 flex items-center gap-1`,children:[(0,n.jsx)(`span`,{className:`text-[10px]`,children:`Select`}),(0,n.jsx)(r.CornerDownLeft,{size:10})]})]})}),{Icon:({isHeading:t,className:i})=>(0,n.jsx)(`div`,{className:e.y(`shrink-0`,i),children:t?(0,n.jsx)(r.Hash,{size:18}):(0,n.jsx)(r.FileText,{size:18})}),Title:({children:t,className:r})=>(0,n.jsx)(`span`,{className:e.y(`block truncate flex-1`,r),children:t}),Bio:({children:t,className:r})=>(0,n.jsx)(`span`,{className:e.y(`ml-2 truncate hidden sm:inline`,r),children:t})}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});