UNPKG

graphane

Version:

Data Visualization Microframework

1 lines 3.65 kB
/* graphane - 1.0.1 [gsvg] */ (()=>{var v="function",Q="undefined",Z="object",K="string";var X="boolean";var tt="symbol",R="",_=",";var h=(t,n)=>typeof t===n,x=(t,n)=>t instanceof n,b=t=>h(t,Z),T=t=>h(t,K),S=t=>h(t,v);var $=t=>h(t,Q),I=t=>h(t,tt),P=t=>h(t,X);var O=t=>t===null;var D="gSVGObject",nt="http://www.w3.org/2000/svg",rt="svg",C="d",B="transform",V="appendChild",M="insertBefore",G="insertAdjacentElement",F="attach",H="innerHTML",j=new WeakMap,w=new Set,et=t=>I(t)||t.startsWith("_")||["el","gSVG","then"].includes(t),it=()=>D+Math.random().toString(32).substring(2),L=t=>b(t)&&!O(t)&&t[Symbol.toStringTag]===D,ot=t=>y(document.createElementNS(nt,t)),N=t=>T(t)?ot(t):b(t)&&t!==null?L(t)?t:y(t):t,st=t=>({content:H,source:"outerHTML",parent:"parentElement",next:"nextElementSibling",previous:"previousElementSibling",add:V,addBefore:M})[t]||t,ct=t=>["append","before","after",V,M,G].includes(t)?function(...n){let i=[],r=[],e=[];return t===G?(i.push(n[0]),r.push(N(n[1]))):t===M?(r.push(N(n[0])),e.push(n[1]||this.firstChild||null)):r.push(...n.map(N)),r.every(u=>u?._el)?(this[t](...i,...r.map(u=>u._el),...e),r.forEach(u=>u._el.dispatchEvent(new Event(F))),r.length>1?r:r[0]):null}:null,p=class{constructor(n){this._el=n,this.gSVG=d}get[Symbol.toStringTag](){return D}get el(){return this._el}attachTo(n){return(b(n)?L(n)?n._el:n:document.querySelector(n)).appendChild(this._el),this._el.dispatchEvent(new Event(F)),this}id(n){return n?(this._el.setAttribute("id",n),this):this._el.id||(this._el.id=it())}ref(){return`#${this.id()}`}url(){return`url(${this.ref()})`}parents(){let n=[],i=this;for(;i=i.parentElement();)n.push(i);return n}top(){return this.parents().pop()||this}},y=t=>{if(!b(t)||O(t))return null;if(j.has(t))return j.get(t);let n=new Proxy(new p(t),{get(i,r){if(et(r))return i[r];if(!$(i[r]))return(...o)=>(f(n,r,o),i[r].call(n,...o));if([C,B,"$"+C,"$"+B].includes(r)){let o="";r[0]==="$"&&(r=r.substring(1));let c=r===C?ut:ft,a=new Proxy(l=>(f(n,r,[l]),$(l)?t.getAttribute(r):(l?t.setAttribute(r,l):t.removeAttribute(r),n)),{get(l,g){return g in l?Reflect.get(l,g):(...W)=>{if(g===Symbol.toPrimitive){let q=o;return o="",q}return o+=c(n,g,W),t?.setAttribute(r,o),a}}});return a}let e=st(r),u=ct(e)||t[e];return S(u)?(...o)=>{f(n,r,o);let s=u.call(t,...o);return $(s)?n:U(s)}:k(t,e,n)}});return j.set(t,n),n},k=(t,n,i,r)=>{let e=n.replace(/_/g,"-"),u=(...o)=>{if(f(i,r?`${r}.${n}`:n,o),o.length===0){let c=t?.hasAttribute&&t.hasAttribute(e)?t.getAttribute(e):t[e];return U(c)}let s=o[0];if(x(t,CSSStyleDeclaration))return t[e]=s,i;if(e in t&&!w.has(e)){let c=t[e];if(String(c)===String(s))return i;try{t[e]=s}catch{w.add(e)}if(b(t[e])&&t[e]===s||t[e]!==c||e===H)return i;w.add(e)}return s!==0&&!s?t?.removeAttribute&&t.removeAttribute(e):t?.setAttribute&&t.setAttribute(e,P(s)?"":String(o)),i};return new Proxy(u,{get(o,s){let c=t[e][s];return S(c)?(...a)=>(f(i,`${n}.${s}`,a),c.call(t[e],...a)||i):k(t[e],s,i,e)},set(o,s,c){return t[e][s]=c,!0}})},U=t=>x(t,HTMLCollection)||x(t,NodeList)?[...t].map(n=>y(n)):x(t,SVGElement)?y(t):T(t)?t===""||isNaN(t)?t:Number(t):t,J=[],f=(t,n,i,r=[])=>{for(let e of J)e(d,t,n,i,r)},E={},ut=(t,n,i)=>(f(t,`d.${n}`,i,Object.keys(E).map(r=>`d.${r}`)),E[n]?E[n].apply(t,i):`${n}${i.join(_)}`),ft=(t,n,i)=>(f(t,`transform.${n}`,i),`${n}(${i.join(_)})`);function d(t){return f(null,R,[t]),N($(t)?rt:t)}d.isWrapped=L;var A=t=>n=>S(n)?n(t):Object.assign(t,n),m={install:Y,extendConstructor:A(d),extendInstance:A(p.prototype),extendPath:A(E),beforeEveryCall(t){S(t)&&J.push(t)}};m.extendSetup=A(m);function Y(t){return t(m),d}d.install=Y;var z=d;(typeof gobalThis<"u"?globalThis:window).gSVG=z;})();