UNPKG

magix

Version:

view manager framewrok

1 lines 19 kB
/*!3.8.14 MIT kooboy_li@163.com*/define("magix",["$"],e=>{let t=e.isPlainObject,r=e.isArray,n=0,i="",o=[],l=window,a=void 0,f=document,s=f.documentElement.getAttribute,h=(e,t)=>s.call(e,t),d=e(f),$=l.setTimeout;function u(){}let c,p,m=JSON.stringify,g="\x1e",b="prototype",v="params",w=/[#?].*$/,y=/([^=&?\/#]+)=?([^&#?]*)/g,x=/(?!^)=|&/,k=e=>(e||"mx_")+n++,V=k(),I={rootId:k(),defaultView:V,error(e){throw e}},T=e=>"object"==typeof e?e:f.getElementById(e),C=e=>!e||"object"!=typeof e,S=(e,t,r,n)=>{let i,o,l,a=0;for(l in e)i=e[l],o=t[l],C(i)&&o===i||H(n,l)||(r[l]=1,a=1),t[l]=i;return a},q=(e,t,r)=>{if(e=T(e),t=T(t),e&&t&&!(r=e==t))try{r=16==(16&t.compareDocumentPosition(e))}catch(e){}return r},{assign:j,keys:A,hasOwnProperty:U}=Object,E=e("head"),N=(e,t)=>{t&&!N[e]&&(N[e]=1,E.append(`<style>${t}`))},O=e=>h(e,"id")||(e.$a=1,e.id=k()),P=(e,t,n,i,l)=>{for(l of(t=t||o,r(e)||(e=[e]),r(t)||(t=[t]),e))try{i=l&&l.apply(n,t)}catch(e){I.error(e)}return i},H=(e,t)=>e&&U.call(e,t),M=(e,t)=>{let r,n;if(C(t))(r=t+i)[0]==g&&H(e,r)&&(t=e[r]);else for(r in t)n=t[r],n=M(e,n),t[r]=n;return t},_=(e,t)=>t.f-e.f||t.t-e.t;function L(e,t,r,n){(n=this).c=[],n.b=t||5,n.x=n.b+(e||20),n.r=r}j(L[b],{get(e){let t=this.c[g+e];return t&&(t.f++,t.t=n++,t=t.v),t},each(e,t,r,n,i){for(i of(r=this).c)e(i.v,t,r)},set(e,t){let r=this,i=r.c,o=g+e,l=i[o],a=r.b;if(!l){if(i.length>=r.x)for(i.sort(_);a--;)(l=i.pop()).f>0&&r.del(l.o);l={o:e},i.push(l),i[o]=l}l.v=t,l.f=1,l.t=n++},del(e){e=g+e;let t=this.c,r=t[e],n=this.r;r&&(r.f=-1,r.v=i,delete t[e],n&&P(n,r.o))},has(e){return H(this.c,g+e)}});let R=(e,t)=>{if(e)if(V==e)p||(p=Lt.extend()),t(p);else if(r(e))require(e,t);else try{t(require(e))}catch(r){require([e],t)}else t&&t()};function Z(){}let B=(e,t,r,n,i)=>(Z[b]=t[b],i=new Z,j(i,r),j(e,n),i.constructor=e,e[b]=i,e),D=e.find||e.zepto,z=D.matchesSelector||D.matches,F=(e,t)=>{t=e.data,e.eventTarget=t.e,P(t.f,e,t.v)},J=(t,r,n,i,o)=>{o&&(r+=`.${o.i}`),i?e(t).off(r,n):e(t).on(r,o,n)},Q=e=>e;let X,G=new L,K=0,W=(e,t,r)=>{try{r=decodeURIComponent(r)}catch(e){}X[t]=r},Y=e=>{let t,r=G.get(e);return r||(X={},t=e.replace(w,i),e==t&&x.test(t)&&(t=i),e.replace(t,i).replace(y,W),G.set(e,r={a:t,b:X})),{path:r.a,params:{...r.b}}},ee=(e,t,r)=>{let n,o,l,a=[];for(o in t)n=t[o]+i,(!r||n||H(r,o))&&(n=encodeURIComponent(n),a.push(l=o+"="+n));return l&&(e+=(e&&(~e.indexOf("?")?"&":"?"))+a.join("&")),e},te=(e,t)=>{let r,n={};if(e)for(r of e)n[t&&r?r[t]:r]=t?r:1+(0|n[r]);return n},re=new L,ne=(e,t,r)=>(re.has(e)?r=re.get(e):(r=P(Function(`return ${e}`)),e.indexOf(g)>-1?M(t,r):re.set(e,r)),r),ie={config:(e,r)=>(r=I,e&&(r=t(e)?j(r,e):r[e]),r),boot(e){j(I,e),R(I.ini,t=>{j(I,t,e),R(I.exts,()=>{Ue.on("changed",He),$e.on("changed",He),K=1,Se()})})},toMap:te,toTry:P,toUrl:ee,parseUrl:Y,mix:j,has:H,keys:A,inside:q,node:T,applyStyle:N,guid:k,use:R,Cache:L,nodeId:O,guard:Q},oe={fire(e,t,r,n){let o,l,a,f,s=this,h=s[g+e];if(t||(t={}),t.type=e,h)for(l=(o=h.length)-1;o--;)(f=h[a=n?o:l-o]).f?(f.x=1,P(f.f,t,s),f.x=i):f.x||(h.splice(a,1),l--);return(h=s[`on${e}`])&&P(h,t,s),r&&s.off(e),s},on(e,t){let r=g+e;return(this[r]||(this[r]=[])).push({f:t}),this},off(e,t){let r,n=g+e,o=this,l=o[n];if(t){if(l)for(r of l)if(r.f==t){r.f=i;break}}else delete o[n],delete o[`on${e}`];return o}};ie.Event=oe;let le={},ae={},fe={},se=0,he=e=>{e=(e+i).split(",");for(let t of e)H(ae,t)?ae[t]++:ae[t]=1;return e},de=e=>{let t,r;for(t of e)H(ae,t)&&((r=--ae[t])||(delete ae[t],delete le[t]))};let $e={get(e){let t=e?le[e]:le;return t},set(e,t){return se=S(e,le,fe,t)||se,this},digest(e,t){if(e&&$e.set(e,t),se){0,se=0;let e=j({},fe);fe={},this.fire("changed",{keys:e})}},diff:()=>fe,clean:e=>({ctor(){e=he(e),this.on("destroy",()=>de(e))}}),...oe};ie.State=$e;let ue,ce=new L,pe=new L,me=l.location,ge=0,be={query:{},params:{},href:i},ve=/(?:^.*\/\/[^\/]+|#.*$)/gi,we=/^[^#]*#?!?/;function ye(e,t){return this[v][e]||t!==a&&t||i}let xe,ke,Ve,Ie,Te,Ce=(e,t)=>{e="#!"+e,t?me.replace(e):me.hash=e},Se=()=>{let e,t,r=je().srcHash;J(l,"hashchange",(n,o,l)=>{t||(o=je(),(e=o.srcHash)!=r&&(l=(()=>{n.p=1,r=e,t=i,Ce(e),Ae()}),n={reject(){n.p=1,t=i,Ce(r)},resolve:l,prevent(){t=1}},Ue.fire("change",n),t||n.p||l()))}),J(l,"beforeunload",(e,t,r)=>{if(e=e||l.event,t={},Ue.fire("pageunload",t),r=t.msg)return e&&(e.returnValue=r),r}),Ae()},qe=f.title,je=e=>{e=e||me.href;let r,n,o,l,a,f=ce.get(e);return f||(r=e.replace(ve,i),n=e.replace(we,i),f={get:ye,href:e,srcQuery:r,srcHash:n,query:o=Y(r),hash:l=Y(n),params:a={...o[v],...l[v]}},K&&(((e,r)=>{if(xe||(xe=I.routes||{},ke=I.unmatchView,Ve=I.defaultView,Ie=I.defaultPath||"/",Te=I.rewrite),!e.view){let n=e.hash.path||Ie;Te&&(n=Te(n,e[v],xe)),r=xe[n]||ke||Ve,e.path=n,e.view=r,t(r)&&j(e,r)}})(f),ce.set(e,f))),f},Ae=()=>{let e=je(),t=((e,t)=>{let r=e.href,n=t.href,i=r+g+n,o=pe.get(i);if(!o){let n,l;o={params:l={},force:!r};let a,f=e[v],s=t[v],h=A(f).concat(A(s)),d=e=>{let t=f[e],r=s[e];t!=r&&(l[e]={from:t,to:r},n=1)};for(a of h)d(a);f=e,s=t,l=o,d("path"),d("view"),pe.set(i,o={a:n,b:o})}return o})(be,be=e);return!ge&&t.a&&((ue=t.b).path&&(f.title=e.title||qe),Ue.fire("changed",ue)),ge=0,ue},Ue={parse:je,diff:Ae,to(e,r,n,o){!r&&t(e)&&(r=e,e=i);let l=Y(e),a=l[v],f=l.path,s=be.path,h=be[v],d=be.query[v];if(j(a,r),f)for(s in d)H(a,s)||(a[s]=i);else h&&(f=s,a={...h,...a});((e,t,r,n,i,o)=>{(e=ee(e,t,o))!=r.srcHash&&(ge=i,Ce(e,n))})(f,a,be,n,o,d)},...oe};ie.Router=Ue;let Ee,Ne,Oe=0,Pe=(e,t,r,n,i,o,l)=>{e&&e.$a!=Oe&&(r=e.$v)&&r.$a>1&&((t?((e,t,r)=>{let n,i=e.$os;if(i)for(n of i)if(r=H(t,n))break;return r})(r,t):_t(r))&&(l=r.$b()),l&&l.then||(l=_e),l.then(()=>{for(o of e.children())Pe(Me[o],t)}))},He=(e,t,r)=>{t=Be(),(r=e.view)?t.mountView(r.to):(Oe=n++,Pe(t,e.keys))},Me={},_e={then:e=>e()},Le=e=>{if(!e.$b&&!e.$d&&e.$cc==e.$rc){e.$cr||(e.$cr=1,e.$ca=0,e.fire("created"));let{id:t,pId:r}=e,n=Me[r];n&&!H(n.$e,t)&&(n.$e[t]=1,n.$rc++,Le(n))}},Re=(e,t)=>{if(!e.$ca&&e.$cr){e.$cr=0,e.$ca=1,e.fire("alter",t);let{id:r,pId:n}=e,i=Me[n];i&&H(i.$e,r)&&(i.$rc--,delete i.$e[r],Re(i,t))}},Ze=(e,t,r,n)=>(n=(n=(n=Me[e])&&n.$v)?n.$d.$a:{},t.indexOf(g)>0&&M(n,r),n),Be=e=>(Ee||(c=f.body,e=I.rootId,T(e)||(c.id=e),Ee=new Je(e)),Ee),De=(e,t)=>{H(Me,e)||(Me[e]=t,Je.fire("add",{vframe:t}),(e=T(e))&&(e.vframe=t))},ze=(e,t,r)=>{for(t=e.$f;t.length;)(r=t.shift()).r||e.invoke(r.n,r.a),delete t[r.k]},Fe=[];function Je(e,t,r){(r=this).id=e,r.$c={},r.$cc=0,r.$rc=0,r.$g=r.$g||1,r.$e={},r.$f=[],r.pId=t,De(e,r)}j(Je,{all:()=>Me,get:e=>Me[e]},oe),j(Je[b],oe,{mountView(e,t){let r,n,o,l,a,f=this,s=f.id,h=T(s),d=f.pId;!f.$h&&h&&(f.$h=1,f.$i=h.innerHTML),f.unmountView(),f.$b=0,r=Y(e||i),o=r.path,h&&o&&(f.path=e,l=r[v],Ze(d,e,l),f.$j=r.path,j(l,t),n=f.$g,R(o,e=>{if(n==f.$g){if(!e)return I.error(Error(`id:${s} cannot load:${o}`));a=Mt(e),o=new e(s,f,l,h,a),f.$v=o,f.$a=Oe,Nt(o),P(o.init,[l,{node:h,deep:!o.tmpl}],o),o.$b(),o.tmpl||(f.$h=0,o.$e||o.endUpdate())}}))},unmountView(){let t,r,n=this,{$v:i,id:o}=n;n.$f=[],i&&(Ne||(r=1,Ne={id:o}),n.$b=1,n.unmountZone(0,1),Re(n,Ne),n.$v=0,i.$a>0&&(i.$a=0,delete We[o],delete Ye[o],i.fire("destroy",0,1,1),At(i,1),Nt(i,1),i.owner=0),i.$a--,(t=T(o))&&n.$h&&e(t).html(n.$i),r&&(Ne=0)),n.$g++},mountVframe(e,t,r){let n,i=this,o=i.id,l=i.$c;return Re(i,{id:e}),(n=Me[e])||(H(l,e)||(i.$n=0,i.$cc++),l[e]=e,(n=Fe.pop())?Je.call(n,e,o):n=new Je(e,o)),n.mountView(t,r),n},mountZone(t,r){let n,i,o=this,l=[];t=t||o.id;let a=e(`#${t} [mx-view]`);for(n of(o.$d=1,a))n.$b||(i=O(n),n.$b=1,l.push([i,h(n,"mx-view")]));for([i,n]of l)o.mountVframe(i,n);o.$d=0,r||Le(o)},unmountVframe(e,t){let r;if(e=e?this.$c[e]:this.id,r=Me[e]){let{$cr:n,pId:i}=r;r.unmountView(),((e,t,r)=>{(r=Me[e])&&(delete Me[e],Je.fire("remove",{vframe:r,fcc:t}),(e=T(e))&&(e.$b=0,e.vframe=0,e.$a=0))})(e,n),r.id=r.pId=r.$c=r.$e=0,r.$h=0,r.off("alter"),r.off("created"),Fe.push(r),(r=Me[i])&&H(r.$c,e)&&(delete r.$c[e],r.$n=0,r.$cc--,t||Le(r))}},unmountZone(e,t){let r,n=this;for(r in n.$c)(!e||r!=e&&q(r,e))&&n.unmountVframe(r,1);t||Le(n)},parent(e,t){for(t=this,e=e>>>0||1;t&&e--;)t=Me[t.pId];return t},children(e){return(e=this).$n||(e.$n=A(e.$c))},invoke(e,t){let r,n,i,o,l,a=this.$f;return(n=this.$v)&&n.$e?r=(i=n[e])&&P(i,t,n):((o=a[l=g+e])&&(o.r=t===o.a),o={n:e,a:t,k:l},a.push(o),a[l]=o),r}}),ie.Vframe=Je,e.fn.invokeView=function(e,t){let r,n,i=[];for(r of this)n=r.vframe,i.push(n&&n.invoke(e,t));return i};let Qe=new L(30,10),Xe=/(?:([\w\-]+)\x1e)?([^(]+)\(([\s\S]*)?\)/,Ge={},Ke={},We={},Ye={},et=0,tt=(e,t)=>{let r,n,i,l,a,f,s=[],d=e,$=h(e,`mx-${t}`),u=[],p="#",m=0;if($&&((a=Qe.get($))||(a={v:(a=$.match(Xe)||o)[1],n:a[2],i:a[3]},Qe.set($,a)),a={...a,r:$}),a&&!a.v||Ke[t]){if((i=Ye[n=d.$d])&&1==i[d.$e]&&(f=1,p=n),!f){for(u.push(d);d!=c&&(d=d.parentNode);){if(Me[n=d.id]||(i=Ye[n=d.$d])&&1==i[d.$e]){p=n;break}u.push(d)}for($ of u)(n=Ye[p])||(n=Ye[p]={}),n[i=$.$e||($.$e=++et)]=1,$.$d=p}d=e.id,Me[d]&&(m=p=d);do{if((r=Me[p])&&(f=r.$v)){if(l=(i=f.$so)[t])for(d=l.length;d--;)i={r:n=l[d],v:p,n:n},n?!m&&z(e,n)&&s.push(i):m&&s.unshift(i);if(f.tmpl&&!m){a&&!a.v&&(a.v=p);break}m=0}}while(r&&(p=r.pId))}return a&&s.push(a),s},rt=e=>{let t,r,n,i,o,l,a,f,{target:s,type:h}=e,d=[];for(;s!=c;){if((t=tt(s,h)).length){d=[];for(let{v:r,r:d,n:$,i:u}of t){if(a!=r){if(a&&e.isPropagationStopped())break;a=r}(i=(n=Me[r])&&n.$v)?(l=i[o=$+g+h])&&(e.eventTarget=s,f=u?ne(u,i.$d.$a):{},e[v]=f,P(l,e,i)):e.stopPropagation()}}if((r=We[l=s.$d])&&(r=r[s.$e])&&r[h]||e.isPropagationStopped()){d.length&&d.push(l);break}a=s.id,Me[a]&&d.push(a),d.push(s),s=s.parentNode||c}if(l=d.length)for(r="#";l--;)(i=d[l]).nodeType?((t=We[r])||(t=We[r]={}),(f=t[a=i.$e||(i.$e=++et)])||(f=t[a]={}),f[h]=1):r=i},nt=(e,t,r)=>{let n=0|Ge[e],i=r?-1:1;n&&r!==n||J(c,e,rt,r),Ge[e]=n+i,t&&(Ke[e]=(0|Ke[e])+i)},it="http://www.w3.org/2000/svg",ot="http://www.w3.org/1998/Math/MathML",lt={option:[1,"<select multiple>"],thead:[1,"<table>"],col:[2,"<table><colgroup>"],tr:[2,"<table><tbody>"],td:[3,"<table><tbody><tr>"],area:[1,"<map>"],param:[1,"<object>"],g:[1,`<svg xmlns="${it}">`],m:[1,`<math xmlns="${ot}">`],_:[0,""]},at=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;lt.optgroup=lt.option,lt.tbody=lt.tfoot=lt.colgroup=lt.caption=lt.thead,lt.th=lt.td;let ft=f.implementation.createHTMLDocument(i),st=ft.createElement("base");st.href=f.location.href,ft.head.appendChild(st);let ht=(e,t)=>{if(1==t.nodeType){let r=O(t);e.unmountZone(r,1),e.$c[r]&&e.unmountVframe(r,1)}},dt={INPUT:["value","checked"],TEXTAREA:["value"],OPTION:["selected"]},$t=(e,t)=>(1==e.nodeType&&(e.$f?t=e.$g:((t=e.$a?i:h(e,"id"))||(t=h(e,"mxs")),t||(t=h(e,"mx-view"))&&(t=Y(t).path),e.$f=1,e.$g=t)),t),ut=(e,t,r,n,i)=>{let o,l,a,f,s,h=e.lastChild,d=t.firstChild,$=0,u={},c={};for(;h;)$++,(a=$t(h))&&(a=u[a]||(u[a]=[])).push(h),h=h.previousSibling;for(;d;)(a=$t(d))&&(c[a]=(c[a]||0)+1),d=d.nextSibling;for(d=t.firstChild,h=e.firstChild;d;)if($--,o=d,d=d.nextSibling,(f=u[a=$t(o)])&&(f=f.pop())){for(;f!=h;)s=h.nextSibling,e.appendChild(h),h=s;h=f.nextSibling,c[a]&&c[a]--,ct(f,o,e,r,n,i)}else h?(a=$t(l=h))&&u[a]&&c[a]?($++,r.c=1,r.n.push([8,e,o,l])):(h=h.nextSibling,ct(l,o,e,r,n,i)):(r.c=1,r.n.push([1,e,o]));for(l=e.lastChild;$-- >0;)ht(n,l),r.n.push([2,e,l]),l=l.previousSibling,r.c=1},ct=(e,t,r,n,o,l)=>{if(((e,t)=>{let r,n=e.nodeName,i=dt[n],o=0;if(i)for(r of i)e[r]!=t[r]&&(o=1,e[r]=t[r]);return o})(e,t)||1==e.nodeType&&e.hasAttribute("mxv")||!e.isEqualNode||!e.isEqualNode(t))if(e.nodeName===t.nodeName)if(1===e.nodeType){let r=h(t,"mxs");if(r&&r==h(e,"mxs"))return;let a,f,s,d,$,u,c,p=h(t,"mx-view"),m=t.innerHTML,g=h(t,"mxa"),b=!g||g!=h(e,"mxa"),w=Me[h(e,"id")],y=p&&Y(p);if(p&&w&&(!h(t,"id")||h(t,"id")==h(e,"id"))&&w.$j==y.path&&(d=w.$v)){if(u=m!=w.$i,c=p!=w.path,s=h(e,"mxv"),!u&&!c&&s)for(s of $=s.split(","))if("#"==s||H(l,s)){c=1;break}(c||u)&&((s=d.$e&&d.$f)?($=y[v],Ze(w.pId,p,$),w.$i=m,w.path=p,y={node:t,deep:!d.tmpl,attr:b,inner:u,query:c,keys:l},P(s,[$,y],d)&&n.v.push(d),a=y.deep):(f=1,a=1))}else a=1,f=w;f&&(n.c=1,w.unmountVframe(0,1)),b&&((e,t,r,n)=>{let o,l,a,f;delete e.$f;let s=e.attributes,d=t.attributes;for(l=s.length;l--;)o=s[l].name,t.hasAttribute(o)||("id"==o?n||r.d.push([e,i]):(r.c=1,e.removeAttribute(o)));for(l=d.length;l--;)a=(o=d[l]).name,f=o.value,h(e,a)!=f&&("id"==a?r.d.push([e,f]):(r.c=1,e.setAttribute(a,f)))})(e,t,n,w&&p),a&&ut(e,t,n,o,l)}else e.nodeValue!==t.nodeValue&&(n.c=1,e.nodeValue=t.nodeValue);else ht(o,e),n.c=1,n.n.push([4,r,t,e])},pt={"&":"amp","<":"lt",">":"gt",'"':"#34","'":"#39","`":"#96"},mt=/[&<>"'\`]/g,gt=e=>""+(null==e?"":e),bt=e=>`&${pt[e]};`,vt=e=>gt(e).replace(mt,bt),wt=(e,t,r,n)=>{for(n=e[g];--n;)if(e[r=g+n]===t)return r;return e[r=g+e[g]++]=t,r},yt={"!":"%21","'":"%27","(":"%28",")":"%29","*":"%2A"},xt=e=>yt[e],kt=/[!')(*]/g,Vt=e=>encodeURIComponent(gt(e)).replace(kt,xt),It=/[\\'"]/g,Tt=e=>gt(e).replace(It,"\\$&"),Ct=(e,t)=>{let r,n,i=e.$k,o=e.$c,l=e.$b,a=Me[l],f=a&&a.$v,s={d:[],v:[],n:[]},h=T(l),$=e.$d,u=e.$a,c=r=>{t.i<t.length?Ct(e,t):(s=t.slice(),t.i=t.length=0,r&&f.fire("domready"),P(s))};if(t.i=t.length,e.$c=0,e.$k={},o&&f&&h&&f.$a>0&&(r=f.tmpl)&&f.$d==e){for(n of(f.fire("dompatch"),delete We[l],delete Ye[l],n=((e,t)=>{let r,n=ft.createElement("div"),i=t.namespaceURI;r=i==it?"g":i==ot?"m":(at.exec(e)||[0,""])[1];let o=lt[r]||lt._;n.innerHTML=o[1]+e;let l=o[0];for(;l--;)n=n.lastChild;return n})(r($,l,u,vt,gt,Vt,wt,Tt),h),ut(h,n,s,a,i),s.d))n[0].id=n[1];for(n of s.n)1==n[0]?n[1].appendChild(n[2]):2==n[0]?n[1].removeChild(n[2]):4==n[0]?n[1].replaceChild(n[2],n[3]):n[1].insertBefore(n[2],n[3]);for(n of(a.$d=r=s.c||!f.$e,s.v))n.$b();r&&f.endUpdate(l),s.c&&d.fire("htmlchanged",{vId:l}),c(1)}else c()};function St(e){let t=this;t.$b=e,t.$c=1,t.$d={vId:e},t.$a={[g]:1},t.$e=[],t.$k={}}j(St[b],{get(e,t){return t=this.$d,e&&(t=t[e]),t},set(e,t){let r=this;return r.$c=S(e,r.$d,r.$k,t)||r.$c,r},digest(e,t,r){let n=this.set(e,t),i=n.$e;r&&i.push(r),i.i||Ct(n,i)},snapshot(){return this.$f=m(this.$d),this},altered(){let e=this;if(e.$f)return e.$f!=m(e.$d)},translate(e){return M(this.$d,e)},parse(e){return ne(e,this.$a)}});let qt=/^(\$?)([^<]*)<([^>]+)>(?:&(.+))?$/,jt=(e,t,r)=>(e.a?r=e:((r=function(e){P(r.a,e,this)}).a=[e],r.b=1),r.a=r.a.concat(t.a||t),r),At=(e,t)=>{let r,n,i=e.$r;for(r in i)n=i[r],(t||n.x)&&Ut(i,r,1)},Ut=(e,t,r,n)=>{let i,l,a=e[t];return a&&a!=n&&((i=(l=a.e).destroy)&&r&&P(i,o,l),delete e[t]),l},Et=(e,t,r,n,i)=>{n=e[t],e[t]=e[r]=function(...e){if((i=this).$a>0)return i.$a++,i.fire("rendercall"),At(i),P(n,e,i)}},Nt=(e,t)=>{let r,{$eo:n,$so:i,$el:o,id:l}=e;for(r in n)nt(r,i[r],t);for(r of o)J(r.e,r.n,F,t,{i:l,v:e,f:r.f,m:r.m,e:r.e})},Ot={win:l,doc:f},Pt=(e,t,r)=>{let n,i,o,l,a={};for(i of e)for(n in i)o=i[n],l=a[n],"ctor"!=n?(qt.test(n)&&(l?o=jt(l,o):o.b=1),a[n]=o):r.push(o);for(n in a)H(t,n)||(t[n]=a[n])};function Ht(...e){let t=this._||(this._=[]);return Pt(e,this[b],t),this}let Mt=e=>{if(!e[g]){e[g]=[];let t,r,n,i,o,l,a,f,s,h,d,$=e[b],u={},c=[],p={};for(a in(r=$.mixins)&&Pt(r,$,e[g]),$)if(t=$[a],r=a.match(qt)){if([,l,n,i,d]=r,h={},d)for(f of d=d.split(","))h[f]=!0;for(f of i=i.split(",")){if(o=Ot[n],s=1,l){if(o){c.push({f:t,e:o,n:f,m:h});continue}s=2,(o=p[f])||(o=p[f]=[]),o[n]||(o[n]=1,o.push(n))}u[f]=u[f]|s,(o=$[f=n+g+f])?o.b&&(t.b?$[f]=jt(t,o):H($,a)&&($[f]=t)):$[f]=t}}Et($,"render","$b"),$.$eo=u,$.$el=c,$.$so=p,$.$f=$.assign}return e[g]},_t=e=>{let t,r,n,i=e.$l;if(i.f&&(i.p&&(t=ue.path),!t&&i.k))for(r of(n=ue[v],i.k))if(t=H(n,r))break;return t};function Lt(e,t,r,n,i){(i=this).owner=t,i.id=e,i.$l={k:[]},i.$r={},i.$a=1,i.updater=i.$d=new St(i.id),(e=Lt._)&&P(e,[r,{node:n,deep:!i.tmpl}],i)}j(Lt,{merge:Ht,extend:function e(t,r){let n=this,i=(t=t||{}).ctor,o=[];function l(e,t,r,i,a,f,s,h,d){n.call(s=this,e,t,r,i,a),f=l._,h=[r,{node:i,deep:!s.tmpl}],f&&P(f,h,s),(d=o.concat(a)).length&&P(d,h,s)}return i&&o.push(i),l.merge=Ht,l.extend=e,B(l,n,t,r)}}),j(Lt[b],oe,{init:u,beginUpdate(e,t){(t=this).$a>0&&t.$e&&t.owner.unmountZone(e,1)},endUpdate(e,t,r,n,i){(r=this).$a>0&&(e=e||r.id,t?i=t:(i=r.$e,r.$e=1),(n=r.owner).mountZone(e,t),i||$(r.wrapAsync(ze),0,n))},wrapAsync(e,t){let r=this,n=r.$a;return(...i)=>{if(n>0&&n==r.$a)return e.apply(t||r,i)}},observeLocation(e,r){let n;(n=this.$l).f=1,t(e)&&(r=e.path,e=e[v]),n.p=r,e&&(n.k=(e+i).split(","))},observeState(e){this.$os=(e+i).split(",")},capture(e,t,r,n){return n=this.$r,t?(Ut(n,e,1,t),n[e]={e:t,x:r}):t=(n=n[e])&&n.e,t},release(e,t){return Ut(this.$r,e,t)},leaveTip(e,t){let r=this,n=i=>{let o="a",l="b";"change"!=i.type&&(o="b",l="a"),n[o]?(i.prevent(),i.reject()):t()&&(i.prevent(),n[l]=1,r.leaveConfirm(()=>{n[l]=0,i.resolve()},()=>{n[l]=0,i.reject()},e))},i=r=>{t()&&(r.msg=e)};Ue.on("change",n),Ue.on("pageunload",i),r.on("unload",n),r.on("destroy",()=>{Ue.off("change",n),Ue.off("pageunload",i)})},render:u}),ie.View=Lt;let Rt=e.type,Zt=Date.now;function Bt(){this.id=k("b"),this.$={}}j(Bt[b],{get(e,t){let n,o=this.$;if(e){let t,n=r(e)?e.slice():(e+i).split(".");for(;(t=n.shift())&&o;)o=o[t];t&&(o=a)}return t!==a&&(n=Rt(t))!=Rt(o)&&(o=t),o},set(e,r){t(e)||(e={[e]:r}),j(this.$,e)}});function Dt(e,t,r){(r=this[e])&&(delete this[e],P(r,t,r.e))}let zt=(e,t,r,n,i,o)=>{let l=[],a=null,f=0;return function(s,h){f++;let d,$,u=this,c=u.$b,p=c.k;if(l[s+1]=u,h?(a=h,d=1):o.has(p)||(p&&o.set(p,u),c.t=Zt(),($=c.a)&&P($,u,u),($=c.x)&&t.clear($),d=1),!r.$d){let t=f==n;t&&(r.$e=0,2==i&&(l[0]=a,P(e,l,r))),1==i&&P(e,[h||null,u,t,s],r)}d&&t.fire("end",{bag:u,error:h})}},Ft=(e,t,n,i,o)=>{if(e.$d)return e;if(e.$e)return e.enqueue(Ft.bind(e,e,t,n,i,o));e.$e=1,r(t)||(t=[t]);let l=e.constructor,a=0,f=l.$f,s=zt(n,l,e,t.length,i,l.$c);for(let e of t)if(e){let t,r=l.get(e,o),n=r.e,i=n.$b.k,h=s.bind(n,a++);i&&f[i]?f[i].push(h):r.u?(i&&((t=[h]).e=n,f[i]=t,h=Dt.bind(f,i)),l.$s(n,h)):h()}return e};function Jt(){let e=this;e.id=k("s"),e.$g=[]}j(Jt[b],{all(e,t){return Ft(this,e,t,2)},save(e,t){return Ft(this,e,t,2,1)},one(e,t){return Ft(this,e,t,1)},enqueue(e){let t=this;return t.$d||(t.$g.push(e),t.dequeue(t.$h)),t},dequeue(...e){let t,r=this;r.$e||r.$d||(r.$e=1,$(()=>{r.$e=0,r.$d||(t=r.$g.shift())&&P(t,r.$h=e)},0))},destroy(e){(e=this).$d=1,e.$g=0}});let Qt=(e,t)=>[m(t),m(e)].join(g),Xt=(e,t,r,n)=>{(n=e&&e.$b)&&t[n.n]&&r.del(n.k)},Gt={add(e){let t,n=this.$b;for(t of(r(e)||(e=[e]),e))if(t){let{name:e,cache:r}=t;t.cache=0|r,n[e]=t}},create(e){let r=this.meta(e),n=0|e.cache||r.cache,i=new Bt;i.set(r),i.$b={n:r.name,a:r.after,x:r.cleans,k:n&&Qt(r,e)},t(e)&&i.set(e);let o=r.before;return o&&P(o,i,i),this.fire("begin",{bag:i}),i},meta(e){return this.$b[e.name||e]||e},get(e,t){let r,n,i=this;return t||(r=i.cached(e)),r||(r=i.create(e),n=1),{e:r,u:n}},clear(e){this.$c.each(Xt,te((e+i).split(",")))},cached(e){let t,r,n=this,i=n.$c,o=n.meta(e),l=0|e.cache||o.cache;if(l&&(r=Qt(o,e)),r){let e=n.$f[r];e?t=e.e:(t=i.get(r))&&Zt()-t.$b.t>l&&(i.del(r),t=0)}return t},...oe};return Jt.extend=((e,t,r)=>{function n(){Jt.call(this)}return n.$s=e,n.$c=new L(t,r),n.$f={},n.$b={},B(n,Jt,null,Gt)}),ie.Service=Jt,j(u[b],oe),u.extend=function e(t,r){let n=this,i=t&&t.ctor;function o(...e){n.apply(this,e),i&&i.apply(this,e)}return o.extend=e,B(o,n,t,r)},ie.Base=u,ie});