@jobber/hooks 2.17.4 → 2.18.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/dist/index.cjs +49 -0
- package/dist/index.mjs +23 -0
- package/dist/isObjectLike-cjs.js +228 -0
- package/dist/isObjectLike-es.js +219 -0
- package/dist/useBool/index.cjs +8 -0
- package/dist/useBool/index.mjs +2 -0
- package/dist/useBool-cjs.js +13 -0
- package/dist/useBool-es.js +11 -0
- package/dist/useBreakpoints/index.cjs +11 -0
- package/dist/useBreakpoints/index.mjs +3 -0
- package/dist/useBreakpoints/mockViewportWidth/{mockViewportWidth.js → index.cjs} +5 -4
- package/dist/useBreakpoints/mockViewportWidth/index.mjs +66 -0
- package/dist/useBreakpoints-cjs.js +48 -0
- package/dist/useBreakpoints-es.js +45 -0
- package/dist/useCallbackRef/index.cjs +8 -0
- package/dist/useCallbackRef/index.mjs +2 -0
- package/dist/useCallbackRef-cjs.js +17 -0
- package/dist/useCallbackRef-es.js +15 -0
- package/dist/useCollectionQuery/index.cjs +13 -0
- package/dist/useCollectionQuery/index.mjs +7 -0
- package/dist/useCollectionQuery/useCollectionQuery.d.ts +1 -1
- package/dist/useCollectionQuery-cjs.js +2842 -0
- package/dist/useCollectionQuery-es.js +2821 -0
- package/dist/useDebounce/index.cjs +9 -0
- package/dist/useDebounce/index.mjs +3 -0
- package/dist/useDebounce-cjs.js +92 -0
- package/dist/useDebounce-es.js +90 -0
- package/dist/useFocusTrap/index.cjs +8 -0
- package/dist/useFocusTrap/index.mjs +2 -0
- package/dist/{useFocusTrap/useFocusTrap.js → useFocusTrap-cjs.js} +8 -6
- package/dist/useFocusTrap-es.js +68 -0
- package/dist/useFormState/index.cjs +8 -0
- package/dist/useFormState/index.mjs +2 -0
- package/dist/useFormState-cjs.js +13 -0
- package/dist/useFormState-es.js +11 -0
- package/dist/useInView/index.cjs +8 -0
- package/dist/useInView/index.mjs +2 -0
- package/dist/{useInView/useInView.js → useInView-cjs.js} +10 -8
- package/dist/useInView-es.js +19 -0
- package/dist/useIsMounted/index.cjs +9 -0
- package/dist/useIsMounted/index.mjs +3 -0
- package/dist/{useIsMounted/useIsMounted.js → useIsMounted-cjs.js} +9 -7
- package/dist/useIsMounted-es.js +34 -0
- package/dist/useLiveAnnounce/index.cjs +8 -0
- package/dist/useLiveAnnounce/index.mjs +2 -0
- package/dist/{useLiveAnnounce/useLiveAnnounce.js → useLiveAnnounce-cjs.js} +8 -6
- package/dist/useLiveAnnounce-es.js +41 -0
- package/dist/useOnKeyDown/index.cjs +8 -0
- package/dist/useOnKeyDown/index.mjs +2 -0
- package/dist/{useOnKeyDown/useOnKeyDown.js → useOnKeyDown-cjs.js} +7 -5
- package/dist/useOnKeyDown-es.js +34 -0
- package/dist/useOnMount/index.cjs +9 -0
- package/dist/useOnMount/index.mjs +3 -0
- package/dist/{useOnMount/useOnMount.js → useOnMount-cjs.js} +9 -8
- package/dist/useOnMount-es.js +19 -0
- package/dist/useRefocusOnActivator/index.cjs +8 -0
- package/dist/useRefocusOnActivator/index.mjs +2 -0
- package/dist/{useRefocusOnActivator/useRefocusOnActivator.js → useRefocusOnActivator-cjs.js} +7 -5
- package/dist/useRefocusOnActivator-es.js +26 -0
- package/dist/useResizeObserver/index.cjs +10 -0
- package/dist/useResizeObserver/index.mjs +3 -0
- package/dist/useResizeObserver-cjs.js +1519 -0
- package/dist/useResizeObserver-es.js +1516 -0
- package/dist/useSafeLayoutEffect/index.cjs +8 -0
- package/dist/useSafeLayoutEffect/index.mjs +2 -0
- package/dist/useSafeLayoutEffect-cjs.js +9 -0
- package/dist/useSafeLayoutEffect-es.js +7 -0
- package/dist/useShowClear/{useShowClear.js → index.cjs} +4 -3
- package/dist/useShowClear/index.mjs +17 -0
- package/dist/useStepper/index.cjs +8 -0
- package/dist/useStepper/index.mjs +2 -0
- package/dist/{useStepper/useStepper.js → useStepper-cjs.js} +26 -14
- package/dist/useStepper-es.js +51 -0
- package/dist/useWindowDimensions/index.cjs +8 -0
- package/dist/useWindowDimensions/index.mjs +2 -0
- package/dist/{useWindowDimensions/useWindowDimensions.js → useWindowDimensions-cjs.js} +8 -6
- package/dist/useWindowDimensions-es.js +28 -0
- package/package.json +109 -7
- package/dist/index.js +0 -34
- package/dist/useBool/index.js +0 -5
- package/dist/useBool/useBool.js +0 -11
- package/dist/useBool/useBool.test.d.ts +0 -1
- package/dist/useBool/useBool.test.js +0 -28
- package/dist/useBreakpoints/index.js +0 -20
- package/dist/useBreakpoints/mockViewportWidth/index.js +0 -17
- package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.test.d.ts +0 -1
- package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.test.js +0 -17
- package/dist/useBreakpoints/useBreakpoints.js +0 -28
- package/dist/useBreakpoints/useBreakpoints.test.d.ts +0 -1
- package/dist/useBreakpoints/useBreakpoints.test.js +0 -142
- package/dist/useBreakpoints/useMediaQuery.js +0 -22
- package/dist/useCallbackRef/index.js +0 -5
- package/dist/useCallbackRef/useCallbackRef.js +0 -15
- package/dist/useCallbackRef/useCallbackRef.test.d.ts +0 -1
- package/dist/useCallbackRef/useCallbackRef.test.js +0 -29
- package/dist/useCollectionQuery/index.js +0 -5
- package/dist/useCollectionQuery/mdxUtils.js +0 -152
- package/dist/useCollectionQuery/test-utilities/index.d.ts +0 -3
- package/dist/useCollectionQuery/test-utilities/index.js +0 -19
- package/dist/useCollectionQuery/test-utilities/mocks.d.ts +0 -106
- package/dist/useCollectionQuery/test-utilities/mocks.js +0 -131
- package/dist/useCollectionQuery/test-utilities/queries.d.ts +0 -37
- package/dist/useCollectionQuery/test-utilities/queries.js +0 -59
- package/dist/useCollectionQuery/test-utilities/utils.d.ts +0 -1
- package/dist/useCollectionQuery/test-utilities/utils.js +0 -17
- package/dist/useCollectionQuery/uniqueEdges.js +0 -18
- package/dist/useCollectionQuery/uniqueNodes.js +0 -10
- package/dist/useCollectionQuery/useCollectionQuery.js +0 -194
- package/dist/useCollectionQuery/useCollectionQuery.test.d.ts +0 -1
- package/dist/useCollectionQuery/useCollectionQuery.test.js +0 -357
- package/dist/useDebounce/index.js +0 -5
- package/dist/useDebounce/useDebounce.js +0 -29
- package/dist/useDebounce/useDebounce.test.d.ts +0 -1
- package/dist/useDebounce/useDebounce.test.js +0 -190
- package/dist/useFocusTrap/index.js +0 -5
- package/dist/useFocusTrap/useFocusTrap.test.d.ts +0 -1
- package/dist/useFocusTrap/useFocusTrap.test.js +0 -61
- package/dist/useFormState/index.js +0 -5
- package/dist/useFormState/useFormState.js +0 -11
- package/dist/useInView/index.js +0 -17
- package/dist/useInView/useInView.test.d.ts +0 -1
- package/dist/useInView/useInView.test.js +0 -29
- package/dist/useIsMounted/index.js +0 -5
- package/dist/useIsMounted/useIsMounted.test.d.ts +0 -1
- package/dist/useIsMounted/useIsMounted.test.js +0 -15
- package/dist/useLiveAnnounce/index.js +0 -5
- package/dist/useLiveAnnounce/useLiveAnnounce.test.d.ts +0 -1
- package/dist/useLiveAnnounce/useLiveAnnounce.test.js +0 -60
- package/dist/useOnKeyDown/index.js +0 -5
- package/dist/useOnKeyDown/useOnKeyDown.test.d.ts +0 -1
- package/dist/useOnKeyDown/useOnKeyDown.test.js +0 -23
- package/dist/useOnMount/index.js +0 -5
- package/dist/useOnMount/useOnMount.test.d.ts +0 -1
- package/dist/useOnMount/useOnMount.test.js +0 -18
- package/dist/useRefocusOnActivator/index.js +0 -5
- package/dist/useResizeObserver/index.js +0 -17
- package/dist/useResizeObserver/useResizeObserver.js +0 -68
- package/dist/useSafeLayoutEffect/index.js +0 -5
- package/dist/useSafeLayoutEffect/useSafeLayoutEffect.js +0 -7
- package/dist/useShowClear/index.js +0 -5
- package/dist/useShowClear/useShowClear.test.d.ts +0 -1
- package/dist/useShowClear/useShowClear.test.js +0 -210
- package/dist/useStepper/index.js +0 -5
- package/dist/useStepper/useStepper.test.d.ts +0 -1
- package/dist/useStepper/useStepper.test.js +0 -79
- package/dist/useWindowDimensions/index.js +0 -5
- package/dist/useWindowDimensions/useWIndowDimensions.test.d.ts +0 -1
- package/dist/useWindowDimensions/useWIndowDimensions.test.js +0 -23
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$1 = require('react');
|
|
4
|
+
|
|
5
|
+
const mediaQueryStore = {
|
|
6
|
+
subscribe(onChange, query) {
|
|
7
|
+
const matchMedia = window.matchMedia(query);
|
|
8
|
+
matchMedia.addEventListener("change", onChange);
|
|
9
|
+
return () => {
|
|
10
|
+
matchMedia.removeEventListener("change", onChange);
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
getSnapshot(query) {
|
|
14
|
+
return () => window.matchMedia(query).matches;
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
function useMediaQuery(query) {
|
|
18
|
+
const subscribeMediaQuery = require$$1.useCallback((onChange) => mediaQueryStore.subscribe(onChange, query), [query]);
|
|
19
|
+
const matches = require$$1.useSyncExternalStore(subscribeMediaQuery, mediaQueryStore.getSnapshot(query), () => true);
|
|
20
|
+
return matches;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const BREAKPOINT_SIZES = { sm: 490, md: 768, lg: 1080, xl: 1440 };
|
|
24
|
+
/**
|
|
25
|
+
* Hook equivalent of CSS media queries with our
|
|
26
|
+
* [supported breakpoints](https://atlantis.getjobber.com/design/breakpoints).
|
|
27
|
+
*/
|
|
28
|
+
function useBreakpoints() {
|
|
29
|
+
const { sm, md, lg, xl } = BREAKPOINT_SIZES;
|
|
30
|
+
const extraSmallOnly = useMediaQuery(`(max-width: ${sm - 1}px)`);
|
|
31
|
+
const smallAndUp = useMediaQuery(`(min-width: ${sm}px)`);
|
|
32
|
+
const mediumAndUp = useMediaQuery(`(min-width: ${md}px)`);
|
|
33
|
+
const largeAndUp = useMediaQuery(`(min-width: ${lg}px)`);
|
|
34
|
+
const extraLargeAndUp = useMediaQuery(`(min-width: ${xl}px)`);
|
|
35
|
+
return {
|
|
36
|
+
smallAndUp,
|
|
37
|
+
mediumAndUp,
|
|
38
|
+
largeAndUp,
|
|
39
|
+
extraLargeAndUp,
|
|
40
|
+
extraSmallOnly,
|
|
41
|
+
smallOnly: smallAndUp && !mediumAndUp,
|
|
42
|
+
mediumOnly: mediumAndUp && !largeAndUp,
|
|
43
|
+
largeOnly: largeAndUp && !extraLargeAndUp,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.BREAKPOINT_SIZES = BREAKPOINT_SIZES;
|
|
48
|
+
exports.useBreakpoints = useBreakpoints;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useCallback, useSyncExternalStore } from 'react';
|
|
2
|
+
|
|
3
|
+
const mediaQueryStore = {
|
|
4
|
+
subscribe(onChange, query) {
|
|
5
|
+
const matchMedia = window.matchMedia(query);
|
|
6
|
+
matchMedia.addEventListener("change", onChange);
|
|
7
|
+
return () => {
|
|
8
|
+
matchMedia.removeEventListener("change", onChange);
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
getSnapshot(query) {
|
|
12
|
+
return () => window.matchMedia(query).matches;
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
function useMediaQuery(query) {
|
|
16
|
+
const subscribeMediaQuery = useCallback((onChange) => mediaQueryStore.subscribe(onChange, query), [query]);
|
|
17
|
+
const matches = useSyncExternalStore(subscribeMediaQuery, mediaQueryStore.getSnapshot(query), () => true);
|
|
18
|
+
return matches;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const BREAKPOINT_SIZES = { sm: 490, md: 768, lg: 1080, xl: 1440 };
|
|
22
|
+
/**
|
|
23
|
+
* Hook equivalent of CSS media queries with our
|
|
24
|
+
* [supported breakpoints](https://atlantis.getjobber.com/design/breakpoints).
|
|
25
|
+
*/
|
|
26
|
+
function useBreakpoints() {
|
|
27
|
+
const { sm, md, lg, xl } = BREAKPOINT_SIZES;
|
|
28
|
+
const extraSmallOnly = useMediaQuery(`(max-width: ${sm - 1}px)`);
|
|
29
|
+
const smallAndUp = useMediaQuery(`(min-width: ${sm}px)`);
|
|
30
|
+
const mediumAndUp = useMediaQuery(`(min-width: ${md}px)`);
|
|
31
|
+
const largeAndUp = useMediaQuery(`(min-width: ${lg}px)`);
|
|
32
|
+
const extraLargeAndUp = useMediaQuery(`(min-width: ${xl}px)`);
|
|
33
|
+
return {
|
|
34
|
+
smallAndUp,
|
|
35
|
+
mediumAndUp,
|
|
36
|
+
largeAndUp,
|
|
37
|
+
extraLargeAndUp,
|
|
38
|
+
extraSmallOnly,
|
|
39
|
+
smallOnly: smallAndUp && !mediumAndUp,
|
|
40
|
+
mediumOnly: mediumAndUp && !largeAndUp,
|
|
41
|
+
largeOnly: largeAndUp && !extraLargeAndUp,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { BREAKPOINT_SIZES as B, useBreakpoints as u };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$1 = require('react');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
|
|
7
|
+
* prop or avoid re-executing effects when passed as a dependency
|
|
8
|
+
*/
|
|
9
|
+
function useCallbackRef(callback) {
|
|
10
|
+
const callbackRef = require$$1.useRef(callback);
|
|
11
|
+
require$$1.useEffect(() => {
|
|
12
|
+
callbackRef.current = callback;
|
|
13
|
+
});
|
|
14
|
+
return require$$1.useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.useCallbackRef = useCallbackRef;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useRef, useEffect, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
|
|
5
|
+
* prop or avoid re-executing effects when passed as a dependency
|
|
6
|
+
*/
|
|
7
|
+
function useCallbackRef(callback) {
|
|
8
|
+
const callbackRef = useRef(callback);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
callbackRef.current = callback;
|
|
11
|
+
});
|
|
12
|
+
return useMemo(() => ((...args) => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args); }), []);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { useCallbackRef as u };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var useCollectionQuery = require('../useCollectionQuery-cjs.js');
|
|
4
|
+
require('@apollo/client');
|
|
5
|
+
require('../isObjectLike-cjs.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('@jobber/formatters');
|
|
8
|
+
require('../useIsMounted-cjs.js');
|
|
9
|
+
require('../useSafeLayoutEffect-cjs.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.useCollectionQuery = useCollectionQuery.useCollectionQuery;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApolloError, DocumentNode, QueryHookOptions, SubscribeToMoreOptions } from "@apollo/client";
|
|
1
|
+
import type { ApolloError, DocumentNode, QueryHookOptions, SubscribeToMoreOptions } from "@apollo/client";
|
|
2
2
|
import { Node } from "./uniqueNodes";
|
|
3
3
|
import { Edge } from "./uniqueEdges";
|
|
4
4
|
interface UseCollectionQueryArguments<TQuery, TSubscription> {
|