@silurus/ooxml 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pptx.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./pptx-C4OquLff.cjs`);exports.PptxPresentation=t.r,exports.PptxViewer=t.n,exports.autoResize=e.t,exports.renderSlide=t.i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./pptx-BGtPXrb6.cjs`);exports.PptxPresentation=t.r,exports.PptxViewer=t.n,exports.autoResize=e.t,exports.renderSlide=t.i;
package/dist/pptx.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { t as e } from "./autoResize-U2-IRmNE.js";
2
- import { i as t, n, r } from "./pptx-zFBzecSl.js";
2
+ import { i as t, n, r } from "./pptx-CsVDY5Ej.js";
3
3
  export { r as PptxPresentation, n as PptxViewer, e as autoResize, t as renderSlide };
@@ -0,0 +1 @@
1
+ var e=[`4472C4`,`ED7D31`,`A9D18E`,`FF0000`,`70AD47`,`4BACC6`,`FFC000`,`9E480E`,`843C0C`,`636363`,`255E91`,`967300`];function t(t,n){return n?.color?`#${n.color}`:`#${e[t%e.length]}`}function n(t,n){let r=n.dataPointColors?.[t];return r?`#${r}`:`#${e[t%e.length]}`}function r(e,t){let n=e.startsWith(`#`)?e.slice(1):e;return`rgba(${parseInt(n.slice(0,2),16)},${parseInt(n.slice(2,4),16)},${parseInt(n.slice(4,6),16)},${t})`}function i(e,t=5){if(e===0)return 1;let n=e/t,r=10**Math.floor(Math.log10(n)),i=n/r;return(i<1.5?1:i<3.5?2:i<7.5?5:10)*r}function a(e,t){if(e<=0)return t;let n=Math.ceil(e/t)*t;return Math.abs(n-e)<t*1e-9?n+t:n}function o(e,t){if(e>=0)return 0;let n=Math.floor(e/t)*t;return Math.abs(n-e)<t*1e-9?n-t:n}function s(e){return Number.isInteger(e)?String(e):e.toFixed(6).replace(/\.?0+$/,``)}function c(e,t,n,r,i,a,o,s){e.save(),e.font=`${s}px sans-serif`,e.fillStyle=`#555`,o===`cat`?(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t.slice(0,30),n+i/2,r+a+s+2)):(e.translate(n-s-4,r+a/2),e.rotate(-Math.PI/2),e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t.slice(0,30),0,0)),e.restore()}function l(e,n,r,i,a,o,s=`vertical`){if(s===`horizontal`){let s=Math.max(9,Math.min(12,o*.7));e.font=`${s}px sans-serif`,e.textBaseline=`middle`;let c=n.map((e,t)=>e.name||`Series ${t+1}`),l=c.map(t=>14+e.measureText(t.slice(0,30)).width),u=r+(a-(l.reduce((e,t)=>e+t,0)+12*Math.max(0,n.length-1)))/2,d=i+o/2;for(let r=0;r<n.length;r++)e.fillStyle=t(r,n[r]),e.fillRect(u,d-s/2,10,s),e.fillStyle=`#333`,e.textAlign=`left`,e.fillText(c[r].slice(0,30),u+10+4,d),u+=l[r]+12;return}let c=Math.max(9,Math.min(12,o/(n.length+1)));e.font=`${c}px sans-serif`,e.textBaseline=`middle`;let l=c+4,u=i+(o-l*n.length)/2;for(let i=0;i<n.length;i++){e.fillStyle=t(i,n[i]),e.fillRect(r,u,10,c),e.fillStyle=`#333`,e.textAlign=`left`;let a=n[i].name||`Series ${i+1}`;e.fillText(a.slice(0,20),r+10+4,u+c/2),u+=l}}function u(e,t,n){if(!e.showLegend)return null;let r=e.legendPos??`r`,i=r===`l`?`l`:r===`t`?`t`:r===`b`?`b`:`r`;return i===`r`||i===`l`?{side:i,reserveW:Math.max(80,t*.22),reserveH:0}:{side:i,reserveW:0,reserveH:Math.max(18,n*.08)}}function d(e,t,n,r,i,a,o,s,c,u,d,f){if(n)switch(n.side){case`r`:l(e,t.series,r+a-n.reserveW+4,c,n.reserveW-8,d);break;case`l`:l(e,t.series,r+4,c,n.reserveW-8,d);break;case`t`:l(e,t.series,s,i+f,u,n.reserveH,`horizontal`);break;case`b`:l(e,t.series,s,i+o-n.reserveH,u,n.reserveH,`horizontal`);break}}function f(e,t,n,r,i){if(t===`none`||!t)return;let a=e.strokeStyle;if(e.strokeStyle=`#888`,e.lineWidth=1,e.beginPath(),n===`val`){let n=r,a=i,o=t===`out`||t===`cross`?-4:0,s=t===`in`||t===`cross`?4:0;e.moveTo(n+o,a),e.lineTo(n+s,a)}else{let n=r,a=i,o=t===`out`||t===`cross`?4:0,s=t===`in`||t===`cross`?-4:0;e.moveTo(a,n+o),e.lineTo(a,n+s)}e.stroke(),e.strokeStyle=a}function p(e,t,n){return e.titleFontSizeHpt?e.titleFontSizeHpt/100*n:Math.max(10,t*.085)}function m(e,t,n){return e?e/100*n:Math.max(8,t*.045)}function h(e,t,n,r,i,a){t.title&&(e.font=`bold ${a}px ${t.titleFontFace?`"${t.titleFontFace}", Calibri, Arial, sans-serif`:`Calibri, Arial, sans-serif`}`,e.fillStyle=t.titleFontColor?`#${t.titleFontColor}`:`#333`,e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t.title,n+i/2,r))}function g(e){if(e.categories.length>0)return e.categories;let t=e.series[0];if(t?.categories&&t.categories.length>0)return t.categories;let n=0;for(let t of e.series)t.values.length>n&&(n=t.values.length);return n>0?Array.from({length:n},(e,t)=>String(t+1)):[]}function _(e,n,r,o){let{x:l,y:f,w:m,h:_}=r,v=n.chartType===`clusteredBarH`||n.chartType===`stackedBarH`||n.chartType===`stackedBarHPct`,y=n.chartType.startsWith(`stacked`),b=n.chartType===`stackedBarPct`||n.chartType===`stackedBarHPct`,x=n.series.filter(e=>e.seriesType!==`line`),S=n.series.filter(e=>e.seriesType===`line`),C=g(n),w=C.length;if(w===0)return;let T=n.title?p(n,_,o):0,E=n.title?_*.02:0,D=n.title?_*.025:0,O=n.title?T+E+D:0,k=u(n,m,_),A=k?.side===`r`?k.reserveW:0,j=k?.side===`l`?k.reserveW:0,M=k?.side===`t`?k.reserveH:0,N=k?.side===`b`?k.reserveH:0,P=Math.max(8,Math.min(10,_*.045)),F=n.catAxisTitle?P+4:0,I=n.valAxisTitle?P+4:0,L={t:O+M+_*.02,r:A+m*.03,b:_*.14+F+N,l:m*.12+I+j};v&&(L.l=m*.22+I+j,L.b=_*.08+F+N),h(e,n,l,f+E,m,T);let R=l+L.l,z=f+L.t,B=m-L.l-L.r,V=_-L.t-L.b;if(B<=0||V<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(R,z,B,V));let H=0;for(let e=0;e<w;e++){let t=0;for(let n of x){let r=n.values[e]??0;y?t+=Math.abs(r):H=Math.max(H,Math.abs(r))}y&&(H=Math.max(H,t))}b&&(H=100),n.valMax!=null&&(H=n.valMax),H===0&&(H=1);let U=i(H),W=n.valMax??a(H,U),G=`#e0e0e0`,K=Math.round(W/U);if(e.textBaseline=`middle`,e.font=`${Math.max(8,Math.min(11,V/20))}px sans-serif`,e.fillStyle=`#555`,!n.valAxisHidden)for(let t=0;t<=K;t++){let n=t*U,r=b?`${Math.round(n)}%`:s(n);if(v){let i=R+n/W*B;e.strokeStyle=t===0?`#aaa`:G,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(i,z),e.lineTo(i,z+V),e.stroke(),e.textAlign=`center`,e.fillText(r,i,z+V+10)}else{let i=z+V-n/W*V;e.strokeStyle=t===0?`#aaa`:G,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(R,i),e.lineTo(R+B,i),e.stroke(),e.textAlign=`right`,e.fillText(r,R-4,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,v?(e.beginPath(),e.moveTo(R,z),e.lineTo(R,z+V),e.stroke()):(e.beginPath(),e.moveTo(R,z+V),e.lineTo(R+B,z+V),e.stroke());let q=v?V/w:B/w,J=q*(y?.6:.6/Math.max(1,x.length)),Y=y?0:q*.6/Math.max(1,x.length),X=q*.2;for(let r=0;r<w;r++){let i=0,a=0;if(b){for(let e of x)a+=Math.abs(e.values[r]??0);a===0&&(a=1)}for(let o=0;o<x.length;o++){let c=x[o],l=c.values[r]??0,u=b?Math.abs(l)/a*100:Math.abs(l),d=t(o,c);if(v){let t=y?z+(w-1-r)*q+X:z+(w-1-r)*q+X+o*Y,a=u/W*B,c=y?R+i/W*B:R;e.fillStyle=d,e.fillRect(c,t,a,J),n.showDataLabels&&u>0&&(e.font=`bold ${Math.max(7,Math.min(10,J*.7))}px sans-serif`,e.fillStyle=`#333`,e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(b?`${Math.round(u)}%`:s(u),c+a+2,t+J/2))}else{let t=y?R+r*q+X:R+r*q+X+o*Y,a=u/W*V,c=z+V-(y?i+u:u)/W*V;e.fillStyle=d,e.fillRect(t,c,J,a),n.showDataLabels&&u>0&&(e.font=`bold ${Math.max(7,Math.min(10,J*.7))}px sans-serif`,e.fillStyle=`#333`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(b?`${Math.round(u)}%`:s(u),t+J/2,c-1))}y&&(i+=u)}}if(!n.catAxisHidden){e.fillStyle=`#555`,e.font=`${Math.max(8,Math.min(11,q*.5))}px sans-serif`;for(let t=0;t<w;t++){let n=(C[t]??``).toString().slice(0,12);if(v){let r=z+(w-1-t)*q+q/2;e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(n,R-4,r)}else{let r=R+t*q+q/2;e.textAlign=`center`,e.textBaseline=`top`,e.fillText(n,r,z+V+3)}}}if(S.length>0&&!v)for(let n=0;n<S.length;n++){let r=S[n],i=t(x.length+n,r);e.strokeStyle=i,e.lineWidth=2,e.setLineDash([]),e.beginPath();let a=!1;for(let t=0;t<w;t++){let n=r.values[t];if(n==null){a=!1;continue}let i=R+t*q+q/2,o=z+V-n/W*V;a?e.lineTo(i,o):(e.moveTo(i,o),a=!0)}if(e.stroke(),r.showMarker!==!1)for(let t=0;t<w;t++){let n=r.values[t];if(n==null)continue;let a=R+t*q+q/2,o=z+V-n/W*V;e.fillStyle=i,e.beginPath(),e.arc(a,o,3,0,Math.PI*2),e.fill()}}d(e,n,k,l,f,m,_,R,z,B,V,O+2),n.catAxisTitle&&c(e,n.catAxisTitle,R,z,B,V,`cat`,P),n.valAxisTitle&&c(e,n.valAxisTitle,R,z,B,V,`val`,P)}function v(e,n,r,l){let{x:_,y:v,w:y,h:b}=r,x=g(n),S=x.length;if(S===0)return;let C=n.title?p(n,b,l):0,w=n.title?b*.045:0,T=n.title?b*.035:0,E=n.title?C+w+T:0,D=u(n,y,b),O=D?.side===`r`?D.reserveW:0,k=D?.side===`l`?D.reserveW:0,A=D?.side===`t`?D.reserveH:0,j=D?.side===`b`?D.reserveH:0,M=m(n.catAxisFontSizeHpt,b,l),N=m(n.valAxisFontSizeHpt,b,l),P=Math.max(M,N),F=n.catAxisTitle?P+4:0,I=n.valAxisTitle?P+4:0,L={t:E+A+N/2+2,r:O+y*.05,b:M+12+F+j,l:N*2.2+10+I+k};h(e,n,_,v+w,y,C);let R=_+L.l,z=v+L.t,B=y-L.l-L.r,V=b-L.t-L.b;if(B<=0||V<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(R,z,B,V));let H=1/0,U=-1/0;for(let e of n.series)for(let t of e.values)t!=null&&(H=Math.min(H,t),U=Math.max(U,t));isFinite(H)||(H=0,U=1),n.valMin==null?H>0&&(H=0):H=n.valMin,n.valMax==null?U<0&&(U=0):U=n.valMax,U===H&&(U=H+1);let W=i(U-H),G=n.valMin??o(H,W),K=n.valMax??a(U,W),q=K-G;if(q===0)return;let J=e=>z+V-(e-G)/q*V,Y=n.catAxisCrossBetween===`midCat`?e=>R+(S===1?B/2:e/(S-1)*B):e=>R+(e+.5)/S*B;if(!n.valAxisHidden){let t=Math.round((K-G)/W);e.font=`${N}px sans-serif`,e.textBaseline=`middle`;for(let r=0;r<=t;r++){let t=G+r*W,i=J(t);e.strokeStyle=t===0?`#aaa`:`#e0e0e0`,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(R,i),e.lineTo(R+B,i),e.stroke(),f(e,n.valAxisMajorTickMark,`val`,R,i),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(s(t),R-6,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(R,z+V),e.lineTo(R+B,z+V),e.stroke(),n.valAxisHidden||(e.beginPath(),e.moveTo(R,z),e.lineTo(R,z+V),e.stroke());let X=Math.max(1,2.25*l),Z=Math.max(2,2.5*l),Q=m(n.dataLabelFontSizeHpt,b,l);for(let r=0;r<n.series.length;r++){let i=n.series[r],a=t(r,i);e.strokeStyle=a,e.lineWidth=X,e.setLineDash([]),e.beginPath();let o=!1;for(let t=0;t<S;t++){let n=i.values[t];if(n==null){o=!1;continue}let r=Y(t),a=J(n);o?e.lineTo(r,a):(e.moveTo(r,a),o=!0)}e.stroke(),e.fillStyle=a;let c=i.showMarker!==!1;for(let t=0;t<S;t++){let r=i.values[t];if(r!=null&&(c&&(e.beginPath(),e.arc(Y(t),J(r),Z,0,Math.PI*2),e.fill()),n.showDataLabels)){e.font=`${Q}px sans-serif`,e.fillStyle=`#333`,e.textAlign=`center`,e.textBaseline=`bottom`;let n=c?Z+1:2;e.fillText(s(r),Y(t),J(r)-n),e.fillStyle=a}}}if(!n.catAxisHidden){let t=Math.max(1,Math.ceil(S/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${M}px sans-serif`;for(let r=0;r<S;r+=t){let t=Y(r);f(e,n.catAxisMajorTickMark,`cat`,z+V,t),e.fillStyle=`#555`,e.fillText((x[r]??``).toString().slice(0,10),t,z+V+5)}}d(e,n,D,_,v,y,b,R,z,B,V,E+2),n.catAxisTitle&&c(e,n.catAxisTitle,R,z,B,V,`cat`,P),n.valAxisTitle&&c(e,n.valAxisTitle,R,z,B,V,`val`,P)}function y(e,n,o,l){let{x:f,y:m,w:_,h:v}=o,y=g(n),b=y.length;if(b===0)return;let x=n.chartType===`stackedArea`||n.chartType===`stackedAreaPct`,S=n.title?p(n,v,l):0,C=n.title?v*.035:0,w=n.title?v*.035:0,T=n.title?S+C+w:0,E=u(n,_,v),D=E?.side===`r`?E.reserveW:0,O=E?.side===`l`?E.reserveW:0,k=E?.side===`t`?E.reserveH:0,A=E?.side===`b`?E.reserveH:0,j=Math.max(8,Math.min(10,v*.045)),M=n.catAxisTitle?j+4:0,N=n.valAxisTitle?j+4:0,P={t:T+k+v*.02,r:D+_*.05,b:v*.14+M+A,l:_*.12+N+O};h(e,n,f,m+C,_,S);let F=f+P.l,I=m+P.t,L=_-P.l-P.r,R=v-P.t-P.b;if(L<=0||R<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(F,I,L,R));let z=0;for(let e=0;e<b;e++)if(x){let t=0;for(let r of n.series)t+=r.values[e]??0;z=Math.max(z,t)}else for(let t of n.series)z=Math.max(z,t.values[e]??0);n.valMax!=null&&(z=n.valMax),z===0&&(z=1);let B=i(z),V=n.valMax??a(z,B),H=e=>F+(b===1?L/2:e/(b-1)*L),U=e=>I+R-e/V*R;if(!n.valAxisHidden){e.font=`${Math.max(8,Math.min(11,R/20))}px sans-serif`,e.textBaseline=`middle`;let t=Math.round(V/B);for(let n=0;n<=t;n++){let t=n*B,r=U(t);e.strokeStyle=n===0?`#aaa`:`#e0e0e0`,e.lineWidth=n===0?1:.5,e.beginPath(),e.moveTo(F,r),e.lineTo(F+L,r),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(s(t),F-4,r)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(F,I+R),e.lineTo(F+L,I+R),e.stroke();let W=x?Array(b).fill(0):null;for(let i=n.series.length-1;i>=0;i--){let a=n.series[i],o=t(i,a),s=I+R;if(e.beginPath(),x&&W){for(let t=0;t<b;t++){let n=(a.values[t]??0)+W[t],r=H(t),i=U(n);t===0?e.moveTo(r,i):e.lineTo(r,i)}for(let t=b-1;t>=0;t--)e.lineTo(H(t),U(W[t]));for(let e=0;e<b;e++)W[e]+=a.values[e]??0}else{e.moveTo(H(0),s);for(let t=0;t<b;t++)e.lineTo(H(t),U(a.values[t]??0));e.lineTo(H(b-1),s)}e.closePath(),e.fillStyle=r(o,.6),e.fill(),e.strokeStyle=o,e.lineWidth=1.5,e.setLineDash([]),e.stroke()}if(!n.catAxisHidden){let t=Math.max(1,Math.ceil(b/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${Math.max(8,Math.min(11,L/b*.8))}px sans-serif`;for(let n=0;n<b;n+=t)e.fillText((y[n]??``).toString().slice(0,10),H(n),I+R+3)}d(e,n,E,f,m,_,v,F,I,L,R,T+2),n.catAxisTitle&&c(e,n.catAxisTitle,F,I,L,R,`cat`,j),n.valAxisTitle&&c(e,n.valAxisTitle,F,I,L,R,`val`,j)}function b(t,r,i,a,o){let{x:s,y:c,w:l,h:u}=i,f=r.series[0];if(!f)return;let m=f.categories&&f.categories.length>0?f.categories:r.categories,g=f.values.map(e=>Math.abs(e??0)),_=g.reduce((e,t)=>e+t,0);if(_===0)return;let v=r.title?p(r,u,o):0,y=r.title?u*.035:0,b=r.title?u*.035:0,x=r.title?v+y+b:0;h(t,r,s,c+y,l,v);let S=r.showLegend?(()=>{let e=r.legendPos??`r`,t=e===`l`?`l`:e===`t`?`t`:e===`b`?`b`:`r`;return t===`r`||t===`l`?{side:t,reserveW:Math.max(80,l*.28),reserveH:0}:{side:t,reserveW:0,reserveH:Math.max(18,u*.08)}})():null,C=S?.side===`r`?S.reserveW:0,w=S?.side===`l`?S.reserveW:0,T=S?.side===`t`?S.reserveH:0,E=S?.side===`b`?S.reserveH:0,D=l-C-w,O=u-x-T-E-u*.02,k=s+w+D/2,A=c+x+T+u*.02+O/2,j=Math.min(D,O)*.42,M=a?j*.5:0,N=-Math.PI/2;for(let e=0;e<g.length;e++){let i=g[e]/_*Math.PI*2,o=n(e,f);if(t.beginPath(),t.moveTo(k,A),t.arc(k,A,j,N,N+i),t.closePath(),t.fillStyle=o,t.fill(),t.strokeStyle=`#fff`,t.lineWidth=1,t.stroke(),r.showDataLabels&&i>.15){let n=N+i/2,r=j*(a?.75:.6),o=k+Math.cos(n)*r,s=A+Math.sin(n)*r,c=Math.round(g[e]/_*100);t.font=`bold ${Math.max(8,j*.1)}px sans-serif`,t.fillStyle=`#fff`,t.textAlign=`center`,t.textBaseline=`middle`,t.fillText(`${c}%`,o,s)}N+=i}if(a&&(t.beginPath(),t.arc(k,A,M,0,Math.PI*2),t.fillStyle=`#fff`,t.fill()),S){let n=g.map((t,n)=>({name:(m[n]??`Item ${n+1}`).toString(),color:f.dataPointColors?.[n]??f.color??e[n%e.length],values:[]})),i=k-D/2;d(t,{...r,series:n},S,s,c,l,u,i,A-O/2,D,O,x+2)}}function x(e,n,o,c){let{x:l,y:f,w:_,h:v}=o,y=g(n),b=y.length;if(b<3)return;let x=n.title?p(n,v,c):0,S=n.title?v*.035:0,C=n.title?v*.035:0,w=n.title?x+S+C:0,T=u(n,_,v),E=T?.side===`r`?T.reserveW:0,D=T?.side===`l`?T.reserveW:0,O=T?.side===`t`?T.reserveH:0,k=T?.side===`b`?T.reserveH:0;h(e,n,l,f+S,_,x);let A=_-E-D,j=v-w-O-k-v*.02,M=l+D+A/2,N=f+w+O+v*.02+j/2,P=Math.min(A,j)*.38,F=0;for(let e of n.series)for(let t of e.values)F=Math.max(F,t??0);n.valMax!=null&&(F=n.valMax),F===0&&(F=1);let I=i(F),L=n.valMax??a(F,I),R=-Math.PI/2,z=e=>R+e/b*Math.PI*2,B=Math.round(L/I);e.strokeStyle=`#ddd`,e.lineWidth=.5;for(let t=1;t<=B;t++){let n=t/B*P;e.beginPath();for(let t=0;t<b;t++){let r=z(t),i=M+Math.cos(r)*n,a=N+Math.sin(r)*n;t===0?e.moveTo(i,a):e.lineTo(i,a)}e.closePath(),e.stroke()}e.strokeStyle=`#bbb`,e.lineWidth=.5;for(let t=0;t<b;t++){let n=z(t);e.beginPath(),e.moveTo(M,N),e.lineTo(M+Math.cos(n)*P,N+Math.sin(n)*P),e.stroke()}if(!n.valAxisHidden){e.font=`${m(n.valAxisFontSizeHpt,v,c)}px sans-serif`,e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`;for(let t=1;t<=B;t++){let n=t/B*L,r=t/B*P;e.fillText(s(n),M-3,N-r)}}e.font=`${Math.max(8,Math.min(11,P*.2))}px sans-serif`,e.fillStyle=`#444`,e.textBaseline=`middle`;for(let t=0;t<b;t++){let n=z(t),r=M+Math.cos(n)*(P+12),i=N+Math.sin(n)*(P+12);e.textAlign=Math.cos(n)<-.1?`right`:Math.cos(n)>.1?`left`:`center`,e.fillText((y[t]??``).toString().slice(0,12),r,i)}for(let i=0;i<n.series.length;i++){let a=n.series[i],o=t(i,a);e.beginPath();for(let t=0;t<b;t++){let n=(a.values[t]??0)/L,r=z(t),i=M+Math.cos(r)*P*n,o=N+Math.sin(r)*P*n;t===0?e.moveTo(i,o):e.lineTo(i,o)}e.closePath(),e.fillStyle=r(o,.25),e.fill(),e.strokeStyle=o,e.lineWidth=2,e.stroke()}d(e,n,T,l,f,_,v,M-A/2,N-j/2,A,j,w+2)}function S(e,n,r,a){let{x:o,y:l,w:f,h:m}=r,g=n.title?p(n,m,a):0,_=n.title?m*.035:0,v=n.title?m*.035:0,y=n.title?g+_+v:0,b=u(n,f,m),x=b?.side===`r`?b.reserveW:0,S=b?.side===`l`?b.reserveW:0,C=b?.side===`t`?b.reserveH:0,w=b?.side===`b`?b.reserveH:0,T=Math.max(8,Math.min(10,m*.045)),E=n.catAxisTitle?T+4:0,D=n.valAxisTitle?T+4:0,O={t:y+C+m*.02,r:x+f*.05,b:m*.12+E+w,l:f*.12+D+S};h(e,n,o,l+_,f,g);let k=o+O.l,A=l+O.t,j=f-O.l-O.r,M=m-O.t-O.b;if(j<=0||M<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(k,A,j,M));let N=[],P=[];for(let e of n.series){let t=e.categories??[];for(let e of t){let t=parseFloat(e);isNaN(t)||N.push(t)}for(let t of e.values)t!=null&&P.push(t)}let F=N.length===0;if(F){let e=Math.max(...n.series.map(e=>e.values.length));for(let t=0;t<e;t++)N.push(t)}let I=Math.min(...N),L=Math.max(...N),R=Math.min(...P),z=Math.max(...P);I===L&&(--I,L+=1),R===z&&(--R,z+=1),n.valMin==null?R>0&&(R=0):R=n.valMin,n.valMax!=null&&(z=n.valMax);let B=e=>k+(e-I)/(L-I)*j,V=e=>A+M-(e-R)/(z-R)*M;if(!n.valAxisHidden){e.font=`${Math.max(8,Math.min(11,M/20))}px sans-serif`;let t=i(z-R),n=Math.round((z-R)/t)+1;for(let r=0;r<n;r++){let n=R+r*t;if(n>z+t*.01)break;let i=V(n);e.strokeStyle=`#e0e0e0`,e.lineWidth=.5,e.beginPath(),e.moveTo(k,i),e.lineTo(k+j,i),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(s(n),k-4,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(k,A+M),e.lineTo(k+j,A+M),e.stroke(),e.beginPath(),e.moveTo(k,A),e.lineTo(k,A+M),e.stroke();let H=Math.max(3,M*.015);for(let r=0;r<n.series.length;r++){let i=n.series[r];if(i.showMarker===!1)continue;e.fillStyle=t(r,i);let a=i.categories??[];for(let t=0;t<i.values.length;t++){let n=i.values[t];if(n==null)continue;let r=F?t:parseFloat(a[t]??`0`);isNaN(r)||(e.beginPath(),e.arc(B(r),V(n),H,0,Math.PI*2),e.fill())}}d(e,n,b,o,l,f,m,k,A,j,M,y+2),n.catAxisTitle&&c(e,n.catAxisTitle,k,A,j,M,`cat`,T),n.valAxisTitle&&c(e,n.valAxisTitle,k,A,j,M,`val`,T)}function C(e,t,n){let{x:r,y:a,w:o,h:s}=n,c=o*.11,l=o*.04,u=s*.08,d=s*.18,f=r+c,p=a+u,m=o-c-l,h=s-u-d,g=t.series[0]?.values??[],_=t.categories,v=_.length;if(v===0)return;let y=new Set(t.subtotalIndices),b=0,x=[];for(let e=0;e<v;e++){let t=g[e]??0;if(e===0||y.has(e))x.push({start:0,end:t,isSub:!0,isPos:!0}),b=t;else{let e=t>=0?b:b+t,n=t>=0?b+t:b;x.push({start:e,end:n,isSub:!1,isPos:t>=0}),b+=t}}let S=x.map(e=>e.end),C=x.map(e=>e.start),w=Math.max(...S,...C),T=Math.min(...C,0),E=w-T;if(E<=0)return;let D=E*1.1,O=T-E*.05,k=O+D,A=i(D);e.save();let j=Math.round(s*.042);e.font=`${j}px sans-serif`,e.strokeStyle=`#e8e8e8`,e.lineWidth=.7,e.fillStyle=`#666`,e.textAlign=`right`,e.textBaseline=`middle`;for(let t=Math.ceil(O/A)*A;t<=k;t+=A){let n=p+h*(1-(t-O)/D);e.beginPath(),e.moveTo(f,n),e.lineTo(f+m,n),e.stroke(),e.fillText(t.toLocaleString(),f-4,n)}e.strokeStyle=`#bbb`,e.lineWidth=1,e.beginPath(),e.moveTo(f,p),e.lineTo(f,p+h),e.lineTo(f+m,p+h),e.stroke();let M=m/v*.55,N=m/v;x.forEach((t,n)=>{let r=f+N*n+(N-M)/2,i=p+h*(1-(t.end-O)/D),a=p+h*(1-(t.start-O)/D),o=Math.max(1,a-i);if(t.isSub?(e.fillStyle=`#196ECA`,e.fillRect(r,i,M,o)):(e.strokeStyle=t.isPos?`#5BA4E6`:`#E46970`,e.lineWidth=1.5,e.strokeRect(r+.75,i+.75,M-1.5,o-1.5)),n<v-1){let o=f+N*(n+1)+(N-M)/2,s=t.isPos?i:a;e.strokeStyle=`#ccc`,e.lineWidth=.8,e.setLineDash([3,3]),e.beginPath(),e.moveTo(r+M,s),e.lineTo(o,s),e.stroke(),e.setLineDash([])}let c=g[n]??0,l=c<0?`△ ${Math.abs(c).toLocaleString()}`:c.toLocaleString();e.fillStyle=`#595959`,e.font=`bold ${Math.round(s*.044)}px sans-serif`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(l,r+M/2,i-3)}),e.textAlign=`center`,e.textBaseline=`top`,e.fillStyle=`#666`,e.font=`${Math.round(s*.038)}px sans-serif`;let P=p+h+4;for(let t=0;t<v;t++){let n=f+N*t+N/2;_[t].split(/\s+/).forEach((t,r)=>e.fillText(t,n,P+r*(j+2)))}e.restore()}function w(e,t,n,r=1.333){let{x:i,y:a,w:o,h:s}=n;if(t.chartBg&&(e.fillStyle=`#${t.chartBg}`,e.fillRect(i,a,o,s)),t.series.length===0){e.fillStyle=`#888`,e.font=`12px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`(no data)`,i+o/2,a+s/2);return}switch(t.chartType){case`clusteredBar`:case`clusteredBarH`:case`stackedBar`:case`stackedBarH`:case`stackedBarPct`:case`stackedBarHPct`:_(e,t,n,r);break;case`line`:case`stackedLine`:case`stackedLinePct`:v(e,t,n,r);break;case`area`:case`stackedArea`:case`stackedAreaPct`:y(e,t,n,r);break;case`pie`:b(e,t,n,!1,r);break;case`doughnut`:b(e,t,n,!0,r);break;case`radar`:x(e,t,n,r);break;case`scatter`:case`bubble`:S(e,t,n,r);break;case`waterfall`:C(e,t,n);break;default:e.fillStyle=`#888`,e.font=`11px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(`Chart: ${t.chartType}`,i+o/2,a+s/2)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return w}});
@@ -0,0 +1,564 @@
1
+ //#region packages/core/src/chart/renderer.ts
2
+ var e = [
3
+ "4472C4",
4
+ "ED7D31",
5
+ "A9D18E",
6
+ "FF0000",
7
+ "70AD47",
8
+ "4BACC6",
9
+ "FFC000",
10
+ "9E480E",
11
+ "843C0C",
12
+ "636363",
13
+ "255E91",
14
+ "967300"
15
+ ];
16
+ function t(t, n) {
17
+ return n?.color ? `#${n.color}` : `#${e[t % e.length]}`;
18
+ }
19
+ function n(t, n) {
20
+ let r = n.dataPointColors?.[t];
21
+ return r ? `#${r}` : `#${e[t % e.length]}`;
22
+ }
23
+ function r(e, t) {
24
+ let n = e.startsWith("#") ? e.slice(1) : e;
25
+ return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${t})`;
26
+ }
27
+ function i(e, t = 5) {
28
+ if (e === 0) return 1;
29
+ let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
30
+ return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
31
+ }
32
+ function a(e, t) {
33
+ if (e <= 0) return t;
34
+ let n = Math.ceil(e / t) * t;
35
+ return Math.abs(n - e) < t * 1e-9 ? n + t : n;
36
+ }
37
+ function o(e, t) {
38
+ if (e >= 0) return 0;
39
+ let n = Math.floor(e / t) * t;
40
+ return Math.abs(n - e) < t * 1e-9 ? n - t : n;
41
+ }
42
+ function s(e) {
43
+ return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
44
+ }
45
+ function c(e, t, n, r, i, a, o, s) {
46
+ e.save(), e.font = `${s}px sans-serif`, e.fillStyle = "#555", o === "cat" ? (e.textAlign = "center", e.textBaseline = "bottom", e.fillText(t.slice(0, 30), n + i / 2, r + a + s + 2)) : (e.translate(n - s - 4, r + a / 2), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 30), 0, 0)), e.restore();
47
+ }
48
+ function l(e, n, r, i, a, o, s = "vertical") {
49
+ if (s === "horizontal") {
50
+ let s = Math.max(9, Math.min(12, o * .7));
51
+ e.font = `${s}px sans-serif`, e.textBaseline = "middle";
52
+ let c = n.map((e, t) => e.name || `Series ${t + 1}`), l = c.map((t) => 14 + e.measureText(t.slice(0, 30)).width), u = r + (a - (l.reduce((e, t) => e + t, 0) + 12 * Math.max(0, n.length - 1))) / 2, d = i + o / 2;
53
+ for (let r = 0; r < n.length; r++) e.fillStyle = t(r, n[r]), e.fillRect(u, d - s / 2, 10, s), e.fillStyle = "#333", e.textAlign = "left", e.fillText(c[r].slice(0, 30), u + 10 + 4, d), u += l[r] + 12;
54
+ return;
55
+ }
56
+ let c = Math.max(9, Math.min(12, o / (n.length + 1)));
57
+ e.font = `${c}px sans-serif`, e.textBaseline = "middle";
58
+ let l = c + 4, u = i + (o - l * n.length) / 2;
59
+ for (let i = 0; i < n.length; i++) {
60
+ e.fillStyle = t(i, n[i]), e.fillRect(r, u, 10, c), e.fillStyle = "#333", e.textAlign = "left";
61
+ let a = n[i].name || `Series ${i + 1}`;
62
+ e.fillText(a.slice(0, 20), r + 10 + 4, u + c / 2), u += l;
63
+ }
64
+ }
65
+ function u(e, t, n) {
66
+ if (!e.showLegend) return null;
67
+ let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
68
+ return i === "r" || i === "l" ? {
69
+ side: i,
70
+ reserveW: Math.max(80, t * .22),
71
+ reserveH: 0
72
+ } : {
73
+ side: i,
74
+ reserveW: 0,
75
+ reserveH: Math.max(18, n * .08)
76
+ };
77
+ }
78
+ function d(e, t, n, r, i, a, o, s, c, u, d, f) {
79
+ if (n) switch (n.side) {
80
+ case "r":
81
+ l(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, d);
82
+ break;
83
+ case "l":
84
+ l(e, t.series, r + 4, c, n.reserveW - 8, d);
85
+ break;
86
+ case "t":
87
+ l(e, t.series, s, i + f, u, n.reserveH, "horizontal");
88
+ break;
89
+ case "b":
90
+ l(e, t.series, s, i + o - n.reserveH, u, n.reserveH, "horizontal");
91
+ break;
92
+ }
93
+ }
94
+ function f(e, t, n, r, i) {
95
+ if (t === "none" || !t) return;
96
+ let a = e.strokeStyle;
97
+ if (e.strokeStyle = "#888", e.lineWidth = 1, e.beginPath(), n === "val") {
98
+ let n = r, a = i, o = t === "out" || t === "cross" ? -4 : 0, s = t === "in" || t === "cross" ? 4 : 0;
99
+ e.moveTo(n + o, a), e.lineTo(n + s, a);
100
+ } else {
101
+ let n = r, a = i, o = t === "out" || t === "cross" ? 4 : 0, s = t === "in" || t === "cross" ? -4 : 0;
102
+ e.moveTo(a, n + o), e.lineTo(a, n + s);
103
+ }
104
+ e.stroke(), e.strokeStyle = a;
105
+ }
106
+ function p(e, t, n) {
107
+ return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
108
+ }
109
+ function m(e, t, n) {
110
+ return e ? e / 100 * n : Math.max(8, t * .045);
111
+ }
112
+ function h(e, t, n, r, i, a) {
113
+ t.title && (e.font = `bold ${a}px ${t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif"}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r));
114
+ }
115
+ function g(e) {
116
+ if (e.categories.length > 0) return e.categories;
117
+ let t = e.series[0];
118
+ if (t?.categories && t.categories.length > 0) return t.categories;
119
+ let n = 0;
120
+ for (let t of e.series) t.values.length > n && (n = t.values.length);
121
+ return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
122
+ }
123
+ function _(e, n, r, o) {
124
+ let { x: l, y: f, w: m, h: _ } = r, v = n.chartType === "clusteredBarH" || n.chartType === "stackedBarH" || n.chartType === "stackedBarHPct", y = n.chartType.startsWith("stacked"), b = n.chartType === "stackedBarPct" || n.chartType === "stackedBarHPct", x = n.series.filter((e) => e.seriesType !== "line"), S = n.series.filter((e) => e.seriesType === "line"), C = g(n), w = C.length;
125
+ if (w === 0) return;
126
+ let T = n.title ? p(n, _, o) : 0, E = n.title ? _ * .02 : 0, D = n.title ? _ * .025 : 0, O = n.title ? T + E + D : 0, k = u(n, m, _), A = k?.side === "r" ? k.reserveW : 0, j = k?.side === "l" ? k.reserveW : 0, M = k?.side === "t" ? k.reserveH : 0, N = k?.side === "b" ? k.reserveH : 0, P = Math.max(8, Math.min(10, _ * .045)), F = n.catAxisTitle ? P + 4 : 0, I = n.valAxisTitle ? P + 4 : 0, L = {
127
+ t: O + M + _ * .02,
128
+ r: A + m * .03,
129
+ b: _ * .14 + F + N,
130
+ l: m * .12 + I + j
131
+ };
132
+ v && (L.l = m * .22 + I + j, L.b = _ * .08 + F + N), h(e, n, l, f + E, m, T);
133
+ let R = l + L.l, z = f + L.t, B = m - L.l - L.r, V = _ - L.t - L.b;
134
+ if (B <= 0 || V <= 0) return;
135
+ n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(R, z, B, V));
136
+ let H = 0;
137
+ for (let e = 0; e < w; e++) {
138
+ let t = 0;
139
+ for (let n of x) {
140
+ let r = n.values[e] ?? 0;
141
+ y ? t += Math.abs(r) : H = Math.max(H, Math.abs(r));
142
+ }
143
+ y && (H = Math.max(H, t));
144
+ }
145
+ b && (H = 100), n.valMax != null && (H = n.valMax), H === 0 && (H = 1);
146
+ let U = i(H), W = n.valMax ?? a(H, U), G = "#e0e0e0", K = Math.round(W / U);
147
+ if (e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, V / 20))}px sans-serif`, e.fillStyle = "#555", !n.valAxisHidden) for (let t = 0; t <= K; t++) {
148
+ let n = t * U, r = b ? `${Math.round(n)}%` : s(n);
149
+ if (v) {
150
+ let i = R + n / W * B;
151
+ e.strokeStyle = t === 0 ? "#aaa" : G, e.lineWidth = t === 0 ? 1 : .5, e.beginPath(), e.moveTo(i, z), e.lineTo(i, z + V), e.stroke(), e.textAlign = "center", e.fillText(r, i, z + V + 10);
152
+ } else {
153
+ let i = z + V - n / W * V;
154
+ e.strokeStyle = t === 0 ? "#aaa" : G, e.lineWidth = t === 0 ? 1 : .5, e.beginPath(), e.moveTo(R, i), e.lineTo(R + B, i), e.stroke(), e.textAlign = "right", e.fillText(r, R - 4, i);
155
+ }
156
+ }
157
+ e.strokeStyle = "#aaa", e.lineWidth = 1, v ? (e.beginPath(), e.moveTo(R, z), e.lineTo(R, z + V), e.stroke()) : (e.beginPath(), e.moveTo(R, z + V), e.lineTo(R + B, z + V), e.stroke());
158
+ let q = v ? V / w : B / w, J = q * (y ? .6 : .6 / Math.max(1, x.length)), Y = y ? 0 : q * .6 / Math.max(1, x.length), X = q * .2;
159
+ for (let r = 0; r < w; r++) {
160
+ let i = 0, a = 0;
161
+ if (b) {
162
+ for (let e of x) a += Math.abs(e.values[r] ?? 0);
163
+ a === 0 && (a = 1);
164
+ }
165
+ for (let o = 0; o < x.length; o++) {
166
+ let c = x[o], l = c.values[r] ?? 0, u = b ? Math.abs(l) / a * 100 : Math.abs(l), d = t(o, c);
167
+ if (v) {
168
+ let t = y ? z + (w - 1 - r) * q + X : z + (w - 1 - r) * q + X + o * Y, a = u / W * B, c = y ? R + i / W * B : R;
169
+ e.fillStyle = d, e.fillRect(c, t, a, J), n.showDataLabels && u > 0 && (e.font = `bold ${Math.max(7, Math.min(10, J * .7))}px sans-serif`, e.fillStyle = "#333", e.textAlign = "left", e.textBaseline = "middle", e.fillText(b ? `${Math.round(u)}%` : s(u), c + a + 2, t + J / 2));
170
+ } else {
171
+ let t = y ? R + r * q + X : R + r * q + X + o * Y, a = u / W * V, c = z + V - (y ? i + u : u) / W * V;
172
+ e.fillStyle = d, e.fillRect(t, c, J, a), n.showDataLabels && u > 0 && (e.font = `bold ${Math.max(7, Math.min(10, J * .7))}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom", e.fillText(b ? `${Math.round(u)}%` : s(u), t + J / 2, c - 1));
173
+ }
174
+ y && (i += u);
175
+ }
176
+ }
177
+ if (!n.catAxisHidden) {
178
+ e.fillStyle = "#555", e.font = `${Math.max(8, Math.min(11, q * .5))}px sans-serif`;
179
+ for (let t = 0; t < w; t++) {
180
+ let n = (C[t] ?? "").toString().slice(0, 12);
181
+ if (v) {
182
+ let r = z + (w - 1 - t) * q + q / 2;
183
+ e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, R - 4, r);
184
+ } else {
185
+ let r = R + t * q + q / 2;
186
+ e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, z + V + 3);
187
+ }
188
+ }
189
+ }
190
+ if (S.length > 0 && !v) for (let n = 0; n < S.length; n++) {
191
+ let r = S[n], i = t(x.length + n, r);
192
+ e.strokeStyle = i, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
193
+ let a = !1;
194
+ for (let t = 0; t < w; t++) {
195
+ let n = r.values[t];
196
+ if (n == null) {
197
+ a = !1;
198
+ continue;
199
+ }
200
+ let i = R + t * q + q / 2, o = z + V - n / W * V;
201
+ a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
202
+ }
203
+ if (e.stroke(), r.showMarker !== !1) for (let t = 0; t < w; t++) {
204
+ let n = r.values[t];
205
+ if (n == null) continue;
206
+ let a = R + t * q + q / 2, o = z + V - n / W * V;
207
+ e.fillStyle = i, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
208
+ }
209
+ }
210
+ d(e, n, k, l, f, m, _, R, z, B, V, O + 2), n.catAxisTitle && c(e, n.catAxisTitle, R, z, B, V, "cat", P), n.valAxisTitle && c(e, n.valAxisTitle, R, z, B, V, "val", P);
211
+ }
212
+ function v(e, n, r, l) {
213
+ let { x: _, y: v, w: y, h: b } = r, x = g(n), S = x.length;
214
+ if (S === 0) return;
215
+ let C = n.title ? p(n, b, l) : 0, w = n.title ? b * .045 : 0, T = n.title ? b * .035 : 0, E = n.title ? C + w + T : 0, D = u(n, y, b), O = D?.side === "r" ? D.reserveW : 0, k = D?.side === "l" ? D.reserveW : 0, A = D?.side === "t" ? D.reserveH : 0, j = D?.side === "b" ? D.reserveH : 0, M = m(n.catAxisFontSizeHpt, b, l), N = m(n.valAxisFontSizeHpt, b, l), P = Math.max(M, N), F = n.catAxisTitle ? P + 4 : 0, I = n.valAxisTitle ? P + 4 : 0, L = {
216
+ t: E + A + N / 2 + 2,
217
+ r: O + y * .05,
218
+ b: M + 12 + F + j,
219
+ l: N * 2.2 + 10 + I + k
220
+ };
221
+ h(e, n, _, v + w, y, C);
222
+ let R = _ + L.l, z = v + L.t, B = y - L.l - L.r, V = b - L.t - L.b;
223
+ if (B <= 0 || V <= 0) return;
224
+ n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(R, z, B, V));
225
+ let H = Infinity, U = -Infinity;
226
+ for (let e of n.series) for (let t of e.values) t != null && (H = Math.min(H, t), U = Math.max(U, t));
227
+ isFinite(H) || (H = 0, U = 1), n.valMin == null ? H > 0 && (H = 0) : H = n.valMin, n.valMax == null ? U < 0 && (U = 0) : U = n.valMax, U === H && (U = H + 1);
228
+ let W = i(U - H), G = n.valMin ?? o(H, W), K = n.valMax ?? a(U, W), q = K - G;
229
+ if (q === 0) return;
230
+ let J = (e) => z + V - (e - G) / q * V, Y = n.catAxisCrossBetween === "midCat" ? (e) => R + (S === 1 ? B / 2 : e / (S - 1) * B) : (e) => R + (e + .5) / S * B;
231
+ if (!n.valAxisHidden) {
232
+ let t = Math.round((K - G) / W);
233
+ e.font = `${N}px sans-serif`, e.textBaseline = "middle";
234
+ for (let r = 0; r <= t; r++) {
235
+ let t = G + r * W, i = J(t);
236
+ e.strokeStyle = t === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = t === 0 ? 1 : .5, e.beginPath(), e.moveTo(R, i), e.lineTo(R + B, i), e.stroke(), f(e, n.valAxisMajorTickMark, "val", R, i), e.fillStyle = "#555", e.textAlign = "right", e.fillText(s(t), R - 6, i);
237
+ }
238
+ }
239
+ e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(R, z + V), e.lineTo(R + B, z + V), e.stroke(), n.valAxisHidden || (e.beginPath(), e.moveTo(R, z), e.lineTo(R, z + V), e.stroke());
240
+ let X = Math.max(1, 2.25 * l), Z = Math.max(2, 2.5 * l), Q = m(n.dataLabelFontSizeHpt, b, l);
241
+ for (let r = 0; r < n.series.length; r++) {
242
+ let i = n.series[r], a = t(r, i);
243
+ e.strokeStyle = a, e.lineWidth = X, e.setLineDash([]), e.beginPath();
244
+ let o = !1;
245
+ for (let t = 0; t < S; t++) {
246
+ let n = i.values[t];
247
+ if (n == null) {
248
+ o = !1;
249
+ continue;
250
+ }
251
+ let r = Y(t), a = J(n);
252
+ o ? e.lineTo(r, a) : (e.moveTo(r, a), o = !0);
253
+ }
254
+ e.stroke(), e.fillStyle = a;
255
+ let c = i.showMarker !== !1;
256
+ for (let t = 0; t < S; t++) {
257
+ let r = i.values[t];
258
+ if (r != null && (c && (e.beginPath(), e.arc(Y(t), J(r), Z, 0, Math.PI * 2), e.fill()), n.showDataLabels)) {
259
+ e.font = `${Q}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
260
+ let n = c ? Z + 1 : 2;
261
+ e.fillText(s(r), Y(t), J(r) - n), e.fillStyle = a;
262
+ }
263
+ }
264
+ }
265
+ if (!n.catAxisHidden) {
266
+ let t = Math.max(1, Math.ceil(S / 8));
267
+ e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${M}px sans-serif`;
268
+ for (let r = 0; r < S; r += t) {
269
+ let t = Y(r);
270
+ f(e, n.catAxisMajorTickMark, "cat", z + V, t), e.fillStyle = "#555", e.fillText((x[r] ?? "").toString().slice(0, 10), t, z + V + 5);
271
+ }
272
+ }
273
+ d(e, n, D, _, v, y, b, R, z, B, V, E + 2), n.catAxisTitle && c(e, n.catAxisTitle, R, z, B, V, "cat", P), n.valAxisTitle && c(e, n.valAxisTitle, R, z, B, V, "val", P);
274
+ }
275
+ function y(e, n, o, l) {
276
+ let { x: f, y: m, w: _, h: v } = o, y = g(n), b = y.length;
277
+ if (b === 0) return;
278
+ let x = n.chartType === "stackedArea" || n.chartType === "stackedAreaPct", S = n.title ? p(n, v, l) : 0, C = n.title ? v * .035 : 0, w = n.title ? v * .035 : 0, T = n.title ? S + C + w : 0, E = u(n, _, v), D = E?.side === "r" ? E.reserveW : 0, O = E?.side === "l" ? E.reserveW : 0, k = E?.side === "t" ? E.reserveH : 0, A = E?.side === "b" ? E.reserveH : 0, j = Math.max(8, Math.min(10, v * .045)), M = n.catAxisTitle ? j + 4 : 0, N = n.valAxisTitle ? j + 4 : 0, P = {
279
+ t: T + k + v * .02,
280
+ r: D + _ * .05,
281
+ b: v * .14 + M + A,
282
+ l: _ * .12 + N + O
283
+ };
284
+ h(e, n, f, m + C, _, S);
285
+ let F = f + P.l, I = m + P.t, L = _ - P.l - P.r, R = v - P.t - P.b;
286
+ if (L <= 0 || R <= 0) return;
287
+ n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(F, I, L, R));
288
+ let z = 0;
289
+ for (let e = 0; e < b; e++) if (x) {
290
+ let t = 0;
291
+ for (let r of n.series) t += r.values[e] ?? 0;
292
+ z = Math.max(z, t);
293
+ } else for (let t of n.series) z = Math.max(z, t.values[e] ?? 0);
294
+ n.valMax != null && (z = n.valMax), z === 0 && (z = 1);
295
+ let B = i(z), V = n.valMax ?? a(z, B), H = (e) => F + (b === 1 ? L / 2 : e / (b - 1) * L), U = (e) => I + R - e / V * R;
296
+ if (!n.valAxisHidden) {
297
+ e.font = `${Math.max(8, Math.min(11, R / 20))}px sans-serif`, e.textBaseline = "middle";
298
+ let t = Math.round(V / B);
299
+ for (let n = 0; n <= t; n++) {
300
+ let t = n * B, r = U(t);
301
+ e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(F, r), e.lineTo(F + L, r), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.fillText(s(t), F - 4, r);
302
+ }
303
+ }
304
+ e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(F, I + R), e.lineTo(F + L, I + R), e.stroke();
305
+ let W = x ? Array(b).fill(0) : null;
306
+ for (let i = n.series.length - 1; i >= 0; i--) {
307
+ let a = n.series[i], o = t(i, a), s = I + R;
308
+ if (e.beginPath(), x && W) {
309
+ for (let t = 0; t < b; t++) {
310
+ let n = (a.values[t] ?? 0) + W[t], r = H(t), i = U(n);
311
+ t === 0 ? e.moveTo(r, i) : e.lineTo(r, i);
312
+ }
313
+ for (let t = b - 1; t >= 0; t--) e.lineTo(H(t), U(W[t]));
314
+ for (let e = 0; e < b; e++) W[e] += a.values[e] ?? 0;
315
+ } else {
316
+ e.moveTo(H(0), s);
317
+ for (let t = 0; t < b; t++) e.lineTo(H(t), U(a.values[t] ?? 0));
318
+ e.lineTo(H(b - 1), s);
319
+ }
320
+ e.closePath(), e.fillStyle = r(o, .6), e.fill(), e.strokeStyle = o, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
321
+ }
322
+ if (!n.catAxisHidden) {
323
+ let t = Math.max(1, Math.ceil(b / 8));
324
+ e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, L / b * .8))}px sans-serif`;
325
+ for (let n = 0; n < b; n += t) e.fillText((y[n] ?? "").toString().slice(0, 10), H(n), I + R + 3);
326
+ }
327
+ d(e, n, E, f, m, _, v, F, I, L, R, T + 2), n.catAxisTitle && c(e, n.catAxisTitle, F, I, L, R, "cat", j), n.valAxisTitle && c(e, n.valAxisTitle, F, I, L, R, "val", j);
328
+ }
329
+ function b(t, r, i, a, o) {
330
+ let { x: s, y: c, w: l, h: u } = i, f = r.series[0];
331
+ if (!f) return;
332
+ let m = f.categories && f.categories.length > 0 ? f.categories : r.categories, g = f.values.map((e) => Math.abs(e ?? 0)), _ = g.reduce((e, t) => e + t, 0);
333
+ if (_ === 0) return;
334
+ let v = r.title ? p(r, u, o) : 0, y = r.title ? u * .035 : 0, b = r.title ? u * .035 : 0, x = r.title ? v + y + b : 0;
335
+ h(t, r, s, c + y, l, v);
336
+ let S = r.showLegend ? (() => {
337
+ let e = r.legendPos ?? "r", t = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
338
+ return t === "r" || t === "l" ? {
339
+ side: t,
340
+ reserveW: Math.max(80, l * .28),
341
+ reserveH: 0
342
+ } : {
343
+ side: t,
344
+ reserveW: 0,
345
+ reserveH: Math.max(18, u * .08)
346
+ };
347
+ })() : null, C = S?.side === "r" ? S.reserveW : 0, w = S?.side === "l" ? S.reserveW : 0, T = S?.side === "t" ? S.reserveH : 0, E = S?.side === "b" ? S.reserveH : 0, D = l - C - w, O = u - x - T - E - u * .02, k = s + w + D / 2, A = c + x + T + u * .02 + O / 2, j = Math.min(D, O) * .42, M = a ? j * .5 : 0, N = -Math.PI / 2;
348
+ for (let e = 0; e < g.length; e++) {
349
+ let i = g[e] / _ * Math.PI * 2, o = n(e, f);
350
+ if (t.beginPath(), t.moveTo(k, A), t.arc(k, A, j, N, N + i), t.closePath(), t.fillStyle = o, t.fill(), t.strokeStyle = "#fff", t.lineWidth = 1, t.stroke(), r.showDataLabels && i > .15) {
351
+ let n = N + i / 2, r = j * (a ? .75 : .6), o = k + Math.cos(n) * r, s = A + Math.sin(n) * r, c = Math.round(g[e] / _ * 100);
352
+ t.font = `bold ${Math.max(8, j * .1)}px sans-serif`, t.fillStyle = "#fff", t.textAlign = "center", t.textBaseline = "middle", t.fillText(`${c}%`, o, s);
353
+ }
354
+ N += i;
355
+ }
356
+ if (a && (t.beginPath(), t.arc(k, A, M, 0, Math.PI * 2), t.fillStyle = "#fff", t.fill()), S) {
357
+ let n = g.map((t, n) => ({
358
+ name: (m[n] ?? `Item ${n + 1}`).toString(),
359
+ color: f.dataPointColors?.[n] ?? f.color ?? e[n % e.length],
360
+ values: []
361
+ })), i = k - D / 2;
362
+ d(t, {
363
+ ...r,
364
+ series: n
365
+ }, S, s, c, l, u, i, A - O / 2, D, O, x + 2);
366
+ }
367
+ }
368
+ function x(e, n, o, c) {
369
+ let { x: l, y: f, w: _, h: v } = o, y = g(n), b = y.length;
370
+ if (b < 3) return;
371
+ let x = n.title ? p(n, v, c) : 0, S = n.title ? v * .035 : 0, C = n.title ? v * .035 : 0, w = n.title ? x + S + C : 0, T = u(n, _, v), E = T?.side === "r" ? T.reserveW : 0, D = T?.side === "l" ? T.reserveW : 0, O = T?.side === "t" ? T.reserveH : 0, k = T?.side === "b" ? T.reserveH : 0;
372
+ h(e, n, l, f + S, _, x);
373
+ let A = _ - E - D, j = v - w - O - k - v * .02, M = l + D + A / 2, N = f + w + O + v * .02 + j / 2, P = Math.min(A, j) * .38, F = 0;
374
+ for (let e of n.series) for (let t of e.values) F = Math.max(F, t ?? 0);
375
+ n.valMax != null && (F = n.valMax), F === 0 && (F = 1);
376
+ let I = i(F), L = n.valMax ?? a(F, I), R = -Math.PI / 2, z = (e) => R + e / b * Math.PI * 2, B = Math.round(L / I);
377
+ e.strokeStyle = "#ddd", e.lineWidth = .5;
378
+ for (let t = 1; t <= B; t++) {
379
+ let n = t / B * P;
380
+ e.beginPath();
381
+ for (let t = 0; t < b; t++) {
382
+ let r = z(t), i = M + Math.cos(r) * n, a = N + Math.sin(r) * n;
383
+ t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
384
+ }
385
+ e.closePath(), e.stroke();
386
+ }
387
+ e.strokeStyle = "#bbb", e.lineWidth = .5;
388
+ for (let t = 0; t < b; t++) {
389
+ let n = z(t);
390
+ e.beginPath(), e.moveTo(M, N), e.lineTo(M + Math.cos(n) * P, N + Math.sin(n) * P), e.stroke();
391
+ }
392
+ if (!n.valAxisHidden) {
393
+ e.font = `${m(n.valAxisFontSizeHpt, v, c)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
394
+ for (let t = 1; t <= B; t++) {
395
+ let n = t / B * L, r = t / B * P;
396
+ e.fillText(s(n), M - 3, N - r);
397
+ }
398
+ }
399
+ e.font = `${Math.max(8, Math.min(11, P * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
400
+ for (let t = 0; t < b; t++) {
401
+ let n = z(t), r = M + Math.cos(n) * (P + 12), i = N + Math.sin(n) * (P + 12);
402
+ e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((y[t] ?? "").toString().slice(0, 12), r, i);
403
+ }
404
+ for (let i = 0; i < n.series.length; i++) {
405
+ let a = n.series[i], o = t(i, a);
406
+ e.beginPath();
407
+ for (let t = 0; t < b; t++) {
408
+ let n = (a.values[t] ?? 0) / L, r = z(t), i = M + Math.cos(r) * P * n, o = N + Math.sin(r) * P * n;
409
+ t === 0 ? e.moveTo(i, o) : e.lineTo(i, o);
410
+ }
411
+ e.closePath(), e.fillStyle = r(o, .25), e.fill(), e.strokeStyle = o, e.lineWidth = 2, e.stroke();
412
+ }
413
+ d(e, n, T, l, f, _, v, M - A / 2, N - j / 2, A, j, w + 2);
414
+ }
415
+ function S(e, n, r, a) {
416
+ let { x: o, y: l, w: f, h: m } = r, g = n.title ? p(n, m, a) : 0, _ = n.title ? m * .035 : 0, v = n.title ? m * .035 : 0, y = n.title ? g + _ + v : 0, b = u(n, f, m), x = b?.side === "r" ? b.reserveW : 0, S = b?.side === "l" ? b.reserveW : 0, C = b?.side === "t" ? b.reserveH : 0, w = b?.side === "b" ? b.reserveH : 0, T = Math.max(8, Math.min(10, m * .045)), E = n.catAxisTitle ? T + 4 : 0, D = n.valAxisTitle ? T + 4 : 0, O = {
417
+ t: y + C + m * .02,
418
+ r: x + f * .05,
419
+ b: m * .12 + E + w,
420
+ l: f * .12 + D + S
421
+ };
422
+ h(e, n, o, l + _, f, g);
423
+ let k = o + O.l, A = l + O.t, j = f - O.l - O.r, M = m - O.t - O.b;
424
+ if (j <= 0 || M <= 0) return;
425
+ n.plotAreaBg && (e.fillStyle = `#${n.plotAreaBg}`, e.fillRect(k, A, j, M));
426
+ let N = [], P = [];
427
+ for (let e of n.series) {
428
+ let t = e.categories ?? [];
429
+ for (let e of t) {
430
+ let t = parseFloat(e);
431
+ isNaN(t) || N.push(t);
432
+ }
433
+ for (let t of e.values) t != null && P.push(t);
434
+ }
435
+ let F = N.length === 0;
436
+ if (F) {
437
+ let e = Math.max(...n.series.map((e) => e.values.length));
438
+ for (let t = 0; t < e; t++) N.push(t);
439
+ }
440
+ let I = Math.min(...N), L = Math.max(...N), R = Math.min(...P), z = Math.max(...P);
441
+ I === L && (--I, L += 1), R === z && (--R, z += 1), n.valMin == null ? R > 0 && (R = 0) : R = n.valMin, n.valMax != null && (z = n.valMax);
442
+ let B = (e) => k + (e - I) / (L - I) * j, V = (e) => A + M - (e - R) / (z - R) * M;
443
+ if (!n.valAxisHidden) {
444
+ e.font = `${Math.max(8, Math.min(11, M / 20))}px sans-serif`;
445
+ let t = i(z - R), n = Math.round((z - R) / t) + 1;
446
+ for (let r = 0; r < n; r++) {
447
+ let n = R + r * t;
448
+ if (n > z + t * .01) break;
449
+ let i = V(n);
450
+ e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(k, i), e.lineTo(k + j, i), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(s(n), k - 4, i);
451
+ }
452
+ }
453
+ e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(k, A + M), e.lineTo(k + j, A + M), e.stroke(), e.beginPath(), e.moveTo(k, A), e.lineTo(k, A + M), e.stroke();
454
+ let H = Math.max(3, M * .015);
455
+ for (let r = 0; r < n.series.length; r++) {
456
+ let i = n.series[r];
457
+ if (i.showMarker === !1) continue;
458
+ e.fillStyle = t(r, i);
459
+ let a = i.categories ?? [];
460
+ for (let t = 0; t < i.values.length; t++) {
461
+ let n = i.values[t];
462
+ if (n == null) continue;
463
+ let r = F ? t : parseFloat(a[t] ?? "0");
464
+ isNaN(r) || (e.beginPath(), e.arc(B(r), V(n), H, 0, Math.PI * 2), e.fill());
465
+ }
466
+ }
467
+ d(e, n, b, o, l, f, m, k, A, j, M, y + 2), n.catAxisTitle && c(e, n.catAxisTitle, k, A, j, M, "cat", T), n.valAxisTitle && c(e, n.valAxisTitle, k, A, j, M, "val", T);
468
+ }
469
+ function C(e, t, n) {
470
+ let { x: r, y: a, w: o, h: s } = n, c = o * .11, l = o * .04, u = s * .08, d = s * .18, f = r + c, p = a + u, m = o - c - l, h = s - u - d, g = t.series[0]?.values ?? [], _ = t.categories, v = _.length;
471
+ if (v === 0) return;
472
+ let y = new Set(t.subtotalIndices), b = 0, x = [];
473
+ for (let e = 0; e < v; e++) {
474
+ let t = g[e] ?? 0;
475
+ if (e === 0 || y.has(e)) x.push({
476
+ start: 0,
477
+ end: t,
478
+ isSub: !0,
479
+ isPos: !0
480
+ }), b = t;
481
+ else {
482
+ let e = t >= 0 ? b : b + t, n = t >= 0 ? b + t : b;
483
+ x.push({
484
+ start: e,
485
+ end: n,
486
+ isSub: !1,
487
+ isPos: t >= 0
488
+ }), b += t;
489
+ }
490
+ }
491
+ let S = x.map((e) => e.end), C = x.map((e) => e.start), w = Math.max(...S, ...C), T = Math.min(...C, 0), E = w - T;
492
+ if (E <= 0) return;
493
+ let D = E * 1.1, O = T - E * .05, k = O + D, A = i(D);
494
+ e.save();
495
+ let j = Math.round(s * .042);
496
+ e.font = `${j}px sans-serif`, e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
497
+ for (let t = Math.ceil(O / A) * A; t <= k; t += A) {
498
+ let n = p + h * (1 - (t - O) / D);
499
+ e.beginPath(), e.moveTo(f, n), e.lineTo(f + m, n), e.stroke(), e.fillText(t.toLocaleString(), f - 4, n);
500
+ }
501
+ e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), e.moveTo(f, p), e.lineTo(f, p + h), e.lineTo(f + m, p + h), e.stroke();
502
+ let M = m / v * .55, N = m / v;
503
+ x.forEach((t, n) => {
504
+ let r = f + N * n + (N - M) / 2, i = p + h * (1 - (t.end - O) / D), a = p + h * (1 - (t.start - O) / D), o = Math.max(1, a - i);
505
+ if (t.isSub ? (e.fillStyle = "#196ECA", e.fillRect(r, i, M, o)) : (e.strokeStyle = t.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(r + .75, i + .75, M - 1.5, o - 1.5)), n < v - 1) {
506
+ let o = f + N * (n + 1) + (N - M) / 2, s = t.isPos ? i : a;
507
+ e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(r + M, s), e.lineTo(o, s), e.stroke(), e.setLineDash([]);
508
+ }
509
+ let c = g[n] ?? 0, l = c < 0 ? `△ ${Math.abs(c).toLocaleString()}` : c.toLocaleString();
510
+ e.fillStyle = "#595959", e.font = `bold ${Math.round(s * .044)}px sans-serif`, e.textAlign = "center", e.textBaseline = "bottom", e.fillText(l, r + M / 2, i - 3);
511
+ }), e.textAlign = "center", e.textBaseline = "top", e.fillStyle = "#666", e.font = `${Math.round(s * .038)}px sans-serif`;
512
+ let P = p + h + 4;
513
+ for (let t = 0; t < v; t++) {
514
+ let n = f + N * t + N / 2;
515
+ _[t].split(/\s+/).forEach((t, r) => e.fillText(t, n, P + r * (j + 2)));
516
+ }
517
+ e.restore();
518
+ }
519
+ function w(e, t, n, r = 1.333) {
520
+ let { x: i, y: a, w: o, h: s } = n;
521
+ if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.series.length === 0) {
522
+ e.fillStyle = "#888", e.font = "12px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText("(no data)", i + o / 2, a + s / 2);
523
+ return;
524
+ }
525
+ switch (t.chartType) {
526
+ case "clusteredBar":
527
+ case "clusteredBarH":
528
+ case "stackedBar":
529
+ case "stackedBarH":
530
+ case "stackedBarPct":
531
+ case "stackedBarHPct":
532
+ _(e, t, n, r);
533
+ break;
534
+ case "line":
535
+ case "stackedLine":
536
+ case "stackedLinePct":
537
+ v(e, t, n, r);
538
+ break;
539
+ case "area":
540
+ case "stackedArea":
541
+ case "stackedAreaPct":
542
+ y(e, t, n, r);
543
+ break;
544
+ case "pie":
545
+ b(e, t, n, !1, r);
546
+ break;
547
+ case "doughnut":
548
+ b(e, t, n, !0, r);
549
+ break;
550
+ case "radar":
551
+ x(e, t, n, r);
552
+ break;
553
+ case "scatter":
554
+ case "bubble":
555
+ S(e, t, n, r);
556
+ break;
557
+ case "waterfall":
558
+ C(e, t, n);
559
+ break;
560
+ default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
561
+ }
562
+ }
563
+ //#endregion
564
+ export { w as t };