xote 4.16.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/xote.umd.js CHANGED
@@ -1,17 +1,17 @@
1
- (function(A,ee){typeof exports=="object"&&typeof module<"u"?ee(exports):typeof define=="function"&&define.amd?define(["exports"],ee):(A=typeof globalThis<"u"?globalThis:A||self,ee(A.xote={}))})(this,(function(A){"use strict";let ee={contents:0};function be(){return ee.contents=ee.contents+1|0,ee.contents}function Je(){return{first:void 0,last:void 0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0}}function Zt(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function en(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 Qe(e){e.flags=e.flags&-2}function tn(e){return(e.flags&2)!==0}function nn(e){e.flags=e.flags|2}function rn(e){e.flags=e.flags&-3}function Ze(e){return(e.flags&1)!==0}function ln(e){e.flags=e.flags|1}function Re(e){e.flags=e.flags&-2}function un(e){e.flags=e.flags&-3}function Ee(e){return e.compute!==void 0}function et(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function we(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 tt(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function nt(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 rt(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;nt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Me(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;nt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function lt(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function te(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function je(e){if(e!=null)return te(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 on(e,t){if(e!==void 0)return te(t(g(e)))}function H(e,t){return e!==void 0?g(e):t}function dn(e){return e!==void 0}let x={contents:void 0},j={contents:void 0},K=[],ne=[],Y={contents:!1},ke=[],it=(function(e){e.length=0});function an(e){if(!tn(e)){nn(e),K.push(e);return}}function cn(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 lt(e,i),we(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};lt(e,l),we(t,l)}function sn(e,t){if(e.firstDep===void 0){let i=et(t,e);return tt(e,i),we(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=et(t,e);tt(e,l),we(t,l)}function fn(e){let t=x.contents;if(t!==void 0)return cn(t,e);let n=j.contents;if(n!==void 0)return sn(n,e)}function pn(e,t){return e.level-t.level|0}function mn(e,t){return e.level-t.level|0}function ut(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ee(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function ot(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Ee(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function hn(e){let t=e.level;Me(e),un(e);let n=x.contents;x.contents=e;try{let r=e.compute;r!==void 0&&r(),Re(e),x.contents=n}catch(r){throw x.contents=n,r}if(t===0){e.level=ut(e);return}}function gn(e){let t=e.level;rt(e),rn(e);let n=j.contents;j.contents=e;try{e.run(),Qe(e),j.contents=n}catch(r){throw j.contents=n,r}if(t===0){e.level=ot(e);return}}function dt(){Y.contents=!0;try{for(;K.length!==0||ne.length!==0;){if(ne.length!==0){ne.sort(mn);let e=ne.slice();it(ne),e.forEach(hn)}if(K.length!==0){K.sort(pn);let e=K.slice();it(K),e.forEach(gn)}}Y.contents=!1;return}catch(e){throw Y.contents=!1,e}}function Sn(e){for(ke.push(e);ke.length!==0;){let t=ke.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let l=r.observer;Ee(l)?Ze(l)||(ln(l),ke.push(l)):an(r.observer),n=r.nextSub}}}}if((K.length!==0||ne.length!==0)&&!Y.contents)return dt()}function at(e){if(!(Ee(e)&&Ze(e)))return;let t=e.level;Me(e);let n=x.contents;x.contents=e;try{let r=e.compute;r!==void 0&&r(),Re(e),x.contents=n}catch(r){throw x.contents=n,r}if(t===0){e.level=ut(e);return}}function _n(e){let t=Y.contents;Y.contents=!0;try{let n=e();return t||(Y.contents=!1,(K.length!==0||ne.length!==0)&&dt()),n}catch(n){throw t||(Y.contents=!1),n}}function yn(e){let t=x.contents,n=j.contents;x.contents=void 0,j.contents=void 0;try{let r=e();return x.contents=t,j.contents=n,r}catch(r){throw x.contents=t,j.contents=n,r}}function bn(e,t,n){return{id:be(),value:e,equals:H(n,(l,i)=>l===i),name:t,subs:Je()}}function En(e,t){return{id:be(),value:e,equals:(r,l)=>!1,name:t,subs:Je()}}function wn(e){return at(e.subs),fn(e.subs),e.value}function kn(e){return at(e.subs),e.value}function ct(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,Sn(e.subs)}function Tn(e,t){ct(e,t(e.value))}const vn=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,batch:_n,get:wn,make:bn,makeForComputed:En,peek:kn,set:ct,untrack:yn,update:Tn},Symbol.toStringTag,{value:"Module"}));function $n(e,t){let n=be(),r={contents:void 0},i=en(n,"Effect",()=>{let _=r.contents;_!==void 0&&_(),r.contents=e()},t,void 0),u=j.contents;j.contents=i;try{i.run(),Qe(i),j.contents=u}catch(_){throw j.contents=u,_}i.level=ot(i);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let _=r.contents;_!==void 0&&_(),rt(i)}}}const Cn=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,run:$n},Symbol.toStringTag,{value:"Module"}));function An(e,t){let n=be(),r={contents:void 0},i=Zt(()=>{r.contents.value=e()}),u=x.contents;x.contents=i;let d=e();x.contents=u;let f={id:n,value:d,equals:(_,O)=>!1,name:t,subs:i};return r.contents=f,Re(i),f}function xn(e){Me(e.subs)}const Dn=Object.freeze(Object.defineProperty({__proto__:null,Core:void 0,Id:void 0,Scheduler:void 0,Signal:void 0,dispose:xn,make:An},Symbol.toStringTag,{value:"Module"}));let o=vn,R=Dn,T=Cn;function q(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#x27;")}let Fe=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function On(e){return Fe.includes(e)}let st={escape:q,voidElements:Fe,isVoidElement:On},ft="<!--$-->",pt="<!--/$-->",mt="<!--#-->",ht="<!--/#-->",gt="<!--kl-->",St="<!--/kl-->";function _t(e){return"<!--k:"+e+"-->"}let yt="<!--/k-->",bt="<!--lc-->",Et="<!--/lc-->",Pn={signalTextStart:ft,signalTextEnd:pt,signalFragmentStart:mt,signalFragmentEnd:ht,keyedListStart:gt,keyedListEnd:St,keyedItemStart:_t,keyedItemEnd:yt,lazyComponentStart:bt,lazyComponentEnd:Et};function wt(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=o.peek(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"checked":case"disabled":case"multiple":case"readonly":case"required":break;default:return n+'="'+q(r)+'"'}return r==="true"?n:""}function kt(e){let t=e.map(wt).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Rn={renderAttr:wt,renderAttrs:kt};function U(e){switch(e.TAG){case"Element":let t=e.tag,n=kt(e.attrs);if(Fe.includes(t))return"<"+t+n+" />";let r=e.children.map(U).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return q(e._0);case"SignalText":let l=o.peek(e._0);return ft+q(l)+pt;case"Fragment":return e._0.map(U).join("");case"SignalFragment":let u=o.peek(e._0).map(U).join("");return mt+u+ht;case"LazyComponent":let d=e._0();return bt+U(d)+Et;case"KeyedList":let f=e.renderItem,_=e.keyFn,P=o.peek(e.signal).map(D=>{let z=_(D),v=U(f(D));return _t(z)+v+yt}).join("");return gt+P+St}}function Tt(e,t){return U(e())}function Mn(e,t,n){let r=t!==void 0?t:"root",l=e(),i=U(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function vt(e){return"<script"+(e!==void 0?' nonce="'+q(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function jn(e,t,n,r,l,i,u){let d=e!==void 0?e:"",f=t!==void 0?t:"",_=n!==void 0?n:[],O=r!==void 0?r:[],P=l!==void 0?l:"",D=Tt(u),z=vt(i),v=O.map(L=>'<link rel="stylesheet" href="'+q(L)+'" />').join(`
2
- `),B=_.map(L=>{let G=i!==void 0?' nonce="'+q(i)+'"':"";return'<script type="module" src="'+q(L)+'"'+G+"><\/script>"}).join(`
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(`
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
- `+v+`
8
+ `+$+`
9
9
  `+d+`
10
10
  </head>
11
- <body`+(f!==""?" "+f:"")+`>
12
- <div id="root">`+D+`</div>
13
- `+P+`
14
- `+z+`
15
- `+B+`
11
+ <body`+(s!==""?" "+s:"")+`>
12
+ <div id="root">`+W+`</div>
13
+ `+L+`
14
+ `+O+`
15
+ `+H+`
16
16
  </body>
17
- </html>`}const Fn=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Rn,Component:void 0,Html:st,Markers:Pn,generateHydrationScript:vt,renderDocument:jn,renderNodeToString:U,renderToString:Tt,renderToStringWithRoot:Mn},Symbol.toStringTag,{value:"Module"}));function $t(e,t){let n=e.length,r=new Array(n),l=0;for(let i=0;i<n;++i){let u=e[i],d=t(u);d!==void 0&&(r[l]=g(d),l=l+1|0)}return r.length=l,r}function In(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 Ct(e){return $t(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function At(e,t){let n=t.split("/").filter(i=>i!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((i,u)=>{let d=n[u];return i.TAG==="Static"?d===i._0:(r[i._0]=d,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function Ie(e,t){return At(Ct(e),t)}const Ln=Object.freeze(Object.defineProperty({__proto__:null,match:Ie,matchPath:At,parsePattern:Ct},Symbol.toStringTag,{value:"Module"}));function Le(e,t){delete e[t]}function fe(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"multiple":case"readonly":case"required":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let pe={setAttrOrProp:fe},Te={contents:void 0};function Nn(){return{disposers:[],computeds:[]}}function ie(e,t){let n=Te.contents;Te.contents=e;let r=t();return Te.contents=n,r}function ue(e,t){e.disposers.push(t)}function xt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>R.dispose(t))}function oe(e,t){e.__xote_owner__=t}function Dt(e){return je(e.__xote_owner__)}let s={currentOwner:Te,createOwner:Nn,runWithOwner:ie,addDisposer:ue,disposeOwner:xt,setOwner:oe,getOwner:Dt};function Ot(e,t){return[e,{TAG:"Static",_0:t}]}function Pt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Rt(e,t){return[e,{TAG:"Compute",_0:t}]}let Gn={$$static:Ot,signal:Pt,computed:Rt};function me(e){let t=Dt(e);t!==void 0&&xt(t),Array.from(e.childNodes||[]).forEach(me)}function X(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=document.createElement(e.tag),i={disposers:[],computeds:[]};return oe(l,i),ie(i,()=>{r.forEach(c=>{let m=c[1],E=c[0];switch(m.TAG){case"Static":return fe(l,E,m._0);case"SignalValue":let k=m._0;fe(l,E,o.peek(k));let C=T.run(()=>{fe(l,E,o.get(k))},void 0);return ue(i,C);case"Compute":let V=m._0,p=T.run(()=>{fe(l,E,V())},void 0);return ue(i,p)}}),n.forEach(c=>{l.addEventListener(c[0],c[1])}),t.forEach(c=>{let m=X(c);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let u=e._0,d=document.createTextNode(o.peek(u)),f={disposers:[],computeds:[]};return oe(d,f),ie(f,()=>{let c=T.run(()=>{d.textContent=o.get(u)},void 0);ue(f,c)}),d;case"Fragment":let _=document.createDocumentFragment();return e._0.forEach(c=>{let m=X(c);_.appendChild(m)}),_;case"SignalFragment":let O=e._0,P={disposers:[],computeds:[]},D=document.createElement("div");return D.setAttribute("style","display: contents"),oe(D,P),ie(P,()=>{let c=T.run(()=>{let m=o.get(O);Array.from(D.childNodes||[]).forEach(me),D.innerHTML="",m.forEach(k=>{let C=X(k);D.appendChild(C)})},void 0);ue(P,c)}),D;case"LazyComponent":let z={disposers:[],computeds:[]},v=ie(z,e._0),B=X(v);return oe(B,z),B;case"KeyedList":let L=e.renderItem,G=e.keyFn,M=e.signal,W={disposers:[],computeds:[]},ce=document.createComment(" keyed-list-start "),w=document.createComment(" keyed-list-end ");oe(ce,W);let y={},h=()=>{let c=w.parentNode;if(c==null)return;let m=o.get(M),E={};m.forEach(a=>{E[G(a)]=a});let k=[];Object.keys(y).forEach(a=>{if(E[a]===void 0){k.push(a);return}}),k.forEach(a=>{let b=y[a];if(b!==void 0){me(b.element),b.element.remove(),Le(y,a);return}});let C=[],V={};m.forEach(a=>{let b=G(a),se=y[b];if(se!==void 0){if(se.item!==a){V[b]=!0;let Ue=L(a),Pe=X(Ue),Qt={key:b,item:a,element:Pe};C.push(Qt),y[b]=Qt;return}C.push(se);return}let qe=L(a),De=X(qe),Oe={key:b,item:a,element:De};C.push(Oe),y[b]=Oe});let p={contents:ce.nextSibling};C.forEach(a=>{let b=p.contents;if(b==null){c.insertBefore(a.element,w);return}if(b===w){c.insertBefore(a.element,w);return}if(b===a.element){p.contents=b.nextSibling;return}H(V[a.key],!1)?(me(b),c.replaceChild(a.element,b),p.contents=a.element.nextSibling):(c.insertBefore(a.element,b),p.contents=a.element.nextSibling)})},S=document.createDocumentFragment();return S.appendChild(ce),o.peek(M).forEach(c=>{let m=G(c),E=L(c),k=X(E),C={key:m,item:c,element:k};y[m]=C,S.appendChild(k)}),S.appendChild(w),ie(W,()=>{let c=T.run(()=>{h()},void 0);ue(W,c)}),S}}let J={disposeElement:me,render:X};function zn(e){return{TAG:"Text",_0:e}}function Bn(e){return{TAG:"SignalText",_0:R.make(e,void 0)}}function Wn(e){return{TAG:"SignalText",_0:R.make(e,void 0)}}function Hn(e){return{TAG:"SignalText",_0:R.make(()=>e().toString(),void 0)}}function Xn(e){return{TAG:"SignalText",_0:R.make(()=>e().toString(),void 0)}}function Vn(e){return{TAG:"Text",_0:e.toString()}}function Kn(e){return{TAG:"Text",_0:e.toString()}}function Yn(e){return{TAG:"Fragment",_0:e}}function Ne(e){return{TAG:"SignalFragment",_0:e}}function qn(e,t){return{TAG:"SignalFragment",_0:R.make(()=>o.get(e).map(t),void 0)}}function Un(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function N(e,t,n,r,l){let i=t!==void 0?t:[].map(f=>f),u=n!==void 0?n:[].map(f=>f),d=r!==void 0?r:[].map(f=>f);return{TAG:"Element",tag:e,attrs:i,events:u,children:d}}function Jn(e,t,n,r){return N("div",e,t,n)}function Qn(e,t,n,r){return N("span",e,t,n)}function Zn(e,t,n,r){return N("button",e,t,n)}function er(e,t,n){return N("input",e,t,void 0)}function tr(e,t,n,r){return N("h1",e,t,n)}function nr(e,t,n,r){return N("h2",e,t,n)}function rr(e,t,n,r){return N("h3",e,t,n)}function lr(e,t,n,r){return N("p",e,t,n)}function ir(e,t,n,r){return N("ul",e,t,n)}function ur(e,t,n,r){return N("li",e,t,n)}function Ge(e,t,n,r){return N("a",e,t,n)}function or(){return{TAG:"Text",_0:""}}function Mt(e,t){let n=X(e);t.appendChild(n)}function dr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Mt(e,n)}let he=Ot,ze=Pt,jt=Rt;const ar=Object.freeze(Object.defineProperty({__proto__:null,$$null:or,Attributes:Gn,DOM:pe,Reactivity:s,Render:J,a:Ge,attr:he,button:Zn,computedAttr:jt,div:Jn,element:N,float:Kn,fragment:Yn,h1:tr,h2:nr,h3:rr,input:er,int:Vn,keyedList:Un,li:ur,list:qn,mount:Mt,mountById:dr,p:lr,reactiveFloat:Xn,reactiveInt:Hn,reactiveString:Wn,signalAttr:ze,signalFragment:Ne,span:Qn,text:zn,textSignal:Bn,ul:ir},Symbol.toStringTag,{value:"Module"}));function cr(){return Symbol.for("xote.router.state")}function F(){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 F().location}function fr(){return F().basePath}function re(e){if(!F().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 Be(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function Ft(e){let t=F().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function ge(e){let t=F().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function It(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function ve(e,t){window.scrollTo(e,t)}function Lt(e,t){return{scrollX:e,scrollY:t}}function We(){return{}}function Nt(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Gt(){let e=It(),t=Lt(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function He(){let e=window.location.pathname;return{pathname:Ft(e),search:window.location.search,hash:window.location.hash}}function pr(e,t){let n=e!==void 0?e:"/",r=F(),l=Be(n);if(r.basePath.contents=l,o.set(r.location,He()),r.initialized)return;let i=u=>{o.set(F().location,He());let d=window["history.state"];if(d==null)return;let f=Nt(d);if(f!==void 0)return ve(f[0],f[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function mr(e,t,n,r,l){let i=e!==void 0?e:"/",u=t!==void 0?t:"/",d=n!==void 0?n:"",f=r!==void 0?r:"",_=F(),O=Be(i);_.basePath.contents=O,o.set(_.location,{pathname:u,search:d,hash:f}),_.initialized=!0}function Xe(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";re("Router.push()"),Gt();let u={pathname:e,search:l,hash:i},f=ge(e)+l+i;window.history.pushState(We(),"",f),o.set(F().location,u),ve(0,0)}function hr(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";re("Router.replace()");let u={pathname:e,search:l,hash:i},f=ge(e)+l+i;window.history.replaceState(We(),"",f),o.set(F().location,u),ve(0,0)}function gr(e,t){return re("Router.route()"),Ne(R.make(()=>{let n=o.get(F().location),r=Ie(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Sr(e){return re("Router.routes()"),Ne(R.make(()=>{let t=o.get(F().location),n=In(e,r=>{let l=Ie(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function _r(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];re("Router.link()");let u=d=>{d.preventDefault(),Xe(e,void 0,void 0)};return Ge(l.concat([he("href",ge(e))]),[["click",u]],i)}function zt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function de(e,t){return zt(t)?t.TAG==="Reactive"?ze(e,t._0):he(e,t._0):typeof t=="function"?jt(e,t):typeof t=="object"?ze(e,t):he(e,t)}function Bt(e){let t=[],n=e.class;n!==void 0&&t.push(de("class",g(n)));let r=e.id;r!==void 0&&t.push(de("id",g(r)));let l=e.style;l!==void 0&&t.push(de("style",g(l)));let i=e.target;i!==void 0&&t.push(de("target",g(i)));let u=e["aria-label"];return u!==void 0&&t.push(de("aria-label",g(u))),t}function Wt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function $e(e){re("Router.Link");let t=n=>{n.preventDefault(),Xe(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return Ge(Bt(e).concat([he("href",ge(e.to))]),[["click",t]],Wt(e))}function Ht(e,t,n){return $e(e)}const yr=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Link:{ReactiveProp:void 0,isReactiveProp:zt,convertAttrValue:de,propsToAttrs:Bt,getChildren:Wt,make:$e,jsx:$e,jsxs:$e,jsxKeyed:Ht,jsxsKeyed:Ht},Route:void 0,addBasePath:ge,basePath:fr,emptyHistoryState:We,getCurrentLocation:He,getGlobalState:F,getScrollFromState:Nt,getScrollPosition:It,getSymbolKey:cr,init:pr,initSSR:mr,link:_r,location:sr,makeHistoryState:Lt,normalizeBasePath:Be,push:Xe,replace:hr,route:gr,routes:Sr,saveScrollPosition:Gt,scrollTo:ve,stripBasePath:Ft,warnIfNotInitialized:re},Symbol.toStringTag,{value:"Module"}));function br(e){if(typeof e=="boolean")return e}function Er(e){if(e===null)return null}function wr(e){if(typeof e=="string")return e}function kr(e){if(typeof e=="number")return e}function Tr(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function vr(e){if(Array.isArray(e))return e}let le={bool:br,$$null:Er,string:wr,float:kr,object:Tr,array:vr},Se=typeof document>"u",Ce=!Se;function $r(e){if(Se)return te(e())}function Cr(e){if(Ce)return te(e())}function Xt(e,t){return Se?e():t()}const Ar=Object.freeze(Object.defineProperty({__proto__:null,isClient:Ce,isServer:Se,match:Xt,onClient:Cr,onServer:$r},Symbol.toStringTag,{value:"Module"}));function xr(e){return e}function Dr(e){let t=le.float(e);if(t!==void 0)return t|0}let Or={encode:xr,decode:Dr};function Pr(e){return e}function Rr(e){return le.float(e)}let Mr={encode:Pr,decode:Rr};function jr(e){return e}function Fr(e){return le.string(e)}let Ir={encode:jr,decode:Fr};function Lr(e){return e}function Nr(e){return le.bool(e)}let Gr={encode:Lr,decode:Nr};function zr(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=le.array(t);if(n===void 0)return;let r=$t(n,e.decode);if(r.length===n.length)return r}}}function Br(e){return{encode:t=>t!==void 0?e.encode(g(t)):null,decode:t=>dn(le.$$null(t))?te(void 0):on(e.decode(t),n=>te(n))}}function Wr(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),d=t.decode(i);if(u!==void 0&&d!==void 0)return[g(u),g(d)]}}}function Hr(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],d=l[2],f=e.decode(i),_=t.decode(u),O=n.decode(d);if(f!==void 0&&_!==void 0&&O!==void 0)return[g(f),g(_),g(O)]}}}function Xr(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=le.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]]=g(u):l.contents=!1}),l.contents)return r}}}function Vr(e,t){return{encode:e,decode:t}}let Kr={int:Or,float:Mr,string:Ir,bool:Gr,array:zr,option:Br,tuple2:Wr,tuple3:Hr,dict:Xr,make:Vr},_e={};function Vt(e,t,n){if(Se){_e[e]=n.encode(o.peek(t));return}}function Yr(){Object.keys(_e).forEach(e=>{Le(_e,e)})}function Kt(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function qr(e){let t=H(JSON.stringify(_e),"{}"),n=Kt(t);return"<script"+(e!==void 0?' nonce="'+st.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Yt(){return Ce?window.__XOTE_STATE__||{}:{}}function qt(e,t,n){if(!Ce)return;let l=Yt()[e];if(l===void 0)return;let i=n.decode(l);if(i!==void 0)return o.set(t,g(i))}function Ut(e,t,n){Xt(()=>Vt(e,t,n),()=>qt(e,t,n))}function Ur(e,t,n){let r=o.make(t,void 0,void 0);return Ut(e,r,n),r}const Jr=Object.freeze(Object.defineProperty({__proto__:null,Codec:Kr,clear:Yr,escapeForScript:Kt,generateScript:qr,getClientState:Yt,make:Ur,register:Vt,registry:_e,restore:qt,sync:Ut},Symbol.toStringTag,{value:"Module"}));let Ve={};function Qr(e){let t=Ve[e];if(t!==void 0){let n=t+1|0;return Ve[e]=n,e+("/"+n)}return Ve[e]=1,e}function Zr(e){return Array.from(e.childNodes||[])}function ye(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Ae(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function Ke(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith("k:"))return t.slice(2)}function ae(e){return{current:je(e.firstChild),parent:e}}function el(e){return e.current}function I(e){let t=e.current;return t!==void 0&&(e.current=je(g(t).nextSibling)),t}function Q(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let l=g(r);if(ye(l,t))return I(e),te(l);I(e)}})()}function xe(e,t){let n=[];return(()=>{for(;;){let l=e.current;if(l===void 0)return;let i=g(l);if(ye(i,t)){I(e);return}n.push(i),I(e)}})(),n}let tl={elementNode:1,textNode:3,commentNode:8,getChildNodes:Zr,isMarker:ye,isMarkerPrefix:Ae,extractKey:Ke,make:ae,peek:el,next:I,skipUntilMarker:Q,collectUntilMarker:xe},nl=Qr("Xote__Hydration.HydrationMismatch");function Ye(e){console.warn("[Xote Hydration] "+e)}function rl(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,l=n.events,i=n.attrs,u=s.createOwner();return s.setOwner(t,u),s.runWithOwner(u,()=>{i.forEach(y=>{let h=y[1],S=y[0];switch(h.TAG){case"Static":return;case"SignalValue":let $=h._0,c=T.run(()=>{pe.setAttrOrProp(t,S,o.get($))},void 0);return s.addDisposer(u,c);case"Compute":let m=h._0,E=T.run(()=>{pe.setAttrOrProp(t,S,m())},void 0);return s.addDisposer(u,E)}}),l.forEach(y=>{t.addEventListener(y[0],y[1])});let w=ae(t);r.forEach(y=>Z(y,w))});case"Text":return;case"SignalText":let d=n._0,f=s.createOwner();return s.setOwner(t,f),s.runWithOwner(f,()=>{let w=T.run(()=>{t.textContent=o.get(d)},void 0);s.addDisposer(f,w)});case"Fragment":let _=ae(t);n._0.forEach(w=>Z(w,_));return;case"SignalFragment":let O=n._0,P=s.createOwner();return s.setOwner(t,P),s.runWithOwner(P,()=>{let w=T.run(()=>{let y=o.get(O);Array.from(t.childNodes||[]).forEach(S=>s.disposeOwner(H(s.getOwner(S),s.createOwner()))),t.innerHTML="",y.forEach(S=>{let $=J.render(S);t.appendChild($)})},void 0);s.addDisposer(P,w)});case"LazyComponent":let D=s.createOwner(),z=s.runWithOwner(D,n._0);s.setOwner(t,D),e=z;continue;case"KeyedList":let v=n.renderItem,B=n.keyFn,L=n.signal,G=s.createOwner();s.setOwner(t,G);let M={},W=ae(t);return Q(W,"kl"),(()=>{for(;;){let w=W.current;if(w===void 0)return;let y=g(w);if(!Ae(y,"k:"))if(ye(y,"/kl")){I(W);return}else return;let h=H(Ke(y),"");I(W);let $=xe(W,"/k").find(c=>c.nodeType===1);if($!==void 0){let c=o.peek(L),m=H(c.find(E=>B(E)===h),{});M[h]={key:h,item:m,element:g($)}}}})(),s.runWithOwner(G,()=>{let w=document.createComment(" keyed-list-start "),y=document.createComment(" keyed-list-end "),h=t.firstChild;h==null?t.appendChild(w):t.insertBefore(w,h),t.appendChild(y);let S=()=>{let c=o.get(L),m={};c.forEach(p=>{m[B(p)]=p});let E=[];Object.keys(M).forEach(p=>{if(m[p]===void 0){E.push(p);return}}),E.forEach(p=>{let a=M[p];if(a!==void 0){J.disposeElement(a.element),a.element.remove(),Le(M,p);return}});let k=[],C={};c.forEach(p=>{let a=B(p),b=M[a];if(b!==void 0){if(b.item!==p){C[a]=!0;let Oe=v(p),Ue=J.render(Oe),Pe={key:a,item:p,element:Ue};k.push(Pe),M[a]=Pe;return}k.push(b);return}let se=v(p),qe=J.render(se),De={key:a,item:p,element:qe};k.push(De),M[a]=De});let V={contents:w.nextSibling};k.forEach(p=>{let a=V.contents;if(a==null){t.insertBefore(p.element,y);return}if(a===y){t.insertBefore(p.element,y);return}if(a===p.element){V.contents=a.nextSibling;return}H(C[p.key],!1)?(J.disposeElement(a),t.replaceChild(p.element,a),V.contents=p.element.nextSibling):(t.insertBefore(p.element,a),V.contents=p.element.nextSibling)})},$=T.run(()=>{S()},void 0);s.addDisposer(G,$)})}}}function Z(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,l=e.attrs,i=I(t);if(i===void 0)return Ye("Missing DOM element for Element node");let u=g(i),d=s.createOwner();return s.setOwner(u,d),s.runWithOwner(d,()=>{l.forEach(S=>{let $=S[1],c=S[0];switch($.TAG){case"Static":return;case"SignalValue":let m=$._0,E=T.run(()=>{pe.setAttrOrProp(u,c,o.get(m))},void 0);return s.addDisposer(d,E);case"Compute":let k=$._0,C=T.run(()=>{pe.setAttrOrProp(u,c,k())},void 0);return s.addDisposer(d,C)}}),r.forEach(S=>{u.addEventListener(S[0],S[1])});let h=ae(u);n.forEach(S=>Z(S,h))});case"Text":I(t);return;case"SignalText":let f=e._0;Q(t,"$");let _=I(t);if(_===void 0)return Ye("Missing text node for SignalText");let O=g(_),P=s.createOwner();s.setOwner(O,P),s.runWithOwner(P,()=>{let h=T.run(()=>{O.textContent=o.get(f)},void 0);s.addDisposer(P,h)}),Q(t,"/$");return;case"Fragment":e._0.forEach(h=>Z(h,t));return;case"SignalFragment":let D=e._0;Q(t,"#");let z=xe(t,"/#"),v=document.createElement("div");v.setAttribute("style","display: contents");let B=z[0],L=B!==void 0?B.parentNode:void 0;z.forEach(h=>{v.appendChild(h)});let G=t.current;if(L!==void 0){let h=g(L);G!==void 0?h.insertBefore(v,g(G)):h.appendChild(v)}let M=s.createOwner();return s.setOwner(v,M),s.runWithOwner(M,()=>{let h=T.run(()=>{let S=o.get(D);Array.from(v.childNodes||[]).forEach(J.disposeElement),v.innerHTML="",S.forEach(c=>{let m=J.render(c);v.appendChild(m)})},void 0);s.addDisposer(M,h)});case"LazyComponent":Q(t,"lc");let W=e._0();Z(W,t),Q(t,"/lc");return;case"KeyedList":let ce=e.keyFn,w=e.signal;return Q(t,"kl"),(()=>{for(;;){let h=t.current;if(h===void 0)return;let S=g(h);if(!Ae(S,"k:"))if(ye(S,"/kl")){I(t);return}else return;let $=H(Ke(S),"");I(t);let m=xe(t,"/k").find(E=>E.nodeType===1);if(m!==void 0){let E=o.peek(w),k=H(E.find(C=>ce(C)===$),{});g(m)}}})()}}function Jt(e,t,n){let r=n!==void 0?n:{},l=e(),i=ae(t),u=i.current;u!==void 0&&Ae(g(u),"xote-root:")&&I(i),Z(l,i),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function ll(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 Jt(e,l,r)}const il=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,DOM:void 0,DOMWalker:tl,HydrationMismatch:nl,Reactivity:void 0,hydrate:Jt,hydrateById:ll,hydrateNode:rl,hydrateNodeWithWalker:Z,logHydrationWarning:Ye},Symbol.toStringTag,{value:"Module"}));function ul(e){return e.TAG==="Reactive"?o.get(e._0):e._0}function ol(e){return{TAG:"Static",_0:e}}function dl(e){return{TAG:"Reactive",_0:e}}const al=Object.freeze(Object.defineProperty({__proto__:null,$$static:ol,get:ul,reactive:dl},Symbol.toStringTag,{value:"Module"}));let cl=o.Id,sl=o.Scheduler,fl=o.Core,pl=o.make,ml=o.makeForComputed,hl=o.get,gl=o.peek,Sl=o.set,_l=o.update,yl=o.batch,bl=o.untrack,El={Id:cl,Scheduler:sl,Core:fl,make:pl,makeForComputed:ml,get:hl,peek:gl,set:Sl,update:_l,batch:yl,untrack:bl},wl=R.Id,kl=R.Signal,Tl=R.Core,vl=R.Scheduler,$l=R.make,Cl=R.dispose,Al={Id:wl,Signal:kl,Core:Tl,Scheduler:vl,make:$l,dispose:Cl},xl=T.Id,Dl=T.Core,Ol=T.Scheduler,Pl=T.run,Rl={Id:xl,Core:Dl,Scheduler:Ol,run:Pl},Ml=ar,jl=Ln,Fl=yr,Il=al,Ll=Fn,Nl=Ar,Gl=Jr,zl=il;A.Component=Ml,A.Computed=Al,A.Effect=Rl,A.Hydration=zl,A.ReactiveProp=Il,A.Route=jl,A.Router=Fl,A.SSR=Ll,A.SSRContext=Nl,A.SSRState=Gl,A.Signal=El,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})}));
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"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xote",
3
- "version": "4.16.0",
3
+ "version": "5.0.0",
4
4
  "repository": {
5
5
  "url": "https://github.com/brnrdog/xote"
6
6
  },
@@ -73,6 +73,6 @@
73
73
  "zekr": "^1.7.0"
74
74
  },
75
75
  "dependencies": {
76
- "rescript-signals": "^1.3.3"
76
+ "rescript-signals": "^2.0.0"
77
77
  }
78
78
  }
package/src/Xote.res.mjs CHANGED
@@ -73,12 +73,15 @@ let Effect_Core = Signals.Effect.Core;
73
73
 
74
74
  let Effect_Scheduler = Signals.Effect.Scheduler;
75
75
 
76
+ let Effect_runWithDisposer = Signals.Effect.runWithDisposer;
77
+
76
78
  let Effect_run = Signals.Effect.run;
77
79
 
78
80
  let Effect = {
79
81
  Id: Effect_Id,
80
82
  Core: Effect_Core,
81
83
  Scheduler: Effect_Scheduler,
84
+ runWithDisposer: Effect_runWithDisposer,
82
85
  run: Effect_run
83
86
  };
84
87
 
@@ -111,4 +114,4 @@ export {
111
114
  SSRState,
112
115
  Hydration,
113
116
  }
114
- /* Xote__SSRState Not a pure module */
117
+ /* Xote__Router Not a pure module */
@@ -4,6 +4,56 @@ open Signals
4
4
  * DOM Bindings
5
5
  * ============================================================================ */
6
6
 
7
+ let svgNamespace = "http://www.w3.org/2000/svg"
8
+
9
+ let svgTags = [
10
+ "svg",
11
+ "path",
12
+ "circle",
13
+ "ellipse",
14
+ "line",
15
+ "polygon",
16
+ "polyline",
17
+ "rect",
18
+ "g",
19
+ "defs",
20
+ "clipPath",
21
+ "mask",
22
+ "pattern",
23
+ "marker",
24
+ "symbol",
25
+ "use",
26
+ "text",
27
+ "tspan",
28
+ "image",
29
+ "foreignObject",
30
+ "linearGradient",
31
+ "radialGradient",
32
+ "stop",
33
+ "filter",
34
+ "feBlend",
35
+ "feColorMatrix",
36
+ "feComposite",
37
+ "feFlood",
38
+ "feGaussianBlur",
39
+ "feMerge",
40
+ "feMergeNode",
41
+ "feOffset",
42
+ "animate",
43
+ "animateTransform",
44
+ "desc",
45
+ "title",
46
+ "metadata",
47
+ ]
48
+
49
+ let svgTagSet: Dict.t<bool> = {
50
+ let d = Dict.make()
51
+ svgTags->Array.forEach(tag => d->Dict.set(tag, true))
52
+ d
53
+ }
54
+
55
+ let isSvgTag = (tag: string): bool => svgTagSet->Dict.get(tag)->Option.isSome
56
+
7
57
  module DOM = {
8
58
  /* Creation */
9
59
  @val @scope("document") external createElement: string => Dom.element = "createElement"
@@ -196,7 +246,7 @@ module Render = {
196
246
  setOwner(textNode, owner)
197
247
 
198
248
  runWithOwner(owner, () => {
199
- let disposer = Effect.run(() => {
249
+ let disposer = Effect.runWithDisposer(() => {
200
250
  DOM.setTextContent(textNode, Signal.get(signal))
201
251
  None
202
252
  })
@@ -222,7 +272,7 @@ module Render = {
222
272
  setOwner(container, owner)
223
273
 
224
274
  runWithOwner(owner, () => {
225
- let disposer = Effect.run(() => {
275
+ let disposer = Effect.runWithDisposer(() => {
226
276
  let children = Signal.get(signal)
227
277
 
228
278
  /* Dispose existing children */
@@ -250,7 +300,11 @@ module Render = {
250
300
  }
251
301
 
252
302
  | Element({tag, attrs, events, children}) => {
253
- let el = DOM.createElement(tag)
303
+ let el = if isSvgTag(tag) {
304
+ DOM.createElementNS(svgNamespace, tag)
305
+ } else {
306
+ DOM.createElement(tag)
307
+ }
254
308
  let owner = createOwner()
255
309
  setOwner(el, owner)
256
310
 
@@ -261,7 +315,7 @@ module Render = {
261
315
  | Static(v) => DOM.setAttrOrProp(el, key, v)
262
316
  | SignalValue(signal) => {
263
317
  DOM.setAttrOrProp(el, key, Signal.peek(signal))
264
- let disposer = Effect.run(
318
+ let disposer = Effect.runWithDisposer(
265
319
  () => {
266
320
  DOM.setAttrOrProp(el, key, Signal.get(signal))
267
321
  None
@@ -270,7 +324,7 @@ module Render = {
270
324
  addDisposer(owner, disposer)
271
325
  }
272
326
  | Compute(compute) => {
273
- let disposer = Effect.run(
327
+ let disposer = Effect.runWithDisposer(
274
328
  () => {
275
329
  DOM.setAttrOrProp(el, key, compute())
276
330
  None
@@ -425,7 +479,7 @@ module Render = {
425
479
  fragment->DOM.appendChild(endAnchor)
426
480
 
427
481
  runWithOwner(owner, () => {
428
- let disposer = Effect.run(() => {
482
+ let disposer = Effect.runWithDisposer(() => {
429
483
  reconcile()
430
484
  None
431
485
  })
@@ -5,6 +5,58 @@ import * as Stdlib_Dict from "@rescript/runtime/lib/es6/Stdlib_Dict.js";
5
5
  import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
6
6
  import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
7
7
 
8
+ let svgNamespace = "http://www.w3.org/2000/svg";
9
+
10
+ let svgTags = [
11
+ "svg",
12
+ "path",
13
+ "circle",
14
+ "ellipse",
15
+ "line",
16
+ "polygon",
17
+ "polyline",
18
+ "rect",
19
+ "g",
20
+ "defs",
21
+ "clipPath",
22
+ "mask",
23
+ "pattern",
24
+ "marker",
25
+ "symbol",
26
+ "use",
27
+ "text",
28
+ "tspan",
29
+ "image",
30
+ "foreignObject",
31
+ "linearGradient",
32
+ "radialGradient",
33
+ "stop",
34
+ "filter",
35
+ "feBlend",
36
+ "feColorMatrix",
37
+ "feComposite",
38
+ "feFlood",
39
+ "feGaussianBlur",
40
+ "feMerge",
41
+ "feMergeNode",
42
+ "feOffset",
43
+ "animate",
44
+ "animateTransform",
45
+ "desc",
46
+ "title",
47
+ "metadata"
48
+ ];
49
+
50
+ let d = {};
51
+
52
+ svgTags.forEach(tag => {
53
+ d[tag] = true;
54
+ });
55
+
56
+ function isSvgTag(tag) {
57
+ return Stdlib_Option.isSome(d[tag]);
58
+ }
59
+
8
60
  function setAttrOrProp(el, key, value) {
9
61
  switch (key) {
10
62
  case "checked" :
@@ -135,7 +187,8 @@ function render(node) {
135
187
  let children = node.children;
136
188
  let events = node.events;
137
189
  let attrs = node.attrs;
138
- let el = document.createElement(node.tag);
190
+ let tag = node.tag;
191
+ let el = Stdlib_Option.isSome(d[tag]) ? document.createElementNS(svgNamespace, tag) : document.createElement(tag);
139
192
  let owner = {
140
193
  disposers: [],
141
194
  computeds: []
@@ -151,13 +204,13 @@ function render(node) {
151
204
  case "SignalValue" :
152
205
  let signal = value._0;
153
206
  setAttrOrProp(el, key, Signals.Signal.peek(signal));
154
- let disposer = Signals.Effect.run(() => {
207
+ let disposer = Signals.Effect.runWithDisposer(() => {
155
208
  setAttrOrProp(el, key, Signals.Signal.get(signal));
156
209
  }, undefined);
157
210
  return addDisposer(owner, disposer);
158
211
  case "Compute" :
159
212
  let compute = value._0;
160
- let disposer$1 = Signals.Effect.run(() => {
213
+ let disposer$1 = Signals.Effect.runWithDisposer(() => {
161
214
  setAttrOrProp(el, key, compute());
162
215
  }, undefined);
163
216
  return addDisposer(owner, disposer$1);
@@ -183,7 +236,7 @@ function render(node) {
183
236
  };
184
237
  setOwner(textNode, owner$1);
185
238
  runWithOwner(owner$1, () => {
186
- let disposer = Signals.Effect.run(() => {
239
+ let disposer = Signals.Effect.runWithDisposer(() => {
187
240
  textNode.textContent = Signals.Signal.get(signal);
188
241
  }, undefined);
189
242
  addDisposer(owner$1, disposer);
@@ -206,7 +259,7 @@ function render(node) {
206
259
  container.setAttribute("style", "display: contents");
207
260
  setOwner(container, owner$2);
208
261
  runWithOwner(owner$2, () => {
209
- let disposer = Signals.Effect.run(() => {
262
+ let disposer = Signals.Effect.runWithDisposer(() => {
210
263
  let children = Signals.Signal.get(signal$1);
211
264
  let childNodes = (Array.from(container.childNodes || []));
212
265
  childNodes.forEach(disposeElement);
@@ -346,7 +399,7 @@ function render(node) {
346
399
  });
347
400
  fragment$1.appendChild(endAnchor);
348
401
  runWithOwner(owner$4, () => {
349
- let disposer = Signals.Effect.run(() => {
402
+ let disposer = Signals.Effect.runWithDisposer(() => {
350
403
  reconcile();
351
404
  }, undefined);
352
405
  addDisposer(owner$4, disposer);
@@ -523,6 +576,8 @@ function mountById(node, containerId) {
523
576
  }
524
577
  }
525
578
 
579
+ let svgTagSet = d;
580
+
526
581
  let attr = $$static;
527
582
 
528
583
  let signalAttr = signal;
@@ -530,6 +585,10 @@ let signalAttr = signal;
530
585
  let computedAttr = computed;
531
586
 
532
587
  export {
588
+ svgNamespace,
589
+ svgTags,
590
+ svgTagSet,
591
+ isSvgTag,
533
592
  DOM,
534
593
  Reactivity,
535
594
  Attributes,
@@ -564,4 +623,4 @@ export {
564
623
  mount,
565
624
  mountById,
566
625
  }
567
- /* No side effect */
626
+ /* Not a pure module */
@@ -171,7 +171,7 @@ let rec hydrateNode = (node: Component.node, domNode: Dom.element): unit => {
171
171
  Reactivity.setOwner(domNode, owner)
172
172
 
173
173
  Reactivity.runWithOwner(owner, () => {
174
- let disposer = Effect.run(() => {
174
+ let disposer = Effect.runWithDisposer(() => {
175
175
  DOM.setTextContent(domNode, Signal.get(signal))
176
176
  None
177
177
  })
@@ -196,7 +196,7 @@ let rec hydrateNode = (node: Component.node, domNode: Dom.element): unit => {
196
196
  Reactivity.setOwner(domNode, owner)
197
197
 
198
198
  Reactivity.runWithOwner(owner, () => {
199
- let disposer = Effect.run(() => {
199
+ let disposer = Effect.runWithDisposer(() => {
200
200
  let children = Signal.get(signal)
201
201
 
202
202
  /* Clear existing children */
@@ -234,7 +234,7 @@ let rec hydrateNode = (node: Component.node, domNode: Dom.element): unit => {
234
234
  switch value {
235
235
  | Component.Static(_) => () /* Already rendered, nothing to do */
236
236
  | Component.SignalValue(signal) => {
237
- let disposer = Effect.run(
237
+ let disposer = Effect.runWithDisposer(
238
238
  () => {
239
239
  DOM.setAttrOrProp(domNode, key, Signal.get(signal))
240
240
  None
@@ -243,7 +243,7 @@ let rec hydrateNode = (node: Component.node, domNode: Dom.element): unit => {
243
243
  Reactivity.addDisposer(owner, disposer)
244
244
  }
245
245
  | Component.Compute(compute) => {
246
- let disposer = Effect.run(
246
+ let disposer = Effect.runWithDisposer(
247
247
  () => {
248
248
  DOM.setAttrOrProp(domNode, key, compute())
249
249
  None
@@ -420,7 +420,7 @@ let rec hydrateNode = (node: Component.node, domNode: Dom.element): unit => {
420
420
  })
421
421
  }
422
422
 
423
- let disposer = Effect.run(() => {
423
+ let disposer = Effect.runWithDisposer(() => {
424
424
  reconcile()
425
425
  None
426
426
  })
@@ -449,7 +449,7 @@ and hydrateNodeWithWalker = (node: Component.node, walker: DOMWalker.t): unit =>
449
449
  Reactivity.setOwner(textNode, owner)
450
450
 
451
451
  Reactivity.runWithOwner(owner, () => {
452
- let disposer = Effect.run(() => {
452
+ let disposer = Effect.runWithDisposer(() => {
453
453
  DOM.setTextContent(textNode, Signal.get(signal))
454
454
  None
455
455
  })
@@ -503,7 +503,7 @@ and hydrateNodeWithWalker = (node: Component.node, walker: DOMWalker.t): unit =>
503
503
  Reactivity.setOwner(container, owner)
504
504
 
505
505
  Reactivity.runWithOwner(owner, () => {
506
- let disposer = Effect.run(() => {
506
+ let disposer = Effect.runWithDisposer(() => {
507
507
  let children = Signal.get(signal)
508
508
 
509
509
  /* Clear and re-render */
@@ -536,7 +536,7 @@ and hydrateNodeWithWalker = (node: Component.node, walker: DOMWalker.t): unit =>
536
536
  switch value {
537
537
  | Component.Static(_) => ()
538
538
  | Component.SignalValue(signal) => {
539
- let disposer = Effect.run(
539
+ let disposer = Effect.runWithDisposer(
540
540
  () => {
541
541
  DOM.setAttrOrProp(domNode, key, Signal.get(signal))
542
542
  None
@@ -545,7 +545,7 @@ and hydrateNodeWithWalker = (node: Component.node, walker: DOMWalker.t): unit =>
545
545
  Reactivity.addDisposer(owner, disposer)
546
546
  }
547
547
  | Component.Compute(compute) => {
548
- let disposer = Effect.run(
548
+ let disposer = Effect.runWithDisposer(
549
549
  () => {
550
550
  DOM.setAttrOrProp(domNode, key, compute())
551
551
  None
@@ -145,13 +145,13 @@ function hydrateNode(_node, domNode) {
145
145
  return;
146
146
  case "SignalValue" :
147
147
  let signal = value._0;
148
- let disposer = Signals.Effect.run(() => {
148
+ let disposer = Signals.Effect.runWithDisposer(() => {
149
149
  Xote__Component.DOM.setAttrOrProp(domNode, key, Signals.Signal.get(signal));
150
150
  }, undefined);
151
151
  return Xote__Component.Reactivity.addDisposer(owner, disposer);
152
152
  case "Compute" :
153
153
  let compute = value._0;
154
- let disposer$1 = Signals.Effect.run(() => {
154
+ let disposer$1 = Signals.Effect.runWithDisposer(() => {
155
155
  Xote__Component.DOM.setAttrOrProp(domNode, key, compute());
156
156
  }, undefined);
157
157
  return Xote__Component.Reactivity.addDisposer(owner, disposer$1);
@@ -170,7 +170,7 @@ function hydrateNode(_node, domNode) {
170
170
  let owner$1 = Xote__Component.Reactivity.createOwner();
171
171
  Xote__Component.Reactivity.setOwner(domNode, owner$1);
172
172
  return Xote__Component.Reactivity.runWithOwner(owner$1, () => {
173
- let disposer = Signals.Effect.run(() => {
173
+ let disposer = Signals.Effect.runWithDisposer(() => {
174
174
  domNode.textContent = Signals.Signal.get(signal);
175
175
  }, undefined);
176
176
  Xote__Component.Reactivity.addDisposer(owner$1, disposer);
@@ -184,7 +184,7 @@ function hydrateNode(_node, domNode) {
184
184
  let owner$2 = Xote__Component.Reactivity.createOwner();
185
185
  Xote__Component.Reactivity.setOwner(domNode, owner$2);
186
186
  return Xote__Component.Reactivity.runWithOwner(owner$2, () => {
187
- let disposer = Signals.Effect.run(() => {
187
+ let disposer = Signals.Effect.runWithDisposer(() => {
188
188
  let children = Signals.Signal.get(signal$1);
189
189
  let childNodes = (Array.from(domNode.childNodes || []));
190
190
  childNodes.forEach(child => Xote__Component.Reactivity.disposeOwner(Stdlib_Option.getOr(Xote__Component.Reactivity.getOwner(child), Xote__Component.Reactivity.createOwner())));
@@ -338,7 +338,7 @@ function hydrateNode(_node, domNode) {
338
338
  }
339
339
  });
340
340
  };
341
- let disposer = Signals.Effect.run(() => {
341
+ let disposer = Signals.Effect.runWithDisposer(() => {
342
342
  reconcile();
343
343
  }, undefined);
344
344
  Xote__Component.Reactivity.addDisposer(owner$4, disposer);
@@ -369,13 +369,13 @@ function hydrateNodeWithWalker(node, walker) {
369
369
  return;
370
370
  case "SignalValue" :
371
371
  let signal = value._0;
372
- let disposer = Signals.Effect.run(() => {
372
+ let disposer = Signals.Effect.runWithDisposer(() => {
373
373
  Xote__Component.DOM.setAttrOrProp(domNode$1, key, Signals.Signal.get(signal));
374
374
  }, undefined);
375
375
  return Xote__Component.Reactivity.addDisposer(owner, disposer);
376
376
  case "Compute" :
377
377
  let compute = value._0;
378
- let disposer$1 = Signals.Effect.run(() => {
378
+ let disposer$1 = Signals.Effect.runWithDisposer(() => {
379
379
  Xote__Component.DOM.setAttrOrProp(domNode$1, key, compute());
380
380
  }, undefined);
381
381
  return Xote__Component.Reactivity.addDisposer(owner, disposer$1);
@@ -401,7 +401,7 @@ function hydrateNodeWithWalker(node, walker) {
401
401
  let owner$1 = Xote__Component.Reactivity.createOwner();
402
402
  Xote__Component.Reactivity.setOwner(textNode$1, owner$1);
403
403
  Xote__Component.Reactivity.runWithOwner(owner$1, () => {
404
- let disposer = Signals.Effect.run(() => {
404
+ let disposer = Signals.Effect.runWithDisposer(() => {
405
405
  textNode$1.textContent = Signals.Signal.get(signal);
406
406
  }, undefined);
407
407
  Xote__Component.Reactivity.addDisposer(owner$1, disposer);
@@ -434,7 +434,7 @@ function hydrateNodeWithWalker(node, walker) {
434
434
  let owner$2 = Xote__Component.Reactivity.createOwner();
435
435
  Xote__Component.Reactivity.setOwner(container, owner$2);
436
436
  return Xote__Component.Reactivity.runWithOwner(owner$2, () => {
437
- let disposer = Signals.Effect.run(() => {
437
+ let disposer = Signals.Effect.runWithDisposer(() => {
438
438
  let children = Signals.Signal.get(signal$1);
439
439
  let childNodes = (Array.from(container.childNodes || []));
440
440
  childNodes.forEach(Xote__Component.Render.disposeElement);
@@ -539,4 +539,4 @@ export {
539
539
  hydrate,
540
540
  hydrateById,
541
541
  }
542
- /* No side effect */
542
+ /* Xote__Component Not a pure module */