@upstash/react-redis-browser 0.1.2-canary-7 → 0.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.
- package/dist/index.js +59 -39
- package/dist/index.mjs +59 -39
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -222,6 +222,20 @@ var _iconsreact = require('@tabler/icons-react');
|
|
|
222
222
|
|
|
223
223
|
var _reactresizablepanels = require('react-resizable-panels');
|
|
224
224
|
|
|
225
|
+
// src/components/ui/toaster.tsx
|
|
226
|
+
var _reactportal = require('@radix-ui/react-portal');
|
|
227
|
+
|
|
228
|
+
// src/lib/portal-root.ts
|
|
229
|
+
var root;
|
|
230
|
+
if (typeof document !== "undefined") {
|
|
231
|
+
const id = "react-redis-browser-portal-root";
|
|
232
|
+
root = _nullishCoalesce(document.querySelector(`#${id}`), () => ( document.createElement("div")));
|
|
233
|
+
root.classList.add("ups-db");
|
|
234
|
+
root.id = "react-redis-browser-portal-root";
|
|
235
|
+
document.body.append(root);
|
|
236
|
+
}
|
|
237
|
+
var portalRoot = root;
|
|
238
|
+
|
|
225
239
|
// src/components/ui/toast.tsx
|
|
226
240
|
|
|
227
241
|
var _reacticons = require('@radix-ui/react-icons');
|
|
@@ -2874,7 +2888,7 @@ ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
|
2874
2888
|
|
|
2875
2889
|
function Toaster() {
|
|
2876
2890
|
const { toasts } = useToast();
|
|
2877
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ToastProvider, { children: [
|
|
2891
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactportal.Portal, { container: portalRoot, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ToastProvider, { children: [
|
|
2878
2892
|
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Toast, { ...props, children: [
|
|
2879
2893
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid gap-1", children: [
|
|
2880
2894
|
title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastTitle, { children: title }),
|
|
@@ -2884,7 +2898,7 @@ function Toaster() {
|
|
|
2884
2898
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastClose, {})
|
|
2885
2899
|
] }, id)),
|
|
2886
2900
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToastViewport, {})
|
|
2887
|
-
] });
|
|
2901
|
+
] }) });
|
|
2888
2902
|
}
|
|
2889
2903
|
|
|
2890
2904
|
// src/components/databrowser/hooks/use-keys.tsx
|
|
@@ -3174,6 +3188,7 @@ var useAddKey = () => {
|
|
|
3174
3188
|
const { redis } = useDatabrowser();
|
|
3175
3189
|
const mutation = _reactquery.useMutation.call(void 0, {
|
|
3176
3190
|
mutationFn: async ({ key, type }) => {
|
|
3191
|
+
if (await redis.exists(key)) throw new Error(`Key "${key}" already exists`);
|
|
3177
3192
|
switch (type) {
|
|
3178
3193
|
case "set": {
|
|
3179
3194
|
await redis.sadd(key, "value");
|
|
@@ -3577,19 +3592,6 @@ var _reactcontextmenu = require('@radix-ui/react-context-menu'); var ContextMenu
|
|
|
3577
3592
|
|
|
3578
3593
|
|
|
3579
3594
|
|
|
3580
|
-
// src/lib/portal-root.ts
|
|
3581
|
-
var root;
|
|
3582
|
-
if (typeof document !== "undefined") {
|
|
3583
|
-
const id = "react-redis-browser-portal-root";
|
|
3584
|
-
root = _nullishCoalesce(document.querySelector(`#${id}`), () => ( document.createElement("div")));
|
|
3585
|
-
root.classList.add("ups-db");
|
|
3586
|
-
root.id = "react-redis-browser-portal-root";
|
|
3587
|
-
document.body.append(root);
|
|
3588
|
-
}
|
|
3589
|
-
var portalRoot = root;
|
|
3590
|
-
|
|
3591
|
-
// src/components/ui/context-menu.tsx
|
|
3592
|
-
|
|
3593
3595
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
3594
3596
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
3595
3597
|
var ContextMenuSubTrigger = React4.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
@@ -4708,7 +4710,8 @@ var CustomEditor = ({
|
|
|
4708
4710
|
value,
|
|
4709
4711
|
onChange,
|
|
4710
4712
|
height,
|
|
4711
|
-
showCopyButton
|
|
4713
|
+
showCopyButton,
|
|
4714
|
+
readOnly
|
|
4712
4715
|
}) => {
|
|
4713
4716
|
const monaco = _react2.useMonaco.call(void 0, );
|
|
4714
4717
|
const editorRef = _react.useRef.call(void 0, );
|
|
@@ -4739,6 +4742,7 @@ var CustomEditor = ({
|
|
|
4739
4742
|
},
|
|
4740
4743
|
defaultLanguage: language,
|
|
4741
4744
|
options: {
|
|
4745
|
+
readOnly,
|
|
4742
4746
|
wordWrap: "on",
|
|
4743
4747
|
overviewRulerBorder: false,
|
|
4744
4748
|
overviewRulerLanes: 0,
|
|
@@ -4784,7 +4788,8 @@ var useField = ({
|
|
|
4784
4788
|
name,
|
|
4785
4789
|
form,
|
|
4786
4790
|
height,
|
|
4787
|
-
showCopyButton
|
|
4791
|
+
showCopyButton,
|
|
4792
|
+
readOnly
|
|
4788
4793
|
}) => {
|
|
4789
4794
|
const { field, fieldState } = _reacthookform.useController.call(void 0, {
|
|
4790
4795
|
name,
|
|
@@ -4822,7 +4827,8 @@ var useField = ({
|
|
|
4822
4827
|
value: field.value,
|
|
4823
4828
|
onChange: field.onChange,
|
|
4824
4829
|
height,
|
|
4825
|
-
showCopyButton
|
|
4830
|
+
showCopyButton,
|
|
4831
|
+
readOnly
|
|
4826
4832
|
}
|
|
4827
4833
|
) })
|
|
4828
4834
|
};
|
|
@@ -4873,8 +4879,24 @@ var ListEditForm = ({
|
|
|
4873
4879
|
});
|
|
4874
4880
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacthookform.FormProvider, { ...form, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit, className: "flex flex-col gap-2", children: [
|
|
4875
4881
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex grow flex-col gap-2", children: [
|
|
4876
|
-
type !== "list" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4877
|
-
|
|
4882
|
+
type !== "list" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4883
|
+
FormItem,
|
|
4884
|
+
{
|
|
4885
|
+
readOnly: type === "stream",
|
|
4886
|
+
name: "key",
|
|
4887
|
+
height: type === "set" ? 250 : 100,
|
|
4888
|
+
label: keyLabel
|
|
4889
|
+
}
|
|
4890
|
+
),
|
|
4891
|
+
type === "zset" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NumberFormItem, { name: "value", label: valueLabel }) : type !== "set" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
4892
|
+
FormItem,
|
|
4893
|
+
{
|
|
4894
|
+
readOnly: type === "stream",
|
|
4895
|
+
name: "value",
|
|
4896
|
+
height: type === "list" ? 250 : 100,
|
|
4897
|
+
label: valueLabel
|
|
4898
|
+
}
|
|
4899
|
+
)
|
|
4878
4900
|
] }),
|
|
4879
4901
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex justify-end gap-2", children: [
|
|
4880
4902
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -4927,14 +4949,16 @@ var NumberFormItem = ({ name, label }) => {
|
|
|
4927
4949
|
var FormItem = ({
|
|
4928
4950
|
name,
|
|
4929
4951
|
label,
|
|
4930
|
-
height
|
|
4952
|
+
height,
|
|
4953
|
+
readOnly
|
|
4931
4954
|
}) => {
|
|
4932
4955
|
const form = _reacthookform.useFormContext.call(void 0, );
|
|
4933
4956
|
const { editor, selector } = useField({
|
|
4934
4957
|
name,
|
|
4935
4958
|
form,
|
|
4936
4959
|
height,
|
|
4937
|
-
showCopyButton: true
|
|
4960
|
+
showCopyButton: true,
|
|
4961
|
+
readOnly
|
|
4938
4962
|
});
|
|
4939
4963
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
|
|
4940
4964
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1 text-xs", children: [
|
|
@@ -5225,23 +5249,16 @@ function AddKeyModal() {
|
|
|
5225
5249
|
}
|
|
5226
5250
|
});
|
|
5227
5251
|
const onSubmit = handleSubmit(async ({ key, type }) => {
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
}, 100);
|
|
5239
|
-
} catch (error) {
|
|
5240
|
-
toast({
|
|
5241
|
-
description: error instanceof Error ? error.message : "An error occurred",
|
|
5242
|
-
variant: "destructive"
|
|
5243
|
-
});
|
|
5244
|
-
}
|
|
5252
|
+
await addKey({ key, type });
|
|
5253
|
+
setSelectedKey(key);
|
|
5254
|
+
setOpen(false);
|
|
5255
|
+
setTimeout(() => {
|
|
5256
|
+
_optionalChain([window, 'access', _32 => _32.document, 'access', _33 => _33.querySelector, 'call', _34 => _34(`[data-key="${key}"]`), 'optionalAccess', _35 => _35.scrollIntoView, 'call', _36 => _36({
|
|
5257
|
+
behavior: "smooth",
|
|
5258
|
+
block: "start",
|
|
5259
|
+
inline: "nearest"
|
|
5260
|
+
})]);
|
|
5261
|
+
}, 100);
|
|
5245
5262
|
});
|
|
5246
5263
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
5247
5264
|
Dialog,
|
|
@@ -5506,6 +5523,9 @@ function Sidebar() {
|
|
|
5506
5523
|
|
|
5507
5524
|
var RedisBrowser = ({ token, url }) => {
|
|
5508
5525
|
const credentials = _react.useMemo.call(void 0, () => ({ token, url }), [token, url]);
|
|
5526
|
+
_react.useEffect.call(void 0, () => {
|
|
5527
|
+
queryClient.resetQueries();
|
|
5528
|
+
}, [credentials.url]);
|
|
5509
5529
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacttooltip.TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DatabrowserProvider, { redisCredentials: credentials, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeysProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "ups-db", style: { height: "100%" }, children: [
|
|
5510
5530
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
5511
5531
|
_reactresizablepanels.PanelGroup,
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/components/databrowser/index.tsx
|
|
2
|
-
import { useMemo as useMemo6 } from "react";
|
|
2
|
+
import { useEffect as useEffect9, useMemo as useMemo6 } from "react";
|
|
3
3
|
|
|
4
4
|
// src/store.tsx
|
|
5
5
|
import { createContext, useContext, useMemo, useState as useState2 } from "react";
|
|
@@ -222,6 +222,20 @@ import { IconDotsVertical as IconDotsVertical2 } from "@tabler/icons-react";
|
|
|
222
222
|
import { QueryClientProvider } from "@tanstack/react-query";
|
|
223
223
|
import { Panel, PanelGroup, PanelResizeHandle } from "react-resizable-panels";
|
|
224
224
|
|
|
225
|
+
// src/components/ui/toaster.tsx
|
|
226
|
+
import { Portal } from "@radix-ui/react-portal";
|
|
227
|
+
|
|
228
|
+
// src/lib/portal-root.ts
|
|
229
|
+
var root;
|
|
230
|
+
if (typeof document !== "undefined") {
|
|
231
|
+
const id = "react-redis-browser-portal-root";
|
|
232
|
+
root = document.querySelector(`#${id}`) ?? document.createElement("div");
|
|
233
|
+
root.classList.add("ups-db");
|
|
234
|
+
root.id = "react-redis-browser-portal-root";
|
|
235
|
+
document.body.append(root);
|
|
236
|
+
}
|
|
237
|
+
var portalRoot = root;
|
|
238
|
+
|
|
225
239
|
// src/components/ui/toast.tsx
|
|
226
240
|
import * as React2 from "react";
|
|
227
241
|
import { Cross2Icon } from "@radix-ui/react-icons";
|
|
@@ -2874,7 +2888,7 @@ ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
|
|
2874
2888
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
2875
2889
|
function Toaster() {
|
|
2876
2890
|
const { toasts } = useToast();
|
|
2877
|
-
return /* @__PURE__ */ jsxs(ToastProvider, { children: [
|
|
2891
|
+
return /* @__PURE__ */ jsx3(Portal, { container: portalRoot, children: /* @__PURE__ */ jsxs(ToastProvider, { children: [
|
|
2878
2892
|
toasts.map(({ id, title, description, action, ...props }) => /* @__PURE__ */ jsxs(Toast, { ...props, children: [
|
|
2879
2893
|
/* @__PURE__ */ jsxs("div", { className: "grid gap-1", children: [
|
|
2880
2894
|
title && /* @__PURE__ */ jsx3(ToastTitle, { children: title }),
|
|
@@ -2884,7 +2898,7 @@ function Toaster() {
|
|
|
2884
2898
|
/* @__PURE__ */ jsx3(ToastClose, {})
|
|
2885
2899
|
] }, id)),
|
|
2886
2900
|
/* @__PURE__ */ jsx3(ToastViewport, {})
|
|
2887
|
-
] });
|
|
2901
|
+
] }) });
|
|
2888
2902
|
}
|
|
2889
2903
|
|
|
2890
2904
|
// src/components/databrowser/hooks/use-keys.tsx
|
|
@@ -3174,6 +3188,7 @@ var useAddKey = () => {
|
|
|
3174
3188
|
const { redis } = useDatabrowser();
|
|
3175
3189
|
const mutation = useMutation({
|
|
3176
3190
|
mutationFn: async ({ key, type }) => {
|
|
3191
|
+
if (await redis.exists(key)) throw new Error(`Key "${key}" already exists`);
|
|
3177
3192
|
switch (type) {
|
|
3178
3193
|
case "set": {
|
|
3179
3194
|
await redis.sadd(key, "value");
|
|
@@ -3576,19 +3591,6 @@ import { ContextMenuSeparator as ContextMenuSeparator2 } from "@radix-ui/react-c
|
|
|
3576
3591
|
import * as React4 from "react";
|
|
3577
3592
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
3578
3593
|
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from "@radix-ui/react-icons";
|
|
3579
|
-
|
|
3580
|
-
// src/lib/portal-root.ts
|
|
3581
|
-
var root;
|
|
3582
|
-
if (typeof document !== "undefined") {
|
|
3583
|
-
const id = "react-redis-browser-portal-root";
|
|
3584
|
-
root = document.querySelector(`#${id}`) ?? document.createElement("div");
|
|
3585
|
-
root.classList.add("ups-db");
|
|
3586
|
-
root.id = "react-redis-browser-portal-root";
|
|
3587
|
-
document.body.append(root);
|
|
3588
|
-
}
|
|
3589
|
-
var portalRoot = root;
|
|
3590
|
-
|
|
3591
|
-
// src/components/ui/context-menu.tsx
|
|
3592
3594
|
import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3593
3595
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
3594
3596
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
@@ -4708,7 +4710,8 @@ var CustomEditor = ({
|
|
|
4708
4710
|
value,
|
|
4709
4711
|
onChange,
|
|
4710
4712
|
height,
|
|
4711
|
-
showCopyButton
|
|
4713
|
+
showCopyButton,
|
|
4714
|
+
readOnly
|
|
4712
4715
|
}) => {
|
|
4713
4716
|
const monaco = useMonaco();
|
|
4714
4717
|
const editorRef = useRef3();
|
|
@@ -4739,6 +4742,7 @@ var CustomEditor = ({
|
|
|
4739
4742
|
},
|
|
4740
4743
|
defaultLanguage: language,
|
|
4741
4744
|
options: {
|
|
4745
|
+
readOnly,
|
|
4742
4746
|
wordWrap: "on",
|
|
4743
4747
|
overviewRulerBorder: false,
|
|
4744
4748
|
overviewRulerLanes: 0,
|
|
@@ -4784,7 +4788,8 @@ var useField = ({
|
|
|
4784
4788
|
name,
|
|
4785
4789
|
form,
|
|
4786
4790
|
height,
|
|
4787
|
-
showCopyButton
|
|
4791
|
+
showCopyButton,
|
|
4792
|
+
readOnly
|
|
4788
4793
|
}) => {
|
|
4789
4794
|
const { field, fieldState } = useController({
|
|
4790
4795
|
name,
|
|
@@ -4822,7 +4827,8 @@ var useField = ({
|
|
|
4822
4827
|
value: field.value,
|
|
4823
4828
|
onChange: field.onChange,
|
|
4824
4829
|
height,
|
|
4825
|
-
showCopyButton
|
|
4830
|
+
showCopyButton,
|
|
4831
|
+
readOnly
|
|
4826
4832
|
}
|
|
4827
4833
|
) })
|
|
4828
4834
|
};
|
|
@@ -4873,8 +4879,24 @@ var ListEditForm = ({
|
|
|
4873
4879
|
});
|
|
4874
4880
|
return /* @__PURE__ */ jsx29(FormProvider, { ...form, children: /* @__PURE__ */ jsxs19("form", { onSubmit, className: "flex flex-col gap-2", children: [
|
|
4875
4881
|
/* @__PURE__ */ jsxs19("div", { className: "flex grow flex-col gap-2", children: [
|
|
4876
|
-
type !== "list" && /* @__PURE__ */ jsx29(
|
|
4877
|
-
|
|
4882
|
+
type !== "list" && /* @__PURE__ */ jsx29(
|
|
4883
|
+
FormItem,
|
|
4884
|
+
{
|
|
4885
|
+
readOnly: type === "stream",
|
|
4886
|
+
name: "key",
|
|
4887
|
+
height: type === "set" ? 250 : 100,
|
|
4888
|
+
label: keyLabel
|
|
4889
|
+
}
|
|
4890
|
+
),
|
|
4891
|
+
type === "zset" ? /* @__PURE__ */ jsx29(NumberFormItem, { name: "value", label: valueLabel }) : type !== "set" && /* @__PURE__ */ jsx29(
|
|
4892
|
+
FormItem,
|
|
4893
|
+
{
|
|
4894
|
+
readOnly: type === "stream",
|
|
4895
|
+
name: "value",
|
|
4896
|
+
height: type === "list" ? 250 : 100,
|
|
4897
|
+
label: valueLabel
|
|
4898
|
+
}
|
|
4899
|
+
)
|
|
4878
4900
|
] }),
|
|
4879
4901
|
/* @__PURE__ */ jsxs19("div", { className: "flex justify-end gap-2", children: [
|
|
4880
4902
|
/* @__PURE__ */ jsx29(
|
|
@@ -4927,14 +4949,16 @@ var NumberFormItem = ({ name, label }) => {
|
|
|
4927
4949
|
var FormItem = ({
|
|
4928
4950
|
name,
|
|
4929
4951
|
label,
|
|
4930
|
-
height
|
|
4952
|
+
height,
|
|
4953
|
+
readOnly
|
|
4931
4954
|
}) => {
|
|
4932
4955
|
const form = useFormContext();
|
|
4933
4956
|
const { editor, selector } = useField({
|
|
4934
4957
|
name,
|
|
4935
4958
|
form,
|
|
4936
4959
|
height,
|
|
4937
|
-
showCopyButton: true
|
|
4960
|
+
showCopyButton: true,
|
|
4961
|
+
readOnly
|
|
4938
4962
|
});
|
|
4939
4963
|
return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-1", children: [
|
|
4940
4964
|
/* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-1 text-xs", children: [
|
|
@@ -5225,23 +5249,16 @@ function AddKeyModal() {
|
|
|
5225
5249
|
}
|
|
5226
5250
|
});
|
|
5227
5251
|
const onSubmit = handleSubmit(async ({ key, type }) => {
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
inline: "nearest"
|
|
5237
|
-
});
|
|
5238
|
-
}, 100);
|
|
5239
|
-
} catch (error) {
|
|
5240
|
-
toast({
|
|
5241
|
-
description: error instanceof Error ? error.message : "An error occurred",
|
|
5242
|
-
variant: "destructive"
|
|
5252
|
+
await addKey({ key, type });
|
|
5253
|
+
setSelectedKey(key);
|
|
5254
|
+
setOpen(false);
|
|
5255
|
+
setTimeout(() => {
|
|
5256
|
+
window.document.querySelector(`[data-key="${key}"]`)?.scrollIntoView({
|
|
5257
|
+
behavior: "smooth",
|
|
5258
|
+
block: "start",
|
|
5259
|
+
inline: "nearest"
|
|
5243
5260
|
});
|
|
5244
|
-
}
|
|
5261
|
+
}, 100);
|
|
5245
5262
|
});
|
|
5246
5263
|
return /* @__PURE__ */ jsxs23(
|
|
5247
5264
|
Dialog,
|
|
@@ -5506,6 +5523,9 @@ function Sidebar() {
|
|
|
5506
5523
|
import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5507
5524
|
var RedisBrowser = ({ token, url }) => {
|
|
5508
5525
|
const credentials = useMemo6(() => ({ token, url }), [token, url]);
|
|
5526
|
+
useEffect9(() => {
|
|
5527
|
+
queryClient.resetQueries();
|
|
5528
|
+
}, [credentials.url]);
|
|
5509
5529
|
return /* @__PURE__ */ jsx42(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx42(TooltipProvider, { children: /* @__PURE__ */ jsx42(DatabrowserProvider, { redisCredentials: credentials, children: /* @__PURE__ */ jsx42(KeysProvider, { children: /* @__PURE__ */ jsxs31("div", { className: "ups-db", style: { height: "100%" }, children: [
|
|
5510
5530
|
/* @__PURE__ */ jsxs31(
|
|
5511
5531
|
PanelGroup,
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "name": "@upstash/react-redis-browser", "version": "v0.1.2
|
|
1
|
+
{ "name": "@upstash/react-redis-browser", "version": "v0.1.2", "main": "./dist/index.js", "types": "./dist/index.d.ts", "license": "MIT", "private": false, "publishConfig": { "access": "public" }, "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" }, "lint-staged": { "**/*.{js,ts,tsx}": [ "prettier --write", "eslint --fix" ] }, "dependencies": { "@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.0.5", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-icons": "1.3.0", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-portal": "^1.1.2", "@radix-ui/react-scroll-area": "^1.0.3", "@radix-ui/react-select": "^2.0.0", "@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.34.3", "bytes": "^3.1.2", "react-hook-form": "^7.53.0", "react-resizable-panels": "^2.1.4", "zustand": "5.0.0" }, "devDependencies": { "postcss-prefix-selector": "^2.1.0", "@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", "eslint": "9.10.0", "eslint-plugin-unicorn": "55.0.0", "postcss": "^8.4.31", "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" } }
|