nhanh-pure-function 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Browser/index.d.ts +26 -1
- package/dist/Constant.d.ts +171 -0
- package/dist/Element/index.d.ts +11 -3
- package/dist/Utility/index.d.ts +1 -1
- package/dist/Valid/index.d.ts +2 -2
- package/dist/Valid/type.d.ts +2 -0
- package/dist/index.cjs.js +3 -3
- package/dist/index.es.js +872 -700
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,210 +1,107 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".
|
|
2
|
-
var
|
|
3
|
-
var
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".no-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
|
|
2
|
+
var at = Object.defineProperty;
|
|
3
|
+
var et = (n) => {
|
|
4
4
|
throw TypeError(n);
|
|
5
5
|
};
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
let
|
|
11
|
-
function o(
|
|
12
|
-
if (!
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
n(
|
|
6
|
+
var lt = (n, e, t) => e in n ? at(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
|
|
7
|
+
var C = (n, e, t) => lt(n, typeof e != "symbol" ? e + "" : e, t), nt = (n, e, t) => e.has(n) || et("Cannot " + t);
|
|
8
|
+
var u = (n, e, t) => (nt(n, e, "read from private field"), t ? t.call(n) : e.get(n)), f = (n, e, t) => e.has(n) ? et("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(n) : e.set(n, t), m = (n, e, t, i) => (nt(n, e, "write to private field"), i ? i.call(n, t) : e.set(n, t), t);
|
|
9
|
+
function _t(n, e = 500) {
|
|
10
|
+
let t, i = !0;
|
|
11
|
+
function o(r) {
|
|
12
|
+
if (!i) return;
|
|
13
|
+
t || (t = r);
|
|
14
|
+
let c = Math.min((r - t) / e, 1);
|
|
15
|
+
n(c), r - t < e && requestAnimationFrame(o);
|
|
16
16
|
}
|
|
17
|
-
return requestAnimationFrame(o), () =>
|
|
17
|
+
return requestAnimationFrame(o), () => i = !1;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
let
|
|
19
|
+
function Et(n, e, t, i, o = 2) {
|
|
20
|
+
let r = n, c = !1, s = 1, a = n, l = e, h = t;
|
|
21
21
|
const d = () => {
|
|
22
|
-
const
|
|
23
|
-
return Number(
|
|
22
|
+
const v = (l - a) / h;
|
|
23
|
+
return Number(v.toFixed(o));
|
|
24
24
|
};
|
|
25
|
-
let
|
|
26
|
-
const y = (
|
|
27
|
-
const
|
|
28
|
-
return
|
|
29
|
-
}, k = (
|
|
30
|
-
const
|
|
31
|
-
return
|
|
25
|
+
let p = d();
|
|
26
|
+
const y = (v) => Math.min(Math.max(v, a), l), w = (v) => Number(v.toFixed(o)), P = (v, W, G) => {
|
|
27
|
+
const I = [];
|
|
28
|
+
return v >= W && I.push("最小值必须小于最大值"), G <= 0 ? I.push("分段数必须为正数") : d() == 0 && I.push("数值精度过低,致使动画步长为 0"), I;
|
|
29
|
+
}, k = (v, W, G) => {
|
|
30
|
+
const I = P(v, W, G);
|
|
31
|
+
return I.length > 0 ? (console.error(`参数更新失败: ${I.join("; ")}`), !1) : (a = v, l = W, h = G, p = d(), r = y(r), !0);
|
|
32
32
|
}, H = () => {
|
|
33
|
-
|
|
33
|
+
c && (s = r >= l ? -1 : r <= a ? 1 : s, r = y(r + p * s), i(w(r)), requestAnimationFrame(H));
|
|
34
34
|
};
|
|
35
35
|
return {
|
|
36
36
|
/** 启动/继续动画 */
|
|
37
|
-
play(
|
|
38
|
-
if (
|
|
37
|
+
play(v = r) {
|
|
38
|
+
if (r = y(v), P(a, l, h).length)
|
|
39
39
|
return console.error("配置参数错误", this.getParams());
|
|
40
|
-
|
|
40
|
+
c || (c = !0, H());
|
|
41
41
|
},
|
|
42
42
|
/** 暂停动画 */
|
|
43
43
|
pause() {
|
|
44
|
-
|
|
44
|
+
c = !1;
|
|
45
45
|
},
|
|
46
46
|
/** 获取当前值 */
|
|
47
|
-
getCurrent: () =>
|
|
47
|
+
getCurrent: () => w(r),
|
|
48
48
|
/** 是否正在运行 */
|
|
49
|
-
isPlaying: () =>
|
|
49
|
+
isPlaying: () => c,
|
|
50
50
|
/** 更新参数(不中断动画) */
|
|
51
51
|
updateParams: k,
|
|
52
52
|
/** 获取当前参数 */
|
|
53
|
-
getParams: () => ({ min:
|
|
53
|
+
getParams: () => ({ min: a, max: l, steps: h, precision: o, stepSize: p })
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
if (
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
60
|
-
const
|
|
56
|
+
function Mt(n, e, t, i, o = 2) {
|
|
57
|
+
if (t <= 0) return console.error("动画步数 必须为正数");
|
|
58
|
+
const r = (d) => Number(d.toFixed(o)), c = e - n, s = r(Math.abs(c) / t);
|
|
59
|
+
if (s === 0) return console.error("数值精度过低,致使动画步长为 0");
|
|
60
|
+
const a = Math.sign(c);
|
|
61
61
|
let l = n;
|
|
62
|
-
const
|
|
63
|
-
l =
|
|
62
|
+
const h = () => {
|
|
63
|
+
l = r(l + s * a), (a > 0 ? l < e : l > e) ? (i(l), requestAnimationFrame(h)) : i(e);
|
|
64
64
|
};
|
|
65
|
-
|
|
65
|
+
h();
|
|
66
66
|
}
|
|
67
|
-
function
|
|
67
|
+
function Ct(n, e = "image/png") {
|
|
68
68
|
try {
|
|
69
|
-
let
|
|
69
|
+
let t, i = e;
|
|
70
70
|
if (n instanceof File)
|
|
71
71
|
return URL.createObjectURL(n);
|
|
72
72
|
if (typeof n == "string") {
|
|
73
|
-
let
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
if (!
|
|
73
|
+
let r = n;
|
|
74
|
+
const c = r.match(/^data:([^;]*)(;base64)?,(.*)$/i);
|
|
75
|
+
if (c) {
|
|
76
|
+
if (!c[2])
|
|
77
77
|
return console.error("无效的数据 URL:缺少 base64 编码声明");
|
|
78
|
-
if (
|
|
78
|
+
if (i = c[1] || i, r = c[3], !r)
|
|
79
79
|
return console.error("数据 URL 包含空有效负载");
|
|
80
80
|
}
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
for (let
|
|
85
|
-
|
|
81
|
+
r = r.replace(/[^A-Za-z0-9+/=]/g, "");
|
|
82
|
+
const s = atob(r);
|
|
83
|
+
t = new Uint8Array(s.length);
|
|
84
|
+
for (let a = 0; a < s.length; a++)
|
|
85
|
+
t[a] = s.charCodeAt(a);
|
|
86
86
|
} else if (n instanceof ArrayBuffer)
|
|
87
|
-
|
|
87
|
+
t = new Uint8Array(n);
|
|
88
88
|
else if (n instanceof Uint8Array)
|
|
89
|
-
|
|
89
|
+
t = n;
|
|
90
90
|
else
|
|
91
91
|
return console.error(
|
|
92
92
|
"不支持的数据类型。应为 Base64 字符串、ArrayBuffer 或 Uint8Array"
|
|
93
93
|
);
|
|
94
|
-
const o = new Blob([
|
|
94
|
+
const o = new Blob([t], { type: i });
|
|
95
95
|
return URL.createObjectURL(o);
|
|
96
|
-
} catch (
|
|
96
|
+
} catch (t) {
|
|
97
97
|
return console.error(
|
|
98
98
|
"数据到 ImageURL 的转换失败:",
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
t.message,
|
|
100
|
+
t.stack || "没有可用的堆栈跟踪"
|
|
101
101
|
), null;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
let e = 0, r = t;
|
|
106
|
-
function o() {
|
|
107
|
-
if (r > 0)
|
|
108
|
-
r--, requestAnimationFrame(o);
|
|
109
|
-
else {
|
|
110
|
-
const s = (+/* @__PURE__ */ new Date() - e) / t, c = 1e3 / s;
|
|
111
|
-
n(Number(c.toFixed(2)), Number(s.toFixed(2)));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
requestAnimationFrame(() => {
|
|
115
|
-
e = +/* @__PURE__ */ new Date(), o();
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
function Ft(n) {
|
|
119
|
-
const t = () => Promise.resolve(), e = (c) => (console.error(c), Promise.reject(c));
|
|
120
|
-
function r() {
|
|
121
|
-
return navigator.clipboard.writeText(n).then(t).catch(e);
|
|
122
|
-
}
|
|
123
|
-
function o() {
|
|
124
|
-
const c = document.createElement("div");
|
|
125
|
-
c.innerText = n, document.body.appendChild(c);
|
|
126
|
-
const u = document.createRange();
|
|
127
|
-
u.selectNodeContents(c);
|
|
128
|
-
const l = window.getSelection();
|
|
129
|
-
let m = !1;
|
|
130
|
-
return l && (l.removeAllRanges(), l.addRange(u), m = document.execCommand("copy")), document.body.removeChild(c), m ? Promise.resolve() : Promise.reject();
|
|
131
|
-
}
|
|
132
|
-
function i() {
|
|
133
|
-
const c = document.createElement("textarea");
|
|
134
|
-
c.value = n, document.body.appendChild(c), c.select(), c.setSelectionRange(0, n.length);
|
|
135
|
-
let u = !1;
|
|
136
|
-
return document.activeElement === c && (u = document.execCommand("Copy", !0)), document.body.removeChild(c), u ? Promise.resolve() : Promise.reject();
|
|
137
|
-
}
|
|
138
|
-
function s() {
|
|
139
|
-
return o().then(t).catch(() => {
|
|
140
|
-
i().then(t).catch(() => e("复制方式尽皆失效"));
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
return navigator.clipboard ? r().catch(s) : s();
|
|
144
|
-
}
|
|
145
|
-
class ct {
|
|
146
|
-
/** 请使用静态方法 */
|
|
147
|
-
constructor() {
|
|
148
|
-
}
|
|
149
|
-
/** 添加已有窗口 */
|
|
150
|
-
static add(t, e) {
|
|
151
|
-
this.keys.set(t, e);
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* 根据键打开或聚焦窗口
|
|
155
|
-
* @param key 窗口的唯一键
|
|
156
|
-
* @param url 要打开的URL
|
|
157
|
-
* @param target 窗口的目标
|
|
158
|
-
* @param windowFeatures 新窗口的特性
|
|
159
|
-
* @returns 返回已打开或新打开的窗口
|
|
160
|
-
*/
|
|
161
|
-
static open(t, e, r, o) {
|
|
162
|
-
const i = this.keys.get(t);
|
|
163
|
-
if (i && !i.closed)
|
|
164
|
-
return i.focus(), i;
|
|
165
|
-
{
|
|
166
|
-
const s = window.open(e, r, o);
|
|
167
|
-
if (s)
|
|
168
|
-
return this.keys.set(t, s), s;
|
|
169
|
-
console.error("window.open failed: 可能是浏览器阻止了弹出窗口"), this.keys.delete(t);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* 检查指定键的窗口是否打开
|
|
174
|
-
* @param key 窗口的唯一键
|
|
175
|
-
* @returns 如果窗口打开则返回true,否则返回false
|
|
176
|
-
*/
|
|
177
|
-
static isOpen(t) {
|
|
178
|
-
const e = this.keys.get(t);
|
|
179
|
-
return e != null && e.closed && this.keys.delete(t), this.keys.has(t);
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* 获取与指定键关联的窗口
|
|
183
|
-
* @param key 窗口的唯一键
|
|
184
|
-
* @returns 返回对应的窗口,如果窗口已关闭则返回undefined
|
|
185
|
-
*/
|
|
186
|
-
static getWindow(t) {
|
|
187
|
-
if (this.isOpen(t)) return this.keys.get(t);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* 关闭与指定键关联的窗口
|
|
191
|
-
* @param key 窗口的唯一键
|
|
192
|
-
*/
|
|
193
|
-
static close(t) {
|
|
194
|
-
const e = this.keys.get(t);
|
|
195
|
-
e && (e.close(), this.keys.delete(t));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* 关闭所有打开的窗口并清空Map
|
|
199
|
-
*/
|
|
200
|
-
static closeAll() {
|
|
201
|
-
this.keys.forEach((t, e) => t.close()), this.keys.clear();
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// 存储键与对应窗口的Map
|
|
205
|
-
F(ct, "keys", /* @__PURE__ */ new Map());
|
|
206
|
-
const at = {
|
|
207
|
-
/* 常见扩展名映射 */
|
|
104
|
+
const ut = {
|
|
208
105
|
".mp3": "audio/mpeg",
|
|
209
106
|
".mp4": "video/mp4",
|
|
210
107
|
".m4a": "audio/mp4",
|
|
@@ -266,8 +163,7 @@ const at = {
|
|
|
266
163
|
".otf": "font/otf",
|
|
267
164
|
".eot": "application/vnd.ms-fontobject",
|
|
268
165
|
".map": "application/json"
|
|
269
|
-
|
|
270
|
-
}, K = {
|
|
166
|
+
}, Q = {
|
|
271
167
|
image: [
|
|
272
168
|
".jpg",
|
|
273
169
|
".jpeg",
|
|
@@ -447,7 +343,7 @@ const at = {
|
|
|
447
343
|
".awk",
|
|
448
344
|
".php"
|
|
449
345
|
]
|
|
450
|
-
},
|
|
346
|
+
}, it = [
|
|
451
347
|
"",
|
|
452
348
|
"万",
|
|
453
349
|
"亿",
|
|
@@ -461,130 +357,306 @@ const at = {
|
|
|
461
357
|
"正",
|
|
462
358
|
"载",
|
|
463
359
|
"极"
|
|
464
|
-
]
|
|
465
|
-
|
|
466
|
-
|
|
360
|
+
], st = {
|
|
361
|
+
// 北美标准尺寸 (毫米)
|
|
362
|
+
Letter: { width: 215.9, height: 279.4 },
|
|
363
|
+
// 8.5 × 11 英寸
|
|
364
|
+
Legal: { width: 215.9, height: 355.6 },
|
|
365
|
+
// 8.5 × 14 英寸
|
|
366
|
+
Tabloid: { width: 279.4, height: 431.8 },
|
|
367
|
+
// 11 × 17 英寸
|
|
368
|
+
Ledger: { width: 431.8, height: 279.4 },
|
|
369
|
+
// 17 × 11 英寸
|
|
370
|
+
Executive: { width: 184.2, height: 266.7 },
|
|
371
|
+
// 7.25 × 10.5 英寸
|
|
372
|
+
// 其他常见尺寸
|
|
373
|
+
Folio: { width: 215.9, height: 330.2 },
|
|
374
|
+
// 8.5 × 13 英寸
|
|
375
|
+
Quarto: { width: 215, height: 275 },
|
|
376
|
+
// 8.46 × 10.83 英寸
|
|
377
|
+
"Government-Letter": { width: 203.2, height: 266.7 },
|
|
378
|
+
// 8 × 10.5 英寸
|
|
379
|
+
// ISO A系列 (毫米)
|
|
380
|
+
A0: { width: 841, height: 1189 },
|
|
381
|
+
A1: { width: 594, height: 841 },
|
|
382
|
+
A2: { width: 420, height: 594 },
|
|
383
|
+
A3: { width: 297, height: 420 },
|
|
384
|
+
A4: { width: 210, height: 297 },
|
|
385
|
+
A5: { width: 148, height: 210 },
|
|
386
|
+
A6: { width: 105, height: 148 },
|
|
387
|
+
A7: { width: 74, height: 105 },
|
|
388
|
+
A8: { width: 52, height: 74 },
|
|
389
|
+
A9: { width: 37, height: 52 },
|
|
390
|
+
A10: { width: 26, height: 37 },
|
|
391
|
+
// ISO B系列 (毫米)
|
|
392
|
+
B0: { width: 1e3, height: 1414 },
|
|
393
|
+
B1: { width: 707, height: 1e3 },
|
|
394
|
+
B2: { width: 500, height: 707 },
|
|
395
|
+
B3: { width: 353, height: 500 },
|
|
396
|
+
B4: { width: 250, height: 353 },
|
|
397
|
+
B5: { width: 176, height: 250 },
|
|
398
|
+
B6: { width: 125, height: 176 },
|
|
399
|
+
B7: { width: 88, height: 125 },
|
|
400
|
+
B8: { width: 62, height: 88 },
|
|
401
|
+
B9: { width: 44, height: 62 },
|
|
402
|
+
B10: { width: 31, height: 44 },
|
|
403
|
+
// ISO C系列 (信封尺寸,毫米)
|
|
404
|
+
C0: { width: 917, height: 1297 },
|
|
405
|
+
C1: { width: 648, height: 917 },
|
|
406
|
+
C2: { width: 458, height: 648 },
|
|
407
|
+
C3: { width: 324, height: 458 },
|
|
408
|
+
C4: { width: 229, height: 324 },
|
|
409
|
+
C5: { width: 162, height: 229 },
|
|
410
|
+
C6: { width: 114, height: 162 },
|
|
411
|
+
C7: { width: 81, height: 114 },
|
|
412
|
+
C8: { width: 57, height: 81 }
|
|
413
|
+
};
|
|
414
|
+
Object.keys(st).map((n) => ({
|
|
415
|
+
value: n,
|
|
416
|
+
label: n
|
|
417
|
+
}));
|
|
418
|
+
function Ft(n, e = 10) {
|
|
419
|
+
let t = 0, i = e;
|
|
420
|
+
function o() {
|
|
421
|
+
if (i > 0)
|
|
422
|
+
i--, requestAnimationFrame(o);
|
|
423
|
+
else {
|
|
424
|
+
const c = (+/* @__PURE__ */ new Date() - t) / e, s = 1e3 / c;
|
|
425
|
+
n(Number(s.toFixed(2)), Number(c.toFixed(2)));
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
requestAnimationFrame(() => {
|
|
429
|
+
t = +/* @__PURE__ */ new Date(), o();
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
function Lt(n) {
|
|
433
|
+
const e = () => Promise.resolve(), t = (s) => (console.error(s), Promise.reject(s));
|
|
434
|
+
function i() {
|
|
435
|
+
return navigator.clipboard.writeText(n).then(e).catch(t);
|
|
436
|
+
}
|
|
437
|
+
function o() {
|
|
438
|
+
const s = document.createElement("div");
|
|
439
|
+
s.innerText = n, document.body.appendChild(s);
|
|
440
|
+
const a = document.createRange();
|
|
441
|
+
a.selectNodeContents(s);
|
|
442
|
+
const l = window.getSelection();
|
|
443
|
+
let h = !1;
|
|
444
|
+
return l && (l.removeAllRanges(), l.addRange(a), h = document.execCommand("copy")), document.body.removeChild(s), h ? Promise.resolve() : Promise.reject();
|
|
445
|
+
}
|
|
446
|
+
function r() {
|
|
447
|
+
const s = document.createElement("textarea");
|
|
448
|
+
s.value = n, document.body.appendChild(s), s.select(), s.setSelectionRange(0, n.length);
|
|
449
|
+
let a = !1;
|
|
450
|
+
return document.activeElement === s && (a = document.execCommand("Copy", !0)), document.body.removeChild(s), a ? Promise.resolve() : Promise.reject();
|
|
451
|
+
}
|
|
452
|
+
function c() {
|
|
453
|
+
return o().then(e).catch(() => {
|
|
454
|
+
r().then(e).catch(() => t("复制方式尽皆失效"));
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
return navigator.clipboard ? i().catch(c) : c();
|
|
467
458
|
}
|
|
468
|
-
|
|
469
|
-
|
|
459
|
+
class ht {
|
|
460
|
+
/** 请使用静态方法 */
|
|
461
|
+
constructor() {
|
|
462
|
+
}
|
|
463
|
+
/** 添加已有窗口 */
|
|
464
|
+
static add(e, t) {
|
|
465
|
+
this.keys.set(e, t);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* 根据键打开或聚焦窗口
|
|
469
|
+
* @param key 窗口的唯一键
|
|
470
|
+
* @param url 要打开的URL
|
|
471
|
+
* @param target 窗口的目标
|
|
472
|
+
* @param windowFeatures 新窗口的特性
|
|
473
|
+
* @returns 返回已打开或新打开的窗口
|
|
474
|
+
*/
|
|
475
|
+
static open(e, t, i, o) {
|
|
476
|
+
const r = this.keys.get(e);
|
|
477
|
+
if (r && !r.closed)
|
|
478
|
+
return r.focus(), r;
|
|
479
|
+
{
|
|
480
|
+
const c = window.open(t, i, o);
|
|
481
|
+
if (c)
|
|
482
|
+
return this.keys.set(e, c), c;
|
|
483
|
+
console.error("window.open failed: 可能是浏览器阻止了弹出窗口"), this.keys.delete(e);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* 检查指定键的窗口是否打开
|
|
488
|
+
* @param key 窗口的唯一键
|
|
489
|
+
* @returns 如果窗口打开则返回true,否则返回false
|
|
490
|
+
*/
|
|
491
|
+
static isOpen(e) {
|
|
492
|
+
const t = this.keys.get(e);
|
|
493
|
+
return t != null && t.closed && this.keys.delete(e), this.keys.has(e);
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* 获取与指定键关联的窗口
|
|
497
|
+
* @param key 窗口的唯一键
|
|
498
|
+
* @returns 返回对应的窗口,如果窗口已关闭则返回undefined
|
|
499
|
+
*/
|
|
500
|
+
static getWindow(e) {
|
|
501
|
+
if (this.isOpen(e)) return this.keys.get(e);
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* 关闭与指定键关联的窗口
|
|
505
|
+
* @param key 窗口的唯一键
|
|
506
|
+
*/
|
|
507
|
+
static close(e) {
|
|
508
|
+
const t = this.keys.get(e);
|
|
509
|
+
t && (t.close(), this.keys.delete(e));
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* 关闭所有打开的窗口并清空Map
|
|
513
|
+
*/
|
|
514
|
+
static closeAll() {
|
|
515
|
+
this.keys.forEach((e, t) => e.close()), this.keys.clear();
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
// 存储键与对应窗口的Map
|
|
519
|
+
C(ht, "keys", /* @__PURE__ */ new Map());
|
|
520
|
+
function Pt(n, e) {
|
|
521
|
+
const t = st[n];
|
|
522
|
+
if (!t) throw new Error(`未知纸张类型: ${n}`);
|
|
523
|
+
const { width: i, height: o } = t, r = (w) => w / 25.4, s = typeof window < "u" ? window.devicePixelRatio * 96 : 300, a = (w) => Math.round(r(w) * s), l = a(i), h = a(o), d = a(e), p = Math.max(0, l - 2 * d), y = Math.max(0, h - 2 * d);
|
|
524
|
+
return {
|
|
525
|
+
/** 内容宽度(像素) */
|
|
526
|
+
contentWidth: p,
|
|
527
|
+
/** 内容高度(像素) */
|
|
528
|
+
contentHeight: y,
|
|
529
|
+
/** 边距(像素) */
|
|
530
|
+
paddingPx: d,
|
|
531
|
+
/** 纸张宽度(像素) */
|
|
532
|
+
paperWidthPx: l,
|
|
533
|
+
/** 纸张高度(像素) */
|
|
534
|
+
paperHeightPx: h
|
|
535
|
+
};
|
|
470
536
|
}
|
|
471
537
|
function Tt(n) {
|
|
472
|
-
|
|
473
|
-
|
|
538
|
+
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
539
|
+
}
|
|
540
|
+
function At(n, e, t = 2) {
|
|
541
|
+
return !Number.isFinite(n) || !Number.isFinite(e) || !Number.isFinite(t) ? (console.error("所有参数必须是有限的数字"), "") : e === 0 ? (console.error("分母不能为零"), "") : t < 0 ? (console.error("小数位数不能为负数"), "") : (n / e * 100).toFixed(t) + "%";
|
|
474
542
|
}
|
|
475
|
-
function
|
|
476
|
-
const
|
|
543
|
+
function It(n) {
|
|
544
|
+
const t = n.toString().split("."), i = t[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
545
|
+
return t.length > 1 ? i + "." + t[1] : i;
|
|
546
|
+
}
|
|
547
|
+
function Rt(n, e) {
|
|
548
|
+
const t = {
|
|
477
549
|
join: !0,
|
|
478
550
|
suffix: "",
|
|
479
551
|
decimalPlaces: 2
|
|
480
|
-
}, { join:
|
|
481
|
-
...
|
|
482
|
-
...
|
|
483
|
-
},
|
|
484
|
-
if (isNaN(
|
|
485
|
-
const
|
|
486
|
-
return
|
|
487
|
-
}
|
|
488
|
-
function
|
|
489
|
-
const
|
|
490
|
-
let
|
|
552
|
+
}, { join: i, suffix: o, decimalPlaces: r } = {
|
|
553
|
+
...t,
|
|
554
|
+
...e || {}
|
|
555
|
+
}, c = Number(n);
|
|
556
|
+
if (isNaN(c)) return i ? `0${o}` : [0, o];
|
|
557
|
+
const s = Math.abs(c), a = c >= 0, l = Math.max(0, Math.floor(Math.log10(s) / 4)), h = Math.pow(1e4, l), d = s / h, p = (a ? 1 : -1) * parseFloat(d.toFixed(Math.max(0, r)));
|
|
558
|
+
return i ? `${p}${it[l]}${o}` : [p, it[l] + o];
|
|
559
|
+
}
|
|
560
|
+
function jt(n) {
|
|
561
|
+
const e = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
562
|
+
let t = 0;
|
|
491
563
|
for (; n > 1024; )
|
|
492
|
-
n /= 1024,
|
|
493
|
-
return `${Math.round(n * 100) / 100} ${t
|
|
564
|
+
n /= 1024, t++;
|
|
565
|
+
return `${Math.round(n * 100) / 100} ${e[t]}`;
|
|
494
566
|
}
|
|
495
|
-
function
|
|
496
|
-
const
|
|
497
|
-
if (isNaN(
|
|
567
|
+
function St(n, e = "YYYY-MM-DD hh:mm:ss", t = !0) {
|
|
568
|
+
const i = new Date(n);
|
|
569
|
+
if (isNaN(i.getTime()))
|
|
498
570
|
return console.error("Invalid date"), "";
|
|
499
571
|
const o = {
|
|
500
|
-
YYYY: (
|
|
501
|
-
MM: (
|
|
572
|
+
YYYY: (r) => r.getFullYear(),
|
|
573
|
+
MM: (r) => r.getMonth() + 1,
|
|
502
574
|
// Adjust for 0-based month
|
|
503
|
-
DD: (
|
|
504
|
-
hh: (
|
|
505
|
-
mm: (
|
|
506
|
-
ss: (
|
|
507
|
-
ms: (
|
|
575
|
+
DD: (r) => r.getDate(),
|
|
576
|
+
hh: (r) => r.getHours(),
|
|
577
|
+
mm: (r) => r.getMinutes(),
|
|
578
|
+
ss: (r) => r.getSeconds(),
|
|
579
|
+
ms: (r) => r.getMilliseconds()
|
|
508
580
|
};
|
|
509
|
-
return
|
|
510
|
-
const
|
|
511
|
-
return
|
|
581
|
+
return e.replace(/YYYY|MM|DD|hh|mm|ss|ms/g, (r) => {
|
|
582
|
+
const c = o[r](i);
|
|
583
|
+
return t ? String(c).padStart(2, "0") : String(c);
|
|
512
584
|
});
|
|
513
585
|
}
|
|
514
|
-
function J(n,
|
|
515
|
-
if (!n || (n = String(n).trim(), n === "")) return
|
|
516
|
-
const
|
|
517
|
-
return
|
|
586
|
+
function J(n, e = "file") {
|
|
587
|
+
if (!n || (n = String(n).trim(), n === "")) return e;
|
|
588
|
+
const t = n.split("/");
|
|
589
|
+
return t[t.length - 1].split("?")[0];
|
|
518
590
|
}
|
|
519
|
-
function
|
|
520
|
-
return n = n.replace(/([^a-zA-Z][a-z])/g, (
|
|
591
|
+
function Ut(n, e) {
|
|
592
|
+
return n = n.replace(/([^a-zA-Z][a-z])/g, (t) => t.toUpperCase()), e ? n.replace(/[^a-zA-Z]+/g, "") : n;
|
|
521
593
|
}
|
|
522
|
-
function
|
|
523
|
-
const
|
|
524
|
-
`(^|${
|
|
594
|
+
function kt(n, e, t = ",") {
|
|
595
|
+
const i = new RegExp(
|
|
596
|
+
`(^|${t})${e}(${t}|$)`,
|
|
525
597
|
"g"
|
|
526
598
|
);
|
|
527
|
-
return n.replace(
|
|
528
|
-
return
|
|
599
|
+
return n.replace(i, function(o, r, c) {
|
|
600
|
+
return r === c ? t : "";
|
|
529
601
|
});
|
|
530
602
|
}
|
|
531
|
-
function
|
|
603
|
+
function Dt(n) {
|
|
532
604
|
return !(n === null || typeof n != "object" || Array.isArray(n));
|
|
533
605
|
}
|
|
534
|
-
function
|
|
535
|
-
if (Array.isArray(n) && n.length >=
|
|
536
|
-
for (let
|
|
537
|
-
if (typeof n[
|
|
606
|
+
function mt(n, e = 2) {
|
|
607
|
+
if (Array.isArray(n) && n.length >= e) {
|
|
608
|
+
for (let i = 0; i < n.length; i++)
|
|
609
|
+
if (typeof n[i] != "number" || !Number.isFinite(n[i])) return !1;
|
|
538
610
|
} else return !1;
|
|
539
611
|
return !0;
|
|
540
612
|
}
|
|
541
|
-
function
|
|
542
|
-
if (Array.isArray(n) && n.length >=
|
|
613
|
+
function Ot(n, e = 1, t = 2) {
|
|
614
|
+
if (Array.isArray(n) && n.length >= e) {
|
|
543
615
|
for (let o = 0; o < n.length; o++)
|
|
544
|
-
if (!
|
|
616
|
+
if (!mt(n[o], t)) return !1;
|
|
545
617
|
} else return !1;
|
|
546
618
|
return !0;
|
|
547
619
|
}
|
|
548
|
-
function
|
|
549
|
-
return Math.abs(n -
|
|
620
|
+
function zt(n, e, t) {
|
|
621
|
+
return Math.abs(n - e) <= t;
|
|
550
622
|
}
|
|
551
|
-
function
|
|
552
|
-
let
|
|
553
|
-
const { x:
|
|
554
|
-
for (let
|
|
555
|
-
const
|
|
556
|
-
l > o != d > o &&
|
|
623
|
+
function Nt(n, e) {
|
|
624
|
+
let t = !1;
|
|
625
|
+
const { x: i, y: o } = n, r = e.length;
|
|
626
|
+
for (let c = 0, s = r - 1; c < r; s = c++) {
|
|
627
|
+
const a = e[c].x, l = e[c].y, h = e[s].x, d = e[s].y;
|
|
628
|
+
l > o != d > o && i < (h - a) * (o - l) / (d - l) + a && (t = !t);
|
|
557
629
|
}
|
|
558
|
-
return
|
|
630
|
+
return t;
|
|
559
631
|
}
|
|
560
|
-
function
|
|
561
|
-
const o = Math.min(n[0],
|
|
562
|
-
[o,
|
|
632
|
+
function Bt(n, e, t, i) {
|
|
633
|
+
const o = Math.min(n[0], e[0]), r = Math.max(n[0], e[0]), c = Math.min(n[1], e[1]), s = Math.max(n[1], e[1]), a = [
|
|
634
|
+
[o, c],
|
|
563
635
|
// 左上
|
|
564
|
-
[
|
|
636
|
+
[r, c],
|
|
565
637
|
// 右上
|
|
566
|
-
[
|
|
638
|
+
[r, s],
|
|
567
639
|
// 右下
|
|
568
|
-
[o,
|
|
640
|
+
[o, s]
|
|
569
641
|
// 左下
|
|
570
|
-
], l =
|
|
571
|
-
if (l === 0 &&
|
|
572
|
-
const [
|
|
573
|
-
return
|
|
642
|
+
], l = i[1] - t[1], h = t[0] - i[0], d = i[0] * t[1] - t[0] * i[1];
|
|
643
|
+
if (l === 0 && h === 0) {
|
|
644
|
+
const [P, k] = t;
|
|
645
|
+
return P >= o && P <= r && k >= c && k <= s;
|
|
574
646
|
}
|
|
575
|
-
const
|
|
576
|
-
let y = !1,
|
|
577
|
-
for (const [
|
|
578
|
-
const H = l *
|
|
579
|
-
if (Math.abs(H) <
|
|
647
|
+
const p = 1e-10;
|
|
648
|
+
let y = !1, w = !1;
|
|
649
|
+
for (const [P, k] of a) {
|
|
650
|
+
const H = l * P + h * k + d;
|
|
651
|
+
if (Math.abs(H) < p || (H > p ? y = !0 : w = !0, y && w))
|
|
580
652
|
return !0;
|
|
581
653
|
}
|
|
582
|
-
return y &&
|
|
654
|
+
return y && w;
|
|
583
655
|
}
|
|
584
|
-
function
|
|
585
|
-
return
|
|
656
|
+
function tt(n) {
|
|
657
|
+
return Object.prototype.toString.call(n).slice(8, -1).toLowerCase();
|
|
586
658
|
}
|
|
587
|
-
function
|
|
659
|
+
function qt(n) {
|
|
588
660
|
return [
|
|
589
661
|
"https:",
|
|
590
662
|
// HTTPS协议,用于安全地浏览网页
|
|
@@ -606,51 +678,51 @@ function Ot(n) {
|
|
|
606
678
|
// Remote Desktop Protocol,用于安全的远程桌面连接
|
|
607
679
|
"vpn:"
|
|
608
680
|
// VPN协议,用于创建安全的网络连接
|
|
609
|
-
].some((
|
|
681
|
+
].some((t) => n.startsWith(t));
|
|
610
682
|
}
|
|
611
|
-
function
|
|
612
|
-
return new Promise((
|
|
683
|
+
function $t(n) {
|
|
684
|
+
return new Promise((e, t) => {
|
|
613
685
|
if (typeof n != "string" || n.trim() === "" || !n.includes("://")) {
|
|
614
|
-
|
|
686
|
+
t(new Error("Invalid URL: Must be a non-empty string"));
|
|
615
687
|
return;
|
|
616
688
|
}
|
|
617
689
|
try {
|
|
618
690
|
new XMLHttpRequest().open("HEAD", n, !0);
|
|
619
|
-
} catch (
|
|
620
|
-
|
|
691
|
+
} catch (r) {
|
|
692
|
+
t(new Error(`Invalid URL format: ${r.message}`));
|
|
621
693
|
return;
|
|
622
694
|
}
|
|
623
|
-
const
|
|
624
|
-
|
|
625
|
-
const o = (
|
|
626
|
-
|
|
695
|
+
const i = new XMLHttpRequest();
|
|
696
|
+
i.open("HEAD", n, !0);
|
|
697
|
+
const o = (r) => {
|
|
698
|
+
t(new Error(`Request failed: ${r.type}`));
|
|
627
699
|
};
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
},
|
|
700
|
+
i.onreadystatechange = function() {
|
|
701
|
+
i.readyState === XMLHttpRequest.DONE && (i.status === 0 ? t(new Error("Network error or CORS blocked")) : i.status >= 200 && i.status < 300 ? e(!0) : t(new Error(`HTTP Error: ${i.status}`)));
|
|
702
|
+
}, i.onerror = o, i.onabort = o, i.ontimeout = o;
|
|
631
703
|
try {
|
|
632
|
-
|
|
633
|
-
} catch (
|
|
634
|
-
|
|
704
|
+
i.send();
|
|
705
|
+
} catch (r) {
|
|
706
|
+
t(new Error(`Request send failed: ${r.message}`));
|
|
635
707
|
}
|
|
636
708
|
});
|
|
637
709
|
}
|
|
638
|
-
const
|
|
710
|
+
const T = class T {
|
|
639
711
|
constructor() {
|
|
640
|
-
if (new.target ===
|
|
712
|
+
if (new.target === T)
|
|
641
713
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
642
714
|
}
|
|
643
|
-
static check(
|
|
644
|
-
if (!
|
|
645
|
-
return console.error("Invalid URL provided"),
|
|
646
|
-
const
|
|
647
|
-
if (
|
|
648
|
-
if (!
|
|
649
|
-
return console.error(`Unknown file type: ${
|
|
650
|
-
const o =
|
|
651
|
-
return
|
|
715
|
+
static check(e, t) {
|
|
716
|
+
if (!e || typeof e != "string")
|
|
717
|
+
return console.error("Invalid URL provided"), t ? !1 : "unknown";
|
|
718
|
+
const i = J(e).toLowerCase();
|
|
719
|
+
if (t) {
|
|
720
|
+
if (!Q.hasOwnProperty(t))
|
|
721
|
+
return console.error(`Unknown file type: ${t}`), "unknown";
|
|
722
|
+
const o = Q[t];
|
|
723
|
+
return T._checkExtension(i, o);
|
|
652
724
|
}
|
|
653
|
-
return
|
|
725
|
+
return T._detectFileType(i);
|
|
654
726
|
}
|
|
655
727
|
/**
|
|
656
728
|
* 静态方法,用于解析地址信息
|
|
@@ -660,10 +732,10 @@ const P = class P {
|
|
|
660
732
|
* @param {string} url - 以逗号分隔的URL字符串,每个URL代表一个资源的位置
|
|
661
733
|
* @returns {Array} - 包含每个URL及其相关信息(名称和类型)的对象数组
|
|
662
734
|
*/
|
|
663
|
-
static parseAddresses(
|
|
664
|
-
return !
|
|
665
|
-
const
|
|
666
|
-
return { url:
|
|
735
|
+
static parseAddresses(e) {
|
|
736
|
+
return !e || typeof e != "string" ? (console.error("Invalid URL provided"), []) : e.split(",").map((t) => {
|
|
737
|
+
const i = J(t), o = this.check(t);
|
|
738
|
+
return { url: t, name: i, type: o };
|
|
667
739
|
});
|
|
668
740
|
}
|
|
669
741
|
/**
|
|
@@ -672,13 +744,13 @@ const P = class P {
|
|
|
672
744
|
* @param {string} [accept] - 可接受的 MIME 类型模式(如 "image/*, text/plain")
|
|
673
745
|
* @returns {boolean} - 如果类型匹配,则返回 true,否则返回 false
|
|
674
746
|
*/
|
|
675
|
-
static matchesMimeType(
|
|
676
|
-
if (!
|
|
677
|
-
if (typeof
|
|
678
|
-
const
|
|
679
|
-
return o.some((
|
|
680
|
-
const [
|
|
681
|
-
return (
|
|
747
|
+
static matchesMimeType(e, t) {
|
|
748
|
+
if (!t) return !0;
|
|
749
|
+
if (typeof e != "string" || typeof t != "string") return !1;
|
|
750
|
+
const i = T._normalizeType(e), o = t.split(",").map((s) => T._normalizeType(s.trim())), [r, c = "*"] = i.split("/");
|
|
751
|
+
return o.some((s) => {
|
|
752
|
+
const [a, l = "*"] = s.split("/");
|
|
753
|
+
return (a === "*" || r === "*" || a === r) && (l === "*" || c === "*" || l === c);
|
|
682
754
|
});
|
|
683
755
|
}
|
|
684
756
|
/**
|
|
@@ -689,8 +761,8 @@ const P = class P {
|
|
|
689
761
|
* @param {string} type - 文件类型或MIME类型字符串
|
|
690
762
|
* @returns {string} 标准化的MIME类型字符串,如果无法识别则返回原始输入
|
|
691
763
|
*/
|
|
692
|
-
static _normalizeType(
|
|
693
|
-
return
|
|
764
|
+
static _normalizeType(e) {
|
|
765
|
+
return e.startsWith(".") && !e.includes("/") ? ut[e.toLowerCase()] || e : e.includes("/") ? e : `${e}/*`;
|
|
694
766
|
}
|
|
695
767
|
/**
|
|
696
768
|
* 检查URL是否具有任何指定的文件扩展名
|
|
@@ -698,201 +770,283 @@ const P = class P {
|
|
|
698
770
|
* @param {string[]} validExtensions - 有效文件扩展名的数组
|
|
699
771
|
* @returns {boolean} - 如果URL具有任何指定的文件扩展名,则返回true,否则返回false
|
|
700
772
|
*/
|
|
701
|
-
static _checkExtension(
|
|
702
|
-
return
|
|
773
|
+
static _checkExtension(e, t) {
|
|
774
|
+
return t.some((i) => e.endsWith(i));
|
|
703
775
|
}
|
|
704
776
|
/**
|
|
705
777
|
* 检测文件URL的类型
|
|
706
778
|
* @param {string} url - 文件的URL
|
|
707
779
|
* @returns {string} - 如果URL与任何已知类型匹配,则返回文件类型,否则返回"unknown"
|
|
708
780
|
*/
|
|
709
|
-
static _detectFileType(
|
|
710
|
-
for (const [
|
|
711
|
-
if (
|
|
712
|
-
return
|
|
781
|
+
static _detectFileType(e) {
|
|
782
|
+
for (const [t, i] of T.cachedEntries)
|
|
783
|
+
if (i.some((o) => e.endsWith(o)))
|
|
784
|
+
return t;
|
|
713
785
|
return "unknown";
|
|
714
786
|
}
|
|
715
787
|
};
|
|
716
788
|
// 缓存文件扩展名的条目,以提高性能
|
|
717
|
-
|
|
718
|
-
let
|
|
719
|
-
function
|
|
789
|
+
C(T, "cachedEntries", Object.entries(Q));
|
|
790
|
+
let rt = T;
|
|
791
|
+
function Yt(n) {
|
|
720
792
|
if (typeof n != "function")
|
|
721
793
|
return console.error("非函数:", n);
|
|
722
|
-
const
|
|
723
|
-
|
|
794
|
+
const e = function(t) {
|
|
795
|
+
t.didTimeout || t.timeRemaining() <= 0 ? requestIdleCallback(e) : n();
|
|
724
796
|
};
|
|
725
|
-
requestIdleCallback(
|
|
726
|
-
}
|
|
727
|
-
function
|
|
728
|
-
const
|
|
729
|
-
return new Promise((
|
|
730
|
-
const
|
|
731
|
-
if (+/* @__PURE__ */ new Date() -
|
|
732
|
-
if (n()) return
|
|
733
|
-
requestIdleCallback(
|
|
797
|
+
requestIdleCallback(e);
|
|
798
|
+
}
|
|
799
|
+
function Xt(n, e) {
|
|
800
|
+
const t = +/* @__PURE__ */ new Date();
|
|
801
|
+
return new Promise((i, o) => {
|
|
802
|
+
const r = () => {
|
|
803
|
+
if (+/* @__PURE__ */ new Date() - t >= e) return o("超时");
|
|
804
|
+
if (n()) return i("完成");
|
|
805
|
+
requestIdleCallback(r);
|
|
734
806
|
};
|
|
735
|
-
|
|
807
|
+
r();
|
|
736
808
|
});
|
|
737
809
|
}
|
|
738
|
-
function
|
|
739
|
-
if (
|
|
810
|
+
function ot(n, e, t = [], i = +/* @__PURE__ */ new Date()) {
|
|
811
|
+
if (i < +/* @__PURE__ */ new Date() - 50) {
|
|
740
812
|
console.error("_MergeObjects 合并异常:疑似死循环");
|
|
741
813
|
return;
|
|
742
814
|
}
|
|
743
|
-
const o =
|
|
744
|
-
if (o !=
|
|
815
|
+
const o = tt(n), r = tt(e);
|
|
816
|
+
if (o != r) return e;
|
|
745
817
|
if (o == "object" || o == "array") {
|
|
746
|
-
if (
|
|
747
|
-
if (
|
|
748
|
-
for (const
|
|
749
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
750
|
-
const
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
818
|
+
if (t.some(([c, s]) => c == n && s == e)) return n;
|
|
819
|
+
if (t.push([n, e]), o == "object") {
|
|
820
|
+
for (const c in e)
|
|
821
|
+
if (Object.prototype.hasOwnProperty.call(e, c)) {
|
|
822
|
+
const s = e[c], a = n[c], l = ot(
|
|
823
|
+
a,
|
|
824
|
+
s,
|
|
825
|
+
t,
|
|
826
|
+
i
|
|
755
827
|
);
|
|
756
|
-
n[
|
|
828
|
+
n[c] = l;
|
|
757
829
|
}
|
|
758
830
|
return n;
|
|
759
831
|
} else if (o == "array")
|
|
760
|
-
return
|
|
761
|
-
const
|
|
832
|
+
return e.forEach((c, s) => {
|
|
833
|
+
const a = c, l = n[s], h = ot(
|
|
762
834
|
l,
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
835
|
+
a,
|
|
836
|
+
t,
|
|
837
|
+
i
|
|
766
838
|
);
|
|
767
|
-
n[
|
|
839
|
+
n[s] = h;
|
|
768
840
|
}), n;
|
|
769
|
-
} else return
|
|
841
|
+
} else return e;
|
|
770
842
|
}
|
|
771
|
-
function
|
|
772
|
-
return n + "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
|
|
773
|
-
const
|
|
774
|
-
return (
|
|
843
|
+
function Ht(n = "") {
|
|
844
|
+
return n + "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
845
|
+
const t = Math.random() * 16 | 0;
|
|
846
|
+
return (e === "x" ? t : t & 3 | 8).toString(16);
|
|
775
847
|
});
|
|
776
848
|
}
|
|
777
|
-
function
|
|
778
|
-
let
|
|
779
|
-
return function(...
|
|
780
|
-
clearTimeout(
|
|
781
|
-
n(...
|
|
782
|
-
},
|
|
849
|
+
function dt(n, e) {
|
|
850
|
+
let t;
|
|
851
|
+
return function(...i) {
|
|
852
|
+
clearTimeout(t), t = setTimeout(() => {
|
|
853
|
+
n(...i), t = void 0;
|
|
854
|
+
}, e);
|
|
783
855
|
};
|
|
784
856
|
}
|
|
785
|
-
function
|
|
786
|
-
let
|
|
787
|
-
return function(...
|
|
857
|
+
function Wt(n, e) {
|
|
858
|
+
let t = -1 / 0;
|
|
859
|
+
return function(...i) {
|
|
788
860
|
const o = performance.now();
|
|
789
|
-
if (o -
|
|
790
|
-
|
|
861
|
+
if (o - t > e) {
|
|
862
|
+
t = o;
|
|
791
863
|
try {
|
|
792
|
-
n(...
|
|
793
|
-
} catch (
|
|
794
|
-
console.error("Throttled function execution failed:",
|
|
864
|
+
n(...i);
|
|
865
|
+
} catch (r) {
|
|
866
|
+
console.error("Throttled function execution failed:", r);
|
|
795
867
|
}
|
|
796
868
|
}
|
|
797
869
|
};
|
|
798
870
|
}
|
|
799
|
-
function
|
|
800
|
-
if (!n || !
|
|
801
|
-
const
|
|
802
|
-
return
|
|
871
|
+
function Gt(n, e, t) {
|
|
872
|
+
if (!n || !e) return n;
|
|
873
|
+
const i = e.split(".");
|
|
874
|
+
return i.reduce((o, r, c) => o.hasOwnProperty(r) ? o[r] : c === i.length - 1 ? o[r] = t : o[r] = {}, n);
|
|
803
875
|
}
|
|
804
|
-
function
|
|
805
|
-
if (!n || !
|
|
806
|
-
const
|
|
807
|
-
return
|
|
876
|
+
function Vt(n, e) {
|
|
877
|
+
if (!n || !e) return n;
|
|
878
|
+
const t = e.split(".");
|
|
879
|
+
return t.reduce((i, o, r) => i.hasOwnProperty(o) ? i[o] : r == t.length - 1 ? void 0 : {}, n);
|
|
808
880
|
}
|
|
809
|
-
function
|
|
810
|
-
if (!n || !
|
|
811
|
-
const
|
|
812
|
-
return
|
|
881
|
+
function Zt(n, e, t) {
|
|
882
|
+
if (!n || !e) return n;
|
|
883
|
+
const i = e.split(".");
|
|
884
|
+
return i.reduce((o, r, c) => (c === i.length - 1 && (o[r] = t), o.hasOwnProperty(r) ? o[r] : o[r] = {}), n);
|
|
813
885
|
}
|
|
814
|
-
function
|
|
815
|
-
return n.map((
|
|
886
|
+
function Kt(n) {
|
|
887
|
+
return n.map((e, t) => n.slice(t).concat(n.slice(0, t)));
|
|
816
888
|
}
|
|
817
|
-
function
|
|
818
|
-
const
|
|
889
|
+
function Qt(n) {
|
|
890
|
+
const e = window.structuredClone, t = (i, o = /* @__PURE__ */ new WeakMap()) => {
|
|
891
|
+
const r = i;
|
|
892
|
+
if (r === null || typeof r != "object")
|
|
893
|
+
return r;
|
|
894
|
+
if (o.has(r))
|
|
895
|
+
return o.get(r);
|
|
896
|
+
switch (tt(r)) {
|
|
897
|
+
case "array": {
|
|
898
|
+
const s = [];
|
|
899
|
+
o.set(r, s);
|
|
900
|
+
for (const a of r)
|
|
901
|
+
s.push(t(a, o));
|
|
902
|
+
return s;
|
|
903
|
+
}
|
|
904
|
+
case "object": {
|
|
905
|
+
if (r === null) return r;
|
|
906
|
+
const s = {};
|
|
907
|
+
o.set(r, s);
|
|
908
|
+
for (const a in r)
|
|
909
|
+
Object.prototype.hasOwnProperty.call(r, a) && (s[a] = t(r[a], o));
|
|
910
|
+
return s;
|
|
911
|
+
}
|
|
912
|
+
case "date": {
|
|
913
|
+
const s = new Date(r.getTime());
|
|
914
|
+
return o.set(r, s), s;
|
|
915
|
+
}
|
|
916
|
+
case "regexp": {
|
|
917
|
+
const s = r, a = new RegExp(s.source, s.flags);
|
|
918
|
+
return a.lastIndex = s.lastIndex, o.set(r, a), a;
|
|
919
|
+
}
|
|
920
|
+
case "map": {
|
|
921
|
+
const s = /* @__PURE__ */ new Map();
|
|
922
|
+
return o.set(r, s), r.forEach((a, l) => {
|
|
923
|
+
s.set(
|
|
924
|
+
t(l, o),
|
|
925
|
+
t(a, o)
|
|
926
|
+
);
|
|
927
|
+
}), s;
|
|
928
|
+
}
|
|
929
|
+
case "set": {
|
|
930
|
+
const s = /* @__PURE__ */ new Set();
|
|
931
|
+
return o.set(r, s), r.forEach((a) => {
|
|
932
|
+
s.add(t(a, o));
|
|
933
|
+
}), s;
|
|
934
|
+
}
|
|
935
|
+
// 处理其他可克隆对象类型
|
|
936
|
+
case "arraybuffer":
|
|
937
|
+
case "dataview":
|
|
938
|
+
case "int8array":
|
|
939
|
+
case "uint8array":
|
|
940
|
+
case "uint8clampedarray":
|
|
941
|
+
case "int16array":
|
|
942
|
+
case "uint16array":
|
|
943
|
+
case "int32array":
|
|
944
|
+
case "uint32array":
|
|
945
|
+
case "float32array":
|
|
946
|
+
case "float64array":
|
|
947
|
+
case "bigint64array":
|
|
948
|
+
case "biguint64array": {
|
|
949
|
+
const s = r, a = s.constructor, l = s.buffer.slice(
|
|
950
|
+
s.byteOffset,
|
|
951
|
+
s.byteOffset + s.byteLength
|
|
952
|
+
), h = new a(
|
|
953
|
+
l,
|
|
954
|
+
s.byteOffset,
|
|
955
|
+
s.byteLength / s.BYTES_PER_ELEMENT
|
|
956
|
+
);
|
|
957
|
+
return o.set(r, h), h;
|
|
958
|
+
}
|
|
959
|
+
// 处理特殊对象类型
|
|
960
|
+
case "error": {
|
|
961
|
+
const s = r, a = new s.constructor(s.message);
|
|
962
|
+
return a.stack = s.stack, a.name = s.name, o.set(r, a), a;
|
|
963
|
+
}
|
|
964
|
+
// 处理不可克隆对象(直接返回原值)
|
|
965
|
+
case "function":
|
|
966
|
+
case "promise":
|
|
967
|
+
case "weakmap":
|
|
968
|
+
case "weakset":
|
|
969
|
+
default:
|
|
970
|
+
return r;
|
|
971
|
+
}
|
|
972
|
+
};
|
|
819
973
|
try {
|
|
820
|
-
return
|
|
821
|
-
} catch (
|
|
822
|
-
return console.error("structuredClone error:",
|
|
974
|
+
return e ? e(n) : t(n);
|
|
975
|
+
} catch (i) {
|
|
976
|
+
return console.error("structuredClone error:", i), e && t(n);
|
|
823
977
|
}
|
|
824
978
|
}
|
|
825
|
-
function
|
|
979
|
+
function Jt(n, e, t = 30) {
|
|
826
980
|
if (typeof n != "function")
|
|
827
981
|
return console.error("第一个参数必须是一个函数。");
|
|
828
|
-
if (!Array.isArray(
|
|
982
|
+
if (!Array.isArray(e))
|
|
829
983
|
return console.error("第二个参数必须是一个数组。");
|
|
830
|
-
let
|
|
831
|
-
const
|
|
832
|
-
for (const [
|
|
833
|
-
if (
|
|
984
|
+
let i = [], o = 0;
|
|
985
|
+
const r = (c, s) => {
|
|
986
|
+
for (const [a, l] of s)
|
|
987
|
+
if (c >= a)
|
|
834
988
|
return l;
|
|
835
989
|
return "black";
|
|
836
990
|
};
|
|
837
|
-
return function(...
|
|
838
|
-
const
|
|
839
|
-
|
|
840
|
-
const
|
|
991
|
+
return function(...c) {
|
|
992
|
+
const s = performance.now(), a = n(...c), l = performance.now() - s;
|
|
993
|
+
i.push(l), i.length > t && i.shift(), o = i.reduce((p, y) => p + y, 0) / i.length || 0;
|
|
994
|
+
const h = r(l, e), d = r(o, e);
|
|
841
995
|
return console.log(
|
|
842
996
|
`%c单次耗时:${l.toFixed(2)}ms
|
|
843
|
-
%c平均耗时(${
|
|
844
|
-
`color: ${
|
|
997
|
+
%c平均耗时(${i.length}次):${o.toFixed(2)}ms`,
|
|
998
|
+
`color: ${h}; padding: 2px 0;`,
|
|
845
999
|
`color: ${d}; padding: 2px 0;`
|
|
846
|
-
),
|
|
1000
|
+
), a;
|
|
847
1001
|
};
|
|
848
1002
|
}
|
|
849
|
-
function
|
|
850
|
-
const
|
|
851
|
-
let
|
|
852
|
-
for (; Date.now() -
|
|
853
|
-
|
|
1003
|
+
function te(n) {
|
|
1004
|
+
const e = Date.now();
|
|
1005
|
+
let t = performance.now();
|
|
1006
|
+
for (; Date.now() - e < n; ) {
|
|
1007
|
+
t = Math.sin(t) * 1e6, (t > 1e6 || t < -1e6) && (t = 0);
|
|
854
1008
|
try {
|
|
855
|
-
const
|
|
856
|
-
history.replaceState(null, "", `#${
|
|
1009
|
+
const i = t.toString().substring(0, 8);
|
|
1010
|
+
history.replaceState(null, "", `#${i}`);
|
|
857
1011
|
} catch {
|
|
858
1012
|
}
|
|
859
1013
|
}
|
|
860
|
-
return Date.now() -
|
|
1014
|
+
return Date.now() - e;
|
|
861
1015
|
}
|
|
862
|
-
function
|
|
863
|
-
const
|
|
864
|
-
let
|
|
1016
|
+
function ee(n) {
|
|
1017
|
+
const e = dt(n, 100);
|
|
1018
|
+
let t = 0, i = 0;
|
|
865
1019
|
return function(o) {
|
|
866
|
-
const
|
|
867
|
-
if (!
|
|
1020
|
+
const r = o.target;
|
|
1021
|
+
if (!r || !(r instanceof Element)) return;
|
|
868
1022
|
const {
|
|
869
|
-
scrollTop:
|
|
870
|
-
scrollHeight:
|
|
871
|
-
clientHeight:
|
|
1023
|
+
scrollTop: c,
|
|
1024
|
+
scrollHeight: s,
|
|
1025
|
+
clientHeight: a,
|
|
872
1026
|
scrollLeft: l,
|
|
873
|
-
scrollWidth:
|
|
1027
|
+
scrollWidth: h,
|
|
874
1028
|
clientWidth: d
|
|
875
|
-
} =
|
|
876
|
-
function
|
|
877
|
-
if (
|
|
878
|
-
const
|
|
879
|
-
if (
|
|
880
|
-
|
|
1029
|
+
} = r;
|
|
1030
|
+
function p() {
|
|
1031
|
+
if (t == c) return;
|
|
1032
|
+
const w = t > c;
|
|
1033
|
+
if (t = c, w) return;
|
|
1034
|
+
s - c - a <= 1 && e("vertical");
|
|
881
1035
|
}
|
|
882
1036
|
function y() {
|
|
883
|
-
if (
|
|
884
|
-
const
|
|
885
|
-
if (
|
|
886
|
-
|
|
1037
|
+
if (i == l) return;
|
|
1038
|
+
const w = i > l;
|
|
1039
|
+
if (i = l, w) return;
|
|
1040
|
+
h - l - d <= 1 && e("horizontal");
|
|
887
1041
|
}
|
|
888
|
-
|
|
1042
|
+
p(), y();
|
|
889
1043
|
};
|
|
890
1044
|
}
|
|
891
|
-
function
|
|
892
|
-
const { isClickAllowed:
|
|
1045
|
+
function ne(n, e, t) {
|
|
1046
|
+
const { isClickAllowed: i, uiLibrary: o = ["naiveUI", "ElementPlus", "Element"] } = t || {}, r = function(a) {
|
|
893
1047
|
const l = [];
|
|
894
|
-
for (const
|
|
895
|
-
Object.hasOwnProperty.call(
|
|
1048
|
+
for (const h in a)
|
|
1049
|
+
Object.hasOwnProperty.call(a, h) && o.includes(h) && l.push(...a[h]);
|
|
896
1050
|
return l;
|
|
897
1051
|
}({
|
|
898
1052
|
naiveUI: [
|
|
@@ -903,38 +1057,38 @@ function Qt(n, t, e) {
|
|
|
903
1057
|
ElementPlus: [".el-popper"],
|
|
904
1058
|
Element: [".el-popper"]
|
|
905
1059
|
});
|
|
906
|
-
function
|
|
907
|
-
|
|
1060
|
+
function c() {
|
|
1061
|
+
e(), document.removeEventListener("mousedown", s);
|
|
908
1062
|
}
|
|
909
|
-
function
|
|
910
|
-
if (
|
|
911
|
-
const d =
|
|
1063
|
+
function s(a) {
|
|
1064
|
+
if (i) {
|
|
1065
|
+
const d = i(a);
|
|
912
1066
|
if (d) return;
|
|
913
|
-
if (d === !1) return
|
|
1067
|
+
if (d === !1) return c();
|
|
914
1068
|
}
|
|
915
|
-
const l =
|
|
1069
|
+
const l = a.target;
|
|
916
1070
|
if (!(l instanceof Element) || !l.isConnected) return;
|
|
917
|
-
n.concat(
|
|
1071
|
+
n.concat(r).some((d) => !!(l != null && l.closest(d))) || c();
|
|
918
1072
|
}
|
|
919
1073
|
requestAnimationFrame(
|
|
920
|
-
() => document.addEventListener("mousedown",
|
|
1074
|
+
() => document.addEventListener("mousedown", s)
|
|
921
1075
|
);
|
|
922
1076
|
}
|
|
923
|
-
var
|
|
924
|
-
class
|
|
1077
|
+
var b, R, j, O, z, F, L, A, N;
|
|
1078
|
+
class ie {
|
|
925
1079
|
constructor() {
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
1080
|
+
f(this, b);
|
|
1081
|
+
f(this, R, !1);
|
|
1082
|
+
f(this, j, {});
|
|
1083
|
+
f(this, O, 0);
|
|
1084
|
+
f(this, z, 0);
|
|
1085
|
+
f(this, F, 0);
|
|
1086
|
+
f(this, L, 0);
|
|
1087
|
+
f(this, A);
|
|
1088
|
+
f(this, N);
|
|
935
1089
|
}
|
|
936
|
-
init(
|
|
937
|
-
|
|
1090
|
+
init(e, t) {
|
|
1091
|
+
m(this, b, e), m(this, A, t == null ? void 0 : t.limit), m(this, N, t == null ? void 0 : t.dragDom), m(this, j, {
|
|
938
1092
|
mousedown: this.mousedown.bind(this),
|
|
939
1093
|
mousemove: this.mousemove.bind(this),
|
|
940
1094
|
mouseup: this.mouseup.bind(this)
|
|
@@ -943,47 +1097,47 @@ class te {
|
|
|
943
1097
|
finish() {
|
|
944
1098
|
this.bindOrUnbindEvent("unbind");
|
|
945
1099
|
}
|
|
946
|
-
bindOrUnbindEvent(
|
|
947
|
-
const
|
|
948
|
-
if (!
|
|
949
|
-
|
|
1100
|
+
bindOrUnbindEvent(e) {
|
|
1101
|
+
const t = e === "bind" ? "addEventListener" : "removeEventListener";
|
|
1102
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1103
|
+
u(this, b)[t]("mousedown", u(this, j).mousedown), document[t]("mousemove", u(this, j).mousemove), document[t]("mouseup", u(this, j).mouseup);
|
|
950
1104
|
}
|
|
951
1105
|
alterLocation() {
|
|
952
|
-
if (!
|
|
953
|
-
|
|
1106
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1107
|
+
u(this, A) && (m(this, F, Math.min(u(this, F), u(this, A).max.top)), m(this, F, Math.max(u(this, F), u(this, A).min.top)), m(this, L, Math.min(u(this, L), u(this, A).max.left)), m(this, L, Math.max(u(this, L), u(this, A).min.left))), u(this, b).style.setProperty("--top", u(this, F) + "px"), u(this, b).style.setProperty("--left", u(this, L) + "px");
|
|
954
1108
|
}
|
|
955
|
-
mousedown(
|
|
956
|
-
if (!
|
|
957
|
-
if (
|
|
958
|
-
document.body.classList.add("no-select"),
|
|
959
|
-
const
|
|
960
|
-
|
|
1109
|
+
mousedown(e) {
|
|
1110
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1111
|
+
if (u(this, N) && e.target != u(this, N)) return;
|
|
1112
|
+
document.body.classList.add("no-select"), m(this, R, !0);
|
|
1113
|
+
const t = u(this, b).getBoundingClientRect(), { pageX: i, pageY: o } = e;
|
|
1114
|
+
m(this, O, i), m(this, z, o), m(this, F, t.y), m(this, L, t.x);
|
|
961
1115
|
}
|
|
962
|
-
mousemove(
|
|
963
|
-
const { pageX:
|
|
964
|
-
|
|
1116
|
+
mousemove(e) {
|
|
1117
|
+
const { pageX: t, pageY: i } = e;
|
|
1118
|
+
u(this, R) && (m(this, F, u(this, F) + (i - u(this, z))), m(this, L, u(this, L) + (t - u(this, O))), m(this, O, t), m(this, z, i), this.alterLocation());
|
|
965
1119
|
}
|
|
966
1120
|
mouseup() {
|
|
967
|
-
|
|
1121
|
+
u(this, R) && (m(this, R, !1), document.body.classList.remove("no-select"));
|
|
968
1122
|
}
|
|
969
1123
|
}
|
|
970
|
-
|
|
971
|
-
var
|
|
972
|
-
class
|
|
1124
|
+
b = new WeakMap(), R = new WeakMap(), j = new WeakMap(), O = new WeakMap(), z = new WeakMap(), F = new WeakMap(), L = new WeakMap(), A = new WeakMap(), N = new WeakMap();
|
|
1125
|
+
var _, S, U, B, q, E, M, x, $, Y;
|
|
1126
|
+
class re {
|
|
973
1127
|
constructor() {
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
1128
|
+
f(this, _);
|
|
1129
|
+
f(this, S, !1);
|
|
1130
|
+
f(this, U, {});
|
|
1131
|
+
f(this, B, 0);
|
|
1132
|
+
f(this, q, 0);
|
|
1133
|
+
f(this, E, 0);
|
|
1134
|
+
f(this, M, 0);
|
|
1135
|
+
f(this, x);
|
|
1136
|
+
f(this, $);
|
|
1137
|
+
f(this, Y);
|
|
984
1138
|
}
|
|
985
|
-
init(
|
|
986
|
-
|
|
1139
|
+
init(e, t = {}) {
|
|
1140
|
+
m(this, _, e), m(this, x, t.limit), m(this, $, t.update_move), m(this, Y, t.update_up), m(this, U, {
|
|
987
1141
|
mousedown: this.mousedown.bind(this),
|
|
988
1142
|
mousemove: this.mousemove.bind(this),
|
|
989
1143
|
mouseup: this.mouseup.bind(this)
|
|
@@ -992,331 +1146,349 @@ class ee {
|
|
|
992
1146
|
finish() {
|
|
993
1147
|
this.bindOrUnbindEvent("unbind");
|
|
994
1148
|
}
|
|
995
|
-
bindOrUnbindEvent(
|
|
996
|
-
const
|
|
997
|
-
if (!
|
|
998
|
-
|
|
1149
|
+
bindOrUnbindEvent(e) {
|
|
1150
|
+
const t = e === "bind" ? "addEventListener" : "removeEventListener";
|
|
1151
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1152
|
+
u(this, _)[t]("mousedown", u(this, U).mousedown), document[t]("mousemove", u(this, U).mousemove), document[t]("mouseup", u(this, U).mouseup);
|
|
999
1153
|
}
|
|
1000
1154
|
updateValue() {
|
|
1001
|
-
const
|
|
1002
|
-
top:
|
|
1003
|
-
left:
|
|
1155
|
+
const e = {
|
|
1156
|
+
top: u(this, E),
|
|
1157
|
+
left: u(this, M),
|
|
1004
1158
|
percentage: { top: 0, left: 0 }
|
|
1005
1159
|
};
|
|
1006
|
-
if (
|
|
1007
|
-
const
|
|
1008
|
-
|
|
1009
|
-
top:
|
|
1010
|
-
left:
|
|
1160
|
+
if (u(this, x)) {
|
|
1161
|
+
const t = (i) => u(this, x) ? (e[i] - u(this, x).min[i]) / (u(this, x).max[i] - u(this, x).min[i]) : 0;
|
|
1162
|
+
e.percentage = {
|
|
1163
|
+
top: t("top") || 0,
|
|
1164
|
+
left: t("left") || 0
|
|
1011
1165
|
};
|
|
1012
1166
|
}
|
|
1013
|
-
return
|
|
1167
|
+
return e;
|
|
1014
1168
|
}
|
|
1015
1169
|
alterLocation() {
|
|
1016
|
-
if (!
|
|
1017
|
-
|
|
1170
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1171
|
+
u(this, x) && (m(this, E, Math.min(u(this, E), u(this, x).max.top)), m(this, E, Math.max(u(this, E), u(this, x).min.top)), m(this, M, Math.min(u(this, M), u(this, x).max.left)), m(this, M, Math.max(u(this, M), u(this, x).min.left))), u(this, $) && u(this, $).call(this, this.updateValue()), u(this, _).style.setProperty("--top", u(this, E) + "px"), u(this, _).style.setProperty("--left", u(this, M) + "px");
|
|
1018
1172
|
}
|
|
1019
|
-
mousedown(
|
|
1020
|
-
if (!
|
|
1021
|
-
document.body.classList.add("no-select"),
|
|
1022
|
-
const
|
|
1023
|
-
|
|
1024
|
-
const { pageX:
|
|
1025
|
-
|
|
1173
|
+
mousedown(e) {
|
|
1174
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1175
|
+
document.body.classList.add("no-select"), m(this, S, !0);
|
|
1176
|
+
const t = u(this, _).getBoundingClientRect();
|
|
1177
|
+
m(this, q, t.y), m(this, B, t.x);
|
|
1178
|
+
const { pageX: i, pageY: o } = e;
|
|
1179
|
+
m(this, E, o - u(this, q)), m(this, M, i - u(this, B)), this.alterLocation();
|
|
1026
1180
|
}
|
|
1027
|
-
mousemove(
|
|
1028
|
-
const { pageX:
|
|
1029
|
-
|
|
1181
|
+
mousemove(e) {
|
|
1182
|
+
const { pageX: t, pageY: i } = e;
|
|
1183
|
+
u(this, S) && (m(this, E, i - u(this, q)), m(this, M, t - u(this, B)), this.alterLocation());
|
|
1030
1184
|
}
|
|
1031
1185
|
mouseup() {
|
|
1032
|
-
|
|
1186
|
+
u(this, S) && (m(this, S, !1), document.body.classList.remove("no-select"), u(this, Y) && u(this, Y).call(this, this.updateValue()));
|
|
1033
1187
|
}
|
|
1034
1188
|
}
|
|
1035
|
-
|
|
1036
|
-
function
|
|
1037
|
-
|
|
1038
|
-
|
|
1189
|
+
_ = new WeakMap(), S = new WeakMap(), U = new WeakMap(), B = new WeakMap(), q = new WeakMap(), E = new WeakMap(), M = new WeakMap(), x = new WeakMap(), $ = new WeakMap(), Y = new WeakMap();
|
|
1190
|
+
function K(n) {
|
|
1191
|
+
if (typeof n == "string") {
|
|
1192
|
+
const e = document.querySelector(n);
|
|
1193
|
+
if (!e) throw new Error(`Element "${n}" not found`);
|
|
1194
|
+
return e;
|
|
1195
|
+
} else
|
|
1196
|
+
return n || document.documentElement;
|
|
1197
|
+
}
|
|
1198
|
+
function ft(n) {
|
|
1199
|
+
const e = K(n);
|
|
1200
|
+
return e.requestFullscreen ? e.requestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.msRequestFullscreen ? e.msRequestFullscreen() : Promise.reject("No Fullscreen API");
|
|
1039
1201
|
}
|
|
1040
|
-
function
|
|
1202
|
+
function pt() {
|
|
1041
1203
|
const n = document;
|
|
1042
1204
|
return document.exitFullscreen ? document.exitFullscreen() : n.mozCancelFullScreen ? n.mozCancelFullScreen() : n.webkitExitFullscreen ? n.webkitExitFullscreen() : n.msExitFullscreen ? n.msExitFullscreen() : Promise.reject("No ExitFullscreen API");
|
|
1043
1205
|
}
|
|
1044
|
-
function
|
|
1045
|
-
const t = document,
|
|
1046
|
-
return
|
|
1206
|
+
function ct(n) {
|
|
1207
|
+
const e = K(n), t = document, i = document.fullscreenElement || t.webkitFullscreenElement || t.mozFullScreenElement || t.msFullscreenElement;
|
|
1208
|
+
return e == i || !n && window.innerWidth == screen.width && window.innerHeight == screen.height;
|
|
1047
1209
|
}
|
|
1048
|
-
function
|
|
1049
|
-
return function() {
|
|
1050
|
-
|
|
1210
|
+
function oe(n) {
|
|
1211
|
+
return n = K(n), function() {
|
|
1212
|
+
ct(n) ? pt() : ft(n);
|
|
1213
|
+
};
|
|
1214
|
+
}
|
|
1215
|
+
function se(n, e) {
|
|
1216
|
+
const t = K(e), i = () => {
|
|
1217
|
+
n(ct(t));
|
|
1218
|
+
};
|
|
1219
|
+
return document.addEventListener("fullscreenchange", i), document.addEventListener("webkitfullscreenchange", i), document.addEventListener("mozfullscreenchange", i), document.addEventListener("MSFullscreenChange", i), i(), () => {
|
|
1220
|
+
document.removeEventListener("fullscreenchange", i), document.removeEventListener("webkitfullscreenchange", i), document.removeEventListener("mozfullscreenchange", i), document.removeEventListener("MSFullscreenChange", i);
|
|
1051
1221
|
};
|
|
1052
1222
|
}
|
|
1053
|
-
function
|
|
1223
|
+
function ce(n, e) {
|
|
1054
1224
|
if (typeof n == "number") return n;
|
|
1055
1225
|
if (/px/.test(n)) return Number(n.replace(/px/, "")) || 0;
|
|
1056
|
-
const
|
|
1057
|
-
|
|
1058
|
-
const
|
|
1059
|
-
return
|
|
1226
|
+
const t = document.createElement("div");
|
|
1227
|
+
t.style.width = n, e = e || document.body, e.appendChild(t);
|
|
1228
|
+
const i = t.getBoundingClientRect().width;
|
|
1229
|
+
return e.removeChild(t), i;
|
|
1060
1230
|
}
|
|
1061
|
-
function
|
|
1231
|
+
function ae(n, e) {
|
|
1062
1232
|
if (!n) return;
|
|
1063
|
-
let
|
|
1064
|
-
if (typeof
|
|
1065
|
-
const
|
|
1066
|
-
if (!
|
|
1067
|
-
const
|
|
1068
|
-
|
|
1069
|
-
} else if (Array.isArray(
|
|
1070
|
-
|
|
1233
|
+
let t, i;
|
|
1234
|
+
if (typeof e == "string") {
|
|
1235
|
+
const r = document.querySelector(e);
|
|
1236
|
+
if (!r) return;
|
|
1237
|
+
const c = r.getBoundingClientRect();
|
|
1238
|
+
t = c.width, i = c.height;
|
|
1239
|
+
} else if (Array.isArray(e))
|
|
1240
|
+
t = e[0], i = e[1];
|
|
1071
1241
|
else {
|
|
1072
|
-
const
|
|
1073
|
-
|
|
1242
|
+
const r = e.getBoundingClientRect();
|
|
1243
|
+
t = r.width, i = r.height;
|
|
1074
1244
|
}
|
|
1075
|
-
const o =
|
|
1076
|
-
return o > n ? [n *
|
|
1245
|
+
const o = t / i;
|
|
1246
|
+
return o > n ? [n * i, i] : o < n ? [t, t / n] : [t, i];
|
|
1077
1247
|
}
|
|
1078
|
-
function
|
|
1079
|
-
return new Promise((
|
|
1248
|
+
function le(n, e = 5e3) {
|
|
1249
|
+
return new Promise((t, i) => {
|
|
1080
1250
|
const o = new Image();
|
|
1081
1251
|
o.src = n;
|
|
1082
|
-
const
|
|
1083
|
-
|
|
1084
|
-
},
|
|
1252
|
+
const r = setTimeout(() => {
|
|
1253
|
+
i(new Error("图片加载超时")), o.onload = null, o.onerror = null;
|
|
1254
|
+
}, e);
|
|
1085
1255
|
o.onload = () => {
|
|
1086
|
-
clearTimeout(
|
|
1087
|
-
const
|
|
1088
|
-
|
|
1256
|
+
clearTimeout(r);
|
|
1257
|
+
const c = o.naturalWidth, s = o.naturalHeight, a = c / s;
|
|
1258
|
+
t([o, a]);
|
|
1089
1259
|
}, o.onerror = () => {
|
|
1090
|
-
clearTimeout(
|
|
1260
|
+
clearTimeout(r), i(new Error("图片加载失败"));
|
|
1091
1261
|
}, o.crossOrigin = "Anonymous";
|
|
1092
1262
|
});
|
|
1093
1263
|
}
|
|
1094
|
-
function
|
|
1095
|
-
return new Promise((
|
|
1096
|
-
fetch(n).then((
|
|
1097
|
-
console.error("Error fetching :",
|
|
1264
|
+
function ue(n) {
|
|
1265
|
+
return new Promise((e, t) => {
|
|
1266
|
+
fetch(n).then((i) => e(i.text())).catch((i) => {
|
|
1267
|
+
console.error("Error fetching :", i), t(i);
|
|
1098
1268
|
});
|
|
1099
1269
|
});
|
|
1100
1270
|
}
|
|
1101
|
-
function
|
|
1102
|
-
return new Promise((
|
|
1271
|
+
function gt(n, e) {
|
|
1272
|
+
return new Promise((t, i) => {
|
|
1103
1273
|
try {
|
|
1104
|
-
|
|
1105
|
-
const
|
|
1106
|
-
|
|
1107
|
-
}).catch(
|
|
1274
|
+
e = e || J(n, "downloaded_file"), fetch(n).then((o) => (o.ok || i(`文件下载失败,状态码: ${o.status}`), o.blob())).then((o) => {
|
|
1275
|
+
const r = URL.createObjectURL(o), c = document.createElement("a");
|
|
1276
|
+
c.href = r, c.download = decodeURIComponent(e), document.body.appendChild(c), c.click(), document.body.removeChild(c), URL.revokeObjectURL(r), t(o);
|
|
1277
|
+
}).catch(i);
|
|
1108
1278
|
} catch (o) {
|
|
1109
|
-
|
|
1279
|
+
i(o);
|
|
1110
1280
|
}
|
|
1111
1281
|
});
|
|
1112
1282
|
}
|
|
1113
|
-
function
|
|
1114
|
-
if (!
|
|
1115
|
-
let
|
|
1116
|
-
|
|
1283
|
+
function he(n, e, t) {
|
|
1284
|
+
if (!t) {
|
|
1285
|
+
let r = e.replace(/^[^.]+./, "");
|
|
1286
|
+
r = r == e ? "text/plain" : "application/" + r, t = { type: r };
|
|
1117
1287
|
}
|
|
1118
|
-
const
|
|
1119
|
-
|
|
1120
|
-
}
|
|
1121
|
-
const
|
|
1122
|
-
function
|
|
1123
|
-
const
|
|
1124
|
-
return [o,
|
|
1125
|
-
}
|
|
1126
|
-
function
|
|
1127
|
-
const
|
|
1128
|
-
return [
|
|
1129
|
-
}
|
|
1130
|
-
function
|
|
1131
|
-
const [
|
|
1132
|
-
if (l === 0) return Math.sqrt((
|
|
1133
|
-
let
|
|
1134
|
-
return
|
|
1135
|
-
(
|
|
1288
|
+
const i = new Blob(n, t), o = URL.createObjectURL(i);
|
|
1289
|
+
gt(o, e);
|
|
1290
|
+
}
|
|
1291
|
+
const wt = Math.PI / 2, V = Math.PI / 180, Z = 6378137, xt = 85.05112878;
|
|
1292
|
+
function me(n, e) {
|
|
1293
|
+
const t = Math.max(Math.min(n, 180), -180), i = Math.max(Math.min(e, xt), -85.05112878), o = t * V * Z, r = i * V, c = Math.log(Math.tan(Math.PI / 4 + r / 2)) * Z;
|
|
1294
|
+
return [o, c];
|
|
1295
|
+
}
|
|
1296
|
+
function de(n, e) {
|
|
1297
|
+
const t = n / Z / V, i = (2 * Math.atan(Math.exp(e / Z)) - wt) / V;
|
|
1298
|
+
return [t, i];
|
|
1299
|
+
}
|
|
1300
|
+
function fe(n, e, t) {
|
|
1301
|
+
const [i, o] = n, [r, c] = e, [s, a] = t, l = (s - r) ** 2 + (a - c) ** 2;
|
|
1302
|
+
if (l === 0) return Math.sqrt((i - r) ** 2 + (o - c) ** 2);
|
|
1303
|
+
let h = ((i - r) * (s - r) + (o - c) * (a - c)) / l;
|
|
1304
|
+
return h = Math.max(0, Math.min(1, h)), Math.sqrt(
|
|
1305
|
+
(i - (r + h * (s - r))) ** 2 + (o - (c + h * (a - c))) ** 2
|
|
1136
1306
|
);
|
|
1137
1307
|
}
|
|
1138
|
-
function
|
|
1139
|
-
const
|
|
1308
|
+
function pe(n, e, t, i, o, r = 1, c = 1) {
|
|
1309
|
+
const s = n + t * Math.cos(i) * r, a = e + t * Math.sin(i) * c, l = n + t * Math.cos(o) * r, h = e + t * Math.sin(o) * c;
|
|
1140
1310
|
return [
|
|
1141
|
-
[
|
|
1142
|
-
[l,
|
|
1311
|
+
[s, a],
|
|
1312
|
+
[l, h]
|
|
1143
1313
|
];
|
|
1144
1314
|
}
|
|
1145
|
-
function
|
|
1146
|
-
return Math.
|
|
1315
|
+
function ge(n, e, t, i) {
|
|
1316
|
+
return Math.hypot(Math.abs(t - n), Math.abs(i - e));
|
|
1147
1317
|
}
|
|
1148
|
-
function
|
|
1149
|
-
const o = (n +
|
|
1150
|
-
return { x: o, y:
|
|
1318
|
+
function we(n, e, t, i) {
|
|
1319
|
+
const o = (n + t) / 2, r = (e + i) / 2;
|
|
1320
|
+
return { x: o, y: r };
|
|
1151
1321
|
}
|
|
1152
|
-
function
|
|
1153
|
-
const [o,
|
|
1154
|
-
let
|
|
1155
|
-
if (s !== 0) {
|
|
1156
|
-
const l = s > 0 ? (e - o) / s : -o / s;
|
|
1157
|
-
l > 0 && (u = Math.min(u, l));
|
|
1158
|
-
}
|
|
1322
|
+
function xe(n, e, t, i) {
|
|
1323
|
+
const [o, r] = n, [c, s] = e;
|
|
1324
|
+
let a = 1 / 0;
|
|
1159
1325
|
if (c !== 0) {
|
|
1160
|
-
const l = c > 0 ? (
|
|
1161
|
-
l > 0 && (
|
|
1326
|
+
const l = c > 0 ? (t - o) / c : -o / c;
|
|
1327
|
+
l > 0 && (a = Math.min(a, l));
|
|
1328
|
+
}
|
|
1329
|
+
if (s !== 0) {
|
|
1330
|
+
const l = s > 0 ? (i - r) / s : -r / s;
|
|
1331
|
+
l > 0 && (a = Math.min(a, l));
|
|
1162
1332
|
}
|
|
1163
|
-
return
|
|
1333
|
+
return a === 1 / 0 ? n : [o + c * a, r + s * a];
|
|
1164
1334
|
}
|
|
1165
1335
|
class D {
|
|
1166
|
-
constructor(
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
this.resolve =
|
|
1336
|
+
constructor(e, t) {
|
|
1337
|
+
C(this, "resolve");
|
|
1338
|
+
C(this, "reject");
|
|
1339
|
+
this.resolve = e, this.reject = t;
|
|
1170
1340
|
}
|
|
1171
|
-
run(
|
|
1172
|
-
var
|
|
1173
|
-
return
|
|
1174
|
-
var
|
|
1175
|
-
return (
|
|
1341
|
+
run(e) {
|
|
1342
|
+
var t, i;
|
|
1343
|
+
return e instanceof Promise ? e.then((o) => {
|
|
1344
|
+
var r;
|
|
1345
|
+
return (r = this.resolve) == null || r.call(this), o;
|
|
1176
1346
|
}).catch((o) => {
|
|
1177
|
-
var
|
|
1178
|
-
return (
|
|
1179
|
-
}) :
|
|
1347
|
+
var r;
|
|
1348
|
+
return (r = this.reject) == null || r.call(this), Promise.reject(o);
|
|
1349
|
+
}) : e ? (t = this.resolve) == null || t.call(this) : (i = this.reject) == null || i.call(this), e;
|
|
1180
1350
|
}
|
|
1181
1351
|
}
|
|
1182
|
-
class
|
|
1183
|
-
constructor(
|
|
1184
|
-
super(), this.resolve =
|
|
1352
|
+
class yt extends D {
|
|
1353
|
+
constructor(e) {
|
|
1354
|
+
super(), this.resolve = e;
|
|
1185
1355
|
}
|
|
1186
|
-
warning(...
|
|
1187
|
-
const
|
|
1188
|
-
var
|
|
1189
|
-
return (o = (
|
|
1356
|
+
warning(...e) {
|
|
1357
|
+
const t = () => {
|
|
1358
|
+
var i, o;
|
|
1359
|
+
return (o = (i = X.tips).warning) == null ? void 0 : o.call(i, ...e);
|
|
1190
1360
|
};
|
|
1191
|
-
return new D(this.resolve,
|
|
1361
|
+
return new D(this.resolve, t);
|
|
1192
1362
|
}
|
|
1193
|
-
error(...
|
|
1194
|
-
const
|
|
1195
|
-
var
|
|
1196
|
-
return (o = (
|
|
1363
|
+
error(...e) {
|
|
1364
|
+
const t = () => {
|
|
1365
|
+
var i, o;
|
|
1366
|
+
return (o = (i = X.tips).error) == null ? void 0 : o.call(i, ...e);
|
|
1197
1367
|
};
|
|
1198
|
-
return new D(this.resolve,
|
|
1368
|
+
return new D(this.resolve, t);
|
|
1199
1369
|
}
|
|
1200
1370
|
}
|
|
1201
|
-
class
|
|
1202
|
-
constructor(
|
|
1203
|
-
super(), this.reject =
|
|
1371
|
+
class vt extends D {
|
|
1372
|
+
constructor(e) {
|
|
1373
|
+
super(), this.reject = e;
|
|
1204
1374
|
}
|
|
1205
|
-
info(...
|
|
1206
|
-
const
|
|
1207
|
-
var
|
|
1208
|
-
return (o = (
|
|
1375
|
+
info(...e) {
|
|
1376
|
+
const t = () => {
|
|
1377
|
+
var i, o;
|
|
1378
|
+
return (o = (i = X.tips).info) == null ? void 0 : o.call(i, ...e);
|
|
1209
1379
|
};
|
|
1210
|
-
return new D(
|
|
1380
|
+
return new D(t, this.reject);
|
|
1211
1381
|
}
|
|
1212
|
-
success(...
|
|
1213
|
-
const
|
|
1214
|
-
var
|
|
1215
|
-
return (o = (
|
|
1382
|
+
success(...e) {
|
|
1383
|
+
const t = () => {
|
|
1384
|
+
var i, o;
|
|
1385
|
+
return (o = (i = X.tips).success) == null ? void 0 : o.call(i, ...e);
|
|
1216
1386
|
};
|
|
1217
|
-
return new D(
|
|
1387
|
+
return new D(t, this.reject);
|
|
1218
1388
|
}
|
|
1219
1389
|
}
|
|
1220
|
-
const
|
|
1390
|
+
const g = class g {
|
|
1221
1391
|
/**
|
|
1222
1392
|
* 构造函数
|
|
1223
1393
|
* @throws 如果尝试实例化该类,则抛出错误,因为应该使用静态方法
|
|
1224
1394
|
*/
|
|
1225
1395
|
constructor() {
|
|
1226
|
-
if (new.target ===
|
|
1396
|
+
if (new.target === g)
|
|
1227
1397
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
1228
1398
|
}
|
|
1229
|
-
static register(
|
|
1230
|
-
if (typeof
|
|
1399
|
+
static register(e, t) {
|
|
1400
|
+
if (typeof t != "function")
|
|
1231
1401
|
return console.error("TipHandler must be a function");
|
|
1232
|
-
|
|
1402
|
+
g.tips[e] = t;
|
|
1233
1403
|
}
|
|
1234
|
-
static resolveTip(
|
|
1235
|
-
return function(...
|
|
1236
|
-
const
|
|
1237
|
-
var o,
|
|
1238
|
-
return (
|
|
1404
|
+
static resolveTip(e) {
|
|
1405
|
+
return function(...t) {
|
|
1406
|
+
const i = () => {
|
|
1407
|
+
var o, r;
|
|
1408
|
+
return (r = (o = g.tips)[e]) == null ? void 0 : r.call(o, ...t);
|
|
1239
1409
|
};
|
|
1240
|
-
return new
|
|
1410
|
+
return new yt(i);
|
|
1241
1411
|
};
|
|
1242
1412
|
}
|
|
1243
|
-
static rejectTip(
|
|
1244
|
-
return function(...
|
|
1245
|
-
const
|
|
1246
|
-
var o,
|
|
1247
|
-
return (
|
|
1413
|
+
static rejectTip(e) {
|
|
1414
|
+
return function(...t) {
|
|
1415
|
+
const i = () => {
|
|
1416
|
+
var o, r;
|
|
1417
|
+
return (r = (o = g.tips)[e]) == null ? void 0 : r.call(o, ...t);
|
|
1248
1418
|
};
|
|
1249
|
-
return new
|
|
1419
|
+
return new vt(i);
|
|
1250
1420
|
};
|
|
1251
1421
|
}
|
|
1252
1422
|
};
|
|
1253
|
-
|
|
1423
|
+
C(g, "tips", {
|
|
1254
1424
|
info: void 0,
|
|
1255
1425
|
success: void 0,
|
|
1256
1426
|
warning: void 0,
|
|
1257
1427
|
error: void 0
|
|
1258
|
-
}),
|
|
1259
|
-
let
|
|
1428
|
+
}), C(g, "info", g.resolveTip("info")), C(g, "success", g.resolveTip("success")), C(g, "warning", g.rejectTip("warning")), C(g, "error", g.rejectTip("error"));
|
|
1429
|
+
let X = g;
|
|
1260
1430
|
export {
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
ft as
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1431
|
+
Et as _Animate_CreateOscillator,
|
|
1432
|
+
Mt as _Animate_NumericTransition,
|
|
1433
|
+
_t as _Animate_Schedule,
|
|
1434
|
+
Ct as _Blob_ConvertDataToImageUrl,
|
|
1435
|
+
Lt as _Browser_CopyToClipboard,
|
|
1436
|
+
Ft as _Browser_GetFrameRate,
|
|
1437
|
+
Pt as _Browser_GetPrintableArea,
|
|
1438
|
+
ht as _Browser_KeyedWindowManager,
|
|
1439
|
+
ae as _Element_CalculateCanvasSize,
|
|
1440
|
+
ne as _Element_CloseOnOutsideClick,
|
|
1441
|
+
ie as _Element_Drag,
|
|
1442
|
+
ft as _Element_EnterFullscreen,
|
|
1443
|
+
pt as _Element_ExitFullscreen,
|
|
1444
|
+
oe as _Element_Fullscreen,
|
|
1445
|
+
se as _Element_FullscreenObserver,
|
|
1446
|
+
ce as _Element_GetOtherSizeInPixels,
|
|
1447
|
+
ct as _Element_IsFullscreen,
|
|
1448
|
+
le as _Element_LoadImage,
|
|
1449
|
+
re as _Element_LocalDrag,
|
|
1450
|
+
ee as _Element_ScrollEndListener,
|
|
1451
|
+
he as _File_CreateAndDownload,
|
|
1452
|
+
gt as _File_Download,
|
|
1453
|
+
ue as _File_Read,
|
|
1454
|
+
Ut as _Format_CamelCase,
|
|
1455
|
+
Tt as _Format_CapitalizeFirstLetter,
|
|
1456
|
+
kt as _Format_ExcludeSubstring,
|
|
1457
|
+
jt as _Format_FileSize,
|
|
1286
1458
|
J as _Format_HrefName,
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1459
|
+
It as _Format_NumberWithCommas,
|
|
1460
|
+
Rt as _Format_NumberWithUnit,
|
|
1461
|
+
At as _Format_Percentage,
|
|
1462
|
+
St as _Format_Timestamp,
|
|
1463
|
+
ge as _Math_CalculateDistance2D,
|
|
1464
|
+
pe as _Math_GetArcPoints,
|
|
1465
|
+
xe as _Math_GetBoundaryIntersection,
|
|
1466
|
+
we as _Math_GetMidpoint,
|
|
1467
|
+
me as _Math_LngLatToPlane,
|
|
1468
|
+
de as _Math_PlaneToLngLat,
|
|
1469
|
+
fe as _Math_PointToLineDistance,
|
|
1470
|
+
X as _Tip,
|
|
1471
|
+
Qt as _Utility_Clone,
|
|
1472
|
+
dt as _Utility_Debounce,
|
|
1473
|
+
Yt as _Utility_ExecuteWhenIdle,
|
|
1474
|
+
Ht as _Utility_GenerateUUID,
|
|
1475
|
+
Vt as _Utility_GetTargetByPath,
|
|
1476
|
+
Gt as _Utility_InitTargetByPath,
|
|
1477
|
+
ot as _Utility_MergeObjects,
|
|
1478
|
+
Kt as _Utility_RotateList,
|
|
1479
|
+
Zt as _Utility_SetTargetByPath,
|
|
1480
|
+
te as _Utility_Sleep,
|
|
1481
|
+
Wt as _Utility_Throttle,
|
|
1482
|
+
Jt as _Utility_TimeConsumption,
|
|
1483
|
+
Xt as _Utility_WaitForCondition,
|
|
1484
|
+
$t as _Valid_CheckConnectionWithXHR,
|
|
1485
|
+
tt as _Valid_DataType,
|
|
1486
|
+
Bt as _Valid_DoesInfiniteLineIntersectRectangle,
|
|
1487
|
+
rt as _Valid_FileTypeChecker,
|
|
1488
|
+
Ot as _Valid_Is2DNumberArray,
|
|
1489
|
+
zt as _Valid_IsInMargin,
|
|
1490
|
+
mt as _Valid_IsNumberArray,
|
|
1491
|
+
Dt as _Valid_IsObject,
|
|
1492
|
+
Nt as _Valid_IsPointInPolygon,
|
|
1493
|
+
qt as _Valid_IsSecureContext
|
|
1322
1494
|
};
|