xote 4.16.1 → 6.0.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/README.md +19 -11
- package/dist/xote.cjs +9 -9
- package/dist/xote.mjs +1282 -1199
- package/dist/xote.umd.js +10 -10
- package/package.json +3 -3
- package/rescript.json +18 -3
- package/src/Computed.res +1 -0
- package/src/Computed.res.mjs +13 -0
- package/src/Effect.res +1 -0
- package/src/Effect.res.mjs +13 -0
- package/src/Html.res +28 -0
- package/src/Html.res.mjs +62 -0
- package/src/{Xote__Hydration.res → Hydration.res} +52 -50
- package/src/{Xote__Hydration.res.mjs → Hydration.res.mjs} +66 -68
- package/src/{Xote__Component.res → Node.res} +8 -31
- package/src/{Xote__Component.res.mjs → Node.res.mjs} +26 -88
- package/src/{Xote__ReactiveProp.res → ReactiveProp.res} +0 -1
- package/src/{Xote__ReactiveProp.res.mjs → ReactiveProp.res.mjs} +2 -2
- package/src/{Xote__Router.res → Router.res} +38 -32
- package/src/{Xote__Router.res.mjs → Router.res.mjs} +28 -28
- package/src/{Xote__SSR.res → SSR.res} +16 -18
- package/src/{Xote__SSR.res.mjs → SSR.res.mjs} +5 -8
- package/src/{Xote__SSRState.res → SSRState.res} +7 -6
- package/src/{Xote__SSRState.res.mjs → SSRState.res.mjs} +12 -12
- package/src/Signal.res +1 -0
- package/src/Signal.res.mjs +31 -0
- package/src/{Xote__JSX.res → XoteJSX.res} +22 -23
- package/src/{Xote__JSX.res.mjs → XoteJSX.res.mjs} +22 -24
- package/src/Xote.res +0 -43
- package/src/Xote.res.mjs +0 -114
- /package/src/{Xote__Route.res → Route.res} +0 -0
- /package/src/{Xote__Route.res.mjs → Route.res.mjs} +0 -0
- /package/src/{Xote__SSRContext.res → SSRContext.res} +0 -0
- /package/src/{Xote__SSRContext.res.mjs → SSRContext.res.mjs} +0 -0
package/README.md
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|

|
|
4
4
|

|
|
5
5
|
|
|
6
|
-
Xote is a lightweight UI library for ReScript that combines fine-grained reactivity with a minimal component system. Built on [rescript-signals](https://github.
|
|
6
|
+
Xote is a lightweight UI library for ReScript that combines fine-grained reactivity with a minimal component system. Built on [rescript-signals](https://brnrdog.github.io/rescript-signals), it provides declarative components, JSX support, and signal-based routing for building reactive web applications.
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
10
10
|
- **Reactive Components**: Declarative UI building with JSX support and direct DOM updates
|
|
11
|
-
- **Signal-based Reactivity**: Powered by [rescript-signals](https://github.
|
|
11
|
+
- **Signal-based Reactivity**: Powered by [rescript-signals](https://brnrdog.github.io/rescript-signals) for automatic dependency tracking
|
|
12
12
|
- **Fine-grained Updates**: Direct DOM manipulation without virtual DOM diffing
|
|
13
13
|
- **Signal-based Router**: SPA navigation with pattern matching and dynamic parameters
|
|
14
14
|
- **Server-Side Rendering**: SSR with hydration and automatic state transfer
|
|
@@ -27,14 +27,21 @@ yarn add xote
|
|
|
27
27
|
pnpm add xote
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Then, add it to your ReScript project
|
|
30
|
+
Then, add it to your ReScript project's `rescript.json`. You'll need to declare `xote` as a dependency, configure JSX to use Xote's transform, and open `Xote` so the JSX module resolves:
|
|
31
31
|
|
|
32
32
|
```json
|
|
33
33
|
{
|
|
34
|
-
"bs-dependencies": ["xote"]
|
|
34
|
+
"bs-dependencies": ["xote"],
|
|
35
|
+
"jsx": {
|
|
36
|
+
"version": 4,
|
|
37
|
+
"module": "XoteJSX"
|
|
38
|
+
},
|
|
39
|
+
"compiler-flags": ["-open Xote"]
|
|
35
40
|
}
|
|
36
41
|
```
|
|
37
42
|
|
|
43
|
+
`-open Xote` makes `Component`, `Html`, `Signal`, `Router`, etc. available unqualified inside your source files.
|
|
44
|
+
|
|
38
45
|
## Why Xote?
|
|
39
46
|
|
|
40
47
|
Xote uses **rescript-signals** for reactive primitives (Signal, Computed, Effect), and it adds:
|
|
@@ -64,19 +71,19 @@ module App = {
|
|
|
64
71
|
|
|
65
72
|
// Build the UI with JSX
|
|
66
73
|
<div>
|
|
67
|
-
<h1> {
|
|
74
|
+
<h1> {Node.text("Counter")} </h1>
|
|
68
75
|
<p>
|
|
69
|
-
{
|
|
76
|
+
{Node.signalText(() => `Count: ${Signal.get(count)->Int.toString}`)}
|
|
70
77
|
</p>
|
|
71
78
|
<button onClick={increment}>
|
|
72
|
-
{
|
|
79
|
+
{Node.text("Increment")}
|
|
73
80
|
</button>
|
|
74
81
|
</div>
|
|
75
82
|
}
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
// Mount to the DOM
|
|
79
|
-
|
|
86
|
+
Node.mountById(<App />, "app")
|
|
80
87
|
```
|
|
81
88
|
|
|
82
89
|
## Core Concepts
|
|
@@ -99,7 +106,8 @@ All reactive primitives feature automatic dependency tracking - no manual subscr
|
|
|
99
106
|
- **JSX syntax**: Use HTML tags like `<div>`, `<button>`, `<input>`
|
|
100
107
|
- **Props**: Standard HTML attributes like `class`, `id`, `style`, `value`, `placeholder`
|
|
101
108
|
- **Event handlers**: `onClick`, `onInput`, `onChange`, `onSubmit`, etc.
|
|
102
|
-
- **Reactive content**: Wrap reactive text with `
|
|
109
|
+
- **Reactive content**: Wrap reactive text with `Node.signalText(() => ...)` (also `signalInt` and `signalFloat` for non-string values)
|
|
110
|
+
- **HTML helpers**: `Html.div`, `Html.button`, `Html.p`, etc. for the function-based API; JSX covers the rest
|
|
103
111
|
- **Component functions**: Define reusable components as functions that return JSX
|
|
104
112
|
|
|
105
113
|
### Xote.Router Features
|
|
@@ -130,9 +138,9 @@ let makeAppState = () => {
|
|
|
130
138
|
|
|
131
139
|
let app = (count, items) => () => {
|
|
132
140
|
<div>
|
|
133
|
-
<p> {
|
|
141
|
+
<p> {Node.signalText(() => `Count: ${Signal.get(count)->Int.toString}`)} </p>
|
|
134
142
|
<button onClick={_ => Signal.update(count, n => n + 1)}>
|
|
135
|
-
{
|
|
143
|
+
{Node.text("+")}
|
|
136
144
|
</button>
|
|
137
145
|
</div>
|
|
138
146
|
}
|
package/dist/xote.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let Me={contents:0};function xe(){return Me.contents=Me.contents+1|0,Me.contents}function lt(){return{first:void 0,last:void 0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0}}function rn(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function ln(e,t,n,r,i){return{id:e,kind:t,run:n,firstDep:void 0,lastDep:void 0,flags:1,level:0,name:r,backingSubs:i}}function it(e){e.flags=e.flags&-2}function un(e){return(e.flags&2)!==0}function on(e){e.flags=e.flags|2}function dn(e){e.flags=e.flags&-3}function ut(e){return(e.flags&1)!==0}function an(e){e.flags=e.flags|1}function Ie(e){e.flags=e.flags&-2}function cn(e){e.flags=e.flags&-3}function Ae(e){return e.compute!==void 0}function Ze(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function ve(e,t){t.prevSub=e.last,t.nextSub=void 0;let n=e.last;n!==void 0?n.nextSub=t:e.first=t,e.last=t}function et(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function ot(e){let t=e.subs,n=e.prevSub;n!==void 0?n.nextSub=e.nextSub:t.first=e.nextSub;let r=e.nextSub;r!==void 0?r.prevSub=e.prevSub:t.last=e.prevSub,e.prevSub=void 0,e.nextSub=void 0}function dt(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;ot(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Ge(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;ot(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function tt(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function te(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function ze(e){if(e!=null)return te(e)}function S(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function sn(e,t){if(e!==void 0)return te(t(S(e)))}function V(e,t){return e!==void 0?S(e):t}function Be(e){return e!==void 0}let C={contents:void 0},L={contents:void 0},Y=[],ee=[],J={contents:!1},we=[],nt=(function(e){e.length=0});function fn(e){if(!un(e)){on(e),Y.push(e);return}}function pn(e,t){if(e.firstDep===void 0){let l={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};return tt(e,l),ve(t,l)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let l=r;l!==void 0&&(l.subs===t?n=!0:r=l.nextDep)}if(n)return;let i={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};tt(e,i),ve(t,i)}function mn(e,t){if(e.firstDep===void 0){let l=Ze(t,e);return et(e,l),ve(t,l)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let l=r;l!==void 0&&(l.subs===t?n=!0:r=l.nextDep)}if(n)return;let i=Ze(t,e);et(e,i),ve(t,i)}function hn(e){let t=C.contents;if(t!==void 0)return pn(t,e);let n=L.contents;if(n!==void 0)return mn(n,e)}function gn(e,t){return e.level-t.level|0}function Sn(e,t){return e.level-t.level|0}function at(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ae(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function ct(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ae(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function _n(e){let t=e.level;Ge(e),cn(e);let n=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),Ie(e),C.contents=n}catch(r){throw C.contents=n,r}if(t===0){e.level=at(e);return}}function yn(e){let t=e.level;dt(e),dn(e);let n=L.contents;L.contents=e;try{e.run(),it(e),L.contents=n}catch(r){throw L.contents=n,r}if(t===0){e.level=ct(e);return}}function st(){J.contents=!0;try{for(;Y.length!==0||ee.length!==0;){if(ee.length!==0){ee.sort(Sn);let e=ee.slice();nt(ee),e.forEach(_n)}if(Y.length!==0){Y.sort(gn);let e=Y.slice();nt(Y),e.forEach(yn)}}J.contents=!1;return}catch(e){throw J.contents=!1,e}}function bn(e){for(we.push(e);we.length!==0;){let t=we.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let i=r.observer;Ae(i)?ut(i)||(an(i),we.push(i)):fn(r.observer),n=r.nextSub}}}}if((Y.length!==0||ee.length!==0)&&!J.contents)return st()}function ft(e){if(!(Ae(e)&&ut(e)))return;let t=e.level;Ge(e);let n=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),Ie(e),C.contents=n}catch(r){throw C.contents=n,r}if(t===0){e.level=at(e);return}}function En(e){let t=J.contents;J.contents=!0;try{let n=e();return t||(J.contents=!1,(Y.length!==0||ee.length!==0)&&st()),n}catch(n){throw t||(J.contents=!1),n}}function wn(e){let t=C.contents,n=L.contents;C.contents=void 0,L.contents=void 0;try{let r=e();return C.contents=t,L.contents=n,r}catch(r){throw C.contents=t,L.contents=n,r}}function kn(e,t,n){return{id:xe(),value:e,equals:V(n,(i,l)=>i===l),name:t,subs:lt()}}function Tn(e,t){return{id:xe(),value:e,equals:(r,i)=>!1,name:t,subs:lt()}}function vn(e){return ft(e.subs),hn(e.subs),e.value}function $n(e){return ft(e.subs),e.value}function pt(e,t){let n;try{n=!e.equals(e.value,t)}catch{n=!0}if(n)return e.value=t,e.subs.version=e.subs.version+1|0,bn(e.subs)}function xn(e,t){pt(e,t(e.value))}let An,Cn,On,Dn=En,Pn=wn;const Rn=Object.freeze(Object.defineProperty({__proto__:null,Core:On,Id:An,Scheduler:Cn,batch:Dn,get:vn,make:kn,makeForComputed:Tn,peek:$n,set:pt,untrack:Pn,update:xn},Symbol.toStringTag,{value:"Module"}));function Mn(e,t){let n=xe(),r={contents:void 0},l=ln(n,"Effect",()=>{let g=r.contents;g!==void 0&&g(),r.contents=e()},t,void 0),u=L.contents;L.contents=l;try{l.run(),it(l),L.contents=u}catch(g){throw L.contents=u,g}l.level=ct(l);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let g=r.contents;g!==void 0&&g(),dt(l)}}}let jn,Fn,Nn;const Ln=Object.freeze(Object.defineProperty({__proto__:null,Core:Fn,Id:jn,Scheduler:Nn,run:Mn},Symbol.toStringTag,{value:"Module"}));function In(e,t){let n=xe(),r={contents:void 0},l=rn(()=>{r.contents.value=e()}),u=C.contents;C.contents=l;let d=e();C.contents=u;let c={id:n,value:d,equals:(g,A)=>!1,name:t,subs:l};return r.contents=c,Ie(l),c}function Gn(e){Ge(e.subs)}let zn,Bn,Wn,Hn;const Xn=Object.freeze(Object.defineProperty({__proto__:null,Core:Wn,Id:zn,Scheduler:Hn,Signal:Bn,dispose:Gn,make:In},Symbol.toStringTag,{value:"Module"}));let o=Rn,M=Xn,$=Ln;function Q(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}let We=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function Vn(e){return We.includes(e)}let mt={escape:Q,voidElements:We,isVoidElement:Vn},ht="<!--$-->",gt="<!--/$-->",St="<!--#-->",_t="<!--/#-->",yt="<!--kl-->",bt="<!--/kl-->";function Et(e){return"<!--k:"+e+"-->"}let wt="<!--/k-->",kt="<!--lc-->",Tt="<!--/lc-->",Kn={signalTextStart:ht,signalTextEnd:gt,signalFragmentStart:St,signalFragmentEnd:_t,keyedListStart:yt,keyedListEnd:bt,keyedItemStart:Et,keyedItemEnd:wt,lazyComponentStart:kt,lazyComponentEnd:Tt};function vt(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=o.peek(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"checked":case"disabled":case"multiple":case"readonly":case"required":break;default:return n+'="'+Q(r)+'"'}return r==="true"?n:""}function $t(e){let t=e.map(vt).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Yn={renderAttr:vt,renderAttrs:$t};function q(e){switch(e.TAG){case"Element":let t=e.tag,n=$t(e.attrs);if(We.includes(t))return"<"+t+n+" />";let r=e.children.map(q).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return Q(e._0);case"SignalText":let i=o.peek(e._0);return ht+Q(i)+gt;case"Fragment":return e._0.map(q).join("");case"SignalFragment":let u=o.peek(e._0).map(q).join("");return St+u+_t;case"LazyComponent":let d=e._0();return kt+q(d)+Tt;case"KeyedList":let c=e.renderItem,g=e.keyFn,j=o.peek(e.signal).map(F=>{let O=g(F),v=q(c(F));return Et(O)+v+wt}).join("");return yt+j+bt}}function xt(e,t){return q(e())}function qn(e,t,n){let r=t!==void 0?t:"root",i=e(),l=q(i);return"<!--xote-root:"+r+"-->"+l+"<!--/xote-root-->"}function At(e){return"<script"+(e!==void 0?' nonce="'+Q(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Un(e,t,n,r,i,l,u){let d=e!==void 0?e:"",c=t!==void 0?t:"",g=n!==void 0?n:[],A=r!==void 0?r:[],j=i!==void 0?i:"",F=xt(u),O=At(l),v=A.map(G=>'<link rel="stylesheet" href="'+Q(G)+'" />').join(`
|
|
2
|
-
`),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let We={contents:0};function Re(){return We.contents=We.contents+1|0,We.contents}function St(){return{first:void 0,last:void 0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0}}function xn(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function $n(e,t,n,r,l){return{id:e,kind:t,run:n,firstDep:void 0,lastDep:void 0,flags:1,level:0,name:r,backingSubs:l}}function _t(e){e.flags=e.flags&-2}function An(e){return(e.flags&2)!==0}function kn(e){e.flags=e.flags|2}function On(e){e.flags=e.flags&-3}function bt(e){return(e.flags&1)!==0}function Dn(e){e.flags=e.flags|1}function Xe(e){e.flags=e.flags&-2}function Cn(e){e.flags=e.flags&-3}function Ge(e){return e.compute!==void 0}function st(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function Pe(e,t){t.prevSub=e.last,t.nextSub=void 0;let n=e.last;n!==void 0?n.nextSub=t:e.first=t,e.last=t}function ft(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function Et(e){let t=e.subs,n=e.prevSub;n!==void 0?n.nextSub=e.nextSub:t.first=e.nextSub;let r=e.nextSub;r!==void 0?r.prevSub=e.prevSub:t.last=e.prevSub,e.prevSub=void 0,e.nextSub=void 0}function wt(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;Et(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function qe(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;Et(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function ht(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}let D={contents:void 0},z={contents:void 0},ee=[],ue=[],re={contents:!1},De=[],mt=(function(e){e.length=0});function jn(e){if(!An(e)){kn(e),ee.push(e);return}}function Pn(e,t){if(e.firstDep===void 0){let i={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};return ht(e,i),Pe(t,i)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let i=r;i!==void 0&&(i.subs===t?n=!0:r=i.nextDep)}if(n)return;let l={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};ht(e,l),Pe(t,l)}function Mn(e,t){if(e.firstDep===void 0){let i=st(t,e);return ft(e,i),Pe(t,i)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let i=r;i!==void 0&&(i.subs===t?n=!0:r=i.nextDep)}if(n)return;let l=st(t,e);ft(e,l),Pe(t,l)}function Rn(e){let t=D.contents;if(t!==void 0)return Pn(t,e);let n=z.contents;if(n!==void 0)return Mn(n,e)}function Gn(e,t){return e.level-t.level|0}function Ln(e,t){return e.level-t.level|0}function Tt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ge(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function vt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ge(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Fn(e){let t=e.level;qe(e),Cn(e);let n=D.contents;D.contents=e;try{let r=e.compute;r!==void 0&&r(),Xe(e),D.contents=n}catch(r){throw D.contents=n,r}if(t===0){e.level=Tt(e);return}}function Nn(e){let t=e.level;wt(e),On(e);let n=z.contents;z.contents=e;try{e.run(),_t(e),z.contents=n}catch(r){throw z.contents=n,r}if(t===0){e.level=vt(e);return}}function xt(){re.contents=!0;try{for(;ee.length!==0||ue.length!==0;){if(ue.length!==0){ue.sort(Ln);let e=ue.slice();mt(ue),e.forEach(Fn)}if(ee.length!==0){ee.sort(Gn);let e=ee.slice();mt(ee),e.forEach(Nn)}}re.contents=!1;return}catch(e){throw re.contents=!1,e}}function zn(e){for(De.push(e);De.length!==0;){let t=De.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let l=r.observer;Ge(l)?bt(l)||(Dn(l),De.push(l)):jn(r.observer),n=r.nextSub}}}}if((ee.length!==0||ue.length!==0)&&!re.contents)return xt()}function $t(e){if(!(Ge(e)&&bt(e)))return;let t=e.level;qe(e);let n=D.contents;D.contents=e;try{let r=e.compute;r!==void 0&&r(),Xe(e),D.contents=n}catch(r){throw D.contents=n,r}if(t===0){e.level=Tt(e);return}}function Bn(e){let t=re.contents;re.contents=!0;try{let n=e();return t||(re.contents=!1,(ee.length!==0||ue.length!==0)&&xt()),n}catch(n){throw t||(re.contents=!1),n}}function In(e){let t=D.contents,n=z.contents;D.contents=void 0,z.contents=void 0;try{let r=e();return D.contents=t,z.contents=n,r}catch(r){throw D.contents=t,z.contents=n,r}}function At(e,t){let n=Re(),r={contents:void 0},i=$n(n,"Effect",()=>{let y=r.contents;y!==void 0&&y(),r.contents=e()},t,void 0),u=z.contents;z.contents=i;try{i.run(),_t(i),z.contents=u}catch(y){throw z.contents=u,y}i.level=vt(i);let o={contents:!1};return{dispose:()=>{if(o.contents)return;o.contents=!0;let y=r.contents;y!==void 0&&y(),wt(i)}}}function Wn(e,t){At(e,t)}let G=At,Kn=Wn;const Vn=Object.freeze(Object.defineProperty({__proto__:null,run:Kn,runWithDisposer:G},Symbol.toStringTag,{value:"Module"}));function oe(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function Ue(e){if(e!=null)return oe(e)}function h(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function Hn(e,t){if(e!==void 0)return oe(t(h(e)))}function J(e,t){return e!==void 0?h(e):t}function Ye(e){return e!==void 0}function Xn(e,t,n){return{id:Re(),value:e,equals:J(n,(l,i)=>l===i),name:t,subs:St()}}function qn(e,t){return{id:Re(),value:e,equals:(r,l)=>!1,name:t,subs:St()}}function Un(e){return $t(e.subs),Rn(e.subs),e.value}function Yn(e){return $t(e.subs),e.value}function kt(e,t){let n;try{n=!e.equals(e.value,t)}catch{n=!0}if(n)return e.value=t,e.subs.version=e.subs.version+1|0,zn(e.subs)}function Jn(e,t){kt(e,t(e.value))}let Qn=Bn,Zn=In,Je=Xn,er=qn,A=Un,V=Yn,de=kt,tr=Jn,nr=Qn,rr=Zn;const ir=Object.freeze(Object.defineProperty({__proto__:null,batch:nr,get:A,make:Je,makeForComputed:er,peek:V,set:de,untrack:rr,update:tr},Symbol.toStringTag,{value:"Module"}));function Qe(e,t){delete e[t]}function lr(e,t){let n=Re(),r={contents:void 0},i=xn(()=>{r.contents.value=e()}),u=D.contents;D.contents=i;let o=e();D.contents=u;let a={id:n,value:o,equals:(y,O)=>!1,name:t,subs:i};return r.contents=a,Xe(i),a}function ur(e){qe(e.subs)}let Q=lr,Ot=ur;const or=Object.freeze(Object.defineProperty({__proto__:null,dispose:Ot,make:Q},Symbol.toStringTag,{value:"Module"}));let Dt="http://www.w3.org/2000/svg",Ct=["svg","path","circle","ellipse","line","polygon","polyline","rect","g","defs","clipPath","mask","pattern","marker","symbol","use","text","tspan","image","foreignObject","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComposite","feFlood","feGaussianBlur","feMerge","feMergeNode","feOffset","animate","animateTransform","desc","title","metadata"],Le={};Ct.forEach(e=>{Le[e]=!0});function dr(e){return Ye(Le[e])}function be(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"multiple":case"readonly":case"required":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let we={setAttrOrProp:be},Ce={contents:void 0};function ar(){return{disposers:[],computeds:[]}}function me(e,t){let n=Ce.contents;Ce.contents=e;let r=t();return Ce.contents=n,r}function pe(e,t){e.disposers.push(t)}function jt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(Ot)}function ge(e,t){e.__xote_owner__=t}function Pt(e){return Ue(e.__xote_owner__)}let c={currentOwner:Ce,createOwner:ar,runWithOwner:me,addDisposer:pe,disposeOwner:jt,setOwner:ge,getOwner:Pt};function Mt(e,t){return[e,{TAG:"Static",_0:t}]}function Rt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Gt(e,t){return[e,{TAG:"Compute",_0:t}]}let cr={$$static:Mt,signal:Rt,computed:Gt};function Ee(e){let t=Pt(e);t!==void 0&&jt(t),Array.from(e.childNodes||[]).forEach(Ee)}function Y(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,i=Ye(Le[l])?document.createElementNS(Dt,l):document.createElement(l),u={disposers:[],computeds:[]};return ge(i,u),me(u,()=>{r.forEach(d=>{let m=d[1],x=d[0];switch(m.TAG){case"Static":return be(i,x,m._0);case"SignalValue":let k=m._0;be(i,x,V(k));let M=G(()=>{be(i,x,A(k))},void 0);return pe(u,M);case"Compute":let p=m._0,S=G(()=>{be(i,x,p())},void 0);return pe(u,S)}}),n.forEach(d=>{i.addEventListener(d[0],d[1])}),t.forEach(d=>{let m=Y(d);i.appendChild(m)})}),i;case"Text":return document.createTextNode(e._0);case"SignalText":let o=e._0,a=document.createTextNode(V(o)),y={disposers:[],computeds:[]};return ge(a,y),me(y,()=>{let d=G(()=>{a.textContent=A(o)},void 0);pe(y,d)}),a;case"Fragment":let O=document.createDocumentFragment();return e._0.forEach(d=>{let m=Y(d);O.appendChild(m)}),O;case"SignalFragment":let L=e._0,F={disposers:[],computeds:[]},C=document.createElement("div");return C.setAttribute("style","display: contents"),ge(C,F),me(F,()=>{let d=G(()=>{let m=A(L);Array.from(C.childNodes||[]).forEach(Ee),C.innerHTML="",m.forEach(k=>{let M=Y(k);C.appendChild(M)})},void 0);pe(F,d)}),C;case"LazyComponent":let $={disposers:[],computeds:[]},H=me($,e._0),I=Y(H);return ge(I,$),I;case"KeyedList":let W=e.renderItem,j=e.keyFn,X=e.signal,fe={disposers:[],computeds:[]},v=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end ");ge(v,fe);let s={},b=()=>{let d=_.parentNode;if(d==null)return;let m=A(X),x={};m.forEach(g=>{x[j(g)]=g});let k=[];Object.keys(s).forEach(g=>{if(x[g]===void 0){k.push(g);return}}),k.forEach(g=>{let T=s[g];if(T!==void 0){Ee(T.element),T.element.remove(),Qe(s,g);return}});let M=[],p={};m.forEach(g=>{let T=j(g),he=s[T];if(he!==void 0){if(he.item!==g){p[T]=!0;let Oe=W(g),vn=Y(Oe),ct={key:T,item:g,element:vn};M.push(ct),s[T]=ct;return}M.push(he);return}let Ae=W(g),Ie=Y(Ae),ke={key:T,item:g,element:Ie};M.push(ke),s[T]=ke});let S={contents:v.nextSibling};M.forEach(g=>{let T=S.contents;if(T==null){d.insertBefore(g.element,_);return}if(T===_){d.insertBefore(g.element,_);return}if(T===g.element){S.contents=T.nextSibling;return}J(p[g.key],!1)?(Ee(T),d.replaceChild(g.element,T),S.contents=g.element.nextSibling):(d.insertBefore(g.element,T),S.contents=g.element.nextSibling)})},w=document.createDocumentFragment();return w.appendChild(v),V(X).forEach(d=>{let m=j(d),x=W(d),k=Y(x),M={key:m,item:d,element:k};s[m]=M,w.appendChild(k)}),w.appendChild(_),me(fe,()=>{let d=G(()=>{b()},void 0);pe(fe,d)}),w}}let te={disposeElement:Ee,render:Y};function Lt(e){return{TAG:"Text",_0:e}}function sr(e){return{TAG:"SignalText",_0:Q(e,void 0)}}function fr(e){return{TAG:"SignalText",_0:Q(()=>e().toString(),void 0)}}function hr(e){return{TAG:"SignalText",_0:Q(()=>e().toString(),void 0)}}function mr(e){return{TAG:"Text",_0:e.toString()}}function pr(e){return{TAG:"Text",_0:e.toString()}}function Ze(e){return{TAG:"Fragment",_0:e}}function et(e){return{TAG:"SignalFragment",_0:e}}function gr(e,t){return{TAG:"SignalFragment",_0:Q(()=>A(e).map(t),void 0)}}function yr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function K(e,t,n,r,l){let i=t!==void 0?t:[].map(a=>a),u=n!==void 0?n:[].map(a=>a),o=r!==void 0?r:[].map(a=>a);return{TAG:"Element",tag:e,attrs:i,events:u,children:o}}function Sr(){return{TAG:"Text",_0:""}}function Ft(e,t){let n=Y(e);t.appendChild(n)}function _r(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Ft(e,n)}let br=Le,q=Mt,ae=Rt,Fe=Gt;const Er=Object.freeze(Object.defineProperty({__proto__:null,$$null:Sr,Attributes:cr,DOM:we,Reactivity:c,Render:te,attr:q,computedAttr:Fe,element:K,float:pr,fragment:Ze,int:mr,isSvgTag:dr,keyedList:yr,list:gr,mount:Ft,mountById:_r,signalAttr:ae,signalFloat:hr,signalFragment:et,signalInt:fr,signalText:sr,svgNamespace:Dt,svgTagSet:br,svgTags:Ct,text:Lt},Symbol.toStringTag,{value:"Module"}));function wr(e,t,n,r){return K("div",e,t,n)}function Tr(e,t,n,r){return K("span",e,t,n)}function vr(e,t,n,r){return K("button",e,t,n)}function xr(e,t,n){return K("input",e,t,void 0)}function $r(e,t,n,r){return K("h1",e,t,n)}function Ar(e,t,n,r){return K("h2",e,t,n)}function kr(e,t,n,r){return K("h3",e,t,n)}function Or(e,t,n,r){return K("p",e,t,n)}function Dr(e,t,n,r){return K("ul",e,t,n)}function Cr(e,t,n,r){return K("li",e,t,n)}function tt(e,t,n,r){return K("a",e,t,n)}const jr=Object.freeze(Object.defineProperty({__proto__:null,a:tt,button:vr,div:wr,h1:$r,h2:Ar,h3:kr,input:xr,li:Cr,p:Or,span:Tr,ul:Dr},Symbol.toStringTag,{value:"Module"}));function Nt(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function zt(e,t,n,r){return{TAG:"LazyComponent",_0:()=>e(t)}}function Pr(e){let t=e.children;return t!==void 0?t:Ze([])}let Mr=Ze;function Rr(){return Lt("")}function nt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function E(e,t){return nt(t)?t.TAG==="Reactive"?ae(e,t._0):q(e,t._0):typeof t=="function"?Fe(e,t):typeof t=="object"?ae(e,t):q(e,t)}function U(e,t){if(nt(t)){if(t.TAG!=="Reactive")return q(e,t._0?"true":"false");let r=t._0,l=Q(()=>A(r)?"true":"false",void 0);return ae(e,l)}if(typeof t=="function")return Fe(e,()=>t()?"true":"false");if(typeof t!="object")return q(e,t?"true":"false");let n=Q(()=>A(t)?"true":"false",void 0);return ae(e,n)}function f(e,t,n,r){if(t!==void 0){e.push(r(n,h(t)));return}}function ye(e,t,n){if(t!==void 0){e.push(q(n,t.toString()));return}}function Bt(e){let t=[];f(t,e.id,"id",E),f(t,e.class,"class",E),f(t,e.style,"style",E),f(t,e.type,"type",E),f(t,e.name,"name",E),f(t,e.value,"value",E),f(t,e.placeholder,"placeholder",E),f(t,e.disabled,"disabled",U),f(t,e.checked,"checked",U),f(t,e.required,"required",U),f(t,e.readOnly,"readonly",U),ye(t,e.maxLength,"maxlength"),ye(t,e.minLength,"minlength"),f(t,e.min,"min",E),f(t,e.max,"max",E),f(t,e.step,"step",E),f(t,e.pattern,"pattern",E),f(t,e.autoComplete,"autocomplete",E),f(t,e.multiple,"multiple",U),f(t,e.accept,"accept",E),ye(t,e.rows,"rows"),ye(t,e.cols,"cols"),f(t,e.for,"for",E),f(t,e.href,"href",E),f(t,e.target,"target",E),f(t,e.src,"src",E),f(t,e.alt,"alt",E),f(t,e.width,"width",E),f(t,e.height,"height",E),f(t,e.role,"role",E),ye(t,e.tabIndex,"tabindex"),f(t,e["aria-label"],"aria-label",E),f(t,e["aria-hidden"],"aria-hidden",U),f(t,e["aria-expanded"],"aria-expanded",U),f(t,e["aria-selected"],"aria-selected",U);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(E("data-"+r,l))}),t}function R(e,t,n){if(t!==void 0){e.push([n,h(t)]);return}}function It(e){let t=[];return R(t,e.onClick,"click"),R(t,e.onInput,"input"),R(t,e.onChange,"change"),R(t,e.onSubmit,"submit"),R(t,e.onFocus,"focus"),R(t,e.onBlur,"blur"),R(t,e.onKeyDown,"keydown"),R(t,e.onKeyUp,"keyup"),R(t,e.onMouseEnter,"mouseenter"),R(t,e.onMouseLeave,"mouseleave"),R(t,e.onMouseDown,"mousedown"),R(t,e.onMouseMove,"mousemove"),R(t,e.onMouseUp,"mouseup"),R(t,e.onContextMenu,"contextmenu"),t}function Wt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function rt(e,t){return{TAG:"Element",tag:e,attrs:Bt(t),events:It(t),children:Wt(t)}}let pt=rt;function gt(e,t,n,r){return rt(e,t)}let Gr={isReactiveProp:nt,convertAttrValue:E,convertBoolAttrValue:U,addAttr:f,addIntAttr:ye,propsToAttrs:Bt,addEvent:R,propsToEvents:It,getChildren:Wt,createElement:rt,jsx:pt,jsxs:pt,jsxKeyed:gt,jsxsKeyed:gt},Lr,Fr=Nt,Nr=zt;const zr=Object.freeze(Object.defineProperty({__proto__:null,$$null:Rr,Elements:Gr,ReactiveProp:Lr,array:Mr,jsx:Nt,jsxFragment:Pr,jsxKeyed:zt,jsxs:Fr,jsxsKeyed:Nr},Symbol.toStringTag,{value:"Module"}));function Br(e){return e.TAG==="Reactive"?A(e._0):e._0}function Ir(e){return{TAG:"Static",_0:e}}function Wr(e){return{TAG:"Reactive",_0:e}}const Kr=Object.freeze(Object.defineProperty({__proto__:null,$$static:Ir,get:Br,reactive:Wr},Symbol.toStringTag,{value:"Module"}));function Kt(e,t){let n=e.length,r=new Array(n),l=0;for(let i=0;i<n;++i){let u=e[i],o=t(u);o!==void 0&&(r[l]=h(o),l=l+1|0)}return r.length=l,r}function Vr(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let l=t(e[r]);if(l!==void 0)return l;n=r+1|0}}function Vt(e){return Kt(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Ht(e,t){let n=t.split("/").filter(i=>i!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((i,u)=>{let o=n[u];return i.TAG==="Static"?o===i._0:(r[i._0]=o,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function it(e,t){return Ht(Vt(e),t)}const Hr=Object.freeze(Object.defineProperty({__proto__:null,match:it,matchPath:Ht,parsePattern:Vt},Symbol.toStringTag,{value:"Module"}));function Xr(){return Symbol.for("xote.router.state")}function B(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:Je({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function qr(){return B().location}function Ur(){return B().basePath}function ce(e){if(!B().initialized){console.warn("[Xote Router] "+e+" called before Router.init(). Make sure to call Router.init() at your app entry point. This may cause incorrect routing behavior.");return}}function lt(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function Xt(e){let t=B().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function ve(e){let t=B().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function qt(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ne(e,t){window.scrollTo(e,t)}function Ut(e,t){return{scrollX:e,scrollY:t}}function ut(){return{}}function Yt(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Jt(){let e=qt(),t=Ut(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function Ve(){let e=window.location.pathname;return{pathname:Xt(e),search:window.location.search,hash:window.location.hash}}function Yr(e,t){let n=e!==void 0?e:"/",r=B(),l=lt(n);if(r.basePath.contents=l,de(r.location,Ve()),r.initialized)return;let i=u=>{de(B().location,Ve());let o=window["history.state"];if(o==null)return;let a=Yt(o);if(a!==void 0)return Ne(a[0],a[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function Jr(e,t,n,r,l){let i=e!==void 0?e:"/",u=t!==void 0?t:"/",o=n!==void 0?n:"",a=r!==void 0?r:"",y=B(),O=lt(i);y.basePath.contents=O,de(y.location,{pathname:u,search:o,hash:a}),y.initialized=!0}function ot(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";ce("Router.push()"),Jt();let u={pathname:e,search:l,hash:i},a=ve(e)+l+i;window.history.pushState(ut(),"",a),de(B().location,u),Ne(0,0)}function Qr(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";ce("Router.replace()");let u={pathname:e,search:l,hash:i},a=ve(e)+l+i;window.history.replaceState(ut(),"",a),de(B().location,u),Ne(0,0)}function Zr(e,t){return ce("Router.route()"),et(Q(()=>{let n=A(B().location),r=it(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function ei(e){return ce("Router.routes()"),et(Q(()=>{let t=A(B().location),n=Vr(e,r=>{let l=it(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function ti(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];ce("Router.link()");let u=o=>{o.preventDefault(),ot(e,void 0,void 0)};return tt(l.concat([q("href",ve(e))]),[["click",u]],i)}function Qt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function Se(e,t){return Qt(t)?t.TAG==="Reactive"?ae(e,t._0):q(e,t._0):typeof t=="function"?Fe(e,t):typeof t=="object"?ae(e,t):q(e,t)}function Zt(e){let t=[],n=e.class;n!==void 0&&t.push(Se("class",h(n)));let r=e.id;r!==void 0&&t.push(Se("id",h(r)));let l=e.style;l!==void 0&&t.push(Se("style",h(l)));let i=e.target;i!==void 0&&t.push(Se("target",h(i)));let u=e["aria-label"];return u!==void 0&&t.push(Se("aria-label",h(u))),t}function en(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function je(e){ce("Router.Link");let t=n=>{n.preventDefault(),ot(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return tt(Zt(e).concat([q("href",ve(e.to))]),[["click",t]],en(e))}function yt(e,t,n){return je(e)}let ni={ReactiveProp:void 0,isReactiveProp:Qt,convertAttrValue:Se,propsToAttrs:Zt,getChildren:en,make:je,jsx:je,jsxs:je,jsxKeyed:yt,jsxsKeyed:yt},ri;const ii=Object.freeze(Object.defineProperty({__proto__:null,Link:ni,Route:ri,addBasePath:ve,basePath:Ur,emptyHistoryState:ut,getCurrentLocation:Ve,getGlobalState:B,getScrollFromState:Yt,getScrollPosition:qt,getSymbolKey:Xr,init:Yr,initSSR:Jr,link:ti,location:qr,makeHistoryState:Ut,normalizeBasePath:lt,push:ot,replace:Qr,route:Zr,routes:ei,saveScrollPosition:Jt,scrollTo:Ne,stripBasePath:Xt,warnIfNotInitialized:ce},Symbol.toStringTag,{value:"Module"}));function ie(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}let dt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function li(e){return dt.includes(e)}let tn={escape:ie,voidElements:dt,isVoidElement:li},nn="<!--$-->",rn="<!--/$-->",ln="<!--#-->",un="<!--/#-->",on="<!--kl-->",dn="<!--/kl-->";function an(e){return"<!--k:"+e+"-->"}let cn="<!--/k-->",sn="<!--lc-->",fn="<!--/lc-->",ui={signalTextStart:nn,signalTextEnd:rn,signalFragmentStart:ln,signalFragmentEnd:un,keyedListStart:on,keyedListEnd:dn,keyedItemStart:an,keyedItemEnd:cn,lazyComponentStart:sn,lazyComponentEnd:fn};function hn(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=V(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"checked":case"disabled":case"multiple":case"readonly":case"required":break;default:return n+'="'+ie(r)+'"'}return r==="true"?n:""}function mn(e){let t=e.map(hn).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let oi={renderAttr:hn,renderAttrs:mn};function ne(e){switch(e.TAG){case"Element":let t=e.tag,n=mn(e.attrs);if(dt.includes(t))return"<"+t+n+" />";let r=e.children.map(ne).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return ie(e._0);case"SignalText":let l=V(e._0);return nn+ie(l)+rn;case"Fragment":return e._0.map(ne).join("");case"SignalFragment":let u=V(e._0).map(ne).join("");return ln+u+un;case"LazyComponent":let o=e._0();return sn+ne(o)+fn;case"KeyedList":let a=e.renderItem,y=e.keyFn,L=V(e.signal).map(F=>{let C=y(F),$=ne(a(F));return an(C)+$+cn}).join("");return on+L+dn}}function pn(e,t){return ne(e())}function di(e,t,n){let r=t!==void 0?t:"root",l=e(),i=ne(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function gn(e){return"<script"+(e!==void 0?' nonce="'+ie(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function ai(e,t,n,r,l,i,u){let o=e!==void 0?e:"",a=t!==void 0?t:"",y=n!==void 0?n:[],O=r!==void 0?r:[],L=l!==void 0?l:"",F=pn(u),C=gn(i),$=O.map(I=>'<link rel="stylesheet" href="'+ie(I)+'" />').join(`
|
|
2
|
+
`),H=y.map(I=>{let W=i!==void 0?' nonce="'+ie(i)+'"':"";return'<script type="module" src="'+ie(I)+'"'+W+"><\/script>"}).join(`
|
|
3
3
|
`);return`<!DOCTYPE html>
|
|
4
4
|
<html>
|
|
5
5
|
<head>
|
|
6
6
|
<meta charset="UTF-8" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
-
|
|
9
|
-
`+
|
|
8
|
+
`+$+`
|
|
9
|
+
`+o+`
|
|
10
10
|
</head>
|
|
11
|
-
<body`+(
|
|
11
|
+
<body`+(a!==""?" "+a:"")+`>
|
|
12
12
|
<div id="root">`+F+`</div>
|
|
13
|
-
`+
|
|
14
|
-
`+
|
|
15
|
-
`+
|
|
13
|
+
`+L+`
|
|
14
|
+
`+C+`
|
|
15
|
+
`+H+`
|
|
16
16
|
</body>
|
|
17
|
-
</html>`}let Jn;const Qn=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Yn,Component:Jn,Html:mt,Markers:Kn,generateHydrationScript:At,renderDocument:Un,renderNodeToString:q,renderToString:xt,renderToStringWithRoot:qn},Symbol.toStringTag,{value:"Module"}));function Ct(e,t){let n=e.length,r=new Array(n),i=0;for(let l=0;l<n;++l){let u=e[l],d=t(u);d!==void 0&&(r[i]=S(d),i=i+1|0)}return r.length=i,r}function Zn(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let i=t(e[r]);if(i!==void 0)return i;n=r+1|0}}function Ot(e){return Ct(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Dt(e,t){let n=t.split("/").filter(l=>l!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((l,u)=>{let d=n[u];return l.TAG==="Static"?d===l._0:(r[l._0]=d,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function He(e,t){return Dt(Ot(e),t)}const er=Object.freeze(Object.defineProperty({__proto__:null,match:He,matchPath:Dt,parsePattern:Ot},Symbol.toStringTag,{value:"Module"}));function Xe(e,t){delete e[t]}let Pt="http://www.w3.org/2000/svg",Rt=["svg","path","circle","ellipse","line","polygon","polyline","rect","g","defs","clipPath","mask","pattern","marker","symbol","use","text","tspan","image","foreignObject","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComposite","feFlood","feGaussianBlur","feMerge","feMergeNode","feOffset","animate","animateTransform","desc","title","metadata"],Ce={};Rt.forEach(e=>{Ce[e]=!0});function tr(e){return Be(Ce[e])}function se(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"multiple":case"readonly":case"required":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let pe={setAttrOrProp:se},ke={contents:void 0};function nr(){return{disposers:[],computeds:[]}}function ue(e,t){let n=ke.contents;ke.contents=e;let r=t();return ke.contents=n,r}function oe(e,t){e.disposers.push(t)}function Mt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>M.dispose(t))}function de(e,t){e.__xote_owner__=t}function jt(e){return ze(e.__xote_owner__)}let s={currentOwner:ke,createOwner:nr,runWithOwner:ue,addDisposer:oe,disposeOwner:Mt,setOwner:de,getOwner:jt};function Ft(e,t){return[e,{TAG:"Static",_0:t}]}function Nt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Lt(e,t){return[e,{TAG:"Compute",_0:t}]}let rr={$$static:Ft,signal:Nt,computed:Lt};function fe(e){let t=jt(e);t!==void 0&&Mt(t),Array.from(e.childNodes||[]).forEach(fe)}function X(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,i=e.tag,l=Be(Ce[i])?document.createElementNS(Pt,i):document.createElement(i),u={disposers:[],computeds:[]};return de(l,u),ue(u,()=>{r.forEach(a=>{let p=a[1],T=a[0];switch(p.TAG){case"Static":return se(l,T,p._0);case"SignalValue":let x=p._0;se(l,T,o.peek(x));let R=$.run(()=>{se(l,T,o.get(x))},void 0);return oe(u,R);case"Compute":let m=p._0,_=$.run(()=>{se(l,T,m())},void 0);return oe(u,_)}}),n.forEach(a=>{l.addEventListener(a[0],a[1])}),t.forEach(a=>{let p=X(a);l.appendChild(p)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let d=e._0,c=document.createTextNode(o.peek(d)),g={disposers:[],computeds:[]};return de(c,g),ue(g,()=>{let a=$.run(()=>{c.textContent=o.get(d)},void 0);oe(g,a)}),c;case"Fragment":let A=document.createDocumentFragment();return e._0.forEach(a=>{let p=X(a);A.appendChild(p)}),A;case"SignalFragment":let j=e._0,F={disposers:[],computeds:[]},O=document.createElement("div");return O.setAttribute("style","display: contents"),de(O,F),ue(F,()=>{let a=$.run(()=>{let p=o.get(j);Array.from(O.childNodes||[]).forEach(fe),O.innerHTML="",p.forEach(x=>{let R=X(x);O.appendChild(R)})},void 0);oe(F,a)}),O;case"LazyComponent":let v={disposers:[],computeds:[]},W=ue(v,e._0),G=X(W);return de(G,v),G;case"KeyedList":let z=e.renderItem,D=e.keyFn,H=e.signal,le={disposers:[],computeds:[]},k=document.createComment(" keyed-list-start "),y=document.createComment(" keyed-list-end ");de(k,le);let f={},b=()=>{let a=y.parentNode;if(a==null)return;let p=o.get(H),T={};p.forEach(h=>{T[D(h)]=h});let x=[];Object.keys(f).forEach(h=>{if(T[h]===void 0){x.push(h);return}}),x.forEach(h=>{let w=f[h];if(w!==void 0){fe(w.element),w.element.remove(),Xe(f,h);return}});let R=[],m={};p.forEach(h=>{let w=D(h),ie=f[w];if(ie!==void 0){if(ie.item!==h){m[w]=!0;let Ee=z(h),nn=X(Ee),Qe={key:w,item:h,element:nn};R.push(Qe),f[w]=Qe;return}R.push(ie);return}let ye=z(h),Re=X(ye),be={key:w,item:h,element:Re};R.push(be),f[w]=be});let _={contents:k.nextSibling};R.forEach(h=>{let w=_.contents;if(w==null){a.insertBefore(h.element,y);return}if(w===y){a.insertBefore(h.element,y);return}if(w===h.element){_.contents=w.nextSibling;return}V(m[h.key],!1)?(fe(w),a.replaceChild(h.element,w),_.contents=h.element.nextSibling):(a.insertBefore(h.element,w),_.contents=h.element.nextSibling)})},E=document.createDocumentFragment();return E.appendChild(k),o.peek(H).forEach(a=>{let p=D(a),T=z(a),x=X(T),R={key:p,item:a,element:x};f[p]=R,E.appendChild(x)}),E.appendChild(y),ue(le,()=>{let a=$.run(()=>{b()},void 0);oe(le,a)}),E}}let U={disposeElement:fe,render:X};function lr(e){return{TAG:"Text",_0:e}}function ir(e){return{TAG:"SignalText",_0:M.make(e,void 0)}}function ur(e){return{TAG:"SignalText",_0:M.make(e,void 0)}}function or(e){return{TAG:"SignalText",_0:M.make(()=>e().toString(),void 0)}}function dr(e){return{TAG:"SignalText",_0:M.make(()=>e().toString(),void 0)}}function ar(e){return{TAG:"Text",_0:e.toString()}}function cr(e){return{TAG:"Text",_0:e.toString()}}function sr(e){return{TAG:"Fragment",_0:e}}function Ve(e){return{TAG:"SignalFragment",_0:e}}function fr(e,t){return{TAG:"SignalFragment",_0:M.make(()=>o.get(e).map(t),void 0)}}function pr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function B(e,t,n,r,i){let l=t!==void 0?t:[].map(c=>c),u=n!==void 0?n:[].map(c=>c),d=r!==void 0?r:[].map(c=>c);return{TAG:"Element",tag:e,attrs:l,events:u,children:d}}function mr(e,t,n,r){return B("div",e,t,n)}function hr(e,t,n,r){return B("span",e,t,n)}function gr(e,t,n,r){return B("button",e,t,n)}function Sr(e,t,n){return B("input",e,t,void 0)}function _r(e,t,n,r){return B("h1",e,t,n)}function yr(e,t,n,r){return B("h2",e,t,n)}function br(e,t,n,r){return B("h3",e,t,n)}function Er(e,t,n,r){return B("p",e,t,n)}function wr(e,t,n,r){return B("ul",e,t,n)}function kr(e,t,n,r){return B("li",e,t,n)}function Ke(e,t,n,r){return B("a",e,t,n)}function Tr(){return{TAG:"Text",_0:""}}function It(e,t){let n=X(e);t.appendChild(n)}function vr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return It(e,n)}let $r=Ce,me=Ft,Fe=Nt,Gt=Lt;const xr=Object.freeze(Object.defineProperty({__proto__:null,$$null:Tr,Attributes:rr,DOM:pe,Reactivity:s,Render:U,a:Ke,attr:me,button:gr,computedAttr:Gt,div:mr,element:B,float:cr,fragment:sr,h1:_r,h2:yr,h3:br,input:Sr,int:ar,isSvgTag:tr,keyedList:pr,li:kr,list:fr,mount:It,mountById:vr,p:Er,reactiveFloat:dr,reactiveInt:or,reactiveString:ur,signalAttr:Fe,signalFragment:Ve,span:hr,svgNamespace:Pt,svgTagSet:$r,svgTags:Rt,text:lr,textSignal:ir,ul:wr},Symbol.toStringTag,{value:"Module"}));function Ar(){return Symbol.for("xote.router.state")}function I(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:o.make({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function Cr(){return I().location}function Or(){return I().basePath}function ne(e){if(!I().initialized)return console.warn("[Xote Router] "+e+" called before Router.init(). Make sure to call Router.init() at your app entry point. This may cause incorrect routing behavior.")}function Ye(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function zt(e){let t=I().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function ge(e){let t=I().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function Bt(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Oe(e,t){window.scrollTo(e,t)}function Wt(e,t){return{scrollX:e,scrollY:t}}function qe(){return{}}function Ht(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Xt(){let e=Bt(),t=Wt(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function Ne(){let e=window.location.pathname;return{pathname:zt(e),search:window.location.search,hash:window.location.hash}}function Dr(e,t){let n=e!==void 0?e:"/",r=I(),i=Ye(n);if(r.basePath.contents=i,o.set(r.location,Ne()),r.initialized)return;let l=u=>{o.set(I().location,Ne());let d=window["history.state"];if(d==null)return;let c=Ht(d);if(c!==void 0)return Oe(c[0],c[1])};r.popStateHandler=l,window.addEventListener("popstate",l),r.initialized=!0}function Pr(e,t,n,r,i){let l=e!==void 0?e:"/",u=t!==void 0?t:"/",d=n!==void 0?n:"",c=r!==void 0?r:"",g=I(),A=Ye(l);g.basePath.contents=A,o.set(g.location,{pathname:u,search:d,hash:c}),g.initialized=!0}function Ue(e,t,n,r){let i=t!==void 0?t:"",l=n!==void 0?n:"";ne("Router.push()"),Xt();let u={pathname:e,search:i,hash:l},c=ge(e)+i+l;window.history.pushState(qe(),"",c),o.set(I().location,u),Oe(0,0)}function Rr(e,t,n,r){let i=t!==void 0?t:"",l=n!==void 0?n:"";ne("Router.replace()");let u={pathname:e,search:i,hash:l},c=ge(e)+i+l;window.history.replaceState(qe(),"",c),o.set(I().location,u),Oe(0,0)}function Mr(e,t){return ne("Router.route()"),Ve(M.make(()=>{let n=o.get(I().location),r=He(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function jr(e){return ne("Router.routes()"),Ve(M.make(()=>{let t=o.get(I().location),n=Zn(e,r=>{let i=He(r.pattern,t.pathname);if(typeof i=="object")return r.render(i._0)});return n!==void 0?[n]:[]},void 0))}function Fr(e,t,n,r){let i=t!==void 0?t:[],l=n!==void 0?n:[];ne("Router.link()");let u=d=>{d.preventDefault(),Ue(e,void 0,void 0)};return Ke(i.concat([me("href",ge(e))]),[["click",u]],l)}function Vt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function ae(e,t){return Vt(t)?t.TAG==="Reactive"?Fe(e,t._0):me(e,t._0):typeof t=="function"?Gt(e,t):typeof t=="object"?Fe(e,t):me(e,t)}function Kt(e){let t=[],n=e.class;n!==void 0&&t.push(ae("class",S(n)));let r=e.id;r!==void 0&&t.push(ae("id",S(r)));let i=e.style;i!==void 0&&t.push(ae("style",S(i)));let l=e.target;l!==void 0&&t.push(ae("target",S(l)));let u=e["aria-label"];return u!==void 0&&t.push(ae("aria-label",S(u))),t}function Yt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Te(e){ne("Router.Link");let t=n=>{n.preventDefault(),Ue(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return Ke(Kt(e).concat([me("href",ge(e.to))]),[["click",t]],Yt(e))}function rt(e,t,n){return Te(e)}let Nr={ReactiveProp:void 0,isReactiveProp:Vt,convertAttrValue:ae,propsToAttrs:Kt,getChildren:Yt,make:Te,jsx:Te,jsxs:Te,jsxKeyed:rt,jsxsKeyed:rt},Lr,Ir;const Gr=Object.freeze(Object.defineProperty({__proto__:null,Component:Lr,Link:Nr,Route:Ir,addBasePath:ge,basePath:Or,emptyHistoryState:qe,getCurrentLocation:Ne,getGlobalState:I,getScrollFromState:Ht,getScrollPosition:Bt,getSymbolKey:Ar,init:Dr,initSSR:Pr,link:Fr,location:Cr,makeHistoryState:Wt,normalizeBasePath:Ye,push:Ue,replace:Rr,route:Mr,routes:jr,saveScrollPosition:Xt,scrollTo:Oe,stripBasePath:zt,warnIfNotInitialized:ne},Symbol.toStringTag,{value:"Module"}));function zr(e){if(typeof e=="boolean")return e}function Br(e){if(e===null)return null}function Wr(e){if(typeof e=="string")return e}function Hr(e){if(typeof e=="number")return e}function Xr(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Vr(e){if(Array.isArray(e))return e}let re={bool:zr,$$null:Br,string:Wr,float:Hr,object:Xr,array:Vr},Se=typeof document>"u",De=!Se;function Kr(e){if(Se)return te(e())}function Yr(e){if(De)return te(e())}function qt(e,t){return Se?e():t()}const qr=Object.freeze(Object.defineProperty({__proto__:null,isClient:De,isServer:Se,match:qt,onClient:Yr,onServer:Kr},Symbol.toStringTag,{value:"Module"}));function Ur(e){return e}function Jr(e){let t=re.float(e);if(t!==void 0)return t|0}let Qr={encode:Ur,decode:Jr};function Zr(e){return e}function el(e){return re.float(e)}let tl={encode:Zr,decode:el};function nl(e){return e}function rl(e){return re.string(e)}let ll={encode:nl,decode:rl};function il(e){return e}function ul(e){return re.bool(e)}let ol={encode:il,decode:ul};function dl(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=re.array(t);if(n===void 0)return;let r=Ct(n,e.decode);if(r.length===n.length)return r}}}function al(e){return{encode:t=>t!==void 0?e.encode(S(t)):null,decode:t=>Be(re.$$null(t))?te(void 0):sn(e.decode(t),n=>te(n))}}function cl(e,t){return{encode:n=>[e.encode(n[0]),t.encode(n[1])],decode:n=>{let r=Array.isArray(n)?n:void 0;if(r===void 0||r.length!==2)return;let i=r[0],l=r[1],u=e.decode(i),d=t.decode(l);if(u!==void 0&&d!==void 0)return[S(u),S(d)]}}}function sl(e,t,n){return{encode:r=>[e.encode(r[0]),t.encode(r[1]),n.encode(r[2])],decode:r=>{let i=Array.isArray(r)?r:void 0;if(i===void 0||i.length!==3)return;let l=i[0],u=i[1],d=i[2],c=e.decode(l),g=t.decode(u),A=n.decode(d);if(c!==void 0&&g!==void 0&&A!==void 0)return[S(c),S(g),S(A)]}}}function fl(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=re.object(t);if(n===void 0)return;let r={},i={contents:!0};if(Object.entries(n).forEach(l=>{let u=e.decode(l[1]);u!==void 0?r[l[0]]=S(u):i.contents=!1}),i.contents)return r}}}function pl(e,t){return{encode:e,decode:t}}let ml={int:Qr,float:tl,string:ll,bool:ol,array:dl,option:al,tuple2:cl,tuple3:sl,dict:fl,make:pl},he={};function Ut(e,t,n){if(Se){he[e]=n.encode(o.peek(t));return}}function hl(){Object.keys(he).forEach(e=>{Xe(he,e)})}function Jt(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function gl(e){let t=V(JSON.stringify(he),"{}"),n=Jt(t);return"<script"+(e!==void 0?' nonce="'+mt.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Qt(){return De?window.__XOTE_STATE__||{}:{}}function Zt(e,t,n){if(!De)return;let i=Qt()[e];if(i===void 0)return;let l=n.decode(i);if(l!==void 0)return o.set(t,S(l))}function en(e,t,n){qt(()=>Ut(e,t,n),()=>Zt(e,t,n))}function Sl(e,t,n){let r=o.make(t,void 0,void 0);return en(e,r,n),r}const _l=Object.freeze(Object.defineProperty({__proto__:null,Codec:ml,clear:hl,escapeForScript:Jt,generateScript:gl,getClientState:Qt,make:Sl,register:Ut,registry:he,restore:Zt,sync:en},Symbol.toStringTag,{value:"Module"}));let je={};function yl(e){let t=je[e];if(t!==void 0){let n=t+1|0;return je[e]=n,e+("/"+n)}return je[e]=1,e}function bl(e){return Array.from(e.childNodes||[])}function _e(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Pe(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function Je(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith("k:"))return t.slice(2)}function ce(e){return{current:ze(e.firstChild),parent:e}}function El(e){return e.current}function N(e){let t=e.current;return t!==void 0&&(e.current=ze(S(t).nextSibling)),t}function K(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let i=S(r);if(_e(i,t))return N(e),te(i);N(e)}})()}function $e(e,t){let n=[];return(()=>{for(;;){let i=e.current;if(i===void 0)return;let l=S(i);if(_e(l,t)){N(e);return}n.push(l),N(e)}})(),n}let wl={elementNode:1,textNode:3,commentNode:8,getChildNodes:bl,isMarker:_e,isMarkerPrefix:Pe,extractKey:Je,make:ce,peek:El,next:N,skipUntilMarker:K,collectUntilMarker:$e},kl=yl("Xote__Hydration.HydrationMismatch");function Le(e){console.warn("[Xote Hydration] "+e)}function Tl(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,l=n.attrs,u=s.createOwner();return s.setOwner(t,u),s.runWithOwner(u,()=>{l.forEach(y=>{let f=y[1],b=y[0];switch(f.TAG){case"Static":return;case"SignalValue":let E=f._0,P=$.run(()=>{pe.setAttrOrProp(t,b,o.get(E))},void 0);return s.addDisposer(u,P);case"Compute":let a=f._0,p=$.run(()=>{pe.setAttrOrProp(t,b,a())},void 0);return s.addDisposer(u,p)}}),i.forEach(y=>{t.addEventListener(y[0],y[1])});let k=ce(t);r.forEach(y=>Z(y,k))});case"Text":return;case"SignalText":let d=n._0,c=s.createOwner();return s.setOwner(t,c),s.runWithOwner(c,()=>{let k=$.run(()=>{t.textContent=o.get(d)},void 0);s.addDisposer(c,k)});case"Fragment":let g=ce(t);n._0.forEach(k=>Z(k,g));return;case"SignalFragment":let A=n._0,j=s.createOwner();return s.setOwner(t,j),s.runWithOwner(j,()=>{let k=$.run(()=>{let y=o.get(A);Array.from(t.childNodes||[]).forEach(b=>s.disposeOwner(V(s.getOwner(b),s.createOwner()))),t.innerHTML="",y.forEach(b=>{let E=U.render(b);t.appendChild(E)})},void 0);s.addDisposer(j,k)});case"LazyComponent":let F=s.createOwner(),O=s.runWithOwner(F,n._0);s.setOwner(t,F),e=O;continue;case"KeyedList":let v=n.renderItem,W=n.keyFn,G=n.signal,z=s.createOwner();s.setOwner(t,z);let D={},H=ce(t);return K(H,"kl"),(()=>{for(;;){let k=H.current;if(k===void 0)return;let y=S(k);if(!Pe(y,"k:"))if(_e(y,"/kl")){N(H);return}else return;let f=V(Je(y),"");N(H);let E=$e(H,"/k").find(P=>P.nodeType===1);if(E!==void 0){let P=o.peek(G),a=V(P.find(p=>W(p)===f),{});D[f]={key:f,item:a,element:S(E)}}}})(),s.runWithOwner(z,()=>{let k=document.createComment(" keyed-list-start "),y=document.createComment(" keyed-list-end "),f=t.firstChild;f==null?t.appendChild(k):t.insertBefore(k,f),t.appendChild(y);let b=()=>{let P=o.get(G),a={};P.forEach(m=>{a[W(m)]=m});let p=[];Object.keys(D).forEach(m=>{if(a[m]===void 0){p.push(m);return}}),p.forEach(m=>{let _=D[m];if(_!==void 0){U.disposeElement(_.element),_.element.remove(),Xe(D,m);return}});let T=[],x={};P.forEach(m=>{let _=W(m),h=D[_];if(h!==void 0){if(h.item!==m){x[_]=!0;let Re=v(m),be=U.render(Re),Ee={key:_,item:m,element:be};T.push(Ee),D[_]=Ee;return}T.push(h);return}let w=v(m),ie=U.render(w),ye={key:_,item:m,element:ie};T.push(ye),D[_]=ye});let R={contents:k.nextSibling};T.forEach(m=>{let _=R.contents;if(_==null){t.insertBefore(m.element,y);return}if(_===y){t.insertBefore(m.element,y);return}if(_===m.element){R.contents=_.nextSibling;return}V(x[m.key],!1)?(U.disposeElement(_),t.replaceChild(m.element,_),R.contents=m.element.nextSibling):(t.insertBefore(m.element,_),R.contents=m.element.nextSibling)})},E=$.run(()=>{b()},void 0);s.addDisposer(z,E)})}}}function Z(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,i=e.attrs,l=N(t);if(l===void 0)return Le("Missing DOM element for Element node");let u=S(l),d=s.createOwner();return s.setOwner(u,d),s.runWithOwner(d,()=>{i.forEach(b=>{let E=b[1],P=b[0];switch(E.TAG){case"Static":return;case"SignalValue":let a=E._0,p=$.run(()=>{pe.setAttrOrProp(u,P,o.get(a))},void 0);return s.addDisposer(d,p);case"Compute":let T=E._0,x=$.run(()=>{pe.setAttrOrProp(u,P,T())},void 0);return s.addDisposer(d,x)}}),r.forEach(b=>{u.addEventListener(b[0],b[1])});let f=ce(u);n.forEach(b=>Z(b,f))});case"Text":N(t);return;case"SignalText":let c=e._0;K(t,"$");let g=N(t);if(g===void 0)return Le("Missing text node for SignalText");let A=S(g),j=s.createOwner();s.setOwner(A,j),s.runWithOwner(j,()=>{let f=$.run(()=>{A.textContent=o.get(c)},void 0);s.addDisposer(j,f)}),K(t,"/$");return;case"Fragment":e._0.forEach(f=>Z(f,t));return;case"SignalFragment":let F=e._0;K(t,"#");let O=$e(t,"/#"),v=document.createElement("div");v.setAttribute("style","display: contents");let W=O[0],G=W!==void 0?W.parentNode:void 0;O.forEach(f=>{v.appendChild(f)});let z=t.current;if(G!==void 0){let f=S(G);z!==void 0?f.insertBefore(v,S(z)):f.appendChild(v)}let D=s.createOwner();return s.setOwner(v,D),s.runWithOwner(D,()=>{let f=$.run(()=>{let b=o.get(F);Array.from(v.childNodes||[]).forEach(U.disposeElement),v.innerHTML="",b.forEach(P=>{let a=U.render(P);v.appendChild(a)})},void 0);s.addDisposer(D,f)});case"LazyComponent":K(t,"lc");let H=e._0();Z(H,t),K(t,"/lc");return;case"KeyedList":let le=e.keyFn,k=e.signal;return K(t,"kl"),(()=>{for(;;){let f=t.current;if(f===void 0)return;let b=S(f);if(!Pe(b,"k:"))if(_e(b,"/kl")){N(t);return}else return;let E=V(Je(b),"");N(t);let a=$e(t,"/k").find(p=>p.nodeType===1);if(a!==void 0){let p=o.peek(k),T=V(p.find(x=>le(x)===E),{});S(a)}}})()}}function tn(e,t,n){let r=n!==void 0?n:{},i=e(),l=ce(t),u=l.current;u!==void 0&&Pe(S(u),"xote-root:")&&N(l),Z(i,l),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function vl(e,t,n){let r=n!==void 0?n:{},i=document.getElementById(t);if(i==null){console.error("[Xote Hydration] Container element not found: "+t);return}else return tn(e,i,r)}let $l,xl,Al;const Cl=Object.freeze(Object.defineProperty({__proto__:null,Component:$l,DOM:xl,DOMWalker:wl,HydrationMismatch:kl,Reactivity:Al,hydrate:tn,hydrateById:vl,hydrateNode:Tl,hydrateNodeWithWalker:Z,logHydrationWarning:Le},Symbol.toStringTag,{value:"Module"}));function Ol(e){return e.TAG==="Reactive"?o.get(e._0):e._0}function Dl(e){return{TAG:"Static",_0:e}}function Pl(e){return{TAG:"Reactive",_0:e}}const Rl=Object.freeze(Object.defineProperty({__proto__:null,$$static:Dl,get:Ol,reactive:Pl},Symbol.toStringTag,{value:"Module"}));let Ml=o.Id,jl=o.Scheduler,Fl=o.Core,Nl=o.make,Ll=o.makeForComputed,Il=o.get,Gl=o.peek,zl=o.set,Bl=o.update,Wl=o.batch,Hl=o.untrack,Xl={Id:Ml,Scheduler:jl,Core:Fl,make:Nl,makeForComputed:Ll,get:Il,peek:Gl,set:zl,update:Bl,batch:Wl,untrack:Hl},Vl=M.Id,Kl=M.Signal,Yl=M.Core,ql=M.Scheduler,Ul=M.make,Jl=M.dispose,Ql={Id:Vl,Signal:Kl,Core:Yl,Scheduler:ql,make:Ul,dispose:Jl},Zl=$.Id,ei=$.Core,ti=$.Scheduler,ni=$.run,ri={Id:Zl,Core:ei,Scheduler:ti,run:ni},li=xr,ii=er,ui=Gr,oi=Rl,di=Qn,ai=qr,ci=_l,si=Cl;exports.Component=li;exports.Computed=Ql;exports.Effect=ri;exports.Hydration=si;exports.ReactiveProp=oi;exports.Route=ii;exports.Router=ui;exports.SSR=di;exports.SSRContext=ai;exports.SSRState=ci;exports.Signal=Xl;
|
|
17
|
+
</html>`}const ci=Object.freeze(Object.defineProperty({__proto__:null,Attributes:oi,Html:tn,Markers:ui,generateHydrationScript:gn,renderDocument:ai,renderNodeToString:ne,renderToString:pn,renderToStringWithRoot:di},Symbol.toStringTag,{value:"Module"}));let xe=typeof document>"u",ze=!xe;function si(e){if(xe)return oe(e())}function fi(e){if(ze)return oe(e())}function yn(e,t){return xe?e():t()}const hi=Object.freeze(Object.defineProperty({__proto__:null,isClient:ze,isServer:xe,match:yn,onClient:fi,onServer:si},Symbol.toStringTag,{value:"Module"}));function mi(e){if(typeof e=="boolean")return e}function pi(e){if(e===null)return null}function gi(e){if(typeof e=="string")return e}function yi(e){if(typeof e=="number")return e}function Si(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function _i(e){if(Array.isArray(e))return e}let se={bool:mi,$$null:pi,string:gi,float:yi,object:Si,array:_i};function bi(e){return e}function Ei(e){let t=se.float(e);if(t!==void 0)return t|0}let wi={encode:bi,decode:Ei};function Ti(e){return e}function vi(e){return se.float(e)}let xi={encode:Ti,decode:vi};function $i(e){return e}function Ai(e){return se.string(e)}let ki={encode:$i,decode:Ai};function Oi(e){return e}function Di(e){return se.bool(e)}let Ci={encode:Oi,decode:Di};function ji(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=se.array(t);if(n===void 0)return;let r=Kt(n,e.decode);if(r.length===n.length)return r}}}function Pi(e){return{encode:t=>t!==void 0?e.encode(h(t)):null,decode:t=>Ye(se.$$null(t))?oe(void 0):Hn(e.decode(t),n=>oe(n))}}function Mi(e,t){return{encode:n=>[e.encode(n[0]),t.encode(n[1])],decode:n=>{let r=Array.isArray(n)?n:void 0;if(r===void 0||r.length!==2)return;let l=r[0],i=r[1],u=e.decode(l),o=t.decode(i);if(u!==void 0&&o!==void 0)return[h(u),h(o)]}}}function Ri(e,t,n){return{encode:r=>[e.encode(r[0]),t.encode(r[1]),n.encode(r[2])],decode:r=>{let l=Array.isArray(r)?r:void 0;if(l===void 0||l.length!==3)return;let i=l[0],u=l[1],o=l[2],a=e.decode(i),y=t.decode(u),O=n.decode(o);if(a!==void 0&&y!==void 0&&O!==void 0)return[h(a),h(y),h(O)]}}}function Gi(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=se.object(t);if(n===void 0)return;let r={},l={contents:!0};if(Object.entries(n).forEach(i=>{let u=e.decode(i[1]);u!==void 0?r[i[0]]=h(u):l.contents=!1}),l.contents)return r}}}function Li(e,t){return{encode:e,decode:t}}let Fi={int:wi,float:xi,string:ki,bool:Ci,array:ji,option:Pi,tuple2:Mi,tuple3:Ri,dict:Gi,make:Li},Te={};function Sn(e,t,n){if(xe){Te[e]=n.encode(V(t));return}}function Ni(){Object.keys(Te).forEach(e=>{Qe(Te,e)})}function _n(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function zi(e){let t=J(JSON.stringify(Te),"{}"),n=_n(t);return"<script"+(e!==void 0?' nonce="'+tn.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function bn(){return ze?window.__XOTE_STATE__||{}:{}}function En(e,t,n){if(!ze)return;let l=bn()[e];if(l===void 0)return;let i=n.decode(l);if(i!==void 0)return de(t,h(i))}function wn(e,t,n){yn(()=>Sn(e,t,n),()=>En(e,t,n))}function Bi(e,t,n){let r=Je(t,void 0,void 0);return wn(e,r,n),r}const Ii=Object.freeze(Object.defineProperty({__proto__:null,Codec:Fi,clear:Ni,escapeForScript:_n,generateScript:zi,getClientState:bn,make:Bi,register:Sn,registry:Te,restore:En,sync:wn},Symbol.toStringTag,{value:"Module"}));let Ke={};function Wi(e){let t=Ke[e];if(t!==void 0){let n=t+1|0;return Ke[e]=n,e+("/"+n)}return Ke[e]=1,e}function Ki(e){return Array.from(e.childNodes||[])}function $e(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Be(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function at(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith("k:"))return t.slice(2)}function _e(e){return{current:Ue(e.firstChild),parent:e}}function Vi(e){return e.current}function N(e){let t=e.current;return t!==void 0&&(e.current=Ue(h(t).nextSibling)),t}function Z(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let l=h(r);if($e(l,t))return N(e),oe(l);N(e)}})()}function Me(e,t){let n=[];return(()=>{for(;;){let l=e.current;if(l===void 0)return;let i=h(l);if($e(i,t)){N(e);return}n.push(i),N(e)}})(),n}let Hi={elementNode:1,textNode:3,commentNode:8,getChildNodes:Ki,isMarker:$e,isMarkerPrefix:Be,extractKey:at,make:_e,peek:Vi,next:N,skipUntilMarker:Z,collectUntilMarker:Me},Xi=Wi("Hydration-Xote.HydrationMismatch");function He(e){console.warn("[Xote Hydration] "+e)}function qi(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,l=n.events,i=n.attrs,u=c.createOwner();return c.setOwner(t,u),c.runWithOwner(u,()=>{i.forEach(_=>{let s=_[1],b=_[0];switch(s.TAG){case"Static":return;case"SignalValue":let w=s._0,P=G(()=>{we.setAttrOrProp(t,b,A(w))},void 0);return c.addDisposer(u,P);case"Compute":let d=s._0,m=G(()=>{we.setAttrOrProp(t,b,d())},void 0);return c.addDisposer(u,m)}}),l.forEach(_=>{t.addEventListener(_[0],_[1])});let v=_e(t);r.forEach(_=>le(_,v))});case"Text":return;case"SignalText":let o=n._0,a=c.createOwner();return c.setOwner(t,a),c.runWithOwner(a,()=>{let v=G(()=>{t.textContent=A(o)},void 0);c.addDisposer(a,v)});case"Fragment":let y=_e(t);n._0.forEach(v=>le(v,y));return;case"SignalFragment":let O=n._0,L=c.createOwner();return c.setOwner(t,L),c.runWithOwner(L,()=>{let v=G(()=>{let _=A(O);Array.from(t.childNodes||[]).forEach(b=>c.disposeOwner(J(c.getOwner(b),c.createOwner()))),t.innerHTML="",_.forEach(b=>{let w=te.render(b);t.appendChild(w)})},void 0);c.addDisposer(L,v)});case"LazyComponent":let F=c.createOwner(),C=c.runWithOwner(F,n._0);c.setOwner(t,F),e=C;continue;case"KeyedList":let $=n.renderItem,H=n.keyFn,I=n.signal,W=c.createOwner();c.setOwner(t,W);let j={},X=_e(t);return Z(X,"kl"),(()=>{for(;;){let v=X.current;if(v===void 0)return;let _=h(v);if(!Be(_,"k:"))if($e(_,"/kl")){N(X);return}else return;let s=J(at(_),"");N(X);let w=Me(X,"/k").find(P=>P.nodeType===1);if(w!==void 0){let P=V(I),d=J(P.find(m=>H(m)===s),{});j[s]={key:s,item:d,element:h(w)}}}})(),c.runWithOwner(W,()=>{let v=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end "),s=t.firstChild;s==null?t.appendChild(v):t.insertBefore(v,s),t.appendChild(_);let b=()=>{let P=A(I),d={};P.forEach(p=>{d[H(p)]=p});let m=[];Object.keys(j).forEach(p=>{if(d[p]===void 0){m.push(p);return}}),m.forEach(p=>{let S=j[p];if(S!==void 0){te.disposeElement(S.element),S.element.remove(),Qe(j,p);return}});let x=[],k={};P.forEach(p=>{let S=H(p),g=j[S];if(g!==void 0){if(g.item!==p){k[S]=!0;let Ie=$(p),ke=te.render(Ie),Oe={key:S,item:p,element:ke};x.push(Oe),j[S]=Oe;return}x.push(g);return}let T=$(p),he=te.render(T),Ae={key:S,item:p,element:he};x.push(Ae),j[S]=Ae});let M={contents:v.nextSibling};x.forEach(p=>{let S=M.contents;if(S==null){t.insertBefore(p.element,_);return}if(S===_){t.insertBefore(p.element,_);return}if(S===p.element){M.contents=S.nextSibling;return}J(k[p.key],!1)?(te.disposeElement(S),t.replaceChild(p.element,S),M.contents=p.element.nextSibling):(t.insertBefore(p.element,S),M.contents=p.element.nextSibling)})},w=G(()=>{b()},void 0);c.addDisposer(W,w)})}}}function le(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,l=e.attrs,i=N(t);if(i===void 0)return He("Missing DOM element for Element node");let u=h(i),o=c.createOwner();return c.setOwner(u,o),c.runWithOwner(o,()=>{l.forEach(b=>{let w=b[1],P=b[0];switch(w.TAG){case"Static":return;case"SignalValue":let d=w._0,m=G(()=>{we.setAttrOrProp(u,P,A(d))},void 0);return c.addDisposer(o,m);case"Compute":let x=w._0,k=G(()=>{we.setAttrOrProp(u,P,x())},void 0);return c.addDisposer(o,k)}}),r.forEach(b=>{u.addEventListener(b[0],b[1])});let s=_e(u);n.forEach(b=>le(b,s))});case"Text":N(t);return;case"SignalText":let a=e._0;Z(t,"$");let y=N(t);if(y===void 0)return He("Missing text node for SignalText");let O=h(y),L=c.createOwner();c.setOwner(O,L),c.runWithOwner(L,()=>{let s=G(()=>{O.textContent=A(a)},void 0);c.addDisposer(L,s)}),Z(t,"/$");return;case"Fragment":e._0.forEach(s=>le(s,t));return;case"SignalFragment":let F=e._0;Z(t,"#");let C=Me(t,"/#"),$=document.createElement("div");$.setAttribute("style","display: contents");let H=C[0],I=H!==void 0?H.parentNode:void 0;C.forEach(s=>{$.appendChild(s)});let W=t.current;if(I!==void 0){let s=h(I);W!==void 0?s.insertBefore($,h(W)):s.appendChild($)}let j=c.createOwner();return c.setOwner($,j),c.runWithOwner(j,()=>{let s=G(()=>{let b=A(F);Array.from($.childNodes||[]).forEach(te.disposeElement),$.innerHTML="",b.forEach(P=>{let d=te.render(P);$.appendChild(d)})},void 0);c.addDisposer(j,s)});case"LazyComponent":Z(t,"lc");let X=e._0();le(X,t),Z(t,"/lc");return;case"KeyedList":let fe=e.keyFn,v=e.signal;return Z(t,"kl"),(()=>{for(;;){let s=t.current;if(s===void 0)return;let b=h(s);if(!Be(b,"k:"))if($e(b,"/kl")){N(t);return}else return;let w=J(at(b),"");N(t);let d=Me(t,"/k").find(m=>m.nodeType===1);if(d!==void 0){let m=V(v),x=J(m.find(k=>fe(k)===w),{});h(d)}}})()}}function Tn(e,t,n){let r=n!==void 0?n:{},l=e(),i=_e(t),u=i.current;u!==void 0&&Be(h(u),"xote-root:")&&N(i),le(l,i),window.__XOTE_HYDRATED__=!0;let o=r.onHydrated;if(o!==void 0)return o()}function Ui(e,t,n){let r=n!==void 0?n:{},l=document.getElementById(t);if(l==null){console.error("[Xote Hydration] Container element not found: "+t);return}else return Tn(e,l,r)}let Yi,Ji;const Qi=Object.freeze(Object.defineProperty({__proto__:null,DOM:Yi,DOMWalker:Hi,HydrationMismatch:Xi,Reactivity:Ji,hydrate:Tn,hydrateById:Ui,hydrateNode:qi,hydrateNodeWithWalker:le,logHydrationWarning:He},Symbol.toStringTag,{value:"Module"}));exports.Computed=or;exports.Effect=Vn;exports.Html=jr;exports.Hydration=Qi;exports.Node=Er;exports.ReactiveProp=Kr;exports.Route=Hr;exports.Router=ii;exports.SSR=ci;exports.SSRContext=hi;exports.SSRState=Ii;exports.Signal=ir;exports.XoteJSX=zr;
|