@upstash/react-redis-browser 0.2.14-rc.7 → 0.2.14-rc.8
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.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +38 -19
- package/dist/index.mjs +38 -19
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -21,7 +21,7 @@ type RedisBrowserStorage = {
|
|
|
21
21
|
get: () => string | null;
|
|
22
22
|
};
|
|
23
23
|
type TabType = "keys" | "search" | "all";
|
|
24
|
-
declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTelemetry, onFullScreenClick, theme, }: RedisCredentials & {
|
|
24
|
+
declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTelemetry, onFullScreenClick, theme, allowSearch, }: RedisCredentials & {
|
|
25
25
|
/**
|
|
26
26
|
* Whether to disable telemetry.
|
|
27
27
|
*
|
|
@@ -76,6 +76,14 @@ declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTe
|
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
78
|
theme?: DarkModeOption;
|
|
79
|
+
/**
|
|
80
|
+
* Whether to allow picking the "Search Index" type filter in keys search.
|
|
81
|
+
*
|
|
82
|
+
* This option is temporary
|
|
83
|
+
*
|
|
84
|
+
* @default true
|
|
85
|
+
*/
|
|
86
|
+
allowSearch?: boolean;
|
|
79
87
|
}) => react_jsx_runtime.JSX.Element;
|
|
80
88
|
|
|
81
89
|
export { type DarkModeOption, RedisBrowser, type RedisBrowserStorage };
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ type RedisBrowserStorage = {
|
|
|
21
21
|
get: () => string | null;
|
|
22
22
|
};
|
|
23
23
|
type TabType = "keys" | "search" | "all";
|
|
24
|
-
declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTelemetry, onFullScreenClick, theme, }: RedisCredentials & {
|
|
24
|
+
declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTelemetry, onFullScreenClick, theme, allowSearch, }: RedisCredentials & {
|
|
25
25
|
/**
|
|
26
26
|
* Whether to disable telemetry.
|
|
27
27
|
*
|
|
@@ -76,6 +76,14 @@ declare const RedisBrowser: ({ url, token, hideTabs, tabType, storage, disableTe
|
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
78
|
theme?: DarkModeOption;
|
|
79
|
+
/**
|
|
80
|
+
* Whether to allow picking the "Search Index" type filter in keys search.
|
|
81
|
+
*
|
|
82
|
+
* This option is temporary
|
|
83
|
+
*
|
|
84
|
+
* @default true
|
|
85
|
+
*/
|
|
86
|
+
allowSearch?: boolean;
|
|
79
87
|
}) => react_jsx_runtime.JSX.Element;
|
|
80
88
|
|
|
81
89
|
export { type DarkModeOption, RedisBrowser, type RedisBrowserStorage };
|
package/dist/index.js
CHANGED
|
@@ -3368,10 +3368,14 @@ function Toaster() {
|
|
|
3368
3368
|
// src/components/databrowser/hooks/use-fetch-search-indexes.tsx
|
|
3369
3369
|
|
|
3370
3370
|
var FETCH_SEARCH_INDEXES_QUERY_KEY = "fetch-search-indexes";
|
|
3371
|
-
var useFetchSearchIndexes = (
|
|
3371
|
+
var useFetchSearchIndexes = ({
|
|
3372
|
+
match,
|
|
3373
|
+
enabled
|
|
3374
|
+
} = {}) => {
|
|
3372
3375
|
const { redisNoPipeline: redis } = useRedis();
|
|
3373
3376
|
return _reactquery.useQuery.call(void 0, {
|
|
3374
3377
|
queryKey: [FETCH_SEARCH_INDEXES_QUERY_KEY],
|
|
3378
|
+
enabled: _nullishCoalesce(enabled, () => ( true)),
|
|
3375
3379
|
queryFn: async () => {
|
|
3376
3380
|
let cursor = "0";
|
|
3377
3381
|
const finalResult = [];
|
|
@@ -3434,7 +3438,8 @@ var SCAN_COUNTS = [100, 300, 500];
|
|
|
3434
3438
|
var KeysProvider = ({ children }) => {
|
|
3435
3439
|
const { active, search, valuesSearch, isValuesSearchSelected } = useTab();
|
|
3436
3440
|
const { data: searchIndexDetails, isLoading: isIndexDetailsLoading } = useFetchSearchIndex(
|
|
3437
|
-
valuesSearch.index
|
|
3441
|
+
valuesSearch.index,
|
|
3442
|
+
{ enabled: isValuesSearchSelected }
|
|
3438
3443
|
);
|
|
3439
3444
|
const { redisNoPipeline: redis } = useRedis();
|
|
3440
3445
|
const parsedValueQuery = parseJSObjectLiteral(valuesSearch.query);
|
|
@@ -7314,8 +7319,12 @@ var SearchInput = () => {
|
|
|
7314
7319
|
// src/components/databrowser/components/sidebar/type-selector.tsx
|
|
7315
7320
|
|
|
7316
7321
|
var ALL_TYPES_KEY = "all";
|
|
7317
|
-
function DataTypeSelector() {
|
|
7322
|
+
function DataTypeSelector({ allowSearch }) {
|
|
7318
7323
|
const { search, setSearchType } = useTab();
|
|
7324
|
+
const entries = [
|
|
7325
|
+
[ALL_TYPES_KEY, "All Types"],
|
|
7326
|
+
...Object.entries(DATA_TYPE_NAMES).filter(([key]) => allowSearch || key !== "search")
|
|
7327
|
+
];
|
|
7319
7328
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
7320
7329
|
Select,
|
|
7321
7330
|
{
|
|
@@ -7329,13 +7338,7 @@ function DataTypeSelector() {
|
|
|
7329
7338
|
value: search.type === void 0 ? ALL_TYPES_KEY : search.type,
|
|
7330
7339
|
children: [
|
|
7331
7340
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "!w-auto shrink-0 select-none whitespace-nowrap border-zinc-300 pr-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, {}) }),
|
|
7332
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectGroup, { children: (() => {
|
|
7333
|
-
const entries = [
|
|
7334
|
-
[ALL_TYPES_KEY, "All Types"],
|
|
7335
|
-
...Object.entries(DATA_TYPE_NAMES)
|
|
7336
|
-
];
|
|
7337
|
-
return entries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: key, children: value }, key));
|
|
7338
|
-
})() }) })
|
|
7341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectContent, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectGroup, { children: entries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: key, children: value }, key)) }) })
|
|
7339
7342
|
]
|
|
7340
7343
|
}
|
|
7341
7344
|
);
|
|
@@ -7343,7 +7346,7 @@ function DataTypeSelector() {
|
|
|
7343
7346
|
|
|
7344
7347
|
// src/components/databrowser/components/header/index.tsx
|
|
7345
7348
|
|
|
7346
|
-
var Header = ({ tabType }) => {
|
|
7349
|
+
var Header = ({ tabType, allowSearch }) => {
|
|
7347
7350
|
const { isValuesSearchSelected, setIsValuesSearchSelected } = useTab();
|
|
7348
7351
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-1.5", children: [
|
|
7349
7352
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex grow items-center gap-1.5", children: [
|
|
@@ -7373,7 +7376,7 @@ var Header = ({ tabType }) => {
|
|
|
7373
7376
|
}
|
|
7374
7377
|
),
|
|
7375
7378
|
isValuesSearchSelected ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IndexSelector, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
7376
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTypeSelector, {}),
|
|
7379
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTypeSelector, { allowSearch }),
|
|
7377
7380
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, SearchInput, {})
|
|
7378
7381
|
] })
|
|
7379
7382
|
] }),
|
|
@@ -10566,10 +10569,13 @@ var SearchContent = () => {
|
|
|
10566
10569
|
};
|
|
10567
10570
|
var DatabrowserInstance = ({
|
|
10568
10571
|
hidden,
|
|
10569
|
-
tabType
|
|
10572
|
+
tabType,
|
|
10573
|
+
allowSearch
|
|
10570
10574
|
}) => {
|
|
10571
10575
|
const { isValuesSearchSelected, setIsValuesSearchSelected } = useTab();
|
|
10572
|
-
const { data: indexes, isLoading } = useFetchSearchIndexes(
|
|
10576
|
+
const { data: indexes, isLoading } = useFetchSearchIndexes({
|
|
10577
|
+
enabled: tabType === "search"
|
|
10578
|
+
});
|
|
10573
10579
|
_react.useEffect.call(void 0, () => {
|
|
10574
10580
|
if (tabType === "keys" && isValuesSearchSelected) {
|
|
10575
10581
|
setIsValuesSearchSelected(false);
|
|
@@ -10587,7 +10593,7 @@ var DatabrowserInstance = ({
|
|
|
10587
10593
|
),
|
|
10588
10594
|
children: [
|
|
10589
10595
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-3 py-5", children: [
|
|
10590
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header, { tabType }),
|
|
10596
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header, { tabType, allowSearch }),
|
|
10591
10597
|
isValuesSearchSelected && !showEmptyState && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SearchContent, {}),
|
|
10592
10598
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderError, {})
|
|
10593
10599
|
] }),
|
|
@@ -11159,7 +11165,8 @@ var RedisBrowser = ({
|
|
|
11159
11165
|
storage,
|
|
11160
11166
|
disableTelemetry,
|
|
11161
11167
|
onFullScreenClick,
|
|
11162
|
-
theme = "light"
|
|
11168
|
+
theme = "light",
|
|
11169
|
+
allowSearch = false
|
|
11163
11170
|
}) => {
|
|
11164
11171
|
const credentials = _react.useMemo.call(void 0, () => ({ token, url }), [token, url]);
|
|
11165
11172
|
const rootRef = _react.useRef.call(void 0, null);
|
|
@@ -11169,6 +11176,7 @@ var RedisBrowser = ({
|
|
|
11169
11176
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RedisProvider, { redisCredentials: credentials, telemetry: !disableTelemetry, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DarkModeProvider, { theme, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DatabrowserProvider, { storage, rootRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacttooltip.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11170
11177
|
RedisBrowserRoot,
|
|
11171
11178
|
{
|
|
11179
|
+
allowSearch,
|
|
11172
11180
|
hideTabs,
|
|
11173
11181
|
tabType,
|
|
11174
11182
|
rootRef,
|
|
@@ -11179,6 +11187,7 @@ var RedisBrowser = ({
|
|
|
11179
11187
|
var RedisBrowserRoot = ({
|
|
11180
11188
|
hideTabs,
|
|
11181
11189
|
tabType,
|
|
11190
|
+
allowSearch,
|
|
11182
11191
|
rootRef,
|
|
11183
11192
|
onFullScreenClick
|
|
11184
11193
|
}) => {
|
|
@@ -11197,20 +11206,30 @@ var RedisBrowserRoot = ({
|
|
|
11197
11206
|
ref: rootRef,
|
|
11198
11207
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col overflow-hidden rounded-[14px] border-[4px] border-zinc-300 text-zinc-700", children: [
|
|
11199
11208
|
!hideTabs && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DatabrowserTabs, { onFullScreenClick }),
|
|
11200
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DatabrowserInstances, { tabType })
|
|
11209
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, DatabrowserInstances, { tabType, allowSearch })
|
|
11201
11210
|
] })
|
|
11202
11211
|
}
|
|
11203
11212
|
)
|
|
11204
11213
|
);
|
|
11205
11214
|
};
|
|
11206
|
-
var DatabrowserInstances = ({
|
|
11215
|
+
var DatabrowserInstances = ({
|
|
11216
|
+
tabType,
|
|
11217
|
+
allowSearch
|
|
11218
|
+
}) => {
|
|
11207
11219
|
const { tabs, selectedTab, selectTab, addTab } = useDatabrowserStore();
|
|
11208
11220
|
_react.useEffect.call(void 0, () => {
|
|
11209
11221
|
if (tabs.length === 0) addTab();
|
|
11210
11222
|
else if (!selectedTab) selectTab(tabs[0][0]);
|
|
11211
11223
|
}, [tabs, selectedTab, addTab, selectTab]);
|
|
11212
11224
|
if (!selectedTab) return;
|
|
11213
|
-
return tabs.map(([id]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabIdProvider, { value: id, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11225
|
+
return tabs.map(([id]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabIdProvider, { value: id, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
11226
|
+
DatabrowserInstance,
|
|
11227
|
+
{
|
|
11228
|
+
hidden: id !== selectedTab,
|
|
11229
|
+
tabType,
|
|
11230
|
+
allowSearch
|
|
11231
|
+
}
|
|
11232
|
+
) }, id));
|
|
11214
11233
|
};
|
|
11215
11234
|
|
|
11216
11235
|
|
package/dist/index.mjs
CHANGED
|
@@ -3368,10 +3368,14 @@ function Toaster() {
|
|
|
3368
3368
|
// src/components/databrowser/hooks/use-fetch-search-indexes.tsx
|
|
3369
3369
|
import { useQuery } from "@tanstack/react-query";
|
|
3370
3370
|
var FETCH_SEARCH_INDEXES_QUERY_KEY = "fetch-search-indexes";
|
|
3371
|
-
var useFetchSearchIndexes = (
|
|
3371
|
+
var useFetchSearchIndexes = ({
|
|
3372
|
+
match,
|
|
3373
|
+
enabled
|
|
3374
|
+
} = {}) => {
|
|
3372
3375
|
const { redisNoPipeline: redis } = useRedis();
|
|
3373
3376
|
return useQuery({
|
|
3374
3377
|
queryKey: [FETCH_SEARCH_INDEXES_QUERY_KEY],
|
|
3378
|
+
enabled: enabled ?? true,
|
|
3375
3379
|
queryFn: async () => {
|
|
3376
3380
|
let cursor = "0";
|
|
3377
3381
|
const finalResult = [];
|
|
@@ -3434,7 +3438,8 @@ var SCAN_COUNTS = [100, 300, 500];
|
|
|
3434
3438
|
var KeysProvider = ({ children }) => {
|
|
3435
3439
|
const { active, search, valuesSearch, isValuesSearchSelected } = useTab();
|
|
3436
3440
|
const { data: searchIndexDetails, isLoading: isIndexDetailsLoading } = useFetchSearchIndex(
|
|
3437
|
-
valuesSearch.index
|
|
3441
|
+
valuesSearch.index,
|
|
3442
|
+
{ enabled: isValuesSearchSelected }
|
|
3438
3443
|
);
|
|
3439
3444
|
const { redisNoPipeline: redis } = useRedis();
|
|
3440
3445
|
const parsedValueQuery = parseJSObjectLiteral(valuesSearch.query);
|
|
@@ -7314,8 +7319,12 @@ var SearchInput = () => {
|
|
|
7314
7319
|
// src/components/databrowser/components/sidebar/type-selector.tsx
|
|
7315
7320
|
import { jsx as jsx51, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
7316
7321
|
var ALL_TYPES_KEY = "all";
|
|
7317
|
-
function DataTypeSelector() {
|
|
7322
|
+
function DataTypeSelector({ allowSearch }) {
|
|
7318
7323
|
const { search, setSearchType } = useTab();
|
|
7324
|
+
const entries = [
|
|
7325
|
+
[ALL_TYPES_KEY, "All Types"],
|
|
7326
|
+
...Object.entries(DATA_TYPE_NAMES).filter(([key]) => allowSearch || key !== "search")
|
|
7327
|
+
];
|
|
7319
7328
|
return /* @__PURE__ */ jsxs30(
|
|
7320
7329
|
Select,
|
|
7321
7330
|
{
|
|
@@ -7329,13 +7338,7 @@ function DataTypeSelector() {
|
|
|
7329
7338
|
value: search.type === void 0 ? ALL_TYPES_KEY : search.type,
|
|
7330
7339
|
children: [
|
|
7331
7340
|
/* @__PURE__ */ jsx51(SelectTrigger, { className: "!w-auto shrink-0 select-none whitespace-nowrap border-zinc-300 pr-8", children: /* @__PURE__ */ jsx51(SelectValue, {}) }),
|
|
7332
|
-
/* @__PURE__ */ jsx51(SelectContent, { children: /* @__PURE__ */ jsx51(SelectGroup, { children: (() => {
|
|
7333
|
-
const entries = [
|
|
7334
|
-
[ALL_TYPES_KEY, "All Types"],
|
|
7335
|
-
...Object.entries(DATA_TYPE_NAMES)
|
|
7336
|
-
];
|
|
7337
|
-
return entries.map(([key, value]) => /* @__PURE__ */ jsx51(SelectItem, { value: key, children: value }, key));
|
|
7338
|
-
})() }) })
|
|
7341
|
+
/* @__PURE__ */ jsx51(SelectContent, { children: /* @__PURE__ */ jsx51(SelectGroup, { children: entries.map(([key, value]) => /* @__PURE__ */ jsx51(SelectItem, { value: key, children: value }, key)) }) })
|
|
7339
7342
|
]
|
|
7340
7343
|
}
|
|
7341
7344
|
);
|
|
@@ -7343,7 +7346,7 @@ function DataTypeSelector() {
|
|
|
7343
7346
|
|
|
7344
7347
|
// src/components/databrowser/components/header/index.tsx
|
|
7345
7348
|
import { Fragment as Fragment9, jsx as jsx52, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7346
|
-
var Header = ({ tabType }) => {
|
|
7349
|
+
var Header = ({ tabType, allowSearch }) => {
|
|
7347
7350
|
const { isValuesSearchSelected, setIsValuesSearchSelected } = useTab();
|
|
7348
7351
|
return /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between gap-1.5", children: [
|
|
7349
7352
|
/* @__PURE__ */ jsxs31("div", { className: "flex grow items-center gap-1.5", children: [
|
|
@@ -7373,7 +7376,7 @@ var Header = ({ tabType }) => {
|
|
|
7373
7376
|
}
|
|
7374
7377
|
),
|
|
7375
7378
|
isValuesSearchSelected ? /* @__PURE__ */ jsx52(IndexSelector, {}) : /* @__PURE__ */ jsxs31(Fragment9, { children: [
|
|
7376
|
-
/* @__PURE__ */ jsx52(DataTypeSelector, {}),
|
|
7379
|
+
/* @__PURE__ */ jsx52(DataTypeSelector, { allowSearch }),
|
|
7377
7380
|
/* @__PURE__ */ jsx52(SearchInput, {})
|
|
7378
7381
|
] })
|
|
7379
7382
|
] }),
|
|
@@ -10566,10 +10569,13 @@ var SearchContent = () => {
|
|
|
10566
10569
|
};
|
|
10567
10570
|
var DatabrowserInstance = ({
|
|
10568
10571
|
hidden,
|
|
10569
|
-
tabType
|
|
10572
|
+
tabType,
|
|
10573
|
+
allowSearch
|
|
10570
10574
|
}) => {
|
|
10571
10575
|
const { isValuesSearchSelected, setIsValuesSearchSelected } = useTab();
|
|
10572
|
-
const { data: indexes, isLoading } = useFetchSearchIndexes(
|
|
10576
|
+
const { data: indexes, isLoading } = useFetchSearchIndexes({
|
|
10577
|
+
enabled: tabType === "search"
|
|
10578
|
+
});
|
|
10573
10579
|
useEffect19(() => {
|
|
10574
10580
|
if (tabType === "keys" && isValuesSearchSelected) {
|
|
10575
10581
|
setIsValuesSearchSelected(false);
|
|
@@ -10587,7 +10593,7 @@ var DatabrowserInstance = ({
|
|
|
10587
10593
|
),
|
|
10588
10594
|
children: [
|
|
10589
10595
|
/* @__PURE__ */ jsxs44("div", { className: "space-y-3 py-5", children: [
|
|
10590
|
-
/* @__PURE__ */ jsx73(Header, { tabType }),
|
|
10596
|
+
/* @__PURE__ */ jsx73(Header, { tabType, allowSearch }),
|
|
10591
10597
|
isValuesSearchSelected && !showEmptyState && /* @__PURE__ */ jsx73(SearchContent, {}),
|
|
10592
10598
|
/* @__PURE__ */ jsx73(HeaderError, {})
|
|
10593
10599
|
] }),
|
|
@@ -11159,7 +11165,8 @@ var RedisBrowser = ({
|
|
|
11159
11165
|
storage,
|
|
11160
11166
|
disableTelemetry,
|
|
11161
11167
|
onFullScreenClick,
|
|
11162
|
-
theme = "light"
|
|
11168
|
+
theme = "light",
|
|
11169
|
+
allowSearch = false
|
|
11163
11170
|
}) => {
|
|
11164
11171
|
const credentials = useMemo12(() => ({ token, url }), [token, url]);
|
|
11165
11172
|
const rootRef = useRef11(null);
|
|
@@ -11169,6 +11176,7 @@ var RedisBrowser = ({
|
|
|
11169
11176
|
return /* @__PURE__ */ jsx78(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx78(RedisProvider, { redisCredentials: credentials, telemetry: !disableTelemetry, children: /* @__PURE__ */ jsx78(DarkModeProvider, { theme, children: /* @__PURE__ */ jsx78(DatabrowserProvider, { storage, rootRef, children: /* @__PURE__ */ jsx78(TooltipProvider, { children: /* @__PURE__ */ jsx78(
|
|
11170
11177
|
RedisBrowserRoot,
|
|
11171
11178
|
{
|
|
11179
|
+
allowSearch,
|
|
11172
11180
|
hideTabs,
|
|
11173
11181
|
tabType,
|
|
11174
11182
|
rootRef,
|
|
@@ -11179,6 +11187,7 @@ var RedisBrowser = ({
|
|
|
11179
11187
|
var RedisBrowserRoot = ({
|
|
11180
11188
|
hideTabs,
|
|
11181
11189
|
tabType,
|
|
11190
|
+
allowSearch,
|
|
11182
11191
|
rootRef,
|
|
11183
11192
|
onFullScreenClick
|
|
11184
11193
|
}) => {
|
|
@@ -11197,20 +11206,30 @@ var RedisBrowserRoot = ({
|
|
|
11197
11206
|
ref: rootRef,
|
|
11198
11207
|
children: /* @__PURE__ */ jsxs48("div", { className: "flex h-full flex-col overflow-hidden rounded-[14px] border-[4px] border-zinc-300 text-zinc-700", children: [
|
|
11199
11208
|
!hideTabs && /* @__PURE__ */ jsx78(DatabrowserTabs, { onFullScreenClick }),
|
|
11200
|
-
/* @__PURE__ */ jsx78(DatabrowserInstances, { tabType })
|
|
11209
|
+
/* @__PURE__ */ jsx78(DatabrowserInstances, { tabType, allowSearch })
|
|
11201
11210
|
] })
|
|
11202
11211
|
}
|
|
11203
11212
|
)
|
|
11204
11213
|
);
|
|
11205
11214
|
};
|
|
11206
|
-
var DatabrowserInstances = ({
|
|
11215
|
+
var DatabrowserInstances = ({
|
|
11216
|
+
tabType,
|
|
11217
|
+
allowSearch
|
|
11218
|
+
}) => {
|
|
11207
11219
|
const { tabs, selectedTab, selectTab, addTab } = useDatabrowserStore();
|
|
11208
11220
|
useEffect22(() => {
|
|
11209
11221
|
if (tabs.length === 0) addTab();
|
|
11210
11222
|
else if (!selectedTab) selectTab(tabs[0][0]);
|
|
11211
11223
|
}, [tabs, selectedTab, addTab, selectTab]);
|
|
11212
11224
|
if (!selectedTab) return;
|
|
11213
|
-
return tabs.map(([id]) => /* @__PURE__ */ jsx78(TabIdProvider, { value: id, children: /* @__PURE__ */ jsx78(
|
|
11225
|
+
return tabs.map(([id]) => /* @__PURE__ */ jsx78(TabIdProvider, { value: id, children: /* @__PURE__ */ jsx78(
|
|
11226
|
+
DatabrowserInstance,
|
|
11227
|
+
{
|
|
11228
|
+
hidden: id !== selectedTab,
|
|
11229
|
+
tabType,
|
|
11230
|
+
allowSearch
|
|
11231
|
+
}
|
|
11232
|
+
) }, id));
|
|
11214
11233
|
};
|
|
11215
11234
|
export {
|
|
11216
11235
|
RedisBrowser
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "name": "@upstash/react-redis-browser", "version": "v0.2.14-rc.
|
|
1
|
+
{ "name": "@upstash/react-redis-browser", "version": "v0.2.14-rc.8", "main": "./dist/index.js", "types": "./dist/index.d.ts", "license": "MIT", "private": false, "publishConfig": { "access": "public" }, "repository": { "type": "git", "url": "git@github.com:upstash/react-redis-browser.git" }, "bugs": { "url": "https://github.com/upstash/react-redis-browser/issues" }, "homepage": "https://github.com/upstash/react-redis-browser", "files": [ "./dist/**" ], "scripts": { "build": "tsup", "dev": "vite", "lint": "tsc && eslint", "fmt": "prettier --write ./src", "prepare": "husky" }, "lint-staged": { "**/*.{js,ts,tsx}": [ "prettier --write", "eslint --fix" ] }, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@ianvs/prettier-plugin-sort-imports": "^4.4.0", "@monaco-editor/react": "^4.6.0", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-context-menu": "^2.2.2", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-portal": "^1.1.2", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-scroll-area": "^1.0.3", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.0.7", "@tabler/icons-react": "^3.19.0", "@tanstack/react-query": "^5.32.0", "@types/bytes": "^3.1.4", "@upstash/redis": "1.37.0-rc.6", "bytes": "^3.1.2", "cmdk": "^1.1.1", "react-hook-form": "^7.53.0", "react-resizable-panels": "^2.1.4", "zustand": "5.0.0" }, "devDependencies": { "@playwright/test": "^1.56.1", "@types/bun": "^1.3.7", "@types/node": "^22.8.4", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@typescript-eslint/eslint-plugin": "8.4.0", "@typescript-eslint/parser": "8.4.0", "@vitejs/plugin-react": "^4.1.0", "autoprefixer": "^10.4.14", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "dotenv": "^16.5.0", "eslint": "9.10.0", "eslint-plugin-unicorn": "55.0.0", "husky": "^9.1.7", "lint-staged": "^16.2.7", "postcss": "^8.4.31", "postcss-prefix-selector": "^2.1.0", "prettier": "^3.0.3", "prettier-plugin-tailwindcss": "^0.5.5", "react": "^18.3.1", "react-dom": "^18.3.1", "tailwind-merge": "^2.5.4", "tailwindcss": "^3.4.14", "tailwindcss-animate": "^1.0.7", "tsup": "^8.3.5", "typescript": "^5.0.4", "vite": "^5.4.10", "vite-tsconfig-paths": "^5.0.1" }, "peerDependencies": { "react": "^18.2.0 || ^19", "react-dom": "^18.2.0 || ^19" } }
|