docfuse 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,71 @@
1
+ import{a as d}from"./chunk-5NTRNUFG.js";import{a as b}from"./chunk-GRQDPV4U.js";import{a as k,d as S}from"./chunk-EAYVCA3Z.js";import{a as T,d as j,f as N}from"./chunk-JK7ZNBUA.js";import{a as l}from"./chunk-AYDF3IFZ.js";import{mkdir as U,readFile as B,readdir as G,rm as V,rmdir as Y,writeFile as _}from"fs/promises";import{dirname as W,isAbsolute as Q,join as E}from"path";import{createInterface as Z}from"readline/promises";import{join as y}from"path";var R=`/**
2
+ * Minimal declarations for trusted project-local TSX components.
3
+ *
4
+ * Docfuse intentionally does not publish or emulate a UI component module.
5
+ * Projects that need full React types should install React in the authored project.
6
+ */
7
+
8
+ declare namespace JSX {
9
+ interface Element {}
10
+ interface IntrinsicElements {
11
+ [elementName: string]: Record<string, unknown>
12
+ }
13
+ }
14
+
15
+ declare module 'react/jsx-runtime' {
16
+ export const Fragment: symbol
17
+ export function jsx(type: unknown, props: unknown, key?: unknown): JSX.Element
18
+ export function jsxs(type: unknown, props: unknown, key?: unknown): JSX.Element
19
+ }
20
+ `;var z={zh:{index:`---
21
+ title: \u9996\u9875
22
+ description: Docfuse \u4E2D\u6587\u6587\u6863\u9996\u9875
23
+ ---
24
+
25
+ # \u6B22\u8FCE\u4F7F\u7528 Docfuse
26
+
27
+ \u8FD9\u662F\u4E00\u4E2A\u7531 Docfuse \u751F\u6210\u7684\u9759\u6001\u6280\u672F\u6587\u6863\u9879\u76EE\u3002
28
+ `,guide:`---
29
+ title: \u6307\u5357
30
+ description: Docfuse \u4F7F\u7528\u6307\u5357
31
+ ---
32
+
33
+ # \u6307\u5357
34
+
35
+ \u8FD0\u884C \`docfuse dev\` \u5F00\u59CB\u672C\u5730\u9884\u89C8\u3002
36
+ `},en:{index:`---
37
+ title: Home
38
+ description: Docfuse English documentation home
39
+ ---
40
+
41
+ # Welcome to Docfuse
42
+
43
+ This is a static technical documentation project generated by Docfuse.
44
+ `,guide:`---
45
+ title: Guide
46
+ description: Docfuse guide
47
+ ---
48
+
49
+ # Guide
50
+
51
+ Run \`docfuse dev\` to preview locally.
52
+ `}},A=`---
53
+ title: Docfuse
54
+ description: Technical documentation built with Docfuse
55
+ ---
56
+
57
+ # Docfuse
58
+ `;function q(e){return z[e]??z[e.toLowerCase().split("-")[0]??""]}l(q,"localizedTemplateFor");function H(e,t,n){return`import { defineConfig } from 'docfuse'
59
+
60
+ export default defineConfig({
61
+ title: 'Docfuse',
62
+ description: 'Technical documentation',
63
+ requiredVersion: '^${b}',
64
+ docsDir: ${JSON.stringify(e)},
65
+ i18n: {
66
+ defaultLocale: '${t}',
67
+ locales: [${n.map(i=>`'${i}'`).join(", ")}]
68
+ }
69
+ })
70
+ `}l(H,"configTemplate");function O(e){let{docsDir:t,defaultLocale:n,locales:i,includeContent:r,includeConfig:c}=e,a={[y(t,"docfuse-env.d.ts")]:R};if(c&&(a["docfuse.config.ts"]=H(t,n,i)),!r)return a;for(let u of i){let p=u===n?t:y(t,u),s=q(u);a[y(p,"index.md")]=s?.index??A,s&&(a[y(p,"guide.md")]=s.guide)}return a}l(O,"createInitFiles");async function J(e,t=""){let n;try{n=await G(e,{withFileTypes:!0})}catch(r){if(r.code==="ENOENT")return[];throw r}let i=[];for(let r of n){let c=t?E(t,r.name):r.name;if(r.isFile()&&k(r.name)&&i.push(c),r.isDirectory()&&(t||r.name!=="public"))for(let a of await J(E(e,r.name),c))i.push(a)}return i.sort((r,c)=>r.localeCompare(c))}l(J,"listMarkdownFiles");function ee(e,t){for(let n of t)try{Intl.getCanonicalLocales(n)}catch{throw new Error(`Invalid locale: ${n}`)}if(new Set(t.map(n=>n.toLowerCase())).size!==t.length)throw new Error("Locales must not contain duplicates");if(!t.some(n=>n.toLowerCase()===e.toLowerCase()))throw new Error(`Default locale ${e} must be included in locales`)}l(ee,"validateLocaleSelection");async function te(e=Z({input:process.stdin,output:process.stdout})){try{let n=((await e.question("Existing documents found. Enter their locale, or a comma-separated locale list (default: zh): ")).trim()||"zh").split(",").map(i=>i.trim());if(n.some(i=>!i))throw new Error("Locales must be a comma-separated list of locale identifiers");return n}catch(t){throw t.code==="ABORT_ERR"?new Error("Docfuse initialization cancelled"):t}finally{e.close()}}l(te,"promptForLocales");function ne(e,t){return e.length===t.length&&e.every((n,i)=>n.toLowerCase()===t[i]?.toLowerCase())}l(ne,"sameLocales");function oe(e,t){if(e.docsDir&&e.docsDir!==t.docsDir)throw new Error(`--docs-dir ${e.docsDir} conflicts with configured docsDir ${t.docsDir}`);if(e.locale&&e.locale.toLowerCase()!==t.i18n.defaultLocale.toLowerCase())throw new Error(`--locale ${e.locale} conflicts with configured defaultLocale ${t.i18n.defaultLocale}`);if(e.locales&&!ne(e.locales,t.i18n.locales))throw new Error(`--locales ${e.locales.join(",")} conflicts with configured locales ${t.i18n.locales.join(",")}`)}l(oe,"assertOptionsMatchConfig");function $(e){return S(e.replace(/\\/g,"/")).normalize("NFC").toLocaleLowerCase("en-US")}l($,"portablePageKey");function ie(e,t,n){if(!e.length)return[];let i=[],r=e.map(s=>s.replace(/\\/g,"/")),c=l(s=>n==="."?s:`${n.replace(/\\/g,"/")}/${s}`,"displayPath"),a=t.normalize("NFC").toLocaleLowerCase("en-US");r.some(s=>{let h=$(s);return h==="index"||h===`${a}/index`})||i.push(`no default-language index.md or index.mdx was found in ${n}`);let p=new Map;for(let s of r)s.startsWith(`${t}/`)||p.set($(s),s);for(let s of r){if(!s.startsWith(`${t}/`))continue;let h=s.slice(t.length+1),g=p.get($(h));g&&i.push(`${c(g)} and ${c(s)} map to the same default-language page; keep only one source`)}return i}l(ie,"existingContentWarnings");async function re(e,t){let n=[],i=e;for(;!await T(i);){n.push(i);let r=W(i);if(r===i)break;i=r}for(let r of n.reverse())try{await U(r),t.push(r)}catch(c){if(c.code!=="EEXIST")throw c}}l(re,"createMissingDirectoryChain");async function De(e,t={}){let n=e.targetDir?E(e.cwd,e.targetDir):e.cwd,{findConfigPath:i,loadConfig:r}=await import("./load-WVXTLQUE.js"),c=!!await i(n),a=c?await r(n):void 0;a&&oe(e,a);let u=a?.docsDir??e.docsDir??"docs";if(Q(u))throw new Error("docsDir must be a relative path");let p=j(n,u,"docsDir");await N(n,p,"docsDir");let s=await J(p),h=s.length>0,g=e.locales;if(h&&!c&&!e.locale&&!g){let o=e.localePrompt??(process.stdin.isTTY&&process.stdout.isTTY?te:void 0);if(!o){let f=s[0]??"";throw new Error(`Found ${s.length} existing Markdown file(s) in "${u}" (e.g. "${f}"), but cannot determine their language in a non-interactive environment. Specify the locale explicitly: docfuse init --locale <locale> (e.g. --locale zh)`)}g=await o()}let D=a?.i18n.defaultLocale??e.locale??g?.[0]??"zh";g=a?.i18n.locales??g??[D],ee(D,g);let M=O({docsDir:u,defaultLocale:D,locales:g,includeContent:!h,includeConfig:!c}),C=[],P=[],F=ie(s,D,u);for(let[o,f]of Object.entries(M)){let w=E(n,o);try{let x=await B(w,"utf8");P.push(o),x!==f&&F.push(`${o} already exists with different content`)}catch(x){let v=x.code;if(v==="EISDIR")throw new Error(`Cannot create ${o} because a directory exists at that path`);if(v!=="ENOENT")throw x;C.push({relativePath:o,content:f,fullPath:w})}}let m={mode:c?"configured":h?"adopt":"create",createFiles:C,keepFiles:P,warnings:F};if(!m.createFiles.length){for(let o of m.warnings)d(`Warning: ${o}`);d(`Docfuse is already initialized in ${n}`);return}let L=[],K=t.writeFile??((o,f,w)=>_(o,f,w)),X=[...new Set(m.createFiles.map(o=>W(o.fullPath)))].sort((o,f)=>o.length-f.length),I=[];try{for(let o of X)await re(o,I);for(let o of m.createFiles)await K(o.fullPath,o.content,{flag:"wx"}),L.push(o.fullPath)}catch(o){await Promise.all(L.map(f=>V(f,{force:!0})));for(let f of I.sort((w,x)=>x.length-w.length))try{await Y(f)}catch{}throw o}for(let o of m.createFiles)d(`Created ${o.relativePath}`);for(let o of m.keepFiles)d(`Kept existing ${o}`);for(let o of m.warnings)d(`Warning: ${o}`);if(m.mode==="adopt"){let o=s.length===1?"document":"documents";d(`Adopted ${s.length} existing ${o} in ${n}`),d(`Kept ${s.length} existing ${o} unchanged`),d("Next: docfuse check")}else m.mode==="configured"?(d(`Created missing documentation files in ${n}`),d("Next: docfuse dev")):(d(`Created Docfuse docs in ${n}`),d("Next: docfuse dev"));d("Add .docfuse/ to .gitignore if this directory is versioned.")}l(De,"runInit");export{te as promptForLocales,De as runInit};
71
+ //# sourceMappingURL=init-NJUIADRO.js.map
@@ -0,0 +1,2 @@
1
+ import{i as a,j as b}from"./chunk-DOOG32NU.js";import"./chunk-EAYVCA3Z.js";import"./chunk-JK7ZNBUA.js";import"./chunk-AYDF3IFZ.js";export{a as findConfigPath,b as loadConfig};
2
+ //# sourceMappingURL=load-WVXTLQUE.js.map
@@ -0,0 +1,17 @@
1
+ import { RenderMarkdownOptions } from '@docfuse/markdown';
2
+
3
+ declare global {
4
+ interface Window {
5
+ __docfuseBootstrapMarkdown?: () => Promise<void>;
6
+ __docfuseEnhanceMarkdown?: (root: ParentNode) => Promise<() => void>;
7
+ __docfuseMarkdownDispose?: () => void;
8
+ __docfuseMarkdownReady?: Promise<void>;
9
+ }
10
+ }
11
+ interface PlaygroundClientOptions {
12
+ basePath: string;
13
+ markdown: Omit<RenderMarkdownOptions, 'labels'>;
14
+ }
15
+ declare function mountPlaygrounds(options: PlaygroundClientOptions): void;
16
+
17
+ export { type PlaygroundClientOptions, mountPlaygrounds };
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-AYDF3IFZ.js";import{createElement as k,useEffect as b,useState as H}from"react";import{createRoot as S}from"react-dom/client";import{Markdown as R}from"@docfuse/markdown";import{Fragment as C,jsx as P,jsxs as K}from"react/jsx-runtime";function _(t){try{return JSON.parse(t.dataset.docfusePlaygroundLabels??"{}")}catch{return{}}}a(_,"parseLabels");function x(t){let n=t==="/"?"":t.replace(/\/$/,"");return o=>!n||o===n||o.startsWith(`${n}/`)||!o.startsWith("/")||o.startsWith("//")?o:`${n}${o}`}a(x,"createUrlTransform");function A({source:t,options:n,basePath:o,loadingLabel:i,onReady:s,onFailure:g}){let[l,u]=H();return b(()=>u(void 0),[t]),K(C,{children:[l?P("div",{className:"df-playground-status df-playground-error",role:"alert","data-docfuse-playground-error":"",children:l instanceof Error?l.message:String(l)}):null,P(R,{as:"article",source:t,options:n,urlTransform:x(o),onError:f=>{u(f),g(f)},onReady:s,retainPrevious:!0,fallback:l?null:P("div",{className:"df-playground-status",role:"status","aria-live":"polite",children:i})})]})}a(A,"LivePreview");function F(t,n){let o=Math.max(0,t.scrollHeight-t.clientHeight),i=Math.max(0,n.scrollHeight-n.clientHeight);if(t.clientHeight<=0||n.clientHeight<=0)return;let s=o>0?t.scrollTop/o*i:0;Math.abs(n.scrollTop-s)>.5&&(n.scrollTop=s)}a(F,"synchronizeScroll");function q(t,n){let o=t.ownerDocument.defaultView,i=!1,s,g,l,u=a(r=>{r!==void 0&&o?.cancelAnimationFrame(r)},"cancelFrame"),f=a(()=>{i=!0,s=void 0,u(g),u(l),g=void 0,l=void 0},"pause"),p=a(()=>{if(!o){i=!1;return}let r=2,c=a(()=>{if(r-=1,r>0){l=o.requestAnimationFrame(c);return}l=void 0,i=!1},"resume");l=o.requestAnimationFrame(c)},"resumeAfterPaint"),w=a((r,c)=>{if(!(i||s===r)){if(s=c,F(r,c),!o){s=void 0;return}u(g),g=o.requestAnimationFrame(()=>{g=void 0,s=void 0})}},"sync"),y=a(()=>w(t,n),"onSourceScroll"),h=a(()=>w(n,t),"onPreviewScroll"),M=a(r=>{if(r.defaultPrevented||r.button!==0||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey)return;let e=(r.target instanceof Element?r.target:r.target instanceof Node?r.target.parentElement:void 0)?.closest('a[href^="#"]'),d=e?.getAttribute("href");if(!e||!d||d==="#")return;let m;try{m=decodeURIComponent(d.slice(1))}catch{return}let T=[...(e.closest('[data-df-root="markdown"]')??n).querySelectorAll("[id]")].find(L=>L.id===m);if(!T)return;r.preventDefault(),f();let v=n.scrollTop+T.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop=Math.max(0,v);try{o?.history.pushState(null,"",d)}catch{}p()},"onPreviewAnchorClick");return t.addEventListener("scroll",y),n.addEventListener("scroll",h),n.addEventListener("click",M),{replacePreview(r){let c=Math.max(0,t.scrollHeight-t.clientHeight),e=c>0?t.scrollTop/c:0;f(),r();let d=Math.max(0,n.scrollHeight-n.clientHeight);t.clientHeight>0&&n.clientHeight>0&&(n.scrollTop=e*d),p()}}}a(q,"setupSynchronizedScrolling");function D(t,n){if(t.dataset.docfusePlaygroundReady!==void 0)return;let o=t.querySelector("[data-docfuse-playground-source]"),i=t.querySelector("[data-docfuse-playground-preview]");if(!o||!i)return;let s=_(t),g={...n.markdown,labels:s,locale:document.documentElement.lang||n.markdown.locale},l=`${t.dataset.docfusePlaygroundPreviewLabel??"Preview"}\u2026`,u,f=0,p,w=!0,y=q(o,i),h=a(e=>{e.dispose?.(),e.root.unmount(),e.element.remove()},"discardStage"),M=a(async(e,d)=>{if(!e.activating){if(e.activating=!0,f!==d){h(e);return}try{e.dispose=await window.__docfuseEnhanceMarkdown?.(e.element)}catch(m){h(e),console.error("[docfuse] Playground preview enhancement failed:",m);return}if(f!==d){h(e);return}y.replacePreview(()=>{if(w){e.element.remove(),window.__docfuseMarkdownDispose?.(),window.__docfuseMarkdownDispose=void 0;for(let m of[...i.childNodes])m.remove();w=!1,e.element.hidden=!1,i.append(e.element)}else e.element.hidden=!1,p?.dispose?.(),p?.root.unmount(),p?.element.remove();p=e})}},"activate"),r=a(async e=>{if(await window.__docfuseMarkdownReady,f!==e)return;let d=i.ownerDocument.createElement("div");d.className="df-playground-live-preview",d.hidden=!0,i.append(d);let m={element:d,root:S(d),activating:!1};m.root.render(k(A,{source:o.value,options:g,basePath:n.basePath,loadingLabel:l,onReady:a(()=>{M(m,e)},"onReady"),onFailure:a(E=>{console.error("[docfuse] Playground preview render failed:",E),queueMicrotask(()=>h(m))},"onFailure")}))},"render"),c=a(()=>{let e=++f;u!==void 0&&window.clearTimeout(u),u=window.setTimeout(()=>{r(e)},120)},"scheduleRender");o.addEventListener("input",c),o.addEventListener("keydown",e=>{e.key!=="Tab"||e.altKey||e.ctrlKey||e.metaKey||(e.preventDefault(),o.setRangeText(" ",o.selectionStart,o.selectionEnd,"end"),c())}),t.dataset.docfusePlaygroundReady=""}a(D,"mountPlayground");function W(t){document.querySelectorAll("[data-docfuse-playground]").forEach(n=>D(n,t))}a(W,"mountPlaygrounds");export{W as mountPlaygrounds};
2
+ //# sourceMappingURL=playground-client.js.map
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-FF7ZHS4U.js";import{j as n}from"./chunk-DOOG32NU.js";import{a}from"./chunk-5NTRNUFG.js";import"./chunk-EAYVCA3Z.js";import{e as i}from"./chunk-JK7ZNBUA.js";import{a as e}from"./chunk-AYDF3IFZ.js";async function g({cwd:r,port:s=4173}){let t=await n(r),o=await p({root:i(r,t.outputDir),port:s,basePath:t.basePath});return a(`Preview running at http://127.0.0.1:${o.port}${t.basePath}`),o}e(g,"runPreview");export{g as runPreview};
2
+ //# sourceMappingURL=preview-FI2XY4WS.js.map
@@ -0,0 +1,3 @@
1
+ declare function bootstrapSearch(): void;
2
+
3
+ export { bootstrapSearch };
@@ -0,0 +1,2 @@
1
+ import{a as W}from"./chunk-XYJ2OBL3.js";import{a as s}from"./chunk-AYDF3IFZ.js";function $(w,l){let c=s(t=>String(t??"").replace(/<[^>]*>/g," ").replace(/&(?:nbsp|#160);/gi," ").replace(/&(?:amp|#38);/gi,"&").replace(/&(?:lt|#60);/gi,"<").replace(/&(?:gt|#62);/gi,">").replace(/\s+/g," ").trim(),"plainText"),r=c(w).toLowerCase().split(/\s+/).filter(Boolean),a=s((...t)=>{let i=t.map(c).join(" ").toLowerCase();return r.length>0&&r.every(m=>i.includes(m))},"matches"),g=s((t,i)=>!i||!t.toLowerCase().startsWith(i.toLowerCase())?t:t.slice(i.length).replace(/^[\s·::.\-—]+/,"").trim()||t,"withoutRepeatedLead"),b=s((t,i)=>(a(t)?4:0)+(a(i)?2:0)+(a(t,i)?1:0),"score"),d=(l.sub_results??[]).map((t,i)=>{let m=c(t.title),k=c(t.plain_excerpt||t.excerpt);return{fragment:t,title:m,excerpt:k,index:i,score:b(m,k)}}).filter(t=>t.score>0).sort((t,i)=>i.score-t.score||t.index-i.index)[0],p=c(l.meta?.title||l.url);if(d){let t=d.title===p?"":d.title,i=g(d.excerpt,d.title),m=[t,i].filter(Boolean).join(" \xB7 ")||d.title||l.url;return{title:p,description:m,excerpt:i,routePath:d.fragment.url||l.url}}let y=c(l.meta?.description),P=c(l.plain_excerpt||l.excerpt),o=a(p)?y||P||l.url:a(y)?y:a(P)?P:void 0;if(o)return{title:p,description:o,excerpt:P,routePath:l.url}}s($,"createPagefindSearchDocument");function F(w,l){let c=w.trim().toLowerCase();return c?l.map((r,a)=>{let g=r.title.toLowerCase(),b=r.description.toLowerCase(),x=String(r.excerpt??"").toLowerCase(),d=(g===c?200:g.includes(c)?100:0)+(b.includes(c)?24:0)+(x.includes(c)?8:0);return{document:r,index:a,score:d}}).sort((r,a)=>a.score-r.score||r.index-a.index).map(r=>r.document):l}s(F,"rankSearchDocuments");function q(w,l){let c=s(y=>y.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;"),"escape"),r=String(w),a=l.trim();if(!a)return c(r);let g=r.toLowerCase(),b=a.toLowerCase(),x=0,d="",p=g.indexOf(b);for(;p!==-1;)d+=c(r.slice(x,p)),d+=`<mark>${c(r.slice(p,p+a.length))}</mark>`,x=p+a.length,p=g.indexOf(b,x);return d+c(r.slice(x))}s(q,"highlightSearchText");var N=8,ne=32,re=2;function I(w){return String(w).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}s(I,"escapeHtml");function U(){let w=window;w.__docfuseSearchDispose?.();let l=new AbortController,c=l.signal,r=s((o,t,i,m={})=>o.addEventListener(t,i,{...m,signal:c}),"on"),a,g=!1,b=document.querySelector("[data-docfuse-search]");if(b){let R=function(e){return B().then(e).catch(()=>{})},O=function(e){return m==="pagefind"?ee(e):Z(e)},K=function(){return Array.from(o.querySelectorAll('a[href],button:not([disabled]),input:not([disabled]),textarea:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])')).filter(e=>e.tabIndex>=0&&!e.closest("[hidden]")&&e.getAttribute("aria-hidden")!=="true")},H=function(){_=document.activeElement,o.removeAttribute("hidden"),document.documentElement.classList.add("df-search-open"),D?.removeAttribute("hidden"),h?.setAttribute("hidden",""),requestAnimationFrame(()=>(A||j)?.focus()),m==="pagefind"&&R(e=>e.init?.())},L=function(){o.setAttribute("hidden",""),document.documentElement.classList.remove("df-search-open"),A&&(A.value=""),h&&(h.innerHTML=""),D?.removeAttribute("hidden"),h?.setAttribute("hidden",""),_ instanceof HTMLElement&&_.focus({preventScroll:!0})};var x=R,d=O,p=K,y=H,P=L;s(R,"runPagefind"),s(O,"search"),s(K,"focusable"),s(H,"openModal"),s(L,"closeModal");let o=b,t=o.getAttribute("data-locale")||document.documentElement.lang||"en",i=o.getAttribute("data-version")||"current",m=o.getAttribute("data-search-provider")||"compact",k=o.getAttribute("data-search-index-url")||`/search/${t}.json`,X=o.getAttribute("data-search-bundle-url")||"/pagefind/pagefind.js",z=o.getAttribute("data-empty-label")||"No matching documents",G=o.getAttribute("data-error-label")||"Search index is unavailable",A=o.querySelector("input"),D=o.querySelector("[data-docfuse-search-default]"),h=o.querySelector("[data-docfuse-search-results]"),J=document.querySelectorAll("[data-docfuse-search-open]"),Q=o.querySelectorAll("[data-docfuse-search-close]"),V=o.querySelectorAll("[data-docfuse-search-action]"),j=o.querySelector('[role="dialog"]'),C,M,_;async function Y(){let e=await fetch(k);if(!e.ok)throw new Error("Search index not found");return await e.json()}s(Y,"loadLocalIndex");async function Z(e){C||(C=Y().catch(u=>{throw C=void 0,u}));let n=await C,f=W(e),E=e.toLowerCase(),S=new Map;return f.forEach(u=>{(n.postings[u]||[]).forEach(T=>{S.set(T,(S.get(T)||0)+1)})}),Array.from(S,([u,T])=>{let v=n.docs[u];if(!v)return;let te=[v.title,v.description,...v.tags||[],v.excerpt].join(" ").toLowerCase().includes(E)?re:0;return{doc:v,score:T+te}}).filter(u=>!!u).filter(u=>u.score>0).sort((u,T)=>T.score-u.score).slice(0,N).map(u=>u.doc)}s(Z,"searchCompact");async function B(){return M||(M=import(X).then(e=>e).catch(e=>{throw M=void 0,e})),M}s(B,"loadPagefind");async function ee(e){let f=await(await B()).search(e,{filters:{version:i,locale:t}}),E=await Promise.all(f.results.slice(0,ne).map(async S=>{let u=await S.data();return $(e,u)}));return F(e,E.filter(S=>!!S)).slice(0,N)}s(ee,"searchPagefind"),J.forEach(e=>r(e,"click",H)),Q.forEach(e=>r(e,"click",L)),h&&r(h,"click",e=>{let n=e.target;n instanceof Element&&n.closest("a[href]")&&L()}),V.forEach(e=>r(e,"click",()=>{let n=e.getAttribute("data-docfuse-search-action");L(),n==="source"&&document.querySelector("[data-docfuse-source-open]")?.click(),n==="theme"&&document.querySelector("[data-docfuse-theme-toggle]")?.click()})),r(document,"keydown",e=>{let n=e;if((n.metaKey||n.ctrlKey)&&n.key.toLowerCase()==="k")n.preventDefault(),o.hasAttribute("hidden")?H():L();else if(n.key==="Escape"&&!o.hasAttribute("hidden"))L();else if(n.key==="Tab"&&!o.hasAttribute("hidden")){let f=K();if(!f.length){n.preventDefault(),j?.focus();return}let E=f[0],S=f[f.length-1];n.shiftKey&&document.activeElement===E?(n.preventDefault(),S?.focus()):!n.shiftKey&&document.activeElement===S&&(n.preventDefault(),E?.focus())}}),A&&h&&r(A,"input",()=>{clearTimeout(a),a=setTimeout(async()=>{let e=A.value.trim();if(!e){h.innerHTML="",h.setAttribute("hidden",""),D?.removeAttribute("hidden");return}D?.setAttribute("hidden",""),h.removeAttribute("hidden"),m==="pagefind"&&R(n=>n.preload?.(e,{filters:{version:i,locale:t}}));try{let n=await O(e);if(g||A.value.trim()!==e)return;h.innerHTML=n.length?n.map(f=>'<a class="df-search-result" href="'+I(f.routePath)+'"><span class="df-search-result-copy"><strong>'+q(f.title,e)+"</strong><small>"+q(f.description||f.routePath,e)+'</small></span><span class="df-search-result-arrow" aria-hidden="true">\u2192</span></a>').join(""):`<p class="df-search-empty">${I(z)}</p>`}catch{if(g||A.value.trim()!==e)return;h.innerHTML=`<p class="df-search-empty">${I(G)}</p>`}},150)})}w.__docfuseSearchDispose=()=>{g=!0,l.abort(),clearTimeout(a),document.documentElement.classList.remove("df-search-open")}}s(U,"bootstrapSearch");var oe=window;oe.__docfuseBootstrapSearch=U;U();export{U as bootstrapSearch};
2
+ //# sourceMappingURL=search-client.js.map