xote 5.0.0 → 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.
Files changed (34) hide show
  1. package/README.md +17 -9
  2. package/dist/xote.cjs +7 -7
  3. package/dist/xote.mjs +1267 -1189
  4. package/dist/xote.umd.js +10 -10
  5. package/package.json +3 -3
  6. package/rescript.json +18 -3
  7. package/src/Computed.res +1 -0
  8. package/src/Computed.res.mjs +13 -0
  9. package/src/Effect.res +1 -0
  10. package/src/Effect.res.mjs +13 -0
  11. package/src/Html.res +28 -0
  12. package/src/Html.res.mjs +62 -0
  13. package/src/{Xote__Hydration.res → Hydration.res} +43 -41
  14. package/src/{Xote__Hydration.res.mjs → Hydration.res.mjs} +66 -68
  15. package/src/{Xote__Component.res → Node.res} +3 -26
  16. package/src/{Xote__Component.res.mjs → Node.res.mjs} +26 -88
  17. package/src/{Xote__ReactiveProp.res → ReactiveProp.res} +0 -1
  18. package/src/{Xote__ReactiveProp.res.mjs → ReactiveProp.res.mjs} +2 -2
  19. package/src/{Xote__Router.res → Router.res} +38 -32
  20. package/src/{Xote__Router.res.mjs → Router.res.mjs} +28 -28
  21. package/src/{Xote__SSR.res → SSR.res} +16 -18
  22. package/src/{Xote__SSR.res.mjs → SSR.res.mjs} +5 -8
  23. package/src/{Xote__SSRState.res → SSRState.res} +7 -6
  24. package/src/{Xote__SSRState.res.mjs → SSRState.res.mjs} +12 -12
  25. package/src/Signal.res +1 -0
  26. package/src/Signal.res.mjs +31 -0
  27. package/src/{Xote__JSX.res → XoteJSX.res} +22 -23
  28. package/src/{Xote__JSX.res.mjs → XoteJSX.res.mjs} +22 -24
  29. package/src/Xote.res +0 -43
  30. package/src/Xote.res.mjs +0 -117
  31. /package/src/{Xote__Route.res → Route.res} +0 -0
  32. /package/src/{Xote__Route.res.mjs → Route.res.mjs} +0 -0
  33. /package/src/{Xote__SSRContext.res → SSRContext.res} +0 -0
  34. /package/src/{Xote__SSRContext.res.mjs → SSRContext.res.mjs} +0 -0
package/dist/xote.umd.js CHANGED
@@ -1,17 +1,17 @@
1
- (function(D,te){typeof exports=="object"&&typeof module<"u"?te(exports):typeof define=="function"&&define.amd?define(["exports"],te):(D=typeof globalThis<"u"?globalThis:D||self,te(D.xote={}))})(this,(function(D){"use strict";let te={contents:0};function Ee(){return te.contents=te.contents+1|0,te.contents}function Ze(){return{first:void 0,last:void 0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0}}function ln(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function un(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 et(e){e.flags=e.flags&-2}function on(e){return(e.flags&2)!==0}function dn(e){e.flags=e.flags|2}function an(e){e.flags=e.flags&-3}function tt(e){return(e.flags&1)!==0}function cn(e){e.flags=e.flags|1}function je(e){e.flags=e.flags&-2}function sn(e){e.flags=e.flags&-3}function we(e){return e.compute!==void 0}function nt(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function ke(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 rt(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 lt(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 it(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;lt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Fe(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;lt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function ut(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 ne(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 Ie(e){if(e!=null)return ne(e)}function g(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 fn(e,t){if(e!==void 0)return ne(t(g(e)))}function V(e,t){return e!==void 0?g(e):t}function Ne(e){return e!==void 0}let A={contents:void 0},F={contents:void 0},Y=[],re=[],q={contents:!1},Te=[],ot=(function(e){e.length=0});function pn(e){if(!on(e)){dn(e),Y.push(e);return}}function hn(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 ut(e,l),ke(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};ut(e,i),ke(t,i)}function mn(e,t){if(e.firstDep===void 0){let l=nt(t,e);return rt(e,l),ke(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=nt(t,e);rt(e,i),ke(t,i)}function gn(e){let t=A.contents;if(t!==void 0)return hn(t,e);let n=F.contents;if(n!==void 0)return mn(n,e)}function Sn(e,t){return e.level-t.level|0}function _n(e,t){return e.level-t.level|0}function dt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(we(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function at(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(we(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function yn(e){let t=e.level;Fe(e),sn(e);let n=A.contents;A.contents=e;try{let r=e.compute;r!==void 0&&r(),je(e),A.contents=n}catch(r){throw A.contents=n,r}if(t===0){e.level=dt(e);return}}function bn(e){let t=e.level;it(e),an(e);let n=F.contents;F.contents=e;try{e.run(),et(e),F.contents=n}catch(r){throw F.contents=n,r}if(t===0){e.level=at(e);return}}function ct(){q.contents=!0;try{for(;Y.length!==0||re.length!==0;){if(re.length!==0){re.sort(_n);let e=re.slice();ot(re),e.forEach(yn)}if(Y.length!==0){Y.sort(Sn);let e=Y.slice();ot(Y),e.forEach(bn)}}q.contents=!1;return}catch(e){throw q.contents=!1,e}}function En(e){for(Te.push(e);Te.length!==0;){let t=Te.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let i=r.observer;we(i)?tt(i)||(cn(i),Te.push(i)):pn(r.observer),n=r.nextSub}}}}if((Y.length!==0||re.length!==0)&&!q.contents)return ct()}function st(e){if(!(we(e)&&tt(e)))return;let t=e.level;Fe(e);let n=A.contents;A.contents=e;try{let r=e.compute;r!==void 0&&r(),je(e),A.contents=n}catch(r){throw A.contents=n,r}if(t===0){e.level=dt(e);return}}function wn(e){let t=q.contents;q.contents=!0;try{let n=e();return t||(q.contents=!1,(Y.length!==0||re.length!==0)&&ct()),n}catch(n){throw t||(q.contents=!1),n}}function kn(e){let t=A.contents,n=F.contents;A.contents=void 0,F.contents=void 0;try{let r=e();return A.contents=t,F.contents=n,r}catch(r){throw A.contents=t,F.contents=n,r}}function Tn(e,t,n){return{id:Ee(),value:e,equals:V(n,(i,l)=>i===l),name:t,subs:Ze()}}function vn(e,t){return{id:Ee(),value:e,equals:(r,i)=>!1,name:t,subs:Ze()}}function $n(e){return st(e.subs),gn(e.subs),e.value}function Cn(e){return st(e.subs),e.value}function ft(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,En(e.subs)}function Dn(e,t){ft(e,t(e.value))}const An=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,batch:wn,get:$n,make:Tn,makeForComputed:vn,peek:Cn,set:ft,untrack:kn,update:Dn},Symbol.toStringTag,{value:"Module"}));function pt(e,t){let n=Ee(),r={contents:void 0},l=un(n,"Effect",()=>{let S=r.contents;S!==void 0&&S(),r.contents=e()},t,void 0),u=F.contents;F.contents=l;try{l.run(),et(l),F.contents=u}catch(S){throw F.contents=u,S}l.level=at(l);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let S=r.contents;S!==void 0&&S(),it(l)}}}function xn(e,t){pt(e,t)}const On=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,run:xn,runWithDisposer:pt},Symbol.toStringTag,{value:"Module"}));function Pn(e,t){let n=Ee(),r={contents:void 0},l=ln(()=>{r.contents.value=e()}),u=A.contents;A.contents=l;let d=e();A.contents=u;let s={id:n,value:d,equals:(S,x)=>!1,name:t,subs:l};return r.contents=s,je(l),s}function Rn(e){Fe(e.subs)}const Mn=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,Signal:void 0,dispose:Rn,make:Pn},Symbol.toStringTag,{value:"Module"}));let o=An,j=Mn,T=On;function U(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#x27;")}let Le=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function jn(e){return Le.includes(e)}let ht={escape:U,voidElements:Le,isVoidElement:jn},mt="<!--$-->",gt="<!--/$-->",St="<!--#-->",_t="<!--/#-->",yt="<!--kl-->",bt="<!--/kl-->";function Et(e){return"<!--k:"+e+"-->"}let wt="<!--/k-->",kt="<!--lc-->",Tt="<!--/lc-->",Fn={signalTextStart:mt,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+'="'+U(r)+'"'}return r==="true"?n:""}function $t(e){let t=e.map(vt).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let In={renderAttr:vt,renderAttrs:$t};function J(e){switch(e.TAG){case"Element":let t=e.tag,n=$t(e.attrs);if(Le.includes(t))return"<"+t+n+" />";let r=e.children.map(J).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return U(e._0);case"SignalText":let i=o.peek(e._0);return mt+U(i)+gt;case"Fragment":return e._0.map(J).join("");case"SignalFragment":let u=o.peek(e._0).map(J).join("");return St+u+_t;case"LazyComponent":let d=e._0();return kt+J(d)+Tt;case"KeyedList":let s=e.renderItem,S=e.keyFn,L=o.peek(e.signal).map(W=>{let O=S(W),$=J(s(W));return Et(O)+$+wt}).join("");return yt+L+bt}}function Ct(e,t){return J(e())}function Nn(e,t,n){let r=t!==void 0?t:"root",i=e(),l=J(i);return"<!--xote-root:"+r+"-->"+l+"<!--/xote-root-->"}function Dt(e){return"<script"+(e!==void 0?' nonce="'+U(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Ln(e,t,n,r,i,l,u){let d=e!==void 0?e:"",s=t!==void 0?t:"",S=n!==void 0?n:[],x=r!==void 0?r:[],L=i!==void 0?i:"",W=Ct(u),O=Dt(l),$=x.map(z=>'<link rel="stylesheet" href="'+U(z)+'" />').join(`
2
- `),H=S.map(z=>{let B=l!==void 0?' nonce="'+U(l)+'"':"";return'<script type="module" src="'+U(z)+'"'+B+"><\/script>"}).join(`
1
+ (function(A,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(A=typeof globalThis<"u"?globalThis:A||self,oe(A.xote={}))})(this,(function(A){"use strict";let oe={contents:0};function Oe(){return oe.contents=oe.contents+1|0,oe.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 $n(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function An(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 ft(e){e.flags=e.flags&-2}function xn(e){return(e.flags&2)!==0}function kn(e){e.flags=e.flags|2}function On(e){e.flags=e.flags&-3}function ht(e){return(e.flags&1)!==0}function Dn(e){e.flags=e.flags|1}function We(e){e.flags=e.flags&-2}function Cn(e){e.flags=e.flags&-3}function De(e){return e.compute!==void 0}function mt(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function Ce(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 pt(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 gt(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 yt(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;gt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Ve(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;gt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function St(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},F={contents:void 0},ee=[],de=[],te={contents:!1},je=[],_t=(function(e){e.length=0});function jn(e){if(!xn(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 St(e,i),Ce(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};St(e,l),Ce(t,l)}function Mn(e,t){if(e.firstDep===void 0){let i=mt(t,e);return pt(e,i),Ce(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=mt(t,e);pt(e,l),Ce(t,l)}function Rn(e){let t=D.contents;if(t!==void 0)return Pn(t,e);let n=F.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 bt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(De(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Et(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(De(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Fn(e){let t=e.level;Ve(e),Cn(e);let n=D.contents;D.contents=e;try{let r=e.compute;r!==void 0&&r(),We(e),D.contents=n}catch(r){throw D.contents=n,r}if(t===0){e.level=bt(e);return}}function Nn(e){let t=e.level;yt(e),On(e);let n=F.contents;F.contents=e;try{e.run(),ft(e),F.contents=n}catch(r){throw F.contents=n,r}if(t===0){e.level=Et(e);return}}function wt(){te.contents=!0;try{for(;ee.length!==0||de.length!==0;){if(de.length!==0){de.sort(Ln);let e=de.slice();_t(de),e.forEach(Fn)}if(ee.length!==0){ee.sort(Gn);let e=ee.slice();_t(ee),e.forEach(Nn)}}te.contents=!1;return}catch(e){throw te.contents=!1,e}}function zn(e){for(je.push(e);je.length!==0;){let t=je.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let l=r.observer;De(l)?ht(l)||(Dn(l),je.push(l)):jn(r.observer),n=r.nextSub}}}}if((ee.length!==0||de.length!==0)&&!te.contents)return wt()}function Tt(e){if(!(De(e)&&ht(e)))return;let t=e.level;Ve(e);let n=D.contents;D.contents=e;try{let r=e.compute;r!==void 0&&r(),We(e),D.contents=n}catch(r){throw D.contents=n,r}if(t===0){e.level=bt(e);return}}function Bn(e){let t=te.contents;te.contents=!0;try{let n=e();return t||(te.contents=!1,(ee.length!==0||de.length!==0)&&wt()),n}catch(n){throw t||(te.contents=!1),n}}function In(e){let t=D.contents,n=F.contents;D.contents=void 0,F.contents=void 0;try{let r=e();return D.contents=t,F.contents=n,r}catch(r){throw D.contents=t,F.contents=n,r}}function vt(e,t){let n=Oe(),r={contents:void 0},i=An(n,"Effect",()=>{let y=r.contents;y!==void 0&&y(),r.contents=e()},t,void 0),u=F.contents;F.contents=i;try{i.run(),ft(i),F.contents=u}catch(y){throw F.contents=u,y}i.level=Et(i);let o={contents:!1};return{dispose:()=>{if(o.contents)return;o.contents=!0;let y=r.contents;y!==void 0&&y(),yt(i)}}}function Kn(e,t){vt(e,t)}let j=vt;const Wn=Object.freeze(Object.defineProperty({__proto__:null,run:Kn,runWithDisposer:j},Symbol.toStringTag,{value:"Module"}));function ae(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 He(e){if(e!=null)return ae(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 Vn(e,t){if(e!==void 0)return ae(t(h(e)))}function Y(e,t){return e!==void 0?h(e):t}function Xe(e){return e!==void 0}function Hn(e,t,n){return{id:Oe(),value:e,equals:Y(n,(l,i)=>l===i),name:t,subs:st()}}function Xn(e,t){return{id:Oe(),value:e,equals:(r,l)=>!1,name:t,subs:st()}}function qn(e){return Tt(e.subs),Rn(e.subs),e.value}function Un(e){return Tt(e.subs),e.value}function $t(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 Yn(e,t){$t(e,t(e.value))}let Jn=Bn,Qn=In,qe=Hn,Zn=Xn,x=qn,H=Un,ce=$t;const er=Object.freeze(Object.defineProperty({__proto__:null,batch:Jn,get:x,make:qe,makeForComputed:Zn,peek:H,set:ce,untrack:Qn,update:Yn},Symbol.toStringTag,{value:"Module"}));function Ue(e,t){delete e[t]}function tr(e,t){let n=Oe(),r={contents:void 0},i=$n(()=>{r.contents.value=e()}),u=D.contents;D.contents=i;let o=e();D.contents=u;let c={id:n,value:o,equals:(y,C)=>!1,name:t,subs:i};return r.contents=c,We(i),c}function nr(e){Ve(e.subs)}let J=tr,At=nr;const rr=Object.freeze(Object.defineProperty({__proto__:null,dispose:At,make:J},Symbol.toStringTag,{value:"Module"}));let xt="http://www.w3.org/2000/svg",kt=["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"],Pe={};kt.forEach(e=>{Pe[e]=!0});function ir(e){return Xe(Pe[e])}function we(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 Te={setAttrOrProp:we},Me={contents:void 0};function lr(){return{disposers:[],computeds:[]}}function me(e,t){let n=Me.contents;Me.contents=e;let r=t();return Me.contents=n,r}function pe(e,t){e.disposers.push(t)}function Ot(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(At)}function ge(e,t){e.__xote_owner__=t}function Dt(e){return He(e.__xote_owner__)}let a={currentOwner:Me,createOwner:lr,runWithOwner:me,addDisposer:pe,disposeOwner:Ot,setOwner:ge,getOwner:Dt};function Ct(e,t){return[e,{TAG:"Static",_0:t}]}function jt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Pt(e,t){return[e,{TAG:"Compute",_0:t}]}let ur={$$static:Ct,signal:jt,computed:Pt};function ve(e){let t=Dt(e);t!==void 0&&Ot(t),Array.from(e.childNodes||[]).forEach(ve)}function Q(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,i=Xe(Pe[l])?document.createElementNS(xt,l):document.createElement(l),u={disposers:[],computeds:[]};return ge(i,u),me(u,()=>{r.forEach(d=>{let m=d[1],$=d[0];switch(m.TAG){case"Static":return we(i,$,m._0);case"SignalValue":let O=m._0;we(i,$,H(O));let L=j(()=>{we(i,$,x(O))},void 0);return pe(u,L);case"Compute":let p=m._0,S=j(()=>{we(i,$,p())},void 0);return pe(u,S)}}),n.forEach(d=>{i.addEventListener(d[0],d[1])}),t.forEach(d=>{let m=Q(d);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 d=j(()=>{c.textContent=x(o)},void 0);pe(y,d)}),c;case"Fragment":let C=document.createDocumentFragment();return e._0.forEach(d=>{let m=Q(d);C.appendChild(m)}),C;case"SignalFragment":let B=e._0,I={disposers:[],computeds:[]},M=document.createElement("div");return M.setAttribute("style","display: contents"),ge(M,I),me(I,()=>{let d=j(()=>{let m=x(B);Array.from(M.childNodes||[]).forEach(ve),M.innerHTML="",m.forEach(O=>{let L=Q(O);M.appendChild(L)})},void 0);pe(I,d)}),M;case"LazyComponent":let k={disposers:[],computeds:[]},q=me(k,e._0),W=Q(q);return ge(W,k),W;case"KeyedList":let V=e.renderItem,R=e.keyFn,U=e.signal,be={disposers:[],computeds:[]},v=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end ");ge(v,be);let s={},b=()=>{let d=_.parentNode;if(d==null)return;let m=x(U),$={};m.forEach(g=>{$[R(g)]=g});let O=[];Object.keys(s).forEach(g=>{if($[g]===void 0){O.push(g);return}}),O.forEach(g=>{let T=s[g];if(T!==void 0){ve(T.element),T.element.remove(),Ue(s,g);return}});let L=[],p={};m.forEach(g=>{let T=R(g),Ee=s[T];if(Ee!==void 0){if(Ee.item!==g){p[T]=!0;let Ke=V(g),Bi=Q(Ke),vn={key:T,item:g,element:Bi};L.push(vn),s[T]=vn;return}L.push(Ee);return}let Be=V(g),ct=Q(Be),Ie={key:T,item:g,element:ct};L.push(Ie),s[T]=Ie});let S={contents:v.nextSibling};L.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}Y(p[g.key],!1)?(ve(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),H(U).forEach(d=>{let m=R(d),$=V(d),O=Q($),L={key:m,item:d,element:O};s[m]=L,w.appendChild(O)}),w.appendChild(_),me(be,()=>{let d=j(()=>{b()},void 0);pe(be,d)}),w}}let ne={disposeElement:ve,render:Q};function Mt(e){return{TAG:"Text",_0:e}}function or(e){return{TAG:"SignalText",_0:J(e,void 0)}}function dr(e){return{TAG:"SignalText",_0:J(()=>e().toString(),void 0)}}function ar(e){return{TAG:"SignalText",_0:J(()=>e().toString(),void 0)}}function cr(e){return{TAG:"Text",_0:e.toString()}}function sr(e){return{TAG:"Text",_0:e.toString()}}function Ye(e){return{TAG:"Fragment",_0:e}}function Je(e){return{TAG:"SignalFragment",_0:e}}function fr(e,t){return{TAG:"SignalFragment",_0:J(()=>x(e).map(t),void 0)}}function hr(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(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 mr(){return{TAG:"Text",_0:""}}function Rt(e,t){let n=Q(e);t.appendChild(n)}function pr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Rt(e,n)}let gr=Pe,X=Ct,se=jt,Re=Pt;const yr=Object.freeze(Object.defineProperty({__proto__:null,$$null:mr,Attributes:ur,DOM:Te,Reactivity:a,Render:ne,attr:X,computedAttr:Re,element:K,float:sr,fragment:Ye,int:cr,isSvgTag:ir,keyedList:hr,list:fr,mount:Rt,mountById:pr,signalAttr:se,signalFloat:ar,signalFragment:Je,signalInt:dr,signalText:or,svgNamespace:xt,svgTagSet:gr,svgTags:kt,text:Mt},Symbol.toStringTag,{value:"Module"}));function Sr(e,t,n,r){return K("div",e,t,n)}function _r(e,t,n,r){return K("span",e,t,n)}function br(e,t,n,r){return K("button",e,t,n)}function Er(e,t,n){return K("input",e,t,void 0)}function wr(e,t,n,r){return K("h1",e,t,n)}function Tr(e,t,n,r){return K("h2",e,t,n)}function vr(e,t,n,r){return K("h3",e,t,n)}function $r(e,t,n,r){return K("p",e,t,n)}function Ar(e,t,n,r){return K("ul",e,t,n)}function xr(e,t,n,r){return K("li",e,t,n)}function Qe(e,t,n,r){return K("a",e,t,n)}const kr=Object.freeze(Object.defineProperty({__proto__:null,a:Qe,button:br,div:Sr,h1:wr,h2:Tr,h3:vr,input:Er,li:xr,p:$r,span:_r,ul:Ar},Symbol.toStringTag,{value:"Module"}));function Gt(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function Lt(e,t,n,r){return{TAG:"LazyComponent",_0:()=>e(t)}}function Or(e){let t=e.children;return t!==void 0?t:Ye([])}let Dr=Ye;function Cr(){return Mt("")}function Ze(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function E(e,t){return Ze(t)?t.TAG==="Reactive"?se(e,t._0):X(e,t._0):typeof t=="function"?Re(e,t):typeof t=="object"?se(e,t):X(e,t)}function Z(e,t){if(Ze(t)){if(t.TAG!=="Reactive")return X(e,t._0?"true":"false");let r=t._0,l=J(()=>x(r)?"true":"false",void 0);return se(e,l)}if(typeof t=="function")return Re(e,()=>t()?"true":"false");if(typeof t!="object")return X(e,t?"true":"false");let n=J(()=>x(t)?"true":"false",void 0);return se(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(X(n,t.toString()));return}}function Ft(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",Z),f(t,e.checked,"checked",Z),f(t,e.required,"required",Z),f(t,e.readOnly,"readonly",Z),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",Z),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",Z),f(t,e["aria-expanded"],"aria-expanded",Z),f(t,e["aria-selected"],"aria-selected",Z);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(E("data-"+r,l))}),t}function P(e,t,n){if(t!==void 0){e.push([n,h(t)]);return}}function Nt(e){let t=[];return P(t,e.onClick,"click"),P(t,e.onInput,"input"),P(t,e.onChange,"change"),P(t,e.onSubmit,"submit"),P(t,e.onFocus,"focus"),P(t,e.onBlur,"blur"),P(t,e.onKeyDown,"keydown"),P(t,e.onKeyUp,"keyup"),P(t,e.onMouseEnter,"mouseenter"),P(t,e.onMouseLeave,"mouseleave"),P(t,e.onMouseDown,"mousedown"),P(t,e.onMouseMove,"mousemove"),P(t,e.onMouseUp,"mouseup"),P(t,e.onContextMenu,"contextmenu"),t}function zt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function et(e,t){return{TAG:"Element",tag:e,attrs:Ft(t),events:Nt(t),children:zt(t)}}let Bt=et;function It(e,t,n,r){return et(e,t)}const jr=Object.freeze(Object.defineProperty({__proto__:null,$$null:Cr,Elements:{isReactiveProp:Ze,convertAttrValue:E,convertBoolAttrValue:Z,addAttr:f,addIntAttr:ye,propsToAttrs:Ft,addEvent:P,propsToEvents:Nt,getChildren:zt,createElement:et,jsx:Bt,jsxs:Bt,jsxKeyed:It,jsxsKeyed:It},ReactiveProp:void 0,array:Dr,jsx:Gt,jsxFragment:Or,jsxKeyed:Lt,jsxs:Gt,jsxsKeyed:Lt},Symbol.toStringTag,{value:"Module"}));function Pr(e){return e.TAG==="Reactive"?x(e._0):e._0}function Mr(e){return{TAG:"Static",_0:e}}function Rr(e){return{TAG:"Reactive",_0:e}}const Gr=Object.freeze(Object.defineProperty({__proto__:null,$$static:Mr,get:Pr,reactive:Rr},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 Lr(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 Wt(e){return Kt(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Vt(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 tt(e,t){return Vt(Wt(e),t)}const Fr=Object.freeze(Object.defineProperty({__proto__:null,match:tt,matchPath:Vt,parsePattern:Wt},Symbol.toStringTag,{value:"Module"}));function Nr(){return Symbol.for("xote.router.state")}function N(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:qe({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function zr(){return N().location}function Br(){return N().basePath}function fe(e){if(!N().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 nt(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function Ht(e){let t=N().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function $e(e){let t=N().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function Xt(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ge(e,t){window.scrollTo(e,t)}function qt(e,t){return{scrollX:e,scrollY:t}}function rt(){return{}}function Ut(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Yt(){let e=Xt(),t=qt(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function it(){let e=window.location.pathname;return{pathname:Ht(e),search:window.location.search,hash:window.location.hash}}function Ir(e,t){let n=e!==void 0?e:"/",r=N(),l=nt(n);if(r.basePath.contents=l,ce(r.location,it()),r.initialized)return;let i=u=>{ce(N().location,it());let o=window["history.state"];if(o==null)return;let c=Ut(o);if(c!==void 0)return Ge(c[0],c[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function Kr(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=N(),C=nt(i);y.basePath.contents=C,ce(y.location,{pathname:u,search:o,hash:c}),y.initialized=!0}function lt(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";fe("Router.push()"),Yt();let u={pathname:e,search:l,hash:i},c=$e(e)+l+i;window.history.pushState(rt(),"",c),ce(N().location,u),Ge(0,0)}function Wr(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";fe("Router.replace()");let u={pathname:e,search:l,hash:i},c=$e(e)+l+i;window.history.replaceState(rt(),"",c),ce(N().location,u),Ge(0,0)}function Vr(e,t){return fe("Router.route()"),Je(J(()=>{let n=x(N().location),r=tt(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Hr(e){return fe("Router.routes()"),Je(J(()=>{let t=x(N().location),n=Lr(e,r=>{let l=tt(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function Xr(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];fe("Router.link()");let u=o=>{o.preventDefault(),lt(e,void 0,void 0)};return Qe(l.concat([X("href",$e(e))]),[["click",u]],i)}function Jt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function Se(e,t){return Jt(t)?t.TAG==="Reactive"?se(e,t._0):X(e,t._0):typeof t=="function"?Re(e,t):typeof t=="object"?se(e,t):X(e,t)}function Qt(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 Zt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Le(e){fe("Router.Link");let t=n=>{n.preventDefault(),lt(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return Qe(Qt(e).concat([X("href",$e(e.to))]),[["click",t]],Zt(e))}function en(e,t,n){return Le(e)}const qr=Object.freeze(Object.defineProperty({__proto__:null,Link:{ReactiveProp:void 0,isReactiveProp:Jt,convertAttrValue:Se,propsToAttrs:Qt,getChildren:Zt,make:Le,jsx:Le,jsxs:Le,jsxKeyed:en,jsxsKeyed:en},Route:void 0,addBasePath:$e,basePath:Br,emptyHistoryState:rt,getCurrentLocation:it,getGlobalState:N,getScrollFromState:Ut,getScrollPosition:Xt,getSymbolKey:Nr,init:Ir,initSSR:Kr,link:Xr,location:zr,makeHistoryState:qt,normalizeBasePath:nt,push:lt,replace:Wr,route:Vr,routes:Hr,saveScrollPosition:Yt,scrollTo:Ge,stripBasePath:Ht,warnIfNotInitialized:fe},Symbol.toStringTag,{value:"Module"}));function re(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#x27;")}let ut=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function Ur(e){return ut.includes(e)}let tn={escape:re,voidElements:ut,isVoidElement:Ur},nn="<!--$-->",rn="<!--/$-->",ln="<!--#-->",un="<!--/#-->",on="<!--kl-->",dn="<!--/kl-->";function an(e){return"<!--k:"+e+"-->"}let cn="<!--/k-->",sn="<!--lc-->",fn="<!--/lc-->",Yr={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=H(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+'="'+re(r)+'"'}return r==="true"?n:""}function mn(e){let t=e.map(hn).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Jr={renderAttr:hn,renderAttrs:mn};function ie(e){switch(e.TAG){case"Element":let t=e.tag,n=mn(e.attrs);if(ut.includes(t))return"<"+t+n+" />";let r=e.children.map(ie).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return re(e._0);case"SignalText":let l=H(e._0);return nn+re(l)+rn;case"Fragment":return e._0.map(ie).join("");case"SignalFragment":let u=H(e._0).map(ie).join("");return ln+u+un;case"LazyComponent":let o=e._0();return sn+ie(o)+fn;case"KeyedList":let c=e.renderItem,y=e.keyFn,B=H(e.signal).map(I=>{let M=y(I),k=ie(c(I));return an(M)+k+cn}).join("");return on+B+dn}}function pn(e,t){return ie(e())}function Qr(e,t,n){let r=t!==void 0?t:"root",l=e(),i=ie(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function gn(e){return"<script"+(e!==void 0?' nonce="'+re(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Zr(e,t,n,r,l,i,u){let o=e!==void 0?e:"",c=t!==void 0?t:"",y=n!==void 0?n:[],C=r!==void 0?r:[],B=l!==void 0?l:"",I=pn(u),M=gn(i),k=C.map(W=>'<link rel="stylesheet" href="'+re(W)+'" />').join(`
2
+ `),q=y.map(W=>{let V=i!==void 0?' nonce="'+re(i)+'"':"";return'<script type="module" src="'+re(W)+'"'+V+"><\/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
- `+d+`
8
+ `+k+`
9
+ `+o+`
10
10
  </head>
11
- <body`+(s!==""?" "+s:"")+`>
12
- <div id="root">`+W+`</div>
13
- `+L+`
14
- `+O+`
15
- `+H+`
11
+ <body`+(c!==""?" "+c:"")+`>
12
+ <div id="root">`+I+`</div>
13
+ `+B+`
14
+ `+M+`
15
+ `+q+`
16
16
  </body>
17
- </html>`}const Wn=Object.freeze(Object.defineProperty({__proto__:null,Attributes:In,Component:void 0,Html:ht,Markers:Fn,generateHydrationScript:Dt,renderDocument:Ln,renderNodeToString:J,renderToString:Ct,renderToStringWithRoot:Nn},Symbol.toStringTag,{value:"Module"}));function At(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]=g(d),i=i+1|0)}return r.length=i,r}function Gn(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 xt(e){return At(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Ot(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 We(e,t){return Ot(xt(e),t)}const zn=Object.freeze(Object.defineProperty({__proto__:null,match:We,matchPath:Ot,parsePattern:xt},Symbol.toStringTag,{value:"Module"}));function Ge(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"],ve={};Rt.forEach(e=>{ve[e]=!0});function Bn(e){return Ne(ve[e])}function pe(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 he={setAttrOrProp:pe},$e={contents:void 0};function Hn(){return{disposers:[],computeds:[]}}function ue(e,t){let n=$e.contents;$e.contents=e;let r=t();return $e.contents=n,r}function oe(e,t){e.disposers.push(t)}function Mt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>j.dispose(t))}function de(e,t){e.__xote_owner__=t}function jt(e){return Ie(e.__xote_owner__)}let c={currentOwner:$e,createOwner:Hn,runWithOwner:ue,addDisposer:oe,disposeOwner:Mt,setOwner:de,getOwner:jt};function Ft(e,t){return[e,{TAG:"Static",_0:t}]}function It(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Nt(e,t){return[e,{TAG:"Compute",_0:t}]}let Xn={$$static:Ft,signal:It,computed:Nt};function me(e){let t=jt(e);t!==void 0&&Mt(t),Array.from(e.childNodes||[]).forEach(me)}function K(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,i=e.tag,l=Ne(ve[i])?document.createElementNS(Pt,i):document.createElement(i),u={disposers:[],computeds:[]};return de(l,u),ue(u,()=>{r.forEach(a=>{let p=a[1],v=a[0];switch(p.TAG){case"Static":return pe(l,v,p._0);case"SignalValue":let C=p._0;pe(l,v,o.peek(C));let M=T.runWithDisposer(()=>{pe(l,v,o.get(C))},void 0);return oe(u,M);case"Compute":let h=p._0,_=T.runWithDisposer(()=>{pe(l,v,h())},void 0);return oe(u,_)}}),n.forEach(a=>{l.addEventListener(a[0],a[1])}),t.forEach(a=>{let p=K(a);l.appendChild(p)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let d=e._0,s=document.createTextNode(o.peek(d)),S={disposers:[],computeds:[]};return de(s,S),ue(S,()=>{let a=T.runWithDisposer(()=>{s.textContent=o.get(d)},void 0);oe(S,a)}),s;case"Fragment":let x=document.createDocumentFragment();return e._0.forEach(a=>{let p=K(a);x.appendChild(p)}),x;case"SignalFragment":let L=e._0,W={disposers:[],computeds:[]},O=document.createElement("div");return O.setAttribute("style","display: contents"),de(O,W),ue(W,()=>{let a=T.runWithDisposer(()=>{let p=o.get(L);Array.from(O.childNodes||[]).forEach(me),O.innerHTML="",p.forEach(C=>{let M=K(C);O.appendChild(M)})},void 0);oe(W,a)}),O;case"LazyComponent":let $={disposers:[],computeds:[]},H=ue($,e._0),z=K(H);return de(z,$),z;case"KeyedList":let B=e.renderItem,P=e.keyFn,X=e.signal,se={disposers:[],computeds:[]},k=document.createComment(" keyed-list-start "),y=document.createComment(" keyed-list-end ");de(k,se);let f={},b=()=>{let a=y.parentNode;if(a==null)return;let p=o.get(X),v={};p.forEach(m=>{v[P(m)]=m});let C=[];Object.keys(f).forEach(m=>{if(v[m]===void 0){C.push(m);return}}),C.forEach(m=>{let w=f[m];if(w!==void 0){me(w.element),w.element.remove(),Ge(f,m);return}});let M=[],h={};p.forEach(m=>{let w=P(m),fe=f[w];if(fe!==void 0){if(fe.item!==m){h[w]=!0;let Me=B(m),ql=K(Me),rn={key:w,item:m,element:ql};M.push(rn),f[w]=rn;return}M.push(fe);return}let Pe=B(m),Qe=K(Pe),Re={key:w,item:m,element:Qe};M.push(Re),f[w]=Re});let _={contents:k.nextSibling};M.forEach(m=>{let w=_.contents;if(w==null){a.insertBefore(m.element,y);return}if(w===y){a.insertBefore(m.element,y);return}if(w===m.element){_.contents=w.nextSibling;return}V(h[m.key],!1)?(me(w),a.replaceChild(m.element,w),_.contents=m.element.nextSibling):(a.insertBefore(m.element,w),_.contents=m.element.nextSibling)})},E=document.createDocumentFragment();return E.appendChild(k),o.peek(X).forEach(a=>{let p=P(a),v=B(a),C=K(v),M={key:p,item:a,element:C};f[p]=M,E.appendChild(C)}),E.appendChild(y),ue(se,()=>{let a=T.runWithDisposer(()=>{b()},void 0);oe(se,a)}),E}}let Q={disposeElement:me,render:K};function Vn(e){return{TAG:"Text",_0:e}}function Kn(e){return{TAG:"SignalText",_0:j.make(e,void 0)}}function Yn(e){return{TAG:"SignalText",_0:j.make(e,void 0)}}function qn(e){return{TAG:"SignalText",_0:j.make(()=>e().toString(),void 0)}}function Un(e){return{TAG:"SignalText",_0:j.make(()=>e().toString(),void 0)}}function Jn(e){return{TAG:"Text",_0:e.toString()}}function Qn(e){return{TAG:"Text",_0:e.toString()}}function Zn(e){return{TAG:"Fragment",_0:e}}function ze(e){return{TAG:"SignalFragment",_0:e}}function er(e,t){return{TAG:"SignalFragment",_0:j.make(()=>o.get(e).map(t),void 0)}}function tr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function G(e,t,n,r,i){let l=t!==void 0?t:[].map(s=>s),u=n!==void 0?n:[].map(s=>s),d=r!==void 0?r:[].map(s=>s);return{TAG:"Element",tag:e,attrs:l,events:u,children:d}}function nr(e,t,n,r){return G("div",e,t,n)}function rr(e,t,n,r){return G("span",e,t,n)}function lr(e,t,n,r){return G("button",e,t,n)}function ir(e,t,n){return G("input",e,t,void 0)}function ur(e,t,n,r){return G("h1",e,t,n)}function or(e,t,n,r){return G("h2",e,t,n)}function dr(e,t,n,r){return G("h3",e,t,n)}function ar(e,t,n,r){return G("p",e,t,n)}function cr(e,t,n,r){return G("ul",e,t,n)}function sr(e,t,n,r){return G("li",e,t,n)}function Be(e,t,n,r){return G("a",e,t,n)}function fr(){return{TAG:"Text",_0:""}}function Lt(e,t){let n=K(e);t.appendChild(n)}function pr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Lt(e,n)}let hr=ve,ge=Ft,He=It,Wt=Nt;const mr=Object.freeze(Object.defineProperty({__proto__:null,$$null:fr,Attributes:Xn,DOM:he,Reactivity:c,Render:Q,a:Be,attr:ge,button:lr,computedAttr:Wt,div:nr,element:G,float:Qn,fragment:Zn,h1:ur,h2:or,h3:dr,input:ir,int:Jn,isSvgTag:Bn,keyedList:tr,li:sr,list:er,mount:Lt,mountById:pr,p:ar,reactiveFloat:Un,reactiveInt:qn,reactiveString:Yn,signalAttr:He,signalFragment:ze,span:rr,svgNamespace:Pt,svgTagSet:hr,svgTags:Rt,text:Vn,textSignal:Kn,ul:cr},Symbol.toStringTag,{value:"Module"}));function gr(){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 Sr(){return I().location}function _r(){return I().basePath}function le(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 Xe(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function Gt(e){let t=I().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function Se(e){let t=I().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function zt(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ce(e,t){window.scrollTo(e,t)}function Bt(e,t){return{scrollX:e,scrollY:t}}function Ve(){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=zt(),t=Bt(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function Ke(){let e=window.location.pathname;return{pathname:Gt(e),search:window.location.search,hash:window.location.hash}}function yr(e,t){let n=e!==void 0?e:"/",r=I(),i=Xe(n);if(r.basePath.contents=i,o.set(r.location,Ke()),r.initialized)return;let l=u=>{o.set(I().location,Ke());let d=window["history.state"];if(d==null)return;let s=Ht(d);if(s!==void 0)return Ce(s[0],s[1])};r.popStateHandler=l,window.addEventListener("popstate",l),r.initialized=!0}function br(e,t,n,r,i){let l=e!==void 0?e:"/",u=t!==void 0?t:"/",d=n!==void 0?n:"",s=r!==void 0?r:"",S=I(),x=Xe(l);S.basePath.contents=x,o.set(S.location,{pathname:u,search:d,hash:s}),S.initialized=!0}function Ye(e,t,n,r){let i=t!==void 0?t:"",l=n!==void 0?n:"";le("Router.push()"),Xt();let u={pathname:e,search:i,hash:l},s=Se(e)+i+l;window.history.pushState(Ve(),"",s),o.set(I().location,u),Ce(0,0)}function Er(e,t,n,r){let i=t!==void 0?t:"",l=n!==void 0?n:"";le("Router.replace()");let u={pathname:e,search:i,hash:l},s=Se(e)+i+l;window.history.replaceState(Ve(),"",s),o.set(I().location,u),Ce(0,0)}function wr(e,t){return le("Router.route()"),ze(j.make(()=>{let n=o.get(I().location),r=We(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function kr(e){return le("Router.routes()"),ze(j.make(()=>{let t=o.get(I().location),n=Gn(e,r=>{let i=We(r.pattern,t.pathname);if(typeof i=="object")return r.render(i._0)});return n!==void 0?[n]:[]},void 0))}function Tr(e,t,n,r){let i=t!==void 0?t:[],l=n!==void 0?n:[];le("Router.link()");let u=d=>{d.preventDefault(),Ye(e,void 0,void 0)};return Be(i.concat([ge("href",Se(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"?He(e,t._0):ge(e,t._0):typeof t=="function"?Wt(e,t):typeof t=="object"?He(e,t):ge(e,t)}function Kt(e){let t=[],n=e.class;n!==void 0&&t.push(ae("class",g(n)));let r=e.id;r!==void 0&&t.push(ae("id",g(r)));let i=e.style;i!==void 0&&t.push(ae("style",g(i)));let l=e.target;l!==void 0&&t.push(ae("target",g(l)));let u=e["aria-label"];return u!==void 0&&t.push(ae("aria-label",g(u))),t}function Yt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function De(e){le("Router.Link");let t=n=>{n.preventDefault(),Ye(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return Be(Kt(e).concat([ge("href",Se(e.to))]),[["click",t]],Yt(e))}function qt(e,t,n){return De(e)}const vr=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Link:{ReactiveProp:void 0,isReactiveProp:Vt,convertAttrValue:ae,propsToAttrs:Kt,getChildren:Yt,make:De,jsx:De,jsxs:De,jsxKeyed:qt,jsxsKeyed:qt},Route:void 0,addBasePath:Se,basePath:_r,emptyHistoryState:Ve,getCurrentLocation:Ke,getGlobalState:I,getScrollFromState:Ht,getScrollPosition:zt,getSymbolKey:gr,init:yr,initSSR:br,link:Tr,location:Sr,makeHistoryState:Bt,normalizeBasePath:Xe,push:Ye,replace:Er,route:wr,routes:kr,saveScrollPosition:Xt,scrollTo:Ce,stripBasePath:Gt,warnIfNotInitialized:le},Symbol.toStringTag,{value:"Module"}));function $r(e){if(typeof e=="boolean")return e}function Cr(e){if(e===null)return null}function Dr(e){if(typeof e=="string")return e}function Ar(e){if(typeof e=="number")return e}function xr(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function Or(e){if(Array.isArray(e))return e}let ie={bool:$r,$$null:Cr,string:Dr,float:Ar,object:xr,array:Or},_e=typeof document>"u",Ae=!_e;function Pr(e){if(_e)return ne(e())}function Rr(e){if(Ae)return ne(e())}function Ut(e,t){return _e?e():t()}const Mr=Object.freeze(Object.defineProperty({__proto__:null,isClient:Ae,isServer:_e,match:Ut,onClient:Rr,onServer:Pr},Symbol.toStringTag,{value:"Module"}));function jr(e){return e}function Fr(e){let t=ie.float(e);if(t!==void 0)return t|0}let Ir={encode:jr,decode:Fr};function Nr(e){return e}function Lr(e){return ie.float(e)}let Wr={encode:Nr,decode:Lr};function Gr(e){return e}function zr(e){return ie.string(e)}let Br={encode:Gr,decode:zr};function Hr(e){return e}function Xr(e){return ie.bool(e)}let Vr={encode:Hr,decode:Xr};function Kr(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=ie.array(t);if(n===void 0)return;let r=At(n,e.decode);if(r.length===n.length)return r}}}function Yr(e){return{encode:t=>t!==void 0?e.encode(g(t)):null,decode:t=>Ne(ie.$$null(t))?ne(void 0):fn(e.decode(t),n=>ne(n))}}function qr(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[g(u),g(d)]}}}function Ur(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],s=e.decode(l),S=t.decode(u),x=n.decode(d);if(s!==void 0&&S!==void 0&&x!==void 0)return[g(s),g(S),g(x)]}}}function Jr(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=ie.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]]=g(u):i.contents=!1}),i.contents)return r}}}function Qr(e,t){return{encode:e,decode:t}}let Zr={int:Ir,float:Wr,string:Br,bool:Vr,array:Kr,option:Yr,tuple2:qr,tuple3:Ur,dict:Jr,make:Qr},ye={};function Jt(e,t,n){if(_e){ye[e]=n.encode(o.peek(t));return}}function el(){Object.keys(ye).forEach(e=>{Ge(ye,e)})}function Qt(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function tl(e){let t=V(JSON.stringify(ye),"{}"),n=Qt(t);return"<script"+(e!==void 0?' nonce="'+ht.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Zt(){return Ae?window.__XOTE_STATE__||{}:{}}function en(e,t,n){if(!Ae)return;let i=Zt()[e];if(i===void 0)return;let l=n.decode(i);if(l!==void 0)return o.set(t,g(l))}function tn(e,t,n){Ut(()=>Jt(e,t,n),()=>en(e,t,n))}function nl(e,t,n){let r=o.make(t,void 0,void 0);return tn(e,r,n),r}const rl=Object.freeze(Object.defineProperty({__proto__:null,Codec:Zr,clear:el,escapeForScript:Qt,generateScript:tl,getClientState:Zt,make:nl,register:Jt,registry:ye,restore:en,sync:tn},Symbol.toStringTag,{value:"Module"}));let qe={};function ll(e){let t=qe[e];if(t!==void 0){let n=t+1|0;return qe[e]=n,e+("/"+n)}return qe[e]=1,e}function il(e){return Array.from(e.childNodes||[])}function be(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function xe(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function Ue(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:Ie(e.firstChild),parent:e}}function ul(e){return e.current}function N(e){let t=e.current;return t!==void 0&&(e.current=Ie(g(t).nextSibling)),t}function Z(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let i=g(r);if(be(i,t))return N(e),ne(i);N(e)}})()}function Oe(e,t){let n=[];return(()=>{for(;;){let i=e.current;if(i===void 0)return;let l=g(i);if(be(l,t)){N(e);return}n.push(l),N(e)}})(),n}let ol={elementNode:1,textNode:3,commentNode:8,getChildNodes:il,isMarker:be,isMarkerPrefix:xe,extractKey:Ue,make:ce,peek:ul,next:N,skipUntilMarker:Z,collectUntilMarker:Oe},dl=ll("Xote__Hydration.HydrationMismatch");function Je(e){console.warn("[Xote Hydration] "+e)}function al(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,l=n.attrs,u=c.createOwner();return c.setOwner(t,u),c.runWithOwner(u,()=>{l.forEach(y=>{let f=y[1],b=y[0];switch(f.TAG){case"Static":return;case"SignalValue":let E=f._0,R=T.runWithDisposer(()=>{he.setAttrOrProp(t,b,o.get(E))},void 0);return c.addDisposer(u,R);case"Compute":let a=f._0,p=T.runWithDisposer(()=>{he.setAttrOrProp(t,b,a())},void 0);return c.addDisposer(u,p)}}),i.forEach(y=>{t.addEventListener(y[0],y[1])});let k=ce(t);r.forEach(y=>ee(y,k))});case"Text":return;case"SignalText":let d=n._0,s=c.createOwner();return c.setOwner(t,s),c.runWithOwner(s,()=>{let k=T.runWithDisposer(()=>{t.textContent=o.get(d)},void 0);c.addDisposer(s,k)});case"Fragment":let S=ce(t);n._0.forEach(k=>ee(k,S));return;case"SignalFragment":let x=n._0,L=c.createOwner();return c.setOwner(t,L),c.runWithOwner(L,()=>{let k=T.runWithDisposer(()=>{let y=o.get(x);Array.from(t.childNodes||[]).forEach(b=>c.disposeOwner(V(c.getOwner(b),c.createOwner()))),t.innerHTML="",y.forEach(b=>{let E=Q.render(b);t.appendChild(E)})},void 0);c.addDisposer(L,k)});case"LazyComponent":let W=c.createOwner(),O=c.runWithOwner(W,n._0);c.setOwner(t,W),e=O;continue;case"KeyedList":let $=n.renderItem,H=n.keyFn,z=n.signal,B=c.createOwner();c.setOwner(t,B);let P={},X=ce(t);return Z(X,"kl"),(()=>{for(;;){let k=X.current;if(k===void 0)return;let y=g(k);if(!xe(y,"k:"))if(be(y,"/kl")){N(X);return}else return;let f=V(Ue(y),"");N(X);let E=Oe(X,"/k").find(R=>R.nodeType===1);if(E!==void 0){let R=o.peek(z),a=V(R.find(p=>H(p)===f),{});P[f]={key:f,item:a,element:g(E)}}}})(),c.runWithOwner(B,()=>{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 R=o.get(z),a={};R.forEach(h=>{a[H(h)]=h});let p=[];Object.keys(P).forEach(h=>{if(a[h]===void 0){p.push(h);return}}),p.forEach(h=>{let _=P[h];if(_!==void 0){Q.disposeElement(_.element),_.element.remove(),Ge(P,h);return}});let v=[],C={};R.forEach(h=>{let _=H(h),m=P[_];if(m!==void 0){if(m.item!==h){C[_]=!0;let Qe=$(h),Re=Q.render(Qe),Me={key:_,item:h,element:Re};v.push(Me),P[_]=Me;return}v.push(m);return}let w=$(h),fe=Q.render(w),Pe={key:_,item:h,element:fe};v.push(Pe),P[_]=Pe});let M={contents:k.nextSibling};v.forEach(h=>{let _=M.contents;if(_==null){t.insertBefore(h.element,y);return}if(_===y){t.insertBefore(h.element,y);return}if(_===h.element){M.contents=_.nextSibling;return}V(C[h.key],!1)?(Q.disposeElement(_),t.replaceChild(h.element,_),M.contents=h.element.nextSibling):(t.insertBefore(h.element,_),M.contents=h.element.nextSibling)})},E=T.runWithDisposer(()=>{b()},void 0);c.addDisposer(B,E)})}}}function ee(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 Je("Missing DOM element for Element node");let u=g(l),d=c.createOwner();return c.setOwner(u,d),c.runWithOwner(d,()=>{i.forEach(b=>{let E=b[1],R=b[0];switch(E.TAG){case"Static":return;case"SignalValue":let a=E._0,p=T.runWithDisposer(()=>{he.setAttrOrProp(u,R,o.get(a))},void 0);return c.addDisposer(d,p);case"Compute":let v=E._0,C=T.runWithDisposer(()=>{he.setAttrOrProp(u,R,v())},void 0);return c.addDisposer(d,C)}}),r.forEach(b=>{u.addEventListener(b[0],b[1])});let f=ce(u);n.forEach(b=>ee(b,f))});case"Text":N(t);return;case"SignalText":let s=e._0;Z(t,"$");let S=N(t);if(S===void 0)return Je("Missing text node for SignalText");let x=g(S),L=c.createOwner();c.setOwner(x,L),c.runWithOwner(L,()=>{let f=T.runWithDisposer(()=>{x.textContent=o.get(s)},void 0);c.addDisposer(L,f)}),Z(t,"/$");return;case"Fragment":e._0.forEach(f=>ee(f,t));return;case"SignalFragment":let W=e._0;Z(t,"#");let O=Oe(t,"/#"),$=document.createElement("div");$.setAttribute("style","display: contents");let H=O[0],z=H!==void 0?H.parentNode:void 0;O.forEach(f=>{$.appendChild(f)});let B=t.current;if(z!==void 0){let f=g(z);B!==void 0?f.insertBefore($,g(B)):f.appendChild($)}let P=c.createOwner();return c.setOwner($,P),c.runWithOwner(P,()=>{let f=T.runWithDisposer(()=>{let b=o.get(W);Array.from($.childNodes||[]).forEach(Q.disposeElement),$.innerHTML="",b.forEach(R=>{let a=Q.render(R);$.appendChild(a)})},void 0);c.addDisposer(P,f)});case"LazyComponent":Z(t,"lc");let X=e._0();ee(X,t),Z(t,"/lc");return;case"KeyedList":let se=e.keyFn,k=e.signal;return Z(t,"kl"),(()=>{for(;;){let f=t.current;if(f===void 0)return;let b=g(f);if(!xe(b,"k:"))if(be(b,"/kl")){N(t);return}else return;let E=V(Ue(b),"");N(t);let a=Oe(t,"/k").find(p=>p.nodeType===1);if(a!==void 0){let p=o.peek(k),v=V(p.find(C=>se(C)===E),{});g(a)}}})()}}function nn(e,t,n){let r=n!==void 0?n:{},i=e(),l=ce(t),u=l.current;u!==void 0&&xe(g(u),"xote-root:")&&N(l),ee(i,l),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function cl(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 nn(e,i,r)}const sl=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,DOM:void 0,DOMWalker:ol,HydrationMismatch:dl,Reactivity:void 0,hydrate:nn,hydrateById:cl,hydrateNode:al,hydrateNodeWithWalker:ee,logHydrationWarning:Je},Symbol.toStringTag,{value:"Module"}));function fl(e){return e.TAG==="Reactive"?o.get(e._0):e._0}function pl(e){return{TAG:"Static",_0:e}}function hl(e){return{TAG:"Reactive",_0:e}}const ml=Object.freeze(Object.defineProperty({__proto__:null,$$static:pl,get:fl,reactive:hl},Symbol.toStringTag,{value:"Module"}));let gl=o.Id,Sl=o.Scheduler,_l=o.Core,yl=o.make,bl=o.makeForComputed,El=o.get,wl=o.peek,kl=o.set,Tl=o.update,vl=o.batch,$l=o.untrack,Cl={Id:gl,Scheduler:Sl,Core:_l,make:yl,makeForComputed:bl,get:El,peek:wl,set:kl,update:Tl,batch:vl,untrack:$l},Dl=j.Id,Al=j.Signal,xl=j.Core,Ol=j.Scheduler,Pl=j.make,Rl=j.dispose,Ml={Id:Dl,Signal:Al,Core:xl,Scheduler:Ol,make:Pl,dispose:Rl},jl=T.Id,Fl=T.Core,Il=T.Scheduler,Nl=T.runWithDisposer,Ll=T.run,Wl={Id:jl,Core:Fl,Scheduler:Il,runWithDisposer:Nl,run:Ll},Gl=mr,zl=zn,Bl=vr,Hl=ml,Xl=Wn,Vl=Mr,Kl=rl,Yl=sl;D.Component=Gl,D.Computed=Ml,D.Effect=Wl,D.Hydration=Yl,D.ReactiveProp=Hl,D.Route=zl,D.Router=Bl,D.SSR=Xl,D.SSRContext=Vl,D.SSRState=Kl,D.Signal=Cl,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
17
+ </html>`}const ei=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Jr,Html:tn,Markers:Yr,generateHydrationScript:gn,renderDocument:Zr,renderNodeToString:ie,renderToString:pn,renderToStringWithRoot:Qr},Symbol.toStringTag,{value:"Module"}));let Ae=typeof document>"u",Fe=!Ae;function ti(e){if(Ae)return ae(e())}function ni(e){if(Fe)return ae(e())}function yn(e,t){return Ae?e():t()}const ri=Object.freeze(Object.defineProperty({__proto__:null,isClient:Fe,isServer:Ae,match:yn,onClient:ni,onServer:ti},Symbol.toStringTag,{value:"Module"}));function ii(e){if(typeof e=="boolean")return e}function li(e){if(e===null)return null}function ui(e){if(typeof e=="string")return e}function oi(e){if(typeof e=="number")return e}function di(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function ai(e){if(Array.isArray(e))return e}let he={bool:ii,$$null:li,string:ui,float:oi,object:di,array:ai};function ci(e){return e}function si(e){let t=he.float(e);if(t!==void 0)return t|0}let fi={encode:ci,decode:si};function hi(e){return e}function mi(e){return he.float(e)}let pi={encode:hi,decode:mi};function gi(e){return e}function yi(e){return he.string(e)}let Si={encode:gi,decode:yi};function _i(e){return e}function bi(e){return he.bool(e)}let Ei={encode:_i,decode:bi};function wi(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=he.array(t);if(n===void 0)return;let r=Kt(n,e.decode);if(r.length===n.length)return r}}}function Ti(e){return{encode:t=>t!==void 0?e.encode(h(t)):null,decode:t=>Xe(he.$$null(t))?ae(void 0):Vn(e.decode(t),n=>ae(n))}}function vi(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 $i(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],c=e.decode(i),y=t.decode(u),C=n.decode(o);if(c!==void 0&&y!==void 0&&C!==void 0)return[h(c),h(y),h(C)]}}}function Ai(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=he.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 xi(e,t){return{encode:e,decode:t}}let ki={int:fi,float:pi,string:Si,bool:Ei,array:wi,option:Ti,tuple2:vi,tuple3:$i,dict:Ai,make:xi},xe={};function Sn(e,t,n){if(Ae){xe[e]=n.encode(H(t));return}}function Oi(){Object.keys(xe).forEach(e=>{Ue(xe,e)})}function _n(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function Di(e){let t=Y(JSON.stringify(xe),"{}"),n=_n(t);return"<script"+(e!==void 0?' nonce="'+tn.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function bn(){return Fe?window.__XOTE_STATE__||{}:{}}function En(e,t,n){if(!Fe)return;let l=bn()[e];if(l===void 0)return;let i=n.decode(l);if(i!==void 0)return ce(t,h(i))}function wn(e,t,n){yn(()=>Sn(e,t,n),()=>En(e,t,n))}function Ci(e,t,n){let r=qe(t,void 0,void 0);return wn(e,r,n),r}const ji=Object.freeze(Object.defineProperty({__proto__:null,Codec:ki,clear:Oi,escapeForScript:_n,generateScript:Di,getClientState:bn,make:Ci,register:Sn,registry:xe,restore:En,sync:wn},Symbol.toStringTag,{value:"Module"}));let ot={};function Pi(e){let t=ot[e];if(t!==void 0){let n=t+1|0;return ot[e]=n,e+("/"+n)}return ot[e]=1,e}function Mi(e){return Array.from(e.childNodes||[])}function ke(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Ne(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function dt(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:He(e.firstChild),parent:e}}function Ri(e){return e.current}function z(e){let t=e.current;return t!==void 0&&(e.current=He(h(t).nextSibling)),t}function le(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let l=h(r);if(ke(l,t))return z(e),ae(l);z(e)}})()}function ze(e,t){let n=[];return(()=>{for(;;){let l=e.current;if(l===void 0)return;let i=h(l);if(ke(i,t)){z(e);return}n.push(i),z(e)}})(),n}let Gi={elementNode:1,textNode:3,commentNode:8,getChildNodes:Mi,isMarker:ke,isMarkerPrefix:Ne,extractKey:dt,make:_e,peek:Ri,next:z,skipUntilMarker:le,collectUntilMarker:ze},Li=Pi("Hydration-Xote.HydrationMismatch");function at(e){console.warn("[Xote Hydration] "+e)}function Fi(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,l=n.events,i=n.attrs,u=a.createOwner();return a.setOwner(t,u),a.runWithOwner(u,()=>{i.forEach(_=>{let s=_[1],b=_[0];switch(s.TAG){case"Static":return;case"SignalValue":let w=s._0,G=j(()=>{Te.setAttrOrProp(t,b,x(w))},void 0);return a.addDisposer(u,G);case"Compute":let d=s._0,m=j(()=>{Te.setAttrOrProp(t,b,d())},void 0);return a.addDisposer(u,m)}}),l.forEach(_=>{t.addEventListener(_[0],_[1])});let v=_e(t);r.forEach(_=>ue(_,v))});case"Text":return;case"SignalText":let o=n._0,c=a.createOwner();return a.setOwner(t,c),a.runWithOwner(c,()=>{let v=j(()=>{t.textContent=x(o)},void 0);a.addDisposer(c,v)});case"Fragment":let y=_e(t);n._0.forEach(v=>ue(v,y));return;case"SignalFragment":let C=n._0,B=a.createOwner();return a.setOwner(t,B),a.runWithOwner(B,()=>{let v=j(()=>{let _=x(C);Array.from(t.childNodes||[]).forEach(b=>a.disposeOwner(Y(a.getOwner(b),a.createOwner()))),t.innerHTML="",_.forEach(b=>{let w=ne.render(b);t.appendChild(w)})},void 0);a.addDisposer(B,v)});case"LazyComponent":let I=a.createOwner(),M=a.runWithOwner(I,n._0);a.setOwner(t,I),e=M;continue;case"KeyedList":let k=n.renderItem,q=n.keyFn,W=n.signal,V=a.createOwner();a.setOwner(t,V);let R={},U=_e(t);return le(U,"kl"),(()=>{for(;;){let v=U.current;if(v===void 0)return;let _=h(v);if(!Ne(_,"k:"))if(ke(_,"/kl")){z(U);return}else return;let s=Y(dt(_),"");z(U);let w=ze(U,"/k").find(G=>G.nodeType===1);if(w!==void 0){let G=H(W),d=Y(G.find(m=>q(m)===s),{});R[s]={key:s,item:d,element:h(w)}}}})(),a.runWithOwner(V,()=>{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 G=x(W),d={};G.forEach(p=>{d[q(p)]=p});let m=[];Object.keys(R).forEach(p=>{if(d[p]===void 0){m.push(p);return}}),m.forEach(p=>{let S=R[p];if(S!==void 0){ne.disposeElement(S.element),S.element.remove(),Ue(R,p);return}});let $=[],O={};G.forEach(p=>{let S=q(p),g=R[S];if(g!==void 0){if(g.item!==p){O[S]=!0;let ct=k(p),Ie=ne.render(ct),Ke={key:S,item:p,element:Ie};$.push(Ke),R[S]=Ke;return}$.push(g);return}let T=k(p),Ee=ne.render(T),Be={key:S,item:p,element:Ee};$.push(Be),R[S]=Be});let L={contents:v.nextSibling};$.forEach(p=>{let S=L.contents;if(S==null){t.insertBefore(p.element,_);return}if(S===_){t.insertBefore(p.element,_);return}if(S===p.element){L.contents=S.nextSibling;return}Y(O[p.key],!1)?(ne.disposeElement(S),t.replaceChild(p.element,S),L.contents=p.element.nextSibling):(t.insertBefore(p.element,S),L.contents=p.element.nextSibling)})},w=j(()=>{b()},void 0);a.addDisposer(V,w)})}}}function ue(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,l=e.attrs,i=z(t);if(i===void 0)return at("Missing DOM element for Element node");let u=h(i),o=a.createOwner();return a.setOwner(u,o),a.runWithOwner(o,()=>{l.forEach(b=>{let w=b[1],G=b[0];switch(w.TAG){case"Static":return;case"SignalValue":let d=w._0,m=j(()=>{Te.setAttrOrProp(u,G,x(d))},void 0);return a.addDisposer(o,m);case"Compute":let $=w._0,O=j(()=>{Te.setAttrOrProp(u,G,$())},void 0);return a.addDisposer(o,O)}}),r.forEach(b=>{u.addEventListener(b[0],b[1])});let s=_e(u);n.forEach(b=>ue(b,s))});case"Text":z(t);return;case"SignalText":let c=e._0;le(t,"$");let y=z(t);if(y===void 0)return at("Missing text node for SignalText");let C=h(y),B=a.createOwner();a.setOwner(C,B),a.runWithOwner(B,()=>{let s=j(()=>{C.textContent=x(c)},void 0);a.addDisposer(B,s)}),le(t,"/$");return;case"Fragment":e._0.forEach(s=>ue(s,t));return;case"SignalFragment":let I=e._0;le(t,"#");let M=ze(t,"/#"),k=document.createElement("div");k.setAttribute("style","display: contents");let q=M[0],W=q!==void 0?q.parentNode:void 0;M.forEach(s=>{k.appendChild(s)});let V=t.current;if(W!==void 0){let s=h(W);V!==void 0?s.insertBefore(k,h(V)):s.appendChild(k)}let R=a.createOwner();return a.setOwner(k,R),a.runWithOwner(R,()=>{let s=j(()=>{let b=x(I);Array.from(k.childNodes||[]).forEach(ne.disposeElement),k.innerHTML="",b.forEach(G=>{let d=ne.render(G);k.appendChild(d)})},void 0);a.addDisposer(R,s)});case"LazyComponent":le(t,"lc");let U=e._0();ue(U,t),le(t,"/lc");return;case"KeyedList":let be=e.keyFn,v=e.signal;return le(t,"kl"),(()=>{for(;;){let s=t.current;if(s===void 0)return;let b=h(s);if(!Ne(b,"k:"))if(ke(b,"/kl")){z(t);return}else return;let w=Y(dt(b),"");z(t);let d=ze(t,"/k").find(m=>m.nodeType===1);if(d!==void 0){let m=H(v),$=Y(m.find(O=>be(O)===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&&Ne(h(u),"xote-root:")&&z(i),ue(l,i),window.__XOTE_HYDRATED__=!0;let o=r.onHydrated;if(o!==void 0)return o()}function Ni(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)}const zi=Object.freeze(Object.defineProperty({__proto__:null,DOM:void 0,DOMWalker:Gi,HydrationMismatch:Li,Reactivity:void 0,hydrate:Tn,hydrateById:Ni,hydrateNode:Fi,hydrateNodeWithWalker:ue,logHydrationWarning:at},Symbol.toStringTag,{value:"Module"}));A.Computed=rr,A.Effect=Wn,A.Html=kr,A.Hydration=zi,A.Node=yr,A.ReactiveProp=Gr,A.Route=Fr,A.Router=qr,A.SSR=ei,A.SSRContext=ri,A.SSRState=ji,A.Signal=er,A.XoteJSX=jr,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xote",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "repository": {
5
5
  "url": "https://github.com/brnrdog/xote"
6
6
  },
@@ -69,10 +69,10 @@
69
69
  "glob": "^11.1.0",
70
70
  "rescript": "^12.0.0",
71
71
  "semantic-release": "^25.0.1",
72
- "vite": "^7.1.12",
72
+ "vite": "^7.3.2",
73
73
  "zekr": "^1.7.0"
74
74
  },
75
75
  "dependencies": {
76
- "rescript-signals": "^2.0.0"
76
+ "rescript-signals": "^2.1.0"
77
77
  }
78
78
  }
package/rescript.json CHANGED
@@ -1,10 +1,25 @@
1
1
  {
2
2
  "name": "xote",
3
+ "namespace": true,
3
4
  "sources": [
4
5
  {
5
6
  "dir": "src",
6
7
  "subdirs": true,
7
- "public": ["Xote"]
8
+ "public": [
9
+ "Node",
10
+ "Html",
11
+ "XoteJSX",
12
+ "ReactiveProp",
13
+ "Route",
14
+ "Router",
15
+ "SSR",
16
+ "SSRContext",
17
+ "SSRState",
18
+ "Hydration",
19
+ "Signal",
20
+ "Computed",
21
+ "Effect"
22
+ ]
8
23
  },
9
24
  {
10
25
  "dir": "examples",
@@ -30,6 +45,6 @@
30
45
  ],
31
46
  "jsx": {
32
47
  "version": 4,
33
- "module": "Xote__JSX"
48
+ "module": "XoteJSX"
34
49
  }
35
- }
50
+ }
@@ -0,0 +1 @@
1
+ include Signals.Computed
@@ -0,0 +1,13 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Computed$Signals from "rescript-signals/src/signals/Computed.res.mjs";
4
+
5
+ let make = Computed$Signals.make;
6
+
7
+ let dispose = Computed$Signals.dispose;
8
+
9
+ export {
10
+ make,
11
+ dispose,
12
+ }
13
+ /* No side effect */
package/src/Effect.res ADDED
@@ -0,0 +1 @@
1
+ include Signals.Effect
@@ -0,0 +1,13 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Effect$Signals from "rescript-signals/src/signals/Effect.res.mjs";
4
+
5
+ let runWithDisposer = Effect$Signals.runWithDisposer;
6
+
7
+ let run = Effect$Signals.run;
8
+
9
+ export {
10
+ runWithDisposer,
11
+ run,
12
+ }
13
+ /* No side effect */
package/src/Html.res ADDED
@@ -0,0 +1,28 @@
1
+ /* Common HTML element constructors.
2
+
3
+ These are thin wrappers over `Node.element` for the most frequently
4
+ used tags. For tags not listed here, use `Node.element(tag, ...)`
5
+ directly, or prefer JSX syntax which supports the full set via the
6
+ `XoteJSX.Elements` module. */
7
+
8
+ let div = (~attrs=?, ~events=?, ~children=?, ()) =>
9
+ Node.element("div", ~attrs?, ~events?, ~children?, ())
10
+ let span = (~attrs=?, ~events=?, ~children=?, ()) =>
11
+ Node.element("span", ~attrs?, ~events?, ~children?, ())
12
+ let button = (~attrs=?, ~events=?, ~children=?, ()) =>
13
+ Node.element("button", ~attrs?, ~events?, ~children?, ())
14
+ let input = (~attrs=?, ~events=?, ()) => Node.element("input", ~attrs?, ~events?, ())
15
+ let h1 = (~attrs=?, ~events=?, ~children=?, ()) =>
16
+ Node.element("h1", ~attrs?, ~events?, ~children?, ())
17
+ let h2 = (~attrs=?, ~events=?, ~children=?, ()) =>
18
+ Node.element("h2", ~attrs?, ~events?, ~children?, ())
19
+ let h3 = (~attrs=?, ~events=?, ~children=?, ()) =>
20
+ Node.element("h3", ~attrs?, ~events?, ~children?, ())
21
+ let p = (~attrs=?, ~events=?, ~children=?, ()) =>
22
+ Node.element("p", ~attrs?, ~events?, ~children?, ())
23
+ let ul = (~attrs=?, ~events=?, ~children=?, ()) =>
24
+ Node.element("ul", ~attrs?, ~events?, ~children?, ())
25
+ let li = (~attrs=?, ~events=?, ~children=?, ()) =>
26
+ Node.element("li", ~attrs?, ~events?, ~children?, ())
27
+ let a = (~attrs=?, ~events=?, ~children=?, ()) =>
28
+ Node.element("a", ~attrs?, ~events?, ~children?, ())
@@ -0,0 +1,62 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Node$Xote from "./Node.res.mjs";
4
+
5
+ function div(attrs, events, children, param) {
6
+ return Node$Xote.element("div", attrs, events, children, undefined);
7
+ }
8
+
9
+ function span(attrs, events, children, param) {
10
+ return Node$Xote.element("span", attrs, events, children, undefined);
11
+ }
12
+
13
+ function button(attrs, events, children, param) {
14
+ return Node$Xote.element("button", attrs, events, children, undefined);
15
+ }
16
+
17
+ function input(attrs, events, param) {
18
+ return Node$Xote.element("input", attrs, events, undefined, undefined);
19
+ }
20
+
21
+ function h1(attrs, events, children, param) {
22
+ return Node$Xote.element("h1", attrs, events, children, undefined);
23
+ }
24
+
25
+ function h2(attrs, events, children, param) {
26
+ return Node$Xote.element("h2", attrs, events, children, undefined);
27
+ }
28
+
29
+ function h3(attrs, events, children, param) {
30
+ return Node$Xote.element("h3", attrs, events, children, undefined);
31
+ }
32
+
33
+ function p(attrs, events, children, param) {
34
+ return Node$Xote.element("p", attrs, events, children, undefined);
35
+ }
36
+
37
+ function ul(attrs, events, children, param) {
38
+ return Node$Xote.element("ul", attrs, events, children, undefined);
39
+ }
40
+
41
+ function li(attrs, events, children, param) {
42
+ return Node$Xote.element("li", attrs, events, children, undefined);
43
+ }
44
+
45
+ function a(attrs, events, children, param) {
46
+ return Node$Xote.element("a", attrs, events, children, undefined);
47
+ }
48
+
49
+ export {
50
+ div,
51
+ span,
52
+ button,
53
+ input,
54
+ h1,
55
+ h2,
56
+ h3,
57
+ p,
58
+ ul,
59
+ li,
60
+ a,
61
+ }
62
+ /* Node-Xote Not a pure module */