@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.
Files changed (148) hide show
  1. package/dist/index.cjs +49 -0
  2. package/dist/index.mjs +23 -0
  3. package/dist/isObjectLike-cjs.js +228 -0
  4. package/dist/isObjectLike-es.js +219 -0
  5. package/dist/useBool/index.cjs +8 -0
  6. package/dist/useBool/index.mjs +2 -0
  7. package/dist/useBool-cjs.js +13 -0
  8. package/dist/useBool-es.js +11 -0
  9. package/dist/useBreakpoints/index.cjs +11 -0
  10. package/dist/useBreakpoints/index.mjs +3 -0
  11. package/dist/useBreakpoints/mockViewportWidth/{mockViewportWidth.js → index.cjs} +5 -4
  12. package/dist/useBreakpoints/mockViewportWidth/index.mjs +66 -0
  13. package/dist/useBreakpoints-cjs.js +48 -0
  14. package/dist/useBreakpoints-es.js +45 -0
  15. package/dist/useCallbackRef/index.cjs +8 -0
  16. package/dist/useCallbackRef/index.mjs +2 -0
  17. package/dist/useCallbackRef-cjs.js +17 -0
  18. package/dist/useCallbackRef-es.js +15 -0
  19. package/dist/useCollectionQuery/index.cjs +13 -0
  20. package/dist/useCollectionQuery/index.mjs +7 -0
  21. package/dist/useCollectionQuery/useCollectionQuery.d.ts +1 -1
  22. package/dist/useCollectionQuery-cjs.js +2842 -0
  23. package/dist/useCollectionQuery-es.js +2821 -0
  24. package/dist/useDebounce/index.cjs +9 -0
  25. package/dist/useDebounce/index.mjs +3 -0
  26. package/dist/useDebounce-cjs.js +92 -0
  27. package/dist/useDebounce-es.js +90 -0
  28. package/dist/useFocusTrap/index.cjs +8 -0
  29. package/dist/useFocusTrap/index.mjs +2 -0
  30. package/dist/{useFocusTrap/useFocusTrap.js → useFocusTrap-cjs.js} +8 -6
  31. package/dist/useFocusTrap-es.js +68 -0
  32. package/dist/useFormState/index.cjs +8 -0
  33. package/dist/useFormState/index.mjs +2 -0
  34. package/dist/useFormState-cjs.js +13 -0
  35. package/dist/useFormState-es.js +11 -0
  36. package/dist/useInView/index.cjs +8 -0
  37. package/dist/useInView/index.mjs +2 -0
  38. package/dist/{useInView/useInView.js → useInView-cjs.js} +10 -8
  39. package/dist/useInView-es.js +19 -0
  40. package/dist/useIsMounted/index.cjs +9 -0
  41. package/dist/useIsMounted/index.mjs +3 -0
  42. package/dist/{useIsMounted/useIsMounted.js → useIsMounted-cjs.js} +9 -7
  43. package/dist/useIsMounted-es.js +34 -0
  44. package/dist/useLiveAnnounce/index.cjs +8 -0
  45. package/dist/useLiveAnnounce/index.mjs +2 -0
  46. package/dist/{useLiveAnnounce/useLiveAnnounce.js → useLiveAnnounce-cjs.js} +8 -6
  47. package/dist/useLiveAnnounce-es.js +41 -0
  48. package/dist/useOnKeyDown/index.cjs +8 -0
  49. package/dist/useOnKeyDown/index.mjs +2 -0
  50. package/dist/{useOnKeyDown/useOnKeyDown.js → useOnKeyDown-cjs.js} +7 -5
  51. package/dist/useOnKeyDown-es.js +34 -0
  52. package/dist/useOnMount/index.cjs +9 -0
  53. package/dist/useOnMount/index.mjs +3 -0
  54. package/dist/{useOnMount/useOnMount.js → useOnMount-cjs.js} +9 -8
  55. package/dist/useOnMount-es.js +19 -0
  56. package/dist/useRefocusOnActivator/index.cjs +8 -0
  57. package/dist/useRefocusOnActivator/index.mjs +2 -0
  58. package/dist/{useRefocusOnActivator/useRefocusOnActivator.js → useRefocusOnActivator-cjs.js} +7 -5
  59. package/dist/useRefocusOnActivator-es.js +26 -0
  60. package/dist/useResizeObserver/index.cjs +10 -0
  61. package/dist/useResizeObserver/index.mjs +3 -0
  62. package/dist/useResizeObserver-cjs.js +1519 -0
  63. package/dist/useResizeObserver-es.js +1516 -0
  64. package/dist/useSafeLayoutEffect/index.cjs +8 -0
  65. package/dist/useSafeLayoutEffect/index.mjs +2 -0
  66. package/dist/useSafeLayoutEffect-cjs.js +9 -0
  67. package/dist/useSafeLayoutEffect-es.js +7 -0
  68. package/dist/useShowClear/{useShowClear.js → index.cjs} +4 -3
  69. package/dist/useShowClear/index.mjs +17 -0
  70. package/dist/useStepper/index.cjs +8 -0
  71. package/dist/useStepper/index.mjs +2 -0
  72. package/dist/{useStepper/useStepper.js → useStepper-cjs.js} +26 -14
  73. package/dist/useStepper-es.js +51 -0
  74. package/dist/useWindowDimensions/index.cjs +8 -0
  75. package/dist/useWindowDimensions/index.mjs +2 -0
  76. package/dist/{useWindowDimensions/useWindowDimensions.js → useWindowDimensions-cjs.js} +8 -6
  77. package/dist/useWindowDimensions-es.js +28 -0
  78. package/package.json +109 -7
  79. package/dist/index.js +0 -34
  80. package/dist/useBool/index.js +0 -5
  81. package/dist/useBool/useBool.js +0 -11
  82. package/dist/useBool/useBool.test.d.ts +0 -1
  83. package/dist/useBool/useBool.test.js +0 -28
  84. package/dist/useBreakpoints/index.js +0 -20
  85. package/dist/useBreakpoints/mockViewportWidth/index.js +0 -17
  86. package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.test.d.ts +0 -1
  87. package/dist/useBreakpoints/mockViewportWidth/mockViewportWidth.test.js +0 -17
  88. package/dist/useBreakpoints/useBreakpoints.js +0 -28
  89. package/dist/useBreakpoints/useBreakpoints.test.d.ts +0 -1
  90. package/dist/useBreakpoints/useBreakpoints.test.js +0 -142
  91. package/dist/useBreakpoints/useMediaQuery.js +0 -22
  92. package/dist/useCallbackRef/index.js +0 -5
  93. package/dist/useCallbackRef/useCallbackRef.js +0 -15
  94. package/dist/useCallbackRef/useCallbackRef.test.d.ts +0 -1
  95. package/dist/useCallbackRef/useCallbackRef.test.js +0 -29
  96. package/dist/useCollectionQuery/index.js +0 -5
  97. package/dist/useCollectionQuery/mdxUtils.js +0 -152
  98. package/dist/useCollectionQuery/test-utilities/index.d.ts +0 -3
  99. package/dist/useCollectionQuery/test-utilities/index.js +0 -19
  100. package/dist/useCollectionQuery/test-utilities/mocks.d.ts +0 -106
  101. package/dist/useCollectionQuery/test-utilities/mocks.js +0 -131
  102. package/dist/useCollectionQuery/test-utilities/queries.d.ts +0 -37
  103. package/dist/useCollectionQuery/test-utilities/queries.js +0 -59
  104. package/dist/useCollectionQuery/test-utilities/utils.d.ts +0 -1
  105. package/dist/useCollectionQuery/test-utilities/utils.js +0 -17
  106. package/dist/useCollectionQuery/uniqueEdges.js +0 -18
  107. package/dist/useCollectionQuery/uniqueNodes.js +0 -10
  108. package/dist/useCollectionQuery/useCollectionQuery.js +0 -194
  109. package/dist/useCollectionQuery/useCollectionQuery.test.d.ts +0 -1
  110. package/dist/useCollectionQuery/useCollectionQuery.test.js +0 -357
  111. package/dist/useDebounce/index.js +0 -5
  112. package/dist/useDebounce/useDebounce.js +0 -29
  113. package/dist/useDebounce/useDebounce.test.d.ts +0 -1
  114. package/dist/useDebounce/useDebounce.test.js +0 -190
  115. package/dist/useFocusTrap/index.js +0 -5
  116. package/dist/useFocusTrap/useFocusTrap.test.d.ts +0 -1
  117. package/dist/useFocusTrap/useFocusTrap.test.js +0 -61
  118. package/dist/useFormState/index.js +0 -5
  119. package/dist/useFormState/useFormState.js +0 -11
  120. package/dist/useInView/index.js +0 -17
  121. package/dist/useInView/useInView.test.d.ts +0 -1
  122. package/dist/useInView/useInView.test.js +0 -29
  123. package/dist/useIsMounted/index.js +0 -5
  124. package/dist/useIsMounted/useIsMounted.test.d.ts +0 -1
  125. package/dist/useIsMounted/useIsMounted.test.js +0 -15
  126. package/dist/useLiveAnnounce/index.js +0 -5
  127. package/dist/useLiveAnnounce/useLiveAnnounce.test.d.ts +0 -1
  128. package/dist/useLiveAnnounce/useLiveAnnounce.test.js +0 -60
  129. package/dist/useOnKeyDown/index.js +0 -5
  130. package/dist/useOnKeyDown/useOnKeyDown.test.d.ts +0 -1
  131. package/dist/useOnKeyDown/useOnKeyDown.test.js +0 -23
  132. package/dist/useOnMount/index.js +0 -5
  133. package/dist/useOnMount/useOnMount.test.d.ts +0 -1
  134. package/dist/useOnMount/useOnMount.test.js +0 -18
  135. package/dist/useRefocusOnActivator/index.js +0 -5
  136. package/dist/useResizeObserver/index.js +0 -17
  137. package/dist/useResizeObserver/useResizeObserver.js +0 -68
  138. package/dist/useSafeLayoutEffect/index.js +0 -5
  139. package/dist/useSafeLayoutEffect/useSafeLayoutEffect.js +0 -7
  140. package/dist/useShowClear/index.js +0 -5
  141. package/dist/useShowClear/useShowClear.test.d.ts +0 -1
  142. package/dist/useShowClear/useShowClear.test.js +0 -210
  143. package/dist/useStepper/index.js +0 -5
  144. package/dist/useStepper/useStepper.test.d.ts +0 -1
  145. package/dist/useStepper/useStepper.test.js +0 -79
  146. package/dist/useWindowDimensions/index.js +0 -5
  147. package/dist/useWindowDimensions/useWIndowDimensions.test.d.ts +0 -1
  148. 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,8 @@
1
+ 'use strict';
2
+
3
+ var useCallbackRef = require('../useCallbackRef-cjs.js');
4
+ require('react');
5
+
6
+
7
+
8
+ exports.useCallbackRef = useCallbackRef.useCallbackRef;
@@ -0,0 +1,2 @@
1
+ export { u as useCallbackRef } from '../useCallbackRef-es.js';
2
+ import 'react';
@@ -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;
@@ -0,0 +1,7 @@
1
+ export { u as useCollectionQuery } from '../useCollectionQuery-es.js';
2
+ import '@apollo/client';
3
+ import '../isObjectLike-es.js';
4
+ import 'react';
5
+ import '@jobber/formatters';
6
+ import '../useIsMounted-es.js';
7
+ import '../useSafeLayoutEffect-es.js';
@@ -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> {