xote 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -10
- package/dist/xote.cjs +9 -9
- package/dist/xote.mjs +1261 -1085
- package/dist/xote.umd.js +9 -9
- package/package.json +2 -2
- package/src/Computed.res.mjs +6 -0
- package/src/Node.res.mjs +4 -4
- package/src/Router.res +4 -4
- package/src/Router.res.mjs +2 -2
- package/src/Signal.res.mjs +6 -0
- package/src/XoteJSX.res +6 -257
- package/src/XoteJSX.res.mjs +2 -2
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# [
|
|
1
|
+
# [xote](https://brnrdog.github.io/xote/)
|
|
2
2
|

|
|
3
3
|

|
|
4
4
|

|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
xote is a lightweight [ReScript](https://rescript-lang.org/) library that combines fine-grained reactivity and a declarative component system for building user interfaces for the web.
|
|
7
7
|
|
|
8
8
|
## Getting Started
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ Xote is a lightweight [ReScript](https://rescript-lang.org/) library that combin
|
|
|
13
13
|
npm install xote
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Then, add it to your ReScript project's `rescript.json`. You'll need to declare `xote` as a dependency
|
|
16
|
+
Then, add it to your ReScript project's `rescript.json`. You'll need to declare `xote` as a dependency and configure JSX to use Xote's transform:
|
|
17
17
|
|
|
18
18
|
```json
|
|
19
19
|
{
|
|
@@ -26,13 +26,11 @@ Then, add it to your ReScript project's `rescript.json`. You'll need to declare
|
|
|
26
26
|
}
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
The compiler flag `-open Xote` is optional, it makes the Xote moduels available unqualified inside your source files.
|
|
30
30
|
|
|
31
31
|
### Quick Example
|
|
32
32
|
|
|
33
33
|
```rescript
|
|
34
|
-
open Xote
|
|
35
|
-
|
|
36
34
|
module App = {
|
|
37
35
|
@jsx.component
|
|
38
36
|
let make = () => {
|
|
@@ -46,7 +44,7 @@ module App = {
|
|
|
46
44
|
Effect.run(() => {
|
|
47
45
|
Console.log2("Count is ", Signal.get(count))
|
|
48
46
|
|
|
49
|
-
None
|
|
47
|
+
None // Optional clean up function
|
|
50
48
|
})
|
|
51
49
|
|
|
52
50
|
// Build the UI with JSX
|
|
@@ -69,6 +67,26 @@ module App = {
|
|
|
69
67
|
Node.mountById(<App />, "app")
|
|
70
68
|
```
|
|
71
69
|
|
|
70
|
+
Since in ReScript each file is its own module, you can define a reusable component by exporting a `make` function from that file. The file name becomes the component name: `Counter.res` gives you `<Counter />`.
|
|
71
|
+
|
|
72
|
+
The `@jsx.component` attribute instructs the compiler to derive a props type from the function's labeled arguments, enabling JSX usage without boilerplate.
|
|
73
|
+
|
|
74
|
+
Here's an example of a reusable component with properties:
|
|
75
|
+
|
|
76
|
+
```res
|
|
77
|
+
// Greeting.res
|
|
78
|
+
@jsx.component
|
|
79
|
+
let make = (~name: string, ~greeting: string="Hello") => {
|
|
80
|
+
<p>
|
|
81
|
+
{Node.text(greeting ++ ", " ++ name ++ "!")}
|
|
82
|
+
</p>
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Usage from another file:
|
|
86
|
+
<Greeting name="World" /> // <p>Hello, World!</p>
|
|
87
|
+
<Greeting name="Universe" greeting="Hey" /> // <p>Hey, Universe!</p>
|
|
88
|
+
```
|
|
89
|
+
|
|
72
90
|
## Core Concepts
|
|
73
91
|
|
|
74
92
|
Xote focuses on clarity, control, and performance. The goal is to offer precise, fine-grained updates and predictable behavior with a minimal set of abstractions, while leveraging the robust type system from ReScript.
|
|
@@ -87,11 +105,11 @@ All reactive primitives feature automatic dependency tracking. No manual subscri
|
|
|
87
105
|
|
|
88
106
|
On top of the reactive primitives with signals, Xote provides a declarative component system:
|
|
89
107
|
|
|
90
|
-
- **JSX Support**: Build user interface using JSX
|
|
108
|
+
- **JSX Support**: Build user interface using JSX in a declarative and familiar manner
|
|
91
109
|
- **Reactive DOM Nodes**: Fine-grained reactivity that updates DOM nodes directly, no virtual DOM required
|
|
92
|
-
- **Built-in Router**: Client-side routing with pattern matching and reactive location state
|
|
110
|
+
- **Built-in Router**: Client-side routing with pattern matching and a reactive location state
|
|
93
111
|
- **Automatic Cleanup**: Effect disposal and memory management built into the component lifecycle
|
|
94
|
-
- **Server-side Rendering**: pre-render your pages on the server with full hydration
|
|
112
|
+
- **Server-side Rendering**: pre-render your pages on the server with full hydration (experimental)
|
|
95
113
|
|
|
96
114
|
Check the [website](https://brnrdog.github.io/xote/) for more comprehensive documentations about Xote and Signals.
|
|
97
115
|
|
package/dist/xote.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
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 Dn(e){e.flags=e.flags&-3}function bt(e){return(e.flags&1)!==0}function On(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 C={contents:void 0},B={contents:void 0},ee=[],ue=[],re={contents:!1},Oe=[],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=C.contents;if(t!==void 0)return Pn(t,e);let n=B.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=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),Xe(e),C.contents=n}catch(r){throw C.contents=n,r}if(t===0){e.level=Tt(e);return}}function Nn(e){let t=e.level;wt(e),Dn(e);let n=B.contents;B.contents=e;try{e.run(),_t(e),B.contents=n}catch(r){throw B.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(Oe.push(e);Oe.length!==0;){let t=Oe.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)||(On(l),Oe.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=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),Xe(e),C.contents=n}catch(r){throw C.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=C.contents,n=B.contents;C.contents=void 0,B.contents=void 0;try{let r=e();return C.contents=t,B.contents=n,r}catch(r){throw C.contents=t,B.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=B.contents;B.contents=i;try{i.run(),_t(i),B.contents=u}catch(y){throw B.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,k=Un,H=Yn,ae=kt,tr=Jn,nr=Qn,rr=Zn;const ir=Object.freeze(Object.defineProperty({__proto__:null,batch:nr,get:k,make:Je,makeForComputed:er,peek:H,set:ae,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=C.contents;C.contents=i;let o=e();C.contents=u;let c={id:n,value:o,equals:(y,O)=>!1,name:t,subs:i};return r.contents=c,Xe(i),c}function ur(e){qe(e.subs)}let Q=lr,Dt=ur;const or=Object.freeze(Object.defineProperty({__proto__:null,dispose:Dt,make:Q},Symbol.toStringTag,{value:"Module"}));let Ot="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 ar(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"autofocus":case"contenteditable":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":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 dr(){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(Dt)}function ge(e,t){e.__xote_owner__=t}function Pt(e){return Ue(e.__xote_owner__)}let s={currentOwner:Ce,createOwner:dr,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(Ot,l):document.createElement(l),u={disposers:[],computeds:[]};return ge(i,u),me(u,()=>{r.forEach(a=>{let m=a[1],$=a[0];switch(m.TAG){case"Static":return be(i,$,m._0);case"SignalValue":let D=m._0;be(i,$,H(D));let R=G(()=>{be(i,$,k(D))},void 0);return pe(u,R);case"Compute":let p=m._0,_=G(()=>{be(i,$,p())},void 0);return pe(u,_)}}),n.forEach(a=>{i.addEventListener(a[0],a[1])}),t.forEach(a=>{let m=Y(a);i.appendChild(m)})}),i;case"Text":return document.createTextNode(e._0);case"SignalText":let o=e._0,c=document.createTextNode(H(o)),y={disposers:[],computeds:[]};return ge(c,y),me(y,()=>{let a=G(()=>{c.textContent=k(o)},void 0);pe(y,a)}),c;case"Fragment":let O=document.createDocumentFragment();return e._0.forEach(a=>{let m=Y(a);O.appendChild(m)}),O;case"SignalFragment":let F=e._0,N={disposers:[],computeds:[]},j=document.createElement("div");return j.setAttribute("style","display: contents"),ge(j,N),me(N,()=>{let a=G(()=>{let m=k(F);Array.from(j.childNodes||[]).forEach(Ee),j.innerHTML="",m.forEach(D=>{let R=Y(D);j.appendChild(R)})},void 0);pe(N,a)}),j;case"LazyComponent":let A={disposers:[],computeds:[]},X=me(A,e._0),W=Y(X);return ge(W,A),W;case"KeyedList":let K=e.renderItem,P=e.keyFn,q=e.signal,fe={disposers:[],computeds:[]},x=document.createComment(" keyed-list-start "),b=document.createComment(" keyed-list-end ");ge(x,fe);let f={},E=()=>{let a=b.parentNode;if(a==null)return;let m=k(q),$={};m.forEach(g=>{$[P(g)]=g});let D=[];Object.keys(f).forEach(g=>{if($[g]===void 0){D.push(g);return}}),D.forEach(g=>{let v=f[g];if(v!==void 0){Ee(v.element),v.element.remove(),Qe(f,g);return}});let R=[],p={};m.forEach(g=>{let v=P(g),he=f[v];if(he!==void 0){if(he.item!==g){p[v]=!0;let De=K(g),vn=Y(De),ct={key:v,item:g,element:vn};R.push(ct),f[v]=ct;return}R.push(he);return}let Ae=K(g),Ie=Y(Ae),ke={key:v,item:g,element:Ie};R.push(ke),f[v]=ke});let _={contents:x.nextSibling};R.forEach(g=>{let v=_.contents;if(v==null){a.insertBefore(g.element,b);return}if(v===b){a.insertBefore(g.element,b);return}if(v===g.element){_.contents=v.nextSibling;return}J(p[g.key],!1)?(Ee(v),a.replaceChild(g.element,v),_.contents=g.element.nextSibling):(a.insertBefore(g.element,v),_.contents=g.element.nextSibling)})},T=document.createDocumentFragment();return T.appendChild(x),H(q).forEach(a=>{let m=P(a),$=K(a),D=Y($),R={key:m,item:a,element:D};f[m]=R,T.appendChild(D)}),T.appendChild(b),me(fe,()=>{let a=G(()=>{E()},void 0);pe(fe,a)}),T}}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(()=>k(e).map(t),void 0)}}function yr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function V(e,t,n,r,l){let i=t!==void 0?t:[].map(c=>c),u=n!==void 0?n:[].map(c=>c),o=r!==void 0?r:[].map(c=>c);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,U=Mt,de=Rt,Fe=Gt;const Er=Object.freeze(Object.defineProperty({__proto__:null,$$null:Sr,Attributes:cr,DOM:we,Reactivity:s,Render:te,attr:U,computedAttr:Fe,element:V,float:pr,fragment:Ze,int:mr,isSvgTag:ar,keyedList:yr,list:gr,mount:Ft,mountById:_r,signalAttr:de,signalFloat:hr,signalFragment:et,signalInt:fr,signalText:sr,svgNamespace:Ot,svgTagSet:br,svgTags:Ct,text:Lt},Symbol.toStringTag,{value:"Module"}));function wr(e,t,n,r){return V("div",e,t,n)}function Tr(e,t,n,r){return V("span",e,t,n)}function vr(e,t,n,r){return V("button",e,t,n)}function xr(e,t,n){return V("input",e,t,void 0)}function $r(e,t,n,r){return V("h1",e,t,n)}function Ar(e,t,n,r){return V("h2",e,t,n)}function kr(e,t,n,r){return V("h3",e,t,n)}function Dr(e,t,n,r){return V("p",e,t,n)}function Or(e,t,n,r){return V("ul",e,t,n)}function Cr(e,t,n,r){return V("li",e,t,n)}function tt(e,t,n,r){return V("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:Dr,span:Tr,ul:Or},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 S(e,t){return nt(t)?t.TAG==="Reactive"?de(e,t._0):U(e,t._0):typeof t=="function"?Fe(e,t):typeof t=="object"?de(e,t):U(e,t)}function L(e,t){if(nt(t)){if(t.TAG!=="Reactive")return U(e,t._0?"true":"false");let r=t._0,l=Q(()=>k(r)?"true":"false",void 0);return de(e,l)}if(typeof t=="function")return Fe(e,()=>t()?"true":"false");if(typeof t!="object")return U(e,t?"true":"false");let n=Q(()=>k(t)?"true":"false",void 0);return de(e,n)}function d(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(U(n,t.toString()));return}}function Bt(e){let t=[];d(t,e.id,"id",S),d(t,e.class,"class",S),d(t,e.style,"style",S),d(t,e.title,"title",S),d(t,e.type,"type",S),d(t,e.name,"name",S),d(t,e.value,"value",S),d(t,e.placeholder,"placeholder",S),d(t,e.disabled,"disabled",L),d(t,e.checked,"checked",L),d(t,e.required,"required",L),d(t,e.readOnly,"readonly",L),ye(t,e.maxLength,"maxlength"),ye(t,e.minLength,"minlength"),d(t,e.min,"min",S),d(t,e.max,"max",S),d(t,e.step,"step",S),d(t,e.pattern,"pattern",S),d(t,e.autoComplete,"autocomplete",S),d(t,e.multiple,"multiple",L),d(t,e.accept,"accept",S),ye(t,e.rows,"rows"),ye(t,e.cols,"cols"),d(t,e.autofocus,"autofocus",L),d(t,e.action,"action",S),d(t,e.method,"method",S),d(t,e.for,"for",S),d(t,e.href,"href",S),d(t,e.target,"target",S),d(t,e.src,"src",S),d(t,e.alt,"alt",S),d(t,e.width,"width",S),d(t,e.height,"height",S),d(t,e.draggable,"draggable",L),d(t,e.hidden,"hidden",L),d(t,e.contentEditable,"contenteditable",L),d(t,e.spellcheck,"spellcheck",L),d(t,e.role,"role",S),ye(t,e.tabIndex,"tabindex"),d(t,e["aria-label"],"aria-label",S),d(t,e["aria-hidden"],"aria-hidden",L),d(t,e["aria-expanded"],"aria-expanded",L),d(t,e["aria-selected"],"aria-selected",L);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(S("data-"+r,l))}),t}function w(e,t,n){if(t!==void 0){e.push([n,h(t)]);return}}function It(e){let t=[];return w(t,e.onClick,"click"),w(t,e.onInput,"input"),w(t,e.onChange,"change"),w(t,e.onSubmit,"submit"),w(t,e.onFocus,"focus"),w(t,e.onBlur,"blur"),w(t,e.onKeyDown,"keydown"),w(t,e.onKeyUp,"keyup"),w(t,e.onMouseEnter,"mouseenter"),w(t,e.onMouseLeave,"mouseleave"),w(t,e.onMouseDown,"mousedown"),w(t,e.onMouseMove,"mousemove"),w(t,e.onMouseUp,"mouseup"),w(t,e.onContextMenu,"contextmenu"),w(t,e.onDrag,"drag"),w(t,e.onDragStart,"dragstart"),w(t,e.onDragEnd,"dragend"),w(t,e.onDragOver,"dragover"),w(t,e.onDragEnter,"dragenter"),w(t,e.onDragLeave,"dragleave"),w(t,e.onDrop,"drop"),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:S,convertBoolAttrValue:L,addAttr:d,addIntAttr:ye,propsToAttrs:Bt,addEvent:w,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"?k(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 I(){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 I().location}function Ur(){return I().basePath}function ce(e){if(!I().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=I().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function ve(e){let t=I().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=I(),l=lt(n);if(r.basePath.contents=l,ae(r.location,Ve()),r.initialized)return;let i=u=>{ae(I().location,Ve());let o=window["history.state"];if(o==null)return;let c=Yt(o);if(c!==void 0)return Ne(c[0],c[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:"",c=r!==void 0?r:"",y=I(),O=lt(i);y.basePath.contents=O,ae(y.location,{pathname:u,search:o,hash:c}),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},c=ve(e)+l+i;window.history.pushState(ut(),"",c),ae(I().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},c=ve(e)+l+i;window.history.replaceState(ut(),"",c),ae(I().location,u),Ne(0,0)}function Zr(e,t){return ce("Router.route()"),et(Q(()=>{let n=k(I().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=k(I().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([U("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"?de(e,t._0):U(e,t._0):typeof t=="function"?Fe(e,t):typeof t=="object"?de(e,t):U(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([U("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:I,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 at=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function li(e){return at.includes(e)}let tn={escape:ie,voidElements:at,isVoidElement:li},nn="<!--$-->",rn="<!--/$-->",ln="<!--#-->",un="<!--/#-->",on="<!--kl-->",an="<!--/kl-->";function dn(e){return"<!--k:"+e+"-->"}let cn="<!--/k-->",sn="<!--lc-->",fn="<!--/lc-->",ui={signalTextStart:nn,signalTextEnd:rn,signalFragmentStart:ln,signalFragmentEnd:un,keyedListStart:on,keyedListEnd:an,keyedItemStart:dn,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=H(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"autofocus":case"checked":case"contenteditable":case"disabled":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":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(at.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=H(e._0);return nn+ie(l)+rn;case"Fragment":return e._0.map(ne).join("");case"SignalFragment":let u=H(e._0).map(ne).join("");return ln+u+un;case"LazyComponent":let o=e._0();return sn+ne(o)+fn;case"KeyedList":let c=e.renderItem,y=e.keyFn,F=H(e.signal).map(N=>{let j=y(N),A=ne(c(N));return dn(j)+A+cn}).join("");return on+F+an}}function pn(e,t){return ne(e())}function ai(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 di(e,t,n,r,l,i,u){let o=e!==void 0?e:"",c=t!==void 0?t:"",y=n!==void 0?n:[],O=r!==void 0?r:[],F=l!==void 0?l:"",N=pn(u),j=gn(i),A=O.map(W=>'<link rel="stylesheet" href="'+ie(W)+'" />').join(`
|
|
2
|
-
`),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let Ze={contents:0};function je(){return Ze.contents=Ze.contents+1|0,Ze.contents}let Te={contents:0},xe={contents:0};function $t(){return{first:void 0,last:void 0,computedSubscriberCount:0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0,deferEffectsUntilRecompute:!1,lastGlobalVersion:0}}function At(e,t){return{first:void 0,last:void 0,computedSubscriberCount:0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0,deferEffectsUntilRecompute:t!==void 0?t:!1,lastGlobalVersion:0}}function Nn(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 Ot(e){e.flags=e.flags&-2}function Bn(e){return(e.flags&2)!==0}function zn(e){e.flags=e.flags|2}function In(e){e.flags=e.flags&-3}function Ct(e){return(e.flags&1)!==0}function Pt(e){e.flags=e.flags|1}function Ke(e){e.flags=e.flags&-2}function Wn(e){return(e.flags&2)!==0}function Kn(e){e.flags=e.flags|2}function Hn(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,lastTrackedVersion:0}}function Ie(e,t){t.prevSub=e.last,t.nextSub=void 0;let n=e.last;if(n!==void 0?n.nextSub=t:e.first=t,e.last=t,t.observer.compute!==void 0){e.computedSubscriberCount=e.computedSubscriberCount+1|0;return}}function _t(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 He(e){let t=e.subs,n=e.prevSub;n!==void 0?n.nextSub=e.nextSub:t.first=e.nextSub;let r=e.nextSub;if(r!==void 0?r.prevSub=e.prevSub:t.last=e.prevSub,e.prevSub=void 0,e.nextSub=void 0,e.observer.compute!==void 0&&t.computedSubscriberCount>0){t.computedSubscriberCount=t.computedSubscriberCount-1|0;return}}function qn(e,t){let n=t.prevDep;n!==void 0?n.nextDep=t.nextDep:e.firstDep=t.nextDep;let r=t.nextDep;r!==void 0?r.prevDep=t.prevDep:e.lastDep=t.prevDep,t.prevDep=void 0,t.nextDep=void 0}function Xn(e,t){let n=t.prevDep;n!==void 0?n.nextDep=t.nextDep:e.firstDep=t.nextDep;let r=t.nextDep;r!==void 0?r.prevDep=t.prevDep:e.lastDep=t.prevDep,t.prevDep=void 0,t.nextDep=void 0}function Un(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;He(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Yn(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;He(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function vt(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 G={contents:void 0},I={contents:void 0},z={contents:0},N={contents:void 0},B={contents:void 0},U=[],Y=[],ue={contents:!1},$e={contents:!1},Ae={contents:!1},Et={contents:0},Tt={contents:0},De=[],Jn=(function(e){e.length=0}),wt=(function(e,t){if(!(t<=0)){if(t>=e.length){e.length=0;return}e.copyWithin(0,t),e.length=e.length-t}});function tt(e){if(Bn(e))return;zn(e),U.length===0?$e.contents=!1:e.level<Et.contents&&($e.contents=!0),U.push(e),Et.contents=e.level}function Qn(e){if(Wn(e))return;Kn(e),Y.length===0?Ae.contents=!1:e.level<Tt.contents&&(Ae.contents=!0),Y.push(e),Tt.contents=e.level}function Zn(e,t){if(e.firstDep===void 0){let u=ze(t,e);u.lastTrackedVersion=z.contents,vt(e,u),Ie(t,u),N.contents=u;return}let n=z.contents,r=!1,l=N.contents;if(l!==void 0)if(l.subs===t&&l.observer===e)l.lastTrackedVersion=n,r=!0;else{let u=l.nextDep;u!==void 0&&u.subs===t&&u.observer===e&&(u.lastTrackedVersion=n,N.contents=u,r=!0)}if(!r){let u=t.last;u!==void 0&&u.lastTrackedVersion===n&&u.observer===e&&(u.lastTrackedVersion=n,N.contents=u,r=!0)}if(r)return;let i=!1,o,d=e.firstDep;for(;d!==void 0&&!i;){let u=d;u!==void 0&&(u.subs===t?(u.lastTrackedVersion=n,o=u,i=!0):d=u.nextDep)}if(i){N.contents=o;return}let s=ze(t,e);s.lastTrackedVersion=n,vt(e,s),Ie(t,s),N.contents=s}function er(e,t){if(e.firstDep===void 0){let u=ze(t,e);u.lastTrackedVersion=z.contents,_t(e,u),Ie(t,u),B.contents=u;return}let n=z.contents,r=!1,l=B.contents;if(l!==void 0)if(l.subs===t&&l.observer===e)l.lastTrackedVersion=n,r=!0;else{let u=l.nextDep;u!==void 0&&u.subs===t&&u.observer===e&&(u.lastTrackedVersion=n,B.contents=u,r=!0)}if(!r){let u=t.last;u!==void 0&&u.lastTrackedVersion===n&&u.observer===e&&(u.lastTrackedVersion=n,B.contents=u,r=!0)}if(r)return;let i=!1,o,d=e.firstDep;for(;d!==void 0&&!i;){let u=d;u!==void 0&&(u.subs===t?(u.lastTrackedVersion=n,o=u,i=!0):d=u.nextDep)}if(i){B.contents=o;return}let s=ze(t,e);s.lastTrackedVersion=n,_t(e,s),Ie(t,s),B.contents=s}function tr(e){let t=G.contents;if(t!==void 0)return Zn(t,e);let n=I.contents;if(n!==void 0)return er(n,e)}function nr(e,t){return e.level-t.level|0}function rr(e,t){return e.level-t.level|0}function jt(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 Rt(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 Mt(e,t){let n=z.contents,r=e.version;Te.contents=Te.contents+1|0,z.contents=Te.contents,t&&Hn(e);let l=G.contents,i=N.contents;G.contents=e,N.contents=e.firstDep;try{let o=e.compute;o!==void 0&&o();let d=e.firstDep;for(;d!==void 0;){let s=d;if(s!==void 0){let u=s.nextDep;s.lastTrackedVersion!==z.contents&&(He(s),Xn(e,s)),d=u}}if(Ke(e),e.lastGlobalVersion=xe.contents,e.first!==void 0&&e.version!==r){let s=e.first;for(;s!==void 0;){let u=s;if(u!==void 0){let p=u.observer;if(ae(p))Pt(p);else{let w=I.contents;w!==void 0&&w===u.observer||tt(u.observer)}s=u.nextSub}}}G.contents=l,N.contents=i,z.contents=n;return}catch(o){throw G.contents=l,N.contents=i,z.contents=n,o}}function lr(e){let t=e.level;if(Mt(e,!0),t===0){e.level=jt(e);return}}function ir(e){let t=e.level,n=z.contents;Te.contents=Te.contents+1|0,z.contents=Te.contents,In(e);let r=I.contents,l=B.contents;I.contents=e,B.contents=e.firstDep;try{e.run();let i=e.firstDep;for(;i!==void 0;){let o=i;if(o!==void 0){let d=o.nextDep;o.lastTrackedVersion!==z.contents&&(He(o),qn(e,o)),i=d}}Ot(e),I.contents=r,B.contents=l,z.contents=n}catch(i){throw I.contents=r,B.contents=l,z.contents=n,i}if(t===0){e.level=Rt(e);return}}function Vt(){ue.contents=!0;try{for(;U.length!==0||Y.length!==0;){if(Y.length!==0){let e=Y.length;e>1&&Ae.contents&&(Y.sort(rr),Ae.contents=!1);let t=0;for(;t<e;){let n=Y[t];n!==void 0&&lr(n),t=t+1|0}wt(Y,e),Y.length===0&&(Ae.contents=!1)}if(U.length!==0){let e=U.length;e>1&&$e.contents&&(U.sort(nr),$e.contents=!1);let t=0;for(;t<e;){let n=U[t];n!==void 0&&ir(n),t=t+1|0}wt(U,e),U.length===0&&($e.contents=!1)}}ue.contents=!1;return}catch(e){throw ue.contents=!1,e}}function ur(e){if(e.first!==void 0)if(!ae(e)&&e.computedSubscriberCount===0){let t=e.first;for(;t!==void 0;){let n=t;n!==void 0&&(tt(n.observer),t=n.nextSub)}}else{De.push(e);let t=0;for(;t<De.length;){let n=De[t];if(t=t+1|0,n!==void 0){let r=n.first;for(;r!==void 0;){let l=r;if(l!==void 0){let i=l.observer;ae(i)?Ct(i)||(Pt(i),De.push(i)):ae(n)&&n.deferEffectsUntilRecompute?Qn(n):tt(l.observer),r=l.nextSub}}}}Jn(De)}if((U.length!==0||Y.length!==0)&&!ue.contents)return Vt()}function Lt(e){if(!ae(e)||!Ct(e))return;if(e.lastGlobalVersion===xe.contents)return Ke(e);let t=e.level;if(Mt(e,!1),t===0){e.level=jt(e);return}}function or(e){let t=ue.contents;ue.contents=!0;try{let n=e();return t||(ue.contents=!1,(U.length!==0||Y.length!==0)&&Vt()),n}catch(n){throw t||(ue.contents=!1),n}}function dr(e){let t=G.contents,n=I.contents,r=N.contents,l=B.contents;G.contents=void 0,I.contents=void 0,N.contents=void 0,B.contents=void 0;try{let i=e();return G.contents=t,I.contents=n,N.contents=r,B.contents=l,i}catch(i){throw G.contents=t,I.contents=n,N.contents=r,B.contents=l,i}}function Gt(e,t){let n=je(),r={contents:void 0},i=Nn(n,"Effect",()=>{let u=r.contents;u!==void 0&&u(),r.contents=e()},t,void 0),o=I.contents;I.contents=i;try{i.run(),Ot(i),I.contents=o}catch(u){throw I.contents=o,u}i.level=Rt(i);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let u=r.contents;u!==void 0&&u(),Un(i)}}}function sr(e,t){Gt(e,t)}let L=Gt,ar=sr;const cr=Object.freeze(Object.defineProperty({__proto__:null,run:ar,runWithDisposer:L},Symbol.toStringTag,{value:"Module"}));function Ft(e,t){return e===t}function Nt(e,t){return!1}function fr(e,t,n){return{id:je(),value:e,equals:n!==void 0?n:Ft,name:t,subs:$t()}}function hr(e,t){return{id:je(),value:e,equals:Nt,name:t,subs:$t()}}function mr(e){return Lt(e.subs),tr(e.subs),e.value}function pr(e){return Lt(e.subs),e.value}function Bt(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,xe.contents=xe.contents+1|0,ur(e.subs)}function gr(e,t){Bt(e,t(e.value))}let yr=or,Sr=dr,br=Ft,_r=Nt,lt=fr,vr=hr,C=mr,J=pr,ce=Bt,Er=gr,Tr=yr,wr=Sr;const xr=Object.freeze(Object.defineProperty({__proto__:null,batch:Tr,defaultEquals:br,get:C,make:lt,makeForComputed:vr,neverEquals:_r,peek:J,set:ce,untrack:wr,update:Er},Symbol.toStringTag,{value:"Module"}));function it(e,t){delete e[t]}function zt(e,t){let n=je(),r=(p,w)=>!1,l={contents:void 0},o=At(()=>{let p=l.contents,w=e();p.value=w,p.subs.version=p.subs.version+1|0},!1),d=G.contents;G.contents=o;let s=e();G.contents=d;let u={id:n,value:s,equals:r,name:t,subs:o};return l.contents=u,o.lastGlobalVersion=xe.contents,Ke(o),u}function It(e,t,n){let r=je(),l={contents:void 0},o=At(()=>{let p=l.contents,w=p.value,j=e(),$;try{$=!p.equals(w,j)}catch{$=!0}if($){p.value=j,p.subs.version=p.subs.version+1|0;return}},!0),d=G.contents;G.contents=o;let s=e();G.contents=d;let u={id:r,value:s,equals:t,name:n,subs:o};return l.contents=u,o.lastGlobalVersion=xe.contents,Ke(o),u}function Dr(e,t,n){return n!==void 0?It(e,n,t):zt(e,t)}function kr(e){Yn(e.subs)}let $r=zt,Ar=It,ne=Dr,Wt=kr;const Or=Object.freeze(Object.defineProperty({__proto__:null,dispose:Wt,make:ne,makeWithEquals:Ar,makeWithoutEquals:$r},Symbol.toStringTag,{value:"Module"}));function fe(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 ut(e){if(e!=null)return fe(e)}function m(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 Cr(e,t){if(e!==void 0)return fe(t(m(e)))}function oe(e,t){return e!==void 0?m(e):t}function ot(e){return e!==void 0}let Kt="http://www.w3.org/2000/svg",Ht=["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"],qe={};Ht.forEach(e=>{qe[e]=!0});function Pr(e){return ot(qe[e])}function ke(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"autofocus":case"contenteditable":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let Ce={setAttrOrProp:ke},Ne={contents:void 0};function jr(){return{disposers:[],computeds:[]}}function Se(e,t){let n=Ne.contents;Ne.contents=e;let r=t();return Ne.contents=n,r}function be(e,t){e.disposers.push(t)}function qt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(Wt)}function _e(e,t){e.__xote_owner__=t}function Xt(e){return ut(e.__xote_owner__)}let f={currentOwner:Ne,createOwner:jr,runWithOwner:Se,addDisposer:be,disposeOwner:qt,setOwner:_e,getOwner:Xt};function Ut(e,t){return[e,{TAG:"Static",_0:t}]}function Yt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Jt(e,t){return[e,{TAG:"Compute",_0:t}]}let Rr={$$static:Ut,signal:Yt,computed:Jt};function Oe(e){let t=Xt(e);t!==void 0&&qt(t),Array.from(e.childNodes||[]).forEach(Oe)}function te(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,i=ot(qe[l])?document.createElementNS(Kt,l):document.createElement(l),o={disposers:[],computeds:[]};return _e(i,o),Se(o,()=>{r.forEach(a=>{let g=a[1],O=a[0];switch(g.TAG){case"Static":return ke(i,O,g._0);case"SignalValue":let P=g._0;ke(i,O,J(P));let V=L(()=>{ke(i,O,C(P))},void 0);return be(o,V);case"Compute":let y=g._0,_=L(()=>{ke(i,O,y())},void 0);return be(o,_)}}),n.forEach(a=>{i.addEventListener(a[0],a[1])}),t.forEach(a=>{let g=te(a);i.appendChild(g)})}),i;case"Text":return document.createTextNode(e._0);case"SignalText":let d=e._0,s=document.createTextNode(J(d)),u={disposers:[],computeds:[]};return _e(s,u),Se(u,()=>{let a=L(()=>{s.textContent=C(d)},void 0);be(u,a)}),s;case"Fragment":let p=document.createDocumentFragment();return e._0.forEach(a=>{let g=te(a);p.appendChild(g)}),p;case"SignalFragment":let w=e._0,j={disposers:[],computeds:[]},$=document.createElement("div");return $.setAttribute("style","display: contents"),_e($,j),Se(j,()=>{let a=L(()=>{let g=C(w);Array.from($.childNodes||[]).forEach(Oe),$.innerHTML="",g.forEach(P=>{let V=te(P);$.appendChild(V)})},void 0);be(j,a)}),$;case"LazyComponent":let A={disposers:[],computeds:[]},Q=Se(A,e._0),H=te(Q);return _e(H,A),H;case"KeyedList":let q=e.renderItem,R=e.keyFn,Z=e.signal,ge={disposers:[],computeds:[]},k=document.createComment(" keyed-list-start "),v=document.createComment(" keyed-list-end ");_e(k,ge);let h={},E=()=>{let a=v.parentNode;if(a==null)return;let g=C(Z),O={};g.forEach(S=>{O[R(S)]=S});let P=[];Object.keys(h).forEach(S=>{if(O[S]===void 0){P.push(S);return}}),P.forEach(S=>{let D=h[S];if(D!==void 0){Oe(D.element),D.element.remove(),it(h,S);return}});let V=[],y={};g.forEach(S=>{let D=R(S),ye=h[D];if(ye!==void 0){if(ye.item!==S){y[D]=!0;let Fe=q(S),Fn=te(Fe),bt={key:D,item:S,element:Fn};V.push(bt),h[D]=bt;return}V.push(ye);return}let Le=q(S),Qe=te(Le),Ge={key:D,item:S,element:Qe};V.push(Ge),h[D]=Ge});let _={contents:k.nextSibling};V.forEach(S=>{let D=_.contents;if(D==null){a.insertBefore(S.element,v);return}if(D===v){a.insertBefore(S.element,v);return}if(D===S.element){_.contents=D.nextSibling;return}oe(y[S.key],!1)?(Oe(D),a.replaceChild(S.element,D),_.contents=S.element.nextSibling):(a.insertBefore(S.element,D),_.contents=S.element.nextSibling)})},x=document.createDocumentFragment();return x.appendChild(k),J(Z).forEach(a=>{let g=R(a),O=q(a),P=te(O),V={key:g,item:a,element:P};h[g]=V,x.appendChild(P)}),x.appendChild(v),Se(ge,()=>{let a=L(()=>{E()},void 0);be(ge,a)}),x}}let le={disposeElement:Oe,render:te};function Qt(e){return{TAG:"Text",_0:e}}function Mr(e){return{TAG:"SignalText",_0:ne(e,void 0,void 0)}}function Vr(e){return{TAG:"SignalText",_0:ne(()=>e().toString(),void 0,void 0)}}function Lr(e){return{TAG:"SignalText",_0:ne(()=>e().toString(),void 0,void 0)}}function Gr(e){return{TAG:"Text",_0:e.toString()}}function Fr(e){return{TAG:"Text",_0:e.toString()}}function dt(e){return{TAG:"Fragment",_0:e}}function st(e){return{TAG:"SignalFragment",_0:e}}function Nr(e,t){return{TAG:"SignalFragment",_0:ne(()=>C(e).map(t),void 0,void 0)}}function Br(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function X(e,t,n,r,l){let i=t!==void 0?t:[].map(s=>s),o=n!==void 0?n:[].map(s=>s),d=r!==void 0?r:[].map(s=>s);return{TAG:"Element",tag:e,attrs:i,events:o,children:d}}function zr(){return{TAG:"Text",_0:""}}function Zt(e,t){let n=te(e);t.appendChild(n)}function Ir(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Zt(e,n)}let Wr=qe,ee=Ut,he=Yt,Xe=Jt;const Kr=Object.freeze(Object.defineProperty({__proto__:null,$$null:zr,Attributes:Rr,DOM:Ce,Reactivity:f,Render:le,attr:ee,computedAttr:Xe,element:X,float:Fr,fragment:dt,int:Gr,isSvgTag:Pr,keyedList:Br,list:Nr,mount:Zt,mountById:Ir,signalAttr:he,signalFloat:Lr,signalFragment:st,signalInt:Vr,signalText:Mr,svgNamespace:Kt,svgTagSet:Wr,svgTags:Ht,text:Qt},Symbol.toStringTag,{value:"Module"}));function Hr(e,t,n,r){return X("div",e,t,n)}function qr(e,t,n,r){return X("span",e,t,n)}function Xr(e,t,n,r){return X("button",e,t,n)}function Ur(e,t,n){return X("input",e,t,void 0)}function Yr(e,t,n,r){return X("h1",e,t,n)}function Jr(e,t,n,r){return X("h2",e,t,n)}function Qr(e,t,n,r){return X("h3",e,t,n)}function Zr(e,t,n,r){return X("p",e,t,n)}function el(e,t,n,r){return X("ul",e,t,n)}function tl(e,t,n,r){return X("li",e,t,n)}function at(e,t,n,r){return X("a",e,t,n)}const nl=Object.freeze(Object.defineProperty({__proto__:null,a:at,button:Xr,div:Hr,h1:Yr,h2:Jr,h3:Qr,input:Ur,li:tl,p:Zr,span:qr,ul:el},Symbol.toStringTag,{value:"Module"}));function en(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function tn(e,t,n,r){return{TAG:"LazyComponent",_0:()=>e(t)}}function rl(e){let t=e.children;return t!==void 0?t:dt([])}let ll=dt;function il(){return Qt("")}function ct(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function b(e,t){return ct(t)?t.TAG==="Reactive"?he(e,t._0):ee(e,t._0):typeof t=="function"?Xe(e,t):typeof t=="object"?he(e,t):ee(e,t)}function F(e,t){if(ct(t)){if(t.TAG!=="Reactive")return ee(e,t._0?"true":"false");let r=t._0,l=ne(()=>C(r)?"true":"false",void 0,void 0);return he(e,l)}if(typeof t=="function")return Xe(e,()=>t()?"true":"false");if(typeof t!="object")return ee(e,t?"true":"false");let n=ne(()=>C(t)?"true":"false",void 0,void 0);return he(e,n)}function c(e,t,n,r){if(t!==void 0){e.push(r(n,m(t)));return}}function ve(e,t,n){if(t!==void 0){e.push(ee(n,t.toString()));return}}function nn(e){let t=[];c(t,e.id,"id",b),c(t,e.class,"class",b),c(t,e.style,"style",b),c(t,e.title,"title",b),c(t,e.type,"type",b),c(t,e.name,"name",b),c(t,e.value,"value",b),c(t,e.placeholder,"placeholder",b),c(t,e.disabled,"disabled",F),c(t,e.checked,"checked",F),c(t,e.required,"required",F),c(t,e.readOnly,"readonly",F),ve(t,e.maxLength,"maxlength"),ve(t,e.minLength,"minlength"),c(t,e.min,"min",b),c(t,e.max,"max",b),c(t,e.step,"step",b),c(t,e.pattern,"pattern",b),c(t,e.autoComplete,"autocomplete",b),c(t,e.multiple,"multiple",F),c(t,e.accept,"accept",b),ve(t,e.rows,"rows"),ve(t,e.cols,"cols"),c(t,e.autofocus,"autofocus",F),c(t,e.action,"action",b),c(t,e.method,"method",b),c(t,e.for,"for",b),c(t,e.href,"href",b),c(t,e.target,"target",b),c(t,e.src,"src",b),c(t,e.alt,"alt",b),c(t,e.width,"width",b),c(t,e.height,"height",b),c(t,e.draggable,"draggable",F),c(t,e.hidden,"hidden",F),c(t,e.contentEditable,"contenteditable",F),c(t,e.spellcheck,"spellcheck",F),c(t,e.role,"role",b),ve(t,e.tabIndex,"tabindex"),c(t,e["aria-label"],"aria-label",b),c(t,e["aria-hidden"],"aria-hidden",F),c(t,e["aria-expanded"],"aria-expanded",F),c(t,e["aria-selected"],"aria-selected",F);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(b("data-"+r,l))}),t}function T(e,t,n){if(t!==void 0){e.push([n,m(t)]);return}}function rn(e){let t=[];return T(t,e.onClick,"click"),T(t,e.onInput,"input"),T(t,e.onChange,"change"),T(t,e.onSubmit,"submit"),T(t,e.onFocus,"focus"),T(t,e.onBlur,"blur"),T(t,e.onKeyDown,"keydown"),T(t,e.onKeyUp,"keyup"),T(t,e.onMouseEnter,"mouseenter"),T(t,e.onMouseLeave,"mouseleave"),T(t,e.onMouseDown,"mousedown"),T(t,e.onMouseMove,"mousemove"),T(t,e.onMouseUp,"mouseup"),T(t,e.onContextMenu,"contextmenu"),T(t,e.onDrag,"drag"),T(t,e.onDragStart,"dragstart"),T(t,e.onDragEnd,"dragend"),T(t,e.onDragOver,"dragover"),T(t,e.onDragEnter,"dragenter"),T(t,e.onDragLeave,"dragleave"),T(t,e.onDrop,"drop"),t}function ln(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function ft(e,t){return{TAG:"Element",tag:e,attrs:nn(t),events:rn(t),children:ln(t)}}let xt=ft;function Dt(e,t,n,r){return ft(e,t)}let ul={isReactiveProp:ct,convertAttrValue:b,convertBoolAttrValue:F,addAttr:c,addIntAttr:ve,propsToAttrs:nn,addEvent:T,propsToEvents:rn,getChildren:ln,createElement:ft,jsx:xt,jsxs:xt,jsxKeyed:Dt,jsxsKeyed:Dt},ol,dl=en,sl=tn;const al=Object.freeze(Object.defineProperty({__proto__:null,$$null:il,Elements:ul,ReactiveProp:ol,array:ll,jsx:en,jsxFragment:rl,jsxKeyed:tn,jsxs:dl,jsxsKeyed:sl},Symbol.toStringTag,{value:"Module"}));function cl(e){return e.TAG==="Reactive"?C(e._0):e._0}function fl(e){return{TAG:"Static",_0:e}}function hl(e){return{TAG:"Reactive",_0:e}}const ml=Object.freeze(Object.defineProperty({__proto__:null,$$static:fl,get:cl,reactive:hl},Symbol.toStringTag,{value:"Module"}));function un(e,t){let n=e.length,r=new Array(n),l=0;for(let i=0;i<n;++i){let o=e[i],d=t(o);d!==void 0&&(r[l]=m(d),l=l+1|0)}return r.length=l,r}function pl(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 on(e){return un(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function dn(e,t){let n=t.split("/").filter(i=>i!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((i,o)=>{let d=n[o];return i.TAG==="Static"?d===i._0:(r[i._0]=d,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function ht(e,t){return dn(on(e),t)}const gl=Object.freeze(Object.defineProperty({__proto__:null,match:ht,matchPath:dn,parsePattern:on},Symbol.toStringTag,{value:"Module"}));function yl(){return Symbol.for("xote.router.state")}function K(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:lt({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function Sl(){return K().location}function bl(){return K().basePath}function me(e){if(!K().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 mt(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function sn(e){let t=K().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function Re(e){let t=K().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function an(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ue(e,t){window.scrollTo(e,t)}function cn(e,t){return{scrollX:e,scrollY:t}}function pt(){return{}}function fn(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function hn(){let e=an(),t=cn(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function nt(){let e=window.location.pathname;return{pathname:sn(e),search:window.location.search,hash:window.location.hash}}function _l(e,t){let n=e!==void 0?e:"/",r=K(),l=mt(n);if(r.basePath.contents=l,ce(r.location,nt()),r.initialized)return;let i=o=>{ce(K().location,nt());let d=window["history.state"];if(d==null)return;let s=fn(d);if(s!==void 0)return Ue(s[0],s[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function vl(e,t,n,r,l){let i=e!==void 0?e:"/",o=t!==void 0?t:"/",d=n!==void 0?n:"",s=r!==void 0?r:"",u=K(),p=mt(i);u.basePath.contents=p,ce(u.location,{pathname:o,search:d,hash:s}),u.initialized=!0}function gt(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";me("Router.push()"),hn();let o={pathname:e,search:l,hash:i},s=Re(e)+l+i;window.history.pushState(pt(),"",s),ce(K().location,o),Ue(0,0)}function El(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";me("Router.replace()");let o={pathname:e,search:l,hash:i},s=Re(e)+l+i;window.history.replaceState(pt(),"",s),ce(K().location,o),Ue(0,0)}function Tl(e,t){return me("Router.route()"),st(ne(()=>{let n=C(K().location),r=ht(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0,void 0))}function wl(e){return me("Router.routes()"),st(ne(()=>{let t=C(K().location),n=pl(e,r=>{let l=ht(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0,void 0))}function xl(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];me("Router.link()");let o=d=>{d.preventDefault(),gt(e,void 0,void 0)};return at(l.concat([ee("href",Re(e))]),[["click",o]],i)}function mn(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function Ee(e,t){return mn(t)?t.TAG==="Reactive"?he(e,t._0):ee(e,t._0):typeof t=="function"?Xe(e,t):typeof t=="object"?he(e,t):ee(e,t)}function pn(e){let t=[],n=e.class;n!==void 0&&t.push(Ee("class",m(n)));let r=e.id;r!==void 0&&t.push(Ee("id",m(r)));let l=e.style;l!==void 0&&t.push(Ee("style",m(l)));let i=e.target;i!==void 0&&t.push(Ee("target",m(i)));let o=e["aria-label"];return o!==void 0&&t.push(Ee("aria-label",m(o))),t}function gn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Be(e){me("Router.Link");let t=n=>{n.preventDefault(),gt(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return at(pn(e).concat([ee("href",Re(e.to))]),[["click",t]],gn(e))}function kt(e,t,n){return Be(e)}let Dl={ReactiveProp:void 0,isReactiveProp:mn,convertAttrValue:Ee,propsToAttrs:pn,getChildren:gn,make:Be,jsx:Be,jsxs:Be,jsxKeyed:kt,jsxsKeyed:kt},kl;const $l=Object.freeze(Object.defineProperty({__proto__:null,Link:Dl,Route:kl,addBasePath:Re,basePath:bl,emptyHistoryState:pt,getCurrentLocation:nt,getGlobalState:K,getScrollFromState:fn,getScrollPosition:an,getSymbolKey:yl,init:_l,initSSR:vl,link:xl,location:Sl,makeHistoryState:cn,normalizeBasePath:mt,push:gt,replace:El,route:Tl,routes:wl,saveScrollPosition:hn,scrollTo:Ue,stripBasePath:sn,warnIfNotInitialized:me},Symbol.toStringTag,{value:"Module"}));function de(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}let yt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function Al(e){return yt.includes(e)}let yn={escape:de,voidElements:yt,isVoidElement:Al},Sn="<!--$-->",bn="<!--/$-->",_n="<!--#-->",vn="<!--/#-->",En="<!--kl-->",Tn="<!--/kl-->";function wn(e){return"<!--k:"+e+"-->"}let xn="<!--/k-->",Dn="<!--lc-->",kn="<!--/lc-->",Ol={signalTextStart:Sn,signalTextEnd:bn,signalFragmentStart:_n,signalFragmentEnd:vn,keyedListStart:En,keyedListEnd:Tn,keyedItemStart:wn,keyedItemEnd:xn,lazyComponentStart:Dn,lazyComponentEnd:kn};function $n(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=J(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"autofocus":case"checked":case"contenteditable":case"disabled":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;default:return n+'="'+de(r)+'"'}return r==="true"?n:""}function An(e){let t=e.map($n).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Cl={renderAttr:$n,renderAttrs:An};function ie(e){switch(e.TAG){case"Element":let t=e.tag,n=An(e.attrs);if(yt.includes(t))return"<"+t+n+" />";let r=e.children.map(ie).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return de(e._0);case"SignalText":let l=J(e._0);return Sn+de(l)+bn;case"Fragment":return e._0.map(ie).join("");case"SignalFragment":let o=J(e._0).map(ie).join("");return _n+o+vn;case"LazyComponent":let d=e._0();return Dn+ie(d)+kn;case"KeyedList":let s=e.renderItem,u=e.keyFn,w=J(e.signal).map(j=>{let $=u(j),A=ie(s(j));return wn($)+A+xn}).join("");return En+w+Tn}}function On(e,t){return ie(e())}function Pl(e,t,n){let r=t!==void 0?t:"root",l=e(),i=ie(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function Cn(e){return"<script"+(e!==void 0?' nonce="'+de(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function jl(e,t,n,r,l,i,o){let d=e!==void 0?e:"",s=t!==void 0?t:"",u=n!==void 0?n:[],p=r!==void 0?r:[],w=l!==void 0?l:"",j=On(o),$=Cn(i),A=p.map(H=>'<link rel="stylesheet" href="'+de(H)+'" />').join(`
|
|
2
|
+
`),Q=u.map(H=>{let q=i!==void 0?' nonce="'+de(i)+'"':"";return'<script type="module" src="'+de(H)+'"'+q+"><\/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
8
|
`+A+`
|
|
9
|
-
`+
|
|
9
|
+
`+d+`
|
|
10
10
|
</head>
|
|
11
|
-
<body`+(
|
|
12
|
-
<div id="root">`+
|
|
13
|
-
`+
|
|
14
|
-
|
|
15
|
-
`+
|
|
11
|
+
<body`+(s!==""?" "+s:"")+`>
|
|
12
|
+
<div id="root">`+j+`</div>
|
|
13
|
+
`+w+`
|
|
14
|
+
`+$+`
|
|
15
|
+
`+Q+`
|
|
16
16
|
</body>
|
|
17
|
-
</html>`}const
|
|
17
|
+
</html>`}const Rl=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Cl,Html:yn,Markers:Ol,generateHydrationScript:Cn,renderDocument:jl,renderNodeToString:ie,renderToString:On,renderToStringWithRoot:Pl},Symbol.toStringTag,{value:"Module"}));let Me=typeof document>"u",Ye=!Me;function Ml(e){if(Me)return fe(e())}function Vl(e){if(Ye)return fe(e())}function Pn(e,t){return Me?e():t()}const Ll=Object.freeze(Object.defineProperty({__proto__:null,isClient:Ye,isServer:Me,match:Pn,onClient:Vl,onServer:Ml},Symbol.toStringTag,{value:"Module"}));function Gl(e){if(typeof e=="boolean")return e}function Fl(e){if(e===null)return null}function Nl(e){if(typeof e=="string")return e}function Bl(e){if(typeof e=="number")return e}function zl(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Il(e){if(Array.isArray(e))return e}let pe={bool:Gl,$$null:Fl,string:Nl,float:Bl,object:zl,array:Il};function Wl(e){return e}function Kl(e){let t=pe.float(e);if(t!==void 0)return t|0}let Hl={encode:Wl,decode:Kl};function ql(e){return e}function Xl(e){return pe.float(e)}let Ul={encode:ql,decode:Xl};function Yl(e){return e}function Jl(e){return pe.string(e)}let Ql={encode:Yl,decode:Jl};function Zl(e){return e}function ei(e){return pe.bool(e)}let ti={encode:Zl,decode:ei};function ni(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=pe.array(t);if(n===void 0)return;let r=un(n,e.decode);if(r.length===n.length)return r}}}function ri(e){return{encode:t=>t!==void 0?e.encode(m(t)):null,decode:t=>ot(pe.$$null(t))?fe(void 0):Cr(e.decode(t),n=>fe(n))}}function li(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],o=e.decode(l),d=t.decode(i);if(o!==void 0&&d!==void 0)return[m(o),m(d)]}}}function ii(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],o=l[1],d=l[2],s=e.decode(i),u=t.decode(o),p=n.decode(d);if(s!==void 0&&u!==void 0&&p!==void 0)return[m(s),m(u),m(p)]}}}function ui(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=pe.object(t);if(n===void 0)return;let r={},l={contents:!0};if(Object.entries(n).forEach(i=>{let o=e.decode(i[1]);o!==void 0?r[i[0]]=m(o):l.contents=!1}),l.contents)return r}}}function oi(e,t){return{encode:e,decode:t}}let di={int:Hl,float:Ul,string:Ql,bool:ti,array:ni,option:ri,tuple2:li,tuple3:ii,dict:ui,make:oi},Pe={};function jn(e,t,n){if(Me){Pe[e]=n.encode(J(t));return}}function si(){Object.keys(Pe).forEach(e=>{it(Pe,e)})}function Rn(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function ai(e){let t=oe(JSON.stringify(Pe),"{}"),n=Rn(t);return"<script"+(e!==void 0?' nonce="'+yn.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Mn(){return Ye?window.__XOTE_STATE__||{}:{}}function Vn(e,t,n){if(!Ye)return;let l=Mn()[e];if(l===void 0)return;let i=n.decode(l);if(i!==void 0)return ce(t,m(i))}function Ln(e,t,n){Pn(()=>jn(e,t,n),()=>Vn(e,t,n))}function ci(e,t,n){let r=lt(t,void 0,void 0);return Ln(e,r,n),r}const fi=Object.freeze(Object.defineProperty({__proto__:null,Codec:di,clear:si,escapeForScript:Rn,generateScript:ai,getClientState:Mn,make:ci,register:jn,registry:Pe,restore:Vn,sync:Ln},Symbol.toStringTag,{value:"Module"}));let et={};function hi(e){let t=et[e];if(t!==void 0){let n=t+1|0;return et[e]=n,e+("/"+n)}return et[e]=1,e}function mi(e){return Array.from(e.childNodes||[])}function Ve(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Je(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function St(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith("k:"))return t.slice(2)}function we(e){return{current:ut(e.firstChild),parent:e}}function pi(e){return e.current}function W(e){let t=e.current;return t!==void 0&&(e.current=ut(m(t).nextSibling)),t}function re(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let l=m(r);if(Ve(l,t))return W(e),fe(l);W(e)}})()}function We(e,t){let n=[];return(()=>{for(;;){let l=e.current;if(l===void 0)return;let i=m(l);if(Ve(i,t)){W(e);return}n.push(i),W(e)}})(),n}let gi={elementNode:1,textNode:3,commentNode:8,getChildNodes:mi,isMarker:Ve,isMarkerPrefix:Je,extractKey:St,make:we,peek:pi,next:W,skipUntilMarker:re,collectUntilMarker:We},yi=hi("Hydration-Xote.HydrationMismatch");function rt(e){console.warn("[Xote Hydration] "+e)}function Si(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,l=n.events,i=n.attrs,o=f.createOwner();return f.setOwner(t,o),f.runWithOwner(o,()=>{i.forEach(v=>{let h=v[1],E=v[0];switch(h.TAG){case"Static":return;case"SignalValue":let x=h._0,M=L(()=>{Ce.setAttrOrProp(t,E,C(x))},void 0);return f.addDisposer(o,M);case"Compute":let a=h._0,g=L(()=>{Ce.setAttrOrProp(t,E,a())},void 0);return f.addDisposer(o,g)}}),l.forEach(v=>{t.addEventListener(v[0],v[1])});let k=we(t);r.forEach(v=>se(v,k))});case"Text":return;case"SignalText":let d=n._0,s=f.createOwner();return f.setOwner(t,s),f.runWithOwner(s,()=>{let k=L(()=>{t.textContent=C(d)},void 0);f.addDisposer(s,k)});case"Fragment":let u=we(t);n._0.forEach(k=>se(k,u));return;case"SignalFragment":let p=n._0,w=f.createOwner();return f.setOwner(t,w),f.runWithOwner(w,()=>{let k=L(()=>{let v=C(p);Array.from(t.childNodes||[]).forEach(E=>f.disposeOwner(oe(f.getOwner(E),f.createOwner()))),t.innerHTML="",v.forEach(E=>{let x=le.render(E);t.appendChild(x)})},void 0);f.addDisposer(w,k)});case"LazyComponent":let j=f.createOwner(),$=f.runWithOwner(j,n._0);f.setOwner(t,j),e=$;continue;case"KeyedList":let A=n.renderItem,Q=n.keyFn,H=n.signal,q=f.createOwner();f.setOwner(t,q);let R={},Z=we(t);return re(Z,"kl"),(()=>{for(;;){let k=Z.current;if(k===void 0)return;let v=m(k);if(!Je(v,"k:"))if(Ve(v,"/kl")){W(Z);return}else return;let h=oe(St(v),"");W(Z);let x=We(Z,"/k").find(M=>M.nodeType===1);if(x!==void 0){let M=J(H),a=oe(M.find(g=>Q(g)===h),{});R[h]={key:h,item:a,element:m(x)}}}})(),f.runWithOwner(q,()=>{let k=document.createComment(" keyed-list-start "),v=document.createComment(" keyed-list-end "),h=t.firstChild;h==null?t.appendChild(k):t.insertBefore(k,h),t.appendChild(v);let E=()=>{let M=C(H),a={};M.forEach(y=>{a[Q(y)]=y});let g=[];Object.keys(R).forEach(y=>{if(a[y]===void 0){g.push(y);return}}),g.forEach(y=>{let _=R[y];if(_!==void 0){le.disposeElement(_.element),_.element.remove(),it(R,y);return}});let O=[],P={};M.forEach(y=>{let _=Q(y),S=R[_];if(S!==void 0){if(S.item!==y){P[_]=!0;let Qe=A(y),Ge=le.render(Qe),Fe={key:_,item:y,element:Ge};O.push(Fe),R[_]=Fe;return}O.push(S);return}let D=A(y),ye=le.render(D),Le={key:_,item:y,element:ye};O.push(Le),R[_]=Le});let V={contents:k.nextSibling};O.forEach(y=>{let _=V.contents;if(_==null){t.insertBefore(y.element,v);return}if(_===v){t.insertBefore(y.element,v);return}if(_===y.element){V.contents=_.nextSibling;return}oe(P[y.key],!1)?(le.disposeElement(_),t.replaceChild(y.element,_),V.contents=y.element.nextSibling):(t.insertBefore(y.element,_),V.contents=y.element.nextSibling)})},x=L(()=>{E()},void 0);f.addDisposer(q,x)})}}}function se(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,l=e.attrs,i=W(t);if(i===void 0)return rt("Missing DOM element for Element node");let o=m(i),d=f.createOwner();return f.setOwner(o,d),f.runWithOwner(d,()=>{l.forEach(E=>{let x=E[1],M=E[0];switch(x.TAG){case"Static":return;case"SignalValue":let a=x._0,g=L(()=>{Ce.setAttrOrProp(o,M,C(a))},void 0);return f.addDisposer(d,g);case"Compute":let O=x._0,P=L(()=>{Ce.setAttrOrProp(o,M,O())},void 0);return f.addDisposer(d,P)}}),r.forEach(E=>{o.addEventListener(E[0],E[1])});let h=we(o);n.forEach(E=>se(E,h))});case"Text":W(t);return;case"SignalText":let s=e._0;re(t,"$");let u=W(t);if(u===void 0)return rt("Missing text node for SignalText");let p=m(u),w=f.createOwner();f.setOwner(p,w),f.runWithOwner(w,()=>{let h=L(()=>{p.textContent=C(s)},void 0);f.addDisposer(w,h)}),re(t,"/$");return;case"Fragment":e._0.forEach(h=>se(h,t));return;case"SignalFragment":let j=e._0;re(t,"#");let $=We(t,"/#"),A=document.createElement("div");A.setAttribute("style","display: contents");let Q=$[0],H=Q!==void 0?Q.parentNode:void 0;$.forEach(h=>{A.appendChild(h)});let q=t.current;if(H!==void 0){let h=m(H);q!==void 0?h.insertBefore(A,m(q)):h.appendChild(A)}let R=f.createOwner();return f.setOwner(A,R),f.runWithOwner(R,()=>{let h=L(()=>{let E=C(j);Array.from(A.childNodes||[]).forEach(le.disposeElement),A.innerHTML="",E.forEach(M=>{let a=le.render(M);A.appendChild(a)})},void 0);f.addDisposer(R,h)});case"LazyComponent":re(t,"lc");let Z=e._0();se(Z,t),re(t,"/lc");return;case"KeyedList":let ge=e.keyFn,k=e.signal;return re(t,"kl"),(()=>{for(;;){let h=t.current;if(h===void 0)return;let E=m(h);if(!Je(E,"k:"))if(Ve(E,"/kl")){W(t);return}else return;let x=oe(St(E),"");W(t);let a=We(t,"/k").find(g=>g.nodeType===1);if(a!==void 0){let g=J(k),O=oe(g.find(P=>ge(P)===x),{});m(a)}}})()}}function Gn(e,t,n){let r=n!==void 0?n:{},l=e(),i=we(t),o=i.current;o!==void 0&&Je(m(o),"xote-root:")&&W(i),se(l,i),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function bi(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 Gn(e,l,r)}let _i,vi;const Ei=Object.freeze(Object.defineProperty({__proto__:null,DOM:_i,DOMWalker:gi,HydrationMismatch:yi,Reactivity:vi,hydrate:Gn,hydrateById:bi,hydrateNode:Si,hydrateNodeWithWalker:se,logHydrationWarning:rt},Symbol.toStringTag,{value:"Module"}));exports.Computed=Or;exports.Effect=cr;exports.Html=nl;exports.Hydration=Ei;exports.Node=Kr;exports.ReactiveProp=ml;exports.Route=gl;exports.Router=$l;exports.SSR=Rl;exports.SSRContext=Ll;exports.SSRState=fi;exports.Signal=xr;exports.XoteJSX=al;
|