@silurus/ooxml 0.64.3 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/docx-B8_OFVgL.js +2901 -0
- package/dist/docx.mjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/math.mjs +1 -1
- package/dist/pptx-9D6TfXnD.js +2051 -0
- package/dist/pptx.mjs +2 -2
- package/dist/render-worker-host-BnJxDb1v.js +27 -0
- package/dist/render-worker-host-CVCsSH1k.js +27 -0
- package/dist/render-worker-host-DpvAEegl.js +27 -0
- package/dist/{src-Bq0uxZNP.js → src-BsVzeDyL.js} +1283 -702
- package/dist/types/docx.d.ts +293 -7
- package/dist/types/index.d.ts +398 -11
- package/dist/types/pptx.d.ts +98 -4
- package/dist/types/xlsx.d.ts +1 -1
- package/dist/xlsx-ClPv4Yee.js +4008 -0
- package/dist/xlsx.mjs +2 -2
- package/package.json +1 -1
- package/dist/docx-CjF9O42U.js +0 -2192
- package/dist/pptx-C0W9FWYJ.js +0 -2025
- package/dist/render-worker-host-2MxRtN0b.js +0 -27
- package/dist/render-worker-host-CPjQXxSa.js +0 -27
- package/dist/render-worker-host-DxJeyoZe.js +0 -27
- package/dist/xlsx-QYJaX8UA.js +0 -3994
- /package/dist/{mathjax-CNh-4Cw1.js → mathjax-Q1s8_eMq.js} +0 -0
|
@@ -84,7 +84,15 @@ function c(e) {
|
|
|
84
84
|
let t = e.toLowerCase();
|
|
85
85
|
return /[ᄀ-ᇿ-가-]/.test(e) ? "kr" : /[-ヿ]/.test(e) ? "jp" : /jhenghei|微軟正黑|新細明|細明|pmingliu|mingliu|dfkai|標楷|華康|cns11643|kaiti tc|ming\s*liu/.test(t) || /新細明體|細明體|標楷體|微軟正黑體|華康/.test(e) ? "tc" : /simsun|nsimsun|simhei|simkai|simfang|yahei|dengxian|fangsong|kaiti|youyuan|lisu|stsong|stkaiti|stfangsong|stheiti|stxihei|stzhongsong|songti sc|heiti sc|微软雅黑/.test(t) || /宋体|黑体|楷体|仿宋|等线|微软雅黑|隶书|幼圆/.test(e) ? "sc" : /malgun|batang|gulim|dotum|gungsuh|nanum|new gulim|hancom|hy(gothic|graphic|namu)?/.test(t) ? "kr" : /\bmeiryo\b|\byu\s*(gothic|mincho)\b|yugothic|yumincho|hiragino|\bms\s*(gothic|mincho|pgothic|pmincho|ui\s*gothic)\b|\bms[pg]?(gothic|mincho)\b|ipa(ex)?(gothic|mincho)|noto\s+(sans|serif)\s+jp|游ゴシック|游明朝|MS|メイリオ|ヒラギノ/.test(t) || /游ゴシック|游明朝|MS ゴシック|MS 明朝|MS Pゴシック|メイリオ|ヒラギノ/.test(e) ? "jp" : null;
|
|
86
86
|
}
|
|
87
|
-
function l(e
|
|
87
|
+
function l(e) {
|
|
88
|
+
if (!e) return "sans";
|
|
89
|
+
let t = e.toLowerCase();
|
|
90
|
+
return /mono|courier|consolas|等幅|gothic_m/.test(t) ? "mono" : /roman|times|cambria|caladea|georgia|garamond|century(?!\s*gothic)|palatino|didot|bodoni|playfair|source serif|noto serif|min\s*cho|明朝体|明朝|song|sung|simsun|nsimsun|batang|gungsuh|ming\s*liu|mingliu|pmingliu|fang\s*song|fangsong|kai\s*ti|kaiti|simkai|simfang|stsong|stkaiti|stfangsong|stzhongsong|新細明|細明|宋体|楷体|楷體|仿宋|標楷|游明朝|MS 明朝|ms mincho|yu mincho|hiragino mincho|ヒラギノ明朝/.test(t) || /新細明體|細明體|宋体|明朝|楷体|楷體|仿宋|標楷體|游明朝|MS 明朝/.test(e) ? "serif" : "sans";
|
|
91
|
+
}
|
|
92
|
+
function u(e) {
|
|
93
|
+
return e >= 1424 && e <= 1535 || e >= 1536 && e <= 1791 || e >= 1792 && e <= 1871 || e >= 1872 && e <= 1919 || e >= 1920 && e <= 1983 || e >= 1984 && e <= 2047 || e >= 2048 && e <= 2111 || e >= 2112 && e <= 2143 || e >= 2144 && e <= 2303 || e >= 64285 && e <= 64335 || e >= 64336 && e <= 65023 || e >= 65136 && e <= 65279 || e >= 67584 && e <= 69631 || e >= 124928 && e <= 126975;
|
|
94
|
+
}
|
|
95
|
+
function d(e, t) {
|
|
88
96
|
let n = t === "serif" ? "Noto Serif" : "Noto Sans", r = {
|
|
89
97
|
jp: [
|
|
90
98
|
"jp",
|
|
@@ -118,28 +126,28 @@ function l(e, t) {
|
|
|
118
126
|
};
|
|
119
127
|
return r[e].map((e) => `${n} ${i[e]}`);
|
|
120
128
|
}
|
|
121
|
-
var
|
|
129
|
+
var f = [
|
|
122
130
|
"Noto Sans",
|
|
123
131
|
"Noto Sans Hebrew",
|
|
124
132
|
"Noto Sans Thai",
|
|
125
133
|
"Noto Sans Devanagari"
|
|
126
|
-
],
|
|
127
|
-
"noto sans kr": { url:
|
|
128
|
-
"noto sans sc": { url:
|
|
129
|
-
"noto sans tc": { url:
|
|
130
|
-
"noto sans jp": { url:
|
|
131
|
-
"noto serif kr": { url:
|
|
132
|
-
"noto serif sc": { url:
|
|
133
|
-
"noto serif tc": { url:
|
|
134
|
-
"noto serif jp": { url:
|
|
135
|
-
"noto sans": { url:
|
|
136
|
-
"noto serif": { url:
|
|
137
|
-
"noto sans devanagari": { url:
|
|
138
|
-
"noto sans thai": { url:
|
|
139
|
-
"noto sans hebrew": { url:
|
|
140
|
-
"noto serif hebrew": { url:
|
|
134
|
+
], p = ["Noto Serif", "Noto Serif Hebrew"], m = (e) => `https://fonts.googleapis.com/css2?family=${e}:wght@400;700&display=swap`, h = {
|
|
135
|
+
"noto sans kr": { url: m("Noto+Sans+KR") },
|
|
136
|
+
"noto sans sc": { url: m("Noto+Sans+SC") },
|
|
137
|
+
"noto sans tc": { url: m("Noto+Sans+TC") },
|
|
138
|
+
"noto sans jp": { url: m("Noto+Sans+JP") },
|
|
139
|
+
"noto serif kr": { url: m("Noto+Serif+KR") },
|
|
140
|
+
"noto serif sc": { url: m("Noto+Serif+SC") },
|
|
141
|
+
"noto serif tc": { url: m("Noto+Serif+TC") },
|
|
142
|
+
"noto serif jp": { url: m("Noto+Serif+JP") },
|
|
143
|
+
"noto sans": { url: m("Noto+Sans") },
|
|
144
|
+
"noto serif": { url: m("Noto+Serif") },
|
|
145
|
+
"noto sans devanagari": { url: m("Noto+Sans+Devanagari") },
|
|
146
|
+
"noto sans thai": { url: m("Noto+Sans+Thai") },
|
|
147
|
+
"noto sans hebrew": { url: m("Noto+Sans+Hebrew") },
|
|
148
|
+
"noto serif hebrew": { url: m("Noto+Serif+Hebrew") }
|
|
141
149
|
};
|
|
142
|
-
function
|
|
150
|
+
function g(e, t) {
|
|
143
151
|
let n = !1, r = !1, i = !1, a = !1, o = !1, s = !1, c = !1, l = !1, u = () => n && r && i && a && o && s && c && l;
|
|
144
152
|
outer: for (let t of e) if (t) for (let e of t) {
|
|
145
153
|
let t = e.codePointAt(0);
|
|
@@ -164,42 +172,146 @@ function m(e, t) {
|
|
|
164
172
|
return l && d.push("Noto Sans", "Noto Serif"), a && d.push("Noto Naskh Arabic", "Noto Sans Arabic"), o && d.push("Noto Sans Thai"), s && d.push("Noto Sans Hebrew", "Noto Serif Hebrew"), c && d.push("Noto Sans Devanagari"), d;
|
|
165
173
|
}
|
|
166
174
|
//#endregion
|
|
175
|
+
//#region packages/core/src/fonts/symbol-font.ts
|
|
176
|
+
var _ = {
|
|
177
|
+
167: "♣",
|
|
178
|
+
168: "♦",
|
|
179
|
+
169: "♥",
|
|
180
|
+
170: "♠",
|
|
181
|
+
171: "↔",
|
|
182
|
+
172: "←",
|
|
183
|
+
173: "↑",
|
|
184
|
+
174: "→",
|
|
185
|
+
175: "↓",
|
|
186
|
+
183: "•",
|
|
187
|
+
184: "÷",
|
|
188
|
+
185: "≠",
|
|
189
|
+
180: "×",
|
|
190
|
+
176: "°",
|
|
191
|
+
177: "±",
|
|
192
|
+
163: "≤",
|
|
193
|
+
179: "≥"
|
|
194
|
+
}, v = {
|
|
195
|
+
33: "✏",
|
|
196
|
+
34: "✂",
|
|
197
|
+
36: "👓",
|
|
198
|
+
74: "☺",
|
|
199
|
+
75: "😐",
|
|
200
|
+
76: "☹",
|
|
201
|
+
118: "❖",
|
|
202
|
+
167: "▪",
|
|
203
|
+
108: "●",
|
|
204
|
+
110: "■",
|
|
205
|
+
116: "◆",
|
|
206
|
+
119: "◆",
|
|
207
|
+
251: "✗",
|
|
208
|
+
252: "✓",
|
|
209
|
+
253: "☒",
|
|
210
|
+
254: "☑",
|
|
211
|
+
223: "←",
|
|
212
|
+
224: "→",
|
|
213
|
+
225: "↑",
|
|
214
|
+
226: "↓",
|
|
215
|
+
227: "↖",
|
|
216
|
+
228: "↗",
|
|
217
|
+
229: "↙",
|
|
218
|
+
230: "↘"
|
|
219
|
+
};
|
|
220
|
+
function y(e) {
|
|
221
|
+
let t = {};
|
|
222
|
+
for (let n of Object.keys(e)) {
|
|
223
|
+
let r = Number(n);
|
|
224
|
+
t[r] = e[r], t[61440 + r] = e[r];
|
|
225
|
+
}
|
|
226
|
+
return t;
|
|
227
|
+
}
|
|
228
|
+
var b = y(_), x = y(v);
|
|
229
|
+
function S(e, t) {
|
|
230
|
+
if (!t) return e;
|
|
231
|
+
let n = t.trim().toLowerCase(), r = n === "wingdings" ? x : n === "symbol" ? b : null;
|
|
232
|
+
return r ? r[e.charCodeAt(0)] ?? e : e;
|
|
233
|
+
}
|
|
234
|
+
function C(e) {
|
|
235
|
+
if (!e) return !1;
|
|
236
|
+
let t = e.toLowerCase();
|
|
237
|
+
return t === "symbol" || t.includes("wingdings");
|
|
238
|
+
}
|
|
239
|
+
function w(e, t) {
|
|
240
|
+
if (!C(t) || e.length === 0) return [{
|
|
241
|
+
text: e,
|
|
242
|
+
mapped: !1
|
|
243
|
+
}];
|
|
244
|
+
let n = [], r = "", i = null;
|
|
245
|
+
for (let a of e) {
|
|
246
|
+
let e = S(a, t), o = e !== a;
|
|
247
|
+
i === null || o === i ? (i = o, r += e) : (n.push({
|
|
248
|
+
text: r,
|
|
249
|
+
mapped: i
|
|
250
|
+
}), i = o, r = e);
|
|
251
|
+
}
|
|
252
|
+
return r.length > 0 && n.push({
|
|
253
|
+
text: r,
|
|
254
|
+
mapped: i ?? !1
|
|
255
|
+
}), n;
|
|
256
|
+
}
|
|
257
|
+
//#endregion
|
|
167
258
|
//#region packages/core/src/chart/axis-scale.ts
|
|
168
|
-
function
|
|
259
|
+
function T(e, t = 5) {
|
|
169
260
|
if (e === 0) return 1;
|
|
170
261
|
let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r;
|
|
171
262
|
return (i < 1.5 ? 1 : i < 3.5 ? 2 : i < 7.5 ? 5 : 10) * r;
|
|
172
263
|
}
|
|
173
|
-
function
|
|
264
|
+
function E(e, t, n = 0) {
|
|
174
265
|
if (e <= 0) return t;
|
|
175
266
|
let r = e + (e - n) / 20;
|
|
176
267
|
return Math.ceil(r / t) * t;
|
|
177
268
|
}
|
|
178
|
-
function
|
|
269
|
+
function D(e, t) {
|
|
179
270
|
if (e >= 0) return 0;
|
|
180
271
|
let n = Math.floor(e / t) * t;
|
|
181
272
|
return Math.abs(n - e) < t * 1e-9 ? n - t : n;
|
|
182
273
|
}
|
|
183
|
-
|
|
184
|
-
|
|
274
|
+
var O = 40;
|
|
275
|
+
function k(e) {
|
|
276
|
+
return e == null || !isFinite(e) || e <= 0 ? 5 : Math.min(15, Math.max(3, Math.round(e / O)));
|
|
277
|
+
}
|
|
278
|
+
function A(e, t, n, r, i) {
|
|
279
|
+
let a = T(t - e, k(i)), o = n ?? D(e, a);
|
|
185
280
|
return {
|
|
186
|
-
min:
|
|
187
|
-
max: r ??
|
|
188
|
-
step:
|
|
281
|
+
min: o,
|
|
282
|
+
max: r ?? E(t, a, o),
|
|
283
|
+
step: a
|
|
189
284
|
};
|
|
190
285
|
}
|
|
191
286
|
//#endregion
|
|
287
|
+
//#region packages/core/src/units.ts
|
|
288
|
+
var j = 12700, M = 9525, N = 4 / 3;
|
|
289
|
+
//#endregion
|
|
290
|
+
//#region packages/core/src/chart/axis-style.ts
|
|
291
|
+
function P(e, t) {
|
|
292
|
+
return e ? Math.max(.5, e / j) * t : 1;
|
|
293
|
+
}
|
|
294
|
+
function F(e, t, n) {
|
|
295
|
+
return {
|
|
296
|
+
color: e ? `#${e}` : "#aaa",
|
|
297
|
+
width: P(t, n)
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
function I(e) {
|
|
301
|
+
return e.catAxisCrossBetween !== "midCat";
|
|
302
|
+
}
|
|
303
|
+
//#endregion
|
|
192
304
|
//#region packages/core/src/chart/chart-number-format.ts
|
|
193
|
-
function
|
|
305
|
+
function L(e) {
|
|
194
306
|
return Number.isInteger(e) ? String(e) : e.toFixed(6).replace(/\.?0+$/, "");
|
|
195
307
|
}
|
|
196
|
-
function
|
|
197
|
-
if (!t || t.trim().toLowerCase() === "general") return
|
|
198
|
-
if (
|
|
199
|
-
let n =
|
|
200
|
-
return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") +
|
|
308
|
+
function R(e, t) {
|
|
309
|
+
if (!t || t.trim().toLowerCase() === "general") return L(e);
|
|
310
|
+
if (z(t)) return B(e, t);
|
|
311
|
+
let n = V(t), r;
|
|
312
|
+
return r = e > 0 ? n[0] ?? t : e < 0 ? n[1] ?? n[0] ?? t : n[2] ?? n[0] ?? t, r === "" ? "" : (e < 0 && n.length < 2 ? "-" : "") + H(Math.abs(e), r);
|
|
201
313
|
}
|
|
202
|
-
function
|
|
314
|
+
function z(e) {
|
|
203
315
|
let t = !1;
|
|
204
316
|
for (let n = 0; n < e.length; n++) {
|
|
205
317
|
let r = e[n];
|
|
@@ -221,7 +333,7 @@ function x(e) {
|
|
|
221
333
|
}
|
|
222
334
|
return !1;
|
|
223
335
|
}
|
|
224
|
-
function
|
|
336
|
+
function B(e, t) {
|
|
225
337
|
let n = Date.UTC(1899, 11, 30), r = e < 60 ? e + 1 : e, i = n + Math.floor(r) * 864e5, a = new Date(i), o = a.getUTCFullYear(), s = a.getUTCMonth() + 1, c = a.getUTCDate(), l = (e - Math.floor(e)) * 86400, u = Math.floor(l / 3600), d = Math.floor(l % 3600 / 60), f = Math.floor(l % 60), p = "", m = !1, h = 0;
|
|
226
338
|
for (; h < t.length;) {
|
|
227
339
|
let e = t[h];
|
|
@@ -276,7 +388,7 @@ function S(e, t) {
|
|
|
276
388
|
}
|
|
277
389
|
return p;
|
|
278
390
|
}
|
|
279
|
-
function
|
|
391
|
+
function V(e) {
|
|
280
392
|
let t = [], n = "";
|
|
281
393
|
for (let r = 0; r < e.length; r++) {
|
|
282
394
|
let i = e[r];
|
|
@@ -302,7 +414,7 @@ function C(e) {
|
|
|
302
414
|
}
|
|
303
415
|
return t.push(n), t;
|
|
304
416
|
}
|
|
305
|
-
function
|
|
417
|
+
function H(e, t) {
|
|
306
418
|
let n = [], r = 0, i = !1, a = !1;
|
|
307
419
|
for (; r < t.length;) {
|
|
308
420
|
let e = t[r];
|
|
@@ -363,16 +475,16 @@ function w(e, t) {
|
|
|
363
475
|
if (!i) return n.map((e) => e.text).join("");
|
|
364
476
|
let o = a ? e * 100 : e, s = "";
|
|
365
477
|
for (let e of n) e.kind === "num" && (s += e.text);
|
|
366
|
-
let c =
|
|
478
|
+
let c = U(o, s), l = !1;
|
|
367
479
|
return n.map((e) => e.kind === "lit" ? e.text : l ? "" : (l = !0, c)).join("");
|
|
368
480
|
}
|
|
369
|
-
function
|
|
481
|
+
function U(e, t) {
|
|
370
482
|
let n = t.indexOf("."), r = n >= 0 ? t.slice(0, n) : t, i = n >= 0 ? t.slice(n + 1) : "", a = /,/.test(r), o = (i.match(/[#0?]/g) ?? []).length, s = (r.replace(/,/g, "").match(/0/g) ?? []).length, [c, l = ""] = e.toFixed(o).split("."), u = c.padStart(s, "0"), d = a ? u.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : u;
|
|
371
483
|
return o === 0 ? d : `${d}.${l.padEnd(o, "0")}`;
|
|
372
484
|
}
|
|
373
485
|
//#endregion
|
|
374
486
|
//#region packages/core/src/shape/pattern-bitmaps.ts
|
|
375
|
-
var
|
|
487
|
+
var ee = {
|
|
376
488
|
pct5: [
|
|
377
489
|
0,
|
|
378
490
|
16,
|
|
@@ -754,21 +866,21 @@ var E = {
|
|
|
754
866
|
90
|
|
755
867
|
]
|
|
756
868
|
};
|
|
757
|
-
function
|
|
758
|
-
let r =
|
|
869
|
+
function te(e, t, n) {
|
|
870
|
+
let r = ee[e];
|
|
759
871
|
if (!r) return null;
|
|
760
|
-
let i =
|
|
872
|
+
let i = ne(8, 8);
|
|
761
873
|
if (!i) return null;
|
|
762
874
|
let a = i.getContext("2d");
|
|
763
875
|
if (!a) return null;
|
|
764
|
-
a.fillStyle =
|
|
876
|
+
a.fillStyle = re(n), a.fillRect(0, 0, 8, 8), a.fillStyle = re(t);
|
|
765
877
|
for (let e = 0; e < 8; e++) {
|
|
766
878
|
let t = r[e];
|
|
767
879
|
for (let n = 0; n < 8; n++) t & 1 << 7 - n && a.fillRect(n, e, 1, 1);
|
|
768
880
|
}
|
|
769
881
|
return i;
|
|
770
882
|
}
|
|
771
|
-
function
|
|
883
|
+
function ne(e, t) {
|
|
772
884
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(e, t);
|
|
773
885
|
if (typeof document < "u") {
|
|
774
886
|
let n = document.createElement("canvas");
|
|
@@ -776,23 +888,30 @@ function O(e, t) {
|
|
|
776
888
|
}
|
|
777
889
|
return null;
|
|
778
890
|
}
|
|
779
|
-
function
|
|
891
|
+
function re(e) {
|
|
780
892
|
return `rgba(${parseInt(e.slice(0, 2), 16)},${parseInt(e.slice(2, 4), 16)},${parseInt(e.slice(4, 6), 16)},${e.length >= 8 ? parseInt(e.slice(6, 8), 16) / 255 : 1})`;
|
|
781
893
|
}
|
|
782
894
|
//#endregion
|
|
783
895
|
//#region packages/core/src/shape/paint.ts
|
|
784
|
-
function
|
|
896
|
+
function W(e, t = 1) {
|
|
785
897
|
let n = e.charCodeAt(0) === 35 ? e.slice(1) : e;
|
|
786
898
|
return `rgba(${parseInt(n.slice(0, 2), 16)},${parseInt(n.slice(2, 4), 16)},${parseInt(n.slice(4, 6), 16)},${n.length >= 8 ? parseInt(n.slice(6, 8), 16) / 255 : t})`;
|
|
787
899
|
}
|
|
788
|
-
function
|
|
900
|
+
function ie(e) {
|
|
901
|
+
let t = e.charCodeAt(0) === 35 ? e.slice(1) : e, n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16);
|
|
902
|
+
return .299 * n + .587 * r + .114 * i;
|
|
903
|
+
}
|
|
904
|
+
function ae(e) {
|
|
905
|
+
return e && ie(e) < 128 ? "#FFFFFF" : "#000000";
|
|
906
|
+
}
|
|
907
|
+
function oe(e, t, n, r, i, a) {
|
|
789
908
|
if (!e || e.fillType === "none") return null;
|
|
790
|
-
if (e.fillType === "solid") return
|
|
791
|
-
if (e.fillType === "pattern") return
|
|
909
|
+
if (e.fillType === "solid") return W(e.color);
|
|
910
|
+
if (e.fillType === "pattern") return G(e, t);
|
|
792
911
|
if (e.fillType === "gradient") {
|
|
793
912
|
let o = e.stops;
|
|
794
913
|
if (o.length === 0) return null;
|
|
795
|
-
if (o.length === 1) return
|
|
914
|
+
if (o.length === 1) return W(o[0].color);
|
|
796
915
|
let s;
|
|
797
916
|
if (e.gradType === "radial") {
|
|
798
917
|
let e = n + i / 2, o = r + a / 2, c = Math.sqrt(i * i + a * a) / 2;
|
|
@@ -801,23 +920,23 @@ function j(e, t, n, r, i, a) {
|
|
|
801
920
|
let o = e.angle * Math.PI / 180, c = n + i / 2, l = r + a / 2, u = (Math.abs(Math.cos(o)) * i + Math.abs(Math.sin(o)) * a) / 2;
|
|
802
921
|
s = t.createLinearGradient(c - Math.cos(o) * u, l - Math.sin(o) * u, c + Math.cos(o) * u, l + Math.sin(o) * u);
|
|
803
922
|
}
|
|
804
|
-
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)),
|
|
923
|
+
for (let e of o) s.addColorStop(Math.min(1, Math.max(0, e.position)), W(e.color));
|
|
805
924
|
return s;
|
|
806
925
|
}
|
|
807
926
|
return null;
|
|
808
927
|
}
|
|
809
|
-
var
|
|
810
|
-
function
|
|
811
|
-
let n = `${e.preset}|${e.fg}|${e.bg}`, r =
|
|
812
|
-
r || (r = /* @__PURE__ */ new Map(),
|
|
928
|
+
var se = /* @__PURE__ */ new WeakMap();
|
|
929
|
+
function G(e, t) {
|
|
930
|
+
let n = `${e.preset}|${e.fg}|${e.bg}`, r = se.get(t);
|
|
931
|
+
r || (r = /* @__PURE__ */ new Map(), se.set(t, r));
|
|
813
932
|
let i = r.get(n);
|
|
814
933
|
if (i) return i;
|
|
815
|
-
let a =
|
|
816
|
-
if (!a) return
|
|
934
|
+
let a = te(e.preset, e.fg, e.bg);
|
|
935
|
+
if (!a) return W(e.fg);
|
|
817
936
|
let o = t.createPattern(a, "repeat");
|
|
818
|
-
return o ? (r.set(n, o), o) :
|
|
937
|
+
return o ? (r.set(n, o), o) : W(e.fg);
|
|
819
938
|
}
|
|
820
|
-
var
|
|
939
|
+
var K = {
|
|
821
940
|
dash: [6, 3],
|
|
822
941
|
dot: [1.5, 3],
|
|
823
942
|
dashDot: [
|
|
@@ -850,20 +969,20 @@ var P = {
|
|
|
850
969
|
2
|
|
851
970
|
]
|
|
852
971
|
};
|
|
853
|
-
function
|
|
972
|
+
function q(e, t, n) {
|
|
854
973
|
if (!t) {
|
|
855
974
|
e.strokeStyle = "transparent", e.lineWidth = 0, e.setLineDash([]);
|
|
856
975
|
return;
|
|
857
976
|
}
|
|
858
|
-
e.strokeStyle =
|
|
977
|
+
e.strokeStyle = W(t.color);
|
|
859
978
|
let r = Math.max(.5, t.width * n);
|
|
860
979
|
e.lineWidth = r;
|
|
861
|
-
let i = t.dashStyle ?
|
|
980
|
+
let i = t.dashStyle ? K[t.dashStyle] : null;
|
|
862
981
|
e.setLineDash(i ? i.map((e) => e * r) : []);
|
|
863
982
|
}
|
|
864
983
|
//#endregion
|
|
865
|
-
//#region packages/core/src/
|
|
866
|
-
var
|
|
984
|
+
//#region packages/core/src/chart/renderer.ts
|
|
985
|
+
var J = [
|
|
867
986
|
"4472C4",
|
|
868
987
|
"ED7D31",
|
|
869
988
|
"A9D18E",
|
|
@@ -877,58 +996,58 @@ var I = 12700, L = 9525, R = 4 / 3, z = [
|
|
|
877
996
|
"255E91",
|
|
878
997
|
"967300"
|
|
879
998
|
];
|
|
880
|
-
function
|
|
881
|
-
return t?.color ? `#${t.color}` : `#${
|
|
999
|
+
function ce(e, t) {
|
|
1000
|
+
return t?.color ? `#${t.color}` : `#${J[e % J.length]}`;
|
|
882
1001
|
}
|
|
883
|
-
function
|
|
1002
|
+
function le(e, t) {
|
|
884
1003
|
let n = t.dataPointColors?.[e];
|
|
885
|
-
return n ? `#${n}` : `#${
|
|
1004
|
+
return n ? `#${n}` : `#${J[e % J.length]}`;
|
|
886
1005
|
}
|
|
887
|
-
function
|
|
1006
|
+
function ue(e) {
|
|
888
1007
|
return e === "pie" || e === "doughnut";
|
|
889
1008
|
}
|
|
890
|
-
function
|
|
891
|
-
if (
|
|
1009
|
+
function de(e, t, n) {
|
|
1010
|
+
if (ue(e)) {
|
|
892
1011
|
let e = t[0];
|
|
893
|
-
return e ?
|
|
1012
|
+
return e ? le(n, e) : `#${J[n % J.length]}`;
|
|
894
1013
|
}
|
|
895
|
-
return
|
|
1014
|
+
return ce(n, t[n]);
|
|
896
1015
|
}
|
|
897
|
-
function
|
|
1016
|
+
function fe(e, t, n) {
|
|
898
1017
|
return e ? e / 100 * n : Math.max(8, Math.min(10, t * .045));
|
|
899
1018
|
}
|
|
900
|
-
function
|
|
1019
|
+
function pe(e, t, n, r, i, a, o, s) {
|
|
901
1020
|
e.save(), e.font = `${o ? "bold " : ""}${a}px sans-serif`, e.fillStyle = s, i === "cat" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), n, r)) : (e.translate(n, r), e.rotate(-Math.PI / 2), e.textAlign = "center", e.textBaseline = "middle", e.fillText(t.slice(0, 60), 0, 0)), e.restore();
|
|
902
1021
|
}
|
|
903
|
-
function
|
|
1022
|
+
function me(e) {
|
|
904
1023
|
return e ? `#${e}` : "#555";
|
|
905
1024
|
}
|
|
906
|
-
function
|
|
1025
|
+
function he(e) {
|
|
907
1026
|
return Math.max(8, e * .02);
|
|
908
1027
|
}
|
|
909
|
-
function
|
|
910
|
-
let i =
|
|
1028
|
+
function ge(e, t, n, r) {
|
|
1029
|
+
let i = fe(e.catAxisTitleFontSizeHpt, n, r), a = fe(e.valAxisTitleFontSizeHpt, n, r);
|
|
911
1030
|
return {
|
|
912
1031
|
catTitlePx: i,
|
|
913
1032
|
valTitlePx: a,
|
|
914
|
-
catTitleH: e.catAxisTitle ? i +
|
|
915
|
-
valTitleW: e.valAxisTitle ? a +
|
|
1033
|
+
catTitleH: e.catAxisTitle ? i + he(n) + 4 : 0,
|
|
1034
|
+
valTitleW: e.valAxisTitle ? a + he(t) + 4 : 0
|
|
916
1035
|
};
|
|
917
1036
|
}
|
|
918
|
-
function
|
|
1037
|
+
function _e(e, t, n, r, i, a, o, s, c, l, u, d, f, p) {
|
|
919
1038
|
if (t.valAxisTitle) {
|
|
920
|
-
let r = n + u +
|
|
921
|
-
|
|
1039
|
+
let r = n + u + he(i) + p / 2, a = s + l / 2;
|
|
1040
|
+
pe(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, me(t.valAxisTitleFontColor));
|
|
922
1041
|
}
|
|
923
1042
|
if (t.catAxisTitle) {
|
|
924
|
-
let n = o + c / 2, i = r + a - d -
|
|
925
|
-
|
|
1043
|
+
let n = o + c / 2, i = r + a - d - he(a) - f / 2;
|
|
1044
|
+
pe(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, me(t.catAxisTitleFontColor));
|
|
926
1045
|
}
|
|
927
1046
|
}
|
|
928
|
-
function
|
|
1047
|
+
function ve(e) {
|
|
929
1048
|
return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
|
|
930
1049
|
}
|
|
931
|
-
function
|
|
1050
|
+
function ye(e, t, n, r, i, a, o) {
|
|
932
1051
|
if (e.fillStyle = n, t === "line") {
|
|
933
1052
|
e.strokeStyle = n;
|
|
934
1053
|
let t = e.lineWidth;
|
|
@@ -937,34 +1056,34 @@ function ae(e, t, n, r, i, a, o) {
|
|
|
937
1056
|
e.moveTo(r, s), e.lineTo(r + a, s), e.stroke(), e.lineWidth = t;
|
|
938
1057
|
} else e.fillRect(r, i, a, o);
|
|
939
1058
|
}
|
|
940
|
-
function
|
|
941
|
-
if (
|
|
1059
|
+
function be(e, t) {
|
|
1060
|
+
if (ue(t)) {
|
|
942
1061
|
let n = e[0], r = n ? n.values.length : 0, i = n?.categories ?? [];
|
|
943
1062
|
return Array.from({ length: r }, (n, r) => ({
|
|
944
1063
|
label: (i[r] ?? `Item ${r + 1}`).toString(),
|
|
945
|
-
color:
|
|
1064
|
+
color: de(t, e, r)
|
|
946
1065
|
}));
|
|
947
1066
|
}
|
|
948
1067
|
return e.map((n, r) => ({
|
|
949
1068
|
label: n.name || `Series ${r + 1}`,
|
|
950
|
-
color:
|
|
1069
|
+
color: de(t, e, r)
|
|
951
1070
|
}));
|
|
952
1071
|
}
|
|
953
|
-
function
|
|
954
|
-
let c =
|
|
1072
|
+
function xe(e, t, n, r, i, a, o = "vertical", s) {
|
|
1073
|
+
let c = ve(s), l = be(t, s);
|
|
955
1074
|
if (o === "horizontal") {
|
|
956
1075
|
let t = Math.max(9, Math.min(12, a * .7));
|
|
957
1076
|
e.font = `${t}px sans-serif`, e.textBaseline = "middle";
|
|
958
1077
|
let o = l.map((t) => 14 + e.measureText(t.label.slice(0, 30)).width), s = n + (i - (o.reduce((e, t) => e + t, 0) + 12 * Math.max(0, l.length - 1))) / 2, u = r + a / 2;
|
|
959
|
-
for (let n = 0; n < l.length; n++)
|
|
1078
|
+
for (let n = 0; n < l.length; n++) ye(e, c, l[n].color, s, u - t / 2, 10, t), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[n].label.slice(0, 30), s + 10 + 4, u), s += o[n] + 12;
|
|
960
1079
|
return;
|
|
961
1080
|
}
|
|
962
1081
|
let u = Math.max(9, Math.min(12, a / (l.length + 1)));
|
|
963
1082
|
e.font = `${u}px sans-serif`, e.textBaseline = "middle";
|
|
964
1083
|
let d = u + 4, f = r + (a - d * l.length) / 2;
|
|
965
|
-
for (let t = 0; t < l.length; t++)
|
|
1084
|
+
for (let t = 0; t < l.length; t++) ye(e, c, l[t].color, n, f, 10, u), e.fillStyle = "#333", e.textAlign = "left", e.fillText(l[t].label.slice(0, 20), n + 10 + 4, f + u / 2), f += d;
|
|
966
1085
|
}
|
|
967
|
-
function
|
|
1086
|
+
function Se(e, t, n) {
|
|
968
1087
|
if (!e.showLegend) return null;
|
|
969
1088
|
let r = e.legendPos ?? "r", i = r === "l" ? "l" : r === "t" ? "t" : r === "b" ? "b" : "r";
|
|
970
1089
|
return i === "r" || i === "l" ? {
|
|
@@ -977,53 +1096,53 @@ function se(e, t, n) {
|
|
|
977
1096
|
reserveH: Math.max(18, n * .08)
|
|
978
1097
|
};
|
|
979
1098
|
}
|
|
980
|
-
function
|
|
1099
|
+
function Ce(e, t, n, r, i, a, o, s, c, l, u, d) {
|
|
981
1100
|
if (!n) return;
|
|
982
1101
|
let f = t.legendManualLayout;
|
|
983
1102
|
if (f && f.xMode === "edge" && f.yMode === "edge" && f.w > 0 && f.h > 0) {
|
|
984
1103
|
let n = r + f.x * a, s = i + f.y * o, c = f.w * a, l = f.h * o, u = c >= l ? "horizontal" : "vertical";
|
|
985
|
-
|
|
1104
|
+
xe(e, t.series, n, s, c, l, u, t.chartType);
|
|
986
1105
|
return;
|
|
987
1106
|
}
|
|
988
1107
|
switch (n.side) {
|
|
989
1108
|
case "r":
|
|
990
|
-
|
|
1109
|
+
xe(e, t.series, r + a - n.reserveW + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
991
1110
|
break;
|
|
992
1111
|
case "l":
|
|
993
|
-
|
|
1112
|
+
xe(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
994
1113
|
break;
|
|
995
1114
|
case "t":
|
|
996
|
-
|
|
1115
|
+
xe(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
|
|
997
1116
|
break;
|
|
998
1117
|
case "b":
|
|
999
|
-
|
|
1118
|
+
xe(e, t.series, s, i + o - n.reserveH, l, n.reserveH, "horizontal", t.chartType);
|
|
1000
1119
|
break;
|
|
1001
1120
|
}
|
|
1002
1121
|
}
|
|
1003
|
-
function
|
|
1122
|
+
function Y(e, t, n, r, i, a, o, s = !1) {
|
|
1004
1123
|
if (t === "none" || !t) return;
|
|
1005
|
-
let
|
|
1124
|
+
let c = o ? Math.max(4, o + 2) : 4, l = e.strokeStyle, u = e.lineWidth;
|
|
1006
1125
|
if (e.strokeStyle = a ?? "#888", e.lineWidth = o ?? 1, e.beginPath(), n === "val") {
|
|
1007
|
-
let n = r, a = i, o = t === "out" || t === "cross" ?
|
|
1008
|
-
e.moveTo(n +
|
|
1126
|
+
let n = r, a = i, o = s ? 1 : -1, l = t === "out" || t === "cross" ? o * c : 0, u = t === "in" || t === "cross" ? -o * c : 0;
|
|
1127
|
+
e.moveTo(n + l, a), e.lineTo(n + u, a);
|
|
1009
1128
|
} else {
|
|
1010
|
-
let n = r, a = i, o = t === "out" || t === "cross" ?
|
|
1011
|
-
e.moveTo(a, n + o), e.lineTo(a, n +
|
|
1129
|
+
let n = r, a = i, o = t === "out" || t === "cross" ? c : 0, s = t === "in" || t === "cross" ? -c : 0;
|
|
1130
|
+
e.moveTo(a, n + o), e.lineTo(a, n + s);
|
|
1012
1131
|
}
|
|
1013
|
-
e.stroke(), e.strokeStyle =
|
|
1132
|
+
e.stroke(), e.strokeStyle = l, e.lineWidth = u;
|
|
1014
1133
|
}
|
|
1015
|
-
function
|
|
1134
|
+
function we(e, t, n) {
|
|
1016
1135
|
return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
|
|
1017
1136
|
}
|
|
1018
|
-
function
|
|
1137
|
+
function Te(e, t, n) {
|
|
1019
1138
|
return e ? e / 100 * n : Math.max(8, t * .045);
|
|
1020
1139
|
}
|
|
1021
|
-
function
|
|
1140
|
+
function Ee(e, t, n, r, i, a) {
|
|
1022
1141
|
if (!t.title) return;
|
|
1023
1142
|
let o = t.titleFontFace ? `"${t.titleFontFace}", Calibri, Arial, sans-serif` : "Calibri, Arial, sans-serif";
|
|
1024
1143
|
e.font = `${t.titleFontBold ?? !0 ? "bold " : ""}${a}px ${o}`, e.fillStyle = t.titleFontColor ? `#${t.titleFontColor}` : "#333", e.textAlign = "center", e.textBaseline = "top", e.fillText(t.title, n + i / 2, r);
|
|
1025
1144
|
}
|
|
1026
|
-
function
|
|
1145
|
+
function De(e) {
|
|
1027
1146
|
if (e.categories.length > 0) return e.categories;
|
|
1028
1147
|
let t = e.series[0];
|
|
1029
1148
|
if (t?.categories && t.categories.length > 0) return t.categories;
|
|
@@ -1031,7 +1150,7 @@ function pe(e) {
|
|
|
1031
1150
|
for (let t of e.series) t.values.length > n && (n = t.values.length);
|
|
1032
1151
|
return n > 0 ? Array.from({ length: n }, (e, t) => String(t + 1)) : [];
|
|
1033
1152
|
}
|
|
1034
|
-
function
|
|
1153
|
+
function Oe(e, t, n, r, i, a, o, s, c) {
|
|
1035
1154
|
let l = s ?? "outEnd";
|
|
1036
1155
|
if (e.fillStyle = c ? `#${c}` : "#333", o === "vertical") {
|
|
1037
1156
|
let o = n + a / 2;
|
|
@@ -1041,21 +1160,11 @@ function me(e, t, n, r, i, a, o, s, c) {
|
|
|
1041
1160
|
l === "inBase" ? (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + 4, o)) : l === "inEnd" ? (e.textAlign = "right", e.textBaseline = "middle", e.fillText(t, n + i - 4, o)) : l === "ctr" ? (e.textAlign = "center", e.textBaseline = "middle", e.fillText(t, n + i / 2, o)) : (e.textAlign = "left", e.textBaseline = "middle", e.fillText(t, n + i + 2, o));
|
|
1042
1161
|
}
|
|
1043
1162
|
}
|
|
1044
|
-
function
|
|
1045
|
-
let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p =
|
|
1046
|
-
if (
|
|
1047
|
-
let
|
|
1048
|
-
|
|
1049
|
-
r: S + o * .03,
|
|
1050
|
-
b: s * .14 + O + T,
|
|
1051
|
-
l: o * .12 + k + C
|
|
1052
|
-
};
|
|
1053
|
-
c && (A.l = (t.catAxisHidden ? o * .03 : o * .22) + k + C, A.b = (t.valAxisHidden ? s * .02 : s * .08) + O + T), fe(e, t, i, a + g, o, h);
|
|
1054
|
-
let j = t.plotAreaManualLayout, M, N, P, F;
|
|
1055
|
-
if (j && j.w != null && j.h != null ? (M = i + j.x * o, N = a + j.y * s, P = j.w * o, F = j.h * s) : (M = i + A.l, N = a + A.t, P = o - A.l - A.r, F = s - A.t - A.b), P <= 0 || F <= 0) return;
|
|
1056
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(M, N, P, F));
|
|
1057
|
-
let L = 0;
|
|
1058
|
-
for (let e = 0; e < m; e++) {
|
|
1163
|
+
function ke(e, t, n, r) {
|
|
1164
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.chartType === "clusteredBarH" || t.chartType === "stackedBarH" || t.chartType === "stackedBarHPct", l = t.chartType.startsWith("stacked"), u = t.chartType === "stackedBarPct" || t.chartType === "stackedBarHPct", d = t.series.filter((e) => e.seriesType !== "line"), f = t.series.filter((e) => e.seriesType === "line"), p = !c && t.secondaryValAxis && f.some((e) => e.useSecondaryAxis === !0) ? t.secondaryValAxis : null, m = De(t), h = m.length;
|
|
1165
|
+
if (h === 0) return;
|
|
1166
|
+
let g = t.title ? we(t, s, r) : 0, _ = t.title ? s * .02 : 0, v = t.title ? s * .025 : 0, y = t.title ? g + _ + v : 0, b = Se(t, o, s), x = b?.side === "r" ? b.reserveW : 0, S = b?.side === "l" ? b.reserveW : 0, C = b?.side === "t" ? b.reserveH : 0, w = b?.side === "b" ? b.reserveH : 0, { catTitlePx: T, valTitlePx: E, catTitleH: D, valTitleW: O } = ge(t, o, s, r), k = y + C + s * .02, j = c ? (t.valAxisHidden ? s * .02 : s * .08) + D + w : s * .14 + D + w, M = s - k - j, N = c ? o - ((t.catAxisHidden ? o * .03 : o * .22) + O + S) - (x + o * .03) : 0, P = (c ? N : M) / r, L = 0;
|
|
1167
|
+
for (let e = 0; e < h; e++) {
|
|
1059
1168
|
let t = 0;
|
|
1060
1169
|
for (let n of d) {
|
|
1061
1170
|
let r = n.values[e] ?? 0;
|
|
@@ -1064,110 +1173,172 @@ function q(e, t, n, r) {
|
|
|
1064
1173
|
l && (L = Math.max(L, t));
|
|
1065
1174
|
}
|
|
1066
1175
|
u && (L = 100), t.valMax != null && (L = t.valMax), L === 0 && (L = 1);
|
|
1067
|
-
let { max:
|
|
1068
|
-
if (
|
|
1069
|
-
let
|
|
1176
|
+
let { max: z, step: B } = A(0, L, void 0, t.valMax, P), V = 0, H = 1, U = 1;
|
|
1177
|
+
if (p) {
|
|
1178
|
+
let e = [];
|
|
1179
|
+
for (let t of f) if (t.useSecondaryAxis === !0) for (let n of t.values) n != null && e.push(n);
|
|
1180
|
+
let t = e.length ? Math.min(...e) : 0, n = e.length ? Math.max(...e) : 1, i = A(Math.min(0, t), n, p.min, p.max, M / r);
|
|
1181
|
+
V = i.min, H = i.max, U = i.step;
|
|
1182
|
+
}
|
|
1183
|
+
let ee = Math.max(8, Math.min(11, s / 20)), te = Math.max(8, Math.min(11, M / 20)), ne = e.font, re = 0;
|
|
1184
|
+
if (!c && !t.valAxisHidden) {
|
|
1185
|
+
e.font = `${te}px sans-serif`;
|
|
1186
|
+
let n = 0, r = Math.round(z / B);
|
|
1187
|
+
for (let i = 0; i <= r; i++) {
|
|
1188
|
+
let r = u ? `${Math.round(i * B)}%` : R(i * B, t.valAxisFormatCode);
|
|
1189
|
+
n = Math.max(n, e.measureText(r).width);
|
|
1190
|
+
}
|
|
1191
|
+
re = n + 16;
|
|
1192
|
+
}
|
|
1193
|
+
let W = p?.fontSizeHpt ? p.fontSizeHpt / 100 * r : ee, ie = 0;
|
|
1194
|
+
if (p && !p.hidden) {
|
|
1195
|
+
e.font = `${W}px sans-serif`;
|
|
1196
|
+
let t = 0, n = Math.round((H - V) / U);
|
|
1197
|
+
for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(R(V + r * U, p.formatCode ?? null)).width);
|
|
1198
|
+
ie = t + 18;
|
|
1199
|
+
}
|
|
1200
|
+
e.font = ne;
|
|
1201
|
+
let ae = p && p.title ? (p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05)) + 8 : 0, oe = {
|
|
1202
|
+
t: k,
|
|
1203
|
+
r: x + o * .03 + ie + ae,
|
|
1204
|
+
b: j,
|
|
1205
|
+
l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O + re
|
|
1206
|
+
};
|
|
1207
|
+
Ee(e, t, i, a + _, o, g);
|
|
1208
|
+
let se = t.plotAreaManualLayout, G, K, q, J;
|
|
1209
|
+
if (se && se.w != null && se.h != null ? (G = i + se.x * o, K = a + se.y * s, q = se.w * o, J = se.h * s) : (G = i + oe.l, K = a + oe.t, q = o - oe.l - oe.r, J = s - oe.t - oe.b), q <= 0 || J <= 0) return;
|
|
1210
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(G, K, q, J));
|
|
1211
|
+
let le = H - V || 1, ue = (e) => K + J - e / z * J, de = (e) => K + J - (e - V) / le * J, fe = "#e0e0e0", pe = Math.round(z / B);
|
|
1212
|
+
e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, J / 20))}px sans-serif`;
|
|
1213
|
+
let me = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555";
|
|
1214
|
+
if (e.fillStyle = me, !t.valAxisHidden) for (let n = 0; n <= pe; n++) {
|
|
1215
|
+
let r = n * B, i = u ? `${Math.round(r)}%` : R(r, t.valAxisFormatCode);
|
|
1070
1216
|
if (c) {
|
|
1071
|
-
let t =
|
|
1072
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1217
|
+
let t = G + r / z * q;
|
|
1218
|
+
e.strokeStyle = n === 0 ? "#aaa" : fe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, K), e.lineTo(t, K + J), e.stroke(), e.textAlign = "center", e.fillText(i, t, K + J + 10);
|
|
1073
1219
|
} else {
|
|
1074
|
-
let t =
|
|
1075
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1220
|
+
let t = K + J - r / z * J;
|
|
1221
|
+
e.strokeStyle = n === 0 ? "#aaa" : fe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(G, t), e.lineTo(G + q, t), e.stroke(), e.textAlign = "right", e.fillText(i, G - 12, t);
|
|
1076
1222
|
}
|
|
1077
1223
|
}
|
|
1078
|
-
let
|
|
1224
|
+
let { color: he, width: ve } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: ye, width: be } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), xe = (t, n, r, i, a, o) => {
|
|
1079
1225
|
e.strokeStyle = a, e.lineWidth = o, e.beginPath(), e.moveTo(t, n), e.lineTo(r, i), e.stroke();
|
|
1080
|
-
},
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1226
|
+
}, Te = !t.catAxisHidden && !t.catAxisLineHidden, ke = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null, Ae = () => {
|
|
1227
|
+
if (c ? (Te && xe(G, K, G, K + J, he, ve), ke && xe(G, K + J, G + q, K + J, ye, be)) : (Te && xe(G, K + J, G + q, K + J, he, ve), ke && xe(G, K, G, K + J, ye, be)), !t.valAxisHidden && t.valAxisMajorTickMark && t.valAxisMajorTickMark !== "none") for (let n = 0; n <= pe; n++) {
|
|
1228
|
+
let r = n * B;
|
|
1229
|
+
c ? Y(e, t.valAxisMajorTickMark, "cat", K + J, G + r / z * q, ye, be) : Y(e, t.valAxisMajorTickMark, "val", G, K + J - r / z * J, ye, be);
|
|
1230
|
+
}
|
|
1231
|
+
if (!t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") {
|
|
1232
|
+
let n = I(t), r = n ? h : h - 1;
|
|
1233
|
+
for (let i = 0; i <= r; i++) {
|
|
1234
|
+
let r = n ? i / h : h === 1 ? .5 : i / (h - 1);
|
|
1235
|
+
c ? Y(e, t.catAxisMajorTickMark, "val", G, K + r * J, he, ve) : Y(e, t.catAxisMajorTickMark, "cat", K + J, G + r * q, he, ve);
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
}, X = c ? J / h : q / h, je = l ? 1 : Math.max(1, d.length), Me = l ? 0 : t.barOverlap ?? 0, Ne = t.barGapWidth ?? 150, Pe = X / (1 + (je - 1) * (1 - Me / 100) + Ne / 100), Fe = l ? 0 : Pe * (1 - Me / 100), Ie = (X - (Pe + (je - 1) * Fe)) / 2;
|
|
1239
|
+
for (let n = 0; n < h; n++) {
|
|
1084
1240
|
let i = 0, a = 0;
|
|
1085
1241
|
if (u) {
|
|
1086
1242
|
for (let e of d) a += Math.abs(e.values[n] ?? 0);
|
|
1087
1243
|
a === 0 && (a = 1);
|
|
1088
1244
|
}
|
|
1089
1245
|
for (let o = 0; o < d.length; o++) {
|
|
1090
|
-
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f),
|
|
1246
|
+
let s = d[o], f = s.values[n] ?? 0, p = u ? Math.abs(f) / a * 100 : Math.abs(f), m = ce(o, s);
|
|
1091
1247
|
if (c) {
|
|
1092
|
-
let a = l ? o : d.length - 1 - o, c = l ?
|
|
1093
|
-
e.fillStyle =
|
|
1248
|
+
let a = l ? o : d.length - 1 - o, c = l ? K + (h - 1 - n) * X + Ie : K + (h - 1 - n) * X + Ie + a * Fe, f = p / z * q, g = l ? G + i / z * q : G;
|
|
1249
|
+
e.fillStyle = m, e.fillRect(g, c, f, Pe), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Pe * .6))}px sans-serif`, Oe(e, u ? `${Math.round(p)}%` : R(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, Pe, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
1094
1250
|
} else {
|
|
1095
|
-
let a = l ?
|
|
1096
|
-
e.fillStyle =
|
|
1251
|
+
let a = l ? G + n * X + Ie : G + n * X + Ie + o * Fe, c = p / z * J, d = K + J - (l ? i + p : p) / z * J;
|
|
1252
|
+
e.fillStyle = m, e.fillRect(a, d, Pe, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Pe * .6))}px sans-serif`, Oe(e, u ? `${Math.round(p)}%` : R(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, Pe, "vertical", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
1097
1253
|
}
|
|
1098
1254
|
l && (i += p);
|
|
1099
1255
|
}
|
|
1100
1256
|
}
|
|
1101
1257
|
if (!t.catAxisHidden) {
|
|
1102
|
-
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11,
|
|
1103
|
-
for (let t = 0; t <
|
|
1104
|
-
let n = (
|
|
1258
|
+
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.font = `${Math.max(8, Math.min(11, X * .5))}px sans-serif`;
|
|
1259
|
+
for (let t = 0; t < h; t++) {
|
|
1260
|
+
let n = (m[t] ?? "").toString().slice(0, 12);
|
|
1105
1261
|
if (c) {
|
|
1106
|
-
let r =
|
|
1107
|
-
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n,
|
|
1262
|
+
let r = K + (h - 1 - t) * X + X / 2;
|
|
1263
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, G - 4, r);
|
|
1108
1264
|
} else {
|
|
1109
|
-
let r =
|
|
1110
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
1265
|
+
let r = G + t * X + X / 2;
|
|
1266
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, K + J + 3);
|
|
1111
1267
|
}
|
|
1112
1268
|
}
|
|
1113
1269
|
}
|
|
1114
1270
|
if (f.length > 0 && !c) for (let t = 0; t < f.length; t++) {
|
|
1115
|
-
let n = f[t], r =
|
|
1271
|
+
let n = f[t], r = ce(d.length + t, n), i = p && n.useSecondaryAxis === !0 ? de : ue;
|
|
1116
1272
|
e.strokeStyle = r, e.lineWidth = 2, e.setLineDash([]), e.beginPath();
|
|
1117
|
-
let
|
|
1118
|
-
for (let t = 0; t <
|
|
1273
|
+
let a = !1;
|
|
1274
|
+
for (let t = 0; t < h; t++) {
|
|
1119
1275
|
let r = n.values[t];
|
|
1120
1276
|
if (r == null) {
|
|
1121
|
-
|
|
1277
|
+
a = !1;
|
|
1122
1278
|
continue;
|
|
1123
1279
|
}
|
|
1124
|
-
let
|
|
1125
|
-
|
|
1280
|
+
let o = G + t * X + X / 2, s = i(r);
|
|
1281
|
+
a ? e.lineTo(o, s) : (e.moveTo(o, s), a = !0);
|
|
1282
|
+
}
|
|
1283
|
+
if (e.stroke(), n.showMarker !== !1) for (let t = 0; t < h; t++) {
|
|
1284
|
+
let a = n.values[t];
|
|
1285
|
+
if (a == null) continue;
|
|
1286
|
+
let o = G + t * X + X / 2, s = i(a);
|
|
1287
|
+
e.fillStyle = r, e.beginPath(), e.arc(o, s, 3, 0, Math.PI * 2), e.fill();
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
if (Ae(), p) {
|
|
1291
|
+
let t = G + q, { color: n, width: i } = F(p.lineColor, p.lineWidthEmu, r);
|
|
1292
|
+
if (p.lineHidden || xe(t, K, t, K + J, n, i), !p.hidden) {
|
|
1293
|
+
e.font = `${W}px sans-serif`, e.fillStyle = p.fontColor ? `#${p.fontColor}` : me, e.textAlign = "left", e.textBaseline = "middle";
|
|
1294
|
+
let r = Math.max(1, Math.round(le / U));
|
|
1295
|
+
for (let a = 0; a <= r; a++) {
|
|
1296
|
+
let r = V + a * U, o = de(r);
|
|
1297
|
+
Y(e, p.majorTickMark, "val", t, o, n, i, !0), e.fillText(R(r, p.formatCode ?? null), t + 14, o);
|
|
1298
|
+
}
|
|
1126
1299
|
}
|
|
1127
|
-
if (
|
|
1128
|
-
let
|
|
1129
|
-
|
|
1130
|
-
let a = M + t * K + K / 2, o = N + F - i / R * F;
|
|
1131
|
-
e.fillStyle = r, e.beginPath(), e.arc(a, o, 3, 0, Math.PI * 2), e.fill();
|
|
1300
|
+
if (p.title) {
|
|
1301
|
+
let t = p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05);
|
|
1302
|
+
e.save(), e.fillStyle = p.titleFontColor ? `#${p.titleFontColor}` : p.fontColor ? `#${p.fontColor}` : "#555", e.font = `${p.titleFontBold ? "bold " : ""}${t}px sans-serif`, e.textAlign = "center", e.textBaseline = "middle", e.translate(G + q + ie + t * .6, K + J / 2), e.rotate(Math.PI / 2), e.fillText(p.title, 0, 0), e.restore();
|
|
1132
1303
|
}
|
|
1133
1304
|
}
|
|
1134
|
-
|
|
1305
|
+
Ce(e, c && !l ? {
|
|
1135
1306
|
...t,
|
|
1136
1307
|
series: [...t.series].reverse()
|
|
1137
|
-
} : t,
|
|
1308
|
+
} : t, b, i, a, o, s, G, K, q, J, y + 2), _e(e, t, i, a, o, s, G, K, q, J, S, w, T, E);
|
|
1138
1309
|
}
|
|
1139
|
-
function
|
|
1140
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1310
|
+
function Ae(e, t, n, r) {
|
|
1311
|
+
let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
|
|
1141
1312
|
if (l === 0) return;
|
|
1142
|
-
let u = t.title ?
|
|
1143
|
-
t: p + _ +
|
|
1313
|
+
let u = t.title ? we(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0, y = Te(t.catAxisFontSizeHpt, s, r), b = Te(t.valAxisFontSizeHpt, s, r), { catTitlePx: x, valTitlePx: S, catTitleH: C, valTitleW: w } = ge(t, o, s, r), T = {
|
|
1314
|
+
t: p + _ + b / 2 + 2,
|
|
1144
1315
|
r: h + o * .05,
|
|
1145
|
-
b:
|
|
1146
|
-
l:
|
|
1316
|
+
b: y + 12 + C + v,
|
|
1317
|
+
l: b * 2.2 + 10 + w + g
|
|
1147
1318
|
};
|
|
1148
|
-
|
|
1149
|
-
let
|
|
1150
|
-
if (
|
|
1151
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(
|
|
1152
|
-
let
|
|
1153
|
-
for (let e of t.series) for (let t of e.values) t != null && (
|
|
1154
|
-
isFinite(
|
|
1155
|
-
let { min:
|
|
1156
|
-
if (
|
|
1157
|
-
let
|
|
1319
|
+
Ee(e, t, i, a + d, o, u);
|
|
1320
|
+
let E = i + T.l, D = a + T.t, O = o - T.l - T.r, k = s - T.t - T.b;
|
|
1321
|
+
if (O <= 0 || k <= 0) return;
|
|
1322
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(E, D, O, k));
|
|
1323
|
+
let j = Infinity, M = -Infinity;
|
|
1324
|
+
for (let e of t.series) for (let t of e.values) t != null && (j = Math.min(j, t), M = Math.max(M, t));
|
|
1325
|
+
isFinite(j) || (j = 0, M = 1), t.valMin == null ? j > 0 && (j = 0) : j = t.valMin, t.valMax == null ? M < 0 && (M = 0) : M = t.valMax, M === j && (M = j + 1);
|
|
1326
|
+
let { min: N, max: P, step: F } = A(j, M, t.valMin, t.valMax, k / r), z = P - N;
|
|
1327
|
+
if (z === 0) return;
|
|
1328
|
+
let B = (e) => D + k - (e - N) / z * k, V = I(t) ? (e) => E + (e + .5) / l * O : (e) => E + (l === 1 ? O / 2 : e / (l - 1) * O);
|
|
1158
1329
|
if (!t.valAxisHidden) {
|
|
1159
|
-
let n = Math.round((
|
|
1160
|
-
e.font = `${
|
|
1330
|
+
let n = Math.round((P - N) / F);
|
|
1331
|
+
e.font = `${b}px sans-serif`, e.textBaseline = "middle";
|
|
1161
1332
|
for (let r = 0; r <= n; r++) {
|
|
1162
|
-
let n =
|
|
1163
|
-
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(
|
|
1333
|
+
let n = N + r * F, i = B(n);
|
|
1334
|
+
e.strokeStyle = n === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(E, i), e.lineTo(E + O, i), e.stroke(), Y(e, t.valAxisMajorTickMark, "val", E, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(R(n, t.valAxisFormatCode), E - 6, i);
|
|
1164
1335
|
}
|
|
1165
1336
|
}
|
|
1166
|
-
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(
|
|
1167
|
-
let
|
|
1337
|
+
e.strokeStyle = "#aaa", e.lineWidth = 1, !t.catAxisHidden && !t.catAxisLineHidden && (e.beginPath(), e.moveTo(E, D + k), e.lineTo(E + O, D + k), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && (e.beginPath(), e.moveTo(E, D), e.lineTo(E, D + k), e.stroke());
|
|
1338
|
+
let H = Math.max(1, 2.25 * r), U = Math.max(2, 2.5 * r), ee = Te(t.dataLabelFontSizeHpt, s, r);
|
|
1168
1339
|
for (let n = 0; n < t.series.length; n++) {
|
|
1169
|
-
let r = t.series[n], i =
|
|
1170
|
-
e.strokeStyle = i, e.lineWidth =
|
|
1340
|
+
let r = t.series[n], i = ce(n, r);
|
|
1341
|
+
e.strokeStyle = i, e.lineWidth = H, e.setLineDash([]), e.beginPath();
|
|
1171
1342
|
let a = !1;
|
|
1172
1343
|
for (let t = 0; t < l; t++) {
|
|
1173
1344
|
let n = r.values[t];
|
|
@@ -1175,91 +1346,93 @@ function he(e, t, n, r) {
|
|
|
1175
1346
|
a = !1;
|
|
1176
1347
|
continue;
|
|
1177
1348
|
}
|
|
1178
|
-
let i =
|
|
1349
|
+
let i = V(t), o = B(n);
|
|
1179
1350
|
a ? e.lineTo(i, o) : (e.moveTo(i, o), a = !0);
|
|
1180
1351
|
}
|
|
1181
1352
|
e.stroke(), e.fillStyle = i;
|
|
1182
1353
|
let o = r.showMarker !== !1;
|
|
1183
1354
|
for (let n = 0; n < l; n++) {
|
|
1184
1355
|
let a = r.values[n];
|
|
1185
|
-
if (a != null && (o && (e.beginPath(), e.arc(
|
|
1186
|
-
e.font = `${
|
|
1187
|
-
let t = o ?
|
|
1188
|
-
e.fillText(
|
|
1356
|
+
if (a != null && (o && (e.beginPath(), e.arc(V(n), B(a), U, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
|
|
1357
|
+
e.font = `${ee}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
1358
|
+
let t = o ? U + 1 : 2;
|
|
1359
|
+
e.fillText(L(a), V(n), B(a) - t), e.fillStyle = i;
|
|
1189
1360
|
}
|
|
1190
1361
|
}
|
|
1191
1362
|
}
|
|
1192
1363
|
if (!t.catAxisHidden) {
|
|
1193
1364
|
let n = Math.max(1, Math.ceil(l / 8)), r = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555";
|
|
1194
|
-
e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${
|
|
1365
|
+
e.fillStyle = r, e.textAlign = "center", e.textBaseline = "top", e.font = `${y}px sans-serif`;
|
|
1195
1366
|
for (let i = 0; i < l; i += n) {
|
|
1196
|
-
let n =
|
|
1197
|
-
|
|
1367
|
+
let n = V(i);
|
|
1368
|
+
Y(e, t.catAxisMajorTickMark, "cat", D + k, n), e.fillStyle = r, e.fillText((c[i] ?? "").toString().slice(0, 10), n, D + k + 5);
|
|
1198
1369
|
}
|
|
1199
1370
|
}
|
|
1200
|
-
|
|
1371
|
+
Ce(e, t, m, i, a, o, s, E, D, O, k, p + 2), _e(e, t, i, a, o, s, E, D, O, k, g, v, x, S);
|
|
1201
1372
|
}
|
|
1202
|
-
function
|
|
1203
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1373
|
+
function X(e, t, n, r) {
|
|
1374
|
+
let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
|
|
1204
1375
|
if (l === 0) return;
|
|
1205
|
-
let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ?
|
|
1206
|
-
t: m +
|
|
1376
|
+
let u = t.chartType === "stackedArea" || t.chartType === "stackedAreaPct", d = t.title ? we(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = Se(t, o, s), g = h?.side === "r" ? h.reserveW : 0, _ = h?.side === "l" ? h.reserveW : 0, v = h?.side === "t" ? h.reserveH : 0, y = h?.side === "b" ? h.reserveH : 0, { catTitlePx: b, valTitlePx: x, catTitleH: S, valTitleW: C } = ge(t, o, s, r), w = {
|
|
1377
|
+
t: m + v + s * .02,
|
|
1207
1378
|
r: g + o * .05,
|
|
1208
|
-
b: s * .14 +
|
|
1209
|
-
l: o * .12 +
|
|
1379
|
+
b: s * .14 + S + y,
|
|
1380
|
+
l: o * .12 + C + _
|
|
1210
1381
|
};
|
|
1211
|
-
|
|
1212
|
-
let
|
|
1213
|
-
if (
|
|
1214
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(
|
|
1215
|
-
let
|
|
1382
|
+
Ee(e, t, i, a + f, o, d);
|
|
1383
|
+
let T = i + w.l, E = a + w.t, D = o - w.l - w.r, O = s - w.t - w.b;
|
|
1384
|
+
if (D <= 0 || O <= 0) return;
|
|
1385
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(T, E, D, O));
|
|
1386
|
+
let k = 0;
|
|
1216
1387
|
for (let e = 0; e < l; e++) if (u) {
|
|
1217
1388
|
let n = 0;
|
|
1218
1389
|
for (let r of t.series) n += r.values[e] ?? 0;
|
|
1219
|
-
|
|
1220
|
-
} else for (let n of t.series)
|
|
1221
|
-
t.valMax != null && (
|
|
1222
|
-
let { max:
|
|
1223
|
-
if (!t.valAxisHidden) {
|
|
1224
|
-
e.font = `${Math.max(8, Math.min(11, j / 20))}px sans-serif`, e.textBaseline = "middle";
|
|
1225
|
-
let n = Math.round(N / P);
|
|
1226
|
-
for (let r = 0; r <= n; r++) {
|
|
1227
|
-
let n = r * P, i = I(n);
|
|
1228
|
-
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(D, i), e.lineTo(D + k, i), e.stroke(), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(b(n, t.valAxisFormatCode), D - 4, i);
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = "#aaa", e.lineWidth = 1, e.beginPath(), e.moveTo(D, O + j), e.lineTo(D + k, O + j), e.stroke());
|
|
1232
|
-
let L = u ? Array(l).fill(0) : null;
|
|
1390
|
+
k = Math.max(k, n);
|
|
1391
|
+
} else for (let n of t.series) k = Math.max(k, n.values[e] ?? 0);
|
|
1392
|
+
t.valMax != null && (k = t.valMax), k === 0 && (k = 1);
|
|
1393
|
+
let { max: j, step: M } = A(0, k, void 0, t.valMax, O / r), N = I(t), P = N ? (e) => T + (e + .5) / l * D : (e) => T + (l === 1 ? D / 2 : e / (l - 1) * D), L = (e) => E + O - e / j * O, { color: z, width: B } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: V, width: H } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), U = u ? Array(l).fill(0) : null;
|
|
1233
1394
|
for (let n = t.series.length - 1; n >= 0; n--) {
|
|
1234
|
-
let r = t.series[n], i =
|
|
1235
|
-
if (e.beginPath(), u &&
|
|
1395
|
+
let r = t.series[n], i = ce(n, r), a = E + O;
|
|
1396
|
+
if (e.beginPath(), u && U) {
|
|
1236
1397
|
for (let t = 0; t < l; t++) {
|
|
1237
|
-
let n = (r.values[t] ?? 0) +
|
|
1398
|
+
let n = (r.values[t] ?? 0) + U[t], i = P(t), a = L(n);
|
|
1238
1399
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1239
1400
|
}
|
|
1240
|
-
for (let t = l - 1; t >= 0; t--) e.lineTo(
|
|
1241
|
-
for (let e = 0; e < l; e++)
|
|
1401
|
+
for (let t = l - 1; t >= 0; t--) e.lineTo(P(t), L(U[t]));
|
|
1402
|
+
for (let e = 0; e < l; e++) U[e] += r.values[e] ?? 0;
|
|
1242
1403
|
} else {
|
|
1243
|
-
e.moveTo(
|
|
1244
|
-
for (let t = 0; t < l; t++) e.lineTo(
|
|
1245
|
-
e.lineTo(
|
|
1404
|
+
e.moveTo(P(0), a);
|
|
1405
|
+
for (let t = 0; t < l; t++) e.lineTo(P(t), L(r.values[t] ?? 0));
|
|
1406
|
+
e.lineTo(P(l - 1), a);
|
|
1407
|
+
}
|
|
1408
|
+
e.closePath(), e.fillStyle = W(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
|
|
1409
|
+
}
|
|
1410
|
+
if (!t.valAxisHidden) {
|
|
1411
|
+
e.font = `${Math.max(8, Math.min(11, O / 20))}px sans-serif`, e.textBaseline = "middle";
|
|
1412
|
+
let n = Math.round(j / M);
|
|
1413
|
+
for (let r = 0; r <= n; r++) {
|
|
1414
|
+
let n = r * M, i = L(n);
|
|
1415
|
+
e.strokeStyle = r === 0 ? "#aaa" : "#e0e0e0", e.lineWidth = r === 0 ? 1 : .5, e.beginPath(), e.moveTo(T, i), e.lineTo(T + D, i), e.stroke(), Y(e, t.valAxisMajorTickMark, "val", T, i, V, H), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(R(n, t.valAxisFormatCode), T - 6, i);
|
|
1246
1416
|
}
|
|
1247
|
-
e.closePath(), e.fillStyle = A(i, .6), e.fill(), e.strokeStyle = i, e.lineWidth = 1.5, e.setLineDash([]), e.stroke();
|
|
1248
1417
|
}
|
|
1418
|
+
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.strokeStyle = z, e.lineWidth = B, e.beginPath(), e.moveTo(T, E + O), e.lineTo(T + D, E + O), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null && (e.strokeStyle = V, e.lineWidth = H, e.beginPath(), e.moveTo(T, E), e.lineTo(T, E + O), e.stroke()), !t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") if (N) for (let n = 0; n <= l; n++) Y(e, t.catAxisMajorTickMark, "cat", E + O, T + n / l * D, z, B);
|
|
1419
|
+
else for (let n = 0; n < l; n++) Y(e, t.catAxisMajorTickMark, "cat", E + O, P(n), z, B);
|
|
1249
1420
|
if (!t.catAxisHidden) {
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
for (let t = 0; t < l; t
|
|
1421
|
+
e.fillStyle = t.catAxisFontColor ? `#${t.catAxisFontColor}` : "#555", e.textAlign = "center", e.textBaseline = "top", e.font = `${Math.max(8, Math.min(11, D / l * .8))}px sans-serif`;
|
|
1422
|
+
let n = 0;
|
|
1423
|
+
for (let t = 0; t < l; t++) n = Math.max(n, e.measureText((c[t] ?? "").toString().slice(0, 10)).width);
|
|
1424
|
+
let r = Math.max(1, Math.ceil((n + 6) / (D / l)));
|
|
1425
|
+
for (let t = 0; t < l; t += r) e.fillText((c[t] ?? "").toString().slice(0, 10), P(t), E + O + 3);
|
|
1253
1426
|
}
|
|
1254
|
-
|
|
1427
|
+
Ce(e, t, h, i, a, o, s, T, E, D, O, m + 2), _e(e, t, i, a, o, s, T, E, D, O, _, y, b, x);
|
|
1255
1428
|
}
|
|
1256
|
-
function
|
|
1429
|
+
function je(e, t, n, r, i) {
|
|
1257
1430
|
let { x: a, y: o, w: s, h: c } = n, l = t.series[0];
|
|
1258
1431
|
if (!l) return;
|
|
1259
1432
|
let u = l.categories && l.categories.length > 0 ? l.categories : t.categories, d = l.values.map((e) => Math.abs(e ?? 0)), f = d.reduce((e, t) => e + t, 0);
|
|
1260
1433
|
if (f === 0) return;
|
|
1261
|
-
let p = t.title ?
|
|
1262
|
-
|
|
1434
|
+
let p = t.title ? we(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
|
|
1435
|
+
Ee(e, t, a, o + m, s, p);
|
|
1263
1436
|
let _ = t.showLegend ? (() => {
|
|
1264
1437
|
let e = t.legendPos ?? "r", n = e === "l" ? "l" : e === "t" ? "t" : e === "b" ? "b" : "r";
|
|
1265
1438
|
return n === "r" || n === "l" ? {
|
|
@@ -1273,7 +1446,7 @@ function _e(e, t, n, r, i) {
|
|
|
1273
1446
|
};
|
|
1274
1447
|
})() : null, v = _?.side === "r" ? _.reserveW : 0, y = _?.side === "l" ? _.reserveW : 0, b = _?.side === "t" ? _.reserveH : 0, x = _?.side === "b" ? _.reserveH : 0, S = s - v - y, C = c - g - b - x - c * .02, w = a + y + S / 2, T = o + g + b + c * .02 + C / 2, E = Math.min(S, C) * .42, D = r ? E * .5 : 0, O = -Math.PI / 2;
|
|
1275
1448
|
for (let n = 0; n < d.length; n++) {
|
|
1276
|
-
let i = d[n] / f * Math.PI * 2, a =
|
|
1449
|
+
let i = d[n] / f * Math.PI * 2, a = le(n, l);
|
|
1277
1450
|
if (e.beginPath(), e.moveTo(w, T), e.arc(w, T, E, O, O + i), e.closePath(), e.fillStyle = a, e.fill(), e.strokeStyle = "#fff", e.lineWidth = 1, e.stroke(), t.showDataLabels && i > .15) {
|
|
1278
1451
|
let t = O + i / 2, a = E * (r ? .75 : .6), o = w + Math.cos(t) * a, s = T + Math.sin(t) * a, c = Math.round(d[n] / f * 100);
|
|
1279
1452
|
e.font = `bold ${Math.max(8, E * .1)}px sans-serif`, e.fillStyle = "#fff", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`${c}%`, o, s);
|
|
@@ -1285,59 +1458,59 @@ function _e(e, t, n, r, i) {
|
|
|
1285
1458
|
...l,
|
|
1286
1459
|
categories: u
|
|
1287
1460
|
}], r = w - S / 2;
|
|
1288
|
-
|
|
1461
|
+
Ce(e, {
|
|
1289
1462
|
...t,
|
|
1290
1463
|
series: n
|
|
1291
1464
|
}, _, a, o, s, c, r, T - C / 2, S, C, g + 2);
|
|
1292
1465
|
}
|
|
1293
1466
|
}
|
|
1294
|
-
function
|
|
1295
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1467
|
+
function Me(e, t, n, r) {
|
|
1468
|
+
let { x: i, y: a, w: o, h: s } = n, c = De(t), l = c.length;
|
|
1296
1469
|
if (l < 3) return;
|
|
1297
|
-
let u = t.title ?
|
|
1298
|
-
|
|
1299
|
-
let
|
|
1300
|
-
for (let e of t.series) for (let t of e.values)
|
|
1301
|
-
t.valMax != null && (
|
|
1302
|
-
let { max:
|
|
1470
|
+
let u = t.title ? we(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Se(t, o, s), h = m?.side === "r" ? m.reserveW : 0, g = m?.side === "l" ? m.reserveW : 0, _ = m?.side === "t" ? m.reserveH : 0, v = m?.side === "b" ? m.reserveH : 0;
|
|
1471
|
+
Ee(e, t, i, a + d, o, u);
|
|
1472
|
+
let y = o - h - g, b = s - p - _ - v - s * .02, x = i + g + y / 2, S = a + p + _ + s * .02 + b / 2, C = Math.min(y, b) * .38, w = 0;
|
|
1473
|
+
for (let e of t.series) for (let t of e.values) w = Math.max(w, t ?? 0);
|
|
1474
|
+
t.valMax != null && (w = t.valMax), w === 0 && (w = 1);
|
|
1475
|
+
let { max: T, step: E } = A(0, w, void 0, t.valMax), D = -Math.PI / 2, O = (e) => D + e / l * Math.PI * 2, k = Math.round(T / E);
|
|
1303
1476
|
e.strokeStyle = "#ddd", e.lineWidth = .5;
|
|
1304
|
-
for (let t = 1; t <=
|
|
1305
|
-
let n = t /
|
|
1477
|
+
for (let t = 1; t <= k; t++) {
|
|
1478
|
+
let n = t / k * C;
|
|
1306
1479
|
e.beginPath();
|
|
1307
1480
|
for (let t = 0; t < l; t++) {
|
|
1308
|
-
let r =
|
|
1481
|
+
let r = O(t), i = x + Math.cos(r) * n, a = S + Math.sin(r) * n;
|
|
1309
1482
|
t === 0 ? e.moveTo(i, a) : e.lineTo(i, a);
|
|
1310
1483
|
}
|
|
1311
1484
|
e.closePath(), e.stroke();
|
|
1312
1485
|
}
|
|
1313
1486
|
e.strokeStyle = "#bbb", e.lineWidth = .5;
|
|
1314
1487
|
for (let t = 0; t < l; t++) {
|
|
1315
|
-
let n =
|
|
1316
|
-
e.beginPath(), e.moveTo(
|
|
1488
|
+
let n = O(t);
|
|
1489
|
+
e.beginPath(), e.moveTo(x, S), e.lineTo(x + Math.cos(n) * C, S + Math.sin(n) * C), e.stroke();
|
|
1317
1490
|
}
|
|
1318
1491
|
if (!t.valAxisHidden) {
|
|
1319
|
-
e.font = `${
|
|
1320
|
-
for (let t = 1; t <=
|
|
1321
|
-
let n = t /
|
|
1322
|
-
e.fillText(
|
|
1492
|
+
e.font = `${Te(t.valAxisFontSizeHpt, s, r)}px sans-serif`, e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle";
|
|
1493
|
+
for (let t = 1; t <= k; t++) {
|
|
1494
|
+
let n = t / k * T, r = t / k * C;
|
|
1495
|
+
e.fillText(L(n), x - 3, S - r);
|
|
1323
1496
|
}
|
|
1324
1497
|
}
|
|
1325
|
-
e.font = `${Math.max(8, Math.min(11,
|
|
1498
|
+
e.font = `${Math.max(8, Math.min(11, C * .2))}px sans-serif`, e.fillStyle = "#444", e.textBaseline = "middle";
|
|
1326
1499
|
for (let t = 0; t < l; t++) {
|
|
1327
|
-
let n =
|
|
1500
|
+
let n = O(t), r = x + Math.cos(n) * (C + 12), i = S + Math.sin(n) * (C + 12);
|
|
1328
1501
|
e.textAlign = Math.cos(n) < -.1 ? "right" : Math.cos(n) > .1 ? "left" : "center", e.fillText((c[t] ?? "").toString().slice(0, 12), r, i);
|
|
1329
1502
|
}
|
|
1330
|
-
let
|
|
1503
|
+
let j = t.radarStyle === "filled", M = Math.max(2, C * .025);
|
|
1331
1504
|
for (let n = 0; n < t.series.length; n++) {
|
|
1332
|
-
let r = t.series[n], i =
|
|
1505
|
+
let r = t.series[n], i = ce(n, r), a = [];
|
|
1333
1506
|
for (let e = 0; e < l; e++) {
|
|
1334
1507
|
let t = r.values[e];
|
|
1335
1508
|
if (t == null) {
|
|
1336
1509
|
a.push(null);
|
|
1337
1510
|
continue;
|
|
1338
1511
|
}
|
|
1339
|
-
let n = t /
|
|
1340
|
-
a.push([
|
|
1512
|
+
let n = t / T, i = O(e);
|
|
1513
|
+
a.push([x + Math.cos(i) * C * n, S + Math.sin(i) * C * n]);
|
|
1341
1514
|
}
|
|
1342
1515
|
e.beginPath();
|
|
1343
1516
|
let o = !1;
|
|
@@ -1349,104 +1522,104 @@ function ve(e, t, n, r) {
|
|
|
1349
1522
|
o ? e.lineTo(t[0], t[1]) : (e.moveTo(t[0], t[1]), o = !0);
|
|
1350
1523
|
}
|
|
1351
1524
|
let s = a.every((e) => e != null);
|
|
1352
|
-
if (
|
|
1525
|
+
if (j && s ? (e.closePath(), e.fillStyle = W(i, .25), e.fill()) : s && e.closePath(), e.strokeStyle = i, e.lineWidth = 2, e.stroke(), !j && r.showMarker !== !1) {
|
|
1353
1526
|
e.fillStyle = i;
|
|
1354
|
-
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1],
|
|
1527
|
+
for (let t of a) t != null && (e.beginPath(), e.arc(t[0], t[1], M, 0, Math.PI * 2), e.fill());
|
|
1355
1528
|
}
|
|
1356
1529
|
}
|
|
1357
|
-
|
|
1530
|
+
Ce(e, t, m, i, a, o, s, x - y / 2, S - b / 2, y, b, p + 2);
|
|
1358
1531
|
}
|
|
1359
|
-
function
|
|
1360
|
-
let { x: i, y: a, w: o, h: s } = n, c = t.title ?
|
|
1532
|
+
function Ne(e, t, n, r) {
|
|
1533
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.title ? we(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = Se(t, o, s), p = f?.side === "r" ? f.reserveW : 0, m = f?.side === "l" ? f.reserveW : 0, h = f?.side === "t" ? f.reserveH : 0, g = f?.side === "b" ? f.reserveH : 0, { catTitlePx: _, valTitlePx: v, catTitleH: y, valTitleW: b } = ge(t, o, s, r);
|
|
1361
1534
|
if (t.title) {
|
|
1362
1535
|
let n = t.titleManualLayout;
|
|
1363
|
-
n && (n.x !== void 0 || n.y !== void 0) ?
|
|
1536
|
+
n && (n.x !== void 0 || n.y !== void 0) ? Ee(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : Ee(e, t, i, a + l, o, c);
|
|
1364
1537
|
}
|
|
1365
|
-
let
|
|
1366
|
-
if (
|
|
1538
|
+
let x = t.plotAreaManualLayout, S, C, w, E;
|
|
1539
|
+
if (x && x.w != null && x.h != null) S = i + x.x * o, C = a + x.y * s, w = x.w * o, E = x.h * s;
|
|
1367
1540
|
else {
|
|
1368
1541
|
let e = {
|
|
1369
|
-
t: d +
|
|
1542
|
+
t: d + h + s * .02,
|
|
1370
1543
|
r: p + o * .05,
|
|
1371
|
-
b: (t.catAxisHidden ? s * .04 : s * .12) +
|
|
1372
|
-
l: (t.valAxisHidden ? o * .04 : o * .12) +
|
|
1544
|
+
b: (t.catAxisHidden ? s * .04 : s * .12) + y + g,
|
|
1545
|
+
l: (t.valAxisHidden ? o * .04 : o * .12) + b + m
|
|
1373
1546
|
};
|
|
1374
|
-
|
|
1547
|
+
S = i + e.l, C = a + e.t, w = o - e.l - e.r, E = s - e.t - e.b;
|
|
1375
1548
|
}
|
|
1376
|
-
if (
|
|
1377
|
-
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(
|
|
1378
|
-
let
|
|
1549
|
+
if (w <= 0 || E <= 0) return;
|
|
1550
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(S, C, w, E));
|
|
1551
|
+
let D = [], O = [];
|
|
1379
1552
|
for (let e of t.series) {
|
|
1380
1553
|
let t = e.categories ?? [];
|
|
1381
1554
|
for (let e of t) {
|
|
1382
1555
|
let t = parseFloat(e);
|
|
1383
|
-
isNaN(t) ||
|
|
1556
|
+
isNaN(t) || D.push(t);
|
|
1384
1557
|
}
|
|
1385
|
-
for (let t of e.values) t != null &&
|
|
1558
|
+
for (let t of e.values) t != null && O.push(t);
|
|
1386
1559
|
}
|
|
1387
|
-
let
|
|
1388
|
-
if (
|
|
1560
|
+
let k = D.length === 0;
|
|
1561
|
+
if (k) {
|
|
1389
1562
|
let e = Math.max(...t.series.map((e) => e.values.length));
|
|
1390
|
-
for (let t = 0; t < e; t++)
|
|
1563
|
+
for (let t = 0; t < e; t++) D.push(t);
|
|
1391
1564
|
}
|
|
1392
|
-
let
|
|
1393
|
-
|
|
1394
|
-
let { min:
|
|
1395
|
-
if (
|
|
1396
|
-
let e =
|
|
1397
|
-
e > 0 && (t.catAxisMin ?? (
|
|
1565
|
+
let j = Math.min(...D), M = Math.max(...D), N = Math.min(...O), F = Math.max(...O);
|
|
1566
|
+
j === M && (--j, M += 1), N === F && (--N, F += 1), t.valMin == null ? N > 0 && (N = 0) : N = t.valMin, t.valMax != null && (F = t.valMax);
|
|
1567
|
+
let { min: I, max: L, step: z } = A(N, F, t.valMin, t.valMax);
|
|
1568
|
+
if (N = I, F = L, t.catAxisMin != null && (j = t.catAxisMin), t.catAxisMax != null && (M = t.catAxisMax), t.catAxisMin == null || t.catAxisMax == null) {
|
|
1569
|
+
let e = T(M - j);
|
|
1570
|
+
e > 0 && (t.catAxisMin ?? (j = Math.floor(j / e) * e), t.catAxisMax ?? (M = Math.ceil(M / e) * e));
|
|
1398
1571
|
}
|
|
1399
|
-
let B = (e) =>
|
|
1572
|
+
let B = (e) => S + (e - j) / (M - j) * w, V = (e) => C + E - (e - N) / (F - N) * E;
|
|
1400
1573
|
if (!t.valAxisHidden) {
|
|
1401
|
-
let n = Math.max(8, Math.min(11,
|
|
1574
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1402
1575
|
e.font = `${t.valAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1403
|
-
let i = Math.round((F -
|
|
1576
|
+
let i = Math.round((F - N) / z) + 1;
|
|
1404
1577
|
for (let n = 0; n < i; n++) {
|
|
1405
|
-
let i =
|
|
1578
|
+
let i = N + n * z;
|
|
1406
1579
|
if (i > F + z * .01) break;
|
|
1407
1580
|
let a = V(i);
|
|
1408
|
-
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(
|
|
1409
|
-
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0
|
|
1410
|
-
|
|
1581
|
+
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(S, a), e.lineTo(S + w, a), e.stroke(), e.fillStyle = "#555", e.textAlign = "right", e.textBaseline = "middle", e.fillText(R(i, t.valAxisFormatCode), S - 4, a);
|
|
1582
|
+
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0;
|
|
1583
|
+
Y(e, t.valAxisMajorTickMark, "val", S, a, o, P(t.valAxisLineWidthEmu, r));
|
|
1411
1584
|
}
|
|
1412
1585
|
}
|
|
1413
|
-
let H =
|
|
1414
|
-
if (t.catAxisCrossesAt != null) H =
|
|
1586
|
+
let H = C + E;
|
|
1587
|
+
if (t.catAxisCrossesAt != null) H = Re(V(t.catAxisCrossesAt), C, C + E);
|
|
1415
1588
|
else {
|
|
1416
1589
|
let e = t.catAxisCrosses ?? "autoZero";
|
|
1417
|
-
e === "autoZero" &&
|
|
1590
|
+
e === "autoZero" && N < 0 && F > 0 ? H = Re(V(0), C, C + E) : e === "min" ? H = C + E : e === "max" && (H = C);
|
|
1418
1591
|
}
|
|
1419
|
-
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = t.catAxisLineWidthEmu
|
|
1420
|
-
let n = Math.max(8, Math.min(11,
|
|
1592
|
+
if (!t.catAxisHidden && !t.catAxisLineHidden && (e.save(), e.strokeStyle = t.catAxisLineColor ? `#${t.catAxisLineColor}` : "#888", e.lineWidth = P(t.catAxisLineWidthEmu, r), e.lineCap = "butt", e.beginPath(), e.moveTo(S, H), e.lineTo(S + w, H), e.stroke(), e.restore()), !t.valAxisHidden && !t.valAxisLineHidden && (e.save(), e.strokeStyle = t.valAxisLineColor ? `#${t.valAxisLineColor}` : "#888", e.lineWidth = P(t.valAxisLineWidthEmu, r), e.beginPath(), e.moveTo(S, C), e.lineTo(S, C + E), e.stroke(), e.restore()), !t.catAxisHidden) {
|
|
1593
|
+
let n = Math.max(8, Math.min(11, E / 20));
|
|
1421
1594
|
e.font = `${t.catAxisFontBold ? "bold " : ""}${n}px sans-serif`;
|
|
1422
|
-
let i =
|
|
1595
|
+
let i = T(M - j), a = Math.round((M - j) / i) + 1;
|
|
1423
1596
|
e.fillStyle = "#555", e.textAlign = "center", e.textBaseline = "top";
|
|
1424
1597
|
for (let n = 0; n < a; n++) {
|
|
1425
|
-
let a =
|
|
1426
|
-
if (a >
|
|
1598
|
+
let a = j + n * i;
|
|
1599
|
+
if (a > M + i * .01) break;
|
|
1427
1600
|
let o = B(a);
|
|
1428
|
-
e.fillText(
|
|
1429
|
-
let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0
|
|
1430
|
-
|
|
1601
|
+
e.fillText(R(a, t.catAxisFormatCode), o, H + 4);
|
|
1602
|
+
let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0;
|
|
1603
|
+
Y(e, t.catAxisMajorTickMark, "cat", H, o, s, P(t.catAxisLineWidthEmu, r));
|
|
1431
1604
|
}
|
|
1432
1605
|
}
|
|
1433
|
-
let U = t.chartType === "bubble",
|
|
1606
|
+
let U = t.chartType === "bubble", ee = U ? "marker" : t.scatterStyle ?? "marker", te = ee === "line" || ee === "lineMarker" || ee === "lineNoMarker", ne = ee === "smooth" || ee === "smoothMarker" || ee === "smoothNoMarker", re = ee === "lineNoMarker" || ee === "smoothNoMarker";
|
|
1434
1607
|
for (let n = 0; n < t.series.length; n++) {
|
|
1435
|
-
let i = t.series[n], a =
|
|
1436
|
-
for (let t of i.errBars ?? [])
|
|
1437
|
-
if (te ||
|
|
1608
|
+
let i = t.series[n], a = ce(n, i), o = i.categories ?? [];
|
|
1609
|
+
for (let t of i.errBars ?? []) Fe(e, i, t, o, k, B, V, a);
|
|
1610
|
+
if (te || ne) {
|
|
1438
1611
|
let t = [];
|
|
1439
1612
|
for (let e = 0; e < i.values.length; e++) {
|
|
1440
1613
|
let n = i.values[e];
|
|
1441
1614
|
if (n == null) continue;
|
|
1442
|
-
let r =
|
|
1615
|
+
let r = k ? e : parseFloat(o[e] ?? "0");
|
|
1443
1616
|
isNaN(r) || t.push({
|
|
1444
1617
|
x: B(r),
|
|
1445
1618
|
y: V(n)
|
|
1446
1619
|
});
|
|
1447
1620
|
}
|
|
1448
1621
|
if (t.length >= 2) {
|
|
1449
|
-
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y),
|
|
1622
|
+
if (e.save(), e.strokeStyle = i.color ? `#${i.color}` : a, e.lineWidth = 1.5, e.beginPath(), e.moveTo(t[0].x, t[0].y), ne && t.length >= 3) for (let n = 0; n < t.length - 1; n++) {
|
|
1450
1623
|
let r = t[n - 1] ?? t[n], i = t[n], a = t[n + 1], o = t[n + 2] ?? a, s = i.x + (a.x - r.x) / 6, c = i.y + (a.y - r.y) / 6, l = a.x - (o.x - i.x) / 6, u = a.y - (o.y - i.y) / 6;
|
|
1451
1624
|
e.bezierCurveTo(s, c, l, u, a.x, a.y);
|
|
1452
1625
|
}
|
|
@@ -1454,16 +1627,16 @@ function ye(e, t, n, r) {
|
|
|
1454
1627
|
e.stroke(), e.restore();
|
|
1455
1628
|
}
|
|
1456
1629
|
}
|
|
1457
|
-
if (!(
|
|
1630
|
+
if (!(re || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
|
|
1458
1631
|
let t = 0;
|
|
1459
1632
|
if (U && i.bubbleSizes && i.bubbleSizes.length > 0) {
|
|
1460
1633
|
let e = Math.max(0, ...i.bubbleSizes.filter((e) => e != null));
|
|
1461
|
-
e > 0 && (t = Math.min(
|
|
1634
|
+
e > 0 && (t = Math.min(w, E) / Math.max(8, i.values.length * 1.6) / Math.sqrt(e));
|
|
1462
1635
|
}
|
|
1463
1636
|
for (let n = 0; n < i.values.length; n++) {
|
|
1464
1637
|
let s = i.values[n];
|
|
1465
1638
|
if (s == null) continue;
|
|
1466
|
-
let c =
|
|
1639
|
+
let c = k ? n : parseFloat(o[n] ?? "0");
|
|
1467
1640
|
if (isNaN(c)) continue;
|
|
1468
1641
|
let l = (i.dataPointOverrides ?? []).find((e) => e.idx === n), u = l?.markerSymbol ?? i.markerSymbol ?? "circle", d = l?.markerSize ?? i.markerSize ?? 5;
|
|
1469
1642
|
if (U && t > 0) {
|
|
@@ -1471,14 +1644,14 @@ function ye(e, t, n, r) {
|
|
|
1471
1644
|
e != null && e > 0 && (d = Math.sqrt(e) * t * 2 / r);
|
|
1472
1645
|
}
|
|
1473
1646
|
let f = l?.markerFill ?? l?.color ?? i.markerFill ?? a, p = l?.markerLine ?? i.markerLine ?? null;
|
|
1474
|
-
|
|
1647
|
+
Pe(e, B(c), V(s), u, d, f, p, r);
|
|
1475
1648
|
}
|
|
1476
1649
|
}
|
|
1477
|
-
|
|
1650
|
+
Ie(e, i, o, k, B, V, E, r);
|
|
1478
1651
|
}
|
|
1479
|
-
|
|
1652
|
+
Ce(e, t, f, i, a, o, s, S, C, w, E, d + 2), _e(e, t, i, a, o, s, S, C, w, E, m, g, _, v);
|
|
1480
1653
|
}
|
|
1481
|
-
function
|
|
1654
|
+
function Pe(e, t, n, r, i, a, o, s) {
|
|
1482
1655
|
let c = Math.max(2, i * s), l = c / 2, u = a.startsWith("#") ? a : `#${a}`, d = o ? o.startsWith("#") ? o : `#${o}` : null;
|
|
1483
1656
|
switch (e.save(), e.fillStyle = u, d && (e.strokeStyle = d, e.lineWidth = 1), r) {
|
|
1484
1657
|
case "square":
|
|
@@ -1518,8 +1691,8 @@ function be(e, t, n, r, i, a, o, s) {
|
|
|
1518
1691
|
}
|
|
1519
1692
|
e.restore();
|
|
1520
1693
|
}
|
|
1521
|
-
function
|
|
1522
|
-
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu /
|
|
1694
|
+
function Fe(e, t, n, r, i, a, o, s) {
|
|
1695
|
+
e.save(), e.strokeStyle = n.color ? `#${n.color}` : s, e.lineWidth = n.lineWidthEmu ? Math.max(.5, n.lineWidthEmu / j) : 1, e.setLineDash(ze(n.dash));
|
|
1523
1696
|
let c = n.barType === "plus" || n.barType === "both", l = n.barType === "minus" || n.barType === "both", u = n.dir === "x", d = e.lineWidth * 1.5;
|
|
1524
1697
|
for (let s = 0; s < t.values.length; s++) {
|
|
1525
1698
|
let f = t.values[s];
|
|
@@ -1541,7 +1714,7 @@ function xe(e, t, n, r, i, a, o, s) {
|
|
|
1541
1714
|
}
|
|
1542
1715
|
e.restore();
|
|
1543
1716
|
}
|
|
1544
|
-
function
|
|
1717
|
+
function Ie(e, t, n, r, i, a, o, s) {
|
|
1545
1718
|
let c = t.dataLabelOverrides ?? [];
|
|
1546
1719
|
if (c.length === 0 && !t.seriesDataLabels) return;
|
|
1547
1720
|
let l = t.seriesDataLabels;
|
|
@@ -1556,13 +1729,13 @@ function Se(e, t, n, r, i, a, o, s) {
|
|
|
1556
1729
|
m = p.text;
|
|
1557
1730
|
} else if (l && (l.showVal || l.showSerName || l.showCatName)) {
|
|
1558
1731
|
let e = [];
|
|
1559
|
-
if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(
|
|
1732
|
+
if (l.showCatName && !r && e.push(n[u] ?? ""), l.showSerName && e.push(t.name), l.showVal && e.push(R(d, l.formatCode ?? null)), m = e.filter(Boolean).join(" "), !m) continue;
|
|
1560
1733
|
} else continue;
|
|
1561
1734
|
let h = p?.position ?? l?.position ?? "r", g = p?.fontSizeHpt ?? l?.fontSizeHpt, _ = g ? g / 100 * s : Math.max(9, Math.min(11, o / 25)), v = p?.fontColor ?? l?.fontColor, y = p?.fontBold ?? l?.fontBold ?? !1;
|
|
1562
|
-
|
|
1735
|
+
Le(e, i(f), a(d), m, h, _, v, y);
|
|
1563
1736
|
}
|
|
1564
1737
|
}
|
|
1565
|
-
function
|
|
1738
|
+
function Le(e, t, n, r, i, a, o, s) {
|
|
1566
1739
|
e.save(), e.font = `${s ? "bold " : ""}${a}px sans-serif`, e.fillStyle = o ? `#${o}` : "#333";
|
|
1567
1740
|
let c = a * .6, l = t, u = n;
|
|
1568
1741
|
switch (i) {
|
|
@@ -1590,10 +1763,10 @@ function Ce(e, t, n, r, i, a, o, s) {
|
|
|
1590
1763
|
for (let t of d) e.fillText(t, l, m), m += f;
|
|
1591
1764
|
e.restore();
|
|
1592
1765
|
}
|
|
1593
|
-
function
|
|
1766
|
+
function Re(e, t, n) {
|
|
1594
1767
|
return e < t ? t : e > n ? n : e;
|
|
1595
1768
|
}
|
|
1596
|
-
function
|
|
1769
|
+
function ze(e) {
|
|
1597
1770
|
if (!e) return [];
|
|
1598
1771
|
switch (e) {
|
|
1599
1772
|
case "solid": return [];
|
|
@@ -1628,7 +1801,7 @@ function Te(e) {
|
|
|
1628
1801
|
default: return [];
|
|
1629
1802
|
}
|
|
1630
1803
|
}
|
|
1631
|
-
function
|
|
1804
|
+
function Be(e, t, n) {
|
|
1632
1805
|
let { x: r, y: i, w: a, h: o } = n, s = t.plotAreaManualLayout, c, l, u, d;
|
|
1633
1806
|
if (s && s.w != null && s.h != null) c = r + s.x * a, l = i + s.y * o, u = s.w * a, d = s.h * o;
|
|
1634
1807
|
else {
|
|
@@ -1637,42 +1810,42 @@ function Ee(e, t, n) {
|
|
|
1637
1810
|
}
|
|
1638
1811
|
let f = t.series[0]?.values ?? [], p = t.categories, m = p.length;
|
|
1639
1812
|
if (m === 0) return;
|
|
1640
|
-
let
|
|
1813
|
+
let h = new Set(t.subtotalIndices), g = 0, _ = [];
|
|
1641
1814
|
for (let e = 0; e < m; e++) {
|
|
1642
1815
|
let t = f[e] ?? 0;
|
|
1643
|
-
if (e === 0 ||
|
|
1816
|
+
if (e === 0 || h.has(e)) _.push({
|
|
1644
1817
|
start: 0,
|
|
1645
1818
|
end: t,
|
|
1646
1819
|
isSub: !0,
|
|
1647
1820
|
isPos: !0
|
|
1648
|
-
}),
|
|
1821
|
+
}), g = t;
|
|
1649
1822
|
else {
|
|
1650
|
-
let e = t >= 0 ?
|
|
1651
|
-
|
|
1823
|
+
let e = t >= 0 ? g : g + t, n = t >= 0 ? g + t : g;
|
|
1824
|
+
_.push({
|
|
1652
1825
|
start: e,
|
|
1653
1826
|
end: n,
|
|
1654
1827
|
isSub: !1,
|
|
1655
1828
|
isPos: t >= 0
|
|
1656
|
-
}),
|
|
1829
|
+
}), g += t;
|
|
1657
1830
|
}
|
|
1658
1831
|
}
|
|
1659
|
-
let
|
|
1660
|
-
if (
|
|
1661
|
-
let
|
|
1832
|
+
let v = _.map((e) => e.end), y = _.map((e) => e.start), b = Math.max(...v, ...y), x = Math.min(...y, 0), S = b - x;
|
|
1833
|
+
if (S <= 0) return;
|
|
1834
|
+
let C = x < 0 ? x - S * .05 : 0, w = (b - C) * 1.1, E = C + w, D = T(w);
|
|
1662
1835
|
e.save();
|
|
1663
1836
|
let O = Math.round(o * .042);
|
|
1664
1837
|
if (e.font = `${O}px sans-serif`, !t.valAxisHidden) {
|
|
1665
1838
|
e.strokeStyle = "#e8e8e8", e.lineWidth = .7, e.fillStyle = "#666", e.textAlign = "right", e.textBaseline = "middle";
|
|
1666
|
-
for (let t = Math.ceil(
|
|
1667
|
-
let n = l + d * (1 - (t -
|
|
1839
|
+
for (let t = Math.ceil(C / D) * D; t <= E; t += D) {
|
|
1840
|
+
let n = l + d * (1 - (t - C) / w);
|
|
1668
1841
|
e.beginPath(), e.moveTo(c, n), e.lineTo(c + u, n), e.stroke(), e.fillText(t.toLocaleString(), c - 4, n);
|
|
1669
1842
|
}
|
|
1670
1843
|
}
|
|
1671
1844
|
let k = !t.valAxisHidden && !t.valAxisLineHidden, A = !t.catAxisHidden && !t.catAxisLineHidden;
|
|
1672
1845
|
(k || A) && (e.strokeStyle = "#bbb", e.lineWidth = 1, e.beginPath(), k ? (e.moveTo(c, l), e.lineTo(c, l + d), A && e.lineTo(c + u, l + d)) : A && (e.moveTo(c, l + d), e.lineTo(c + u, l + d)), e.stroke());
|
|
1673
1846
|
let j = u / m, M = j / (1 + (t.barGapWidth ?? 150) / 100);
|
|
1674
|
-
|
|
1675
|
-
let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end -
|
|
1847
|
+
_.forEach((n, r) => {
|
|
1848
|
+
let i = c + j * r + (j - M) / 2, a = l + d * (1 - (n.end - C) / w), s = l + d * (1 - (n.start - C) / w), u = Math.max(1, s - a);
|
|
1676
1849
|
if (n.isSub ? (e.fillStyle = "#196ECA", e.fillRect(i, a, M, u)) : (e.strokeStyle = n.isPos ? "#5BA4E6" : "#E46970", e.lineWidth = 1.5, e.strokeRect(i + .75, a + .75, M - 1.5, u - 1.5)), r < m - 1) {
|
|
1677
1850
|
let t = c + j * (r + 1) + (j - M) / 2, o = n.isPos ? a : s;
|
|
1678
1851
|
e.strokeStyle = "#ccc", e.lineWidth = .8, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(i + M, o), e.lineTo(t, o), e.stroke(), e.setLineDash([]);
|
|
@@ -1687,10 +1860,10 @@ function Ee(e, t, n) {
|
|
|
1687
1860
|
}
|
|
1688
1861
|
e.restore();
|
|
1689
1862
|
}
|
|
1690
|
-
function
|
|
1863
|
+
function Ve(e, t, n, r = N) {
|
|
1691
1864
|
let { x: i, y: a, w: o, h: s } = n;
|
|
1692
1865
|
if (t.chartBg && (e.fillStyle = `#${t.chartBg}`, e.fillRect(i, a, o, s)), t.chartBorderColor) {
|
|
1693
|
-
e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu /
|
|
1866
|
+
e.save(), e.strokeStyle = `#${t.chartBorderColor}`, e.lineWidth = t.chartBorderWidthEmu ? Math.max(.5, t.chartBorderWidthEmu / j) * r : 1;
|
|
1694
1867
|
let n = e.lineWidth;
|
|
1695
1868
|
e.strokeRect(i + n / 2, a + n / 2, o - n, s - n), e.restore();
|
|
1696
1869
|
}
|
|
@@ -1705,40 +1878,40 @@ function De(e, t, n, r = R) {
|
|
|
1705
1878
|
case "stackedBarH":
|
|
1706
1879
|
case "stackedBarPct":
|
|
1707
1880
|
case "stackedBarHPct":
|
|
1708
|
-
|
|
1881
|
+
ke(e, t, n, r);
|
|
1709
1882
|
break;
|
|
1710
1883
|
case "line":
|
|
1711
1884
|
case "stackedLine":
|
|
1712
1885
|
case "stackedLinePct":
|
|
1713
|
-
|
|
1886
|
+
Ae(e, t, n, r);
|
|
1714
1887
|
break;
|
|
1715
1888
|
case "area":
|
|
1716
1889
|
case "stackedArea":
|
|
1717
1890
|
case "stackedAreaPct":
|
|
1718
|
-
|
|
1891
|
+
X(e, t, n, r);
|
|
1719
1892
|
break;
|
|
1720
1893
|
case "pie":
|
|
1721
|
-
|
|
1894
|
+
je(e, t, n, !1, r);
|
|
1722
1895
|
break;
|
|
1723
1896
|
case "doughnut":
|
|
1724
|
-
|
|
1897
|
+
je(e, t, n, !0, r);
|
|
1725
1898
|
break;
|
|
1726
1899
|
case "radar":
|
|
1727
|
-
|
|
1900
|
+
Me(e, t, n, r);
|
|
1728
1901
|
break;
|
|
1729
1902
|
case "scatter":
|
|
1730
1903
|
case "bubble":
|
|
1731
|
-
|
|
1904
|
+
Ne(e, t, n, r);
|
|
1732
1905
|
break;
|
|
1733
1906
|
case "waterfall":
|
|
1734
|
-
|
|
1907
|
+
Be(e, t, n);
|
|
1735
1908
|
break;
|
|
1736
1909
|
default: e.fillStyle = "#888", e.font = "11px sans-serif", e.textAlign = "center", e.textBaseline = "middle", e.fillText(`Chart: ${t.chartType}`, i + o / 2, a + s / 2);
|
|
1737
1910
|
}
|
|
1738
1911
|
}
|
|
1739
1912
|
//#endregion
|
|
1740
1913
|
//#region packages/core/src/autoResize.ts
|
|
1741
|
-
function
|
|
1914
|
+
function He(e, t, n = {}) {
|
|
1742
1915
|
let r = n.pauseWhenHidden ?? !0, i = null, a = 0, o = 0, s = null, c = !1, l = !1, u = () => {
|
|
1743
1916
|
if (!l && !(r && typeof document < "u" && document.hidden)) {
|
|
1744
1917
|
if (s) {
|
|
@@ -1775,7 +1948,7 @@ function Oe(e, t, n = {}) {
|
|
|
1775
1948
|
}
|
|
1776
1949
|
//#endregion
|
|
1777
1950
|
//#region packages/core/src/shape/custGeom.ts
|
|
1778
|
-
function
|
|
1951
|
+
function Ue(e, t, n, r, i, a) {
|
|
1779
1952
|
for (let o of t) {
|
|
1780
1953
|
let t = 0, s = 0;
|
|
1781
1954
|
for (let c of o) switch (c.cmd) {
|
|
@@ -1803,11 +1976,11 @@ function ke(e, t, n, r, i, a) {
|
|
|
1803
1976
|
}
|
|
1804
1977
|
//#endregion
|
|
1805
1978
|
//#region packages/core/src/shape/custgeom-endpoints.ts
|
|
1806
|
-
var
|
|
1807
|
-
function
|
|
1979
|
+
var Z = 1e-9;
|
|
1980
|
+
function We(e) {
|
|
1808
1981
|
return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
|
|
1809
1982
|
}
|
|
1810
|
-
function
|
|
1983
|
+
function Ge(e, t, n, r) {
|
|
1811
1984
|
let i = n === 0 ? 0 : n, a = r === 0 ? 0 : r;
|
|
1812
1985
|
return {
|
|
1813
1986
|
x: e,
|
|
@@ -1817,7 +1990,7 @@ function je(e, t, n, r) {
|
|
|
1817
1990
|
angle: Math.atan2(a, i)
|
|
1818
1991
|
};
|
|
1819
1992
|
}
|
|
1820
|
-
function
|
|
1993
|
+
function Ke(e, t, n) {
|
|
1821
1994
|
switch (n.cmd) {
|
|
1822
1995
|
case "lineTo": return {
|
|
1823
1996
|
dx: n.x - e,
|
|
@@ -1825,7 +1998,7 @@ function Me(e, t, n) {
|
|
|
1825
1998
|
};
|
|
1826
1999
|
case "cubicBezTo": {
|
|
1827
2000
|
let r = n.x1 - e, i = n.y1 - t;
|
|
1828
|
-
return Math.abs(r) <
|
|
2001
|
+
return Math.abs(r) < Z && Math.abs(i) < Z && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < Z && Math.abs(i) < Z && (r = n.x - e, i = n.y - t), {
|
|
1829
2002
|
dx: r,
|
|
1830
2003
|
dy: i
|
|
1831
2004
|
};
|
|
@@ -1843,7 +2016,7 @@ function Me(e, t, n) {
|
|
|
1843
2016
|
};
|
|
1844
2017
|
}
|
|
1845
2018
|
}
|
|
1846
|
-
function
|
|
2019
|
+
function qe(e, t, n) {
|
|
1847
2020
|
switch (n.cmd) {
|
|
1848
2021
|
case "moveTo":
|
|
1849
2022
|
case "lineTo":
|
|
@@ -1868,8 +2041,8 @@ function Ne(e, t, n) {
|
|
|
1868
2041
|
};
|
|
1869
2042
|
}
|
|
1870
2043
|
}
|
|
1871
|
-
function
|
|
1872
|
-
let { x: r, y: i } =
|
|
2044
|
+
function Je(e, t, n) {
|
|
2045
|
+
let { x: r, y: i } = qe(e, t, n);
|
|
1873
2046
|
switch (n.cmd) {
|
|
1874
2047
|
case "lineTo": return {
|
|
1875
2048
|
dx: n.x - e,
|
|
@@ -1879,7 +2052,7 @@ function Pe(e, t, n) {
|
|
|
1879
2052
|
};
|
|
1880
2053
|
case "cubicBezTo": {
|
|
1881
2054
|
let a = n.x - n.x2, o = n.y - n.y2;
|
|
1882
|
-
return Math.abs(a) <
|
|
2055
|
+
return Math.abs(a) < Z && Math.abs(o) < Z && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < Z && Math.abs(o) < Z && (a = n.x - e, o = n.y - t), {
|
|
1883
2056
|
dx: a,
|
|
1884
2057
|
dy: o,
|
|
1885
2058
|
x: r,
|
|
@@ -1909,50 +2082,50 @@ function Pe(e, t, n) {
|
|
|
1909
2082
|
};
|
|
1910
2083
|
}
|
|
1911
2084
|
}
|
|
1912
|
-
function
|
|
2085
|
+
function Ye(e) {
|
|
1913
2086
|
let t = 0, n = 0, r = !1;
|
|
1914
|
-
for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} =
|
|
2087
|
+
for (let i of e) i.cmd === "moveTo" && (r = !0), {x: t, y: n} = qe(t, n, i);
|
|
1915
2088
|
return r ? {
|
|
1916
2089
|
x: t,
|
|
1917
2090
|
y: n
|
|
1918
2091
|
} : null;
|
|
1919
2092
|
}
|
|
1920
|
-
function
|
|
2093
|
+
function Xe(e) {
|
|
1921
2094
|
if (e.some((e) => e.cmd === "close")) return !0;
|
|
1922
2095
|
let t = e.find((e) => e.cmd === "moveTo");
|
|
1923
2096
|
if (!t) return !1;
|
|
1924
|
-
let n =
|
|
1925
|
-
return !n || !e.some(
|
|
2097
|
+
let n = Ye(e);
|
|
2098
|
+
return !n || !e.some(We) ? !1 : Math.abs(n.x - t.x) < Z && Math.abs(n.y - t.y) < Z;
|
|
1926
2099
|
}
|
|
1927
|
-
function
|
|
2100
|
+
function Ze(e) {
|
|
1928
2101
|
let t = {
|
|
1929
2102
|
start: null,
|
|
1930
2103
|
end: null
|
|
1931
2104
|
};
|
|
1932
2105
|
if (!e || e.length === 0) return t;
|
|
1933
2106
|
let n = e[0];
|
|
1934
|
-
if (n && n.length > 0 && !
|
|
1935
|
-
let e = n.find((e) => e.cmd === "moveTo"), r = n.find(
|
|
2107
|
+
if (n && n.length > 0 && !Xe(n)) {
|
|
2108
|
+
let e = n.find((e) => e.cmd === "moveTo"), r = n.find(We);
|
|
1936
2109
|
if (e && r) {
|
|
1937
|
-
let n =
|
|
1938
|
-
(Math.abs(n.dx) >
|
|
2110
|
+
let n = Ke(e.x, e.y, r);
|
|
2111
|
+
(Math.abs(n.dx) > Z || Math.abs(n.dy) > Z) && (t.start = Ge(e.x, e.y, -n.dx, -n.dy));
|
|
1939
2112
|
}
|
|
1940
2113
|
}
|
|
1941
2114
|
let r = e[e.length - 1];
|
|
1942
|
-
if (r && r.length > 0 && !
|
|
2115
|
+
if (r && r.length > 0 && !Xe(r)) {
|
|
1943
2116
|
let e = 0, n = 0, i = -1;
|
|
1944
|
-
for (let e = 0; e < r.length; e++)
|
|
2117
|
+
for (let e = 0; e < r.length; e++) We(r[e]) && (i = e);
|
|
1945
2118
|
if (i >= 0) {
|
|
1946
|
-
for (let t = 0; t < i; t++) ({x: e, y: n} =
|
|
1947
|
-
let a =
|
|
1948
|
-
(Math.abs(a.dx) >
|
|
2119
|
+
for (let t = 0; t < i; t++) ({x: e, y: n} = qe(e, n, r[t]));
|
|
2120
|
+
let a = Je(e, n, r[i]);
|
|
2121
|
+
(Math.abs(a.dx) > Z || Math.abs(a.dy) > Z) && (t.end = Ge(a.x, a.y, a.dx, a.dy));
|
|
1949
2122
|
}
|
|
1950
2123
|
}
|
|
1951
2124
|
return t;
|
|
1952
2125
|
}
|
|
1953
2126
|
//#endregion
|
|
1954
2127
|
//#region packages/core/src/shape/preset.ts
|
|
1955
|
-
function
|
|
2128
|
+
function Qe(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
1956
2129
|
let c = a * 2;
|
|
1957
2130
|
for (let l = 0; l < c; l++) {
|
|
1958
2131
|
let c = s + l * Math.PI / a, u = l % 2 == 0 ? 1 : o, d = t + r * u * Math.cos(c), f = n + i * u * Math.sin(c);
|
|
@@ -1960,21 +2133,21 @@ function Y(e, t, n, r, i, a, o, s = -Math.PI / 2) {
|
|
|
1960
2133
|
}
|
|
1961
2134
|
e.closePath();
|
|
1962
2135
|
}
|
|
1963
|
-
function
|
|
2136
|
+
function $e(e, t, n, r, i, a, o = -Math.PI / 2) {
|
|
1964
2137
|
for (let s = 0; s < a; s++) {
|
|
1965
2138
|
let c = o + s * 2 * Math.PI / a, l = t + r * Math.cos(c), u = n + i * Math.sin(c);
|
|
1966
2139
|
s === 0 ? e.moveTo(l, u) : e.lineTo(l, u);
|
|
1967
2140
|
}
|
|
1968
2141
|
e.closePath();
|
|
1969
2142
|
}
|
|
1970
|
-
function
|
|
2143
|
+
function et(e, t, n, r, i, a, o) {
|
|
1971
2144
|
let s = (e) => Math.atan2(r * Math.sin(e), i * Math.cos(e)), c = s(a), l = s(a + o), u = t - r * Math.cos(c), d = n - i * Math.sin(c);
|
|
1972
2145
|
return e.ellipse(u, d, Math.abs(r), Math.abs(i), 0, c, l, o < 0), {
|
|
1973
2146
|
x: u + r * Math.cos(l),
|
|
1974
2147
|
y: d + i * Math.sin(l)
|
|
1975
2148
|
};
|
|
1976
2149
|
}
|
|
1977
|
-
function
|
|
2150
|
+
function tt(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
1978
2151
|
let u = n + i / 2, d = r + a / 2;
|
|
1979
2152
|
switch (t.toLowerCase()) {
|
|
1980
2153
|
case "ellipse":
|
|
@@ -2009,53 +2182,53 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2009
2182
|
break;
|
|
2010
2183
|
}
|
|
2011
2184
|
case "pentagon":
|
|
2012
|
-
|
|
2185
|
+
$e(e, u, d, i / 2, a / 2, 5);
|
|
2013
2186
|
break;
|
|
2014
2187
|
case "hexagon":
|
|
2015
|
-
|
|
2188
|
+
$e(e, u, d, i / 2, a / 2, 6, 0);
|
|
2016
2189
|
break;
|
|
2017
2190
|
case "heptagon":
|
|
2018
|
-
|
|
2191
|
+
$e(e, u, d, i / 2, a / 2, 7);
|
|
2019
2192
|
break;
|
|
2020
2193
|
case "octagon":
|
|
2021
|
-
|
|
2194
|
+
$e(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
|
|
2022
2195
|
break;
|
|
2023
2196
|
case "decagon":
|
|
2024
|
-
|
|
2197
|
+
$e(e, u, d, i / 2, a / 2, 10);
|
|
2025
2198
|
break;
|
|
2026
2199
|
case "dodecagon":
|
|
2027
|
-
|
|
2200
|
+
$e(e, u, d, i / 2, a / 2, 12);
|
|
2028
2201
|
break;
|
|
2029
2202
|
case "star4":
|
|
2030
|
-
|
|
2203
|
+
Qe(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
|
|
2031
2204
|
break;
|
|
2032
2205
|
case "star5":
|
|
2033
2206
|
case "star":
|
|
2034
|
-
|
|
2207
|
+
Qe(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
|
|
2035
2208
|
break;
|
|
2036
2209
|
case "star6":
|
|
2037
|
-
|
|
2210
|
+
Qe(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
|
|
2038
2211
|
break;
|
|
2039
2212
|
case "star7":
|
|
2040
|
-
|
|
2213
|
+
Qe(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
|
|
2041
2214
|
break;
|
|
2042
2215
|
case "star8":
|
|
2043
|
-
|
|
2216
|
+
Qe(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2044
2217
|
break;
|
|
2045
2218
|
case "star10":
|
|
2046
|
-
|
|
2219
|
+
Qe(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
|
|
2047
2220
|
break;
|
|
2048
2221
|
case "star12":
|
|
2049
|
-
|
|
2222
|
+
Qe(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
|
|
2050
2223
|
break;
|
|
2051
2224
|
case "star16":
|
|
2052
|
-
|
|
2225
|
+
Qe(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2053
2226
|
break;
|
|
2054
2227
|
case "star24":
|
|
2055
|
-
|
|
2228
|
+
Qe(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
|
|
2056
2229
|
break;
|
|
2057
2230
|
case "star32":
|
|
2058
|
-
|
|
2231
|
+
Qe(e, u, d, i / 2, a / 2, 32, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2059
2232
|
break;
|
|
2060
2233
|
case "rightarrow": {
|
|
2061
2234
|
let t = a * Math.min(1, (o ?? 5e4) / 1e5), c = i * Math.min(1, (s ?? 5e4) / 1e5), l = r + (a - t) / 2;
|
|
@@ -2621,26 +2794,26 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2621
2794
|
}
|
|
2622
2795
|
case "curvedrightarrow": {
|
|
2623
2796
|
let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = 1e5 * (Math.sqrt(Math.max(0, h)) * i / (2 * m)) / t, _ = t * Math.min(g, Math.max(0, c ?? 25e3)) / 1e5, v = Math.sqrt(Math.max(0, i * i - _ * _)) * m / i, y = m + f, b = m + v, x = y + v, S = (p - f) / 2, C = b - S, w = x + S, T = a - p / 2, E = i - _, D = Math.atan2(_, v), O = -D, k = Math.PI - D;
|
|
2624
|
-
e.moveTo(n, r + m),
|
|
2797
|
+
e.moveTo(n, r + m), et(e, n, r + m, i, m, Math.PI, O), e.lineTo(n + E, r + C), e.lineTo(n + i, r + T), e.lineTo(n + E, r + w), e.lineTo(n + E, r + x), et(e, n + E, r + x, i, m, k, D), e.closePath();
|
|
2625
2798
|
break;
|
|
2626
2799
|
}
|
|
2627
2800
|
case "curvedleftarrow": {
|
|
2628
2801
|
let t = Math.min(i, a), l = a / 2, u = 5e4 * a / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(d, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * i / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, i * i - v * v)) * m / i, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = a - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = -A;
|
|
2629
2802
|
e.moveTo(n, r + E), e.lineTo(n + D, r + w), e.lineTo(n + D, r + x);
|
|
2630
|
-
let P =
|
|
2631
|
-
|
|
2803
|
+
let P = et(e, n + D, r + x, i, m, O, j);
|
|
2804
|
+
et(e, P.x, P.y, i, m, N, M), e.lineTo(n + D, r + T), e.closePath();
|
|
2632
2805
|
break;
|
|
2633
2806
|
}
|
|
2634
2807
|
case "curveduparrow": {
|
|
2635
2808
|
let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = A - O, M = O - A, N = Math.PI / 2 - O, P = Math.PI / 2 - A;
|
|
2636
2809
|
e.moveTo(n + E, r), e.lineTo(n + T, r + D), e.lineTo(n + S, r + D);
|
|
2637
|
-
let F =
|
|
2638
|
-
|
|
2810
|
+
let F = et(e, n + S, r + D, m, a, N, M);
|
|
2811
|
+
et(e, F.x, F.y, m, a, P, j), e.lineTo(n + w, r + D), e.closePath();
|
|
2639
2812
|
break;
|
|
2640
2813
|
}
|
|
2641
2814
|
case "curveddownarrow": {
|
|
2642
2815
|
let t = Math.min(i, a), l = i / 2, u = 5e4 * i / t, d = Math.min(u, Math.max(0, s ?? 5e4)), f = t * Math.min(1e5, Math.max(0, o ?? 25e3)) / 1e5, p = t * d / 1e5, m = l - (f + p) / 4, h = (2 * m) ** 2 - f ** 2, g = Math.sqrt(Math.max(0, h)) * a / (2 * m), _ = 1e5 * g / t, v = t * Math.min(_, Math.max(0, c ?? 25e3)) / 1e5, y = Math.sqrt(Math.max(0, a * a - v * v)) * m / a, b = m + f, x = m + y, S = b + y, C = (p - f) / 2, w = x - C, T = S + C, E = i - p / 2, D = a - v, O = Math.atan2(v, y), k = f / 2, A = Math.atan2(k, g), j = 3 * Math.PI / 2 + O;
|
|
2643
|
-
3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D),
|
|
2816
|
+
3 * Math.PI / 2 - A, A - Math.PI / 2, Math.PI / 2 - A, e.moveTo(n + E, r + a), e.lineTo(n + w, r + D), e.lineTo(n + x, r + D), et(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), et(e, n + b, r, m, a, 3 * Math.PI / 2, O), e.lineTo(n + T, r + D), e.closePath();
|
|
2644
2817
|
break;
|
|
2645
2818
|
}
|
|
2646
2819
|
case "stripedrightarrow": {
|
|
@@ -2709,9 +2882,9 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2709
2882
|
}
|
|
2710
2883
|
//#endregion
|
|
2711
2884
|
//#region packages/core/src/shape/arrow.ts
|
|
2712
|
-
function
|
|
2885
|
+
function nt(e, t, n, r, i, a, o) {
|
|
2713
2886
|
if (i.type === "none") return;
|
|
2714
|
-
let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f =
|
|
2887
|
+
let s = Math.max(.5, a.width * o), c = i.w === "sm" ? 4 : i.w === "lg" ? 8 : 6, l = i.len === "sm" ? 4 : i.len === "lg" ? 8 : 6, u = s * c / 2, d = s * l, f = W(a.color);
|
|
2715
2888
|
switch (e.save(), e.translate(t, n), e.rotate(r), e.fillStyle = f, e.strokeStyle = f, e.lineWidth = s, e.setLineDash([]), e.beginPath(), i.type) {
|
|
2716
2889
|
case "triangle":
|
|
2717
2890
|
case "stealth":
|
|
@@ -2731,21 +2904,21 @@ function Be(e, t, n, r, i, a, o) {
|
|
|
2731
2904
|
}
|
|
2732
2905
|
//#endregion
|
|
2733
2906
|
//#region packages/core/src/image/svg-image-by-path.ts
|
|
2734
|
-
var
|
|
2735
|
-
function
|
|
2736
|
-
let t =
|
|
2907
|
+
var rt = /* @__PURE__ */ new WeakMap(), it = 256;
|
|
2908
|
+
function at(e) {
|
|
2909
|
+
let t = rt.get(e);
|
|
2737
2910
|
return t || (t = {
|
|
2738
2911
|
imgs: /* @__PURE__ */ new Map(),
|
|
2739
2912
|
urls: /* @__PURE__ */ new Map()
|
|
2740
|
-
},
|
|
2913
|
+
}, rt.set(e, t)), t;
|
|
2741
2914
|
}
|
|
2742
|
-
function
|
|
2915
|
+
function ot(e, t) {
|
|
2743
2916
|
e.imgs.delete(t);
|
|
2744
2917
|
let n = e.urls.get(t);
|
|
2745
2918
|
n && (URL.revokeObjectURL(n), e.urls.delete(t));
|
|
2746
2919
|
}
|
|
2747
|
-
function
|
|
2748
|
-
let n =
|
|
2920
|
+
function st(e, t) {
|
|
2921
|
+
let n = at(t), r = n.imgs.get(e);
|
|
2749
2922
|
if (r) return n.imgs.delete(e), n.imgs.set(e, r), r;
|
|
2750
2923
|
let i = (async () => {
|
|
2751
2924
|
let r = await t(e, "image/svg+xml"), i = URL.createObjectURL(r);
|
|
@@ -2757,20 +2930,284 @@ function Ge(e, t) {
|
|
|
2757
2930
|
}, a.onerror = () => n(/* @__PURE__ */ Error(`svg load failed: ${e}`)), a.src = i;
|
|
2758
2931
|
}), a;
|
|
2759
2932
|
})();
|
|
2760
|
-
if (i.catch(() =>
|
|
2933
|
+
if (i.catch(() => ot(n, e)), n.imgs.set(e, i), n.imgs.size > it) {
|
|
2761
2934
|
let e = n.imgs.keys().next().value;
|
|
2762
|
-
|
|
2935
|
+
ot(n, e);
|
|
2763
2936
|
}
|
|
2764
2937
|
return i;
|
|
2765
2938
|
}
|
|
2766
|
-
function
|
|
2767
|
-
let t =
|
|
2939
|
+
function ct(e) {
|
|
2940
|
+
let t = rt.get(e);
|
|
2768
2941
|
if (t) {
|
|
2769
2942
|
for (let e of t.urls.values()) URL.revokeObjectURL(e);
|
|
2770
|
-
t.urls.clear(), t.imgs.clear(),
|
|
2943
|
+
t.urls.clear(), t.imgs.clear(), rt.delete(e);
|
|
2944
|
+
}
|
|
2945
|
+
}
|
|
2946
|
+
//#endregion
|
|
2947
|
+
//#region packages/core/src/image/wmf.ts
|
|
2948
|
+
var Q = {
|
|
2949
|
+
EOF: 0,
|
|
2950
|
+
SETPOLYFILLMODE: 262,
|
|
2951
|
+
SETWINDOWORG: 523,
|
|
2952
|
+
SETWINDOWEXT: 524,
|
|
2953
|
+
SELECTOBJECT: 301,
|
|
2954
|
+
DELETEOBJECT: 496,
|
|
2955
|
+
POLYGON: 804,
|
|
2956
|
+
POLYLINE: 805,
|
|
2957
|
+
POLYPOLYGON: 1336,
|
|
2958
|
+
RECTANGLE: 1051,
|
|
2959
|
+
CREATEPENINDIRECT: 762,
|
|
2960
|
+
CREATEBRUSHINDIRECT: 764
|
|
2961
|
+
}, lt = 2596720087, ut = 22, dt = 18, ft = 1179469088;
|
|
2962
|
+
function pt(e, t) {
|
|
2963
|
+
if (e.length < t + dt) return !1;
|
|
2964
|
+
let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
|
|
2965
|
+
return (n === 1 || n === 2) && r === 9;
|
|
2966
|
+
}
|
|
2967
|
+
function mt(e) {
|
|
2968
|
+
return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === lt ? !0 : pt(e, 0);
|
|
2969
|
+
}
|
|
2970
|
+
function ht(e) {
|
|
2971
|
+
if (e.length < 44) return !1;
|
|
2972
|
+
let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
2973
|
+
return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === ft;
|
|
2974
|
+
}
|
|
2975
|
+
function gt(e) {
|
|
2976
|
+
let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
|
|
2977
|
+
return `#${i(t)}${i(n)}${i(r)}`;
|
|
2978
|
+
}
|
|
2979
|
+
function _t(e, t) {
|
|
2980
|
+
for (let n = 0; n < e.length; n++) if (e[n] == null) {
|
|
2981
|
+
e[n] = t;
|
|
2982
|
+
return;
|
|
2983
|
+
}
|
|
2984
|
+
e.push(t);
|
|
2985
|
+
}
|
|
2986
|
+
var vt = class {
|
|
2987
|
+
p = 0;
|
|
2988
|
+
constructor(e, t, n) {
|
|
2989
|
+
this.b = e, this.end = n, this.p = t;
|
|
2990
|
+
}
|
|
2991
|
+
get remaining() {
|
|
2992
|
+
return this.end - this.p;
|
|
2993
|
+
}
|
|
2994
|
+
i16() {
|
|
2995
|
+
let e = this.u16();
|
|
2996
|
+
return e >= 32768 ? e - 65536 : e;
|
|
2997
|
+
}
|
|
2998
|
+
u16() {
|
|
2999
|
+
let e = this.b[this.p] | this.b[this.p + 1] << 8;
|
|
3000
|
+
return this.p += 2, e;
|
|
3001
|
+
}
|
|
3002
|
+
u32() {
|
|
3003
|
+
let e = (this.b[this.p] | this.b[this.p + 1] << 8 | this.b[this.p + 2] << 16 | this.b[this.p + 3] << 24) >>> 0;
|
|
3004
|
+
return this.p += 4, e;
|
|
3005
|
+
}
|
|
3006
|
+
};
|
|
3007
|
+
function yt(e, t) {
|
|
3008
|
+
return (t - e.orgX) * (e.W / e.extX);
|
|
3009
|
+
}
|
|
3010
|
+
function bt(e, t) {
|
|
3011
|
+
return (t - e.orgY) * (e.H / e.extY);
|
|
3012
|
+
}
|
|
3013
|
+
function xt(e, t) {
|
|
3014
|
+
let n = t * Math.abs(e.W / e.extX);
|
|
3015
|
+
return n >= 1 ? n : 1;
|
|
3016
|
+
}
|
|
3017
|
+
var St = .001;
|
|
3018
|
+
function Ct(e, t, n) {
|
|
3019
|
+
return Math.abs(e - t) <= St || Math.abs(e - n) <= St;
|
|
3020
|
+
}
|
|
3021
|
+
function wt(e, t, n) {
|
|
3022
|
+
let r = [], i = n ? t.length : t.length - 1;
|
|
3023
|
+
for (let n = 0; n < i; n++) {
|
|
3024
|
+
let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= St && Ct(i[0], 0, e.W) && Ct(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= St && Ct(i[1], 0, e.H) && Ct(a[1], 0, e.H);
|
|
3025
|
+
o || s || r.push([i, a]);
|
|
2771
3026
|
}
|
|
3027
|
+
return r;
|
|
2772
3028
|
}
|
|
2773
|
-
|
|
3029
|
+
function Tt(e, t, n) {
|
|
3030
|
+
if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
|
|
3031
|
+
let { ctx: r } = e;
|
|
3032
|
+
if (r.strokeStyle = e.curPen.stroke, r.lineWidth = xt(e, e.curPen.width), !e.suppressBoundaryFrame) {
|
|
3033
|
+
r.beginPath(), r.moveTo(t[0][0], t[0][1]);
|
|
3034
|
+
for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
|
|
3035
|
+
n && r.closePath(), r.stroke(), e.drew = !0;
|
|
3036
|
+
return;
|
|
3037
|
+
}
|
|
3038
|
+
let i = wt(e, t, n);
|
|
3039
|
+
if (i.length === 0) return;
|
|
3040
|
+
r.beginPath();
|
|
3041
|
+
let a = null;
|
|
3042
|
+
for (let [e, t] of i) (!a || a[0] !== e[0] || a[1] !== e[1]) && r.moveTo(e[0], e[1]), r.lineTo(t[0], t[1]), a = t;
|
|
3043
|
+
r.stroke(), e.drew = !0;
|
|
3044
|
+
}
|
|
3045
|
+
function Et(e, t, n) {
|
|
3046
|
+
let r = [];
|
|
3047
|
+
for (let i = 0; i < n && !(t.remaining < 4); i++) {
|
|
3048
|
+
let n = t.i16(), i = t.i16();
|
|
3049
|
+
r.push([yt(e, n), bt(e, i)]);
|
|
3050
|
+
}
|
|
3051
|
+
return r;
|
|
3052
|
+
}
|
|
3053
|
+
function Dt(e, t) {
|
|
3054
|
+
t.length < 2 || !e.curPen || e.curPen.stroke == null || Tt(e, t, !1);
|
|
3055
|
+
}
|
|
3056
|
+
function Ot(e, t) {
|
|
3057
|
+
if (t.length < 2) return;
|
|
3058
|
+
let { ctx: n } = e;
|
|
3059
|
+
if (e.curBrush && e.curBrush.fill != null) {
|
|
3060
|
+
n.beginPath(), n.moveTo(t[0][0], t[0][1]);
|
|
3061
|
+
for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
|
|
3062
|
+
n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
|
|
3063
|
+
}
|
|
3064
|
+
Tt(e, t, !0);
|
|
3065
|
+
}
|
|
3066
|
+
function kt(e, t) {
|
|
3067
|
+
let n = t.u16();
|
|
3068
|
+
if (n <= 0 || n > 65536) return;
|
|
3069
|
+
let r = [];
|
|
3070
|
+
for (let e = 0; e < n; e++) {
|
|
3071
|
+
if (t.remaining < 2) return;
|
|
3072
|
+
r.push(t.u16());
|
|
3073
|
+
}
|
|
3074
|
+
let { ctx: i } = e;
|
|
3075
|
+
i.beginPath();
|
|
3076
|
+
let a = !1;
|
|
3077
|
+
for (let n of r) {
|
|
3078
|
+
if (n < 2) {
|
|
3079
|
+
for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
|
|
3080
|
+
continue;
|
|
3081
|
+
}
|
|
3082
|
+
let r = Et(e, t, n);
|
|
3083
|
+
if (!(r.length < 2)) {
|
|
3084
|
+
i.moveTo(r[0][0], r[0][1]);
|
|
3085
|
+
for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
|
|
3086
|
+
i.closePath(), a = !0;
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
a && (e.curBrush && e.curBrush.fill != null && (i.fillStyle = e.curBrush.fill, i.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (i.strokeStyle = e.curPen.stroke, i.lineWidth = xt(e, e.curPen.width), i.stroke(), e.drew = !0));
|
|
3090
|
+
}
|
|
3091
|
+
function At(e) {
|
|
3092
|
+
let t = e.u16(), n = e.i16();
|
|
3093
|
+
e.i16();
|
|
3094
|
+
let r = e.u32();
|
|
3095
|
+
return {
|
|
3096
|
+
kind: "pen",
|
|
3097
|
+
stroke: (t & 255) == 5 ? null : gt(r),
|
|
3098
|
+
width: Math.abs(n)
|
|
3099
|
+
};
|
|
3100
|
+
}
|
|
3101
|
+
function jt(e) {
|
|
3102
|
+
let t = e.u16(), n = e.u32();
|
|
3103
|
+
return e.u16(), {
|
|
3104
|
+
kind: "brush",
|
|
3105
|
+
fill: t === 1 ? null : gt(n)
|
|
3106
|
+
};
|
|
3107
|
+
}
|
|
3108
|
+
function Mt(e, t, n, r, i = !1) {
|
|
3109
|
+
if (!mt(e)) return !1;
|
|
3110
|
+
let a = 0;
|
|
3111
|
+
(e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === lt && (a = ut);
|
|
3112
|
+
let o = a + dt;
|
|
3113
|
+
if (o > e.length) return !1;
|
|
3114
|
+
let s = {
|
|
3115
|
+
ctx: t,
|
|
3116
|
+
W: n,
|
|
3117
|
+
H: r,
|
|
3118
|
+
orgX: 0,
|
|
3119
|
+
orgY: 0,
|
|
3120
|
+
extX: n || 1,
|
|
3121
|
+
extY: r || 1,
|
|
3122
|
+
haveExt: !1,
|
|
3123
|
+
objects: [],
|
|
3124
|
+
curPen: null,
|
|
3125
|
+
curBrush: null,
|
|
3126
|
+
fillRule: "nonzero",
|
|
3127
|
+
drew: !1,
|
|
3128
|
+
suppressBoundaryFrame: i
|
|
3129
|
+
}, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
3130
|
+
for (; o + 6 <= e.length;) {
|
|
3131
|
+
let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
|
|
3132
|
+
if (t < 3) break;
|
|
3133
|
+
let r = t * 2, i = o + r;
|
|
3134
|
+
if (i > e.length || n === Q.EOF) break;
|
|
3135
|
+
let a = new vt(e, o + 6, i);
|
|
3136
|
+
switch (n) {
|
|
3137
|
+
case Q.SETWINDOWORG:
|
|
3138
|
+
s.orgY = a.i16(), s.orgX = a.i16();
|
|
3139
|
+
break;
|
|
3140
|
+
case Q.SETWINDOWEXT: {
|
|
3141
|
+
let e = a.i16(), t = a.i16();
|
|
3142
|
+
s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
|
|
3143
|
+
break;
|
|
3144
|
+
}
|
|
3145
|
+
case Q.SETPOLYFILLMODE:
|
|
3146
|
+
s.fillRule = a.u16() === 1 ? "evenodd" : "nonzero";
|
|
3147
|
+
break;
|
|
3148
|
+
case Q.CREATEPENINDIRECT:
|
|
3149
|
+
_t(s.objects, At(a));
|
|
3150
|
+
break;
|
|
3151
|
+
case Q.CREATEBRUSHINDIRECT:
|
|
3152
|
+
_t(s.objects, jt(a));
|
|
3153
|
+
break;
|
|
3154
|
+
case Q.SELECTOBJECT: {
|
|
3155
|
+
let e = a.u16(), t = s.objects[e];
|
|
3156
|
+
t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" && (s.curBrush = t);
|
|
3157
|
+
break;
|
|
3158
|
+
}
|
|
3159
|
+
case Q.DELETEOBJECT: {
|
|
3160
|
+
let e = a.u16(), t = s.objects[e];
|
|
3161
|
+
t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), s.objects[e] = null);
|
|
3162
|
+
break;
|
|
3163
|
+
}
|
|
3164
|
+
case Q.POLYLINE:
|
|
3165
|
+
Dt(s, Et(s, a, a.i16()));
|
|
3166
|
+
break;
|
|
3167
|
+
case Q.POLYGON:
|
|
3168
|
+
Ot(s, Et(s, a, a.i16()));
|
|
3169
|
+
break;
|
|
3170
|
+
case Q.POLYPOLYGON:
|
|
3171
|
+
kt(s, a);
|
|
3172
|
+
break;
|
|
3173
|
+
case Q.RECTANGLE: {
|
|
3174
|
+
let e = a.i16(), t = a.i16(), n = a.i16(), r = a.i16();
|
|
3175
|
+
Ot(s, [
|
|
3176
|
+
[yt(s, r), bt(s, n)],
|
|
3177
|
+
[yt(s, t), bt(s, n)],
|
|
3178
|
+
[yt(s, t), bt(s, e)],
|
|
3179
|
+
[yt(s, r), bt(s, e)]
|
|
3180
|
+
]);
|
|
3181
|
+
break;
|
|
3182
|
+
}
|
|
3183
|
+
default: break;
|
|
3184
|
+
}
|
|
3185
|
+
o = i;
|
|
3186
|
+
}
|
|
3187
|
+
return s.drew;
|
|
3188
|
+
}
|
|
3189
|
+
var Nt = 2e3, Pt = 2;
|
|
3190
|
+
function Ft(e, t) {
|
|
3191
|
+
let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(Nt, Math.round(e)));
|
|
3192
|
+
return {
|
|
3193
|
+
w: i(n * Pt),
|
|
3194
|
+
h: i(r * Pt)
|
|
3195
|
+
};
|
|
3196
|
+
}
|
|
3197
|
+
async function It(e, t, n, r = !1) {
|
|
3198
|
+
if (!mt(e) || t <= 0 || n <= 0) return null;
|
|
3199
|
+
let i = new OffscreenCanvas(t, n), a = i.getContext("2d");
|
|
3200
|
+
return !a || (a.lineJoin = "round", a.lineCap = "round", !Mt(e, a, t, n, r)) ? null : createImageBitmap(i);
|
|
3201
|
+
}
|
|
3202
|
+
async function Lt(e, t = {}) {
|
|
3203
|
+
let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.arrayBuffer());
|
|
3204
|
+
if (mt(a)) {
|
|
3205
|
+
let { w: e, h: t } = Ft(n, r);
|
|
3206
|
+
return It(a, e, t, i);
|
|
3207
|
+
}
|
|
3208
|
+
return ht(a) ? null : createImageBitmap(e);
|
|
3209
|
+
}
|
|
3210
|
+
var Rt = {
|
|
2774
3211
|
accentbordercallout1: {
|
|
2775
3212
|
adj: [
|
|
2776
3213
|
["adj1", "val 18750"],
|
|
@@ -24633,8 +25070,8 @@ var qe = {
|
|
|
24633
25070
|
]
|
|
24634
25071
|
}]
|
|
24635
25072
|
}
|
|
24636
|
-
},
|
|
24637
|
-
function
|
|
25073
|
+
}, zt = 216e5, Bt = Math.PI * 2 / zt;
|
|
25074
|
+
function Vt(e, t, n) {
|
|
24638
25075
|
let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
|
|
24639
25076
|
Object.assign(c, {
|
|
24640
25077
|
w: r,
|
|
@@ -24679,14 +25116,14 @@ function Ye(e, t, n) {
|
|
|
24679
25116
|
lsd8: s / 8,
|
|
24680
25117
|
lsd16: s / 16,
|
|
24681
25118
|
lsd32: s / 32,
|
|
24682
|
-
cd:
|
|
24683
|
-
cd2:
|
|
24684
|
-
cd4:
|
|
24685
|
-
cd8:
|
|
24686
|
-
"3cd4": 3 *
|
|
24687
|
-
"3cd8": 3 *
|
|
24688
|
-
"5cd8": 5 *
|
|
24689
|
-
"7cd8": 7 *
|
|
25119
|
+
cd: zt,
|
|
25120
|
+
cd2: zt / 2,
|
|
25121
|
+
cd4: zt / 4,
|
|
25122
|
+
cd8: zt / 8,
|
|
25123
|
+
"3cd4": 3 * zt / 4,
|
|
25124
|
+
"3cd8": 3 * zt / 8,
|
|
25125
|
+
"5cd8": 5 * zt / 8,
|
|
25126
|
+
"7cd8": 7 * zt / 8
|
|
24690
25127
|
}), t.forEach(([e, t], n) => {
|
|
24691
25128
|
let r = a[n];
|
|
24692
25129
|
c[e] = typeof r == "number" ? r : u(t), e === "adj" && (c.adj1 = c.adj), e === "adj1" && (c.adj = c.adj1);
|
|
@@ -24723,10 +25160,10 @@ function Ye(e, t, n) {
|
|
|
24723
25160
|
case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
|
|
24724
25161
|
case "sqrt": return Math.sqrt(Math.max(0, t[0]));
|
|
24725
25162
|
case "mod": return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
|
|
24726
|
-
case "sin": return t[0] * Math.sin(t[1] *
|
|
24727
|
-
case "cos": return t[0] * Math.cos(t[1] *
|
|
24728
|
-
case "tan": return t[0] * Math.tan(t[1] *
|
|
24729
|
-
case "at2": return Math.atan2(t[1], t[0]) /
|
|
25163
|
+
case "sin": return t[0] * Math.sin(t[1] * Bt);
|
|
25164
|
+
case "cos": return t[0] * Math.cos(t[1] * Bt);
|
|
25165
|
+
case "tan": return t[0] * Math.tan(t[1] * Bt);
|
|
25166
|
+
case "at2": return Math.atan2(t[1], t[0]) / Bt;
|
|
24730
25167
|
case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
|
|
24731
25168
|
case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
|
|
24732
25169
|
default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
|
|
@@ -24735,8 +25172,8 @@ function Ye(e, t, n) {
|
|
|
24735
25172
|
}
|
|
24736
25173
|
//#endregion
|
|
24737
25174
|
//#region packages/core/src/shape/preset-geometry/path-executor.ts
|
|
24738
|
-
var
|
|
24739
|
-
function
|
|
25175
|
+
var Ht = Math.PI * 2 / 216e5;
|
|
25176
|
+
function Ut(e, t, n, r, i, a, o) {
|
|
24740
25177
|
let s = t.w == null ? 1 : a / t.w, c = t.h == null ? 1 : o / t.h, l = (e) => r + e * s, u = (e) => i + e * c, d = 0, f = 0;
|
|
24741
25178
|
for (let r of t.cmds) switch (r[0]) {
|
|
24742
25179
|
case "m": {
|
|
@@ -24760,7 +25197,7 @@ function Ze(e, t, n, r, i, a, o) {
|
|
|
24760
25197
|
break;
|
|
24761
25198
|
}
|
|
24762
25199
|
case "a": {
|
|
24763
|
-
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) *
|
|
25200
|
+
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * Ht, u = n.resolve(r[4]) * Ht, p = Math.PI * 2, m = (e) => Math.atan2(t * Math.sin(e), i * Math.cos(e)), h = m(l), g = Math.trunc(u / p), _ = u - g * p, v = m(l + _) - h;
|
|
24764
25201
|
_ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
|
|
24765
25202
|
let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
|
|
24766
25203
|
Math.abs(a) > 1e-6 && Math.abs(o) > 1e-6 && (e.ellipse(b, x, Math.abs(a), Math.abs(o), 0, h, y, u < 0), d = b + a * Math.cos(y), f = x + o * Math.sin(y));
|
|
@@ -24773,26 +25210,26 @@ function Ze(e, t, n, r, i, a, o) {
|
|
|
24773
25210
|
}
|
|
24774
25211
|
//#endregion
|
|
24775
25212
|
//#region packages/core/src/shape/preset-geometry/index.ts
|
|
24776
|
-
var
|
|
24777
|
-
function
|
|
24778
|
-
return e.toLowerCase() in
|
|
25213
|
+
var Wt = Rt;
|
|
25214
|
+
function Gt(e) {
|
|
25215
|
+
return e.toLowerCase() in Wt;
|
|
24779
25216
|
}
|
|
24780
|
-
function
|
|
24781
|
-
let s =
|
|
25217
|
+
function Kt(e, t, n, r, i, a, o = []) {
|
|
25218
|
+
let s = Wt[t.toLowerCase()];
|
|
24782
25219
|
if (!s) return !1;
|
|
24783
|
-
let c =
|
|
25220
|
+
let c = Vt({
|
|
24784
25221
|
w: i,
|
|
24785
25222
|
h: a,
|
|
24786
25223
|
adj: o
|
|
24787
25224
|
}, s.adj, s.gd);
|
|
24788
|
-
for (let t of s.paths)
|
|
25225
|
+
for (let t of s.paths) Ut(e, t, c, n, r, i, a);
|
|
24789
25226
|
return !0;
|
|
24790
25227
|
}
|
|
24791
|
-
var
|
|
25228
|
+
var qt = {
|
|
24792
25229
|
wedgeroundrectcallout: "roundrect",
|
|
24793
25230
|
wedgeellipsecallout: "ellipse",
|
|
24794
25231
|
wedgerectcallout: null
|
|
24795
|
-
},
|
|
25232
|
+
}, Jt = {
|
|
24796
25233
|
adj: [],
|
|
24797
25234
|
gd: [],
|
|
24798
25235
|
paths: [{
|
|
@@ -24826,43 +25263,43 @@ var et = {
|
|
|
24826
25263
|
]
|
|
24827
25264
|
}]
|
|
24828
25265
|
};
|
|
24829
|
-
function
|
|
25266
|
+
function Yt(e, t, n) {
|
|
24830
25267
|
let r = e[n];
|
|
24831
25268
|
if (typeof r == "number") return r;
|
|
24832
25269
|
let i = t.adj[n];
|
|
24833
25270
|
return i && Number(i[1].replace(/^val\s+/, "")) || 0;
|
|
24834
25271
|
}
|
|
24835
|
-
function
|
|
24836
|
-
let u = t.toLowerCase(), d =
|
|
25272
|
+
function Xt(e, t, n, r, i, a, o, s, c, l) {
|
|
25273
|
+
let u = t.toLowerCase(), d = Wt[u];
|
|
24837
25274
|
if (!d) return !1;
|
|
24838
|
-
if (u in
|
|
24839
|
-
let e =
|
|
25275
|
+
if (u in qt) {
|
|
25276
|
+
let e = Yt(o, d, 0), t = Yt(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
|
|
24840
25277
|
if (n >= 0 && n <= i && r >= 0 && r <= a) {
|
|
24841
|
-
let e =
|
|
24842
|
-
e === "roundrect" ? (d =
|
|
25278
|
+
let e = qt[u];
|
|
25279
|
+
e === "roundrect" ? (d = Wt.roundrect, o = [Yt(o, Wt[u], 2)]) : e && Wt[e] ? (d = Wt[e], o = []) : (d = Jt, o = []);
|
|
24843
25280
|
}
|
|
24844
25281
|
}
|
|
24845
|
-
let f =
|
|
25282
|
+
let f = Vt({
|
|
24846
25283
|
w: i,
|
|
24847
25284
|
h: a,
|
|
24848
25285
|
adj: o
|
|
24849
25286
|
}, d.adj, d.gd), p = !1;
|
|
24850
25287
|
for (let t of d.paths) {
|
|
24851
|
-
e.beginPath(),
|
|
25288
|
+
e.beginPath(), Ut(e, t, f, n, r, i, a);
|
|
24852
25289
|
let o = t.fill;
|
|
24853
25290
|
if (o !== "none" && s != null) {
|
|
24854
25291
|
e.save(), e.fillStyle = s, e.fill();
|
|
24855
|
-
let t =
|
|
25292
|
+
let t = Qt(o);
|
|
24856
25293
|
t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
|
|
24857
25294
|
}
|
|
24858
25295
|
t.stroke && c && c();
|
|
24859
25296
|
}
|
|
24860
25297
|
return !0;
|
|
24861
25298
|
}
|
|
24862
|
-
function
|
|
24863
|
-
let o =
|
|
25299
|
+
function Zt(e, t, n, r, i, a) {
|
|
25300
|
+
let o = Wt[e.toLowerCase()];
|
|
24864
25301
|
if (!o || o.paths.length === 0) return null;
|
|
24865
|
-
let s = o.paths[0], c =
|
|
25302
|
+
let s = o.paths[0], c = Vt({
|
|
24866
25303
|
w: r,
|
|
24867
25304
|
h: i,
|
|
24868
25305
|
adj: a
|
|
@@ -24896,7 +25333,7 @@ function it(e, t, n, r, i, a) {
|
|
|
24896
25333
|
}
|
|
24897
25334
|
};
|
|
24898
25335
|
}
|
|
24899
|
-
function
|
|
25336
|
+
function Qt(e) {
|
|
24900
25337
|
switch (e) {
|
|
24901
25338
|
case "lighten": return "rgba(255,255,255,0.30)";
|
|
24902
25339
|
case "lightenLess": return "rgba(255,255,255,0.15)";
|
|
@@ -24907,10 +25344,10 @@ function at(e) {
|
|
|
24907
25344
|
}
|
|
24908
25345
|
//#endregion
|
|
24909
25346
|
//#region packages/core/src/shape/effects.ts
|
|
24910
|
-
function
|
|
25347
|
+
function $t(e, t) {
|
|
24911
25348
|
return e * t;
|
|
24912
25349
|
}
|
|
24913
|
-
function
|
|
25350
|
+
function en(e, t) {
|
|
24914
25351
|
let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
|
|
24915
25352
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
|
|
24916
25353
|
if (typeof document < "u") {
|
|
@@ -24919,60 +25356,60 @@ function st(e, t) {
|
|
|
24919
25356
|
}
|
|
24920
25357
|
return null;
|
|
24921
25358
|
}
|
|
24922
|
-
function
|
|
25359
|
+
function tn(e) {
|
|
24923
25360
|
return e.getContext("2d") ?? null;
|
|
24924
25361
|
}
|
|
24925
|
-
function
|
|
24926
|
-
let s =
|
|
25362
|
+
function nn(e, t, n, r, i, a, o) {
|
|
25363
|
+
let s = en(a, o);
|
|
24927
25364
|
if (!s) return;
|
|
24928
|
-
let c =
|
|
25365
|
+
let c = tn(s);
|
|
24929
25366
|
if (!c) return;
|
|
24930
|
-
let l =
|
|
24931
|
-
c.save(), c.fillStyle =
|
|
25367
|
+
let l = $t(r.blur, i), u = $t(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
|
|
25368
|
+
c.save(), c.fillStyle = W(r.color, r.alpha), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-out", c.filter = l > 0 ? `blur(${l}px)` : "none", c.translate(f, p), c.fillStyle = "#000", t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in", c.filter = "none", c.fillStyle = "#000", t(c), c.restore(), e.save(), e.drawImage(s, 0, 0), e.restore();
|
|
24932
25369
|
}
|
|
24933
|
-
function
|
|
24934
|
-
let c =
|
|
25370
|
+
function rn(e, t, n, r, i, a, o, s) {
|
|
25371
|
+
let c = $t(r.radius, i);
|
|
24935
25372
|
if (c <= 0) {
|
|
24936
25373
|
t(e);
|
|
24937
25374
|
return;
|
|
24938
25375
|
}
|
|
24939
|
-
let l =
|
|
25376
|
+
let l = en(a, o);
|
|
24940
25377
|
if (!l) {
|
|
24941
25378
|
t(e);
|
|
24942
25379
|
return;
|
|
24943
25380
|
}
|
|
24944
|
-
let u =
|
|
25381
|
+
let u = tn(l);
|
|
24945
25382
|
if (!u) {
|
|
24946
25383
|
t(e);
|
|
24947
25384
|
return;
|
|
24948
25385
|
}
|
|
24949
25386
|
let d = s ?? t;
|
|
24950
25387
|
t(u);
|
|
24951
|
-
let f =
|
|
25388
|
+
let f = en(a, o), p = en(a, o), m = f ? tn(f) : null, h = p ? tn(p) : null;
|
|
24952
25389
|
if (f && m && p && h) {
|
|
24953
25390
|
m.fillStyle = "#000", d(m), h.drawImage(l, n.x, n.y, n.w, n.h, n.x - c, n.y - c, n.w + c * 2, n.h + c * 2), h.drawImage(l, 0, 0), h.globalCompositeOperation = "destination-in", h.filter = `blur(${c / 3}px)`, h.drawImage(f, 0, 0), h.filter = "none", h.globalCompositeOperation = "source-over", e.save(), e.drawImage(p, 0, 0), e.restore();
|
|
24954
25391
|
return;
|
|
24955
25392
|
}
|
|
24956
25393
|
e.save(), e.drawImage(l, 0, 0), e.restore();
|
|
24957
25394
|
}
|
|
24958
|
-
function
|
|
24959
|
-
let s =
|
|
25395
|
+
function an(e, t, n, r, i, a, o) {
|
|
25396
|
+
let s = en(a, o);
|
|
24960
25397
|
if (!s) return;
|
|
24961
|
-
let c =
|
|
25398
|
+
let c = tn(s);
|
|
24962
25399
|
if (!c) return;
|
|
24963
|
-
let l =
|
|
25400
|
+
let l = $t(r.blur, i);
|
|
24964
25401
|
c.save(), l > 0 && (c.filter = `blur(${l}px)`), t(c), c.restore(), c.save(), c.globalCompositeOperation = "destination-in";
|
|
24965
|
-
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p =
|
|
25402
|
+
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = on(r.stPos), m = on(r.endPos);
|
|
24966
25403
|
f.addColorStop(0, `rgba(0,0,0,${r.stA})`), p > 0 && f.addColorStop(p, `rgba(0,0,0,${r.stA})`), m < 1 && m > p && f.addColorStop(m, `rgba(0,0,0,${r.endA})`), f.addColorStop(1, `rgba(0,0,0,${r.endA})`), c.fillStyle = f, c.fillRect(0, 0, a, o), c.restore();
|
|
24967
|
-
let h =
|
|
25404
|
+
let h = $t(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
|
|
24968
25405
|
e.save(), e.translate(n.x + _, d + v), e.scale(r.sx, r.sy), e.translate(-n.x, -d), e.drawImage(s, 0, 0), e.restore();
|
|
24969
25406
|
}
|
|
24970
|
-
function
|
|
25407
|
+
function on(e) {
|
|
24971
25408
|
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
24972
25409
|
}
|
|
24973
25410
|
//#endregion
|
|
24974
25411
|
//#region packages/core/src/shape/scene3d-camera.ts
|
|
24975
|
-
var
|
|
25412
|
+
var sn = 26, cn = {
|
|
24976
25413
|
orthographicFront: {
|
|
24977
25414
|
kind: "orthographic",
|
|
24978
25415
|
baseLat: 0,
|
|
@@ -24985,52 +25422,52 @@ var pt = 26, mt = {
|
|
|
24985
25422
|
baseLat: 0,
|
|
24986
25423
|
baseLon: 0,
|
|
24987
25424
|
baseRev: 0,
|
|
24988
|
-
fovDeg:
|
|
25425
|
+
fovDeg: sn
|
|
24989
25426
|
},
|
|
24990
25427
|
perspectiveRelaxed: {
|
|
24991
25428
|
kind: "perspective",
|
|
24992
25429
|
baseLat: 0,
|
|
24993
25430
|
baseLon: 0,
|
|
24994
25431
|
baseRev: 0,
|
|
24995
|
-
fovDeg:
|
|
25432
|
+
fovDeg: sn
|
|
24996
25433
|
},
|
|
24997
25434
|
perspectiveRelaxedModerately: {
|
|
24998
25435
|
kind: "perspective",
|
|
24999
25436
|
baseLat: 0,
|
|
25000
25437
|
baseLon: 0,
|
|
25001
25438
|
baseRev: 0,
|
|
25002
|
-
fovDeg:
|
|
25439
|
+
fovDeg: sn
|
|
25003
25440
|
},
|
|
25004
25441
|
perspectiveAbove: {
|
|
25005
25442
|
kind: "perspective",
|
|
25006
25443
|
baseLat: -20,
|
|
25007
25444
|
baseLon: 0,
|
|
25008
25445
|
baseRev: 0,
|
|
25009
|
-
fovDeg:
|
|
25446
|
+
fovDeg: sn
|
|
25010
25447
|
},
|
|
25011
25448
|
perspectiveBelow: {
|
|
25012
25449
|
kind: "perspective",
|
|
25013
25450
|
baseLat: 20,
|
|
25014
25451
|
baseLon: 0,
|
|
25015
25452
|
baseRev: 0,
|
|
25016
|
-
fovDeg:
|
|
25453
|
+
fovDeg: sn
|
|
25017
25454
|
},
|
|
25018
25455
|
perspectiveLeft: {
|
|
25019
25456
|
kind: "perspective",
|
|
25020
25457
|
baseLat: 0,
|
|
25021
25458
|
baseLon: -20,
|
|
25022
25459
|
baseRev: 0,
|
|
25023
|
-
fovDeg:
|
|
25460
|
+
fovDeg: sn
|
|
25024
25461
|
},
|
|
25025
25462
|
perspectiveRight: {
|
|
25026
25463
|
kind: "perspective",
|
|
25027
25464
|
baseLat: 0,
|
|
25028
25465
|
baseLon: 20,
|
|
25029
25466
|
baseRev: 0,
|
|
25030
|
-
fovDeg:
|
|
25467
|
+
fovDeg: sn
|
|
25031
25468
|
}
|
|
25032
25469
|
};
|
|
25033
|
-
function
|
|
25470
|
+
function ln(e, t) {
|
|
25034
25471
|
let n = Array(9).fill(0);
|
|
25035
25472
|
for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
|
|
25036
25473
|
let a = 0;
|
|
@@ -25039,7 +25476,7 @@ function ht(e, t) {
|
|
|
25039
25476
|
}
|
|
25040
25477
|
return n;
|
|
25041
25478
|
}
|
|
25042
|
-
function
|
|
25479
|
+
function un(e) {
|
|
25043
25480
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25044
25481
|
return [
|
|
25045
25482
|
1,
|
|
@@ -25053,7 +25490,7 @@ function gt(e) {
|
|
|
25053
25490
|
n
|
|
25054
25491
|
];
|
|
25055
25492
|
}
|
|
25056
|
-
function
|
|
25493
|
+
function dn(e) {
|
|
25057
25494
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25058
25495
|
return [
|
|
25059
25496
|
n,
|
|
@@ -25067,7 +25504,7 @@ function _t(e) {
|
|
|
25067
25504
|
n
|
|
25068
25505
|
];
|
|
25069
25506
|
}
|
|
25070
|
-
function
|
|
25507
|
+
function fn(e) {
|
|
25071
25508
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25072
25509
|
return [
|
|
25073
25510
|
n,
|
|
@@ -25081,22 +25518,22 @@ function vt(e) {
|
|
|
25081
25518
|
1
|
|
25082
25519
|
];
|
|
25083
25520
|
}
|
|
25084
|
-
function
|
|
25521
|
+
function pn(e, t, n, r) {
|
|
25085
25522
|
return [
|
|
25086
25523
|
e[0] * t + e[1] * n + e[2] * r,
|
|
25087
25524
|
e[3] * t + e[4] * n + e[5] * r,
|
|
25088
25525
|
e[6] * t + e[7] * n + e[8] * r
|
|
25089
25526
|
];
|
|
25090
25527
|
}
|
|
25091
|
-
function
|
|
25528
|
+
function mn(e, t) {
|
|
25092
25529
|
let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
|
|
25093
|
-
return
|
|
25530
|
+
return ln(fn(-(t ? t.rev : e.baseRev)), ln(un(-n), dn(-r)));
|
|
25094
25531
|
}
|
|
25095
|
-
function
|
|
25096
|
-
return
|
|
25532
|
+
function hn(e) {
|
|
25533
|
+
return cn[e] ?? cn.orthographicFront;
|
|
25097
25534
|
}
|
|
25098
|
-
function
|
|
25099
|
-
let r =
|
|
25535
|
+
function gn(e, t, n) {
|
|
25536
|
+
let r = hn(e.prst), i = mn(r, e.rot);
|
|
25100
25537
|
if (t <= 0 || n <= 0) return {
|
|
25101
25538
|
corners: [
|
|
25102
25539
|
{
|
|
@@ -25128,11 +25565,11 @@ function St(e, t, n) {
|
|
|
25128
25565
|
if (r.kind === "perspective") {
|
|
25129
25566
|
let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
|
|
25130
25567
|
u = s.map(([e, t]) => {
|
|
25131
|
-
let [n, r, o] =
|
|
25568
|
+
let [n, r, o] = pn(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
|
|
25132
25569
|
return [n * c, r * c];
|
|
25133
25570
|
});
|
|
25134
25571
|
} else u = s.map(([e, t]) => {
|
|
25135
|
-
let [n, r] =
|
|
25572
|
+
let [n, r] = pn(i, e, t, 0);
|
|
25136
25573
|
return [n, r];
|
|
25137
25574
|
});
|
|
25138
25575
|
u = u.map(([e, t]) => [e * c, t * c]);
|
|
@@ -25157,18 +25594,18 @@ function St(e, t, n) {
|
|
|
25157
25594
|
isIdentity: E
|
|
25158
25595
|
};
|
|
25159
25596
|
}
|
|
25160
|
-
function
|
|
25161
|
-
let { isIdentity: t } =
|
|
25597
|
+
function _n(e) {
|
|
25598
|
+
let { isIdentity: t } = gn(e, 1e3, 1e3);
|
|
25162
25599
|
return !t;
|
|
25163
25600
|
}
|
|
25164
|
-
function
|
|
25165
|
-
let i =
|
|
25601
|
+
function vn(e, t, n, r) {
|
|
25602
|
+
let i = hn(e.prst), a = mn(i, e.rot);
|
|
25166
25603
|
if (t <= 0 || n <= 0 || r === 0) return {
|
|
25167
25604
|
x: 0,
|
|
25168
25605
|
y: 0
|
|
25169
25606
|
};
|
|
25170
25607
|
let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
|
|
25171
|
-
let [n, r, o] =
|
|
25608
|
+
let [n, r, o] = pn(a, 0, 0, t);
|
|
25172
25609
|
if (i.kind === "perspective") {
|
|
25173
25610
|
let t = e.fov ?? i.fovDeg, a = Math.max(1, Math.min(179, t)) * Math.PI / 180, s = c / Math.tan(a / 2), u = s - o, d = s / (Math.abs(u) < 1e-6 ? 1e-6 * Math.sign(u || 1) : u);
|
|
25174
25611
|
return [n * d * l, r * d * l];
|
|
@@ -25182,7 +25619,7 @@ function wt(e, t, n, r) {
|
|
|
25182
25619
|
}
|
|
25183
25620
|
//#endregion
|
|
25184
25621
|
//#region packages/core/src/shape/scene3d-draw.ts
|
|
25185
|
-
function
|
|
25622
|
+
function yn(e, t, n, r) {
|
|
25186
25623
|
let i = e.x, a = e.y, o = t.x, s = t.y, c = n.x, l = n.y, u = r.x, d = r.y, f = o - c, p = u - c, m = i - o + c - u, h = s - l, g = d - l, _ = a - s + l - d, v, y;
|
|
25187
25624
|
if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
|
|
25188
25625
|
else {
|
|
@@ -25202,15 +25639,15 @@ function Tt(e, t, n, r) {
|
|
|
25202
25639
|
1
|
|
25203
25640
|
];
|
|
25204
25641
|
}
|
|
25205
|
-
function
|
|
25642
|
+
function bn(e, t, n) {
|
|
25206
25643
|
let r = e[6] * t + e[7] * n + e[8];
|
|
25207
25644
|
return {
|
|
25208
25645
|
x: (e[0] * t + e[1] * n + e[2]) / r,
|
|
25209
25646
|
y: (e[3] * t + e[4] * n + e[5]) / r
|
|
25210
25647
|
};
|
|
25211
25648
|
}
|
|
25212
|
-
var
|
|
25213
|
-
function
|
|
25649
|
+
var xn = 1;
|
|
25650
|
+
function Sn(e, t) {
|
|
25214
25651
|
let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
|
|
25215
25652
|
return [
|
|
25216
25653
|
n * c + i * l,
|
|
@@ -25221,13 +25658,13 @@ function Ot(e, t) {
|
|
|
25221
25658
|
r * f + a * p + s
|
|
25222
25659
|
];
|
|
25223
25660
|
}
|
|
25224
|
-
function
|
|
25661
|
+
function Cn(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
25225
25662
|
let p = c - o, m = l - s;
|
|
25226
25663
|
if (p <= 0 || m <= 0) return;
|
|
25227
|
-
let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x =
|
|
25664
|
+
let h = (d.x - u.x) / p, g = (d.y - u.y) / p, _ = (f.x - u.x) / m, v = (f.y - u.y) / m, y = (Math.hypot(d.x - u.x, d.y - u.y) || 1) * a, b = (Math.hypot(f.x - u.x, f.y - u.y) || 1) * a, x = xn * p / y, S = xn * m / b, C = Math.max(0, o - x), w = Math.max(0, s - S), T = Math.min(n, c + x), E = Math.min(r, l + S), D = T - C, O = E - w;
|
|
25228
25665
|
if (D <= 0 || O <= 0) return;
|
|
25229
25666
|
e.save();
|
|
25230
|
-
let [k, A, j, M, N, P] =
|
|
25667
|
+
let [k, A, j, M, N, P] = Sn(i, [
|
|
25231
25668
|
h,
|
|
25232
25669
|
g,
|
|
25233
25670
|
_,
|
|
@@ -25237,22 +25674,22 @@ function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
|
25237
25674
|
]);
|
|
25238
25675
|
e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
|
|
25239
25676
|
}
|
|
25240
|
-
function
|
|
25241
|
-
let p =
|
|
25677
|
+
function wn(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
25678
|
+
let p = bn(o, s, c), m = bn(o, l, c), h = bn(o, s, u), g = bn(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = bn(o, _, v), b = {
|
|
25242
25679
|
x: (p.x + m.x + h.x + g.x) / 4,
|
|
25243
25680
|
y: (p.y + m.y + h.y + g.y) / 4
|
|
25244
|
-
}, x =
|
|
25681
|
+
}, x = En(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
|
|
25245
25682
|
if (f <= 0 || S <= d) {
|
|
25246
|
-
|
|
25683
|
+
Cn(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
|
|
25247
25684
|
return;
|
|
25248
25685
|
}
|
|
25249
|
-
l - s >= u - c ? (
|
|
25686
|
+
l - s >= u - c ? (wn(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), wn(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (wn(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), wn(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
|
|
25250
25687
|
}
|
|
25251
|
-
function
|
|
25688
|
+
function Tn(e, t, n, r, i, a = .5) {
|
|
25252
25689
|
if (n <= 0 || r <= 0) return;
|
|
25253
25690
|
let [o, s, c, l] = i;
|
|
25254
25691
|
if (Math.abs(o.x * s.y - s.x * o.y + s.x * c.y - c.x * s.y + c.x * l.y - l.x * c.y + l.x * o.y - o.x * l.y) / 2 < 1e-6) return;
|
|
25255
|
-
let u =
|
|
25692
|
+
let u = yn(i[0], i[1], i[2], i[3]);
|
|
25256
25693
|
if (!u) return;
|
|
25257
25694
|
let d = t.getTransform(), f = [
|
|
25258
25695
|
d.a,
|
|
@@ -25261,14 +25698,14 @@ function jt(e, t, n, r, i, a = .5) {
|
|
|
25261
25698
|
d.d,
|
|
25262
25699
|
d.e,
|
|
25263
25700
|
d.f
|
|
25264
|
-
], p =
|
|
25265
|
-
|
|
25701
|
+
], p = En(f);
|
|
25702
|
+
jn(e, t, n, r, i, f, p, u, a, 14) || (kn(), t.save(), t.beginPath(), t.moveTo(i[0].x, i[0].y), t.lineTo(i[1].x, i[1].y), t.lineTo(i[2].x, i[2].y), t.lineTo(i[3].x, i[3].y), t.closePath(), t.clip(), wn(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
|
|
25266
25703
|
}
|
|
25267
|
-
function
|
|
25704
|
+
function En(e) {
|
|
25268
25705
|
return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
|
|
25269
25706
|
}
|
|
25270
|
-
function
|
|
25271
|
-
let r =
|
|
25707
|
+
function Dn(e, t, n) {
|
|
25708
|
+
let r = yn(e[0], e[1], e[2], e[3]);
|
|
25272
25709
|
if (!r) return null;
|
|
25273
25710
|
let i = [
|
|
25274
25711
|
[-t, -n],
|
|
@@ -25278,16 +25715,16 @@ function Nt(e, t, n) {
|
|
|
25278
25715
|
], a = [];
|
|
25279
25716
|
for (let [e, t] of i) {
|
|
25280
25717
|
if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
|
|
25281
|
-
a.push(
|
|
25718
|
+
a.push(bn(r, e, t));
|
|
25282
25719
|
}
|
|
25283
25720
|
return a;
|
|
25284
25721
|
}
|
|
25285
|
-
var
|
|
25286
|
-
function
|
|
25287
|
-
|
|
25722
|
+
var On = !1;
|
|
25723
|
+
function kn() {
|
|
25724
|
+
On || (On = !0, typeof console < "u" && typeof console.warn == "function" && console.warn("[ooxml] scene3d: no offscreen canvas available — using the direct warp fallback (per-cell bleed only, no supersample). Textured-source seams may be faintly visible; the silhouette and geometry are unaffected."));
|
|
25288
25725
|
}
|
|
25289
|
-
var
|
|
25290
|
-
function
|
|
25726
|
+
var An = 2;
|
|
25727
|
+
function jn(e, t, n, r, i, a, o, s, c, l) {
|
|
25291
25728
|
let u = i.map((e) => ({
|
|
25292
25729
|
x: a[0] * e.x + a[2] * e.y + a[4],
|
|
25293
25730
|
y: a[1] * e.x + a[3] * e.y + a[5]
|
|
@@ -25296,11 +25733,11 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25296
25733
|
d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
|
|
25297
25734
|
let h = p - d, g = m - f;
|
|
25298
25735
|
if (h <= 0 || g <= 0) return !1;
|
|
25299
|
-
let _ = Math.max(1, Math.ceil(h *
|
|
25736
|
+
let _ = Math.max(1, Math.ceil(h * An)), v = Math.max(1, Math.ceil(g * An)), y = en(_, v);
|
|
25300
25737
|
if (!y || y.width !== _ || y.height !== v) return !1;
|
|
25301
25738
|
let b = y.getContext("2d") ?? null;
|
|
25302
25739
|
if (!b) return !1;
|
|
25303
|
-
let x =
|
|
25740
|
+
let x = An, S = [
|
|
25304
25741
|
a[0] * x,
|
|
25305
25742
|
a[1] * x,
|
|
25306
25743
|
a[2] * x,
|
|
@@ -25308,18 +25745,18 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25308
25745
|
(a[4] - d) * x,
|
|
25309
25746
|
(a[5] - f) * x
|
|
25310
25747
|
];
|
|
25311
|
-
b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(),
|
|
25748
|
+
b.save(), b.setTransform(S[0], S[1], S[2], S[3], S[4], S[5]), b.beginPath(), b.moveTo(i[0].x, i[0].y), b.lineTo(i[1].x, i[1].y), b.lineTo(i[2].x, i[2].y), b.lineTo(i[3].x, i[3].y), b.closePath(), b.clip(), wn(b, e, n, r, S, o, s, 0, 0, 1, 1, c * x, l), b.restore(), t.save(), t.setTransform(1, 0, 0, 1, 0, 0);
|
|
25312
25749
|
let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
|
|
25313
25750
|
return t.imageSmoothingEnabled = !0, t.imageSmoothingQuality = "high", t.drawImage(y, 0, 0, h * x, g * x, d, f, h, g), t.imageSmoothingEnabled = C, t.imageSmoothingQuality = w, t.restore(), !0;
|
|
25314
25751
|
}
|
|
25315
25752
|
//#endregion
|
|
25316
25753
|
//#region packages/core/src/shape/bevel-shading.ts
|
|
25317
|
-
function
|
|
25754
|
+
function Mn(e, t) {
|
|
25318
25755
|
if (t <= 0) return () => 1;
|
|
25319
25756
|
let n = (e) => Math.max(0, Math.min(1, e / t));
|
|
25320
25757
|
switch (e) {
|
|
25321
25758
|
case "hardEdge": {
|
|
25322
|
-
let e =
|
|
25759
|
+
let e = Bn;
|
|
25323
25760
|
return (t) => {
|
|
25324
25761
|
let r = Math.min(1, n(t) / e);
|
|
25325
25762
|
return r * r * (3 - 2 * r);
|
|
@@ -25339,7 +25776,7 @@ function Rt(e, t) {
|
|
|
25339
25776
|
};
|
|
25340
25777
|
}
|
|
25341
25778
|
}
|
|
25342
|
-
function
|
|
25779
|
+
function Nn(e) {
|
|
25343
25780
|
let t = e.length, n = new Float64Array(t);
|
|
25344
25781
|
if (t === 0) return n;
|
|
25345
25782
|
let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
|
|
@@ -25357,7 +25794,7 @@ function zt(e) {
|
|
|
25357
25794
|
}
|
|
25358
25795
|
return n;
|
|
25359
25796
|
}
|
|
25360
|
-
function
|
|
25797
|
+
function Pn(e, t = 3) {
|
|
25361
25798
|
if (e <= 0) return Array(t).fill(1);
|
|
25362
25799
|
let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
|
|
25363
25800
|
r % 2 == 0 && r--;
|
|
@@ -25365,7 +25802,7 @@ function Bt(e, t = 3) {
|
|
|
25365
25802
|
for (let e = 0; e < t; e++) s.push(e < o ? r : i);
|
|
25366
25803
|
return s;
|
|
25367
25804
|
}
|
|
25368
|
-
function
|
|
25805
|
+
function Fn(e, t, n, r, i, a) {
|
|
25369
25806
|
let o = 1 / (2 * i + 1);
|
|
25370
25807
|
if (a) for (let a = 0; a < r; a++) {
|
|
25371
25808
|
let r = a * n, s = 0;
|
|
@@ -25386,29 +25823,29 @@ function Vt(e, t, n, r, i, a) {
|
|
|
25386
25823
|
}
|
|
25387
25824
|
}
|
|
25388
25825
|
}
|
|
25389
|
-
function
|
|
25826
|
+
function In(e, t, n, r) {
|
|
25390
25827
|
let i = Float64Array.from(e);
|
|
25391
25828
|
if (r <= 0 || t <= 0 || n <= 0) return i;
|
|
25392
25829
|
let a = new Float64Array(t * n);
|
|
25393
|
-
for (let e of
|
|
25830
|
+
for (let e of Pn(r, 3)) {
|
|
25394
25831
|
let r = Math.max(1, (e - 1) / 2);
|
|
25395
|
-
|
|
25832
|
+
Fn(i, a, t, n, r, !0), Fn(a, i, t, n, r, !1);
|
|
25396
25833
|
}
|
|
25397
25834
|
return i;
|
|
25398
25835
|
}
|
|
25399
|
-
function
|
|
25836
|
+
function Ln(e, t, n, r = 128) {
|
|
25400
25837
|
let i = new Float64Array(t * n);
|
|
25401
25838
|
for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
|
|
25402
25839
|
let a = new Float64Array(n);
|
|
25403
25840
|
for (let e = 0; e < t; e++) {
|
|
25404
25841
|
for (let r = 0; r < n; r++) a[r] = i[r * t + e];
|
|
25405
|
-
let r =
|
|
25842
|
+
let r = Nn(a);
|
|
25406
25843
|
for (let a = 0; a < n; a++) i[a * t + e] = r[a];
|
|
25407
25844
|
}
|
|
25408
25845
|
let o = new Float64Array(t);
|
|
25409
25846
|
for (let e = 0; e < n; e++) {
|
|
25410
25847
|
for (let n = 0; n < t; n++) o[n] = i[e * t + n];
|
|
25411
|
-
let n =
|
|
25848
|
+
let n = Nn(o);
|
|
25412
25849
|
for (let r = 0; r < t; r++) i[e * t + r] = n[r];
|
|
25413
25850
|
}
|
|
25414
25851
|
for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
|
|
@@ -25420,15 +25857,15 @@ function Ut(e, t, n, r = 128) {
|
|
|
25420
25857
|
for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
|
|
25421
25858
|
return i;
|
|
25422
25859
|
}
|
|
25423
|
-
var
|
|
25424
|
-
function
|
|
25860
|
+
var Rn = .25, zn = .35, Bn = .5;
|
|
25861
|
+
function Vn(e, t, n, r, i, a) {
|
|
25425
25862
|
let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
|
|
25426
25863
|
if (t <= 0 || n <= 0) return {
|
|
25427
25864
|
normals: o,
|
|
25428
25865
|
bandMask: s,
|
|
25429
25866
|
bandWeight: c
|
|
25430
25867
|
};
|
|
25431
|
-
let l =
|
|
25868
|
+
let l = Ln(e, t, n), u = Mn(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = In(l, t, n, Math.max(1, r * Rn)), m = (e) => {
|
|
25432
25869
|
let t = u(Math.max(0, e - .5));
|
|
25433
25870
|
return u(e + .5) - t;
|
|
25434
25871
|
};
|
|
@@ -25443,9 +25880,9 @@ function qt(e, t, n, r, i, a) {
|
|
|
25443
25880
|
o[a * 3 + 2] = 1;
|
|
25444
25881
|
continue;
|
|
25445
25882
|
}
|
|
25446
|
-
let g = u / r, _ = 1 -
|
|
25883
|
+
let g = u / r, _ = 1 - zn, v = 1;
|
|
25447
25884
|
if (g > _) {
|
|
25448
|
-
let e = Math.min(1, (g - _) /
|
|
25885
|
+
let e = Math.min(1, (g - _) / zn);
|
|
25449
25886
|
v = 1 - e * e * (3 - 2 * e);
|
|
25450
25887
|
}
|
|
25451
25888
|
c[a] = v;
|
|
@@ -25460,7 +25897,7 @@ function qt(e, t, n, r, i, a) {
|
|
|
25460
25897
|
bandWeight: c
|
|
25461
25898
|
};
|
|
25462
25899
|
}
|
|
25463
|
-
var
|
|
25900
|
+
var Hn = 35 * Math.PI / 180, Un = 12 * Math.PI / 180, Wn = {
|
|
25464
25901
|
t: {
|
|
25465
25902
|
x: 0,
|
|
25466
25903
|
y: -1
|
|
@@ -25494,22 +25931,22 @@ var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
|
|
|
25494
25931
|
y: 1
|
|
25495
25932
|
}
|
|
25496
25933
|
};
|
|
25497
|
-
function
|
|
25934
|
+
function Gn(e, t, n) {
|
|
25498
25935
|
let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
|
|
25499
25936
|
return {
|
|
25500
25937
|
x: e * i - t * a,
|
|
25501
25938
|
y: e * a + t * i
|
|
25502
25939
|
};
|
|
25503
25940
|
}
|
|
25504
|
-
function
|
|
25505
|
-
let r =
|
|
25506
|
-
return n && n.rev && (r =
|
|
25941
|
+
function Kn(e, t, n) {
|
|
25942
|
+
let r = Wn[t] ?? Wn.t;
|
|
25943
|
+
return n && n.rev && (r = Gn(r.x, r.y, n.rev)), Jn(r.x, r.y, Hn);
|
|
25507
25944
|
}
|
|
25508
|
-
function
|
|
25945
|
+
function qn(e) {
|
|
25509
25946
|
let t = Math.hypot(e.x, e.y) || 1;
|
|
25510
|
-
return
|
|
25947
|
+
return Jn(-e.x / t, -e.y / t, Un);
|
|
25511
25948
|
}
|
|
25512
|
-
function
|
|
25949
|
+
function Jn(e, t, n) {
|
|
25513
25950
|
let r = Math.hypot(e, t) || 1, i = Math.cos(n), a = Math.sin(n), o = e / r * i, s = t / r * i, c = a, l = Math.hypot(o, s, c) || 1;
|
|
25514
25951
|
return {
|
|
25515
25952
|
x: o / l,
|
|
@@ -25517,7 +25954,7 @@ function en(e, t, n) {
|
|
|
25517
25954
|
z: c / l
|
|
25518
25955
|
};
|
|
25519
25956
|
}
|
|
25520
|
-
var
|
|
25957
|
+
var Yn = 2, Xn = {
|
|
25521
25958
|
matte: {
|
|
25522
25959
|
ambient: .62,
|
|
25523
25960
|
diffuse: .45,
|
|
@@ -25530,8 +25967,8 @@ var tn = 2, nn = {
|
|
|
25530
25967
|
specular: .35,
|
|
25531
25968
|
shininess: 22
|
|
25532
25969
|
}
|
|
25533
|
-
},
|
|
25534
|
-
function
|
|
25970
|
+
}, Zn = .8;
|
|
25971
|
+
function Qn(e) {
|
|
25535
25972
|
switch (e) {
|
|
25536
25973
|
case "plastic":
|
|
25537
25974
|
case "metal":
|
|
@@ -25542,8 +25979,8 @@ function an(e) {
|
|
|
25542
25979
|
default: return "matte";
|
|
25543
25980
|
}
|
|
25544
25981
|
}
|
|
25545
|
-
function
|
|
25546
|
-
let r =
|
|
25982
|
+
function $n(e, t, n = !0) {
|
|
25983
|
+
let r = Xn[e], i = {
|
|
25547
25984
|
light: t,
|
|
25548
25985
|
material: e,
|
|
25549
25986
|
ambient: r.ambient,
|
|
@@ -25551,9 +25988,9 @@ function on(e, t, n = !0) {
|
|
|
25551
25988
|
specular: r.specular,
|
|
25552
25989
|
shininess: r.shininess
|
|
25553
25990
|
};
|
|
25554
|
-
return n && (i.fillLight =
|
|
25991
|
+
return n && (i.fillLight = qn(t), i.fillDiffuse = i.diffuse * Zn), i;
|
|
25555
25992
|
}
|
|
25556
|
-
function
|
|
25993
|
+
function er(e, t) {
|
|
25557
25994
|
let n = e.x * t.light.x + e.y * t.light.y + e.z * t.light.z, r = t.diffuse * Math.max(0, n), i = 0;
|
|
25558
25995
|
if (t.fillLight && t.fillDiffuse) {
|
|
25559
25996
|
let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
|
|
@@ -25566,14 +26003,14 @@ function sn(e, t) {
|
|
|
25566
26003
|
}
|
|
25567
26004
|
return Math.max(0, t.ambient + r + i + a);
|
|
25568
26005
|
}
|
|
25569
|
-
function
|
|
26006
|
+
function tr(e, t) {
|
|
25570
26007
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25571
26008
|
if (n <= 0 || r <= 0) return;
|
|
25572
26009
|
let i = t.widthPx;
|
|
25573
26010
|
if (i < .75) return;
|
|
25574
26011
|
let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
|
|
25575
26012
|
for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
|
|
25576
|
-
let { bandMask: c, bandWeight: l, normals: u } =
|
|
26013
|
+
let { bandMask: c, bandWeight: l, normals: u } = Vn(s, n, r, i, t.prst, t.heightPx), d = $n(t.material, t.light), f = er({
|
|
25577
26014
|
x: 0,
|
|
25578
26015
|
y: 0,
|
|
25579
26016
|
z: 1
|
|
@@ -25584,13 +26021,13 @@ function cn(e, t) {
|
|
|
25584
26021
|
if (n <= 0) continue;
|
|
25585
26022
|
let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
|
|
25586
26023
|
t.bottom && (r = -r, i = -i);
|
|
25587
|
-
let s = 1 + (
|
|
26024
|
+
let s = 1 + (er({
|
|
25588
26025
|
x: r,
|
|
25589
26026
|
y: i,
|
|
25590
26027
|
z: a
|
|
25591
26028
|
}, d) / f - 1) * n, p = e * 4;
|
|
25592
26029
|
if (s >= 1) {
|
|
25593
|
-
let e = Math.min(1, (s - 1) *
|
|
26030
|
+
let e = Math.min(1, (s - 1) * Yn);
|
|
25594
26031
|
for (let t = 0; t < 3; t++) {
|
|
25595
26032
|
let n = Math.min(255, o[p + t] * s);
|
|
25596
26033
|
o[p + t] = n + (255 - n) * e;
|
|
@@ -25599,7 +26036,7 @@ function cn(e, t) {
|
|
|
25599
26036
|
}
|
|
25600
26037
|
e.putImageData(a, 0, 0);
|
|
25601
26038
|
}
|
|
25602
|
-
function
|
|
26039
|
+
function nr(e, t) {
|
|
25603
26040
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25604
26041
|
if (n <= 0 || r <= 0) return;
|
|
25605
26042
|
let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
|
|
@@ -25626,7 +26063,7 @@ function ln(e, t) {
|
|
|
25626
26063
|
}
|
|
25627
26064
|
//#endregion
|
|
25628
26065
|
//#region packages/core/src/sparkline/renderer.ts
|
|
25629
|
-
function
|
|
26066
|
+
function rr(e, t, n) {
|
|
25630
26067
|
let { values: r } = n;
|
|
25631
26068
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
25632
26069
|
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");
|
|
@@ -25635,11 +26072,11 @@ function un(e, t, n) {
|
|
|
25635
26072
|
m === h && (h = m + 1, --m);
|
|
25636
26073
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
25637
26074
|
if (n.kind === "stem") {
|
|
25638
|
-
|
|
26075
|
+
or(e, n, s, c, l, u);
|
|
25639
26076
|
return;
|
|
25640
26077
|
}
|
|
25641
26078
|
if (n.kind === "column") {
|
|
25642
|
-
|
|
26079
|
+
ar(e, n, r, s, c, l, u, m, h);
|
|
25643
26080
|
return;
|
|
25644
26081
|
}
|
|
25645
26082
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -25648,7 +26085,7 @@ function un(e, t, n) {
|
|
|
25648
26085
|
e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
|
|
25649
26086
|
}
|
|
25650
26087
|
let v = r.length, y = (e) => v === 1 ? s + l / 2 : s + e / (v - 1) * l;
|
|
25651
|
-
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) *
|
|
26088
|
+
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * N, e.beginPath();
|
|
25652
26089
|
let b = !1, x = n.displayEmptyCellsAs ?? "gap";
|
|
25653
26090
|
for (let t = 0; t < v; t++) {
|
|
25654
26091
|
let n = r[t];
|
|
@@ -25663,7 +26100,7 @@ function un(e, t, n) {
|
|
|
25663
26100
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
25664
26101
|
}
|
|
25665
26102
|
e.stroke(), e.restore();
|
|
25666
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
26103
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = ir(r, n);
|
|
25667
26104
|
for (let t = 0; t < v; t++) {
|
|
25668
26105
|
let a = r[t];
|
|
25669
26106
|
if (a == null) continue;
|
|
@@ -25671,7 +26108,7 @@ function un(e, t, n) {
|
|
|
25671
26108
|
(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());
|
|
25672
26109
|
}
|
|
25673
26110
|
}
|
|
25674
|
-
function
|
|
26111
|
+
function ir(e, t) {
|
|
25675
26112
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
25676
26113
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
25677
26114
|
a = e;
|
|
@@ -25686,10 +26123,10 @@ function dn(e, t) {
|
|
|
25686
26123
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
25687
26124
|
return n;
|
|
25688
26125
|
}
|
|
25689
|
-
function
|
|
26126
|
+
function ar(e, t, n, r, i, a, o, s, c) {
|
|
25690
26127
|
let l = n.length;
|
|
25691
26128
|
if (l === 0) return;
|
|
25692
|
-
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 =
|
|
26129
|
+
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 = ir(n, t);
|
|
25693
26130
|
for (let i = 0; i < l; i++) {
|
|
25694
26131
|
let a = n[i];
|
|
25695
26132
|
if (a == null) continue;
|
|
@@ -25697,10 +26134,10 @@ function fn(e, t, n, r, i, a, o, s, c) {
|
|
|
25697
26134
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
25698
26135
|
}
|
|
25699
26136
|
}
|
|
25700
|
-
function
|
|
26137
|
+
function or(e, t, n, r, i, a) {
|
|
25701
26138
|
let o = t.values.length;
|
|
25702
26139
|
if (o === 0) return;
|
|
25703
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
26140
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = ir(t.values, t);
|
|
25704
26141
|
for (let r = 0; r < o; r++) {
|
|
25705
26142
|
let i = t.values[r];
|
|
25706
26143
|
if (i == null || i === 0) continue;
|
|
@@ -25710,13 +26147,13 @@ function pn(e, t, n, r, i, a) {
|
|
|
25710
26147
|
}
|
|
25711
26148
|
//#endregion
|
|
25712
26149
|
//#region packages/core/src/math/mathml.ts
|
|
25713
|
-
var
|
|
26150
|
+
var sr = {
|
|
25714
26151
|
"&": "&",
|
|
25715
26152
|
"<": "<",
|
|
25716
26153
|
">": ">",
|
|
25717
26154
|
"\"": """
|
|
25718
|
-
},
|
|
25719
|
-
function
|
|
26155
|
+
}, cr = (e) => e.replace(/[&<>"]/g, (e) => sr[e]);
|
|
26156
|
+
function lr(e) {
|
|
25720
26157
|
switch (e) {
|
|
25721
26158
|
case "roman": return "normal";
|
|
25722
26159
|
case "bold": return "bold";
|
|
@@ -25724,10 +26161,10 @@ function gn(e) {
|
|
|
25724
26161
|
case "italic": return null;
|
|
25725
26162
|
}
|
|
25726
26163
|
}
|
|
25727
|
-
var
|
|
25728
|
-
function
|
|
25729
|
-
let n =
|
|
25730
|
-
a &&= (i += `<mn${r}>${
|
|
26164
|
+
var ur = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), dr = "+−±∓×÷·∗⋅∘∙*/", fr = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", pr = "([{⟨⌈⌊", mr = ")]}⟩⌉⌋", hr = ",;";
|
|
26165
|
+
function gr(e, t) {
|
|
26166
|
+
let n = lr(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
|
|
26167
|
+
a &&= (i += `<mn${r}>${cr(a)}</mn>`, "");
|
|
25731
26168
|
};
|
|
25732
26169
|
for (let t of e) {
|
|
25733
26170
|
if (t === " ") {
|
|
@@ -25738,42 +26175,42 @@ function Cn(e, t) {
|
|
|
25738
26175
|
a += t;
|
|
25739
26176
|
continue;
|
|
25740
26177
|
}
|
|
25741
|
-
o(),
|
|
26178
|
+
o(), dr.includes(t) || fr.includes(t) || hr.includes(t) ? i += `<mo>${cr(t)}</mo>` : pr.includes(t) || mr.includes(t) ? i += `<mo fence="true" stretchy="false">${cr(t)}</mo>` : i += `<mi${r}>${cr(t)}</mi>`;
|
|
25742
26179
|
}
|
|
25743
26180
|
return o(), i;
|
|
25744
26181
|
}
|
|
25745
|
-
function
|
|
25746
|
-
return e.map(
|
|
26182
|
+
function _r(e) {
|
|
26183
|
+
return e.map(vr).join("");
|
|
25747
26184
|
}
|
|
25748
26185
|
function $(e) {
|
|
25749
|
-
return `<mrow>${
|
|
26186
|
+
return `<mrow>${_r(e)}</mrow>`;
|
|
25750
26187
|
}
|
|
25751
|
-
function
|
|
26188
|
+
function vr(e) {
|
|
25752
26189
|
switch (e.kind) {
|
|
25753
|
-
case "run": return
|
|
26190
|
+
case "run": return gr(e.text, e.style);
|
|
25754
26191
|
case "group": return $(e.items);
|
|
25755
26192
|
case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
|
|
25756
26193
|
case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
|
|
25757
26194
|
case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
|
|
25758
26195
|
case "subSup": return `<msubsup>${$(e.base)}${$(e.sub ?? [])}${$(e.sup ?? [])}</msubsup>`;
|
|
25759
|
-
case "nary": return
|
|
25760
|
-
case "delimiter": return
|
|
25761
|
-
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${
|
|
25762
|
-
case "limit": return
|
|
25763
|
-
case "array": return
|
|
26196
|
+
case "nary": return Tr(e);
|
|
26197
|
+
case "delimiter": return Er(e);
|
|
26198
|
+
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${_r(e.radicand)}</msqrt>`;
|
|
26199
|
+
case "limit": return Sr(e);
|
|
26200
|
+
case "array": return Cr(e);
|
|
25764
26201
|
case "groupChr": {
|
|
25765
|
-
let t = $(e.base), n =
|
|
26202
|
+
let t = $(e.base), n = ur.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${cr(e.char)}</mo>`;
|
|
25766
26203
|
return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
|
|
25767
26204
|
}
|
|
25768
26205
|
case "bar": {
|
|
25769
26206
|
let t = $(e.base), n = "<mo stretchy=\"true\">―</mo>";
|
|
25770
26207
|
return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
|
|
25771
26208
|
}
|
|
25772
|
-
case "accent": return
|
|
26209
|
+
case "accent": return xr(e);
|
|
25773
26210
|
case "func": return `<mrow>${$(e.name)}<mo>⁡</mo>${$(e.arg)}</mrow>`;
|
|
25774
26211
|
}
|
|
25775
26212
|
}
|
|
25776
|
-
var
|
|
26213
|
+
var yr = {
|
|
25777
26214
|
"̀": "`",
|
|
25778
26215
|
"́": "´",
|
|
25779
26216
|
"̂": "^",
|
|
@@ -25784,7 +26221,7 @@ var En = {
|
|
|
25784
26221
|
"̌": "ˇ",
|
|
25785
26222
|
"⃗": "→",
|
|
25786
26223
|
"⃖": "←"
|
|
25787
|
-
},
|
|
26224
|
+
}, br = new Set([
|
|
25788
26225
|
"̅",
|
|
25789
26226
|
"̄",
|
|
25790
26227
|
"¯",
|
|
@@ -25792,45 +26229,189 @@ var En = {
|
|
|
25792
26229
|
"̲",
|
|
25793
26230
|
"̳"
|
|
25794
26231
|
]);
|
|
25795
|
-
function
|
|
26232
|
+
function xr(e) {
|
|
25796
26233
|
let t = $(e.base);
|
|
25797
|
-
if (
|
|
25798
|
-
let n =
|
|
25799
|
-
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${
|
|
26234
|
+
if (br.has(e.char)) return `<mover>${t}<mo stretchy="true">―</mo></mover>`;
|
|
26235
|
+
let n = yr[e.char] ?? e.char;
|
|
26236
|
+
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${cr(n)}</mo></mover>`;
|
|
25800
26237
|
}
|
|
25801
|
-
function
|
|
26238
|
+
function Sr(e) {
|
|
25802
26239
|
let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
|
|
25803
26240
|
return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
|
|
25804
26241
|
}
|
|
25805
|
-
function
|
|
26242
|
+
function Cr(e) {
|
|
25806
26243
|
let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
|
|
25807
26244
|
n = e.align === "eq" ? Array.from({ length: t }, (e, t) => t % 2 == 0 ? "right" : "left").join(" ") : e.align === "left" ? "left" : "center";
|
|
25808
|
-
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${
|
|
26245
|
+
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${_r(e)}</mtd>`).join("")}</mtr>`).join("");
|
|
25809
26246
|
return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
|
|
25810
26247
|
}
|
|
25811
|
-
var
|
|
25812
|
-
function
|
|
25813
|
-
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 :
|
|
25814
|
-
return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${
|
|
26248
|
+
var wr = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
|
|
26249
|
+
function Tr(e) {
|
|
26250
|
+
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : wr.has(e.op), n = `<mo largeop="true">${cr(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
|
|
26251
|
+
return a = t ? r.length && i.length ? `<msubsup>${n}${$(r)}${$(i)}</msubsup>` : r.length ? `<msub>${n}${$(r)}</msub>` : i.length ? `<msup>${n}${$(i)}</msup>` : n : r.length && i.length ? `<munderover>${n}${$(r)}${$(i)}</munderover>` : r.length ? `<munder>${n}${$(r)}</munder>` : i.length ? `<mover>${n}${$(i)}</mover>` : n, `<mrow>${a}${_r(e.body)}</mrow>`;
|
|
25815
26252
|
}
|
|
25816
|
-
function
|
|
25817
|
-
let t = (e) => `<mo fence="true" stretchy="true">${
|
|
26253
|
+
function Er(e) {
|
|
26254
|
+
let t = (e) => `<mo fence="true" stretchy="true">${cr(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
|
|
25818
26255
|
return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
|
|
25819
26256
|
}
|
|
25820
|
-
function
|
|
25821
|
-
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${
|
|
26257
|
+
function Dr(e, t) {
|
|
26258
|
+
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${_r(e)}</math>`;
|
|
25822
26259
|
}
|
|
25823
26260
|
//#endregion
|
|
25824
26261
|
//#region packages/core/src/canvas/env.ts
|
|
25825
|
-
function
|
|
26262
|
+
function Or(e) {
|
|
25826
26263
|
return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
|
|
25827
26264
|
}
|
|
25828
|
-
function
|
|
26265
|
+
function kr(e = 1) {
|
|
25829
26266
|
return typeof window < "u" && window.devicePixelRatio || e;
|
|
25830
26267
|
}
|
|
25831
26268
|
//#endregion
|
|
26269
|
+
//#region packages/core/src/canvas/crisp.ts
|
|
26270
|
+
function Ar(e, t, n) {
|
|
26271
|
+
let r = Math.round(t * n) % 2 == 1 ? .5 : 0, i = e * n;
|
|
26272
|
+
return (Math.round(i - r) + r) / n - e;
|
|
26273
|
+
}
|
|
26274
|
+
//#endregion
|
|
26275
|
+
//#region packages/core/src/draw/dash.ts
|
|
26276
|
+
function jr(e, t) {
|
|
26277
|
+
return e.map((e) => e * t);
|
|
26278
|
+
}
|
|
26279
|
+
var Mr = {
|
|
26280
|
+
dotted: [1, 2],
|
|
26281
|
+
dashed: [3, 2],
|
|
26282
|
+
dashSmallGap: [3, 1],
|
|
26283
|
+
dotDash: [
|
|
26284
|
+
1,
|
|
26285
|
+
2,
|
|
26286
|
+
3,
|
|
26287
|
+
2
|
|
26288
|
+
],
|
|
26289
|
+
dotDotDash: [
|
|
26290
|
+
1,
|
|
26291
|
+
2,
|
|
26292
|
+
1,
|
|
26293
|
+
2,
|
|
26294
|
+
3,
|
|
26295
|
+
2
|
|
26296
|
+
],
|
|
26297
|
+
dashDotStroked: [
|
|
26298
|
+
1,
|
|
26299
|
+
2,
|
|
26300
|
+
3,
|
|
26301
|
+
2
|
|
26302
|
+
]
|
|
26303
|
+
};
|
|
26304
|
+
function Nr(e, t) {
|
|
26305
|
+
let n = Mr[e];
|
|
26306
|
+
return n ? jr(n, t) : [];
|
|
26307
|
+
}
|
|
26308
|
+
var Pr = {
|
|
26309
|
+
hair: [1, 1],
|
|
26310
|
+
dashed: [4, 3],
|
|
26311
|
+
mediumDashed: [4, 3],
|
|
26312
|
+
dotted: [2, 2],
|
|
26313
|
+
dashDot: [
|
|
26314
|
+
4,
|
|
26315
|
+
2,
|
|
26316
|
+
1,
|
|
26317
|
+
2
|
|
26318
|
+
],
|
|
26319
|
+
mediumDashDot: [
|
|
26320
|
+
4,
|
|
26321
|
+
2,
|
|
26322
|
+
1,
|
|
26323
|
+
2
|
|
26324
|
+
],
|
|
26325
|
+
dashDotDot: [
|
|
26326
|
+
4,
|
|
26327
|
+
2,
|
|
26328
|
+
1,
|
|
26329
|
+
2,
|
|
26330
|
+
1,
|
|
26331
|
+
2
|
|
26332
|
+
],
|
|
26333
|
+
mediumDashDotDot: [
|
|
26334
|
+
4,
|
|
26335
|
+
2,
|
|
26336
|
+
1,
|
|
26337
|
+
2,
|
|
26338
|
+
1,
|
|
26339
|
+
2
|
|
26340
|
+
],
|
|
26341
|
+
slantDashDot: [
|
|
26342
|
+
5,
|
|
26343
|
+
3,
|
|
26344
|
+
1,
|
|
26345
|
+
3
|
|
26346
|
+
]
|
|
26347
|
+
};
|
|
26348
|
+
function Fr(e) {
|
|
26349
|
+
let t = Pr[e];
|
|
26350
|
+
return t ? jr(t, 1) : [];
|
|
26351
|
+
}
|
|
26352
|
+
var Ir = {
|
|
26353
|
+
dotted: [1.5, 3],
|
|
26354
|
+
dottedHeavy: [1.5, 3],
|
|
26355
|
+
dash: [6, 3],
|
|
26356
|
+
dashHeavy: [6, 3],
|
|
26357
|
+
dashLong: [10, 4],
|
|
26358
|
+
dashLongHeavy: [10, 4],
|
|
26359
|
+
dotDash: [
|
|
26360
|
+
6,
|
|
26361
|
+
3,
|
|
26362
|
+
1.5,
|
|
26363
|
+
3
|
|
26364
|
+
],
|
|
26365
|
+
dotDashHeavy: [
|
|
26366
|
+
6,
|
|
26367
|
+
3,
|
|
26368
|
+
1.5,
|
|
26369
|
+
3
|
|
26370
|
+
],
|
|
26371
|
+
dotDotDash: [
|
|
26372
|
+
6,
|
|
26373
|
+
3,
|
|
26374
|
+
1.5,
|
|
26375
|
+
3,
|
|
26376
|
+
1.5,
|
|
26377
|
+
3
|
|
26378
|
+
],
|
|
26379
|
+
dotDotDashHeavy: [
|
|
26380
|
+
6,
|
|
26381
|
+
3,
|
|
26382
|
+
1.5,
|
|
26383
|
+
3,
|
|
26384
|
+
1.5,
|
|
26385
|
+
3
|
|
26386
|
+
]
|
|
26387
|
+
};
|
|
26388
|
+
function Lr(e, t) {
|
|
26389
|
+
let n = Ir[e];
|
|
26390
|
+
return n ? jr(n, t) : [];
|
|
26391
|
+
}
|
|
26392
|
+
//#endregion
|
|
26393
|
+
//#region packages/core/src/draw/double-border.ts
|
|
26394
|
+
function Rr(e, t) {
|
|
26395
|
+
let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
|
|
26396
|
+
return {
|
|
26397
|
+
railDev: n,
|
|
26398
|
+
gapDev: r,
|
|
26399
|
+
spanDev: 2 * n + r
|
|
26400
|
+
};
|
|
26401
|
+
}
|
|
26402
|
+
function zr(e, t, n, r, i, a, o) {
|
|
26403
|
+
let { railDev: s, gapDev: c, spanDev: l } = Rr(a, o);
|
|
26404
|
+
if (n === i) {
|
|
26405
|
+
let i = Math.round(n * o - l / 2);
|
|
26406
|
+
e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
|
|
26407
|
+
} else {
|
|
26408
|
+
let r = Math.round(t * o - l / 2);
|
|
26409
|
+
e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
|
|
26410
|
+
}
|
|
26411
|
+
}
|
|
26412
|
+
//#endregion
|
|
25832
26413
|
//#region packages/core/src/worker/bridge.ts
|
|
25833
|
-
var
|
|
26414
|
+
var Br = class {
|
|
25834
26415
|
_worker;
|
|
25835
26416
|
_opts;
|
|
25836
26417
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -25870,7 +26451,7 @@ var Ln = class {
|
|
|
25870
26451
|
for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
|
|
25871
26452
|
this._pending.clear();
|
|
25872
26453
|
}
|
|
25873
|
-
},
|
|
26454
|
+
}, Vr = [
|
|
25874
26455
|
"L",
|
|
25875
26456
|
"R",
|
|
25876
26457
|
"AL",
|
|
@@ -25894,7 +26475,7 @@ var Ln = class {
|
|
|
25894
26475
|
"RLI",
|
|
25895
26476
|
"FSI",
|
|
25896
26477
|
"PDI"
|
|
25897
|
-
],
|
|
26478
|
+
], Hr = [
|
|
25898
26479
|
0,
|
|
25899
26480
|
9,
|
|
25900
26481
|
10,
|
|
@@ -27162,7 +27743,7 @@ var Ln = class {
|
|
|
27162
27743
|
1048574,
|
|
27163
27744
|
1048576,
|
|
27164
27745
|
1114110
|
|
27165
|
-
],
|
|
27746
|
+
], Ur = [
|
|
27166
27747
|
9,
|
|
27167
27748
|
11,
|
|
27168
27749
|
10,
|
|
@@ -28430,7 +29011,7 @@ var Ln = class {
|
|
|
28430
29011
|
9,
|
|
28431
29012
|
0,
|
|
28432
29013
|
9
|
|
28433
|
-
],
|
|
29014
|
+
], Wr = [
|
|
28434
29015
|
40,
|
|
28435
29016
|
41,
|
|
28436
29017
|
41,
|
|
@@ -29287,7 +29868,7 @@ var Ln = class {
|
|
|
29287
29868
|
65379,
|
|
29288
29869
|
65379,
|
|
29289
29870
|
65378
|
|
29290
|
-
],
|
|
29871
|
+
], Gr = [
|
|
29291
29872
|
40,
|
|
29292
29873
|
41,
|
|
29293
29874
|
0,
|
|
@@ -29675,42 +30256,42 @@ var Ln = class {
|
|
|
29675
30256
|
];
|
|
29676
30257
|
//#endregion
|
|
29677
30258
|
//#region packages/core/src/text/bidi/char-data.ts
|
|
29678
|
-
function
|
|
29679
|
-
let t = 0, n =
|
|
30259
|
+
function Kr(e) {
|
|
30260
|
+
let t = 0, n = Hr.length - 1;
|
|
29680
30261
|
for (; t < n;) {
|
|
29681
30262
|
let r = t + n + 1 >> 1;
|
|
29682
|
-
|
|
30263
|
+
Hr[r] <= e ? t = r : n = r - 1;
|
|
29683
30264
|
}
|
|
29684
|
-
return
|
|
30265
|
+
return Ur[t];
|
|
29685
30266
|
}
|
|
29686
|
-
function
|
|
29687
|
-
return
|
|
30267
|
+
function qr(e) {
|
|
30268
|
+
return Vr[Kr(e)];
|
|
29688
30269
|
}
|
|
29689
|
-
var
|
|
30270
|
+
var Jr = (() => {
|
|
29690
30271
|
let e = /* @__PURE__ */ new Map();
|
|
29691
|
-
for (let t = 0; t <
|
|
30272
|
+
for (let t = 0; t < Wr.length; t += 2) e.set(Wr[t], Wr[t + 1]);
|
|
29692
30273
|
return e;
|
|
29693
30274
|
})();
|
|
29694
|
-
function
|
|
29695
|
-
return
|
|
30275
|
+
function Yr(e) {
|
|
30276
|
+
return Jr.get(e) ?? null;
|
|
29696
30277
|
}
|
|
29697
|
-
var
|
|
30278
|
+
var Xr = (() => {
|
|
29698
30279
|
let e = /* @__PURE__ */ new Map();
|
|
29699
|
-
for (let t = 0; t <
|
|
29700
|
-
pair:
|
|
29701
|
-
type:
|
|
30280
|
+
for (let t = 0; t < Gr.length; t += 3) e.set(Gr[t], {
|
|
30281
|
+
pair: Gr[t + 1],
|
|
30282
|
+
type: Gr[t + 2] === 0 ? "o" : "c"
|
|
29702
30283
|
});
|
|
29703
30284
|
return e;
|
|
29704
30285
|
})();
|
|
29705
|
-
function
|
|
29706
|
-
return
|
|
30286
|
+
function Zr(e) {
|
|
30287
|
+
return Xr.get(e) ?? null;
|
|
29707
30288
|
}
|
|
29708
|
-
var
|
|
29709
|
-
function
|
|
30289
|
+
var Qr = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", $r = (e) => e === "LRI" || e === "RLI" || e === "FSI", ei = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", ti = (e) => e & 1 ? e + 2 : e + 1, ni = (e) => e & 1 ? e + 1 : e + 2;
|
|
30290
|
+
function ri(e, t, n) {
|
|
29710
30291
|
let r = 0;
|
|
29711
30292
|
for (let i = t; i < n; i++) {
|
|
29712
30293
|
let t = e[i];
|
|
29713
|
-
if (
|
|
30294
|
+
if ($r(t)) r++;
|
|
29714
30295
|
else if (t === "PDI") r > 0 && r--;
|
|
29715
30296
|
else if (r === 0) {
|
|
29716
30297
|
if (t === "L") return 0;
|
|
@@ -29719,11 +30300,11 @@ function er(e, t, n) {
|
|
|
29719
30300
|
}
|
|
29720
30301
|
return 0;
|
|
29721
30302
|
}
|
|
29722
|
-
function
|
|
30303
|
+
function ii(e) {
|
|
29723
30304
|
let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
|
|
29724
30305
|
for (let a = 0; a < t; a++) {
|
|
29725
30306
|
let t = e[a];
|
|
29726
|
-
if (
|
|
30307
|
+
if ($r(t)) i.push(a);
|
|
29727
30308
|
else if (t === "PDI" && i.length) {
|
|
29728
30309
|
let e = i.pop();
|
|
29729
30310
|
n[e] = a, r[a] = e;
|
|
@@ -29734,7 +30315,7 @@ function tr(e) {
|
|
|
29734
30315
|
initOf: r
|
|
29735
30316
|
};
|
|
29736
30317
|
}
|
|
29737
|
-
function
|
|
30318
|
+
function ai(e, t, n) {
|
|
29738
30319
|
let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
|
|
29739
30320
|
level: t,
|
|
29740
30321
|
override: "neutral",
|
|
@@ -29748,7 +30329,7 @@ function nr(e, t, n) {
|
|
|
29748
30329
|
case "RLO":
|
|
29749
30330
|
case "LRO": {
|
|
29750
30331
|
i[d] = u().level;
|
|
29751
|
-
let e = r === "RLE" || r === "RLO" ?
|
|
30332
|
+
let e = r === "RLE" || r === "RLO" ? ti(u().level) : ni(u().level);
|
|
29752
30333
|
e <= 125 && s === 0 && c === 0 ? o.push({
|
|
29753
30334
|
level: e,
|
|
29754
30335
|
override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
|
|
@@ -29763,8 +30344,8 @@ function nr(e, t, n) {
|
|
|
29763
30344
|
let t = u().override;
|
|
29764
30345
|
t !== "neutral" && (a[d] = t);
|
|
29765
30346
|
let f;
|
|
29766
|
-
f = r === "RLI" ? "R" : r === "LRI" ? "L" :
|
|
29767
|
-
let p = f === "R" ?
|
|
30347
|
+
f = r === "RLI" ? "R" : r === "LRI" ? "L" : ri(e, d + 1, n[d]) === 1 ? "R" : "L";
|
|
30348
|
+
let p = f === "R" ? ti(u().level) : ni(u().level);
|
|
29768
30349
|
p <= 125 && s === 0 && c === 0 ? (l++, o.push({
|
|
29769
30350
|
level: p,
|
|
29770
30351
|
override: "neutral",
|
|
@@ -29806,10 +30387,10 @@ function nr(e, t, n) {
|
|
|
29806
30387
|
types: a
|
|
29807
30388
|
};
|
|
29808
30389
|
}
|
|
29809
|
-
function
|
|
30390
|
+
function oi(e) {
|
|
29810
30391
|
return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
|
|
29811
30392
|
}
|
|
29812
|
-
function
|
|
30393
|
+
function si(e, t, n, r, i, a) {
|
|
29813
30394
|
let o = e.length, s = [];
|
|
29814
30395
|
for (let e = 0; e < o; e++) n[e] || s.push(e);
|
|
29815
30396
|
let c = [];
|
|
@@ -29827,7 +30408,7 @@ function ir(e, t, n, r, i, a) {
|
|
|
29827
30408
|
for (;;) {
|
|
29828
30409
|
for (let e of p) f.push(e);
|
|
29829
30410
|
let t = p[p.length - 1];
|
|
29830
|
-
if (
|
|
30411
|
+
if ($r(e[t]) && i[t] !== o) {
|
|
29831
30412
|
let e = l.get(i[t]);
|
|
29832
30413
|
if (e) {
|
|
29833
30414
|
p = e;
|
|
@@ -29842,7 +30423,7 @@ function ir(e, t, n, r, i, a) {
|
|
|
29842
30423
|
break;
|
|
29843
30424
|
}
|
|
29844
30425
|
let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
|
|
29845
|
-
if (!(
|
|
30426
|
+
if (!($r(e[_]) && i[_] === o)) {
|
|
29846
30427
|
for (let e = _ + 1; e < o; e++) if (!n[e]) {
|
|
29847
30428
|
v = t[e];
|
|
29848
30429
|
break;
|
|
@@ -29858,8 +30439,8 @@ function ir(e, t, n, r, i, a) {
|
|
|
29858
30439
|
}
|
|
29859
30440
|
return d;
|
|
29860
30441
|
}
|
|
29861
|
-
var
|
|
29862
|
-
function
|
|
30442
|
+
var ci = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
|
|
30443
|
+
function li(e, t, n, r, i) {
|
|
29863
30444
|
let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
|
|
29864
30445
|
for (let e = 0; e < o; e++) {
|
|
29865
30446
|
let t = a[e];
|
|
@@ -29906,15 +30487,15 @@ function or(e, t, n, r, i) {
|
|
|
29906
30487
|
outer: for (let n = 0; n < o; n++) {
|
|
29907
30488
|
let i = a[n];
|
|
29908
30489
|
if (r[i] !== "ON") continue;
|
|
29909
|
-
let o =
|
|
30490
|
+
let o = Zr(t[i]);
|
|
29910
30491
|
if (o) if (o.type === "o") {
|
|
29911
30492
|
if (e.length === 63) break outer;
|
|
29912
30493
|
e.push({
|
|
29913
|
-
expect:
|
|
30494
|
+
expect: oi(o.pair),
|
|
29914
30495
|
pos: n
|
|
29915
30496
|
});
|
|
29916
30497
|
} else {
|
|
29917
|
-
let r =
|
|
30498
|
+
let r = oi(t[i]);
|
|
29918
30499
|
for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
|
|
29919
30500
|
f.push({
|
|
29920
30501
|
open: e[t].pos,
|
|
@@ -29932,7 +30513,7 @@ function or(e, t, n, r, i) {
|
|
|
29932
30513
|
for (let { open: e, close: t } of f) {
|
|
29933
30514
|
let n = !1, i = !1;
|
|
29934
30515
|
for (let o = e + 1; o < t; o++) {
|
|
29935
|
-
let e =
|
|
30516
|
+
let e = ci(r[a[o]]);
|
|
29936
30517
|
e === u ? n = !0 : e === d && (i = !0);
|
|
29937
30518
|
}
|
|
29938
30519
|
let o = null;
|
|
@@ -29940,7 +30521,7 @@ function or(e, t, n, r, i) {
|
|
|
29940
30521
|
else if (i) {
|
|
29941
30522
|
let t = s;
|
|
29942
30523
|
for (let n = e - 1; n >= 0; n--) {
|
|
29943
|
-
let e =
|
|
30524
|
+
let e = ci(r[a[n]]);
|
|
29944
30525
|
if (e) {
|
|
29945
30526
|
t = e;
|
|
29946
30527
|
break;
|
|
@@ -29951,29 +30532,29 @@ function or(e, t, n, r, i) {
|
|
|
29951
30532
|
o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
|
|
29952
30533
|
}
|
|
29953
30534
|
for (let e = 0; e < o; e++) {
|
|
29954
|
-
if (!
|
|
30535
|
+
if (!ei(r[a[e]])) continue;
|
|
29955
30536
|
let t = e;
|
|
29956
|
-
for (; t < o &&
|
|
29957
|
-
let n = e > 0 ?
|
|
30537
|
+
for (; t < o && ei(r[a[t]]);) t++;
|
|
30538
|
+
let n = e > 0 ? ci(r[a[e - 1]]) : s, i = t < o ? ci(r[a[t]]) : c;
|
|
29958
30539
|
if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
|
|
29959
30540
|
e = t - 1;
|
|
29960
30541
|
}
|
|
29961
|
-
for (let e = 0; e < o; e++)
|
|
30542
|
+
for (let e = 0; e < o; e++) ei(r[a[e]]) && (r[a[e]] = u);
|
|
29962
30543
|
for (let e = 0; e < o; e++) {
|
|
29963
30544
|
let t = a[e], n = r[t];
|
|
29964
30545
|
l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
|
|
29965
30546
|
}
|
|
29966
30547
|
}
|
|
29967
|
-
function
|
|
30548
|
+
function ui(e, t, n) {
|
|
29968
30549
|
let r = e.length, i = Array(r);
|
|
29969
|
-
for (let t = 0; t < r; t++) i[t] = n?.[t] ??
|
|
29970
|
-
let a = t === "rtl" ? 1 : t === "ltr" ? 0 :
|
|
29971
|
-
for (let e = 0; e < r; e++) u[e] =
|
|
29972
|
-
let d =
|
|
29973
|
-
for (let t of d)
|
|
30550
|
+
for (let t = 0; t < r; t++) i[t] = n?.[t] ?? qr(e[t]);
|
|
30551
|
+
let a = t === "rtl" ? 1 : t === "ltr" ? 0 : ri(i, 0, r), { pdiOf: o, initOf: s } = ii(i), { levels: c, types: l } = ai(i, a, o), u = Array(r);
|
|
30552
|
+
for (let e = 0; e < r; e++) u[e] = Qr(i[e]);
|
|
30553
|
+
let d = si(i, c, u, a, o, s), f = l.slice();
|
|
30554
|
+
for (let t of d) li(t, e, i, f, c);
|
|
29974
30555
|
let p = (e) => {
|
|
29975
30556
|
let t = i[e];
|
|
29976
|
-
return t === "WS" ||
|
|
30557
|
+
return t === "WS" || $r(t) || t === "PDI" || u[e];
|
|
29977
30558
|
};
|
|
29978
30559
|
for (let e = 0; e < r; e++) {
|
|
29979
30560
|
let t = i[e];
|
|
@@ -29989,7 +30570,7 @@ function sr(e, t, n) {
|
|
|
29989
30570
|
paragraphLevel: a
|
|
29990
30571
|
};
|
|
29991
30572
|
}
|
|
29992
|
-
function
|
|
30573
|
+
function di(e, t, n) {
|
|
29993
30574
|
let r = [];
|
|
29994
30575
|
for (let i = t; i < n; i++) {
|
|
29995
30576
|
let t = e[i];
|
|
@@ -30017,7 +30598,7 @@ function cr(e, t, n) {
|
|
|
30017
30598
|
}
|
|
30018
30599
|
//#endregion
|
|
30019
30600
|
//#region packages/core/src/text/bidi/uax9/index.ts
|
|
30020
|
-
function
|
|
30601
|
+
function fi(e) {
|
|
30021
30602
|
let t = [], n = [], r = [];
|
|
30022
30603
|
for (let i = 0; i < e.length;) {
|
|
30023
30604
|
let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
|
|
@@ -30029,9 +30610,9 @@ function lr(e) {
|
|
|
30029
30610
|
starts: r
|
|
30030
30611
|
};
|
|
30031
30612
|
}
|
|
30032
|
-
var
|
|
30613
|
+
var pi = class {
|
|
30033
30614
|
computeLevels(e, t, n) {
|
|
30034
|
-
let { cps: r, units: i, starts: a } =
|
|
30615
|
+
let { cps: r, units: i, starts: a } = fi(e), { levels: o, paragraphLevel: s } = ui(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
|
|
30035
30616
|
for (let e = 0; e < o.length; e++) {
|
|
30036
30617
|
let t = o[e] === -1 ? 255 : o[e];
|
|
30037
30618
|
for (let n = 0; n < i[e]; n++) c[l++] = t;
|
|
@@ -30042,51 +30623,51 @@ var ur = class {
|
|
|
30042
30623
|
};
|
|
30043
30624
|
}
|
|
30044
30625
|
reorderVisual(e, t, n) {
|
|
30045
|
-
return
|
|
30626
|
+
return di(e, t, n);
|
|
30046
30627
|
}
|
|
30047
30628
|
getMirror(e) {
|
|
30048
|
-
return
|
|
30629
|
+
return Yr(e);
|
|
30049
30630
|
}
|
|
30050
30631
|
};
|
|
30051
|
-
function
|
|
30052
|
-
return new
|
|
30632
|
+
function mi() {
|
|
30633
|
+
return new pi();
|
|
30053
30634
|
}
|
|
30054
30635
|
//#endregion
|
|
30055
30636
|
//#region packages/core/src/text/bidi/engine.ts
|
|
30056
|
-
var
|
|
30057
|
-
function
|
|
30058
|
-
return
|
|
30637
|
+
var hi = null;
|
|
30638
|
+
function gi() {
|
|
30639
|
+
return hi === null && (hi = mi()), hi;
|
|
30059
30640
|
}
|
|
30060
30641
|
//#endregion
|
|
30061
30642
|
//#region packages/core/src/text/bidi/segments.ts
|
|
30062
|
-
function
|
|
30063
|
-
return e === !0 ? "rtl" : e === !1 ? "ltr" :
|
|
30643
|
+
function _i(e, t) {
|
|
30644
|
+
return e === !0 ? "rtl" : e === !1 ? "ltr" : gi().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
30064
30645
|
}
|
|
30065
30646
|
//#endregion
|
|
30066
30647
|
//#region packages/core/src/text/kinsoku/rules.ts
|
|
30067
|
-
var
|
|
30068
|
-
function
|
|
30648
|
+
var vi = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", yi = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
|
|
30649
|
+
function bi(e) {
|
|
30069
30650
|
let t = /* @__PURE__ */ new Set();
|
|
30070
30651
|
for (let n of e) t.add(n.codePointAt(0));
|
|
30071
30652
|
return t;
|
|
30072
30653
|
}
|
|
30073
|
-
function
|
|
30654
|
+
function xi(e) {
|
|
30074
30655
|
return {
|
|
30075
30656
|
enabled: e?.kinsoku !== !1,
|
|
30076
|
-
lineStartForbidden:
|
|
30077
|
-
lineEndForbidden:
|
|
30657
|
+
lineStartForbidden: bi(e?.noLineBreaksBefore ?? vi),
|
|
30658
|
+
lineEndForbidden: bi(e?.noLineBreaksAfter ?? yi)
|
|
30078
30659
|
};
|
|
30079
30660
|
}
|
|
30080
|
-
var
|
|
30661
|
+
var Si = xi();
|
|
30081
30662
|
//#endregion
|
|
30082
30663
|
//#region packages/core/src/text/kinsoku/split.ts
|
|
30083
|
-
function
|
|
30664
|
+
function Ci(e, t, n, r = 1) {
|
|
30084
30665
|
if (!n.enabled || t <= 0 || t >= e.length) return t;
|
|
30085
30666
|
let i = (t) => t < e.length && n.lineStartForbidden.has(e[t].codePointAt(0)), a = (t) => t >= 0 && n.lineEndForbidden.has(e[t].codePointAt(0)), o = t;
|
|
30086
30667
|
for (; o > r && (i(o) || a(o - 1));) o--;
|
|
30087
30668
|
return o <= r && (i(o) || a(o - 1)) ? t : o;
|
|
30088
30669
|
}
|
|
30089
|
-
function
|
|
30670
|
+
function wi(e, t, n) {
|
|
30090
30671
|
if (!t.enabled) return 0;
|
|
30091
30672
|
let r = e.length - n;
|
|
30092
30673
|
for (let n = 1; n <= r; n++) {
|
|
@@ -30099,12 +30680,12 @@ function xr(e, t, n) {
|
|
|
30099
30680
|
}
|
|
30100
30681
|
//#endregion
|
|
30101
30682
|
//#region packages/core/src/text/cjk-ranges.ts
|
|
30102
|
-
function
|
|
30683
|
+
function Ti(e) {
|
|
30103
30684
|
return e >= 12288 && e <= 40959 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65280 && e <= 65519;
|
|
30104
30685
|
}
|
|
30105
30686
|
//#endregion
|
|
30106
30687
|
//#region packages/core/src/text/highlight-box.ts
|
|
30107
|
-
function
|
|
30688
|
+
function Ei(e, t) {
|
|
30108
30689
|
return {
|
|
30109
30690
|
top: e - t * .85,
|
|
30110
30691
|
height: t * 1.1
|
|
@@ -30112,10 +30693,10 @@ function Cr(e, t) {
|
|
|
30112
30693
|
}
|
|
30113
30694
|
//#endregion
|
|
30114
30695
|
//#region packages/core/src/text/line-distribute.ts
|
|
30115
|
-
var
|
|
30116
|
-
function
|
|
30696
|
+
var Di = (e) => e === 32 || e === 12288;
|
|
30697
|
+
function Oi(e, t, n = {}) {
|
|
30117
30698
|
if (Math.abs(t) <= .5) return null;
|
|
30118
|
-
let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ??
|
|
30699
|
+
let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? Ti, s = n.isWhitespace ?? Di, c = [];
|
|
30119
30700
|
for (let t = r; t < e.length; t++) {
|
|
30120
30701
|
let n = e[t];
|
|
30121
30702
|
if (n === void 0) continue;
|
|
@@ -30178,7 +30759,7 @@ function Tr(e, t, n = {}) {
|
|
|
30178
30759
|
}
|
|
30179
30760
|
//#endregion
|
|
30180
30761
|
//#region packages/core/src/text/justify-positions.ts
|
|
30181
|
-
function
|
|
30762
|
+
function ki(e, t, n, r, i = 0) {
|
|
30182
30763
|
let a = [], o = 0, s = 0;
|
|
30183
30764
|
for (let c of t) a.push({
|
|
30184
30765
|
text: e.slice(o, c).join(""),
|
|
@@ -30190,4 +30771,4 @@ function Er(e, t, n, r, i = 0) {
|
|
|
30190
30771
|
}), a;
|
|
30191
30772
|
}
|
|
30192
30773
|
//#endregion
|
|
30193
|
-
export {
|
|
30774
|
+
export { N as $, nn as A, st as B, Kn as C, vn as D, Dn as E, Zt as F, He as G, tt as H, Gt as I, ae as J, Ve as K, Xt as L, rn as M, en as N, gn as O, Kt as P, M as Q, Lt as R, nr as S, Tn as T, Ze as U, nt as V, Ue as W, oe as X, W as Y, j as Z, kr as _, wi as a, h as at, rr as b, xi as c, l as ct, Br as d, s as dt, C as et, zr as f, t as ft, Ar as g, Fr as h, Ti as i, p as it, an as j, _n as k, _i as l, u as lt, Lr as m, Oi as n, w as nt, Ci as o, d as ot, Nr as p, q, Ei as r, f as rt, Si as s, c as st, ki as t, S as tt, gi as u, g as ut, Or as v, Qn as w, tr as x, Dr as y, ct as z };
|