@buoy-gg/react-query 7.0.31 → 7.0.33

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.
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.QueryBrowserMode = QueryBrowserMode;
7
+ var _sharedUi = require("@buoy-gg/shared-ui");
7
8
  var _reactNative = require("react-native");
8
9
  var _react = require("react");
9
10
  var _index = require("./query-browser/index");
@@ -63,7 +64,22 @@ function QueryBrowserMode({
63
64
  searchText: searchText,
64
65
  ignoredPatterns: ignoredPatterns,
65
66
  includedPatterns: includedPatterns,
66
- emptyStateMessage: searchText ? `No queries found matching "${searchText}"` : activeFilter ? `No ${activeFilter} queries found` : hasIncludeFilters ? `No queries match your "include only" filters. ${includedPatterns.size} pattern(s) active.` : hasExcludeFilters ? `No queries match the current filters. ${ignoredPatterns.size} pattern(s) excluded.` : "No React Query queries are currently active.\n\nTo see queries here:\n• Make API calls using useQuery\n• Ensure queries are within QueryClientProvider\n• Check console for debugging info",
67
+ emptyState: (0, _sharedUi.resolveListEmptyState)({
68
+ subject: "queries",
69
+ verb: "active",
70
+ search: searchText,
71
+ total: allQueries.length,
72
+ // Include/exclude patterns and the status filter are all "your
73
+ // filters hid it", but each names the control that undoes it.
74
+ blocked: activeFilter ? `No ${activeFilter} queries. Pick another status to see the rest.` : hasIncludeFilters ? `No queries match your "include only" filters. ${includedPatterns.size} pattern(s) active.` : hasExcludeFilters ? `No queries match the current filters. ${ignoredPatterns.size} pattern(s) excluded.` : undefined,
75
+ waiting: {
76
+ // scanning = the cache was inspected and came back empty; this is
77
+ // a setup problem, not a stream that has not started.
78
+ otto: "scanning",
79
+ title: "No queries found",
80
+ message: "No React Query queries are currently active.\n\nTo see queries here:\n• Make API calls using useQuery\n• Ensure queries are within QueryClientProvider\n• Check console for debugging info"
81
+ }
82
+ }),
67
83
  contentContainerStyle: styles.queryListContent
68
84
  })]
69
85
  });
@@ -27,6 +27,12 @@ function ReactQueryModalHeader({
27
27
  showWifiToggle = false
28
28
  }) {
29
29
  const [isSearchActive, setIsSearchActive] = (0, _react.useState)(false);
30
+ // True while the header's clear ✕ is being pressed. With a mouse, pressing
31
+ // the ✕ blurs the input FIRST, and the blur handler closes search — which
32
+ // unmounts the ✕ before its own press can fire, so the query was never
33
+ // cleared (desktop). Press-in lands before the blur, so the blur handler can
34
+ // tell this dismissal apart from a click elsewhere.
35
+ const clearPressRef = (0, _react.useRef)(false);
30
36
  const searchInputRef = (0, _react.useRef)(null);
31
37
 
32
38
  // Auto-focus search input when search becomes active
@@ -99,13 +105,25 @@ function ReactQueryModalHeader({
99
105
  value: searchText,
100
106
  onChangeText: handleSearch,
101
107
  onSubmitEditing: () => setIsSearchActive(false),
102
- onBlur: () => setIsSearchActive(false),
108
+ onBlur: () => {
109
+ if (!clearPressRef.current) setIsSearchActive(false);
110
+ },
103
111
  "sentry-label": "ignore react query search header",
104
112
  accessibilityLabel: "Search queries and mutations",
105
113
  autoCapitalize: "none",
106
114
  autoCorrect: false,
107
115
  returnKeyType: "search"
108
- }), searchText.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
116
+ }), searchText.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity
117
+ // react-native-web delays press-in ~50ms by default (native
118
+ // fires it immediately), which would put it AFTER the blur.
119
+ , {
120
+ delayPressIn: 0,
121
+ onPressIn: () => {
122
+ clearPressRef.current = true;
123
+ },
124
+ onPressOut: () => {
125
+ clearPressRef.current = false;
126
+ },
109
127
  onPress: () => {
110
128
  handleSearch("");
111
129
  setIsSearchActive(false);
@@ -135,13 +135,11 @@ function MutationsList({
135
135
  windowSize: 10,
136
136
  scrollEnabled: false
137
137
  })
138
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
139
- style: styles.emptyContainer,
140
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
141
- style: styles.emptyText,
142
- testID: "buoy-rq-mutations-empty",
143
- children: activeFilter ? `No ${activeFilter} mutations found` : "No mutations found"
144
- })
138
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ToolEmptyState, {
139
+ testID: "buoy-rq-mutations-empty",
140
+ otto: activeFilter ? "filtering" : "scanning",
141
+ title: "No mutations found",
142
+ message: activeFilter ? `No ${activeFilter} mutations. Pick another status to see the rest.` : "Mutations run through useMutation will appear here."
145
143
  }), selectedMutation && !hideInfoPanel && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
146
144
  style: [styles.mutationInfo, {
147
145
  height: infoHeightAnim
@@ -20,6 +20,7 @@ function QueryBrowser({
20
20
  onQuerySelect,
21
21
  activeFilter,
22
22
  emptyStateMessage,
23
+ emptyState,
23
24
  contentContainerStyle,
24
25
  queries: externalQueries,
25
26
  searchText = "",
@@ -98,12 +99,12 @@ function QueryBrowser({
98
99
  onQuerySelect(query);
99
100
  }, [selectedQuery?.queryHash, onQuerySelect]);
100
101
  if (filteredQueries.length === 0) {
101
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
102
- style: styles.emptyContainer,
103
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
104
- style: styles.emptyText,
105
- testID: "buoy-rq-empty",
106
- children: emptyStateMessage || (activeFilter ? `No ${activeFilter} queries found` : "No queries found")
102
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ToolEmptyState, {
103
+ testID: "buoy-rq-empty",
104
+ ...(emptyState ?? {
105
+ otto: "empty",
106
+ title: "No queries found",
107
+ message: emptyStateMessage || (activeFilter ? `No ${activeFilter} queries found` : "No queries found")
107
108
  })
108
109
  });
109
110
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { resolveListEmptyState } from "@buoy-gg/shared-ui";
3
4
  import { View, StyleSheet } from "react-native";
4
5
  import { useMemo } from "react";
5
6
  import { QueryBrowser } from "./query-browser/index";
@@ -58,7 +59,22 @@ export function QueryBrowserMode({
58
59
  searchText: searchText,
59
60
  ignoredPatterns: ignoredPatterns,
60
61
  includedPatterns: includedPatterns,
61
- emptyStateMessage: searchText ? `No queries found matching "${searchText}"` : activeFilter ? `No ${activeFilter} queries found` : hasIncludeFilters ? `No queries match your "include only" filters. ${includedPatterns.size} pattern(s) active.` : hasExcludeFilters ? `No queries match the current filters. ${ignoredPatterns.size} pattern(s) excluded.` : "No React Query queries are currently active.\n\nTo see queries here:\n• Make API calls using useQuery\n• Ensure queries are within QueryClientProvider\n• Check console for debugging info",
62
+ emptyState: resolveListEmptyState({
63
+ subject: "queries",
64
+ verb: "active",
65
+ search: searchText,
66
+ total: allQueries.length,
67
+ // Include/exclude patterns and the status filter are all "your
68
+ // filters hid it", but each names the control that undoes it.
69
+ blocked: activeFilter ? `No ${activeFilter} queries. Pick another status to see the rest.` : hasIncludeFilters ? `No queries match your "include only" filters. ${includedPatterns.size} pattern(s) active.` : hasExcludeFilters ? `No queries match the current filters. ${ignoredPatterns.size} pattern(s) excluded.` : undefined,
70
+ waiting: {
71
+ // scanning = the cache was inspected and came back empty; this is
72
+ // a setup problem, not a stream that has not started.
73
+ otto: "scanning",
74
+ title: "No queries found",
75
+ message: "No React Query queries are currently active.\n\nTo see queries here:\n• Make API calls using useQuery\n• Ensure queries are within QueryClientProvider\n• Check console for debugging info"
76
+ }
77
+ }),
62
78
  contentContainerStyle: styles.queryListContent
63
79
  })]
64
80
  });
@@ -23,6 +23,12 @@ export function ReactQueryModalHeader({
23
23
  showWifiToggle = false
24
24
  }) {
25
25
  const [isSearchActive, setIsSearchActive] = useState(false);
26
+ // True while the header's clear ✕ is being pressed. With a mouse, pressing
27
+ // the ✕ blurs the input FIRST, and the blur handler closes search — which
28
+ // unmounts the ✕ before its own press can fire, so the query was never
29
+ // cleared (desktop). Press-in lands before the blur, so the blur handler can
30
+ // tell this dismissal apart from a click elsewhere.
31
+ const clearPressRef = useRef(false);
26
32
  const searchInputRef = useRef(null);
27
33
 
28
34
  // Auto-focus search input when search becomes active
@@ -95,13 +101,25 @@ export function ReactQueryModalHeader({
95
101
  value: searchText,
96
102
  onChangeText: handleSearch,
97
103
  onSubmitEditing: () => setIsSearchActive(false),
98
- onBlur: () => setIsSearchActive(false),
104
+ onBlur: () => {
105
+ if (!clearPressRef.current) setIsSearchActive(false);
106
+ },
99
107
  "sentry-label": "ignore react query search header",
100
108
  accessibilityLabel: "Search queries and mutations",
101
109
  autoCapitalize: "none",
102
110
  autoCorrect: false,
103
111
  returnKeyType: "search"
104
- }), searchText.length > 0 ? /*#__PURE__*/_jsx(TouchableOpacity, {
112
+ }), searchText.length > 0 ? /*#__PURE__*/_jsx(TouchableOpacity
113
+ // react-native-web delays press-in ~50ms by default (native
114
+ // fires it immediately), which would put it AFTER the blur.
115
+ , {
116
+ delayPressIn: 0,
117
+ onPressIn: () => {
118
+ clearPressRef.current = true;
119
+ },
120
+ onPressOut: () => {
121
+ clearPressRef.current = false;
122
+ },
105
123
  onPress: () => {
106
124
  handleSearch("");
107
125
  setIsSearchActive(false);
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState, useRef, useMemo, useCallback } from "react";
4
- import { View, Text, StyleSheet, PanResponder, Animated, Dimensions, FlatList } from "react-native";
4
+ import { View, StyleSheet, PanResponder, Animated, Dimensions, FlatList } from "react-native";
5
5
  import MutationButton from "./MutationButton";
6
6
  import MutationInformation from "./MutationInformation";
7
7
  import useAllMutations from "../../hooks/useAllMutations";
8
- import { night } from "@buoy-gg/shared-ui";
8
+ import { night, ToolEmptyState } from "@buoy-gg/shared-ui";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  /**
11
11
  * Virtualized list of mutations with filtering and selection support for the mutation browser.
@@ -130,13 +130,11 @@ export default function MutationsList({
130
130
  windowSize: 10,
131
131
  scrollEnabled: false
132
132
  })
133
- }) : /*#__PURE__*/_jsx(View, {
134
- style: styles.emptyContainer,
135
- children: /*#__PURE__*/_jsx(Text, {
136
- style: styles.emptyText,
137
- testID: "buoy-rq-mutations-empty",
138
- children: activeFilter ? `No ${activeFilter} mutations found` : "No mutations found"
139
- })
133
+ }) : /*#__PURE__*/_jsx(ToolEmptyState, {
134
+ testID: "buoy-rq-mutations-empty",
135
+ otto: activeFilter ? "filtering" : "scanning",
136
+ title: "No mutations found",
137
+ message: activeFilter ? `No ${activeFilter} mutations. Pick another status to see the rest.` : "Mutations run through useMutation will appear here."
140
138
  }), selectedMutation && !hideInfoPanel && /*#__PURE__*/_jsxs(Animated.View, {
141
139
  style: [styles.mutationInfo, {
142
140
  height: infoHeightAnim
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { useMemo, useCallback } from "react";
4
- import { View, StyleSheet, Text, FlatList } from "react-native";
4
+ import { StyleSheet, FlatList } from "react-native";
5
5
  import QueryRow from "./QueryRow";
6
6
  import useAllQueries from "../../hooks/useAllQueries";
7
7
  import { getQueryStatusLabel } from "../../utils/getQueryStatusLabel";
8
- import { night } from "@buoy-gg/shared-ui";
8
+ import { night, ToolEmptyState } from "@buoy-gg/shared-ui";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  /**
11
11
  * Scrollable list view of cached queries with filtering support and selection handling.
@@ -15,6 +15,7 @@ export default function QueryBrowser({
15
15
  onQuerySelect,
16
16
  activeFilter,
17
17
  emptyStateMessage,
18
+ emptyState,
18
19
  contentContainerStyle,
19
20
  queries: externalQueries,
20
21
  searchText = "",
@@ -93,12 +94,12 @@ export default function QueryBrowser({
93
94
  onQuerySelect(query);
94
95
  }, [selectedQuery?.queryHash, onQuerySelect]);
95
96
  if (filteredQueries.length === 0) {
96
- return /*#__PURE__*/_jsx(View, {
97
- style: styles.emptyContainer,
98
- children: /*#__PURE__*/_jsx(Text, {
99
- style: styles.emptyText,
100
- testID: "buoy-rq-empty",
101
- children: emptyStateMessage || (activeFilter ? `No ${activeFilter} queries found` : "No queries found")
97
+ return /*#__PURE__*/_jsx(ToolEmptyState, {
98
+ testID: "buoy-rq-empty",
99
+ ...(emptyState ?? {
100
+ otto: "empty",
101
+ title: "No queries found",
102
+ message: emptyStateMessage || (activeFilter ? `No ${activeFilter} queries found` : "No queries found")
102
103
  })
103
104
  });
104
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBrowserMode.d.ts","sourceRoot":"","sources":["../../../../src/react-query/components/QueryBrowserMode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAK9C,UAAU,qBAAqB;IAC7B,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAe,EACf,eAA2B,EAC3B,gBAA4B,EAC5B,aAAa,GACd,EAAE,qBAAqB,+BAoEvB"}
1
+ {"version":3,"file":"QueryBrowserMode.d.ts","sourceRoot":"","sources":["../../../../src/react-query/components/QueryBrowserMode.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAK9C,UAAU,qBAAqB;IAC7B,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAe,EACf,eAA2B,EAC3B,gBAA4B,EAC5B,aAAa,GACd,EAAE,qBAAqB,+BAgFvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactQueryModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/ReactQueryModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMxD,UAAU,0BAA0B;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAwB,EACxB,YAAY,EACZ,cAAsB,GACvB,EAAE,0BAA0B,+BA0L5B"}
1
+ {"version":3,"file":"ReactQueryModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/modals/ReactQueryModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMxD,UAAU,0BAA0B;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAwB,EACxB,YAAY,EACZ,cAAsB,GACvB,EAAE,0BAA0B,+BA2M5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationsList.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/MutationsList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAQL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,UAAU,KAAK;IACb,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,mBAAmB,EAAE,QAAQ,CAC3B,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CACrC,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,aAAqB,EACrB,qBAAqB,EACrB,UAAe,GAChB,EAAE,KAAK,+BA+JP"}
1
+ {"version":3,"file":"MutationsList.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/MutationsList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAQL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,UAAU,KAAK;IACb,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,mBAAmB,EAAE,QAAQ,CAC3B,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CACrC,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,aAAqB,EACrB,qBAAqB,EACrB,UAAe,GAChB,EAAE,KAAK,+BAkKP"}
@@ -1,10 +1,16 @@
1
1
  import { ViewStyle } from "react-native";
2
2
  import { Query } from "@tanstack/react-query";
3
+ import { type ToolEmptyContent } from "@buoy-gg/shared-ui";
3
4
  interface Props {
4
5
  selectedQuery: Query | undefined;
5
6
  onQuerySelect: (query: Query | undefined) => void;
6
7
  activeFilter?: string | null;
7
8
  emptyStateMessage?: string;
9
+ /**
10
+ * The resolved "nothing here" panel. Takes precedence over
11
+ * `emptyStateMessage`, which stays for callers that only have a sentence.
12
+ */
13
+ emptyState?: ToolEmptyContent;
8
14
  contentContainerStyle?: ViewStyle;
9
15
  queries?: Query[];
10
16
  searchText?: string;
@@ -14,6 +20,6 @@ interface Props {
14
20
  /**
15
21
  * Scrollable list view of cached queries with filtering support and selection handling.
16
22
  */
17
- export default function QueryBrowser({ selectedQuery, onQuerySelect, activeFilter, emptyStateMessage, contentContainerStyle, queries: externalQueries, searchText, ignoredPatterns, includedPatterns, }: Props): import("react").JSX.Element;
23
+ export default function QueryBrowser({ selectedQuery, onQuerySelect, activeFilter, emptyStateMessage, emptyState, contentContainerStyle, queries: externalQueries, searchText, ignoredPatterns, includedPatterns, }: Props): import("react").JSX.Element;
18
24
  export {};
19
25
  //# sourceMappingURL=QueryBrowser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBrowser.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/QueryBrowser.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoC,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAM9C,UAAU,KAAK;IACb,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,OAAO,EAAE,eAAe,EACxB,UAAe,EACf,eAA2B,EAC3B,gBAA4B,GAC7B,EAAE,KAAK,+BAqJP"}
1
+ {"version":3,"file":"QueryBrowser.d.ts","sourceRoot":"","sources":["../../../../../src/react-query/components/query-browser/QueryBrowser.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoC,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI9C,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,UAAU,KAAK;IACb,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,OAAO,EAAE,eAAe,EACxB,UAAe,EACf,eAA2B,EAC3B,gBAA4B,GAC7B,EAAE,KAAK,+BAyJP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/react-query",
3
- "version": "7.0.31",
3
+ "version": "7.0.33",
4
4
  "description": "TanStack Query devtools inside your React Native app — cache inspection, refetch & invalidate, offline toggle. Part of Buoy devtools.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -29,8 +29,8 @@
29
29
  "**/snapshotProvider.ts"
30
30
  ],
31
31
  "dependencies": {
32
- "@buoy-gg/floating-tools-core": "^7.0.31",
33
- "@buoy-gg/shared-ui": "^7.0.31"
32
+ "@buoy-gg/floating-tools-core": "^7.0.33",
33
+ "@buoy-gg/shared-ui": "^7.0.33"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@tanstack/react-query": ">=5.0.0",