xote 6.1.0 → 6.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -10
- package/dist/xote.cjs +10 -10
- package/dist/xote.mjs +1276 -1093
- package/dist/xote.umd.js +9 -9
- package/package.json +2 -2
- package/src/Computed.res.mjs +6 -0
- package/src/Node.res +18 -2
- package/src/Node.res.mjs +22 -5
- package/src/Router.res +4 -4
- package/src/Router.res.mjs +2 -2
- package/src/Signal.res.mjs +6 -0
- package/src/XoteJSX.res +6 -257
- package/src/XoteJSX.res.mjs +2 -2
package/dist/xote.umd.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
(function(x,oe){typeof exports=="object"&&typeof module<"u"?oe(exports):typeof define=="function"&&define.amd?define(["exports"],oe):(x=typeof globalThis<"u"?globalThis:x||self,oe(x.xote={}))})(this,(function(x){"use strict";let oe={contents:0};function De(){return oe.contents=oe.contents+1|0,oe.contents}function st(){return{first:void 0,last:void 0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0}}function $n(e){return{first:void 0,last:void 0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0}}function An(e,t,n,r,l){return{id:e,kind:t,run:n,firstDep:void 0,lastDep:void 0,flags:1,level:0,name:r,backingSubs:l}}function ft(e){e.flags=e.flags&-2}function xn(e){return(e.flags&2)!==0}function kn(e){e.flags=e.flags|2}function Dn(e){e.flags=e.flags&-3}function ht(e){return(e.flags&1)!==0}function On(e){e.flags=e.flags|1}function We(e){e.flags=e.flags&-2}function Cn(e){e.flags=e.flags&-3}function Oe(e){return e.compute!==void 0}function mt(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0}}function Ce(e,t){t.prevSub=e.last,t.nextSub=void 0;let n=e.last;n!==void 0?n.nextSub=t:e.first=t,e.last=t}function pt(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}function gt(e){let t=e.subs,n=e.prevSub;n!==void 0?n.nextSub=e.nextSub:t.first=e.nextSub;let r=e.nextSub;r!==void 0?r.prevSub=e.prevSub:t.last=e.prevSub,e.prevSub=void 0,e.nextSub=void 0}function yt(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;gt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Ve(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;gt(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function St(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}let C={contents:void 0},N={contents:void 0},ee=[],ae=[],te={contents:!1},je=[],_t=(function(e){e.length=0});function jn(e){if(!xn(e)){kn(e),ee.push(e);return}}function Pn(e,t){if(e.firstDep===void 0){let i={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};return St(e,i),Ce(t,i)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let i=r;i!==void 0&&(i.subs===t?n=!0:r=i.nextDep)}if(n)return;let l={subs:t,observer:e,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0};St(e,l),Ce(t,l)}function Mn(e,t){if(e.firstDep===void 0){let i=mt(t,e);return pt(e,i),Ce(t,i)}let n=!1,r=e.firstDep;for(;r!==void 0&&!n;){let i=r;i!==void 0&&(i.subs===t?n=!0:r=i.nextDep)}if(n)return;let l=mt(t,e);pt(e,l),Ce(t,l)}function Rn(e){let t=C.contents;if(t!==void 0)return Pn(t,e);let n=N.contents;if(n!==void 0)return Mn(n,e)}function Ln(e,t){return e.level-t.level|0}function Gn(e,t){return e.level-t.level|0}function bt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Oe(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Et(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(Oe(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Fn(e){let t=e.level;Ve(e),Cn(e);let n=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),We(e),C.contents=n}catch(r){throw C.contents=n,r}if(t===0){e.level=bt(e);return}}function Nn(e){let t=e.level;yt(e),Dn(e);let n=N.contents;N.contents=e;try{e.run(),ft(e),N.contents=n}catch(r){throw N.contents=n,r}if(t===0){e.level=Et(e);return}}function wt(){te.contents=!0;try{for(;ee.length!==0||ae.length!==0;){if(ae.length!==0){ae.sort(Gn);let e=ae.slice();_t(ae),e.forEach(Fn)}if(ee.length!==0){ee.sort(Ln);let e=ee.slice();_t(ee),e.forEach(Nn)}}te.contents=!1;return}catch(e){throw te.contents=!1,e}}function zn(e){for(je.push(e);je.length!==0;){let t=je.pop();if(t!==void 0){let n=t.first;for(;n!==void 0;){let r=n;if(r!==void 0){let l=r.observer;Oe(l)?ht(l)||(On(l),je.push(l)):jn(r.observer),n=r.nextSub}}}}if((ee.length!==0||ae.length!==0)&&!te.contents)return wt()}function Tt(e){if(!(Oe(e)&&ht(e)))return;let t=e.level;Ve(e);let n=C.contents;C.contents=e;try{let r=e.compute;r!==void 0&&r(),We(e),C.contents=n}catch(r){throw C.contents=n,r}if(t===0){e.level=bt(e);return}}function Bn(e){let t=te.contents;te.contents=!0;try{let n=e();return t||(te.contents=!1,(ee.length!==0||ae.length!==0)&&wt()),n}catch(n){throw t||(te.contents=!1),n}}function In(e){let t=C.contents,n=N.contents;C.contents=void 0,N.contents=void 0;try{let r=e();return C.contents=t,N.contents=n,r}catch(r){throw C.contents=t,N.contents=n,r}}function vt(e,t){let n=De(),r={contents:void 0},i=An(n,"Effect",()=>{let y=r.contents;y!==void 0&&y(),r.contents=e()},t,void 0),u=N.contents;N.contents=i;try{i.run(),ft(i),N.contents=u}catch(y){throw N.contents=u,y}i.level=Et(i);let o={contents:!1};return{dispose:()=>{if(o.contents)return;o.contents=!0;let y=r.contents;y!==void 0&&y(),yt(i)}}}function Kn(e,t){vt(e,t)}let P=vt;const Wn=Object.freeze(Object.defineProperty({__proto__:null,run:Kn,runWithDisposer:P},Symbol.toStringTag,{value:"Module"}));function de(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function He(e){if(e!=null)return de(e)}function h(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}function Vn(e,t){if(e!==void 0)return de(t(h(e)))}function J(e,t){return e!==void 0?h(e):t}function Xe(e){return e!==void 0}function Hn(e,t,n){return{id:De(),value:e,equals:J(n,(l,i)=>l===i),name:t,subs:st()}}function Xn(e,t){return{id:De(),value:e,equals:(r,l)=>!1,name:t,subs:st()}}function qn(e){return Tt(e.subs),Rn(e.subs),e.value}function Un(e){return Tt(e.subs),e.value}function $t(e,t){let n;try{n=!e.equals(e.value,t)}catch{n=!0}if(n)return e.value=t,e.subs.version=e.subs.version+1|0,zn(e.subs)}function Yn(e,t){$t(e,t(e.value))}let Jn=Bn,Qn=In,qe=Hn,Zn=Xn,k=qn,X=Un,ce=$t;const er=Object.freeze(Object.defineProperty({__proto__:null,batch:Jn,get:k,make:qe,makeForComputed:Zn,peek:X,set:ce,untrack:Qn,update:Yn},Symbol.toStringTag,{value:"Module"}));function Ue(e,t){delete e[t]}function tr(e,t){let n=De(),r={contents:void 0},i=$n(()=>{r.contents.value=e()}),u=C.contents;C.contents=i;let o=e();C.contents=u;let s={id:n,value:o,equals:(y,j)=>!1,name:t,subs:i};return r.contents=s,We(i),s}function nr(e){Ve(e.subs)}let Q=tr,At=nr;const rr=Object.freeze(Object.defineProperty({__proto__:null,dispose:At,make:Q},Symbol.toStringTag,{value:"Module"}));let xt="http://www.w3.org/2000/svg",kt=["svg","path","circle","ellipse","line","polygon","polyline","rect","g","defs","clipPath","mask","pattern","marker","symbol","use","text","tspan","image","foreignObject","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComposite","feFlood","feGaussianBlur","feMerge","feMergeNode","feOffset","animate","animateTransform","desc","title","metadata"],Pe={};kt.forEach(e=>{Pe[e]=!0});function ir(e){return Xe(Pe[e])}function we(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"autofocus":case"contenteditable":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let Te={setAttrOrProp:we},Me={contents:void 0};function lr(){return{disposers:[],computeds:[]}}function me(e,t){let n=Me.contents;Me.contents=e;let r=t();return Me.contents=n,r}function pe(e,t){e.disposers.push(t)}function Dt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(At)}function ge(e,t){e.__xote_owner__=t}function Ot(e){return He(e.__xote_owner__)}let c={currentOwner:Me,createOwner:lr,runWithOwner:me,addDisposer:pe,disposeOwner:Dt,setOwner:ge,getOwner:Ot};function Ct(e,t){return[e,{TAG:"Static",_0:t}]}function jt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Pt(e,t){return[e,{TAG:"Compute",_0:t}]}let ur={$$static:Ct,signal:jt,computed:Pt};function ve(e){let t=Ot(e);t!==void 0&&Dt(t),Array.from(e.childNodes||[]).forEach(ve)}function Z(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,i=Xe(Pe[l])?document.createElementNS(xt,l):document.createElement(l),u={disposers:[],computeds:[]};return ge(i,u),me(u,()=>{r.forEach(d=>{let m=d[1],A=d[0];switch(m.TAG){case"Static":return we(i,A,m._0);case"SignalValue":let O=m._0;we(i,A,X(O));let G=P(()=>{we(i,A,k(O))},void 0);return pe(u,G);case"Compute":let p=m._0,_=P(()=>{we(i,A,p())},void 0);return pe(u,_)}}),n.forEach(d=>{i.addEventListener(d[0],d[1])}),t.forEach(d=>{let m=Z(d);i.appendChild(m)})}),i;case"Text":return document.createTextNode(e._0);case"SignalText":let o=e._0,s=document.createTextNode(X(o)),y={disposers:[],computeds:[]};return ge(s,y),me(y,()=>{let d=P(()=>{s.textContent=k(o)},void 0);pe(y,d)}),s;case"Fragment":let j=document.createDocumentFragment();return e._0.forEach(d=>{let m=Z(d);j.appendChild(m)}),j;case"SignalFragment":let I=e._0,K={disposers:[],computeds:[]},M=document.createElement("div");return M.setAttribute("style","display: contents"),ge(M,K),me(K,()=>{let d=P(()=>{let m=k(I);Array.from(M.childNodes||[]).forEach(ve),M.innerHTML="",m.forEach(O=>{let G=Z(O);M.appendChild(G)})},void 0);pe(K,d)}),M;case"LazyComponent":let D={disposers:[],computeds:[]},U=me(D,e._0),V=Z(U);return ge(V,D),V;case"KeyedList":let H=e.renderItem,R=e.keyFn,Y=e.signal,be={disposers:[],computeds:[]},$=document.createComment(" keyed-list-start "),b=document.createComment(" keyed-list-end ");ge($,be);let f={},E=()=>{let d=b.parentNode;if(d==null)return;let m=k(Y),A={};m.forEach(g=>{A[R(g)]=g});let O=[];Object.keys(f).forEach(g=>{if(A[g]===void 0){O.push(g);return}}),O.forEach(g=>{let v=f[g];if(v!==void 0){ve(v.element),v.element.remove(),Ue(f,g);return}});let G=[],p={};m.forEach(g=>{let v=R(g),Ee=f[v];if(Ee!==void 0){if(Ee.item!==g){p[v]=!0;let Ke=H(g),Bi=Z(Ke),vn={key:v,item:g,element:Bi};G.push(vn),f[v]=vn;return}G.push(Ee);return}let Be=H(g),ct=Z(Be),Ie={key:v,item:g,element:ct};G.push(Ie),f[v]=Ie});let _={contents:$.nextSibling};G.forEach(g=>{let v=_.contents;if(v==null){d.insertBefore(g.element,b);return}if(v===b){d.insertBefore(g.element,b);return}if(v===g.element){_.contents=v.nextSibling;return}J(p[g.key],!1)?(ve(v),d.replaceChild(g.element,v),_.contents=g.element.nextSibling):(d.insertBefore(g.element,v),_.contents=g.element.nextSibling)})},T=document.createDocumentFragment();return T.appendChild($),X(Y).forEach(d=>{let m=R(d),A=H(d),O=Z(A),G={key:m,item:d,element:O};f[m]=G,T.appendChild(O)}),T.appendChild(b),me(be,()=>{let d=P(()=>{E()},void 0);pe(be,d)}),T}}let ne={disposeElement:ve,render:Z};function Mt(e){return{TAG:"Text",_0:e}}function or(e){return{TAG:"SignalText",_0:Q(e,void 0)}}function ar(e){return{TAG:"SignalText",_0:Q(()=>e().toString(),void 0)}}function dr(e){return{TAG:"SignalText",_0:Q(()=>e().toString(),void 0)}}function cr(e){return{TAG:"Text",_0:e.toString()}}function sr(e){return{TAG:"Text",_0:e.toString()}}function Ye(e){return{TAG:"Fragment",_0:e}}function Je(e){return{TAG:"SignalFragment",_0:e}}function fr(e,t){return{TAG:"SignalFragment",_0:Q(()=>k(e).map(t),void 0)}}function hr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function W(e,t,n,r,l){let i=t!==void 0?t:[].map(s=>s),u=n!==void 0?n:[].map(s=>s),o=r!==void 0?r:[].map(s=>s);return{TAG:"Element",tag:e,attrs:i,events:u,children:o}}function mr(){return{TAG:"Text",_0:""}}function Rt(e,t){let n=Z(e);t.appendChild(n)}function pr(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Rt(e,n)}let gr=Pe,q=Ct,se=jt,Re=Pt;const yr=Object.freeze(Object.defineProperty({__proto__:null,$$null:mr,Attributes:ur,DOM:Te,Reactivity:c,Render:ne,attr:q,computedAttr:Re,element:W,float:sr,fragment:Ye,int:cr,isSvgTag:ir,keyedList:hr,list:fr,mount:Rt,mountById:pr,signalAttr:se,signalFloat:dr,signalFragment:Je,signalInt:ar,signalText:or,svgNamespace:xt,svgTagSet:gr,svgTags:kt,text:Mt},Symbol.toStringTag,{value:"Module"}));function Sr(e,t,n,r){return W("div",e,t,n)}function _r(e,t,n,r){return W("span",e,t,n)}function br(e,t,n,r){return W("button",e,t,n)}function Er(e,t,n){return W("input",e,t,void 0)}function wr(e,t,n,r){return W("h1",e,t,n)}function Tr(e,t,n,r){return W("h2",e,t,n)}function vr(e,t,n,r){return W("h3",e,t,n)}function $r(e,t,n,r){return W("p",e,t,n)}function Ar(e,t,n,r){return W("ul",e,t,n)}function xr(e,t,n,r){return W("li",e,t,n)}function Qe(e,t,n,r){return W("a",e,t,n)}const kr=Object.freeze(Object.defineProperty({__proto__:null,a:Qe,button:br,div:Sr,h1:wr,h2:Tr,h3:vr,input:Er,li:xr,p:$r,span:_r,ul:Ar},Symbol.toStringTag,{value:"Module"}));function Lt(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function Gt(e,t,n,r){return{TAG:"LazyComponent",_0:()=>e(t)}}function Dr(e){let t=e.children;return t!==void 0?t:Ye([])}let Or=Ye;function Cr(){return Mt("")}function Ze(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function S(e,t){return Ze(t)?t.TAG==="Reactive"?se(e,t._0):q(e,t._0):typeof t=="function"?Re(e,t):typeof t=="object"?se(e,t):q(e,t)}function F(e,t){if(Ze(t)){if(t.TAG!=="Reactive")return q(e,t._0?"true":"false");let r=t._0,l=Q(()=>k(r)?"true":"false",void 0);return se(e,l)}if(typeof t=="function")return Re(e,()=>t()?"true":"false");if(typeof t!="object")return q(e,t?"true":"false");let n=Q(()=>k(t)?"true":"false",void 0);return se(e,n)}function a(e,t,n,r){if(t!==void 0){e.push(r(n,h(t)));return}}function ye(e,t,n){if(t!==void 0){e.push(q(n,t.toString()));return}}function Ft(e){let t=[];a(t,e.id,"id",S),a(t,e.class,"class",S),a(t,e.style,"style",S),a(t,e.title,"title",S),a(t,e.type,"type",S),a(t,e.name,"name",S),a(t,e.value,"value",S),a(t,e.placeholder,"placeholder",S),a(t,e.disabled,"disabled",F),a(t,e.checked,"checked",F),a(t,e.required,"required",F),a(t,e.readOnly,"readonly",F),ye(t,e.maxLength,"maxlength"),ye(t,e.minLength,"minlength"),a(t,e.min,"min",S),a(t,e.max,"max",S),a(t,e.step,"step",S),a(t,e.pattern,"pattern",S),a(t,e.autoComplete,"autocomplete",S),a(t,e.multiple,"multiple",F),a(t,e.accept,"accept",S),ye(t,e.rows,"rows"),ye(t,e.cols,"cols"),a(t,e.autofocus,"autofocus",F),a(t,e.action,"action",S),a(t,e.method,"method",S),a(t,e.for,"for",S),a(t,e.href,"href",S),a(t,e.target,"target",S),a(t,e.src,"src",S),a(t,e.alt,"alt",S),a(t,e.width,"width",S),a(t,e.height,"height",S),a(t,e.draggable,"draggable",F),a(t,e.hidden,"hidden",F),a(t,e.contentEditable,"contenteditable",F),a(t,e.spellcheck,"spellcheck",F),a(t,e.role,"role",S),ye(t,e.tabIndex,"tabindex"),a(t,e["aria-label"],"aria-label",S),a(t,e["aria-hidden"],"aria-hidden",F),a(t,e["aria-expanded"],"aria-expanded",F),a(t,e["aria-selected"],"aria-selected",F);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(S("data-"+r,l))}),t}function w(e,t,n){if(t!==void 0){e.push([n,h(t)]);return}}function Nt(e){let t=[];return w(t,e.onClick,"click"),w(t,e.onInput,"input"),w(t,e.onChange,"change"),w(t,e.onSubmit,"submit"),w(t,e.onFocus,"focus"),w(t,e.onBlur,"blur"),w(t,e.onKeyDown,"keydown"),w(t,e.onKeyUp,"keyup"),w(t,e.onMouseEnter,"mouseenter"),w(t,e.onMouseLeave,"mouseleave"),w(t,e.onMouseDown,"mousedown"),w(t,e.onMouseMove,"mousemove"),w(t,e.onMouseUp,"mouseup"),w(t,e.onContextMenu,"contextmenu"),w(t,e.onDrag,"drag"),w(t,e.onDragStart,"dragstart"),w(t,e.onDragEnd,"dragend"),w(t,e.onDragOver,"dragover"),w(t,e.onDragEnter,"dragenter"),w(t,e.onDragLeave,"dragleave"),w(t,e.onDrop,"drop"),t}function zt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function et(e,t){return{TAG:"Element",tag:e,attrs:Ft(t),events:Nt(t),children:zt(t)}}let Bt=et;function It(e,t,n,r){return et(e,t)}const jr=Object.freeze(Object.defineProperty({__proto__:null,$$null:Cr,Elements:{isReactiveProp:Ze,convertAttrValue:S,convertBoolAttrValue:F,addAttr:a,addIntAttr:ye,propsToAttrs:Ft,addEvent:w,propsToEvents:Nt,getChildren:zt,createElement:et,jsx:Bt,jsxs:Bt,jsxKeyed:It,jsxsKeyed:It},ReactiveProp:void 0,array:Or,jsx:Lt,jsxFragment:Dr,jsxKeyed:Gt,jsxs:Lt,jsxsKeyed:Gt},Symbol.toStringTag,{value:"Module"}));function Pr(e){return e.TAG==="Reactive"?k(e._0):e._0}function Mr(e){return{TAG:"Static",_0:e}}function Rr(e){return{TAG:"Reactive",_0:e}}const Lr=Object.freeze(Object.defineProperty({__proto__:null,$$static:Mr,get:Pr,reactive:Rr},Symbol.toStringTag,{value:"Module"}));function Kt(e,t){let n=e.length,r=new Array(n),l=0;for(let i=0;i<n;++i){let u=e[i],o=t(u);o!==void 0&&(r[l]=h(o),l=l+1|0)}return r.length=l,r}function Gr(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let l=t(e[r]);if(l!==void 0)return l;n=r+1|0}}function Wt(e){return Kt(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Vt(e,t){let n=t.split("/").filter(i=>i!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((i,u)=>{let o=n[u];return i.TAG==="Static"?o===i._0:(r[i._0]=o,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function tt(e,t){return Vt(Wt(e),t)}const Fr=Object.freeze(Object.defineProperty({__proto__:null,match:tt,matchPath:Vt,parsePattern:Wt},Symbol.toStringTag,{value:"Module"}));function Nr(){return Symbol.for("xote.router.state")}function z(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:qe({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function zr(){return z().location}function Br(){return z().basePath}function fe(e){if(!z().initialized){console.warn("[Xote Router] "+e+" called before Router.init(). Make sure to call Router.init() at your app entry point. This may cause incorrect routing behavior.");return}}function nt(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function Ht(e){let t=z().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function $e(e){let t=z().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function Xt(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Le(e,t){window.scrollTo(e,t)}function qt(e,t){return{scrollX:e,scrollY:t}}function rt(){return{}}function Ut(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Yt(){let e=Xt(),t=qt(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function it(){let e=window.location.pathname;return{pathname:Ht(e),search:window.location.search,hash:window.location.hash}}function Ir(e,t){let n=e!==void 0?e:"/",r=z(),l=nt(n);if(r.basePath.contents=l,ce(r.location,it()),r.initialized)return;let i=u=>{ce(z().location,it());let o=window["history.state"];if(o==null)return;let s=Ut(o);if(s!==void 0)return Le(s[0],s[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function Kr(e,t,n,r,l){let i=e!==void 0?e:"/",u=t!==void 0?t:"/",o=n!==void 0?n:"",s=r!==void 0?r:"",y=z(),j=nt(i);y.basePath.contents=j,ce(y.location,{pathname:u,search:o,hash:s}),y.initialized=!0}function lt(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";fe("Router.push()"),Yt();let u={pathname:e,search:l,hash:i},s=$e(e)+l+i;window.history.pushState(rt(),"",s),ce(z().location,u),Le(0,0)}function Wr(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";fe("Router.replace()");let u={pathname:e,search:l,hash:i},s=$e(e)+l+i;window.history.replaceState(rt(),"",s),ce(z().location,u),Le(0,0)}function Vr(e,t){return fe("Router.route()"),Je(Q(()=>{let n=k(z().location),r=tt(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Hr(e){return fe("Router.routes()"),Je(Q(()=>{let t=k(z().location),n=Gr(e,r=>{let l=tt(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function Xr(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];fe("Router.link()");let u=o=>{o.preventDefault(),lt(e,void 0,void 0)};return Qe(l.concat([q("href",$e(e))]),[["click",u]],i)}function Jt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function Se(e,t){return Jt(t)?t.TAG==="Reactive"?se(e,t._0):q(e,t._0):typeof t=="function"?Re(e,t):typeof t=="object"?se(e,t):q(e,t)}function Qt(e){let t=[],n=e.class;n!==void 0&&t.push(Se("class",h(n)));let r=e.id;r!==void 0&&t.push(Se("id",h(r)));let l=e.style;l!==void 0&&t.push(Se("style",h(l)));let i=e.target;i!==void 0&&t.push(Se("target",h(i)));let u=e["aria-label"];return u!==void 0&&t.push(Se("aria-label",h(u))),t}function Zt(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Ge(e){fe("Router.Link");let t=n=>{n.preventDefault(),lt(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return Qe(Qt(e).concat([q("href",$e(e.to))]),[["click",t]],Zt(e))}function en(e,t,n){return Ge(e)}const qr=Object.freeze(Object.defineProperty({__proto__:null,Link:{ReactiveProp:void 0,isReactiveProp:Jt,convertAttrValue:Se,propsToAttrs:Qt,getChildren:Zt,make:Ge,jsx:Ge,jsxs:Ge,jsxKeyed:en,jsxsKeyed:en},Route:void 0,addBasePath:$e,basePath:Br,emptyHistoryState:rt,getCurrentLocation:it,getGlobalState:z,getScrollFromState:Ut,getScrollPosition:Xt,getSymbolKey:Nr,init:Ir,initSSR:Kr,link:Xr,location:zr,makeHistoryState:qt,normalizeBasePath:nt,push:lt,replace:Wr,route:Vr,routes:Hr,saveScrollPosition:Yt,scrollTo:Le,stripBasePath:Ht,warnIfNotInitialized:fe},Symbol.toStringTag,{value:"Module"}));function re(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}let ut=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function Ur(e){return ut.includes(e)}let tn={escape:re,voidElements:ut,isVoidElement:Ur},nn="<!--$-->",rn="<!--/$-->",ln="<!--#-->",un="<!--/#-->",on="<!--kl-->",an="<!--/kl-->";function dn(e){return"<!--k:"+e+"-->"}let cn="<!--/k-->",sn="<!--lc-->",fn="<!--/lc-->",Yr={signalTextStart:nn,signalTextEnd:rn,signalFragmentStart:ln,signalFragmentEnd:un,keyedListStart:on,keyedListEnd:an,keyedItemStart:dn,keyedItemEnd:cn,lazyComponentStart:sn,lazyComponentEnd:fn};function hn(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=X(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"autofocus":case"checked":case"contenteditable":case"disabled":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;default:return n+'="'+re(r)+'"'}return r==="true"?n:""}function mn(e){let t=e.map(hn).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Jr={renderAttr:hn,renderAttrs:mn};function ie(e){switch(e.TAG){case"Element":let t=e.tag,n=mn(e.attrs);if(ut.includes(t))return"<"+t+n+" />";let r=e.children.map(ie).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return re(e._0);case"SignalText":let l=X(e._0);return nn+re(l)+rn;case"Fragment":return e._0.map(ie).join("");case"SignalFragment":let u=X(e._0).map(ie).join("");return ln+u+un;case"LazyComponent":let o=e._0();return sn+ie(o)+fn;case"KeyedList":let s=e.renderItem,y=e.keyFn,I=X(e.signal).map(K=>{let M=y(K),D=ie(s(K));return dn(M)+D+cn}).join("");return on+I+an}}function pn(e,t){return ie(e())}function Qr(e,t,n){let r=t!==void 0?t:"root",l=e(),i=ie(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function gn(e){return"<script"+(e!==void 0?' nonce="'+re(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Zr(e,t,n,r,l,i,u){let o=e!==void 0?e:"",s=t!==void 0?t:"",y=n!==void 0?n:[],j=r!==void 0?r:[],I=l!==void 0?l:"",K=pn(u),M=gn(i),D=j.map(V=>'<link rel="stylesheet" href="'+re(V)+'" />').join(`
|
|
2
|
-
`),
|
|
1
|
+
(function(P,ae){typeof exports=="object"&&typeof module<"u"?ae(exports):typeof define=="function"&&define.amd?define(["exports"],ae):(P=typeof globalThis<"u"?globalThis:P||self,ae(P.xote={}))})(this,(function(P){"use strict";let ae={contents:0};function $e(){return ae.contents=ae.contents+1|0,ae.contents}let Se={contents:0},be={contents:0};function _t(){return{first:void 0,last:void 0,computedSubscriberCount:0,version:0,compute:void 0,firstDep:void 0,lastDep:void 0,flags:0,level:0,deferEffectsUntilRecompute:!1,lastGlobalVersion:0}}function vt(e,t){return{first:void 0,last:void 0,computedSubscriberCount:0,version:0,compute:e,firstDep:void 0,lastDep:void 0,flags:1,level:0,deferEffectsUntilRecompute:t!==void 0?t:!1,lastGlobalVersion:0}}function Nn(e,t,n,r,l){return{id:e,kind:t,run:n,firstDep:void 0,lastDep:void 0,flags:1,level:0,name:r,backingSubs:l}}function Et(e){e.flags=e.flags&-2}function Bn(e){return(e.flags&2)!==0}function zn(e){e.flags=e.flags|2}function In(e){e.flags=e.flags&-3}function Tt(e){return(e.flags&1)!==0}function wt(e){e.flags=e.flags|1}function Fe(e){e.flags=e.flags&-2}function Wn(e){return(e.flags&2)!==0}function Kn(e){e.flags=e.flags|2}function Hn(e){e.flags=e.flags&-3}function fe(e){return e.compute!==void 0}function Ne(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0,lastTrackedVersion:0}}function Be(e,t){t.prevSub=e.last,t.nextSub=void 0;let n=e.last;if(n!==void 0?n.nextSub=t:e.first=t,e.last=t,t.observer.compute!==void 0){e.computedSubscriberCount=e.computedSubscriberCount+1|0;return}}function Dt(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 ze(e){let t=e.subs,n=e.prevSub;n!==void 0?n.nextSub=e.nextSub:t.first=e.nextSub;let r=e.nextSub;if(r!==void 0?r.prevSub=e.prevSub:t.last=e.prevSub,e.prevSub=void 0,e.nextSub=void 0,e.observer.compute!==void 0&&t.computedSubscriberCount>0){t.computedSubscriberCount=t.computedSubscriberCount-1|0;return}}function qn(e,t){let n=t.prevDep;n!==void 0?n.nextDep=t.nextDep:e.firstDep=t.nextDep;let r=t.nextDep;r!==void 0?r.prevDep=t.prevDep:e.lastDep=t.prevDep,t.prevDep=void 0,t.nextDep=void 0}function Xn(e,t){let n=t.prevDep;n!==void 0?n.nextDep=t.nextDep:e.firstDep=t.nextDep;let r=t.nextDep;r!==void 0?r.prevDep=t.prevDep:e.lastDep=t.prevDep,t.prevDep=void 0,t.nextDep=void 0}function Un(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;ze(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function Yn(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;ze(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function xt(e,t){t.prevDep=e.lastDep,t.nextDep=void 0;let n=e.lastDep;n!==void 0?n.nextDep=t:e.firstDep=t,e.lastDep=t}let V={contents:void 0},N={contents:void 0},B={contents:0},z={contents:void 0},I={contents:void 0},Y=[],J=[],le={contents:!1},Ae={contents:!1},Oe={contents:!1},kt={contents:0},$t={contents:0},Ce=[],Jn=(function(e){e.length=0}),At=(function(e,t){if(!(t<=0)){if(t>=e.length){e.length=0;return}e.copyWithin(0,t),e.length=e.length-t}});function et(e){if(Bn(e))return;zn(e),Y.length===0?Ae.contents=!1:e.level<kt.contents&&(Ae.contents=!0),Y.push(e),kt.contents=e.level}function Qn(e){if(Wn(e))return;Kn(e),J.length===0?Oe.contents=!1:e.level<$t.contents&&(Oe.contents=!0),J.push(e),$t.contents=e.level}function Zn(e,t){if(e.firstDep===void 0){let u=Ne(t,e);u.lastTrackedVersion=B.contents,xt(e,u),Be(t,u),z.contents=u;return}let n=B.contents,r=!1,l=z.contents;if(l!==void 0)if(l.subs===t&&l.observer===e)l.lastTrackedVersion=n,r=!0;else{let u=l.nextDep;u!==void 0&&u.subs===t&&u.observer===e&&(u.lastTrackedVersion=n,z.contents=u,r=!0)}if(!r){let u=t.last;u!==void 0&&u.lastTrackedVersion===n&&u.observer===e&&(u.lastTrackedVersion=n,z.contents=u,r=!0)}if(r)return;let i=!1,o,d=e.firstDep;for(;d!==void 0&&!i;){let u=d;u!==void 0&&(u.subs===t?(u.lastTrackedVersion=n,o=u,i=!0):d=u.nextDep)}if(i){z.contents=o;return}let s=Ne(t,e);s.lastTrackedVersion=n,xt(e,s),Be(t,s),z.contents=s}function er(e,t){if(e.firstDep===void 0){let u=Ne(t,e);u.lastTrackedVersion=B.contents,Dt(e,u),Be(t,u),I.contents=u;return}let n=B.contents,r=!1,l=I.contents;if(l!==void 0)if(l.subs===t&&l.observer===e)l.lastTrackedVersion=n,r=!0;else{let u=l.nextDep;u!==void 0&&u.subs===t&&u.observer===e&&(u.lastTrackedVersion=n,I.contents=u,r=!0)}if(!r){let u=t.last;u!==void 0&&u.lastTrackedVersion===n&&u.observer===e&&(u.lastTrackedVersion=n,I.contents=u,r=!0)}if(r)return;let i=!1,o,d=e.firstDep;for(;d!==void 0&&!i;){let u=d;u!==void 0&&(u.subs===t?(u.lastTrackedVersion=n,o=u,i=!0):d=u.nextDep)}if(i){I.contents=o;return}let s=Ne(t,e);s.lastTrackedVersion=n,Dt(e,s),Be(t,s),I.contents=s}function tr(e){let t=V.contents;if(t!==void 0)return Zn(t,e);let n=N.contents;if(n!==void 0)return er(n,e)}function nr(e,t){return e.level-t.level|0}function rr(e,t){return e.level-t.level|0}function Ot(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(fe(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Ct(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(fe(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Pt(e,t){let n=B.contents,r=e.version;Se.contents=Se.contents+1|0,B.contents=Se.contents,t&&Hn(e);let l=V.contents,i=z.contents;V.contents=e,z.contents=e.firstDep;try{let o=e.compute;o!==void 0&&o();let d=e.firstDep;for(;d!==void 0;){let s=d;if(s!==void 0){let u=s.nextDep;s.lastTrackedVersion!==B.contents&&(ze(s),Xn(e,s)),d=u}}if(Fe(e),e.lastGlobalVersion=be.contents,e.first!==void 0&&e.version!==r){let s=e.first;for(;s!==void 0;){let u=s;if(u!==void 0){let S=u.observer;if(fe(S))wt(S);else{let x=N.contents;x!==void 0&&x===u.observer||et(u.observer)}s=u.nextSub}}}V.contents=l,z.contents=i,B.contents=n;return}catch(o){throw V.contents=l,z.contents=i,B.contents=n,o}}function lr(e){let t=e.level;if(Pt(e,!0),t===0){e.level=Ot(e);return}}function ir(e){let t=e.level,n=B.contents;Se.contents=Se.contents+1|0,B.contents=Se.contents,In(e);let r=N.contents,l=I.contents;N.contents=e,I.contents=e.firstDep;try{e.run();let i=e.firstDep;for(;i!==void 0;){let o=i;if(o!==void 0){let d=o.nextDep;o.lastTrackedVersion!==B.contents&&(ze(o),qn(e,o)),i=d}}Et(e),N.contents=r,I.contents=l,B.contents=n}catch(i){throw N.contents=r,I.contents=l,B.contents=n,i}if(t===0){e.level=Ct(e);return}}function jt(){le.contents=!0;try{for(;Y.length!==0||J.length!==0;){if(J.length!==0){let e=J.length;e>1&&Oe.contents&&(J.sort(rr),Oe.contents=!1);let t=0;for(;t<e;){let n=J[t];n!==void 0&&lr(n),t=t+1|0}At(J,e),J.length===0&&(Oe.contents=!1)}if(Y.length!==0){let e=Y.length;e>1&&Ae.contents&&(Y.sort(nr),Ae.contents=!1);let t=0;for(;t<e;){let n=Y[t];n!==void 0&&ir(n),t=t+1|0}At(Y,e),Y.length===0&&(Ae.contents=!1)}}le.contents=!1;return}catch(e){throw le.contents=!1,e}}function ur(e){if(e.first!==void 0)if(!fe(e)&&e.computedSubscriberCount===0){let t=e.first;for(;t!==void 0;){let n=t;n!==void 0&&(et(n.observer),t=n.nextSub)}}else{Ce.push(e);let t=0;for(;t<Ce.length;){let n=Ce[t];if(t=t+1|0,n!==void 0){let r=n.first;for(;r!==void 0;){let l=r;if(l!==void 0){let i=l.observer;fe(i)?Tt(i)||(wt(i),Ce.push(i)):fe(n)&&n.deferEffectsUntilRecompute?Qn(n):et(l.observer),r=l.nextSub}}}}Jn(Ce)}if((Y.length!==0||J.length!==0)&&!le.contents)return jt()}function Rt(e){if(!fe(e)||!Tt(e))return;if(e.lastGlobalVersion===be.contents)return Fe(e);let t=e.level;if(Pt(e,!1),t===0){e.level=Ot(e);return}}function or(e){let t=le.contents;le.contents=!0;try{let n=e();return t||(le.contents=!1,(Y.length!==0||J.length!==0)&&jt()),n}catch(n){throw t||(le.contents=!1),n}}function dr(e){let t=V.contents,n=N.contents,r=z.contents,l=I.contents;V.contents=void 0,N.contents=void 0,z.contents=void 0,I.contents=void 0;try{let i=e();return V.contents=t,N.contents=n,z.contents=r,I.contents=l,i}catch(i){throw V.contents=t,N.contents=n,z.contents=r,I.contents=l,i}}function Mt(e,t){let n=$e(),r={contents:void 0},i=Nn(n,"Effect",()=>{let u=r.contents;u!==void 0&&u(),r.contents=e()},t,void 0),o=N.contents;N.contents=i;try{i.run(),Et(i),N.contents=o}catch(u){throw N.contents=o,u}i.level=Ct(i);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let u=r.contents;u!==void 0&&u(),Un(i)}}}function sr(e,t){Mt(e,t)}let L=Mt;const cr=Object.freeze(Object.defineProperty({__proto__:null,run:sr,runWithDisposer:L},Symbol.toStringTag,{value:"Module"}));function Vt(e,t){return e===t}function Lt(e,t){return!1}function ar(e,t,n){return{id:$e(),value:e,equals:n!==void 0?n:Vt,name:t,subs:_t()}}function fr(e,t){return{id:$e(),value:e,equals:Lt,name:t,subs:_t()}}function hr(e){return Rt(e.subs),tr(e.subs),e.value}function mr(e){return Rt(e.subs),e.value}function Gt(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,be.contents=be.contents+1|0,ur(e.subs)}function pr(e,t){Gt(e,t(e.value))}let gr=or,yr=dr,Sr=Vt,br=Lt,tt=ar,_r=fr,j=hr,Q=mr,he=Gt;const vr=Object.freeze(Object.defineProperty({__proto__:null,batch:gr,defaultEquals:Sr,get:j,make:tt,makeForComputed:_r,neverEquals:br,peek:Q,set:he,untrack:yr,update:pr},Symbol.toStringTag,{value:"Module"}));function nt(e,t){delete e[t]}function Ft(e,t){let n=$e(),r=(S,x)=>!1,l={contents:void 0},o=vt(()=>{let S=l.contents,x=e();S.value=x,S.subs.version=S.subs.version+1|0},!1),d=V.contents;V.contents=o;let s=e();V.contents=d;let u={id:n,value:s,equals:r,name:t,subs:o};return l.contents=u,o.lastGlobalVersion=be.contents,Fe(o),u}function Nt(e,t,n){let r=$e(),l={contents:void 0},o=vt(()=>{let S=l.contents,x=S.value,M=e(),O;try{O=!S.equals(x,M)}catch{O=!0}if(O){S.value=M,S.subs.version=S.subs.version+1|0;return}},!0),d=V.contents;V.contents=o;let s=e();V.contents=d;let u={id:r,value:s,equals:t,name:n,subs:o};return l.contents=u,o.lastGlobalVersion=be.contents,Fe(o),u}function Er(e,t,n){return n!==void 0?Nt(e,n,t):Ft(e,t)}function Tr(e){Yn(e.subs)}let wr=Ft,Dr=Nt,ne=Er,Bt=Tr;const xr=Object.freeze(Object.defineProperty({__proto__:null,dispose:Bt,make:ne,makeWithEquals:Dr,makeWithoutEquals:wr},Symbol.toStringTag,{value:"Module"}));function me(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 rt(e){if(e!=null)return me(e)}function p(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 kr(e,t){if(e!==void 0)return me(t(p(e)))}function ie(e,t){return e!==void 0?p(e):t}function lt(e){return e!==void 0}let zt="http://www.w3.org/2000/svg",It=["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"],Ie={};It.forEach(e=>{Ie[e]=!0});function $r(e){return lt(Ie[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"autofocus":case"contenteditable":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let je={setAttrOrProp:Pe},We={contents:void 0};function Ar(){return{disposers:[],computeds:[]}}function _e(e,t){let n=We.contents;We.contents=e;let r=t();return We.contents=n,r}function ve(e,t){e.disposers.push(t)}function Wt(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(Bt)}function Ee(e,t){e.__xote_owner__=t}function Kt(e){return rt(e.__xote_owner__)}let a={currentOwner:We,createOwner:Ar,runWithOwner:_e,addDisposer:ve,disposeOwner:Wt,setOwner:Ee,getOwner:Kt};function Ht(e,t){return[e,{TAG:"Static",_0:t}]}function qt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Xt(e,t){return[e,{TAG:"Compute",_0:t}]}let Or={$$static:Ht,signal:qt,computed:Xt};function Re(e){let t=Kt(e);t!==void 0&&Wt(t),Array.from(e.childNodes||[]).forEach(Re)}function re(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,i=lt(Ie[l])?document.createElementNS(zt,l):document.createElement(l),o={disposers:[],computeds:[]};return Ee(i,o),_e(o,()=>{let h=g=>l==="select"?g[0]==="value":!1,T=g=>{let $=g[1],R=g[0];switch($.TAG){case"Static":return Pe(i,R,$._0);case"SignalValue":let y=$._0;Pe(i,R,Q(y));let _=L(()=>{Pe(i,R,j(y))},void 0);return ve(o,_);case"Compute":let m=$._0,w=L(()=>{Pe(i,R,m())},void 0);return ve(o,w)}};r.forEach(g=>{if(!h(g))return T(g)}),n.forEach(g=>{i.addEventListener(g[0],g[1])}),t.forEach(g=>{let $=re(g);i.appendChild($)}),r.forEach(g=>{if(h(g))return T(g)})}),i;case"Text":return document.createTextNode(e._0);case"SignalText":let d=e._0,s=document.createTextNode(Q(d)),u={disposers:[],computeds:[]};return Ee(s,u),_e(u,()=>{let h=L(()=>{s.textContent=j(d)},void 0);ve(u,h)}),s;case"Fragment":let S=document.createDocumentFragment();return e._0.forEach(h=>{let T=re(h);S.appendChild(T)}),S;case"SignalFragment":let x=e._0,M={disposers:[],computeds:[]},O=document.createElement("div");return O.setAttribute("style","display: contents"),Ee(O,M),_e(M,()=>{let h=L(()=>{let T=j(x);Array.from(O.childNodes||[]).forEach(Re),O.innerHTML="",T.forEach($=>{let R=re($);O.appendChild(R)})},void 0);ve(M,h)}),O;case"LazyComponent":let C={disposers:[],computeds:[]},ee=_e(C,e._0),X=re(ee);return Ee(X,C),X;case"KeyedList":let U=e.renderItem,G=e.keyFn,te=e.signal,xe={disposers:[],computeds:[]},A=document.createComment(" keyed-list-start "),v=document.createComment(" keyed-list-end ");Ee(A,xe);let f={},E=()=>{let h=v.parentNode;if(h==null)return;let T=j(te),g={};T.forEach(m=>{g[G(m)]=m});let $=[];Object.keys(f).forEach(m=>{if(g[m]===void 0){$.push(m);return}}),$.forEach(m=>{let w=f[m];if(w!==void 0){Re(w.element),w.element.remove(),nt(f,m);return}});let R=[],y={};T.forEach(m=>{let w=G(m),ke=f[w];if(ke!==void 0){if(ke.item!==m){y[w]=!0;let Ze=U(m),ai=re(Ze),Fn={key:w,item:m,element:ai};R.push(Fn),f[w]=Fn;return}R.push(ke);return}let Je=U(m),bt=re(Je),Qe={key:w,item:m,element:bt};R.push(Qe),f[w]=Qe});let _={contents:A.nextSibling};R.forEach(m=>{let w=_.contents;if(w==null){h.insertBefore(m.element,v);return}if(w===v){h.insertBefore(m.element,v);return}if(w===m.element){_.contents=w.nextSibling;return}ie(y[m.key],!1)?(Re(w),h.replaceChild(m.element,w),_.contents=m.element.nextSibling):(h.insertBefore(m.element,w),_.contents=m.element.nextSibling)})},k=document.createDocumentFragment();return k.appendChild(A),Q(te).forEach(h=>{let T=G(h),g=U(h),$=re(g),R={key:T,item:h,element:$};f[T]=R,k.appendChild($)}),k.appendChild(v),_e(xe,()=>{let h=L(()=>{E()},void 0);ve(xe,h)}),k}}let ue={disposeElement:Re,render:re};function Ut(e){return{TAG:"Text",_0:e}}function Cr(e){return{TAG:"SignalText",_0:ne(e,void 0,void 0)}}function Pr(e){return{TAG:"SignalText",_0:ne(()=>e().toString(),void 0,void 0)}}function jr(e){return{TAG:"SignalText",_0:ne(()=>e().toString(),void 0,void 0)}}function Rr(e){return{TAG:"Text",_0:e.toString()}}function Mr(e){return{TAG:"Text",_0:e.toString()}}function it(e){return{TAG:"Fragment",_0:e}}function ut(e){return{TAG:"SignalFragment",_0:e}}function Vr(e,t){return{TAG:"SignalFragment",_0:ne(()=>j(e).map(t),void 0,void 0)}}function Lr(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function q(e,t,n,r,l){let i=t!==void 0?t:[].map(s=>s),o=n!==void 0?n:[].map(s=>s),d=r!==void 0?r:[].map(s=>s);return{TAG:"Element",tag:e,attrs:i,events:o,children:d}}function Gr(){return{TAG:"Text",_0:""}}function Yt(e,t){let n=re(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 Yt(e,n)}let Nr=Ie,Z=Ht,pe=qt,Ke=Xt;const Br=Object.freeze(Object.defineProperty({__proto__:null,$$null:Gr,Attributes:Or,DOM:je,Reactivity:a,Render:ue,attr:Z,computedAttr:Ke,element:q,float:Mr,fragment:it,int:Rr,isSvgTag:$r,keyedList:Lr,list:Vr,mount:Yt,mountById:Fr,signalAttr:pe,signalFloat:jr,signalFragment:ut,signalInt:Pr,signalText:Cr,svgNamespace:zt,svgTagSet:Nr,svgTags:It,text:Ut},Symbol.toStringTag,{value:"Module"}));function zr(e,t,n,r){return q("div",e,t,n)}function Ir(e,t,n,r){return q("span",e,t,n)}function Wr(e,t,n,r){return q("button",e,t,n)}function Kr(e,t,n){return q("input",e,t,void 0)}function Hr(e,t,n,r){return q("h1",e,t,n)}function qr(e,t,n,r){return q("h2",e,t,n)}function Xr(e,t,n,r){return q("h3",e,t,n)}function Ur(e,t,n,r){return q("p",e,t,n)}function Yr(e,t,n,r){return q("ul",e,t,n)}function Jr(e,t,n,r){return q("li",e,t,n)}function ot(e,t,n,r){return q("a",e,t,n)}const Qr=Object.freeze(Object.defineProperty({__proto__:null,a:ot,button:Wr,div:zr,h1:Hr,h2:qr,h3:Xr,input:Kr,li:Jr,p:Ur,span:Ir,ul:Yr},Symbol.toStringTag,{value:"Module"}));function Jt(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function Qt(e,t,n,r){return{TAG:"LazyComponent",_0:()=>e(t)}}function Zr(e){let t=e.children;return t!==void 0?t:it([])}let el=it;function tl(){return Ut("")}function dt(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function b(e,t){return dt(t)?t.TAG==="Reactive"?pe(e,t._0):Z(e,t._0):typeof t=="function"?Ke(e,t):typeof t=="object"?pe(e,t):Z(e,t)}function W(e,t){if(dt(t)){if(t.TAG!=="Reactive")return Z(e,t._0?"true":"false");let r=t._0,l=ne(()=>j(r)?"true":"false",void 0,void 0);return pe(e,l)}if(typeof t=="function")return Ke(e,()=>t()?"true":"false");if(typeof t!="object")return Z(e,t?"true":"false");let n=ne(()=>j(t)?"true":"false",void 0,void 0);return pe(e,n)}function c(e,t,n,r){if(t!==void 0){e.push(r(n,p(t)));return}}function Te(e,t,n){if(t!==void 0){e.push(Z(n,t.toString()));return}}function Zt(e){let t=[];c(t,e.id,"id",b),c(t,e.class,"class",b),c(t,e.style,"style",b),c(t,e.title,"title",b),c(t,e.type,"type",b),c(t,e.name,"name",b),c(t,e.value,"value",b),c(t,e.placeholder,"placeholder",b),c(t,e.disabled,"disabled",W),c(t,e.checked,"checked",W),c(t,e.required,"required",W),c(t,e.readOnly,"readonly",W),Te(t,e.maxLength,"maxlength"),Te(t,e.minLength,"minlength"),c(t,e.min,"min",b),c(t,e.max,"max",b),c(t,e.step,"step",b),c(t,e.pattern,"pattern",b),c(t,e.autoComplete,"autocomplete",b),c(t,e.multiple,"multiple",W),c(t,e.accept,"accept",b),Te(t,e.rows,"rows"),Te(t,e.cols,"cols"),c(t,e.autofocus,"autofocus",W),c(t,e.action,"action",b),c(t,e.method,"method",b),c(t,e.for,"for",b),c(t,e.href,"href",b),c(t,e.target,"target",b),c(t,e.src,"src",b),c(t,e.alt,"alt",b),c(t,e.width,"width",b),c(t,e.height,"height",b),c(t,e.draggable,"draggable",W),c(t,e.hidden,"hidden",W),c(t,e.contentEditable,"contenteditable",W),c(t,e.spellcheck,"spellcheck",W),c(t,e.role,"role",b),Te(t,e.tabIndex,"tabindex"),c(t,e["aria-label"],"aria-label",b),c(t,e["aria-hidden"],"aria-hidden",W),c(t,e["aria-expanded"],"aria-expanded",W),c(t,e["aria-selected"],"aria-selected",W);let n=e.data;return n!==void 0&&Object.entries(n).forEach(([r,l])=>{t.push(b("data-"+r,l))}),t}function D(e,t,n){if(t!==void 0){e.push([n,p(t)]);return}}function en(e){let t=[];return D(t,e.onClick,"click"),D(t,e.onInput,"input"),D(t,e.onChange,"change"),D(t,e.onSubmit,"submit"),D(t,e.onFocus,"focus"),D(t,e.onBlur,"blur"),D(t,e.onKeyDown,"keydown"),D(t,e.onKeyUp,"keyup"),D(t,e.onMouseEnter,"mouseenter"),D(t,e.onMouseLeave,"mouseleave"),D(t,e.onMouseDown,"mousedown"),D(t,e.onMouseMove,"mousemove"),D(t,e.onMouseUp,"mouseup"),D(t,e.onContextMenu,"contextmenu"),D(t,e.onDrag,"drag"),D(t,e.onDragStart,"dragstart"),D(t,e.onDragEnd,"dragend"),D(t,e.onDragOver,"dragover"),D(t,e.onDragEnter,"dragenter"),D(t,e.onDragLeave,"dragleave"),D(t,e.onDrop,"drop"),t}function tn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function st(e,t){return{TAG:"Element",tag:e,attrs:Zt(t),events:en(t),children:tn(t)}}let nn=st;function rn(e,t,n,r){return st(e,t)}const nl=Object.freeze(Object.defineProperty({__proto__:null,$$null:tl,Elements:{isReactiveProp:dt,convertAttrValue:b,convertBoolAttrValue:W,addAttr:c,addIntAttr:Te,propsToAttrs:Zt,addEvent:D,propsToEvents:en,getChildren:tn,createElement:st,jsx:nn,jsxs:nn,jsxKeyed:rn,jsxsKeyed:rn},ReactiveProp:void 0,array:el,jsx:Jt,jsxFragment:Zr,jsxKeyed:Qt,jsxs:Jt,jsxsKeyed:Qt},Symbol.toStringTag,{value:"Module"}));function rl(e){return e.TAG==="Reactive"?j(e._0):e._0}function ll(e){return{TAG:"Static",_0:e}}function il(e){return{TAG:"Reactive",_0:e}}const ul=Object.freeze(Object.defineProperty({__proto__:null,$$static:ll,get:rl,reactive:il},Symbol.toStringTag,{value:"Module"}));function ln(e,t){let n=e.length,r=new Array(n),l=0;for(let i=0;i<n;++i){let o=e[i],d=t(o);d!==void 0&&(r[l]=p(d),l=l+1|0)}return r.length=l,r}function ol(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 un(e){return ln(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function on(e,t){let n=t.split("/").filter(i=>i!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((i,o)=>{let d=n[o];return i.TAG==="Static"?d===i._0:(r[i._0]=d,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function ct(e,t){return on(un(e),t)}const dl=Object.freeze(Object.defineProperty({__proto__:null,match:ct,matchPath:on,parsePattern:un},Symbol.toStringTag,{value:"Module"}));function sl(){return Symbol.for("xote.router.state")}function K(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:tt({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function cl(){return K().location}function al(){return K().basePath}function ge(e){if(!K().initialized){console.warn("[Xote Router] "+e+" called before Router.init(). Make sure to call Router.init() at your app entry point. This may cause incorrect routing behavior.");return}}function at(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function dn(e){let t=K().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function Me(e){let t=K().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function sn(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function He(e,t){window.scrollTo(e,t)}function cn(e,t){return{scrollX:e,scrollY:t}}function ft(){return{}}function an(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function fn(){let e=sn(),t=cn(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function ht(){let e=window.location.pathname;return{pathname:dn(e),search:window.location.search,hash:window.location.hash}}function fl(e,t){let n=e!==void 0?e:"/",r=K(),l=at(n);if(r.basePath.contents=l,he(r.location,ht()),r.initialized)return;let i=o=>{he(K().location,ht());let d=window["history.state"];if(d==null)return;let s=an(d);if(s!==void 0)return He(s[0],s[1])};r.popStateHandler=i,window.addEventListener("popstate",i),r.initialized=!0}function hl(e,t,n,r,l){let i=e!==void 0?e:"/",o=t!==void 0?t:"/",d=n!==void 0?n:"",s=r!==void 0?r:"",u=K(),S=at(i);u.basePath.contents=S,he(u.location,{pathname:o,search:d,hash:s}),u.initialized=!0}function mt(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";ge("Router.push()"),fn();let o={pathname:e,search:l,hash:i},s=Me(e)+l+i;window.history.pushState(ft(),"",s),he(K().location,o),He(0,0)}function ml(e,t,n,r){let l=t!==void 0?t:"",i=n!==void 0?n:"";ge("Router.replace()");let o={pathname:e,search:l,hash:i},s=Me(e)+l+i;window.history.replaceState(ft(),"",s),he(K().location,o),He(0,0)}function pl(e,t){return ge("Router.route()"),ut(ne(()=>{let n=j(K().location),r=ct(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0,void 0))}function gl(e){return ge("Router.routes()"),ut(ne(()=>{let t=j(K().location),n=ol(e,r=>{let l=ct(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0,void 0))}function yl(e,t,n,r){let l=t!==void 0?t:[],i=n!==void 0?n:[];ge("Router.link()");let o=d=>{d.preventDefault(),mt(e,void 0,void 0)};return ot(l.concat([Z("href",Me(e))]),[["click",o]],i)}function hn(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function we(e,t){return hn(t)?t.TAG==="Reactive"?pe(e,t._0):Z(e,t._0):typeof t=="function"?Ke(e,t):typeof t=="object"?pe(e,t):Z(e,t)}function mn(e){let t=[],n=e.class;n!==void 0&&t.push(we("class",p(n)));let r=e.id;r!==void 0&&t.push(we("id",p(r)));let l=e.style;l!==void 0&&t.push(we("style",p(l)));let i=e.target;i!==void 0&&t.push(we("target",p(i)));let o=e["aria-label"];return o!==void 0&&t.push(we("aria-label",p(o))),t}function pn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function qe(e){ge("Router.Link");let t=n=>{n.preventDefault(),mt(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return ot(mn(e).concat([Z("href",Me(e.to))]),[["click",t]],pn(e))}function gn(e,t,n){return qe(e)}const Sl=Object.freeze(Object.defineProperty({__proto__:null,Link:{ReactiveProp:void 0,isReactiveProp:hn,convertAttrValue:we,propsToAttrs:mn,getChildren:pn,make:qe,jsx:qe,jsxs:qe,jsxKeyed:gn,jsxsKeyed:gn},Route:void 0,addBasePath:Me,basePath:al,emptyHistoryState:ft,getCurrentLocation:ht,getGlobalState:K,getScrollFromState:an,getScrollPosition:sn,getSymbolKey:sl,init:fl,initSSR:hl,link:yl,location:cl,makeHistoryState:cn,normalizeBasePath:at,push:mt,replace:ml,route:pl,routes:gl,saveScrollPosition:fn,scrollTo:He,stripBasePath:dn,warnIfNotInitialized:ge},Symbol.toStringTag,{value:"Module"}));function oe(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}let pt=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function bl(e){return pt.includes(e)}let yn={escape:oe,voidElements:pt,isVoidElement:bl},Sn="<!--$-->",bn="<!--/$-->",_n="<!--#-->",vn="<!--/#-->",En="<!--kl-->",Tn="<!--/kl-->";function wn(e){return"<!--k:"+e+"-->"}let Dn="<!--/k-->",xn="<!--lc-->",kn="<!--/lc-->",_l={signalTextStart:Sn,signalTextEnd:bn,signalFragmentStart:_n,signalFragmentEnd:vn,keyedListStart:En,keyedListEnd:Tn,keyedItemStart:wn,keyedItemEnd:Dn,lazyComponentStart:xn,lazyComponentEnd:kn};function $n(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=Q(t._0);break;case"Compute":r=t._0();break}switch(n){case"aria-expanded":case"aria-hidden":case"aria-selected":case"autofocus":case"checked":case"contenteditable":case"disabled":case"draggable":case"hidden":case"multiple":case"readonly":case"required":case"spellcheck":break;default:return n+'="'+oe(r)+'"'}return r==="true"?n:""}function An(e){let t=e.map($n).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let vl={renderAttr:$n,renderAttrs:An};function de(e){switch(e.TAG){case"Element":let t=e.tag,n=An(e.attrs);if(pt.includes(t))return"<"+t+n+" />";let r=e.children.map(de).join("");return"<"+t+n+">"+r+"</"+t+">";case"Text":return oe(e._0);case"SignalText":let l=Q(e._0);return Sn+oe(l)+bn;case"Fragment":return e._0.map(de).join("");case"SignalFragment":let o=Q(e._0).map(de).join("");return _n+o+vn;case"LazyComponent":let d=e._0();return xn+de(d)+kn;case"KeyedList":let s=e.renderItem,u=e.keyFn,x=Q(e.signal).map(M=>{let O=u(M),C=de(s(M));return wn(O)+C+Dn}).join("");return En+x+Tn}}function On(e,t){return de(e())}function El(e,t,n){let r=t!==void 0?t:"root",l=e(),i=de(l);return"<!--xote-root:"+r+"-->"+i+"<!--/xote-root-->"}function Cn(e){return"<script"+(e!==void 0?' nonce="'+oe(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Tl(e,t,n,r,l,i,o){let d=e!==void 0?e:"",s=t!==void 0?t:"",u=n!==void 0?n:[],S=r!==void 0?r:[],x=l!==void 0?l:"",M=On(o),O=Cn(i),C=S.map(X=>'<link rel="stylesheet" href="'+oe(X)+'" />').join(`
|
|
2
|
+
`),ee=u.map(X=>{let U=i!==void 0?' nonce="'+oe(i)+'"':"";return'<script type="module" src="'+oe(X)+'"'+U+"><\/script>"}).join(`
|
|
3
3
|
`);return`<!DOCTYPE html>
|
|
4
4
|
<html>
|
|
5
5
|
<head>
|
|
6
6
|
<meta charset="UTF-8" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
-
`+
|
|
9
|
-
`+
|
|
8
|
+
`+C+`
|
|
9
|
+
`+d+`
|
|
10
10
|
</head>
|
|
11
11
|
<body`+(s!==""?" "+s:"")+`>
|
|
12
|
-
<div id="root">`+
|
|
13
|
-
`+
|
|
14
|
-
`+
|
|
15
|
-
`+
|
|
12
|
+
<div id="root">`+M+`</div>
|
|
13
|
+
`+x+`
|
|
14
|
+
`+O+`
|
|
15
|
+
`+ee+`
|
|
16
16
|
</body>
|
|
17
|
-
</html>`}const
|
|
17
|
+
</html>`}const wl=Object.freeze(Object.defineProperty({__proto__:null,Attributes:vl,Html:yn,Markers:_l,generateHydrationScript:Cn,renderDocument:Tl,renderNodeToString:de,renderToString:On,renderToStringWithRoot:El},Symbol.toStringTag,{value:"Module"}));let Ve=typeof document>"u",Xe=!Ve;function Dl(e){if(Ve)return me(e())}function xl(e){if(Xe)return me(e())}function Pn(e,t){return Ve?e():t()}const kl=Object.freeze(Object.defineProperty({__proto__:null,isClient:Xe,isServer:Ve,match:Pn,onClient:xl,onServer:Dl},Symbol.toStringTag,{value:"Module"}));function $l(e){if(typeof e=="boolean")return e}function Al(e){if(e===null)return null}function Ol(e){if(typeof e=="string")return e}function Cl(e){if(typeof e=="number")return e}function Pl(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function jl(e){if(Array.isArray(e))return e}let ye={bool:$l,$$null:Al,string:Ol,float:Cl,object:Pl,array:jl};function Rl(e){return e}function Ml(e){let t=ye.float(e);if(t!==void 0)return t|0}let Vl={encode:Rl,decode:Ml};function Ll(e){return e}function Gl(e){return ye.float(e)}let Fl={encode:Ll,decode:Gl};function Nl(e){return e}function Bl(e){return ye.string(e)}let zl={encode:Nl,decode:Bl};function Il(e){return e}function Wl(e){return ye.bool(e)}let Kl={encode:Il,decode:Wl};function Hl(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=ye.array(t);if(n===void 0)return;let r=ln(n,e.decode);if(r.length===n.length)return r}}}function ql(e){return{encode:t=>t!==void 0?e.encode(p(t)):null,decode:t=>lt(ye.$$null(t))?me(void 0):kr(e.decode(t),n=>me(n))}}function Xl(e,t){return{encode:n=>[e.encode(n[0]),t.encode(n[1])],decode:n=>{let r=Array.isArray(n)?n:void 0;if(r===void 0||r.length!==2)return;let l=r[0],i=r[1],o=e.decode(l),d=t.decode(i);if(o!==void 0&&d!==void 0)return[p(o),p(d)]}}}function Ul(e,t,n){return{encode:r=>[e.encode(r[0]),t.encode(r[1]),n.encode(r[2])],decode:r=>{let l=Array.isArray(r)?r:void 0;if(l===void 0||l.length!==3)return;let i=l[0],o=l[1],d=l[2],s=e.decode(i),u=t.decode(o),S=n.decode(d);if(s!==void 0&&u!==void 0&&S!==void 0)return[p(s),p(u),p(S)]}}}function Yl(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=ye.object(t);if(n===void 0)return;let r={},l={contents:!0};if(Object.entries(n).forEach(i=>{let o=e.decode(i[1]);o!==void 0?r[i[0]]=p(o):l.contents=!1}),l.contents)return r}}}function Jl(e,t){return{encode:e,decode:t}}let Ql={int:Vl,float:Fl,string:zl,bool:Kl,array:Hl,option:ql,tuple2:Xl,tuple3:Ul,dict:Yl,make:Jl},Le={};function jn(e,t,n){if(Ve){Le[e]=n.encode(Q(t));return}}function Zl(){Object.keys(Le).forEach(e=>{nt(Le,e)})}function Rn(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function ei(e){let t=ie(JSON.stringify(Le),"{}"),n=Rn(t);return"<script"+(e!==void 0?' nonce="'+yn.escape(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Mn(){return Xe?window.__XOTE_STATE__||{}:{}}function Vn(e,t,n){if(!Xe)return;let l=Mn()[e];if(l===void 0)return;let i=n.decode(l);if(i!==void 0)return he(t,p(i))}function Ln(e,t,n){Pn(()=>jn(e,t,n),()=>Vn(e,t,n))}function ti(e,t,n){let r=tt(t,void 0,void 0);return Ln(e,r,n),r}const ni=Object.freeze(Object.defineProperty({__proto__:null,Codec:Ql,clear:Zl,escapeForScript:Rn,generateScript:ei,getClientState:Mn,make:ti,register:jn,registry:Le,restore:Vn,sync:Ln},Symbol.toStringTag,{value:"Module"}));let gt={};function ri(e){let t=gt[e];if(t!==void 0){let n=t+1|0;return gt[e]=n,e+("/"+n)}return gt[e]=1,e}function li(e){return Array.from(e.childNodes||[])}function Ge(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function Ue(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function yt(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith("k:"))return t.slice(2)}function De(e){return{current:rt(e.firstChild),parent:e}}function ii(e){return e.current}function H(e){let t=e.current;return t!==void 0&&(e.current=rt(p(t).nextSibling)),t}function se(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let l=p(r);if(Ge(l,t))return H(e),me(l);H(e)}})()}function Ye(e,t){let n=[];return(()=>{for(;;){let l=e.current;if(l===void 0)return;let i=p(l);if(Ge(i,t)){H(e);return}n.push(i),H(e)}})(),n}let ui={elementNode:1,textNode:3,commentNode:8,getChildNodes:li,isMarker:Ge,isMarkerPrefix:Ue,extractKey:yt,make:De,peek:ii,next:H,skipUntilMarker:se,collectUntilMarker:Ye},oi=ri("Hydration-Xote.HydrationMismatch");function St(e){console.warn("[Xote Hydration] "+e)}function di(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,l=n.events,i=n.attrs,o=a.createOwner();return a.setOwner(t,o),a.runWithOwner(o,()=>{i.forEach(v=>{let f=v[1],E=v[0];switch(f.TAG){case"Static":return;case"SignalValue":let k=f._0,F=L(()=>{je.setAttrOrProp(t,E,j(k))},void 0);return a.addDisposer(o,F);case"Compute":let h=f._0,T=L(()=>{je.setAttrOrProp(t,E,h())},void 0);return a.addDisposer(o,T)}}),l.forEach(v=>{t.addEventListener(v[0],v[1])});let A=De(t);r.forEach(v=>ce(v,A))});case"Text":return;case"SignalText":let d=n._0,s=a.createOwner();return a.setOwner(t,s),a.runWithOwner(s,()=>{let A=L(()=>{t.textContent=j(d)},void 0);a.addDisposer(s,A)});case"Fragment":let u=De(t);n._0.forEach(A=>ce(A,u));return;case"SignalFragment":let S=n._0,x=a.createOwner();return a.setOwner(t,x),a.runWithOwner(x,()=>{let A=L(()=>{let v=j(S);Array.from(t.childNodes||[]).forEach(E=>a.disposeOwner(ie(a.getOwner(E),a.createOwner()))),t.innerHTML="",v.forEach(E=>{let k=ue.render(E);t.appendChild(k)})},void 0);a.addDisposer(x,A)});case"LazyComponent":let M=a.createOwner(),O=a.runWithOwner(M,n._0);a.setOwner(t,M),e=O;continue;case"KeyedList":let C=n.renderItem,ee=n.keyFn,X=n.signal,U=a.createOwner();a.setOwner(t,U);let G={},te=De(t);return se(te,"kl"),(()=>{for(;;){let A=te.current;if(A===void 0)return;let v=p(A);if(!Ue(v,"k:"))if(Ge(v,"/kl")){H(te);return}else return;let f=ie(yt(v),"");H(te);let k=Ye(te,"/k").find(F=>F.nodeType===1);if(k!==void 0){let F=Q(X),h=ie(F.find(T=>ee(T)===f),{});G[f]={key:f,item:h,element:p(k)}}}})(),a.runWithOwner(U,()=>{let A=document.createComment(" keyed-list-start "),v=document.createComment(" keyed-list-end "),f=t.firstChild;f==null?t.appendChild(A):t.insertBefore(A,f),t.appendChild(v);let E=()=>{let F=j(X),h={};F.forEach(y=>{h[ee(y)]=y});let T=[];Object.keys(G).forEach(y=>{if(h[y]===void 0){T.push(y);return}}),T.forEach(y=>{let _=G[y];if(_!==void 0){ue.disposeElement(_.element),_.element.remove(),nt(G,y);return}});let g=[],$={};F.forEach(y=>{let _=ee(y),m=G[_];if(m!==void 0){if(m.item!==y){$[_]=!0;let bt=C(y),Qe=ue.render(bt),Ze={key:_,item:y,element:Qe};g.push(Ze),G[_]=Ze;return}g.push(m);return}let w=C(y),ke=ue.render(w),Je={key:_,item:y,element:ke};g.push(Je),G[_]=Je});let R={contents:A.nextSibling};g.forEach(y=>{let _=R.contents;if(_==null){t.insertBefore(y.element,v);return}if(_===v){t.insertBefore(y.element,v);return}if(_===y.element){R.contents=_.nextSibling;return}ie($[y.key],!1)?(ue.disposeElement(_),t.replaceChild(y.element,_),R.contents=y.element.nextSibling):(t.insertBefore(y.element,_),R.contents=y.element.nextSibling)})},k=L(()=>{E()},void 0);a.addDisposer(U,k)})}}}function ce(e,t){switch(e.TAG){case"Element":let n=e.children,r=e.events,l=e.attrs,i=H(t);if(i===void 0)return St("Missing DOM element for Element node");let o=p(i),d=a.createOwner();return a.setOwner(o,d),a.runWithOwner(d,()=>{l.forEach(E=>{let k=E[1],F=E[0];switch(k.TAG){case"Static":return;case"SignalValue":let h=k._0,T=L(()=>{je.setAttrOrProp(o,F,j(h))},void 0);return a.addDisposer(d,T);case"Compute":let g=k._0,$=L(()=>{je.setAttrOrProp(o,F,g())},void 0);return a.addDisposer(d,$)}}),r.forEach(E=>{o.addEventListener(E[0],E[1])});let f=De(o);n.forEach(E=>ce(E,f))});case"Text":H(t);return;case"SignalText":let s=e._0;se(t,"$");let u=H(t);if(u===void 0)return St("Missing text node for SignalText");let S=p(u),x=a.createOwner();a.setOwner(S,x),a.runWithOwner(x,()=>{let f=L(()=>{S.textContent=j(s)},void 0);a.addDisposer(x,f)}),se(t,"/$");return;case"Fragment":e._0.forEach(f=>ce(f,t));return;case"SignalFragment":let M=e._0;se(t,"#");let O=Ye(t,"/#"),C=document.createElement("div");C.setAttribute("style","display: contents");let ee=O[0],X=ee!==void 0?ee.parentNode:void 0;O.forEach(f=>{C.appendChild(f)});let U=t.current;if(X!==void 0){let f=p(X);U!==void 0?f.insertBefore(C,p(U)):f.appendChild(C)}let G=a.createOwner();return a.setOwner(C,G),a.runWithOwner(G,()=>{let f=L(()=>{let E=j(M);Array.from(C.childNodes||[]).forEach(ue.disposeElement),C.innerHTML="",E.forEach(F=>{let h=ue.render(F);C.appendChild(h)})},void 0);a.addDisposer(G,f)});case"LazyComponent":se(t,"lc");let te=e._0();ce(te,t),se(t,"/lc");return;case"KeyedList":let xe=e.keyFn,A=e.signal;return se(t,"kl"),(()=>{for(;;){let f=t.current;if(f===void 0)return;let E=p(f);if(!Ue(E,"k:"))if(Ge(E,"/kl")){H(t);return}else return;let k=ie(yt(E),"");H(t);let h=Ye(t,"/k").find(T=>T.nodeType===1);if(h!==void 0){let T=Q(A),g=ie(T.find($=>xe($)===k),{});p(h)}}})()}}function Gn(e,t,n){let r=n!==void 0?n:{},l=e(),i=De(t),o=i.current;o!==void 0&&Ue(p(o),"xote-root:")&&H(i),ce(l,i),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function si(e,t,n){let r=n!==void 0?n:{},l=document.getElementById(t);if(l==null){console.error("[Xote Hydration] Container element not found: "+t);return}else return Gn(e,l,r)}const ci=Object.freeze(Object.defineProperty({__proto__:null,DOM:void 0,DOMWalker:ui,HydrationMismatch:oi,Reactivity:void 0,hydrate:Gn,hydrateById:si,hydrateNode:di,hydrateNodeWithWalker:ce,logHydrationWarning:St},Symbol.toStringTag,{value:"Module"}));P.Computed=xr,P.Effect=cr,P.Html=Qr,P.Hydration=ci,P.Node=Br,P.ReactiveProp=ul,P.Route=dl,P.Router=Sl,P.SSR=wl,P.SSRContext=kl,P.SSRState=ni,P.Signal=vr,P.XoteJSX=nl,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xote",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"url": "https://github.com/brnrdog/xote"
|
|
6
6
|
},
|
|
@@ -84,6 +84,6 @@
|
|
|
84
84
|
"zekr": "^1.7.0"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"rescript-signals": "^
|
|
87
|
+
"rescript-signals": "^3.1.0"
|
|
88
88
|
}
|
|
89
89
|
}
|
package/src/Computed.res.mjs
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Computed$Signals from "rescript-signals/src/signals/Computed.res.mjs";
|
|
4
4
|
|
|
5
|
+
let makeWithoutEquals = Computed$Signals.makeWithoutEquals;
|
|
6
|
+
|
|
7
|
+
let makeWithEquals = Computed$Signals.makeWithEquals;
|
|
8
|
+
|
|
5
9
|
let make = Computed$Signals.make;
|
|
6
10
|
|
|
7
11
|
let dispose = Computed$Signals.dispose;
|
|
8
12
|
|
|
9
13
|
export {
|
|
14
|
+
makeWithoutEquals,
|
|
15
|
+
makeWithEquals,
|
|
10
16
|
make,
|
|
11
17
|
dispose,
|
|
12
18
|
}
|
package/src/Node.res
CHANGED
|
@@ -317,8 +317,10 @@ module Render = {
|
|
|
317
317
|
setOwner(el, owner)
|
|
318
318
|
|
|
319
319
|
runWithOwner(owner, () => {
|
|
320
|
-
|
|
321
|
-
|
|
320
|
+
let shouldDeferAttrUntilAfterChildren = ((key, _value)) =>
|
|
321
|
+
tag == "select" && key == "value"
|
|
322
|
+
|
|
323
|
+
let applyAttr = ((key, value)) => {
|
|
322
324
|
switch value {
|
|
323
325
|
| Static(v) => DOM.setAttrOrProp(el, key, v)
|
|
324
326
|
| SignalValue(signal) => {
|
|
@@ -341,6 +343,13 @@ module Render = {
|
|
|
341
343
|
addDisposer(owner, disposer)
|
|
342
344
|
}
|
|
343
345
|
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/* Set attributes that do not depend on mounted children */
|
|
349
|
+
attrs->Array.forEach(attr => {
|
|
350
|
+
if !shouldDeferAttrUntilAfterChildren(attr) {
|
|
351
|
+
applyAttr(attr)
|
|
352
|
+
}
|
|
344
353
|
})
|
|
345
354
|
|
|
346
355
|
/* Attach event listeners */
|
|
@@ -353,6 +362,13 @@ module Render = {
|
|
|
353
362
|
let childEl = render(child)
|
|
354
363
|
el->DOM.appendChild(childEl)
|
|
355
364
|
})
|
|
365
|
+
|
|
366
|
+
/* Some DOM properties need the child tree to exist before the browser can resolve them */
|
|
367
|
+
attrs->Array.forEach(attr => {
|
|
368
|
+
if shouldDeferAttrUntilAfterChildren(attr) {
|
|
369
|
+
applyAttr(attr)
|
|
370
|
+
}
|
|
371
|
+
})
|
|
356
372
|
})
|
|
357
373
|
|
|
358
374
|
el
|
package/src/Node.res.mjs
CHANGED
|
@@ -202,7 +202,14 @@ function render(node) {
|
|
|
202
202
|
};
|
|
203
203
|
setOwner(el, owner);
|
|
204
204
|
runWithOwner(owner, () => {
|
|
205
|
-
|
|
205
|
+
let shouldDeferAttrUntilAfterChildren = param => {
|
|
206
|
+
if (tag === "select") {
|
|
207
|
+
return param[0] === "value";
|
|
208
|
+
} else {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
let applyAttr = param => {
|
|
206
213
|
let value = param[1];
|
|
207
214
|
let key = param[0];
|
|
208
215
|
switch (value.TAG) {
|
|
@@ -222,6 +229,11 @@ function render(node) {
|
|
|
222
229
|
}, undefined);
|
|
223
230
|
return addDisposer(owner, disposer$1);
|
|
224
231
|
}
|
|
232
|
+
};
|
|
233
|
+
attrs.forEach(attr => {
|
|
234
|
+
if (!shouldDeferAttrUntilAfterChildren(attr)) {
|
|
235
|
+
return applyAttr(attr);
|
|
236
|
+
}
|
|
225
237
|
});
|
|
226
238
|
events.forEach(param => {
|
|
227
239
|
el.addEventListener(param[0], param[1]);
|
|
@@ -230,6 +242,11 @@ function render(node) {
|
|
|
230
242
|
let childEl = render(child);
|
|
231
243
|
el.appendChild(childEl);
|
|
232
244
|
});
|
|
245
|
+
attrs.forEach(attr => {
|
|
246
|
+
if (shouldDeferAttrUntilAfterChildren(attr)) {
|
|
247
|
+
return applyAttr(attr);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
233
250
|
});
|
|
234
251
|
return el;
|
|
235
252
|
case "Text" :
|
|
@@ -428,7 +445,7 @@ function text(content) {
|
|
|
428
445
|
}
|
|
429
446
|
|
|
430
447
|
function signalText(compute) {
|
|
431
|
-
let signal = Computed$Xote.make(compute, undefined);
|
|
448
|
+
let signal = Computed$Xote.make(compute, undefined, undefined);
|
|
432
449
|
return {
|
|
433
450
|
TAG: "SignalText",
|
|
434
451
|
_0: signal
|
|
@@ -436,7 +453,7 @@ function signalText(compute) {
|
|
|
436
453
|
}
|
|
437
454
|
|
|
438
455
|
function signalInt(compute) {
|
|
439
|
-
let signal = Computed$Xote.make(() => compute().toString(), undefined);
|
|
456
|
+
let signal = Computed$Xote.make(() => compute().toString(), undefined, undefined);
|
|
440
457
|
return {
|
|
441
458
|
TAG: "SignalText",
|
|
442
459
|
_0: signal
|
|
@@ -444,7 +461,7 @@ function signalInt(compute) {
|
|
|
444
461
|
}
|
|
445
462
|
|
|
446
463
|
function signalFloat(compute) {
|
|
447
|
-
let signal = Computed$Xote.make(() => compute().toString(), undefined);
|
|
464
|
+
let signal = Computed$Xote.make(() => compute().toString(), undefined, undefined);
|
|
448
465
|
return {
|
|
449
466
|
TAG: "SignalText",
|
|
450
467
|
_0: signal
|
|
@@ -480,7 +497,7 @@ function signalFragment(signal) {
|
|
|
480
497
|
}
|
|
481
498
|
|
|
482
499
|
function list(signal, renderItem) {
|
|
483
|
-
let nodesSignal = Computed$Xote.make(() => Signal$Xote.get(signal).map(renderItem), undefined);
|
|
500
|
+
let nodesSignal = Computed$Xote.make(() => Signal$Xote.get(signal).map(renderItem), undefined, undefined);
|
|
484
501
|
return {
|
|
485
502
|
TAG: "SignalFragment",
|
|
486
503
|
_0: nodesSignal
|
package/src/Router.res
CHANGED
|
@@ -415,7 +415,7 @@ module Link = {
|
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
/* Convert props to attrs array */
|
|
418
|
-
let propsToAttrs = (props
|
|
418
|
+
let propsToAttrs = (props): array<(string, Node.attrValue)> => {
|
|
419
419
|
let attrs = []
|
|
420
420
|
|
|
421
421
|
switch props.class {
|
|
@@ -447,7 +447,7 @@ module Link = {
|
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
/* Extract children from props */
|
|
450
|
-
let getChildren = (props
|
|
450
|
+
let getChildren = (props): array<Node.node> => {
|
|
451
451
|
switch props.children {
|
|
452
452
|
| Some(Node.Fragment(children)) => children
|
|
453
453
|
| Some(child) => [child]
|
|
@@ -456,7 +456,7 @@ module Link = {
|
|
|
456
456
|
}
|
|
457
457
|
|
|
458
458
|
/* JSX component function */
|
|
459
|
-
let make = (props
|
|
459
|
+
let make = (props): Node.node => {
|
|
460
460
|
warnIfNotInitialized("Router.Link")
|
|
461
461
|
|
|
462
462
|
let handleClick = (evt: Dom.event) => {
|
|
@@ -481,7 +481,7 @@ module Link = {
|
|
|
481
481
|
/* JSX transform functions */
|
|
482
482
|
let jsx = make
|
|
483
483
|
let jsxs = make
|
|
484
|
-
let jsxKeyed = (props
|
|
484
|
+
let jsxKeyed = (props, ~key: option<string>=?, _: unit) => {
|
|
485
485
|
let _ = key
|
|
486
486
|
make(props)
|
|
487
487
|
}
|
package/src/Router.res.mjs
CHANGED
|
@@ -221,7 +221,7 @@ function route(pattern, render) {
|
|
|
221
221
|
} else {
|
|
222
222
|
return [render(params._0)];
|
|
223
223
|
}
|
|
224
|
-
}, undefined));
|
|
224
|
+
}, undefined, undefined));
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
function routes(configs) {
|
|
@@ -241,7 +241,7 @@ function routes(configs) {
|
|
|
241
241
|
} else {
|
|
242
242
|
return [];
|
|
243
243
|
}
|
|
244
|
-
}, undefined));
|
|
244
|
+
}, undefined, undefined));
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
function link(to, attrsOpt, childrenOpt, param) {
|
package/src/Signal.res.mjs
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Signal$Signals from "rescript-signals/src/signals/Signal.res.mjs";
|
|
4
4
|
|
|
5
|
+
let defaultEquals = Signal$Signals.defaultEquals;
|
|
6
|
+
|
|
7
|
+
let neverEquals = Signal$Signals.neverEquals;
|
|
8
|
+
|
|
5
9
|
let make = Signal$Signals.make;
|
|
6
10
|
|
|
7
11
|
let makeForComputed = Signal$Signals.makeForComputed;
|
|
@@ -19,6 +23,8 @@ let batch = Signal$Signals.batch;
|
|
|
19
23
|
let untrack = Signal$Signals.untrack;
|
|
20
24
|
|
|
21
25
|
export {
|
|
26
|
+
defaultEquals,
|
|
27
|
+
neverEquals,
|
|
22
28
|
make,
|
|
23
29
|
makeForComputed,
|
|
24
30
|
get,
|