@silurus/ooxml 0.17.0 → 0.18.1

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/xlsx.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./xlsx-CWkWdRpm.cjs`);exports.XlsxViewer=t.n,exports.XlsxWorkbook=t.r,exports.autoResize=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./xlsx-CtX8210V.cjs`);exports.XlsxViewer=t.n,exports.XlsxWorkbook=t.r,exports.autoResize=e.t;
package/dist/xlsx.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import { t as e } from "./autoResize-U2-IRmNE.js";
2
- import { n as t, r as n } from "./xlsx-B3-MeECM.js";
2
+ import { n as t, r as n } from "./xlsx-ibM5moD_.js";
3
3
  export { t as XlsxViewer, n as XlsxWorkbook, e as autoResize };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silurus/ooxml",
3
- "version": "0.17.0",
3
+ "version": "0.18.1",
4
4
  "description": "Browser-based OOXML viewer (docx/xlsx/pptx) — Rust/WASM parser + Canvas renderer",
5
5
  "license": "MIT",
6
6
  "author": "Yuki Yokotani <yokotani.yuki@gmail.com>",
@@ -1 +0,0 @@
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){if(!t)return s(e);let n=l(t),r;return r=e>0?n[0]??t:e<0?n[1]??n[0]??t:n[2]??n[0]??t,r===``?``:(e<0&&n.length<2?`-`:``)+u(Math.abs(e),r)}function l(e){let t=[],n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`\\`&&r+1<e.length){n+=i+e[r+1],r++;continue}if(i===`"`){for(n+=i,r++;r<e.length&&e[r]!==`"`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`[`){for(n+=i,r++;r<e.length&&e[r]!==`]`;)n+=e[r],r++;r<e.length&&(n+=e[r]);continue}if(i===`;`){t.push(n),n=``;continue}n+=i}return t.push(n),t}function u(e,t){let n=[],r=0,i=!1,a=!1;for(;r<t.length;){let e=t[r];if(e===`"`){r++;let e=``;for(;r<t.length&&t[r]!==`"`;)e+=t[r],r++;r<t.length&&r++,n.push({kind:`lit`,text:e});continue}if(e===`\\`&&r+1<t.length){n.push({kind:`lit`,text:t[r+1]}),r+=2;continue}if(e===`_`&&r+1<t.length){n.push({kind:`lit`,text:` `}),r+=2;continue}if(e===`*`&&r+1<t.length){r+=2;continue}if(e===`[`){for(r++;r<t.length&&t[r]!==`]`;)r++;r<t.length&&r++;continue}if(e===`%`){a=!0,n.push({kind:`lit`,text:`%`}),r++;continue}if(e===`#`||e===`0`||e===`.`||e===`,`||e===`?`){let e=``;for(;r<t.length&&(t[r]===`#`||t[r]===`0`||t[r]===`.`||t[r]===`,`||t[r]===`?`);)e+=t[r],r++;n.push({kind:`num`,text:e}),i=!0;continue}n.push({kind:`lit`,text:e}),r++}if(!i)return n.map(e=>e.text).join(``);let o=a?e*100:e,s=``;for(let e of n)e.kind===`num`&&(s+=e.text);let c=d(o,s),l=!1;return n.map(e=>e.kind===`lit`?e.text:l?``:(l=!0,c)).join(``)}function d(e,t){let n=t.indexOf(`.`),r=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):``,a=/,/.test(r),o=(i.match(/[#0?]/g)??[]).length,s=(r.replace(/,/g,``).match(/0/g)??[]).length,[c,l=``]=e.toFixed(o).split(`.`),u=c.padStart(s,`0`),d=a?u.replace(/\B(?=(\d{3})+(?!\d))/g,`,`):u;return o===0?d:`${d}.${l.padEnd(o,`0`)}`}function f(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 p(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 m(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 h(e,t,n,r,i,a,o,s,c,l,u,d){if(!n)return;let f=t.legendManualLayout;if(f&&f.xMode===`edge`&&f.yMode===`edge`&&f.w>0&&f.h>0){let n=r+f.x*a,s=i+f.y*o,c=f.w*a,l=f.h*o,u=c>=l?`horizontal`:`vertical`;p(e,t.series,n,s,c,l,u);return}switch(n.side){case`r`:p(e,t.series,r+a-n.reserveW+4,c,n.reserveW-8,u);break;case`l`:p(e,t.series,r+4,c,n.reserveW-8,u);break;case`t`:p(e,t.series,s,i+d,l,n.reserveH,`horizontal`);break;case`b`:p(e,t.series,s,i+o-n.reserveH,l,n.reserveH,`horizontal`);break}}function g(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 _(e,t,n){return e.titleFontSizeHpt?e.titleFontSizeHpt/100*n:Math.max(10,t*.085)}function v(e,t,n){return e?e/100*n:Math.max(8,t*.045)}function y(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 b(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 x(e,t,n,r,i,a,o,s,c){let l=s??`outEnd`;if(e.fillStyle=c?`#${c}`:`#333`,o===`vertical`){let o=n+a/2;l===`inBase`?(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t,o,r+i-2)):l===`inEnd`?(e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t,o,r+2)):l===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,o,r+i/2)):(e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(t,o,r-1))}else{let o=r+a/2;l===`inBase`?(e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(t,n+4,o)):l===`inEnd`?(e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(t,n+i-4,o)):l===`ctr`?(e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,n+i/2,o)):(e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(t,n+i+2,o))}}function S(e,n,r,o){let{x:s,y:l,w:u,h:d}=r,p=n.chartType===`clusteredBarH`||n.chartType===`stackedBarH`||n.chartType===`stackedBarHPct`,g=n.chartType.startsWith(`stacked`),v=n.chartType===`stackedBarPct`||n.chartType===`stackedBarHPct`,S=n.series.filter(e=>e.seriesType!==`line`),C=n.series.filter(e=>e.seriesType===`line`),w=b(n),T=w.length;if(T===0)return;let E=n.title?_(n,d,o):0,D=n.title?d*.02:0,O=n.title?d*.025:0,k=n.title?E+D+O:0,A=m(n,u,d),j=A?.side===`r`?A.reserveW:0,M=A?.side===`l`?A.reserveW:0,N=A?.side===`t`?A.reserveH:0,P=A?.side===`b`?A.reserveH:0,F=Math.max(8,Math.min(10,d*.045)),I=n.catAxisTitle?F+4:0,L=n.valAxisTitle?F+4:0,R={t:k+N+d*.02,r:j+u*.03,b:d*.14+I+P,l:u*.12+L+M};p&&(R.l=(n.catAxisHidden?u*.03:u*.22)+L+M,R.b=(n.valAxisHidden?d*.02:d*.08)+I+P),y(e,n,s,l+D,u,E);let z=s+R.l,B=l+R.t,V=u-R.l-R.r,H=d-R.t-R.b;if(V<=0||H<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(z,B,V,H));let U=0;for(let e=0;e<T;e++){let t=0;for(let n of S){let r=n.values[e]??0;g?t+=Math.abs(r):U=Math.max(U,Math.abs(r))}g&&(U=Math.max(U,t))}v&&(U=100),n.valMax!=null&&(U=n.valMax),U===0&&(U=1);let W=i(U),G=n.valMax??a(U,W),K=`#e0e0e0`,q=Math.round(G/W);if(e.textBaseline=`middle`,e.font=`${Math.max(8,Math.min(11,H/20))}px sans-serif`,e.fillStyle=`#555`,!n.valAxisHidden)for(let t=0;t<=q;t++){let r=t*W,i=v?`${Math.round(r)}%`:c(r,n.valAxisFormatCode);if(p){let n=z+r/G*V;e.strokeStyle=t===0?`#aaa`:K,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(n,B),e.lineTo(n,B+H),e.stroke(),e.textAlign=`center`,e.fillText(i,n,B+H+10)}else{let n=B+H-r/G*H;e.strokeStyle=t===0?`#aaa`:K,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(z,n),e.lineTo(z+V,n),e.stroke(),e.textAlign=`right`,e.fillText(i,z-4,n)}}e.strokeStyle=`#aaa`,e.lineWidth=1,p?(e.beginPath(),e.moveTo(z,B),e.lineTo(z,B+H),e.stroke()):(e.beginPath(),e.moveTo(z,B+H),e.lineTo(z+V,B+H),e.stroke());let J=p?H/T:V/T,Y=g?1:Math.max(1,S.length),X=g?0:n.barOverlap??0,ee=n.barGapWidth??150,Z=J/(1+(Y-1)*(1-X/100)+ee/100),Q=g?0:Z*(1-X/100),$=(J-(Z+(Y-1)*Q))/2;for(let r=0;r<T;r++){let i=0,a=0;if(v){for(let e of S)a+=Math.abs(e.values[r]??0);a===0&&(a=1)}for(let o=0;o<S.length;o++){let s=S[o],l=s.values[r]??0,u=v?Math.abs(l)/a*100:Math.abs(l),d=t(o,s);if(p){let t=g?o:S.length-1-o,a=g?B+(T-1-r)*J+$:B+(T-1-r)*J+$+t*Q,l=u/G*V,f=g?z+i/G*V:z;e.fillStyle=d,e.fillRect(f,a,l,Z),n.showDataLabels&&u>0&&(e.font=`bold ${Math.max(7,Math.min(11,Z*.6))}px sans-serif`,x(e,v?`${Math.round(u)}%`:c(u,n.dataLabelFormatCode??s.valFormatCode??null),f,a,l,Z,`horizontal`,n.dataLabelPosition??null,n.dataLabelFontColor??null))}else{let t=g?z+r*J+$:z+r*J+$+o*Q,a=u/G*H,l=B+H-(g?i+u:u)/G*H;e.fillStyle=d,e.fillRect(t,l,Z,a),n.showDataLabels&&u>0&&(e.font=`bold ${Math.max(7,Math.min(11,Z*.6))}px sans-serif`,x(e,v?`${Math.round(u)}%`:c(u,n.dataLabelFormatCode??s.valFormatCode??null),t,l,Z,a,`vertical`,n.dataLabelPosition??null,n.dataLabelFontColor??null))}g&&(i+=u)}}if(!n.catAxisHidden){e.fillStyle=`#555`,e.font=`${Math.max(8,Math.min(11,J*.5))}px sans-serif`;for(let t=0;t<T;t++){let n=(w[t]??``).toString().slice(0,12);if(p){let r=B+(T-1-t)*J+J/2;e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(n,z-4,r)}else{let r=z+t*J+J/2;e.textAlign=`center`,e.textBaseline=`top`,e.fillText(n,r,B+H+3)}}}if(C.length>0&&!p)for(let n=0;n<C.length;n++){let r=C[n],i=t(S.length+n,r);e.strokeStyle=i,e.lineWidth=2,e.setLineDash([]),e.beginPath();let a=!1;for(let t=0;t<T;t++){let n=r.values[t];if(n==null){a=!1;continue}let i=z+t*J+J/2,o=B+H-n/G*H;a?e.lineTo(i,o):(e.moveTo(i,o),a=!0)}if(e.stroke(),r.showMarker!==!1)for(let t=0;t<T;t++){let n=r.values[t];if(n==null)continue;let a=z+t*J+J/2,o=B+H-n/G*H;e.fillStyle=i,e.beginPath(),e.arc(a,o,3,0,Math.PI*2),e.fill()}}h(e,p&&!g?{...n,series:[...n.series].reverse()}:n,A,s,l,u,d,z,B,V,H,k+2),n.catAxisTitle&&f(e,n.catAxisTitle,z,B,V,H,`cat`,F),n.valAxisTitle&&f(e,n.valAxisTitle,z,B,V,H,`val`,F)}function C(e,n,r,l){let{x:u,y:d,w:p,h:x}=r,S=b(n),C=S.length;if(C===0)return;let w=n.title?_(n,x,l):0,T=n.title?x*.045:0,E=n.title?x*.035:0,D=n.title?w+T+E:0,O=m(n,p,x),k=O?.side===`r`?O.reserveW:0,A=O?.side===`l`?O.reserveW:0,j=O?.side===`t`?O.reserveH:0,M=O?.side===`b`?O.reserveH:0,N=v(n.catAxisFontSizeHpt,x,l),P=v(n.valAxisFontSizeHpt,x,l),F=Math.max(N,P),I=n.catAxisTitle?F+4:0,L=n.valAxisTitle?F+4:0,R={t:D+j+P/2+2,r:k+p*.05,b:N+12+I+M,l:P*2.2+10+L+A};y(e,n,u,d+T,p,w);let z=u+R.l,B=d+R.t,V=p-R.l-R.r,H=x-R.t-R.b;if(V<=0||H<=0)return;n.plotAreaBg&&(e.fillStyle=`#${n.plotAreaBg}`,e.fillRect(z,B,V,H));let U=1/0,W=-1/0;for(let e of n.series)for(let t of e.values)t!=null&&(U=Math.min(U,t),W=Math.max(W,t));isFinite(U)||(U=0,W=1),n.valMin==null?U>0&&(U=0):U=n.valMin,n.valMax==null?W<0&&(W=0):W=n.valMax,W===U&&(W=U+1);let G=i(W-U),K=n.valMin??o(U,G),q=n.valMax??a(W,G),J=q-K;if(J===0)return;let Y=e=>B+H-(e-K)/J*H,X=n.catAxisCrossBetween===`midCat`?e=>z+(C===1?V/2:e/(C-1)*V):e=>z+(e+.5)/C*V;if(!n.valAxisHidden){let t=Math.round((q-K)/G);e.font=`${P}px sans-serif`,e.textBaseline=`middle`;for(let r=0;r<=t;r++){let t=K+r*G,i=Y(t);e.strokeStyle=t===0?`#aaa`:`#e0e0e0`,e.lineWidth=t===0?1:.5,e.beginPath(),e.moveTo(z,i),e.lineTo(z+V,i),e.stroke(),g(e,n.valAxisMajorTickMark,`val`,z,i),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(c(t,n.valAxisFormatCode),z-6,i)}}e.strokeStyle=`#aaa`,e.lineWidth=1,e.beginPath(),e.moveTo(z,B+H),e.lineTo(z+V,B+H),e.stroke(),n.valAxisHidden||(e.beginPath(),e.moveTo(z,B),e.lineTo(z,B+H),e.stroke());let ee=Math.max(1,2.25*l),Z=Math.max(2,2.5*l),Q=v(n.dataLabelFontSizeHpt,x,l);for(let r=0;r<n.series.length;r++){let i=n.series[r],a=t(r,i);e.strokeStyle=a,e.lineWidth=ee,e.setLineDash([]),e.beginPath();let o=!1;for(let t=0;t<C;t++){let n=i.values[t];if(n==null){o=!1;continue}let r=X(t),a=Y(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<C;t++){let r=i.values[t];if(r!=null&&(c&&(e.beginPath(),e.arc(X(t),Y(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),X(t),Y(r)-n),e.fillStyle=a}}}if(!n.catAxisHidden){let t=Math.max(1,Math.ceil(C/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${N}px sans-serif`;for(let r=0;r<C;r+=t){let t=X(r);g(e,n.catAxisMajorTickMark,`cat`,B+H,t),e.fillStyle=`#555`,e.fillText((S[r]??``).toString().slice(0,10),t,B+H+5)}}h(e,n,O,u,d,p,x,z,B,V,H,D+2),n.catAxisTitle&&f(e,n.catAxisTitle,z,B,V,H,`cat`,F),n.valAxisTitle&&f(e,n.valAxisTitle,z,B,V,H,`val`,F)}function w(e,n,o,s){let{x:l,y:u,w:d,h:p}=o,g=b(n),v=g.length;if(v===0)return;let x=n.chartType===`stackedArea`||n.chartType===`stackedAreaPct`,S=n.title?_(n,p,s):0,C=n.title?p*.035:0,w=n.title?p*.035:0,T=n.title?S+C+w:0,E=m(n,d,p),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,p*.045)),M=n.catAxisTitle?j+4:0,N=n.valAxisTitle?j+4:0,P={t:T+k+p*.02,r:D+d*.05,b:p*.14+M+A,l:d*.12+N+O};y(e,n,l,u+C,d,S);let F=l+P.l,I=u+P.t,L=d-P.l-P.r,R=p-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<v;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+(v===1?L/2:e/(v-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 r=0;r<=t;r++){let t=r*B,i=U(t);e.strokeStyle=r===0?`#aaa`:`#e0e0e0`,e.lineWidth=r===0?1:.5,e.beginPath(),e.moveTo(F,i),e.lineTo(F+L,i),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.fillText(c(t,n.valAxisFormatCode),F-4,i)}}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(v).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<v;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=v-1;t>=0;t--)e.lineTo(H(t),U(W[t]));for(let e=0;e<v;e++)W[e]+=a.values[e]??0}else{e.moveTo(H(0),s);for(let t=0;t<v;t++)e.lineTo(H(t),U(a.values[t]??0));e.lineTo(H(v-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(v/8));e.fillStyle=`#555`,e.textAlign=`center`,e.textBaseline=`top`,e.font=`${Math.max(8,Math.min(11,L/v*.8))}px sans-serif`;for(let n=0;n<v;n+=t)e.fillText((g[n]??``).toString().slice(0,10),H(n),I+R+3)}h(e,n,E,l,u,d,p,F,I,L,R,T+2),n.catAxisTitle&&f(e,n.catAxisTitle,F,I,L,R,`cat`,j),n.valAxisTitle&&f(e,n.valAxisTitle,F,I,L,R,`val`,j)}function T(t,r,i,a,o){let{x:s,y:c,w:l,h:u}=i,d=r.series[0];if(!d)return;let f=d.categories&&d.categories.length>0?d.categories:r.categories,p=d.values.map(e=>Math.abs(e??0)),m=p.reduce((e,t)=>e+t,0);if(m===0)return;let g=r.title?_(r,u,o):0,v=r.title?u*.035:0,b=r.title?u*.035:0,x=r.title?g+v+b:0;y(t,r,s,c+v,l,g);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<p.length;e++){let i=p[e]/m*Math.PI*2,o=n(e,d);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(p[e]/m*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=p.map((t,n)=>({name:(f[n]??`Item ${n+1}`).toString(),color:d.dataPointColors?.[n]??d.color??e[n%e.length],values:[]})),i=k-D/2;h(t,{...r,series:n},S,s,c,l,u,i,A-O/2,D,O,x+2)}}function E(e,n,o,c){let{x:l,y:u,w:d,h:f}=o,p=b(n),g=p.length;if(g<3)return;let x=n.title?_(n,f,c):0,S=n.title?f*.035:0,C=n.title?f*.035:0,w=n.title?x+S+C:0,T=m(n,d,f),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;y(e,n,l,u+S,d,x);let A=d-E-D,j=f-w-O-k-f*.02,M=l+D+A/2,N=u+w+O+f*.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/g*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<g;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<g;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=`${v(n.valAxisFontSizeHpt,f,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<g;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((p[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<g;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()}h(e,n,T,l,u,d,f,M-A/2,N-j/2,A,j,w+2)}function D(e,n,r,a){let{x:o,y:s,w:l,h:u}=r,d=n.title?_(n,u,a):0,p=n.title?u*.035:0,g=n.title?u*.035:0,v=n.title?d+p+g:0,b=m(n,l,u),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,u*.045)),E=n.catAxisTitle?T+4:0,D=n.valAxisTitle?T+4:0,O={t:v+C+u*.02,r:x+l*.05,b:u*.12+E+w,l:l*.12+D+S};y(e,n,o,s+p,l,d);let k=o+O.l,A=s+O.t,j=l-O.l-O.r,M=u-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),r=Math.round((z-R)/t)+1;for(let i=0;i<r;i++){let r=R+i*t;if(r>z+t*.01)break;let a=V(r);e.strokeStyle=`#e0e0e0`,e.lineWidth=.5,e.beginPath(),e.moveTo(k,a),e.lineTo(k+j,a),e.stroke(),e.fillStyle=`#555`,e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(c(r,n.valAxisFormatCode),k-4,a)}}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())}}h(e,n,b,o,s,l,u,k,A,j,M,v+2),n.catAxisTitle&&f(e,n.catAxisTitle,k,A,j,M,`cat`,T),n.valAxisTitle&&f(e,n.valAxisTitle,k,A,j,M,`val`,T)}function O(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 k(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`:S(e,t,n,r);break;case`line`:case`stackedLine`:case`stackedLinePct`:C(e,t,n,r);break;case`area`:case`stackedArea`:case`stackedAreaPct`:w(e,t,n,r);break;case`pie`:T(e,t,n,!1,r);break;case`doughnut`:T(e,t,n,!0,r);break;case`radar`:E(e,t,n,r);break;case`scatter`:case`bubble`:D(e,t,n,r);break;case`waterfall`:O(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 k}});