xote 6.3.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/xote.umd.js CHANGED
@@ -1,17 +1,17 @@
1
- (function(M,Se){typeof exports=="object"&&typeof module<"u"?Se(exports):typeof define=="function"&&define.amd?define(["exports"],Se):(M=typeof globalThis<"u"?globalThis:M||self,Se(M.xote={}))})(this,(function(M){"use strict";let Se={contents:0};function je(){return Se.contents=Se.contents+1|0,Se.contents}let Te={contents:0},xe={contents:0};function wt(){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 Ct(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 nr(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 Pt(e){e.flags=e.flags&-2}function rr(e){return(e.flags&2)!==0}function lr(e){e.flags=e.flags|2}function ir(e){e.flags=e.flags&-3}function jt(e){return(e.flags&1)!==0}function Ot(e){e.flags=e.flags|1}function ze(e){e.flags=e.flags&-2}function ur(e){return(e.flags&2)!==0}function or(e){e.flags=e.flags|2}function dr(e){e.flags=e.flags&-3}function _e(e){return e.compute!==void 0}function We(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0,lastTrackedVersion:0}}function He(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 Mt(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 qe(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 ar(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 cr(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 sr(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;qe(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function fr(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;qe(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}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}let G={contents:void 0},N={contents:void 0},B={contents:0},I={contents:void 0},z={contents:void 0},te=[],ne=[],ce={contents:!1},Oe={contents:!1},Me={contents:!1},Lt={contents:0},Ft={contents:0},Re=[],hr=(function(e){e.length=0}),Gt=(function(e,t){if(!(t<=0)){if(t>=e.length){e.length=0;return}e.copyWithin(0,t),e.length=e.length-t}});function ut(e){if(rr(e))return;lr(e),te.length===0?Oe.contents=!1:e.level<Lt.contents&&(Oe.contents=!0),te.push(e),Lt.contents=e.level}function mr(e){if(ur(e))return;or(e),ne.length===0?Me.contents=!1:e.level<Ft.contents&&(Me.contents=!0),ne.push(e),Ft.contents=e.level}function gr(e,t){if(e.firstDep===void 0){let l=We(t,e);l.lastTrackedVersion=B.contents,Rt(e,l),He(t,l),I.contents=l;return}let n=B.contents,r=!1,i=I.contents;if(i!==void 0)if(i.subs===t&&i.observer===e)i.lastTrackedVersion=n,r=!0;else{let l=i.nextDep;l!==void 0&&l.subs===t&&l.observer===e&&(l.lastTrackedVersion=n,I.contents=l,r=!0)}if(!r){let l=t.last;l!==void 0&&l.lastTrackedVersion===n&&l.observer===e&&(l.lastTrackedVersion=n,I.contents=l,r=!0)}if(r)return;let u=!1,o,d=e.firstDep;for(;d!==void 0&&!u;){let l=d;l!==void 0&&(l.subs===t?(l.lastTrackedVersion=n,o=l,u=!0):d=l.nextDep)}if(u){I.contents=o;return}let a=We(t,e);a.lastTrackedVersion=n,Rt(e,a),He(t,a),I.contents=a}function pr(e,t){if(e.firstDep===void 0){let l=We(t,e);l.lastTrackedVersion=B.contents,Mt(e,l),He(t,l),z.contents=l;return}let n=B.contents,r=!1,i=z.contents;if(i!==void 0)if(i.subs===t&&i.observer===e)i.lastTrackedVersion=n,r=!0;else{let l=i.nextDep;l!==void 0&&l.subs===t&&l.observer===e&&(l.lastTrackedVersion=n,z.contents=l,r=!0)}if(!r){let l=t.last;l!==void 0&&l.lastTrackedVersion===n&&l.observer===e&&(l.lastTrackedVersion=n,z.contents=l,r=!0)}if(r)return;let u=!1,o,d=e.firstDep;for(;d!==void 0&&!u;){let l=d;l!==void 0&&(l.subs===t?(l.lastTrackedVersion=n,o=l,u=!0):d=l.nextDep)}if(u){z.contents=o;return}let a=We(t,e);a.lastTrackedVersion=n,Mt(e,a),He(t,a),z.contents=a}function yr(e){let t=G.contents;if(t!==void 0)return gr(t,e);let n=N.contents;if(n!==void 0)return pr(n,e)}function br(e,t){return e.level-t.level|0}function Sr(e,t){return e.level-t.level|0}function Vt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(_e(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Kt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(_e(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Nt(e,t){let n=B.contents,r=e.version;Te.contents=Te.contents+1|0,B.contents=Te.contents,t&&dr(e);let i=G.contents,u=I.contents;G.contents=e,I.contents=e.firstDep;try{let o=e.compute;o!==void 0&&o();let d=e.firstDep;for(;d!==void 0;){let a=d;if(a!==void 0){let l=a.nextDep;a.lastTrackedVersion!==B.contents&&(qe(a),cr(e,a)),d=l}}if(ze(e),e.lastGlobalVersion=xe.contents,e.first!==void 0&&e.version!==r){let a=e.first;for(;a!==void 0;){let l=a;if(l!==void 0){let c=l.observer;if(_e(c))Ot(c);else{let k=N.contents;k!==void 0&&k===l.observer||ut(l.observer)}a=l.nextSub}}}G.contents=i,I.contents=u,B.contents=n;return}catch(o){throw G.contents=i,I.contents=u,B.contents=n,o}}function _r(e){let t=e.level;if(Nt(e,!0),t===0){e.level=Vt(e);return}}function $r(e){let t=e.level,n=B.contents;Te.contents=Te.contents+1|0,B.contents=Te.contents,ir(e);let r=N.contents,i=z.contents;N.contents=e,z.contents=e.firstDep;try{e.run();let u=e.firstDep;for(;u!==void 0;){let o=u;if(o!==void 0){let d=o.nextDep;o.lastTrackedVersion!==B.contents&&(qe(o),ar(e,o)),u=d}}Pt(e),N.contents=r,z.contents=i,B.contents=n}catch(u){throw N.contents=r,z.contents=i,B.contents=n,u}if(t===0){e.level=Kt(e);return}}function Bt(){ce.contents=!0;try{for(;te.length!==0||ne.length!==0;){if(ne.length!==0){let e=ne.length;e>1&&Me.contents&&(ne.sort(Sr),Me.contents=!1);let t=0;for(;t<e;){let n=ne[t];n!==void 0&&_r(n),t=t+1|0}Gt(ne,e),ne.length===0&&(Me.contents=!1)}if(te.length!==0){let e=te.length;e>1&&Oe.contents&&(te.sort(br),Oe.contents=!1);let t=0;for(;t<e;){let n=te[t];n!==void 0&&$r(n),t=t+1|0}Gt(te,e),te.length===0&&(Oe.contents=!1)}}ce.contents=!1;return}catch(e){throw ce.contents=!1,e}}function vr(e){if(e.first!==void 0)if(!_e(e)&&e.computedSubscriberCount===0){let t=e.first;for(;t!==void 0;){let n=t;n!==void 0&&(ut(n.observer),t=n.nextSub)}}else{Re.push(e);let t=0;for(;t<Re.length;){let n=Re[t];if(t=t+1|0,n!==void 0){let r=n.first;for(;r!==void 0;){let i=r;if(i!==void 0){let u=i.observer;_e(u)?jt(u)||(Ot(u),Re.push(u)):_e(n)&&n.deferEffectsUntilRecompute?mr(n):ut(i.observer),r=i.nextSub}}}}hr(Re)}if((te.length!==0||ne.length!==0)&&!ce.contents)return Bt()}function It(e){if(!_e(e)||!jt(e))return;if(e.lastGlobalVersion===xe.contents)return ze(e);let t=e.level;if(Nt(e,!1),t===0){e.level=Vt(e);return}}function Er(e){let t=ce.contents;ce.contents=!0;try{let n=e();return t||(ce.contents=!1,(te.length!==0||ne.length!==0)&&Bt()),n}catch(n){throw t||(ce.contents=!1),n}}function Tr(e){let t=G.contents,n=N.contents,r=I.contents,i=z.contents;G.contents=void 0,N.contents=void 0,I.contents=void 0,z.contents=void 0;try{let u=e();return G.contents=t,N.contents=n,I.contents=r,z.contents=i,u}catch(u){throw G.contents=t,N.contents=n,I.contents=r,z.contents=i,u}}function zt(e,t){let n=je(),r={contents:void 0},u=nr(n,"Effect",()=>{let l=r.contents;l!==void 0&&l(),r.contents=e()},t,void 0),o=N.contents;N.contents=u;try{u.run(),Pt(u),N.contents=o}catch(l){throw N.contents=o,l}u.level=Kt(u);let d={contents:!1};return{dispose:()=>{if(d.contents)return;d.contents=!0;let l=r.contents;l!==void 0&&l(),sr(u)}}}function xr(e,t){zt(e,t)}let V=zt;const kr=Object.freeze(Object.defineProperty({__proto__:null,run:xr,runWithDisposer:V},Symbol.toStringTag,{value:"Module"}));function Wt(e,t){return e===t}function Ht(e,t){return!1}function Ar(e,t,n){return{id:je(),value:e,equals:n!==void 0?n:Wt,name:t,subs:wt()}}function Dr(e,t){return{id:je(),value:e,equals:Ht,name:t,subs:wt()}}function wr(e){return It(e.subs),yr(e.subs),e.value}function Cr(e){return It(e.subs),e.value}function qt(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,xe.contents=xe.contents+1|0,vr(e.subs)}function Pr(e,t){qt(e,t(e.value))}let jr=Er,Or=Tr,Mr=Wt,Rr=Ht,ot=Ar,Lr=Dr,L=wr,re=Cr,$e=qt;const Fr=Object.freeze(Object.defineProperty({__proto__:null,batch:jr,defaultEquals:Mr,get:L,make:ot,makeForComputed:Lr,neverEquals:Rr,peek:re,set:$e,untrack:Or,update:Pr},Symbol.toStringTag,{value:"Module"}));function Le(e,t){delete e[t]}function Xt(e,t){let n=je(),r=(c,k)=>!1,i={contents:void 0},o=Ct(()=>{let c=i.contents,k=e();c.value=k,c.subs.version=c.subs.version+1|0},!1),d=G.contents;G.contents=o;let a=e();G.contents=d;let l={id:n,value:a,equals:r,name:t,subs:o};return i.contents=l,o.lastGlobalVersion=xe.contents,ze(o),l}function Ut(e,t,n){let r=je(),i={contents:void 0},o=Ct(()=>{let c=i.contents,k=c.value,v=e(),P;try{P=!c.equals(k,v)}catch{P=!0}if(P){c.value=v,c.subs.version=c.subs.version+1|0;return}},!0),d=G.contents;G.contents=o;let a=e();G.contents=d;let l={id:r,value:a,equals:t,name:n,subs:o};return i.contents=l,o.lastGlobalVersion=xe.contents,ze(o),l}function Gr(e,t,n){return n!==void 0?Ut(e,n,t):Xt(e,t)}function Vr(e){fr(e.subs)}let Kr=Xt,Nr=Ut,de=Gr,Yt=Vr;const Br=Object.freeze(Object.defineProperty({__proto__:null,dispose:Yt,make:de,makeWithEquals:Nr,makeWithoutEquals:Kr},Symbol.toStringTag,{value:"Module"}));function se(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 ke(e){if(e!=null)return se(e)}function m(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 Ir(e,t){if(e!==void 0)return se(t(m(e)))}function fe(e,t){return e!==void 0?m(e):t}function Jt(e){return e!==void 0}let zr=["checked","disabled","required","readonly","multiple","aria-hidden","aria-expanded","aria-selected","draggable","hidden","contenteditable","spellcheck","autofocus"];function Qt(e){return zr.includes(e)}function Fe(e){return e?"true":"false"}function Zt(e){return e==="true"}let Wr="http://www.w3.org/2000/svg",Hr=["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"],en={};Hr.forEach(e=>{en[e]=!0});function qr(e){return Jt(en[e])?document.createElementNS(Wr,e):document.createElement(e)}function he(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"value":e.value=n;return;default:Qt(t)?Zt(n)?e.setAttribute(t,""):e.removeAttribute(t):e.setAttribute(t,n);return}}function W(){return{disposers:[],computeds:[]}}function X(e,t){return t()}function H(e,t){e.disposers.push(t)}function tn(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(Yt)}function U(e,t){e.__xote_owner__=t}function nn(e){return ke(e.__xote_owner__)}function dt(e,t){return[e,{TAG:"Static",_0:t}]}function at(e,t){return[e,{TAG:"SignalValue",_0:t}]}function ct(e,t){return[e,{TAG:"Compute",_0:t}]}let rn={$$static:dt,signal:at,computed:ct},ln={string:dt,signal:at,compute:ct};function me(e){let t=nn(e);t!==void 0&&tn(t),Array.from(e.childNodes||[]).forEach(me)}function un(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object")return!1;let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{let u=e[i],o=t[i];return u!==void 0&&o!==void 0?m(u)===m(o):!1})}function on(e){Object.keys(e).forEach(t=>{Le(e,t)})}function dn(e){let t=[],n={contents:!0};if(e.forEach(r=>{if(r.TAG!=="Keyed"){n.contents=!1;return}t.push({key:r.key,identity:r.identity,child:r.child})}),n.contents)return t}function an(e,t,n){let r={};e.forEach(l=>{r[l.key]=l});let i=[];Object.keys(t).forEach(l=>{if(r[l]===void 0){i.push(l);return}}),i.forEach(l=>{let c=t[l];if(c!==void 0){me(c.element),c.element.remove(),Le(t,l);return}});let u=[],o={};e.forEach(l=>{let c=t[l.key];if(c!==void 0){if(un(c.item,l.identity)){u.push(c);return}let O=le(l.child),q=l.key,ee=l.identity,ie={key:q,item:ee,element:O};o[l.key]=c.element,u.push(ie),t[l.key]=ie;return}let k=le(l.child),v=l.key,P=l.identity,A={key:v,item:P,element:k};u.push(A),t[l.key]=A});let d=n.firstChild,a={contents:d!=null?se(d):void 0};u.forEach(l=>{let c=a.contents;if(c!==void 0){let v=m(c);if(v===l.element){a.contents=ke(v.nextSibling);return}let P=o[l.key];if(P!==void 0){let A=m(P);if(v===A){me(A),n.replaceChild(l.element,A),a.contents=ke(l.element.nextSibling);return}}n.insertBefore(l.element,v),a.contents=ke(l.element.nextSibling);return}let k=o[l.key];if(k!==void 0){let v=m(k);me(v),v.remove(),n.appendChild(l.element);return}n.appendChild(l.element)})}function le(e){for(;;){let t=e;switch(t.TAG){case"Element":let n=t.children,r=t.events,i=t.attrs,u=t.tag,o=qr(u),d=W();return U(o,d),X(d,()=>{let h=s=>u==="select"?s[0]==="value":!1,T=s=>{let D=s[1],j=s[0];switch(D.TAG){case"Static":return he(o,j,D._0);case"SignalValue":let p=D._0;he(o,j,re(p));let x=V(()=>{he(o,j,L(p))},void 0);return H(d,x);case"Compute":let b=D._0,C=V(()=>{he(o,j,b())},void 0);return H(d,C)}};i.forEach(s=>{if(!h(s))return T(s)}),r.forEach(s=>{o.addEventListener(s[0],s[1])}),n.forEach(s=>{let D=le(s);o.appendChild(D)}),i.forEach(s=>{if(h(s))return T(s)})}),o;case"Text":return document.createTextNode(t._0);case"SignalText":let a=t._0,l=document.createTextNode(re(a)),c=W();return U(l,c),X(c,()=>{let h=V(()=>{l.textContent=L(a)},void 0);H(c,h)}),l;case"Fragment":let k=document.createDocumentFragment();return t._0.forEach(h=>{let T=le(h);k.appendChild(T)}),k;case"SignalFragment":let v=t._0,P=W(),A=document.createElement("div");A.setAttribute("style","display: contents"),U(A,P);let O={};return X(P,()=>{let h=V(()=>{let T=L(v),s=dn(T);s!==void 0?an(s,O,A):(on(O),Array.from(A.childNodes||[]).forEach(me),A.innerHTML="",T.forEach(j=>{let p=le(j);A.appendChild(p)}))},void 0);H(P,h)}),A;case"Keyed":e=t.child;continue;case"LazyComponent":let q=W(),ee=X(q,t._0),ie=le(ee);return U(ie,q),ie;case"KeyedList":let ue=t.renderItem,K=t.keyFn,oe=t.signal,Ce=W(),R=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end ");U(R,Ce);let w={},E=()=>{let h=_.parentNode;if(h==null)return;let T=L(oe),s={};T.forEach(b=>{s[K(b)]=b});let D=[];Object.keys(w).forEach(b=>{if(s[b]===void 0){D.push(b);return}}),D.forEach(b=>{let C=w[b];if(C!==void 0){me(C.element),C.element.remove(),Le(w,b);return}});let j=[],p={};T.forEach(b=>{let C=K(b),Pe=w[C];if(Pe!==void 0){if(Pe.item!==b){p[C]=!0;let it=ue(b),ji=le(it),tr={key:C,item:b,element:ji};j.push(tr),w[C]=tr;return}j.push(Pe);return}let rt=ue(b),Dt=le(rt),lt={key:C,item:b,element:Dt};j.push(lt),w[C]=lt});let x={contents:R.nextSibling};j.forEach(b=>{let C=x.contents;if(C==null){h.insertBefore(b.element,_);return}if(C===_){h.insertBefore(b.element,_);return}if(C===b.element){x.contents=C.nextSibling;return}fe(p[b.key],!1)?(me(C),h.replaceChild(b.element,C),x.contents=b.element.nextSibling):(h.insertBefore(b.element,C),x.contents=b.element.nextSibling)})},$=document.createDocumentFragment();return $.appendChild(R),re(oe).forEach(h=>{let T=K(h),s=ue(h),D=le(s),j={key:T,item:h,element:D};w[T]=j,$.appendChild(D)}),$.appendChild(_),X(Ce,()=>{let h=V(()=>{E()},void 0);H(Ce,h)}),$}}}let F={disposeElement:me,shallowEqualIdentity:un,clearKeyedItems:on,getKeyedChildren:dn,reconcileKeyedChildren:an,render:le};function st(e){return{TAG:"Text",_0:e}}function cn(e){return{TAG:"SignalText",_0:de(e,void 0,void 0)}}function sn(e){return{TAG:"SignalText",_0:de(()=>e().toString(),void 0,void 0)}}function fn(e){return{TAG:"SignalText",_0:de(()=>e().toString(),void 0,void 0)}}function hn(e){return{TAG:"Text",_0:e.toString()}}function mn(e){return{TAG:"Text",_0:e.toString()}}function Xe(e){return{TAG:"Fragment",_0:e}}function Ue(e){return{TAG:"SignalFragment",_0:e}}function ft(e,t){return{TAG:"SignalFragment",_0:de(()=>L(e).map(t),void 0,void 0)}}function ht(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function Y(e,t,n,r,i){let u=t!==void 0?t:[].map(a=>a),o=n!==void 0?n:[].map(a=>a),d=r!==void 0?r:[].map(a=>a);return{TAG:"Element",tag:e,attrs:u,events:o,children:d}}function mt(){return{TAG:"Text",_0:""}}function gt(e,t){let n=le(e);t.appendChild(n)}function gn(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return gt(e,n)}let pn,yn,ae=dt,Ae=at,Ye=ct,bn=ft,Sn=ht,_n=mt;const Xr=Object.freeze(Object.defineProperty({__proto__:null,$$null:mt,Attr:ln,Attributes:rn,DOM:pn,Reactivity:yn,Render:F,attr:ae,computedAttr:Ye,each:ft,eachWithKey:ht,element:Y,empty:_n,float:mn,fragment:Xe,int:hn,keyedList:Sn,list:bn,mount:gt,mountById:gn,signalAttr:Ae,signalFloat:fn,signalFragment:Ue,signalInt:sn,signalText:cn,text:st},Symbol.toStringTag,{value:"Module"})),Ur=Object.freeze(Object.defineProperty({__proto__:null,$$null:mt,Attr:ln,Attributes:rn,DOM:pn,Reactivity:yn,Render:F,attr:ae,computedAttr:Ye,each:ft,eachWithKey:ht,element:Y,empty:_n,float:mn,fragment:Xe,int:hn,keyedList:Sn,list:bn,mount:gt,mountById:gn,signalAttr:Ae,signalFloat:fn,signalFragment:Ue,signalInt:sn,signalText:cn,text:st},Symbol.toStringTag,{value:"Module"}));function Yr(e,t,n,r){return Y("div",e,t,n)}function Jr(e,t,n,r){return Y("span",e,t,n)}function Qr(e,t,n,r){return Y("button",e,t,n)}function Zr(e,t,n){return Y("input",e,t,void 0)}function el(e,t,n,r){return Y("h1",e,t,n)}function tl(e,t,n,r){return Y("h2",e,t,n)}function nl(e,t,n,r){return Y("h3",e,t,n)}function rl(e,t,n,r){return Y("p",e,t,n)}function ll(e,t,n,r){return Y("ul",e,t,n)}function il(e,t,n,r){return Y("li",e,t,n)}function pt(e,t,n,r){return Y("a",e,t,n)}const ul=Object.freeze(Object.defineProperty({__proto__:null,a:pt,button:Qr,div:Yr,h1:el,h2:tl,h3:nl,input:Zr,li:il,p:rl,span:Jr,ul:ll},Symbol.toStringTag,{value:"Module"}));function $n(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function y(e,t){return $n(t)?t.TAG==="Reactive"?Ae(e,t._0):ae(e,t._0):typeof t=="function"?Ye(e,t):typeof t=="object"?Ae(e,t):ae(e,t)}function J(e,t){if($n(t)){if(t.TAG!=="Reactive")return ae(e,Fe(t._0));let r=t._0,i=de(()=>Fe(L(r)),void 0,void 0);return Ae(e,i)}if(typeof t=="function")return Ye(e,()=>Fe(t()));if(typeof t!="object")return ae(e,Fe(t));let n=de(()=>Fe(L(t)),void 0,void 0);return Ae(e,n)}function vn(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function En(e,t,n,r){return n!==void 0?{TAG:"Keyed",key:n,identity:t,child:{TAG:"LazyComponent",_0:()=>e(t)}}:{TAG:"LazyComponent",_0:()=>e(t)}}function ol(e){let t=e.children;return t!==void 0?t:Xe([])}let dl=Xe;function al(){return st("")}function f(e,t,n,r){if(t!==void 0){e.push(r(n,m(t)));return}}function De(e,t,n){if(t!==void 0){e.push(ae(n,t.toString()));return}}function Tn(e){let t=[];f(t,e.id,"id",y),f(t,e.class,"class",y),f(t,e.style,"style",y),f(t,e.title,"title",y),f(t,e.type,"type",y),f(t,e.name,"name",y),f(t,e.value,"value",y),f(t,e.placeholder,"placeholder",y),f(t,e.disabled,"disabled",J),f(t,e.checked,"checked",J),f(t,e.required,"required",J),f(t,e.readOnly,"readonly",J),De(t,e.maxLength,"maxlength"),De(t,e.minLength,"minlength"),f(t,e.min,"min",y),f(t,e.max,"max",y),f(t,e.step,"step",y),f(t,e.pattern,"pattern",y),f(t,e.autoComplete,"autocomplete",y),f(t,e.multiple,"multiple",J),f(t,e.accept,"accept",y),De(t,e.rows,"rows"),De(t,e.cols,"cols"),f(t,e.autofocus,"autofocus",J),f(t,e.action,"action",y),f(t,e.method,"method",y),f(t,e.for,"for",y),f(t,e.href,"href",y),f(t,e.target,"target",y),f(t,e.src,"src",y),f(t,e.alt,"alt",y),f(t,e.width,"width",y),f(t,e.height,"height",y),f(t,e.draggable,"draggable",J),f(t,e.hidden,"hidden",J),f(t,e.contentEditable,"contenteditable",J),f(t,e.spellcheck,"spellcheck",J),f(t,e.role,"role",y),De(t,e.tabIndex,"tabindex"),f(t,e["aria-label"],"aria-label",y),f(t,e["aria-hidden"],"aria-hidden",J),f(t,e["aria-expanded"],"aria-expanded",J),f(t,e["aria-selected"],"aria-selected",J);let n=e.data;return n!==void 0&&Object.entries(n).forEach(i=>{t.push(y("data-"+i[0],i[1]))}),t}function g(e,t,n){if(t!==void 0){e.push([n,m(t)]);return}}function xn(e){let t=[];return g(t,e.onClick,"click"),g(t,e.onInput,"input"),g(t,e.onChange,"change"),g(t,e.onSubmit,"submit"),g(t,e.onFocus,"focus"),g(t,e.onBlur,"blur"),g(t,e.onKeyDown,"keydown"),g(t,e.onKeyUp,"keyup"),g(t,e.onMouseEnter,"mouseenter"),g(t,e.onMouseLeave,"mouseleave"),g(t,e.onMouseDown,"mousedown"),g(t,e.onMouseMove,"mousemove"),g(t,e.onMouseUp,"mouseup"),g(t,e.onContextMenu,"contextmenu"),g(t,e.onPointerDown,"pointerdown"),g(t,e.onPointerMove,"pointermove"),g(t,e.onPointerUp,"pointerup"),g(t,e.onPointerCancel,"pointercancel"),g(t,e.onPointerEnter,"pointerenter"),g(t,e.onPointerLeave,"pointerleave"),g(t,e.onPointerOver,"pointerover"),g(t,e.onPointerOut,"pointerout"),g(t,e.onGotPointerCapture,"gotpointercapture"),g(t,e.onLostPointerCapture,"lostpointercapture"),g(t,e.onDrag,"drag"),g(t,e.onDragStart,"dragstart"),g(t,e.onDragEnd,"dragend"),g(t,e.onDragOver,"dragover"),g(t,e.onDragEnter,"dragenter"),g(t,e.onDragLeave,"dragleave"),g(t,e.onDrop,"drop"),t}function kn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Je(e,t){return{TAG:"Element",tag:e,attrs:Tn(t),events:xn(t),children:kn(t)}}let An=Je;function Dn(e,t,n,r){return n!==void 0?{TAG:"Keyed",key:n,identity:t,child:Je(e,t)}:Je(e,t)}const cl=Object.freeze(Object.defineProperty({__proto__:null,$$null:al,Elements:{addAttr:f,addIntAttr:De,propsToAttrs:Tn,addEvent:g,propsToEvents:xn,getChildren:kn,createElement:Je,jsx:An,jsxs:An,jsxKeyed:Dn,jsxsKeyed:Dn},Prop:void 0,array:dl,jsx:vn,jsxFragment:ol,jsxKeyed:En,jsxs:vn,jsxsKeyed:En},Symbol.toStringTag,{value:"Module"}));function wn(e){return e.TAG==="Reactive"?L(e._0):e._0}function Cn(e){return{TAG:"Static",_0:e}}function yt(e){return{TAG:"Reactive",_0:e}}let Pn=yt;const sl=Object.freeze(Object.defineProperty({__proto__:null,$$static:Cn,get:wn,reactive:yt,signal:Pn},Symbol.toStringTag,{value:"Module"})),fl=Object.freeze(Object.defineProperty({__proto__:null,$$static:Cn,get:wn,reactive:yt,signal:Pn},Symbol.toStringTag,{value:"Module"}));function jn(e,t){let n=e.length,r=new Array(n),i=0;for(let u=0;u<n;++u){let o=e[u],d=t(o);d!==void 0&&(r[i]=m(d),i=i+1|0)}return r.length=i,r}function hl(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 bt(e){return jn(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function St(e,t){let n=t.split("/").filter(u=>u!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((u,o)=>{let d=n[o];return u.TAG==="Static"?d===u._0:(r[u._0]=d,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function Qe(e,t){return St(bt(e),t)}const ml=Object.freeze(Object.defineProperty({__proto__:null,compile:bt,match:Qe,matchCompiled:St,matchPath:St,matchPathname:Qe,parsePattern:bt},Symbol.toStringTag,{value:"Module"}));function gl(){return Symbol.for("xote.router.state")}function Q(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:ot({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function pl(){return Q().location}function yl(){return Q().basePath}function ve(e){if(!Q().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 _t(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function On(e){let t=Q().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function Ge(e){let t=Q().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function Mn(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ze(e,t){window.scrollTo(e,t)}function Rn(e,t){return{scrollX:e,scrollY:t}}function $t(){return{}}function Ln(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Fn(){let e=Mn(),t=Rn(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function vt(){let e=window.location.pathname;return{pathname:On(e),search:window.location.search,hash:window.location.hash}}function bl(e,t){let n=e!==void 0?e:"/",r=Q(),i=_t(n);if(r.basePath.contents=i,$e(r.location,vt()),r.initialized)return;let u=o=>{$e(Q().location,vt());let d=window["history.state"];if(d==null)return;let a=Ln(d);if(a!==void 0)return Ze(a[0],a[1])};r.popStateHandler=u,window.addEventListener("popstate",u),r.initialized=!0}function Sl(e,t,n,r,i){let u=e!==void 0?e:"/",o=t!==void 0?t:"/",d=n!==void 0?n:"",a=r!==void 0?r:"",l=Q(),c=_t(u);l.basePath.contents=c,$e(l.location,{pathname:o,search:d,hash:a}),l.initialized=!0}function Et(e,t,n,r){let i=t!==void 0?t:"",u=n!==void 0?n:"";ve("Router.push()"),Fn();let o={pathname:e,search:i,hash:u},a=Ge(e)+i+u;window.history.pushState($t(),"",a),$e(Q().location,o),Ze(0,0)}function _l(e,t,n,r){let i=t!==void 0?t:"",u=n!==void 0?n:"";ve("Router.replace()");let o={pathname:e,search:i,hash:u},a=Ge(e)+i+u;window.history.replaceState($t(),"",a),$e(Q().location,o),Ze(0,0)}function $l(e,t){return ve("Router.route()"),Ue(de(()=>{let n=L(Q().location),r=Qe(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0,void 0))}function vl(e){return ve("Router.routes()"),Ue(de(()=>{let t=L(Q().location),n=hl(e,r=>{let i=Qe(r.pattern,t.pathname);if(typeof i=="object")return r.render(i._0)});return n!==void 0?[n]:[]},void 0,void 0))}function El(e,t,n,r){let i=t!==void 0?t:[],u=n!==void 0?n:[];ve("Router.link()");let o=d=>{d.preventDefault(),Et(e,void 0,void 0)};return pt(i.concat([ae("href",Ge(e))]),[["click",o]],u)}function Gn(e){let t=[],n=e.class;n!==void 0&&t.push(y("class",m(n)));let r=e.id;r!==void 0&&t.push(y("id",m(r)));let i=e.style;i!==void 0&&t.push(y("style",m(i)));let u=e.target;u!==void 0&&t.push(y("target",m(u)));let o=e["aria-label"];return o!==void 0&&t.push(y("aria-label",m(o))),t}function Vn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Ve(e){ve("Router.Link");let t=n=>{n.preventDefault(),Et(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return pt(Gn(e).concat([ae("href",Ge(e.to))]),[["click",t]],Vn(e))}function Kn(e,t,n){return t!==void 0?{TAG:"Keyed",key:t,identity:e,child:Ve(e)}:Ve(e)}const Tl=Object.freeze(Object.defineProperty({__proto__:null,Link:{Prop:void 0,propsToAttrs:Gn,getChildren:Vn,make:Ve,jsx:Ve,jsxs:Ve,jsxKeyed:Kn,jsxsKeyed:Kn},Route:void 0,addBasePath:Ge,basePath:yl,emptyHistoryState:$t,getCurrentLocation:vt,getGlobalState:Q,getScrollFromState:Ln,getScrollPosition:Mn,getSymbolKey:gl,init:bl,initSSR:Sl,link:El,location:pl,makeHistoryState:Rn,normalizeBasePath:_t,push:Et,replace:_l,route:$l,routes:vl,saveScrollPosition:Fn,scrollTo:Ze,stripBasePath:On,warnIfNotInitialized:ve},Symbol.toStringTag,{value:"Module"}));function ge(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#x27;")}let xl=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function kl(e){return xl.includes(e)}let Ke="k:";function Al(e){return"<!--"+Ke+e+"-->"}let Dl="<!--$-->",wl="<!--/$-->",Cl="$",Pl="/$",jl="<!--#-->",Ol="<!--/#-->",Ml="#",Rl="/#",Ll="<!--kl-->",Fl="<!--/kl-->",Nn="kl",Bn="/kl",Gl="<!--/k-->",In="/k",Vl="<!--lc-->",Kl="<!--/lc-->",Nl="lc",Bl="/lc";function zn(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=re(t._0);break;case"Compute":r=t._0();break}return Qt(n)?Zt(r)?n:"":n+'="'+ge(r)+'"'}function Wn(e){let t=e.map(zn).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let Il={renderAttr:zn,renderAttrs:Wn};function pe(e){for(;;){let t=e;switch(t.TAG){case"Element":let n=t.tag,r=Wn(t.attrs);if(kl(n))return"<"+n+r+" />";let i=t.children.map(pe).join("");return"<"+n+r+">"+i+"</"+n+">";case"Text":return ge(t._0);case"SignalText":let u=re(t._0);return Dl+ge(u)+wl;case"Fragment":return t._0.map(pe).join("");case"SignalFragment":let d=re(t._0).map(pe).join("");return jl+d+Ol;case"Keyed":e=t.child;continue;case"LazyComponent":let a=t._0();return Vl+pe(a)+Kl;case"KeyedList":let l=t.renderItem,c=t.keyFn,v=re(t.signal).map(P=>{let A=c(P),O=pe(l(P));return Al(A)+O+Gl}).join("");return Ll+v+Fl}}}function Hn(e,t){return pe(e())}function zl(e,t,n){let r=t!==void 0?t:"root",i=e(),u=pe(i);return"<!--xote-root:"+r+"-->"+u+"<!--/xote-root-->"}function qn(e){return"<script"+(e!==void 0?' nonce="'+ge(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Wl(e,t,n,r,i,u,o){let d=e!==void 0?e:"",a=t!==void 0?t:"",l=n!==void 0?n:[],c=r!==void 0?r:[],k=i!==void 0?i:"",v=Hn(o),P=qn(u),A=c.map(q=>'<link rel="stylesheet" href="'+ge(q)+'" />').join(`
1
+ (function(M,Se){typeof exports=="object"&&typeof module<"u"?Se(exports):typeof define=="function"&&define.amd?define(["exports"],Se):(M=typeof globalThis<"u"?globalThis:M||self,Se(M.xote={}))})(this,(function(M){"use strict";let Se={contents:0};function je(){return Se.contents=Se.contents+1|0,Se.contents}let Te={contents:0},xe={contents:0};function Dt(){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 Ct(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 nr(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 Pt(e){e.flags=e.flags&-2}function rr(e){return(e.flags&2)!==0}function lr(e){e.flags=e.flags|2}function ir(e){e.flags=e.flags&-3}function jt(e){return(e.flags&1)!==0}function Ot(e){e.flags=e.flags|1}function Ie(e){e.flags=e.flags&-2}function ur(e){return(e.flags&2)!==0}function or(e){e.flags=e.flags|2}function dr(e){e.flags=e.flags&-3}function _e(e){return e.compute!==void 0}function We(e,t){return{subs:e,observer:t,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0,lastTrackedVersion:0}}function He(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 Mt(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 qe(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 ar(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 cr(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 fr(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;qe(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}function sr(e){let t=e.firstDep;for(;t!==void 0;){let n=t;if(n!==void 0){let r=n.nextDep;qe(n),t=r}}e.firstDep=void 0,e.lastDep=void 0}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}let G={contents:void 0},N={contents:void 0},B={contents:0},z={contents:void 0},I={contents:void 0},te=[],ne=[],ce={contents:!1},Oe={contents:!1},Me={contents:!1},Lt={contents:0},Ft={contents:0},Re=[],mr=(function(e){e.length=0}),Gt=(function(e,t){if(!(t<=0)){if(t>=e.length){e.length=0;return}e.copyWithin(0,t),e.length=e.length-t}});function ut(e){if(rr(e))return;lr(e),te.length===0?Oe.contents=!1:e.level<Lt.contents&&(Oe.contents=!0),te.push(e),Lt.contents=e.level}function hr(e){if(ur(e))return;or(e),ne.length===0?Me.contents=!1:e.level<Ft.contents&&(Me.contents=!0),ne.push(e),Ft.contents=e.level}function gr(e,t){if(e.firstDep===void 0){let l=We(t,e);l.lastTrackedVersion=B.contents,Rt(e,l),He(t,l),z.contents=l;return}let n=B.contents,r=!1,i=z.contents;if(i!==void 0)if(i.subs===t&&i.observer===e)i.lastTrackedVersion=n,r=!0;else{let l=i.nextDep;l!==void 0&&l.subs===t&&l.observer===e&&(l.lastTrackedVersion=n,z.contents=l,r=!0)}if(!r){let l=t.last;l!==void 0&&l.lastTrackedVersion===n&&l.observer===e&&(l.lastTrackedVersion=n,z.contents=l,r=!0)}if(r)return;let u=!1,a,c=e.firstDep;for(;c!==void 0&&!u;){let l=c;l!==void 0&&(l.subs===t?(l.lastTrackedVersion=n,a=l,u=!0):c=l.nextDep)}if(u){z.contents=a;return}let f=We(t,e);f.lastTrackedVersion=n,Rt(e,f),He(t,f),z.contents=f}function yr(e,t){if(e.firstDep===void 0){let l=We(t,e);l.lastTrackedVersion=B.contents,Mt(e,l),He(t,l),I.contents=l;return}let n=B.contents,r=!1,i=I.contents;if(i!==void 0)if(i.subs===t&&i.observer===e)i.lastTrackedVersion=n,r=!0;else{let l=i.nextDep;l!==void 0&&l.subs===t&&l.observer===e&&(l.lastTrackedVersion=n,I.contents=l,r=!0)}if(!r){let l=t.last;l!==void 0&&l.lastTrackedVersion===n&&l.observer===e&&(l.lastTrackedVersion=n,I.contents=l,r=!0)}if(r)return;let u=!1,a,c=e.firstDep;for(;c!==void 0&&!u;){let l=c;l!==void 0&&(l.subs===t?(l.lastTrackedVersion=n,a=l,u=!0):c=l.nextDep)}if(u){I.contents=a;return}let f=We(t,e);f.lastTrackedVersion=n,Mt(e,f),He(t,f),I.contents=f}function pr(e){let t=G.contents;if(t!==void 0)return gr(t,e);let n=N.contents;if(n!==void 0)return yr(n,e)}function br(e,t){return e.level-t.level|0}function Sr(e,t){return e.level-t.level|0}function Vt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(_e(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Kt(e){let t=0,n=e.firstDep;for(;n!==void 0;){let r=n;r!==void 0&&(_e(r.subs)&&r.subs.level>t&&(t=r.subs.level),n=r.nextDep)}return t+1|0}function Nt(e,t){let n=B.contents,r=e.version;Te.contents=Te.contents+1|0,B.contents=Te.contents,t&&dr(e);let i=G.contents,u=z.contents;G.contents=e,z.contents=e.firstDep;try{let a=e.compute;a!==void 0&&a();let c=e.firstDep;for(;c!==void 0;){let f=c;if(f!==void 0){let l=f.nextDep;f.lastTrackedVersion!==B.contents&&(qe(f),cr(e,f)),c=l}}if(Ie(e),e.lastGlobalVersion=xe.contents,e.first!==void 0&&e.version!==r){let f=e.first;for(;f!==void 0;){let l=f;if(l!==void 0){let s=l.observer;if(_e(s))Ot(s);else{let k=N.contents;k!==void 0&&k===l.observer||ut(l.observer)}f=l.nextSub}}}G.contents=i,z.contents=u,B.contents=n;return}catch(a){throw G.contents=i,z.contents=u,B.contents=n,a}}function _r(e){let t=e.level;if(Nt(e,!0),t===0){e.level=Vt(e);return}}function vr(e){let t=e.level,n=B.contents;Te.contents=Te.contents+1|0,B.contents=Te.contents,ir(e);let r=N.contents,i=I.contents;N.contents=e,I.contents=e.firstDep;try{e.run();let u=e.firstDep;for(;u!==void 0;){let a=u;if(a!==void 0){let c=a.nextDep;a.lastTrackedVersion!==B.contents&&(qe(a),ar(e,a)),u=c}}Pt(e),N.contents=r,I.contents=i,B.contents=n}catch(u){throw N.contents=r,I.contents=i,B.contents=n,u}if(t===0){e.level=Kt(e);return}}function Bt(){ce.contents=!0;try{for(;te.length!==0||ne.length!==0;){if(ne.length!==0){let e=ne.length;e>1&&Me.contents&&(ne.sort(Sr),Me.contents=!1);let t=0;for(;t<e;){let n=ne[t];n!==void 0&&_r(n),t=t+1|0}Gt(ne,e),ne.length===0&&(Me.contents=!1)}if(te.length!==0){let e=te.length;e>1&&Oe.contents&&(te.sort(br),Oe.contents=!1);let t=0;for(;t<e;){let n=te[t];n!==void 0&&vr(n),t=t+1|0}Gt(te,e),te.length===0&&(Oe.contents=!1)}}ce.contents=!1;return}catch(e){throw ce.contents=!1,e}}function $r(e){if(e.first!==void 0)if(!_e(e)&&e.computedSubscriberCount===0){let t=e.first;for(;t!==void 0;){let n=t;n!==void 0&&(ut(n.observer),t=n.nextSub)}}else{Re.push(e);let t=0;for(;t<Re.length;){let n=Re[t];if(t=t+1|0,n!==void 0){let r=n.first;for(;r!==void 0;){let i=r;if(i!==void 0){let u=i.observer;_e(u)?jt(u)||(Ot(u),Re.push(u)):_e(n)&&n.deferEffectsUntilRecompute?hr(n):ut(i.observer),r=i.nextSub}}}}mr(Re)}if((te.length!==0||ne.length!==0)&&!ce.contents)return Bt()}function zt(e){if(!_e(e)||!jt(e))return;if(e.lastGlobalVersion===xe.contents)return Ie(e);let t=e.level;if(Nt(e,!1),t===0){e.level=Vt(e);return}}function Er(e){let t=ce.contents;ce.contents=!0;try{let n=e();return t||(ce.contents=!1,(te.length!==0||ne.length!==0)&&Bt()),n}catch(n){throw t||(ce.contents=!1),n}}function Tr(e){let t=G.contents,n=N.contents,r=z.contents,i=I.contents;G.contents=void 0,N.contents=void 0,z.contents=void 0,I.contents=void 0;try{let u=e();return G.contents=t,N.contents=n,z.contents=r,I.contents=i,u}catch(u){throw G.contents=t,N.contents=n,z.contents=r,I.contents=i,u}}function It(e,t){let n=je(),r={contents:void 0},u=nr(n,"Effect",()=>{let l=r.contents;l!==void 0&&l(),r.contents=e()},t,void 0),a=N.contents;N.contents=u;try{u.run(),Pt(u),N.contents=a}catch(l){throw N.contents=a,l}u.level=Kt(u);let c={contents:!1};return{dispose:()=>{if(c.contents)return;c.contents=!0;let l=r.contents;l!==void 0&&l(),fr(u)}}}function xr(e,t){It(e,t)}let V=It;const kr=Object.freeze(Object.defineProperty({__proto__:null,run:xr,runWithDisposer:V},Symbol.toStringTag,{value:"Module"}));function Wt(e,t){return e===t}function Ht(e,t){return!1}function wr(e,t,n){return{id:je(),value:e,equals:n!==void 0?n:Wt,name:t,subs:Dt()}}function Ar(e,t){return{id:je(),value:e,equals:Ht,name:t,subs:Dt()}}function Dr(e){return zt(e.subs),pr(e.subs),e.value}function Cr(e){return zt(e.subs),e.value}function qt(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,xe.contents=xe.contents+1|0,$r(e.subs)}function Pr(e,t){qt(e,t(e.value))}let jr=Er,Or=Tr,Mr=Wt,Rr=Ht,ot=wr,Lr=Ar,L=Dr,re=Cr,ve=qt;const Fr=Object.freeze(Object.defineProperty({__proto__:null,batch:jr,defaultEquals:Mr,get:L,make:ot,makeForComputed:Lr,neverEquals:Rr,peek:re,set:ve,untrack:Or,update:Pr},Symbol.toStringTag,{value:"Module"}));function Le(e,t){delete e[t]}function Ut(e,t){let n=je(),r=(s,k)=>!1,i={contents:void 0},a=Ct(()=>{let s=i.contents,k=e();s.value=k,s.subs.version=s.subs.version+1|0},!1),c=G.contents;G.contents=a;let f=e();G.contents=c;let l={id:n,value:f,equals:r,name:t,subs:a};return i.contents=l,a.lastGlobalVersion=xe.contents,Ie(a),l}function Xt(e,t,n){let r=je(),i={contents:void 0},a=Ct(()=>{let s=i.contents,k=s.value,$=e(),P;try{P=!s.equals(k,$)}catch{P=!0}if(P){s.value=$,s.subs.version=s.subs.version+1|0;return}},!0),c=G.contents;G.contents=a;let f=e();G.contents=c;let l={id:r,value:f,equals:t,name:n,subs:a};return i.contents=l,a.lastGlobalVersion=xe.contents,Ie(a),l}function Gr(e,t,n){return n!==void 0?Xt(e,n,t):Ut(e,t)}function Vr(e){sr(e.subs)}let Kr=Ut,Nr=Xt,de=Gr,Yt=Vr;const Br=Object.freeze(Object.defineProperty({__proto__:null,dispose:Yt,make:de,makeWithEquals:Nr,makeWithoutEquals:Kr},Symbol.toStringTag,{value:"Module"}));function fe(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 ke(e){if(e!=null)return fe(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 zr(e,t){if(e!==void 0)return fe(t(g(e)))}function se(e,t){return e!==void 0?g(e):t}function Jt(e){return e!==void 0}let Ir=["checked","disabled","required","readonly","multiple","aria-hidden","aria-expanded","aria-selected","draggable","hidden","contenteditable","spellcheck","autofocus"];function Qt(e){return Ir.includes(e)}function Fe(e){return e?"true":"false"}function Zt(e){return e==="true"}let Wr="http://www.w3.org/2000/svg",Hr=["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"],en={};Hr.forEach(e=>{en[e]=!0});function qr(e){return Jt(en[e])?document.createElementNS(Wr,e):document.createElement(e)}function me(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"value":e.value=n;return;default:Qt(t)?Zt(n)?e.setAttribute(t,""):e.removeAttribute(t):e.setAttribute(t,n);return}}function W(){return{disposers:[],computeds:[]}}function U(e,t){return t()}function H(e,t){e.disposers.push(t)}function tn(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(Yt)}function X(e,t){e.__xote_owner__=t}function nn(e){return ke(e.__xote_owner__)}function dt(e,t){return[e,{TAG:"Static",_0:t}]}function at(e,t){return[e,{TAG:"SignalValue",_0:t}]}function ct(e,t){return[e,{TAG:"Compute",_0:t}]}let rn={$$static:dt,signal:at,computed:ct},ln={string:dt,signal:at,compute:ct};function he(e){let t=nn(e);t!==void 0&&tn(t),Array.from(e.childNodes||[]).forEach(he)}function un(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="object")return!1;let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{let u=e[i],a=t[i];return u!==void 0&&a!==void 0?g(u)===g(a):!1})}function on(e){Object.keys(e).forEach(t=>{Le(e,t)})}function dn(e){if(e.length===0)return;let t=[],n={contents:!0};if(e.forEach(r=>{if(r.TAG!=="Keyed"){n.contents=!1;return}t.push({key:r.key,identity:r.identity,child:r.child})}),n.contents)return t}function an(e,t,n){let r={};e.forEach(l=>{r[l.key]=l});let i=[];Object.keys(t).forEach(l=>{if(r[l]===void 0){i.push(l);return}}),i.forEach(l=>{let s=t[l];if(s!==void 0){he(s.element),s.element.remove(),Le(t,l);return}});let u=[],a={};e.forEach(l=>{let s=t[l.key];if(s!==void 0){if(un(s.item,l.identity)){u.push(s);return}let O=le(l.child),q=l.key,ee=l.identity,ie={key:q,item:ee,element:O};a[l.key]=s.element,u.push(ie),t[l.key]=ie;return}let k=le(l.child),$=l.key,P=l.identity,w={key:$,item:P,element:k};u.push(w),t[l.key]=w});let c=n.firstChild,f={contents:c!=null?fe(c):void 0};u.forEach(l=>{let s=f.contents;if(s!==void 0){let $=g(s);if($===l.element){f.contents=ke($.nextSibling);return}let P=a[l.key];if(P!==void 0){let w=g(P);if($===w){he(w),n.replaceChild(l.element,w),f.contents=ke(l.element.nextSibling);return}}n.insertBefore(l.element,$),f.contents=ke(l.element.nextSibling);return}let k=a[l.key];if(k!==void 0){let $=g(k);he($),$.remove(),n.appendChild(l.element);return}n.appendChild(l.element)})}function le(e){for(;;){let t=e;switch(t.TAG){case"Element":let n=t.children,r=t.events,i=t.attrs,u=t.tag,a=qr(u),c=W();return X(a,c),U(c,()=>{let h=m=>u==="select"?m[0]==="value":!1,T=m=>{let A=m[1],j=m[0];switch(A.TAG){case"Static":return me(a,j,A._0);case"SignalValue":let p=A._0;me(a,j,re(p));let x=V(()=>{me(a,j,L(p))},void 0);return H(c,x);case"Compute":let b=A._0,C=V(()=>{me(a,j,b())},void 0);return H(c,C)}};i.forEach(m=>{if(!h(m))return T(m)}),r.forEach(m=>{a.addEventListener(m[0],m[1])}),n.forEach(m=>{let A=le(m);a.appendChild(A)}),i.forEach(m=>{if(h(m))return T(m)})}),a;case"Text":return document.createTextNode(t._0);case"SignalText":let f=t._0,l=document.createTextNode(re(f)),s=W();return X(l,s),U(s,()=>{let h=V(()=>{l.textContent=L(f)},void 0);H(s,h)}),l;case"Fragment":let k=document.createDocumentFragment();return t._0.forEach(h=>{let T=le(h);k.appendChild(T)}),k;case"SignalFragment":let $=t._0,P=W(),w=document.createElement("div");w.setAttribute("style","display: contents"),X(w,P);let O={};return U(P,()=>{let h=V(()=>{let T=L($),m=dn(T);m!==void 0?an(m,O,w):(on(O),Array.from(w.childNodes||[]).forEach(he),w.innerHTML="",T.forEach(j=>{let p=le(j);w.appendChild(p)}))},void 0);H(P,h)}),w;case"Keyed":e=t.child;continue;case"LazyComponent":let q=W(),ee=U(q,t._0),ie=le(ee);return X(ie,q),ie;case"KeyedList":let ue=t.renderItem,K=t.keyFn,oe=t.signal,Ce=W(),R=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end ");X(R,Ce);let D={},E=()=>{let h=_.parentNode;if(h==null)return;let T=L(oe),m={};T.forEach(b=>{m[K(b)]=b});let A=[];Object.keys(D).forEach(b=>{if(m[b]===void 0){A.push(b);return}}),A.forEach(b=>{let C=D[b];if(C!==void 0){he(C.element),C.element.remove(),Le(D,b);return}});let j=[],p={};T.forEach(b=>{let C=K(b),Pe=D[C];if(Pe!==void 0){if(Pe.item!==b){p[C]=!0;let it=ue(b),ji=le(it),tr={key:C,item:b,element:ji};j.push(tr),D[C]=tr;return}j.push(Pe);return}let rt=ue(b),At=le(rt),lt={key:C,item:b,element:At};j.push(lt),D[C]=lt});let x={contents:R.nextSibling};j.forEach(b=>{let C=x.contents;if(C==null){h.insertBefore(b.element,_);return}if(C===_){h.insertBefore(b.element,_);return}if(C===b.element){x.contents=C.nextSibling;return}se(p[b.key],!1)?(he(C),h.replaceChild(b.element,C),x.contents=b.element.nextSibling):(h.insertBefore(b.element,C),x.contents=b.element.nextSibling)})},v=document.createDocumentFragment();return v.appendChild(R),re(oe).forEach(h=>{let T=K(h),m=ue(h),A=le(m),j={key:T,item:h,element:A};D[T]=j,v.appendChild(A)}),v.appendChild(_),U(Ce,()=>{let h=V(()=>{E()},void 0);H(Ce,h)}),v}}}let F={disposeElement:he,shallowEqualIdentity:un,clearKeyedItems:on,getKeyedChildren:dn,reconcileKeyedChildren:an,render:le};function ft(e){return{TAG:"Text",_0:e}}function cn(e){return{TAG:"SignalText",_0:de(e,void 0,void 0)}}function fn(e){return{TAG:"SignalText",_0:de(()=>e().toString(),void 0,void 0)}}function sn(e){return{TAG:"SignalText",_0:de(()=>e().toString(),void 0,void 0)}}function mn(e){return{TAG:"Text",_0:e.toString()}}function hn(e){return{TAG:"Text",_0:e.toString()}}function Ue(e){return{TAG:"Fragment",_0:e}}function Xe(e){return{TAG:"SignalFragment",_0:e}}function st(e,t){return{TAG:"SignalFragment",_0:de(()=>L(e).map(t),void 0,void 0)}}function mt(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function Y(e,t,n,r,i){let u=t!==void 0?t:[].map(f=>f),a=n!==void 0?n:[].map(f=>f),c=r!==void 0?r:[].map(f=>f);return{TAG:"Element",tag:e,attrs:u,events:a,children:c}}function ht(){return{TAG:"Text",_0:""}}function gt(e,t){let n=le(e);t.appendChild(n)}function gn(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return gt(e,n)}let yn,pn,ae=dt,we=at,Ye=ct,bn=st,Sn=mt,_n=ht;const Ur=Object.freeze(Object.defineProperty({__proto__:null,$$null:ht,Attr:ln,Attributes:rn,DOM:yn,Reactivity:pn,Render:F,attr:ae,computedAttr:Ye,each:st,eachWithKey:mt,element:Y,empty:_n,float:hn,fragment:Ue,int:mn,keyedList:Sn,list:bn,mount:gt,mountById:gn,signalAttr:we,signalFloat:sn,signalFragment:Xe,signalInt:fn,signalText:cn,text:ft},Symbol.toStringTag,{value:"Module"})),Xr=Object.freeze(Object.defineProperty({__proto__:null,$$null:ht,Attr:ln,Attributes:rn,DOM:yn,Reactivity:pn,Render:F,attr:ae,computedAttr:Ye,each:st,eachWithKey:mt,element:Y,empty:_n,float:hn,fragment:Ue,int:mn,keyedList:Sn,list:bn,mount:gt,mountById:gn,signalAttr:we,signalFloat:sn,signalFragment:Xe,signalInt:fn,signalText:cn,text:ft},Symbol.toStringTag,{value:"Module"}));function Yr(e,t,n,r){return Y("div",e,t,n)}function Jr(e,t,n,r){return Y("span",e,t,n)}function Qr(e,t,n,r){return Y("button",e,t,n)}function Zr(e,t,n){return Y("input",e,t,void 0)}function el(e,t,n,r){return Y("h1",e,t,n)}function tl(e,t,n,r){return Y("h2",e,t,n)}function nl(e,t,n,r){return Y("h3",e,t,n)}function rl(e,t,n,r){return Y("p",e,t,n)}function ll(e,t,n,r){return Y("ul",e,t,n)}function il(e,t,n,r){return Y("li",e,t,n)}function yt(e,t,n,r){return Y("a",e,t,n)}const ul=Object.freeze(Object.defineProperty({__proto__:null,a:yt,button:Qr,div:Yr,h1:el,h2:tl,h3:nl,input:Zr,li:il,p:rl,span:Jr,ul:ll},Symbol.toStringTag,{value:"Module"}));function vn(e){return e&&typeof e=="object"&&"TAG"in e&&(e.TAG==="Static"||e.TAG==="Reactive")}function d(e,t){return vn(t)?t.TAG==="Reactive"?we(e,t._0):ae(e,t._0):typeof t=="function"?Ye(e,t):typeof t=="object"?we(e,t):ae(e,t)}function J(e,t){if(vn(t)){if(t.TAG!=="Reactive")return ae(e,Fe(t._0));let r=t._0,i=de(()=>Fe(L(r)),void 0,void 0);return we(e,i)}if(typeof t=="function")return Ye(e,()=>Fe(t()));if(typeof t!="object")return ae(e,Fe(t));let n=de(()=>Fe(L(t)),void 0,void 0);return we(e,n)}function $n(e,t){return{TAG:"LazyComponent",_0:()=>e(t)}}function En(e,t,n,r){return n!==void 0?{TAG:"Keyed",key:n,identity:t,child:{TAG:"LazyComponent",_0:()=>e(t)}}:{TAG:"LazyComponent",_0:()=>e(t)}}function ol(e){let t=e.children;return t!==void 0?t:Ue([])}let dl=Ue;function al(){return ft("")}function o(e,t,n,r){if(t!==void 0){e.push(r(n,g(t)));return}}function Ae(e,t,n){if(t!==void 0){e.push(ae(n,t.toString()));return}}function Tn(e){let t=[];o(t,e.id,"id",d),o(t,e.class,"class",d),o(t,e.style,"style",d),o(t,e.title,"title",d),o(t,e.type,"type",d),o(t,e.name,"name",d),o(t,e.value,"value",d),o(t,e.placeholder,"placeholder",d),o(t,e.disabled,"disabled",J),o(t,e.checked,"checked",J),o(t,e.required,"required",J),o(t,e.readOnly,"readonly",J),Ae(t,e.maxLength,"maxlength"),Ae(t,e.minLength,"minlength"),o(t,e.min,"min",d),o(t,e.max,"max",d),o(t,e.step,"step",d),o(t,e.pattern,"pattern",d),o(t,e.autoComplete,"autocomplete",d),o(t,e.multiple,"multiple",J),o(t,e.accept,"accept",d),Ae(t,e.rows,"rows"),Ae(t,e.cols,"cols"),o(t,e.autofocus,"autofocus",J),o(t,e.action,"action",d),o(t,e.method,"method",d),o(t,e.for,"for",d),o(t,e.href,"href",d),o(t,e.target,"target",d),o(t,e.src,"src",d),o(t,e.alt,"alt",d),o(t,e.width,"width",d),o(t,e.height,"height",d),o(t,e.draggable,"draggable",J),o(t,e.hidden,"hidden",J),o(t,e.contentEditable,"contenteditable",J),o(t,e.spellcheck,"spellcheck",J),o(t,e.role,"role",d),Ae(t,e.tabIndex,"tabindex"),o(t,e["aria-label"],"aria-label",d),o(t,e["aria-hidden"],"aria-hidden",J),o(t,e["aria-expanded"],"aria-expanded",J),o(t,e["aria-selected"],"aria-selected",J),o(t,e.xmlns,"xmlns",d),o(t,e["xmlns:xlink"],"xmlns:xlink",d),o(t,e.version,"version",d),o(t,e.viewBox,"viewBox",d),o(t,e.preserveAspectRatio,"preserveAspectRatio",d),o(t,e.d,"d",d),o(t,e.pathLength,"pathLength",d),o(t,e.cx,"cx",d),o(t,e.cy,"cy",d),o(t,e.r,"r",d),o(t,e.rx,"rx",d),o(t,e.ry,"ry",d),o(t,e.x,"x",d),o(t,e.y,"y",d),o(t,e.x1,"x1",d),o(t,e.y1,"y1",d),o(t,e.x2,"x2",d),o(t,e.y2,"y2",d),o(t,e.fx,"fx",d),o(t,e.fy,"fy",d),o(t,e.dx,"dx",d),o(t,e.dy,"dy",d),o(t,e.points,"points",d),o(t,e.transform,"transform",d),o(t,e["transform-origin"],"transform-origin",d),o(t,e.fill,"fill",d),o(t,e["fill-opacity"],"fill-opacity",d),o(t,e["fill-rule"],"fill-rule",d),o(t,e.stroke,"stroke",d),o(t,e["stroke-width"],"stroke-width",d),o(t,e["stroke-linecap"],"stroke-linecap",d),o(t,e["stroke-linejoin"],"stroke-linejoin",d),o(t,e["stroke-dasharray"],"stroke-dasharray",d),o(t,e["stroke-dashoffset"],"stroke-dashoffset",d),o(t,e["stroke-opacity"],"stroke-opacity",d),o(t,e["stroke-miterlimit"],"stroke-miterlimit",d),o(t,e.opacity,"opacity",d),o(t,e.color,"color",d),o(t,e.visibility,"visibility",d),o(t,e["vector-effect"],"vector-effect",d),o(t,e["pointer-events"],"pointer-events",d),o(t,e["clip-path"],"clip-path",d),o(t,e["clip-rule"],"clip-rule",d),o(t,e.mask,"mask",d),o(t,e.filter,"filter",d),o(t,e["text-anchor"],"text-anchor",d),o(t,e["dominant-baseline"],"dominant-baseline",d),o(t,e["font-family"],"font-family",d),o(t,e["font-size"],"font-size",d),o(t,e["font-weight"],"font-weight",d),o(t,e["letter-spacing"],"letter-spacing",d),o(t,e["word-spacing"],"word-spacing",d),o(t,e["text-decoration"],"text-decoration",d),o(t,e.offset,"offset",d),o(t,e["stop-color"],"stop-color",d),o(t,e["stop-opacity"],"stop-opacity",d),o(t,e.gradientUnits,"gradientUnits",d),o(t,e.gradientTransform,"gradientTransform",d),o(t,e.spreadMethod,"spreadMethod",d),o(t,e["marker-start"],"marker-start",d),o(t,e["marker-mid"],"marker-mid",d),o(t,e["marker-end"],"marker-end",d),o(t,e["xlink:href"],"xlink:href",d);let n=e.data;return n!==void 0&&Object.entries(n).forEach(i=>{t.push(d("data-"+i[0],i[1]))}),t}function y(e,t,n){if(t!==void 0){e.push([n,g(t)]);return}}function xn(e){let t=[];return y(t,e.onClick,"click"),y(t,e.onInput,"input"),y(t,e.onChange,"change"),y(t,e.onSubmit,"submit"),y(t,e.onFocus,"focus"),y(t,e.onBlur,"blur"),y(t,e.onKeyDown,"keydown"),y(t,e.onKeyUp,"keyup"),y(t,e.onMouseEnter,"mouseenter"),y(t,e.onMouseLeave,"mouseleave"),y(t,e.onMouseDown,"mousedown"),y(t,e.onMouseMove,"mousemove"),y(t,e.onMouseUp,"mouseup"),y(t,e.onContextMenu,"contextmenu"),y(t,e.onPointerDown,"pointerdown"),y(t,e.onPointerMove,"pointermove"),y(t,e.onPointerUp,"pointerup"),y(t,e.onPointerCancel,"pointercancel"),y(t,e.onPointerEnter,"pointerenter"),y(t,e.onPointerLeave,"pointerleave"),y(t,e.onPointerOver,"pointerover"),y(t,e.onPointerOut,"pointerout"),y(t,e.onGotPointerCapture,"gotpointercapture"),y(t,e.onLostPointerCapture,"lostpointercapture"),y(t,e.onDrag,"drag"),y(t,e.onDragStart,"dragstart"),y(t,e.onDragEnd,"dragend"),y(t,e.onDragOver,"dragover"),y(t,e.onDragEnter,"dragenter"),y(t,e.onDragLeave,"dragleave"),y(t,e.onDrop,"drop"),t}function kn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Je(e,t){return{TAG:"Element",tag:e,attrs:Tn(t),events:xn(t),children:kn(t)}}let wn=Je;function An(e,t,n,r){return n!==void 0?{TAG:"Keyed",key:n,identity:t,child:Je(e,t)}:Je(e,t)}const cl=Object.freeze(Object.defineProperty({__proto__:null,$$null:al,Elements:{addAttr:o,addIntAttr:Ae,propsToAttrs:Tn,addEvent:y,propsToEvents:xn,getChildren:kn,createElement:Je,jsx:wn,jsxs:wn,jsxKeyed:An,jsxsKeyed:An},Prop:void 0,array:dl,jsx:$n,jsxFragment:ol,jsxKeyed:En,jsxs:$n,jsxsKeyed:En},Symbol.toStringTag,{value:"Module"}));function Dn(e){return e.TAG==="Reactive"?L(e._0):e._0}function Cn(e){return{TAG:"Static",_0:e}}function pt(e){return{TAG:"Reactive",_0:e}}let Pn=pt;const fl=Object.freeze(Object.defineProperty({__proto__:null,$$static:Cn,get:Dn,reactive:pt,signal:Pn},Symbol.toStringTag,{value:"Module"})),sl=Object.freeze(Object.defineProperty({__proto__:null,$$static:Cn,get:Dn,reactive:pt,signal:Pn},Symbol.toStringTag,{value:"Module"}));function jn(e,t){let n=e.length,r=new Array(n),i=0;for(let u=0;u<n;++u){let a=e[u],c=t(a);c!==void 0&&(r[i]=g(c),i=i+1|0)}return r.length=i,r}function ml(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 bt(e){return jn(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function St(e,t){let n=t.split("/").filter(u=>u!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((u,a)=>{let c=n[a];return u.TAG==="Static"?c===u._0:(r[u._0]=c,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function Qe(e,t){return St(bt(e),t)}const hl=Object.freeze(Object.defineProperty({__proto__:null,compile:bt,match:Qe,matchCompiled:St,matchPath:St,matchPathname:Qe,parsePattern:bt},Symbol.toStringTag,{value:"Module"}));function gl(){return Symbol.for("xote.router.state")}function Q(){let e=globalThis[Symbol.for("xote.router.state")];if(e!==void 0)return e;let t={location:ot({pathname:"/",search:"",hash:""},void 0,void 0),basePath:{contents:"/"},initialized:!1,popStateHandler:void 0};return globalThis[Symbol.for("xote.router.state")]=t,t}function yl(){return Q().location}function pl(){return Q().basePath}function $e(e){if(!Q().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 _t(e){if(e===""||e==="/")return"/";let t=e.startsWith("/")?e:"/"+e;return t.endsWith("/")?t.slice(0,t.length-1|0):t}function On(e){let t=Q().basePath.contents;return t==="/"?e:e===t?"/":e.startsWith(t+"/")?e.slice(t.length):e}function Ge(e){let t=Q().basePath.contents;return t==="/"?e:e==="/"?t:t+e}function Mn(){let e=window.scrollX||window.pageXOffset||0,t=window.scrollY||window.pageYOffset||0;return[e,t]}function Ze(e,t){window.scrollTo(e,t)}function Rn(e,t){return{scrollX:e,scrollY:t}}function vt(){return{}}function Ln(e){let t=e&&e.scrollX,n=e&&e.scrollY;if(t!=null&&n!=null)return[t,n]}function Fn(){let e=Mn(),t=Rn(e[0],e[1]),n=window.location.href;window.history.replaceState(t,"",n)}function $t(){let e=window.location.pathname;return{pathname:On(e),search:window.location.search,hash:window.location.hash}}function bl(e,t){let n=e!==void 0?e:"/",r=Q(),i=_t(n);if(r.basePath.contents=i,ve(r.location,$t()),r.initialized)return;let u=a=>{ve(Q().location,$t());let c=window["history.state"];if(c==null)return;let f=Ln(c);if(f!==void 0)return Ze(f[0],f[1])};r.popStateHandler=u,window.addEventListener("popstate",u),r.initialized=!0}function Sl(e,t,n,r,i){let u=e!==void 0?e:"/",a=t!==void 0?t:"/",c=n!==void 0?n:"",f=r!==void 0?r:"",l=Q(),s=_t(u);l.basePath.contents=s,ve(l.location,{pathname:a,search:c,hash:f}),l.initialized=!0}function Et(e,t,n,r){let i=t!==void 0?t:"",u=n!==void 0?n:"";$e("Router.push()"),Fn();let a={pathname:e,search:i,hash:u},f=Ge(e)+i+u;window.history.pushState(vt(),"",f),ve(Q().location,a),Ze(0,0)}function _l(e,t,n,r){let i=t!==void 0?t:"",u=n!==void 0?n:"";$e("Router.replace()");let a={pathname:e,search:i,hash:u},f=Ge(e)+i+u;window.history.replaceState(vt(),"",f),ve(Q().location,a),Ze(0,0)}function vl(e,t){return $e("Router.route()"),Xe(de(()=>{let n=L(Q().location),r=Qe(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0,void 0))}function $l(e){return $e("Router.routes()"),Xe(de(()=>{let t=L(Q().location),n=ml(e,r=>{let i=Qe(r.pattern,t.pathname);if(typeof i=="object")return r.render(i._0)});return n!==void 0?[n]:[]},void 0,void 0))}function El(e,t,n,r){let i=t!==void 0?t:[],u=n!==void 0?n:[];$e("Router.link()");let a=c=>{c.preventDefault(),Et(e,void 0,void 0)};return yt(i.concat([ae("href",Ge(e))]),[["click",a]],u)}function Gn(e){let t=[],n=e.class;n!==void 0&&t.push(d("class",g(n)));let r=e.id;r!==void 0&&t.push(d("id",g(r)));let i=e.style;i!==void 0&&t.push(d("style",g(i)));let u=e.target;u!==void 0&&t.push(d("target",g(u)));let a=e["aria-label"];return a!==void 0&&t.push(d("aria-label",g(a))),t}function Vn(e){let t=e.children;return t!==void 0?t.TAG==="Fragment"?t._0:[t]:[]}function Ve(e){$e("Router.Link");let t=n=>{n.preventDefault(),Et(e.to,void 0,void 0);let r=e.onClick;if(r!==void 0)return r(n)};return yt(Gn(e).concat([ae("href",Ge(e.to))]),[["click",t]],Vn(e))}function Kn(e,t,n){return t!==void 0?{TAG:"Keyed",key:t,identity:e,child:Ve(e)}:Ve(e)}const Tl=Object.freeze(Object.defineProperty({__proto__:null,Link:{Prop:void 0,propsToAttrs:Gn,getChildren:Vn,make:Ve,jsx:Ve,jsxs:Ve,jsxKeyed:Kn,jsxsKeyed:Kn},Route:void 0,addBasePath:Ge,basePath:pl,emptyHistoryState:vt,getCurrentLocation:$t,getGlobalState:Q,getScrollFromState:Ln,getScrollPosition:Mn,getSymbolKey:gl,init:bl,initSSR:Sl,link:El,location:yl,makeHistoryState:Rn,normalizeBasePath:_t,push:Et,replace:_l,route:vl,routes:$l,saveScrollPosition:Fn,scrollTo:Ze,stripBasePath:On,warnIfNotInitialized:$e},Symbol.toStringTag,{value:"Module"}));function ge(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#x27;")}let xl=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function kl(e){return xl.includes(e)}let Ke="k:";function wl(e){return"<!--"+Ke+e+"-->"}let Al="<!--$-->",Dl="<!--/$-->",Cl="$",Pl="/$",jl="<!--#-->",Ol="<!--/#-->",Ml="#",Rl="/#",Ll="<!--kl-->",Fl="<!--/kl-->",Nn="kl",Bn="/kl",Gl="<!--/k-->",zn="/k",Vl="<!--lc-->",Kl="<!--/lc-->",Nl="lc",Bl="/lc";function In(e){let t=e[1],n=e[0],r;switch(t.TAG){case"Static":r=t._0;break;case"SignalValue":r=re(t._0);break;case"Compute":r=t._0();break}return Qt(n)?Zt(r)?n:"":n+'="'+ge(r)+'"'}function Wn(e){let t=e.map(In).filter(n=>n!=="");return t.length!==0?" "+t.join(" "):""}let zl={renderAttr:In,renderAttrs:Wn};function ye(e){for(;;){let t=e;switch(t.TAG){case"Element":let n=t.tag,r=Wn(t.attrs);if(kl(n))return"<"+n+r+" />";let i=t.children.map(ye).join("");return"<"+n+r+">"+i+"</"+n+">";case"Text":return ge(t._0);case"SignalText":let u=re(t._0);return Al+ge(u)+Dl;case"Fragment":return t._0.map(ye).join("");case"SignalFragment":let c=re(t._0).map(ye).join("");return jl+c+Ol;case"Keyed":e=t.child;continue;case"LazyComponent":let f=t._0();return Vl+ye(f)+Kl;case"KeyedList":let l=t.renderItem,s=t.keyFn,$=re(t.signal).map(P=>{let w=s(P),O=ye(l(P));return wl(w)+O+Gl}).join("");return Ll+$+Fl}}}function Hn(e,t){return ye(e())}function Il(e,t,n){let r=t!==void 0?t:"root",i=e(),u=ye(i);return"<!--xote-root:"+r+"-->"+u+"<!--/xote-root-->"}function qn(e){return"<script"+(e!==void 0?' nonce="'+ge(e)+'"':"")+">window.__XOTE_HYDRATED__=false;<\/script>"}function Wl(e,t,n,r,i,u,a){let c=e!==void 0?e:"",f=t!==void 0?t:"",l=n!==void 0?n:[],s=r!==void 0?r:[],k=i!==void 0?i:"",$=Hn(a),P=qn(u),w=s.map(q=>'<link rel="stylesheet" href="'+ge(q)+'" />').join(`
2
2
  `),O=l.map(q=>{let ee=u!==void 0?' nonce="'+ge(u)+'"':"";return'<script type="module" src="'+ge(q)+'"'+ee+"><\/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
- `+A+`
9
- `+d+`
8
+ `+w+`
9
+ `+c+`
10
10
  </head>
11
- <body`+(a!==""?" "+a:"")+`>
12
- <div id="root">`+v+`</div>
11
+ <body`+(f!==""?" "+f:"")+`>
12
+ <div id="root">`+$+`</div>
13
13
  `+k+`
14
14
  `+P+`
15
15
  `+O+`
16
16
  </body>
17
- </html>`}const Hl=Object.freeze(Object.defineProperty({__proto__:null,Attributes:Il,Html:void 0,Markers:void 0,generateHydrationScript:qn,renderDocument:Wl,renderNodeToString:pe,renderToString:Hn,renderToStringWithRoot:zl},Symbol.toStringTag,{value:"Module"}));let Ne=typeof document>"u",et=!Ne;function ql(e){if(Ne)return se(e())}function Xl(e){if(et)return se(e())}function Xn(e,t){return Ne?e():t()}const Ul=Object.freeze(Object.defineProperty({__proto__:null,isClient:et,isServer:Ne,match:Xn,onClient:Xl,onServer:ql},Symbol.toStringTag,{value:"Module"}));function Yl(e){if(typeof e=="boolean")return e}function Jl(e){if(e===null)return null}function Ql(e){if(typeof e=="string")return e}function Zl(e){if(typeof e=="number")return e}function ei(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function ti(e){if(Array.isArray(e))return e}let Ee={bool:Yl,$$null:Jl,string:Ql,float:Zl,object:ei,array:ti};function ni(e){return e}function ri(e){let t=Ee.float(e);if(t!==void 0)return t|0}let li={encode:ni,decode:ri};function ii(e){return e}function ui(e){return Ee.float(e)}let oi={encode:ii,decode:ui};function di(e){return e}function ai(e){return Ee.string(e)}let ci={encode:di,decode:ai};function si(e){return e}function fi(e){return Ee.bool(e)}let hi={encode:si,decode:fi};function mi(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=Ee.array(t);if(n===void 0)return;let r=jn(n,e.decode);if(r.length===n.length)return r}}}function gi(e){return{encode:t=>t!==void 0?e.encode(m(t)):null,decode:t=>Jt(Ee.$$null(t))?se(void 0):Ir(e.decode(t),n=>se(n))}}function pi(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],u=r[1],o=e.decode(i),d=t.decode(u);if(o!==void 0&&d!==void 0)return[m(o),m(d)]}}}function yi(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 u=i[0],o=i[1],d=i[2],a=e.decode(u),l=t.decode(o),c=n.decode(d);if(a!==void 0&&l!==void 0&&c!==void 0)return[m(a),m(l),m(c)]}}}function bi(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=Ee.object(t);if(n===void 0)return;let r={},i={contents:!0};if(Object.entries(n).forEach(u=>{let o=e.decode(u[1]);o!==void 0?r[u[0]]=m(o):i.contents=!1}),i.contents)return r}}}function Si(e,t){return{encode:e,decode:t}}let _i={int:li,float:oi,string:ci,bool:hi,array:mi,option:gi,tuple2:pi,tuple3:yi,dict:bi,make:Si},Be={};function Un(e,t,n){if(Ne){Be[e]=n.encode(re(t));return}}function $i(){Object.keys(Be).forEach(e=>{Le(Be,e)})}function Yn(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function vi(e){let t=fe(JSON.stringify(Be),"{}"),n=Yn(t);return"<script"+(e!==void 0?' nonce="'+ge(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Jn(){return et?window.__XOTE_STATE__||{}:{}}function Qn(e,t,n){if(!et)return;let i=Jn()[e];if(i===void 0)return;let u=n.decode(i);if(u!==void 0)return $e(t,m(u))}function Tt(e,t,n){Xn(()=>Un(e,t,n),()=>Qn(e,t,n))}function Zn(e,t,n){let r=ot(t,void 0,void 0);return Tt(e,r,n),r}const Ei=Object.freeze(Object.defineProperty({__proto__:null,Codec:_i,clear:$i,escapeForScript:Yn,generateScript:vi,getClientState:Jn,make:Zn,register:Un,registry:Be,restore:Qn,signal:Zn,sync:Tt,syncSignal:Tt},Symbol.toStringTag,{value:"Module"}));let xt={};function Ti(e){let t=xt[e];if(t!==void 0){let n=t+1|0;return xt[e]=n,e+("/"+n)}return xt[e]=1,e}function xi(e){return Array.from(e.childNodes||[])}function Ie(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function tt(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function kt(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith(Ke))return t.slice(Ke.length)}function we(e){return{current:ke(e.firstChild),parent:e}}function ki(e){return e.current}function Z(e){let t=e.current;return t!==void 0&&(e.current=ke(m(t).nextSibling)),t}function ye(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let i=m(r);if(Ie(i,t))return Z(e),se(i);Z(e)}})()}function nt(e,t){let n=[];return(()=>{for(;;){let i=e.current;if(i===void 0)return;let u=m(i);if(Ie(u,t)){Z(e);return}n.push(u),Z(e)}})(),n}let Ai={elementNode:1,textNode:3,commentNode:8,getChildNodes:xi,isMarker:Ie,isMarkerPrefix:tt,extractKey:kt,make:we,peek:ki,next:Z,skipUntilMarker:ye,collectUntilMarker:nt},Di=Ti("Hydration-Xote.HydrationMismatch");function At(e){console.warn("[Xote Hydration] "+e)}function wi(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,u=n.attrs,o=W();return U(t,o),X(o,()=>{u.forEach(_=>{let w=_[1],E=_[0];switch(w.TAG){case"Static":return;case"SignalValue":let $=w._0,S=V(()=>{he(t,E,L($))},void 0);return H(o,S);case"Compute":let h=w._0,T=V(()=>{he(t,E,h())},void 0);return H(o,T)}}),i.forEach(_=>{t.addEventListener(_[0],_[1])});let R=we(t);r.forEach(_=>be(_,R))});case"Text":return;case"SignalText":let d=n._0,a=W();return U(t,a),X(a,()=>{let R=V(()=>{t.textContent=L(d)},void 0);H(a,R)});case"Fragment":let l=we(t);n._0.forEach(R=>be(R,l));return;case"SignalFragment":let c=n._0,k=W();U(t,k);let v={},P={contents:!1};return X(k,()=>{let R=V(()=>{let _=L(c),w=F.getKeyedChildren(_),E=0;w!==void 0&&P.contents?F.reconcileKeyedChildren(w,v,t):E=1,E===1&&(F.clearKeyedItems(v),Array.from(t.childNodes||[]).forEach(S=>tn(fe(nn(S),W()))),t.innerHTML="",w!==void 0?w.forEach(S=>{let h=F.render(S.child);v[S.key]={key:S.key,item:S.identity,element:h},t.appendChild(h)}):_.forEach(S=>{let h=F.render(S);t.appendChild(h)}),P.contents=!0)},void 0);H(k,R)});case"Keyed":e=n.child;continue;case"LazyComponent":let A=W(),O=X(A,n._0);U(t,A),e=O;continue;case"KeyedList":let q=n.renderItem,ee=n.keyFn,ie=n.signal,ue=W();U(t,ue);let K={},oe=we(t);return ye(oe,Nn),(()=>{for(;;){let R=oe.current;if(R===void 0)return;let _=m(R);if(!tt(_,Ke))if(Ie(_,Bn)){Z(oe);return}else return;let w=fe(kt(_),"");Z(oe);let $=nt(oe,In).find(S=>S.nodeType===1);if($!==void 0){let S=re(ie),h=fe(S.find(T=>ee(T)===w),{});K[w]={key:w,item:h,element:m($)}}}})(),X(ue,()=>{let R=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end "),w=t.firstChild;w==null?t.appendChild(R):t.insertBefore(R,w),t.appendChild(_);let E=()=>{let S=L(ie),h={};S.forEach(p=>{h[ee(p)]=p});let T=[];Object.keys(K).forEach(p=>{if(h[p]===void 0){T.push(p);return}}),T.forEach(p=>{let x=K[p];if(x!==void 0){F.disposeElement(x.element),x.element.remove(),Le(K,p);return}});let s=[],D={};S.forEach(p=>{let x=ee(p),b=K[x];if(b!==void 0){if(b.item!==p){D[x]=!0;let Dt=q(p),lt=F.render(Dt),it={key:x,item:p,element:lt};s.push(it),K[x]=it;return}s.push(b);return}let C=q(p),Pe=F.render(C),rt={key:x,item:p,element:Pe};s.push(rt),K[x]=rt});let j={contents:R.nextSibling};s.forEach(p=>{let x=j.contents;if(x==null){t.insertBefore(p.element,_);return}if(x===_){t.insertBefore(p.element,_);return}if(x===p.element){j.contents=x.nextSibling;return}fe(D[p.key],!1)?(F.disposeElement(x),t.replaceChild(p.element,x),j.contents=p.element.nextSibling):(t.insertBefore(p.element,x),j.contents=p.element.nextSibling)})},$=V(()=>{E()},void 0);H(ue,$)})}}}function be(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,u=n.attrs,o=Z(t);if(o===void 0)return At("Missing DOM element for Element node");let d=m(o),a=W();return U(d,a),X(a,()=>{u.forEach($=>{let S=$[1],h=$[0];switch(S.TAG){case"Static":return;case"SignalValue":let T=S._0,s=V(()=>{he(d,h,L(T))},void 0);return H(a,s);case"Compute":let D=S._0,j=V(()=>{he(d,h,D())},void 0);return H(a,j)}}),i.forEach($=>{d.addEventListener($[0],$[1])});let E=we(d);r.forEach($=>be($,E))});case"Text":Z(t);return;case"SignalText":let l=n._0;ye(t,Cl);let c=Z(t);if(c===void 0)return At("Missing text node for SignalText");let k=m(c),v=W();U(k,v),X(v,()=>{let E=V(()=>{k.textContent=L(l)},void 0);H(v,E)}),ye(t,Pl);return;case"Fragment":n._0.forEach(E=>be(E,t));return;case"SignalFragment":let P=n._0;ye(t,Ml);let A=nt(t,Rl),O=document.createElement("div");O.setAttribute("style","display: contents");let q=A[0],ee=q!==void 0?q.parentNode:void 0;A.forEach(E=>{O.appendChild(E)});let ie=t.current;if(ee!==void 0){let E=m(ee);ie!==void 0?E.insertBefore(O,m(ie)):E.appendChild(O)}let ue=W();U(O,ue);let K={},oe={contents:!1};return X(ue,()=>{let E=V(()=>{let $=L(P),S=F.getKeyedChildren($),h=0;S!==void 0&&oe.contents?F.reconcileKeyedChildren(S,K,O):h=1,h===1&&(F.clearKeyedItems(K),Array.from(O.childNodes||[]).forEach(F.disposeElement),O.innerHTML="",S!==void 0?S.forEach(s=>{let D=F.render(s.child);K[s.key]={key:s.key,item:s.identity,element:D},O.appendChild(D)}):$.forEach(s=>{let D=F.render(s);O.appendChild(D)}),oe.contents=!0)},void 0);H(ue,E)});case"Keyed":e=n.child;continue;case"LazyComponent":ye(t,Nl);let Ce=n._0();be(Ce,t),ye(t,Bl);return;case"KeyedList":let R=n.keyFn,_=n.signal;return ye(t,Nn),(()=>{for(;;){let E=t.current;if(E===void 0)return;let $=m(E);if(!tt($,Ke))if(Ie($,Bn)){Z(t);return}else return;let S=fe(kt($),"");Z(t);let T=nt(t,In).find(s=>s.nodeType===1);if(T!==void 0){let s=re(_),D=fe(s.find(j=>R(j)===S),{});m(T)}}})()}}}function er(e,t,n){let r=n!==void 0?n:{},i=e(),u=we(t),o=u.current;o!==void 0&&tt(m(o),"xote-root:")&&Z(u),be(i,u),window.__XOTE_HYDRATED__=!0;let d=r.onHydrated;if(d!==void 0)return d()}function Ci(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 er(e,i,r)}const Pi=Object.freeze(Object.defineProperty({__proto__:null,DOM:void 0,DOMWalker:Ai,HydrationMismatch:Di,Markers:void 0,Reactivity:void 0,hydrate:er,hydrateById:Ci,hydrateNode:wi,hydrateNodeWithWalker:be,logHydrationWarning:At},Symbol.toStringTag,{value:"Module"}));M.Computed=Br,M.Effect=kr,M.Html=ul,M.Hydration=Pi,M.Node=Ur,M.Prop=sl,M.ReactiveProp=fl,M.Route=ml,M.Router=Tl,M.SSR=Hl,M.SSRContext=Ul,M.SSRState=Ei,M.Signal=Fr,M.View=Xr,M.XoteJSX=cl,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})}));
17
+ </html>`}const Hl=Object.freeze(Object.defineProperty({__proto__:null,Attributes:zl,Html:void 0,Markers:void 0,generateHydrationScript:qn,renderDocument:Wl,renderNodeToString:ye,renderToString:Hn,renderToStringWithRoot:Il},Symbol.toStringTag,{value:"Module"}));let Ne=typeof document>"u",et=!Ne;function ql(e){if(Ne)return fe(e())}function Ul(e){if(et)return fe(e())}function Un(e,t){return Ne?e():t()}const Xl=Object.freeze(Object.defineProperty({__proto__:null,isClient:et,isServer:Ne,match:Un,onClient:Ul,onServer:ql},Symbol.toStringTag,{value:"Module"}));function Yl(e){if(typeof e=="boolean")return e}function Jl(e){if(e===null)return null}function Ql(e){if(typeof e=="string")return e}function Zl(e){if(typeof e=="number")return e}function ei(e){if(typeof e=="object"&&e!==null&&!Array.isArray(e))return e}function ti(e){if(Array.isArray(e))return e}let Ee={bool:Yl,$$null:Jl,string:Ql,float:Zl,object:ei,array:ti};function ni(e){return e}function ri(e){let t=Ee.float(e);if(t!==void 0)return t|0}let li={encode:ni,decode:ri};function ii(e){return e}function ui(e){return Ee.float(e)}let oi={encode:ii,decode:ui};function di(e){return e}function ai(e){return Ee.string(e)}let ci={encode:di,decode:ai};function fi(e){return e}function si(e){return Ee.bool(e)}let mi={encode:fi,decode:si};function hi(e){return{encode:t=>t.map(e.encode),decode:t=>{let n=Ee.array(t);if(n===void 0)return;let r=jn(n,e.decode);if(r.length===n.length)return r}}}function gi(e){return{encode:t=>t!==void 0?e.encode(g(t)):null,decode:t=>Jt(Ee.$$null(t))?fe(void 0):zr(e.decode(t),n=>fe(n))}}function yi(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],u=r[1],a=e.decode(i),c=t.decode(u);if(a!==void 0&&c!==void 0)return[g(a),g(c)]}}}function pi(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 u=i[0],a=i[1],c=i[2],f=e.decode(u),l=t.decode(a),s=n.decode(c);if(f!==void 0&&l!==void 0&&s!==void 0)return[g(f),g(l),g(s)]}}}function bi(e){return{encode:t=>{let n={};return Object.entries(t).forEach(r=>{n[r[0]]=e.encode(r[1])}),n},decode:t=>{let n=Ee.object(t);if(n===void 0)return;let r={},i={contents:!0};if(Object.entries(n).forEach(u=>{let a=e.decode(u[1]);a!==void 0?r[u[0]]=g(a):i.contents=!1}),i.contents)return r}}}function Si(e,t){return{encode:e,decode:t}}let _i={int:li,float:oi,string:ci,bool:mi,array:hi,option:gi,tuple2:yi,tuple3:pi,dict:bi,make:Si},Be={};function Xn(e,t,n){if(Ne){Be[e]=n.encode(re(t));return}}function vi(){Object.keys(Be).forEach(e=>{Le(Be,e)})}function Yn(e){return e.replaceAll("<\/script>","<\\/script>").replaceAll("<!--","<\\!--")}function $i(e){let t=se(JSON.stringify(Be),"{}"),n=Yn(t);return"<script"+(e!==void 0?' nonce="'+ge(e)+'"':"")+">window.__XOTE_STATE__="+n+";<\/script>"}function Jn(){return et?window.__XOTE_STATE__||{}:{}}function Qn(e,t,n){if(!et)return;let i=Jn()[e];if(i===void 0)return;let u=n.decode(i);if(u!==void 0)return ve(t,g(u))}function Tt(e,t,n){Un(()=>Xn(e,t,n),()=>Qn(e,t,n))}function Zn(e,t,n){let r=ot(t,void 0,void 0);return Tt(e,r,n),r}const Ei=Object.freeze(Object.defineProperty({__proto__:null,Codec:_i,clear:vi,escapeForScript:Yn,generateScript:$i,getClientState:Jn,make:Zn,register:Xn,registry:Be,restore:Qn,signal:Zn,sync:Tt,syncSignal:Tt},Symbol.toStringTag,{value:"Module"}));let xt={};function Ti(e){let t=xt[e];if(t!==void 0){let n=t+1|0;return xt[e]=n,e+("/"+n)}return xt[e]=1,e}function xi(e){return Array.from(e.childNodes||[])}function ze(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n===t}function tt(e,t){if(e.nodeType!==8)return!1;let n=e.nodeValue;return n==null?!1:n.startsWith(t)}function kt(e){if(e.nodeType!==8)return;let t=e.nodeValue;if(t!=null&&t.startsWith(Ke))return t.slice(Ke.length)}function De(e){return{current:ke(e.firstChild),parent:e}}function ki(e){return e.current}function Z(e){let t=e.current;return t!==void 0&&(e.current=ke(g(t).nextSibling)),t}function pe(e,t){return(()=>{for(;;){let r=e.current;if(r===void 0)return;let i=g(r);if(ze(i,t))return Z(e),fe(i);Z(e)}})()}function nt(e,t){let n=[];return(()=>{for(;;){let i=e.current;if(i===void 0)return;let u=g(i);if(ze(u,t)){Z(e);return}n.push(u),Z(e)}})(),n}let wi={elementNode:1,textNode:3,commentNode:8,getChildNodes:xi,isMarker:ze,isMarkerPrefix:tt,extractKey:kt,make:De,peek:ki,next:Z,skipUntilMarker:pe,collectUntilMarker:nt},Ai=Ti("Hydration-Xote.HydrationMismatch");function wt(e){console.warn("[Xote Hydration] "+e)}function Di(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,u=n.attrs,a=W();return X(t,a),U(a,()=>{u.forEach(_=>{let D=_[1],E=_[0];switch(D.TAG){case"Static":return;case"SignalValue":let v=D._0,S=V(()=>{me(t,E,L(v))},void 0);return H(a,S);case"Compute":let h=D._0,T=V(()=>{me(t,E,h())},void 0);return H(a,T)}}),i.forEach(_=>{t.addEventListener(_[0],_[1])});let R=De(t);r.forEach(_=>be(_,R))});case"Text":return;case"SignalText":let c=n._0,f=W();return X(t,f),U(f,()=>{let R=V(()=>{t.textContent=L(c)},void 0);H(f,R)});case"Fragment":let l=De(t);n._0.forEach(R=>be(R,l));return;case"SignalFragment":let s=n._0,k=W();X(t,k);let $={},P={contents:!1};return U(k,()=>{let R=V(()=>{let _=L(s),D=F.getKeyedChildren(_),E=0;D!==void 0&&P.contents?F.reconcileKeyedChildren(D,$,t):E=1,E===1&&(F.clearKeyedItems($),Array.from(t.childNodes||[]).forEach(S=>tn(se(nn(S),W()))),t.innerHTML="",D!==void 0?D.forEach(S=>{let h=F.render(S.child);$[S.key]={key:S.key,item:S.identity,element:h},t.appendChild(h)}):_.forEach(S=>{let h=F.render(S);t.appendChild(h)}),P.contents=!0)},void 0);H(k,R)});case"Keyed":e=n.child;continue;case"LazyComponent":let w=W(),O=U(w,n._0);X(t,w),e=O;continue;case"KeyedList":let q=n.renderItem,ee=n.keyFn,ie=n.signal,ue=W();X(t,ue);let K={},oe=De(t);return pe(oe,Nn),(()=>{for(;;){let R=oe.current;if(R===void 0)return;let _=g(R);if(!tt(_,Ke))if(ze(_,Bn)){Z(oe);return}else return;let D=se(kt(_),"");Z(oe);let v=nt(oe,zn).find(S=>S.nodeType===1);if(v!==void 0){let S=re(ie),h=se(S.find(T=>ee(T)===D),{});K[D]={key:D,item:h,element:g(v)}}}})(),U(ue,()=>{let R=document.createComment(" keyed-list-start "),_=document.createComment(" keyed-list-end "),D=t.firstChild;D==null?t.appendChild(R):t.insertBefore(R,D),t.appendChild(_);let E=()=>{let S=L(ie),h={};S.forEach(p=>{h[ee(p)]=p});let T=[];Object.keys(K).forEach(p=>{if(h[p]===void 0){T.push(p);return}}),T.forEach(p=>{let x=K[p];if(x!==void 0){F.disposeElement(x.element),x.element.remove(),Le(K,p);return}});let m=[],A={};S.forEach(p=>{let x=ee(p),b=K[x];if(b!==void 0){if(b.item!==p){A[x]=!0;let At=q(p),lt=F.render(At),it={key:x,item:p,element:lt};m.push(it),K[x]=it;return}m.push(b);return}let C=q(p),Pe=F.render(C),rt={key:x,item:p,element:Pe};m.push(rt),K[x]=rt});let j={contents:R.nextSibling};m.forEach(p=>{let x=j.contents;if(x==null){t.insertBefore(p.element,_);return}if(x===_){t.insertBefore(p.element,_);return}if(x===p.element){j.contents=x.nextSibling;return}se(A[p.key],!1)?(F.disposeElement(x),t.replaceChild(p.element,x),j.contents=p.element.nextSibling):(t.insertBefore(p.element,x),j.contents=p.element.nextSibling)})},v=V(()=>{E()},void 0);H(ue,v)})}}}function be(e,t){for(;;){let n=e;switch(n.TAG){case"Element":let r=n.children,i=n.events,u=n.attrs,a=Z(t);if(a===void 0)return wt("Missing DOM element for Element node");let c=g(a),f=W();return X(c,f),U(f,()=>{u.forEach(v=>{let S=v[1],h=v[0];switch(S.TAG){case"Static":return;case"SignalValue":let T=S._0,m=V(()=>{me(c,h,L(T))},void 0);return H(f,m);case"Compute":let A=S._0,j=V(()=>{me(c,h,A())},void 0);return H(f,j)}}),i.forEach(v=>{c.addEventListener(v[0],v[1])});let E=De(c);r.forEach(v=>be(v,E))});case"Text":Z(t);return;case"SignalText":let l=n._0;pe(t,Cl);let s=Z(t);if(s===void 0)return wt("Missing text node for SignalText");let k=g(s),$=W();X(k,$),U($,()=>{let E=V(()=>{k.textContent=L(l)},void 0);H($,E)}),pe(t,Pl);return;case"Fragment":n._0.forEach(E=>be(E,t));return;case"SignalFragment":let P=n._0;pe(t,Ml);let w=nt(t,Rl),O=document.createElement("div");O.setAttribute("style","display: contents");let q=w[0],ee=q!==void 0?q.parentNode:void 0;w.forEach(E=>{O.appendChild(E)});let ie=t.current;if(ee!==void 0){let E=g(ee);ie!==void 0?E.insertBefore(O,g(ie)):E.appendChild(O)}let ue=W();X(O,ue);let K={},oe={contents:!1};return U(ue,()=>{let E=V(()=>{let v=L(P),S=F.getKeyedChildren(v),h=0;S!==void 0&&oe.contents?F.reconcileKeyedChildren(S,K,O):h=1,h===1&&(F.clearKeyedItems(K),Array.from(O.childNodes||[]).forEach(F.disposeElement),O.innerHTML="",S!==void 0?S.forEach(m=>{let A=F.render(m.child);K[m.key]={key:m.key,item:m.identity,element:A},O.appendChild(A)}):v.forEach(m=>{let A=F.render(m);O.appendChild(A)}),oe.contents=!0)},void 0);H(ue,E)});case"Keyed":e=n.child;continue;case"LazyComponent":pe(t,Nl);let Ce=n._0();be(Ce,t),pe(t,Bl);return;case"KeyedList":let R=n.keyFn,_=n.signal;return pe(t,Nn),(()=>{for(;;){let E=t.current;if(E===void 0)return;let v=g(E);if(!tt(v,Ke))if(ze(v,Bn)){Z(t);return}else return;let S=se(kt(v),"");Z(t);let T=nt(t,zn).find(m=>m.nodeType===1);if(T!==void 0){let m=re(_),A=se(m.find(j=>R(j)===S),{});g(T)}}})()}}}function er(e,t,n){let r=n!==void 0?n:{},i=e(),u=De(t),a=u.current;a!==void 0&&tt(g(a),"xote-root:")&&Z(u),be(i,u),window.__XOTE_HYDRATED__=!0;let c=r.onHydrated;if(c!==void 0)return c()}function Ci(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 er(e,i,r)}const Pi=Object.freeze(Object.defineProperty({__proto__:null,DOM:void 0,DOMWalker:wi,HydrationMismatch:Ai,Markers:void 0,Reactivity:void 0,hydrate:er,hydrateById:Ci,hydrateNode:Di,hydrateNodeWithWalker:be,logHydrationWarning:wt},Symbol.toStringTag,{value:"Module"}));M.Computed=Br,M.Effect=kr,M.Html=ul,M.Hydration=Pi,M.Node=Xr,M.Prop=fl,M.ReactiveProp=sl,M.Route=hl,M.Router=Tl,M.SSR=Hl,M.SSRContext=Xl,M.SSRState=Ei,M.Signal=Fr,M.View=Ur,M.XoteJSX=cl,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xote",
3
- "version": "6.3.0",
3
+ "version": "6.4.0",
4
4
  "repository": {
5
5
  "url": "https://github.com/brnrdog/xote"
6
6
  },
package/src/View.res CHANGED
@@ -117,21 +117,25 @@ module Render = {
117
117
  }
118
118
 
119
119
  let getKeyedChildren = (children: array<node>): option<array<keyedChild>> => {
120
- let keyedChildren = []
121
- let allKeyed = ref(true)
122
-
123
- children->Array.forEach(child => {
124
- switch child {
125
- | Keyed({key, identity, child}) =>
126
- keyedChildren->Array.push({key, identity, child})->ignore
127
- | _ => allKeyed := false
128
- }
129
- })
130
-
131
- if allKeyed.contents {
132
- Some(keyedChildren)
133
- } else {
120
+ if Array.length(children) == 0 {
134
121
  None
122
+ } else {
123
+ let keyedChildren = []
124
+ let allKeyed = ref(true)
125
+
126
+ children->Array.forEach(child => {
127
+ switch child {
128
+ | Keyed({key, identity, child}) =>
129
+ keyedChildren->Array.push({key, identity, child})->ignore
130
+ | _ => allKeyed := false
131
+ }
132
+ })
133
+
134
+ if allKeyed.contents {
135
+ Some(keyedChildren)
136
+ } else {
137
+ None
138
+ }
135
139
  }
136
140
  }
137
141
 
package/src/View.res.mjs CHANGED
@@ -91,6 +91,9 @@ function clearKeyedItems(keyedItems) {
91
91
  }
92
92
 
93
93
  function getKeyedChildren(children) {
94
+ if (children.length === 0) {
95
+ return;
96
+ }
94
97
  let keyedChildren = [];
95
98
  let allKeyed = {
96
99
  contents: true
package/src/XoteJSX.res CHANGED
@@ -90,6 +90,70 @@ module Elements = {
90
90
  'autofocus,
91
91
  'action,
92
92
  'method,
93
+ /* SVG props */
94
+ 'xmlns,
95
+ 'xmlnsXlink,
96
+ 'version,
97
+ 'viewBox,
98
+ 'preserveAspectRatio,
99
+ 'd,
100
+ 'pathLength,
101
+ 'cx,
102
+ 'cy,
103
+ 'r,
104
+ 'rx,
105
+ 'ry,
106
+ 'x,
107
+ 'y,
108
+ 'x1,
109
+ 'y1,
110
+ 'x2,
111
+ 'y2,
112
+ 'fx,
113
+ 'fy,
114
+ 'dx,
115
+ 'dy,
116
+ 'points,
117
+ 'transform,
118
+ 'transformOrigin,
119
+ 'fill,
120
+ 'fillOpacity,
121
+ 'fillRule,
122
+ 'stroke,
123
+ 'strokeWidth,
124
+ 'strokeLinecap,
125
+ 'strokeLinejoin,
126
+ 'strokeDasharray,
127
+ 'strokeDashoffset,
128
+ 'strokeOpacity,
129
+ 'strokeMiterlimit,
130
+ 'opacity,
131
+ 'color,
132
+ 'visibility,
133
+ 'vectorEffect,
134
+ 'pointerEvents,
135
+ 'clipPath,
136
+ 'clipRule,
137
+ 'mask,
138
+ 'filter,
139
+ 'textAnchor,
140
+ 'dominantBaseline,
141
+ 'fontFamily,
142
+ 'fontSize,
143
+ 'fontWeight,
144
+ 'letterSpacing,
145
+ 'wordSpacing,
146
+ 'textDecoration,
147
+ 'offset,
148
+ 'stopColor,
149
+ 'stopOpacity,
150
+ 'gradientUnits,
151
+ 'gradientTransform,
152
+ 'spreadMethod,
153
+ 'markerStart,
154
+ 'markerMid,
155
+ 'markerEnd,
156
+ 'xlinkHref,
93
157
  > = {
94
158
  /* Standard attributes - accept raw strings or Prop.t<string> */
95
159
  id?: 'id,
@@ -143,6 +207,77 @@ module Elements = {
143
207
  @as("aria-selected") ariaSelected?: 'ariaSelected,
144
208
  /* Data attributes */
145
209
  data?: Obj.t,
210
+ /* SVG attributes - root */
211
+ xmlns?: 'xmlns,
212
+ @as("xmlns:xlink") xmlnsXlink?: 'xmlnsXlink,
213
+ version?: 'version,
214
+ viewBox?: 'viewBox,
215
+ preserveAspectRatio?: 'preserveAspectRatio,
216
+ /* SVG attributes - path/shape geometry */
217
+ d?: 'd,
218
+ pathLength?: 'pathLength,
219
+ cx?: 'cx,
220
+ cy?: 'cy,
221
+ r?: 'r,
222
+ rx?: 'rx,
223
+ ry?: 'ry,
224
+ x?: 'x,
225
+ y?: 'y,
226
+ x1?: 'x1,
227
+ y1?: 'y1,
228
+ x2?: 'x2,
229
+ y2?: 'y2,
230
+ fx?: 'fx,
231
+ fy?: 'fy,
232
+ dx?: 'dx,
233
+ dy?: 'dy,
234
+ points?: 'points,
235
+ transform?: 'transform,
236
+ @as("transform-origin") transformOrigin?: 'transformOrigin,
237
+ /* SVG attributes - presentation */
238
+ fill?: 'fill,
239
+ @as("fill-opacity") fillOpacity?: 'fillOpacity,
240
+ @as("fill-rule") fillRule?: 'fillRule,
241
+ stroke?: 'stroke,
242
+ @as("stroke-width") strokeWidth?: 'strokeWidth,
243
+ @as("stroke-linecap") strokeLinecap?: 'strokeLinecap,
244
+ @as("stroke-linejoin") strokeLinejoin?: 'strokeLinejoin,
245
+ @as("stroke-dasharray") strokeDasharray?: 'strokeDasharray,
246
+ @as("stroke-dashoffset") strokeDashoffset?: 'strokeDashoffset,
247
+ @as("stroke-opacity") strokeOpacity?: 'strokeOpacity,
248
+ @as("stroke-miterlimit") strokeMiterlimit?: 'strokeMiterlimit,
249
+ opacity?: 'opacity,
250
+ color?: 'color,
251
+ visibility?: 'visibility,
252
+ @as("vector-effect") vectorEffect?: 'vectorEffect,
253
+ @as("pointer-events") pointerEvents?: 'pointerEvents,
254
+ /* SVG attributes - clipping/masking/filter */
255
+ @as("clip-path") clipPath?: 'clipPath,
256
+ @as("clip-rule") clipRule?: 'clipRule,
257
+ mask?: 'mask,
258
+ filter?: 'filter,
259
+ /* SVG attributes - text */
260
+ @as("text-anchor") textAnchor?: 'textAnchor,
261
+ @as("dominant-baseline") dominantBaseline?: 'dominantBaseline,
262
+ @as("font-family") fontFamily?: 'fontFamily,
263
+ @as("font-size") fontSize?: 'fontSize,
264
+ @as("font-weight") fontWeight?: 'fontWeight,
265
+ @as("letter-spacing") letterSpacing?: 'letterSpacing,
266
+ @as("word-spacing") wordSpacing?: 'wordSpacing,
267
+ @as("text-decoration") textDecoration?: 'textDecoration,
268
+ /* SVG attributes - gradient/stop */
269
+ offset?: 'offset,
270
+ @as("stop-color") stopColor?: 'stopColor,
271
+ @as("stop-opacity") stopOpacity?: 'stopOpacity,
272
+ gradientUnits?: 'gradientUnits,
273
+ gradientTransform?: 'gradientTransform,
274
+ spreadMethod?: 'spreadMethod,
275
+ /* SVG attributes - markers */
276
+ @as("marker-start") markerStart?: 'markerStart,
277
+ @as("marker-mid") markerMid?: 'markerMid,
278
+ @as("marker-end") markerEnd?: 'markerEnd,
279
+ /* SVG attributes - xlink (legacy) */
280
+ @as("xlink:href") xlinkHref?: 'xlinkHref,
146
281
  /* Event handlers */
147
282
  onClick?: Dom.event => unit,
148
283
  onInput?: Dom.event => unit,
@@ -258,6 +393,85 @@ module Elements = {
258
393
  addAttr(attrs, props.ariaExpanded, "aria-expanded", RuntimeJsxProp.toBoolAttr)
259
394
  addAttr(attrs, props.ariaSelected, "aria-selected", RuntimeJsxProp.toBoolAttr)
260
395
 
396
+ /* SVG attributes - root */
397
+ addAttr(attrs, props.xmlns, "xmlns", RuntimeJsxProp.toStringAttr)
398
+ addAttr(attrs, props.xmlnsXlink, "xmlns:xlink", RuntimeJsxProp.toStringAttr)
399
+ addAttr(attrs, props.version, "version", RuntimeJsxProp.toStringAttr)
400
+ addAttr(attrs, props.viewBox, "viewBox", RuntimeJsxProp.toStringAttr)
401
+ addAttr(attrs, props.preserveAspectRatio, "preserveAspectRatio", RuntimeJsxProp.toStringAttr)
402
+
403
+ /* SVG attributes - geometry */
404
+ addAttr(attrs, props.d, "d", RuntimeJsxProp.toStringAttr)
405
+ addAttr(attrs, props.pathLength, "pathLength", RuntimeJsxProp.toStringAttr)
406
+ addAttr(attrs, props.cx, "cx", RuntimeJsxProp.toStringAttr)
407
+ addAttr(attrs, props.cy, "cy", RuntimeJsxProp.toStringAttr)
408
+ addAttr(attrs, props.r, "r", RuntimeJsxProp.toStringAttr)
409
+ addAttr(attrs, props.rx, "rx", RuntimeJsxProp.toStringAttr)
410
+ addAttr(attrs, props.ry, "ry", RuntimeJsxProp.toStringAttr)
411
+ addAttr(attrs, props.x, "x", RuntimeJsxProp.toStringAttr)
412
+ addAttr(attrs, props.y, "y", RuntimeJsxProp.toStringAttr)
413
+ addAttr(attrs, props.x1, "x1", RuntimeJsxProp.toStringAttr)
414
+ addAttr(attrs, props.y1, "y1", RuntimeJsxProp.toStringAttr)
415
+ addAttr(attrs, props.x2, "x2", RuntimeJsxProp.toStringAttr)
416
+ addAttr(attrs, props.y2, "y2", RuntimeJsxProp.toStringAttr)
417
+ addAttr(attrs, props.fx, "fx", RuntimeJsxProp.toStringAttr)
418
+ addAttr(attrs, props.fy, "fy", RuntimeJsxProp.toStringAttr)
419
+ addAttr(attrs, props.dx, "dx", RuntimeJsxProp.toStringAttr)
420
+ addAttr(attrs, props.dy, "dy", RuntimeJsxProp.toStringAttr)
421
+ addAttr(attrs, props.points, "points", RuntimeJsxProp.toStringAttr)
422
+ addAttr(attrs, props.transform, "transform", RuntimeJsxProp.toStringAttr)
423
+ addAttr(attrs, props.transformOrigin, "transform-origin", RuntimeJsxProp.toStringAttr)
424
+
425
+ /* SVG attributes - presentation */
426
+ addAttr(attrs, props.fill, "fill", RuntimeJsxProp.toStringAttr)
427
+ addAttr(attrs, props.fillOpacity, "fill-opacity", RuntimeJsxProp.toStringAttr)
428
+ addAttr(attrs, props.fillRule, "fill-rule", RuntimeJsxProp.toStringAttr)
429
+ addAttr(attrs, props.stroke, "stroke", RuntimeJsxProp.toStringAttr)
430
+ addAttr(attrs, props.strokeWidth, "stroke-width", RuntimeJsxProp.toStringAttr)
431
+ addAttr(attrs, props.strokeLinecap, "stroke-linecap", RuntimeJsxProp.toStringAttr)
432
+ addAttr(attrs, props.strokeLinejoin, "stroke-linejoin", RuntimeJsxProp.toStringAttr)
433
+ addAttr(attrs, props.strokeDasharray, "stroke-dasharray", RuntimeJsxProp.toStringAttr)
434
+ addAttr(attrs, props.strokeDashoffset, "stroke-dashoffset", RuntimeJsxProp.toStringAttr)
435
+ addAttr(attrs, props.strokeOpacity, "stroke-opacity", RuntimeJsxProp.toStringAttr)
436
+ addAttr(attrs, props.strokeMiterlimit, "stroke-miterlimit", RuntimeJsxProp.toStringAttr)
437
+ addAttr(attrs, props.opacity, "opacity", RuntimeJsxProp.toStringAttr)
438
+ addAttr(attrs, props.color, "color", RuntimeJsxProp.toStringAttr)
439
+ addAttr(attrs, props.visibility, "visibility", RuntimeJsxProp.toStringAttr)
440
+ addAttr(attrs, props.vectorEffect, "vector-effect", RuntimeJsxProp.toStringAttr)
441
+ addAttr(attrs, props.pointerEvents, "pointer-events", RuntimeJsxProp.toStringAttr)
442
+
443
+ /* SVG attributes - clipping/masking/filter */
444
+ addAttr(attrs, props.clipPath, "clip-path", RuntimeJsxProp.toStringAttr)
445
+ addAttr(attrs, props.clipRule, "clip-rule", RuntimeJsxProp.toStringAttr)
446
+ addAttr(attrs, props.mask, "mask", RuntimeJsxProp.toStringAttr)
447
+ addAttr(attrs, props.filter, "filter", RuntimeJsxProp.toStringAttr)
448
+
449
+ /* SVG attributes - text */
450
+ addAttr(attrs, props.textAnchor, "text-anchor", RuntimeJsxProp.toStringAttr)
451
+ addAttr(attrs, props.dominantBaseline, "dominant-baseline", RuntimeJsxProp.toStringAttr)
452
+ addAttr(attrs, props.fontFamily, "font-family", RuntimeJsxProp.toStringAttr)
453
+ addAttr(attrs, props.fontSize, "font-size", RuntimeJsxProp.toStringAttr)
454
+ addAttr(attrs, props.fontWeight, "font-weight", RuntimeJsxProp.toStringAttr)
455
+ addAttr(attrs, props.letterSpacing, "letter-spacing", RuntimeJsxProp.toStringAttr)
456
+ addAttr(attrs, props.wordSpacing, "word-spacing", RuntimeJsxProp.toStringAttr)
457
+ addAttr(attrs, props.textDecoration, "text-decoration", RuntimeJsxProp.toStringAttr)
458
+
459
+ /* SVG attributes - gradient/stop */
460
+ addAttr(attrs, props.offset, "offset", RuntimeJsxProp.toStringAttr)
461
+ addAttr(attrs, props.stopColor, "stop-color", RuntimeJsxProp.toStringAttr)
462
+ addAttr(attrs, props.stopOpacity, "stop-opacity", RuntimeJsxProp.toStringAttr)
463
+ addAttr(attrs, props.gradientUnits, "gradientUnits", RuntimeJsxProp.toStringAttr)
464
+ addAttr(attrs, props.gradientTransform, "gradientTransform", RuntimeJsxProp.toStringAttr)
465
+ addAttr(attrs, props.spreadMethod, "spreadMethod", RuntimeJsxProp.toStringAttr)
466
+
467
+ /* SVG attributes - markers */
468
+ addAttr(attrs, props.markerStart, "marker-start", RuntimeJsxProp.toStringAttr)
469
+ addAttr(attrs, props.markerMid, "marker-mid", RuntimeJsxProp.toStringAttr)
470
+ addAttr(attrs, props.markerEnd, "marker-end", RuntimeJsxProp.toStringAttr)
471
+
472
+ /* SVG attributes - xlink (legacy) */
473
+ addAttr(attrs, props.xlinkHref, "xlink:href", RuntimeJsxProp.toStringAttr)
474
+
261
475
  /* Data attributes */
262
476
  switch props.data {
263
477
  | Some(dataObj) => {
@@ -104,6 +104,69 @@ function propsToAttrs(props) {
104
104
  addAttr(attrs, props["aria-hidden"], "aria-hidden", RuntimeJsxProp$Xote.toBoolAttr);
105
105
  addAttr(attrs, props["aria-expanded"], "aria-expanded", RuntimeJsxProp$Xote.toBoolAttr);
106
106
  addAttr(attrs, props["aria-selected"], "aria-selected", RuntimeJsxProp$Xote.toBoolAttr);
107
+ addAttr(attrs, props.xmlns, "xmlns", RuntimeJsxProp$Xote.toStringAttr);
108
+ addAttr(attrs, props["xmlns:xlink"], "xmlns:xlink", RuntimeJsxProp$Xote.toStringAttr);
109
+ addAttr(attrs, props.version, "version", RuntimeJsxProp$Xote.toStringAttr);
110
+ addAttr(attrs, props.viewBox, "viewBox", RuntimeJsxProp$Xote.toStringAttr);
111
+ addAttr(attrs, props.preserveAspectRatio, "preserveAspectRatio", RuntimeJsxProp$Xote.toStringAttr);
112
+ addAttr(attrs, props.d, "d", RuntimeJsxProp$Xote.toStringAttr);
113
+ addAttr(attrs, props.pathLength, "pathLength", RuntimeJsxProp$Xote.toStringAttr);
114
+ addAttr(attrs, props.cx, "cx", RuntimeJsxProp$Xote.toStringAttr);
115
+ addAttr(attrs, props.cy, "cy", RuntimeJsxProp$Xote.toStringAttr);
116
+ addAttr(attrs, props.r, "r", RuntimeJsxProp$Xote.toStringAttr);
117
+ addAttr(attrs, props.rx, "rx", RuntimeJsxProp$Xote.toStringAttr);
118
+ addAttr(attrs, props.ry, "ry", RuntimeJsxProp$Xote.toStringAttr);
119
+ addAttr(attrs, props.x, "x", RuntimeJsxProp$Xote.toStringAttr);
120
+ addAttr(attrs, props.y, "y", RuntimeJsxProp$Xote.toStringAttr);
121
+ addAttr(attrs, props.x1, "x1", RuntimeJsxProp$Xote.toStringAttr);
122
+ addAttr(attrs, props.y1, "y1", RuntimeJsxProp$Xote.toStringAttr);
123
+ addAttr(attrs, props.x2, "x2", RuntimeJsxProp$Xote.toStringAttr);
124
+ addAttr(attrs, props.y2, "y2", RuntimeJsxProp$Xote.toStringAttr);
125
+ addAttr(attrs, props.fx, "fx", RuntimeJsxProp$Xote.toStringAttr);
126
+ addAttr(attrs, props.fy, "fy", RuntimeJsxProp$Xote.toStringAttr);
127
+ addAttr(attrs, props.dx, "dx", RuntimeJsxProp$Xote.toStringAttr);
128
+ addAttr(attrs, props.dy, "dy", RuntimeJsxProp$Xote.toStringAttr);
129
+ addAttr(attrs, props.points, "points", RuntimeJsxProp$Xote.toStringAttr);
130
+ addAttr(attrs, props.transform, "transform", RuntimeJsxProp$Xote.toStringAttr);
131
+ addAttr(attrs, props["transform-origin"], "transform-origin", RuntimeJsxProp$Xote.toStringAttr);
132
+ addAttr(attrs, props.fill, "fill", RuntimeJsxProp$Xote.toStringAttr);
133
+ addAttr(attrs, props["fill-opacity"], "fill-opacity", RuntimeJsxProp$Xote.toStringAttr);
134
+ addAttr(attrs, props["fill-rule"], "fill-rule", RuntimeJsxProp$Xote.toStringAttr);
135
+ addAttr(attrs, props.stroke, "stroke", RuntimeJsxProp$Xote.toStringAttr);
136
+ addAttr(attrs, props["stroke-width"], "stroke-width", RuntimeJsxProp$Xote.toStringAttr);
137
+ addAttr(attrs, props["stroke-linecap"], "stroke-linecap", RuntimeJsxProp$Xote.toStringAttr);
138
+ addAttr(attrs, props["stroke-linejoin"], "stroke-linejoin", RuntimeJsxProp$Xote.toStringAttr);
139
+ addAttr(attrs, props["stroke-dasharray"], "stroke-dasharray", RuntimeJsxProp$Xote.toStringAttr);
140
+ addAttr(attrs, props["stroke-dashoffset"], "stroke-dashoffset", RuntimeJsxProp$Xote.toStringAttr);
141
+ addAttr(attrs, props["stroke-opacity"], "stroke-opacity", RuntimeJsxProp$Xote.toStringAttr);
142
+ addAttr(attrs, props["stroke-miterlimit"], "stroke-miterlimit", RuntimeJsxProp$Xote.toStringAttr);
143
+ addAttr(attrs, props.opacity, "opacity", RuntimeJsxProp$Xote.toStringAttr);
144
+ addAttr(attrs, props.color, "color", RuntimeJsxProp$Xote.toStringAttr);
145
+ addAttr(attrs, props.visibility, "visibility", RuntimeJsxProp$Xote.toStringAttr);
146
+ addAttr(attrs, props["vector-effect"], "vector-effect", RuntimeJsxProp$Xote.toStringAttr);
147
+ addAttr(attrs, props["pointer-events"], "pointer-events", RuntimeJsxProp$Xote.toStringAttr);
148
+ addAttr(attrs, props["clip-path"], "clip-path", RuntimeJsxProp$Xote.toStringAttr);
149
+ addAttr(attrs, props["clip-rule"], "clip-rule", RuntimeJsxProp$Xote.toStringAttr);
150
+ addAttr(attrs, props.mask, "mask", RuntimeJsxProp$Xote.toStringAttr);
151
+ addAttr(attrs, props.filter, "filter", RuntimeJsxProp$Xote.toStringAttr);
152
+ addAttr(attrs, props["text-anchor"], "text-anchor", RuntimeJsxProp$Xote.toStringAttr);
153
+ addAttr(attrs, props["dominant-baseline"], "dominant-baseline", RuntimeJsxProp$Xote.toStringAttr);
154
+ addAttr(attrs, props["font-family"], "font-family", RuntimeJsxProp$Xote.toStringAttr);
155
+ addAttr(attrs, props["font-size"], "font-size", RuntimeJsxProp$Xote.toStringAttr);
156
+ addAttr(attrs, props["font-weight"], "font-weight", RuntimeJsxProp$Xote.toStringAttr);
157
+ addAttr(attrs, props["letter-spacing"], "letter-spacing", RuntimeJsxProp$Xote.toStringAttr);
158
+ addAttr(attrs, props["word-spacing"], "word-spacing", RuntimeJsxProp$Xote.toStringAttr);
159
+ addAttr(attrs, props["text-decoration"], "text-decoration", RuntimeJsxProp$Xote.toStringAttr);
160
+ addAttr(attrs, props.offset, "offset", RuntimeJsxProp$Xote.toStringAttr);
161
+ addAttr(attrs, props["stop-color"], "stop-color", RuntimeJsxProp$Xote.toStringAttr);
162
+ addAttr(attrs, props["stop-opacity"], "stop-opacity", RuntimeJsxProp$Xote.toStringAttr);
163
+ addAttr(attrs, props.gradientUnits, "gradientUnits", RuntimeJsxProp$Xote.toStringAttr);
164
+ addAttr(attrs, props.gradientTransform, "gradientTransform", RuntimeJsxProp$Xote.toStringAttr);
165
+ addAttr(attrs, props.spreadMethod, "spreadMethod", RuntimeJsxProp$Xote.toStringAttr);
166
+ addAttr(attrs, props["marker-start"], "marker-start", RuntimeJsxProp$Xote.toStringAttr);
167
+ addAttr(attrs, props["marker-mid"], "marker-mid", RuntimeJsxProp$Xote.toStringAttr);
168
+ addAttr(attrs, props["marker-end"], "marker-end", RuntimeJsxProp$Xote.toStringAttr);
169
+ addAttr(attrs, props["xlink:href"], "xlink:href", RuntimeJsxProp$Xote.toStringAttr);
107
170
  let dataObj = props.data;
108
171
  if (dataObj !== undefined) {
109
172
  let entries = (Object.entries(dataObj));