@koine/dom 2.0.0-beta.5 → 2.0.0-beta.50

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 (151) hide show
  1. package/$.d.ts +1 -13
  2. package/$all.d.ts +1 -0
  3. package/$each.d.ts +1 -11
  4. package/_listen-delegation.d.ts +4 -33
  5. package/addClass.d.ts +1 -5
  6. package/calculateFixedOffset.d.ts +1 -2
  7. package/createElement.d.ts +2 -9
  8. package/emitEvent.d.ts +1 -5
  9. package/escapeSelector.d.ts +1 -8
  10. package/exists.d.ts +1 -7
  11. package/forEach.d.ts +1 -8
  12. package/getDataAttr.d.ts +1 -8
  13. package/getDocumentHeight.d.ts +1 -7
  14. package/getHeight.d.ts +1 -5
  15. package/getListeners.d.ts +1 -9
  16. package/getOffset.d.ts +1 -8
  17. package/getOffsetTop.d.ts +1 -10
  18. package/getOffsetTopSlim.d.ts +1 -11
  19. package/getScrollbarWidth.d.ts +1 -5
  20. package/getStyleValue.d.ts +1 -8
  21. package/getVisualBackgroundColor.d.ts +1 -6
  22. package/index.cjs.d.ts +1 -0
  23. package/index.cjs.default.js +1 -0
  24. package/index.cjs.js +143 -0
  25. package/index.cjs.mjs +2 -0
  26. package/index.d.ts +3 -3
  27. package/index.esm.js +95 -0
  28. package/injectCss.d.ts +1 -5
  29. package/isHidden.d.ts +1 -5
  30. package/isInViewport.d.ts +1 -10
  31. package/isNodeList.d.ts +1 -7
  32. package/isTotallyScrolled.d.ts +1 -8
  33. package/listen.d.ts +1 -11
  34. package/listenLoaded.d.ts +1 -7
  35. package/listenOnce.d.ts +1 -11
  36. package/listenResize.d.ts +1 -7
  37. package/listenResizeDebounced.d.ts +2 -8
  38. package/listenResizeThrottled.d.ts +1 -7
  39. package/listenScroll.d.ts +1 -7
  40. package/listenScrollDebounced.d.ts +1 -7
  41. package/listenScrollThrottled.d.ts +1 -7
  42. package/off.d.ts +1 -5
  43. package/on.d.ts +1 -7
  44. package/onClickOutside.d.ts +1 -1
  45. package/once.d.ts +2 -7
  46. package/package.json +9 -11
  47. package/removeClass.d.ts +1 -5
  48. package/scrollTo.d.ts +1 -12
  49. package/setDataAttr.d.ts +1 -9
  50. package/setVendorCSS.d.ts +1 -9
  51. package/siblings.d.ts +1 -7
  52. package/toArray.d.ts +1 -7
  53. package/types.d.ts +1 -6
  54. package/unlisten.d.ts +1 -11
  55. package/$$.d.ts +0 -10
  56. package/$$.js +0 -29
  57. package/$$.mjs +0 -11
  58. package/$.js +0 -32
  59. package/$.mjs +0 -14
  60. package/$each.js +0 -27
  61. package/$each.mjs +0 -16
  62. package/_listen-delegation.js +0 -83
  63. package/_listen-delegation.mjs +0 -77
  64. package/addClass.js +0 -30
  65. package/addClass.mjs +0 -12
  66. package/calculateFixedOffset.js +0 -27
  67. package/calculateFixedOffset.mjs +0 -9
  68. package/createElement.js +0 -28
  69. package/createElement.mjs +0 -15
  70. package/emitEvent.js +0 -28
  71. package/emitEvent.mjs +0 -10
  72. package/escapeSelector.js +0 -27
  73. package/escapeSelector.mjs +0 -9
  74. package/exists.js +0 -29
  75. package/exists.mjs +0 -11
  76. package/forEach.js +0 -28
  77. package/forEach.mjs +0 -10
  78. package/getDataAttr.js +0 -30
  79. package/getDataAttr.mjs +0 -12
  80. package/getDocumentHeight.js +0 -27
  81. package/getDocumentHeight.mjs +0 -9
  82. package/getHeight.js +0 -24
  83. package/getHeight.mjs +0 -6
  84. package/getListeners.js +0 -29
  85. package/getListeners.mjs +0 -17
  86. package/getOffset.js +0 -38
  87. package/getOffset.mjs +0 -20
  88. package/getOffsetTop.js +0 -37
  89. package/getOffsetTop.mjs +0 -19
  90. package/getOffsetTopSlim.js +0 -30
  91. package/getOffsetTopSlim.mjs +0 -12
  92. package/getScrollbarWidth.js +0 -24
  93. package/getScrollbarWidth.mjs +0 -6
  94. package/getStyleValue.js +0 -27
  95. package/getStyleValue.mjs +0 -9
  96. package/getVisualBackgroundColor.js +0 -37
  97. package/getVisualBackgroundColor.mjs +0 -19
  98. package/index.js +0 -192
  99. package/index.mjs +0 -45
  100. package/injectCss.js +0 -31
  101. package/injectCss.mjs +0 -13
  102. package/isHidden.js +0 -24
  103. package/isHidden.mjs +0 -6
  104. package/isInViewport.js +0 -30
  105. package/isInViewport.mjs +0 -12
  106. package/isNodeList.js +0 -27
  107. package/isNodeList.mjs +0 -9
  108. package/isTotallyScrolled.js +0 -27
  109. package/isTotallyScrolled.mjs +0 -9
  110. package/listen.js +0 -45
  111. package/listen.mjs +0 -36
  112. package/listenLoaded.js +0 -24
  113. package/listenLoaded.mjs +0 -10
  114. package/listenOnce.js +0 -29
  115. package/listenOnce.mjs +0 -19
  116. package/listenResize.js +0 -21
  117. package/listenResize.mjs +0 -7
  118. package/listenResizeDebounced.js +0 -50
  119. package/listenResizeDebounced.mjs +0 -34
  120. package/listenResizeThrottled.js +0 -23
  121. package/listenResizeThrottled.mjs +0 -8
  122. package/listenScroll.js +0 -24
  123. package/listenScroll.mjs +0 -10
  124. package/listenScrollDebounced.js +0 -23
  125. package/listenScrollDebounced.mjs +0 -8
  126. package/listenScrollThrottled.js +0 -23
  127. package/listenScrollThrottled.mjs +0 -8
  128. package/off.js +0 -27
  129. package/off.mjs +0 -11
  130. package/on.js +0 -36
  131. package/on.mjs +0 -21
  132. package/onClickOutside.js +0 -25
  133. package/onClickOutside.mjs +0 -15
  134. package/once.js +0 -29
  135. package/once.mjs +0 -13
  136. package/removeClass.js +0 -30
  137. package/removeClass.mjs +0 -12
  138. package/scrollTo.js +0 -48
  139. package/scrollTo.mjs +0 -39
  140. package/setDataAttr.js +0 -35
  141. package/setDataAttr.mjs +0 -17
  142. package/setVendorCSS.js +0 -38
  143. package/setVendorCSS.mjs +0 -20
  144. package/siblings.js +0 -36
  145. package/siblings.mjs +0 -18
  146. package/toArray.js +0 -26
  147. package/toArray.mjs +0 -8
  148. package/types.js +0 -4
  149. package/types.mjs +0 -1
  150. package/unlisten.js +0 -45
  151. package/unlisten.mjs +0 -35
@@ -1,8 +1,2 @@
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
- */
7
- export declare const listenResizeThrottled: (el?: Parameters<typeof listenResize>[1], fn: Function, limit: number, context?: unknown) => () => void;
8
- export default listenResizeThrottled;
2
+ export declare let listenResizeThrottled: (el?: Parameters<typeof listenResize>[1], fn: Function, limit: number, context?: unknown) => () => void;
package/listenScroll.d.ts CHANGED
@@ -1,8 +1,2 @@
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
- */
7
- export declare const listenScroll: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
8
- export default listenScroll;
2
+ export declare let listenScroll: (handler: () => void, el?: AnyDOMEventTargetLoose) => () => void;
@@ -1,8 +1,2 @@
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
- */
7
- export declare const listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
8
- export default listenScrollDebounced;
2
+ export declare let listenScrollDebounced: (el?: Parameters<typeof listenScroll>[1], fn: (...args: any[]) => any, wait?: number | undefined, immediate?: boolean | undefined) => () => void;
@@ -1,8 +1,2 @@
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
- */
7
- export declare const listenScrollThrottled: (el?: Parameters<typeof listenScroll>[1], fn: Function, limit: number, context?: unknown) => () => void;
8
- export default listenScrollThrottled;
2
+ export declare let listenScrollThrottled: (el?: Parameters<typeof listenScroll>[1], fn: Function, limit: number, context?: unknown) => () => void;
package/off.d.ts CHANGED
@@ -1,6 +1,2 @@
1
1
  import type { AnyDOMEvent, AnyDOMEventTargetLoose, AnyDOMEventType } from "./types";
2
- /**
3
- * Shortcut for `removeEventListener`
4
- */
5
- export declare function off<TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean): void;
6
- export default off;
2
+ export declare let off: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: EventListenerOptions | boolean) => void;
package/on.d.ts CHANGED
@@ -1,8 +1,2 @@
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
- */
7
- export declare function on<TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean): () => void;
8
- export default on;
2
+ export declare let on: <TType extends AnyDOMEventType>(el: AnyDOMEventTargetLoose, type: TType, handler: (event: AnyDOMEvent<TType>) => void, options?: AddEventListenerOptions | boolean) => () => void;
@@ -1 +1 @@
1
- export declare function onClickOutside(element: HTMLElement, callback: (event: Event) => any, autoUnbind?: boolean): () => void;
1
+ export declare let onClickOutside: <T extends HTMLElement>(element: T, callback: (event: Event) => any, autoUnbind?: boolean) => () => void;
package/once.d.ts CHANGED
@@ -1,7 +1,2 @@
1
- import { AnyDOMEventTargetLoose } from "./types";
2
- /**
3
- * One shot listener, it `addEventListener` and removes it first time is called
4
- * with `removeEventListener`
5
- */
6
- export declare function once(el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean): () => void;
7
- export default once;
1
+ import type { AnyDOMEventTargetLoose } from "./types";
2
+ export declare let once: (el: AnyDOMEventTargetLoose, type: string, handler: EventListener, options?: EventListenerOptions | boolean) => () => void;
package/package.json CHANGED
@@ -2,19 +2,17 @@
2
2
  "name": "@koine/dom",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "clsx": "^1.2.1",
6
- "ts-debounce": "^4.0.0",
7
- "type-fest": "^3.12.0"
5
+ "@koine/utils": "2.0.0-beta.50"
8
6
  },
9
- "peerDependencies": {},
10
- "module": "./index.mjs",
11
- "main": "./index.js",
12
7
  "exports": {
8
+ "./package.json": "./package.json",
13
9
  ".": {
14
- "import": "./index.js",
15
- "require": "./index.js"
10
+ "module": "./index.esm.js",
11
+ "import": "./index.cjs.mjs",
12
+ "default": "./index.cjs.js"
16
13
  }
17
14
  },
18
- "types": "./index.d.ts",
19
- "version": "2.0.0-beta.5"
20
- }
15
+ "module": "./index.esm.js",
16
+ "main": "./index.cjs.js",
17
+ "version": "2.0.0-beta.50"
18
+ }
package/removeClass.d.ts CHANGED
@@ -1,5 +1 @@
1
- /**
2
- * Remove class shortcut
3
- */
4
- export declare function removeClass<T extends Element = HTMLElement>(el?: T, className?: string): void;
5
- export default removeClass;
1
+ export declare let removeClass: <T extends Element>(el?: T | undefined, className?: string) => void;
package/scrollTo.d.ts CHANGED
@@ -1,12 +1 @@
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
- export declare function scrollTo(destination: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior): void;
12
- export default scrollTo;
1
+ export declare let scrollTo: (destination: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
package/setDataAttr.d.ts CHANGED
@@ -1,9 +1 @@
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
- export declare function setDataAttr(element: Element, attribute: string, value?: string | number | null | boolean): void;
9
- export default setDataAttr;
1
+ export declare let setDataAttr: <T extends Element>(element: T, attribute: string, value?: string | number | null | boolean) => void;
package/setVendorCSS.d.ts CHANGED
@@ -1,9 +1 @@
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
- export declare function setVendorCSS(element: HTMLElement, prop: string, value: string | number | boolean): void;
9
- export default setVendorCSS;
1
+ export declare let setVendorCSS: <T extends HTMLElement>(element: T, prop: string, value: string | number | boolean) => void;
package/siblings.d.ts CHANGED
@@ -1,7 +1 @@
1
- /**
2
- * Finds siblings nodes of the passed node.
3
- *
4
- * @borrows @glidejs/glide/src/utils/dom (source)
5
- */
6
- export declare function siblings(node: Element): Element[];
7
- export default siblings;
1
+ export declare let siblings: <T extends Element>(node: T) => Element[];
package/toArray.d.ts CHANGED
@@ -1,7 +1 @@
1
- /**
2
- * Node list to array
3
- *
4
- * @param nodeList
5
- */
6
- export declare function toArray<T extends Element = HTMLElement>(nodeList: NodeListOf<T> | HTMLFormControlsCollection): T[] | HTMLFormElement[];
7
- export default toArray;
1
+ export declare let toArray: <T extends Element>(nodeList: NodeListOf<T> | HTMLFormControlsCollection) => T[] | HTMLFormElement[];
package/types.d.ts CHANGED
@@ -1,10 +1,5 @@
1
- import { LiteralUnion } from "type-fest";
2
- import type { AnythingFalsy } from "@koine/utils/types";
1
+ import type { AnythingFalsy, LiteralUnion } from "@koine/utils";
3
2
  export type AnyDOMEventTarget = Window | Document | HTMLElement | Element;
4
- /**
5
- * We use it either throwing an error on unexisting element or falling back
6
- * to `window` in case of _scroll_ or _resize_ events
7
- */
8
3
  export type AnyDOMEventTargetLoose = AnyDOMEventTarget | AnythingFalsy;
9
4
  type StandardDOMEventTypes = keyof GlobalEventHandlersEventMap;
10
5
  export type AnyDOMEventType = LiteralUnion<StandardDOMEventTypes | "storage" | "popstate", string>;
package/unlisten.d.ts CHANGED
@@ -1,13 +1,3 @@
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
- */
12
- export declare function unlisten<TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>): void;
13
- export default unlisten;
3
+ export declare let unlisten: <TTypes extends AnyDOMEventType, TTarget extends AnyDOMEventTarget = AnyDOMEventTarget>(types: TTypes, selector: string, callback: EventCallback<TTarget, TTypes>) => void;
package/$$.d.ts DELETED
@@ -1,10 +0,0 @@
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
- */
9
- export declare function $$<T extends Element = HTMLElement>(selector: string, parent?: Element | HTMLElement | Document | null, avoidEscape?: boolean): NodeListOf<T>;
10
- export default $$;
package/$$.js DELETED
@@ -1,29 +0,0 @@
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
- */ "use strict";
9
- Object.defineProperty(exports, "__esModule", {
10
- value: true
11
- });
12
- function _export(target, all) {
13
- for(var name in all)Object.defineProperty(target, name, {
14
- enumerable: true,
15
- get: all[name]
16
- });
17
- }
18
- _export(exports, {
19
- $$: function() {
20
- return $$;
21
- },
22
- default: function() {
23
- return _default;
24
- }
25
- });
26
- function $$(selector, parent, avoidEscape) {
27
- return (parent ? parent : document).querySelectorAll(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
28
- }
29
- const _default = $$;
package/$$.mjs DELETED
@@ -1,11 +0,0 @@
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
- */ export function $$(selector, parent, avoidEscape) {
9
- return (parent ? parent : document).querySelectorAll(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
10
- }
11
- export default $$;
package/$.js DELETED
@@ -1,32 +0,0 @@
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 = $(".my-section:");
10
- * const $el = $("[data-some-attr]", $container);
11
- */ "use strict";
12
- Object.defineProperty(exports, "__esModule", {
13
- value: true
14
- });
15
- function _export(target, all) {
16
- for(var name in all)Object.defineProperty(target, name, {
17
- enumerable: true,
18
- get: all[name]
19
- });
20
- }
21
- _export(exports, {
22
- $: function() {
23
- return $;
24
- },
25
- default: function() {
26
- return _default;
27
- }
28
- });
29
- function $(selector, parent, avoidEscape) {
30
- return (parent ? parent : document).querySelector(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
31
- }
32
- const _default = $;
package/$.mjs DELETED
@@ -1,14 +0,0 @@
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 = $(".my-section:");
10
- * const $el = $("[data-some-attr]", $container);
11
- */ export function $(selector, parent, avoidEscape) {
12
- return (parent ? parent : document).querySelector(avoidEscape ? selector : selector.replace(/:/g, "\\:"));
13
- }
14
- export default $;
package/$each.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- $each: function() {
13
- return $each;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
20
- const _$$ = /*#__PURE__*/ _interop_require_default._(require("./$$"));
21
- function $each(selector, callback, parent, scope) {
22
- const nodes = (0, _$$.default)(selector, parent);
23
- for(let i = 0; i < nodes.length; i++){
24
- callback.call(scope, nodes[i], i);
25
- }
26
- }
27
- const _default = $each;
package/$each.mjs DELETED
@@ -1,16 +0,0 @@
1
- import $$ from "./$$";
2
- /**
3
- * Each shortcut, iterate through a NodeList of HTMLElements retrieved with the
4
- * given selector (and optionally a parent container passed as thrid arguement)
5
- *
6
- * @param selector DOM selector
7
- * @param callback
8
- * @param parent It falls back to `window.document`
9
- * @param scope
10
- */ export function $each(selector, callback, parent, scope) {
11
- const nodes = $$(selector, parent);
12
- for(let i = 0; i < nodes.length; i++){
13
- callback.call(scope, nodes[i], i);
14
- }
15
- }
16
- export default $each;
@@ -1,83 +0,0 @@
1
- /**
2
- * Listen: events delegation system
3
- *
4
- * From:
5
- * https://github.com/cferdinandi/events
6
- * https://github.com/cferdinandi/events/blob/master/src/js/events/events.js
7
- *
8
- * @fileoverview
9
- */ "use strict";
10
- Object.defineProperty(exports, "__esModule", {
11
- value: true
12
- });
13
- function _export(target, all) {
14
- for(var name in all)Object.defineProperty(target, name, {
15
- enumerable: true,
16
- get: all[name]
17
- });
18
- }
19
- _export(exports, {
20
- activeEvents: function() {
21
- return activeEvents;
22
- },
23
- getIndex: function() {
24
- return getIndex;
25
- },
26
- getRunTarget: function() {
27
- return getRunTarget;
28
- },
29
- eventHandler: function() {
30
- return eventHandler;
31
- }
32
- });
33
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
34
- const _isString = /*#__PURE__*/ _interop_require_default._(require("@koine/utils/isString"));
35
- const _escapeSelector = /*#__PURE__*/ _interop_require_default._(require("./escapeSelector"));
36
- const activeEvents = {};
37
- function getIndex(arr, selector, callback) {
38
- for(let i = 0; i < arr.length; i++){
39
- if (arr[i].selector === selector && arr[i].callback.toString() === callback.toString()) return i;
40
- }
41
- return -1;
42
- }
43
- function getRunTarget(target, selector) {
44
- // @ts-expect-error FIXME: type
45
- if ([
46
- "*",
47
- "window",
48
- window
49
- ].includes(selector)) {
50
- return window;
51
- }
52
- if ([
53
- "document",
54
- "document.documentElement",
55
- document,
56
- document.documentElement
57
- ].includes(selector)) return document;
58
- if ((0, _isString.default)(selector)) {
59
- return target.closest((0, _escapeSelector.default)(selector));
60
- }
61
- // @ts-expect-error FIXME: type
62
- if (typeof selector !== "string" && selector.contains) {
63
- if (selector === target) {
64
- return target;
65
- }
66
- // @ts-expect-error FIXME: type
67
- if (selector.contains(target)) {
68
- return selector;
69
- }
70
- return false;
71
- }
72
- return false;
73
- }
74
- function eventHandler(event) {
75
- // if (!activeEvents[event.type]) return;
76
- activeEvents[event.type]?.forEach(function(listener) {
77
- const target = getRunTarget(event.target, listener.selector);
78
- if (!target) {
79
- return;
80
- }
81
- listener.callback(event, target);
82
- });
83
- }
@@ -1,77 +0,0 @@
1
- /**
2
- * Listen: events delegation system
3
- *
4
- * From:
5
- * https://github.com/cferdinandi/events
6
- * https://github.com/cferdinandi/events/blob/master/src/js/events/events.js
7
- *
8
- * @fileoverview
9
- */ import isString from "@koine/utils/isString";
10
- import escapeSelector from "./escapeSelector";
11
- /**
12
- * Active events
13
- *
14
- * @internal
15
- */ export const activeEvents = {};
16
- /**
17
- * Get the index for the listener
18
- *
19
- * @internal
20
- */ export function getIndex(arr, selector, callback) {
21
- for(let i = 0; i < arr.length; i++){
22
- if (arr[i].selector === selector && arr[i].callback.toString() === callback.toString()) return i;
23
- }
24
- return -1;
25
- }
26
- /**
27
- * Check if the listener callback should run or not
28
- *
29
- * @internal
30
- * @param target The event.target
31
- * @param selector The selector/element to check the target against
32
- * @return If not false, run listener and pass the targeted element to use in the callback
33
- */ export function getRunTarget(target, selector) {
34
- // @ts-expect-error FIXME: type
35
- if ([
36
- "*",
37
- "window",
38
- window
39
- ].includes(selector)) {
40
- return window;
41
- }
42
- if ([
43
- "document",
44
- "document.documentElement",
45
- document,
46
- document.documentElement
47
- ].includes(selector)) return document;
48
- if (isString(selector)) {
49
- return target.closest(escapeSelector(selector));
50
- }
51
- // @ts-expect-error FIXME: type
52
- if (typeof selector !== "string" && selector.contains) {
53
- if (selector === target) {
54
- return target;
55
- }
56
- // @ts-expect-error FIXME: type
57
- if (selector.contains(target)) {
58
- return selector;
59
- }
60
- return false;
61
- }
62
- return false;
63
- }
64
- /**
65
- * Handle listeners after event fires
66
- *
67
- * @internal
68
- */ export function eventHandler(event) {
69
- // if (!activeEvents[event.type]) return;
70
- activeEvents[event.type]?.forEach(function(listener) {
71
- const target = getRunTarget(event.target, listener.selector);
72
- if (!target) {
73
- return;
74
- }
75
- listener.callback(event, target);
76
- });
77
- }
package/addClass.js DELETED
@@ -1,30 +0,0 @@
1
- /**
2
- * Add class shortcut
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- function _export(target, all) {
8
- for(var name in all)Object.defineProperty(target, name, {
9
- enumerable: true,
10
- get: all[name]
11
- });
12
- }
13
- _export(exports, {
14
- addClass: function() {
15
- return addClass;
16
- },
17
- default: function() {
18
- return _default;
19
- }
20
- });
21
- function addClass(el, className = "") {
22
- if (process.env["NODE_ENV"] !== "production") {
23
- if (!el) {
24
- console.warn("[@koine/dom:addClass] unexisting DOM element");
25
- return;
26
- }
27
- }
28
- if (el) el.classList.add(className);
29
- }
30
- const _default = addClass;
package/addClass.mjs DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Add class shortcut
3
- */ export function addClass(el, className = "") {
4
- if (process.env["NODE_ENV"] !== "production") {
5
- if (!el) {
6
- console.warn("[@koine/dom:addClass] unexisting DOM element");
7
- return;
8
- }
9
- }
10
- if (el) el.classList.add(className);
11
- }
12
- export default addClass;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- calculateFixedOffset: function() {
13
- return calculateFixedOffset;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- const _$each = require("./$each");
20
- function calculateFixedOffset(selector = "[data-fixed]") {
21
- let fixedOffset = 0;
22
- (0, _$each.$each)(selector, ($el)=>{
23
- fixedOffset += $el.offsetHeight;
24
- });
25
- return fixedOffset;
26
- }
27
- const _default = calculateFixedOffset;
@@ -1,9 +0,0 @@
1
- import { $each } from "./$each";
2
- export function 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;
package/createElement.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- createElement: function() {
13
- return createElement;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
20
- const _addClass = /*#__PURE__*/ _interop_require_default._(require("./addClass"));
21
- function createElement(type, className) {
22
- const el = document.createElement(type);
23
- if (className) {
24
- (0, _addClass.default)(el, className);
25
- }
26
- return el;
27
- }
28
- const _default = createElement;
package/createElement.mjs DELETED
@@ -1,15 +0,0 @@
1
- import addClass from "./addClass";
2
- /**
3
- * Shortcut for `document.createElement`, allowing to to create an HTML element
4
- * with a given className directly (a very common use case)
5
- *
6
- * @param type
7
- * @param className
8
- */ export function createElement(type, className) {
9
- const el = document.createElement(type);
10
- if (className) {
11
- addClass(el, className);
12
- }
13
- return el;
14
- }
15
- export default createElement;