@koine/dom 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/getOffsetTopSlim.d.ts +11 -0
- package/getOffsetTopSlim.js +13 -0
- package/index.d.ts +7 -1
- package/index.js +7 -1
- package/listen.js +1 -0
- package/listenResize.d.ts +3 -3
- package/listenResize.js +2 -11
- package/listenResizeDebounced.d.ts +8 -0
- package/listenResizeDebounced.js +41 -0
- package/listenResizeThrottled.d.ts +8 -0
- package/listenResizeThrottled.js +15 -0
- package/listenScroll.d.ts +3 -3
- package/listenScroll.js +4 -11
- package/listenScrollDebounced.d.ts +8 -0
- package/listenScrollDebounced.js +15 -0
- package/listenScrollThrottled.d.ts +8 -0
- package/listenScrollThrottled.js +15 -0
- package/node/getOffsetTopSlim.js +17 -0
- package/node/index.js +7 -1
- package/node/listen.js +1 -0
- package/node/listenResize.js +3 -12
- package/node/listenResizeDebounced.js +45 -0
- package/node/listenResizeThrottled.js +19 -0
- package/node/listenScroll.js +5 -12
- package/node/listenScrollDebounced.js +19 -0
- package/node/listenScrollThrottled.js +19 -0
- package/node/on.js +0 -1
- package/node/once.js +1 -1
- package/node/types.js +2 -0
- package/off.d.ts +2 -1
- package/on.d.ts +2 -1
- package/on.js +0 -1
- package/once.d.ts +2 -1
- package/once.js +1 -1
- package/package.json +1 -1
- package/types.d.ts +7 -0
- package/types.js +1 -0
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
export declare function getOffsetTopSlim(elem: HTMLElement): number;
|
|
11
|
+
export default getOffsetTopSlim;
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
export function getOffsetTopSlim(elem) {
|
|
11
|
+
return elem.getBoundingClientRect().top + window.scrollY;
|
|
12
|
+
}
|
|
13
|
+
export default getOffsetTopSlim;
|
package/index.d.ts
CHANGED
|
@@ -12,8 +12,9 @@ export * from "./getDataAttr";
|
|
|
12
12
|
export * from "./getDocumentHeight";
|
|
13
13
|
export * from "./getHeight";
|
|
14
14
|
export * from "./getListeners";
|
|
15
|
-
export * from "./getOffsetTop";
|
|
16
15
|
export * from "./getOffset";
|
|
16
|
+
export * from "./getOffsetTop";
|
|
17
|
+
export * from "./getOffsetTopSlim";
|
|
17
18
|
export * from "./getScrollbarWidth";
|
|
18
19
|
export * from "./getStyleValue";
|
|
19
20
|
export * from "./injectCss";
|
|
@@ -24,7 +25,11 @@ export * from "./isTotallyScrolled";
|
|
|
24
25
|
export * from "./listenLoaded";
|
|
25
26
|
export * from "./listenOnce";
|
|
26
27
|
export * from "./listenResize";
|
|
28
|
+
export * from "./listenResizeDebounced";
|
|
29
|
+
export * from "./listenResizeThrottled";
|
|
27
30
|
export * from "./listenScroll";
|
|
31
|
+
export * from "./listenScrollDebounced";
|
|
32
|
+
export * from "./listenScrollThrottled";
|
|
28
33
|
export * from "./listen";
|
|
29
34
|
export * from "./off";
|
|
30
35
|
export * from "./once";
|
|
@@ -37,3 +42,4 @@ export * from "./setVendorCSS";
|
|
|
37
42
|
export * from "./siblings";
|
|
38
43
|
export * from "./toArray";
|
|
39
44
|
export * from "./unlisten";
|
|
45
|
+
export * from "./types";
|
package/index.js
CHANGED
|
@@ -12,8 +12,9 @@ export * from "./getDataAttr";
|
|
|
12
12
|
export * from "./getDocumentHeight";
|
|
13
13
|
export * from "./getHeight";
|
|
14
14
|
export * from "./getListeners";
|
|
15
|
-
export * from "./getOffsetTop";
|
|
16
15
|
export * from "./getOffset";
|
|
16
|
+
export * from "./getOffsetTop";
|
|
17
|
+
export * from "./getOffsetTopSlim";
|
|
17
18
|
export * from "./getScrollbarWidth";
|
|
18
19
|
export * from "./getStyleValue";
|
|
19
20
|
export * from "./injectCss";
|
|
@@ -24,7 +25,11 @@ export * from "./isTotallyScrolled";
|
|
|
24
25
|
export * from "./listenLoaded";
|
|
25
26
|
export * from "./listenOnce";
|
|
26
27
|
export * from "./listenResize";
|
|
28
|
+
export * from "./listenResizeDebounced";
|
|
29
|
+
export * from "./listenResizeThrottled";
|
|
27
30
|
export * from "./listenScroll";
|
|
31
|
+
export * from "./listenScrollDebounced";
|
|
32
|
+
export * from "./listenScrollThrottled";
|
|
28
33
|
export * from "./listen";
|
|
29
34
|
export * from "./off";
|
|
30
35
|
export * from "./once";
|
|
@@ -37,3 +42,4 @@ export * from "./setVendorCSS";
|
|
|
37
42
|
export * from "./siblings";
|
|
38
43
|
export * from "./toArray";
|
|
39
44
|
export * from "./unlisten";
|
|
45
|
+
export * from "./types";
|
package/listen.js
CHANGED
package/listenResize.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* Listen window
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
4
4
|
*
|
|
5
5
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const listenResize: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
8
8
|
export default listenResize;
|
package/listenResize.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { debounce } from "@koine/utils";
|
|
2
1
|
import { on } from "./on";
|
|
3
2
|
/**
|
|
4
|
-
* Listen window
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
5
4
|
*
|
|
6
5
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
6
|
*/
|
|
8
|
-
export function
|
|
9
|
-
var args = [];
|
|
10
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
|
-
args[_i] = arguments[_i];
|
|
12
|
-
}
|
|
13
|
-
var handler = debounce.apply(void 0, args);
|
|
14
|
-
var unbinder = on(window, "resize", handler);
|
|
15
|
-
return unbinder;
|
|
16
|
-
}
|
|
7
|
+
export var listenResize = function (handler, el) { return on(el || window, "resize", handler); };
|
|
17
8
|
export default listenResize;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { listenResize } from "./listenResize";
|
|
2
|
+
/**
|
|
3
|
+
* Listen element's (`window` by default) _resize_ event debouncing the callback
|
|
4
|
+
*
|
|
5
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
+
*/
|
|
7
|
+
export declare const listenResizeDebounced: (el?: Parameters<typeof listenResize>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
8
|
+
export default listenResizeDebounced;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { debounce } from "@koine/utils";
|
|
2
|
+
import { listenResize } from "./listenResize";
|
|
3
|
+
/**
|
|
4
|
+
* Listen element's (`window` by default) _resize_ event debouncing the callback
|
|
5
|
+
*
|
|
6
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
|
+
*/
|
|
8
|
+
export var listenResizeDebounced = function (el) {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i - 1] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
return listenResize(debounce.apply(void 0, args), el);
|
|
14
|
+
};
|
|
15
|
+
export default listenResizeDebounced;
|
|
16
|
+
// EXP: with too complex overload signature...
|
|
17
|
+
// import { debounce, isUndefined } from "@koine/utils";
|
|
18
|
+
// import { listenResize } from "./listenResize";
|
|
19
|
+
// /**
|
|
20
|
+
// * Listen element's (`window` by default) _resize_ event debouncing the callback
|
|
21
|
+
// *
|
|
22
|
+
// * @returns An automatic unbinding function to run to deregister the listener upon call
|
|
23
|
+
// */
|
|
24
|
+
// export function listenResizeDebounced(
|
|
25
|
+
// ...args: Parameters<typeof debounce>
|
|
26
|
+
// ): ReturnType<typeof listenResize>;
|
|
27
|
+
// export function listenResizeDebounced(
|
|
28
|
+
// el: Parameters<typeof listenResize>[1],
|
|
29
|
+
// ...args: Parameters<typeof debounce>
|
|
30
|
+
// ): ReturnType<typeof listenResize>;
|
|
31
|
+
// export function listenResizeDebounced(
|
|
32
|
+
// ...args:
|
|
33
|
+
// | [Parameters<typeof listenResize>[1], ...Parameters<typeof debounce>]
|
|
34
|
+
// | Parameters<typeof debounce>
|
|
35
|
+
// ) {
|
|
36
|
+
// if (isUndefined(args[0])) {
|
|
37
|
+
// return listenResize(debounce(...args));
|
|
38
|
+
// }
|
|
39
|
+
// return listenResize(debounce(...args.slice(1)), args[0]);
|
|
40
|
+
// }
|
|
41
|
+
// export default listenResizeDebounced;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { listenResize } from "./listenResize";
|
|
2
|
+
/**
|
|
3
|
+
* Listen element's (`window` by default) _resize_ event throttling the callback
|
|
4
|
+
*
|
|
5
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
+
*/
|
|
7
|
+
export declare const listenResizeThrottled: (el?: Parameters<typeof listenResize>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
8
|
+
export default listenResizeThrottled;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { throttle } from "@koine/utils";
|
|
2
|
+
import { listenResize } from "./listenResize";
|
|
3
|
+
/**
|
|
4
|
+
* Listen element's (`window` by default) _resize_ event throttling the callback
|
|
5
|
+
*
|
|
6
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
|
+
*/
|
|
8
|
+
export var listenResizeThrottled = function (el) {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i - 1] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
return listenResize(throttle.apply(void 0, args), el);
|
|
14
|
+
};
|
|
15
|
+
export default listenResizeThrottled;
|
package/listenScroll.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* Listen window
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
4
4
|
*
|
|
5
5
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare const listenScroll: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
8
8
|
export default listenScroll;
|
package/listenScroll.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
import { debounce } from "@koine/utils";
|
|
2
1
|
import { on } from "./on";
|
|
3
2
|
/**
|
|
4
|
-
* Listen window
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
5
4
|
*
|
|
6
5
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
6
|
*/
|
|
8
|
-
export function
|
|
9
|
-
|
|
10
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
11
|
-
args[_i] = arguments[_i];
|
|
12
|
-
}
|
|
13
|
-
var handler = debounce.apply(void 0, args);
|
|
14
|
-
var unbinder = on(window, "scroll", handler, {
|
|
7
|
+
export var listenScroll = function (handler, el) {
|
|
8
|
+
return on(el || window, "scroll", handler, {
|
|
15
9
|
capture: true,
|
|
16
10
|
passive: true,
|
|
17
11
|
});
|
|
18
|
-
|
|
19
|
-
}
|
|
12
|
+
};
|
|
20
13
|
export default listenScroll;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { listenScroll } from "./listenScroll";
|
|
2
|
+
/**
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event debouncing the callback
|
|
4
|
+
*
|
|
5
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
+
*/
|
|
7
|
+
export declare const listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
8
|
+
export default listenScrollDebounced;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { debounce } from "@koine/utils";
|
|
2
|
+
import { listenScroll } from "./listenScroll";
|
|
3
|
+
/**
|
|
4
|
+
* Listen element's (`window` by default) _scroll_ event debouncing the callback
|
|
5
|
+
*
|
|
6
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
|
+
*/
|
|
8
|
+
export var listenScrollDebounced = function (el) {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i - 1] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
return listenScroll(debounce.apply(void 0, args), el);
|
|
14
|
+
};
|
|
15
|
+
export default listenScrollDebounced;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { listenScroll } from "./listenScroll";
|
|
2
|
+
/**
|
|
3
|
+
* Listen element's (`window` by default) _scroll_ event throttling the callback
|
|
4
|
+
*
|
|
5
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
+
*/
|
|
7
|
+
export declare const listenScrollThrottled: (el?: Parameters<typeof listenScroll>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
8
|
+
export default listenScrollThrottled;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { throttle } from "@koine/utils";
|
|
2
|
+
import { listenScroll } from "./listenScroll";
|
|
3
|
+
/**
|
|
4
|
+
* Listen element's (`window` by default) _scroll_ event throttling the callback
|
|
5
|
+
*
|
|
6
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
7
|
+
*/
|
|
8
|
+
export var listenScrollThrottled = function (el) {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i - 1] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
return listenScroll(throttle.apply(void 0, args), el);
|
|
14
|
+
};
|
|
15
|
+
export default listenScrollThrottled;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOffsetTopSlim = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Get an element's distance from the top of the Document (using more modern/performant
|
|
6
|
+
* technique compared to {@link ./getOffsetTop})
|
|
7
|
+
*
|
|
8
|
+
* @see https://stackoverflow.com/q/5598743/1938970
|
|
9
|
+
*
|
|
10
|
+
* @param elem The HTML node element
|
|
11
|
+
* @return Distance from the top in pixels
|
|
12
|
+
*/
|
|
13
|
+
function getOffsetTopSlim(elem) {
|
|
14
|
+
return elem.getBoundingClientRect().top + window.scrollY;
|
|
15
|
+
}
|
|
16
|
+
exports.getOffsetTopSlim = getOffsetTopSlim;
|
|
17
|
+
exports.default = getOffsetTopSlim;
|
package/node/index.js
CHANGED
|
@@ -15,8 +15,9 @@ tslib_1.__exportStar(require("./getDataAttr"), exports);
|
|
|
15
15
|
tslib_1.__exportStar(require("./getDocumentHeight"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./getHeight"), exports);
|
|
17
17
|
tslib_1.__exportStar(require("./getListeners"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./getOffsetTop"), exports);
|
|
19
18
|
tslib_1.__exportStar(require("./getOffset"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./getOffsetTop"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./getOffsetTopSlim"), exports);
|
|
20
21
|
tslib_1.__exportStar(require("./getScrollbarWidth"), exports);
|
|
21
22
|
tslib_1.__exportStar(require("./getStyleValue"), exports);
|
|
22
23
|
tslib_1.__exportStar(require("./injectCss"), exports);
|
|
@@ -27,7 +28,11 @@ tslib_1.__exportStar(require("./isTotallyScrolled"), exports);
|
|
|
27
28
|
tslib_1.__exportStar(require("./listenLoaded"), exports);
|
|
28
29
|
tslib_1.__exportStar(require("./listenOnce"), exports);
|
|
29
30
|
tslib_1.__exportStar(require("./listenResize"), exports);
|
|
31
|
+
tslib_1.__exportStar(require("./listenResizeDebounced"), exports);
|
|
32
|
+
tslib_1.__exportStar(require("./listenResizeThrottled"), exports);
|
|
30
33
|
tslib_1.__exportStar(require("./listenScroll"), exports);
|
|
34
|
+
tslib_1.__exportStar(require("./listenScrollDebounced"), exports);
|
|
35
|
+
tslib_1.__exportStar(require("./listenScrollThrottled"), exports);
|
|
31
36
|
tslib_1.__exportStar(require("./listen"), exports);
|
|
32
37
|
tslib_1.__exportStar(require("./off"), exports);
|
|
33
38
|
tslib_1.__exportStar(require("./once"), exports);
|
|
@@ -40,3 +45,4 @@ tslib_1.__exportStar(require("./setVendorCSS"), exports);
|
|
|
40
45
|
tslib_1.__exportStar(require("./siblings"), exports);
|
|
41
46
|
tslib_1.__exportStar(require("./toArray"), exports);
|
|
42
47
|
tslib_1.__exportStar(require("./unlisten"), exports);
|
|
48
|
+
tslib_1.__exportStar(require("./types"), exports);
|
package/node/listen.js
CHANGED
package/node/listenResize.js
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.listenResize = void 0;
|
|
4
|
-
var utils_1 = require("@koine/utils");
|
|
5
4
|
var on_1 = require("./on");
|
|
6
5
|
/**
|
|
7
|
-
* Listen window
|
|
6
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
8
7
|
*
|
|
9
8
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
9
|
*/
|
|
11
|
-
function
|
|
12
|
-
var args = [];
|
|
13
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
14
|
-
args[_i] = arguments[_i];
|
|
15
|
-
}
|
|
16
|
-
var handler = utils_1.debounce.apply(void 0, args);
|
|
17
|
-
var unbinder = (0, on_1.on)(window, "resize", handler);
|
|
18
|
-
return unbinder;
|
|
19
|
-
}
|
|
10
|
+
var listenResize = function (handler, el) { return (0, on_1.on)(el || window, "resize", handler); };
|
|
20
11
|
exports.listenResize = listenResize;
|
|
21
|
-
exports.default = listenResize;
|
|
12
|
+
exports.default = exports.listenResize;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listenResizeDebounced = void 0;
|
|
4
|
+
var utils_1 = require("@koine/utils");
|
|
5
|
+
var listenResize_1 = require("./listenResize");
|
|
6
|
+
/**
|
|
7
|
+
* Listen element's (`window` by default) _resize_ event debouncing the callback
|
|
8
|
+
*
|
|
9
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
|
+
*/
|
|
11
|
+
var listenResizeDebounced = function (el) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return (0, listenResize_1.listenResize)(utils_1.debounce.apply(void 0, args), el);
|
|
17
|
+
};
|
|
18
|
+
exports.listenResizeDebounced = listenResizeDebounced;
|
|
19
|
+
exports.default = exports.listenResizeDebounced;
|
|
20
|
+
// EXP: with too complex overload signature...
|
|
21
|
+
// import { debounce, isUndefined } from "@koine/utils";
|
|
22
|
+
// import { listenResize } from "./listenResize";
|
|
23
|
+
// /**
|
|
24
|
+
// * Listen element's (`window` by default) _resize_ event debouncing the callback
|
|
25
|
+
// *
|
|
26
|
+
// * @returns An automatic unbinding function to run to deregister the listener upon call
|
|
27
|
+
// */
|
|
28
|
+
// export function listenResizeDebounced(
|
|
29
|
+
// ...args: Parameters<typeof debounce>
|
|
30
|
+
// ): ReturnType<typeof listenResize>;
|
|
31
|
+
// export function listenResizeDebounced(
|
|
32
|
+
// el: Parameters<typeof listenResize>[1],
|
|
33
|
+
// ...args: Parameters<typeof debounce>
|
|
34
|
+
// ): ReturnType<typeof listenResize>;
|
|
35
|
+
// export function listenResizeDebounced(
|
|
36
|
+
// ...args:
|
|
37
|
+
// | [Parameters<typeof listenResize>[1], ...Parameters<typeof debounce>]
|
|
38
|
+
// | Parameters<typeof debounce>
|
|
39
|
+
// ) {
|
|
40
|
+
// if (isUndefined(args[0])) {
|
|
41
|
+
// return listenResize(debounce(...args));
|
|
42
|
+
// }
|
|
43
|
+
// return listenResize(debounce(...args.slice(1)), args[0]);
|
|
44
|
+
// }
|
|
45
|
+
// export default listenResizeDebounced;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listenResizeThrottled = void 0;
|
|
4
|
+
var utils_1 = require("@koine/utils");
|
|
5
|
+
var listenResize_1 = require("./listenResize");
|
|
6
|
+
/**
|
|
7
|
+
* Listen element's (`window` by default) _resize_ event throttling the callback
|
|
8
|
+
*
|
|
9
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
|
+
*/
|
|
11
|
+
var listenResizeThrottled = function (el) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return (0, listenResize_1.listenResize)(utils_1.throttle.apply(void 0, args), el);
|
|
17
|
+
};
|
|
18
|
+
exports.listenResizeThrottled = listenResizeThrottled;
|
|
19
|
+
exports.default = exports.listenResizeThrottled;
|
package/node/listenScroll.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.listenScroll = void 0;
|
|
4
|
-
var utils_1 = require("@koine/utils");
|
|
5
4
|
var on_1 = require("./on");
|
|
6
5
|
/**
|
|
7
|
-
* Listen window
|
|
6
|
+
* Listen element's (`window` by default) _scroll_ event
|
|
8
7
|
*
|
|
9
8
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
9
|
*/
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
14
|
-
args[_i] = arguments[_i];
|
|
15
|
-
}
|
|
16
|
-
var handler = utils_1.debounce.apply(void 0, args);
|
|
17
|
-
var unbinder = (0, on_1.on)(window, "scroll", handler, {
|
|
10
|
+
var listenScroll = function (handler, el) {
|
|
11
|
+
return (0, on_1.on)(el || window, "scroll", handler, {
|
|
18
12
|
capture: true,
|
|
19
13
|
passive: true,
|
|
20
14
|
});
|
|
21
|
-
|
|
22
|
-
}
|
|
15
|
+
};
|
|
23
16
|
exports.listenScroll = listenScroll;
|
|
24
|
-
exports.default = listenScroll;
|
|
17
|
+
exports.default = exports.listenScroll;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listenScrollDebounced = void 0;
|
|
4
|
+
var utils_1 = require("@koine/utils");
|
|
5
|
+
var listenScroll_1 = require("./listenScroll");
|
|
6
|
+
/**
|
|
7
|
+
* Listen element's (`window` by default) _scroll_ event debouncing the callback
|
|
8
|
+
*
|
|
9
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
|
+
*/
|
|
11
|
+
var listenScrollDebounced = function (el) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return (0, listenScroll_1.listenScroll)(utils_1.debounce.apply(void 0, args), el);
|
|
17
|
+
};
|
|
18
|
+
exports.listenScrollDebounced = listenScrollDebounced;
|
|
19
|
+
exports.default = exports.listenScrollDebounced;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listenScrollThrottled = void 0;
|
|
4
|
+
var utils_1 = require("@koine/utils");
|
|
5
|
+
var listenScroll_1 = require("./listenScroll");
|
|
6
|
+
/**
|
|
7
|
+
* Listen element's (`window` by default) _scroll_ event throttling the callback
|
|
8
|
+
*
|
|
9
|
+
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
10
|
+
*/
|
|
11
|
+
var listenScrollThrottled = function (el) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return (0, listenScroll_1.listenScroll)(utils_1.throttle.apply(void 0, args), el);
|
|
17
|
+
};
|
|
18
|
+
exports.listenScrollThrottled = listenScrollThrottled;
|
|
19
|
+
exports.default = exports.listenScrollThrottled;
|
package/node/on.js
CHANGED
package/node/once.js
CHANGED
|
@@ -14,7 +14,7 @@ function once(el, type, handler, options) {
|
|
|
14
14
|
handler(event);
|
|
15
15
|
(0, off_1.default)(el, type, handlerWrapper);
|
|
16
16
|
};
|
|
17
|
-
(0, on_1.default)(el, type, handlerWrapper, options);
|
|
17
|
+
return (0, on_1.default)(el, type, handlerWrapper, options);
|
|
18
18
|
}
|
|
19
19
|
exports.once = once;
|
|
20
20
|
exports.default = once;
|
package/node/types.js
ADDED
package/off.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types";
|
|
1
2
|
/**
|
|
2
3
|
* Shortcut for `removeEventListener`
|
|
3
4
|
*/
|
|
4
|
-
export declare function off(el:
|
|
5
|
+
export declare function off(el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean): void;
|
|
5
6
|
export default off;
|
package/on.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types";
|
|
1
2
|
/**
|
|
2
3
|
* Shortcut for `addEventListener`
|
|
3
4
|
*
|
|
4
5
|
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
5
6
|
*/
|
|
6
|
-
export declare function on<THandler extends (event: any) => void>(el:
|
|
7
|
+
export declare function on<THandler extends (event: any) => void>(el: AnyDOMEventTargetLoose, type: string, handler: THandler, options?: AddEventListenerOptions | boolean): () => void;
|
|
7
8
|
export default on;
|
package/on.js
CHANGED
package/once.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { AnyDOMEventTargetLoose } from "./types";
|
|
1
2
|
/**
|
|
2
3
|
* One shot listener, it `addEventListener` and removes it first time is called
|
|
3
4
|
* with `removeEventListener`
|
|
4
5
|
*/
|
|
5
|
-
export declare function once(el:
|
|
6
|
+
export declare function once(el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean): () => void;
|
|
6
7
|
export default once;
|
package/once.js
CHANGED
package/package.json
CHANGED
package/types.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AnythingFalsy } from "@koine/utils/types";
|
|
2
|
+
export type AnyDOMEventTarget = Window | Document | HTMLElement | Element;
|
|
3
|
+
/**
|
|
4
|
+
* We use it either throwing an error on unexisting element or falling back
|
|
5
|
+
* to `window` in case of _scroll_ or _resize_ events
|
|
6
|
+
*/
|
|
7
|
+
export type AnyDOMEventTargetLoose = AnyDOMEventTarget | AnythingFalsy;
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|