@jobber/hooks 2.17.2 → 2.17.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/dist/index.js +34 -18
- package/dist/useBool/index.js +5 -1
- package/dist/useBool/useBool.js +9 -6
- package/dist/useBool/useBool.test.js +11 -9
- package/dist/useBreakpoints/index.js +20 -2
- package/dist/useBreakpoints/mockViewportWidth/index.js +17 -1
- package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.js +6 -2
- package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.test.js +6 -4
- package/dist/useBreakpoints/useBreakpoints.js +13 -9
- package/dist/useBreakpoints/useBreakpoints.test.js +35 -30
- package/dist/useBreakpoints/useMediaQuery.js +9 -5
- package/dist/useCallbackRef/index.js +5 -1
- package/dist/useCallbackRef/useCallbackRef.js +8 -5
- package/dist/useCallbackRef/useCallbackRef.test.js +6 -4
- package/dist/useCollectionQuery/index.js +5 -1
- package/dist/useCollectionQuery/mdxUtils.js +12 -8
- package/dist/useCollectionQuery/test-utilities/index.js +19 -3
- package/dist/useCollectionQuery/test-utilities/mocks.js +30 -19
- package/dist/useCollectionQuery/test-utilities/queries.js +7 -4
- package/dist/useCollectionQuery/test-utilities/utils.js +4 -1
- package/dist/useCollectionQuery/uniqueEdges.js +6 -2
- package/dist/useCollectionQuery/uniqueNodes.js +4 -1
- package/dist/useCollectionQuery/useCollectionQuery.js +34 -27
- package/dist/useCollectionQuery/useCollectionQuery.test.js +128 -126
- package/dist/useDebounce/index.js +5 -1
- package/dist/useDebounce/useDebounce.js +11 -8
- package/dist/useDebounce/useDebounce.test.js +70 -42
- package/dist/useFocusTrap/index.js +5 -1
- package/dist/useFocusTrap/useFocusTrap.js +7 -4
- package/dist/useFocusTrap/useFocusTrap.test.js +31 -26
- package/dist/useFormState/index.js +5 -1
- package/dist/useFormState/useFormState.js +6 -3
- package/dist/useInView/index.js +17 -1
- package/dist/useInView/useInView.js +9 -6
- package/dist/useInView/useInView.test.js +17 -12
- package/dist/useIsMounted/index.js +5 -1
- package/dist/useIsMounted/useIsMounted.js +8 -5
- package/dist/useIsMounted/useIsMounted.test.js +6 -4
- package/dist/useLiveAnnounce/index.js +5 -1
- package/dist/useLiveAnnounce/useLiveAnnounce.js +7 -4
- package/dist/useLiveAnnounce/useLiveAnnounce.test.js +24 -19
- package/dist/useOnKeyDown/index.js +5 -1
- package/dist/useOnKeyDown/useOnKeyDown.js +6 -3
- package/dist/useOnKeyDown/useOnKeyDown.test.js +12 -7
- package/dist/useOnMount/index.js +5 -1
- package/dist/useOnMount/useOnMount.js +10 -6
- package/dist/useOnMount/useOnMount.test.js +6 -4
- package/dist/useRefocusOnActivator/index.js +5 -1
- package/dist/useRefocusOnActivator/useRefocusOnActivator.js +6 -3
- package/dist/useResizeObserver/index.js +17 -1
- package/dist/useResizeObserver/useResizeObserver.js +16 -9
- package/dist/useSafeLayoutEffect/index.js +5 -1
- package/dist/useSafeLayoutEffect/useSafeLayoutEffect.js +7 -4
- package/dist/useShowClear/index.js +5 -1
- package/dist/useShowClear/useShowClear.js +4 -1
- package/dist/useShowClear/useShowClear.test.js +8 -6
- package/dist/useStepper/index.js +5 -1
- package/dist/useStepper/useStepper.js +15 -9
- package/dist/useStepper/useStepper.test.js +17 -15
- package/dist/useWindowDimensions/index.js +5 -1
- package/dist/useWindowDimensions/useWIndowDimensions.test.js +8 -6
- package/dist/useWindowDimensions/useWindowDimensions.js +7 -4
- package/package.json +5 -102
package/dist/index.js
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useBool"), exports);
|
|
18
|
+
__exportStar(require("./useBreakpoints"), exports);
|
|
19
|
+
__exportStar(require("./useCallbackRef"), exports);
|
|
20
|
+
__exportStar(require("./useCollectionQuery"), exports);
|
|
21
|
+
__exportStar(require("./useDebounce"), exports);
|
|
22
|
+
__exportStar(require("./useFocusTrap"), exports);
|
|
23
|
+
__exportStar(require("./useFormState"), exports);
|
|
24
|
+
__exportStar(require("./useInView"), exports);
|
|
25
|
+
__exportStar(require("./useIsMounted"), exports);
|
|
26
|
+
__exportStar(require("./useLiveAnnounce"), exports);
|
|
27
|
+
__exportStar(require("./useOnKeyDown"), exports);
|
|
28
|
+
__exportStar(require("./useOnMount"), exports);
|
|
29
|
+
__exportStar(require("./useRefocusOnActivator"), exports);
|
|
30
|
+
__exportStar(require("./useResizeObserver"), exports);
|
|
31
|
+
__exportStar(require("./useSafeLayoutEffect"), exports);
|
|
32
|
+
__exportStar(require("./useShowClear"), exports);
|
|
33
|
+
__exportStar(require("./useStepper"), exports);
|
|
34
|
+
__exportStar(require("./useWindowDimensions"), exports);
|
package/dist/useBool/index.js
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useBool = void 0;
|
|
4
|
+
var useBool_1 = require("./useBool");
|
|
5
|
+
Object.defineProperty(exports, "useBool", { enumerable: true, get: function () { return useBool_1.useBool; } });
|
package/dist/useBool/useBool.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useBool = useBool;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useBool(initialState = false) {
|
|
6
|
+
const [state, setState] = (0, react_1.useState)(initialState);
|
|
7
|
+
const setTrue = (0, react_1.useCallback)(() => setState(true), []);
|
|
8
|
+
const setFalse = (0, react_1.useCallback)(() => setState(false), []);
|
|
9
|
+
const toggle = (0, react_1.useCallback)(() => setState(current => !current), []);
|
|
7
10
|
return [state, setTrue, setFalse, toggle];
|
|
8
11
|
}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
|
+
const useBool_1 = require("./useBool");
|
|
3
5
|
describe("useBool, a hook for managing boolean state", () => {
|
|
4
6
|
it("by default has an initial state that is `false`", () => {
|
|
5
|
-
const [value] = renderHook(() => useBool()).result.current;
|
|
7
|
+
const [value] = (0, react_1.renderHook)(() => (0, useBool_1.useBool)()).result.current;
|
|
6
8
|
expect(value).toBe(false);
|
|
7
9
|
});
|
|
8
10
|
it("can be provided an initial state", () => {
|
|
9
|
-
const [value] = renderHook(() => useBool(true)).result.current;
|
|
11
|
+
const [value] = (0, react_1.renderHook)(() => (0, useBool_1.useBool)(true)).result.current;
|
|
10
12
|
expect(value).toBe(true);
|
|
11
13
|
});
|
|
12
14
|
it("provides helpful setters and a toggle method", () => {
|
|
13
|
-
const { result } = renderHook(() => useBool());
|
|
15
|
+
const { result } = (0, react_1.renderHook)(() => (0, useBool_1.useBool)());
|
|
14
16
|
const value = () => result.current[0];
|
|
15
17
|
const [, setTrue, setFalse, toggle] = result.current;
|
|
16
18
|
expect(value()).toBe(false);
|
|
17
|
-
act(setTrue);
|
|
19
|
+
(0, react_1.act)(setTrue);
|
|
18
20
|
expect(value()).toBe(true);
|
|
19
|
-
act(setFalse);
|
|
21
|
+
(0, react_1.act)(setFalse);
|
|
20
22
|
expect(value()).toBe(false);
|
|
21
|
-
act(toggle);
|
|
23
|
+
(0, react_1.act)(toggle);
|
|
22
24
|
expect(value()).toBe(true);
|
|
23
|
-
act(toggle);
|
|
25
|
+
(0, react_1.act)(toggle);
|
|
24
26
|
expect(value()).toBe(false);
|
|
25
27
|
});
|
|
26
28
|
});
|
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.mockViewportWidth = void 0;
|
|
18
|
+
__exportStar(require("./useBreakpoints"), exports);
|
|
19
|
+
var mockViewportWidth_1 = require("./mockViewportWidth");
|
|
20
|
+
Object.defineProperty(exports, "mockViewportWidth", { enumerable: true, get: function () { return mockViewportWidth_1.mockViewportWidth; } });
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./mockViewportWidth"), exports);
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mockViewportWidth = mockViewportWidth;
|
|
4
|
+
exports.isQueryMatching = isQueryMatching;
|
|
1
5
|
const defaultMatchMedia = window.matchMedia;
|
|
2
6
|
const defaultResizeTo = window.resizeTo;
|
|
3
7
|
const defaultInnerWidth = window.innerWidth;
|
|
4
|
-
|
|
8
|
+
function mockViewportWidth() {
|
|
5
9
|
return { cleanup, setViewportWidth };
|
|
6
10
|
}
|
|
7
11
|
function setViewportWidth(newWidth) {
|
|
@@ -45,7 +49,7 @@ function cleanup() {
|
|
|
45
49
|
window.resizeTo = defaultResizeTo;
|
|
46
50
|
window.innerWidth = defaultInnerWidth;
|
|
47
51
|
}
|
|
48
|
-
|
|
52
|
+
function isQueryMatching(query) {
|
|
49
53
|
const match = query.match(/(min-width|max-width):\s*(\d+)/);
|
|
50
54
|
if (!match)
|
|
51
55
|
return false;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mockViewportWidth_1 = require("./mockViewportWidth");
|
|
2
4
|
describe("isQueryMatching", () => {
|
|
3
5
|
it("should return false on max-width", () => {
|
|
4
|
-
const result = isQueryMatching(`max-width: ${window.innerWidth - 1}`);
|
|
6
|
+
const result = (0, mockViewportWidth_1.isQueryMatching)(`max-width: ${window.innerWidth - 1}`);
|
|
5
7
|
expect(result).toBe(false);
|
|
6
8
|
});
|
|
7
9
|
it("should return true on min-width", () => {
|
|
8
|
-
const result = isQueryMatching(`min-width: ${window.innerWidth}`);
|
|
10
|
+
const result = (0, mockViewportWidth_1.isQueryMatching)(`min-width: ${window.innerWidth}`);
|
|
9
11
|
expect(result).toBe(true);
|
|
10
12
|
});
|
|
11
13
|
it("should return false when the width is not a number", () => {
|
|
12
|
-
const result = isQueryMatching(`width = not-a-number`);
|
|
14
|
+
const result = (0, mockViewportWidth_1.isQueryMatching)(`width = not-a-number`);
|
|
13
15
|
expect(result).toBe(false);
|
|
14
16
|
});
|
|
15
17
|
});
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BREAKPOINT_SIZES = void 0;
|
|
4
|
+
exports.useBreakpoints = useBreakpoints;
|
|
5
|
+
const useMediaQuery_1 = require("./useMediaQuery");
|
|
6
|
+
exports.BREAKPOINT_SIZES = { sm: 490, md: 768, lg: 1080, xl: 1440 };
|
|
3
7
|
/**
|
|
4
8
|
* Hook equivalent of CSS media queries with our
|
|
5
9
|
* [supported breakpoints](https://atlantis.getjobber.com/design/breakpoints).
|
|
6
10
|
*/
|
|
7
|
-
|
|
8
|
-
const { sm, md, lg, xl } = BREAKPOINT_SIZES;
|
|
9
|
-
const extraSmallOnly = useMediaQuery(`(max-width: ${sm - 1}px)`);
|
|
10
|
-
const smallAndUp = useMediaQuery(`(min-width: ${sm}px)`);
|
|
11
|
-
const mediumAndUp = useMediaQuery(`(min-width: ${md}px)`);
|
|
12
|
-
const largeAndUp = useMediaQuery(`(min-width: ${lg}px)`);
|
|
13
|
-
const extraLargeAndUp = useMediaQuery(`(min-width: ${xl}px)`);
|
|
11
|
+
function useBreakpoints() {
|
|
12
|
+
const { sm, md, lg, xl } = exports.BREAKPOINT_SIZES;
|
|
13
|
+
const extraSmallOnly = (0, useMediaQuery_1.useMediaQuery)(`(max-width: ${sm - 1}px)`);
|
|
14
|
+
const smallAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${sm}px)`);
|
|
15
|
+
const mediumAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${md}px)`);
|
|
16
|
+
const largeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${lg}px)`);
|
|
17
|
+
const extraLargeAndUp = (0, useMediaQuery_1.useMediaQuery)(`(min-width: ${xl}px)`);
|
|
14
18
|
return {
|
|
15
19
|
smallAndUp,
|
|
16
20
|
mediumAndUp,
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = require("@testing-library/react");
|
|
7
|
+
const random_1 = __importDefault(require("lodash/random"));
|
|
8
|
+
const mockViewportWidth_1 = require("./mockViewportWidth");
|
|
9
|
+
const useBreakpoints_1 = require("./useBreakpoints");
|
|
10
|
+
const { cleanup, setViewportWidth } = (0, mockViewportWidth_1.mockViewportWidth)();
|
|
6
11
|
afterEach(cleanup);
|
|
7
12
|
describe("useBreakpoints", () => {
|
|
8
13
|
describe("and up", () => {
|
|
9
14
|
it("should have the correct breakpoint values on xl size screens", () => {
|
|
10
|
-
setViewportWidth(BREAKPOINT_SIZES.xl);
|
|
11
|
-
const { result } = renderHook(useBreakpoints);
|
|
15
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.xl);
|
|
16
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
12
17
|
expect(result.current).toMatchObject({
|
|
13
18
|
smallAndUp: true,
|
|
14
19
|
mediumAndUp: true,
|
|
@@ -17,8 +22,8 @@ describe("useBreakpoints", () => {
|
|
|
17
22
|
});
|
|
18
23
|
});
|
|
19
24
|
it("should have the correct breakpoint values on lg size screens", () => {
|
|
20
|
-
setViewportWidth(BREAKPOINT_SIZES.lg);
|
|
21
|
-
const { result } = renderHook(useBreakpoints);
|
|
25
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.lg);
|
|
26
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
22
27
|
expect(result.current).toMatchObject({
|
|
23
28
|
smallAndUp: true,
|
|
24
29
|
mediumAndUp: true,
|
|
@@ -27,8 +32,8 @@ describe("useBreakpoints", () => {
|
|
|
27
32
|
});
|
|
28
33
|
});
|
|
29
34
|
it("should have the correct breakpoint values on md size screens", () => {
|
|
30
|
-
setViewportWidth(BREAKPOINT_SIZES.md);
|
|
31
|
-
const { result } = renderHook(useBreakpoints);
|
|
35
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.md);
|
|
36
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
32
37
|
expect(result.current).toMatchObject({
|
|
33
38
|
smallAndUp: true,
|
|
34
39
|
mediumAndUp: true,
|
|
@@ -37,8 +42,8 @@ describe("useBreakpoints", () => {
|
|
|
37
42
|
});
|
|
38
43
|
});
|
|
39
44
|
it("should have the correct breakpoint values on sm size screens", () => {
|
|
40
|
-
setViewportWidth(BREAKPOINT_SIZES.sm);
|
|
41
|
-
const { result } = renderHook(useBreakpoints);
|
|
45
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.sm);
|
|
46
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
42
47
|
expect(result.current).toMatchObject({
|
|
43
48
|
smallAndUp: true,
|
|
44
49
|
mediumAndUp: false,
|
|
@@ -49,8 +54,8 @@ describe("useBreakpoints", () => {
|
|
|
49
54
|
});
|
|
50
55
|
describe("only", () => {
|
|
51
56
|
it("should only set the extraSmallOnly to true on smaller than sm", () => {
|
|
52
|
-
setViewportWidth(BREAKPOINT_SIZES.sm - 1);
|
|
53
|
-
const { result } = renderHook(useBreakpoints);
|
|
57
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.sm - 1);
|
|
58
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
54
59
|
expect(result.current).toMatchObject({
|
|
55
60
|
extraSmallOnly: true,
|
|
56
61
|
smallOnly: false,
|
|
@@ -59,8 +64,8 @@ describe("useBreakpoints", () => {
|
|
|
59
64
|
});
|
|
60
65
|
});
|
|
61
66
|
it("should only set the smallOnly to true on sm", () => {
|
|
62
|
-
setViewportWidth(BREAKPOINT_SIZES.sm);
|
|
63
|
-
const { result } = renderHook(useBreakpoints);
|
|
67
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.sm);
|
|
68
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
64
69
|
expect(result.current).toMatchObject({
|
|
65
70
|
extraSmallOnly: false,
|
|
66
71
|
smallOnly: true,
|
|
@@ -69,8 +74,8 @@ describe("useBreakpoints", () => {
|
|
|
69
74
|
});
|
|
70
75
|
});
|
|
71
76
|
it("should only set the mediumOnly to true on md", () => {
|
|
72
|
-
setViewportWidth(BREAKPOINT_SIZES.md);
|
|
73
|
-
const { result } = renderHook(useBreakpoints);
|
|
77
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.md);
|
|
78
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
74
79
|
expect(result.current).toMatchObject({
|
|
75
80
|
extraSmallOnly: false,
|
|
76
81
|
smallOnly: false,
|
|
@@ -79,8 +84,8 @@ describe("useBreakpoints", () => {
|
|
|
79
84
|
});
|
|
80
85
|
});
|
|
81
86
|
it("should only set the largeOnly to true on lg", () => {
|
|
82
|
-
setViewportWidth(BREAKPOINT_SIZES.lg);
|
|
83
|
-
const { result } = renderHook(useBreakpoints);
|
|
87
|
+
setViewportWidth(useBreakpoints_1.BREAKPOINT_SIZES.lg);
|
|
88
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
84
89
|
expect(result.current).toMatchObject({
|
|
85
90
|
extraSmallOnly: false,
|
|
86
91
|
smallOnly: false,
|
|
@@ -91,11 +96,11 @@ describe("useBreakpoints", () => {
|
|
|
91
96
|
});
|
|
92
97
|
describe("in between values", () => {
|
|
93
98
|
function randomBreakpoint(min, max) {
|
|
94
|
-
return
|
|
99
|
+
return (0, random_1.default)(min, max - 1);
|
|
95
100
|
}
|
|
96
101
|
it("should have the correct breakpoint values on higher than xl size screens", () => {
|
|
97
|
-
setViewportWidth(randomBreakpoint(BREAKPOINT_SIZES.xl, 10000));
|
|
98
|
-
const { result } = renderHook(useBreakpoints);
|
|
102
|
+
setViewportWidth(randomBreakpoint(useBreakpoints_1.BREAKPOINT_SIZES.xl, 10000));
|
|
103
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
99
104
|
expect(result.current).toMatchObject({
|
|
100
105
|
smallAndUp: true,
|
|
101
106
|
mediumAndUp: true,
|
|
@@ -104,8 +109,8 @@ describe("useBreakpoints", () => {
|
|
|
104
109
|
});
|
|
105
110
|
});
|
|
106
111
|
it("should have the correct breakpoint values on lg size screens", () => {
|
|
107
|
-
setViewportWidth(randomBreakpoint(BREAKPOINT_SIZES.lg, BREAKPOINT_SIZES.xl));
|
|
108
|
-
const { result } = renderHook(useBreakpoints);
|
|
112
|
+
setViewportWidth(randomBreakpoint(useBreakpoints_1.BREAKPOINT_SIZES.lg, useBreakpoints_1.BREAKPOINT_SIZES.xl));
|
|
113
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
109
114
|
expect(result.current).toMatchObject({
|
|
110
115
|
smallAndUp: true,
|
|
111
116
|
mediumAndUp: true,
|
|
@@ -114,8 +119,8 @@ describe("useBreakpoints", () => {
|
|
|
114
119
|
});
|
|
115
120
|
});
|
|
116
121
|
it("should have the correct breakpoint values on md size screens", () => {
|
|
117
|
-
setViewportWidth(randomBreakpoint(BREAKPOINT_SIZES.md, BREAKPOINT_SIZES.lg));
|
|
118
|
-
const { result } = renderHook(useBreakpoints);
|
|
122
|
+
setViewportWidth(randomBreakpoint(useBreakpoints_1.BREAKPOINT_SIZES.md, useBreakpoints_1.BREAKPOINT_SIZES.lg));
|
|
123
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
119
124
|
expect(result.current).toMatchObject({
|
|
120
125
|
smallAndUp: true,
|
|
121
126
|
mediumAndUp: true,
|
|
@@ -124,8 +129,8 @@ describe("useBreakpoints", () => {
|
|
|
124
129
|
});
|
|
125
130
|
});
|
|
126
131
|
it("should have the correct breakpoint values on sm size screens", () => {
|
|
127
|
-
setViewportWidth(randomBreakpoint(BREAKPOINT_SIZES.sm, BREAKPOINT_SIZES.md));
|
|
128
|
-
const { result } = renderHook(useBreakpoints);
|
|
132
|
+
setViewportWidth(randomBreakpoint(useBreakpoints_1.BREAKPOINT_SIZES.sm, useBreakpoints_1.BREAKPOINT_SIZES.md));
|
|
133
|
+
const { result } = (0, react_1.renderHook)(useBreakpoints_1.useBreakpoints);
|
|
129
134
|
expect(result.current).toMatchObject({
|
|
130
135
|
smallAndUp: true,
|
|
131
136
|
mediumAndUp: false,
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mediaQueryStore = void 0;
|
|
4
|
+
exports.useMediaQuery = useMediaQuery;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.mediaQueryStore = {
|
|
3
7
|
subscribe(onChange, query) {
|
|
4
8
|
const matchMedia = window.matchMedia(query);
|
|
5
9
|
matchMedia.addEventListener("change", onChange);
|
|
@@ -11,8 +15,8 @@ export const mediaQueryStore = {
|
|
|
11
15
|
return () => window.matchMedia(query).matches;
|
|
12
16
|
},
|
|
13
17
|
};
|
|
14
|
-
|
|
15
|
-
const subscribeMediaQuery = useCallback((onChange) => mediaQueryStore.subscribe(onChange, query), [query]);
|
|
16
|
-
const matches = useSyncExternalStore(subscribeMediaQuery, mediaQueryStore.getSnapshot(query), () => true);
|
|
18
|
+
function useMediaQuery(query) {
|
|
19
|
+
const subscribeMediaQuery = (0, react_1.useCallback)((onChange) => exports.mediaQueryStore.subscribe(onChange, query), [query]);
|
|
20
|
+
const matches = (0, react_1.useSyncExternalStore)(subscribeMediaQuery, exports.mediaQueryStore.getSnapshot(query), () => true);
|
|
17
21
|
return matches;
|
|
18
22
|
}
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCallbackRef = void 0;
|
|
4
|
+
var useCallbackRef_1 = require("./useCallbackRef");
|
|
5
|
+
Object.defineProperty(exports, "useCallbackRef", { enumerable: true, get: function () { return useCallbackRef_1.useCallbackRef; } });
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCallbackRef = useCallbackRef;
|
|
4
|
+
const react_1 = require("react");
|
|
2
5
|
/**
|
|
3
6
|
* A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
|
|
4
7
|
* prop or avoid re-executing effects when passed as a dependency
|
|
5
8
|
*/
|
|
6
|
-
|
|
7
|
-
const callbackRef = useRef(callback);
|
|
8
|
-
useEffect(() => {
|
|
9
|
+
function useCallbackRef(callback) {
|
|
10
|
+
const callbackRef = (0, react_1.useRef)(callback);
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
9
12
|
callbackRef.current = callback;
|
|
10
13
|
});
|
|
11
|
-
return useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);
|
|
14
|
+
return (0, react_1.useMemo)(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);
|
|
12
15
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
|
+
const _1 = require(".");
|
|
3
5
|
describe("useCallbackRef", () => {
|
|
4
6
|
it("should replace function when a new one is provided", () => {
|
|
5
7
|
const callbackInitial = jest.fn();
|
|
6
8
|
const callbackReplaced = jest.fn();
|
|
7
|
-
const { rerender, result } = renderHook(useCallbackRef, {
|
|
9
|
+
const { rerender, result } = (0, react_1.renderHook)(_1.useCallbackRef, {
|
|
8
10
|
initialProps: callbackInitial,
|
|
9
11
|
});
|
|
10
12
|
result.current("my args");
|
|
@@ -15,7 +17,7 @@ describe("useCallbackRef", () => {
|
|
|
15
17
|
});
|
|
16
18
|
it("should not run function when it's undefined", () => {
|
|
17
19
|
const callbackInitial = jest.fn();
|
|
18
|
-
const { rerender, result } = renderHook(useCallbackRef, {
|
|
20
|
+
const { rerender, result } = (0, react_1.renderHook)(_1.useCallbackRef, {
|
|
19
21
|
initialProps: callbackInitial,
|
|
20
22
|
});
|
|
21
23
|
result.current("my args");
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCollectionQuery = void 0;
|
|
4
|
+
var useCollectionQuery_1 = require("./useCollectionQuery");
|
|
5
|
+
Object.defineProperty(exports, "useCollectionQuery", { enumerable: true, get: function () { return useCollectionQuery_1.useCollectionQuery; } });
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.returnValues = exports.subscriptionPropsList = exports.propsList = exports.apolloClient = exports.LIST_QUERY = void 0;
|
|
4
|
+
exports.getLoadingState = getLoadingState;
|
|
5
|
+
const client_1 = require("@apollo/client");
|
|
6
|
+
exports.LIST_QUERY = (0, client_1.gql) `
|
|
3
7
|
query ListQuery($cursor: String) {
|
|
4
8
|
allPlanets(first: 4, after: $cursor) {
|
|
5
9
|
pageInfo {
|
|
@@ -16,11 +20,11 @@ export const LIST_QUERY = gql `
|
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
`;
|
|
19
|
-
|
|
23
|
+
exports.apolloClient = new client_1.ApolloClient({
|
|
20
24
|
uri: "https://swapi-graphql.netlify.app/graphql",
|
|
21
|
-
cache: new InMemoryCache(),
|
|
25
|
+
cache: new client_1.InMemoryCache(),
|
|
22
26
|
});
|
|
23
|
-
|
|
27
|
+
function getLoadingState(loadingInitialContent, loadingRefresh, loadingNextPage) {
|
|
24
28
|
if (loadingInitialContent) {
|
|
25
29
|
return {
|
|
26
30
|
loading: true,
|
|
@@ -44,7 +48,7 @@ export function getLoadingState(loadingInitialContent, loadingRefresh, loadingNe
|
|
|
44
48
|
loadingStatus: "Loaded",
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
|
-
|
|
51
|
+
exports.propsList = [
|
|
48
52
|
{
|
|
49
53
|
id: 0,
|
|
50
54
|
title: "query",
|
|
@@ -75,7 +79,7 @@ export const propsList = [
|
|
|
75
79
|
value: "SubscriptionProps",
|
|
76
80
|
},
|
|
77
81
|
];
|
|
78
|
-
|
|
82
|
+
exports.subscriptionPropsList = [
|
|
79
83
|
{
|
|
80
84
|
id: 0,
|
|
81
85
|
title: "document",
|
|
@@ -102,7 +106,7 @@ export const subscriptionPropsList = [
|
|
|
102
106
|
value: "GetNodeByPath<TSubscription>",
|
|
103
107
|
},
|
|
104
108
|
];
|
|
105
|
-
|
|
109
|
+
exports.returnValues = [
|
|
106
110
|
{
|
|
107
111
|
id: 0,
|
|
108
112
|
title: "data",
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./queries"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
19
|
+
__exportStar(require("./mocks"), exports);
|