@uxf/core 1.9.2 → 1.10.3

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/README.md CHANGED
@@ -71,7 +71,9 @@ useKeydownToMouseClick<HTMLDivElement>(innerRef, (e: KeyboardEvent) => e.key ===
71
71
  ```tsx
72
72
  import { useMinWindowWidth } from "@uxf/core/hooks/useMinWindowWidth";
73
73
 
74
- const isDesktop = useMinWindowWidth(992 /* desired min window width */, 1280 /* initial window width (optional) */);
74
+ const isDesktop = useMinWindowWidth(1200);
75
+
76
+ const example = isDesktop ? "desktop" : "tablet";
75
77
  ```
76
78
 
77
79
  ```ts
@@ -98,9 +100,18 @@ import { useUpdateEffect } from "@uxf/core/hooks/useUpdateEffect";
98
100
  useUpdateEffect(() => {/* code */}, [/* deps */]);
99
101
  ```
100
102
  ```tsx
103
+ import { useWindowScroll } from "@uxf/core/hooks/useWindowScroll";
104
+
105
+ const windowScroll = useWindowScroll();
106
+
107
+ const example = windowScroll && windowScroll.y > 100 ? "scroled" : "on top";
108
+ ```
109
+ ```tsx
101
110
  import { useWindowSize } from "@uxf/core/hooks/useWindowSize";
102
111
 
103
- const { width, height } = useWindowSize(1280 /* initial window width (optional) */, 800 /* initial window height (optional) */);
112
+ const windowSize = useWindowSize();
113
+
114
+ const example = windowSize && windowSize.width > 1200 ? "desktop" : "tablet";
104
115
  ```
105
116
 
106
117
  ## Next
@@ -1 +1 @@
1
- export declare function useMinWindowWidth(minWidth: number, initialWidth?: number): boolean;
1
+ export declare function useMinWindowWidth(minWidth: number): boolean | undefined;
@@ -15,29 +15,23 @@ var __read = (this && this.__read) || function (o, n) {
15
15
  }
16
16
  return ar;
17
17
  };
18
- var __importDefault = (this && this.__importDefault) || function (mod) {
19
- return (mod && mod.__esModule) ? mod : { "default": mod };
20
- };
21
18
  Object.defineProperty(exports, "__esModule", { value: true });
22
- var lodash_debounce_1 = __importDefault(require("lodash.debounce"));
23
19
  var react_1 = require("react");
24
20
  var isBrowser_1 = require("../utils/isBrowser");
25
- var useIsMounted_1 = require("./useIsMounted");
26
21
  var useRafState_1 = require("./useRafState");
27
- function useMinWindowWidth(minWidth, initialWidth) {
28
- if (initialWidth === void 0) { initialWidth = 1200; }
29
- var _a = __read(useRafState_1.useRafState((isBrowser_1.isBrowser ? window.innerWidth : initialWidth) >= minWidth), 2), state = _a[0], setState = _a[1];
30
- var isMounted = useIsMounted_1.useIsMounted();
22
+ function useMinWindowWidth(minWidth) {
23
+ var _a = __read(useRafState_1.useRafState(undefined), 2), state = _a[0], setState = _a[1];
31
24
  react_1.useEffect(function () {
32
25
  if (isBrowser_1.isBrowser) {
33
- var handler_1 = lodash_debounce_1.default(function () { return setState(window.innerWidth >= minWidth); }, 100);
26
+ var handler_1 = function () { return setState(window.innerWidth >= minWidth); };
27
+ handler_1();
34
28
  window.addEventListener("resize", handler_1);
35
29
  return function () {
36
30
  window.removeEventListener("resize", handler_1);
37
31
  };
38
32
  }
39
- }, []);
40
- return isMounted ? state : false;
33
+ }, [minWidth, setState]);
34
+ return state;
41
35
  }
42
36
  exports.useMinWindowWidth = useMinWindowWidth;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTWluV2luZG93V2lkdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlTWluV2luZG93V2lkdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0VBQXVDO0FBQ3ZDLCtCQUFrQztBQUNsQyxnREFBK0M7QUFDL0MsK0NBQThDO0FBQzlDLDZDQUE0QztBQUU1QyxTQUFnQixpQkFBaUIsQ0FBQyxRQUFnQixFQUFFLFlBQW1CO0lBQW5CLDZCQUFBLEVBQUEsbUJBQW1CO0lBQzdELElBQUEsaUhBQW9HLEVBQW5HLGFBQUssRUFBRSxnQkFBNEYsQ0FBQztJQUMzRyxJQUFNLFNBQVMsR0FBRywyQkFBWSxFQUFFLENBQUM7SUFFakMsaUJBQVMsQ0FBQztRQUNOLElBQUkscUJBQVMsRUFBRTtZQUNYLElBQU0sU0FBTyxHQUFHLHlCQUFRLENBQUMsY0FBTSxPQUFBLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxFQUF2QyxDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRTdFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsU0FBTyxDQUFDLENBQUM7WUFDM0MsT0FBTztnQkFDSCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFNBQU8sQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQztTQUNMO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3JDLENBQUM7QUFoQkQsOENBZ0JDIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTWluV2luZG93V2lkdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlTWluV2luZG93V2lkdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQWtDO0FBQ2xDLGdEQUErQztBQUMvQyw2Q0FBNEM7QUFFNUMsU0FBZ0IsaUJBQWlCLENBQUMsUUFBZ0I7SUFDeEMsSUFBQSxvREFBK0QsRUFBOUQsYUFBSyxFQUFFLGdCQUF1RCxDQUFDO0lBRXRFLGlCQUFTLENBQUM7UUFDTixJQUFJLHFCQUFTLEVBQUU7WUFDWCxJQUFNLFNBQU8sR0FBRyxjQUFNLE9BQUEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLEVBQXZDLENBQXVDLENBQUM7WUFDOUQsU0FBTyxFQUFFLENBQUM7WUFFVixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFNBQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU87Z0JBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxTQUFPLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7U0FDTDtJQUNMLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXpCLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFoQkQsOENBZ0JDIn0=
@@ -0,0 +1,4 @@
1
+ export declare function useWindowScroll(): {
2
+ x: number;
3
+ y: number;
4
+ } | undefined;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ var react_1 = require("react");
20
+ var isBrowser_1 = require("../utils/isBrowser");
21
+ var useRafState_1 = require("./useRafState");
22
+ function useWindowScroll() {
23
+ var _a = __read(useRafState_1.useRafState(undefined), 2), state = _a[0], setState = _a[1];
24
+ react_1.useEffect(function () {
25
+ if (isBrowser_1.isBrowser) {
26
+ var handler_1 = function () {
27
+ return setState({
28
+ x: window.pageXOffset,
29
+ y: window.pageYOffset,
30
+ });
31
+ };
32
+ handler_1();
33
+ window.addEventListener("scroll", handler_1, {
34
+ capture: false,
35
+ passive: true,
36
+ });
37
+ return function () {
38
+ window.removeEventListener("scroll", handler_1);
39
+ };
40
+ }
41
+ }, [setState]);
42
+ return state;
43
+ }
44
+ exports.useWindowScroll = useWindowScroll;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2luZG93U2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVdpbmRvd1Njcm9sbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBa0M7QUFDbEMsZ0RBQStDO0FBQy9DLDZDQUE0QztBQUU1QyxTQUFnQixlQUFlO0lBQ3JCLElBQUEsb0RBQWdGLEVBQS9FLGFBQUssRUFBRSxnQkFBd0UsQ0FBQztJQUV2RixpQkFBUyxDQUFDO1FBQ04sSUFBSSxxQkFBUyxFQUFFO1lBQ1gsSUFBTSxTQUFPLEdBQUc7Z0JBQ1osT0FBQSxRQUFRLENBQUM7b0JBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUNyQixDQUFDLEVBQUUsTUFBTSxDQUFDLFdBQVc7aUJBQ3hCLENBQUM7WUFIRixDQUdFLENBQUM7WUFDUCxTQUFPLEVBQUUsQ0FBQztZQUVWLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsU0FBTyxFQUFFO2dCQUN2QyxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7WUFDSCxPQUFPO2dCQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBTyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDO1NBQ0w7SUFDTCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQXZCRCwwQ0F1QkMifQ==
@@ -1,4 +1,4 @@
1
- export declare function useWindowSize(initialWidth?: number, initialHeight?: number): {
1
+ export declare function useWindowSize(): {
2
2
  width: number;
3
3
  height: number;
4
- };
4
+ } | undefined;
@@ -19,28 +19,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  var react_1 = require("react");
20
20
  var isBrowser_1 = require("../utils/isBrowser");
21
21
  var useRafState_1 = require("./useRafState");
22
- function useWindowSize(initialWidth, initialHeight) {
23
- if (initialWidth === void 0) { initialWidth = Infinity; }
24
- if (initialHeight === void 0) { initialHeight = Infinity; }
25
- var _a = __read(useRafState_1.useRafState({
26
- width: isBrowser_1.isBrowser ? window.innerWidth : initialWidth,
27
- height: isBrowser_1.isBrowser ? window.innerHeight : initialHeight,
28
- }), 2), state = _a[0], setState = _a[1];
22
+ function useWindowSize() {
23
+ var _a = __read(useRafState_1.useRafState(undefined), 2), state = _a[0], setState = _a[1];
29
24
  react_1.useEffect(function () {
30
25
  if (isBrowser_1.isBrowser) {
31
26
  var handler_1 = function () {
32
- setState({
27
+ return setState({
33
28
  width: window.innerWidth,
34
29
  height: window.innerHeight,
35
30
  });
36
31
  };
32
+ handler_1();
37
33
  window.addEventListener("resize", handler_1);
38
34
  return function () {
39
35
  window.removeEventListener("resize", handler_1);
40
36
  };
41
37
  }
42
- }, []);
38
+ }, [setState]);
43
39
  return state;
44
40
  }
45
41
  exports.useWindowSize = useWindowSize;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2luZG93U2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VXaW5kb3dTaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUFrQztBQUNsQyxnREFBK0M7QUFDL0MsNkNBQTRDO0FBRTVDLFNBQWdCLGFBQWEsQ0FBQyxZQUF1QixFQUFFLGFBQXdCO0lBQWpELDZCQUFBLEVBQUEsdUJBQXVCO0lBQUUsOEJBQUEsRUFBQSx3QkFBd0I7SUFDckUsSUFBQTs7O1VBR0osRUFISyxhQUFLLEVBQUUsZ0JBR1osQ0FBQztJQUVILGlCQUFTLENBQUM7UUFDTixJQUFJLHFCQUFTLEVBQUU7WUFDWCxJQUFNLFNBQU8sR0FBRztnQkFDWixRQUFRLENBQUM7b0JBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO29CQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVc7aUJBQzdCLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsU0FBTyxDQUFDLENBQUM7WUFDM0MsT0FBTztnQkFDSCxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFNBQU8sQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQztTQUNMO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQXZCRCxzQ0F1QkMifQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2luZG93U2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VXaW5kb3dTaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUFrQztBQUNsQyxnREFBK0M7QUFDL0MsNkNBQTRDO0FBRTVDLFNBQWdCLGFBQWE7SUFDbkIsSUFBQSxvREFBeUYsRUFBeEYsYUFBSyxFQUFFLGdCQUFpRixDQUFDO0lBRWhHLGlCQUFTLENBQUM7UUFDTixJQUFJLHFCQUFTLEVBQUU7WUFDWCxJQUFNLFNBQU8sR0FBRztnQkFDWixPQUFBLFFBQVEsQ0FBQztvQkFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVU7b0JBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztpQkFDN0IsQ0FBQztZQUhGLENBR0UsQ0FBQztZQUNQLFNBQU8sRUFBRSxDQUFDO1lBRVYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxTQUFPLENBQUMsQ0FBQztZQUMzQyxPQUFPO2dCQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBTyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDO1NBQ0w7SUFDTCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQXBCRCxzQ0FvQkMifQ==
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@uxf/core",
3
- "version": "1.9.2",
3
+ "version": "1.10.3",
4
4
  "description": "UXF Core",
5
5
  "author": "Petr Vejvoda <vejvoda@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/core#readme",
7
7
  "license": "ISC",
8
- "main": "dist/index.js",
9
- "typings": "dist/index.d.ts",
10
- "module": "dist/index.js",
8
+ "main": "index.js",
9
+ "typings": "index.d.ts",
10
+ "module": "index.js",
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },