grapper
Version:
Data Visualization Microframework
1 lines • 1.15 kB
JavaScript
/* grapper - 1.1.0-beta.3 [plugin.shapes.extra] */ (()=>{var _=t=>Math.round(t*1e4)/1e4;function d(t){return(t-90)*Math.PI/180}function $(t,o,n,l){return{x:_(t+n*Math.cos(l)),y:_(o+n*Math.sin(l))}}function h(t,o,n,l){let s=d(l);return $(t,o,n,s)}function C(t,o,n,l,s=0){let r=360/l,i="";for(let e=0;e<l;e++){let a=h(t,o,n,r*e+s);i+=`${e?"L":"M"}${a.x},${a.y}`}return i+="Z",i}function D(t,o,n,l,s,r=0){let i=360/s,e="";for(let a=0;a<s;a++){let f=h(t,o,n,i*a+r);e+=`${a?"L":"M"}${f.x},${f.y}`;let u=h(t,o,l,i*a+r+i/2);e+=`L${u.x},${u.y}`}return e+="Z",e}function E(t,o,n){return`M${t-n},${o}a${n},${n},0,1,0,${n*2},0a${n},${n},0,1,0,-${n*2},0`}function I(t,o,n,l,s=0,r=360){let i=(r-s)/10,e=(l-n)/i,a=d(s),u=(d(r)-a)/i,{x:p,y}=h(t,o,n,s),x=`M${p},${y}`;for(let c=1;c<=i;c++){let M=n+c*e,T=a+c*u,{x:m,y:P}=$(t,o,M,T),L=n+(c-.33)*e,b=a+(c-.33)*u,{x:v,y:w}=$(t,o,L,b),G=n+(c-.66)*e,S=a+(c-.66)*u,{x:V,y:Z}=$(t,o,G,S);x+=`C${v},${w},${V},${Z},${m},${P}`}return x}function R(t){t.extendPath({regularPolygon:C,star:D,circle:E,spiral:I})}var g=R;globalThis.gSVG&&globalThis.gSVG.install(g);customElements.whenDefined("grapper-view").then(t=>{t.install(g)});})();