UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

3 lines • 92.9 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/i18n.store-fGbhAfs-.js","assets/chunk-DseTPa7n.js","assets/preload-helper-CyM22wVb.js"])))=>i.map(i=>d[i]); import{i as e,t}from"./chunk-DseTPa7n.js";import{D as n,Q as r,t as i,y as a}from"./Box-CXFf6N2h.js";import{n as o,o as s}from"./i18n.store-fGbhAfs-.js";import{l as c,r as l}from"./KeyboardArrowDown-Bd9MEjfK.js";import{n as u,t as d}from"./useMediaQuery-CYHKoU7e.js";import{c as f,n as p,s as m,t as h}from"./TextField-DJCDsXWr.js";import{n as g,t as _}from"./P3xrDialog-CHEAlo7j.js";import{a as v,c as y,d as b,f as x,g as S,h as C,i as w,l as T,m as E,n as D,o as O,p as k,r as A,s as j,t as M,u as N}from"./esm-CSztiehU.js";import{i as P,n as F,r as I,t as ee}from"./Delete-BOsW8q3K.js";import{t as L}from"./Divider-B-lgo4nA.js";import{t as R}from"./P3xrButton-De81XLvk.js";import{t as z}from"./List-C08Y9n9o.js";import{t as B}from"./ListItem-BVfb-I0T.js";import{n as V,t as H}from"./Search-DacTDA1c.js";import{t as U}from"./preload-helper-CyM22wVb.js";import{c as te}from"./chunk-OE4NN4TA-BrsTxcy0.js";import{r as ne,t as re}from"./theme.store-Pi-gufNM.js";import{i as W,n as ie,r as ae}from"./main-command.store-DWGfqw3F.js";import{n as oe,t as se}from"./CheckBoxOutlineBlank-BnFYgZ47.js";import{i as ce,n as le,r as ue,t as de}from"./Save-Cnoy1Jfy.js";import{t as fe}from"./Download-DT0KMSJC.js";import{n as pe,t as me}from"./Person-D9kStgmb.js";import{i as he,n as ge,r as _e,t as ve}from"./SkipPrevious-CMJsT0wN.js";import{t as ye}from"./Refresh-CL2VjXTi.js";import{i as G,r as K}from"./redis-state.store-DtknZjXV.js";import{r as q}from"./common.store-BMIRIqfN.js";import{t as be}from"./overlay.store-C7FKsVB0.js";import{r as J}from"./socket.service-Bvd4M0Ji.js";import{t as xe}from"./analytics-n6wYKYGS.js";import{t as Se}from"./redis-version-DTo3THXP.js";/* empty css */import{t as Ce}from"./P3xrAccordion-mbxcxWWs.js";var Y=r(),we=a((0,Y.jsx)(`path`,{d:`M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z`}),`BarChart`),Te=a((0,Y.jsx)(`path`,{d:`M15 4v2h3v12h-3v2h5V4zM4 20h5v-2H6V6h3V4H4z`}),`DataArray`),X=a((0,Y.jsx)(`path`,{d:`M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3.86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12.01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28M3.5 9.72c-.1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 14 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7s-.54.11-.7-.12c-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2.96-.08.14-.23.21-.39.21m6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.01-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5.39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39s-4.66 1.97-4.66 4.39c0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11.1-.24.15-.37.15m7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12M14.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2.17-5.22 0-1.62 1.38-2.94 3.08-2.94s3.08 1.32 3.08 2.94c0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-.39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.64-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4.6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0-1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1.46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38`}),`Fingerprint`),Ee=a((0,Y.jsx)(`path`,{d:`M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z`}),`Image`),De=a((0,Y.jsx)(`path`,{d:`m20.5 10 .5-2h-4l1-4h-2l-1 4h-4l1-4h-2L9 8H5l-.5 2h4l-1 4h-4L3 16h4l-1 4h2l1-4h4l-1 4h2l1-4h4l.5-2h-4l1-4zm-7 4h-4l1-4h4z`}),`Numbers`),Oe=a((0,Y.jsx)(`path`,{d:`M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61M13 14h-2V8h2z`}),`Timer`),ke=a((0,Y.jsx)(`path`,{d:`M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8`}),`Undo`),Ae=a((0,Y.jsx)(`path`,{d:`M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10z`}),`UnfoldLess`),je=a((0,Y.jsx)(`path`,{d:`M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15z`}),`UnfoldMore`),Z=e(s()),Me=e(O());function Ne(e){let t=e instanceof Uint8Array?e:new Uint8Array(e);return t.length<4?{ext:`bin`,mime:`application/octet-stream`}:t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?{ext:`png`,mime:`image/png`}:t[0]===255&&t[1]===216&&t[2]===255?{ext:`jpg`,mime:`image/jpeg`}:t[0]===71&&t[1]===73&&t[2]===70&&t[3]===56?{ext:`gif`,mime:`image/gif`}:t[0]===66&&t[1]===77?{ext:`bmp`,mime:`image/bmp`}:t[0]===82&&t[1]===73&&t[2]===70&&t[3]===70&&t.length>=12&&t[8]===87&&t[9]===69&&t[10]===66&&t[11]===80?{ext:`webp`,mime:`image/webp`}:t[0]===73&&t[1]===73&&t[2]===42&&t[3]===0||t[0]===77&&t[1]===77&&t[2]===0&&t[3]===42?{ext:`tiff`,mime:`image/tiff`}:t[0]===0&&t[1]===0&&t[2]===1&&t[3]===0?{ext:`ico`,mime:`image/x-icon`}:t[0]===37&&t[1]===80&&t[2]===68&&t[3]===70?{ext:`pdf`,mime:`application/pdf`}:t[0]===80&&t[1]===75&&t[2]===3&&t[3]===4?{ext:`zip`,mime:`application/zip`}:t[0]===31&&t[1]===139?{ext:`gz`,mime:`application/gzip`}:t[0]===66&&t[1]===90&&t[2]===104?{ext:`bz2`,mime:`application/x-bzip2`}:t[0]===253&&t[1]===55&&t[2]===122&&t[3]===88&&t.length>=6&&t[4]===90&&t[5]===0?{ext:`xz`,mime:`application/x-xz`}:t[0]===40&&t[1]===181&&t[2]===47&&t[3]===253?{ext:`zst`,mime:`application/zstd`}:t[0]===4&&t[1]===34&&t[2]===77&&t[3]===24?{ext:`lz4`,mime:`application/x-lz4`}:t[0]===55&&t[1]===122&&t[2]===188&&t[3]===175&&t.length>=6&&t[4]===39&&t[5]===28?{ext:`7z`,mime:`application/x-7z-compressed`}:t[0]===82&&t[1]===97&&t[2]===114&&t[3]===33?{ext:`rar`,mime:`application/x-rar-compressed`}:t[0]===82&&t[1]===73&&t[2]===70&&t[3]===70&&t.length>=12&&t[8]===87&&t[9]===65&&t[10]===86&&t[11]===69?{ext:`wav`,mime:`audio/wav`}:t[0]===82&&t[1]===73&&t[2]===70&&t[3]===70&&t.length>=12&&t[8]===65&&t[9]===86&&t[10]===73&&t[11]===32?{ext:`avi`,mime:`video/x-msvideo`}:t[0]===255&&(t[1]===251||t[1]===243||t[1]===242)||t[0]===73&&t[1]===68&&t[2]===51?{ext:`mp3`,mime:`audio/mpeg`}:t[0]===102&&t[1]===76&&t[2]===97&&t[3]===67?{ext:`flac`,mime:`audio/flac`}:t[0]===79&&t[1]===103&&t[2]===103&&t[3]===83?{ext:`ogg`,mime:`audio/ogg`}:t[0]===26&&t[1]===69&&t[2]===223&&t[3]===163?{ext:`webm`,mime:`video/webm`}:t.length>=8&&t[4]===102&&t[5]===116&&t[6]===121&&t[7]===112?{ext:`mp4`,mime:`video/mp4`}:t[0]===0&&t[1]===97&&t[2]===115&&t[3]===109?{ext:`wasm`,mime:`application/wasm`}:t[0]===127&&t[1]===69&&t[2]===76&&t[3]===70?{ext:`elf`,mime:`application/x-elf`}:t.length>=6&&t[0]===83&&t[1]===81&&t[2]===76&&t[3]===105&&t[4]===116&&t[5]===101?{ext:`sqlite`,mime:`application/x-sqlite3`}:t[0]===56&&t[1]===66&&t[2]===80&&t[3]===83?{ext:`psd`,mime:`image/vnd.adobe.photoshop`}:Pe(t)||{ext:`bin`,mime:`application/octet-stream`}}function Pe(e){let t=e[0];if(t===123||t===91)return{ext:`json`,mime:`application/json`};if(t===60){let t=new TextDecoder(`utf-8`,{fatal:!1}).decode(e.slice(0,Math.min(e.length,256))).toLowerCase();if(t.includes(`<svg`))return{ext:`svg`,mime:`image/svg+xml`};if(t.includes(`<!doctype html`)||t.includes(`<html`))return{ext:`html`,mime:`text/html`};if(t.includes(`<?xml`))return{ext:`xml`,mime:`application/xml`}}if(e[0]===239&&e[1]===187&&e[2]===191){if(e.length>3){if(e[3]===123||e[3]===91)return{ext:`json`,mime:`application/json`};if(e[3]===60)return{ext:`xml`,mime:`application/xml`}}return{ext:`txt`,mime:`text/plain`}}return null}function Fe(e,t=!1){let n=G.getState().keyPageCount??5,r=t?Math.ceil(e/2):e;return{page:1,pages:Math.max(Math.ceil(r/n),1),pageCount:n,startIndex:0,endIndex:n}}function Ie(e,t,n=!1){let r=e.pageCount,i=n?Math.ceil(t/2):t,a=Math.max(Math.ceil(i/r),1),o=e.page;o>a&&(o=a),o<1&&(o=1);let s=r*(o-1),c=s+r;return{page:o,pages:a,pageCount:r,startIndex:s,endIndex:c}}function Le(e,t){let{page:n,pages:r,pageCount:i}=e;switch(t){case`first`:n=1;break;case`prev`:n>1&&n--;break;case`next`:n<r&&n++;break;case`last`:n=r;break}n<1&&(n=1),n>r&&(n=r);let a=i*(n-1),o=a+i;return{...e,page:n,startIndex:a,endIndex:o}}function Re(e,t){let n=t;n<1&&(n=1),n>e.pages&&(n=e.pages);let r=e.pageCount*(n-1),i=r+e.pageCount;return{...e,page:n,startIndex:r,endIndex:i}}function ze(e,t){if(e==null)return``;let n=String(e);switch(t){case`json`:try{return JSON.stringify(JSON.parse(n),null,2)}catch{return n}case`base64`:{let e=new TextEncoder().encode(n),t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}default:return n}}function Q(e){let t=G.getState().maxValueDisplay??1024;if(e==null)return``;let n=String(e);return t<=0?n:n.length>t?n.substring(0,t):n}function Be(e){let t=G.getState().maxValueDisplay??1024;return e==null||t<=0?!1:String(e).length>t}async function Ve(e){try{await navigator.clipboard.writeText(String(e??``))}catch{}let t=(await U(async()=>{let{useI18nStore:e}=await import(`./i18n.store-fGbhAfs-.js`).then(e=>e.t);return{useI18nStore:e}},__vite__mapDeps([0,1,2]))).useI18nStore.getState().strings;q.getState().toast(t?.status?.dataCopied)}function He(e,t,n){let r=e instanceof Uint8Array?e:new Uint8Array(e),{ext:i,mime:a}=Ne(r),o=new Blob([r],{type:a}),s=URL.createObjectURL(o),c=document.createElement(`a`);c.href=s,c.download=`${n||t}.${i}`,c.click(),URL.revokeObjectURL(s)}function Ue(e){if(!e)return[];let t=new TextEncoder().encode(e),n=[];for(let e=0;e<t.length;e+=16){let r=t.slice(e,e+16),i=r.length,a=e.toString(16).padStart(8,`0`),o=new Uint8Array(16);o.set(r);let s=Array.from(o.slice(0,8)).map(e=>e.toString(16).padStart(2,`0`)).join(` `),c=Array.from(o.slice(8)).map(e=>e.toString(16).padStart(2,`0`)).join(` `),l=s+` `+c,u=Array.from(o).map(e=>e>=32&&e<=126?String.fromCharCode(e):`.`).join(``);if(i===16)n.push({addr:a,hexReal:l,hexPad:``,asciiReal:u,asciiPad:``});else{let e=i<=8?3*i-1:25+3*(i-8)-1;n.push({addr:a,hexReal:l.substring(0,e),hexPad:l.substring(e),asciiReal:u.substring(0,i),asciiPad:u.substring(i)})}}return n}var We={fontFamily:`'Roboto Mono', monospace`,fontSize:16,lineHeight:`22px`},Ge={overflow:`hidden`},Ke={display:`flex`,whiteSpace:`nowrap`},qe={opacity:.5,paddingRight:12,flexShrink:0},Je={paddingRight:12,flexShrink:0,whiteSpace:`pre`},Ye={borderLeft:`1px solid var(--p3xr-fieldset-border, rgba(255,255,255,0.25))`,paddingLeft:12,flexShrink:0},Xe={opacity:.5},Ze={overflowX:`auto`,overflowY:`hidden`,position:`sticky`,bottom:0};function $({value:e,truncated:t,style:n}){let r=(0,Z.useMemo)(()=>Ue(e),[e]),i=(0,Z.useRef)(null),a=(0,Z.useRef)(null),[o,s]=(0,Z.useState)(0),c=(0,Z.useCallback)(()=>{let e=i.current;e&&s(e.scrollWidth)},[]);(0,Z.useEffect)(()=>{c();let e=i.current;if(!e)return;let t=new ResizeObserver(()=>c());return t.observe(e),()=>t.disconnect()},[e,c]);let l=(0,Z.useCallback)(()=>{i.current&&a.current&&(i.current.scrollLeft=a.current.scrollLeft)},[]);return(0,Y.jsxs)(`div`,{style:n?{...We,...n}:We,children:[(0,Y.jsx)(`div`,{ref:i,style:Ge,children:r.map(e=>(0,Y.jsxs)(`div`,{style:Ke,children:[(0,Y.jsx)(`span`,{style:qe,children:e.addr}),(0,Y.jsxs)(`span`,{style:Je,children:[e.hexReal,(0,Y.jsx)(`span`,{style:Xe,children:e.hexPad})]}),(0,Y.jsxs)(`span`,{style:Ye,children:[e.asciiReal,(0,Y.jsx)(`span`,{style:Xe,children:e.asciiPad})]})]},e.addr))}),(0,Y.jsx)(`div`,{ref:a,style:Ze,onScroll:l,children:(0,Y.jsx)(`div`,{style:{height:1,width:o}})})]})}function Qe({response:e,value:t,valueBuffer:n,keyName:r,valueFormat:a,onRefresh:s}){let c=o(e=>e.strings),f=K(e=>e.connection),p=G(),{toast:m,generalHandleError:_,confirm:S}=q(),C=be(),T=d(`(min-width: 960px)`),D=f?.readonly===!0,[O,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(!1),[F,ee]=(0,Z.useState)(!1),[L,R]=(0,Z.useState)(t),[z,B]=(0,Z.useState)(n),[V,H]=(0,Z.useState)(null),[U,te]=(0,Z.useState)(!1),[ne,re]=(0,Z.useState)(!1),[W,ie]=(0,Z.useState)(!1),[ae,oe]=(0,Z.useState)({oldValue:``,newValue:``}),se=(0,Z.useRef)(null),ce=(0,Z.useCallback)(()=>{typeof L==`string`&&L.length>=p.maxValueAsBuffer?(N(!0),H(structuredClone(z))):(N(!1),H(structuredClone(L))),j(!0)},[L,z,p.maxValueAsBuffer]),le=(0,Z.useCallback)(()=>{M?B(V):R(V),j(!1),N(!1)},[M,V]),pe=(0,Z.useCallback)((e,t)=>!G.getState().showDiffBeforeSave||e===t?Promise.resolve(!0):(oe({oldValue:e,newValue:t}),ie(!0),new Promise(e=>{se.current=e})),[]),me=(0,Z.useCallback)(async()=>{let t=M?z:L,n=V;try{if(F&&JSON.parse(t),n!=null&&!await pe(n,t))return;if(C.show({message:c?.intention?.save}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:t}}),xe(`/key-set`),j(!1),N(!1),s(),C.hide(),p.undoEnabled&&n!==void 0&&n!==t&&await q.getState().toastWithUndo(c?.status?.saved))try{C.show({message:`Undo...`}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:n}}),R(n),H(n),s(),C.hide(),q.getState().toast(c?.status?.reverted)}catch(e){q.getState().generalHandleError(e),C.hide()}}catch(e){_(e),C.hide()}},[M,L,z,F,e,r,c,s,_,V,p.undoEnabled]),he=(0,Z.useCallback)(()=>{let t=document.createElement(`input`);t.type=`file`,t.onchange=async()=>{let n=t.files?.[0];if(!n)return;let i=new FileReader;i.onerror=e=>_(e),i.onload=async t=>{let n=t.target.result;try{if(O){await S({message:c?.confirm?.uploadBuffer}),M?B(n):R(n),m(c?.confirm?.uploadBufferDone);return}await S({message:c?.confirm?.uploadBuffer}),C.show(),await J({action:`key/set`,payload:{type:e?.type,value:n,key:r}}),xe(`/key-set`),m(c?.confirm?.uploadBufferDoneAndSave),s()}catch(e){_(e)}finally{C.hide()}},i.readAsArrayBuffer(n)},t.click()},[O,M,e,r,c,S,m,_,s]),ge=(0,Z.useCallback)(()=>te(!0),[]),_e=(0,Z.useCallback)(()=>re(!0),[]),ve=(0,Z.useCallback)(async()=>{try{let t=JSON.stringify(JSON.parse(L),null,p.jsonFormat||2);R(t),C.show({message:c?.intention?.save}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:t}}),xe(`/key-set`),s()}catch{m(c?.label?.jsonViewNotParsable)}finally{C.hide()}},[L,p.jsonFormat,e,r,c,s]),ye=(0,Z.useCallback)(async()=>{try{m((await J({action:`key/string-digest`,payload:{key:r}})).digest||`No digest`)}catch(e){_(e)}},[r,m,_]),Ce=(0,Z.useCallback)(()=>Ve(L),[L]),we=(0,Z.useCallback)(()=>He(z,r),[z,r]),Te=()=>z?.byteLength===void 0?``:`(`+(p.prettyBytes?.(z.byteLength)??`${z.byteLength} bytes`)+`)`,X=({icon:e,label:t,color:n=`primary`,onClick:r})=>T?(0,Y.jsxs)(u,{variant:`contained`,color:n,size:`small`,onClick:r,sx:{gap:`3px`},children:[e,(0,Y.jsx)(`span`,{children:t})]}):(0,Y.jsx)(l,{title:t,placement:`top`,children:(0,Y.jsx)(u,{variant:`contained`,color:n,onClick:r,sx:{minWidth:40,width:40,height:40,p:0,borderRadius:`4px`},children:e})});return(0,Y.jsxs)(i,{children:[!O&&(0,Y.jsxs)(i,{className:`p3xr-key-type-actions`,children:[!D&&(0,Y.jsx)(X,{icon:(0,Y.jsx)(y,{fontSize:`small`}),label:c?.intention?.setBuffer,onClick:he}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(fe,{fontSize:`small`}),label:c?.intention?.downloadBuffer,color:`secondary`,onClick:we}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(E,{fontSize:`small`}),label:c?.intention?.jsonViewShow,color:`secondary`,onClick:ge}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(k,{fontSize:`small`}),label:c?.intention?.copy,color:`secondary`,onClick:Ce}),!D&&(0,Y.jsx)(X,{icon:(0,Y.jsx)(b,{fontSize:`small`}),label:c?.intention?.formatJson,onClick:ve}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(x,{fontSize:`small`}),label:c?.intention?.jsonViewEditor,onClick:_e}),Se(K.getState().info?.server?.redis_version).isAtLeast(8,4)&&(0,Y.jsx)(X,{icon:(0,Y.jsx)(De,{fontSize:`small`}),label:`Digest`,color:`secondary`,onClick:ye}),!D&&(0,Y.jsx)(X,{icon:(0,Y.jsx)(ue,{fontSize:`small`}),label:c?.intention?.edit,onClick:ce})]}),O&&(0,Y.jsxs)(i,{className:`p3xr-key-type-actions`,children:[!D&&(0,Y.jsx)(P,{sx:{mr:1},control:(0,Y.jsx)(I,{checked:F,onChange:(e,t)=>ee(t),color:`secondary`}),label:c?.label?.validateJson}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(g,{fontSize:`small`}),label:c?.intention?.cancel,color:`error`,onClick:le}),!D&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(X,{icon:(0,Y.jsx)(y,{fontSize:`small`}),label:c?.intention?.setBuffer,onClick:he}),(0,Y.jsx)(X,{icon:(0,Y.jsx)(de,{fontSize:`small`}),label:c?.intention?.save,onClick:me})]})]}),(0,Y.jsx)(i,{className:`p3xr-key-type-content`,children:O?(0,Y.jsxs)(i,{className:`p3xr-key-type-editor`,children:[String(L)===`[object ArrayBuffer]`&&(0,Y.jsxs)(i,{className:`p3xr-key-type-buffer-info`,children:[typeof c?.label?.isBuffer==`function`?c.label.isBuffer({maxValueAsBuffer:p.prettyBytes(p.maxValueAsBuffer)}):``,` `,Te()]}),M&&(0,Y.jsxs)(i,{className:`p3xr-key-type-buffer-info`,children:[typeof c?.label?.isBuffer==`function`?c.label.isBuffer({maxValueAsBuffer:p.prettyBytes(p.maxValueAsBuffer)}):``,` `,Te()]}),M?(0,Y.jsx)(h,{fullWidth:!0,multiline:!0,minRows:4,value:String(z??``),onChange:e=>B(e.target.value),slotProps:{input:{sx:{fontFamily:`'Roboto Mono', monospace`,fontSize:13}}}}):(0,Y.jsx)(h,{fullWidth:!0,multiline:!0,minRows:4,value:typeof L==`string`?L:String(L??``),onChange:e=>R(e.target.value),slotProps:{input:{sx:{fontFamily:`'Roboto Mono', monospace`,fontSize:13}}}})]}):(0,Y.jsx)(i,{className:`p3xr-key-type-display`,onClick:D?void 0:ce,sx:{cursor:D?`default`:`pointer`,maxWidth:`100%`,overflow:a===`hex`?`visible`:`auto`},children:p.maxValueDisplay===-1?(0,Y.jsx)(i,{sx:{opacity:.5,fontStyle:`italic`},children:c?.label?.hiddenUntilEdit}):a===`hex`?(0,Y.jsx)($,{value:Q(typeof L==`string`?L:``),truncated:Be(L)}):(0,Y.jsxs)(i,{component:`span`,className:`p3xr-pre`,sx:{wordBreak:`break-all`,whiteSpace:`pre-wrap`,fontFamily:`'Roboto Mono', monospace`,fontSize:16,lineHeight:`18px`},children:[Q(ze(typeof L==`string`?L:``,a)),Be(L)&&(0,Y.jsx)(i,{component:`span`,sx:{opacity:.5},children:`...`})]})})}),(0,Y.jsx)(v,{open:U,value:String(L??``),onClose:()=>te(!1)}),(0,Y.jsx)(A,{open:ne,value:String(L??``),onClose:async t=>{if(re(!1),t?.obj){let n=String(L??``);H(null),j(!1),N(!1),R(t.obj),C.show({message:c?.intention?.save});try{await J({action:`key/set`,payload:{type:e?.type,key:r,value:t.obj}}),xe(`/key-set`),s(),C.hide(),p.undoEnabled&&n!==t.obj&&await q.getState().toastWithUndo(c?.status?.saved)&&(C.show({message:`Undo...`}),await J({action:`key/set`,payload:{type:e?.type,key:r,value:n}}),s(),C.hide(),q.getState().toast(c?.status?.reverted))}catch(e){_(e),C.hide()}}}}),(0,Y.jsx)(w,{open:W,keyName:r,oldValue:ae.oldValue,newValue:ae.newValue,onConfirm:()=>{ie(!1),se.current?.(!0)},onCancel:()=>{ie(!1),se.current?.(!1)}})]})}function $e({paging:e,onPageChange:t}){let r=o(e=>e.strings),a=n();if(e.pages<=1)return null;let s={background:`none`,border:`none`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,height:28,width:28,margin:0,padding:0,color:a.p3xr.inputBorderColor},c=n=>t(Le(e,n));return(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,py:`4px`},children:[(0,Y.jsx)(l,{title:r?.page?.treeControls?.pager?.first,placement:`top`,children:(0,Y.jsx)(`button`,{style:s,onClick:()=>c(`first`),children:(0,Y.jsx)(ve,{sx:{fontSize:24}})})}),(0,Y.jsx)(l,{title:r?.page?.treeControls?.pager?.prev,placement:`top`,children:(0,Y.jsx)(`button`,{style:s,onClick:()=>c(`prev`),children:(0,Y.jsx)(he,{sx:{fontSize:24}})})}),(0,Y.jsx)(`input`,{type:`number`,step:1,min:1,max:e.pages,value:e.page,onChange:n=>{let r=parseInt(n.target.value,10);isNaN(r)||t(Re(e,r))},className:`p3xr-pager-input`,style:{width:64,margin:`0 4px`,verticalAlign:`middle`,textAlign:`center`,padding:0,boxSizing:`border-box`,borderStyle:`solid`,borderWidth:2,borderColor:a.p3xr.inputBorderColor,background:a.p3xr.inputBg,color:a.p3xr.inputColor,outline:`none`,fontFamily:`'Roboto Mono', monospace`,fontSize:12,MozAppearance:`textfield`}}),(0,Y.jsxs)(`span`,{style:{margin:`0 4px`,color:a.p3xr.inputColor},children:[`/ `,e.pages]}),(0,Y.jsx)(l,{title:r?.page?.treeControls?.pager?.next,placement:`top`,children:(0,Y.jsx)(`button`,{style:s,onClick:()=>c(`next`),children:(0,Y.jsx)(_e,{sx:{fontSize:24}})})}),(0,Y.jsx)(l,{title:r?.page?.treeControls?.pager?.last,placement:`top`,children:(0,Y.jsx)(`button`,{style:s,onClick:()=>c(`last`),children:(0,Y.jsx)(ge,{sx:{fontSize:24}})})})]})}function et({response:e,value:t,valueBuffer:r,keyName:a,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=K(e=>e.connection),{toast:f,confirm:p,generalHandleError:m}=q(),h=n(),g=d?.readonly===!0,_=h.palette.mode===`dark`,[y,b]=(0,Z.useState)(()=>Fe(t?.length??0)),[x,S]=(0,Z.useState)([]),[C,w]=(0,Z.useState)(!1),[T,O]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{if(!t)return;let e=Ie(y,t.length);b(e),S(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]);let P=(0,Z.useCallback)(e=>{if(b(e),!t){S([]);return}S(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]),I=(0,Z.useCallback)(()=>{O({type:`append`,model:{type:`list`,key:a}}),w(!0)},[a]),L=(0,Z.useCallback)(async e=>{try{await p({message:u?.confirm?.deleteListItem??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/list-delete-index`,payload:{key:a,index:e}}),f(u?.status?.deletedListElement),c()}catch(e){m(e)}},[a,u,p,f,c,m]),R=(0,Z.useCallback)((e,t)=>{O({type:`edit`,model:{type:`list`,key:a,index:e,value:typeof t==`string`&&t.length>=K.getState().maxValueAsBuffer?r?.[e]:t}}),w(!0)},[a,r]),z=(0,Z.useCallback)(e=>{w(!1),O(null),e&&c()},[c]),B=_?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,V=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,H=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`;return(0,Y.jsxs)(i,{children:[(0,Y.jsx)($e,{paging:y,onPageChange:P}),(0,Y.jsxs)(i,{className:`p3xr-key-type-table`,children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:h.palette.primary.main,color:h.palette.primary.contrastText,borderBottom:`2px solid ${H}`},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.list?.table?.index??`Index`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.list?.table?.value??`Value`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!g&&(0,Y.jsx)(l,{title:u?.intention?.add,children:(0,Y.jsx)(F,{sx:{cursor:`pointer`,color:`inherit`},onClick:I})})})]}),x.map((e,t)=>(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${H}`,bgcolor:t%2==0?V:`transparent`,"&:hover":{bgcolor:`${B} !important`}},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>R(e.index,e.value),children:e.index}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>R(e.index,e.value),children:s===`hex`?(0,Y.jsx)($,{value:Q(e.value),truncated:Be(e.value)}):(0,Y.jsxs)(Y.Fragment,{children:[Q(ze(e.value,s)),Be(e.value)&&(0,Y.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Y.jsxs)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!g&&(0,Y.jsx)(l,{title:u?.intention?.delete,children:(0,Y.jsx)(ee,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`error.main`,"&:hover":{opacity:1}},onClick:()=>L(e.index)})}),(0,Y.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Y.jsx)(E,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>{N(String(e.value??``)),j(!0)}})}),(0,Y.jsx)(l,{title:u?.intention?.copy,children:(0,Y.jsx)(k,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>Ve(e.value)})}),(0,Y.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Y.jsx)(fe,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`secondary.main`,"&:hover":{opacity:1}},onClick:()=>He(r?.[e.index],a)})}),!g&&(0,Y.jsx)(l,{title:u?.intention?.edit,children:(0,Y.jsx)(ue,{sx:{fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:`primary.main`,"&:hover":{opacity:1}},onClick:()=>R(e.index,e.value)})})]})]},e.index))]}),(0,Y.jsx)(D,{open:C,data:T,onClose:z}),(0,Y.jsx)(v,{open:A,value:M,onClose:()=>j(!1)})]})}var tt=e(t(((e,t)=>{t.exports=i;var n={hoursPerDay:24,daysPerWeek:7,weeksPerMonth:4,monthsPerYear:12,daysPerYear:365.25},r={ms:[`ms`,`milli`,`millisecond`,`milliseconds`],s:[`s`,`sec`,`secs`,`second`,`seconds`],m:[`m`,`min`,`mins`,`minute`,`minutes`],h:[`h`,`hr`,`hrs`,`hour`,`hours`],d:[`d`,`day`,`days`],w:[`w`,`week`,`weeks`],mth:[`mon`,`mth`,`mths`,`month`,`months`],y:[`y`,`yr`,`yrs`,`year`,`years`]};function i(e,t,r){r=Object.assign({},n,r||{}),(typeof e==`number`||e.match(/^[-+]?[0-9.]+$/g))&&(e=parseInt(e)+`ms`);let i=0,o=a(r),l=e.toLowerCase().replace(/[^.\w+-]+/g,``).match(/[-+]?[0-9.]+[a-z]+/g);if(l===null)throw Error(`The value [${e}] could not be parsed by timestring`);return l.forEach(e=>{let t=e.match(/[0-9.]+/g)[0],n=e.match(/[a-z]+/g)[0];i+=s(t,n,o)}),t?c(i,t,o):i}function a(e){let t={ms:.001,s:1,m:60,h:3600};return t.d=e.hoursPerDay*t.h,t.w=e.daysPerWeek*t.d,t.mth=e.daysPerYear/e.monthsPerYear*t.d,t.y=e.daysPerYear*t.d,t}function o(e){for(let t of Object.keys(r))if(r[t].indexOf(e)>-1)return t;throw Error(`The unit [${e}] is not supported by timestring`)}function s(e,t,n){return e*n[o(t)]}function c(e,t,n){return e/n[o(t)]}}))());function nt({open:e,ttl:t,onClose:n}){let r=o(e=>e.strings),[a,s]=(0,Z.useState)(-1),[c,l]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{if(!e)return;let n=t??-1;if(s(n),typeof n==`number`&&n>0)try{let e=G.getState().getHumanizeDurationOptions();l((0,Me.default)(n*1e3,{...e,delimiter:` `}))}catch{l(``)}else l(``)},[e,t]);let d=e=>{l(e);try{s((0,tt.default)(String(e),`s`))}catch{}};return e?(0,Y.jsxs)(_,{open:!0,onClose:()=>n(),width:`600px`,title:r?.confirm?.ttl?.title,actions:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(u,{variant:`contained`,color:`error`,size:`small`,onClick:()=>n(),children:[(0,Y.jsx)(g,{fontSize:`small`}),(0,Y.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.cancel})]}),(0,Y.jsxs)(u,{variant:`contained`,color:`primary`,size:`small`,onClick:()=>{let e=Number(a);isNaN(e)&&(e=Math.round(e)),n({model:{ttl:e}})},children:[(0,Y.jsx)(Oe,{fontSize:`small`}),(0,Y.jsx)(`span`,{style:{marginLeft:3},children:r?.intention?.ttl})]})]}),children:[(0,Y.jsx)(i,{sx:{mb:2},children:r?.confirm?.ttl?.textContent}),(0,Y.jsx)(h,{fullWidth:!0,margin:`dense`,type:`number`,label:r?.confirm?.ttl?.placeholder,value:a,onChange:e=>s(e.target.value===``?``:Number(e.target.value)),placeholder:r?.confirm?.ttl?.placeholderPlaceholder??`-1`,slotProps:{htmlInput:{min:-1}}}),(0,Y.jsx)(h,{fullWidth:!0,margin:`dense`,label:r?.confirm?.ttl?.convertTextToTime,value:c,onChange:e=>d(e.target.value),placeholder:r?.confirm?.ttl?.convertTextToTimePlaceholder??`1h 30m`}),(0,Y.jsx)(u,{variant:`text`,color:`secondary`,size:`small`,sx:{mt:1,textTransform:`none`},onClick:()=>window.open(`https://www.npmjs.com/package/timestring#keywords`,`_blank`),children:`https://www.npmjs.com/package/timestring`})]}):null}function rt({response:e,value:t,valueBuffer:r,keyName:a,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=K(e=>e.connection),{toast:f,confirm:p,generalHandleError:m}=q(),h=n(),g=d?.readonly===!0,_=h.palette.mode===`dark`,[y,b]=(0,Z.useState)(()=>Fe(t?Object.keys(t).length:0)),[x,S]=(0,Z.useState)([]),[C,w]=(0,Z.useState)(!1),[O,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(!1),[N,P]=(0,Z.useState)(``),[I,L]=(0,Z.useState)(!1),[R,z]=(0,Z.useState)(``),[B,V]=(0,Z.useState)(-1),[H,U]=(0,Z.useState)({}),te=(0,Z.useRef)(0),[ne,re]=(0,Z.useState)(0),W=(0,Z.useRef)(c);W.current=c;let ie=(0,Z.useCallback)(async e=>{if(!(!t||!Se(K.getState().info?.server?.redis_version).isAtLeast(8,0)))try{let t=(e||x).map(e=>e.key);if(t.length===0)return;U((await J({action:`hash-field/ttls`,payload:{key:a,fields:t}})).fieldTtls||{}),te.current=Date.now()}catch{U({})}},[t,a,x]);(0,Z.useEffect)(()=>{if(document.getElementById(`p3xr-hash-ttl-pulse-css`))return;let e=document.createElement(`style`);e.id=`p3xr-hash-ttl-pulse-css`,e.textContent=`@keyframes p3xr-hash-ttl-pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } }`,document.head.appendChild(e)},[]),(0,Z.useEffect)(()=>{if(!Object.values(H).some(e=>e>0))return;let e=setInterval(()=>{let t=Math.floor((Date.now()-te.current)/1e3);if(Object.values(H).some(e=>e>0&&e-t<=0)){clearInterval(e),W.current();return}re(e=>e+1)},1e3);return()=>clearInterval(e)},[H]),(0,Z.useEffect)(()=>{if(!t)return;let e=Object.keys(t),n=Ie(y,e.length);b(n);let r=e.slice(n.startIndex,n.endIndex).map(e=>({key:e,value:t[e]}));S(r),ie(r)},[t]);let ae=(0,Z.useCallback)(e=>{if(b(e),!t){S([]);return}let n=Object.keys(t).slice(e.startIndex,e.endIndex).map(e=>({key:e,value:t[e]}));S(n),ie(n)},[t,ie]),oe=(0,Z.useCallback)(()=>{A({type:`append`,model:{type:`hash`,key:a}}),w(!0)},[a]),se=(0,Z.useCallback)(async e=>{try{await p({message:u?.confirm?.deleteHashKey??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/hash-delete-field`,payload:{key:a,hashKey:e}}),f(u?.status?.deletedHashKey),c()}catch(e){m(e)}},[a,u,p,f,c,m]),ce=(0,Z.useCallback)((e,t)=>{A({type:`edit`,model:{type:`hash`,key:a,hashKey:e,value:typeof t==`string`&&t.length>=K.getState().maxValueAsBuffer?r?.[e]:t}}),w(!0)},[a,r]),le=(0,Z.useCallback)(e=>{w(!1),A(null),e&&c()},[c]),de=(0,Z.useCallback)(async e=>{try{let t=await J({action:`hash-field/ttl-get`,payload:{key:a,field:e}});z(e),V(t.ttl??-1),L(!0)}catch(e){m(e)}},[a,m]),pe=(0,Z.useCallback)(async e=>{if(L(!1),e)try{await J({action:`hash-field/ttl`,payload:{key:a,field:R,ttl:e.model.ttl}}),f(`${R}: TTL ${e.model.ttl===-1?`removed`:e.model.ttl+`s`}`),ie()}catch(e){m(e)}},[a,R,f,m,ie]),me=e=>{let t=H[e];if(!t||t<=0)return-1;let n=t-Math.floor((Date.now()-te.current)/1e3);return n>0?n:-1},he=e=>{let t=me(e);return t<=0?``:t<300?`#f44336`:t<3600?`#ff9800`:`#4caf50`},ge=e=>me(e)>0&&me(e)<30,_e=e=>me(e)>0,ve=e=>{let t=me(e);if(t<=0)return``;let n=G.getState().getHumanizeDurationOptions();return(0,Me.default)(t*1e3,{...n,largest:2,round:!0,delimiter:` `})},ye=_?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,be=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,xe=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,Ce=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Y.jsxs)(i,{children:[(0,Y.jsx)($e,{paging:y,onPageChange:ae}),(0,Y.jsxs)(i,{children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:h.palette.primary.main,color:h.palette.primary.contrastText,borderBottom:`2px solid ${xe}`},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.hash?.table?.hashkey??`Hash Key`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.hash?.table?.value??`Value`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!g&&(0,Y.jsx)(l,{title:u?.intention?.add,children:(0,Y.jsx)(F,{sx:{cursor:`pointer`,color:`inherit`},onClick:oe})})})]}),x.map((e,t)=>(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${xe}`,bgcolor:t%2==0?be:`transparent`,"&:hover":{bgcolor:`${ye} !important`}},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>ce(e.key,e.value),children:e.key}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>ce(e.key,e.value),children:s===`hex`?(0,Y.jsx)($,{value:Q(e.value),truncated:Be(e.value)}):(0,Y.jsxs)(Y.Fragment,{children:[Q(ze(e.value,s)),Be(e.value)&&(0,Y.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Y.jsxs)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!g&&Se(K.getState().info?.server?.redis_version).isAtLeast(8,0)&&(0,Y.jsx)(l,{title:_e(e.key)?`TTL: ${ve(e.key)}`:u?.intention?.ttl,children:(0,Y.jsx)(T,{style:{fontSize:24,cursor:`pointer`,marginLeft:2,marginRight:2,color:he(e.key)||void 0,opacity:_e(e.key)?.7:.3,animation:ge(e.key)?`p3xr-hash-ttl-pulse 1s infinite`:`none`},onClick:()=>de(e.key)})}),!g&&(0,Y.jsx)(l,{title:u?.intention?.delete,children:(0,Y.jsx)(ee,{sx:Ce(`error.main`),onClick:()=>se(e.key)})}),(0,Y.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Y.jsx)(E,{sx:Ce(`secondary.main`),onClick:()=>{P(String(e.value??``)),M(!0)}})}),(0,Y.jsx)(l,{title:u?.intention?.copy,children:(0,Y.jsx)(k,{sx:Ce(`secondary.main`),onClick:()=>Ve(e.value)})}),(0,Y.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Y.jsx)(fe,{sx:Ce(`secondary.main`),onClick:()=>He(r?.[e.key],a,`${a}-${e.key}`)})}),!g&&(0,Y.jsx)(l,{title:u?.intention?.edit,children:(0,Y.jsx)(ue,{sx:Ce(`primary.main`),onClick:()=>ce(e.key,e.value)})})]})]},e.key))]}),(0,Y.jsx)(D,{open:C,data:O,onClose:le}),(0,Y.jsx)(v,{open:j,value:N,onClose:()=>M(!1)}),(0,Y.jsx)(nt,{open:I,ttl:B,onClose:pe})]})}function it({response:e,value:t,valueBuffer:r,keyName:a,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=K(e=>e.connection),{toast:f,confirm:p,generalHandleError:m}=q(),h=n(),g=d?.readonly===!0,_=h.palette.mode===`dark`,[y,b]=(0,Z.useState)(()=>Fe(t?.length??0)),[x,S]=(0,Z.useState)([]),[C,w]=(0,Z.useState)(!1),[T,O]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{if(!t)return;let e=Ie(y,t.length);b(e),S(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]);let P=(0,Z.useCallback)(e=>{if(b(e),!t){S([]);return}S(t.slice(e.startIndex,e.endIndex).map((t,n)=>({index:e.startIndex+n,value:t})))},[t]),I=(0,Z.useCallback)(()=>{O({type:`append`,model:{type:`set`,key:a}}),w(!0)},[a]),L=(0,Z.useCallback)(async e=>{try{await p({message:u?.confirm?.deleteSetMember??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/set-delete-member`,payload:{key:a,value:r?.[e]}}),f(u?.status?.deletedSetMember),c()}catch(e){m(e)}},[a,r,u,p,f,c,m]),R=(0,Z.useCallback)((e,t)=>{O({type:`edit`,model:{type:`set`,key:a,value:typeof t==`string`&&t.length>=K.getState().maxValueAsBuffer?r?.[e]:t}}),w(!0)},[a,r]),z=(0,Z.useCallback)(e=>{w(!1),O(null),e&&c()},[c]),B=_?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,V=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,H=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,U=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Y.jsxs)(i,{children:[(0,Y.jsx)($e,{paging:y,onPageChange:P}),(0,Y.jsxs)(i,{children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:h.palette.primary.main,color:h.palette.primary.contrastText,borderBottom:`2px solid ${H}`},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`95%`},children:u?.page?.key?.set?.table?.value??`Member`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`5%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!g&&(0,Y.jsx)(l,{title:u?.intention?.add,children:(0,Y.jsx)(F,{sx:{cursor:`pointer`,color:`inherit`},onClick:I})})})]}),x.map((e,t)=>(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${H}`,bgcolor:t%2==0?V:`transparent`,"&:hover":{bgcolor:`${B} !important`}},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`95%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>R(e.index,e.value),children:s===`hex`?(0,Y.jsx)($,{value:Q(e.value),truncated:Be(e.value)}):(0,Y.jsxs)(Y.Fragment,{children:[Q(ze(e.value,s)),Be(e.value)&&(0,Y.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Y.jsxs)(i,{component:`span`,sx:{flex:`5%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!g&&(0,Y.jsx)(l,{title:u?.intention?.delete,children:(0,Y.jsx)(ee,{sx:U(`error.main`),onClick:()=>L(e.index)})}),(0,Y.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Y.jsx)(E,{sx:U(`secondary.main`),onClick:()=>{N(String(e.value??``)),j(!0)}})}),(0,Y.jsx)(l,{title:u?.intention?.copy,children:(0,Y.jsx)(k,{sx:U(`secondary.main`),onClick:()=>Ve(e.value)})}),(0,Y.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Y.jsx)(fe,{sx:U(`secondary.main`),onClick:()=>He(r?.[e.index],a)})}),!g&&(0,Y.jsx)(l,{title:u?.intention?.edit,children:(0,Y.jsx)(ue,{sx:U(`primary.main`),onClick:()=>R(e.index,e.value)})})]})]},e.index))]}),(0,Y.jsx)(D,{open:C,data:T,onClose:z}),(0,Y.jsx)(v,{open:A,value:M,onClose:()=>j(!1)})]})}function at(e,t){if(!e)return[];let n=[];for(let t=0;t<e.length;t+=2)n.push({member:e[t],score:e[t+1],index:t/2});return n.slice(t.startIndex,t.endIndex)}function ot({response:e,value:t,valueBuffer:r,keyName:a,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=K(e=>e.connection),{toast:f,confirm:p,generalHandleError:m}=q(),h=n(),g=d?.readonly===!0,_=h.palette.mode===`dark`,[y,b]=(0,Z.useState)(()=>Fe(t?.length??0,!0)),[x,S]=(0,Z.useState)([]),[C,w]=(0,Z.useState)(!1),[T,O]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{if(!t)return;let e=Ie(y,t.length,!0);b(e),S(at(t,e))},[t]);let P=(0,Z.useCallback)(e=>{b(e),S(at(t,e))},[t]),I=(0,Z.useCallback)(()=>{O({type:`append`,model:{type:`zset`,key:a}}),w(!0)},[a]),L=(0,Z.useCallback)(async e=>{try{await p({message:u?.confirm?.deleteZSetMember??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/zset-delete-member`,payload:{key:a,value:r?.[e.index*2]}}),f(u?.status?.deletedZSetMember),c()}catch(e){m(e)}},[a,r,u,p,f,c,m]),R=(0,Z.useCallback)(e=>{O({type:`edit`,model:{type:`zset`,key:a,value:typeof e.member==`string`&&e.member.length>=K.getState().maxValueAsBuffer?r?.[e.index*2]:e.member,score:e.score}}),w(!0)},[a,r]),z=(0,Z.useCallback)(e=>{w(!1),O(null),e&&c()},[c]),B=_?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,V=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,H=_?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,U=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Y.jsxs)(i,{children:[(0,Y.jsx)($e,{paging:y,onPageChange:P}),(0,Y.jsxs)(i,{children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:h.palette.primary.main,color:h.palette.primary.contrastText,borderBottom:`2px solid ${H}`},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`},children:u?.page?.key?.zset?.table?.score??`Score`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`},children:u?.page?.key?.zset?.table?.value??`Member`}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,display:`flex`,justifyContent:`flex-end`,alignItems:`center`},children:!g&&(0,Y.jsx)(l,{title:u?.intention?.add,children:(0,Y.jsx)(F,{sx:{cursor:`pointer`,color:`inherit`},onClick:I})})})]}),x.map((e,t)=>(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,gap:1,px:2,py:`6px`,borderBottom:`1px solid ${H}`,bgcolor:t%2==0?V:`transparent`,"&:hover":{bgcolor:`${B} !important`}},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:`20%`,cursor:`pointer`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,userSelect:`text`},onClick:()=>R(e),children:e.score}),(0,Y.jsx)(i,{component:`span`,sx:{flex:`60%`,cursor:`pointer`,overflow:`auto`,maxHeight:200,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`},userSelect:`text`},onClick:()=>R(e),children:s===`hex`?(0,Y.jsx)($,{value:Q(e.member),truncated:Be(e.member)}):(0,Y.jsxs)(Y.Fragment,{children:[Q(ze(e.member,s)),Be(e.member)&&(0,Y.jsx)(`span`,{style:{opacity:.5},children:`...`})]})}),(0,Y.jsxs)(i,{component:`span`,sx:{flex:`20%`,textAlign:`right`,whiteSpace:`nowrap`},children:[!g&&(0,Y.jsx)(l,{title:u?.intention?.delete,children:(0,Y.jsx)(ee,{sx:U(`error.main`),onClick:()=>L(e)})}),(0,Y.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Y.jsx)(E,{sx:U(`secondary.main`),onClick:()=>{N(String(e.member??``)),j(!0)}})}),(0,Y.jsx)(l,{title:u?.intention?.copy,children:(0,Y.jsx)(k,{sx:U(`secondary.main`),onClick:()=>Ve(e.member)})}),(0,Y.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Y.jsx)(fe,{sx:U(`secondary.main`),onClick:()=>He(r?.[e.index*2],a)})}),!g&&(0,Y.jsx)(l,{title:u?.intention?.edit,children:(0,Y.jsx)(ue,{sx:U(`primary.main`),onClick:()=>R(e)})})]})]},e.index))]}),(0,Y.jsx)(D,{open:C,data:T,onClose:z}),(0,Y.jsx)(v,{open:A,value:M,onClose:()=>j(!1)})]})}var st={zn:`zh-CN`,no:`nb`,fil:`tl`};function ct(e){try{return JSON.parse(e)}catch{return e}}function lt(e){let t=new Set;for(let[n]of e){if(t.has(n))return!0;t.add(n)}return!1}function ut(e){let t={};for(let[n,r]of e)t[n]=ct(r);return t}function dt(e){return e.map(([e,t])=>({field:e,value:ct(t)}))}function ft(e){return e?e.map(e=>{let t=e[0],n=e[1],r=[];for(let e=0;e<n.length;e+=2)r.push([n[e],n[e+1]]);let i=lt(r);return{id:t,fields:r,data:i?dt(r):ut(r),hasDuplicateFields:i}}):[]}function pt(e){return e.hasDuplicateFields?{id:e.id,fields:e.data}:{id:e.id,...e.data}}function mt({response:e,value:t,valueBuffer:r,keyName:a,valueFormat:s,onRefresh:c}){let u=o(e=>e.strings),d=o(e=>e.currentLang),f=K(e=>e.connection),{toast:p,confirm:m,generalHandleError:h}=q(),g=n(),_=f?.readonly===!0,y=g.palette.mode===`dark`,[b,x]=(0,Z.useState)([]),[S,C]=(0,Z.useState)(()=>Fe(0)),[w,T]=(0,Z.useState)([]),[O,A]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(null),[N,P]=(0,Z.useState)(!1),[I,L]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{let e=ft(t);x(e);let n=Ie(S,e.length);C(n),T(e.slice(n.startIndex,n.endIndex))},[t]);let R=(0,Z.useCallback)(e=>{C(e),T(b.slice(e.startIndex,e.endIndex))},[b]),z=(0,Z.useCallback)(e=>{try{let t=parseInt(e.slice(0,e.indexOf(`-`))),n=d||`en`,r=st[n]||n;return new Date(t).toLocaleString(r,{year:`numeric`,month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return e}},[d]),B=(0,Z.useCallback)(()=>{M({type:`append`,model:{type:`stream`,key:a}}),A(!0)},[a]),V=(0,Z.useCallback)(async e=>{try{await m({message:u?.confirm?.deleteStreamTimestamp??u?.confirm?.areYouSure??`Are you sure?`}),await J({action:`key/stream-delete-timestamp`,payload:{key:a,streamTimestamp:e}}),p(u?.status?.deletedStreamTimestamp??u?.status?.deletedKey),c()}catch(e){e&&h(e)}},[a,u,m,p,c,h]),H=(0,Z.useCallback)(e=>{Ve(JSON.stringify(pt(e),null,2))},[]),U=(0,Z.useCallback)(e=>{let t=[e.id];for(let[n,r]of e.fields)t.push(n),t.push(r);let n=new Blob([t.join(` `)],{type:`text/plain`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${a}-${e.id}.txt`,i.click(),URL.revokeObjectURL(r)},[a]),te=(0,Z.useCallback)(e=>{L(JSON.stringify(pt(e))),P(!0)},[]),ne=(0,Z.useCallback)(e=>{A(!1),M(null),e&&c()},[c]),re=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.04)`,W=y?`rgba(255,255,255,0.1)`:`rgba(0,0,0,0.1)`,ie=y?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,ae=e=>({fontSize:24,cursor:`pointer`,mx:`2px`,opacity:.7,color:e,"&:hover":{opacity:1}});return(0,Y.jsxs)(i,{children:[(0,Y.jsx)($e,{paging:S,onPageChange:R}),(0,Y.jsxs)(i,{children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,px:2,py:1,fontWeight:`bold`,bgcolor:g.palette.primary.main,color:g.palette.primary.contrastText,borderBottom:`2px solid ${ie}`},children:[(0,Y.jsx)(i,{component:`span`,sx:{flex:1},children:u?.page?.key?.stream?.table?.timestamp??`Timestamp ID`}),(0,Y.jsx)(i,{component:`span`,sx:{textAlign:`right`},children:!_&&(0,Y.jsx)(l,{title:u?.intention?.add,children:(0,Y.jsx)(F,{sx:{cursor:`pointer`,color:`inherit`},onClick:B})})})]}),w.map((e,t)=>(0,Y.jsxs)(i,{sx:{borderBottom:`1px solid ${ie}`,bgcolor:t%2==0?re:`transparent`,"&:hover":{bgcolor:`${W} !important`}},children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,px:2,py:`6px`,fontSize:13},children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,gap:1.5},children:[(0,Y.jsx)(`strong`,{children:e.id}),(0,Y.jsx)(i,{component:`span`,sx:{opacity:.5,fontSize:12},children:z(e.id)})]}),(0,Y.jsxs)(i,{sx:{whiteSpace:`nowrap`},children:[!_&&(0,Y.jsx)(l,{title:u?.intention?.delete,children:(0,Y.jsx)(ee,{sx:ae(`error.main`),onClick:()=>V(e.id)})}),(0,Y.jsx)(l,{title:u?.intention?.jsonViewShow,children:(0,Y.jsx)(E,{sx:ae(`secondary.main`),onClick:()=>te(e)})}),(0,Y.jsx)(l,{title:u?.intention?.copy,children:(0,Y.jsx)(k,{sx:ae(`secondary.main`),onClick:()=>H(e)})}),(0,Y.jsx)(l,{title:u?.intention?.downloadBuffer,children:(0,Y.jsx)(fe,{sx:ae(`secondary.main`),onClick:()=>U(e)})})]})]}),(0,Y.jsx)(i,{sx:{px:2,pb:1,overflow:`auto`,maxHeight:300},children:e.fields.map(([e,t],n)=>(0,Y.jsxs)(i,{sx:{display:`flex`,gap:1,py:`2px`},children:[(0,Y.jsx)(i,{component:`span`,sx:{minWidth:120,opacity:.7},children:e}),(0,Y.jsx)(i,{component:`span`,sx:{flex:1,maxHeight:200,overflow:`auto`,...s===`hex`?{}:{whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontFamily:`'Roboto Mono', monospace`}},children:s===`hex`?(0,Y.jsx)($,{value:Q(t),truncated:Be(t)}):(0,Y.jsxs)(Y.Fragment,{children:[Q(ze(t,s)),Be(t)&&(0,Y.jsx)(`span`,{style:{opacity:.5},children:`...`})]})})]},`${e}-${n}`))})]},e.id))]}),(0,Y.jsx)(D,{open:O,data:j,onClose:ne}),(0,Y.jsx)(v,{open:N,value:I,onClose:()=>P(!1)})]})}function ht(e,t){if(t===null)return{key:e,value:null,type:`null`};if(Array.isArray(t)){let n=t.map((e,t)=>ht(String(t),e));return{key:e,value:t,type:`array`,children:n,childCount:n.length}}if(typeof t==`object`){let n=Object.keys(t).map(e=>ht(e,t[e]));return{key:e,value:t,type:`object`,children:n,childCount:n.length}}return{key:e,value:t,type:typeof t}}function gt(e){return e.type===`null`?`null`:e.type===`string`?`"${e.value}"`:String(e.value)}function _t(){let{palette:e}=n(),t=e.mode===`dark`;return{key:t?`white`:`black`,string:e.secondary.main,number:e.primary.main,boolean:e.error.main,null:t?`rgba(255,255,255,0.4)`:`rgba(0,0,0,0.4)`}}function vt({node:e,level:t,expandedKeys:n,toggleExpand:r,wrap:a}){let o=_t(),s=`${t}-${e.key}`,c=e.type===`object`||e.type===`array`,l=n.has(s),u=c?void 0:o[e.type]??`inherit`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,minHeight:24,lineHeight:1.6,pl:`${t*20}px`,fontFamily:`'Roboto Mono', monospace`,fontSize:13},children:[c?(0,Y.jsx)(i,{component:`span`,onClick:()=>r(s),sx:{width:24,height:24,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,flexShrink:0,opacity:.6},children:l?(0,Y.jsx)(le,{sx:{fontSize:18}}):(0,Y.jsx)(ce,{sx:{fontSize:18}})}):(0,Y.jsx)(i,{sx:{width:24,height:24,flexShrink:0}}),(0,Y.jsxs)(i,{sx:{display:`flex`,alignItems:`flex-start`,gap:`6px`,flex:1,minWidth:0,flexWrap:`nowrap`},children:[(0,Y.jsxs)(i,{component:`span`,sx:{flexShrink:0,whiteSpace:`nowrap`},children:[(0,Y.jsx)(i,{component:`span`,sx:{fontWeight:`bold`,color:o.key},children:e.key}),(0,Y.jsx)(i,{component:`span`,sx:{opacity:.6},children:`:`})]}),c?l?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(i,{component:`span`,sx:{opacity:.5},children:e.type===`array`?`[`:`{`}),(0,Y.jsx)(i,{component:`span`,sx:{opacity:.4},children:`...`}),(0,Y.jsx)(i,{component:`span`,sx:{opacity:.5},children:e.type===`array`?`]`:`}`}),(0,Y.jsxs)(i,{component:`span`,sx:{opacity:.4,fontSize:11,ml:`4px`},children:[`(`,e.childCount,`)`]})]}):(0,Y.jsx)(i,{component:`span`,sx:{wordBreak:a?`break-word`:`normal`,whiteSpace:a?`normal`:`nowrap`,minWidth:0,color:u,fontStyle:e.type===`null`?`italic`:`normal`},children:gt(e)})]})]}),c&&l&&e.children?.map((e,i)=>(0,Y.jsx)(vt,{node:e,level:t+1,expandedKeys:n,toggleExpand:r,wrap:a},`${e.key}-${i}`))]})}function yt({response:e,value:t,valueBuffer:n,keyName:r,valueFormat:a,onRefresh:s}){let c=o(e=>e.strings),f=K(e=>e.connection),{toast:p,generalHandleError:m}=q(),h=be(),g=d(`(min-width: 960px)`),_=f?.readonly===!0,[v,y]=(0,Z.useState)(void 0),[b,x]=(0,Z.useState)(!0),[S,C]=(0,Z.useState)(new Set),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(!1),[M,P]=(0,Z.useState)({oldValue:``,newValue:``}),F=(0,Z.useRef)(null),I=c?.label?.tree??`root`;(0,Z.useEffect)(()=>{try{y(JSON.parse(t)),C(new Set([`0-${I}`]))}catch{y(void 0)}},[t,I]);let ee=(0,Z.useCallback)(e=>{C(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),L=(0,Z.useCallback)(()=>{if(v===void 0)return;let e=ht(I,v),t=new Set,n=(e,r)=>{let i=`${r}-${e.key}`;(e.type===`object`||e.type===`array`)&&(t.add(i),e.children?.forEach(e=>n(e,r+1)))};n(e,0),C(t)},[v,I]),R=(0,Z.useCallback)(()=>{C(new Set([`0-${I}`]))},[I]),z=(0,Z.useCallback)(()=>Ve(t),[t]),B=(0,Z.useCallback)(()=>{let e=new Blob([t],{type:`application/json`}),n=URL.createObjectURL(e),i=document.createElement(`a`);i.href=n,i.download=`${r}.json`,i.click(),URL.revokeObjectURL(n)},[t,r]);(0,Z.useCallback)((e,t)=>!G.getState().showDiffBeforeSave||e===t?Promise.resolve(!0):(P({oldValue:e,newValue:t}),O(!0),new Promise(e=>{F.current=e})),[]);let V=(0,Z.useCallback)(async e=>{if(E(!1),!e?.obj)return;let n=t;try{let t=typeof e.obj==`string`?e.obj:JSON.stringify(e.obj);h.show(),await J({action:`key/json-set`,payload:{key:r,path:`$`,value:t}}),xe(`/key-json-set`),s(),h.hide(),G.getState().undoEnabled&&n!==void 0&&n!==t&&await q.getState().toastWithUndo(c?.status?.set)&&(h.show({message:`Undo...`}),await J({action:`key/json-set`,payload:{key:r,path:`$`,value:n}}),s(),h.hide(),q.getState().toast(c?.status?.reverted))}catch(e){e&&m(e),h.hide()}},[r,c,t,s,m]),H=({icon:e,label:t,color:n=`secondary`,onClick:r})=>g?(0,Y.jsxs)(u,{variant:`contained`,color:n,onClick:r,children:[e,(0,Y.jsx)(`span`,{children:t