nhanh-pure-function 3.0.2 → 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 +3 -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 +2 -2
- package/dist/index.es.js +856 -699
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,208 +1,106 @@
|
|
|
1
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
|
|
2
|
+
var at = Object.defineProperty;
|
|
3
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
|
|
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 Mt(n,
|
|
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
|
-
function Ft(n, t = 10) {
|
|
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 Ct(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 lt {
|
|
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(lt, "keys", /* @__PURE__ */ new Map());
|
|
206
104
|
const ut = {
|
|
207
105
|
".mp3": "audio/mpeg",
|
|
208
106
|
".mp4": "video/mp4",
|
|
@@ -265,7 +163,7 @@ const ut = {
|
|
|
265
163
|
".otf": "font/otf",
|
|
266
164
|
".eot": "application/vnd.ms-fontobject",
|
|
267
165
|
".map": "application/json"
|
|
268
|
-
},
|
|
166
|
+
}, Q = {
|
|
269
167
|
image: [
|
|
270
168
|
".jpg",
|
|
271
169
|
".jpeg",
|
|
@@ -445,7 +343,7 @@ const ut = {
|
|
|
445
343
|
".awk",
|
|
446
344
|
".php"
|
|
447
345
|
]
|
|
448
|
-
},
|
|
346
|
+
}, it = [
|
|
449
347
|
"",
|
|
450
348
|
"万",
|
|
451
349
|
"亿",
|
|
@@ -459,130 +357,306 @@ const ut = {
|
|
|
459
357
|
"正",
|
|
460
358
|
"载",
|
|
461
359
|
"极"
|
|
462
|
-
]
|
|
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
|
+
}
|
|
463
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();
|
|
458
|
+
}
|
|
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
|
+
};
|
|
536
|
+
}
|
|
537
|
+
function Tt(n) {
|
|
464
538
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
465
539
|
}
|
|
466
|
-
function
|
|
467
|
-
return !Number.isFinite(n) || !Number.isFinite(
|
|
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) + "%";
|
|
468
542
|
}
|
|
469
|
-
function
|
|
470
|
-
const
|
|
471
|
-
return
|
|
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;
|
|
472
546
|
}
|
|
473
|
-
function
|
|
474
|
-
const
|
|
547
|
+
function Rt(n, e) {
|
|
548
|
+
const t = {
|
|
475
549
|
join: !0,
|
|
476
550
|
suffix: "",
|
|
477
551
|
decimalPlaces: 2
|
|
478
|
-
}, { join:
|
|
479
|
-
...
|
|
480
|
-
...
|
|
481
|
-
},
|
|
482
|
-
if (isNaN(
|
|
483
|
-
const
|
|
484
|
-
return
|
|
485
|
-
}
|
|
486
|
-
function
|
|
487
|
-
const
|
|
488
|
-
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;
|
|
489
563
|
for (; n > 1024; )
|
|
490
|
-
n /= 1024,
|
|
491
|
-
return `${Math.round(n * 100) / 100} ${t
|
|
564
|
+
n /= 1024, t++;
|
|
565
|
+
return `${Math.round(n * 100) / 100} ${e[t]}`;
|
|
492
566
|
}
|
|
493
|
-
function
|
|
494
|
-
const
|
|
495
|
-
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()))
|
|
496
570
|
return console.error("Invalid date"), "";
|
|
497
571
|
const o = {
|
|
498
|
-
YYYY: (
|
|
499
|
-
MM: (
|
|
572
|
+
YYYY: (r) => r.getFullYear(),
|
|
573
|
+
MM: (r) => r.getMonth() + 1,
|
|
500
574
|
// Adjust for 0-based month
|
|
501
|
-
DD: (
|
|
502
|
-
hh: (
|
|
503
|
-
mm: (
|
|
504
|
-
ss: (
|
|
505
|
-
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()
|
|
506
580
|
};
|
|
507
|
-
return
|
|
508
|
-
const
|
|
509
|
-
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);
|
|
510
584
|
});
|
|
511
585
|
}
|
|
512
|
-
function
|
|
513
|
-
if (!n || (n = String(n).trim(), n === "")) return
|
|
514
|
-
const
|
|
515
|
-
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];
|
|
516
590
|
}
|
|
517
|
-
function
|
|
518
|
-
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;
|
|
519
593
|
}
|
|
520
|
-
function
|
|
521
|
-
const
|
|
522
|
-
`(^|${
|
|
594
|
+
function kt(n, e, t = ",") {
|
|
595
|
+
const i = new RegExp(
|
|
596
|
+
`(^|${t})${e}(${t}|$)`,
|
|
523
597
|
"g"
|
|
524
598
|
);
|
|
525
|
-
return n.replace(
|
|
526
|
-
return
|
|
599
|
+
return n.replace(i, function(o, r, c) {
|
|
600
|
+
return r === c ? t : "";
|
|
527
601
|
});
|
|
528
602
|
}
|
|
529
|
-
function
|
|
603
|
+
function Dt(n) {
|
|
530
604
|
return !(n === null || typeof n != "object" || Array.isArray(n));
|
|
531
605
|
}
|
|
532
|
-
function mt(n,
|
|
533
|
-
if (Array.isArray(n) && n.length >=
|
|
534
|
-
for (let
|
|
535
|
-
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;
|
|
536
610
|
} else return !1;
|
|
537
611
|
return !0;
|
|
538
612
|
}
|
|
539
|
-
function
|
|
540
|
-
if (Array.isArray(n) && n.length >=
|
|
613
|
+
function Ot(n, e = 1, t = 2) {
|
|
614
|
+
if (Array.isArray(n) && n.length >= e) {
|
|
541
615
|
for (let o = 0; o < n.length; o++)
|
|
542
|
-
if (!mt(n[o],
|
|
616
|
+
if (!mt(n[o], t)) return !1;
|
|
543
617
|
} else return !1;
|
|
544
618
|
return !0;
|
|
545
619
|
}
|
|
546
|
-
function
|
|
547
|
-
return Math.abs(n -
|
|
620
|
+
function zt(n, e, t) {
|
|
621
|
+
return Math.abs(n - e) <= t;
|
|
548
622
|
}
|
|
549
|
-
function
|
|
550
|
-
let
|
|
551
|
-
const { x:
|
|
552
|
-
for (let
|
|
553
|
-
const
|
|
554
|
-
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);
|
|
555
629
|
}
|
|
556
|
-
return
|
|
630
|
+
return t;
|
|
557
631
|
}
|
|
558
|
-
function
|
|
559
|
-
const o = Math.min(n[0],
|
|
560
|
-
[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],
|
|
561
635
|
// 左上
|
|
562
|
-
[
|
|
636
|
+
[r, c],
|
|
563
637
|
// 右上
|
|
564
|
-
[
|
|
638
|
+
[r, s],
|
|
565
639
|
// 右下
|
|
566
|
-
[o,
|
|
640
|
+
[o, s]
|
|
567
641
|
// 左下
|
|
568
|
-
], l =
|
|
569
|
-
if (l === 0 &&
|
|
570
|
-
const [
|
|
571
|
-
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;
|
|
572
646
|
}
|
|
573
|
-
const
|
|
574
|
-
let
|
|
575
|
-
for (const [
|
|
576
|
-
const H = l *
|
|
577
|
-
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))
|
|
578
652
|
return !0;
|
|
579
653
|
}
|
|
580
|
-
return
|
|
654
|
+
return y && w;
|
|
581
655
|
}
|
|
582
|
-
function
|
|
583
|
-
return
|
|
656
|
+
function tt(n) {
|
|
657
|
+
return Object.prototype.toString.call(n).slice(8, -1).toLowerCase();
|
|
584
658
|
}
|
|
585
|
-
function
|
|
659
|
+
function qt(n) {
|
|
586
660
|
return [
|
|
587
661
|
"https:",
|
|
588
662
|
// HTTPS协议,用于安全地浏览网页
|
|
@@ -604,51 +678,51 @@ function Nt(n) {
|
|
|
604
678
|
// Remote Desktop Protocol,用于安全的远程桌面连接
|
|
605
679
|
"vpn:"
|
|
606
680
|
// VPN协议,用于创建安全的网络连接
|
|
607
|
-
].some((
|
|
681
|
+
].some((t) => n.startsWith(t));
|
|
608
682
|
}
|
|
609
|
-
function
|
|
610
|
-
return new Promise((
|
|
683
|
+
function $t(n) {
|
|
684
|
+
return new Promise((e, t) => {
|
|
611
685
|
if (typeof n != "string" || n.trim() === "" || !n.includes("://")) {
|
|
612
|
-
|
|
686
|
+
t(new Error("Invalid URL: Must be a non-empty string"));
|
|
613
687
|
return;
|
|
614
688
|
}
|
|
615
689
|
try {
|
|
616
690
|
new XMLHttpRequest().open("HEAD", n, !0);
|
|
617
|
-
} catch (
|
|
618
|
-
|
|
691
|
+
} catch (r) {
|
|
692
|
+
t(new Error(`Invalid URL format: ${r.message}`));
|
|
619
693
|
return;
|
|
620
694
|
}
|
|
621
|
-
const
|
|
622
|
-
|
|
623
|
-
const o = (
|
|
624
|
-
|
|
695
|
+
const i = new XMLHttpRequest();
|
|
696
|
+
i.open("HEAD", n, !0);
|
|
697
|
+
const o = (r) => {
|
|
698
|
+
t(new Error(`Request failed: ${r.type}`));
|
|
625
699
|
};
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
},
|
|
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;
|
|
629
703
|
try {
|
|
630
|
-
|
|
631
|
-
} catch (
|
|
632
|
-
|
|
704
|
+
i.send();
|
|
705
|
+
} catch (r) {
|
|
706
|
+
t(new Error(`Request send failed: ${r.message}`));
|
|
633
707
|
}
|
|
634
708
|
});
|
|
635
709
|
}
|
|
636
|
-
const
|
|
710
|
+
const T = class T {
|
|
637
711
|
constructor() {
|
|
638
|
-
if (new.target ===
|
|
712
|
+
if (new.target === T)
|
|
639
713
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
640
714
|
}
|
|
641
|
-
static check(
|
|
642
|
-
if (!
|
|
643
|
-
return console.error("Invalid URL provided"),
|
|
644
|
-
const
|
|
645
|
-
if (
|
|
646
|
-
if (!
|
|
647
|
-
return console.error(`Unknown file type: ${
|
|
648
|
-
const o =
|
|
649
|
-
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);
|
|
650
724
|
}
|
|
651
|
-
return
|
|
725
|
+
return T._detectFileType(i);
|
|
652
726
|
}
|
|
653
727
|
/**
|
|
654
728
|
* 静态方法,用于解析地址信息
|
|
@@ -658,10 +732,10 @@ const P = class P {
|
|
|
658
732
|
* @param {string} url - 以逗号分隔的URL字符串,每个URL代表一个资源的位置
|
|
659
733
|
* @returns {Array} - 包含每个URL及其相关信息(名称和类型)的对象数组
|
|
660
734
|
*/
|
|
661
|
-
static parseAddresses(
|
|
662
|
-
return !
|
|
663
|
-
const
|
|
664
|
-
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 };
|
|
665
739
|
});
|
|
666
740
|
}
|
|
667
741
|
/**
|
|
@@ -670,13 +744,13 @@ const P = class P {
|
|
|
670
744
|
* @param {string} [accept] - 可接受的 MIME 类型模式(如 "image/*, text/plain")
|
|
671
745
|
* @returns {boolean} - 如果类型匹配,则返回 true,否则返回 false
|
|
672
746
|
*/
|
|
673
|
-
static matchesMimeType(
|
|
674
|
-
if (!
|
|
675
|
-
if (typeof
|
|
676
|
-
const
|
|
677
|
-
return o.some((
|
|
678
|
-
const [
|
|
679
|
-
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);
|
|
680
754
|
});
|
|
681
755
|
}
|
|
682
756
|
/**
|
|
@@ -687,8 +761,8 @@ const P = class P {
|
|
|
687
761
|
* @param {string} type - 文件类型或MIME类型字符串
|
|
688
762
|
* @returns {string} 标准化的MIME类型字符串,如果无法识别则返回原始输入
|
|
689
763
|
*/
|
|
690
|
-
static _normalizeType(
|
|
691
|
-
return
|
|
764
|
+
static _normalizeType(e) {
|
|
765
|
+
return e.startsWith(".") && !e.includes("/") ? ut[e.toLowerCase()] || e : e.includes("/") ? e : `${e}/*`;
|
|
692
766
|
}
|
|
693
767
|
/**
|
|
694
768
|
* 检查URL是否具有任何指定的文件扩展名
|
|
@@ -696,201 +770,283 @@ const P = class P {
|
|
|
696
770
|
* @param {string[]} validExtensions - 有效文件扩展名的数组
|
|
697
771
|
* @returns {boolean} - 如果URL具有任何指定的文件扩展名,则返回true,否则返回false
|
|
698
772
|
*/
|
|
699
|
-
static _checkExtension(
|
|
700
|
-
return
|
|
773
|
+
static _checkExtension(e, t) {
|
|
774
|
+
return t.some((i) => e.endsWith(i));
|
|
701
775
|
}
|
|
702
776
|
/**
|
|
703
777
|
* 检测文件URL的类型
|
|
704
778
|
* @param {string} url - 文件的URL
|
|
705
779
|
* @returns {string} - 如果URL与任何已知类型匹配,则返回文件类型,否则返回"unknown"
|
|
706
780
|
*/
|
|
707
|
-
static _detectFileType(
|
|
708
|
-
for (const [
|
|
709
|
-
if (
|
|
710
|
-
return
|
|
781
|
+
static _detectFileType(e) {
|
|
782
|
+
for (const [t, i] of T.cachedEntries)
|
|
783
|
+
if (i.some((o) => e.endsWith(o)))
|
|
784
|
+
return t;
|
|
711
785
|
return "unknown";
|
|
712
786
|
}
|
|
713
787
|
};
|
|
714
788
|
// 缓存文件扩展名的条目,以提高性能
|
|
715
|
-
|
|
716
|
-
let
|
|
717
|
-
function
|
|
789
|
+
C(T, "cachedEntries", Object.entries(Q));
|
|
790
|
+
let rt = T;
|
|
791
|
+
function Yt(n) {
|
|
718
792
|
if (typeof n != "function")
|
|
719
793
|
return console.error("非函数:", n);
|
|
720
|
-
const
|
|
721
|
-
|
|
794
|
+
const e = function(t) {
|
|
795
|
+
t.didTimeout || t.timeRemaining() <= 0 ? requestIdleCallback(e) : n();
|
|
722
796
|
};
|
|
723
|
-
requestIdleCallback(
|
|
724
|
-
}
|
|
725
|
-
function
|
|
726
|
-
const
|
|
727
|
-
return new Promise((
|
|
728
|
-
const
|
|
729
|
-
if (+/* @__PURE__ */ new Date() -
|
|
730
|
-
if (n()) return
|
|
731
|
-
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);
|
|
732
806
|
};
|
|
733
|
-
|
|
807
|
+
r();
|
|
734
808
|
});
|
|
735
809
|
}
|
|
736
|
-
function
|
|
737
|
-
if (
|
|
810
|
+
function ot(n, e, t = [], i = +/* @__PURE__ */ new Date()) {
|
|
811
|
+
if (i < +/* @__PURE__ */ new Date() - 50) {
|
|
738
812
|
console.error("_MergeObjects 合并异常:疑似死循环");
|
|
739
813
|
return;
|
|
740
814
|
}
|
|
741
|
-
const o =
|
|
742
|
-
if (o !=
|
|
815
|
+
const o = tt(n), r = tt(e);
|
|
816
|
+
if (o != r) return e;
|
|
743
817
|
if (o == "object" || o == "array") {
|
|
744
|
-
if (
|
|
745
|
-
if (
|
|
746
|
-
for (const
|
|
747
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
748
|
-
const
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
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
|
|
753
827
|
);
|
|
754
|
-
n[
|
|
828
|
+
n[c] = l;
|
|
755
829
|
}
|
|
756
830
|
return n;
|
|
757
831
|
} else if (o == "array")
|
|
758
|
-
return
|
|
759
|
-
const
|
|
832
|
+
return e.forEach((c, s) => {
|
|
833
|
+
const a = c, l = n[s], h = ot(
|
|
760
834
|
l,
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
835
|
+
a,
|
|
836
|
+
t,
|
|
837
|
+
i
|
|
764
838
|
);
|
|
765
|
-
n[
|
|
839
|
+
n[s] = h;
|
|
766
840
|
}), n;
|
|
767
|
-
} else return
|
|
841
|
+
} else return e;
|
|
768
842
|
}
|
|
769
|
-
function
|
|
770
|
-
return n + "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
|
|
771
|
-
const
|
|
772
|
-
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);
|
|
773
847
|
});
|
|
774
848
|
}
|
|
775
|
-
function
|
|
776
|
-
let
|
|
777
|
-
return function(...
|
|
778
|
-
clearTimeout(
|
|
779
|
-
n(...
|
|
780
|
-
},
|
|
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);
|
|
781
855
|
};
|
|
782
856
|
}
|
|
783
|
-
function
|
|
784
|
-
let
|
|
785
|
-
return function(...
|
|
857
|
+
function Wt(n, e) {
|
|
858
|
+
let t = -1 / 0;
|
|
859
|
+
return function(...i) {
|
|
786
860
|
const o = performance.now();
|
|
787
|
-
if (o -
|
|
788
|
-
|
|
861
|
+
if (o - t > e) {
|
|
862
|
+
t = o;
|
|
789
863
|
try {
|
|
790
|
-
n(...
|
|
791
|
-
} catch (
|
|
792
|
-
console.error("Throttled function execution failed:",
|
|
864
|
+
n(...i);
|
|
865
|
+
} catch (r) {
|
|
866
|
+
console.error("Throttled function execution failed:", r);
|
|
793
867
|
}
|
|
794
868
|
}
|
|
795
869
|
};
|
|
796
870
|
}
|
|
797
|
-
function
|
|
798
|
-
if (!n || !
|
|
799
|
-
const
|
|
800
|
-
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);
|
|
801
875
|
}
|
|
802
|
-
function
|
|
803
|
-
if (!n || !
|
|
804
|
-
const
|
|
805
|
-
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);
|
|
806
880
|
}
|
|
807
|
-
function
|
|
808
|
-
if (!n || !
|
|
809
|
-
const
|
|
810
|
-
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);
|
|
811
885
|
}
|
|
812
|
-
function
|
|
813
|
-
return n.map((
|
|
886
|
+
function Kt(n) {
|
|
887
|
+
return n.map((e, t) => n.slice(t).concat(n.slice(0, t)));
|
|
814
888
|
}
|
|
815
|
-
function
|
|
816
|
-
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
|
+
};
|
|
817
973
|
try {
|
|
818
|
-
return
|
|
819
|
-
} catch (
|
|
820
|
-
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);
|
|
821
977
|
}
|
|
822
978
|
}
|
|
823
|
-
function
|
|
979
|
+
function Jt(n, e, t = 30) {
|
|
824
980
|
if (typeof n != "function")
|
|
825
981
|
return console.error("第一个参数必须是一个函数。");
|
|
826
|
-
if (!Array.isArray(
|
|
982
|
+
if (!Array.isArray(e))
|
|
827
983
|
return console.error("第二个参数必须是一个数组。");
|
|
828
|
-
let
|
|
829
|
-
const
|
|
830
|
-
for (const [
|
|
831
|
-
if (
|
|
984
|
+
let i = [], o = 0;
|
|
985
|
+
const r = (c, s) => {
|
|
986
|
+
for (const [a, l] of s)
|
|
987
|
+
if (c >= a)
|
|
832
988
|
return l;
|
|
833
989
|
return "black";
|
|
834
990
|
};
|
|
835
|
-
return function(...
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
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);
|
|
839
995
|
return console.log(
|
|
840
996
|
`%c单次耗时:${l.toFixed(2)}ms
|
|
841
|
-
%c平均耗时(${
|
|
842
|
-
`color: ${
|
|
997
|
+
%c平均耗时(${i.length}次):${o.toFixed(2)}ms`,
|
|
998
|
+
`color: ${h}; padding: 2px 0;`,
|
|
843
999
|
`color: ${d}; padding: 2px 0;`
|
|
844
|
-
),
|
|
1000
|
+
), a;
|
|
845
1001
|
};
|
|
846
1002
|
}
|
|
847
|
-
function
|
|
848
|
-
const
|
|
849
|
-
let
|
|
850
|
-
for (; Date.now() -
|
|
851
|
-
|
|
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);
|
|
852
1008
|
try {
|
|
853
|
-
const
|
|
854
|
-
history.replaceState(null, "", `#${
|
|
1009
|
+
const i = t.toString().substring(0, 8);
|
|
1010
|
+
history.replaceState(null, "", `#${i}`);
|
|
855
1011
|
} catch {
|
|
856
1012
|
}
|
|
857
1013
|
}
|
|
858
|
-
return Date.now() -
|
|
1014
|
+
return Date.now() - e;
|
|
859
1015
|
}
|
|
860
|
-
function
|
|
861
|
-
const
|
|
862
|
-
let
|
|
1016
|
+
function ee(n) {
|
|
1017
|
+
const e = dt(n, 100);
|
|
1018
|
+
let t = 0, i = 0;
|
|
863
1019
|
return function(o) {
|
|
864
|
-
const
|
|
865
|
-
if (!
|
|
1020
|
+
const r = o.target;
|
|
1021
|
+
if (!r || !(r instanceof Element)) return;
|
|
866
1022
|
const {
|
|
867
|
-
scrollTop:
|
|
868
|
-
scrollHeight:
|
|
869
|
-
clientHeight:
|
|
1023
|
+
scrollTop: c,
|
|
1024
|
+
scrollHeight: s,
|
|
1025
|
+
clientHeight: a,
|
|
870
1026
|
scrollLeft: l,
|
|
871
|
-
scrollWidth:
|
|
1027
|
+
scrollWidth: h,
|
|
872
1028
|
clientWidth: d
|
|
873
|
-
} =
|
|
874
|
-
function
|
|
875
|
-
if (
|
|
876
|
-
const
|
|
877
|
-
if (
|
|
878
|
-
|
|
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");
|
|
879
1035
|
}
|
|
880
|
-
function
|
|
881
|
-
if (
|
|
882
|
-
const
|
|
883
|
-
if (
|
|
884
|
-
|
|
1036
|
+
function y() {
|
|
1037
|
+
if (i == l) return;
|
|
1038
|
+
const w = i > l;
|
|
1039
|
+
if (i = l, w) return;
|
|
1040
|
+
h - l - d <= 1 && e("horizontal");
|
|
885
1041
|
}
|
|
886
|
-
|
|
1042
|
+
p(), y();
|
|
887
1043
|
};
|
|
888
1044
|
}
|
|
889
|
-
function
|
|
890
|
-
const { isClickAllowed:
|
|
1045
|
+
function ne(n, e, t) {
|
|
1046
|
+
const { isClickAllowed: i, uiLibrary: o = ["naiveUI", "ElementPlus", "Element"] } = t || {}, r = function(a) {
|
|
891
1047
|
const l = [];
|
|
892
|
-
for (const
|
|
893
|
-
Object.hasOwnProperty.call(
|
|
1048
|
+
for (const h in a)
|
|
1049
|
+
Object.hasOwnProperty.call(a, h) && o.includes(h) && l.push(...a[h]);
|
|
894
1050
|
return l;
|
|
895
1051
|
}({
|
|
896
1052
|
naiveUI: [
|
|
@@ -901,38 +1057,38 @@ function te(n, t, e) {
|
|
|
901
1057
|
ElementPlus: [".el-popper"],
|
|
902
1058
|
Element: [".el-popper"]
|
|
903
1059
|
});
|
|
904
|
-
function
|
|
905
|
-
|
|
1060
|
+
function c() {
|
|
1061
|
+
e(), document.removeEventListener("mousedown", s);
|
|
906
1062
|
}
|
|
907
|
-
function
|
|
908
|
-
if (
|
|
909
|
-
const d =
|
|
1063
|
+
function s(a) {
|
|
1064
|
+
if (i) {
|
|
1065
|
+
const d = i(a);
|
|
910
1066
|
if (d) return;
|
|
911
|
-
if (d === !1) return
|
|
1067
|
+
if (d === !1) return c();
|
|
912
1068
|
}
|
|
913
|
-
const l =
|
|
1069
|
+
const l = a.target;
|
|
914
1070
|
if (!(l instanceof Element) || !l.isConnected) return;
|
|
915
|
-
n.concat(
|
|
1071
|
+
n.concat(r).some((d) => !!(l != null && l.closest(d))) || c();
|
|
916
1072
|
}
|
|
917
1073
|
requestAnimationFrame(
|
|
918
|
-
() => document.addEventListener("mousedown",
|
|
1074
|
+
() => document.addEventListener("mousedown", s)
|
|
919
1075
|
);
|
|
920
1076
|
}
|
|
921
|
-
var
|
|
922
|
-
class
|
|
1077
|
+
var b, R, j, O, z, F, L, A, N;
|
|
1078
|
+
class ie {
|
|
923
1079
|
constructor() {
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
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);
|
|
933
1089
|
}
|
|
934
|
-
init(
|
|
935
|
-
|
|
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, {
|
|
936
1092
|
mousedown: this.mousedown.bind(this),
|
|
937
1093
|
mousemove: this.mousemove.bind(this),
|
|
938
1094
|
mouseup: this.mouseup.bind(this)
|
|
@@ -941,47 +1097,47 @@ class ee {
|
|
|
941
1097
|
finish() {
|
|
942
1098
|
this.bindOrUnbindEvent("unbind");
|
|
943
1099
|
}
|
|
944
|
-
bindOrUnbindEvent(
|
|
945
|
-
const
|
|
946
|
-
if (!
|
|
947
|
-
|
|
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);
|
|
948
1104
|
}
|
|
949
1105
|
alterLocation() {
|
|
950
|
-
if (!
|
|
951
|
-
|
|
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");
|
|
952
1108
|
}
|
|
953
|
-
mousedown(
|
|
954
|
-
if (!
|
|
955
|
-
if (
|
|
956
|
-
document.body.classList.add("no-select"),
|
|
957
|
-
const
|
|
958
|
-
|
|
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);
|
|
959
1115
|
}
|
|
960
|
-
mousemove(
|
|
961
|
-
const { pageX:
|
|
962
|
-
|
|
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());
|
|
963
1119
|
}
|
|
964
1120
|
mouseup() {
|
|
965
|
-
|
|
1121
|
+
u(this, R) && (m(this, R, !1), document.body.classList.remove("no-select"));
|
|
966
1122
|
}
|
|
967
1123
|
}
|
|
968
|
-
|
|
969
|
-
var
|
|
970
|
-
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 {
|
|
971
1127
|
constructor() {
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
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);
|
|
982
1138
|
}
|
|
983
|
-
init(
|
|
984
|
-
|
|
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, {
|
|
985
1141
|
mousedown: this.mousedown.bind(this),
|
|
986
1142
|
mousemove: this.mousemove.bind(this),
|
|
987
1143
|
mouseup: this.mouseup.bind(this)
|
|
@@ -990,348 +1146,349 @@ class ne {
|
|
|
990
1146
|
finish() {
|
|
991
1147
|
this.bindOrUnbindEvent("unbind");
|
|
992
1148
|
}
|
|
993
|
-
bindOrUnbindEvent(
|
|
994
|
-
const
|
|
995
|
-
if (!
|
|
996
|
-
|
|
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);
|
|
997
1153
|
}
|
|
998
1154
|
updateValue() {
|
|
999
|
-
const
|
|
1000
|
-
top:
|
|
1001
|
-
left:
|
|
1155
|
+
const e = {
|
|
1156
|
+
top: u(this, E),
|
|
1157
|
+
left: u(this, M),
|
|
1002
1158
|
percentage: { top: 0, left: 0 }
|
|
1003
1159
|
};
|
|
1004
|
-
if (
|
|
1005
|
-
const
|
|
1006
|
-
|
|
1007
|
-
top:
|
|
1008
|
-
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
|
|
1009
1165
|
};
|
|
1010
1166
|
}
|
|
1011
|
-
return
|
|
1167
|
+
return e;
|
|
1012
1168
|
}
|
|
1013
1169
|
alterLocation() {
|
|
1014
|
-
if (!
|
|
1015
|
-
|
|
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");
|
|
1016
1172
|
}
|
|
1017
|
-
mousedown(
|
|
1018
|
-
if (!
|
|
1019
|
-
document.body.classList.add("no-select"),
|
|
1020
|
-
const
|
|
1021
|
-
|
|
1022
|
-
const { pageX:
|
|
1023
|
-
|
|
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();
|
|
1024
1180
|
}
|
|
1025
|
-
mousemove(
|
|
1026
|
-
const { pageX:
|
|
1027
|
-
|
|
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());
|
|
1028
1184
|
}
|
|
1029
1185
|
mouseup() {
|
|
1030
|
-
|
|
1186
|
+
u(this, S) && (m(this, S, !1), document.body.classList.remove("no-select"), u(this, Y) && u(this, Y).call(this, this.updateValue()));
|
|
1031
1187
|
}
|
|
1032
1188
|
}
|
|
1033
|
-
|
|
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();
|
|
1034
1190
|
function K(n) {
|
|
1035
1191
|
if (typeof n == "string") {
|
|
1036
|
-
const
|
|
1037
|
-
if (!
|
|
1038
|
-
return
|
|
1192
|
+
const e = document.querySelector(n);
|
|
1193
|
+
if (!e) throw new Error(`Element "${n}" not found`);
|
|
1194
|
+
return e;
|
|
1039
1195
|
} else
|
|
1040
1196
|
return n || document.documentElement;
|
|
1041
1197
|
}
|
|
1042
|
-
function
|
|
1043
|
-
const
|
|
1044
|
-
return
|
|
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");
|
|
1045
1201
|
}
|
|
1046
|
-
function
|
|
1202
|
+
function pt() {
|
|
1047
1203
|
const n = document;
|
|
1048
1204
|
return document.exitFullscreen ? document.exitFullscreen() : n.mozCancelFullScreen ? n.mozCancelFullScreen() : n.webkitExitFullscreen ? n.webkitExitFullscreen() : n.msExitFullscreen ? n.msExitFullscreen() : Promise.reject("No ExitFullscreen API");
|
|
1049
1205
|
}
|
|
1050
|
-
function
|
|
1051
|
-
const
|
|
1052
|
-
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;
|
|
1053
1209
|
}
|
|
1054
|
-
function
|
|
1210
|
+
function oe(n) {
|
|
1055
1211
|
return n = K(n), function() {
|
|
1056
|
-
|
|
1212
|
+
ct(n) ? pt() : ft(n);
|
|
1057
1213
|
};
|
|
1058
1214
|
}
|
|
1059
|
-
function
|
|
1060
|
-
const
|
|
1061
|
-
n(
|
|
1215
|
+
function se(n, e) {
|
|
1216
|
+
const t = K(e), i = () => {
|
|
1217
|
+
n(ct(t));
|
|
1062
1218
|
};
|
|
1063
|
-
return document.addEventListener("fullscreenchange",
|
|
1064
|
-
document.removeEventListener("fullscreenchange",
|
|
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);
|
|
1065
1221
|
};
|
|
1066
1222
|
}
|
|
1067
|
-
function
|
|
1223
|
+
function ce(n, e) {
|
|
1068
1224
|
if (typeof n == "number") return n;
|
|
1069
1225
|
if (/px/.test(n)) return Number(n.replace(/px/, "")) || 0;
|
|
1070
|
-
const
|
|
1071
|
-
|
|
1072
|
-
const
|
|
1073
|
-
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;
|
|
1074
1230
|
}
|
|
1075
|
-
function
|
|
1231
|
+
function ae(n, e) {
|
|
1076
1232
|
if (!n) return;
|
|
1077
|
-
let
|
|
1078
|
-
if (typeof
|
|
1079
|
-
const
|
|
1080
|
-
if (!
|
|
1081
|
-
const
|
|
1082
|
-
|
|
1083
|
-
} else if (Array.isArray(
|
|
1084
|
-
|
|
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];
|
|
1085
1241
|
else {
|
|
1086
|
-
const
|
|
1087
|
-
|
|
1242
|
+
const r = e.getBoundingClientRect();
|
|
1243
|
+
t = r.width, i = r.height;
|
|
1088
1244
|
}
|
|
1089
|
-
const o =
|
|
1090
|
-
return o > n ? [n *
|
|
1245
|
+
const o = t / i;
|
|
1246
|
+
return o > n ? [n * i, i] : o < n ? [t, t / n] : [t, i];
|
|
1091
1247
|
}
|
|
1092
|
-
function
|
|
1093
|
-
return new Promise((
|
|
1248
|
+
function le(n, e = 5e3) {
|
|
1249
|
+
return new Promise((t, i) => {
|
|
1094
1250
|
const o = new Image();
|
|
1095
1251
|
o.src = n;
|
|
1096
|
-
const
|
|
1097
|
-
|
|
1098
|
-
},
|
|
1252
|
+
const r = setTimeout(() => {
|
|
1253
|
+
i(new Error("图片加载超时")), o.onload = null, o.onerror = null;
|
|
1254
|
+
}, e);
|
|
1099
1255
|
o.onload = () => {
|
|
1100
|
-
clearTimeout(
|
|
1101
|
-
const
|
|
1102
|
-
|
|
1256
|
+
clearTimeout(r);
|
|
1257
|
+
const c = o.naturalWidth, s = o.naturalHeight, a = c / s;
|
|
1258
|
+
t([o, a]);
|
|
1103
1259
|
}, o.onerror = () => {
|
|
1104
|
-
clearTimeout(
|
|
1260
|
+
clearTimeout(r), i(new Error("图片加载失败"));
|
|
1105
1261
|
}, o.crossOrigin = "Anonymous";
|
|
1106
1262
|
});
|
|
1107
1263
|
}
|
|
1108
|
-
function
|
|
1109
|
-
return new Promise((
|
|
1110
|
-
fetch(n).then((
|
|
1111
|
-
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);
|
|
1112
1268
|
});
|
|
1113
1269
|
});
|
|
1114
1270
|
}
|
|
1115
|
-
function
|
|
1116
|
-
return new Promise((
|
|
1271
|
+
function gt(n, e) {
|
|
1272
|
+
return new Promise((t, i) => {
|
|
1117
1273
|
try {
|
|
1118
|
-
|
|
1119
|
-
const
|
|
1120
|
-
|
|
1121
|
-
}).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);
|
|
1122
1278
|
} catch (o) {
|
|
1123
|
-
|
|
1279
|
+
i(o);
|
|
1124
1280
|
}
|
|
1125
1281
|
});
|
|
1126
1282
|
}
|
|
1127
|
-
function
|
|
1128
|
-
if (!
|
|
1129
|
-
let
|
|
1130
|
-
|
|
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 };
|
|
1131
1287
|
}
|
|
1132
|
-
const
|
|
1133
|
-
|
|
1134
|
-
}
|
|
1135
|
-
const
|
|
1136
|
-
function
|
|
1137
|
-
const
|
|
1138
|
-
return [o,
|
|
1139
|
-
}
|
|
1140
|
-
function
|
|
1141
|
-
const
|
|
1142
|
-
return [
|
|
1143
|
-
}
|
|
1144
|
-
function fe(n,
|
|
1145
|
-
const [
|
|
1146
|
-
if (l === 0) return Math.sqrt((
|
|
1147
|
-
let
|
|
1148
|
-
return
|
|
1149
|
-
(
|
|
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
|
|
1150
1306
|
);
|
|
1151
1307
|
}
|
|
1152
|
-
function
|
|
1153
|
-
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;
|
|
1154
1310
|
return [
|
|
1155
|
-
[
|
|
1156
|
-
[l,
|
|
1311
|
+
[s, a],
|
|
1312
|
+
[l, h]
|
|
1157
1313
|
];
|
|
1158
1314
|
}
|
|
1159
|
-
function
|
|
1160
|
-
return Math.hypot(Math.abs(
|
|
1315
|
+
function ge(n, e, t, i) {
|
|
1316
|
+
return Math.hypot(Math.abs(t - n), Math.abs(i - e));
|
|
1161
1317
|
}
|
|
1162
|
-
function
|
|
1163
|
-
const o = (n +
|
|
1164
|
-
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 };
|
|
1165
1321
|
}
|
|
1166
|
-
function
|
|
1167
|
-
const [o,
|
|
1168
|
-
let
|
|
1169
|
-
if (s !== 0) {
|
|
1170
|
-
const l = s > 0 ? (e - o) / s : -o / s;
|
|
1171
|
-
l > 0 && (u = Math.min(u, l));
|
|
1172
|
-
}
|
|
1322
|
+
function xe(n, e, t, i) {
|
|
1323
|
+
const [o, r] = n, [c, s] = e;
|
|
1324
|
+
let a = 1 / 0;
|
|
1173
1325
|
if (c !== 0) {
|
|
1174
|
-
const l = c > 0 ? (
|
|
1175
|
-
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));
|
|
1176
1332
|
}
|
|
1177
|
-
return
|
|
1333
|
+
return a === 1 / 0 ? n : [o + c * a, r + s * a];
|
|
1178
1334
|
}
|
|
1179
1335
|
class D {
|
|
1180
|
-
constructor(
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
this.resolve =
|
|
1336
|
+
constructor(e, t) {
|
|
1337
|
+
C(this, "resolve");
|
|
1338
|
+
C(this, "reject");
|
|
1339
|
+
this.resolve = e, this.reject = t;
|
|
1184
1340
|
}
|
|
1185
|
-
run(
|
|
1186
|
-
var
|
|
1187
|
-
return
|
|
1188
|
-
var
|
|
1189
|
-
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;
|
|
1190
1346
|
}).catch((o) => {
|
|
1191
|
-
var
|
|
1192
|
-
return (
|
|
1193
|
-
}) :
|
|
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;
|
|
1194
1350
|
}
|
|
1195
1351
|
}
|
|
1196
|
-
class
|
|
1197
|
-
constructor(
|
|
1198
|
-
super(), this.resolve =
|
|
1352
|
+
class yt extends D {
|
|
1353
|
+
constructor(e) {
|
|
1354
|
+
super(), this.resolve = e;
|
|
1199
1355
|
}
|
|
1200
|
-
warning(...
|
|
1201
|
-
const
|
|
1202
|
-
var
|
|
1203
|
-
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);
|
|
1204
1360
|
};
|
|
1205
|
-
return new D(this.resolve,
|
|
1361
|
+
return new D(this.resolve, t);
|
|
1206
1362
|
}
|
|
1207
|
-
error(...
|
|
1208
|
-
const
|
|
1209
|
-
var
|
|
1210
|
-
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);
|
|
1211
1367
|
};
|
|
1212
|
-
return new D(this.resolve,
|
|
1368
|
+
return new D(this.resolve, t);
|
|
1213
1369
|
}
|
|
1214
1370
|
}
|
|
1215
1371
|
class vt extends D {
|
|
1216
|
-
constructor(
|
|
1217
|
-
super(), this.reject =
|
|
1372
|
+
constructor(e) {
|
|
1373
|
+
super(), this.reject = e;
|
|
1218
1374
|
}
|
|
1219
|
-
info(...
|
|
1220
|
-
const
|
|
1221
|
-
var
|
|
1222
|
-
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);
|
|
1223
1379
|
};
|
|
1224
|
-
return new D(
|
|
1380
|
+
return new D(t, this.reject);
|
|
1225
1381
|
}
|
|
1226
|
-
success(...
|
|
1227
|
-
const
|
|
1228
|
-
var
|
|
1229
|
-
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);
|
|
1230
1386
|
};
|
|
1231
|
-
return new D(
|
|
1387
|
+
return new D(t, this.reject);
|
|
1232
1388
|
}
|
|
1233
1389
|
}
|
|
1234
|
-
const
|
|
1390
|
+
const g = class g {
|
|
1235
1391
|
/**
|
|
1236
1392
|
* 构造函数
|
|
1237
1393
|
* @throws 如果尝试实例化该类,则抛出错误,因为应该使用静态方法
|
|
1238
1394
|
*/
|
|
1239
1395
|
constructor() {
|
|
1240
|
-
if (new.target ===
|
|
1396
|
+
if (new.target === g)
|
|
1241
1397
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
1242
1398
|
}
|
|
1243
|
-
static register(
|
|
1244
|
-
if (typeof
|
|
1399
|
+
static register(e, t) {
|
|
1400
|
+
if (typeof t != "function")
|
|
1245
1401
|
return console.error("TipHandler must be a function");
|
|
1246
|
-
|
|
1402
|
+
g.tips[e] = t;
|
|
1247
1403
|
}
|
|
1248
|
-
static resolveTip(
|
|
1249
|
-
return function(...
|
|
1250
|
-
const
|
|
1251
|
-
var o,
|
|
1252
|
-
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);
|
|
1253
1409
|
};
|
|
1254
|
-
return new
|
|
1410
|
+
return new yt(i);
|
|
1255
1411
|
};
|
|
1256
1412
|
}
|
|
1257
|
-
static rejectTip(
|
|
1258
|
-
return function(...
|
|
1259
|
-
const
|
|
1260
|
-
var o,
|
|
1261
|
-
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);
|
|
1262
1418
|
};
|
|
1263
|
-
return new vt(
|
|
1419
|
+
return new vt(i);
|
|
1264
1420
|
};
|
|
1265
1421
|
}
|
|
1266
1422
|
};
|
|
1267
|
-
|
|
1423
|
+
C(g, "tips", {
|
|
1268
1424
|
info: void 0,
|
|
1269
1425
|
success: void 0,
|
|
1270
1426
|
warning: void 0,
|
|
1271
1427
|
error: void 0
|
|
1272
|
-
}),
|
|
1273
|
-
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;
|
|
1274
1430
|
export {
|
|
1275
|
-
|
|
1431
|
+
Et as _Animate_CreateOscillator,
|
|
1276
1432
|
Mt as _Animate_NumericTransition,
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1433
|
+
_t as _Animate_Schedule,
|
|
1434
|
+
Ct as _Blob_ConvertDataToImageUrl,
|
|
1435
|
+
Lt as _Browser_CopyToClipboard,
|
|
1280
1436
|
Ft as _Browser_GetFrameRate,
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
oe as
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
me as
|
|
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,
|
|
1458
|
+
J as _Format_HrefName,
|
|
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,
|
|
1312
1469
|
fe as _Math_PointToLineDistance,
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
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,
|
|
1333
1490
|
mt as _Valid_IsNumberArray,
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1491
|
+
Dt as _Valid_IsObject,
|
|
1492
|
+
Nt as _Valid_IsPointInPolygon,
|
|
1493
|
+
qt as _Valid_IsSecureContext
|
|
1337
1494
|
};
|