@koine/dom 2.0.0-beta.14 → 2.0.0-beta.16
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/$.d.ts +0 -11
- package/$.js +4 -0
- package/$all.d.ts +2 -0
- package/$all.js +4 -0
- package/$each.d.ts +0 -9
- package/$each.js +8 -0
- package/_listen-delegation.d.ts +1 -30
- package/_listen-delegation.js +46 -0
- package/addClass.d.ts +0 -3
- package/{addClass.mjs → addClass.js} +4 -4
- package/calculateFixedOffset.js +10 -0
- package/createElement.d.ts +0 -7
- package/createElement.js +9 -0
- package/emitEvent.d.ts +0 -3
- package/emitEvent.js +11 -0
- package/escapeSelector.d.ts +0 -6
- package/escapeSelector.js +4 -0
- package/exists.d.ts +0 -5
- package/exists.js +7 -0
- package/forEach.d.ts +0 -5
- package/forEach.js +6 -0
- package/getDataAttr.d.ts +0 -6
- package/getDataAttr.js +4 -0
- package/getDocumentHeight.d.ts +0 -5
- package/{getDocumentHeight.mjs → getDocumentHeight.js} +2 -6
- package/getHeight.d.ts +0 -3
- package/{getHeight.mjs → getHeight.js} +1 -3
- package/getListeners.d.ts +0 -7
- package/getListeners.js +9 -0
- package/getOffset.d.ts +0 -6
- package/getOffset.js +11 -0
- package/getOffsetTop.d.ts +0 -8
- package/getOffsetTop.js +11 -0
- package/getOffsetTopSlim.d.ts +0 -9
- package/getOffsetTopSlim.js +4 -0
- package/getScrollbarWidth.d.ts +0 -3
- package/{getScrollbarWidth.mjs → getScrollbarWidth.js} +1 -3
- package/getStyleValue.d.ts +0 -6
- package/getStyleValue.js +4 -0
- package/getVisualBackgroundColor.d.ts +0 -4
- package/getVisualBackgroundColor.js +16 -0
- package/index.d.ts +46 -46
- package/index.js +45 -0
- package/injectCss.d.ts +0 -3
- package/{injectCss.mjs → injectCss.js} +4 -4
- package/isHidden.d.ts +0 -3
- package/{isHidden.mjs → isHidden.js} +1 -3
- package/isInViewport.d.ts +0 -8
- package/isInViewport.js +10 -0
- package/isNodeList.d.ts +0 -5
- package/isNodeList.js +9 -0
- package/isTotallyScrolled.d.ts +0 -6
- package/isTotallyScrolled.js +4 -0
- package/listen.d.ts +2 -11
- package/listen.js +19 -0
- package/listenLoaded.d.ts +0 -5
- package/listenLoaded.js +5 -0
- package/listenOnce.d.ts +1 -10
- package/listenOnce.js +11 -0
- package/listenResize.d.ts +1 -6
- package/listenResize.js +3 -0
- package/listenResizeDebounced.d.ts +1 -6
- package/listenResizeDebounced.js +10 -0
- package/listenResizeThrottled.d.ts +1 -6
- package/listenResizeThrottled.js +10 -0
- package/listenScroll.d.ts +1 -6
- package/listenScroll.js +8 -0
- package/listenScrollDebounced.d.ts +1 -6
- package/listenScrollDebounced.js +10 -0
- package/listenScrollThrottled.d.ts +1 -6
- package/listenScrollThrottled.js +10 -0
- package/off.d.ts +1 -4
- package/{off.mjs → off.js} +4 -4
- package/on.d.ts +1 -6
- package/on.js +15 -0
- package/onClickOutside.js +16 -0
- package/once.d.ts +1 -5
- package/once.js +11 -0
- package/package.json +148 -7
- package/removeClass.d.ts +0 -3
- package/removeClass.js +12 -0
- package/scrollTo.d.ts +0 -10
- package/scrollTo.js +30 -0
- package/setDataAttr.d.ts +0 -7
- package/setDataAttr.js +8 -0
- package/setVendorCSS.d.ts +0 -7
- package/setVendorCSS.js +9 -0
- package/siblings.d.ts +0 -5
- package/siblings.js +14 -0
- package/toArray.d.ts +0 -5
- package/toArray.js +4 -0
- package/types.d.ts +1 -5
- package/types.js +1 -0
- package/unlisten.d.ts +2 -11
- package/unlisten.js +19 -0
- package/$$.d.ts +0 -10
- package/$$.mjs +0 -11
- package/$.mjs +0 -14
- package/$each.mjs +0 -16
- package/README.md +0 -1
- package/_listen-delegation.mjs +0 -77
- package/calculateFixedOffset.mjs +0 -9
- package/createElement.mjs +0 -15
- package/emitEvent.mjs +0 -10
- package/escapeSelector.mjs +0 -9
- package/exists.mjs +0 -11
- package/forEach.mjs +0 -34
- package/getDataAttr.mjs +0 -12
- package/getListeners.mjs +0 -17
- package/getOffset.mjs +0 -20
- package/getOffsetTop.mjs +0 -19
- package/getOffsetTopSlim.mjs +0 -12
- package/getStyleValue.mjs +0 -9
- package/getVisualBackgroundColor.mjs +0 -19
- package/index.mjs +0 -45
- package/isInViewport.mjs +0 -12
- package/isNodeList.mjs +0 -9
- package/isTotallyScrolled.mjs +0 -9
- package/listen.mjs +0 -36
- package/listenLoaded.mjs +0 -10
- package/listenOnce.mjs +0 -19
- package/listenResize.mjs +0 -7
- package/listenResizeDebounced.mjs +0 -34
- package/listenResizeThrottled.mjs +0 -8
- package/listenScroll.mjs +0 -10
- package/listenScrollDebounced.mjs +0 -8
- package/listenScrollThrottled.mjs +0 -8
- package/on.mjs +0 -21
- package/onClickOutside.mjs +0 -15
- package/once.mjs +0 -13
- package/removeClass.mjs +0 -12
- package/scrollTo.mjs +0 -39
- package/setDataAttr.mjs +0 -17
- package/setVendorCSS.mjs +0 -20
- package/siblings.mjs +0 -18
- package/toArray.mjs +0 -8
- package/types.mjs +0 -1
- package/unlisten.mjs +0 -35
package/isInViewport.d.ts
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determine if an element is in the viewport
|
|
3
|
-
*
|
|
4
|
-
* @borrows (c) 2017 Chris Ferdinandi, MIT License, https://gomakethings.com
|
|
5
|
-
*
|
|
6
|
-
* @param elem The element
|
|
7
|
-
* @return Returns true if element is in the viewport
|
|
8
|
-
*/
|
|
9
1
|
export declare function isInViewport(elem: Element): boolean;
|
|
10
2
|
export default isInViewport;
|
package/isInViewport.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function isInViewport(elem) {
|
|
2
|
+
var distance = elem.getBoundingClientRect();
|
|
3
|
+
return (distance.top >= 0 &&
|
|
4
|
+
distance.left >= 0 &&
|
|
5
|
+
distance.bottom <=
|
|
6
|
+
(window.innerHeight || document.documentElement.clientHeight) &&
|
|
7
|
+
distance.right <=
|
|
8
|
+
(window.innerWidth || document.documentElement.clientWidth));
|
|
9
|
+
}
|
|
10
|
+
export default isInViewport;
|
package/isNodeList.d.ts
CHANGED
package/isNodeList.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function isNodeList(nodes) {
|
|
2
|
+
var stringRepr = Object.prototype.toString.call(nodes);
|
|
3
|
+
return (typeof nodes === "object" &&
|
|
4
|
+
/^\[object (HTMLCollection|NodeList|Object)\]$/.test(stringRepr) &&
|
|
5
|
+
typeof nodes.length === "number" &&
|
|
6
|
+
(nodes.length === 0 ||
|
|
7
|
+
(typeof nodes[0] === "object" && nodes[0].nodeType > 0)));
|
|
8
|
+
}
|
|
9
|
+
export default isNodeList;
|
package/isTotallyScrolled.d.ts
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Is element totally scrolled
|
|
3
|
-
*
|
|
4
|
-
* @see https://github.com/willmcpo/body-scroll-lock/blob/master/src/bodyScrollLock.js#L116
|
|
5
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions
|
|
6
|
-
*/
|
|
7
1
|
export declare function isTotallyScrolled(el?: HTMLElement): boolean;
|
|
8
2
|
export default isTotallyScrolled;
|
package/listen.d.ts
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import { type EventCallback } from "./_listen-delegation";
|
|
2
|
-
import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* Listen an event
|
|
5
|
-
*
|
|
6
|
-
* @category listen-delegation
|
|
7
|
-
*
|
|
8
|
-
* @param types The event type or types (comma separated)
|
|
9
|
-
* @param selector The selector to run the event on
|
|
10
|
-
* @param callback The function to run when the event fires
|
|
11
|
-
*/
|
|
1
|
+
import { type EventCallback } from "./_listen-delegation.js";
|
|
2
|
+
import type { AnyDOMEventTarget, AnyDOMEventType } from "./types.js";
|
|
12
3
|
export declare function listen<TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>): void;
|
|
13
4
|
export default listen;
|
package/listen.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { activeEvents, eventHandler, } from "./_listen-delegation.js";
|
|
2
|
+
import { on } from "./on.js";
|
|
3
|
+
export function listen(types, selector, callback) {
|
|
4
|
+
if (!selector || !callback)
|
|
5
|
+
return;
|
|
6
|
+
types.split(",").forEach(function (type) {
|
|
7
|
+
var _a;
|
|
8
|
+
type = type.trim();
|
|
9
|
+
if (!activeEvents[type]) {
|
|
10
|
+
activeEvents[type] = [];
|
|
11
|
+
on(window, type, eventHandler, true);
|
|
12
|
+
}
|
|
13
|
+
(_a = activeEvents[type]) === null || _a === void 0 ? void 0 : _a.push({
|
|
14
|
+
selector: selector,
|
|
15
|
+
callback: callback,
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export default listen;
|
package/listenLoaded.d.ts
CHANGED
package/listenLoaded.js
ADDED
package/listenOnce.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import { type EventCallback } from "./_listen-delegation";
|
|
2
|
-
/**
|
|
3
|
-
* Listen an event, and automatically unlisten it after it's first run
|
|
4
|
-
*
|
|
5
|
-
* @category listen-delegation
|
|
6
|
-
*
|
|
7
|
-
* @param types The event type or types (comma separated)
|
|
8
|
-
* @param selector The selector to run the event on
|
|
9
|
-
* @param callback The function to run when the event fires
|
|
10
|
-
*/
|
|
1
|
+
import { type EventCallback } from "./_listen-delegation.js";
|
|
11
2
|
export declare function listenOnce(types: string, selector: string, callback: EventCallback): void;
|
|
12
3
|
export default listenOnce;
|
package/listenOnce.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getRunTarget } from "./_listen-delegation.js";
|
|
2
|
+
import { listen } from "./listen.js";
|
|
3
|
+
import { unlisten } from "./unlisten.js";
|
|
4
|
+
export function listenOnce(types, selector, callback) {
|
|
5
|
+
listen(types, selector, function temp(event) {
|
|
6
|
+
var target = getRunTarget(event.target, selector);
|
|
7
|
+
callback(event, target || window);
|
|
8
|
+
unlisten(types, selector, temp);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
export default listenOnce;
|
package/listenResize.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import type { AnyDOMEventTargetLoose } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Listen element's (`window` by default) _scroll_ event
|
|
4
|
-
*
|
|
5
|
-
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
-
*/
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types.js";
|
|
7
2
|
export declare const listenResize: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
8
3
|
export default listenResize;
|
package/listenResize.js
ADDED
|
@@ -1,8 +1,3 @@
|
|
|
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
|
-
*/
|
|
1
|
+
import listenResize from "./listenResize.js";
|
|
7
2
|
export declare const listenResizeDebounced: (el?: Parameters<typeof listenResize>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
8
3
|
export default listenResizeDebounced;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { debounce } from "@koine/utils";
|
|
2
|
+
import listenResize from "./listenResize.js";
|
|
3
|
+
export var listenResizeDebounced = function (el) {
|
|
4
|
+
var args = [];
|
|
5
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
6
|
+
args[_i - 1] = arguments[_i];
|
|
7
|
+
}
|
|
8
|
+
return listenResize(debounce.apply(void 0, args), el);
|
|
9
|
+
};
|
|
10
|
+
export default listenResizeDebounced;
|
|
@@ -1,8 +1,3 @@
|
|
|
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
|
-
*/
|
|
1
|
+
import { listenResize } from "./listenResize.js";
|
|
7
2
|
export declare const listenResizeThrottled: (el?: Parameters<typeof listenResize>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
8
3
|
export default listenResizeThrottled;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { throttle } from "@koine/utils";
|
|
2
|
+
import { listenResize } from "./listenResize.js";
|
|
3
|
+
export var listenResizeThrottled = function (el) {
|
|
4
|
+
var args = [];
|
|
5
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
6
|
+
args[_i - 1] = arguments[_i];
|
|
7
|
+
}
|
|
8
|
+
return listenResize(throttle.apply(void 0, args), el);
|
|
9
|
+
};
|
|
10
|
+
export default listenResizeThrottled;
|
package/listenScroll.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import type { AnyDOMEventTargetLoose } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Listen element's (`window` by default) _scroll_ event
|
|
4
|
-
*
|
|
5
|
-
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
-
*/
|
|
1
|
+
import type { AnyDOMEventTargetLoose } from "./types.js";
|
|
7
2
|
export declare const listenScroll: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
8
3
|
export default listenScroll;
|
package/listenScroll.js
ADDED
|
@@ -1,8 +1,3 @@
|
|
|
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
|
-
*/
|
|
1
|
+
import { listenScroll } from "./listenScroll.js";
|
|
7
2
|
export declare const listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
8
3
|
export default listenScrollDebounced;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { debounce } from "@koine/utils";
|
|
2
|
+
import { listenScroll } from "./listenScroll.js";
|
|
3
|
+
export var listenScrollDebounced = function (el) {
|
|
4
|
+
var args = [];
|
|
5
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
6
|
+
args[_i - 1] = arguments[_i];
|
|
7
|
+
}
|
|
8
|
+
return listenScroll(debounce.apply(void 0, args), el);
|
|
9
|
+
};
|
|
10
|
+
export default listenScrollDebounced;
|
|
@@ -1,8 +1,3 @@
|
|
|
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
|
-
*/
|
|
1
|
+
import { listenScroll } from "./listenScroll.js";
|
|
7
2
|
export declare const listenScrollThrottled: (el?: Parameters<typeof listenScroll>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
8
3
|
export default listenScrollThrottled;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { throttle } from "@koine/utils";
|
|
2
|
+
import { listenScroll } from "./listenScroll.js";
|
|
3
|
+
export var listenScrollThrottled = function (el) {
|
|
4
|
+
var args = [];
|
|
5
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
6
|
+
args[_i - 1] = arguments[_i];
|
|
7
|
+
}
|
|
8
|
+
return listenScroll(throttle.apply(void 0, args), el);
|
|
9
|
+
};
|
|
10
|
+
export default listenScrollThrottled;
|
package/off.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Shortcut for `removeEventListener`
|
|
4
|
-
*/
|
|
1
|
+
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types.js";
|
|
5
2
|
export declare function off<TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean): void;
|
|
6
3
|
export default off;
|
package/{off.mjs → off.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ export function off(el, type, handler, options = false) {
|
|
1
|
+
export function off(el, type, handler, options) {
|
|
2
|
+
if (options === void 0) { options = false; }
|
|
4
3
|
if (process.env["NODE_ENV"] !== "production") {
|
|
5
4
|
if (!el) {
|
|
6
5
|
console.warn("[@koine/dom:off] unexisting DOM element");
|
|
7
6
|
}
|
|
8
7
|
}
|
|
9
|
-
if (el)
|
|
8
|
+
if (el)
|
|
9
|
+
el.removeEventListener(type, handler, options);
|
|
10
10
|
}
|
|
11
11
|
export default off;
|
package/on.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Shortcut for `addEventListener`
|
|
4
|
-
*
|
|
5
|
-
* @returns An automatic unbinding function to run to deregister the listener upon call
|
|
6
|
-
*/
|
|
1
|
+
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types.js";
|
|
7
2
|
export declare function on<TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean): () => void;
|
|
8
3
|
export default on;
|
package/on.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import off from "./off.js";
|
|
2
|
+
export function on(el, type, handler, options) {
|
|
3
|
+
if (options === void 0) { options = false; }
|
|
4
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
5
|
+
if (!el) {
|
|
6
|
+
console.warn("[@koine/dom:on] unexisting DOM element");
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
if (el) {
|
|
10
|
+
el.addEventListener(type, handler, options);
|
|
11
|
+
return function () { return off(el, type, handler); };
|
|
12
|
+
}
|
|
13
|
+
return function () { return void 0; };
|
|
14
|
+
}
|
|
15
|
+
export default on;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { off, on } from "./index.js";
|
|
2
|
+
export function onClickOutside(element, callback, autoUnbind) {
|
|
3
|
+
if (autoUnbind === void 0) { autoUnbind = false; }
|
|
4
|
+
var bind = function (event) {
|
|
5
|
+
if (!element.contains(event.target)) {
|
|
6
|
+
callback(event);
|
|
7
|
+
if (autoUnbind)
|
|
8
|
+
unbind();
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var unbind = function () {
|
|
12
|
+
off(document, "click", bind);
|
|
13
|
+
};
|
|
14
|
+
on(document, "click", bind);
|
|
15
|
+
return unbind;
|
|
16
|
+
}
|
package/once.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { AnyDOMEventTargetLoose } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* One shot listener, it `addEventListener` and removes it first time is called
|
|
4
|
-
* with `removeEventListener`
|
|
5
|
-
*/
|
|
1
|
+
import { AnyDOMEventTargetLoose } from "./types.js";
|
|
6
2
|
export declare function once(el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean): () => void;
|
|
7
3
|
export default once;
|
package/once.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import off from "./off.js";
|
|
2
|
+
import on from "./on.js";
|
|
3
|
+
export function once(el, type, handler, options) {
|
|
4
|
+
if (options === void 0) { options = false; }
|
|
5
|
+
var handlerWrapper = function (event) {
|
|
6
|
+
handler(event);
|
|
7
|
+
off(el, type, handlerWrapper);
|
|
8
|
+
};
|
|
9
|
+
return on(el, type, handlerWrapper, options);
|
|
10
|
+
}
|
|
11
|
+
export default once;
|
package/package.json
CHANGED
|
@@ -2,13 +2,154 @@
|
|
|
2
2
|
"name": "@koine/dom",
|
|
3
3
|
"sideEffects": false,
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@koine/utils": "2.0.0-beta.
|
|
5
|
+
"@koine/utils": "2.0.0-beta.16"
|
|
6
6
|
},
|
|
7
|
-
"module": "./index.mjs",
|
|
8
|
-
"main": "./index.js",
|
|
9
7
|
"types": "./index.d.ts",
|
|
10
|
-
"
|
|
11
|
-
|
|
8
|
+
"type": "module",
|
|
9
|
+
"module": "./index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./index.js"
|
|
13
|
+
},
|
|
14
|
+
"./$": {
|
|
15
|
+
"import": "./$.js"
|
|
16
|
+
},
|
|
17
|
+
"./$all": {
|
|
18
|
+
"import": "./$all.js"
|
|
19
|
+
},
|
|
20
|
+
"./$each": {
|
|
21
|
+
"import": "./$each.js"
|
|
22
|
+
},
|
|
23
|
+
"./addClass": {
|
|
24
|
+
"import": "./addClass.js"
|
|
25
|
+
},
|
|
26
|
+
"./calculateFixedOffset": {
|
|
27
|
+
"import": "./calculateFixedOffset.js"
|
|
28
|
+
},
|
|
29
|
+
"./createElement": {
|
|
30
|
+
"import": "./createElement.js"
|
|
31
|
+
},
|
|
32
|
+
"./emitEvent": {
|
|
33
|
+
"import": "./emitEvent.js"
|
|
34
|
+
},
|
|
35
|
+
"./escapeSelector": {
|
|
36
|
+
"import": "./escapeSelector.js"
|
|
37
|
+
},
|
|
38
|
+
"./exists": {
|
|
39
|
+
"import": "./exists.js"
|
|
40
|
+
},
|
|
41
|
+
"./forEach": {
|
|
42
|
+
"import": "./forEach.js"
|
|
43
|
+
},
|
|
44
|
+
"./getDataAttr": {
|
|
45
|
+
"import": "./getDataAttr.js"
|
|
46
|
+
},
|
|
47
|
+
"./getDocumentHeight": {
|
|
48
|
+
"import": "./getDocumentHeight.js"
|
|
49
|
+
},
|
|
50
|
+
"./getHeight": {
|
|
51
|
+
"import": "./getHeight.js"
|
|
52
|
+
},
|
|
53
|
+
"./getListeners": {
|
|
54
|
+
"import": "./getListeners.js"
|
|
55
|
+
},
|
|
56
|
+
"./getOffset": {
|
|
57
|
+
"import": "./getOffset.js"
|
|
58
|
+
},
|
|
59
|
+
"./getOffsetTop": {
|
|
60
|
+
"import": "./getOffsetTop.js"
|
|
61
|
+
},
|
|
62
|
+
"./getOffsetTopSlim": {
|
|
63
|
+
"import": "./getOffsetTopSlim.js"
|
|
64
|
+
},
|
|
65
|
+
"./getScrollbarWidth": {
|
|
66
|
+
"import": "./getScrollbarWidth.js"
|
|
67
|
+
},
|
|
68
|
+
"./getStyleValue": {
|
|
69
|
+
"import": "./getStyleValue.js"
|
|
70
|
+
},
|
|
71
|
+
"./getVisualBackgroundColor": {
|
|
72
|
+
"import": "./getVisualBackgroundColor.js"
|
|
73
|
+
},
|
|
74
|
+
"./injectCss": {
|
|
75
|
+
"import": "./injectCss.js"
|
|
76
|
+
},
|
|
77
|
+
"./isHidden": {
|
|
78
|
+
"import": "./isHidden.js"
|
|
79
|
+
},
|
|
80
|
+
"./isInViewport": {
|
|
81
|
+
"import": "./isInViewport.js"
|
|
82
|
+
},
|
|
83
|
+
"./isNodeList": {
|
|
84
|
+
"import": "./isNodeList.js"
|
|
85
|
+
},
|
|
86
|
+
"./isTotallyScrolled": {
|
|
87
|
+
"import": "./isTotallyScrolled.js"
|
|
88
|
+
},
|
|
89
|
+
"./listen": {
|
|
90
|
+
"import": "./listen.js"
|
|
91
|
+
},
|
|
92
|
+
"./listenLoaded": {
|
|
93
|
+
"import": "./listenLoaded.js"
|
|
94
|
+
},
|
|
95
|
+
"./listenOnce": {
|
|
96
|
+
"import": "./listenOnce.js"
|
|
97
|
+
},
|
|
98
|
+
"./listenResize": {
|
|
99
|
+
"import": "./listenResize.js"
|
|
100
|
+
},
|
|
101
|
+
"./listenResizeDebounced": {
|
|
102
|
+
"import": "./listenResizeDebounced.js"
|
|
103
|
+
},
|
|
104
|
+
"./listenResizeThrottled": {
|
|
105
|
+
"import": "./listenResizeThrottled.js"
|
|
106
|
+
},
|
|
107
|
+
"./listenScroll": {
|
|
108
|
+
"import": "./listenScroll.js"
|
|
109
|
+
},
|
|
110
|
+
"./listenScrollDebounced": {
|
|
111
|
+
"import": "./listenScrollDebounced.js"
|
|
112
|
+
},
|
|
113
|
+
"./listenScrollThrottled": {
|
|
114
|
+
"import": "./listenScrollThrottled.js"
|
|
115
|
+
},
|
|
116
|
+
"./off": {
|
|
117
|
+
"import": "./off.js"
|
|
118
|
+
},
|
|
119
|
+
"./on": {
|
|
120
|
+
"import": "./on.js"
|
|
121
|
+
},
|
|
122
|
+
"./onClickOutside": {
|
|
123
|
+
"import": "./onClickOutside.js"
|
|
124
|
+
},
|
|
125
|
+
"./once": {
|
|
126
|
+
"import": "./once.js"
|
|
127
|
+
},
|
|
128
|
+
"./removeClass": {
|
|
129
|
+
"import": "./removeClass.js"
|
|
130
|
+
},
|
|
131
|
+
"./scrollTo": {
|
|
132
|
+
"import": "./scrollTo.js"
|
|
133
|
+
},
|
|
134
|
+
"./setDataAttr": {
|
|
135
|
+
"import": "./setDataAttr.js"
|
|
136
|
+
},
|
|
137
|
+
"./setVendorCSS": {
|
|
138
|
+
"import": "./setVendorCSS.js"
|
|
139
|
+
},
|
|
140
|
+
"./siblings": {
|
|
141
|
+
"import": "./siblings.js"
|
|
142
|
+
},
|
|
143
|
+
"./toArray": {
|
|
144
|
+
"import": "./toArray.js"
|
|
145
|
+
},
|
|
146
|
+
"./types": {
|
|
147
|
+
"import": "./types.js"
|
|
148
|
+
},
|
|
149
|
+
"./unlisten": {
|
|
150
|
+
"import": "./unlisten.js"
|
|
151
|
+
}
|
|
12
152
|
},
|
|
13
|
-
"
|
|
14
|
-
|
|
153
|
+
"peerDependencies": {},
|
|
154
|
+
"version": "2.0.0-beta.16"
|
|
155
|
+
}
|
package/removeClass.d.ts
CHANGED
package/removeClass.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function removeClass(el, className) {
|
|
2
|
+
if (className === void 0) { className = ""; }
|
|
3
|
+
if (process.env["NODE_ENV"] !== "production") {
|
|
4
|
+
if (!el) {
|
|
5
|
+
("[@koine/dom:removeClass] unexisting DOM element");
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
if (el)
|
|
10
|
+
el.classList.remove(className);
|
|
11
|
+
}
|
|
12
|
+
export default removeClass;
|
package/scrollTo.d.ts
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Native `scrollTo`, `"smooth"` and with callback
|
|
3
|
-
*
|
|
4
|
-
* @borrows https://stackoverflow.com/a/55686711/1938970
|
|
5
|
-
*
|
|
6
|
-
* @param offset - offset to scroll to
|
|
7
|
-
* @param callback - callback function
|
|
8
|
-
* @param [fallbackTimeout] - this appears to be needed in some hard to reproduce scenario on safari, where the callback seem to be never called
|
|
9
|
-
* @param [behavior="smooth"]
|
|
10
|
-
*/
|
|
11
1
|
export declare function scrollTo(destination: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior): void;
|
|
12
2
|
export default scrollTo;
|
package/scrollTo.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { off } from "./off.js";
|
|
2
|
+
import { on } from "./on.js";
|
|
3
|
+
export function scrollTo(destination, callback, fallbackTimeout, behavior) {
|
|
4
|
+
var fixedDestination = destination.toFixed();
|
|
5
|
+
if (callback) {
|
|
6
|
+
var callbackFired_1 = false;
|
|
7
|
+
var onScroll_1 = function () {
|
|
8
|
+
if (window.pageYOffset.toFixed() === fixedDestination) {
|
|
9
|
+
off(window, "scroll", onScroll_1);
|
|
10
|
+
callbackFired_1 = true;
|
|
11
|
+
callback();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
on(window, "scroll", onScroll_1);
|
|
15
|
+
onScroll_1();
|
|
16
|
+
if (fallbackTimeout) {
|
|
17
|
+
setTimeout(function () {
|
|
18
|
+
if (!callbackFired_1) {
|
|
19
|
+
off(window, "scroll", onScroll_1);
|
|
20
|
+
callback();
|
|
21
|
+
}
|
|
22
|
+
}, fallbackTimeout);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
window.scrollTo({
|
|
26
|
+
top: destination,
|
|
27
|
+
behavior: behavior || "smooth",
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export default scrollTo;
|
package/setDataAttr.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Set data attribute
|
|
3
|
-
*
|
|
4
|
-
* @param element
|
|
5
|
-
* @param attribute The name of the `data-{attr}`
|
|
6
|
-
* @param value The value to set, `null` or `undefined` will remove the attribute
|
|
7
|
-
*/
|
|
8
1
|
export declare function setDataAttr(element: Element, attribute: string, value?: string | number | null | boolean): void;
|
|
9
2
|
export default setDataAttr;
|
package/setDataAttr.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function setDataAttr(element, attribute, value) {
|
|
2
|
+
if (value === null || typeof value === "undefined") {
|
|
3
|
+
element.removeAttribute("data-" + attribute);
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
element.setAttribute("data-" + attribute, value.toString());
|
|
7
|
+
}
|
|
8
|
+
export default setDataAttr;
|
package/setVendorCSS.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Set vendor CSS rule
|
|
3
|
-
*
|
|
4
|
-
* @param element A single HTMLElement
|
|
5
|
-
* @param prop CSS rule proerty
|
|
6
|
-
* @param value The CSS value to set, it will be automatically vendor prefixed
|
|
7
|
-
*/
|
|
8
1
|
export declare function setVendorCSS(element: HTMLElement, prop: string, value: string | number | boolean): void;
|
|
9
2
|
export default setVendorCSS;
|
package/setVendorCSS.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function setVendorCSS(element, prop, value) {
|
|
2
|
+
var propUpper = prop.charAt(0).toUpperCase() + prop.slice(1);
|
|
3
|
+
element.style["webkit" + propUpper] = value;
|
|
4
|
+
element.style["moz" + propUpper] = value;
|
|
5
|
+
element.style["ms" + propUpper] = value;
|
|
6
|
+
element.style["o" + propUpper] = value;
|
|
7
|
+
element.style[prop] = value;
|
|
8
|
+
}
|
|
9
|
+
export default setVendorCSS;
|