for-humanity 0.4.4 → 0.6.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 +21 -0
- package/README.md +6 -5
- package/dist/browser.js +39 -0
- package/dist/cli.css +350 -262
- package/dist/cli.js +1174 -364
- package/package.json +8 -11
- package/src/component/widget/{shell → cursor-face}/_constant/cursor-face.ts +5 -0
- package/src/component/widget/cursor-face/wg-cursor-face.css +15 -0
- package/src/component/widget/cursor-face/wg-cursor-face.tsx +153 -0
- package/src/component/widget/navigation/_constant/navigation-data-schema.ts +35 -0
- package/src/component/widget/navigation/_constant/navigation.ts +9 -0
- package/src/component/widget/navigation/_function/restore-navigation-scroll.ts +59 -0
- package/src/{content → component/widget/navigation/_function}/to-doc-groups/_to-doc-branches.ts +2 -2
- package/src/{content → component/widget/navigation/_function}/to-doc-groups/_to-doc-group-branches.ts +3 -3
- package/src/{content → component/widget/navigation/_function}/to-doc-groups/to-doc-groups.ts +1 -1
- package/src/component/widget/navigation/_function/to-navigation-branch-id.ts +6 -0
- package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-document.ts +14 -0
- package/src/component/widget/navigation/_function/to-navigation-data/_to-navigation-group.ts +14 -0
- package/src/component/widget/navigation/_function/to-navigation-data/to-navigation-data.ts +25 -0
- package/src/component/widget/navigation/_function/to-navigation-json.ts +8 -0
- package/src/component/widget/{shell → navigation}/_function/to-toc-groups.ts +2 -2
- package/src/{type → component/widget/navigation/_type}/doc-group.ts +1 -1
- package/src/component/widget/navigation/_type/navigation-data.ts +83 -0
- package/src/component/widget/navigation/_type/navigation-focus-snapshot.ts +21 -0
- package/src/component/widget/navigation/_wg-navigation-branch-toggle.css +28 -0
- package/src/component/widget/navigation/_wg-navigation-branch-toggle.tsx +48 -0
- package/src/component/widget/{shell/_wg-shell-nav-list.css → navigation/_wg-navigation-nav-list.css} +24 -16
- package/src/component/widget/navigation/_wg-navigation-nav-list.tsx +106 -0
- package/src/component/widget/{shell/_wg-shell-nav.css → navigation/_wg-navigation-nav.css} +9 -3
- package/src/component/widget/navigation/_wg-navigation-nav.tsx +43 -0
- package/src/component/widget/navigation/_wg-navigation-scroll.tsx +117 -0
- package/src/component/widget/{shell/_wg-shell-toc.css → navigation/_wg-navigation-toc.css} +39 -24
- package/src/component/widget/navigation/_wg-navigation-toc.tsx +155 -0
- package/src/component/widget/navigation/wg-navigation.css +282 -0
- package/src/component/widget/navigation/wg-navigation.tsx +479 -0
- package/src/component/widget/prose/_function/rehype-sections/rehype-sections.ts +1 -1
- package/src/component/widget/shell/wg-shell.css +13 -269
- package/src/component/widget/shell/wg-shell.tsx +16 -97
- package/src/component/widget/shell-controls/wg-shell-controls.css +4 -0
- package/src/component/widget/shell-controls/wg-shell-controls.tsx +170 -0
- package/src/constant/asset.ts +0 -5
- package/src/constant/copy.ts +5 -0
- package/src/entry/browser/browser.tsx +22 -0
- package/src/entry/cli/_constant/crawling.ts +14 -0
- package/src/{app.tsx → entry/cli/_function/create-app.tsx} +6 -6
- package/src/{dev.ts → entry/cli/_function/create-dev-app.ts} +9 -1
- package/src/{content → entry/cli/_function/create-processor}/create-processor.ts +3 -3
- package/src/{content → entry/cli/_function}/read-docs.ts +21 -2
- package/src/{content → entry/cli/_function}/read-home.ts +1 -1
- package/src/entry/cli/_function/to-crawling-app.ts +42 -0
- package/src/{content/read-docs.test.ts → entry/cli/cli.test.ts} +211 -31
- package/src/{cli.ts → entry/cli/cli.ts} +31 -15
- package/src/store/navigation/_constant/tree.ts +6 -0
- package/src/store/navigation/create-navigation-stores.test.ts +92 -0
- package/src/store/navigation/create-navigation-stores.ts +73 -0
- package/src/store/navigation/navigation-state.ts +46 -0
- package/src/store/navigation/navigation-storage.ts +14 -0
- package/src/store/navigation/to-navigation-scroll-state.ts +42 -0
- package/src/store/navigation/to-navigation-tree-state.ts +19 -0
- package/src/store/navigation/use-navigation-tree-store.ts +12 -0
- package/src/style/token.css +3 -2
- package/src/type/doc-content.ts +1 -1
- package/src/type/doc-file-data.ts +1 -1
- package/src/{component/widget/shell/_type → type}/doc-outline.ts +1 -1
- package/src/type/site-assets.ts +2 -2
- package/src/type/site-config.ts +10 -1
- package/dist/client.js +0 -7
- package/src/client.ts +0 -335
- package/src/component/widget/shell/_constant/navigation.ts +0 -9
- package/src/component/widget/shell/_function/bind-mobile-navigation.ts +0 -147
- package/src/component/widget/shell/_function/bind-navigation-overflow.ts +0 -47
- package/src/component/widget/shell/_function/bind-navigation-scroll.ts +0 -84
- package/src/component/widget/shell/_function/restore-navigation-scroll.ts +0 -47
- package/src/component/widget/shell/_wg-shell-nav-list.tsx +0 -87
- package/src/component/widget/shell/_wg-shell-nav.tsx +0 -49
- package/src/component/widget/shell/_wg-shell-toc.tsx +0 -57
- /package/src/{constant → component/widget/navigation/_constant}/locale.ts +0 -0
- /package/src/component/widget/{shell → navigation}/_constant/reading-line.ts +0 -0
- /package/src/{type → component/widget/navigation/_type}/doc-branch.ts +0 -0
- /package/src/component/widget/{shell → navigation}/_type/toc-group.ts +0 -0
- /package/src/{constant → entry/cli/_constant}/cli.ts +0 -0
- /package/src/{content/rehype-assets.ts → entry/cli/_function/create-processor/_rehype-assets.ts} +0 -0
- /package/src/{content/rehype-heading-ids.ts → entry/cli/_function/create-processor/_rehype-heading-ids.ts} +0 -0
- /package/src/{content/remark-report.ts → entry/cli/_function/create-processor/_remark-report.ts} +0 -0
- /package/src/{component/widget/prose/_type → type}/doc-section.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.6.0 — 2026-10-04
|
|
6
|
+
|
|
7
|
+
- Generate `robots.txt` and `sitemap.xml` in dev and static builds when an optional public root `url` is configured; include home and encoded document URLs, and leave projects without a URL unchanged.
|
|
8
|
+
- Validate public HTTP(S) origins and reject crawler-file document path collisions before processing; document Cloudflare crawler policy and Markdown negotiation separately.
|
|
9
|
+
|
|
10
|
+
## 0.5.0 — 2026-10-04
|
|
11
|
+
|
|
12
|
+
- Place document loading, Markdown processing and server setup under the CLI owner; keep document tree construction under navigation and share a standalone shell-controls widget through a lifecycle-managed Hono browser root.
|
|
13
|
+
|
|
14
|
+
- Consolidate browser behavior into a single Hono JSX shell entry, with component-owned anchor effects, dev reload subscriptions and an independent cursor widget that cleans up events and timers.
|
|
15
|
+
- Separate CLI and browser entry folders and move package build/test commands into repository scripts using the esbuild API.
|
|
16
|
+
|
|
17
|
+
- Generate page HTML with Hono JSX and remove the React server renderer and dependencies.
|
|
18
|
+
- Render interactive navigation with Hono client JSX components and Hooks, including native event handlers, persisted branch state, drawer focus and scroll restoration before the first paint. Keep the Markdown body as server-generated HTML.
|
|
19
|
+
|
|
20
|
+
- Use equal 240px document and outline sidebars at 1536px and wider, showing the outline only on wide screens and keeping document navigation in the mobile drawer.
|
|
21
|
+
- Add separate expand/collapse buttons to document groups, parent documents, outline parts and headings with children, with every branch expanded by default.
|
|
22
|
+
- Persist branch choices through Zustand vanilla stores in localStorage and independent wide, desktop and drawer scroll positions in sessionStorage, restoring layout and saved choices before the first paint.
|
|
23
|
+
- Compile a synchronous Hono JSX navigation entry to mount branch controls before the first paint, avoiding their reappearance after page navigation and function-string serialization.
|
|
24
|
+
- Match idle branch controls to the tree line color and keep persistence contracts in `src/store/navigation`.
|
|
25
|
+
|
|
5
26
|
## 0.4.4 — 2026-10-04
|
|
6
27
|
|
|
7
28
|
- Keep the document list and page outline in separate native scroll areas, so a shorter outline cannot clamp the document list position.
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Write Markdown. Keep the context. Share a static site.
|
|
|
13
13
|
[](https://github.com/minu-ha/for-humanity/blob/main/LICENSE)
|
|
14
14
|
[](https://www.npmjs.com/package/for-humanity)
|
|
15
15
|

|
|
16
|
-

|
|
17
17
|

|
|
18
18
|
|
|
19
19
|
[Quick start](#quick-start) · [Guide](https://github.com/minu-ha/for-humanity/blob/main/templates/document/writing.md) · [API](https://github.com/minu-ha/for-humanity/blob/main/templates/document/api.md) · [Deployment](https://github.com/minu-ha/for-humanity/blob/main/templates/document/deployment.md) · [Korean](https://github.com/minu-ha/for-humanity/blob/main/language/README.ko.md)
|
|
@@ -25,7 +25,7 @@ Write Markdown. Keep the context. Share a static site.
|
|
|
25
25
|
- **Find your place.** Pages grouped by purpose, a reading order, a tree of contents and the current reading position.
|
|
26
26
|
- **Keep the detail.** Notes for context, native disclosures for implementation details, and links that open folded sections.
|
|
27
27
|
- **Show the connections.** Tables, highlighted code, Mermaid flowcharts, status badges and color swatches.
|
|
28
|
-
- **Share the result.** Static HTML, self-hosted fonts and a small browser script.
|
|
28
|
+
- **Share the result.** Static HTML, self-hosted fonts and a small browser script. Browser interactions stay separate from Markdown rendering.
|
|
29
29
|
- **Read your way.** System-matched light and dark themes, keyboard navigation and a layout for narrow screens.
|
|
30
30
|
|
|
31
31
|
## Quick start
|
|
@@ -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.6.0
|
|
37
37
|
mkdir docs
|
|
38
38
|
```
|
|
39
39
|
|
|
@@ -52,8 +52,9 @@ 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.6.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
|
+
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).
|
|
57
58
|
|
|
58
59
|
### Develop the kit
|
|
59
60
|
|
|
@@ -74,7 +75,7 @@ pnpm preview # Preview the static site
|
|
|
74
75
|
pnpm build:pages # Add Cloudflare Pages headers and a 404 page
|
|
75
76
|
```
|
|
76
77
|
|
|
77
|
-
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.6.0` runs checks, publishes the package to npm, then creates a GitHub Release with the same package file.
|
|
78
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.
|
|
79
80
|
|
|
80
81
|
## Make it yours
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";(()=>{var K=Symbol("RENDERER"),te=Symbol("ERROR_HANDLER"),z=Symbol("STASH"),Qe=Symbol("INTERNAL"),et=Symbol("MEMO"),ve=Symbol("PERMALINK");var Ct=e=>(e[Qe]=!0,e);var G={Stringify:1,BeforeStream:2,Stream:3},E=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},Io=/[&<>'"]/,ye=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 c=i.isEscaped;if(i=await(typeof i=="object"?i.toString():i),typeof i=="object"&&t.push(...i.callbacks||[]),i.isEscaped??c)n+=i;else{let a=[n];q(i,a),n=a[0]}}return E(n,t)},q=(e,t)=>{let n=e.search(Io);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)},At=e=>{let t=e.callbacks;if(!t?.length)return e;let n=[e],r={};return t.forEach(o=>o({phase:G.Stringify,buffer:n,context:r})),n[0]},Pe=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 c=Promise.all(i.map(a=>a({phase:t,buffer:o,context:r}))).then(a=>Promise.all(a.filter(Boolean).map(f=>Pe(f,t,!1,r,o))).then(()=>o[0]));return n?E(await c,i):c};var xe={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Ce={},Ae="data-precedence",tt=e=>e.rel==="stylesheet"&&"precedence"in e,nt=(e,t)=>e==="link"?t:xe[e].length>0;var Cn=Object.defineProperty,rt=(e,t)=>{let n={};for(var r in e)Cn(n,r,{get:e[r],enumerable:!0});return t||Cn(n,Symbol.toStringTag,{value:"Module"}),n};var ue=e=>Array.isArray(e)?e:[e];var ot=rt({button:()=>Ko,form:()=>Bo,input:()=>Uo,link:()=>jo,meta:()=>Fo,script:()=>Lo,style:()=>Do,title:()=>Oo}),An=new WeakMap,Tn=(e,t,n,r)=>({buffer:o,context:i})=>{if(!o)return;let c=An.get(i)||{};An.set(i,c);let a=c[e]||=[],f=!1,u=xe[e],p=nt(e,r!==void 0);if(p){e:for(let[,s]of a)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"?a.push([t,n,r]):a.unshift([t,n,r]),o[0].indexOf("</head>")!==-1){let s;if(e==="link"||r!==void 0){let l=[];s=a.map(([m,,d],_)=>{if(d===void 0)return[m,Number.MAX_SAFE_INTEGER,_];let h=l.indexOf(d);return h===-1&&(l.push(d),h=l.length-1),[m,h,_]}).sort((m,d)=>m[1]-d[1]||m[2]-d[2]).map(([m])=>m)}else s=a.map(([l])=>l);s.forEach(l=>{o[0]=o[0].replaceAll(l,"")}),o[0]=o[0].replace(/(?=<\/head>)/,()=>s.join(""))}},Te=(e,t,n)=>U([new O(e,n,ue(t??[]))]),Ne=(e,t,n,r)=>{if("itemProp"in n)return Te(e,t,n);let{precedence:o,blocking:i,...c}=n;o=r?o??"":void 0,r&&(c[Ae]=o);let a=new O(e,c,ue(t||[])).toString();return a instanceof Promise?a.then(f=>E(f,[...f.callbacks||[],Tn(e,f,c,o)])):E(a,[Tn(e,a,c,o)])},Oo=({children:e,...t})=>{let n=it();if(n){let r=T(n);if(r==="svg"||r==="head")return new O("title",t,ue(e??[]))}return Ne("title",e,t,!1)},Lo=({children:e,...t})=>{let n=it();return["src","async"].some(r=>!t[r])||n&&T(n)==="head"?Te("script",e,t):Ne("script",e,t,!1)},Do=({children:e,...t})=>["href","precedence"].every(n=>n in t)?(t["data-href"]=t.href,delete t.href,Ne("style",e,t,!0)):Te("style",e,t),jo=({children:e,...t})=>["onLoad","onError"].some(n=>n in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?Te("link",e,t):Ne("link",e,t,tt(t)),Fo=({children:e,...t})=>{let n=it();return n&&T(n)==="head"?Te("meta",e,t):Ne("meta",e,t,!1)},Nn=(e,{children:t,...n})=>new O(e,n,ue(t??[])),Bo=e=>(typeof e.action=="function"&&(e.action=ve in e.action?e.action[ve]:void 0),Nn("form",e)),Mn=(e,t)=>(typeof t.formAction=="function"&&(t.formAction=ve in t.formAction?t.formAction[ve]:void 0),Nn(e,t)),Uo=e=>Mn("input",e),Ko=e=>Mn("button",e);var Ho=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),be=e=>Ho.get(e)||e,Vo=/[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,Tt=new Set,Rn=1024,Wo=/^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,In=new Set,Go=256,Me=(e,t,n)=>{e.size>=t&&e.clear(),e.add(n)},Ln=e=>In.has(e)?!0:typeof e!="string"?!1:e.length===0?!0:Wo.test(e)?!1:(Me(In,Go,e),!0),Mt=e=>{if(Tt.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 Vo.test(e)?!1:(Me(Tt,Rn,e),!0)}return Me(Tt,Rn,e),!0},qo=/[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/,Nt=new Set,On=1024,Xo=e=>{if(Nt.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 qo.test(e)?!1:(Me(Nt,On,e),!0)}return Me(Nt,On,e),!0},Jo=/[;"'\\/\[\](){}]/,Yo=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 c=e.indexOf("*/",r+2);if(c===-1)return!0;r=c+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},Re=(e,t)=>{for(let[n,r]of Object.entries(e)){let o=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,c=>`-${c.toLowerCase()}`);if(!Xo(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(Yo(r))continue;i=r}else continue;t(o,i)}};var Ie,it=()=>Ie,Qo=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,ei=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],ti=["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"],Dn=(e,t)=>e.then(n=>{if(typeof n!="string"&&!Array.isArray(n)&&!(n instanceof O))return n;let r=Array.isArray(n)?n:[n],o=()=>{let i=[""];return we(r,i),i.length===1?E(i[0],i.callbacks):ye(i,i.callbacks)};return t?t(o):Le(o)}),we=(e,t)=>{for(let n=0,r=e.length;n<r;n++){let o=e[n];if(typeof o=="string")q(o,t);else{if(typeof o=="boolean"||o===null||o===void 0)continue;if(o instanceof O)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):we(o,t)}}},U=e=>Le(()=>{let t=[""];return we(e,t),t.length===1?E(t[0],t.callbacks):ye(t,t.callbacks)}),ne=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof O)&&!(e instanceof Promise)&&!e.isEscaped&&typeof e.toString=="function",re=e=>{let t=e.toString(),n=r=>U([String(r)]);return t instanceof Promise?t.then(n):n(t)},O=class{tag;props;key;children;isEscaped=!0;constructor(e,t,n){if(typeof e!="function"&&!Ln(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 Le(()=>{let t=[""];return this.toStringToBuffer(t),t.length===1?"callbacks"in t?At(E(t[0],t.callbacks)).toString():t[0]:ye(t,t.callbacks)})}toStringToBuffer(e){let t=this.tag,n=this.props,{children:r}=this;e[0]+=`<${t}`;let o=t==="svg"||Ie&&T(Ie)==="svg"?i=>Qo(be(i)):i=>be(i);for(let[i,c]of Object.entries(n))if(i=o(i),!!Mt(i)&&i!=="children"){if(i==="style"&&typeof c=="object"){let a="";Re(c,(f,u)=>{u!=null&&(a+=`${a?";":""}${f}:${u}`)}),e[0]+=' style="',q(a,e),e[0]+='"'}else if(typeof c=="string")e[0]+=` ${i}="`,q(c,e),e[0]+='"';else if(c!=null)if(typeof c=="number"||c.isEscaped)e[0]+=` ${i}="${c}"`;else if(typeof c=="boolean"&&ti.includes(i))c&&(e[0]+=` ${i}=""`);else if(i==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[E(c.__html)]}else if(c instanceof Promise)e[0]+=` ${i}="`,e.unshift('"',c);else if(typeof c=="function"){if(!i.startsWith("on")&&i!=="ref")throw new Error(`Invalid prop '${i}' of type 'function' supplied to '${t}'.`)}else e[0]+=` ${i}="`,q(c.toString(),e),e[0]+='"'}if(ei.includes(t)&&r.length===0){e[0]+="/>";return}e[0]+=">",we(r,e),e[0]+=`</${t}>`}},Rt=class extends O{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("",Dn(r)):e.unshift("",Dn(r,le())):r instanceof O?r.toStringToBuffer(e):Array.isArray(r)?we(r,e):typeof r=="number"||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):q(r,e))}},It=class extends O{toStringToBuffer(e){we(this.children,e)}},Ot=(e,t,...n)=>{t??={},n.length&&(t.children=n.length===1?n[0]:n);let r=t.key;delete t.key;let o=Oe(e,t,n);return o.key=r,o},jn=!1,Oe=(e,t,n)=>{if(!jn){for(let r in Ce)ot[r][K]=Ce[r];jn=!0}return typeof e=="function"?new Rt(e,t,n):ot[e]?new Rt(ot[e],t,n):e==="svg"||e==="head"?(Ie||=De(""),new O(e,t,[new Rt(Ie,{value:e},n)])):new O(e,t,n)};var L=({children:e})=>new It("",{children:e},Array.isArray(e)?e:e?[e]:[]);var H=[],Fn=!1,Lt,Dt,jt=0,Ft=!1,Bn=()=>{if(Fn)return Lt;Fn=!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&&(Lt=new t),Lt},je=()=>Bn()?.getStore()||Dt,Un=()=>{jt>0&&!Ft&&(Ft=!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)."))},Kn=(e,t)=>{if(!e)return Un(),t.values;let n=e.get(t);return n||(n=[t.values[0]],e.set(t,n)),n},Hn=(e,t)=>{if(!e)return Un(),t.values.at(-1);let n=e.get(t);return n?.length?n.at(-1):t.values[0]},ni=e=>(e?H.filter(t=>e.has(t)):H).map(t=>[t,Hn(e,t)]),ri=(e,t,n)=>Le(()=>{let r=je(),o=n.map(([c,a])=>{let f=Kn(r,c);return f.push(a),f}),i=()=>{o.forEach(c=>{c.pop()})};try{let c=e();return c instanceof Promise?c.finally(i):(i(),c)}catch(c){throw i(),c}},t),Le=(e,t)=>{if(je())return e();let n=t??new WeakMap,r=Bn();if(r)return r.run(n,e);Dt=n;let o;try{o=e()}finally{Dt=void 0}return!Ft&&o instanceof Promise&&(jt++,o=o.finally(()=>{jt--})),o},le=()=>{let e=je(),t=ni(e);return n=>ri(n,e,t)},De=e=>{let t=[e],n=(r=>{let o=Kn(je(),n);o.push(r.value);let i;try{i=typeof r.children=="string"?U([r.children]):ne(r.children)?re(r.children):r.children?(Array.isArray(r.children)?new It("",{},r.children):r.children).toString():E("")}catch(c){throw o.pop(),c}return i instanceof Promise?i.finally(()=>o.pop()).then(c=>E(c,c.callbacks)):(o.pop(),E(i))});return n.values=t,n.Provider=n,n[K]=Bt(t),H.push(n),n},T=e=>Hn(je(),e);var Bt=e=>({value:t,children:n})=>{if(!n)return;let r={children:[{tag:Ct(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Ct(()=>{e.pop()}),props:{}});let o={tag:"",props:r,type:""};return o[te]=i=>{throw e.pop(),i},o},Fe=e=>{let t=[e],n=Bt(t);return n.values=t,n.Provider=n,H.push(n),n};var oi=0;var ii=2,si=3,ci=4,Ut=new WeakMap,Kt=(e,t)=>!e||!t||e.length!==t.length||t.some((n,r)=>n!==e[r]);var ai;var Vn=[];var M=e=>{let t=()=>typeof e=="function"?e():e,n=j.at(-1);if(!n)return[t(),()=>{}];let[,r]=n,o=r[z][1][oi]||=[],i=r[z][0]++;return o[i]||=[t(),c=>{let a=ai,f=o[i];if(typeof c=="function"&&(c=c(f[0])),!Object.is(c,f[0]))if(f[0]=c,Vn.length){let[u,p]=Vn.at(-1);Promise.all([u===3?r:Be([u,!1,a],r),p]).then(([s])=>{if(!s||!(u===2||u===3))return;let l=s.vC;requestAnimationFrame(()=>{setTimeout(()=>{l===s.vC&&Be([u===3?1:0,!1,a],s)})})})}else Be([0,!1,a],r)}]};var Wn=(e,t,n)=>{let r=j.at(-1);if(!r)return;let[,o]=r,i=o[z][1][1]||=[],c=o[z][0]++,[a,,f]=i[c]||=[];if(Kt(a,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[c]=p}},$e=(e,t)=>Wn(3,e,t),D=(e,t)=>Wn(1,e,t);var fe=(e,t)=>{let n=j.at(-1);if(!n)return e;let[,r]=n,o=r[z][1][ii]||=[],i=r[z][0]++,c=o[i];return Kt(c?.[1],t)?o[i]=[e,t]:e=o[i][0],e};function P(e){let t=j.at(-1);if(!t)return{current:e};let[,n]=t,r=n[z][1][ci]||=[],o=n[z][0]++;return r[o]||={current:e}}var st=e=>{let t=Ut.get(e);if(t){if(t.length===2)throw t[1];return t[0]}throw e.then(n=>Ut.set(e,[n]),n=>Ut.set(e,[void 0,n])),e},ct=(e,t)=>{let n=j.at(-1);if(!n)return e();let[,r]=n,o=r[z][1][si]||=[],i=r[z][0]++,c=o[i];return Kt(c?.[1],t)&&(o[i]=[e(),t]),o[i][0]};var at=(e,t,n)=>{let r=j.at(-1);if(!r){if(!n)throw new Error("getServerSnapshot is required for server side rendering");return n()}let o=r[0][4]&&n?n():t(),[,i]=M(0),c=P([o,t]);c.current=[o,t];let a=P(null);return $e(()=>{let f=()=>i(s=>s+1);a.current?.(),a.current=e(f);let[u,p]=c.current;Object.is(u,p())||f()},[e]),$e(()=>()=>a.current?.(),[]),o};var Ke="_hp",ui={Change:"Input",DoubleClick:"DblClick"},li={svg:"2000/svg",math:"1998/Math/MathML"},j=[],Ue=new WeakMap,Se,er=()=>Se,R=e=>"t"in e,Ht={onClick:["click",!1]},Gn=e=>{if(!e.startsWith("on"))return;if(Ht[e])return Ht[e];let t=e.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(t){let[,n,r]=t;return Ht[e]=[(ui[n]||n).toLowerCase(),!!r]}},qn=(e,t)=>Se&&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,tr=e=>e==null||e===!1?null:e,fi=(e,t)=>{"value"in t&&(e.value=tr(t.value),!e.multiple&&e.selectedIndex===-1&&(e.selectedIndex=0))},Xn=e=>e instanceof DOMException&&e.name==="InvalidCharacterError",pi=(e,t,n)=>{t||={};for(let r in t){let o=t[r];if(r!=="children"&&(!n||n[r]!==o)){r=be(r);let i=Gn(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"){Ue.get(e)?.();let c;typeof o=="function"?c=o(e)||(()=>o(null)):o&&"current"in o&&(o.current=e,c=()=>o.current=null),Ue.set(e,c)}else if(r==="style"){let c=e.style;typeof o=="string"?c.cssText=o:(c.cssText="",o!=null&&Re(o,c.setProperty.bind(c)))}else{if(r==="value"){let a=e.nodeName;if(a==="SELECT")continue;if((a==="INPUT"||a==="TEXTAREA")&&(e.value=tr(o),a==="TEXTAREA")){e.textContent=o;continue}}else(r==="checked"&&e.nodeName==="INPUT"||r==="selected"&&e.nodeName==="OPTION")&&(e[r]=o);let c=qn(e,r);try{o==null||o===!1?e.removeAttribute(c):o===!0?e.setAttribute(c,""):typeof o=="string"||typeof o=="number"?e.setAttribute(c,o):e.setAttribute(c,o.toString())}catch(a){if(!Xn(a))throw a}}}}if(n)for(let r in n){let o=n[r];if(r!=="children"&&!(r in t)){r=be(r);let i=Gn(r);if(i)e.removeEventListener(i[0],o,i[1]);else if(r==="ref")Ue.get(e)?.(),Ue.delete(e);else try{e.removeAttribute(qn(e,r))}catch(c){if(!Xn(c))throw c}}}},di=(e,t)=>{t[z][0]=0,j.push([e,t]);let n=t.tag[K]||t.tag,r=n.defaultProps?{...n.defaultProps,...t.props}:t.props;try{return[n.call(null,r)]}finally{j.pop()}},nr=(e,t,n,r,o)=>{e.vR?.length&&(r.push(...e.vR),delete e.vR),typeof e.tag=="function"&&e[z][1][1]?.forEach(i=>o.push(i)),e.vC.forEach(i=>{if(R(i))n.push(i);else if(typeof i.tag=="function"||i.tag===""){i.c=t;let c=n.length;if(nr(i,t,n,r,o),i.s){for(let a=c;a<n.length;a++)n[a].s=!0;i.s=!1}}else n.push(i),i.vR?.length&&(r.push(...i.vR),delete i.vR)})},mi=e=>{for(;e&&(e.tag===Ke||!e.e);)e=e.tag===Ke||!e.vC?.[0]?e.nN:e.vC[0];return e?.e},rr=e=>{R(e)||(e[z]?.[1][1]?.forEach(t=>t[2]?.()),Ue.get(e.e)?.(),e.p===2&&e.vC?.forEach(t=>t.p=2),e.vC?.forEach(rr)),e.p||(e.e?.remove(),delete e.e),typeof e.tag=="function"&&(pe.delete(e),ut.delete(e),delete e[z][3],e.a=!0)},Vt=(e,t,n)=>{e.c=t,or(e,t,n)},Jn=(e,t)=>{if(t){for(let n=0,r=e.length;n<r;n++)if(e[n]===t)return n}},Yn=Symbol(),or=(e,t,n)=>{let r=[],o=[],i=[];nr(e,t,r,o,i),o.forEach(rr);let c=n?void 0:t.childNodes,a,f=null;if(n)a=-1;else if(!c.length)a=0;else{let u=Jn(c,mi(e.nN));u!==void 0?(f=c[u],a=u):a=Jn(c,r.find(p=>p.tag!==Ke&&p.e)?.e)??-1,a===-1&&(n=!0)}for(let u=0,p=r.length;u<p;u++,a++){let s=r[u],l;if(s.s&&s.e)l=s.e,s.s=!1;else{let m=n||!s.e;R(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),pi(l,s.props,s.pP),or(s,l,m),s.tag==="select"&&fi(l,s.props))}s.tag===Ke?a--:n?l.parentNode||t.appendChild(l):c[a]!==l&&c[a-1]!==l&&(c[a+1]===l?t.appendChild(c[a]):t.insertBefore(l,f||c[a]||null))}if(e.pP&&(e.pP=void 0),i.length){let u=[],p=[];i.forEach(([,s,,l,m])=>{s&&u.push(s),l&&p.push(l),m?.()}),u.forEach(s=>s()),p.length&&requestAnimationFrame(()=>{p.forEach(s=>s())})}},gi=(e,t)=>!!(e&&e.length===t.length&&e.every((n,r)=>n[1]===t[r][1])),hi=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},ut=new WeakMap,lt=(e,t,n)=>{let r=!n&&t.pC;n&&(t.pC||=t.vC);let o;try{n||=typeof t.tag=="function"?di(e,t):ue(t.props.children),n[0]?.tag===""&&n[0][te]&&(o=n[0][te],e[5].push([e,o,t]));let i=r?[...t.pC]:t.vC?[...t.vC]:void 0,c=[],a,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=Wt(n[p]);if(s){typeof s.tag=="function"&&!s.tag[Qe]&&(H.length>0&&(s[z][2]=H.map(m=>[m,m.values.at(-1)])),e[5]?.length&&(s[z][3]=e[5].at(-1)));let l;if(u&&s.key===void 0&&!R(s)&&(i=[...u.values()],u=void 0),u){let m=s.key,d=u.get(m);d&&(R(s)?R(d):d.tag===s.tag&&d.key===m)&&(l=d,u.delete(m))}else if(i&&i.length){let m=i[0];if(R(s)?R(m):!R(m)&&(s.key!==void 0?m.key===s.key&&m.tag===s.tag:m.tag===s.tag))l=i.shift();else{let d=i.findIndex(R(s)?_=>R(_):s.key!==void 0?_=>_.key===s.key&&_.tag===s.tag:_=>_.tag===s.tag);f-=d===-1?i.length:d,d!==-1&&(l=i[d],i.splice(d,1)),f<0&&(f=1/0,u=hi(i))}}if(l)if(R(s))l.t!==s.t&&(l.t=s.t,l.d=!0),s=l;else{let m=l.pP=l.props;if(l.props=s.props,l.f||=s.f||t.f,typeof s.tag=="function"){let d=l[z][2];l[z][2]=s[z][2]||[],l[z][3]=s[z][3],!l.f&&((l.o||l)===s.o||l.tag[et]?.(m,l.props))&&gi(d,l[z][2])&&(l.s=!0)}s=l}else if(!R(s)&&Se){let m=T(Se);m&&(s.n=m)}if(!R(s)&&!s.s&&(lt(e,s),delete s.f),c.push(s),a&&!a.s&&!s.s)for(let m=a;m&&!R(m);m=m.vC?.at(-1))m.nN=s;a=s}}i=u?[...u.values()]:i,t.vR=r?[...t.vC,...i||[]]:i||[],t.vC=c,r&&delete t.pC}catch(i){if(t.f=!0,i===Yn){if(o)return;throw i}let[c,a,f]=t[z]?.[3]||[];if(a){let u=()=>Be([0,!1,e[2]],f),p=ut.get(f)||[];p.push(u),ut.set(f,p);let s=a(i,()=>{let l=ut.get(f);if(l){let m=l.indexOf(u);if(m!==-1)return l.splice(m,1),u()}});if(s){if(e[0]===1)e[1]=!0;else if(lt(e,f,[s]),(a.length===1||e!==c)&&f.c){Vt(f,f.c,!1);return}throw Yn}}throw i}finally{o&&e[5].pop()}},Wt=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[z]=[0,[]];else{let t=li[e.tag];t&&(Se||=Fe(""),e.props.children=[{tag:Se,props:{value:e.n=`http://www.w3.org/${t}`,children:e.props.children}}])}return e}},ir=(e,t,n)=>{e.c===t&&(e.c=n,e.vC.forEach(r=>ir(r,t,n)))},Qn=(e,t)=>{t[z][2]?.forEach(([n,r])=>{n.values.push(r)});try{lt(e,t,void 0)}catch{return}if(t.a){delete t.a;return}t[z][2]?.forEach(([n])=>{n.values.pop()}),(e[0]!==1||!e[1])&&Vt(t,t.c,!1)},pe=new WeakMap,ft=[],Be=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=>{Qn(i,t)}).then(()=>r(t)):(Qn(e,t),r(t))}]),ft.length)ft.at(-1).add(t);else{await Promise.resolve();let i=pe.get(t);i&&(pe.delete(t),i[1]())}return o},sr=(e,t)=>{let n=[];n[5]=[],n[4]=!0,lt(n,e,void 0),n[4]=!1;let r=document.createDocumentFragment();Vt(e,r,!0),ir(e,r,t),t.replaceChildren(r)};var He=e=>{let t=new Set;ft.push(t),e(),t.forEach(n=>{let r=pe.get(n);r&&(pe.delete(n),r[1]())}),ft.pop()},Gt=(e,t,n)=>({tag:Ke,props:{children:e},key:n,e:t,p:1});var cr=(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):sr(Wt({tag:()=>{let[o,i]=M(r);return n=i,o},props:{}}),e)},unmount(){n?.(null),n=null}}};function ur(e,t){return typeof t=="bigint"?t.toString():t}var Xt=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 lr(e){return new Xt(e)}function fr(e){return e==null}function pr(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var ar=Symbol("evaluating");function dr(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==ar)return r===void 0&&(r=ar,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function mr(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}var Jt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pt(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function ie(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 hr(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function se(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 _r(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 dt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Ve(e){return typeof e=="string"?e:e?.message}function Yt(e,t,n){var r;for(let o=t;o<e.length;o++)(r=e[o]).schema??(r.schema=n)}function ke(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,c=e.message?e.message:Ve(e.inst?._zod.def?.error?.(e))??Ve(i?.(e))??Ve(t?.error?.(e))??Ve(n.customError?.(e))??Ve(n.localeError?.(e))??"Invalid input",a={};for(let f of Object.keys(e))f==="inst"||f==="schema"||f==="continue"||f==="input"||f==="__proto__"||(a[f]=e[f]);return a.path??(a.path=[]),a.message=c,t?.reportInput&&(a.input=e.input),a}var _i=/[\uD800-\uDBFF]/;function vr(e){let t=e.length;if(!_i.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 yr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function xr(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):vi(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 Qt(e,t,n){return de(e,t,n,!1)}function vi(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 yi(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var qt,oe=!1,xi={configurable:!0,get(){oe=!0}};function X(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&qt!==e._zod){qt=void 0;return}qt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,xi);let o=oe;oe=!1;try{let i=n(this);return oe?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i}),oe=oe||o,i}catch(i){throw delete this[t],oe=oe||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function br(e,t,n,r){let o=yi(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 wr;var en={value:void 0,enumerable:!1},$r="captureStackTrace"in Error?Error:null;function bi(e){let t=$r;if(t){let n=t.stackTraceLimit;if(typeof n=="number"){try{t.stackTraceLimit=0}catch{return $r=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 c=n,a=c&&new WeakSet;function f(l,m){if(l._zod){if(l._zod.traits.has(e))return}else{en.value=new i(m);try{Object.defineProperty(l,"_zod",en)}finally{en.value=void 0}}if(l._zod.traits.add(e),t(l,m),a){let _=Object.getPrototypeOf(l),h=l._zod.constr.prototype,b=_;for(;b&&b!==h;)b=Object.getPrototypeOf(b);let S=b??_;a.has(S)||(a.add(S),xr(S,c))}let d=s.prototype;for(let _ in d)Object.prototype.hasOwnProperty.call(d,_)&&(_ in l||(l[_]=d[_].bind(l)))}let u=r?.Parent??Object;class p extends u{}Object.defineProperty(p,"name",{value:e});function s(l){let m=r?.Parent?bi(p):this;f(m,l);let d=m._zod.deferred;if(d){for(let h of d)h();m._zod.deferred=void 0}let _=globalThis.__zod_globalConfig?.postProcessor;return _&&_(m),m}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 J=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(wr=globalThis).__zod_globalConfig??(wr.__zod_globalConfig={});var We=globalThis.__zod_globalConfig;function ze(e){return e&&Object.assign(We,e),We}function wi(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,ur,2)),e.message}function $i(e){this._zod.message=e}var Si={get:wi,set:$i,enumerable:!0,configurable:!0},nn={value:void 0,enumerable:!1},Sr=new WeakSet([Object.prototype,Error.prototype]),kr=(e,t)=>{e.name="$ZodError",nn.value=t,Object.defineProperty(e,"issues",nn),nn.value=void 0,Object.defineProperty(e,"message",Si);let n=Object.getPrototypeOf(e);Sr.has(n)||(Sr.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})}}))},hc=C("$ZodError",kr),Ge=C("$ZodError",kr,void 0,{Parent:Error});var zi=e=>{let t=(n,r,o,i)=>{let c=o?{...o,async:!1}:{async:!1},a=n._zod.run({value:r,issues:[]},c);if(a instanceof Promise)throw new J;if(a.issues.length){let f=new(i?.Err??e)(a.issues.map(u=>ke(u,c,ze())));throw Jt(f,i?.callee??t),f}return a.value};return t},rn=zi(Ge),Ei=e=>{let t=async(n,r,o,i)=>{let c=o?{...o,async:!0}:{async:!0},a=n._zod.run({value:r,issues:[]},c);if(a instanceof Promise&&(a=await a),a.issues.length){let f=new(i?.Err??e)(a.issues.map(u=>ke(u,c,ze())));throw Jt(f,i?.callee??t),f}return a.value};return t},on=Ei(Ge),Zi=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 J;return i.issues.length?zr(e,i.issues,o):{success:!0,data:i.value}},sn=Zi(Ge);function zr(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(o=>ke(o,n,ze()))),t=void 0,n=void 0),r},set error(o){r=o,t=void 0,n=void 0}}}var Pi=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?zr(e,i.issues,o):{success:!0,data:i.value}},cn=Pi(Ge);var Er=/^[\s\S]{0,}$/;var Zr=/^-?\d+(?:\.\d+)?$/,Pr=/^(?:true|false)$/i;var an=C("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])});var Ai=e=>{let t=e.value;return!fr(t)&&t.length!==void 0};var Ar=C("$ZodCheckMinLength",(e,t)=>{var n;an.init(e,t),(n=e._zod.def).when??(n.when=Ai),e._zod.check=r=>{let o=r.value,i=o.length;if((typeof o=="string"&&i>=t.minimum&&i<t.minimum*2?vr(o):i)>=t.minimum)return;let a=yr(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}});var Tr={major:4,minor:6,patch:5};var Y=C("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Tr;let r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r?.length?[...r]:[];for(let i of o)for(let c of i._zod.onattach)c(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(a,f,u)=>{if(a.memo)return a;let p=se(a),s;for(let l of f){if(l._zod.def.when){if(_r(a)||!l._zod.def.when(a))continue}else if(p)continue;let m=a.issues.length,d=l._zod.check(a);if(d instanceof Promise&&u?.async===!1)throw new J;if(s||d instanceof Promise)s=(s??Promise.resolve()).then(async()=>{await d,a.issues.length!==m&&(Yt(a.issues,m,e),p||(p=se(a,m)))});else{if(a.issues.length===m)continue;Yt(a.issues,m,e),p||(p=se(a,m))}}return s?s.then(()=>a):a},c=(a,f,u)=>{if(se(a))return a.aborted=!0,a;let p=i(f,o,u);if(p instanceof Promise){if(u.async===!1)throw new J;return p.then(s=>e._zod.parse(s,u))}return e._zod.parse(p,u)};e._zod.run=(a,f)=>{if(f.skipChecks)return e._zod.parse(a,f);if(f.direction==="backward"){let p=e._zod.parse({value:a.value,issues:[]},{...f,skipChecks:!0});return p instanceof Promise?p.then(s=>c(s,a,f)):c(p,a,f)}let u=e._zod.parse(a,f);if(u instanceof Promise){if(f.async===!1)throw new J;return u.then(p=>i(p,o,f))}return i(u,o,f)}}},{get"~standard"(){return Qt(this,"~standard",Ri(this))},set"~standard"(e){de(this,"~standard",e)}}),Rr=(e,t)=>e.issues.length?{issues:e.issues.map(n=>ke(n,t,ze()))}:{value:e.value};async function Mi(e,t){let n={async:!0};return Rr(await e._zod.run({value:t,issues:[]},n),n)}function Ri(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Rr(r,n)}catch{}return Mi(e,t)},vendor:"zod",version:1}}var Ir=C("$ZodString",(e,t)=>{Y.init(e,t),e._zod.pattern=t.pattern??Er,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 Or=C("$ZodNumber",(e,t)=>{Y.init(e,t),e._zod.pattern=Zr,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 Lr=C("$ZodBoolean",(e,t)=>{Y.init(e,t),e._zod.pattern=Pr,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 Nr(e,t,n){e.issues.length&&t.issues.push(...dt(n,e.issues)),t.value[n]=e.value}var Dr=C("$ZodArray",(e,t)=>{Y.init(e,t);let n=We.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 c=[],a=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)c.push(p.then(s=>Nr(s,r,f)));else if(Nr(p,r,f),a&&p.issues.length!==0&&se(p))break}return c.length?Promise.all(c).then(()=>r):r}});function mt(e,t,n,r,o,i){let c=n in r,a=i==="optional";if(!(!c&&a&&o==="optional")){if(e.issues.length){if(o!==void 0&&a&&!c)return;t.issues.push(...dt(n,e.issues))}if(!c&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?(c||o==="defaulted"&&!a)&&(t.value[n]=void 0):t.value[n]=e.value}}var Ii=[];function Oi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Ii,o=r.length?[...t,...r]:t;for(let c of o)if(!e.shape?.[c]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(c)}": expected a Zod schema`);let i=hr(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(i)}}function Li(e,t,n,r,o,i,c){let a=[],f=o.keySet,u=o.catchall._zod,p=u.def.type,s=u.optin,l=u.optout,m=0;for(let d in t){if(c&&n.issues.length!==m){if(se(n,m))break;m=n.issues.length}if(f.has(d))continue;if(d==="__proto__"){p==="never"&&a.push(d);continue}if(p==="never"){a.push(d);continue}let _=u.run({value:t[d],issues:[]},r);_ instanceof Promise?e.push(_.then(h=>mt(h,n,d,t,s,l))):mt(_,n,d,t,s,l)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var jr=C("$ZodObject",(e,t)=>{Y.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=lr(()=>Oi(t));X(e,"propValues",u=>{let p=u.def.shape,s={};for(let l in p){let m=p[l]._zod;if(m.values){Object.prototype.hasOwnProperty.call(s,l)||mr(s,l,new Set);for(let d of m.values)s[l].add(d);m.optin!==void 0&&s[l].add(void 0)}}return s});let i=gr,c=t.catchall,a,f=We.memoizer;f?.attach(e),e._zod.parse=(u,p)=>{a??(a=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=[],m=a.shape,d=p?.abortEarly,_=u.issues.length;for(let h of a.allKeys){if(d&&u.issues.length!==_){if(se(u,_))break;_=u.issues.length}if(h==="__proto__")continue;let b=m[h],S=b._zod.optin,A=b._zod.optout,v=b._zod.run({value:s[h],issues:[]},p);v instanceof Promise?l.push(v.then($=>mt($,u,h,s,S,A))):mt(v,u,h,s,S,A)}return c?Li(l,s,u,p,o.value,e,d===!0):l.length?Promise.all(l).then(()=>u):u}});function Mr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Fr=C("$ZodOptional",(e,t)=>{Y.init(e,t),X(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",X(e,"values",n=>{let r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),X(e,"pattern",n=>{let r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${pr(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=>Mr(n,i)):Mr(n,o)}return t.innerType._zod.run(n,r)}});var Br=C("$ZodLazy",(e,t)=>{Y.init(e,t),dr(e._zod,"innerType",()=>{let n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),X(e,"pattern",n=>n.innerType?._zod?.pattern),X(e,"propValues",n=>n.innerType?._zod?.propValues),X(e,"optin",n=>n.innerType?._zod?.optin??void 0),X(e,"optout",n=>n.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)});function Ur(e){return e.checks&&(e.checks=[...e.checks]),e}function Kr(e,t){return new e(Ur({type:"string",...ie(t)}))}function Hr(e,t){return new e(Ur({type:"number",checks:[],...ie(t)}))}function Vr(e,t){return new e({type:"boolean",...ie(t)})}function un(e,t){return new Ar({check:"min_length",...ie(t),minimum:e})}var ge=C("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");Y.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 rn(this,e,t,{callee:this.parse})},parseAsync(e,t){return on(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return sn(this,e,t)},safeParseAsync(e,t){return cn(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 pt(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)}}),Fi=C("ZodMiniString",(e,t)=>{Ir.init(e,t),ge.init(e,t)});function F(e){return Kr(Fi,e)}var Bi=C("ZodMiniNumber",(e,t)=>{Or.init(e,t),ge.init(e,t)});function Wr(e){return Hr(Bi,e)}var Ui=C("ZodMiniBoolean",(e,t)=>{Lr.init(e,t),ge.init(e,t)});function qe(e){return Vr(Ui,e)}var Ki=C("ZodMiniArray",(e,t)=>{Dr.init(e,t),ge.init(e,t)});function Q(e,t){return new Ki({type:"array",element:e,...ie(t)})}var Hi=C("ZodMiniObject",(e,t)=>{jr.init(e,t),ge.init(e,t),br(e,"shape",n=>n._zod.def.shape,!1)});function ce(e,t){let n={type:"object",shape:e??{},...ie(t)};return new Hi(n)}var Vi=C("ZodMiniOptional",(e,t)=>{Fr.init(e,t),ge.init(e,t)});function ln(e){return new Vi({type:"optional",innerType:e})}var Wi=C("ZodMiniLazy",(e,t)=>{Br.init(e,t),ge.init(e,t)});function fn(e){return new Wi({type:"lazy",getter:e})}var qr=ce({id:F(),name:F(),label:F(),active:qe(),current:qe(),children:fn(()=>Q(qr))}),Xr=ce({name:F(),path:Q(F()),current:qe(),docs:Q(qr),groups:fn(()=>Q(Xr))}),Gr=ce({depth:Wr(),slug:F(),text:F()}),Jr=ce({title:F(),groups:Q(Xr),outline:Q(ce({part:ln(F()),sections:Q(ce({heading:Gr,part:ln(F()),subs:Q(ce({heading:Gr}))})).check(un(1))})),pageId:F(),home:qe()});function Yr(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=Yr(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Xi(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Yr(e))&&(r&&(r+=" "),r+=t);return r}var x=Xi;var eo=Fe({pending:!1,data:null,method:null,action:null}),Qr=new Set,to=e=>{Qr.add(e),e.finally(()=>Qr.delete(e))};var mn=rt({button:()=>fo,clearCache:()=>Ji,composeRef:()=>gt,form:()=>ao,input:()=>lo,link:()=>io,meta:()=>so,script:()=>ro,style:()=>oo,title:()=>no}),Ji=()=>{pn=Object.create(null),dn=Object.create(null)},gt=(e,t)=>ct(()=>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]),pn=Object.create(null),dn=Object.create(null),Xe=(e,t,n,r,o)=>{if(t?.itemProp)return{tag:e,props:t,type:e,ref:t.ref};let i=document.head,{onLoad:c,onError:a,precedence:f,blocking:u,...p}=t,s=null,l=!1,m=xe[e],d=nt(e,r),_=v=>v.getAttribute("rel")==="stylesheet"&&v.getAttribute("data-precedence")!==null,h;if(d){let v=i.querySelectorAll(e);e:for(let $ of v)if(!(e==="link"&&!_($))){for(let w of m)if($.getAttribute(w)===t[w]){s=$;break e}}if(!s){let $=m.reduce((w,Z)=>t[Z]===void 0?w:`${w}-${Z}-${t[Z]}`,e);l=!dn[$],s=dn[$]||=(()=>{let w=document.createElement(e);for(let Z of m)t[Z]!==void 0&&w.setAttribute(Z,t[Z]);return t.rel&&w.setAttribute("rel",t.rel),w})()}}else h=i.querySelectorAll(e);f=r?f??"":void 0,r&&(p[Ae]=f);let b=fe(v=>{if(d){if(e==="link"&&f!==void 0){let w=!1;for(let Z of i.querySelectorAll(e)){let N=Z.getAttribute(Ae);if(N===null){i.insertBefore(v,Z);return}if(w&&N!==f){i.insertBefore(v,Z);return}N===f&&(w=!0)}i.appendChild(v);return}let $=!1;for(let w of i.querySelectorAll(e)){if($&&w.getAttribute("data-precedence")!==f){i.insertBefore(v,w);return}w.getAttribute("data-precedence")===f&&($=!0)}i.appendChild(v)}else if(e==="link")i.contains(v)||i.appendChild(v);else if(h){let $=!1;for(let w of h)if(w===v){$=!0;break}$||i.insertBefore(v,i.contains(h[0])?h[0]:i.querySelector(e)),h=void 0}},[d,f,e]),S=gt(t.ref,v=>{let $=m[0];if(n===2&&(v.innerHTML=""),(l||h)&&b(v),!a&&!c||!$)return;let w=pn[v.getAttribute($)]||=new Promise((Z,N)=>{v.addEventListener("load",Z),v.addEventListener("error",N)});c&&(w=w.then(c)),a&&(w=w.catch(a)),w.catch(()=>{})});if(o&&u==="render"){let v=xe[e][0];if(v&&t[v]){let $=t[v],w=pn[$]||=new Promise((Z,N)=>{b(s),s.addEventListener("load",Z),s.addEventListener("error",N)});st(w)}}let A={tag:e,type:e,props:{...p,ref:S},ref:S};return A.p=n,s&&(A.e=s),Gt(A,i)},no=e=>{let t=er();return(t&&T(t))?.endsWith("svg")?{tag:"title",props:e,type:"title",ref:e.ref}:Xe("title",e,void 0,!1,!1)},ro=e=>!e||["src","async"].some(t=>!e[t])?{tag:"script",props:e,type:"script",ref:e.ref}:Xe("script",e,1,!1,!0),oo=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,Xe("style",e,2,!0,!0)),io=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}:Xe("link",e,1,tt(e),!0),so=e=>Xe("meta",e,void 0,!1,!1),co=Symbol(),ao=e=>{let{action:t,...n}=e;typeof t!="function"&&(n.action=t);let[r,o]=M([null,!1]),i=fe(async u=>{let p=u.isTrusted?t:u.detail[co];if(typeof p!="function")return;u.preventDefault();let s=new FormData(u.target);o([s,!0]);let l=p(s);l instanceof Promise&&(to(l),await l),o([null,!0])},[]),c=gt(e.ref,u=>(u.addEventListener("submit",i),()=>{u.removeEventListener("submit",i)})),[a,f]=r;return r[1]=!1,{tag:eo,props:{value:{pending:a!==null,data:a,method:a?"post":null,action:a?t:null},children:{tag:"form",props:{...n,ref:c},type:"form",ref:c}},f}},uo=(e,{formAction:t,...n})=>{if(typeof t=="function"){let r=fe(o=>{o.preventDefault(),o.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[co]:t}}))},[]);n.ref=gt(n.ref,o=>(o.addEventListener("click",r),()=>{o.removeEventListener("click",r)}))}return{tag:e,props:n,type:e,ref:n.ref}},lo=e=>uo("input",e),fo=e=>uo("button",e);Object.assign(Ce,{title:no,script:ro,style:oo,link:io,meta:so,form:ao,input:lo,button:fo});var gn=(e,t,n)=>(typeof e=="string"&&mn[e]&&(e=mn[e]),{tag:e,type:e,props:t,key:n,ref:t.ref}),Je=e=>gn("",e,void 0);var hn=(({children:e,fallback:t,fallbackRender:n,onError:r})=>{let o=Je({children:e});return o[te]=i=>{if(i instanceof Promise)throw i;return r?.(i),n?.(i)||t},o}),_n=(({children:e,fallback:t})=>{let n=Je({children:e});return n[te]=(r,o)=>{if(!(r instanceof Promise))throw r;return r.finally(o),t},n});var Yi=0,ht=async e=>{try{return e.flat().map(po)}catch(t){if(t instanceof Promise){let n=le();return await t,n(()=>ht(e))}else throw t}},po=e=>{if(e==null||typeof e=="boolean")return"";if(typeof e=="string"||Array.isArray(e))return U([e]);if(ne(e))return re(e);{let t=e.toString();return t instanceof Promise?t:E(t)}},mo=async({children:e,fallback:t,fallbackRender:n,onError:r})=>{if(!e)return E("");Array.isArray(e)||(e=[e]);let o=T(vn)?.scriptNonce,i,c=()=>i||=le(),a,f=()=>a||=(async()=>{let s=await t;if(s==null)return;if(typeof s=="string"||Array.isArray(s))return c()(()=>U([s]));if(ne(s))return c()(()=>re(s));let l=await c()(()=>s.toString());return E(l,l.callbacks||s.callbacks)})(),u=async s=>{let l=await f();return c()(async()=>{r?.(s);let m=l!==void 0?l:n&&Ot(L,{},n(s))||"",d=await L({children:m}).toString();return E(d,d.callbacks||m.callbacks)})},p=[];try{p=e.map(po)}catch(s){let l=c();s instanceof Promise?p=[s.then(()=>l(()=>ht(e))).catch(m=>u(m))]:p=[await u(s)]}if(p.some(s=>s instanceof Promise)){c();let s=Yi++,l=RegExp(`(<template id="E:${s}"></template>)(.*?)(<!--E:${s}-->)`,"s"),m=!1,d=async({error:b,buffer:S})=>{if(m)return"";m=!0;let A=await u(b),v=A.callbacks;return S?(S[0]=S[0].replace(l,()=>A),v?.length?E("",v):""):E(`<template data-hono-target="E:${s}">${A}</template><script>
|
|
2
|
+
((d,c,n) => {
|
|
3
|
+
c=d.currentScript.previousSibling
|
|
4
|
+
d=d.getElementById('E:${s}')
|
|
5
|
+
if(!d)return
|
|
6
|
+
do{n=d.nextSibling;n.remove()}while(n.nodeType!=8||n.nodeValue!='E:${s}')
|
|
7
|
+
d.replaceWith(c.content)
|
|
8
|
+
})(document)
|
|
9
|
+
<\/script>`,v)},_,h=Promise.all(p).catch(b=>_=b);return E(`<template id="E:${s}"></template><!--E:${s}-->`,[({phase:b,buffer:S,context:A})=>{if(b!==G.BeforeStream)return h.then(async v=>{if(_)throw _;v=v.flat();let $=v.join(""),w=S?"":`<template data-hono-target="E:${s}">${$}</template><script${o?` nonce="${o}"`:""}>
|
|
10
|
+
((d,c) => {
|
|
11
|
+
c=d.currentScript.previousSibling
|
|
12
|
+
d=d.getElementById('E:${s}')
|
|
13
|
+
if(!d)return
|
|
14
|
+
d.parentElement.insertBefore(c.content,d.nextSibling)
|
|
15
|
+
})(document)
|
|
16
|
+
<\/script>`;if(v.every(ee=>!ee.callbacks?.length))return S&&(S[0]=S[0].replace(l,()=>$)),w;S&&(S[0]=S[0].replace(l,(ee,V,W,Ye)=>`${V}${$}${Ye}`));let Z=v.map(ee=>ee.callbacks||[]).flat();b===G.Stream&&(w=await Pe(w,G.BeforeStream,!0,A));let N=0,Ee=Z.map(ee=>(...V)=>ee(...V)?.then(W=>(N++,S?(N===Z.length&&(S[0]=S[0].replace(l,(Ye,En,Et)=>Et)),S[0]+=W,E("",W.callbacks)):E(W+(N!==Z.length?"":`<script>
|
|
17
|
+
((d,c,n) => {
|
|
18
|
+
d=d.getElementById('E:${s}')
|
|
19
|
+
if(!d)return
|
|
20
|
+
n=d.nextSibling
|
|
21
|
+
while(n.nodeType!=8||n.nodeValue!='E:${s}'){n=n.nextSibling}
|
|
22
|
+
n.remove()
|
|
23
|
+
d.remove()
|
|
24
|
+
})(document)
|
|
25
|
+
<\/script>`),W.callbacks))).catch(W=>d({error:W,buffer:S})));return E(w,Ee)}).catch(v=>d({error:v,buffer:S}))}])}else return L({children:p})};mo[K]=hn;var vn=De(null),Qi=0,es=e=>typeof e=="string"||Array.isArray(e)?U([e]):e==null||typeof e=="boolean"?"":ne(e)?re(e):e.toString(),go=async({children:e,fallback:t})=>{Array.isArray(e)||(e=[e]);let n=T(vn)?.scriptNonce,r=[],o={[z]:[0,[]]},i=()=>{j.pop()};try{o[z][0]=0,j.push([[],o]),r=e.map(es)}catch(c){if(c instanceof Promise){let a=le();r=[c.then(()=>a(()=>(o[z][0]=0,j.push([[],o]),ht(e).finally(i))))]}else throw c}finally{i()}if(r.some(c=>c instanceof Promise)){let c=Qi++,a=await(typeof t=="string"||Array.isArray(t)?U([t]):ne(t)?re(t):t.toString());return E(`<template id="H:${c}"></template>${a}<!--/$-->`,[...a.callbacks||[],({phase:f,buffer:u,context:p})=>{if(f!==G.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:${c}"></template>.*?<!--/\\$-->`,"s"),()=>l));let m=u?"":`<template data-hono-target="H:${c}">${l}</template><script${n?` nonce="${n}"`:""}>
|
|
26
|
+
((d,c,n) => {
|
|
27
|
+
c=d.currentScript.previousSibling
|
|
28
|
+
d=d.getElementById('H:${c}')
|
|
29
|
+
if(!d)return
|
|
30
|
+
do{n=d.nextSibling;n.remove()}while(n.nodeType!=8||n.nodeValue!='/$')
|
|
31
|
+
d.replaceWith(c.content)
|
|
32
|
+
})(document)
|
|
33
|
+
<\/script>`,d=s.map(_=>_.callbacks||[]).flat();return d.length?(f===G.Stream&&(m=await Pe(m,G.BeforeStream,!0,p)),E(m,d)):m})}])}else return E(r.join(""))};go[K]=_n;var dp=new TextEncoder;var _t="fh-cursor-face";var ho="/_fh/reload",_o="/favicon.svg";function g(e,t,n){let r;if(!t||!("children"in t))r=Oe(e,t,[]);else{let o=t.children;r=Array.isArray(o)?Oe(e,t,o):Oe(e,t,[o])}return r.key=n,r}var yo=e=>{let t=P(null),n=P(null),r=P({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()},c=()=>{r.current.frame===0&&(r.current.frame=requestAnimationFrame(()=>{r.current.frame=0;let s=t.current;s!==null&&(s.style.transform=`translate3d(
|
|
34
|
+
${Math.max(0,Math.min(r.current.x+16,document.documentElement.clientWidth-s.width-16))}px,
|
|
35
|
+
${Math.max(0,Math.min(r.current.y+16,document.documentElement.clientHeight-s.height-16))}px,
|
|
36
|
+
0
|
|
37
|
+
)`,s.classList.add("wg_cursorFace__root--visible"))}))},a=s=>{if(!n.current?.matches||s.pointerType!=="mouse"){o();return}r.current.x=s.clientX,r.current.y=s.clientY,c()},f=()=>{t.current?.classList.contains("wg_cursorFace__root--visible")&&c()},u=()=>{if(t.current?.classList.contains("wg_cursorFace__root--visible"))try{sessionStorage.setItem(_t,JSON.stringify({x:r.current.x,y:r.current.y}))}catch{}},p=()=>{try{let s=sessionStorage.getItem(_t);if(sessionStorage.removeItem(_t),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,c())}catch{}};return D(()=>{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",a,{passive:!0,signal:s.signal}),document.addEventListener("pointerdown",a,{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:_o,width:24,height:24,alt:"","aria-hidden":"true",draggable:!1,"data-cursor-face":""})};var yn="(width < 1024px)",xn="(width >= 1536px)";var xo=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),c=typeof i=="object"&&i!==null&&"version"in i&&i.version===e.version&&"state"in i?e.toState(i.state):{positions:{}},a=sessionStorage.getItem(`${e.key}:${e.layout==="drawer"?"drawer":"desktop"}`),f=c.positions[e.layout]===void 0&&a!==null?e.toState({positions:{[e.layout]:JSON.parse(a)}}).positions[e.layout]:void 0,u=c.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 he=e=>`fh-branch-${encodeURIComponent(e)}`;var ae=e=>{let t=()=>e.onToggle?.(e.branchKey);return g("button",{className:x("wg_navigationBranchToggle__root"),type:"button","aria-label":`${e.collapsed[e.branchKey]===!0?"Expand":"Collapse"} ${e.label}`,"aria-expanded":String(e.collapsed[e.branchKey]!==!0),"aria-controls":he(e.branchKey),"data-navigation-toggle":e.branchKey,"data-navigation-label":e.label,hidden:e.onToggle===void 0,onClick:t,children:e.collapsed[e.branchKey]===!0?"+":"\u2212"})};var yt=e=>{let t=[...e.group.docs.map(r=>{let o=r.active;return{kind:"document",key:`doc:${r.id}`,doc:r,active:o,current:r.current}}),...e.group.groups.map(r=>({kind:"group",key:`group:${JSON.stringify(r.path)}`,group:r,current:r.current}))],n=t.findIndex(r=>r.current);return g("ul",{className:x("wg_navigationNavList__root"),"aria-label":e.group.name,id:he(e.branchKey),hidden:e.collapsed[e.branchKey]===!0,children:t.map((r,o)=>g("li",{className:x("wg_navigationNavList__item",{"wg_navigationNavList__item--trail":o<n,"wg_navigationNavList__item--current":r.current}),children:[r.kind==="document"&&g(L,{children:[g("a",{className:x("wg_navigationNavList__link",{"wg_navigationNavList__link--active":r.active}),href:`/${r.doc.id}/`,title:r.doc.label,"aria-current":r.active?"page":void 0,children:r.doc.name}),r.doc.children.length>0&&g(ae,{branchKey:r.key,label:r.doc.name,collapsed:e.collapsed,onToggle:e.onToggle}),r.doc.children.length>0&&g(yt,{group:{name:r.doc.name,path:e.group.path,current:r.current,docs:r.doc.children,groups:[]},collapsed:e.collapsed,onToggle:e.onToggle,branchKey:r.key})]}),r.kind==="group"&&g(L,{children:[g("span",{className:x("wg_navigationNavList__branch"),children:r.group.name}),g(ae,{branchKey:r.key,label:r.group.name,collapsed:e.collapsed,onToggle:e.onToggle}),g(yt,{group:r.group,collapsed:e.collapsed,onToggle:e.onToggle,branchKey:r.key})]})]},r.key))})};var bo="Document navigation",wo="Open navigation",$o="Close navigation",So="Navigation";var bn="On this page";var wn=e=>g("nav",{className:x("wg_navigationNav__root"),"aria-label":bo,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(ae,{branchKey:`group:${JSON.stringify(t.path)}`,label:t.name,collapsed:e.collapsed,onToggle:e.onToggle}),g(yt,{group:t,branchKey:`group:${JSON.stringify(t.path)}`,collapsed:e.collapsed,onToggle:e.onToggle})]},JSON.stringify(t.path)))})});var xt=e=>{let[t,n]=M({above:!1,below:!1}),r=P(0),o=()=>{if(r.current=0,e.portRef.current===null)return;let a=e.portRef.current.scrollTop>1,f=e.portRef.current.scrollHeight-e.portRef.current.clientHeight-e.portRef.current.scrollTop>1;n(u=>u.above===a&&u.below===f?u:{above:a,below:f})},i=()=>{r.current===0&&(r.current=requestAnimationFrame(o))},c=a=>{e.onScroll?.(),i()};return D(()=>{if(!e.ready||e.portRef.current===null)return;let a=new ResizeObserver(i);a.observe(e.portRef.current),e.portRef.current.firstElementChild!==null&&a.observe(e.portRef.current.firstElementChild);let f=!0;return addEventListener("pageshow",i),e.portRef.current.isConnected?o():queueMicrotask(()=>{f&&o()}),()=>{f=!1,a.disconnect(),removeEventListener("pageshow",i),cancelAnimationFrame(r.current),r.current=0}},[e.portRef,e.ready]),D(()=>{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:c,children:e.children})};var bt=e=>{if(!e)return null;try{return document.getElementById(decodeURIComponent(e.slice(1)))}catch(t){if(t instanceof URIError)return null;throw t}};var ko=e=>{let[t,n]=M();return D(()=>{let o=e.groups.flatMap(f=>f.sections).flatMap(f=>[f.heading,...f.subs.map(u=>u.heading)]),i={id:0},c=()=>{i.id=0;let f=o.flatMap(u=>{let p=bt(`#${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)},a=()=>{i.id===0&&(i.id=requestAnimationFrame(c))};return addEventListener("scroll",a,{passive:!0}),addEventListener("resize",a),addEventListener("toggle",a,!0),addEventListener("pageshow",a),document.addEventListener("DOMContentLoaded",a),document.readyState!=="loading"&&c(),()=>{cancelAnimationFrame(i.id),removeEventListener("scroll",a),removeEventListener("resize",a),removeEventListener("toggle",a,!0),removeEventListener("pageshow",a),document.removeEventListener("DOMContentLoaded",a)}},[e.groups]),g("nav",{className:x("wg_navigationToc__root"),"aria-label":bn,children:[g("div",{className:x("wg_navigationToc__label"),children:bn}),e.groups.map(r=>{let o=r.sections.findIndex(c=>c.heading.slug===t||c.subs.some(a=>a.heading.slug===t)),i=`outline:${e.pageId}:part:${r.sections[0].heading.slug}`;return 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}),r.part!==void 0&&g(ae,{branchKey:i,label:r.part,collapsed:e.collapsed,onToggle:e.onToggle}),g("ul",{className:x("wg_navigationToc__list"),id:he(i),hidden:e.collapsed[i]===!0,children:r.sections.map((c,a)=>{let f=c.subs.findIndex(p=>p.heading.slug===t),u=`outline:${e.pageId}:heading:${c.heading.slug}`;return g("li",{className:x("wg_navigationToc__item",{"wg_navigationToc__item--trail":a<o,"wg_navigationToc__item--current":a===o}),children:[g("a",{className:x("wg_navigationToc__link",{"wg_navigationToc__link--active":c.heading.slug===t}),href:`#${c.heading.slug}`,"data-toc-link":"","aria-current":c.heading.slug===t?"location":void 0,children:c.heading.text}),c.subs.length>0&&g(ae,{branchKey:u,label:c.heading.text,collapsed:e.collapsed,onToggle:e.onToggle}),c.subs.length>0&&g("ul",{className:x("wg_navigationToc__sub"),id:he(u),hidden:e.collapsed[u]===!0,children:c.subs.map((p,s)=>g("li",{className:x("wg_navigationToc__subItem",{"wg_navigationToc__subItem--trail":s<f,"wg_navigationToc__subItem--current":s===f}),children:g("a",{className:x("wg_navigationToc__subLink",{"wg_navigationToc__subLink--active":p.heading.slug===t}),href:`#${p.heading.slug}`,"data-toc-sub-link":"","aria-current":p.heading.slug===t?"location":void 0,children:p.heading.text})},p.heading.slug))})]},c.heading.slug)})})]},r.sections[0].heading.slug)})]})};var wt="for-humanity:navigation-tree";var $t="for-humanity:navigation-scroll";var St=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 zo={collapsed:{}};var Eo=e=>{let t=e===void 0?()=>()=>{}:e.subscribe,n=e===void 0?()=>zo:e.getState;return at(t,n,n)};var _e=e=>{let t=bt(e);for(let n=t?.closest("details");n;n=n.parentElement?.closest("details"))n.open=!0;return t};var Zo=e=>{let t=Eo(e.stores?.tree),[n,r]=M(()=>e.stores===void 0?"desktop":matchMedia(yn).matches?"drawer":matchMedia(xn).matches?"wide":"desktop"),[o,i]=M(!1),c=P(null),a=P(null),f=P(null),u=P(null),p=P(null),s=P(null),l=P(null),m=P(null),d=P(null),_=P(null),h=P(n),b=P(null),S=P(!0),A=()=>d.current===null||_.current===null?h.current:d.current.matches?"drawer":_.current.matches?"wide":"desktop",v=()=>h.current==="drawer"?f.current:c.current,$=()=>h.current==="drawer"?u.current:a.current,w=()=>{let y=v();if(y!==null)return[...y.querySelectorAll(".wg_navigationNav__root a[href]")].map(k=>`${k.pathname}:${k.textContent}`).join(`
|
|
39
|
+
`)},Z=()=>{let y=$();if(e.stores===void 0||y===null||p.current===null||S.current||h.current!==A()||h.current==="drawer"&&s.current?.open!==!0)return;let k=w();if(k===void 0)return;let I={navigation:k,pathname:location.pathname,documents:y.scrollTop,outline:p.current.scrollTop};e.stores.scroll.setState(B=>({positions:{...B.positions,[h.current]:I}}))},N=()=>{h.current=A();let y=$(),k=v();if(e.stores===void 0||y===null||p.current===null||k===null||h.current==="drawer"&&s.current?.open!==!0)return;let I=w();if(I===void 0)return;let B=e.stores.scroll.getState().positions[h.current];y.scrollTop=0,p.current.scrollTop=0,B===void 0?xo({key:$t,version:1,layout:h.current,toState:St}):B.navigation===I&&(y.scrollTop=B.documents,B.pathname===location.pathname&&(p.current.scrollTop=B.outline)),k.dataset.navigationLayout=h.current,S.current=!1,Z(),y.dispatchEvent(new Event("scroll")),p.current.dispatchEvent(new Event("scroll"))},Ee=y=>{e.stores?.tree.setState(k=>({collapsed:{...k.collapsed,[y]:k.collapsed[y]!==!0}}))},ee=y=>{s.current?.open!==!0&&(document.body.classList.remove("wg_shell__root--drawerOpen"),i(!1))},V=()=>{Z(),s.current?.close(),document.body.classList.remove("wg_shell__root--drawerOpen"),i(!1)},W=y=>{A()!=="drawer"||s.current===null||s.current.open||(s.current.showModal(),document.body.classList.add("wg_shell__root--drawerOpen"),i(!0),N())},Ye=y=>{V()},En=y=>{y.preventDefault(),V()},Et=y=>{if(s.current===null||y.target!==s.current)return;let k=s.current.getBoundingClientRect();(y.clientX<k.left||y.clientX>k.right||y.clientY<k.top||y.clientY>k.bottom)&&V()},Zt=y=>{if(Z(),s.current?.open!==!0||y.defaultPrevented||y.button!==0||y.metaKey||y.ctrlKey||y.shiftKey||y.altKey||!(y.target instanceof Element))return;let k=y.target.closest("a[href]");if(!(!(k instanceof HTMLAnchorElement)||k.target!==""&&k.target!=="_self"||k.hasAttribute("download"))&&(V(),k.origin===location.origin&&k.pathname===location.pathname&&k.search===location.search&&k.hash)){let I=_e(k.hash);I!==null&&(I.tabIndex=-1,I.focus({preventScroll:!0}))}},Ze=()=>{let y=A();y!==h.current&&(document.activeElement instanceof HTMLElement&&(b.current={navigation:document.activeElement.closest("[data-navigation]")!==null,drawer:document.activeElement===l.current||document.activeElement.closest("[data-navigation-drawer]")!==null,branch:document.activeElement.getAttribute("data-navigation-toggle"),href:document.activeElement.getAttribute("href")}),y!=="drawer"&&V(),S.current=!0,h.current=y,He(()=>r(y)))},Zn=y=>{!y.persisted||e.stores===void 0||(S.current=!0,He(()=>{e.stores?.tree.persist.rehydrate(),e.stores?.scroll.persist.rehydrate()}),Ze(),N())},Pn=y=>{(y.key===wt||y.key===null)&&He(()=>e.stores?.tree.persist.rehydrate())},Ro=y=>{if(document.activeElement instanceof HTMLElement)for(let k of document.querySelectorAll("[data-navigation-toggle]")){let I=k.dataset.navigationToggle,B=k.getAttribute("aria-controls");if(I===void 0||B===null||y.collapsed[I]!==!0)continue;document.getElementById(B)?.contains(document.activeElement)&&k.focus({preventScroll:!0})}};return D(()=>{if(e.stores===void 0)return;d.current=matchMedia(yn),_.current=matchMedia(xn),d.current.addEventListener("change",Ze),_.current.addEventListener("change",Ze),addEventListener("pagehide",Z),addEventListener("pageshow",Zn),addEventListener("storage",Pn);let y=e.stores.tree.subscribe(Ro);return()=>{d.current?.removeEventListener("change",Ze),_.current?.removeEventListener("change",Ze),d.current=null,_.current=null,removeEventListener("pagehide",Z),removeEventListener("pageshow",Zn),removeEventListener("storage",Pn),y(),document.body.classList.remove("wg_shell__root--drawerOpen")}},[e.stores]),D(()=>{if(e.stores===void 0)return;let y=!0,k=()=>{if(!y||(N(),b.current===null))return;let I=v();n==="drawer"?b.current.navigation&&l.current?.focus({preventScroll:!0}):b.current.navigation&&I!==null?[...I.querySelectorAll("a[href], button")].find(Pt=>b.current===null?!1:b.current.branch!==null?Pt.getAttribute("data-navigation-toggle")===b.current.branch:b.current.href!==null&&Pt.getAttribute("href")===b.current.href)?.focus({preventScroll:!0}):b.current.drawer&&m.current?.focus({preventScroll:!0}),b.current=null};return $()?.isConnected?k():queueMicrotask(k),()=>{y=!1}},[n,e.stores]),g(L,{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:m,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:l,className:x("wg_navigation__menuToggle",e.stores!==void 0&&n==="drawer"&&"wg_navigation__menuToggle--visible"),type:"button","aria-label":wo,"aria-controls":"fh-navigation-drawer","aria-expanded":String(o),"data-navigation-open":"",onClick:W,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"})})})]}),n!=="drawer"&&g("div",{ref:e.stores===void 0?void 0:c,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(xt,{portRef:a,kind:"documents",ready:e.stores!==void 0,onScroll:Z,onClick:Zt,children:g(wn,{groups:e.data.groups,collapsed:t.collapsed,onToggle:e.stores===void 0?void 0:Ee})})})]}),g("aside",{className:x("wg_navigation__tocRail"),"data-navigation-rail":"",children:g("div",{className:x("wg_navigation__outline"),"data-navigation-outline":"",children:g(xt,{portRef:p,kind:"outline",ready:e.stores!==void 0,onScroll:Z,onClick:Zt,children:e.data.outline.length>0&&g(ko,{groups:e.data.outline,pageId:e.data.pageId,collapsed:t.collapsed,onToggle:e.stores===void 0?void 0:Ee})})})}),g("dialog",{ref:e.stores===void 0?void 0:s,className:x("wg_navigation__drawer"),id:"fh-navigation-drawer","aria-labelledby":"fh-navigation-title","data-navigation-drawer":"",onClose:ee,onCancel:En,onClick:Et,children:[g("div",{className:x("wg_navigation__drawerHeader"),children:[g("h2",{className:x("wg_navigation__drawerTitle"),id:"fh-navigation-title",children:So}),g("button",{className:x("wg_navigation__drawerClose"),type:"button","aria-label":$o,"data-navigation-close":"",onClick:Ye,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:n==="drawer"&&g("div",{ref:e.stores===void 0?void 0:f,className:x("wg_navigation__navigation"),"data-navigation":"",children:g(xt,{portRef:u,kind:"documents",ready:e.stores!==void 0,onScroll:Z,onClick:Zt,children:g(wn,{groups:e.data.groups,collapsed:t.collapsed,onToggle:e.stores===void 0?void 0:Ee})})})})]})]})};var Co=e=>{let t=P(null),n=P(0),r=P(null),o=P(null),i=P(null),c=()=>{clearTimeout(n.current),n.current=0,r.current?.abort(),r.current=null,t.current?.classList.remove("wg_prose__headingText--highlighted"),t.current=null},a=d=>{d.target===document&&(clearTimeout(n.current),r.current?.abort(),r.current=null,n.current=window.setTimeout(c,3e3))},f=d=>{c(),t.current=d===null?null:d.querySelector(".wg_prose__headingText"),t.current!==null&&(t.current.classList.add("wg_prose__headingText--highlighted"),n.current=window.setTimeout(c,3e3),r.current=new AbortController,document.addEventListener("scrollend",a,{signal:r.current.signal}))},u=d=>{if(d.defaultPrevented||d.button!==0||d.metaKey||d.ctrlKey||d.shiftKey||d.altKey)return;let _=d.target instanceof Element?d.target.closest("a[href]"):null;if(_ instanceof HTMLAnchorElement&&(_.target===""||_.target==="_self")&&!_.hasAttribute("download")&&_.origin===location.origin&&_.pathname===location.pathname&&_.search===location.search&&_.hash){let h=_e(_.hash);_.hash===location.hash&&f(h)}},p=()=>{let d=_e(location.hash);d?.scrollIntoView(),f(d)},s=()=>{i.current?.abort()},l=async()=>{let d=o.current,_=location.hash,h=_e(_);await document.fonts.ready,!(d===null||d.signal.aborted)&&(h!==null&&!i.current?.signal.aborted&&_===location.hash&&(h.scrollIntoView({behavior:"instant"}),f(h)),document.documentElement.style.removeProperty("scroll-behavior"))},m=()=>{_e(location.hash),document.readyState==="complete"&&l()};return D(()=>{let d=new AbortController;o.current=d,i.current=new AbortController,document.documentElement.style.scrollBehavior="auto",document.addEventListener("click",u,{signal:d.signal}),addEventListener("hashchange",p,{signal:d.signal}),addEventListener("load",l,{once:!0,signal:d.signal});for(let _ of["wheel","touchmove","keydown","mousedown"])addEventListener(_,s,{once:!0,passive:!0,signal:d.signal});return document.readyState==="loading"?document.addEventListener("DOMContentLoaded",m,{once:!0,signal:d.signal}):m(),()=>{d.abort(),o.current=null,i.current?.abort(),i.current=null,c(),document.documentElement.style.removeProperty("scroll-behavior")}},[]),$e(()=>{if(!e.reload||o.current===null)return;let d=new EventSource(ho);return d.onmessage=()=>location.reload(),()=>d.close()},[e.reload]),g(L,{children:[g("div",{className:x("wg_shellControls__navigation"),children:g(Zo,{data:e.data,stores:e.stores})}),g(yo,{ready:e.stores!==void 0})]})};function zt(e,t){let n;try{n=e()}catch{return}return{getItem:o=>{var i;let c=f=>f===null?null:JSON.parse(f,t?.reviver),a=(i=n.getItem(o))!=null?i:null;return a instanceof Promise?a.then(c):c(a)},setItem:(o,i)=>n.setItem(o,JSON.stringify(i,t?.replacer)),removeItem:o=>n.removeItem(o)}}var $n=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(r){return $n(r)(n)},catch(r){return this}}}catch(n){return{then(r){return this},catch(r){return $n(r)(n)}}}},ys=(e,t)=>(n,r,o)=>{let i={storage:zt(()=>window.localStorage),partialize:h=>h,version:0,merge:(h,b)=>({...b,...h}),...t},c=!1,a=0,f=new Set,u=new Set,p=i.storage;if(!p)return e((...h)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),n(...h)},r,o);let s=()=>{let h=i.partialize({...r()});return p.setItem(i.name,{state:h,version:i.version})},l=o.setState;o.setState=(h,b)=>(l(h,b),s());let m=e((...h)=>(n(...h),s()),r,o);o.getInitialState=()=>m;let d,_=()=>{var h,b;if(!p)return;let S=++a;c=!1,f.forEach(v=>{var $;return v(($=r())!=null?$:m)});let A=((b=i.onRehydrateStorage)==null?void 0:b.call(i,(h=r())!=null?h:m))||void 0;return $n(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(w=>[!0,w]):[!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(S!==a)return;let[w,Z]=v;if(d=i.merge(Z,($=r())!=null?$:m),n(d,!0),w)return s()}).then(()=>{S===a&&(A?.(r(),void 0),d=r(),c=!0,u.forEach(v=>v(d)))}).catch(v=>{S===a&&A?.(void 0,v)})};return o.persist={setOptions:h=>{i={...i,...h},h.storage&&(p=h.storage)},clearStorage:()=>{++a,p?.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>_(),hasHydrated:()=>c,onHydrate:h=>(f.add(h),()=>{f.delete(h)}),onFinishHydration:h=>(u.add(h),()=>{u.delete(h)})},i.skipHydration||_(),d||m},Sn=ys;var Ao=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(m=>m(t,l))}},o=()=>t,a={setState:r,getState:o,getInitialState:()=>f,subscribe:u=>(n.add(u),()=>n.delete(u))},f=t=e(r,o,a);return a},kn=(e=>e?Ao(e):Ao);var To=e=>typeof e!="object"||e===null||!("collapsed"in e)||typeof e.collapsed!="object"||e.collapsed===null||Array.isArray(e.collapsed)?{collapsed:{}}:{collapsed:Object.fromEntries(Object.entries(e.collapsed).filter(t=>typeof t[1]=="boolean"))};var No=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{tree:kn()(Sn(()=>({collapsed:{}}),{name:wt,version:1,storage:zt(()=>t(e.local)),merge:n=>To(n),migrate:()=>({collapsed:{}})})),scroll:kn()(Sn(()=>({positions:{}}),{name:$t,version:1,storage:zt(()=>t(e.session)),merge:n=>St(n),migrate:()=>({positions:{}})}))}};var zn=document.querySelector("[data-shell-browser-root]"),Mo=document.getElementById("fh-navigation-data");if(zn!==null&&Mo!==null)try{let e=JSON.parse(Mo.textContent),t=Jr.parse(e),n=No({local:()=>localStorage,session:()=>sessionStorage});cr(zn).render(g(Co,{data:t,stores:n,reload:zn.hasAttribute("data-shell-reload")}))}catch(e){console.error("for-humanity browser initialization failed",e)}})();
|