xote 4.1.0 → 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(h,b){typeof exports=="object"&&typeof module<"u"?b(exports):typeof define=="function"&&define.amd?define(["exports"],b):(h=typeof globalThis<"u"?globalThis:h||self,b(h.xote={}))})(this,(function(h){"use strict";let b={contents:0};function M(){return b.contents=b.contents+1|0,b.contents}function te(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function ne(e){if(e!=null)return te(e)}function F(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 I(e,t){return e!==void 0?F(e):t}function re(e,t,n){return e.reduce(n,t)}function ue(e,t){let n=e.length,r=new Array(n),u=0;for(let l=0;l<n;++l){let c=e[l],i=t(c);i!==void 0&&(r[u]=F(i),u=u+1|0)}return r.length=u,r}function le(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 f=new Map,T=new Map,O=new Map,a={contents:void 0},k=new Set,g={contents:!1},_={contents:!1};function j(e){if(T.get(e)===void 0){T.set(e,new Set);return}}function ie(e,t){let n=T.get(e);if(n!==void 0){n.forEach(t);return}}function oe(e,t){let n=T.get(e);if(n!==void 0){n.add(t);return}}function ce(e,t){let n=T.get(e);if(n!==void 0){n.delete(t);return}}function ae(e){return Array.from(I(T.get(e),new Set).values())}function L(e,t){let n=a.contents;a.contents=e;try{let r=t();return a.contents=n,r}catch(r){throw a.contents=n,r}}function de(e){let t=a.contents;a.contents=void 0;try{let n=e();return a.contents=t,n}catch(n){throw a.contents=t,n}}function fe(e){let t=a.contents;return t!==void 0?t===e:!1}function se(e){if(!g.contents){g.contents=!0;try{e(),g.contents=!1;return}catch(t){throw g.contents=!1,t}}}function pe(e,t){j(t);let n=fe(e),r=f.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),oe(t,e)}function A(e){e.deps.forEach(t=>ce(t,e.id)),e.deps.clear()}function he(e){let t=O.get(e);if(t===void 0)return;O.delete(e);let n=f.get(t);if(n!==void 0){A(n),f.delete(t);return}}function V(e){return re(e,0,(t,n)=>n>t?n:t)}function me(e){let t=[];return e.deps.forEach(n=>ie(n,r=>{if(r===e.id)return;let u=f.get(r);if(u===void 0)return;if(typeof u.kind=="object"){t.push(u.level);return}})),V(t)+1|0}function _e(e){let t=[];return e.deps.forEach(n=>{let r=O.get(n);if(r===void 0||r===e.id)return;let u=f.get(r);if(u!==void 0){t.push(u.level);return}}),V(t)+1|0}function C(e){return typeof e.kind=="object"?_e(e):me(e)}function Se(e,t){let n=f.get(e),r=f.get(t);if(n===void 0)return r!==void 0?1:0;if(r===void 0)return-1;let l=typeof n.kind=="object"?0:1,i=typeof r.kind=="object"?0:1,d=l-i|0;return d!==0?d:n.level-r.level|0}function ge(e){_.contents=!0,A(e),L(e.id,()=>{e.run(),_.contents=!1}),e.level=C(e)}function B(){for(;k.size>0;){let e=Array.from(k.values());k.clear(),e.sort(Se),e.forEach(t=>{let n=f.get(t);if(n!==void 0)return ge(n)})}}function z(e){if(j(e),ae(e).forEach(t=>{let n=f.get(t);if(n===void 0)return;let r=n.kind;if(typeof r=="object")return n.dirty?void 0:(n.dirty=!0,z(r.VAL));k.add(t)}),k.size>0)return se(B)}function W(e){let t=O.get(e);if(t===void 0)return;let n=f.get(t);if(n!==void 0&&n.dirty){_.contents=!0,A(n),L(t,()=>{n.run(),n.dirty=!1,_.contents=!1}),n.level=C(n);return}}function Ee(e){let t=g.contents;g.contents=!0;try{let n=e();return t||(g.contents=!1,k.size>0&&B()),n}catch(n){throw t||(g.contents=!1),n}}let be=de,ve=j;function X(e,t,n){let r=M();return ve(r),{id:r,value:{contents:e},version:{contents:0},equals:I(n,(u,l)=>u===l),name:t}}function ye(e){W(e.id);let t=a.contents;return t!==void 0&&pe(t,e.id),e.value.contents}function Te(e){return W(e.id),e.value.contents}function q(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,z(e.id)}function ke(e,t){q(e,t(e.value.contents))}const Ae=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Scheduler:void 0,batch:Ee,get:ye,make:X,peek:Te,set:q,untrack:be,update:ke},Symbol.toStringTag,{value:"Module"}));function H(e,t,n){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0}}function Oe(e){let t=M(),n={contents:void 0},u=H(t,"Effect",()=>{let i=n.contents;i!==void 0&&i(),n.contents=e()});f.set(t,u),_.contents=!0,A(u);let l=a.contents;a.contents=t;try{u.run(),_.contents=!1}catch(i){throw a.contents=l,_.contents=!1,i}return a.contents=l,u.level=C(u),{dispose:()=>{let i=f.get(t);if(i===void 0)return;let d=n.contents;d!==void 0&&d(),A(i),f.delete(t)}}}const we=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,run:Oe},Symbol.toStringTag,{value:"Module"}));function $e(e){let t=X(void 0,void 0,void 0),n=M(),r=()=>{let c=e();t.value.contents=c},u=H(n,{NAME:"Computed",VAL:t.id},r);f.set(n,u),_.contents=!0,A(u);let l=a.contents;a.contents=n;try{u.run(),u.dirty=!1,_.contents=!1}catch(c){throw a.contents=l,_.contents=!1,c}return a.contents=l,u.level=C(u),O.set(t.id,n),t}function Ce(e){he(e.id)}const Ne=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,Signal:void 0,dispose:Ce,make:$e},Symbol.toStringTag,{value:"Module"}));let o=Ae,m=Ne,E=we;function U(e){return ue(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function J(e,t){let n=t.split("/").filter(l=>l!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((l,c)=>{let i=n[c];return l.TAG==="Static"?i===l._0:(r[l._0]=i,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function P(e,t){return J(U(e),t)}const Me=Object.freeze(Object.defineProperty({__proto__:null,match:P,matchPath:J,parsePattern:U},Symbol.toStringTag,{value:"Module"}));function K(e,t){return[e,{TAG:"Static",_0:t}]}function Ie(e,t){return[e,{TAG:"SignalValue",_0:t}]}function je(e,t){return[e,{TAG:"Compute",_0:t}]}function Pe(e){return{TAG:"Text",_0:e}}function Re(e){return{TAG:"SignalText",_0:m.make(e)}}function Ge(e){return{TAG:"Fragment",_0:e}}function R(e){return{TAG:"SignalFragment",_0:e}}function De(e,t){return{TAG:"SignalFragment",_0:m.make(()=>o.get(e).map(t))}}function p(e,t,n,r,u){let l=t!==void 0?t:[].map(d=>d),c=n!==void 0?n:[].map(d=>d),i=r!==void 0?r:[].map(d=>d);return{TAG:"Element",tag:e,attrs:l,events:c,children:i}}function xe(e,t,n,r){return p("div",e,t,n)}function Fe(e,t,n,r){return p("span",e,t,n)}function Le(e,t,n,r){return p("button",e,t,n)}function Ve(e,t,n){return p("input",e,t,void 0)}function Be(e,t,n,r){return p("h1",e,t,n)}function ze(e,t,n,r){return p("h2",e,t,n)}function We(e,t,n,r){return p("h3",e,t,n)}function Xe(e,t,n,r){return p("p",e,t,n)}function qe(e,t,n,r){return p("ul",e,t,n)}function He(e,t,n,r){return p("li",e,t,n)}function Q(e,t,n,r){return p("a",e,t,n)}function w(e,t){let n=I(ne(e.__xote_disposers),[]);e.__xote_disposers=n.concat([t])}function G(e){let t=e.__xote_disposers;t!=null&&(t.forEach(r=>r.dispose()),e.__xote_disposers=[]),Array.from(e.childNodes||[]).forEach(G)}function $(e){switch(e.TAG){case"Element":let t=document.createElement(e.tag);return e.attrs.forEach(s=>{let S=s[1],y=s[0];switch(S.TAG){case"Static":t.setAttribute(y,S._0);return;case"SignalValue":let N=S._0;t.setAttribute(y,o.peek(N));let wt=E.run(()=>{let x=o.get(N);t.setAttribute(y,x)});return w(t,wt);case"Compute":let $t=S._0,ee=m.make(()=>$t());t.setAttribute(y,o.peek(ee));let Ct=E.run(()=>{let x=o.get(ee);t.setAttribute(y,x)});return w(t,Ct)}}),e.events.forEach(s=>{t.addEventListener(s[0],s[1])}),e.children.forEach(s=>{let S=$(s);t.appendChild(S)}),t;case"Text":return document.createTextNode(e._0);case"SignalText":let n=e._0,r=document.createTextNode(o.peek(n)),u=E.run(()=>{let s=o.get(n);r.textContent=s});return w(r,u),r;case"Fragment":let l=document.createDocumentFragment();return e._0.forEach(s=>{let S=$(s);l.appendChild(S)}),l;case"SignalFragment":let c=e._0,i=document.createElement("div");i.setAttribute("data-signal-fragment","true"),i.setAttribute("style","display: contents");let d=E.run(()=>{let s=o.get(c);Array.from(i.childNodes||[]).forEach(G),i.innerHTML="",s.forEach(y=>{let N=$(y);i.appendChild(N)})});return w(i,d),i}}function Y(e,t){let n=$(e);t.appendChild(n)}function Ue(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Y(e,n)}const Je=Object.freeze(Object.defineProperty({__proto__:null,a:Q,addDisposer:w,attr:K,button:Le,computedAttr:je,disposeElement:G,div:xe,element:p,fragment:Ge,h1:Be,h2:ze,h3:We,input:Ve,li:He,list:De,mount:Y,mountById:Ue,p:Xe,render:$,signalAttr:Ie,signalFragment:R,span:Fe,text:Pe,textSignal:Re,ul:qe},Symbol.toStringTag,{value:"Module"}));let v=o.make({pathname:"/",search:"",hash:""},void 0,void 0);function D(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ke(){o.set(v,D());let e=t=>o.set(v,D());window.addEventListener("popstate",e)}function Z(e,t,n,r){let u=t!==void 0?t:"",l=n!==void 0?n:"",c={pathname:e,search:u,hash:l},i=e+u+l,d={};window.history.pushState(d,"",i),o.set(v,c)}function Qe(e,t,n,r){let u=t!==void 0?t:"",l=n!==void 0?n:"",c={pathname:e,search:u,hash:l},i=e+u+l,d={};window.history.replaceState(d,"",i),o.set(v,c)}function Ye(e,t){return R(m.make(()=>{let n=o.get(v),r=P(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]}))}function Ze(e){return R(m.make(()=>{let t=o.get(v),n=le(e,r=>{let u=P(r.pattern,t.pathname);if(typeof u=="object")return r.render(u._0)});return n!==void 0?[n]:[]}))}function et(e,t,n,r){let u=t!==void 0?t:[],l=n!==void 0?n:[],c=i=>{i.preventDefault(),Z(e,void 0,void 0)};return Q(u.concat([K("href",e)]),[["click",c]],l)}const tt=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Route:void 0,getCurrentLocation:D,init:Ke,link:et,location:v,push:Z,replace:Qe,route:Ye,routes:Ze},Symbol.toStringTag,{value:"Module"}));let nt=o.Id,rt=o.Scheduler,ut=o.make,lt=o.get,it=o.peek,ot=o.set,ct=o.update,at=o.batch,dt=o.untrack,ft={Id:nt,Scheduler:rt,make:ut,get:lt,peek:it,set:ot,update:ct,batch:at,untrack:dt},st=m.Id,pt=m.Signal,ht=m.Observer,mt=m.Scheduler,_t=m.make,St=m.dispose,gt={Id:st,Signal:pt,Observer:ht,Scheduler:mt,make:_t,dispose:St},Et=E.Id,bt=E.Observer,vt=E.Scheduler,yt=E.run,Tt={Id:Et,Observer:bt,Scheduler:vt,run:yt},kt=Je,At=Me,Ot=tt;h.Component=kt,h.Computed=gt,h.Effect=Tt,h.Route=At,h.Router=Ot,h.Signal=ft,Object.defineProperty(h,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.0",
3
+ "version": "4.2.0",
4
4
  "repository": {
5
5
  "url": "https://github.com/brnrdog/xote"
6
6
  },
@@ -71,7 +71,7 @@
71
71
  "@semantic-release/github": "^12.0.0",
72
72
  "@semantic-release/npm": "^13.1.1",
73
73
  "@semantic-release/release-notes-generator": "^14.1.0",
74
- "glob": "^11.0.3",
74
+ "glob": "^11.1.0",
75
75
  "rescript": "^12.0.0",
76
76
  "semantic-release": "^25.0.1",
77
77
  "vite": "^7.1.12"