xote 4.16.1 → 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/README.md +2 -2
- package/dist/xote.cjs +7 -7
- package/dist/xote.mjs +579 -574
- package/dist/xote.umd.js +5 -5
- package/package.json +2 -2
- package/src/Xote.res.mjs +3 -0
- package/src/Xote__Component.res +5 -5
- package/src/Xote__Component.res.mjs +5 -5
- package/src/Xote__Hydration.res +9 -9
- package/src/Xote__Hydration.res.mjs +9 -9
package/dist/xote.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
`),H=S.map(
|
|
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("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}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>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
`+d+`
|
|
10
10
|
</head>
|
|
11
11
|
<body`+(s!==""?" "+s:"")+`>
|
|
12
|
-
<div id="root">`+
|
|
12
|
+
<div id="root">`+W+`</div>
|
|
13
13
|
`+L+`
|
|
14
|
-
`+
|
|
14
|
+
`+O+`
|
|
15
15
|
`+H+`
|
|
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 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": "
|
|
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": "^
|
|
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
|
|
package/src/Xote__Component.res
CHANGED
|
@@ -246,7 +246,7 @@ module Render = {
|
|
|
246
246
|
setOwner(textNode, owner)
|
|
247
247
|
|
|
248
248
|
runWithOwner(owner, () => {
|
|
249
|
-
let disposer = Effect.
|
|
249
|
+
let disposer = Effect.runWithDisposer(() => {
|
|
250
250
|
DOM.setTextContent(textNode, Signal.get(signal))
|
|
251
251
|
None
|
|
252
252
|
})
|
|
@@ -272,7 +272,7 @@ module Render = {
|
|
|
272
272
|
setOwner(container, owner)
|
|
273
273
|
|
|
274
274
|
runWithOwner(owner, () => {
|
|
275
|
-
let disposer = Effect.
|
|
275
|
+
let disposer = Effect.runWithDisposer(() => {
|
|
276
276
|
let children = Signal.get(signal)
|
|
277
277
|
|
|
278
278
|
/* Dispose existing children */
|
|
@@ -315,7 +315,7 @@ module Render = {
|
|
|
315
315
|
| Static(v) => DOM.setAttrOrProp(el, key, v)
|
|
316
316
|
| SignalValue(signal) => {
|
|
317
317
|
DOM.setAttrOrProp(el, key, Signal.peek(signal))
|
|
318
|
-
let disposer = Effect.
|
|
318
|
+
let disposer = Effect.runWithDisposer(
|
|
319
319
|
() => {
|
|
320
320
|
DOM.setAttrOrProp(el, key, Signal.get(signal))
|
|
321
321
|
None
|
|
@@ -324,7 +324,7 @@ module Render = {
|
|
|
324
324
|
addDisposer(owner, disposer)
|
|
325
325
|
}
|
|
326
326
|
| Compute(compute) => {
|
|
327
|
-
let disposer = Effect.
|
|
327
|
+
let disposer = Effect.runWithDisposer(
|
|
328
328
|
() => {
|
|
329
329
|
DOM.setAttrOrProp(el, key, compute())
|
|
330
330
|
None
|
|
@@ -479,7 +479,7 @@ module Render = {
|
|
|
479
479
|
fragment->DOM.appendChild(endAnchor)
|
|
480
480
|
|
|
481
481
|
runWithOwner(owner, () => {
|
|
482
|
-
let disposer = Effect.
|
|
482
|
+
let disposer = Effect.runWithDisposer(() => {
|
|
483
483
|
reconcile()
|
|
484
484
|
None
|
|
485
485
|
})
|
|
@@ -204,13 +204,13 @@ function render(node) {
|
|
|
204
204
|
case "SignalValue" :
|
|
205
205
|
let signal = value._0;
|
|
206
206
|
setAttrOrProp(el, key, Signals.Signal.peek(signal));
|
|
207
|
-
let disposer = Signals.Effect.
|
|
207
|
+
let disposer = Signals.Effect.runWithDisposer(() => {
|
|
208
208
|
setAttrOrProp(el, key, Signals.Signal.get(signal));
|
|
209
209
|
}, undefined);
|
|
210
210
|
return addDisposer(owner, disposer);
|
|
211
211
|
case "Compute" :
|
|
212
212
|
let compute = value._0;
|
|
213
|
-
let disposer$1 = Signals.Effect.
|
|
213
|
+
let disposer$1 = Signals.Effect.runWithDisposer(() => {
|
|
214
214
|
setAttrOrProp(el, key, compute());
|
|
215
215
|
}, undefined);
|
|
216
216
|
return addDisposer(owner, disposer$1);
|
|
@@ -236,7 +236,7 @@ function render(node) {
|
|
|
236
236
|
};
|
|
237
237
|
setOwner(textNode, owner$1);
|
|
238
238
|
runWithOwner(owner$1, () => {
|
|
239
|
-
let disposer = Signals.Effect.
|
|
239
|
+
let disposer = Signals.Effect.runWithDisposer(() => {
|
|
240
240
|
textNode.textContent = Signals.Signal.get(signal);
|
|
241
241
|
}, undefined);
|
|
242
242
|
addDisposer(owner$1, disposer);
|
|
@@ -259,7 +259,7 @@ function render(node) {
|
|
|
259
259
|
container.setAttribute("style", "display: contents");
|
|
260
260
|
setOwner(container, owner$2);
|
|
261
261
|
runWithOwner(owner$2, () => {
|
|
262
|
-
let disposer = Signals.Effect.
|
|
262
|
+
let disposer = Signals.Effect.runWithDisposer(() => {
|
|
263
263
|
let children = Signals.Signal.get(signal$1);
|
|
264
264
|
let childNodes = (Array.from(container.childNodes || []));
|
|
265
265
|
childNodes.forEach(disposeElement);
|
|
@@ -399,7 +399,7 @@ function render(node) {
|
|
|
399
399
|
});
|
|
400
400
|
fragment$1.appendChild(endAnchor);
|
|
401
401
|
runWithOwner(owner$4, () => {
|
|
402
|
-
let disposer = Signals.Effect.
|
|
402
|
+
let disposer = Signals.Effect.runWithDisposer(() => {
|
|
403
403
|
reconcile();
|
|
404
404
|
}, undefined);
|
|
405
405
|
addDisposer(owner$4, disposer);
|
package/src/Xote__Hydration.res
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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);
|