@buoy-gg/react-query 1.7.8 → 2.1.2

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 (59) hide show
  1. package/lib/commonjs/index.js +619 -24
  2. package/lib/commonjs/preset.js +1 -1
  3. package/lib/commonjs/react-query/components/DataEditorMode.js +9 -16
  4. package/lib/commonjs/react-query/components/MutationEditorMode.js +1 -3
  5. package/lib/commonjs/react-query/components/ReactQueryDevToolsModal.js +12 -0
  6. package/lib/commonjs/react-query/components/modals/MutationBrowserModal.js +2 -1
  7. package/lib/commonjs/react-query/components/modals/QueryBrowserModal.js +8 -14
  8. package/lib/commonjs/react-query/components/query-browser/ActionButton.js +40 -69
  9. package/lib/commonjs/react-query/components/query-browser/QueryActions.js +70 -84
  10. package/lib/commonjs/react-query/hooks/useActionButtons.js +7 -15
  11. package/lib/commonjs/react-query/hooks/useAllMutations.js +65 -15
  12. package/lib/commonjs/react-query/hooks/useMutationActionButtons.js +1 -2
  13. package/lib/commonjs/react-query/hooks/useWifiState.js +3 -3
  14. package/lib/commonjs/react-query/index.js +11 -0
  15. package/lib/commonjs/react-query/stores/index.js +48 -0
  16. package/lib/commonjs/react-query/stores/reactQueryEventStore.js +311 -0
  17. package/lib/commonjs/react-query/utils/modalStorageOperations.js +2 -2
  18. package/lib/module/index.js +113 -8
  19. package/lib/module/preset.js +2 -2
  20. package/lib/module/react-query/components/DataEditorMode.js +9 -16
  21. package/lib/module/react-query/components/MutationEditorMode.js +1 -3
  22. package/lib/module/react-query/components/ReactQueryDevToolsModal.js +13 -1
  23. package/lib/module/react-query/components/modals/MutationBrowserModal.js +2 -1
  24. package/lib/module/react-query/components/modals/QueryBrowserModal.js +9 -15
  25. package/lib/module/react-query/components/query-browser/ActionButton.js +40 -70
  26. package/lib/module/react-query/components/query-browser/QueryActions.js +70 -84
  27. package/lib/module/react-query/hooks/useActionButtons.js +7 -15
  28. package/lib/module/react-query/hooks/useAllMutations.js +66 -16
  29. package/lib/module/react-query/hooks/useMutationActionButtons.js +1 -2
  30. package/lib/module/react-query/hooks/useWifiState.js +4 -4
  31. package/lib/module/react-query/index.js +2 -1
  32. package/lib/module/react-query/stores/index.js +3 -0
  33. package/lib/module/react-query/stores/reactQueryEventStore.js +302 -0
  34. package/lib/module/react-query/utils/modalStorageOperations.js +3 -3
  35. package/lib/typescript/index.d.ts +61 -5
  36. package/lib/typescript/index.d.ts.map +1 -1
  37. package/lib/typescript/react-query/components/DataEditorMode.d.ts.map +1 -1
  38. package/lib/typescript/react-query/components/MutationEditorMode.d.ts.map +1 -1
  39. package/lib/typescript/react-query/components/ReactQueryDevToolsModal.d.ts.map +1 -1
  40. package/lib/typescript/react-query/components/modals/MutationBrowserModal.d.ts.map +1 -1
  41. package/lib/typescript/react-query/components/modals/QueryBrowserModal.d.ts.map +1 -1
  42. package/lib/typescript/react-query/components/query-browser/ActionButton.d.ts +4 -42
  43. package/lib/typescript/react-query/components/query-browser/ActionButton.d.ts.map +1 -1
  44. package/lib/typescript/react-query/components/query-browser/QueryActions.d.ts.map +1 -1
  45. package/lib/typescript/react-query/hooks/useActionButtons.d.ts +5 -8
  46. package/lib/typescript/react-query/hooks/useActionButtons.d.ts.map +1 -1
  47. package/lib/typescript/react-query/hooks/useAllMutations.d.ts +2 -2
  48. package/lib/typescript/react-query/hooks/useAllMutations.d.ts.map +1 -1
  49. package/lib/typescript/react-query/hooks/useMutationActionButtons.d.ts +1 -8
  50. package/lib/typescript/react-query/hooks/useMutationActionButtons.d.ts.map +1 -1
  51. package/lib/typescript/react-query/hooks/useWifiState.d.ts +1 -1
  52. package/lib/typescript/react-query/hooks/useWifiState.d.ts.map +1 -1
  53. package/lib/typescript/react-query/index.d.ts +1 -0
  54. package/lib/typescript/react-query/index.d.ts.map +1 -1
  55. package/lib/typescript/react-query/stores/index.d.ts +2 -0
  56. package/lib/typescript/react-query/stores/index.d.ts.map +1 -0
  57. package/lib/typescript/react-query/stores/reactQueryEventStore.d.ts +99 -0
  58. package/lib/typescript/react-query/stores/reactQueryEventStore.d.ts.map +1 -0
  59. package/package.json +17 -3
@@ -1,21 +1,18 @@
1
1
  import { Query, QueryClient } from "@tanstack/react-query";
2
- interface ActionButtonConfig {
2
+ import type { ButtonVariant } from "../components/query-browser/ActionButton";
3
+ export interface ActionButtonConfig {
3
4
  label: string;
4
- bgColorClass: "btnRefetch" | "btnTriggerLoading" | "btnTriggerLoadiError" | "btnRemove";
5
- textColorClass: "btnRefetch" | "btnTriggerLoading" | "btnTriggerLoadiError" | "btnRemove";
5
+ variant: ButtonVariant;
6
6
  disabled: boolean;
7
7
  onPress: () => void;
8
8
  }
9
9
  /**
10
- * Derives the default action button configuration for an inspected query. Encapsulates business
11
- * rules around when to show refetch, loading, or error simulation actions.
10
+ * Derives compact action button configuration for the footer. Returns 3 essential buttons
11
+ * (Refetch, Loading, Error) optimized for small device footprints.
12
12
  *
13
13
  * @param selectedQuery - The query to derive actions for
14
14
  * @param queryClient - The query client for executing actions
15
15
  * @param queryVersion - Optional version number that increments on query state changes.
16
- * React Query mutates Query objects in place, so this version ensures
17
- * the useMemo recomputes when state changes.
18
16
  */
19
17
  export declare function useActionButtons(selectedQuery: Query, queryClient: QueryClient, queryVersion?: number): ActionButtonConfig[];
20
- export {};
21
18
  //# sourceMappingURL=useActionButtons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useActionButtons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAM3D,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EACR,YAAY,GACZ,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;IAChB,cAAc,EACV,YAAY,GACZ,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,kBAAkB,EAAE,CAqCtB"}
1
+ {"version":3,"file":"useActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useActionButtons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAK3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,KAAK,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,kBAAkB,EAAE,CA+BtB"}
@@ -1,7 +1,7 @@
1
1
  import { Mutation } from "@tanstack/react-query";
2
2
  /**
3
- * Tracks all active React Query mutations with lightweight change detection. Debounces cache
4
- * updates so large mutation batches do not thrash the UI thread on mobile.
3
+ * Tracks all active React Query mutations with lightweight change detection.
4
+ * Mirrors the pattern used in useAllQueries for consistency.
5
5
  */
6
6
  declare function useAllMutations(): {
7
7
  mutations: Mutation<unknown, Error, unknown, unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"useAllMutations.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useAllMutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAEjE;;;GAGG;AACH,iBAAS,eAAe;;EAyBvB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"useAllMutations.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useAllMutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAEjE;;;GAGG;AACH,iBAAS,eAAe;;EAqFvB;AAED,eAAe,eAAe,CAAC"}
@@ -1,15 +1,8 @@
1
1
  import { Mutation } from "@tanstack/react-query";
2
- interface ActionButtonConfig {
3
- label: string;
4
- bgColorClass: "btnRefetch" | "btnTriggerLoading" | "btnTriggerLoadiError" | "btnRemove";
5
- textColorClass: "btnRefetch" | "btnTriggerLoading" | "btnTriggerLoadiError" | "btnRemove";
6
- disabled: boolean;
7
- onPress: () => void;
8
- }
2
+ import type { ActionButtonConfig } from "./useActionButtons";
9
3
  /**
10
4
  * Supplies action button metadata for a selected mutation. Currently exposes a remove control but
11
5
  * centralizes logic so future actions stay consistent across the UI.
12
6
  */
13
7
  export declare function useMutationActionButtons(selectedMutation: Mutation): ActionButtonConfig[];
14
- export {};
15
8
  //# sourceMappingURL=useMutationActionButtons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useMutationActionButtons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAElE,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EACR,YAAY,GACZ,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;IAChB,cAAc,EACV,YAAY,GACZ,mBAAmB,GACnB,sBAAsB,GACtB,WAAW,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,QAAQ,GACzB,kBAAkB,EAAE,CActB"}
1
+ {"version":3,"file":"useMutationActionButtons.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useMutationActionButtons.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,QAAQ,GACzB,kBAAkB,EAAE,CAatB"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Synchronizes a local Wi-Fi toggle with React Querys `onlineManager`, persisting the selection
2
+ * Synchronizes a local Wi-Fi toggle with React Query's `onlineManager`, persisting the selection
3
3
  * so developers can simulate offline mode across reloads.
4
4
  */
5
5
  export declare function useWifiState(): {
@@ -1 +1 @@
1
- {"version":3,"file":"useWifiState.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useWifiState.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,YAAY;;;EAiE3B"}
1
+ {"version":3,"file":"useWifiState.d.ts","sourceRoot":"","sources":["../../../../src/react-query/hooks/useWifiState.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,YAAY;;;EAiE3B"}
@@ -1,2 +1,3 @@
1
1
  export * from "./ReactQueryDevTools";
2
+ export * from "./stores";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-query/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-query/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { reactQueryEventStore, setQueryClient, disconnectQueryClient, getReactQueryEvents, subscribeToReactQueryEvents, clearReactQueryEvents, isReactQueryConnected, type ReactQueryEvent, type ReactQueryEventType, } from "./reactQueryEventStore";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-query/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * React Query Event Store
3
+ *
4
+ * Bridges React Query's cache subscription system to a simple pub/sub pattern
5
+ * that can be consumed by the unified Events DevTools.
6
+ *
7
+ * Usage:
8
+ * 1. In your app, call setQueryClient(queryClient) to connect
9
+ * 2. The store will emit events for query/mutation state changes
10
+ * 3. The Events DevTools subscribes to these events
11
+ */
12
+ import type { QueryClient, Query, Mutation } from "@tanstack/react-query";
13
+ /**
14
+ * React Query event types for the unified timeline
15
+ */
16
+ export type ReactQueryEventType = "query-fetch-start" | "query-fetch-success" | "query-fetch-error" | "query-invalidated" | "mutation-start" | "mutation-success" | "mutation-error";
17
+ /**
18
+ * Unified React Query event for the timeline
19
+ */
20
+ export interface ReactQueryEvent {
21
+ id: string;
22
+ type: ReactQueryEventType;
23
+ timestamp: number;
24
+ queryKey?: unknown[];
25
+ queryHash?: string;
26
+ queryData?: unknown;
27
+ queryError?: unknown;
28
+ mutationId?: number;
29
+ mutationKey?: unknown[];
30
+ mutationVariables?: unknown;
31
+ mutationData?: unknown;
32
+ mutationError?: unknown;
33
+ duration?: number;
34
+ query?: Query;
35
+ mutation?: Mutation;
36
+ }
37
+ type ReactQueryEventListener = (events: ReactQueryEvent[]) => void;
38
+ declare class ReactQueryEventStore {
39
+ private events;
40
+ private listeners;
41
+ private queryClient;
42
+ private queryUnsubscribe;
43
+ private mutationUnsubscribe;
44
+ private maxEvents;
45
+ private fetchStartTimes;
46
+ private mutationStartTimes;
47
+ private lastQueryStates;
48
+ private lastMutationStates;
49
+ /**
50
+ * Connect a QueryClient to the store
51
+ * Call this in your app after creating the QueryClient
52
+ */
53
+ setQueryClient(queryClient: QueryClient): void;
54
+ /**
55
+ * Disconnect from the QueryClient
56
+ */
57
+ disconnect(): void;
58
+ /**
59
+ * Handle query state updates and emit appropriate events
60
+ */
61
+ private handleQueryUpdate;
62
+ /**
63
+ * Handle mutation state updates and emit appropriate events
64
+ */
65
+ private handleMutationUpdate;
66
+ /**
67
+ * Add an event to the store
68
+ */
69
+ private addEvent;
70
+ /**
71
+ * Get all events
72
+ */
73
+ getEvents(): ReactQueryEvent[];
74
+ /**
75
+ * Subscribe to event changes
76
+ */
77
+ subscribe(listener: ReactQueryEventListener): () => void;
78
+ /**
79
+ * Notify all listeners
80
+ */
81
+ private notifyListeners;
82
+ /**
83
+ * Clear all events
84
+ */
85
+ clearEvents(): void;
86
+ /**
87
+ * Check if connected to a QueryClient
88
+ */
89
+ isConnected(): boolean;
90
+ }
91
+ export declare const reactQueryEventStore: ReactQueryEventStore;
92
+ export declare const setQueryClient: (queryClient: QueryClient) => void;
93
+ export declare const disconnectQueryClient: () => void;
94
+ export declare const getReactQueryEvents: () => ReactQueryEvent[];
95
+ export declare const subscribeToReactQueryEvents: (listener: ReactQueryEventListener) => () => void;
96
+ export declare const clearReactQueryEvents: () => void;
97
+ export declare const isReactQueryConnected: () => boolean;
98
+ export {};
99
+ //# sourceMappingURL=reactQueryEventStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactQueryEventStore.d.ts","sourceRoot":"","sources":["../../../../src/react-query/stores/reactQueryEventStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG1E;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,KAAK,uBAAuB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;AAOnE,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAAO;IAGxB,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAAkC;IAG5D,OAAO,CAAC,eAAe,CAAmE;IAC1F,OAAO,CAAC,kBAAkB,CAAkC;IAE5D;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAqB9C;;OAEG;IACH,UAAU,IAAI,IAAI;IAgBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6FzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4D5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,SAAS,IAAI,eAAe,EAAE;IAI9B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,IAAI;IASxD;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,WAAW,IAAI,OAAO;CAGvB;AAGD,eAAO,MAAM,oBAAoB,sBAA6B,CAAC;AAG/D,eAAO,MAAM,cAAc,GAAI,aAAa,WAAW,SACL,CAAC;AACnD,eAAO,MAAM,qBAAqB,YAA0C,CAAC;AAC7E,eAAO,MAAM,mBAAmB,yBAAyC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,GAAI,UAAU,uBAAuB,WAzCvB,IA0CZ,CAAC;AAC3C,eAAO,MAAM,qBAAqB,YAA2C,CAAC;AAC9E,eAAO,MAAM,qBAAqB,eAA2C,CAAC"}
package/package.json CHANGED
@@ -1,19 +1,33 @@
1
1
  {
2
2
  "name": "@buoy-gg/react-query",
3
- "version": "1.7.8",
3
+ "version": "2.1.2",
4
4
  "description": "react-query package",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
7
  "types": "lib/typescript/index.d.ts",
8
8
  "react-native": "lib/module/index.js",
9
9
  "source": "src/index.tsx",
10
+ "exports": {
11
+ ".": {
12
+ "react-native": "./lib/module/index.js",
13
+ "import": {
14
+ "default": "./lib/module/index.js",
15
+ "types": "./lib/typescript/index.d.ts"
16
+ },
17
+ "require": {
18
+ "default": "./lib/commonjs/index.js",
19
+ "types": "./lib/typescript/index.d.ts"
20
+ }
21
+ },
22
+ "./package.json": "./package.json"
23
+ },
10
24
  "files": [
11
25
  "lib"
12
26
  ],
13
27
  "sideEffects": false,
14
28
  "dependencies": {
15
- "@buoy-gg/floating-tools-core": "1.7.8",
16
- "@buoy-gg/shared-ui": "1.7.8"
29
+ "@buoy-gg/floating-tools-core": "2.1.2",
30
+ "@buoy-gg/shared-ui": "2.1.2"
17
31
  },
18
32
  "peerDependencies": {
19
33
  "@tanstack/react-query": ">=5.0.0",