@koine/dom 2.0.0-beta.2 → 2.0.0-beta.21

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 (151) hide show
  1. package/$.d.ts +1 -12
  2. package/$.js +2 -17
  3. package/$all.d.ts +2 -0
  4. package/$all.js +4 -0
  5. package/$each.d.ts +0 -9
  6. package/$each.js +4 -18
  7. package/_listen-delegation.d.ts +3 -31
  8. package/_listen-delegation.js +10 -54
  9. package/addClass.d.ts +0 -3
  10. package/addClass.js +3 -10
  11. package/calculateFixedOffset.d.ts +0 -0
  12. package/calculateFixedOffset.js +4 -8
  13. package/createElement.d.ts +2 -8
  14. package/createElement.js +4 -16
  15. package/emitEvent.d.ts +0 -3
  16. package/emitEvent.js +2 -9
  17. package/escapeSelector.d.ts +0 -6
  18. package/escapeSelector.js +2 -12
  19. package/exists.d.ts +0 -5
  20. package/exists.js +2 -11
  21. package/forEach.d.ts +1 -8
  22. package/forEach.js +2 -13
  23. package/getDataAttr.d.ts +0 -6
  24. package/getDataAttr.js +2 -15
  25. package/getDocumentHeight.d.ts +0 -5
  26. package/getDocumentHeight.js +2 -11
  27. package/getHeight.d.ts +0 -3
  28. package/getHeight.js +2 -9
  29. package/getListeners.d.ts +1 -8
  30. package/getListeners.js +5 -18
  31. package/getOffset.d.ts +0 -6
  32. package/getOffset.js +2 -13
  33. package/getOffsetTop.d.ts +0 -8
  34. package/getOffsetTop.js +2 -15
  35. package/getOffsetTopSlim.d.ts +0 -9
  36. package/getOffsetTopSlim.js +2 -15
  37. package/getScrollbarWidth.d.ts +0 -3
  38. package/getScrollbarWidth.js +2 -9
  39. package/getStyleValue.d.ts +0 -6
  40. package/getStyleValue.js +2 -12
  41. package/getVisualBackgroundColor.d.ts +0 -4
  42. package/getVisualBackgroundColor.js +2 -11
  43. package/index.d.ts +46 -46
  44. package/index.js +45 -93
  45. package/injectCss.d.ts +0 -3
  46. package/injectCss.js +2 -9
  47. package/isHidden.d.ts +0 -3
  48. package/isHidden.js +2 -9
  49. package/isInViewport.d.ts +0 -8
  50. package/isInViewport.js +2 -14
  51. package/isNodeList.d.ts +1 -6
  52. package/isNodeList.js +2 -11
  53. package/isTotallyScrolled.d.ts +0 -6
  54. package/isTotallyScrolled.js +2 -12
  55. package/listen.d.ts +3 -11
  56. package/listen.js +9 -27
  57. package/listenLoaded.d.ts +0 -5
  58. package/listenLoaded.js +4 -14
  59. package/listenOnce.d.ts +1 -10
  60. package/listenOnce.js +8 -21
  61. package/listenResize.d.ts +1 -6
  62. package/listenResize.js +3 -12
  63. package/listenResizeDebounced.d.ts +1 -6
  64. package/listenResizeDebounced.js +6 -42
  65. package/listenResizeThrottled.d.ts +1 -6
  66. package/listenResizeThrottled.js +6 -15
  67. package/listenScroll.d.ts +1 -6
  68. package/listenScroll.js +4 -13
  69. package/listenScrollDebounced.d.ts +1 -6
  70. package/listenScrollDebounced.js +6 -15
  71. package/listenScrollThrottled.d.ts +1 -6
  72. package/listenScrollThrottled.js +6 -15
  73. package/off.d.ts +2 -5
  74. package/off.js +3 -10
  75. package/on.d.ts +2 -7
  76. package/on.js +5 -16
  77. package/onClickOutside.d.ts +0 -0
  78. package/onClickOutside.js +4 -9
  79. package/once.d.ts +1 -5
  80. package/once.js +6 -15
  81. package/package.json +148 -9
  82. package/removeClass.d.ts +0 -3
  83. package/removeClass.js +3 -10
  84. package/scrollTo.d.ts +0 -10
  85. package/scrollTo.js +7 -21
  86. package/setDataAttr.d.ts +0 -7
  87. package/setDataAttr.js +2 -16
  88. package/setVendorCSS.d.ts +0 -7
  89. package/setVendorCSS.js +2 -18
  90. package/siblings.d.ts +0 -5
  91. package/siblings.js +2 -11
  92. package/toArray.d.ts +0 -5
  93. package/toArray.js +2 -11
  94. package/types.d.ts +6 -5
  95. package/types.js +1 -2
  96. package/unlisten.d.ts +3 -11
  97. package/unlisten.js +10 -28
  98. package/$$.d.ts +0 -10
  99. package/$$.js +0 -16
  100. package/$$.mjs +0 -12
  101. package/$.mjs +0 -15
  102. package/$each.mjs +0 -17
  103. package/README.md +0 -1
  104. package/_listen-delegation.mjs +0 -83
  105. package/addClass.mjs +0 -15
  106. package/calculateFixedOffset.mjs +0 -10
  107. package/createElement.mjs +0 -16
  108. package/emitEvent.mjs +0 -14
  109. package/escapeSelector.mjs +0 -10
  110. package/exists.mjs +0 -12
  111. package/forEach.mjs +0 -13
  112. package/getDataAttr.mjs +0 -13
  113. package/getDocumentHeight.mjs +0 -10
  114. package/getHeight.mjs +0 -7
  115. package/getListeners.mjs +0 -18
  116. package/getOffset.mjs +0 -18
  117. package/getOffsetTop.mjs +0 -20
  118. package/getOffsetTopSlim.mjs +0 -13
  119. package/getScrollbarWidth.mjs +0 -7
  120. package/getStyleValue.mjs +0 -10
  121. package/getVisualBackground.d.ts +0 -6
  122. package/getVisualBackground.js +0 -25
  123. package/getVisualBackground.mjs +0 -21
  124. package/getVisualBackgroundColor.mjs +0 -21
  125. package/index.mjs +0 -45
  126. package/injectCss.mjs +0 -16
  127. package/isHidden.mjs +0 -7
  128. package/isInViewport.mjs +0 -18
  129. package/isNodeList.mjs +0 -14
  130. package/isTotallyScrolled.mjs +0 -10
  131. package/listen.mjs +0 -33
  132. package/listenLoaded.mjs +0 -11
  133. package/listenOnce.mjs +0 -20
  134. package/listenResize.mjs +0 -8
  135. package/listenResizeDebounced.mjs +0 -42
  136. package/listenResizeThrottled.mjs +0 -15
  137. package/listenScroll.mjs +0 -13
  138. package/listenScrollDebounced.mjs +0 -15
  139. package/listenScrollThrottled.mjs +0 -15
  140. package/off.mjs +0 -14
  141. package/on.mjs +0 -21
  142. package/onClickOutside.mjs +0 -17
  143. package/once.mjs +0 -15
  144. package/removeClass.mjs +0 -15
  145. package/scrollTo.mjs +0 -40
  146. package/setDataAttr.mjs +0 -18
  147. package/setVendorCSS.mjs +0 -21
  148. package/siblings.mjs +0 -19
  149. package/toArray.mjs +0 -9
  150. package/types.mjs +0 -1
  151. package/unlisten.mjs +0 -33
package/$.d.ts CHANGED
@@ -1,13 +1,2 @@
1
- /**
2
- * Sizzle/jQuery like DOM nodes shortcut for `document.querySelector`
3
- * To avoid an extra function call we inline the above `escape`
4
- *
5
- * @param selector DOM selector
6
- * @param parent It falls back to `window.document`
7
- * @param avoidEscape Whether to avoid escaping `:` in the selector string
8
- * @example <caption>Basic DOM selection</caption>
9
- * const $container = $(".my-section:");
10
- * const $el = $("[data-some-attr]", $container);
11
- */
12
- export declare function $<T extends Element = HTMLElement>(selector: string, parent?: HTMLElement | Document, avoidEscape?: boolean): T;
1
+ export declare function $<T extends Element = HTMLElement>(selector: string, parent?: HTMLElement | Document | null, avoidEscape?: boolean): T;
13
2
  export default $;
package/$.js CHANGED
@@ -1,19 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.$ = void 0;
4
- /**
5
- * Sizzle/jQuery like DOM nodes shortcut for `document.querySelector`
6
- * To avoid an extra function call we inline the above `escape`
7
- *
8
- * @param selector DOM selector
9
- * @param parent It falls back to `window.document`
10
- * @param avoidEscape Whether to avoid escaping `:` in the selector string
11
- * @example <caption>Basic DOM selection</caption>
12
- * const $container = $(".my-section:");
13
- * const $el = $("[data-some-attr]", $container);
14
- */
15
- function $(selector, parent, avoidEscape) {
1
+ export function $(selector, parent, avoidEscape) {
16
2
  return (parent ? parent : document).querySelector(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
17
3
  }
18
- exports.$ = $;
19
- exports.default = $;
4
+ export default $;
package/$all.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function $all<T extends Element = HTMLElement>(selector: string, parent?: Element | HTMLElement | Document | null, avoidEscape?: boolean): NodeListOf<T>;
2
+ export default $all;
package/$all.js ADDED
@@ -0,0 +1,4 @@
1
+ export function $all(selector, parent, avoidEscape) {
2
+ return (parent ? parent : document).querySelectorAll(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
3
+ }
4
+ export default $all;
package/$each.d.ts CHANGED
@@ -1,11 +1,2 @@
1
- /**
2
- * Each shortcut, iterate through a NodeList of HTMLElements retrieved with the
3
- * given selector (and optionally a parent container passed as thrid arguement)
4
- *
5
- * @param selector DOM selector
6
- * @param callback
7
- * @param parent It falls back to `window.document`
8
- * @param scope
9
- */
10
1
  export declare function $each<T extends Element = HTMLElement>(selector: string, callback: ($element: T, index: number) => any, parent?: HTMLElement, scope?: object): void;
11
2
  export default $each;
package/$each.js CHANGED
@@ -1,22 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.$each = void 0;
4
- var tslib_1 = require("tslib");
5
- var __1 = tslib_1.__importDefault(require("./$$"));
6
- /**
7
- * Each shortcut, iterate through a NodeList of HTMLElements retrieved with the
8
- * given selector (and optionally a parent container passed as thrid arguement)
9
- *
10
- * @param selector DOM selector
11
- * @param callback
12
- * @param parent It falls back to `window.document`
13
- * @param scope
14
- */
15
- function $each(selector, callback, parent, scope) {
16
- var nodes = (0, __1.default)(selector, parent);
1
+ import $all from "./$all.js";
2
+ export function $each(selector, callback, parent, scope) {
3
+ var nodes = $all(selector, parent);
17
4
  for (var i = 0; i < nodes.length; i++) {
18
5
  callback.call(scope, nodes[i], i);
19
6
  }
20
7
  }
21
- exports.$each = $each;
22
- exports.default = $each;
8
+ export default $each;
@@ -1,38 +1,10 @@
1
- /**
2
- * @internal
3
- */
4
- export type EventCallback = (event: Event, desiredTarget: Window | Document | Element) => any;
5
- /**
6
- * @internal
7
- */
1
+ import type { AnyDOMEvent, AnyDOMEventTarget, AnyDOMEventType } from "./types.js";
2
+ export type EventCallback<TTarget extends AnyDOMEventTarget = AnyDOMEventTarget, TType extends AnyDOMEventType = AnyDOMEventType> = (event: AnyDOMEvent<TType>, desiredTarget: TTarget) => any;
8
3
  export type ListenEvent = {
9
4
  selector: string;
10
5
  callback: EventCallback;
11
6
  };
12
- /**
13
- * Active events
14
- *
15
- * @internal
16
- */
17
- export declare const activeEvents: Record<Event["type"], ListenEvent[]>;
18
- /**
19
- * Get the index for the listener
20
- *
21
- * @internal
22
- */
7
+ export declare const activeEvents: Partial<Record<AnyDOMEventType, ListenEvent[]>>;
23
8
  export declare function getIndex(arr: ListenEvent[], selector: string, callback: EventCallback): number;
24
- /**
25
- * Check if the listener callback should run or not
26
- *
27
- * @internal
28
- * @param target The event.target
29
- * @param selector The selector/element to check the target against
30
- * @return If not false, run listener and pass the targeted element to use in the callback
31
- */
32
9
  export declare function getRunTarget(target: Element, selector: string | Window | Document | Element): false | Element | Document | Window | null;
33
- /**
34
- * Handle listeners after event fires
35
- *
36
- * @internal
37
- */
38
10
  export declare function eventHandler(event: Event): void;
@@ -1,30 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventHandler = exports.getRunTarget = exports.getIndex = exports.activeEvents = void 0;
4
- var tslib_1 = require("tslib");
5
- /**
6
- * Listen: events delegation system
7
- *
8
- * From:
9
- * https://github.com/cferdinandi/events
10
- * https://github.com/cferdinandi/events/blob/master/src/js/events/events.js
11
- *
12
- * @fileoverview
13
- */
14
- var isString_1 = tslib_1.__importDefault(require("@koine/utils/isString"));
15
- var escapeSelector_1 = tslib_1.__importDefault(require("./escapeSelector"));
16
- /**
17
- * Active events
18
- *
19
- * @internal
20
- */
21
- exports.activeEvents = {};
22
- /**
23
- * Get the index for the listener
24
- *
25
- * @internal
26
- */
27
- function getIndex(arr, selector, callback) {
1
+ import { isString } from "@koine/utils";
2
+ import escapeSelector from "./escapeSelector.js";
3
+ export var activeEvents = {};
4
+ export function getIndex(arr, selector, callback) {
28
5
  for (var i = 0; i < arr.length; i++) {
29
6
  if (arr[i].selector === selector &&
30
7
  arr[i].callback.toString() === callback.toString())
@@ -32,17 +9,7 @@ function getIndex(arr, selector, callback) {
32
9
  }
33
10
  return -1;
34
11
  }
35
- exports.getIndex = getIndex;
36
- /**
37
- * Check if the listener callback should run or not
38
- *
39
- * @internal
40
- * @param target The event.target
41
- * @param selector The selector/element to check the target against
42
- * @return If not false, run listener and pass the targeted element to use in the callback
43
- */
44
- function getRunTarget(target, selector) {
45
- // @ts-expect-error FIXME: type
12
+ export function getRunTarget(target, selector) {
46
13
  if (["*", "window", window].includes(selector)) {
47
14
  return window;
48
15
  }
@@ -51,18 +18,15 @@ function getRunTarget(target, selector) {
51
18
  "document.documentElement",
52
19
  document,
53
20
  document.documentElement,
54
- // @ts-expect-error FIXME: type
55
21
  ].includes(selector))
56
22
  return document;
57
- if ((0, isString_1.default)(selector)) {
58
- return target.closest((0, escapeSelector_1.default)(selector));
23
+ if (isString(selector)) {
24
+ return target.closest(escapeSelector(selector));
59
25
  }
60
- // @ts-expect-error FIXME: type
61
26
  if (typeof selector !== "string" && selector.contains) {
62
27
  if (selector === target) {
63
28
  return target;
64
29
  }
65
- // @ts-expect-error FIXME: type
66
30
  if (selector.contains(target)) {
67
31
  return selector;
68
32
  }
@@ -70,16 +34,9 @@ function getRunTarget(target, selector) {
70
34
  }
71
35
  return false;
72
36
  }
73
- exports.getRunTarget = getRunTarget;
74
- /**
75
- * Handle listeners after event fires
76
- *
77
- * @internal
78
- */
79
- function eventHandler(event) {
80
- if (!exports.activeEvents[event.type])
81
- return;
82
- exports.activeEvents[event.type].forEach(function (listener) {
37
+ export function eventHandler(event) {
38
+ var _a;
39
+ (_a = activeEvents[event.type]) === null || _a === void 0 ? void 0 : _a.forEach(function (listener) {
83
40
  var target = getRunTarget(event.target, listener.selector);
84
41
  if (!target) {
85
42
  return;
@@ -87,4 +44,3 @@ function eventHandler(event) {
87
44
  listener.callback(event, target);
88
45
  });
89
46
  }
90
- exports.eventHandler = eventHandler;
package/addClass.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * Add class shortcut
3
- */
4
1
  export declare function addClass<T extends Element = HTMLElement>(el?: T, className?: string): void;
5
2
  export default addClass;
package/addClass.js CHANGED
@@ -1,12 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addClass = void 0;
4
- /**
5
- * Add class shortcut
6
- */
7
- function addClass(el, className) {
1
+ export function addClass(el, className) {
8
2
  if (className === void 0) { className = ""; }
9
- if (process.env["NODE_ENV"] !== "production") {
3
+ if (process.env["NODE_ENV"] === "development") {
10
4
  if (!el) {
11
5
  console.warn("[@koine/dom:addClass] unexisting DOM element");
12
6
  return;
@@ -15,5 +9,4 @@ function addClass(el, className) {
15
9
  if (el)
16
10
  el.classList.add(className);
17
11
  }
18
- exports.addClass = addClass;
19
- exports.default = addClass;
12
+ export default addClass;
File without changes
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateFixedOffset = void 0;
4
- var _each_1 = require("./$each");
5
- function calculateFixedOffset(selector) {
1
+ import { $each } from "./$each.js";
2
+ export function calculateFixedOffset(selector) {
6
3
  if (selector === void 0) { selector = "[data-fixed]"; }
7
4
  var fixedOffset = 0;
8
- (0, _each_1.$each)(selector, function ($el) {
5
+ $each(selector, function ($el) {
9
6
  fixedOffset += $el.offsetHeight;
10
7
  });
11
8
  return fixedOffset;
12
9
  }
13
- exports.calculateFixedOffset = calculateFixedOffset;
14
- exports.default = calculateFixedOffset;
10
+ export default calculateFixedOffset;
@@ -1,9 +1,3 @@
1
- /**
2
- * Shortcut for `document.createElement`, allowing to to create an HTML element
3
- * with a given className directly (a very common use case)
4
- *
5
- * @param type
6
- * @param className
7
- */
8
- export declare function createElement(type: string, className?: string): HTMLElement;
1
+ import { LiteralUnion } from "type-fest";
2
+ export declare function createElement<TType extends LiteralUnion<keyof HTMLElementTagNameMap, string>, TElement extends HTMLElement = TType extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[TType] : HTMLElement>(type: TType, className?: string): TElement;
9
3
  export default createElement;
package/createElement.js CHANGED
@@ -1,21 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createElement = void 0;
4
- var tslib_1 = require("tslib");
5
- var addClass_1 = tslib_1.__importDefault(require("./addClass"));
6
- /**
7
- * Shortcut for `document.createElement`, allowing to to create an HTML element
8
- * with a given className directly (a very common use case)
9
- *
10
- * @param type
11
- * @param className
12
- */
13
- function createElement(type, className) {
1
+ import addClass from "./addClass.js";
2
+ export function createElement(type, className) {
14
3
  var el = document.createElement(type);
15
4
  if (className) {
16
- (0, addClass_1.default)(el, className);
5
+ addClass(el, className);
17
6
  }
18
7
  return el;
19
8
  }
20
- exports.createElement = createElement;
21
- exports.default = createElement;
9
+ export default createElement;
package/emitEvent.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * Emit event (use only if the targeted browser supports `CustomEvent`s)
3
- */
4
1
  export declare function emitEvent(type?: string, detail?: {}): void;
5
2
  export default emitEvent;
package/emitEvent.js CHANGED
@@ -1,10 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emitEvent = void 0;
4
- /**
5
- * Emit event (use only if the targeted browser supports `CustomEvent`s)
6
- */
7
- function emitEvent(type, detail) {
1
+ export function emitEvent(type, detail) {
8
2
  if (type === void 0) { type = "customEvent"; }
9
3
  if (detail === void 0) { detail = {}; }
10
4
  if (typeof window.CustomEvent !== "function")
@@ -14,5 +8,4 @@ function emitEvent(type, detail) {
14
8
  detail: detail,
15
9
  }));
16
10
  }
17
- exports.emitEvent = emitEvent;
18
- exports.default = emitEvent;
11
+ export default emitEvent;
@@ -1,8 +1,2 @@
1
- /**
2
- * Escape colons to allow use class names as `.module:block__element`
3
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector#Escaping_special_characters
4
- *
5
- * @param selector
6
- */
7
1
  export declare function escapeSelector(selector: string): string;
8
2
  export default escapeSelector;
package/escapeSelector.js CHANGED
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escapeSelector = void 0;
4
- /**
5
- * Escape colons to allow use class names as `.module:block__element`
6
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector#Escaping_special_characters
7
- *
8
- * @param selector
9
- */
10
- function escapeSelector(selector) {
1
+ export function escapeSelector(selector) {
11
2
  return selector.replace(/:/g, "\\:");
12
3
  }
13
- exports.escapeSelector = escapeSelector;
14
- exports.default = escapeSelector;
4
+ export default escapeSelector;
package/exists.d.ts CHANGED
@@ -1,7 +1,2 @@
1
- /**
2
- * Checks if passed node exist and is a valid element.
3
- *
4
- * @borrows @glidejs/glide/src/utils/dom (source)
5
- */
6
1
  export declare function exists(node?: Element): boolean;
7
2
  export default exists;
package/exists.js CHANGED
@@ -1,16 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exists = void 0;
4
- /**
5
- * Checks if passed node exist and is a valid element.
6
- *
7
- * @borrows @glidejs/glide/src/utils/dom (source)
8
- */
9
- function exists(node) {
1
+ export function exists(node) {
10
2
  if (node && node instanceof window.HTMLElement) {
11
3
  return true;
12
4
  }
13
5
  return false;
14
6
  }
15
- exports.exists = exists;
16
- exports.default = exists;
7
+ export default exists;
package/forEach.d.ts CHANGED
@@ -1,9 +1,2 @@
1
- /**
2
- * For each, iterate through a NodeList of HTMLElements
3
- *
4
- * @param nodes DOM nodes collection
5
- * @param callback
6
- * @param scope
7
- */
8
- export declare function forEach<T extends Element = HTMLElement, TScope = object>(nodes: NodeList, callback: (this: TScope, $element: T, index: number) => any, scope?: TScope): void;
1
+ export declare function forEach<T extends HTMLElement, TScope = object>(nodes: NodeListOf<T> | T[], callback: (this: TScope, $element: T, index: number) => any, scope?: TScope): void;
9
2
  export default forEach;
package/forEach.js CHANGED
@@ -1,17 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.forEach = void 0;
4
- /**
5
- * For each, iterate through a NodeList of HTMLElements
6
- *
7
- * @param nodes DOM nodes collection
8
- * @param callback
9
- * @param scope
10
- */
11
- function forEach(nodes, callback, scope) {
1
+ export function forEach(nodes, callback, scope) {
12
2
  for (var i = 0; i < nodes.length; i++) {
13
3
  callback.call(scope, nodes[i], i);
14
4
  }
15
5
  }
16
- exports.forEach = forEach;
17
- exports.default = forEach;
6
+ export default forEach;
package/getDataAttr.d.ts CHANGED
@@ -1,8 +1,2 @@
1
- /**
2
- * Get data attribute
3
- *
4
- * @param element
5
- * @param attribute The name of the `data-{attr}`
6
- */
7
1
  export declare function getDataAttr(element: HTMLElement, attribute: string): string | null;
8
2
  export default getDataAttr;
package/getDataAttr.js CHANGED
@@ -1,17 +1,4 @@
1
- "use strict";
2
- // TODO: maybe move to `dataset` API but consider the comment about Safari here
3
- // https://stackoverflow.com/a/9201264/1938970
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getDataAttr = void 0;
6
- /**
7
- * Get data attribute
8
- *
9
- * @param element
10
- * @param attribute The name of the `data-{attr}`
11
- */
12
- function getDataAttr(element, attribute) {
13
- // return element.dataset[attribute];
1
+ export function getDataAttr(element, attribute) {
14
2
  return element.getAttribute("data-" + attribute);
15
3
  }
16
- exports.getDataAttr = getDataAttr;
17
- exports.default = getDataAttr;
4
+ export default getDataAttr;
@@ -1,7 +1,2 @@
1
- /**
2
- * Determine the document's height
3
- *
4
- * @see https://github.com/cferdinandi/smooth-scroll (credits)
5
- */
6
1
  export declare function getDocumentHeight(): number;
7
2
  export default getDocumentHeight;
@@ -1,14 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDocumentHeight = void 0;
4
- /**
5
- * Determine the document's height
6
- *
7
- * @see https://github.com/cferdinandi/smooth-scroll (credits)
8
- */
9
- function getDocumentHeight() {
1
+ export function getDocumentHeight() {
10
2
  var body = document.body, documentElement = document.documentElement;
11
3
  return Math.max(body.scrollHeight, documentElement.scrollHeight, body.offsetHeight, documentElement.offsetHeight, body.clientHeight, documentElement.clientHeight);
12
4
  }
13
- exports.getDocumentHeight = getDocumentHeight;
14
- exports.default = getDocumentHeight;
5
+ export default getDocumentHeight;
package/getHeight.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * Get element height
3
- */
4
1
  export declare function getHeight(element: HTMLElement): number;
5
2
  export default getHeight;
package/getHeight.js CHANGED
@@ -1,11 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHeight = void 0;
4
- /**
5
- * Get element height
6
- */
7
- function getHeight(element) {
1
+ export function getHeight(element) {
8
2
  return parseInt(window.getComputedStyle(element).height, 10);
9
3
  }
10
- exports.getHeight = getHeight;
11
- exports.default = getHeight;
4
+ export default getHeight;
package/getListeners.d.ts CHANGED
@@ -1,9 +1,2 @@
1
- /**
2
- * Get an immutable copy of all active event listeners
3
- *
4
- * @category listen-delegation
5
- *
6
- * @return Active event listeners
7
- */
8
- export declare function getListeners(): Record<string, import("./_listen-delegation").ListenEvent[]>;
1
+ export declare function getListeners(): Partial<Record<import("./types").AnyDOMEventType, import("./_listen-delegation").ListenEvent[]>>;
9
2
  export default getListeners;
package/getListeners.js CHANGED
@@ -1,22 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getListeners = void 0;
4
- var _listen_delegation_1 = require("./_listen-delegation");
5
- /**
6
- * Get an immutable copy of all active event listeners
7
- *
8
- * @category listen-delegation
9
- *
10
- * @return Active event listeners
11
- */
12
- function getListeners() {
1
+ import { activeEvents } from "./_listen-delegation.js";
2
+ export function getListeners() {
13
3
  var obj = {};
14
- for (var type in _listen_delegation_1.activeEvents) {
15
- // if (activeEvents.hasOwnProperty(type)) {
16
- obj[type] = _listen_delegation_1.activeEvents[type];
17
- // }
4
+ for (var type in activeEvents) {
5
+ obj[type] = activeEvents[type];
18
6
  }
19
7
  return obj;
20
8
  }
21
- exports.getListeners = getListeners;
22
- exports.default = getListeners;
9
+ export default getListeners;
package/getOffset.d.ts CHANGED
@@ -1,9 +1,3 @@
1
- /**
2
- * Get an element's distance from the top and left of the Document.
3
- *
4
- * @param elem The HTML node element
5
- * @return Distance from the top and left in pixels
6
- */
7
1
  export declare function getOffset(elem: HTMLElement): {
8
2
  top: number;
9
3
  left: number;
package/getOffset.js CHANGED
@@ -1,22 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOffset = void 0;
4
- /**
5
- * Get an element's distance from the top and left of the Document.
6
- *
7
- * @param elem The HTML node element
8
- * @return Distance from the top and left in pixels
9
- */
10
- function getOffset(elem) {
1
+ export function getOffset(elem) {
11
2
  var left = 0;
12
3
  var top = 0;
13
4
  while (elem && !isNaN(elem.offsetLeft) && !isNaN(elem.offsetTop)) {
14
5
  left += elem.offsetLeft - elem.scrollLeft;
15
6
  top += elem.offsetTop - elem.scrollTop;
16
- // @ts-expect-error nevermind?
17
7
  elem = elem.offsetParent;
18
8
  }
19
9
  return { top: top, left: left };
20
10
  }
21
- exports.getOffset = getOffset;
22
- exports.default = getOffset;
11
+ export default getOffset;
package/getOffsetTop.d.ts CHANGED
@@ -1,10 +1,2 @@
1
- /**
2
- * Get an element's distance from the top of the Document.
3
- *
4
- * @see https://vanillajstoolkit.com/helpers/getoffsettop/
5
- *
6
- * @param elem The HTML node element
7
- * @return Distance from the top in pixels
8
- */
9
1
  export declare function getOffsetTop(elem: HTMLElement): number;
10
2
  export default getOffsetTop;
package/getOffsetTop.js CHANGED
@@ -1,24 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOffsetTop = void 0;
4
- /**
5
- * Get an element's distance from the top of the Document.
6
- *
7
- * @see https://vanillajstoolkit.com/helpers/getoffsettop/
8
- *
9
- * @param elem The HTML node element
10
- * @return Distance from the top in pixels
11
- */
12
- function getOffsetTop(elem) {
1
+ export function getOffsetTop(elem) {
13
2
  var location = 0;
14
3
  if (elem.offsetParent) {
15
4
  while (elem) {
16
5
  location += elem.offsetTop;
17
- // @ts-expect-error nevermind?
18
6
  elem = elem.offsetParent;
19
7
  }
20
8
  }
21
9
  return location >= 0 ? location : 0;
22
10
  }
23
- exports.getOffsetTop = getOffsetTop;
24
- exports.default = getOffsetTop;
11
+ export default getOffsetTop;
@@ -1,11 +1,2 @@
1
- /**
2
- * Get an element's distance from the top of the Document (using more modern/performant
3
- * technique compared to {@link ./getOffsetTop})
4
- *
5
- * @see https://stackoverflow.com/q/5598743/1938970
6
- *
7
- * @param elem The HTML node element
8
- * @return Distance from the top in pixels
9
- */
10
1
  export declare function getOffsetTopSlim(elem: HTMLElement): number;
11
2
  export default getOffsetTopSlim;