ag-common 0.0.190 → 0.0.191

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.
@@ -3,4 +3,13 @@ export interface IScroll {
3
3
  x: number;
4
4
  scrolled: boolean;
5
5
  }
6
- export declare function useOnScroll(): IScroll;
6
+ export declare function useOnScroll({ onScroll, element, }?: {
7
+ /**
8
+ * defaults to window
9
+ */
10
+ element?: Element;
11
+ /**
12
+ * if provided will call on move
13
+ */
14
+ onScroll?: (e: Event, st: IScroll) => void;
15
+ }): IScroll;
@@ -14,22 +14,24 @@ function debounce(callback, time, ...args) {
14
14
  }, time);
15
15
  };
16
16
  }
17
- function useOnScroll() {
17
+ function useOnScroll({ onScroll, element, } = {}) {
18
18
  const [state, setState] = (0, react_1.useState)({ scrolled: false, x: 0, y: 0 });
19
19
  (0, react_1.useEffect)(() => {
20
- const listener = () => {
21
- const y = window.scrollY;
22
- const x = window.scrollX;
20
+ const listener = (e) => {
21
+ var _a, _b;
22
+ const y = (_a = element === null || element === void 0 ? void 0 : element.scrollTop) !== null && _a !== void 0 ? _a : window.scrollY;
23
+ const x = (_b = element === null || element === void 0 ? void 0 : element.scrollLeft) !== null && _b !== void 0 ? _b : window.scrollX;
23
24
  const r = { y, x, scrolled: !!y || !!x };
24
25
  setState(r);
26
+ onScroll === null || onScroll === void 0 ? void 0 : onScroll(e, r);
25
27
  };
26
- document.addEventListener(`scroll`, debounce(listener, 10), {
28
+ document.addEventListener(`scroll`, (e) => debounce(() => listener(e), 10), {
27
29
  passive: true,
28
30
  });
29
31
  return () => {
30
32
  document.removeEventListener(`scroll`, listener);
31
33
  };
32
- }, []);
34
+ }, [element, onScroll]);
33
35
  return state;
34
36
  }
35
37
  exports.useOnScroll = useOnScroll;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-common",
3
- "version": "0.0.190",
3
+ "version": "0.0.191",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Andrei Gec <@andreigec> (https://gec.dev/)",