xote 4.1.1 → 4.2.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 +1 @@
1
- (function(_,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(_=typeof globalThis<"u"?globalThis:_||self,y(_.xote={}))})(this,(function(_){"use strict";let y={contents:0};function L(){return y.contents=y.contents+1|0,y.contents}function pe(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function he(e){if(e!=null)return pe(e)}function U(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 F(e,t){return e!==void 0?U(e):t}function me(e,t,n){return e.reduce(n,t)}function _e(e,t){let n=e.length,r=new Array(n),u=0;for(let o=0;o<n;++o){let l=e[o],s=t(l);s!==void 0&&(r[u]=U(s),u=u+1|0)}return r.length=u,r}function ge(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let u=t(e[r]);if(u!==void 0)return u;n=r+1|0}}let d=new Map,O=new Map,x=new Map,c={contents:void 0},$=new Set,E={contents:!1},g={contents:!1};function z(e){if(O.get(e)===void 0){O.set(e,new Set);return}}function Se(e,t){let n=O.get(e);if(n!==void 0){n.forEach(t);return}}function ve(e,t){let n=O.get(e);if(n!==void 0){n.add(t);return}}function Ee(e,t){let n=O.get(e);if(n!==void 0){n.delete(t);return}}function be(e){return Array.from(F(O.get(e),new Set).values())}function J(e,t){let n=c.contents;c.contents=e;try{let r=t();return c.contents=n,r}catch(r){throw c.contents=n,r}}function we(e){let t=c.contents;c.contents=void 0;try{let n=e();return c.contents=t,n}catch(n){throw c.contents=t,n}}function ye(e){let t=c.contents;return t!==void 0?t===e:!1}function ke(e){if(!E.contents){E.contents=!0;try{e(),E.contents=!1;return}catch(t){throw E.contents=!1,t}}}function Te(e,t){z(t);let n=ye(e),r=d.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),ve(t,e)}function C(e){e.deps.forEach(t=>Ee(t,e.id)),e.deps.clear()}function Ae(e){let t=x.get(e);if(t===void 0)return;x.delete(e);let n=d.get(t);if(n!==void 0){C(n),d.delete(t);return}}function K(e){return me(e,0,(t,n)=>n>t?n:t)}function Oe(e){let t=[];return e.deps.forEach(n=>Se(n,r=>{if(r===e.id)return;let u=d.get(r);if(u===void 0)return;if(typeof u.kind=="object"){t.push(u.level);return}})),K(t)+1|0}function $e(e){let t=[];return e.deps.forEach(n=>{let r=x.get(n);if(r===void 0||r===e.id)return;let u=d.get(r);if(u!==void 0){t.push(u.level);return}}),K(t)+1|0}function j(e){return typeof e.kind=="object"?$e(e):Oe(e)}function Ce(e,t){let n=d.get(e),r=d.get(t);if(n===void 0)return r!==void 0?1:0;if(r===void 0)return-1;let o=typeof n.kind=="object"?0:1,s=typeof r.kind=="object"?0:1,a=o-s|0;return a!==0?a:n.level-r.level|0}function Ne(e){g.contents=!0,C(e),J(e.id,()=>{e.run(),g.contents=!1}),e.level=j(e)}function Q(){for(;$.size>0;){let e=Array.from($.values());$.clear(),e.sort(Ce),e.forEach(t=>{let n=d.get(t);if(n!==void 0)return Ne(n)})}}function Y(e){if(z(e),be(e).forEach(t=>{let n=d.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,Y(r.VAL));$.add(t)}),$.size>0)return ke(Q)}function Z(e){let t=x.get(e);if(t===void 0)return;let n=d.get(t);if(n!==void 0&&n.dirty){g.contents=!0,C(n),J(t,()=>{n.run(),n.dirty=!1,g.contents=!1}),n.level=j(n);return}}function Ie(e){let t=E.contents;E.contents=!0;try{let n=e();return t||(E.contents=!1,$.size>0&&Q()),n}catch(n){throw t||(E.contents=!1),n}}let Me=we,xe=z;function ee(e,t,n){let r=L();return xe(r),{id:r,value:{contents:e},version:{contents:0},equals:F(n,(u,o)=>u===o),name:t}}function je(e){Z(e.id);let t=c.contents;return t!==void 0&&Te(t,e.id),e.value.contents}function De(e){return Z(e.id),e.value.contents}function te(e,t){let n;try{n=!e.equals(e.value.contents,t)}catch{n=!0}if(n)return e.value.contents=t,e.version.contents=e.version.contents+1|0,Y(e.id)}function Pe(e,t){te(e,t(e.value.contents))}const Ge=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Scheduler:void 0,batch:Ie,get:je,make:ee,peek:De,set:te,untrack:Me,update:Pe},Symbol.toStringTag,{value:"Module"}));function ne(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function Re(e){let t=L(),n={contents:void 0},u=ne(t,"Effect",()=>{let s=n.contents;s!==void 0&&s(),n.contents=e()});d.set(t,u),g.contents=!0,C(u);let o=c.contents;c.contents=t;try{u.run(),g.contents=!1}catch(s){throw c.contents=o,g.contents=!1,s}return c.contents=o,u.level=j(u),{dispose:()=>{let s=d.get(t);if(s===void 0)return;let a=n.contents;a!==void 0&&a(),C(s),d.delete(t)}}}const Le=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,run:Re},Symbol.toStringTag,{value:"Module"}));function Fe(e){let t=ee(void 0,void 0,void 0),n=L(),r=()=>{let l=e();t.value.contents=l},u=ne(n,{NAME:"Computed",VAL:t.id},r);d.set(n,u),g.contents=!0,C(u);let o=c.contents;c.contents=n;try{u.run(),u.dirty=!1,g.contents=!1}catch(l){throw c.contents=o,g.contents=!1,l}return c.contents=o,u.level=j(u),x.set(t.id,n),t}function ze(e){Ae(e.id)}const Ve=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,Signal:void 0,dispose:ze,make:Fe},Symbol.toStringTag,{value:"Module"}));let i=Ge,p=Ve,S=Le;function re(e){return _e(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function ue(e,t){let n=t.split("/").filter(o=>o!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((o,l)=>{let s=n[l];return o.TAG==="Static"?s===o._0:(r[o._0]=s,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function V(e,t){return ue(re(e),t)}const Be=Object.freeze(Object.defineProperty({__proto__:null,match:V,matchPath:ue,parsePattern:re},Symbol.toStringTag,{value:"Module"}));function le(e,t){return[e,{TAG:"Static",_0:t}]}function We(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Xe(e,t){return[e,{TAG:"Compute",_0:t}]}function qe(e){return{TAG:"Text",_0:e}}function He(e){return{TAG:"SignalText",_0:p.make(e)}}function Ue(e){return{TAG:"Fragment",_0:e}}function B(e){return{TAG:"SignalFragment",_0:e}}function Je(e,t){return{TAG:"SignalFragment",_0:p.make(()=>i.get(e).map(t))}}function h(e,t,n,r,u){let o=t!==void 0?t:[].map(a=>a),l=n!==void 0?n:[].map(a=>a),s=r!==void 0?r:[].map(a=>a);return{TAG:"Element",tag:e,attrs:o,events:l,children:s}}function Ke(e,t,n,r){return h("div",e,t,n)}function Qe(e,t,n,r){return h("span",e,t,n)}function Ye(e,t,n,r){return h("button",e,t,n)}function Ze(e,t,n){return h("input",e,t,void 0)}function et(e,t,n,r){return h("h1",e,t,n)}function tt(e,t,n,r){return h("h2",e,t,n)}function nt(e,t,n,r){return h("h3",e,t,n)}function rt(e,t,n,r){return h("p",e,t,n)}function ut(e,t,n,r){return h("ul",e,t,n)}function lt(e,t,n,r){return h("li",e,t,n)}function oe(e,t,n,r){return h("a",e,t,n)}let b={contents:void 0};function ot(){return{disposers:[],signals:[],computeds:[]}}function N(e,t){let n=b.contents;b.contents=e;let r=t();return b.contents=n,r}function it(e){let t=b.contents;if(t!==void 0){t.signals.push(e);return}}function st(e){let t=b.contents;if(t!==void 0){t.computeds.push(e);return}}function ct(e){let t=b.contents;if(t!==void 0){t.disposers.push(e);return}}function k(e,t){let n=F(he(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t]);let r=b.contents;if(r!==void 0){r.disposers.push(t);return}}let W=(function(e){e.__devtoolsId&&window.__xoteDevToolsMarkAsDisposed&&window.__xoteDevToolsMarkAsDisposed(e.__devtoolsId)});function D(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>{p.dispose(t),W(t)}),e.signals.forEach(t=>W(t))}function at(e){let t={disposers:[],signals:[],computeds:[]};return N(t,()=>e(()=>D(t))),()=>D(t)}function dt(e){return{TAG:"LazyComponent",_0:e}}function X(e){let t=e.__xote_owner;t!=null&&(D(t),e.__xote_owner={disposers:[],signals:[],computeds:[]});let n=e.__xote_disposers;n!=null&&(n.forEach(u=>u.dispose()),e.__xote_disposers=[]),Array.from(e.childNodes||[]).forEach(X)}function I(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,u=e.tag,o={disposers:[],signals:[],computeds:[]},l;switch(u){case"circle":case"clipPath":case"defs":case"ellipse":case"g":case"line":case"linearGradient":case"marker":case"mask":case"path":case"pattern":case"polygon":case"polyline":case"radialGradient":case"rect":case"stop":case"svg":case"symbol":case"text":case"textPath":case"tspan":case"use":l=document.createElementNS("http://www.w3.org/2000/svg",u);break;default:l=document.createElement(u)}return l.__xote_owner=o,N(o,()=>{r.forEach(f=>{let m=f[1],v=f[0];switch(m.TAG){case"Static":let G=m._0;v==="value"&&u==="input"?l.value=G:l.setAttribute(v,G);return;case"SignalValue":let M=m._0;if(v==="value"&&u==="input"){l.value=i.peek(M);let A=S.run(()=>{let H=i.get(M);l.value=H});return k(l,A)}l.setAttribute(v,i.peek(M));let Ht=S.run(()=>{let A=i.get(M);l.setAttribute(v,A)});return k(l,Ht);case"Compute":let Ut=m._0,R=p.make(()=>Ut());if(v==="value"&&u==="input"){l.value=i.peek(R);let A=S.run(()=>{let H=i.get(R);l.value=H});return k(l,A)}l.setAttribute(v,i.peek(R));let Jt=S.run(()=>{let A=i.get(R);l.setAttribute(v,A)});return k(l,Jt)}}),n.forEach(f=>{l.addEventListener(f[0],f[1])}),t.forEach(f=>{let m=I(f);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let s=e._0,a={disposers:[],signals:[],computeds:[]},P=document.createTextNode(i.peek(s));return P.__xote_owner=a,N(a,()=>{let f=S.run(()=>{let m=i.get(s);P.textContent=m});k(P,f)}),P;case"Fragment":let ce=document.createDocumentFragment();return e._0.forEach(f=>{let m=I(f);ce.appendChild(m)}),ce;case"SignalFragment":let Xt=e._0,ae={disposers:[],signals:[],computeds:[]},w=document.createElement("div");return w.setAttribute("data-signal-fragment","true"),w.setAttribute("style","display: contents"),w.__xote_owner=ae,N(ae,()=>{let f=S.run(()=>{let m=i.get(Xt);Array.from(w.childNodes||[]).forEach(X),w.innerHTML="",m.forEach(G=>{let M=I(G);w.appendChild(M)})});k(w,f)}),w;case"LazyComponent":let de={disposers:[],signals:[],computeds:[]},qt=N(de,e._0),fe=I(qt);return fe.__xote_owner=de,fe}}function ie(e,t){let n=I(e);t.appendChild(n)}function ft(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return ie(e,n)}const pt=Object.freeze(Object.defineProperty({__proto__:null,a:oe,addDisposer:k,attr:le,button:Ye,component:dt,computedAttr:Xe,createOwner:ot,createRoot:at,currentOwner:b,disposeElement:X,disposeOwner:D,div:Ke,element:h,fragment:Ue,h1:et,h2:tt,h3:nt,input:Ze,li:lt,list:Je,markAsDisposedInDevTools:W,mount:ie,mountById:ft,p:rt,registerComputed:st,registerEffectDisposer:ct,registerSignal:it,render:I,runWithOwner:N,signalAttr:We,signalFragment:B,span:Qe,text:qe,textSignal:He,ul:ut},Symbol.toStringTag,{value:"Module"}));let T=i.make({pathname:"/",search:"",hash:""},void 0,void 0);function q(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function ht(){i.set(T,q());let e=t=>i.set(T,q());window.addEventListener("popstate",e)}function se(e,t,n,r){let u=t!==void 0?t:"",o=n!==void 0?n:"",l={pathname:e,search:u,hash:o},s=e+u+o,a={};window.history.pushState(a,"",s),i.set(T,l)}function mt(e,t,n,r){let u=t!==void 0?t:"",o=n!==void 0?n:"",l={pathname:e,search:u,hash:o},s=e+u+o,a={};window.history.replaceState(a,"",s),i.set(T,l)}function _t(e,t){return B(p.make(()=>{let n=i.get(T),r=V(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function gt(e){return B(p.make(()=>{let t=i.get(T),n=ge(e,r=>{let u=V(r.pattern,t.pathname);if(typeof u=="object")return r.render(u._0)});return n!==void 0?[n]:[]}))}function St(e,t,n,r){let u=t!==void 0?t:[],o=n!==void 0?n:[],l=s=>{s.preventDefault(),se(e,void 0,void 0)};return oe(u.concat([le("href",e)]),[["click",l]],o)}const vt=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Route:void 0,getCurrentLocation:q,init:ht,link:St,location:T,push:se,replace:mt,route:_t,routes:gt},Symbol.toStringTag,{value:"Module"}));let Et=i.Id,bt=i.Scheduler,wt=i.make,yt=i.get,kt=i.peek,Tt=i.set,At=i.update,Ot=i.batch,$t=i.untrack,Ct={Id:Et,Scheduler:bt,make:wt,get:yt,peek:kt,set:Tt,update:At,batch:Ot,untrack:$t},Nt=p.Id,It=p.Signal,Mt=p.Observer,xt=p.Scheduler,jt=p.make,Dt=p.dispose,Pt={Id:Nt,Signal:It,Observer:Mt,Scheduler:xt,make:jt,dispose:Dt},Gt=S.Id,Rt=S.Observer,Lt=S.Scheduler,Ft=S.run,zt={Id:Gt,Observer:Rt,Scheduler:Lt,run:Ft},Vt=pt,Bt=Be,Wt=vt;_.Component=Vt,_.Computed=Pt,_.Effect=zt,_.Route=Bt,_.Router=Wt,_.Signal=Ct,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(y,N){typeof exports=="object"&&typeof module<"u"?N(exports):typeof define=="function"&&define.amd?define(["exports"],N):(y=typeof globalThis<"u"?globalThis:y||self,N(y.xote={}))})(this,(function(y){"use strict";let N={contents:0};function U(){return N.contents=N.contents+1|0,N.contents}function $e(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 Ae(e){if(e!=null)return $e(e)}function re(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 z(e,t){return e!==void 0?re(e):t}function Oe(e,t,n){return e.reduce(n,t)}function Ce(e,t){let n=e.length,r=new Array(n),l=0;for(let o=0;o<n;++o){let u=e[o],c=t(u);c!==void 0&&(r[l]=re(c),l=l+1|0)}return r.length=l,r}function Ne(e,t){let n=0;for(;;){let r=n;if(r===e.length)return;let l=t(e[r]);if(l!==void 0)return l;n=r+1|0}}let h=new Map,j=new Map,G=new Map,f={contents:void 0},D=new Set,$={contents:!1},w={contents:!1};function J(e){if(j.get(e)===void 0){j.set(e,new Set);return}}function Ie(e,t){let n=j.get(e);if(n!==void 0){n.forEach(t);return}}function xe(e,t){let n=j.get(e);if(n!==void 0){n.add(t);return}}function Me(e,t){let n=j.get(e);if(n!==void 0){n.delete(t);return}}function je(e){return Array.from(z(j.get(e),new Set).values())}function le(e,t){let n=f.contents;f.contents=e;try{let r=t();return f.contents=n,r}catch(r){throw f.contents=n,r}}function De(e){let t=f.contents;f.contents=void 0;try{let n=e();return f.contents=t,n}catch(n){throw f.contents=t,n}}function Re(e){let t=f.contents;return t!==void 0?t===e:!1}function Pe(e){if(!$.contents){$.contents=!0;try{e(),$.contents=!1;return}catch(t){throw $.contents=!1,t}}}function Ge(e,t){J(t);let n=Re(e),r=h.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),xe(t,e)}function R(e){e.deps.forEach(t=>Me(t,e.id)),e.deps.clear()}function Le(e){let t=G.get(e);if(t===void 0)return;G.delete(e);let n=h.get(t);if(n!==void 0){R(n),h.delete(t);return}}function ue(e){return Oe(e,0,(t,n)=>n>t?n:t)}function Fe(e){let t=[];return e.deps.forEach(n=>Ie(n,r=>{if(r===e.id)return;let l=h.get(r);if(l===void 0)return;if(typeof l.kind=="object"){t.push(l.level);return}})),ue(t)+1|0}function Be(e){let t=[];return e.deps.forEach(n=>{let r=G.get(n);if(r===void 0||r===e.id)return;let l=h.get(r);if(l!==void 0){t.push(l.level);return}}),ue(t)+1|0}function V(e){return typeof e.kind=="object"?Be(e):Fe(e)}function ze(e,t){let n=h.get(e),r=h.get(t);if(n===void 0)return r!==void 0?1:0;if(r===void 0)return-1;let o=typeof n.kind=="object"?0:1,c=typeof r.kind=="object"?0:1,p=o-c|0;return p!==0?p:n.level-r.level|0}function Ve(e){w.contents=!0,R(e),le(e.id,()=>{e.run(),w.contents=!1}),e.level=V(e)}function oe(){for(;D.size>0;){let e=Array.from(D.values());D.clear(),e.sort(ze),e.forEach(t=>{let n=h.get(t);if(n!==void 0)return Ve(n)})}}function ie(e){if(J(e),je(e).forEach(t=>{let n=h.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,ie(r.VAL));D.add(t)}),D.size>0)return Pe(oe)}function se(e){let t=G.get(e);if(t===void 0)return;let n=h.get(t);if(n!==void 0&&n.dirty){w.contents=!0,R(n),le(t,()=>{n.run(),n.dirty=!1,w.contents=!1}),n.level=V(n);return}}function We(e){let t=$.contents;$.contents=!0;try{let n=e();return t||($.contents=!1,D.size>0&&oe()),n}catch(n){throw t||($.contents=!1),n}}let Ke=De,Xe=J;function ce(e,t,n){let r=U();return Xe(r),{id:r,value:{contents:e},version:{contents:0},equals:z(n,(l,o)=>l===o),name:t}}function qe(e){se(e.id);let t=f.contents;return t!==void 0&&Ge(t,e.id),e.value.contents}function He(e){return se(e.id),e.value.contents}function ae(e,t){let n;try{n=!e.equals(e.value.contents,t)}catch{n=!0}if(n)return e.value.contents=t,e.version.contents=e.version.contents+1|0,ie(e.id)}function Ue(e,t){ae(e,t(e.value.contents))}const Je=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Scheduler:void 0,batch:We,get:qe,make:ce,peek:He,set:ae,untrack:Ke,update:Ue},Symbol.toStringTag,{value:"Module"}));function de(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function Qe(e){let t=U(),n={contents:void 0},l=de(t,"Effect",()=>{let c=n.contents;c!==void 0&&c(),n.contents=e()});h.set(t,l),w.contents=!0,R(l);let o=f.contents;f.contents=t;try{l.run(),w.contents=!1}catch(c){throw f.contents=o,w.contents=!1,c}return f.contents=o,l.level=V(l),{dispose:()=>{let c=h.get(t);if(c===void 0)return;let p=n.contents;p!==void 0&&p(),R(c),h.delete(t)}}}const Ye=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,run:Qe},Symbol.toStringTag,{value:"Module"}));function Ze(e){let t=ce(void 0,void 0,void 0),n=U(),r=()=>{let u=e();t.value.contents=u},l=de(n,{NAME:"Computed",VAL:t.id},r);h.set(n,l),w.contents=!0,R(l);let o=f.contents;f.contents=n;try{l.run(),l.dirty=!1,w.contents=!1}catch(u){throw f.contents=o,w.contents=!1,u}return f.contents=o,l.level=V(l),G.set(t.id,n),t}function et(e){Le(e.id)}const tt=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,Signal:void 0,dispose:et,make:Ze},Symbol.toStringTag,{value:"Module"}));let i=Je,S=tt,b=Ye;function fe(e){return Ce(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function pe(e,t){let n=t.split("/").filter(o=>o!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((o,u)=>{let c=n[u];return o.TAG==="Static"?c===o._0:(r[o._0]=c,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function Q(e,t){return pe(fe(e),t)}const nt=Object.freeze(Object.defineProperty({__proto__:null,match:Q,matchPath:pe,parsePattern:fe},Symbol.toStringTag,{value:"Module"}));function rt(e,t){delete e[t]}function me(e,t){return[e,{TAG:"Static",_0:t}]}function lt(e,t){return[e,{TAG:"SignalValue",_0:t}]}function ut(e,t){return[e,{TAG:"Compute",_0:t}]}function ot(e){return{TAG:"Text",_0:e}}function it(e){return{TAG:"SignalText",_0:S.make(e)}}function st(e){return{TAG:"Fragment",_0:e}}function Y(e){return{TAG:"SignalFragment",_0:e}}function ct(e,t){return{TAG:"SignalFragment",_0:S.make(()=>i.get(e).map(t))}}function v(e,t,n,r,l){let o=t!==void 0?t:[].map(p=>p),u=n!==void 0?n:[].map(p=>p),c=r!==void 0?r:[].map(p=>p);return{TAG:"Element",tag:e,attrs:o,events:u,children:c}}function at(e,t,n,r){return v("div",e,t,n)}function dt(e,t,n,r){return v("span",e,t,n)}function ft(e,t,n,r){return v("button",e,t,n)}function pt(e,t,n){return v("input",e,t,void 0)}function mt(e,t,n,r){return v("h1",e,t,n)}function ht(e,t,n,r){return v("h2",e,t,n)}function _t(e,t,n,r){return v("h3",e,t,n)}function gt(e,t,n,r){return v("p",e,t,n)}function St(e,t,n,r){return v("ul",e,t,n)}function vt(e,t,n,r){return v("li",e,t,n)}function he(e,t,n,r){return v("a",e,t,n)}let A={contents:void 0};function Et(){return{disposers:[],signals:[],computeds:[]}}function I(e,t){let n=A.contents;A.contents=e;let r=t();return A.contents=n,r}function yt(e){let t=A.contents;if(t!==void 0){t.signals.push(e);return}}function bt(e){let t=A.contents;if(t!==void 0){t.computeds.push(e);return}}function wt(e){let t=A.contents;if(t!==void 0){t.disposers.push(e);return}}function O(e,t){let n=z(Ae(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t]);let r=A.contents;if(r!==void 0){r.disposers.push(t);return}}let Z=(function(e){e.__devtoolsId&&window.__xoteDevToolsMarkAsDisposed&&window.__xoteDevToolsMarkAsDisposed(e.__devtoolsId)});function W(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>{S.dispose(t),Z(t)}),e.signals.forEach(t=>Z(t))}function kt(e){let t={disposers:[],signals:[],computeds:[]};return I(t,()=>e(()=>W(t))),()=>W(t)}function Tt(e){return{TAG:"LazyComponent",_0:e}}function L(e){let t=e.__xote_owner;t!=null&&(W(t),e.__xote_owner={disposers:[],signals:[],computeds:[]});let n=e.__xote_disposers;n!=null&&(n.forEach(l=>l.dispose()),e.__xote_disposers=[]),Array.from(e.childNodes||[]).forEach(L)}function T(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=e.tag,o={disposers:[],signals:[],computeds:[]},u;switch(l){case"circle":case"clipPath":case"defs":case"ellipse":case"g":case"line":case"linearGradient":case"marker":case"mask":case"path":case"pattern":case"polygon":case"polyline":case"radialGradient":case"rect":case"stop":case"svg":case"symbol":case"text":case"textPath":case"tspan":case"use":u=document.createElementNS("http://www.w3.org/2000/svg",l);break;default:u=document.createElement(l)}return u.__xote_owner=o,I(o,()=>{r.forEach(a=>{let m=a[1],_=a[0];switch(m.TAG){case"Static":let k=m._0;_==="value"&&l==="input"?u.value=k:u.setAttribute(_,k);return;case"SignalValue":let g=m._0;if(_==="value"&&l==="input"){u.value=i.peek(g);let E=b.run(()=>{let B=i.get(g);u.value=B});return O(u,E)}u.setAttribute(_,i.peek(g));let H=b.run(()=>{let E=i.get(g);u.setAttribute(_,E)});return O(u,H);case"Compute":let P=m._0,s=S.make(()=>P());if(_==="value"&&l==="input"){u.value=i.peek(s);let E=b.run(()=>{let B=i.get(s);u.value=B});return O(u,E)}u.setAttribute(_,i.peek(s));let d=b.run(()=>{let E=i.get(s);u.setAttribute(_,E)});return O(u,d)}}),n.forEach(a=>{u.addEventListener(a[0],a[1])}),t.forEach(a=>{let m=T(a);u.appendChild(m)})}),u;case"Text":return document.createTextNode(e._0);case"SignalText":let c=e._0,p={disposers:[],signals:[],computeds:[]},K=document.createTextNode(i.peek(c));return K.__xote_owner=p,I(p,()=>{let a=b.run(()=>{let m=i.get(c);K.textContent=m});O(K,a)}),K;case"Fragment":let Se=document.createDocumentFragment();return e._0.forEach(a=>{let m=T(a);Se.appendChild(m)}),Se;case"SignalFragment":let on=e._0,ve={disposers:[],signals:[],computeds:[]},C=document.createElement("div");return C.setAttribute("data-signal-fragment","true"),C.setAttribute("style","display: contents"),C.__xote_owner=ve,I(ve,()=>{let a=b.run(()=>{let m=i.get(on);Array.from(C.childNodes||[]).forEach(L),C.innerHTML="",m.forEach(k=>{let g=T(k);C.appendChild(g)})});O(C,a)}),C;case"LazyComponent":let Ee={disposers:[],signals:[],computeds:[]},sn=I(Ee,e._0),ye=T(sn);return ye.__xote_owner=Ee,ye;case"KeyedList":let te=e.renderItem,ne=e.keyFn,be=e.signal,we={disposers:[],signals:[],computeds:[]},X=document.createComment(" keyed-list-start "),F=document.createComment(" keyed-list-end ");X.__xote_owner=we;let M={},cn=()=>{let a=F.parentNode;if(a==null)return;let m=i.get(be),_={};m.forEach(s=>{let d=ne(s);_[d]=s});let k=[];Object.keys(M).forEach(s=>{if(_[s]===void 0){k.push(s);return}}),k.forEach(s=>{let d=M[s];if(d!==void 0){L(d.element),d.element.remove(),rt(M,s);return}});let g=[],H={};m.forEach(s=>{let d=ne(s),E=M[d];if(E!==void 0){if(E.item!==s){H[d]=!0;let dn=te(s),fn=T(dn),Te={key:d,item:s,element:fn};g.push(Te),M[d]=Te;return}g.push(E);return}let B=te(s),an=T(B),ke={key:d,item:s,element:an};g.push(ke),M[d]=ke});let P={contents:X.nextSibling};g.forEach(s=>{let d=P.contents;if(d==null){a.insertBefore(s.element,F);return}if(d===F){a.insertBefore(s.element,F);return}if(d===s.element){P.contents=d.nextSibling;return}z(H[s.key],!1)?(L(d),a.replaceChild(s.element,d),P.contents=s.element.nextSibling):(a.insertBefore(s.element,d),P.contents=s.element.nextSibling)})},q=document.createDocumentFragment();return q.appendChild(X),i.peek(be).forEach(a=>{let m=ne(a),_=te(a),k=T(_),g={key:m,item:a,element:k};M[m]=g,q.appendChild(k)}),q.appendChild(F),I(we,()=>{let a=b.run(()=>{cn()});O(X,a)}),q}}function _e(e,t){let n=T(e);t.appendChild(n)}function $t(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return _e(e,n)}function At(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}const Ot=Object.freeze(Object.defineProperty({__proto__:null,a:he,addDisposer:O,attr:me,button:ft,component:Tt,computedAttr:ut,createOwner:Et,createRoot:kt,currentOwner:A,disposeElement:L,disposeOwner:W,div:at,element:v,fragment:st,h1:mt,h2:ht,h3:_t,input:pt,keyedList:At,li:vt,list:ct,markAsDisposedInDevTools:Z,mount:_e,mountById:$t,p:gt,registerComputed:bt,registerEffectDisposer:wt,registerSignal:yt,render:T,runWithOwner:I,signalAttr:lt,signalFragment:Y,span:dt,text:ot,textSignal:it,ul:St},Symbol.toStringTag,{value:"Module"}));let x=i.make({pathname:"/",search:"",hash:""},void 0,void 0);function ee(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ct(){i.set(x,ee());let e=t=>i.set(x,ee());window.addEventListener("popstate",e)}function ge(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},c=e+l+o,p={};window.history.pushState(p,"",c),i.set(x,u)}function Nt(e,t,n,r){let l=t!==void 0?t:"",o=n!==void 0?n:"",u={pathname:e,search:l,hash:o},c=e+l+o,p={};window.history.replaceState(p,"",c),i.set(x,u)}function It(e,t){return Y(S.make(()=>{let n=i.get(x),r=Q(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function xt(e){return Y(S.make(()=>{let t=i.get(x),n=Ne(e,r=>{let l=Q(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]}))}function Mt(e,t,n,r){let l=t!==void 0?t:[],o=n!==void 0?n:[],u=c=>{c.preventDefault(),ge(e,void 0,void 0)};return he(l.concat([me("href",e)]),[["click",u]],o)}const jt=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Route:void 0,getCurrentLocation:ee,init:Ct,link:Mt,location:x,push:ge,replace:Nt,route:It,routes:xt},Symbol.toStringTag,{value:"Module"}));let Dt=i.Id,Rt=i.Scheduler,Pt=i.make,Gt=i.get,Lt=i.peek,Ft=i.set,Bt=i.update,zt=i.batch,Vt=i.untrack,Wt={Id:Dt,Scheduler:Rt,make:Pt,get:Gt,peek:Lt,set:Ft,update:Bt,batch:zt,untrack:Vt},Kt=S.Id,Xt=S.Signal,qt=S.Observer,Ht=S.Scheduler,Ut=S.make,Jt=S.dispose,Qt={Id:Kt,Signal:Xt,Observer:qt,Scheduler:Ht,make:Ut,dispose:Jt},Yt=b.Id,Zt=b.Observer,en=b.Scheduler,tn=b.run,nn={Id:Yt,Observer:Zt,Scheduler:en,run:tn},rn=Ot,ln=nt,un=jt;y.Component=rn,y.Computed=Qt,y.Effect=nn,y.Route=ln,y.Router=un,y.Signal=Wt,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xote",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "repository": {
5
5
  "url": "https://github.com/brnrdog/xote"
6
6
  },