@koine/dom 2.0.0-beta.82 → 2.0.0-beta.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/_listen-delegation.cjs.js +29 -1
  2. package/_listen-delegation.esm.js +29 -1
  3. package/addClass.cjs.js +3 -1
  4. package/addClass.esm.js +3 -1
  5. package/createElement.cjs.js +4 -1
  6. package/createElement.esm.js +4 -1
  7. package/dom.cjs.js +11 -1
  8. package/dom.esm.js +11 -1
  9. package/domAll.cjs.js +8 -1
  10. package/domAll.esm.js +8 -1
  11. package/domEach.cjs.js +9 -1
  12. package/domEach.esm.js +9 -1
  13. package/emitEvent.cjs.js +3 -1
  14. package/emitEvent.esm.js +3 -1
  15. package/escapeSelector.cjs.js +6 -1
  16. package/escapeSelector.esm.js +6 -1
  17. package/exists.cjs.js +5 -1
  18. package/exists.esm.js +5 -1
  19. package/forEach.cjs.js +5 -1
  20. package/forEach.esm.js +5 -1
  21. package/getDataAttr.cjs.js +9 -1
  22. package/getDataAttr.esm.js +9 -1
  23. package/getDocumentHeight.cjs.js +5 -1
  24. package/getDocumentHeight.esm.js +5 -1
  25. package/getHeight.cjs.js +3 -1
  26. package/getHeight.esm.js +3 -1
  27. package/getListeners.cjs.js +9 -1
  28. package/getListeners.esm.js +9 -1
  29. package/getOffset.cjs.js +7 -1
  30. package/getOffset.esm.js +7 -1
  31. package/getOffsetTop.cjs.js +9 -1
  32. package/getOffsetTop.esm.js +9 -1
  33. package/getOffsetTopSlim.cjs.js +9 -1
  34. package/getOffsetTopSlim.esm.js +9 -1
  35. package/getScrollbarWidth.cjs.js +3 -1
  36. package/getScrollbarWidth.esm.js +3 -1
  37. package/getStyleValue.cjs.js +6 -1
  38. package/getStyleValue.esm.js +6 -1
  39. package/getVisualBackgroundColor.cjs.js +5 -1
  40. package/getVisualBackgroundColor.esm.js +5 -1
  41. package/injectCss.cjs.js +5 -1
  42. package/injectCss.esm.js +5 -1
  43. package/isHidden.cjs.js +3 -1
  44. package/isHidden.esm.js +3 -1
  45. package/isInViewport.cjs.js +8 -1
  46. package/isInViewport.esm.js +8 -1
  47. package/isNodeList.cjs.js +5 -1
  48. package/isNodeList.esm.js +5 -1
  49. package/isTotallyScrolled.cjs.js +6 -1
  50. package/isTotallyScrolled.esm.js +6 -1
  51. package/listen.cjs.js +19 -1
  52. package/listen.esm.js +19 -1
  53. package/listenLoaded.cjs.js +6 -1
  54. package/listenLoaded.esm.js +6 -1
  55. package/listenOnce.cjs.js +9 -1
  56. package/listenOnce.esm.js +9 -1
  57. package/listenResize.cjs.js +5 -1
  58. package/listenResize.esm.js +5 -1
  59. package/listenResizeDebounced.cjs.js +5 -1
  60. package/listenResizeDebounced.esm.js +5 -1
  61. package/listenResizeThrottled.cjs.js +5 -1
  62. package/listenResizeThrottled.esm.js +5 -1
  63. package/listenScroll.cjs.js +5 -1
  64. package/listenScroll.esm.js +5 -1
  65. package/listenScrollDebounced.cjs.js +5 -1
  66. package/listenScrollDebounced.esm.js +5 -1
  67. package/listenScrollThrottled.cjs.js +5 -1
  68. package/listenScrollThrottled.esm.js +5 -1
  69. package/off.cjs.js +3 -1
  70. package/off.esm.js +3 -1
  71. package/on.cjs.js +6 -1
  72. package/on.esm.js +6 -1
  73. package/onClickOutside.cjs.js +2 -1
  74. package/onClickOutside.esm.js +2 -1
  75. package/once.cjs.js +4 -1
  76. package/once.esm.js +4 -1
  77. package/package.json +2 -2
  78. package/removeClass.cjs.js +3 -1
  79. package/removeClass.esm.js +3 -1
  80. package/scrollTo.cjs.js +10 -1
  81. package/scrollTo.esm.js +10 -1
  82. package/setDataAttr.cjs.js +10 -1
  83. package/setDataAttr.esm.js +10 -1
  84. package/setVendorCSS.cjs.js +12 -1
  85. package/setVendorCSS.esm.js +12 -1
  86. package/siblings.cjs.js +5 -1
  87. package/siblings.esm.js +5 -1
  88. package/toArray.cjs.js +5 -1
  89. package/toArray.esm.js +5 -1
  90. package/unlisten.cjs.js +20 -1
  91. package/unlisten.esm.js +20 -1
@@ -3,7 +3,35 @@
3
3
  var utils = require('@koine/utils');
4
4
  var escapeSelector = require('./escapeSelector.cjs.js');
5
5
 
6
- let activeEvents={};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};let getRunTarget=(n,r)=>{if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].includes(r))return document;if(utils.isString(r))return n.closest(escapeSelector.escapeSelector(r));if("string"!=typeof r&&r.contains){if(r===n)return n;if(r.contains(n))return r}return !1};let eventHandler=e=>{activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n);});};
6
+ /**
7
+ * @internal
8
+ *//**
9
+ * @internal
10
+ *//**
11
+ * Active events
12
+ *
13
+ * @internal
14
+ */let activeEvents={};/**
15
+ * Get the index for the listener
16
+ *
17
+ * @internal
18
+ */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};/**
19
+ * Check if the listener callback should run or not
20
+ *
21
+ * @internal
22
+ * @param target The event.target
23
+ * @param selector The selector/element to check the target against
24
+ * @return If not false, run listener and pass the targeted element to use in the callback
25
+ */let getRunTarget=(n,r)=>{// @ts-expect-error FIXME: type
26
+ if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].// @ts-expect-error FIXME: type
27
+ includes(r))return document;if(utils.isString(r))return n.closest(escapeSelector.escapeSelector(r));// @ts-expect-error FIXME: type
28
+ if("string"!=typeof r&&r.contains){if(r===n)return n;// @ts-expect-error FIXME: type
29
+ if(r.contains(n))return r}return !1};/**
30
+ * Handle listeners after event fires
31
+ *
32
+ * @internal
33
+ */let eventHandler=e=>{// if (!activeEvents[event.type]) return;
34
+ activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n);});};
7
35
 
8
36
  exports.activeEvents = activeEvents;
9
37
  exports.eventHandler = eventHandler;
@@ -1,6 +1,34 @@
1
1
  import { isString } from '@koine/utils';
2
2
  import { escapeSelector } from './escapeSelector.esm.js';
3
3
 
4
- let activeEvents={};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};let getRunTarget=(n,r)=>{if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].includes(r))return document;if(isString(r))return n.closest(escapeSelector(r));if("string"!=typeof r&&r.contains){if(r===n)return n;if(r.contains(n))return r}return !1};let eventHandler=e=>{activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n);});};
4
+ /**
5
+ * @internal
6
+ *//**
7
+ * @internal
8
+ *//**
9
+ * Active events
10
+ *
11
+ * @internal
12
+ */let activeEvents={};/**
13
+ * Get the index for the listener
14
+ *
15
+ * @internal
16
+ */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};/**
17
+ * Check if the listener callback should run or not
18
+ *
19
+ * @internal
20
+ * @param target The event.target
21
+ * @param selector The selector/element to check the target against
22
+ * @return If not false, run listener and pass the targeted element to use in the callback
23
+ */let getRunTarget=(n,r)=>{// @ts-expect-error FIXME: type
24
+ if(["*","window",window].includes(r))return window;if(["document","document.documentElement",document,document.documentElement].// @ts-expect-error FIXME: type
25
+ includes(r))return document;if(isString(r))return n.closest(escapeSelector(r));// @ts-expect-error FIXME: type
26
+ if("string"!=typeof r&&r.contains){if(r===n)return n;// @ts-expect-error FIXME: type
27
+ if(r.contains(n))return r}return !1};/**
28
+ * Handle listeners after event fires
29
+ *
30
+ * @internal
31
+ */let eventHandler=e=>{// if (!activeEvents[event.type]) return;
32
+ activeEvents[e.type]?.forEach(function(t){let n=getRunTarget(e.target,t.selector);n&&t.callback(e,n);});};
5
33
 
6
34
  export { activeEvents as a, getIndex as b, eventHandler as e, getRunTarget as g };
package/addClass.cjs.js CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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);};
5
+ /**
6
+ * Add class shortcut
7
+ */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);};
6
8
 
7
9
  exports.addClass = addClass;
8
10
  exports["default"] = addClass;
package/addClass.esm.js CHANGED
@@ -1,3 +1,5 @@
1
- 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);};
1
+ /**
2
+ * Add class shortcut
3
+ */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);};
2
4
 
3
5
  export { addClass, addClass as default };
@@ -4,7 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var addClass = require('./addClass.cjs.js');
6
6
 
7
- let createElement=(t,r)=>{let l=document.createElement(t);return r&&addClass.addClass(l,r),l};
7
+ /**
8
+ * Shortcut for `document.createElement`, allowing to to create an HTML element
9
+ * with a given className directly (a very common use case)
10
+ */let createElement=(t,r)=>{let l=document.createElement(t);return r&&addClass.addClass(l,r),l};
8
11
 
9
12
  exports.createElement = createElement;
10
13
  exports["default"] = createElement;
@@ -1,5 +1,8 @@
1
1
  import { addClass } from './addClass.esm.js';
2
2
 
3
- let createElement=(t,r)=>{let l=document.createElement(t);return r&&addClass(l,r),l};
3
+ /**
4
+ * Shortcut for `document.createElement`, allowing to to create an HTML element
5
+ * with a given className directly (a very common use case)
6
+ */let createElement=(t,r)=>{let l=document.createElement(t);return r&&addClass(l,r),l};
4
7
 
5
8
  export { createElement, createElement as default };
package/dom.cjs.js CHANGED
@@ -2,7 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let dom=(e,o,t)=>(o||document).querySelector(t?e:e.replace(/:/g,"\\:"));
5
+ /**
6
+ * Sizzle/jQuery like DOM nodes shortcut for `document.querySelector`
7
+ * To avoid an extra function call we inline the above `escape`
8
+ *
9
+ * @param selector DOM selector
10
+ * @param parent It falls back to `window.document`
11
+ * @param avoidEscape Whether to avoid escaping `:` in the selector string
12
+ * @example <caption>Basic DOM selection</caption>
13
+ * const $container = dom(".my-section:");
14
+ * const $el = dom("[data-some-attr]", $container);
15
+ */let dom=(e,o,t)=>(o||document).querySelector(t?e:e.replace(/:/g,"\\:"));
6
16
 
7
17
  exports["default"] = dom;
8
18
  exports.dom = dom;
package/dom.esm.js CHANGED
@@ -1,3 +1,13 @@
1
- let dom=(e,o,t)=>(o||document).querySelector(t?e:e.replace(/:/g,"\\:"));
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
+ */let dom=(e,o,t)=>(o||document).querySelector(t?e:e.replace(/:/g,"\\:"));
2
12
 
3
13
  export { dom as default, dom };
package/domAll.cjs.js CHANGED
@@ -2,7 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let domAll=(e,l,o)=>(l||document).querySelectorAll(o?e:e.replace(/:/g,"\\:"));
5
+ /**
6
+ * Sizzle/jQuery like DOM nodes shortcut for `document.querySelectorAll`
7
+ * To avoid an extra function call we inline the above `escape`
8
+ *
9
+ * @param string selector DOM selector
10
+ * @param parent It falls back to `window.document`
11
+ * @param avoidEscape Whether to avoid escaping `:` in the selector string
12
+ */let domAll=(e,l,o)=>(l||document).querySelectorAll(o?e:e.replace(/:/g,"\\:"));
6
13
 
7
14
  exports["default"] = domAll;
8
15
  exports.domAll = domAll;
package/domAll.esm.js CHANGED
@@ -1,3 +1,10 @@
1
- let domAll=(e,l,o)=>(l||document).querySelectorAll(o?e:e.replace(/:/g,"\\:"));
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
+ */let domAll=(e,l,o)=>(l||document).querySelectorAll(o?e:e.replace(/:/g,"\\:"));
2
9
 
3
10
  export { domAll as default, domAll };
package/domEach.cjs.js CHANGED
@@ -4,7 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var domAll = require('./domAll.cjs.js');
6
6
 
7
- let domEach=(o,t,e,m)=>{let r=domAll.domAll(o,e);for(let l=0;l<r.length;l++)t.call(m,r[l],l);};
7
+ /**
8
+ * Each shortcut, iterate through a NodeList of HTMLElements retrieved with the
9
+ * given selector (and optionally a parent container passed as thrid arguement)
10
+ *
11
+ * @param selector DOM selector
12
+ * @param callback
13
+ * @param parent It falls back to `window.document`
14
+ * @param scope
15
+ */let domEach=(o,t,e,m)=>{let r=domAll.domAll(o,e);for(let l=0;l<r.length;l++)t.call(m,r[l],l);};
8
16
 
9
17
  exports["default"] = domEach;
10
18
  exports.domEach = domEach;
package/domEach.esm.js CHANGED
@@ -1,5 +1,13 @@
1
1
  import { domAll } from './domAll.esm.js';
2
2
 
3
- let domEach=(o,t,e,m)=>{let r=domAll(o,e);for(let l=0;l<r.length;l++)t.call(m,r[l],l);};
3
+ /**
4
+ * Each shortcut, iterate through a NodeList of HTMLElements retrieved with the
5
+ * given selector (and optionally a parent container passed as thrid arguement)
6
+ *
7
+ * @param selector DOM selector
8
+ * @param callback
9
+ * @param parent It falls back to `window.document`
10
+ * @param scope
11
+ */let domEach=(o,t,e,m)=>{let r=domAll(o,e);for(let l=0;l<r.length;l++)t.call(m,r[l],l);};
4
12
 
5
13
  export { domEach as default, domEach };
package/emitEvent.cjs.js CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}));};
5
+ /**
6
+ * Emit event (use only if the targeted browser supports `CustomEvent`s)
7
+ */let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}));};
6
8
 
7
9
  exports["default"] = emitEvent;
8
10
  exports.emitEvent = emitEvent;
package/emitEvent.esm.js CHANGED
@@ -1,3 +1,5 @@
1
- let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}));};
1
+ /**
2
+ * Emit event (use only if the targeted browser supports `CustomEvent`s)
3
+ */let emitEvent=(t="customEvent",e={})=>{"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}));};
2
4
 
3
5
  export { emitEvent as default, emitEvent };
@@ -2,7 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let escapeSelector=e=>e.replace(/:/g,"\\:");
5
+ /**
6
+ * Escape colons to allow use class names as `.module:block__element`
7
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector#Escaping_special_characters
8
+ *
9
+ * @param selector
10
+ */let escapeSelector=e=>e.replace(/:/g,"\\:");
6
11
 
7
12
  exports["default"] = escapeSelector;
8
13
  exports.escapeSelector = escapeSelector;
@@ -1,3 +1,8 @@
1
- let escapeSelector=e=>e.replace(/:/g,"\\:");
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
+ */let escapeSelector=e=>e.replace(/:/g,"\\:");
2
7
 
3
8
  export { escapeSelector as default, escapeSelector };
package/exists.cjs.js CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let exists=e=>e&&e instanceof window.HTMLElement;
5
+ /**
6
+ * Checks if passed node exist and is a valid element.
7
+ *
8
+ * @borrows @glidejs/glide/src/utils/dom (source)
9
+ */let exists=e=>e&&e instanceof window.HTMLElement;
6
10
 
7
11
  exports["default"] = exists;
8
12
  exports.exists = exists;
package/exists.esm.js CHANGED
@@ -1,3 +1,7 @@
1
- let exists=e=>e&&e instanceof window.HTMLElement;
1
+ /**
2
+ * Checks if passed node exist and is a valid element.
3
+ *
4
+ * @borrows @glidejs/glide/src/utils/dom (source)
5
+ */let exists=e=>e&&e instanceof window.HTMLElement;
2
6
 
3
7
  export { exists as default, exists };
package/forEach.cjs.js CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let forEach=(e,l,t)=>{for(let o=0;o<e.length;o++)l.call(t,e[o],o);};
5
+ /**
6
+ * For each, iterate through a `NodeList` or an `array` of `HTMLElement`s
7
+ *
8
+ * @param scope The optional `this` of the callback function
9
+ */let forEach=(e,l,t)=>{for(let o=0;o<e.length;o++)l.call(t,e[o],o);};// /**
6
10
 
7
11
  exports["default"] = forEach;
8
12
  exports.forEach = forEach;
package/forEach.esm.js CHANGED
@@ -1,3 +1,7 @@
1
- let forEach=(e,l,t)=>{for(let o=0;o<e.length;o++)l.call(t,e[o],o);};
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
+ */let forEach=(e,l,t)=>{for(let o=0;o<e.length;o++)l.call(t,e[o],o);};// /**
2
6
 
3
7
  export { forEach as default, forEach };
@@ -2,7 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getDataAttr=(t,e)=>t.getAttribute("data-"+e);
5
+ // TODO: maybe move to `dataset` API but consider the comment about Safari here
6
+ // https://stackoverflow.com/a/9201264/1938970
7
+ /**
8
+ * Get data attribute
9
+ *
10
+ * @param element
11
+ * @param attribute The name of the `data-{attr}`
12
+ */let getDataAttr=(t,e)=>// element.dataset[attribute];
13
+ t.getAttribute("data-"+e);
6
14
 
7
15
  exports["default"] = getDataAttr;
8
16
  exports.getDataAttr = getDataAttr;
@@ -1,3 +1,11 @@
1
- let getDataAttr=(t,e)=>t.getAttribute("data-"+e);
1
+ // TODO: maybe move to `dataset` API but consider the comment about Safari here
2
+ // https://stackoverflow.com/a/9201264/1938970
3
+ /**
4
+ * Get data attribute
5
+ *
6
+ * @param element
7
+ * @param attribute The name of the `data-{attr}`
8
+ */let getDataAttr=(t,e)=>// element.dataset[attribute];
9
+ t.getAttribute("data-"+e);
2
10
 
3
11
  export { getDataAttr as default, getDataAttr };
@@ -2,7 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getDocumentHeight=()=>{let{body:t,documentElement:e}=document;return Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,t.clientHeight,e.clientHeight)};
5
+ /**
6
+ * Determine the document's height
7
+ *
8
+ * @see https://github.com/cferdinandi/smooth-scroll (credits)
9
+ */let getDocumentHeight=()=>{let{body:t,documentElement:e}=document;return Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,t.clientHeight,e.clientHeight)};
6
10
 
7
11
  exports["default"] = getDocumentHeight;
8
12
  exports.getDocumentHeight = getDocumentHeight;
@@ -1,3 +1,7 @@
1
- let getDocumentHeight=()=>{let{body:t,documentElement:e}=document;return Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,t.clientHeight,e.clientHeight)};
1
+ /**
2
+ * Determine the document's height
3
+ *
4
+ * @see https://github.com/cferdinandi/smooth-scroll (credits)
5
+ */let getDocumentHeight=()=>{let{body:t,documentElement:e}=document;return Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,t.clientHeight,e.clientHeight)};
2
6
 
3
7
  export { getDocumentHeight as default, getDocumentHeight };
package/getHeight.cjs.js CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getHeight=e=>parseInt(window.getComputedStyle(e).height,10);
5
+ /**
6
+ * Get element height
7
+ */let getHeight=e=>parseInt(window.getComputedStyle(e).height,10);
6
8
 
7
9
  exports["default"] = getHeight;
8
10
  exports.getHeight = getHeight;
package/getHeight.esm.js CHANGED
@@ -1,3 +1,5 @@
1
- let getHeight=e=>parseInt(window.getComputedStyle(e).height,10);
1
+ /**
2
+ * Get element height
3
+ */let getHeight=e=>parseInt(window.getComputedStyle(e).height,10);
2
4
 
3
5
  export { getHeight as default, getHeight };
@@ -6,7 +6,15 @@ var _listenDelegation = require('./_listen-delegation.cjs.js');
6
6
  require('@koine/utils');
7
7
  require('./escapeSelector.cjs.js');
8
8
 
9
- let getListeners=()=>{let t={};for(let r in _listenDelegation.activeEvents)t[r]=_listenDelegation.activeEvents[r];return t};
9
+ /**
10
+ * Get an immutable copy of all active event listeners
11
+ *
12
+ * @category listen-delegation
13
+ *
14
+ * @return Active event listeners
15
+ */let getListeners=()=>{let t={};for(let r in _listenDelegation.activeEvents)// if (activeEvents.hasOwnProperty(type)) {
16
+ t[r]=_listenDelegation.activeEvents[r];// }
17
+ return t};
10
18
 
11
19
  exports["default"] = getListeners;
12
20
  exports.getListeners = getListeners;
@@ -2,6 +2,14 @@ import { a as activeEvents } from './_listen-delegation.esm.js';
2
2
  import '@koine/utils';
3
3
  import './escapeSelector.esm.js';
4
4
 
5
- let getListeners=()=>{let t={};for(let r in activeEvents)t[r]=activeEvents[r];return t};
5
+ /**
6
+ * Get an immutable copy of all active event listeners
7
+ *
8
+ * @category listen-delegation
9
+ *
10
+ * @return Active event listeners
11
+ */let getListeners=()=>{let t={};for(let r in activeEvents)// if (activeEvents.hasOwnProperty(type)) {
12
+ t[r]=activeEvents[r];// }
13
+ return t};
6
14
 
7
15
  export { getListeners as default, getListeners };
package/getOffset.cjs.js CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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}};
5
+ /**
6
+ * Get an element's distance from the top and left of the Document.
7
+ *
8
+ * @param elem The HTML node element
9
+ * @return Distance from the top and left in pixels
10
+ */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,// @ts-expect-error nevermind?
11
+ e=e.offsetParent;return {top:t,left:f}};
6
12
 
7
13
  exports["default"] = getOffset;
8
14
  exports.getOffset = getOffset;
package/getOffset.esm.js CHANGED
@@ -1,3 +1,9 @@
1
- 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}};
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
+ */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,// @ts-expect-error nevermind?
7
+ e=e.offsetParent;return {top:t,left:f}};
2
8
 
3
9
  export { getOffset as default, getOffset };
@@ -2,7 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getOffsetTop=e=>{let t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,e=e.offsetParent;return t>=0?t:0};
5
+ /**
6
+ * Get an element's distance from the top of the Document.
7
+ *
8
+ * @see https://vanillajstoolkit.com/helpers/getoffsettop/
9
+ *
10
+ * @param elem The HTML node element
11
+ * @return Distance from the top in pixels
12
+ */let getOffsetTop=e=>{let t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,// @ts-expect-error nevermind?
13
+ e=e.offsetParent;return t>=0?t:0};
6
14
 
7
15
  exports["default"] = getOffsetTop;
8
16
  exports.getOffsetTop = getOffsetTop;
@@ -1,3 +1,11 @@
1
- let getOffsetTop=e=>{let t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,e=e.offsetParent;return t>=0?t:0};
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
+ */let getOffsetTop=e=>{let t=0;if(e.offsetParent)for(;e;)t+=e.offsetTop,// @ts-expect-error nevermind?
9
+ e=e.offsetParent;return t>=0?t:0};
2
10
 
3
11
  export { getOffsetTop as default, getOffsetTop };
@@ -2,7 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getOffsetTopSlim=t=>t.getBoundingClientRect().top+window.scrollY;
5
+ /**
6
+ * Get an element's distance from the top of the Document (using more modern/performant
7
+ * technique compared to {@link ./getOffsetTop})
8
+ *
9
+ * @see https://stackoverflow.com/q/5598743/1938970
10
+ *
11
+ * @param elem The HTML node element
12
+ * @return Distance from the top in pixels
13
+ */let getOffsetTopSlim=t=>t.getBoundingClientRect().top+window.scrollY;
6
14
 
7
15
  exports["default"] = getOffsetTopSlim;
8
16
  exports.getOffsetTopSlim = getOffsetTopSlim;
@@ -1,3 +1,11 @@
1
- let getOffsetTopSlim=t=>t.getBoundingClientRect().top+window.scrollY;
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
+ */let getOffsetTopSlim=t=>t.getBoundingClientRect().top+window.scrollY;
2
10
 
3
11
  export { getOffsetTopSlim as default, getOffsetTopSlim };
@@ -2,7 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getScrollbarWidth=t=>window.innerWidth-(t||document.documentElement).clientWidth;
5
+ /**
6
+ * Get scrollbar's current width
7
+ */let getScrollbarWidth=t=>window.innerWidth-(t||document.documentElement).clientWidth;
6
8
 
7
9
  exports["default"] = getScrollbarWidth;
8
10
  exports.getScrollbarWidth = getScrollbarWidth;
@@ -1,3 +1,5 @@
1
- let getScrollbarWidth=t=>window.innerWidth-(t||document.documentElement).clientWidth;
1
+ /**
2
+ * Get scrollbar's current width
3
+ */let getScrollbarWidth=t=>window.innerWidth-(t||document.documentElement).clientWidth;
2
4
 
3
5
  export { getScrollbarWidth as default, getScrollbarWidth };
@@ -2,7 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let getStyleValue=(e,t)=>getComputedStyle(e,null).getPropertyValue(t);
5
+ /**
6
+ * Return the current style value for an element CSS property
7
+ *
8
+ * @param el The element to compute
9
+ * @param prop The style property
10
+ */let getStyleValue=(e,t)=>getComputedStyle(e,null).getPropertyValue(t);
6
11
 
7
12
  exports["default"] = getStyleValue;
8
13
  exports.getStyleValue = getStyleValue;
@@ -1,3 +1,8 @@
1
- let getStyleValue=(e,t)=>getComputedStyle(e,null).getPropertyValue(t);
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
+ */let getStyleValue=(e,t)=>getComputedStyle(e,null).getPropertyValue(t);
2
7
 
3
8
  export { getStyleValue as default, getStyleValue };
@@ -2,7 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- 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};
5
+ /**
6
+ * Get the background color of an element eventually looking recursively into
7
+ * its parents, if nothing is found it returns a `#fff` background
8
+ */let getVisualBackgroundColor=r=>{if(!r)return "#fff";// if (!elem) return transparent;
9
+ 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};
6
10
 
7
11
  exports["default"] = getVisualBackgroundColor;
8
12
  exports.getVisualBackgroundColor = getVisualBackgroundColor;
@@ -1,3 +1,7 @@
1
- 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};
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
+ */let getVisualBackgroundColor=r=>{if(!r)return "#fff";// if (!elem) return transparent;
5
+ 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};
2
6
 
3
7
  export { getVisualBackgroundColor as default, getVisualBackgroundColor };
package/injectCss.cjs.js CHANGED
@@ -4,7 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var dom = require('./dom.cjs.js');
6
6
 
7
- let injectCss=(t,d="",n=document)=>{let o=dom.dom("#"+t);o||((o=n.createElement("style")).id=t,n.body.appendChild(o)),o.innerHTML=d;};
7
+ /**
8
+ * Inject css
9
+ *
10
+ * @param id The `<style>` HTMLElement's `id`
11
+ */let injectCss=(t,d="",n=document)=>{let o=dom.dom("#"+t);o||((o=n.createElement("style")).id=t,n.body.appendChild(o)),o.innerHTML=d;};
8
12
 
9
13
  exports["default"] = injectCss;
10
14
  exports.injectCss = injectCss;
package/injectCss.esm.js CHANGED
@@ -1,5 +1,9 @@
1
1
  import { dom } from './dom.esm.js';
2
2
 
3
- let injectCss=(t,d="",n=document)=>{let o=dom("#"+t);o||((o=n.createElement("style")).id=t,n.body.appendChild(o)),o.innerHTML=d;};
3
+ /**
4
+ * Inject css
5
+ *
6
+ * @param id The `<style>` HTMLElement's `id`
7
+ */let injectCss=(t,d="",n=document)=>{let o=dom("#"+t);o||((o=n.createElement("style")).id=t,n.body.appendChild(o)),o.innerHTML=d;};
4
8
 
5
9
  export { injectCss as default, injectCss };
package/isHidden.cjs.js CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- let isHidden=e=>!e||null===e.offsetParent;
5
+ /**
6
+ * Is element hidden?
7
+ */let isHidden=e=>!e||null===e.offsetParent;
6
8
 
7
9
  exports["default"] = isHidden;
8
10
  exports.isHidden = isHidden;
package/isHidden.esm.js CHANGED
@@ -1,3 +1,5 @@
1
- let isHidden=e=>!e||null===e.offsetParent;
1
+ /**
2
+ * Is element hidden?
3
+ */let isHidden=e=>!e||null===e.offsetParent;
2
4
 
3
5
  export { isHidden as default, isHidden };