@domphy/press 0.19.2 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,258 +1,116 @@
1
- function Je(e){return{base:"/",srcDir:".",outDir:"dist",head:[],...e,themeConfig:Object.assign({nav:[],sidebar:{}},e.themeConfig)}}import{cpSync as mn,existsSync as Oe,mkdirSync as me,readFileSync as fn,rmSync as Ue,writeFileSync as W}from"fs";import{dirname as Be,join as I,relative as hn,resolve as bn}from"path";import{fileURLToPath as yn}from"url";import{execSync as $n}from"child_process";import{createApp as xn,defineRoutes as kn}from"@domphy/app";import{themeCSS as vn}from"@domphy/theme";import{createHighlighter as Qe}from"shiki";var $e="github-light",Ve=["typescript","javascript","tsx","jsx","json","bash","shellscript","html","css","vue","svelte","markdown","diff","yaml","ruby","python","go","rust","sql"],ke={ts:"typescript",js:"javascript",sh:"bash",shell:"bash",zsh:"bash",md:"markdown",yml:"yaml",htm:"html",rb:"ruby",py:"python"},J=null;function R(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function Ze(e){let t=e.match(/<code[^>]*>([\s\S]*)<\/code>/);return t?t[1]:e}function ve(e){let t=(e.match(/^(\S+)/)??[])[1]??"",n=ke[t.toLowerCase()]??t.toLowerCase(),r=e.includes(":line-numbers"),s=e.match(/\[([^\]]*[a-zA-Z.][^\]]*)\]/),i=s?s[1]:null,a=e.match(/\{([0-9,\s\-]+)\}/),l=new Set;if(a)for(let c of a[1].split(",")){let g=c.trim().split("-").map(Number);if(g.length===1&&!isNaN(g[0]))l.add(g[0]);else if(g.length===2)for(let m=g[0];m<=g[1];m++)l.add(m)}return{lang:n,highlightLines:l,lineNumbers:r,title:i}}var xe=/\s*\/\/ \[!code ([^\]]+)\]\s*$/,et={"++":"diff add","--":"diff remove",highlight:"highlighted",focus:"focus",error:"highlighted error",warning:"highlighted warning"};function tt(e){let t=e.split(`
2
- `),n=new Map,r=[],s=!1;for(let i of t){let a=xe.exec(i);if(a){let l=a[1].trim(),c=et[l];c&&(c.includes("focus")&&(s=!0),n.set(r.length+1,c)),r.push(i.replace(xe,""))}else r.push(i)}return{cleanCode:r.join(`
3
- `),lineClasses:n,hasFocus:s}}function nt(e,t,n,r,s){let i=0;return e.replace(/<span class="line">/g,()=>{i++;let a=t.get(i)??"",l=["line"];return a?l.push(...a.split(" ")):n.has(i)&&l.push("highlighted"),r&&!a.includes("focus")&&l.push("dimmed"),`${s?`<span class="line-number">${i}</span>`:""}<span class="${l.join(" ")}">`})}async function Q(){J||(J=Qe({themes:[$e],langs:Ve}));let e=await J,t=new Set(e.getLoadedLanguages());return(n,r)=>{let s=ke[r?.toLowerCase()]??r?.toLowerCase();return!s||!t.has(s)?R(n):Ze(e.codeToHtml(n,{lang:s,theme:$e}))}}function V(e,t,n){let{lang:r,highlightLines:s,lineNumbers:i,title:a}=ve(t);if(r==="mermaid")return`<div class="dp-mermaid language-mermaid">${R(e.trim())}</div>`;let{cleanCode:l,lineClasses:c,hasFocus:g}=tt(e),m=n(l.trimEnd(),r),d=nt(m,c,s,g,i),u=s.size>0||c.size>0,b=a?`<div class="code-block-title"><span>${R(a)}</span></div>`:"",k=[i?"line-numbers":"",u?"has-annotations":"",g?"has-focus":""].filter(Boolean).join(" ");return`<div class="code-block ${r?`language-${r}`:""}">${b}<div class="code-block-inner"><pre class="${k}"><code>${d}</code></pre><button class="code-copy-btn" type="button" aria-label="Copy code" data-copy>\u2398</button></div></div>`}import{navLink as Ce}from"@domphy/app";import{toolbar as te,toolbarSpacer as dt}from"@domphy/ui";import{readdirSync as ot,statSync as rt}from"fs";import{join as it,posix as st,relative as at,sep as ct}from"path";var lt=new Set(["snippets","demos","node_modules",".git"]);function we(e){let r=e.split(ct).join(st.sep).replace(/\.md$/,"").split("/");return r[r.length-1]==="index"?(r.pop(),r.length===0?"/":`/${r.join("/")}/`):`/${r.join("/")}`}function Se(e){return e==="/"?"index.html":`${e.replace(/^\/+/,"").replace(/\/+$/,"")}/index.html`}function Ee(e){let t=[];for(let n of ot(e)){let r=it(e,n);if(rt(r).isDirectory()){if(lt.has(n)||n.startsWith("."))continue;t.push(...Ee(r))}else n.endsWith(".md")&&n.toLowerCase()!=="readme.md"&&t.push(r)}return t}function O(e){let n=Ee(e).map(r=>{let s=at(e,r),i=we(s);return{route:i,outFile:Se(i),filePath:r}});return n.sort((r,s)=>r.route.localeCompare(s.route)),n}function Z(e){let t=[];for(let n of e)n.link&&t.push({text:n.text,link:n.link}),n.items&&t.push(...Z(n.items));return t}function U(e,t){let n="";for(let r of Object.keys(t.themeConfig.sidebar))e.startsWith(r)&&r.length>n.length&&(n=r);return n?t.themeConfig.sidebar[n]:[]}function ee(e,t){let n=Z(U(e,t)),r=n.findIndex(s=>s.link===e||s.link===e.replace(/\/$/,"")||`${s.link}/`===e);return r===-1?{}:{prev:r>0?n[r-1]:void 0,next:r<n.length-1?n[r+1]:void 0}}var pt={github:"GitHub",twitter:"Twitter",discord:"Discord",youtube:"YouTube",linkedin:"LinkedIn",mastodon:"Mastodon",npm:"npm",bluesky:"Bluesky"};function gt(e){let t=e.icon.toLowerCase();return{a:[e.icon.startsWith("http")||e.icon.startsWith("/")?{img:null,src:e.icon,alt:e.ariaLabel??t,width:"18",height:"18"}:{span:"",class:`dp-social-icon dp-icon-${t}`,ariaHidden:"true"}],href:e.link,class:`dp-social-link dp-social-${t}`,ariaLabel:e.ariaLabel??pt[t]??e.icon,target:"_blank",rel:"noopener noreferrer"}}function oe(e,t,n){return{a:e,href:t,class:n,$:[Ce({href:t})]}}function ut(e){return{div:[{span:e.text,class:"dp-nav-dropdown-label"},{div:e.items.map(t=>oe(t.text,t.link)),class:"dp-nav-dropdown-menu"}],class:"dp-nav-dropdown"}}function De(e){let t=e.themeConfig.announcementBar;if(!t)return null;let n=t.id?t.id:"",r=[{span:t.text,class:"dp-announcement-text"}];return t.dismissible!==!1&&r.push({button:"\u2715",type:"button",class:"dp-announcement-close",dataDismissAnnouncement:"",ariaLabel:"Dismiss"}),{div:r,class:"dp-announcement",...n?{dataId:n}:{}}}function mt(e){let{config:t,route:n}=e;if(!t.locales)return null;let r=Object.entries(t.locales);if(r.length<=1)return null;let s="/",i=n;for(let[c]of r)if(c!=="/"&&n.startsWith(c.replace(/\/$/,""))){s=c,i=n.slice(c.replace(/\/$/,"").length)||"/";break}let a=t.locales[s];if(!a)return null;let l=r.map(([c,g])=>{let d=(c==="/"?"":c.replace(/\/$/,""))+(i==="/"?"/":i);return{a:g.label,href:d,class:`dp-locale-option${c===s?" active":""}`,...c===s?{ariaCurrent:"true"}:{},lang:g.lang}});return{div:[{span:["\u{1F310} ",a.label],class:"dp-locale-current"},{div:l,class:"dp-locale-menu"}],class:"dp-locale-switcher",ariaLabel:"Select language"}}function Te(e){let{config:t}=e,n=t.themeConfig.search!==!1,r=t.themeConfig.logo,s=r?typeof r=="string"?[{img:null,src:r,alt:t.title,class:"dp-logo-img"}]:[{img:null,src:r.light,alt:t.title,class:"dp-logo-img dp-logo-light"},{img:null,src:r.dark,alt:t.title,class:"dp-logo-img dp-logo-dark"}]:[],i=r?{a:s,href:t.base,class:"dp-logo"}:{a:t.title,href:t.base,class:"dp-logo"},a=(t.themeConfig.socialLinks??[]).map(gt),l=mt(e);return{header:[i,dt(),{nav:t.themeConfig.nav.map(c=>c.items?ut(c):oe(c.text,c.link)),$:[te({gap:4})],class:"dp-nav",ariaLabel:"Primary"},{div:[...n?[{div:[{input:null,type:"search",placeholder:typeof t.themeConfig.search=="object"&&t.themeConfig.search.placeholder||"Search...",class:"dp-search-static",ariaLabel:"Search documentation"}],dataIsland:"search",class:"dp-search-slot"}]:[],...a,...l?[l]:[],{button:"\u25D0",type:"button",class:"dp-theme-toggle",ariaLabel:"Toggle dark mode",dataThemeToggle:""},{button:"\u2630",type:"button",class:"dp-menu-toggle",ariaLabel:"Toggle menu",dataMenuToggle:""}],$:[te({gap:2})],class:"dp-header-actions"}],$:[te({gap:4})],class:"dp-header"}}function Le(e){return{span:e.text,class:`dp-badge dp-badge-${e.type??"tip"}`}}function ne(e,t,n){return n?{a:[{span:e},Le(n)],href:t,$:[Ce({href:t})],class:"dp-sidebar-link-with-badge"}:oe(e,t)}function ft(e){let t=[],n=e.items&&e.items.length>0;if(e.link)t.push(ne(e.text,e.link,e.badge));else{let s=[{span:e.text}];e.badge&&s.push(Le(e.badge)),n&&s.push({button:e.collapsed?"\u203A":"\u2039",type:"button",class:"dp-sidebar-toggle",ariaLabel:e.collapsed?"Expand":"Collapse",dataSidebarToggle:""}),t.push({div:s,class:"dp-sidebar-title"})}if(e.items){let s=[];for(let i of e.items)if(i.items){s.push({div:i.text,class:"dp-sidebar-subtitle"});for(let a of i.items)a.link&&s.push(ne(a.text,a.link,a.badge))}else i.link&&s.push(ne(i.text,i.link,i.badge));t.push({div:s,class:"dp-sidebar-items"})}let r=["dp-sidebar-group",n&&e.collapsed?"collapsed":""].filter(Boolean).join(" ");return{div:t,class:r}}function ht(e){return{nav:U(e.route,e.config).map(ft),class:"dp-sidebar",ariaLabel:"Documentation"}}function bt(e){if(e.frontmatter.aside===!1)return null;let[t,n]=e.config.themeConfig.outline?.level??[2,3],r=e.toc.filter(i=>i.level>=t&&i.level<=n);return r.length===0?null:{aside:[{div:e.config.themeConfig.tocTitle??"On this page",class:"dp-aside-title"},{nav:r.map(i=>({a:i.text,href:`#${i.slug}`,class:`dp-toc-${i.level}`})),class:"dp-toc"}],class:"dp-aside"}}function yt(e){let{prev:t,next:n}=ee(e.route,e.config);return!t&&!n?null:{nav:[t?{a:[{small:"Previous"},{span:t.text}],href:t.link,class:"prev"}:{span:""},n?{a:[{small:"Next"},{span:n.text}],href:n.link,class:"next"}:{span:""}],class:"dp-prevnext",ariaLabel:"Page navigation"}}function $t(e){let{editLink:t}=e.config.themeConfig,n=e.config.lastUpdated,r=t&&e.filePath,s=n&&e.lastUpdated;if(!r&&!s&&!e.readingTime)return null;let i=[];if(s){let l=new Date(e.lastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});i.push({span:["Last updated: ",{time:l,dateTime:e.lastUpdated,class:"dp-last-updated-date"}],class:"dp-last-updated"})}if(e.readingTime&&i.push({span:`${e.readingTime} min read`,class:"dp-reading-time"}),r){let l=t.pattern.replace(/:path/g,e.filePath);i.push({a:t.text??"Edit this page",href:l,class:"dp-edit-link",target:"_blank",rel:"noopener noreferrer"})}return{div:i,class:"dp-doc-footer"}}function xt(e){let t=e.badge;if(!t)return null;let n=typeof t=="string"?t:t.text??"",r=typeof t=="object"?t.type??"tip":"tip";return n?{span:n,class:`dp-badge dp-badge-${r} dp-page-badge`}:null}function F(e,t,n){let r=e.config.themeConfig.slots?.[t];return r?r(e):n(e)}function re(e){let t=e.config.themeConfig.slots,n=e.frontmatter.sidebar!==!1,r=[],s=xt(e.frontmatter);s&&r.push({div:[s],class:"dp-page-badge-row"}),r.push({div:e.body,class:"dp-content"});let i=F(e,"prevNext",yt);i&&r.push(i);let a=F(e,"docFooter",$t);a&&r.push(a);let l=n?F(e,"sidebar",ht):null,c=[...l?[l]:[],{main:r,class:`dp-main${n?"":" dp-main-full"}`}],g=F(e,"aside",bt);g&&n&&c.push(g);let m=F(e,"header",Te),d=De(e.config),u=t?.footer?t.footer(e):{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"};return{div:[...d?[d]:[],...m?[m]:[],{div:c,class:"dp-shell"},...u?[u]:[]]}}function kt(e){let t=[];return e.name&&t.push({div:e.name,class:"dp-hero-name"}),e.text&&t.push({h1:e.text,class:"dp-hero-text"}),e.tagline&&t.push({p:e.tagline,class:"dp-hero-tagline"}),e.actions?.length&&t.push({div:e.actions.map(n=>({a:n.text,href:n.link,class:`dp-hero-action ${n.theme??"brand"}`})),class:"dp-hero-actions"}),{section:t,class:"dp-hero"}}function vt(e){return{div:e.map(t=>{let n=[];t.icon&&n.push({div:t.icon,class:"dp-feature-icon"}),n.push({div:t.title,class:"dp-feature-title"}),n.push({p:t.details,class:"dp-feature-details"});let r={div:n,class:"dp-feature"};return t.link?{a:[r],href:t.link,class:"dp-feature-link"}:r}),class:"dp-features"}}function ie(e){let t=[],n=e.frontmatter.hero,r=e.frontmatter.features;n&&t.push(kt(n)),r?.length&&t.push(vt(r)),t.push({div:e.body,class:"dp-content dp-home"});let s=De(e.config);return{div:[...s?[s]:[],Te(e),{main:t,class:"dp-main dp-main-home"},{footer:e.config.themeConfig.footerMessage??"",class:"dp-footer"}]}}import{readFileSync as wt}from"fs";import{dirname as _e,extname as St,isAbsolute as Et,resolve as Me}from"path";import{splitFrontmatter as Ct,tokensToDomphy as Dt}from"@domphy/markdown";import Tt from"markdown-it";import Lt from"markdown-it-container";import Mt from"markdown-it-mark";import jt from"markdown-it-sub";import _t from"markdown-it-sup";import It from"markdown-it-include";import je from"markdown-it-emoji";var zt=It,At=Mt,Rt=jt,Ft=_t,Pt=je.full??je,Nt=/^<<<\s+(\S+?)(?:\s+\[([^\]]*)\])?\s*$/gm,Ht={".ts":"ts",".tsx":"tsx",".js":"js",".jsx":"jsx",".mjs":"js",".cjs":"js",".json":"json",".css":"css",".html":"html",".vue":"vue",".md":"markdown",".sh":"bash",".bash":"bash",".yml":"yaml",".yaml":"yaml",".rb":"ruby",".py":"python",".go":"go",".rs":"rust"};function Ot(e,t,n){return e.startsWith("@/")?Me(_e(n),e.slice(2)):Et(e)?e:Me(t,e)}function Ut(e,t,n){return e.replace(Nt,(r,s,i)=>{let a=Ot(s,t,n),l="```",c;try{c=wt(a,"utf8")}catch{return[l,`Could not import: ${s}`,l].join(`
4
- `)}let g=Ht[St(a).toLowerCase()]??"",m=i?`${g} [${i}]`:g;return[l+m,c.trimEnd(),l].join(`
5
- `)})}function Bt(e){return e.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/^\s*\n/,"")}var ce={tip:"TIP",warning:"WARNING",info:"INFO",danger:"DANGER",note:"NOTE",abstract:"ABSTRACT",success:"SUCCESS",question:"QUESTION",failure:"FAILURE",bug:"BUG",example:"EXAMPLE",quote:"QUOTE"};function se(e,t){return e.slice(e.indexOf(t)+t.length).trim()}function B(e,t,n,r,s,i){let a=new e(n,t,1);a.block=!0,s&&a.attrSet("class",s);let l=new e("inline","",0);l.content=i,l.children=[];let c=new e("text","",0);c.content=i,l.children.push(c);let g=new e(r,t,-1);return g.block=!0,[a,l,g]}function ae(e,t){let n=new e("html_block","",0);return n.content=t,n.block=!0,n}function Wt(e,t,n,r,s){let i=t[n];i.tag="div",i.attrSet("class","code-group");let a=t[r];a.tag="div";let l=[];for(let d=n+1;d<r;d++){let u=t[d];if(u.type!=="fence")continue;let b=(u.info??"").trim(),k=b.match(/\[([^\]]+)\]/),z=b.split(/\s+/,1)[0]??"";l.push({token:u,label:k?k[1]:z||"Code"})}if(l.length===0)return t.slice(n,r+1);let c=l.map((d,u)=>`<input type="radio" name="cg-${s}" id="cgt-${s}-${u}"${u===0?" checked":""}>`).join(""),g=l.map((d,u)=>`<label for="cgt-${s}-${u}">${R(d.label)}</label>`).join(""),m=[ae(e,`${c}<div class="tabs">${g}</div>`),ae(e,'<div class="blocks">')];return l.forEach(d=>{d.token.info=(d.token.info??"").replace(/\[[^\]]*\]/,"").trim(),m.push(d.token)}),m.push(ae(e,"</div>")),[i,...m,a]}function qt(e){if(e.length===0)return e;let t=e[0].constructor,n=[],r=0,s=Object.keys(ce).join("|"),i=new RegExp(`^container_(${s})_open$`),a=new RegExp(`^container_(${s})_close$`);for(let l=0;l<e.length;l++){let c=e[l],g=c.type.match(i);if(g){let m=g[1];c.tag="div",c.attrSet("class",`custom-block ${m}`);let d=se(c.info.trim(),m);n.push(c),n.push(...B(t,"p","paragraph_open","paragraph_close","custom-block-title",d||ce[m]||m.toUpperCase()));continue}if(a.test(c.type)){c.tag="div",n.push(c);continue}if(c.type==="container_details_open"){c.tag="details",c.attrSet("class","custom-block details"),n.push(c),n.push(...B(t,"summary","summary_open","summary_close",null,se(c.info.trim(),"details")||"Details"));continue}if(c.type==="container_details_close"){c.tag="details",n.push(c);continue}if(c.type==="container_steps_open"){c.tag="div",c.attrSet("class","custom-block steps"),n.push(c);continue}if(c.type==="container_steps_close"){c.tag="div",n.push(c);continue}if(c.type==="container_card-grid_open"){c.tag="div",c.attrSet("class","custom-block card-grid"),n.push(c);continue}if(c.type==="container_card-grid_close"){c.tag="div",n.push(c);continue}if(c.type==="container_card_open"){c.tag="div",c.attrSet("class","custom-block card");let m=se(c.info.trim(),"card");n.push(c),m&&n.push(...B(t,"p","paragraph_open","paragraph_close","card-title",m));continue}if(c.type==="container_card_close"){c.tag="div",n.push(c);continue}if(c.type==="container_link-card_open"){let m=c.info.trim().slice(9).trim(),d=m.match(/^\[([^\]]+)\]\(([^)]+)\)/),u=d?d[2]:"#",b=d?d[1]:m;c.tag="a",c.attrSet("class","custom-block link-card"),c.attrSet("href",u),n.push(c),b&&n.push(...B(t,"p","paragraph_open","paragraph_close","link-card-title",b));continue}if(c.type==="container_link-card_close"){c.tag="a",n.push(c);continue}if(c.type==="container_code-group_open"){let m=0,d=-1;for(let u=l;u<e.length;u++)if(e[u].type==="container_code-group_open")m++;else if(e[u].type==="container_code-group_close"&&(m--,m===0)){d=u;break}if(d===-1){n.push(c);continue}n.push(...Wt(t,e,l,d,r++)),l=d;continue}n.push(c)}return n}function Gt(e){if(e.length===0)return e;let t=e[0].constructor;for(let n=1;n<e.length;n++){let r=e[n];if(r.type!=="inline"||!r.children?.length)continue;let s=e[n-1];if(s?.type!=="list_item_open")continue;let i=r.children[0];if(i.type!=="text")continue;let a=i.content;if(!(a.startsWith("[ ] ")||a.startsWith("[x] ")||a.startsWith("[X] ")))continue;let c=a[1].toLowerCase()==="x";i.content=a.slice(4),r.content=r.content.replace(/^\[[ xX]\] /,""),s.attrSet("class",((s.attrGet("class")??"")+" task-list-item").trim());let g=new t("html_inline","",0);g.content=`<input type="checkbox"${c?" checked":""} disabled class="task-list-check" aria-label="${c?"done":"todo"}">`,r.children.unshift(g)}return e}function Kt(e,t){let n=new Tt({html:!0,linkify:!0,typographer:!1});n.enable(["strikethrough","table"]),n.use(zt,{root:e}),n.use(At),n.use(Rt),n.use(Ft),n.use(Pt);let r=()=>"",s=Object.keys(ce);for(let i of[...s,"details","code-group","steps","card","card-grid","link-card"])n.use(Lt,i,{render:r});return n.core.ruler.push("press_containers",i=>(i.tokens=qt(i.tokens),!0)),n.core.ruler.push("press_task_lists",i=>(i.tokens=Gt(i.tokens),!0)),n.core.ruler.push("press_fences",i=>{for(let a of i.tokens){if(a.type!=="fence")continue;let l=V(a.content,a.info??"",t);a.type="html_block",a.content=l,a.tag=""}return!0}),n.core.ruler.push("press_external_links",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let l of a.children){if(l.type!=="link_open")continue;let c=l.attrGet("href")??"";(c.startsWith("http://")||c.startsWith("https://"))&&(l.attrSet("target","_blank"),l.attrSet("rel","noopener noreferrer"))}return!0}),n.core.ruler.push("press_image_lazy",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let l of a.children)l.type==="image"&&l.attrSet("loading","lazy");return!0}),n}function Xt(e){let n=(e.split(/[\\/]/).pop()??e).replace(/\.md$/i,"");if(n.toLowerCase()==="index"){let r=e.split(/[\\/]/).filter(Boolean);return r[r.length-2]??n}return n}function Yt(e){return e.find(t=>t.level===1)?.text}function Ie(e){return e.map(t=>{if(!t||typeof t!="object"||Array.isArray(t))return t;let n=t,r=Object.keys(n).find(i=>/^h[1-6]$/.test(i));if(r&&typeof n.id=="string"){let i=n.id,a=Array.isArray(n[r])?[...n[r]]:n[r]!=null?[n[r]]:[];return a.push({a:"#",href:`#${i}`,class:"header-anchor",ariaHidden:"true"}),{...n,[r]:a}}let s=Object.keys(n).find(i=>/^[a-z][a-z0-9]*$/.test(i)&&i!=="style"&&i!=="class"&&!i.startsWith("data")&&!i.startsWith("on")&&!i.startsWith("aria")&&!i.startsWith("_")&&i!=="$"&&i!=="href"&&i!=="src"&&i!=="id"&&i!=="type"&&i!=="name");return s&&Array.isArray(n[s])?{...n,[s]:Ie(n[s])}:t})}async function le(e,t){let{filePath:n,docsDir:r,highlight:s}=t,i=_e(n),{frontmatter:a,content:l}=Ct(e),c=Bt(l),g=Ut(c,i,r),d=Kt(r,s).parse(g,{}),{body:u,toc:b}=Dt(d,{highlight:s}),k=Ie(u),K=(typeof a.title=="string"?a.title:void 0)??Yt(b)??Xt(n);return{frontmatter:a,body:k,toc:b,islands:[],title:K}}import{ElementNode as Jt,RecordState as Qt}from"@domphy/core";import{themeColor as ze,themeSpacing as j}from"@domphy/theme";import{card as Vt,inputSearch as Zt,link as en,menu as tn,small as nn}from"@domphy/ui";var on=3,rn=2,sn=1;function Re(e){let t=[];for(let n of e.toLowerCase().split(/[^\p{L}\p{N}]+/u))n.length>=2&&t.push(n);return t}function de(e,t,n,r){for(let s of Re(n)){let i=e.get(s);i||(i=new Map,e.set(s,i));let a=i.get(t);(a===void 0||r>a)&&i.set(t,r)}}function pe(e){let t=[],n=new Map;for(let s of e){let i=t.length;t.push({route:s.route,pageTitle:s.title,heading:s.title,slug:"",isPage:!0}),de(n,i,s.title,on),de(n,i,s.text,sn);for(let a of s.toc){let l=t.length;t.push({route:s.route,pageTitle:s.title,heading:a.text,slug:a.slug,isPage:!1}),de(n,l,a.text,rn)}}let r={};for(let[s,i]of Array.from(n.entries()).sort((a,l)=>a[0]<l[0]?-1:1))r[s]=Array.from(i.entries()).sort((a,l)=>a[0]-l[0]).map(([a,l])=>[a,l]);return JSON.stringify({entries:t,postings:r})}function Fe(e,t,n=10){let r=JSON.parse(e),s=Re(t);if(s.length===0)return[];let i=new Map,a=new Map;for(let c of s){let g=new Set;for(let m in r.postings){if(m!==c&&!m.startsWith(c))continue;let d=m===c;for(let[u,b]of r.postings[m]){let k=d?b:b*.5;i.set(u,(i.get(u)??0)+k),g.has(u)||(g.add(u),a.set(u,(a.get(u)??0)+1))}}}let l=[];for(let[c,g]of i){let m=r.entries[c],d=a.get(c)??0;l.push({route:m.route,pageTitle:m.pageTitle,heading:m.heading,slug:m.slug,isPage:m.isPage,score:d*100+g,href:m.slug?`${m.route}#${m.slug}`:m.route})}return l.sort((c,g)=>g.score!==c.score?g.score-c.score:c.route!==g.route?c.route<g.route?-1:1:c.isPage===g.isPage?0:c.isPage?-1:1),l.slice(0,n)}function Pe(e,t){return`dp-search-${e}-option-${t}`}var an=0;function cn(e,t,n,r){let s=Pe(n,t);return{a:[{div:e.isPage?e.pageTitle:e.heading},e.isPage?null:{small:e.pageTitle,$:[nn({color:"neutral"})]}],href:e.href,role:"option",id:s,ariaSelected:i=>r.get("active",i)===t||void 0,onClick:()=>{r.set("open",!1)},onMouseEnter:()=>{r.set("active",t)},$:[en({color:"neutral",accentColor:"primary"})],style:{display:"flex",flexDirection:"column",gap:j(1),paddingBlock:j(2),paddingInline:j(3),borderRadius:j(1),backgroundColor:i=>r.get("active",i)===t?ze(i,"shift-3","primary"):ze(i,"inherit","neutral")},_key:e.href}}function Ae(e,t){let n=e.get("index"),r=e.get("query"),s=n&&r.trim()?Fe(n,r,t):[];e.set("results",s),e.set("active",-1),e.set("open",s.length>0)}function Ne(e={}){let{indexUrl:t="/search-index.json",placeholder:n="Search docs\u2026",limit:r=10}=e,s=++an,i=`dp-search-${s}-listbox`,a=new Qt({index:null,query:"",results:[],open:!1,active:-1}),l=null;function c(d){d&&(a.set("open",!1),window.location.assign(d.href))}let g={input:null,type:"search",placeholder:n,autocomplete:"off",role:"combobox",ariaExpanded:d=>a.get("open",d)?"true":"false",ariaControls:i,ariaAutocomplete:"list",ariaActiveDescendant:d=>{let u=a.get("active",d);return u>=0?Pe(s,u):void 0},value:d=>a.get("query",d),onInput:d=>{a.set("query",d.target.value),l&&clearTimeout(l),l=setTimeout(()=>Ae(a,r),120)},onFocus:()=>{a.get("results").length>0&&a.set("open",!0)},onKeyDown:d=>{let u=a.get("results");if(d.key==="Escape"){a.set("open",!1),a.set("active",-1);return}if(d.key==="ArrowDown"){if(!u.length)return;d.preventDefault(),a.set("open",!0),a.set("active",(a.get("active")+1)%u.length);return}if(d.key==="ArrowUp"){if(!u.length)return;d.preventDefault(),a.set("active",(a.get("active")-1+u.length)%u.length);return}if(d.key==="Enter"){let b=a.get("active");c(b>=0?u[b]:u[0])}},$:[Zt({color:"neutral",accentColor:"primary"})],style:{width:"100%"}},m={div:d=>a.get("open",d)?a.get("results",d).map((u,b)=>cn(u,b,s,a)):[],id:i,role:"listbox",$:[tn({selectable:!1,color:"neutral"}),Vt({color:"neutral"})],style:{display:d=>a.get("open",d)?"block":"none",position:"absolute",insetInlineStart:0,insetInlineEnd:0,marginBlockStart:j(1),maxHeight:j(80),overflowY:"auto",zIndex:"50"}};return{div:[g,m],role:"search",style:{position:"relative",display:"block",width:"100%"},_onMount:d=>{fetch(t).then(k=>k.text()).then(k=>{a.set("index",k),a.get("query").trim()&&Ae(a,r)}).catch(()=>{});let u=d.domElement,b=k=>{u.contains(k.target)||a.set("open",!1)};document.addEventListener("pointerdown",b),d.setMetadata("dpSearchHandler",b)},_onRemove:d=>{let u=d.getMetadata("dpSearchHandler");u&&document.removeEventListener("pointerdown",u),l&&clearTimeout(l)}}}function ln(e,t={}){for(;e.firstChild;)e.removeChild(e.firstChild);let n=new Jt(Ne(t));return n.render(e),n}import{themeColor as dn,themeSpacing as pn}from"@domphy/theme";var h=(e,t)=>dn(null,e,t),o=e=>pn(e),v=h("inherit"),x=h("shift-1"),L=h("shift-2"),f=h("shift-3"),y=h("shift-6"),C=h("shift-9"),D=h("shift-11"),$=h("shift-9","primary"),gn=h("shift-10","primary"),_=o(14),He=o(62),un=o(56),ge=o(190);function ue(){return`
1
+ import{execSync as En}from"child_process";import{cpSync as Cn,existsSync as Vt,mkdirSync as wt,readFileSync as Dn,rmSync as Zt,writeFileSync as tt}from"fs";import{dirname as te,join as W,relative as Tn,resolve as Ln}from"path";import{fileURLToPath as Rn}from"url";import{createApp as In,defineRoutes as Mn}from"@domphy/app";import{themeCSS as _n}from"@domphy/theme";import{createHighlighter as ae}from"shiki";var Lt="github-light",le=["typescript","javascript","tsx","jsx","json","bash","shellscript","html","css","vue","svelte","markdown","diff","yaml","ruby","python","go","rust","sql"],It={ts:"typescript",js:"javascript",sh:"bash",shell:"bash",zsh:"bash",md:"markdown",yml:"yaml",htm:"html",rb:"ruby",py:"python"},st=null;function N(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function ce(t){let e=t.match(/<code[^>]*>([\s\S]*)<\/code>/);return e?e[1]:t}function Mt(t){let e=(t.match(/^(\S+)/)??[])[1]??"",n=It[e.toLowerCase()]??e.toLowerCase(),o=t.includes(":line-numbers"),s=t.match(/\[([^\]]*[a-zA-Z.][^\]]*)\]/),i=s?s[1]:null,a=t.match(/\{([0-9,\s-]+)\}/),c=new Set;if(a)for(let l of a[1].split(",")){let p=l.trim().split("-").map(Number);if(p.length===1&&!Number.isNaN(p[0]))c.add(p[0]);else if(p.length===2)for(let m=p[0];m<=p[1];m++)c.add(m)}return{lang:n,highlightLines:c,lineNumbers:o,title:i}}var Rt=/\s*\/\/ \[!code ([^\]]+)\]\s*$/,de={"++":"diff add","--":"diff remove",highlight:"highlighted",focus:"focus",error:"highlighted error",warning:"highlighted warning"};function pe(t){let e=t.split(`
2
+ `),n=new Map,o=[],s=!1;for(let i of e){let a=Rt.exec(i);if(a){let c=a[1].trim(),l=de[c];l&&(l.includes("focus")&&(s=!0),n.set(o.length+1,l)),o.push(i.replace(Rt,""))}else o.push(i)}return{cleanCode:o.join(`
3
+ `),lineClasses:n,hasFocus:s}}function ge(t,e,n,o,s){let i=0;return t.replace(/<span class="line">/g,()=>{i++;let a=e.get(i)??"",c=["line"];return a?c.push(...a.split(" ")):n.has(i)&&c.push("highlighted"),o&&!a.includes("focus")&&c.push("dimmed"),`${s?`<span class="line-number">${i}</span>`:""}<span class="${c.join(" ")}">`})}async function at(){st||(st=ae({themes:[Lt],langs:le}));let t=await st,e=new Set(t.getLoadedLanguages());return(n,o)=>{let s=It[o?.toLowerCase()]??o?.toLowerCase();return!s||!e.has(s)?N(n):ce(t.codeToHtml(n,{lang:s,theme:Lt}))}}function lt(t,e,n){let{lang:o,highlightLines:s,lineNumbers:i,title:a}=Mt(e);if(o==="mermaid")return`<div class="dp-mermaid language-mermaid">${N(t.trim())}</div>`;let{cleanCode:c,lineClasses:l,hasFocus:p}=pe(t),m=n(c.trimEnd(),o),d=ge(m,l,s,p,i),u=s.size>0||l.size>0,h=a?`<div class="code-block-title"><span>${N(a)}</span></div>`:"",k=[i?"line-numbers":"",u?"has-annotations":"",p?"has-focus":""].filter(Boolean).join(" ");return`<div class="code-block ${o?`language-${o}`:""}">${h}<div class="code-block-inner"><pre class="${k}"><code>${d}</code></pre><button class="code-copy-btn" type="button" aria-label="Copy code" data-copy>\u2398</button></div></div>`}import{navLink as jt}from"@domphy/app";import{themeColor as ue,themeSpacing as me}from"@domphy/theme";import{toolbar as ct,toolbarSpacer as fe}from"@domphy/ui";function Y(t){let e=[];for(let n of t)n.link&&e.push({text:n.text,link:n.link}),n.items&&e.push(...Y(n.items));return e}function O(t,e){let n="";for(let o of Object.keys(e.themeConfig.sidebar))t.startsWith(o)&&o.length>n.length&&(n=o);return n?e.themeConfig.sidebar[n]:[]}function J(t,e){let n=Y(O(t,e)),o=n.findIndex(s=>s.link===t||s.link===t.replace(/\/$/,"")||`${s.link}/`===t);return o===-1?{}:{prev:o>0?n[o-1]:void 0,next:o<n.length-1?n[o+1]:void 0}}var pt=t=>t,$=(t,e)=>ue(null,t,e),r=t=>me(t),D=$("inherit"),w=$("shift-1"),U=$("shift-2"),b=$("shift-3"),y=$("shift-6"),M=$("shift-9"),R=$("shift-11"),E=$("shift-9","primary"),he=$("shift-10","primary"),A=r(14),_t=r(62),ye=r(56),At=r(190),be={github:"GitHub",twitter:"Twitter",discord:"Discord",youtube:"YouTube",linkedin:"LinkedIn",mastodon:"Mastodon",npm:"npm",bluesky:"Bluesky"};function xe(t){let e=t.icon.toLowerCase();return{a:[t.icon.startsWith("http")||t.icon.startsWith("/")?{img:null,src:t.icon,alt:t.ariaLabel??e,width:"18",height:"18"}:{span:"",class:`dp-social-icon dp-icon-${e}`,ariaHidden:"true"}],href:t.link,ariaLabel:t.ariaLabel??be[e]??t.icon,target:"_blank",rel:"noopener noreferrer",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:r(8.5),height:r(8.5),borderRadius:r(2),color:y,background:w,border:`1px solid ${b}`,fontSize:"10px",fontWeight:"700",flexShrink:"0","&:hover":{color:M,borderColor:y,textDecoration:"none"}}}}function gt(t,e){return{a:t,href:e,$:[jt({href:e})]}}function ke(t){let e=pt({display:"none",position:"absolute",top:`calc(100% + ${r(2)})`,right:"0",background:w,border:`1px solid ${b}`,borderRadius:r(2),padding:r(1.5),minWidth:r(40),zIndex:"100",flexDirection:"column",gap:r(.5),boxShadow:"0 4px 16px rgba(0,0,0,.1)","& a":{display:"block",padding:`${r(1.25)} ${r(2.5)}`,borderRadius:r(1.25),fontSize:"13px"},"& a:hover":{background:U}});return{div:[{span:t.text,style:{color:y,fontSize:"14px",fontWeight:"500",cursor:"pointer",userSelect:"none","&::after":{content:'" \u25BE"',fontSize:"10px",opacity:".6"}}},{div:t.items.map(n=>gt(n.text,n.link)),style:e}],style:{position:"relative",display:"flex",alignItems:"center","&:hover > div:last-child, &:focus-within > div:last-child":{display:"flex"}}}}function zt(t){let e=t.themeConfig.announcementBar;if(!e)return null;let n=e.id?e.id:"",o=[{span:e.text}];return e.dismissible!==!1&&o.push({button:"\u2715",type:"button",dataDismissAnnouncement:"",ariaLabel:"Dismiss",style:{background:"none",border:"none",color:D,cursor:"pointer",fontSize:"14px",opacity:".7",padding:`${r(.5)} ${r(1.5)}`,borderRadius:r(1),flexShrink:"0","&:hover":{opacity:"1"}}}),{div:o,class:"dp-announcement",...n?{dataId:n}:{},style:{display:"flex",alignItems:"center",justifyContent:"center",gap:r(3),padding:`${r(2.5)} ${r(6)}`,background:E,color:D,fontSize:"14px",fontWeight:"500",textAlign:"center","& a":{color:D,fontWeight:"700"}}}}function $e(t){let{config:e,route:n}=t;if(!e.locales)return null;let o=Object.entries(e.locales);if(o.length<=1)return null;let s="/",i=n;for(let[p]of o)if(p!=="/"&&n.startsWith(p.replace(/\/$/,""))){s=p,i=n.slice(p.replace(/\/$/,"").length)||"/";break}let a=e.locales[s];if(!a)return null;let c=o.map(([p,m])=>{let u=(p==="/"?"":p.replace(/\/$/,""))+(i==="/"?"/":i),h=p===s;return{a:m.label,href:u,...h?{ariaCurrent:"true"}:{},lang:m.lang,style:{display:"block",padding:`${r(1.25)} ${r(2.5)}`,borderRadius:r(1.25),fontSize:"13px",color:y,...h?{color:E,fontWeight:"600"}:{},"&:hover":{background:U,color:M,textDecoration:"none"}}}}),l=pt({display:"none",position:"absolute",top:`calc(100% + ${r(2)})`,right:"0",background:w,border:`1px solid ${b}`,borderRadius:r(2),padding:r(1.5),minWidth:r(32),zIndex:"200",flexDirection:"column",gap:r(.5),boxShadow:"0 4px 16px rgba(0,0,0,.1)"});return{div:[{span:["\u{1F310} ",a.label],style:{color:y,fontSize:"13px",fontWeight:"500",cursor:"pointer",userSelect:"none",padding:`${r(1)} ${r(2)}`,border:`1px solid ${b}`,borderRadius:r(1.5),background:w,whiteSpace:"nowrap",display:"flex",alignItems:"center",gap:r(1),"&::after":{content:'" \u25BE"',fontSize:"10px",opacity:".6"}}},{div:c,style:l}],ariaLabel:"Select language",style:{position:"relative",display:"flex",alignItems:"center","&:hover > div:last-child, &:focus-within > div:last-child":{display:"flex"}}}}function Ft(t){let{config:e}=t,n=e.themeConfig.search!==!1,o=e.themeConfig.logo,s=o?typeof o=="string"?[{img:null,src:o,alt:e.title,style:{height:r(7),width:"auto",display:"block"}}]:[{img:null,src:o.light,alt:e.title,class:"dp-logo-light",style:{height:r(7),width:"auto",display:"block"}},{img:null,src:o.dark,alt:e.title,class:"dp-logo-dark",style:{height:r(7),width:"auto",display:"block"}}]:[],i={fontWeight:"700",fontSize:"18px",color:R,whiteSpace:"nowrap",flexShrink:"0",textDecoration:"none","&:hover":{textDecoration:"none"}},a=o?{a:s,href:e.base,style:i}:{a:e.title,href:e.base,style:i},c=(e.themeConfig.socialLinks??[]).map(xe),l=$e(t);return{header:[a,fe(),{nav:e.themeConfig.nav.map(p=>p.items?ke(p):gt(p.text,p.link)),$:[ct({gap:4})],ariaLabel:"Primary",style:{"& a":{color:y,fontSize:"14px",fontWeight:"500",whiteSpace:"nowrap",lineHeight:"1"},"& a:hover, & a[aria-current='page']":{color:E,textDecoration:"none"},"@media (max-width: 860px)":{display:"none"}}},{div:[...n?[{div:[{input:null,type:"search",placeholder:typeof e.themeConfig.search=="object"&&e.themeConfig.search.placeholder||"Search...",ariaLabel:"Search documentation",style:{width:"100%",height:r(8),padding:`0 ${r(2.5)}`,border:`1px solid ${b}`,borderRadius:r(1.5),background:w,color:y,fontSize:"13px",fontFamily:"inherit",outline:"none",cursor:"pointer","&::placeholder":{color:y}}}],dataIsland:"search",style:{width:r(50),"@media (max-width: 860px)":{width:r(35)}}}]:[],...c,...l?[l]:[],{button:"\u25D0",type:"button",ariaLabel:"Toggle dark mode",dataThemeToggle:"",style:{border:`1px solid ${b}`,background:w,color:M,borderRadius:r(2),width:r(8.5),height:r(8.5),cursor:"pointer",fontSize:"16px",flexShrink:"0"}},{button:"\u2630",type:"button",ariaLabel:"Toggle menu",dataMenuToggle:"",style:{border:`1px solid ${b}`,background:w,color:M,borderRadius:r(2),width:r(8.5),height:r(8.5),cursor:"pointer",fontSize:"16px",flexShrink:"0",display:"none","@media (max-width: 860px)":{display:"block"}}}],$:[ct({gap:2})],style:{flexShrink:"0"}}],$:[ct({gap:4})],style:{position:"sticky",top:"0",height:A,background:D,borderBottom:`1px solid ${b}`,zIndex:"100",padding:`0 ${r(6)}`,"@media (max-width: 860px)":{padding:`0 ${r(3)}`}}}}function ut(t){let e={tip:E,info:y,warning:$("shift-9","warning"),danger:$("shift-9","danger")},n={tip:`color-mix(in srgb,${E} 12%,${D})`,info:U,warning:`color-mix(in srgb,${$("shift-9","warning")} 12%,${D})`,danger:`color-mix(in srgb,${$("shift-9","danger")} 12%,${D})`},o=t.type??"tip";return{span:t.text,style:{display:"inline-block",padding:`${r(.5)} ${r(1.75)}`,borderRadius:r(2.5),fontSize:"11px",fontWeight:"700",lineHeight:"1.4",whiteSpace:"nowrap",verticalAlign:"middle",background:n[o]??U,color:e[o]??y}}}function dt(t,e,n){return n?{a:[{span:t},ut(n)],href:e,$:[jt({href:e})],style:{display:"flex",alignItems:"center"}}:gt(t,e)}function Se(t){let e=[],n=t.items&&t.items.length>0;if(t.link)e.push(dt(t.text,t.link,t.badge));else{let s=[{span:t.text}];t.badge&&s.push(ut(t.badge)),n&&s.push({button:t.collapsed?"\u203A":"\u2039",type:"button",ariaLabel:t.collapsed?"Expand":"Collapse",dataSidebarToggle:"",style:{marginLeft:"auto",background:"none",border:"none",cursor:"pointer",color:y,fontSize:"14px",padding:`0 ${r(1)}`,lineHeight:"1","&:hover":{color:M}}}),e.push({div:s,style:{display:"flex",alignItems:"center",gap:r(1.5),fontSize:"13px",fontWeight:"700",color:R,margin:`${r(2)} 0 ${r(1)}`}})}if(t.items){let s=[];for(let i of t.items)if(i.items){s.push({div:i.text,style:{fontSize:"12px",color:y,padding:`${r(1)} ${r(3)}`,fontWeight:"600"}});for(let a of i.items)a.link&&s.push(dt(a.text,a.link,a.badge))}else i.link&&s.push(dt(i.text,i.link,i.badge));e.push({div:s,class:"dp-sidebar-items",style:{display:"flex",flexDirection:"column"}})}let o=["dp-sidebar-group",n&&t.collapsed?"collapsed":""].filter(Boolean).join(" ");return{div:e,class:o,style:{marginBottom:r(3.5)}}}function ve(t){return{nav:O(t.route,t.config).map(Se),ariaLabel:"Documentation",style:{position:"sticky",top:A,maxHeight:`calc(100vh - ${A})`,overflowY:"auto",padding:`${r(6)} ${r(3)} ${r(12)} ${r(6)}`,borderRight:`1px solid ${b}`,"& a":{display:"flex",alignItems:"center",gap:r(1.5),padding:`${r(1.25)} ${r(3)}`,fontSize:"14px",color:y,borderRadius:r(1.5)},"& a:hover":{color:M,textDecoration:"none"},"& a[aria-current='page']":{color:E,fontWeight:"600",background:w},"@media (max-width: 860px)":{position:"fixed",top:A,left:"0",bottom:"0",width:"80%",maxWidth:r(80),background:D,zIndex:"25",transform:"translateX(-100%)",transition:"transform .2s ease",maxHeight:"none"}}}}function we(t){if(t.frontmatter.aside===!1)return null;let[e,n]=t.config.themeConfig.outline?.level??[2,3],o=t.toc.filter(a=>a.level>=e&&a.level<=n);if(o.length===0)return null;let s=t.config.themeConfig.tocTitle??"On this page",i={2:"0",3:r(3),4:r(6)};return{aside:[{div:s,style:{fontWeight:"700",marginBottom:r(2),color:M}},{nav:o.map(a=>({a:a.text,href:`#${a.slug}`,style:{display:"block",padding:`${r(.75)} 0`,color:y,paddingLeft:i[a.level]??"0","&:hover":{color:E,textDecoration:"none"}}}))}],style:{position:"sticky",top:A,maxHeight:`calc(100vh - ${A})`,overflowY:"auto",padding:`${r(8)} ${r(6)}`,fontSize:"13px"}}}function Ee(t){let{prev:e,next:n}=J(t.route,t.config);if(!e&&!n)return null;let o=pt({display:"block",padding:`${r(3)} ${r(4)}`,border:`1px solid ${b}`,borderRadius:r(2),fontWeight:"600",flex:"1","&:hover":{borderColor:E,textDecoration:"none"}});return{nav:[e?{a:[{small:"Previous",style:{display:"block",color:y,fontWeight:"400",fontSize:"12px"}},{span:e.text}],href:e.link,style:o}:{span:""},n?{a:[{small:"Next",style:{display:"block",color:y,fontWeight:"400",fontSize:"12px"}},{span:n.text}],href:n.link,style:{...o,textAlign:"right"}}:{span:""}],ariaLabel:"Page navigation",style:{display:"flex",justifyContent:"space-between",gap:r(4),marginTop:r(12),paddingTop:r(6),borderTop:`1px solid ${b}`}}}function Ce(t){let{editLink:e}=t.config.themeConfig,n=t.config.lastUpdated,o=e&&t.filePath,s=n&&t.lastUpdated;if(!o&&!s&&!t.readingTime)return null;let i=[];if(s){let c=new Date(t.lastUpdated).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});i.push({span:["Last updated: ",{time:c,dateTime:t.lastUpdated}]})}if(t.readingTime&&i.push({span:`\u{1F4D6} ${t.readingTime} min read`}),o){let c=e.pattern.replace(/:path/g,t.filePath);i.push({a:e.text??"Edit this page",href:c,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:"500",fontSize:"13px"}})}return{div:i,style:{display:"flex",alignItems:"center",gap:r(4),flexWrap:"wrap",marginTop:r(8),paddingTop:r(5),borderTop:`1px solid ${b}`,fontSize:"13px",color:y}}}function De(t){let e=t.badge;if(!e)return null;let n=typeof e=="string"?e:e.text??"",o=typeof e=="object"?e.type??"tip":"tip";return n?ut({text:n,type:o}):null}function B(t,e,n){let o=t.config.themeConfig.slots?.[e];return o?o(t):n(t)}function Wt(t){return{div:t,style:{maxWidth:At,"& h1":{fontSize:"30px",fontWeight:"700",lineHeight:"1.25",margin:`0 0 ${r(6)}`,letterSpacing:"-.02em",color:R},"& h2":{fontSize:"22px",fontWeight:"700",margin:`${r(11)} 0 ${r(4)}`,paddingTop:r(5),borderTop:`1px solid ${b}`,letterSpacing:"-.01em",color:R},"& h3":{fontSize:"18px",fontWeight:"600",margin:`${r(7)} 0 ${r(3)}`,color:R},"& h4":{fontSize:"16px",fontWeight:"600",margin:`${r(5.5)} 0 ${r(2)}`,color:R},"& p":{margin:`${r(4)} 0`},"& ul, & ol":{margin:`${r(4)} 0`,paddingLeft:"1.4em"},"& li":{margin:`${r(1.5)} 0`},"& a":{fontWeight:"500"},"& a[target='_blank']::after":{content:'" \u2197"',fontSize:".75em",opacity:".6"},"& strong":{fontWeight:"600",color:R},"& em":{fontStyle:"italic"},"& mark":{background:`color-mix(in srgb,${$("shift-6","warning")} 40%,${D})`,color:"inherit",padding:`${r(.25)} ${r(.75)}`,borderRadius:r(.75)},"& sup":{fontSize:".75em",verticalAlign:"super"},"& sub":{fontSize:".75em",verticalAlign:"sub"},"& del":{opacity:".5"},"& blockquote":{margin:`${r(4)} 0`,padding:`0 ${r(4)}`,borderLeft:`3px solid ${b}`,color:y},"& img":{maxWidth:"100%",height:"auto",borderRadius:r(1.5)},"& hr":{border:"none",borderTop:`1px solid ${b}`,margin:`${r(8)} 0`},"& :not(pre)>code":{fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace',fontSize:".85em",background:U,padding:`${r(.75)} ${r(1.5)}`,borderRadius:r(1)},"& pre":{margin:`${r(4)} 0`,padding:`${r(4)} ${r(5)}`,background:w,border:`1px solid ${b}`,borderRadius:r(2),overflowX:"auto",fontSize:"13.5px",lineHeight:"1.5"},"& pre code":{fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace',background:"none",padding:"0"},"& table":{borderCollapse:"collapse",margin:`${r(4)} 0`,display:"block",overflowX:"auto"},"& th, & td":{border:`1px solid ${b}`,padding:`${r(2)} ${r(3.5)}`,textAlign:"left"},"& th":{background:w,fontWeight:"600"}}}}function mt(t){let e=t.frontmatter.sidebar!==!1,n=[],o=De(t.frontmatter);o&&n.push({div:[o],style:{marginBottom:r(-2)}}),n.push(Wt(t.body));let s=B(t,"prevNext",Ee);s&&n.push(s);let i=B(t,"docFooter",Ce);i&&n.push(i);let a=e?B(t,"sidebar",ve):null,c=e?{padding:`${r(8)} ${r(12)} ${r(20)}`,minWidth:"0","@media (max-width: 860px)":{padding:`${r(6)} ${r(5)} ${r(16)}`}}:{padding:`${r(8)} ${r(12)} ${r(20)}`,gridColumn:"1 / -1",maxWidth:At,margin:"0 auto","@media (max-width: 860px)":{padding:`${r(6)} ${r(5)} ${r(16)}`}},l=[...a?[a]:[],{main:n,style:c}],p=B(t,"aside",we);p&&e&&l.push(p);let m=B(t,"header",Ft),d=zt(t.config),u=t.config.themeConfig.slots,h=u?.footer?u.footer(t):{footer:t.config.themeConfig.footerMessage??"",style:{padding:`${r(6)} ${r(12)}`,borderTop:`1px solid ${b}`,color:y,fontSize:"13px"}};return{div:[...d?[d]:[],...m?[m]:[],{div:l,style:{display:"grid",gridTemplateColumns:e?`${_t} minmax(0,1fr) ${ye}`:"1fr",alignItems:"start",maxWidth:"1440px",margin:"0 auto","@media (max-width: 1200px)":e?{gridTemplateColumns:`${_t} minmax(0,1fr)`}:{},"@media (max-width: 860px)":{gridTemplateColumns:"1fr"}}},...h?[h]:[]]}}function Te(t){let e=[];if(t.name&&e.push({div:t.name,style:{fontSize:"56px",fontWeight:"800",lineHeight:"1.1",letterSpacing:"-.03em",background:`linear-gradient(120deg,${E},${$("shift-7","secondary")})`,WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent"}}),t.text&&e.push({h1:t.text,style:{fontSize:"30px",fontWeight:"700",margin:`${r(3)} 0 0`,color:R}}),t.tagline&&e.push({p:t.tagline,style:{fontSize:"18px",color:y,maxWidth:r(160),margin:`${r(5)} auto 0`}}),t.actions?.length){let n=o=>!o||o==="brand"?{padding:`${r(2.5)} ${r(5.5)}`,borderRadius:r(5.5),fontWeight:"600",fontSize:"15px",background:E,color:D,"&:hover":{background:he,textDecoration:"none"}}:{padding:`${r(2.5)} ${r(5.5)}`,borderRadius:r(5.5),fontWeight:"600",fontSize:"15px",background:w,color:M,border:`1px solid ${b}`,"&:hover":{borderColor:E,textDecoration:"none"}};e.push({div:t.actions.map(o=>({a:o.text,href:o.link,style:n(o.theme)})),style:{display:"flex",gap:r(3),justifyContent:"center",marginTop:r(7),flexWrap:"wrap"}})}return{section:e,style:{textAlign:"center",padding:`${r(10)} 0 ${r(6)}`}}}function Le(t){return{div:t.map(e=>{let n=[];e.icon&&n.push({div:e.icon,style:{fontSize:"28px",marginBottom:r(3)}}),n.push({div:e.title,style:{fontWeight:"700",fontSize:"17px",marginBottom:r(2),color:R}}),n.push({p:e.details,style:{fontSize:"14px",color:y,margin:"0",lineHeight:"1.5"}});let o={padding:r(5),background:w,border:`1px solid ${b}`,borderRadius:r(3)},s={div:n,style:o};return e.link?{a:[s],href:e.link,style:{display:"block",color:"inherit","&:hover":{textDecoration:"none"},"&:hover > div":{borderColor:E}}}:s}),style:{display:"grid",gridTemplateColumns:`repeat(auto-fit,minmax(${r(60)},1fr))`,gap:r(4),margin:`${r(10)} 0`}}}function ft(t){let e=[],n=t.frontmatter.hero,o=t.frontmatter.features;n&&e.push(Te(n)),o?.length&&e.push(Le(o)),e.push(Wt(t.body));let s=zt(t.config);return{div:[...s?[s]:[],Ft(t),{main:e,style:{maxWidth:"1100px",margin:"0 auto",padding:`${r(12)} ${r(6)} ${r(20)}`}},{footer:t.config.themeConfig.footerMessage??"",style:{padding:`${r(6)} ${r(12)}`,borderTop:`1px solid ${b}`,color:y,fontSize:"13px"}}]}}import{readFileSync as Re}from"fs";import{dirname as Nt,extname as Ie,isAbsolute as Me,resolve as Pt}from"path";import{splitFrontmatter as _e,tokensToDomphy as je}from"@domphy/markdown";import Ae from"markdown-it";import ze from"markdown-it-container";import Ht from"markdown-it-emoji";import Fe from"markdown-it-include";import We from"markdown-it-mark";import Pe from"markdown-it-sub";import He from"markdown-it-sup";var Ne=Fe,Oe=We,Be=Pe,Ue=He,qe=Ht.full??Ht,Ge=/^<<<\s+(\S+?)(?:\s+\[([^\]]*)\])?\s*$/gm,Ke={".ts":"ts",".tsx":"tsx",".js":"js",".jsx":"jsx",".mjs":"js",".cjs":"js",".json":"json",".css":"css",".html":"html",".vue":"vue",".md":"markdown",".sh":"bash",".bash":"bash",".yml":"yaml",".yaml":"yaml",".rb":"ruby",".py":"python",".go":"go",".rs":"rust"};function Xe(t,e,n){return t.startsWith("@/")?Pt(Nt(n),t.slice(2)):Me(t)?t:Pt(e,t)}function Ye(t,e,n){return t.replace(Ge,(o,s,i)=>{let a=Xe(s,e,n),c="```",l;try{l=Re(a,"utf8")}catch{return[c,`Could not import: ${s}`,c].join(`
4
+ `)}let p=Ke[Ie(a).toLowerCase()]??"",m=i?`${p} [${i}]`:p;return[c+m,l.trimEnd(),c].join(`
5
+ `)})}function Je(t){return t.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/^\s*\n/,"")}var bt={tip:"TIP",warning:"WARNING",info:"INFO",danger:"DANGER",note:"NOTE",abstract:"ABSTRACT",success:"SUCCESS",question:"QUESTION",failure:"FAILURE",bug:"BUG",example:"EXAMPLE",quote:"QUOTE"};function ht(t,e){return t.slice(t.indexOf(e)+e.length).trim()}function Q(t,e,n,o,s,i){let a=new t(n,e,1);a.block=!0,s&&a.attrSet("class",s);let c=new t("inline","",0);c.content=i,c.children=[];let l=new t("text","",0);l.content=i,c.children.push(l);let p=new t(o,e,-1);return p.block=!0,[a,c,p]}function yt(t,e){let n=new t("html_block","",0);return n.content=e,n.block=!0,n}function Qe(t,e,n,o,s){let i=e[n];i.tag="div",i.attrSet("class","code-group");let a=e[o];a.tag="div";let c=[];for(let d=n+1;d<o;d++){let u=e[d];if(u.type!=="fence")continue;let h=(u.info??"").trim(),k=h.match(/\[([^\]]+)\]/),P=h.split(/\s+/,1)[0]??"";c.push({token:u,label:k?k[1]:P||"Code"})}if(c.length===0)return e.slice(n,o+1);let l=c.map((d,u)=>`<input type="radio" name="cg-${s}" id="cgt-${s}-${u}"${u===0?" checked":""}>`).join(""),p=c.map((d,u)=>`<label for="cgt-${s}-${u}">${N(d.label)}</label>`).join(""),m=[yt(t,`${l}<div class="tabs">${p}</div>`),yt(t,'<div class="blocks">')];return c.forEach(d=>{d.token.info=(d.token.info??"").replace(/\[[^\]]*\]/,"").trim(),m.push(d.token)}),m.push(yt(t,"</div>")),[i,...m,a]}function Ve(t){if(t.length===0)return t;let e=t[0].constructor,n=[],o=0,s=Object.keys(bt).join("|"),i=new RegExp(`^container_(${s})_open$`),a=new RegExp(`^container_(${s})_close$`);for(let c=0;c<t.length;c++){let l=t[c],p=l.type.match(i);if(p){let m=p[1];l.tag="div",l.attrSet("class",`custom-block ${m}`);let d=ht(l.info.trim(),m);n.push(l),n.push(...Q(e,"p","paragraph_open","paragraph_close","custom-block-title",d||bt[m]||m.toUpperCase()));continue}if(a.test(l.type)){l.tag="div",n.push(l);continue}if(l.type==="container_details_open"){l.tag="details",l.attrSet("class","custom-block details"),n.push(l),n.push(...Q(e,"summary","summary_open","summary_close",null,ht(l.info.trim(),"details")||"Details"));continue}if(l.type==="container_details_close"){l.tag="details",n.push(l);continue}if(l.type==="container_steps_open"){l.tag="div",l.attrSet("class","custom-block steps"),n.push(l);continue}if(l.type==="container_steps_close"){l.tag="div",n.push(l);continue}if(l.type==="container_card-grid_open"){l.tag="div",l.attrSet("class","custom-block card-grid"),n.push(l);continue}if(l.type==="container_card-grid_close"){l.tag="div",n.push(l);continue}if(l.type==="container_card_open"){l.tag="div",l.attrSet("class","custom-block card");let m=ht(l.info.trim(),"card");n.push(l),m&&n.push(...Q(e,"p","paragraph_open","paragraph_close","card-title",m));continue}if(l.type==="container_card_close"){l.tag="div",n.push(l);continue}if(l.type==="container_link-card_open"){let m=l.info.trim().slice(9).trim(),d=m.match(/^\[([^\]]+)\]\(([^)]+)\)/),u=d?d[2]:"#",h=d?d[1]:m;l.tag="a",l.attrSet("class","custom-block link-card"),l.attrSet("href",u),n.push(l),h&&n.push(...Q(e,"p","paragraph_open","paragraph_close","link-card-title",h));continue}if(l.type==="container_link-card_close"){l.tag="a",n.push(l);continue}if(l.type==="container_code-group_open"){let m=0,d=-1;for(let u=c;u<t.length;u++)if(t[u].type==="container_code-group_open")m++;else if(t[u].type==="container_code-group_close"&&(m--,m===0)){d=u;break}if(d===-1){n.push(l);continue}n.push(...Qe(e,t,c,d,o++)),c=d;continue}n.push(l)}return n}function Ze(t){if(t.length===0)return t;let e=t[0].constructor;for(let n=1;n<t.length;n++){let o=t[n];if(o.type!=="inline"||!o.children?.length)continue;let s=t[n-1];if(s?.type!=="list_item_open")continue;let i=o.children[0];if(i.type!=="text")continue;let a=i.content;if(!(a.startsWith("[ ] ")||a.startsWith("[x] ")||a.startsWith("[X] ")))continue;let l=a[1].toLowerCase()==="x";i.content=a.slice(4),o.content=o.content.replace(/^\[[ xX]\] /,""),s.attrSet("class",`${s.attrGet("class")??""} task-list-item`.trim());let p=new e("html_inline","",0);p.content=`<input type="checkbox"${l?" checked":""} disabled class="task-list-check" aria-label="${l?"done":"todo"}">`,o.children.unshift(p)}return t}function tn(t,e){let n=new Ae({html:!0,linkify:!0,typographer:!1});n.enable(["strikethrough","table"]),n.use(Ne,{root:t}),n.use(Oe),n.use(Be),n.use(Ue),n.use(qe);let o=()=>"",s=Object.keys(bt);for(let i of[...s,"details","code-group","steps","card","card-grid","link-card"])n.use(ze,i,{render:o});return n.core.ruler.push("press_containers",i=>(i.tokens=Ve(i.tokens),!0)),n.core.ruler.push("press_task_lists",i=>(i.tokens=Ze(i.tokens),!0)),n.core.ruler.push("press_fences",i=>{for(let a of i.tokens){if(a.type!=="fence")continue;let c=lt(a.content,a.info??"",e);a.type="html_block",a.content=c,a.tag=""}return!0}),n.core.ruler.push("press_external_links",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let c of a.children){if(c.type!=="link_open")continue;let l=c.attrGet("href")??"";(l.startsWith("http://")||l.startsWith("https://"))&&(c.attrSet("target","_blank"),c.attrSet("rel","noopener noreferrer"))}return!0}),n.core.ruler.push("press_image_lazy",i=>{for(let a of i.tokens)if(!(a.type!=="inline"||!a.children))for(let c of a.children)c.type==="image"&&c.attrSet("loading","lazy");return!0}),n}function en(t){let n=(t.split(/[\\/]/).pop()??t).replace(/\.md$/i,"");if(n.toLowerCase()==="index"){let o=t.split(/[\\/]/).filter(Boolean);return o[o.length-2]??n}return n}function nn(t){return t.find(e=>e.level===1)?.text}function Ot(t){return t.map(e=>{if(!e||typeof e!="object"||Array.isArray(e))return e;let n=e,o=Object.keys(n).find(i=>/^h[1-6]$/.test(i));if(o&&typeof n.id=="string"){let i=n.id,a=Array.isArray(n[o])?[...n[o]]:n[o]!=null?[n[o]]:[];return a.push({a:"#",href:`#${i}`,class:"header-anchor",ariaHidden:"true"}),{...n,[o]:a}}let s=Object.keys(n).find(i=>/^[a-z][a-z0-9]*$/.test(i)&&i!=="style"&&i!=="class"&&!i.startsWith("data")&&!i.startsWith("on")&&!i.startsWith("aria")&&!i.startsWith("_")&&i!=="$"&&i!=="href"&&i!=="src"&&i!=="id"&&i!=="type"&&i!=="name");return s&&Array.isArray(n[s])?{...n,[s]:Ot(n[s])}:e})}async function xt(t,e){let{filePath:n,docsDir:o,highlight:s}=e,i=Nt(n),{frontmatter:a,content:c}=_e(t),l=Je(c),p=Ye(l,i,o),d=tn(o,s).parse(p,{}),{body:u,toc:h}=je(d,{highlight:s}),k=Ot(u),ot=(typeof a.title=="string"?a.title:void 0)??nn(h)??en(n);return{frontmatter:a,body:k,toc:h,islands:[],title:ot}}import{readdirSync as on,statSync as rn}from"fs";import{join as sn,relative as an}from"path";function Bt(t){let e=[];for(let n of on(t)){let o=sn(t,n);if(rn(o).isDirectory()){if(new Set(["snippets","demos","node_modules",".git"]).has(n)||n.startsWith("."))continue;e.push(...Bt(o))}else n.endsWith(".md")&&n.toLowerCase()!=="readme.md"&&e.push(o)}return e}function Ut(t){let o=t.replace(/\\/g,"/").replace(/\.md$/,"").split("/");return o[o.length-1]==="index"?(o.pop(),o.length===0?"/":`/${o.join("/")}/`):`/${o.join("/")}`}function qt(t){return t==="/"?"index.html":`${t.replace(/^\/+/,"").replace(/\/+$/,"")}/index.html`}function V(t){let n=Bt(t).map(o=>{let s=an(t,o),i=Ut(s);return{route:i,outFile:qt(i),filePath:o}});return n.sort((o,s)=>o.route.localeCompare(s.route)),n}import{ElementNode as ln,RecordState as cn}from"@domphy/core";import{themeColor as Gt,themeSpacing as z}from"@domphy/theme";import{card as dn,inputSearch as pn,link as gn,menu as un,small as mn}from"@domphy/ui";var fn=3,hn=2,yn=1;function Xt(t){let e=[];for(let n of t.toLowerCase().split(/[^\p{L}\p{N}]+/u))n.length>=2&&e.push(n);return e}function kt(t,e,n,o){for(let s of Xt(n)){let i=t.get(s);i||(i=new Map,t.set(s,i));let a=i.get(e);(a===void 0||o>a)&&i.set(e,o)}}function $t(t){let e=[],n=new Map;for(let s of t){let i=e.length;e.push({route:s.route,pageTitle:s.title,heading:s.title,slug:"",isPage:!0}),kt(n,i,s.title,fn),kt(n,i,s.text,yn);for(let a of s.toc){let c=e.length;e.push({route:s.route,pageTitle:s.title,heading:a.text,slug:a.slug,isPage:!1}),kt(n,c,a.text,hn)}}let o={};for(let[s,i]of Array.from(n.entries()).sort((a,c)=>a[0]<c[0]?-1:1))o[s]=Array.from(i.entries()).sort((a,c)=>a[0]-c[0]).map(([a,c])=>[a,c]);return JSON.stringify({entries:e,postings:o})}function Yt(t,e,n=10){let o=JSON.parse(t),s=Xt(e);if(s.length===0)return[];let i=new Map,a=new Map;for(let l of s){let p=new Set;for(let m in o.postings){if(m!==l&&!m.startsWith(l))continue;let d=m===l;for(let[u,h]of o.postings[m]){let k=d?h:h*.5;i.set(u,(i.get(u)??0)+k),p.has(u)||(p.add(u),a.set(u,(a.get(u)??0)+1))}}}let c=[];for(let[l,p]of i){let m=o.entries[l],d=a.get(l)??0;c.push({route:m.route,pageTitle:m.pageTitle,heading:m.heading,slug:m.slug,isPage:m.isPage,score:d*100+p,href:m.slug?`${m.route}#${m.slug}`:m.route})}return c.sort((l,p)=>p.score!==l.score?p.score-l.score:l.route!==p.route?l.route<p.route?-1:1:l.isPage===p.isPage?0:l.isPage?-1:1),c.slice(0,n)}function Jt(t,e){return`dp-search-${t}-option-${e}`}var bn=0;function xn(t,e,n,o){let s=Jt(n,e);return{a:[{div:t.isPage?t.pageTitle:t.heading},t.isPage?null:{small:t.pageTitle,$:[mn({color:"neutral"})]}],href:t.href,role:"option",id:s,ariaSelected:i=>o.get("active",i)===e||void 0,onClick:()=>{o.set("open",!1)},onMouseEnter:()=>{o.set("active",e)},$:[gn({color:"neutral",accentColor:"primary"})],style:{display:"flex",flexDirection:"column",gap:z(1),paddingBlock:z(2),paddingInline:z(3),borderRadius:z(1),backgroundColor:i=>o.get("active",i)===e?Gt(i,"shift-3","primary"):Gt(i,"inherit","neutral")},_key:t.href}}function Kt(t,e){let n=t.get("index"),o=t.get("query"),s=n&&o.trim()?Yt(n,o,e):[];t.set("results",s),t.set("active",-1),t.set("open",s.length>0)}function Qt(t={}){let{indexUrl:e="/search-index.json",placeholder:n="Search docs\u2026",limit:o=10}=t,s=++bn,i=`dp-search-${s}-listbox`,a=new cn({index:null,query:"",results:[],open:!1,active:-1}),c=null;function l(d){d&&(a.set("open",!1),window.location.assign(d.href))}let p={input:null,type:"search",placeholder:n,autocomplete:"off",role:"combobox",ariaExpanded:d=>a.get("open",d)?"true":"false",ariaControls:i,ariaAutocomplete:"list",ariaActiveDescendant:d=>{let u=a.get("active",d);return u>=0?Jt(s,u):void 0},value:d=>a.get("query",d),onInput:d=>{a.set("query",d.target.value),c&&clearTimeout(c),c=setTimeout(()=>Kt(a,o),120)},onFocus:()=>{a.get("results").length>0&&a.set("open",!0)},onKeyDown:d=>{let u=a.get("results");if(d.key==="Escape"){a.set("open",!1),a.set("active",-1);return}if(d.key==="ArrowDown"){if(!u.length)return;d.preventDefault(),a.set("open",!0),a.set("active",(a.get("active")+1)%u.length);return}if(d.key==="ArrowUp"){if(!u.length)return;d.preventDefault(),a.set("active",(a.get("active")-1+u.length)%u.length);return}if(d.key==="Enter"){let h=a.get("active");l(h>=0?u[h]:u[0])}},$:[pn({color:"neutral",accentColor:"primary"})],style:{width:"100%"}},m={div:d=>a.get("open",d)?a.get("results",d).map((u,h)=>xn(u,h,s,a)):[],id:i,role:"listbox",$:[un({selectable:!1,color:"neutral"}),dn({color:"neutral"})],style:{display:d=>a.get("open",d)?"block":"none",position:"absolute",insetInlineStart:0,insetInlineEnd:0,marginBlockStart:z(1),maxHeight:z(80),overflowY:"auto",zIndex:"50"}};return{div:[p,m],role:"search",style:{position:"relative",display:"block",width:"100%"},_onMount:d=>{fetch(e).then(k=>k.text()).then(k=>{a.set("index",k),a.get("query").trim()&&Kt(a,o)}).catch(()=>{});let u=d.domElement,h=k=>{u.contains(k.target)||a.set("open",!1)};document.addEventListener("pointerdown",h),d.setMetadata("dpSearchHandler",h)},_onRemove:d=>{let u=d.getMetadata("dpSearchHandler");u&&document.removeEventListener("pointerdown",u),c&&clearTimeout(c)}}}function kn(t,e={}){for(;t.firstChild;)t.removeChild(t.firstChild);let n=new ln(Qt(e));return n.render(t),n}import{themeColor as $n,themeSpacing as Sn}from"@domphy/theme";var x=(t,e)=>$n(null,t,e),f=t=>Sn(t),F=x("inherit"),j=x("shift-1"),Z=x("shift-2"),I=x("shift-3"),q=x("shift-6"),St=x("shift-9"),vn=x("shift-11"),T=x("shift-9","primary"),wn=f(14);function vt(){return`
6
6
  /* ------------------------------------------------------------------ reset */
7
7
  *,*::before,*::after{box-sizing:border-box}
8
- html{scroll-behavior:smooth;scroll-padding-top:calc(${_} + ${o(4)})}
9
- body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:${v};color:${C};line-height:1.6;font-size:16px}
10
- a{color:${$};text-decoration:none}
8
+ html{scroll-behavior:smooth;scroll-padding-top:calc(${wn} + ${f(4)})}
9
+ body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:${F};color:${St};line-height:1.6;font-size:16px}
10
+ a{color:${T};text-decoration:none}
11
11
  a:hover{text-decoration:underline}
12
12
 
13
- /* -------------------------------------------------------- announcement bar */
14
- .dp-announcement{display:flex;align-items:center;justify-content:center;gap:${o(3)};padding:${o(2.5)} ${o(6)};background:${$};color:${v};font-size:14px;font-weight:500;text-align:center}
15
- .dp-announcement a{color:${v};font-weight:700}
16
- .dp-announcement-close{background:none;border:none;color:${v};cursor:pointer;font-size:14px;opacity:.7;padding:${o(.5)} ${o(1.5)};border-radius:${o(1)};flex-shrink:0}
17
- .dp-announcement-close:hover{opacity:1}
18
-
19
- /* ------------------------------------------------------------------ header */
20
- .dp-logo{font-weight:700;font-size:18px;color:${D};white-space:nowrap;flex-shrink:0}
21
- .dp-logo:hover{text-decoration:none}
22
- .dp-logo-img{height:${o(7)};width:auto;display:block}
23
- .dp-nav a{color:${y};font-size:14px;font-weight:500;white-space:nowrap;line-height:1}
24
- .dp-nav a:hover,.dp-nav a[aria-current="page"]{color:${$};text-decoration:none}
25
- .dp-nav-dropdown{position:relative;display:flex;align-items:center}
26
- .dp-nav-dropdown-label{color:${y};font-size:14px;font-weight:500;cursor:pointer;user-select:none}
27
- .dp-nav-dropdown-label::after{content:" \u25BE";font-size:10px;opacity:.6}
28
- .dp-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + ${o(2)});right:0;background:${x};border:1px solid ${f};border-radius:${o(2)};padding:${o(1.5)};min-width:${o(40)};z-index:100;flex-direction:column;gap:${o(.5)};box-shadow:0 4px 16px rgba(0,0,0,.1)}
29
- .dp-nav-dropdown-menu a{display:block;padding:${o(1.25)} ${o(2.5)};border-radius:${o(1.25)};font-size:13px}
30
- .dp-nav-dropdown-menu a:hover{background:${L}}
31
- .dp-nav-dropdown:hover .dp-nav-dropdown-menu,.dp-nav-dropdown:focus-within .dp-nav-dropdown-menu{display:flex}
32
- .dp-header-actions{flex-shrink:0}
33
- .dp-search-slot{width:${o(50)}}
34
- .dp-search-static{width:100%;height:${o(8)};padding:0 ${o(2.5)};border:1px solid ${f};border-radius:${o(1.5)};background:${x};color:${y};font-size:13px;font-family:inherit;outline:none;cursor:pointer}
35
- .dp-search-static::placeholder{color:${y}}
36
- .dp-theme-toggle,.dp-menu-toggle{border:1px solid ${f};background:${x};color:${C};border-radius:${o(2)};width:${o(8.5)};height:${o(8.5)};cursor:pointer;font-size:16px}
37
- .dp-menu-toggle{display:none}
38
-
39
- /* --------------------------------------------------------- locale switcher */
40
- .dp-locale-switcher{position:relative;display:flex;align-items:center}
41
- .dp-locale-current{color:${y};font-size:13px;font-weight:500;cursor:pointer;user-select:none;padding:${o(1)} ${o(2)};border:1px solid ${f};border-radius:${o(1.5)};background:${x};white-space:nowrap;display:flex;align-items:center;gap:${o(1)}}
42
- .dp-locale-current::after{content:" \u25BE";font-size:10px;opacity:.6}
43
- .dp-locale-menu{display:none;position:absolute;top:calc(100% + ${o(2)});right:0;background:${x};border:1px solid ${f};border-radius:${o(2)};padding:${o(1.5)};min-width:${o(32)};z-index:200;flex-direction:column;gap:${o(.5)};box-shadow:0 4px 16px rgba(0,0,0,.1)}
44
- .dp-locale-switcher:hover .dp-locale-menu,.dp-locale-switcher:focus-within .dp-locale-menu{display:flex}
45
- .dp-locale-option{display:block;padding:${o(1.25)} ${o(2.5)};border-radius:${o(1.25)};font-size:13px;color:${y}}
46
- .dp-locale-option:hover{background:${L};color:${C};text-decoration:none}
47
- .dp-locale-option.active{color:${$};font-weight:600}
48
-
49
- /* -------------------------------------------------- logo light/dark variant */
13
+ /* -------------------------------------------------------- logo theme variants */
14
+ /* dp-logo-light/dark classes set in layout.ts img elements */
50
15
  [data-theme="dark"] .dp-logo-light{display:none}
51
16
  [data-theme="light"] .dp-logo-dark,.dp-logo-dark{display:none}
52
17
  [data-theme="dark"] .dp-logo-dark{display:block}
53
18
 
54
- /* ------------------------------------------------------------ social links */
55
- .dp-social-link{display:inline-flex;align-items:center;justify-content:center;width:${o(8.5)};height:${o(8.5)};border-radius:${o(2)};color:${y};background:${x};border:1px solid ${f};font-size:10px;font-weight:700;flex-shrink:0}
56
- .dp-social-link:hover{color:${C};border-color:${y};text-decoration:none}
57
- .dp-social-icon{display:block;width:${o(4)};height:${o(4)};background:currentColor;flex-shrink:0}
19
+ /* ---------------------------------------------------------- social icon masks */
20
+ /* dp-social-icon + dp-icon-* classes set in layout.ts socialLinkEl */
21
+ .dp-social-icon{display:block;width:${f(4)};height:${f(4)};background:currentColor;flex-shrink:0}
58
22
  .dp-icon-github{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0 1 12 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.202 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.741 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0 1 12 6.836c.85.004 1.705.115 2.504.337 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.202 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.741 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z'/%3E%3C/svg%3E") center/contain no-repeat}
59
23
  .dp-icon-twitter{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.737-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat}
60
24
  .dp-icon-discord{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057c.01.044.032.084.064.107a19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01 10.2 10.2 0 0 0 .373.292.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057c.01.044.032.084.064.107a19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01 10.2 10.2 0 0 0 .373.292.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z'/%3E%3C/svg%3E") center/contain no-repeat}
61
25
 
62
- /* ------------------------------------------------------------------ layout */
63
- .dp-shell{display:grid;grid-template-columns:${He} minmax(0,1fr) ${un};align-items:start;max-width:1440px;margin:0 auto}
64
- .dp-sidebar{position:sticky;top:${_};max-height:calc(100vh - ${_});overflow-y:auto;padding:${o(6)} ${o(3)} ${o(12)} ${o(6)};border-right:1px solid ${f}}
65
- .dp-sidebar-group{margin-bottom:${o(3.5)}}
66
- .dp-sidebar-title{display:flex;align-items:center;gap:${o(1.5)};font-size:13px;font-weight:700;color:${D};margin:${o(2)} 0 ${o(1)}}
67
- .dp-sidebar-subtitle{font-size:12px;color:${y};padding:${o(1)} ${o(3)};font-weight:600}
68
- .dp-sidebar-items{display:flex;flex-direction:column}
69
- .dp-sidebar-toggle{margin-left:auto;background:none;border:none;cursor:pointer;color:${y};font-size:14px;padding:0 ${o(1)};line-height:1}
70
- .dp-sidebar-toggle:hover{color:${C}}
26
+ /* ------- sidebar collapsed state (JS toggles 'collapsed' class on group) ------- */
71
27
  .dp-sidebar-group.collapsed .dp-sidebar-items{display:none}
72
- .dp-sidebar a{display:flex;align-items:center;gap:${o(1.5)};padding:${o(1.25)} ${o(3)};font-size:14px;color:${y};border-radius:${o(1.5)}}
73
- .dp-sidebar a:hover{color:${C};text-decoration:none}
74
- .dp-sidebar a[aria-current="page"]{color:${$};font-weight:600;background:${x}}
75
- .dp-sidebar-link-with-badge{display:flex;align-items:center}
76
- .dp-main{padding:${o(8)} ${o(12)} ${o(20)};min-width:0}
77
- .dp-main-full{grid-column:1 / -1;max-width:${ge};margin:0 auto}
78
- .dp-content{max-width:${ge}}
79
- .dp-aside{position:sticky;top:${_};max-height:calc(100vh - ${_});overflow-y:auto;padding:${o(8)} ${o(6)};font-size:13px}
80
- .dp-aside-title{font-weight:700;margin-bottom:${o(2)};color:${C}}
81
- .dp-toc a{display:block;padding:${o(.75)} 0;color:${y}}
82
- .dp-toc a:hover{color:${$};text-decoration:none}
83
- .dp-toc-2{padding-left:0}
84
- .dp-toc-3{padding-left:${o(3)}}
85
- .dp-toc-4{padding-left:${o(6)}}
86
-
87
- /* -------------------------------------------------- card / link-card / card-grid */
88
- .custom-block.card{background:${x};border:1px solid ${f};border-radius:${o(3)};padding:${o(5)} ${o(6)};margin:${o(3)} 0}
89
- .custom-block.card .card-title{font-size:16px;font-weight:600;color:${D};margin:0 0 ${o(2)}}
90
- .custom-block.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(${o(56)},1fr));gap:${o(4)};margin:${o(4)} 0}
91
- a.custom-block.link-card{display:block;background:${x};border:1px solid ${f};border-radius:${o(3)};padding:${o(5)} ${o(6)};margin:${o(3)} 0;transition:border-color .15s,background .15s;text-decoration:none;color:${C}}
92
- a.custom-block.link-card:hover{border-color:${$};background:${L};text-decoration:none}
93
- a.custom-block.link-card .link-card-title{font-size:16px;font-weight:600;color:${$};margin:0 0 ${o(2)}}
94
- .custom-block.card-grid .custom-block.card,.custom-block.card-grid a.custom-block.link-card{margin:0}
95
-
96
- /* ------------------------------------------------------------------ badges */
97
- .dp-badge{display:inline-block;padding:${o(.5)} ${o(1.75)};border-radius:${o(2.5)};font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}
98
- .dp-badge-tip{background:color-mix(in srgb,${$} 12%,${v});color:${$}}
99
- .dp-badge-info{background:${L};color:${y}}
100
- .dp-badge-warning{background:color-mix(in srgb,${h("shift-9","warning")} 12%,${v});color:${h("shift-9","warning")}}
101
- .dp-badge-danger{background:color-mix(in srgb,${h("shift-9","danger")} 12%,${v});color:${h("shift-9","danger")}}
102
- .dp-page-badge{margin-left:${o(2)}}
103
- .dp-page-badge-row{margin-bottom:${o(-2)}}
104
28
 
105
- /* ------------------------------------------------------------------- prose */
106
- .dp-content h1{font-size:30px;font-weight:700;line-height:1.25;margin:0 0 ${o(6)};letter-spacing:-.02em;color:${D}}
107
- .dp-content h2{font-size:22px;font-weight:700;margin:${o(11)} 0 ${o(4)};padding-top:${o(5)};border-top:1px solid ${f};letter-spacing:-.01em;color:${D}}
108
- .dp-content h3{font-size:18px;font-weight:600;margin:${o(7)} 0 ${o(3)};color:${D}}
109
- .dp-content h4{font-size:16px;font-weight:600;margin:${o(5.5)} 0 ${o(2)};color:${D}}
110
- .dp-content p{margin:${o(4)} 0}
111
- .dp-content ul,.dp-content ol{margin:${o(4)} 0;padding-left:1.4em}
112
- .dp-content li{margin:${o(1.5)} 0}
113
- .dp-content a{font-weight:500}
114
- .dp-content strong{font-weight:600;color:${D}}
115
- .dp-content em{font-style:italic}
116
- .dp-content mark{background:color-mix(in srgb,${h("shift-6","warning")} 40%,${v});color:inherit;padding:${o(.25)} ${o(.75)};border-radius:${o(.75)}}
117
- .dp-content sup{font-size:.75em;vertical-align:super}
118
- .dp-content sub{font-size:.75em;vertical-align:sub}
119
- .dp-content del{opacity:.5}
120
- .dp-content blockquote{margin:${o(4)} 0;padding:0 ${o(4)};border-left:3px solid ${f};color:${y}}
121
- .dp-content img{max-width:100%;height:auto;border-radius:${o(1.5)}}
122
- .dp-content hr{border:none;border-top:1px solid ${f};margin:${o(8)} 0}
123
- .dp-content :not(pre)>code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:.85em;background:${L};padding:${o(.75)} ${o(1.5)};border-radius:${o(1)}}
124
- .dp-content pre{margin:${o(4)} 0;padding:${o(4)} ${o(5)};background:${x};border:1px solid ${f};border-radius:${o(2)};overflow-x:auto;font-size:13.5px;line-height:1.5}
125
- .dp-content pre code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;background:none;padding:0}
126
- .dp-content table{border-collapse:collapse;margin:${o(4)} 0;display:block;overflow-x:auto}
127
- .dp-content th,.dp-content td{border:1px solid ${f};padding:${o(2)} ${o(3.5)};text-align:left}
128
- .dp-content th{background:${x};font-weight:600}
29
+ /* ------- sidebar open state on mobile (JS sets html[data-sidebar="open"]) ------ */
30
+ @media(max-width:860px){
31
+ html[data-sidebar="open"] nav[aria-label="Documentation"]{transform:translateX(0)}
32
+ }
129
33
 
130
34
  /* -------------------------------------------------------- heading anchors */
131
- .header-anchor{opacity:0;margin-left:${o(2)};font-weight:400;font-size:.85em;color:${y};transition:opacity .15s}
35
+ .header-anchor{opacity:0;margin-left:${f(2)};font-weight:400;font-size:.85em;color:${q};transition:opacity .15s}
132
36
  :is(h1,h2,h3,h4,h5,h6):hover .header-anchor{opacity:1}
133
- .header-anchor:hover{color:${$};text-decoration:none}
134
-
135
- /* -------------------------------------------------------- external links */
136
- .dp-content a[target="_blank"]::after{content:" \u2197";font-size:.75em;opacity:.6}
137
-
138
- /* --------------------------------------------------------------- task lists */
139
- .task-list-item{list-style:none;margin-left:-1.4em;padding-left:1.8em;position:relative}
140
- .task-list-check{position:absolute;left:0;top:.25em;width:14px;height:14px;cursor:default;accent-color:${$}}
37
+ .header-anchor:hover{color:${T};text-decoration:none}
141
38
 
142
39
  /* ------------------------------------------------------------ code blocks */
143
- .code-block{margin:${o(4)} 0;border:1px solid ${f};border-radius:${o(2)};overflow:hidden}
144
- .code-block-title{display:flex;align-items:center;padding:${o(1.5)} ${o(4)};background:${L};border-bottom:1px solid ${f};font-size:12px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;color:${y}}
40
+ .code-block{margin:${f(4)} 0;border:1px solid ${I};border-radius:${f(2)};overflow:hidden}
41
+ .code-block-title{display:flex;align-items:center;padding:${f(1.5)} ${f(4)};background:${Z};border-bottom:1px solid ${I};font-size:12px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;color:${q}}
145
42
  .code-block-inner{position:relative}
146
- .code-block pre{margin:0;padding:${o(4)} ${o(5)};background:${x};border:none;border-radius:0;overflow-x:auto;font-size:13.5px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}
43
+ .code-block pre{margin:0;padding:${f(4)} ${f(5)};background:${j};border:none;border-radius:0;overflow-x:auto;font-size:13.5px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}
147
44
  .code-block code{font-family:inherit;background:none;padding:0;font-size:inherit}
148
45
  .code-block .line{display:inline-block;width:100%}
149
- .code-block .line.highlighted{background:color-mix(in srgb,${$} 10%,transparent)}
150
- .code-block .line.diff.add{background:color-mix(in srgb,${h("shift-7","success")} 12%,transparent)}
151
- .code-block .line.diff.add::before{content:"+ ";color:${h("shift-7","success")}}
152
- .code-block .line.diff.remove{background:color-mix(in srgb,${h("shift-9","danger")} 10%,transparent);opacity:.7}
153
- .code-block .line.diff.remove::before{content:"- ";color:${h("shift-9","danger")}}
154
- .code-block .line.highlighted.error{background:color-mix(in srgb,${h("shift-9","error")} 10%,transparent)}
155
- .code-block .line.highlighted.warning{background:color-mix(in srgb,${h("shift-7","warning")} 10%,transparent)}
46
+ .code-block .line.highlighted{background:color-mix(in srgb,${T} 10%,transparent)}
47
+ .code-block .line.diff.add{background:color-mix(in srgb,${x("shift-7","success")} 12%,transparent)}
48
+ .code-block .line.diff.add::before{content:"+ ";color:${x("shift-7","success")}}
49
+ .code-block .line.diff.remove{background:color-mix(in srgb,${x("shift-9","danger")} 10%,transparent);opacity:.7}
50
+ .code-block .line.diff.remove::before{content:"- ";color:${x("shift-9","danger")}}
51
+ .code-block .line.highlighted.error{background:color-mix(in srgb,${x("shift-9","error")} 10%,transparent)}
52
+ .code-block .line.highlighted.warning{background:color-mix(in srgb,${x("shift-7","warning")} 10%,transparent)}
156
53
  .code-block pre.has-focus .line:not(.focus){opacity:.4;filter:blur(.4px);transition:opacity .2s,filter .2s}
157
54
  .code-block pre.has-focus:hover .line{opacity:1;filter:none}
158
- .code-block .line-number{display:inline-block;min-width:2.5em;margin-right:1em;color:${y};text-align:right;user-select:none;font-size:.9em}
159
- .code-copy-btn{position:absolute;top:${o(2)};right:${o(2)};padding:${o(1)} ${o(2)};border-radius:${o(1.25)};border:1px solid ${f};background:${x};color:${y};cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s}
55
+ .code-block .line-number{display:inline-block;min-width:2.5em;margin-right:1em;color:${q};text-align:right;user-select:none;font-size:.9em}
56
+ .code-copy-btn{position:absolute;top:${f(2)};right:${f(2)};padding:${f(1)} ${f(2)};border-radius:${f(1.25)};border:1px solid ${I};background:${j};color:${q};cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s}
160
57
  .code-block-inner:hover .code-copy-btn{opacity:1}
161
- .code-copy-btn:hover{background:${L};color:${C}}
58
+ .code-copy-btn:hover{background:${Z};color:${St}}
162
59
 
163
60
  /* ------------------------------------------------------------- code groups */
164
- .code-group{margin:${o(4)} 0;border:1px solid ${f};border-radius:${o(2)};overflow:hidden}
61
+ .code-group{margin:${f(4)} 0;border:1px solid ${I};border-radius:${f(2)};overflow:hidden}
165
62
  .code-group>input[type="radio"]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
166
- .code-group .tabs{display:flex;gap:${o(.5)};padding:${o(1.5)} ${o(2)};background:${x};border-bottom:1px solid ${f};flex-wrap:wrap}
167
- .code-group .tabs label{padding:${o(1)} ${o(3)};font-size:13px;font-weight:500;color:${y};border-radius:${o(1.25)};cursor:pointer}
63
+ .code-group .tabs{display:flex;gap:${f(.5)};padding:${f(1.5)} ${f(2)};background:${j};border-bottom:1px solid ${I};flex-wrap:wrap}
64
+ .code-group .tabs label{padding:${f(1)} ${f(3)};font-size:13px;font-weight:500;color:${q};border-radius:${f(1.25)};cursor:pointer}
168
65
  .code-group .blocks>.code-block{display:none;margin:0;border:none;border-radius:0}
169
66
  .code-group .blocks>.code-block pre{border-radius:0}
170
- ${Array.from({length:8},(e,t)=>`.code-group>input:nth-of-type(${t+1}):checked~.blocks>.code-block:nth-child(${t+1})`).join(`,
67
+ ${Array.from({length:8},(t,e)=>`.code-group>input:nth-of-type(${e+1}):checked~.blocks>.code-block:nth-child(${e+1})`).join(`,
171
68
  `)}{display:block}
172
- ${Array.from({length:8},(e,t)=>`.code-group>input:nth-of-type(${t+1}):checked~.tabs>label:nth-child(${t+1})`).join(`,
173
- `)}{color:${$};background:${L}}
69
+ ${Array.from({length:8},(t,e)=>`.code-group>input:nth-of-type(${e+1}):checked~.tabs>label:nth-child(${e+1})`).join(`,
70
+ `)}{color:${T};background:${Z}}
71
+
72
+ /* ---------------------------------------------------------- card containers */
73
+ .custom-block.card{background:${j};border:1px solid ${I};border-radius:${f(3)};padding:${f(5)} ${f(6)};margin:${f(3)} 0}
74
+ .custom-block.card .card-title{font-size:16px;font-weight:600;color:${vn};margin:0 0 ${f(2)}}
75
+ .custom-block.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(${f(56)},1fr));gap:${f(4)};margin:${f(4)} 0}
76
+ a.custom-block.link-card{display:block;background:${j};border:1px solid ${I};border-radius:${f(3)};padding:${f(5)} ${f(6)};margin:${f(3)} 0;transition:border-color .15s,background .15s;text-decoration:none;color:${St}}
77
+ a.custom-block.link-card:hover{border-color:${T};background:${Z};text-decoration:none}
78
+ a.custom-block.link-card .link-card-title{font-size:16px;font-weight:600;color:${T};margin:0 0 ${f(2)}}
79
+ .custom-block.card-grid .custom-block.card,.custom-block.card-grid a.custom-block.link-card{margin:0}
174
80
 
175
81
  /* --------------------------------------------------------- custom blocks */
176
- .custom-block{margin:${o(4)} 0;padding:${o(3)} ${o(4)};border-radius:${o(2)};border:1px solid transparent;font-size:14.5px}
177
- .custom-block p{margin:${o(2)} 0}
178
- .custom-block-title{font-weight:700;margin:0 0 ${o(1)} !important;font-size:13px}
179
- .custom-block.tip,.custom-block.success{background:color-mix(in srgb,${$} 8%,${v});border-color:color-mix(in srgb,${$} 28%,transparent)}
180
- .custom-block.info,.custom-block.note,.custom-block.abstract{background:${x};border-color:${f}}
181
- .custom-block.warning,.custom-block.question{background:color-mix(in srgb,${h("shift-6","warning")} 10%,${v});border-color:${h("shift-6","warning")}}
182
- .custom-block.danger,.custom-block.failure,.custom-block.bug{background:color-mix(in srgb,${h("shift-7","danger")} 10%,${v});border-color:${h("shift-7","danger")}}
183
- .custom-block.example{background:color-mix(in srgb,${h("shift-7","secondary")} 10%,${v});border-color:${h("shift-7","secondary")}}
184
- .custom-block.quote{background:${x};border-color:${f};border-left-width:4px;border-radius:0 ${o(2)} ${o(2)} 0}
82
+ .custom-block{margin:${f(4)} 0;padding:${f(3)} ${f(4)};border-radius:${f(2)};border:1px solid transparent;font-size:14.5px}
83
+ .custom-block p{margin:${f(2)} 0}
84
+ .custom-block-title{font-weight:700;margin:0 0 ${f(1)} !important;font-size:13px}
85
+ .custom-block.tip,.custom-block.success{background:color-mix(in srgb,${T} 8%,${F});border-color:color-mix(in srgb,${T} 28%,transparent)}
86
+ .custom-block.info,.custom-block.note,.custom-block.abstract{background:${j};border-color:${I}}
87
+ .custom-block.warning,.custom-block.question{background:color-mix(in srgb,${x("shift-6","warning")} 10%,${F});border-color:${x("shift-6","warning")}}
88
+ .custom-block.danger,.custom-block.failure,.custom-block.bug{background:color-mix(in srgb,${x("shift-7","danger")} 10%,${F});border-color:${x("shift-7","danger")}}
89
+ .custom-block.example{background:color-mix(in srgb,${x("shift-7","secondary")} 10%,${F});border-color:${x("shift-7","secondary")}}
90
+ .custom-block.quote{background:${j};border-color:${I};border-left-width:4px;border-radius:0 ${f(2)} ${f(2)} 0}
185
91
  details.custom-block summary{cursor:pointer;font-weight:600}
186
92
 
187
93
  /* ------------------------------------------------------------------- steps */
188
94
  .custom-block.steps{background:none;border:none;padding:0}
189
95
  .custom-block.steps>ol{counter-reset:step;list-style:none;padding:0;margin:0}
190
- .custom-block.steps>ol>li{counter-increment:step;display:grid;grid-template-columns:${o(9)} 1fr;gap:0 ${o(4)};margin-bottom:${o(6)}}
191
- .custom-block.steps>ol>li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:${o(7.5)};height:${o(7.5)};border-radius:50%;background:${$};color:${v};font-size:13px;font-weight:700;flex-shrink:0}
96
+ .custom-block.steps>ol>li{counter-increment:step;display:grid;grid-template-columns:${f(9)} 1fr;gap:0 ${f(4)};margin-bottom:${f(6)}}
97
+ .custom-block.steps>ol>li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:${f(7.5)};height:${f(7.5)};border-radius:50%;background:${T};color:${F};font-size:13px;font-weight:700;flex-shrink:0}
192
98
 
193
99
  /* ----------------------------------------------------------------- mermaid */
194
- .dp-mermaid{margin:${o(5)} 0;text-align:center;overflow-x:auto}
100
+ .dp-mermaid{margin:${f(5)} 0;text-align:center;overflow-x:auto}
195
101
  .dp-mermaid svg{max-width:100%;height:auto}
196
102
 
197
- /* --------------------------------------------------------------- doc footer */
198
- .dp-doc-footer{display:flex;align-items:center;gap:${o(4)};flex-wrap:wrap;margin-top:${o(8)};padding-top:${o(5)};border-top:1px solid ${f};font-size:13px;color:${y}}
199
- .dp-edit-link{font-weight:500;font-size:13px}
200
- .dp-reading-time::before{content:"\u{1F4D6} "}
201
-
202
- /* --------------------------------------------------------------- prev/next */
203
- .dp-prevnext{display:flex;justify-content:space-between;gap:${o(4)};margin-top:${o(12)};padding-top:${o(6)};border-top:1px solid ${f}}
204
- .dp-prevnext a{display:block;padding:${o(3)} ${o(4)};border:1px solid ${f};border-radius:${o(2)};font-weight:600;flex:1}
205
- .dp-prevnext a:hover{border-color:${$};text-decoration:none}
206
- .dp-prevnext .next{text-align:right}
207
- .dp-prevnext small{display:block;color:${y};font-weight:400;font-size:12px}
208
-
209
- /* ----------------------------------------------------------------- footer */
210
- .dp-footer{padding:${o(6)} ${o(12)};border-top:1px solid ${f};color:${y};font-size:13px}
211
-
212
- /* ---------------------------------------------------------------- home page */
213
- .dp-main-home{max-width:1100px;margin:0 auto;padding:${o(12)} ${o(6)} ${o(20)}}
214
- .dp-hero{text-align:center;padding:${o(10)} 0 ${o(6)}}
215
- .dp-hero-name{font-size:56px;font-weight:800;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(120deg,${$},${h("shift-7","secondary")});-webkit-background-clip:text;background-clip:text;color:transparent}
216
- .dp-hero-text{font-size:30px;font-weight:700;margin:${o(3)} 0 0;color:${D}}
217
- .dp-hero-tagline{font-size:18px;color:${y};max-width:${o(160)};margin:${o(5)} auto 0}
218
- .dp-hero-actions{display:flex;gap:${o(3)};justify-content:center;margin-top:${o(7)};flex-wrap:wrap}
219
- .dp-hero-action{padding:${o(2.5)} ${o(5.5)};border-radius:${o(5.5)};font-weight:600;font-size:15px}
220
- .dp-hero-action.brand{background:${$};color:${v}}
221
- .dp-hero-action.brand:hover{background:${gn};text-decoration:none}
222
- .dp-hero-action.alt{background:${x};color:${C};border:1px solid ${f}}
223
- .dp-hero-action.alt:hover{border-color:${$};text-decoration:none}
224
- .dp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(${o(60)},1fr));gap:${o(4)};margin:${o(10)} 0}
225
- .dp-feature{padding:${o(5)};background:${x};border:1px solid ${f};border-radius:${o(3)}}
226
- .dp-feature-icon{font-size:28px;margin-bottom:${o(3)}}
227
- .dp-feature-title{font-weight:700;font-size:17px;margin-bottom:${o(2)};color:${D}}
228
- .dp-feature-details{font-size:14px;color:${y};margin:0;line-height:1.5}
229
- .dp-feature-link{display:block;color:inherit}
230
- .dp-feature-link:hover{text-decoration:none}
231
- .dp-feature-link:hover .dp-feature{border-color:${$}}
232
- .dp-home{max-width:${ge};margin:0 auto}
103
+ /* --------------------------------------------------------------- task lists */
104
+ .task-list-item{list-style:none;margin-left:-1.4em;padding-left:1.8em;position:relative}
105
+ .task-list-check{position:absolute;left:0;top:.25em;width:14px;height:14px;cursor:default;accent-color:${T}}
233
106
 
234
107
  /* ---------------------------------------------------------------- shiki dark */
235
108
  html[data-theme="dark"] .shiki,html[data-theme="dark"] .shiki span{color:var(--shiki-dark,inherit) !important}
236
-
237
- /* -------------------------------------------------------------- responsive */
238
- @media(max-width:1200px){
239
- .dp-shell{grid-template-columns:${He} minmax(0,1fr)}
240
- .dp-aside{display:none}
241
- }
242
- @media(max-width:860px){
243
- .dp-shell{grid-template-columns:1fr}
244
- .dp-menu-toggle{display:block}
245
- .dp-sidebar{position:fixed;top:${_};left:0;bottom:0;width:80%;max-width:${o(80)};background:${v};z-index:25;transform:translateX(-100%);transition:transform .2s ease;max-height:none}
246
- html[data-sidebar="open"] .dp-sidebar{transform:translateX(0)}
247
- .dp-nav{display:none}
248
- .dp-main{padding:${o(6)} ${o(5)} ${o(16)}}
249
- .dp-search-slot{width:${o(35)}}
250
- }
251
- `}var wn=Be(yn(import.meta.url));function q(e,t){if(e!=null){if(typeof e=="string"){e.trimStart().startsWith("<")||t.push(e);return}if(typeof e=="number"){t.push(String(e));return}if(Array.isArray(e)){for(let n of e)q(n,t);return}if(typeof e=="object")for(let[n,r]of Object.entries(e))n.startsWith("_")||n==="$"||n==="style"||n==="class"||n.startsWith("data")||n==="href"||n==="id"||q(r,t)}}function Sn(e){let t={};for(let n of e.split(";")){let r=n.indexOf(":");if(r===-1)continue;let s=n.slice(0,r).trim(),i=n.slice(r+1).trim();!s||!i||(t[s.replace(/-([a-z])/g,(a,l)=>l.toUpperCase())]=i)}return t}function fe(e){if(Array.isArray(e)){for(let n of e)fe(n);return}if(!e||typeof e!="object")return;let t=e;typeof t.style=="string"&&(t.style=Sn(t.style));for(let n of Object.values(t))n&&(typeof n=="object"||Array.isArray(n))&&fe(n)}function En(e){for(let t of e){if(!t||typeof t!="object"||Array.isArray(t))continue;let n=t;if("p"in n){let r=[];q(n.p,r);let s=r.join(" ").replace(/\s+/g," ").trim();if(s.length>10)return s.slice(0,160)}}return""}function Cn(e){return Math.max(1,Math.round(e.split(/\s+/).length/200))}function Dn(e){try{return $n(`git log -1 --format="%aI" -- "${e}"`,{encoding:"utf8",stdio:["pipe","pipe","ignore"],timeout:5e3}).trim()||void 0}catch{return}}async function Tn(e,t){if(!t)return;let n=I(wn,"islands.js"),r=`import{bootstrap}from${JSON.stringify(n)};bootstrap({search:{kind:"search",id:"search"}});`,s=I(e,"_press_islands_entry.js");me(e,{recursive:!0}),W(s,r,"utf8");let{build:i}=await import("esbuild");await i({entryPoints:{"press-islands":s},bundle:!0,splitting:!1,format:"esm",outdir:I(e,"assets"),entryNames:"[name]",minify:!0,sourcemap:!1,target:"es2020",define:{"process.env.NODE_ENV":'"production"'},logLevel:"error"}),Ue(s)}function Ln(e,t){return`<?xml version="1.0" encoding="UTF-8"?>
109
+ `}var jn=te(Rn(import.meta.url));function et(t,e){if(t!=null){if(typeof t=="string"){t.trimStart().startsWith("<")||e.push(t);return}if(typeof t=="number"){e.push(String(t));return}if(Array.isArray(t)){for(let n of t)et(n,e);return}if(typeof t=="object")for(let[n,o]of Object.entries(t))n.startsWith("_")||n==="$"||n==="style"||n==="class"||n.startsWith("data")||n==="href"||n==="id"||et(o,e)}}function An(t){let e={};for(let n of t.split(";")){let o=n.indexOf(":");if(o===-1)continue;let s=n.slice(0,o).trim(),i=n.slice(o+1).trim();!s||!i||(e[s.replace(/-([a-z])/g,(a,c)=>c.toUpperCase())]=i)}return e}function Et(t){if(Array.isArray(t)){for(let n of t)Et(n);return}if(!t||typeof t!="object")return;let e=t;typeof e.style=="string"&&(e.style=An(e.style));for(let n of Object.values(e))n&&(typeof n=="object"||Array.isArray(n))&&Et(n)}function zn(t){for(let e of t){if(!e||typeof e!="object"||Array.isArray(e))continue;let n=e;if("p"in n){let o=[];et(n.p,o);let s=o.join(" ").replace(/\s+/g," ").trim();if(s.length>10)return s.slice(0,160)}}return""}function Fn(t){return Math.max(1,Math.round(t.split(/\s+/).length/200))}function Wn(t){try{return En(`git log -1 --format="%aI" -- "${t}"`,{encoding:"utf8",stdio:["pipe","pipe","ignore"],timeout:5e3}).trim()||void 0}catch{return}}async function Pn(t,e){if(!e)return;let n=W(jn,"islands.js"),o=`import{bootstrap}from${JSON.stringify(n)};bootstrap({search:{kind:"search",id:"search"}});`,s=W(t,"_press_islands_entry.js");wt(t,{recursive:!0}),tt(s,o,"utf8");let{build:i}=await import("esbuild");await i({entryPoints:{"press-islands":s},bundle:!0,splitting:!1,format:"esm",outdir:W(t,"assets"),entryNames:"[name]",minify:!0,sourcemap:!1,target:"es2020",define:{"process.env.NODE_ENV":'"production"'},logLevel:"error"}),Zt(s)}function Hn(t,e){return`<?xml version="1.0" encoding="UTF-8"?>
252
110
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
253
- ${e.map(r=>` <url><loc>${r==="/"?`${t}/`:`${t}${r}`.replace(/\/+$/,"")+"/"}</loc></url>`).join(`
111
+ ${t.map(o=>` <url><loc>${o==="/"?`${e}/`:`${`${e}${o}`.replace(/\/+$/,"")}/`}</loc></url>`).join(`
254
112
  `)}
255
- </urlset>`}var Mn=`(function(){
113
+ </urlset>`}var Nn=`(function(){
256
114
  try{var t=localStorage.getItem('dp-theme');if(t)document.documentElement.setAttribute('data-theme',t);}catch(_){}
257
115
  addEventListener('click',function(e){
258
116
  var el=e.target.closest&&e.target.closest('[data-theme-toggle]');
@@ -269,29 +127,29 @@ addEventListener('click',function(e){
269
127
  addEventListener('DOMContentLoaded',function(){
270
128
  try{document.querySelectorAll('.dp-announcement[data-id]').forEach(function(b){if(localStorage.getItem('dp-dismiss-'+b.getAttribute('data-id')))b.remove();});}catch(_){}
271
129
  });
272
- })();`;function jn(e){return`<script type="module">import mermaid from '${typeof e=="object"&&e.cdn?e.cdn:"https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"}';mermaid.initialize({startOnLoad:false,theme:document.documentElement.getAttribute('data-theme')==='dark'?'dark':'default'});document.addEventListener('DOMContentLoaded',()=>mermaid.run({querySelector:'.dp-mermaid'}));</script>`}function _n(e,t,n,r,s,i){let a=n?`
273
- <script type="module" src="${t.base}assets/press-islands.js"></script>`:"",l=t.themeConfig.mermaid?jn(t.themeConfig.mermaid):"";return`<!DOCTYPE html>
130
+ })();`;function On(t){return`<script type="module">import mermaid from '${typeof t=="object"&&t.cdn?t.cdn:"https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"}';mermaid.initialize({startOnLoad:false,theme:document.documentElement.getAttribute('data-theme')==='dark'?'dark':'default'});document.addEventListener('DOMContentLoaded',()=>mermaid.run({querySelector:'.dp-mermaid'}));</script>`}function Bn(t,e,n,o,s,i){let a=n?`
131
+ <script type="module" src="${e.base}assets/press-islands.js"></script>`:"",c=e.themeConfig.mermaid?On(e.themeConfig.mermaid):"";return`<!DOCTYPE html>
274
132
  <html lang="${i}">
275
133
  <head>
276
134
  <meta charset="utf-8">
277
135
  <meta name="viewport" content="width=device-width, initial-scale=1">
278
- ${e.head}
279
- ${t.head.join(`
136
+ ${t.head}
137
+ ${e.head.join(`
280
138
  `)}
281
139
  ${s.join(`
282
140
  `)}
283
- ${l}
284
- <style>${r}</style>
285
- <style id="domphy-style">${e.css}</style>
286
- <script>${Mn}</script>
141
+ ${c}
142
+ <style>${o}</style>
143
+ <style id="domphy-style">${t.css}</style>
144
+ <script>${Nn}</script>
287
145
  </head>
288
146
  <body>
289
- <div id="domphy-app">${e.html}</div>${a}
147
+ <div id="domphy-app">${t.html}</div>${a}
290
148
  </body>
291
- </html>`}async function In(e){let{config:t,srcDir:n,outDir:r,publicDir:s}=e,i=t.themeConfig.search!==!1,a=!!t.lastUpdated,c=O(n).map(p=>({...p,localeKey:"/"}));if(t.locales)for(let[p,w]of Object.entries(t.locales)){if(p==="/")continue;let S=bn(n,p.replace(/^\//,"").replace(/\/$/,""));if(Oe(S))for(let E of O(S)){let T=p.replace(/\/$/,"");c.push({filePath:E.filePath,route:T+E.route,outFile:E.outFile==="index.html"?p.replace(/^\//,"")+"index.html":p.replace(/^\//,"")+E.outFile,localeKey:p})}}console.log(`Discovered ${c.length} pages.`);let g=await Q(),m=vn()+ue(),d=[],u=[];for(let p of c){let w=fn(p.filePath,"utf8"),S=await le(w,{filePath:p.filePath,docsDir:n,repoRoot:n,highlight:g});if(S.frontmatter.draft===!0){console.log(` \u21B7 ${p.route} (draft, skipped)`);continue}fe(S.body);let E=[];q(S.body,E);let T=E.join(" ").replace(/\s+/g," ").trim(),M=Cn(T),X=a?Dn(p.filePath):void 0,A=hn(n,p.filePath).replace(/\\/g,"/");d.push({route:p.route,outFile:p.outFile,title:S.title,localeKey:p.localeKey,doc:S,lastUpdated:X,readingTime:M,filePath:p.filePath,relPath:A}),u.push({route:p.route,title:S.title,text:T.slice(0,2e4),toc:S.toc})}let b=new Map,k=new Map,z=kn(d.map(p=>{let w=t.locales?.[p.localeKey],S=w?.themeConfig?{...t.themeConfig,...w.themeConfig}:t.themeConfig,E={...t,themeConfig:S},T=w?.lang??"en",M={route:p.route,title:p.title,body:p.doc.body,toc:p.doc.toc,frontmatter:p.doc.frontmatter,config:E,lastUpdated:p.lastUpdated,readingTime:p.readingTime,filePath:p.relPath},X=p.route==="/"||p.localeKey!=="/"&&p.route===p.localeKey,A=typeof p.doc.frontmatter.description=="string"?p.doc.frontmatter.description:En(p.doc.body)||t.description,H=w?.title??t.title,Y=p.title===H?H:`${p.title} | ${H}`,Ke=p.route==="/"?`${t.hostname}/`:`${t.hostname}${p.route}/`,Xe=Array.isArray(p.doc.frontmatter.head)?p.doc.frontmatter.head.filter(Ye=>typeof Ye=="string"):[];return b.set(p.route,Xe),k.set(p.route,T),{path:p.route,metadata:{title:Y,description:A,metadataBase:t.hostname,openGraph:{title:Y,description:A,url:p.route==="/"?"/":`${p.route}/`,siteName:H,type:"website"},twitter:{card:"summary",title:Y,description:A},alternates:{canonical:Ke}},page:()=>X?ie(M):re(M)}})),K=xn(z);Ue(r,{recursive:!0,force:!0}),me(r,{recursive:!0});let N=[],ye=0;for(let p of d)try{let w=await K.renderToString(p.route),S=b.get(p.route)??[],E=k.get(p.route)??"en",T=_n(w,t,i,m,S,E),M=I(r,p.outFile);me(Be(M),{recursive:!0}),W(M,T,"utf8"),ye+=T.length,w.status!==200&&console.warn(` ! ${p.route} -> status ${w.status}`)}catch(w){N.push({route:p.route,error:String(w.message||w)})}if(N.length>0){console.warn(`
292
- ${N.length} page(s) failed:`);for(let p of N)console.warn(` \u2717 ${p.route}: ${p.error}`)}await Tn(r,i),W(I(r,"search-index.json"),pe(u),"utf8"),s&&Oe(s)&&mn(s,r,{recursive:!0}),t.hostname&&W(I(r,"sitemap.xml"),Ln(d.map(p=>p.route),t.hostname),"utf8"),console.log(`Built ${d.length} pages (${(ye/1024).toFixed(0)} KB) \u2192 ${r}`)}import{createReadStream as G,existsSync as he,readFileSync as zn,statSync as An}from"fs";import{createServer as We}from"http";import{extname as be,join as P,normalize as Rn}from"path";var qe={".html":"text/html; charset=utf-8",".js":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".json":"application/json; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".txt":"text/plain; charset=utf-8",".map":"application/json; charset=utf-8",".xml":"application/xml; charset=utf-8"},Fn="<script>(function(){var es=new EventSource('/_dev/sse');es.onmessage=function(e){if(e.data==='reload')location.reload();};es.onerror=function(){setTimeout(function(){location.reload();},2000);};})();</script>";function Ge(e,t){let n=Rn(decodeURIComponent(t.split("?")[0])).replace(/^(\.\.[/\\])+/,""),r=be(n)?[P(e,n)]:[P(e,n,"index.html"),P(e,`${n}.html`)];for(let s of r)if(he(s)&&An(s).isFile())return s;return null}function Pn(e,t){let n=We((r,s)=>{let i=Ge(e,r.url??"/");if(!i){let a=P(e,"404.html");s.statusCode=404,s.setHeader("content-type","text/html; charset=utf-8"),he(a)?G(a).pipe(s):s.end("404 Not Found");return}s.statusCode=200,s.setHeader("content-type",qe[be(i)]??"application/octet-stream"),G(i).pipe(s)});return n.listen(t,()=>console.log(`DomphyPress preview: http://localhost:${t}/`)),n}function Nn(e,t){let n=new Set,r=We((s,i)=>{let a=s.url??"/";if(a==="/_dev/sse"){i.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),i.write(`data: connected
149
+ </html>`}async function Un(t){let{config:e,srcDir:n,outDir:o,publicDir:s}=t,i=e.themeConfig.search!==!1,a=!!e.lastUpdated,l=V(n).map(g=>({...g,localeKey:"/"}));if(e.locales)for(let[g,S]of Object.entries(e.locales)){if(g==="/")continue;let v=Ln(n,g.replace(/^\//,"").replace(/\/$/,""));if(Vt(v))for(let C of V(v)){let L=g.replace(/\/$/,"");l.push({filePath:C.filePath,route:L+C.route,outFile:C.outFile==="index.html"?`${g.replace(/^\//,"")}index.html`:g.replace(/^\//,"")+C.outFile,localeKey:g})}}console.log(`Discovered ${l.length} pages.`);let p=await at(),m=_n()+vt(),d=[],u=[];for(let g of l){let S=Dn(g.filePath,"utf8"),v=await xt(S,{filePath:g.filePath,docsDir:n,repoRoot:n,highlight:p});if(v.frontmatter.draft===!0){console.log(` \u21B7 ${g.route} (draft, skipped)`);continue}Et(v.body);let C=[];et(v.body,C);let L=C.join(" ").replace(/\s+/g," ").trim(),_=Fn(L),rt=a?Wn(g.filePath):void 0,H=Tn(n,g.filePath).replace(/\\/g,"/");d.push({route:g.route,outFile:g.outFile,title:v.title,localeKey:g.localeKey,doc:v,lastUpdated:rt,readingTime:_,filePath:g.filePath,relPath:H}),u.push({route:g.route,title:v.title,text:L.slice(0,2e4),toc:v.toc})}let h=new Map,k=new Map,P=Mn(d.map(g=>{let S=e.locales?.[g.localeKey],v=S?.themeConfig?{...e.themeConfig,...S.themeConfig}:e.themeConfig,C={...e,themeConfig:v},L=S?.lang??"en",_={route:g.route,title:g.title,body:g.doc.body,toc:g.doc.toc,frontmatter:g.doc.frontmatter,config:C,lastUpdated:g.lastUpdated,readingTime:g.readingTime,filePath:g.relPath},rt=g.route==="/"||g.localeKey!=="/"&&g.route===g.localeKey,H=typeof g.doc.frontmatter.description=="string"?g.doc.frontmatter.description:zn(g.doc.body)||e.description,X=S?.title??e.title,it=g.title===X?X:`${g.title} | ${X}`,re=g.route==="/"?`${e.hostname}/`:`${e.hostname}${g.route}/`,ie=Array.isArray(g.doc.frontmatter.head)?g.doc.frontmatter.head.filter(se=>typeof se=="string"):[];return h.set(g.route,ie),k.set(g.route,L),{path:g.route,metadata:{title:it,description:H,metadataBase:e.hostname,openGraph:{title:it,description:H,url:g.route==="/"?"/":`${g.route}/`,siteName:X,type:"website"},twitter:{card:"summary",title:it,description:H},alternates:{canonical:re}},page:()=>rt?ft(_):mt(_)}})),ot=In(P);Zt(o,{recursive:!0,force:!0}),wt(o,{recursive:!0});let K=[],Tt=0;for(let g of d)try{let S=await ot.renderToString(g.route),v=h.get(g.route)??[],C=k.get(g.route)??"en",L=Bn(S,e,i,m,v,C),_=W(o,g.outFile);wt(te(_),{recursive:!0}),tt(_,L,"utf8"),Tt+=L.length,S.status!==200&&console.warn(` ! ${g.route} -> status ${S.status}`)}catch(S){K.push({route:g.route,error:String(S.message||S)})}if(K.length>0){console.warn(`
150
+ ${K.length} page(s) failed:`);for(let g of K)console.warn(` \u2717 ${g.route}: ${g.error}`)}await Pn(o,i),tt(W(o,"search-index.json"),$t(u),"utf8"),s&&Vt(s)&&Cn(s,o,{recursive:!0}),e.hostname&&tt(W(o,"sitemap.xml"),Hn(d.map(g=>g.route),e.hostname),"utf8"),console.log(`Built ${d.length} pages (${(Tt/1024).toFixed(0)} KB) \u2192 ${o}`)}function qn(t){return{base:"/",srcDir:".",outDir:"dist",head:[],...t,themeConfig:Object.assign({nav:[],sidebar:{}},t.themeConfig)}}import{createReadStream as nt,existsSync as Ct,readFileSync as Gn,statSync as Kn}from"fs";import{createServer as ee}from"http";import{extname as Dt,join as G,normalize as Xn}from"path";var ne={".html":"text/html; charset=utf-8",".js":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".json":"application/json; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".txt":"text/plain; charset=utf-8",".map":"application/json; charset=utf-8",".xml":"application/xml; charset=utf-8"},Yn="<script>(function(){var es=new EventSource('/_dev/sse');es.onmessage=function(e){if(e.data==='reload')location.reload();};es.onerror=function(){setTimeout(function(){location.reload();},2000);};})();</script>";function oe(t,e){let n=Xn(decodeURIComponent(e.split("?")[0])).replace(/^(\.\.[/\\])+/,""),o=Dt(n)?[G(t,n)]:[G(t,n,"index.html"),G(t,`${n}.html`)];for(let s of o)if(Ct(s)&&Kn(s).isFile())return s;return null}function Jn(t,e){let n=ee((o,s)=>{let i=oe(t,o.url??"/");if(!i){let a=G(t,"404.html");s.statusCode=404,s.setHeader("content-type","text/html; charset=utf-8"),Ct(a)?nt(a).pipe(s):s.end("404 Not Found");return}s.statusCode=200,s.setHeader("content-type",ne[Dt(i)]??"application/octet-stream"),nt(i).pipe(s)});return n.listen(e,()=>console.log(`DomphyPress preview: http://localhost:${e}/`)),n}function Qn(t,e){let n=new Set,o=ee((s,i)=>{let a=s.url??"/";if(a==="/_dev/sse"){i.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),i.write(`data: connected
293
151
 
294
- `),n.add(i),s.on("close",()=>n.delete(i));return}let l=Ge(e,a);if(!l){i.statusCode=404,i.setHeader("content-type","text/html; charset=utf-8");let g=P(e,"404.html");he(g)?G(g).pipe(i):i.end("404 Not Found");return}let c=qe[be(l)]??"application/octet-stream";if(i.statusCode=200,i.setHeader("content-type",c),c.startsWith("text/html")){let g=zn(l,"utf8");i.end(g.replace("</body>",`${Fn}</body>`))}else G(l).pipe(i)});return r.listen(t,()=>console.log(`DomphyPress dev: http://localhost:${t}/ (live reload active)`)),{server:r,notify:()=>{for(let s of n)try{s.write(`data: reload
152
+ `),n.add(i),s.on("close",()=>n.delete(i));return}let c=oe(t,a);if(!c){i.statusCode=404,i.setHeader("content-type","text/html; charset=utf-8");let p=G(t,"404.html");Ct(p)?nt(p).pipe(i):i.end("404 Not Found");return}let l=ne[Dt(c)]??"application/octet-stream";if(i.statusCode=200,i.setHeader("content-type",l),l.startsWith("text/html")){let p=Gn(c,"utf8");i.end(p.replace("</body>",`${Yn}</body>`))}else nt(c).pipe(i)});return o.listen(e,()=>console.log(`DomphyPress dev: http://localhost:${e}/ (live reload active)`)),{server:o,notify:()=>{for(let s of n)try{s.write(`data: reload
295
153
 
296
- `)}catch{n.delete(s)}}}}export{pe as buildSearchIndex,In as buildSite,Q as createHighlighter,Je as defineConfig,O as discoverPages,Z as flattenSidebar,ie as homeShell,ln as mountSearch,Se as outFileForRoute,re as pageShell,ve as parseFenceInfo,ue as pressCSS,ee as prevNextForRoute,Fe as queryIndex,le as renderDoc,V as renderFence,we as routeForFile,Ne as searchWidget,U as sidebarForRoute,Nn as startDevServer,Pn as startServer};
154
+ `)}catch{n.delete(s)}}}}export{$t as buildSearchIndex,Un as buildSite,at as createHighlighter,qn as defineConfig,V as discoverPages,Y as flattenSidebar,ft as homeShell,kn as mountSearch,qt as outFileForRoute,mt as pageShell,Mt as parseFenceInfo,vt as pressCSS,J as prevNextForRoute,Yt as queryIndex,xt as renderDoc,lt as renderFence,Ut as routeForFile,Qt as searchWidget,O as sidebarForRoute,Qn as startDevServer,Jn as startServer};
297
155
  //# sourceMappingURL=index.js.map