@koine/dom 2.0.0-beta.74 → 2.0.0-beta.76
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/$.js +1 -2
- package/$all.js +1 -2
- package/$each.js +1 -8
- package/_listen-delegation.js +1 -45
- package/addClass.js +1 -11
- package/calculateFixedOffset.js +1 -9
- package/cjs/$.d.ts +2 -0
- package/cjs/$all.d.ts +2 -0
- package/cjs/$each.d.ts +2 -0
- package/cjs/_listen-delegation.d.ts +1 -0
- package/cjs/addClass.d.ts +2 -0
- package/cjs/calculateFixedOffset.d.ts +2 -0
- package/cjs/createElement.d.ts +3 -0
- package/cjs/dom/$.js +1 -0
- package/cjs/dom/$all.js +1 -0
- package/cjs/dom/$each.js +1 -0
- package/cjs/dom/_listen-delegation.js +1 -0
- package/cjs/dom/addClass.js +1 -0
- package/cjs/dom/calculateFixedOffset.js +1 -0
- package/cjs/dom/createElement.js +1 -0
- package/cjs/dom/emitEvent.js +1 -0
- package/cjs/dom/escapeSelector.js +1 -0
- package/cjs/dom/exists.js +1 -0
- package/cjs/dom/forEach.js +1 -0
- package/cjs/dom/getDataAttr.js +1 -0
- package/cjs/dom/getDocumentHeight.js +1 -0
- package/cjs/dom/getHeight.js +1 -0
- package/cjs/dom/getListeners.js +1 -0
- package/cjs/dom/getOffset.js +1 -0
- package/cjs/dom/getOffsetTop.js +1 -0
- package/cjs/dom/getOffsetTopSlim.js +1 -0
- package/cjs/dom/getScrollbarWidth.js +1 -0
- package/cjs/dom/getStyleValue.js +1 -0
- package/cjs/dom/getVisualBackgroundColor.js +1 -0
- package/cjs/dom/index.js +1 -0
- package/cjs/dom/injectCss.js +1 -0
- package/cjs/dom/isHidden.js +1 -0
- package/cjs/dom/isInViewport.js +1 -0
- package/cjs/dom/isNodeList.js +1 -0
- package/cjs/dom/isTotallyScrolled.js +1 -0
- package/cjs/dom/listen.js +1 -0
- package/cjs/dom/listenLoaded.js +1 -0
- package/cjs/dom/listenOnce.js +1 -0
- package/cjs/dom/listenResize.js +1 -0
- package/cjs/dom/listenResizeDebounced.js +1 -0
- package/cjs/dom/listenResizeThrottled.js +1 -0
- package/cjs/dom/listenScroll.js +1 -0
- package/cjs/dom/listenScrollDebounced.js +1 -0
- package/cjs/dom/listenScrollThrottled.js +1 -0
- package/cjs/dom/off.js +1 -0
- package/cjs/dom/on.js +1 -0
- package/cjs/dom/onClickOutside.js +1 -0
- package/cjs/dom/once.js +1 -0
- package/cjs/dom/removeClass.js +1 -0
- package/cjs/dom/scrollTo.js +1 -0
- package/cjs/dom/setDataAttr.js +1 -0
- package/cjs/dom/setVendorCSS.js +1 -0
- package/cjs/dom/siblings.js +1 -0
- package/cjs/dom/toArray.js +1 -0
- package/cjs/dom/types.js +1 -0
- package/cjs/dom/unlisten.js +1 -0
- package/cjs/emitEvent.d.ts +2 -0
- package/cjs/escapeSelector.d.ts +2 -0
- package/cjs/exists.d.ts +2 -0
- package/cjs/forEach.d.ts +2 -0
- package/cjs/getDataAttr.d.ts +2 -0
- package/cjs/getDocumentHeight.d.ts +2 -0
- package/cjs/getHeight.d.ts +2 -0
- package/cjs/getListeners.d.ts +2 -0
- package/cjs/getOffset.d.ts +5 -0
- package/cjs/getOffsetTop.d.ts +2 -0
- package/cjs/getOffsetTopSlim.d.ts +2 -0
- package/cjs/getScrollbarWidth.d.ts +2 -0
- package/cjs/getStyleValue.d.ts +2 -0
- package/cjs/getVisualBackgroundColor.d.ts +2 -0
- package/cjs/index.d.ts +46 -0
- package/cjs/injectCss.d.ts +2 -0
- package/cjs/isHidden.d.ts +2 -0
- package/cjs/isInViewport.d.ts +2 -0
- package/cjs/isNodeList.d.ts +2 -0
- package/cjs/isTotallyScrolled.d.ts +2 -0
- package/cjs/listen.d.ts +4 -0
- package/cjs/listenLoaded.d.ts +2 -0
- package/cjs/listenOnce.d.ts +3 -0
- package/cjs/listenResize.d.ts +3 -0
- package/cjs/listenResizeDebounced.d.ts +3 -0
- package/cjs/listenResizeThrottled.d.ts +3 -0
- package/cjs/listenScroll.d.ts +3 -0
- package/cjs/listenScrollDebounced.d.ts +3 -0
- package/cjs/listenScrollThrottled.d.ts +3 -0
- package/cjs/off.d.ts +3 -0
- package/cjs/on.d.ts +3 -0
- package/cjs/onClickOutside.d.ts +2 -0
- package/cjs/once.d.ts +3 -0
- package/cjs/package.json +10 -0
- package/cjs/removeClass.d.ts +2 -0
- package/cjs/scrollTo.d.ts +2 -0
- package/cjs/setDataAttr.d.ts +2 -0
- package/cjs/setVendorCSS.d.ts +2 -0
- package/cjs/siblings.d.ts +2 -0
- package/cjs/toArray.d.ts +2 -0
- package/cjs/types.d.ts +7 -0
- package/cjs/unlisten.d.ts +4 -0
- package/createElement.js +1 -9
- package/emitEvent.js +1 -9
- package/escapeSelector.js +1 -2
- package/exists.js +1 -2
- package/forEach.js +1 -6
- package/getDataAttr.js +1 -2
- package/getDocumentHeight.js +1 -5
- package/getHeight.js +1 -2
- package/getListeners.js +1 -9
- package/getOffset.js +1 -11
- package/getOffsetTop.js +1 -11
- package/getOffsetTopSlim.js +1 -2
- package/getScrollbarWidth.js +1 -2
- package/getStyleValue.js +1 -2
- package/getVisualBackgroundColor.js +1 -16
- package/index.js +1 -45
- package/injectCss.js +1 -11
- package/isHidden.js +1 -2
- package/isInViewport.js +1 -10
- package/isNodeList.js +1 -9
- package/isTotallyScrolled.js +1 -2
- package/listen.js +1 -18
- package/listenLoaded.js +1 -3
- package/listenOnce.js +1 -9
- package/listenResize.js +1 -3
- package/listenResizeDebounced.js +1 -4
- package/listenResizeThrottled.js +1 -4
- package/listenScroll.js +1 -6
- package/listenScrollDebounced.js +1 -4
- package/listenScrollThrottled.js +1 -4
- package/off.js +1 -10
- package/on.js +1 -15
- package/onClickOutside.js +1 -17
- package/once.js +1 -10
- package/package.json +191 -8
- package/removeClass.js +1 -11
- package/scrollTo.js +1 -30
- package/setDataAttr.js +1 -8
- package/setVendorCSS.js +1 -9
- package/siblings.js +1 -14
- package/toArray.js +1 -2
- package/types.js +1 -1
- package/unlisten.js +1 -20
- package/README.md +0 -1
- package/index.cjs.d.ts +0 -1
- package/index.cjs.default.js +0 -1
- package/index.cjs.js +0 -143
- package/index.cjs.mjs +0 -2
- package/index.esm.js +0 -95
package/$.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export let
|
|
2
|
-
export default $;
|
|
1
|
+
export let $=(e,t,r)=>(t||document).querySelector(r?e:e.replace(/:/g,"\\:"));export default $;
|
package/$all.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export let $all
|
|
2
|
-
export default $all;
|
|
1
|
+
export let $all=(e,l,t)=>(l||document).querySelectorAll(t?e:e.replace(/:/g,"\\:"));export default $all;
|
package/$each.js
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export let $each = (selector, callback, parent, scope) => {
|
|
3
|
-
const nodes = $all(selector, parent);
|
|
4
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
5
|
-
callback.call(scope, nodes[i], i);
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
export default $each;
|
|
1
|
+
import{$all as e}from"./$all";export let $each=(l,t,a,o)=>{let r=e(l,a);for(let e=0;e<r.length;e++)t.call(o,r[e],e)};export default $each;
|
package/_listen-delegation.js
CHANGED
|
@@ -1,45 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { escapeSelector } from "./escapeSelector";
|
|
3
|
-
export let activeEvents = {};
|
|
4
|
-
export let getIndex = (arr, selector, callback) => {
|
|
5
|
-
for (let i = 0; i < arr.length; i++) {
|
|
6
|
-
if (arr[i].selector === selector &&
|
|
7
|
-
arr[i].callback.toString() === callback.toString())
|
|
8
|
-
return i;
|
|
9
|
-
}
|
|
10
|
-
return -1;
|
|
11
|
-
};
|
|
12
|
-
export let getRunTarget = (target, selector) => {
|
|
13
|
-
if (["*", "window", window].includes(selector)) {
|
|
14
|
-
return window;
|
|
15
|
-
}
|
|
16
|
-
if ([
|
|
17
|
-
"document",
|
|
18
|
-
"document.documentElement",
|
|
19
|
-
document,
|
|
20
|
-
document.documentElement,
|
|
21
|
-
].includes(selector))
|
|
22
|
-
return document;
|
|
23
|
-
if (isString(selector)) {
|
|
24
|
-
return target.closest(escapeSelector(selector));
|
|
25
|
-
}
|
|
26
|
-
if (typeof selector !== "string" && selector.contains) {
|
|
27
|
-
if (selector === target) {
|
|
28
|
-
return target;
|
|
29
|
-
}
|
|
30
|
-
if (selector.contains(target)) {
|
|
31
|
-
return selector;
|
|
32
|
-
}
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
return false;
|
|
36
|
-
};
|
|
37
|
-
export let eventHandler = (event) => {
|
|
38
|
-
activeEvents[event.type]?.forEach(function (listener) {
|
|
39
|
-
const target = getRunTarget(event.target, listener.selector);
|
|
40
|
-
if (!target) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
listener.callback(event, target);
|
|
44
|
-
});
|
|
45
|
-
};
|
|
1
|
+
import{isString as e}from"@koine/utils";import{escapeSelector as t}from"./escapeSelector";export let activeEvents={};export let getIndex=(e,t,n)=>{for(let r=0;r<e.length;r++)if(e[r].selector===t&&e[r].callback.toString()===n.toString())return r;return -1};export let getRunTarget=(n,r)=>{if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].includes(r))return document;if(e(r))return n.closest(t(r));if("string"!=typeof r&&r.contains){if(r===n)return n;if(r.contains(n))return r}return!1};export let eventHandler=e=>{activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n)})};
|
package/addClass.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
export let addClass
|
|
2
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
3
|
-
if (!el) {
|
|
4
|
-
console.warn("[@koine/dom:addClass] unexisting DOM element");
|
|
5
|
-
return;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
if (el)
|
|
9
|
-
el.classList.add(className);
|
|
10
|
-
};
|
|
11
|
-
export default addClass;
|
|
1
|
+
export let addClass=(e,s="")=>{if("development"===process.env.NODE_ENV&&!e){console.warn("[@koine/dom:addClass] unexisting DOM element");return}e&&e.classList.add(s)};export default addClass;
|
package/calculateFixedOffset.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export let calculateFixedOffset = (selector = "[data-fixed]") => {
|
|
3
|
-
let fixedOffset = 0;
|
|
4
|
-
$each(selector, ($el) => {
|
|
5
|
-
fixedOffset += $el.offsetHeight;
|
|
6
|
-
});
|
|
7
|
-
return fixedOffset;
|
|
8
|
-
};
|
|
9
|
-
export default calculateFixedOffset;
|
|
1
|
+
import{$each as e}from"./$each";export let calculateFixedOffset=(t="[data-fixed]")=>{let f=0;return e(t,e=>{f+=e.offsetHeight}),f};export default calculateFixedOffset;
|
package/cjs/$.d.ts
ADDED
package/cjs/$all.d.ts
ADDED
package/cjs/$each.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LiteralUnion } from "@koine/utils";
|
|
2
|
+
export declare let createElement: <TType extends LiteralUnion<keyof HTMLElementTagNameMap, string>, TElement extends HTMLElement = TType extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[TType] : HTMLElement>(type: TType, className?: string) => TElement;
|
|
3
|
+
export default createElement;
|
package/cjs/dom/$.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let $=(e,t,r)=>(t||document).querySelector(r?e:e.replace(/:/g,"\\:"));export default $;
|
package/cjs/dom/$all.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let $all=(e,l,t)=>(l||document).querySelectorAll(t?e:e.replace(/:/g,"\\:"));export default $all;
|
package/cjs/dom/$each.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$all as e}from"./$all";export let $each=(l,t,a,o)=>{let r=e(l,a);for(let e=0;e<r.length;e++)t.call(o,r[e],e)};export default $each;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isString as e}from"@koine/utils";import{escapeSelector as t}from"./escapeSelector";export let activeEvents={};export let getIndex=(e,t,n)=>{for(let r=0;r<e.length;r++)if(e[r].selector===t&&e[r].callback.toString()===n.toString())return r;return -1};export let getRunTarget=(n,r)=>{if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].includes(r))return document;if(e(r))return n.closest(t(r));if("string"!=typeof r&&r.contains){if(r===n)return n;if(r.contains(n))return r}return!1};export let eventHandler=e=>{activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n)})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let addClass=(e,s="")=>{if("development"===process.env.NODE_ENV&&!e){console.warn("[@koine/dom:addClass] unexisting DOM element");return}e&&e.classList.add(s)};export default addClass;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$each as e}from"./$each";export let calculateFixedOffset=(t="[data-fixed]")=>{let f=0;return e(t,e=>{f+=e.offsetHeight}),f};export default calculateFixedOffset;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{addClass as e}from"./addClass";export let createElement=(t,r)=>{let l=document.createElement(t);return r&&e(l,r),l};export default createElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))};export default emitEvent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let escapeSelector=e=>e.replace(/:/g,"\\:");export default escapeSelector;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let exists=e=>e&&e instanceof window.HTMLElement;export default exists;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let forEach=(e,l,t)=>{for(let o=0;o<e.length;o++)l.call(t,e[o],o)};export default forEach;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getDataAttr=(t,e)=>t.getAttribute("data-"+e);export default getDataAttr;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getDocumentHeight=()=>{let{body:t,documentElement:e}=document;return Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,t.clientHeight,e.clientHeight)};export default getDocumentHeight;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getHeight=e=>parseInt(window.getComputedStyle(e).height,10);export default getHeight;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{activeEvents as e}from"./_listen-delegation";export let getListeners=()=>{let t={};for(let r in e)t[r]=e[r];return t};export default getListeners;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getOffset=e=>{let f=0,t=0;for(;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)f+=e.offsetLeft-e.scrollLeft,t+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{top:t,left:f}};export default getOffset;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getOffsetTop=e=>{let t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,e=e.offsetParent;return t>=0?t:0};export default getOffsetTop;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getOffsetTopSlim=t=>t.getBoundingClientRect().top+window.scrollY;export default getOffsetTopSlim;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getScrollbarWidth=t=>window.innerWidth-(t||document.documentElement).clientWidth;export default getScrollbarWidth;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getStyleValue=(e,t)=>getComputedStyle(e,null).getPropertyValue(t);export default getStyleValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let getVisualBackgroundColor=r=>{if(!r)return"#fff";let e=window.getComputedStyle(r).backgroundColor;if("rgba(0, 0, 0, 0)"===e||"transparent"===e){let e=r.parentElement;return e?getVisualBackgroundColor(e):"#fff"}return e};export default getVisualBackgroundColor;
|
package/cjs/dom/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{$}from"./$";export{$all}from"./$all";export{$each}from"./$each";export{addClass}from"./addClass";export{calculateFixedOffset}from"./calculateFixedOffset";export{createElement}from"./createElement";export{emitEvent}from"./emitEvent";export{escapeSelector}from"./escapeSelector";export{exists}from"./exists";export{forEach}from"./forEach";export{getDataAttr}from"./getDataAttr";export{getDocumentHeight}from"./getDocumentHeight";export{getHeight}from"./getHeight";export{getListeners}from"./getListeners";export{getOffset}from"./getOffset";export{getOffsetTop}from"./getOffsetTop";export{getOffsetTopSlim}from"./getOffsetTopSlim";export{getScrollbarWidth}from"./getScrollbarWidth";export{getStyleValue}from"./getStyleValue";export{getVisualBackgroundColor}from"./getVisualBackgroundColor";export{injectCss}from"./injectCss";export{isHidden}from"./isHidden";export{isInViewport}from"./isInViewport";export{isNodeList}from"./isNodeList";export{isTotallyScrolled}from"./isTotallyScrolled";export{listenLoaded}from"./listenLoaded";export{listenOnce}from"./listenOnce";export{listenResize}from"./listenResize";export{listenResizeDebounced}from"./listenResizeDebounced";export{listenResizeThrottled}from"./listenResizeThrottled";export{listenScroll}from"./listenScroll";export{listenScrollDebounced}from"./listenScrollDebounced";export{listenScrollThrottled}from"./listenScrollThrottled";export{listen}from"./listen";export{off}from"./off";export{once}from"./once";export{onClickOutside}from"./onClickOutside";export{on}from"./on";export{removeClass}from"./removeClass";export{scrollTo}from"./scrollTo";export{setDataAttr}from"./setDataAttr";export{setVendorCSS}from"./setVendorCSS";export{siblings}from"./siblings";export{toArray}from"./toArray";export{unlisten}from"./unlisten";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e}from"./$";export let injectCss=(t,n="",d=document)=>{let i=e("#"+t);i||((i=d.createElement("style")).id=t,d.body.appendChild(i)),i.innerHTML=n};export default injectCss;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let isHidden=e=>!e||null===e.offsetParent;export default isHidden;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let isInViewport=t=>{let e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)};export default isInViewport;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let isNodeList=t=>{let e=Object.prototype.toString.call(t);return"object"==typeof t&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(e)&&"number"==typeof t.length&&(0===t.length||"object"==typeof t[0]&&t[0].nodeType>0)};export default isNodeList;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let isTotallyScrolled=l=>!!l&&l.scrollHeight-l.scrollTop<=l.clientHeight;export default isTotallyScrolled;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{activeEvents as t,eventHandler as o}from"./_listen-delegation";import{on as e}from"./on";export let listen=(i,l,r)=>{l&&r&&i.split(",").forEach(function(i){t[i=i.trim()]||(t[i]=[],e(window,i,o,!0)),t[i]?.push({selector:l,callback:r})})};export default listen;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{on as e}from"./on";export let listenLoaded=o=>e(document,"DOMContentLoaded",o);export default listenLoaded;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getRunTarget as t}from"./_listen-delegation";import{listen as e}from"./listen";import{unlisten as n}from"./unlisten";export let listenOnce=(i,o,l)=>e(i,o,function e(r){let m=t(r.target,o);l(r,m||window),n(i,o,e)});export default listenOnce;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{on as e}from"./on";export let listenResize=(i,t)=>e(t||window,"resize",i);export default listenResize;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{debounce as e}from"@koine/utils";import{listenResize as i}from"./listenResize";export let listenResizeDebounced=(t,...o)=>i(e(...o),t);export default listenResizeDebounced;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{throttle as e}from"@koine/utils";import{listenResize as t}from"./listenResize";export let listenResizeThrottled=(i,...o)=>t(e(...o),i);export default listenResizeThrottled;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{on as l}from"./on";export let listenScroll=(o,e)=>l(e||window,"scroll",o,{capture:!0,passive:!0});export default listenScroll;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{debounce as e}from"@koine/utils";import{listenScroll as l}from"./listenScroll";export let listenScrollDebounced=(o,...t)=>l(e(...t),o);export default listenScrollDebounced;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{throttle as l}from"@koine/utils";import{listenScroll as t}from"./listenScroll";export let listenScrollThrottled=(o,...r)=>t(l(...r),o);export default listenScrollThrottled;
|
package/cjs/dom/off.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let off=(e,o,n,t=!1)=>{"development"!==process.env.NODE_ENV||e||console.warn("[@koine/dom:off] unexisting DOM element"),e&&e.removeEventListener(o,n,t)};export default off;
|
package/cjs/dom/on.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{noop as e}from"@koine/utils";import{off as o}from"./off";export let on=(n,t,r,i=!1)=>("development"!==process.env.NODE_ENV||n||console.warn("[@koine/dom:on] unexisting DOM element"),n)?(n.addEventListener(t,r,i),()=>o(n,t,r)):e;export default on;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{off as t}from"./off";import{on as o}from"./on";export let onClickOutside=(e,c,i=!1)=>{let r=t=>{!e.contains(t.target)&&(c(t),i&&n())},n=()=>{t(document,"click",r)};return o(document,"click",r),n};export default onClickOutside;
|
package/cjs/dom/once.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{off as o}from"./off";import{on as e}from"./on";export let once=(r,t,f,m=!1)=>{let n=e=>{f(e),o(r,t,n)};return e(r,t,n,m)};export default once;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let removeClass=(e,s="")=>{("development"!==process.env.NODE_ENV||e)&&e&&e.classList.remove(s)};export default removeClass;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{off as o}from"./off";import{on as l}from"./on";export let scrollTo=(t,e,i,r)=>{let w=t.toFixed();if(e){let t=!1,r=function(){window.pageYOffset.toFixed()===w&&(o(window,"scroll",r),t=!0,e())};l(window,"scroll",r),r(),i&&setTimeout(()=>{t||(o(window,"scroll",r),e())},i)}window.scrollTo({top:t,behavior:r||"smooth"})};export default scrollTo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let setDataAttr=(t,e,r)=>{if(null==r){t.removeAttribute("data-"+e);return}t.setAttribute("data-"+e,r.toString())};export default setDataAttr;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let setVendorCSS=(e,t,s)=>{let l=t.charAt(0).toUpperCase()+t.slice(1);e.style["webkit"+l]=s,e.style["moz"+l]=s,e.style["ms"+l]=s,e.style["o"+l]=s,e.style[t]=s};export default setVendorCSS;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let siblings=e=>{if(e&&e.parentNode){let t=e.parentNode.firstChild,r=[];for(;t;t=t.nextSibling)1===t.nodeType&&t!==e&&r.push(t);return r}return[]};export default siblings;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export let toArray=r=>Array.prototype.slice.call(r);export default toArray;
|
package/cjs/dom/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{activeEvents as e,eventHandler as t,getIndex as i}from"./_listen-delegation";import{off as l}from"./off";export let unlisten=(r,n,o)=>{r.split(",").forEach(r=>{let f=e[r=r.trim()];if(!f)return;if(f.length<2||!n){delete e[r],l(window,r,t,!0);return}let p=i(f,n,o);p<0||e[r].splice(p,1)})};export default unlisten;
|
package/cjs/exists.d.ts
ADDED
package/cjs/forEach.d.ts
ADDED
package/cjs/index.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export { $ } from "./$";
|
|
2
|
+
export { $all } from "./$all";
|
|
3
|
+
export { $each } from "./$each";
|
|
4
|
+
export { addClass } from "./addClass";
|
|
5
|
+
export { calculateFixedOffset } from "./calculateFixedOffset";
|
|
6
|
+
export { createElement } from "./createElement";
|
|
7
|
+
export { emitEvent } from "./emitEvent";
|
|
8
|
+
export { escapeSelector } from "./escapeSelector";
|
|
9
|
+
export { exists } from "./exists";
|
|
10
|
+
export { forEach } from "./forEach";
|
|
11
|
+
export { getDataAttr } from "./getDataAttr";
|
|
12
|
+
export { getDocumentHeight } from "./getDocumentHeight";
|
|
13
|
+
export { getHeight } from "./getHeight";
|
|
14
|
+
export { getListeners } from "./getListeners";
|
|
15
|
+
export { getOffset } from "./getOffset";
|
|
16
|
+
export { getOffsetTop } from "./getOffsetTop";
|
|
17
|
+
export { getOffsetTopSlim } from "./getOffsetTopSlim";
|
|
18
|
+
export { getScrollbarWidth } from "./getScrollbarWidth";
|
|
19
|
+
export { getStyleValue } from "./getStyleValue";
|
|
20
|
+
export { getVisualBackgroundColor } from "./getVisualBackgroundColor";
|
|
21
|
+
export { injectCss } from "./injectCss";
|
|
22
|
+
export { isHidden } from "./isHidden";
|
|
23
|
+
export { isInViewport } from "./isInViewport";
|
|
24
|
+
export { isNodeList } from "./isNodeList";
|
|
25
|
+
export { isTotallyScrolled } from "./isTotallyScrolled";
|
|
26
|
+
export { listenLoaded } from "./listenLoaded";
|
|
27
|
+
export { listenOnce } from "./listenOnce";
|
|
28
|
+
export { listenResize } from "./listenResize";
|
|
29
|
+
export { listenResizeDebounced } from "./listenResizeDebounced";
|
|
30
|
+
export { listenResizeThrottled } from "./listenResizeThrottled";
|
|
31
|
+
export { listenScroll } from "./listenScroll";
|
|
32
|
+
export { listenScrollDebounced } from "./listenScrollDebounced";
|
|
33
|
+
export { listenScrollThrottled } from "./listenScrollThrottled";
|
|
34
|
+
export { listen } from "./listen";
|
|
35
|
+
export { off } from "./off";
|
|
36
|
+
export { once } from "./once";
|
|
37
|
+
export { onClickOutside } from "./onClickOutside";
|
|
38
|
+
export { on } from "./on";
|
|
39
|
+
export { removeClass } from "./removeClass";
|
|
40
|
+
export { scrollTo } from "./scrollTo";
|
|
41
|
+
export { setDataAttr } from "./setDataAttr";
|
|
42
|
+
export { setVendorCSS } from "./setVendorCSS";
|
|
43
|
+
export { siblings } from "./siblings";
|
|
44
|
+
export { toArray } from "./toArray";
|
|
45
|
+
export { unlisten } from "./unlisten";
|
|
46
|
+
export type { AnyDOMEventTarget, AnyDOMEventTargetLoose, AnyDOMEventType, AnyDOMEvent, } from "./types";
|
package/cjs/listen.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type EventCallback } from "./_listen-delegation";
|
|
2
|
+
import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
|
|
3
|
+
export declare let listen: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
|
|
4
|
+
export default listen;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { listenResize } from "./listenResize";
|
|
2
|
+
export declare let listenResizeDebounced: (el?: Parameters<typeof listenResize>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
3
|
+
export default listenResizeDebounced;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { listenScroll } from "./listenScroll";
|
|
2
|
+
export declare let listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
|
|
3
|
+
export default listenScrollDebounced;
|
package/cjs/off.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
|
|
2
|
+
export declare let off: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean) => void;
|
|
3
|
+
export default off;
|
package/cjs/on.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
|
|
2
|
+
export declare let on: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean) => () => void;
|
|
3
|
+
export default on;
|
package/cjs/once.d.ts
ADDED
package/cjs/package.json
ADDED
package/cjs/toArray.d.ts
ADDED
package/cjs/types.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AnythingFalsy, LiteralUnion } from "@koine/utils";
|
|
2
|
+
export type AnyDOMEventTarget = Window | Document | HTMLElement | Element;
|
|
3
|
+
export type AnyDOMEventTargetLoose = AnyDOMEventTarget | AnythingFalsy;
|
|
4
|
+
type StandardDOMEventTypes = keyof GlobalEventHandlersEventMap;
|
|
5
|
+
export type AnyDOMEventType = LiteralUnion<StandardDOMEventTypes | "storage" | "popstate", string>;
|
|
6
|
+
export type AnyDOMEvent<TType extends AnyDOMEventType> = TType extends StandardDOMEventTypes ? GlobalEventHandlersEventMap[TType] : TType extends "storage" ? StorageEvent : TType extends "popstate" ? PopStateEvent : Event;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type EventCallback } from "./_listen-delegation";
|
|
2
|
+
import type { AnyDOMEventTarget, AnyDOMEventType } from "./types";
|
|
3
|
+
export declare let unlisten: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
|
|
4
|
+
export default unlisten;
|
package/createElement.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export let createElement = (type, className) => {
|
|
3
|
-
const el = document.createElement(type);
|
|
4
|
-
if (className) {
|
|
5
|
-
addClass(el, className);
|
|
6
|
-
}
|
|
7
|
-
return el;
|
|
8
|
-
};
|
|
9
|
-
export default createElement;
|
|
1
|
+
import{addClass as e}from"./addClass";export let createElement=(t,r)=>{let l=document.createElement(t);return r&&e(l,r),l};export default createElement;
|
package/emitEvent.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
export let emitEvent
|
|
2
|
-
if (typeof window.CustomEvent !== "function")
|
|
3
|
-
return;
|
|
4
|
-
document.dispatchEvent(new CustomEvent(type, {
|
|
5
|
-
bubbles: true,
|
|
6
|
-
detail,
|
|
7
|
-
}));
|
|
8
|
-
};
|
|
9
|
-
export default emitEvent;
|
|
1
|
+
export let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))};export default emitEvent;
|
package/escapeSelector.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export let escapeSelector
|
|
2
|
-
export default escapeSelector;
|
|
1
|
+
export let escapeSelector=e=>e.replace(/:/g,"\\:");export default escapeSelector;
|
package/exists.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export let exists
|
|
2
|
-
export default exists;
|
|
1
|
+
export let exists=e=>e&&e instanceof window.HTMLElement;export default exists;
|