sculp-js 1.19.12 → 1.19.13
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/cjs/array.cjs +1 -1
- package/dist/cjs/async.cjs +1 -1
- package/dist/cjs/base64.cjs +1 -1
- package/dist/cjs/clipboard.cjs +1 -1
- package/dist/cjs/cloneDeep.cjs +1 -1
- package/dist/cjs/cookie.cjs +1 -1
- package/dist/cjs/date.cjs +1 -1
- package/dist/cjs/dom.cjs +1 -1
- package/dist/cjs/download.cjs +1 -1
- package/dist/cjs/file.cjs +1 -1
- package/dist/cjs/func.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/isEqual.cjs +1 -1
- package/dist/cjs/math.cjs +1 -1
- package/dist/cjs/number.cjs +1 -1
- package/dist/cjs/object.cjs +1 -1
- package/dist/cjs/path.cjs +1 -1
- package/dist/cjs/qs.cjs +1 -1
- package/dist/cjs/random.cjs +1 -1
- package/dist/cjs/string.cjs +1 -1
- package/dist/cjs/tooltip.cjs +1 -1
- package/dist/cjs/tree.cjs +26 -26
- package/dist/cjs/type.cjs +1 -1
- package/dist/cjs/unicodeToolkit.cjs +1 -1
- package/dist/cjs/unique.cjs +1 -1
- package/dist/cjs/url.cjs +1 -1
- package/dist/cjs/validator.cjs +1 -1
- package/dist/cjs/variable.cjs +1 -1
- package/dist/cjs/watermark.cjs +1 -1
- package/dist/esm/array.mjs +1 -1
- package/dist/esm/async.mjs +1 -1
- package/dist/esm/base64.mjs +1 -1
- package/dist/esm/clipboard.mjs +1 -1
- package/dist/esm/cloneDeep.mjs +1 -1
- package/dist/esm/cookie.mjs +1 -1
- package/dist/esm/date.mjs +1 -1
- package/dist/esm/dom.mjs +1 -1
- package/dist/esm/download.mjs +1 -1
- package/dist/esm/file.mjs +1 -1
- package/dist/esm/func.mjs +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/isEqual.mjs +1 -1
- package/dist/esm/math.mjs +1 -1
- package/dist/esm/number.mjs +1 -1
- package/dist/esm/object.mjs +1 -1
- package/dist/esm/path.mjs +1 -1
- package/dist/esm/qs.mjs +1 -1
- package/dist/esm/random.mjs +1 -1
- package/dist/esm/string.mjs +1 -1
- package/dist/esm/tooltip.mjs +1 -1
- package/dist/esm/tree.mjs +26 -26
- package/dist/esm/type.mjs +1 -1
- package/dist/esm/unicodeToolkit.mjs +1 -1
- package/dist/esm/unique.mjs +1 -1
- package/dist/esm/url.mjs +1 -1
- package/dist/esm/validator.mjs +1 -1
- package/dist/esm/variable.mjs +1 -1
- package/dist/esm/watermark.mjs +1 -1
- package/dist/types/tree.d.ts +13 -13
- package/dist/umd/index.min.js +2 -2
- package/package.json +1 -1
package/dist/cjs/array.cjs
CHANGED
package/dist/cjs/async.cjs
CHANGED
package/dist/cjs/base64.cjs
CHANGED
package/dist/cjs/clipboard.cjs
CHANGED
package/dist/cjs/cloneDeep.cjs
CHANGED
package/dist/cjs/cookie.cjs
CHANGED
package/dist/cjs/date.cjs
CHANGED
package/dist/cjs/dom.cjs
CHANGED
package/dist/cjs/download.cjs
CHANGED
package/dist/cjs/file.cjs
CHANGED
package/dist/cjs/func.cjs
CHANGED
package/dist/cjs/index.cjs
CHANGED
package/dist/cjs/isEqual.cjs
CHANGED
package/dist/cjs/math.cjs
CHANGED
package/dist/cjs/number.cjs
CHANGED
package/dist/cjs/object.cjs
CHANGED
package/dist/cjs/path.cjs
CHANGED
package/dist/cjs/qs.cjs
CHANGED
package/dist/cjs/random.cjs
CHANGED
package/dist/cjs/string.cjs
CHANGED
package/dist/cjs/tooltip.cjs
CHANGED
package/dist/cjs/tree.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* sculp-js v1.19.
|
|
2
|
+
* sculp-js v1.19.13
|
|
3
3
|
* (c) 2023-present chandq
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -21,13 +21,13 @@ const defaultSearchTreeOptions = {
|
|
|
21
21
|
function getChildNodes(item, childField, isDomNode) {
|
|
22
22
|
const child = item[childField];
|
|
23
23
|
if (!child) return null;
|
|
24
|
-
return isDomNode && type.isNodeList(child) ?
|
|
24
|
+
return isDomNode && type.isNodeList(child) ? child : Array.isArray(child) ? child : null;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Tree traversal function (default DFS, supports continue and break operations).
|
|
28
28
|
* Can be used to traverse Array and NodeList type data.
|
|
29
|
-
* @param {V
|
|
30
|
-
* @param {Function}
|
|
29
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
30
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
31
31
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
32
32
|
childField: 'children',
|
|
33
33
|
reverse: false,
|
|
@@ -38,7 +38,7 @@ function getChildNodes(item, childField, isDomNode) {
|
|
|
38
38
|
*/
|
|
39
39
|
function forEachDeep(
|
|
40
40
|
tree,
|
|
41
|
-
|
|
41
|
+
iteratee,
|
|
42
42
|
options = {
|
|
43
43
|
childField: 'children',
|
|
44
44
|
reverse: false,
|
|
@@ -55,12 +55,12 @@ function forEachDeep(
|
|
|
55
55
|
let isBreak = false;
|
|
56
56
|
const queue = [];
|
|
57
57
|
const processNode = (item, index, arr, parent, level) => {
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
58
|
+
const result = iteratee(item, index, arr, tree, parent, level);
|
|
59
|
+
if (result === false) {
|
|
60
60
|
isBreak = true;
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
|
-
if (
|
|
63
|
+
if (result === true) return;
|
|
64
64
|
const childNodes = getChildNodes(item, childField, isDomNode);
|
|
65
65
|
if (childNodes) {
|
|
66
66
|
if (breadthFirst) {
|
|
@@ -104,7 +104,7 @@ function forEachDeep(
|
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Tree search function, can be used to search Array and NodeList type data.
|
|
107
|
-
* @param {V
|
|
107
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
108
108
|
* @param {Function} predicate - Predicate function
|
|
109
109
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
110
110
|
childField: 'children',
|
|
@@ -139,7 +139,7 @@ function findDeep(
|
|
|
139
139
|
}
|
|
140
140
|
/**
|
|
141
141
|
* Tree filter function, can be used to filter Array and NodeList type data.
|
|
142
|
-
* @param {V
|
|
142
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
143
143
|
* @param {Function} predicate - Predicate function
|
|
144
144
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
145
145
|
childField: 'children',
|
|
@@ -176,8 +176,8 @@ function filterDeep(
|
|
|
176
176
|
* Can be used for inserting or removing tree items.
|
|
177
177
|
*
|
|
178
178
|
* Can traverse any array-like object with a length property and numeric keys.
|
|
179
|
-
* @param {V
|
|
180
|
-
* @param {Function}
|
|
179
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
180
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
181
181
|
* @param {object} options - Options to customize child element name, reverse traversal. Default: {
|
|
182
182
|
childField: 'children',
|
|
183
183
|
reverse: false,
|
|
@@ -186,7 +186,7 @@ function filterDeep(
|
|
|
186
186
|
*/
|
|
187
187
|
function mapDeep(
|
|
188
188
|
tree,
|
|
189
|
-
|
|
189
|
+
iteratee,
|
|
190
190
|
options = {
|
|
191
191
|
childField: 'children',
|
|
192
192
|
reverse: false
|
|
@@ -200,13 +200,13 @@ function mapDeep(
|
|
|
200
200
|
for (let i = arr.length - 1; i >= 0; i--) {
|
|
201
201
|
if (isBreak) break;
|
|
202
202
|
const item = arr[i];
|
|
203
|
-
const
|
|
204
|
-
if (
|
|
203
|
+
const result = iteratee(item, i, arr, tree, parent, level);
|
|
204
|
+
if (result === false) {
|
|
205
205
|
isBreak = true;
|
|
206
206
|
break;
|
|
207
207
|
}
|
|
208
|
-
if (
|
|
209
|
-
const newItem = object.objectOmit(
|
|
208
|
+
if (result === true) continue;
|
|
209
|
+
const newItem = object.objectOmit(result, [childField]);
|
|
210
210
|
output.push(newItem);
|
|
211
211
|
const children = item[childField];
|
|
212
212
|
if (Array.isArray(children)) {
|
|
@@ -218,13 +218,13 @@ function mapDeep(
|
|
|
218
218
|
for (let i = 0; i < arr.length; i++) {
|
|
219
219
|
if (isBreak) break;
|
|
220
220
|
const item = arr[i];
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
221
|
+
const result = iteratee(item, i, arr, tree, parent, level);
|
|
222
|
+
if (result === false) {
|
|
223
223
|
isBreak = true;
|
|
224
224
|
break;
|
|
225
225
|
}
|
|
226
|
-
if (
|
|
227
|
-
const newItem = object.objectOmit(
|
|
226
|
+
if (result === true) continue;
|
|
227
|
+
const newItem = object.objectOmit(result, [childField]);
|
|
228
228
|
output.push(newItem);
|
|
229
229
|
const children = item[childField];
|
|
230
230
|
if (Array.isArray(children)) {
|
|
@@ -242,14 +242,14 @@ function mapDeep(
|
|
|
242
242
|
/**
|
|
243
243
|
* Retrieves the path (ancestors + self) for a given node ID.
|
|
244
244
|
*
|
|
245
|
-
* @param {ArrayLike<
|
|
245
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
246
246
|
* @param {number | string} nodeId - Target node ID
|
|
247
247
|
* @param {ITreeConf} options - Configuration. Default: { childField = 'children', keyField = 'id' }
|
|
248
248
|
* @returns {[(number | string)[], V[]]} - Array of IDs and Array of Nodes from root to target
|
|
249
249
|
*/
|
|
250
250
|
function getPathById(tree, nodeId, options = { childField: 'children', keyField: 'id' }) {
|
|
251
251
|
const { childField = 'children', keyField = 'id' } = type.isObject(options) ? options : {};
|
|
252
|
-
const
|
|
252
|
+
const nodeMap = {};
|
|
253
253
|
// 扁平化 - 使用迭代而非递归,避免栈溢出
|
|
254
254
|
const stack = [];
|
|
255
255
|
const len = tree.length;
|
|
@@ -259,7 +259,7 @@ function getPathById(tree, nodeId, options = { childField: 'children', keyField:
|
|
|
259
259
|
while (stack.length > 0) {
|
|
260
260
|
const { node, parentId, parent } = stack.pop();
|
|
261
261
|
const id = node[keyField];
|
|
262
|
-
|
|
262
|
+
nodeMap[id] = { node, parentId, parent };
|
|
263
263
|
const children = node[childField];
|
|
264
264
|
if (Array.isArray(children)) {
|
|
265
265
|
const childLen = children.length;
|
|
@@ -271,13 +271,13 @@ function getPathById(tree, nodeId, options = { childField: 'children', keyField:
|
|
|
271
271
|
// 回溯路径
|
|
272
272
|
const ids = [];
|
|
273
273
|
const nodes = [];
|
|
274
|
-
let current =
|
|
274
|
+
let current = nodeMap[nodeId];
|
|
275
275
|
if (!current) return [[], []];
|
|
276
276
|
ids.push(nodeId);
|
|
277
277
|
nodes.push(current.node);
|
|
278
278
|
while (current && current.parentId !== undefined) {
|
|
279
279
|
ids.unshift(current.parentId);
|
|
280
|
-
const parent =
|
|
280
|
+
const parent = nodeMap[current.parentId];
|
|
281
281
|
if (!parent) break;
|
|
282
282
|
nodes.unshift(parent.node);
|
|
283
283
|
current = parent;
|
package/dist/cjs/type.cjs
CHANGED
package/dist/cjs/unique.cjs
CHANGED
package/dist/cjs/url.cjs
CHANGED
package/dist/cjs/validator.cjs
CHANGED
package/dist/cjs/variable.cjs
CHANGED
package/dist/cjs/watermark.cjs
CHANGED
package/dist/esm/array.mjs
CHANGED
package/dist/esm/async.mjs
CHANGED
package/dist/esm/base64.mjs
CHANGED
package/dist/esm/clipboard.mjs
CHANGED
package/dist/esm/cloneDeep.mjs
CHANGED
package/dist/esm/cookie.mjs
CHANGED
package/dist/esm/date.mjs
CHANGED
package/dist/esm/dom.mjs
CHANGED
package/dist/esm/download.mjs
CHANGED
package/dist/esm/file.mjs
CHANGED
package/dist/esm/func.mjs
CHANGED
package/dist/esm/index.mjs
CHANGED
package/dist/esm/isEqual.mjs
CHANGED
package/dist/esm/math.mjs
CHANGED
package/dist/esm/number.mjs
CHANGED
package/dist/esm/object.mjs
CHANGED
package/dist/esm/path.mjs
CHANGED
package/dist/esm/qs.mjs
CHANGED
package/dist/esm/random.mjs
CHANGED
package/dist/esm/string.mjs
CHANGED
package/dist/esm/tooltip.mjs
CHANGED
package/dist/esm/tree.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* sculp-js v1.19.
|
|
2
|
+
* sculp-js v1.19.13
|
|
3
3
|
* (c) 2023-present chandq
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -17,13 +17,13 @@ const defaultSearchTreeOptions = {
|
|
|
17
17
|
function getChildNodes(item, childField, isDomNode) {
|
|
18
18
|
const child = item[childField];
|
|
19
19
|
if (!child) return null;
|
|
20
|
-
return isDomNode && isNodeList(child) ?
|
|
20
|
+
return isDomNode && isNodeList(child) ? child : Array.isArray(child) ? child : null;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Tree traversal function (default DFS, supports continue and break operations).
|
|
24
24
|
* Can be used to traverse Array and NodeList type data.
|
|
25
|
-
* @param {V
|
|
26
|
-
* @param {Function}
|
|
25
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
26
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
27
27
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
28
28
|
childField: 'children',
|
|
29
29
|
reverse: false,
|
|
@@ -34,7 +34,7 @@ function getChildNodes(item, childField, isDomNode) {
|
|
|
34
34
|
*/
|
|
35
35
|
function forEachDeep(
|
|
36
36
|
tree,
|
|
37
|
-
|
|
37
|
+
iteratee,
|
|
38
38
|
options = {
|
|
39
39
|
childField: 'children',
|
|
40
40
|
reverse: false,
|
|
@@ -51,12 +51,12 @@ function forEachDeep(
|
|
|
51
51
|
let isBreak = false;
|
|
52
52
|
const queue = [];
|
|
53
53
|
const processNode = (item, index, arr, parent, level) => {
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
54
|
+
const result = iteratee(item, index, arr, tree, parent, level);
|
|
55
|
+
if (result === false) {
|
|
56
56
|
isBreak = true;
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
if (
|
|
59
|
+
if (result === true) return;
|
|
60
60
|
const childNodes = getChildNodes(item, childField, isDomNode);
|
|
61
61
|
if (childNodes) {
|
|
62
62
|
if (breadthFirst) {
|
|
@@ -100,7 +100,7 @@ function forEachDeep(
|
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
102
|
* Tree search function, can be used to search Array and NodeList type data.
|
|
103
|
-
* @param {V
|
|
103
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
104
104
|
* @param {Function} predicate - Predicate function
|
|
105
105
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
106
106
|
childField: 'children',
|
|
@@ -135,7 +135,7 @@ function findDeep(
|
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
137
|
* Tree filter function, can be used to filter Array and NodeList type data.
|
|
138
|
-
* @param {V
|
|
138
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
139
139
|
* @param {Function} predicate - Predicate function
|
|
140
140
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
141
141
|
childField: 'children',
|
|
@@ -172,8 +172,8 @@ function filterDeep(
|
|
|
172
172
|
* Can be used for inserting or removing tree items.
|
|
173
173
|
*
|
|
174
174
|
* Can traverse any array-like object with a length property and numeric keys.
|
|
175
|
-
* @param {V
|
|
176
|
-
* @param {Function}
|
|
175
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
176
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
177
177
|
* @param {object} options - Options to customize child element name, reverse traversal. Default: {
|
|
178
178
|
childField: 'children',
|
|
179
179
|
reverse: false,
|
|
@@ -182,7 +182,7 @@ function filterDeep(
|
|
|
182
182
|
*/
|
|
183
183
|
function mapDeep(
|
|
184
184
|
tree,
|
|
185
|
-
|
|
185
|
+
iteratee,
|
|
186
186
|
options = {
|
|
187
187
|
childField: 'children',
|
|
188
188
|
reverse: false
|
|
@@ -196,13 +196,13 @@ function mapDeep(
|
|
|
196
196
|
for (let i = arr.length - 1; i >= 0; i--) {
|
|
197
197
|
if (isBreak) break;
|
|
198
198
|
const item = arr[i];
|
|
199
|
-
const
|
|
200
|
-
if (
|
|
199
|
+
const result = iteratee(item, i, arr, tree, parent, level);
|
|
200
|
+
if (result === false) {
|
|
201
201
|
isBreak = true;
|
|
202
202
|
break;
|
|
203
203
|
}
|
|
204
|
-
if (
|
|
205
|
-
const newItem = objectOmit(
|
|
204
|
+
if (result === true) continue;
|
|
205
|
+
const newItem = objectOmit(result, [childField]);
|
|
206
206
|
output.push(newItem);
|
|
207
207
|
const children = item[childField];
|
|
208
208
|
if (Array.isArray(children)) {
|
|
@@ -214,13 +214,13 @@ function mapDeep(
|
|
|
214
214
|
for (let i = 0; i < arr.length; i++) {
|
|
215
215
|
if (isBreak) break;
|
|
216
216
|
const item = arr[i];
|
|
217
|
-
const
|
|
218
|
-
if (
|
|
217
|
+
const result = iteratee(item, i, arr, tree, parent, level);
|
|
218
|
+
if (result === false) {
|
|
219
219
|
isBreak = true;
|
|
220
220
|
break;
|
|
221
221
|
}
|
|
222
|
-
if (
|
|
223
|
-
const newItem = objectOmit(
|
|
222
|
+
if (result === true) continue;
|
|
223
|
+
const newItem = objectOmit(result, [childField]);
|
|
224
224
|
output.push(newItem);
|
|
225
225
|
const children = item[childField];
|
|
226
226
|
if (Array.isArray(children)) {
|
|
@@ -238,14 +238,14 @@ function mapDeep(
|
|
|
238
238
|
/**
|
|
239
239
|
* Retrieves the path (ancestors + self) for a given node ID.
|
|
240
240
|
*
|
|
241
|
-
* @param {ArrayLike<
|
|
241
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
242
242
|
* @param {number | string} nodeId - Target node ID
|
|
243
243
|
* @param {ITreeConf} options - Configuration. Default: { childField = 'children', keyField = 'id' }
|
|
244
244
|
* @returns {[(number | string)[], V[]]} - Array of IDs and Array of Nodes from root to target
|
|
245
245
|
*/
|
|
246
246
|
function getPathById(tree, nodeId, options = { childField: 'children', keyField: 'id' }) {
|
|
247
247
|
const { childField = 'children', keyField = 'id' } = isObject(options) ? options : {};
|
|
248
|
-
const
|
|
248
|
+
const nodeMap = {};
|
|
249
249
|
// 扁平化 - 使用迭代而非递归,避免栈溢出
|
|
250
250
|
const stack = [];
|
|
251
251
|
const len = tree.length;
|
|
@@ -255,7 +255,7 @@ function getPathById(tree, nodeId, options = { childField: 'children', keyField:
|
|
|
255
255
|
while (stack.length > 0) {
|
|
256
256
|
const { node, parentId, parent } = stack.pop();
|
|
257
257
|
const id = node[keyField];
|
|
258
|
-
|
|
258
|
+
nodeMap[id] = { node, parentId, parent };
|
|
259
259
|
const children = node[childField];
|
|
260
260
|
if (Array.isArray(children)) {
|
|
261
261
|
const childLen = children.length;
|
|
@@ -267,13 +267,13 @@ function getPathById(tree, nodeId, options = { childField: 'children', keyField:
|
|
|
267
267
|
// 回溯路径
|
|
268
268
|
const ids = [];
|
|
269
269
|
const nodes = [];
|
|
270
|
-
let current =
|
|
270
|
+
let current = nodeMap[nodeId];
|
|
271
271
|
if (!current) return [[], []];
|
|
272
272
|
ids.push(nodeId);
|
|
273
273
|
nodes.push(current.node);
|
|
274
274
|
while (current && current.parentId !== undefined) {
|
|
275
275
|
ids.unshift(current.parentId);
|
|
276
|
-
const parent =
|
|
276
|
+
const parent = nodeMap[current.parentId];
|
|
277
277
|
if (!parent) break;
|
|
278
278
|
nodes.unshift(parent.node);
|
|
279
279
|
current = parent;
|
package/dist/esm/type.mjs
CHANGED
package/dist/esm/unique.mjs
CHANGED
package/dist/esm/url.mjs
CHANGED
package/dist/esm/validator.mjs
CHANGED
package/dist/esm/variable.mjs
CHANGED
package/dist/esm/watermark.mjs
CHANGED
package/dist/types/tree.d.ts
CHANGED
|
@@ -11,13 +11,13 @@ export interface ISearchTreeOpts {
|
|
|
11
11
|
}
|
|
12
12
|
export interface IFilterCondition<V> {
|
|
13
13
|
keyword?: string;
|
|
14
|
-
filter?: (
|
|
14
|
+
filter?: (val: V) => boolean;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Tree traversal function (default DFS, supports continue and break operations).
|
|
18
18
|
* Can be used to traverse Array and NodeList type data.
|
|
19
|
-
* @param {V
|
|
20
|
-
* @param {Function}
|
|
19
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
20
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
21
21
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
22
22
|
childField: 'children',
|
|
23
23
|
reverse: false,
|
|
@@ -26,7 +26,7 @@ export interface IFilterCondition<V> {
|
|
|
26
26
|
}
|
|
27
27
|
* @returns {*}
|
|
28
28
|
*/
|
|
29
|
-
export declare function forEachDeep<V>(tree: V
|
|
29
|
+
export declare function forEachDeep<V>(tree: ArrayLike<V>, iteratee: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => boolean | void, options?: {
|
|
30
30
|
childField?: string;
|
|
31
31
|
reverse?: boolean;
|
|
32
32
|
breadthFirst?: boolean;
|
|
@@ -34,7 +34,7 @@ export declare function forEachDeep<V>(tree: V[], iterator: (val: V, index: numb
|
|
|
34
34
|
}): void;
|
|
35
35
|
/**
|
|
36
36
|
* Tree search function, can be used to search Array and NodeList type data.
|
|
37
|
-
* @param {V
|
|
37
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
38
38
|
* @param {Function} predicate - Predicate function
|
|
39
39
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
40
40
|
childField: 'children',
|
|
@@ -44,7 +44,7 @@ export declare function forEachDeep<V>(tree: V[], iterator: (val: V, index: numb
|
|
|
44
44
|
}
|
|
45
45
|
* @returns {V|null}
|
|
46
46
|
*/
|
|
47
|
-
export declare function findDeep<V>(tree: V
|
|
47
|
+
export declare function findDeep<V>(tree: ArrayLike<V>, predicate: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => boolean | void, options?: {
|
|
48
48
|
childField?: string;
|
|
49
49
|
reverse?: boolean;
|
|
50
50
|
breadthFirst?: boolean;
|
|
@@ -52,7 +52,7 @@ export declare function findDeep<V>(tree: V[], predicate: (val: V, index: number
|
|
|
52
52
|
}): V | null;
|
|
53
53
|
/**
|
|
54
54
|
* Tree filter function, can be used to filter Array and NodeList type data.
|
|
55
|
-
* @param {V
|
|
55
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
56
56
|
* @param {Function} predicate - Predicate function
|
|
57
57
|
* @param {object} options - Options to customize child element name, reverse traversal, breadth-first traversal. Default: {
|
|
58
58
|
childField: 'children',
|
|
@@ -62,7 +62,7 @@ export declare function findDeep<V>(tree: V[], predicate: (val: V, index: number
|
|
|
62
62
|
}
|
|
63
63
|
* @returns {V[]}
|
|
64
64
|
*/
|
|
65
|
-
export declare function filterDeep<V>(tree: V
|
|
65
|
+
export declare function filterDeep<V>(tree: ArrayLike<V>, predicate: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => boolean | void, options?: {
|
|
66
66
|
childField?: string;
|
|
67
67
|
reverse?: boolean;
|
|
68
68
|
breadthFirst?: boolean;
|
|
@@ -73,15 +73,15 @@ export declare function filterDeep<V>(tree: V[], predicate: (val: V, index: numb
|
|
|
73
73
|
* Can be used for inserting or removing tree items.
|
|
74
74
|
*
|
|
75
75
|
* Can traverse any array-like object with a length property and numeric keys.
|
|
76
|
-
* @param {V
|
|
77
|
-
* @param {Function}
|
|
76
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
77
|
+
* @param {Function} iteratee - Iteratee function. Returns true to continue, false to break.
|
|
78
78
|
* @param {object} options - Options to customize child element name, reverse traversal. Default: {
|
|
79
79
|
childField: 'children',
|
|
80
80
|
reverse: false,
|
|
81
81
|
}
|
|
82
82
|
* @returns {any[]} A new tree structure
|
|
83
83
|
*/
|
|
84
|
-
export declare function mapDeep<
|
|
84
|
+
export declare function mapDeep<V>(tree: ArrayLike<V>, iteratee: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => {
|
|
85
85
|
[k: string | number]: any;
|
|
86
86
|
} | boolean, options?: {
|
|
87
87
|
childField?: string;
|
|
@@ -92,12 +92,12 @@ export type ITreeConf = Omit<IFieldOptions, 'pidField'>;
|
|
|
92
92
|
/**
|
|
93
93
|
* Retrieves the path (ancestors + self) for a given node ID.
|
|
94
94
|
*
|
|
95
|
-
* @param {ArrayLike<
|
|
95
|
+
* @param {ArrayLike<V>} tree - Tree data
|
|
96
96
|
* @param {number | string} nodeId - Target node ID
|
|
97
97
|
* @param {ITreeConf} options - Configuration. Default: { childField = 'children', keyField = 'id' }
|
|
98
98
|
* @returns {[(number | string)[], V[]]} - Array of IDs and Array of Nodes from root to target
|
|
99
99
|
*/
|
|
100
|
-
export declare function getPathById<V>(tree: V
|
|
100
|
+
export declare function getPathById<V>(tree: ArrayLike<V>, nodeId: IdLike, options?: ITreeConf): [(number | string)[], any[]];
|
|
101
101
|
export { getPathById as searchTreeById };
|
|
102
102
|
/**
|
|
103
103
|
* Converts a flat array into a tree structure.
|
package/dist/umd/index.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* sculp-js v1.19.
|
|
2
|
+
* sculp-js v1.19.13
|
|
3
3
|
* (c) 2023-present chandq
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).sculpJs={})}(this,(function(e){"use strict";function t(e,t,r=!1){if(r)for(let r=e.length-1;r>=0;r--){const n=t(e[r],r,e);if(!1===n)break}else for(let r=0,n=e.length;r<n;r++){const n=t(e[r],r,e);if(!1===n)break}e=null}async function r(e,t,r=!1){if(r)for(let r=e.length-1;r>=0&&!1!==await t(e[r],r);r--);else for(let r=0,n=e.length;r<n&&!1!==await t(e[r],r);r++);}function n(e,t,r){if(t===r||t+1===r)return;const[n]=e.splice(t,1),o=r<t?r:r-1;e.splice(o,0,n)}function o(e,r){const n=[],o=r;return t(e,((e,t)=>{o(e,t)&&n.push(t)})),n.forEach(((t,r)=>{e.splice(t-r,1)})),e}function i(e,t,r){const n=e=>{if(r)return r(e);if("string"==typeof e||"number"==typeof e||"symbol"==typeof e)return e;throw new Error("diffArray: getKey is required when item is not a primitive value")},o=new Map,i=new Map;for(const t of e)o.set(n(t),t);for(const e of t)i.set(n(e),e);const s=[],a=[];for(const[e,t]of i)o.has(e)||s.push(t);for(const[e,t]of o)i.has(e)||a.push(t);return{added:s,removed:a}}var s={arrayEach:t,arrayEachAsync:r,arrayInsertBefore:n,arrayRemove:o,diffArray:i},a=Object.freeze({__proto__:null,arrayEach:t,arrayEachAsync:r,arrayInsertBefore:n,arrayRemove:o,default:s,diffArray:i});const{toString:l,hasOwnProperty:c}=Object.prototype;function u(e,t){return c.call(e,t)}function d(e){return!!x(e)||(!!h(e)||!!_(e)&&u(e,"length"))}function f(e){return l.call(e).slice(8,-1)}function p(e,t){return f(e)===t}const h=e=>"string"==typeof e,g=e=>"boolean"==typeof e,m=e=>"symbol"==typeof e,y=e=>"bigint"==typeof e,b=e=>"number"==typeof e&&!Number.isNaN(e),A=e=>void 0===e,S=e=>null===e,w=e=>null===e||"object"!=typeof e;function E(e){return A(e)||S(e)}const _=e=>"Object"===f(e),x=e=>Array.isArray(e),v=e=>"function"==typeof e,C=e=>Number.isNaN(e),T=e=>"Date"===f(e),j=e=>"Error"===f(e),F=e=>"RegExp"===f(e),P=e=>"Promise"===f(e),N=e=>"Map"===f(e),R=e=>"Set"===f(e),O=e=>{const t=f(e);return"Int8Array"===t||"Uint8Array"===t||"Uint8ClampedArray"===t||"Int16Array"===t||"Uint16Array"===t||"Int32Array"===t||"Uint32Array"===t||"Float32Array"===t||"Float64Array"===t||"BigInt64Array"===t||"BigUint64Array"===t},I=e=>"DataView"===f(e),D=e=>"ArrayBuffer"===f(e),$=e=>"Arguments"===f(e),M=e=>"AsyncFunction"===f(e);function L(e){try{const t=JSON.parse(e);return"object"==typeof t&&null!==t&&t}catch(e){return!1}}function U(e){if(E(e)||Number.isNaN(e))return!0;const t=f(e);return d(e)||"Arguments"===t?!e.length:"Set"===t||"Map"===t?!e.size:!Object.keys(e).length}function B(e){return!A(NodeList)&&NodeList.prototype.isPrototypeOf(e)}var k={typeIs:f,is:p,TypeMapping:void 0,TypeTag:void 0,objectHas:u,arrayLike:d,isString:h,isBoolean:g,isSymbol:m,isBigInt:y,isNumber:b,isUndefined:A,isNull:S,isPrimitive:w,isNullOrUnDef:E,isNullish:E,isObject:_,isArray:x,isFunction:v,isNaN:C,isDate:T,isError:j,isRegExp:F,isPromise:P,isMap:N,isSet:R,isTypedArray:O,isDataView:I,isArrayBuffer:D,isArguments:$,isAsyncFunction:M,isJsonString:L,isEmpty:U,isNodeList:B},z=Object.freeze({__proto__:null,arrayLike:d,default:k,is:p,isArguments:$,isArray:x,isArrayBuffer:D,isAsyncFunction:M,isBigInt:y,isBoolean:g,isDataView:I,isDate:T,isEmpty:U,isError:j,isFunction:v,isJsonString:L,isMap:N,isNaN:C,isNodeList:B,isNull:S,isNullOrUnDef:E,isNullish:E,isNumber:b,isObject:_,isPrimitive:w,isPromise:P,isRegExp:F,isSet:R,isString:h,isSymbol:m,isTypedArray:O,isUndefined:A,objectHas:u,typeIs:f});const H=f,G=e=>{if(!_(e))return!1;const t=Object.getPrototypeOf(e);return!t||t===Object.prototype};function q(e,t){for(const r in e)if(u(e,r)&&!1===t(e[r],r))break;e=null}async function V(e,t){for(const r in e)if(u(e,r)&&!1===await t(e[r],r))break}function W(e,t){const r={};for(const n in e)u(e,n)&&(r[n]=t(e[n],n));return e=null,r}function X(e,t){const r={};return q(e,((e,n)=>{t.includes(n)&&(r[n]=e)})),e=null,r}function Y(e,t){const r={};return q(e,((e,n)=>{t.includes(n)||(r[n]=e)})),e=null,r}const K=(e,t,r)=>{if(A(r))return t;if(H(t)!==H(r))return x(r)?K(e,[],r):_(r)?K(e,{},r):r;if(G(r)){const n=e.get(r);return n||(e.set(r,t),q(r,((r,n)=>{t[n]=K(e,t[n],r)})),t)}if(x(r)){const n=e.get(r);return n||(e.set(r,t),r.forEach(((r,n)=>{t[n]=K(e,t[n],r)})),t)}return r};function J(e,...t){const r=new Map;for(let n=0,o=t.length;n<o;n++){const o=t[n];e=K(r,e,o)}return r.clear(),e}function Z(e,t,r){const n=r||((e,t,r)=>void 0===e[r]);return q(t,((r,o)=>{n(e,t,o)&&(e[o]=r)})),e}function Q(e,t,r=!1){const n=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split(".");let o=e,i=0;for(let e=n.length;i<e-1;++i){const e=n[i];if(b(Number(e))&&Array.isArray(o))o=o[e];else{if(!_(o)||!u(o,e)){if(o=void 0,r)throw new Error("[Object] objectGet path 路径不正确");break}o=o[e]}}return{p:o,k:o?n[i]:void 0,v:o?o[n[i]]:void 0}}var ee={isPlainObject:G,objectEach:q,objectEachAsync:V,objectMap:W,objectPick:X,objectOmit:Y,objectAssign:J,objectMerge:J,objectFill:Z,objectGet:Q},te=Object.freeze({__proto__:null,default:ee,isPlainObject:G,objectAssign:J,objectEach:q,objectEachAsync:V,objectFill:Z,objectGet:Q,objectMap:W,objectMerge:J,objectOmit:Y,objectPick:X});function re(e,t){let r=e;t&&(r=e.replace(/^./,(e=>e.toUpperCase())));return r.replace(/[\s_-](.)/g,((e,t)=>t.toUpperCase()))}function ne(e,t="-"){return e.replace(/^./,(e=>e.toLowerCase())).replace(/[A-Z]/g,(e=>`${t}${e.toLowerCase()}`))}const oe="0123456789",ie="abcdefghijklmnopqrstuvwxyz",se="ABCDEFGHIJKLMNOPQRSTUVWXYZ",ae=/%[%sdo]/g;function le(e,...t){let r=0;return[e.replace(ae,(e=>{const n=t[r++];switch(e){case"%%":return r--,"%";default:case"%s":return String(n);case"%d":return String(Number(n));case"%o":return JSON.stringify(n)}})),...t.splice(r).map(String)].join(" ")}const ce=/\${(.*?)}/g,ue=(e,t)=>e.replace(ce,((e,r)=>((e,t)=>{try{return new Function(`with(arguments[0]){if(arguments[0].${e} === undefined)throw "";return String(arguments[0].${e})}`)(t)}catch(t){throw new SyntaxError(`无法执行表达式:${e}`)}})(r,t))),de=e=>{const t={"&":"&","<":"<",">":">",'"':"""};return e.replace(/[&<>"]/g,(e=>t[e]))},fe=(e,t=" ")=>new Array(e).fill(t).join("");function pe(e=location.search){const t={};return Array.from(e.matchAll(/[&?]?([^=&]+)=?([^=&]*)/g)).forEach((e=>{const r=e[1],n=e[2],o=t[r];o?Array.isArray(o)?o.push(n):t[r]=[o,n]:t[r]=n})),t}var he={stringCamelCase:re,stringKebabCase:ne,STRING_ARABIC_NUMERALS:oe,STRING_LOWERCASE_ALPHA:ie,STRING_UPPERCASE_ALPHA:se,stringFormat:le,stringAssign:ue,stringEscapeHtml:de,stringFill:fe,parseQueryParams:pe},ge=Object.freeze({__proto__:null,STRING_ARABIC_NUMERALS:oe,STRING_LOWERCASE_ALPHA:ie,STRING_UPPERCASE_ALPHA:se,default:he,parseQueryParams:pe,stringAssign:ue,stringCamelCase:re,stringEscapeHtml:de,stringFill:fe,stringFormat:le,stringKebabCase:ne});function me(e,t){if(-1!==t.indexOf(" "))throw new Error("className should not contain space.");return e.classList.contains(t)}const ye=(e,t)=>{e.split(/\s+/g).forEach(t)};function be(e,t){ye(t,(t=>e.classList.add(t)))}function Ae(e,t){ye(t,(t=>e.classList.remove(t)))}const Se=(e,t,r)=>{_(t)?q(t,((t,r)=>{Se(e,r,t)})):e.style.setProperty(ne(t),r)};function we(e,t){return getComputedStyle(e).getPropertyValue(t)}function Ee(e,t,r=!0){const n=getComputedStyle(e).getPropertyValue(t)??"";return r?Number(n.replace(/([0-9]*)(.*)/g,"$1")):n}function _e(e,t=14,r=!0){let n=0;if(console.assert(h(e),`${e} 不是有效的字符串`),h(e)&&e.length>0){const o="getStrWidth1494304949567";let i=document.querySelector(`#${o}`);if(!i){const r=document.createElement("span");r.id=o,r.style.fontSize=t+"px",r.style.whiteSpace="nowrap",r.style.visibility="hidden",r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.textContent=e,document.body.appendChild(r),i=r}i.textContent=e,n=i.offsetWidth,r&&i.remove()}return n}function xe(e){let t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){const r=e.hasAttribute("readonly");r||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),r||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();const r=window.getSelection(),n=document.createRange();n.selectNodeContents(e),r.removeAllRanges(),r.addRange(n),t=r.toString()}return t}var ve={hasClass:me,addClass:be,removeClass:Ae,setStyle:Se,getStyle:we,getComputedCssVal:Ee,getStrWidthPx:_e,select:xe},Ce=Object.freeze({__proto__:null,addClass:be,default:ve,getComputedCssVal:Ee,getStrWidthPx:_e,getStyle:we,hasClass:me,removeClass:Ae,select:xe,setStyle:Se});function Te(e,t){const{successCallback:r,failCallback:n}=E(t)?{}:t;navigator.clipboard?navigator.clipboard.writeText(e).then((()=>{v(r)&&r()})).catch((r=>{je(e,t)})):je(e,t)}function je(e,t){const{successCallback:r,failCallback:n,container:o=document.body}=E(t)?{}:t;let i=function(e){const t="rtl"===document.documentElement.getAttribute("dir"),r=document.createElement("textarea");r.style.fontSize="12pt",r.style.border="0",r.style.padding="0",r.style.margin="0",r.style.position="absolute",r.style[t?"right":"left"]="-9999px";const n=window.pageYOffset||document.documentElement.scrollTop;return r.style.top=`${n}px`,r.setAttribute("readonly",""),r.value=e,r}(e);o.appendChild(i),xe(i);try{document.execCommand("copy")&&v(r)&&r()}catch(e){v(n)&&n(e)}finally{o.removeChild(i),i=null,window.getSelection()?.removeAllRanges()}}var Fe={copyText:Te,fallbackCopyText:je},Pe=Object.freeze({__proto__:null,copyText:Te,default:Fe,fallbackCopyText:je});function Ne(e){const{cookie:t}=document;if(!t)return"";const r=t.split(";");for(let t=0;t<r.length;t++){const n=r[t],[o,i=""]=n.split("=");if(o===e)return decodeURIComponent(i)}return""}function Re(e,t,r){const n=[],o="expires";if(n.push([e,encodeURIComponent(t)]),b(r)){const e=new Date;e.setTime(e.getTime()+r),n.push([o,e.toUTCString()])}else T(r)&&n.push([o,r.toUTCString()]);n.push(["path","/"]),document.cookie=n.map((e=>{const[t,r]=e;return`${t}=${r}`})).join(";")}const Oe=e=>Re(e,"",-1);var Ie={cookieSet:Re,cookieGet:Ne,cookieDel:Oe},De=Object.freeze({__proto__:null,cookieDel:Oe,cookieGet:Ne,cookieSet:Re,default:Ie});const $e=e=>T(e)&&!C(e.getTime()),Me=e=>{if(!h(e))return;const t=e.replace(/-/g,"/");return new Date(t)},Le=e=>{if(!h(e))return;const t=/([+-])(\d\d)(\d\d)$/,r=t.exec(e);if(!r)return;const n=e.replace(t,"Z"),o=new Date(n);if(!$e(o))return;const[,i,s,a]=r,l=parseInt(s,10),c=parseInt(a,10),u=(e,t)=>"+"===i?e-t:e+t;return o.setHours(u(o.getHours(),l)),o.setMinutes(u(o.getMinutes(),c)),o};function Ue(e){const t=new Date(e);if($e(t))return t;const r=Me(e);if($e(r))return r;const n=Le(e);if($e(n))return n;throw new SyntaxError(`${e.toString()} 不是一个合法的日期描述`)}function Be(e){const t=Ue(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)}function ke(e){const t=Be(e);return t.setDate(t.getDate()+1),Ue(t.getTime()-1)}function ze(e,t="YYYY-MM-DD HH:mm:ss"){const r=Ue(e);let n,o=t;const i={"Y+":`${r.getFullYear()}`,"y+":`${r.getFullYear()}`,"M+":`${r.getMonth()+1}`,"D+":`${r.getDate()}`,"d+":`${r.getDate()}`,"H+":`${r.getHours()}`,"m+":`${r.getMinutes()}`,"s+":`${r.getSeconds()}`,"S+":`${r.getMilliseconds()}`,"w+":["周日","周一","周二","周三","周四","周五","周六"][r.getDay()]};for(const e in i)n=new RegExp("("+e+")").exec(o),n&&(o=o.replace(n[1],1===n[1].length?i[e]:i[e].padStart(n[1].length,"0")));return o}function He(e,t={}){const{format:r,returnDate:n=!1,years:o=0,months:i=0,weeks:s=0,days:a=0,hours:l=0,minutes:c=0,seconds:u=0,milliseconds:d=0}=t,f=Ue(e),p=new Date(f),h=f.getDate(),g=h===new Date(f.getFullYear(),f.getMonth()+1,0).getDate();if(p.setFullYear(p.getFullYear()+o),0!==i){const e=p.getMonth()+i,t=new Date(p.getFullYear(),e+1,0).getDate();p.setDate(1),p.setMonth(e),g||h>t?p.setDate(t):p.setDate(h)}if(0===a&&0===s||p.setDate(p.getDate()+a+7*s),p.setHours(p.getHours()+l),p.setMinutes(p.getMinutes()+c),p.setSeconds(p.getSeconds()+u),p.setMilliseconds(p.getMilliseconds()+d),n)return p;if(r)return ze(p,r);const m=p.getFullYear(),y=String(p.getMonth()+1).padStart(2,"0"),b=String(p.getDate()).padStart(2,"0"),A=String(p.getHours()).padStart(2,"0"),S=String(p.getMinutes()).padStart(2,"0"),w=String(p.getSeconds()).padStart(2,"0");if(t.hasOwnProperty("hours")||t.hasOwnProperty("minutes")||t.hasOwnProperty("seconds")||t.hasOwnProperty("milliseconds")){if(t.hasOwnProperty("milliseconds")){return`${m}-${y}-${b} ${A}:${S}:${w}.${String(p.getMilliseconds()).padStart(3,"0")}`}return t.hasOwnProperty("seconds")?`${m}-${y}-${b} ${A}:${S}:${w}`:`${m}-${y}-${b} ${A}:${S}`}return`${m}-${y}-${b}`}var Ge={isValidDate:$e,dateParse:Ue,dateToStart:Be,dateToEnd:ke,formatDate:ze,adjustDate:He,calculateDate:He},qe=Object.freeze({__proto__:null,adjustDate:He,dateParse:Ue,dateToEnd:ke,dateToStart:Be,default:Ge,formatDate:ze,isValidDate:$e});const Ve=e=>{const t=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/").replace(/\.{3,}/g,"..").replace(/\/\.\//g,"/").split("/").map((e=>e.trim())),r=e=>".."===e,n=[];let o=!1;const i=e=>{n.push(e)};return t.forEach((e=>{const t=(e=>"."===e)(e),s=r(e);return o?t?void 0:s?(()=>{if(0===n.length)return;const e=n[n.length-1];r(e)?n.push(".."):n.pop()})():void i(e):(i(e),void(o=!t&&!s))})),n.join("/")},We=(e,...t)=>Ve([e,...t].join("/"));var Xe={pathJoin:We,pathNormalize:Ve},Ye=Object.freeze({__proto__:null,default:Xe,pathJoin:We,pathNormalize:Ve});function Ke(e){const t=new URLSearchParams(e),r={};for(const[e,n]of t.entries())A(r[e])?r[e]=n:x(r[e])||(r[e]=t.getAll(e));return r}const Je=e=>h(e)?e:b(e)?String(e):g(e)?e?"true":"false":T(e)?e.toISOString():null;function Ze(e,t=Je){const r=new URLSearchParams;return q(e,((e,n)=>{if(x(e))e.forEach((e=>{const o=t(e);null!==o&&r.append(n.toString(),o)}));else{const o=t(e);if(null===o)return;r.set(n.toString(),o)}})),r.toString()}var Qe={qsParse:Ke,qsStringify:Ze},et=Object.freeze({__proto__:null,default:Qe,qsParse:Ke,qsStringify:Ze});const tt=(e,t=!0)=>{let r=null;v(URL)&&t?r=new URL(e):(r=document.createElement("a"),r.href=e);const{protocol:n,username:o,password:i,host:s,port:a,hostname:l,hash:c,search:u,pathname:d}=r,f=We("/",d),p=o&&i?`${o}:${i}`:"",h=u.replace(/^\?/,"");return r=null,{protocol:n,auth:p,username:o,password:i,host:s,port:a,hostname:l,hash:c,search:u,searchParams:Ke(h),query:h,pathname:f,path:`${f}${u}`,href:e}},rt=e=>{const{protocol:t,auth:r,host:n,pathname:o,searchParams:i,hash:s}=e,a=r?`${r}@`:"",l=Ze(i),c=l?`?${l}`:"";let u=s.replace(/^#/,"");return u=u?"#"+u:"",`${t}//${a}${n}${o}${c}${u}`},nt=(e,t)=>{const r=tt(e);return Object.assign(r.searchParams,t),rt(r)},ot=(e,t)=>{const r=tt(e);return t.forEach((e=>delete r.searchParams[e])),rt(r)};var it={urlParse:tt,urlStringify:rt,urlSetParams:nt,urlDelParams:ot},st=Object.freeze({__proto__:null,default:it,urlDelParams:ot,urlParse:tt,urlSetParams:nt,urlStringify:rt});function at(e,t){window.open(t?nt(e,t):e)}function lt(e,t,r){let n=document.createElement("a");n.download=t,n.style.display="none",n.href=e,document.body.appendChild(n),n.click(),setTimeout((()=>{document.body.removeChild(n),n=null,v(r)&&r()}))}function ct(e,t,r){const n=URL.createObjectURL(e);lt(n,t),setTimeout((()=>{URL.revokeObjectURL(n),v(r)&&r()}))}function ut(e,t,r){const{successCode:n=200,successCallback:o,failCallback:i}=E(r)?{successCode:200,successCallback:void 0,failCallback:void 0}:r,s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){if(s.status===n)ct(s.response,t,o);else if(v(i)){const e=s.status,t=s.getResponseHeader("Content-Type");if(h(t)&&t.includes("application/json")){const t=new FileReader;t.onload=()=>{i({status:e,response:t.result})},t.readAsText(s.response)}else i(s)}},s.onerror=e=>{v(i)&&i({status:0,code:"ERROR_CONNECTION_REFUSED"})},s.send()}function dt(e,t,r,n){if(r=r.replace(`.${t}`,"")+`.${t}`,"json"===t){ct(new Blob([JSON.stringify(e,null,4)]),r)}else{if(!n||!n.length)throw new Error("未传入表头数据");if(!Array.isArray(e))throw new Error("data error! expected array!");const o=n.join(",")+"\n";let i="";e.forEach((e=>{i+=Object.values(e).join(",\t")+",\n"}));lt("data:"+{csv:"text/csv",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}[t]+";charset=utf-8,\ufeff"+encodeURIComponent(o+i),r)}}var ft={downloadURL:at,downloadHref:lt,downloadBlob:ct,crossOriginDownload:ut,downloadData:dt},pt=Object.freeze({__proto__:null,crossOriginDownload:ut,default:ft,downloadBlob:ct,downloadData:dt,downloadHref:lt,downloadURL:at});function ht(e=1){return new Promise((t=>setTimeout(t,e)))}function gt(e,t,r=1/0){return new Promise(((n,o)=>{const i=e[Symbol.iterator](),s=Math.min(e.length,r),a=[];let l,c=0,u=0;const d=()=>{if(l)return o(l);const r=i.next();if(r.done)return void(c===e.length&&n(a));const s=u++;t(r.value,s,e).then((e=>{c++,a[s]=e,d()})).catch((e=>{l=e,d()}))};for(let e=0;e<s;e++)d()}))}function mt(e,t){return e.then((e=>[null,e])).catch((e=>{if(t){return[Object.assign({},e,t),void 0]}return[e,void 0]}))}var yt={wait:ht,asyncMap:gt,safeAwait:mt},bt=Object.freeze({__proto__:null,asyncMap:gt,default:yt,safeAwait:mt,wait:ht});function At(){return!!document.createElement("canvas").getContext}function St(e,t){let r=document.createElement("input");r.setAttribute("id",String(Date.now())),r.setAttribute("type","file"),r.setAttribute("style","visibility:hidden"),r.setAttribute("accept",e),document.body.appendChild(r),r.click(),r.onchange=e=>{t(e.target.files),setTimeout((()=>{document.body.removeChild(r),r=null}))}}function wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n}){let o=r,i=n;return(r>e||n>t)&&(r/n>e/t?(o=e,i=Math.round(e*(n/r))):(i=t,o=Math.round(t*(r/n)))),{width:o,height:i}}function Et(e,t={mime:"image/jpeg",minFileSizeKB:50}){if(!(e instanceof File||e instanceof FileList))throw new Error(`${e} require be File or FileList`);if(!At())throw new Error("Current runtime environment not support Canvas");const{quality:r,mime:n="image/jpeg",maxSize:o,minFileSizeKB:i=50}=_(t)?t:{};let s,a=r;if(r)a=r;else if(e instanceof File){const t=+parseInt((e.size/1024).toFixed(2));a=t<i?1:t<1024?.85:t<5120?.8:.75}return b(o)&&(s=o>=1200?o:1200),e instanceof FileList?Promise.all(Array.from(e).map((e=>Et(e,{maxSize:s,mime:n,quality:a})))):e instanceof File?new Promise((t=>{const r=[...e.name.split(".").slice(0,-1),{"image/webp":"webp","image/jpeg":"jpg","image/png":"png"}[n]].join("."),o=+parseInt((e.size/1024).toFixed(2));if(o<i)t({file:e});else{const i=new FileReader;i.onload=({target:{result:i}})=>{const l=new Image;l.onload=()=>{const c=document.createElement("canvas"),u=c.getContext("2d"),d=l.width,f=l.height,{width:p,height:h}=function({sizeKB:e,maxSize:t,originWidth:r,originHeight:n}){let o=r,i=n;if(b(t)){const{width:e,height:s}=wt({maxWidth:t,maxHeight:t,originWidth:r,originHeight:n});o=e,i=s}else if(e<500){const e=1200,t=1200,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(e<5120){const e=1400,t=1400,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(e<10240){const e=1600,t=1600,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(10240<=e){const e=r>15e3?8192:r>1e4?4096:2048,t=n>15e3?8192:n>1e4?4096:2048,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}return{width:o,height:i}}({sizeKB:o,maxSize:s,originWidth:d,originHeight:f});c.width=p,c.height=h,u.clearRect(0,0,p,h),u.drawImage(l,0,0,p,h);const g=c.toDataURL(n,a),m=atob(g.split(",")[1]);let y=m.length;const A=new Uint8Array(new ArrayBuffer(y));for(;y--;)A[y]=m.charCodeAt(y);const S=new File([A],r,{type:n});t({file:S,bufferArray:A,origin:e,beforeSrc:i,afterSrc:g,beforeKB:o,afterKB:Number((Number(S.size)/1024).toFixed(2))})},l.src=i},i.readAsDataURL(e)}})):Promise.resolve(null)}var _t={supportCanvas:At,chooseLocalFile:St,compressImg:Et},xt=Object.freeze({__proto__:null,chooseLocalFile:St,compressImg:Et,default:_t,supportCanvas:At});function vt(e="请勿外传",t){const{rootContainer:r=document.body,width:n="300px",height:o="150px",textAlign:i="center",textBaseline:s="middle",font:a="20px PingFangSC-Medium,PingFang SC",fillStyle:l="rgba(189, 177, 167, .3)",rotate:c=-20,zIndex:u=2147483647,watermarkId:d="__wm"}=E(t)?{}:t,f=h(r)?document.querySelector(r):r;if(!f)throw new Error(`${r} is not valid Html Element or element selector`);const p=document.createElement("canvas");p.setAttribute("width",n),p.setAttribute("height",o);const g=p.getContext("2d");g.textAlign=i,g.textBaseline=s,g.font=a,g.fillStyle=l,g.rotate(Math.PI/180*c),g.fillText(e,parseFloat(n)/4,parseFloat(o)/2);const m=p.toDataURL(),y=document.querySelector(`#${d}`),b=y||document.createElement("div"),A=`opacity: 1 !important; display: block !important; visibility: visible !important; position:absolute; left:0; top:0; width:100%; height:100%; z-index:${u}; pointer-events:none; background-repeat:repeat; background-image:url('${m}')`;b.setAttribute("style",A),b.setAttribute("id",d),b.classList.add("nav-height"),y||(f.style.position="relative",f.appendChild(b));const S=window.MutationObserver||window.WebKitMutationObserver;if(S){let r=new S((function(){let n=document.querySelector(`#${d}`);if(n){const{opacity:o,zIndex:i,display:s,visibility:a}=(e=>{const t=getComputedStyle(e);return{opacity:t.getPropertyValue("opacity"),zIndex:t.getPropertyValue("z-index"),display:t.getPropertyValue("display"),visibility:t.getPropertyValue("visibility")}})(n);(n&&n.getAttribute("style")!==A||!n||"1"!==o||"2147483647"!==i||"block"!==s||"visible"!==a)&&(r.disconnect(),r=null,f.removeChild(n),n=null,vt(e,t))}else r.disconnect(),r=null,vt(e,t)}));r.observe(f,{attributes:!0,subtree:!0,childList:!0})}}var Ct={genCanvasWM:vt},Tt=Object.freeze({__proto__:null,default:Ct,genCanvasWM:vt});const jt=(e,t)=>{let r,n=!1;const o=function(...o){n||(clearTimeout(r),r=setTimeout((()=>{e.call(this,...o)}),t))};return o.cancel=()=>{clearTimeout(r),n=!0},o},Ft=(e,t,r)=>{let n,o=!1,i=0;const s=function(...s){if(o)return;const a=Date.now(),l=()=>{i=a,e.call(this,...s)};if(0===i)return r?l():void(i=a);i+t-a>0?(clearTimeout(n),n=setTimeout((()=>l()),t)):l()};return s.cancel=()=>{clearTimeout(n),o=!0},s},Pt=e=>{let t,r=!1;return function(...n){return r||(r=!0,t=e.call(this,...n)),t}};function Nt(e,t){if("undefined"!=typeof globalThis)globalThis[e]=t;else if("undefined"!=typeof window)window[e]=t;else if("undefined"!=typeof global)global[e]=t;else{if("undefined"==typeof self)throw new SyntaxError("当前环境下无法设置全局属性");self[e]=t}}function Rt(e){return"undefined"!=typeof globalThis?globalThis[e]:"undefined"!=typeof window?window[e]:"undefined"!=typeof global?global[e]:"undefined"!=typeof self?self[e]:void 0}var Ot={debounce:jt,throttle:Ft,once:Pt,getGlobal:Rt,setGlobal:Nt},It=Object.freeze({__proto__:null,debounce:jt,default:Ot,getGlobal:Rt,once:Pt,setGlobal:Nt,throttle:Ft});const Dt=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),$t=`${oe}${se}${ie}`,Mt=(e,t)=>{let r=0,n=$t;h(t)?(r=e,n=t):b(e)?r=e:h(e)&&(n=e);let o=Math.max(r,1),i="";const s=n.length-1;if(s<2)throw new Error("字符串池长度不能少于 2");for(;o--;){i+=n[Dt(0,s)]}return i};function Lt(){if("undefined"==typeof URL||!URL.createObjectURL||"undefined"==typeof Blob){const e="0123456789abcdef",t="xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx";let r="";for(let n=0;n<t.length;n++){const o=Dt(0,15);r+="-"==t[n]||"4"==t[n]?t[n]:e[o]}return r}return/[^/]+$/.exec(URL.createObjectURL(new Blob).slice())[0]}var Ut={STRING_POOL:$t,randomNumber:Dt,randomString:Mt,randomUuid:Lt},Bt=Object.freeze({__proto__:null,STRING_POOL:$t,default:Ut,randomNumber:Dt,randomString:Mt,randomUuid:Lt});const kt=`${oe}${se}${ie}`,zt="undefined"!=typeof BigInt,Ht=()=>Rt("JSBI"),Gt=e=>zt?BigInt(e):Ht().BigInt(e);function qt(e,t=kt){if(t.length<2)throw new Error("进制池长度不能少于 2");if(!zt)throw new Error('需要安装 jsbi 模块并将 JSBI 设置为全局变量:\nimport JSBI from "jsbi"; window.JSBI = JSBI;');let r=Gt(e);const n=[],{length:o}=t,i=Gt(o),s=()=>{const e=Number(((e,t)=>zt?e%t:Ht().remainder(e,t))(r,i));r=((e,t)=>zt?e/t:Ht().divide(e,t))(r,i),n.unshift(t[e]),r>0&&s()};return s(),n.join("")}const Vt=(e,t,r={ratio:1e3,decimals:0,separator:" "})=>{const{ratio:n=1e3,decimals:o=0,separator:i=" "}=r,{length:s}=t;if(0===s)throw new Error("At least one unit is required");let a=Number(e),l=0;for(;a>=n&&l<s-1;)a/=n,l++;const c=a.toFixed(o),u=t[l];return String(c)+i+u};function Wt(e,t={decimals:0,si:!1,separator:" "}){const{decimals:r=0,si:n=!1,separator:o=" ",baseUnit:i,maxUnit:s}=t;let a=n?["B","kB","MB","GB","TB","PB","EB","ZB","YB"]:["Byte","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];if(!E(i)){const e=a.findIndex((e=>e===i));-1!==e&&(a=a.slice(e))}if(!E(s)){const e=a.findIndex((e=>e===s));-1!==e&&a.splice(e+1)}return Vt(e,a,{ratio:n?1e3:1024,decimals:r,separator:o})}function Xt(e,t){if(E(t))return parseInt(String(e)).toLocaleString();let r=0;return t>0&&(r=t),Number(Number(e).toFixed(r)).toLocaleString("en-US")}var Yt={HEX_POOL:kt,numberToHex:qt,numberAbbr:Vt,humanFileSize:Wt,formatNumber:Xt,formatMoney:Xt},Kt=Object.freeze({__proto__:null,HEX_POOL:kt,default:Yt,formatMoney:Xt,formatNumber:Xt,humanFileSize:Wt,numberAbbr:Vt,numberToHex:qt});let Jt=0,Zt=0;const Qt=(e=18)=>{const t=Date.now();e=Math.max(e,18),t!==Zt&&(Zt=t,Jt=0);const r=`${t}`;let n="";const o=e-5-13;if(o>0){n=`${Dt(10**(o-1),10**o-1)}`}const i=((e,t=2)=>String(e).padStart(t,"0"))(Jt,5);return Jt++,`${r}${n}${i}`},er=e=>e[Dt(0,e.length-1)],tr=(e,t)=>{let r=0,n=kt;h(t)?(r=e,n=t):b(e)?r=e:h(e)&&(n=e);let o=qt(Qt(),n),i=r-o.length;if(i<=0)return o;for(;i--;)o+=er(n);return o};var rr={UNIQUE_NUMBER_SAFE_LENGTH:18,uniqueNumber:Qt,uniqueString:tr},nr=Object.freeze({__proto__:null,UNIQUE_NUMBER_SAFE_LENGTH:18,default:rr,uniqueNumber:Qt,uniqueString:tr});function or(e,t,r){let n=250,o=13;const i=e.children[0];_e(t,12)<230?(i.style.maxWidth=_e(t,12)+20+50+"px",n=r.clientX+(_e(t,12)+50)-document.body.offsetWidth):(i.style.maxWidth="250px",n=r.clientX+230-document.body.offsetWidth),i.innerHTML=t,n>0&&(o-=n),e.style.top=r.clientY+23+"px",e.style.left=r.clientX+o+"px",e.style.maxWidth="250px";const s=e.getBoundingClientRect().top+i.offsetHeight-document.body.offsetHeight;s>0&&(e.style.top=r.clientY-s+"px")}const ir={handleMouseEnter:function({rootContainer:e="#root",title:t,event:r,bgColor:n="#000",color:o="#fff"}){try{const i=h(e)?document.querySelector(e):e;if(!i)throw new Error(`${e} is not valid Html Element or element selector`);let s=null;const a="style-tooltip-inner1494304949567";if(!document.querySelector(`#${a}`)){const e=document.createElement("style");e.type="text/css",e.id=a,e.innerHTML=`\n .tooltip-inner1494304949567 {\n max-width: 250px;\n padding: 3px 8px;\n color: ${o};\n text-decoration: none;\n border-radius: 4px;\n text-align: left;\n background-color: ${n};\n }\n `,document.querySelector("head").appendChild(e)}if(s=document.querySelector("#customTitle1494304949567"),s)or(s,t,r);else{const e=document.createElement("div");e.id="customTitle1494304949567",e.style.cssText="z-index: 99999999; visibility: hidden; position: absolute;",e.innerHTML='<div class="tooltip-inner1494304949567" style="word-wrap: break-word; max-width: 44px;">皮肤</div>',i.appendChild(e),s=document.querySelector("#customTitle1494304949567"),t&&(or(s,t,r),s.style.visibility="visible")}}catch(e){console.error(e.message)}},handleMouseLeave:function(e="#root"){const t=h(e)?document.querySelector(e):e;let r=document.querySelector("#customTitle1494304949567");t&&r&&(t.removeChild(r),r=null)}};var sr={tooltipEvent:ir},ar=Object.freeze({__proto__:null,default:sr,tooltipEvent:ir});const lr={keyField:"key",childField:"children",pidField:"pid"},cr={childField:"children",nameField:"name",removeEmptyChild:!1,ignoreCase:!0};function ur(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){const{childField:n="children",reverse:o=!1,breadthFirst:i=!1,isDomNode:s=!1}=_(r)?r:{};let a=!1;const l=[],c=(r,o,c,d,f)=>{const p=t(r,o,c,e,d,f);if(!1===p)return void(a=!0);if(!0===p)return;const h=function(e,t,r){const n=e[t];return n?r&&B(n)?Array.from(n):Array.isArray(n)?n:null:null}(r,n,s);if(h)if(i){const t=h.length;for(let n=0;n<t;n++)l.push({item:h[n],index:n,array:h,tree:e,parent:r,level:f+1})}else u(h,r,f+1)},u=(e,t,r)=>{const n=e.length;if(o)for(let o=n-1;o>=0&&!a;o--)c(e[o],o,e,t,r);else for(let o=0;o<n&&!a;o++)c(e[o],o,e,t,r)};if(u(e,null,0),i){let e=0;for(;e<l.length&&!a;){const{item:t,index:r,array:n,parent:o,level:i}=l[e++];c(t,r,n,o,i)}}e=null}function dr(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){let n=null;return ur(e,((...e)=>{if(t(...e))return n=e[0],!1}),r),n}function fr(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){const n=[];return ur(e,((...e)=>{t(...e)&&n.push(e[0])}),r),n}function pr(e,t,r={childField:"children",reverse:!1}){const{childField:n="children",reverse:o=!1}=_(r)?r:{};let i=!1;const s=[],a=(r,s,l,c)=>{if(o)for(let o=r.length-1;o>=0&&!i;o--){const u=r[o],d=t(u,o,r,e,s,c);if(!1===d){i=!0;break}if(!0===d)continue;const f=Y(d,[n]);l.push(f);const p=u[n];Array.isArray(p)&&(f[n]=[],a(p,u,f[n],c+1))}else for(let o=0;o<r.length&&!i;o++){const u=r[o],d=t(u,o,r,e,s,c);if(!1===d){i=!0;break}if(!0===d)continue;const f=Y(d,[n]);l.push(f);const p=u[n];Array.isArray(p)&&(f[n]=[],a(p,u,f[n],c+1))}};return a(e,null,s,0),e=null,s}function hr(e,t,r={childField:"children",keyField:"id"}){const{childField:n="children",keyField:o="id"}=_(r)?r:{},i={},s=[],a=e.length;for(let t=0;t<a;t++)s.push({node:e[t]});for(;s.length>0;){const{node:e,parentId:t,parent:r}=s.pop(),a=e[o];i[a]={node:e,parentId:t,parent:r};const l=e[n];if(Array.isArray(l)){const t=l.length;for(let r=0;r<t;r++)s.push({node:l[r],parentId:a,parent:e})}}const l=[],c=[];let u=i[t];if(!u)return[[],[]];for(l.push(t),c.push(u.node);u&&void 0!==u.parentId;){l.unshift(u.parentId);const e=i[u.parentId];if(!e)break;c.unshift(e.node),u=e}return[l,c]}function gr(e,t=lr){const{keyField:r="key",childField:n="children",pidField:o="pid"}=_(t)?t:{},i=[],s={},a=e.length;for(let t=0;t<a;t++){const n=e[t];s[n[r]]=n}for(let t=0;t<a;t++){const r=e[t],a=s[r[o]];a?(a[n]||(a[n]=[])).push(r):i.push(r)}return e=null,i}function mr(e,t=lr){const{keyField:r="key",childField:n="children",pidField:o="pid"}=_(t)?t:{},i=[],s=e=>{const t=e.length;for(let a=0;a<t;a++){const t=e[a],l={...t};delete l[n],i.push(l);const c=t[n];if(Array.isArray(c)){const e=c.map((e=>({...e,[o]:void 0!==t[r]?t[r]:e.pid})));s(e)}}};return s(e),i}function yr(e,t,r=cr){if(!u(t,"filter")&&!t.keyword)return e;const n=[],{childField:o,nameField:i,removeEmptyChild:s,ignoreCase:a}=r,l=u(t,"filter"),c=t.filter,d=t.keyword;for(let u=0,f=e.length;u<f;u++){const f=e[u],p=f[o],h=p&&p.length>0?yr(p,t,r):[];let g=!1;if(l&&c)g=c(f);else if(null!=d){const e=String(f[i]||""),t=String(d);g=a?e.toLowerCase().includes(t.toLowerCase()):e.includes(t)}if(g||h.length>0)if(o in f)if(h.length>0)n.push({...f,[o]:h});else if(s){const{[o]:e,...t}=f;n.push(t)}else n.push({...f,[o]:[]});else n.push(f)}return n}var br={forEachDeep:ur,findDeep:dr,filterDeep:fr,mapDeep:pr,getPathById:hr,searchTreeById:hr,formatTree:gr,flatTree:mr,fuzzySearchTree:yr},Ar=Object.freeze({__proto__:null,default:br,filterDeep:fr,findDeep:dr,flatTree:mr,forEachDeep:ur,formatTree:gr,fuzzySearchTree:yr,getPathById:hr,mapDeep:pr,searchTreeById:hr});const Sr=(e,t)=>{let r=0;const n=e.toString(),o=t.toString();return void 0!==n.split(".")[1]&&(r+=n.split(".")[1].length),void 0!==o.split(".")[1]&&(r+=o.split(".")[1].length),Number(n.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,r)},wr=(e,t)=>{let r=0,n=0,o=0;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}return o=10**Math.max(r,n),(Sr(e,o)+Sr(t,o))/o},Er=(e,t)=>wr(e,-t),_r=(e,t)=>{let r=0,n=0,o=0,i=0;return void 0!==e.toString().split(".")[1]&&(r=e.toString().split(".")[1].length),void 0!==t.toString().split(".")[1]&&(n=t.toString().split(".")[1].length),o=Number(e.toString().replace(".","")),i=Number(t.toString().replace(".","")),o/i*Math.pow(10,n-r)};function xr(e,t=15){return+parseFloat(Number(e).toPrecision(t))}var vr={add:wr,subtract:Er,multiply:Sr,divide:_r,strip:xr},Cr=Object.freeze({__proto__:null,add:wr,default:vr,divide:_r,multiply:Sr,strip:xr,subtract:Er});const Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",jr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;function Fr(e){const t=e.length;let r="",n=0;for(;n<t-2;n+=3){const t=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8|e.charCodeAt(n+2);r+=Tr.charAt(t>>18)+Tr.charAt(t>>12&63)+Tr.charAt(t>>6&63)+Tr.charAt(63&t)}const o=t-n;if(1===o){const t=e.charCodeAt(n);r+=Tr.charAt(t>>2)+Tr.charAt(t<<4&63)+"=="}else if(2===o){const t=e.charCodeAt(n)<<8|e.charCodeAt(n+1);r+=Tr.charAt(t>>10)+Tr.charAt(t>>4&63)+Tr.charAt(t<<2&63)+"="}return r}function Pr(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!jr.test(e))throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");const t=e.length,r=e.endsWith("==")?2:e.endsWith("=")?1:0,n=new Array(.75*t-r);let o=0;for(let i=0;i<t;i+=4){const s=Tr.indexOf(e.charAt(i))<<18|Tr.indexOf(e.charAt(i+1))<<12|(63&Tr.indexOf(e.charAt(i+2)))<<6|63&Tr.indexOf(e.charAt(i+3));n[o++]=String.fromCharCode(s>>16&255),(i+2<t-r||r<2)&&(n[o++]=String.fromCharCode(s>>8&255)),(i+3<t-r||r<1)&&(n[o++]=String.fromCharCode(255&s))}return n.join("")}function Nr(e){const t=(e=String(e)).length;for(let r=0;r<t;r++)if(e.charCodeAt(r)>255)throw new TypeError("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.");return Fr(e)}function Rr(e){return Pr(e)}function Or(e){if(!E(Rt("atob"))&&!E(Rt("TextDecoder")))try{const t=Rt("atob")(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return new(Rt("TextDecoder"))("utf-8").decode(n)}catch(e){}const t=Pr(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return function(e){const t=e.length;let r="",n=0;for(;n<t;){const t=e[n++];if(t<128)r+=String.fromCharCode(t);else if(t<224){const o=63&e[n++];r+=String.fromCharCode((31&t)<<6|o)}else if(t<240){const o=63&e[n++],i=63&e[n++];r+=String.fromCharCode((15&t)<<12|o<<6|i)}else{let o=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++];o-=65536,r+=String.fromCharCode(55296+(o>>10&1023),56320+(1023&o))}}return r}(n)}function Ir(e){if(!E(Rt("btoa"))&&!E(Rt("TextEncoder")))try{const t=(new(Rt("TextEncoder"))).encode(e);let r="";const n=t.length;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);return Rt("btoa")(r)}catch(e){}const t=function(e){const t=e.length,r=new Uint8Array(3*t);let n=0;for(let o=0;o<t;o++){let t=e.charCodeAt(o);t<128?r[n++]=t:t<2048?(r[n++]=192|t>>6,r[n++]=128|63&t):t<55296||t>=57344?(r[n++]=224|t>>12,r[n++]=128|t>>6&63,r[n++]=128|63&t):(o++,t=65536+((1023&t)<<10|1023&e.charCodeAt(o)),r[n++]=240|t>>18,r[n++]=128|t>>12&63,r[n++]=128|t>>6&63,r[n++]=128|63&t)}return r.subarray(0,n)}(e);let r="";const n=t.length;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);return Fr(r)}var Dr={weBtoa:Nr,weAtob:Rr,b64decode:Or,b64encode:Ir},$r=Object.freeze({__proto__:null,b64decode:Or,b64encode:Ir,default:Dr,weAtob:Rr,weBtoa:Nr});const Mr=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,Lr=e=>Mr.test(e),Ur=/^(?:(?:\+|00)86)?1\d{10}$/,Br=e=>Ur.test(e),kr=/^(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|7[1]|8[1-2]|9[1])\d{4}(18|19|20)\d{2}[01]\d[0123]\d{4}[\dxX]$/,zr=e=>{if(!kr.test(e))return!1;const t=Number(e.slice(6,10)),r=Number(e.slice(10,12)),n=Number(e.slice(12,14)),o=new Date(t,r-1,n);if(!(o.getFullYear()===t&&o.getMonth()+1===r&&o.getDate()===n))return!1;const i=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let s=0;for(let t=0;t<17;t++)s+=Number(e.slice(t,t+1))*i[t];return["1","0","X","9","8","7","6","5","4","3","2"][s%11]===e.slice(-1)},Hr=/^(https?|ftp):\/\/([^\s/$.?#].[^\s]*)$/i,Gr=/^https?:\/\/([^\s/$.?#].[^\s]*)$/i,qr=(e,t=!1)=>(t?Hr:Gr).test(e),Vr=/^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/,Wr=/^(([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}|([\da-fA-F]{1,4}:){1,7}:|([\da-fA-F]{1,4}:){1,6}:[\da-fA-F]{1,4}|([\da-fA-F]{1,4}:){1,5}(:[\da-fA-F]{1,4}){1,2}|([\da-fA-F]{1,4}:){1,4}(:[\da-fA-F]{1,4}){1,3}|([\da-fA-F]{1,4}:){1,3}(:[\da-fA-F]{1,4}){1,4}|([\da-fA-F]{1,4}:){1,2}(:[\da-fA-F]{1,4}){1,5}|[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,6})|:((:[\da-fA-F]{1,4}){1,7}|:)|fe80:(:[\da-fA-F]{0,4}){0,4}%[\da-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?\d)?\d)\.){3}(25[0-5]|(2[0-4]|1?\d)?\d)|([\da-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?\d)?\d)\.){3}(25[0-5]|(2[0-4]|1?\d)?\d))$/i,Xr=e=>Vr.test(e),Yr=e=>Wr.test(e),Kr=/^(-?[1-9]\d*|0)$/,Jr=e=>Kr.test(e),Zr=/^-?([1-9]\d*|0)\.\d*[1-9]$/,Qr=e=>Zr.test(e),en=e=>Jr(e)||Qr(e),tn=/^\d+$/,rn=e=>tn.test(e);var nn={EMAIL_REGEX:Mr,HTTP_URL_REGEX:Gr,IPV4_REGEX:Vr,IPV6_REGEX:Wr,PHONE_REGEX:Ur,URL_REGEX:Hr,isDigit:rn,isEmail:Lr,isFloat:Qr,isIdNo:zr,isInteger:Jr,isIpV4:Xr,isIpV6:Yr,isNumerical:en,isPhone:Br,isUrl:qr},on=Object.freeze({__proto__:null,EMAIL_REGEX:Mr,HTTP_URL_REGEX:Gr,IPV4_REGEX:Vr,IPV6_REGEX:Wr,PHONE_REGEX:Ur,URL_REGEX:Hr,default:nn,isDigit:rn,isEmail:Lr,isFloat:Qr,isIdNo:zr,isInteger:Jr,isIpV4:Xr,isIpV6:Yr,isNumerical:en,isPhone:Br,isUrl:qr});function sn(e){return[...new Set(e.trim().split(""))].join("")}function an(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ln(e,t){return new RegExp(`${an(e.trim())}\\s*([^${an(sn(e))}${an(sn(t))}\\s]*)\\s*${t.trim()}`,"g")}function cn(e,t="{",r="}"){return Array.from(e.matchAll(ln(t,r))).map((e=>E(e)?void 0:e[1]))}function un(e,t,r="{",n="}"){return e.replace(new RegExp(ln(r,n)),(function(e,r){return u(t,r)?t[r]:e}))}function dn(e,t={}){const r=Object.keys(t),n=r.map((e=>t[e]));try{return new Function(...r,`return (() => { ${e} })()`)(...n)}catch(e){throw new Error(`代码执行失败: ${e.message}`)}}var fn={escapeRegExp:an,executeInScope:dn,parseVarFromString:cn,replaceVarFromString:un,uniqueSymbol:sn},pn=Object.freeze({__proto__:null,default:fn,escapeRegExp:an,executeInScope:dn,parseVarFromString:cn,replaceVarFromString:un,uniqueSymbol:sn});function hn(e,t=new WeakMap){if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);if(e instanceof ArrayBuffer){const r=new ArrayBuffer(e.byteLength);return new Uint8Array(r).set(new Uint8Array(e)),t.set(e,r),r}if(ArrayBuffer.isView(e)){return new(0,e.constructor)(hn(e.buffer,t),e.byteOffset,e.length)}if(e instanceof Date){const r=new Date(e.getTime());return t.set(e,r),r}if(e instanceof RegExp){const r=new RegExp(e.source,e.flags);return r.lastIndex=e.lastIndex,t.set(e,r),r}if(e instanceof Map){const r=new Map;return t.set(e,r),e.forEach(((e,n)=>{r.set(hn(n,t),hn(e,t))})),r}if(e instanceof Set){const r=new Set;return t.set(e,r),e.forEach((e=>{r.add(hn(e,t))})),r}if(Array.isArray(e)){const r=new Array(e.length);t.set(e,r);for(let n=0,o=e.length;n<o;n++)n in e&&(r[n]=hn(e[n],t));const n=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(n))Object.defineProperty(r,e,{...n[e],value:hn(n[e].value,t)});return r}const r=Object.create(Object.getPrototypeOf(e));t.set(e,r);const n=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(n)){const o=n[e];"value"in o?o.value=hn(o.value,t):(o.get&&(o.get=hn(o.get,t)),o.set&&(o.set=hn(o.set,t))),Object.defineProperty(r,e,o)}return r}var gn={cloneDeep:hn},mn=Object.freeze({__proto__:null,cloneDeep:hn,default:gn});const yn={MAP:"[object Map]",SET:"[object Set]",DATE:"[object Date]",REGEXP:"[object RegExp]",SYMBOL:"[object Symbol]",ARRAY_BUFFER:"[object ArrayBuffer]",DATA_VIEW:"[object DataView]",ARGUMENTS:"[object Arguments]"},{toString:bn,hasOwnProperty:An}=Object.prototype,Sn=e=>bn.call(e);function wn(e,t){return En(e,t)}function En(e,t,r=void 0){if(e===t)return!0;if(e!=e&&t!=t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e.constructor!==t.constructor)return!1;if(r||(r=new WeakMap),r.has(e))return r.get(e)===t;r.set(e,t);const n=Sn(e);if(n!==Sn(t))return!1;let o=!1;switch(n){case yn.DATE:o=+e==+t;break;case yn.REGEXP:o=""+e==""+t;break;case yn.SYMBOL:o=Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t);break;case yn.ARRAY_BUFFER:o=_n(e,t);break;case yn.DATA_VIEW:s=t,o=(i=e).byteLength===s.byteLength&&i.byteOffset===s.byteOffset&&_n(i.buffer,s.buffer);break;case yn.MAP:o=function(e,t,r){if(e.size!==t.size)return!1;for(const[n,o]of e){const e=t.get(n);if(void 0===e&&!t.has(n))return!1;if(!En(o,e,r))return!1}return!0}(e,t,r);break;case yn.SET:o=function(e,t,r){if(e.size!==t.size)return!1;for(const n of e){if(t.has(n))continue;let e=!1;for(const o of t)if(En(n,o,r)){e=!0;break}if(!e)return!1}return!0}(e,t,r);break;case yn.ARGUMENTS:default:o=Array.isArray(e)||ArrayBuffer.isView(e)?function(e,t,r){const n=e.length;if(n!==t.length)return!1;let o=n;for(;o--;)if(!En(e[o],t[o],r))return!1;return!0}(e,t,r):function(e,t,r){const n=Reflect.ownKeys(e),o=Reflect.ownKeys(t);if(n.length!==o.length)return!1;for(let o=0;o<n.length;o++){const i=n[o];if(!An.call(t,i)||!En(e[i],t[i],r))return!1}return!0}(e,t,r)}var i,s;return o}function _n(e,t){if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);let o=e.byteLength;for(;o--;)if(r[o]!==n[o])return!1;return!0}var xn={isEqual:wn},vn=Object.freeze({__proto__:null,default:xn,isEqual:wn});class Cn{static encode(e,t="unicode",r=!1){const n=[];for(const o of e){const e=o.codePointAt(0);"html"===t&&this.ENTITY_MAP[o]?n.push(this.ENTITY_MAP[o]):!r&&e>=32&&e<=126?n.push(o):"unicode"===t?e>65535?n.push(`\\u{${e.toString(16).toUpperCase()}}`):n.push(`\\u${e.toString(16).toUpperCase().padStart(4,"0")}`):n.push(`&#${e};`)}return n.join("")}static decode(e,t=!1){if(!e)return"";let r=e.replace(/\\u(?:\{([0-9a-fA-F]+)\}|([0-9a-fA-F]{4}))/g,((e,t,r)=>String.fromCodePoint(parseInt(t||r,16)))).replace(/&#(x?)([0-9a-fA-F]+);/g,((e,t,r)=>String.fromCodePoint(parseInt(r,t?16:10)))).replace(/&[a-z0-9]+;/gi,(e=>this.NAMED_ENTITIES[e]||e));return t&&(r=r.replace(/\u00A0/g," ")),r}}Cn.ENTITY_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"},Cn.NAMED_ENTITIES={""":'"',"&":"&","<":"<",">":">"," ":" ","©":"©","™":"™","®":"®"};var Tn={UnicodeToolkit:Cn},jn={...a,...Pe,...De,...qe,...Ce,...pt,...te,...Ye,...et,...ge,...z,...st,...bt,...xt,...Tt,...It,...Bt,...Kt,...nr,...ar,...Ar,...Cr,...$r,...on,...pn,...mn,...vn,...Object.freeze({__proto__:null,UnicodeToolkit:Cn,default:Tn})};e.EMAIL_REGEX=Mr,e.HEX_POOL=kt,e.HTTP_URL_REGEX=Gr,e.IPV4_REGEX=Vr,e.IPV6_REGEX=Wr,e.PHONE_REGEX=Ur,e.STRING_ARABIC_NUMERALS=oe,e.STRING_LOWERCASE_ALPHA=ie,e.STRING_POOL=$t,e.STRING_UPPERCASE_ALPHA=se,e.UNIQUE_NUMBER_SAFE_LENGTH=18,e.URL_REGEX=Hr,e.UnicodeToolkit=Cn,e.add=wr,e.addClass=be,e.adjustDate=He,e.arrayEach=t,e.arrayEachAsync=r,e.arrayInsertBefore=n,e.arrayLike=d,e.arrayRemove=o,e.asyncMap=gt,e.b64decode=Or,e.b64encode=Ir,e.chooseLocalFile=St,e.cloneDeep=hn,e.compressImg=Et,e.cookieDel=Oe,e.cookieGet=Ne,e.cookieSet=Re,e.copyText=Te,e.crossOriginDownload=ut,e.dateParse=Ue,e.dateToEnd=ke,e.dateToStart=Be,e.debounce=jt,e.default=jn,e.diffArray=i,e.divide=_r,e.downloadBlob=ct,e.downloadData=dt,e.downloadHref=lt,e.downloadURL=at,e.escapeRegExp=an,e.executeInScope=dn,e.fallbackCopyText=je,e.filterDeep=fr,e.findDeep=dr,e.flatTree=mr,e.forEachDeep=ur,e.formatDate=ze,e.formatMoney=Xt,e.formatNumber=Xt,e.formatTree=gr,e.fuzzySearchTree=yr,e.genCanvasWM=vt,e.getComputedCssVal=Ee,e.getGlobal=Rt,e.getPathById=hr,e.getStrWidthPx=_e,e.getStyle=we,e.hasClass=me,e.humanFileSize=Wt,e.is=p,e.isArguments=$,e.isArray=x,e.isArrayBuffer=D,e.isAsyncFunction=M,e.isBigInt=y,e.isBoolean=g,e.isDataView=I,e.isDate=T,e.isDigit=rn,e.isEmail=Lr,e.isEmpty=U,e.isEqual=wn,e.isError=j,e.isFloat=Qr,e.isFunction=v,e.isIdNo=zr,e.isInteger=Jr,e.isIpV4=Xr,e.isIpV6=Yr,e.isJsonString=L,e.isMap=N,e.isNaN=C,e.isNodeList=B,e.isNull=S,e.isNullOrUnDef=E,e.isNullish=E,e.isNumber=b,e.isNumerical=en,e.isObject=_,e.isPhone=Br,e.isPlainObject=G,e.isPrimitive=w,e.isPromise=P,e.isRegExp=F,e.isSet=R,e.isString=h,e.isSymbol=m,e.isTypedArray=O,e.isUndefined=A,e.isUrl=qr,e.isValidDate=$e,e.mapDeep=pr,e.multiply=Sr,e.numberAbbr=Vt,e.numberToHex=qt,e.objectAssign=J,e.objectEach=q,e.objectEachAsync=V,e.objectFill=Z,e.objectGet=Q,e.objectHas=u,e.objectMap=W,e.objectMerge=J,e.objectOmit=Y,e.objectPick=X,e.once=Pt,e.parseQueryParams=pe,e.parseVarFromString=cn,e.pathJoin=We,e.pathNormalize=Ve,e.qsParse=Ke,e.qsStringify=Ze,e.randomNumber=Dt,e.randomString=Mt,e.randomUuid=Lt,e.removeClass=Ae,e.replaceVarFromString=un,e.safeAwait=mt,e.searchTreeById=hr,e.select=xe,e.setGlobal=Nt,e.setStyle=Se,e.stringAssign=ue,e.stringCamelCase=re,e.stringEscapeHtml=de,e.stringFill=fe,e.stringFormat=le,e.stringKebabCase=ne,e.strip=xr,e.subtract=Er,e.supportCanvas=At,e.throttle=Ft,e.tooltipEvent=ir,e.typeIs=f,e.uniqueNumber=Qt,e.uniqueString=tr,e.uniqueSymbol=sn,e.urlDelParams=ot,e.urlParse=tt,e.urlSetParams=nt,e.urlStringify=rt,e.wait=ht,e.weAtob=Rr,e.weBtoa=Nr,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
6
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).sculpJs={})}(this,(function(e){"use strict";function t(e,t,r=!1){if(r)for(let r=e.length-1;r>=0;r--){const n=t(e[r],r,e);if(!1===n)break}else for(let r=0,n=e.length;r<n;r++){const n=t(e[r],r,e);if(!1===n)break}e=null}async function r(e,t,r=!1){if(r)for(let r=e.length-1;r>=0&&!1!==await t(e[r],r);r--);else for(let r=0,n=e.length;r<n&&!1!==await t(e[r],r);r++);}function n(e,t,r){if(t===r||t+1===r)return;const[n]=e.splice(t,1),o=r<t?r:r-1;e.splice(o,0,n)}function o(e,r){const n=[],o=r;return t(e,((e,t)=>{o(e,t)&&n.push(t)})),n.forEach(((t,r)=>{e.splice(t-r,1)})),e}function i(e,t,r){const n=e=>{if(r)return r(e);if("string"==typeof e||"number"==typeof e||"symbol"==typeof e)return e;throw new Error("diffArray: getKey is required when item is not a primitive value")},o=new Map,i=new Map;for(const t of e)o.set(n(t),t);for(const e of t)i.set(n(e),e);const s=[],a=[];for(const[e,t]of i)o.has(e)||s.push(t);for(const[e,t]of o)i.has(e)||a.push(t);return{added:s,removed:a}}var s={arrayEach:t,arrayEachAsync:r,arrayInsertBefore:n,arrayRemove:o,diffArray:i},a=Object.freeze({__proto__:null,arrayEach:t,arrayEachAsync:r,arrayInsertBefore:n,arrayRemove:o,default:s,diffArray:i});const{toString:l,hasOwnProperty:c}=Object.prototype;function u(e,t){return c.call(e,t)}function d(e){return!!x(e)||(!!h(e)||!!_(e)&&u(e,"length"))}function f(e){return l.call(e).slice(8,-1)}function p(e,t){return f(e)===t}const h=e=>"string"==typeof e,g=e=>"boolean"==typeof e,m=e=>"symbol"==typeof e,y=e=>"bigint"==typeof e,b=e=>"number"==typeof e&&!Number.isNaN(e),A=e=>void 0===e,S=e=>null===e,w=e=>null===e||"object"!=typeof e;function E(e){return A(e)||S(e)}const _=e=>"Object"===f(e),x=e=>Array.isArray(e),v=e=>"function"==typeof e,C=e=>Number.isNaN(e),T=e=>"Date"===f(e),j=e=>"Error"===f(e),F=e=>"RegExp"===f(e),P=e=>"Promise"===f(e),N=e=>"Map"===f(e),R=e=>"Set"===f(e),O=e=>{const t=f(e);return"Int8Array"===t||"Uint8Array"===t||"Uint8ClampedArray"===t||"Int16Array"===t||"Uint16Array"===t||"Int32Array"===t||"Uint32Array"===t||"Float32Array"===t||"Float64Array"===t||"BigInt64Array"===t||"BigUint64Array"===t},I=e=>"DataView"===f(e),D=e=>"ArrayBuffer"===f(e),$=e=>"Arguments"===f(e),M=e=>"AsyncFunction"===f(e);function L(e){try{const t=JSON.parse(e);return"object"==typeof t&&null!==t&&t}catch(e){return!1}}function U(e){if(E(e)||Number.isNaN(e))return!0;const t=f(e);return d(e)||"Arguments"===t?!e.length:"Set"===t||"Map"===t?!e.size:!Object.keys(e).length}function B(e){return!A(NodeList)&&NodeList.prototype.isPrototypeOf(e)}var k={typeIs:f,is:p,TypeMapping:void 0,TypeTag:void 0,objectHas:u,arrayLike:d,isString:h,isBoolean:g,isSymbol:m,isBigInt:y,isNumber:b,isUndefined:A,isNull:S,isPrimitive:w,isNullOrUnDef:E,isNullish:E,isObject:_,isArray:x,isFunction:v,isNaN:C,isDate:T,isError:j,isRegExp:F,isPromise:P,isMap:N,isSet:R,isTypedArray:O,isDataView:I,isArrayBuffer:D,isArguments:$,isAsyncFunction:M,isJsonString:L,isEmpty:U,isNodeList:B},z=Object.freeze({__proto__:null,arrayLike:d,default:k,is:p,isArguments:$,isArray:x,isArrayBuffer:D,isAsyncFunction:M,isBigInt:y,isBoolean:g,isDataView:I,isDate:T,isEmpty:U,isError:j,isFunction:v,isJsonString:L,isMap:N,isNaN:C,isNodeList:B,isNull:S,isNullOrUnDef:E,isNullish:E,isNumber:b,isObject:_,isPrimitive:w,isPromise:P,isRegExp:F,isSet:R,isString:h,isSymbol:m,isTypedArray:O,isUndefined:A,objectHas:u,typeIs:f});const H=f,G=e=>{if(!_(e))return!1;const t=Object.getPrototypeOf(e);return!t||t===Object.prototype};function q(e,t){for(const r in e)if(u(e,r)&&!1===t(e[r],r))break;e=null}async function V(e,t){for(const r in e)if(u(e,r)&&!1===await t(e[r],r))break}function W(e,t){const r={};for(const n in e)u(e,n)&&(r[n]=t(e[n],n));return e=null,r}function X(e,t){const r={};return q(e,((e,n)=>{t.includes(n)&&(r[n]=e)})),e=null,r}function Y(e,t){const r={};return q(e,((e,n)=>{t.includes(n)||(r[n]=e)})),e=null,r}const K=(e,t,r)=>{if(A(r))return t;if(H(t)!==H(r))return x(r)?K(e,[],r):_(r)?K(e,{},r):r;if(G(r)){const n=e.get(r);return n||(e.set(r,t),q(r,((r,n)=>{t[n]=K(e,t[n],r)})),t)}if(x(r)){const n=e.get(r);return n||(e.set(r,t),r.forEach(((r,n)=>{t[n]=K(e,t[n],r)})),t)}return r};function J(e,...t){const r=new Map;for(let n=0,o=t.length;n<o;n++){const o=t[n];e=K(r,e,o)}return r.clear(),e}function Z(e,t,r){const n=r||((e,t,r)=>void 0===e[r]);return q(t,((r,o)=>{n(e,t,o)&&(e[o]=r)})),e}function Q(e,t,r=!1){const n=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split(".");let o=e,i=0;for(let e=n.length;i<e-1;++i){const e=n[i];if(b(Number(e))&&Array.isArray(o))o=o[e];else{if(!_(o)||!u(o,e)){if(o=void 0,r)throw new Error("[Object] objectGet path 路径不正确");break}o=o[e]}}return{p:o,k:o?n[i]:void 0,v:o?o[n[i]]:void 0}}var ee={isPlainObject:G,objectEach:q,objectEachAsync:V,objectMap:W,objectPick:X,objectOmit:Y,objectAssign:J,objectMerge:J,objectFill:Z,objectGet:Q},te=Object.freeze({__proto__:null,default:ee,isPlainObject:G,objectAssign:J,objectEach:q,objectEachAsync:V,objectFill:Z,objectGet:Q,objectMap:W,objectMerge:J,objectOmit:Y,objectPick:X});function re(e,t){let r=e;t&&(r=e.replace(/^./,(e=>e.toUpperCase())));return r.replace(/[\s_-](.)/g,((e,t)=>t.toUpperCase()))}function ne(e,t="-"){return e.replace(/^./,(e=>e.toLowerCase())).replace(/[A-Z]/g,(e=>`${t}${e.toLowerCase()}`))}const oe="0123456789",ie="abcdefghijklmnopqrstuvwxyz",se="ABCDEFGHIJKLMNOPQRSTUVWXYZ",ae=/%[%sdo]/g;function le(e,...t){let r=0;return[e.replace(ae,(e=>{const n=t[r++];switch(e){case"%%":return r--,"%";default:case"%s":return String(n);case"%d":return String(Number(n));case"%o":return JSON.stringify(n)}})),...t.splice(r).map(String)].join(" ")}const ce=/\${(.*?)}/g,ue=(e,t)=>e.replace(ce,((e,r)=>((e,t)=>{try{return new Function(`with(arguments[0]){if(arguments[0].${e} === undefined)throw "";return String(arguments[0].${e})}`)(t)}catch(t){throw new SyntaxError(`无法执行表达式:${e}`)}})(r,t))),de=e=>{const t={"&":"&","<":"<",">":">",'"':"""};return e.replace(/[&<>"]/g,(e=>t[e]))},fe=(e,t=" ")=>new Array(e).fill(t).join("");function pe(e=location.search){const t={};return Array.from(e.matchAll(/[&?]?([^=&]+)=?([^=&]*)/g)).forEach((e=>{const r=e[1],n=e[2],o=t[r];o?Array.isArray(o)?o.push(n):t[r]=[o,n]:t[r]=n})),t}var he={stringCamelCase:re,stringKebabCase:ne,STRING_ARABIC_NUMERALS:oe,STRING_LOWERCASE_ALPHA:ie,STRING_UPPERCASE_ALPHA:se,stringFormat:le,stringAssign:ue,stringEscapeHtml:de,stringFill:fe,parseQueryParams:pe},ge=Object.freeze({__proto__:null,STRING_ARABIC_NUMERALS:oe,STRING_LOWERCASE_ALPHA:ie,STRING_UPPERCASE_ALPHA:se,default:he,parseQueryParams:pe,stringAssign:ue,stringCamelCase:re,stringEscapeHtml:de,stringFill:fe,stringFormat:le,stringKebabCase:ne});function me(e,t){if(-1!==t.indexOf(" "))throw new Error("className should not contain space.");return e.classList.contains(t)}const ye=(e,t)=>{e.split(/\s+/g).forEach(t)};function be(e,t){ye(t,(t=>e.classList.add(t)))}function Ae(e,t){ye(t,(t=>e.classList.remove(t)))}const Se=(e,t,r)=>{_(t)?q(t,((t,r)=>{Se(e,r,t)})):e.style.setProperty(ne(t),r)};function we(e,t){return getComputedStyle(e).getPropertyValue(t)}function Ee(e,t,r=!0){const n=getComputedStyle(e).getPropertyValue(t)??"";return r?Number(n.replace(/([0-9]*)(.*)/g,"$1")):n}function _e(e,t=14,r=!0){let n=0;if(console.assert(h(e),`${e} 不是有效的字符串`),h(e)&&e.length>0){const o="getStrWidth1494304949567";let i=document.querySelector(`#${o}`);if(!i){const r=document.createElement("span");r.id=o,r.style.fontSize=t+"px",r.style.whiteSpace="nowrap",r.style.visibility="hidden",r.style.position="absolute",r.style.top="-9999px",r.style.left="-9999px",r.textContent=e,document.body.appendChild(r),i=r}i.textContent=e,n=i.offsetWidth,r&&i.remove()}return n}function xe(e){let t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){const r=e.hasAttribute("readonly");r||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),r||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();const r=window.getSelection(),n=document.createRange();n.selectNodeContents(e),r.removeAllRanges(),r.addRange(n),t=r.toString()}return t}var ve={hasClass:me,addClass:be,removeClass:Ae,setStyle:Se,getStyle:we,getComputedCssVal:Ee,getStrWidthPx:_e,select:xe},Ce=Object.freeze({__proto__:null,addClass:be,default:ve,getComputedCssVal:Ee,getStrWidthPx:_e,getStyle:we,hasClass:me,removeClass:Ae,select:xe,setStyle:Se});function Te(e,t){const{successCallback:r,failCallback:n}=E(t)?{}:t;navigator.clipboard?navigator.clipboard.writeText(e).then((()=>{v(r)&&r()})).catch((r=>{je(e,t)})):je(e,t)}function je(e,t){const{successCallback:r,failCallback:n,container:o=document.body}=E(t)?{}:t;let i=function(e){const t="rtl"===document.documentElement.getAttribute("dir"),r=document.createElement("textarea");r.style.fontSize="12pt",r.style.border="0",r.style.padding="0",r.style.margin="0",r.style.position="absolute",r.style[t?"right":"left"]="-9999px";const n=window.pageYOffset||document.documentElement.scrollTop;return r.style.top=`${n}px`,r.setAttribute("readonly",""),r.value=e,r}(e);o.appendChild(i),xe(i);try{document.execCommand("copy")&&v(r)&&r()}catch(e){v(n)&&n(e)}finally{o.removeChild(i),i=null,window.getSelection()?.removeAllRanges()}}var Fe={copyText:Te,fallbackCopyText:je},Pe=Object.freeze({__proto__:null,copyText:Te,default:Fe,fallbackCopyText:je});function Ne(e){const{cookie:t}=document;if(!t)return"";const r=t.split(";");for(let t=0;t<r.length;t++){const n=r[t],[o,i=""]=n.split("=");if(o===e)return decodeURIComponent(i)}return""}function Re(e,t,r){const n=[],o="expires";if(n.push([e,encodeURIComponent(t)]),b(r)){const e=new Date;e.setTime(e.getTime()+r),n.push([o,e.toUTCString()])}else T(r)&&n.push([o,r.toUTCString()]);n.push(["path","/"]),document.cookie=n.map((e=>{const[t,r]=e;return`${t}=${r}`})).join(";")}const Oe=e=>Re(e,"",-1);var Ie={cookieSet:Re,cookieGet:Ne,cookieDel:Oe},De=Object.freeze({__proto__:null,cookieDel:Oe,cookieGet:Ne,cookieSet:Re,default:Ie});const $e=e=>T(e)&&!C(e.getTime()),Me=e=>{if(!h(e))return;const t=e.replace(/-/g,"/");return new Date(t)},Le=e=>{if(!h(e))return;const t=/([+-])(\d\d)(\d\d)$/,r=t.exec(e);if(!r)return;const n=e.replace(t,"Z"),o=new Date(n);if(!$e(o))return;const[,i,s,a]=r,l=parseInt(s,10),c=parseInt(a,10),u=(e,t)=>"+"===i?e-t:e+t;return o.setHours(u(o.getHours(),l)),o.setMinutes(u(o.getMinutes(),c)),o};function Ue(e){const t=new Date(e);if($e(t))return t;const r=Me(e);if($e(r))return r;const n=Le(e);if($e(n))return n;throw new SyntaxError(`${e.toString()} 不是一个合法的日期描述`)}function Be(e){const t=Ue(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)}function ke(e){const t=Be(e);return t.setDate(t.getDate()+1),Ue(t.getTime()-1)}function ze(e,t="YYYY-MM-DD HH:mm:ss"){const r=Ue(e);let n,o=t;const i={"Y+":`${r.getFullYear()}`,"y+":`${r.getFullYear()}`,"M+":`${r.getMonth()+1}`,"D+":`${r.getDate()}`,"d+":`${r.getDate()}`,"H+":`${r.getHours()}`,"m+":`${r.getMinutes()}`,"s+":`${r.getSeconds()}`,"S+":`${r.getMilliseconds()}`,"w+":["周日","周一","周二","周三","周四","周五","周六"][r.getDay()]};for(const e in i)n=new RegExp("("+e+")").exec(o),n&&(o=o.replace(n[1],1===n[1].length?i[e]:i[e].padStart(n[1].length,"0")));return o}function He(e,t={}){const{format:r,returnDate:n=!1,years:o=0,months:i=0,weeks:s=0,days:a=0,hours:l=0,minutes:c=0,seconds:u=0,milliseconds:d=0}=t,f=Ue(e),p=new Date(f),h=f.getDate(),g=h===new Date(f.getFullYear(),f.getMonth()+1,0).getDate();if(p.setFullYear(p.getFullYear()+o),0!==i){const e=p.getMonth()+i,t=new Date(p.getFullYear(),e+1,0).getDate();p.setDate(1),p.setMonth(e),g||h>t?p.setDate(t):p.setDate(h)}if(0===a&&0===s||p.setDate(p.getDate()+a+7*s),p.setHours(p.getHours()+l),p.setMinutes(p.getMinutes()+c),p.setSeconds(p.getSeconds()+u),p.setMilliseconds(p.getMilliseconds()+d),n)return p;if(r)return ze(p,r);const m=p.getFullYear(),y=String(p.getMonth()+1).padStart(2,"0"),b=String(p.getDate()).padStart(2,"0"),A=String(p.getHours()).padStart(2,"0"),S=String(p.getMinutes()).padStart(2,"0"),w=String(p.getSeconds()).padStart(2,"0");if(t.hasOwnProperty("hours")||t.hasOwnProperty("minutes")||t.hasOwnProperty("seconds")||t.hasOwnProperty("milliseconds")){if(t.hasOwnProperty("milliseconds")){return`${m}-${y}-${b} ${A}:${S}:${w}.${String(p.getMilliseconds()).padStart(3,"0")}`}return t.hasOwnProperty("seconds")?`${m}-${y}-${b} ${A}:${S}:${w}`:`${m}-${y}-${b} ${A}:${S}`}return`${m}-${y}-${b}`}var Ge={isValidDate:$e,dateParse:Ue,dateToStart:Be,dateToEnd:ke,formatDate:ze,adjustDate:He,calculateDate:He},qe=Object.freeze({__proto__:null,adjustDate:He,dateParse:Ue,dateToEnd:ke,dateToStart:Be,default:Ge,formatDate:ze,isValidDate:$e});const Ve=e=>{const t=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/").replace(/\.{3,}/g,"..").replace(/\/\.\//g,"/").split("/").map((e=>e.trim())),r=e=>".."===e,n=[];let o=!1;const i=e=>{n.push(e)};return t.forEach((e=>{const t=(e=>"."===e)(e),s=r(e);return o?t?void 0:s?(()=>{if(0===n.length)return;const e=n[n.length-1];r(e)?n.push(".."):n.pop()})():void i(e):(i(e),void(o=!t&&!s))})),n.join("/")},We=(e,...t)=>Ve([e,...t].join("/"));var Xe={pathJoin:We,pathNormalize:Ve},Ye=Object.freeze({__proto__:null,default:Xe,pathJoin:We,pathNormalize:Ve});function Ke(e){const t=new URLSearchParams(e),r={};for(const[e,n]of t.entries())A(r[e])?r[e]=n:x(r[e])||(r[e]=t.getAll(e));return r}const Je=e=>h(e)?e:b(e)?String(e):g(e)?e?"true":"false":T(e)?e.toISOString():null;function Ze(e,t=Je){const r=new URLSearchParams;return q(e,((e,n)=>{if(x(e))e.forEach((e=>{const o=t(e);null!==o&&r.append(n.toString(),o)}));else{const o=t(e);if(null===o)return;r.set(n.toString(),o)}})),r.toString()}var Qe={qsParse:Ke,qsStringify:Ze},et=Object.freeze({__proto__:null,default:Qe,qsParse:Ke,qsStringify:Ze});const tt=(e,t=!0)=>{let r=null;v(URL)&&t?r=new URL(e):(r=document.createElement("a"),r.href=e);const{protocol:n,username:o,password:i,host:s,port:a,hostname:l,hash:c,search:u,pathname:d}=r,f=We("/",d),p=o&&i?`${o}:${i}`:"",h=u.replace(/^\?/,"");return r=null,{protocol:n,auth:p,username:o,password:i,host:s,port:a,hostname:l,hash:c,search:u,searchParams:Ke(h),query:h,pathname:f,path:`${f}${u}`,href:e}},rt=e=>{const{protocol:t,auth:r,host:n,pathname:o,searchParams:i,hash:s}=e,a=r?`${r}@`:"",l=Ze(i),c=l?`?${l}`:"";let u=s.replace(/^#/,"");return u=u?"#"+u:"",`${t}//${a}${n}${o}${c}${u}`},nt=(e,t)=>{const r=tt(e);return Object.assign(r.searchParams,t),rt(r)},ot=(e,t)=>{const r=tt(e);return t.forEach((e=>delete r.searchParams[e])),rt(r)};var it={urlParse:tt,urlStringify:rt,urlSetParams:nt,urlDelParams:ot},st=Object.freeze({__proto__:null,default:it,urlDelParams:ot,urlParse:tt,urlSetParams:nt,urlStringify:rt});function at(e,t){window.open(t?nt(e,t):e)}function lt(e,t,r){let n=document.createElement("a");n.download=t,n.style.display="none",n.href=e,document.body.appendChild(n),n.click(),setTimeout((()=>{document.body.removeChild(n),n=null,v(r)&&r()}))}function ct(e,t,r){const n=URL.createObjectURL(e);lt(n,t),setTimeout((()=>{URL.revokeObjectURL(n),v(r)&&r()}))}function ut(e,t,r){const{successCode:n=200,successCallback:o,failCallback:i}=E(r)?{successCode:200,successCallback:void 0,failCallback:void 0}:r,s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){if(s.status===n)ct(s.response,t,o);else if(v(i)){const e=s.status,t=s.getResponseHeader("Content-Type");if(h(t)&&t.includes("application/json")){const t=new FileReader;t.onload=()=>{i({status:e,response:t.result})},t.readAsText(s.response)}else i(s)}},s.onerror=e=>{v(i)&&i({status:0,code:"ERROR_CONNECTION_REFUSED"})},s.send()}function dt(e,t,r,n){if(r=r.replace(`.${t}`,"")+`.${t}`,"json"===t){ct(new Blob([JSON.stringify(e,null,4)]),r)}else{if(!n||!n.length)throw new Error("未传入表头数据");if(!Array.isArray(e))throw new Error("data error! expected array!");const o=n.join(",")+"\n";let i="";e.forEach((e=>{i+=Object.values(e).join(",\t")+",\n"}));lt("data:"+{csv:"text/csv",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}[t]+";charset=utf-8,\ufeff"+encodeURIComponent(o+i),r)}}var ft={downloadURL:at,downloadHref:lt,downloadBlob:ct,crossOriginDownload:ut,downloadData:dt},pt=Object.freeze({__proto__:null,crossOriginDownload:ut,default:ft,downloadBlob:ct,downloadData:dt,downloadHref:lt,downloadURL:at});function ht(e=1){return new Promise((t=>setTimeout(t,e)))}function gt(e,t,r=1/0){return new Promise(((n,o)=>{const i=e[Symbol.iterator](),s=Math.min(e.length,r),a=[];let l,c=0,u=0;const d=()=>{if(l)return o(l);const r=i.next();if(r.done)return void(c===e.length&&n(a));const s=u++;t(r.value,s,e).then((e=>{c++,a[s]=e,d()})).catch((e=>{l=e,d()}))};for(let e=0;e<s;e++)d()}))}function mt(e,t){return e.then((e=>[null,e])).catch((e=>{if(t){return[Object.assign({},e,t),void 0]}return[e,void 0]}))}var yt={wait:ht,asyncMap:gt,safeAwait:mt},bt=Object.freeze({__proto__:null,asyncMap:gt,default:yt,safeAwait:mt,wait:ht});function At(){return!!document.createElement("canvas").getContext}function St(e,t){let r=document.createElement("input");r.setAttribute("id",String(Date.now())),r.setAttribute("type","file"),r.setAttribute("style","visibility:hidden"),r.setAttribute("accept",e),document.body.appendChild(r),r.click(),r.onchange=e=>{t(e.target.files),setTimeout((()=>{document.body.removeChild(r),r=null}))}}function wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n}){let o=r,i=n;return(r>e||n>t)&&(r/n>e/t?(o=e,i=Math.round(e*(n/r))):(i=t,o=Math.round(t*(r/n)))),{width:o,height:i}}function Et(e,t={mime:"image/jpeg",minFileSizeKB:50}){if(!(e instanceof File||e instanceof FileList))throw new Error(`${e} require be File or FileList`);if(!At())throw new Error("Current runtime environment not support Canvas");const{quality:r,mime:n="image/jpeg",maxSize:o,minFileSizeKB:i=50}=_(t)?t:{};let s,a=r;if(r)a=r;else if(e instanceof File){const t=+parseInt((e.size/1024).toFixed(2));a=t<i?1:t<1024?.85:t<5120?.8:.75}return b(o)&&(s=o>=1200?o:1200),e instanceof FileList?Promise.all(Array.from(e).map((e=>Et(e,{maxSize:s,mime:n,quality:a})))):e instanceof File?new Promise((t=>{const r=[...e.name.split(".").slice(0,-1),{"image/webp":"webp","image/jpeg":"jpg","image/png":"png"}[n]].join("."),o=+parseInt((e.size/1024).toFixed(2));if(o<i)t({file:e});else{const i=new FileReader;i.onload=({target:{result:i}})=>{const l=new Image;l.onload=()=>{const c=document.createElement("canvas"),u=c.getContext("2d"),d=l.width,f=l.height,{width:p,height:h}=function({sizeKB:e,maxSize:t,originWidth:r,originHeight:n}){let o=r,i=n;if(b(t)){const{width:e,height:s}=wt({maxWidth:t,maxHeight:t,originWidth:r,originHeight:n});o=e,i=s}else if(e<500){const e=1200,t=1200,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(e<5120){const e=1400,t=1400,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(e<10240){const e=1600,t=1600,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}else if(10240<=e){const e=r>15e3?8192:r>1e4?4096:2048,t=n>15e3?8192:n>1e4?4096:2048,{width:s,height:a}=wt({maxWidth:e,maxHeight:t,originWidth:r,originHeight:n});o=s,i=a}return{width:o,height:i}}({sizeKB:o,maxSize:s,originWidth:d,originHeight:f});c.width=p,c.height=h,u.clearRect(0,0,p,h),u.drawImage(l,0,0,p,h);const g=c.toDataURL(n,a),m=atob(g.split(",")[1]);let y=m.length;const A=new Uint8Array(new ArrayBuffer(y));for(;y--;)A[y]=m.charCodeAt(y);const S=new File([A],r,{type:n});t({file:S,bufferArray:A,origin:e,beforeSrc:i,afterSrc:g,beforeKB:o,afterKB:Number((Number(S.size)/1024).toFixed(2))})},l.src=i},i.readAsDataURL(e)}})):Promise.resolve(null)}var _t={supportCanvas:At,chooseLocalFile:St,compressImg:Et},xt=Object.freeze({__proto__:null,chooseLocalFile:St,compressImg:Et,default:_t,supportCanvas:At});function vt(e="请勿外传",t){const{rootContainer:r=document.body,width:n="300px",height:o="150px",textAlign:i="center",textBaseline:s="middle",font:a="20px PingFangSC-Medium,PingFang SC",fillStyle:l="rgba(189, 177, 167, .3)",rotate:c=-20,zIndex:u=2147483647,watermarkId:d="__wm"}=E(t)?{}:t,f=h(r)?document.querySelector(r):r;if(!f)throw new Error(`${r} is not valid Html Element or element selector`);const p=document.createElement("canvas");p.setAttribute("width",n),p.setAttribute("height",o);const g=p.getContext("2d");g.textAlign=i,g.textBaseline=s,g.font=a,g.fillStyle=l,g.rotate(Math.PI/180*c),g.fillText(e,parseFloat(n)/4,parseFloat(o)/2);const m=p.toDataURL(),y=document.querySelector(`#${d}`),b=y||document.createElement("div"),A=`opacity: 1 !important; display: block !important; visibility: visible !important; position:absolute; left:0; top:0; width:100%; height:100%; z-index:${u}; pointer-events:none; background-repeat:repeat; background-image:url('${m}')`;b.setAttribute("style",A),b.setAttribute("id",d),b.classList.add("nav-height"),y||(f.style.position="relative",f.appendChild(b));const S=window.MutationObserver||window.WebKitMutationObserver;if(S){let r=new S((function(){let n=document.querySelector(`#${d}`);if(n){const{opacity:o,zIndex:i,display:s,visibility:a}=(e=>{const t=getComputedStyle(e);return{opacity:t.getPropertyValue("opacity"),zIndex:t.getPropertyValue("z-index"),display:t.getPropertyValue("display"),visibility:t.getPropertyValue("visibility")}})(n);(n&&n.getAttribute("style")!==A||!n||"1"!==o||"2147483647"!==i||"block"!==s||"visible"!==a)&&(r.disconnect(),r=null,f.removeChild(n),n=null,vt(e,t))}else r.disconnect(),r=null,vt(e,t)}));r.observe(f,{attributes:!0,subtree:!0,childList:!0})}}var Ct={genCanvasWM:vt},Tt=Object.freeze({__proto__:null,default:Ct,genCanvasWM:vt});const jt=(e,t)=>{let r,n=!1;const o=function(...o){n||(clearTimeout(r),r=setTimeout((()=>{e.call(this,...o)}),t))};return o.cancel=()=>{clearTimeout(r),n=!0},o},Ft=(e,t,r)=>{let n,o=!1,i=0;const s=function(...s){if(o)return;const a=Date.now(),l=()=>{i=a,e.call(this,...s)};if(0===i)return r?l():void(i=a);i+t-a>0?(clearTimeout(n),n=setTimeout((()=>l()),t)):l()};return s.cancel=()=>{clearTimeout(n),o=!0},s},Pt=e=>{let t,r=!1;return function(...n){return r||(r=!0,t=e.call(this,...n)),t}};function Nt(e,t){if("undefined"!=typeof globalThis)globalThis[e]=t;else if("undefined"!=typeof window)window[e]=t;else if("undefined"!=typeof global)global[e]=t;else{if("undefined"==typeof self)throw new SyntaxError("当前环境下无法设置全局属性");self[e]=t}}function Rt(e){return"undefined"!=typeof globalThis?globalThis[e]:"undefined"!=typeof window?window[e]:"undefined"!=typeof global?global[e]:"undefined"!=typeof self?self[e]:void 0}var Ot={debounce:jt,throttle:Ft,once:Pt,getGlobal:Rt,setGlobal:Nt},It=Object.freeze({__proto__:null,debounce:jt,default:Ot,getGlobal:Rt,once:Pt,setGlobal:Nt,throttle:Ft});const Dt=(e,t)=>Math.floor(Math.random()*(t-e+1)+e),$t=`${oe}${se}${ie}`,Mt=(e,t)=>{let r=0,n=$t;h(t)?(r=e,n=t):b(e)?r=e:h(e)&&(n=e);let o=Math.max(r,1),i="";const s=n.length-1;if(s<2)throw new Error("字符串池长度不能少于 2");for(;o--;){i+=n[Dt(0,s)]}return i};function Lt(){if("undefined"==typeof URL||!URL.createObjectURL||"undefined"==typeof Blob){const e="0123456789abcdef",t="xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx";let r="";for(let n=0;n<t.length;n++){const o=Dt(0,15);r+="-"==t[n]||"4"==t[n]?t[n]:e[o]}return r}return/[^/]+$/.exec(URL.createObjectURL(new Blob).slice())[0]}var Ut={STRING_POOL:$t,randomNumber:Dt,randomString:Mt,randomUuid:Lt},Bt=Object.freeze({__proto__:null,STRING_POOL:$t,default:Ut,randomNumber:Dt,randomString:Mt,randomUuid:Lt});const kt=`${oe}${se}${ie}`,zt="undefined"!=typeof BigInt,Ht=()=>Rt("JSBI"),Gt=e=>zt?BigInt(e):Ht().BigInt(e);function qt(e,t=kt){if(t.length<2)throw new Error("进制池长度不能少于 2");if(!zt)throw new Error('需要安装 jsbi 模块并将 JSBI 设置为全局变量:\nimport JSBI from "jsbi"; window.JSBI = JSBI;');let r=Gt(e);const n=[],{length:o}=t,i=Gt(o),s=()=>{const e=Number(((e,t)=>zt?e%t:Ht().remainder(e,t))(r,i));r=((e,t)=>zt?e/t:Ht().divide(e,t))(r,i),n.unshift(t[e]),r>0&&s()};return s(),n.join("")}const Vt=(e,t,r={ratio:1e3,decimals:0,separator:" "})=>{const{ratio:n=1e3,decimals:o=0,separator:i=" "}=r,{length:s}=t;if(0===s)throw new Error("At least one unit is required");let a=Number(e),l=0;for(;a>=n&&l<s-1;)a/=n,l++;const c=a.toFixed(o),u=t[l];return String(c)+i+u};function Wt(e,t={decimals:0,si:!1,separator:" "}){const{decimals:r=0,si:n=!1,separator:o=" ",baseUnit:i,maxUnit:s}=t;let a=n?["B","kB","MB","GB","TB","PB","EB","ZB","YB"]:["Byte","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];if(!E(i)){const e=a.findIndex((e=>e===i));-1!==e&&(a=a.slice(e))}if(!E(s)){const e=a.findIndex((e=>e===s));-1!==e&&a.splice(e+1)}return Vt(e,a,{ratio:n?1e3:1024,decimals:r,separator:o})}function Xt(e,t){if(E(t))return parseInt(String(e)).toLocaleString();let r=0;return t>0&&(r=t),Number(Number(e).toFixed(r)).toLocaleString("en-US")}var Yt={HEX_POOL:kt,numberToHex:qt,numberAbbr:Vt,humanFileSize:Wt,formatNumber:Xt,formatMoney:Xt},Kt=Object.freeze({__proto__:null,HEX_POOL:kt,default:Yt,formatMoney:Xt,formatNumber:Xt,humanFileSize:Wt,numberAbbr:Vt,numberToHex:qt});let Jt=0,Zt=0;const Qt=(e=18)=>{const t=Date.now();e=Math.max(e,18),t!==Zt&&(Zt=t,Jt=0);const r=`${t}`;let n="";const o=e-5-13;if(o>0){n=`${Dt(10**(o-1),10**o-1)}`}const i=((e,t=2)=>String(e).padStart(t,"0"))(Jt,5);return Jt++,`${r}${n}${i}`},er=e=>e[Dt(0,e.length-1)],tr=(e,t)=>{let r=0,n=kt;h(t)?(r=e,n=t):b(e)?r=e:h(e)&&(n=e);let o=qt(Qt(),n),i=r-o.length;if(i<=0)return o;for(;i--;)o+=er(n);return o};var rr={UNIQUE_NUMBER_SAFE_LENGTH:18,uniqueNumber:Qt,uniqueString:tr},nr=Object.freeze({__proto__:null,UNIQUE_NUMBER_SAFE_LENGTH:18,default:rr,uniqueNumber:Qt,uniqueString:tr});function or(e,t,r){let n=250,o=13;const i=e.children[0];_e(t,12)<230?(i.style.maxWidth=_e(t,12)+20+50+"px",n=r.clientX+(_e(t,12)+50)-document.body.offsetWidth):(i.style.maxWidth="250px",n=r.clientX+230-document.body.offsetWidth),i.innerHTML=t,n>0&&(o-=n),e.style.top=r.clientY+23+"px",e.style.left=r.clientX+o+"px",e.style.maxWidth="250px";const s=e.getBoundingClientRect().top+i.offsetHeight-document.body.offsetHeight;s>0&&(e.style.top=r.clientY-s+"px")}const ir={handleMouseEnter:function({rootContainer:e="#root",title:t,event:r,bgColor:n="#000",color:o="#fff"}){try{const i=h(e)?document.querySelector(e):e;if(!i)throw new Error(`${e} is not valid Html Element or element selector`);let s=null;const a="style-tooltip-inner1494304949567";if(!document.querySelector(`#${a}`)){const e=document.createElement("style");e.type="text/css",e.id=a,e.innerHTML=`\n .tooltip-inner1494304949567 {\n max-width: 250px;\n padding: 3px 8px;\n color: ${o};\n text-decoration: none;\n border-radius: 4px;\n text-align: left;\n background-color: ${n};\n }\n `,document.querySelector("head").appendChild(e)}if(s=document.querySelector("#customTitle1494304949567"),s)or(s,t,r);else{const e=document.createElement("div");e.id="customTitle1494304949567",e.style.cssText="z-index: 99999999; visibility: hidden; position: absolute;",e.innerHTML='<div class="tooltip-inner1494304949567" style="word-wrap: break-word; max-width: 44px;">皮肤</div>',i.appendChild(e),s=document.querySelector("#customTitle1494304949567"),t&&(or(s,t,r),s.style.visibility="visible")}}catch(e){console.error(e.message)}},handleMouseLeave:function(e="#root"){const t=h(e)?document.querySelector(e):e;let r=document.querySelector("#customTitle1494304949567");t&&r&&(t.removeChild(r),r=null)}};var sr={tooltipEvent:ir},ar=Object.freeze({__proto__:null,default:sr,tooltipEvent:ir});const lr={keyField:"key",childField:"children",pidField:"pid"},cr={childField:"children",nameField:"name",removeEmptyChild:!1,ignoreCase:!0};function ur(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){const{childField:n="children",reverse:o=!1,breadthFirst:i=!1,isDomNode:s=!1}=_(r)?r:{};let a=!1;const l=[],c=(r,o,c,d,f)=>{const p=t(r,o,c,e,d,f);if(!1===p)return void(a=!0);if(!0===p)return;const h=function(e,t,r){const n=e[t];return n&&(r&&B(n)||Array.isArray(n))?n:null}(r,n,s);if(h)if(i){const t=h.length;for(let n=0;n<t;n++)l.push({item:h[n],index:n,array:h,tree:e,parent:r,level:f+1})}else u(h,r,f+1)},u=(e,t,r)=>{const n=e.length;if(o)for(let o=n-1;o>=0&&!a;o--)c(e[o],o,e,t,r);else for(let o=0;o<n&&!a;o++)c(e[o],o,e,t,r)};if(u(e,null,0),i){let e=0;for(;e<l.length&&!a;){const{item:t,index:r,array:n,parent:o,level:i}=l[e++];c(t,r,n,o,i)}}e=null}function dr(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){let n=null;return ur(e,((...e)=>{if(t(...e))return n=e[0],!1}),r),n}function fr(e,t,r={childField:"children",reverse:!1,breadthFirst:!1,isDomNode:!1}){const n=[];return ur(e,((...e)=>{t(...e)&&n.push(e[0])}),r),n}function pr(e,t,r={childField:"children",reverse:!1}){const{childField:n="children",reverse:o=!1}=_(r)?r:{};let i=!1;const s=[],a=(r,s,l,c)=>{if(o)for(let o=r.length-1;o>=0&&!i;o--){const u=r[o],d=t(u,o,r,e,s,c);if(!1===d){i=!0;break}if(!0===d)continue;const f=Y(d,[n]);l.push(f);const p=u[n];Array.isArray(p)&&(f[n]=[],a(p,u,f[n],c+1))}else for(let o=0;o<r.length&&!i;o++){const u=r[o],d=t(u,o,r,e,s,c);if(!1===d){i=!0;break}if(!0===d)continue;const f=Y(d,[n]);l.push(f);const p=u[n];Array.isArray(p)&&(f[n]=[],a(p,u,f[n],c+1))}};return a(e,null,s,0),e=null,s}function hr(e,t,r={childField:"children",keyField:"id"}){const{childField:n="children",keyField:o="id"}=_(r)?r:{},i={},s=[],a=e.length;for(let t=0;t<a;t++)s.push({node:e[t]});for(;s.length>0;){const{node:e,parentId:t,parent:r}=s.pop(),a=e[o];i[a]={node:e,parentId:t,parent:r};const l=e[n];if(Array.isArray(l)){const t=l.length;for(let r=0;r<t;r++)s.push({node:l[r],parentId:a,parent:e})}}const l=[],c=[];let u=i[t];if(!u)return[[],[]];for(l.push(t),c.push(u.node);u&&void 0!==u.parentId;){l.unshift(u.parentId);const e=i[u.parentId];if(!e)break;c.unshift(e.node),u=e}return[l,c]}function gr(e,t=lr){const{keyField:r="key",childField:n="children",pidField:o="pid"}=_(t)?t:{},i=[],s={},a=e.length;for(let t=0;t<a;t++){const n=e[t];s[n[r]]=n}for(let t=0;t<a;t++){const r=e[t],a=s[r[o]];a?(a[n]||(a[n]=[])).push(r):i.push(r)}return e=null,i}function mr(e,t=lr){const{keyField:r="key",childField:n="children",pidField:o="pid"}=_(t)?t:{},i=[],s=e=>{const t=e.length;for(let a=0;a<t;a++){const t=e[a],l={...t};delete l[n],i.push(l);const c=t[n];if(Array.isArray(c)){const e=c.map((e=>({...e,[o]:void 0!==t[r]?t[r]:e.pid})));s(e)}}};return s(e),i}function yr(e,t,r=cr){if(!u(t,"filter")&&!t.keyword)return e;const n=[],{childField:o,nameField:i,removeEmptyChild:s,ignoreCase:a}=r,l=u(t,"filter"),c=t.filter,d=t.keyword;for(let u=0,f=e.length;u<f;u++){const f=e[u],p=f[o],h=p&&p.length>0?yr(p,t,r):[];let g=!1;if(l&&c)g=c(f);else if(null!=d){const e=String(f[i]||""),t=String(d);g=a?e.toLowerCase().includes(t.toLowerCase()):e.includes(t)}if(g||h.length>0)if(o in f)if(h.length>0)n.push({...f,[o]:h});else if(s){const{[o]:e,...t}=f;n.push(t)}else n.push({...f,[o]:[]});else n.push(f)}return n}var br={forEachDeep:ur,findDeep:dr,filterDeep:fr,mapDeep:pr,getPathById:hr,searchTreeById:hr,formatTree:gr,flatTree:mr,fuzzySearchTree:yr},Ar=Object.freeze({__proto__:null,default:br,filterDeep:fr,findDeep:dr,flatTree:mr,forEachDeep:ur,formatTree:gr,fuzzySearchTree:yr,getPathById:hr,mapDeep:pr,searchTreeById:hr});const Sr=(e,t)=>{let r=0;const n=e.toString(),o=t.toString();return void 0!==n.split(".")[1]&&(r+=n.split(".")[1].length),void 0!==o.split(".")[1]&&(r+=o.split(".")[1].length),Number(n.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,r)},wr=(e,t)=>{let r=0,n=0,o=0;try{r=e.toString().split(".")[1].length}catch(e){r=0}try{n=t.toString().split(".")[1].length}catch(e){n=0}return o=10**Math.max(r,n),(Sr(e,o)+Sr(t,o))/o},Er=(e,t)=>wr(e,-t),_r=(e,t)=>{let r=0,n=0,o=0,i=0;return void 0!==e.toString().split(".")[1]&&(r=e.toString().split(".")[1].length),void 0!==t.toString().split(".")[1]&&(n=t.toString().split(".")[1].length),o=Number(e.toString().replace(".","")),i=Number(t.toString().replace(".","")),o/i*Math.pow(10,n-r)};function xr(e,t=15){return+parseFloat(Number(e).toPrecision(t))}var vr={add:wr,subtract:Er,multiply:Sr,divide:_r,strip:xr},Cr=Object.freeze({__proto__:null,add:wr,default:vr,divide:_r,multiply:Sr,strip:xr,subtract:Er});const Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",jr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;function Fr(e){const t=e.length;let r="",n=0;for(;n<t-2;n+=3){const t=e.charCodeAt(n)<<16|e.charCodeAt(n+1)<<8|e.charCodeAt(n+2);r+=Tr.charAt(t>>18)+Tr.charAt(t>>12&63)+Tr.charAt(t>>6&63)+Tr.charAt(63&t)}const o=t-n;if(1===o){const t=e.charCodeAt(n);r+=Tr.charAt(t>>2)+Tr.charAt(t<<4&63)+"=="}else if(2===o){const t=e.charCodeAt(n)<<8|e.charCodeAt(n+1);r+=Tr.charAt(t>>10)+Tr.charAt(t>>4&63)+Tr.charAt(t<<2&63)+"="}return r}function Pr(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!jr.test(e))throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");const t=e.length,r=e.endsWith("==")?2:e.endsWith("=")?1:0,n=new Array(.75*t-r);let o=0;for(let i=0;i<t;i+=4){const s=Tr.indexOf(e.charAt(i))<<18|Tr.indexOf(e.charAt(i+1))<<12|(63&Tr.indexOf(e.charAt(i+2)))<<6|63&Tr.indexOf(e.charAt(i+3));n[o++]=String.fromCharCode(s>>16&255),(i+2<t-r||r<2)&&(n[o++]=String.fromCharCode(s>>8&255)),(i+3<t-r||r<1)&&(n[o++]=String.fromCharCode(255&s))}return n.join("")}function Nr(e){const t=(e=String(e)).length;for(let r=0;r<t;r++)if(e.charCodeAt(r)>255)throw new TypeError("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.");return Fr(e)}function Rr(e){return Pr(e)}function Or(e){if(!E(Rt("atob"))&&!E(Rt("TextDecoder")))try{const t=Rt("atob")(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return new(Rt("TextDecoder"))("utf-8").decode(n)}catch(e){}const t=Pr(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return function(e){const t=e.length;let r="",n=0;for(;n<t;){const t=e[n++];if(t<128)r+=String.fromCharCode(t);else if(t<224){const o=63&e[n++];r+=String.fromCharCode((31&t)<<6|o)}else if(t<240){const o=63&e[n++],i=63&e[n++];r+=String.fromCharCode((15&t)<<12|o<<6|i)}else{let o=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++];o-=65536,r+=String.fromCharCode(55296+(o>>10&1023),56320+(1023&o))}}return r}(n)}function Ir(e){if(!E(Rt("btoa"))&&!E(Rt("TextEncoder")))try{const t=(new(Rt("TextEncoder"))).encode(e);let r="";const n=t.length;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);return Rt("btoa")(r)}catch(e){}const t=function(e){const t=e.length,r=new Uint8Array(3*t);let n=0;for(let o=0;o<t;o++){let t=e.charCodeAt(o);t<128?r[n++]=t:t<2048?(r[n++]=192|t>>6,r[n++]=128|63&t):t<55296||t>=57344?(r[n++]=224|t>>12,r[n++]=128|t>>6&63,r[n++]=128|63&t):(o++,t=65536+((1023&t)<<10|1023&e.charCodeAt(o)),r[n++]=240|t>>18,r[n++]=128|t>>12&63,r[n++]=128|t>>6&63,r[n++]=128|63&t)}return r.subarray(0,n)}(e);let r="";const n=t.length;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);return Fr(r)}var Dr={weBtoa:Nr,weAtob:Rr,b64decode:Or,b64encode:Ir},$r=Object.freeze({__proto__:null,b64decode:Or,b64encode:Ir,default:Dr,weAtob:Rr,weBtoa:Nr});const Mr=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,Lr=e=>Mr.test(e),Ur=/^(?:(?:\+|00)86)?1\d{10}$/,Br=e=>Ur.test(e),kr=/^(1[1-5]|2[1-3]|3[1-7]|4[1-6]|5[0-4]|6[1-5]|7[1]|8[1-2]|9[1])\d{4}(18|19|20)\d{2}[01]\d[0123]\d{4}[\dxX]$/,zr=e=>{if(!kr.test(e))return!1;const t=Number(e.slice(6,10)),r=Number(e.slice(10,12)),n=Number(e.slice(12,14)),o=new Date(t,r-1,n);if(!(o.getFullYear()===t&&o.getMonth()+1===r&&o.getDate()===n))return!1;const i=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let s=0;for(let t=0;t<17;t++)s+=Number(e.slice(t,t+1))*i[t];return["1","0","X","9","8","7","6","5","4","3","2"][s%11]===e.slice(-1)},Hr=/^(https?|ftp):\/\/([^\s/$.?#].[^\s]*)$/i,Gr=/^https?:\/\/([^\s/$.?#].[^\s]*)$/i,qr=(e,t=!1)=>(t?Hr:Gr).test(e),Vr=/^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/,Wr=/^(([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}|([\da-fA-F]{1,4}:){1,7}:|([\da-fA-F]{1,4}:){1,6}:[\da-fA-F]{1,4}|([\da-fA-F]{1,4}:){1,5}(:[\da-fA-F]{1,4}){1,2}|([\da-fA-F]{1,4}:){1,4}(:[\da-fA-F]{1,4}){1,3}|([\da-fA-F]{1,4}:){1,3}(:[\da-fA-F]{1,4}){1,4}|([\da-fA-F]{1,4}:){1,2}(:[\da-fA-F]{1,4}){1,5}|[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,6})|:((:[\da-fA-F]{1,4}){1,7}|:)|fe80:(:[\da-fA-F]{0,4}){0,4}%[\da-zA-Z]+|::(ffff(:0{1,4})?:)?((25[0-5]|(2[0-4]|1?\d)?\d)\.){3}(25[0-5]|(2[0-4]|1?\d)?\d)|([\da-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1?\d)?\d)\.){3}(25[0-5]|(2[0-4]|1?\d)?\d))$/i,Xr=e=>Vr.test(e),Yr=e=>Wr.test(e),Kr=/^(-?[1-9]\d*|0)$/,Jr=e=>Kr.test(e),Zr=/^-?([1-9]\d*|0)\.\d*[1-9]$/,Qr=e=>Zr.test(e),en=e=>Jr(e)||Qr(e),tn=/^\d+$/,rn=e=>tn.test(e);var nn={EMAIL_REGEX:Mr,HTTP_URL_REGEX:Gr,IPV4_REGEX:Vr,IPV6_REGEX:Wr,PHONE_REGEX:Ur,URL_REGEX:Hr,isDigit:rn,isEmail:Lr,isFloat:Qr,isIdNo:zr,isInteger:Jr,isIpV4:Xr,isIpV6:Yr,isNumerical:en,isPhone:Br,isUrl:qr},on=Object.freeze({__proto__:null,EMAIL_REGEX:Mr,HTTP_URL_REGEX:Gr,IPV4_REGEX:Vr,IPV6_REGEX:Wr,PHONE_REGEX:Ur,URL_REGEX:Hr,default:nn,isDigit:rn,isEmail:Lr,isFloat:Qr,isIdNo:zr,isInteger:Jr,isIpV4:Xr,isIpV6:Yr,isNumerical:en,isPhone:Br,isUrl:qr});function sn(e){return[...new Set(e.trim().split(""))].join("")}function an(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ln(e,t){return new RegExp(`${an(e.trim())}\\s*([^${an(sn(e))}${an(sn(t))}\\s]*)\\s*${t.trim()}`,"g")}function cn(e,t="{",r="}"){return Array.from(e.matchAll(ln(t,r))).map((e=>E(e)?void 0:e[1]))}function un(e,t,r="{",n="}"){return e.replace(new RegExp(ln(r,n)),(function(e,r){return u(t,r)?t[r]:e}))}function dn(e,t={}){const r=Object.keys(t),n=r.map((e=>t[e]));try{return new Function(...r,`return (() => { ${e} })()`)(...n)}catch(e){throw new Error(`代码执行失败: ${e.message}`)}}var fn={escapeRegExp:an,executeInScope:dn,parseVarFromString:cn,replaceVarFromString:un,uniqueSymbol:sn},pn=Object.freeze({__proto__:null,default:fn,escapeRegExp:an,executeInScope:dn,parseVarFromString:cn,replaceVarFromString:un,uniqueSymbol:sn});function hn(e,t=new WeakMap){if(null===e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);if(e instanceof ArrayBuffer){const r=new ArrayBuffer(e.byteLength);return new Uint8Array(r).set(new Uint8Array(e)),t.set(e,r),r}if(ArrayBuffer.isView(e)){return new(0,e.constructor)(hn(e.buffer,t),e.byteOffset,e.length)}if(e instanceof Date){const r=new Date(e.getTime());return t.set(e,r),r}if(e instanceof RegExp){const r=new RegExp(e.source,e.flags);return r.lastIndex=e.lastIndex,t.set(e,r),r}if(e instanceof Map){const r=new Map;return t.set(e,r),e.forEach(((e,n)=>{r.set(hn(n,t),hn(e,t))})),r}if(e instanceof Set){const r=new Set;return t.set(e,r),e.forEach((e=>{r.add(hn(e,t))})),r}if(Array.isArray(e)){const r=new Array(e.length);t.set(e,r);for(let n=0,o=e.length;n<o;n++)n in e&&(r[n]=hn(e[n],t));const n=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(n))Object.defineProperty(r,e,{...n[e],value:hn(n[e].value,t)});return r}const r=Object.create(Object.getPrototypeOf(e));t.set(e,r);const n=Object.getOwnPropertyDescriptors(e);for(const e of Reflect.ownKeys(n)){const o=n[e];"value"in o?o.value=hn(o.value,t):(o.get&&(o.get=hn(o.get,t)),o.set&&(o.set=hn(o.set,t))),Object.defineProperty(r,e,o)}return r}var gn={cloneDeep:hn},mn=Object.freeze({__proto__:null,cloneDeep:hn,default:gn});const yn={MAP:"[object Map]",SET:"[object Set]",DATE:"[object Date]",REGEXP:"[object RegExp]",SYMBOL:"[object Symbol]",ARRAY_BUFFER:"[object ArrayBuffer]",DATA_VIEW:"[object DataView]",ARGUMENTS:"[object Arguments]"},{toString:bn,hasOwnProperty:An}=Object.prototype,Sn=e=>bn.call(e);function wn(e,t){return En(e,t)}function En(e,t,r=void 0){if(e===t)return!0;if(e!=e&&t!=t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e.constructor!==t.constructor)return!1;if(r||(r=new WeakMap),r.has(e))return r.get(e)===t;r.set(e,t);const n=Sn(e);if(n!==Sn(t))return!1;let o=!1;switch(n){case yn.DATE:o=+e==+t;break;case yn.REGEXP:o=""+e==""+t;break;case yn.SYMBOL:o=Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t);break;case yn.ARRAY_BUFFER:o=_n(e,t);break;case yn.DATA_VIEW:s=t,o=(i=e).byteLength===s.byteLength&&i.byteOffset===s.byteOffset&&_n(i.buffer,s.buffer);break;case yn.MAP:o=function(e,t,r){if(e.size!==t.size)return!1;for(const[n,o]of e){const e=t.get(n);if(void 0===e&&!t.has(n))return!1;if(!En(o,e,r))return!1}return!0}(e,t,r);break;case yn.SET:o=function(e,t,r){if(e.size!==t.size)return!1;for(const n of e){if(t.has(n))continue;let e=!1;for(const o of t)if(En(n,o,r)){e=!0;break}if(!e)return!1}return!0}(e,t,r);break;case yn.ARGUMENTS:default:o=Array.isArray(e)||ArrayBuffer.isView(e)?function(e,t,r){const n=e.length;if(n!==t.length)return!1;let o=n;for(;o--;)if(!En(e[o],t[o],r))return!1;return!0}(e,t,r):function(e,t,r){const n=Reflect.ownKeys(e),o=Reflect.ownKeys(t);if(n.length!==o.length)return!1;for(let o=0;o<n.length;o++){const i=n[o];if(!An.call(t,i)||!En(e[i],t[i],r))return!1}return!0}(e,t,r)}var i,s;return o}function _n(e,t){if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);let o=e.byteLength;for(;o--;)if(r[o]!==n[o])return!1;return!0}var xn={isEqual:wn},vn=Object.freeze({__proto__:null,default:xn,isEqual:wn});class Cn{static encode(e,t="unicode",r=!1){const n=[];for(const o of e){const e=o.codePointAt(0);"html"===t&&this.ENTITY_MAP[o]?n.push(this.ENTITY_MAP[o]):!r&&e>=32&&e<=126?n.push(o):"unicode"===t?e>65535?n.push(`\\u{${e.toString(16).toUpperCase()}}`):n.push(`\\u${e.toString(16).toUpperCase().padStart(4,"0")}`):n.push(`&#${e};`)}return n.join("")}static decode(e,t=!1){if(!e)return"";let r=e.replace(/\\u(?:\{([0-9a-fA-F]+)\}|([0-9a-fA-F]{4}))/g,((e,t,r)=>String.fromCodePoint(parseInt(t||r,16)))).replace(/&#(x?)([0-9a-fA-F]+);/g,((e,t,r)=>String.fromCodePoint(parseInt(r,t?16:10)))).replace(/&[a-z0-9]+;/gi,(e=>this.NAMED_ENTITIES[e]||e));return t&&(r=r.replace(/\u00A0/g," ")),r}}Cn.ENTITY_MAP={"&":"&","<":"<",">":">",'"':""","'":"'"},Cn.NAMED_ENTITIES={""":'"',"&":"&","<":"<",">":">"," ":" ","©":"©","™":"™","®":"®"};var Tn={UnicodeToolkit:Cn},jn={...a,...Pe,...De,...qe,...Ce,...pt,...te,...Ye,...et,...ge,...z,...st,...bt,...xt,...Tt,...It,...Bt,...Kt,...nr,...ar,...Ar,...Cr,...$r,...on,...pn,...mn,...vn,...Object.freeze({__proto__:null,UnicodeToolkit:Cn,default:Tn})};e.EMAIL_REGEX=Mr,e.HEX_POOL=kt,e.HTTP_URL_REGEX=Gr,e.IPV4_REGEX=Vr,e.IPV6_REGEX=Wr,e.PHONE_REGEX=Ur,e.STRING_ARABIC_NUMERALS=oe,e.STRING_LOWERCASE_ALPHA=ie,e.STRING_POOL=$t,e.STRING_UPPERCASE_ALPHA=se,e.UNIQUE_NUMBER_SAFE_LENGTH=18,e.URL_REGEX=Hr,e.UnicodeToolkit=Cn,e.add=wr,e.addClass=be,e.adjustDate=He,e.arrayEach=t,e.arrayEachAsync=r,e.arrayInsertBefore=n,e.arrayLike=d,e.arrayRemove=o,e.asyncMap=gt,e.b64decode=Or,e.b64encode=Ir,e.chooseLocalFile=St,e.cloneDeep=hn,e.compressImg=Et,e.cookieDel=Oe,e.cookieGet=Ne,e.cookieSet=Re,e.copyText=Te,e.crossOriginDownload=ut,e.dateParse=Ue,e.dateToEnd=ke,e.dateToStart=Be,e.debounce=jt,e.default=jn,e.diffArray=i,e.divide=_r,e.downloadBlob=ct,e.downloadData=dt,e.downloadHref=lt,e.downloadURL=at,e.escapeRegExp=an,e.executeInScope=dn,e.fallbackCopyText=je,e.filterDeep=fr,e.findDeep=dr,e.flatTree=mr,e.forEachDeep=ur,e.formatDate=ze,e.formatMoney=Xt,e.formatNumber=Xt,e.formatTree=gr,e.fuzzySearchTree=yr,e.genCanvasWM=vt,e.getComputedCssVal=Ee,e.getGlobal=Rt,e.getPathById=hr,e.getStrWidthPx=_e,e.getStyle=we,e.hasClass=me,e.humanFileSize=Wt,e.is=p,e.isArguments=$,e.isArray=x,e.isArrayBuffer=D,e.isAsyncFunction=M,e.isBigInt=y,e.isBoolean=g,e.isDataView=I,e.isDate=T,e.isDigit=rn,e.isEmail=Lr,e.isEmpty=U,e.isEqual=wn,e.isError=j,e.isFloat=Qr,e.isFunction=v,e.isIdNo=zr,e.isInteger=Jr,e.isIpV4=Xr,e.isIpV6=Yr,e.isJsonString=L,e.isMap=N,e.isNaN=C,e.isNodeList=B,e.isNull=S,e.isNullOrUnDef=E,e.isNullish=E,e.isNumber=b,e.isNumerical=en,e.isObject=_,e.isPhone=Br,e.isPlainObject=G,e.isPrimitive=w,e.isPromise=P,e.isRegExp=F,e.isSet=R,e.isString=h,e.isSymbol=m,e.isTypedArray=O,e.isUndefined=A,e.isUrl=qr,e.isValidDate=$e,e.mapDeep=pr,e.multiply=Sr,e.numberAbbr=Vt,e.numberToHex=qt,e.objectAssign=J,e.objectEach=q,e.objectEachAsync=V,e.objectFill=Z,e.objectGet=Q,e.objectHas=u,e.objectMap=W,e.objectMerge=J,e.objectOmit=Y,e.objectPick=X,e.once=Pt,e.parseQueryParams=pe,e.parseVarFromString=cn,e.pathJoin=We,e.pathNormalize=Ve,e.qsParse=Ke,e.qsStringify=Ze,e.randomNumber=Dt,e.randomString=Mt,e.randomUuid=Lt,e.removeClass=Ae,e.replaceVarFromString=un,e.safeAwait=mt,e.searchTreeById=hr,e.select=xe,e.setGlobal=Nt,e.setStyle=Se,e.stringAssign=ue,e.stringCamelCase=re,e.stringEscapeHtml=de,e.stringFill=fe,e.stringFormat=le,e.stringKebabCase=ne,e.strip=xr,e.subtract=Er,e.supportCanvas=At,e.throttle=Ft,e.tooltipEvent=ir,e.typeIs=f,e.uniqueNumber=Qt,e.uniqueString=tr,e.uniqueSymbol=sn,e.urlDelParams=ot,e.urlParse=tt,e.urlSetParams=nt,e.urlStringify=rt,e.wait=ht,e.weAtob=Rr,e.weBtoa=Nr,Object.defineProperty(e,"__esModule",{value:!0})}));
|