@uxf/core 2.2.4 → 3.0.0
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 +28 -6
- package/constants/classes.d.ts +4 -2
- package/constants/classes.js +5 -3
- package/hooks/useFocusReturn.js +3 -3
- package/hooks/useFocusTrap.js +3 -3
- package/hooks/useKey.js +2 -3
- package/hooks/useLatest.d.ts +1 -0
- package/hooks/useLatest.js +11 -0
- package/hooks/useMinWindowWidth.d.ts +1 -1
- package/hooks/useMinWindowWidth.js +20 -10
- package/hooks/useOnMount.d.ts +2 -0
- package/hooks/useOnMount.js +11 -0
- package/hooks/useOnUnmount.d.ts +2 -0
- package/hooks/useOnUnmount.js +16 -0
- package/hooks/useOnUpdate.d.ts +2 -0
- package/hooks/useOnUpdate.js +16 -0
- package/hooks/usePrevious.d.ts +1 -0
- package/hooks/usePrevious.js +13 -0
- package/hooks/useRafState.js +3 -3
- package/hooks/useTabs.d.ts +2 -0
- package/hooks/useTabs.js +5 -3
- package/hooks/useWindowScroll.js +1 -5
- package/hooks/useWindowSize.js +1 -5
- package/package.json +2 -2
- package/hooks/useUnmount.d.ts +0 -1
- package/hooks/useUnmount.js +0 -12
- package/hooks/useUpdateEffect.d.ts +0 -2
- package/hooks/useUpdateEffect.js +0 -17
package/README.md
CHANGED
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
- `is-busy`
|
|
9
9
|
- `is-disabled`
|
|
10
10
|
- `is-focused`
|
|
11
|
-
- `is-hovered`
|
|
12
11
|
- `is-hoverable`
|
|
12
|
+
- `is-hovered`
|
|
13
13
|
- `is-invalid`
|
|
14
|
+
- `is-loading`
|
|
15
|
+
- `is-not-hoverable`
|
|
14
16
|
- `is-readonly`
|
|
17
|
+
- `is-required`
|
|
15
18
|
- `is-selected`
|
|
16
|
-
- `is-not-hoverable`
|
|
17
19
|
|
|
18
20
|
## Cookie
|
|
19
21
|
|
|
@@ -86,8 +88,10 @@ useKey<HTMLDivElement>("Enter", () => console.log("callback"), {
|
|
|
86
88
|
import { useMinWindowWidth } from "@uxf/core/hooks/useMinWindowWidth";
|
|
87
89
|
|
|
88
90
|
const isDesktop = useMinWindowWidth(1200);
|
|
91
|
+
const isDesktopWithDebounce = useMinWindowWidth(1200, 200); // will be updated every 200 ms
|
|
89
92
|
|
|
90
93
|
const example = isDesktop ? "desktop" : "tablet";
|
|
94
|
+
const debouncedExample = isDesktopWithDebounce ? "debouncedDesktop" : "debouncedTablet";
|
|
91
95
|
```
|
|
92
96
|
|
|
93
97
|
```ts
|
|
@@ -102,16 +106,16 @@ import { useRafState } from "@uxf/core/hooks/useRafState";
|
|
|
102
106
|
const [state, setState] = useRafState<boolean>(false);
|
|
103
107
|
```
|
|
104
108
|
```tsx
|
|
105
|
-
import {
|
|
109
|
+
import { useOnUnmount } from "@uxf/core/hooks/useOnUnmount";
|
|
106
110
|
|
|
107
111
|
const exampleCallback = () => {};
|
|
108
112
|
|
|
109
|
-
|
|
113
|
+
useOnUnmount(exampleCallback());
|
|
110
114
|
```
|
|
111
115
|
```tsx
|
|
112
|
-
import {
|
|
116
|
+
import { useOnUpdate } from "@uxf/core/hooks/useOnUpdate";
|
|
113
117
|
|
|
114
|
-
|
|
118
|
+
useOnUpdate(() => {/* code */}, [/* deps */]);
|
|
115
119
|
```
|
|
116
120
|
```tsx
|
|
117
121
|
import { useWindowScroll } from "@uxf/core/hooks/useWindowScroll";
|
|
@@ -262,6 +266,24 @@ const input = useInputFocus(focusRef, onBlur, onFocus);
|
|
|
262
266
|
<button onClick={input.focus}>Focus input</button>
|
|
263
267
|
<input onBlur={input.onBlur} onFocus={input.onFocus} ref={focusRef} />
|
|
264
268
|
```
|
|
269
|
+
```tsx
|
|
270
|
+
import { useLatest } from "@uxf/core/hooks/useLatest";
|
|
271
|
+
|
|
272
|
+
const latestState = useLatest(someUnstableWhatever);
|
|
273
|
+
|
|
274
|
+
useEffect(() => {
|
|
275
|
+
latestState.current(); // use newest state of 'someUnstableWhatever' without affecting this effetct update
|
|
276
|
+
}, [latestState])
|
|
277
|
+
```
|
|
278
|
+
```tsx
|
|
279
|
+
import { usePrevious } from "@uxf/core/hooks/usePrevious";
|
|
280
|
+
|
|
281
|
+
const previousState = usePrevious(someUnstableWhatever);
|
|
282
|
+
|
|
283
|
+
useEffect(() => {
|
|
284
|
+
previousState.current(); // use state of 'someUnstableWhatever' from previous render without affecting this effetct update
|
|
285
|
+
}, [previousState])
|
|
286
|
+
```
|
|
265
287
|
|
|
266
288
|
## Next
|
|
267
289
|
```tsx
|
package/constants/classes.d.ts
CHANGED
|
@@ -5,10 +5,12 @@ export declare const CLASSES: {
|
|
|
5
5
|
readonly IS_BUSY: "is-busy";
|
|
6
6
|
readonly IS_DISABLED: "is-disabled";
|
|
7
7
|
readonly IS_FOCUSED: "is-focused";
|
|
8
|
-
readonly IS_HOVERED: "is-hovered";
|
|
9
8
|
readonly IS_HOVERABLE: "is-hoverable";
|
|
9
|
+
readonly IS_HOVERED: "is-hovered";
|
|
10
10
|
readonly IS_INVALID: "is-invalid";
|
|
11
|
+
readonly IS_LOADING: "is-loading";
|
|
12
|
+
readonly IS_NOT_HOVERABLE: "is-not-hoverable";
|
|
11
13
|
readonly IS_READONLY: "is-readonly";
|
|
14
|
+
readonly IS_REQUIRED: "is-required";
|
|
12
15
|
readonly IS_SELECTED: "is-selected";
|
|
13
|
-
readonly IS_NOT_HOVERABLE: "is-not-hoverable";
|
|
14
16
|
};
|
package/constants/classes.js
CHANGED
|
@@ -8,11 +8,13 @@ exports.CLASSES = {
|
|
|
8
8
|
IS_BUSY: "is-busy",
|
|
9
9
|
IS_DISABLED: "is-disabled",
|
|
10
10
|
IS_FOCUSED: "is-focused",
|
|
11
|
-
IS_HOVERED: "is-hovered",
|
|
12
11
|
IS_HOVERABLE: "is-hoverable",
|
|
12
|
+
IS_HOVERED: "is-hovered",
|
|
13
13
|
IS_INVALID: "is-invalid",
|
|
14
|
+
IS_LOADING: "is-loading",
|
|
15
|
+
IS_NOT_HOVERABLE: "is-not-hoverable",
|
|
14
16
|
IS_READONLY: "is-readonly",
|
|
17
|
+
IS_REQUIRED: "is-required",
|
|
15
18
|
IS_SELECTED: "is-selected",
|
|
16
|
-
IS_NOT_HOVERABLE: "is-not-hoverable",
|
|
17
19
|
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvY2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBd0Q7QUFDM0MsUUFBQSxPQUFPLEdBQUc7SUFDbkIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFdBQVcsRUFBRSxhQUFhO0NBQ3BCLENBQUMifQ==
|
package/hooks/useFocusReturn.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useFocusReturn = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
var
|
|
5
|
+
var useOnUpdate_1 = require("./useOnUpdate");
|
|
6
6
|
function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
|
|
7
7
|
if (transitionDuration === void 0) { transitionDuration = 0; }
|
|
8
8
|
if (shouldReturnFocus === void 0) { shouldReturnFocus = true; }
|
|
@@ -13,7 +13,7 @@ function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
|
|
|
13
13
|
node.focus();
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
(0,
|
|
16
|
+
(0, useOnUpdate_1.useOnUpdate)(function () {
|
|
17
17
|
var timeout = -1;
|
|
18
18
|
var clearFocusTimeout = function (e) {
|
|
19
19
|
if (e.key === "Tab") {
|
|
@@ -35,4 +35,4 @@ function useFocusReturn(opened, transitionDuration, shouldReturnFocus) {
|
|
|
35
35
|
return returnFocus;
|
|
36
36
|
}
|
|
37
37
|
exports.useFocusReturn = useFocusReturn;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlRm9jdXNSZXR1cm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLDZDQUE0QztBQUU1QyxTQUFnQixjQUFjLENBQUMsTUFBZSxFQUFFLGtCQUFzQixFQUFFLGlCQUF3QjtJQUFoRCxtQ0FBQSxFQUFBLHNCQUFzQjtJQUFFLGtDQUFBLEVBQUEsd0JBQXdCO0lBQzVGLElBQU0saUJBQWlCLEdBQUcsSUFBQSxjQUFNLEdBQWUsQ0FBQztJQUNoRCxJQUFNLFdBQVcsR0FBRztRQUNoQixJQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7UUFDdkMsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFO1lBQzdELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUMsQ0FBQztJQUVGLElBQUEseUJBQVcsRUFBQztRQUNSLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWpCLElBQU0saUJBQWlCLEdBQUcsVUFBQyxDQUFnQjtZQUN2QyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFO2dCQUNqQixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFeEQsSUFBSSxNQUFNLEVBQUU7WUFDUixpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7U0FDckU7YUFBTSxJQUFJLGlCQUFpQixFQUFFO1lBQzFCLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNyRTtRQUVELE9BQU87WUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQztJQUNOLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFYixPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDO0FBakNELHdDQWlDQyJ9
|
package/hooks/useFocusTrap.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useFocusTrap = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
var
|
|
5
|
+
var useOnUnmount_1 = require("./useOnUnmount");
|
|
6
6
|
var TABBABLE_NODES = /input|select|textarea|button|object/;
|
|
7
7
|
var FOCUS_SELECTOR = "a, input, select, textarea, button, object, [tabindex]";
|
|
8
8
|
function hidden(element) {
|
|
@@ -142,8 +142,8 @@ function useFocusTrap(active) {
|
|
|
142
142
|
document.removeEventListener("keydown", handler);
|
|
143
143
|
};
|
|
144
144
|
}, [active]);
|
|
145
|
-
(0,
|
|
145
|
+
(0, useOnUnmount_1.useOnUnmount)(function () { return clearTimeout(timer.current); });
|
|
146
146
|
return setRef;
|
|
147
147
|
}
|
|
148
148
|
exports.useFocusTrap = useFocusTrap;
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRm9jdXNUcmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZvY3VzVHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0U7QUFDcEUsK0NBQThDO0FBRTlDLElBQU0sY0FBYyxHQUFHLHFDQUFxQyxDQUFDO0FBQzdELElBQU0sY0FBYyxHQUFHLHdEQUF3RCxDQUFDO0FBRWhGLFNBQVMsTUFBTSxDQUFDLE9BQW9CO0lBQ2hDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNqQyxJQUFJLGFBQWEsR0FBdUIsT0FBTyxDQUFDO0lBQ2hELE9BQU8sYUFBYSxFQUFFO1FBQ2xCLElBQUksYUFBYSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDakMsTUFBTTtTQUNUO1FBRUQsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztLQUMvQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE9BQW9CO0lBQzVDLElBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLE9BQW9CO0lBQ25DLElBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsSUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENB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
|
package/hooks/useKey.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useKey = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
var isBrowser_1 = require("../utils/isBrowser");
|
|
6
5
|
var createKeyPredicate = function (keyFilter) {
|
|
7
6
|
return typeof keyFilter === "function"
|
|
8
7
|
? keyFilter
|
|
@@ -13,7 +12,7 @@ var createKeyPredicate = function (keyFilter) {
|
|
|
13
12
|
function useKey(keyFilter, callback, _a) {
|
|
14
13
|
var _b = _a === void 0 ? {} : _a, disabled = _b.disabled, targetRef = _b.targetRef, _c = _b.type, type = _c === void 0 ? "keydown" : _c;
|
|
15
14
|
(0, react_1.useEffect)(function () {
|
|
16
|
-
if (disabled
|
|
15
|
+
if (disabled) {
|
|
17
16
|
return;
|
|
18
17
|
}
|
|
19
18
|
var thisNode = (targetRef ? targetRef.current : document);
|
|
@@ -30,4 +29,4 @@ function useKey(keyFilter, callback, _a) {
|
|
|
30
29
|
}, [callback, disabled, keyFilter, targetRef, type]);
|
|
31
30
|
}
|
|
32
31
|
exports.useKey = useKey;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBNkM7QUFLN0MsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLFNBQW9CO0lBQzVDLE9BQUEsT0FBTyxTQUFTLEtBQUssVUFBVTtRQUMzQixDQUFDLENBQUMsU0FBUztRQUNYLENBQUMsQ0FBQyxPQUFPLFNBQVMsS0FBSyxRQUFRO1lBQy9CLENBQUMsQ0FBQyxVQUFDLENBQWdCLElBQUssT0FBQSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBbkIsQ0FBbUI7WUFDM0MsQ0FBQyxDQUFDLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztBQUpqQixDQUlpQixDQUFDO0FBUXRCLFNBQWdCLE1BQU0sQ0FDbEIsU0FBb0IsRUFDcEIsUUFBb0MsRUFDcEMsRUFBeUU7UUFBekUscUJBQXVFLEVBQUUsS0FBQSxFQUF2RSxRQUFRLGNBQUEsRUFBRSxTQUFTLGVBQUEsRUFBRSxZQUFnQixFQUFoQixJQUFJLG1CQUFHLFNBQVMsS0FBQTtJQUV2QyxJQUFBLGlCQUFTLEVBQUM7UUFDTixJQUFJLFFBQVEsRUFBRTtZQUNWLE9BQU87U0FDVjtRQUNELElBQU0sUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQXVCLENBQUM7UUFDbEYsSUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBTSxPQUFPLEdBQUcsVUFBQyxDQUFnQjtZQUM3QixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDZCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZjtRQUNMLENBQUMsQ0FBQztRQUNGLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsT0FBTztZQUNILFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQXJCRCx3QkFxQkMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useLatest<T>(current: T): import("react").MutableRefObject<T>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLatest = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useLatest(current) {
|
|
6
|
+
var storedValue = (0, react_1.useRef)(current);
|
|
7
|
+
storedValue.current = current;
|
|
8
|
+
return storedValue;
|
|
9
|
+
}
|
|
10
|
+
exports.useLatest = useLatest;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUxhdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFFL0IsU0FBZ0IsU0FBUyxDQUFJLE9BQVU7SUFDbkMsSUFBTSxXQUFXLEdBQUcsSUFBQSxjQUFNLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEMsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFFOUIsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQztBQU5ELDhCQU1DIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function useMinWindowWidth(minWidth: number): boolean | undefined;
|
|
1
|
+
export declare function useMinWindowWidth(minWidth: number, debounce?: number): boolean | undefined;
|
|
@@ -18,20 +18,30 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.useMinWindowWidth = void 0;
|
|
20
20
|
var react_1 = require("react");
|
|
21
|
-
var isBrowser_1 = require("../utils/isBrowser");
|
|
22
21
|
var useRafState_1 = require("./useRafState");
|
|
23
|
-
function useMinWindowWidth(minWidth) {
|
|
22
|
+
function useMinWindowWidth(minWidth, debounce) {
|
|
23
|
+
if (debounce === void 0) { debounce = 0; }
|
|
24
24
|
var _a = __read((0, useRafState_1.useRafState)(), 2), state = _a[0], setState = _a[1];
|
|
25
25
|
(0, react_1.useEffect)(function () {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
var stateHandler = function () { return setState(window.innerWidth >= minWidth); };
|
|
27
|
+
var timer;
|
|
28
|
+
var handler = function () {
|
|
29
|
+
if (debounce > 0) {
|
|
30
|
+
window.clearTimeout(timer);
|
|
31
|
+
timer = window.setTimeout(stateHandler, debounce);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
stateHandler();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
stateHandler();
|
|
31
38
|
window.addEventListener("resize", handler);
|
|
32
|
-
return function () {
|
|
33
|
-
|
|
39
|
+
return function () {
|
|
40
|
+
window.removeEventListener("resize", handler);
|
|
41
|
+
window.clearTimeout(timer);
|
|
42
|
+
};
|
|
43
|
+
}, [debounce, minWidth, setState]);
|
|
34
44
|
return state;
|
|
35
45
|
}
|
|
36
46
|
exports.useMinWindowWidth = useMinWindowWidth;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTWluV2luZG93V2lkdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlTWluV2luZG93V2lkdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUFrQztBQUNsQyw2Q0FBNEM7QUFFNUMsU0FBZ0IsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxRQUFZO0lBQVoseUJBQUEsRUFBQSxZQUFZO0lBQ3RELElBQUEsS0FBQSxPQUFvQixJQUFBLHlCQUFXLEdBQVcsSUFBQSxFQUF6QyxLQUFLLFFBQUEsRUFBRSxRQUFRLFFBQTBCLENBQUM7SUFFakQsSUFBQSxpQkFBUyxFQUFDO1FBQ04sSUFBTSxZQUFZLEdBQUcsY0FBTSxPQUFBLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxFQUF2QyxDQUF1QyxDQUFDO1FBRW5FLElBQUksS0FBeUIsQ0FBQztRQUM5QixJQUFNLE9BQU8sR0FBRztZQUNaLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDZCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0gsWUFBWSxFQUFFLENBQUM7YUFDbEI7UUFDTCxDQUFDLENBQUM7UUFDRixZQUFZLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTztZQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7SUFDTixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFbkMsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQXhCRCw4Q0F3QkMifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useOnMount = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useOnMount(effect) {
|
|
6
|
+
(0, react_1.useEffect)(function () {
|
|
7
|
+
return effect();
|
|
8
|
+
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
9
|
+
}
|
|
10
|
+
exports.useOnMount = useOnMount;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlT25Nb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VPbk1vdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFrRDtBQUVsRCxTQUFnQixVQUFVLENBQUMsTUFBc0I7SUFDN0MsSUFBQSxpQkFBUyxFQUFDO1FBQ04sT0FBTyxNQUFNLEVBQUUsQ0FBQztJQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxrREFBa0Q7QUFDOUQsQ0FBQztBQUpELGdDQUlDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useOnUnmount = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useOnUnmount(effect) {
|
|
6
|
+
var effectRef = (0, react_1.useRef)(effect);
|
|
7
|
+
// update the ref each render so if it changed the newest callback will be invoked
|
|
8
|
+
effectRef.current = effect;
|
|
9
|
+
(0, react_1.useEffect)(function () {
|
|
10
|
+
return function () {
|
|
11
|
+
effectRef.current();
|
|
12
|
+
};
|
|
13
|
+
}, []);
|
|
14
|
+
}
|
|
15
|
+
exports.useOnUnmount = useOnUnmount;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlT25Vbm1vdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZU9uVW5tb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBMEQ7QUFFMUQsU0FBZ0IsWUFBWSxDQUFDLE1BQXNCO0lBQy9DLElBQU0sU0FBUyxHQUFHLElBQUEsY0FBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLGtGQUFrRjtJQUNsRixTQUFTLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUUzQixJQUFBLGlCQUFTLEVBQUM7UUFDTixPQUFPO1lBQ0gsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQUNOLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNYLENBQUM7QUFYRCxvQ0FXQyJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useOnUpdate = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function useOnUpdate(effect, deps) {
|
|
6
|
+
var firstRun = (0, react_1.useRef)(true);
|
|
7
|
+
(0, react_1.useEffect)(function () {
|
|
8
|
+
if (firstRun.current) {
|
|
9
|
+
firstRun.current = false;
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
return effect();
|
|
13
|
+
}, deps); // eslint-disable-line react-hooks/exhaustive-deps
|
|
14
|
+
}
|
|
15
|
+
exports.useOnUpdate = useOnUpdate;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlT25VcGRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlT25VcGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBFO0FBRTFFLFNBQWdCLFdBQVcsQ0FBQyxNQUFzQixFQUFFLElBQW9CO0lBQ3BFLElBQU0sUUFBUSxHQUFHLElBQUEsY0FBTSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLElBQUEsaUJBQVMsRUFBQztRQUNOLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNsQixRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QixPQUFPO1NBQ1Y7UUFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGtEQUFrRDtBQUNoRSxDQUFDO0FBVkQsa0NBVUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function usePrevious<T>(current: T): import("react").MutableRefObject<T>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.usePrevious = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
function usePrevious(current) {
|
|
6
|
+
var storedValue = (0, react_1.useRef)(current);
|
|
7
|
+
(0, react_1.useEffect)(function () {
|
|
8
|
+
storedValue.current = current;
|
|
9
|
+
});
|
|
10
|
+
return storedValue;
|
|
11
|
+
}
|
|
12
|
+
exports.usePrevious = usePrevious;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUHJldmlvdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUHJldmlvdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQTBDO0FBRTFDLFNBQWdCLFdBQVcsQ0FBSSxPQUFVO0lBQ3JDLElBQU0sV0FBVyxHQUFHLElBQUEsY0FBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBDLElBQUEsaUJBQVMsRUFBQztRQUNOLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQztBQVJELGtDQVFDIn0=
|
package/hooks/useRafState.js
CHANGED
|
@@ -18,7 +18,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.useRafState = void 0;
|
|
20
20
|
var react_1 = require("react");
|
|
21
|
-
var
|
|
21
|
+
var useOnUnmount_1 = require("./useOnUnmount");
|
|
22
22
|
function useRafState(initialState) {
|
|
23
23
|
var frame = (0, react_1.useRef)(0);
|
|
24
24
|
var _a = __read((0, react_1.useState)(initialState), 2), state = _a[0], setState = _a[1];
|
|
@@ -28,8 +28,8 @@ function useRafState(initialState) {
|
|
|
28
28
|
setState(value);
|
|
29
29
|
});
|
|
30
30
|
}, []);
|
|
31
|
-
(0,
|
|
31
|
+
(0, useOnUnmount_1.useOnUnmount)(function () { return cancelAnimationFrame(frame.current); });
|
|
32
32
|
return [state, setRafState];
|
|
33
33
|
}
|
|
34
34
|
exports.useRafState = useRafState;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUmFmU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlUmFmU3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUFnRjtBQUNoRiwrQ0FBOEM7QUFFOUMsU0FBZ0IsV0FBVyxDQUN2QixZQUE0QjtJQUU1QixJQUFNLEtBQUssR0FBRyxJQUFBLGNBQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixJQUFBLEtBQUEsT0FBb0IsSUFBQSxnQkFBUSxFQUFDLFlBQVksQ0FBQyxJQUFBLEVBQXpDLEtBQUssUUFBQSxFQUFFLFFBQVEsUUFBMEIsQ0FBQztJQUVqRCxJQUFNLFdBQVcsR0FBRyxJQUFBLG1CQUFXLEVBQUMsVUFBQyxLQUFvQztRQUNqRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztZQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxJQUFBLDJCQUFZLEVBQUMsY0FBTSxPQUFBLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQWpCRCxrQ0FpQkMifQ==
|
package/hooks/useTabs.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface UseTabs<T extends HTMLElement> {
|
|
|
5
5
|
tabListRef: RefObject<T>;
|
|
6
6
|
tabsCount: number;
|
|
7
7
|
}
|
|
8
|
+
/** @deprecated Will be removed from @uxf/core package in future versions.
|
|
9
|
+
* Use 'import { Tab } from "@headlessui/react";' instead */
|
|
8
10
|
export declare function useTabs<T extends HTMLElement>({ activeTab, id, tabListRef, tabsCount }: UseTabs<T>): {
|
|
9
11
|
activeTabIndex: number;
|
|
10
12
|
idPrefix: string;
|
package/hooks/useTabs.js
CHANGED
|
@@ -19,8 +19,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
19
19
|
exports.useTabs = void 0;
|
|
20
20
|
var react_1 = require("react");
|
|
21
21
|
var useKey_1 = require("./useKey");
|
|
22
|
-
var
|
|
22
|
+
var useOnUpdate_1 = require("./useOnUpdate");
|
|
23
23
|
var LEFT_RIGHT_ARROW_KEYS = function (e) { return e.key === "ArrowRight" || e.key === "ArrowLeft"; };
|
|
24
|
+
/** @deprecated Will be removed from @uxf/core package in future versions.
|
|
25
|
+
* Use 'import { Tab } from "@headlessui/react";' instead */
|
|
24
26
|
function useTabs(_a) {
|
|
25
27
|
var activeTab = _a.activeTab, id = _a.id, tabListRef = _a.tabListRef, tabsCount = _a.tabsCount;
|
|
26
28
|
var _b = __read((0, react_1.useState)(activeTab || 0), 2), activeTabIndex = _b[0], setActiveTabIndex = _b[1];
|
|
@@ -28,7 +30,7 @@ function useTabs(_a) {
|
|
|
28
30
|
var tabTitleIdPrefix = "".concat(idPrefix, "__title");
|
|
29
31
|
var tabContentIdPrefix = "".concat(idPrefix, "__content");
|
|
30
32
|
var onTabTitleClick = (0, react_1.useCallback)(function (index) { return function () { return setActiveTabIndex(index); }; }, []);
|
|
31
|
-
(0,
|
|
33
|
+
(0, useOnUpdate_1.useOnUpdate)(function () {
|
|
32
34
|
if (activeTab) {
|
|
33
35
|
setActiveTabIndex(activeTab);
|
|
34
36
|
}
|
|
@@ -57,4 +59,4 @@ function useTabs(_a) {
|
|
|
57
59
|
};
|
|
58
60
|
}
|
|
59
61
|
exports.useTabs = useTabs;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VUYWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBeUQ7QUFDekQsbUNBQWtDO0FBQ2xDLDZDQUE0QztBQUU1QyxJQUFNLHFCQUFxQixHQUFHLFVBQUMsQ0FBZ0IsSUFBSyxPQUFBLENBQUMsQ0FBQyxHQUFHLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUEvQyxDQUErQyxDQUFDO0FBU3BHOzREQUM0RDtBQUM1RCxTQUFnQixPQUFPLENBQXdCLEVBQW9EO1FBQWxELFNBQVMsZUFBQSxFQUFFLEVBQUUsUUFBQSxFQUFFLFVBQVUsZ0JBQUEsRUFBRSxTQUFTLGVBQUE7SUFDM0UsSUFBQSxLQUFBLE9BQXNDLElBQUEsZ0JBQVEsRUFBUyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUEsRUFBckUsY0FBYyxRQUFBLEVBQUUsaUJBQWlCLFFBQW9DLENBQUM7SUFFN0UsSUFBTSxRQUFRLEdBQUcsVUFBRyxFQUFFLFdBQVEsQ0FBQztJQUMvQixJQUFNLGdCQUFnQixHQUFHLFVBQUcsUUFBUSxZQUFTLENBQUM7SUFDOUMsSUFBTSxrQkFBa0IsR0FBRyxVQUFHLFFBQVEsY0FBVyxDQUFDO0lBRWxELElBQU0sZUFBZSxHQUFHLElBQUEsbUJBQVcsRUFBQyxVQUFDLEtBQWEsSUFBSyxPQUFBLGNBQU0sT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBeEIsQ0FBd0IsRUFBOUIsQ0FBOEIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUzRixJQUFBLHlCQUFXLEVBQUM7UUFDUixJQUFJLFNBQVMsRUFBRTtZQUNYLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUVoQixJQUFNLHlCQUF5QixHQUFHLElBQUEsbUJBQVcsRUFDekMsVUFBQyxDQUFnQjtRQUNiLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQixpQkFBaUIsQ0FBQyxVQUFBLE9BQU87WUFDckIsSUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQU0sSUFBSSxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRTtnQkFDeEIsT0FBTyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDL0M7WUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO2dCQUN2QixPQUFPLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUMvQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxFQUNELENBQUMsU0FBUyxDQUFDLENBQ2QsQ0FBQztJQUVGLElBQUEsZUFBTSxFQUFJLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFdkYsT0FBTztRQUNILGNBQWMsZ0JBQUE7UUFDZCxRQUFRLFVBQUE7UUFDUixlQUFlLGlCQUFBO1FBQ2Ysa0JBQWtCLG9CQUFBO1FBQ2xCLGdCQUFnQixrQkFBQTtLQUNuQixDQUFDO0FBQ04sQ0FBQztBQTFDRCwwQkEwQ0MifQ==
|
package/hooks/useWindowScroll.js
CHANGED
|
@@ -18,14 +18,10 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.useWindowScroll = void 0;
|
|
20
20
|
var react_1 = require("react");
|
|
21
|
-
var isBrowser_1 = require("../utils/isBrowser");
|
|
22
21
|
var useRafState_1 = require("./useRafState");
|
|
23
22
|
function useWindowScroll() {
|
|
24
23
|
var _a = __read((0, useRafState_1.useRafState)(), 2), state = _a[0], setState = _a[1];
|
|
25
24
|
(0, react_1.useEffect)(function () {
|
|
26
|
-
if (!isBrowser_1.isBrowser) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
25
|
var handler = function () {
|
|
30
26
|
return setState({
|
|
31
27
|
x: window.scrollX,
|
|
@@ -42,4 +38,4 @@ function useWindowScroll() {
|
|
|
42
38
|
return state;
|
|
43
39
|
}
|
|
44
40
|
exports.useWindowScroll = useWindowScroll;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2luZG93U2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVdpbmRvd1Njcm9sbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQWtDO0FBQ2xDLDZDQUE0QztBQUU1QyxTQUFnQixlQUFlO0lBQ3JCLElBQUEsS0FBQSxPQUFvQixJQUFBLHlCQUFXLEdBQTRCLElBQUEsRUFBMUQsS0FBSyxRQUFBLEVBQUUsUUFBUSxRQUEyQyxDQUFDO0lBRWxFLElBQUEsaUJBQVMsRUFBQztRQUNOLElBQU0sT0FBTyxHQUFHO1lBQ1osT0FBQSxRQUFRLENBQUM7Z0JBQ0wsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUNqQixDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDcEIsQ0FBQztRQUhGLENBR0UsQ0FBQztRQUVQLE9BQU8sRUFBRSxDQUFDO1FBQ1YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDdkMsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxPQUFPLGNBQU0sT0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUE3QyxDQUE2QyxDQUFDO0lBQy9ELENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBbkJELDBDQW1CQyJ9
|
package/hooks/useWindowSize.js
CHANGED
|
@@ -18,14 +18,10 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.useWindowSize = void 0;
|
|
20
20
|
var react_1 = require("react");
|
|
21
|
-
var isBrowser_1 = require("../utils/isBrowser");
|
|
22
21
|
var useRafState_1 = require("./useRafState");
|
|
23
22
|
function useWindowSize() {
|
|
24
23
|
var _a = __read((0, useRafState_1.useRafState)(), 2), state = _a[0], setState = _a[1];
|
|
25
24
|
(0, react_1.useEffect)(function () {
|
|
26
|
-
if (!isBrowser_1.isBrowser) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
25
|
var handler = function () {
|
|
30
26
|
return setState({
|
|
31
27
|
width: window.innerWidth,
|
|
@@ -39,4 +35,4 @@ function useWindowSize() {
|
|
|
39
35
|
return state;
|
|
40
36
|
}
|
|
41
37
|
exports.useWindowSize = useWindowSize;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2luZG93U2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VXaW5kb3dTaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBa0M7QUFDbEMsNkNBQTRDO0FBRTVDLFNBQWdCLGFBQWE7SUFDbkIsSUFBQSxLQUFBLE9BQW9CLElBQUEseUJBQVcsR0FBcUMsSUFBQSxFQUFuRSxLQUFLLFFBQUEsRUFBRSxRQUFRLFFBQW9ELENBQUM7SUFFM0UsSUFBQSxpQkFBUyxFQUFDO1FBQ04sSUFBTSxPQUFPLEdBQUc7WUFDWixPQUFBLFFBQVEsQ0FBQztnQkFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVzthQUM3QixDQUFDO1FBSEYsQ0FHRSxDQUFDO1FBRVAsT0FBTyxFQUFFLENBQUM7UUFDVixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLE9BQU8sY0FBTSxPQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQTdDLENBQTZDLENBQUM7SUFDL0QsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVmLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFoQkQsc0NBZ0JDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "UXF Core",
|
|
5
5
|
"author": "Petr Vejvoda <vejvoda@uxf.cz>",
|
|
6
6
|
"homepage": "https://gitlab.com/uxf-npm/core#readme",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"body-scroll-lock": "^4.0.0-beta.0",
|
|
46
|
-
"react": "^17.0.
|
|
46
|
+
"react": "^17.0.0 || ^18.0.0"
|
|
47
47
|
},
|
|
48
48
|
"gitHead": "a2dee6aa67621f6eda17e63e88d0edf14f88455a"
|
|
49
49
|
}
|
package/hooks/useUnmount.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useUnmount(fn: () => any): void;
|
package/hooks/useUnmount.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useUnmount = void 0;
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
function useUnmount(fn) {
|
|
6
|
-
var fnRef = (0, react_1.useRef)(fn);
|
|
7
|
-
// update the ref each render so if it changed the newest callback will be invoked
|
|
8
|
-
fnRef.current = fn;
|
|
9
|
-
(0, react_1.useEffect)(function () { return function () { return fnRef.current(); }; }, []);
|
|
10
|
-
}
|
|
11
|
-
exports.useUnmount = useUnmount;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVW5tb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VVbm1vdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUEwQztBQUUxQyxTQUFnQixVQUFVLENBQUMsRUFBYTtJQUNwQyxJQUFNLEtBQUssR0FBRyxJQUFBLGNBQU0sRUFBQyxFQUFFLENBQUMsQ0FBQztJQUV6QixrRkFBa0Y7SUFDbEYsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFbkIsSUFBQSxpQkFBUyxFQUFDLGNBQU0sT0FBQSxjQUFNLE9BQUEsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFmLENBQWUsRUFBckIsQ0FBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBUEQsZ0NBT0MifQ==
|
package/hooks/useUpdateEffect.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useUpdateEffect = void 0;
|
|
4
|
-
var react_1 = require("react");
|
|
5
|
-
function useUpdateEffect(effect, deps) {
|
|
6
|
-
if (deps === void 0) { deps = []; }
|
|
7
|
-
var firstRun = (0, react_1.useRef)(true);
|
|
8
|
-
(0, react_1.useEffect)(function () {
|
|
9
|
-
if (firstRun.current) {
|
|
10
|
-
firstRun.current = false;
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
return effect();
|
|
14
|
-
}, deps); // eslint-disable-line react-hooks/exhaustive-deps
|
|
15
|
-
}
|
|
16
|
-
exports.useUpdateEffect = useUpdateEffect;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVXBkYXRlRWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVVwZGF0ZUVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBMEU7QUFFMUUsU0FBZ0IsZUFBZSxDQUFDLE1BQXNCLEVBQUUsSUFBeUI7SUFBekIscUJBQUEsRUFBQSxTQUF5QjtJQUM3RSxJQUFNLFFBQVEsR0FBRyxJQUFBLGNBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU5QixJQUFBLGlCQUFTLEVBQUM7UUFDTixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDbEIsUUFBUSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDekIsT0FBTztTQUNWO1FBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztJQUNwQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxrREFBa0Q7QUFDaEUsQ0FBQztBQVZELDBDQVVDIn0=
|