@whitesev/domutils 1.8.7 → 1.8.9

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.
@@ -1,6 +1,6 @@
1
+ import { ElementWait } from "./ElementWait";
1
2
  import type { DOMUtilsTargetElementType } from "./types/global";
2
3
  import type { WindowApiOption } from "./types/WindowApi";
3
- import { ElementWait } from "./ElementWait";
4
4
  import { WindowApi } from "./WindowApi";
5
5
  declare class ElementAnimate extends ElementWait {
6
6
  windowApi: typeof WindowApi.prototype;
@@ -48,7 +48,7 @@ declare class ElementWait extends ElementSelector {
48
48
  * console.log($div); // $div => HTMLDivELement
49
49
  * })
50
50
  */
51
- waitNode<K>(selectorFn: () => K | null | undefined): Promise<K>;
51
+ waitNode<K = HTMLElement>(selectorFn: () => K | null | undefined): Promise<K>;
52
52
  /**
53
53
  * 等待元素出现
54
54
  * @param selectorFn 获取元素的函数
@@ -58,7 +58,7 @@ declare class ElementWait extends ElementSelector {
58
58
  * console.log($div); // $div => HTMLDivELement | null
59
59
  * })
60
60
  */
61
- waitNode<K>(selectorFn: () => K | null | undefined, timeout: number): Promise<K | null | undefined>;
61
+ waitNode<K = HTMLElement>(selectorFn: () => K | null | undefined, timeout: number): Promise<K | null | undefined>;
62
62
  /**
63
63
  * 等待元素出现
64
64
  * @param selectorFn 获取元素的函数
@@ -72,7 +72,7 @@ declare class ElementWait extends ElementSelector {
72
72
  * console.log($div); // $div => HTMLDivELement | null
73
73
  * })
74
74
  */
75
- waitNode<K>(selectorFn: () => K | null | undefined, parent: Node | Element | Document | HTMLElement, timeout?: number): Promise<K | null | undefined>;
75
+ waitNode<K = HTMLElement>(selectorFn: () => K | null | undefined, parent: Node | Element | Document | HTMLElement, timeout?: number): Promise<K | null | undefined>;
76
76
  /**
77
77
  * 等待元素出现
78
78
  * @param selector CSS选择器
@@ -86,7 +86,7 @@ declare class ElementWait extends ElementSelector {
86
86
  * })
87
87
  */
88
88
  waitNode<K extends keyof HTMLElementTagNameMap>(selector: K, parent?: Node | Element | Document | HTMLElement): Promise<HTMLElementTagNameMap[K]>;
89
- waitNode<T extends Element>(selector: string, parent?: Node | Element | Document | HTMLElement): Promise<T>;
89
+ waitNode<T extends Element = HTMLElement>(selector: string, parent?: Node | Element | Document | HTMLElement): Promise<T>;
90
90
  /**
91
91
  * 等待元素出现
92
92
  * @param selectorList CSS选择器数组
@@ -100,7 +100,7 @@ declare class ElementWait extends ElementSelector {
100
100
  * })
101
101
  */
102
102
  waitNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent?: Node | Element | Document | HTMLElement): Promise<HTMLElementTagNameMap[K][]>;
103
- waitNode<T extends Element[]>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
103
+ waitNode<T extends Element[] = HTMLElement[]>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
104
104
  /**
105
105
  * 等待元素出现
106
106
  * @param selector CSS选择器
@@ -112,7 +112,7 @@ declare class ElementWait extends ElementSelector {
112
112
  * })
113
113
  */
114
114
  waitNode<K extends keyof HTMLElementTagNameMap>(selector: K, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
115
- waitNode<T extends Element>(selector: string, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
115
+ waitNode<T extends Element = HTMLElement>(selector: string, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
116
116
  /**
117
117
  * 等待元素出现
118
118
  * @param selectorList CSS选择器数组
@@ -124,7 +124,7 @@ declare class ElementWait extends ElementSelector {
124
124
  * })
125
125
  */
126
126
  waitNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
127
- waitNode<T extends Element[]>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
127
+ waitNode<T extends Element[] = HTMLElement[]>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
128
128
  /**
129
129
  * 等待元素出现
130
130
  * @param selector CSS选择器
@@ -135,7 +135,7 @@ declare class ElementWait extends ElementSelector {
135
135
  * })
136
136
  */
137
137
  waitNode<K extends keyof HTMLElementTagNameMap>(selector: K, timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
138
- waitNode<T extends Element>(selector: string, timeout: number): Promise<T | null>;
138
+ waitNode<T extends Element = HTMLElement>(selector: string, timeout: number): Promise<T | null>;
139
139
  /**
140
140
  * 等待元素出现
141
141
  * @param selectorList CSS选择器数组
@@ -146,7 +146,7 @@ declare class ElementWait extends ElementSelector {
146
146
  * })
147
147
  */
148
148
  waitNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
149
- waitNode<T extends Element[]>(selectorList: string[], timeout: number): Promise<T | null>;
149
+ waitNode<T extends Element[] = HTMLElement[]>(selectorList: string[], timeout: number): Promise<T | null>;
150
150
  /**
151
151
  * 等待任意元素出现
152
152
  * @param selectorList CSS选择器数组
@@ -160,7 +160,7 @@ declare class ElementWait extends ElementSelector {
160
160
  * })
161
161
  */
162
162
  waitAnyNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent?: Node | Element | Document | HTMLElement): Promise<HTMLElementTagNameMap[K]>;
163
- waitAnyNode<T extends Element>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
163
+ waitAnyNode<T extends Element = HTMLElement>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
164
164
  /**
165
165
  * 等待任意元素出现
166
166
  * @param selectorList CSS选择器数组
@@ -172,7 +172,7 @@ declare class ElementWait extends ElementSelector {
172
172
  * })
173
173
  */
174
174
  waitAnyNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
175
- waitAnyNode<T extends Element>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
175
+ waitAnyNode<T extends Element = HTMLElement>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
176
176
  /**
177
177
  * 等待任意元素出现
178
178
  * @param selectorList CSS选择器数组
@@ -183,7 +183,7 @@ declare class ElementWait extends ElementSelector {
183
183
  * })
184
184
  */
185
185
  waitAnyNode<K extends keyof HTMLElementTagNameMap>(selectorList: K[], timeout: number): Promise<HTMLElementTagNameMap[K] | null>;
186
- waitAnyNode<T extends Element>(selectorList: string[], timeout: number): Promise<T | null>;
186
+ waitAnyNode<T extends Element = HTMLElement>(selectorList: string[], timeout: number): Promise<T | null>;
187
187
  /**
188
188
  * 等待元素数组出现
189
189
  * @param selector CSS选择器
@@ -197,7 +197,7 @@ declare class ElementWait extends ElementSelector {
197
197
  * })
198
198
  */
199
199
  waitNodeList<T extends keyof HTMLElementTagNameMap>(selector: T, parent?: Node | Element | Document | HTMLElement): Promise<NodeListOf<HTMLElementTagNameMap[T]>>;
200
- waitNodeList<T extends NodeListOf<Element>>(selector: string, parent?: Node | Element | Document | HTMLElement): Promise<T>;
200
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(selector: string, parent?: Node | Element | Document | HTMLElement): Promise<T>;
201
201
  /**
202
202
  * 等待元素数组出现
203
203
  * @param selectorList CSS选择器数组
@@ -211,7 +211,7 @@ declare class ElementWait extends ElementSelector {
211
211
  * })
212
212
  */
213
213
  waitNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent?: Node | Element | Document | HTMLElement): Promise<NodeListOf<HTMLElementTagNameMap[K]>[]>;
214
- waitNodeList<T extends NodeListOf<Element>[]>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
214
+ waitNodeList<T extends NodeListOf<Element>[] = NodeListOf<HTMLElement>[]>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
215
215
  /**
216
216
  * 等待元素数组出现
217
217
  * @param selector CSS选择器
@@ -222,7 +222,7 @@ declare class ElementWait extends ElementSelector {
222
222
  * console.log($result); // $result => NodeListOf<HTMLDivElement> | null
223
223
  * })
224
224
  */
225
- waitNodeList<T extends NodeListOf<Element>>(selector: string, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
225
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(selector: string, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
226
226
  waitNodeList<K extends keyof HTMLElementTagNameMap>(selector: K, parent: Node | Element | Document | HTMLElement, timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
227
227
  /**
228
228
  * 等待元素数组出现
@@ -235,7 +235,7 @@ declare class ElementWait extends ElementSelector {
235
235
  * })
236
236
  */
237
237
  waitNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]>[] | null>;
238
- waitNodeList<T extends NodeListOf<Element>[]>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
238
+ waitNodeList<T extends NodeListOf<Element>[] = NodeListOf<HTMLElement>[]>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<T | null>;
239
239
  /**
240
240
  * 等待元素数组出现
241
241
  * @param selector CSS选择器数组
@@ -246,7 +246,7 @@ declare class ElementWait extends ElementSelector {
246
246
  * })
247
247
  */
248
248
  waitNodeList<K extends keyof HTMLElementTagNameMap>(selector: K[], timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
249
- waitNodeList<T extends NodeListOf<Element>>(selector: string[], timeout: number): Promise<T | null>;
249
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(selector: string[], timeout: number): Promise<T | null>;
250
250
  /**
251
251
  * 等待元素数组出现
252
252
  * @param selectorList CSS选择器数组
@@ -257,7 +257,7 @@ declare class ElementWait extends ElementSelector {
257
257
  * })
258
258
  */
259
259
  waitNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]>[] | null>;
260
- waitNodeList<T extends NodeListOf<Element>>(selectorList: string[], timeout: number): Promise<T[] | null>;
260
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(selectorList: string[], timeout: number): Promise<T[] | null>;
261
261
  /**
262
262
  * 等待任意元素数组出现
263
263
  * @param selectorList CSS选择器数组
@@ -271,7 +271,7 @@ declare class ElementWait extends ElementSelector {
271
271
  * })
272
272
  */
273
273
  waitAnyNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent?: Node | Element | Document | HTMLElement): Promise<NodeListOf<HTMLElementTagNameMap[K]>>;
274
- waitAnyNodeList<T extends Element>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<NodeListOf<T>>;
274
+ waitAnyNodeList<T extends Element = HTMLElement>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<NodeListOf<T>>;
275
275
  /**
276
276
  * 等待任意元素数组出现
277
277
  * @param selectorList CSS选择器数组
@@ -283,7 +283,7 @@ declare class ElementWait extends ElementSelector {
283
283
  * })
284
284
  */
285
285
  waitAnyNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
286
- waitAnyNodeList<T extends Element>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<NodeListOf<T> | null>;
286
+ waitAnyNodeList<T extends Element = HTMLElement>(selectorList: string[], parent: Node | Element | Document | HTMLElement, timeout: number): Promise<NodeListOf<T> | null>;
287
287
  /**
288
288
  * 等待任意元素出现
289
289
  * @param selectorList CSS选择器数组
@@ -294,7 +294,7 @@ declare class ElementWait extends ElementSelector {
294
294
  * })
295
295
  */
296
296
  waitAnyNodeList<K extends keyof HTMLElementTagNameMap>(selectorList: K[], timeout: number): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
297
- waitAnyNodeList<T extends Element>(selectorList: string[], timeout: number): Promise<NodeListOf<T> | null>;
297
+ waitAnyNodeList<T extends Element = HTMLElement>(selectorList: string[], timeout: number): Promise<NodeListOf<T> | null>;
298
298
  }
299
299
  declare const elementWait: ElementWait;
300
300
  export { elementWait, ElementWait };
@@ -1,8 +1,8 @@
1
- import type { DOMUtilsCreateElementAttributesMap } from "./types/DOMUtilsEvent";
2
- import { type DOMUtilsCSSProperty, type DOMUtilsCSSPropertyType } from "./types/DOMUtilsCSSProperty";
3
- import type { WindowApiOption } from "./types/WindowApi";
4
1
  import { ElementHandler } from "./ElementHandler";
2
+ import { type DOMUtilsCSSProperty, type DOMUtilsCSSPropertyType } from "./types/DOMUtilsCSSProperty";
3
+ import type { DOMUtilsCreateElementAttributesMap } from "./types/DOMUtilsEvent";
5
4
  import type { DOMUtilsTargetElementType } from "./types/global";
5
+ import type { WindowApiOption } from "./types/WindowApi";
6
6
  declare class DOMUtils extends ElementHandler {
7
7
  constructor(option?: WindowApiOption);
8
8
  /** 版本号 */
@@ -304,43 +304,52 @@ declare class DOMUtils extends ElementHandler {
304
304
  /**
305
305
  * 函数在元素内部末尾添加子元素或HTML字符串
306
306
  * @param $el 目标元素
307
- * @param content 子元素或HTML字符串
307
+ * @param args 子元素或HTML字符串
308
308
  * @example
309
309
  * // 元素a.xx的内部末尾添加一个元素
310
- * DOMUtils.append(document.querySelector("a.xx"),document.querySelector("b.xx"))
311
- * DOMUtils.append("a.xx","'<b class="xx"></b>")
310
+ * DOMUtils.append(document.querySelector("a.xx"), document.querySelector("b.xx"))
311
+ * DOMUtils.append("a.xx", "<b class="xx"></b>")
312
+ * DOMUtils.append(document, [document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx")])
313
+ * DOMUtils.append(document, document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx"))
312
314
  * */
313
- append($el: DOMUtilsTargetElementType | DocumentFragment, content: HTMLElement | string | (HTMLElement | string | Element)[] | NodeList): void;
315
+ append($el: DOMUtilsTargetElementType | DocumentFragment, ...args: (HTMLElement | string | (HTMLElement | string | Element)[] | NodeList)[]): void;
314
316
  /**
315
317
  * 函数 在元素内部开头添加子元素或HTML字符串
316
318
  * @param $el 目标元素
317
- * @param content 子元素或HTML字符串
319
+ * @param args 子元素或HTML字符串
318
320
  * @example
319
321
  * // 元素a.xx内部开头添加一个元素
320
322
  * DOMUtils.prepend(document.querySelector("a.xx"),document.querySelector("b.xx"))
321
323
  * DOMUtils.prepend("a.xx","'<b class="xx"></b>")
324
+ * DOMUtils.prepend(document, [document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx")])
325
+ * DOMUtils.prepend(document, document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx"))
322
326
  * */
323
- prepend($el: DOMUtilsTargetElementType | DocumentFragment, content: HTMLElement | string): void;
327
+ prepend($el: DOMUtilsTargetElementType | DocumentFragment, ...args: (HTMLElement | string | (HTMLElement | string | Element)[] | NodeList)[]): void;
324
328
  /**
325
329
  * 在元素后面添加兄弟元素或HTML字符串
326
330
  * @param $el 目标元素
327
- * @param content 兄弟元素或HTML字符串
331
+ * @param args 兄弟元素或HTML字符串
328
332
  * @example
329
333
  * // 元素a.xx后面添加一个元素
330
334
  * DOMUtils.after(document.querySelector("a.xx"),document.querySelector("b.xx"))
331
335
  * DOMUtils.after("a.xx","'<b class="xx"></b>")
336
+ * DOMUtils.after(document, [document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx")])
337
+ * DOMUtils.after(document, document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx"))
332
338
  * */
333
- after($el: DOMUtilsTargetElementType, content: HTMLElement | string): void;
339
+ after($el: DOMUtilsTargetElementType, ...args: (HTMLElement | string | (HTMLElement | string | Element)[] | NodeList)[]): void;
334
340
  /**
335
341
  * 在元素前面添加兄弟元素或HTML字符串
336
342
  * @param $el 目标元素
337
- * @param content 兄弟元素或HTML字符串
343
+ * @param args 兄弟元素或HTML字符串
338
344
  * @example
339
345
  * // 元素a.xx前面添加一个元素
340
346
  * DOMUtils.before(document.querySelector("a.xx"),document.querySelector("b.xx"))
341
347
  * DOMUtils.before("a.xx","'<b class="xx"></b>")
348
+ * DOMUtils.before(document, [document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx")])
349
+ * DOMUtils.before(document, document.querySelector("b.xx"), document.querySelector("c.xx"), document.querySelector("d.xx"))
350
+ *
342
351
  * */
343
- before($el: DOMUtilsTargetElementType, content: HTMLElement | string): void;
352
+ before($el: DOMUtilsTargetElementType, ...args: (HTMLElement | string | (HTMLElement | string | Element)[] | NodeList)[]): void;
344
353
  /**
345
354
  * 移除元素
346
355
  * @param $el 目标元素,可以是数组、单个元素、NodeList、元素选择器
@@ -352,7 +361,7 @@ declare class DOMUtils extends ElementHandler {
352
361
  * */
353
362
  remove($el: DOMUtilsTargetElementType | Element): void;
354
363
  /**
355
- * 移除元素的所有子元素
364
+ * 移除元素内所有的子元素
356
365
  * @param $el 目标元素
357
366
  * @example
358
367
  * // 移除元素a.xx元素的所有子元素
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@whitesev/domutils",
4
- "version": "1.8.7",
4
+ "version": "1.8.9",
5
5
  "type": "module",
6
6
  "description": "适合在浏览器中操作DOM的常用工具类",
7
7
  "main": "dist/index.cjs.js",
@@ -58,7 +58,7 @@
58
58
  "lint": "eslint .",
59
59
  "lint:fix": "eslint . --fix",
60
60
  "format": "prettier . --write",
61
- "dev": "pnpm run format && pnpm run lint && rollup -c -w",
61
+ "dev": "vue-tsc --noEmit && vite --force",
62
62
  "build": "pnpm run format && pnpm run lint && rollup -c"
63
63
  }
64
64
  }
@@ -1,10 +1,4 @@
1
1
  import { WindowApi } from "./WindowApi";
2
- import {
3
- clearInterval as WorkerClearInterval,
4
- clearTimeout as WorkerClearTimeout,
5
- setInterval as WorkerSetInterval,
6
- setTimeout as WorkerSetTimeout,
7
- } from "worker-timers";
8
2
 
9
3
  /** 通用工具类 */
10
4
  export const CommonUtils = {
@@ -151,54 +145,6 @@ export const CommonUtils = {
151
145
  delete target[propName];
152
146
  }
153
147
  },
154
- /**
155
- * 自动使用 Worker 执行 setTimeout
156
- */
157
- setTimeout(callback: (...args: any[]) => any, timeout: number = 0) {
158
- try {
159
- return WorkerSetTimeout(callback, timeout);
160
- } catch {
161
- return this.windowApi.setTimeout(callback, timeout);
162
- }
163
- },
164
- /**
165
- * 配合 .setTimeout 使用
166
- */
167
- clearTimeout(timeId: number | undefined) {
168
- try {
169
- if (timeId != null) {
170
- WorkerClearTimeout(timeId);
171
- }
172
- } catch {
173
- // TODO
174
- } finally {
175
- this.windowApi.clearTimeout(timeId);
176
- }
177
- },
178
- /**
179
- * 自动使用 Worker 执行 setInterval
180
- */
181
- setInterval(callback: (...args: any[]) => any, timeout: number = 0) {
182
- try {
183
- return WorkerSetInterval(callback, timeout);
184
- } catch {
185
- return this.windowApi.setInterval(callback, timeout);
186
- }
187
- },
188
- /**
189
- * 配合 .setInterval 使用
190
- */
191
- clearInterval(timeId: number | undefined) {
192
- try {
193
- if (timeId != null) {
194
- WorkerClearInterval(timeId);
195
- }
196
- } catch {
197
- // TODO
198
- } finally {
199
- this.windowApi.clearInterval(timeId);
200
- }
201
- },
202
148
  /**
203
149
  * 判断是否是元素列表
204
150
  * @param $ele
@@ -1,8 +1,8 @@
1
1
  import { CommonUtils } from "./CommonUtils";
2
2
  import { elementSelector } from "./ElementSelector";
3
+ import { ElementWait } from "./ElementWait";
3
4
  import type { DOMUtilsTargetElementType } from "./types/global";
4
5
  import type { WindowApiOption } from "./types/WindowApi";
5
- import { ElementWait } from "./ElementWait";
6
6
  import { WindowApi } from "./WindowApi";
7
7
 
8
8
  class ElementAnimate extends ElementWait {
@@ -66,7 +66,7 @@ class ElementAnimate extends ElementWait {
66
66
  from[prop] = element.style[prop] || context.windowApi.globalThis.getComputedStyle(element)[prop];
67
67
  to[prop] = styles[prop];
68
68
  }
69
- const timer = CommonUtils.setInterval(function () {
69
+ const timer = setInterval(function () {
70
70
  const timePassed = performance.now() - start;
71
71
  let progress = timePassed / duration;
72
72
  if (progress > 1) {
@@ -76,7 +76,7 @@ class ElementAnimate extends ElementWait {
76
76
  element.style[prop] = from[prop] + (to[prop] - from[prop]) * progress + "px";
77
77
  }
78
78
  if (progress === 1) {
79
- CommonUtils.clearInterval(timer);
79
+ clearInterval(timer);
80
80
  if (callback) {
81
81
  callback();
82
82
  }
@@ -743,7 +743,7 @@ class ElementEvent extends ElementAnimate {
743
743
  function check() {
744
744
  if (checkDOMReadyState()) {
745
745
  /* 检查document状态 */
746
- CommonUtils.setTimeout(completed, 0);
746
+ setTimeout(completed, 0);
747
747
  } else {
748
748
  /* 添加监听 */
749
749
  addDomReadyListener();
@@ -1440,7 +1440,7 @@ class ElementEvent extends ElementAnimate {
1440
1440
  if (evt.pointerType === "touch") {
1441
1441
  isMobileTouch = true;
1442
1442
  }
1443
- CommonUtils.clearTimeout(timer);
1443
+ clearTimeout(timer);
1444
1444
  timer = void 0;
1445
1445
  if (isDoubleClick && $click === selectorTarget) {
1446
1446
  isDoubleClick = false;
@@ -1450,7 +1450,7 @@ class ElementEvent extends ElementAnimate {
1450
1450
  isDoubleClick: true,
1451
1451
  });
1452
1452
  } else {
1453
- timer = CommonUtils.setTimeout(() => {
1453
+ timer = setTimeout(() => {
1454
1454
  isDoubleClick = false;
1455
1455
  // 判断为单击
1456
1456
  dblclick_handler(evt, {
@@ -1,4 +1,3 @@
1
- import { CommonUtils } from "./CommonUtils";
2
1
  import { ElementSelector, elementSelector } from "./ElementSelector";
3
2
  import type { WindowApiOption } from "./types/WindowApi";
4
3
  import { utils } from "./Utils";
@@ -90,7 +89,7 @@ class ElementWait extends ElementSelector {
90
89
  },
91
90
  });
92
91
  if (__timeout__ > 0) {
93
- CommonUtils.setTimeout(() => {
92
+ setTimeout(() => {
94
93
  // 取消观察器
95
94
  if (typeof observer?.disconnect === "function") {
96
95
  observer.disconnect();
@@ -108,7 +107,7 @@ class ElementWait extends ElementSelector {
108
107
  * console.log($div); // $div => HTMLDivELement
109
108
  * })
110
109
  */
111
- waitNode<K>(selectorFn: () => K | null | undefined): Promise<K>;
110
+ waitNode<K = HTMLElement>(selectorFn: () => K | null | undefined): Promise<K>;
112
111
  /**
113
112
  * 等待元素出现
114
113
  * @param selectorFn 获取元素的函数
@@ -118,7 +117,7 @@ class ElementWait extends ElementSelector {
118
117
  * console.log($div); // $div => HTMLDivELement | null
119
118
  * })
120
119
  */
121
- waitNode<K>(selectorFn: () => K | null | undefined, timeout: number): Promise<K | null | undefined>;
120
+ waitNode<K = HTMLElement>(selectorFn: () => K | null | undefined, timeout: number): Promise<K | null | undefined>;
122
121
  /**
123
122
  * 等待元素出现
124
123
  * @param selectorFn 获取元素的函数
@@ -132,7 +131,7 @@ class ElementWait extends ElementSelector {
132
131
  * console.log($div); // $div => HTMLDivELement | null
133
132
  * })
134
133
  */
135
- waitNode<K>(
134
+ waitNode<K = HTMLElement>(
136
135
  selectorFn: () => K | null | undefined,
137
136
  parent: Node | Element | Document | HTMLElement,
138
137
  timeout?: number
@@ -153,7 +152,10 @@ class ElementWait extends ElementSelector {
153
152
  selector: K,
154
153
  parent?: Node | Element | Document | HTMLElement
155
154
  ): Promise<HTMLElementTagNameMap[K]>;
156
- waitNode<T extends Element>(selector: string, parent?: Node | Element | Document | HTMLElement): Promise<T>;
155
+ waitNode<T extends Element = HTMLElement>(
156
+ selector: string,
157
+ parent?: Node | Element | Document | HTMLElement
158
+ ): Promise<T>;
157
159
  /**
158
160
  * 等待元素出现
159
161
  * @param selectorList CSS选择器数组
@@ -170,7 +172,10 @@ class ElementWait extends ElementSelector {
170
172
  selectorList: K[],
171
173
  parent?: Node | Element | Document | HTMLElement
172
174
  ): Promise<HTMLElementTagNameMap[K][]>;
173
- waitNode<T extends Element[]>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
175
+ waitNode<T extends Element[] = HTMLElement[]>(
176
+ selectorList: string[],
177
+ parent?: Node | Element | Document | HTMLElement
178
+ ): Promise<T>;
174
179
  /**
175
180
  * 等待元素出现
176
181
  * @param selector CSS选择器
@@ -186,7 +191,7 @@ class ElementWait extends ElementSelector {
186
191
  parent: Node | Element | Document | HTMLElement,
187
192
  timeout: number
188
193
  ): Promise<HTMLElementTagNameMap[K] | null>;
189
- waitNode<T extends Element>(
194
+ waitNode<T extends Element = HTMLElement>(
190
195
  selector: string,
191
196
  parent: Node | Element | Document | HTMLElement,
192
197
  timeout: number
@@ -206,7 +211,7 @@ class ElementWait extends ElementSelector {
206
211
  parent: Node | Element | Document | HTMLElement,
207
212
  timeout: number
208
213
  ): Promise<HTMLElementTagNameMap[K] | null>;
209
- waitNode<T extends Element[]>(
214
+ waitNode<T extends Element[] = HTMLElement[]>(
210
215
  selectorList: string[],
211
216
  parent: Node | Element | Document | HTMLElement,
212
217
  timeout: number
@@ -224,7 +229,7 @@ class ElementWait extends ElementSelector {
224
229
  selector: K,
225
230
  timeout: number
226
231
  ): Promise<HTMLElementTagNameMap[K] | null>;
227
- waitNode<T extends Element>(selector: string, timeout: number): Promise<T | null>;
232
+ waitNode<T extends Element = HTMLElement>(selector: string, timeout: number): Promise<T | null>;
228
233
  /**
229
234
  * 等待元素出现
230
235
  * @param selectorList CSS选择器数组
@@ -238,7 +243,7 @@ class ElementWait extends ElementSelector {
238
243
  selectorList: K[],
239
244
  timeout: number
240
245
  ): Promise<HTMLElementTagNameMap[K] | null>;
241
- waitNode<T extends Element[]>(selectorList: string[], timeout: number): Promise<T | null>;
246
+ waitNode<T extends Element[] = HTMLElement[]>(selectorList: string[], timeout: number): Promise<T | null>;
242
247
  waitNode<T extends Element | Element[]>(...args: any[]): Promise<T | null> {
243
248
  // 过滤掉undefined
244
249
  args = args.filter((arg) => arg !== void 0);
@@ -337,7 +342,10 @@ class ElementWait extends ElementSelector {
337
342
  selectorList: K[],
338
343
  parent?: Node | Element | Document | HTMLElement
339
344
  ): Promise<HTMLElementTagNameMap[K]>;
340
- waitAnyNode<T extends Element>(selectorList: string[], parent?: Node | Element | Document | HTMLElement): Promise<T>;
345
+ waitAnyNode<T extends Element = HTMLElement>(
346
+ selectorList: string[],
347
+ parent?: Node | Element | Document | HTMLElement
348
+ ): Promise<T>;
341
349
  /**
342
350
  * 等待任意元素出现
343
351
  * @param selectorList CSS选择器数组
@@ -353,7 +361,7 @@ class ElementWait extends ElementSelector {
353
361
  parent: Node | Element | Document | HTMLElement,
354
362
  timeout: number
355
363
  ): Promise<HTMLElementTagNameMap[K] | null>;
356
- waitAnyNode<T extends Element>(
364
+ waitAnyNode<T extends Element = HTMLElement>(
357
365
  selectorList: string[],
358
366
  parent: Node | Element | Document | HTMLElement,
359
367
  timeout: number
@@ -371,8 +379,8 @@ class ElementWait extends ElementSelector {
371
379
  selectorList: K[],
372
380
  timeout: number
373
381
  ): Promise<HTMLElementTagNameMap[K] | null>;
374
- waitAnyNode<T extends Element>(selectorList: string[], timeout: number): Promise<T | null>;
375
- waitAnyNode<T extends Element>(...args: any[]): Promise<T | null> {
382
+ waitAnyNode<T extends Element = HTMLElement>(selectorList: string[], timeout: number): Promise<T | null>;
383
+ waitAnyNode<T extends Element = HTMLElement>(...args: any[]): Promise<T | null> {
376
384
  // 过滤掉undefined
377
385
  args = args.filter((arg) => arg !== void 0);
378
386
  const UtilsContext = this;
@@ -438,7 +446,7 @@ class ElementWait extends ElementSelector {
438
446
  selector: T,
439
447
  parent?: Node | Element | Document | HTMLElement
440
448
  ): Promise<NodeListOf<HTMLElementTagNameMap[T]>>;
441
- waitNodeList<T extends NodeListOf<Element>>(
449
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(
442
450
  selector: string,
443
451
  parent?: Node | Element | Document | HTMLElement
444
452
  ): Promise<T>;
@@ -458,7 +466,7 @@ class ElementWait extends ElementSelector {
458
466
  selectorList: K[],
459
467
  parent?: Node | Element | Document | HTMLElement
460
468
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]>[]>;
461
- waitNodeList<T extends NodeListOf<Element>[]>(
469
+ waitNodeList<T extends NodeListOf<Element>[] = NodeListOf<HTMLElement>[]>(
462
470
  selectorList: string[],
463
471
  parent?: Node | Element | Document | HTMLElement
464
472
  ): Promise<T>;
@@ -472,7 +480,7 @@ class ElementWait extends ElementSelector {
472
480
  * console.log($result); // $result => NodeListOf<HTMLDivElement> | null
473
481
  * })
474
482
  */
475
- waitNodeList<T extends NodeListOf<Element>>(
483
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(
476
484
  selector: string,
477
485
  parent: Node | Element | Document | HTMLElement,
478
486
  timeout: number
@@ -497,7 +505,7 @@ class ElementWait extends ElementSelector {
497
505
  parent: Node | Element | Document | HTMLElement,
498
506
  timeout: number
499
507
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]>[] | null>;
500
- waitNodeList<T extends NodeListOf<Element>[]>(
508
+ waitNodeList<T extends NodeListOf<Element>[] = NodeListOf<HTMLElement>[]>(
501
509
  selectorList: string[],
502
510
  parent: Node | Element | Document | HTMLElement,
503
511
  timeout: number
@@ -515,7 +523,10 @@ class ElementWait extends ElementSelector {
515
523
  selector: K[],
516
524
  timeout: number
517
525
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
518
- waitNodeList<T extends NodeListOf<Element>>(selector: string[], timeout: number): Promise<T | null>;
526
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(
527
+ selector: string[],
528
+ timeout: number
529
+ ): Promise<T | null>;
519
530
  /**
520
531
  * 等待元素数组出现
521
532
  * @param selectorList CSS选择器数组
@@ -529,7 +540,10 @@ class ElementWait extends ElementSelector {
529
540
  selectorList: K[],
530
541
  timeout: number
531
542
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]>[] | null>;
532
- waitNodeList<T extends NodeListOf<Element>>(selectorList: string[], timeout: number): Promise<T[] | null>;
543
+ waitNodeList<T extends NodeListOf<Element> = NodeListOf<HTMLElement>>(
544
+ selectorList: string[],
545
+ timeout: number
546
+ ): Promise<T[] | null>;
533
547
  waitNodeList<T extends NodeListOf<Element> | NodeListOf<Element>[]>(...args: any[]): Promise<T | null> {
534
548
  // 过滤掉undefined
535
549
  args = args.filter((arg) => arg !== void 0);
@@ -629,7 +643,7 @@ class ElementWait extends ElementSelector {
629
643
  selectorList: K[],
630
644
  parent?: Node | Element | Document | HTMLElement
631
645
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]>>;
632
- waitAnyNodeList<T extends Element>(
646
+ waitAnyNodeList<T extends Element = HTMLElement>(
633
647
  selectorList: string[],
634
648
  parent?: Node | Element | Document | HTMLElement
635
649
  ): Promise<NodeListOf<T>>;
@@ -648,7 +662,7 @@ class ElementWait extends ElementSelector {
648
662
  parent: Node | Element | Document | HTMLElement,
649
663
  timeout: number
650
664
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
651
- waitAnyNodeList<T extends Element>(
665
+ waitAnyNodeList<T extends Element = HTMLElement>(
652
666
  selectorList: string[],
653
667
  parent: Node | Element | Document | HTMLElement,
654
668
  timeout: number
@@ -666,8 +680,11 @@ class ElementWait extends ElementSelector {
666
680
  selectorList: K[],
667
681
  timeout: number
668
682
  ): Promise<NodeListOf<HTMLElementTagNameMap[K]> | null>;
669
- waitAnyNodeList<T extends Element>(selectorList: string[], timeout: number): Promise<NodeListOf<T> | null>;
670
- waitAnyNodeList<T extends Element>(...args: any[]): Promise<NodeListOf<T> | null> {
683
+ waitAnyNodeList<T extends Element = HTMLElement>(
684
+ selectorList: string[],
685
+ timeout: number
686
+ ): Promise<NodeListOf<T> | null>;
687
+ waitAnyNodeList<T extends Element = HTMLElement>(...args: any[]): Promise<NodeListOf<T> | null> {
671
688
  // 过滤掉undefined
672
689
  args = args.filter((arg) => arg !== void 0);
673
690
  const UtilsContext = this;