@silurus/ooxml 0.64.3 → 0.66.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-DKCCH23H.js +3005 -0
- package/dist/docx.mjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/math.mjs +1 -1
- package/dist/pptx-GygKVlSS.js +2051 -0
- package/dist/pptx.mjs +2 -2
- package/dist/render-worker-host-4IbvpiUo.js +27 -0
- package/dist/render-worker-host-BUJvU02z.js +27 -0
- package/dist/render-worker-host-BdfGz_ou.js +27 -0
- package/dist/{src-Bq0uxZNP.js → src-LzMutzSd.js} +1975 -711
- package/dist/types/docx.d.ts +316 -7
- package/dist/types/index.d.ts +421 -11
- package/dist/types/pptx.d.ts +98 -4
- package/dist/types/xlsx.d.ts +1 -1
- package/dist/xlsx-CO8NBW79.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 ee(e) {
|
|
301
|
+
return e.catAxisCrossBetween !== "midCat";
|
|
302
|
+
}
|
|
303
|
+
//#endregion
|
|
192
304
|
//#region packages/core/src/chart/chart-number-format.ts
|
|
193
|
-
function
|
|
305
|
+
function I(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 L(e, t) {
|
|
309
|
+
if (!t || t.trim().toLowerCase() === "general") return I(e);
|
|
310
|
+
if (R(t)) return z(e, t);
|
|
311
|
+
let n = B(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 ? "-" : "") + V(Math.abs(e), r);
|
|
201
313
|
}
|
|
202
|
-
function
|
|
314
|
+
function R(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 z(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 B(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 V(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 = H(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 H(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 te = {
|
|
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 ne(e, t, n) {
|
|
870
|
+
let r = te[e];
|
|
759
871
|
if (!r) return null;
|
|
760
|
-
let i =
|
|
872
|
+
let i = re(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 = ie(n), a.fillRect(0, 0, 8, 8), a.fillStyle = ie(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 re(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 ie(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 U(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 ae(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 oe(e) {
|
|
905
|
+
return e && ae(e) < 128 ? "#FFFFFF" : "#000000";
|
|
906
|
+
}
|
|
907
|
+
function se(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 U(e.color);
|
|
910
|
+
if (e.fillType === "pattern") return W(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 U(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)), U(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 ce = /* @__PURE__ */ new WeakMap();
|
|
929
|
+
function W(e, t) {
|
|
930
|
+
let n = `${e.preset}|${e.fg}|${e.bg}`, r = ce.get(t);
|
|
931
|
+
r || (r = /* @__PURE__ */ new Map(), ce.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 = ne(e.preset, e.fg, e.bg);
|
|
935
|
+
if (!a) return U(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) : U(e.fg);
|
|
819
938
|
}
|
|
820
|
-
var
|
|
939
|
+
var G = {
|
|
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 K(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 = U(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 ? G[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 q = [
|
|
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 le(e, t) {
|
|
1000
|
+
return t?.color ? `#${t.color}` : `#${q[e % q.length]}`;
|
|
882
1001
|
}
|
|
883
|
-
function
|
|
1002
|
+
function ue(e, t) {
|
|
884
1003
|
let n = t.dataPointColors?.[e];
|
|
885
|
-
return n ? `#${n}` : `#${
|
|
1004
|
+
return n ? `#${n}` : `#${q[e % q.length]}`;
|
|
886
1005
|
}
|
|
887
|
-
function
|
|
1006
|
+
function de(e) {
|
|
888
1007
|
return e === "pie" || e === "doughnut";
|
|
889
1008
|
}
|
|
890
|
-
function
|
|
891
|
-
if (
|
|
1009
|
+
function fe(e, t, n) {
|
|
1010
|
+
if (de(e)) {
|
|
892
1011
|
let e = t[0];
|
|
893
|
-
return e ?
|
|
1012
|
+
return e ? ue(n, e) : `#${q[n % q.length]}`;
|
|
894
1013
|
}
|
|
895
|
-
return
|
|
1014
|
+
return le(n, t[n]);
|
|
896
1015
|
}
|
|
897
|
-
function
|
|
1016
|
+
function pe(e, t, n) {
|
|
898
1017
|
return e ? e / 100 * n : Math.max(8, Math.min(10, t * .045));
|
|
899
1018
|
}
|
|
900
|
-
function
|
|
1019
|
+
function me(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 he(e) {
|
|
904
1023
|
return e ? `#${e}` : "#555";
|
|
905
1024
|
}
|
|
906
|
-
function
|
|
1025
|
+
function ge(e) {
|
|
907
1026
|
return Math.max(8, e * .02);
|
|
908
1027
|
}
|
|
909
|
-
function
|
|
910
|
-
let i =
|
|
1028
|
+
function _e(e, t, n, r) {
|
|
1029
|
+
let i = pe(e.catAxisTitleFontSizeHpt, n, r), a = pe(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 + ge(n) + 4 : 0,
|
|
1034
|
+
valTitleW: e.valAxisTitle ? a + ge(t) + 4 : 0
|
|
916
1035
|
};
|
|
917
1036
|
}
|
|
918
|
-
function
|
|
1037
|
+
function ve(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 + ge(i) + p / 2, a = s + l / 2;
|
|
1040
|
+
me(e, t.valAxisTitle, r, a, "val", p, t.valAxisTitleFontBold ?? !0, he(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 - ge(a) - f / 2;
|
|
1044
|
+
me(e, t.catAxisTitle, n, i, "cat", f, t.catAxisTitleFontBold ?? !0, he(t.catAxisTitleFontColor));
|
|
926
1045
|
}
|
|
927
1046
|
}
|
|
928
|
-
function
|
|
1047
|
+
function ye(e) {
|
|
929
1048
|
return e && (e === "line" || e === "stackedLine" || e === "stackedLinePct" || e === "radar" || e === "scatter") ? "line" : "fill";
|
|
930
1049
|
}
|
|
931
|
-
function
|
|
1050
|
+
function be(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 xe(e, t) {
|
|
1060
|
+
if (de(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: fe(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: fe(t, e, r)
|
|
951
1070
|
}));
|
|
952
1071
|
}
|
|
953
|
-
function
|
|
954
|
-
let c =
|
|
1072
|
+
function Se(e, t, n, r, i, a, o = "vertical", s) {
|
|
1073
|
+
let c = ye(s), l = xe(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++) be(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++) be(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 Ce(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 we(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
|
+
Se(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
|
+
Se(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
|
+
Se(e, t.series, r + 4, c, n.reserveW - 8, u, "vertical", t.chartType);
|
|
994
1113
|
break;
|
|
995
1114
|
case "t":
|
|
996
|
-
|
|
1115
|
+
Se(e, t.series, s, i + d, l, n.reserveH, "horizontal", t.chartType);
|
|
997
1116
|
break;
|
|
998
1117
|
case "b":
|
|
999
|
-
|
|
1118
|
+
Se(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 J(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 Te(e, t, n) {
|
|
1016
1135
|
return e.titleFontSizeHpt ? e.titleFontSizeHpt / 100 * n : Math.max(10, t * .085);
|
|
1017
1136
|
}
|
|
1018
|
-
function
|
|
1137
|
+
function Ee(e, t, n) {
|
|
1019
1138
|
return e ? e / 100 * n : Math.max(8, t * .045);
|
|
1020
1139
|
}
|
|
1021
|
-
function
|
|
1140
|
+
function De(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 Oe(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 ke(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,132 +1160,184 @@ 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 Ae(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 = Oe(t), h = m.length;
|
|
1165
|
+
if (h === 0) return;
|
|
1166
|
+
let g = t.title ? Te(t, s, r) : 0, _ = t.title ? s * .02 : 0, v = t.title ? s * .025 : 0, y = t.title ? g + _ + v : 0, b = Ce(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 } = _e(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, I = 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;
|
|
1062
|
-
l ? t += Math.abs(r) :
|
|
1171
|
+
l ? t += Math.abs(r) : I = Math.max(I, Math.abs(r));
|
|
1172
|
+
}
|
|
1173
|
+
l && (I = Math.max(I, t));
|
|
1174
|
+
}
|
|
1175
|
+
u && (I = 100), t.valMax != null && (I = t.valMax), I === 0 && (I = 1);
|
|
1176
|
+
let { max: R, step: z } = A(0, I, void 0, t.valMax, P), B = 0, V = 1, H = 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
|
+
B = i.min, V = i.max, H = i.step;
|
|
1182
|
+
}
|
|
1183
|
+
let te = Math.max(8, Math.min(11, s / 20)), ne = Math.max(8, Math.min(11, M / 20)), re = e.font, ie = 0;
|
|
1184
|
+
if (!c && !t.valAxisHidden) {
|
|
1185
|
+
e.font = `${ne}px sans-serif`;
|
|
1186
|
+
let n = 0, r = Math.round(R / z);
|
|
1187
|
+
for (let i = 0; i <= r; i++) {
|
|
1188
|
+
let r = u ? `${Math.round(i * z)}%` : L(i * z, t.valAxisFormatCode);
|
|
1189
|
+
n = Math.max(n, e.measureText(r).width);
|
|
1063
1190
|
}
|
|
1064
|
-
|
|
1191
|
+
ie = n + 16;
|
|
1192
|
+
}
|
|
1193
|
+
let U = p?.fontSizeHpt ? p.fontSizeHpt / 100 * r : te, ae = 0;
|
|
1194
|
+
if (p && !p.hidden) {
|
|
1195
|
+
e.font = `${U}px sans-serif`;
|
|
1196
|
+
let t = 0, n = Math.round((V - B) / H);
|
|
1197
|
+
for (let r = 0; r <= n; r++) t = Math.max(t, e.measureText(L(B + r * H, p.formatCode ?? null)).width);
|
|
1198
|
+
ae = t + 18;
|
|
1065
1199
|
}
|
|
1066
|
-
|
|
1067
|
-
let
|
|
1068
|
-
|
|
1069
|
-
|
|
1200
|
+
e.font = re;
|
|
1201
|
+
let oe = p && p.title ? (p.titleFontSizeHpt ? p.titleFontSizeHpt / 100 * r : Math.max(9, s * .05)) + 8 : 0, se = {
|
|
1202
|
+
t: k,
|
|
1203
|
+
r: x + o * .03 + ae + oe,
|
|
1204
|
+
b: j,
|
|
1205
|
+
l: c ? (t.catAxisHidden ? o * .03 : o * .22) + O + S : S + O + ie
|
|
1206
|
+
};
|
|
1207
|
+
De(e, t, i, a + _, o, g);
|
|
1208
|
+
let ce = t.plotAreaManualLayout, W, G, K, q;
|
|
1209
|
+
if (ce && ce.w != null && ce.h != null ? (W = i + ce.x * o, G = a + ce.y * s, K = ce.w * o, q = ce.h * s) : (W = i + se.l, G = a + se.t, K = o - se.l - se.r, q = s - se.t - se.b), K <= 0 || q <= 0) return;
|
|
1210
|
+
t.plotAreaBg && (e.fillStyle = `#${t.plotAreaBg}`, e.fillRect(W, G, K, q));
|
|
1211
|
+
let ue = V - B || 1, de = (e) => G + q - e / R * q, fe = (e) => G + q - (e - B) / ue * q, pe = "#e0e0e0", me = Math.round(R / z);
|
|
1212
|
+
e.textBaseline = "middle", e.font = `${Math.max(8, Math.min(11, q / 20))}px sans-serif`;
|
|
1213
|
+
let he = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555";
|
|
1214
|
+
if (e.fillStyle = he, !t.valAxisHidden) for (let n = 0; n <= me; n++) {
|
|
1215
|
+
let r = n * z, i = u ? `${Math.round(r)}%` : L(r, t.valAxisFormatCode);
|
|
1070
1216
|
if (c) {
|
|
1071
|
-
let t =
|
|
1072
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1217
|
+
let t = W + r / R * K;
|
|
1218
|
+
e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(t, G), e.lineTo(t, G + q), e.stroke(), e.textAlign = "center", e.fillText(i, t, G + q + 10);
|
|
1073
1219
|
} else {
|
|
1074
|
-
let t =
|
|
1075
|
-
e.strokeStyle = n === 0 ? "#aaa" :
|
|
1220
|
+
let t = G + q - r / R * q;
|
|
1221
|
+
e.strokeStyle = n === 0 ? "#aaa" : pe, e.lineWidth = n === 0 ? 1 : .5, e.beginPath(), e.moveTo(W, t), e.lineTo(W + K, t), e.stroke(), e.textAlign = "right", e.fillText(i, W - 12, t);
|
|
1076
1222
|
}
|
|
1077
1223
|
}
|
|
1078
|
-
let
|
|
1224
|
+
let { color: ge, width: ye } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: be, width: xe } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), Se = (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
|
+
}, Ee = !t.catAxisHidden && !t.catAxisLineHidden, Ae = !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null, je = () => {
|
|
1227
|
+
if (c ? (Ee && Se(W, G, W, G + q, ge, ye), Ae && Se(W, G + q, W + K, G + q, be, xe)) : (Ee && Se(W, G + q, W + K, G + q, ge, ye), Ae && Se(W, G, W, G + q, be, xe)), !t.valAxisHidden && t.valAxisMajorTickMark && t.valAxisMajorTickMark !== "none") for (let n = 0; n <= me; n++) {
|
|
1228
|
+
let r = n * z;
|
|
1229
|
+
c ? J(e, t.valAxisMajorTickMark, "cat", G + q, W + r / R * K, be, xe) : J(e, t.valAxisMajorTickMark, "val", W, G + q - r / R * q, be, xe);
|
|
1230
|
+
}
|
|
1231
|
+
if (!t.catAxisHidden && t.catAxisMajorTickMark && t.catAxisMajorTickMark !== "none") {
|
|
1232
|
+
let n = ee(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 ? J(e, t.catAxisMajorTickMark, "val", W, G + r * q, ge, ye) : J(e, t.catAxisMajorTickMark, "cat", G + q, W + r * K, ge, ye);
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
}, Y = c ? q / h : K / h, Me = l ? 1 : Math.max(1, d.length), Ne = l ? 0 : t.barOverlap ?? 0, Pe = t.barGapWidth ?? 150, Fe = Y / (1 + (Me - 1) * (1 - Ne / 100) + Pe / 100), Ie = l ? 0 : Fe * (1 - Ne / 100), Le = (Y - (Fe + (Me - 1) * Ie)) / 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 = le(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 ? G + (h - 1 - n) * Y + Le : G + (h - 1 - n) * Y + Le + a * Ie, f = p / R * K, g = l ? W + i / R * K : W;
|
|
1249
|
+
e.fillStyle = m, e.fillRect(g, c, f, Fe), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), g, c, f, Fe, "horizontal", t.dataLabelPosition ?? null, s.labelColor ?? t.dataLabelFontColor ?? null));
|
|
1094
1250
|
} else {
|
|
1095
|
-
let a = l ?
|
|
1096
|
-
e.fillStyle =
|
|
1251
|
+
let a = l ? W + n * Y + Le : W + n * Y + Le + o * Ie, c = p / R * q, d = G + q - (l ? i + p : p) / R * q;
|
|
1252
|
+
e.fillStyle = m, e.fillRect(a, d, Fe, c), t.showDataLabels && p > 0 && (e.font = `bold ${t.dataLabelFontSizeHpt ? t.dataLabelFontSizeHpt / 100 * r : Math.max(7, Math.min(11, Fe * .6))}px sans-serif`, ke(e, u ? `${Math.round(p)}%` : L(p, t.dataLabelFormatCode ?? s.valFormatCode ?? null), a, d, c, Fe, "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, Y * .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 = G + (h - 1 - t) * Y + Y / 2;
|
|
1263
|
+
e.textAlign = "right", e.textBaseline = "middle", e.fillText(n, W - 4, r);
|
|
1108
1264
|
} else {
|
|
1109
|
-
let r =
|
|
1110
|
-
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r,
|
|
1265
|
+
let r = W + t * Y + Y / 2;
|
|
1266
|
+
e.textAlign = "center", e.textBaseline = "top", e.fillText(n, r, G + q + 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 = le(d.length + t, n), i = p && n.useSecondaryAxis === !0 ? fe : de;
|
|
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 = W + t * Y + Y / 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 = W + t * Y + Y / 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 (je(), p) {
|
|
1291
|
+
let t = W + K, { color: n, width: i } = F(p.lineColor, p.lineWidthEmu, r);
|
|
1292
|
+
if (p.lineHidden || Se(t, G, t, G + q, n, i), !p.hidden) {
|
|
1293
|
+
e.font = `${U}px sans-serif`, e.fillStyle = p.fontColor ? `#${p.fontColor}` : he, e.textAlign = "left", e.textBaseline = "middle";
|
|
1294
|
+
let r = Math.max(1, Math.round(ue / H));
|
|
1295
|
+
for (let a = 0; a <= r; a++) {
|
|
1296
|
+
let r = B + a * H, o = fe(r);
|
|
1297
|
+
J(e, p.majorTickMark, "val", t, o, n, i, !0), e.fillText(L(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(W + K + ae + t * .6, G + q / 2), e.rotate(Math.PI / 2), e.fillText(p.title, 0, 0), e.restore();
|
|
1132
1303
|
}
|
|
1133
1304
|
}
|
|
1134
|
-
|
|
1305
|
+
we(e, c && !l ? {
|
|
1135
1306
|
...t,
|
|
1136
1307
|
series: [...t.series].reverse()
|
|
1137
|
-
} : t,
|
|
1308
|
+
} : t, b, i, a, o, s, W, G, K, q, y + 2), ve(e, t, i, a, o, s, W, G, K, q, S, w, T, E);
|
|
1138
1309
|
}
|
|
1139
|
-
function
|
|
1140
|
-
let { x: i, y: a, w: o, h: s } = n, c =
|
|
1310
|
+
function je(e, t, n, r) {
|
|
1311
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(t), l = c.length;
|
|
1141
1312
|
if (l === 0) return;
|
|
1142
|
-
let u = t.title ?
|
|
1143
|
-
t: p + _ +
|
|
1313
|
+
let u = t.title ? Te(t, s, r) : 0, d = t.title ? s * .045 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(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 = Ee(t.catAxisFontSizeHpt, s, r), b = Ee(t.valAxisFontSizeHpt, s, r), { catTitlePx: x, valTitlePx: S, catTitleH: C, valTitleW: w } = _e(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:
|
|
1319
|
+
De(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), R = P - N;
|
|
1156
1327
|
if (R === 0) return;
|
|
1157
|
-
let z = (e) =>
|
|
1328
|
+
let z = (e) => D + k - (e - N) / R * k, B = ee(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 = z(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(), J(e, t.valAxisMajorTickMark, "val", E, i), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(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 V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r),
|
|
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 V = Math.max(1, 2.25 * r), H = Math.max(2, 2.5 * r), te = Ee(t.dataLabelFontSizeHpt, s, r);
|
|
1168
1339
|
for (let n = 0; n < t.series.length; n++) {
|
|
1169
|
-
let r = t.series[n], i =
|
|
1340
|
+
let r = t.series[n], i = le(n, r);
|
|
1170
1341
|
e.strokeStyle = i, e.lineWidth = V, e.setLineDash([]), e.beginPath();
|
|
1171
1342
|
let a = !1;
|
|
1172
1343
|
for (let t = 0; t < l; t++) {
|
|
@@ -1183,83 +1354,85 @@ function he(e, t, n, r) {
|
|
|
1183
1354
|
for (let n = 0; n < l; n++) {
|
|
1184
1355
|
let a = r.values[n];
|
|
1185
1356
|
if (a != null && (o && (e.beginPath(), e.arc(B(n), z(a), H, 0, Math.PI * 2), e.fill()), t.showDataLabels)) {
|
|
1186
|
-
e.font = `${
|
|
1357
|
+
e.font = `${te}px sans-serif`, e.fillStyle = "#333", e.textAlign = "center", e.textBaseline = "bottom";
|
|
1187
1358
|
let t = o ? H + 1 : 2;
|
|
1188
|
-
e.fillText(
|
|
1359
|
+
e.fillText(I(a), B(n), z(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
1367
|
let n = B(i);
|
|
1197
|
-
|
|
1368
|
+
J(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
|
+
we(e, t, m, i, a, o, s, E, D, O, k, p + 2), ve(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 Y(e, t, n, r) {
|
|
1374
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(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 ? Te(t, s, r) : 0, f = t.title ? s * .035 : 0, p = t.title ? s * .035 : 0, m = t.title ? d + f + p : 0, h = Ce(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 } = _e(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
|
+
De(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 = ee(t), P = N ? (e) => T + (e + .5) / l * D : (e) => T + (l === 1 ? D / 2 : e / (l - 1) * D), I = (e) => E + O - e / j * O, { color: R, width: z } = F(t.catAxisLineColor, t.catAxisLineWidthEmu, r), { color: B, width: V } = F(t.valAxisLineColor, t.valAxisLineWidthEmu, r), H = 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 = le(n, r), a = E + O;
|
|
1396
|
+
if (e.beginPath(), u && H) {
|
|
1236
1397
|
for (let t = 0; t < l; t++) {
|
|
1237
|
-
let n = (r.values[t] ?? 0) +
|
|
1398
|
+
let n = (r.values[t] ?? 0) + H[t], i = P(t), a = I(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), I(H[t]));
|
|
1402
|
+
for (let e = 0; e < l; e++) H[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), I(r.values[t] ?? 0));
|
|
1406
|
+
e.lineTo(P(l - 1), a);
|
|
1407
|
+
}
|
|
1408
|
+
e.closePath(), e.fillStyle = U(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 = I(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(), J(e, t.valAxisMajorTickMark, "val", T, i, B, V), e.fillStyle = t.valAxisFontColor ? `#${t.valAxisFontColor}` : "#555", e.textAlign = "right", e.fillText(L(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 = R, e.lineWidth = z, e.beginPath(), e.moveTo(T, E + O), e.lineTo(T + D, E + O), e.stroke()), !t.valAxisHidden && !t.valAxisLineHidden && t.valAxisLineColor != null && (e.strokeStyle = B, e.lineWidth = V, 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++) J(e, t.catAxisMajorTickMark, "cat", E + O, T + n / l * D, R, z);
|
|
1419
|
+
else for (let n = 0; n < l; n++) J(e, t.catAxisMajorTickMark, "cat", E + O, P(n), R, z);
|
|
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
|
+
we(e, t, h, i, a, o, s, T, E, D, O, m + 2), ve(e, t, i, a, o, s, T, E, D, O, _, y, b, x);
|
|
1255
1428
|
}
|
|
1256
|
-
function
|
|
1429
|
+
function Me(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 ? Te(t, c, i) : 0, m = t.title ? c * .035 : 0, h = t.title ? c * .035 : 0, g = t.title ? p + m + h : 0;
|
|
1435
|
+
De(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 = ue(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
|
+
we(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 Ne(e, t, n, r) {
|
|
1468
|
+
let { x: i, y: a, w: o, h: s } = n, c = Oe(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 ? Te(t, s, r) : 0, d = t.title ? s * .035 : 0, f = t.title ? s * .035 : 0, p = t.title ? u + d + f : 0, m = Ce(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
|
+
De(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 = `${Ee(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(I(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 = le(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 = U(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
|
+
we(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 Pe(e, t, n, r) {
|
|
1533
|
+
let { x: i, y: a, w: o, h: s } = n, c = t.title ? Te(t, s, r) : 0, l = t.title ? s * .035 : 0, u = t.title ? s * .035 : 0, d = t.title ? c + l + u : 0, f = Ce(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 } = _e(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) ? De(e, t, i + n.x * o, a + n.y * s, (n.w ?? .5) * o, c) : De(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: ee, max: I, step: R } = A(N, F, t.valMin, t.valMax);
|
|
1568
|
+
if (N = ee, F = I, 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
|
|
1572
|
+
let z = (e) => S + (e - j) / (M - j) * w, B = (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) / R) + 1;
|
|
1404
1577
|
for (let n = 0; n < i; n++) {
|
|
1405
|
-
let i =
|
|
1406
|
-
if (i > F +
|
|
1407
|
-
let a =
|
|
1408
|
-
e.strokeStyle = "#e0e0e0", e.lineWidth = .5, e.beginPath(), e.moveTo(
|
|
1409
|
-
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0
|
|
1410
|
-
|
|
1578
|
+
let i = N + n * R;
|
|
1579
|
+
if (i > F + R * .01) break;
|
|
1580
|
+
let a = B(i);
|
|
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(L(i, t.valAxisFormatCode), S - 4, a);
|
|
1582
|
+
let o = t.valAxisLineColor ? `#${t.valAxisLineColor}` : void 0;
|
|
1583
|
+
J(e, t.valAxisMajorTickMark, "val", S, a, o, P(t.valAxisLineWidthEmu, r));
|
|
1411
1584
|
}
|
|
1412
1585
|
}
|
|
1413
|
-
let
|
|
1414
|
-
if (t.catAxisCrossesAt != null)
|
|
1586
|
+
let V = C + E;
|
|
1587
|
+
if (t.catAxisCrossesAt != null) V = ze(B(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 ? V = ze(B(0), C, C + E) : e === "min" ? V = C + E : e === "max" && (V = 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, V), e.lineTo(S + w, V), 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 >
|
|
1427
|
-
let o =
|
|
1428
|
-
e.fillText(
|
|
1429
|
-
let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0
|
|
1430
|
-
|
|
1598
|
+
let a = j + n * i;
|
|
1599
|
+
if (a > M + i * .01) break;
|
|
1600
|
+
let o = z(a);
|
|
1601
|
+
e.fillText(L(a, t.catAxisFormatCode), o, V + 4);
|
|
1602
|
+
let s = t.catAxisLineColor ? `#${t.catAxisLineColor}` : void 0;
|
|
1603
|
+
J(e, t.catAxisMajorTickMark, "cat", V, o, s, P(t.catAxisLineWidthEmu, r));
|
|
1431
1604
|
}
|
|
1432
1605
|
}
|
|
1433
|
-
let
|
|
1606
|
+
let H = t.chartType === "bubble", te = H ? "marker" : t.scatterStyle ?? "marker", ne = te === "line" || te === "lineMarker" || te === "lineNoMarker", re = te === "smooth" || te === "smoothMarker" || te === "smoothNoMarker", ie = te === "lineNoMarker" || te === "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 (
|
|
1608
|
+
let i = t.series[n], a = le(n, i), o = i.categories ?? [];
|
|
1609
|
+
for (let t of i.errBars ?? []) Ie(e, i, t, o, k, z, B, a);
|
|
1610
|
+
if (ne || re) {
|
|
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
|
-
x:
|
|
1445
|
-
y:
|
|
1617
|
+
x: z(r),
|
|
1618
|
+
y: B(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), re && 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
|
}
|
|
@@ -1456,29 +1629,29 @@ function ye(e, t, n, r) {
|
|
|
1456
1629
|
}
|
|
1457
1630
|
if (!(ie || i.showMarker === !1 || typeof i.markerSymbol == "string" && i.markerSymbol === "none")) {
|
|
1458
1631
|
let t = 0;
|
|
1459
|
-
if (
|
|
1632
|
+
if (H && 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
|
-
if (
|
|
1642
|
+
if (H && t > 0) {
|
|
1470
1643
|
let e = i.bubbleSizes?.[n];
|
|
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
|
+
Fe(e, z(c), B(s), u, d, f, p, r);
|
|
1475
1648
|
}
|
|
1476
1649
|
}
|
|
1477
|
-
|
|
1650
|
+
Le(e, i, o, k, z, B, E, r);
|
|
1478
1651
|
}
|
|
1479
|
-
|
|
1652
|
+
we(e, t, f, i, a, o, s, S, C, w, E, d + 2), ve(e, t, i, a, o, s, S, C, w, E, m, g, _, v);
|
|
1480
1653
|
}
|
|
1481
|
-
function
|
|
1654
|
+
function Fe(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 Ie(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(Be(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 Le(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(L(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
|
+
Re(e, i(f), a(d), m, h, _, v, y);
|
|
1563
1736
|
}
|
|
1564
1737
|
}
|
|
1565
|
-
function
|
|
1738
|
+
function Re(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 ze(e, t, n) {
|
|
1594
1767
|
return e < t ? t : e > n ? n : e;
|
|
1595
1768
|
}
|
|
1596
|
-
function
|
|
1769
|
+
function Be(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 Ve(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 He(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
|
+
Ae(e, t, n, r);
|
|
1709
1882
|
break;
|
|
1710
1883
|
case "line":
|
|
1711
1884
|
case "stackedLine":
|
|
1712
1885
|
case "stackedLinePct":
|
|
1713
|
-
|
|
1886
|
+
je(e, t, n, r);
|
|
1714
1887
|
break;
|
|
1715
1888
|
case "area":
|
|
1716
1889
|
case "stackedArea":
|
|
1717
1890
|
case "stackedAreaPct":
|
|
1718
|
-
|
|
1891
|
+
Y(e, t, n, r);
|
|
1719
1892
|
break;
|
|
1720
1893
|
case "pie":
|
|
1721
|
-
|
|
1894
|
+
Me(e, t, n, !1, r);
|
|
1722
1895
|
break;
|
|
1723
1896
|
case "doughnut":
|
|
1724
|
-
|
|
1897
|
+
Me(e, t, n, !0, r);
|
|
1725
1898
|
break;
|
|
1726
1899
|
case "radar":
|
|
1727
|
-
|
|
1900
|
+
Ne(e, t, n, r);
|
|
1728
1901
|
break;
|
|
1729
1902
|
case "scatter":
|
|
1730
1903
|
case "bubble":
|
|
1731
|
-
|
|
1904
|
+
Pe(e, t, n, r);
|
|
1732
1905
|
break;
|
|
1733
1906
|
case "waterfall":
|
|
1734
|
-
|
|
1907
|
+
Ve(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 Ue(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 We(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 X = 1e-9;
|
|
1980
|
+
function Ge(e) {
|
|
1808
1981
|
return e.cmd === "lineTo" || e.cmd === "cubicBezTo" || e.cmd === "arcTo";
|
|
1809
1982
|
}
|
|
1810
|
-
function
|
|
1983
|
+
function Ke(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 qe(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) < X && Math.abs(i) < X && (r = n.x2 - e, i = n.y2 - t), Math.abs(r) < X && Math.abs(i) < X && (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 Je(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 Ye(e, t, n) {
|
|
2045
|
+
let { x: r, y: i } = Je(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) < X && Math.abs(o) < X && (a = n.x - n.x1, o = n.y - n.y1), Math.abs(a) < X && Math.abs(o) < X && (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 Xe(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} = Je(t, n, i);
|
|
1915
2088
|
return r ? {
|
|
1916
2089
|
x: t,
|
|
1917
2090
|
y: n
|
|
1918
2091
|
} : null;
|
|
1919
2092
|
}
|
|
1920
|
-
function
|
|
2093
|
+
function Ze(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 = Xe(e);
|
|
2098
|
+
return !n || !e.some(Ge) ? !1 : Math.abs(n.x - t.x) < X && Math.abs(n.y - t.y) < X;
|
|
1926
2099
|
}
|
|
1927
|
-
function
|
|
2100
|
+
function Qe(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 && !Ze(n)) {
|
|
2108
|
+
let e = n.find((e) => e.cmd === "moveTo"), r = n.find(Ge);
|
|
1936
2109
|
if (e && r) {
|
|
1937
|
-
let n =
|
|
1938
|
-
(Math.abs(n.dx) >
|
|
2110
|
+
let n = qe(e.x, e.y, r);
|
|
2111
|
+
(Math.abs(n.dx) > X || Math.abs(n.dy) > X) && (t.start = Ke(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 && !Ze(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++) Ge(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} = Je(e, n, r[t]));
|
|
2120
|
+
let a = Ye(e, n, r[i]);
|
|
2121
|
+
(Math.abs(a.dx) > X || Math.abs(a.dy) > X) && (t.end = Ke(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 $e(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 et(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 tt(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 nt(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
|
+
et(e, u, d, i / 2, a / 2, 5);
|
|
2013
2186
|
break;
|
|
2014
2187
|
case "hexagon":
|
|
2015
|
-
|
|
2188
|
+
et(e, u, d, i / 2, a / 2, 6, 0);
|
|
2016
2189
|
break;
|
|
2017
2190
|
case "heptagon":
|
|
2018
|
-
|
|
2191
|
+
et(e, u, d, i / 2, a / 2, 7);
|
|
2019
2192
|
break;
|
|
2020
2193
|
case "octagon":
|
|
2021
|
-
|
|
2194
|
+
et(e, u, d, i / 2, a / 2, 8, -Math.PI / 8);
|
|
2022
2195
|
break;
|
|
2023
2196
|
case "decagon":
|
|
2024
|
-
|
|
2197
|
+
et(e, u, d, i / 2, a / 2, 10);
|
|
2025
2198
|
break;
|
|
2026
2199
|
case "dodecagon":
|
|
2027
|
-
|
|
2200
|
+
et(e, u, d, i / 2, a / 2, 12);
|
|
2028
2201
|
break;
|
|
2029
2202
|
case "star4":
|
|
2030
|
-
|
|
2203
|
+
$e(e, u, d, i / 2, a / 2, 4, (o ?? 12500) / 5e4);
|
|
2031
2204
|
break;
|
|
2032
2205
|
case "star5":
|
|
2033
2206
|
case "star":
|
|
2034
|
-
|
|
2207
|
+
$e(e, u, d, i / 2, a / 2, 5, (o ?? 19098) / 5e4);
|
|
2035
2208
|
break;
|
|
2036
2209
|
case "star6":
|
|
2037
|
-
|
|
2210
|
+
$e(e, u, d, i / 2, a / 2, 6, (o ?? 28868) / 5e4, 0);
|
|
2038
2211
|
break;
|
|
2039
2212
|
case "star7":
|
|
2040
|
-
|
|
2213
|
+
$e(e, u, d, i / 2, a / 2, 7, (o ?? 34142) / 5e4);
|
|
2041
2214
|
break;
|
|
2042
2215
|
case "star8":
|
|
2043
|
-
|
|
2216
|
+
$e(e, u, d, i / 2, a / 2, 8, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2044
2217
|
break;
|
|
2045
2218
|
case "star10":
|
|
2046
|
-
|
|
2219
|
+
$e(e, u, d, i / 2, a / 2, 10, (o ?? 41421) / 5e4);
|
|
2047
2220
|
break;
|
|
2048
2221
|
case "star12":
|
|
2049
|
-
|
|
2222
|
+
$e(e, u, d, i / 2, a / 2, 12, (o ?? 37500) / 5e4, 0);
|
|
2050
2223
|
break;
|
|
2051
2224
|
case "star16":
|
|
2052
|
-
|
|
2225
|
+
$e(e, u, d, i / 2, a / 2, 16, (o ?? 37500) / 5e4, -Math.PI / 2);
|
|
2053
2226
|
break;
|
|
2054
2227
|
case "star24":
|
|
2055
|
-
|
|
2228
|
+
$e(e, u, d, i / 2, a / 2, 24, (o ?? 37500) / 5e4, 0);
|
|
2056
2229
|
break;
|
|
2057
2230
|
case "star32":
|
|
2058
|
-
|
|
2231
|
+
$e(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;
|
|
@@ -2425,8 +2598,8 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2425
2598
|
break;
|
|
2426
2599
|
}
|
|
2427
2600
|
case "quadarrowcallout": {
|
|
2428
|
-
let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b,
|
|
2429
|
-
e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A,
|
|
2601
|
+
let t = Math.min(i, a), f = Math.min(5e4, Math.max(0, s ?? 18515)), p = f * 2, m = Math.min(p, Math.max(0, o ?? 18515)), h = 5e4 - f, g = Math.min(h, Math.max(0, c ?? 18515)), _ = 1e5 - 2 * g, v = Math.min(_, Math.max(m, l ?? 48123)), y = t * f / 1e5, b = t * m / 2e5, x = t * g / 1e5, S = i * v / 2e5, C = a * v / 2e5, w = u - S, T = u + S, E = u - y, D = u + y, O = u - b, k = u + b, A = n + i - x, j = d - C, M = d + C, N = d - y, P = d + y, F = d - b, ee = d + b, I = r + a - x;
|
|
2602
|
+
e.moveTo(n, d), e.lineTo(n + x, N), e.lineTo(n + x, F), e.lineTo(w, F), e.lineTo(w, j), e.lineTo(O, j), e.lineTo(O, r + x), e.lineTo(E, r + x), e.lineTo(u, r), e.lineTo(D, r + x), e.lineTo(k, r + x), e.lineTo(k, j), e.lineTo(T, j), e.lineTo(T, F), e.lineTo(A, F), e.lineTo(A, N), e.lineTo(n + i, d), e.lineTo(A, P), e.lineTo(A, ee), e.lineTo(T, ee), e.lineTo(T, M), e.lineTo(k, M), e.lineTo(k, I), e.lineTo(D, I), e.lineTo(u, r + a), e.lineTo(E, I), e.lineTo(O, I), e.lineTo(O, M), e.lineTo(w, M), e.lineTo(w, ee), e.lineTo(n + x, ee), e.lineTo(n + x, P), e.closePath();
|
|
2430
2603
|
break;
|
|
2431
2604
|
}
|
|
2432
2605
|
case "wave": {
|
|
@@ -2603,13 +2776,13 @@ function ze(e, t, n, r, i, a, o = null, s = null, c = null, l = null) {
|
|
|
2603
2776
|
break;
|
|
2604
2777
|
}
|
|
2605
2778
|
case "ellipseribbon": {
|
|
2606
|
-
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A,
|
|
2607
|
-
e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n +
|
|
2779
|
+
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = b * (h - h * h / i), S = h / 2, C = b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = y + E - O + y + E, A = a - T, j = (y * 14 / 16 + A) / 2, M = D + A, N = O + A, P = m / 2, F = b * P + A, ee = i - P, I = k + A;
|
|
2780
|
+
e.moveTo(n, r), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + O), e.quadraticCurveTo(n + i / 2, r + k, n + _, r + O), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r), e.lineTo(n + v, r + j), e.lineTo(n + i, r + A), e.quadraticCurveTo(n + ee, r + F, n + _, r + M), e.lineTo(n + _, r + N), e.quadraticCurveTo(n + i / 2, r + I, n + m, r + N), e.lineTo(n + m, r + M), e.quadraticCurveTo(n + P, r + F, n, r + A), e.lineTo(n + f, r + j), e.closePath();
|
|
2608
2781
|
break;
|
|
2609
2782
|
}
|
|
2610
2783
|
case "ellipseribbon2": {
|
|
2611
|
-
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M),
|
|
2612
|
-
e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n +
|
|
2784
|
+
let t = Math.min(1e5, Math.max(0, o ?? 25e3)), l = Math.min(75e3, Math.max(25e3, s ?? 5e4)), u = Math.max(0, t - (1e5 - t) / 2), d = Math.min(t, Math.max(u, c ?? 12500)), f = i / 8, p = i * l / 2e5, m = i / 2 - p, h = m + f, g = i - h, _ = i - m, v = i - f, y = a * d / 1e5, b = 4 * y / i, x = a - b * (h - h * h / i), S = h / 2, C = a - b * S, w = i - S, T = a * t / 1e5, E = T - y, D = b * (m - m * m / i), O = D + E, k = a - O, A = y + E - O + y + E, j = a - A, M = a - T, N = a - (y * 14 / 16 + M) / 2, P = a - (D + M), F = a - (O + M), ee = m / 2, I = a - (b * ee + M), L = i - ee, R = a - (A + M);
|
|
2785
|
+
e.moveTo(n, r + a), e.quadraticCurveTo(n + S, r + C, n + h, r + x), e.lineTo(n + m, r + k), e.quadraticCurveTo(n + i / 2, r + j, n + _, r + k), e.lineTo(n + g, r + x), e.quadraticCurveTo(n + w, r + C, n + i, r + a), e.lineTo(n + v, r + N), e.lineTo(n + i, r + T), e.quadraticCurveTo(n + L, r + I, n + _, r + P), e.lineTo(n + _, r + F), e.quadraticCurveTo(n + i / 2, r + R, n + m, r + F), e.lineTo(n + m, r + P), e.quadraticCurveTo(n + ee, r + I, n, r + T), e.lineTo(n + f, r + N), e.closePath();
|
|
2613
2786
|
break;
|
|
2614
2787
|
}
|
|
2615
2788
|
case "circulararrow": {
|
|
@@ -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), tt(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), tt(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 = tt(e, n + D, r + x, i, m, O, j);
|
|
2804
|
+
tt(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 = tt(e, n + S, r + D, m, a, N, M);
|
|
2811
|
+
tt(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), tt(e, n + x, r + D, m, a, j, -O), e.lineTo(n + b, r), tt(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 rt(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 = U(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 it = /* @__PURE__ */ new WeakMap(), at = 256;
|
|
2908
|
+
function ot(e) {
|
|
2909
|
+
let t = it.get(e);
|
|
2737
2910
|
return t || (t = {
|
|
2738
2911
|
imgs: /* @__PURE__ */ new Map(),
|
|
2739
2912
|
urls: /* @__PURE__ */ new Map()
|
|
2740
|
-
},
|
|
2913
|
+
}, it.set(e, t)), t;
|
|
2741
2914
|
}
|
|
2742
|
-
function
|
|
2915
|
+
function st(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 ct(e, t) {
|
|
2921
|
+
let n = ot(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,967 @@ 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(() => st(n, e)), n.imgs.set(e, i), n.imgs.size > at) {
|
|
2761
2934
|
let e = n.imgs.keys().next().value;
|
|
2762
|
-
|
|
2935
|
+
st(n, e);
|
|
2763
2936
|
}
|
|
2764
2937
|
return i;
|
|
2765
2938
|
}
|
|
2766
|
-
function
|
|
2767
|
-
let t =
|
|
2939
|
+
function lt(e) {
|
|
2940
|
+
let t = it.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(), it.delete(e);
|
|
2944
|
+
}
|
|
2945
|
+
}
|
|
2946
|
+
//#endregion
|
|
2947
|
+
//#region packages/core/src/image/emf.ts
|
|
2948
|
+
var Z = {
|
|
2949
|
+
HEADER: 1,
|
|
2950
|
+
POLYBEZIER: 2,
|
|
2951
|
+
POLYGON: 3,
|
|
2952
|
+
POLYLINE: 4,
|
|
2953
|
+
POLYBEZIERTO: 5,
|
|
2954
|
+
POLYLINETO: 6,
|
|
2955
|
+
POLYPOLYLINE: 7,
|
|
2956
|
+
POLYPOLYGON: 8,
|
|
2957
|
+
EOF: 14,
|
|
2958
|
+
SETPOLYFILLMODE: 19,
|
|
2959
|
+
SETBKMODE: 18,
|
|
2960
|
+
SETTEXTALIGN: 22,
|
|
2961
|
+
SETTEXTCOLOR: 24,
|
|
2962
|
+
MOVETOEX: 27,
|
|
2963
|
+
SAVEDC: 33,
|
|
2964
|
+
RESTOREDC: 34,
|
|
2965
|
+
SETWORLDTRANSFORM: 35,
|
|
2966
|
+
MODIFYWORLDTRANSFORM: 36,
|
|
2967
|
+
SELECTOBJECT: 37,
|
|
2968
|
+
CREATEPEN: 38,
|
|
2969
|
+
CREATEBRUSHINDIRECT: 39,
|
|
2970
|
+
DELETEOBJECT: 40,
|
|
2971
|
+
ELLIPSE: 42,
|
|
2972
|
+
RECTANGLE: 43,
|
|
2973
|
+
LINETO: 54,
|
|
2974
|
+
EXTCREATEFONTINDIRECTW: 82,
|
|
2975
|
+
EXTTEXTOUTW: 84,
|
|
2976
|
+
POLYBEZIER16: 85,
|
|
2977
|
+
POLYGON16: 86,
|
|
2978
|
+
POLYLINE16: 87,
|
|
2979
|
+
POLYBEZIERTO16: 88,
|
|
2980
|
+
POLYLINETO16: 89,
|
|
2981
|
+
POLYPOLYLINE16: 90,
|
|
2982
|
+
POLYPOLYGON16: 91,
|
|
2983
|
+
CREATEMONOBRUSH: 93,
|
|
2984
|
+
CREATEDIBPATTERNBRUSHPT: 94,
|
|
2985
|
+
EXTCREATEPEN: 95,
|
|
2986
|
+
BITBLT: 76,
|
|
2987
|
+
STRETCHDIBITS: 81
|
|
2988
|
+
}, ut = {
|
|
2989
|
+
WHITE_BRUSH: 2147483648,
|
|
2990
|
+
LTGRAY_BRUSH: 2147483649,
|
|
2991
|
+
GRAY_BRUSH: 2147483650,
|
|
2992
|
+
DKGRAY_BRUSH: 2147483651,
|
|
2993
|
+
BLACK_BRUSH: 2147483652,
|
|
2994
|
+
NULL_BRUSH: 2147483653,
|
|
2995
|
+
WHITE_PEN: 2147483654,
|
|
2996
|
+
BLACK_PEN: 2147483655,
|
|
2997
|
+
NULL_PEN: 2147483656,
|
|
2998
|
+
DC_BRUSH: 2147483666,
|
|
2999
|
+
DC_PEN: 2147483662
|
|
3000
|
+
}, dt = () => ({
|
|
3001
|
+
m11: 1,
|
|
3002
|
+
m12: 0,
|
|
3003
|
+
m21: 0,
|
|
3004
|
+
m22: 1,
|
|
3005
|
+
dx: 0,
|
|
3006
|
+
dy: 0
|
|
3007
|
+
});
|
|
3008
|
+
function ft(e, t) {
|
|
3009
|
+
return {
|
|
3010
|
+
m11: e.m11 * t.m11 + e.m21 * t.m12,
|
|
3011
|
+
m12: e.m12 * t.m11 + e.m22 * t.m12,
|
|
3012
|
+
m21: e.m11 * t.m21 + e.m21 * t.m22,
|
|
3013
|
+
m22: e.m12 * t.m21 + e.m22 * t.m22,
|
|
3014
|
+
dx: e.m11 * t.dx + e.m21 * t.dy + e.dx,
|
|
3015
|
+
dy: e.m12 * t.dx + e.m22 * t.dy + e.dy
|
|
3016
|
+
};
|
|
3017
|
+
}
|
|
3018
|
+
var pt = class {
|
|
3019
|
+
p;
|
|
3020
|
+
constructor(e, t, n) {
|
|
3021
|
+
this.dv = e, this.end = n, this.p = t;
|
|
3022
|
+
}
|
|
3023
|
+
get pos() {
|
|
3024
|
+
return this.p;
|
|
3025
|
+
}
|
|
3026
|
+
set pos(e) {
|
|
3027
|
+
this.p = e;
|
|
3028
|
+
}
|
|
3029
|
+
get remaining() {
|
|
3030
|
+
return this.end - this.p;
|
|
3031
|
+
}
|
|
3032
|
+
i16() {
|
|
3033
|
+
let e = this.dv.getInt16(this.p, !0);
|
|
3034
|
+
return this.p += 2, e;
|
|
3035
|
+
}
|
|
3036
|
+
i32() {
|
|
3037
|
+
let e = this.dv.getInt32(this.p, !0);
|
|
3038
|
+
return this.p += 4, e;
|
|
3039
|
+
}
|
|
3040
|
+
u32() {
|
|
3041
|
+
let e = this.dv.getUint32(this.p, !0);
|
|
3042
|
+
return this.p += 4, e;
|
|
2771
3043
|
}
|
|
3044
|
+
f32() {
|
|
3045
|
+
let e = this.dv.getFloat32(this.p, !0);
|
|
3046
|
+
return this.p += 4, e;
|
|
3047
|
+
}
|
|
3048
|
+
xform() {
|
|
3049
|
+
return {
|
|
3050
|
+
m11: this.f32(),
|
|
3051
|
+
m12: this.f32(),
|
|
3052
|
+
m21: this.f32(),
|
|
3053
|
+
m22: this.f32(),
|
|
3054
|
+
dx: this.f32(),
|
|
3055
|
+
dy: this.f32()
|
|
3056
|
+
};
|
|
3057
|
+
}
|
|
3058
|
+
skip(e) {
|
|
3059
|
+
this.p += e;
|
|
3060
|
+
}
|
|
3061
|
+
};
|
|
3062
|
+
function mt(e, t, n) {
|
|
3063
|
+
return e.wt.m11 * t + e.wt.m21 * n + e.wt.dx;
|
|
3064
|
+
}
|
|
3065
|
+
function ht(e, t, n) {
|
|
3066
|
+
return e.wt.m12 * t + e.wt.m22 * n + e.wt.dy;
|
|
3067
|
+
}
|
|
3068
|
+
function Q(e, t, n) {
|
|
3069
|
+
let r = mt(e, t, n), i = ht(e, t, n);
|
|
3070
|
+
return [(r - e.left) * e.W / e.boundsW, (i - e.top) * e.H / e.boundsH];
|
|
3071
|
+
}
|
|
3072
|
+
function gt(e) {
|
|
3073
|
+
return (Math.hypot(e.wt.m11, e.wt.m12) + Math.hypot(e.wt.m21, e.wt.m22)) / 2;
|
|
3074
|
+
}
|
|
3075
|
+
function _t(e) {
|
|
3076
|
+
return (e.W / e.boundsW + e.H / e.boundsH) / 2;
|
|
2772
3077
|
}
|
|
2773
|
-
|
|
3078
|
+
function vt(e) {
|
|
3079
|
+
return Math.hypot(e.wt.m21, e.wt.m22);
|
|
3080
|
+
}
|
|
3081
|
+
function yt(e) {
|
|
3082
|
+
return e.H / e.boundsH;
|
|
3083
|
+
}
|
|
3084
|
+
function bt(e, t) {
|
|
3085
|
+
let n = t * gt(e) * _t(e);
|
|
3086
|
+
return Math.max(.75, n);
|
|
3087
|
+
}
|
|
3088
|
+
var xt = {
|
|
3089
|
+
[ut.WHITE_BRUSH]: {
|
|
3090
|
+
kind: "brush",
|
|
3091
|
+
fill: "#ffffff"
|
|
3092
|
+
},
|
|
3093
|
+
[ut.LTGRAY_BRUSH]: {
|
|
3094
|
+
kind: "brush",
|
|
3095
|
+
fill: "#c0c0c0"
|
|
3096
|
+
},
|
|
3097
|
+
[ut.GRAY_BRUSH]: {
|
|
3098
|
+
kind: "brush",
|
|
3099
|
+
fill: "#808080"
|
|
3100
|
+
},
|
|
3101
|
+
[ut.DKGRAY_BRUSH]: {
|
|
3102
|
+
kind: "brush",
|
|
3103
|
+
fill: "#404040"
|
|
3104
|
+
},
|
|
3105
|
+
[ut.BLACK_BRUSH]: {
|
|
3106
|
+
kind: "brush",
|
|
3107
|
+
fill: "#000000"
|
|
3108
|
+
},
|
|
3109
|
+
[ut.NULL_BRUSH]: {
|
|
3110
|
+
kind: "brush",
|
|
3111
|
+
fill: null
|
|
3112
|
+
}
|
|
3113
|
+
}, St = {
|
|
3114
|
+
[ut.WHITE_PEN]: {
|
|
3115
|
+
kind: "pen",
|
|
3116
|
+
stroke: "#ffffff",
|
|
3117
|
+
width: 1
|
|
3118
|
+
},
|
|
3119
|
+
[ut.BLACK_PEN]: {
|
|
3120
|
+
kind: "pen",
|
|
3121
|
+
stroke: "#000000",
|
|
3122
|
+
width: 1
|
|
3123
|
+
},
|
|
3124
|
+
[ut.NULL_PEN]: {
|
|
3125
|
+
kind: "pen",
|
|
3126
|
+
stroke: null,
|
|
3127
|
+
width: 1
|
|
3128
|
+
},
|
|
3129
|
+
[ut.DC_PEN]: {
|
|
3130
|
+
kind: "pen",
|
|
3131
|
+
stroke: "#000000",
|
|
3132
|
+
width: 1
|
|
3133
|
+
}
|
|
3134
|
+
};
|
|
3135
|
+
function Ct(e, t) {
|
|
3136
|
+
let n = xt[t];
|
|
3137
|
+
if (n) {
|
|
3138
|
+
e.curBrush = n;
|
|
3139
|
+
return;
|
|
3140
|
+
}
|
|
3141
|
+
let r = St[t];
|
|
3142
|
+
if (r) {
|
|
3143
|
+
e.curPen = r;
|
|
3144
|
+
return;
|
|
3145
|
+
}
|
|
3146
|
+
t === ut.DC_BRUSH && (e.curBrush = e.curBrush ?? {
|
|
3147
|
+
kind: "brush",
|
|
3148
|
+
fill: "#000000"
|
|
3149
|
+
});
|
|
3150
|
+
}
|
|
3151
|
+
function wt(e, t, n, r, i) {
|
|
3152
|
+
if (n < 40 || t + 40 > e.byteLength) return null;
|
|
3153
|
+
let a = e.getUint32(t, !0);
|
|
3154
|
+
if (a < 40) return null;
|
|
3155
|
+
let o = e.getInt32(t + 4, !0), s = e.getInt32(t + 8, !0), c = e.getUint16(t + 14, !0);
|
|
3156
|
+
if (e.getUint32(t + 16, !0) !== 0) return null;
|
|
3157
|
+
let l = s < 0, u = Math.abs(o), d = Math.abs(s);
|
|
3158
|
+
if (u <= 0 || d <= 0 || u > 65536 || d > 65536) return null;
|
|
3159
|
+
let f = new Uint8ClampedArray(u * d * 4), p = u * c + 31 >> 5 << 2 >>> 0;
|
|
3160
|
+
if (r + p * d > r + i + p && r + p * d > e.byteLength) return null;
|
|
3161
|
+
let m = null;
|
|
3162
|
+
if (c <= 8) {
|
|
3163
|
+
let n = e.getUint32(t + 32, !0);
|
|
3164
|
+
n === 0 && (n = 1 << c);
|
|
3165
|
+
let r = t + a;
|
|
3166
|
+
m = [];
|
|
3167
|
+
for (let t = 0; t < n; t++) {
|
|
3168
|
+
let n = r + t * 4;
|
|
3169
|
+
if (n + 4 > e.byteLength) break;
|
|
3170
|
+
let i = e.getUint8(n), a = e.getUint8(n + 1), o = e.getUint8(n + 2);
|
|
3171
|
+
m.push(o << 16 | a << 8 | i);
|
|
3172
|
+
}
|
|
3173
|
+
}
|
|
3174
|
+
let h = (e, t, n, r, i, a) => {
|
|
3175
|
+
let o = (e * u + t) * 4;
|
|
3176
|
+
f[o] = n, f[o + 1] = r, f[o + 2] = i, f[o + 3] = a;
|
|
3177
|
+
}, g = !1;
|
|
3178
|
+
for (let t = 0; t < d; t++) {
|
|
3179
|
+
let n = l ? t : d - 1 - t, i = t, a = r + n * p;
|
|
3180
|
+
if (a + p > e.byteLength) break;
|
|
3181
|
+
if (c === 32) for (let t = 0; t < u; t++) {
|
|
3182
|
+
let n = a + t * 4, r = e.getUint8(n), o = e.getUint8(n + 1), s = e.getUint8(n + 2), c = e.getUint8(n + 3);
|
|
3183
|
+
c !== 0 && (g = !0), h(i, t, s, o, r, c);
|
|
3184
|
+
}
|
|
3185
|
+
else if (c === 24) {
|
|
3186
|
+
for (let t = 0; t < u; t++) {
|
|
3187
|
+
let n = a + t * 3;
|
|
3188
|
+
h(i, t, e.getUint8(n + 2), e.getUint8(n + 1), e.getUint8(n), 255);
|
|
3189
|
+
}
|
|
3190
|
+
g = !0;
|
|
3191
|
+
} else if (c === 8 && m) {
|
|
3192
|
+
for (let t = 0; t < u; t++) {
|
|
3193
|
+
let n = e.getUint8(a + t), r = m[n] ?? 0;
|
|
3194
|
+
h(i, t, r >> 16 & 255, r >> 8 & 255, r & 255, 255);
|
|
3195
|
+
}
|
|
3196
|
+
g = !0;
|
|
3197
|
+
} else return null;
|
|
3198
|
+
}
|
|
3199
|
+
if (c === 32 && !g) for (let e = 3; e < f.length; e += 4) f[e] = 255;
|
|
3200
|
+
return {
|
|
3201
|
+
width: u,
|
|
3202
|
+
height: d,
|
|
3203
|
+
data: f
|
|
3204
|
+
};
|
|
3205
|
+
}
|
|
3206
|
+
function Tt(e) {
|
|
3207
|
+
let t = 0, n = 0, r = 0, i = 0;
|
|
3208
|
+
for (let a = 0; a < e.data.length; a += 4) e.data[a + 3] !== 0 && (t += e.data[a], n += e.data[a + 1], r += e.data[a + 2], i++);
|
|
3209
|
+
if (i === 0) return "#808080";
|
|
3210
|
+
let a = (e) => Math.round(e / i).toString(16).padStart(2, "0");
|
|
3211
|
+
return `#${a(t)}${a(n)}${a(r)}`;
|
|
3212
|
+
}
|
|
3213
|
+
var Et = (e) => [e.i16(), e.i16()], Dt = (e) => [e.i32(), e.i32()];
|
|
3214
|
+
function Ot(e, t, n) {
|
|
3215
|
+
t.skip(16);
|
|
3216
|
+
let r = t.u32();
|
|
3217
|
+
if (r < 2 || r > 1048576 || !e.curPen || e.curPen.stroke == null) return;
|
|
3218
|
+
let { ctx: i } = e;
|
|
3219
|
+
i.beginPath();
|
|
3220
|
+
let a = 0, o = 0;
|
|
3221
|
+
for (let s = 0; s < r && !(t.remaining < 4); s++) {
|
|
3222
|
+
let [r, c] = n(t), [l, u] = Q(e, r, c);
|
|
3223
|
+
s === 0 ? i.moveTo(l, u) : i.lineTo(l, u), a = r, o = c;
|
|
3224
|
+
}
|
|
3225
|
+
i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0, e.curX = a, e.curY = o;
|
|
3226
|
+
}
|
|
3227
|
+
function kt(e, t, n) {
|
|
3228
|
+
t.skip(16);
|
|
3229
|
+
let r = t.u32();
|
|
3230
|
+
if (r < 1 || r > 1048576) return;
|
|
3231
|
+
let { ctx: i } = e, a = e.curPen != null && e.curPen.stroke != null;
|
|
3232
|
+
if (a) {
|
|
3233
|
+
i.beginPath();
|
|
3234
|
+
let [t, n] = Q(e, e.curX, e.curY);
|
|
3235
|
+
i.moveTo(t, n);
|
|
3236
|
+
}
|
|
3237
|
+
for (let o = 0; o < r && !(t.remaining < 4); o++) {
|
|
3238
|
+
let [r, o] = n(t);
|
|
3239
|
+
if (a) {
|
|
3240
|
+
let [t, n] = Q(e, r, o);
|
|
3241
|
+
i.lineTo(t, n);
|
|
3242
|
+
}
|
|
3243
|
+
e.curX = r, e.curY = o;
|
|
3244
|
+
}
|
|
3245
|
+
a && e.curPen && (i.strokeStyle = e.curPen.stroke, i.lineWidth = bt(e, e.curPen.width), i.stroke(), e.drew = !0);
|
|
3246
|
+
}
|
|
3247
|
+
function At(e, t, n) {
|
|
3248
|
+
t.skip(16);
|
|
3249
|
+
let r = t.u32();
|
|
3250
|
+
if (r < 2 || r > 1048576) return;
|
|
3251
|
+
let { ctx: i } = e;
|
|
3252
|
+
i.beginPath();
|
|
3253
|
+
let a = !1;
|
|
3254
|
+
for (let o = 0; o < r && !(t.remaining < 4); o++) {
|
|
3255
|
+
let [r, o] = n(t), [s, c] = Q(e, r, o);
|
|
3256
|
+
a ? i.lineTo(s, c) : (i.moveTo(s, c), a = !0);
|
|
3257
|
+
}
|
|
3258
|
+
a && (i.closePath(), 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 = bt(e, e.curPen.width), i.stroke(), e.drew = !0));
|
|
3259
|
+
}
|
|
3260
|
+
function jt(e, t, n, r) {
|
|
3261
|
+
t.skip(16);
|
|
3262
|
+
let i = t.u32();
|
|
3263
|
+
if (i < 1 || i > 1048576) return;
|
|
3264
|
+
let a = [];
|
|
3265
|
+
for (let e = 0; e < i && !(t.remaining < 4); e++) a.push(n(t));
|
|
3266
|
+
if (a.length < (r ? 3 : 4)) {
|
|
3267
|
+
a.length && (e.curX = a[a.length - 1][0], e.curY = a[a.length - 1][1]);
|
|
3268
|
+
return;
|
|
3269
|
+
}
|
|
3270
|
+
let o = e.curPen != null && e.curPen.stroke != null, { ctx: s } = e;
|
|
3271
|
+
if (o) {
|
|
3272
|
+
s.beginPath();
|
|
3273
|
+
let t = r ? Q(e, e.curX, e.curY) : Q(e, a[0][0], a[0][1]);
|
|
3274
|
+
s.moveTo(t[0], t[1]);
|
|
3275
|
+
}
|
|
3276
|
+
let c = +!r;
|
|
3277
|
+
for (; c + 2 < a.length + +!!r; c += 3) {
|
|
3278
|
+
let t = a[c], n = a[c + 1], r = a[c + 2];
|
|
3279
|
+
if (!t || !n || !r) break;
|
|
3280
|
+
if (o) {
|
|
3281
|
+
let i = Q(e, t[0], t[1]), a = Q(e, n[0], n[1]), o = Q(e, r[0], r[1]);
|
|
3282
|
+
s.bezierCurveTo(i[0], i[1], a[0], a[1], o[0], o[1]);
|
|
3283
|
+
}
|
|
3284
|
+
e.curX = r[0], e.curY = r[1];
|
|
3285
|
+
}
|
|
3286
|
+
o && e.curPen && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0);
|
|
3287
|
+
}
|
|
3288
|
+
function Mt(e, t, n, r) {
|
|
3289
|
+
t.skip(16);
|
|
3290
|
+
let i = t.u32(), a = t.u32();
|
|
3291
|
+
if (i <= 0 || i > 65536 || a <= 0 || a > 2097152) return;
|
|
3292
|
+
let o = [];
|
|
3293
|
+
for (let e = 0; e < i; e++) {
|
|
3294
|
+
if (t.remaining < 4) return;
|
|
3295
|
+
o.push(t.u32());
|
|
3296
|
+
}
|
|
3297
|
+
let { ctx: s } = e;
|
|
3298
|
+
s.beginPath();
|
|
3299
|
+
let c = !1;
|
|
3300
|
+
for (let i of o) {
|
|
3301
|
+
if (i < 2) {
|
|
3302
|
+
for (let e = 0; e < i && t.remaining >= 4; e++) n(t);
|
|
3303
|
+
continue;
|
|
3304
|
+
}
|
|
3305
|
+
for (let r = 0; r < i && !(t.remaining < 4); r++) {
|
|
3306
|
+
let [i, a] = n(t), [o, c] = Q(e, i, a);
|
|
3307
|
+
r === 0 ? s.moveTo(o, c) : s.lineTo(o, c);
|
|
3308
|
+
}
|
|
3309
|
+
r && s.closePath(), c = !0;
|
|
3310
|
+
}
|
|
3311
|
+
c && (r && e.curBrush && e.curBrush.fill != null && (s.fillStyle = e.curBrush.fill, s.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (s.strokeStyle = e.curPen.stroke, s.lineWidth = bt(e, e.curPen.width), s.stroke(), e.drew = !0));
|
|
3312
|
+
}
|
|
3313
|
+
function Nt(e, t, n, r, i) {
|
|
3314
|
+
let { ctx: a } = e, o = Q(e, t, n), s = Q(e, r, n), c = Q(e, r, i), l = Q(e, t, i);
|
|
3315
|
+
a.beginPath(), a.moveTo(o[0], o[1]), a.lineTo(s[0], s[1]), a.lineTo(c[0], c[1]), a.lineTo(l[0], l[1]), a.closePath(), e.curBrush && e.curBrush.fill != null && (a.fillStyle = e.curBrush.fill, a.fill(e.fillRule), e.drew = !0), e.curPen && e.curPen.stroke != null && (a.strokeStyle = e.curPen.stroke, a.lineWidth = bt(e, e.curPen.width), a.stroke(), e.drew = !0);
|
|
3316
|
+
}
|
|
3317
|
+
function Pt(e) {
|
|
3318
|
+
let t = e.u32(), n = e.u32(), r = e.i32();
|
|
3319
|
+
e.i32();
|
|
3320
|
+
let i = e.u32();
|
|
3321
|
+
return [t, {
|
|
3322
|
+
kind: "pen",
|
|
3323
|
+
stroke: (n & 255) == 5 ? null : $t(i),
|
|
3324
|
+
width: Math.abs(r)
|
|
3325
|
+
}];
|
|
3326
|
+
}
|
|
3327
|
+
function Ft(e) {
|
|
3328
|
+
let t = e.u32();
|
|
3329
|
+
e.skip(16);
|
|
3330
|
+
let n = e.u32(), r = e.u32();
|
|
3331
|
+
e.u32();
|
|
3332
|
+
let i = e.u32();
|
|
3333
|
+
return [t, {
|
|
3334
|
+
kind: "pen",
|
|
3335
|
+
stroke: (n & 255) == 5 ? null : $t(i),
|
|
3336
|
+
width: Math.abs(r)
|
|
3337
|
+
}];
|
|
3338
|
+
}
|
|
3339
|
+
function It(e) {
|
|
3340
|
+
let t = e.u32(), n = e.u32(), r = e.u32();
|
|
3341
|
+
return e.u32(), [t, {
|
|
3342
|
+
kind: "brush",
|
|
3343
|
+
fill: n === 1 ? null : $t(r)
|
|
3344
|
+
}];
|
|
3345
|
+
}
|
|
3346
|
+
function Lt(e, t, n) {
|
|
3347
|
+
let r = e.u32();
|
|
3348
|
+
e.u32();
|
|
3349
|
+
let i = e.u32(), a = e.u32(), o = e.u32(), s = e.u32(), c = "#808080";
|
|
3350
|
+
try {
|
|
3351
|
+
let e = wt(t, n + i, a, n + o, s);
|
|
3352
|
+
e && (c = Tt(e));
|
|
3353
|
+
} catch {}
|
|
3354
|
+
return [r, {
|
|
3355
|
+
kind: "brush",
|
|
3356
|
+
fill: c
|
|
3357
|
+
}];
|
|
3358
|
+
}
|
|
3359
|
+
function Rt(e, t, n) {
|
|
3360
|
+
let r = e.u32(), i = n + 12, a = t.getInt32(i, !0), o = t.getInt32(i + 16, !0), s = t.getUint8(i + 20), c = "";
|
|
3361
|
+
for (let e = 0; e < 32; e++) {
|
|
3362
|
+
let n = i + 28 + e * 2;
|
|
3363
|
+
if (n + 2 > t.byteLength) break;
|
|
3364
|
+
let r = t.getUint16(n, !0);
|
|
3365
|
+
if (r === 0) break;
|
|
3366
|
+
c += String.fromCharCode(r);
|
|
3367
|
+
}
|
|
3368
|
+
return [r, {
|
|
3369
|
+
kind: "font",
|
|
3370
|
+
height: Math.abs(a),
|
|
3371
|
+
weight: o,
|
|
3372
|
+
italic: s !== 0,
|
|
3373
|
+
face: c
|
|
3374
|
+
}];
|
|
3375
|
+
}
|
|
3376
|
+
function zt(e, t, n, r) {
|
|
3377
|
+
t.skip(16), t.u32(), t.f32(), t.f32();
|
|
3378
|
+
let i = t.i32(), a = t.i32(), o = t.u32(), s = t.u32();
|
|
3379
|
+
if (t.u32(), o <= 0 || o > 65536) return;
|
|
3380
|
+
let c = "";
|
|
3381
|
+
for (let e = 0; e < o; e++) {
|
|
3382
|
+
let t = r + s + e * 2;
|
|
3383
|
+
if (t + 2 > n.byteLength) break;
|
|
3384
|
+
c += String.fromCharCode(n.getUint16(t, !0));
|
|
3385
|
+
}
|
|
3386
|
+
if (c.length === 0) return;
|
|
3387
|
+
let l = e.curFont, u = Math.abs(l?.height ?? 0) * vt(e) * yt(e);
|
|
3388
|
+
if (!Number.isFinite(u) || u < 1) return;
|
|
3389
|
+
let { ctx: d } = e, [f, p] = Q(e, i, a);
|
|
3390
|
+
d.fillStyle = e.textColor;
|
|
3391
|
+
let m = l && l.weight >= 700 ? "bold " : "";
|
|
3392
|
+
d.font = `${l?.italic ? "italic " : ""}${m}${u}px ${l?.face || "sans-serif"}`;
|
|
3393
|
+
let h = e.textAlign & 6;
|
|
3394
|
+
d.textAlign = h === 2 ? "right" : h === 6 ? "center" : "left", d.textBaseline = (e.textAlign & 24) == 24 ? "alphabetic" : "top";
|
|
3395
|
+
try {
|
|
3396
|
+
d.fillText(c, f, p), e.drew = !0;
|
|
3397
|
+
} catch {}
|
|
3398
|
+
}
|
|
3399
|
+
function Bt(e, t, n, r, i, a, o, s, c, l, u) {
|
|
3400
|
+
if (!(i === 0 || o === 0)) try {
|
|
3401
|
+
let d = wt(t, n + r, i, n + a, o);
|
|
3402
|
+
if (!d || typeof OffscreenCanvas > "u") return;
|
|
3403
|
+
let f = new OffscreenCanvas(d.width, d.height), p = f.getContext("2d");
|
|
3404
|
+
if (!p) return;
|
|
3405
|
+
let m = p.createImageData(d.width, d.height);
|
|
3406
|
+
m.data.set(d.data), p.putImageData(m, 0, 0);
|
|
3407
|
+
let [h, g] = Q(e, s, c), [_, v] = Q(e, l, u);
|
|
3408
|
+
e.ctx.drawImage(f, h, g, _ - h, v - g), e.drew = !0;
|
|
3409
|
+
} catch {}
|
|
3410
|
+
}
|
|
3411
|
+
function Vt(e, t, n, r) {
|
|
3412
|
+
t.skip(16);
|
|
3413
|
+
let i = t.i32(), a = t.i32(), o = t.i32(), s = t.i32();
|
|
3414
|
+
t.u32(), t.i32(), t.i32(), t.skip(24), t.u32(), t.u32(), Bt(e, n, r, t.u32(), t.u32(), t.u32(), t.u32(), i, a, i + o, a + s);
|
|
3415
|
+
}
|
|
3416
|
+
function Ht(e, t, n, r) {
|
|
3417
|
+
t.skip(16);
|
|
3418
|
+
let i = t.i32(), a = t.i32();
|
|
3419
|
+
t.i32(), t.i32(), t.i32(), t.i32();
|
|
3420
|
+
let o = t.u32(), s = t.u32(), c = t.u32(), l = t.u32();
|
|
3421
|
+
t.u32(), t.u32();
|
|
3422
|
+
let u = t.i32(), d = t.i32();
|
|
3423
|
+
Bt(e, n, r, o, s, c, l, i, a, i + u, a + d);
|
|
3424
|
+
}
|
|
3425
|
+
function Ut(e, t, n, r) {
|
|
3426
|
+
if (!Qt(e) || n <= 0 || r <= 0) return !1;
|
|
3427
|
+
let i = new DataView(e.buffer, e.byteOffset, e.byteLength), a = {
|
|
3428
|
+
ctx: t,
|
|
3429
|
+
W: n,
|
|
3430
|
+
H: r,
|
|
3431
|
+
left: 0,
|
|
3432
|
+
top: 0,
|
|
3433
|
+
boundsW: n,
|
|
3434
|
+
boundsH: r,
|
|
3435
|
+
wt: dt(),
|
|
3436
|
+
objects: /* @__PURE__ */ new Map(),
|
|
3437
|
+
curPen: null,
|
|
3438
|
+
curBrush: null,
|
|
3439
|
+
curFont: null,
|
|
3440
|
+
textColor: "#000000",
|
|
3441
|
+
bkMode: 1,
|
|
3442
|
+
textAlign: 0,
|
|
3443
|
+
fillRule: "nonzero",
|
|
3444
|
+
curX: 0,
|
|
3445
|
+
curY: 0,
|
|
3446
|
+
stack: [],
|
|
3447
|
+
drew: !1
|
|
3448
|
+
}, o = 0;
|
|
3449
|
+
for (; o + 8 <= e.length;) {
|
|
3450
|
+
let n = i.getUint32(o, !0), r = i.getUint32(o + 4, !0);
|
|
3451
|
+
if (r < 8 || r & 3) break;
|
|
3452
|
+
let s = o + r;
|
|
3453
|
+
if (s > e.length || n === Z.EOF) break;
|
|
3454
|
+
let c = new pt(i, o + 8, s);
|
|
3455
|
+
try {
|
|
3456
|
+
switch (n) {
|
|
3457
|
+
case Z.HEADER: {
|
|
3458
|
+
let e = i.getInt32(o + 8, !0), t = i.getInt32(o + 12, !0), n = i.getInt32(o + 16, !0), r = i.getInt32(o + 20, !0);
|
|
3459
|
+
a.left = e, a.top = t, a.boundsW = Math.max(1, n - e), a.boundsH = Math.max(1, r - t);
|
|
3460
|
+
break;
|
|
3461
|
+
}
|
|
3462
|
+
case Z.SETWORLDTRANSFORM:
|
|
3463
|
+
a.wt = c.xform();
|
|
3464
|
+
break;
|
|
3465
|
+
case Z.MODIFYWORLDTRANSFORM: {
|
|
3466
|
+
let e = c.xform(), t = c.u32();
|
|
3467
|
+
t === 1 ? a.wt = dt() : t === 2 ? a.wt = ft(e, a.wt) : t === 3 ? a.wt = ft(a.wt, e) : t === 4 && (a.wt = e);
|
|
3468
|
+
break;
|
|
3469
|
+
}
|
|
3470
|
+
case Z.SAVEDC:
|
|
3471
|
+
a.stack.push({
|
|
3472
|
+
wt: { ...a.wt },
|
|
3473
|
+
curPen: a.curPen,
|
|
3474
|
+
curBrush: a.curBrush,
|
|
3475
|
+
curFont: a.curFont,
|
|
3476
|
+
textColor: a.textColor,
|
|
3477
|
+
bkMode: a.bkMode,
|
|
3478
|
+
textAlign: a.textAlign,
|
|
3479
|
+
fillRule: a.fillRule,
|
|
3480
|
+
curX: a.curX,
|
|
3481
|
+
curY: a.curY
|
|
3482
|
+
});
|
|
3483
|
+
break;
|
|
3484
|
+
case Z.RESTOREDC: {
|
|
3485
|
+
let e = c.i32(), t = Math.min(Math.abs(e) || 1, a.stack.length), n;
|
|
3486
|
+
for (let e = 0; e < t; e++) n = a.stack.pop();
|
|
3487
|
+
n && (a.wt = n.wt, a.curPen = n.curPen, a.curBrush = n.curBrush, a.curFont = n.curFont, a.textColor = n.textColor, a.bkMode = n.bkMode, a.textAlign = n.textAlign, a.fillRule = n.fillRule, a.curX = n.curX, a.curY = n.curY);
|
|
3488
|
+
break;
|
|
3489
|
+
}
|
|
3490
|
+
case Z.SELECTOBJECT: {
|
|
3491
|
+
let e = c.u32();
|
|
3492
|
+
if (e & 2147483648) Ct(a, e >>> 0);
|
|
3493
|
+
else {
|
|
3494
|
+
let t = a.objects.get(e);
|
|
3495
|
+
t?.kind === "pen" ? a.curPen = t : t?.kind === "brush" ? a.curBrush = t : t?.kind === "font" && (a.curFont = t);
|
|
3496
|
+
}
|
|
3497
|
+
break;
|
|
3498
|
+
}
|
|
3499
|
+
case Z.DELETEOBJECT: {
|
|
3500
|
+
let e = c.u32(), t = a.objects.get(e);
|
|
3501
|
+
t && (t === a.curPen && (a.curPen = null), t === a.curBrush && (a.curBrush = null), t === a.curFont && (a.curFont = null), a.objects.delete(e));
|
|
3502
|
+
break;
|
|
3503
|
+
}
|
|
3504
|
+
case Z.CREATEPEN: {
|
|
3505
|
+
let [e, t] = Pt(c);
|
|
3506
|
+
a.objects.set(e, t);
|
|
3507
|
+
break;
|
|
3508
|
+
}
|
|
3509
|
+
case Z.EXTCREATEPEN: {
|
|
3510
|
+
let [e, t] = Ft(c);
|
|
3511
|
+
a.objects.set(e, t);
|
|
3512
|
+
break;
|
|
3513
|
+
}
|
|
3514
|
+
case Z.CREATEBRUSHINDIRECT: {
|
|
3515
|
+
let [e, t] = It(c);
|
|
3516
|
+
a.objects.set(e, t);
|
|
3517
|
+
break;
|
|
3518
|
+
}
|
|
3519
|
+
case Z.CREATEMONOBRUSH:
|
|
3520
|
+
case Z.CREATEDIBPATTERNBRUSHPT: {
|
|
3521
|
+
let [e, t] = Lt(c, i, o);
|
|
3522
|
+
a.objects.set(e, t);
|
|
3523
|
+
break;
|
|
3524
|
+
}
|
|
3525
|
+
case Z.EXTCREATEFONTINDIRECTW: {
|
|
3526
|
+
let [e, t] = Rt(c, i, o);
|
|
3527
|
+
a.objects.set(e, t);
|
|
3528
|
+
break;
|
|
3529
|
+
}
|
|
3530
|
+
case Z.POLYLINE16:
|
|
3531
|
+
Ot(a, c, Et);
|
|
3532
|
+
break;
|
|
3533
|
+
case Z.POLYLINE:
|
|
3534
|
+
Ot(a, c, Dt);
|
|
3535
|
+
break;
|
|
3536
|
+
case Z.POLYLINETO16:
|
|
3537
|
+
kt(a, c, Et);
|
|
3538
|
+
break;
|
|
3539
|
+
case Z.POLYLINETO:
|
|
3540
|
+
kt(a, c, Dt);
|
|
3541
|
+
break;
|
|
3542
|
+
case Z.POLYGON16:
|
|
3543
|
+
At(a, c, Et);
|
|
3544
|
+
break;
|
|
3545
|
+
case Z.POLYGON:
|
|
3546
|
+
At(a, c, Dt);
|
|
3547
|
+
break;
|
|
3548
|
+
case Z.POLYBEZIER16:
|
|
3549
|
+
jt(a, c, Et, !1);
|
|
3550
|
+
break;
|
|
3551
|
+
case Z.POLYBEZIER:
|
|
3552
|
+
jt(a, c, Dt, !1);
|
|
3553
|
+
break;
|
|
3554
|
+
case Z.POLYBEZIERTO16:
|
|
3555
|
+
jt(a, c, Et, !0);
|
|
3556
|
+
break;
|
|
3557
|
+
case Z.POLYBEZIERTO:
|
|
3558
|
+
jt(a, c, Dt, !0);
|
|
3559
|
+
break;
|
|
3560
|
+
case Z.POLYPOLYGON16:
|
|
3561
|
+
Mt(a, c, Et, !0);
|
|
3562
|
+
break;
|
|
3563
|
+
case Z.POLYPOLYGON:
|
|
3564
|
+
Mt(a, c, Dt, !0);
|
|
3565
|
+
break;
|
|
3566
|
+
case Z.POLYPOLYLINE16:
|
|
3567
|
+
Mt(a, c, Et, !1);
|
|
3568
|
+
break;
|
|
3569
|
+
case Z.POLYPOLYLINE:
|
|
3570
|
+
Mt(a, c, Dt, !1);
|
|
3571
|
+
break;
|
|
3572
|
+
case Z.MOVETOEX:
|
|
3573
|
+
a.curX = c.i32(), a.curY = c.i32();
|
|
3574
|
+
break;
|
|
3575
|
+
case Z.LINETO: {
|
|
3576
|
+
let e = c.i32(), n = c.i32();
|
|
3577
|
+
if (a.curPen && a.curPen.stroke != null) {
|
|
3578
|
+
let [r, i] = Q(a, a.curX, a.curY), [o, s] = Q(a, e, n);
|
|
3579
|
+
t.beginPath(), t.moveTo(r, i), t.lineTo(o, s), t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0;
|
|
3580
|
+
}
|
|
3581
|
+
a.curX = e, a.curY = n;
|
|
3582
|
+
break;
|
|
3583
|
+
}
|
|
3584
|
+
case Z.RECTANGLE:
|
|
3585
|
+
Nt(a, c.i32(), c.i32(), c.i32(), c.i32());
|
|
3586
|
+
break;
|
|
3587
|
+
case Z.ELLIPSE: {
|
|
3588
|
+
let e = c.i32(), n = c.i32(), r = c.i32(), i = c.i32(), [o, s] = [(e + r) / 2, (n + i) / 2], [l, u] = Q(a, o, s), [d] = Q(a, r, s), [, f] = Q(a, o, i), p = Math.abs(d - l), m = Math.abs(f - u);
|
|
3589
|
+
t.beginPath(), t.ellipse(l, u, p, m, 0, 0, Math.PI * 2), a.curBrush && a.curBrush.fill != null && (t.fillStyle = a.curBrush.fill, t.fill(a.fillRule), a.drew = !0), a.curPen && a.curPen.stroke != null && (t.strokeStyle = a.curPen.stroke, t.lineWidth = bt(a, a.curPen.width), t.stroke(), a.drew = !0);
|
|
3590
|
+
break;
|
|
3591
|
+
}
|
|
3592
|
+
case Z.SETPOLYFILLMODE:
|
|
3593
|
+
a.fillRule = c.u32() === 1 ? "evenodd" : "nonzero";
|
|
3594
|
+
break;
|
|
3595
|
+
case Z.SETTEXTCOLOR:
|
|
3596
|
+
a.textColor = $t(c.u32());
|
|
3597
|
+
break;
|
|
3598
|
+
case Z.SETTEXTALIGN:
|
|
3599
|
+
a.textAlign = c.u32();
|
|
3600
|
+
break;
|
|
3601
|
+
case Z.SETBKMODE:
|
|
3602
|
+
a.bkMode = c.u32();
|
|
3603
|
+
break;
|
|
3604
|
+
case Z.EXTTEXTOUTW:
|
|
3605
|
+
zt(a, c, i, o);
|
|
3606
|
+
break;
|
|
3607
|
+
case Z.BITBLT:
|
|
3608
|
+
Vt(a, c, i, o);
|
|
3609
|
+
break;
|
|
3610
|
+
case Z.STRETCHDIBITS:
|
|
3611
|
+
Ht(a, c, i, o);
|
|
3612
|
+
break;
|
|
3613
|
+
default: break;
|
|
3614
|
+
}
|
|
3615
|
+
} catch {}
|
|
3616
|
+
o = s;
|
|
3617
|
+
}
|
|
3618
|
+
return a.drew;
|
|
3619
|
+
}
|
|
3620
|
+
async function Wt(e, t, n) {
|
|
3621
|
+
if (!Qt(e) || t <= 0 || n <= 0 || typeof OffscreenCanvas > "u") return null;
|
|
3622
|
+
let r = new OffscreenCanvas(t, n), i = r.getContext("2d");
|
|
3623
|
+
return !i || (i.lineJoin = "round", i.lineCap = "round", !Ut(e, i, t, n)) ? null : createImageBitmap(r);
|
|
3624
|
+
}
|
|
3625
|
+
//#endregion
|
|
3626
|
+
//#region packages/core/src/image/wmf.ts
|
|
3627
|
+
var Gt = {
|
|
3628
|
+
EOF: 0,
|
|
3629
|
+
SETPOLYFILLMODE: 262,
|
|
3630
|
+
SETWINDOWORG: 523,
|
|
3631
|
+
SETWINDOWEXT: 524,
|
|
3632
|
+
SELECTOBJECT: 301,
|
|
3633
|
+
DELETEOBJECT: 496,
|
|
3634
|
+
POLYGON: 804,
|
|
3635
|
+
POLYLINE: 805,
|
|
3636
|
+
POLYPOLYGON: 1336,
|
|
3637
|
+
RECTANGLE: 1051,
|
|
3638
|
+
CREATEPENINDIRECT: 762,
|
|
3639
|
+
CREATEBRUSHINDIRECT: 764
|
|
3640
|
+
}, Kt = 2596720087, qt = 22, Jt = 18, Yt = 1179469088;
|
|
3641
|
+
function Xt(e, t) {
|
|
3642
|
+
if (e.length < t + Jt) return !1;
|
|
3643
|
+
let n = e[t] | e[t + 1] << 8, r = e[t + 2] | e[t + 3] << 8;
|
|
3644
|
+
return (n === 1 || n === 2) && r === 9;
|
|
3645
|
+
}
|
|
3646
|
+
function Zt(e) {
|
|
3647
|
+
return e.length < 4 ? !1 : (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 === Kt ? !0 : Xt(e, 0);
|
|
3648
|
+
}
|
|
3649
|
+
function Qt(e) {
|
|
3650
|
+
if (e.length < 44) return !1;
|
|
3651
|
+
let t = new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
3652
|
+
return t.getUint32(0, !0) === 1 && t.getUint32(40, !0) === Yt;
|
|
3653
|
+
}
|
|
3654
|
+
function $t(e) {
|
|
3655
|
+
let t = e & 255, n = e >>> 8 & 255, r = e >>> 16 & 255, i = (e) => e.toString(16).padStart(2, "0");
|
|
3656
|
+
return `#${i(t)}${i(n)}${i(r)}`;
|
|
3657
|
+
}
|
|
3658
|
+
function en(e, t) {
|
|
3659
|
+
for (let n = 0; n < e.length; n++) if (e[n] == null) {
|
|
3660
|
+
e[n] = t;
|
|
3661
|
+
return;
|
|
3662
|
+
}
|
|
3663
|
+
e.push(t);
|
|
3664
|
+
}
|
|
3665
|
+
var tn = class {
|
|
3666
|
+
p = 0;
|
|
3667
|
+
constructor(e, t, n) {
|
|
3668
|
+
this.b = e, this.end = n, this.p = t;
|
|
3669
|
+
}
|
|
3670
|
+
get remaining() {
|
|
3671
|
+
return this.end - this.p;
|
|
3672
|
+
}
|
|
3673
|
+
i16() {
|
|
3674
|
+
let e = this.u16();
|
|
3675
|
+
return e >= 32768 ? e - 65536 : e;
|
|
3676
|
+
}
|
|
3677
|
+
u16() {
|
|
3678
|
+
let e = this.b[this.p] | this.b[this.p + 1] << 8;
|
|
3679
|
+
return this.p += 2, e;
|
|
3680
|
+
}
|
|
3681
|
+
u32() {
|
|
3682
|
+
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;
|
|
3683
|
+
return this.p += 4, e;
|
|
3684
|
+
}
|
|
3685
|
+
};
|
|
3686
|
+
function nn(e, t) {
|
|
3687
|
+
return (t - e.orgX) * (e.W / e.extX);
|
|
3688
|
+
}
|
|
3689
|
+
function rn(e, t) {
|
|
3690
|
+
return (t - e.orgY) * (e.H / e.extY);
|
|
3691
|
+
}
|
|
3692
|
+
function an(e, t) {
|
|
3693
|
+
let n = t * Math.abs(e.W / e.extX);
|
|
3694
|
+
return n >= 1 ? n : 1;
|
|
3695
|
+
}
|
|
3696
|
+
var on = .001;
|
|
3697
|
+
function sn(e, t, n) {
|
|
3698
|
+
return Math.abs(e - t) <= on || Math.abs(e - n) <= on;
|
|
3699
|
+
}
|
|
3700
|
+
function cn(e, t, n) {
|
|
3701
|
+
let r = [], i = n ? t.length : t.length - 1;
|
|
3702
|
+
for (let n = 0; n < i; n++) {
|
|
3703
|
+
let i = t[n], a = t[(n + 1) % t.length], o = Math.abs(i[0] - a[0]) <= on && sn(i[0], 0, e.W) && sn(a[0], 0, e.W), s = Math.abs(i[1] - a[1]) <= on && sn(i[1], 0, e.H) && sn(a[1], 0, e.H);
|
|
3704
|
+
o || s || r.push([i, a]);
|
|
3705
|
+
}
|
|
3706
|
+
return r;
|
|
3707
|
+
}
|
|
3708
|
+
function ln(e, t, n) {
|
|
3709
|
+
if (!e.curPen || e.curPen.stroke == null || t.length < 2) return;
|
|
3710
|
+
let { ctx: r } = e;
|
|
3711
|
+
if (r.strokeStyle = e.curPen.stroke, r.lineWidth = an(e, e.curPen.width), !e.suppressBoundaryFrame) {
|
|
3712
|
+
r.beginPath(), r.moveTo(t[0][0], t[0][1]);
|
|
3713
|
+
for (let e = 1; e < t.length; e++) r.lineTo(t[e][0], t[e][1]);
|
|
3714
|
+
n && r.closePath(), r.stroke(), e.drew = !0;
|
|
3715
|
+
return;
|
|
3716
|
+
}
|
|
3717
|
+
let i = cn(e, t, n);
|
|
3718
|
+
if (i.length === 0) return;
|
|
3719
|
+
r.beginPath();
|
|
3720
|
+
let a = null;
|
|
3721
|
+
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;
|
|
3722
|
+
r.stroke(), e.drew = !0;
|
|
3723
|
+
}
|
|
3724
|
+
function un(e, t, n) {
|
|
3725
|
+
let r = [];
|
|
3726
|
+
for (let i = 0; i < n && !(t.remaining < 4); i++) {
|
|
3727
|
+
let n = t.i16(), i = t.i16();
|
|
3728
|
+
r.push([nn(e, n), rn(e, i)]);
|
|
3729
|
+
}
|
|
3730
|
+
return r;
|
|
3731
|
+
}
|
|
3732
|
+
function dn(e, t) {
|
|
3733
|
+
t.length < 2 || !e.curPen || e.curPen.stroke == null || ln(e, t, !1);
|
|
3734
|
+
}
|
|
3735
|
+
function fn(e, t) {
|
|
3736
|
+
if (t.length < 2) return;
|
|
3737
|
+
let { ctx: n } = e;
|
|
3738
|
+
if (e.curBrush && e.curBrush.fill != null) {
|
|
3739
|
+
n.beginPath(), n.moveTo(t[0][0], t[0][1]);
|
|
3740
|
+
for (let e = 1; e < t.length; e++) n.lineTo(t[e][0], t[e][1]);
|
|
3741
|
+
n.closePath(), n.fillStyle = e.curBrush.fill, n.fill(e.fillRule), e.drew = !0;
|
|
3742
|
+
}
|
|
3743
|
+
ln(e, t, !0);
|
|
3744
|
+
}
|
|
3745
|
+
function pn(e, t) {
|
|
3746
|
+
let n = t.u16();
|
|
3747
|
+
if (n <= 0 || n > 65536) return;
|
|
3748
|
+
let r = [];
|
|
3749
|
+
for (let e = 0; e < n; e++) {
|
|
3750
|
+
if (t.remaining < 2) return;
|
|
3751
|
+
r.push(t.u16());
|
|
3752
|
+
}
|
|
3753
|
+
let { ctx: i } = e;
|
|
3754
|
+
i.beginPath();
|
|
3755
|
+
let a = !1;
|
|
3756
|
+
for (let n of r) {
|
|
3757
|
+
if (n < 2) {
|
|
3758
|
+
for (let e = 0; e < n && t.remaining >= 4; e++) t.i16(), t.i16();
|
|
3759
|
+
continue;
|
|
3760
|
+
}
|
|
3761
|
+
let r = un(e, t, n);
|
|
3762
|
+
if (!(r.length < 2)) {
|
|
3763
|
+
i.moveTo(r[0][0], r[0][1]);
|
|
3764
|
+
for (let e = 1; e < r.length; e++) i.lineTo(r[e][0], r[e][1]);
|
|
3765
|
+
i.closePath(), a = !0;
|
|
3766
|
+
}
|
|
3767
|
+
}
|
|
3768
|
+
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 = an(e, e.curPen.width), i.stroke(), e.drew = !0));
|
|
3769
|
+
}
|
|
3770
|
+
function mn(e) {
|
|
3771
|
+
let t = e.u16(), n = e.i16();
|
|
3772
|
+
e.i16();
|
|
3773
|
+
let r = e.u32();
|
|
3774
|
+
return {
|
|
3775
|
+
kind: "pen",
|
|
3776
|
+
stroke: (t & 255) == 5 ? null : $t(r),
|
|
3777
|
+
width: Math.abs(n)
|
|
3778
|
+
};
|
|
3779
|
+
}
|
|
3780
|
+
function hn(e) {
|
|
3781
|
+
let t = e.u16(), n = e.u32();
|
|
3782
|
+
return e.u16(), {
|
|
3783
|
+
kind: "brush",
|
|
3784
|
+
fill: t === 1 ? null : $t(n)
|
|
3785
|
+
};
|
|
3786
|
+
}
|
|
3787
|
+
function gn(e, t, n, r, i = !1) {
|
|
3788
|
+
if (!Zt(e)) return !1;
|
|
3789
|
+
let a = 0;
|
|
3790
|
+
(e.length >= 4 ? (e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24) >>> 0 : 0) === Kt && (a = qt);
|
|
3791
|
+
let o = a + Jt;
|
|
3792
|
+
if (o > e.length) return !1;
|
|
3793
|
+
let s = {
|
|
3794
|
+
ctx: t,
|
|
3795
|
+
W: n,
|
|
3796
|
+
H: r,
|
|
3797
|
+
orgX: 0,
|
|
3798
|
+
orgY: 0,
|
|
3799
|
+
extX: n || 1,
|
|
3800
|
+
extY: r || 1,
|
|
3801
|
+
haveExt: !1,
|
|
3802
|
+
objects: [],
|
|
3803
|
+
curPen: null,
|
|
3804
|
+
curBrush: null,
|
|
3805
|
+
fillRule: "nonzero",
|
|
3806
|
+
drew: !1,
|
|
3807
|
+
suppressBoundaryFrame: i
|
|
3808
|
+
}, c = new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
3809
|
+
for (; o + 6 <= e.length;) {
|
|
3810
|
+
let t = c.getUint32(o, !0), n = c.getUint16(o + 4, !0);
|
|
3811
|
+
if (t < 3) break;
|
|
3812
|
+
let r = t * 2, i = o + r;
|
|
3813
|
+
if (i > e.length || n === Gt.EOF) break;
|
|
3814
|
+
let a = new tn(e, o + 6, i);
|
|
3815
|
+
switch (n) {
|
|
3816
|
+
case Gt.SETWINDOWORG:
|
|
3817
|
+
s.orgY = a.i16(), s.orgX = a.i16();
|
|
3818
|
+
break;
|
|
3819
|
+
case Gt.SETWINDOWEXT: {
|
|
3820
|
+
let e = a.i16(), t = a.i16();
|
|
3821
|
+
s.extY = e || 1, s.extX = t || 1, s.haveExt = !0;
|
|
3822
|
+
break;
|
|
3823
|
+
}
|
|
3824
|
+
case Gt.SETPOLYFILLMODE:
|
|
3825
|
+
s.fillRule = a.u16() === 1 ? "evenodd" : "nonzero";
|
|
3826
|
+
break;
|
|
3827
|
+
case Gt.CREATEPENINDIRECT:
|
|
3828
|
+
en(s.objects, mn(a));
|
|
3829
|
+
break;
|
|
3830
|
+
case Gt.CREATEBRUSHINDIRECT:
|
|
3831
|
+
en(s.objects, hn(a));
|
|
3832
|
+
break;
|
|
3833
|
+
case Gt.SELECTOBJECT: {
|
|
3834
|
+
let e = a.u16(), t = s.objects[e];
|
|
3835
|
+
t?.kind === "pen" ? s.curPen = t : t?.kind === "brush" && (s.curBrush = t);
|
|
3836
|
+
break;
|
|
3837
|
+
}
|
|
3838
|
+
case Gt.DELETEOBJECT: {
|
|
3839
|
+
let e = a.u16(), t = s.objects[e];
|
|
3840
|
+
t && (t === s.curPen && (s.curPen = null), t === s.curBrush && (s.curBrush = null), s.objects[e] = null);
|
|
3841
|
+
break;
|
|
3842
|
+
}
|
|
3843
|
+
case Gt.POLYLINE:
|
|
3844
|
+
dn(s, un(s, a, a.i16()));
|
|
3845
|
+
break;
|
|
3846
|
+
case Gt.POLYGON:
|
|
3847
|
+
fn(s, un(s, a, a.i16()));
|
|
3848
|
+
break;
|
|
3849
|
+
case Gt.POLYPOLYGON:
|
|
3850
|
+
pn(s, a);
|
|
3851
|
+
break;
|
|
3852
|
+
case Gt.RECTANGLE: {
|
|
3853
|
+
let e = a.i16(), t = a.i16(), n = a.i16(), r = a.i16();
|
|
3854
|
+
fn(s, [
|
|
3855
|
+
[nn(s, r), rn(s, n)],
|
|
3856
|
+
[nn(s, t), rn(s, n)],
|
|
3857
|
+
[nn(s, t), rn(s, e)],
|
|
3858
|
+
[nn(s, r), rn(s, e)]
|
|
3859
|
+
]);
|
|
3860
|
+
break;
|
|
3861
|
+
}
|
|
3862
|
+
default: break;
|
|
3863
|
+
}
|
|
3864
|
+
o = i;
|
|
3865
|
+
}
|
|
3866
|
+
return s.drew;
|
|
3867
|
+
}
|
|
3868
|
+
var _n = 2e3, vn = 2;
|
|
3869
|
+
function yn(e, t) {
|
|
3870
|
+
let n = e > 0 ? e : 300, r = t > 0 ? t : 300, i = (e) => Math.max(1, Math.min(_n, Math.round(e)));
|
|
3871
|
+
return {
|
|
3872
|
+
w: i(n * vn),
|
|
3873
|
+
h: i(r * vn)
|
|
3874
|
+
};
|
|
3875
|
+
}
|
|
3876
|
+
async function bn(e, t, n, r = !1) {
|
|
3877
|
+
if (!Zt(e) || t <= 0 || n <= 0) return null;
|
|
3878
|
+
let i = new OffscreenCanvas(t, n), a = i.getContext("2d");
|
|
3879
|
+
return !a || (a.lineJoin = "round", a.lineCap = "round", !gn(e, a, t, n, r)) ? null : createImageBitmap(i);
|
|
3880
|
+
}
|
|
3881
|
+
async function xn(e, t = {}) {
|
|
3882
|
+
let { widthPt: n = 0, heightPt: r = 0, suppressBoundaryFrame: i = !1 } = t, a = new Uint8Array(await e.arrayBuffer());
|
|
3883
|
+
if (Zt(a)) {
|
|
3884
|
+
let { w: e, h: t } = yn(n, r);
|
|
3885
|
+
return bn(a, e, t, i);
|
|
3886
|
+
}
|
|
3887
|
+
if (Qt(a)) {
|
|
3888
|
+
let { w: e, h: t } = yn(n, r);
|
|
3889
|
+
return Wt(a, e, t);
|
|
3890
|
+
}
|
|
3891
|
+
return createImageBitmap(e);
|
|
3892
|
+
}
|
|
3893
|
+
var Sn = {
|
|
2774
3894
|
accentbordercallout1: {
|
|
2775
3895
|
adj: [
|
|
2776
3896
|
["adj1", "val 18750"],
|
|
@@ -24633,8 +25753,8 @@ var qe = {
|
|
|
24633
25753
|
]
|
|
24634
25754
|
}]
|
|
24635
25755
|
}
|
|
24636
|
-
},
|
|
24637
|
-
function
|
|
25756
|
+
}, Cn = 216e5, wn = Math.PI * 2 / Cn;
|
|
25757
|
+
function Tn(e, t, n) {
|
|
24638
25758
|
let { w: r, h: i, adj: a } = e, o = Math.min(r, i), s = Math.max(r, i), c = Object.create(null);
|
|
24639
25759
|
Object.assign(c, {
|
|
24640
25760
|
w: r,
|
|
@@ -24679,14 +25799,14 @@ function Ye(e, t, n) {
|
|
|
24679
25799
|
lsd8: s / 8,
|
|
24680
25800
|
lsd16: s / 16,
|
|
24681
25801
|
lsd32: s / 32,
|
|
24682
|
-
cd:
|
|
24683
|
-
cd2:
|
|
24684
|
-
cd4:
|
|
24685
|
-
cd8:
|
|
24686
|
-
"3cd4": 3 *
|
|
24687
|
-
"3cd8": 3 *
|
|
24688
|
-
"5cd8": 5 *
|
|
24689
|
-
"7cd8": 7 *
|
|
25802
|
+
cd: Cn,
|
|
25803
|
+
cd2: Cn / 2,
|
|
25804
|
+
cd4: Cn / 4,
|
|
25805
|
+
cd8: Cn / 8,
|
|
25806
|
+
"3cd4": 3 * Cn / 4,
|
|
25807
|
+
"3cd8": 3 * Cn / 8,
|
|
25808
|
+
"5cd8": 5 * Cn / 8,
|
|
25809
|
+
"7cd8": 7 * Cn / 8
|
|
24690
25810
|
}), t.forEach(([e, t], n) => {
|
|
24691
25811
|
let r = a[n];
|
|
24692
25812
|
c[e] = typeof r == "number" ? r : u(t), e === "adj" && (c.adj1 = c.adj), e === "adj1" && (c.adj = c.adj1);
|
|
@@ -24723,10 +25843,10 @@ function Ye(e, t, n) {
|
|
|
24723
25843
|
case "pin": return t[1] < t[0] ? t[0] : t[1] > t[2] ? t[2] : t[1];
|
|
24724
25844
|
case "sqrt": return Math.sqrt(Math.max(0, t[0]));
|
|
24725
25845
|
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]) /
|
|
25846
|
+
case "sin": return t[0] * Math.sin(t[1] * wn);
|
|
25847
|
+
case "cos": return t[0] * Math.cos(t[1] * wn);
|
|
25848
|
+
case "tan": return t[0] * Math.tan(t[1] * wn);
|
|
25849
|
+
case "at2": return Math.atan2(t[1], t[0]) / wn;
|
|
24730
25850
|
case "cat2": return t[0] * Math.cos(Math.atan2(t[2], t[1]));
|
|
24731
25851
|
case "sat2": return t[0] * Math.sin(Math.atan2(t[2], t[1]));
|
|
24732
25852
|
default: throw Error(`preset-shape: unknown operator "${e}" in "${n}"`);
|
|
@@ -24735,8 +25855,8 @@ function Ye(e, t, n) {
|
|
|
24735
25855
|
}
|
|
24736
25856
|
//#endregion
|
|
24737
25857
|
//#region packages/core/src/shape/preset-geometry/path-executor.ts
|
|
24738
|
-
var
|
|
24739
|
-
function
|
|
25858
|
+
var En = Math.PI * 2 / 216e5;
|
|
25859
|
+
function Dn(e, t, n, r, i, a, o) {
|
|
24740
25860
|
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
25861
|
for (let r of t.cmds) switch (r[0]) {
|
|
24742
25862
|
case "m": {
|
|
@@ -24760,7 +25880,7 @@ function Ze(e, t, n, r, i, a, o) {
|
|
|
24760
25880
|
break;
|
|
24761
25881
|
}
|
|
24762
25882
|
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]) *
|
|
25883
|
+
let t = n.resolve(r[1]), i = n.resolve(r[2]), a = t * s, o = i * c, l = n.resolve(r[3]) * En, u = n.resolve(r[4]) * En, 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
25884
|
_ > 0 && v < 0 ? v += p : _ < 0 && v > 0 && (v -= p);
|
|
24765
25885
|
let y = h + v + g * p, b = d - a * Math.cos(h), x = f - o * Math.sin(h);
|
|
24766
25886
|
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 +25893,26 @@ function Ze(e, t, n, r, i, a, o) {
|
|
|
24773
25893
|
}
|
|
24774
25894
|
//#endregion
|
|
24775
25895
|
//#region packages/core/src/shape/preset-geometry/index.ts
|
|
24776
|
-
var
|
|
24777
|
-
function
|
|
24778
|
-
return e.toLowerCase() in
|
|
25896
|
+
var On = Sn;
|
|
25897
|
+
function kn(e) {
|
|
25898
|
+
return e.toLowerCase() in On;
|
|
24779
25899
|
}
|
|
24780
|
-
function
|
|
24781
|
-
let s =
|
|
25900
|
+
function An(e, t, n, r, i, a, o = []) {
|
|
25901
|
+
let s = On[t.toLowerCase()];
|
|
24782
25902
|
if (!s) return !1;
|
|
24783
|
-
let c =
|
|
25903
|
+
let c = Tn({
|
|
24784
25904
|
w: i,
|
|
24785
25905
|
h: a,
|
|
24786
25906
|
adj: o
|
|
24787
25907
|
}, s.adj, s.gd);
|
|
24788
|
-
for (let t of s.paths)
|
|
25908
|
+
for (let t of s.paths) Dn(e, t, c, n, r, i, a);
|
|
24789
25909
|
return !0;
|
|
24790
25910
|
}
|
|
24791
|
-
var
|
|
25911
|
+
var jn = {
|
|
24792
25912
|
wedgeroundrectcallout: "roundrect",
|
|
24793
25913
|
wedgeellipsecallout: "ellipse",
|
|
24794
25914
|
wedgerectcallout: null
|
|
24795
|
-
},
|
|
25915
|
+
}, Mn = {
|
|
24796
25916
|
adj: [],
|
|
24797
25917
|
gd: [],
|
|
24798
25918
|
paths: [{
|
|
@@ -24826,43 +25946,43 @@ var et = {
|
|
|
24826
25946
|
]
|
|
24827
25947
|
}]
|
|
24828
25948
|
};
|
|
24829
|
-
function
|
|
25949
|
+
function Nn(e, t, n) {
|
|
24830
25950
|
let r = e[n];
|
|
24831
25951
|
if (typeof r == "number") return r;
|
|
24832
25952
|
let i = t.adj[n];
|
|
24833
25953
|
return i && Number(i[1].replace(/^val\s+/, "")) || 0;
|
|
24834
25954
|
}
|
|
24835
|
-
function
|
|
24836
|
-
let u = t.toLowerCase(), d =
|
|
25955
|
+
function Pn(e, t, n, r, i, a, o, s, c, l) {
|
|
25956
|
+
let u = t.toLowerCase(), d = On[u];
|
|
24837
25957
|
if (!d) return !1;
|
|
24838
|
-
if (u in
|
|
24839
|
-
let e =
|
|
25958
|
+
if (u in jn) {
|
|
25959
|
+
let e = Nn(o, d, 0), t = Nn(o, d, 1), n = i / 2 + i * e / 1e5, r = a / 2 + a * t / 1e5;
|
|
24840
25960
|
if (n >= 0 && n <= i && r >= 0 && r <= a) {
|
|
24841
|
-
let e =
|
|
24842
|
-
e === "roundrect" ? (d =
|
|
25961
|
+
let e = jn[u];
|
|
25962
|
+
e === "roundrect" ? (d = On.roundrect, o = [Nn(o, On[u], 2)]) : e && On[e] ? (d = On[e], o = []) : (d = Mn, o = []);
|
|
24843
25963
|
}
|
|
24844
25964
|
}
|
|
24845
|
-
let f =
|
|
25965
|
+
let f = Tn({
|
|
24846
25966
|
w: i,
|
|
24847
25967
|
h: a,
|
|
24848
25968
|
adj: o
|
|
24849
25969
|
}, d.adj, d.gd), p = !1;
|
|
24850
25970
|
for (let t of d.paths) {
|
|
24851
|
-
e.beginPath(),
|
|
25971
|
+
e.beginPath(), Dn(e, t, f, n, r, i, a);
|
|
24852
25972
|
let o = t.fill;
|
|
24853
25973
|
if (o !== "none" && s != null) {
|
|
24854
25974
|
e.save(), e.fillStyle = s, e.fill();
|
|
24855
|
-
let t =
|
|
25975
|
+
let t = In(o);
|
|
24856
25976
|
t && (e.fillStyle = t, e.fill()), e.restore(), p ||= (l(), !0);
|
|
24857
25977
|
}
|
|
24858
25978
|
t.stroke && c && c();
|
|
24859
25979
|
}
|
|
24860
25980
|
return !0;
|
|
24861
25981
|
}
|
|
24862
|
-
function
|
|
24863
|
-
let o =
|
|
25982
|
+
function Fn(e, t, n, r, i, a) {
|
|
25983
|
+
let o = On[e.toLowerCase()];
|
|
24864
25984
|
if (!o || o.paths.length === 0) return null;
|
|
24865
|
-
let s = o.paths[0], c =
|
|
25985
|
+
let s = o.paths[0], c = Tn({
|
|
24866
25986
|
w: r,
|
|
24867
25987
|
h: i,
|
|
24868
25988
|
adj: a
|
|
@@ -24896,7 +26016,7 @@ function it(e, t, n, r, i, a) {
|
|
|
24896
26016
|
}
|
|
24897
26017
|
};
|
|
24898
26018
|
}
|
|
24899
|
-
function
|
|
26019
|
+
function In(e) {
|
|
24900
26020
|
switch (e) {
|
|
24901
26021
|
case "lighten": return "rgba(255,255,255,0.30)";
|
|
24902
26022
|
case "lightenLess": return "rgba(255,255,255,0.15)";
|
|
@@ -24907,10 +26027,10 @@ function at(e) {
|
|
|
24907
26027
|
}
|
|
24908
26028
|
//#endregion
|
|
24909
26029
|
//#region packages/core/src/shape/effects.ts
|
|
24910
|
-
function
|
|
26030
|
+
function Ln(e, t) {
|
|
24911
26031
|
return e * t;
|
|
24912
26032
|
}
|
|
24913
|
-
function
|
|
26033
|
+
function Rn(e, t) {
|
|
24914
26034
|
let n = Math.max(1, Math.ceil(e)), r = Math.max(1, Math.ceil(t));
|
|
24915
26035
|
if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(n, r);
|
|
24916
26036
|
if (typeof document < "u") {
|
|
@@ -24919,60 +26039,60 @@ function st(e, t) {
|
|
|
24919
26039
|
}
|
|
24920
26040
|
return null;
|
|
24921
26041
|
}
|
|
24922
|
-
function
|
|
26042
|
+
function zn(e) {
|
|
24923
26043
|
return e.getContext("2d") ?? null;
|
|
24924
26044
|
}
|
|
24925
|
-
function
|
|
24926
|
-
let s =
|
|
26045
|
+
function Bn(e, t, n, r, i, a, o) {
|
|
26046
|
+
let s = Rn(a, o);
|
|
24927
26047
|
if (!s) return;
|
|
24928
|
-
let c =
|
|
26048
|
+
let c = zn(s);
|
|
24929
26049
|
if (!c) return;
|
|
24930
|
-
let l =
|
|
24931
|
-
c.save(), c.fillStyle =
|
|
26050
|
+
let l = Ln(r.blur, i), u = Ln(r.dist, i), d = r.dir * Math.PI / 180, f = Math.cos(d) * u, p = Math.sin(d) * u;
|
|
26051
|
+
c.save(), c.fillStyle = U(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
26052
|
}
|
|
24933
|
-
function
|
|
24934
|
-
let c =
|
|
26053
|
+
function Vn(e, t, n, r, i, a, o, s) {
|
|
26054
|
+
let c = Ln(r.radius, i);
|
|
24935
26055
|
if (c <= 0) {
|
|
24936
26056
|
t(e);
|
|
24937
26057
|
return;
|
|
24938
26058
|
}
|
|
24939
|
-
let l =
|
|
26059
|
+
let l = Rn(a, o);
|
|
24940
26060
|
if (!l) {
|
|
24941
26061
|
t(e);
|
|
24942
26062
|
return;
|
|
24943
26063
|
}
|
|
24944
|
-
let u =
|
|
26064
|
+
let u = zn(l);
|
|
24945
26065
|
if (!u) {
|
|
24946
26066
|
t(e);
|
|
24947
26067
|
return;
|
|
24948
26068
|
}
|
|
24949
26069
|
let d = s ?? t;
|
|
24950
26070
|
t(u);
|
|
24951
|
-
let f =
|
|
26071
|
+
let f = Rn(a, o), p = Rn(a, o), m = f ? zn(f) : null, h = p ? zn(p) : null;
|
|
24952
26072
|
if (f && m && p && h) {
|
|
24953
26073
|
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
26074
|
return;
|
|
24955
26075
|
}
|
|
24956
26076
|
e.save(), e.drawImage(l, 0, 0), e.restore();
|
|
24957
26077
|
}
|
|
24958
|
-
function
|
|
24959
|
-
let s =
|
|
26078
|
+
function Hn(e, t, n, r, i, a, o) {
|
|
26079
|
+
let s = Rn(a, o);
|
|
24960
26080
|
if (!s) return;
|
|
24961
|
-
let c =
|
|
26081
|
+
let c = zn(s);
|
|
24962
26082
|
if (!c) return;
|
|
24963
|
-
let l =
|
|
26083
|
+
let l = Ln(r.blur, i);
|
|
24964
26084
|
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 =
|
|
26085
|
+
let u = n.y, d = n.y + n.h, f = c.createLinearGradient(0, d, 0, u), p = Un(r.stPos), m = Un(r.endPos);
|
|
24966
26086
|
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 =
|
|
26087
|
+
let h = Ln(r.dist, i), g = r.dir * Math.PI / 180, _ = Math.cos(g) * h, v = Math.sin(g) * h;
|
|
24968
26088
|
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
26089
|
}
|
|
24970
|
-
function
|
|
26090
|
+
function Un(e) {
|
|
24971
26091
|
return e < 0 ? 0 : e > 1 ? 1 : e;
|
|
24972
26092
|
}
|
|
24973
26093
|
//#endregion
|
|
24974
26094
|
//#region packages/core/src/shape/scene3d-camera.ts
|
|
24975
|
-
var
|
|
26095
|
+
var Wn = 26, Gn = {
|
|
24976
26096
|
orthographicFront: {
|
|
24977
26097
|
kind: "orthographic",
|
|
24978
26098
|
baseLat: 0,
|
|
@@ -24985,52 +26105,52 @@ var pt = 26, mt = {
|
|
|
24985
26105
|
baseLat: 0,
|
|
24986
26106
|
baseLon: 0,
|
|
24987
26107
|
baseRev: 0,
|
|
24988
|
-
fovDeg:
|
|
26108
|
+
fovDeg: Wn
|
|
24989
26109
|
},
|
|
24990
26110
|
perspectiveRelaxed: {
|
|
24991
26111
|
kind: "perspective",
|
|
24992
26112
|
baseLat: 0,
|
|
24993
26113
|
baseLon: 0,
|
|
24994
26114
|
baseRev: 0,
|
|
24995
|
-
fovDeg:
|
|
26115
|
+
fovDeg: Wn
|
|
24996
26116
|
},
|
|
24997
26117
|
perspectiveRelaxedModerately: {
|
|
24998
26118
|
kind: "perspective",
|
|
24999
26119
|
baseLat: 0,
|
|
25000
26120
|
baseLon: 0,
|
|
25001
26121
|
baseRev: 0,
|
|
25002
|
-
fovDeg:
|
|
26122
|
+
fovDeg: Wn
|
|
25003
26123
|
},
|
|
25004
26124
|
perspectiveAbove: {
|
|
25005
26125
|
kind: "perspective",
|
|
25006
26126
|
baseLat: -20,
|
|
25007
26127
|
baseLon: 0,
|
|
25008
26128
|
baseRev: 0,
|
|
25009
|
-
fovDeg:
|
|
26129
|
+
fovDeg: Wn
|
|
25010
26130
|
},
|
|
25011
26131
|
perspectiveBelow: {
|
|
25012
26132
|
kind: "perspective",
|
|
25013
26133
|
baseLat: 20,
|
|
25014
26134
|
baseLon: 0,
|
|
25015
26135
|
baseRev: 0,
|
|
25016
|
-
fovDeg:
|
|
26136
|
+
fovDeg: Wn
|
|
25017
26137
|
},
|
|
25018
26138
|
perspectiveLeft: {
|
|
25019
26139
|
kind: "perspective",
|
|
25020
26140
|
baseLat: 0,
|
|
25021
26141
|
baseLon: -20,
|
|
25022
26142
|
baseRev: 0,
|
|
25023
|
-
fovDeg:
|
|
26143
|
+
fovDeg: Wn
|
|
25024
26144
|
},
|
|
25025
26145
|
perspectiveRight: {
|
|
25026
26146
|
kind: "perspective",
|
|
25027
26147
|
baseLat: 0,
|
|
25028
26148
|
baseLon: 20,
|
|
25029
26149
|
baseRev: 0,
|
|
25030
|
-
fovDeg:
|
|
26150
|
+
fovDeg: Wn
|
|
25031
26151
|
}
|
|
25032
26152
|
};
|
|
25033
|
-
function
|
|
26153
|
+
function Kn(e, t) {
|
|
25034
26154
|
let n = Array(9).fill(0);
|
|
25035
26155
|
for (let r = 0; r < 3; r++) for (let i = 0; i < 3; i++) {
|
|
25036
26156
|
let a = 0;
|
|
@@ -25039,7 +26159,7 @@ function ht(e, t) {
|
|
|
25039
26159
|
}
|
|
25040
26160
|
return n;
|
|
25041
26161
|
}
|
|
25042
|
-
function
|
|
26162
|
+
function qn(e) {
|
|
25043
26163
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25044
26164
|
return [
|
|
25045
26165
|
1,
|
|
@@ -25053,7 +26173,7 @@ function gt(e) {
|
|
|
25053
26173
|
n
|
|
25054
26174
|
];
|
|
25055
26175
|
}
|
|
25056
|
-
function
|
|
26176
|
+
function Jn(e) {
|
|
25057
26177
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25058
26178
|
return [
|
|
25059
26179
|
n,
|
|
@@ -25067,7 +26187,7 @@ function _t(e) {
|
|
|
25067
26187
|
n
|
|
25068
26188
|
];
|
|
25069
26189
|
}
|
|
25070
|
-
function
|
|
26190
|
+
function Yn(e) {
|
|
25071
26191
|
let t = e * Math.PI / 180, n = Math.cos(t), r = Math.sin(t);
|
|
25072
26192
|
return [
|
|
25073
26193
|
n,
|
|
@@ -25081,22 +26201,22 @@ function vt(e) {
|
|
|
25081
26201
|
1
|
|
25082
26202
|
];
|
|
25083
26203
|
}
|
|
25084
|
-
function
|
|
26204
|
+
function Xn(e, t, n, r) {
|
|
25085
26205
|
return [
|
|
25086
26206
|
e[0] * t + e[1] * n + e[2] * r,
|
|
25087
26207
|
e[3] * t + e[4] * n + e[5] * r,
|
|
25088
26208
|
e[6] * t + e[7] * n + e[8] * r
|
|
25089
26209
|
];
|
|
25090
26210
|
}
|
|
25091
|
-
function
|
|
26211
|
+
function Zn(e, t) {
|
|
25092
26212
|
let n = t ? t.lat : e.baseLat, r = t ? t.lon : e.baseLon;
|
|
25093
|
-
return
|
|
26213
|
+
return Kn(Yn(-(t ? t.rev : e.baseRev)), Kn(qn(-n), Jn(-r)));
|
|
25094
26214
|
}
|
|
25095
|
-
function
|
|
25096
|
-
return
|
|
26215
|
+
function Qn(e) {
|
|
26216
|
+
return Gn[e] ?? Gn.orthographicFront;
|
|
25097
26217
|
}
|
|
25098
|
-
function
|
|
25099
|
-
let r =
|
|
26218
|
+
function $n(e, t, n) {
|
|
26219
|
+
let r = Qn(e.prst), i = Zn(r, e.rot);
|
|
25100
26220
|
if (t <= 0 || n <= 0) return {
|
|
25101
26221
|
corners: [
|
|
25102
26222
|
{
|
|
@@ -25128,11 +26248,11 @@ function St(e, t, n) {
|
|
|
25128
26248
|
if (r.kind === "perspective") {
|
|
25129
26249
|
let t = e.fov ?? r.fovDeg, n = Math.max(1, Math.min(179, t)) * Math.PI / 180, a = l / Math.tan(n / 2);
|
|
25130
26250
|
u = s.map(([e, t]) => {
|
|
25131
|
-
let [n, r, o] =
|
|
26251
|
+
let [n, r, o] = Xn(i, e, t, 0), s = a - o, c = a / (Math.abs(s) < 1e-6 ? 1e-6 * Math.sign(s || 1) : s);
|
|
25132
26252
|
return [n * c, r * c];
|
|
25133
26253
|
});
|
|
25134
26254
|
} else u = s.map(([e, t]) => {
|
|
25135
|
-
let [n, r] =
|
|
26255
|
+
let [n, r] = Xn(i, e, t, 0);
|
|
25136
26256
|
return [n, r];
|
|
25137
26257
|
});
|
|
25138
26258
|
u = u.map(([e, t]) => [e * c, t * c]);
|
|
@@ -25157,18 +26277,18 @@ function St(e, t, n) {
|
|
|
25157
26277
|
isIdentity: E
|
|
25158
26278
|
};
|
|
25159
26279
|
}
|
|
25160
|
-
function
|
|
25161
|
-
let { isIdentity: t } =
|
|
26280
|
+
function er(e) {
|
|
26281
|
+
let { isIdentity: t } = $n(e, 1e3, 1e3);
|
|
25162
26282
|
return !t;
|
|
25163
26283
|
}
|
|
25164
|
-
function
|
|
25165
|
-
let i =
|
|
26284
|
+
function tr(e, t, n, r) {
|
|
26285
|
+
let i = Qn(e.prst), a = Zn(i, e.rot);
|
|
25166
26286
|
if (t <= 0 || n <= 0 || r === 0) return {
|
|
25167
26287
|
x: 0,
|
|
25168
26288
|
y: 0
|
|
25169
26289
|
};
|
|
25170
26290
|
let o = t / 2, s = n / 2, c = Math.max(o, s), l = e.zoom ?? 1, u = (t) => {
|
|
25171
|
-
let [n, r, o] =
|
|
26291
|
+
let [n, r, o] = Xn(a, 0, 0, t);
|
|
25172
26292
|
if (i.kind === "perspective") {
|
|
25173
26293
|
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
26294
|
return [n * d * l, r * d * l];
|
|
@@ -25182,7 +26302,7 @@ function wt(e, t, n, r) {
|
|
|
25182
26302
|
}
|
|
25183
26303
|
//#endregion
|
|
25184
26304
|
//#region packages/core/src/shape/scene3d-draw.ts
|
|
25185
|
-
function
|
|
26305
|
+
function nr(e, t, n, r) {
|
|
25186
26306
|
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
26307
|
if (Math.abs(m) < 1e-12 && Math.abs(_) < 1e-12) v = 0, y = 0;
|
|
25188
26308
|
else {
|
|
@@ -25202,15 +26322,15 @@ function Tt(e, t, n, r) {
|
|
|
25202
26322
|
1
|
|
25203
26323
|
];
|
|
25204
26324
|
}
|
|
25205
|
-
function
|
|
26325
|
+
function rr(e, t, n) {
|
|
25206
26326
|
let r = e[6] * t + e[7] * n + e[8];
|
|
25207
26327
|
return {
|
|
25208
26328
|
x: (e[0] * t + e[1] * n + e[2]) / r,
|
|
25209
26329
|
y: (e[3] * t + e[4] * n + e[5]) / r
|
|
25210
26330
|
};
|
|
25211
26331
|
}
|
|
25212
|
-
var
|
|
25213
|
-
function
|
|
26332
|
+
var ir = 1;
|
|
26333
|
+
function ar(e, t) {
|
|
25214
26334
|
let [n, r, i, a, o, s] = e, [c, l, u, d, f, p] = t;
|
|
25215
26335
|
return [
|
|
25216
26336
|
n * c + i * l,
|
|
@@ -25221,13 +26341,13 @@ function Ot(e, t) {
|
|
|
25221
26341
|
r * f + a * p + s
|
|
25222
26342
|
];
|
|
25223
26343
|
}
|
|
25224
|
-
function
|
|
26344
|
+
function or(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
25225
26345
|
let p = c - o, m = l - s;
|
|
25226
26346
|
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 =
|
|
26347
|
+
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 = ir * p / y, S = ir * 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
26348
|
if (D <= 0 || O <= 0) return;
|
|
25229
26349
|
e.save();
|
|
25230
|
-
let [k, A, j, M, N, P] =
|
|
26350
|
+
let [k, A, j, M, N, P] = ar(i, [
|
|
25231
26351
|
h,
|
|
25232
26352
|
g,
|
|
25233
26353
|
_,
|
|
@@ -25237,22 +26357,22 @@ function kt(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
|
25237
26357
|
]);
|
|
25238
26358
|
e.setTransform(k, A, j, M, N, P), e.drawImage(t, C, w, D, O, C, w, D, O), e.restore();
|
|
25239
26359
|
}
|
|
25240
|
-
function
|
|
25241
|
-
let p =
|
|
26360
|
+
function sr(e, t, n, r, i, a, o, s, c, l, u, d, f) {
|
|
26361
|
+
let p = rr(o, s, c), m = rr(o, l, c), h = rr(o, s, u), g = rr(o, l, u), _ = (s + l) / 2, v = (c + u) / 2, y = rr(o, _, v), b = {
|
|
25242
26362
|
x: (p.x + m.x + h.x + g.x) / 4,
|
|
25243
26363
|
y: (p.y + m.y + h.y + g.y) / 4
|
|
25244
|
-
}, x =
|
|
26364
|
+
}, x = lr(i), S = Math.hypot(y.x - b.x, y.y - b.y) * x;
|
|
25245
26365
|
if (f <= 0 || S <= d) {
|
|
25246
|
-
|
|
26366
|
+
or(e, t, n, r, i, a, s * n, c * r, l * n, u * r, p, m, h);
|
|
25247
26367
|
return;
|
|
25248
26368
|
}
|
|
25249
|
-
l - s >= u - c ? (
|
|
26369
|
+
l - s >= u - c ? (sr(e, t, n, r, i, a, o, s, c, _, u, d, f - 1), sr(e, t, n, r, i, a, o, _, c, l, u, d, f - 1)) : (sr(e, t, n, r, i, a, o, s, c, l, v, d, f - 1), sr(e, t, n, r, i, a, o, s, v, l, u, d, f - 1));
|
|
25250
26370
|
}
|
|
25251
|
-
function
|
|
26371
|
+
function cr(e, t, n, r, i, a = .5) {
|
|
25252
26372
|
if (n <= 0 || r <= 0) return;
|
|
25253
26373
|
let [o, s, c, l] = i;
|
|
25254
26374
|
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 =
|
|
26375
|
+
let u = nr(i[0], i[1], i[2], i[3]);
|
|
25256
26376
|
if (!u) return;
|
|
25257
26377
|
let d = t.getTransform(), f = [
|
|
25258
26378
|
d.a,
|
|
@@ -25261,14 +26381,14 @@ function jt(e, t, n, r, i, a = .5) {
|
|
|
25261
26381
|
d.d,
|
|
25262
26382
|
d.e,
|
|
25263
26383
|
d.f
|
|
25264
|
-
], p =
|
|
25265
|
-
|
|
26384
|
+
], p = lr(f);
|
|
26385
|
+
mr(e, t, n, r, i, f, p, u, a, 14) || (fr(), 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(), sr(t, e, n, r, f, p, u, 0, 0, 1, 1, a, 14), t.restore());
|
|
25266
26386
|
}
|
|
25267
|
-
function
|
|
26387
|
+
function lr(e) {
|
|
25268
26388
|
return Math.sqrt(Math.abs(e[0] * e[3] - e[1] * e[2])) || 1;
|
|
25269
26389
|
}
|
|
25270
|
-
function
|
|
25271
|
-
let r =
|
|
26390
|
+
function ur(e, t, n) {
|
|
26391
|
+
let r = nr(e[0], e[1], e[2], e[3]);
|
|
25272
26392
|
if (!r) return null;
|
|
25273
26393
|
let i = [
|
|
25274
26394
|
[-t, -n],
|
|
@@ -25278,16 +26398,16 @@ function Nt(e, t, n) {
|
|
|
25278
26398
|
], a = [];
|
|
25279
26399
|
for (let [e, t] of i) {
|
|
25280
26400
|
if (!(r[6] * e + r[7] * t + r[8] > 1e-9)) return null;
|
|
25281
|
-
a.push(
|
|
26401
|
+
a.push(rr(r, e, t));
|
|
25282
26402
|
}
|
|
25283
26403
|
return a;
|
|
25284
26404
|
}
|
|
25285
|
-
var
|
|
25286
|
-
function
|
|
25287
|
-
|
|
26405
|
+
var dr = !1;
|
|
26406
|
+
function fr() {
|
|
26407
|
+
dr || (dr = !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
26408
|
}
|
|
25289
|
-
var
|
|
25290
|
-
function
|
|
26409
|
+
var pr = 2;
|
|
26410
|
+
function mr(e, t, n, r, i, a, o, s, c, l) {
|
|
25291
26411
|
let u = i.map((e) => ({
|
|
25292
26412
|
x: a[0] * e.x + a[2] * e.y + a[4],
|
|
25293
26413
|
y: a[1] * e.x + a[3] * e.y + a[5]
|
|
@@ -25296,11 +26416,11 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25296
26416
|
d = Math.floor(d) - 1, f = Math.floor(f) - 1, p = Math.ceil(p) + 1, m = Math.ceil(m) + 1;
|
|
25297
26417
|
let h = p - d, g = m - f;
|
|
25298
26418
|
if (h <= 0 || g <= 0) return !1;
|
|
25299
|
-
let _ = Math.max(1, Math.ceil(h *
|
|
26419
|
+
let _ = Math.max(1, Math.ceil(h * pr)), v = Math.max(1, Math.ceil(g * pr)), y = Rn(_, v);
|
|
25300
26420
|
if (!y || y.width !== _ || y.height !== v) return !1;
|
|
25301
26421
|
let b = y.getContext("2d") ?? null;
|
|
25302
26422
|
if (!b) return !1;
|
|
25303
|
-
let x =
|
|
26423
|
+
let x = pr, S = [
|
|
25304
26424
|
a[0] * x,
|
|
25305
26425
|
a[1] * x,
|
|
25306
26426
|
a[2] * x,
|
|
@@ -25308,18 +26428,18 @@ function Lt(e, t, n, r, i, a, o, s, c, l) {
|
|
|
25308
26428
|
(a[4] - d) * x,
|
|
25309
26429
|
(a[5] - f) * x
|
|
25310
26430
|
];
|
|
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(),
|
|
26431
|
+
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(), sr(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
26432
|
let C = t.imageSmoothingEnabled, w = t.imageSmoothingQuality;
|
|
25313
26433
|
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
26434
|
}
|
|
25315
26435
|
//#endregion
|
|
25316
26436
|
//#region packages/core/src/shape/bevel-shading.ts
|
|
25317
|
-
function
|
|
26437
|
+
function hr(e, t) {
|
|
25318
26438
|
if (t <= 0) return () => 1;
|
|
25319
26439
|
let n = (e) => Math.max(0, Math.min(1, e / t));
|
|
25320
26440
|
switch (e) {
|
|
25321
26441
|
case "hardEdge": {
|
|
25322
|
-
let e =
|
|
26442
|
+
let e = Cr;
|
|
25323
26443
|
return (t) => {
|
|
25324
26444
|
let r = Math.min(1, n(t) / e);
|
|
25325
26445
|
return r * r * (3 - 2 * r);
|
|
@@ -25339,7 +26459,7 @@ function Rt(e, t) {
|
|
|
25339
26459
|
};
|
|
25340
26460
|
}
|
|
25341
26461
|
}
|
|
25342
|
-
function
|
|
26462
|
+
function gr(e) {
|
|
25343
26463
|
let t = e.length, n = new Float64Array(t);
|
|
25344
26464
|
if (t === 0) return n;
|
|
25345
26465
|
let r = new Int32Array(t), i = new Float64Array(t + 1), a = 0;
|
|
@@ -25357,7 +26477,7 @@ function zt(e) {
|
|
|
25357
26477
|
}
|
|
25358
26478
|
return n;
|
|
25359
26479
|
}
|
|
25360
|
-
function
|
|
26480
|
+
function _r(e, t = 3) {
|
|
25361
26481
|
if (e <= 0) return Array(t).fill(1);
|
|
25362
26482
|
let n = Math.sqrt(12 * e * e / t + 1), r = Math.floor(n);
|
|
25363
26483
|
r % 2 == 0 && r--;
|
|
@@ -25365,7 +26485,7 @@ function Bt(e, t = 3) {
|
|
|
25365
26485
|
for (let e = 0; e < t; e++) s.push(e < o ? r : i);
|
|
25366
26486
|
return s;
|
|
25367
26487
|
}
|
|
25368
|
-
function
|
|
26488
|
+
function vr(e, t, n, r, i, a) {
|
|
25369
26489
|
let o = 1 / (2 * i + 1);
|
|
25370
26490
|
if (a) for (let a = 0; a < r; a++) {
|
|
25371
26491
|
let r = a * n, s = 0;
|
|
@@ -25386,29 +26506,29 @@ function Vt(e, t, n, r, i, a) {
|
|
|
25386
26506
|
}
|
|
25387
26507
|
}
|
|
25388
26508
|
}
|
|
25389
|
-
function
|
|
26509
|
+
function yr(e, t, n, r) {
|
|
25390
26510
|
let i = Float64Array.from(e);
|
|
25391
26511
|
if (r <= 0 || t <= 0 || n <= 0) return i;
|
|
25392
26512
|
let a = new Float64Array(t * n);
|
|
25393
|
-
for (let e of
|
|
26513
|
+
for (let e of _r(r, 3)) {
|
|
25394
26514
|
let r = Math.max(1, (e - 1) / 2);
|
|
25395
|
-
|
|
26515
|
+
vr(i, a, t, n, r, !0), vr(a, i, t, n, r, !1);
|
|
25396
26516
|
}
|
|
25397
26517
|
return i;
|
|
25398
26518
|
}
|
|
25399
|
-
function
|
|
26519
|
+
function br(e, t, n, r = 128) {
|
|
25400
26520
|
let i = new Float64Array(t * n);
|
|
25401
26521
|
for (let a = 0; a < t * n; a++) i[a] = (e[a] ?? 0) >= r ? 0x56bc75e2d63100000 : 0;
|
|
25402
26522
|
let a = new Float64Array(n);
|
|
25403
26523
|
for (let e = 0; e < t; e++) {
|
|
25404
26524
|
for (let r = 0; r < n; r++) a[r] = i[r * t + e];
|
|
25405
|
-
let r =
|
|
26525
|
+
let r = gr(a);
|
|
25406
26526
|
for (let a = 0; a < n; a++) i[a * t + e] = r[a];
|
|
25407
26527
|
}
|
|
25408
26528
|
let o = new Float64Array(t);
|
|
25409
26529
|
for (let e = 0; e < n; e++) {
|
|
25410
26530
|
for (let n = 0; n < t; n++) o[n] = i[e * t + n];
|
|
25411
|
-
let n =
|
|
26531
|
+
let n = gr(o);
|
|
25412
26532
|
for (let r = 0; r < t; r++) i[e * t + r] = n[r];
|
|
25413
26533
|
}
|
|
25414
26534
|
for (let e = 0; e < n; e++) for (let r = 0; r < t; r++) {
|
|
@@ -25420,15 +26540,15 @@ function Ut(e, t, n, r = 128) {
|
|
|
25420
26540
|
for (let e = 0; e < t * n; e++) i[e] = Math.sqrt(i[e]);
|
|
25421
26541
|
return i;
|
|
25422
26542
|
}
|
|
25423
|
-
var
|
|
25424
|
-
function
|
|
26543
|
+
var xr = .25, Sr = .35, Cr = .5;
|
|
26544
|
+
function wr(e, t, n, r, i, a) {
|
|
25425
26545
|
let o = new Float32Array(t * n * 3), s = new Uint8Array(t * n), c = new Float32Array(t * n);
|
|
25426
26546
|
if (t <= 0 || n <= 0) return {
|
|
25427
26547
|
normals: o,
|
|
25428
26548
|
bandMask: s,
|
|
25429
26549
|
bandWeight: c
|
|
25430
26550
|
};
|
|
25431
|
-
let l =
|
|
26551
|
+
let l = br(e, t, n), u = hr(i, r), d = (n, r) => (e[r * t + n] ?? 0) >= 128, f = (r > 0 ? a / r : 0) * r, p = yr(l, t, n, Math.max(1, r * xr)), m = (e) => {
|
|
25432
26552
|
let t = u(Math.max(0, e - .5));
|
|
25433
26553
|
return u(e + .5) - t;
|
|
25434
26554
|
};
|
|
@@ -25443,9 +26563,9 @@ function qt(e, t, n, r, i, a) {
|
|
|
25443
26563
|
o[a * 3 + 2] = 1;
|
|
25444
26564
|
continue;
|
|
25445
26565
|
}
|
|
25446
|
-
let g = u / r, _ = 1 -
|
|
26566
|
+
let g = u / r, _ = 1 - Sr, v = 1;
|
|
25447
26567
|
if (g > _) {
|
|
25448
|
-
let e = Math.min(1, (g - _) /
|
|
26568
|
+
let e = Math.min(1, (g - _) / Sr);
|
|
25449
26569
|
v = 1 - e * e * (3 - 2 * e);
|
|
25450
26570
|
}
|
|
25451
26571
|
c[a] = v;
|
|
@@ -25460,7 +26580,7 @@ function qt(e, t, n, r, i, a) {
|
|
|
25460
26580
|
bandWeight: c
|
|
25461
26581
|
};
|
|
25462
26582
|
}
|
|
25463
|
-
var
|
|
26583
|
+
var Tr = 35 * Math.PI / 180, Er = 12 * Math.PI / 180, Dr = {
|
|
25464
26584
|
t: {
|
|
25465
26585
|
x: 0,
|
|
25466
26586
|
y: -1
|
|
@@ -25494,22 +26614,22 @@ var Jt = 35 * Math.PI / 180, Yt = 12 * Math.PI / 180, Xt = {
|
|
|
25494
26614
|
y: 1
|
|
25495
26615
|
}
|
|
25496
26616
|
};
|
|
25497
|
-
function
|
|
26617
|
+
function Or(e, t, n) {
|
|
25498
26618
|
let r = n * Math.PI / 180, i = Math.cos(r), a = Math.sin(r);
|
|
25499
26619
|
return {
|
|
25500
26620
|
x: e * i - t * a,
|
|
25501
26621
|
y: e * a + t * i
|
|
25502
26622
|
};
|
|
25503
26623
|
}
|
|
25504
|
-
function
|
|
25505
|
-
let r =
|
|
25506
|
-
return n && n.rev && (r =
|
|
26624
|
+
function kr(e, t, n) {
|
|
26625
|
+
let r = Dr[t] ?? Dr.t;
|
|
26626
|
+
return n && n.rev && (r = Or(r.x, r.y, n.rev)), jr(r.x, r.y, Tr);
|
|
25507
26627
|
}
|
|
25508
|
-
function
|
|
26628
|
+
function Ar(e) {
|
|
25509
26629
|
let t = Math.hypot(e.x, e.y) || 1;
|
|
25510
|
-
return
|
|
26630
|
+
return jr(-e.x / t, -e.y / t, Er);
|
|
25511
26631
|
}
|
|
25512
|
-
function
|
|
26632
|
+
function jr(e, t, n) {
|
|
25513
26633
|
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
26634
|
return {
|
|
25515
26635
|
x: o / l,
|
|
@@ -25517,7 +26637,7 @@ function en(e, t, n) {
|
|
|
25517
26637
|
z: c / l
|
|
25518
26638
|
};
|
|
25519
26639
|
}
|
|
25520
|
-
var
|
|
26640
|
+
var Mr = 2, Nr = {
|
|
25521
26641
|
matte: {
|
|
25522
26642
|
ambient: .62,
|
|
25523
26643
|
diffuse: .45,
|
|
@@ -25530,8 +26650,8 @@ var tn = 2, nn = {
|
|
|
25530
26650
|
specular: .35,
|
|
25531
26651
|
shininess: 22
|
|
25532
26652
|
}
|
|
25533
|
-
},
|
|
25534
|
-
function
|
|
26653
|
+
}, Pr = .8;
|
|
26654
|
+
function Fr(e) {
|
|
25535
26655
|
switch (e) {
|
|
25536
26656
|
case "plastic":
|
|
25537
26657
|
case "metal":
|
|
@@ -25542,8 +26662,8 @@ function an(e) {
|
|
|
25542
26662
|
default: return "matte";
|
|
25543
26663
|
}
|
|
25544
26664
|
}
|
|
25545
|
-
function
|
|
25546
|
-
let r =
|
|
26665
|
+
function Ir(e, t, n = !0) {
|
|
26666
|
+
let r = Nr[e], i = {
|
|
25547
26667
|
light: t,
|
|
25548
26668
|
material: e,
|
|
25549
26669
|
ambient: r.ambient,
|
|
@@ -25551,9 +26671,9 @@ function on(e, t, n = !0) {
|
|
|
25551
26671
|
specular: r.specular,
|
|
25552
26672
|
shininess: r.shininess
|
|
25553
26673
|
};
|
|
25554
|
-
return n && (i.fillLight =
|
|
26674
|
+
return n && (i.fillLight = Ar(t), i.fillDiffuse = i.diffuse * Pr), i;
|
|
25555
26675
|
}
|
|
25556
|
-
function
|
|
26676
|
+
function Lr(e, t) {
|
|
25557
26677
|
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
26678
|
if (t.fillLight && t.fillDiffuse) {
|
|
25559
26679
|
let n = e.x * t.fillLight.x + e.y * t.fillLight.y + e.z * t.fillLight.z;
|
|
@@ -25566,14 +26686,14 @@ function sn(e, t) {
|
|
|
25566
26686
|
}
|
|
25567
26687
|
return Math.max(0, t.ambient + r + i + a);
|
|
25568
26688
|
}
|
|
25569
|
-
function
|
|
26689
|
+
function Rr(e, t) {
|
|
25570
26690
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25571
26691
|
if (n <= 0 || r <= 0) return;
|
|
25572
26692
|
let i = t.widthPx;
|
|
25573
26693
|
if (i < .75) return;
|
|
25574
26694
|
let a = e.getImageData(0, 0, n, r), o = a.data, s = new Uint8ClampedArray(n * r);
|
|
25575
26695
|
for (let e = 0; e < n * r; e++) s[e] = o[e * 4 + 3];
|
|
25576
|
-
let { bandMask: c, bandWeight: l, normals: u } =
|
|
26696
|
+
let { bandMask: c, bandWeight: l, normals: u } = wr(s, n, r, i, t.prst, t.heightPx), d = Ir(t.material, t.light), f = Lr({
|
|
25577
26697
|
x: 0,
|
|
25578
26698
|
y: 0,
|
|
25579
26699
|
z: 1
|
|
@@ -25584,13 +26704,13 @@ function cn(e, t) {
|
|
|
25584
26704
|
if (n <= 0) continue;
|
|
25585
26705
|
let r = u[e * 3], i = u[e * 3 + 1], a = u[e * 3 + 2];
|
|
25586
26706
|
t.bottom && (r = -r, i = -i);
|
|
25587
|
-
let s = 1 + (
|
|
26707
|
+
let s = 1 + (Lr({
|
|
25588
26708
|
x: r,
|
|
25589
26709
|
y: i,
|
|
25590
26710
|
z: a
|
|
25591
26711
|
}, d) / f - 1) * n, p = e * 4;
|
|
25592
26712
|
if (s >= 1) {
|
|
25593
|
-
let e = Math.min(1, (s - 1) *
|
|
26713
|
+
let e = Math.min(1, (s - 1) * Mr);
|
|
25594
26714
|
for (let t = 0; t < 3; t++) {
|
|
25595
26715
|
let n = Math.min(255, o[p + t] * s);
|
|
25596
26716
|
o[p + t] = n + (255 - n) * e;
|
|
@@ -25599,7 +26719,7 @@ function cn(e, t) {
|
|
|
25599
26719
|
}
|
|
25600
26720
|
e.putImageData(a, 0, 0);
|
|
25601
26721
|
}
|
|
25602
|
-
function
|
|
26722
|
+
function zr(e, t) {
|
|
25603
26723
|
let n = e.canvas.width, r = e.canvas.height;
|
|
25604
26724
|
if (n <= 0 || r <= 0) return;
|
|
25605
26725
|
let i = t.offsetX, a = t.offsetY, o = Math.hypot(i, a);
|
|
@@ -25626,7 +26746,7 @@ function ln(e, t) {
|
|
|
25626
26746
|
}
|
|
25627
26747
|
//#endregion
|
|
25628
26748
|
//#region packages/core/src/sparkline/renderer.ts
|
|
25629
|
-
function
|
|
26749
|
+
function Br(e, t, n) {
|
|
25630
26750
|
let { values: r } = n;
|
|
25631
26751
|
if (r.length === 0 || t.w <= 0 || t.h <= 0) return;
|
|
25632
26752
|
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 +26755,11 @@ function un(e, t, n) {
|
|
|
25635
26755
|
m === h && (h = m + 1, --m);
|
|
25636
26756
|
let g = h - m, _ = (e) => c + u - (e - m) / g * u;
|
|
25637
26757
|
if (n.kind === "stem") {
|
|
25638
|
-
|
|
26758
|
+
Ur(e, n, s, c, l, u);
|
|
25639
26759
|
return;
|
|
25640
26760
|
}
|
|
25641
26761
|
if (n.kind === "column") {
|
|
25642
|
-
|
|
26762
|
+
Hr(e, n, r, s, c, l, u, m, h);
|
|
25643
26763
|
return;
|
|
25644
26764
|
}
|
|
25645
26765
|
if (n.displayXAxis && m < 0 && h > 0) {
|
|
@@ -25648,7 +26768,7 @@ function un(e, t, n) {
|
|
|
25648
26768
|
e.moveTo(s, t), e.lineTo(s + l, t), e.stroke(), e.restore();
|
|
25649
26769
|
}
|
|
25650
26770
|
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) *
|
|
26771
|
+
e.save(), e.strokeStyle = i, e.lineCap = "round", e.lineJoin = "round", e.lineWidth = (n.lineWeight ?? .75) * N, e.beginPath();
|
|
25652
26772
|
let b = !1, x = n.displayEmptyCellsAs ?? "gap";
|
|
25653
26773
|
for (let t = 0; t < v; t++) {
|
|
25654
26774
|
let n = r[t];
|
|
@@ -25663,7 +26783,7 @@ function un(e, t, n) {
|
|
|
25663
26783
|
b ? e.lineTo(i, a) : (e.moveTo(i, a), b = !0);
|
|
25664
26784
|
}
|
|
25665
26785
|
e.stroke(), e.restore();
|
|
25666
|
-
let S = Math.max(1, Math.min(2.5, u * .12)), C =
|
|
26786
|
+
let S = Math.max(1, Math.min(2.5, u * .12)), C = Vr(r, n);
|
|
25667
26787
|
for (let t = 0; t < v; t++) {
|
|
25668
26788
|
let a = r[t];
|
|
25669
26789
|
if (a == null) continue;
|
|
@@ -25671,7 +26791,7 @@ function un(e, t, n) {
|
|
|
25671
26791
|
(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
26792
|
}
|
|
25673
26793
|
}
|
|
25674
|
-
function
|
|
26794
|
+
function Vr(e, t) {
|
|
25675
26795
|
let n = e.map(() => null), r = e.map((e) => typeof e == "number" ? e : null), i = r.findIndex((e) => e != null), a = -1;
|
|
25676
26796
|
for (let e = r.length - 1; e >= 0; e--) if (r[e] != null) {
|
|
25677
26797
|
a = e;
|
|
@@ -25686,10 +26806,10 @@ function dn(e, t) {
|
|
|
25686
26806
|
if (t.low && t.colorLow && !Number.isNaN(c)) for (let e = 0; e < r.length; e++) r[e] === c && (n[e] = t.colorLow);
|
|
25687
26807
|
return n;
|
|
25688
26808
|
}
|
|
25689
|
-
function
|
|
26809
|
+
function Hr(e, t, n, r, i, a, o, s, c) {
|
|
25690
26810
|
let l = n.length;
|
|
25691
26811
|
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 =
|
|
26812
|
+
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 = Vr(n, t);
|
|
25693
26813
|
for (let i = 0; i < l; i++) {
|
|
25694
26814
|
let a = n[i];
|
|
25695
26815
|
if (a == null) continue;
|
|
@@ -25697,10 +26817,10 @@ function fn(e, t, n, r, i, a, o, s, c) {
|
|
|
25697
26817
|
e.save(), e.fillStyle = o, e.fillRect(c, Math.min(p, s), l, Math.abs(p - s)), e.restore();
|
|
25698
26818
|
}
|
|
25699
26819
|
}
|
|
25700
|
-
function
|
|
26820
|
+
function Ur(e, t, n, r, i, a) {
|
|
25701
26821
|
let o = t.values.length;
|
|
25702
26822
|
if (o === 0) return;
|
|
25703
|
-
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d =
|
|
26823
|
+
let s = r + a / 2, c = a / 2, l = i / o, u = Math.min(1.5, l * .15), d = Vr(t.values, t);
|
|
25704
26824
|
for (let r = 0; r < o; r++) {
|
|
25705
26825
|
let i = t.values[r];
|
|
25706
26826
|
if (i == null || i === 0) continue;
|
|
@@ -25710,13 +26830,13 @@ function pn(e, t, n, r, i, a) {
|
|
|
25710
26830
|
}
|
|
25711
26831
|
//#endregion
|
|
25712
26832
|
//#region packages/core/src/math/mathml.ts
|
|
25713
|
-
var
|
|
26833
|
+
var Wr = {
|
|
25714
26834
|
"&": "&",
|
|
25715
26835
|
"<": "<",
|
|
25716
26836
|
">": ">",
|
|
25717
26837
|
"\"": """
|
|
25718
|
-
},
|
|
25719
|
-
function
|
|
26838
|
+
}, Gr = (e) => e.replace(/[&<>"]/g, (e) => Wr[e]);
|
|
26839
|
+
function Kr(e) {
|
|
25720
26840
|
switch (e) {
|
|
25721
26841
|
case "roman": return "normal";
|
|
25722
26842
|
case "bold": return "bold";
|
|
@@ -25724,10 +26844,10 @@ function gn(e) {
|
|
|
25724
26844
|
case "italic": return null;
|
|
25725
26845
|
}
|
|
25726
26846
|
}
|
|
25727
|
-
var
|
|
25728
|
-
function
|
|
25729
|
-
let n =
|
|
25730
|
-
a &&= (i += `<mn${r}>${
|
|
26847
|
+
var qr = new Set([..."⏞⏟⎴⎵︷︸⏜⏝{}[]()¯_‾"]), Jr = "+−±∓×÷·∗⋅∘∙*/", Yr = "=≠<>≤≥≈≡∼≅≃→←↔⇒∈∉⊂⊆⊃⊇∝≪≫⊥≔", Xr = "([{⟨⌈⌊", Zr = ")]}⟩⌉⌋", Qr = ",;";
|
|
26848
|
+
function $r(e, t) {
|
|
26849
|
+
let n = Kr(t), r = n ? ` mathvariant="${n}"` : "", i = "", a = "", o = () => {
|
|
26850
|
+
a &&= (i += `<mn${r}>${Gr(a)}</mn>`, "");
|
|
25731
26851
|
};
|
|
25732
26852
|
for (let t of e) {
|
|
25733
26853
|
if (t === " ") {
|
|
@@ -25738,42 +26858,42 @@ function Cn(e, t) {
|
|
|
25738
26858
|
a += t;
|
|
25739
26859
|
continue;
|
|
25740
26860
|
}
|
|
25741
|
-
o(),
|
|
26861
|
+
o(), Jr.includes(t) || Yr.includes(t) || Qr.includes(t) ? i += `<mo>${Gr(t)}</mo>` : Xr.includes(t) || Zr.includes(t) ? i += `<mo fence="true" stretchy="false">${Gr(t)}</mo>` : i += `<mi${r}>${Gr(t)}</mi>`;
|
|
25742
26862
|
}
|
|
25743
26863
|
return o(), i;
|
|
25744
26864
|
}
|
|
25745
|
-
function
|
|
25746
|
-
return e.map(
|
|
26865
|
+
function ei(e) {
|
|
26866
|
+
return e.map(ti).join("");
|
|
25747
26867
|
}
|
|
25748
26868
|
function $(e) {
|
|
25749
|
-
return `<mrow>${
|
|
26869
|
+
return `<mrow>${ei(e)}</mrow>`;
|
|
25750
26870
|
}
|
|
25751
|
-
function
|
|
26871
|
+
function ti(e) {
|
|
25752
26872
|
switch (e.kind) {
|
|
25753
|
-
case "run": return
|
|
26873
|
+
case "run": return $r(e.text, e.style);
|
|
25754
26874
|
case "group": return $(e.items);
|
|
25755
26875
|
case "fraction": return `<mfrac${e.bar === !1 ? " linethickness=\"0\"" : ""}>${$(e.num)}${$(e.den)}</mfrac>`;
|
|
25756
26876
|
case "sup": return `<msup>${$(e.base)}${$(e.sup ?? [])}</msup>`;
|
|
25757
26877
|
case "sub": return `<msub>${$(e.base)}${$(e.sub ?? [])}</msub>`;
|
|
25758
26878
|
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
|
|
26879
|
+
case "nary": return ci(e);
|
|
26880
|
+
case "delimiter": return li(e);
|
|
26881
|
+
case "radical": return e.index && e.index.length ? `<mroot>${$(e.radicand)}${$(e.index)}</mroot>` : `<msqrt>${ei(e.radicand)}</msqrt>`;
|
|
26882
|
+
case "limit": return ai(e);
|
|
26883
|
+
case "array": return oi(e);
|
|
25764
26884
|
case "groupChr": {
|
|
25765
|
-
let t = $(e.base), n =
|
|
26885
|
+
let t = $(e.base), n = qr.has(e.char), r = e.pos === "top" ? "mover" : "munder", i = `<mo stretchy="${n}">${Gr(e.char)}</mo>`;
|
|
25766
26886
|
return n ? `<${r}>${t}${i}</${r}>` : `<${r} accent="true">${t}${i}</${r}>`;
|
|
25767
26887
|
}
|
|
25768
26888
|
case "bar": {
|
|
25769
26889
|
let t = $(e.base), n = "<mo stretchy=\"true\">―</mo>";
|
|
25770
26890
|
return e.pos === "bot" ? `<munder>${t}${n}</munder>` : `<mover>${t}${n}</mover>`;
|
|
25771
26891
|
}
|
|
25772
|
-
case "accent": return
|
|
26892
|
+
case "accent": return ii(e);
|
|
25773
26893
|
case "func": return `<mrow>${$(e.name)}<mo>⁡</mo>${$(e.arg)}</mrow>`;
|
|
25774
26894
|
}
|
|
25775
26895
|
}
|
|
25776
|
-
var
|
|
26896
|
+
var ni = {
|
|
25777
26897
|
"̀": "`",
|
|
25778
26898
|
"́": "´",
|
|
25779
26899
|
"̂": "^",
|
|
@@ -25784,7 +26904,7 @@ var En = {
|
|
|
25784
26904
|
"̌": "ˇ",
|
|
25785
26905
|
"⃗": "→",
|
|
25786
26906
|
"⃖": "←"
|
|
25787
|
-
},
|
|
26907
|
+
}, ri = new Set([
|
|
25788
26908
|
"̅",
|
|
25789
26909
|
"̄",
|
|
25790
26910
|
"¯",
|
|
@@ -25792,45 +26912,189 @@ var En = {
|
|
|
25792
26912
|
"̲",
|
|
25793
26913
|
"̳"
|
|
25794
26914
|
]);
|
|
25795
|
-
function
|
|
26915
|
+
function ii(e) {
|
|
25796
26916
|
let t = $(e.base);
|
|
25797
|
-
if (
|
|
25798
|
-
let n =
|
|
25799
|
-
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${
|
|
26917
|
+
if (ri.has(e.char)) return `<mover>${t}<mo stretchy="true">―</mo></mover>`;
|
|
26918
|
+
let n = ni[e.char] ?? e.char;
|
|
26919
|
+
return `<mover accent="true">${t}<mo stretchy="${n === "→" || n === "←" ? "true" : "false"}">${Gr(n)}</mo></mover>`;
|
|
25800
26920
|
}
|
|
25801
|
-
function
|
|
26921
|
+
function ai(e) {
|
|
25802
26922
|
let t = $(e.base), n = e.lower && e.lower.length ? $(e.lower) : null, r = e.upper && e.upper.length ? $(e.upper) : null;
|
|
25803
26923
|
return n && r ? `<munderover>${t}${n}${r}</munderover>` : n ? `<munder>${t}${n}</munder>` : r ? `<mover>${t}${r}</mover>` : t;
|
|
25804
26924
|
}
|
|
25805
|
-
function
|
|
26925
|
+
function oi(e) {
|
|
25806
26926
|
let t = Math.max(1, ...e.rows.map((e) => e.length)), n;
|
|
25807
26927
|
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>${
|
|
26928
|
+
let r = e.rows.map((e) => `<mtr>${e.map((e) => `<mtd>${ei(e)}</mtd>`).join("")}</mtr>`).join("");
|
|
25809
26929
|
return `<mtable columnalign="${n}" rowspacing="0.2em" columnspacing="0.3em">${r}</mtable>`;
|
|
25810
26930
|
}
|
|
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}${
|
|
26931
|
+
var si = new Set([..."∫∬∭∮∯∰∱∲∳⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗"]);
|
|
26932
|
+
function ci(e) {
|
|
26933
|
+
let t = e.limLoc === "subSup" ? !0 : e.limLoc === "undOvr" ? !1 : si.has(e.op), n = `<mo largeop="true">${Gr(e.op)}</mo>`, r = e.sub ?? [], i = e.sup ?? [], a;
|
|
26934
|
+
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}${ei(e.body)}</mrow>`;
|
|
25815
26935
|
}
|
|
25816
|
-
function
|
|
25817
|
-
let t = (e) => `<mo fence="true" stretchy="true">${
|
|
26936
|
+
function li(e) {
|
|
26937
|
+
let t = (e) => `<mo fence="true" stretchy="true">${Gr(e)}</mo>`, n = e.items.map((e) => $(e)).join("<mo separator=\"true\">,</mo>");
|
|
25818
26938
|
return `<mrow>${t(e.begChar)}${n}${t(e.endChar)}</mrow>`;
|
|
25819
26939
|
}
|
|
25820
|
-
function
|
|
25821
|
-
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${
|
|
26940
|
+
function ui(e, t) {
|
|
26941
|
+
return `<math xmlns="http://www.w3.org/1998/Math/MathML" display="${t ? "block" : "inline"}">${ei(e)}</math>`;
|
|
25822
26942
|
}
|
|
25823
26943
|
//#endregion
|
|
25824
26944
|
//#region packages/core/src/canvas/env.ts
|
|
25825
|
-
function
|
|
26945
|
+
function di(e) {
|
|
25826
26946
|
return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
|
|
25827
26947
|
}
|
|
25828
|
-
function
|
|
26948
|
+
function fi(e = 1) {
|
|
25829
26949
|
return typeof window < "u" && window.devicePixelRatio || e;
|
|
25830
26950
|
}
|
|
25831
26951
|
//#endregion
|
|
26952
|
+
//#region packages/core/src/canvas/crisp.ts
|
|
26953
|
+
function pi(e, t, n) {
|
|
26954
|
+
let r = Math.round(t * n) % 2 == 1 ? .5 : 0, i = e * n;
|
|
26955
|
+
return (Math.round(i - r) + r) / n - e;
|
|
26956
|
+
}
|
|
26957
|
+
//#endregion
|
|
26958
|
+
//#region packages/core/src/draw/dash.ts
|
|
26959
|
+
function mi(e, t) {
|
|
26960
|
+
return e.map((e) => e * t);
|
|
26961
|
+
}
|
|
26962
|
+
var hi = {
|
|
26963
|
+
dotted: [1, 2],
|
|
26964
|
+
dashed: [3, 2],
|
|
26965
|
+
dashSmallGap: [3, 1],
|
|
26966
|
+
dotDash: [
|
|
26967
|
+
1,
|
|
26968
|
+
2,
|
|
26969
|
+
3,
|
|
26970
|
+
2
|
|
26971
|
+
],
|
|
26972
|
+
dotDotDash: [
|
|
26973
|
+
1,
|
|
26974
|
+
2,
|
|
26975
|
+
1,
|
|
26976
|
+
2,
|
|
26977
|
+
3,
|
|
26978
|
+
2
|
|
26979
|
+
],
|
|
26980
|
+
dashDotStroked: [
|
|
26981
|
+
1,
|
|
26982
|
+
2,
|
|
26983
|
+
3,
|
|
26984
|
+
2
|
|
26985
|
+
]
|
|
26986
|
+
};
|
|
26987
|
+
function gi(e, t) {
|
|
26988
|
+
let n = hi[e];
|
|
26989
|
+
return n ? mi(n, t) : [];
|
|
26990
|
+
}
|
|
26991
|
+
var _i = {
|
|
26992
|
+
hair: [1, 1],
|
|
26993
|
+
dashed: [4, 3],
|
|
26994
|
+
mediumDashed: [4, 3],
|
|
26995
|
+
dotted: [2, 2],
|
|
26996
|
+
dashDot: [
|
|
26997
|
+
4,
|
|
26998
|
+
2,
|
|
26999
|
+
1,
|
|
27000
|
+
2
|
|
27001
|
+
],
|
|
27002
|
+
mediumDashDot: [
|
|
27003
|
+
4,
|
|
27004
|
+
2,
|
|
27005
|
+
1,
|
|
27006
|
+
2
|
|
27007
|
+
],
|
|
27008
|
+
dashDotDot: [
|
|
27009
|
+
4,
|
|
27010
|
+
2,
|
|
27011
|
+
1,
|
|
27012
|
+
2,
|
|
27013
|
+
1,
|
|
27014
|
+
2
|
|
27015
|
+
],
|
|
27016
|
+
mediumDashDotDot: [
|
|
27017
|
+
4,
|
|
27018
|
+
2,
|
|
27019
|
+
1,
|
|
27020
|
+
2,
|
|
27021
|
+
1,
|
|
27022
|
+
2
|
|
27023
|
+
],
|
|
27024
|
+
slantDashDot: [
|
|
27025
|
+
5,
|
|
27026
|
+
3,
|
|
27027
|
+
1,
|
|
27028
|
+
3
|
|
27029
|
+
]
|
|
27030
|
+
};
|
|
27031
|
+
function vi(e) {
|
|
27032
|
+
let t = _i[e];
|
|
27033
|
+
return t ? mi(t, 1) : [];
|
|
27034
|
+
}
|
|
27035
|
+
var yi = {
|
|
27036
|
+
dotted: [1.5, 3],
|
|
27037
|
+
dottedHeavy: [1.5, 3],
|
|
27038
|
+
dash: [6, 3],
|
|
27039
|
+
dashHeavy: [6, 3],
|
|
27040
|
+
dashLong: [10, 4],
|
|
27041
|
+
dashLongHeavy: [10, 4],
|
|
27042
|
+
dotDash: [
|
|
27043
|
+
6,
|
|
27044
|
+
3,
|
|
27045
|
+
1.5,
|
|
27046
|
+
3
|
|
27047
|
+
],
|
|
27048
|
+
dotDashHeavy: [
|
|
27049
|
+
6,
|
|
27050
|
+
3,
|
|
27051
|
+
1.5,
|
|
27052
|
+
3
|
|
27053
|
+
],
|
|
27054
|
+
dotDotDash: [
|
|
27055
|
+
6,
|
|
27056
|
+
3,
|
|
27057
|
+
1.5,
|
|
27058
|
+
3,
|
|
27059
|
+
1.5,
|
|
27060
|
+
3
|
|
27061
|
+
],
|
|
27062
|
+
dotDotDashHeavy: [
|
|
27063
|
+
6,
|
|
27064
|
+
3,
|
|
27065
|
+
1.5,
|
|
27066
|
+
3,
|
|
27067
|
+
1.5,
|
|
27068
|
+
3
|
|
27069
|
+
]
|
|
27070
|
+
};
|
|
27071
|
+
function bi(e, t) {
|
|
27072
|
+
let n = yi[e];
|
|
27073
|
+
return n ? mi(n, t) : [];
|
|
27074
|
+
}
|
|
27075
|
+
//#endregion
|
|
27076
|
+
//#region packages/core/src/draw/double-border.ts
|
|
27077
|
+
function xi(e, t) {
|
|
27078
|
+
let n = Math.max(1, Math.round(e * t / 3)), r = Math.max(1, Math.round(e * t / 3));
|
|
27079
|
+
return {
|
|
27080
|
+
railDev: n,
|
|
27081
|
+
gapDev: r,
|
|
27082
|
+
spanDev: 2 * n + r
|
|
27083
|
+
};
|
|
27084
|
+
}
|
|
27085
|
+
function Si(e, t, n, r, i, a, o) {
|
|
27086
|
+
let { railDev: s, gapDev: c, spanDev: l } = xi(a, o);
|
|
27087
|
+
if (n === i) {
|
|
27088
|
+
let i = Math.round(n * o - l / 2);
|
|
27089
|
+
e.fillRect(t, i / o, r - t, s / o), e.fillRect(t, (i + s + c) / o, r - t, s / o);
|
|
27090
|
+
} else {
|
|
27091
|
+
let r = Math.round(t * o - l / 2);
|
|
27092
|
+
e.fillRect(r / o, n, s / o, i - n), e.fillRect((r + s + c) / o, n, s / o, i - n);
|
|
27093
|
+
}
|
|
27094
|
+
}
|
|
27095
|
+
//#endregion
|
|
25832
27096
|
//#region packages/core/src/worker/bridge.ts
|
|
25833
|
-
var
|
|
27097
|
+
var Ci = class {
|
|
25834
27098
|
_worker;
|
|
25835
27099
|
_opts;
|
|
25836
27100
|
_pending = /* @__PURE__ */ new Map();
|
|
@@ -25870,7 +27134,7 @@ var Ln = class {
|
|
|
25870
27134
|
for (let e of this._pending.values()) e.reject(/* @__PURE__ */ Error("Worker terminated"));
|
|
25871
27135
|
this._pending.clear();
|
|
25872
27136
|
}
|
|
25873
|
-
},
|
|
27137
|
+
}, wi = [
|
|
25874
27138
|
"L",
|
|
25875
27139
|
"R",
|
|
25876
27140
|
"AL",
|
|
@@ -25894,7 +27158,7 @@ var Ln = class {
|
|
|
25894
27158
|
"RLI",
|
|
25895
27159
|
"FSI",
|
|
25896
27160
|
"PDI"
|
|
25897
|
-
],
|
|
27161
|
+
], Ti = [
|
|
25898
27162
|
0,
|
|
25899
27163
|
9,
|
|
25900
27164
|
10,
|
|
@@ -27162,7 +28426,7 @@ var Ln = class {
|
|
|
27162
28426
|
1048574,
|
|
27163
28427
|
1048576,
|
|
27164
28428
|
1114110
|
|
27165
|
-
],
|
|
28429
|
+
], Ei = [
|
|
27166
28430
|
9,
|
|
27167
28431
|
11,
|
|
27168
28432
|
10,
|
|
@@ -28430,7 +29694,7 @@ var Ln = class {
|
|
|
28430
29694
|
9,
|
|
28431
29695
|
0,
|
|
28432
29696
|
9
|
|
28433
|
-
],
|
|
29697
|
+
], Di = [
|
|
28434
29698
|
40,
|
|
28435
29699
|
41,
|
|
28436
29700
|
41,
|
|
@@ -29287,7 +30551,7 @@ var Ln = class {
|
|
|
29287
30551
|
65379,
|
|
29288
30552
|
65379,
|
|
29289
30553
|
65378
|
|
29290
|
-
],
|
|
30554
|
+
], Oi = [
|
|
29291
30555
|
40,
|
|
29292
30556
|
41,
|
|
29293
30557
|
0,
|
|
@@ -29675,42 +30939,42 @@ var Ln = class {
|
|
|
29675
30939
|
];
|
|
29676
30940
|
//#endregion
|
|
29677
30941
|
//#region packages/core/src/text/bidi/char-data.ts
|
|
29678
|
-
function
|
|
29679
|
-
let t = 0, n =
|
|
30942
|
+
function ki(e) {
|
|
30943
|
+
let t = 0, n = Ti.length - 1;
|
|
29680
30944
|
for (; t < n;) {
|
|
29681
30945
|
let r = t + n + 1 >> 1;
|
|
29682
|
-
|
|
30946
|
+
Ti[r] <= e ? t = r : n = r - 1;
|
|
29683
30947
|
}
|
|
29684
|
-
return
|
|
30948
|
+
return Ei[t];
|
|
29685
30949
|
}
|
|
29686
|
-
function
|
|
29687
|
-
return
|
|
30950
|
+
function Ai(e) {
|
|
30951
|
+
return wi[ki(e)];
|
|
29688
30952
|
}
|
|
29689
|
-
var
|
|
30953
|
+
var ji = (() => {
|
|
29690
30954
|
let e = /* @__PURE__ */ new Map();
|
|
29691
|
-
for (let t = 0; t <
|
|
30955
|
+
for (let t = 0; t < Di.length; t += 2) e.set(Di[t], Di[t + 1]);
|
|
29692
30956
|
return e;
|
|
29693
30957
|
})();
|
|
29694
|
-
function
|
|
29695
|
-
return
|
|
30958
|
+
function Mi(e) {
|
|
30959
|
+
return ji.get(e) ?? null;
|
|
29696
30960
|
}
|
|
29697
|
-
var
|
|
30961
|
+
var Ni = (() => {
|
|
29698
30962
|
let e = /* @__PURE__ */ new Map();
|
|
29699
|
-
for (let t = 0; t <
|
|
29700
|
-
pair:
|
|
29701
|
-
type:
|
|
30963
|
+
for (let t = 0; t < Oi.length; t += 3) e.set(Oi[t], {
|
|
30964
|
+
pair: Oi[t + 1],
|
|
30965
|
+
type: Oi[t + 2] === 0 ? "o" : "c"
|
|
29702
30966
|
});
|
|
29703
30967
|
return e;
|
|
29704
30968
|
})();
|
|
29705
|
-
function
|
|
29706
|
-
return
|
|
30969
|
+
function Pi(e) {
|
|
30970
|
+
return Ni.get(e) ?? null;
|
|
29707
30971
|
}
|
|
29708
|
-
var
|
|
29709
|
-
function
|
|
30972
|
+
var Fi = (e) => e === "RLE" || e === "LRE" || e === "RLO" || e === "LRO" || e === "PDF" || e === "BN", Ii = (e) => e === "LRI" || e === "RLI" || e === "FSI", Li = (e) => e === "B" || e === "S" || e === "WS" || e === "ON" || e === "FSI" || e === "LRI" || e === "RLI" || e === "PDI", Ri = (e) => e & 1 ? e + 2 : e + 1, zi = (e) => e & 1 ? e + 1 : e + 2;
|
|
30973
|
+
function Bi(e, t, n) {
|
|
29710
30974
|
let r = 0;
|
|
29711
30975
|
for (let i = t; i < n; i++) {
|
|
29712
30976
|
let t = e[i];
|
|
29713
|
-
if (
|
|
30977
|
+
if (Ii(t)) r++;
|
|
29714
30978
|
else if (t === "PDI") r > 0 && r--;
|
|
29715
30979
|
else if (r === 0) {
|
|
29716
30980
|
if (t === "L") return 0;
|
|
@@ -29719,11 +30983,11 @@ function er(e, t, n) {
|
|
|
29719
30983
|
}
|
|
29720
30984
|
return 0;
|
|
29721
30985
|
}
|
|
29722
|
-
function
|
|
30986
|
+
function Vi(e) {
|
|
29723
30987
|
let t = e.length, n = new Int32Array(t).fill(t), r = new Int32Array(t).fill(-1), i = [];
|
|
29724
30988
|
for (let a = 0; a < t; a++) {
|
|
29725
30989
|
let t = e[a];
|
|
29726
|
-
if (
|
|
30990
|
+
if (Ii(t)) i.push(a);
|
|
29727
30991
|
else if (t === "PDI" && i.length) {
|
|
29728
30992
|
let e = i.pop();
|
|
29729
30993
|
n[e] = a, r[a] = e;
|
|
@@ -29734,7 +30998,7 @@ function tr(e) {
|
|
|
29734
30998
|
initOf: r
|
|
29735
30999
|
};
|
|
29736
31000
|
}
|
|
29737
|
-
function
|
|
31001
|
+
function Hi(e, t, n) {
|
|
29738
31002
|
let r = e.length, i = Array(r).fill(t), a = e.slice(), o = [{
|
|
29739
31003
|
level: t,
|
|
29740
31004
|
override: "neutral",
|
|
@@ -29748,7 +31012,7 @@ function nr(e, t, n) {
|
|
|
29748
31012
|
case "RLO":
|
|
29749
31013
|
case "LRO": {
|
|
29750
31014
|
i[d] = u().level;
|
|
29751
|
-
let e = r === "RLE" || r === "RLO" ?
|
|
31015
|
+
let e = r === "RLE" || r === "RLO" ? Ri(u().level) : zi(u().level);
|
|
29752
31016
|
e <= 125 && s === 0 && c === 0 ? o.push({
|
|
29753
31017
|
level: e,
|
|
29754
31018
|
override: r === "RLO" ? "R" : r === "LRO" ? "L" : "neutral",
|
|
@@ -29763,8 +31027,8 @@ function nr(e, t, n) {
|
|
|
29763
31027
|
let t = u().override;
|
|
29764
31028
|
t !== "neutral" && (a[d] = t);
|
|
29765
31029
|
let f;
|
|
29766
|
-
f = r === "RLI" ? "R" : r === "LRI" ? "L" :
|
|
29767
|
-
let p = f === "R" ?
|
|
31030
|
+
f = r === "RLI" ? "R" : r === "LRI" ? "L" : Bi(e, d + 1, n[d]) === 1 ? "R" : "L";
|
|
31031
|
+
let p = f === "R" ? Ri(u().level) : zi(u().level);
|
|
29768
31032
|
p <= 125 && s === 0 && c === 0 ? (l++, o.push({
|
|
29769
31033
|
level: p,
|
|
29770
31034
|
override: "neutral",
|
|
@@ -29806,10 +31070,10 @@ function nr(e, t, n) {
|
|
|
29806
31070
|
types: a
|
|
29807
31071
|
};
|
|
29808
31072
|
}
|
|
29809
|
-
function
|
|
31073
|
+
function Ui(e) {
|
|
29810
31074
|
return e === 9001 ? 12296 : e === 9002 ? 12297 : e;
|
|
29811
31075
|
}
|
|
29812
|
-
function
|
|
31076
|
+
function Wi(e, t, n, r, i, a) {
|
|
29813
31077
|
let o = e.length, s = [];
|
|
29814
31078
|
for (let e = 0; e < o; e++) n[e] || s.push(e);
|
|
29815
31079
|
let c = [];
|
|
@@ -29827,7 +31091,7 @@ function ir(e, t, n, r, i, a) {
|
|
|
29827
31091
|
for (;;) {
|
|
29828
31092
|
for (let e of p) f.push(e);
|
|
29829
31093
|
let t = p[p.length - 1];
|
|
29830
|
-
if (
|
|
31094
|
+
if (Ii(e[t]) && i[t] !== o) {
|
|
29831
31095
|
let e = l.get(i[t]);
|
|
29832
31096
|
if (e) {
|
|
29833
31097
|
p = e;
|
|
@@ -29842,7 +31106,7 @@ function ir(e, t, n, r, i, a) {
|
|
|
29842
31106
|
break;
|
|
29843
31107
|
}
|
|
29844
31108
|
let g = u(Math.max(m, h)), _ = f[f.length - 1], v = r;
|
|
29845
|
-
if (!(
|
|
31109
|
+
if (!(Ii(e[_]) && i[_] === o)) {
|
|
29846
31110
|
for (let e = _ + 1; e < o; e++) if (!n[e]) {
|
|
29847
31111
|
v = t[e];
|
|
29848
31112
|
break;
|
|
@@ -29858,8 +31122,8 @@ function ir(e, t, n, r, i, a) {
|
|
|
29858
31122
|
}
|
|
29859
31123
|
return d;
|
|
29860
31124
|
}
|
|
29861
|
-
var
|
|
29862
|
-
function
|
|
31125
|
+
var Gi = (e) => e === "L" ? "L" : e === "R" || e === "EN" || e === "AN" ? "R" : null;
|
|
31126
|
+
function Ki(e, t, n, r, i) {
|
|
29863
31127
|
let a = e.indices, o = a.length, { sos: s, eos: c, level: l } = e;
|
|
29864
31128
|
for (let e = 0; e < o; e++) {
|
|
29865
31129
|
let t = a[e];
|
|
@@ -29906,15 +31170,15 @@ function or(e, t, n, r, i) {
|
|
|
29906
31170
|
outer: for (let n = 0; n < o; n++) {
|
|
29907
31171
|
let i = a[n];
|
|
29908
31172
|
if (r[i] !== "ON") continue;
|
|
29909
|
-
let o =
|
|
31173
|
+
let o = Pi(t[i]);
|
|
29910
31174
|
if (o) if (o.type === "o") {
|
|
29911
31175
|
if (e.length === 63) break outer;
|
|
29912
31176
|
e.push({
|
|
29913
|
-
expect:
|
|
31177
|
+
expect: Ui(o.pair),
|
|
29914
31178
|
pos: n
|
|
29915
31179
|
});
|
|
29916
31180
|
} else {
|
|
29917
|
-
let r =
|
|
31181
|
+
let r = Ui(t[i]);
|
|
29918
31182
|
for (let t = e.length - 1; t >= 0; t--) if (e[t].expect === r) {
|
|
29919
31183
|
f.push({
|
|
29920
31184
|
open: e[t].pos,
|
|
@@ -29932,7 +31196,7 @@ function or(e, t, n, r, i) {
|
|
|
29932
31196
|
for (let { open: e, close: t } of f) {
|
|
29933
31197
|
let n = !1, i = !1;
|
|
29934
31198
|
for (let o = e + 1; o < t; o++) {
|
|
29935
|
-
let e =
|
|
31199
|
+
let e = Gi(r[a[o]]);
|
|
29936
31200
|
e === u ? n = !0 : e === d && (i = !0);
|
|
29937
31201
|
}
|
|
29938
31202
|
let o = null;
|
|
@@ -29940,7 +31204,7 @@ function or(e, t, n, r, i) {
|
|
|
29940
31204
|
else if (i) {
|
|
29941
31205
|
let t = s;
|
|
29942
31206
|
for (let n = e - 1; n >= 0; n--) {
|
|
29943
|
-
let e =
|
|
31207
|
+
let e = Gi(r[a[n]]);
|
|
29944
31208
|
if (e) {
|
|
29945
31209
|
t = e;
|
|
29946
31210
|
break;
|
|
@@ -29951,29 +31215,29 @@ function or(e, t, n, r, i) {
|
|
|
29951
31215
|
o && (r[a[e]] = o, r[a[t]] = o, p(e, o), p(t, o));
|
|
29952
31216
|
}
|
|
29953
31217
|
for (let e = 0; e < o; e++) {
|
|
29954
|
-
if (!
|
|
31218
|
+
if (!Li(r[a[e]])) continue;
|
|
29955
31219
|
let t = e;
|
|
29956
|
-
for (; t < o &&
|
|
29957
|
-
let n = e > 0 ?
|
|
31220
|
+
for (; t < o && Li(r[a[t]]);) t++;
|
|
31221
|
+
let n = e > 0 ? Gi(r[a[e - 1]]) : s, i = t < o ? Gi(r[a[t]]) : c;
|
|
29958
31222
|
if (n && i && n === i) for (let i = e; i < t; i++) r[a[i]] = n;
|
|
29959
31223
|
e = t - 1;
|
|
29960
31224
|
}
|
|
29961
|
-
for (let e = 0; e < o; e++)
|
|
31225
|
+
for (let e = 0; e < o; e++) Li(r[a[e]]) && (r[a[e]] = u);
|
|
29962
31226
|
for (let e = 0; e < o; e++) {
|
|
29963
31227
|
let t = a[e], n = r[t];
|
|
29964
31228
|
l & 1 ? (n === "L" || n === "EN" || n === "AN") && (i[t] += 1) : n === "R" ? i[t] += 1 : (n === "AN" || n === "EN") && (i[t] += 2);
|
|
29965
31229
|
}
|
|
29966
31230
|
}
|
|
29967
|
-
function
|
|
31231
|
+
function qi(e, t, n) {
|
|
29968
31232
|
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)
|
|
31233
|
+
for (let t = 0; t < r; t++) i[t] = n?.[t] ?? Ai(e[t]);
|
|
31234
|
+
let a = t === "rtl" ? 1 : t === "ltr" ? 0 : Bi(i, 0, r), { pdiOf: o, initOf: s } = Vi(i), { levels: c, types: l } = Hi(i, a, o), u = Array(r);
|
|
31235
|
+
for (let e = 0; e < r; e++) u[e] = Fi(i[e]);
|
|
31236
|
+
let d = Wi(i, c, u, a, o, s), f = l.slice();
|
|
31237
|
+
for (let t of d) Ki(t, e, i, f, c);
|
|
29974
31238
|
let p = (e) => {
|
|
29975
31239
|
let t = i[e];
|
|
29976
|
-
return t === "WS" ||
|
|
31240
|
+
return t === "WS" || Ii(t) || t === "PDI" || u[e];
|
|
29977
31241
|
};
|
|
29978
31242
|
for (let e = 0; e < r; e++) {
|
|
29979
31243
|
let t = i[e];
|
|
@@ -29989,7 +31253,7 @@ function sr(e, t, n) {
|
|
|
29989
31253
|
paragraphLevel: a
|
|
29990
31254
|
};
|
|
29991
31255
|
}
|
|
29992
|
-
function
|
|
31256
|
+
function Ji(e, t, n) {
|
|
29993
31257
|
let r = [];
|
|
29994
31258
|
for (let i = t; i < n; i++) {
|
|
29995
31259
|
let t = e[i];
|
|
@@ -30017,7 +31281,7 @@ function cr(e, t, n) {
|
|
|
30017
31281
|
}
|
|
30018
31282
|
//#endregion
|
|
30019
31283
|
//#region packages/core/src/text/bidi/uax9/index.ts
|
|
30020
|
-
function
|
|
31284
|
+
function Yi(e) {
|
|
30021
31285
|
let t = [], n = [], r = [];
|
|
30022
31286
|
for (let i = 0; i < e.length;) {
|
|
30023
31287
|
let a = e.codePointAt(i), o = a > 65535 ? 2 : 1;
|
|
@@ -30029,9 +31293,9 @@ function lr(e) {
|
|
|
30029
31293
|
starts: r
|
|
30030
31294
|
};
|
|
30031
31295
|
}
|
|
30032
|
-
var
|
|
31296
|
+
var Xi = class {
|
|
30033
31297
|
computeLevels(e, t, n) {
|
|
30034
|
-
let { cps: r, units: i, starts: a } =
|
|
31298
|
+
let { cps: r, units: i, starts: a } = Yi(e), { levels: o, paragraphLevel: s } = qi(r, t, n ? r.map((e, t) => n[a[t]] ?? null) : void 0), c = new Uint8Array(e.length), l = 0;
|
|
30035
31299
|
for (let e = 0; e < o.length; e++) {
|
|
30036
31300
|
let t = o[e] === -1 ? 255 : o[e];
|
|
30037
31301
|
for (let n = 0; n < i[e]; n++) c[l++] = t;
|
|
@@ -30042,51 +31306,51 @@ var ur = class {
|
|
|
30042
31306
|
};
|
|
30043
31307
|
}
|
|
30044
31308
|
reorderVisual(e, t, n) {
|
|
30045
|
-
return
|
|
31309
|
+
return Ji(e, t, n);
|
|
30046
31310
|
}
|
|
30047
31311
|
getMirror(e) {
|
|
30048
|
-
return
|
|
31312
|
+
return Mi(e);
|
|
30049
31313
|
}
|
|
30050
31314
|
};
|
|
30051
|
-
function
|
|
30052
|
-
return new
|
|
31315
|
+
function Zi() {
|
|
31316
|
+
return new Xi();
|
|
30053
31317
|
}
|
|
30054
31318
|
//#endregion
|
|
30055
31319
|
//#region packages/core/src/text/bidi/engine.ts
|
|
30056
|
-
var
|
|
30057
|
-
function
|
|
30058
|
-
return
|
|
31320
|
+
var Qi = null;
|
|
31321
|
+
function $i() {
|
|
31322
|
+
return Qi === null && (Qi = Zi()), Qi;
|
|
30059
31323
|
}
|
|
30060
31324
|
//#endregion
|
|
30061
31325
|
//#region packages/core/src/text/bidi/segments.ts
|
|
30062
|
-
function
|
|
30063
|
-
return e === !0 ? "rtl" : e === !1 ? "ltr" :
|
|
31326
|
+
function ea(e, t) {
|
|
31327
|
+
return e === !0 ? "rtl" : e === !1 ? "ltr" : $i().computeLevels(t, "auto").paragraphLevel === 1 ? "rtl" : "ltr";
|
|
30064
31328
|
}
|
|
30065
31329
|
//#endregion
|
|
30066
31330
|
//#region packages/core/src/text/kinsoku/rules.ts
|
|
30067
|
-
var
|
|
30068
|
-
function
|
|
31331
|
+
var ta = "”’)〕]}〉》」』】〙〗〟⦆»、。,.・:;/?!‐ー゠–〜~ぁぃぅぇぉっゃゅょゎゕゖァィゥェォッャュョヮヵヶㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ゝゞヽヾ゛゜%‰℃°′″。」、・ー゙゚!),.:;?]}⦆", na = "“‘(〔[{〈《「『【〘〖〝⦅«$¥#£¢([{⦅";
|
|
31332
|
+
function ra(e) {
|
|
30069
31333
|
let t = /* @__PURE__ */ new Set();
|
|
30070
31334
|
for (let n of e) t.add(n.codePointAt(0));
|
|
30071
31335
|
return t;
|
|
30072
31336
|
}
|
|
30073
|
-
function
|
|
31337
|
+
function ia(e) {
|
|
30074
31338
|
return {
|
|
30075
31339
|
enabled: e?.kinsoku !== !1,
|
|
30076
|
-
lineStartForbidden:
|
|
30077
|
-
lineEndForbidden:
|
|
31340
|
+
lineStartForbidden: ra(e?.noLineBreaksBefore ?? ta),
|
|
31341
|
+
lineEndForbidden: ra(e?.noLineBreaksAfter ?? na)
|
|
30078
31342
|
};
|
|
30079
31343
|
}
|
|
30080
|
-
var
|
|
31344
|
+
var aa = ia();
|
|
30081
31345
|
//#endregion
|
|
30082
31346
|
//#region packages/core/src/text/kinsoku/split.ts
|
|
30083
|
-
function
|
|
31347
|
+
function oa(e, t, n, r = 1) {
|
|
30084
31348
|
if (!n.enabled || t <= 0 || t >= e.length) return t;
|
|
30085
31349
|
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
31350
|
for (; o > r && (i(o) || a(o - 1));) o--;
|
|
30087
31351
|
return o <= r && (i(o) || a(o - 1)) ? t : o;
|
|
30088
31352
|
}
|
|
30089
|
-
function
|
|
31353
|
+
function sa(e, t, n) {
|
|
30090
31354
|
if (!t.enabled) return 0;
|
|
30091
31355
|
let r = e.length - n;
|
|
30092
31356
|
for (let n = 1; n <= r; n++) {
|
|
@@ -30099,12 +31363,12 @@ function xr(e, t, n) {
|
|
|
30099
31363
|
}
|
|
30100
31364
|
//#endregion
|
|
30101
31365
|
//#region packages/core/src/text/cjk-ranges.ts
|
|
30102
|
-
function
|
|
31366
|
+
function ca(e) {
|
|
30103
31367
|
return e >= 12288 && e <= 40959 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65280 && e <= 65519;
|
|
30104
31368
|
}
|
|
30105
31369
|
//#endregion
|
|
30106
31370
|
//#region packages/core/src/text/highlight-box.ts
|
|
30107
|
-
function
|
|
31371
|
+
function la(e, t) {
|
|
30108
31372
|
return {
|
|
30109
31373
|
top: e - t * .85,
|
|
30110
31374
|
height: t * 1.1
|
|
@@ -30112,10 +31376,10 @@ function Cr(e, t) {
|
|
|
30112
31376
|
}
|
|
30113
31377
|
//#endregion
|
|
30114
31378
|
//#region packages/core/src/text/line-distribute.ts
|
|
30115
|
-
var
|
|
30116
|
-
function
|
|
31379
|
+
var ua = (e) => e === 32 || e === 12288;
|
|
31380
|
+
function da(e, t, n = {}) {
|
|
30117
31381
|
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 ??
|
|
31382
|
+
let r = n.firstContentSi ?? 0, i = n.lastDrawnSi ?? e.length - 1, a = n.minPerGap ?? -Infinity, o = n.isGapChar ?? ca, s = n.isWhitespace ?? ua, c = [];
|
|
30119
31383
|
for (let t = r; t < e.length; t++) {
|
|
30120
31384
|
let n = e[t];
|
|
30121
31385
|
if (n === void 0) continue;
|
|
@@ -30178,7 +31442,7 @@ function Tr(e, t, n = {}) {
|
|
|
30178
31442
|
}
|
|
30179
31443
|
//#endregion
|
|
30180
31444
|
//#region packages/core/src/text/justify-positions.ts
|
|
30181
|
-
function
|
|
31445
|
+
function fa(e, t, n, r, i = 0) {
|
|
30182
31446
|
let a = [], o = 0, s = 0;
|
|
30183
31447
|
for (let c of t) a.push({
|
|
30184
31448
|
text: e.slice(o, c).join(""),
|
|
@@ -30190,4 +31454,4 @@ function Er(e, t, n, r, i = 0) {
|
|
|
30190
31454
|
}), a;
|
|
30191
31455
|
}
|
|
30192
31456
|
//#endregion
|
|
30193
|
-
export {
|
|
31457
|
+
export { N as $, Bn as A, ct as B, kr as C, tr as D, ur as E, Fn as F, Ue as G, nt as H, kn as I, oe as J, He as K, Pn as L, Vn as M, Rn as N, $n as O, An as P, M as Q, xn as R, zr as S, cr as T, Qe as U, rt as V, We as W, se as X, U as Y, j as Z, fi as _, sa as a, h as at, Br as b, ia as c, l as ct, Ci as d, s as dt, C as et, Si as f, t as ft, pi as g, vi as h, ca as i, p as it, Hn as j, er as k, ea as l, u as lt, bi as m, da as n, w as nt, oa as o, d as ot, gi as p, K as q, la as r, f as rt, aa as s, c as st, fa as t, S as tt, $i as u, g as ut, di as v, Fr as w, Rr as x, ui as y, lt as z };
|