@thednp/shorty 2.0.7 → 2.0.8

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.
Files changed (258) hide show
  1. package/README.md +54 -26
  2. package/dist/shorty.cjs +1 -1
  3. package/dist/shorty.cjs.map +1 -1
  4. package/dist/shorty.d.ts +235 -138
  5. package/dist/shorty.js +1 -1
  6. package/dist/shorty.js.map +1 -1
  7. package/dist/shorty.mjs +536 -600
  8. package/dist/shorty.mjs.map +1 -1
  9. package/package.json +9 -8
  10. package/.eslintrc.cjs +0 -224
  11. package/.lgtm.yml +0 -8
  12. package/.prettierrc.json +0 -15
  13. package/src/attr/getAttribute.ts +0 -11
  14. package/src/attr/getAttributeNS.ts +0 -12
  15. package/src/attr/hasAttribute.ts +0 -11
  16. package/src/attr/hasAttributeNS.ts +0 -15
  17. package/src/attr/removeAttribute.ts +0 -10
  18. package/src/attr/removeAttributeNS.ts +0 -14
  19. package/src/attr/setAttribute.ts +0 -11
  20. package/src/attr/setAttributeNS.ts +0 -16
  21. package/src/blocks/documentBody.ts +0 -5
  22. package/src/blocks/documentElement.ts +0 -5
  23. package/src/blocks/documentHead.ts +0 -5
  24. package/src/boolean/isApple.ts +0 -15
  25. package/src/boolean/isFirefox.ts +0 -9
  26. package/src/boolean/isMobile.ts +0 -14
  27. package/src/boolean/support3DTransform.ts +0 -7
  28. package/src/boolean/supportAnimation.ts +0 -7
  29. package/src/boolean/supportPassive.ts +0 -29
  30. package/src/boolean/supportTouch.ts +0 -9
  31. package/src/boolean/supportTransform.ts +0 -7
  32. package/src/boolean/supportTransition.ts +0 -7
  33. package/src/class/addClass.ts +0 -11
  34. package/src/class/hasClass.ts +0 -11
  35. package/src/class/removeClass.ts +0 -11
  36. package/src/event/off.ts +0 -18
  37. package/src/event/on.ts +0 -18
  38. package/src/event/one.ts +0 -26
  39. package/src/get/getBoundingClientRect.ts +0 -44
  40. package/src/get/getDocument.ts +0 -24
  41. package/src/get/getDocumentBody.ts +0 -13
  42. package/src/get/getDocumentElement.ts +0 -13
  43. package/src/get/getDocumentHead.ts +0 -14
  44. package/src/get/getElementAnimationDelay.ts +0 -25
  45. package/src/get/getElementAnimationDuration.ts +0 -25
  46. package/src/get/getElementStyle.ts +0 -25
  47. package/src/get/getElementTransitionDelay.ts +0 -25
  48. package/src/get/getElementTransitionDuration.ts +0 -25
  49. package/src/get/getNodeScroll.ts +0 -22
  50. package/src/get/getParentNode.ts +0 -28
  51. package/src/get/getRectRelativeToOffsetParent.ts +0 -43
  52. package/src/get/getUID.ts +0 -42
  53. package/src/get/getWindow.ts +0 -23
  54. package/src/index.ts +0 -571
  55. package/src/interface/boundingClientRect.d.ts +0 -10
  56. package/src/interface/css4Declaration.d.ts +0 -4
  57. package/src/interface/customElement.d.ts +0 -8
  58. package/src/interface/event.d.ts +0 -255
  59. package/src/interface/fn.ts +0 -1
  60. package/src/interface/navigatorUA.d.ts +0 -15
  61. package/src/interface/offsetRect.d.ts +0 -6
  62. package/src/interface/originalEvent.d.ts +0 -4
  63. package/src/is/isArray.ts +0 -10
  64. package/src/is/isCanvas.ts +0 -13
  65. package/src/is/isCustomElement.ts +0 -15
  66. package/src/is/isDocument.ts +0 -14
  67. package/src/is/isElement.ts +0 -28
  68. package/src/is/isElementInScrollRange.ts +0 -20
  69. package/src/is/isElementInViewport.ts +0 -21
  70. package/src/is/isElementsArray.ts +0 -13
  71. package/src/is/isFunction.ts +0 -12
  72. package/src/is/isHTMLCollection.ts +0 -12
  73. package/src/is/isHTMLElement.ts +0 -13
  74. package/src/is/isHTMLImageElement.ts +0 -12
  75. package/src/is/isJSON.ts +0 -20
  76. package/src/is/isMap.ts +0 -11
  77. package/src/is/isMedia.ts +0 -26
  78. package/src/is/isNode.ts +0 -19
  79. package/src/is/isNodeList.ts +0 -13
  80. package/src/is/isNumber.ts +0 -10
  81. package/src/is/isObject.ts +0 -10
  82. package/src/is/isRTL.ts +0 -11
  83. package/src/is/isSVGElement.ts +0 -13
  84. package/src/is/isScaledElement.ts +0 -20
  85. package/src/is/isShadowRoot.ts +0 -12
  86. package/src/is/isString.ts +0 -10
  87. package/src/is/isTableElement.ts +0 -17
  88. package/src/is/isWeakMap.ts +0 -11
  89. package/src/is/isWindow.ts +0 -13
  90. package/src/misc/ArrayFrom.ts +0 -11
  91. package/src/misc/Float32ArrayFrom.ts +0 -11
  92. package/src/misc/Float64ArrayFrom.ts +0 -11
  93. package/src/misc/ObjectAssign.ts +0 -54
  94. package/src/misc/ObjectEntries.ts +0 -11
  95. package/src/misc/ObjectFromEntries.ts +0 -11
  96. package/src/misc/ObjectHasOwn.ts +0 -18
  97. package/src/misc/ObjectKeys.ts +0 -11
  98. package/src/misc/ObjectValues.ts +0 -12
  99. package/src/misc/createCustomEvent.ts +0 -31
  100. package/src/misc/createElement.ts +0 -36
  101. package/src/misc/createElementNS.ts +0 -40
  102. package/src/misc/data.ts +0 -80
  103. package/src/misc/dispatchEvent.ts +0 -10
  104. package/src/misc/distinct.ts +0 -19
  105. package/src/misc/emulateAnimationEnd.ts +0 -43
  106. package/src/misc/emulateTransitionEnd.ts +0 -42
  107. package/src/misc/focus.ts +0 -10
  108. package/src/misc/focusTrap.ts +0 -67
  109. package/src/misc/getInstance.ts +0 -9
  110. package/src/misc/noop.ts +0 -6
  111. package/src/misc/normalizeOptions.ts +0 -58
  112. package/src/misc/normalizeValue.ts +0 -32
  113. package/src/misc/passiveHandler.ts +0 -6
  114. package/src/misc/reflow.ts +0 -9
  115. package/src/misc/setElementStyle.ts +0 -26
  116. package/src/misc/timer.ts +0 -91
  117. package/src/misc/toLowerCase.ts +0 -9
  118. package/src/misc/toUpperCase.ts +0 -9
  119. package/src/selectors/closest.ts +0 -23
  120. package/src/selectors/getCustomElements.ts +0 -19
  121. package/src/selectors/getElementById.ts +0 -16
  122. package/src/selectors/getElementsByClassName.ts +0 -22
  123. package/src/selectors/getElementsByTagName.ts +0 -22
  124. package/src/selectors/matches.ts +0 -11
  125. package/src/selectors/querySelector.ts +0 -25
  126. package/src/selectors/querySelectorAll.ts +0 -19
  127. package/src/strings/DOMContentLoadedEvent.ts +0 -5
  128. package/src/strings/DOMMouseScrollEvent.ts +0 -5
  129. package/src/strings/abortEvent.ts +0 -5
  130. package/src/strings/addEventListener.ts +0 -5
  131. package/src/strings/animationDelay.ts +0 -5
  132. package/src/strings/animationDuration.ts +0 -5
  133. package/src/strings/animationEndEvent.ts +0 -5
  134. package/src/strings/animationName.ts +0 -5
  135. package/src/strings/ariaChecked.ts +0 -5
  136. package/src/strings/ariaDescribedBy.ts +0 -5
  137. package/src/strings/ariaDescription.ts +0 -5
  138. package/src/strings/ariaExpanded.ts +0 -5
  139. package/src/strings/ariaHasPopup.ts +0 -5
  140. package/src/strings/ariaHidden.ts +0 -5
  141. package/src/strings/ariaLabel.ts +0 -5
  142. package/src/strings/ariaLabelledBy.ts +0 -5
  143. package/src/strings/ariaModal.ts +0 -5
  144. package/src/strings/ariaPressed.ts +0 -5
  145. package/src/strings/ariaSelected.ts +0 -5
  146. package/src/strings/ariaValueMax.ts +0 -5
  147. package/src/strings/ariaValueMin.ts +0 -5
  148. package/src/strings/ariaValueNow.ts +0 -5
  149. package/src/strings/ariaValueText.ts +0 -5
  150. package/src/strings/beforeunloadEvent.ts +0 -5
  151. package/src/strings/bezierEasings.ts +0 -32
  152. package/src/strings/blurEvent.ts +0 -5
  153. package/src/strings/changeEvent.ts +0 -5
  154. package/src/strings/contextmenuEvent.ts +0 -5
  155. package/src/strings/dragEvent.ts +0 -5
  156. package/src/strings/dragendEvent.ts +0 -5
  157. package/src/strings/dragenterEvent.ts +0 -5
  158. package/src/strings/dragleaveEvent.ts +0 -5
  159. package/src/strings/dragoverEvent.ts +0 -5
  160. package/src/strings/dragstartEvent.ts +0 -5
  161. package/src/strings/errorEvent.ts +0 -5
  162. package/src/strings/focusEvent.ts +0 -5
  163. package/src/strings/focusEvents.ts +0 -5
  164. package/src/strings/focusableSelector.ts +0 -4
  165. package/src/strings/focusinEvent.ts +0 -5
  166. package/src/strings/focusoutEvent.ts +0 -5
  167. package/src/strings/gesturechangeEvent.ts +0 -5
  168. package/src/strings/gestureendEvent.ts +0 -5
  169. package/src/strings/gesturestartEvent.ts +0 -5
  170. package/src/strings/keyAlt.ts +0 -7
  171. package/src/strings/keyArrowDown.ts +0 -7
  172. package/src/strings/keyArrowLeft.ts +0 -7
  173. package/src/strings/keyArrowRight.ts +0 -7
  174. package/src/strings/keyArrowUp.ts +0 -7
  175. package/src/strings/keyBackspace.ts +0 -7
  176. package/src/strings/keyCapsLock.ts +0 -7
  177. package/src/strings/keyControl.ts +0 -7
  178. package/src/strings/keyDelete.ts +0 -7
  179. package/src/strings/keyEnter.ts +0 -7
  180. package/src/strings/keyEscape.ts +0 -7
  181. package/src/strings/keyInsert.ts +0 -7
  182. package/src/strings/keyMeta.ts +0 -7
  183. package/src/strings/keyNumpadEnter.ts +0 -7
  184. package/src/strings/keyPause.ts +0 -7
  185. package/src/strings/keyScrollLock.ts +0 -7
  186. package/src/strings/keyShift.ts +0 -7
  187. package/src/strings/keySpace.ts +0 -7
  188. package/src/strings/keyTab.ts +0 -7
  189. package/src/strings/keyboardEventKeys.ts +0 -26
  190. package/src/strings/keydownEvent.ts +0 -5
  191. package/src/strings/keypressEvent.ts +0 -5
  192. package/src/strings/keyupEvent.ts +0 -5
  193. package/src/strings/loadEvent.ts +0 -5
  194. package/src/strings/loadstartEvent.ts +0 -5
  195. package/src/strings/mouseClickEvents.ts +0 -5
  196. package/src/strings/mouseHoverEvents.ts +0 -7
  197. package/src/strings/mouseSwipeEvents.ts +0 -10
  198. package/src/strings/mouseclickEvent.ts +0 -5
  199. package/src/strings/mousedblclickEvent.ts +0 -5
  200. package/src/strings/mousedownEvent.ts +0 -5
  201. package/src/strings/mouseenterEvent.ts +0 -5
  202. package/src/strings/mousehoverEvent.ts +0 -5
  203. package/src/strings/mouseinEvent.ts +0 -5
  204. package/src/strings/mouseleaveEvent.ts +0 -5
  205. package/src/strings/mousemoveEvent.ts +0 -5
  206. package/src/strings/mouseoutEvent.ts +0 -5
  207. package/src/strings/mouseoverEvent.ts +0 -5
  208. package/src/strings/mouseupEvent.ts +0 -5
  209. package/src/strings/mousewheelEvent.ts +0 -5
  210. package/src/strings/moveEvent.ts +0 -5
  211. package/src/strings/nativeEvents.ts +0 -108
  212. package/src/strings/offsetHeight.ts +0 -5
  213. package/src/strings/offsetWidth.ts +0 -5
  214. package/src/strings/orientationchangeEvent.ts +0 -5
  215. package/src/strings/pointercancelEvent.ts +0 -5
  216. package/src/strings/pointerdownEvent.ts +0 -5
  217. package/src/strings/pointerleaveEvent.ts +0 -5
  218. package/src/strings/pointermoveEvent.ts +0 -5
  219. package/src/strings/pointerupEvent.ts +0 -5
  220. package/src/strings/readystatechangeEvent.ts +0 -5
  221. package/src/strings/removeEventListener.ts +0 -5
  222. package/src/strings/resetEvent.ts +0 -5
  223. package/src/strings/resizeEvent.ts +0 -5
  224. package/src/strings/scrollEvent.ts +0 -5
  225. package/src/strings/scrollHeight.ts +0 -5
  226. package/src/strings/scrollWidth.ts +0 -5
  227. package/src/strings/selectEvent.ts +0 -5
  228. package/src/strings/selectendEvent.ts +0 -5
  229. package/src/strings/selectstartEvent.ts +0 -5
  230. package/src/strings/submitEvent.ts +0 -5
  231. package/src/strings/tabindex.ts +0 -5
  232. package/src/strings/touchEvents.ts +0 -10
  233. package/src/strings/touchcancelEvent.ts +0 -5
  234. package/src/strings/touchendEvent.ts +0 -5
  235. package/src/strings/touchmoveEvent.ts +0 -5
  236. package/src/strings/touchstartEvent.ts +0 -5
  237. package/src/strings/transitionDelay.ts +0 -5
  238. package/src/strings/transitionDuration.ts +0 -5
  239. package/src/strings/transitionEndEvent.ts +0 -5
  240. package/src/strings/transitionProperty.ts +0 -5
  241. package/src/strings/unloadEvent.ts +0 -5
  242. package/src/strings/userAgent.ts +0 -7
  243. package/src/strings/userAgentData.ts +0 -8
  244. package/test/att.test.ts +0 -43
  245. package/test/boolean.test.ts +0 -30
  246. package/test/class.test.ts +0 -26
  247. package/test/event.test.ts +0 -39
  248. package/test/fixtures/custom-elem.js +0 -18
  249. package/test/fixtures/getExampleDom.ts +0 -52
  250. package/test/fixtures/style.css +0 -18
  251. package/test/get.test.ts +0 -150
  252. package/test/is.test.ts +0 -240
  253. package/test/misc.test.ts +0 -400
  254. package/test/selectors.test.ts +0 -90
  255. package/tsconfig.json +0 -36
  256. package/vite.config.mts +0 -45
  257. package/vitest.config-ui.mts +0 -26
  258. package/vitest.config.mts +0 -25
package/dist/shorty.d.ts CHANGED
@@ -11,12 +11,12 @@ declare interface AbstractView {
11
11
  }
12
12
 
13
13
  /**
14
- * Add one or more CSS classes to `HTMLElement.classList`.
14
+ * Add one or more CSS classes to `Element.classList`.
15
15
  *
16
16
  * @param element target
17
17
  * @param classNAME to add
18
18
  */
19
- export declare const addClass: (element: HTMLElement, ...classNAME: string[]) => void;
19
+ export declare const addClass: (element: Element, ...classNAME: string[]) => void;
20
20
 
21
21
  /**
22
22
  * A global namespace for 'addEventListener' string.
@@ -39,7 +39,7 @@ export declare const animationDuration = "animationDuration";
39
39
  */
40
40
  export declare const animationEndEvent = "animationend";
41
41
 
42
- declare interface AnimationEvent_2<T = Element>
42
+ declare interface AnimationEvent_2<T extends EventTarget = HTMLElement>
43
43
  extends NativeEvent<T, NativeAnimationEvent> {
44
44
  animationName: string;
45
45
  elapsedTime: number;
@@ -47,7 +47,10 @@ extends NativeEvent<T, NativeAnimationEvent> {
47
47
  }
48
48
  export { AnimationEvent_2 as AnimationEvent }
49
49
 
50
- export declare type AnimationEventHandler<T = Element> = EventHandler<T, AnimationEvent_2<T>>;
50
+ export declare type AnimationEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
51
+ T,
52
+ AnimationEvent_2<T>
53
+ >;
51
54
 
52
55
  /**
53
56
  * A global namespace for 'animationName' string.
@@ -210,7 +213,20 @@ export declare interface BoundingClientRect {
210
213
  y: number;
211
214
  }
212
215
 
213
- export declare interface ChangeEvent<T = FormControl> extends FormEvent<T> {
216
+ /**
217
+ * Transform a string to camel case.
218
+ * @param input source string
219
+ */
220
+ export declare const camelCase: (input: string) => string;
221
+
222
+ /**
223
+ * Capitalize first character in a string.
224
+ * @param input source string
225
+ */
226
+ export declare const capitalize: (input: string) => string;
227
+
228
+ export declare interface ChangeEvent<T extends EventTarget = FormControl>
229
+ extends FormEvent<T> {
214
230
  target: EventTarget & T;
215
231
  }
216
232
 
@@ -219,15 +235,21 @@ export declare interface ChangeEvent<T = FormControl> extends FormEvent<T> {
219
235
  */
220
236
  export declare const changeEvent = "change";
221
237
 
222
- export declare type ChangeEventHandler<T = Element> = EventHandler<T, ChangeEvent<T>>;
238
+ export declare type ChangeEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
239
+ T,
240
+ ChangeEvent<T>
241
+ >;
223
242
 
224
- declare interface ClipboardEvent_2<T = Element>
243
+ declare interface ClipboardEvent_2<T extends EventTarget = HTMLElement>
225
244
  extends NativeEvent<T, NativeClipboardEvent> {
226
245
  clipboardData: DataTransfer;
227
246
  }
228
247
  export { ClipboardEvent_2 as ClipboardEvent }
229
248
 
230
- export declare type ClipboardEventHandler<T = Element> = EventHandler<T, ClipboardEvent_2<T>>;
249
+ export declare type ClipboardEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
250
+ T,
251
+ ClipboardEvent_2<T>
252
+ >;
231
253
 
232
254
  /**
233
255
  * Shortcut for `HTMLElement.closest` method which also works
@@ -236,19 +258,20 @@ export declare type ClipboardEventHandler<T = Element> = EventHandler<T, Clipboa
236
258
  *
237
259
  * @see https://stackoverflow.com/q/54520554/803358
238
260
  *
239
- * @param element Element to look into
240
- * @param selector the selector name
261
+ * @param element target Element to check
262
+ * @param selector the selector string
241
263
  * @return the query result
242
264
  */
243
- export declare const closest: <T extends Element = HTMLElement>(element: T, selector: string) => HTMLElement | null;
265
+ export declare const closest: <T extends Element>(element: T, selector: string) => T | null;
244
266
 
245
- declare interface CompositionEvent_2<T = Element>
267
+ declare interface CompositionEvent_2<T extends EventTarget = HTMLElement>
246
268
  extends NativeEvent<T, NativeCompositionEvent> {
247
269
  data: string;
248
270
  }
249
271
  export { CompositionEvent_2 as CompositionEvent }
250
272
 
251
- export declare type CompositionEventHandler<T = Element> = EventHandler<
273
+ export declare type CompositionEventHandler<T extends EventTarget = HTMLElement> =
274
+ EventHandler<
252
275
  T,
253
276
  CompositionEvent_2<T>
254
277
  >;
@@ -282,7 +305,7 @@ export declare const createElement: <T extends HTMLElement>(param?: string | Par
282
305
 
283
306
  /**
284
307
  * Shortie for `document.createElementNS` method
285
- * which allows you to create a new `HTMLElement` for a given `tagName`
308
+ * which allows you to create a new `Element` for a given `tagName`
286
309
  * or based on an object with specific non-readonly attributes with string values:
287
310
  * `id`, `className`, `textContent`, `style`, etc.
288
311
  * Note: some elements resulted from this function call may not be compatible with
@@ -290,11 +313,11 @@ export declare const createElement: <T extends HTMLElement>(param?: string | Par
290
313
  *
291
314
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS
292
315
  *
293
- * @param ns `namespaceURI` to associate with the new `HTMLElement`
316
+ * @param ns `namespaceURI` to associate with the new `Element`
294
317
  * @param param `tagName` or object
295
- * @return a new `HTMLElement`
318
+ * @return a new `Element`
296
319
  */
297
- export declare const createElementNS: <T extends Element = HTMLElement>(ns: string, param?: string | Partial<T>) => T | undefined;
320
+ export declare const createElementNS: <T extends Element>(ns: string, param?: string | Partial<T>) => T | undefined;
298
321
 
299
322
  export declare interface CSS4Declaration
300
323
  extends Exclude<() => string | symbol, CSSStyleDeclaration> {
@@ -316,7 +339,7 @@ export declare interface CustomElement extends HTMLElement {
316
339
  * @see https://github.com/thednp/bootstrap.native/blob/master/src/components/base-component.js
317
340
  */
318
341
  export declare const Data: {
319
- data: Map<string, Map<HTMLElement, unknown>>;
342
+ data: Map<string, Map<Element, unknown>>;
320
343
  /**
321
344
  * Sets web components data.
322
345
  *
@@ -324,14 +347,14 @@ export declare const Data: {
324
347
  * @param component the component's name or a unique key
325
348
  * @param instance the component instance
326
349
  */
327
- set: <T>(element: HTMLElement, component: string, instance: T) => void;
350
+ set: <T>(element: Element, component: string, instance: T) => void;
328
351
  /**
329
352
  * Returns all instances for specified component.
330
353
  *
331
354
  * @param component the component's name or a unique key
332
355
  * @returns all the component instances
333
356
  */
334
- getAllFor: <T>(component: string) => Map<HTMLElement, T> | null;
357
+ getAllFor: <T>(component: string) => Map<Element, T> | null;
335
358
  /**
336
359
  * Returns the instance associated with the target.
337
360
  *
@@ -339,14 +362,14 @@ export declare const Data: {
339
362
  * @param component the component's name or a unique key
340
363
  * @returns the instance
341
364
  */
342
- get: <T>(element: HTMLElement, component: string) => T | null;
365
+ get: <T>(element: Element, component: string) => T | null;
343
366
  /**
344
367
  * Removes web components data.
345
368
  *
346
369
  * @param element target element
347
370
  * @param component the component's name or a unique key
348
371
  */
349
- remove: <T>(element: HTMLElement, component: string) => void;
372
+ remove: <T>(element: Element, component: string) => void;
350
373
  };
351
374
 
352
375
  /**
@@ -415,12 +438,16 @@ export declare const dragenterEvent = "dragenter";
415
438
  */
416
439
  export declare const dragEvent = "drag";
417
440
 
418
- declare interface DragEvent_2<T = Element> extends MouseEvent_2<T, NativeDragEvent> {
441
+ declare interface DragEvent_2<T extends EventTarget = HTMLElement>
442
+ extends MouseEvent_2<T, NativeDragEvent> {
419
443
  dataTransfer: DataTransfer;
420
444
  }
421
445
  export { DragEvent_2 as DragEvent }
422
446
 
423
- export declare type DragEventHandler<T = Element> = EventHandler<T, DragEvent_2<T>>;
447
+ export declare type DragEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
448
+ T,
449
+ DragEvent_2<T>
450
+ >;
424
451
 
425
452
  /**
426
453
  * A global namespace for `dragleave` event.
@@ -444,23 +471,26 @@ export declare const dragstartEvent = "dragstart";
444
471
  * @param element target
445
472
  * @param handler `animationend` callback
446
473
  */
447
- export declare const emulateAnimationEnd: (element: HTMLElement, handler: EventListener) => void;
474
+ export declare const emulateAnimationEnd: (element: Element, handler: EventListener) => void;
448
475
 
449
476
  /**
450
477
  * Utility to make sure callbacks are consistently
451
478
  * called when transition ends.
452
479
  *
453
- * @param element event target
480
+ * @param element element target
454
481
  * @param handler `transitionend` callback
455
482
  */
456
- export declare const emulateTransitionEnd: (element: HTMLElement, handler: EventListener) => void;
483
+ export declare const emulateTransitionEnd: (element: Element, handler: EventListener) => void;
457
484
 
458
485
  /**
459
486
  * A global namespace for `error` event.
460
487
  */
461
488
  export declare const errorEvent = "error";
462
489
 
463
- declare type EventHandler<T = Element, E = Event | NativeEvent<T>> = (event: E) => void;
490
+ declare type EventHandler<
491
+ T extends EventTarget = HTMLElement,
492
+ E = Event | NativeEvent<T>,
493
+ > = (event: E) => void;
464
494
 
465
495
  /**
466
496
  * Shortcut for `Float32Array.from()` static method.
@@ -481,7 +511,7 @@ export declare const Float64ArrayFrom: (arr: ArrayLike<number> | Iterable<number
481
511
  declare type Fn = (...args: unknown[]) => unknown;
482
512
 
483
513
  /**
484
- * Shortie for `HTMLElement.focus()` method.
514
+ * Shortie for `HTMLOrSVGElement.focus()` method.
485
515
  *
486
516
  * @param element is the target
487
517
  * @param options allows to pass additional options such as `preventScroll: boolean`
@@ -498,14 +528,19 @@ export declare const focusableSelector = "a[href], button, input, textarea, sele
498
528
  */
499
529
  export declare const focusEvent = "focus";
500
530
 
501
- declare interface FocusEvent_2<T = Element, R = Element>
502
- extends NativeEvent<T, NativeFocusEvent> {
531
+ declare interface FocusEvent_2<
532
+ T extends EventTarget = HTMLElement,
533
+ R extends Element = HTMLElement,
534
+ > extends NativeEvent<T, NativeFocusEvent> {
503
535
  relatedTarget: (EventTarget & R) | null;
504
536
  target: EventTarget & T;
505
537
  }
506
538
  export { FocusEvent_2 as FocusEvent }
507
539
 
508
- export declare type FocusEventHandler<T = Element> = EventHandler<T, FocusEvent_2<T>>;
540
+ export declare type FocusEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
541
+ T,
542
+ FocusEvent_2<T>
543
+ >;
509
544
 
510
545
  /**
511
546
  * A global namespace for focus event names.
@@ -527,9 +562,12 @@ export declare const focusoutEvent = "focusout";
527
562
 
528
563
  declare type FormControl = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
529
564
 
530
- export declare type FormEvent<T = FormControl> = NativeEvent<T>;
565
+ export declare type FormEvent<T extends EventTarget = FormControl> = NativeEvent<T>;
531
566
 
532
- export declare type FormEventHandler<T = Element> = EventHandler<T, FormEvent<T>>;
567
+ export declare type FormEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
568
+ T,
569
+ FormEvent<T>
570
+ >;
533
571
 
534
572
  /**
535
573
  * A global namespace for `gesturechange` event.
@@ -547,26 +585,26 @@ export declare const gestureendEvent = "gestureend";
547
585
  export declare const gesturestartEvent = "gesturestart";
548
586
 
549
587
  /**
550
- * Shortcut for `HTMLElement.getAttribute()` method.
588
+ * Shortcut for `Element.getAttribute()` method.
551
589
  *
552
590
  * @param element target element
553
591
  * @param att attribute name
554
592
  * @returns attribute value
555
593
  */
556
- export declare const getAttribute: (element: HTMLElement, att: string) => string | null;
594
+ export declare const getAttribute: (element: Element, att: string) => string | null;
557
595
 
558
596
  /**
559
- * Shortcut for `HTMLElement.getAttributeNS()` method.
597
+ * Shortcut for `Element.getAttributeNS()` method.
560
598
  *
561
599
  * @param ns attribute namespace
562
600
  * @param element target element
563
601
  * @param att attribute name
564
602
  * @returns attribute value
565
603
  */
566
- export declare const getAttributeNS: (ns: string, element: HTMLElement, att: string) => string | null;
604
+ export declare const getAttributeNS: (ns: string, element: Element, att: string) => string | null;
567
605
 
568
606
  /**
569
- * Returns the bounding client rect of a target `HTMLElement`.
607
+ * Returns the bounding client rect of a target `Element`.
570
608
  *
571
609
  * @see https://github.com/floating-ui/floating-ui
572
610
  *
@@ -574,7 +612,7 @@ export declare const getAttributeNS: (ns: string, element: HTMLElement, att: str
574
612
  * @param includeScale when *true*, the target scale is also computed
575
613
  * @returns the bounding client rect object
576
614
  */
577
- export declare const getBoundingClientRect: (element: HTMLElement, includeScale?: boolean) => BoundingClientRect;
615
+ export declare const getBoundingClientRect: (element: Element, includeScale?: boolean) => BoundingClientRect;
578
616
 
579
617
  /**
580
618
  * Returns an `Array` of `Node` elements that are registered as
@@ -619,7 +657,7 @@ export declare const getDocumentElement: (node?: Node | Document | Window) => HT
619
657
  * @param node the reference node
620
658
  * @returns the `<head>` of the node's parent document
621
659
  */
622
- export declare const getDocumentHead: (node?: Node | Document | Window) => HTMLElement & HTMLHeadElement;
660
+ export declare const getDocumentHead: (node?: Node | Document | Window) => HTMLHeadElement;
623
661
 
624
662
  /**
625
663
  * Utility to get the computed `animationDelay`
@@ -628,16 +666,16 @@ export declare const getDocumentHead: (node?: Node | Document | Window) => HTMLE
628
666
  * @param element target
629
667
  * @return the `animationDelay` value in miliseconds
630
668
  */
631
- export declare const getElementAnimationDelay: (element: HTMLElement) => number;
669
+ export declare const getElementAnimationDelay: (element: Element) => number;
632
670
 
633
671
  /**
634
672
  * Utility to get the computed `animationDuration`
635
- * from `HTMLElement` in miliseconds.
673
+ * from `Element` in miliseconds.
636
674
  *
637
675
  * @param element target
638
676
  * @return the `animationDuration` value in miliseconds
639
677
  */
640
- export declare const getElementAnimationDuration: (element: HTMLElement) => number;
678
+ export declare const getElementAnimationDuration: (element: Element) => number;
641
679
 
642
680
  /**
643
681
  * Returns an `HTMLElement` that matches the id in the document.
@@ -648,40 +686,41 @@ export declare const getElementAnimationDuration: (element: HTMLElement) => numb
648
686
  * @param context an element in it's document or document
649
687
  * @returns the requested element
650
688
  */
651
- export declare const getElementById: <T extends HTMLElement>(id: string, context?: Node) => T;
689
+ export declare const getElementById: (id: string, context?: Node) => HTMLElement | null;
652
690
 
653
691
  /**
654
- * Shortcut for `HTMLElement.getElementsByClassName` method. Some `Node` elements
692
+ * Shortcut for `Element.getElementsByClassName` method. Some `Node` elements
655
693
  * like `ShadowRoot` do not support `getElementsByClassName`.
656
694
  *
657
695
  * @param selector the class name
658
696
  * @param parent optional Element to look into
659
697
  * @return the 'HTMLCollection'
660
698
  */
661
- export declare const getElementsByClassName: <T extends HTMLElement>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
699
+ export declare const getElementsByClassName: <T extends Element>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
662
700
 
663
701
  /**
664
- * Shortcut for `HTMLElement.getElementsByTagName` method. Some `Node` elements
702
+ * Shortcut for `Element.getElementsByTagName` method. Some `Node` elements
665
703
  * like `ShadowRoot` do not support `getElementsByTagName`.
666
704
  *
667
705
  * @param selector the tag name
668
706
  * @param parent optional Element to look into
669
707
  * @return the 'HTMLCollection'
670
708
  */
671
- export declare const getElementsByTagName: <T extends HTMLElement>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
709
+ export declare const getElementsByTagName: <T extends Element>(selector: string, parent?: ParentNode) => HTMLCollectionOf<T>;
672
710
 
673
711
  /**
674
712
  * Shortcut for `window.getComputedStyle(element).propertyName`
675
713
  * static method.
676
714
  *
677
- * * If `element` parameter is not an `HTMLElement`, `getComputedStyle`
715
+ * * If `element` parameter is not an `Element`, `getComputedStyle`
678
716
  * throws a `ReferenceError`.
679
717
  *
680
- * @param element target
718
+ * @param element target `Element`
681
719
  * @param property the css property
720
+ * @param pseudoElt pseudo-elements
682
721
  * @return the css property value
683
722
  */
684
- export declare const getElementStyle: (element: HTMLElement, property: string) => string;
723
+ export declare const getElementStyle: (element: Element, property: string, pseudoElt?: string | null) => string;
685
724
 
686
725
  /**
687
726
  * Utility to get the computed `transitionDelay`
@@ -690,7 +729,7 @@ export declare const getElementStyle: (element: HTMLElement, property: string) =
690
729
  * @param element target
691
730
  * @return the `transitionDelay` value in miliseconds
692
731
  */
693
- export declare const getElementTransitionDelay: (element: HTMLElement) => number;
732
+ export declare const getElementTransitionDelay: (element: Element) => number;
694
733
 
695
734
  /**
696
735
  * Utility to get the computed `transitionDuration`
@@ -699,36 +738,53 @@ export declare const getElementTransitionDelay: (element: HTMLElement) => number
699
738
  * @param element target
700
739
  * @return the `transitionDuration` value in miliseconds
701
740
  */
702
- export declare const getElementTransitionDuration: (element: HTMLElement) => number;
741
+ export declare const getElementTransitionDuration: (element: Element) => number;
703
742
 
704
743
  /**
705
744
  * An alias for `Data.get()`.
706
745
  */
707
- export declare const getInstance: <T>(target: HTMLElement, component: string) => T | null;
746
+ export declare const getInstance: <T>(target: Element, component: string) => T | null;
708
747
 
709
748
  /**
710
- * Returns an `{x,y}` object with the target
711
- * `HTMLElement` / `Node` scroll position.
749
+ * Returns the value of `node.nodeName` for the given node.
750
+ * @param node target node
751
+ * @returns the node name
752
+ */
753
+ export declare const getNodeName: (node: Node | Window) => string;
754
+
755
+ /**
756
+ * Returns an `{x, y}` object with the target
757
+ * `Element` / `Node` scroll position.
712
758
  *
713
759
  * @see https://github.com/floating-ui/floating-ui
714
760
  *
715
761
  * @param element target node / element
716
762
  * @returns the scroll tuple
717
763
  */
718
- export declare const getNodeScroll: (element: HTMLElement | Window) => {
764
+ export declare const getNodeScroll: (element: Element | Window) => {
719
765
  x: number;
720
766
  y: number;
721
767
  };
722
768
 
769
+ /**
770
+ * Returns the `offsetParent` for a given target.
771
+ *
772
+ * @see https://github.com/floating-ui/floating-ui
773
+ *
774
+ * @param element the target node
775
+ * @returns the offset parent node
776
+ */
777
+ export declare const getOffsetParent: (element: Element) => Element | Window;
778
+
723
779
  /**
724
780
  * Returns the `parentNode` also going through `ShadowRoot`.
725
781
  *
726
782
  * @see https://github.com/floating-ui/floating-ui
727
783
  *
728
- * @param {Node} node the target node
729
- * @returns {Node} the apropriate parent node
784
+ * @param node the target node
785
+ * @returns the apropriate parent node
730
786
  */
731
- export declare const getParentNode: (node: Node) => Node | ParentNode;
787
+ export declare const getParentNode: (node: Node) => ParentNode;
732
788
 
733
789
  /**
734
790
  * Returns the rect relative to a given offset parent and its scroll position.
@@ -740,7 +796,7 @@ export declare const getParentNode: (node: Node) => Node | ParentNode;
740
796
  * @param scroll the offsetParent scroll position
741
797
  * @returns a DOMRect like object
742
798
  */
743
- export declare const getRectRelativeToOffsetParent: (element: HTMLElement, offsetParent: HTMLElement, scroll: {
799
+ export declare const getRectRelativeToOffsetParent: (element: Element, offsetParent: Element | Window, scroll: {
744
800
  x: number;
745
801
  y: number;
746
802
  }) => OffsetRect;
@@ -752,7 +808,7 @@ export declare const getRectRelativeToOffsetParent: (element: HTMLElement, offse
752
808
  * @param key optional identifier key
753
809
  * @returns an existing or new unique ID
754
810
  */
755
- export declare const getUID: (element: HTMLElement, key?: string) => number;
811
+ export declare const getUID: (element: Element, key?: string) => number;
756
812
 
757
813
  /**
758
814
  * Returns the `Window` object of a target node.
@@ -765,40 +821,40 @@ export declare const getUID: (element: HTMLElement, key?: string) => number;
765
821
  export declare const getWindow: (node?: Node) => Window;
766
822
 
767
823
  /**
768
- * Shortcut for `HTMLElement.hasAttribute()` method.
824
+ * Shortcut for `Element.hasAttribute()` method.
769
825
  *
770
826
  * @param element target element
771
827
  * @param att attribute name
772
828
  * @returns the query result
773
829
  */
774
- export declare const hasAttribute: (element: HTMLElement, att: string) => boolean;
830
+ export declare const hasAttribute: (element: Element, att: string) => boolean;
775
831
 
776
832
  /**
777
- * Shortcut for `HTMLElement.hasAttributeNS()` method.
833
+ * Shortcut for `Element.hasAttributeNS()` method.
778
834
  *
779
835
  * @param ns attribute namespace
780
836
  * @param element target element
781
837
  * @param att attribute name
782
838
  * @returns the query result
783
839
  */
784
- export declare const hasAttributeNS: (ns: string, element: HTMLElement, att: string) => boolean;
840
+ export declare const hasAttributeNS: (ns: string, element: Element, att: string) => boolean;
785
841
 
786
842
  /**
787
- * Check class in `HTMLElement.classList`.
843
+ * Check class in `Element.classList`.
788
844
  *
789
845
  * @param element target
790
846
  * @param classNAME to check
791
847
  */
792
- export declare const hasClass: (element: HTMLElement, classNAME: string) => boolean;
848
+ export declare const hasClass: (element: Element, classNAME: string) => boolean;
793
849
 
794
850
  /**
795
851
  * Utility to check if a designated element is affected by focus trap;
796
852
  * @param target
797
853
  */
798
- export declare const hasFocusTrap: (target: HTMLElement) => boolean;
854
+ export declare const hasFocusTrap: (target: Element) => boolean;
799
855
 
800
856
  /**
801
- * A global `boolean` getter for Apple browsers.
857
+ * An accessor that checks for Apple browsers.
802
858
  */
803
859
  export declare const isApple: () => boolean;
804
860
 
@@ -839,43 +895,28 @@ export declare const isDocument: (obj?: unknown) => obj is Document;
839
895
  /**
840
896
  * Checks if an object is an `Element`.
841
897
  *
842
- * @see https://dom.spec.whatwg.org/#node
843
- *
844
- * ```
845
- * ELEMENT_NODE = 1;
846
- * ATTRIBUTE_NODE = 2;
847
- * TEXT_NODE = 3;
848
- * CDATA_SECTION_NODE = 4;
849
- * ENTITY_REFERENCE_NODE = 5; // legacy
850
- * ENTITY_NODE = 6; // legacy
851
- * PROCESSING_INSTRUCTION_NODE = 7;
852
- * COMMENT_NODE = 8;
853
- * DOCUMENT_NODE = 9;
854
- * DOCUMENT_TYPE_NODE = 10;
855
- * DOCUMENT_FRAGMENT_NODE = 11;
856
- * ```
857
898
  * @param element the target object
858
899
  * @returns the query result
859
900
  */
860
901
  export declare const isElement: (element?: unknown) => element is Element;
861
902
 
862
903
  /**
863
- * Utility to determine if an `HTMLElement`
904
+ * Utility to determine if an `Element`
864
905
  * is partially visible in viewport.
865
906
  *
866
907
  * @param element target
867
908
  * @return the query result
868
909
  */
869
- export declare const isElementInScrollRange: (element?: HTMLElement) => boolean;
910
+ export declare const isElementInScrollRange: (element?: Element) => boolean;
870
911
 
871
912
  /**
872
- * Utility to determine if an `HTMLElement`
913
+ * Utility to determine if an `Element`
873
914
  * is fully visible in the viewport.
874
915
  *
875
916
  * @param element target
876
917
  * @return the query result
877
918
  */
878
- export declare const isElementInViewport: (element?: HTMLElement) => boolean;
919
+ export declare const isElementInViewport: (element?: Element) => boolean;
879
920
 
880
921
  /**
881
922
  * Checks if an object is an `Array` in which all items are `Element`.
@@ -883,10 +924,10 @@ export declare const isElementInViewport: (element?: HTMLElement) => boolean;
883
924
  * @param obj the target object
884
925
  * @returns the query result
885
926
  */
886
- export declare const isElementsArray: (obj?: unknown) => obj is HTMLElement[];
927
+ export declare const isElementsArray: (obj?: unknown) => obj is Element[];
887
928
 
888
929
  /**
889
- * A global boolean for Gecko browsers. When writing this file,
930
+ * An accessor that checks for Gecko browsers. When writing this file,
890
931
  * Gecko was not supporting `userAgentData`.
891
932
  */
892
933
  export declare const isFirefox: () => boolean;
@@ -953,7 +994,7 @@ export declare const isMap: (obj?: unknown) => obj is Map<unknown, unknown>;
953
994
  export declare const isMedia: (element?: unknown) => element is SVGElement | HTMLImageElement | HTMLVideoElement | HTMLCanvasElement;
954
995
 
955
996
  /**
956
- * A global `boolean` for mobile detection.
997
+ * An accessor that checks for mobile detection.
957
998
  */
958
999
  export declare const isMobile: () => boolean;
959
1000
 
@@ -961,6 +1002,20 @@ export declare const isMobile: () => boolean;
961
1002
  * Checks if an object is a `Node`.
962
1003
  *
963
1004
  * @param node the target object
1005
+ * @see https://dom.spec.whatwg.org/#node
1006
+ *
1007
+ * ```
1008
+ * ELEMENT_NODE = 1;
1009
+ * ATTRIBUTE_NODE = 2;
1010
+ * TEXT_NODE = 3;
1011
+ * CDATA_SECTION_NODE = 4;
1012
+ * ENTITY_REFERENCE_NODE = 5; // legacy
1013
+ * ENTITY_NODE = 6; // legacy
1014
+ * PROCESSING_INSTRUCTION_NODE = 7;
1015
+ * COMMENT_NODE = 8;
1016
+ * DOCUMENT_NODE = 9;
1017
+ * DOCUMENT_TYPE_NODE = 10;
1018
+ * DOCUMENT_FRAGMENT_NODE = 11;
964
1019
  * @returns the query result
965
1020
  */
966
1021
  export declare const isNode: (node?: unknown) => node is Node;
@@ -999,14 +1054,14 @@ export declare const isObject: (obj?: unknown) => obj is object;
999
1054
  export declare const isRTL: (node?: Node) => boolean;
1000
1055
 
1001
1056
  /**
1002
- * Checks if a target `HTMLElement` is affected by scale.
1057
+ * Checks if a target `Element` is affected by scale.
1003
1058
  *
1004
1059
  * @see https://github.com/floating-ui/floating-ui
1005
1060
  *
1006
1061
  * @param element target
1007
1062
  * @returns the query result
1008
1063
  */
1009
- export declare const isScaledElement: (element?: HTMLElement) => boolean;
1064
+ export declare const isScaledElement: (element?: Element) => boolean;
1010
1065
 
1011
1066
  /**
1012
1067
  * Check if target is a `ShadowRoot`.
@@ -1051,6 +1106,8 @@ export declare const isTableElement: (element?: unknown) => element is HTMLTable
1051
1106
  */
1052
1107
  export declare const isWeakMap: (obj?: unknown) => obj is WeakMap<WeakKey, unknown>;
1053
1108
 
1109
+ export declare const isWebKit: () => boolean;
1110
+
1054
1111
  /**
1055
1112
  * Check if a target object is `Window`.
1056
1113
  * => equivalent to `object instanceof Window`
@@ -1060,6 +1117,12 @@ export declare const isWeakMap: (obj?: unknown) => obj is WeakMap<WeakKey, unkno
1060
1117
  */
1061
1118
  export declare const isWindow: (obj?: unknown) => obj is Window;
1062
1119
 
1120
+ /**
1121
+ * Transform a string to kebab case.
1122
+ * @param input source string
1123
+ */
1124
+ export declare const kebabCase: (input: string) => string;
1125
+
1063
1126
  /**
1064
1127
  * A global namespace for `Alt` key.
1065
1128
  * e.which = 18
@@ -1096,7 +1159,8 @@ export declare const keyArrowUp = "ArrowUp";
1096
1159
  */
1097
1160
  export declare const keyBackspace = "Backspace";
1098
1161
 
1099
- declare interface KeyboardEvent_2<T = Element> extends UIEvent_2<T, NativeKeyboardEvent> {
1162
+ declare interface KeyboardEvent_2<T extends EventTarget = HTMLElement>
1163
+ extends UIEvent_2<T, NativeKeyboardEvent> {
1100
1164
  altKey: boolean;
1101
1165
  /** @deprecated */
1102
1166
  charCode: number;
@@ -1122,7 +1186,10 @@ declare interface KeyboardEvent_2<T = Element> extends UIEvent_2<T, NativeKeyboa
1122
1186
  }
1123
1187
  export { KeyboardEvent_2 as KeyboardEvent }
1124
1188
 
1125
- export declare type KeyboardEventHandler<T = Element> = EventHandler<T, KeyboardEvent_2<T>>;
1189
+ export declare type KeyboardEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
1190
+ T,
1191
+ KeyboardEvent_2<T>
1192
+ >;
1126
1193
 
1127
1194
  /**
1128
1195
  * A global namespace for keyboard event keys.
@@ -1305,7 +1372,8 @@ export declare const mousedownEvent = "mousedown";
1305
1372
  */
1306
1373
  export declare const mouseenterEvent = "mouseenter";
1307
1374
 
1308
- declare interface MouseEvent_2<T = Element, E = NativeMouseEvent> extends UIEvent_2<T, E> {
1375
+ declare interface MouseEvent_2<T extends EventTarget = HTMLElement, E = NativeMouseEvent>
1376
+ extends UIEvent_2<T, E> {
1309
1377
  altKey: boolean;
1310
1378
  button: number;
1311
1379
  buttons: number;
@@ -1328,7 +1396,10 @@ declare interface MouseEvent_2<T = Element, E = NativeMouseEvent> extends UIEven
1328
1396
  }
1329
1397
  export { MouseEvent_2 as MouseEvent }
1330
1398
 
1331
- export declare type MouseEventHandler<T = Element> = EventHandler<T, MouseEvent_2<T>>;
1399
+ export declare type MouseEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
1400
+ T,
1401
+ MouseEvent_2<T>
1402
+ >;
1332
1403
 
1333
1404
  /**
1334
1405
  * A global namespace for `hover` event.
@@ -1410,9 +1481,16 @@ declare type NativeDragEvent = DragEvent_2;
1410
1481
  * This might be a child element to the element on which the event listener is registered.
1411
1482
  * If you thought this should be `EventTarget & T`, see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11508#issuecomment-256045682
1412
1483
  */
1413
- export declare type NativeEvent<T = Element, E = Event> = BaseEvent<E, T, T>;
1484
+ export declare type NativeEvent<T extends EventTarget = HTMLElement, E = Event> = BaseEvent<
1485
+ E,
1486
+ T,
1487
+ T
1488
+ >;
1414
1489
 
1415
- export declare type NativeEventHandler<T = Element> = EventHandler<T, NativeEvent<T>>;
1490
+ export declare type NativeEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
1491
+ T,
1492
+ NativeEvent<T>
1493
+ >;
1416
1494
 
1417
1495
  /**
1418
1496
  * A global namespace for all browser native events.
@@ -1515,7 +1593,7 @@ export declare const noop: () => void;
1515
1593
  */
1516
1594
  export declare const normalizeOptions: <T extends {
1517
1595
  [key: string]: unknown;
1518
- }>(element: HTMLElement, defaultOps: T, inputOps: Partial<T>, ns?: string) => T;
1596
+ }>(element: Element, defaultOps: T, inputOps: Partial<T>, ns?: string) => T;
1519
1597
 
1520
1598
  /**
1521
1599
  * Utility to normalize component options
@@ -1640,7 +1718,7 @@ export declare const orientationchangeEvent = "orientationchange";
1640
1718
 
1641
1719
  export declare interface OriginalEvent extends CustomEvent<unknown> {
1642
1720
  readonly type: string;
1643
- relatedTarget?: EventTarget;
1721
+ relatedTarget?: EventTarget & HTMLElement;
1644
1722
  }
1645
1723
 
1646
1724
  /**
@@ -1658,7 +1736,8 @@ export declare const pointercancelEvent = "pointercancel";
1658
1736
  */
1659
1737
  export declare const pointerdownEvent = "pointerdown";
1660
1738
 
1661
- declare interface PointerEvent_2<T = Element> extends MouseEvent_2<T, NativePointerEvent> {
1739
+ declare interface PointerEvent_2<T extends EventTarget = HTMLElement>
1740
+ extends MouseEvent_2<T, NativePointerEvent> {
1662
1741
  pointerId: number;
1663
1742
  pressure: number;
1664
1743
  tangentialPressure: number;
@@ -1672,7 +1751,10 @@ declare interface PointerEvent_2<T = Element> extends MouseEvent_2<T, NativePoin
1672
1751
  }
1673
1752
  export { PointerEvent_2 as PointerEvent }
1674
1753
 
1675
- export declare type PointerEventHandler<T = Element> = EventHandler<T, PointerEvent_2<T>>;
1754
+ export declare type PointerEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
1755
+ T,
1756
+ PointerEvent_2<T>
1757
+ >;
1676
1758
 
1677
1759
  /**
1678
1760
  * A global namespace for `pointerleave` event.
@@ -1692,14 +1774,14 @@ export declare const pointerupEvent = "pointerup";
1692
1774
  export declare type PossibleEventTarget = EventTarget & (Element | Document | Window);
1693
1775
 
1694
1776
  /**
1695
- * Utility to check if target is typeof `HTMLElement`, `Element`, `Node`
1777
+ * Utility to check if target is typeof `Element`, `Node`
1696
1778
  * or find one that matches a selector.
1697
1779
  *
1698
1780
  * @param selector the input selector or target element
1699
1781
  * @param parent optional node to look into
1700
- * @return the `HTMLElement` or `querySelector` result
1782
+ * @return the `Element` or null
1701
1783
  */
1702
- export declare const querySelector: <T extends HTMLElement>(selector: HTMLElement | string, parent?: ParentNode) => T | null;
1784
+ export declare const querySelector: <T extends Element>(selector: T | string, parent?: ParentNode) => T | null;
1703
1785
 
1704
1786
  /**
1705
1787
  * A shortcut for `(document|Element).querySelectorAll`.
@@ -1708,7 +1790,7 @@ export declare const querySelector: <T extends HTMLElement>(selector: HTMLElemen
1708
1790
  * @param parent optional node to look into
1709
1791
  * @return the query result
1710
1792
  */
1711
- export declare const querySelectorAll: <T extends HTMLElement>(selector: string, parent?: ParentNode) => NodeListOf<T>;
1793
+ export declare const querySelectorAll: <T extends Element>(selector: string, parent?: ParentNode) => NodeListOf<T>;
1712
1794
 
1713
1795
  /**
1714
1796
  * A global namespace for `readystatechange` event.
@@ -1724,29 +1806,29 @@ export declare const readystatechangeEvent = "readystatechange";
1724
1806
  export declare const reflow: (element: HTMLElement) => number;
1725
1807
 
1726
1808
  /**
1727
- * Shortcut for `HTMLElement.removeAttribute()` method.
1809
+ * Shortcut for `Element.removeAttribute()` method.
1728
1810
  *
1729
1811
  * @param element target element
1730
1812
  * @param att attribute name
1731
1813
  */
1732
- export declare const removeAttribute: (element: HTMLElement, att: string) => void;
1814
+ export declare const removeAttribute: (element: Element, att: string) => void;
1733
1815
 
1734
1816
  /**
1735
- * Shortcut for `HTMLElement.removeAttributeNS()` method.
1817
+ * Shortcut for `Element.removeAttributeNS()` method.
1736
1818
  *
1737
1819
  * @param ns attribute namespace
1738
1820
  * @param element target element
1739
1821
  * @param att attribute name
1740
1822
  */
1741
- export declare const removeAttributeNS: (ns: string, element: HTMLElement, att: string) => void;
1823
+ export declare const removeAttributeNS: (ns: string, element: Element, att: string) => void;
1742
1824
 
1743
1825
  /**
1744
- * Remove one or more classes from `HTMLElement.classList`.
1826
+ * Remove one or more classes from `Element.classList`.
1745
1827
  *
1746
1828
  * @param element target
1747
1829
  * @param classNAME to remove
1748
1830
  */
1749
- export declare const removeClass: (element: HTMLElement, ...classNAME: string[]) => void;
1831
+ export declare const removeClass: (element: Element, ...classNAME: string[]) => void;
1750
1832
 
1751
1833
  /**
1752
1834
  * A global namespace for 'removeEventListener' string.
@@ -1795,23 +1877,23 @@ export declare const selectEvent = "select";
1795
1877
  export declare const selectstartEvent = "selectstart";
1796
1878
 
1797
1879
  /**
1798
- * Shortcut for `HTMLElement.setAttribute()` method.
1880
+ * Shortcut for `Element.setAttribute()` method.
1799
1881
  *
1800
1882
  * @param element target element
1801
1883
  * @param att attribute name
1802
1884
  * @param value attribute value
1803
1885
  */
1804
- export declare const setAttribute: (element: HTMLElement, att: string, value: string) => void;
1886
+ export declare const setAttribute: (element: Element, att: string, value: string) => void;
1805
1887
 
1806
1888
  /**
1807
- * Shortcut for `SVGElement.setAttributeNS()` method.
1889
+ * Shortcut for `Element.setAttributeNS()` method.
1808
1890
  *
1809
1891
  * @param ns attribute namespace
1810
1892
  * @param element target element
1811
1893
  * @param att attribute name
1812
1894
  * @param value attribute value
1813
1895
  */
1814
- export declare const setAttributeNS: (ns: string, element: HTMLElement, att: string, value: string) => void;
1896
+ export declare const setAttributeNS: (ns: string, element: Element, att: string, value: string) => void;
1815
1897
 
1816
1898
  /**
1817
1899
  * Shortcut for multiple uses of `HTMLElement.style.propertyName` method.
@@ -1819,7 +1901,7 @@ export declare const setAttributeNS: (ns: string, element: HTMLElement, att: str
1819
1901
  * @param element target element
1820
1902
  * @param styles attribute value
1821
1903
  */
1822
- export declare const setElementStyle: (element: HTMLElement, styles: Partial<CSS4Declaration>) => void;
1904
+ export declare const setElementStyle: (element: Element, styles: Partial<CSS4Declaration>) => void;
1823
1905
 
1824
1906
  /**
1825
1907
  * A global namespace for `submit` event.
@@ -1827,17 +1909,17 @@ export declare const setElementStyle: (element: HTMLElement, styles: Partial<CSS
1827
1909
  export declare const submitEvent = "submit";
1828
1910
 
1829
1911
  /**
1830
- * A global `boolean` for CSS3 3D transform support.
1912
+ * An accessor that checks for CSS3 3D transform support.
1831
1913
  */
1832
1914
  export declare const support3DTransform: () => boolean;
1833
1915
 
1834
1916
  /**
1835
- * A global `boolean` for CSS3 animation support.
1917
+ * An accessor that checks for CSS3 animation support.
1836
1918
  */
1837
1919
  export declare const supportAnimation: () => boolean;
1838
1920
 
1839
1921
  /**
1840
- * A global `boolean` for passive events support,
1922
+ * An accessor that checks for passive events support,
1841
1923
  * in general event options are not suited for scroll prevention.
1842
1924
  *
1843
1925
  * @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection
@@ -1845,17 +1927,17 @@ export declare const supportAnimation: () => boolean;
1845
1927
  export declare const supportPassive: () => boolean;
1846
1928
 
1847
1929
  /**
1848
- * A global `boolean` for touch events support.
1930
+ * An accessor that checks for touch events support.
1849
1931
  */
1850
1932
  export declare const supportTouch: () => boolean;
1851
1933
 
1852
1934
  /**
1853
- * A global `boolean` for CSS3 transform support.
1935
+ * An accessor that checks for CSS3 transform support.
1854
1936
  */
1855
1937
  export declare const supportTransform: () => boolean;
1856
1938
 
1857
1939
  /**
1858
- * A global `boolean` for CSS3 transition support.
1940
+ * An accessor that checks for CSS3 transition support.
1859
1941
  */
1860
1942
  export declare const supportTransition: () => boolean;
1861
1943
 
@@ -1878,7 +1960,7 @@ export declare const Timer: {
1878
1960
  * @param delay the execution delay
1879
1961
  * @param key a unique key
1880
1962
  */
1881
- set: (element: HTMLElement, callback: TimerHandler, delay: number, key?: string) => void;
1963
+ set: (element: Element, callback: TimerHandler, delay: number, key?: string) => void;
1882
1964
  /**
1883
1965
  * Returns the timer associated with the target.
1884
1966
  *
@@ -1886,21 +1968,21 @@ export declare const Timer: {
1886
1968
  * @param key a unique
1887
1969
  * @returns the timer
1888
1970
  */
1889
- get: (element: HTMLElement, key?: string) => number | null;
1971
+ get: (element: Element, key?: string) => number | null;
1890
1972
  /**
1891
1973
  * Clears the element's timer.
1892
1974
  *
1893
1975
  * @param element target element
1894
1976
  * @param key a unique key
1895
1977
  */
1896
- clear: (element: HTMLElement, key?: string) => void;
1978
+ clear: (element: Element, key?: string) => void;
1897
1979
  };
1898
1980
 
1899
1981
  /**
1900
1982
  * Utility to toggle focus trap inside a designated target element;
1901
1983
  * @param target
1902
1984
  */
1903
- export declare const toggleFocusTrap: (target: HTMLElement) => void;
1985
+ export declare const toggleFocusTrap: (target: Element) => void;
1904
1986
 
1905
1987
  /**
1906
1988
  * Shortcut for `String.toLowerCase()`.
@@ -1920,7 +2002,8 @@ export declare const touchcancelEvent = "touchcancel";
1920
2002
  */
1921
2003
  export declare const touchendEvent = "touchend";
1922
2004
 
1923
- declare interface TouchEvent_2<T = Element> extends UIEvent_2<T, NativeTouchEvent> {
2005
+ declare interface TouchEvent_2<T extends EventTarget = HTMLElement>
2006
+ extends UIEvent_2<T, NativeTouchEvent> {
1924
2007
  altKey: boolean;
1925
2008
  changedTouches: TouchList;
1926
2009
  ctrlKey: boolean;
@@ -1935,7 +2018,10 @@ declare interface TouchEvent_2<T = Element> extends UIEvent_2<T, NativeTouchEven
1935
2018
  }
1936
2019
  export { TouchEvent_2 as TouchEvent }
1937
2020
 
1938
- export declare type TouchEventHandler<T = Element> = EventHandler<T, TouchEvent_2<T>>;
2021
+ export declare type TouchEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
2022
+ T,
2023
+ TouchEvent_2<T>
2024
+ >;
1939
2025
 
1940
2026
  /**
1941
2027
  * A global namespace for touch events.
@@ -1980,7 +2066,7 @@ export declare const transitionDuration = "transitionDuration";
1980
2066
  */
1981
2067
  export declare const transitionEndEvent = "transitionend";
1982
2068
 
1983
- declare interface TransitionEvent_2<T = Element>
2069
+ declare interface TransitionEvent_2<T extends EventTarget = HTMLElement>
1984
2070
  extends NativeEvent<T, NativeTransitionEvent> {
1985
2071
  elapsedTime: number;
1986
2072
  propertyName: string;
@@ -1988,20 +2074,27 @@ extends NativeEvent<T, NativeTransitionEvent> {
1988
2074
  }
1989
2075
  export { TransitionEvent_2 as TransitionEvent }
1990
2076
 
1991
- export declare type TransitionEventHandler<T = Element> = EventHandler<T, TransitionEvent_2<T>>;
2077
+ export declare type TransitionEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
2078
+ T,
2079
+ TransitionEvent_2<T>
2080
+ >;
1992
2081
 
1993
2082
  /**
1994
2083
  * A global namespace for `transitionProperty` string for modern browsers.
1995
2084
  */
1996
2085
  export declare const transitionProperty = "transitionProperty";
1997
2086
 
1998
- declare interface UIEvent_2<T = Element, E = NativeUIEvent> extends NativeEvent<T, E> {
2087
+ declare interface UIEvent_2<T extends EventTarget = HTMLElement, E = NativeUIEvent>
2088
+ extends NativeEvent<T, E> {
1999
2089
  detail: number;
2000
2090
  view: AbstractView;
2001
2091
  }
2002
2092
  export { UIEvent_2 as UIEvent }
2003
2093
 
2004
- export declare type UIEventHandler<T = Element> = EventHandler<T, UIEvent_2<T>>;
2094
+ export declare type UIEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
2095
+ T,
2096
+ UIEvent_2<T>
2097
+ >;
2005
2098
 
2006
2099
  /**
2007
2100
  * A global namespace for `unload` event.
@@ -2020,7 +2113,8 @@ export declare const userAgentData: NavigatorUA["userAgentData"];
2020
2113
 
2021
2114
  export { version }
2022
2115
 
2023
- declare interface WheelEvent_2<T = Element> extends MouseEvent_2<T, NativeWheelEvent> {
2116
+ declare interface WheelEvent_2<T extends EventTarget = HTMLElement>
2117
+ extends MouseEvent_2<T, NativeWheelEvent> {
2024
2118
  deltaMode: number;
2025
2119
  deltaX: number;
2026
2120
  deltaY: number;
@@ -2028,6 +2122,9 @@ declare interface WheelEvent_2<T = Element> extends MouseEvent_2<T, NativeWheelE
2028
2122
  }
2029
2123
  export { WheelEvent_2 as WheelEvent }
2030
2124
 
2031
- export declare type WheelEventHandler<T = Element> = EventHandler<T, WheelEvent_2<T>>;
2125
+ export declare type WheelEventHandler<T extends EventTarget = HTMLElement> = EventHandler<
2126
+ T,
2127
+ WheelEvent_2<T>
2128
+ >;
2032
2129
 
2033
2130
  export { }