for-humanity 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +4 -4
- package/dist/browser.js +6 -6
- package/dist/cli.js +22 -11
- package/package.json +1 -1
- package/src/component/widget/navigation/_constant/navigation-data-schema.ts +1 -0
- package/src/component/widget/navigation/_function/to-navigation-data/to-navigation-data.ts +1 -0
- package/src/component/widget/navigation/_type/navigation-data.ts +4 -0
- package/src/component/widget/shell-controls/wg-shell-controls.tsx +1 -1
- package/src/constant/site.ts +15 -0
- package/src/entry/cli/_constant/cli.ts +0 -5
- package/src/entry/cli/cli.test.ts +15 -0
- package/src/entry/cli/cli.ts +11 -11
- package/src/type/site-config.ts +9 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.8.0 — 2026-10-13
|
|
6
|
+
|
|
7
|
+
- Add a `cursorFace` site setting for the pixel face that follows the mouse on desktop. It is off by default; this documentation site turns it on.
|
|
8
|
+
- Add an optional `port` site setting for the `dev` and `preview` servers, defaulting to 4321, so two document projects can run side by side; `preview` now reads and validates the site configuration too.
|
|
9
|
+
|
|
5
10
|
## 0.7.1 — 2026-10-11
|
|
6
11
|
|
|
7
12
|
- Set Hangul in body text, labels, inline code and the site name in bundled IBM Plex Sans KR, the source of Monoplex KR's Hangul, at its natural width; Latin stays in Monoplex KR, and code blocks and flowcharts keep two-cell Hangul for the grid.
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ Write Markdown. Keep the context. Share a static site.
|
|
|
33
33
|
Node.js 22 or later and pnpm. Install the CLI in your document project:
|
|
34
34
|
|
|
35
35
|
```sh
|
|
36
|
-
pnpm add -D --save-exact for-humanity@0.
|
|
36
|
+
pnpm add -D --save-exact for-humanity@0.8.0
|
|
37
37
|
mkdir docs
|
|
38
38
|
```
|
|
39
39
|
|
|
@@ -52,7 +52,7 @@ pnpm exec for-humanity preview docs
|
|
|
52
52
|
|
|
53
53
|
If your Markdown files are in the project root, use `.` instead of `docs`. The root `README.md` becomes the home page; root `AGENTS.md` and `CLAUDE.md` stay out of the site.
|
|
54
54
|
|
|
55
|
-
Version `0.
|
|
55
|
+
Version `0.8.0` supports `dev`, `build` and `preview`. `init` is planned; see the [Roadmap](https://github.com/minu-ha/for-humanity/blob/main/templates/document/roadmap.md) and [Changelog](https://github.com/minu-ha/for-humanity/blob/main/CHANGELOG.md).
|
|
56
56
|
Cloudflare Pages can host the generated site. See [Deployment](https://github.com/minu-ha/for-humanity/blob/main/templates/document/deployment.md) for the build settings.
|
|
57
57
|
Set an optional public root `url` in the site configuration to generate `robots.txt` and `sitemap.xml`; projects without a URL emit neither file. See [Crawling](https://github.com/minu-ha/for-humanity/blob/main/templates/document/crawling.md).
|
|
58
58
|
|
|
@@ -75,12 +75,12 @@ pnpm preview # Preview the static site
|
|
|
75
75
|
pnpm build:pages # Add Cloudflare Pages headers and a 404 page
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
Changes pushed to `main` update the documentation site. A stable version tag such as `v0.
|
|
78
|
+
Changes pushed to `main` update the documentation site. A stable version tag such as `v0.8.0` runs checks, publishes the package to npm, then creates a GitHub Release with the same package file.
|
|
79
79
|
The npm README updates with each package release. See [Maintenance](https://github.com/minu-ha/for-humanity/blob/main/templates/document/maintenance.md#packaging-and-release) for the release steps.
|
|
80
80
|
|
|
81
81
|
## Make it yours
|
|
82
82
|
|
|
83
|
-
A document folder is enough to get started. Without a site configuration, the sidebar shows **for humanity**. The pixel face appears in the browser tab and follows the mouse on desktop
|
|
83
|
+
A document folder is enough to get started. Without a site configuration, the sidebar shows **for humanity**. The pixel face appears in the browser tab, and follows the mouse on desktop when the site sets `cursorFace: true`.
|
|
84
84
|
The folder's `README.md` becomes the home page at `/`, with no frontmatter required. Click the site name to return home.
|
|
85
85
|
This repository generates [the documentation home](https://github.com/minu-ha/for-humanity/blob/main/templates/document/README.md) from its root README.md and [the site changelog](https://github.com/minu-ha/for-humanity/blob/main/templates/document/changelog.md) from CHANGELOG.md. Edit those source files, then run `pnpm sync:docs`; `pnpm dev` and `pnpm build` also sync them on startup.
|
|
86
86
|
Set your own name in `for-humanity.config.mjs`:
|
package/dist/browser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var U=Symbol("RENDERER"),ee=Symbol("ERROR_HANDLER"),S=Symbol("STASH"),qe=Symbol("INTERNAL"),Xe=Symbol("MEMO"),_e=Symbol("PERMALINK");var bt=e=>(e[qe]=!0,e);var W={Stringify:1,BeforeStream:2,Stream:3},k=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},zo=/[&<>'"]/,ve=async(e,t)=>{let n="";t||=[];let r=await Promise.all(e);for(let o=r.length-1;n+=r[o],o--,!(o<0);o--){let i=r[o];typeof i=="object"&&t.push(...i.callbacks||[]);let a=i.isEscaped;if(i=await(typeof i=="object"?i.toString():i),typeof i=="object"&&t.push(...i.callbacks||[]),i.isEscaped??a)n+=i;else{let c=[n];G(i,c),n=c[0]}}return k(n,t)},G=(e,t)=>{let n=e.search(zo);if(n===-1){t[0]+=e;return}let r,o,i=0;for(o=n;o<e.length;o++){switch(e.charCodeAt(o)){case 34:r=""";break;case 39:r="'";break;case 38:r="&";break;case 60:r="<";break;case 62:r=">";break;default:continue}t[0]+=e.substring(i,o)+r,i=o+1}t[0]+=e.substring(i,o)},wt=e=>{let t=e.callbacks;if(!t?.length)return e;let n=[e],r={};return t.forEach(o=>o({phase:W.Stringify,buffer:n,context:r})),n[0]},ke=async(e,t,n,r,o)=>{typeof e=="object"&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let i=e.callbacks;if(!i?.length)return Promise.resolve(e);o?o[0]+=e:o=[e];let a=Promise.all(i.map(c=>c({phase:t,buffer:o,context:r}))).then(c=>Promise.all(c.filter(Boolean).map(f=>ke(f,t,!1,r,o))).then(()=>o[0]));return n?k(await a,i):a};var ye={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Ee={},Ze="data-precedence",Je=e=>e.rel==="stylesheet"&&"precedence"in e,Ye=(e,t)=>e==="link"?t:ye[e].length>0;var xn=Object.defineProperty,Qe=(e,t)=>{let n={};for(var r in e)xn(n,r,{get:e[r],enumerable:!0});return t||xn(n,Symbol.toStringTag,{value:"Module"}),n};var ue=e=>Array.isArray(e)?e:[e];var et=Qe({button:()=>To,form:()=>Ao,input:()=>Mo,link:()=>Po,meta:()=>Co,script:()=>Eo,style:()=>Zo,title:()=>ko}),bn=new WeakMap,wn=(e,t,n,r)=>({buffer:o,context:i})=>{if(!o)return;let a=bn.get(i)||{};bn.set(i,a);let c=a[e]||=[],f=!1,u=ye[e],p=Ye(e,r!==void 0);if(p){e:for(let[,s]of c)if(!(e==="link"&&!(s.rel==="stylesheet"&&s["data-precedence"]!==void 0))){for(let l of u)if((s?.[l]??null)===n?.[l]){f=!0;break e}}}if(f?o[0]=o[0].replaceAll(t,""):p||e==="link"?c.push([t,n,r]):c.unshift([t,n,r]),o[0].indexOf("</head>")!==-1){let s;if(e==="link"||r!==void 0){let l=[];s=c.map(([d,,m],h)=>{if(m===void 0)return[d,Number.MAX_SAFE_INTEGER,h];let _=l.indexOf(m);return _===-1&&(l.push(m),_=l.length-1),[d,_,h]}).sort((d,m)=>d[1]-m[1]||d[2]-m[2]).map(([d])=>d)}else s=c.map(([l])=>l);s.forEach(l=>{o[0]=o[0].replaceAll(l,"")}),o[0]=o[0].replace(/(?=<\/head>)/,()=>s.join(""))}},Pe=(e,t,n)=>F([new N(e,n,ue(t??[]))]),Ce=(e,t,n,r)=>{if("itemProp"in n)return Pe(e,t,n);let{precedence:o,blocking:i,...a}=n;o=r?o??"":void 0,r&&(a[Ze]=o);let c=new N(e,a,ue(t||[])).toString();return c instanceof Promise?c.then(f=>k(f,[...f.callbacks||[],wn(e,f,a,o)])):k(c,[wn(e,c,a,o)])},ko=({children:e,...t})=>{let n=tt();if(n){let r=M(n);if(r==="svg"||r==="head")return new N("title",t,ue(e??[]))}return Ce("title",e,t,!1)},Eo=({children:e,...t})=>{let n=tt();return["src","async"].some(r=>!t[r])||n&&M(n)==="head"?Pe("script",e,t):Ce("script",e,t,!1)},Zo=({children:e,...t})=>["href","precedence"].every(n=>n in t)?(t["data-href"]=t.href,delete t.href,Ce("style",e,t,!0)):Pe("style",e,t),Po=({children:e,...t})=>["onLoad","onError"].some(n=>n in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?Pe("link",e,t):Ce("link",e,t,Je(t)),Co=({children:e,...t})=>{let n=tt();return n&&M(n)==="head"?Pe("meta",e,t):Ce("meta",e,t,!1)},$n=(e,{children:t,...n})=>new N(e,n,ue(t??[])),Ao=e=>(typeof e.action=="function"&&(e.action=_e in e.action?e.action[_e]:void 0),$n("form",e)),Sn=(e,t)=>(typeof t.formAction=="function"&&(t.formAction=_e in t.formAction?t.formAction[_e]:void 0),$n(e,t)),Mo=e=>Sn("input",e),To=e=>Sn("button",e);var No=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),xe=e=>No.get(e)||e,Ro=/[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,$t=new Set,zn=1024,Oo=/^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,kn=new Set,Io=256,Ae=(e,t,n)=>{e.size>=t&&e.clear(),e.add(n)},Zn=e=>kn.has(e)?!0:typeof e!="string"?!1:e.length===0?!0:Oo.test(e)?!1:(Ae(kn,Io,e),!0),zt=e=>{if($t.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let r=e.charCodeAt(n);if(!(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===95||r===46||r===58))return Ro.test(e)?!1:(Ae($t,zn,e),!0)}return Ae($t,zn,e),!0},Lo=/[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/,St=new Set,En=1024,Do=e=>{if(St.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let r=e.charCodeAt(n);if(!(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===95))return Lo.test(e)?!1:(Ae(St,En,e),!0)}return Ae(St,En,e),!0},jo=/[;"'\\/\[\](){}]/,Fo=e=>{if(!jo.test(e))return!1;let t=0,n=[];for(let r=0,o=e.length;r<o;r++){let i=e.charCodeAt(r);if(i===92){if(r===o-1)return!0;r++}else if(t!==0){if(i===10||i===12||i===13)return!0;i===t&&(t=0)}else if(i===47&&e.charCodeAt(r+1)===42){let a=e.indexOf("*/",r+2);if(a===-1)return!0;r=a+1}else if(i===34||i===39)t=i;else if(i===40)n.push(41);else if(i===91)n.push(93);else{if(i===123||i===125)return!0;if(i===41||i===93){if(n[n.length-1]!==i)return!0;n.pop()}else if(i===59&&n.length===0)return!0}}return t!==0||n.length!==0},Me=(e,t)=>{for(let[n,r]of Object.entries(e)){let o=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`);if(!Do(o))continue;if(r==null){t(o,null);continue}let i;if(typeof r=="number")i=o.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?!.*gap)(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`;else if(typeof r=="string"){if(Fo(r))continue;i=r}else continue;t(o,i)}};var Te,tt=()=>Te,Bo=e=>/[A-Z]/.test(e)&&e.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,Uo=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Ho=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Pn=(e,t)=>e.then(n=>{if(typeof n!="string"&&!Array.isArray(n)&&!(n instanceof N))return n;let r=Array.isArray(n)?n:[n],o=()=>{let i=[""];return be(r,i),i.length===1?k(i[0],i.callbacks):ve(i,i.callbacks)};return t?t(o):Re(o)}),be=(e,t)=>{for(let n=0,r=e.length;n<r;n++){let o=e[n];if(typeof o=="string")G(o,t);else{if(typeof o=="boolean"||o===null||o===void 0)continue;if(o instanceof N)o.toStringToBuffer(t);else if(typeof o=="number")t[0]+=o;else if(o.isEscaped){t[0]+=o;let i=o.callbacks;i&&(t.callbacks||=[],t.callbacks.push(...i))}else o instanceof Promise?t.unshift("",o):be(o,t)}}},F=e=>Re(()=>{let t=[""];return be(e,t),t.length===1?k(t[0],t.callbacks):ve(t,t.callbacks)}),te=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof N)&&!(e instanceof Promise)&&!e.isEscaped&&typeof e.toString=="function",ne=e=>{let t=e.toString(),n=r=>F([String(r)]);return t instanceof Promise?t.then(n):n(t)},N=class{tag;props;key;children;isEscaped=!0;constructor(e,t,n){if(typeof e!="function"&&!Zn(e))throw new Error(`Invalid JSX tag name: ${e}`);this.tag=e,this.props=t,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){return Re(()=>{let t=[""];return this.toStringToBuffer(t),t.length===1?"callbacks"in t?wt(k(t[0],t.callbacks)).toString():t[0]:ve(t,t.callbacks)})}toStringToBuffer(e){let t=this.tag,n=this.props,{children:r}=this;e[0]+=`<${t}`;let o=t==="svg"||Te&&M(Te)==="svg"?i=>Bo(xe(i)):i=>xe(i);for(let[i,a]of Object.entries(n))if(i=o(i),!!zt(i)&&i!=="children"){if(i==="style"&&typeof a=="object"){let c="";Me(a,(f,u)=>{u!=null&&(c+=`${c?";":""}${f}:${u}`)}),e[0]+=' style="',G(c,e),e[0]+='"'}else if(typeof a=="string")e[0]+=` ${i}="`,G(a,e),e[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)e[0]+=` ${i}="${a}"`;else if(typeof a=="boolean"&&Ho.includes(i))a&&(e[0]+=` ${i}=""`);else if(i==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[k(a.__html)]}else if(a instanceof Promise)e[0]+=` ${i}="`,e.unshift('"',a);else if(typeof a=="function"){if(!i.startsWith("on")&&i!=="ref")throw new Error(`Invalid prop '${i}' of type 'function' supplied to '${t}'.`)}else e[0]+=` ${i}="`,G(a.toString(),e),e[0]+='"'}if(Uo.includes(t)&&r.length===0){e[0]+="/>";return}e[0]+=">",be(r,e),e[0]+=`</${t}>`}},kt=class extends N{toStringToBuffer(e){let{children:t}=this,n={...this.props};t.length&&(n.children=t.length===1?t[0]:t);let r=this.tag.call(null,n);typeof r=="boolean"||r==null||(r instanceof Promise?H.length===0?e.unshift("",Pn(r)):e.unshift("",Pn(r,le())):r instanceof N?r.toStringToBuffer(e):Array.isArray(r)?be(r,e):typeof r=="number"||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):G(r,e))}},Et=class extends N{toStringToBuffer(e){be(this.children,e)}},Zt=(e,t,...n)=>{t??={},n.length&&(t.children=n.length===1?n[0]:n);let r=t.key;delete t.key;let o=Ne(e,t,n);return o.key=r,o},Cn=!1,Ne=(e,t,n)=>{if(!Cn){for(let r in Ee)et[r][U]=Ee[r];Cn=!0}return typeof e=="function"?new kt(e,t,n):et[e]?new kt(et[e],t,n):e==="svg"||e==="head"?(Te||=Oe(""),new N(e,t,[new kt(Te,{value:e},n)])):new N(e,t,n)};var R=({children:e})=>new Et("",{children:e},Array.isArray(e)?e:e?[e]:[]);var H=[],An=!1,Pt,Ct,At=0,Mt=!1,Mn=()=>{if(An)return Pt;An=!0;let e=globalThis,t;for(let n of[()=>e.process?.getBuiltinModule?.("node:async_hooks")?.AsyncLocalStorage,()=>e.process?.mainModule?.require?.("node:async_hooks")?.AsyncLocalStorage]){try{t=n()}catch{}if(t)break}return t&&(Pt=new t),Pt},Ie=()=>Mn()?.getStore()||Ct,Tn=()=>{At>0&&!Mt&&(Mt=!0,console.warn("hono/jsx: AsyncLocalStorage is unavailable in this runtime, so useContext() after an await in an async component falls back to the context default value during server-side rendering. To get provided values across await boundaries, use a runtime with AsyncLocalStorage (Node.js >= 20.16, Deno, Bun, or Cloudflare Workers with the nodejs_compat flag)."))},Nn=(e,t)=>{if(!e)return Tn(),t.values;let n=e.get(t);return n||(n=[t.values[0]],e.set(t,n)),n},Rn=(e,t)=>{if(!e)return Tn(),t.values.at(-1);let n=e.get(t);return n?.length?n.at(-1):t.values[0]},Vo=e=>(e?H.filter(t=>e.has(t)):H).map(t=>[t,Rn(e,t)]),Ko=(e,t,n)=>Re(()=>{let r=Ie(),o=n.map(([a,c])=>{let f=Nn(r,a);return f.push(c),f}),i=()=>{o.forEach(a=>{a.pop()})};try{let a=e();return a instanceof Promise?a.finally(i):(i(),a)}catch(a){throw i(),a}},t),Re=(e,t)=>{if(Ie())return e();let n=t??new WeakMap,r=Mn();if(r)return r.run(n,e);Ct=n;let o;try{o=e()}finally{Ct=void 0}return!Mt&&o instanceof Promise&&(At++,o=o.finally(()=>{At--})),o},le=()=>{let e=Ie(),t=Vo(e);return n=>Ko(n,e,t)},Oe=e=>{let t=[e],n=(r=>{let o=Nn(Ie(),n);o.push(r.value);let i;try{i=typeof r.children=="string"?F([r.children]):te(r.children)?ne(r.children):r.children?(Array.isArray(r.children)?new Et("",{},r.children):r.children).toString():k("")}catch(a){throw o.pop(),a}return i instanceof Promise?i.finally(()=>o.pop()).then(a=>k(a,a.callbacks)):(o.pop(),k(i))});return n.values=t,n.Provider=n,n[U]=Tt(t),H.push(n),n},M=e=>Rn(Ie(),e);var Tt=e=>({value:t,children:n})=>{if(!n)return;let r={children:[{tag:bt(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:bt(()=>{e.pop()}),props:{}});let o={tag:"",props:r,type:""};return o[ee]=i=>{throw e.pop(),i},o},Le=e=>{let t=[e],n=Tt(t);return n.values=t,n.Provider=n,H.push(n),n};var Wo=0;var Go=2,qo=3,Xo=4,Nt=new WeakMap,Rt=(e,t)=>!e||!t||e.length!==t.length||t.some((n,r)=>n!==e[r]);var Jo;var On=[];var O=e=>{let t=()=>typeof e=="function"?e():e,n=D.at(-1);if(!n)return[t(),()=>{}];let[,r]=n,o=r[S][1][Wo]||=[],i=r[S][0]++;return o[i]||=[t(),a=>{let c=Jo,f=o[i];if(typeof a=="function"&&(a=a(f[0])),!Object.is(a,f[0]))if(f[0]=a,On.length){let[u,p]=On.at(-1);Promise.all([u===3?r:De([u,!1,c],r),p]).then(([s])=>{if(!s||!(u===2||u===3))return;let l=s.vC;requestAnimationFrame(()=>{setTimeout(()=>{l===s.vC&&De([u===3?1:0,!1,c],s)})})})}else De([0,!1,c],r)}]};var In=(e,t,n)=>{let r=D.at(-1);if(!r)return;let[,o]=r,i=o[S][1][1]||=[],a=o[S][0]++,[c,,f]=i[a]||=[];if(Rt(c,n)){f&&f();let u=()=>{p[e]=void 0,p[2]=t()},p=[n,void 0,void 0,void 0,void 0];p[e]=u,i[a]=p}},nt=(e,t)=>In(3,e,t),I=(e,t)=>In(1,e,t);var fe=(e,t)=>{let n=D.at(-1);if(!n)return e;let[,r]=n,o=r[S][1][Go]||=[],i=r[S][0]++,a=o[i];return Rt(a?.[1],t)?o[i]=[e,t]:e=o[i][0],e};function E(e){let t=D.at(-1);if(!t)return{current:e};let[,n]=t,r=n[S][1][Xo]||=[],o=n[S][0]++;return r[o]||={current:e}}var rt=e=>{let t=Nt.get(e);if(t){if(t.length===2)throw t[1];return t[0]}throw e.then(n=>Nt.set(e,[n]),n=>Nt.set(e,[void 0,n])),e},ot=(e,t)=>{let n=D.at(-1);if(!n)return e();let[,r]=n,o=r[S][1][qo]||=[],i=r[S][0]++,a=o[i];return Rt(a?.[1],t)&&(o[i]=[e(),t]),o[i][0]};var Fe="_hp",Yo={Change:"Input",DoubleClick:"DblClick"},Qo={svg:"2000/svg",math:"1998/Math/MathML"},D=[],je=new WeakMap,we,Hn=()=>we,T=e=>"t"in e,Ot={onClick:["click",!1]},Ln=e=>{if(!e.startsWith("on"))return;if(Ot[e])return Ot[e];let t=e.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(t){let[,n,r]=t;return Ot[e]=[(Yo[n]||n).toLowerCase(),!!r]}},Dn=(e,t)=>we&&e instanceof SVGElement&&/[A-Z]/.test(t)&&(t in e.style||t.match(/^(?:o|pai|str|u|ve)/))?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,Vn=e=>e==null||e===!1?null:e,ei=(e,t)=>{"value"in t&&(e.value=Vn(t.value),!e.multiple&&e.selectedIndex===-1&&(e.selectedIndex=0))},jn=e=>e instanceof DOMException&&e.name==="InvalidCharacterError",ti=(e,t,n)=>{t||={};for(let r in t){let o=t[r];if(r!=="children"&&(!n||n[r]!==o)){r=xe(r);let i=Ln(r);if(i){if(n?.[r]!==o&&(n&&e.removeEventListener(i[0],n[r],i[1]),o!=null)){if(typeof o!="function")throw new Error(`Event handler for "${r}" is not a function`);e.addEventListener(i[0],o,i[1])}}else if(r==="dangerouslySetInnerHTML"&&o)e.innerHTML=o.__html;else if(r==="ref"){je.get(e)?.();let a;typeof o=="function"?a=o(e)||(()=>o(null)):o&&"current"in o&&(o.current=e,a=()=>o.current=null),je.set(e,a)}else if(r==="style"){let a=e.style;typeof o=="string"?a.cssText=o:(a.cssText="",o!=null&&Me(o,a.setProperty.bind(a)))}else{if(r==="value"){let c=e.nodeName;if(c==="SELECT")continue;if((c==="INPUT"||c==="TEXTAREA")&&(e.value=Vn(o),c==="TEXTAREA")){e.textContent=o;continue}}else(r==="checked"&&e.nodeName==="INPUT"||r==="selected"&&e.nodeName==="OPTION")&&(e[r]=o);let a=Dn(e,r);try{o==null||o===!1?e.removeAttribute(a):o===!0?e.setAttribute(a,""):typeof o=="string"||typeof o=="number"?e.setAttribute(a,o):e.setAttribute(a,o.toString())}catch(c){if(!jn(c))throw c}}}}if(n)for(let r in n){let o=n[r];if(r!=="children"&&!(r in t)){r=xe(r);let i=Ln(r);if(i)e.removeEventListener(i[0],o,i[1]);else if(r==="ref")je.get(e)?.(),je.delete(e);else try{e.removeAttribute(Dn(e,r))}catch(a){if(!jn(a))throw a}}}},ni=(e,t)=>{t[S][0]=0,D.push([e,t]);let n=t.tag[U]||t.tag,r=n.defaultProps?{...n.defaultProps,...t.props}:t.props;try{return[n.call(null,r)]}finally{D.pop()}},Kn=(e,t,n,r,o)=>{e.vR?.length&&(r.push(...e.vR),delete e.vR),typeof e.tag=="function"&&e[S][1][1]?.forEach(i=>o.push(i)),e.vC.forEach(i=>{if(T(i))n.push(i);else if(typeof i.tag=="function"||i.tag===""){i.c=t;let a=n.length;if(Kn(i,t,n,r,o),i.s){for(let c=a;c<n.length;c++)n[c].s=!0;i.s=!1}}else n.push(i),i.vR?.length&&(r.push(...i.vR),delete i.vR)})},ri=e=>{for(;e&&(e.tag===Fe||!e.e);)e=e.tag===Fe||!e.vC?.[0]?e.nN:e.vC[0];return e?.e},Wn=e=>{T(e)||(e[S]?.[1][1]?.forEach(t=>t[2]?.()),je.get(e.e)?.(),e.p===2&&e.vC?.forEach(t=>t.p=2),e.vC?.forEach(Wn)),e.p||(e.e?.remove(),delete e.e),typeof e.tag=="function"&&(pe.delete(e),it.delete(e),delete e[S][3],e.a=!0)},It=(e,t,n)=>{e.c=t,Gn(e,t,n)},Fn=(e,t)=>{if(t){for(let n=0,r=e.length;n<r;n++)if(e[n]===t)return n}},Bn=Symbol(),Gn=(e,t,n)=>{let r=[],o=[],i=[];Kn(e,t,r,o,i),o.forEach(Wn);let a=n?void 0:t.childNodes,c,f=null;if(n)c=-1;else if(!a.length)c=0;else{let u=Fn(a,ri(e.nN));u!==void 0?(f=a[u],c=u):c=Fn(a,r.find(p=>p.tag!==Fe&&p.e)?.e)??-1,c===-1&&(n=!0)}for(let u=0,p=r.length;u<p;u++,c++){let s=r[u],l;if(s.s&&s.e)l=s.e,s.s=!1;else{let d=n||!s.e;T(s)?(s.e&&s.d&&(s.e.textContent=s.t),s.d=!1,l=s.e||=document.createTextNode(s.t)):(l=s.e||=s.n?document.createElementNS(s.n,s.tag):document.createElement(s.tag),ti(l,s.props,s.pP),Gn(s,l,d),s.tag==="select"&&ei(l,s.props))}s.tag===Fe?c--:n?l.parentNode||t.appendChild(l):a[c]!==l&&a[c-1]!==l&&(a[c+1]===l?t.appendChild(a[c]):t.insertBefore(l,f||a[c]||null))}if(e.pP&&(e.pP=void 0),i.length){let u=[],p=[];i.forEach(([,s,,l,d])=>{s&&u.push(s),l&&p.push(l),d?.()}),u.forEach(s=>s()),p.length&&requestAnimationFrame(()=>{p.forEach(s=>s())})}},oi=(e,t)=>!!(e&&e.length===t.length&&e.every((n,r)=>n[1]===t[r][1])),ii=e=>{let t=new Map;for(let n of e){let r=n.key;if(t.has(r))return;t.set(r,n)}return t},it=new WeakMap,st=(e,t,n)=>{let r=!n&&t.pC;n&&(t.pC||=t.vC);let o;try{n||=typeof t.tag=="function"?ni(e,t):ue(t.props.children),n[0]?.tag===""&&n[0][ee]&&(o=n[0][ee],e[5].push([e,o,t]));let i=r?[...t.pC]:t.vC?[...t.vC]:void 0,a=[],c,f=(i?.length||0)*2,u;for(let p=0;p<n.length;p++){if(Array.isArray(n[p])){n.splice(p,1,...n[p].flat(1/0)),p--;continue}let s=Lt(n[p]);if(s){typeof s.tag=="function"&&!s.tag[qe]&&(H.length>0&&(s[S][2]=H.map(d=>[d,d.values.at(-1)])),e[5]?.length&&(s[S][3]=e[5].at(-1)));let l;if(u&&s.key===void 0&&!T(s)&&(i=[...u.values()],u=void 0),u){let d=s.key,m=u.get(d);m&&(T(s)?T(m):m.tag===s.tag&&m.key===d)&&(l=m,u.delete(d))}else if(i&&i.length){let d=i[0];if(T(s)?T(d):!T(d)&&(s.key!==void 0?d.key===s.key&&d.tag===s.tag:d.tag===s.tag))l=i.shift();else{let m=i.findIndex(T(s)?h=>T(h):s.key!==void 0?h=>h.key===s.key&&h.tag===s.tag:h=>h.tag===s.tag);f-=m===-1?i.length:m,m!==-1&&(l=i[m],i.splice(m,1)),f<0&&(f=1/0,u=ii(i))}}if(l)if(T(s))l.t!==s.t&&(l.t=s.t,l.d=!0),s=l;else{let d=l.pP=l.props;if(l.props=s.props,l.f||=s.f||t.f,typeof s.tag=="function"){let m=l[S][2];l[S][2]=s[S][2]||[],l[S][3]=s[S][3],!l.f&&((l.o||l)===s.o||l.tag[Xe]?.(d,l.props))&&oi(m,l[S][2])&&(l.s=!0)}s=l}else if(!T(s)&&we){let d=M(we);d&&(s.n=d)}if(!T(s)&&!s.s&&(st(e,s),delete s.f),a.push(s),c&&!c.s&&!s.s)for(let d=c;d&&!T(d);d=d.vC?.at(-1))d.nN=s;c=s}}i=u?[...u.values()]:i,t.vR=r?[...t.vC,...i||[]]:i||[],t.vC=a,r&&delete t.pC}catch(i){if(t.f=!0,i===Bn){if(o)return;throw i}let[a,c,f]=t[S]?.[3]||[];if(c){let u=()=>De([0,!1,e[2]],f),p=it.get(f)||[];p.push(u),it.set(f,p);let s=c(i,()=>{let l=it.get(f);if(l){let d=l.indexOf(u);if(d!==-1)return l.splice(d,1),u()}});if(s){if(e[0]===1)e[1]=!0;else if(st(e,f,[s]),(c.length===1||e!==a)&&f.c){It(f,f.c,!1);return}throw Bn}}throw i}finally{o&&e[5].pop()}},Lt=e=>{if(!(e==null||typeof e=="boolean")){if(typeof e=="string"||typeof e=="number")return{t:e.toString(),d:!0};if("vR"in e&&(e={tag:e.tag,props:e.props,key:e.key,f:e.f,type:e.tag,ref:e.props.ref,o:e.o||e}),typeof e.tag=="function")e[S]=[0,[]];else{let t=Qo[e.tag];t&&(we||=Le(""),e.props.children=[{tag:we,props:{value:e.n=`http://www.w3.org/${t}`,children:e.props.children}}])}return e}},qn=(e,t,n)=>{e.c===t&&(e.c=n,e.vC.forEach(r=>qn(r,t,n)))},Un=(e,t)=>{t[S][2]?.forEach(([n,r])=>{n.values.push(r)});try{st(e,t,void 0)}catch{return}if(t.a){delete t.a;return}t[S][2]?.forEach(([n])=>{n.values.pop()}),(e[0]!==1||!e[1])&&It(t,t.c,!1)},pe=new WeakMap,ct=[],De=async(e,t)=>{e[5]||=[];let n=pe.get(t);n&&n[0](void 0);let r,o=new Promise(i=>r=i);if(pe.set(t,[r,()=>{e[2]?e[2](e,t,i=>{Un(i,t)}).then(()=>r(t)):(Un(e,t),r(t))}]),ct.length)ct.at(-1).add(t);else{await Promise.resolve();let i=pe.get(t);i&&(pe.delete(t),i[1]())}return o},Xn=(e,t)=>{let n=[];n[5]=[],n[4]=!0,st(n,e,void 0),n[4]=!1;let r=document.createDocumentFragment();It(e,r,!0),qn(e,r,t),t.replaceChildren(r)};var at=e=>{let t=new Set;ct.push(t),e(),t.forEach(n=>{let r=pe.get(n);r&&(pe.delete(n),r[1]())}),ct.pop()},Dt=(e,t,n)=>({tag:Fe,props:{children:e},key:n,e:t,p:1});var Jn=(e,t={})=>{let n;return Object.keys(t).length>0&&console.warn("createRoot options are not supported yet"),{render(r){if(n===null)throw new Error("Cannot update an unmounted root");n?n(r):Xn(Lt({tag:()=>{let[o,i]=O(r);return n=i,o},props:{}}),e)},unmount(){n?.(null),n=null}}};function Qn(e,t){return typeof t=="bigint"?t.toString():t}var Ft=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function er(e){return new Ft(e)}function tr(e){return e==null}function nr(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Yn=Symbol("evaluating");function rr(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Yn)return r===void 0&&(r=Yn,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function or(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}var Bt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function oe(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function sr(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function ie(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function cr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function lt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Be(e){return typeof e=="string"?e:e?.message}function Ut(e,t,n){var r;for(let o=t;o<e.length;o++)(r=e[o]).schema??(r.schema=n)}function $e(e,t,n){var r;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:Be(e.inst?._zod.def?.error?.(e))??Be(i?.(e))??Be(t?.error?.(e))??Be(n.customError?.(e))??Be(n.localeError?.(e))??"Invalid input",c={};for(let f of Object.keys(e))f==="inst"||f==="schema"||f==="continue"||f==="input"||f==="__proto__"||(c[f]=e[f]);return c.path??(c.path=[]),c.message=a,t?.reportInput&&(c.input=e.input),c}var si=/[\uD800-\uDBFF]/;function ar(e){let t=e.length;if(!si.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)===55296&&(e.charCodeAt(r+1)&64512)===56320&&(n--,r++);return n}function ur(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function lr(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):ci(e,n,r.value)}}function de(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Ht(e,t,n){return de(e,t,n,!1)}function ci(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:de(this,t,n.bind(this))},set(r){de(this,t,r)}})}function ai(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var jt,re=!1,ui={configurable:!0,get(){re=!0}};function q(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&jt!==e._zod){jt=void 0;return}jt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,ui);let o=re;re=!1;try{let i=n(this);return re?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i}),re=re||o,i}catch(i){throw delete this[t],re=re||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function fr(e,t,n,r){let o=ai(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,i),i.value=n(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:i})}})}var pr;var Vt={value:void 0,enumerable:!1},dr="captureStackTrace"in Error?Error:null;function li(e){let t=dr;if(t){let n=t.stackTraceLimit;if(typeof n=="number"){try{t.stackTraceLimit=0}catch{return dr=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function C(e,t,n,r){let o={};function i(l){this.def=l,this.constr=s,this.traits=new Set}i.prototype=o;let a=n,c=a&&new WeakSet;function f(l,d){if(l._zod){if(l._zod.traits.has(e))return}else{Vt.value=new i(d);try{Object.defineProperty(l,"_zod",Vt)}finally{Vt.value=void 0}}if(l._zod.traits.add(e),t(l,d),c){let h=Object.getPrototypeOf(l),_=l._zod.constr.prototype,z=h;for(;z&&z!==_;)z=Object.getPrototypeOf(z);let w=z??h;c.has(w)||(c.add(w),lr(w,a))}let m=s.prototype;for(let h in m)Object.prototype.hasOwnProperty.call(m,h)&&(h in l||(l[h]=m[h].bind(l)))}let u=r?.Parent??Object;class p extends u{}Object.defineProperty(p,"name",{value:e});function s(l){let d=r?.Parent?li(p):this;f(d,l);let m=d._zod.deferred;if(m){for(let _ of m)_();d._zod.deferred=void 0}let h=globalThis.__zod_globalConfig?.postProcessor;return h&&h(d),d}return Object.defineProperty(s,"init",{value:f}),Object.defineProperty(s,Symbol.hasInstance,{value:l=>r?.Parent&&l instanceof r.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var X=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(pr=globalThis).__zod_globalConfig??(pr.__zod_globalConfig={});var Ue=globalThis.__zod_globalConfig;function Se(e){return e&&Object.assign(Ue,e),Ue}function fi(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Qn,2)),e.message}function pi(e){this._zod.message=e}var di={get:fi,set:pi,enumerable:!0,configurable:!0},Wt={value:void 0,enumerable:!1},mr=new WeakSet([Object.prototype,Error.prototype]),hr=(e,t)=>{e.name="$ZodError",Wt.value=t,Object.defineProperty(e,"issues",Wt),Wt.value=void 0,Object.defineProperty(e,"message",di);let n=Object.getPrototypeOf(e);mr.has(n)||(mr.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},cc=C("$ZodError",hr),He=C("$ZodError",hr,void 0,{Parent:Error});var hi=e=>{let t=(n,r,o,i)=>{let a=o?{...o,async:!1}:{async:!1},c=n._zod.run({value:r,issues:[]},a);if(c instanceof Promise)throw new X;if(c.issues.length){let f=new(i?.Err??e)(c.issues.map(u=>$e(u,a,Se())));throw Bt(f,i?.callee??t),f}return c.value};return t},Gt=hi(He),gi=e=>{let t=async(n,r,o,i)=>{let a=o?{...o,async:!0}:{async:!0},c=n._zod.run({value:r,issues:[]},a);if(c instanceof Promise&&(c=await c),c.issues.length){let f=new(i?.Err??e)(c.issues.map(u=>$e(u,a,Se())));throw Bt(f,i?.callee??t),f}return c.value};return t},qt=gi(He),_i=e=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new X;return i.issues.length?gr(e,i.issues,o):{success:!0,data:i.value}},Xt=_i(He);function gr(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>$e(o,n,Se()))),t=void 0,n=void 0),r},set error(o){r=o,t=void 0,n=void 0}}}var vi=e=>async(t,n,r)=>{let o=r?{...r,async:!0}:{async:!0},i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?gr(e,i.issues,o):{success:!0,data:i.value}},Jt=vi(He);var _r=/^[\s\S]{0,}$/;var vr=/^-?\d+(?:\.\d+)?$/,yr=/^(?:true|false)$/i;var Yt=C("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])});var xi=e=>{let t=e.value;return!tr(t)&&t.length!==void 0};var br=C("$ZodCheckMinLength",(e,t)=>{var n;Yt.init(e,t),(n=e._zod.def).when??(n.when=xi),e._zod.check=r=>{let o=r.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i<t.minimum*2?ar(o):i)>=t.minimum)return;let c=ur(o);r.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}});var wr={major:4,minor:6,patch:5};var J=C("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=wr;let r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r?.length?[...r]:[];for(let i of o)for(let a of i._zod.onattach)a(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(c,f,u)=>{if(c.memo)return c;let p=ie(c),s;for(let l of f){if(l._zod.def.when){if(cr(c)||!l._zod.def.when(c))continue}else if(p)continue;let d=c.issues.length,m=l._zod.check(c);if(m instanceof Promise&&u?.async===!1)throw new X;if(s||m instanceof Promise)s=(s??Promise.resolve()).then(async()=>{await m,c.issues.length!==d&&(Ut(c.issues,d,e),p||(p=ie(c,d)))});else{if(c.issues.length===d)continue;Ut(c.issues,d,e),p||(p=ie(c,d))}}return s?s.then(()=>c):c},a=(c,f,u)=>{if(ie(c))return c.aborted=!0,c;let p=i(f,o,u);if(p instanceof Promise){if(u.async===!1)throw new X;return p.then(s=>e._zod.parse(s,u))}return e._zod.parse(p,u)};e._zod.run=(c,f)=>{if(f.skipChecks)return e._zod.parse(c,f);if(f.direction==="backward"){let p=e._zod.parse({value:c.value,issues:[]},{...f,skipChecks:!0});return p instanceof Promise?p.then(s=>a(s,c,f)):a(p,c,f)}let u=e._zod.parse(c,f);if(u instanceof Promise){if(f.async===!1)throw new X;return u.then(p=>i(p,o,f))}return i(u,o,f)}}},{get"~standard"(){return Ht(this,"~standard",Si(this))},set"~standard"(e){de(this,"~standard",e)}}),zr=(e,t)=>e.issues.length?{issues:e.issues.map(n=>$e(n,t,Se()))}:{value:e.value};async function $i(e,t){let n={async:!0};return zr(await e._zod.run({value:t,issues:[]},n),n)}function Si(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return zr(r,n)}catch{}return $i(e,t)},vendor:"zod",version:1}}var kr=C("$ZodString",(e,t)=>{J.init(e,t),e._zod.pattern=t.pattern??_r,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}});var Er=C("$ZodNumber",(e,t)=>{J.init(e,t),e._zod.pattern=vr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}});var Zr=C("$ZodBoolean",(e,t)=>{J.init(e,t),e._zod.pattern=yr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});function $r(e,t,n){e.issues.length&&t.issues.push(...lt(n,e.issues)),t.value[n]=e.value}var Pr=C("$ZodArray",(e,t)=>{J.init(e,t);let n=Ue.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=n?n.alloc(e,r,Array(i.length),o):Array(i.length);let a=[],c=o?.abortEarly;for(let f=0;f<i.length;f++){let u=i[f],p=t.element._zod.run({value:u,issues:[]},o);if(p instanceof Promise)a.push(p.then(s=>$r(s,r,f)));else if($r(p,r,f),c&&p.issues.length!==0&&ie(p))break}return a.length?Promise.all(a).then(()=>r):r}});function ft(e,t,n,r,o,i){let a=n in r,c=i==="optional";if(!(!a&&c&&o==="optional")){if(e.issues.length){if(o!==void 0&&c&&!a)return;t.issues.push(...lt(n,e.issues))}if(!a&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?(a||o==="defaulted"&&!c)&&(t.value[n]=void 0):t.value[n]=e.value}}var zi=[];function ki(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:zi,o=r.length?[...t,...r]:t;for(let a of o)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(a)}": expected a Zod schema`);let i=sr(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function Ei(e,t,n,r,o,i,a){let c=[],f=o.keySet,u=o.catchall._zod,p=u.def.type,s=u.optin,l=u.optout,d=0;for(let m in t){if(a&&n.issues.length!==d){if(ie(n,d))break;d=n.issues.length}if(f.has(m))continue;if(m==="__proto__"){p==="never"&&c.push(m);continue}if(p==="never"){c.push(m);continue}let h=u.run({value:t[m],issues:[]},r);h instanceof Promise?e.push(h.then(_=>ft(_,n,m,t,s,l))):ft(h,n,m,t,s,l)}return c.length&&n.issues.push({code:"unrecognized_keys",keys:c,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Cr=C("$ZodObject",(e,t)=>{J.init(e,t);let n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){let u=()=>{let p={...r};return Object.defineProperty(t,"shape",{value:p}),u.raw=p,p};u.raw=r,Object.defineProperty(t,"shape",{get:u})}let o=er(()=>ki(t));q(e,"propValues",u=>{let p=u.def.shape,s={};for(let l in p){let d=p[l]._zod;if(d.values){Object.prototype.hasOwnProperty.call(s,l)||or(s,l,new Set);for(let m of d.values)s[l].add(m);d.optin!==void 0&&s[l].add(void 0)}}return s});let i=ir,a=t.catchall,c,f=Ue.memoizer;f?.attach(e),e._zod.parse=(u,p)=>{c??(c=o.value);let s=u.value;if(!i(s))return u.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),u;u.value=f?f.alloc(e,u,{},p):{};let l=[],d=c.shape,m=p?.abortEarly,h=u.issues.length;for(let _ of c.allKeys){if(m&&u.issues.length!==h){if(ie(u,h))break;h=u.issues.length}if(_==="__proto__")continue;let z=d[_],w=z._zod.optin,A=z._zod.optout,v=z._zod.run({value:s[_],issues:[]},p);v instanceof Promise?l.push(v.then($=>ft($,u,_,s,w,A))):ft(v,u,_,s,w,A)}return a?Ei(l,s,u,p,o.value,e,m===!0):l.length?Promise.all(l).then(()=>u):u}});function Sr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Ar=C("$ZodOptional",(e,t)=>{J.init(e,t),q(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",q(e,"values",n=>{let r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),q(e,"pattern",n=>{let r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${nr(r.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(n.value===void 0){if(t.innerType._zod.optin!=="defaulted")return n;let o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(i=>Sr(n,i)):Sr(n,o)}return t.innerType._zod.run(n,r)}});var Mr=C("$ZodLazy",(e,t)=>{J.init(e,t),rr(e._zod,"innerType",()=>{let n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),q(e,"pattern",n=>n.innerType?._zod?.pattern),q(e,"propValues",n=>n.innerType?._zod?.propValues),q(e,"optin",n=>n.innerType?._zod?.optin??void 0),q(e,"optout",n=>n.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)});function Tr(e){return e.checks&&(e.checks=[...e.checks]),e}function Nr(e,t){return new e(Tr({type:"string",...oe(t)}))}function Rr(e,t){return new e(Tr({type:"number",checks:[],...oe(t)}))}function Or(e,t){return new e({type:"boolean",...oe(t)})}function Qt(e,t){return new br({check:"min_length",...oe(t),minimum:e})}var he=C("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");J.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){de(this,"with",e)},parse(e,t){return Gt(this,e,t,{callee:this.parse})},parseAsync(e,t){return qt(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return Xt(this,e,t)},safeParseAsync(e,t){return Jt(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0})},clone(e,t){return ut(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),Ci=C("ZodMiniString",(e,t)=>{kr.init(e,t),he.init(e,t)});function B(e){return Nr(Ci,e)}var Ai=C("ZodMiniNumber",(e,t)=>{Er.init(e,t),he.init(e,t)});function Ir(e){return Rr(Ai,e)}var Mi=C("ZodMiniBoolean",(e,t)=>{Zr.init(e,t),he.init(e,t)});function en(e){return Or(Mi,e)}var Ti=C("ZodMiniArray",(e,t)=>{Pr.init(e,t),he.init(e,t)});function Y(e,t){return new Ti({type:"array",element:e,...oe(t)})}var Ni=C("ZodMiniObject",(e,t)=>{Cr.init(e,t),he.init(e,t),fr(e,"shape",n=>n._zod.def.shape,!1)});function se(e,t){let n={type:"object",shape:e??{},...oe(t)};return new Ni(n)}var Ri=C("ZodMiniOptional",(e,t)=>{Ar.init(e,t),he.init(e,t)});function tn(e){return new Ri({type:"optional",innerType:e})}var Oi=C("ZodMiniLazy",(e,t)=>{Mr.init(e,t),he.init(e,t)});function nn(e){return new Oi({type:"lazy",getter:e})}var Dr=se({id:B(),name:B(),label:B(),active:en(),children:nn(()=>Y(Dr))}),jr=se({name:B(),path:Y(B()),docs:Y(Dr),groups:nn(()=>Y(jr))}),Lr=se({depth:Ir(),slug:B(),text:B()}),Fr=se({title:B(),groups:Y(jr),outline:Y(se({part:tn(B()),sections:Y(se({heading:Lr,part:tn(B()),subs:Y(se({heading:Lr}))})).check(Qt(1))})),home:en()});function Br(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Br(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Di(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Br(e))&&(r&&(r+=" "),r+=t);return r}var x=Di;var Hr=Le({pending:!1,data:null,method:null,action:null}),Ur=new Set,Vr=e=>{Ur.add(e),e.finally(()=>Ur.delete(e))};var sn=Qe({button:()=>to,clearCache:()=>ji,composeRef:()=>pt,form:()=>Yr,input:()=>eo,link:()=>qr,meta:()=>Xr,script:()=>Wr,style:()=>Gr,title:()=>Kr}),ji=()=>{rn=Object.create(null),on=Object.create(null)},pt=(e,t)=>ot(()=>n=>{let r;e&&(typeof e=="function"?r=e(n)||(()=>{e(null)}):e&&"current"in e&&(e.current=n,r=()=>{e.current=null}));let o=t(n);return()=>{o?.(),r?.()}},[e]),rn=Object.create(null),on=Object.create(null),Ve=(e,t,n,r,o)=>{if(t?.itemProp)return{tag:e,props:t,type:e,ref:t.ref};let i=document.head,{onLoad:a,onError:c,precedence:f,blocking:u,...p}=t,s=null,l=!1,d=ye[e],m=Ye(e,r),h=v=>v.getAttribute("rel")==="stylesheet"&&v.getAttribute("data-precedence")!==null,_;if(m){let v=i.querySelectorAll(e);e:for(let $ of v)if(!(e==="link"&&!h($))){for(let y of d)if($.getAttribute(y)===t[y]){s=$;break e}}if(!s){let $=d.reduce((y,P)=>t[P]===void 0?y:`${y}-${P}-${t[P]}`,e);l=!on[$],s=on[$]||=(()=>{let y=document.createElement(e);for(let P of d)t[P]!==void 0&&y.setAttribute(P,t[P]);return t.rel&&y.setAttribute("rel",t.rel),y})()}}else _=i.querySelectorAll(e);f=r?f??"":void 0,r&&(p[Ze]=f);let z=fe(v=>{if(m){if(e==="link"&&f!==void 0){let y=!1;for(let P of i.querySelectorAll(e)){let L=P.getAttribute(Ze);if(L===null){i.insertBefore(v,P);return}if(y&&L!==f){i.insertBefore(v,P);return}L===f&&(y=!0)}i.appendChild(v);return}let $=!1;for(let y of i.querySelectorAll(e)){if($&&y.getAttribute("data-precedence")!==f){i.insertBefore(v,y);return}y.getAttribute("data-precedence")===f&&($=!0)}i.appendChild(v)}else if(e==="link")i.contains(v)||i.appendChild(v);else if(_){let $=!1;for(let y of _)if(y===v){$=!0;break}$||i.insertBefore(v,i.contains(_[0])?_[0]:i.querySelector(e)),_=void 0}},[m,f,e]),w=pt(t.ref,v=>{let $=d[0];if(n===2&&(v.innerHTML=""),(l||_)&&z(v),!c&&!a||!$)return;let y=rn[v.getAttribute($)]||=new Promise((P,L)=>{v.addEventListener("load",P),v.addEventListener("error",L)});a&&(y=y.then(a)),c&&(y=y.catch(c)),y.catch(()=>{})});if(o&&u==="render"){let v=ye[e][0];if(v&&t[v]){let $=t[v],y=rn[$]||=new Promise((P,L)=>{z(s),s.addEventListener("load",P),s.addEventListener("error",L)});rt(y)}}let A={tag:e,type:e,props:{...p,ref:w},ref:w};return A.p=n,s&&(A.e=s),Dt(A,i)},Kr=e=>{let t=Hn();return(t&&M(t))?.endsWith("svg")?{tag:"title",props:e,type:"title",ref:e.ref}:Ve("title",e,void 0,!1,!1)},Wr=e=>!e||["src","async"].some(t=>!e[t])?{tag:"script",props:e,type:"script",ref:e.ref}:Ve("script",e,1,!1,!0),Gr=e=>!e||!["href","precedence"].every(t=>t in e)?{tag:"style",props:e,type:"style",ref:e.ref}:(e["data-href"]=e.href,delete e.href,Ve("style",e,2,!0,!0)),qr=e=>!e||["onLoad","onError"].some(t=>t in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?{tag:"link",props:e,type:"link",ref:e.ref}:Ve("link",e,1,Je(e),!0),Xr=e=>Ve("meta",e,void 0,!1,!1),Jr=Symbol(),Yr=e=>{let{action:t,...n}=e;typeof t!="function"&&(n.action=t);let[r,o]=O([null,!1]),i=fe(async u=>{let p=u.isTrusted?t:u.detail[Jr];if(typeof p!="function")return;u.preventDefault();let s=new FormData(u.target);o([s,!0]);let l=p(s);l instanceof Promise&&(Vr(l),await l),o([null,!0])},[]),a=pt(e.ref,u=>(u.addEventListener("submit",i),()=>{u.removeEventListener("submit",i)})),[c,f]=r;return r[1]=!1,{tag:Hr,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?t:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f}},Qr=(e,{formAction:t,...n})=>{if(typeof t=="function"){let r=fe(o=>{o.preventDefault(),o.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[Jr]:t}}))},[]);n.ref=pt(n.ref,o=>(o.addEventListener("click",r),()=>{o.removeEventListener("click",r)}))}return{tag:e,props:n,type:e,ref:n.ref}},eo=e=>Qr("input",e),to=e=>Qr("button",e);Object.assign(Ee,{title:Kr,script:Wr,style:Gr,link:qr,meta:Xr,form:Yr,input:eo,button:to});var cn=(e,t,n)=>(typeof e=="string"&&sn[e]&&(e=sn[e]),{tag:e,type:e,props:t,key:n,ref:t.ref}),Ke=e=>cn("",e,void 0);var an=(({children:e,fallback:t,fallbackRender:n,onError:r})=>{let o=Ke({children:e});return o[ee]=i=>{if(i instanceof Promise)throw i;return r?.(i),n?.(i)||t},o}),un=(({children:e,fallback:t})=>{let n=Ke({children:e});return n[ee]=(r,o)=>{if(!(r instanceof Promise))throw r;return r.finally(o),t},n});var Fi=0,dt=async e=>{try{return e.flat().map(no)}catch(t){if(t instanceof Promise){let n=le();return await t,n(()=>dt(e))}else throw t}},no=e=>{if(e==null||typeof e=="boolean")return"";if(typeof e=="string"||Array.isArray(e))return F([e]);if(te(e))return ne(e);{let t=e.toString();return t instanceof Promise?t:k(t)}},ro=async({children:e,fallback:t,fallbackRender:n,onError:r})=>{if(!e)return k("");Array.isArray(e)||(e=[e]);let o=M(ln)?.scriptNonce,i,a=()=>i||=le(),c,f=()=>c||=(async()=>{let s=await t;if(s==null)return;if(typeof s=="string"||Array.isArray(s))return a()(()=>F([s]));if(te(s))return a()(()=>ne(s));let l=await a()(()=>s.toString());return k(l,l.callbacks||s.callbacks)})(),u=async s=>{let l=await f();return a()(async()=>{r?.(s);let d=l!==void 0?l:n&&Zt(R,{},n(s))||"",m=await R({children:d}).toString();return k(m,m.callbacks||d.callbacks)})},p=[];try{p=e.map(no)}catch(s){let l=a();s instanceof Promise?p=[s.then(()=>l(()=>dt(e))).catch(d=>u(d))]:p=[await u(s)]}if(p.some(s=>s instanceof Promise)){a();let s=Fi++,l=RegExp(`(<template id="E:${s}"></template>)(.*?)(<!--E:${s}-->)`,"s"),d=!1,m=async({error:z,buffer:w})=>{if(d)return"";d=!0;let A=await u(z),v=A.callbacks;return w?(w[0]=w[0].replace(l,()=>A),v?.length?k("",v):""):k(`<template data-hono-target="E:${s}">${A}</template><script>
|
|
1
|
+
"use strict";(()=>{var U=Symbol("RENDERER"),ee=Symbol("ERROR_HANDLER"),S=Symbol("STASH"),qe=Symbol("INTERNAL"),Xe=Symbol("MEMO"),_e=Symbol("PERMALINK");var wt=e=>(e[qe]=!0,e);var W={Stringify:1,BeforeStream:2,Stream:3},k=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},zo=/[&<>'"]/,ve=async(e,t)=>{let n="";t||=[];let r=await Promise.all(e);for(let o=r.length-1;n+=r[o],o--,!(o<0);o--){let i=r[o];typeof i=="object"&&t.push(...i.callbacks||[]);let a=i.isEscaped;if(i=await(typeof i=="object"?i.toString():i),typeof i=="object"&&t.push(...i.callbacks||[]),i.isEscaped??a)n+=i;else{let c=[n];G(i,c),n=c[0]}}return k(n,t)},G=(e,t)=>{let n=e.search(zo);if(n===-1){t[0]+=e;return}let r,o,i=0;for(o=n;o<e.length;o++){switch(e.charCodeAt(o)){case 34:r=""";break;case 39:r="'";break;case 38:r="&";break;case 60:r="<";break;case 62:r=">";break;default:continue}t[0]+=e.substring(i,o)+r,i=o+1}t[0]+=e.substring(i,o)},$t=e=>{let t=e.callbacks;if(!t?.length)return e;let n=[e],r={};return t.forEach(o=>o({phase:W.Stringify,buffer:n,context:r})),n[0]},ke=async(e,t,n,r,o)=>{typeof e=="object"&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let i=e.callbacks;if(!i?.length)return Promise.resolve(e);o?o[0]+=e:o=[e];let a=Promise.all(i.map(c=>c({phase:t,buffer:o,context:r}))).then(c=>Promise.all(c.filter(Boolean).map(f=>ke(f,t,!1,r,o))).then(()=>o[0]));return n?k(await a,i):a};var ye={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Ee={},Ze="data-precedence",Je=e=>e.rel==="stylesheet"&&"precedence"in e,Ye=(e,t)=>e==="link"?t:ye[e].length>0;var xn=Object.defineProperty,Qe=(e,t)=>{let n={};for(var r in e)xn(n,r,{get:e[r],enumerable:!0});return t||xn(n,Symbol.toStringTag,{value:"Module"}),n};var ue=e=>Array.isArray(e)?e:[e];var et=Qe({button:()=>To,form:()=>Ao,input:()=>Mo,link:()=>Po,meta:()=>Co,script:()=>Eo,style:()=>Zo,title:()=>ko}),bn=new WeakMap,wn=(e,t,n,r)=>({buffer:o,context:i})=>{if(!o)return;let a=bn.get(i)||{};bn.set(i,a);let c=a[e]||=[],f=!1,u=ye[e],p=Ye(e,r!==void 0);if(p){e:for(let[,s]of c)if(!(e==="link"&&!(s.rel==="stylesheet"&&s["data-precedence"]!==void 0))){for(let l of u)if((s?.[l]??null)===n?.[l]){f=!0;break e}}}if(f?o[0]=o[0].replaceAll(t,""):p||e==="link"?c.push([t,n,r]):c.unshift([t,n,r]),o[0].indexOf("</head>")!==-1){let s;if(e==="link"||r!==void 0){let l=[];s=c.map(([d,,m],h)=>{if(m===void 0)return[d,Number.MAX_SAFE_INTEGER,h];let _=l.indexOf(m);return _===-1&&(l.push(m),_=l.length-1),[d,_,h]}).sort((d,m)=>d[1]-m[1]||d[2]-m[2]).map(([d])=>d)}else s=c.map(([l])=>l);s.forEach(l=>{o[0]=o[0].replaceAll(l,"")}),o[0]=o[0].replace(/(?=<\/head>)/,()=>s.join(""))}},Pe=(e,t,n)=>F([new N(e,n,ue(t??[]))]),Ce=(e,t,n,r)=>{if("itemProp"in n)return Pe(e,t,n);let{precedence:o,blocking:i,...a}=n;o=r?o??"":void 0,r&&(a[Ze]=o);let c=new N(e,a,ue(t||[])).toString();return c instanceof Promise?c.then(f=>k(f,[...f.callbacks||[],wn(e,f,a,o)])):k(c,[wn(e,c,a,o)])},ko=({children:e,...t})=>{let n=tt();if(n){let r=M(n);if(r==="svg"||r==="head")return new N("title",t,ue(e??[]))}return Ce("title",e,t,!1)},Eo=({children:e,...t})=>{let n=tt();return["src","async"].some(r=>!t[r])||n&&M(n)==="head"?Pe("script",e,t):Ce("script",e,t,!1)},Zo=({children:e,...t})=>["href","precedence"].every(n=>n in t)?(t["data-href"]=t.href,delete t.href,Ce("style",e,t,!0)):Pe("style",e,t),Po=({children:e,...t})=>["onLoad","onError"].some(n=>n in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?Pe("link",e,t):Ce("link",e,t,Je(t)),Co=({children:e,...t})=>{let n=tt();return n&&M(n)==="head"?Pe("meta",e,t):Ce("meta",e,t,!1)},$n=(e,{children:t,...n})=>new N(e,n,ue(t??[])),Ao=e=>(typeof e.action=="function"&&(e.action=_e in e.action?e.action[_e]:void 0),$n("form",e)),Sn=(e,t)=>(typeof t.formAction=="function"&&(t.formAction=_e in t.formAction?t.formAction[_e]:void 0),$n(e,t)),Mo=e=>Sn("input",e),To=e=>Sn("button",e);var No=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),xe=e=>No.get(e)||e,Ro=/[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,St=new Set,zn=1024,Oo=/^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,kn=new Set,Io=256,Ae=(e,t,n)=>{e.size>=t&&e.clear(),e.add(n)},Zn=e=>kn.has(e)?!0:typeof e!="string"?!1:e.length===0?!0:Oo.test(e)?!1:(Ae(kn,Io,e),!0),kt=e=>{if(St.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let r=e.charCodeAt(n);if(!(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===95||r===46||r===58))return Ro.test(e)?!1:(Ae(St,zn,e),!0)}return Ae(St,zn,e),!0},Lo=/[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/,zt=new Set,En=1024,Do=e=>{if(zt.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let r=e.charCodeAt(n);if(!(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||r===45||r===95))return Lo.test(e)?!1:(Ae(zt,En,e),!0)}return Ae(zt,En,e),!0},jo=/[;"'\\/\[\](){}]/,Fo=e=>{if(!jo.test(e))return!1;let t=0,n=[];for(let r=0,o=e.length;r<o;r++){let i=e.charCodeAt(r);if(i===92){if(r===o-1)return!0;r++}else if(t!==0){if(i===10||i===12||i===13)return!0;i===t&&(t=0)}else if(i===47&&e.charCodeAt(r+1)===42){let a=e.indexOf("*/",r+2);if(a===-1)return!0;r=a+1}else if(i===34||i===39)t=i;else if(i===40)n.push(41);else if(i===91)n.push(93);else{if(i===123||i===125)return!0;if(i===41||i===93){if(n[n.length-1]!==i)return!0;n.pop()}else if(i===59&&n.length===0)return!0}}return t!==0||n.length!==0},Me=(e,t)=>{for(let[n,r]of Object.entries(e)){let o=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`);if(!Do(o))continue;if(r==null){t(o,null);continue}let i;if(typeof r=="number")i=o.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?!.*gap)(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`;else if(typeof r=="string"){if(Fo(r))continue;i=r}else continue;t(o,i)}};var Te,tt=()=>Te,Bo=e=>/[A-Z]/.test(e)&&e.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,Uo=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Ho=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Pn=(e,t)=>e.then(n=>{if(typeof n!="string"&&!Array.isArray(n)&&!(n instanceof N))return n;let r=Array.isArray(n)?n:[n],o=()=>{let i=[""];return be(r,i),i.length===1?k(i[0],i.callbacks):ve(i,i.callbacks)};return t?t(o):Re(o)}),be=(e,t)=>{for(let n=0,r=e.length;n<r;n++){let o=e[n];if(typeof o=="string")G(o,t);else{if(typeof o=="boolean"||o===null||o===void 0)continue;if(o instanceof N)o.toStringToBuffer(t);else if(typeof o=="number")t[0]+=o;else if(o.isEscaped){t[0]+=o;let i=o.callbacks;i&&(t.callbacks||=[],t.callbacks.push(...i))}else o instanceof Promise?t.unshift("",o):be(o,t)}}},F=e=>Re(()=>{let t=[""];return be(e,t),t.length===1?k(t[0],t.callbacks):ve(t,t.callbacks)}),te=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof N)&&!(e instanceof Promise)&&!e.isEscaped&&typeof e.toString=="function",ne=e=>{let t=e.toString(),n=r=>F([String(r)]);return t instanceof Promise?t.then(n):n(t)},N=class{tag;props;key;children;isEscaped=!0;constructor(e,t,n){if(typeof e!="function"&&!Zn(e))throw new Error(`Invalid JSX tag name: ${e}`);this.tag=e,this.props=t,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){return Re(()=>{let t=[""];return this.toStringToBuffer(t),t.length===1?"callbacks"in t?$t(k(t[0],t.callbacks)).toString():t[0]:ve(t,t.callbacks)})}toStringToBuffer(e){let t=this.tag,n=this.props,{children:r}=this;e[0]+=`<${t}`;let o=t==="svg"||Te&&M(Te)==="svg"?i=>Bo(xe(i)):i=>xe(i);for(let[i,a]of Object.entries(n))if(i=o(i),!!kt(i)&&i!=="children"){if(i==="style"&&typeof a=="object"){let c="";Me(a,(f,u)=>{u!=null&&(c+=`${c?";":""}${f}:${u}`)}),e[0]+=' style="',G(c,e),e[0]+='"'}else if(typeof a=="string")e[0]+=` ${i}="`,G(a,e),e[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)e[0]+=` ${i}="${a}"`;else if(typeof a=="boolean"&&Ho.includes(i))a&&(e[0]+=` ${i}=""`);else if(i==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[k(a.__html)]}else if(a instanceof Promise)e[0]+=` ${i}="`,e.unshift('"',a);else if(typeof a=="function"){if(!i.startsWith("on")&&i!=="ref")throw new Error(`Invalid prop '${i}' of type 'function' supplied to '${t}'.`)}else e[0]+=` ${i}="`,G(a.toString(),e),e[0]+='"'}if(Uo.includes(t)&&r.length===0){e[0]+="/>";return}e[0]+=">",be(r,e),e[0]+=`</${t}>`}},Et=class extends N{toStringToBuffer(e){let{children:t}=this,n={...this.props};t.length&&(n.children=t.length===1?t[0]:t);let r=this.tag.call(null,n);typeof r=="boolean"||r==null||(r instanceof Promise?H.length===0?e.unshift("",Pn(r)):e.unshift("",Pn(r,le())):r instanceof N?r.toStringToBuffer(e):Array.isArray(r)?be(r,e):typeof r=="number"||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):G(r,e))}},Zt=class extends N{toStringToBuffer(e){be(this.children,e)}},Pt=(e,t,...n)=>{t??={},n.length&&(t.children=n.length===1?n[0]:n);let r=t.key;delete t.key;let o=Ne(e,t,n);return o.key=r,o},Cn=!1,Ne=(e,t,n)=>{if(!Cn){for(let r in Ee)et[r][U]=Ee[r];Cn=!0}return typeof e=="function"?new Et(e,t,n):et[e]?new Et(et[e],t,n):e==="svg"||e==="head"?(Te||=Oe(""),new N(e,t,[new Et(Te,{value:e},n)])):new N(e,t,n)};var R=({children:e})=>new Zt("",{children:e},Array.isArray(e)?e:e?[e]:[]);var H=[],An=!1,Ct,At,Mt=0,Tt=!1,Mn=()=>{if(An)return Ct;An=!0;let e=globalThis,t;for(let n of[()=>e.process?.getBuiltinModule?.("node:async_hooks")?.AsyncLocalStorage,()=>e.process?.mainModule?.require?.("node:async_hooks")?.AsyncLocalStorage]){try{t=n()}catch{}if(t)break}return t&&(Ct=new t),Ct},Ie=()=>Mn()?.getStore()||At,Tn=()=>{Mt>0&&!Tt&&(Tt=!0,console.warn("hono/jsx: AsyncLocalStorage is unavailable in this runtime, so useContext() after an await in an async component falls back to the context default value during server-side rendering. To get provided values across await boundaries, use a runtime with AsyncLocalStorage (Node.js >= 20.16, Deno, Bun, or Cloudflare Workers with the nodejs_compat flag)."))},Nn=(e,t)=>{if(!e)return Tn(),t.values;let n=e.get(t);return n||(n=[t.values[0]],e.set(t,n)),n},Rn=(e,t)=>{if(!e)return Tn(),t.values.at(-1);let n=e.get(t);return n?.length?n.at(-1):t.values[0]},Vo=e=>(e?H.filter(t=>e.has(t)):H).map(t=>[t,Rn(e,t)]),Ko=(e,t,n)=>Re(()=>{let r=Ie(),o=n.map(([a,c])=>{let f=Nn(r,a);return f.push(c),f}),i=()=>{o.forEach(a=>{a.pop()})};try{let a=e();return a instanceof Promise?a.finally(i):(i(),a)}catch(a){throw i(),a}},t),Re=(e,t)=>{if(Ie())return e();let n=t??new WeakMap,r=Mn();if(r)return r.run(n,e);At=n;let o;try{o=e()}finally{At=void 0}return!Tt&&o instanceof Promise&&(Mt++,o=o.finally(()=>{Mt--})),o},le=()=>{let e=Ie(),t=Vo(e);return n=>Ko(n,e,t)},Oe=e=>{let t=[e],n=(r=>{let o=Nn(Ie(),n);o.push(r.value);let i;try{i=typeof r.children=="string"?F([r.children]):te(r.children)?ne(r.children):r.children?(Array.isArray(r.children)?new Zt("",{},r.children):r.children).toString():k("")}catch(a){throw o.pop(),a}return i instanceof Promise?i.finally(()=>o.pop()).then(a=>k(a,a.callbacks)):(o.pop(),k(i))});return n.values=t,n.Provider=n,n[U]=Nt(t),H.push(n),n},M=e=>Rn(Ie(),e);var Nt=e=>({value:t,children:n})=>{if(!n)return;let r={children:[{tag:wt(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:wt(()=>{e.pop()}),props:{}});let o={tag:"",props:r,type:""};return o[ee]=i=>{throw e.pop(),i},o},Le=e=>{let t=[e],n=Nt(t);return n.values=t,n.Provider=n,H.push(n),n};var Wo=0;var Go=2,qo=3,Xo=4,Rt=new WeakMap,Ot=(e,t)=>!e||!t||e.length!==t.length||t.some((n,r)=>n!==e[r]);var Jo;var On=[];var O=e=>{let t=()=>typeof e=="function"?e():e,n=D.at(-1);if(!n)return[t(),()=>{}];let[,r]=n,o=r[S][1][Wo]||=[],i=r[S][0]++;return o[i]||=[t(),a=>{let c=Jo,f=o[i];if(typeof a=="function"&&(a=a(f[0])),!Object.is(a,f[0]))if(f[0]=a,On.length){let[u,p]=On.at(-1);Promise.all([u===3?r:De([u,!1,c],r),p]).then(([s])=>{if(!s||!(u===2||u===3))return;let l=s.vC;requestAnimationFrame(()=>{setTimeout(()=>{l===s.vC&&De([u===3?1:0,!1,c],s)})})})}else De([0,!1,c],r)}]};var In=(e,t,n)=>{let r=D.at(-1);if(!r)return;let[,o]=r,i=o[S][1][1]||=[],a=o[S][0]++,[c,,f]=i[a]||=[];if(Ot(c,n)){f&&f();let u=()=>{p[e]=void 0,p[2]=t()},p=[n,void 0,void 0,void 0,void 0];p[e]=u,i[a]=p}},nt=(e,t)=>In(3,e,t),I=(e,t)=>In(1,e,t);var fe=(e,t)=>{let n=D.at(-1);if(!n)return e;let[,r]=n,o=r[S][1][Go]||=[],i=r[S][0]++,a=o[i];return Ot(a?.[1],t)?o[i]=[e,t]:e=o[i][0],e};function E(e){let t=D.at(-1);if(!t)return{current:e};let[,n]=t,r=n[S][1][Xo]||=[],o=n[S][0]++;return r[o]||={current:e}}var rt=e=>{let t=Rt.get(e);if(t){if(t.length===2)throw t[1];return t[0]}throw e.then(n=>Rt.set(e,[n]),n=>Rt.set(e,[void 0,n])),e},ot=(e,t)=>{let n=D.at(-1);if(!n)return e();let[,r]=n,o=r[S][1][qo]||=[],i=r[S][0]++,a=o[i];return Ot(a?.[1],t)&&(o[i]=[e(),t]),o[i][0]};var Fe="_hp",Yo={Change:"Input",DoubleClick:"DblClick"},Qo={svg:"2000/svg",math:"1998/Math/MathML"},D=[],je=new WeakMap,we,Hn=()=>we,T=e=>"t"in e,It={onClick:["click",!1]},Ln=e=>{if(!e.startsWith("on"))return;if(It[e])return It[e];let t=e.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(t){let[,n,r]=t;return It[e]=[(Yo[n]||n).toLowerCase(),!!r]}},Dn=(e,t)=>we&&e instanceof SVGElement&&/[A-Z]/.test(t)&&(t in e.style||t.match(/^(?:o|pai|str|u|ve)/))?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,Vn=e=>e==null||e===!1?null:e,ei=(e,t)=>{"value"in t&&(e.value=Vn(t.value),!e.multiple&&e.selectedIndex===-1&&(e.selectedIndex=0))},jn=e=>e instanceof DOMException&&e.name==="InvalidCharacterError",ti=(e,t,n)=>{t||={};for(let r in t){let o=t[r];if(r!=="children"&&(!n||n[r]!==o)){r=xe(r);let i=Ln(r);if(i){if(n?.[r]!==o&&(n&&e.removeEventListener(i[0],n[r],i[1]),o!=null)){if(typeof o!="function")throw new Error(`Event handler for "${r}" is not a function`);e.addEventListener(i[0],o,i[1])}}else if(r==="dangerouslySetInnerHTML"&&o)e.innerHTML=o.__html;else if(r==="ref"){je.get(e)?.();let a;typeof o=="function"?a=o(e)||(()=>o(null)):o&&"current"in o&&(o.current=e,a=()=>o.current=null),je.set(e,a)}else if(r==="style"){let a=e.style;typeof o=="string"?a.cssText=o:(a.cssText="",o!=null&&Me(o,a.setProperty.bind(a)))}else{if(r==="value"){let c=e.nodeName;if(c==="SELECT")continue;if((c==="INPUT"||c==="TEXTAREA")&&(e.value=Vn(o),c==="TEXTAREA")){e.textContent=o;continue}}else(r==="checked"&&e.nodeName==="INPUT"||r==="selected"&&e.nodeName==="OPTION")&&(e[r]=o);let a=Dn(e,r);try{o==null||o===!1?e.removeAttribute(a):o===!0?e.setAttribute(a,""):typeof o=="string"||typeof o=="number"?e.setAttribute(a,o):e.setAttribute(a,o.toString())}catch(c){if(!jn(c))throw c}}}}if(n)for(let r in n){let o=n[r];if(r!=="children"&&!(r in t)){r=xe(r);let i=Ln(r);if(i)e.removeEventListener(i[0],o,i[1]);else if(r==="ref")je.get(e)?.(),je.delete(e);else try{e.removeAttribute(Dn(e,r))}catch(a){if(!jn(a))throw a}}}},ni=(e,t)=>{t[S][0]=0,D.push([e,t]);let n=t.tag[U]||t.tag,r=n.defaultProps?{...n.defaultProps,...t.props}:t.props;try{return[n.call(null,r)]}finally{D.pop()}},Kn=(e,t,n,r,o)=>{e.vR?.length&&(r.push(...e.vR),delete e.vR),typeof e.tag=="function"&&e[S][1][1]?.forEach(i=>o.push(i)),e.vC.forEach(i=>{if(T(i))n.push(i);else if(typeof i.tag=="function"||i.tag===""){i.c=t;let a=n.length;if(Kn(i,t,n,r,o),i.s){for(let c=a;c<n.length;c++)n[c].s=!0;i.s=!1}}else n.push(i),i.vR?.length&&(r.push(...i.vR),delete i.vR)})},ri=e=>{for(;e&&(e.tag===Fe||!e.e);)e=e.tag===Fe||!e.vC?.[0]?e.nN:e.vC[0];return e?.e},Wn=e=>{T(e)||(e[S]?.[1][1]?.forEach(t=>t[2]?.()),je.get(e.e)?.(),e.p===2&&e.vC?.forEach(t=>t.p=2),e.vC?.forEach(Wn)),e.p||(e.e?.remove(),delete e.e),typeof e.tag=="function"&&(pe.delete(e),it.delete(e),delete e[S][3],e.a=!0)},Lt=(e,t,n)=>{e.c=t,Gn(e,t,n)},Fn=(e,t)=>{if(t){for(let n=0,r=e.length;n<r;n++)if(e[n]===t)return n}},Bn=Symbol(),Gn=(e,t,n)=>{let r=[],o=[],i=[];Kn(e,t,r,o,i),o.forEach(Wn);let a=n?void 0:t.childNodes,c,f=null;if(n)c=-1;else if(!a.length)c=0;else{let u=Fn(a,ri(e.nN));u!==void 0?(f=a[u],c=u):c=Fn(a,r.find(p=>p.tag!==Fe&&p.e)?.e)??-1,c===-1&&(n=!0)}for(let u=0,p=r.length;u<p;u++,c++){let s=r[u],l;if(s.s&&s.e)l=s.e,s.s=!1;else{let d=n||!s.e;T(s)?(s.e&&s.d&&(s.e.textContent=s.t),s.d=!1,l=s.e||=document.createTextNode(s.t)):(l=s.e||=s.n?document.createElementNS(s.n,s.tag):document.createElement(s.tag),ti(l,s.props,s.pP),Gn(s,l,d),s.tag==="select"&&ei(l,s.props))}s.tag===Fe?c--:n?l.parentNode||t.appendChild(l):a[c]!==l&&a[c-1]!==l&&(a[c+1]===l?t.appendChild(a[c]):t.insertBefore(l,f||a[c]||null))}if(e.pP&&(e.pP=void 0),i.length){let u=[],p=[];i.forEach(([,s,,l,d])=>{s&&u.push(s),l&&p.push(l),d?.()}),u.forEach(s=>s()),p.length&&requestAnimationFrame(()=>{p.forEach(s=>s())})}},oi=(e,t)=>!!(e&&e.length===t.length&&e.every((n,r)=>n[1]===t[r][1])),ii=e=>{let t=new Map;for(let n of e){let r=n.key;if(t.has(r))return;t.set(r,n)}return t},it=new WeakMap,st=(e,t,n)=>{let r=!n&&t.pC;n&&(t.pC||=t.vC);let o;try{n||=typeof t.tag=="function"?ni(e,t):ue(t.props.children),n[0]?.tag===""&&n[0][ee]&&(o=n[0][ee],e[5].push([e,o,t]));let i=r?[...t.pC]:t.vC?[...t.vC]:void 0,a=[],c,f=(i?.length||0)*2,u;for(let p=0;p<n.length;p++){if(Array.isArray(n[p])){n.splice(p,1,...n[p].flat(1/0)),p--;continue}let s=Dt(n[p]);if(s){typeof s.tag=="function"&&!s.tag[qe]&&(H.length>0&&(s[S][2]=H.map(d=>[d,d.values.at(-1)])),e[5]?.length&&(s[S][3]=e[5].at(-1)));let l;if(u&&s.key===void 0&&!T(s)&&(i=[...u.values()],u=void 0),u){let d=s.key,m=u.get(d);m&&(T(s)?T(m):m.tag===s.tag&&m.key===d)&&(l=m,u.delete(d))}else if(i&&i.length){let d=i[0];if(T(s)?T(d):!T(d)&&(s.key!==void 0?d.key===s.key&&d.tag===s.tag:d.tag===s.tag))l=i.shift();else{let m=i.findIndex(T(s)?h=>T(h):s.key!==void 0?h=>h.key===s.key&&h.tag===s.tag:h=>h.tag===s.tag);f-=m===-1?i.length:m,m!==-1&&(l=i[m],i.splice(m,1)),f<0&&(f=1/0,u=ii(i))}}if(l)if(T(s))l.t!==s.t&&(l.t=s.t,l.d=!0),s=l;else{let d=l.pP=l.props;if(l.props=s.props,l.f||=s.f||t.f,typeof s.tag=="function"){let m=l[S][2];l[S][2]=s[S][2]||[],l[S][3]=s[S][3],!l.f&&((l.o||l)===s.o||l.tag[Xe]?.(d,l.props))&&oi(m,l[S][2])&&(l.s=!0)}s=l}else if(!T(s)&&we){let d=M(we);d&&(s.n=d)}if(!T(s)&&!s.s&&(st(e,s),delete s.f),a.push(s),c&&!c.s&&!s.s)for(let d=c;d&&!T(d);d=d.vC?.at(-1))d.nN=s;c=s}}i=u?[...u.values()]:i,t.vR=r?[...t.vC,...i||[]]:i||[],t.vC=a,r&&delete t.pC}catch(i){if(t.f=!0,i===Bn){if(o)return;throw i}let[a,c,f]=t[S]?.[3]||[];if(c){let u=()=>De([0,!1,e[2]],f),p=it.get(f)||[];p.push(u),it.set(f,p);let s=c(i,()=>{let l=it.get(f);if(l){let d=l.indexOf(u);if(d!==-1)return l.splice(d,1),u()}});if(s){if(e[0]===1)e[1]=!0;else if(st(e,f,[s]),(c.length===1||e!==a)&&f.c){Lt(f,f.c,!1);return}throw Bn}}throw i}finally{o&&e[5].pop()}},Dt=e=>{if(!(e==null||typeof e=="boolean")){if(typeof e=="string"||typeof e=="number")return{t:e.toString(),d:!0};if("vR"in e&&(e={tag:e.tag,props:e.props,key:e.key,f:e.f,type:e.tag,ref:e.props.ref,o:e.o||e}),typeof e.tag=="function")e[S]=[0,[]];else{let t=Qo[e.tag];t&&(we||=Le(""),e.props.children=[{tag:we,props:{value:e.n=`http://www.w3.org/${t}`,children:e.props.children}}])}return e}},qn=(e,t,n)=>{e.c===t&&(e.c=n,e.vC.forEach(r=>qn(r,t,n)))},Un=(e,t)=>{t[S][2]?.forEach(([n,r])=>{n.values.push(r)});try{st(e,t,void 0)}catch{return}if(t.a){delete t.a;return}t[S][2]?.forEach(([n])=>{n.values.pop()}),(e[0]!==1||!e[1])&&Lt(t,t.c,!1)},pe=new WeakMap,ct=[],De=async(e,t)=>{e[5]||=[];let n=pe.get(t);n&&n[0](void 0);let r,o=new Promise(i=>r=i);if(pe.set(t,[r,()=>{e[2]?e[2](e,t,i=>{Un(i,t)}).then(()=>r(t)):(Un(e,t),r(t))}]),ct.length)ct.at(-1).add(t);else{await Promise.resolve();let i=pe.get(t);i&&(pe.delete(t),i[1]())}return o},Xn=(e,t)=>{let n=[];n[5]=[],n[4]=!0,st(n,e,void 0),n[4]=!1;let r=document.createDocumentFragment();Lt(e,r,!0),qn(e,r,t),t.replaceChildren(r)};var at=e=>{let t=new Set;ct.push(t),e(),t.forEach(n=>{let r=pe.get(n);r&&(pe.delete(n),r[1]())}),ct.pop()},jt=(e,t,n)=>({tag:Fe,props:{children:e},key:n,e:t,p:1});var Jn=(e,t={})=>{let n;return Object.keys(t).length>0&&console.warn("createRoot options are not supported yet"),{render(r){if(n===null)throw new Error("Cannot update an unmounted root");n?n(r):Xn(Dt({tag:()=>{let[o,i]=O(r);return n=i,o},props:{}}),e)},unmount(){n?.(null),n=null}}};function Qn(e,t){return typeof t=="bigint"?t.toString():t}var Bt=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function er(e){return new Bt(e)}function tr(e){return e==null}function nr(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Yn=Symbol("evaluating");function rr(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Yn)return r===void 0&&(r=Yn,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function or(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}var Ut="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ir(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function oe(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function sr(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function ie(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function cr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function lt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Be(e){return typeof e=="string"?e:e?.message}function Ht(e,t,n){var r;for(let o=t;o<e.length;o++)(r=e[o]).schema??(r.schema=n)}function $e(e,t,n){var r;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:Be(e.inst?._zod.def?.error?.(e))??Be(i?.(e))??Be(t?.error?.(e))??Be(n.customError?.(e))??Be(n.localeError?.(e))??"Invalid input",c={};for(let f of Object.keys(e))f==="inst"||f==="schema"||f==="continue"||f==="input"||f==="__proto__"||(c[f]=e[f]);return c.path??(c.path=[]),c.message=a,t?.reportInput&&(c.input=e.input),c}var si=/[\uD800-\uDBFF]/;function ar(e){let t=e.length;if(!si.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)===55296&&(e.charCodeAt(r+1)&64512)===56320&&(n--,r++);return n}function ur(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function lr(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):ci(e,n,r.value)}}function de(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Vt(e,t,n){return de(e,t,n,!1)}function ci(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:de(this,t,n.bind(this))},set(r){de(this,t,r)}})}function ai(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Ft,re=!1,ui={configurable:!0,get(){re=!0}};function q(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Ft!==e._zod){Ft=void 0;return}Ft=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,ui);let o=re;re=!1;try{let i=n(this);return re?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i}),re=re||o,i}catch(i){throw delete this[t],re=re||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function fr(e,t,n,r){let o=ai(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,i),i.value=n(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:i})}})}var pr;var Kt={value:void 0,enumerable:!1},dr="captureStackTrace"in Error?Error:null;function li(e){let t=dr;if(t){let n=t.stackTraceLimit;if(typeof n=="number"){try{t.stackTraceLimit=0}catch{return dr=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function C(e,t,n,r){let o={};function i(l){this.def=l,this.constr=s,this.traits=new Set}i.prototype=o;let a=n,c=a&&new WeakSet;function f(l,d){if(l._zod){if(l._zod.traits.has(e))return}else{Kt.value=new i(d);try{Object.defineProperty(l,"_zod",Kt)}finally{Kt.value=void 0}}if(l._zod.traits.add(e),t(l,d),c){let h=Object.getPrototypeOf(l),_=l._zod.constr.prototype,z=h;for(;z&&z!==_;)z=Object.getPrototypeOf(z);let w=z??h;c.has(w)||(c.add(w),lr(w,a))}let m=s.prototype;for(let h in m)Object.prototype.hasOwnProperty.call(m,h)&&(h in l||(l[h]=m[h].bind(l)))}let u=r?.Parent??Object;class p extends u{}Object.defineProperty(p,"name",{value:e});function s(l){let d=r?.Parent?li(p):this;f(d,l);let m=d._zod.deferred;if(m){for(let _ of m)_();d._zod.deferred=void 0}let h=globalThis.__zod_globalConfig?.postProcessor;return h&&h(d),d}return Object.defineProperty(s,"init",{value:f}),Object.defineProperty(s,Symbol.hasInstance,{value:l=>r?.Parent&&l instanceof r.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var X=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(pr=globalThis).__zod_globalConfig??(pr.__zod_globalConfig={});var Ue=globalThis.__zod_globalConfig;function Se(e){return e&&Object.assign(Ue,e),Ue}function fi(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Qn,2)),e.message}function pi(e){this._zod.message=e}var di={get:fi,set:pi,enumerable:!0,configurable:!0},Gt={value:void 0,enumerable:!1},mr=new WeakSet([Object.prototype,Error.prototype]),hr=(e,t)=>{e.name="$ZodError",Gt.value=t,Object.defineProperty(e,"issues",Gt),Gt.value=void 0,Object.defineProperty(e,"message",di);let n=Object.getPrototypeOf(e);mr.has(n)||(mr.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},cc=C("$ZodError",hr),He=C("$ZodError",hr,void 0,{Parent:Error});var hi=e=>{let t=(n,r,o,i)=>{let a=o?{...o,async:!1}:{async:!1},c=n._zod.run({value:r,issues:[]},a);if(c instanceof Promise)throw new X;if(c.issues.length){let f=new(i?.Err??e)(c.issues.map(u=>$e(u,a,Se())));throw Ut(f,i?.callee??t),f}return c.value};return t},qt=hi(He),gi=e=>{let t=async(n,r,o,i)=>{let a=o?{...o,async:!0}:{async:!0},c=n._zod.run({value:r,issues:[]},a);if(c instanceof Promise&&(c=await c),c.issues.length){let f=new(i?.Err??e)(c.issues.map(u=>$e(u,a,Se())));throw Ut(f,i?.callee??t),f}return c.value};return t},Xt=gi(He),_i=e=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new X;return i.issues.length?gr(e,i.issues,o):{success:!0,data:i.value}},Jt=_i(He);function gr(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>$e(o,n,Se()))),t=void 0,n=void 0),r},set error(o){r=o,t=void 0,n=void 0}}}var vi=e=>async(t,n,r)=>{let o=r?{...r,async:!0}:{async:!0},i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?gr(e,i.issues,o):{success:!0,data:i.value}},Yt=vi(He);var _r=/^[\s\S]{0,}$/;var vr=/^-?\d+(?:\.\d+)?$/,yr=/^(?:true|false)$/i;var Qt=C("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])});var xi=e=>{let t=e.value;return!tr(t)&&t.length!==void 0};var br=C("$ZodCheckMinLength",(e,t)=>{var n;Qt.init(e,t),(n=e._zod.def).when??(n.when=xi),e._zod.check=r=>{let o=r.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i<t.minimum*2?ar(o):i)>=t.minimum)return;let c=ur(o);r.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}});var wr={major:4,minor:6,patch:5};var J=C("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=wr;let r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r?.length?[...r]:[];for(let i of o)for(let a of i._zod.onattach)a(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(c,f,u)=>{if(c.memo)return c;let p=ie(c),s;for(let l of f){if(l._zod.def.when){if(cr(c)||!l._zod.def.when(c))continue}else if(p)continue;let d=c.issues.length,m=l._zod.check(c);if(m instanceof Promise&&u?.async===!1)throw new X;if(s||m instanceof Promise)s=(s??Promise.resolve()).then(async()=>{await m,c.issues.length!==d&&(Ht(c.issues,d,e),p||(p=ie(c,d)))});else{if(c.issues.length===d)continue;Ht(c.issues,d,e),p||(p=ie(c,d))}}return s?s.then(()=>c):c},a=(c,f,u)=>{if(ie(c))return c.aborted=!0,c;let p=i(f,o,u);if(p instanceof Promise){if(u.async===!1)throw new X;return p.then(s=>e._zod.parse(s,u))}return e._zod.parse(p,u)};e._zod.run=(c,f)=>{if(f.skipChecks)return e._zod.parse(c,f);if(f.direction==="backward"){let p=e._zod.parse({value:c.value,issues:[]},{...f,skipChecks:!0});return p instanceof Promise?p.then(s=>a(s,c,f)):a(p,c,f)}let u=e._zod.parse(c,f);if(u instanceof Promise){if(f.async===!1)throw new X;return u.then(p=>i(p,o,f))}return i(u,o,f)}}},{get"~standard"(){return Vt(this,"~standard",Si(this))},set"~standard"(e){de(this,"~standard",e)}}),zr=(e,t)=>e.issues.length?{issues:e.issues.map(n=>$e(n,t,Se()))}:{value:e.value};async function $i(e,t){let n={async:!0};return zr(await e._zod.run({value:t,issues:[]},n),n)}function Si(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return zr(r,n)}catch{}return $i(e,t)},vendor:"zod",version:1}}var kr=C("$ZodString",(e,t)=>{J.init(e,t),e._zod.pattern=t.pattern??_r,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}});var Er=C("$ZodNumber",(e,t)=>{J.init(e,t),e._zod.pattern=vr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}});var Zr=C("$ZodBoolean",(e,t)=>{J.init(e,t),e._zod.pattern=yr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});function $r(e,t,n){e.issues.length&&t.issues.push(...lt(n,e.issues)),t.value[n]=e.value}var Pr=C("$ZodArray",(e,t)=>{J.init(e,t);let n=Ue.memoizer;n?.attach(e),e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=n?n.alloc(e,r,Array(i.length),o):Array(i.length);let a=[],c=o?.abortEarly;for(let f=0;f<i.length;f++){let u=i[f],p=t.element._zod.run({value:u,issues:[]},o);if(p instanceof Promise)a.push(p.then(s=>$r(s,r,f)));else if($r(p,r,f),c&&p.issues.length!==0&&ie(p))break}return a.length?Promise.all(a).then(()=>r):r}});function ft(e,t,n,r,o,i){let a=n in r,c=i==="optional";if(!(!a&&c&&o==="optional")){if(e.issues.length){if(o!==void 0&&c&&!a)return;t.issues.push(...lt(n,e.issues))}if(!a&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?(a||o==="defaulted"&&!c)&&(t.value[n]=void 0):t.value[n]=e.value}}var zi=[];function ki(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:zi,o=r.length?[...t,...r]:t;for(let a of o)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(a)}": expected a Zod schema`);let i=sr(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function Ei(e,t,n,r,o,i,a){let c=[],f=o.keySet,u=o.catchall._zod,p=u.def.type,s=u.optin,l=u.optout,d=0;for(let m in t){if(a&&n.issues.length!==d){if(ie(n,d))break;d=n.issues.length}if(f.has(m))continue;if(m==="__proto__"){p==="never"&&c.push(m);continue}if(p==="never"){c.push(m);continue}let h=u.run({value:t[m],issues:[]},r);h instanceof Promise?e.push(h.then(_=>ft(_,n,m,t,s,l))):ft(h,n,m,t,s,l)}return c.length&&n.issues.push({code:"unrecognized_keys",keys:c,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Cr=C("$ZodObject",(e,t)=>{J.init(e,t);let n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){let u=()=>{let p={...r};return Object.defineProperty(t,"shape",{value:p}),u.raw=p,p};u.raw=r,Object.defineProperty(t,"shape",{get:u})}let o=er(()=>ki(t));q(e,"propValues",u=>{let p=u.def.shape,s={};for(let l in p){let d=p[l]._zod;if(d.values){Object.prototype.hasOwnProperty.call(s,l)||or(s,l,new Set);for(let m of d.values)s[l].add(m);d.optin!==void 0&&s[l].add(void 0)}}return s});let i=ir,a=t.catchall,c,f=Ue.memoizer;f?.attach(e),e._zod.parse=(u,p)=>{c??(c=o.value);let s=u.value;if(!i(s))return u.issues.push({expected:"object",code:"invalid_type",input:s,inst:e}),u;u.value=f?f.alloc(e,u,{},p):{};let l=[],d=c.shape,m=p?.abortEarly,h=u.issues.length;for(let _ of c.allKeys){if(m&&u.issues.length!==h){if(ie(u,h))break;h=u.issues.length}if(_==="__proto__")continue;let z=d[_],w=z._zod.optin,A=z._zod.optout,v=z._zod.run({value:s[_],issues:[]},p);v instanceof Promise?l.push(v.then($=>ft($,u,_,s,w,A))):ft(v,u,_,s,w,A)}return a?Ei(l,s,u,p,o.value,e,m===!0):l.length?Promise.all(l).then(()=>u):u}});function Sr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Ar=C("$ZodOptional",(e,t)=>{J.init(e,t),q(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",q(e,"values",n=>{let r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),q(e,"pattern",n=>{let r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${nr(r.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(n.value===void 0){if(t.innerType._zod.optin!=="defaulted")return n;let o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(i=>Sr(n,i)):Sr(n,o)}return t.innerType._zod.run(n,r)}});var Mr=C("$ZodLazy",(e,t)=>{J.init(e,t),rr(e._zod,"innerType",()=>{let n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),q(e,"pattern",n=>n.innerType?._zod?.pattern),q(e,"propValues",n=>n.innerType?._zod?.propValues),q(e,"optin",n=>n.innerType?._zod?.optin??void 0),q(e,"optout",n=>n.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)});function Tr(e){return e.checks&&(e.checks=[...e.checks]),e}function Nr(e,t){return new e(Tr({type:"string",...oe(t)}))}function Rr(e,t){return new e(Tr({type:"number",checks:[],...oe(t)}))}function Or(e,t){return new e({type:"boolean",...oe(t)})}function en(e,t){return new br({check:"min_length",...oe(t),minimum:e})}var he=C("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");J.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){de(this,"with",e)},parse(e,t){return qt(this,e,t,{callee:this.parse})},parseAsync(e,t){return Xt(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return Jt(this,e,t)},safeParseAsync(e,t){return Yt(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0})},clone(e,t){return ut(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),Ci=C("ZodMiniString",(e,t)=>{kr.init(e,t),he.init(e,t)});function B(e){return Nr(Ci,e)}var Ai=C("ZodMiniNumber",(e,t)=>{Er.init(e,t),he.init(e,t)});function Ir(e){return Rr(Ai,e)}var Mi=C("ZodMiniBoolean",(e,t)=>{Zr.init(e,t),he.init(e,t)});function pt(e){return Or(Mi,e)}var Ti=C("ZodMiniArray",(e,t)=>{Pr.init(e,t),he.init(e,t)});function Y(e,t){return new Ti({type:"array",element:e,...oe(t)})}var Ni=C("ZodMiniObject",(e,t)=>{Cr.init(e,t),he.init(e,t),fr(e,"shape",n=>n._zod.def.shape,!1)});function se(e,t){let n={type:"object",shape:e??{},...oe(t)};return new Ni(n)}var Ri=C("ZodMiniOptional",(e,t)=>{Ar.init(e,t),he.init(e,t)});function tn(e){return new Ri({type:"optional",innerType:e})}var Oi=C("ZodMiniLazy",(e,t)=>{Mr.init(e,t),he.init(e,t)});function nn(e){return new Oi({type:"lazy",getter:e})}var Dr=se({id:B(),name:B(),label:B(),active:pt(),children:nn(()=>Y(Dr))}),jr=se({name:B(),path:Y(B()),docs:Y(Dr),groups:nn(()=>Y(jr))}),Lr=se({depth:Ir(),slug:B(),text:B()}),Fr=se({title:B(),groups:Y(jr),outline:Y(se({part:tn(B()),sections:Y(se({heading:Lr,part:tn(B()),subs:Y(se({heading:Lr}))})).check(en(1))})),home:pt(),cursorFace:pt()});function Br(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Br(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Di(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Br(e))&&(r&&(r+=" "),r+=t);return r}var x=Di;var Hr=Le({pending:!1,data:null,method:null,action:null}),Ur=new Set,Vr=e=>{Ur.add(e),e.finally(()=>Ur.delete(e))};var sn=Qe({button:()=>to,clearCache:()=>ji,composeRef:()=>dt,form:()=>Yr,input:()=>eo,link:()=>qr,meta:()=>Xr,script:()=>Wr,style:()=>Gr,title:()=>Kr}),ji=()=>{rn=Object.create(null),on=Object.create(null)},dt=(e,t)=>ot(()=>n=>{let r;e&&(typeof e=="function"?r=e(n)||(()=>{e(null)}):e&&"current"in e&&(e.current=n,r=()=>{e.current=null}));let o=t(n);return()=>{o?.(),r?.()}},[e]),rn=Object.create(null),on=Object.create(null),Ve=(e,t,n,r,o)=>{if(t?.itemProp)return{tag:e,props:t,type:e,ref:t.ref};let i=document.head,{onLoad:a,onError:c,precedence:f,blocking:u,...p}=t,s=null,l=!1,d=ye[e],m=Ye(e,r),h=v=>v.getAttribute("rel")==="stylesheet"&&v.getAttribute("data-precedence")!==null,_;if(m){let v=i.querySelectorAll(e);e:for(let $ of v)if(!(e==="link"&&!h($))){for(let y of d)if($.getAttribute(y)===t[y]){s=$;break e}}if(!s){let $=d.reduce((y,P)=>t[P]===void 0?y:`${y}-${P}-${t[P]}`,e);l=!on[$],s=on[$]||=(()=>{let y=document.createElement(e);for(let P of d)t[P]!==void 0&&y.setAttribute(P,t[P]);return t.rel&&y.setAttribute("rel",t.rel),y})()}}else _=i.querySelectorAll(e);f=r?f??"":void 0,r&&(p[Ze]=f);let z=fe(v=>{if(m){if(e==="link"&&f!==void 0){let y=!1;for(let P of i.querySelectorAll(e)){let L=P.getAttribute(Ze);if(L===null){i.insertBefore(v,P);return}if(y&&L!==f){i.insertBefore(v,P);return}L===f&&(y=!0)}i.appendChild(v);return}let $=!1;for(let y of i.querySelectorAll(e)){if($&&y.getAttribute("data-precedence")!==f){i.insertBefore(v,y);return}y.getAttribute("data-precedence")===f&&($=!0)}i.appendChild(v)}else if(e==="link")i.contains(v)||i.appendChild(v);else if(_){let $=!1;for(let y of _)if(y===v){$=!0;break}$||i.insertBefore(v,i.contains(_[0])?_[0]:i.querySelector(e)),_=void 0}},[m,f,e]),w=dt(t.ref,v=>{let $=d[0];if(n===2&&(v.innerHTML=""),(l||_)&&z(v),!c&&!a||!$)return;let y=rn[v.getAttribute($)]||=new Promise((P,L)=>{v.addEventListener("load",P),v.addEventListener("error",L)});a&&(y=y.then(a)),c&&(y=y.catch(c)),y.catch(()=>{})});if(o&&u==="render"){let v=ye[e][0];if(v&&t[v]){let $=t[v],y=rn[$]||=new Promise((P,L)=>{z(s),s.addEventListener("load",P),s.addEventListener("error",L)});rt(y)}}let A={tag:e,type:e,props:{...p,ref:w},ref:w};return A.p=n,s&&(A.e=s),jt(A,i)},Kr=e=>{let t=Hn();return(t&&M(t))?.endsWith("svg")?{tag:"title",props:e,type:"title",ref:e.ref}:Ve("title",e,void 0,!1,!1)},Wr=e=>!e||["src","async"].some(t=>!e[t])?{tag:"script",props:e,type:"script",ref:e.ref}:Ve("script",e,1,!1,!0),Gr=e=>!e||!["href","precedence"].every(t=>t in e)?{tag:"style",props:e,type:"style",ref:e.ref}:(e["data-href"]=e.href,delete e.href,Ve("style",e,2,!0,!0)),qr=e=>!e||["onLoad","onError"].some(t=>t in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?{tag:"link",props:e,type:"link",ref:e.ref}:Ve("link",e,1,Je(e),!0),Xr=e=>Ve("meta",e,void 0,!1,!1),Jr=Symbol(),Yr=e=>{let{action:t,...n}=e;typeof t!="function"&&(n.action=t);let[r,o]=O([null,!1]),i=fe(async u=>{let p=u.isTrusted?t:u.detail[Jr];if(typeof p!="function")return;u.preventDefault();let s=new FormData(u.target);o([s,!0]);let l=p(s);l instanceof Promise&&(Vr(l),await l),o([null,!0])},[]),a=dt(e.ref,u=>(u.addEventListener("submit",i),()=>{u.removeEventListener("submit",i)})),[c,f]=r;return r[1]=!1,{tag:Hr,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?t:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f}},Qr=(e,{formAction:t,...n})=>{if(typeof t=="function"){let r=fe(o=>{o.preventDefault(),o.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[Jr]:t}}))},[]);n.ref=dt(n.ref,o=>(o.addEventListener("click",r),()=>{o.removeEventListener("click",r)}))}return{tag:e,props:n,type:e,ref:n.ref}},eo=e=>Qr("input",e),to=e=>Qr("button",e);Object.assign(Ee,{title:Kr,script:Wr,style:Gr,link:qr,meta:Xr,form:Yr,input:eo,button:to});var cn=(e,t,n)=>(typeof e=="string"&&sn[e]&&(e=sn[e]),{tag:e,type:e,props:t,key:n,ref:t.ref}),Ke=e=>cn("",e,void 0);var an=(({children:e,fallback:t,fallbackRender:n,onError:r})=>{let o=Ke({children:e});return o[ee]=i=>{if(i instanceof Promise)throw i;return r?.(i),n?.(i)||t},o}),un=(({children:e,fallback:t})=>{let n=Ke({children:e});return n[ee]=(r,o)=>{if(!(r instanceof Promise))throw r;return r.finally(o),t},n});var Fi=0,mt=async e=>{try{return e.flat().map(no)}catch(t){if(t instanceof Promise){let n=le();return await t,n(()=>mt(e))}else throw t}},no=e=>{if(e==null||typeof e=="boolean")return"";if(typeof e=="string"||Array.isArray(e))return F([e]);if(te(e))return ne(e);{let t=e.toString();return t instanceof Promise?t:k(t)}},ro=async({children:e,fallback:t,fallbackRender:n,onError:r})=>{if(!e)return k("");Array.isArray(e)||(e=[e]);let o=M(ln)?.scriptNonce,i,a=()=>i||=le(),c,f=()=>c||=(async()=>{let s=await t;if(s==null)return;if(typeof s=="string"||Array.isArray(s))return a()(()=>F([s]));if(te(s))return a()(()=>ne(s));let l=await a()(()=>s.toString());return k(l,l.callbacks||s.callbacks)})(),u=async s=>{let l=await f();return a()(async()=>{r?.(s);let d=l!==void 0?l:n&&Pt(R,{},n(s))||"",m=await R({children:d}).toString();return k(m,m.callbacks||d.callbacks)})},p=[];try{p=e.map(no)}catch(s){let l=a();s instanceof Promise?p=[s.then(()=>l(()=>mt(e))).catch(d=>u(d))]:p=[await u(s)]}if(p.some(s=>s instanceof Promise)){a();let s=Fi++,l=RegExp(`(<template id="E:${s}"></template>)(.*?)(<!--E:${s}-->)`,"s"),d=!1,m=async({error:z,buffer:w})=>{if(d)return"";d=!0;let A=await u(z),v=A.callbacks;return w?(w[0]=w[0].replace(l,()=>A),v?.length?k("",v):""):k(`<template data-hono-target="E:${s}">${A}</template><script>
|
|
2
2
|
((d,c,n) => {
|
|
3
3
|
c=d.currentScript.previousSibling
|
|
4
4
|
d=d.getElementById('E:${s}')
|
|
@@ -22,7 +22,7 @@ while(n.nodeType!=8||n.nodeValue!='E:${s}'){n=n.nextSibling}
|
|
|
22
22
|
n.remove()
|
|
23
23
|
d.remove()
|
|
24
24
|
})(document)
|
|
25
|
-
<\/script>`),V.callbacks))).catch(V=>m({error:V,buffer:w})));return k(y,ce)}).catch(v=>m({error:v,buffer:w}))}])}else return R({children:p})};ro[U]=an;var ln=Oe(null),Bi=0,Ui=e=>typeof e=="string"||Array.isArray(e)?F([e]):e==null||typeof e=="boolean"?"":te(e)?ne(e):e.toString(),oo=async({children:e,fallback:t})=>{Array.isArray(e)||(e=[e]);let n=M(ln)?.scriptNonce,r=[],o={[S]:[0,[]]},i=()=>{D.pop()};try{o[S][0]=0,D.push([[],o]),r=e.map(Ui)}catch(a){if(a instanceof Promise){let c=le();r=[a.then(()=>c(()=>(o[S][0]=0,D.push([[],o]),
|
|
25
|
+
<\/script>`),V.callbacks))).catch(V=>m({error:V,buffer:w})));return k(y,ce)}).catch(v=>m({error:v,buffer:w}))}])}else return R({children:p})};ro[U]=an;var ln=Oe(null),Bi=0,Ui=e=>typeof e=="string"||Array.isArray(e)?F([e]):e==null||typeof e=="boolean"?"":te(e)?ne(e):e.toString(),oo=async({children:e,fallback:t})=>{Array.isArray(e)||(e=[e]);let n=M(ln)?.scriptNonce,r=[],o={[S]:[0,[]]},i=()=>{D.pop()};try{o[S][0]=0,D.push([[],o]),r=e.map(Ui)}catch(a){if(a instanceof Promise){let c=le();r=[a.then(()=>c(()=>(o[S][0]=0,D.push([[],o]),mt(e).finally(i))))]}else throw a}finally{i()}if(r.some(a=>a instanceof Promise)){let a=Bi++,c=await(typeof t=="string"||Array.isArray(t)?F([t]):te(t)?ne(t):t.toString());return k(`<template id="H:${a}"></template>${c}<!--/$-->`,[...c.callbacks||[],({phase:f,buffer:u,context:p})=>{if(f!==W.BeforeStream)return Promise.all(r).then(async s=>{s=s.flat();let l=s.join("");u&&(u[0]=u[0].replace(new RegExp(`<template id="H:${a}"></template>.*?<!--/\\$-->`,"s"),()=>l));let d=u?"":`<template data-hono-target="H:${a}">${l}</template><script${n?` nonce="${n}"`:""}>
|
|
26
26
|
((d,c,n) => {
|
|
27
27
|
c=d.currentScript.previousSibling
|
|
28
28
|
d=d.getElementById('H:${a}')
|
|
@@ -30,10 +30,10 @@ if(!d)return
|
|
|
30
30
|
do{n=d.nextSibling;n.remove()}while(n.nodeType!=8||n.nodeValue!='/$')
|
|
31
31
|
d.replaceWith(c.content)
|
|
32
32
|
})(document)
|
|
33
|
-
<\/script>`,m=s.map(h=>h.callbacks||[]).flat();return m.length?(f===W.Stream&&(d=await ke(d,W.BeforeStream,!0,p)),k(d,m)):d})}])}else return k(r.join(""))};oo[U]=un;var op=new TextEncoder;var
|
|
33
|
+
<\/script>`,m=s.map(h=>h.callbacks||[]).flat();return m.length?(f===W.Stream&&(d=await ke(d,W.BeforeStream,!0,p)),k(d,m)):d})}])}else return k(r.join(""))};oo[U]=un;var op=new TextEncoder;var ht="fh-cursor-face";var io="/_fh/reload",so="/favicon.svg";function g(e,t,n){let r;if(!t||!("children"in t))r=Ne(e,t,[]);else{let o=t.children;r=Array.isArray(o)?Ne(e,t,o):Ne(e,t,[o])}return r.key=n,r}var ao=e=>{let t=E(null),n=E(null),r=E({x:0,y:0,frame:0}),o=()=>{cancelAnimationFrame(r.current.frame),r.current.frame=0,t.current?.classList.remove("wg_cursorFace__root--visible")},i=()=>{n.current?.matches||o()},a=()=>{r.current.frame===0&&(r.current.frame=requestAnimationFrame(()=>{r.current.frame=0;let s=t.current;s!==null&&(s.style.transform=`translate3d(
|
|
34
34
|
${Math.max(0,Math.min(r.current.x+16,document.documentElement.clientWidth-s.width-16))}px,
|
|
35
35
|
${Math.max(0,Math.min(r.current.y+16,document.documentElement.clientHeight-s.height-16))}px,
|
|
36
36
|
0
|
|
37
|
-
)`,s.classList.add("wg_cursorFace__root--visible"))}))},c=s=>{if(!n.current?.matches||s.pointerType!=="mouse"){o();return}r.current.x=s.clientX,r.current.y=s.clientY,a()},f=()=>{t.current?.classList.contains("wg_cursorFace__root--visible")&&a()},u=()=>{if(t.current?.classList.contains("wg_cursorFace__root--visible"))try{sessionStorage.setItem(
|
|
38
|
-
`);if(u===void 0||u.navigation!==p)return;n.scrollTop=u.documents,u.pathname===location.pathname&&(r.scrollTop=u.outline)}catch{}}};var
|
|
39
|
-
`)},y=()=>{let b=v();if(e.stores===void 0||b===null||u.current===null||z.current||h.current!==w()||h.current==="drawer"&&p.current?.open!==!0)return;let Z=$();if(Z===void 0)return;let j={navigation:Z,pathname:location.pathname,documents:b.scrollTop,outline:u.current.scrollTop};e.stores.scroll.setState(K=>({positions:{...K.positions,[h.current]:j}}))},P=()=>{h.current=w();let b=v(),Z=A();if(e.stores===void 0||b===null||u.current===null||Z===null||h.current==="drawer"&&p.current?.open!==!0)return;let j=$();if(j===void 0)return;let K=e.stores.scroll.getState().positions[h.current];b.scrollTop=0,u.current.scrollTop=0,K===void 0?uo({key:yt,version:1,layout:h.current,toState:xt}):K.navigation===j&&(b.scrollTop=K.documents,K.pathname===location.pathname&&(u.current.scrollTop=K.outline)),Z.dataset.navigationLayout=h.current,z.current=!1,y(),b.dispatchEvent(new Event("scroll")),u.current.dispatchEvent(new Event("scroll"))},L=b=>{p.current?.open!==!0&&(document.body.classList.remove("wg_shell__root--drawerOpen"),o(!1))},ce=()=>{y(),p.current?.close(),document.body.classList.remove("wg_shell__root--drawerOpen"),o(!1)},Q=b=>{w()!=="drawer"||p.current===null||p.current.open||(p.current.showModal(),document.body.classList.add("wg_shell__root--drawerOpen"),o(!0),P())},ze=b=>{ce()},V=b=>{b.preventDefault(),ce()},We=b=>{if(p.current===null||b.target!==p.current)return;let Z=p.current.getBoundingClientRect();(b.clientX<Z.left||b.clientX>Z.right||b.clientY<Z.top||b.clientY>Z.bottom)&&ce()},Ge=b=>{if(y(),p.current?.open!==!0||b.defaultPrevented||b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey||!(b.target instanceof Element))return;let Z=b.target.closest("a[href]");if(!(!(Z instanceof HTMLAnchorElement)||Z.target!==""&&Z.target!=="_self"||Z.hasAttribute("download"))&&(ce(),Z.origin===location.origin&&Z.pathname===location.pathname&&Z.search===location.search&&Z.hash)){let j=ge(Z.hash);j!==null&&(j.tabIndex=-1,j.focus({preventScroll:!0}))}},ae=()=>{let b=w();b!==h.current&&(document.activeElement instanceof HTMLElement&&(_.current={navigation:document.activeElement.closest("[data-navigation]")!==null,drawer:document.activeElement===s.current||document.activeElement.closest("[data-navigation-drawer]")!==null,href:document.activeElement.getAttribute("href")}),b!=="drawer"&&ce(),z.current=!0,h.current=b,at(()=>n(b)))},yn=b=>{!b.persisted||e.stores===void 0||(z.current=!0,at(()=>e.stores?.scroll.persist.rehydrate()),ae(),P())};return I(()=>{if(e.stores!==void 0)return d.current=matchMedia(fn),m.current=matchMedia(pn),d.current.addEventListener("change",ae),m.current.addEventListener("change",ae),addEventListener("pagehide",y),addEventListener("pageshow",yn),()=>{d.current?.removeEventListener("change",ae),m.current?.removeEventListener("change",ae),d.current=null,m.current=null,removeEventListener("pagehide",y),removeEventListener("pageshow",yn),document.body.classList.remove("wg_shell__root--drawerOpen")}},[e.stores]),I(()=>{if(e.stores===void 0)return;let b=!0,Z=()=>{if(!b||(P(),_.current===null))return;let j=A();if(t==="drawer")_.current.navigation&&s.current?.focus({preventScroll:!0});else if(_.current.navigation&&j!==null){let K=_.current.href;[...j.querySelectorAll("a[href]")].find(So=>So.getAttribute("href")===K)?.focus({preventScroll:!0})}else _.current.drawer&&l.current?.focus({preventScroll:!0});_.current=null};return v()?.isConnected?Z():queueMicrotask(Z),()=>{b=!1}},[t,e.stores]),g(R,{children:[g("div",{className:x("wg_navigation__sidebar",e.stores!==void 0&&"wg_navigation__sidebar--navigationReady"),children:[g("div",{className:x("wg_navigation__brandRow"),children:[g("a",{ref:e.stores===void 0?void 0:l,className:x("wg_navigation__brand"),href:"/","aria-current":e.data.home?"page":void 0,children:e.data.title}),g("button",{ref:e.stores===void 0?void 0:s,className:x("wg_navigation__menuToggle",e.stores!==void 0&&t==="drawer"&&"wg_navigation__menuToggle--visible"),type:"button","aria-label":fo,"aria-controls":"fh-navigation-drawer","aria-expanded":String(r),"data-navigation-open":"",onClick:Q,children:g("svg",{className:x("wg_navigation__menuIcon"),viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:g("path",{d:"M4 6h16M4 12h16M4 18h16"})})})]}),t!=="drawer"&&g("div",{ref:e.stores===void 0?void 0:i,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(_t,{portRef:a,kind:"documents",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:g(mn,{groups:e.data.groups})})})]}),g("aside",{className:x("wg_navigation__tocRail"),"data-navigation-rail":"",children:g("div",{className:x("wg_navigation__outline"),"data-navigation-outline":"",children:g(_t,{portRef:u,kind:"outline",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:e.data.outline.length>0&&g(ho,{groups:e.data.outline})})})}),g("dialog",{ref:e.stores===void 0?void 0:p,className:x("wg_navigation__drawer"),id:"fh-navigation-drawer","aria-labelledby":"fh-navigation-title","data-navigation-drawer":"",onClose:L,onCancel:V,onClick:We,children:[g("div",{className:x("wg_navigation__drawerHeader"),children:[g("h2",{className:x("wg_navigation__drawerTitle"),id:"fh-navigation-title",children:mo}),g("button",{className:x("wg_navigation__drawerClose"),type:"button","aria-label":po,"data-navigation-close":"",onClick:ze,children:g("svg",{className:x("wg_navigation__menuIcon"),viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:g("path",{d:"m6 6 12 12M18 6 6 18"})})})]}),g("div",{className:x("wg_navigation__drawerContent"),"data-navigation-content":"",children:t==="drawer"&&g("div",{ref:e.stores===void 0?void 0:c,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(_t,{portRef:f,kind:"documents",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:g(mn,{groups:e.data.groups})})})})]})]})};var vo=e=>{let t=E(null),n=E(0),r=E(null),o=E(null),i=E(null),a=()=>{clearTimeout(n.current),n.current=0,r.current?.abort(),r.current=null,t.current?.classList.remove("wg_prose__headingText--highlighted"),t.current=null},c=m=>{m.target===document&&(clearTimeout(n.current),r.current?.abort(),r.current=null,n.current=window.setTimeout(a,3e3))},f=m=>{a(),t.current=m===null?null:m.querySelector(".wg_prose__headingText"),t.current!==null&&(t.current.classList.add("wg_prose__headingText--highlighted"),n.current=window.setTimeout(a,3e3),r.current=new AbortController,document.addEventListener("scrollend",c,{signal:r.current.signal}))},u=m=>{if(m.defaultPrevented||m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey)return;let h=m.target instanceof Element?m.target.closest("a[href]"):null;if(h instanceof HTMLAnchorElement&&(h.target===""||h.target==="_self")&&!h.hasAttribute("download")&&h.origin===location.origin&&h.pathname===location.pathname&&h.search===location.search&&h.hash){let _=ge(h.hash);h.hash===location.hash&&f(_)}},p=()=>{let m=ge(location.hash);m?.scrollIntoView(),f(m)},s=()=>{i.current?.abort()},l=async()=>{let m=o.current,h=location.hash,_=ge(h);await document.fonts.ready,!(m===null||m.signal.aborted)&&(_!==null&&!i.current?.signal.aborted&&h===location.hash&&(_.scrollIntoView({behavior:"instant"}),f(_)),document.documentElement.style.removeProperty("scroll-behavior"))},d=()=>{ge(location.hash),document.readyState==="complete"&&l()};return I(()=>{let m=new AbortController;o.current=m,i.current=new AbortController,document.documentElement.style.scrollBehavior="auto",document.addEventListener("click",u,{signal:m.signal}),addEventListener("hashchange",p,{signal:m.signal}),addEventListener("load",l,{once:!0,signal:m.signal});for(let h of["wheel","touchmove","keydown","mousedown"])addEventListener(h,s,{once:!0,passive:!0,signal:m.signal});return document.readyState==="loading"?document.addEventListener("DOMContentLoaded",d,{once:!0,signal:m.signal}):d(),()=>{m.abort(),o.current=null,i.current?.abort(),i.current=null,a(),document.documentElement.style.removeProperty("scroll-behavior")}},[]),nt(()=>{if(!e.reload||o.current===null)return;let m=new EventSource(io);return m.onmessage=()=>location.reload(),()=>m.close()},[e.reload]),g(R,{children:[g("div",{className:x("wg_shellControls__navigation"),children:g(go,{data:e.data,stores:e.stores})}),g(ao,{ready:e.stores!==void 0})]})};function _n(e,t){let n;try{n=e()}catch{return}return{getItem:o=>{var i;let a=f=>f===null?null:JSON.parse(f,t?.reviver),c=(i=n.getItem(o))!=null?i:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,i)=>n.setItem(o,JSON.stringify(i,t?.replacer)),removeItem:o=>n.removeItem(o)}}var gn=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(r){return gn(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return gn(r)(n)}}}},us=(e,t)=>(n,r,o)=>{let i={storage:_n(()=>window.localStorage),partialize:_=>_,version:0,merge:(_,z)=>({...z,..._}),...t},a=!1,c=0,f=new Set,u=new Set,p=i.storage;if(!p)return e((..._)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),n(..._)},r,o);let s=()=>{let _=i.partialize({...r()});return p.setItem(i.name,{state:_,version:i.version})},l=o.setState;o.setState=(_,z)=>(l(_,z),s());let d=e((..._)=>(n(..._),s()),r,o);o.getInitialState=()=>d;let m,h=()=>{var _,z;if(!p)return;let w=++c;a=!1,f.forEach(v=>{var $;return v(($=r())!=null?$:d)});let A=((z=i.onRehydrateStorage)==null?void 0:z.call(i,(_=r())!=null?_:d))||void 0;return gn(p.getItem.bind(p))(i.name).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==i.version){if(i.migrate){let $=i.migrate(v.state,v.version);return $ instanceof Promise?$.then(y=>[!0,y]):[!0,$]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,v.state];return[!1,void 0]}).then(v=>{var $;if(w!==c)return;let[y,P]=v;if(m=i.merge(P,($=r())!=null?$:d),n(m,!0),y)return s()}).then(()=>{w===c&&(A?.(r(),void 0),m=r(),a=!0,u.forEach(v=>v(m)))}).catch(v=>{w===c&&A?.(void 0,v)})};return o.persist={setOptions:_=>{i={...i,..._},_.storage&&(p=_.storage)},clearStorage:()=>{++c,p?.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:_=>(f.add(_),()=>{f.delete(_)}),onFinishHydration:_=>(u.add(_),()=>{u.delete(_)})},i.skipHydration||h(),m||d},yo=us;var xo=e=>{let t,n=new Set,r=(u,p)=>{let s=typeof u=="function"?u(t):u;if(!Object.is(s,t)){let l=t;t=p??(typeof s!="object"||s===null)?s:Object.assign({},t,s),n.forEach(d=>d(t,l))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>f,subscribe:u=>(n.add(u),()=>n.delete(u))},f=t=e(r,o,c);return c},bo=(e=>e?xo(e):xo);var wo=e=>{let t=n=>({getItem:r=>n().getItem(r),setItem:(r,o)=>{try{return n().setItem(r,o)}catch{}},removeItem:r=>{try{return n().removeItem(r)}catch{}}});return{scroll:bo()(yo(()=>({positions:{}}),{name:yt,version:1,storage:_n(()=>t(e.session)),merge:n=>xt(n),migrate:()=>({positions:{}})}))}};var vn=document.querySelector("[data-shell-browser-root]"),$o=document.getElementById("fh-navigation-data");if(vn!==null&&$o!==null)try{let e=JSON.parse($o.textContent),t=Fr.parse(e),n=wo({session:()=>sessionStorage});Jn(vn).render(g(vo,{data:t,stores:n,reload:vn.hasAttribute("data-shell-reload")}))}catch(e){console.error("for-humanity browser initialization failed",e)}})();
|
|
37
|
+
)`,s.classList.add("wg_cursorFace__root--visible"))}))},c=s=>{if(!n.current?.matches||s.pointerType!=="mouse"){o();return}r.current.x=s.clientX,r.current.y=s.clientY,a()},f=()=>{t.current?.classList.contains("wg_cursorFace__root--visible")&&a()},u=()=>{if(t.current?.classList.contains("wg_cursorFace__root--visible"))try{sessionStorage.setItem(ht,JSON.stringify({x:r.current.x,y:r.current.y}))}catch{}},p=()=>{try{let s=sessionStorage.getItem(ht);if(sessionStorage.removeItem(ht),s===null||!n.current?.matches)return;let l=JSON.parse(s);typeof l=="object"&&l!==null&&"x"in l&&"y"in l&&typeof l.x=="number"&&typeof l.y=="number"&&Number.isFinite(l.x)&&Number.isFinite(l.y)&&(r.current.x=l.x,r.current.y=l.y,a())}catch{}};return I(()=>{if(!e.ready)return;let s=new AbortController,l=matchMedia("(hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference)");return n.current=l,p(),document.addEventListener("pointermove",c,{passive:!0,signal:s.signal}),document.addEventListener("pointerdown",c,{passive:!0,signal:s.signal}),document.documentElement.addEventListener("pointerleave",o,{signal:s.signal}),addEventListener("blur",o,{signal:s.signal}),addEventListener("resize",f,{signal:s.signal}),addEventListener("pagehide",u,{signal:s.signal}),addEventListener("pageshow",p,{signal:s.signal}),l.addEventListener("change",i,{signal:s.signal}),()=>{s.abort(),n.current=null,o()}},[e.ready]),g("img",{ref:e.ready?t:void 0,className:x("wg_cursorFace__root"),src:so,width:24,height:24,alt:"","aria-hidden":"true",draggable:!1,"data-cursor-face":""})};var fn="(width < 1024px)",pn="(width >= 1360px)";var uo=e=>{let t=document.querySelector("[data-navigation]"),n=document.querySelector('[data-navigation-scroll="documents"]'),r=document.querySelector('[data-navigation-scroll="outline"]');if(!(!t||!n||!r)){t.dataset.navigationLayout=e.layout;try{let o=sessionStorage.getItem(e.key),i=o===null?void 0:JSON.parse(o),a=typeof i=="object"&&i!==null&&"version"in i&&i.version===e.version&&"state"in i?e.toState(i.state):{positions:{}},c=sessionStorage.getItem(`${e.key}:${e.layout==="drawer"?"drawer":"desktop"}`),f=a.positions[e.layout]===void 0&&c!==null?e.toState({positions:{[e.layout]:JSON.parse(c)}}).positions[e.layout]:void 0,u=a.positions[e.layout]??f,p=[...t.querySelectorAll(".wg_navigationNav__root a[href]")].map(s=>`${s.pathname}:${s.textContent}`).join(`
|
|
38
|
+
`);if(u===void 0||u.navigation!==p)return;n.scrollTop=u.documents,u.pathname===location.pathname&&(r.scrollTop=u.outline)}catch{}}};var _t=e=>{let t=[...e.group.docs.map(n=>({kind:"document",key:`doc:${n.id}`,doc:n})),...e.group.groups.map(n=>({kind:"group",key:`group:${JSON.stringify(n.path)}`,group:n}))];return g("ul",{className:x("wg_navigationNavList__root"),"aria-label":e.group.name,children:t.map(n=>g("li",{className:x("wg_navigationNavList__item"),children:[n.kind==="document"&&g(R,{children:[g("a",{className:x("wg_navigationNavList__link",{"wg_navigationNavList__link--active":n.doc.active}),href:`/${n.doc.id}/`,title:n.doc.label,"aria-current":n.doc.active?"page":void 0,children:n.doc.name}),n.doc.children.length>0&&g(_t,{group:{name:n.doc.name,path:e.group.path,docs:n.doc.children,groups:[]}})]}),n.kind==="group"&&g(R,{children:[g("span",{className:x("wg_navigationNavList__branch"),children:n.group.name}),g(_t,{group:n.group})]})]},n.key))})};var lo="Document navigation",fo="Open navigation",po="Close navigation",mo="Navigation";var dn="On this page";var mn=e=>g("nav",{className:x("wg_navigationNav__root"),"aria-label":lo,children:g("div",{className:x("wg_navigationNav__docs"),children:e.groups.map(t=>g("section",{className:x("wg_navigationNav__docGroup"),"aria-label":t.name,children:[g("div",{className:x("wg_navigationNav__group"),children:t.name}),g(_t,{group:t})]},JSON.stringify(t.path)))})});var vt=e=>{let[t,n]=O({above:!1,below:!1}),r=E(0),o=()=>{if(r.current=0,e.portRef.current===null)return;let c=e.portRef.current.scrollTop>1,f=e.portRef.current.scrollHeight-e.portRef.current.clientHeight-e.portRef.current.scrollTop>1;n(u=>u.above===c&&u.below===f?u:{above:c,below:f})},i=()=>{r.current===0&&(r.current=requestAnimationFrame(o))},a=c=>{e.onScroll?.(),i()};return I(()=>{if(!e.ready||e.portRef.current===null)return;let c=new ResizeObserver(i);c.observe(e.portRef.current),e.portRef.current.firstElementChild!==null&&c.observe(e.portRef.current.firstElementChild);let f=!0;return addEventListener("pageshow",i),e.portRef.current.isConnected?o():queueMicrotask(()=>{f&&o()}),()=>{f=!1,c.disconnect(),removeEventListener("pageshow",i),cancelAnimationFrame(r.current),r.current=0}},[e.portRef,e.ready]),I(()=>{e.ready&&e.portRef.current?.isConnected&&o()},[e.children,e.ready]),g("div",{ref:e.ready?e.portRef:void 0,className:x("wg_navigation__scroll",e.kind==="documents"&&"wg_navigation__documents",e.kind==="outline"&&"wg_navigation__headings",e.ready&&"wg_navigation__scroll--ready",e.ready&&t.above&&"wg_navigation__scroll--above",e.ready&&t.below&&"wg_navigation__scroll--below"),"data-navigation-scroll":e.kind,onClick:e.onClick,onScroll:a,children:e.children})};var yt=e=>{if(!e)return null;try{return document.getElementById(decodeURIComponent(e.slice(1)))}catch(t){if(t instanceof URIError)return null;throw t}};var ho=e=>{let[t,n]=O();return I(()=>{let o=e.groups.flatMap(f=>f.sections).flatMap(f=>[f.heading,...f.subs.map(u=>u.heading)]),i={id:0},a=()=>{i.id=0;let f=o.flatMap(u=>{let p=yt(`#${u.slug}`);return p?.checkVisibility()?[{slug:u.slug,top:p.getBoundingClientRect().top-Number.parseFloat(getComputedStyle(p).scrollMarginTop)}]:[]});n(f.findLast(u=>u.top<=1)?.slug??f[0]?.slug)},c=()=>{i.id===0&&(i.id=requestAnimationFrame(a))};return addEventListener("scroll",c,{passive:!0}),addEventListener("resize",c),addEventListener("toggle",c,!0),addEventListener("pageshow",c),document.addEventListener("DOMContentLoaded",c),document.readyState!=="loading"&&a(),()=>{cancelAnimationFrame(i.id),removeEventListener("scroll",c),removeEventListener("resize",c),removeEventListener("toggle",c,!0),removeEventListener("pageshow",c),document.removeEventListener("DOMContentLoaded",c)}},[e.groups]),g("nav",{className:x("wg_navigationToc__root"),"aria-label":dn,children:[g("div",{className:x("wg_navigationToc__label"),children:dn}),e.groups.map(r=>g("div",{className:x("wg_navigationToc__groupSection",{"wg_navigationToc__groupSection--named":r.part!==void 0}),children:[r.part!==void 0&&g("div",{className:x("wg_navigationToc__group"),children:r.part}),g("ul",{className:x("wg_navigationToc__list"),children:r.sections.map(o=>g("li",{className:x("wg_navigationToc__item"),children:[g("a",{className:x("wg_navigationToc__link",{"wg_navigationToc__link--active":o.heading.slug===t}),href:`#${o.heading.slug}`,"data-toc-link":"","aria-current":o.heading.slug===t?"location":void 0,children:o.heading.text}),o.subs.length>0&&g("ul",{className:x("wg_navigationToc__sub"),children:o.subs.map(i=>g("li",{className:x("wg_navigationToc__subItem"),children:g("a",{className:x("wg_navigationToc__subLink",{"wg_navigationToc__subLink--active":i.heading.slug===t}),href:`#${i.heading.slug}`,"data-toc-sub-link":"","aria-current":i.heading.slug===t?"location":void 0,children:i.heading.text})},i.heading.slug))})]},o.heading.slug))})]},r.sections[0].heading.slug))]})};var xt="for-humanity:navigation-scroll";var bt=e=>{let t=r=>{if(!(typeof r!="object"||r===null||!("navigation"in r)||typeof r.navigation!="string"||!("pathname"in r)||typeof r.pathname!="string"||!("documents"in r)||typeof r.documents!="number"||!Number.isFinite(r.documents)||r.documents<0||!("outline"in r)||typeof r.outline!="number"||!Number.isFinite(r.outline)||r.outline<0))return{navigation:r.navigation,pathname:r.pathname,documents:r.documents,outline:r.outline}};if(typeof e!="object"||e===null||!("positions"in e)||typeof e.positions!="object"||e.positions===null)return{positions:{}};let n={wide:t("wide"in e.positions?e.positions.wide:void 0),desktop:t("desktop"in e.positions?e.positions.desktop:void 0),drawer:t("drawer"in e.positions?e.positions.drawer:void 0)};return{positions:Object.fromEntries(Object.entries(n).filter(r=>r[1]!==void 0))}};var ge=e=>{let t=yt(e);for(let n=t?.closest("details");n;n=n.parentElement?.closest("details"))n.open=!0;return t};var go=e=>{let[t,n]=O(()=>e.stores===void 0?"desktop":matchMedia(fn).matches?"drawer":matchMedia(pn).matches?"wide":"desktop"),[r,o]=O(!1),i=E(null),a=E(null),c=E(null),f=E(null),u=E(null),p=E(null),s=E(null),l=E(null),d=E(null),m=E(null),h=E(t),_=E(null),z=E(!0),w=()=>d.current===null||m.current===null?h.current:d.current.matches?"drawer":m.current.matches?"wide":"desktop",A=()=>h.current==="drawer"?c.current:i.current,v=()=>h.current==="drawer"?f.current:a.current,$=()=>{let b=A();if(b!==null)return[...b.querySelectorAll(".wg_navigationNav__root a[href]")].map(Z=>`${Z.pathname}:${Z.textContent}`).join(`
|
|
39
|
+
`)},y=()=>{let b=v();if(e.stores===void 0||b===null||u.current===null||z.current||h.current!==w()||h.current==="drawer"&&p.current?.open!==!0)return;let Z=$();if(Z===void 0)return;let j={navigation:Z,pathname:location.pathname,documents:b.scrollTop,outline:u.current.scrollTop};e.stores.scroll.setState(K=>({positions:{...K.positions,[h.current]:j}}))},P=()=>{h.current=w();let b=v(),Z=A();if(e.stores===void 0||b===null||u.current===null||Z===null||h.current==="drawer"&&p.current?.open!==!0)return;let j=$();if(j===void 0)return;let K=e.stores.scroll.getState().positions[h.current];b.scrollTop=0,u.current.scrollTop=0,K===void 0?uo({key:xt,version:1,layout:h.current,toState:bt}):K.navigation===j&&(b.scrollTop=K.documents,K.pathname===location.pathname&&(u.current.scrollTop=K.outline)),Z.dataset.navigationLayout=h.current,z.current=!1,y(),b.dispatchEvent(new Event("scroll")),u.current.dispatchEvent(new Event("scroll"))},L=b=>{p.current?.open!==!0&&(document.body.classList.remove("wg_shell__root--drawerOpen"),o(!1))},ce=()=>{y(),p.current?.close(),document.body.classList.remove("wg_shell__root--drawerOpen"),o(!1)},Q=b=>{w()!=="drawer"||p.current===null||p.current.open||(p.current.showModal(),document.body.classList.add("wg_shell__root--drawerOpen"),o(!0),P())},ze=b=>{ce()},V=b=>{b.preventDefault(),ce()},We=b=>{if(p.current===null||b.target!==p.current)return;let Z=p.current.getBoundingClientRect();(b.clientX<Z.left||b.clientX>Z.right||b.clientY<Z.top||b.clientY>Z.bottom)&&ce()},Ge=b=>{if(y(),p.current?.open!==!0||b.defaultPrevented||b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey||!(b.target instanceof Element))return;let Z=b.target.closest("a[href]");if(!(!(Z instanceof HTMLAnchorElement)||Z.target!==""&&Z.target!=="_self"||Z.hasAttribute("download"))&&(ce(),Z.origin===location.origin&&Z.pathname===location.pathname&&Z.search===location.search&&Z.hash)){let j=ge(Z.hash);j!==null&&(j.tabIndex=-1,j.focus({preventScroll:!0}))}},ae=()=>{let b=w();b!==h.current&&(document.activeElement instanceof HTMLElement&&(_.current={navigation:document.activeElement.closest("[data-navigation]")!==null,drawer:document.activeElement===s.current||document.activeElement.closest("[data-navigation-drawer]")!==null,href:document.activeElement.getAttribute("href")}),b!=="drawer"&&ce(),z.current=!0,h.current=b,at(()=>n(b)))},yn=b=>{!b.persisted||e.stores===void 0||(z.current=!0,at(()=>e.stores?.scroll.persist.rehydrate()),ae(),P())};return I(()=>{if(e.stores!==void 0)return d.current=matchMedia(fn),m.current=matchMedia(pn),d.current.addEventListener("change",ae),m.current.addEventListener("change",ae),addEventListener("pagehide",y),addEventListener("pageshow",yn),()=>{d.current?.removeEventListener("change",ae),m.current?.removeEventListener("change",ae),d.current=null,m.current=null,removeEventListener("pagehide",y),removeEventListener("pageshow",yn),document.body.classList.remove("wg_shell__root--drawerOpen")}},[e.stores]),I(()=>{if(e.stores===void 0)return;let b=!0,Z=()=>{if(!b||(P(),_.current===null))return;let j=A();if(t==="drawer")_.current.navigation&&s.current?.focus({preventScroll:!0});else if(_.current.navigation&&j!==null){let K=_.current.href;[...j.querySelectorAll("a[href]")].find(So=>So.getAttribute("href")===K)?.focus({preventScroll:!0})}else _.current.drawer&&l.current?.focus({preventScroll:!0});_.current=null};return v()?.isConnected?Z():queueMicrotask(Z),()=>{b=!1}},[t,e.stores]),g(R,{children:[g("div",{className:x("wg_navigation__sidebar",e.stores!==void 0&&"wg_navigation__sidebar--navigationReady"),children:[g("div",{className:x("wg_navigation__brandRow"),children:[g("a",{ref:e.stores===void 0?void 0:l,className:x("wg_navigation__brand"),href:"/","aria-current":e.data.home?"page":void 0,children:e.data.title}),g("button",{ref:e.stores===void 0?void 0:s,className:x("wg_navigation__menuToggle",e.stores!==void 0&&t==="drawer"&&"wg_navigation__menuToggle--visible"),type:"button","aria-label":fo,"aria-controls":"fh-navigation-drawer","aria-expanded":String(r),"data-navigation-open":"",onClick:Q,children:g("svg",{className:x("wg_navigation__menuIcon"),viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:g("path",{d:"M4 6h16M4 12h16M4 18h16"})})})]}),t!=="drawer"&&g("div",{ref:e.stores===void 0?void 0:i,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(vt,{portRef:a,kind:"documents",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:g(mn,{groups:e.data.groups})})})]}),g("aside",{className:x("wg_navigation__tocRail"),"data-navigation-rail":"",children:g("div",{className:x("wg_navigation__outline"),"data-navigation-outline":"",children:g(vt,{portRef:u,kind:"outline",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:e.data.outline.length>0&&g(ho,{groups:e.data.outline})})})}),g("dialog",{ref:e.stores===void 0?void 0:p,className:x("wg_navigation__drawer"),id:"fh-navigation-drawer","aria-labelledby":"fh-navigation-title","data-navigation-drawer":"",onClose:L,onCancel:V,onClick:We,children:[g("div",{className:x("wg_navigation__drawerHeader"),children:[g("h2",{className:x("wg_navigation__drawerTitle"),id:"fh-navigation-title",children:mo}),g("button",{className:x("wg_navigation__drawerClose"),type:"button","aria-label":po,"data-navigation-close":"",onClick:ze,children:g("svg",{className:x("wg_navigation__menuIcon"),viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:g("path",{d:"m6 6 12 12M18 6 6 18"})})})]}),g("div",{className:x("wg_navigation__drawerContent"),"data-navigation-content":"",children:t==="drawer"&&g("div",{ref:e.stores===void 0?void 0:c,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(vt,{portRef:f,kind:"documents",ready:e.stores!==void 0,onScroll:y,onClick:Ge,children:g(mn,{groups:e.data.groups})})})})]})]})};var vo=e=>{let t=E(null),n=E(0),r=E(null),o=E(null),i=E(null),a=()=>{clearTimeout(n.current),n.current=0,r.current?.abort(),r.current=null,t.current?.classList.remove("wg_prose__headingText--highlighted"),t.current=null},c=m=>{m.target===document&&(clearTimeout(n.current),r.current?.abort(),r.current=null,n.current=window.setTimeout(a,3e3))},f=m=>{a(),t.current=m===null?null:m.querySelector(".wg_prose__headingText"),t.current!==null&&(t.current.classList.add("wg_prose__headingText--highlighted"),n.current=window.setTimeout(a,3e3),r.current=new AbortController,document.addEventListener("scrollend",c,{signal:r.current.signal}))},u=m=>{if(m.defaultPrevented||m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey)return;let h=m.target instanceof Element?m.target.closest("a[href]"):null;if(h instanceof HTMLAnchorElement&&(h.target===""||h.target==="_self")&&!h.hasAttribute("download")&&h.origin===location.origin&&h.pathname===location.pathname&&h.search===location.search&&h.hash){let _=ge(h.hash);h.hash===location.hash&&f(_)}},p=()=>{let m=ge(location.hash);m?.scrollIntoView(),f(m)},s=()=>{i.current?.abort()},l=async()=>{let m=o.current,h=location.hash,_=ge(h);await document.fonts.ready,!(m===null||m.signal.aborted)&&(_!==null&&!i.current?.signal.aborted&&h===location.hash&&(_.scrollIntoView({behavior:"instant"}),f(_)),document.documentElement.style.removeProperty("scroll-behavior"))},d=()=>{ge(location.hash),document.readyState==="complete"&&l()};return I(()=>{let m=new AbortController;o.current=m,i.current=new AbortController,document.documentElement.style.scrollBehavior="auto",document.addEventListener("click",u,{signal:m.signal}),addEventListener("hashchange",p,{signal:m.signal}),addEventListener("load",l,{once:!0,signal:m.signal});for(let h of["wheel","touchmove","keydown","mousedown"])addEventListener(h,s,{once:!0,passive:!0,signal:m.signal});return document.readyState==="loading"?document.addEventListener("DOMContentLoaded",d,{once:!0,signal:m.signal}):d(),()=>{m.abort(),o.current=null,i.current?.abort(),i.current=null,a(),document.documentElement.style.removeProperty("scroll-behavior")}},[]),nt(()=>{if(!e.reload||o.current===null)return;let m=new EventSource(io);return m.onmessage=()=>location.reload(),()=>m.close()},[e.reload]),g(R,{children:[g("div",{className:x("wg_shellControls__navigation"),children:g(go,{data:e.data,stores:e.stores})}),e.data.cursorFace&&g(ao,{ready:e.stores!==void 0})]})};function _n(e,t){let n;try{n=e()}catch{return}return{getItem:o=>{var i;let a=f=>f===null?null:JSON.parse(f,t?.reviver),c=(i=n.getItem(o))!=null?i:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,i)=>n.setItem(o,JSON.stringify(i,t?.replacer)),removeItem:o=>n.removeItem(o)}}var gn=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(r){return gn(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return gn(r)(n)}}}},us=(e,t)=>(n,r,o)=>{let i={storage:_n(()=>window.localStorage),partialize:_=>_,version:0,merge:(_,z)=>({...z,..._}),...t},a=!1,c=0,f=new Set,u=new Set,p=i.storage;if(!p)return e((..._)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),n(..._)},r,o);let s=()=>{let _=i.partialize({...r()});return p.setItem(i.name,{state:_,version:i.version})},l=o.setState;o.setState=(_,z)=>(l(_,z),s());let d=e((..._)=>(n(..._),s()),r,o);o.getInitialState=()=>d;let m,h=()=>{var _,z;if(!p)return;let w=++c;a=!1,f.forEach(v=>{var $;return v(($=r())!=null?$:d)});let A=((z=i.onRehydrateStorage)==null?void 0:z.call(i,(_=r())!=null?_:d))||void 0;return gn(p.getItem.bind(p))(i.name).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==i.version){if(i.migrate){let $=i.migrate(v.state,v.version);return $ instanceof Promise?$.then(y=>[!0,y]):[!0,$]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,v.state];return[!1,void 0]}).then(v=>{var $;if(w!==c)return;let[y,P]=v;if(m=i.merge(P,($=r())!=null?$:d),n(m,!0),y)return s()}).then(()=>{w===c&&(A?.(r(),void 0),m=r(),a=!0,u.forEach(v=>v(m)))}).catch(v=>{w===c&&A?.(void 0,v)})};return o.persist={setOptions:_=>{i={...i,..._},_.storage&&(p=_.storage)},clearStorage:()=>{++c,p?.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>h(),hasHydrated:()=>a,onHydrate:_=>(f.add(_),()=>{f.delete(_)}),onFinishHydration:_=>(u.add(_),()=>{u.delete(_)})},i.skipHydration||h(),m||d},yo=us;var xo=e=>{let t,n=new Set,r=(u,p)=>{let s=typeof u=="function"?u(t):u;if(!Object.is(s,t)){let l=t;t=p??(typeof s!="object"||s===null)?s:Object.assign({},t,s),n.forEach(d=>d(t,l))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>f,subscribe:u=>(n.add(u),()=>n.delete(u))},f=t=e(r,o,c);return c},bo=(e=>e?xo(e):xo);var wo=e=>{let t=n=>({getItem:r=>n().getItem(r),setItem:(r,o)=>{try{return n().setItem(r,o)}catch{}},removeItem:r=>{try{return n().removeItem(r)}catch{}}});return{scroll:bo()(yo(()=>({positions:{}}),{name:xt,version:1,storage:_n(()=>t(e.session)),merge:n=>bt(n),migrate:()=>({positions:{}})}))}};var vn=document.querySelector("[data-shell-browser-root]"),$o=document.getElementById("fh-navigation-data");if(vn!==null&&$o!==null)try{let e=JSON.parse($o.textContent),t=Fr.parse(e),n=wo({session:()=>sessionStorage});Jn(vn).render(g(vo,{data:t,stores:n,reload:vn.hasAttribute("data-shell-reload")}))}catch(e){console.error("for-humanity browser initialization failed",e)}})();
|
package/dist/cli.js
CHANGED
|
@@ -76,12 +76,14 @@ var font_cache_control = "public, max-age=31536000, immutable";
|
|
|
76
76
|
// src/constant/site.ts
|
|
77
77
|
var site_config_absent = {};
|
|
78
78
|
var site_navigation_default = [];
|
|
79
|
+
var site_port_default = 4321;
|
|
80
|
+
var site_port_min = 1;
|
|
81
|
+
var site_port_max = 65535;
|
|
79
82
|
|
|
80
83
|
// src/entry/cli/_constant/cli.ts
|
|
81
84
|
var cli_default_command = "dev";
|
|
82
85
|
var cli_default_docs_dir = ".";
|
|
83
86
|
var cli_config_file_name = "for-humanity.config.mjs";
|
|
84
|
-
var cli_dev_port = 4321;
|
|
85
87
|
var cli_reload_delay_ms = 150;
|
|
86
88
|
|
|
87
89
|
// src/entry/cli/_constant/crawling.ts
|
|
@@ -218,7 +220,8 @@ var toNavigationData = (options) => ({
|
|
|
218
220
|
title: options.site.title,
|
|
219
221
|
groups: toDocGroups({ docs: options.docs, navigation: options.site.navigation }).map((group) => toNavigationGroup({ group, current: options.current })),
|
|
220
222
|
outline: options.outline === void 0 ? [] : toTocGroups(options.outline),
|
|
221
|
-
home: options.current === void 0
|
|
223
|
+
home: options.current === void 0,
|
|
224
|
+
cursorFace: options.site.cursorFace
|
|
222
225
|
});
|
|
223
226
|
|
|
224
227
|
// src/component/widget/navigation/_function/to-navigation-json.ts
|
|
@@ -955,7 +958,7 @@ var WgShellControls = (props) => {
|
|
|
955
958
|
}, [props.reload]);
|
|
956
959
|
return /* @__PURE__ */ jsxs6(Fragment3, { children: [
|
|
957
960
|
/* @__PURE__ */ jsx8("div", { className: clsx8("wg_shellControls__navigation"), children: /* @__PURE__ */ jsx8(WgNavigation, { data: props.data, stores: props.stores }) }),
|
|
958
|
-
/* @__PURE__ */ jsx8(WgCursorFace, { ready: props.stores !== void 0 })
|
|
961
|
+
props.data.cursorFace && /* @__PURE__ */ jsx8(WgCursorFace, { ready: props.stores !== void 0 })
|
|
959
962
|
] });
|
|
960
963
|
};
|
|
961
964
|
|
|
@@ -1945,6 +1948,14 @@ var siteConfigSchema = z3.object({
|
|
|
1945
1948
|
* 공개 사이트 루트 URL · 지정할 때만 robots.txt와 sitemap.xml 생성
|
|
1946
1949
|
*/
|
|
1947
1950
|
url: z3.url({ protocol: /^https?$/ }).transform((value) => new URL(value)).refine((value) => value.username === "" && value.password === "" && value.pathname === "/" && value.search === "" && value.hash === "", copy_error_site_url).transform((value) => value.origin).optional(),
|
|
1951
|
+
/**
|
|
1952
|
+
* dev·preview 서버 포트 · 같은 기계에서 문서 프로젝트 둘을 나란히 띄울 때 한쪽에 지정
|
|
1953
|
+
*/
|
|
1954
|
+
port: z3.int().min(site_port_min).max(site_port_max).default(site_port_default),
|
|
1955
|
+
/**
|
|
1956
|
+
* 데스크톱 커서 옆 픽셀 얼굴 · 기본 꺼짐 · favicon 은 설정과 무관
|
|
1957
|
+
*/
|
|
1958
|
+
cursorFace: z3.boolean().default(false),
|
|
1948
1959
|
/**
|
|
1949
1960
|
* 탐색 묶음 경로의 읽는 순서 · 미지정 형제 묶음은 뒤에서 이름순
|
|
1950
1961
|
*/
|
|
@@ -2033,6 +2044,12 @@ var main = async () => {
|
|
|
2033
2044
|
const kitRoot = fileURLToPath(new URL("../", import.meta.url));
|
|
2034
2045
|
const docsRoot = resolve3(docsDir);
|
|
2035
2046
|
const outDir = join4(docsRoot, "dist");
|
|
2047
|
+
const configFile = join4(docsRoot, cli_config_file_name);
|
|
2048
|
+
const parsedConfig = siteConfigSchema.safeParse(existsSync3(configFile) ? (await import(pathToFileURL(configFile).href)).default : site_config_absent);
|
|
2049
|
+
if (!parsedConfig.success) {
|
|
2050
|
+
throw new Error(`${copy_error_config}: ${parsedConfig.error.issues.map((issue) => `${issue.path.join(".")} ${issue.message}`).join(", ")}`);
|
|
2051
|
+
}
|
|
2052
|
+
const siteConfig = parsedConfig.data;
|
|
2036
2053
|
if (command === "preview") {
|
|
2037
2054
|
const app2 = new Hono4();
|
|
2038
2055
|
app2.use(
|
|
@@ -2046,15 +2063,9 @@ var main = async () => {
|
|
|
2046
2063
|
}
|
|
2047
2064
|
})
|
|
2048
2065
|
);
|
|
2049
|
-
serve({ fetch: app2.fetch, port:
|
|
2066
|
+
serve({ fetch: app2.fetch, port: siteConfig.port }, (info) => console.log(`http://localhost:${info.port}/`));
|
|
2050
2067
|
return;
|
|
2051
2068
|
}
|
|
2052
|
-
const configFile = join4(docsRoot, cli_config_file_name);
|
|
2053
|
-
const parsedConfig = siteConfigSchema.safeParse(existsSync3(configFile) ? (await import(pathToFileURL(configFile).href)).default : site_config_absent);
|
|
2054
|
-
if (!parsedConfig.success) {
|
|
2055
|
-
throw new Error(`${copy_error_config}: ${parsedConfig.error.issues.map((issue) => `${issue.path.join(".")} ${issue.message}`).join(", ")}`);
|
|
2056
|
-
}
|
|
2057
|
-
const siteConfig = parsedConfig.data;
|
|
2058
2069
|
const mono = toFontCss({ css: join4(kitRoot, font_mono_css), fontDir: asset_font_dir });
|
|
2059
2070
|
const body = toFontCss({ css: join4(kitRoot, font_body_css), fontDir: asset_font_dir });
|
|
2060
2071
|
const brand = toFontCss({ css: join4(kitRoot, font_brand_css), fontDir: asset_font_dir });
|
|
@@ -2102,7 +2113,7 @@ var main = async () => {
|
|
|
2102
2113
|
}
|
|
2103
2114
|
const reload = new EventEmitter();
|
|
2104
2115
|
let generation = 0;
|
|
2105
|
-
serve({ fetch: createDevApp({ pages: app, crawling, files, reload }).fetch, port:
|
|
2116
|
+
serve({ fetch: createDevApp({ pages: app, crawling, files, reload }).fetch, port: siteConfig.port }, (info) => console.log(`http://localhost:${info.port}/`));
|
|
2106
2117
|
const reloadDocs = debounce(
|
|
2107
2118
|
toChangeQueue({
|
|
2108
2119
|
run: async () => {
|
package/package.json
CHANGED
|
@@ -14,4 +14,5 @@ export const toNavigationData = (options: {site: SiteConfig; docs: Doc[]; curren
|
|
|
14
14
|
groups: toDocGroups({docs: options.docs, navigation: options.site.navigation}).map((group) => toNavigationGroup({group, current: options.current})),
|
|
15
15
|
outline: options.outline === undefined ? [] : toTocGroups(options.outline),
|
|
16
16
|
home: options.current === undefined,
|
|
17
|
+
cursorFace: options.site.cursorFace,
|
|
17
18
|
});
|
|
@@ -164,7 +164,7 @@ export const WgShellControls = (props: WgShellControlsProps) => {
|
|
|
164
164
|
<div className={clsx("wg_shellControls__navigation")}>
|
|
165
165
|
<WgNavigation data={props.data} stores={props.stores} />
|
|
166
166
|
</div>
|
|
167
|
-
<WgCursorFace ready={props.stores !== undefined} />
|
|
167
|
+
{props.data.cursorFace && <WgCursorFace ready={props.stores !== undefined} />}
|
|
168
168
|
</Fragment>
|
|
169
169
|
);
|
|
170
170
|
};
|
package/src/constant/site.ts
CHANGED
|
@@ -7,3 +7,18 @@ export const site_config_absent = {};
|
|
|
7
7
|
* 탐색 순서 생략 시 모든 묶음을 이름순 배치
|
|
8
8
|
*/
|
|
9
9
|
export const site_navigation_default: readonly string[] = [];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* dev·preview 서버 기본 포트
|
|
13
|
+
*/
|
|
14
|
+
export const site_port_default = 4321;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 포트 번호 하한 · TCP
|
|
18
|
+
*/
|
|
19
|
+
export const site_port_min = 1;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 포트 번호 상한 · TCP
|
|
23
|
+
*/
|
|
24
|
+
export const site_port_max = 65535;
|
|
@@ -64,6 +64,21 @@ test("public site URL is opt-in and normalizes an HTTP(S) root URL", () => {
|
|
|
64
64
|
assert.equal("url" in siteConfigSchema.parse({}), false);
|
|
65
65
|
});
|
|
66
66
|
|
|
67
|
+
test("site port defaults to 4321 and accepts only integers in the TCP range", () => {
|
|
68
|
+
assert.equal(siteConfigSchema.parse({}).port, 4321);
|
|
69
|
+
assert.equal(siteConfigSchema.parse({port: 4322}).port, 4322);
|
|
70
|
+
|
|
71
|
+
for (const port of [0, 65536, 4321.5, "4321"]) {
|
|
72
|
+
assert.equal(siteConfigSchema.safeParse({port}).success, false, String(port));
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
test("cursor face is off unless the site turns it on", () => {
|
|
77
|
+
assert.equal(siteConfigSchema.parse({}).cursorFace, false);
|
|
78
|
+
assert.equal(siteConfigSchema.parse({cursorFace: true}).cursorFace, true);
|
|
79
|
+
assert.equal(siteConfigSchema.safeParse({cursorFace: "true"}).success, false);
|
|
80
|
+
});
|
|
81
|
+
|
|
67
82
|
test("public site URL rejects unsupported protocols, credentials and non-root URLs", () => {
|
|
68
83
|
for (const url of [
|
|
69
84
|
"",
|
package/src/entry/cli/cli.ts
CHANGED
|
@@ -18,7 +18,7 @@ import {asset_favicon_path, asset_font_dir, asset_media_extensions, asset_style_
|
|
|
18
18
|
import {copy_error_config, copy_error_prefix, copy_error_unknown_command} from "@/constant/copy";
|
|
19
19
|
import {font_body_css, font_brand_css, font_cache_control, font_mono_css} from "@/constant/font";
|
|
20
20
|
import {site_config_absent} from "@/constant/site";
|
|
21
|
-
import {cli_config_file_name, cli_default_command, cli_default_docs_dir,
|
|
21
|
+
import {cli_config_file_name, cli_default_command, cli_default_docs_dir, cli_reload_delay_ms} from "@/entry/cli/_constant/cli";
|
|
22
22
|
import {crawling_reserved_roots} from "@/entry/cli/_constant/crawling";
|
|
23
23
|
import {createApp} from "@/entry/cli/_function/create-app";
|
|
24
24
|
import {createDevApp} from "@/entry/cli/_function/create-dev-app";
|
|
@@ -48,6 +48,14 @@ const main = async () => {
|
|
|
48
48
|
const kitRoot = fileURLToPath(new URL("../", import.meta.url));
|
|
49
49
|
const docsRoot = resolve(docsDir);
|
|
50
50
|
const outDir = join(docsRoot, "dist");
|
|
51
|
+
const configFile = join(docsRoot, cli_config_file_name);
|
|
52
|
+
const parsedConfig = siteConfigSchema.safeParse(existsSync(configFile) ? (await import(pathToFileURL(configFile).href)).default : site_config_absent);
|
|
53
|
+
|
|
54
|
+
if (!parsedConfig.success) {
|
|
55
|
+
throw new Error(`${copy_error_config}: ${parsedConfig.error.issues.map((issue) => `${issue.path.join(".")} ${issue.message}`).join(", ")}`);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const siteConfig = parsedConfig.data;
|
|
51
59
|
|
|
52
60
|
if (command === "preview") {
|
|
53
61
|
const app = new Hono();
|
|
@@ -63,19 +71,11 @@ const main = async () => {
|
|
|
63
71
|
},
|
|
64
72
|
}),
|
|
65
73
|
);
|
|
66
|
-
serve({fetch: app.fetch, port:
|
|
74
|
+
serve({fetch: app.fetch, port: siteConfig.port}, (info) => console.log(`http://localhost:${info.port}/`));
|
|
67
75
|
|
|
68
76
|
return;
|
|
69
77
|
}
|
|
70
78
|
|
|
71
|
-
const configFile = join(docsRoot, cli_config_file_name);
|
|
72
|
-
const parsedConfig = siteConfigSchema.safeParse(existsSync(configFile) ? (await import(pathToFileURL(configFile).href)).default : site_config_absent);
|
|
73
|
-
|
|
74
|
-
if (!parsedConfig.success) {
|
|
75
|
-
throw new Error(`${copy_error_config}: ${parsedConfig.error.issues.map((issue) => `${issue.path.join(".")} ${issue.message}`).join(", ")}`);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const siteConfig = parsedConfig.data;
|
|
79
79
|
// 내장 @font-face와 파일 수집 · font-family는 token.css 소유
|
|
80
80
|
const mono = toFontCss({css: join(kitRoot, font_mono_css), fontDir: asset_font_dir});
|
|
81
81
|
const body = toFontCss({css: join(kitRoot, font_body_css), fontDir: asset_font_dir});
|
|
@@ -136,7 +136,7 @@ const main = async () => {
|
|
|
136
136
|
const reload = new EventEmitter();
|
|
137
137
|
let generation = 0;
|
|
138
138
|
|
|
139
|
-
serve({fetch: createDevApp({pages: app, crawling, files, reload}).fetch, port:
|
|
139
|
+
serve({fetch: createDevApp({pages: app, crawling, files, reload}).fetch, port: siteConfig.port}, (info) => console.log(`http://localhost:${info.port}/`));
|
|
140
140
|
|
|
141
141
|
/**
|
|
142
142
|
* 갱신은 하나씩 실행 · 연속 저장 합치기 · 최신 변경만 적용
|
package/src/type/site-config.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {z} from "zod";
|
|
2
2
|
import {copy_error_navigation_clash, copy_error_site_url, copy_site_title_default} from "@/constant/copy";
|
|
3
|
-
import {site_navigation_default} from "@/constant/site";
|
|
3
|
+
import {site_navigation_default, site_port_default, site_port_max, site_port_min} from "@/constant/site";
|
|
4
4
|
import {status_default_phrases, status_kind} from "@/constant/status";
|
|
5
5
|
import {groupPathSchema} from "@/type/group-path";
|
|
6
6
|
|
|
@@ -26,6 +26,14 @@ export const siteConfigSchema = z.object({
|
|
|
26
26
|
.refine((value) => value.username === "" && value.password === "" && value.pathname === "/" && value.search === "" && value.hash === "", copy_error_site_url)
|
|
27
27
|
.transform((value) => value.origin)
|
|
28
28
|
.optional(),
|
|
29
|
+
/**
|
|
30
|
+
* dev·preview 서버 포트 · 같은 기계에서 문서 프로젝트 둘을 나란히 띄울 때 한쪽에 지정
|
|
31
|
+
*/
|
|
32
|
+
port: z.int().min(site_port_min).max(site_port_max).default(site_port_default),
|
|
33
|
+
/**
|
|
34
|
+
* 데스크톱 커서 옆 픽셀 얼굴 · 기본 꺼짐 · favicon 은 설정과 무관
|
|
35
|
+
*/
|
|
36
|
+
cursorFace: z.boolean().default(false),
|
|
29
37
|
/**
|
|
30
38
|
* 탐색 묶음 경로의 읽는 순서 · 미지정 형제 묶음은 뒤에서 이름순
|
|
31
39
|
*/
|