xote 4.16.1 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +19 -11
  2. package/dist/xote.cjs +9 -9
  3. package/dist/xote.mjs +1282 -1199
  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} +52 -50
  14. package/src/{Xote__Hydration.res.mjs → Hydration.res.mjs} +66 -68
  15. package/src/{Xote__Component.res → Node.res} +8 -31
  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 -114
  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(A,te){typeof exports=="object"&&typeof module<"u"?te(exports):typeof define=="function"&&define.amd?define(["exports"],te):(A=typeof globalThis<"u"?globalThis:A||self,te(A.xote={}))})(this,(function(A){"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 rn(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function ln(e,t,n,r,i){return{id:e,kind:t,run:n,firstDep:void 0,lastDep:void 0,flags:1,level:0,name:r,backingSubs:i}}function et(e){e.flags=e.flags&-2}function un(e){return(e.flags&2)!==0}function on(e){e.flags=e.flags|2}function dn(e){e.flags=e.flags&-3}function tt(e){return(e.flags&1)!==0}function an(e){e.flags=e.flags|1}function je(e){e.flags=e.flags&-2}function cn(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 sn(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 x={contents:void 0},F={contents:void 0},Y=[],re=[],q={contents:!1},Te=[],ot=(function(e){e.length=0});function fn(e){if(!un(e)){on(e),Y.push(e);return}}function pn(e,t){if(e.firstDep===void 0){let l={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};return 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 hn(e){let t=x.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 Sn(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 _n(e){let t=e.level;Fe(e),cn(e);let n=x.contents;x.contents=e;try{let r=e.compute;r!==void 0&&r(),je(e),x.contents=n}catch(r){throw x.contents=n,r}if(t===0){e.level=dt(e);return}}function yn(e){let t=e.level;it(e),dn(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(Sn);let e=re.slice();ot(re),e.forEach(_n)}if(Y.length!==0){Y.sort(gn);let e=Y.slice();ot(Y),e.forEach(yn)}}q.contents=!1;return}catch(e){throw q.contents=!1,e}}function bn(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)||(an(i),Te.push(i)):fn(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=x.contents;x.contents=e;try{let r=e.compute;r!==void 0&&r(),je(e),x.contents=n}catch(r){throw x.contents=n,r}if(t===0){e.level=dt(e);return}}function En(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 wn(e){let t=x.contents,n=F.contents;x.contents=void 0,F.contents=void 0;try{let r=e();return x.contents=t,F.contents=n,r}catch(r){throw x.contents=t,F.contents=n,r}}function kn(e,t,n){return{id:Ee(),value:e,equals:V(n,(i,l)=>i===l),name:t,subs:Ze()}}function Tn(e,t){return{id:Ee(),value:e,equals:(r,i)=>!1,name:t,subs:Ze()}}function vn(e){return st(e.subs),hn(e.subs),e.value}function $n(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,bn(e.subs)}function Cn(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:En,get:vn,make:kn,makeForComputed:Tn,peek:$n,set:ft,untrack:wn,update:Cn},Symbol.toStringTag,{value:"Module"}));function xn(e,t){let n=Ee(),r={contents:void 0},l=ln(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)}}}const On=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,run:xn},Symbol.toStringTag,{value:"Module"}));function Dn(e,t){let n=Ee(),r={contents:void 0},l=rn(()=>{r.contents.value=e()}),u=x.contents;x.contents=l;let d=e();x.contents=u;let s={id:n,value:d,equals:(S,O)=>!1,name:t,subs:l};return r.contents=s,je(l),s}function Pn(e){Fe(e.subs)}const Rn=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,Signal:void 0,dispose:Pn,make:Dn},Symbol.toStringTag,{value:"Module"}));let o=An,j=Rn,v=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 Mn(e){return Le.includes(e)}let pt={escape:U,voidElements:Le,isVoidElement:Mn},mt="<!--$-->",ht="<!--/$-->",gt="<!--#-->",St="<!--/#-->",_t="<!--kl-->",yt="<!--/kl-->";function bt(e){return"<!--k:"+e+"-->"}let Et="<!--/k-->",wt="<!--lc-->",kt="<!--/lc-->",jn={signalTextStart:mt,signalTextEnd:ht,signalFragmentStart:gt,signalFragmentEnd:St,keyedListStart:_t,keyedListEnd:yt,keyedItemStart:bt,keyedItemEnd:Et,lazyComponentStart:wt,lazyComponentEnd:kt};function Tt(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 vt(e){let t=e.map(Tt).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Fn={renderAttr:Tt,renderAttrs:vt};function J(e){switch(e.TAG){case"Element":let t=e.tag,n=vt(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)+ht;case"Fragment":return e._0.map(J).join("");case"SignalFragment":let u=o.peek(e._0).map(J).join("");return gt+u+St;case"LazyComponent":let d=e._0();return wt+J(d)+kt;case"KeyedList":let s=e.renderItem,S=e.keyFn,L=o.peek(e.signal).map(G=>{let D=S(G),$=J(s(G));return bt(D)+$+Et}).join("");return _t+L+yt}}function $t(e,t){return J(e())}function In(e,t,n){let r=t!==void 0?t:"root",i=e(),l=J(i);return"<!--xote-root:"+r+"-->"+l+"<!--/xote-root-->"}function Ct(e){return"<script"+(e!==void 0?' nonce="'+U(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Nn(e,t,n,r,i,l,u){let d=e!==void 0?e:"",s=t!==void 0?t:"",S=n!==void 0?n:[],O=r!==void 0?r:[],L=i!==void 0?i:"",G=$t(u),D=Ct(l),$=O.map(B=>'<link rel="stylesheet" href="'+U(B)+'" />').join(`
2
- `),H=S.map(B=>{let W=l!==void 0?' nonce="'+U(l)+'"':"";return'<script type="module" src="'+U(B)+'"'+W+"><\/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">`+G+`</div>
13
- `+L+`
14
- `+D+`
15
- `+H+`
11
+ <body`+(c!==""?" "+c:"")+`>
12
+ <div id="root">`+I+`</div>
13
+ `+B+`
14
+ `+M+`
15
+ `+q+`
16
16
  </body>
17
- </html>`}const Ln=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Fn,Component:void 0,Html:pt,Markers:jn,generateHydrationScript:Ct,renderDocument:Nn,renderNodeToString:J,renderToString:$t,renderToStringWithRoot:In},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 Ge(e,t){return Ot(xt(e),t)}const zn=Object.freeze(Object.defineProperty({__proto__:null,match:Ge,matchPath:Ot,parsePattern:xt},Symbol.toStringTag,{value:"Module"}));function ze(e,t){delete e[t]}let Dt="http://www.w3.org/2000/svg",Pt=["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={};Pt.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 me={setAttrOrProp:pe},$e={contents:void 0};function Wn(){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 Rt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>j.dispose(t))}function de(e,t){e.__xote_owner__=t}function Mt(e){return Ie(e.__xote_owner__)}let c={currentOwner:$e,createOwner:Wn,runWithOwner:ue,addDisposer:oe,disposeOwner:Rt,setOwner:de,getOwner:Mt};function jt(e,t){return[e,{TAG:"Static",_0:t}]}function Ft(e,t){return[e,{TAG:"SignalValue",_0:t}]}function It(e,t){return[e,{TAG:"Compute",_0:t}]}let Hn={$$static:jt,signal:Ft,computed:It};function he(e){let t=Mt(e);t!==void 0&&Rt(t),Array.from(e.childNodes||[]).forEach(he)}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(Dt,i):document.createElement(i),u={disposers:[],computeds:[]};return de(l,u),ue(u,()=>{r.forEach(a=>{let p=a[1],T=a[0];switch(p.TAG){case"Static":return pe(l,T,p._0);case"SignalValue":let C=p._0;pe(l,T,o.peek(C));let M=v.run(()=>{pe(l,T,o.get(C))},void 0);return oe(u,M);case"Compute":let m=p._0,_=v.run(()=>{pe(l,T,m())},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=v.run(()=>{s.textContent=o.get(d)},void 0);oe(S,a)}),s;case"Fragment":let O=document.createDocumentFragment();return e._0.forEach(a=>{let p=K(a);O.appendChild(p)}),O;case"SignalFragment":let L=e._0,G={disposers:[],computeds:[]},D=document.createElement("div");return D.setAttribute("style","display: contents"),de(D,G),ue(G,()=>{let a=v.run(()=>{let p=o.get(L);Array.from(D.childNodes||[]).forEach(he),D.innerHTML="",p.forEach(C=>{let M=K(C);D.appendChild(M)})},void 0);oe(G,a)}),D;case"LazyComponent":let $={disposers:[],computeds:[]},H=ue($,e._0),B=K(H);return de(B,$),B;case"KeyedList":let W=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),T={};p.forEach(h=>{T[P(h)]=h});let C=[];Object.keys(f).forEach(h=>{if(T[h]===void 0){C.push(h);return}}),C.forEach(h=>{let w=f[h];if(w!==void 0){he(w.element),w.element.remove(),ze(f,h);return}});let M=[],m={};p.forEach(h=>{let w=P(h),fe=f[w];if(fe!==void 0){if(fe.item!==h){m[w]=!0;let Me=W(h),Kl=K(Me),nn={key:w,item:h,element:Kl};M.push(nn),f[w]=nn;return}M.push(fe);return}let Pe=W(h),Qe=K(Pe),Re={key:w,item:h,element:Qe};M.push(Re),f[w]=Re});let _={contents:k.nextSibling};M.forEach(h=>{let w=_.contents;if(w==null){a.insertBefore(h.element,y);return}if(w===y){a.insertBefore(h.element,y);return}if(w===h.element){_.contents=w.nextSibling;return}V(m[h.key],!1)?(he(w),a.replaceChild(h.element,w),_.contents=h.element.nextSibling):(a.insertBefore(h.element,w),_.contents=h.element.nextSibling)})},E=document.createDocumentFragment();return E.appendChild(k),o.peek(X).forEach(a=>{let p=P(a),T=W(a),C=K(T),M={key:p,item:a,element:C};f[p]=M,E.appendChild(C)}),E.appendChild(y),ue(se,()=>{let a=v.run(()=>{b()},void 0);oe(se,a)}),E}}let Q={disposeElement:he,render:K};function Xn(e){return{TAG:"Text",_0:e}}function Vn(e){return{TAG:"SignalText",_0:j.make(e,void 0)}}function Kn(e){return{TAG:"SignalText",_0:j.make(e,void 0)}}function Yn(e){return{TAG:"SignalText",_0:j.make(()=>e().toString(),void 0)}}function qn(e){return{TAG:"SignalText",_0:j.make(()=>e().toString(),void 0)}}function Un(e){return{TAG:"Text",_0:e.toString()}}function Jn(e){return{TAG:"Text",_0:e.toString()}}function Qn(e){return{TAG:"Fragment",_0:e}}function Be(e){return{TAG:"SignalFragment",_0:e}}function Zn(e,t){return{TAG:"SignalFragment",_0:j.make(()=>o.get(e).map(t),void 0)}}function er(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function z(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 tr(e,t,n,r){return z("div",e,t,n)}function nr(e,t,n,r){return z("span",e,t,n)}function rr(e,t,n,r){return z("button",e,t,n)}function lr(e,t,n){return z("input",e,t,void 0)}function ir(e,t,n,r){return z("h1",e,t,n)}function ur(e,t,n,r){return z("h2",e,t,n)}function or(e,t,n,r){return z("h3",e,t,n)}function dr(e,t,n,r){return z("p",e,t,n)}function ar(e,t,n,r){return z("ul",e,t,n)}function cr(e,t,n,r){return z("li",e,t,n)}function We(e,t,n,r){return z("a",e,t,n)}function sr(){return{TAG:"Text",_0:""}}function Nt(e,t){let n=K(e);t.appendChild(n)}function fr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Nt(e,n)}let pr=ve,ge=jt,He=Ft,Lt=It;const mr=Object.freeze(Object.defineProperty({__proto__:null,$$null:sr,Attributes:Hn,DOM:me,Reactivity:c,Render:Q,a:We,attr:ge,button:rr,computedAttr:Lt,div:tr,element:z,float:Jn,fragment:Qn,h1:ir,h2:ur,h3:or,input:lr,int:Un,isSvgTag:Bn,keyedList:er,li:cr,list:Zn,mount:Nt,mountById:fr,p:dr,reactiveFloat:qn,reactiveInt:Yn,reactiveString:Kn,signalAttr:He,signalFragment:Be,span:nr,svgNamespace:Dt,svgTagSet:pr,svgTags:Pt,text:Xn,textSignal:Vn,ul:ar},Symbol.toStringTag,{value:"Module"}));function hr(){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 gr(){return I().location}function Sr(){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 Wt(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Ht(){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 _r(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=Wt(d);if(s!==void 0)return Ce(s[0],s[1])};r.popStateHandler=l,window.addEventListener("popstate",l),r.initialized=!0}function yr(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(),O=Xe(l);S.basePath.contents=O,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()"),Ht();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 br(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 Er(e,t){return le("Router.route()"),Be(j.make(()=>{let n=o.get(I().location),r=Ge(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function wr(e){return le("Router.routes()"),Be(j.make(()=>{let t=o.get(I().location),n=Gn(e,r=>{let i=Ge(r.pattern,t.pathname);if(typeof i=="object")return r.render(i._0)});return n!==void 0?[n]:[]},void 0))}function kr(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 We(i.concat([ge("href",Se(e))]),[["click",u]],l)}function Xt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function ae(e,t){return Xt(t)?t.TAG==="Reactive"?He(e,t._0):ge(e,t._0):typeof t=="function"?Lt(e,t):typeof t=="object"?He(e,t):ge(e,t)}function Vt(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 Kt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Ae(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 We(Vt(e).concat([ge("href",Se(e.to))]),[["click",t]],Kt(e))}function Yt(e,t,n){return Ae(e)}const Tr=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Link:{ReactiveProp:void 0,isReactiveProp:Xt,convertAttrValue:ae,propsToAttrs:Vt,getChildren:Kt,make:Ae,jsx:Ae,jsxs:Ae,jsxKeyed:Yt,jsxsKeyed:Yt},Route:void 0,addBasePath:Se,basePath:Sr,emptyHistoryState:Ve,getCurrentLocation:Ke,getGlobalState:I,getScrollFromState:Wt,getScrollPosition:zt,getSymbolKey:hr,init:_r,initSSR:yr,link:kr,location:gr,makeHistoryState:Bt,normalizeBasePath:Xe,push:Ye,replace:br,route:Er,routes:wr,saveScrollPosition:Ht,scrollTo:Ce,stripBasePath:Gt,warnIfNotInitialized:le},Symbol.toStringTag,{value:"Module"}));function vr(e){if(typeof e=="boolean")return e}function $r(e){if(e===null)return null}function Cr(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:vr,$$null:$r,string:Cr,float:Ar,object:xr,array:Or},_e=typeof document>"u",xe=!_e;function Dr(e){if(_e)return ne(e())}function Pr(e){if(xe)return ne(e())}function qt(e,t){return _e?e():t()}const Rr=Object.freeze(Object.defineProperty({__proto__:null,isClient:xe,isServer:_e,match:qt,onClient:Pr,onServer:Dr},Symbol.toStringTag,{value:"Module"}));function Mr(e){return e}function jr(e){let t=ie.float(e);if(t!==void 0)return t|0}let Fr={encode:Mr,decode:jr};function Ir(e){return e}function Nr(e){return ie.float(e)}let Lr={encode:Ir,decode:Nr};function Gr(e){return e}function zr(e){return ie.string(e)}let Br={encode:Gr,decode:zr};function Wr(e){return e}function Hr(e){return ie.bool(e)}let Xr={encode:Wr,decode:Hr};function Vr(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 Kr(e){return{encode:t=>t!==void 0?e.encode(g(t)):null,decode:t=>Ne(ie.$$null(t))?ne(void 0):sn(e.decode(t),n=>ne(n))}}function Yr(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 qr(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),O=n.decode(d);if(s!==void 0&&S!==void 0&&O!==void 0)return[g(s),g(S),g(O)]}}}function Ur(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 Jr(e,t){return{encode:e,decode:t}}let Qr={int:Fr,float:Lr,string:Br,bool:Xr,array:Vr,option:Kr,tuple2:Yr,tuple3:qr,dict:Ur,make:Jr},ye={};function Ut(e,t,n){if(_e){ye[e]=n.encode(o.peek(t));return}}function Zr(){Object.keys(ye).forEach(e=>{ze(ye,e)})}function Jt(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function el(e){let t=V(JSON.stringify(ye),"{}"),n=Jt(t);return"<script"+(e!==void 0?' nonce="'+pt.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Qt(){return xe?window.__XOTE_STATE__||{}:{}}function Zt(e,t,n){if(!xe)return;let i=Qt()[e];if(i===void 0)return;let l=n.decode(i);if(l!==void 0)return o.set(t,g(l))}function en(e,t,n){qt(()=>Ut(e,t,n),()=>Zt(e,t,n))}function tl(e,t,n){let r=o.make(t,void 0,void 0);return en(e,r,n),r}const nl=Object.freeze(Object.defineProperty({__proto__:null,Codec:Qr,clear:Zr,escapeForScript:Jt,generateScript:el,getClientState:Qt,make:tl,register:Ut,registry:ye,restore:Zt,sync:en},Symbol.toStringTag,{value:"Module"}));let qe={};function rl(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 ll(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 Oe(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 il(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 De(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 ul={elementNode:1,textNode:3,commentNode:8,getChildNodes:ll,isMarker:be,isMarkerPrefix:Oe,extractKey:Ue,make:ce,peek:il,next:N,skipUntilMarker:Z,collectUntilMarker:De},ol=rl("Xote__Hydration.HydrationMismatch");function Je(e){console.warn("[Xote Hydration] "+e)}function dl(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=v.run(()=>{me.setAttrOrProp(t,b,o.get(E))},void 0);return c.addDisposer(u,R);case"Compute":let a=f._0,p=v.run(()=>{me.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=v.run(()=>{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 O=n._0,L=c.createOwner();return c.setOwner(t,L),c.runWithOwner(L,()=>{let k=v.run(()=>{let y=o.get(O);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 G=c.createOwner(),D=c.runWithOwner(G,n._0);c.setOwner(t,G),e=D;continue;case"KeyedList":let $=n.renderItem,H=n.keyFn,B=n.signal,W=c.createOwner();c.setOwner(t,W);let P={},X=ce(t);return Z(X,"kl"),(()=>{for(;;){let k=X.current;if(k===void 0)return;let y=g(k);if(!Oe(y,"k:"))if(be(y,"/kl")){N(X);return}else return;let f=V(Ue(y),"");N(X);let E=De(X,"/k").find(R=>R.nodeType===1);if(E!==void 0){let R=o.peek(B),a=V(R.find(p=>H(p)===f),{});P[f]={key:f,item:a,element:g(E)}}}})(),c.runWithOwner(W,()=>{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(B),a={};R.forEach(m=>{a[H(m)]=m});let p=[];Object.keys(P).forEach(m=>{if(a[m]===void 0){p.push(m);return}}),p.forEach(m=>{let _=P[m];if(_!==void 0){Q.disposeElement(_.element),_.element.remove(),ze(P,m);return}});let T=[],C={};R.forEach(m=>{let _=H(m),h=P[_];if(h!==void 0){if(h.item!==m){C[_]=!0;let Qe=$(m),Re=Q.render(Qe),Me={key:_,item:m,element:Re};T.push(Me),P[_]=Me;return}T.push(h);return}let w=$(m),fe=Q.render(w),Pe={key:_,item:m,element:fe};T.push(Pe),P[_]=Pe});let M={contents:k.nextSibling};T.forEach(m=>{let _=M.contents;if(_==null){t.insertBefore(m.element,y);return}if(_===y){t.insertBefore(m.element,y);return}if(_===m.element){M.contents=_.nextSibling;return}V(C[m.key],!1)?(Q.disposeElement(_),t.replaceChild(m.element,_),M.contents=m.element.nextSibling):(t.insertBefore(m.element,_),M.contents=m.element.nextSibling)})},E=v.run(()=>{b()},void 0);c.addDisposer(W,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=v.run(()=>{me.setAttrOrProp(u,R,o.get(a))},void 0);return c.addDisposer(d,p);case"Compute":let T=E._0,C=v.run(()=>{me.setAttrOrProp(u,R,T())},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 O=g(S),L=c.createOwner();c.setOwner(O,L),c.runWithOwner(L,()=>{let f=v.run(()=>{O.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 G=e._0;Z(t,"#");let D=De(t,"/#"),$=document.createElement("div");$.setAttribute("style","display: contents");let H=D[0],B=H!==void 0?H.parentNode:void 0;D.forEach(f=>{$.appendChild(f)});let W=t.current;if(B!==void 0){let f=g(B);W!==void 0?f.insertBefore($,g(W)):f.appendChild($)}let P=c.createOwner();return c.setOwner($,P),c.runWithOwner(P,()=>{let f=v.run(()=>{let b=o.get(G);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(!Oe(b,"k:"))if(be(b,"/kl")){N(t);return}else return;let E=V(Ue(b),"");N(t);let a=De(t,"/k").find(p=>p.nodeType===1);if(a!==void 0){let p=o.peek(k),T=V(p.find(C=>se(C)===E),{});g(a)}}})()}}function tn(e,t,n){let r=n!==void 0?n:{},i=e(),l=ce(t),u=l.current;u!==void 0&&Oe(g(u),"xote-root:")&&N(l),ee(i,l),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function al(e,t,n){let r=n!==void 0?n:{},i=document.getElementById(t);if(i==null){console.error("[Xote Hydration] Container element not found: "+t);return}else return tn(e,i,r)}const cl=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,DOM:void 0,DOMWalker:ul,HydrationMismatch:ol,Reactivity:void 0,hydrate:tn,hydrateById:al,hydrateNode:dl,hydrateNodeWithWalker:ee,logHydrationWarning:Je},Symbol.toStringTag,{value:"Module"}));function sl(e){return e.TAG==="Reactive"?o.get(e._0):e._0}function fl(e){return{TAG:"Static",_0:e}}function pl(e){return{TAG:"Reactive",_0:e}}const ml=Object.freeze(Object.defineProperty({__proto__:null,$$static:fl,get:sl,reactive:pl},Symbol.toStringTag,{value:"Module"}));let hl=o.Id,gl=o.Scheduler,Sl=o.Core,_l=o.make,yl=o.makeForComputed,bl=o.get,El=o.peek,wl=o.set,kl=o.update,Tl=o.batch,vl=o.untrack,$l={Id:hl,Scheduler:gl,Core:Sl,make:_l,makeForComputed:yl,get:bl,peek:El,set:wl,update:kl,batch:Tl,untrack:vl},Cl=j.Id,Al=j.Signal,xl=j.Core,Ol=j.Scheduler,Dl=j.make,Pl=j.dispose,Rl={Id:Cl,Signal:Al,Core:xl,Scheduler:Ol,make:Dl,dispose:Pl},Ml=v.Id,jl=v.Core,Fl=v.Scheduler,Il=v.run,Nl={Id:Ml,Core:jl,Scheduler:Fl,run:Il},Ll=mr,Gl=zn,zl=Tr,Bl=ml,Wl=Ln,Hl=Rr,Xl=nl,Vl=cl;A.Component=Ll,A.Computed=Rl,A.Effect=Nl,A.Hydration=Vl,A.ReactiveProp=Bl,A.Route=Gl,A.Router=zl,A.SSR=Wl,A.SSRContext=Hl,A.SSRState=Xl,A.Signal=$l,Object.defineProperty(A,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": "4.16.1",
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": "^1.3.3"
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 */