nhanh-pure-function 3.0.2 → 3.0.4
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 +858 -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, V) => {
|
|
27
|
+
const I = [];
|
|
28
|
+
return v >= W && I.push("最小值必须小于最大值"), V <= 0 ? I.push("分段数必须为正数") : d() == 0 && I.push("数值精度过低,致使动画步长为 0"), I;
|
|
29
|
+
}, k = (v, W, V) => {
|
|
30
|
+
const I = P(v, W, V);
|
|
31
|
+
return I.length > 0 ? (console.error(`参数更新失败: ${I.join("; ")}`), !1) : (a = v, l = W, h = V, 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,308 @@ 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(
|
|
415
|
+
(n) => ({
|
|
416
|
+
value: n,
|
|
417
|
+
label: n
|
|
418
|
+
})
|
|
419
|
+
);
|
|
420
|
+
function Ft(n, e = 10) {
|
|
421
|
+
let t = 0, i = e;
|
|
422
|
+
function o() {
|
|
423
|
+
if (i > 0)
|
|
424
|
+
i--, requestAnimationFrame(o);
|
|
425
|
+
else {
|
|
426
|
+
const c = (+/* @__PURE__ */ new Date() - t) / e, s = 1e3 / c;
|
|
427
|
+
n(Number(s.toFixed(2)), Number(c.toFixed(2)));
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
requestAnimationFrame(() => {
|
|
431
|
+
t = +/* @__PURE__ */ new Date(), o();
|
|
432
|
+
});
|
|
433
|
+
}
|
|
463
434
|
function Lt(n) {
|
|
435
|
+
const e = () => Promise.resolve(), t = (s) => (console.error(s), Promise.reject(s));
|
|
436
|
+
function i() {
|
|
437
|
+
return navigator.clipboard.writeText(n).then(e).catch(t);
|
|
438
|
+
}
|
|
439
|
+
function o() {
|
|
440
|
+
const s = document.createElement("div");
|
|
441
|
+
s.innerText = n, document.body.appendChild(s);
|
|
442
|
+
const a = document.createRange();
|
|
443
|
+
a.selectNodeContents(s);
|
|
444
|
+
const l = window.getSelection();
|
|
445
|
+
let h = !1;
|
|
446
|
+
return l && (l.removeAllRanges(), l.addRange(a), h = document.execCommand("copy")), document.body.removeChild(s), h ? Promise.resolve() : Promise.reject();
|
|
447
|
+
}
|
|
448
|
+
function r() {
|
|
449
|
+
const s = document.createElement("textarea");
|
|
450
|
+
s.value = n, document.body.appendChild(s), s.select(), s.setSelectionRange(0, n.length);
|
|
451
|
+
let a = !1;
|
|
452
|
+
return document.activeElement === s && (a = document.execCommand("Copy", !0)), document.body.removeChild(s), a ? Promise.resolve() : Promise.reject();
|
|
453
|
+
}
|
|
454
|
+
function c() {
|
|
455
|
+
return o().then(e).catch(() => {
|
|
456
|
+
r().then(e).catch(() => t("复制方式尽皆失效"));
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
return navigator.clipboard ? i().catch(c) : c();
|
|
460
|
+
}
|
|
461
|
+
class ht {
|
|
462
|
+
/** 请使用静态方法 */
|
|
463
|
+
constructor() {
|
|
464
|
+
}
|
|
465
|
+
/** 添加已有窗口 */
|
|
466
|
+
static add(e, t) {
|
|
467
|
+
this.keys.set(e, t);
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* 根据键打开或聚焦窗口
|
|
471
|
+
* @param key 窗口的唯一键
|
|
472
|
+
* @param url 要打开的URL
|
|
473
|
+
* @param target 窗口的目标
|
|
474
|
+
* @param windowFeatures 新窗口的特性
|
|
475
|
+
* @returns 返回已打开或新打开的窗口
|
|
476
|
+
*/
|
|
477
|
+
static open(e, t, i, o) {
|
|
478
|
+
const r = this.keys.get(e);
|
|
479
|
+
if (r && !r.closed)
|
|
480
|
+
return r.focus(), r;
|
|
481
|
+
{
|
|
482
|
+
const c = window.open(t, i, o);
|
|
483
|
+
if (c)
|
|
484
|
+
return this.keys.set(e, c), c;
|
|
485
|
+
console.error("window.open failed: 可能是浏览器阻止了弹出窗口"), this.keys.delete(e);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* 检查指定键的窗口是否打开
|
|
490
|
+
* @param key 窗口的唯一键
|
|
491
|
+
* @returns 如果窗口打开则返回true,否则返回false
|
|
492
|
+
*/
|
|
493
|
+
static isOpen(e) {
|
|
494
|
+
const t = this.keys.get(e);
|
|
495
|
+
return t != null && t.closed && this.keys.delete(e), this.keys.has(e);
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* 获取与指定键关联的窗口
|
|
499
|
+
* @param key 窗口的唯一键
|
|
500
|
+
* @returns 返回对应的窗口,如果窗口已关闭则返回undefined
|
|
501
|
+
*/
|
|
502
|
+
static getWindow(e) {
|
|
503
|
+
if (this.isOpen(e)) return this.keys.get(e);
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* 关闭与指定键关联的窗口
|
|
507
|
+
* @param key 窗口的唯一键
|
|
508
|
+
*/
|
|
509
|
+
static close(e) {
|
|
510
|
+
const t = this.keys.get(e);
|
|
511
|
+
t && (t.close(), this.keys.delete(e));
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* 关闭所有打开的窗口并清空Map
|
|
515
|
+
*/
|
|
516
|
+
static closeAll() {
|
|
517
|
+
this.keys.forEach((e, t) => e.close()), this.keys.clear();
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
// 存储键与对应窗口的Map
|
|
521
|
+
C(ht, "keys", /* @__PURE__ */ new Map());
|
|
522
|
+
function Pt(n, e) {
|
|
523
|
+
const t = st[n];
|
|
524
|
+
if (!t) throw new Error(`未知纸张类型: ${n}`);
|
|
525
|
+
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);
|
|
526
|
+
return {
|
|
527
|
+
/** 内容宽度(像素) */
|
|
528
|
+
contentWidth: p,
|
|
529
|
+
/** 内容高度(像素) */
|
|
530
|
+
contentHeight: y,
|
|
531
|
+
/** 边距(像素) */
|
|
532
|
+
paddingPx: d,
|
|
533
|
+
/** 纸张宽度(像素) */
|
|
534
|
+
paperWidthPx: l,
|
|
535
|
+
/** 纸张高度(像素) */
|
|
536
|
+
paperHeightPx: h
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
function Tt(n) {
|
|
464
540
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
465
541
|
}
|
|
466
|
-
function
|
|
467
|
-
return !Number.isFinite(n) || !Number.isFinite(
|
|
542
|
+
function At(n, e, t = 2) {
|
|
543
|
+
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
544
|
}
|
|
469
|
-
function
|
|
470
|
-
const
|
|
471
|
-
return
|
|
545
|
+
function It(n) {
|
|
546
|
+
const t = n.toString().split("."), i = t[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
547
|
+
return t.length > 1 ? i + "." + t[1] : i;
|
|
472
548
|
}
|
|
473
|
-
function
|
|
474
|
-
const
|
|
549
|
+
function Rt(n, e) {
|
|
550
|
+
const t = {
|
|
475
551
|
join: !0,
|
|
476
552
|
suffix: "",
|
|
477
553
|
decimalPlaces: 2
|
|
478
|
-
}, { join:
|
|
479
|
-
...
|
|
480
|
-
...
|
|
481
|
-
},
|
|
482
|
-
if (isNaN(
|
|
483
|
-
const
|
|
484
|
-
return
|
|
485
|
-
}
|
|
486
|
-
function
|
|
487
|
-
const
|
|
488
|
-
let
|
|
554
|
+
}, { join: i, suffix: o, decimalPlaces: r } = {
|
|
555
|
+
...t,
|
|
556
|
+
...e || {}
|
|
557
|
+
}, c = Number(n);
|
|
558
|
+
if (isNaN(c)) return i ? `0${o}` : [0, o];
|
|
559
|
+
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)));
|
|
560
|
+
return i ? `${p}${it[l]}${o}` : [p, it[l] + o];
|
|
561
|
+
}
|
|
562
|
+
function jt(n) {
|
|
563
|
+
const e = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
564
|
+
let t = 0;
|
|
489
565
|
for (; n > 1024; )
|
|
490
|
-
n /= 1024,
|
|
491
|
-
return `${Math.round(n * 100) / 100} ${t
|
|
566
|
+
n /= 1024, t++;
|
|
567
|
+
return `${Math.round(n * 100) / 100} ${e[t]}`;
|
|
492
568
|
}
|
|
493
|
-
function
|
|
494
|
-
const
|
|
495
|
-
if (isNaN(
|
|
569
|
+
function St(n, e = "YYYY-MM-DD hh:mm:ss", t = !0) {
|
|
570
|
+
const i = new Date(n);
|
|
571
|
+
if (isNaN(i.getTime()))
|
|
496
572
|
return console.error("Invalid date"), "";
|
|
497
573
|
const o = {
|
|
498
|
-
YYYY: (
|
|
499
|
-
MM: (
|
|
574
|
+
YYYY: (r) => r.getFullYear(),
|
|
575
|
+
MM: (r) => r.getMonth() + 1,
|
|
500
576
|
// Adjust for 0-based month
|
|
501
|
-
DD: (
|
|
502
|
-
hh: (
|
|
503
|
-
mm: (
|
|
504
|
-
ss: (
|
|
505
|
-
ms: (
|
|
577
|
+
DD: (r) => r.getDate(),
|
|
578
|
+
hh: (r) => r.getHours(),
|
|
579
|
+
mm: (r) => r.getMinutes(),
|
|
580
|
+
ss: (r) => r.getSeconds(),
|
|
581
|
+
ms: (r) => r.getMilliseconds()
|
|
506
582
|
};
|
|
507
|
-
return
|
|
508
|
-
const
|
|
509
|
-
return
|
|
583
|
+
return e.replace(/YYYY|MM|DD|hh|mm|ss|ms/g, (r) => {
|
|
584
|
+
const c = o[r](i);
|
|
585
|
+
return t ? String(c).padStart(2, "0") : String(c);
|
|
510
586
|
});
|
|
511
587
|
}
|
|
512
|
-
function
|
|
513
|
-
if (!n || (n = String(n).trim(), n === "")) return
|
|
514
|
-
const
|
|
515
|
-
return
|
|
588
|
+
function J(n, e = "file") {
|
|
589
|
+
if (!n || (n = String(n).trim(), n === "")) return e;
|
|
590
|
+
const t = n.split("/");
|
|
591
|
+
return t[t.length - 1].split("?")[0];
|
|
516
592
|
}
|
|
517
|
-
function
|
|
518
|
-
return n = n.replace(/([^a-zA-Z][a-z])/g, (
|
|
593
|
+
function Ut(n, e) {
|
|
594
|
+
return n = n.replace(/([^a-zA-Z][a-z])/g, (t) => t.toUpperCase()), e ? n.replace(/[^a-zA-Z]+/g, "") : n;
|
|
519
595
|
}
|
|
520
|
-
function
|
|
521
|
-
const
|
|
522
|
-
`(^|${
|
|
596
|
+
function kt(n, e, t = ",") {
|
|
597
|
+
const i = new RegExp(
|
|
598
|
+
`(^|${t})${e}(${t}|$)`,
|
|
523
599
|
"g"
|
|
524
600
|
);
|
|
525
|
-
return n.replace(
|
|
526
|
-
return
|
|
601
|
+
return n.replace(i, function(o, r, c) {
|
|
602
|
+
return r === c ? t : "";
|
|
527
603
|
});
|
|
528
604
|
}
|
|
529
|
-
function
|
|
605
|
+
function Dt(n) {
|
|
530
606
|
return !(n === null || typeof n != "object" || Array.isArray(n));
|
|
531
607
|
}
|
|
532
|
-
function mt(n,
|
|
533
|
-
if (Array.isArray(n) && n.length >=
|
|
534
|
-
for (let
|
|
535
|
-
if (typeof n[
|
|
608
|
+
function mt(n, e = 2) {
|
|
609
|
+
if (Array.isArray(n) && n.length >= e) {
|
|
610
|
+
for (let i = 0; i < n.length; i++)
|
|
611
|
+
if (typeof n[i] != "number" || !Number.isFinite(n[i])) return !1;
|
|
536
612
|
} else return !1;
|
|
537
613
|
return !0;
|
|
538
614
|
}
|
|
539
|
-
function
|
|
540
|
-
if (Array.isArray(n) && n.length >=
|
|
615
|
+
function Ot(n, e = 1, t = 2) {
|
|
616
|
+
if (Array.isArray(n) && n.length >= e) {
|
|
541
617
|
for (let o = 0; o < n.length; o++)
|
|
542
|
-
if (!mt(n[o],
|
|
618
|
+
if (!mt(n[o], t)) return !1;
|
|
543
619
|
} else return !1;
|
|
544
620
|
return !0;
|
|
545
621
|
}
|
|
546
|
-
function
|
|
547
|
-
return Math.abs(n -
|
|
622
|
+
function zt(n, e, t) {
|
|
623
|
+
return Math.abs(n - e) <= t;
|
|
548
624
|
}
|
|
549
|
-
function
|
|
550
|
-
let
|
|
551
|
-
const { x:
|
|
552
|
-
for (let
|
|
553
|
-
const
|
|
554
|
-
l > o != d > o &&
|
|
625
|
+
function Nt(n, e) {
|
|
626
|
+
let t = !1;
|
|
627
|
+
const { x: i, y: o } = n, r = e.length;
|
|
628
|
+
for (let c = 0, s = r - 1; c < r; s = c++) {
|
|
629
|
+
const a = e[c].x, l = e[c].y, h = e[s].x, d = e[s].y;
|
|
630
|
+
l > o != d > o && i < (h - a) * (o - l) / (d - l) + a && (t = !t);
|
|
555
631
|
}
|
|
556
|
-
return
|
|
632
|
+
return t;
|
|
557
633
|
}
|
|
558
|
-
function
|
|
559
|
-
const o = Math.min(n[0],
|
|
560
|
-
[o,
|
|
634
|
+
function Bt(n, e, t, i) {
|
|
635
|
+
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 = [
|
|
636
|
+
[o, c],
|
|
561
637
|
// 左上
|
|
562
|
-
[
|
|
638
|
+
[r, c],
|
|
563
639
|
// 右上
|
|
564
|
-
[
|
|
640
|
+
[r, s],
|
|
565
641
|
// 右下
|
|
566
|
-
[o,
|
|
642
|
+
[o, s]
|
|
567
643
|
// 左下
|
|
568
|
-
], l =
|
|
569
|
-
if (l === 0 &&
|
|
570
|
-
const [
|
|
571
|
-
return
|
|
644
|
+
], l = i[1] - t[1], h = t[0] - i[0], d = i[0] * t[1] - t[0] * i[1];
|
|
645
|
+
if (l === 0 && h === 0) {
|
|
646
|
+
const [P, k] = t;
|
|
647
|
+
return P >= o && P <= r && k >= c && k <= s;
|
|
572
648
|
}
|
|
573
|
-
const
|
|
574
|
-
let
|
|
575
|
-
for (const [
|
|
576
|
-
const H = l *
|
|
577
|
-
if (Math.abs(H) <
|
|
649
|
+
const p = 1e-10;
|
|
650
|
+
let y = !1, w = !1;
|
|
651
|
+
for (const [P, k] of a) {
|
|
652
|
+
const H = l * P + h * k + d;
|
|
653
|
+
if (Math.abs(H) < p || (H > p ? y = !0 : w = !0, y && w))
|
|
578
654
|
return !0;
|
|
579
655
|
}
|
|
580
|
-
return
|
|
656
|
+
return y && w;
|
|
581
657
|
}
|
|
582
|
-
function
|
|
583
|
-
return
|
|
658
|
+
function tt(n) {
|
|
659
|
+
return Object.prototype.toString.call(n).slice(8, -1).toLowerCase();
|
|
584
660
|
}
|
|
585
|
-
function
|
|
661
|
+
function qt(n) {
|
|
586
662
|
return [
|
|
587
663
|
"https:",
|
|
588
664
|
// HTTPS协议,用于安全地浏览网页
|
|
@@ -604,51 +680,51 @@ function Nt(n) {
|
|
|
604
680
|
// Remote Desktop Protocol,用于安全的远程桌面连接
|
|
605
681
|
"vpn:"
|
|
606
682
|
// VPN协议,用于创建安全的网络连接
|
|
607
|
-
].some((
|
|
683
|
+
].some((t) => n.startsWith(t));
|
|
608
684
|
}
|
|
609
|
-
function
|
|
610
|
-
return new Promise((
|
|
685
|
+
function $t(n) {
|
|
686
|
+
return new Promise((e, t) => {
|
|
611
687
|
if (typeof n != "string" || n.trim() === "" || !n.includes("://")) {
|
|
612
|
-
|
|
688
|
+
t(new Error("Invalid URL: Must be a non-empty string"));
|
|
613
689
|
return;
|
|
614
690
|
}
|
|
615
691
|
try {
|
|
616
692
|
new XMLHttpRequest().open("HEAD", n, !0);
|
|
617
|
-
} catch (
|
|
618
|
-
|
|
693
|
+
} catch (r) {
|
|
694
|
+
t(new Error(`Invalid URL format: ${r.message}`));
|
|
619
695
|
return;
|
|
620
696
|
}
|
|
621
|
-
const
|
|
622
|
-
|
|
623
|
-
const o = (
|
|
624
|
-
|
|
697
|
+
const i = new XMLHttpRequest();
|
|
698
|
+
i.open("HEAD", n, !0);
|
|
699
|
+
const o = (r) => {
|
|
700
|
+
t(new Error(`Request failed: ${r.type}`));
|
|
625
701
|
};
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
},
|
|
702
|
+
i.onreadystatechange = function() {
|
|
703
|
+
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}`)));
|
|
704
|
+
}, i.onerror = o, i.onabort = o, i.ontimeout = o;
|
|
629
705
|
try {
|
|
630
|
-
|
|
631
|
-
} catch (
|
|
632
|
-
|
|
706
|
+
i.send();
|
|
707
|
+
} catch (r) {
|
|
708
|
+
t(new Error(`Request send failed: ${r.message}`));
|
|
633
709
|
}
|
|
634
710
|
});
|
|
635
711
|
}
|
|
636
|
-
const
|
|
712
|
+
const T = class T {
|
|
637
713
|
constructor() {
|
|
638
|
-
if (new.target ===
|
|
714
|
+
if (new.target === T)
|
|
639
715
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
640
716
|
}
|
|
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
|
|
717
|
+
static check(e, t) {
|
|
718
|
+
if (!e || typeof e != "string")
|
|
719
|
+
return console.error("Invalid URL provided"), t ? !1 : "unknown";
|
|
720
|
+
const i = J(e).toLowerCase();
|
|
721
|
+
if (t) {
|
|
722
|
+
if (!Q.hasOwnProperty(t))
|
|
723
|
+
return console.error(`Unknown file type: ${t}`), "unknown";
|
|
724
|
+
const o = Q[t];
|
|
725
|
+
return T._checkExtension(i, o);
|
|
650
726
|
}
|
|
651
|
-
return
|
|
727
|
+
return T._detectFileType(i);
|
|
652
728
|
}
|
|
653
729
|
/**
|
|
654
730
|
* 静态方法,用于解析地址信息
|
|
@@ -658,10 +734,10 @@ const P = class P {
|
|
|
658
734
|
* @param {string} url - 以逗号分隔的URL字符串,每个URL代表一个资源的位置
|
|
659
735
|
* @returns {Array} - 包含每个URL及其相关信息(名称和类型)的对象数组
|
|
660
736
|
*/
|
|
661
|
-
static parseAddresses(
|
|
662
|
-
return !
|
|
663
|
-
const
|
|
664
|
-
return { url:
|
|
737
|
+
static parseAddresses(e) {
|
|
738
|
+
return !e || typeof e != "string" ? (console.error("Invalid URL provided"), []) : e.split(",").map((t) => {
|
|
739
|
+
const i = J(t), o = this.check(t);
|
|
740
|
+
return { url: t, name: i, type: o };
|
|
665
741
|
});
|
|
666
742
|
}
|
|
667
743
|
/**
|
|
@@ -670,13 +746,13 @@ const P = class P {
|
|
|
670
746
|
* @param {string} [accept] - 可接受的 MIME 类型模式(如 "image/*, text/plain")
|
|
671
747
|
* @returns {boolean} - 如果类型匹配,则返回 true,否则返回 false
|
|
672
748
|
*/
|
|
673
|
-
static matchesMimeType(
|
|
674
|
-
if (!
|
|
675
|
-
if (typeof
|
|
676
|
-
const
|
|
677
|
-
return o.some((
|
|
678
|
-
const [
|
|
679
|
-
return (
|
|
749
|
+
static matchesMimeType(e, t) {
|
|
750
|
+
if (!t) return !0;
|
|
751
|
+
if (typeof e != "string" || typeof t != "string") return !1;
|
|
752
|
+
const i = T._normalizeType(e), o = t.split(",").map((s) => T._normalizeType(s.trim())), [r, c = "*"] = i.split("/");
|
|
753
|
+
return o.some((s) => {
|
|
754
|
+
const [a, l = "*"] = s.split("/");
|
|
755
|
+
return (a === "*" || r === "*" || a === r) && (l === "*" || c === "*" || l === c);
|
|
680
756
|
});
|
|
681
757
|
}
|
|
682
758
|
/**
|
|
@@ -687,8 +763,8 @@ const P = class P {
|
|
|
687
763
|
* @param {string} type - 文件类型或MIME类型字符串
|
|
688
764
|
* @returns {string} 标准化的MIME类型字符串,如果无法识别则返回原始输入
|
|
689
765
|
*/
|
|
690
|
-
static _normalizeType(
|
|
691
|
-
return
|
|
766
|
+
static _normalizeType(e) {
|
|
767
|
+
return e.startsWith(".") && !e.includes("/") ? ut[e.toLowerCase()] || e : e.includes("/") ? e : `${e}/*`;
|
|
692
768
|
}
|
|
693
769
|
/**
|
|
694
770
|
* 检查URL是否具有任何指定的文件扩展名
|
|
@@ -696,201 +772,283 @@ const P = class P {
|
|
|
696
772
|
* @param {string[]} validExtensions - 有效文件扩展名的数组
|
|
697
773
|
* @returns {boolean} - 如果URL具有任何指定的文件扩展名,则返回true,否则返回false
|
|
698
774
|
*/
|
|
699
|
-
static _checkExtension(
|
|
700
|
-
return
|
|
775
|
+
static _checkExtension(e, t) {
|
|
776
|
+
return t.some((i) => e.endsWith(i));
|
|
701
777
|
}
|
|
702
778
|
/**
|
|
703
779
|
* 检测文件URL的类型
|
|
704
780
|
* @param {string} url - 文件的URL
|
|
705
781
|
* @returns {string} - 如果URL与任何已知类型匹配,则返回文件类型,否则返回"unknown"
|
|
706
782
|
*/
|
|
707
|
-
static _detectFileType(
|
|
708
|
-
for (const [
|
|
709
|
-
if (
|
|
710
|
-
return
|
|
783
|
+
static _detectFileType(e) {
|
|
784
|
+
for (const [t, i] of T.cachedEntries)
|
|
785
|
+
if (i.some((o) => e.endsWith(o)))
|
|
786
|
+
return t;
|
|
711
787
|
return "unknown";
|
|
712
788
|
}
|
|
713
789
|
};
|
|
714
790
|
// 缓存文件扩展名的条目,以提高性能
|
|
715
|
-
|
|
716
|
-
let
|
|
717
|
-
function
|
|
791
|
+
C(T, "cachedEntries", Object.entries(Q));
|
|
792
|
+
let rt = T;
|
|
793
|
+
function Yt(n) {
|
|
718
794
|
if (typeof n != "function")
|
|
719
795
|
return console.error("非函数:", n);
|
|
720
|
-
const
|
|
721
|
-
|
|
796
|
+
const e = function(t) {
|
|
797
|
+
t.didTimeout || t.timeRemaining() <= 0 ? requestIdleCallback(e) : n();
|
|
722
798
|
};
|
|
723
|
-
requestIdleCallback(
|
|
724
|
-
}
|
|
725
|
-
function
|
|
726
|
-
const
|
|
727
|
-
return new Promise((
|
|
728
|
-
const
|
|
729
|
-
if (+/* @__PURE__ */ new Date() -
|
|
730
|
-
if (n()) return
|
|
731
|
-
requestIdleCallback(
|
|
799
|
+
requestIdleCallback(e);
|
|
800
|
+
}
|
|
801
|
+
function Xt(n, e) {
|
|
802
|
+
const t = +/* @__PURE__ */ new Date();
|
|
803
|
+
return new Promise((i, o) => {
|
|
804
|
+
const r = () => {
|
|
805
|
+
if (+/* @__PURE__ */ new Date() - t >= e) return o("超时");
|
|
806
|
+
if (n()) return i("完成");
|
|
807
|
+
requestIdleCallback(r);
|
|
732
808
|
};
|
|
733
|
-
|
|
809
|
+
r();
|
|
734
810
|
});
|
|
735
811
|
}
|
|
736
|
-
function
|
|
737
|
-
if (
|
|
812
|
+
function ot(n, e, t = [], i = +/* @__PURE__ */ new Date()) {
|
|
813
|
+
if (i < +/* @__PURE__ */ new Date() - 50) {
|
|
738
814
|
console.error("_MergeObjects 合并异常:疑似死循环");
|
|
739
815
|
return;
|
|
740
816
|
}
|
|
741
|
-
const o =
|
|
742
|
-
if (o !=
|
|
817
|
+
const o = tt(n), r = tt(e);
|
|
818
|
+
if (o != r) return e;
|
|
743
819
|
if (o == "object" || o == "array") {
|
|
744
|
-
if (
|
|
745
|
-
if (
|
|
746
|
-
for (const
|
|
747
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
748
|
-
const
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
820
|
+
if (t.some(([c, s]) => c == n && s == e)) return n;
|
|
821
|
+
if (t.push([n, e]), o == "object") {
|
|
822
|
+
for (const c in e)
|
|
823
|
+
if (Object.prototype.hasOwnProperty.call(e, c)) {
|
|
824
|
+
const s = e[c], a = n[c], l = ot(
|
|
825
|
+
a,
|
|
826
|
+
s,
|
|
827
|
+
t,
|
|
828
|
+
i
|
|
753
829
|
);
|
|
754
|
-
n[
|
|
830
|
+
n[c] = l;
|
|
755
831
|
}
|
|
756
832
|
return n;
|
|
757
833
|
} else if (o == "array")
|
|
758
|
-
return
|
|
759
|
-
const
|
|
834
|
+
return e.forEach((c, s) => {
|
|
835
|
+
const a = c, l = n[s], h = ot(
|
|
760
836
|
l,
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
837
|
+
a,
|
|
838
|
+
t,
|
|
839
|
+
i
|
|
764
840
|
);
|
|
765
|
-
n[
|
|
841
|
+
n[s] = h;
|
|
766
842
|
}), n;
|
|
767
|
-
} else return
|
|
843
|
+
} else return e;
|
|
768
844
|
}
|
|
769
|
-
function
|
|
770
|
-
return n + "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
|
|
771
|
-
const
|
|
772
|
-
return (
|
|
845
|
+
function Ht(n = "") {
|
|
846
|
+
return n + "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
847
|
+
const t = Math.random() * 16 | 0;
|
|
848
|
+
return (e === "x" ? t : t & 3 | 8).toString(16);
|
|
773
849
|
});
|
|
774
850
|
}
|
|
775
|
-
function
|
|
776
|
-
let
|
|
777
|
-
return function(...
|
|
778
|
-
clearTimeout(
|
|
779
|
-
n(...
|
|
780
|
-
},
|
|
851
|
+
function dt(n, e) {
|
|
852
|
+
let t;
|
|
853
|
+
return function(...i) {
|
|
854
|
+
clearTimeout(t), t = setTimeout(() => {
|
|
855
|
+
n(...i), t = void 0;
|
|
856
|
+
}, e);
|
|
781
857
|
};
|
|
782
858
|
}
|
|
783
|
-
function
|
|
784
|
-
let
|
|
785
|
-
return function(...
|
|
859
|
+
function Wt(n, e) {
|
|
860
|
+
let t = -1 / 0;
|
|
861
|
+
return function(...i) {
|
|
786
862
|
const o = performance.now();
|
|
787
|
-
if (o -
|
|
788
|
-
|
|
863
|
+
if (o - t > e) {
|
|
864
|
+
t = o;
|
|
789
865
|
try {
|
|
790
|
-
n(...
|
|
791
|
-
} catch (
|
|
792
|
-
console.error("Throttled function execution failed:",
|
|
866
|
+
n(...i);
|
|
867
|
+
} catch (r) {
|
|
868
|
+
console.error("Throttled function execution failed:", r);
|
|
793
869
|
}
|
|
794
870
|
}
|
|
795
871
|
};
|
|
796
872
|
}
|
|
797
|
-
function
|
|
798
|
-
if (!n || !
|
|
799
|
-
const
|
|
800
|
-
return
|
|
873
|
+
function Vt(n, e, t) {
|
|
874
|
+
if (!n || !e) return n;
|
|
875
|
+
const i = e.split(".");
|
|
876
|
+
return i.reduce((o, r, c) => o.hasOwnProperty(r) ? o[r] : c === i.length - 1 ? o[r] = t : o[r] = {}, n);
|
|
801
877
|
}
|
|
802
|
-
function
|
|
803
|
-
if (!n || !
|
|
804
|
-
const
|
|
805
|
-
return
|
|
878
|
+
function Gt(n, e) {
|
|
879
|
+
if (!n || !e) return n;
|
|
880
|
+
const t = e.split(".");
|
|
881
|
+
return t.reduce((i, o, r) => i.hasOwnProperty(o) ? i[o] : r == t.length - 1 ? void 0 : {}, n);
|
|
806
882
|
}
|
|
807
|
-
function
|
|
808
|
-
if (!n || !
|
|
809
|
-
const
|
|
810
|
-
return
|
|
883
|
+
function Zt(n, e, t) {
|
|
884
|
+
if (!n || !e) return n;
|
|
885
|
+
const i = e.split(".");
|
|
886
|
+
return i.reduce((o, r, c) => (c === i.length - 1 && (o[r] = t), o.hasOwnProperty(r) ? o[r] : o[r] = {}), n);
|
|
811
887
|
}
|
|
812
|
-
function
|
|
813
|
-
return n.map((
|
|
888
|
+
function Kt(n) {
|
|
889
|
+
return n.map((e, t) => n.slice(t).concat(n.slice(0, t)));
|
|
814
890
|
}
|
|
815
|
-
function
|
|
816
|
-
const
|
|
891
|
+
function Qt(n) {
|
|
892
|
+
const e = window.structuredClone, t = (i, o = /* @__PURE__ */ new WeakMap()) => {
|
|
893
|
+
const r = i;
|
|
894
|
+
if (r === null || typeof r != "object")
|
|
895
|
+
return r;
|
|
896
|
+
if (o.has(r))
|
|
897
|
+
return o.get(r);
|
|
898
|
+
switch (tt(r)) {
|
|
899
|
+
case "array": {
|
|
900
|
+
const s = [];
|
|
901
|
+
o.set(r, s);
|
|
902
|
+
for (const a of r)
|
|
903
|
+
s.push(t(a, o));
|
|
904
|
+
return s;
|
|
905
|
+
}
|
|
906
|
+
case "object": {
|
|
907
|
+
if (r === null) return r;
|
|
908
|
+
const s = {};
|
|
909
|
+
o.set(r, s);
|
|
910
|
+
for (const a in r)
|
|
911
|
+
Object.prototype.hasOwnProperty.call(r, a) && (s[a] = t(r[a], o));
|
|
912
|
+
return s;
|
|
913
|
+
}
|
|
914
|
+
case "date": {
|
|
915
|
+
const s = new Date(r.getTime());
|
|
916
|
+
return o.set(r, s), s;
|
|
917
|
+
}
|
|
918
|
+
case "regexp": {
|
|
919
|
+
const s = r, a = new RegExp(s.source, s.flags);
|
|
920
|
+
return a.lastIndex = s.lastIndex, o.set(r, a), a;
|
|
921
|
+
}
|
|
922
|
+
case "map": {
|
|
923
|
+
const s = /* @__PURE__ */ new Map();
|
|
924
|
+
return o.set(r, s), r.forEach((a, l) => {
|
|
925
|
+
s.set(
|
|
926
|
+
t(l, o),
|
|
927
|
+
t(a, o)
|
|
928
|
+
);
|
|
929
|
+
}), s;
|
|
930
|
+
}
|
|
931
|
+
case "set": {
|
|
932
|
+
const s = /* @__PURE__ */ new Set();
|
|
933
|
+
return o.set(r, s), r.forEach((a) => {
|
|
934
|
+
s.add(t(a, o));
|
|
935
|
+
}), s;
|
|
936
|
+
}
|
|
937
|
+
// 处理其他可克隆对象类型
|
|
938
|
+
case "arraybuffer":
|
|
939
|
+
case "dataview":
|
|
940
|
+
case "int8array":
|
|
941
|
+
case "uint8array":
|
|
942
|
+
case "uint8clampedarray":
|
|
943
|
+
case "int16array":
|
|
944
|
+
case "uint16array":
|
|
945
|
+
case "int32array":
|
|
946
|
+
case "uint32array":
|
|
947
|
+
case "float32array":
|
|
948
|
+
case "float64array":
|
|
949
|
+
case "bigint64array":
|
|
950
|
+
case "biguint64array": {
|
|
951
|
+
const s = r, a = s.constructor, l = s.buffer.slice(
|
|
952
|
+
s.byteOffset,
|
|
953
|
+
s.byteOffset + s.byteLength
|
|
954
|
+
), h = new a(
|
|
955
|
+
l,
|
|
956
|
+
s.byteOffset,
|
|
957
|
+
s.byteLength / s.BYTES_PER_ELEMENT
|
|
958
|
+
);
|
|
959
|
+
return o.set(r, h), h;
|
|
960
|
+
}
|
|
961
|
+
// 处理特殊对象类型
|
|
962
|
+
case "error": {
|
|
963
|
+
const s = r, a = new s.constructor(s.message);
|
|
964
|
+
return a.stack = s.stack, a.name = s.name, o.set(r, a), a;
|
|
965
|
+
}
|
|
966
|
+
// 处理不可克隆对象(直接返回原值)
|
|
967
|
+
case "function":
|
|
968
|
+
case "promise":
|
|
969
|
+
case "weakmap":
|
|
970
|
+
case "weakset":
|
|
971
|
+
default:
|
|
972
|
+
return r;
|
|
973
|
+
}
|
|
974
|
+
};
|
|
817
975
|
try {
|
|
818
|
-
return
|
|
819
|
-
} catch (
|
|
820
|
-
return console.error("structuredClone error:",
|
|
976
|
+
return e ? e(n) : t(n);
|
|
977
|
+
} catch (i) {
|
|
978
|
+
return console.error("structuredClone error:", i), e && t(n);
|
|
821
979
|
}
|
|
822
980
|
}
|
|
823
|
-
function
|
|
981
|
+
function Jt(n, e, t = 30) {
|
|
824
982
|
if (typeof n != "function")
|
|
825
983
|
return console.error("第一个参数必须是一个函数。");
|
|
826
|
-
if (!Array.isArray(
|
|
984
|
+
if (!Array.isArray(e))
|
|
827
985
|
return console.error("第二个参数必须是一个数组。");
|
|
828
|
-
let
|
|
829
|
-
const
|
|
830
|
-
for (const [
|
|
831
|
-
if (
|
|
986
|
+
let i = [], o = 0;
|
|
987
|
+
const r = (c, s) => {
|
|
988
|
+
for (const [a, l] of s)
|
|
989
|
+
if (c >= a)
|
|
832
990
|
return l;
|
|
833
991
|
return "black";
|
|
834
992
|
};
|
|
835
|
-
return function(...
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
const
|
|
993
|
+
return function(...c) {
|
|
994
|
+
const s = performance.now(), a = n(...c), l = performance.now() - s;
|
|
995
|
+
i.push(l), i.length > t && i.shift(), o = i.reduce((p, y) => p + y, 0) / i.length || 0;
|
|
996
|
+
const h = r(l, e), d = r(o, e);
|
|
839
997
|
return console.log(
|
|
840
998
|
`%c单次耗时:${l.toFixed(2)}ms
|
|
841
|
-
%c平均耗时(${
|
|
842
|
-
`color: ${
|
|
999
|
+
%c平均耗时(${i.length}次):${o.toFixed(2)}ms`,
|
|
1000
|
+
`color: ${h}; padding: 2px 0;`,
|
|
843
1001
|
`color: ${d}; padding: 2px 0;`
|
|
844
|
-
),
|
|
1002
|
+
), a;
|
|
845
1003
|
};
|
|
846
1004
|
}
|
|
847
|
-
function
|
|
848
|
-
const
|
|
849
|
-
let
|
|
850
|
-
for (; Date.now() -
|
|
851
|
-
|
|
1005
|
+
function te(n) {
|
|
1006
|
+
const e = Date.now();
|
|
1007
|
+
let t = performance.now();
|
|
1008
|
+
for (; Date.now() - e < n; ) {
|
|
1009
|
+
t = Math.sin(t) * 1e6, (t > 1e6 || t < -1e6) && (t = 0);
|
|
852
1010
|
try {
|
|
853
|
-
const
|
|
854
|
-
history.replaceState(null, "", `#${
|
|
1011
|
+
const i = t.toString().substring(0, 8);
|
|
1012
|
+
history.replaceState(null, "", `#${i}`);
|
|
855
1013
|
} catch {
|
|
856
1014
|
}
|
|
857
1015
|
}
|
|
858
|
-
return Date.now() -
|
|
1016
|
+
return Date.now() - e;
|
|
859
1017
|
}
|
|
860
|
-
function
|
|
861
|
-
const
|
|
862
|
-
let
|
|
1018
|
+
function ee(n) {
|
|
1019
|
+
const e = dt(n, 100);
|
|
1020
|
+
let t = 0, i = 0;
|
|
863
1021
|
return function(o) {
|
|
864
|
-
const
|
|
865
|
-
if (!
|
|
1022
|
+
const r = o.target;
|
|
1023
|
+
if (!r || !(r instanceof Element)) return;
|
|
866
1024
|
const {
|
|
867
|
-
scrollTop:
|
|
868
|
-
scrollHeight:
|
|
869
|
-
clientHeight:
|
|
1025
|
+
scrollTop: c,
|
|
1026
|
+
scrollHeight: s,
|
|
1027
|
+
clientHeight: a,
|
|
870
1028
|
scrollLeft: l,
|
|
871
|
-
scrollWidth:
|
|
1029
|
+
scrollWidth: h,
|
|
872
1030
|
clientWidth: d
|
|
873
|
-
} =
|
|
874
|
-
function
|
|
875
|
-
if (
|
|
876
|
-
const
|
|
877
|
-
if (
|
|
878
|
-
|
|
1031
|
+
} = r;
|
|
1032
|
+
function p() {
|
|
1033
|
+
if (t == c) return;
|
|
1034
|
+
const w = t > c;
|
|
1035
|
+
if (t = c, w) return;
|
|
1036
|
+
s - c - a <= 1 && e("vertical");
|
|
879
1037
|
}
|
|
880
|
-
function
|
|
881
|
-
if (
|
|
882
|
-
const
|
|
883
|
-
if (
|
|
884
|
-
|
|
1038
|
+
function y() {
|
|
1039
|
+
if (i == l) return;
|
|
1040
|
+
const w = i > l;
|
|
1041
|
+
if (i = l, w) return;
|
|
1042
|
+
h - l - d <= 1 && e("horizontal");
|
|
885
1043
|
}
|
|
886
|
-
|
|
1044
|
+
p(), y();
|
|
887
1045
|
};
|
|
888
1046
|
}
|
|
889
|
-
function
|
|
890
|
-
const { isClickAllowed:
|
|
1047
|
+
function ne(n, e, t) {
|
|
1048
|
+
const { isClickAllowed: i, uiLibrary: o = ["naiveUI", "ElementPlus", "Element"] } = t || {}, r = function(a) {
|
|
891
1049
|
const l = [];
|
|
892
|
-
for (const
|
|
893
|
-
Object.hasOwnProperty.call(
|
|
1050
|
+
for (const h in a)
|
|
1051
|
+
Object.hasOwnProperty.call(a, h) && o.includes(h) && l.push(...a[h]);
|
|
894
1052
|
return l;
|
|
895
1053
|
}({
|
|
896
1054
|
naiveUI: [
|
|
@@ -901,38 +1059,38 @@ function te(n, t, e) {
|
|
|
901
1059
|
ElementPlus: [".el-popper"],
|
|
902
1060
|
Element: [".el-popper"]
|
|
903
1061
|
});
|
|
904
|
-
function
|
|
905
|
-
|
|
1062
|
+
function c() {
|
|
1063
|
+
e(), document.removeEventListener("mousedown", s);
|
|
906
1064
|
}
|
|
907
|
-
function
|
|
908
|
-
if (
|
|
909
|
-
const d =
|
|
1065
|
+
function s(a) {
|
|
1066
|
+
if (i) {
|
|
1067
|
+
const d = i(a);
|
|
910
1068
|
if (d) return;
|
|
911
|
-
if (d === !1) return
|
|
1069
|
+
if (d === !1) return c();
|
|
912
1070
|
}
|
|
913
|
-
const l =
|
|
1071
|
+
const l = a.target;
|
|
914
1072
|
if (!(l instanceof Element) || !l.isConnected) return;
|
|
915
|
-
n.concat(
|
|
1073
|
+
n.concat(r).some((d) => !!(l != null && l.closest(d))) || c();
|
|
916
1074
|
}
|
|
917
1075
|
requestAnimationFrame(
|
|
918
|
-
() => document.addEventListener("mousedown",
|
|
1076
|
+
() => document.addEventListener("mousedown", s)
|
|
919
1077
|
);
|
|
920
1078
|
}
|
|
921
|
-
var
|
|
922
|
-
class
|
|
1079
|
+
var b, R, j, O, z, F, L, A, N;
|
|
1080
|
+
class ie {
|
|
923
1081
|
constructor() {
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
1082
|
+
f(this, b);
|
|
1083
|
+
f(this, R, !1);
|
|
1084
|
+
f(this, j, {});
|
|
1085
|
+
f(this, O, 0);
|
|
1086
|
+
f(this, z, 0);
|
|
1087
|
+
f(this, F, 0);
|
|
1088
|
+
f(this, L, 0);
|
|
1089
|
+
f(this, A);
|
|
1090
|
+
f(this, N);
|
|
933
1091
|
}
|
|
934
|
-
init(
|
|
935
|
-
|
|
1092
|
+
init(e, t) {
|
|
1093
|
+
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
1094
|
mousedown: this.mousedown.bind(this),
|
|
937
1095
|
mousemove: this.mousemove.bind(this),
|
|
938
1096
|
mouseup: this.mouseup.bind(this)
|
|
@@ -941,47 +1099,47 @@ class ee {
|
|
|
941
1099
|
finish() {
|
|
942
1100
|
this.bindOrUnbindEvent("unbind");
|
|
943
1101
|
}
|
|
944
|
-
bindOrUnbindEvent(
|
|
945
|
-
const
|
|
946
|
-
if (!
|
|
947
|
-
|
|
1102
|
+
bindOrUnbindEvent(e) {
|
|
1103
|
+
const t = e === "bind" ? "addEventListener" : "removeEventListener";
|
|
1104
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1105
|
+
u(this, b)[t]("mousedown", u(this, j).mousedown), document[t]("mousemove", u(this, j).mousemove), document[t]("mouseup", u(this, j).mouseup);
|
|
948
1106
|
}
|
|
949
1107
|
alterLocation() {
|
|
950
|
-
if (!
|
|
951
|
-
|
|
1108
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1109
|
+
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
1110
|
}
|
|
953
|
-
mousedown(
|
|
954
|
-
if (!
|
|
955
|
-
if (
|
|
956
|
-
document.body.classList.add("no-select"),
|
|
957
|
-
const
|
|
958
|
-
|
|
1111
|
+
mousedown(e) {
|
|
1112
|
+
if (!u(this, b)) return console.error("No DOM");
|
|
1113
|
+
if (u(this, N) && e.target != u(this, N)) return;
|
|
1114
|
+
document.body.classList.add("no-select"), m(this, R, !0);
|
|
1115
|
+
const t = u(this, b).getBoundingClientRect(), { pageX: i, pageY: o } = e;
|
|
1116
|
+
m(this, O, i), m(this, z, o), m(this, F, t.y), m(this, L, t.x);
|
|
959
1117
|
}
|
|
960
|
-
mousemove(
|
|
961
|
-
const { pageX:
|
|
962
|
-
|
|
1118
|
+
mousemove(e) {
|
|
1119
|
+
const { pageX: t, pageY: i } = e;
|
|
1120
|
+
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
1121
|
}
|
|
964
1122
|
mouseup() {
|
|
965
|
-
|
|
1123
|
+
u(this, R) && (m(this, R, !1), document.body.classList.remove("no-select"));
|
|
966
1124
|
}
|
|
967
1125
|
}
|
|
968
|
-
|
|
969
|
-
var
|
|
970
|
-
class
|
|
1126
|
+
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();
|
|
1127
|
+
var _, S, U, B, q, E, M, x, $, Y;
|
|
1128
|
+
class re {
|
|
971
1129
|
constructor() {
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
1130
|
+
f(this, _);
|
|
1131
|
+
f(this, S, !1);
|
|
1132
|
+
f(this, U, {});
|
|
1133
|
+
f(this, B, 0);
|
|
1134
|
+
f(this, q, 0);
|
|
1135
|
+
f(this, E, 0);
|
|
1136
|
+
f(this, M, 0);
|
|
1137
|
+
f(this, x);
|
|
1138
|
+
f(this, $);
|
|
1139
|
+
f(this, Y);
|
|
982
1140
|
}
|
|
983
|
-
init(
|
|
984
|
-
|
|
1141
|
+
init(e, t = {}) {
|
|
1142
|
+
m(this, _, e), m(this, x, t.limit), m(this, $, t.update_move), m(this, Y, t.update_up), m(this, U, {
|
|
985
1143
|
mousedown: this.mousedown.bind(this),
|
|
986
1144
|
mousemove: this.mousemove.bind(this),
|
|
987
1145
|
mouseup: this.mouseup.bind(this)
|
|
@@ -990,348 +1148,349 @@ class ne {
|
|
|
990
1148
|
finish() {
|
|
991
1149
|
this.bindOrUnbindEvent("unbind");
|
|
992
1150
|
}
|
|
993
|
-
bindOrUnbindEvent(
|
|
994
|
-
const
|
|
995
|
-
if (!
|
|
996
|
-
|
|
1151
|
+
bindOrUnbindEvent(e) {
|
|
1152
|
+
const t = e === "bind" ? "addEventListener" : "removeEventListener";
|
|
1153
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1154
|
+
u(this, _)[t]("mousedown", u(this, U).mousedown), document[t]("mousemove", u(this, U).mousemove), document[t]("mouseup", u(this, U).mouseup);
|
|
997
1155
|
}
|
|
998
1156
|
updateValue() {
|
|
999
|
-
const
|
|
1000
|
-
top:
|
|
1001
|
-
left:
|
|
1157
|
+
const e = {
|
|
1158
|
+
top: u(this, E),
|
|
1159
|
+
left: u(this, M),
|
|
1002
1160
|
percentage: { top: 0, left: 0 }
|
|
1003
1161
|
};
|
|
1004
|
-
if (
|
|
1005
|
-
const
|
|
1006
|
-
|
|
1007
|
-
top:
|
|
1008
|
-
left:
|
|
1162
|
+
if (u(this, x)) {
|
|
1163
|
+
const t = (i) => u(this, x) ? (e[i] - u(this, x).min[i]) / (u(this, x).max[i] - u(this, x).min[i]) : 0;
|
|
1164
|
+
e.percentage = {
|
|
1165
|
+
top: t("top") || 0,
|
|
1166
|
+
left: t("left") || 0
|
|
1009
1167
|
};
|
|
1010
1168
|
}
|
|
1011
|
-
return
|
|
1169
|
+
return e;
|
|
1012
1170
|
}
|
|
1013
1171
|
alterLocation() {
|
|
1014
|
-
if (!
|
|
1015
|
-
|
|
1172
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1173
|
+
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
1174
|
}
|
|
1017
|
-
mousedown(
|
|
1018
|
-
if (!
|
|
1019
|
-
document.body.classList.add("no-select"),
|
|
1020
|
-
const
|
|
1021
|
-
|
|
1022
|
-
const { pageX:
|
|
1023
|
-
|
|
1175
|
+
mousedown(e) {
|
|
1176
|
+
if (!u(this, _)) return console.error("No DOM");
|
|
1177
|
+
document.body.classList.add("no-select"), m(this, S, !0);
|
|
1178
|
+
const t = u(this, _).getBoundingClientRect();
|
|
1179
|
+
m(this, q, t.y), m(this, B, t.x);
|
|
1180
|
+
const { pageX: i, pageY: o } = e;
|
|
1181
|
+
m(this, E, o - u(this, q)), m(this, M, i - u(this, B)), this.alterLocation();
|
|
1024
1182
|
}
|
|
1025
|
-
mousemove(
|
|
1026
|
-
const { pageX:
|
|
1027
|
-
|
|
1183
|
+
mousemove(e) {
|
|
1184
|
+
const { pageX: t, pageY: i } = e;
|
|
1185
|
+
u(this, S) && (m(this, E, i - u(this, q)), m(this, M, t - u(this, B)), this.alterLocation());
|
|
1028
1186
|
}
|
|
1029
1187
|
mouseup() {
|
|
1030
|
-
|
|
1188
|
+
u(this, S) && (m(this, S, !1), document.body.classList.remove("no-select"), u(this, Y) && u(this, Y).call(this, this.updateValue()));
|
|
1031
1189
|
}
|
|
1032
1190
|
}
|
|
1033
|
-
|
|
1191
|
+
_ = 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
1192
|
function K(n) {
|
|
1035
1193
|
if (typeof n == "string") {
|
|
1036
|
-
const
|
|
1037
|
-
if (!
|
|
1038
|
-
return
|
|
1194
|
+
const e = document.querySelector(n);
|
|
1195
|
+
if (!e) throw new Error(`Element "${n}" not found`);
|
|
1196
|
+
return e;
|
|
1039
1197
|
} else
|
|
1040
1198
|
return n || document.documentElement;
|
|
1041
1199
|
}
|
|
1042
|
-
function
|
|
1043
|
-
const
|
|
1044
|
-
return
|
|
1200
|
+
function ft(n) {
|
|
1201
|
+
const e = K(n);
|
|
1202
|
+
return e.requestFullscreen ? e.requestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.webkitRequestFullscreen ? e.webkitRequestFullscreen() : e.msRequestFullscreen ? e.msRequestFullscreen() : Promise.reject("No Fullscreen API");
|
|
1045
1203
|
}
|
|
1046
|
-
function
|
|
1204
|
+
function pt() {
|
|
1047
1205
|
const n = document;
|
|
1048
1206
|
return document.exitFullscreen ? document.exitFullscreen() : n.mozCancelFullScreen ? n.mozCancelFullScreen() : n.webkitExitFullscreen ? n.webkitExitFullscreen() : n.msExitFullscreen ? n.msExitFullscreen() : Promise.reject("No ExitFullscreen API");
|
|
1049
1207
|
}
|
|
1050
|
-
function
|
|
1051
|
-
const
|
|
1052
|
-
return
|
|
1208
|
+
function ct(n) {
|
|
1209
|
+
const e = K(n), t = document, i = document.fullscreenElement || t.webkitFullscreenElement || t.mozFullScreenElement || t.msFullscreenElement;
|
|
1210
|
+
return e == i || !n && window.innerWidth == screen.width && window.innerHeight == screen.height;
|
|
1053
1211
|
}
|
|
1054
|
-
function
|
|
1212
|
+
function oe(n) {
|
|
1055
1213
|
return n = K(n), function() {
|
|
1056
|
-
|
|
1214
|
+
ct(n) ? pt() : ft(n);
|
|
1057
1215
|
};
|
|
1058
1216
|
}
|
|
1059
|
-
function
|
|
1060
|
-
const
|
|
1061
|
-
n(
|
|
1217
|
+
function se(n, e) {
|
|
1218
|
+
const t = K(e), i = () => {
|
|
1219
|
+
n(ct(t));
|
|
1062
1220
|
};
|
|
1063
|
-
return document.addEventListener("fullscreenchange",
|
|
1064
|
-
document.removeEventListener("fullscreenchange",
|
|
1221
|
+
return document.addEventListener("fullscreenchange", i), document.addEventListener("webkitfullscreenchange", i), document.addEventListener("mozfullscreenchange", i), document.addEventListener("MSFullscreenChange", i), i(), () => {
|
|
1222
|
+
document.removeEventListener("fullscreenchange", i), document.removeEventListener("webkitfullscreenchange", i), document.removeEventListener("mozfullscreenchange", i), document.removeEventListener("MSFullscreenChange", i);
|
|
1065
1223
|
};
|
|
1066
1224
|
}
|
|
1067
|
-
function
|
|
1225
|
+
function ce(n, e) {
|
|
1068
1226
|
if (typeof n == "number") return n;
|
|
1069
1227
|
if (/px/.test(n)) return Number(n.replace(/px/, "")) || 0;
|
|
1070
|
-
const
|
|
1071
|
-
|
|
1072
|
-
const
|
|
1073
|
-
return
|
|
1228
|
+
const t = document.createElement("div");
|
|
1229
|
+
t.style.width = n, e = e || document.body, e.appendChild(t);
|
|
1230
|
+
const i = t.getBoundingClientRect().width;
|
|
1231
|
+
return e.removeChild(t), i;
|
|
1074
1232
|
}
|
|
1075
|
-
function
|
|
1233
|
+
function ae(n, e) {
|
|
1076
1234
|
if (!n) return;
|
|
1077
|
-
let
|
|
1078
|
-
if (typeof
|
|
1079
|
-
const
|
|
1080
|
-
if (!
|
|
1081
|
-
const
|
|
1082
|
-
|
|
1083
|
-
} else if (Array.isArray(
|
|
1084
|
-
|
|
1235
|
+
let t, i;
|
|
1236
|
+
if (typeof e == "string") {
|
|
1237
|
+
const r = document.querySelector(e);
|
|
1238
|
+
if (!r) return;
|
|
1239
|
+
const c = r.getBoundingClientRect();
|
|
1240
|
+
t = c.width, i = c.height;
|
|
1241
|
+
} else if (Array.isArray(e))
|
|
1242
|
+
t = e[0], i = e[1];
|
|
1085
1243
|
else {
|
|
1086
|
-
const
|
|
1087
|
-
|
|
1244
|
+
const r = e.getBoundingClientRect();
|
|
1245
|
+
t = r.width, i = r.height;
|
|
1088
1246
|
}
|
|
1089
|
-
const o =
|
|
1090
|
-
return o > n ? [n *
|
|
1247
|
+
const o = t / i;
|
|
1248
|
+
return o > n ? [n * i, i] : o < n ? [t, t / n] : [t, i];
|
|
1091
1249
|
}
|
|
1092
|
-
function
|
|
1093
|
-
return new Promise((
|
|
1250
|
+
function le(n, e = 5e3) {
|
|
1251
|
+
return new Promise((t, i) => {
|
|
1094
1252
|
const o = new Image();
|
|
1095
1253
|
o.src = n;
|
|
1096
|
-
const
|
|
1097
|
-
|
|
1098
|
-
},
|
|
1254
|
+
const r = setTimeout(() => {
|
|
1255
|
+
i(new Error("图片加载超时")), o.onload = null, o.onerror = null;
|
|
1256
|
+
}, e);
|
|
1099
1257
|
o.onload = () => {
|
|
1100
|
-
clearTimeout(
|
|
1101
|
-
const
|
|
1102
|
-
|
|
1258
|
+
clearTimeout(r);
|
|
1259
|
+
const c = o.naturalWidth, s = o.naturalHeight, a = c / s;
|
|
1260
|
+
t([o, a]);
|
|
1103
1261
|
}, o.onerror = () => {
|
|
1104
|
-
clearTimeout(
|
|
1262
|
+
clearTimeout(r), i(new Error("图片加载失败"));
|
|
1105
1263
|
}, o.crossOrigin = "Anonymous";
|
|
1106
1264
|
});
|
|
1107
1265
|
}
|
|
1108
|
-
function
|
|
1109
|
-
return new Promise((
|
|
1110
|
-
fetch(n).then((
|
|
1111
|
-
console.error("Error fetching :",
|
|
1266
|
+
function ue(n) {
|
|
1267
|
+
return new Promise((e, t) => {
|
|
1268
|
+
fetch(n).then((i) => e(i.text())).catch((i) => {
|
|
1269
|
+
console.error("Error fetching :", i), t(i);
|
|
1112
1270
|
});
|
|
1113
1271
|
});
|
|
1114
1272
|
}
|
|
1115
|
-
function
|
|
1116
|
-
return new Promise((
|
|
1273
|
+
function gt(n, e) {
|
|
1274
|
+
return new Promise((t, i) => {
|
|
1117
1275
|
try {
|
|
1118
|
-
|
|
1119
|
-
const
|
|
1120
|
-
|
|
1121
|
-
}).catch(
|
|
1276
|
+
e = e || J(n, "downloaded_file"), fetch(n).then((o) => (o.ok || i(`文件下载失败,状态码: ${o.status}`), o.blob())).then((o) => {
|
|
1277
|
+
const r = URL.createObjectURL(o), c = document.createElement("a");
|
|
1278
|
+
c.href = r, c.download = decodeURIComponent(e), document.body.appendChild(c), c.click(), document.body.removeChild(c), URL.revokeObjectURL(r), t(o);
|
|
1279
|
+
}).catch(i);
|
|
1122
1280
|
} catch (o) {
|
|
1123
|
-
|
|
1281
|
+
i(o);
|
|
1124
1282
|
}
|
|
1125
1283
|
});
|
|
1126
1284
|
}
|
|
1127
|
-
function
|
|
1128
|
-
if (!
|
|
1129
|
-
let
|
|
1130
|
-
|
|
1285
|
+
function he(n, e, t) {
|
|
1286
|
+
if (!t) {
|
|
1287
|
+
let r = e.replace(/^[^.]+./, "");
|
|
1288
|
+
r = r == e ? "text/plain" : "application/" + r, t = { type: r };
|
|
1131
1289
|
}
|
|
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
|
-
(
|
|
1290
|
+
const i = new Blob(n, t), o = URL.createObjectURL(i);
|
|
1291
|
+
gt(o, e);
|
|
1292
|
+
}
|
|
1293
|
+
const wt = Math.PI / 2, G = Math.PI / 180, Z = 6378137, xt = 85.05112878;
|
|
1294
|
+
function me(n, e) {
|
|
1295
|
+
const t = Math.max(Math.min(n, 180), -180), i = Math.max(Math.min(e, xt), -85.05112878), o = t * G * Z, r = i * G, c = Math.log(Math.tan(Math.PI / 4 + r / 2)) * Z;
|
|
1296
|
+
return [o, c];
|
|
1297
|
+
}
|
|
1298
|
+
function de(n, e) {
|
|
1299
|
+
const t = n / Z / G, i = (2 * Math.atan(Math.exp(e / Z)) - wt) / G;
|
|
1300
|
+
return [t, i];
|
|
1301
|
+
}
|
|
1302
|
+
function fe(n, e, t) {
|
|
1303
|
+
const [i, o] = n, [r, c] = e, [s, a] = t, l = (s - r) ** 2 + (a - c) ** 2;
|
|
1304
|
+
if (l === 0) return Math.sqrt((i - r) ** 2 + (o - c) ** 2);
|
|
1305
|
+
let h = ((i - r) * (s - r) + (o - c) * (a - c)) / l;
|
|
1306
|
+
return h = Math.max(0, Math.min(1, h)), Math.sqrt(
|
|
1307
|
+
(i - (r + h * (s - r))) ** 2 + (o - (c + h * (a - c))) ** 2
|
|
1150
1308
|
);
|
|
1151
1309
|
}
|
|
1152
|
-
function
|
|
1153
|
-
const
|
|
1310
|
+
function pe(n, e, t, i, o, r = 1, c = 1) {
|
|
1311
|
+
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
1312
|
return [
|
|
1155
|
-
[
|
|
1156
|
-
[l,
|
|
1313
|
+
[s, a],
|
|
1314
|
+
[l, h]
|
|
1157
1315
|
];
|
|
1158
1316
|
}
|
|
1159
|
-
function
|
|
1160
|
-
return Math.hypot(Math.abs(
|
|
1317
|
+
function ge(n, e, t, i) {
|
|
1318
|
+
return Math.hypot(Math.abs(t - n), Math.abs(i - e));
|
|
1161
1319
|
}
|
|
1162
|
-
function
|
|
1163
|
-
const o = (n +
|
|
1164
|
-
return { x: o, y:
|
|
1320
|
+
function we(n, e, t, i) {
|
|
1321
|
+
const o = (n + t) / 2, r = (e + i) / 2;
|
|
1322
|
+
return { x: o, y: r };
|
|
1165
1323
|
}
|
|
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
|
-
}
|
|
1324
|
+
function xe(n, e, t, i) {
|
|
1325
|
+
const [o, r] = n, [c, s] = e;
|
|
1326
|
+
let a = 1 / 0;
|
|
1173
1327
|
if (c !== 0) {
|
|
1174
|
-
const l = c > 0 ? (
|
|
1175
|
-
l > 0 && (
|
|
1328
|
+
const l = c > 0 ? (t - o) / c : -o / c;
|
|
1329
|
+
l > 0 && (a = Math.min(a, l));
|
|
1330
|
+
}
|
|
1331
|
+
if (s !== 0) {
|
|
1332
|
+
const l = s > 0 ? (i - r) / s : -r / s;
|
|
1333
|
+
l > 0 && (a = Math.min(a, l));
|
|
1176
1334
|
}
|
|
1177
|
-
return
|
|
1335
|
+
return a === 1 / 0 ? n : [o + c * a, r + s * a];
|
|
1178
1336
|
}
|
|
1179
1337
|
class D {
|
|
1180
|
-
constructor(
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
this.resolve =
|
|
1338
|
+
constructor(e, t) {
|
|
1339
|
+
C(this, "resolve");
|
|
1340
|
+
C(this, "reject");
|
|
1341
|
+
this.resolve = e, this.reject = t;
|
|
1184
1342
|
}
|
|
1185
|
-
run(
|
|
1186
|
-
var
|
|
1187
|
-
return
|
|
1188
|
-
var
|
|
1189
|
-
return (
|
|
1343
|
+
run(e) {
|
|
1344
|
+
var t, i;
|
|
1345
|
+
return e instanceof Promise ? e.then((o) => {
|
|
1346
|
+
var r;
|
|
1347
|
+
return (r = this.resolve) == null || r.call(this), o;
|
|
1190
1348
|
}).catch((o) => {
|
|
1191
|
-
var
|
|
1192
|
-
return (
|
|
1193
|
-
}) :
|
|
1349
|
+
var r;
|
|
1350
|
+
return (r = this.reject) == null || r.call(this), Promise.reject(o);
|
|
1351
|
+
}) : e ? (t = this.resolve) == null || t.call(this) : (i = this.reject) == null || i.call(this), e;
|
|
1194
1352
|
}
|
|
1195
1353
|
}
|
|
1196
|
-
class
|
|
1197
|
-
constructor(
|
|
1198
|
-
super(), this.resolve =
|
|
1354
|
+
class yt extends D {
|
|
1355
|
+
constructor(e) {
|
|
1356
|
+
super(), this.resolve = e;
|
|
1199
1357
|
}
|
|
1200
|
-
warning(...
|
|
1201
|
-
const
|
|
1202
|
-
var
|
|
1203
|
-
return (o = (
|
|
1358
|
+
warning(...e) {
|
|
1359
|
+
const t = () => {
|
|
1360
|
+
var i, o;
|
|
1361
|
+
return (o = (i = X.tips).warning) == null ? void 0 : o.call(i, ...e);
|
|
1204
1362
|
};
|
|
1205
|
-
return new D(this.resolve,
|
|
1363
|
+
return new D(this.resolve, t);
|
|
1206
1364
|
}
|
|
1207
|
-
error(...
|
|
1208
|
-
const
|
|
1209
|
-
var
|
|
1210
|
-
return (o = (
|
|
1365
|
+
error(...e) {
|
|
1366
|
+
const t = () => {
|
|
1367
|
+
var i, o;
|
|
1368
|
+
return (o = (i = X.tips).error) == null ? void 0 : o.call(i, ...e);
|
|
1211
1369
|
};
|
|
1212
|
-
return new D(this.resolve,
|
|
1370
|
+
return new D(this.resolve, t);
|
|
1213
1371
|
}
|
|
1214
1372
|
}
|
|
1215
1373
|
class vt extends D {
|
|
1216
|
-
constructor(
|
|
1217
|
-
super(), this.reject =
|
|
1374
|
+
constructor(e) {
|
|
1375
|
+
super(), this.reject = e;
|
|
1218
1376
|
}
|
|
1219
|
-
info(...
|
|
1220
|
-
const
|
|
1221
|
-
var
|
|
1222
|
-
return (o = (
|
|
1377
|
+
info(...e) {
|
|
1378
|
+
const t = () => {
|
|
1379
|
+
var i, o;
|
|
1380
|
+
return (o = (i = X.tips).info) == null ? void 0 : o.call(i, ...e);
|
|
1223
1381
|
};
|
|
1224
|
-
return new D(
|
|
1382
|
+
return new D(t, this.reject);
|
|
1225
1383
|
}
|
|
1226
|
-
success(...
|
|
1227
|
-
const
|
|
1228
|
-
var
|
|
1229
|
-
return (o = (
|
|
1384
|
+
success(...e) {
|
|
1385
|
+
const t = () => {
|
|
1386
|
+
var i, o;
|
|
1387
|
+
return (o = (i = X.tips).success) == null ? void 0 : o.call(i, ...e);
|
|
1230
1388
|
};
|
|
1231
|
-
return new D(
|
|
1389
|
+
return new D(t, this.reject);
|
|
1232
1390
|
}
|
|
1233
1391
|
}
|
|
1234
|
-
const
|
|
1392
|
+
const g = class g {
|
|
1235
1393
|
/**
|
|
1236
1394
|
* 构造函数
|
|
1237
1395
|
* @throws 如果尝试实例化该类,则抛出错误,因为应该使用静态方法
|
|
1238
1396
|
*/
|
|
1239
1397
|
constructor() {
|
|
1240
|
-
if (new.target ===
|
|
1398
|
+
if (new.target === g)
|
|
1241
1399
|
throw new Error("请直接使用静态方法,而不是实例化此类");
|
|
1242
1400
|
}
|
|
1243
|
-
static register(
|
|
1244
|
-
if (typeof
|
|
1401
|
+
static register(e, t) {
|
|
1402
|
+
if (typeof t != "function")
|
|
1245
1403
|
return console.error("TipHandler must be a function");
|
|
1246
|
-
|
|
1404
|
+
g.tips[e] = t;
|
|
1247
1405
|
}
|
|
1248
|
-
static resolveTip(
|
|
1249
|
-
return function(...
|
|
1250
|
-
const
|
|
1251
|
-
var o,
|
|
1252
|
-
return (
|
|
1406
|
+
static resolveTip(e) {
|
|
1407
|
+
return function(...t) {
|
|
1408
|
+
const i = () => {
|
|
1409
|
+
var o, r;
|
|
1410
|
+
return (r = (o = g.tips)[e]) == null ? void 0 : r.call(o, ...t);
|
|
1253
1411
|
};
|
|
1254
|
-
return new
|
|
1412
|
+
return new yt(i);
|
|
1255
1413
|
};
|
|
1256
1414
|
}
|
|
1257
|
-
static rejectTip(
|
|
1258
|
-
return function(...
|
|
1259
|
-
const
|
|
1260
|
-
var o,
|
|
1261
|
-
return (
|
|
1415
|
+
static rejectTip(e) {
|
|
1416
|
+
return function(...t) {
|
|
1417
|
+
const i = () => {
|
|
1418
|
+
var o, r;
|
|
1419
|
+
return (r = (o = g.tips)[e]) == null ? void 0 : r.call(o, ...t);
|
|
1262
1420
|
};
|
|
1263
|
-
return new vt(
|
|
1421
|
+
return new vt(i);
|
|
1264
1422
|
};
|
|
1265
1423
|
}
|
|
1266
1424
|
};
|
|
1267
|
-
|
|
1425
|
+
C(g, "tips", {
|
|
1268
1426
|
info: void 0,
|
|
1269
1427
|
success: void 0,
|
|
1270
1428
|
warning: void 0,
|
|
1271
1429
|
error: void 0
|
|
1272
|
-
}),
|
|
1273
|
-
let
|
|
1430
|
+
}), C(g, "info", g.resolveTip("info")), C(g, "success", g.resolveTip("success")), C(g, "warning", g.rejectTip("warning")), C(g, "error", g.rejectTip("error"));
|
|
1431
|
+
let X = g;
|
|
1274
1432
|
export {
|
|
1275
|
-
|
|
1433
|
+
Et as _Animate_CreateOscillator,
|
|
1276
1434
|
Mt as _Animate_NumericTransition,
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1435
|
+
_t as _Animate_Schedule,
|
|
1436
|
+
Ct as _Blob_ConvertDataToImageUrl,
|
|
1437
|
+
Pt as _Browser_CalculatePrintableArea,
|
|
1438
|
+
Lt as _Browser_CopyToClipboard,
|
|
1280
1439
|
Ft as _Browser_GetFrameRate,
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
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
|
-
|
|
1440
|
+
ht as _Browser_KeyedWindowManager,
|
|
1441
|
+
ae as _Element_CalculateCanvasSize,
|
|
1442
|
+
ne as _Element_CloseOnOutsideClick,
|
|
1443
|
+
ie as _Element_Drag,
|
|
1444
|
+
ft as _Element_EnterFullscreen,
|
|
1445
|
+
pt as _Element_ExitFullscreen,
|
|
1446
|
+
oe as _Element_Fullscreen,
|
|
1447
|
+
se as _Element_FullscreenObserver,
|
|
1448
|
+
ce as _Element_GetOtherSizeInPixels,
|
|
1449
|
+
ct as _Element_IsFullscreen,
|
|
1450
|
+
le as _Element_LoadImage,
|
|
1451
|
+
re as _Element_LocalDrag,
|
|
1452
|
+
ee as _Element_ScrollEndListener,
|
|
1453
|
+
he as _File_CreateAndDownload,
|
|
1454
|
+
gt as _File_Download,
|
|
1455
|
+
ue as _File_Read,
|
|
1456
|
+
Ut as _Format_CamelCase,
|
|
1457
|
+
Tt as _Format_CapitalizeFirstLetter,
|
|
1458
|
+
kt as _Format_ExcludeSubstring,
|
|
1459
|
+
jt as _Format_FileSize,
|
|
1460
|
+
J as _Format_HrefName,
|
|
1461
|
+
It as _Format_NumberWithCommas,
|
|
1462
|
+
Rt as _Format_NumberWithUnit,
|
|
1463
|
+
At as _Format_Percentage,
|
|
1464
|
+
St as _Format_Timestamp,
|
|
1465
|
+
ge as _Math_CalculateDistance2D,
|
|
1466
|
+
pe as _Math_GetArcPoints,
|
|
1467
|
+
xe as _Math_GetBoundaryIntersection,
|
|
1468
|
+
we as _Math_GetMidpoint,
|
|
1469
|
+
me as _Math_LngLatToPlane,
|
|
1470
|
+
de as _Math_PlaneToLngLat,
|
|
1312
1471
|
fe as _Math_PointToLineDistance,
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1472
|
+
X as _Tip,
|
|
1473
|
+
Qt as _Utility_Clone,
|
|
1474
|
+
dt as _Utility_Debounce,
|
|
1475
|
+
Yt as _Utility_ExecuteWhenIdle,
|
|
1476
|
+
Ht as _Utility_GenerateUUID,
|
|
1477
|
+
Gt as _Utility_GetTargetByPath,
|
|
1478
|
+
Vt as _Utility_InitTargetByPath,
|
|
1479
|
+
ot as _Utility_MergeObjects,
|
|
1480
|
+
Kt as _Utility_RotateList,
|
|
1481
|
+
Zt as _Utility_SetTargetByPath,
|
|
1482
|
+
te as _Utility_Sleep,
|
|
1483
|
+
Wt as _Utility_Throttle,
|
|
1484
|
+
Jt as _Utility_TimeConsumption,
|
|
1485
|
+
Xt as _Utility_WaitForCondition,
|
|
1486
|
+
$t as _Valid_CheckConnectionWithXHR,
|
|
1487
|
+
tt as _Valid_DataType,
|
|
1488
|
+
Bt as _Valid_DoesInfiniteLineIntersectRectangle,
|
|
1489
|
+
rt as _Valid_FileTypeChecker,
|
|
1490
|
+
Ot as _Valid_Is2DNumberArray,
|
|
1491
|
+
zt as _Valid_IsInMargin,
|
|
1333
1492
|
mt as _Valid_IsNumberArray,
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1493
|
+
Dt as _Valid_IsObject,
|
|
1494
|
+
Nt as _Valid_IsPointInPolygon,
|
|
1495
|
+
qt as _Valid_IsSecureContext
|
|
1337
1496
|
};
|