@silurus/ooxml 0.71.0 → 0.72.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/README.md +17 -3
- package/THIRD_PARTY_NOTICES.md +73 -0
- package/dist/docx-CM-oHSyZ.js +10241 -0
- package/dist/docx.mjs +3 -3
- package/dist/docx_parser_bg.wasm +0 -0
- package/dist/{find-cursor-DgyGlCIw.js → find-cursor-CABDFafh.js} +7899 -1280
- package/dist/highlight-rect-DIReGC3z.js +881 -0
- package/dist/index.mjs +4 -4
- package/dist/math.mjs +1 -1
- package/dist/{pptx-C2qCkfTT.js → pptx-WoReGPPJ.js} +1345 -1132
- package/dist/pptx.mjs +3 -3
- package/dist/pptx_parser_bg.wasm +0 -0
- package/dist/render-worker-host-BNYGV6vm.js +27 -0
- package/dist/render-worker-host-CJc3E4ej.js +27 -0
- package/dist/render-worker-host-DcfYux0W.js +27 -0
- package/dist/{segments-BLmJVJRb.js → segments-2VsQNClV.js} +1 -1
- package/dist/types/docx.d.ts +230 -15
- package/dist/types/index.d.ts +364 -24
- package/dist/types/pptx.d.ts +117 -8
- package/dist/types/xlsx.d.ts +33 -1
- package/dist/visible-index-YRawP6W8.js +50 -0
- package/dist/{xlsx-1PnsOb7Z.js → xlsx-CHfWgWy8.js} +1307 -1255
- package/dist/xlsx.mjs +3 -3
- package/dist/xlsx_parser_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/docx-B84Lzf0A.js +0 -6396
- package/dist/highlight-rect-CBqVAarx.js +0 -911
- package/dist/render-worker-host-B_mY9aaj.js +0 -27
- package/dist/render-worker-host-CSA5bTZW.js +0 -27
- package/dist/render-worker-host-DL0cvjox.js +0 -27
- package/dist/visible-index-C4c37k-n.js +0 -17
- /package/dist/{mathjax-BRfWlbSJ.js → mathjax-Dk_JzbFj.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
1
|
+
import { $ as e, At as t, B as n, Bt as r, C as i, Dt as a, E as o, Et as s, Ft as c, G as l, H as u, Ht as d, I as f, It as p, J as m, Jt as h, K as g, L as _, Lt as v, M as y, Mt as b, N as x, Nt as S, O as C, Ot as w, P as T, Pt as E, S as D, T as O, Tt as k, U as A, Ut as j, V as M, W as N, Xt as P, Yt as F, _ as ee, _t as I, b as L, bt as R, ct as z, d as B, f as V, gt as H, h as U, i as te, it as W, j as ne, jt as G, kt as re, l as ie, lt as ae, m as oe, n as se, nt as ce, o as le, p as ue, pt as K, q as de, qt as fe, r as q, t as pe, tt as me, v as he, w as J, wt as ge, x as _e, y as ve, z as ye, zt as be } from "./find-cursor-CABDFafh.js";
|
|
2
|
+
import { a as xe, i as Se, n as Ce, r as we, t as Te } from "./visible-index-YRawP6W8.js";
|
|
3
|
+
import { t as Ee } from "./mathjax-Dk_JzbFj.js";
|
|
4
|
+
import { t as De } from "./segments-2VsQNClV.js";
|
|
5
5
|
//#region packages/core/src/sparkline/renderer.ts
|
|
6
|
-
function
|
|
6
|
+
function Oe(e, t, n) {
|
|
7
7
|
let { values: r } = n;
|
|
8
8
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
9
9
|
let i = n.colorSeries ?? "#5B9BD5", a = Math.min(2, t.w * .08), o = Math.max(2, t.h * .2), s = t.x + a, c = t.y + o, l = Math.max(1, t.w - a * 2), u = Math.max(1, t.h - o * 2), d = r.filter((e) => typeof e == "number");
|
|
@@ -12,11 +12,11 @@ function he(e, t, n) {
|
|
|
12
12
|
m === h && (h = m + 1, --m);
|
|
13
13
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
14
14
|
if (n.kind === "stem") {
|
|
15
|
-
|
|
15
|
+
je(e, n, s, c, l, u);
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
if (n.kind === "column") {
|
|
19
|
-
|
|
19
|
+
Ae(e, n, r, s, c, l, u, m, h);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -25,7 +25,7 @@ function he(e, t, n) {
|
|
|
25
25
|
e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
|
|
26
26
|
}
|
|
27
27
|
let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
|
|
28
|
-
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) *
|
|
28
|
+
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * G, e.beginPath();
|
|
29
29
|
let b = !1, x = n.displayEmptyCellsAs ?? "gap";
|
|
30
30
|
for (let t = 0; t < v; t++) {
|
|
31
31
|
let n = r[t];
|
|
@@ -40,7 +40,7 @@ function he(e, t, n) {
|
|
|
40
40
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
41
41
|
}
|
|
42
42
|
e.stroke(), e.restore();
|
|
43
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
43
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = ke(r, n);
|
|
44
44
|
for (let t = 0; t < v; t++) {
|
|
45
45
|
let a = r[t];
|
|
46
46
|
if (a == null) continue;
|
|
@@ -48,7 +48,7 @@ function he(e, t, n) {
|
|
|
48
48
|
(n.markers || o != null) && (e.save(), e.fillStyle = o ?? n.colorMarkers ?? i, e.beginPath(), e.arc(y(t), _(a), S, 0, Math.PI * 2), e.fill(), e.restore());
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function ke(e, t) {
|
|
52
52
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
53
53
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
54
54
|
a = e;
|
|
@@ -63,10 +63,10 @@ function ge(e, t) {
|
|
|
63
63
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
64
64
|
return n;
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function Ae(e, t, n, r, i, a, o, s, c) {
|
|
67
67
|
let l = n.length;
|
|
68
68
|
if (l === 0) return;
|
|
69
|
-
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g =
|
|
69
|
+
let u = s < 0 && c > 0 ? 0 : s, d = c - s, f = (e) => i + o - (e - s) / d * o, p = f(u), m = a / l, h = Math.min(1.5, m * .15), g = ke(n, t);
|
|
70
70
|
for (let i = 0; i < l; i++) {
|
|
71
71
|
let a = n[i];
|
|
72
72
|
if (a == null) continue;
|
|
@@ -74,10 +74,10 @@ function _e(e, t, n, r, i, a, o, s, c) {
|
|
|
74
74
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function je(e, t, n, r, i, a) {
|
|
78
78
|
let o = t.values.length;
|
|
79
79
|
if (o === 0) return;
|
|
80
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
80
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = ke(t.values, t);
|
|
81
81
|
for (let r = 0; r < o; r++) {
|
|
82
82
|
let i = t.values[r];
|
|
83
83
|
if (i == null || i === 0) continue;
|
|
@@ -87,11 +87,11 @@ function ve(e, t, n, r, i, a) {
|
|
|
87
87
|
}
|
|
88
88
|
//#endregion
|
|
89
89
|
//#region packages/xlsx/src/worker.ts?worker&inline
|
|
90
|
-
var
|
|
91
|
-
function
|
|
90
|
+
var Me = "var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,n.unregister(this),e}free(){let e=this.__destroy_into_raw();y.__wbg_xlsxarchive_free(e,0)}extract_image(e){let t=f(e,y.__wbindgen_malloc,y.__wbindgen_realloc),n=v,r=y.xlsxarchive_extract_image(this.__wbg_ptr,t,n);if(r[3])throw p(r[2]);var a=i(r[0],r[1]).slice();return y.__wbindgen_free(r[0],r[1]*1,1),a}constructor(e,t){let r=d(e,y.__wbindgen_malloc),i=v,a=y.xlsxarchive_new(r,i,!u(t),u(t)?BigInt(0):t);if(a[2])throw p(a[1]);return this.__wbg_ptr=a[0]>>>0,n.register(this,this.__wbg_ptr,this),this}parse(){let e=y.xlsxarchive_parse(this.__wbg_ptr);if(e[3])throw p(e[2]);var t=i(e[0],e[1]).slice();return y.__wbindgen_free(e[0],e[1]*1,1),t}parse_sheet(e,t){let n=f(t,y.__wbindgen_malloc,y.__wbindgen_realloc),r=v,a=y.xlsxarchive_parse_sheet(this.__wbg_ptr,e,n,r);if(a[3])throw p(a[2]);var o=i(a[0],a[1]).slice();return y.__wbindgen_free(a[0],a[1]*1,1),o}to_markdown(){let e,t;try{let i=y.xlsxarchive_to_markdown(this.__wbg_ptr);var n=i[0],r=i[1];if(i[3])throw n=0,r=0,p(i[2]);return e=n,t=r,s(n,r)}finally{y.__wbindgen_free(e,t,1)}}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);function t(){return{__proto__:null,\"./xlsx_parser_bg.js\":{__proto__:null,__wbg___wbindgen_debug_string_ab4b34d23d6778bd:function(e,t){let n=f(r(t),y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,n,!0)},__wbg___wbindgen_string_get_7ed5322991caaec5:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=u(r)?0:f(r,y.__wbindgen_malloc,y.__wbindgen_realloc),a=v;o().setInt32(e+4,a,!0),o().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw Error(s(e,t))},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(s(e,t))}finally{y.__wbindgen_free(n,r,1)}},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=f(n,y.__wbindgen_malloc,y.__wbindgen_realloc),i=v;o().setInt32(e+4,i,!0),o().setInt32(e+0,r,!0)},__wbindgen_cast_0000000000000001:function(e,t){return s(e,t)},__wbindgen_init_externref_table:function(){let e=y.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}const n=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>y.__wbg_xlsxarchive_free(e>>>0,1));function r(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`\"${e}\"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=r(e[0]));for(let i=1;i<t;i++)n+=`, `+r(e[i]);return n+=`]`,n}let n=/\\[object ([^\\]]+)\\]/.exec(toString.call(e)),i;if(n&&n.length>1)i=n[1];else return toString.call(e);if(i==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\\n${e.stack}`:i}function i(e,t){return e>>>=0,l().subarray(e/1,e/1+t)}let a=null;function o(){return(a===null||a.buffer.detached===!0||a.buffer.detached===void 0&&a.buffer!==y.memory.buffer)&&(a=new DataView(y.memory.buffer)),a}function s(e,t){return e>>>=0,g(e,t)}let c=null;function l(){return(c===null||c.byteLength===0)&&(c=new Uint8Array(y.memory.buffer)),c}function u(e){return e==null}function d(e,t){let n=t(e.length*1,1)>>>0;return l().set(e,n/1),v=e.length,n}function f(e,t,n){if(n===void 0){let n=_.encode(e),r=t(n.length,1)>>>0;return l().subarray(r,r+n.length).set(n),v=n.length,r}let r=e.length,i=t(r,1)>>>0,a=l(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=l().subarray(i+o,i+r),a=_.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return v=o,i}function p(e){let t=y.__wbindgen_externrefs.get(e);return y.__externref_table_dealloc(e),t}let m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});m.decode();let h=0;function g(e,t){return h+=t,h>=2146435072&&(m=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),m.decode(),h=t),m.decode(l().subarray(e,e+t))}const _=new TextEncoder;`encodeInto`in _||(_.encodeInto=function(e,t){let n=_.encode(e);return t.set(n),{read:e.length,written:n.length}});let v=0,y;function b(e,t){return y=e.exports,a=null,c=null,y.__wbindgen_start(),y}async function x(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function S(e){if(y!==void 0)return y;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`));let n=t();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await x(await e,n);return b(r,i)}async function C(e){return y=void 0,a=null,c=null,S(e)}function w(e){if(!e.startsWith(`data:`))return null;let t=e.indexOf(`,`);if(t===-1)return null;let n=atob(e.slice(t+1)),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}var T=class e extends Error{code=`parser-crashed`;constructor(t){super(t),this.name=`WasmTrapError`,Object.setPrototypeOf(this,e.prototype)}};function E(e){let t=globalThis.WebAssembly?.RuntimeError;if(t&&e instanceof t||e instanceof RangeError)return!0;if(e instanceof Error){let t=e.name;if(t===`RuntimeError`||t===`CompileError`||t===`LinkError`)return!0}return!1}const D=new class{_init;_opts;_wasmInput=null;_initPromise=null;_poisoned=!1;_archive=null;constructor(e,t={}){this._init=e,this._opts=t}setWasmUrl(e){this._wasmInput=e,this._poisoned=!1,this._initPromise=this._init(e)}get archive(){return this._archive}setArchive(e){this._freeArchive(),this._archive=e}disposeArchive(){this._freeArchive()}_freeArchive(){this._archive!=null&&this._opts.freeArchive&&this._opts.freeArchive(this._archive),this._archive=null}get poisoned(){return this._poisoned}async ensureReady(){if(this._poisoned){if(this._wasmInput===null)throw Error(`WasmParserHost: setWasmUrl was never called`);let e=(this._opts.reinit??this._init)(this._wasmInput);this._initPromise=e,await e,this._poisoned=!1;return}if(this._initPromise===null)throw Error(`WasmParserHost: setWasmUrl was never called`);await this._initPromise}run(e){try{return e()}catch(e){throw E(e)?(this._poison(),new T(`WASM parser trapped and was recycled: ${e instanceof Error?e.message:String(e)}`)):e}}poison(){this._poison()}_poison(){if(this._poisoned=!0,this._initPromise=null,this._archive!=null&&this._opts.freeArchive)try{this._opts.freeArchive(this._archive)}catch{}this._archive=null}}(S,{freeArchive:e=>e.free(),reinit:C});self.onmessage=async t=>{let n=t.data;if(n.type===`init`){D.setWasmUrl(w(n.wasmUrl)??n.wasmUrl);return}let r=n.id;try{if(await D.ensureReady(),n.type===`parse`){let t=typeof n.maxZipEntryBytes==`number`&&n.maxZipEntryBytes>0?BigInt(n.maxZipEntryBytes):void 0,i=new Uint8Array(n.data),a=D.run(()=>{let n=new e(i,t);return D.setArchive(n),n.parse()}).buffer,o={type:`parsed`,id:r,workbookJson:a};self.postMessage(o,[a]);return}let t=D.archive;if(n.type===`parseSheet`){if(!t)throw Error(`parseSheet before parse: no archive retained`);let e=D.run(()=>t.parse_sheet(n.sheetIndex,n.sheetName)).buffer,i={type:`parsedSheet`,id:r,worksheetJson:e};self.postMessage(i,[e]);return}if(n.type===`extractImage`){if(!t)throw Error(`No xlsx loaded`);let e=D.run(()=>t.extract_image(n.path).buffer),i={type:`imageExtracted`,id:r,bytes:e};self.postMessage(i,[e]);return}if(n.type===`toMarkdown`){if(!t)throw Error(`No xlsx loaded`);let e={type:`markdownRendered`,id:r,markdown:D.run(()=>t.to_markdown())};self.postMessage(e);return}}catch(e){let t={type:`error`,id:r,message:String(e)};self.postMessage(t)}};", Ne = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", Me], { type: "text/javascript;charset=utf-8" });
|
|
91
|
+
function Pe(e) {
|
|
92
92
|
let t;
|
|
93
93
|
try {
|
|
94
|
-
if (t =
|
|
94
|
+
if (t = Ne && (self.URL || self.webkitURL).createObjectURL(Ne), !t) throw "";
|
|
95
95
|
let n = new Worker(t, {
|
|
96
96
|
type: "module",
|
|
97
97
|
name: e?.name
|
|
@@ -100,7 +100,7 @@ function xe(e) {
|
|
|
100
100
|
(self.URL || self.webkitURL).revokeObjectURL(t);
|
|
101
101
|
}), n;
|
|
102
102
|
} catch {
|
|
103
|
-
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(
|
|
103
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(Me), {
|
|
104
104
|
type: "module",
|
|
105
105
|
name: e?.name
|
|
106
106
|
});
|
|
@@ -108,19 +108,19 @@ function xe(e) {
|
|
|
108
108
|
}
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region packages/xlsx/src/wasm/xlsx_parser_bg.wasm?url
|
|
111
|
-
var
|
|
111
|
+
var Fe = new URL("xlsx_parser_bg.wasm", import.meta.url).href;
|
|
112
112
|
//#endregion
|
|
113
113
|
//#region packages/xlsx/src/sheet-visibility.ts
|
|
114
|
-
function
|
|
114
|
+
function Ie(e, t) {
|
|
115
115
|
return !Number.isInteger(t) || t < 0 || t >= e.length ? "visible" : e[t].visibility ?? "visible";
|
|
116
116
|
}
|
|
117
117
|
//#endregion
|
|
118
118
|
//#region packages/xlsx/src/phonetic.ts
|
|
119
|
-
function
|
|
119
|
+
function Le(e) {
|
|
120
120
|
return Array.from(e);
|
|
121
121
|
}
|
|
122
|
-
function
|
|
123
|
-
let a =
|
|
122
|
+
function Re(e, t, n, r, i) {
|
|
123
|
+
let a = Le(t), o = a.length, s = [];
|
|
124
124
|
for (let t of e) {
|
|
125
125
|
let e = t.sb, c = t.eb;
|
|
126
126
|
if (!(e < c) || e >= o) continue;
|
|
@@ -136,37 +136,37 @@ function Te(e, t, n, r, i) {
|
|
|
136
136
|
}
|
|
137
137
|
//#endregion
|
|
138
138
|
//#region packages/xlsx/src/formula.ts
|
|
139
|
-
function
|
|
139
|
+
function Y(e) {
|
|
140
140
|
return Array.isArray(e) ? e : [e];
|
|
141
141
|
}
|
|
142
|
-
function
|
|
142
|
+
function ze(e) {
|
|
143
143
|
return Array.isArray(e) ? e[0] ?? 0 : e;
|
|
144
144
|
}
|
|
145
|
-
var
|
|
146
|
-
function
|
|
145
|
+
var Be = 8;
|
|
146
|
+
function Ve(e, t) {
|
|
147
147
|
try {
|
|
148
|
-
return
|
|
148
|
+
return He(Ye(e, t));
|
|
149
149
|
} catch {
|
|
150
150
|
return !1;
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
function
|
|
154
|
-
let t =
|
|
153
|
+
function He(e) {
|
|
154
|
+
let t = ze(e);
|
|
155
155
|
return typeof t == "boolean" ? t : typeof t == "number" ? t !== 0 : typeof t == "string" ? t.length > 0 && t.toUpperCase() !== "FALSE" : !1;
|
|
156
156
|
}
|
|
157
|
-
function
|
|
158
|
-
let t =
|
|
157
|
+
function X(e) {
|
|
158
|
+
let t = ze(e);
|
|
159
159
|
if (typeof t == "number") return t;
|
|
160
160
|
if (typeof t == "boolean") return +!!t;
|
|
161
161
|
if (t == null) return 0;
|
|
162
162
|
let n = parseFloat(String(t));
|
|
163
163
|
return isNaN(n) ? 0 : n;
|
|
164
164
|
}
|
|
165
|
-
function
|
|
166
|
-
let t =
|
|
165
|
+
function Ue(e) {
|
|
166
|
+
let t = ze(e);
|
|
167
167
|
return t == null ? "" : typeof t == "boolean" ? t ? "TRUE" : "FALSE" : String(t);
|
|
168
168
|
}
|
|
169
|
-
var
|
|
169
|
+
var We = new Set([
|
|
170
170
|
"<",
|
|
171
171
|
">",
|
|
172
172
|
"=",
|
|
@@ -178,7 +178,7 @@ var Ae = new Set([
|
|
|
178
178
|
"^",
|
|
179
179
|
"%"
|
|
180
180
|
]);
|
|
181
|
-
function
|
|
181
|
+
function Ge(e) {
|
|
182
182
|
let t = [], n = 0, r = e;
|
|
183
183
|
for (; n < r.length;) {
|
|
184
184
|
let e = r[n];
|
|
@@ -239,7 +239,7 @@ function je(e) {
|
|
|
239
239
|
}), n = e;
|
|
240
240
|
continue;
|
|
241
241
|
}
|
|
242
|
-
if (
|
|
242
|
+
if (We.has(e)) {
|
|
243
243
|
(e === "<" || e === ">") && (r[n + 1] === "=" || e === "<" && r[n + 1] === ">") ? (t.push({
|
|
244
244
|
kind: "op",
|
|
245
245
|
text: r.slice(n, n + 2)
|
|
@@ -249,12 +249,12 @@ function je(e) {
|
|
|
249
249
|
}), n++);
|
|
250
250
|
continue;
|
|
251
251
|
}
|
|
252
|
-
if (e === "$" ||
|
|
252
|
+
if (e === "$" || Ke(e)) {
|
|
253
253
|
let e = n;
|
|
254
|
-
for (; e < r.length && (r[e] === "$" ||
|
|
254
|
+
for (; e < r.length && (r[e] === "$" || qe(r[e]));) e++;
|
|
255
255
|
let i = r.slice(n, e);
|
|
256
256
|
n = e;
|
|
257
|
-
let a =
|
|
257
|
+
let a = Je(i);
|
|
258
258
|
if (a) t.push({
|
|
259
259
|
kind: "ref",
|
|
260
260
|
text: i,
|
|
@@ -276,13 +276,13 @@ function je(e) {
|
|
|
276
276
|
}
|
|
277
277
|
return t;
|
|
278
278
|
}
|
|
279
|
-
function
|
|
279
|
+
function Ke(e) {
|
|
280
280
|
return e >= "A" && e <= "Z" || e >= "a" && e <= "z" || e === "_";
|
|
281
281
|
}
|
|
282
|
-
function
|
|
283
|
-
return
|
|
282
|
+
function qe(e) {
|
|
283
|
+
return Ke(e) || e >= "0" && e <= "9" || e === ".";
|
|
284
284
|
}
|
|
285
|
-
function
|
|
285
|
+
function Je(e) {
|
|
286
286
|
let t = 0, n = !1, r = !1;
|
|
287
287
|
e[t] === "$" && (n = !0, t++);
|
|
288
288
|
let i = t;
|
|
@@ -302,43 +302,43 @@ function Pe(e) {
|
|
|
302
302
|
row: s
|
|
303
303
|
};
|
|
304
304
|
}
|
|
305
|
-
function
|
|
306
|
-
return
|
|
307
|
-
toks:
|
|
305
|
+
function Ye(e, t) {
|
|
306
|
+
return Qe({
|
|
307
|
+
toks: Ge(e),
|
|
308
308
|
pos: 0
|
|
309
309
|
}, t);
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function Xe(e) {
|
|
312
312
|
return e.toks[e.pos];
|
|
313
313
|
}
|
|
314
|
-
function
|
|
314
|
+
function Ze(e) {
|
|
315
315
|
return e.toks[e.pos++];
|
|
316
316
|
}
|
|
317
|
-
function
|
|
318
|
-
return
|
|
317
|
+
function Qe(e, t) {
|
|
318
|
+
return $e(e, t);
|
|
319
319
|
}
|
|
320
|
-
function
|
|
321
|
-
let n =
|
|
320
|
+
function $e(e, t) {
|
|
321
|
+
let n = et(e, t), r = Xe(e);
|
|
322
322
|
if (r && r.kind === "op" && (r.text === "<" || r.text === ">" || r.text === "<=" || r.text === ">=" || r.text === "=" || r.text === "<>")) {
|
|
323
|
-
|
|
324
|
-
let i =
|
|
325
|
-
return
|
|
323
|
+
Ze(e);
|
|
324
|
+
let i = et(e, t);
|
|
325
|
+
return tt(r.text, n, i);
|
|
326
326
|
}
|
|
327
327
|
return n;
|
|
328
328
|
}
|
|
329
|
-
function
|
|
330
|
-
let n =
|
|
329
|
+
function et(e, t) {
|
|
330
|
+
let n = nt(e, t);
|
|
331
331
|
for (;;) {
|
|
332
|
-
let r =
|
|
332
|
+
let r = Xe(e);
|
|
333
333
|
if (!r || r.kind !== "op" || r.text !== "&") break;
|
|
334
|
-
|
|
335
|
-
let i =
|
|
336
|
-
n =
|
|
334
|
+
Ze(e);
|
|
335
|
+
let i = nt(e, t);
|
|
336
|
+
n = Ue(n) + Ue(i);
|
|
337
337
|
}
|
|
338
338
|
return n;
|
|
339
339
|
}
|
|
340
|
-
function
|
|
341
|
-
let r = typeof t == "string" && isNaN(parseFloat(t)) ? null :
|
|
340
|
+
function tt(e, t, n) {
|
|
341
|
+
let r = typeof t == "string" && isNaN(parseFloat(t)) ? null : X(t), i = typeof n == "string" && isNaN(parseFloat(n)) ? null : X(n);
|
|
342
342
|
if (r !== null && i !== null) switch (e) {
|
|
343
343
|
case "<": return r < i;
|
|
344
344
|
case ">": return r > i;
|
|
@@ -358,67 +358,67 @@ function Ve(e, t, n) {
|
|
|
358
358
|
}
|
|
359
359
|
return !1;
|
|
360
360
|
}
|
|
361
|
-
function
|
|
362
|
-
let n =
|
|
361
|
+
function nt(e, t) {
|
|
362
|
+
let n = rt(e, t);
|
|
363
363
|
for (;;) {
|
|
364
|
-
let r =
|
|
364
|
+
let r = Xe(e);
|
|
365
365
|
if (!r || r.kind !== "op" || r.text !== "+" && r.text !== "-") break;
|
|
366
|
-
|
|
367
|
-
let i =
|
|
368
|
-
n = r.text === "+" ?
|
|
366
|
+
Ze(e);
|
|
367
|
+
let i = rt(e, t);
|
|
368
|
+
n = r.text === "+" ? X(n) + X(i) : X(n) - X(i);
|
|
369
369
|
}
|
|
370
370
|
return n;
|
|
371
371
|
}
|
|
372
|
-
function
|
|
373
|
-
let n =
|
|
372
|
+
function rt(e, t) {
|
|
373
|
+
let n = it(e, t);
|
|
374
374
|
for (;;) {
|
|
375
|
-
let r =
|
|
375
|
+
let r = Xe(e);
|
|
376
376
|
if (!r || r.kind !== "op" || r.text !== "*" && r.text !== "/") break;
|
|
377
|
-
|
|
378
|
-
let i =
|
|
379
|
-
if (r.text === "*") n =
|
|
377
|
+
Ze(e);
|
|
378
|
+
let i = it(e, t);
|
|
379
|
+
if (r.text === "*") n = X(n) * X(i);
|
|
380
380
|
else {
|
|
381
|
-
let e =
|
|
382
|
-
n = e === 0 ? 0 :
|
|
381
|
+
let e = X(i);
|
|
382
|
+
n = e === 0 ? 0 : X(n) / e;
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
return n;
|
|
386
386
|
}
|
|
387
|
-
function
|
|
388
|
-
let n =
|
|
389
|
-
return n && n.kind === "op" && n.text === "-" ? (
|
|
387
|
+
function it(e, t) {
|
|
388
|
+
let n = Xe(e);
|
|
389
|
+
return n && n.kind === "op" && n.text === "-" ? (Ze(e), -X(it(e, t))) : n && n.kind === "op" && n.text === "+" ? (Ze(e), X(it(e, t))) : at(e, t);
|
|
390
390
|
}
|
|
391
|
-
function
|
|
392
|
-
let n =
|
|
391
|
+
function at(e, t) {
|
|
392
|
+
let n = Ze(e);
|
|
393
393
|
if (!n) return 0;
|
|
394
394
|
if (n.kind === "num") return parseFloat(n.text);
|
|
395
395
|
if (n.kind === "str") return n.text;
|
|
396
396
|
if (n.kind === "bool") return n.text === "TRUE";
|
|
397
397
|
if (n.kind === "lparen") {
|
|
398
|
-
let n =
|
|
398
|
+
let n = Qe(e, t), r = Ze(e);
|
|
399
399
|
if (!r || r.kind !== "rparen") throw Error("missing )");
|
|
400
400
|
return n;
|
|
401
401
|
}
|
|
402
402
|
if (n.kind === "ref") {
|
|
403
|
-
if (
|
|
404
|
-
|
|
405
|
-
let r =
|
|
403
|
+
if (Xe(e)?.kind === "colon") {
|
|
404
|
+
Ze(e);
|
|
405
|
+
let r = Ze(e);
|
|
406
406
|
if (r?.kind !== "ref" || !r.ref) throw Error("range: expected ref after :");
|
|
407
|
-
return
|
|
407
|
+
return ct(n.ref, r.ref, t);
|
|
408
408
|
}
|
|
409
|
-
return
|
|
409
|
+
return st(n.ref, t);
|
|
410
410
|
}
|
|
411
411
|
if (n.kind === "name") {
|
|
412
|
-
if (
|
|
413
|
-
|
|
412
|
+
if (Xe(e)?.kind === "lparen") {
|
|
413
|
+
Ze(e);
|
|
414
414
|
let r = [];
|
|
415
|
-
if (
|
|
416
|
-
let i =
|
|
415
|
+
if (Xe(e)?.kind !== "rparen") for (r.push(Qe(e, t)); Xe(e)?.kind === "comma";) Ze(e), r.push(Qe(e, t));
|
|
416
|
+
let i = Ze(e);
|
|
417
417
|
if (!i || i.kind !== "rparen") throw Error("missing )");
|
|
418
|
-
return
|
|
418
|
+
return ut(n.text, r, t);
|
|
419
419
|
}
|
|
420
420
|
let r = t.definedNames.get(n.text);
|
|
421
|
-
return r && t.depth <
|
|
421
|
+
return r && t.depth < Be ? Ye(ot(r.formula), {
|
|
422
422
|
...t,
|
|
423
423
|
anchorRow: 1,
|
|
424
424
|
anchorCol: 1,
|
|
@@ -427,20 +427,20 @@ function Ge(e, t) {
|
|
|
427
427
|
}
|
|
428
428
|
return 0;
|
|
429
429
|
}
|
|
430
|
-
function
|
|
430
|
+
function ot(e) {
|
|
431
431
|
let t = e.match(/^(?:'[^']*'|[A-Za-z_][A-Za-z0-9_.]*)!(.*)$/);
|
|
432
432
|
return t ? t[1] : e;
|
|
433
433
|
}
|
|
434
|
-
function
|
|
434
|
+
function st(e, t) {
|
|
435
435
|
let n = e.colAbs ? e.col : e.col + (t.col - t.anchorCol), r = e.rowAbs ? e.row : e.row + (t.row - t.anchorRow);
|
|
436
|
-
return
|
|
436
|
+
return lt(t.cellIndex.get(`${r}:${n}`));
|
|
437
437
|
}
|
|
438
|
-
function
|
|
438
|
+
function ct(e, t, n) {
|
|
439
439
|
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;
|
|
440
|
-
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(
|
|
440
|
+
for (let e = l; e <= u && d.length < f; e++) for (let t = s; t <= c && d.length < f; t++) d.push(lt(n.cellIndex.get(`${e}:${t}`)));
|
|
441
441
|
return d;
|
|
442
442
|
}
|
|
443
|
-
function
|
|
443
|
+
function lt(e) {
|
|
444
444
|
if (!e) return null;
|
|
445
445
|
switch (e.value.type) {
|
|
446
446
|
case "number": return e.value.number;
|
|
@@ -450,162 +450,162 @@ function Ye(e) {
|
|
|
450
450
|
default: return null;
|
|
451
451
|
}
|
|
452
452
|
}
|
|
453
|
-
function
|
|
453
|
+
function ut(e, t, n) {
|
|
454
454
|
switch (e.toUpperCase()) {
|
|
455
|
-
case "AND": return t.flatMap(
|
|
456
|
-
case "OR": return t.flatMap(
|
|
457
|
-
case "NOT": return !
|
|
458
|
-
case "IF": return
|
|
455
|
+
case "AND": return t.flatMap(Y).every((e) => He(e));
|
|
456
|
+
case "OR": return t.flatMap(Y).some((e) => He(e));
|
|
457
|
+
case "NOT": return !He(t[0]);
|
|
458
|
+
case "IF": return He(t[0]) ? t[1] ?? !0 : t[2] ?? !1;
|
|
459
459
|
case "IFERROR": return t[0] == null ? t[1] ?? 0 : t[0];
|
|
460
460
|
case "IFS":
|
|
461
|
-
for (let e = 0; e + 1 < t.length; e += 2) if (
|
|
461
|
+
for (let e = 0; e + 1 < t.length; e += 2) if (He(t[e])) return t[e + 1];
|
|
462
462
|
return null;
|
|
463
463
|
case "TRUE": return !0;
|
|
464
464
|
case "FALSE": return !1;
|
|
465
465
|
case "ISBLANK": {
|
|
466
|
-
let e =
|
|
466
|
+
let e = ze(t[0]);
|
|
467
467
|
return e == null || e === "";
|
|
468
468
|
}
|
|
469
|
-
case "ISNUMBER": return typeof
|
|
470
|
-
case "ISTEXT": return typeof
|
|
471
|
-
case "ISNONTEXT": return typeof
|
|
469
|
+
case "ISNUMBER": return typeof ze(t[0]) == "number";
|
|
470
|
+
case "ISTEXT": return typeof ze(t[0]) == "string";
|
|
471
|
+
case "ISNONTEXT": return typeof ze(t[0]) != "string";
|
|
472
472
|
case "ISERROR":
|
|
473
473
|
case "ISERR":
|
|
474
|
-
case "ISNA": return
|
|
475
|
-
case "ISLOGICAL": return typeof
|
|
474
|
+
case "ISNA": return ze(t[0]) == null;
|
|
475
|
+
case "ISLOGICAL": return typeof ze(t[0]) == "boolean";
|
|
476
476
|
case "ROUNDDOWN": {
|
|
477
|
-
let e =
|
|
477
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
478
478
|
return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
|
|
479
479
|
}
|
|
480
480
|
case "ROUNDUP": {
|
|
481
|
-
let e =
|
|
481
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
482
482
|
return (e >= 0 ? Math.ceil(e * n) : Math.floor(e * n)) / n;
|
|
483
483
|
}
|
|
484
484
|
case "ROUND": {
|
|
485
|
-
let e =
|
|
485
|
+
let e = X(t[0]), n = 10 ** X(t[1]);
|
|
486
486
|
return Math.round(e * n) / n;
|
|
487
487
|
}
|
|
488
|
-
case "INT": return Math.floor(
|
|
488
|
+
case "INT": return Math.floor(X(t[0]));
|
|
489
489
|
case "TRUNC": {
|
|
490
|
-
let e =
|
|
490
|
+
let e = X(t[0]), n = 10 ** X(t[1] ?? 0);
|
|
491
491
|
return (e >= 0 ? Math.floor(e * n) : Math.ceil(e * n)) / n;
|
|
492
492
|
}
|
|
493
493
|
case "CEILING": {
|
|
494
|
-
let e =
|
|
494
|
+
let e = X(t[0]), n = X(t[1] ?? 1);
|
|
495
495
|
return n === 0 ? 0 : Math.ceil(e / n) * n;
|
|
496
496
|
}
|
|
497
497
|
case "FLOOR": {
|
|
498
|
-
let e =
|
|
498
|
+
let e = X(t[0]), n = X(t[1] ?? 1);
|
|
499
499
|
return n === 0 ? 0 : Math.floor(e / n) * n;
|
|
500
500
|
}
|
|
501
501
|
case "MOD": {
|
|
502
|
-
let e =
|
|
502
|
+
let e = X(t[0]), n = X(t[1]);
|
|
503
503
|
return n === 0 ? null : e - Math.floor(e / n) * n;
|
|
504
504
|
}
|
|
505
|
-
case "POWER": return
|
|
505
|
+
case "POWER": return X(t[0]) ** +X(t[1]);
|
|
506
506
|
case "SQRT": {
|
|
507
|
-
let e =
|
|
507
|
+
let e = X(t[0]);
|
|
508
508
|
return e < 0 ? null : Math.sqrt(e);
|
|
509
509
|
}
|
|
510
|
-
case "ABS": return Math.abs(
|
|
510
|
+
case "ABS": return Math.abs(X(t[0]));
|
|
511
511
|
case "SIGN": {
|
|
512
|
-
let e =
|
|
512
|
+
let e = X(t[0]);
|
|
513
513
|
return e > 0 ? 1 : e < 0 ? -1 : 0;
|
|
514
514
|
}
|
|
515
|
-
case "EXP": return Math.exp(
|
|
515
|
+
case "EXP": return Math.exp(X(t[0]));
|
|
516
516
|
case "LN": {
|
|
517
|
-
let e =
|
|
517
|
+
let e = X(t[0]);
|
|
518
518
|
return e <= 0 ? null : Math.log(e);
|
|
519
519
|
}
|
|
520
520
|
case "LOG10": {
|
|
521
|
-
let e =
|
|
521
|
+
let e = X(t[0]);
|
|
522
522
|
return e <= 0 ? null : Math.log10(e);
|
|
523
523
|
}
|
|
524
524
|
case "MIN": {
|
|
525
|
-
let e = t.flatMap(
|
|
525
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
526
526
|
return e.length ? Math.min(...e) : 0;
|
|
527
527
|
}
|
|
528
528
|
case "MAX": {
|
|
529
|
-
let e = t.flatMap(
|
|
529
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
530
530
|
return e.length ? Math.max(...e) : 0;
|
|
531
531
|
}
|
|
532
|
-
case "SUM": return t.flatMap(
|
|
532
|
+
case "SUM": return t.flatMap(Y).reduce((e, t) => e + (typeof t == "number" ? t : 0), 0);
|
|
533
533
|
case "AVERAGE": {
|
|
534
|
-
let e = t.flatMap(
|
|
534
|
+
let e = t.flatMap(Y).filter((e) => typeof e == "number");
|
|
535
535
|
return e.length ? e.reduce((e, t) => e + t, 0) / e.length : null;
|
|
536
536
|
}
|
|
537
|
-
case "COUNT": return t.flatMap(
|
|
538
|
-
case "COUNTA": return t.flatMap(
|
|
539
|
-
case "COUNTBLANK": return t.flatMap(
|
|
540
|
-
case "COUNTIF": return
|
|
541
|
-
case "SUMIF": return
|
|
537
|
+
case "COUNT": return t.flatMap(Y).filter((e) => typeof e == "number").length;
|
|
538
|
+
case "COUNTA": return t.flatMap(Y).filter((e) => e != null && e !== "").length;
|
|
539
|
+
case "COUNTBLANK": return t.flatMap(Y).filter((e) => e == null || e === "").length;
|
|
540
|
+
case "COUNTIF": return dt(Y(t[0]), t[1]);
|
|
541
|
+
case "SUMIF": return ft(Y(t[0]), t[1], t[2] === void 0 ? null : Y(t[2]));
|
|
542
542
|
case "AVERAGEIF": {
|
|
543
|
-
let e =
|
|
544
|
-
return r === 0 ? null :
|
|
543
|
+
let e = Y(t[0]), n = ft(e, t[1], t[2] === void 0 ? null : Y(t[2])), r = dt(e, t[1]);
|
|
544
|
+
return r === 0 ? null : X(n) / r;
|
|
545
545
|
}
|
|
546
|
-
case "LEN": return
|
|
547
|
-
case "LEFT": return
|
|
546
|
+
case "LEN": return Ue(t[0]).length;
|
|
547
|
+
case "LEFT": return Ue(t[0]).slice(0, Math.max(0, X(t[1] ?? 1)));
|
|
548
548
|
case "RIGHT": {
|
|
549
|
-
let e =
|
|
549
|
+
let e = Ue(t[0]), n = Math.max(0, X(t[1] ?? 1));
|
|
550
550
|
return n >= e.length ? e : e.slice(e.length - n);
|
|
551
551
|
}
|
|
552
552
|
case "MID": {
|
|
553
|
-
let e =
|
|
553
|
+
let e = Ue(t[0]), n = Math.max(1, X(t[1])) - 1, r = Math.max(0, X(t[2]));
|
|
554
554
|
return e.slice(n, n + r);
|
|
555
555
|
}
|
|
556
|
-
case "UPPER": return
|
|
557
|
-
case "LOWER": return
|
|
558
|
-
case "TRIM": return
|
|
559
|
-
case "EXACT": return
|
|
556
|
+
case "UPPER": return Ue(t[0]).toUpperCase();
|
|
557
|
+
case "LOWER": return Ue(t[0]).toLowerCase();
|
|
558
|
+
case "TRIM": return Ue(t[0]).replace(/\s+/g, " ").trim();
|
|
559
|
+
case "EXACT": return Ue(t[0]) === Ue(t[1]);
|
|
560
560
|
case "FIND": {
|
|
561
|
-
let e =
|
|
561
|
+
let e = Ue(t[0]), n = Ue(t[1]), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
|
|
562
562
|
return i < 0 ? null : i + 1;
|
|
563
563
|
}
|
|
564
564
|
case "SEARCH": {
|
|
565
|
-
let e =
|
|
565
|
+
let e = Ue(t[0]).toLowerCase(), n = Ue(t[1]).toLowerCase(), r = Math.max(1, X(t[2] ?? 1)) - 1, i = n.indexOf(e, r);
|
|
566
566
|
return i < 0 ? null : i + 1;
|
|
567
567
|
}
|
|
568
568
|
case "CONCATENATE":
|
|
569
|
-
case "CONCAT": return t.flatMap(
|
|
569
|
+
case "CONCAT": return t.flatMap(Y).map((e) => e == null ? "" : typeof e == "boolean" ? e ? "TRUE" : "FALSE" : String(e)).join("");
|
|
570
570
|
case "T": {
|
|
571
|
-
let e =
|
|
571
|
+
let e = ze(t[0]);
|
|
572
572
|
return typeof e == "string" ? e : "";
|
|
573
573
|
}
|
|
574
574
|
case "N": {
|
|
575
|
-
let e =
|
|
575
|
+
let e = ze(t[0]);
|
|
576
576
|
return typeof e == "number" ? e : typeof e == "boolean" ? +!!e : 0;
|
|
577
577
|
}
|
|
578
|
-
case "VALUE": return
|
|
578
|
+
case "VALUE": return X(t[0]);
|
|
579
579
|
case "ROW": return n.row;
|
|
580
580
|
case "COLUMN": return n.col;
|
|
581
|
-
case "TODAY": return
|
|
582
|
-
case "NOW": return
|
|
583
|
-
case "DATE": return
|
|
584
|
-
case "YEAR": return
|
|
585
|
-
case "MONTH": return
|
|
586
|
-
case "DAY": return
|
|
581
|
+
case "TODAY": return mt();
|
|
582
|
+
case "NOW": return ht();
|
|
583
|
+
case "DATE": return gt(X(t[0]), X(t[1]), X(t[2]));
|
|
584
|
+
case "YEAR": return vt(X(t[0])).y;
|
|
585
|
+
case "MONTH": return vt(X(t[0])).m;
|
|
586
|
+
case "DAY": return vt(X(t[0])).d;
|
|
587
587
|
case "WEEKDAY": {
|
|
588
|
-
let e =
|
|
588
|
+
let e = _t(X(t[0])).getUTCDay(), n = X(t[1] ?? 1);
|
|
589
589
|
return n === 2 ? e === 0 ? 7 : e : n === 3 ? e === 0 ? 6 : e - 1 : e + 1;
|
|
590
590
|
}
|
|
591
591
|
default: return 0;
|
|
592
592
|
}
|
|
593
593
|
}
|
|
594
|
-
function
|
|
595
|
-
let n =
|
|
594
|
+
function dt(e, t) {
|
|
595
|
+
let n = pt(t), r = 0;
|
|
596
596
|
for (let t of e) n(t) && r++;
|
|
597
597
|
return r;
|
|
598
598
|
}
|
|
599
|
-
function
|
|
600
|
-
let r =
|
|
599
|
+
function ft(e, t, n) {
|
|
600
|
+
let r = pt(t), i = n ?? e, a = 0;
|
|
601
601
|
for (let t = 0; t < e.length; t++) if (r(e[t])) {
|
|
602
602
|
let e = i[t];
|
|
603
603
|
typeof e == "number" && (a += e);
|
|
604
604
|
}
|
|
605
605
|
return a;
|
|
606
606
|
}
|
|
607
|
-
function
|
|
608
|
-
let t =
|
|
607
|
+
function pt(e) {
|
|
608
|
+
let t = ze(e);
|
|
609
609
|
if (typeof t != "string") {
|
|
610
610
|
let e = typeof t == "number" ? t : null;
|
|
611
611
|
return (n) => e !== null && typeof n == "number" ? n === e : n === t;
|
|
@@ -631,21 +631,21 @@ function $e(e) {
|
|
|
631
631
|
}
|
|
632
632
|
};
|
|
633
633
|
}
|
|
634
|
-
function
|
|
634
|
+
function mt() {
|
|
635
635
|
let e = /* @__PURE__ */ new Date();
|
|
636
|
-
return
|
|
636
|
+
return w(new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), !1);
|
|
637
637
|
}
|
|
638
|
-
function
|
|
639
|
-
return
|
|
638
|
+
function ht() {
|
|
639
|
+
return w(new Date(Date.now()), !1);
|
|
640
640
|
}
|
|
641
|
-
function
|
|
642
|
-
return Math.floor(
|
|
641
|
+
function gt(e, t, n) {
|
|
642
|
+
return Math.floor(w(new Date(Date.UTC(e, t - 1, n)), !1));
|
|
643
643
|
}
|
|
644
|
-
function
|
|
645
|
-
return
|
|
644
|
+
function _t(e) {
|
|
645
|
+
return a(Math.floor(e), !1);
|
|
646
646
|
}
|
|
647
|
-
function
|
|
648
|
-
let t =
|
|
647
|
+
function vt(e) {
|
|
648
|
+
let t = _t(e);
|
|
649
649
|
return {
|
|
650
650
|
y: t.getUTCFullYear(),
|
|
651
651
|
m: t.getUTCMonth() + 1,
|
|
@@ -654,7 +654,7 @@ function it(e) {
|
|
|
654
654
|
}
|
|
655
655
|
//#endregion
|
|
656
656
|
//#region packages/xlsx/src/number-format.ts
|
|
657
|
-
function
|
|
657
|
+
function yt(e) {
|
|
658
658
|
switch (e.type) {
|
|
659
659
|
case "empty": return "";
|
|
660
660
|
case "text": return e.text;
|
|
@@ -664,20 +664,20 @@ function at(e) {
|
|
|
664
664
|
case "shared": return "";
|
|
665
665
|
}
|
|
666
666
|
}
|
|
667
|
-
function
|
|
668
|
-
return
|
|
667
|
+
function bt(e, t, n, r = !1) {
|
|
668
|
+
return xt(e, t, n, r).text;
|
|
669
669
|
}
|
|
670
|
-
function
|
|
670
|
+
function xt(e, t, n, r = !1) {
|
|
671
671
|
let i = t.cellXfs[e.styleIndex ?? 0]?.numFmtId ?? 0, a = t.numFmts?.find((e) => e.numFmtId === i)?.formatCode ?? null, o = n?.numFmtId ?? i, s = n?.formatCode ?? a;
|
|
672
672
|
if (e.value.type !== "number") {
|
|
673
|
-
let t =
|
|
674
|
-
return { text: s ?
|
|
673
|
+
let t = yt(e.value);
|
|
674
|
+
return { text: s ? St(t, s) : t };
|
|
675
675
|
}
|
|
676
|
-
let c =
|
|
677
|
-
return
|
|
676
|
+
let c = Ct(e.formula);
|
|
677
|
+
return zt(c ?? e.value.number, o, s, c === null ? r : !1);
|
|
678
678
|
}
|
|
679
|
-
function
|
|
680
|
-
let n =
|
|
679
|
+
function St(e, t) {
|
|
680
|
+
let n = Ht(t), r;
|
|
681
681
|
if (n.length >= 4) r = n[3];
|
|
682
682
|
else {
|
|
683
683
|
let t = n[n.length - 1];
|
|
@@ -699,12 +699,12 @@ function ct(e, t) {
|
|
|
699
699
|
}
|
|
700
700
|
return i;
|
|
701
701
|
}
|
|
702
|
-
function
|
|
702
|
+
function Ct(e) {
|
|
703
703
|
if (!e) return null;
|
|
704
704
|
let t = e.trim().replace(/^=/, "").toUpperCase().replace(/\s+/g, "");
|
|
705
|
-
return t === "TODAY()" ?
|
|
705
|
+
return t === "TODAY()" ? mt() : t === "NOW()" ? ht() : null;
|
|
706
706
|
}
|
|
707
|
-
var
|
|
707
|
+
var wt = {
|
|
708
708
|
14: "m/d/yyyy",
|
|
709
709
|
15: "d-mmm-yy",
|
|
710
710
|
16: "d-mmm",
|
|
@@ -728,7 +728,7 @@ var ut = {
|
|
|
728
728
|
56: "m\"月\"d\"日\"",
|
|
729
729
|
57: "[$-411]ge.m.d",
|
|
730
730
|
58: "[$-411]ggge\"年\"m\"月\"d\"日\""
|
|
731
|
-
},
|
|
731
|
+
}, Tt = [
|
|
732
732
|
"January",
|
|
733
733
|
"February",
|
|
734
734
|
"March",
|
|
@@ -741,7 +741,7 @@ var ut = {
|
|
|
741
741
|
"October",
|
|
742
742
|
"November",
|
|
743
743
|
"December"
|
|
744
|
-
],
|
|
744
|
+
], Et = [
|
|
745
745
|
"Sunday",
|
|
746
746
|
"Monday",
|
|
747
747
|
"Tuesday",
|
|
@@ -749,7 +749,7 @@ var ut = {
|
|
|
749
749
|
"Thursday",
|
|
750
750
|
"Friday",
|
|
751
751
|
"Saturday"
|
|
752
|
-
],
|
|
752
|
+
], Dt = [
|
|
753
753
|
"日",
|
|
754
754
|
"月",
|
|
755
755
|
"火",
|
|
@@ -757,7 +757,7 @@ var ut = {
|
|
|
757
757
|
"木",
|
|
758
758
|
"金",
|
|
759
759
|
"土"
|
|
760
|
-
],
|
|
760
|
+
], Ot = [
|
|
761
761
|
"日曜日",
|
|
762
762
|
"月曜日",
|
|
763
763
|
"火曜日",
|
|
@@ -765,7 +765,7 @@ var ut = {
|
|
|
765
765
|
"木曜日",
|
|
766
766
|
"金曜日",
|
|
767
767
|
"土曜日"
|
|
768
|
-
],
|
|
768
|
+
], kt = [
|
|
769
769
|
{
|
|
770
770
|
start: new Date(Date.UTC(2019, 4, 1)),
|
|
771
771
|
abbr: "R",
|
|
@@ -797,14 +797,14 @@ var ut = {
|
|
|
797
797
|
long: "明治"
|
|
798
798
|
}
|
|
799
799
|
];
|
|
800
|
-
function
|
|
801
|
-
for (let t of
|
|
800
|
+
function At(e) {
|
|
801
|
+
for (let t of kt) if (e.getTime() >= t.start.getTime()) return {
|
|
802
802
|
abbr: t.abbr,
|
|
803
803
|
short: t.short,
|
|
804
804
|
long: t.long,
|
|
805
805
|
year: e.getUTCFullYear() - t.start.getUTCFullYear() + 1
|
|
806
806
|
};
|
|
807
|
-
let t =
|
|
807
|
+
let t = kt[kt.length - 1];
|
|
808
808
|
return {
|
|
809
809
|
abbr: t.abbr,
|
|
810
810
|
short: t.short,
|
|
@@ -812,117 +812,117 @@ function gt(e) {
|
|
|
812
812
|
year: e.getUTCFullYear()
|
|
813
813
|
};
|
|
814
814
|
}
|
|
815
|
-
function
|
|
816
|
-
let r =
|
|
817
|
-
for (;
|
|
818
|
-
let t =
|
|
815
|
+
function jt(e, t, n = !1) {
|
|
816
|
+
let r = a(e, n), i = r.getUTCFullYear(), o = r.getUTCMonth() + 1, s = r.getUTCDate(), c = r.getUTCDay(), l = r.getUTCHours(), u = r.getUTCMinutes(), d = r.getUTCSeconds(), f = t.split(";")[0], p = /am\/pm|a\/p/i.test(f), m = null, h = () => m ??= At(r), g = "", _ = 0, v = !1;
|
|
817
|
+
for (; _ < f.length;) {
|
|
818
|
+
let t = f[_];
|
|
819
819
|
if (t === "\"") {
|
|
820
|
-
for (
|
|
821
|
-
|
|
820
|
+
for (_++; _ < f.length && f[_] !== "\"";) g += f[_++];
|
|
821
|
+
_ < f.length && _++, v = !1;
|
|
822
822
|
} else if (t === "[") {
|
|
823
|
-
let t =
|
|
823
|
+
let t = f.indexOf("]", _), n = t > _ ? f.slice(_ + 1, t) : "", r = n.match(/^([hms])\1*$/i);
|
|
824
824
|
if (r) {
|
|
825
825
|
let i = r[1].toLowerCase(), a = e < 0 ? "-" : "", o = Math.floor(Math.abs(e) * 86400), s;
|
|
826
826
|
s = i === "h" ? Math.floor(o / 3600) : i === "m" ? Math.floor(o / 60) : o;
|
|
827
827
|
let c = n.length >= 2 ? String(s).padStart(n.length, "0") : String(s);
|
|
828
|
-
|
|
828
|
+
g += a + c, _ = t + 1, v = i === "h";
|
|
829
829
|
} else {
|
|
830
|
-
for (;
|
|
831
|
-
|
|
830
|
+
for (; _ < f.length && f[_] !== "]";) _++;
|
|
831
|
+
_ < f.length && _++;
|
|
832
832
|
}
|
|
833
|
-
} else if (t === "_")
|
|
834
|
-
else if (t === "*")
|
|
835
|
-
else if (t === "\\")
|
|
833
|
+
} else if (t === "_") _ += 2;
|
|
834
|
+
else if (t === "*") _ += 2;
|
|
835
|
+
else if (t === "\\") _ + 1 < f.length && (g += f[_ + 1]), _ += 2, v = !1;
|
|
836
836
|
else if (t === "y" || t === "Y") {
|
|
837
837
|
let e = 0;
|
|
838
|
-
for (;
|
|
839
|
-
|
|
838
|
+
for (; _ < f.length && f[_].toLowerCase() === "y";) e++, _++;
|
|
839
|
+
g += e <= 2 ? String(i).slice(-2) : String(i).padStart(4, "0"), v = !1;
|
|
840
840
|
} else if (t === "m" || t === "M") {
|
|
841
841
|
let e = 0;
|
|
842
|
-
for (;
|
|
843
|
-
let t =
|
|
844
|
-
|
|
842
|
+
for (; _ < f.length && f[_].toLowerCase() === "m";) e++, _++;
|
|
843
|
+
let t = f.slice(_).replace(/\[[^\]]*\]/g, "");
|
|
844
|
+
v || /^:s/i.test(t) ? g += e >= 2 ? String(u).padStart(2, "0") : String(u) : e === 1 ? g += String(o) : e === 2 ? g += String(o).padStart(2, "0") : e === 3 ? g += Tt[o - 1].slice(0, 3) : e === 4 ? g += Tt[o - 1] : g += Tt[o - 1][0], v = !1;
|
|
845
845
|
} else if (t === "d" || t === "D") {
|
|
846
846
|
let e = 0;
|
|
847
|
-
for (;
|
|
848
|
-
e === 1 ?
|
|
847
|
+
for (; _ < f.length && f[_].toLowerCase() === "d";) e++, _++;
|
|
848
|
+
e === 1 ? g += String(s) : e === 2 ? g += String(s).padStart(2, "0") : e === 3 ? g += Et[c].slice(0, 3) : g += Et[c], v = !1;
|
|
849
849
|
} else if (t === "h" || t === "H") {
|
|
850
850
|
let e = 0;
|
|
851
|
-
for (;
|
|
852
|
-
let t =
|
|
853
|
-
|
|
851
|
+
for (; _ < f.length && f[_].toLowerCase() === "h";) e++, _++;
|
|
852
|
+
let t = p ? l % 12 || 12 : l;
|
|
853
|
+
g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !0;
|
|
854
854
|
} else if (t === "s" || t === "S") {
|
|
855
855
|
let e = 0;
|
|
856
|
-
for (;
|
|
857
|
-
|
|
856
|
+
for (; _ < f.length && f[_].toLowerCase() === "s";) e++, _++;
|
|
857
|
+
g += e >= 2 ? String(d).padStart(2, "0") : String(d), v = !1;
|
|
858
858
|
} else if (t === "g" || t === "G") {
|
|
859
859
|
let e = 0;
|
|
860
|
-
for (;
|
|
861
|
-
let t =
|
|
862
|
-
e === 1 ?
|
|
860
|
+
for (; _ < f.length && f[_].toLowerCase() === "g";) e++, _++;
|
|
861
|
+
let t = h();
|
|
862
|
+
e === 1 ? g += t.abbr : e === 2 ? g += t.short : g += t.long, v = !1;
|
|
863
863
|
} else if (t === "e" || t === "E") {
|
|
864
864
|
let e = 0;
|
|
865
|
-
for (;
|
|
866
|
-
let t =
|
|
867
|
-
|
|
865
|
+
for (; _ < f.length && f[_].toLowerCase() === "e";) e++, _++;
|
|
866
|
+
let t = h().year;
|
|
867
|
+
g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !1;
|
|
868
868
|
} else if (t === "r" || t === "R") {
|
|
869
869
|
let e = 0;
|
|
870
|
-
for (;
|
|
871
|
-
let t =
|
|
872
|
-
|
|
870
|
+
for (; _ < f.length && f[_].toLowerCase() === "r";) e++, _++;
|
|
871
|
+
let t = h().year;
|
|
872
|
+
g += e >= 2 ? String(t).padStart(2, "0") : String(t), v = !1;
|
|
873
873
|
} else if (t === "A" || t === "a") {
|
|
874
|
-
let e =
|
|
875
|
-
e.startsWith("AAAA") ? (
|
|
876
|
-
} else
|
|
874
|
+
let e = f.slice(_).toUpperCase();
|
|
875
|
+
e.startsWith("AAAA") ? (g += Ot[c], _ += 4) : e.startsWith("AAA") ? (g += Dt[c], _ += 3) : e.startsWith("AM/PM") ? (g += l < 12 ? "AM" : "PM", _ += 5) : e.startsWith("A/P") ? (g += l < 12 ? "A" : "P", _ += 3) : (g += t, _++), v = !1;
|
|
876
|
+
} else g += t, _++, t !== ":" && t !== "/" && t !== "-" && t !== "." && t !== " " && (v = !1);
|
|
877
877
|
}
|
|
878
|
-
return
|
|
878
|
+
return g;
|
|
879
879
|
}
|
|
880
|
-
function
|
|
880
|
+
function Mt(e) {
|
|
881
881
|
if (/\[[hms]+\]/i.test(e)) return !0;
|
|
882
882
|
let t = e.replace(/"[^"]*"/g, "").replace(/\[[^\]]*\]/g, "");
|
|
883
883
|
return /[yd]/i.test(t) || /a{3,}/i.test(t);
|
|
884
884
|
}
|
|
885
|
-
var
|
|
886
|
-
function
|
|
885
|
+
var Nt = 11, Pt = 6;
|
|
886
|
+
function Ft(e) {
|
|
887
887
|
return e.includes(".") ? e.replace(/0+$/, "").replace(/\.$/, "") : e;
|
|
888
888
|
}
|
|
889
|
-
function
|
|
889
|
+
function It(e) {
|
|
890
890
|
return `${e >= 0 ? "+" : "-"}${Math.abs(e).toString().padStart(2, "0")}`;
|
|
891
891
|
}
|
|
892
|
-
function
|
|
893
|
-
let [t, n] = e.toExponential(
|
|
894
|
-
return `${
|
|
892
|
+
function Lt(e) {
|
|
893
|
+
let [t, n] = e.toExponential(Pt - 1).split("e");
|
|
894
|
+
return `${Ft(t)}E${It(Number(n))}`;
|
|
895
895
|
}
|
|
896
|
-
function
|
|
896
|
+
function Rt(e) {
|
|
897
897
|
if (!Number.isFinite(e)) return String(e);
|
|
898
898
|
if (e === 0) return "0";
|
|
899
|
-
let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(
|
|
899
|
+
let t = e < 0, n = Math.abs(e), r = Number(n.toExponential(Nt - 1).split("e")[1]), i = r >= Nt || r < -5 ? Lt(n) : Ft(n.toPrecision(Nt));
|
|
900
900
|
return t ? `-${i}` : i;
|
|
901
901
|
}
|
|
902
|
-
function
|
|
903
|
-
let i =
|
|
904
|
-
if (i) return { text:
|
|
905
|
-
if (n && n.trim().toLowerCase() === "general") return { text:
|
|
906
|
-
if (n) return
|
|
902
|
+
function zt(e, t, n, r = !1) {
|
|
903
|
+
let i = wt[t];
|
|
904
|
+
if (i) return { text: jt(e, i, r) };
|
|
905
|
+
if (n && n.trim().toLowerCase() === "general") return { text: Rt(e) };
|
|
906
|
+
if (n) return Mt(n) ? { text: jt(e, n, r) } : Qt(e, n);
|
|
907
907
|
switch (t) {
|
|
908
|
-
case 0: return { text:
|
|
909
|
-
case 1: return
|
|
910
|
-
case 2: return
|
|
911
|
-
case 3: return
|
|
912
|
-
case 4: return
|
|
913
|
-
case 9: return
|
|
914
|
-
case 10: return
|
|
915
|
-
case 11: return
|
|
916
|
-
case 37: return
|
|
917
|
-
case 38: return
|
|
918
|
-
case 39: return
|
|
919
|
-
case 40: return
|
|
920
|
-
case 48: return
|
|
908
|
+
case 0: return { text: Rt(e) };
|
|
909
|
+
case 1: return Qt(e, "0");
|
|
910
|
+
case 2: return Qt(e, "0.00");
|
|
911
|
+
case 3: return Qt(e, "#,##0");
|
|
912
|
+
case 4: return Qt(e, "#,##0.00");
|
|
913
|
+
case 9: return Qt(e, "0%");
|
|
914
|
+
case 10: return Qt(e, "0.00%");
|
|
915
|
+
case 11: return Qt(e, "0.00E+00");
|
|
916
|
+
case 37: return Qt(e, "#,##0 ;(#,##0)");
|
|
917
|
+
case 38: return Qt(e, "#,##0 ;[Red](#,##0)");
|
|
918
|
+
case 39: return Qt(e, "#,##0.00;(#,##0.00)");
|
|
919
|
+
case 40: return Qt(e, "#,##0.00;[Red](#,##0.00)");
|
|
920
|
+
case 48: return Qt(e, "##0.0E+0");
|
|
921
921
|
case 49: return { text: String(e) };
|
|
922
|
-
default: return { text:
|
|
922
|
+
default: return { text: Rt(e) };
|
|
923
923
|
}
|
|
924
924
|
}
|
|
925
|
-
var
|
|
925
|
+
var Bt = {
|
|
926
926
|
black: "#000000",
|
|
927
927
|
blue: "#0000FF",
|
|
928
928
|
cyan: "#00FFFF",
|
|
@@ -931,8 +931,8 @@ var Et = {
|
|
|
931
931
|
red: "#FF0000",
|
|
932
932
|
white: "#FFFFFF",
|
|
933
933
|
yellow: "#FFFF00"
|
|
934
|
-
},
|
|
935
|
-
function
|
|
934
|
+
}, Vt = /* @__PURE__ */ "#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#000000.#FFFFFF.#FF0000.#00FF00.#0000FF.#FFFF00.#FF00FF.#00FFFF.#800000.#008000.#000080.#808000.#800080.#008080.#C0C0C0.#808080.#9999FF.#993366.#FFFFCC.#CCFFFF.#660066.#FF8080.#0066CC.#CCCCFF.#000080.#FF00FF.#FFFF00.#00FFFF.#800080.#800000.#008080.#0000FF.#00CCFF.#CCFFFF.#CCFFCC.#FFFF99.#99CCFF.#FF99CC.#CC99FF.#FFCC99.#3366FF.#33CCCC.#99CC00.#FFCC00.#FF9900.#FF6600.#666699.#969696.#003366.#339966.#003300.#333300.#993300.#993366.#333399.#333333".split(".");
|
|
935
|
+
function Ht(e) {
|
|
936
936
|
let t = [], n = "", r = 0;
|
|
937
937
|
for (; r < e.length;) {
|
|
938
938
|
let i = e[r];
|
|
@@ -947,7 +947,7 @@ function Ot(e) {
|
|
|
947
947
|
}
|
|
948
948
|
return t.push(n), t;
|
|
949
949
|
}
|
|
950
|
-
function
|
|
950
|
+
function Ut(e) {
|
|
951
951
|
let t = "", n, r, i = 0;
|
|
952
952
|
for (; i < e.length;) {
|
|
953
953
|
let a = e[i];
|
|
@@ -962,10 +962,10 @@ function kt(e) {
|
|
|
962
962
|
continue;
|
|
963
963
|
}
|
|
964
964
|
let s = e.slice(i + 1, o), c = s.toLowerCase(), l = c.match(/^color(\d{1,2})$/), u = s.match(/^(<=|>=|<>|<|>|=)\s*(-?[0-9.]+(?:[eE][-+]?\d+)?)$/);
|
|
965
|
-
if (c in
|
|
965
|
+
if (c in Bt) n = Bt[c];
|
|
966
966
|
else if (l) {
|
|
967
967
|
let e = parseInt(l[1], 10);
|
|
968
|
-
e >= 1 && e <= 56 && (n =
|
|
968
|
+
e >= 1 && e <= 56 && (n = Vt[e + 7] ?? n);
|
|
969
969
|
} else u ? r = {
|
|
970
970
|
op: u[1],
|
|
971
971
|
value: Number(u[2])
|
|
@@ -979,7 +979,7 @@ function kt(e) {
|
|
|
979
979
|
condition: r
|
|
980
980
|
};
|
|
981
981
|
}
|
|
982
|
-
function
|
|
982
|
+
function Wt(e, t) {
|
|
983
983
|
switch (e.op) {
|
|
984
984
|
case "<": return t < e.value;
|
|
985
985
|
case "<=": return t <= e.value;
|
|
@@ -989,7 +989,7 @@ function At(e, t) {
|
|
|
989
989
|
case "<>": return t !== e.value;
|
|
990
990
|
}
|
|
991
991
|
}
|
|
992
|
-
function
|
|
992
|
+
function Gt(e) {
|
|
993
993
|
let t = [], n = "", r = "", i = !1, a = !1, o, s = !1, c = 0, l = 0, u = (e) => {
|
|
994
994
|
if (!e) return;
|
|
995
995
|
!a && !s && (c = n.replace(/,/g, "").length);
|
|
@@ -1063,20 +1063,20 @@ function jt(e) {
|
|
|
1063
1063
|
fraction: h
|
|
1064
1064
|
};
|
|
1065
1065
|
}
|
|
1066
|
-
function
|
|
1066
|
+
function Kt(e) {
|
|
1067
1067
|
return e.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
1068
1068
|
}
|
|
1069
|
-
function
|
|
1069
|
+
function qt(e, t, n) {
|
|
1070
1070
|
let r = t.split(""), i = e.split(""), a = [], o = i.length - 1, s = [];
|
|
1071
1071
|
for (let e = r.length - 1; e >= 0; e--) o >= 0 ? (a.unshift(i[o]), s.unshift(i[o]), o--) : r[e] === "0" ? (a.unshift("0"), s.unshift("0")) : r[e] === "?" && a.unshift(" ");
|
|
1072
1072
|
for (; o >= 0;) a.unshift(i[o]), s.unshift(i[o]), o--;
|
|
1073
1073
|
if (n) {
|
|
1074
|
-
let e =
|
|
1074
|
+
let e = Kt(s.join(""));
|
|
1075
1075
|
return (a.length - s.length > 0 ? a.slice(0, a.length - s.length).join("") : "") + e;
|
|
1076
1076
|
}
|
|
1077
1077
|
return a.join("");
|
|
1078
1078
|
}
|
|
1079
|
-
function
|
|
1079
|
+
function Jt(e, t) {
|
|
1080
1080
|
let n = t.length;
|
|
1081
1081
|
if (n === 0) return "";
|
|
1082
1082
|
let r = e.padEnd(n, "0").slice(0, n).split("");
|
|
@@ -1088,7 +1088,7 @@ function Pt(e, t) {
|
|
|
1088
1088
|
}
|
|
1089
1089
|
return r.join("");
|
|
1090
1090
|
}
|
|
1091
|
-
function
|
|
1091
|
+
function Yt(e, t, n) {
|
|
1092
1092
|
if (n !== null) return [Math.round(e * n), n];
|
|
1093
1093
|
let r = 10 ** Math.max(t, 1) - 1, i = 0, a = 1, o = Math.abs(e), s = [0, 1], c = [1, 1];
|
|
1094
1094
|
for (let t = 0; t < 100; t++) {
|
|
@@ -1101,12 +1101,12 @@ function Ft(e, t, n) {
|
|
|
1101
1101
|
}
|
|
1102
1102
|
return [i, a];
|
|
1103
1103
|
}
|
|
1104
|
-
function
|
|
1105
|
-
let r =
|
|
1104
|
+
function Xt(e, t, n) {
|
|
1105
|
+
let r = Gt(t), i = n ? Math.abs(e) : e;
|
|
1106
1106
|
r.hasPercent && (i *= 100), r.commaScale > 0 && (i /= 1e3 ** r.commaScale);
|
|
1107
1107
|
let a = i < 0 ? "-" : "", o = Math.abs(i);
|
|
1108
1108
|
if (r.fraction) {
|
|
1109
|
-
let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] =
|
|
1109
|
+
let e = Math.floor(o), t = o - e, { wholeSpec: n, numSpec: i, denSpec: s, fixedDen: c } = r.fraction, l = n.length > 0, [u, d] = Yt(t, s.length, c), f = (e, t) => {
|
|
1110
1110
|
let n = String(e), r = t.includes("0") ? "0" : " ";
|
|
1111
1111
|
for (; n.length < t.length;) n = r + n;
|
|
1112
1112
|
return n;
|
|
@@ -1132,14 +1132,14 @@ function It(e, t, n) {
|
|
|
1132
1132
|
}
|
|
1133
1133
|
if (r.exp) {
|
|
1134
1134
|
let e = Math.max(r.intSpec.length, 1), t = r.fracSpec.length, n = 0, i = 0;
|
|
1135
|
-
o !== 0 && (i = Math.floor(Math.log10(o)), i = Math.floor(i / e) * e, n = o / 10 ** i, parseFloat(
|
|
1136
|
-
let [
|
|
1137
|
-
return a +
|
|
1135
|
+
o !== 0 && (i = Math.floor(Math.log10(o)), i = Math.floor(i / e) * e, n = o / 10 ** i, parseFloat(s(n, t)) >= 10 ** e && (i += e, n = o / 10 ** i));
|
|
1136
|
+
let [c, l = ""] = s(n, t).split(".");
|
|
1137
|
+
return a + Zt(r, qt(c, r.intSpec, !1), Jt(l, r.fracSpec), "E" + (i < 0 ? "-" : r.exp.plus ? "+" : "") + String(Math.abs(i)).padStart(r.exp.width, "0"));
|
|
1138
1138
|
}
|
|
1139
|
-
let
|
|
1140
|
-
return
|
|
1139
|
+
let c = r.fracSpec.length, [l, u = ""] = s(o, c).split("."), d = l.replace(/^0+/, ""), f = /[0]/.test(r.intSpec) || r.intSpec === "" && !1;
|
|
1140
|
+
return d === "" && f && (d = "0"), a + Zt(r, qt(d, r.intSpec, r.grouping), Jt(u, r.fracSpec), "");
|
|
1141
1141
|
}
|
|
1142
|
-
function
|
|
1142
|
+
function Zt(e, t, n, r) {
|
|
1143
1143
|
let i = t.split(""), a = [];
|
|
1144
1144
|
e.parts.forEach((e, t) => {
|
|
1145
1145
|
e.kind === "intph" && a.push(t);
|
|
@@ -1163,12 +1163,12 @@ function Lt(e, t, n, r) {
|
|
|
1163
1163
|
}
|
|
1164
1164
|
return f;
|
|
1165
1165
|
}
|
|
1166
|
-
function
|
|
1167
|
-
let n =
|
|
1166
|
+
function Qt(e, t) {
|
|
1167
|
+
let n = Ht(t).map(Ut), r = n.some((e) => e.condition), i, a = !1;
|
|
1168
1168
|
if (r) {
|
|
1169
1169
|
let t = !1;
|
|
1170
1170
|
for (let r of n) if (r.condition) {
|
|
1171
|
-
if (
|
|
1171
|
+
if (Wt(r.condition, e)) {
|
|
1172
1172
|
i = r, t = !0;
|
|
1173
1173
|
break;
|
|
1174
1174
|
}
|
|
@@ -1176,7 +1176,7 @@ function Rt(e, t) {
|
|
|
1176
1176
|
if (!i) return { text: "#" };
|
|
1177
1177
|
a = t && e < 0;
|
|
1178
1178
|
} else e > 0 ? i = n[0] : e < 0 ? n.length > 1 ? (i = n[1], a = !0) : i = n[0] : i = n.length > 2 ? n[2] : n[0];
|
|
1179
|
-
let o =
|
|
1179
|
+
let o = Xt(e, i.body, a);
|
|
1180
1180
|
return i.color ? {
|
|
1181
1181
|
text: o,
|
|
1182
1182
|
color: i.color
|
|
@@ -1184,22 +1184,22 @@ function Rt(e, t) {
|
|
|
1184
1184
|
}
|
|
1185
1185
|
//#endregion
|
|
1186
1186
|
//#region packages/xlsx/src/conditional-format.ts
|
|
1187
|
-
function
|
|
1187
|
+
function $t(e, t, n) {
|
|
1188
1188
|
for (let r of e) if (t >= r.top && t <= r.bottom && n >= r.left && n <= r.right) return !0;
|
|
1189
1189
|
return !1;
|
|
1190
1190
|
}
|
|
1191
|
-
function
|
|
1191
|
+
function en(e) {
|
|
1192
1192
|
return e && e.value.type === "number" ? e.value.number : null;
|
|
1193
1193
|
}
|
|
1194
|
-
function
|
|
1194
|
+
function tn(e) {
|
|
1195
1195
|
return e && e.value.type === "text" ? e.value.text : null;
|
|
1196
1196
|
}
|
|
1197
|
-
function
|
|
1197
|
+
function nn(e, t) {
|
|
1198
1198
|
let n = [];
|
|
1199
|
-
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" &&
|
|
1199
|
+
for (let r of e.rows) for (let e of r.cells) e.value.type === "number" && $t(t, e.row, e.col) && n.push(e.value.number);
|
|
1200
1200
|
return n;
|
|
1201
1201
|
}
|
|
1202
|
-
function
|
|
1202
|
+
function rn(e, t) {
|
|
1203
1203
|
let n = t.length ? Math.min(...t) : 0, r = t.length ? Math.max(...t) : 0, i = e.value == null ? NaN : parseFloat(e.value);
|
|
1204
1204
|
switch (e.kind) {
|
|
1205
1205
|
case "min": return n;
|
|
@@ -1217,20 +1217,20 @@ function Ut(e, t) {
|
|
|
1217
1217
|
default: return isNaN(i) ? 0 : i;
|
|
1218
1218
|
}
|
|
1219
1219
|
}
|
|
1220
|
-
function
|
|
1220
|
+
function an(e) {
|
|
1221
1221
|
let t = [], n = /* @__PURE__ */ new Map();
|
|
1222
1222
|
for (let t of e.rows) for (let e of t.cells) n.set(`${e.row}:${e.col}`, e);
|
|
1223
1223
|
let r = /* @__PURE__ */ new Map();
|
|
1224
1224
|
for (let t of e.definedNames ?? []) r.set(t.name, t);
|
|
1225
1225
|
for (let n of e.conditionalFormats ?? []) {
|
|
1226
|
-
let r =
|
|
1226
|
+
let r = nn(e, n.sqref);
|
|
1227
1227
|
for (let e of n.rules) {
|
|
1228
1228
|
let i = {
|
|
1229
1229
|
rule: e,
|
|
1230
1230
|
sqref: n.sqref
|
|
1231
1231
|
};
|
|
1232
|
-
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) =>
|
|
1233
|
-
else if (e.type === "dataBar") i.barMin =
|
|
1232
|
+
if (e.type === "colorScale") i.scaleStops = e.stops.map((e) => rn(e, r));
|
|
1233
|
+
else if (e.type === "dataBar") i.barMin = rn(e.min, r), i.barMax = rn(e.max, r);
|
|
1234
1234
|
else if (e.type === "top10") {
|
|
1235
1235
|
let t = [...r].sort((e, t) => e - t), n = t.length;
|
|
1236
1236
|
if (n > 0) {
|
|
@@ -1249,7 +1249,7 @@ function Wt(e) {
|
|
|
1249
1249
|
i.avgStdDev = Math.sqrt(e);
|
|
1250
1250
|
}
|
|
1251
1251
|
}
|
|
1252
|
-
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) =>
|
|
1252
|
+
} else e.type === "iconSet" && (i.iconThresholds = e.cfvos.map((e) => rn(e, r)));
|
|
1253
1253
|
t.push(i);
|
|
1254
1254
|
}
|
|
1255
1255
|
}
|
|
@@ -1260,7 +1260,7 @@ function Wt(e) {
|
|
|
1260
1260
|
definedNames: r
|
|
1261
1261
|
};
|
|
1262
1262
|
}
|
|
1263
|
-
function
|
|
1263
|
+
function on(e, t, n) {
|
|
1264
1264
|
switch (t) {
|
|
1265
1265
|
case "greaterThan": return e > (n[0] ?? 0);
|
|
1266
1266
|
case "greaterThanOrEqual": return e >= (n[0] ?? 0);
|
|
@@ -1273,13 +1273,13 @@ function Gt(e, t, n) {
|
|
|
1273
1273
|
default: return !1;
|
|
1274
1274
|
}
|
|
1275
1275
|
}
|
|
1276
|
-
function
|
|
1276
|
+
function sn(e) {
|
|
1277
1277
|
let t = e.trim();
|
|
1278
1278
|
if (t.length >= 2 && t.startsWith("\"") && t.endsWith("\"")) return { text: t.slice(1, -1).replace(/""/g, "\"") };
|
|
1279
1279
|
let n = parseFloat(t);
|
|
1280
1280
|
return isNaN(n) ? { text: t } : { num: n };
|
|
1281
1281
|
}
|
|
1282
|
-
function
|
|
1282
|
+
function cn(e, t, n) {
|
|
1283
1283
|
let r = n[0] ?? "", i = n[1] ?? "", a = (e) => e.toLowerCase();
|
|
1284
1284
|
switch (t) {
|
|
1285
1285
|
case "equal": return a(e) === a(r);
|
|
@@ -1293,21 +1293,21 @@ function qt(e, t, n) {
|
|
|
1293
1293
|
default: return !1;
|
|
1294
1294
|
}
|
|
1295
1295
|
}
|
|
1296
|
-
function
|
|
1296
|
+
function ln(e, t, n) {
|
|
1297
1297
|
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);
|
|
1298
1298
|
return `#${d.toString(16).padStart(2, "0").toUpperCase()}${f.toString(16).padStart(2, "0").toUpperCase()}${p.toString(16).padStart(2, "0").toUpperCase()}`;
|
|
1299
1299
|
}
|
|
1300
|
-
function
|
|
1300
|
+
function un(e, t, n) {
|
|
1301
1301
|
if (!t.length) return "#FFFFFF";
|
|
1302
1302
|
if (e <= n[0]) return t[0].color;
|
|
1303
1303
|
if (e >= n[n.length - 1]) return t[t.length - 1].color;
|
|
1304
1304
|
for (let r = 1; r < n.length; r++) if (e <= n[r]) {
|
|
1305
1305
|
let i = n[r - 1], a = n[r], o = a === i ? 0 : (e - i) / (a - i);
|
|
1306
|
-
return
|
|
1306
|
+
return ln(t[r - 1].color, t[r].color, o);
|
|
1307
1307
|
}
|
|
1308
1308
|
return t[t.length - 1].color;
|
|
1309
1309
|
}
|
|
1310
|
-
function
|
|
1310
|
+
function dn(e, t) {
|
|
1311
1311
|
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 = {
|
|
1312
1312
|
numFmtId: t.numFmt.numFmtId,
|
|
1313
1313
|
formatCode: t.numFmt.formatCode || null
|
|
@@ -1323,16 +1323,16 @@ function Xt(e, t) {
|
|
|
1323
1323
|
};
|
|
1324
1324
|
}
|
|
1325
1325
|
}
|
|
1326
|
-
function
|
|
1326
|
+
function fn(e, t, n, r, i) {
|
|
1327
1327
|
let a = {};
|
|
1328
1328
|
if (!r.compiled.length) return a;
|
|
1329
1329
|
for (let o of r.compiled) {
|
|
1330
|
-
if (
|
|
1331
|
-
let s = o.rule, c =
|
|
1330
|
+
if (!$t(o.sqref, t, n)) continue;
|
|
1331
|
+
let s = o.rule, c = en(e);
|
|
1332
1332
|
if (s.type === "expression") {
|
|
1333
1333
|
let e = o.sqref[0];
|
|
1334
1334
|
if (!e) continue;
|
|
1335
|
-
if (
|
|
1335
|
+
if (Ve(s.formula, {
|
|
1336
1336
|
row: t,
|
|
1337
1337
|
col: n,
|
|
1338
1338
|
anchorRow: e.top,
|
|
@@ -1340,19 +1340,19 @@ function Zt(e, t, n, r, i) {
|
|
|
1340
1340
|
cellIndex: r.cellIndex,
|
|
1341
1341
|
definedNames: r.definedNames,
|
|
1342
1342
|
depth: 0
|
|
1343
|
-
}) && (
|
|
1343
|
+
}) && (dn(a, s.dxfId == null ? null : i[s.dxfId]), s.stopIfTrue)) break;
|
|
1344
1344
|
continue;
|
|
1345
1345
|
}
|
|
1346
1346
|
if (s.type === "cellIs") {
|
|
1347
|
-
let t = s.formulas.map(
|
|
1348
|
-
c != null && t.every((e) => e.num != null) ? r =
|
|
1347
|
+
let t = s.formulas.map(sn), n = tn(e), r = !1;
|
|
1348
|
+
c != null && t.every((e) => e.num != null) ? r = on(c, s.operator, t.map((e) => e.num)) : n != null && t.every((e) => e.text != null) && (r = cn(n, s.operator, t.map((e) => e.text))), r && dn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1349
1349
|
} else if (s.type === "top10") {
|
|
1350
1350
|
if (c == null || o.top10Threshold == null) continue;
|
|
1351
|
-
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) &&
|
|
1351
|
+
(o.top10IsTop ? c >= o.top10Threshold : c <= o.top10Threshold) && dn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1352
1352
|
} else if (s.type === "aboveAverage") {
|
|
1353
1353
|
if (c == null || o.avgValue == null) continue;
|
|
1354
1354
|
let e = o.avgStdDev == null ? 0 : o.avgStdDev * (s.stdDev ?? 1), t = o.avgIsAbove ? o.avgValue + e : o.avgValue - e, n = s.equalAverage === !0;
|
|
1355
|
-
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) &&
|
|
1355
|
+
(o.avgIsAbove ? n ? c >= t : c > t : n ? c <= t : c < t) && dn(a, s.dxfId == null ? null : i[s.dxfId]);
|
|
1356
1356
|
} else if (s.type === "iconSet") {
|
|
1357
1357
|
if (c == null || !o.iconThresholds?.length) continue;
|
|
1358
1358
|
let e = o.iconThresholds, t = e.length, n = 0;
|
|
@@ -1369,7 +1369,7 @@ function Zt(e, t, n, r, i) {
|
|
|
1369
1369
|
};
|
|
1370
1370
|
} else if (s.type === "colorScale") {
|
|
1371
1371
|
if (c == null || !o.scaleStops || a.fill) continue;
|
|
1372
|
-
let e =
|
|
1372
|
+
let e = un(c, s.stops, o.scaleStops);
|
|
1373
1373
|
a.fill = {
|
|
1374
1374
|
patternType: "solid",
|
|
1375
1375
|
fgColor: e,
|
|
@@ -1389,21 +1389,21 @@ function Zt(e, t, n, r, i) {
|
|
|
1389
1389
|
}
|
|
1390
1390
|
//#endregion
|
|
1391
1391
|
//#region packages/xlsx/src/bidi-line.ts
|
|
1392
|
-
function
|
|
1393
|
-
return e === 2 ? !0 : e === 1 ? !1 :
|
|
1392
|
+
function pn(e, t) {
|
|
1393
|
+
return e === 2 ? !0 : e === 1 ? !1 : De(void 0, t) === "rtl";
|
|
1394
1394
|
}
|
|
1395
|
-
var
|
|
1395
|
+
var mn = (e) => {
|
|
1396
1396
|
let t = e.text;
|
|
1397
1397
|
return typeof t == "string" ? t : void 0;
|
|
1398
1398
|
};
|
|
1399
|
-
function
|
|
1399
|
+
function hn(e, t) {
|
|
1400
1400
|
let r = e === 2 || n(t);
|
|
1401
1401
|
return {
|
|
1402
1402
|
needBidi: r,
|
|
1403
|
-
baseRtl: r &&
|
|
1403
|
+
baseRtl: r && pn(e, t)
|
|
1404
1404
|
};
|
|
1405
1405
|
}
|
|
1406
|
-
function
|
|
1406
|
+
function gn(e, t) {
|
|
1407
1407
|
let n = e.length;
|
|
1408
1408
|
if (n === 0) return {
|
|
1409
1409
|
order: [],
|
|
@@ -1412,10 +1412,10 @@ function tn(e, t) {
|
|
|
1412
1412
|
let r = "", i = Array(n);
|
|
1413
1413
|
for (let t = 0; t < n; t++) {
|
|
1414
1414
|
i[t] = r.length;
|
|
1415
|
-
let n =
|
|
1415
|
+
let n = mn(e[t]) ?? "";
|
|
1416
1416
|
r += n.length > 0 ? n : "";
|
|
1417
1417
|
}
|
|
1418
|
-
let { levels: a, paragraphLevel: o } =
|
|
1418
|
+
let { levels: a, paragraphLevel: o } = M().computeLevels(r, t ? "rtl" : "ltr"), { order: s, segLevels: c } = ye(a, o, i), l = Array(n);
|
|
1419
1419
|
for (let e = 0; e < n; e++) l[e] = (c[e] & 1) == 1;
|
|
1420
1420
|
return {
|
|
1421
1421
|
order: s,
|
|
@@ -1424,7 +1424,7 @@ function tn(e, t) {
|
|
|
1424
1424
|
}
|
|
1425
1425
|
//#endregion
|
|
1426
1426
|
//#region packages/xlsx/src/a1.ts
|
|
1427
|
-
function
|
|
1427
|
+
function _n(e) {
|
|
1428
1428
|
let t = /^\$?([A-Z]+)\$?(\d+)$/.exec(e.trim());
|
|
1429
1429
|
if (!t) return null;
|
|
1430
1430
|
let n = t[1], r = 0;
|
|
@@ -1434,7 +1434,7 @@ function nn(e) {
|
|
|
1434
1434
|
col: r
|
|
1435
1435
|
};
|
|
1436
1436
|
}
|
|
1437
|
-
function
|
|
1437
|
+
function vn(e, t) {
|
|
1438
1438
|
let n = "", r = t;
|
|
1439
1439
|
for (; r > 0;) {
|
|
1440
1440
|
let e = (r - 1) % 26;
|
|
@@ -1443,25 +1443,49 @@ function rn(e, t) {
|
|
|
1443
1443
|
return `${n}${e}`;
|
|
1444
1444
|
}
|
|
1445
1445
|
//#endregion
|
|
1446
|
+
//#region packages/xlsx/src/vertical-text.ts
|
|
1447
|
+
function yn(e, t, n, r, a, o = !1) {
|
|
1448
|
+
let s = t.codePointAt(0) ?? 0, c = _e(s);
|
|
1449
|
+
if (o && D(s)) {
|
|
1450
|
+
e.save(), e.translate(n, r + a / 2), e.textAlign = "center", e.textBaseline = "middle", he(e, () => e.fillText(t, 0, 0)), e.restore();
|
|
1451
|
+
return;
|
|
1452
|
+
}
|
|
1453
|
+
if (c === "Tr") {
|
|
1454
|
+
let o = ve(s);
|
|
1455
|
+
if (o !== null) {
|
|
1456
|
+
e.fillText(String.fromCodePoint(o), n, r);
|
|
1457
|
+
return;
|
|
1458
|
+
}
|
|
1459
|
+
if (i(s)) {
|
|
1460
|
+
e.fillText(t, n, r);
|
|
1461
|
+
return;
|
|
1462
|
+
}
|
|
1463
|
+
e.save(), e.translate(n, r + a / 2), e.rotate(Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, 0, 0), e.restore();
|
|
1464
|
+
return;
|
|
1465
|
+
}
|
|
1466
|
+
let l = c === "Tu" ? L(s) : null;
|
|
1467
|
+
e.fillText(l === null ? t : String.fromCodePoint(l), n, r);
|
|
1468
|
+
}
|
|
1469
|
+
//#endregion
|
|
1446
1470
|
//#region packages/xlsx/src/renderer.ts
|
|
1447
|
-
function
|
|
1471
|
+
function bn(e, t) {
|
|
1448
1472
|
return t ? `${e}|duo:${t.clr1}:${t.clr2}` : e;
|
|
1449
1473
|
}
|
|
1450
|
-
var
|
|
1451
|
-
function
|
|
1452
|
-
let t = e ?
|
|
1453
|
-
if (!t) return n === "serif" ?
|
|
1474
|
+
var xn = b.map((e) => `"${e}"`).join(", "), Sn = S.map((e) => `"${e}"`).join(", "), Cn = `"Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${xn}, sans-serif`, wn = `"Cambria", "Caladea", "Times New Roman", "Liberation Serif", "Noto Naskh Arabic", "Noto Sans Arabic", ${Sn}, serif`, Tn = "\"Courier New\", \"Liberation Mono\", monospace";
|
|
1475
|
+
function En(e) {
|
|
1476
|
+
let t = e ? p(e) : null, n = v(e);
|
|
1477
|
+
if (!t) return n === "serif" ? wn : n === "mono" ? Tn : Cn;
|
|
1454
1478
|
let r = n === "serif";
|
|
1455
|
-
return `${
|
|
1479
|
+
return `${c(t, r ? "serif" : "sans").map((e) => `"${e}"`).join(", ")}, "Calibri", "Carlito", "Cambria", "Caladea", Arial, "Noto Naskh Arabic", "Noto Sans Arabic", ${r ? Sn : xn}, ${r ? "serif" : "sans-serif"}`;
|
|
1456
1480
|
}
|
|
1457
|
-
function
|
|
1458
|
-
return e ? `"${e}", ${
|
|
1481
|
+
function Dn(e) {
|
|
1482
|
+
return e ? `"${e}", ${En(e)}` : Cn;
|
|
1459
1483
|
}
|
|
1460
|
-
var
|
|
1461
|
-
function
|
|
1484
|
+
var On = 11, kn = 8;
|
|
1485
|
+
function An(e, t, n) {
|
|
1462
1486
|
return n - e - t;
|
|
1463
1487
|
}
|
|
1464
|
-
var
|
|
1488
|
+
var jn = "#7a7a7a", Mn = /* @__PURE__ */ new Map(), Nn = {
|
|
1465
1489
|
"meiryo ui": {
|
|
1466
1490
|
10: 8,
|
|
1467
1491
|
11: 8
|
|
@@ -1471,49 +1495,49 @@ var gn = "#7a7a7a", _n = /* @__PURE__ */ new Map(), vn = {
|
|
|
1471
1495
|
11: 8
|
|
1472
1496
|
}
|
|
1473
1497
|
};
|
|
1474
|
-
function
|
|
1475
|
-
let n = `${e}:${t}`, r =
|
|
1498
|
+
function Pn(e, t) {
|
|
1499
|
+
let n = `${e}:${t}`, r = Mn.get(n);
|
|
1476
1500
|
if (r !== void 0) return r;
|
|
1477
|
-
let i =
|
|
1478
|
-
if (i !== void 0) return
|
|
1479
|
-
let a = t *
|
|
1480
|
-
if (!o) return
|
|
1501
|
+
let i = Nn[e.toLowerCase()]?.[Math.round(t)];
|
|
1502
|
+
if (i !== void 0) return Mn.set(n, i), i;
|
|
1503
|
+
let a = t * G, o = typeof OffscreenCanvas < "u" ? new OffscreenCanvas(1, 1) : typeof document < "u" ? document.createElement("canvas") : null;
|
|
1504
|
+
if (!o) return kn;
|
|
1481
1505
|
let s = o.getContext("2d");
|
|
1482
|
-
if (!s) return
|
|
1483
|
-
s.font = `${a}px ${
|
|
1506
|
+
if (!s) return kn;
|
|
1507
|
+
s.font = `${a}px ${Dn(e)}`;
|
|
1484
1508
|
let c = 0;
|
|
1485
1509
|
for (let e of "0123456789") {
|
|
1486
1510
|
let t = s.measureText(e).width;
|
|
1487
1511
|
t > c && (c = t);
|
|
1488
1512
|
}
|
|
1489
|
-
let l = Math.round(c) ||
|
|
1490
|
-
return
|
|
1513
|
+
let l = Math.round(c) || kn;
|
|
1514
|
+
return Mn.set(n, l), l;
|
|
1491
1515
|
}
|
|
1492
1516
|
function Z(e) {
|
|
1493
|
-
return !e.defaultFontFamily || !e.defaultFontSize ?
|
|
1517
|
+
return !e.defaultFontFamily || !e.defaultFontSize ? kn : Pn(e.defaultFontFamily, e.defaultFontSize);
|
|
1494
1518
|
}
|
|
1495
|
-
function Q(e, t =
|
|
1519
|
+
function Q(e, t = kn) {
|
|
1496
1520
|
return Math.trunc((256 * e + Math.trunc(128 / t)) / 256 * t);
|
|
1497
1521
|
}
|
|
1498
|
-
function
|
|
1522
|
+
function Fn(e, t = kn) {
|
|
1499
1523
|
return e / t;
|
|
1500
1524
|
}
|
|
1501
1525
|
function $(e) {
|
|
1502
|
-
return Math.round(e *
|
|
1526
|
+
return Math.round(e * G);
|
|
1503
1527
|
}
|
|
1504
|
-
function
|
|
1505
|
-
return e /
|
|
1528
|
+
function In(e) {
|
|
1529
|
+
return e / G;
|
|
1506
1530
|
}
|
|
1507
|
-
function
|
|
1531
|
+
function Ln(e, t, n, r, i, a, o) {
|
|
1508
1532
|
if (!(i <= 0 || a <= 0)) {
|
|
1509
1533
|
if (o) {
|
|
1510
1534
|
let a = e.createLinearGradient(n, r, n + i, r);
|
|
1511
|
-
a.addColorStop(0,
|
|
1512
|
-
} else e.fillStyle =
|
|
1535
|
+
a.addColorStop(0, R(t, .85)), a.addColorStop(1, R(t, .15)), e.fillStyle = a;
|
|
1536
|
+
} else e.fillStyle = R(t);
|
|
1513
1537
|
e.fillRect(n, r, i, a);
|
|
1514
1538
|
}
|
|
1515
1539
|
}
|
|
1516
|
-
function
|
|
1540
|
+
function Rn(e) {
|
|
1517
1541
|
switch (e) {
|
|
1518
1542
|
case "solid": return 1;
|
|
1519
1543
|
case "darkGray": return .75;
|
|
@@ -1536,7 +1560,7 @@ function Cn(e) {
|
|
|
1536
1560
|
default: return 1;
|
|
1537
1561
|
}
|
|
1538
1562
|
}
|
|
1539
|
-
var
|
|
1563
|
+
var zn = /* @__PURE__ */ new Map(), Bn = {
|
|
1540
1564
|
gray0625: [
|
|
1541
1565
|
128,
|
|
1542
1566
|
0,
|
|
@@ -1698,16 +1722,16 @@ var wn = /* @__PURE__ */ new Map(), Tn = {
|
|
|
1698
1722
|
153
|
|
1699
1723
|
]
|
|
1700
1724
|
};
|
|
1701
|
-
function
|
|
1725
|
+
function Vn(e, t, n, r) {
|
|
1702
1726
|
let i = e.getTransform(), a = Math.max(1, Math.round(Math.hypot(i.a, i.b))), o = Math.max(1, Math.round(Math.hypot(i.c, i.d))), s = `${t}|${n}|${r}|${a}|${o}`;
|
|
1703
|
-
if (
|
|
1704
|
-
let c =
|
|
1705
|
-
if (!c) return
|
|
1706
|
-
let l = c.length, u =
|
|
1707
|
-
if (!u) return
|
|
1727
|
+
if (zn.has(s)) return zn.get(s);
|
|
1728
|
+
let c = Bn[t];
|
|
1729
|
+
if (!c) return zn.set(s, null), null;
|
|
1730
|
+
let l = c.length, u = k(l, l);
|
|
1731
|
+
if (!u) return zn.set(s, null), null;
|
|
1708
1732
|
let d = u.getContext("2d");
|
|
1709
|
-
if (!d) return
|
|
1710
|
-
d.fillStyle =
|
|
1733
|
+
if (!d) return zn.set(s, null), null;
|
|
1734
|
+
d.fillStyle = R(r), d.fillRect(0, 0, l, l), d.fillStyle = R(n);
|
|
1711
1735
|
for (let e = 0; e < l; e++) {
|
|
1712
1736
|
let t = c[e];
|
|
1713
1737
|
for (let n = 0; n < l; n++) t & 1 << l - 1 - n && d.fillRect(n, e, 1, 1);
|
|
@@ -1717,23 +1741,23 @@ function En(e, t, n, r) {
|
|
|
1717
1741
|
let e = new DOMMatrix();
|
|
1718
1742
|
e.scaleSelf(1 / a, 1 / o), f.setTransform(e);
|
|
1719
1743
|
}
|
|
1720
|
-
return
|
|
1744
|
+
return zn.set(s, f), f;
|
|
1721
1745
|
}
|
|
1722
|
-
function
|
|
1723
|
-
if (t.gradient && t.gradient.stops.length > 0) return e.fillStyle =
|
|
1746
|
+
function Hn(e, t, n, r, i, a) {
|
|
1747
|
+
if (t.gradient && t.gradient.stops.length > 0) return e.fillStyle = Un(e, t.gradient, n, r, i, a), e.fillRect(n, r, i, a), !0;
|
|
1724
1748
|
let o = t.patternType;
|
|
1725
1749
|
if (!o || o === "none") return !1;
|
|
1726
1750
|
let s = t.fgColor ?? "000000", c = t.bgColor ?? "FFFFFF";
|
|
1727
|
-
if (o === "solid") return e.fillStyle =
|
|
1728
|
-
let l =
|
|
1751
|
+
if (o === "solid") return e.fillStyle = R(s), e.fillRect(n, r, i, a), !0;
|
|
1752
|
+
let l = Vn(e, o, s, c);
|
|
1729
1753
|
if (l) e.fillStyle = l;
|
|
1730
1754
|
else {
|
|
1731
|
-
let t =
|
|
1732
|
-
e.fillStyle = t >= 1 ?
|
|
1755
|
+
let t = Rn(o);
|
|
1756
|
+
e.fillStyle = t >= 1 ? R(s) : Kn(s, c, t);
|
|
1733
1757
|
}
|
|
1734
1758
|
return e.fillRect(n, r, i, a), !0;
|
|
1735
1759
|
}
|
|
1736
|
-
function
|
|
1760
|
+
function Un(e, t, n, r, i, a) {
|
|
1737
1761
|
let o;
|
|
1738
1762
|
if (t.gradientType === "path") {
|
|
1739
1763
|
let s = n + i * (t.left + (1 - t.right - t.left) / 2), c = r + a * (t.top + (1 - t.bottom - t.top) / 2), l = Math.hypot(Math.max(s - n, n + i - s), Math.max(c - r, r + a - c));
|
|
@@ -1744,32 +1768,32 @@ function On(e, t, n, r, i, a) {
|
|
|
1744
1768
|
}
|
|
1745
1769
|
for (let e of t.stops) {
|
|
1746
1770
|
let t = Math.min(1, Math.max(0, e.position));
|
|
1747
|
-
o.addColorStop(t,
|
|
1771
|
+
o.addColorStop(t, R(e.color));
|
|
1748
1772
|
}
|
|
1749
1773
|
return o;
|
|
1750
1774
|
}
|
|
1751
|
-
var
|
|
1752
|
-
function
|
|
1775
|
+
var Wn = _n;
|
|
1776
|
+
function Gn(e, t, n, r, i) {
|
|
1753
1777
|
let a = Math.max(4, Math.min(8, Math.min(r, i) * .18));
|
|
1754
1778
|
e.save(), e.fillStyle = "#D40000", e.beginPath(), e.moveTo(t + r - a, n), e.lineTo(t + r, n), e.lineTo(t + r, n + a), e.closePath(), e.fill(), e.restore();
|
|
1755
1779
|
}
|
|
1756
|
-
function
|
|
1780
|
+
function Kn(e, t, n) {
|
|
1757
1781
|
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.min(1, Math.max(0, n));
|
|
1758
1782
|
return `rgb(${Math.round(a * d + c * (1 - d))},${Math.round(o * d + l * (1 - d))},${Math.round(s * d + u * (1 - d))})`;
|
|
1759
1783
|
}
|
|
1760
|
-
function
|
|
1761
|
-
let i = Math.round(e *
|
|
1762
|
-
return r ? Math.max(i, Math.round(
|
|
1784
|
+
function qn(e, t, n = 1, r) {
|
|
1785
|
+
let i = Math.round(e * G * n * t);
|
|
1786
|
+
return r ? Math.max(i, Math.round(le(r, e * G * t))) : i;
|
|
1763
1787
|
}
|
|
1764
|
-
function
|
|
1765
|
-
return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size *
|
|
1788
|
+
function Jn(e, t = 1) {
|
|
1789
|
+
return `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${Math.max(1, Math.round(e.size * G * t))}px ${Dn(e.name)}`;
|
|
1766
1790
|
}
|
|
1767
|
-
function
|
|
1791
|
+
function Yn(e, t, n, r, i, a, o, s, c, l) {
|
|
1768
1792
|
if (t.length === 0) return;
|
|
1769
1793
|
let u = n?.fontId ?? 0, d = a.fonts[u] ?? a.fonts[0];
|
|
1770
1794
|
if (!d) return;
|
|
1771
1795
|
let f = n?.alignment ?? "left";
|
|
1772
|
-
e.save(), e.font =
|
|
1796
|
+
e.save(), e.font = Jn(d, c), e.textBaseline = "top", e.textAlign = "left", e.fillStyle = l;
|
|
1773
1797
|
let p = s + Math.round(2 * c);
|
|
1774
1798
|
if (f === "noControl") {
|
|
1775
1799
|
let n = o;
|
|
@@ -1777,7 +1801,7 @@ function Pn(e, t, n, r, i, a, o, s, c, l) {
|
|
|
1777
1801
|
e.restore();
|
|
1778
1802
|
return;
|
|
1779
1803
|
}
|
|
1780
|
-
let m =
|
|
1804
|
+
let m = Re(t, r, o, f, (t) => Xn(e, t, i));
|
|
1781
1805
|
for (let t of m) {
|
|
1782
1806
|
let n = e.measureText(t.text).width, r = [...t.text];
|
|
1783
1807
|
if (t.spread === "distribute" && r.length > 1 && n < t.width) {
|
|
@@ -1793,23 +1817,23 @@ function Pn(e, t, n, r, i, a, o, s, c, l) {
|
|
|
1793
1817
|
}
|
|
1794
1818
|
e.restore();
|
|
1795
1819
|
}
|
|
1796
|
-
function
|
|
1820
|
+
function Xn(e, t, n) {
|
|
1797
1821
|
let r = e.font;
|
|
1798
1822
|
e.font = n;
|
|
1799
1823
|
let i = e.measureText(t).width;
|
|
1800
1824
|
return e.font = r, i;
|
|
1801
1825
|
}
|
|
1802
|
-
function
|
|
1803
|
-
if (e.save(), e.strokeStyle =
|
|
1804
|
-
let
|
|
1805
|
-
e.moveTo(t,
|
|
1826
|
+
function Zn(e, t, n, r, i, a, o = 1) {
|
|
1827
|
+
if (e.save(), e.strokeStyle = i, e.lineWidth = .5, e.beginPath(), a) {
|
|
1828
|
+
let i = r - 1, a = r + 1, s = i + N(i, .5, o), c = a + N(a, .5, o);
|
|
1829
|
+
e.moveTo(t, s), e.lineTo(n, s), e.moveTo(t, c), e.lineTo(n, c);
|
|
1806
1830
|
} else {
|
|
1807
|
-
let
|
|
1808
|
-
e.moveTo(t,
|
|
1831
|
+
let i = r + N(r, .5, o);
|
|
1832
|
+
e.moveTo(t, i), e.lineTo(n, i);
|
|
1809
1833
|
}
|
|
1810
1834
|
e.stroke(), e.restore();
|
|
1811
1835
|
}
|
|
1812
|
-
function
|
|
1836
|
+
function Qn(e, t) {
|
|
1813
1837
|
let n = t.font;
|
|
1814
1838
|
return n ? {
|
|
1815
1839
|
bold: n.bold,
|
|
@@ -1823,7 +1847,7 @@ function Ln(e, t) {
|
|
|
1823
1847
|
vertAlign: n.vertAlign
|
|
1824
1848
|
} : e;
|
|
1825
1849
|
}
|
|
1826
|
-
function
|
|
1850
|
+
function $n(e, t) {
|
|
1827
1851
|
let n = e.cellXfs[t] ?? e.cellXfs[0] ?? {
|
|
1828
1852
|
fontId: 0,
|
|
1829
1853
|
fillId: 0,
|
|
@@ -1839,7 +1863,7 @@ function Rn(e, t) {
|
|
|
1839
1863
|
italic: !1,
|
|
1840
1864
|
underline: !1,
|
|
1841
1865
|
strike: !1,
|
|
1842
|
-
size:
|
|
1866
|
+
size: On,
|
|
1843
1867
|
color: null,
|
|
1844
1868
|
name: null
|
|
1845
1869
|
},
|
|
@@ -1857,30 +1881,41 @@ function Rn(e, t) {
|
|
|
1857
1881
|
xf: n
|
|
1858
1882
|
};
|
|
1859
1883
|
}
|
|
1860
|
-
function
|
|
1884
|
+
function er(e, t, n) {
|
|
1861
1885
|
let r = [];
|
|
1862
|
-
for (let i of t.split("\n")) r.push(...
|
|
1886
|
+
for (let i of t.split("\n")) r.push(...ir(e, i, n));
|
|
1863
1887
|
return r;
|
|
1864
1888
|
}
|
|
1865
|
-
function
|
|
1889
|
+
function tr(e, t) {
|
|
1866
1890
|
if (e.length === 0 || t.length === 0) return 0;
|
|
1867
1891
|
let n = [...e, ...t], r = e.length;
|
|
1868
|
-
return r -
|
|
1892
|
+
return r - f(n, r, _, 1);
|
|
1869
1893
|
}
|
|
1870
|
-
function
|
|
1894
|
+
function nr(e, t) {
|
|
1871
1895
|
let n = t;
|
|
1872
1896
|
for (; n < e.length;) {
|
|
1873
1897
|
let t = e[e.length - n - 1], r = e[e.length - n], i = t?.codePointAt(0), a = r?.codePointAt(0);
|
|
1874
|
-
if (i !== void 0 && a !== void 0 &&
|
|
1898
|
+
if (i !== void 0 && a !== void 0 && T(i) && T(a)) n++;
|
|
1875
1899
|
else break;
|
|
1876
1900
|
}
|
|
1877
1901
|
return n >= e.length ? t : n;
|
|
1878
1902
|
}
|
|
1879
|
-
function
|
|
1903
|
+
function rr(e, t) {
|
|
1904
|
+
if (e.length === 0 || t.length === 0) return 0;
|
|
1905
|
+
let n = t[0].codePointAt(0), r = e.length - 1, i = e[r].codePointAt(0);
|
|
1906
|
+
if (i === void 0 || n === void 0 || i === 8203 || n === 8203 || !y(i, n)) return 0;
|
|
1907
|
+
for (; r > 0;) {
|
|
1908
|
+
let t = e[r - 1].codePointAt(0), n = e[r].codePointAt(0);
|
|
1909
|
+
if (t === void 0 || n === void 0 || !y(t, n)) break;
|
|
1910
|
+
r--;
|
|
1911
|
+
}
|
|
1912
|
+
return r === 0 ? 0 : e.length - r;
|
|
1913
|
+
}
|
|
1914
|
+
function ir(e, t, n) {
|
|
1880
1915
|
let r = [], i = [], a = 0;
|
|
1881
1916
|
for (; a < t.length;) {
|
|
1882
1917
|
let e = t[a], n = e.codePointAt(0) ?? 0;
|
|
1883
|
-
if (
|
|
1918
|
+
if (x(n)) i.push(e), a += n > 65535 ? 2 : 1;
|
|
1884
1919
|
else if (e === " ") {
|
|
1885
1920
|
let e = a;
|
|
1886
1921
|
for (; e < t.length && t[e] === " ";) e++;
|
|
@@ -1889,10 +1924,16 @@ function Hn(e, t, n) {
|
|
|
1889
1924
|
let e = a;
|
|
1890
1925
|
for (; e < t.length;) {
|
|
1891
1926
|
let n = t[e], r = n.codePointAt(0) ?? 0;
|
|
1892
|
-
if (n === " " ||
|
|
1927
|
+
if (n === " " || x(r)) break;
|
|
1893
1928
|
e += r > 65535 ? 2 : 1;
|
|
1894
1929
|
}
|
|
1895
|
-
|
|
1930
|
+
let n = t.slice(a, e), r = J(n) ? ne(n) : null;
|
|
1931
|
+
if (r && r.length > 0) {
|
|
1932
|
+
let e = 0;
|
|
1933
|
+
for (let t of r) i.push(n.slice(e, t)), e = t;
|
|
1934
|
+
i.push(n.slice(e));
|
|
1935
|
+
} else i.push(n);
|
|
1936
|
+
a = e;
|
|
1896
1937
|
}
|
|
1897
1938
|
}
|
|
1898
1939
|
let o = "";
|
|
@@ -1906,7 +1947,7 @@ function Hn(e, t, n) {
|
|
|
1906
1947
|
else {
|
|
1907
1948
|
let e = t.replace(/^ +/, "");
|
|
1908
1949
|
e === "" && (e = t);
|
|
1909
|
-
let n = [...o], i =
|
|
1950
|
+
let n = [...o], i = tr(n, [...e]);
|
|
1910
1951
|
if (i > 0) {
|
|
1911
1952
|
let t = n.length - i;
|
|
1912
1953
|
r.push(n.slice(0, t).join("")), o = n.slice(t).join("") + e;
|
|
@@ -1915,63 +1956,83 @@ function Hn(e, t, n) {
|
|
|
1915
1956
|
}
|
|
1916
1957
|
return r.push(o), r;
|
|
1917
1958
|
}
|
|
1918
|
-
function
|
|
1919
|
-
let a = [],
|
|
1920
|
-
|
|
1921
|
-
segments:
|
|
1922
|
-
maxFontSize:
|
|
1923
|
-
maxFontFamily:
|
|
1924
|
-
para:
|
|
1925
|
-
}),
|
|
1926
|
-
},
|
|
1927
|
-
if (
|
|
1959
|
+
function ar(e, t, n, r, i) {
|
|
1960
|
+
let a = [], s = [], c = 0, l = 0, u = null, d = n.size, f = n.name, p = 0, m = () => {
|
|
1961
|
+
s.length !== 0 && (a.push({
|
|
1962
|
+
segments: s,
|
|
1963
|
+
maxFontSize: l,
|
|
1964
|
+
maxFontFamily: u,
|
|
1965
|
+
para: p
|
|
1966
|
+
}), s = [], c = 0, l = 0, u = null);
|
|
1967
|
+
}, h = () => {
|
|
1968
|
+
if (s.length === 0) {
|
|
1928
1969
|
a.push({
|
|
1929
1970
|
segments: [],
|
|
1930
|
-
maxFontSize:
|
|
1931
|
-
maxFontFamily:
|
|
1932
|
-
para:
|
|
1971
|
+
maxFontSize: d || On,
|
|
1972
|
+
maxFontFamily: f,
|
|
1973
|
+
para: p
|
|
1933
1974
|
});
|
|
1934
1975
|
return;
|
|
1935
1976
|
}
|
|
1936
|
-
|
|
1937
|
-
},
|
|
1977
|
+
m();
|
|
1978
|
+
}, g = (t, n) => {
|
|
1938
1979
|
if (!t) return;
|
|
1939
|
-
|
|
1980
|
+
d = n.size, f = n.name, e.font = Jn(sr(n), r);
|
|
1940
1981
|
let a = e.measureText(t).width;
|
|
1941
|
-
if (
|
|
1942
|
-
let i =
|
|
1943
|
-
a > 0 && (a =
|
|
1944
|
-
let
|
|
1982
|
+
if (s.length > 0 && c + a > i) {
|
|
1983
|
+
let i = s.flatMap((e) => [...e.text]), a = tr(i, [...t]);
|
|
1984
|
+
a > 0 ? a = nr(i, a) : !J(t) && !J(s[s.length - 1]?.text ?? "") && !/^\s/u.test(t) && !/\s$/u.test(i.at(-1) ?? "") && (a = rr(i, [...t]));
|
|
1985
|
+
let o = s[s.length - 1], d = [...o.text];
|
|
1945
1986
|
a > d.length && (a = d.length);
|
|
1946
1987
|
let f = null;
|
|
1947
1988
|
if (a > 0) {
|
|
1948
1989
|
let t = d.slice(0, d.length - a), n = d.slice(d.length - a);
|
|
1949
|
-
if (e.font =
|
|
1990
|
+
if (e.font = Jn(sr(o.font), r), t.length === 0) s.pop();
|
|
1950
1991
|
else {
|
|
1951
1992
|
let n = t.join("");
|
|
1952
|
-
|
|
1993
|
+
o.text = n, o.width = e.measureText(n).width;
|
|
1953
1994
|
}
|
|
1954
1995
|
let i = n.join("");
|
|
1955
1996
|
f = {
|
|
1956
1997
|
text: i,
|
|
1957
|
-
font:
|
|
1998
|
+
font: o.font,
|
|
1958
1999
|
width: e.measureText(i).width
|
|
1959
2000
|
};
|
|
1960
2001
|
}
|
|
1961
|
-
|
|
2002
|
+
m(), f && (s.push(f), c += f.width, f.font.size > l && (l = f.font.size, u = f.font.name)), e.font = Jn(sr(n), r);
|
|
1962
2003
|
}
|
|
1963
|
-
|
|
2004
|
+
s.push({
|
|
1964
2005
|
text: t,
|
|
1965
2006
|
font: n,
|
|
1966
2007
|
width: a
|
|
1967
|
-
}),
|
|
2008
|
+
}), c += a, n.size > l && (l = n.size, u = n.name);
|
|
2009
|
+
}, _ = (t, n) => {
|
|
2010
|
+
let a = ne(t);
|
|
2011
|
+
if (a.length === 0) {
|
|
2012
|
+
g(t, n);
|
|
2013
|
+
return;
|
|
2014
|
+
}
|
|
2015
|
+
e.font = Jn(sr(n), r);
|
|
2016
|
+
let s = (t) => e.measureText(t).width, l = C(t), u = t.length, d = 0;
|
|
2017
|
+
for (; d < u;) {
|
|
2018
|
+
let e = i - c, r = O(t, a, d, e, s, l);
|
|
2019
|
+
if (r <= d) {
|
|
2020
|
+
if (c > 0) {
|
|
2021
|
+
m();
|
|
2022
|
+
continue;
|
|
2023
|
+
}
|
|
2024
|
+
let n = a.find((e) => e > d) ?? u, i = t.slice(d, n), f = o(i), p = O(i, f, 0, e, s, l);
|
|
2025
|
+
p <= 0 && (p = f.length > 0 ? f[0] : i.length), r = d + p;
|
|
2026
|
+
}
|
|
2027
|
+
g(t.slice(d, r), n), d = r, d < u && m();
|
|
2028
|
+
}
|
|
1968
2029
|
};
|
|
1969
2030
|
for (let e of t) {
|
|
1970
|
-
let t =
|
|
2031
|
+
let t = Qn(n, e), r = [], i = 0;
|
|
1971
2032
|
for (; i < e.text.length;) {
|
|
1972
2033
|
let t = e.text[i], n = t.codePointAt(0) ?? 0;
|
|
1973
2034
|
if (n === 10) r.push("\n"), i += 1;
|
|
1974
|
-
else if (
|
|
2035
|
+
else if (x(n)) r.push(t), i += n > 65535 ? 2 : 1;
|
|
1975
2036
|
else if (t === " ") {
|
|
1976
2037
|
let t = i;
|
|
1977
2038
|
for (; t < e.text.length && e.text[t] === " ";) t++;
|
|
@@ -1980,17 +2041,17 @@ function Un(e, t, n, r, i) {
|
|
|
1980
2041
|
let t = i;
|
|
1981
2042
|
for (; t < e.text.length;) {
|
|
1982
2043
|
let n = e.text[t], r = n.codePointAt(0) ?? 0;
|
|
1983
|
-
if (n === " " || n === "\n" ||
|
|
2044
|
+
if (n === " " || n === "\n" || x(r)) break;
|
|
1984
2045
|
t += r > 65535 ? 2 : 1;
|
|
1985
2046
|
}
|
|
1986
2047
|
r.push(e.text.slice(i, t)), i = t;
|
|
1987
2048
|
}
|
|
1988
2049
|
}
|
|
1989
|
-
for (let e of r) e === "\n" ? (
|
|
2050
|
+
for (let e of r) e === "\n" ? (h(), p++) : J(e) ? _(e, t) : g(e, t);
|
|
1990
2051
|
}
|
|
1991
|
-
return (
|
|
2052
|
+
return (s.length > 0 || a.length > 0) && h(), a;
|
|
1992
2053
|
}
|
|
1993
|
-
function
|
|
2054
|
+
function or(e, t, n) {
|
|
1994
2055
|
return e === "middle" ? {
|
|
1995
2056
|
underline: t + Math.round(n * .55),
|
|
1996
2057
|
strike: t
|
|
@@ -2002,66 +2063,66 @@ function Wn(e, t, n) {
|
|
|
2002
2063
|
strike: t + Math.round(n * .5)
|
|
2003
2064
|
};
|
|
2004
2065
|
}
|
|
2005
|
-
function
|
|
2066
|
+
function sr(e) {
|
|
2006
2067
|
return e.vertAlign === "superscript" || e.vertAlign === "subscript" ? {
|
|
2007
2068
|
...e,
|
|
2008
2069
|
size: e.size * .65
|
|
2009
2070
|
} : e;
|
|
2010
2071
|
}
|
|
2011
|
-
function
|
|
2012
|
-
e.textAlign = "left", e.textBaseline =
|
|
2013
|
-
let
|
|
2072
|
+
function cr(e, t, n, r, i, a, o, s) {
|
|
2073
|
+
e.textAlign = "left", e.textBaseline = i;
|
|
2074
|
+
let c = s.needBidi ? gn(t, s.baseRtl ?? !1) : null, l = e, u = n;
|
|
2014
2075
|
for (let n = 0; n < t.length; n++) {
|
|
2015
|
-
let
|
|
2016
|
-
if (
|
|
2017
|
-
|
|
2076
|
+
let d = c ? c.order[n] : n;
|
|
2077
|
+
if (c) try {
|
|
2078
|
+
l.direction = c.rtl[d] ? "rtl" : "ltr";
|
|
2018
2079
|
} catch {}
|
|
2019
|
-
let
|
|
2020
|
-
e.font =
|
|
2021
|
-
let
|
|
2022
|
-
e.fillStyle =
|
|
2023
|
-
let
|
|
2024
|
-
|
|
2025
|
-
let
|
|
2026
|
-
if (
|
|
2027
|
-
let t =
|
|
2028
|
-
if (
|
|
2029
|
-
let n =
|
|
2030
|
-
|
|
2080
|
+
let f = t[d], p = sr(f.font);
|
|
2081
|
+
e.font = Jn(p, a);
|
|
2082
|
+
let m = s.fontColor ?? f.font.color;
|
|
2083
|
+
e.fillStyle = m ? R(m) : "#000000";
|
|
2084
|
+
let h = qn(f.font.size, a), g = 0;
|
|
2085
|
+
f.font.vertAlign === "superscript" ? g = -Math.round(h * .35) : f.font.vertAlign === "subscript" && (g = Math.round(h * .1)), e.fillText(f.text, u, r + g);
|
|
2086
|
+
let _ = qn(p.size, a);
|
|
2087
|
+
if (f.font.underline || f.font.strike) {
|
|
2088
|
+
let t = or(i, r, _);
|
|
2089
|
+
if (f.font.underline) {
|
|
2090
|
+
let n = m ? R(m) : "#000000", r = f.font.underlineStyle === "double" || f.font.underlineStyle === "doubleAccounting";
|
|
2091
|
+
Zn(e, u, u + f.width, t.underline + g, n, r, o);
|
|
2031
2092
|
}
|
|
2032
|
-
if (
|
|
2033
|
-
let n = t.strike +
|
|
2034
|
-
e.save(), e.strokeStyle =
|
|
2093
|
+
if (f.font.strike) {
|
|
2094
|
+
let n = t.strike + g, r = n + N(n, .5, o);
|
|
2095
|
+
e.save(), e.strokeStyle = m ? R(m) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(u, r), e.lineTo(u + f.width, r), e.stroke(), e.restore();
|
|
2035
2096
|
}
|
|
2036
2097
|
}
|
|
2037
|
-
|
|
2098
|
+
u += f.width;
|
|
2038
2099
|
}
|
|
2039
|
-
if (
|
|
2040
|
-
|
|
2100
|
+
if (c) try {
|
|
2101
|
+
l.direction = "ltr";
|
|
2041
2102
|
} catch {}
|
|
2042
2103
|
}
|
|
2043
|
-
function
|
|
2104
|
+
function lr(e, t, n, r, i, a, o, s, c) {
|
|
2044
2105
|
let { alignH: l, cx: u, cellW: d, leftPad: f, paddingX: p } = r, m = t.map((t) => {
|
|
2045
|
-
let r =
|
|
2046
|
-
return e.font =
|
|
2106
|
+
let r = Qn(n, t);
|
|
2107
|
+
return e.font = Jn(sr(r), i), {
|
|
2047
2108
|
text: t.text,
|
|
2048
2109
|
font: r,
|
|
2049
2110
|
width: e.measureText(t.text).width
|
|
2050
2111
|
};
|
|
2051
2112
|
}), h = m.reduce((e, t) => e + t.width, 0), g;
|
|
2052
2113
|
g = l === "right" ? u + d - p - h : l === "center" ? u + d / 2 - h / 2 : u + f;
|
|
2053
|
-
let { needBidi: _, baseRtl: v } =
|
|
2054
|
-
|
|
2114
|
+
let { needBidi: _, baseRtl: v } = hn(o.readingOrder, m.map((e) => e.text).join(""));
|
|
2115
|
+
cr(e, m, g, s, c, i, a, {
|
|
2055
2116
|
fontColor: o.fontColor,
|
|
2056
2117
|
needBidi: _,
|
|
2057
2118
|
baseRtl: v
|
|
2058
2119
|
});
|
|
2059
2120
|
}
|
|
2060
|
-
function
|
|
2121
|
+
function ur(e, t, n, r, i, a, o = {}) {
|
|
2061
2122
|
let { alignV: s, cy: c, cellH: l, paddingY: u } = r, d, f;
|
|
2062
|
-
s === "top" ? (f = "top", d = c + u) : s === "center" ? (f = "middle", d = c + l / 2) : (f = "bottom", d = c + l - u),
|
|
2123
|
+
s === "top" ? (f = "top", d = c + u) : s === "center" ? (f = "middle", d = c + l / 2) : (f = "bottom", d = c + l - u), lr(e, t, n, r, i, a, o, d, f);
|
|
2063
2124
|
}
|
|
2064
|
-
function
|
|
2125
|
+
function dr(e, t, n, r, i, a, o = {}) {
|
|
2065
2126
|
let { alignV: s, cy: c, cellH: l, paddingY: u } = r, d = [[]];
|
|
2066
2127
|
for (let e of t) {
|
|
2067
2128
|
let t = e.text.split("\n");
|
|
@@ -2072,44 +2133,44 @@ function Yn(e, t, n, r, i, a, o = {}) {
|
|
|
2072
2133
|
}
|
|
2073
2134
|
let f = n.size, p = n.name, m = d.map((e) => {
|
|
2074
2135
|
if (e.length === 0) return {
|
|
2075
|
-
pt: f ||
|
|
2136
|
+
pt: f || On,
|
|
2076
2137
|
family: p
|
|
2077
2138
|
};
|
|
2078
2139
|
let t = 0, r = null;
|
|
2079
2140
|
for (let i of e) {
|
|
2080
|
-
let e =
|
|
2141
|
+
let e = Qn(n, i);
|
|
2081
2142
|
e.size > t && (t = e.size, r = e.name), f = e.size, p = e.name;
|
|
2082
2143
|
}
|
|
2083
2144
|
return {
|
|
2084
2145
|
pt: t,
|
|
2085
2146
|
family: r
|
|
2086
2147
|
};
|
|
2087
|
-
}).map((e) =>
|
|
2148
|
+
}).map((e) => qn(e.pt, i, 1.2, e.family ?? void 0)), h = m.reduce((e, t) => e + t, 0), g;
|
|
2088
2149
|
g = s === "top" ? c + u : s === "center" ? c + (l - h) / 2 : c + l - h - u;
|
|
2089
2150
|
for (let t = 0; t < d.length; t++) {
|
|
2090
2151
|
let s = d[t];
|
|
2091
|
-
s.length > 0 &&
|
|
2152
|
+
s.length > 0 && lr(e, s, n, r, i, a, o, g, "top"), g += m[t];
|
|
2092
2153
|
}
|
|
2093
2154
|
}
|
|
2094
|
-
function
|
|
2095
|
-
t.some((e) => e.text.includes("\n")) ?
|
|
2155
|
+
function fr(e, t, n, r, i, a, o = {}) {
|
|
2156
|
+
t.some((e) => e.text.includes("\n")) ? dr(e, t, n, r, i, a, o) : ur(e, t, n, r, i, a, o);
|
|
2096
2157
|
}
|
|
2097
|
-
function
|
|
2098
|
-
let { alignH: s, alignV: c, cx: l, cy: u, cellW: d, cellH: f, leftPad: p, paddingX: m, paddingY: h } = r, g =
|
|
2158
|
+
function pr(e, t, n, r, i, a, o = {}) {
|
|
2159
|
+
let { alignH: s, alignV: c, cx: l, cy: u, cellW: d, cellH: f, leftPad: p, paddingX: m, paddingY: h } = r, g = ar(e, t, n, i, d - p - m), _ = g.reduce((e, t) => e + qn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0), 0), v;
|
|
2099
2160
|
v = c === "top" ? u + h : c === "center" ? u + (f - _) / 2 : u + f - _ - h;
|
|
2100
|
-
let y = t.map((e) => e.text).join("").split("\n").map((e) =>
|
|
2161
|
+
let y = t.map((e) => e.text).join("").split("\n").map((e) => hn(o.readingOrder, e));
|
|
2101
2162
|
for (let t of g) {
|
|
2102
2163
|
let n = t.segments.reduce((e, t) => e + t.width, 0), r;
|
|
2103
2164
|
r = s === "right" ? l + d - m - n : s === "center" ? l + d / 2 - n / 2 : l + p;
|
|
2104
2165
|
let { needBidi: c, baseRtl: u } = y[t.para];
|
|
2105
|
-
|
|
2166
|
+
cr(e, t.segments, r, v, "top", i, a, {
|
|
2106
2167
|
fontColor: o.fontColor,
|
|
2107
2168
|
needBidi: c,
|
|
2108
2169
|
baseRtl: u
|
|
2109
|
-
}), v +=
|
|
2170
|
+
}), v += qn(t.maxFontSize, i, 1.2, t.maxFontFamily ?? void 0);
|
|
2110
2171
|
}
|
|
2111
2172
|
}
|
|
2112
|
-
function
|
|
2173
|
+
function mr(e) {
|
|
2113
2174
|
let t = "";
|
|
2114
2175
|
for (; e > 0;) {
|
|
2115
2176
|
let n = (e - 1) % 26;
|
|
@@ -2117,38 +2178,38 @@ function Qn(e) {
|
|
|
2117
2178
|
}
|
|
2118
2179
|
return t;
|
|
2119
2180
|
}
|
|
2120
|
-
var
|
|
2181
|
+
var hr = [
|
|
2121
2182
|
"#FF0000",
|
|
2122
2183
|
"#FFFF00",
|
|
2123
2184
|
"#00B050"
|
|
2124
|
-
],
|
|
2185
|
+
], gr = [
|
|
2125
2186
|
"#FF0000",
|
|
2126
2187
|
"#FF6600",
|
|
2127
2188
|
"#FFFF00",
|
|
2128
2189
|
"#00B050"
|
|
2129
|
-
],
|
|
2190
|
+
], _r = [
|
|
2130
2191
|
"#FF0000",
|
|
2131
2192
|
"#FF6600",
|
|
2132
2193
|
"#FFFF00",
|
|
2133
2194
|
"#92D050",
|
|
2134
2195
|
"#00B050"
|
|
2135
2196
|
];
|
|
2136
|
-
function
|
|
2197
|
+
function vr(e, t, n, r, i, a) {
|
|
2137
2198
|
if (t === "NoIcons") return;
|
|
2138
|
-
let o = t || "3TrafficLights1", s = parseInt(o[0]) || 3, c = s === 5 ?
|
|
2199
|
+
let o = t || "3TrafficLights1", s = parseInt(o[0]) || 3, c = s === 5 ? _r : s === 4 ? gr : hr, l = c[Math.max(0, Math.min(n, c.length - 1))];
|
|
2139
2200
|
if (e.save(), e.fillStyle = l, o.includes("Arrow")) {
|
|
2140
2201
|
let t = a / 2;
|
|
2141
2202
|
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();
|
|
2142
2203
|
} 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());
|
|
2143
2204
|
e.restore();
|
|
2144
2205
|
}
|
|
2145
|
-
function
|
|
2206
|
+
function yr(e, t, n, r, i) {
|
|
2146
2207
|
let a = Math.max(6, Math.round(Math.min(r, i) * .45)), o = t + r - a - 1, s = n + i - a - 1;
|
|
2147
2208
|
e.save(), e.fillStyle = "#D0D0D0", e.fillRect(o, s, a, a), e.fillStyle = "#444444";
|
|
2148
2209
|
let c = a * .55, l = o + (a - c) / 2, u = s + (a - c * .5) / 2;
|
|
2149
2210
|
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();
|
|
2150
2211
|
}
|
|
2151
|
-
function
|
|
2212
|
+
function br(e) {
|
|
2152
2213
|
let t = /* @__PURE__ */ new Map();
|
|
2153
2214
|
for (let n of e.tables ?? []) {
|
|
2154
2215
|
if (!n.styleName) continue;
|
|
@@ -2176,7 +2237,7 @@ function ir(e) {
|
|
|
2176
2237
|
}
|
|
2177
2238
|
return t;
|
|
2178
2239
|
}
|
|
2179
|
-
function
|
|
2240
|
+
function xr(e, t, n, r) {
|
|
2180
2241
|
let i = t?.border?.horizontal, a = t?.border?.top, o = t?.border?.bottom, s = t?.border?.left, c = t?.border?.right, l = n?.border?.bottom, u = n?.border?.top;
|
|
2181
2242
|
if (i || a || o || s || c || l || u) {
|
|
2182
2243
|
let t = {
|
|
@@ -2197,7 +2258,7 @@ function ar(e, t, n, r) {
|
|
|
2197
2258
|
topEdge: e.isTopEdge
|
|
2198
2259
|
};
|
|
2199
2260
|
}
|
|
2200
|
-
function
|
|
2261
|
+
function Sr(e) {
|
|
2201
2262
|
let t = /* @__PURE__ */ new Map();
|
|
2202
2263
|
for (let n of e.sparklineGroups ?? []) {
|
|
2203
2264
|
let e = Infinity, r = -Infinity;
|
|
@@ -2234,376 +2295,379 @@ function or(e) {
|
|
|
2234
2295
|
}
|
|
2235
2296
|
return t;
|
|
2236
2297
|
}
|
|
2237
|
-
function
|
|
2298
|
+
function Cr(e) {
|
|
2238
2299
|
let t = e.replace("#", "");
|
|
2239
2300
|
if (t.length < 6) return "#F2F2F2";
|
|
2240
2301
|
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();
|
|
2241
2302
|
return `#${o(a(n))}${o(a(r))}${o(a(i))}`;
|
|
2242
2303
|
}
|
|
2243
|
-
function
|
|
2244
|
-
if (
|
|
2245
|
-
let { styles:
|
|
2246
|
-
for (let e = 0; e <
|
|
2247
|
-
let
|
|
2248
|
-
for (let e = 0; e <
|
|
2249
|
-
e.save(), e.beginPath(), e.rect(
|
|
2250
|
-
let
|
|
2251
|
-
for (let
|
|
2252
|
-
let a =
|
|
2253
|
-
if (a >= n && a < n +
|
|
2254
|
-
let d = t.mergeAnchorMap.get(`${a}:${
|
|
2304
|
+
function wr(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
|
|
2305
|
+
if (f <= 0 || p <= 0) return;
|
|
2306
|
+
let { styles: m, cellMap: h, mergeAnchorMap: g, mergeSkipSet: _, cfContext: v, cs: y, dpr: b } = t, x = i.length, S = a.length, C = (e, n) => t.rtl ? An(e, n, t.canvasW) : e, w = [], T = -o;
|
|
2307
|
+
for (let e = 0; e < x; e++) w.push(T), T += i[e];
|
|
2308
|
+
let E = [], O = -s;
|
|
2309
|
+
for (let e = 0; e < S; e++) E.push(O), O += a[e];
|
|
2310
|
+
e.save(), e.beginPath(), e.rect(C(u, f), d, f, p), e.clip();
|
|
2311
|
+
let k = [], A = [], j = [];
|
|
2312
|
+
for (let i of t.worksheet.mergeCells ?? []) {
|
|
2313
|
+
let a = i.top, u = i.left;
|
|
2314
|
+
if (a >= n && a < n + S && u >= r && u < r + x || i.bottom < n || i.top >= n + S || i.right < r || i.left >= r + x) continue;
|
|
2315
|
+
let d = t.mergeAnchorMap.get(`${a}:${u}`);
|
|
2255
2316
|
if (!d) continue;
|
|
2256
2317
|
let f;
|
|
2257
|
-
if (
|
|
2318
|
+
if (u >= r) f = c + w[u - r];
|
|
2258
2319
|
else {
|
|
2259
2320
|
let e = 0;
|
|
2260
|
-
for (let n =
|
|
2261
|
-
f =
|
|
2321
|
+
for (let n = u; n < r; n++) e += Math.round(Q(t.worksheet.colWidths[n] ?? t.worksheet.defaultColWidth, t.mdw) * y);
|
|
2322
|
+
f = c - o - e;
|
|
2262
2323
|
}
|
|
2263
2324
|
let p;
|
|
2264
|
-
if (a >= n) p =
|
|
2325
|
+
if (a >= n) p = l + E[a - n];
|
|
2265
2326
|
else {
|
|
2266
2327
|
let e = 0;
|
|
2267
|
-
for (let r = a; r < n; r++) e += Math.round($(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) *
|
|
2268
|
-
p =
|
|
2269
|
-
}
|
|
2270
|
-
let
|
|
2271
|
-
f =
|
|
2272
|
-
let _ = `${a}:${
|
|
2273
|
-
if (
|
|
2274
|
-
let t = Math.max(0, (
|
|
2275
|
-
|
|
2276
|
-
}
|
|
2277
|
-
let
|
|
2278
|
-
if (
|
|
2279
|
-
let
|
|
2280
|
-
if (!
|
|
2281
|
-
let
|
|
2328
|
+
for (let r = a; r < n; r++) e += Math.round($(t.worksheet.rowHeights[r] ?? t.worksheet.defaultRowHeight) * y);
|
|
2329
|
+
p = l - s - e;
|
|
2330
|
+
}
|
|
2331
|
+
let h = d.totalW, g = d.totalH;
|
|
2332
|
+
f = C(f, h);
|
|
2333
|
+
let _ = `${a}:${u}`, T = t.cellMap.get(_), { font: D, fill: O, border: k, xf: j } = $n(m, T?.styleIndex ?? 0), M = fn(T, a, u, v, m.dxfs ?? []);
|
|
2334
|
+
if (Hn(e, M.fill ?? O, f, p, h, g), M.dataBar && M.dataBar.ratio > 0) {
|
|
2335
|
+
let t = Math.max(0, (h - 4) * M.dataBar.ratio);
|
|
2336
|
+
Ln(e, M.dataBar.color, f + 2, p + 2, t, g - 4, M.dataBar.gradient);
|
|
2337
|
+
}
|
|
2338
|
+
let N = Gr(Wr(k, a, u, d.right, d.bottom, t.cellMap, m), M.border);
|
|
2339
|
+
if (A.push(() => Kr(e, N, f, p, h, g, b)), !T) continue;
|
|
2340
|
+
let P = xt(T, m, M.numFmt, t.worksheet.date1904), F = P.text;
|
|
2341
|
+
if (!F || F === "0" && t.worksheet.showZeros === !1) continue;
|
|
2342
|
+
let ee = D.bold || !!M.fontBold, I = D.italic || !!M.fontItalic, L = D.underline || !!M.fontUnderline, z = D.strike || !!M.fontStrike, B = ee !== D.bold || I !== D.italic || L !== D.underline || z !== D.strike ? {
|
|
2282
2343
|
...D,
|
|
2283
|
-
bold:
|
|
2284
|
-
italic:
|
|
2285
|
-
underline:
|
|
2344
|
+
bold: ee,
|
|
2345
|
+
italic: I,
|
|
2346
|
+
underline: L,
|
|
2286
2347
|
strike: z
|
|
2287
2348
|
} : D;
|
|
2288
|
-
e.font =
|
|
2289
|
-
let V = t.hyperlinkMap.get(_) ? "#0563C1" :
|
|
2290
|
-
e.fillStyle = V ?
|
|
2291
|
-
let H =
|
|
2292
|
-
e.save(), e.beginPath(), e.rect(f, p,
|
|
2293
|
-
let
|
|
2294
|
-
U === "right" ? (
|
|
2295
|
-
let
|
|
2296
|
-
if (
|
|
2349
|
+
e.font = Jn(B, y);
|
|
2350
|
+
let V = t.hyperlinkMap.get(_) ? "#0563C1" : M.fontColor ?? P.color ?? D.color;
|
|
2351
|
+
e.fillStyle = V ? R(V) : "#000000";
|
|
2352
|
+
let H = T.value.type === "number", U = j.alignH ?? (H ? "right" : "left"), te = j.alignV ?? "bottom", W = j.indent ? Math.round(j.indent * 3 * t.mdw) : 0, ne = 3 + (U === "left" || !j.alignH ? W : 0);
|
|
2353
|
+
e.save(), e.beginPath(), e.rect(f, p, h, g), e.clip();
|
|
2354
|
+
let G;
|
|
2355
|
+
U === "right" ? (G = f + h - 3, e.textAlign = "right") : U === "center" ? (G = f + h / 2, e.textAlign = "center") : (G = f + ne, e.textAlign = "left");
|
|
2356
|
+
let re = T.value.type === "text" ? T.value.runs : void 0, ie = re && re.length > 0;
|
|
2357
|
+
if (j.wrapText && ie) pr(e, re, B, {
|
|
2297
2358
|
alignH: U,
|
|
2298
2359
|
alignV: te,
|
|
2299
2360
|
cx: f,
|
|
2300
2361
|
cy: p,
|
|
2301
|
-
cellW:
|
|
2362
|
+
cellW: h,
|
|
2302
2363
|
cellH: g,
|
|
2303
|
-
leftPad:
|
|
2364
|
+
leftPad: ne,
|
|
2304
2365
|
paddingX: 3,
|
|
2305
2366
|
paddingY: 2
|
|
2306
|
-
},
|
|
2307
|
-
fontColor:
|
|
2308
|
-
readingOrder:
|
|
2367
|
+
}, y, b, {
|
|
2368
|
+
fontColor: M.fontColor,
|
|
2369
|
+
readingOrder: j.readingOrder
|
|
2309
2370
|
});
|
|
2310
|
-
else if (
|
|
2311
|
-
let t =
|
|
2371
|
+
else if (j.wrapText) {
|
|
2372
|
+
let t = er(e, F, h - ne - 3), n = qn(D.size, y, 1.2, D.name ?? void 0), r = t.length * n, i;
|
|
2312
2373
|
i = te === "top" ? p + 2 : te === "center" ? p + (g - r) / 2 : p + g - r - 2, e.textBaseline = "top";
|
|
2313
|
-
for (let r = 0; r < t.length; r++) e.fillText(t[r],
|
|
2314
|
-
} else if (
|
|
2374
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], G, i + r * n);
|
|
2375
|
+
} else if (ie) fr(e, re, B, {
|
|
2315
2376
|
alignH: U,
|
|
2316
2377
|
alignV: te,
|
|
2317
2378
|
cx: f,
|
|
2318
2379
|
cy: p,
|
|
2319
|
-
cellW:
|
|
2380
|
+
cellW: h,
|
|
2320
2381
|
cellH: g,
|
|
2321
|
-
leftPad:
|
|
2382
|
+
leftPad: ne,
|
|
2322
2383
|
paddingX: 3,
|
|
2323
2384
|
paddingY: 2
|
|
2324
|
-
},
|
|
2325
|
-
fontColor:
|
|
2326
|
-
readingOrder:
|
|
2385
|
+
}, y, b, {
|
|
2386
|
+
fontColor: M.fontColor,
|
|
2387
|
+
readingOrder: j.readingOrder
|
|
2327
2388
|
});
|
|
2328
2389
|
else {
|
|
2329
2390
|
let t;
|
|
2330
|
-
te === "top" ? (e.textBaseline = "top", t = p + 2) : te === "center" ? (e.textBaseline = "middle", t = p + g / 2) : (e.textBaseline = "bottom", t = p + g - 2), e.fillText(
|
|
2391
|
+
te === "top" ? (e.textBaseline = "top", t = p + 2) : te === "center" ? (e.textBaseline = "middle", t = p + g / 2) : (e.textBaseline = "bottom", t = p + g - 2), e.fillText(F, G, t);
|
|
2331
2392
|
}
|
|
2332
2393
|
e.restore();
|
|
2333
2394
|
}
|
|
2334
|
-
for (let
|
|
2335
|
-
let
|
|
2336
|
-
if (
|
|
2337
|
-
let
|
|
2395
|
+
for (let o = 0; o < S; o++) {
|
|
2396
|
+
let s = n + o, S = l + E[o], T = a[o];
|
|
2397
|
+
if (S + T <= d || S >= d + p) continue;
|
|
2398
|
+
let O = /* @__PURE__ */ new Set(), M = /* @__PURE__ */ new Set(), P = -1, F = (e) => {
|
|
2338
2399
|
if (P >= 0 && e - P >= 2) {
|
|
2339
|
-
for (let t = P; t < e - 1; t++)
|
|
2340
|
-
for (let t = P + 1; t < e; t++)
|
|
2400
|
+
for (let t = P; t < e - 1; t++) O.add(t);
|
|
2401
|
+
for (let t = P + 1; t < e; t++) M.add(t);
|
|
2341
2402
|
}
|
|
2342
2403
|
P = -1;
|
|
2343
2404
|
};
|
|
2344
|
-
for (let e = 0; e <=
|
|
2405
|
+
for (let e = 0; e <= x; e++) {
|
|
2345
2406
|
let t = !1, n = !1;
|
|
2346
|
-
if (e <
|
|
2347
|
-
let
|
|
2348
|
-
if (!
|
|
2349
|
-
let e =
|
|
2350
|
-
t =
|
|
2407
|
+
if (e < x) {
|
|
2408
|
+
let i = `${s}:${r + e}`;
|
|
2409
|
+
if (!_.has(i) && !g.has(i)) {
|
|
2410
|
+
let e = h.get(i);
|
|
2411
|
+
t = $n(m, e?.styleIndex ?? 0).xf.alignH === "centerContinuous", n = !!(e && e.value && e.value.type !== "empty");
|
|
2351
2412
|
}
|
|
2352
2413
|
}
|
|
2353
2414
|
t ? n && P >= 0 && e > P ? (F(e), P = e) : P < 0 && (P = e) : F(e);
|
|
2354
2415
|
}
|
|
2355
|
-
for (let n = 0; n <
|
|
2356
|
-
let
|
|
2357
|
-
if (
|
|
2358
|
-
let
|
|
2359
|
-
if (
|
|
2360
|
-
let
|
|
2361
|
-
if (
|
|
2362
|
-
let t = Math.max(0, (P - 4) *
|
|
2363
|
-
|
|
2416
|
+
for (let n = 0; n < x; n++) {
|
|
2417
|
+
let a = r + n, l = c + w[n], d = i[n];
|
|
2418
|
+
if (l + d <= u || l >= u + f) continue;
|
|
2419
|
+
let p = `${s}:${a}`;
|
|
2420
|
+
if (_.has(p)) continue;
|
|
2421
|
+
let E = g.get(p), P = E ? E.totalW : d, F = E ? E.totalH : T, I = C(l, P), L = h.get(p), { font: z, fill: B, border: V, xf: H } = $n(m, L?.styleIndex ?? 0), U = fn(L, s, a, v, m.dxfs ?? []), te = U.fill ?? B, W = t.tableStyleMap.get(p), ne = m.dxfs ?? [], G = (e) => e == null ? void 0 : ne[e], re = G(W?.wholeTableDxf), ie = G(W?.headerRowDxf), ae = G(W?.totalRowDxf), oe = G(W?.firstColumnDxf), se = G(W?.lastColumnDxf), ce = G(W?.stripeDxf), le = W?.isHeader && ie?.fill?.fgColor ? ie : W?.isTotals && ae?.fill?.fgColor ? ae : W?.isLastCol && se?.fill?.fgColor ? se : W?.isFirstCol && oe?.fill?.fgColor ? oe : ce?.fill?.fgColor ? ce : !W?.isHeader && !W?.isTotals && re?.fill?.fgColor ? re : void 0;
|
|
2422
|
+
if (Hn(e, te, I, S, P, F) || (W && le?.fill?.fgColor ? (e.fillStyle = R(le.fill.fgColor), e.fillRect(I, S, P, F)) : W && !W.isCustom && W.isBanded && (e.fillStyle = Cr(W.accent), e.fillRect(I, S, P, F))), t.commentCells.has(p) && Gn(e, I, S, P, F), U.dataBar && U.dataBar.ratio > 0) {
|
|
2423
|
+
let t = Math.max(0, (P - 4) * U.dataBar.ratio);
|
|
2424
|
+
Ln(e, U.dataBar.color, I + 2, S + 2, t, F - 4, U.dataBar.gradient);
|
|
2364
2425
|
}
|
|
2365
|
-
let
|
|
2366
|
-
if (
|
|
2426
|
+
let ue = t.sparklineMap.get(p);
|
|
2427
|
+
if (ue && Oe(e, {
|
|
2367
2428
|
x: I,
|
|
2368
|
-
y:
|
|
2429
|
+
y: S,
|
|
2369
2430
|
w: P,
|
|
2370
2431
|
h: F
|
|
2371
|
-
},
|
|
2372
|
-
if (e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), !
|
|
2373
|
-
let t = I + P +
|
|
2374
|
-
e.moveTo(t,
|
|
2432
|
+
}, ue), t.worksheet.showGridlines !== !1) {
|
|
2433
|
+
if (e.strokeStyle = "#d0d0d0", e.lineWidth = .5, e.beginPath(), !O.has(n)) {
|
|
2434
|
+
let t = I + P + N(I + P, .5, b);
|
|
2435
|
+
e.moveTo(t, S), e.lineTo(t, S + F);
|
|
2375
2436
|
}
|
|
2376
|
-
let t =
|
|
2377
|
-
if (e.moveTo(I, t), e.lineTo(I + P, t),
|
|
2378
|
-
let t =
|
|
2437
|
+
let t = S + F + N(S + F, .5, b);
|
|
2438
|
+
if (e.moveTo(I, t), e.lineTo(I + P, t), o === 0) {
|
|
2439
|
+
let t = S + N(S, .5, b);
|
|
2379
2440
|
e.moveTo(I, t), e.lineTo(I + P, t);
|
|
2380
2441
|
}
|
|
2381
2442
|
if (n === 0) {
|
|
2382
|
-
let t = I +
|
|
2383
|
-
e.moveTo(t,
|
|
2443
|
+
let t = I + N(I, .5, b);
|
|
2444
|
+
e.moveTo(t, S), e.lineTo(t, S + F);
|
|
2384
2445
|
}
|
|
2385
2446
|
e.stroke();
|
|
2386
2447
|
}
|
|
2387
|
-
let
|
|
2388
|
-
(
|
|
2389
|
-
...
|
|
2390
|
-
left:
|
|
2391
|
-
right:
|
|
2448
|
+
let K = Gr(E ? Wr(V, s, a, E.right, E.bottom, h, m) : V, U.border);
|
|
2449
|
+
(O.has(n) || M.has(n)) && (K = {
|
|
2450
|
+
...K,
|
|
2451
|
+
left: M.has(n) ? null : K.left,
|
|
2452
|
+
right: O.has(n) ? null : K.right
|
|
2392
2453
|
});
|
|
2393
|
-
let
|
|
2394
|
-
if (
|
|
2395
|
-
...
|
|
2396
|
-
top:
|
|
2397
|
-
}), !
|
|
2398
|
-
let e =
|
|
2399
|
-
t?.style && (n === 0 ||
|
|
2400
|
-
...
|
|
2401
|
-
left:
|
|
2454
|
+
let de = h.get(`${s - 1}:${a}`), fe = de ? $n(m, de.styleIndex ?? 0).border.bottom : null;
|
|
2455
|
+
if (fe?.style && (o === 0 || K.top?.style) && (K = {
|
|
2456
|
+
...K,
|
|
2457
|
+
top: Xr(K.top, fe)
|
|
2458
|
+
}), !M.has(n)) {
|
|
2459
|
+
let e = h.get(`${s}:${a - 1}`), t = e ? $n(m, e.styleIndex ?? 0).border.right : null;
|
|
2460
|
+
t?.style && (n === 0 || K.left?.style) && (K = {
|
|
2461
|
+
...K,
|
|
2462
|
+
left: Xr(K.left, t)
|
|
2402
2463
|
});
|
|
2403
2464
|
}
|
|
2404
|
-
let
|
|
2405
|
-
if (
|
|
2406
|
-
if (
|
|
2407
|
-
else if (
|
|
2408
|
-
let t = .5 /
|
|
2409
|
-
if (e.strokeStyle =
|
|
2410
|
-
let t =
|
|
2465
|
+
let q = W ? xr(W, re, ie, a) : null, pe = t.autoFilterCells.has(p), me = () => {
|
|
2466
|
+
if (q) {
|
|
2467
|
+
if (q.kind === "dxf") Kr(e, q.border, I, S, P, F, b);
|
|
2468
|
+
else if (q.kind === "accent") {
|
|
2469
|
+
let t = .5 / b;
|
|
2470
|
+
if (e.strokeStyle = q.color, e.lineWidth = q.lineWidth, e.beginPath(), e.moveTo(I, S + F - t), e.lineTo(I + P, S + F - t), q.topEdge) {
|
|
2471
|
+
let t = S + N(S, q.lineWidth, b);
|
|
2411
2472
|
e.moveTo(I, t), e.lineTo(I + P, t);
|
|
2412
2473
|
}
|
|
2413
2474
|
e.stroke();
|
|
2414
2475
|
}
|
|
2415
2476
|
}
|
|
2416
|
-
|
|
2477
|
+
pe && yr(e, I, S, d, F);
|
|
2417
2478
|
};
|
|
2418
|
-
if (
|
|
2419
|
-
let t =
|
|
2420
|
-
|
|
2479
|
+
if (E) {
|
|
2480
|
+
let t = K;
|
|
2481
|
+
A.push(() => Kr(e, t, I, S, P, F, b)), me();
|
|
2421
2482
|
} else {
|
|
2422
|
-
let t =
|
|
2423
|
-
|
|
2424
|
-
|
|
2483
|
+
let t = K;
|
|
2484
|
+
j.push(() => {
|
|
2485
|
+
Kr(e, t, I, S, P, F, b), me();
|
|
2425
2486
|
});
|
|
2426
2487
|
}
|
|
2427
2488
|
if (!L) continue;
|
|
2428
|
-
let
|
|
2429
|
-
!
|
|
2430
|
-
let
|
|
2431
|
-
...
|
|
2432
|
-
bold:
|
|
2433
|
-
italic:
|
|
2434
|
-
underline:
|
|
2435
|
-
strike:
|
|
2436
|
-
} :
|
|
2437
|
-
e.font =
|
|
2438
|
-
let
|
|
2439
|
-
e.fillStyle =
|
|
2440
|
-
let
|
|
2441
|
-
if (
|
|
2442
|
-
let t = `${
|
|
2443
|
-
if (
|
|
2444
|
-
let n =
|
|
2445
|
-
if (n && n.value.type !== "empty" ||
|
|
2446
|
-
|
|
2489
|
+
let he = xt(L, m, U.numFmt, t.worksheet.date1904), J = he.text;
|
|
2490
|
+
!J || J === "0" && t.worksheet.showZeros === !1 || k.push(() => {
|
|
2491
|
+
let o = W?.isHeader ? ie : W?.isTotals ? ae : W?.isLastCol && se ? se : W?.isFirstCol && oe ? oe : ce || (W ? re : void 0), c = W ? W.isCustom ? !!o?.font?.bold : W.isHeader || W.isTotals : !1, l = z.bold || !!U.fontBold || c, u = z.italic || !!U.fontItalic, d = z.underline || !!U.fontUnderline, f = z.strike || !!U.fontStrike, v = l !== z.bold || u !== z.italic || d !== z.underline || f !== z.strike ? {
|
|
2492
|
+
...z,
|
|
2493
|
+
bold: l,
|
|
2494
|
+
italic: u,
|
|
2495
|
+
underline: d,
|
|
2496
|
+
strike: f
|
|
2497
|
+
} : z;
|
|
2498
|
+
e.font = Jn(v, y);
|
|
2499
|
+
let C = t.hyperlinkMap.get(p), w = o?.font?.color ?? null, T = C ? "#0563C1" : U.fontColor ?? he.color ?? w ?? z.color;
|
|
2500
|
+
e.fillStyle = T ? R(T) : "#000000";
|
|
2501
|
+
let O = L.value.type === "number", k = H.alignH ?? (O ? "right" : "left"), A = H.alignV ?? "bottom", j = H.indent ? Math.round(H.indent * 3 * t.mdw) : 0, M = U.iconSet ? Math.max(8, Math.round(Math.min(P, F) * .55)) : 0, B = M > 0 ? M + 4 : 0, V = 3 + (k === "left" || !H.alignH ? j : 0) + B, te = P, ne = I, G = n;
|
|
2502
|
+
if (k === "centerContinuous" && !E) for (let e = n + 1; e < x; e++) {
|
|
2503
|
+
let t = `${s}:${r + e}`;
|
|
2504
|
+
if (_.has(t) || g.has(t)) break;
|
|
2505
|
+
let n = h.get(t);
|
|
2506
|
+
if (n && n.value.type !== "empty" || $n(m, n?.styleIndex ?? 0).xf.alignH !== "centerContinuous") break;
|
|
2507
|
+
te += i[e], G = e;
|
|
2447
2508
|
}
|
|
2448
|
-
let
|
|
2449
|
-
if (!
|
|
2450
|
-
let t = e.measureText(
|
|
2451
|
-
if (o >
|
|
2452
|
-
let e = o -
|
|
2453
|
-
if (
|
|
2454
|
-
let e = t, o =
|
|
2455
|
-
for (let t = o; t <
|
|
2456
|
-
let n = `${
|
|
2457
|
-
if (
|
|
2458
|
-
let
|
|
2459
|
-
if (
|
|
2460
|
-
|
|
2509
|
+
let le = k === "centerContinuous" ? ne : I, ue = k === "centerContinuous" ? te : P, K = J.includes("\n");
|
|
2510
|
+
if (!E && !H.wrapText && !H.textRotation && !O && !K) {
|
|
2511
|
+
let t = e.measureText(J).width, a = k === "centerContinuous", o = a ? t + 6 : t + V + 3, c = a ? te : P;
|
|
2512
|
+
if (o > c) {
|
|
2513
|
+
let e = o - c, t = 0, l = 0;
|
|
2514
|
+
if (k === "right" ? l = e : k === "center" || a ? (l = e / 2, t = e / 2) : t = e, t > 0) {
|
|
2515
|
+
let e = t, o = a ? G + 1 : n + 1;
|
|
2516
|
+
for (let t = o; t < x && e > 0; t++) {
|
|
2517
|
+
let n = `${s}:${r + t}`;
|
|
2518
|
+
if (_.has(n) || g.has(n)) break;
|
|
2519
|
+
let a = h.get(n);
|
|
2520
|
+
if (a && a.value.type !== "empty") break;
|
|
2521
|
+
ue += i[t], e -= i[t];
|
|
2461
2522
|
}
|
|
2462
2523
|
}
|
|
2463
2524
|
if (l > 0) {
|
|
2464
2525
|
let e = l;
|
|
2465
2526
|
for (let t = n - 1; t >= 0 && e > 0; t--) {
|
|
2466
|
-
let n = `${
|
|
2467
|
-
if (
|
|
2468
|
-
let
|
|
2469
|
-
if (
|
|
2470
|
-
|
|
2527
|
+
let n = `${s}:${r + t}`;
|
|
2528
|
+
if (_.has(n) || g.has(n)) break;
|
|
2529
|
+
let a = h.get(n);
|
|
2530
|
+
if (a && a.value.type !== "empty") break;
|
|
2531
|
+
le -= i[t], ue += i[t], e -= i[t];
|
|
2471
2532
|
}
|
|
2472
2533
|
}
|
|
2473
2534
|
}
|
|
2474
2535
|
}
|
|
2475
|
-
let
|
|
2476
|
-
if (
|
|
2477
|
-
let t = Math.max(1, P - 6), n = e.measureText(
|
|
2536
|
+
let de = J, fe = 0;
|
|
2537
|
+
if (k === "fill" && !O && J.length > 0) {
|
|
2538
|
+
let t = Math.max(1, P - 6), n = e.measureText(J).width;
|
|
2478
2539
|
if (n > 0 && n < t) {
|
|
2479
2540
|
let e = Math.max(1, Math.floor(t / n));
|
|
2480
|
-
|
|
2541
|
+
de = J.repeat(e);
|
|
2481
2542
|
}
|
|
2482
2543
|
}
|
|
2483
|
-
if (
|
|
2484
|
-
let t = Math.max(1, P - 6), n = e.measureText(
|
|
2485
|
-
n < t && (
|
|
2544
|
+
if (k === "distributed" || k === "justify" && !H.wrapText && !K) {
|
|
2545
|
+
let t = Math.max(1, P - 6), n = e.measureText(de).width, r = Math.max(1, [...de].length - 1);
|
|
2546
|
+
n < t && (fe = Math.max(0, (t - n) / r));
|
|
2486
2547
|
}
|
|
2487
|
-
let
|
|
2488
|
-
|
|
2489
|
-
let
|
|
2490
|
-
if (
|
|
2491
|
-
let t =
|
|
2548
|
+
let q, pe;
|
|
2549
|
+
k === "right" ? (q = I + P - 3, pe = "right") : k === "center" ? (q = I + P / 2, pe = "center") : k === "centerContinuous" ? (q = ne + te / 2, pe = "center") : k === "distributed" || k === "justify" && !H.wrapText && !K ? (q = I + 3, pe = "left") : (q = I + V, pe = "left");
|
|
2550
|
+
let me = H.textRotation ?? 0, ge = me === 255, _e = me > 0 && me !== 255;
|
|
2551
|
+
if (U.iconSet && M > 0 && (e.save(), e.beginPath(), e.rect(I, S, P, F), e.clip(), vr(e, U.iconSet.name, U.iconSet.index, I + 2, S + (F - M) / 2, M), e.restore()), e.save(), e.beginPath(), e.rect(le, S, ue, F), e.clip(), ge) {
|
|
2552
|
+
let t = qn(z.size, y, 1.1), n = [...J].length * t, r = A === "top" ? S + 2 : A === "center" ? S + (F - n) / 2 : S + F - n - 2;
|
|
2492
2553
|
e.textAlign = "center", e.textBaseline = "top";
|
|
2493
|
-
for (let n of
|
|
2554
|
+
for (let n of J) {
|
|
2555
|
+
let i = n.codePointAt(0) ?? 0, a = D(i) && ee(e, i);
|
|
2556
|
+
yn(e, n, I + P / 2, r, t, a), r += t;
|
|
2557
|
+
}
|
|
2494
2558
|
e.restore();
|
|
2495
2559
|
return;
|
|
2496
2560
|
}
|
|
2497
|
-
if (
|
|
2498
|
-
let t =
|
|
2499
|
-
e.translate(I + P / 2,
|
|
2561
|
+
if (_e) {
|
|
2562
|
+
let t = me <= 90 ? -(me * Math.PI / 180) : (me - 90) * Math.PI / 180;
|
|
2563
|
+
e.translate(I + P / 2, S + F / 2), e.rotate(t), e.textAlign = "center", e.textBaseline = "middle", e.fillText(J, 0, 0), e.restore();
|
|
2500
2564
|
return;
|
|
2501
2565
|
}
|
|
2502
|
-
if (
|
|
2503
|
-
let t = e.measureText(
|
|
2566
|
+
if (H.shrinkToFit) {
|
|
2567
|
+
let t = e.measureText(J).width, n = P - V - 3;
|
|
2504
2568
|
if (t > n && t > 0) {
|
|
2505
|
-
let r = n / t, i =
|
|
2569
|
+
let r = n / t, i = k === "right" ? I + P - 3 : k === "center" ? I + P / 2 : I + V;
|
|
2506
2570
|
e.transform(r, 0, 0, 1, i * (1 - r), 0);
|
|
2507
2571
|
}
|
|
2508
2572
|
}
|
|
2509
|
-
if (e.textAlign =
|
|
2510
|
-
e.letterSpacing = `${
|
|
2573
|
+
if (e.textAlign = pe, fe > 0) try {
|
|
2574
|
+
e.letterSpacing = `${fe}px`;
|
|
2511
2575
|
} catch {}
|
|
2512
2576
|
try {
|
|
2513
|
-
e.direction =
|
|
2577
|
+
e.direction = pn(H.readingOrder, J) ? "rtl" : "ltr";
|
|
2514
2578
|
} catch {}
|
|
2515
|
-
let
|
|
2516
|
-
if (
|
|
2517
|
-
alignH:
|
|
2518
|
-
alignV:
|
|
2579
|
+
let ve = L.value.type === "text" ? L.value.runs : void 0, ye = ve && ve.length > 0;
|
|
2580
|
+
if (H.wrapText && ye) pr(e, ve, v, {
|
|
2581
|
+
alignH: k,
|
|
2582
|
+
alignV: A,
|
|
2519
2583
|
cx: I,
|
|
2520
|
-
cy:
|
|
2584
|
+
cy: S,
|
|
2521
2585
|
cellW: P,
|
|
2522
2586
|
cellH: F,
|
|
2523
|
-
leftPad:
|
|
2587
|
+
leftPad: V,
|
|
2524
2588
|
paddingX: 3,
|
|
2525
2589
|
paddingY: 2
|
|
2526
|
-
},
|
|
2527
|
-
fontColor:
|
|
2528
|
-
readingOrder:
|
|
2590
|
+
}, y, b, {
|
|
2591
|
+
fontColor: U.fontColor,
|
|
2592
|
+
readingOrder: H.readingOrder
|
|
2529
2593
|
});
|
|
2530
|
-
else if (
|
|
2531
|
-
let t =
|
|
2532
|
-
|
|
2533
|
-
for (let r = 0; r < t.length; r++) e.fillText(t[r],
|
|
2534
|
-
} else if (
|
|
2535
|
-
alignH:
|
|
2536
|
-
alignV:
|
|
2594
|
+
else if (H.wrapText) {
|
|
2595
|
+
let t = er(e, J, P - V - 3), n = qn(z.size, y, 1.2, z.name ?? void 0), r = t.length * n, i;
|
|
2596
|
+
A === "top" ? (i = S + 2, e.textBaseline = "top") : A === "center" ? (i = S + (F - r) / 2, e.textBaseline = "top") : (i = S + F - r - 2, e.textBaseline = "top");
|
|
2597
|
+
for (let r = 0; r < t.length; r++) e.fillText(t[r], q, i + r * n);
|
|
2598
|
+
} else if (ye) fr(e, ve, v, {
|
|
2599
|
+
alignH: k,
|
|
2600
|
+
alignV: A,
|
|
2537
2601
|
cx: I,
|
|
2538
|
-
cy:
|
|
2602
|
+
cy: S,
|
|
2539
2603
|
cellW: P,
|
|
2540
2604
|
cellH: F,
|
|
2541
|
-
leftPad:
|
|
2605
|
+
leftPad: V,
|
|
2542
2606
|
paddingX: 3,
|
|
2543
2607
|
paddingY: 2
|
|
2544
|
-
},
|
|
2545
|
-
fontColor:
|
|
2546
|
-
readingOrder:
|
|
2608
|
+
}, y, b, {
|
|
2609
|
+
fontColor: U.fontColor,
|
|
2610
|
+
readingOrder: H.readingOrder
|
|
2547
2611
|
});
|
|
2548
2612
|
else {
|
|
2549
|
-
let t =
|
|
2550
|
-
t === "superscript" ?
|
|
2551
|
-
let
|
|
2552
|
-
...
|
|
2553
|
-
size:
|
|
2554
|
-
} :
|
|
2555
|
-
t && (e.font =
|
|
2556
|
-
let
|
|
2557
|
-
let e = Math.min(
|
|
2613
|
+
let t = v.vertAlign, n = qn(z.size, y), r = 0;
|
|
2614
|
+
t === "superscript" ? r = -Math.round(n * .35) : t === "subscript" && (r = Math.round(n * .1));
|
|
2615
|
+
let i = t ? {
|
|
2616
|
+
...v,
|
|
2617
|
+
size: v.size * .65
|
|
2618
|
+
} : v;
|
|
2619
|
+
t && (e.font = Jn(i, y));
|
|
2620
|
+
let a = null, o = () => a ??= e.measureText(J), s = () => {
|
|
2621
|
+
let e = Math.min(o().width, ue - V - 3);
|
|
2558
2622
|
return {
|
|
2559
|
-
x:
|
|
2623
|
+
x: k === "right" ? I + P - 3 - e : k === "center" ? I + P / 2 - e / 2 : I + V,
|
|
2560
2624
|
width: e
|
|
2561
2625
|
};
|
|
2562
|
-
},
|
|
2563
|
-
if (
|
|
2564
|
-
let { x: t, width: n } =
|
|
2565
|
-
|
|
2626
|
+
}, c = qn(i.size, y);
|
|
2627
|
+
if (v.underline || C) {
|
|
2628
|
+
let { x: t, width: n } = s(), i = (A === "top" ? S + 2 + c + 1 : A === "center" ? S + F / 2 + Math.round(c * .55) : S + F - 2 + 1) + r, a = C ? "#0563C1" : T ? R(T) : "#000000", o = v.underlineStyle === "double" || v.underlineStyle === "doubleAccounting";
|
|
2629
|
+
Zn(e, t, t + n, i, a, o, b);
|
|
2566
2630
|
}
|
|
2567
|
-
if (
|
|
2568
|
-
let { x: t, width: n } =
|
|
2569
|
-
e.save(), e.strokeStyle =
|
|
2631
|
+
if (v.strike) {
|
|
2632
|
+
let { x: t, width: n } = s(), i = (A === "top" ? S + 2 + Math.round(c * .5) : A === "center" ? S + F / 2 : S + F - 2 - Math.round(c * .35)) + r, a = i + N(i, .5, b);
|
|
2633
|
+
e.save(), e.strokeStyle = T ? R(T) : "#000000", e.lineWidth = .5, e.beginPath(), e.moveTo(t, a), e.lineTo(t + n, a), e.stroke(), e.restore();
|
|
2570
2634
|
}
|
|
2571
|
-
if (
|
|
2572
|
-
let t =
|
|
2573
|
-
|
|
2574
|
-
for (let
|
|
2635
|
+
if (J.includes("\n")) {
|
|
2636
|
+
let t = J.split("\n"), n = qn(z.size, y, 1.2, z.name ?? void 0), i = t.length * n, a;
|
|
2637
|
+
A === "top" ? (a = S + 2, e.textBaseline = "top") : A === "center" ? (a = S + (F - i) / 2, e.textBaseline = "top") : (a = S + F - i - 2, e.textBaseline = "top");
|
|
2638
|
+
for (let i = 0; i < t.length; i++) e.fillText(t[i], q, a + i * n + r);
|
|
2575
2639
|
} else {
|
|
2576
2640
|
let t;
|
|
2577
|
-
|
|
2641
|
+
A === "top" ? (e.textBaseline = "top", t = S + 2) : A === "center" ? (e.textBaseline = "middle", t = S + F / 2) : (e.textBaseline = "bottom", t = S + F - 2), e.fillText(de, q, t + r);
|
|
2578
2642
|
}
|
|
2579
2643
|
}
|
|
2580
|
-
let
|
|
2581
|
-
if (L.showPhonetic &&
|
|
2582
|
-
let t =
|
|
2583
|
-
r =
|
|
2584
|
-
let i =
|
|
2585
|
-
|
|
2644
|
+
let be = L.value.type === "text" ? L.value.phoneticRuns : void 0;
|
|
2645
|
+
if (L.showPhonetic && be && be.length > 0 && !J.includes("\n")) {
|
|
2646
|
+
let t = Jn(v, y), n = Xn(e, J, t), r;
|
|
2647
|
+
r = k === "right" ? I + P - 3 - n : k === "center" ? I + P / 2 - n / 2 : I + V;
|
|
2648
|
+
let i = T ? R(T) : "#000000";
|
|
2649
|
+
Yn(e, be, L.value.type === "text" ? L.value.phoneticPr : void 0, J, t, m, r, S, y, i);
|
|
2586
2650
|
}
|
|
2587
|
-
e.restore(),
|
|
2588
|
-
text:
|
|
2651
|
+
e.restore(), J && t.onTextRun && t.onTextRun({
|
|
2652
|
+
text: J,
|
|
2589
2653
|
x: I,
|
|
2590
|
-
y:
|
|
2654
|
+
y: S,
|
|
2591
2655
|
width: P,
|
|
2592
2656
|
height: F,
|
|
2593
|
-
row:
|
|
2594
|
-
col:
|
|
2657
|
+
row: s,
|
|
2658
|
+
col: a
|
|
2595
2659
|
});
|
|
2596
2660
|
});
|
|
2597
2661
|
}
|
|
2598
2662
|
}
|
|
2599
|
-
for (let e of M) e();
|
|
2600
2663
|
for (let e of j) e();
|
|
2601
2664
|
for (let e of A) e();
|
|
2665
|
+
for (let e of k) e();
|
|
2602
2666
|
e.restore();
|
|
2603
2667
|
}
|
|
2604
|
-
var
|
|
2605
|
-
function
|
|
2606
|
-
let t =
|
|
2668
|
+
var Tr = /* @__PURE__ */ new WeakMap();
|
|
2669
|
+
function Er(e) {
|
|
2670
|
+
let t = Tr.get(e);
|
|
2607
2671
|
if (t) return t;
|
|
2608
2672
|
let n = /* @__PURE__ */ new Map();
|
|
2609
2673
|
for (let t of e.rows) for (let e of t.cells) n.set(`${e.row}:${e.col}`, e);
|
|
@@ -2618,236 +2682,236 @@ function ur(e) {
|
|
|
2618
2682
|
for (let t of e.hyperlinks ?? []) t.url && a.set(`${t.row}:${t.col}`, t.url);
|
|
2619
2683
|
let o = /* @__PURE__ */ new Set();
|
|
2620
2684
|
for (let t of e.commentRefs ?? []) {
|
|
2621
|
-
let e =
|
|
2685
|
+
let e = Wn(t);
|
|
2622
2686
|
e && o.add(`${e.row}:${e.col}`);
|
|
2623
2687
|
}
|
|
2624
2688
|
let s = {
|
|
2625
2689
|
cellMap: n,
|
|
2626
|
-
cfContext:
|
|
2690
|
+
cfContext: an(e),
|
|
2627
2691
|
mergeSkipSet: r,
|
|
2628
2692
|
autoFilterCells: i,
|
|
2629
2693
|
hyperlinkMap: a,
|
|
2630
2694
|
commentCells: o,
|
|
2631
|
-
tableStyleMap:
|
|
2632
|
-
sparklineMap:
|
|
2695
|
+
tableStyleMap: br(e),
|
|
2696
|
+
sparklineMap: Sr(e)
|
|
2633
2697
|
};
|
|
2634
|
-
return
|
|
2635
|
-
}
|
|
2636
|
-
function
|
|
2637
|
-
let
|
|
2638
|
-
e.clearRect(0, 0,
|
|
2639
|
-
let
|
|
2640
|
-
for (let e = 1; e <=
|
|
2641
|
-
let
|
|
2642
|
-
for (let e = 1; e <=
|
|
2643
|
-
let
|
|
2644
|
-
for (let e =
|
|
2645
|
-
let
|
|
2646
|
-
for (let e =
|
|
2647
|
-
let { cellMap:
|
|
2698
|
+
return Tr.set(e, s), s;
|
|
2699
|
+
}
|
|
2700
|
+
function Dr(e, t, n, r, i = {}) {
|
|
2701
|
+
let a = i.dpr ?? 1, o = i.cellScale ?? 1, s = Z(t), c = e.canvas.width / a, l = e.canvas.height / a;
|
|
2702
|
+
e.clearRect(0, 0, c, l), e.fillStyle = "#ffffff", e.fillRect(0, 0, c, l);
|
|
2703
|
+
let u = (e) => Math.round(e * o), d = u(50), f = u(22), { row: p, col: m, rows: h, cols: g } = r, _ = (i.scrollOffsetX ?? 0) * o, v = (i.scrollOffsetY ?? 0) * o, y = i.freezeRows ?? 0, b = i.freezeCols ?? 0, x = [];
|
|
2704
|
+
for (let e = 1; e <= b; e++) x.push(u(Q(t.colWidths[e] ?? t.defaultColWidth, s)));
|
|
2705
|
+
let S = [];
|
|
2706
|
+
for (let e = 1; e <= y; e++) S.push(u($(t.rowHeights[e] ?? t.defaultRowHeight)));
|
|
2707
|
+
let C = x.reduce((e, t) => e + t, 0), w = S.reduce((e, t) => e + t, 0), T = [];
|
|
2708
|
+
for (let e = m; e < m + g; e++) T.push(u(Q(t.colWidths[e] ?? t.defaultColWidth, s)));
|
|
2709
|
+
let E = [];
|
|
2710
|
+
for (let e = p; e < p + h; e++) E.push(u($(t.rowHeights[e] ?? t.defaultRowHeight)));
|
|
2711
|
+
let { cellMap: D, cfContext: O, mergeSkipSet: k, autoFilterCells: A, hyperlinkMap: j, commentCells: M, tableStyleMap: P, sparklineMap: F } = Er(t), ee = /* @__PURE__ */ new Map();
|
|
2648
2712
|
for (let e of t.mergeCells ?? []) {
|
|
2649
2713
|
let n = 0;
|
|
2650
|
-
for (let r = e.left; r <= e.right; r++) n +=
|
|
2714
|
+
for (let r = e.left; r <= e.right; r++) n += u(Q(t.colWidths[r] ?? t.defaultColWidth, s));
|
|
2651
2715
|
let r = 0;
|
|
2652
|
-
for (let n = e.top; n <= e.bottom; n++) r +=
|
|
2653
|
-
|
|
2716
|
+
for (let n = e.top; n <= e.bottom; n++) r += u($(t.rowHeights[n] ?? t.defaultRowHeight));
|
|
2717
|
+
ee.set(`${e.top}:${e.left}`, {
|
|
2654
2718
|
totalW: n,
|
|
2655
2719
|
totalH: r,
|
|
2656
2720
|
right: e.right,
|
|
2657
2721
|
bottom: e.bottom
|
|
2658
2722
|
});
|
|
2659
2723
|
}
|
|
2660
|
-
let
|
|
2724
|
+
let I = {
|
|
2661
2725
|
worksheet: t,
|
|
2662
2726
|
styles: n,
|
|
2663
|
-
cellMap:
|
|
2664
|
-
mergeAnchorMap:
|
|
2665
|
-
mergeSkipSet:
|
|
2666
|
-
cfContext:
|
|
2667
|
-
colWidths:
|
|
2668
|
-
rowHeights:
|
|
2669
|
-
frozenColWidths:
|
|
2670
|
-
frozenRowHeights:
|
|
2671
|
-
frozenW:
|
|
2672
|
-
frozenH:
|
|
2673
|
-
startRow:
|
|
2674
|
-
startCol:
|
|
2675
|
-
cs:
|
|
2676
|
-
dpr:
|
|
2677
|
-
autoFilterCells:
|
|
2678
|
-
hyperlinkMap:
|
|
2679
|
-
commentCells:
|
|
2727
|
+
cellMap: D,
|
|
2728
|
+
mergeAnchorMap: ee,
|
|
2729
|
+
mergeSkipSet: k,
|
|
2730
|
+
cfContext: O,
|
|
2731
|
+
colWidths: T,
|
|
2732
|
+
rowHeights: E,
|
|
2733
|
+
frozenColWidths: x,
|
|
2734
|
+
frozenRowHeights: S,
|
|
2735
|
+
frozenW: C,
|
|
2736
|
+
frozenH: w,
|
|
2737
|
+
startRow: p,
|
|
2738
|
+
startCol: m,
|
|
2739
|
+
cs: o,
|
|
2740
|
+
dpr: a,
|
|
2741
|
+
autoFilterCells: A,
|
|
2742
|
+
hyperlinkMap: j,
|
|
2743
|
+
commentCells: M,
|
|
2680
2744
|
tableStyleMap: P,
|
|
2681
2745
|
sparklineMap: F,
|
|
2682
|
-
mdw:
|
|
2683
|
-
onTextRun:
|
|
2746
|
+
mdw: s,
|
|
2747
|
+
onTextRun: i.onTextRun,
|
|
2684
2748
|
rtl: t.rightToLeft === !0,
|
|
2685
|
-
canvasW:
|
|
2686
|
-
},
|
|
2687
|
-
|
|
2749
|
+
canvasW: c
|
|
2750
|
+
}, L = d, R = f, z = L + C, B = R + w, V = Math.max(0, c - z), H = Math.max(0, l - B);
|
|
2751
|
+
y > 0 && b > 0 && wr(e, I, 1, 1, x, S, 0, 0, L, R, L, R, C, w), y > 0 && wr(e, I, 1, m, T, S, _, 0, z, R, z, R, V, w), b > 0 && wr(e, I, p, 1, x, E, 0, v, L, B, L, B, C, H), wr(e, I, p, m, T, E, _, v, z, B, z, B, V, H), t.images && t.images.length > 0 && i.loadedImages && jr(e, t, i.loadedImages, o, p, m, _, v, z, B, V, H), t.shapeGroups && t.shapeGroups.length > 0 && Mr(e, t, o, p, m, _, v, z, B, V, H, i.loadedImages), t.charts && t.charts.length > 0 && Zr(e, t, o, p, m, _, v, z, B, V, H), t.slicers && t.slicers.length > 0 && ui(e, t, o, p, m, _, v, z, B, V, H), Or(e, c, l, p, m, h, g, T, E, _, v, x, S, C, w, d, f, o, a, i.selectedRowRange ?? null, i.selectedColRange ?? null, t.rightToLeft === !0);
|
|
2688
2752
|
let U = t.rightToLeft === !0;
|
|
2753
|
+
if (y > 0) {
|
|
2754
|
+
e.save(), e.strokeStyle = jn, e.lineWidth = .5, e.beginPath();
|
|
2755
|
+
let t = B + N(B, .5, a);
|
|
2756
|
+
U ? (e.moveTo(0, t), e.lineTo(c - d, t)) : (e.moveTo(d, t), e.lineTo(c, t)), e.stroke(), e.restore();
|
|
2757
|
+
}
|
|
2689
2758
|
if (b > 0) {
|
|
2690
|
-
e.save(), e.strokeStyle =
|
|
2691
|
-
let t =
|
|
2692
|
-
|
|
2693
|
-
}
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
let
|
|
2707
|
-
e.fillStyle =
|
|
2708
|
-
let
|
|
2709
|
-
e.moveTo(
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
e.fillStyle = j(t), e.fillRect(a, n, g, i), e.strokeStyle = M(t), e.lineWidth = .5, e.beginPath();
|
|
2713
|
-
let o = n + r(n, .5, y), s = a + r(a, .5, y);
|
|
2714
|
-
e.moveTo(a + g - I, n), e.lineTo(a + g - I, n + i), e.moveTo(a, o), e.lineTo(a + g, o), e.moveTo(s, n), e.lineTo(s, n + i), e.stroke(), e.fillStyle = O, e.textBaseline = "middle";
|
|
2715
|
-
let c = Math.max(2, Math.round(4 * v));
|
|
2716
|
-
S ? (e.textAlign = "left", e.fillText(String(t), a + c, n + i / 2)) : (e.textAlign = "right", e.fillText(String(t), a + g - c, n + i / 2));
|
|
2759
|
+
e.save(), e.strokeStyle = jn, e.lineWidth = .5, e.beginPath();
|
|
2760
|
+
let t = U ? c - z : z, n = t + N(t, .5, a);
|
|
2761
|
+
e.moveTo(n, f), e.lineTo(n, l), e.stroke(), e.restore();
|
|
2762
|
+
}
|
|
2763
|
+
}
|
|
2764
|
+
function Or(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x) {
|
|
2765
|
+
let S = "#f8f9fa", C = "#e8eaed", w = "#caddf6", T = "#c8ccd0", E = "#5b9bd5", D = "#444", O = (e) => !b || e < b.start || e > b.end ? S : b.strong ? w : C, k = (e) => !b || e < b.start || e > b.end ? T : b.strong ? E : T, A = (e) => !y || e < y.start || e > y.end ? S : y.strong ? w : C, j = (e) => !y || e < y.start || e > y.end ? T : y.strong ? E : T, M = `${Math.max(1, Math.round(11 * _))}px ${Cn}`, P = h + p, F = g + m, ee = .5 / v, I = (e, n) => x ? An(e, n, t) : e, L = x ? t - h : 0;
|
|
2766
|
+
e.fillStyle = S, e.fillRect(L, 0, h, g), e.strokeStyle = T, e.lineWidth = .5, e.beginPath();
|
|
2767
|
+
let R = L + N(L, .5, v), z = N(0, .5, v);
|
|
2768
|
+
e.moveTo(R, 0), e.lineTo(R, g), e.moveTo(L, z), e.lineTo(L + h, z), e.moveTo(L + h - ee, 0), e.lineTo(L + h - ee, g), e.moveTo(L, g - ee), e.lineTo(L + h, g - ee), e.stroke(), e.font = M, e.fillStyle = D;
|
|
2769
|
+
let B = (t, n, r) => {
|
|
2770
|
+
let i = I(n, r);
|
|
2771
|
+
e.fillStyle = O(t), e.fillRect(i, 0, r, g), e.strokeStyle = k(t), e.lineWidth = .5, e.beginPath();
|
|
2772
|
+
let a = i + N(i, .5, v), o = N(0, .5, v);
|
|
2773
|
+
e.moveTo(a, 0), e.lineTo(a, g), e.moveTo(i, g - ee), e.lineTo(i + r, g - ee), e.moveTo(i, o), e.lineTo(i + r, o), e.stroke(), e.fillStyle = D, e.textAlign = "center", e.textBaseline = "middle", e.fillText(mr(t), i + r / 2, g / 2);
|
|
2774
|
+
}, V = (t, n, r) => {
|
|
2775
|
+
let i = L;
|
|
2776
|
+
e.fillStyle = A(t), e.fillRect(i, n, h, r), e.strokeStyle = j(t), e.lineWidth = .5, e.beginPath();
|
|
2777
|
+
let a = n + N(n, .5, v), o = i + N(i, .5, v);
|
|
2778
|
+
e.moveTo(i + h - ee, n), e.lineTo(i + h - ee, n + r), e.moveTo(i, a), e.lineTo(i + h, a), e.moveTo(o, n), e.lineTo(o, n + r), e.stroke(), e.fillStyle = D, e.textBaseline = "middle";
|
|
2779
|
+
let s = Math.max(2, Math.round(4 * _));
|
|
2780
|
+
x ? (e.textAlign = "left", e.fillText(String(t), i + s, n + r / 2)) : (e.textAlign = "right", e.fillText(String(t), i + h - s, n + r / 2));
|
|
2717
2781
|
};
|
|
2718
|
-
if (
|
|
2719
|
-
e.save(), e.beginPath(), e.rect(
|
|
2720
|
-
let t =
|
|
2721
|
-
for (let e = 0; e <
|
|
2782
|
+
if (d.length > 0) {
|
|
2783
|
+
e.save(), e.beginPath(), e.rect(I(h, p), 0, p, g), e.clip();
|
|
2784
|
+
let t = h;
|
|
2785
|
+
for (let e = 0; e < d.length; e++) B(e + 1, t, d[e]), t += d[e];
|
|
2722
2786
|
e.restore();
|
|
2723
2787
|
}
|
|
2724
|
-
e.save(), e.beginPath(), e.rect(
|
|
2725
|
-
let H = P -
|
|
2726
|
-
for (let e = 0; e <
|
|
2727
|
-
let n =
|
|
2728
|
-
H + n > P && H < t && B(
|
|
2788
|
+
e.save(), e.beginPath(), e.rect(I(P, t - P), 0, t - P, g), e.clip();
|
|
2789
|
+
let H = P - l;
|
|
2790
|
+
for (let e = 0; e < s.length; e++) {
|
|
2791
|
+
let n = s[e];
|
|
2792
|
+
H + n > P && H < t && B(i + e, H, n), H += n;
|
|
2729
2793
|
}
|
|
2730
|
-
if (e.restore(),
|
|
2731
|
-
e.save(), e.beginPath(), e.rect(
|
|
2732
|
-
let t =
|
|
2733
|
-
for (let e = 0; e <
|
|
2794
|
+
if (e.restore(), f.length > 0) {
|
|
2795
|
+
e.save(), e.beginPath(), e.rect(L, g, h, m), e.clip();
|
|
2796
|
+
let t = g;
|
|
2797
|
+
for (let e = 0; e < f.length; e++) V(e + 1, t, f[e]), t += f[e];
|
|
2734
2798
|
e.restore();
|
|
2735
2799
|
}
|
|
2736
|
-
e.save(), e.beginPath(), e.rect(
|
|
2737
|
-
let U = F -
|
|
2738
|
-
for (let e = 0; e <
|
|
2739
|
-
let t =
|
|
2740
|
-
U + t > F && U < n && V(
|
|
2800
|
+
e.save(), e.beginPath(), e.rect(L, F, h, n - F), e.clip();
|
|
2801
|
+
let U = F - u;
|
|
2802
|
+
for (let e = 0; e < c.length; e++) {
|
|
2803
|
+
let t = c[e];
|
|
2804
|
+
U + t > F && U < n && V(r + e, U, t), U += t;
|
|
2741
2805
|
}
|
|
2742
2806
|
e.restore();
|
|
2743
2807
|
}
|
|
2744
|
-
function
|
|
2808
|
+
function kr(e, t, n) {
|
|
2745
2809
|
let r = Z(e), i = 0;
|
|
2746
2810
|
for (let a = 1; a < t; a++) i += Math.round(Q(e.colWidths[a] ?? e.defaultColWidth, r) * n);
|
|
2747
2811
|
return i;
|
|
2748
2812
|
}
|
|
2749
|
-
function
|
|
2813
|
+
function Ar(e, t, n) {
|
|
2750
2814
|
let r = 0;
|
|
2751
2815
|
for (let i = 1; i < t; i++) r += Math.round($(e.rowHeights[i] ?? e.defaultRowHeight) * n);
|
|
2752
2816
|
return r;
|
|
2753
2817
|
}
|
|
2754
|
-
function
|
|
2755
|
-
if (
|
|
2756
|
-
let
|
|
2757
|
-
|
|
2758
|
-
for (let
|
|
2759
|
-
let
|
|
2760
|
-
if (!
|
|
2761
|
-
let
|
|
2762
|
-
if (
|
|
2818
|
+
function jr(n, r, i, a, o, s, c, l, u, d, f, p) {
|
|
2819
|
+
if (f <= 0 || p <= 0) return;
|
|
2820
|
+
let m = kr(r, s, a), h = Ar(r, o, a);
|
|
2821
|
+
n.save(), n.beginPath(), n.rect(u, d, f, p), n.clip();
|
|
2822
|
+
for (let o of r.images) {
|
|
2823
|
+
let s = i.get(bn(o.imagePath, o.duotone));
|
|
2824
|
+
if (!s) continue;
|
|
2825
|
+
let g = o.fromCol + 1, _ = o.fromRow + 1, v = kr(r, g, a) + o.fromColOff * a / t, y = Ar(r, _, a) + o.fromRowOff * a / t, b, x;
|
|
2826
|
+
if (o.editAs === "oneCell" && o.nativeExtCx > 0 && o.nativeExtCy > 0) b = o.nativeExtCx * a / t, x = o.nativeExtCy * a / t;
|
|
2763
2827
|
else {
|
|
2764
|
-
let e =
|
|
2765
|
-
|
|
2828
|
+
let e = o.toCol + 1, n = o.toRow + 1, i = kr(r, e, a) + o.toColOff * a / t, s = Ar(r, n, a) + o.toRowOff * a / t;
|
|
2829
|
+
b = i - v, x = s - y;
|
|
2766
2830
|
}
|
|
2767
|
-
if (
|
|
2768
|
-
let
|
|
2769
|
-
|
|
2831
|
+
if (b <= 0 || x <= 0) continue;
|
|
2832
|
+
let S = u + (v - m) - c, C = d + (y - h) - l;
|
|
2833
|
+
S + b < u || S > u + f || C + x < d || C > d + p || (o.alpha != null && o.alpha < 1 ? (n.save(), n.globalAlpha = o.alpha, e(n, s, o.srcRect, S, C, b, x), n.restore()) : e(n, s, o.srcRect, S, C, b, x));
|
|
2770
2834
|
}
|
|
2771
|
-
|
|
2835
|
+
n.restore();
|
|
2772
2836
|
}
|
|
2773
|
-
function
|
|
2774
|
-
if (
|
|
2775
|
-
let
|
|
2776
|
-
if (!
|
|
2777
|
-
let
|
|
2778
|
-
e.save(), e.beginPath(), e.rect(
|
|
2779
|
-
for (let
|
|
2780
|
-
let
|
|
2781
|
-
if (
|
|
2837
|
+
function Mr(e, n, r, i, a, o, s, c, l, u, d, f) {
|
|
2838
|
+
if (u <= 0 || d <= 0) return;
|
|
2839
|
+
let p = n.shapeGroups;
|
|
2840
|
+
if (!p || p.length === 0) return;
|
|
2841
|
+
let m = kr(n, a, r), h = Ar(n, i, r);
|
|
2842
|
+
e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
|
|
2843
|
+
for (let i of p) {
|
|
2844
|
+
let a = i.fromCol + 1, p = i.fromRow + 1, g = kr(n, a, r) + i.fromColOff * r / t, _ = Ar(n, p, r) + i.fromRowOff * r / t, v, y;
|
|
2845
|
+
if (i.editAs === "oneCell" && i.nativeExtCx > 0 && i.nativeExtCy > 0) v = i.nativeExtCx * r / t, y = i.nativeExtCy * r / t;
|
|
2782
2846
|
else {
|
|
2783
|
-
let e =
|
|
2784
|
-
|
|
2847
|
+
let e = i.toCol + 1, a = i.toRow + 1, o = kr(n, e, r) + i.toColOff * r / t, s = Ar(n, a, r) + i.toRowOff * r / t;
|
|
2848
|
+
v = o - g, y = s - _;
|
|
2785
2849
|
}
|
|
2786
|
-
if (
|
|
2787
|
-
let
|
|
2788
|
-
if (!(
|
|
2789
|
-
let
|
|
2790
|
-
a <= 0 || o <= 0 ||
|
|
2850
|
+
if (v <= 0 || y <= 0) continue;
|
|
2851
|
+
let b = c + (g - m) - o, x = l + (_ - h) - s;
|
|
2852
|
+
if (!(b + v < c || b > c + u) && !(x + y < l || x > l + d)) for (let t of i.shapes) {
|
|
2853
|
+
let n = b + t.x * v, i = x + t.y * y, a = t.w * v, o = t.h * y;
|
|
2854
|
+
a <= 0 || o <= 0 || Nr(e, t, n, i, a, o, r, f);
|
|
2791
2855
|
}
|
|
2792
2856
|
}
|
|
2793
2857
|
e.restore();
|
|
2794
2858
|
}
|
|
2795
|
-
function
|
|
2796
|
-
if (
|
|
2797
|
-
if (
|
|
2798
|
-
let
|
|
2799
|
-
|
|
2800
|
-
let
|
|
2801
|
-
for (let
|
|
2859
|
+
function Nr(n, r, i, a, o, s, c, l) {
|
|
2860
|
+
if (n.save(), r.rot !== 0 || r.flipH || r.flipV ? (n.translate(i + o / 2, a + s / 2), n.rotate(r.rot * Math.PI / 180), n.scale(r.flipH ? -1 : 1, r.flipV ? -1 : 1), n.translate(-o / 2, -s / 2)) : n.translate(i, a), r.geom.type === "custom") for (let e of r.geom.paths) {
|
|
2861
|
+
if (e.w <= 0 || e.h <= 0) continue;
|
|
2862
|
+
let t = o / e.w, i = s / e.h;
|
|
2863
|
+
n.beginPath();
|
|
2864
|
+
let a = 0, c = 0, l = 0, u = 0;
|
|
2865
|
+
for (let r of e.commands) switch (r.op) {
|
|
2802
2866
|
case "moveTo": {
|
|
2803
|
-
let
|
|
2804
|
-
|
|
2867
|
+
let e = r.x * t, o = r.y * i;
|
|
2868
|
+
n.moveTo(e, o), a = l = e, c = u = o;
|
|
2805
2869
|
break;
|
|
2806
2870
|
}
|
|
2807
2871
|
case "lineTo": {
|
|
2808
|
-
let
|
|
2809
|
-
|
|
2872
|
+
let e = r.x * t, o = r.y * i;
|
|
2873
|
+
n.lineTo(e, o), a = e, c = o;
|
|
2810
2874
|
break;
|
|
2811
2875
|
}
|
|
2812
2876
|
case "cubicBezTo": {
|
|
2813
|
-
let
|
|
2814
|
-
|
|
2877
|
+
let e = r.x3 * t, o = r.y3 * i;
|
|
2878
|
+
n.bezierCurveTo(r.x1 * t, r.y1 * i, r.x2 * t, r.y2 * i, e, o), a = e, c = o;
|
|
2815
2879
|
break;
|
|
2816
2880
|
}
|
|
2817
2881
|
case "quadBezTo": {
|
|
2818
|
-
let
|
|
2819
|
-
|
|
2882
|
+
let e = r.x2 * t, o = r.y2 * i;
|
|
2883
|
+
n.quadraticCurveTo(r.x1 * t, r.y1 * i, e, o), a = e, c = o;
|
|
2820
2884
|
break;
|
|
2821
2885
|
}
|
|
2822
2886
|
case "arcTo": {
|
|
2823
|
-
let
|
|
2824
|
-
if (
|
|
2825
|
-
let
|
|
2826
|
-
|
|
2887
|
+
let e = r.wr * t, o = r.hr * i;
|
|
2888
|
+
if (e <= 0 || o <= 0) break;
|
|
2889
|
+
let s = r.stAng / 6e4 * (Math.PI / 180), l = r.swAng / 6e4 * (Math.PI / 180), u = a - Math.cos(s) * e, d = c - Math.sin(s) * o, f = s + l;
|
|
2890
|
+
n.ellipse(u, d, e, o, 0, s, f, l < 0), a = u + Math.cos(f) * e, c = d + Math.sin(f) * o;
|
|
2827
2891
|
break;
|
|
2828
2892
|
}
|
|
2829
2893
|
case "close":
|
|
2830
|
-
|
|
2894
|
+
n.closePath(), a = l, c = u;
|
|
2831
2895
|
break;
|
|
2832
2896
|
}
|
|
2833
|
-
|
|
2897
|
+
Ur(n, r);
|
|
2834
2898
|
}
|
|
2835
|
-
else if (
|
|
2836
|
-
let
|
|
2837
|
-
|
|
2899
|
+
else if (r.geom.type === "preset") {
|
|
2900
|
+
let e = r.fillColor ?? null, i = r.strokeColor && r.strokeWidth > 0 ? () => {
|
|
2901
|
+
n.strokeStyle = r.strokeColor, n.lineWidth = Math.max(.5, r.strokeWidth / t), n.stroke();
|
|
2838
2902
|
} : null;
|
|
2839
|
-
|
|
2840
|
-
} else if (
|
|
2841
|
-
let
|
|
2842
|
-
if (
|
|
2843
|
-
let
|
|
2844
|
-
|
|
2903
|
+
K(n, r.geom.name, 0, 0, o, s, r.geom.adj ?? [], e, i, () => {}) || (n.beginPath(), n.rect(0, 0, o, s), Ur(n, r));
|
|
2904
|
+
} else if (r.geom.type === "image") {
|
|
2905
|
+
let t = l?.get(bn(r.geom.imagePath, r.geom.duotone));
|
|
2906
|
+
if (t) {
|
|
2907
|
+
let i = r.geom.alpha;
|
|
2908
|
+
i != null && i < 1 ? (n.save(), n.globalAlpha = i, e(n, t, r.geom.srcRect, 0, 0, o, s), n.restore()) : e(n, t, r.geom.srcRect, 0, 0, o, s);
|
|
2845
2909
|
}
|
|
2846
2910
|
}
|
|
2847
|
-
|
|
2911
|
+
r.text && Hr(n, r.text, o, s, c), n.restore();
|
|
2848
2912
|
}
|
|
2849
|
-
var
|
|
2850
|
-
function
|
|
2913
|
+
var Pr = /* @__PURE__ */ new WeakMap();
|
|
2914
|
+
function Fr(e, t) {
|
|
2851
2915
|
let n = e.tinted.get(t);
|
|
2852
2916
|
if (n) return n;
|
|
2853
2917
|
let r = e.img.naturalWidth || 1, i = e.img.naturalHeight || 1, a = document.createElement("canvas");
|
|
@@ -2855,18 +2919,18 @@ function yr(e, t) {
|
|
|
2855
2919
|
let o = a.getContext("2d");
|
|
2856
2920
|
return o ? (o.drawImage(e.img, 0, 0, r, i), o.globalCompositeOperation = "source-in", o.fillStyle = t, o.fillRect(0, 0, r, i), e.tinted.set(t, a), a) : e.img;
|
|
2857
2921
|
}
|
|
2858
|
-
function
|
|
2922
|
+
function Ir(e) {
|
|
2859
2923
|
let t = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`, n = new Image();
|
|
2860
2924
|
return new Promise((e, r) => {
|
|
2861
2925
|
n.onload = () => e(n), n.onerror = r, n.src = t;
|
|
2862
2926
|
});
|
|
2863
2927
|
}
|
|
2864
|
-
var
|
|
2865
|
-
function
|
|
2866
|
-
let r = Math.max(1, Math.round(t *
|
|
2928
|
+
var Lr = 256;
|
|
2929
|
+
function Rr(e, t, n) {
|
|
2930
|
+
let r = Math.max(1, Math.round(t * Lr)), i = Math.max(1, Math.round(n * Lr));
|
|
2867
2931
|
return e.replace(/<svg([^>]*?)>/, (e, t) => `<svg${t.replace(/\s(?:width|height)="[^"]*"/g, "")} width="${r}" height="${i}">`);
|
|
2868
2932
|
}
|
|
2869
|
-
function
|
|
2933
|
+
function zr(e) {
|
|
2870
2934
|
let t = [];
|
|
2871
2935
|
for (let n of e.shapeGroups ?? []) for (let e of n.shapes) for (let n of e.text?.paragraphs ?? []) for (let e of n.runs) e.type === "math" && t.push({
|
|
2872
2936
|
nodes: e.nodes,
|
|
@@ -2874,182 +2938,182 @@ function Cr(e) {
|
|
|
2874
2938
|
});
|
|
2875
2939
|
return t;
|
|
2876
2940
|
}
|
|
2877
|
-
function
|
|
2878
|
-
for (let t of e.shapeGroups ?? []) for (let e of t.shapes) for (let t of e.text?.paragraphs ?? []) for (let e of t.runs) if (e.type === "math" && !
|
|
2941
|
+
function Br(e) {
|
|
2942
|
+
for (let t of e.shapeGroups ?? []) for (let e of t.shapes) for (let t of e.text?.paragraphs ?? []) for (let e of t.runs) if (e.type === "math" && !Pr.has(e.nodes)) return !0;
|
|
2879
2943
|
return !1;
|
|
2880
2944
|
}
|
|
2881
|
-
async function
|
|
2882
|
-
let
|
|
2883
|
-
if (
|
|
2884
|
-
await
|
|
2885
|
-
for (let
|
|
2886
|
-
let
|
|
2887
|
-
|
|
2888
|
-
img:
|
|
2889
|
-
widthEm:
|
|
2890
|
-
ascentEm:
|
|
2891
|
-
descentEm:
|
|
2945
|
+
async function Vr(e, t) {
|
|
2946
|
+
let n = zr(e).filter((e) => !Pr.has(e.nodes));
|
|
2947
|
+
if (n.length !== 0) {
|
|
2948
|
+
await t.loadMathJax();
|
|
2949
|
+
for (let e of n) if (!Pr.has(e.nodes)) try {
|
|
2950
|
+
let n = await t.mathMLToSvg(de(e.nodes, e.display)), r = await Ir(Rr(Ee(n.svg, "#000000"), n.widthEm, n.ascentEm + n.descentEm));
|
|
2951
|
+
Pr.set(e.nodes, {
|
|
2952
|
+
img: r,
|
|
2953
|
+
widthEm: n.widthEm,
|
|
2954
|
+
ascentEm: n.ascentEm,
|
|
2955
|
+
descentEm: n.descentEm,
|
|
2892
2956
|
tinted: /* @__PURE__ */ new Map()
|
|
2893
2957
|
});
|
|
2894
2958
|
} catch {}
|
|
2895
2959
|
}
|
|
2896
2960
|
}
|
|
2897
|
-
function
|
|
2898
|
-
if (
|
|
2899
|
-
let
|
|
2900
|
-
if (
|
|
2901
|
-
let
|
|
2902
|
-
let t = (e.size > 0 ? e.size :
|
|
2961
|
+
function Hr(e, n, r, i, a) {
|
|
2962
|
+
if (r <= 0 || i <= 0 || n.paragraphs.length === 0) return;
|
|
2963
|
+
let o = n.lIns / t * a, s = n.rIns / t * a, c = n.tIns / t * a, l = n.bIns / t * a, u = Math.max(0, r - o - s), d = Math.max(0, i - c - l);
|
|
2964
|
+
if (u <= 0 || d <= 0) return;
|
|
2965
|
+
let f = (e) => {
|
|
2966
|
+
let t = (e.size > 0 ? e.size : On) * G * a, n = Dn(e.fontFace);
|
|
2903
2967
|
return {
|
|
2904
2968
|
font: `${e.italic ? "italic " : ""}${e.bold ? "bold " : ""}${t}px ${n}`,
|
|
2905
2969
|
px: t
|
|
2906
2970
|
};
|
|
2907
|
-
},
|
|
2971
|
+
}, p = (t, n) => {
|
|
2908
2972
|
let r = e.font;
|
|
2909
2973
|
e.font = t;
|
|
2910
2974
|
let i = e.measureText("M").actualBoundingBoxAscent;
|
|
2911
2975
|
return e.font = r, i > 0 ? i : n * .85;
|
|
2912
|
-
},
|
|
2913
|
-
for (let
|
|
2914
|
-
let
|
|
2915
|
-
let
|
|
2916
|
-
return
|
|
2976
|
+
}, m = n.wrap !== "none", h = [];
|
|
2977
|
+
for (let r of n.paragraphs) {
|
|
2978
|
+
let i = r.align || "l", o = (r.marL ?? 0) / t * a, s = (r.marR ?? 0) / t * a, c = (r.indent ?? 0) / t * a, l = Math.max(0, c), d = Math.max(0, u - o - s), g = !1, _ = () => g ? o : o + l, v = () => g ? d : d - l, y = [], b = 0, x = 0, S = 0, C = !1, w = (e) => {
|
|
2979
|
+
let t = e;
|
|
2980
|
+
return r.spaceLine && (r.spaceLine.type === "pct" ? t *= r.spaceLine.val / 1e5 : t = r.spaceLine.val * G * a), n.autoFit === "norm" && n.lnSpcReduction != null && r.spaceLine?.type !== "pts" && (t *= 1 - n.lnSpcReduction), t;
|
|
2917
2981
|
}, T = () => {
|
|
2918
|
-
if (
|
|
2919
|
-
let e = (E ||
|
|
2920
|
-
|
|
2982
|
+
if (x === 0) {
|
|
2983
|
+
let e = (E || On) * G * a, t = Math.max(le(D, e), le(O, e));
|
|
2984
|
+
x = Math.max(e * 1.2, t), S = p(`${e}px ${Dn(D)}`, e);
|
|
2921
2985
|
}
|
|
2922
|
-
|
|
2923
|
-
segs:
|
|
2924
|
-
align:
|
|
2925
|
-
height:
|
|
2926
|
-
ascent:
|
|
2927
|
-
hasMath:
|
|
2928
|
-
leftInset:
|
|
2929
|
-
availW:
|
|
2930
|
-
}),
|
|
2986
|
+
x = w(x), h.push({
|
|
2987
|
+
segs: y,
|
|
2988
|
+
align: i,
|
|
2989
|
+
height: x,
|
|
2990
|
+
ascent: S,
|
|
2991
|
+
hasMath: C,
|
|
2992
|
+
leftInset: _(),
|
|
2993
|
+
availW: v()
|
|
2994
|
+
}), g = !0, y = [], b = 0, x = 0, S = 0, C = !1;
|
|
2931
2995
|
}, E = 0, D, O;
|
|
2932
|
-
for (let t of
|
|
2996
|
+
for (let t of r.runs) {
|
|
2933
2997
|
if (t.type === "break") {
|
|
2934
2998
|
T();
|
|
2935
2999
|
continue;
|
|
2936
3000
|
}
|
|
2937
3001
|
if (t.type === "math") {
|
|
2938
|
-
let e =
|
|
3002
|
+
let e = Pr.get(t.nodes);
|
|
2939
3003
|
if (!e) continue;
|
|
2940
|
-
let n = (t.fontSize ?? (E ||
|
|
3004
|
+
let n = (t.fontSize ?? (E || On)) * G * a, r = e.widthEm * n, s = e.ascentEm * n, c = e.descentEm * n, l = t.color ?? "#000000";
|
|
2941
3005
|
if (t.display) {
|
|
2942
|
-
T(),
|
|
3006
|
+
T(), h.push({
|
|
2943
3007
|
segs: [{
|
|
2944
3008
|
kind: "math",
|
|
2945
3009
|
render: e,
|
|
2946
3010
|
color: l,
|
|
2947
|
-
w:
|
|
3011
|
+
w: r,
|
|
2948
3012
|
ascent: s,
|
|
2949
3013
|
descent: c
|
|
2950
3014
|
}],
|
|
2951
|
-
align:
|
|
2952
|
-
height:
|
|
3015
|
+
align: i,
|
|
3016
|
+
height: w(s + c),
|
|
2953
3017
|
ascent: s,
|
|
2954
3018
|
hasMath: !0,
|
|
2955
|
-
leftInset:
|
|
2956
|
-
availW:
|
|
2957
|
-
}),
|
|
3019
|
+
leftInset: o,
|
|
3020
|
+
availW: d
|
|
3021
|
+
}), g = !0;
|
|
2958
3022
|
continue;
|
|
2959
3023
|
}
|
|
2960
|
-
|
|
3024
|
+
m && b + r > v() && y.length > 0 && T(), y.push({
|
|
2961
3025
|
kind: "math",
|
|
2962
3026
|
render: e,
|
|
2963
3027
|
color: l,
|
|
2964
|
-
w:
|
|
3028
|
+
w: r,
|
|
2965
3029
|
ascent: s,
|
|
2966
3030
|
descent: c
|
|
2967
|
-
}),
|
|
3031
|
+
}), b += r, x = Math.max(x, s + c), S = Math.max(S, s), C = !0;
|
|
2968
3032
|
continue;
|
|
2969
3033
|
}
|
|
2970
|
-
E = t.size > 0 ? t.size :
|
|
2971
|
-
let { font: n, px:
|
|
2972
|
-
|
|
2973
|
-
let
|
|
2974
|
-
for (let t = 0; t <
|
|
3034
|
+
E = t.size > 0 ? t.size : On, D = t.fontFace, O = t.fontFaceEa;
|
|
3035
|
+
let { font: n, px: r } = f(t), s = t.color ?? "#000000", c = Math.max(le(t.fontFace, r), le(t.fontFaceEa, r)), l = Math.max(r * 1.2, c);
|
|
3036
|
+
x = Math.max(x, l), S = Math.max(S, p(n, r)), e.font = n;
|
|
3037
|
+
let u = t.text.split("\n");
|
|
3038
|
+
for (let t = 0; t < u.length; t++) {
|
|
2975
3039
|
t > 0 && T();
|
|
2976
|
-
let
|
|
2977
|
-
if (!
|
|
2978
|
-
if (!
|
|
2979
|
-
let t = e.measureText(
|
|
2980
|
-
|
|
3040
|
+
let i = u[t];
|
|
3041
|
+
if (!i) continue;
|
|
3042
|
+
if (!m) {
|
|
3043
|
+
let t = e.measureText(i).width;
|
|
3044
|
+
y.push({
|
|
2981
3045
|
kind: "text",
|
|
2982
|
-
text:
|
|
3046
|
+
text: i,
|
|
2983
3047
|
font: n,
|
|
2984
3048
|
color: s,
|
|
2985
3049
|
w: t
|
|
2986
|
-
}),
|
|
3050
|
+
}), b += t;
|
|
2987
3051
|
continue;
|
|
2988
3052
|
}
|
|
2989
|
-
let
|
|
2990
|
-
for (let t of
|
|
2991
|
-
let
|
|
2992
|
-
if (
|
|
2993
|
-
if (
|
|
2994
|
-
let t = e.measureText(
|
|
2995
|
-
|
|
3053
|
+
let a = "";
|
|
3054
|
+
for (let t of i) {
|
|
3055
|
+
let i = a + t, o = e.measureText(i).width;
|
|
3056
|
+
if (b + o > v() && (a.length > 0 || y.length > 0)) {
|
|
3057
|
+
if (a) {
|
|
3058
|
+
let t = e.measureText(a).width;
|
|
3059
|
+
y.push({
|
|
2996
3060
|
kind: "text",
|
|
2997
|
-
text:
|
|
3061
|
+
text: a,
|
|
2998
3062
|
font: n,
|
|
2999
3063
|
color: s,
|
|
3000
3064
|
w: t
|
|
3001
|
-
}),
|
|
3065
|
+
}), b += t;
|
|
3002
3066
|
}
|
|
3003
|
-
T(),
|
|
3004
|
-
} else
|
|
3067
|
+
T(), a = t, e.font = n, x = Math.max(x, l), S = Math.max(S, p(n, r));
|
|
3068
|
+
} else a = i;
|
|
3005
3069
|
}
|
|
3006
|
-
if (
|
|
3007
|
-
let t = e.measureText(
|
|
3008
|
-
|
|
3070
|
+
if (a) {
|
|
3071
|
+
let t = e.measureText(a).width;
|
|
3072
|
+
y.push({
|
|
3009
3073
|
kind: "text",
|
|
3010
|
-
text:
|
|
3074
|
+
text: a,
|
|
3011
3075
|
font: n,
|
|
3012
3076
|
color: s,
|
|
3013
3077
|
w: t
|
|
3014
|
-
}),
|
|
3078
|
+
}), b += t;
|
|
3015
3079
|
}
|
|
3016
3080
|
}
|
|
3017
3081
|
}
|
|
3018
3082
|
T();
|
|
3019
3083
|
}
|
|
3020
|
-
let
|
|
3021
|
-
|
|
3022
|
-
let
|
|
3023
|
-
for (let t of
|
|
3024
|
-
let n = t.segs.reduce((e, t) => e + t.w, 0), r =
|
|
3084
|
+
let g = h.reduce((e, t) => e + t.height, 0), _ = c;
|
|
3085
|
+
n.anchor === "ctr" ? _ = c + (d - g) / 2 : n.anchor === "b" && (_ = c + Math.max(0, d - g));
|
|
3086
|
+
let v = _;
|
|
3087
|
+
for (let t of h) {
|
|
3088
|
+
let n = t.segs.reduce((e, t) => e + t.w, 0), r = o + t.leftInset, i = r;
|
|
3025
3089
|
if (t.align === "ctr" ? i = r + Math.max(0, (t.availW - n) / 2) : t.align === "r" && (i = r + Math.max(0, t.availW - n)), t.hasMath) {
|
|
3026
3090
|
e.textBaseline = "alphabetic";
|
|
3027
|
-
let n =
|
|
3091
|
+
let n = v + t.ascent;
|
|
3028
3092
|
for (let r of t.segs) {
|
|
3029
3093
|
if (r.kind === "text") e.font = r.font, e.fillStyle = r.color, e.fillText(r.text, i, n);
|
|
3030
3094
|
else {
|
|
3031
|
-
let t =
|
|
3095
|
+
let t = Fr(r.render, r.color);
|
|
3032
3096
|
e.drawImage(t, i, n - r.ascent, r.w, r.ascent + r.descent);
|
|
3033
3097
|
}
|
|
3034
3098
|
i += r.w;
|
|
3035
3099
|
}
|
|
3036
3100
|
} else {
|
|
3037
3101
|
e.textBaseline = "middle";
|
|
3038
|
-
let n =
|
|
3102
|
+
let n = v + t.height / 2;
|
|
3039
3103
|
for (let r of t.segs) r.kind === "text" && (e.font = r.font, e.fillStyle = r.color, e.fillText(r.text, i, n)), i += r.w;
|
|
3040
3104
|
}
|
|
3041
|
-
|
|
3105
|
+
v += t.height;
|
|
3042
3106
|
}
|
|
3043
3107
|
}
|
|
3044
|
-
function
|
|
3045
|
-
|
|
3108
|
+
function Ur(e, n) {
|
|
3109
|
+
n.fillColor && (e.fillStyle = n.fillColor, e.fill()), n.strokeColor && n.strokeWidth > 0 && (e.strokeStyle = n.strokeColor, e.lineWidth = Math.max(.5, n.strokeWidth / t), e.stroke());
|
|
3046
3110
|
}
|
|
3047
|
-
function
|
|
3111
|
+
function Wr(e, t, n, r, i, a, o) {
|
|
3048
3112
|
if (r === n && i === t) return e;
|
|
3049
3113
|
let s = (e, r) => {
|
|
3050
3114
|
if (e === t && r === n) return null;
|
|
3051
3115
|
let i = a.get(`${e}:${r}`);
|
|
3052
|
-
return i ?
|
|
3116
|
+
return i ? $n(o, i.styleIndex ?? 0).border : null;
|
|
3053
3117
|
}, c = s(t, r), l = s(i, n), u = s(i, r), d = (e, ...t) => {
|
|
3054
3118
|
if (e?.style) return e;
|
|
3055
3119
|
for (let e of t) if (e?.style) return e;
|
|
@@ -3064,7 +3128,7 @@ function Or(e, t, n, r, i, a, o) {
|
|
|
3064
3128
|
diagonalDown: e.diagonalDown ?? null
|
|
3065
3129
|
};
|
|
3066
3130
|
}
|
|
3067
|
-
function
|
|
3131
|
+
function Gr(e, t) {
|
|
3068
3132
|
if (!t) return e;
|
|
3069
3133
|
let n = (e, t) => t && t.style ? t : e ?? null;
|
|
3070
3134
|
return {
|
|
@@ -3076,87 +3140,87 @@ function kr(e, t) {
|
|
|
3076
3140
|
diagonalDown: n(e.diagonalDown, t.diagonalDown)
|
|
3077
3141
|
};
|
|
3078
3142
|
}
|
|
3079
|
-
function
|
|
3080
|
-
let
|
|
3143
|
+
function Kr(e, t, n, r, i, a, o = 1) {
|
|
3144
|
+
let s = [
|
|
3081
3145
|
{
|
|
3082
3146
|
edge: t.top,
|
|
3083
3147
|
x1: n,
|
|
3084
|
-
y1:
|
|
3085
|
-
x2: n +
|
|
3086
|
-
y2:
|
|
3148
|
+
y1: r,
|
|
3149
|
+
x2: n + i,
|
|
3150
|
+
y2: r,
|
|
3087
3151
|
kind: "h"
|
|
3088
3152
|
},
|
|
3089
3153
|
{
|
|
3090
3154
|
edge: t.bottom,
|
|
3091
3155
|
x1: n,
|
|
3092
|
-
y1:
|
|
3093
|
-
x2: n +
|
|
3094
|
-
y2:
|
|
3156
|
+
y1: r + a,
|
|
3157
|
+
x2: n + i,
|
|
3158
|
+
y2: r + a,
|
|
3095
3159
|
kind: "h"
|
|
3096
3160
|
},
|
|
3097
3161
|
{
|
|
3098
3162
|
edge: t.left,
|
|
3099
3163
|
x1: n,
|
|
3100
|
-
y1:
|
|
3164
|
+
y1: r,
|
|
3101
3165
|
x2: n,
|
|
3102
|
-
y2:
|
|
3166
|
+
y2: r + a,
|
|
3103
3167
|
kind: "v"
|
|
3104
3168
|
},
|
|
3105
3169
|
{
|
|
3106
3170
|
edge: t.right,
|
|
3107
|
-
x1: n +
|
|
3108
|
-
y1:
|
|
3109
|
-
x2: n +
|
|
3110
|
-
y2:
|
|
3171
|
+
x1: n + i,
|
|
3172
|
+
y1: r,
|
|
3173
|
+
x2: n + i,
|
|
3174
|
+
y2: r + a,
|
|
3111
3175
|
kind: "v"
|
|
3112
3176
|
},
|
|
3113
3177
|
{
|
|
3114
3178
|
edge: t.diagonalUp,
|
|
3115
3179
|
x1: n,
|
|
3116
|
-
y1:
|
|
3117
|
-
x2: n +
|
|
3118
|
-
y2:
|
|
3180
|
+
y1: r + a,
|
|
3181
|
+
x2: n + i,
|
|
3182
|
+
y2: r,
|
|
3119
3183
|
kind: "d"
|
|
3120
3184
|
},
|
|
3121
3185
|
{
|
|
3122
3186
|
edge: t.diagonalDown,
|
|
3123
3187
|
x1: n,
|
|
3124
|
-
y1:
|
|
3125
|
-
x2: n +
|
|
3126
|
-
y2:
|
|
3188
|
+
y1: r,
|
|
3189
|
+
x2: n + i,
|
|
3190
|
+
y2: r + a,
|
|
3127
3191
|
kind: "d"
|
|
3128
3192
|
}
|
|
3129
3193
|
];
|
|
3130
|
-
for (let { edge: t, x1:
|
|
3194
|
+
for (let { edge: t, x1: c, y1: l, x2: u, y2: d, kind: f } of s) {
|
|
3131
3195
|
if (!t || !t.style || t.style === "none") continue;
|
|
3132
|
-
let
|
|
3133
|
-
if (t.style === "double" &&
|
|
3134
|
-
e.strokeStyle =
|
|
3135
|
-
let t =
|
|
3136
|
-
e.beginPath(), e.moveTo(
|
|
3196
|
+
let s = t.color ? R(t.color) : "#000000";
|
|
3197
|
+
if (t.style === "double" && f === "d") {
|
|
3198
|
+
e.strokeStyle = s, e.lineWidth = 1, e.setLineDash([]);
|
|
3199
|
+
let t = u - c, n = d - l, r = Math.hypot(t, n), i = -n / r * 1, a = t / r * 1;
|
|
3200
|
+
e.beginPath(), e.moveTo(c + i, l + a), e.lineTo(u + i, d + a), e.moveTo(c - i, l - a), e.lineTo(u - i, d - a), e.stroke();
|
|
3137
3201
|
continue;
|
|
3138
3202
|
}
|
|
3139
|
-
if (t.style === "double" &&
|
|
3140
|
-
if (e.strokeStyle =
|
|
3141
|
-
let t =
|
|
3142
|
-
e.moveTo(n - 1,
|
|
3203
|
+
if (t.style === "double" && f !== "d") {
|
|
3204
|
+
if (e.strokeStyle = s, e.lineWidth = 1, e.setLineDash([]), e.beginPath(), f === "h") {
|
|
3205
|
+
let t = l === r, o = t ? r - 1 : r + a + 1, s = t ? r + 1 : r + a - 1;
|
|
3206
|
+
e.moveTo(n - 1, o), e.lineTo(n + i + 1, o), e.moveTo(n + 1, s), e.lineTo(n + i - 1, s);
|
|
3143
3207
|
} else {
|
|
3144
|
-
let t =
|
|
3145
|
-
e.moveTo(
|
|
3208
|
+
let t = c === n, o = t ? n - 1 : n + i + 1, s = t ? n + 1 : n + i - 1;
|
|
3209
|
+
e.moveTo(o, r - 1), e.lineTo(o, r + a + 1), e.moveTo(s, r + 1), e.lineTo(s, r + a - 1);
|
|
3146
3210
|
}
|
|
3147
3211
|
e.stroke();
|
|
3148
3212
|
continue;
|
|
3149
3213
|
}
|
|
3150
|
-
e.beginPath(), e.strokeStyle =
|
|
3151
|
-
let
|
|
3152
|
-
e.lineWidth =
|
|
3153
|
-
let
|
|
3154
|
-
e.setLineDash(
|
|
3155
|
-
let
|
|
3156
|
-
e.moveTo(
|
|
3214
|
+
e.beginPath(), e.strokeStyle = s;
|
|
3215
|
+
let p = qr(t.style);
|
|
3216
|
+
e.lineWidth = p;
|
|
3217
|
+
let m = Jr(t.style);
|
|
3218
|
+
e.setLineDash(m);
|
|
3219
|
+
let h = f === "v" ? N(c, p, o) : 0, g = f === "h" ? N(l, p, o) : 0;
|
|
3220
|
+
e.moveTo(c + h, l + g), e.lineTo(u + h, d + g), e.stroke(), e.setLineDash([]);
|
|
3157
3221
|
}
|
|
3158
3222
|
}
|
|
3159
|
-
function
|
|
3223
|
+
function qr(e) {
|
|
3160
3224
|
switch (e) {
|
|
3161
3225
|
case "thick": return 3;
|
|
3162
3226
|
case "medium":
|
|
@@ -3168,10 +3232,10 @@ function jr(e) {
|
|
|
3168
3232
|
default: return 1;
|
|
3169
3233
|
}
|
|
3170
3234
|
}
|
|
3171
|
-
function
|
|
3172
|
-
return
|
|
3235
|
+
function Jr(e) {
|
|
3236
|
+
return ge(e);
|
|
3173
3237
|
}
|
|
3174
|
-
function
|
|
3238
|
+
function Yr(e) {
|
|
3175
3239
|
switch (e) {
|
|
3176
3240
|
case "double": return 13;
|
|
3177
3241
|
case "thick": return 12;
|
|
@@ -3189,62 +3253,62 @@ function Nr(e) {
|
|
|
3189
3253
|
default: return 0;
|
|
3190
3254
|
}
|
|
3191
3255
|
}
|
|
3192
|
-
function
|
|
3193
|
-
let n =
|
|
3256
|
+
function Xr(e, t) {
|
|
3257
|
+
let n = Yr(e?.style), r = Yr(t?.style);
|
|
3194
3258
|
return n === 0 && r === 0 ? null : n >= r ? e ?? null : t ?? null;
|
|
3195
3259
|
}
|
|
3196
|
-
function
|
|
3260
|
+
function Zr(e, n, r, i, a, o, s, c, l, u, d) {
|
|
3197
3261
|
if (u <= 0 || d <= 0) return;
|
|
3198
|
-
let f =
|
|
3199
|
-
for (let
|
|
3200
|
-
let
|
|
3262
|
+
let f = kr(n, a, r), p = Ar(n, i, r);
|
|
3263
|
+
for (let i of n.charts) {
|
|
3264
|
+
let a = i.fromCol + 1, m = i.fromRow + 1, h = i.toCol + 1, g = i.toRow + 1, _ = kr(n, a, r) + i.fromColOff * r / t, v = Ar(n, m, r) + i.fromRowOff * r / t, y = kr(n, h, r) + i.toColOff * r / t, b = Ar(n, g, r) + i.toRowOff * r / t, x = y - _, S = b - v;
|
|
3201
3265
|
if (x <= 0 || S <= 0) continue;
|
|
3202
|
-
let C =
|
|
3203
|
-
if (C + x <
|
|
3204
|
-
e.save(), e.beginPath(), e.rect(
|
|
3205
|
-
let
|
|
3206
|
-
|
|
3266
|
+
let C = c + (_ - f) - o, w = l + (v - p) - s;
|
|
3267
|
+
if (C + x < c || C > c + u || w + S < l || w > l + d) continue;
|
|
3268
|
+
e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip();
|
|
3269
|
+
let T = G * r;
|
|
3270
|
+
I(e, i.chart, {
|
|
3207
3271
|
x: C,
|
|
3208
|
-
y:
|
|
3272
|
+
y: w,
|
|
3209
3273
|
w: x,
|
|
3210
3274
|
h: S
|
|
3211
|
-
},
|
|
3275
|
+
}, T), e.restore();
|
|
3212
3276
|
}
|
|
3213
3277
|
}
|
|
3214
|
-
var
|
|
3215
|
-
function
|
|
3216
|
-
if (
|
|
3217
|
-
let
|
|
3218
|
-
if (!
|
|
3219
|
-
let
|
|
3220
|
-
for (let
|
|
3221
|
-
let
|
|
3222
|
-
if (
|
|
3223
|
-
let
|
|
3224
|
-
|
|
3278
|
+
var Qr = "600 12px \"Meiryo UI\", \"Segoe UI\", sans-serif", $r = "11px \"Meiryo UI\", \"Segoe UI\", sans-serif", ei = "#FFFFFF", ti = "#BFBFBF", ni = "#F2F2F2", ri = "#404040", ii = "#FFFFFF", ai = "#000000", oi = "#A5A5A5", si = "#E7E6E6", ci = "#A6A6A6", li = "#C6C6C6";
|
|
3279
|
+
function ui(e, n, r, i, a, o, s, c, l, u, d) {
|
|
3280
|
+
if (u <= 0 || d <= 0) return;
|
|
3281
|
+
let f = n.slicers;
|
|
3282
|
+
if (!f) return;
|
|
3283
|
+
let p = kr(n, a, r), m = Ar(n, i, r);
|
|
3284
|
+
for (let i of f) {
|
|
3285
|
+
let a = i.fromCol + 1, f = i.fromRow + 1, h = i.toCol + 1, g = i.toRow + 1, _ = kr(n, a, r) + i.fromColOff * r / t, v = Ar(n, f, r) + i.fromRowOff * r / t, y = kr(n, h, r) + i.toColOff * r / t, b = Ar(n, g, r) + i.toRowOff * r / t, x = y - _, S = b - v;
|
|
3286
|
+
if (x <= 0 || S <= 0) continue;
|
|
3287
|
+
let C = c + (_ - p) - o, w = l + (v - m) - s;
|
|
3288
|
+
C + x < c || C > c + u || w + S < l || w > l + d || (e.save(), e.beginPath(), e.rect(c, l, u, d), e.clip(), di(e, i.caption, i.items, C, w, x, S, r), e.restore());
|
|
3225
3289
|
}
|
|
3226
3290
|
}
|
|
3227
|
-
function
|
|
3228
|
-
e.fillStyle =
|
|
3291
|
+
function di(e, t, n, r, i, a, o, s) {
|
|
3292
|
+
e.fillStyle = ei, e.fillRect(r, i, a, o), e.strokeStyle = ti, e.lineWidth = 1, e.strokeRect(r + .5, i + .5, a - 1, o - 1);
|
|
3229
3293
|
let c = Math.max(20 * s, 14);
|
|
3230
|
-
e.fillStyle =
|
|
3294
|
+
e.fillStyle = ni, e.fillRect(r + 1, i + 1, a - 2, c), e.fillStyle = ri, e.font = fi(Qr, s), e.textBaseline = "middle", e.textAlign = "left";
|
|
3231
3295
|
let l = 6 * s;
|
|
3232
|
-
if (
|
|
3296
|
+
if (pi(e, t, r + l, i + c / 2 + 1, a - 2 * l), n.length === 0) return;
|
|
3233
3297
|
let u = Math.max(1, Math.round(2 * s)), d = 4 * s, f = r + d, p = i + c + d, m = a - 2 * d, h = o - c - 2 * d;
|
|
3234
3298
|
if (m <= 0 || h <= 0) return;
|
|
3235
3299
|
let g = Math.max(18 * s, 16), _ = Math.max(1, Math.floor((h + u) / (g + u))), v = Math.min(n.length, _), y = Math.min(g, (h - u * (v - 1)) / v);
|
|
3236
3300
|
if (y <= 0) return;
|
|
3237
|
-
e.font =
|
|
3301
|
+
e.font = fi($r, s);
|
|
3238
3302
|
let b = 8 * s;
|
|
3239
3303
|
for (let t = 0; t < v; t++) {
|
|
3240
3304
|
let r = n[t], i = p + t * (y + u), a = r.selected;
|
|
3241
|
-
e.fillStyle = a ?
|
|
3305
|
+
e.fillStyle = a ? ii : si, e.fillRect(f, i, m, y), e.strokeStyle = a ? oi : li, e.lineWidth = 1, e.strokeRect(f + .5, i + .5, m - 1, y - 1), e.fillStyle = a ? ai : ci, pi(e, r.name, f + b, i + y / 2 + 1, m - 2 * b);
|
|
3242
3306
|
}
|
|
3243
3307
|
}
|
|
3244
|
-
function
|
|
3308
|
+
function fi(e, t) {
|
|
3245
3309
|
return e.replace(/(\d+(?:\.\d+)?)px/, (e, n) => `${Math.round(Number(n) * t)}px`);
|
|
3246
3310
|
}
|
|
3247
|
-
function
|
|
3311
|
+
function pi(e, t, n, r, i) {
|
|
3248
3312
|
if (i <= 0) return;
|
|
3249
3313
|
let a = t;
|
|
3250
3314
|
if (e.measureText(a).width > i) {
|
|
@@ -3255,92 +3319,80 @@ function Zr(e, t, n, r, i) {
|
|
|
3255
3319
|
}
|
|
3256
3320
|
//#endregion
|
|
3257
3321
|
//#region packages/xlsx/src/render-orchestrator.ts
|
|
3258
|
-
async function
|
|
3259
|
-
let l =
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
svgImagePath: r,
|
|
3267
|
-
srcRect: s
|
|
3322
|
+
async function mi(e, t, n, r, i = 0, a = 0, o = null, s = null, c) {
|
|
3323
|
+
let l = t === "image/svg+xml", u = me(t, o, i, a), d = () => xe(e, t, s, r, {
|
|
3324
|
+
widthPt: u.widthPt,
|
|
3325
|
+
heightPt: u.heightPt,
|
|
3326
|
+
offscreenFactory: c
|
|
3327
|
+
}), f = {
|
|
3328
|
+
svgImagePath: n,
|
|
3329
|
+
srcRect: o
|
|
3268
3330
|
};
|
|
3269
|
-
if (
|
|
3270
|
-
return await
|
|
3331
|
+
if (m(f)) try {
|
|
3332
|
+
return await ae(f.svgImagePath, r);
|
|
3271
3333
|
} catch {
|
|
3272
|
-
return
|
|
3334
|
+
return l ? ae(e, r) : d();
|
|
3273
3335
|
}
|
|
3274
|
-
return
|
|
3336
|
+
return l ? ae(e, r) : d();
|
|
3275
3337
|
}
|
|
3276
|
-
function
|
|
3277
|
-
for (let t of e.values()) t && typeof t.close == "function" && t.close();
|
|
3278
|
-
e.clear();
|
|
3279
|
-
}
|
|
3280
|
-
async function ei(e, t, n, r) {
|
|
3338
|
+
async function hi(e, t, n, r) {
|
|
3281
3339
|
if (!n) return;
|
|
3282
3340
|
let i = n, a = /* @__PURE__ */ new Map();
|
|
3283
|
-
if (e.images) for (let
|
|
3284
|
-
|
|
3285
|
-
t.
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
svgImagePath: e.geom.svgImagePath,
|
|
3302
|
-
widthPt: n.nativeExtCx > 0 ? n.nativeExtCx * e.w / H : 0,
|
|
3303
|
-
heightPt: n.nativeExtCy > 0 ? n.nativeExtCy * e.h / H : 0,
|
|
3304
|
-
srcRect: e.geom.srcRect ?? null,
|
|
3305
|
-
duotone: e.geom.duotone ?? null
|
|
3306
|
-
});
|
|
3307
|
-
}
|
|
3308
|
-
}
|
|
3341
|
+
if (e.images) for (let t of e.images) a.set(bn(t.imagePath, t.duotone), {
|
|
3342
|
+
imagePath: t.imagePath,
|
|
3343
|
+
mimeType: t.mimeType,
|
|
3344
|
+
svgImagePath: t.svgImagePath,
|
|
3345
|
+
widthPt: t.nativeExtCx > 0 ? t.nativeExtCx / re : 0,
|
|
3346
|
+
heightPt: t.nativeExtCy > 0 ? t.nativeExtCy / re : 0,
|
|
3347
|
+
srcRect: t.srcRect ?? null,
|
|
3348
|
+
duotone: t.duotone ?? null
|
|
3349
|
+
});
|
|
3350
|
+
if (e.shapeGroups) for (let t of e.shapeGroups) for (let e of t.shapes) e.geom.type === "image" && a.set(bn(e.geom.imagePath, e.geom.duotone), {
|
|
3351
|
+
imagePath: e.geom.imagePath,
|
|
3352
|
+
mimeType: e.geom.mimeType,
|
|
3353
|
+
svgImagePath: e.geom.svgImagePath,
|
|
3354
|
+
widthPt: t.nativeExtCx > 0 ? t.nativeExtCx * e.w / re : 0,
|
|
3355
|
+
heightPt: t.nativeExtCy > 0 ? t.nativeExtCy * e.h / re : 0,
|
|
3356
|
+
srcRect: e.geom.srcRect ?? null,
|
|
3357
|
+
duotone: e.geom.duotone ?? null
|
|
3358
|
+
});
|
|
3309
3359
|
a.size !== 0 && await Promise.all([...a.entries()].map(async ([e, n]) => {
|
|
3310
3360
|
try {
|
|
3311
|
-
let a = await
|
|
3312
|
-
if (a && n.duotone) {
|
|
3313
|
-
let { w: e, h: t } = s(a);
|
|
3314
|
-
e > 0 && t > 0 && (a = await d(a, n.duotone, {
|
|
3315
|
-
width: e,
|
|
3316
|
-
height: t,
|
|
3317
|
-
offscreenFactory: r?.offscreenFactory
|
|
3318
|
-
}));
|
|
3319
|
-
}
|
|
3361
|
+
let a = await mi(n.imagePath, n.mimeType, n.svgImagePath, i, n.widthPt, n.heightPt, n.srcRect, n.duotone, r?.offscreenFactory);
|
|
3320
3362
|
t.set(e, a);
|
|
3321
|
-
} catch {
|
|
3363
|
+
} catch {
|
|
3364
|
+
t.delete(e);
|
|
3365
|
+
}
|
|
3322
3366
|
}));
|
|
3323
3367
|
}
|
|
3324
|
-
async function
|
|
3325
|
-
let
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3368
|
+
async function gi(e, t, n, r = {}) {
|
|
3369
|
+
let i = r.fetchImage ? ce(r.fetchImage) : void 0;
|
|
3370
|
+
try {
|
|
3371
|
+
await _i(e, t, n, r);
|
|
3372
|
+
} finally {
|
|
3373
|
+
i?.();
|
|
3374
|
+
}
|
|
3375
|
+
}
|
|
3376
|
+
async function _i(e, t, n, r = {}) {
|
|
3377
|
+
let { ws: i, styles: a, imageCache: o } = e;
|
|
3378
|
+
await hi(i, o, r.fetchImage), e.math && Br(i) && await Vr(i, e.math);
|
|
3379
|
+
let s = r.dpr ?? l(), c = g(t) ? t.clientWidth || 800 : t.width, u = g(t) ? t.clientHeight || 600 : t.height, d = r.width ?? c, f = r.height ?? u, p = A(d * s, f * s), m = p.clamped ? s * p.scale : s, h = p.width, _ = p.height;
|
|
3380
|
+
if (t.width !== h && (t.width = h), t.height !== _ && (t.height = _), g(t)) {
|
|
3381
|
+
let e = `${d}px`, n = `${f}px`;
|
|
3330
3382
|
t.style.width !== e && (t.style.width = e), t.style.height !== n && (t.style.height = n);
|
|
3331
3383
|
}
|
|
3332
3384
|
let v = t.getContext("2d");
|
|
3333
|
-
if (v.setTransform(
|
|
3334
|
-
|
|
3385
|
+
if (v.setTransform(m, 0, 0, m, 0, 0), i.parseError) {
|
|
3386
|
+
vi(v, d, f, i.name, i.parseError);
|
|
3335
3387
|
return;
|
|
3336
3388
|
}
|
|
3337
|
-
|
|
3389
|
+
Dr(v, i, a, n, {
|
|
3338
3390
|
...r,
|
|
3339
|
-
dpr:
|
|
3340
|
-
loadedImages:
|
|
3391
|
+
dpr: m,
|
|
3392
|
+
loadedImages: o
|
|
3341
3393
|
});
|
|
3342
3394
|
}
|
|
3343
|
-
function
|
|
3395
|
+
function vi(e, t, n, r, i) {
|
|
3344
3396
|
e.save(), e.fillStyle = "#f7f7f8", e.fillRect(0, 0, t, n);
|
|
3345
3397
|
let a = t / 2, o = Math.min(t, n), s = Math.max(20, o * .1);
|
|
3346
3398
|
e.fillStyle = "#b23b3b", e.textAlign = "center", e.textBaseline = "middle", e.font = `${s}px sans-serif`, e.fillText("⚠", a, n * .32);
|
|
@@ -3360,23 +3412,23 @@ function ni(e, t, n, r, i) {
|
|
|
3360
3412
|
}
|
|
3361
3413
|
//#endregion
|
|
3362
3414
|
//#region packages/xlsx/src/google-fonts.ts
|
|
3363
|
-
var
|
|
3364
|
-
...
|
|
3415
|
+
var yi = {
|
|
3416
|
+
...r,
|
|
3365
3417
|
...E
|
|
3366
3418
|
};
|
|
3367
|
-
function*
|
|
3419
|
+
function* bi(e) {
|
|
3368
3420
|
for (let t of e?.sharedStrings ?? []) if (t.runs && t.runs.length > 0) for (let e of t.runs) yield e.text;
|
|
3369
3421
|
else yield t.text;
|
|
3370
3422
|
}
|
|
3371
|
-
function
|
|
3423
|
+
function xi(e) {
|
|
3372
3424
|
let t = /* @__PURE__ */ new Set(), n = null;
|
|
3373
|
-
for (let r of e?.styles?.fonts ?? []) r.name && (t.add(r.name), n ??=
|
|
3374
|
-
for (let r of
|
|
3425
|
+
for (let r of e?.styles?.fonts ?? []) r.name && (t.add(r.name), n ??= p(r.name));
|
|
3426
|
+
for (let r of be(bi(e), n)) t.add(r);
|
|
3375
3427
|
return t;
|
|
3376
3428
|
}
|
|
3377
3429
|
//#endregion
|
|
3378
3430
|
//#region packages/xlsx/src/shared-strings.ts
|
|
3379
|
-
function
|
|
3431
|
+
function Si(e, t) {
|
|
3380
3432
|
for (let n of e.rows) for (let e of n.cells) {
|
|
3381
3433
|
let n = e.value;
|
|
3382
3434
|
if (n.type === "shared") {
|
|
@@ -3395,7 +3447,7 @@ function oi(e, t) {
|
|
|
3395
3447
|
}
|
|
3396
3448
|
return e;
|
|
3397
3449
|
}
|
|
3398
|
-
function
|
|
3450
|
+
function Ci(e) {
|
|
3399
3451
|
let t = (e ?? "").trim();
|
|
3400
3452
|
if (!t) return {
|
|
3401
3453
|
kind: "unresolved",
|
|
@@ -3410,9 +3462,9 @@ function si(e) {
|
|
|
3410
3462
|
let e = t.slice(0, i);
|
|
3411
3463
|
e.startsWith("'") && e.endsWith("'") && e.length >= 2 && (e = e.slice(1, -1).replace(/''/g, "'")), n = e, r = t.slice(i + 1);
|
|
3412
3464
|
}
|
|
3413
|
-
let [a, o] = r.split(":"), s =
|
|
3465
|
+
let [a, o] = r.split(":"), s = _n(a ?? "");
|
|
3414
3466
|
if (s) {
|
|
3415
|
-
let e = o ?
|
|
3467
|
+
let e = o ? _n(o) : s;
|
|
3416
3468
|
if (e) {
|
|
3417
3469
|
let t = {
|
|
3418
3470
|
row: Math.min(s.row, e.row),
|
|
@@ -3434,7 +3486,7 @@ function si(e) {
|
|
|
3434
3486
|
formula: t
|
|
3435
3487
|
};
|
|
3436
3488
|
}
|
|
3437
|
-
function
|
|
3489
|
+
function wi(e, t) {
|
|
3438
3490
|
if (e.kind === "inline") return {
|
|
3439
3491
|
kind: "values",
|
|
3440
3492
|
values: e.values
|
|
@@ -3453,7 +3505,7 @@ function ci(e, t) {
|
|
|
3453
3505
|
values: n
|
|
3454
3506
|
};
|
|
3455
3507
|
}
|
|
3456
|
-
function
|
|
3508
|
+
function Ti(e) {
|
|
3457
3509
|
let { cell: t, panel: n, viewport: r, rtl: i } = e, a = t.y + t.h + 2, o = t.y - 2 - n.h, s;
|
|
3458
3510
|
s = a + n.h <= r.h ? a : o >= 0 ? o : a, s = Math.max(0, Math.min(s, r.h - n.h));
|
|
3459
3511
|
let c = i ? t.x + t.w - n.w : t.x;
|
|
@@ -3464,7 +3516,7 @@ function li(e) {
|
|
|
3464
3516
|
}
|
|
3465
3517
|
//#endregion
|
|
3466
3518
|
//#region packages/xlsx/src/workbook.ts
|
|
3467
|
-
var
|
|
3519
|
+
var Ei = class e {
|
|
3468
3520
|
worker;
|
|
3469
3521
|
bridge;
|
|
3470
3522
|
parsedWorkbook = null;
|
|
@@ -3478,11 +3530,11 @@ var ui = class e {
|
|
|
3478
3530
|
googleFontFaces = [];
|
|
3479
3531
|
_mode = "main";
|
|
3480
3532
|
constructor(e, t, n) {
|
|
3481
|
-
this.worker = e, this._mode = t, this.bridge = new
|
|
3533
|
+
this.worker = e, this._mode = t, this.bridge = new u(this.worker, {
|
|
3482
3534
|
correlate: (e) => e.id,
|
|
3483
3535
|
toError: (e) => e.type === "error" ? e.message : void 0
|
|
3484
3536
|
});
|
|
3485
|
-
let r = new URL(n ??
|
|
3537
|
+
let r = new URL(n ?? Fe, location.href).href;
|
|
3486
3538
|
this.bridge.post({
|
|
3487
3539
|
type: "init",
|
|
3488
3540
|
wasmUrl: r
|
|
@@ -3497,8 +3549,8 @@ var ui = class e {
|
|
|
3497
3549
|
if (!e.ok) throw Error(`Failed to fetch: ${e.status} ${e.statusText}`);
|
|
3498
3550
|
i = await e.arrayBuffer();
|
|
3499
3551
|
} else i = t;
|
|
3500
|
-
i =
|
|
3501
|
-
let a = new e(r === "worker" ? (await import("./render-worker-host-
|
|
3552
|
+
i = h(await fe(i, n.password));
|
|
3553
|
+
let a = new e(r === "worker" ? (await import("./render-worker-host-CJc3E4ej.js")).createRenderWorker() : new Pe(), r, n.wasmUrl);
|
|
3502
3554
|
return await a._load(i, n), a;
|
|
3503
3555
|
}
|
|
3504
3556
|
async _load(e, t = {}) {
|
|
@@ -3521,7 +3573,7 @@ var ui = class e {
|
|
|
3521
3573
|
this.parsedWorkbook = JSON.parse(new TextDecoder().decode(new Uint8Array(e)));
|
|
3522
3574
|
}
|
|
3523
3575
|
let r = this.parsedWorkbook?.workbook.parseError;
|
|
3524
|
-
r && console.warn(`[ooxml] xlsx opened with a degraded part: ${r}`), this._mode === "main" && t.useGoogleFonts && (this.googleFontFaces = await
|
|
3576
|
+
r && console.warn(`[ooxml] xlsx opened with a degraded part: ${r}`), this._mode === "main" && t.useGoogleFonts && (this.googleFontFaces = await d(xi(this.parsedWorkbook), yi));
|
|
3525
3577
|
}
|
|
3526
3578
|
get sheetNames() {
|
|
3527
3579
|
return this.parsedWorkbook?.workbook.sheets.map((e) => e.name) ?? [];
|
|
@@ -3533,7 +3585,7 @@ var ui = class e {
|
|
|
3533
3585
|
return this.parsedWorkbook?.workbook.sheets.map((e) => e.tabColor ?? null) ?? [];
|
|
3534
3586
|
}
|
|
3535
3587
|
sheetVisibility(e) {
|
|
3536
|
-
return
|
|
3588
|
+
return Ie(this.parsedWorkbook?.workbook.sheets ?? [], e);
|
|
3537
3589
|
}
|
|
3538
3590
|
isHidden(e) {
|
|
3539
3591
|
return this.sheetVisibility(e) !== "visible";
|
|
@@ -3556,7 +3608,7 @@ var ui = class e {
|
|
|
3556
3608
|
let { worksheetJson: e } = r;
|
|
3557
3609
|
i = JSON.parse(new TextDecoder().decode(new Uint8Array(e)));
|
|
3558
3610
|
}
|
|
3559
|
-
return
|
|
3611
|
+
return Si(i, this.parsedWorkbook.sharedStrings), this.sheetCache.set(e, i), i;
|
|
3560
3612
|
}
|
|
3561
3613
|
async getImage(e, t) {
|
|
3562
3614
|
let n = this.imageBlobCache.get(e);
|
|
@@ -3579,8 +3631,8 @@ var ui = class e {
|
|
|
3579
3631
|
}
|
|
3580
3632
|
async resolveValidationList(e, t) {
|
|
3581
3633
|
if (!this.parsedWorkbook) throw Error("Workbook not loaded");
|
|
3582
|
-
let n =
|
|
3583
|
-
if (n.kind !== "range") return
|
|
3634
|
+
let n = Ci(t);
|
|
3635
|
+
if (n.kind !== "range") return wi(n, () => null);
|
|
3584
3636
|
let r = e;
|
|
3585
3637
|
if (n.sheet) {
|
|
3586
3638
|
let e = this.sheetNames.findIndex((e) => e.toLowerCase() === n.sheet?.toLowerCase());
|
|
@@ -3592,31 +3644,31 @@ var ui = class e {
|
|
|
3592
3644
|
}
|
|
3593
3645
|
let i = await this.getWorksheet(r), a = this.parsedWorkbook.styles, o = /* @__PURE__ */ new Map();
|
|
3594
3646
|
for (let e of i.rows) for (let t of e.cells) o.set(`${t.row}:${t.col}`, t);
|
|
3595
|
-
return
|
|
3647
|
+
return wi(n, (e, t) => {
|
|
3596
3648
|
let n = o.get(`${e}:${t}`);
|
|
3597
|
-
return n ?
|
|
3649
|
+
return n ? bt(n, a, null, i.date1904) : null;
|
|
3598
3650
|
});
|
|
3599
3651
|
}
|
|
3600
3652
|
cellText(e, t) {
|
|
3601
|
-
return this.parsedWorkbook ?
|
|
3653
|
+
return this.parsedWorkbook ? bt(t, this.parsedWorkbook.styles, null, e.date1904) : "";
|
|
3602
3654
|
}
|
|
3603
3655
|
async renderViewport(e, t, n, r = {}) {
|
|
3604
3656
|
if (this._mode === "worker") throw Error("renderViewport(canvas) is unavailable in mode: 'worker'; use renderViewportToBitmap() and paint it via an ImageBitmapRenderingContext");
|
|
3605
3657
|
if (!this.parsedWorkbook) throw Error("Workbook not loaded");
|
|
3606
|
-
return
|
|
3658
|
+
return gi({
|
|
3607
3659
|
ws: this.sheetCache.get(t) ?? await this.getWorksheet(t),
|
|
3608
3660
|
styles: this.parsedWorkbook.styles,
|
|
3609
3661
|
imageCache: this.imageCache,
|
|
3610
3662
|
math: this.math
|
|
3611
3663
|
}, e, n, {
|
|
3612
|
-
|
|
3613
|
-
|
|
3664
|
+
...r,
|
|
3665
|
+
fetchImage: this._fetchImage
|
|
3614
3666
|
});
|
|
3615
3667
|
}
|
|
3616
3668
|
async renderViewportToBitmap(e, t, n) {
|
|
3617
3669
|
let r = {
|
|
3618
3670
|
...n,
|
|
3619
|
-
dpr: n.dpr ??
|
|
3671
|
+
dpr: n.dpr ?? l()
|
|
3620
3672
|
};
|
|
3621
3673
|
if (this._mode === "worker") {
|
|
3622
3674
|
if (!Number.isInteger(e) || e < 0 || e >= this.sheetCount) throw Error(`Sheet index ${e} out of range (count: ${this.sheetCount})`);
|
|
@@ -3632,36 +3684,36 @@ var ui = class e {
|
|
|
3632
3684
|
return await this.renderViewport(i, e, t, r), i.transferToImageBitmap();
|
|
3633
3685
|
}
|
|
3634
3686
|
destroy() {
|
|
3635
|
-
this.bridge.terminate(), this.parsedWorkbook = null, this.sheetCache.clear(), this.googleFontFaces.length > 0 && (
|
|
3687
|
+
this.bridge.terminate(), this.parsedWorkbook = null, this.sheetCache.clear(), this.googleFontFaces.length > 0 && (j(this.googleFontFaces), this.googleFontFaces = []), this.imageCache.clear(), W(this._fetchImage), Se(this._fetchImage), z(this._fetchImage), this.imageBlobCache.clear(), this.rawData = null;
|
|
3636
3688
|
}
|
|
3637
3689
|
};
|
|
3638
3690
|
//#endregion
|
|
3639
3691
|
//#region packages/xlsx/src/data-validation.ts
|
|
3640
|
-
function
|
|
3692
|
+
function Di(e, t, n) {
|
|
3641
3693
|
if (!e) return !1;
|
|
3642
3694
|
for (let r of e.split(/\s+/)) {
|
|
3643
3695
|
if (!r) continue;
|
|
3644
|
-
let [e, i] = r.split(":"), a =
|
|
3696
|
+
let [e, i] = r.split(":"), a = _n(e);
|
|
3645
3697
|
if (!a) continue;
|
|
3646
3698
|
if (!i) {
|
|
3647
3699
|
if (a.row === t && a.col === n) return !0;
|
|
3648
3700
|
continue;
|
|
3649
3701
|
}
|
|
3650
|
-
let o =
|
|
3702
|
+
let o = _n(i);
|
|
3651
3703
|
if (!o) continue;
|
|
3652
3704
|
let s = Math.min(a.row, o.row), c = Math.max(a.row, o.row), l = Math.min(a.col, o.col), u = Math.max(a.col, o.col);
|
|
3653
3705
|
if (t >= s && t <= c && n >= l && n <= u) return !0;
|
|
3654
3706
|
}
|
|
3655
3707
|
return !1;
|
|
3656
3708
|
}
|
|
3657
|
-
function
|
|
3709
|
+
function Oi(e, t, n) {
|
|
3658
3710
|
if (!e) return null;
|
|
3659
|
-
for (let r of e) if (r.validationType === "list" &&
|
|
3711
|
+
for (let r of e) if (r.validationType === "list" && Di(r.sqref, t, n)) return r;
|
|
3660
3712
|
return null;
|
|
3661
3713
|
}
|
|
3662
3714
|
//#endregion
|
|
3663
3715
|
//#region packages/xlsx/src/find.ts
|
|
3664
|
-
var
|
|
3716
|
+
var ki = class {
|
|
3665
3717
|
_matches = [];
|
|
3666
3718
|
_active = -1;
|
|
3667
3719
|
constructor(e, t, n) {
|
|
@@ -3690,7 +3742,7 @@ var pi = class {
|
|
|
3690
3742
|
return t ? {
|
|
3691
3743
|
sheet: t.sheet,
|
|
3692
3744
|
sheetName: t.sheetName,
|
|
3693
|
-
ref:
|
|
3745
|
+
ref: vn(t.row, t.col),
|
|
3694
3746
|
row: t.row,
|
|
3695
3747
|
col: t.col
|
|
3696
3748
|
} : null;
|
|
@@ -3711,7 +3763,7 @@ var pi = class {
|
|
|
3711
3763
|
for (let r = 0; r < n; r++) {
|
|
3712
3764
|
let n = await this._collectSheetCells(r), i = this._sheetName(r);
|
|
3713
3765
|
for (let a of n) {
|
|
3714
|
-
let n =
|
|
3766
|
+
let n = te(q([{ text: a.text }]), e, t);
|
|
3715
3767
|
for (let e of n) {
|
|
3716
3768
|
let t = e.slices[0], n = a.text.slice(t.start, t.end);
|
|
3717
3769
|
this._matches.push({
|
|
@@ -3727,10 +3779,10 @@ var pi = class {
|
|
|
3727
3779
|
return this.matches();
|
|
3728
3780
|
}
|
|
3729
3781
|
next() {
|
|
3730
|
-
return this._active =
|
|
3782
|
+
return this._active = pe(this._active, this._matches.length), this._activePublic();
|
|
3731
3783
|
}
|
|
3732
3784
|
prev() {
|
|
3733
|
-
return this._active =
|
|
3785
|
+
return this._active = se(this._active, this._matches.length), this._activePublic();
|
|
3734
3786
|
}
|
|
3735
3787
|
_activePublic() {
|
|
3736
3788
|
let e = this._locationAt(this._active);
|
|
@@ -3741,7 +3793,7 @@ var pi = class {
|
|
|
3741
3793
|
} : null;
|
|
3742
3794
|
}
|
|
3743
3795
|
};
|
|
3744
|
-
function
|
|
3796
|
+
function Ai(e) {
|
|
3745
3797
|
let { cell: t, popup: n, viewport: r, rtl: i } = e, a = t.x + t.w + 8, o = t.x - 8 - n.w, s = a + n.w <= r.w, c = o >= 0, l;
|
|
3746
3798
|
l = i ? c ? o : s ? a : o : s ? a : c ? o : a, l = Math.max(0, Math.min(l, r.w - n.w));
|
|
3747
3799
|
let u = t.y;
|
|
@@ -3750,10 +3802,10 @@ function mi(e) {
|
|
|
3750
3802
|
top: u
|
|
3751
3803
|
};
|
|
3752
3804
|
}
|
|
3753
|
-
function
|
|
3805
|
+
function ji(e) {
|
|
3754
3806
|
return e > 0 ? (e + 1) * 19 : 0;
|
|
3755
3807
|
}
|
|
3756
|
-
function
|
|
3808
|
+
function Mi(e, t) {
|
|
3757
3809
|
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = 0, a = 0;
|
|
3758
3810
|
for (let t of e) t.level > 0 && n.set(t.index, t.level), t.collapsed && r.set(t.index, !0), t.index > i && (i = t.index), t.level > a && (a = t.level);
|
|
3759
3811
|
let o = i, s = [];
|
|
@@ -3767,15 +3819,15 @@ function gi(e, t) {
|
|
|
3767
3819
|
for (let i = 1; i <= o + 1; i++) c(i) >= e ? n ? n.end = i : n = {
|
|
3768
3820
|
start: i,
|
|
3769
3821
|
end: i
|
|
3770
|
-
} : n &&= (s.push(
|
|
3771
|
-
n && s.push(
|
|
3822
|
+
} : n &&= (s.push(Ni(e, n, t, r, c)), null);
|
|
3823
|
+
n && s.push(Ni(e, n, t, r, c));
|
|
3772
3824
|
}
|
|
3773
3825
|
return {
|
|
3774
3826
|
maxLevel: a,
|
|
3775
3827
|
groups: s
|
|
3776
3828
|
};
|
|
3777
3829
|
}
|
|
3778
|
-
function
|
|
3830
|
+
function Ni(e, t, n, r, i) {
|
|
3779
3831
|
let a = null;
|
|
3780
3832
|
if (n) {
|
|
3781
3833
|
let n = t.end + 1;
|
|
@@ -3793,7 +3845,7 @@ function _i(e, t, n, r, i) {
|
|
|
3793
3845
|
collapsed: o
|
|
3794
3846
|
};
|
|
3795
3847
|
}
|
|
3796
|
-
function
|
|
3848
|
+
function Pi(e, t) {
|
|
3797
3849
|
let n = !e.collapsed, r = /* @__PURE__ */ new Map();
|
|
3798
3850
|
for (let e of t) r.set(e.index, e);
|
|
3799
3851
|
let i = [], a = [];
|
|
@@ -3801,7 +3853,7 @@ function vi(e, t) {
|
|
|
3801
3853
|
else {
|
|
3802
3854
|
let n = /* @__PURE__ */ new Set();
|
|
3803
3855
|
for (let r of t) r.index >= e.start && r.index <= e.end && r.collapsed && n.add(r.index);
|
|
3804
|
-
for (let t = e.start; t <= e.end; t++)
|
|
3856
|
+
for (let t = e.start; t <= e.end; t++) Fi(t, e, r, n) || a.push(t);
|
|
3805
3857
|
}
|
|
3806
3858
|
return {
|
|
3807
3859
|
hide: i,
|
|
@@ -3809,7 +3861,7 @@ function vi(e, t) {
|
|
|
3809
3861
|
nowCollapsed: n
|
|
3810
3862
|
};
|
|
3811
3863
|
}
|
|
3812
|
-
function
|
|
3864
|
+
function Fi(e, t, n, r) {
|
|
3813
3865
|
let i = n.get(e)?.level ?? 0;
|
|
3814
3866
|
if (i <= t.level) return !1;
|
|
3815
3867
|
for (let e of r) {
|
|
@@ -3818,7 +3870,7 @@ function yi(e, t, n, r) {
|
|
|
3818
3870
|
}
|
|
3819
3871
|
return !1;
|
|
3820
3872
|
}
|
|
3821
|
-
function
|
|
3873
|
+
function Ii(e, t) {
|
|
3822
3874
|
let n = [], r = [];
|
|
3823
3875
|
for (let i of e) i.level >= t ? n.push(i.index) : r.push(i.index);
|
|
3824
3876
|
return {
|
|
@@ -3826,7 +3878,7 @@ function bi(e, t) {
|
|
|
3826
3878
|
show: r
|
|
3827
3879
|
};
|
|
3828
3880
|
}
|
|
3829
|
-
function
|
|
3881
|
+
function Li(e) {
|
|
3830
3882
|
let t = [];
|
|
3831
3883
|
for (let n of e.rows) {
|
|
3832
3884
|
let e = n.outlineLevel ?? 0, r = n.collapsed ?? !1;
|
|
@@ -3839,7 +3891,7 @@ function xi(e) {
|
|
|
3839
3891
|
}
|
|
3840
3892
|
return t;
|
|
3841
3893
|
}
|
|
3842
|
-
function
|
|
3894
|
+
function Ri(e) {
|
|
3843
3895
|
let t = e.colOutlineLevels ?? {}, n = e.colCollapsed ?? {}, r = e.colHidden ?? {}, i = /* @__PURE__ */ new Set();
|
|
3844
3896
|
for (let e of Object.keys(t)) i.add(Number(e));
|
|
3845
3897
|
for (let e of Object.keys(n)) i.add(Number(e));
|
|
@@ -3852,19 +3904,19 @@ function Si(e) {
|
|
|
3852
3904
|
});
|
|
3853
3905
|
return a;
|
|
3854
3906
|
}
|
|
3855
|
-
function
|
|
3907
|
+
function zi(e, t) {
|
|
3856
3908
|
let n = e.outlinePr;
|
|
3857
3909
|
return n ? t === "row" ? n.summaryBelow : n.summaryRight : !0;
|
|
3858
3910
|
}
|
|
3859
3911
|
//#endregion
|
|
3860
3912
|
//#region packages/xlsx/src/viewer.ts
|
|
3861
|
-
var
|
|
3862
|
-
function
|
|
3863
|
-
if (typeof document > "u" || !document.head || document.head.querySelector(`style[${
|
|
3913
|
+
var Bi = 150, Vi = 280, Hi = 200, Ui = 240, Wi = 200, Gi = 30, Ki = 1, qi = .45, Ji = "data-xlsx-viewer-styles", Yi = ".xlsx-tab-strip::-webkit-scrollbar{display:none}.xlsx-tab-nav{background:transparent;transition:background 0.1s;}.xlsx-tab-nav:hover{background:rgba(0,0,0,0.08);}.xlsx-zoom-slider{-webkit-appearance:none;appearance:none;background:transparent;height:15px;margin:0;}.xlsx-zoom-slider::-webkit-slider-runnable-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:#808080;cursor:pointer;}.xlsx-zoom-slider:hover::-webkit-slider-thumb{background:#5f5f5f;}.xlsx-zoom-slider::-moz-range-track{height:4px;background:#c4c4c4;border-radius:2px;}.xlsx-zoom-slider::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#808080;cursor:pointer;}";
|
|
3914
|
+
function Xi() {
|
|
3915
|
+
if (typeof document > "u" || !document.head || document.head.querySelector(`style[${Ji}]`)) return;
|
|
3864
3916
|
let e = document.createElement("style");
|
|
3865
|
-
e.setAttribute(
|
|
3917
|
+
e.setAttribute(Ji, ""), e.textContent = Yi, document.head.appendChild(e);
|
|
3866
3918
|
}
|
|
3867
|
-
var
|
|
3919
|
+
var Zi = class {
|
|
3868
3920
|
idxs;
|
|
3869
3921
|
cumDelta;
|
|
3870
3922
|
constructor(e, t, n, r) {
|
|
@@ -3905,28 +3957,28 @@ var Fi = class {
|
|
|
3905
3957
|
sizeOf(e) {
|
|
3906
3958
|
return this.offsetOf(e + 1) - this.offsetOf(e);
|
|
3907
3959
|
}
|
|
3908
|
-
},
|
|
3909
|
-
function
|
|
3960
|
+
}, Qi = "#1a73e8", $i = 4, ea = 5;
|
|
3961
|
+
function ta(e, t, n, r) {
|
|
3910
3962
|
for (let { index: i, edge: a } of t) if (!(a <= r) && Math.abs(e - a) <= n) return i;
|
|
3911
3963
|
return null;
|
|
3912
3964
|
}
|
|
3913
|
-
function
|
|
3965
|
+
function na(e) {
|
|
3914
3966
|
return {
|
|
3915
3967
|
border: `2px solid ${e}`,
|
|
3916
3968
|
background: `color-mix(in srgb, ${e} 8%, transparent)`
|
|
3917
3969
|
};
|
|
3918
3970
|
}
|
|
3919
|
-
var
|
|
3920
|
-
function
|
|
3921
|
-
let n =
|
|
3971
|
+
var ra = /* @__PURE__ */ new WeakMap();
|
|
3972
|
+
function ia(e, t) {
|
|
3973
|
+
let n = ra.get(e);
|
|
3922
3974
|
if (n) return n;
|
|
3923
3975
|
let r = {
|
|
3924
|
-
col: new
|
|
3925
|
-
row: new
|
|
3976
|
+
col: new Zi(e.colWidths, Q(e.defaultColWidth, t), (e) => Q(e, t), 16384),
|
|
3977
|
+
row: new Zi(e.rowHeights, $(e.defaultRowHeight), (e) => $(e), 1048576)
|
|
3926
3978
|
};
|
|
3927
|
-
return
|
|
3979
|
+
return ra.set(e, r), r;
|
|
3928
3980
|
}
|
|
3929
|
-
var
|
|
3981
|
+
var aa = class {
|
|
3930
3982
|
wb = null;
|
|
3931
3983
|
wrapper;
|
|
3932
3984
|
canvas;
|
|
@@ -3993,15 +4045,15 @@ var Ui = class {
|
|
|
3993
4045
|
constructor(e, t = {}) {
|
|
3994
4046
|
this.opts = t, this._mode = t.mode ?? "main", this._hiddenSheetMode = t.hiddenSheetMode ?? "show", this.wrapper = document.createElement("div"), this.wrapper.style.cssText = "position:relative;width:100%;height:100%;border:1px solid #c8ccd0;background:#fff;box-sizing:border-box;font-family:sans-serif;display:flex;flex-direction:column;", this.gridRegion = document.createElement("div"), this.gridRegion.style.cssText = "position:relative;flex:1;min-height:0;overflow:hidden;";
|
|
3995
4047
|
let n = "position:absolute;top:0;left:0;z-index:3;display:none;background:#f5f5f5;";
|
|
3996
|
-
this.cornerGutter = document.createElement("canvas"), this.cornerGutter.style.cssText = n, this.cornerGutter.setAttribute("data-xlsx-outline", "corner"), this.colGutter = document.createElement("canvas"), this.colGutter.style.cssText = n, this.colGutter.setAttribute("data-xlsx-outline", "col"), this.rowGutter = document.createElement("canvas"), this.rowGutter.style.cssText = n, this.rowGutter.setAttribute("data-xlsx-outline", "row"), this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:absolute;inset:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this._mode === "worker" && (this._bitmapCtx = this.canvas.getContext("bitmaprenderer")), this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.findOverlay = document.createElement("div"), this.findOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.commentPopup = document.createElement("div"), this.commentPopup.style.cssText = `position:absolute;z-index:3;pointer-events:none;display:none;max-width:${
|
|
4048
|
+
this.cornerGutter = document.createElement("canvas"), this.cornerGutter.style.cssText = n, this.cornerGutter.setAttribute("data-xlsx-outline", "corner"), this.colGutter = document.createElement("canvas"), this.colGutter.style.cssText = n, this.colGutter.setAttribute("data-xlsx-outline", "col"), this.rowGutter = document.createElement("canvas"), this.rowGutter.style.cssText = n, this.rowGutter.setAttribute("data-xlsx-outline", "row"), this.canvasArea = document.createElement("div"), this.canvasArea.style.cssText = "position:absolute;inset:0;overflow:hidden;", this.canvas = document.createElement("canvas"), this.canvas.style.cssText = "position:absolute;top:0;left:0;z-index:0;display:block;", this._mode === "worker" && (this._bitmapCtx = this.canvas.getContext("bitmaprenderer")), this.selectionOverlay = document.createElement("div"), this.selectionOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.findOverlay = document.createElement("div"), this.findOverlay.style.cssText = "position:absolute;top:0;left:0;z-index:1;pointer-events:none;overflow:hidden;width:100%;height:100%;", this.scrollHost = document.createElement("div"), this.scrollHost.style.cssText = "position:absolute;inset:0;overflow:auto;z-index:2;background:transparent;", this.spacer = document.createElement("div"), this.spacer.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;", this.scrollHost.appendChild(this.spacer), this.commentPopup = document.createElement("div"), this.commentPopup.style.cssText = `position:absolute;z-index:3;pointer-events:none;display:none;max-width:${Vi}px;max-height:${Hi}px;overflow:hidden;box-sizing:border-box;padding:6px 8px;background:#fffbcc;border:1px solid #b8b8a0;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;white-space:pre-wrap;word-break:break-word;`, this.validationPanel = document.createElement("div"), this.validationPanel.setAttribute("data-xlsx-validation-panel", ""), this.validationPanel.style.cssText = `position:absolute;z-index:4;pointer-events:auto;display:none;min-width:80px;max-width:${Ui}px;max-height:${Wi}px;overflow-y:auto;box-sizing:border-box;background:#fff;border:1px solid #7f7f7f;box-shadow:1px 2px 5px rgba(0,0,0,0.25);font:12px/1.4 sans-serif;color:#222;`, this.validationPanel.addEventListener("wheel", (e) => e.stopPropagation()), this.canvasArea.appendChild(this.canvas), this.canvasArea.appendChild(this.selectionOverlay), this.canvasArea.appendChild(this.findOverlay), this.canvasArea.appendChild(this.scrollHost), this.canvasArea.appendChild(this.commentPopup), this.canvasArea.appendChild(this.validationPanel);
|
|
3997
4049
|
let r = Math.round(50 * (this.opts.cellScale ?? 1));
|
|
3998
|
-
this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${
|
|
4050
|
+
this.tabBar = document.createElement("div"), this.tabBar.style.cssText = `display:flex;align-items:flex-end;height:${Gi}px;flex-shrink:0;background:#f0f0f0;border-top:1px solid #c8ccd0;`, this.navPrev = this.makeNavButton("◀", "Scroll tabs left", () => this.scrollTabs(-1)), this.navNext = this.makeNavButton("▶", "Scroll tabs right", () => this.scrollTabs(1)), this.navPrev.dataset.xlsxTabNav = "prev", this.navNext.dataset.xlsxTabNav = "next";
|
|
3999
4051
|
let i = document.createElement("div");
|
|
4000
|
-
i.style.cssText = `display:flex;flex-shrink:0;width:${r}px;height:100%;`, i.appendChild(this.navPrev), i.appendChild(this.navNext), this.navGroup = i, this.tabStrip = document.createElement("div"), this.tabStrip.style.cssText = `position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;height:100%;margin-left:${
|
|
4052
|
+
i.style.cssText = `display:flex;flex-shrink:0;width:${r}px;height:100%;`, i.appendChild(this.navPrev), i.appendChild(this.navNext), this.navGroup = i, this.tabStrip = document.createElement("div"), this.tabStrip.style.cssText = `position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;height:100%;margin-left:${Ki}px;overflow-x:auto;overflow-y:hidden;gap:${Ki}px;scrollbar-width:none;`, this.tabStrip.classList.add("xlsx-tab-strip"), Xi(), this.tabStrip.addEventListener("scroll", () => this.updateNavButtons()), this.tabBar.appendChild(i), this.tabBar.appendChild(this.tabStrip), this.opts.showZoomSlider !== !1 && this.tabBar.appendChild(this.buildZoomControl()), this.gridRegion.appendChild(this.canvasArea), this.wrapper.appendChild(this.gridRegion), this.wrapper.appendChild(this.tabBar), e.appendChild(this.wrapper), this.rowGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "row")), this.colGutter.addEventListener("pointerdown", (e) => this.onGutterPointerDown(e, "col")), this.scrollHost.addEventListener("scroll", () => {
|
|
4001
4053
|
this.pendingTap = null, this.hideCommentPopup(), this.hideValidationPanel(), this.scrollHost.clientWidth > 0 && (this.effectiveH = this.effectiveScrollLeft), this.scheduleRender(), this.updateSelectionOverlay(), this.updateFindOverlay();
|
|
4002
4054
|
}), this.resizeObserver = new ResizeObserver(() => {
|
|
4003
4055
|
this.reanchorHorizontalScroll(), this.layoutGutters(), this.scheduleRender(), this.updateSelectionOverlay(), this.updateFindOverlay(), this.updateNavButtons();
|
|
4004
|
-
}), this.resizeObserver.observe(this.gridRegion), this.setupSelectionEvents(), this._find = new
|
|
4056
|
+
}), this.resizeObserver.observe(this.gridRegion), this.setupSelectionEvents(), this._find = new ki(() => this.sheetCount, (e) => this.wb?.sheetNames[e] ?? "", (e) => this._collectSheetCells(e));
|
|
4005
4057
|
}
|
|
4006
4058
|
async _collectSheetCells(e) {
|
|
4007
4059
|
let t = this.wb;
|
|
@@ -4020,7 +4072,7 @@ var Ui = class {
|
|
|
4020
4072
|
async load(e) {
|
|
4021
4073
|
let t = ++this._loadGen, n = this.wb;
|
|
4022
4074
|
try {
|
|
4023
|
-
let r = await
|
|
4075
|
+
let r = await Ei.load(e, {
|
|
4024
4076
|
useGoogleFonts: this.opts.useGoogleFonts,
|
|
4025
4077
|
maxZipEntryBytes: this.opts.maxZipEntryBytes,
|
|
4026
4078
|
workerTimeoutMs: this.opts.workerTimeoutMs,
|
|
@@ -4051,12 +4103,12 @@ var Ui = class {
|
|
|
4051
4103
|
this.currentSheet = e, this.scrollHost.scrollTop = 0, this.anchorCell = null, this.activeCell = null, this.selectionMode = "cells", this.hideCommentPopup(), this.hideValidationPanel(), this.updateSelectionOverlay(), this.updateTabActive(e), this.currentWorksheet = await this.workbook.getWorksheet(e), this.buildCommentMap(this.currentWorksheet), this.buildHyperlinkMap(this.currentWorksheet), this.buildOutline(this.currentWorksheet), this.layoutGutters(), this.updateSpacerSize(this.currentWorksheet), this.resetHorizontalScroll(), await this.renderCurrentSheet(), this.updateFindOverlay(), this.opts.onSheetChange?.(e, this.workbook.sheetNames.length);
|
|
4052
4104
|
}
|
|
4053
4105
|
buildOutline(e) {
|
|
4054
|
-
this.stashedRowHeights.clear(), this.stashedColWidths.clear(), this.rowOutlineBands =
|
|
4055
|
-
let t =
|
|
4106
|
+
this.stashedRowHeights.clear(), this.stashedColWidths.clear(), this.rowOutlineBands = Li(e), this.colOutlineBands = Ri(e);
|
|
4107
|
+
let t = Mi(this.rowOutlineBands, zi(e, "row")), n = Mi(this.colOutlineBands, zi(e, "col"));
|
|
4056
4108
|
this.rowOutline = t.maxLevel > 0 ? t : null, this.colOutline = n.maxLevel > 0 ? n : null;
|
|
4057
4109
|
}
|
|
4058
4110
|
layoutGutters() {
|
|
4059
|
-
let e = this.opts.cellScale ?? 1, t = this.rowOutline ? Math.round(
|
|
4111
|
+
let e = this.opts.cellScale ?? 1, t = this.rowOutline ? Math.round(ji(this.rowOutline.maxLevel) * e) : 0, n = this.colOutline ? Math.round(ji(this.colOutline.maxLevel) * e) : 0;
|
|
4060
4112
|
this.gutter = {
|
|
4061
4113
|
w: t,
|
|
4062
4114
|
h: n
|
|
@@ -4160,7 +4212,7 @@ var Ui = class {
|
|
|
4160
4212
|
applyGroupToggle(e, t) {
|
|
4161
4213
|
let n = this.currentWorksheet;
|
|
4162
4214
|
if (!n) return;
|
|
4163
|
-
let { hide: r, show: i, nowCollapsed: a } =
|
|
4215
|
+
let { hide: r, show: i, nowCollapsed: a } = Pi(e, t === "row" ? this.rowOutlineBands : this.colOutlineBands);
|
|
4164
4216
|
for (let e of r) this.setBandHidden(t, e, !0);
|
|
4165
4217
|
for (let e of i) this.setBandHidden(t, e, !1);
|
|
4166
4218
|
e.summary != null && this.setBandCollapsed(t, e.summary, a), this.afterOutlineMutation(n);
|
|
@@ -4168,7 +4220,7 @@ var Ui = class {
|
|
|
4168
4220
|
applyLevelButton(e, t) {
|
|
4169
4221
|
let n = this.currentWorksheet;
|
|
4170
4222
|
if (!n) return;
|
|
4171
|
-
let { hide: r, show: i } =
|
|
4223
|
+
let { hide: r, show: i } = Ii(t === "row" ? this.rowOutlineBands : this.colOutlineBands, e);
|
|
4172
4224
|
for (let e of r) this.setBandHidden(t, e, !0);
|
|
4173
4225
|
for (let e of i) this.setBandHidden(t, e, !1);
|
|
4174
4226
|
let a = t === "row" ? this.rowOutline : this.colOutline;
|
|
@@ -4214,11 +4266,11 @@ var Ui = class {
|
|
|
4214
4266
|
} else r.colCollapsed = r.colCollapsed ?? {}, n ? r.colCollapsed[t] = !0 : delete r.colCollapsed[t];
|
|
4215
4267
|
}
|
|
4216
4268
|
afterOutlineMutation(e) {
|
|
4217
|
-
|
|
4269
|
+
ra.delete(e), this.buildOutlineLayoutOnly(e), this.updateSpacerSize(e), this.updateSelectionOverlay(), this.scheduleRender();
|
|
4218
4270
|
}
|
|
4219
4271
|
buildOutlineLayoutOnly(e) {
|
|
4220
|
-
this.rowOutlineBands =
|
|
4221
|
-
let t =
|
|
4272
|
+
this.rowOutlineBands = Li(e), this.colOutlineBands = Ri(e);
|
|
4273
|
+
let t = Mi(this.rowOutlineBands, zi(e, "row")), n = Mi(this.colOutlineBands, zi(e, "col"));
|
|
4222
4274
|
this.rowOutline = t.maxLevel > 0 ? t : null, this.colOutline = n.maxLevel > 0 ? n : null;
|
|
4223
4275
|
}
|
|
4224
4276
|
get isRtl() {
|
|
@@ -4232,7 +4284,7 @@ var Ui = class {
|
|
|
4232
4284
|
return this.isRtl ? this.maxScrollLeft - e : e;
|
|
4233
4285
|
}
|
|
4234
4286
|
screenX(e, t) {
|
|
4235
|
-
return this.isRtl ?
|
|
4287
|
+
return this.isRtl ? An(e, t, this.canvasArea.clientWidth) : e;
|
|
4236
4288
|
}
|
|
4237
4289
|
resetHorizontalScroll() {
|
|
4238
4290
|
this.effectiveH = 0, this.scrollHost.scrollLeft = this.isRtl ? this.maxScrollLeft : 0;
|
|
@@ -4258,10 +4310,10 @@ var Ui = class {
|
|
|
4258
4310
|
await this.goToSheet(this._stepSheet(-1));
|
|
4259
4311
|
}
|
|
4260
4312
|
_stepSheet(e) {
|
|
4261
|
-
return this._hiddenSheetMode === "skip" && this.wb ?
|
|
4313
|
+
return this._hiddenSheetMode === "skip" && this.wb ? Ce(this.currentSheet, e, (e) => this.wb.isHidden(e), this.sheetCount) : this.currentSheet + e;
|
|
4262
4314
|
}
|
|
4263
4315
|
_initialSheet() {
|
|
4264
|
-
return this._hiddenSheetMode === "skip" && this.wb ?
|
|
4316
|
+
return this._hiddenSheetMode === "skip" && this.wb ? we(0, (e) => this.wb.isHidden(e), this.sheetCount) : 0;
|
|
4265
4317
|
}
|
|
4266
4318
|
getCellAt(e, t) {
|
|
4267
4319
|
let n = this.currentWorksheet;
|
|
@@ -4288,7 +4340,7 @@ var Ui = class {
|
|
|
4288
4340
|
}
|
|
4289
4341
|
if (h === -1) return null;
|
|
4290
4342
|
} else {
|
|
4291
|
-
let e = c - d + this.scrollHost.scrollTop / r, t =
|
|
4343
|
+
let e = c - d + this.scrollHost.scrollTop / r, t = ia(n, Z(n)).row.scrollableIndexAt(e, l + 1);
|
|
4292
4344
|
if (t === null) return null;
|
|
4293
4345
|
h = t;
|
|
4294
4346
|
}
|
|
@@ -4302,7 +4354,7 @@ var Ui = class {
|
|
|
4302
4354
|
}
|
|
4303
4355
|
if (g === -1) return null;
|
|
4304
4356
|
} else {
|
|
4305
|
-
let e = s - p + this.effectiveScrollLeft / r, t =
|
|
4357
|
+
let e = s - p + this.effectiveScrollLeft / r, t = ia(n, Z(n)).col.scrollableIndexAt(e, u + 1);
|
|
4306
4358
|
if (t === null) return null;
|
|
4307
4359
|
g = t;
|
|
4308
4360
|
}
|
|
@@ -4322,7 +4374,7 @@ var Ui = class {
|
|
|
4322
4374
|
} else {
|
|
4323
4375
|
let e = 0;
|
|
4324
4376
|
for (let t = 1; t <= l; t++) e += o(t);
|
|
4325
|
-
let s = a(50) + e, c = this.effectiveScrollLeft / r, d =
|
|
4377
|
+
let s = a(50) + e, c = this.effectiveScrollLeft / r, d = ia(n, i).col, { index: f, partial: p } = d.indexAt(c + d.offsetOf(l + 1)), m = s - p * r;
|
|
4326
4378
|
if (t >= f) for (let e = f; e < t; e++) m += o(e);
|
|
4327
4379
|
else for (let e = t; e < f; e++) m -= o(e);
|
|
4328
4380
|
u = m;
|
|
@@ -4335,7 +4387,7 @@ var Ui = class {
|
|
|
4335
4387
|
} else {
|
|
4336
4388
|
let t = 0;
|
|
4337
4389
|
for (let e = 1; e <= c; e++) t += s(e);
|
|
4338
|
-
let o = a(22) + t, l = this.scrollHost.scrollTop / r, u =
|
|
4390
|
+
let o = a(22) + t, l = this.scrollHost.scrollTop / r, u = ia(n, i).row, { index: f, partial: p } = u.indexAt(l + u.offsetOf(c + 1)), m = o - p * r;
|
|
4339
4391
|
if (e >= f) for (let t = f; t < e; t++) m += s(t);
|
|
4340
4392
|
else for (let t = e; t < f; t++) m -= s(t);
|
|
4341
4393
|
d = m;
|
|
@@ -4355,7 +4407,7 @@ var Ui = class {
|
|
|
4355
4407
|
};
|
|
4356
4408
|
}
|
|
4357
4409
|
select(e) {
|
|
4358
|
-
let t =
|
|
4410
|
+
let t = _n(e);
|
|
4359
4411
|
t && (this.hideValidationPanel(), this.selectionMode = "cells", this.anchorCell = {
|
|
4360
4412
|
row: t.row,
|
|
4361
4413
|
col: t.col
|
|
@@ -4387,7 +4439,7 @@ var Ui = class {
|
|
|
4387
4439
|
};
|
|
4388
4440
|
return null;
|
|
4389
4441
|
}
|
|
4390
|
-
let a = e - t + this.scrollHost.scrollTop / r, s =
|
|
4442
|
+
let a = e - t + this.scrollHost.scrollTop / r, s = ia(n, Z(n)).row.scrollableIndexAt(a, l + 1);
|
|
4391
4443
|
return s === null ? null : {
|
|
4392
4444
|
kind: "row",
|
|
4393
4445
|
row: s
|
|
@@ -4408,7 +4460,7 @@ var Ui = class {
|
|
|
4408
4460
|
};
|
|
4409
4461
|
return null;
|
|
4410
4462
|
}
|
|
4411
|
-
let m = d - f + this.effectiveScrollLeft / r, h =
|
|
4463
|
+
let m = d - f + this.effectiveScrollLeft / r, h = ia(n, Z(n)).col.scrollableIndexAt(m, u + 1);
|
|
4412
4464
|
return h === null ? null : {
|
|
4413
4465
|
kind: "col",
|
|
4414
4466
|
col: h
|
|
@@ -4430,7 +4482,7 @@ var Ui = class {
|
|
|
4430
4482
|
edge: t.x + t.w
|
|
4431
4483
|
}));
|
|
4432
4484
|
}
|
|
4433
|
-
let o =
|
|
4485
|
+
let o = ta(a, i, $i, s);
|
|
4434
4486
|
return o === null ? null : {
|
|
4435
4487
|
kind: "col",
|
|
4436
4488
|
index: o,
|
|
@@ -4450,7 +4502,7 @@ var Ui = class {
|
|
|
4450
4502
|
edge: t.y + t.h
|
|
4451
4503
|
}));
|
|
4452
4504
|
}
|
|
4453
|
-
let a =
|
|
4505
|
+
let a = ta(o, i, $i, c);
|
|
4454
4506
|
return a === null ? null : {
|
|
4455
4507
|
kind: "row",
|
|
4456
4508
|
index: a,
|
|
@@ -4465,19 +4517,19 @@ var Ui = class {
|
|
|
4465
4517
|
if (!n || !r) return;
|
|
4466
4518
|
let i = this.opts.cellScale ?? 1, a = this.canvasArea.getBoundingClientRect();
|
|
4467
4519
|
if (n.kind === "col") {
|
|
4468
|
-
let t = this.screenX(e - a.left, 0), o = Math.max(
|
|
4469
|
-
r.colWidths[n.index] =
|
|
4520
|
+
let t = this.screenX(e - a.left, 0), o = Math.max(ea, Math.round((t - n.originScaled) / i));
|
|
4521
|
+
r.colWidths[n.index] = Fn(o, n.mdw), this.recordSizeOverride("col", n.index);
|
|
4470
4522
|
} else {
|
|
4471
|
-
let e = t - a.top, o = Math.max(
|
|
4472
|
-
r.rowHeights[n.index] =
|
|
4523
|
+
let e = t - a.top, o = Math.max(ea, Math.round((e - n.originScaled) / i));
|
|
4524
|
+
r.rowHeights[n.index] = In(o), this.recordSizeOverride("row", n.index);
|
|
4473
4525
|
}
|
|
4474
|
-
|
|
4526
|
+
ra.delete(r), this.updateSpacerSize(r), this.updateSelectionOverlay(), this.scheduleRender();
|
|
4475
4527
|
}
|
|
4476
4528
|
setSelectionColor(e) {
|
|
4477
4529
|
this.opts.selectionColor = e, this.updateSelectionOverlay();
|
|
4478
4530
|
}
|
|
4479
4531
|
async setHiddenSheetMode(e) {
|
|
4480
|
-
this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(
|
|
4532
|
+
this._hiddenSheetMode = e, this.buildTabs(), e === "skip" && this.wb && this.wb.isHidden(this.currentSheet) ? await this.showSheet(we(this.currentSheet, (e) => this.wb.isHidden(e), this.sheetCount)) : this.updateTabActive(this.currentSheet);
|
|
4481
4533
|
}
|
|
4482
4534
|
get hiddenSheetMode() {
|
|
4483
4535
|
return this._hiddenSheetMode;
|
|
@@ -4485,7 +4537,7 @@ var Ui = class {
|
|
|
4485
4537
|
get visibleSheetCount() {
|
|
4486
4538
|
if (!this.wb) return 0;
|
|
4487
4539
|
let e = this.wb;
|
|
4488
|
-
return
|
|
4540
|
+
return Te((t) => e.isHidden(t), this.sheetCount);
|
|
4489
4541
|
}
|
|
4490
4542
|
copySelection() {
|
|
4491
4543
|
let e = this.currentWorksheet;
|
|
@@ -4540,13 +4592,13 @@ var Ui = class {
|
|
|
4540
4592
|
l < a && (d -= a - l, l = a), u < o && (f -= o - u, u = o);
|
|
4541
4593
|
let h = a + c, g = o + s;
|
|
4542
4594
|
if (m > r && l < h && (d -= h - l, l = h), p > n && u < g && (f -= g - u, u = g), d <= 0 || f <= 0) return;
|
|
4543
|
-
let _ = this.screenX(l, d), { border: v, background: y } =
|
|
4595
|
+
let _ = this.screenX(l, d), { border: v, background: y } = na(this.opts.selectionColor ?? Qi), b = document.createElement("div");
|
|
4544
4596
|
b.style.cssText = `position:absolute;left:${_}px;top:${u}px;width:${d}px;height:${f}px;box-sizing:border-box;border:${v};background:${y};pointer-events:none;`, this.selectionOverlay.appendChild(b), this.maybeDrawValidationDropdown();
|
|
4545
4597
|
}
|
|
4546
4598
|
maybeDrawValidationDropdown() {
|
|
4547
4599
|
if (this.validationArrowRect = null, this.selectionMode !== "cells") return;
|
|
4548
4600
|
let e = this.currentWorksheet, t = this.activeCell;
|
|
4549
|
-
if (!e || !t || !
|
|
4601
|
+
if (!e || !t || !Oi(e.dataValidations, t.row, t.col)) return;
|
|
4550
4602
|
let n = this.getCellRect(t.row, t.col);
|
|
4551
4603
|
if (!n) return;
|
|
4552
4604
|
let r = this.opts.cellScale ?? 1, i = Math.round(50 * r), a = Math.round(22 * r), o = Math.max(14, Math.min(n.h, 22 * r)), s = n.x + n.w, c = n.y;
|
|
@@ -4569,7 +4621,7 @@ var Ui = class {
|
|
|
4569
4621
|
for (let t = 1; t <= o; t++) s += n(Q(e.colWidths[t] ?? e.defaultColWidth, Z(e)));
|
|
4570
4622
|
let c = 0;
|
|
4571
4623
|
for (let t = 1; t <= a; t++) c += n($(e.rowHeights[t] ?? e.defaultRowHeight));
|
|
4572
|
-
let l = r + s, u = i + c, d =
|
|
4624
|
+
let l = r + s, u = i + c, d = na("#ffb300"), f = na("#fb8c00");
|
|
4573
4625
|
for (let e of this._find.sheetHighlights(this.currentSheet)) {
|
|
4574
4626
|
let t = this.getCellRect(e.row, e.col);
|
|
4575
4627
|
if (!t) continue;
|
|
@@ -4601,7 +4653,7 @@ var Ui = class {
|
|
|
4601
4653
|
_scrollCellIntoView(e, t) {
|
|
4602
4654
|
let n = this.currentWorksheet;
|
|
4603
4655
|
if (!n) return;
|
|
4604
|
-
let r = this.opts.cellScale ?? 1, i = Z(n), a =
|
|
4656
|
+
let r = this.opts.cellScale ?? 1, i = Z(n), a = ia(n, i), o = n.freezeRows ?? 0, s = n.freezeCols ?? 0;
|
|
4605
4657
|
if (e > o) {
|
|
4606
4658
|
let t = Math.round(22 * r), i = 0;
|
|
4607
4659
|
for (let e = 1; e <= o; e++) i += Math.round($(n.rowHeights[e] ?? n.defaultRowHeight) * r);
|
|
@@ -4623,7 +4675,7 @@ var Ui = class {
|
|
|
4623
4675
|
this.hideValidationPanel();
|
|
4624
4676
|
return;
|
|
4625
4677
|
}
|
|
4626
|
-
let r =
|
|
4678
|
+
let r = Oi(e.dataValidations, t.row, t.col);
|
|
4627
4679
|
r && this.openValidationPanel(t, r.formula1);
|
|
4628
4680
|
}
|
|
4629
4681
|
async openValidationPanel(e, t) {
|
|
@@ -4662,7 +4714,7 @@ var Ui = class {
|
|
|
4662
4714
|
if (!t) return;
|
|
4663
4715
|
let n = this.screenX(t.x, t.w);
|
|
4664
4716
|
this.validationPanel.style.left = "-9999px", this.validationPanel.style.top = "-9999px", this.validationPanel.style.display = "block";
|
|
4665
|
-
let r =
|
|
4717
|
+
let r = Ti({
|
|
4666
4718
|
cell: {
|
|
4667
4719
|
x: n,
|
|
4668
4720
|
y: t.y,
|
|
@@ -4695,7 +4747,7 @@ var Ui = class {
|
|
|
4695
4747
|
buildCommentMap(e) {
|
|
4696
4748
|
this.commentMap = /* @__PURE__ */ new Map();
|
|
4697
4749
|
for (let t of e.comments ?? []) {
|
|
4698
|
-
let e =
|
|
4750
|
+
let e = _n(t.cellRef);
|
|
4699
4751
|
e && this.commentMap.set(`${e.row}:${e.col}`, t);
|
|
4700
4752
|
}
|
|
4701
4753
|
}
|
|
@@ -4704,7 +4756,7 @@ var Ui = class {
|
|
|
4704
4756
|
for (let t of e.hyperlinks ?? []) this.hyperlinkMap.set(`${t.row}:${t.col}`, t);
|
|
4705
4757
|
}
|
|
4706
4758
|
hyperlinkAtCell(e) {
|
|
4707
|
-
return this.hyperlinkMap.get(`${e.row}:${e.col}`) ?? null;
|
|
4759
|
+
return this.opts.enableHyperlinks === !1 ? null : this.hyperlinkMap.get(`${e.row}:${e.col}`) ?? null;
|
|
4708
4760
|
}
|
|
4709
4761
|
dispatchHyperlink(e) {
|
|
4710
4762
|
let t = this.hyperlinkAtCell(e);
|
|
@@ -4720,7 +4772,7 @@ var Ui = class {
|
|
|
4720
4772
|
};
|
|
4721
4773
|
else return !1;
|
|
4722
4774
|
let r = this.opts.onHyperlinkClick;
|
|
4723
|
-
return r ? (r(n), !0) : (n.kind === "external" ?
|
|
4775
|
+
return r ? (r(n), !0) : (n.kind === "external" ? ie(n.url) : this.navigateInternalHyperlink(n.ref), !0);
|
|
4724
4776
|
}
|
|
4725
4777
|
navigateInternalHyperlink(e) {
|
|
4726
4778
|
let t = e.lastIndexOf("!");
|
|
@@ -4738,7 +4790,7 @@ var Ui = class {
|
|
|
4738
4790
|
}
|
|
4739
4791
|
this.commentPopupKey !== t && (this.hideCommentPopup(), this.commentPopupKey = t, this.commentPopupTimer = setTimeout(() => {
|
|
4740
4792
|
this.commentPopupTimer = null, this.renderCommentPopup(e, n);
|
|
4741
|
-
},
|
|
4793
|
+
}, Bi));
|
|
4742
4794
|
}
|
|
4743
4795
|
renderCommentPopup(e, t) {
|
|
4744
4796
|
let n = this.getCellRect(e.row, e.col);
|
|
@@ -4751,7 +4803,7 @@ var Ui = class {
|
|
|
4751
4803
|
r.textContent = t.text, this.commentPopup.appendChild(r);
|
|
4752
4804
|
let i = this.screenX(n.x, n.w);
|
|
4753
4805
|
this.commentPopup.style.left = "-9999px", this.commentPopup.style.top = "-9999px", this.commentPopup.style.display = "block";
|
|
4754
|
-
let a =
|
|
4806
|
+
let a = Ai({
|
|
4755
4807
|
cell: {
|
|
4756
4808
|
x: i,
|
|
4757
4809
|
y: n.y,
|
|
@@ -4919,7 +4971,7 @@ var Ui = class {
|
|
|
4919
4971
|
this._pendingZoomAnchor = Number.isFinite(n) && Number.isFinite(r) ? {
|
|
4920
4972
|
x: n,
|
|
4921
4973
|
y: r
|
|
4922
|
-
} : null, this.setScale(
|
|
4974
|
+
} : null, this.setScale(U(this.opts.cellScale ?? 1, e.deltaY));
|
|
4923
4975
|
}, { passive: !1 }), this.scrollHost.addEventListener("pointerleave", () => this.hideCommentPopup()), this.keydownHandler = (e) => {
|
|
4924
4976
|
(e.ctrlKey || e.metaKey) && e.key === "c" ? this.copySelection() : e.key === "Escape" && this.validationPanel.style.display !== "none" && this.hideValidationPanel();
|
|
4925
4977
|
}, document.addEventListener("keydown", this.keydownHandler);
|
|
@@ -4970,23 +5022,23 @@ var Ui = class {
|
|
|
4970
5022
|
}
|
|
4971
5023
|
}
|
|
4972
5024
|
tabStyle(e, t) {
|
|
4973
|
-
let n =
|
|
5025
|
+
let n = Gi - 2, r = Gi - 5, i = t ? `box-shadow:inset 0 -${e ? 2 : 3}px 0 0 ${t};` : "";
|
|
4974
5026
|
return e ? `display:inline-block;flex:none;padding:0 14px;position:relative;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${n}px;font-size:13px;background:#fff;color:#000;border-bottom:1px solid #fff;font-weight:600;top:1px;` + i : `display:inline-block;flex:none;padding:0 14px;position:relative;border:1px solid #c8ccd0;border-bottom:none;border-radius:3px 3px 0 0;cursor:pointer;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;outline:none;box-sizing:border-box;height:${r}px;font-size:11px;background:#e0e0e0;color:#555;` + i;
|
|
4975
5027
|
}
|
|
4976
5028
|
tabCss(e, t) {
|
|
4977
5029
|
let n = this.tabStyle(t, this.tabColors[e]);
|
|
4978
|
-
return this._hiddenSheetMode !== "show" && this.wb?.isHidden(e) && (n += this._hiddenSheetMode === "skip" ? "display:none;" : `opacity:${
|
|
5030
|
+
return this._hiddenSheetMode !== "show" && this.wb?.isHidden(e) && (n += this._hiddenSheetMode === "skip" ? "display:none;" : `opacity:${qi};`), n;
|
|
4979
5031
|
}
|
|
4980
5032
|
buildZoomControl() {
|
|
4981
5033
|
let e = this.opts.zoomMin ?? .1, t = this.opts.zoomMax ?? 4, n = this.opts.cellScale ?? 1, r = document.createElement("div");
|
|
4982
5034
|
r.style.cssText = "display:flex;align-items:center;flex-shrink:0;gap:2px;padding:0 10px;height:100%;color:#555;font-size:12px;user-select:none;";
|
|
4983
5035
|
let i = (e, t, n) => {
|
|
4984
5036
|
let r = document.createElement("button");
|
|
4985
|
-
return r.textContent = e, r.setAttribute("aria-label", t), r.title = t, r.style.cssText = "width:18px;height:18px;padding:0;border:none;background:transparent;color:#555;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;", r.addEventListener("click",
|
|
5037
|
+
return r.textContent = e, r.setAttribute("aria-label", t), r.title = t, r.style.cssText = "width:18px;height:18px;padding:0;border:none;background:transparent;color:#555;font-size:14px;line-height:1;cursor:pointer;border-radius:3px;", r.addEventListener("click", n), r;
|
|
4986
5038
|
}, a = document.createElement("input");
|
|
4987
5039
|
a.type = "range", a.min = "0", a.max = "100", a.step = "any", a.value = String(this.zoomScaleToPos(n, e, t)), a.setAttribute("aria-label", "Zoom"), a.title = "Zoom", a.classList.add("xlsx-zoom-slider"), a.style.cssText = "width:90px;cursor:pointer;", a.addEventListener("input", () => this.setScale(this.zoomPosToScale(Number(a.value), e, t)));
|
|
4988
5040
|
let o = document.createElement("span");
|
|
4989
|
-
return o.textContent = `${Math.round(n * 100)}%`, o.style.cssText = "min-width:42px;margin-left:6px;text-align:right;font-variant-numeric:tabular-nums;", r.appendChild(i("−", "Zoom out",
|
|
5041
|
+
return o.textContent = `${Math.round(n * 100)}%`, o.style.cssText = "min-width:42px;margin-left:6px;text-align:right;font-variant-numeric:tabular-nums;", r.appendChild(i("−", "Zoom out", () => this.zoomOut())), r.appendChild(a), r.appendChild(i("+", "Zoom in", () => this.zoomIn())), r.appendChild(o), this.zoomSlider = a, this.zoomLabel = o, r;
|
|
4990
5042
|
}
|
|
4991
5043
|
zoomPosToScale(e, t, n) {
|
|
4992
5044
|
return e <= 50 ? t + e / 50 * (1 - t) : 1 + (e - 50) / 50 * (n - 1);
|
|
@@ -5002,8 +5054,8 @@ var Ui = class {
|
|
|
5002
5054
|
let e = this.effectiveScrollLeft, t = this.scrollHost.scrollTop;
|
|
5003
5055
|
if (this.layoutGutters(), this.updateSpacerSize(this.currentWorksheet), o) {
|
|
5004
5056
|
let n = Math.max(0, this.scrollHost.scrollHeight - this.scrollHost.clientHeight);
|
|
5005
|
-
this.scrollHost.scrollTop =
|
|
5006
|
-
let r = this.screenX(o.x, 0), s = this.maxScrollLeft, c =
|
|
5057
|
+
this.scrollHost.scrollTop = oe(t, o.y, a, i, { maxScroll: n });
|
|
5058
|
+
let r = this.screenX(o.x, 0), s = this.maxScrollLeft, c = oe(e, r, a, i, { maxScroll: s });
|
|
5007
5059
|
this.effectiveH = c, this.scrollHost.scrollLeft = this.isRtl ? Math.max(0, s - c) : c;
|
|
5008
5060
|
} else this.effectiveH = e, this.isRtl && (this.scrollHost.scrollLeft = Math.max(0, this.maxScrollLeft - e));
|
|
5009
5061
|
}
|
|
@@ -5014,10 +5066,10 @@ var Ui = class {
|
|
|
5014
5066
|
return this.opts.cellScale ?? 1;
|
|
5015
5067
|
}
|
|
5016
5068
|
zoomIn() {
|
|
5017
|
-
this.setScale(
|
|
5069
|
+
this.setScale(V(this.getScale()));
|
|
5018
5070
|
}
|
|
5019
5071
|
zoomOut() {
|
|
5020
|
-
this.setScale(
|
|
5072
|
+
this.setScale(ue(this.getScale()));
|
|
5021
5073
|
}
|
|
5022
5074
|
fitWidth() {
|
|
5023
5075
|
this._fit("width");
|
|
@@ -5028,7 +5080,7 @@ var Ui = class {
|
|
|
5028
5080
|
_fit(e) {
|
|
5029
5081
|
let t = this.currentWorksheet;
|
|
5030
5082
|
if (!t) return;
|
|
5031
|
-
let { width: n, height: r } = this._naturalContentExtent(t), i =
|
|
5083
|
+
let { width: n, height: r } = this._naturalContentExtent(t), i = B({
|
|
5032
5084
|
contentWidth: n,
|
|
5033
5085
|
contentHeight: r,
|
|
5034
5086
|
containerWidth: this.canvasArea.clientWidth,
|
|
@@ -5095,7 +5147,7 @@ var Ui = class {
|
|
|
5095
5147
|
for (let t = 1; t <= s; t++) c += Q(e.colWidths[t] ?? e.defaultColWidth, Z(e));
|
|
5096
5148
|
let l = 0;
|
|
5097
5149
|
for (let t = 1; t <= o; t++) l += $(e.rowHeights[t] ?? e.defaultRowHeight);
|
|
5098
|
-
let u = this.effectiveScrollLeft / i, d = this.scrollHost.scrollTop / i, f =
|
|
5150
|
+
let u = this.effectiveScrollLeft / i, d = this.scrollHost.scrollTop / i, f = ia(e, Z(e)), { index: p, partial: m } = f.col.indexAt(u + f.col.offsetOf(s + 1)), { index: h, partial: g } = f.row.indexAt(d + f.row.offsetOf(o + 1)), _ = t / i - 50 - c, v = n / i - 22 - l, y = 0;
|
|
5099
5151
|
{
|
|
5100
5152
|
let t = -m, n = p;
|
|
5101
5153
|
for (; t < _ + m && n <= 16384;) t += Q(e.colWidths[n] ?? e.defaultColWidth, Z(e)), y++, n++;
|
|
@@ -5205,13 +5257,13 @@ var Ui = class {
|
|
|
5205
5257
|
destroy() {
|
|
5206
5258
|
this._destroyed = !0, this._loadGen++, this.resizeObserver?.disconnect(), this._rafId !== null && typeof cancelAnimationFrame == "function" && (cancelAnimationFrame(this._rafId), this._rafId = null), this._renderSeq++, this.hideCommentPopup(), this.hideValidationPanel(), this.keydownHandler && document.removeEventListener("keydown", this.keydownHandler), this._find.invalidate(), this.wb?.destroy(), this.wrapper.remove();
|
|
5207
5259
|
}
|
|
5208
|
-
},
|
|
5209
|
-
OoxmlError: () =>
|
|
5210
|
-
XlsxViewer: () =>
|
|
5211
|
-
XlsxWorkbook: () =>
|
|
5212
|
-
autoResize: () =>
|
|
5213
|
-
openExternalHyperlink: () =>
|
|
5214
|
-
resolveSharedStrings: () =>
|
|
5260
|
+
}, oa = /* @__PURE__ */ P({
|
|
5261
|
+
OoxmlError: () => F,
|
|
5262
|
+
XlsxViewer: () => aa,
|
|
5263
|
+
XlsxWorkbook: () => Ei,
|
|
5264
|
+
autoResize: () => H,
|
|
5265
|
+
openExternalHyperlink: () => ie,
|
|
5266
|
+
resolveSharedStrings: () => Si
|
|
5215
5267
|
});
|
|
5216
5268
|
//#endregion
|
|
5217
|
-
export {
|
|
5269
|
+
export { Si as i, aa as n, Ei as r, oa as t };
|