@silurus/ooxml 0.24.1 → 0.24.3
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/README.md
CHANGED
|
@@ -53,8 +53,7 @@ await xlsx.load('/workbook.xlsx');
|
|
|
53
53
|
|
|
54
54
|
// PPTX — viewer manages its own <canvas>
|
|
55
55
|
const pptx = new PptxViewer(document.getElementById('pptx-container')!);
|
|
56
|
-
|
|
57
|
-
await pptx.load(buf);
|
|
56
|
+
await pptx.load('/deck.pptx');
|
|
58
57
|
pptx.nextSlide();
|
|
59
58
|
```
|
|
60
59
|
|
|
@@ -150,13 +149,7 @@ export function PptxViewerComponent({ src }: { src: string }) {
|
|
|
150
149
|
onSlideChange: (i, total) => setSlide({ current: i, total }),
|
|
151
150
|
});
|
|
152
151
|
viewerRef.current = viewer;
|
|
153
|
-
|
|
154
|
-
let cancelled = false;
|
|
155
|
-
fetch(src)
|
|
156
|
-
.then(r => r.arrayBuffer())
|
|
157
|
-
.then(buf => { if (!cancelled) viewer.load(buf); });
|
|
158
|
-
|
|
159
|
-
return () => { cancelled = true; };
|
|
152
|
+
viewer.load(src);
|
|
160
153
|
}, [src]);
|
|
161
154
|
|
|
162
155
|
return (
|
|
@@ -192,8 +185,7 @@ onMounted(async () => {
|
|
|
192
185
|
viewer = new PptxViewer(container.value!, {
|
|
193
186
|
onSlideChange: (i, t) => { current.value = i; total.value = t; },
|
|
194
187
|
});
|
|
195
|
-
|
|
196
|
-
await viewer.load(buf);
|
|
188
|
+
await viewer.load(props.src);
|
|
197
189
|
});
|
|
198
190
|
</script>
|
|
199
191
|
|
|
@@ -242,9 +234,7 @@ export class PptxViewerComponent implements AfterViewInit {
|
|
|
242
234
|
this.viewer = new PptxViewer(this.containerEl().nativeElement, {
|
|
243
235
|
onSlideChange: (i, t) => { this.current.set(i); this.total.set(t); },
|
|
244
236
|
});
|
|
245
|
-
|
|
246
|
-
.then(r => r.arrayBuffer())
|
|
247
|
-
.then(buf => this.viewer!.load(buf));
|
|
237
|
+
this.viewer.load('/deck.pptx');
|
|
248
238
|
}
|
|
249
239
|
|
|
250
240
|
prev(): void { this.viewer?.prevSlide(); }
|
|
@@ -276,8 +266,7 @@ export class PptxViewerComponent implements AfterViewInit {
|
|
|
276
266
|
viewer = new PptxViewer(container, {
|
|
277
267
|
onSlideChange: (i, t) => { current = i; total = t; },
|
|
278
268
|
});
|
|
279
|
-
|
|
280
|
-
await viewer.load(buf);
|
|
269
|
+
await viewer.load(src);
|
|
281
270
|
});
|
|
282
271
|
</script>
|
|
283
272
|
|
|
@@ -309,8 +298,7 @@ export function PptxViewerComponent(props: { src: string }) {
|
|
|
309
298
|
viewer = new PptxViewer(containerEl, {
|
|
310
299
|
onSlideChange: (i, t) => { setCurrent(i); setTotal(t); },
|
|
311
300
|
});
|
|
312
|
-
|
|
313
|
-
await viewer.load(buf);
|
|
301
|
+
await viewer.load(props.src);
|
|
314
302
|
});
|
|
315
303
|
|
|
316
304
|
onCleanup(() => { /* viewer?.destroy?.() */ });
|
|
@@ -349,8 +337,7 @@ export const PptxViewerComponent = component$<{ src: string }>(({ src }) => {
|
|
|
349
337
|
viewer = new PptxViewer(containerRef.value, {
|
|
350
338
|
onSlideChange: (i, t) => { current.value = i; total.value = t; },
|
|
351
339
|
});
|
|
352
|
-
|
|
353
|
-
await viewer.load(buf);
|
|
340
|
+
await viewer.load(src);
|
|
354
341
|
});
|
|
355
342
|
|
|
356
343
|
return (
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./xlsx-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./xlsx-BCjsF2z0.cjs`),t=require(`./pptx-Ywwc_EMp.cjs`),n=require(`./docx-DKPVLT6O.cjs`);Object.defineProperty(exports,`docx`,{enumerable:!0,get:function(){return n.t}}),Object.defineProperty(exports,`pptx`,{enumerable:!0,get:function(){return t.t}}),Object.defineProperty(exports,`xlsx`,{enumerable:!0,get:function(){return e.t}});
|
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./renderer-Bve7huQq.cjs`
|
|
|
3
3
|
`),i+=1;else if(d(n))r.push(t),i+=n>65535?2:1;else if(t===` `){let t=i;for(;t<e.text.length&&e.text[t]===` `;)t++;r.push(e.text.slice(i,t)),i=t}else{let t=i;for(;t<e.text.length;){let n=e.text[t],r=n.codePointAt(0)??0;if(n===` `||n===`
|
|
4
4
|
`||d(r))break;t+=r>65535?2:1}r.push(e.text.slice(i,t)),i=t}}for(let e of r)e===`
|
|
5
5
|
`?l():u(e,t)}return l(),a}function ue(e){let t=``;for(;e>0;){let n=(e-1)%26;t=String.fromCharCode(65+n)+t,e=Math.floor((e-1)/26)}return t}function K(e,t,n){for(let r of e)if(t>=r.top&&t<=r.bottom&&n>=r.left&&n<=r.right)return!0;return!1}function q(e){return e&&e.value.type===`number`?e.value.number:null}function de(e){return e&&e.value.type===`text`?e.value.text:null}function fe(e,t){let n=[];for(let r of e.rows)for(let e of r.cells)e.value.type===`number`&&K(t,e.row,e.col)&&n.push(e.value.number);return n}function pe(e,t){let n=t.length?Math.min(...t):0,r=t.length?Math.max(...t):0,i=e.value==null?NaN:parseFloat(e.value);switch(e.kind){case`min`:return n;case`max`:return r;case`num`:return isNaN(i)?0:i;case`percent`:{let e=isNaN(i)?50:i;return n+(r-n)*(e/100)}case`percentile`:{if(!t.length)return 0;let e=[...t].sort((e,t)=>e-t),n=(isNaN(i)?50:i)/100;return e[Math.max(0,Math.min(e.length-1,Math.round(n*(e.length-1))))]}default:return isNaN(i)?0:i}}function me(e){let t=[],n=new Map;for(let t of e.rows)for(let e of t.cells)n.set(`${e.row}:${e.col}`,e);let r=new Map;for(let t of e.definedNames??[])r.set(t.name,t);for(let n of e.conditionalFormats??[]){let r=fe(e,n.sqref);for(let e of n.rules){let i={rule:e,sqref:n.sqref};if(e.type===`colorScale`)i.scaleStops=e.stops.map(e=>pe(e,r));else if(e.type===`dataBar`)i.barMin=pe(e.min,r),i.barMax=pe(e.max,r);else if(e.type===`top10`){let t=[...r].sort((e,t)=>e-t),n=t.length;if(n>0){let r=Math.min(e.rank,n);if(e.percent){let a=e.top?1-r/100:r/100;i.top10Threshold=t[Math.max(0,Math.min(n-1,Math.round(a*(n-1))))]}else i.top10Threshold=e.top?t[Math.max(0,n-r)]:t[Math.min(n-1,r-1)];i.top10IsTop=e.top}}else e.type===`aboveAverage`?r.length>0&&(i.avgValue=r.reduce((e,t)=>e+t,0)/r.length,i.avgIsAbove=e.aboveAverage):e.type===`iconSet`&&(i.iconThresholds=e.cfvos.map(e=>pe(e,r)));t.push(i)}}return t.sort((e,t)=>(e.rule.priority??0)-(t.rule.priority??0)),{compiled:t,worksheet:e,cellIndex:n,definedNames:r}}function he(e,t,n){switch(t){case`greaterThan`:return e>(n[0]??0);case`greaterThanOrEqual`:return e>=(n[0]??0);case`lessThan`:return e<(n[0]??0);case`lessThanOrEqual`:return e<=(n[0]??0);case`equal`:return e===(n[0]??0);case`notEqual`:return e!==(n[0]??0);case`between`:return e>=(n[0]??0)&&e<=(n[1]??0);case`notBetween`:return e<(n[0]??0)||e>(n[1]??0);default:return!1}}function ge(e){let t=e.trim();if(t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`))return{text:t.slice(1,-1).replace(/""/g,`"`)};let n=parseFloat(t);return isNaN(n)?{text:t}:{num:n}}function _e(e,t,n){let r=n[0]??``,i=n[1]??``,a=e=>e.toLowerCase();switch(t){case`equal`:return a(e)===a(r);case`notEqual`:return a(e)!==a(r);case`containsText`:return a(e).includes(a(r));case`notContains`:return!a(e).includes(a(r));case`beginsWith`:return a(e).startsWith(a(r));case`endsWith`:return a(e).endsWith(a(r));case`between`:return a(e)>=a(r)&&a(e)<=a(i);case`notBetween`:return a(e)<a(r)||a(e)>a(i);default:return!1}}function ve(e,t,n){let r=e.replace(`#`,``),i=t.replace(`#`,``),a=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),s=parseInt(r.slice(4,6),16),c=parseInt(i.slice(0,2),16),l=parseInt(i.slice(2,4),16),u=parseInt(i.slice(4,6),16),d=Math.round(a+(c-a)*n),f=Math.round(o+(l-o)*n),p=Math.round(s+(u-s)*n);return`#${d.toString(16).padStart(2,`0`).toUpperCase()}${f.toString(16).padStart(2,`0`).toUpperCase()}${p.toString(16).padStart(2,`0`).toUpperCase()}`}function ye(e,t,n){if(!t.length)return`#FFFFFF`;if(e<=n[0])return t[0].color;if(e>=n[n.length-1])return t[t.length-1].color;for(let r=1;r<n.length;r++)if(e<=n[r]){let i=n[r-1],a=n[r],o=a===i?0:(e-i)/(a-i);return ve(t[r-1].color,t[r].color,o)}return t[t.length-1].color}function be(e,t){if(t&&(t.fill&&!e.fill&&(e.fill=t.fill),t.font?.color&&e.fontColor==null&&(e.fontColor=t.font.color),t.font?.bold&&e.fontBold==null&&(e.fontBold=!0),t.font?.italic&&e.fontItalic==null&&(e.fontItalic=!0),t.font?.underline&&e.fontUnderline==null&&(e.fontUnderline=!0),t.font?.strike&&e.fontStrike==null&&(e.fontStrike=!0),t.numFmt&&e.numFmt==null&&(e.numFmt={numFmtId:t.numFmt.numFmtId,formatCode:t.numFmt.formatCode||null}),t.border)){let n=e.border??{};e.border={left:n.left??t.border.left,right:n.right??t.border.right,top:n.top??t.border.top,bottom:n.bottom??t.border.bottom,diagonalUp:n.diagonalUp??t.border.diagonalUp,diagonalDown:n.diagonalDown??t.border.diagonalDown}}}function xe(e,t,n,r,i){let a={};if(!r.compiled.length)return a;for(let o of r.compiled){if(!K(o.sqref,t,n))continue;let s=o.rule,c=q(e);if(s.type===`expression`){let e=o.sqref[0];if(!e)continue;if(Ce(s.formula,{row:t,col:n,anchorRow:e.top,anchorCol:e.left,cellIndex:r.cellIndex,definedNames:r.definedNames,depth:0})&&(be(a,s.dxfId==null?null:i[s.dxfId]),s.stopIfTrue))break;continue}if(s.type===`cellIs`){let t=s.formulas.map(ge),n=de(e),r=!1;c!=null&&t.every(e=>e.num!=null)?r=he(c,s.operator,t.map(e=>e.num)):n!=null&&t.every(e=>e.text!=null)&&(r=_e(n,s.operator,t.map(e=>e.text))),r&&be(a,s.dxfId==null?null:i[s.dxfId])}else if(s.type===`top10`){if(c==null||o.top10Threshold==null)continue;(o.top10IsTop?c>=o.top10Threshold:c<=o.top10Threshold)&&be(a,s.dxfId==null?null:i[s.dxfId])}else if(s.type===`aboveAverage`){if(c==null||o.avgValue==null)continue;(o.avgIsAbove?c>o.avgValue:c<o.avgValue)&&be(a,s.dxfId==null?null:i[s.dxfId])}else if(s.type===`iconSet`){if(c==null||!o.iconThresholds?.length)continue;let e=o.iconThresholds,t=e.length,n=0;for(let r=1;r<t;r++)c>=e[r]&&(n=r);if(s.reverse&&(n=t-1-n),s.customIcons&&s.customIcons[n]){let e=s.customIcons[n];e.iconSet!==`NoIcons`&&(a.iconSet={name:e.iconSet,index:e.iconId})}else a.iconSet={name:s.iconSet,index:n}}else if(s.type===`colorScale`){if(c==null||!o.scaleStops||a.fill)continue;let e=ye(c,s.stops,o.scaleStops);a.fill={patternType:`solid`,fgColor:e,bgColor:e}}else if(s.type===`dataBar`){if(c==null||o.barMin==null||o.barMax==null||a.dataBar)continue;let e=o.barMax-o.barMin,t=e===0?0:Math.max(0,Math.min(1,(c-o.barMin)/e));a.dataBar={color:s.color,ratio:t,gradient:s.gradient}}}return a}function J(e){return Array.isArray(e)?e:[e]}function Y(e){return Array.isArray(e)?e[0]??0:e}var Se=8;function Ce(e,t){try{return we(Ae(e,t))}catch{return!1}}function we(e){let t=Y(e);return typeof t==`boolean`?t:typeof t==`number`?t!==0:typeof t==`string`?t.length>0&&t.toUpperCase()!==`FALSE`:!1}function X(e){let t=Y(e);if(typeof t==`number`)return t;if(typeof t==`boolean`)return+!!t;if(t==null)return 0;let n=parseFloat(String(t));return isNaN(n)?0:n}function Z(e){let t=Y(e);return t==null?``:typeof t==`boolean`?t?`TRUE`:`FALSE`:String(t)}var Te=new Set([`<`,`>`,`=`,`+`,`-`,`*`,`/`,`&`,`^`,`%`]);function Ee(e){let t=[],n=0,r=e;for(;n<r.length;){let e=r[n];if(e===` `||e===` `||e===`
|
|
6
|
-
`||e===`\r`){n++;continue}if(e===`(`){t.push({kind:`lparen`,text:e}),n++;continue}if(e===`)`){t.push({kind:`rparen`,text:e}),n++;continue}if(e===`,`){t.push({kind:`comma`,text:e}),n++;continue}if(e===`:`){t.push({kind:`colon`,text:e}),n++;continue}if(e===`"`){let e=n+1,i=``;for(;e<r.length;){if(r[e]===`"`&&r[e+1]===`"`){i+=`"`,e+=2;continue}if(r[e]===`"`)break;i+=r[e],e++}t.push({kind:`str`,text:i}),n=e+1;continue}if(e>=`0`&&e<=`9`){let e=n;for(;e<r.length&&(r[e]>=`0`&&r[e]<=`9`||r[e]===`.`);)e++;t.push({kind:`num`,text:r.slice(n,e)}),n=e;continue}if(Te.has(e)){(e===`<`||e===`>`)&&(r[n+1]===`=`||e===`<`&&r[n+1]===`>`)?(t.push({kind:`op`,text:r.slice(n,n+2)}),n+=2):(t.push({kind:`op`,text:e}),n++);continue}if(e===`$`||De(e)){let e=n;for(;e<r.length&&(r[e]===`$`||Oe(r[e]));)e++;let i=r.slice(n,e);n=e;let a=ke(i);if(a)t.push({kind:`ref`,text:i,ref:a});else{let e=i.toUpperCase();e===`TRUE`||e===`FALSE`?t.push({kind:`bool`,text:e}):t.push({kind:`name`,text:i})}continue}n++}return t}function De(e){return e>=`A`&&e<=`Z`||e>=`a`&&e<=`z`||e===`_`}function Oe(e){return De(e)||e>=`0`&&e<=`9`||e===`.`}function ke(e){let t=0,n=!1,r=!1;e[t]===`$`&&(n=!0,t++);let i=t;for(;t<e.length&&e[t]>=`A`&&e[t].toUpperCase()<=`Z`&&!(!(e[t]>=`A`&&e[t]<=`Z`)&&!(e[t]>=`a`&&e[t]<=`z`));)t++;if(t===i)return null;let a=e.slice(i,t).toUpperCase();e[t]===`$`&&(r=!0,t++);let o=t;for(;t<e.length&&e[t]>=`0`&&e[t]<=`9`;)t++;if(t===o||t!==e.length)return null;let s=parseInt(e.slice(o,t),10),c=0;for(let e=0;e<a.length;e++)c=c*26+(a.charCodeAt(e)-64);return{colAbs:n,col:c,rowAbs:r,row:s}}function Ae(e,t){return Me({toks:Ee(e),pos:0},t)}function je(e){return e.toks[e.pos]}function Q(e){return e.toks[e.pos++]}function Me(e,t){return Ne(e,t)}function Ne(e,t){let n=Pe(e,t),r=je(e);if(r&&r.kind===`op`&&(r.text===`<`||r.text===`>`||r.text===`<=`||r.text===`>=`||r.text===`=`||r.text===`<>`)){Q(e);let i=Pe(e,t);return Fe(r.text,n,i)}return n}function Pe(e,t){let n=Ie(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`&`)break;Q(e);let i=Ie(e,t);n=Z(n)+Z(i)}return n}function Fe(e,t,n){let r=typeof t==`string`&&isNaN(parseFloat(t))?null:X(t),i=typeof n==`string`&&isNaN(parseFloat(n))?null:X(n);if(r!==null&&i!==null)switch(e){case`<`:return r<i;case`>`:return r>i;case`<=`:return r<=i;case`>=`:return r>=i;case`=`:return r===i;case`<>`:return r!==i}let a=String(t??``),o=String(n??``);switch(e){case`<`:return a<o;case`>`:return a>o;case`<=`:return a<=o;case`>=`:return a>=o;case`=`:return a===o;case`<>`:return a!==o}return!1}function Ie(e,t){let n=Le(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`+`&&r.text!==`-`)break;Q(e);let i=Le(e,t);n=r.text===`+`?X(n)+X(i):X(n)-X(i)}return n}function Le(e,t){let n=Re(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`*`&&r.text!==`/`)break;Q(e);let i=Re(e,t);if(r.text===`*`)n=X(n)*X(i);else{let e=X(i);n=e===0?0:X(n)/e}}return n}function Re(e,t){let n=je(e);return n&&n.kind===`op`&&n.text===`-`?(Q(e),-X(Re(e,t))):n&&n.kind===`op`&&n.text===`+`?(Q(e),X(Re(e,t))):ze(e,t)}function ze(e,t){let n=Q(e);if(!n)return 0;if(n.kind===`num`)return parseFloat(n.text);if(n.kind===`str`)return n.text;if(n.kind===`bool`)return n.text===`TRUE`;if(n.kind===`lparen`){let n=Me(e,t),r=Q(e);if(!r||r.kind!==`rparen`)throw Error(`missing )`);return n}if(n.kind===`ref`){if(je(e)?.kind===`colon`){Q(e);let r=Q(e);if(r?.kind!==`ref`||!r.ref)throw Error(`range: expected ref after :`);return He(n.ref,r.ref,t)}return Ve(n.ref,t)}if(n.kind===`name`){if(je(e)?.kind===`lparen`){Q(e);let r=[];if(je(e)?.kind!==`rparen`)for(r.push(Me(e,t));je(e)?.kind===`comma`;)Q(e),r.push(Me(e,t));let i=Q(e);if(!i||i.kind!==`rparen`)throw Error(`missing )`);return We(n.text,r,t)}let r=t.definedNames.get(n.text);return r&&t.depth<Se?Ae(Be(r.formula),{...t,anchorRow:1,anchorCol:1,depth:t.depth+1}):0}return 0}function Be(e){let t=e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);return t?t[1]:e}function Ve(e,t){let n=e.colAbs?e.col:e.col+(t.col-t.anchorCol),r=e.rowAbs?e.row:e.row+(t.row-t.anchorRow);return Ue(t.cellIndex.get(`${r}:${n}`))}function He(e,t,n){let r=e.colAbs?e.col:e.col+(n.col-n.anchorCol),i=e.rowAbs?e.row:e.row+(n.row-n.anchorRow),a=t.colAbs?t.col:t.col+(n.col-n.anchorCol),o=t.rowAbs?t.row:t.row+(n.row-n.anchorRow),s=Math.min(r,a),c=Math.max(r,a),l=Math.min(i,o),u=Math.max(i,o),d=[],f=4096;for(let e=l;e<=u&&d.length<f;e++)for(let t=s;t<=c&&d.length<f;t++)d.push(Ue(n.cellIndex.get(`${e}:${t}`)));return d}function Ue(e){if(!e)return null;switch(e.value.type){case`number`:return e.value.number;case`bool`:return e.value.bool;case`text`:return e.value.text;case`error`:return null;default:return null}}function We(e,t,n){switch(e.toUpperCase()){case`AND`:return t.flatMap(J).every(e=>we(e));case`OR`:return t.flatMap(J).some(e=>we(e));case`NOT`:return!we(t[0]);case`IF`:return we(t[0])?t[1]??!0:t[2]??!1;case`IFERROR`:return t[0]==null?t[1]??0:t[0];case`IFS`:for(let e=0;e+1<t.length;e+=2)if(we(t[e]))return t[e+1];return null;case`TRUE`:return!0;case`FALSE`:return!1;case`ISBLANK`:{let e=Y(t[0]);return e==null||e===``}case`ISNUMBER`:return typeof Y(t[0])==`number`;case`ISTEXT`:return typeof Y(t[0])==`string`;case`ISNONTEXT`:return typeof Y(t[0])!=`string`;case`ISERROR`:case`ISERR`:case`ISNA`:return Y(t[0])==null;case`ISLOGICAL`:return typeof Y(t[0])==`boolean`;case`ROUNDDOWN`:{let e=X(t[0]),n=10**X(t[1]);return(e>=0?Math.floor(e*n):Math.ceil(e*n))/n}case`ROUNDUP`:{let e=X(t[0]),n=10**X(t[1]);return(e>=0?Math.ceil(e*n):Math.floor(e*n))/n}case`ROUND`:{let e=X(t[0]),n=10**X(t[1]);return Math.round(e*n)/n}case`INT`:return Math.floor(X(t[0]));case`TRUNC`:{let e=X(t[0]),n=10**X(t[1]??0);return(e>=0?Math.floor(e*n):Math.ceil(e*n))/n}case`CEILING`:{let e=X(t[0]),n=X(t[1]??1);return n===0?0:Math.ceil(e/n)*n}case`FLOOR`:{let e=X(t[0]),n=X(t[1]??1);return n===0?0:Math.floor(e/n)*n}case`MOD`:{let e=X(t[0]),n=X(t[1]);return n===0?null:e-Math.floor(e/n)*n}case`POWER`:return X(t[0])**+X(t[1]);case`SQRT`:{let e=X(t[0]);return e<0?null:Math.sqrt(e)}case`ABS`:return Math.abs(X(t[0]));case`SIGN`:{let e=X(t[0]);return e>0?1:e<0?-1:0}case`EXP`:return Math.exp(X(t[0]));case`LN`:{let e=X(t[0]);return e<=0?null:Math.log(e)}case`LOG10`:{let e=X(t[0]);return e<=0?null:Math.log10(e)}case`MIN`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?Math.min(...e):0}case`MAX`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?Math.max(...e):0}case`SUM`:return t.flatMap(J).reduce((e,t)=>e+(typeof t==`number`?t:0),0);case`AVERAGE`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?e.reduce((e,t)=>e+t,0)/e.length:null}case`COUNT`:return t.flatMap(J).filter(e=>typeof e==`number`).length;case`COUNTA`:return t.flatMap(J).filter(e=>e!=null&&e!==``).length;case`COUNTBLANK`:return t.flatMap(J).filter(e=>e==null||e===``).length;case`COUNTIF`:return Ge(J(t[0]),t[1]);case`SUMIF`:return Ke(J(t[0]),t[1],t[2]===void 0?null:J(t[2]));case`AVERAGEIF`:{let e=J(t[0]),n=Ke(e,t[1],t[2]===void 0?null:J(t[2])),r=Ge(e,t[1]);return r===0?null:X(n)/r}case`LEN`:return Z(t[0]).length;case`LEFT`:return Z(t[0]).slice(0,Math.max(0,X(t[1]??1)));case`RIGHT`:{let e=Z(t[0]),n=Math.max(0,X(t[1]??1));return n>=e.length?e:e.slice(e.length-n)}case`MID`:{let e=Z(t[0]),n=Math.max(1,X(t[1]))-1,r=Math.max(0,X(t[2]));return e.slice(n,n+r)}case`UPPER`:return Z(t[0]).toUpperCase();case`LOWER`:return Z(t[0]).toLowerCase();case`TRIM`:return Z(t[0]).replace(/\s+/g,` `).trim();case`EXACT`:return Z(t[0])===Z(t[1]);case`FIND`:{let e=Z(t[0]),n=Z(t[1]),r=Math.max(1,X(t[2]??1))-1,i=n.indexOf(e,r);return i<0?null:i+1}case`SEARCH`:{let e=Z(t[0]).toLowerCase(),n=Z(t[1]).toLowerCase(),r=Math.max(1,X(t[2]??1))-1,i=n.indexOf(e,r);return i<0?null:i+1}case`CONCATENATE`:case`CONCAT`:return t.flatMap(J).map(e=>e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e)).join(``);case`T`:{let e=Y(t[0]);return typeof e==`string`?e:``}case`N`:{let e=Y(t[0]);return typeof e==`number`?e:typeof e==`boolean`?+!!e:0}case`VALUE`:return X(t[0]);case`ROW`:return n.row;case`COLUMN`:return n.col;case`TODAY`:return Xe();case`NOW`:return Ze();case`DATE`:return Qe(X(t[0]),X(t[1]),X(t[2]));case`YEAR`:return et(X(t[0])).y;case`MONTH`:return et(X(t[0])).m;case`DAY`:return et(X(t[0])).d;case`WEEKDAY`:{let e=$e(X(t[0])).getUTCDay(),n=X(t[1]??1);return n===2?e===0?7:e:n===3?e===0?6:e-1:e+1}default:return 0}}function Ge(e,t){let n=qe(t),r=0;for(let t of e)n(t)&&r++;return r}function Ke(e,t,n){let r=qe(t),i=n??e,a=0;for(let t=0;t<e.length;t++)if(r(e[t])){let e=i[t];typeof e==`number`&&(a+=e)}return a}function qe(e){let t=Y(e);if(typeof t!=`string`){let e=typeof t==`number`?t:null;return n=>e!==null&&typeof n==`number`?n===e:n===t}let n=t.match(/^(<=|>=|<>|<|>|=)(.*)$/),r=n?n[1]:`=`,i=n?n[2]:t,a=i.trim()===``?NaN:parseFloat(i),o=!isNaN(a)&&/^-?\d+(\.\d+)?$/.test(i.trim());return e=>{if(o&&typeof e==`number`)switch(r){case`<`:return e<a;case`>`:return e>a;case`<=`:return e<=a;case`>=`:return e>=a;case`<>`:return e!==a;default:return e===a}let t=e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e);switch(r){case`<>`:return t!==i;case`<`:return t<i;case`>`:return t>i;case`<=`:return t<=i;case`>=`:return t>=i;default:return t===i}}}var Je=25569,Ye=864e5;function Xe(){let e=new Date,t=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor(t/Ye)+Je}function Ze(){return Date.now()/Ye+Je}function Qe(e,t,n){let r=Date.UTC(e,t-1,n);return Math.floor(r/Ye)+Je}function $e(e){let t=(Math.floor(e)-Je)*Ye;return new Date(t)}function et(e){let t=$e(e);return{y:t.getUTCFullYear(),m:t.getUTCMonth()+1,d:t.getUTCDate()}}var tt=[`#FF0000`,`#FFFF00`,`#00B050`],nt=[`#FF0000`,`#FF6600`,`#FFFF00`,`#00B050`],rt=[`#FF0000`,`#FF6600`,`#FFFF00`,`#92D050`,`#00B050`];function it(e,t,n,r,i,a){if(t===`NoIcons`)return;let o=t||`3TrafficLights1`,s=parseInt(o[0])||3,c=s===5?rt:s===4?nt:tt,l=c[Math.max(0,Math.min(n,c.length-1))];if(e.save(),e.fillStyle=l,o.includes(`Arrow`)){let t=a/2;e.beginPath(),n===s-1?(e.moveTo(r+t,i),e.lineTo(r+a,i+a),e.lineTo(r,i+a)):n===0?(e.moveTo(r,i),e.lineTo(r+a,i),e.lineTo(r+t,i+a)):(e.moveTo(r,i+a*.3),e.lineTo(r+a,i+t),e.lineTo(r,i+a*.7)),e.closePath(),e.fill()}else o.includes(`Flag`)?(e.beginPath(),e.moveTo(r,i),e.lineTo(r+a,i),e.lineTo(r,i+a),e.closePath(),e.fill()):(e.beginPath(),e.arc(r+a/2,i+a/2,a/2,0,Math.PI*2),e.fill());e.restore()}function at(e,t,n,r,i){let a=Math.max(6,Math.round(Math.min(r,i)*.45)),o=t+r-a-1,s=n+i-a-1;e.save(),e.fillStyle=`#D0D0D0`,e.fillRect(o,s,a,a),e.fillStyle=`#444444`;let c=a*.55,l=o+(a-c)/2,u=s+(a-c*.5)/2;e.beginPath(),e.moveTo(l,u),e.lineTo(l+c,u),e.lineTo(l+c/2,u+c*.5),e.closePath(),e.fill(),e.restore()}function ot(e){let t=new Map;for(let n of e.tables??[]){if(!n.styleName)continue;let{top:e,bottom:r,left:i,right:a}=n.range,o=n.accentColor||`#808080`,s=Math.max(0,n.headerRowCount??1),c=Math.max(0,n.totalsRowCount??0),l=e+s-1,u=r-c+1;for(let d=e;d<=r;d++){let f=s>0&&d<=l,p=c>0&&d>=u,m=!f&&!p?d-l-1:-1;for(let s=i;s<=a;s++)t.set(`${d}:${s}`,{accent:o,isHeader:f,isTotals:p,isBanded:n.showRowStripes&&m>=0&&m%2==1,isFirstCol:n.showFirstColumn&&s===i,isLastCol:n.showLastColumn&&s===a,isTopEdge:d===e,isBottomEdge:d===r,wholeTableDxf:n.wholeTableDxf,headerRowDxf:n.headerRowDxf})}}return t}function st(e){let t=new Map;for(let n of e.sparklineGroups??[]){let e=1/0,r=-1/0;if(n.minAxisType===`group`||n.maxAxisType===`group`){for(let t of n.sparklines)for(let n of t.values)typeof n==`number`&&(n<e&&(e=n),n>r&&(r=n));(!isFinite(e)||!isFinite(r))&&(e=0,r=1)}for(let i of n.sparklines){let a=i.values.filter(e=>typeof e==`number`),o=a.length?Math.min(...a):0,s=a.length?Math.max(...a):1,c=n.minAxisType===`custom`&&typeof n.manualMin==`number`?n.manualMin:n.minAxisType===`group`?e:o,l=n.maxAxisType===`custom`&&typeof n.manualMax==`number`?n.manualMax:n.maxAxisType===`group`?r:s;t.set(`${i.row}:${i.col}`,{kind:n.kind,values:i.values,min:c,max:l,displayEmptyCellsAs:n.displayEmptyCellsAs===`zero`||n.displayEmptyCellsAs===`span`?n.displayEmptyCellsAs:`gap`,displayXAxis:n.displayXAxis,lineWeight:n.lineWeight,markers:n.markers,high:n.high,low:n.low,first:n.first,last:n.last,negative:n.negative,colorSeries:n.colorSeries,colorNegative:n.colorNegative,colorAxis:n.colorAxis,colorMarkers:n.colorMarkers,colorFirst:n.colorFirst,colorLast:n.colorLast,colorHigh:n.colorHigh,colorLow:n.colorLow})}}return t}function ct(e){let t=e.replace(`#`,``);if(t.length<6)return`#F2F2F2`;let n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16),a=e=>Math.round(e*.2+255*.8),o=e=>e.toString(16).padStart(2,`0`).toUpperCase();return`#${o(a(n))}${o(a(r))}${o(a(i))}`}function lt(e,t,r,i,a,o,s,c,l,u,d,f,m,h){if(m<=0||h<=0)return;let{styles:g,cellMap:_,mergeAnchorMap:C,mergeSkipSet:E,cfContext:te,cs:re,dpr:j}=t,ie=a.length,M=o.length,ae=[],N=-s;for(let e=0;e<ie;e++)ae.push(N),N+=a[e];let P=[],F=-c;for(let e=0;e<M;e++)P.push(F),F+=o[e];e.save(),e.beginPath(),e.rect(d,f,m,h),e.clip();let I=[];for(let n of t.worksheet.mergeCells??[]){let a=n.top,o=n.left;if(a>=r&&a<r+M&&o>=i&&o<i+ie||n.bottom<r||n.top>=r+M||n.right<i||n.left>=i+ie)continue;let d=t.mergeAnchorMap.get(`${a}:${o}`);if(!d)continue;let f;if(o>=i)f=l+ae[o-i];else{let e=0;for(let n=o;n<i;n++)e+=Math.round(v(t.worksheet.colWidths[n]??t.worksheet.defaultColWidth,t.mdw)*re);f=l-s-e}let m;if(a>=r)m=u+P[a-r];else{let e=0;for(let n=a;n<r;n++)e+=Math.round(y(t.worksheet.rowHeights[n]??t.worksheet.defaultRowHeight)*re);m=u-c-e}let h=d.totalW,_=d.totalH,S=`${a}:${o}`,C=t.cellMap.get(S),{font:w,fill:T,border:E,xf:D}=ee(g,C?.styleIndex??0),O=xe(C,a,o,te,g.dxfs??[]),A=O.fill??T;if(A.patternType!==`none`&&A.patternType!==``&&A.fgColor&&(e.fillStyle=b(A.fgColor),e.fillRect(f,m,h,_)),O.dataBar&&O.dataBar.ratio>0){let t=Math.max(0,(h-4)*O.dataBar.ratio);x(e,O.dataBar.color,f+2,m+2,t,_-4,O.dataBar.gradient)}if(xt(e,bt(yt(E,a,o,d.right,d.bottom,t.cellMap,g),O.border),f,m,h,_),!C)continue;let j=ne(C,g,O.numFmt);if(!j||j===`0`&&t.worksheet.showZeros===!1)continue;let N=w.bold||!!O.fontBold,F=w.italic||!!O.fontItalic,I=w.underline||!!O.fontUnderline,L=w.strike||!!O.fontStrike;e.font=k(N!==w.bold||F!==w.italic||I!==w.underline||L!==w.strike?{...w,bold:N,italic:F,underline:I,strike:L}:w,re);let R=t.hyperlinkMap.get(S)?`#0563C1`:O.fontColor??w.color;e.fillStyle=R?b(R):`#000000`;let z=C.value.type===`number`,oe=D.alignH??(z?`right`:`left`),B=D.alignV??`bottom`,V=D.indent?Math.round(D.indent*w.size*p*.5):0,H=3+(oe===`left`||!D.alignH?V:0);e.save(),e.beginPath(),e.rect(f,m,h,_),e.clip();let U;oe===`right`?(U=f+h-3,e.textAlign=`right`):oe===`center`?(U=f+h/2,e.textAlign=`center`):(U=f+H,e.textAlign=`left`);let W;B===`top`?(e.textBaseline=`top`,W=m+2):B===`center`?(e.textBaseline=`middle`,W=m+_/2):(e.textBaseline=`bottom`,W=m+_-2),e.fillText(j,U,W),e.restore()}for(let s=0;s<M;s++){let c=r+s,v=u+P[s],y=o[s];if(v+y<=f||v>=f+h)continue;let M=new Set,N=new Set,F=-1,L=e=>{if(F>=0&&e-F>=2){for(let t=F;t<e-1;t++)M.add(t);for(let t=F+1;t<e;t++)N.add(t)}F=-1};for(let e=0;e<=ie;e++){let t=!1,n=!1;if(e<ie){let r=`${c}:${i+e}`;if(!E.has(r)&&!C.has(r)){let e=_.get(r);t=ee(g,e?.styleIndex??0).xf.alignH===`centerContinuous`,n=!!(e&&e.value&&e.value.type!==`empty`)}}t?n&&F>=0&&e>F?(L(e),F=e):F<0&&(F=e):L(e)}for(let r=0;r<ie;r++){let o=i+r,u=l+ae[r],f=a[r];if(u+f<=d||u>=d+m)continue;let h=`${c}:${o}`;if(E.has(h))continue;let P=C.get(h),F=P?P.totalW:f,L=P?P.totalH:y,R=_.get(h),{font:z,fill:oe,border:B,xf:V}=ee(g,R?.styleIndex??0),H=xe(R,c,o,te,g.dxfs??[]),U=H.fill??oe,W=t.tableStyleMap.get(h),G=W?.wholeTableDxf==null?void 0:(g.dxfs??[])[W.wholeTableDxf],ce=W?.headerRowDxf==null?void 0:(g.dxfs??[])[W.headerRowDxf];if(U.gradient&&U.gradient.stops.length>0)e.fillStyle=T(e,U.gradient,u,v,F,L),e.fillRect(u,v,F,L);else if(U.patternType&&U.patternType!==`none`&&U.fgColor){let t=U.patternType,n=U.bgColor??`FFFFFF`,r=w(e,t,U.fgColor,n);if(r)e.fillStyle=r;else{let r=S(t);e.fillStyle=r>=1?b(U.fgColor):O(U.fgColor,n,r)}e.fillRect(u,v,F,L)}else W&&W.isHeader&&ce?.fill?.fgColor?(e.fillStyle=b(ce.fill.fgColor),e.fillRect(u,v,F,L)):W&&!W.isHeader&&!W.isTotals&&G?.fill?.fgColor?(e.fillStyle=b(G.fill.fgColor),e.fillRect(u,v,F,L)):W&&W.isBanded&&(e.fillStyle=ct(W.accent),e.fillRect(u,v,F,L));if(t.commentCells.has(h)&&D(e,u,v,F,L),H.dataBar&&H.dataBar.ratio>0){let t=Math.max(0,(F-4)*H.dataBar.ratio);x(e,H.dataBar.color,u+2,v+2,t,L-4,H.dataBar.gradient)}let ue=t.sparklineMap.get(h);if(ue&&n(e,{x:u,y:v,w:F,h:L},ue),t.worksheet.showGridlines!==!1){let t=.5/j;e.strokeStyle=`#d0d0d0`,e.lineWidth=.5,e.beginPath(),M.has(r)||(e.moveTo(u+F+t,v),e.lineTo(u+F+t,v+L)),e.moveTo(u,v+L+t),e.lineTo(u+F,v+L+t),s===0&&(e.moveTo(u,v+t),e.lineTo(u+F,v+t)),r===0&&(e.moveTo(u+t,v),e.lineTo(u+t,v+L)),e.stroke()}let K=bt(P?yt(B,c,o,P.right,P.bottom,_,g):B,H.border);if((M.has(r)||N.has(r))&&(K={...K,left:N.has(r)?null:K.left,right:M.has(r)?null:K.right}),!K.top?.style){let e=_.get(`${c-1}:${o}`),t=e?ee(g,e.styleIndex).border.bottom:null;t?.style&&(K={...K,top:t})}if(!K.left?.style){let e=_.get(`${c}:${o-1}`),t=e?ee(g,e.styleIndex).border.right:null;t?.style&&(K={...K,left:t})}if(xt(e,K,u,v,F,L),W){let t=G?.border?.horizontal,n=G?.border?.vertical,r=G?.border?.top,i=G?.border?.bottom,a=G?.border?.left,s=G?.border?.right,c=ce?.border?.bottom,l=ce?.border?.top;if(t||n||r||i||a||s||c||l){let n={left:null,right:null,top:null,bottom:null};W.isTopEdge?n.top=r??null:t&&(n.top=t),W.isHeader&&c?n.bottom=c:W.isBottomEdge?n.bottom=i??null:t&&(n.bottom=t),(W.isFirstCol||o===0)&&(n.left=a??null),W.isLastCol&&(n.right=s??null),xt(e,n,u,v,F,L)}else{let t=.5/j;e.strokeStyle=W.accent,e.lineWidth=W.isHeader?1.5:1,e.beginPath(),e.moveTo(u,v+L-t),e.lineTo(u+F,v+L-t),W.isTopEdge&&(e.moveTo(u,v+t),e.lineTo(u+F,v+t)),e.stroke()}}if(t.autoFilterCells.has(h)&&at(e,u,v,f,L),!R)continue;let q=ne(R,g,H.numFmt);!q||q===`0`&&t.worksheet.showZeros===!1||I.push(()=>{let n=!!(W&&(W.isHeader||W.isTotals)),s=z.bold||!!H.fontBold||n,l=z.italic||!!H.fontItalic,d=z.underline||!!H.fontUnderline,f=z.strike||!!H.fontStrike,m=s!==z.bold||l!==z.italic||d!==z.underline||f!==z.strike?{...z,bold:s,italic:l,underline:d,strike:f}:z;e.font=k(m,re);let y=t.hyperlinkMap.get(h),x=W?.isHeader&&ce?.font?.color?ce.font.color:W&&!W.isHeader&&!W.isTotals&&G?.font?.color?G.font.color:null,S=y?`#0563C1`:H.fontColor??x??z.color;e.fillStyle=S?b(S):`#000000`;let w=R.value.type===`number`,T=V.alignH??(w?`right`:`left`),D=V.alignV??`bottom`,O=V.indent?Math.round(V.indent*z.size*p*.5):0,te=H.iconSet?Math.max(8,Math.round(Math.min(F,L)*.55)):0,ne=te>0?te+4:0,j=3+(T===`left`||!V.alignH?O:0)+ne,M=F,ae=u,N=r;if(T===`centerContinuous`&&!P)for(let e=r+1;e<ie;e++){let t=`${c}:${i+e}`;if(E.has(t)||C.has(t))break;let n=_.get(t);if(n&&n.value.type!==`empty`||ee(g,n?.styleIndex??0).xf.alignH!==`centerContinuous`)break;M+=a[e],N=e}let I=T===`centerContinuous`?ae:u,oe=T===`centerContinuous`?M:F,B=q.includes(`
|
|
6
|
+
`||e===`\r`){n++;continue}if(e===`(`){t.push({kind:`lparen`,text:e}),n++;continue}if(e===`)`){t.push({kind:`rparen`,text:e}),n++;continue}if(e===`,`){t.push({kind:`comma`,text:e}),n++;continue}if(e===`:`){t.push({kind:`colon`,text:e}),n++;continue}if(e===`"`){let e=n+1,i=``;for(;e<r.length;){if(r[e]===`"`&&r[e+1]===`"`){i+=`"`,e+=2;continue}if(r[e]===`"`)break;i+=r[e],e++}t.push({kind:`str`,text:i}),n=e+1;continue}if(e>=`0`&&e<=`9`){let e=n;for(;e<r.length&&(r[e]>=`0`&&r[e]<=`9`||r[e]===`.`);)e++;t.push({kind:`num`,text:r.slice(n,e)}),n=e;continue}if(Te.has(e)){(e===`<`||e===`>`)&&(r[n+1]===`=`||e===`<`&&r[n+1]===`>`)?(t.push({kind:`op`,text:r.slice(n,n+2)}),n+=2):(t.push({kind:`op`,text:e}),n++);continue}if(e===`$`||De(e)){let e=n;for(;e<r.length&&(r[e]===`$`||Oe(r[e]));)e++;let i=r.slice(n,e);n=e;let a=ke(i);if(a)t.push({kind:`ref`,text:i,ref:a});else{let e=i.toUpperCase();e===`TRUE`||e===`FALSE`?t.push({kind:`bool`,text:e}):t.push({kind:`name`,text:i})}continue}n++}return t}function De(e){return e>=`A`&&e<=`Z`||e>=`a`&&e<=`z`||e===`_`}function Oe(e){return De(e)||e>=`0`&&e<=`9`||e===`.`}function ke(e){let t=0,n=!1,r=!1;e[t]===`$`&&(n=!0,t++);let i=t;for(;t<e.length&&e[t]>=`A`&&e[t].toUpperCase()<=`Z`&&!(!(e[t]>=`A`&&e[t]<=`Z`)&&!(e[t]>=`a`&&e[t]<=`z`));)t++;if(t===i)return null;let a=e.slice(i,t).toUpperCase();e[t]===`$`&&(r=!0,t++);let o=t;for(;t<e.length&&e[t]>=`0`&&e[t]<=`9`;)t++;if(t===o||t!==e.length)return null;let s=parseInt(e.slice(o,t),10),c=0;for(let e=0;e<a.length;e++)c=c*26+(a.charCodeAt(e)-64);return{colAbs:n,col:c,rowAbs:r,row:s}}function Ae(e,t){return Me({toks:Ee(e),pos:0},t)}function je(e){return e.toks[e.pos]}function Q(e){return e.toks[e.pos++]}function Me(e,t){return Ne(e,t)}function Ne(e,t){let n=Pe(e,t),r=je(e);if(r&&r.kind===`op`&&(r.text===`<`||r.text===`>`||r.text===`<=`||r.text===`>=`||r.text===`=`||r.text===`<>`)){Q(e);let i=Pe(e,t);return Fe(r.text,n,i)}return n}function Pe(e,t){let n=Ie(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`&`)break;Q(e);let i=Ie(e,t);n=Z(n)+Z(i)}return n}function Fe(e,t,n){let r=typeof t==`string`&&isNaN(parseFloat(t))?null:X(t),i=typeof n==`string`&&isNaN(parseFloat(n))?null:X(n);if(r!==null&&i!==null)switch(e){case`<`:return r<i;case`>`:return r>i;case`<=`:return r<=i;case`>=`:return r>=i;case`=`:return r===i;case`<>`:return r!==i}let a=String(t??``),o=String(n??``);switch(e){case`<`:return a<o;case`>`:return a>o;case`<=`:return a<=o;case`>=`:return a>=o;case`=`:return a===o;case`<>`:return a!==o}return!1}function Ie(e,t){let n=Le(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`+`&&r.text!==`-`)break;Q(e);let i=Le(e,t);n=r.text===`+`?X(n)+X(i):X(n)-X(i)}return n}function Le(e,t){let n=Re(e,t);for(;;){let r=je(e);if(!r||r.kind!==`op`||r.text!==`*`&&r.text!==`/`)break;Q(e);let i=Re(e,t);if(r.text===`*`)n=X(n)*X(i);else{let e=X(i);n=e===0?0:X(n)/e}}return n}function Re(e,t){let n=je(e);return n&&n.kind===`op`&&n.text===`-`?(Q(e),-X(Re(e,t))):n&&n.kind===`op`&&n.text===`+`?(Q(e),X(Re(e,t))):ze(e,t)}function ze(e,t){let n=Q(e);if(!n)return 0;if(n.kind===`num`)return parseFloat(n.text);if(n.kind===`str`)return n.text;if(n.kind===`bool`)return n.text===`TRUE`;if(n.kind===`lparen`){let n=Me(e,t),r=Q(e);if(!r||r.kind!==`rparen`)throw Error(`missing )`);return n}if(n.kind===`ref`){if(je(e)?.kind===`colon`){Q(e);let r=Q(e);if(r?.kind!==`ref`||!r.ref)throw Error(`range: expected ref after :`);return He(n.ref,r.ref,t)}return Ve(n.ref,t)}if(n.kind===`name`){if(je(e)?.kind===`lparen`){Q(e);let r=[];if(je(e)?.kind!==`rparen`)for(r.push(Me(e,t));je(e)?.kind===`comma`;)Q(e),r.push(Me(e,t));let i=Q(e);if(!i||i.kind!==`rparen`)throw Error(`missing )`);return We(n.text,r,t)}let r=t.definedNames.get(n.text);return r&&t.depth<Se?Ae(Be(r.formula),{...t,anchorRow:1,anchorCol:1,depth:t.depth+1}):0}return 0}function Be(e){let t=e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);return t?t[1]:e}function Ve(e,t){let n=e.colAbs?e.col:e.col+(t.col-t.anchorCol),r=e.rowAbs?e.row:e.row+(t.row-t.anchorRow);return Ue(t.cellIndex.get(`${r}:${n}`))}function He(e,t,n){let r=e.colAbs?e.col:e.col+(n.col-n.anchorCol),i=e.rowAbs?e.row:e.row+(n.row-n.anchorRow),a=t.colAbs?t.col:t.col+(n.col-n.anchorCol),o=t.rowAbs?t.row:t.row+(n.row-n.anchorRow),s=Math.min(r,a),c=Math.max(r,a),l=Math.min(i,o),u=Math.max(i,o),d=[],f=4096;for(let e=l;e<=u&&d.length<f;e++)for(let t=s;t<=c&&d.length<f;t++)d.push(Ue(n.cellIndex.get(`${e}:${t}`)));return d}function Ue(e){if(!e)return null;switch(e.value.type){case`number`:return e.value.number;case`bool`:return e.value.bool;case`text`:return e.value.text;case`error`:return null;default:return null}}function We(e,t,n){switch(e.toUpperCase()){case`AND`:return t.flatMap(J).every(e=>we(e));case`OR`:return t.flatMap(J).some(e=>we(e));case`NOT`:return!we(t[0]);case`IF`:return we(t[0])?t[1]??!0:t[2]??!1;case`IFERROR`:return t[0]==null?t[1]??0:t[0];case`IFS`:for(let e=0;e+1<t.length;e+=2)if(we(t[e]))return t[e+1];return null;case`TRUE`:return!0;case`FALSE`:return!1;case`ISBLANK`:{let e=Y(t[0]);return e==null||e===``}case`ISNUMBER`:return typeof Y(t[0])==`number`;case`ISTEXT`:return typeof Y(t[0])==`string`;case`ISNONTEXT`:return typeof Y(t[0])!=`string`;case`ISERROR`:case`ISERR`:case`ISNA`:return Y(t[0])==null;case`ISLOGICAL`:return typeof Y(t[0])==`boolean`;case`ROUNDDOWN`:{let e=X(t[0]),n=10**X(t[1]);return(e>=0?Math.floor(e*n):Math.ceil(e*n))/n}case`ROUNDUP`:{let e=X(t[0]),n=10**X(t[1]);return(e>=0?Math.ceil(e*n):Math.floor(e*n))/n}case`ROUND`:{let e=X(t[0]),n=10**X(t[1]);return Math.round(e*n)/n}case`INT`:return Math.floor(X(t[0]));case`TRUNC`:{let e=X(t[0]),n=10**X(t[1]??0);return(e>=0?Math.floor(e*n):Math.ceil(e*n))/n}case`CEILING`:{let e=X(t[0]),n=X(t[1]??1);return n===0?0:Math.ceil(e/n)*n}case`FLOOR`:{let e=X(t[0]),n=X(t[1]??1);return n===0?0:Math.floor(e/n)*n}case`MOD`:{let e=X(t[0]),n=X(t[1]);return n===0?null:e-Math.floor(e/n)*n}case`POWER`:return X(t[0])**+X(t[1]);case`SQRT`:{let e=X(t[0]);return e<0?null:Math.sqrt(e)}case`ABS`:return Math.abs(X(t[0]));case`SIGN`:{let e=X(t[0]);return e>0?1:e<0?-1:0}case`EXP`:return Math.exp(X(t[0]));case`LN`:{let e=X(t[0]);return e<=0?null:Math.log(e)}case`LOG10`:{let e=X(t[0]);return e<=0?null:Math.log10(e)}case`MIN`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?Math.min(...e):0}case`MAX`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?Math.max(...e):0}case`SUM`:return t.flatMap(J).reduce((e,t)=>e+(typeof t==`number`?t:0),0);case`AVERAGE`:{let e=t.flatMap(J).filter(e=>typeof e==`number`);return e.length?e.reduce((e,t)=>e+t,0)/e.length:null}case`COUNT`:return t.flatMap(J).filter(e=>typeof e==`number`).length;case`COUNTA`:return t.flatMap(J).filter(e=>e!=null&&e!==``).length;case`COUNTBLANK`:return t.flatMap(J).filter(e=>e==null||e===``).length;case`COUNTIF`:return Ge(J(t[0]),t[1]);case`SUMIF`:return Ke(J(t[0]),t[1],t[2]===void 0?null:J(t[2]));case`AVERAGEIF`:{let e=J(t[0]),n=Ke(e,t[1],t[2]===void 0?null:J(t[2])),r=Ge(e,t[1]);return r===0?null:X(n)/r}case`LEN`:return Z(t[0]).length;case`LEFT`:return Z(t[0]).slice(0,Math.max(0,X(t[1]??1)));case`RIGHT`:{let e=Z(t[0]),n=Math.max(0,X(t[1]??1));return n>=e.length?e:e.slice(e.length-n)}case`MID`:{let e=Z(t[0]),n=Math.max(1,X(t[1]))-1,r=Math.max(0,X(t[2]));return e.slice(n,n+r)}case`UPPER`:return Z(t[0]).toUpperCase();case`LOWER`:return Z(t[0]).toLowerCase();case`TRIM`:return Z(t[0]).replace(/\s+/g,` `).trim();case`EXACT`:return Z(t[0])===Z(t[1]);case`FIND`:{let e=Z(t[0]),n=Z(t[1]),r=Math.max(1,X(t[2]??1))-1,i=n.indexOf(e,r);return i<0?null:i+1}case`SEARCH`:{let e=Z(t[0]).toLowerCase(),n=Z(t[1]).toLowerCase(),r=Math.max(1,X(t[2]??1))-1,i=n.indexOf(e,r);return i<0?null:i+1}case`CONCATENATE`:case`CONCAT`:return t.flatMap(J).map(e=>e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e)).join(``);case`T`:{let e=Y(t[0]);return typeof e==`string`?e:``}case`N`:{let e=Y(t[0]);return typeof e==`number`?e:typeof e==`boolean`?+!!e:0}case`VALUE`:return X(t[0]);case`ROW`:return n.row;case`COLUMN`:return n.col;case`TODAY`:return Xe();case`NOW`:return Ze();case`DATE`:return Qe(X(t[0]),X(t[1]),X(t[2]));case`YEAR`:return et(X(t[0])).y;case`MONTH`:return et(X(t[0])).m;case`DAY`:return et(X(t[0])).d;case`WEEKDAY`:{let e=$e(X(t[0])).getUTCDay(),n=X(t[1]??1);return n===2?e===0?7:e:n===3?e===0?6:e-1:e+1}default:return 0}}function Ge(e,t){let n=qe(t),r=0;for(let t of e)n(t)&&r++;return r}function Ke(e,t,n){let r=qe(t),i=n??e,a=0;for(let t=0;t<e.length;t++)if(r(e[t])){let e=i[t];typeof e==`number`&&(a+=e)}return a}function qe(e){let t=Y(e);if(typeof t!=`string`){let e=typeof t==`number`?t:null;return n=>e!==null&&typeof n==`number`?n===e:n===t}let n=t.match(/^(<=|>=|<>|<|>|=)(.*)$/),r=n?n[1]:`=`,i=n?n[2]:t,a=i.trim()===``?NaN:parseFloat(i),o=!isNaN(a)&&/^-?\d+(\.\d+)?$/.test(i.trim());return e=>{if(o&&typeof e==`number`)switch(r){case`<`:return e<a;case`>`:return e>a;case`<=`:return e<=a;case`>=`:return e>=a;case`<>`:return e!==a;default:return e===a}let t=e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:String(e);switch(r){case`<>`:return t!==i;case`<`:return t<i;case`>`:return t>i;case`<=`:return t<=i;case`>=`:return t>=i;default:return t===i}}}var Je=25569,Ye=864e5;function Xe(){let e=new Date,t=Date.UTC(e.getFullYear(),e.getMonth(),e.getDate());return Math.floor(t/Ye)+Je}function Ze(){return Date.now()/Ye+Je}function Qe(e,t,n){let r=Date.UTC(e,t-1,n);return Math.floor(r/Ye)+Je}function $e(e){let t=(Math.floor(e)-Je)*Ye;return new Date(t)}function et(e){let t=$e(e);return{y:t.getUTCFullYear(),m:t.getUTCMonth()+1,d:t.getUTCDate()}}var tt=[`#FF0000`,`#FFFF00`,`#00B050`],nt=[`#FF0000`,`#FF6600`,`#FFFF00`,`#00B050`],rt=[`#FF0000`,`#FF6600`,`#FFFF00`,`#92D050`,`#00B050`];function it(e,t,n,r,i,a){if(t===`NoIcons`)return;let o=t||`3TrafficLights1`,s=parseInt(o[0])||3,c=s===5?rt:s===4?nt:tt,l=c[Math.max(0,Math.min(n,c.length-1))];if(e.save(),e.fillStyle=l,o.includes(`Arrow`)){let t=a/2;e.beginPath(),n===s-1?(e.moveTo(r+t,i),e.lineTo(r+a,i+a),e.lineTo(r,i+a)):n===0?(e.moveTo(r,i),e.lineTo(r+a,i),e.lineTo(r+t,i+a)):(e.moveTo(r,i+a*.3),e.lineTo(r+a,i+t),e.lineTo(r,i+a*.7)),e.closePath(),e.fill()}else o.includes(`Flag`)?(e.beginPath(),e.moveTo(r,i),e.lineTo(r+a,i),e.lineTo(r,i+a),e.closePath(),e.fill()):(e.beginPath(),e.arc(r+a/2,i+a/2,a/2,0,Math.PI*2),e.fill());e.restore()}function at(e,t,n,r,i){let a=Math.max(6,Math.round(Math.min(r,i)*.45)),o=t+r-a-1,s=n+i-a-1;e.save(),e.fillStyle=`#D0D0D0`,e.fillRect(o,s,a,a),e.fillStyle=`#444444`;let c=a*.55,l=o+(a-c)/2,u=s+(a-c*.5)/2;e.beginPath(),e.moveTo(l,u),e.lineTo(l+c,u),e.lineTo(l+c/2,u+c*.5),e.closePath(),e.fill(),e.restore()}function ot(e){let t=new Map;for(let n of e.tables??[]){if(!n.styleName)continue;let{top:e,bottom:r,left:i,right:a}=n.range,o=n.accentColor||`#808080`,s=Math.max(0,n.headerRowCount??1),c=Math.max(0,n.totalsRowCount??0),l=e+s-1,u=r-c+1;for(let d=e;d<=r;d++){let f=s>0&&d<=l,p=c>0&&d>=u,m=!f&&!p?d-l-1:-1;for(let s=i;s<=a;s++)t.set(`${d}:${s}`,{accent:o,isHeader:f,isTotals:p,isBanded:n.showRowStripes&&m>=0&&m%2==1,isFirstCol:n.showFirstColumn&&s===i,isLastCol:n.showLastColumn&&s===a,isTopEdge:d===e,isBottomEdge:d===r,wholeTableDxf:n.wholeTableDxf,headerRowDxf:n.headerRowDxf})}}return t}function st(e){let t=new Map;for(let n of e.sparklineGroups??[]){let e=1/0,r=-1/0;if(n.minAxisType===`group`||n.maxAxisType===`group`){for(let t of n.sparklines)for(let n of t.values)typeof n==`number`&&(n<e&&(e=n),n>r&&(r=n));(!isFinite(e)||!isFinite(r))&&(e=0,r=1)}for(let i of n.sparklines){let a=i.values.filter(e=>typeof e==`number`),o=a.length?Math.min(...a):0,s=a.length?Math.max(...a):1,c=n.minAxisType===`custom`&&typeof n.manualMin==`number`?n.manualMin:n.minAxisType===`group`?e:o,l=n.maxAxisType===`custom`&&typeof n.manualMax==`number`?n.manualMax:n.maxAxisType===`group`?r:s;t.set(`${i.row}:${i.col}`,{kind:n.kind,values:i.values,min:c,max:l,displayEmptyCellsAs:n.displayEmptyCellsAs===`zero`||n.displayEmptyCellsAs===`span`?n.displayEmptyCellsAs:`gap`,displayXAxis:n.displayXAxis,lineWeight:n.lineWeight,markers:n.markers,high:n.high,low:n.low,first:n.first,last:n.last,negative:n.negative,colorSeries:n.colorSeries,colorNegative:n.colorNegative,colorAxis:n.colorAxis,colorMarkers:n.colorMarkers,colorFirst:n.colorFirst,colorLast:n.colorLast,colorHigh:n.colorHigh,colorLow:n.colorLow})}}return t}function ct(e){let t=e.replace(`#`,``);if(t.length<6)return`#F2F2F2`;let n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16),a=e=>Math.round(e*.2+255*.8),o=e=>e.toString(16).padStart(2,`0`).toUpperCase();return`#${o(a(n))}${o(a(r))}${o(a(i))}`}function lt(e,t,r,i,a,o,s,c,l,u,d,f,m,h){if(m<=0||h<=0)return;let{styles:g,cellMap:_,mergeAnchorMap:C,mergeSkipSet:E,cfContext:te,cs:re,dpr:j}=t,ie=a.length,M=o.length,ae=[],N=-s;for(let e=0;e<ie;e++)ae.push(N),N+=a[e];let P=[],F=-c;for(let e=0;e<M;e++)P.push(F),F+=o[e];e.save(),e.beginPath(),e.rect(d,f,m,h),e.clip();let I=[];for(let n of t.worksheet.mergeCells??[]){let a=n.top,o=n.left;if(a>=r&&a<r+M&&o>=i&&o<i+ie||n.bottom<r||n.top>=r+M||n.right<i||n.left>=i+ie)continue;let d=t.mergeAnchorMap.get(`${a}:${o}`);if(!d)continue;let f;if(o>=i)f=l+ae[o-i];else{let e=0;for(let n=o;n<i;n++)e+=Math.round(v(t.worksheet.colWidths[n]??t.worksheet.defaultColWidth,t.mdw)*re);f=l-s-e}let m;if(a>=r)m=u+P[a-r];else{let e=0;for(let n=a;n<r;n++)e+=Math.round(y(t.worksheet.rowHeights[n]??t.worksheet.defaultRowHeight)*re);m=u-c-e}let h=d.totalW,_=d.totalH,S=`${a}:${o}`,C=t.cellMap.get(S),{font:w,fill:T,border:E,xf:D}=ee(g,C?.styleIndex??0),O=xe(C,a,o,te,g.dxfs??[]),A=O.fill??T;if(A.patternType!==`none`&&A.patternType!==``&&A.fgColor&&(e.fillStyle=b(A.fgColor),e.fillRect(f,m,h,_)),O.dataBar&&O.dataBar.ratio>0){let t=Math.max(0,(h-4)*O.dataBar.ratio);x(e,O.dataBar.color,f+2,m+2,t,_-4,O.dataBar.gradient)}if(xt(e,bt(yt(E,a,o,d.right,d.bottom,t.cellMap,g),O.border),f,m,h,_),!C)continue;let j=ne(C,g,O.numFmt);if(!j||j===`0`&&t.worksheet.showZeros===!1)continue;let N=w.bold||!!O.fontBold,F=w.italic||!!O.fontItalic,I=w.underline||!!O.fontUnderline,L=w.strike||!!O.fontStrike;e.font=k(N!==w.bold||F!==w.italic||I!==w.underline||L!==w.strike?{...w,bold:N,italic:F,underline:I,strike:L}:w,re);let R=t.hyperlinkMap.get(S)?`#0563C1`:O.fontColor??w.color;e.fillStyle=R?b(R):`#000000`;let z=C.value.type===`number`,oe=D.alignH??(z?`right`:`left`),B=D.alignV??`bottom`,V=D.indent?Math.round(D.indent*w.size*p*.5):0,H=3+(oe===`left`||!D.alignH?V:0);e.save(),e.beginPath(),e.rect(f,m,h,_),e.clip();let U;oe===`right`?(U=f+h-3,e.textAlign=`right`):oe===`center`?(U=f+h/2,e.textAlign=`center`):(U=f+H,e.textAlign=`left`);let W;B===`top`?(e.textBaseline=`top`,W=m+2):B===`center`?(e.textBaseline=`middle`,W=m+_/2):(e.textBaseline=`bottom`,W=m+_-2),e.fillText(j,U,W),e.restore()}for(let s=0;s<M;s++){let c=r+s,v=u+P[s],y=o[s];if(v+y<=f||v>=f+h)continue;let M=new Set,N=new Set,F=-1,L=e=>{if(F>=0&&e-F>=2){for(let t=F;t<e-1;t++)M.add(t);for(let t=F+1;t<e;t++)N.add(t)}F=-1};for(let e=0;e<=ie;e++){let t=!1,n=!1;if(e<ie){let r=`${c}:${i+e}`;if(!E.has(r)&&!C.has(r)){let e=_.get(r);t=ee(g,e?.styleIndex??0).xf.alignH===`centerContinuous`,n=!!(e&&e.value&&e.value.type!==`empty`)}}t?n&&F>=0&&e>F?(L(e),F=e):F<0&&(F=e):L(e)}for(let r=0;r<ie;r++){let o=i+r,u=l+ae[r],f=a[r];if(u+f<=d||u>=d+m)continue;let h=`${c}:${o}`;if(E.has(h))continue;let P=C.get(h),F=P?P.totalW:f,L=P?P.totalH:y,R=_.get(h),{font:z,fill:oe,border:B,xf:V}=ee(g,R?.styleIndex??0),H=xe(R,c,o,te,g.dxfs??[]),U=H.fill??oe,W=t.tableStyleMap.get(h),G=W?.wholeTableDxf==null?void 0:(g.dxfs??[])[W.wholeTableDxf],ce=W?.headerRowDxf==null?void 0:(g.dxfs??[])[W.headerRowDxf];if(U.gradient&&U.gradient.stops.length>0)e.fillStyle=T(e,U.gradient,u,v,F,L),e.fillRect(u,v,F,L);else if(U.patternType&&U.patternType!==`none`&&U.fgColor){let t=U.patternType,n=U.bgColor??`FFFFFF`,r=w(e,t,U.fgColor,n);if(r)e.fillStyle=r;else{let r=S(t);e.fillStyle=r>=1?b(U.fgColor):O(U.fgColor,n,r)}e.fillRect(u,v,F,L)}else W&&W.isHeader&&ce?.fill?.fgColor?(e.fillStyle=b(ce.fill.fgColor),e.fillRect(u,v,F,L)):W&&!W.isHeader&&!W.isTotals&&G?.fill?.fgColor?(e.fillStyle=b(G.fill.fgColor),e.fillRect(u,v,F,L)):W&&W.isBanded&&(e.fillStyle=ct(W.accent),e.fillRect(u,v,F,L));if(t.commentCells.has(h)&&D(e,u,v,F,L),H.dataBar&&H.dataBar.ratio>0){let t=Math.max(0,(F-4)*H.dataBar.ratio);x(e,H.dataBar.color,u+2,v+2,t,L-4,H.dataBar.gradient)}let ue=t.sparklineMap.get(h);if(ue&&n(e,{x:u,y:v,w:F,h:L},ue),t.worksheet.showGridlines!==!1){let t=.5/j;e.strokeStyle=`#d0d0d0`,e.lineWidth=.5,e.beginPath(),M.has(r)||(e.moveTo(u+F+t,v),e.lineTo(u+F+t,v+L)),e.moveTo(u,v+L+t),e.lineTo(u+F,v+L+t),s===0&&(e.moveTo(u,v+t),e.lineTo(u+F,v+t)),r===0&&(e.moveTo(u+t,v),e.lineTo(u+t,v+L)),e.stroke()}let K=bt(P?yt(B,c,o,P.right,P.bottom,_,g):B,H.border);if((M.has(r)||N.has(r))&&(K={...K,left:N.has(r)?null:K.left,right:M.has(r)?null:K.right}),!K.top?.style){let e=_.get(`${c-1}:${o}`),t=e?ee(g,e.styleIndex).border.bottom:null;t?.style&&(K={...K,top:t})}if(!K.left?.style&&!N.has(r)){let e=_.get(`${c}:${o-1}`),t=e?ee(g,e.styleIndex).border.right:null;t?.style&&(K={...K,left:t})}if(xt(e,K,u,v,F,L),W){let t=G?.border?.horizontal,n=G?.border?.vertical,r=G?.border?.top,i=G?.border?.bottom,a=G?.border?.left,s=G?.border?.right,c=ce?.border?.bottom,l=ce?.border?.top;if(t||n||r||i||a||s||c||l){let n={left:null,right:null,top:null,bottom:null};W.isTopEdge?n.top=r??null:t&&(n.top=t),W.isHeader&&c?n.bottom=c:W.isBottomEdge?n.bottom=i??null:t&&(n.bottom=t),(W.isFirstCol||o===0)&&(n.left=a??null),W.isLastCol&&(n.right=s??null),xt(e,n,u,v,F,L)}else{let t=.5/j;e.strokeStyle=W.accent,e.lineWidth=W.isHeader?1.5:1,e.beginPath(),e.moveTo(u,v+L-t),e.lineTo(u+F,v+L-t),W.isTopEdge&&(e.moveTo(u,v+t),e.lineTo(u+F,v+t)),e.stroke()}}if(t.autoFilterCells.has(h)&&at(e,u,v,f,L),!R)continue;let q=ne(R,g,H.numFmt);!q||q===`0`&&t.worksheet.showZeros===!1||I.push(()=>{let n=!!(W&&(W.isHeader||W.isTotals)),s=z.bold||!!H.fontBold||n,l=z.italic||!!H.fontItalic,d=z.underline||!!H.fontUnderline,f=z.strike||!!H.fontStrike,m=s!==z.bold||l!==z.italic||d!==z.underline||f!==z.strike?{...z,bold:s,italic:l,underline:d,strike:f}:z;e.font=k(m,re);let y=t.hyperlinkMap.get(h),x=W?.isHeader&&ce?.font?.color?ce.font.color:W&&!W.isHeader&&!W.isTotals&&G?.font?.color?G.font.color:null,S=y?`#0563C1`:H.fontColor??x??z.color;e.fillStyle=S?b(S):`#000000`;let w=R.value.type===`number`,T=V.alignH??(w?`right`:`left`),D=V.alignV??`bottom`,O=V.indent?Math.round(V.indent*z.size*p*.5):0,te=H.iconSet?Math.max(8,Math.round(Math.min(F,L)*.55)):0,ne=te>0?te+4:0,j=3+(T===`left`||!V.alignH?O:0)+ne,M=F,ae=u,N=r;if(T===`centerContinuous`&&!P)for(let e=r+1;e<ie;e++){let t=`${c}:${i+e}`;if(E.has(t)||C.has(t))break;let n=_.get(t);if(n&&n.value.type!==`empty`||ee(g,n?.styleIndex??0).xf.alignH!==`centerContinuous`)break;M+=a[e],N=e}let I=T===`centerContinuous`?ae:u,oe=T===`centerContinuous`?M:F,B=q.includes(`
|
|
7
7
|
`);if(!P&&!V.wrapText&&!V.textRotation&&!w&&!B){let t=e.measureText(q).width,n=T===`centerContinuous`,o=n?t+6:t+j+3,s=n?M:F;if(o>s){let e=o-s,t=0,l=0;if(T===`right`?l=e:T===`center`||n?(l=e/2,t=e/2):t=e,t>0){let e=t,o=n?N+1:r+1;for(let t=o;t<ie&&e>0;t++){let n=`${c}:${i+t}`;if(E.has(n)||C.has(n))break;let r=_.get(n);if(r&&r.value.type!==`empty`)break;oe+=a[t],e-=a[t]}}if(l>0){let e=l;for(let t=r-1;t>=0&&e>0;t--){let n=`${c}:${i+t}`;if(E.has(n)||C.has(n))break;let r=_.get(n);if(r&&r.value.type!==`empty`)break;I-=a[t],oe+=a[t],e-=a[t]}}}}let U=q,ue=0;if(T===`fill`&&!w&&q.length>0){let t=Math.max(1,F-6),n=e.measureText(q).width;if(n>0&&n<t){let e=Math.max(1,Math.floor(t/n));U=q.repeat(e)}}if(T===`distributed`||T===`justify`&&!V.wrapText&&!B){let t=Math.max(1,F-6),n=e.measureText(U).width,r=Math.max(1,[...U].length-1);n<t&&(ue=Math.max(0,(t-n)/r))}let K,de;T===`right`?(K=u+F-3,de=`right`):T===`center`?(K=u+F/2,de=`center`):T===`centerContinuous`?(K=ae+M/2,de=`center`):T===`distributed`||T===`justify`&&!V.wrapText&&!B?(K=u+3,de=`left`):(K=u+j,de=`left`);let fe=V.textRotation??0,pe=fe===255,me=fe>0&&fe!==255;if(H.iconSet&&te>0&&(e.save(),e.beginPath(),e.rect(u,v,F,L),e.clip(),it(e,H.iconSet.name,H.iconSet.index,u+2,v+(L-te)/2,te),e.restore()),e.save(),e.beginPath(),e.rect(I,v,oe,L),e.clip(),pe){let t=Math.round(z.size*p*1.1),n=q.length*t,r=D===`top`?v+2:D===`center`?v+(L-n)/2:v+L-n-2;e.textAlign=`center`,e.textBaseline=`top`;for(let n of q)e.fillText(n,u+F/2,r),r+=t;e.restore();return}if(me){let t=fe<=90?-(fe*Math.PI/180):(fe-90)*Math.PI/180;e.translate(u+F/2,v+L/2),e.rotate(t),e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(q,0,0),e.restore();return}if(V.shrinkToFit){let t=e.measureText(q).width,n=F-j-3;if(t>n&&t>0){let r=n/t,i=T===`right`?u+F-3:T===`center`?u+F/2:u+j;e.transform(r,0,0,1,i*(1-r),0)}}if(e.textAlign=de,ue>0)try{e.letterSpacing=`${ue}px`}catch{}if(V.readingOrder===2)try{e.direction=`rtl`}catch{}else if(V.readingOrder===1)try{e.direction=`ltr`}catch{}let he=R.value.type===`text`?R.value.runs:void 0,ge=he&&he.length>0;if(V.wrapText&&ge){let t=le(e,he,m,re,F-j-3),n=t.reduce((e,t)=>e+Math.round(t.maxFontSize*p*1.2),0),r;r=D===`top`?v+2:D===`center`?v+(L-n)/2:v+L-n-2,e.textAlign=`left`,e.textBaseline=`top`;for(let n of t){let t=Math.round(n.maxFontSize*p*1.2),i=n.segments.reduce((e,t)=>e+t.width,0),a;a=T===`right`?u+F-3-i:T===`center`?u+F/2-i/2:u+j;for(let t of n.segments){e.font=k(t.font,re);let n=H.fontColor??t.font.color;e.fillStyle=n?b(n):`#000000`,e.fillText(t.text,a,r);let i=Math.round(t.font.size*p);if(t.font.underline&&(e.save(),e.strokeStyle=n?b(n):`#000000`,e.lineWidth=.5,e.beginPath(),e.moveTo(a,r+i+1),e.lineTo(a+t.width,r+i+1),e.stroke(),e.restore()),t.font.strike){e.save(),e.strokeStyle=n?b(n):`#000000`,e.lineWidth=.5;let o=r+Math.round(i*.5);e.beginPath(),e.moveTo(a,o),e.lineTo(a+t.width,o),e.stroke(),e.restore()}a+=t.width}r+=t}}else if(V.wrapText){let t=se(e,q,F-j-3),n=Math.round(z.size*p*1.2),r=t.length*n,i;D===`top`?(i=v+2,e.textBaseline=`top`):D===`center`?(i=v+(L-r)/2,e.textBaseline=`top`):(i=v+L-r-2,e.textBaseline=`top`);for(let r=0;r<t.length;r++)e.fillText(t[r],K,i+r*n)}else if(ge){let t=he.map(e=>A(m,e)),n=he.map((n,r)=>(e.font=k(t[r],re),e.measureText(n.text).width)),r=n.reduce((e,t)=>e+t,0),i;i=T===`right`?u+F-3-r:T===`center`?u+F/2-r/2:u+j,e.textAlign=`left`;let a;D===`top`?(e.textBaseline=`top`,a=v+2):D===`center`?(e.textBaseline=`middle`,a=v+L/2):(e.textBaseline=`bottom`,a=v+L-2);let o=i;for(let r=0;r<he.length;r++){let i=t[r];e.font=k(i,re);let s=H.fontColor??i.color;e.fillStyle=s?b(s):`#000000`,e.fillText(he[r].text,o,a);let c=Math.round(i.size*p);if(i.underline){let t=D===`top`?v+2+c+1:D===`center`?v+L/2+Math.round(c*.55):v+L-2+1;e.save(),e.strokeStyle=s?b(s):`#000000`,e.lineWidth=.5,e.beginPath(),e.moveTo(o,t),e.lineTo(o+n[r],t),e.stroke(),e.restore()}if(i.strike){let t=D===`top`?v+2+Math.round(c*.5):D===`center`?v+L/2:v+L-2-Math.round(c*.35);e.save(),e.strokeStyle=s?b(s):`#000000`,e.lineWidth=.5,e.beginPath(),e.moveTo(o,t),e.lineTo(o+n[r],t),e.stroke(),e.restore()}o+=n[r]}}else{let t=null,n=()=>t??=e.measureText(q),r=()=>{let e=Math.min(n().width,oe-j-3);return{x:T===`right`?u+F-3-e:T===`center`?u+F/2-e/2:u+j,width:e}},i=Math.round(z.size*p);if(m.underline||y){let{x:t,width:n}=r(),a=D===`top`?v+2+i+1:D===`center`?v+L/2+Math.round(i*.55):v+L-2+1;e.save(),e.strokeStyle=y?`#0563C1`:S?b(S):`#000000`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,a),e.lineTo(t+n,a),e.stroke(),e.restore()}if(m.strike){let{x:t,width:n}=r(),a=D===`top`?v+2+Math.round(i*.5):D===`center`?v+L/2:v+L-2-Math.round(i*.35);e.save(),e.strokeStyle=S?b(S):`#000000`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,a),e.lineTo(t+n,a),e.stroke(),e.restore()}if(q.includes(`
|
|
8
8
|
`)){let t=q.split(`
|
|
9
9
|
`),n=Math.round(z.size*p*1.2),r=t.length*n,i;D===`top`?(i=v+2,e.textBaseline=`top`):D===`center`?(i=v+(L-r)/2,e.textBaseline=`top`):(i=v+L-r-2,e.textBaseline=`top`);for(let r=0;r<t.length;r++)e.fillText(t[r],K,i+r*n)}else{let t;D===`top`?(e.textBaseline=`top`,t=v+2):D===`center`?(e.textBaseline=`middle`,t=v+L/2):(e.textBaseline=`bottom`,t=v+L-2),e.fillText(U,K,t)}}e.restore(),q&&t.onTextRun&&t.onTextRun({text:q,x:u,y:v,width:F,height:L,row:c,col:o})})}}for(let e of I)e();e.restore()}function ut(e,t,n,r,i={}){let a=i.dpr??1,o=i.cellScale??1,s=_(t),c=e.canvas.width/a,l=e.canvas.height/a;e.clearRect(0,0,c,l),e.fillStyle=`#ffffff`,e.fillRect(0,0,c,l);let u=e=>Math.round(e*o),d=u(50),f=u(22),{row:p,col:h,rows:g,cols:b}=r,x=(i.scrollOffsetX??0)*o,S=(i.scrollOffsetY??0)*o,C=i.freezeRows??0,w=i.freezeCols??0,T=[];for(let e=1;e<=w;e++)T.push(u(v(t.colWidths[e]??t.defaultColWidth,s)));let D=[];for(let e=1;e<=C;e++)D.push(u(y(t.rowHeights[e]??t.defaultRowHeight)));let O=T.reduce((e,t)=>e+t,0),k=D.reduce((e,t)=>e+t,0),A=[];for(let e=h;e<h+b;e++)A.push(u(v(t.colWidths[e]??t.defaultColWidth,s)));let ee=[];for(let e=p;e<p+g;e++)ee.push(u(y(t.rowHeights[e]??t.defaultRowHeight)));let te=new Map;for(let e of t.rows)for(let t of e.cells)te.set(`${t.row}:${t.col}`,t);let ne=new Map,re=new Set;for(let e of t.mergeCells??[]){let n=0;for(let r=e.left;r<=e.right;r++)n+=u(v(t.colWidths[r]??t.defaultColWidth,s));let r=0;for(let n=e.top;n<=e.bottom;n++)r+=u(y(t.rowHeights[n]??t.defaultRowHeight));ne.set(`${e.top}:${e.left}`,{totalW:n,totalH:r,right:e.right,bottom:e.bottom});for(let t=e.top;t<=e.bottom;t++)for(let n=e.left;n<=e.right;n++)t===e.top&&n===e.left||re.add(`${t}:${n}`)}let j=me(t),ie=new Set;if(t.autoFilter){let e=t.autoFilter;for(let t=e.left;t<=e.right;t++)ie.add(`${e.top}:${t}`)}let M=new Map;for(let e of t.hyperlinks??[])e.url&&M.set(`${e.row}:${e.col}`,e.url);let ae=new Set;for(let e of t.commentRefs??[]){let t=E(e);t&&ae.add(`${t.row}:${t.col}`)}let N={worksheet:t,styles:n,cellMap:te,mergeAnchorMap:ne,mergeSkipSet:re,cfContext:j,colWidths:A,rowHeights:ee,frozenColWidths:T,frozenRowHeights:D,frozenW:O,frozenH:k,startRow:p,startCol:h,cs:o,dpr:a,autoFilterCells:ie,hyperlinkMap:M,commentCells:ae,tableStyleMap:ot(t),sparklineMap:st(t),mdw:s,onTextRun:i.onTextRun},P=d,F=f,I=P+O,L=F+k,R=Math.max(0,c-I),z=Math.max(0,l-L);C>0&&w>0&<(e,N,1,1,T,D,0,0,P,F,P,F,O,k),C>0&<(e,N,1,h,A,D,x,0,I,F,I,F,R,k),w>0&<(e,N,p,1,T,ee,0,S,P,L,P,L,O,z),lt(e,N,p,h,A,ee,x,S,I,L,I,L,R,z),t.images&&t.images.length>0&&i.loadedImages&&mt(e,t,i.loadedImages,o,p,h,x,S,I,L,R,z),t.shapeGroups&&t.shapeGroups.length>0&&ht(e,t,o,p,h,x,S,I,L,R,z,i.loadedImages),t.charts&&t.charts.length>0&&Et(e,t,o,p,h,x,S,I,L,R,z),t.slicers&&t.slicers.length>0&&zt(e,t,o,p,h,x,S,I,L,R,z),dt(e,c,l,p,h,g,b,A,ee,x,S,T,D,O,k,d,f,o,a),C>0&&(e.save(),e.strokeStyle=m,e.lineWidth=.5,e.beginPath(),e.moveTo(d,L+.5),e.lineTo(c,L+.5),e.stroke(),e.restore()),w>0&&(e.save(),e.strokeStyle=m,e.lineWidth=.5,e.beginPath(),e.moveTo(I+.5,f),e.lineTo(I+.5,l),e.stroke(),e.restore())}function dt(e,t,n,r,i,a,o,s,c,l,d,f,p,m,h,g,_,v,y){let b=`#f8f9fa`,x=`#c8ccd0`,S=`#444`,C=`${Math.max(1,Math.round(11*v))}px ${u}`,w=g+m,T=_+h,E=.5/y;e.fillStyle=b,e.fillRect(0,0,g,_),e.strokeStyle=x,e.lineWidth=.5,e.beginPath(),e.moveTo(E,0),e.lineTo(E,_),e.moveTo(0,E),e.lineTo(g,E),e.moveTo(g-E,0),e.lineTo(g-E,_),e.moveTo(0,_-E),e.lineTo(g,_-E),e.stroke(),e.font=C,e.fillStyle=S;let D=(t,n,r)=>{e.fillStyle=b,e.fillRect(n,0,r,_),e.strokeStyle=x,e.lineWidth=.5,e.beginPath(),e.moveTo(n+r-E,0),e.lineTo(n+r-E,_),e.moveTo(n,_-E),e.lineTo(n+r,_-E),e.moveTo(n,E),e.lineTo(n+r,E),e.stroke(),e.fillStyle=S,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(ue(t),n+r/2,_/2)},O=(t,n,r)=>{e.fillStyle=b,e.fillRect(0,n,g,r),e.strokeStyle=x,e.lineWidth=.5,e.beginPath(),e.moveTo(g-E,n),e.lineTo(g-E,n+r),e.moveTo(0,n+r-E),e.lineTo(g,n+r-E),e.moveTo(E,n),e.lineTo(E,n+r),e.stroke(),e.fillStyle=S,e.textAlign=`right`,e.textBaseline=`middle`,e.fillText(String(t),g-Math.max(2,Math.round(4*v)),n+r/2)};if(f.length>0){e.save(),e.beginPath(),e.rect(g,0,m,_),e.clip();let t=g;for(let e=0;e<f.length;e++)D(e+1,t,f[e]),t+=f[e];e.restore()}e.save(),e.beginPath(),e.rect(w,0,t-w,_),e.clip();let k=w-l;for(let e=0;e<s.length;e++){let n=s[e];k+n>w&&k<t&&D(i+e,k,n),k+=n}if(e.restore(),p.length>0){e.save(),e.beginPath(),e.rect(0,_,g,h),e.clip();let t=_;for(let e=0;e<p.length;e++)O(e+1,t,p[e]),t+=p[e];e.restore()}e.save(),e.beginPath(),e.rect(0,T,g,n-T),e.clip();let A=T-d;for(let e=0;e<c.length;e++){let t=c[e];A+t>T&&A<n&&O(r+e,A,t),A+=t}e.restore()}var $=9525;function ft(e,t,n){let r=_(e),i=0;for(let a=1;a<t;a++)i+=Math.round(v(e.colWidths[a]??e.defaultColWidth,r)*n);return i}function pt(e,t,n){let r=0;for(let i=1;i<t;i++)r+=Math.round(y(e.rowHeights[i]??e.defaultRowHeight)*n);return r}function mt(e,t,n,r,i,a,o,s,c,l,u,d){if(u<=0||d<=0)return;let f=ft(t,a,r),p=pt(t,i,r);e.save(),e.beginPath(),e.rect(c,l,u,d),e.clip();for(let i of t.images){let a=n.get(i.dataUrl);if(!a)continue;let m=i.fromCol+1,h=i.fromRow+1,g=i.toCol+1,_=i.toRow+1,v=ft(t,m,r)+i.fromColOff*r/$,y=pt(t,h,r)+i.fromRowOff*r/$,b=ft(t,g,r)+i.toColOff*r/$,x=pt(t,_,r)+i.toRowOff*r/$,S=b-v,C=x-y;if(S<=0||C<=0)continue;let w=c+(v-f)-o,T=l+(y-p)-s;w+S<c||w>c+u||T+C<l||T>l+d||e.drawImage(a,w,T,S,C)}e.restore()}function ht(e,t,n,r,i,a,o,s,c,l,u,d){if(l<=0||u<=0)return;let f=t.shapeGroups;if(!f||f.length===0)return;let p=ft(t,i,n),m=pt(t,r,n);e.save(),e.beginPath(),e.rect(s,c,l,u),e.clip();for(let r of f){let i=r.fromCol+1,f=r.fromRow+1,h=r.toCol+1,g=r.toRow+1,_=ft(t,i,n)+r.fromColOff*n/$,v=pt(t,f,n)+r.fromRowOff*n/$,y=ft(t,h,n)+r.toColOff*n/$,b=pt(t,g,n)+r.toRowOff*n/$,x=y-_,S=b-v;if(x<=0||S<=0)continue;let C=s+(_-p)-a,w=c+(v-m)-o;if(!(C+x<s||C>s+l)&&!(w+S<c||w>c+u))for(let t of r.shapes){let n=C+t.x*x,r=w+t.y*S,i=t.w*x,a=t.h*S;i<=0||a<=0||gt(e,t,n,r,i,a,d)}}e.restore()}function gt(e,t,n,r,i,a,o){if(e.save(),t.rot===0?e.translate(n,r):(e.translate(n+i/2,r+a/2),e.rotate(t.rot*Math.PI/180),e.translate(-i/2,-a/2)),t.geom.type===`custom`)for(let n of t.geom.paths){if(n.w<=0||n.h<=0)continue;let r=i/n.w,o=a/n.h;e.beginPath();let s=0,c=0,l=0,u=0;for(let t of n.commands)switch(t.op){case`moveTo`:{let n=t.x*r,i=t.y*o;e.moveTo(n,i),s=l=n,c=u=i;break}case`lineTo`:{let n=t.x*r,i=t.y*o;e.lineTo(n,i),s=n,c=i;break}case`cubicBezTo`:{let n=t.x3*r,i=t.y3*o;e.bezierCurveTo(t.x1*r,t.y1*o,t.x2*r,t.y2*o,n,i),s=n,c=i;break}case`quadBezTo`:{let n=t.x2*r,i=t.y2*o;e.quadraticCurveTo(t.x1*r,t.y1*o,n,i),s=n,c=i;break}case`arcTo`:{let n=t.wr*r,i=t.hr*o;if(n<=0||i<=0)break;let a=t.stAng/6e4*(Math.PI/180),l=t.swAng/6e4*(Math.PI/180),u=s-Math.cos(a)*n,d=c-Math.sin(a)*i,f=a+l;e.ellipse(u,d,n,i,0,a,f,l<0),s=u+Math.cos(f)*n,c=d+Math.sin(f)*i;break}case`close`:e.closePath(),s=l,c=u;break}vt(e,t)}else if(t.geom.type===`preset`){switch(e.beginPath(),t.geom.name){case`ellipse`:case`roundRect`:{let t=i/2,n=a/2;e.ellipse(t,n,t,n,0,0,Math.PI*2);break}default:e.rect(0,0,i,a)}vt(e,t)}else if(t.geom.type===`image`){let n=o?.get(t.geom.dataUrl);n&&e.drawImage(n,0,0,i,a)}t.text&&_t(e,t.text,i,a),e.restore()}function _t(e,t,n,r){if(n<=0||r<=0||t.paragraphs.length===0)return;let i=Math.max(0,n-14),a=Math.max(0,r-8);if(i<=0||a<=0)return;let o=e=>{let t=(e.size>0?e.size:d)*p,n=e.fontFace?`"${e.fontFace}", ${u}`:u,r=e.bold?`bold `:``;return{font:`${e.italic?`italic `:``}${r}${t}px ${n}`,size:t}},s=t.wrap!==`none`,c=[];for(let n of t.paragraphs){let t=n.align||`l`,r=[],a=0,l=0,u=0,d=()=>{c.push({runs:r,align:t,height:l,ascent:u}),r=[],a=0,l=0,u=0};for(let t of n.runs){let{font:n,size:c}=o(t);l=Math.max(l,c*1.2),u=Math.max(u,c*.85),e.font=n;let f=t.text.split(`
|
|
@@ -1612,7 +1612,7 @@ function ft(e, t, n, i, a, o, s, c, l, u, d, f, p, h) {
|
|
|
1612
1612
|
top: t
|
|
1613
1613
|
});
|
|
1614
1614
|
}
|
|
1615
|
-
if (!W.left?.style) {
|
|
1615
|
+
if (!W.left?.style && !N.has(n)) {
|
|
1616
1616
|
let e = _.get(`${c}:${o - 1}`), t = e ? te(g, e.styleIndex).border.right : null;
|
|
1617
1617
|
t?.style && (W = {
|
|
1618
1618
|
...W,
|
package/dist/xlsx.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./xlsx-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./autoResize-ggn4hzd8.cjs`),t=require(`./xlsx-BCjsF2z0.cjs`);exports.XlsxViewer=t.n,exports.XlsxWorkbook=t.r,exports.autoResize=e.t;
|
package/dist/xlsx.mjs
CHANGED
package/package.json
CHANGED