@koine/dom 2.0.0-beta.131 → 2.0.0-beta.133
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/addClass.d.ts +3 -0
- package/createElement.d.ts +4 -0
- package/dom.d.ts +11 -0
- package/domAll.d.ts +8 -0
- package/domEach.d.ts +9 -0
- package/emitEvent.d.ts +3 -0
- package/escapeSelector.d.ts +6 -0
- package/exists.d.ts +5 -0
- package/forEach.d.ts +5 -0
- package/getDataAttr.d.ts +6 -0
- package/getDocumentHeight.d.ts +5 -0
- package/getHeight.d.ts +3 -0
- package/getListeners.d.ts +7 -0
- package/getOffset.d.ts +6 -0
- package/getOffsetTop.d.ts +8 -0
- package/getOffsetTopSlim.d.ts +9 -0
- package/getScrollbarWidth.d.ts +3 -0
- package/getStyleValue.d.ts +6 -0
- package/getVisualBackgroundColor.d.ts +4 -0
- package/injectCss.d.ts +5 -0
- package/isHidden.d.ts +3 -0
- package/isInViewport.d.ts +8 -0
- package/isNodeList.d.ts +5 -0
- package/isTotallyScrolled.d.ts +6 -0
- package/listen.d.ts +9 -0
- package/listenLoaded.d.ts +5 -0
- package/listenOnce.d.ts +9 -0
- package/listenResize.d.ts +5 -0
- package/listenResizeDebounced.d.ts +5 -0
- package/listenResizeThrottled.d.ts +5 -0
- package/listenScroll.d.ts +5 -0
- package/listenScrollDebounced.d.ts +5 -0
- package/listenScrollThrottled.d.ts +5 -0
- package/off.d.ts +3 -0
- package/on.d.ts +5 -0
- package/once.d.ts +4 -0
- package/package.json +2 -2
- package/removeClass.d.ts +3 -0
- package/scrollTo.d.ts +10 -0
- package/setDataAttr.d.ts +7 -0
- package/setVendorCSS.d.ts +7 -0
- package/siblings.d.ts +5 -0
- package/toArray.d.ts +5 -0
- package/types.d.ts +4 -0
- package/unlisten.d.ts +9 -0
package/addClass.d.ts
CHANGED
package/createElement.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
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
|
+
*/
|
|
1
5
|
export declare let createElement: <TType extends keyof HTMLElementTagNameMap | string, TElement extends HTMLElement = TType extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[TType] : HTMLElement>(type: TType, className?: string) => TElement;
|
|
2
6
|
export default createElement;
|
package/dom.d.ts
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
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 = dom(".my-section:");
|
|
10
|
+
* const $el = dom("[data-some-attr]", $container);
|
|
11
|
+
*/
|
|
1
12
|
export declare let dom: <T extends Element = HTMLElement>(selector: string, parent?: HTMLElement | Document | null, avoidEscape?: boolean) => T;
|
|
2
13
|
export default dom;
|
package/domAll.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sizzle/jQuery like DOM nodes shortcut for `document.querySelectorAll`
|
|
3
|
+
* To avoid an extra function call we inline the above `escape`
|
|
4
|
+
*
|
|
5
|
+
* @param string selector DOM selector
|
|
6
|
+
* @param parent It falls back to `window.document`
|
|
7
|
+
* @param avoidEscape Whether to avoid escaping `:` in the selector string
|
|
8
|
+
*/
|
|
1
9
|
export declare let domAll: <T extends Element = HTMLElement>(selector: string, parent?: Element | HTMLElement | Document | null, avoidEscape?: boolean) => NodeListOf<T>;
|
|
2
10
|
export default domAll;
|
package/domEach.d.ts
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
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
|
+
*/
|
|
1
10
|
export declare let domEach: <T extends Element = HTMLElement>(selector: string, callback: ($element: T, index: number) => any, parent?: HTMLElement, scope?: object) => void;
|
|
2
11
|
export default domEach;
|
package/emitEvent.d.ts
CHANGED
package/escapeSelector.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
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
|
+
*/
|
|
1
7
|
export declare let escapeSelector: (selector: string) => string;
|
|
2
8
|
export default escapeSelector;
|
package/exists.d.ts
CHANGED
package/forEach.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* For each, iterate through a `NodeList` or an `array` of `HTMLElement`s
|
|
3
|
+
*
|
|
4
|
+
* @param scope The optional `this` of the callback function
|
|
5
|
+
*/
|
|
1
6
|
export declare let forEach: <T extends HTMLElement, TScope = object>(nodes: NodeListOf<T> | T[], callback: (this: TScope, $element: T, index: number) => any, scope?: TScope) => void;
|
|
2
7
|
export default forEach;
|
package/getDataAttr.d.ts
CHANGED
package/getDocumentHeight.d.ts
CHANGED
package/getHeight.d.ts
CHANGED
package/getListeners.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get an immutable copy of all active event listeners
|
|
3
|
+
*
|
|
4
|
+
* @category listen-delegation
|
|
5
|
+
*
|
|
6
|
+
* @return Active event listeners
|
|
7
|
+
*/
|
|
1
8
|
export declare let getListeners: () => Partial<Record<import("./types").AnyDOMEventType, import("./_listen-delegation").ListenEvent[]>>;
|
|
2
9
|
export default getListeners;
|
package/getOffset.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
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
|
+
*/
|
|
1
7
|
export declare let getOffset: <T extends HTMLElement>(elem: T) => {
|
|
2
8
|
top: number;
|
|
3
9
|
left: number;
|
package/getOffsetTop.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
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
|
+
*/
|
|
1
9
|
export declare let getOffsetTop: <T extends HTMLElement>(elem: T) => number;
|
|
2
10
|
export default getOffsetTop;
|
package/getOffsetTopSlim.d.ts
CHANGED
|
@@ -1,2 +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
|
+
*/
|
|
1
10
|
export declare let getOffsetTopSlim: <T extends HTMLElement>(elem: T) => number;
|
|
2
11
|
export default getOffsetTopSlim;
|
package/getScrollbarWidth.d.ts
CHANGED
package/getStyleValue.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return the current style value for an element CSS property
|
|
3
|
+
*
|
|
4
|
+
* @param el The element to compute
|
|
5
|
+
* @param prop The style property
|
|
6
|
+
*/
|
|
1
7
|
export declare let getStyleValue: <T extends HTMLElement>(el: T, prop: string) => string;
|
|
2
8
|
export default getStyleValue;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the background color of an element eventually looking recursively into
|
|
3
|
+
* its parents, if nothing is found it returns a `#fff` background
|
|
4
|
+
*/
|
|
1
5
|
export declare let getVisualBackgroundColor: (elem?: null | HTMLElement) => string;
|
|
2
6
|
export default getVisualBackgroundColor;
|
package/injectCss.d.ts
CHANGED
package/isHidden.d.ts
CHANGED
package/isInViewport.d.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determine if an element is in the viewport
|
|
3
|
+
*
|
|
4
|
+
* @borrows [Chris Ferdinandi](https://gomakethings.com)
|
|
5
|
+
*
|
|
6
|
+
* @param elem The element
|
|
7
|
+
* @return Returns true if element is in the viewport
|
|
8
|
+
*/
|
|
1
9
|
export declare let isInViewport: <T extends Element>(elem: T) => boolean;
|
|
2
10
|
export default isInViewport;
|
package/isNodeList.d.ts
CHANGED
package/isTotallyScrolled.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
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
|
+
*/
|
|
1
7
|
export declare let isTotallyScrolled: <T extends HTMLElement>(el?: T | null) => boolean;
|
|
2
8
|
export default isTotallyScrolled;
|
package/listen.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { type EventCallback } from "./_listen-delegation";
|
|
2
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
|
+
*/
|
|
3
12
|
export declare let listen: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
|
|
4
13
|
export default listen;
|
package/listenLoaded.d.ts
CHANGED
package/listenOnce.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
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
|
+
*/
|
|
2
11
|
export declare let listenOnce: (types: string, selector: string, callback: EventCallback) => void;
|
|
3
12
|
export default listenOnce;
|
package/listenResize.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenResize: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
3
8
|
export default listenResize;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenResizeDebounced: (el?: Parameters<typeof listenResize>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
3
8
|
export default listenResizeDebounced;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenResizeThrottled: (el?: Parameters<typeof listenResize>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
3
8
|
export default listenResizeThrottled;
|
package/listenScroll.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenScroll: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
|
|
3
8
|
export default listenScroll;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
3
8
|
export default listenScrollDebounced;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let listenScrollThrottled: (el?: Parameters<typeof listenScroll>[1], fn: Function, limit: number, context?: unknown) => () => void;
|
|
3
8
|
export default listenScrollThrottled;
|
package/off.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Shortcut for `removeEventListener`
|
|
4
|
+
*/
|
|
2
5
|
export declare let off: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean) => void;
|
|
3
6
|
export default off;
|
package/on.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
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
|
+
*/
|
|
2
7
|
export declare let on: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean) => () => void;
|
|
3
8
|
export default on;
|
package/once.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import type { AnyDOMEventTargetLoose } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* One shot listener, it `addEventListener` and removes it first time is called
|
|
4
|
+
* with `removeEventListener`
|
|
5
|
+
*/
|
|
2
6
|
export declare let once: (el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean) => () => void;
|
|
3
7
|
export default once;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
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.133"
|
|
6
6
|
},
|
|
7
7
|
"exports": {
|
|
8
8
|
"./package.json": "./package.json",
|
|
@@ -292,5 +292,5 @@
|
|
|
292
292
|
"module": "./index.esm.js",
|
|
293
293
|
"main": "./index.cjs.js",
|
|
294
294
|
"types": "./index.esm.d.ts",
|
|
295
|
-
"version": "2.0.0-beta.
|
|
295
|
+
"version": "2.0.0-beta.133"
|
|
296
296
|
}
|
package/removeClass.d.ts
CHANGED
package/scrollTo.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
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
|
+
*/
|
|
1
11
|
export declare let scrollTo: (destination: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
|
|
2
12
|
export default scrollTo;
|
package/setDataAttr.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
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
|
+
*/
|
|
1
8
|
export declare let setDataAttr: <T extends Element>(element: T, attribute: string, value?: string | number | null | boolean) => void;
|
|
2
9
|
export default setDataAttr;
|
package/setVendorCSS.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
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
|
+
*/
|
|
1
8
|
export declare let setVendorCSS: <T extends HTMLElement>(element: T, prop: string, value: string | number | boolean) => void;
|
|
2
9
|
export default setVendorCSS;
|
package/siblings.d.ts
CHANGED
package/toArray.d.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { AnythingFalsy, LiteralUnion } from "@koine/utils";
|
|
2
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
|
+
*/
|
|
3
7
|
export type AnyDOMEventTargetLoose = AnyDOMEventTarget | AnythingFalsy;
|
|
4
8
|
type StandardDOMEventTypes = keyof GlobalEventHandlersEventMap;
|
|
5
9
|
export type AnyDOMEventType = LiteralUnion<StandardDOMEventTypes | "storage" | "popstate", string>;
|
package/unlisten.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { type EventCallback } from "./_listen-delegation";
|
|
2
2
|
import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Stop listening for an event
|
|
5
|
+
*
|
|
6
|
+
* @category listen-delegation
|
|
7
|
+
*
|
|
8
|
+
* @param types The event type or types (comma separated)
|
|
9
|
+
* @param selector The selector to remove the event from
|
|
10
|
+
* @param callback The function to remove
|
|
11
|
+
*/
|
|
3
12
|
export declare let unlisten: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
|
|
4
13
|
export default unlisten;
|