xote 4.4.2 → 4.4.3
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.cjs +1 -1
- package/dist/xote.mjs +113 -102
- package/dist/xote.umd.js +1 -1
- package/package.json +1 -1
- package/src/Xote__Component.res +10 -0
- package/src/Xote__Component.res.mjs +15 -0
package/dist/xote.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let J={contents:0};function Y(){return J.contents=J.contents+1|0,J.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 xe(e){if(e!=null)return Pe(e)}function ce(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?ce(e):t}function De(e,t,n){return e.reduce(n,t)}function Fe(e,t){let n=e.length,r=new Array(n),l=0;for(let u=0;u<n;++u){let a=e[u],o=t(a);o!==void 0&&(r[l]=ce(o),l=l+1|0)}return r.length=l,r}function Le(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,R=new Map,G=new Map,p={contents:void 0},j=new Set,k={contents:!1},y={contents:!1};function ee(e){if(R.get(e)===void 0){R.set(e,new Set);return}}function Ge(e,t){let n=R.get(e);if(n!==void 0){n.forEach(t);return}}function Be(e,t){let n=R.get(e);if(n!==void 0){n.add(t);return}}function Ve(e,t){let n=R.get(e);if(n!==void 0){n.delete(t);return}}function ze(e){return Array.from(Z(R.get(e),new Set).values())}function de(e,t){let n=p.contents;p.contents=e;try{let r=t();return p.contents=n,r}catch(r){throw p.contents=n,r}}function We(e){let t=p.contents;p.contents=void 0;try{let n=e();return p.contents=t,n}catch(n){throw p.contents=t,n}}function Ke(e){let t=p.contents;return t!==void 0?t===e:!1}function Xe(e){if(!k.contents){k.contents=!0;try{e(),k.contents=!1;return}catch(t){throw k.contents=!1,t}}}function qe(e,t){ee(t);let n=Ke(e),r=h.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),Be(t,e)}function P(e){e.deps.forEach(t=>Ve(t,e.id)),e.deps.clear()}function He(e){let t=G.get(e);if(t===void 0)return;G.delete(e);let n=h.get(t);if(n!==void 0){P(n),h.delete(t);return}}function se(e){return De(e,0,(t,n)=>n>t?n:t)}function Ue(e){let t=[];return e.deps.forEach(n=>Ge(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}})),se(t)+1|0}function Je(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}}),se(t)+1|0}function W(e){return typeof e.kind=="object"?Je(e):Ue(e)}function Qe(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 u=typeof n.kind=="object"?0:1,o=typeof r.kind=="object"?0:1,c=u-o|0;return c!==0?c:n.level-r.level|0}function Ye(e){y.contents=!0,P(e),de(e.id,()=>{e.run(),y.contents=!1}),e.level=W(e)}function ae(){for(;j.size>0;){let e=Array.from(j.values());j.clear(),e.sort(Qe),e.forEach(t=>{let n=h.get(t);if(n!==void 0)return Ye(n)})}}function fe(e){if(ee(e),ze(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,fe(r.VAL));j.add(t)}),j.size>0)return Xe(ae)}function pe(e){let t=G.get(e);if(t===void 0)return;let n=h.get(t);if(n!==void 0&&n.dirty){y.contents=!0,P(n),de(t,()=>{n.run(),n.dirty=!1,y.contents=!1}),n.level=W(n);return}}function Ze(e){let t=k.contents;k.contents=!0;try{let n=e();return t||(k.contents=!1,j.size>0&&ae()),n}catch(n){throw t||(k.contents=!1),n}}let et=We,tt=ee;function me(e,t,n){let r=Y();return tt(r),{id:r,value:{contents:e},version:{contents:0},equals:Z(n,(l,u)=>l===u),name:t}}function nt(e){pe(e.id);let t=p.contents;return t!==void 0&&qe(t,e.id),e.value.contents}function rt(e){return pe(e.id),e.value.contents}function he(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,fe(e.id)}function lt(e,t){he(e,t(e.value.contents))}let ut,it,ot=Ze,ct=et;const dt=Object.freeze(Object.defineProperty({__proto__:null,Id:ut,Scheduler:it,batch:ot,get:nt,make:me,peek:rt,set:he,untrack:ct,update:lt},Symbol.toStringTag,{value:"Module"}));function _e(e,t,n,r){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0,name:r}}function st(e,t){let n=Y(),r={contents:void 0},u=_e(n,"Effect",()=>{let c=r.contents;c!==void 0&&c(),r.contents=e()},t);h.set(n,u),y.contents=!0,P(u);let a=p.contents;p.contents=n;try{u.run(),y.contents=!1}catch(c){throw p.contents=a,y.contents=!1,c}return p.contents=a,u.level=W(u),{dispose:()=>{let c=h.get(n);if(c===void 0)return;let x=r.contents;x!==void 0&&x(),P(c),h.delete(n)}}}let at,ft,pt;const mt=Object.freeze(Object.defineProperty({__proto__:null,Id:at,Observer:ft,Scheduler:pt,run:st},Symbol.toStringTag,{value:"Module"}));function ht(e,t){let n=me(void 0,t,void 0),r=Y(),l=()=>{let o=e();n.value.contents=o},u=_e(r,{NAME:"Computed",VAL:n.id},l,void 0);h.set(r,u),y.contents=!0,P(u);let a=p.contents;p.contents=r;try{u.run(),u.dirty=!1,y.contents=!1}catch(o){throw p.contents=a,y.contents=!1,o}return p.contents=a,u.level=W(u),G.set(n.id,r),n}function _t(e){He(e.id)}let gt,St,Et,vt;const yt=Object.freeze(Object.defineProperty({__proto__:null,Id:gt,Observer:Et,Scheduler:vt,Signal:St,dispose:_t,make:ht},Symbol.toStringTag,{value:"Module"}));let s=dt,S=yt,w=mt;function ge(e){return Fe(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Se(e,t){let n=t.split("/").filter(u=>u!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((u,a)=>{let o=n[a];return u.TAG==="Static"?o===u._0:(r[u._0]=o,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function te(e,t){return Se(ge(e),t)}const bt=Object.freeze(Object.defineProperty({__proto__:null,match:te,matchPath:Se,parsePattern:ge},Symbol.toStringTag,{value:"Module"}));function wt(e,t){delete e[t]}function C(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"value":e.value=n;return;default:e.setAttribute(t,n);return}}let kt={setAttrOrProp:C},z={contents:void 0};function Ot(){return{disposers:[],computeds:[]}}function N(e,t){let n=z.contents;z.contents=e;let r=t();return z.contents=n,r}function M(e,t){e.disposers.push(t)}function Ee(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>S.dispose(t))}function I(e,t){e.__xote_owner__=t}function ve(e){return xe(e.__xote_owner__)}let Tt={currentOwner:z,createOwner:Ot,runWithOwner:N,addDisposer:M,disposeOwner:Ee,setOwner:I,getOwner:ve};function ye(e,t){return[e,{TAG:"Static",_0:t}]}function be(e,t){return[e,{TAG:"SignalValue",_0:t}]}function we(e,t){return[e,{TAG:"Compute",_0:t}]}let At={$$static:ye,signal:be,computed:we};function L(e){let t=ve(e);t!==void 0&&Ee(t),Array.from(e.childNodes||[]).forEach(L)}function b(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=document.createElement(e.tag),u={disposers:[],computeds:[]};return I(l,u),N(u,()=>{r.forEach(i=>{let m=i[1],g=i[0];switch(m.TAG){case"Static":return C(l,g,m._0);case"SignalValue":let E=m._0;C(l,g,s.peek(E));let v=w.run(()=>{C(l,g,s.get(E))},void 0);return M(u,v);case"Compute":let F=m._0;C(l,g,F());let $=w.run(()=>{C(l,g,F())},void 0);return M(u,$)}}),n.forEach(i=>{l.addEventListener(i[0],i[1])}),t.forEach(i=>{let m=b(i);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let a=e._0,o=document.createTextNode(s.peek(a)),c={disposers:[],computeds:[]};return I(o,c),N(c,()=>{let i=w.run(()=>{o.textContent=s.get(a)},void 0);M(c,i)}),o;case"Fragment":let x=document.createDocumentFragment();return e._0.forEach(i=>{let m=b(i);x.appendChild(m)}),x;case"SignalFragment":let $e=e._0,K={disposers:[],computeds:[]},A=document.createElement("div");return A.setAttribute("style","display: contents"),I(A,K),N(K,()=>{let i=w.run(()=>{let m=s.get($e);Array.from(A.childNodes||[]).forEach(L),A.innerHTML="",m.forEach(E=>{let v=b(E);A.appendChild(v)})},void 0);M(K,i)}),A;case"LazyComponent":let re={disposers:[],computeds:[]},Ce=N(re,e._0),le=b(Ce);return I(le,re),le;case"KeyedList":let X=e.renderItem,q=e.keyFn,ue=e.signal,H={disposers:[],computeds:[]},U=document.createComment(" keyed-list-start "),D=document.createComment(" keyed-list-end ");I(U,H);let O={},Ne=()=>{let i=D.parentNode;if(i==null)return;let m=s.get(ue),g={};m.forEach(d=>{g[q(d)]=d});let E=[];Object.keys(O).forEach(d=>{if(g[d]===void 0){E.push(d);return}}),E.forEach(d=>{let f=O[d];if(f!==void 0){L(f.element),f.element.remove(),wt(O,d);return}});let v=[],F={};m.forEach(d=>{let f=q(d),V=O[f];if(V!==void 0){if(V.item!==d){F[f]=!0;let je=X(d),Re=b(je),oe={key:f,item:d,element:Re};v.push(oe),O[f]=oe;return}v.push(V);return}let Me=X(d),Ie=b(Me),ie={key:f,item:d,element:Ie};v.push(ie),O[f]=ie});let $={contents:U.nextSibling};v.forEach(d=>{let f=$.contents;if(f==null){i.insertBefore(d.element,D);return}if(f===D){i.insertBefore(d.element,D);return}if(f===d.element){$.contents=f.nextSibling;return}Z(F[d.key],!1)?(L(f),i.replaceChild(d.element,f),$.contents=d.element.nextSibling):(i.insertBefore(d.element,f),$.contents=d.element.nextSibling)})},B=document.createDocumentFragment();return B.appendChild(U),s.peek(ue).forEach(i=>{let m=q(i),g=X(i),E=b(g),v={key:m,item:i,element:E};O[m]=v,B.appendChild(E)}),B.appendChild(D),N(H,()=>{let i=w.run(()=>{Ne()},void 0);M(H,i)}),B}}let $t={disposeElement:L,render:b};function Ct(e){return{TAG:"Text",_0:e}}function Nt(e){return{TAG:"SignalText",_0:S.make(e,void 0)}}function Mt(e){return{TAG:"Fragment",_0:e}}function ne(e){return{TAG:"SignalFragment",_0:e}}function It(e,t){return{TAG:"SignalFragment",_0:S.make(()=>s.get(e).map(t),void 0)}}function jt(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function _(e,t,n,r,l){let u=t!==void 0?t:[].map(c=>c),a=n!==void 0?n:[].map(c=>c),o=r!==void 0?r:[].map(c=>c);return{TAG:"Element",tag:e,attrs:u,events:a,children:o}}function Rt(e,t,n,r){return _("div",e,t,n)}function Pt(e,t,n,r){return _("span",e,t,n)}function xt(e,t,n,r){return _("button",e,t,n)}function Dt(e,t,n){return _("input",e,t,void 0)}function Ft(e,t,n,r){return _("h1",e,t,n)}function Lt(e,t,n,r){return _("h2",e,t,n)}function Gt(e,t,n,r){return _("h3",e,t,n)}function Bt(e,t,n,r){return _("p",e,t,n)}function Vt(e,t,n,r){return _("ul",e,t,n)}function zt(e,t,n,r){return _("li",e,t,n)}function ke(e,t,n,r){return _("a",e,t,n)}function Oe(e,t){let n=b(e);t.appendChild(n)}function Wt(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return Oe(e,n)}let Te=ye,Kt=be,Xt=we;const qt=Object.freeze(Object.defineProperty({__proto__:null,Attributes:At,DOM:kt,Reactivity:Tt,Render:$t,a:ke,attr:Te,button:xt,computedAttr:Xt,div:Rt,element:_,fragment:Mt,h1:Ft,h2:Lt,h3:Gt,input:Dt,keyedList:jt,li:zt,list:It,mount:Oe,mountById:Wt,p:Bt,signalAttr:Kt,signalFragment:ne,span:Pt,text:Ct,textSignal:Nt,ul:Vt},Symbol.toStringTag,{value:"Module"}));let T=s.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(){s.set(T,Q());let e=t=>s.set(T,Q());window.addEventListener("popstate",e)}function Ae(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",a={pathname:e,search:l,hash:u},o=e+l+u,c={};window.history.pushState(c,"",o),s.set(T,a)}function Ut(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",a={pathname:e,search:l,hash:u},o=e+l+u,c={};window.history.replaceState(c,"",o),s.set(T,a)}function Jt(e,t){return ne(S.make(()=>{let n=s.get(T),r=te(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Qt(e){return ne(S.make(()=>{let t=s.get(T),n=Le(e,r=>{let l=te(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function Yt(e,t,n,r){let l=t!==void 0?t:[],u=n!==void 0?n:[],a=o=>{o.preventDefault(),Ae(e,void 0,void 0)};return ke(l.concat([Te("href",e)]),[["click",a]],u)}let Zt,en;const tn=Object.freeze(Object.defineProperty({__proto__:null,Component:Zt,Route:en,getCurrentLocation:Q,init:Ht,link:Yt,location:T,push:Ae,replace:Ut,route:Jt,routes:Qt},Symbol.toStringTag,{value:"Module"}));let nn=s.Id,rn=s.Scheduler,ln=s.make,un=s.get,on=s.peek,cn=s.set,dn=s.update,sn=s.batch,an=s.untrack,fn={Id:nn,Scheduler:rn,make:ln,get:un,peek:on,set:cn,update:dn,batch:sn,untrack:an},pn=S.Id,mn=S.Signal,hn=S.Observer,_n=S.Scheduler,gn=S.make,Sn=S.dispose,En={Id:pn,Signal:mn,Observer:hn,Scheduler:_n,make:gn,dispose:Sn},vn=w.Id,yn=w.Observer,bn=w.Scheduler,wn=w.run,kn={Id:vn,Observer:yn,Scheduler:bn,run:wn},On=qt,Tn=bt,An=tn;exports.Component=On;exports.Computed=En;exports.Effect=kn;exports.Route=Tn;exports.Router=An;exports.Signal=fn;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let J={contents:0};function Y(){return J.contents=J.contents+1|0,J.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 xe(e){if(e!=null)return Pe(e)}function ce(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?ce(e):t}function De(e,t,n){return e.reduce(n,t)}function Fe(e,t){let n=e.length,r=new Array(n),l=0;for(let u=0;u<n;++u){let s=e[u],o=t(s);o!==void 0&&(r[l]=ce(o),l=l+1|0)}return r.length=l,r}function Le(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,R=new Map,G=new Map,p={contents:void 0},j=new Set,O={contents:!1},v={contents:!1};function ee(e){if(R.get(e)===void 0){R.set(e,new Set);return}}function Ge(e,t){let n=R.get(e);if(n!==void 0){n.forEach(t);return}}function Be(e,t){let n=R.get(e);if(n!==void 0){n.add(t);return}}function Ve(e,t){let n=R.get(e);if(n!==void 0){n.delete(t);return}}function ze(e){return Array.from(Z(R.get(e),new Set).values())}function de(e,t){let n=p.contents;p.contents=e;try{let r=t();return p.contents=n,r}catch(r){throw p.contents=n,r}}function We(e){let t=p.contents;p.contents=void 0;try{let n=e();return p.contents=t,n}catch(n){throw p.contents=t,n}}function qe(e){let t=p.contents;return t!==void 0?t===e:!1}function Ke(e){if(!O.contents){O.contents=!0;try{e(),O.contents=!1;return}catch(t){throw O.contents=!1,t}}}function Xe(e,t){ee(t);let n=qe(e),r=h.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),Be(t,e)}function P(e){e.deps.forEach(t=>Ve(t,e.id)),e.deps.clear()}function He(e){let t=G.get(e);if(t===void 0)return;G.delete(e);let n=h.get(t);if(n!==void 0){P(n),h.delete(t);return}}function ae(e){return De(e,0,(t,n)=>n>t?n:t)}function Ue(e){let t=[];return e.deps.forEach(n=>Ge(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}})),ae(t)+1|0}function Je(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}}),ae(t)+1|0}function W(e){return typeof e.kind=="object"?Je(e):Ue(e)}function Qe(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 u=typeof n.kind=="object"?0:1,o=typeof r.kind=="object"?0:1,c=u-o|0;return c!==0?c:n.level-r.level|0}function Ye(e){v.contents=!0,P(e),de(e.id,()=>{e.run(),v.contents=!1}),e.level=W(e)}function se(){for(;j.size>0;){let e=Array.from(j.values());j.clear(),e.sort(Qe),e.forEach(t=>{let n=h.get(t);if(n!==void 0)return Ye(n)})}}function fe(e){if(ee(e),ze(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,fe(r.VAL));j.add(t)}),j.size>0)return Ke(se)}function pe(e){let t=G.get(e);if(t===void 0)return;let n=h.get(t);if(n!==void 0&&n.dirty){v.contents=!0,P(n),de(t,()=>{n.run(),n.dirty=!1,v.contents=!1}),n.level=W(n);return}}function Ze(e){let t=O.contents;O.contents=!0;try{let n=e();return t||(O.contents=!1,j.size>0&&se()),n}catch(n){throw t||(O.contents=!1),n}}let et=We,tt=ee;function me(e,t,n){let r=Y();return tt(r),{id:r,value:{contents:e},version:{contents:0},equals:Z(n,(l,u)=>l===u),name:t}}function nt(e){pe(e.id);let t=p.contents;return t!==void 0&&Xe(t,e.id),e.value.contents}function rt(e){return pe(e.id),e.value.contents}function he(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,fe(e.id)}function lt(e,t){he(e,t(e.value.contents))}let ut,it,ot=Ze,ct=et;const dt=Object.freeze(Object.defineProperty({__proto__:null,Id:ut,Scheduler:it,batch:ot,get:nt,make:me,peek:rt,set:he,untrack:ct,update:lt},Symbol.toStringTag,{value:"Module"}));function _e(e,t,n,r){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0,name:r}}function at(e,t){let n=Y(),r={contents:void 0},u=_e(n,"Effect",()=>{let c=r.contents;c!==void 0&&c(),r.contents=e()},t);h.set(n,u),v.contents=!0,P(u);let s=p.contents;p.contents=n;try{u.run(),v.contents=!1}catch(c){throw p.contents=s,v.contents=!1,c}return p.contents=s,u.level=W(u),{dispose:()=>{let c=h.get(n);if(c===void 0)return;let x=r.contents;x!==void 0&&x(),P(c),h.delete(n)}}}let st,ft,pt;const mt=Object.freeze(Object.defineProperty({__proto__:null,Id:st,Observer:ft,Scheduler:pt,run:at},Symbol.toStringTag,{value:"Module"}));function ht(e,t){let n=me(void 0,t,void 0),r=Y(),l=()=>{let o=e();n.value.contents=o},u=_e(r,{NAME:"Computed",VAL:n.id},l,void 0);h.set(r,u),v.contents=!0,P(u);let s=p.contents;p.contents=r;try{u.run(),u.dirty=!1,v.contents=!1}catch(o){throw p.contents=s,v.contents=!1,o}return p.contents=s,u.level=W(u),G.set(n.id,r),n}function _t(e){He(e.id)}let gt,St,Et,bt;const vt=Object.freeze(Object.defineProperty({__proto__:null,Id:gt,Observer:Et,Scheduler:bt,Signal:St,dispose:_t,make:ht},Symbol.toStringTag,{value:"Module"}));let a=dt,S=vt,w=mt;function ge(e){return Fe(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function Se(e,t){let n=t.split("/").filter(u=>u!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((u,s)=>{let o=n[s];return u.TAG==="Static"?o===u._0:(r[u._0]=o,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function te(e,t){return Se(ge(e),t)}const yt=Object.freeze(Object.defineProperty({__proto__:null,match:te,matchPath:Se,parsePattern:ge},Symbol.toStringTag,{value:"Module"}));function wt(e,t){delete e[t]}function C(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"multiple":case"readonly":case"required":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let Ot={setAttrOrProp:C},z={contents:void 0};function kt(){return{disposers:[],computeds:[]}}function N(e,t){let n=z.contents;z.contents=e;let r=t();return z.contents=n,r}function M(e,t){e.disposers.push(t)}function Ee(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>S.dispose(t))}function I(e,t){e.__xote_owner__=t}function be(e){return xe(e.__xote_owner__)}let Tt={currentOwner:z,createOwner:kt,runWithOwner:N,addDisposer:M,disposeOwner:Ee,setOwner:I,getOwner:be};function ve(e,t){return[e,{TAG:"Static",_0:t}]}function ye(e,t){return[e,{TAG:"SignalValue",_0:t}]}function we(e,t){return[e,{TAG:"Compute",_0:t}]}let At={$$static:ve,signal:ye,computed:we};function L(e){let t=be(e);t!==void 0&&Ee(t),Array.from(e.childNodes||[]).forEach(L)}function y(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=document.createElement(e.tag),u={disposers:[],computeds:[]};return I(l,u),N(u,()=>{r.forEach(i=>{let m=i[1],g=i[0];switch(m.TAG){case"Static":return C(l,g,m._0);case"SignalValue":let E=m._0;C(l,g,a.peek(E));let b=w.run(()=>{C(l,g,a.get(E))},void 0);return M(u,b);case"Compute":let F=m._0;C(l,g,F());let $=w.run(()=>{C(l,g,F())},void 0);return M(u,$)}}),n.forEach(i=>{l.addEventListener(i[0],i[1])}),t.forEach(i=>{let m=y(i);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let s=e._0,o=document.createTextNode(a.peek(s)),c={disposers:[],computeds:[]};return I(o,c),N(c,()=>{let i=w.run(()=>{o.textContent=a.get(s)},void 0);M(c,i)}),o;case"Fragment":let x=document.createDocumentFragment();return e._0.forEach(i=>{let m=y(i);x.appendChild(m)}),x;case"SignalFragment":let $e=e._0,q={disposers:[],computeds:[]},A=document.createElement("div");return A.setAttribute("style","display: contents"),I(A,q),N(q,()=>{let i=w.run(()=>{let m=a.get($e);Array.from(A.childNodes||[]).forEach(L),A.innerHTML="",m.forEach(E=>{let b=y(E);A.appendChild(b)})},void 0);M(q,i)}),A;case"LazyComponent":let re={disposers:[],computeds:[]},Ce=N(re,e._0),le=y(Ce);return I(le,re),le;case"KeyedList":let K=e.renderItem,X=e.keyFn,ue=e.signal,H={disposers:[],computeds:[]},U=document.createComment(" keyed-list-start "),D=document.createComment(" keyed-list-end ");I(U,H);let k={},Ne=()=>{let i=D.parentNode;if(i==null)return;let m=a.get(ue),g={};m.forEach(d=>{g[X(d)]=d});let E=[];Object.keys(k).forEach(d=>{if(g[d]===void 0){E.push(d);return}}),E.forEach(d=>{let f=k[d];if(f!==void 0){L(f.element),f.element.remove(),wt(k,d);return}});let b=[],F={};m.forEach(d=>{let f=X(d),V=k[f];if(V!==void 0){if(V.item!==d){F[f]=!0;let je=K(d),Re=y(je),oe={key:f,item:d,element:Re};b.push(oe),k[f]=oe;return}b.push(V);return}let Me=K(d),Ie=y(Me),ie={key:f,item:d,element:Ie};b.push(ie),k[f]=ie});let $={contents:U.nextSibling};b.forEach(d=>{let f=$.contents;if(f==null){i.insertBefore(d.element,D);return}if(f===D){i.insertBefore(d.element,D);return}if(f===d.element){$.contents=f.nextSibling;return}Z(F[d.key],!1)?(L(f),i.replaceChild(d.element,f),$.contents=d.element.nextSibling):(i.insertBefore(d.element,f),$.contents=d.element.nextSibling)})},B=document.createDocumentFragment();return B.appendChild(U),a.peek(ue).forEach(i=>{let m=X(i),g=K(i),E=y(g),b={key:m,item:i,element:E};k[m]=b,B.appendChild(E)}),B.appendChild(D),N(H,()=>{let i=w.run(()=>{Ne()},void 0);M(H,i)}),B}}let $t={disposeElement:L,render:y};function Ct(e){return{TAG:"Text",_0:e}}function Nt(e){return{TAG:"SignalText",_0:S.make(e,void 0)}}function Mt(e){return{TAG:"Fragment",_0:e}}function ne(e){return{TAG:"SignalFragment",_0:e}}function It(e,t){return{TAG:"SignalFragment",_0:S.make(()=>a.get(e).map(t),void 0)}}function jt(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function _(e,t,n,r,l){let u=t!==void 0?t:[].map(c=>c),s=n!==void 0?n:[].map(c=>c),o=r!==void 0?r:[].map(c=>c);return{TAG:"Element",tag:e,attrs:u,events:s,children:o}}function Rt(e,t,n,r){return _("div",e,t,n)}function Pt(e,t,n,r){return _("span",e,t,n)}function xt(e,t,n,r){return _("button",e,t,n)}function Dt(e,t,n){return _("input",e,t,void 0)}function Ft(e,t,n,r){return _("h1",e,t,n)}function Lt(e,t,n,r){return _("h2",e,t,n)}function Gt(e,t,n,r){return _("h3",e,t,n)}function Bt(e,t,n,r){return _("p",e,t,n)}function Vt(e,t,n,r){return _("ul",e,t,n)}function zt(e,t,n,r){return _("li",e,t,n)}function Oe(e,t,n,r){return _("a",e,t,n)}function ke(e,t){let n=y(e);t.appendChild(n)}function Wt(e,t){let n=document.getElementById(t);if(n==null){console.error("Container element not found: "+t);return}else return ke(e,n)}let Te=ve,qt=ye,Kt=we;const Xt=Object.freeze(Object.defineProperty({__proto__:null,Attributes:At,DOM:Ot,Reactivity:Tt,Render:$t,a:Oe,attr:Te,button:xt,computedAttr:Kt,div:Rt,element:_,fragment:Mt,h1:Ft,h2:Lt,h3:Gt,input:Dt,keyedList:jt,li:zt,list:It,mount:ke,mountById:Wt,p:Bt,signalAttr:qt,signalFragment:ne,span:Pt,text:Ct,textSignal:Nt,ul:Vt},Symbol.toStringTag,{value:"Module"}));let T=a.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(){a.set(T,Q());let e=t=>a.set(T,Q());window.addEventListener("popstate",e)}function Ae(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",s={pathname:e,search:l,hash:u},o=e+l+u,c={};window.history.pushState(c,"",o),a.set(T,s)}function Ut(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",s={pathname:e,search:l,hash:u},o=e+l+u,c={};window.history.replaceState(c,"",o),a.set(T,s)}function Jt(e,t){return ne(S.make(()=>{let n=a.get(T),r=te(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Qt(e){return ne(S.make(()=>{let t=a.get(T),n=Le(e,r=>{let l=te(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function Yt(e,t,n,r){let l=t!==void 0?t:[],u=n!==void 0?n:[],s=o=>{o.preventDefault(),Ae(e,void 0,void 0)};return Oe(l.concat([Te("href",e)]),[["click",s]],u)}let Zt,en;const tn=Object.freeze(Object.defineProperty({__proto__:null,Component:Zt,Route:en,getCurrentLocation:Q,init:Ht,link:Yt,location:T,push:Ae,replace:Ut,route:Jt,routes:Qt},Symbol.toStringTag,{value:"Module"}));let nn=a.Id,rn=a.Scheduler,ln=a.make,un=a.get,on=a.peek,cn=a.set,dn=a.update,an=a.batch,sn=a.untrack,fn={Id:nn,Scheduler:rn,make:ln,get:un,peek:on,set:cn,update:dn,batch:an,untrack:sn},pn=S.Id,mn=S.Signal,hn=S.Observer,_n=S.Scheduler,gn=S.make,Sn=S.dispose,En={Id:pn,Signal:mn,Observer:hn,Scheduler:_n,make:gn,dispose:Sn},bn=w.Id,vn=w.Observer,yn=w.Scheduler,wn=w.run,On={Id:bn,Observer:vn,Scheduler:yn,run:wn},kn=Xt,Tn=yt,An=tn;exports.Component=kn;exports.Computed=En;exports.Effect=On;exports.Route=Tn;exports.Router=An;exports.Signal=fn;
|
package/dist/xote.mjs
CHANGED
|
@@ -33,7 +33,7 @@ function De(e, t, n) {
|
|
|
33
33
|
function Fe(e, t) {
|
|
34
34
|
let n = e.length, r = new Array(n), l = 0;
|
|
35
35
|
for (let u = 0; u < n; ++u) {
|
|
36
|
-
let
|
|
36
|
+
let s = e[u], o = t(s);
|
|
37
37
|
o !== void 0 && (r[l] = ce(o), l = l + 1 | 0);
|
|
38
38
|
}
|
|
39
39
|
return r.length = l, r;
|
|
@@ -54,7 +54,7 @@ let h = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), G = /* @__PURE
|
|
|
54
54
|
contents: void 0
|
|
55
55
|
}, j = /* @__PURE__ */ new Set(), k = {
|
|
56
56
|
contents: !1
|
|
57
|
-
},
|
|
57
|
+
}, v = {
|
|
58
58
|
contents: !1
|
|
59
59
|
};
|
|
60
60
|
function ee(e) {
|
|
@@ -107,11 +107,11 @@ function We(e) {
|
|
|
107
107
|
throw p.contents = t, n;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
function
|
|
110
|
+
function qe(e) {
|
|
111
111
|
let t = p.contents;
|
|
112
112
|
return t !== void 0 ? t === e : !1;
|
|
113
113
|
}
|
|
114
|
-
function
|
|
114
|
+
function Ke(e) {
|
|
115
115
|
if (!k.contents) {
|
|
116
116
|
k.contents = !0;
|
|
117
117
|
try {
|
|
@@ -122,9 +122,9 @@ function Xe(e) {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function Xe(e, t) {
|
|
126
126
|
ee(t);
|
|
127
|
-
let n =
|
|
127
|
+
let n = qe(e), r = h.get(e);
|
|
128
128
|
if (n && r !== void 0 && !r.deps.has(t))
|
|
129
129
|
return r.deps.add(t), Be(t, e);
|
|
130
130
|
}
|
|
@@ -142,7 +142,7 @@ function He(e) {
|
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
function
|
|
145
|
+
function ae(e) {
|
|
146
146
|
return De(e, 0, (t, n) => n > t ? n : t);
|
|
147
147
|
}
|
|
148
148
|
function Ue(e) {
|
|
@@ -157,7 +157,7 @@ function Ue(e) {
|
|
|
157
157
|
t.push(l.level);
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
|
-
})),
|
|
160
|
+
})), ae(t) + 1 | 0;
|
|
161
161
|
}
|
|
162
162
|
function Je(e) {
|
|
163
163
|
let t = [];
|
|
@@ -170,7 +170,7 @@ function Je(e) {
|
|
|
170
170
|
t.push(l.level);
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
|
-
}),
|
|
173
|
+
}), ae(t) + 1 | 0;
|
|
174
174
|
}
|
|
175
175
|
function W(e) {
|
|
176
176
|
return typeof e.kind == "object" ? Je(e) : Ue(e);
|
|
@@ -185,11 +185,11 @@ function Qe(e, t) {
|
|
|
185
185
|
return c !== 0 ? c : n.level - r.level | 0;
|
|
186
186
|
}
|
|
187
187
|
function Ye(e) {
|
|
188
|
-
|
|
189
|
-
e.run(),
|
|
188
|
+
v.contents = !0, P(e), de(e.id, () => {
|
|
189
|
+
e.run(), v.contents = !1;
|
|
190
190
|
}), e.level = W(e);
|
|
191
191
|
}
|
|
192
|
-
function
|
|
192
|
+
function se() {
|
|
193
193
|
for (; j.size > 0; ) {
|
|
194
194
|
let e = Array.from(j.values());
|
|
195
195
|
j.clear(), e.sort(Qe), e.forEach((t) => {
|
|
@@ -209,7 +209,7 @@ function fe(e) {
|
|
|
209
209
|
return n.dirty ? void 0 : (n.dirty = !0, fe(r.VAL));
|
|
210
210
|
j.add(t);
|
|
211
211
|
}), j.size > 0)
|
|
212
|
-
return
|
|
212
|
+
return Ke(se);
|
|
213
213
|
}
|
|
214
214
|
function pe(e) {
|
|
215
215
|
let t = G.get(e);
|
|
@@ -217,8 +217,8 @@ function pe(e) {
|
|
|
217
217
|
return;
|
|
218
218
|
let n = h.get(t);
|
|
219
219
|
if (n !== void 0 && n.dirty) {
|
|
220
|
-
|
|
221
|
-
n.run(), n.dirty = !1,
|
|
220
|
+
v.contents = !0, P(n), de(t, () => {
|
|
221
|
+
n.run(), n.dirty = !1, v.contents = !1;
|
|
222
222
|
}), n.level = W(n);
|
|
223
223
|
return;
|
|
224
224
|
}
|
|
@@ -228,7 +228,7 @@ function Ze(e) {
|
|
|
228
228
|
k.contents = !0;
|
|
229
229
|
try {
|
|
230
230
|
let n = e();
|
|
231
|
-
return t || (k.contents = !1, j.size > 0 &&
|
|
231
|
+
return t || (k.contents = !1, j.size > 0 && se()), n;
|
|
232
232
|
} catch (n) {
|
|
233
233
|
throw t || (k.contents = !1), n;
|
|
234
234
|
}
|
|
@@ -251,7 +251,7 @@ function me(e, t, n) {
|
|
|
251
251
|
function nt(e) {
|
|
252
252
|
pe(e.id);
|
|
253
253
|
let t = p.contents;
|
|
254
|
-
return t !== void 0 &&
|
|
254
|
+
return t !== void 0 && Xe(t, e.id), e.value.contents;
|
|
255
255
|
}
|
|
256
256
|
function rt(e) {
|
|
257
257
|
return pe(e.id), e.value.contents;
|
|
@@ -293,22 +293,22 @@ function _e(e, t, n, r) {
|
|
|
293
293
|
name: r
|
|
294
294
|
};
|
|
295
295
|
}
|
|
296
|
-
function
|
|
296
|
+
function at(e, t) {
|
|
297
297
|
let n = Y(), r = {
|
|
298
298
|
contents: void 0
|
|
299
299
|
}, u = _e(n, "Effect", () => {
|
|
300
300
|
let c = r.contents;
|
|
301
301
|
c !== void 0 && c(), r.contents = e();
|
|
302
302
|
}, t);
|
|
303
|
-
h.set(n, u),
|
|
304
|
-
let
|
|
303
|
+
h.set(n, u), v.contents = !0, P(u);
|
|
304
|
+
let s = p.contents;
|
|
305
305
|
p.contents = n;
|
|
306
306
|
try {
|
|
307
|
-
u.run(),
|
|
307
|
+
u.run(), v.contents = !1;
|
|
308
308
|
} catch (c) {
|
|
309
|
-
throw p.contents =
|
|
309
|
+
throw p.contents = s, v.contents = !1, c;
|
|
310
310
|
}
|
|
311
|
-
return p.contents =
|
|
311
|
+
return p.contents = s, u.level = W(u), {
|
|
312
312
|
dispose: () => {
|
|
313
313
|
let c = h.get(n);
|
|
314
314
|
if (c === void 0)
|
|
@@ -318,13 +318,13 @@ function st(e, t) {
|
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
320
|
}
|
|
321
|
-
let
|
|
321
|
+
let st, ft, pt;
|
|
322
322
|
const mt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
323
323
|
__proto__: null,
|
|
324
|
-
Id:
|
|
324
|
+
Id: st,
|
|
325
325
|
Observer: ft,
|
|
326
326
|
Scheduler: pt,
|
|
327
|
-
run:
|
|
327
|
+
run: at
|
|
328
328
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
329
329
|
function ht(e, t) {
|
|
330
330
|
let n = me(void 0, t, void 0), r = Y(), l = () => {
|
|
@@ -334,30 +334,30 @@ function ht(e, t) {
|
|
|
334
334
|
NAME: "Computed",
|
|
335
335
|
VAL: n.id
|
|
336
336
|
}, l, void 0);
|
|
337
|
-
h.set(r, u),
|
|
338
|
-
let
|
|
337
|
+
h.set(r, u), v.contents = !0, P(u);
|
|
338
|
+
let s = p.contents;
|
|
339
339
|
p.contents = r;
|
|
340
340
|
try {
|
|
341
|
-
u.run(), u.dirty = !1,
|
|
341
|
+
u.run(), u.dirty = !1, v.contents = !1;
|
|
342
342
|
} catch (o) {
|
|
343
|
-
throw p.contents =
|
|
343
|
+
throw p.contents = s, v.contents = !1, o;
|
|
344
344
|
}
|
|
345
|
-
return p.contents =
|
|
345
|
+
return p.contents = s, u.level = W(u), G.set(n.id, r), n;
|
|
346
346
|
}
|
|
347
347
|
function _t(e) {
|
|
348
348
|
He(e.id);
|
|
349
349
|
}
|
|
350
|
-
let gt, St, Et,
|
|
351
|
-
const
|
|
350
|
+
let gt, St, Et, bt;
|
|
351
|
+
const vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
352
352
|
__proto__: null,
|
|
353
353
|
Id: gt,
|
|
354
354
|
Observer: Et,
|
|
355
|
-
Scheduler:
|
|
355
|
+
Scheduler: bt,
|
|
356
356
|
Signal: St,
|
|
357
357
|
dispose: _t,
|
|
358
358
|
make: ht
|
|
359
359
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
360
|
-
let
|
|
360
|
+
let a = dt, S = vt, w = mt;
|
|
361
361
|
function ge(e) {
|
|
362
362
|
return Fe(e.split("/"), (t) => {
|
|
363
363
|
if (t !== "")
|
|
@@ -375,8 +375,8 @@ function Se(e, t) {
|
|
|
375
375
|
if (e.length !== n.length)
|
|
376
376
|
return "NoMatch";
|
|
377
377
|
let r = {};
|
|
378
|
-
return e.every((u,
|
|
379
|
-
let o = n[
|
|
378
|
+
return e.every((u, s) => {
|
|
379
|
+
let o = n[s];
|
|
380
380
|
return u.TAG === "Static" ? o === u._0 : (r[u._0] = o, !0);
|
|
381
381
|
}) ? {
|
|
382
382
|
TAG: "Match",
|
|
@@ -386,7 +386,7 @@ function Se(e, t) {
|
|
|
386
386
|
function te(e, t) {
|
|
387
387
|
return Se(ge(e), t);
|
|
388
388
|
}
|
|
389
|
-
const
|
|
389
|
+
const yt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
390
390
|
__proto__: null,
|
|
391
391
|
match: te,
|
|
392
392
|
matchPath: Se,
|
|
@@ -400,6 +400,16 @@ function C(e, t, n) {
|
|
|
400
400
|
case "checked":
|
|
401
401
|
e.checked = n === "true";
|
|
402
402
|
return;
|
|
403
|
+
case "disabled":
|
|
404
|
+
e.disabled = n === "true";
|
|
405
|
+
return;
|
|
406
|
+
case "aria-expanded":
|
|
407
|
+
case "aria-hidden":
|
|
408
|
+
case "aria-selected":
|
|
409
|
+
case "multiple":
|
|
410
|
+
case "readonly":
|
|
411
|
+
case "required":
|
|
412
|
+
break;
|
|
403
413
|
case "value":
|
|
404
414
|
e.value = n;
|
|
405
415
|
return;
|
|
@@ -407,6 +417,7 @@ function C(e, t, n) {
|
|
|
407
417
|
e.setAttribute(t, n);
|
|
408
418
|
return;
|
|
409
419
|
}
|
|
420
|
+
n === "true" ? e.setAttribute(t, "") : e.removeAttribute(t);
|
|
410
421
|
}
|
|
411
422
|
let kt = {
|
|
412
423
|
setAttrOrProp: C
|
|
@@ -434,7 +445,7 @@ function Ee(e) {
|
|
|
434
445
|
function I(e, t) {
|
|
435
446
|
e.__xote_owner__ = t;
|
|
436
447
|
}
|
|
437
|
-
function
|
|
448
|
+
function be(e) {
|
|
438
449
|
return Re(e.__xote_owner__);
|
|
439
450
|
}
|
|
440
451
|
let Tt = {
|
|
@@ -444,9 +455,9 @@ let Tt = {
|
|
|
444
455
|
addDisposer: M,
|
|
445
456
|
disposeOwner: Ee,
|
|
446
457
|
setOwner: I,
|
|
447
|
-
getOwner:
|
|
458
|
+
getOwner: be
|
|
448
459
|
};
|
|
449
|
-
function
|
|
460
|
+
function ve(e, t) {
|
|
450
461
|
return [
|
|
451
462
|
e,
|
|
452
463
|
{
|
|
@@ -455,7 +466,7 @@ function ye(e, t) {
|
|
|
455
466
|
}
|
|
456
467
|
];
|
|
457
468
|
}
|
|
458
|
-
function
|
|
469
|
+
function ye(e, t) {
|
|
459
470
|
return [
|
|
460
471
|
e,
|
|
461
472
|
{
|
|
@@ -474,15 +485,15 @@ function we(e, t) {
|
|
|
474
485
|
];
|
|
475
486
|
}
|
|
476
487
|
let At = {
|
|
477
|
-
$$static:
|
|
478
|
-
signal:
|
|
488
|
+
$$static: ve,
|
|
489
|
+
signal: ye,
|
|
479
490
|
computed: we
|
|
480
491
|
};
|
|
481
492
|
function L(e) {
|
|
482
|
-
let t =
|
|
493
|
+
let t = be(e);
|
|
483
494
|
t !== void 0 && Ee(t), Array.from(e.childNodes || []).forEach(L);
|
|
484
495
|
}
|
|
485
|
-
function
|
|
496
|
+
function y(e) {
|
|
486
497
|
switch (e.TAG) {
|
|
487
498
|
case "Element":
|
|
488
499
|
let t = e.children, n = e.events, r = e.attrs, l = document.createElement(e.tag), u = {
|
|
@@ -497,11 +508,11 @@ function b(e) {
|
|
|
497
508
|
return C(l, g, m._0);
|
|
498
509
|
case "SignalValue":
|
|
499
510
|
let E = m._0;
|
|
500
|
-
C(l, g,
|
|
501
|
-
let
|
|
502
|
-
C(l, g,
|
|
511
|
+
C(l, g, a.peek(E));
|
|
512
|
+
let b = w.run(() => {
|
|
513
|
+
C(l, g, a.get(E));
|
|
503
514
|
}, void 0);
|
|
504
|
-
return M(u,
|
|
515
|
+
return M(u, b);
|
|
505
516
|
case "Compute":
|
|
506
517
|
let F = m._0;
|
|
507
518
|
C(l, g, F());
|
|
@@ -513,52 +524,52 @@ function b(e) {
|
|
|
513
524
|
}), n.forEach((i) => {
|
|
514
525
|
l.addEventListener(i[0], i[1]);
|
|
515
526
|
}), t.forEach((i) => {
|
|
516
|
-
let m =
|
|
527
|
+
let m = y(i);
|
|
517
528
|
l.appendChild(m);
|
|
518
529
|
});
|
|
519
530
|
}), l;
|
|
520
531
|
case "Text":
|
|
521
532
|
return document.createTextNode(e._0);
|
|
522
533
|
case "SignalText":
|
|
523
|
-
let
|
|
534
|
+
let s = e._0, o = document.createTextNode(a.peek(s)), c = {
|
|
524
535
|
disposers: [],
|
|
525
536
|
computeds: []
|
|
526
537
|
};
|
|
527
538
|
return I(o, c), N(c, () => {
|
|
528
539
|
let i = w.run(() => {
|
|
529
|
-
o.textContent =
|
|
540
|
+
o.textContent = a.get(s);
|
|
530
541
|
}, void 0);
|
|
531
542
|
M(c, i);
|
|
532
543
|
}), o;
|
|
533
544
|
case "Fragment":
|
|
534
545
|
let R = document.createDocumentFragment();
|
|
535
546
|
return e._0.forEach((i) => {
|
|
536
|
-
let m =
|
|
547
|
+
let m = y(i);
|
|
537
548
|
R.appendChild(m);
|
|
538
549
|
}), R;
|
|
539
550
|
case "SignalFragment":
|
|
540
|
-
let $e = e._0,
|
|
551
|
+
let $e = e._0, q = {
|
|
541
552
|
disposers: [],
|
|
542
553
|
computeds: []
|
|
543
554
|
}, A = document.createElement("div");
|
|
544
|
-
return A.setAttribute("style", "display: contents"), I(A,
|
|
555
|
+
return A.setAttribute("style", "display: contents"), I(A, q), N(q, () => {
|
|
545
556
|
let i = w.run(() => {
|
|
546
|
-
let m =
|
|
557
|
+
let m = a.get($e);
|
|
547
558
|
Array.from(A.childNodes || []).forEach(L), A.innerHTML = "", m.forEach((E) => {
|
|
548
|
-
let
|
|
549
|
-
A.appendChild(
|
|
559
|
+
let b = y(E);
|
|
560
|
+
A.appendChild(b);
|
|
550
561
|
});
|
|
551
562
|
}, void 0);
|
|
552
|
-
M(
|
|
563
|
+
M(q, i);
|
|
553
564
|
}), A;
|
|
554
565
|
case "LazyComponent":
|
|
555
566
|
let re = {
|
|
556
567
|
disposers: [],
|
|
557
568
|
computeds: []
|
|
558
|
-
}, Ce = N(re, e._0), le =
|
|
569
|
+
}, Ce = N(re, e._0), le = y(Ce);
|
|
559
570
|
return I(le, re), le;
|
|
560
571
|
case "KeyedList":
|
|
561
|
-
let
|
|
572
|
+
let K = e.renderItem, X = e.keyFn, ue = e.signal, H = {
|
|
562
573
|
disposers: [],
|
|
563
574
|
computeds: []
|
|
564
575
|
}, U = document.createComment(" keyed-list-start "), D = document.createComment(" keyed-list-end ");
|
|
@@ -567,9 +578,9 @@ function b(e) {
|
|
|
567
578
|
let i = D.parentNode;
|
|
568
579
|
if (i == null)
|
|
569
580
|
return;
|
|
570
|
-
let m =
|
|
581
|
+
let m = a.get(ue), g = {};
|
|
571
582
|
m.forEach((d) => {
|
|
572
|
-
g[
|
|
583
|
+
g[X(d)] = d;
|
|
573
584
|
});
|
|
574
585
|
let E = [];
|
|
575
586
|
Object.keys(O).forEach((d) => {
|
|
@@ -584,34 +595,34 @@ function b(e) {
|
|
|
584
595
|
return;
|
|
585
596
|
}
|
|
586
597
|
});
|
|
587
|
-
let
|
|
598
|
+
let b = [], F = {};
|
|
588
599
|
m.forEach((d) => {
|
|
589
|
-
let f =
|
|
600
|
+
let f = X(d), V = O[f];
|
|
590
601
|
if (V !== void 0) {
|
|
591
602
|
if (V.item !== d) {
|
|
592
603
|
F[f] = !0;
|
|
593
|
-
let je =
|
|
604
|
+
let je = K(d), xe = y(je), oe = {
|
|
594
605
|
key: f,
|
|
595
606
|
item: d,
|
|
596
607
|
element: xe
|
|
597
608
|
};
|
|
598
|
-
|
|
609
|
+
b.push(oe), O[f] = oe;
|
|
599
610
|
return;
|
|
600
611
|
}
|
|
601
|
-
|
|
612
|
+
b.push(V);
|
|
602
613
|
return;
|
|
603
614
|
}
|
|
604
|
-
let Me =
|
|
615
|
+
let Me = K(d), Ie = y(Me), ie = {
|
|
605
616
|
key: f,
|
|
606
617
|
item: d,
|
|
607
618
|
element: Ie
|
|
608
619
|
};
|
|
609
|
-
|
|
620
|
+
b.push(ie), O[f] = ie;
|
|
610
621
|
});
|
|
611
622
|
let $ = {
|
|
612
623
|
contents: U.nextSibling
|
|
613
624
|
};
|
|
614
|
-
|
|
625
|
+
b.forEach((d) => {
|
|
615
626
|
let f = $.contents;
|
|
616
627
|
if (f == null) {
|
|
617
628
|
i.insertBefore(d.element, D);
|
|
@@ -628,13 +639,13 @@ function b(e) {
|
|
|
628
639
|
Z(F[d.key], !1) ? (L(f), i.replaceChild(d.element, f), $.contents = d.element.nextSibling) : (i.insertBefore(d.element, f), $.contents = d.element.nextSibling);
|
|
629
640
|
});
|
|
630
641
|
}, B = document.createDocumentFragment();
|
|
631
|
-
return B.appendChild(U),
|
|
632
|
-
let m =
|
|
642
|
+
return B.appendChild(U), a.peek(ue).forEach((i) => {
|
|
643
|
+
let m = X(i), g = K(i), E = y(g), b = {
|
|
633
644
|
key: m,
|
|
634
645
|
item: i,
|
|
635
646
|
element: E
|
|
636
647
|
};
|
|
637
|
-
O[m] =
|
|
648
|
+
O[m] = b, B.appendChild(E);
|
|
638
649
|
}), B.appendChild(D), N(H, () => {
|
|
639
650
|
let i = w.run(() => {
|
|
640
651
|
Ne();
|
|
@@ -645,7 +656,7 @@ function b(e) {
|
|
|
645
656
|
}
|
|
646
657
|
let $t = {
|
|
647
658
|
disposeElement: L,
|
|
648
|
-
render:
|
|
659
|
+
render: y
|
|
649
660
|
};
|
|
650
661
|
function Ct(e) {
|
|
651
662
|
return {
|
|
@@ -674,7 +685,7 @@ function ne(e) {
|
|
|
674
685
|
function It(e, t) {
|
|
675
686
|
return {
|
|
676
687
|
TAG: "SignalFragment",
|
|
677
|
-
_0: S.make(() =>
|
|
688
|
+
_0: S.make(() => a.get(e).map(t), void 0)
|
|
678
689
|
};
|
|
679
690
|
}
|
|
680
691
|
function jt(e, t, n) {
|
|
@@ -686,12 +697,12 @@ function jt(e, t, n) {
|
|
|
686
697
|
};
|
|
687
698
|
}
|
|
688
699
|
function _(e, t, n, r, l) {
|
|
689
|
-
let u = t !== void 0 ? t : [].map((c) => c),
|
|
700
|
+
let u = t !== void 0 ? t : [].map((c) => c), s = n !== void 0 ? n : [].map((c) => c), o = r !== void 0 ? r : [].map((c) => c);
|
|
690
701
|
return {
|
|
691
702
|
TAG: "Element",
|
|
692
703
|
tag: e,
|
|
693
704
|
attrs: u,
|
|
694
|
-
events:
|
|
705
|
+
events: s,
|
|
695
706
|
children: o
|
|
696
707
|
};
|
|
697
708
|
}
|
|
@@ -729,7 +740,7 @@ function ke(e, t, n, r) {
|
|
|
729
740
|
return _("a", e, t, n);
|
|
730
741
|
}
|
|
731
742
|
function Oe(e, t) {
|
|
732
|
-
let n =
|
|
743
|
+
let n = y(e);
|
|
733
744
|
t.appendChild(n);
|
|
734
745
|
}
|
|
735
746
|
function Wt(e, t) {
|
|
@@ -740,8 +751,8 @@ function Wt(e, t) {
|
|
|
740
751
|
} else
|
|
741
752
|
return Oe(e, n);
|
|
742
753
|
}
|
|
743
|
-
let Te =
|
|
744
|
-
const
|
|
754
|
+
let Te = ve, qt = ye, Kt = we;
|
|
755
|
+
const Xt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
745
756
|
__proto__: null,
|
|
746
757
|
Attributes: At,
|
|
747
758
|
DOM: kt,
|
|
@@ -750,7 +761,7 @@ const qt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
750
761
|
a: ke,
|
|
751
762
|
attr: Te,
|
|
752
763
|
button: Rt,
|
|
753
|
-
computedAttr:
|
|
764
|
+
computedAttr: Kt,
|
|
754
765
|
div: xt,
|
|
755
766
|
element: _,
|
|
756
767
|
fragment: Mt,
|
|
@@ -764,14 +775,14 @@ const qt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
764
775
|
mount: Oe,
|
|
765
776
|
mountById: Wt,
|
|
766
777
|
p: Bt,
|
|
767
|
-
signalAttr:
|
|
778
|
+
signalAttr: qt,
|
|
768
779
|
signalFragment: ne,
|
|
769
780
|
span: Pt,
|
|
770
781
|
text: Ct,
|
|
771
782
|
textSignal: Nt,
|
|
772
783
|
ul: Vt
|
|
773
784
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
774
|
-
let T =
|
|
785
|
+
let T = a.make({
|
|
775
786
|
pathname: "/",
|
|
776
787
|
search: "",
|
|
777
788
|
hash: ""
|
|
@@ -784,35 +795,35 @@ function Q() {
|
|
|
784
795
|
};
|
|
785
796
|
}
|
|
786
797
|
function Ht() {
|
|
787
|
-
|
|
788
|
-
let e = (t) =>
|
|
798
|
+
a.set(T, Q());
|
|
799
|
+
let e = (t) => a.set(T, Q());
|
|
789
800
|
window.addEventListener("popstate", e);
|
|
790
801
|
}
|
|
791
802
|
function Ae(e, t, n, r) {
|
|
792
|
-
let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "",
|
|
803
|
+
let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "", s = {
|
|
793
804
|
pathname: e,
|
|
794
805
|
search: l,
|
|
795
806
|
hash: u
|
|
796
807
|
}, o = e + l + u, c = {};
|
|
797
|
-
window.history.pushState(c, "", o),
|
|
808
|
+
window.history.pushState(c, "", o), a.set(T, s);
|
|
798
809
|
}
|
|
799
810
|
function Ut(e, t, n, r) {
|
|
800
|
-
let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "",
|
|
811
|
+
let l = t !== void 0 ? t : "", u = n !== void 0 ? n : "", s = {
|
|
801
812
|
pathname: e,
|
|
802
813
|
search: l,
|
|
803
814
|
hash: u
|
|
804
815
|
}, o = e + l + u, c = {};
|
|
805
|
-
window.history.replaceState(c, "", o),
|
|
816
|
+
window.history.replaceState(c, "", o), a.set(T, s);
|
|
806
817
|
}
|
|
807
818
|
function Jt(e, t) {
|
|
808
819
|
return ne(S.make(() => {
|
|
809
|
-
let n =
|
|
820
|
+
let n = a.get(T), r = te(e, n.pathname);
|
|
810
821
|
return typeof r != "object" ? [] : [t(r._0)];
|
|
811
822
|
}, void 0));
|
|
812
823
|
}
|
|
813
824
|
function Qt(e) {
|
|
814
825
|
return ne(S.make(() => {
|
|
815
|
-
let t =
|
|
826
|
+
let t = a.get(T), n = Le(e, (r) => {
|
|
816
827
|
let l = te(r.pattern, t.pathname);
|
|
817
828
|
if (typeof l == "object")
|
|
818
829
|
return r.render(l._0);
|
|
@@ -821,12 +832,12 @@ function Qt(e) {
|
|
|
821
832
|
}, void 0));
|
|
822
833
|
}
|
|
823
834
|
function Yt(e, t, n, r) {
|
|
824
|
-
let l = t !== void 0 ? t : [], u = n !== void 0 ? n : [],
|
|
835
|
+
let l = t !== void 0 ? t : [], u = n !== void 0 ? n : [], s = (o) => {
|
|
825
836
|
o.preventDefault(), Ae(e, void 0, void 0);
|
|
826
837
|
};
|
|
827
838
|
return ke(l.concat([Te("href", e)]), [[
|
|
828
839
|
"click",
|
|
829
|
-
|
|
840
|
+
s
|
|
830
841
|
]], u);
|
|
831
842
|
}
|
|
832
843
|
let Zt, en;
|
|
@@ -843,7 +854,7 @@ const tn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
843
854
|
route: Jt,
|
|
844
855
|
routes: Qt
|
|
845
856
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
846
|
-
let nn =
|
|
857
|
+
let nn = a.Id, rn = a.Scheduler, ln = a.make, un = a.get, on = a.peek, cn = a.set, dn = a.update, an = a.batch, sn = a.untrack, wn = {
|
|
847
858
|
Id: nn,
|
|
848
859
|
Scheduler: rn,
|
|
849
860
|
make: ln,
|
|
@@ -851,8 +862,8 @@ let nn = s.Id, rn = s.Scheduler, ln = s.make, un = s.get, on = s.peek, cn = s.se
|
|
|
851
862
|
peek: on,
|
|
852
863
|
set: cn,
|
|
853
864
|
update: dn,
|
|
854
|
-
batch:
|
|
855
|
-
untrack:
|
|
865
|
+
batch: an,
|
|
866
|
+
untrack: sn
|
|
856
867
|
}, fn = S.Id, pn = S.Signal, mn = S.Observer, hn = S.Scheduler, _n = S.make, gn = S.dispose, kn = {
|
|
857
868
|
Id: fn,
|
|
858
869
|
Signal: pn,
|
|
@@ -860,12 +871,12 @@ let nn = s.Id, rn = s.Scheduler, ln = s.make, un = s.get, on = s.peek, cn = s.se
|
|
|
860
871
|
Scheduler: hn,
|
|
861
872
|
make: _n,
|
|
862
873
|
dispose: gn
|
|
863
|
-
}, Sn = w.Id, En = w.Observer,
|
|
874
|
+
}, Sn = w.Id, En = w.Observer, bn = w.Scheduler, vn = w.run, On = {
|
|
864
875
|
Id: Sn,
|
|
865
876
|
Observer: En,
|
|
866
|
-
Scheduler:
|
|
867
|
-
run:
|
|
868
|
-
}, Tn =
|
|
877
|
+
Scheduler: bn,
|
|
878
|
+
run: vn
|
|
879
|
+
}, Tn = Xt, An = yt, $n = tn;
|
|
869
880
|
export {
|
|
870
881
|
Tn as Component,
|
|
871
882
|
kn as Computed,
|
package/dist/xote.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(g,T){typeof exports=="object"&&typeof module<"u"?T(exports):typeof define=="function"&&define.amd?define(["exports"],T):(g=typeof globalThis<"u"?globalThis:g||self,T(g.xote={}))})(this,(function(g){"use strict";let T={contents:0};function q(){return T.contents=T.contents+1|0,T.contents}function Ce(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 Ce(e)}function le(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 H(e,t){return e!==void 0?le(e):t}function Ie(e,t,n){return e.reduce(n,t)}function Me(e,t){let n=e.length,r=new Array(n),l=0;for(let u=0;u<n;++u){let a=e[u],c=t(a);c!==void 0&&(r[l]=le(c),l=l+1|0)}return r.length=l,r}function je(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,C=new Map,L=new Map,p={contents:void 0},N=new Set,k={contents:!1},v={contents:!1};function U(e){if(C.get(e)===void 0){C.set(e,new Set);return}}function Re(e,t){let n=C.get(e);if(n!==void 0){n.forEach(t);return}}function Pe(e,t){let n=C.get(e);if(n!==void 0){n.add(t);return}}function De(e,t){let n=C.get(e);if(n!==void 0){n.delete(t);return}}function Fe(e){return Array.from(H(C.get(e),new Set).values())}function ue(e,t){let n=p.contents;p.contents=e;try{let r=t();return p.contents=n,r}catch(r){throw p.contents=n,r}}function Le(e){let t=p.contents;p.contents=void 0;try{let n=e();return p.contents=t,n}catch(n){throw p.contents=t,n}}function xe(e){let t=p.contents;return t!==void 0?t===e:!1}function Ge(e){if(!k.contents){k.contents=!0;try{e(),k.contents=!1;return}catch(t){throw k.contents=!1,t}}}function Be(e,t){U(t);let n=xe(e),r=h.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),Pe(t,e)}function I(e){e.deps.forEach(t=>De(t,e.id)),e.deps.clear()}function Ve(e){let t=L.get(e);if(t===void 0)return;L.delete(e);let n=h.get(t);if(n!==void 0){I(n),h.delete(t);return}}function ie(e){return Ie(e,0,(t,n)=>n>t?n:t)}function ze(e){let t=[];return e.deps.forEach(n=>Re(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}})),ie(t)+1|0}function We(e){let t=[];return e.deps.forEach(n=>{let r=L.get(n);if(r===void 0||r===e.id)return;let l=h.get(r);if(l!==void 0){t.push(l.level);return}}),ie(t)+1|0}function z(e){return typeof e.kind=="object"?We(e):ze(e)}function Ke(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 u=typeof n.kind=="object"?0:1,c=typeof r.kind=="object"?0:1,d=u-c|0;return d!==0?d:n.level-r.level|0}function Xe(e){v.contents=!0,I(e),ue(e.id,()=>{e.run(),v.contents=!1}),e.level=z(e)}function oe(){for(;N.size>0;){let e=Array.from(N.values());N.clear(),e.sort(Ke),e.forEach(t=>{let n=h.get(t);if(n!==void 0)return Xe(n)})}}function ce(e){if(U(e),Fe(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,ce(r.VAL));N.add(t)}),N.size>0)return Ge(oe)}function de(e){let t=L.get(e);if(t===void 0)return;let n=h.get(t);if(n!==void 0&&n.dirty){v.contents=!0,I(n),ue(t,()=>{n.run(),n.dirty=!1,v.contents=!1}),n.level=z(n);return}}function qe(e){let t=k.contents;k.contents=!0;try{let n=e();return t||(k.contents=!1,N.size>0&&oe()),n}catch(n){throw t||(k.contents=!1),n}}let He=Le,Ue=U;function se(e,t,n){let r=q();return Ue(r),{id:r,value:{contents:e},version:{contents:0},equals:H(n,(l,u)=>l===u),name:t}}function Je(e){de(e.id);let t=p.contents;return t!==void 0&&Be(t,e.id),e.value.contents}function Qe(e){return de(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,ce(e.id)}function Ye(e,t){ae(e,t(e.value.contents))}const Ze=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Scheduler:void 0,batch:qe,get:Je,make:se,peek:Qe,set:ae,untrack:He,update:Ye},Symbol.toStringTag,{value:"Module"}));function fe(e,t,n,r){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0,name:r}}function et(e,t){let n=q(),r={contents:void 0},u=fe(n,"Effect",()=>{let d=r.contents;d!==void 0&&d(),r.contents=e()},t);h.set(n,u),v.contents=!0,I(u);let a=p.contents;p.contents=n;try{u.run(),v.contents=!1}catch(d){throw p.contents=a,v.contents=!1,d}return p.contents=a,u.level=z(u),{dispose:()=>{let d=h.get(n);if(d===void 0)return;let G=r.contents;G!==void 0&&G(),I(d),h.delete(n)}}}const tt=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,run:et},Symbol.toStringTag,{value:"Module"}));function nt(e,t){let n=se(void 0,t,void 0),r=q(),l=()=>{let c=e();n.value.contents=c},u=fe(r,{NAME:"Computed",VAL:n.id},l,void 0);h.set(r,u),v.contents=!0,I(u);let a=p.contents;p.contents=r;try{u.run(),u.dirty=!1,v.contents=!1}catch(c){throw p.contents=a,v.contents=!1,c}return p.contents=a,u.level=z(u),L.set(n.id,r),n}function rt(e){Ve(e.id)}const lt=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,Signal:void 0,dispose:rt,make:nt},Symbol.toStringTag,{value:"Module"}));let o=Ze,S=lt,w=tt;function pe(e){return Me(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function me(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 J(e,t){return me(pe(e),t)}const ut=Object.freeze(Object.defineProperty({__proto__:null,match:J,matchPath:me,parsePattern:pe},Symbol.toStringTag,{value:"Module"}));function it(e,t){delete e[t]}function M(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"value":e.value=n;return;default:e.setAttribute(t,n);return}}let ot={setAttrOrProp:M},W={contents:void 0};function ct(){return{disposers:[],computeds:[]}}function j(e,t){let n=W.contents;W.contents=e;let r=t();return W.contents=n,r}function R(e,t){e.disposers.push(t)}function he(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>S.dispose(t))}function P(e,t){e.__xote_owner__=t}function _e(e){return Ne(e.__xote_owner__)}let dt={currentOwner:W,createOwner:ct,runWithOwner:j,addDisposer:R,disposeOwner:he,setOwner:P,getOwner:_e};function ge(e,t){return[e,{TAG:"Static",_0:t}]}function Se(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Ee(e,t){return[e,{TAG:"Compute",_0:t}]}let st={$$static:ge,signal:Se,computed:Ee};function x(e){let t=_e(e);t!==void 0&&he(t),Array.from(e.childNodes||[]).forEach(x)}function O(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=document.createElement(e.tag),u={disposers:[],computeds:[]};return P(l,u),j(u,()=>{r.forEach(i=>{let m=i[1],E=i[0];switch(m.TAG){case"Static":return M(l,E,m._0);case"SignalValue":let y=m._0;M(l,E,o.peek(y));let b=w.run(()=>{M(l,E,o.get(y))},void 0);return R(u,b);case"Compute":let V=m._0;M(l,E,V());let F=w.run(()=>{M(l,E,V())},void 0);return R(u,F)}}),n.forEach(i=>{l.addEventListener(i[0],i[1])}),t.forEach(i=>{let m=O(i);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let a=e._0,c=document.createTextNode(o.peek(a)),d={disposers:[],computeds:[]};return P(c,d),j(d,()=>{let i=w.run(()=>{c.textContent=o.get(a)},void 0);R(d,i)}),c;case"Fragment":let G=document.createDocumentFragment();return e._0.forEach(i=>{let m=O(i);G.appendChild(m)}),G;case"SignalFragment":let on=e._0,Z={disposers:[],computeds:[]},D=document.createElement("div");return D.setAttribute("style","display: contents"),P(D,Z),j(Z,()=>{let i=w.run(()=>{let m=o.get(on);Array.from(D.childNodes||[]).forEach(x),D.innerHTML="",m.forEach(y=>{let b=O(y);D.appendChild(b)})},void 0);R(Z,i)}),D;case"LazyComponent":let Oe={disposers:[],computeds:[]},cn=j(Oe,e._0),ke=O(cn);return P(ke,Oe),ke;case"KeyedList":let ee=e.renderItem,te=e.keyFn,Te=e.signal,ne={disposers:[],computeds:[]},re=document.createComment(" keyed-list-start "),B=document.createComment(" keyed-list-end ");P(re,ne);let A={},dn=()=>{let i=B.parentNode;if(i==null)return;let m=o.get(Te),E={};m.forEach(s=>{E[te(s)]=s});let y=[];Object.keys(A).forEach(s=>{if(E[s]===void 0){y.push(s);return}}),y.forEach(s=>{let f=A[s];if(f!==void 0){x(f.element),f.element.remove(),it(A,s);return}});let b=[],V={};m.forEach(s=>{let f=te(s),X=A[f];if(X!==void 0){if(X.item!==s){V[f]=!0;let fn=ee(s),pn=O(fn),Ae={key:f,item:s,element:pn};b.push(Ae),A[f]=Ae;return}b.push(X);return}let sn=ee(s),an=O(sn),$e={key:f,item:s,element:an};b.push($e),A[f]=$e});let F={contents:re.nextSibling};b.forEach(s=>{let f=F.contents;if(f==null){i.insertBefore(s.element,B);return}if(f===B){i.insertBefore(s.element,B);return}if(f===s.element){F.contents=f.nextSibling;return}H(V[s.key],!1)?(x(f),i.replaceChild(s.element,f),F.contents=s.element.nextSibling):(i.insertBefore(s.element,f),F.contents=s.element.nextSibling)})},K=document.createDocumentFragment();return K.appendChild(re),o.peek(Te).forEach(i=>{let m=te(i),E=ee(i),y=O(E),b={key:m,item:i,element:y};A[m]=b,K.appendChild(y)}),K.appendChild(B),j(ne,()=>{let i=w.run(()=>{dn()},void 0);R(ne,i)}),K}}let at={disposeElement:x,render:O};function ft(e){return{TAG:"Text",_0:e}}function pt(e){return{TAG:"SignalText",_0:S.make(e,void 0)}}function mt(e){return{TAG:"Fragment",_0:e}}function Q(e){return{TAG:"SignalFragment",_0:e}}function ht(e,t){return{TAG:"SignalFragment",_0:S.make(()=>o.get(e).map(t),void 0)}}function _t(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function _(e,t,n,r,l){let u=t!==void 0?t:[].map(d=>d),a=n!==void 0?n:[].map(d=>d),c=r!==void 0?r:[].map(d=>d);return{TAG:"Element",tag:e,attrs:u,events:a,children:c}}function gt(e,t,n,r){return _("div",e,t,n)}function St(e,t,n,r){return _("span",e,t,n)}function Et(e,t,n,r){return _("button",e,t,n)}function vt(e,t,n){return _("input",e,t,void 0)}function yt(e,t,n,r){return _("h1",e,t,n)}function bt(e,t,n,r){return _("h2",e,t,n)}function wt(e,t,n,r){return _("h3",e,t,n)}function Ot(e,t,n,r){return _("p",e,t,n)}function kt(e,t,n,r){return _("ul",e,t,n)}function Tt(e,t,n,r){return _("li",e,t,n)}function ve(e,t,n,r){return _("a",e,t,n)}function ye(e,t){let n=O(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 ye(e,n)}let be=ge;const At=Object.freeze(Object.defineProperty({__proto__:null,Attributes:st,DOM:ot,Reactivity:dt,Render:at,a:ve,attr:be,button:Et,computedAttr:Ee,div:gt,element:_,fragment:mt,h1:yt,h2:bt,h3:wt,input:vt,keyedList:_t,li:Tt,list:ht,mount:ye,mountById:$t,p:Ot,signalAttr:Se,signalFragment:Q,span:St,text:ft,textSignal:pt,ul:kt},Symbol.toStringTag,{value:"Module"}));let $=o.make({pathname:"/",search:"",hash:""},void 0,void 0);function Y(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ct(){o.set($,Y());let e=t=>o.set($,Y());window.addEventListener("popstate",e)}function we(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",a={pathname:e,search:l,hash:u},c=e+l+u,d={};window.history.pushState(d,"",c),o.set($,a)}function Nt(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",a={pathname:e,search:l,hash:u},c=e+l+u,d={};window.history.replaceState(d,"",c),o.set($,a)}function It(e,t){return Q(S.make(()=>{let n=o.get($),r=J(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Mt(e){return Q(S.make(()=>{let t=o.get($),n=je(e,r=>{let l=J(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function jt(e,t,n,r){let l=t!==void 0?t:[],u=n!==void 0?n:[],a=c=>{c.preventDefault(),we(e,void 0,void 0)};return ve(l.concat([be("href",e)]),[["click",a]],u)}const Rt=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Route:void 0,getCurrentLocation:Y,init:Ct,link:jt,location:$,push:we,replace:Nt,route:It,routes:Mt},Symbol.toStringTag,{value:"Module"}));let Pt=o.Id,Dt=o.Scheduler,Ft=o.make,Lt=o.get,xt=o.peek,Gt=o.set,Bt=o.update,Vt=o.batch,zt=o.untrack,Wt={Id:Pt,Scheduler:Dt,make:Ft,get:Lt,peek:xt,set:Gt,update:Bt,batch:Vt,untrack:zt},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=w.Id,Zt=w.Observer,en=w.Scheduler,tn=w.run,nn={Id:Yt,Observer:Zt,Scheduler:en,run:tn},rn=At,ln=ut,un=Rt;g.Component=rn,g.Computed=Qt,g.Effect=nn,g.Route=ln,g.Router=un,g.Signal=Wt,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(g,T){typeof exports=="object"&&typeof module<"u"?T(exports):typeof define=="function"&&define.amd?define(["exports"],T):(g=typeof globalThis<"u"?globalThis:g||self,T(g.xote={}))})(this,(function(g){"use strict";let T={contents:0};function X(){return T.contents=T.contents+1|0,T.contents}function Ce(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 Ce(e)}function le(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 H(e,t){return e!==void 0?le(e):t}function Ie(e,t,n){return e.reduce(n,t)}function Me(e,t){let n=e.length,r=new Array(n),l=0;for(let u=0;u<n;++u){let s=e[u],c=t(s);c!==void 0&&(r[l]=le(c),l=l+1|0)}return r.length=l,r}function je(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,C=new Map,F=new Map,p={contents:void 0},N=new Set,k={contents:!1},b={contents:!1};function U(e){if(C.get(e)===void 0){C.set(e,new Set);return}}function Re(e,t){let n=C.get(e);if(n!==void 0){n.forEach(t);return}}function Pe(e,t){let n=C.get(e);if(n!==void 0){n.add(t);return}}function xe(e,t){let n=C.get(e);if(n!==void 0){n.delete(t);return}}function De(e){return Array.from(H(C.get(e),new Set).values())}function ue(e,t){let n=p.contents;p.contents=e;try{let r=t();return p.contents=n,r}catch(r){throw p.contents=n,r}}function Fe(e){let t=p.contents;p.contents=void 0;try{let n=e();return p.contents=t,n}catch(n){throw p.contents=t,n}}function Le(e){let t=p.contents;return t!==void 0?t===e:!1}function Ge(e){if(!k.contents){k.contents=!0;try{e(),k.contents=!1;return}catch(t){throw k.contents=!1,t}}}function Be(e,t){U(t);let n=Le(e),r=h.get(e);if(n&&r!==void 0&&!r.deps.has(t))return r.deps.add(t),Pe(t,e)}function I(e){e.deps.forEach(t=>xe(t,e.id)),e.deps.clear()}function Ve(e){let t=F.get(e);if(t===void 0)return;F.delete(e);let n=h.get(t);if(n!==void 0){I(n),h.delete(t);return}}function ie(e){return Ie(e,0,(t,n)=>n>t?n:t)}function ze(e){let t=[];return e.deps.forEach(n=>Re(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}})),ie(t)+1|0}function We(e){let t=[];return e.deps.forEach(n=>{let r=F.get(n);if(r===void 0||r===e.id)return;let l=h.get(r);if(l!==void 0){t.push(l.level);return}}),ie(t)+1|0}function z(e){return typeof e.kind=="object"?We(e):ze(e)}function qe(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 u=typeof n.kind=="object"?0:1,c=typeof r.kind=="object"?0:1,d=u-c|0;return d!==0?d:n.level-r.level|0}function Ke(e){b.contents=!0,I(e),ue(e.id,()=>{e.run(),b.contents=!1}),e.level=z(e)}function oe(){for(;N.size>0;){let e=Array.from(N.values());N.clear(),e.sort(qe),e.forEach(t=>{let n=h.get(t);if(n!==void 0)return Ke(n)})}}function ce(e){if(U(e),De(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,ce(r.VAL));N.add(t)}),N.size>0)return Ge(oe)}function de(e){let t=F.get(e);if(t===void 0)return;let n=h.get(t);if(n!==void 0&&n.dirty){b.contents=!0,I(n),ue(t,()=>{n.run(),n.dirty=!1,b.contents=!1}),n.level=z(n);return}}function Xe(e){let t=k.contents;k.contents=!0;try{let n=e();return t||(k.contents=!1,N.size>0&&oe()),n}catch(n){throw t||(k.contents=!1),n}}let He=Fe,Ue=U;function ae(e,t,n){let r=X();return Ue(r),{id:r,value:{contents:e},version:{contents:0},equals:H(n,(l,u)=>l===u),name:t}}function Je(e){de(e.id);let t=p.contents;return t!==void 0&&Be(t,e.id),e.value.contents}function Qe(e){return de(e.id),e.value.contents}function se(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,ce(e.id)}function Ye(e,t){se(e,t(e.value.contents))}const Ze=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Scheduler:void 0,batch:Xe,get:Je,make:ae,peek:Qe,set:se,untrack:He,update:Ye},Symbol.toStringTag,{value:"Module"}));function fe(e,t,n,r){return{id:e,kind:t,run:n,deps:new Set,level:0,dirty:!0,name:r}}function et(e,t){let n=X(),r={contents:void 0},u=fe(n,"Effect",()=>{let d=r.contents;d!==void 0&&d(),r.contents=e()},t);h.set(n,u),b.contents=!0,I(u);let s=p.contents;p.contents=n;try{u.run(),b.contents=!1}catch(d){throw p.contents=s,b.contents=!1,d}return p.contents=s,u.level=z(u),{dispose:()=>{let d=h.get(n);if(d===void 0)return;let G=r.contents;G!==void 0&&G(),I(d),h.delete(n)}}}const tt=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,run:et},Symbol.toStringTag,{value:"Module"}));function nt(e,t){let n=ae(void 0,t,void 0),r=X(),l=()=>{let c=e();n.value.contents=c},u=fe(r,{NAME:"Computed",VAL:n.id},l,void 0);h.set(r,u),b.contents=!0,I(u);let s=p.contents;p.contents=r;try{u.run(),u.dirty=!1,b.contents=!1}catch(c){throw p.contents=s,b.contents=!1,c}return p.contents=s,u.level=z(u),F.set(n.id,r),n}function rt(e){Ve(e.id)}const lt=Object.freeze(Object.defineProperty({__proto__:null,Id:void 0,Observer:void 0,Scheduler:void 0,Signal:void 0,dispose:rt,make:nt},Symbol.toStringTag,{value:"Module"}));let o=Ze,S=lt,w=tt;function pe(e){return Me(e.split("/"),t=>{if(t!=="")return t.startsWith(":")?{TAG:"Param",_0:t.slice(1)}:{TAG:"Static",_0:t}})}function me(e,t){let n=t.split("/").filter(u=>u!=="");if(e.length!==n.length)return"NoMatch";let r={};return e.every((u,s)=>{let c=n[s];return u.TAG==="Static"?c===u._0:(r[u._0]=c,!0)})?{TAG:"Match",_0:r}:"NoMatch"}function J(e,t){return me(pe(e),t)}const ut=Object.freeze(Object.defineProperty({__proto__:null,match:J,matchPath:me,parsePattern:pe},Symbol.toStringTag,{value:"Module"}));function it(e,t){delete e[t]}function M(e,t,n){switch(t){case"checked":e.checked=n==="true";return;case"disabled":e.disabled=n==="true";return;case"aria-expanded":case"aria-hidden":case"aria-selected":case"multiple":case"readonly":case"required":break;case"value":e.value=n;return;default:e.setAttribute(t,n);return}n==="true"?e.setAttribute(t,""):e.removeAttribute(t)}let ot={setAttrOrProp:M},W={contents:void 0};function ct(){return{disposers:[],computeds:[]}}function j(e,t){let n=W.contents;W.contents=e;let r=t();return W.contents=n,r}function R(e,t){e.disposers.push(t)}function he(e){e.disposers.forEach(t=>t.dispose()),e.computeds.forEach(t=>S.dispose(t))}function P(e,t){e.__xote_owner__=t}function _e(e){return Ne(e.__xote_owner__)}let dt={currentOwner:W,createOwner:ct,runWithOwner:j,addDisposer:R,disposeOwner:he,setOwner:P,getOwner:_e};function ge(e,t){return[e,{TAG:"Static",_0:t}]}function Se(e,t){return[e,{TAG:"SignalValue",_0:t}]}function Ee(e,t){return[e,{TAG:"Compute",_0:t}]}let at={$$static:ge,signal:Se,computed:Ee};function L(e){let t=_e(e);t!==void 0&&he(t),Array.from(e.childNodes||[]).forEach(L)}function O(e){switch(e.TAG){case"Element":let t=e.children,n=e.events,r=e.attrs,l=document.createElement(e.tag),u={disposers:[],computeds:[]};return P(l,u),j(u,()=>{r.forEach(i=>{let m=i[1],E=i[0];switch(m.TAG){case"Static":return M(l,E,m._0);case"SignalValue":let v=m._0;M(l,E,o.peek(v));let y=w.run(()=>{M(l,E,o.get(v))},void 0);return R(u,y);case"Compute":let V=m._0;M(l,E,V());let D=w.run(()=>{M(l,E,V())},void 0);return R(u,D)}}),n.forEach(i=>{l.addEventListener(i[0],i[1])}),t.forEach(i=>{let m=O(i);l.appendChild(m)})}),l;case"Text":return document.createTextNode(e._0);case"SignalText":let s=e._0,c=document.createTextNode(o.peek(s)),d={disposers:[],computeds:[]};return P(c,d),j(d,()=>{let i=w.run(()=>{c.textContent=o.get(s)},void 0);R(d,i)}),c;case"Fragment":let G=document.createDocumentFragment();return e._0.forEach(i=>{let m=O(i);G.appendChild(m)}),G;case"SignalFragment":let on=e._0,Z={disposers:[],computeds:[]},x=document.createElement("div");return x.setAttribute("style","display: contents"),P(x,Z),j(Z,()=>{let i=w.run(()=>{let m=o.get(on);Array.from(x.childNodes||[]).forEach(L),x.innerHTML="",m.forEach(v=>{let y=O(v);x.appendChild(y)})},void 0);R(Z,i)}),x;case"LazyComponent":let Oe={disposers:[],computeds:[]},cn=j(Oe,e._0),ke=O(cn);return P(ke,Oe),ke;case"KeyedList":let ee=e.renderItem,te=e.keyFn,Te=e.signal,ne={disposers:[],computeds:[]},re=document.createComment(" keyed-list-start "),B=document.createComment(" keyed-list-end ");P(re,ne);let A={},dn=()=>{let i=B.parentNode;if(i==null)return;let m=o.get(Te),E={};m.forEach(a=>{E[te(a)]=a});let v=[];Object.keys(A).forEach(a=>{if(E[a]===void 0){v.push(a);return}}),v.forEach(a=>{let f=A[a];if(f!==void 0){L(f.element),f.element.remove(),it(A,a);return}});let y=[],V={};m.forEach(a=>{let f=te(a),K=A[f];if(K!==void 0){if(K.item!==a){V[f]=!0;let fn=ee(a),pn=O(fn),Ae={key:f,item:a,element:pn};y.push(Ae),A[f]=Ae;return}y.push(K);return}let an=ee(a),sn=O(an),$e={key:f,item:a,element:sn};y.push($e),A[f]=$e});let D={contents:re.nextSibling};y.forEach(a=>{let f=D.contents;if(f==null){i.insertBefore(a.element,B);return}if(f===B){i.insertBefore(a.element,B);return}if(f===a.element){D.contents=f.nextSibling;return}H(V[a.key],!1)?(L(f),i.replaceChild(a.element,f),D.contents=a.element.nextSibling):(i.insertBefore(a.element,f),D.contents=a.element.nextSibling)})},q=document.createDocumentFragment();return q.appendChild(re),o.peek(Te).forEach(i=>{let m=te(i),E=ee(i),v=O(E),y={key:m,item:i,element:v};A[m]=y,q.appendChild(v)}),q.appendChild(B),j(ne,()=>{let i=w.run(()=>{dn()},void 0);R(ne,i)}),q}}let st={disposeElement:L,render:O};function ft(e){return{TAG:"Text",_0:e}}function pt(e){return{TAG:"SignalText",_0:S.make(e,void 0)}}function mt(e){return{TAG:"Fragment",_0:e}}function Q(e){return{TAG:"SignalFragment",_0:e}}function ht(e,t){return{TAG:"SignalFragment",_0:S.make(()=>o.get(e).map(t),void 0)}}function _t(e,t,n){return{TAG:"KeyedList",signal:e,keyFn:t,renderItem:n}}function _(e,t,n,r,l){let u=t!==void 0?t:[].map(d=>d),s=n!==void 0?n:[].map(d=>d),c=r!==void 0?r:[].map(d=>d);return{TAG:"Element",tag:e,attrs:u,events:s,children:c}}function gt(e,t,n,r){return _("div",e,t,n)}function St(e,t,n,r){return _("span",e,t,n)}function Et(e,t,n,r){return _("button",e,t,n)}function bt(e,t,n){return _("input",e,t,void 0)}function vt(e,t,n,r){return _("h1",e,t,n)}function yt(e,t,n,r){return _("h2",e,t,n)}function wt(e,t,n,r){return _("h3",e,t,n)}function Ot(e,t,n,r){return _("p",e,t,n)}function kt(e,t,n,r){return _("ul",e,t,n)}function Tt(e,t,n,r){return _("li",e,t,n)}function be(e,t,n,r){return _("a",e,t,n)}function ve(e,t){let n=O(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 ve(e,n)}let ye=ge;const At=Object.freeze(Object.defineProperty({__proto__:null,Attributes:at,DOM:ot,Reactivity:dt,Render:st,a:be,attr:ye,button:Et,computedAttr:Ee,div:gt,element:_,fragment:mt,h1:vt,h2:yt,h3:wt,input:bt,keyedList:_t,li:Tt,list:ht,mount:ve,mountById:$t,p:Ot,signalAttr:Se,signalFragment:Q,span:St,text:ft,textSignal:pt,ul:kt},Symbol.toStringTag,{value:"Module"}));let $=o.make({pathname:"/",search:"",hash:""},void 0,void 0);function Y(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ct(){o.set($,Y());let e=t=>o.set($,Y());window.addEventListener("popstate",e)}function we(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",s={pathname:e,search:l,hash:u},c=e+l+u,d={};window.history.pushState(d,"",c),o.set($,s)}function Nt(e,t,n,r){let l=t!==void 0?t:"",u=n!==void 0?n:"",s={pathname:e,search:l,hash:u},c=e+l+u,d={};window.history.replaceState(d,"",c),o.set($,s)}function It(e,t){return Q(S.make(()=>{let n=o.get($),r=J(e,n.pathname);return typeof r!="object"?[]:[t(r._0)]},void 0))}function Mt(e){return Q(S.make(()=>{let t=o.get($),n=je(e,r=>{let l=J(r.pattern,t.pathname);if(typeof l=="object")return r.render(l._0)});return n!==void 0?[n]:[]},void 0))}function jt(e,t,n,r){let l=t!==void 0?t:[],u=n!==void 0?n:[],s=c=>{c.preventDefault(),we(e,void 0,void 0)};return be(l.concat([ye("href",e)]),[["click",s]],u)}const Rt=Object.freeze(Object.defineProperty({__proto__:null,Component:void 0,Route:void 0,getCurrentLocation:Y,init:Ct,link:jt,location:$,push:we,replace:Nt,route:It,routes:Mt},Symbol.toStringTag,{value:"Module"}));let Pt=o.Id,xt=o.Scheduler,Dt=o.make,Ft=o.get,Lt=o.peek,Gt=o.set,Bt=o.update,Vt=o.batch,zt=o.untrack,Wt={Id:Pt,Scheduler:xt,make:Dt,get:Ft,peek:Lt,set:Gt,update:Bt,batch:Vt,untrack:zt},qt=S.Id,Kt=S.Signal,Xt=S.Observer,Ht=S.Scheduler,Ut=S.make,Jt=S.dispose,Qt={Id:qt,Signal:Kt,Observer:Xt,Scheduler:Ht,make:Ut,dispose:Jt},Yt=w.Id,Zt=w.Observer,en=w.Scheduler,tn=w.run,nn={Id:Yt,Observer:Zt,Scheduler:en,run:tn},rn=At,ln=ut,un=Rt;g.Component=rn,g.Computed=Qt,g.Effect=nn,g.Route=ln,g.Router=un,g.Signal=Wt,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
package/src/Xote__Component.res
CHANGED
|
@@ -25,17 +25,27 @@ module DOM = {
|
|
|
25
25
|
external addEventListener: (Dom.element, string, Dom.event => unit) => unit = "addEventListener"
|
|
26
26
|
@send external appendChild: (Dom.element, Dom.element) => unit = "appendChild"
|
|
27
27
|
@send external setAttribute: (Dom.element, string, string) => unit = "setAttribute"
|
|
28
|
+
@send external removeAttribute: (Dom.element, string) => unit = "removeAttribute"
|
|
28
29
|
@send external replaceChild: (Dom.element, Dom.element, Dom.element) => unit = "replaceChild"
|
|
29
30
|
@send external insertBefore: (Dom.element, Dom.element, Dom.element) => unit = "insertBefore"
|
|
30
31
|
@set external setTextContent: (Dom.element, string) => unit = "textContent"
|
|
31
32
|
@set external setValue: (Dom.element, string) => unit = "value"
|
|
32
33
|
@set external setChecked: (Dom.element, bool) => unit = "checked"
|
|
34
|
+
@set external setDisabled: (Dom.element, bool) => unit = "disabled"
|
|
33
35
|
|
|
34
36
|
/* Set attribute or property depending on attribute name */
|
|
35
37
|
let setAttrOrProp = (el: Dom.element, key: string, value: string): unit => {
|
|
36
38
|
switch key {
|
|
37
39
|
| "value" => setValue(el, value)
|
|
38
40
|
| "checked" => setChecked(el, value == "true")
|
|
41
|
+
| "disabled" => setDisabled(el, value == "true")
|
|
42
|
+
/* Boolean attributes that should be added/removed based on value */
|
|
43
|
+
| "required" | "readonly" | "multiple" | "aria-hidden" | "aria-expanded" | "aria-selected" =>
|
|
44
|
+
if value == "true" {
|
|
45
|
+
setAttribute(el, key, "")
|
|
46
|
+
} else {
|
|
47
|
+
removeAttribute(el, key)
|
|
48
|
+
}
|
|
39
49
|
| _ => setAttribute(el, key, value)
|
|
40
50
|
}
|
|
41
51
|
}
|
|
@@ -10,6 +10,16 @@ function setAttrOrProp(el, key, value) {
|
|
|
10
10
|
case "checked" :
|
|
11
11
|
el.checked = value === "true";
|
|
12
12
|
return;
|
|
13
|
+
case "disabled" :
|
|
14
|
+
el.disabled = value === "true";
|
|
15
|
+
return;
|
|
16
|
+
case "aria-expanded" :
|
|
17
|
+
case "aria-hidden" :
|
|
18
|
+
case "aria-selected" :
|
|
19
|
+
case "multiple" :
|
|
20
|
+
case "readonly" :
|
|
21
|
+
case "required" :
|
|
22
|
+
break;
|
|
13
23
|
case "value" :
|
|
14
24
|
el.value = value;
|
|
15
25
|
return;
|
|
@@ -17,6 +27,11 @@ function setAttrOrProp(el, key, value) {
|
|
|
17
27
|
el.setAttribute(key, value);
|
|
18
28
|
return;
|
|
19
29
|
}
|
|
30
|
+
if (value === "true") {
|
|
31
|
+
el.setAttribute(key, "");
|
|
32
|
+
} else {
|
|
33
|
+
el.removeAttribute(key);
|
|
34
|
+
}
|
|
20
35
|
}
|
|
21
36
|
|
|
22
37
|
let DOM = {
|